summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xci/deploy.sh9
-rwxr-xr-xci/sdc_setup.sh27
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/clear.go2
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/clear_visibility.go9
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/create.go4
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/create_docker_registry.go16
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/create_idsrules.go17
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/create_kubernetes.go18
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/create_system.go180
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/create_testplan.go22
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/delete.go4
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/delete_docker_registry.go11
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/delete_kubernetes.go11
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/delete_system.go143
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/get.go4
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/get_docker_registry.go6
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/get_kubernetes.go6
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/get_services.go2
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/get_testresult.go47
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/get_visibility.go38
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/init.go2
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/init_visibility.go10
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/provider.go6
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/root.go58
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/set.go26
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/set_nginx.go79
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/set_visibility.go59
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/start.go4
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/start_ids.go11
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/start_testplan.go23
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/start_visibility.go13
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/stop.go4
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/stop_ids.go9
-rw-r--r--clover/cloverctl/src/cloverctl/cmd/stop_visibility.go7
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/clovisor/clusterrolebinding.yaml15
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/clovisor/daemonset.yaml28
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/clovisor/serviceaccount.yaml6
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/collector/deployment.yaml23
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/collector/service.yaml22
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/controller/deployment.yaml23
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/controller/service_internal.yaml22
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/controller/service_lb.yaml14
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/controller/service_nodeport.yaml17
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/datastore/cassandra_service.yaml14
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/datastore/cassandra_statefulset.yaml54
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/datastore/redis_pod.yaml34
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/datastore/redis_service.yaml10
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/idsrule_icmp.yaml9
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/jmeter/master_deployment.yaml21
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/jmeter/master_service.yaml19
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/jmeter/slave_deployment.yaml21
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/jmeter/slave_service.yaml17
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/jmeter_testplan.yaml7
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/lbv1.yaml9
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/lbv2.yaml8
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/server.yaml16
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/set_visibility.yaml13
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/spark/clusterrolebinding.yaml13
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/spark/clusterrolebinding_spark.yaml14
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/spark/deployment.yaml17
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/spark/serviceaccount.yaml6
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/start_visibility.yaml5
-rw-r--r--clover/cloverctl/src/cloverctl/yaml/visibility.yaml7
-rw-r--r--clover/cloverctl/src/cloverkube/main.go419
-rw-r--r--clover/clovisor/Dockerfile19
-rwxr-xr-xclover/clovisor/bin/clovisorbin0 -> 46419408 bytes
-rwxr-xr-xclover/clovisor/build-docker20
-rwxr-xr-xclover/clovisor/build.sh49
-rw-r--r--clover/clovisor/clovisor.yaml55
-rw-r--r--clover/clovisor/clovisor_main.go77
-rw-r--r--clover/clovisor/libclovisor/clovisor_bcc.go948
-rw-r--r--clover/clovisor/libclovisor/clovisor_cfg.go189
-rw-r--r--clover/clovisor/libclovisor/clovisor_k8s.go272
-rwxr-xr-xclover/clovisor/libclovisor/ebpf/node_interface.c158
-rwxr-xr-xclover/clovisor/libclovisor/ebpf/session_tracking.c292
-rw-r--r--clover/clovisor/libclovisor/jaeger-all-in-one-template.yml151
-rwxr-xr-xclover/clovisor/libclovisor/libproto/build-plugin (renamed from ci/test.sh)5
-rw-r--r--clover/clovisor/libclovisor/libproto/clovisor_http.go84
-rw-r--r--clover/clovisor/libclovisor/libproto/http_alt.go93
-rw-r--r--clover/clovisor/libclovisor/mongo.yaml41
-rw-r--r--clover/clovisor/libclovisor/redis.yaml53
-rw-r--r--clover/clovisor/proto/http.sobin0 -> 11742704 bytes
-rw-r--r--clover/controller/__init__.py11
-rw-r--r--clover/controller/control/__init__.py11
-rw-r--r--clover/controller/control/api/collector.py56
-rw-r--r--clover/controller/control/api/file_upload.py38
-rw-r--r--clover/controller/control/api/jmeter.py9
-rw-r--r--clover/controller/control/api/nginx.py49
-rw-r--r--clover/controller/control/api/snort.py4
-rw-r--r--clover/controller/control/api/visibility.py143
-rw-r--r--clover/controller/control/control.py26
-rw-r--r--clover/controller/control/static/css/app.css22
-rw-r--r--clover/controller/control/static/css/foundation.css5805
-rw-r--r--clover/controller/control/static/css/jquery-ui.css1313
-rw-r--r--clover/controller/control/static/js/foundation/foundation.min.js5
-rw-r--r--clover/controller/control/static/js/foundation/jquery.js10253
-rw-r--r--clover/controller/control/static/js/graphing/candela.min.js170
-rw-r--r--clover/controller/control/static/js/graphing/plotly-latest.min.js7
-rw-r--r--clover/controller/control/static/js/jquery-ui.min.js13
-rw-r--r--clover/controller/control/static/js/visibility.js285
-rw-r--r--clover/controller/control/templates/base.html31
-rw-r--r--clover/controller/control/templates/header.html21
-rw-r--r--clover/controller/control/templates/home.html6
-rw-r--r--clover/controller/control/templates/http_details.html30
-rw-r--r--clover/controller/control/templates/metric_requests.html10
-rw-r--r--clover/controller/control/templates/request_counts.html21
-rw-r--r--clover/controller/control/templates/rt_system_counts.html23
-rw-r--r--clover/controller/control/templates/tracing_names.html33
-rw-r--r--clover/controller/control/templates/visibility.html66
-rw-r--r--clover/controller/control/templates/visibility_controls.html37
-rw-r--r--clover/controller/control/views/dashboard.py19
-rw-r--r--clover/controller/control/views/visibility.py86
-rw-r--r--clover/functest/clover_k8s.py5
-rw-r--r--clover/servicemesh/validate.py47
-rw-r--r--clover/spark/build.sbt19
-rw-r--r--clover/spark/docker/clover-spark/Dockerfile61
-rwxr-xr-xclover/spark/docker/clover-spark/build.sh19
-rw-r--r--clover/spark/docker/spark-submit/Dockerfile23
-rwxr-xr-xclover/spark/docker/spark-submit/build.sh17
-rwxr-xr-xclover/spark/docker/spark-submit/runner.sh31
-rwxr-xr-xclover/spark/docker/spark-submit/runner_fast.sh26
-rw-r--r--clover/spark/src/main/scala/CloverFast.scala55
-rw-r--r--clover/spark/src/main/scala/CloverSlow.scala232
-rw-r--r--clover/spark/yaml/clover-spark.yaml49
-rw-r--r--clover/spinnaker/install/quick-install-spinnaker.yml16
-rw-r--r--clover/tools/jmeter/jmeter-master/Dockerfile2
-rw-r--r--clover/tools/jmeter/jmeter-master/grpc/jmeter.proto6
-rw-r--r--clover/tools/jmeter/jmeter-master/grpc/jmeter_pb2.py34
-rw-r--r--clover/tools/jmeter/jmeter-master/grpc/jmeter_server.py3
-rw-r--r--clover/tools/jmeter/jmeter-master/tests/jmx.template12
-rw-r--r--clover/tools/jmeter/jmeter-slave/Dockerfile2
-rw-r--r--clover/tools/jmeter/yaml/manifest.template2
-rw-r--r--docs/conf.yaml2
-rw-r--r--docs/development/design/clovisor.rst205
-rw-r--r--docs/development/design/index.rst1
-rw-r--r--docs/index.rst18
-rw-r--r--docs/release/configguide/a_b_config_guide.rst6
-rw-r--r--docs/release/configguide/clovisor_config_guide.rst179
-rw-r--r--docs/release/configguide/controller_services_config_guide.rst179
-rw-r--r--docs/release/configguide/imgs/jmeter_overview.pngbin0 -> 78367 bytes
-rw-r--r--docs/release/configguide/imgs/sdc_tracing.pngbin83363 -> 84913 bytes
-rw-r--r--docs/release/configguide/imgs/spinnaker-bake.pngbin0 -> 61742 bytes
-rw-r--r--docs/release/configguide/imgs/spinnaker-deploy.pngbin0 -> 62381 bytes
-rw-r--r--docs/release/configguide/imgs/spinnaker-expected-artifacts.pngbin0 -> 37564 bytes
-rw-r--r--docs/release/configguide/imgs/spinnaker-produces-artifact.pngbin0 -> 17589 bytes
-rw-r--r--docs/release/configguide/imgs/visibility_discovered_active.pngbin0 -> 33626 bytes
-rw-r--r--docs/release/configguide/imgs/visibility_distinct_counts.pngbin0 -> 38887 bytes
-rw-r--r--docs/release/configguide/imgs/visibility_distinct_http.pngbin0 -> 27362 bytes
-rw-r--r--docs/release/configguide/imgs/visibility_monitoring_metrics.pngbin0 -> 96758 bytes
-rw-r--r--docs/release/configguide/imgs/visibility_overview.pngbin0 -> 64705 bytes
-rw-r--r--docs/release/configguide/imgs/visibility_system_counts_response_times.pngbin0 -> 40552 bytes
-rw-r--r--docs/release/configguide/index.rst15
-rw-r--r--docs/release/configguide/jmeter_config_guide.rst300
-rw-r--r--docs/release/configguide/sdc_config_guide.rst224
-rw-r--r--docs/release/configguide/spinnaker_config_guide.rst63
-rw-r--r--docs/release/configguide/visibility_config_guide.rst403
-rw-r--r--docs/release/release-notes/release-notes.rst29
-rw-r--r--docs/release/userguide/index.rst8
-rw-r--r--docs/release/userguide/userguide.rst55
-rw-r--r--download/cloverctl.tar.gzbin0 -> 10051204 bytes
-rw-r--r--samples/scenarios/clearwater_ims/clt-docker/clearwater-live-test.tgzbin1627952 -> 0 bytes
-rw-r--r--samples/scenarios/modsecurity_all_in_one.yaml2
-rw-r--r--samples/scenarios/service_delivery_controller.yaml70
-rw-r--r--samples/scenarios/service_delivery_controller_opnfv.yaml26
-rwxr-xr-xsamples/scenarios/view.sh30
-rw-r--r--samples/services/nginx/docker/grpc/templates/server.template2
-rw-r--r--samples/services/snort_ids/docker/Dockerfile2
167 files changed, 24669 insertions, 710 deletions
diff --git a/ci/deploy.sh b/ci/deploy.sh
index 2580dbc..4bdce89 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -15,7 +15,7 @@ MASTER_NODE_NAME="master"
SSH_OPTIONS="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
K8S_ISTIO_DEPLOY_TIMEOUT=3600
-FUNCTEST_IMAGE="opnfv/functest-kubernetes:latest"
+FUNCTEST_IMAGE="opnfv/functest-kubernetes-features:amd64-gambia"
INSTALLER_TYPE="container4nfv"
DEPLOY_SCENARIO="k8-istio-clover"
@@ -42,8 +42,8 @@ MASTER_NODE_KEY=$(vagrant ssh-config $MASTER_NODE_NAME | awk '/IdentityFile /{pr
ssh $SSH_OPTIONS -i $MASTER_NODE_KEY ${MASTER_NODE_USER}@${MASTER_NODE_HOST} rm -rf clover
scp $SSH_OPTIONS -i $MASTER_NODE_KEY -r $CLOVER_BASE_DIR ${MASTER_NODE_USER}@${MASTER_NODE_HOST}:clover
-# Run test
-ssh $SSH_OPTIONS -i $MASTER_NODE_KEY ${MASTER_NODE_USER}@${MASTER_NODE_HOST} ./clover/ci/test.sh
+# Deploy SDC sample for Functest test
+ssh $SSH_OPTIONS -i $MASTER_NODE_KEY ${MASTER_NODE_USER}@${MASTER_NODE_HOST} ./clover/ci/sdc_setup.sh
echo "Clover deploy complete!"
@@ -63,6 +63,9 @@ echo "export KUBE_MASTER_URL=$KUBE_MASTER_URL" >> $RC_FILE
KUBE_MASTER_IP=$(echo $KUBE_MASTER_URL | awk -F'https://|:[0-9]+' '$0=$2')
echo "export KUBE_MASTER_IP=$KUBE_MASTER_IP" >> $RC_FILE
+# Restart docker service in case Container4NFV CI job delete docker0 bridge
+systemctl restart docker
+
# Run functest
sudo docker pull $FUNCTEST_IMAGE
sudo docker run --rm \
diff --git a/ci/sdc_setup.sh b/ci/sdc_setup.sh
new file mode 100755
index 0000000..f4d82f5
--- /dev/null
+++ b/ci/sdc_setup.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+#
+# Copyright (c) Authors of Clover
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+set -ex
+
+# Deploy Clover SDC sample
+kubectl apply -f <(istioctl kube-inject -f ~/clover/samples/scenarios/service_delivery_controller_opnfv.yaml)
+
+# Wait for SDC sample deployed
+kubectl get services
+kubectl get pods
+
+r="0"
+while [ $r -ne "10" ]
+do
+ sleep 30
+ kubectl get pods
+ r=$(kubectl get pods | grep Running | wc -l)
+done
+
+echo "Set up Clover SDC sample complete!"
diff --git a/clover/cloverctl/src/cloverctl/cmd/clear.go b/clover/cloverctl/src/cloverctl/cmd/clear.go
index 309df70..eab784a 100644
--- a/clover/cloverctl/src/cloverctl/cmd/clear.go
+++ b/clover/cloverctl/src/cloverctl/cmd/clear.go
@@ -17,7 +17,7 @@ var clearCmd = &cobra.Command{
Short: "Truncate visibility tables",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("clear called")
+ fmt.Println("Uncomplete command")
},
}
diff --git a/clover/cloverctl/src/cloverctl/cmd/clear_visibility.go b/clover/cloverctl/src/cloverctl/cmd/clear_visibility.go
index 9468714..2e66637 100644
--- a/clover/cloverctl/src/cloverctl/cmd/clear_visibility.go
+++ b/clover/cloverctl/src/cloverctl/cmd/clear_visibility.go
@@ -9,6 +9,7 @@ package cmd
import (
"fmt"
+ "os"
"gopkg.in/resty.v1"
"github.com/spf13/cobra"
)
@@ -16,7 +17,7 @@ import (
var visibilityclearCmd = &cobra.Command{
Use: "visibility",
- Short: "Clear visibility tables",
+ Short: "Clear visibility data",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
clearCollector()
@@ -28,12 +29,14 @@ func init() {
}
func clearCollector() {
- url := controllerIP + "/collector/truncate"
+ checkControllerIP()
+ url := controllerIP + "/visibility/clear"
resp, err := resty.R().
Get(url)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Cannot connect to controller: %v\n", err)
+ os.Exit(1)
}
fmt.Printf("\n%v\n", resp)
}
diff --git a/clover/cloverctl/src/cloverctl/cmd/create.go b/clover/cloverctl/src/cloverctl/cmd/create.go
index 3a09fa4..a66acf9 100644
--- a/clover/cloverctl/src/cloverctl/cmd/create.go
+++ b/clover/cloverctl/src/cloverctl/cmd/create.go
@@ -14,10 +14,10 @@ import (
var createCmd = &cobra.Command{
Use: "create",
- Short: "Create resources including IDS rules, L7 testplans, etc.",
+ Short: "Create clover configurations and deployments",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("create called")
+ fmt.Println("Incomplete command")
},
}
diff --git a/clover/cloverctl/src/cloverctl/cmd/create_docker_registry.go b/clover/cloverctl/src/cloverctl/cmd/create_docker_registry.go
index 77045f6..37e8aeb 100644
--- a/clover/cloverctl/src/cloverctl/cmd/create_docker_registry.go
+++ b/clover/cloverctl/src/cloverctl/cmd/create_docker_registry.go
@@ -10,7 +10,7 @@ package cmd
import (
"fmt"
"io/ioutil"
-
+ "os"
"gopkg.in/resty.v1"
"github.com/ghodss/yaml"
"github.com/spf13/cobra"
@@ -28,21 +28,24 @@ var dockerregistryCmd = &cobra.Command{
func init() {
providercreateCmd.AddCommand(dockerregistryCmd)
- dockerregistryCmd.Flags().StringVarP(&cloverFile, "file", "f", "", "Input yaml file to add kubernetes provider")
+ dockerregistryCmd.Flags().StringVarP(&cloverFile, "file", "f", "",
+ "Input yaml file to add docker registry")
dockerregistryCmd.MarkFlagRequired("file")
}
func createDockerRegistry() {
+ checkControllerIP()
url := controllerIP + "/halyard/addregistry"
in, err := ioutil.ReadFile(cloverFile)
if err != nil {
- fmt.Println("Please specify a valid rule definition yaml file")
- return
+ fmt.Println("Please specify a valid yaml file")
+ os.Exit(1)
}
out_json, err := yaml.YAMLToJSON(in)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Invalid yaml: %v\n", err)
+ os.Exit(1)
}
resp, err := resty.R().
@@ -50,7 +53,8 @@ func createDockerRegistry() {
SetBody(out_json).
Post(url)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Cannot connect to controller: %v\n", err)
+ os.Exit(1)
}
fmt.Printf("\n%v\n", resp)
diff --git a/clover/cloverctl/src/cloverctl/cmd/create_idsrules.go b/clover/cloverctl/src/cloverctl/cmd/create_idsrules.go
index bc0d8d5..6e59297 100644
--- a/clover/cloverctl/src/cloverctl/cmd/create_idsrules.go
+++ b/clover/cloverctl/src/cloverctl/cmd/create_idsrules.go
@@ -9,6 +9,7 @@ package cmd
import (
"fmt"
+ "os"
"io/ioutil"
"gopkg.in/resty.v1"
"github.com/ghodss/yaml"
@@ -18,7 +19,7 @@ import (
var idsrulesCmd = &cobra.Command{
Use: "idsrules",
- Short: "Create one or many IDS rules from yaml file",
+ Short: "Create one or many snort IDS rules from yaml file",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
createIDSRules()
@@ -27,30 +28,32 @@ var idsrulesCmd = &cobra.Command{
func init() {
createCmd.AddCommand(idsrulesCmd)
- idsrulesCmd.Flags().StringVarP(&cloverFile, "file", "f", "", "Input yaml file to add IDS rules")
+ idsrulesCmd.Flags().StringVarP(&cloverFile, "file", "f", "",
+ "Input yaml file to add IDS rules")
idsrulesCmd.MarkFlagRequired("file")
}
func createIDSRules() {
+ checkControllerIP()
url := controllerIP + "/snort/addrule"
in, err := ioutil.ReadFile(cloverFile)
if err != nil {
fmt.Println("Please specify a valid rule definition yaml file")
- return
+ os.Exit(1)
}
out_json, err := yaml.YAMLToJSON(in)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Invalid yaml: %v\n", err)
+ os.Exit(1)
}
resp, err := resty.R().
SetHeader("Content-Type", "application/json").
SetBody(out_json).
Post(url)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Cannot connect to controller: %v\n", err)
+ os.Exit(1)
}
fmt.Printf("\n%v\n", resp)
- //fmt.Println(string(out_json))
-
}
diff --git a/clover/cloverctl/src/cloverctl/cmd/create_kubernetes.go b/clover/cloverctl/src/cloverctl/cmd/create_kubernetes.go
index 7311090..8ff4394 100644
--- a/clover/cloverctl/src/cloverctl/cmd/create_kubernetes.go
+++ b/clover/cloverctl/src/cloverctl/cmd/create_kubernetes.go
@@ -12,7 +12,7 @@ import (
"time"
"io/ioutil"
"strings"
-
+ "os"
"gopkg.in/resty.v1"
"github.com/ghodss/yaml"
"github.com/spf13/cobra"
@@ -33,7 +33,7 @@ type DockerRegistry struct {
var kubeproviderCmd = &cobra.Command{
Use: "kubernetes",
- Short: "Add one kubernete provider from yaml file to spinnaker",
+ Short: "Add one kubernetes provider from yaml file to spinnaker",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
createProvider()
@@ -42,17 +42,19 @@ var kubeproviderCmd = &cobra.Command{
func init() {
providercreateCmd.AddCommand(kubeproviderCmd)
- kubeproviderCmd.Flags().StringVarP(&cloverFile, "file", "f", "", "Input yaml file to add kubernetes provider")
+ kubeproviderCmd.Flags().StringVarP(&cloverFile, "file", "f", "",
+ "Input yaml file to add kubernetes provider")
kubeproviderCmd.MarkFlagRequired("file")
}
func createProvider() {
+ checkControllerIP()
url := controllerIP + "/halyard/addkube"
in, err := ioutil.ReadFile(cloverFile)
if err != nil {
- fmt.Println("Please specify a valid rule definition yaml file")
- return
+ fmt.Println("Please specify a valid yaml file")
+ os.Exit(1)
}
t := Kubernetes{}
@@ -73,14 +75,16 @@ func createProvider() {
newconfig, _ := yaml.Marshal(&t)
out_json, err := yaml.YAMLToJSON(newconfig)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Invalid yaml: %v\n", err)
+ os.Exit(1)
}
resp, err := resty.R().
SetHeader("Content-Type", "application/json").
SetBody(out_json).
Post(url)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Cannot connect to controller: %v\n", err)
+ os.Exit(1)
}
fmt.Printf("\n%v\n", resp)
diff --git a/clover/cloverctl/src/cloverctl/cmd/create_system.go b/clover/cloverctl/src/cloverctl/cmd/create_system.go
index 68fa5af..402d0c0 100644
--- a/clover/cloverctl/src/cloverctl/cmd/create_system.go
+++ b/clover/cloverctl/src/cloverctl/cmd/create_system.go
@@ -9,29 +9,189 @@ package cmd
import (
"fmt"
- //"io/ioutil"
- //"github.com/ghodss/yaml"
"github.com/spf13/cobra"
"cloverkube"
)
-
var systemCmd = &cobra.Command{
Use: "system",
- Short: "Deploy clover-system in Kubernetes",
+ Short: "Deploy clover-system services in Kubernetes",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ cloverkube.ConfigNamespace("clover-system", "create")
+ },
+}
+
+var create_visibilityCmd = &cobra.Command{
+ Use: "visibility",
+ Short: "Deploy visibility services in clover-system namespace",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Creating visibility services")
+ cloverkube.ConfigNamespace("clover-system", "create")
+ createCloverSystem("cassandra")
+ createCloverSystem("redis")
+ createCloverSystem("collector")
+ createCloverSystem("controller")
+ createCloverSystem("spark")
+ },
+}
+
+var create_collectorCmd = &cobra.Command{
+ Use: "collector",
+ Short: "Deploy collector service in clover-system namespace",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
- createCloverSystem()
+ fmt.Println("Creating collector service")
+ cloverkube.ConfigNamespace("clover-system", "create")
+ createCloverSystem("collector")
},
}
+var create_controllerCmd = &cobra.Command{
+ Use: "controller",
+ Short: "Deploy controller service in clover-system namespace",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Creating controller service")
+ cloverkube.ConfigNamespace("clover-system", "create")
+ createCloverSystem("controller")
+ },
+}
+
+var create_controllernodeportCmd = &cobra.Command{
+ Use: "nodeport",
+ Short: "Deploy nodeport service to expose controller externally",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Creating nodeport for controller service")
+ createCloverSystem("controller_nodeport")
+ },
+}
+
+var create_controllerlbCmd = &cobra.Command{
+ Use: "lb",
+ Short: "Deploy lb service to expose controller externally",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Creating lb for controller service")
+ createCloverSystem("controller_lb")
+ },
+}
+
+var create_clovisorCmd = &cobra.Command{
+ Use: "clovisor",
+ Short: "Deploy clovisor service in clovisor namespace",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Creating clovisor service")
+ cloverkube.ConfigNamespace("clovisor", "create")
+ createCloverSystem("clovisor")
+ },
+}
+
+var create_datastoreCmd = &cobra.Command{
+ Use: "datastore",
+ Short: "Deploy redis/cassandra services in clover-system namespace",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Creating datastore services")
+ cloverkube.ConfigNamespace("clover-system", "create")
+ createCloverSystem("cassandra")
+ createCloverSystem("redis")
+ },
+}
+
+var create_validationCmd = &cobra.Command{
+ Use: "validation",
+ Short: "Deploy jmeter master/slave services",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Creating validation services")
+ createCloverSystem("jmeter_master")
+ createCloverSystem("jmeter_slave")
+ },
+}
+
+
+var repo string
+var tag string
func init() {
createCmd.AddCommand(systemCmd)
- //systemCmd.PersistentFlags().StringVarP(&cloverFile, "f", "f", "", "Input yaml file to create system")
-
+ systemCmd.AddCommand(create_visibilityCmd)
+ systemCmd.AddCommand(create_collectorCmd)
+ systemCmd.AddCommand(create_controllerCmd)
+ create_controllerCmd.AddCommand(create_controllernodeportCmd)
+ create_controllerCmd.AddCommand(create_controllerlbCmd)
+ systemCmd.AddCommand(create_datastoreCmd)
+ systemCmd.AddCommand(create_validationCmd)
+ systemCmd.AddCommand(create_clovisorCmd)
+ systemCmd.PersistentFlags().StringVarP(&repo, "repo", "r", "opnfv",
+ "Image repo to use, ex. 'opnfv' or 'localhost:5000'")
+ systemCmd.PersistentFlags().StringVarP(&tag, "tag", "t", "opnfv-7.0.0",
+ "Image tag to use, ex. 'opnfv-7.0.0' or 'latest'")
}
-func createCloverSystem() {
- cloverkube.DeployCloverSystem("create", "clover-system")
- fmt.Println("Deployed clover-system successfully")
+func createCloverSystem(clover_services string) {
+ image := ""
+ switch clover_services {
+ case "controller":
+ image = repo + "/clover-controller:" + tag
+ cloverkube.CreateResource("controller/deployment.yaml",
+ "deployment", image, "")
+ cloverkube.CreateResource("controller/service_internal.yaml",
+ "service", "", "")
+ case "controller_nodeport":
+ cloverkube.CreateResource("controller/service_nodeport.yaml",
+ "service", "", "")
+ case "controller_lb":
+ cloverkube.CreateResource("controller/service_lb.yaml",
+ "service", "", "")
+ case "collector":
+ image = repo + "/clover-collector:" + tag
+ cloverkube.CreateResource("collector/deployment.yaml",
+ "deployment", image, "")
+ cloverkube.CreateResource("collector/service.yaml", "service",
+ "", "")
+ case "spark":
+ image = repo + "/clover-spark-submit:" + tag
+ cloverkube.CreateResource("spark/serviceaccount.yaml",
+ "serviceaccount", "", "")
+ cloverkube.CreateResource("spark/clusterrolebinding.yaml",
+ "clusterrolebinding", "", "")
+ cloverkube.CreateResource("spark/clusterrolebinding_spark.yaml",
+ "clusterrolebinding", "", "")
+ cloverkube.CreateResource("spark/deployment.yaml", "deployment",
+ image, "")
+ case "clovisor":
+ image = repo + "/clover-clovisor:" + tag
+ cloverkube.CreateResource("clovisor/serviceaccount.yaml",
+ "serviceaccount", "", "clovisor")
+ cloverkube.CreateResource("clovisor/clusterrolebinding.yaml",
+ "clusterrolebinding", "", "clovisor")
+ cloverkube.CreateResource("clovisor/daemonset.yaml", "daemonset",
+ image, "clovisor")
+ case "redis":
+ cloverkube.CreateResource("datastore/redis_pod.yaml", "pod",
+ "", "")
+ cloverkube.CreateResource("datastore/redis_service.yaml",
+ "service", "", "")
+ case "cassandra":
+ cloverkube.CreateResource("datastore/cassandra_statefulset.yaml",
+ "statefulset", "", "")
+ cloverkube.CreateResource("datastore/cassandra_service.yaml",
+ "service", "", "")
+ case "jmeter_master":
+ image = repo + "/clover-jmeter-master:" + tag
+ cloverkube.CreateResource("jmeter/master_deployment.yaml",
+ "deployment", image, "default")
+ cloverkube.CreateResource("jmeter/master_service.yaml",
+ "service", "", "default")
+ case "jmeter_slave":
+ image = repo + "/clover-jmeter-slave:" + tag
+ cloverkube.CreateResource("jmeter/slave_deployment.yaml",
+ "deployment", image, "default")
+ cloverkube.CreateResource("jmeter/slave_service.yaml",
+ "service", "", "default")
+ }
}
diff --git a/clover/cloverctl/src/cloverctl/cmd/create_testplan.go b/clover/cloverctl/src/cloverctl/cmd/create_testplan.go
index 686d5ba..1d9d8b2 100644
--- a/clover/cloverctl/src/cloverctl/cmd/create_testplan.go
+++ b/clover/cloverctl/src/cloverctl/cmd/create_testplan.go
@@ -9,49 +9,51 @@ package cmd
import (
"fmt"
+ "os"
"gopkg.in/resty.v1"
"io/ioutil"
"github.com/ghodss/yaml"
"github.com/spf13/cobra"
+
)
var testplanCmd = &cobra.Command{
Use: "testplan",
- Short: "Create L7 client emulation test plans from yaml file",
+ Short: "Create jmeter L7 client emulation test plan from yaml file",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
createTestPlan()
- //fmt.Printf("%v\n", cmd.Parent().CommandPath())
},
}
func init() {
createCmd.AddCommand(testplanCmd)
- testplanCmd.Flags().StringVarP(&cloverFile, "file", "f", "", "Input yaml file with test plan params")
+ testplanCmd.Flags().StringVarP(&cloverFile, "file", "f", "",
+ "Input test plan yaml file")
testplanCmd.MarkFlagRequired("file")
}
func createTestPlan() {
+ checkControllerIP()
url := controllerIP + "/jmeter/gen"
in, err := ioutil.ReadFile(cloverFile)
if err != nil {
- fmt.Println("Please specify a valid test plan yaml file")
- return
+ fmt.Println("Please specify a valid yaml file")
+ os.Exit(1)
}
out_json, err := yaml.YAMLToJSON(in)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Invalid yaml: %v\n", err)
+ os.Exit(1)
}
resp, err := resty.R().
SetHeader("Content-Type", "application/json").
SetBody(out_json).
Post(url)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Cannot connect to controller: %v\n", err)
+ os.Exit(1)
}
fmt.Printf("\n%v\n", resp)
- //fmt.Println(string(out_json))
-
}
-
diff --git a/clover/cloverctl/src/cloverctl/cmd/delete.go b/clover/cloverctl/src/cloverctl/cmd/delete.go
index 742d769..34070e7 100644
--- a/clover/cloverctl/src/cloverctl/cmd/delete.go
+++ b/clover/cloverctl/src/cloverctl/cmd/delete.go
@@ -14,10 +14,10 @@ import (
var deleteCmd = &cobra.Command{
Use: "delete",
- Short: "Delete resources including clover-system services",
+ Short: "Delete configurations and clover services",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("delete called")
+ fmt.Println("Incomplete command")
},
}
diff --git a/clover/cloverctl/src/cloverctl/cmd/delete_docker_registry.go b/clover/cloverctl/src/cloverctl/cmd/delete_docker_registry.go
index d4403a5..3bb411a 100644
--- a/clover/cloverctl/src/cloverctl/cmd/delete_docker_registry.go
+++ b/clover/cloverctl/src/cloverctl/cmd/delete_docker_registry.go
@@ -10,14 +10,14 @@ package cmd
import (
"fmt"
"encoding/json"
-
+ "os"
"gopkg.in/resty.v1"
"github.com/spf13/cobra"
)
var deldockerproviderCmd = &cobra.Command{
Use: "docker-registry",
- Short: "delete one docker registry provider by name from spinnaker",
+ Short: "Delete one docker registry provider by name from spinnaker",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
deldockerProvider()
@@ -26,12 +26,14 @@ var deldockerproviderCmd = &cobra.Command{
func init() {
providerdelCmd.AddCommand(deldockerproviderCmd)
- deldockerproviderCmd.Flags().StringVarP(&name, "name", "n", "", "Input docker-registry account name")
+ deldockerproviderCmd.Flags().StringVarP(&name, "name", "n", "",
+ "Input docker-registry account name")
deldockerproviderCmd.MarkFlagRequired("name")
}
func deldockerProvider() {
+ checkControllerIP()
url := controllerIP + "/halyard/delprovider"
var in = map[string]string{"name": name, "provider":"dockerRegistry"}
@@ -45,7 +47,8 @@ func deldockerProvider() {
SetBody(out_json).
Post(url)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Cannot connect to controller: %v\n", err)
+ os.Exit(1)
}
fmt.Printf("\n%v\n", resp)
diff --git a/clover/cloverctl/src/cloverctl/cmd/delete_kubernetes.go b/clover/cloverctl/src/cloverctl/cmd/delete_kubernetes.go
index 77b466a..a6f29f9 100644
--- a/clover/cloverctl/src/cloverctl/cmd/delete_kubernetes.go
+++ b/clover/cloverctl/src/cloverctl/cmd/delete_kubernetes.go
@@ -10,7 +10,7 @@ package cmd
import (
"fmt"
"encoding/json"
-
+ "os"
"gopkg.in/resty.v1"
"github.com/spf13/cobra"
)
@@ -18,7 +18,7 @@ import (
var name string
var delkubeproviderCmd = &cobra.Command{
Use: "kubernetes",
- Short: "delete one kubernete provider by name from spinnaker",
+ Short: "Delete one kubernetes provider by name from spinnaker",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
delProvider()
@@ -27,12 +27,14 @@ var delkubeproviderCmd = &cobra.Command{
func init() {
providerdelCmd.AddCommand(delkubeproviderCmd)
- delkubeproviderCmd.Flags().StringVarP(&name, "name", "n", "", "Input kubernetes account name")
+ delkubeproviderCmd.Flags().StringVarP(&name, "name", "n", "",
+ "Input kubernetes account name")
delkubeproviderCmd.MarkFlagRequired("name")
}
func delProvider() {
+ checkControllerIP()
url := controllerIP + "/halyard/delprovider"
var in = map[string]string{"name": name, "provider":"kubernetes"}
@@ -46,7 +48,8 @@ func delProvider() {
SetBody(out_json).
Post(url)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Cannot connect to controller: %v\n", err)
+ os.Exit(1)
}
fmt.Printf("\n%v\n", resp)
diff --git a/clover/cloverctl/src/cloverctl/cmd/delete_system.go b/clover/cloverctl/src/cloverctl/cmd/delete_system.go
index bc3f22b..ded0a68 100644
--- a/clover/cloverctl/src/cloverctl/cmd/delete_system.go
+++ b/clover/cloverctl/src/cloverctl/cmd/delete_system.go
@@ -13,21 +13,154 @@ import (
"cloverkube"
)
-
var delsystemCmd = &cobra.Command{
Use: "system",
Short: "Delete clover-system in Kubernetes",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
- delCloverSystem()
+ delCloverSystem("controller")
+ },
+}
+
+var del_controllerCmd = &cobra.Command{
+ Use: "controller",
+ Short: "Delete controller service from clover-system namespace",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Deleting controller service")
+ delCloverSystem("controller")
+ },
+}
+
+var del_controllernodeportCmd = &cobra.Command{
+ Use: "nodeport",
+ Short: "Delete controller nodeport service from clover-system namespace",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Deleting nodeport for controller service")
+ delCloverSystem("controller_nodeport")
+ },
+}
+
+var del_controllerlbCmd = &cobra.Command{
+ Use: "lb",
+ Short: "Delete controller lb service from clover-system namespace",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Deleting lb for controller service")
+ delCloverSystem("controller_lb")
+ },
+}
+
+var del_collectorCmd = &cobra.Command{
+ Use: "collector",
+ Short: "Delete collector service from clover-system namespace",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Deleting collector service")
+ delCloverSystem("collector")
+ },
+}
+
+var del_clovisorCmd = &cobra.Command{
+ Use: "clovisor",
+ Short: "Delete clovisor service from clovisor namespace",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Deleting clovisor service")
+ delCloverSystem("clovisor")
+ cloverkube.ConfigNamespace("clovisor", "delete")
+ },
+}
+
+var del_visibilityCmd = &cobra.Command{
+ Use: "visibility",
+ Short: "Delete visibility services from clover-system namespace",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Deleting visibility services")
+ delCloverSystem("spark")
+ delCloverSystem("controller")
+ delCloverSystem("collector")
+ delCloverSystem("cassandra")
+ delCloverSystem("redis")
+ cloverkube.ConfigNamespace("clover-system", "delete")
+ },
+}
+
+var del_datastoreCmd = &cobra.Command{
+ Use: "datastore",
+ Short: "Delete datastore services from clover-system namespace",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Deleting datatore services")
+ delCloverSystem("cassandra")
+ delCloverSystem("redis")
+ },
+}
+
+var del_validationCmd = &cobra.Command{
+ Use: "validation",
+ Short: "Delete jmeter master/slave services",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Deleting validation services")
+ delCloverSystem("jmeter_master")
+ delCloverSystem("jmeter_slave")
},
}
func init() {
deleteCmd.AddCommand(delsystemCmd)
+ delsystemCmd.AddCommand(del_controllerCmd)
+ del_controllerCmd.AddCommand(del_controllernodeportCmd)
+ del_controllerCmd.AddCommand(del_controllerlbCmd)
+ delsystemCmd.AddCommand(del_collectorCmd)
+ delsystemCmd.AddCommand(del_visibilityCmd)
+ delsystemCmd.AddCommand(del_validationCmd)
+ delsystemCmd.AddCommand(del_datastoreCmd)
+ delsystemCmd.AddCommand(del_clovisorCmd)
}
-func delCloverSystem() {
- cloverkube.DeployCloverSystem("delete", "clover-system")
- fmt.Println("Deleted clover-system successfully")
+func delCloverSystem(clover_services string) {
+ ns := "clover-system"
+ switch clover_services {
+ case "controller":
+ cloverkube.DeleteResource("clover-controller", "deployment", ns)
+ cloverkube.DeleteResource("clover-controller-internal",
+ "service", ns)
+ case "controller_nodeport", "controller_lb":
+ cloverkube.DeleteResource("clover-controller",
+ "service", ns)
+ case "collector":
+ cloverkube.DeleteResource("clover-collector", "deployment", ns)
+ cloverkube.DeleteResource("clover-collector", "service", ns)
+ case "spark":
+ cloverkube.DeleteResource("clover-spark", "serviceaccount", ns)
+ cloverkube.DeleteResource("clover-spark-default",
+ "clusterrolebinding", ns)
+ cloverkube.DeleteResource("clover-spark", "clusterrolebinding", ns)
+ cloverkube.DeleteResource("clover-spark-submit", "deployment", ns)
+ case "clovisor":
+ cloverkube.DeleteResource("clovisor", "serviceaccount", "clovisor")
+ cloverkube.DeleteResource("serv-account-rbac-clovisor",
+ "clusterrolebinding", "clovisor")
+ cloverkube.DeleteResource("clovisor", "daemonset", "clovisor")
+ case "redis":
+ cloverkube.DeleteResource("redis", "pod", ns)
+ cloverkube.DeleteResource("redis", "service", ns)
+ case "cassandra":
+ cloverkube.DeleteResource("cassandra", "statefulset", ns)
+ cloverkube.DeleteResource("cassandra", "service", ns)
+ case "jmeter_master":
+ cloverkube.DeleteResource("clover-jmeter-master", "deployment",
+ "default")
+ cloverkube.DeleteResource("clover-jmeter-master",
+ "service", "default")
+ case "jmeter_slave":
+ cloverkube.DeleteResource("clover-jmeter-slave", "deployment",
+ "default")
+ cloverkube.DeleteResource("clover-jmeter-slave",
+ "service", "default")
+ }
}
diff --git a/clover/cloverctl/src/cloverctl/cmd/get.go b/clover/cloverctl/src/cloverctl/cmd/get.go
index ae3d98e..c8493be 100644
--- a/clover/cloverctl/src/cloverctl/cmd/get.go
+++ b/clover/cloverctl/src/cloverctl/cmd/get.go
@@ -14,10 +14,10 @@ import (
var getCmd = &cobra.Command{
Use: "get",
- Short: "Get information about a resource",
+ Short: "Get information about a configuration or deployment",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("get called")
+ fmt.Println("Incomplete command")
},
}
diff --git a/clover/cloverctl/src/cloverctl/cmd/get_docker_registry.go b/clover/cloverctl/src/cloverctl/cmd/get_docker_registry.go
index 93c1b3e..7ae94c9 100644
--- a/clover/cloverctl/src/cloverctl/cmd/get_docker_registry.go
+++ b/clover/cloverctl/src/cloverctl/cmd/get_docker_registry.go
@@ -11,7 +11,7 @@ import (
"fmt"
"strings"
"encoding/json"
-
+ "os"
"gopkg.in/resty.v1"
"github.com/spf13/cobra"
)
@@ -31,6 +31,7 @@ func init() {
}
func getdocker() {
+ checkControllerIP()
url := controllerIP + "/halyard/account"
var provider = map[string]string{"name": "dockerRegistry"}
@@ -44,7 +45,8 @@ func getdocker() {
SetBody(out_json).
Get(url)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Cannot connect to controller: %v\n", err)
+ os.Exit(1)
}
if resp.StatusCode() != 200 {
fmt.Printf("\n%v\n", resp)
diff --git a/clover/cloverctl/src/cloverctl/cmd/get_kubernetes.go b/clover/cloverctl/src/cloverctl/cmd/get_kubernetes.go
index 16dcca1..bd5875c 100644
--- a/clover/cloverctl/src/cloverctl/cmd/get_kubernetes.go
+++ b/clover/cloverctl/src/cloverctl/cmd/get_kubernetes.go
@@ -11,7 +11,7 @@ import (
"fmt"
"strings"
"encoding/json"
-
+ "os"
"gopkg.in/resty.v1"
"github.com/spf13/cobra"
)
@@ -31,6 +31,7 @@ func init() {
}
func getkube() {
+ checkControllerIP()
url := controllerIP + "/halyard/account"
var provider = map[string]string{"name": "kubernetes"}
@@ -44,7 +45,8 @@ func getkube() {
SetBody(out_json).
Get(url)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Cannot connect to controller: %v\n", err)
+ os.Exit(1)
}
if resp.StatusCode() != 200 {
fmt.Printf("\n%v\n", resp)
diff --git a/clover/cloverctl/src/cloverctl/cmd/get_services.go b/clover/cloverctl/src/cloverctl/cmd/get_services.go
index cfa56bd..bab13ce 100644
--- a/clover/cloverctl/src/cloverctl/cmd/get_services.go
+++ b/clover/cloverctl/src/cloverctl/cmd/get_services.go
@@ -14,7 +14,7 @@ import (
var servicesCmd = &cobra.Command{
Use: "services",
- Short: "Get info on Kubernetes services",
+ Short: "Get listing of Kubernetes services",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
cloverkube.GetServices()
diff --git a/clover/cloverctl/src/cloverctl/cmd/get_testresult.go b/clover/cloverctl/src/cloverctl/cmd/get_testresult.go
index 12d47c3..f9d8e6d 100644
--- a/clover/cloverctl/src/cloverctl/cmd/get_testresult.go
+++ b/clover/cloverctl/src/cloverctl/cmd/get_testresult.go
@@ -9,37 +9,54 @@ package cmd
import (
"fmt"
+ "os"
"gopkg.in/resty.v1"
"github.com/spf13/cobra"
)
-var JmeterResult string
-
var testresultCmd = &cobra.Command{
Use: "testresult",
- Short: "Get test results from L7 client emulation",
+ Short: "Get test results from jmeter L7 client emulation",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
- getResult()
+ getResult("log")
},
}
-func init() {
- getCmd.AddCommand(testresultCmd)
- testresultCmd.Flags().StringVarP(&JmeterResult, "r", "r", "", "Result to retrieve - use 'log' or 'results'")
- testresultCmd.MarkFlagRequired("r")
+var log_testresultCmd = &cobra.Command{
+ Use: "log",
+ Short: "Get jmeter summary log results",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ getResult("log")
+ },
+}
+var detail_testresultCmd = &cobra.Command{
+ Use: "detail",
+ Short: "Get jmeter detailed results",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ getResult("detail")
+ },
}
+func init() {
+ getCmd.AddCommand(testresultCmd)
+ testresultCmd.AddCommand(log_testresultCmd)
+ testresultCmd.AddCommand(detail_testresultCmd)
+}
-func getResult() {
- switch JmeterResult {
- case "results":
+func getResult(result_type string) {
+ checkControllerIP()
+ switch result_type {
+ case "detail":
url := controllerIP + "/jmeter/results/results"
resp, err := resty.R().
Get(url)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Cannot connect to controller: %v\n", err)
+ os.Exit(1)
}
fmt.Printf("\nResponse Body: %v\n", resp)
case "log":
@@ -47,10 +64,12 @@ func getResult() {
resp, err := resty.R().
Get(url)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Cannot connect to controller: %v\n", err)
+ os.Exit(1)
}
fmt.Printf("\nResponse Body: %v\n", resp)
default:
- fmt.Println("Unrecoginized jmeter result type - use 'log' or 'results'")
+ msg := "Unrecoginized jmeter result type"
+ fmt.Printf("%s - use 'log' or 'detail'", msg)
}
}
diff --git a/clover/cloverctl/src/cloverctl/cmd/get_visibility.go b/clover/cloverctl/src/cloverctl/cmd/get_visibility.go
index d987412..a701164 100644
--- a/clover/cloverctl/src/cloverctl/cmd/get_visibility.go
+++ b/clover/cloverctl/src/cloverctl/cmd/get_visibility.go
@@ -9,33 +9,53 @@ package cmd
import (
"fmt"
+ "os"
"gopkg.in/resty.v1"
"github.com/spf13/cobra"
)
+var VisibilityStat string
+var VisibilityConfig string
-var visibilitystatsCmd = &cobra.Command{
+var visibilitygetCmd = &cobra.Command{
Use: "visibility",
- Short: "Get toplevel visibility stats",
+ Short: "Get visibility config & stats",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
- statsCollector()
+ getVisibility()
},
}
func init() {
- getCmd.AddCommand(visibilitystatsCmd)
- //visibilitystartCmd.PersistentFlags().StringVarP(&cloverFile, "f", "f", "", "Input yaml file with test plan params")
+ getCmd.AddCommand(visibilitygetCmd)
+ visibilitygetCmd.PersistentFlags().StringVarP(&VisibilityStat, "stat", "s",
+ "", "Visibility stats type to get")
+ visibilitygetCmd.PersistentFlags().StringVarP(&VisibilityConfig, "conf",
+ "c", "", "Visibility config type to get")
}
-func statsCollector() {
- url := controllerIP + "/collector/stats"
+func getVisibility() {
+
+ checkControllerIP()
+ url_prefix := "/visibility/get/"
+ get_data := "all"
+ response_prefix := "Config"
+ if VisibilityStat != "" {
+ url_prefix = "/visibility/get/stats/"
+ get_data = VisibilityStat
+ response_prefix = "Stat"
+ } else if VisibilityConfig != "" {
+ get_data = VisibilityConfig
+ }
+
+ url := controllerIP + url_prefix + get_data
resp, err := resty.R().
SetHeader("Accept", "application/json").
Get(url)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Cannot connect to controller: %v\n", err)
+ os.Exit(1)
}
- fmt.Printf("\nProxy Response Time: %v\n", resp)
+ fmt.Printf("\n%s %s: %v\n", response_prefix, get_data, resp)
}
diff --git a/clover/cloverctl/src/cloverctl/cmd/init.go b/clover/cloverctl/src/cloverctl/cmd/init.go
index 613b263..102c5ba 100644
--- a/clover/cloverctl/src/cloverctl/cmd/init.go
+++ b/clover/cloverctl/src/cloverctl/cmd/init.go
@@ -17,7 +17,7 @@ var initCmd = &cobra.Command{
Short: "Initialize visibility schemas",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("init called")
+ fmt.Println("Incomplete command")
},
}
diff --git a/clover/cloverctl/src/cloverctl/cmd/init_visibility.go b/clover/cloverctl/src/cloverctl/cmd/init_visibility.go
index ac9ec5c..004c300 100644
--- a/clover/cloverctl/src/cloverctl/cmd/init_visibility.go
+++ b/clover/cloverctl/src/cloverctl/cmd/init_visibility.go
@@ -9,6 +9,7 @@ package cmd
import (
"fmt"
+ "os"
"gopkg.in/resty.v1"
"github.com/spf13/cobra"
)
@@ -16,7 +17,7 @@ import (
var visibilityinitCmd = &cobra.Command{
Use: "visibility",
- Short: "Init visibility data schemas",
+ Short: "Initialize visibility data schemas in cassandra",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
initCollector()
@@ -28,14 +29,15 @@ func init() {
}
func initCollector() {
+
+ checkControllerIP()
url := controllerIP + "/collector/init"
resp, err := resty.R().
Get(url)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Cannot connect to controller: %v\n", err)
+ os.Exit(1)
}
fmt.Printf("\n%v\n", resp)
}
-
-
diff --git a/clover/cloverctl/src/cloverctl/cmd/provider.go b/clover/cloverctl/src/cloverctl/cmd/provider.go
index fc8e888..e6f1cc8 100644
--- a/clover/cloverctl/src/cloverctl/cmd/provider.go
+++ b/clover/cloverctl/src/cloverctl/cmd/provider.go
@@ -17,7 +17,7 @@ var providercreateCmd = &cobra.Command{
Short: "Add spinnaker provider",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("provider called")
+ fmt.Println("Incomplete command")
},
}
@@ -26,7 +26,7 @@ var providerdelCmd = &cobra.Command{
Short: "Delete spinnaker provider",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("provider called")
+ fmt.Println("Incomplete command")
},
}
@@ -35,7 +35,7 @@ var providergetCmd = &cobra.Command{
Short: "Get spinnaker provider",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("provider called")
+ fmt.Println("Incomplete command")
},
}
func init() {
diff --git a/clover/cloverctl/src/cloverctl/cmd/root.go b/clover/cloverctl/src/cloverctl/cmd/root.go
index 6878077..d1d9405 100644
--- a/clover/cloverctl/src/cloverctl/cmd/root.go
+++ b/clover/cloverctl/src/cloverctl/cmd/root.go
@@ -10,6 +10,7 @@ package cmd
import (
"fmt"
"os"
+ "strings"
homedir "github.com/mitchellh/go-homedir"
"github.com/spf13/cobra"
@@ -18,7 +19,6 @@ import (
)
var cfgFile string
-
var controllerIP string
var cloverFile string
@@ -33,8 +33,9 @@ var rootCmd = &cobra.Command{
//},
}
-// Execute adds all child commands to the root command and sets flags appropriately.
-// This is called by main.main(). It only needs to happen once to the rootCmd.
+// Execute adds all child commands to the root command and sets flags
+// appropriately. This is called by main.main(). It only needs to happen
+// once to the rootCmd.
func Execute() {
if err := rootCmd.Execute(); err != nil {
fmt.Println(err)
@@ -48,19 +49,12 @@ func init() {
// Here you will define your flags and configuration settings.
// Cobra supports persistent flags, which, if defined here,
// will be global for your application.
- rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (default is $HOME/.cloverctl.yaml)")
+ rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "",
+ "config file (default is $HOME/.cloverctl.yaml)")
// Cobra also supports local flags, which will only run
// when this action is called directly.
rootCmd.Flags().BoolP("toggle", "t", false, "Help message for toggle")
-
- cPort, cIP := cloverkube.GetServicesPortIP("clover-controller")
- if cIP == "" {
- controllerIP = "http://10.244.0.1:" + fmt.Sprint(cPort)
- } else {
- controllerIP = "http://" + cIP
- }
- fmt.Printf("\nclover-controller: %s %s\n", fmt.Sprint(cPort), cIP)
}
// initConfig reads in config file and ENV variables if set.
@@ -76,15 +70,51 @@ func initConfig() {
os.Exit(1)
}
- // Search config in home directory with name ".cloverctl" (without extension).
+ // Search config in home directory with name ".cloverctl"
viper.AddConfigPath(home)
viper.SetConfigName(".cloverctl")
}
viper.AutomaticEnv() // read in environment variables that match
- // If a config file is found, read it in.
+ cip_file := ""
+ // If a config file is found in home, read it in.
if err := viper.ReadInConfig(); err == nil {
fmt.Println("Using config file:", viper.ConfigFileUsed())
+ cip_file = viper.GetString("ControllerIP")
+ } else {
+ // Check for file in path from cloverctl
+ ep, err := os.Executable()
+ if err == nil {
+ exe_path := strings.Replace(ep, "cloverctl", "", -1)
+ viper.AddConfigPath(exe_path)
+ if err := viper.ReadInConfig(); err == nil {
+ fmt.Println("Using config file:", viper.ConfigFileUsed())
+ cip_file = viper.GetString("ControllerIP")
+ }
+ }
+ }
+
+ cPort, cip_kube := cloverkube.GetServicesPortIP("clover-controller")
+ // If IP in file
+ if cip_file != "" {
+ // Nodeport
+ controllerIP = "http://" + cip_file + ":" + fmt.Sprint(cPort)
+ }
+ // Override IP, if LB IP found
+ if cip_kube != "" {
+ fmt.Printf("IP %v", cip_kube)
+ controllerIP = "http://" + cip_kube
+ }
+}
+
+func checkControllerIP() {
+ // controllerIP exists
+ service := "clover-controller"
+ if controllerIP == "" {
+ fmt.Printf("%s address unspecified or cannot be found\n", service)
+ os.Exit(1)
+ } else {
+ fmt.Printf("%s address: %s\n", service, controllerIP)
}
}
diff --git a/clover/cloverctl/src/cloverctl/cmd/set.go b/clover/cloverctl/src/cloverctl/cmd/set.go
new file mode 100644
index 0000000..b20bfb5
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/cmd/set.go
@@ -0,0 +1,26 @@
+// Copyright (c) Authors of Clover
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Apache License, Version 2.0
+// which accompanies this distribution, and is available at
+// http://www.apache.org/licenses/LICENSE-2.0
+
+package cmd
+
+import (
+ "fmt"
+ "github.com/spf13/cobra"
+)
+
+var setCmd = &cobra.Command{
+ Use: "set",
+ Short: "Set input to visibility or configurations for sample services",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Incomplete command")
+ },
+}
+
+func init() {
+ rootCmd.AddCommand(setCmd)
+}
diff --git a/clover/cloverctl/src/cloverctl/cmd/set_nginx.go b/clover/cloverctl/src/cloverctl/cmd/set_nginx.go
new file mode 100644
index 0000000..6b571bb
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/cmd/set_nginx.go
@@ -0,0 +1,79 @@
+// Copyright (c) Authors of Clover
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Apache License, Version 2.0
+// which accompanies this distribution, and is available at
+// http://www.apache.org/licenses/LICENSE-2.0
+
+package cmd
+
+import (
+ "fmt"
+ "os"
+ "io/ioutil"
+ "gopkg.in/resty.v1"
+ "github.com/spf13/cobra"
+ "github.com/ghodss/yaml"
+)
+
+
+var setserverCmd = &cobra.Command{
+ Use: "server",
+ Short: "Modify nginx server configuration",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ setNginx("server")
+ },
+}
+
+var setlbCmd = &cobra.Command{
+ Use: "lb",
+ Short: "Modify nginx lb configuration",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ setNginx("lb")
+ },
+}
+
+func init() {
+ setCmd.AddCommand(setserverCmd)
+ setserverCmd.Flags().StringVarP(&cloverFile, "file", "f", "",
+ "Input yaml file for server config")
+ setserverCmd.MarkFlagRequired("file")
+
+ setCmd.AddCommand(setlbCmd)
+ setlbCmd.Flags().StringVarP(&cloverFile, "file", "f", "",
+ "Input yaml file for lb config")
+ setlbCmd.MarkFlagRequired("file")
+}
+
+func setNginx(nginx_service string) {
+
+ checkControllerIP()
+ url := ""
+ if nginx_service == "server" {
+ url = controllerIP + "/nginx/server"
+ } else {
+ url = controllerIP + "/nginx/lb"
+ }
+
+ in, err := ioutil.ReadFile(cloverFile)
+ if err != nil {
+ fmt.Println("Please specify a valid yaml file")
+ os.Exit(1)
+ }
+ out_json, err := yaml.YAMLToJSON(in)
+ if err != nil {
+ fmt.Printf("Invalid yaml: %v\n", err)
+ os.Exit(1)
+ }
+ resp, err := resty.R().
+ SetHeader("Content-Type", "application/json").
+ SetBody(out_json).
+ Post(url)
+ if err != nil {
+ fmt.Printf("Cannot connect to controller: %v\n", err)
+ os.Exit(1)
+ }
+ fmt.Printf("\n%v\n", resp)
+}
diff --git a/clover/cloverctl/src/cloverctl/cmd/set_visibility.go b/clover/cloverctl/src/cloverctl/cmd/set_visibility.go
new file mode 100644
index 0000000..ec28122
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/cmd/set_visibility.go
@@ -0,0 +1,59 @@
+// Copyright (c) Authors of Clover
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Apache License, Version 2.0
+// which accompanies this distribution, and is available at
+// http://www.apache.org/licenses/LICENSE-2.0
+
+package cmd
+
+import (
+ "fmt"
+ "os"
+ "io/ioutil"
+ "gopkg.in/resty.v1"
+ "github.com/spf13/cobra"
+ "github.com/ghodss/yaml"
+)
+
+
+var setvisibilitystatsCmd = &cobra.Command{
+ Use: "visibility",
+ Short: "Set visibility config for services and metrics to track",
+ Long: ``,
+ Run: func(cmd *cobra.Command, args []string) {
+ setCollector()
+ },
+}
+
+func init() {
+ setCmd.AddCommand(setvisibilitystatsCmd)
+ setvisibilitystatsCmd.Flags().StringVarP(&cloverFile, "file", "f", "",
+ "Input yaml file to set visibility config")
+ setvisibilitystatsCmd.MarkFlagRequired("file")
+}
+
+func setCollector() {
+ checkControllerIP()
+ url := controllerIP + "/visibility/set"
+
+ in, err := ioutil.ReadFile(cloverFile)
+ if err != nil {
+ fmt.Println("Please specify a valid yaml file")
+ os.Exit(1)
+ }
+ out_json, err := yaml.YAMLToJSON(in)
+ if err != nil {
+ fmt.Printf("Invalid yaml: %v\n", err)
+ os.Exit(1)
+ }
+ resp, err := resty.R().
+ SetHeader("Content-Type", "application/json").
+ SetBody(out_json).
+ Post(url)
+ if err != nil {
+ fmt.Printf("Cannot connect to controller: %v\n", err)
+ os.Exit(1)
+ }
+ fmt.Printf("\n%v\n", resp)
+}
diff --git a/clover/cloverctl/src/cloverctl/cmd/start.go b/clover/cloverctl/src/cloverctl/cmd/start.go
index 741eacd..d2eb864 100644
--- a/clover/cloverctl/src/cloverctl/cmd/start.go
+++ b/clover/cloverctl/src/cloverctl/cmd/start.go
@@ -14,10 +14,10 @@ import (
var startCmd = &cobra.Command{
Use: "start",
- Short: "Start processes including tests, visibility and ingress services",
+ Short: "Start processes and tests",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("start called")
+ fmt.Println("Incomplete command")
},
}
diff --git a/clover/cloverctl/src/cloverctl/cmd/start_ids.go b/clover/cloverctl/src/cloverctl/cmd/start_ids.go
index 0f495a7..be039fa 100644
--- a/clover/cloverctl/src/cloverctl/cmd/start_ids.go
+++ b/clover/cloverctl/src/cloverctl/cmd/start_ids.go
@@ -9,6 +9,7 @@ package cmd
import (
"fmt"
+ "os"
"gopkg.in/resty.v1"
"github.com/spf13/cobra"
)
@@ -16,8 +17,8 @@ import (
var startidsCmd = &cobra.Command{
Use: "ids",
- Short: "Start IDS process",
- Long: `Restart IDS process when adding custom rules`,
+ Short: "Start snort IDS process",
+ Long: `Restart snort IDS process when adding custom rules`,
Run: func(cmd *cobra.Command, args []string) {
startIDS()
},
@@ -29,14 +30,14 @@ func init() {
func startIDS() {
+ checkControllerIP()
url := controllerIP + "/snort/start"
resp, err := resty.R().
Get(url)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Cannot connect to controller: %v\n", err)
+ os.Exit(1)
}
fmt.Printf("\n%v\n", resp)
}
-
-
diff --git a/clover/cloverctl/src/cloverctl/cmd/start_testplan.go b/clover/cloverctl/src/cloverctl/cmd/start_testplan.go
index b516ad6..9e664c0 100644
--- a/clover/cloverctl/src/cloverctl/cmd/start_testplan.go
+++ b/clover/cloverctl/src/cloverctl/cmd/start_testplan.go
@@ -9,6 +9,7 @@ package cmd
import (
"fmt"
+ "os"
"strings"
"gopkg.in/resty.v1"
"github.com/spf13/cobra"
@@ -18,20 +19,21 @@ import (
var testplanstartCmd = &cobra.Command{
Use: "testplan",
- Short: "Start a test for a given test plan",
+ Short: "Start test for configured test plan",
Long: `Specify number of slaves to use with '-s' flag. Default is 0 slaves,
-which runs tests only from jmeter-master.`,
+which runs tests from jmeter-master only.`,
Run: func(cmd *cobra.Command, args []string) {
startTest()
- //fmt.Printf("%v\n", cmd.Parent().CommandPath())
},
}
var num_slaves int
func init() {
startCmd.AddCommand(testplanstartCmd)
- testplanstartCmd.PersistentFlags().StringVarP(&cloverFile, "file", "f", "", "Currently unused")
- testplanstartCmd.PersistentFlags().IntVarP(&num_slaves, "slaves", "s", 0, "Number of slaves to use")
+ testplanstartCmd.PersistentFlags().StringVarP(&cloverFile, "file", "f", "",
+ "Currently unused")
+ testplanstartCmd.PersistentFlags().IntVarP(&num_slaves, "slaves", "s", 0,
+ "Number of slaves to use")
}
func startTest() {
@@ -39,21 +41,24 @@ func startTest() {
ips := cloverkube.GetPodsIP("clover-jmeter-slave", "default")
fmt.Printf("\njmeter-slaves found: %s\n", ips)
if num_slaves > len(ips) {
- fmt.Printf("Number of slaves specified must be less than found: %d\n", len(ips))
+ fmt.Printf("Number of slaves specified must be less than found: %d\n",
+ len(ips))
return
}
ip_list := strings.Join(ips[0:num_slaves], ",")
+ checkControllerIP()
url := controllerIP + "/jmeter/start"
resp, err := resty.R().
SetHeader("Content-Type", "application/json").
- SetBody(fmt.Sprintf(`{"num_slaves":"%d", "slave_list":"%s"}`, num_slaves, ip_list)).
+ SetBody(fmt.Sprintf(`{"num_slaves":"%d", "slave_list":"%s"}`, num_slaves,
+ ip_list)).
Post(url)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Cannot connect to controller: %v\n", err)
+ os.Exit(1)
}
fmt.Printf("\n%v\n", resp)
-
}
diff --git a/clover/cloverctl/src/cloverctl/cmd/start_visibility.go b/clover/cloverctl/src/cloverctl/cmd/start_visibility.go
index 18f8aac..bbc25d8 100644
--- a/clover/cloverctl/src/cloverctl/cmd/start_visibility.go
+++ b/clover/cloverctl/src/cloverctl/cmd/start_visibility.go
@@ -9,6 +9,7 @@ package cmd
import (
"fmt"
+ "os"
"io/ioutil"
"gopkg.in/resty.v1"
"github.com/ghodss/yaml"
@@ -18,7 +19,7 @@ import (
var visibilitystartCmd = &cobra.Command{
Use: "visibility",
- Short: "Start visibility data collection",
+ Short: "Start visibility collector process",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
startCollector()
@@ -36,23 +37,27 @@ func startCollector() {
if cloverFile != "" {
in, err := ioutil.ReadFile(cloverFile)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Cannot read file: %v\n", err)
+ os.Exit(1)
}
out_json, err := yaml.YAMLToJSON(in)
message_body = string(out_json)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Invalid yaml: %v\n", err)
+ os.Exit(1)
}
} else {
message_body = `{"sample_interval":"10", "t_port":"80", "t_host":"jaeger-query.istio-system"}`
}
+ checkControllerIP()
url := controllerIP + "/collector/start"
resp, err := resty.R().
SetHeader("Content-Type", "application/json").
SetBody(message_body).
Post(url)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Cannot connect to controller: %v\n", err)
+ os.Exit(1)
}
fmt.Printf("\n%v\n", resp)
}
diff --git a/clover/cloverctl/src/cloverctl/cmd/stop.go b/clover/cloverctl/src/cloverctl/cmd/stop.go
index cfb7245..e77a36b 100644
--- a/clover/cloverctl/src/cloverctl/cmd/stop.go
+++ b/clover/cloverctl/src/cloverctl/cmd/stop.go
@@ -14,10 +14,10 @@ import (
var stopCmd = &cobra.Command{
Use: "stop",
- Short: "Stop processes including visibility and ingress services",
+ Short: "Stop processes including visibility and sample services",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("stop called")
+ fmt.Println("Incomplete command")
},
}
diff --git a/clover/cloverctl/src/cloverctl/cmd/stop_ids.go b/clover/cloverctl/src/cloverctl/cmd/stop_ids.go
index b39b1e9..c810d9d 100644
--- a/clover/cloverctl/src/cloverctl/cmd/stop_ids.go
+++ b/clover/cloverctl/src/cloverctl/cmd/stop_ids.go
@@ -9,6 +9,7 @@ package cmd
import (
"fmt"
+ "os"
"gopkg.in/resty.v1"
"github.com/spf13/cobra"
)
@@ -16,8 +17,8 @@ import (
var stopidsCmd = &cobra.Command{
Use: "ids",
- Short: "Stop IDS process",
- Long: `Restart IDS process when adding custom rules`,
+ Short: "Stop snort IDS process",
+ Long: `Restart snort IDS process when adding custom rules`,
Run: func(cmd *cobra.Command, args []string) {
stopIDS()
},
@@ -29,12 +30,14 @@ func init() {
func stopIDS() {
+ checkControllerIP()
url := controllerIP + "/snort/stop"
resp, err := resty.R().
Get(url)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Cannot connect to controller: %v\n", err)
+ os.Exit(1)
}
fmt.Printf("\n%v\n", resp)
}
diff --git a/clover/cloverctl/src/cloverctl/cmd/stop_visibility.go b/clover/cloverctl/src/cloverctl/cmd/stop_visibility.go
index 4233157..fda226e 100644
--- a/clover/cloverctl/src/cloverctl/cmd/stop_visibility.go
+++ b/clover/cloverctl/src/cloverctl/cmd/stop_visibility.go
@@ -9,6 +9,7 @@ package cmd
import (
"fmt"
+ "os"
"gopkg.in/resty.v1"
"github.com/spf13/cobra"
)
@@ -16,7 +17,7 @@ import (
var visibilitystopCmd = &cobra.Command{
Use: "visibility",
- Short: "Stop visibility data collection",
+ Short: "Stop visibility collector process",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
stopCollector()
@@ -29,12 +30,14 @@ func init() {
func stopCollector() {
+ checkControllerIP()
url := controllerIP + "/collector/stop"
resp, err := resty.R().
Get(url)
if err != nil {
- panic(err.Error())
+ fmt.Printf("Cannot connect to controller: %v\n", err)
+ os.Exit(1)
}
fmt.Printf("\n%v\n", resp)
}
diff --git a/clover/cloverctl/src/cloverctl/yaml/clovisor/clusterrolebinding.yaml b/clover/cloverctl/src/cloverctl/yaml/clovisor/clusterrolebinding.yaml
new file mode 100644
index 0000000..b8a364a
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/clovisor/clusterrolebinding.yaml
@@ -0,0 +1,15 @@
+---
+apiVersion: rbac.authorization.k8s.io/v1beta1
+kind: ClusterRoleBinding
+metadata:
+ name: serv-account-rbac-clovisor
+subjects:
+ - kind: ServiceAccount
+ # Reference to upper's `metadata.name`
+ name: default
+ # Reference to upper's `metadata.namespace`
+ namespace: clovisor
+roleRef:
+ kind: ClusterRole
+ name: cluster-admin
+ apiGroup: rbac.authorization.k8s.io
diff --git a/clover/cloverctl/src/cloverctl/yaml/clovisor/daemonset.yaml b/clover/cloverctl/src/cloverctl/yaml/clovisor/daemonset.yaml
new file mode 100644
index 0000000..4c845f6
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/clovisor/daemonset.yaml
@@ -0,0 +1,28 @@
+---
+apiVersion: extensions/v1beta1
+kind: DaemonSet
+metadata:
+ name: clovisor
+ namespace: clovisor
+spec:
+ selector:
+ matchLabels:
+ app: clovisor
+ template:
+ metadata:
+ name: clovisor
+ labels:
+ app: clovisor
+ spec:
+ hostNetwork: true
+ dnsPolicy: ClusterFirstWithHostNet
+ containers:
+ - name: clovisor
+ image: opnfv/clovisor
+ securityContext:
+ privileged: true
+ env:
+ - name: MY_NODE_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: spec.nodeName
diff --git a/clover/cloverctl/src/cloverctl/yaml/clovisor/serviceaccount.yaml b/clover/cloverctl/src/cloverctl/yaml/clovisor/serviceaccount.yaml
new file mode 100644
index 0000000..1fbbebb
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/clovisor/serviceaccount.yaml
@@ -0,0 +1,6 @@
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: clovisor
+ namespace: clovisor
diff --git a/clover/cloverctl/src/cloverctl/yaml/collector/deployment.yaml b/clover/cloverctl/src/cloverctl/yaml/collector/deployment.yaml
new file mode 100644
index 0000000..490fbbd
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/collector/deployment.yaml
@@ -0,0 +1,23 @@
+---
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: clover-collector
+ labels:
+ app: clover-collector
+ namespace: clover-system
+spec:
+ template:
+ metadata:
+ labels:
+ app: clover-collector
+ spec:
+ containers:
+ - name: clover-collector
+ image: opnfv/clover-collector:latest
+ ports:
+ - containerPort: 50054
+ - containerPort: 6379
+ - containerPort: 9090
+ - containerPort: 16686
+ - containerPort: 9042
diff --git a/clover/cloverctl/src/cloverctl/yaml/collector/service.yaml b/clover/cloverctl/src/cloverctl/yaml/collector/service.yaml
new file mode 100644
index 0000000..b84601b
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/collector/service.yaml
@@ -0,0 +1,22 @@
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: clover-collector
+ labels:
+ app: clover-collector
+ namespace: clover-system
+spec:
+ ports:
+ - port: 50054
+ name: grpc
+ - port: 6379
+ name: redis
+ - port: 16686
+ name: jaeger
+ - port: 9090
+ name: prometheus
+ - port: 9042
+ name: cassandra
+ selector:
+ app: clover-collector
diff --git a/clover/cloverctl/src/cloverctl/yaml/controller/deployment.yaml b/clover/cloverctl/src/cloverctl/yaml/controller/deployment.yaml
new file mode 100644
index 0000000..4f15b51
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/controller/deployment.yaml
@@ -0,0 +1,23 @@
+---
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: clover-controller
+ namespace: clover-system
+ labels:
+ app: "clover-controller"
+spec:
+ template:
+ metadata:
+ labels:
+ app: "clover-controller"
+ spec:
+ containers:
+ - name: clover-controller
+ image: opnfv/clover-controller:latest
+ ports:
+ - containerPort: 50052
+ - containerPort: 50054
+ - containerPort: 6379
+ - containerPort: 9042
+ - containerPort: 80
diff --git a/clover/cloverctl/src/cloverctl/yaml/controller/service_internal.yaml b/clover/cloverctl/src/cloverctl/yaml/controller/service_internal.yaml
new file mode 100644
index 0000000..8be95ee
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/controller/service_internal.yaml
@@ -0,0 +1,22 @@
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: clover-controller-internal
+ namespace: clover-system
+ labels:
+ app: clover-controller
+spec:
+ ports:
+ - name: http
+ port: 80
+ - name: grpc
+ port: 50052
+ - name: grpc-server
+ port: 50054
+ - name: redis
+ port: 6379
+ - name: cassandra
+ port: 9042
+ selector:
+ app: clover-controller
diff --git a/clover/cloverctl/src/cloverctl/yaml/controller/service_lb.yaml b/clover/cloverctl/src/cloverctl/yaml/controller/service_lb.yaml
new file mode 100644
index 0000000..2dcf5d1
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/controller/service_lb.yaml
@@ -0,0 +1,14 @@
+kind: Service
+apiVersion: v1
+metadata:
+ name: clover-controller
+ namespace: clover-system
+spec:
+ selector:
+ app: clover-controller
+ ports:
+ - name: http
+ protocol: TCP
+ port: 80
+ targetPort: 80
+ type: LoadBalancer
diff --git a/clover/cloverctl/src/cloverctl/yaml/controller/service_nodeport.yaml b/clover/cloverctl/src/cloverctl/yaml/controller/service_nodeport.yaml
new file mode 100644
index 0000000..a719204
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/controller/service_nodeport.yaml
@@ -0,0 +1,17 @@
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: clover-controller
+ labels:
+ app: clover-controller
+spec:
+ type: NodePort
+ ports:
+ - name: http
+ port: 80
+ targetPort: 80
+ nodePort: 32044
+ protocol: TCP
+ selector:
+ app: clover-controller
diff --git a/clover/cloverctl/src/cloverctl/yaml/datastore/cassandra_service.yaml b/clover/cloverctl/src/cloverctl/yaml/datastore/cassandra_service.yaml
new file mode 100644
index 0000000..12f7d14
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/datastore/cassandra_service.yaml
@@ -0,0 +1,14 @@
+---
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: cassandra
+ name: cassandra
+ namespace: clover-system
+spec:
+ clusterIP: None
+ ports:
+ - port: 9042
+ selector:
+ app: cassandra
diff --git a/clover/cloverctl/src/cloverctl/yaml/datastore/cassandra_statefulset.yaml b/clover/cloverctl/src/cloverctl/yaml/datastore/cassandra_statefulset.yaml
new file mode 100644
index 0000000..21ceb5f
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/datastore/cassandra_statefulset.yaml
@@ -0,0 +1,54 @@
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: cassandra
+ labels:
+ app: cassandra
+ namespace: clover-system
+spec:
+ serviceName: cassandra
+ replicas: 1
+ selector:
+ matchLabels:
+ app: cassandra
+ template:
+ metadata:
+ labels:
+ app: cassandra
+ spec:
+ terminationGracePeriodSeconds: 1800
+ containers:
+ - name: cassandra
+ image: cassandra:3
+ imagePullPolicy: Always
+ ports:
+ - containerPort: 7000
+ name: intra-node
+ - containerPort: 7001
+ name: tls-intra-node
+ - containerPort: 7199
+ name: jmx
+ - containerPort: 9042
+ name: cql
+ resources:
+ limits:
+ cpu: "4000m"
+ memory: 5Gi
+ requests:
+ cpu: "4000m"
+ memory: 5Gi
+ env:
+ - name: MAX_HEAP_SIZE
+ value: 512M
+ - name: HEAP_NEWSIZE
+ value: 100M
+ - name: CASSANDRA_SEEDS
+ value: "cassandra-0.cassandra.clover-system.svc.cluster.local"
+ - name: CASSANDRA_CLUSTER_NAME
+ value: "MyCassandraDemo"
+ - name: CASSANDRA_DC
+ value: "DC1-K8Demo"
+ - name: CASSANDRA_RACK
+ value: "Rack1-K8Demo"
+
diff --git a/clover/cloverctl/src/cloverctl/yaml/datastore/redis_pod.yaml b/clover/cloverctl/src/cloverctl/yaml/datastore/redis_pod.yaml
new file mode 100644
index 0000000..976fd97
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/datastore/redis_pod.yaml
@@ -0,0 +1,34 @@
+---
+apiVersion: v1
+kind: Pod
+metadata:
+ labels:
+ name: redis
+ redis-sentinel: "true"
+ role: master
+ name: redis
+spec:
+ containers:
+ - name: redis
+ image: k8s.gcr.io/redis:v1
+ env:
+ - name: MASTER
+ value: "true"
+ ports:
+ - containerPort: 6379
+ resources:
+ limits:
+ cpu: "0.1"
+ volumeMounts:
+ - mountPath: /redis-master-data
+ name: data
+ - name: sentinel
+ image: kubernetes/redis:v1
+ env:
+ - name: SENTINEL
+ value: "true"
+ ports:
+ - containerPort: 26379
+ volumes:
+ - name: data
+ emptyDir: {}
diff --git a/clover/cloverctl/src/cloverctl/yaml/datastore/redis_service.yaml b/clover/cloverctl/src/cloverctl/yaml/datastore/redis_service.yaml
new file mode 100644
index 0000000..7ecab14
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/datastore/redis_service.yaml
@@ -0,0 +1,10 @@
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: redis
+spec:
+ ports:
+ - port: 6379
+ selector:
+ name: redis
diff --git a/clover/cloverctl/src/cloverctl/yaml/idsrule_icmp.yaml b/clover/cloverctl/src/cloverctl/yaml/idsrule_icmp.yaml
new file mode 100644
index 0000000..44ece96
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/idsrule_icmp.yaml
@@ -0,0 +1,9 @@
+sid: "10000001"
+protocol: icmp
+dest_port: any
+dest_ip: $HOME_NET
+src_port: any
+src_ip: any
+msg: icmp_test
+rev: "001"
+content: ''
diff --git a/clover/cloverctl/src/cloverctl/yaml/jmeter/master_deployment.yaml b/clover/cloverctl/src/cloverctl/yaml/jmeter/master_deployment.yaml
new file mode 100644
index 0000000..a2d0cbb
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/jmeter/master_deployment.yaml
@@ -0,0 +1,21 @@
+---
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: clover-jmeter-master
+ labels:
+ app: clover-jmeter-master
+spec:
+ template:
+ metadata:
+ labels:
+ app: clover-jmeter-master
+ spec:
+ containers:
+ - name: clover-jmeter-master
+ image: opnfv/clover-jmeter-master:latest
+ ports:
+ - containerPort: 50054
+ - containerPort: 1099
+ - containerPort: 80
+ - containerPort: 443
diff --git a/clover/cloverctl/src/cloverctl/yaml/jmeter/master_service.yaml b/clover/cloverctl/src/cloverctl/yaml/jmeter/master_service.yaml
new file mode 100644
index 0000000..da1e5ce
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/jmeter/master_service.yaml
@@ -0,0 +1,19 @@
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: clover-jmeter-master
+ labels:
+ app: clover-jmeter-master
+spec:
+ ports:
+ - port: 50054
+ name: grpc
+ - port: 1099
+ name: rmi
+ - port: 80
+ name: http
+ - port: 443
+ name: https
+ selector:
+ app: clover-jmeter-master
diff --git a/clover/cloverctl/src/cloverctl/yaml/jmeter/slave_deployment.yaml b/clover/cloverctl/src/cloverctl/yaml/jmeter/slave_deployment.yaml
new file mode 100644
index 0000000..424828a
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/jmeter/slave_deployment.yaml
@@ -0,0 +1,21 @@
+---
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: clover-jmeter-slave
+ labels:
+ app: clover-jmeter-slave
+spec:
+ replicas: 3
+ template:
+ metadata:
+ labels:
+ app: clover-jmeter-slave
+ spec:
+ containers:
+ - name: clover-jmeter-slave
+ image: opnfv/clover-jmeter-slave:latest
+ ports:
+ - containerPort: 1099
+ - containerPort: 80
+ - containerPort: 443
diff --git a/clover/cloverctl/src/cloverctl/yaml/jmeter/slave_service.yaml b/clover/cloverctl/src/cloverctl/yaml/jmeter/slave_service.yaml
new file mode 100644
index 0000000..858191e
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/jmeter/slave_service.yaml
@@ -0,0 +1,17 @@
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: clover-jmeter-slave
+ labels:
+ app: clover-jmeter-slave
+spec:
+ ports:
+ - port: 1099
+ name: rmi
+ - port: 80
+ name: http
+ - port: 443
+ name: https
+ selector:
+ app: clover-jmeter-slave
diff --git a/clover/cloverctl/src/cloverctl/yaml/jmeter_testplan.yaml b/clover/cloverctl/src/cloverctl/yaml/jmeter_testplan.yaml
index 140e70f..92d53ea 100644
--- a/clover/cloverctl/src/cloverctl/yaml/jmeter_testplan.yaml
+++ b/clover/cloverctl/src/cloverctl/yaml/jmeter_testplan.yaml
@@ -1,11 +1,14 @@
load_spec:
- num_threads: 1
- loops: 1
+ num_threads: 5
+ loops: 2
ramp_time: 60
+ duration: 80
url_list:
- name: url1
url: http://proxy-access-control.default:9180
method: GET
+ user-agent: chrome
- name: url2
url: http://proxy-access-control.default:9180
method: GET
+ user-agent: safari
diff --git a/clover/cloverctl/src/cloverctl/yaml/lbv1.yaml b/clover/cloverctl/src/cloverctl/yaml/lbv1.yaml
new file mode 100644
index 0000000..3bb841d
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/lbv1.yaml
@@ -0,0 +1,9 @@
+server_port: "9180"
+server_name: "http-lb-v1"
+lb_name: "http-lb-v1.default"
+lb_group: "cloverlb"
+lb_path: "/"
+lb_list:
+ - url: "clover-server1:9180"
+ - url: "clover-server2:9180"
+ - url: "clover-server3:9180"
diff --git a/clover/cloverctl/src/cloverctl/yaml/lbv2.yaml b/clover/cloverctl/src/cloverctl/yaml/lbv2.yaml
new file mode 100644
index 0000000..7df9376
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/lbv2.yaml
@@ -0,0 +1,8 @@
+server_port: "9180"
+server_name: "http-lb-v2"
+lb_name: "http-lb-v2.default"
+lb_group: "cloverlb"
+lb_path: "/"
+lb_list:
+ - url: "clover-server4:9180"
+ - url: "clover-server5:9180"
diff --git a/clover/cloverctl/src/cloverctl/yaml/server.yaml b/clover/cloverctl/src/cloverctl/yaml/server.yaml
new file mode 100644
index 0000000..b44779a
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/server.yaml
@@ -0,0 +1,16 @@
+server_port: "9180"
+server_name: "clover-server1"
+site_root: "/var/www/html"
+site_index: index.html
+upload_path_config: "/upload"
+upload_path_test: "/upload_test"
+locations:
+ - uri_match: "/clover/testurl"
+ directive: "try_files $uri @default2"
+ path: "/clover/testurl"
+ - uri_match: "/test"
+ directive: "try_files $uri @default1"
+ path: "/test"
+files:
+ - src_file: "/var/www/html/upload/0000000001"
+ dest_file: "var/www/html/clover/testurl/file1.png"
diff --git a/clover/cloverctl/src/cloverctl/yaml/set_visibility.yaml b/clover/cloverctl/src/cloverctl/yaml/set_visibility.yaml
new file mode 100644
index 0000000..f88c673
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/set_visibility.yaml
@@ -0,0 +1,13 @@
+services:
+ - name: proxy_access_control
+ - name: clover_server1
+ - name: clover_server2
+ - name: clover_server3
+metric_prefixes:
+ - prefix: envoy_cluster_outbound_9180__
+ - prefix: envoy_cluster_inbound_9180__
+metric_suffixes:
+ - suffix: _default_svc_cluster_local_upstream_rq_2xx
+ - suffix: _default_svc_cluster_local_upstream_cx_active
+custom_metrics:
+ - metric: envoy_tracing_zipkin_spans_sent
diff --git a/clover/cloverctl/src/cloverctl/yaml/spark/clusterrolebinding.yaml b/clover/cloverctl/src/cloverctl/yaml/spark/clusterrolebinding.yaml
new file mode 100644
index 0000000..ec6b367
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/spark/clusterrolebinding.yaml
@@ -0,0 +1,13 @@
+---
+apiVersion: rbac.authorization.k8s.io/v1beta1
+kind: ClusterRoleBinding
+metadata:
+ name: clover-spark-default
+subjects:
+ - kind: ServiceAccount
+ name: default
+ namespace: clover-system
+roleRef:
+ kind: ClusterRole
+ name: cluster-admin
+ apiGroup: rbac.authorization.k8s.io
diff --git a/clover/cloverctl/src/cloverctl/yaml/spark/clusterrolebinding_spark.yaml b/clover/cloverctl/src/cloverctl/yaml/spark/clusterrolebinding_spark.yaml
new file mode 100644
index 0000000..be02e6f
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/spark/clusterrolebinding_spark.yaml
@@ -0,0 +1,14 @@
+---
+apiVersion: rbac.authorization.k8s.io/v1beta1
+kind: ClusterRoleBinding
+metadata:
+ name: clover-spark
+subjects:
+ - kind: ServiceAccount
+ name: clover-spark
+ namespace: clover-system
+roleRef:
+ kind: ClusterRole
+ name: cluster-admin
+ apiGroup: rbac.authorization.k8s.io
+---
diff --git a/clover/cloverctl/src/cloverctl/yaml/spark/deployment.yaml b/clover/cloverctl/src/cloverctl/yaml/spark/deployment.yaml
new file mode 100644
index 0000000..d6c2d59
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/spark/deployment.yaml
@@ -0,0 +1,17 @@
+---
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: clover-spark-submit
+ namespace: clover-system
+ labels:
+ app: clover-spark
+spec:
+ template:
+ metadata:
+ labels:
+ app: clover-spark
+ spec:
+ containers:
+ - name: clover-spark
+ image: opnfv/clover-spark-submit:latest
diff --git a/clover/cloverctl/src/cloverctl/yaml/spark/serviceaccount.yaml b/clover/cloverctl/src/cloverctl/yaml/spark/serviceaccount.yaml
new file mode 100644
index 0000000..14bc316
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/spark/serviceaccount.yaml
@@ -0,0 +1,6 @@
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: clover-spark
+ namespace: clover-system
diff --git a/clover/cloverctl/src/cloverctl/yaml/start_visibility.yaml b/clover/cloverctl/src/cloverctl/yaml/start_visibility.yaml
new file mode 100644
index 0000000..f27f0c6
--- /dev/null
+++ b/clover/cloverctl/src/cloverctl/yaml/start_visibility.yaml
@@ -0,0 +1,5 @@
+sample_interval: "2"
+t_host: tracing.istio-system
+t_port: "80"
+m_port: "9090"
+m_host: prometheus.istio-system
diff --git a/clover/cloverctl/src/cloverctl/yaml/visibility.yaml b/clover/cloverctl/src/cloverctl/yaml/visibility.yaml
deleted file mode 100644
index 20264d2..0000000
--- a/clover/cloverctl/src/cloverctl/yaml/visibility.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-sample_interval: "10"
-#t_host: jaeger-deployment.istio-system
-#t_port: "16686"
-t_host: jaeger-query.istio-system
-t_port: "80"
-m_port: "9090"
-m_host: prometheus.istio-system
diff --git a/clover/cloverctl/src/cloverkube/main.go b/clover/cloverctl/src/cloverkube/main.go
index 7710a13..bcda990 100644
--- a/clover/cloverctl/src/cloverkube/main.go
+++ b/clover/cloverctl/src/cloverkube/main.go
@@ -15,20 +15,22 @@ import (
"io/ioutil"
"io"
"bytes"
+ "github.com/ghodss/yaml"
+ "encoding/json"
appsv1 "k8s.io/api/apps/v1"
+ v1beta1 "k8s.io/api/apps/v1beta1"
+ v1beta1ext "k8s.io/api/extensions/v1beta1"
apiv1 "k8s.io/api/core/v1"
+ rbacv1 "k8s.io/api/rbac/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/tools/clientcmd"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/client-go/tools/remotecommand"
-
)
func setClient() kubernetes.Interface {
-
-
kubeconfig := filepath.Join(
os.Getenv("HOME"), ".kube", "config",
)
@@ -45,257 +47,222 @@ func setClient() kubernetes.Interface {
return clientset
}
-func setControllerDeploy () (*appsv1.Deployment, *apiv1.Service) {
-
- deployment := &appsv1.Deployment{
- ObjectMeta: metav1.ObjectMeta{
- Name: "clover-controller",
- },
- Spec: appsv1.DeploymentSpec{
- Selector: &metav1.LabelSelector{
- MatchLabels: map[string]string{
- "app": "clover-controller",
- },
- },
- Template: apiv1.PodTemplateSpec{
- ObjectMeta: metav1.ObjectMeta{
- Labels: map[string]string{
- "app": "clover-controller",
- },
- },
- Spec: apiv1.PodSpec{
- Containers: []apiv1.Container{
- {
- Name: "clover-controller",
- Image: "localhost:5000/clover-controller:latest",
- Ports: []apiv1.ContainerPort{
- {
- Name: "redis",
- Protocol: apiv1.ProtocolTCP,
- ContainerPort: 6379,
- },
- {
- Name: "grpc",
- Protocol: apiv1.ProtocolTCP,
- ContainerPort: 50054,
- },
- {
- Name: "gprcsecurity",
- Protocol: apiv1.ProtocolTCP,
- ContainerPort: 50052,
- },
- {
- Name: "cassandra",
- Protocol: apiv1.ProtocolTCP,
- ContainerPort: 9042,
- },
-
-
- },
- },
- },
- },
- },
- },
+// Create various K8s resources
+func CreateResource(input_yaml string, resource_type string,
+ image string, namespace string) {
+ if namespace == "" {
+ namespace = "clover-system"
+ }
+ // Check path from cloverctl first
+ exe_path, err := os.Executable()
+ abs_input_yaml := strings.Replace(exe_path, "cloverctl", "", -1) +
+ "/yaml/" + input_yaml
+ if _, err := os.Stat(abs_input_yaml); !os.IsNotExist(err) {
+ input_yaml = abs_input_yaml
+ }
+ in, err := ioutil.ReadFile(input_yaml)
+ if err != nil {
+ fmt.Println("Please specify a valid manifest yaml file")
+ return
+ }
+ out_json, err := yaml.YAMLToJSON(in)
+ if err != nil {
+ panic(err.Error())
}
- service := &apiv1.Service{
- ObjectMeta: metav1.ObjectMeta{
- Name: "clover-controller",
- Labels: map[string]string{
- "app": "clover-controller",
- },
-
- },
- Spec: apiv1.ServiceSpec{
- Selector: map[string]string{
- "app": "clover-controller",
- },
- Type: "NodePort",
- Ports: []apiv1.ServicePort{
- {
- Name: "http",
- Port: 80,
- NodePort: 32044,
- Protocol: "TCP",
- },
- },
- },
+ switch resource_type {
+ case "deployment":
+ deploy := v1beta1.Deployment{}
+ err = json.Unmarshal(out_json, &deploy)
+ deploy.Spec.Template.Spec.Containers[0].Image = image
+ CreateDeployment(&deploy, namespace)
+ fmt.Printf("Image: %s\n",
+ deploy.Spec.Template.Spec.Containers[0].Image)
+ case "service":
+ service := apiv1.Service{}
+ err = json.Unmarshal(out_json, &service)
+ CreateService(&service, namespace)
+ case "serviceaccount":
+ sa := apiv1.ServiceAccount{}
+ err = json.Unmarshal(out_json, &sa)
+ CreateServiceAccount(&sa, namespace)
+ case "clusterrolebinding":
+ clusterrolebinding := rbacv1.ClusterRoleBinding{}
+ err = json.Unmarshal(out_json, &clusterrolebinding)
+ CreateCRB(&clusterrolebinding)
+ case "statefulset":
+ statefulset := appsv1.StatefulSet{}
+ err = json.Unmarshal(out_json, &statefulset)
+ CreateStatefulSet(&statefulset, namespace)
+ case "pod":
+ pod := apiv1.Pod{}
+ err = json.Unmarshal(out_json, &pod)
+ CreatePod(&pod, namespace)
+ case "daemonset":
+ daemon := v1beta1ext.DaemonSet{}
+ err = json.Unmarshal(out_json, &daemon)
+ daemon.Spec.Template.Spec.Containers[0].Image = image
+ CreateDaemonSet(&daemon, namespace)
+ fmt.Printf("Image: %s\n",
+ daemon.Spec.Template.Spec.Containers[0].Image)
+
+ default:
+ fmt.Println("No resource selected")
}
+}
- return deployment, service
+// Delete K8s resources
+func DeleteResource(deploy_name string, resource_type string,
+ namespace string) {
+ clientset := setClient()
+ deletePolicy := metav1.DeletePropagationForeground
+ switch resource_type {
+ case "deployment":
+ deploymentsClient := clientset.AppsV1().Deployments(namespace)
+ if err := deploymentsClient.Delete(deploy_name,
+ &metav1.DeleteOptions{
+ PropagationPolicy: &deletePolicy,
+ }); err != nil {
+ fmt.Printf("Error deleting %v: %v\n", resource_type, err)
+ return
+ }
+ case "service":
+ servicesClient := clientset.CoreV1().Services(namespace)
+ if err := servicesClient.Delete(deploy_name, &metav1.DeleteOptions{
+ PropagationPolicy: &deletePolicy,
+ }); err != nil {
+ fmt.Printf("Error deleting %v: %v\n", resource_type, err)
+ return
+ }
+ case "serviceaccount":
+ saClient := clientset.CoreV1().ServiceAccounts(namespace)
+ if err := saClient.Delete(deploy_name, &metav1.DeleteOptions{
+ PropagationPolicy: &deletePolicy,
+ }); err != nil {
+ fmt.Printf("Error deleting %v: %v\n", resource_type, err)
+ return
+ }
+ case "clusterrolebinding":
+ crbClient := clientset.RbacV1().ClusterRoleBindings()
+ if err := crbClient.Delete(deploy_name, &metav1.DeleteOptions{
+ PropagationPolicy: &deletePolicy,
+ }); err != nil {
+ fmt.Printf("Error deleting %v: %v\n", resource_type, err)
+ return
+ }
+ case "statefulset":
+ statefulClient := clientset.AppsV1().StatefulSets(namespace)
+ if err := statefulClient.Delete(deploy_name, &metav1.DeleteOptions{
+ PropagationPolicy: &deletePolicy,
+ }); err != nil {
+ fmt.Printf("Error deleting %v: %v\n", resource_type, err)
+ return
+ }
+ case "pod":
+ podClient := clientset.CoreV1().Pods(namespace)
+ if err := podClient.Delete(deploy_name, &metav1.DeleteOptions{
+ PropagationPolicy: &deletePolicy,
+ }); err != nil {
+ fmt.Printf("Error deleting %v: %v\n", resource_type, err)
+ return
+ }
+ case "daemonset":
+ daemonsClient := clientset.AppsV1().DaemonSets(namespace)
+ if err := daemonsClient.Delete(deploy_name,
+ &metav1.DeleteOptions{
+ PropagationPolicy: &deletePolicy,
+ }); err != nil {
+ fmt.Printf("Error deleting %v: %v\n", resource_type, err)
+ return
+ }
+ }
+ fmt.Printf("Deleted %s %s\n", deploy_name, resource_type)
}
-func setCollectorDeploy () (*appsv1.Deployment, *apiv1.Service) {
-
- deployment := &appsv1.Deployment{
- ObjectMeta: metav1.ObjectMeta{
- Name: "clover-collector",
- },
- Spec: appsv1.DeploymentSpec{
- Selector: &metav1.LabelSelector{
- MatchLabels: map[string]string{
- "app": "clover-collector",
- },
- },
- Template: apiv1.PodTemplateSpec{
- ObjectMeta: metav1.ObjectMeta{
- Labels: map[string]string{
- "app": "clover-collector",
- },
- },
- Spec: apiv1.PodSpec{
- Containers: []apiv1.Container{
- {
- Name: "clover-collector",
- Image: "localhost:5000/clover-collector:latest",
- Ports: []apiv1.ContainerPort{
- {
- Name: "redis",
- Protocol: apiv1.ProtocolTCP,
- ContainerPort: 6379,
- },
- {
- Name: "grpc",
- Protocol: apiv1.ProtocolTCP,
- ContainerPort: 50054,
- },
- {
- Name: "prometheus",
- Protocol: apiv1.ProtocolTCP,
- ContainerPort: 9090,
- },
- {
- Name: "jaeger",
- Protocol: apiv1.ProtocolTCP,
- ContainerPort: 16686,
- },
- {
- Name: "cassandra",
- Protocol: apiv1.ProtocolTCP,
- ContainerPort: 9042,
- },
-
-
- },
- },
- },
- },
- },
- },
+// Create ServiceAccount
+func CreateServiceAccount(sa *apiv1.ServiceAccount, namespace string) {
+ clientset := setClient()
+ saClient := clientset.CoreV1().ServiceAccounts(namespace)
+ result, err := saClient.Create(sa)
+ if err != nil {
+ fmt.Printf("Error creating serviceaccount: %v\n", err); return
}
+ fmt.Printf("Created serviceaccount %q.\n",
+ result.GetObjectMeta().GetName())
+}
- service := &apiv1.Service{
- ObjectMeta: metav1.ObjectMeta{
- Name: "clover-collector",
- Labels: map[string]string{
- "app": "clover-collector",
- },
-
- },
- Spec: apiv1.ServiceSpec{
- Selector: map[string]string{
- "app": "clover-collector",
- },
- Ports: []apiv1.ServicePort{
- {
- Name: "grpc",
- Port: 50054,
- },
- {
- Name: "redis",
- Port: 6379,
- },
- {
- Name: "prometheus",
- Port: 9090,
- },
- {
- Name: "jaeger",
- Port: 16686,
- },
- {
- Name: "cassandra",
- Port: 9042,
- },
-
- },
- },
+// Create ClusterRoleBinding
+func CreateCRB(sa *rbacv1.ClusterRoleBinding) {
+ clientset := setClient()
+ crbClient := clientset.RbacV1().ClusterRoleBindings()
+ result, err := crbClient.Create(sa)
+ if err != nil {
+ fmt.Printf("Error creating clusterrolebinding: %v\n", err); return
}
- return deployment, service
+ fmt.Printf("Created clusterrolebinding %q.\n",
+ result.GetObjectMeta().GetName())
}
-func DeployCloverSystem(action string, namespace string) {
- if action == "create" {
- // Create clover-system namespace
- configNamespace("clover-system", "create")
- // Controller
- deployment, service := setControllerDeploy()
- DeployService(deployment, service, namespace)
- // Collector
- deployment, service = setCollectorDeploy()
- DeployService(deployment, service, namespace)
- } else if action == "delete" {
- fmt.Println("Deleting clover-system services...\n")
- DeleteService("clover-controller", namespace)
- DeleteService("clover-collector", namespace)
- configNamespace("clover-system", "delete")
+// Create DaemonSet
+func CreateDaemonSet(daemonset *v1beta1ext.DaemonSet, namespace string) {
+ clientset := setClient()
+ daemonsClient := clientset.ExtensionsV1beta1().DaemonSets(namespace)
+ result, err := daemonsClient.Create(daemonset)
+ if err != nil {
+ fmt.Printf("Error creating daemonset: %v\n", err); return
}
-
+ fmt.Printf("Created daemonset %q.\n", result.GetObjectMeta().GetName())
}
-func DeleteService(deploy_name string, namespace string) {
-
+// Create Deployment
+func CreateDeployment(deployment *v1beta1.Deployment, namespace string) {
clientset := setClient()
- deploymentsClient := clientset.AppsV1().Deployments(namespace)
- servicesClient := clientset.CoreV1().Services(namespace)
-
- // Delete Deployment
- deletePolicy := metav1.DeletePropagationForeground
- if err := deploymentsClient.Delete(deploy_name, &metav1.DeleteOptions{
- PropagationPolicy: &deletePolicy,
- }); err != nil {
- panic(err)
+ deploymentsClient := clientset.AppsV1beta1().Deployments(namespace)
+ result, err := deploymentsClient.Create(deployment)
+ if err != nil {
+ fmt.Printf("Error creating deployment: %v\n", err); return
}
- fmt.Printf("Deleted %s deployment\n", deploy_name)
+ fmt.Printf("Created deployment %q.\n", result.GetObjectMeta().GetName())
+}
- // Delete Service
- if err := servicesClient.Delete(deploy_name, &metav1.DeleteOptions{
- PropagationPolicy: &deletePolicy,
- }); err != nil {
- panic(err)
+// Create StatefulSet
+func CreateStatefulSet(statefulset *appsv1.StatefulSet, namespace string) {
+ clientset := setClient()
+ statefulsetClient := clientset.AppsV1().StatefulSets(namespace)
+ result, err := statefulsetClient.Create(statefulset)
+ if err != nil {
+ fmt.Printf("Error creating statefulset: %v\n", err); return
}
- fmt.Printf("Deleted %s service\n", deploy_name)
+ fmt.Printf("Created statefulset %q.\n", result.GetObjectMeta().GetName())
}
-func DeployService(deployment *appsv1.Deployment, service *apiv1.Service, namespace string) {
-
+// Create Pod
+func CreatePod(pod *apiv1.Pod, namespace string) {
clientset := setClient()
- deploymentsClient := clientset.AppsV1().Deployments(namespace)
-
-
- // Create Deployment
- fmt.Println("Creating deployment...")
- result, err := deploymentsClient.Create(deployment)
+ podClient := clientset.CoreV1().Pods(namespace)
+ result, err := podClient.Create(pod)
if err != nil {
+ fmt.Printf("Error creating pod: %v\n", err); return
panic(err)
}
- fmt.Printf("Created deployment %q.\n", result.GetObjectMeta().GetName())
+ fmt.Printf("Created pod %q.\n", result.GetObjectMeta().GetName())
+}
- // Create Service
- fmt.Println("Creating service...")
+// Create Service
+func CreateService(service *apiv1.Service, namespace string) {
+ clientset := setClient()
servicesClient := clientset.CoreV1().Services(namespace)
result1, err := servicesClient.Create(service)
if err != nil {
- panic(err)
+ fmt.Printf("Error creating service: %v\n", err); return
}
- fmt.Printf("Created service %q.\n", result1.GetObjectMeta().GetName())
-
+ fmt.Printf("Created service %q\n", result1.GetObjectMeta().GetName())
}
-func configNamespace (name string, action string) {
+// Create or delete namespace
+func ConfigNamespace (name string, action string) {
clientset := setClient()
nameClient := clientset.CoreV1().Namespaces()
@@ -312,7 +279,7 @@ func configNamespace (name string, action string) {
if err := nameClient.Delete(name, &metav1.DeleteOptions{
PropagationPolicy: &deletePolicy,
}); err != nil {
- panic(err)
+ fmt.Printf("Error deleting namespace: %v\n", err); return
}
fmt.Printf("Deleted %s namespace\n", name)
}
@@ -330,13 +297,12 @@ func GetServices() *apiv1.ServiceList {
fmt.Printf("Kind: %s\n", service.Kind)
fmt.Printf("Labels: %s\n", service.GetLabels())
fmt.Printf("Type: %s\n", service.Spec.Type)
- //fmt.Printf("External IP: %v\n", service.Spec.ExternalIPs)
fmt.Printf("Cluster IP: %s\n", service.Spec.ClusterIP)
for _, port := range service.Spec.Ports {
- fmt.Printf("Port Name: %s, Port# %d, NodePort: %d\n", port.Name, port.Port, port.NodePort)
+ fmt.Printf("Port Name: %s, Port# %d, NodePort: %d\n",
+ port.Name, port.Port, port.NodePort)
}
-
for _, ip := range service.Status.LoadBalancer.Ingress {
fmt.Printf("LB IP: %s \n", ip.IP)
}
@@ -345,7 +311,6 @@ func GetServices() *apiv1.ServiceList {
}
func GetDeployments(namespace string) []appsv1.Deployment {
-
clientset := setClient()
deploymentsClient := clientset.AppsV1().Deployments(namespace)
@@ -360,7 +325,6 @@ func GetDeployments(namespace string) []appsv1.Deployment {
}
func GetServicesPortIP(service_name string) (int32, string) {
-
clientset := setClient()
services, err := clientset.Core().Services("").List(metav1.ListOptions{})
var nodeport int32
@@ -382,7 +346,6 @@ func GetServicesPortIP(service_name string) (int32, string) {
}
}
}
-
return nodeport, ipaddress
}
diff --git a/clover/clovisor/Dockerfile b/clover/clovisor/Dockerfile
new file mode 100644
index 0000000..06ddd23
--- /dev/null
+++ b/clover/clovisor/Dockerfile
@@ -0,0 +1,19 @@
+FROM ubuntu:18.04
+
+# the following is the Linux version for GKE for k8s 1.11.4-gke.8
+ARG TARGET_KERNEL_VER="linux-headers-4.15.0-1023-gcp"
+
+RUN set -ex; \
+ echo "deb [trusted=yes] http://repo.iovisor.org/apt/bionic bionic main" > /etc/apt/sources.list.d/iovisor.list; \
+ apt-get update -y; \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y \
+ auditd \
+ bcc-tools \
+ $TARGET_KERNEL_VER \
+ libelf1;
+
+COPY . .
+COPY bin/clovisor .
+RUN chmod +x clovisor
+
+CMD ["./clovisor"]
diff --git a/clover/clovisor/bin/clovisor b/clover/clovisor/bin/clovisor
new file mode 100755
index 0000000..c601de3
--- /dev/null
+++ b/clover/clovisor/bin/clovisor
Binary files differ
diff --git a/clover/clovisor/build-docker b/clover/clovisor/build-docker
new file mode 100755
index 0000000..4f776ec
--- /dev/null
+++ b/clover/clovisor/build-docker
@@ -0,0 +1,20 @@
+#!/bin/bash
+#
+# Copyright (c) Authors of Clover
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+if [ -z "$1" ]
+ then
+ kernel_ver=linux-headers-`uname -r`
+ else
+ kernel_ver=$1
+fi
+cp bin/clovisor .
+docker build --build-arg TARGET_KERNEL_VER=$kernel_ver -t clovisor .
+docker tag clovisor localhost:5000/clovisor
+docker push localhost:5000/clovisor
+#docker tag clovisor s3wong/clovisor
+#docker push s3wong/clovisor
diff --git a/clover/clovisor/build.sh b/clover/clovisor/build.sh
new file mode 100755
index 0000000..95c0768
--- /dev/null
+++ b/clover/clovisor/build.sh
@@ -0,0 +1,49 @@
+# Copyright (c) Authors of Clover
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+
+GOVERSION=1.12
+OS=linux
+ARCH=amd64
+GOPATH=/home/s3wong/go
+GOLANGUNIXVERSION=release-branch.go1.11
+CLIENTGOVERSION=v10.0.0
+
+SRCDIR=`pwd`
+
+wget https://dl.google.com/go/go$GOVERSION.$OS-$ARCH.tar.gz
+sudo tar -C /usr/local -xzf go$GOVERSION.$OS-$ARCH.tar.gz
+export PATH=$PATH:/usr/local/go/bin
+export PATH=$GOPATH/bin:$PATH
+
+sudo apt install -y gcc
+sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D4284CDD
+echo "deb https://repo.iovisor.org/apt/bionic bionic main" | sudo tee /etc/apt/sources.list.d/iovisor.list
+sudo apt-get update -y
+sudo apt-get install -y bcc-tools libbcc-examples linux-headers-$(uname -r)
+
+go get github.com/google/gopacket
+go get github.com/iovisor/gobpf
+go get github.com/opentracing/opentracing-go
+go get github.com/pkg/errors
+go get github.com/go-redis/redis
+go get github.com/uber/jaeger-client-go
+go get github.com/vishvananda/netlink
+go get github.com/vishvananda/netns
+go get golang.org/x/sys/unix
+cd $GOPATH/src/golang.org/x/sys/unix
+git checkout $GOLANGUNIXVERSION
+
+go get github.com/tools/godep
+go get k8s.io/client-go/...
+cd $GOPATH/src/k8s.io/client-go
+git checkout $CLIENTGOVERSION
+godep restore ./...
+
+#cd $SRCDIR/libclovisor
+#go build .
+#cd ../
+#go build -o clovisor .
diff --git a/clover/clovisor/clovisor.yaml b/clover/clovisor/clovisor.yaml
new file mode 100644
index 0000000..7d5e43b
--- /dev/null
+++ b/clover/clovisor/clovisor.yaml
@@ -0,0 +1,55 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+ name: clovisor
+ labels:
+ name: clovisor
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: clovisor
+ namespace: clovisor
+---
+apiVersion: rbac.authorization.k8s.io/v1beta1
+kind: ClusterRoleBinding
+metadata:
+ name: serv-account-rbac-clovisor
+subjects:
+ - kind: ServiceAccount
+ # Reference to upper's `metadata.name`
+ name: default
+ # Reference to upper's `metadata.namespace`
+ namespace: clovisor
+roleRef:
+ kind: ClusterRole
+ name: cluster-admin
+ apiGroup: rbac.authorization.k8s.io
+---
+apiVersion: extensions/v1beta1
+kind: DaemonSet
+metadata:
+ name: clovisor
+ namespace: clovisor
+spec:
+ selector:
+ matchLabels:
+ app: clovisor
+ template:
+ metadata:
+ name: clovisor
+ labels:
+ app: clovisor
+ spec:
+ hostNetwork: true
+ dnsPolicy: ClusterFirstWithHostNet
+ containers:
+ - name: clovisor
+ image: localhost:5000/clovisor
+ securityContext:
+ privileged: true
+ env:
+ - name: MY_NODE_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: spec.nodeName
diff --git a/clover/clovisor/clovisor_main.go b/clover/clovisor/clovisor_main.go
new file mode 100644
index 0000000..b8e6508
--- /dev/null
+++ b/clover/clovisor/clovisor_main.go
@@ -0,0 +1,77 @@
+// Copyright (c) Authors of Clover
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Apache License, Version 2.0
+// which accompanies this distribution, and is available at
+// http://www.apache.org/licenses/LICENSE-2.0
+
+package main
+
+import (
+ "fmt"
+ "io/ioutil"
+ "os"
+ "os/signal"
+ "path/filepath"
+ "syscall"
+
+ clovisor "./libclovisor"
+)
+
+var podMonitoringMap map[string]*clovisor.ClovisorBCC
+
+func main() {
+ node_name := os.Getenv("MY_NODE_NAME")
+
+ ex, err := os.Executable()
+ if err != nil {
+ fmt.Println(err.Error())
+ } else {
+ exPath := filepath.Dir(ex)
+ fmt.Printf("Current Working Directory is %v\n", exPath)
+ files, _ := ioutil.ReadDir(exPath)
+ for _, f := range files {
+ fmt.Printf("%v ",f.Name())
+ }
+ fmt.Printf("\n")
+ }
+
+ clovisor.Monitor_proto_plugin_cfg()
+
+ clovisor.ClovisorPhyInfSetup()
+
+ podMonitoringMap = make(map[string]*clovisor.ClovisorBCC)
+
+ clovisor_k8s_client, err := clovisor.K8s_client_init(node_name)
+ if err != nil {
+ fmt.Printf("Clovisor to Kubernetes connectivity failed: %v\n", err)
+ return
+ }
+ fmt.Printf("Clovisor got k8s client succeed\n")
+
+ monitoring_info_map, err := clovisor_k8s_client.Get_monitoring_info(node_name)
+ if err != nil {
+ fmt.Printf("Clovisor getting monitoring info failed: %v\n", err)
+ return
+ }
+ fmt.Printf("Clovisor get monitoring info succeed: %v\n", monitoring_info_map)
+
+ for pod := range monitoring_info_map {
+ podMon, err := clovisor.ClovisorNewPodInit(clovisor_k8s_client, node_name,
+ pod, monitoring_info_map[pod])
+ if err != nil {
+ fmt.Printf("Clovisor monitoring pod %s failed: %v\n", pod, err)
+ continue
+ }
+ podMonitoringMap[pod] = podMon
+ }
+
+ sig := make(chan os.Signal, 1)
+ signal.Notify(sig, os.Interrupt, os.Kill, syscall.SIGTERM)
+ <-sig
+ for pod := range podMonitoringMap {
+ fmt.Printf("Send stop pod to pod %v\n", pod)
+ podMonitoringMap[pod].StopPod()
+ }
+}
+
diff --git a/clover/clovisor/libclovisor/clovisor_bcc.go b/clover/clovisor/libclovisor/clovisor_bcc.go
new file mode 100644
index 0000000..8f9a7bf
--- /dev/null
+++ b/clover/clovisor/libclovisor/clovisor_bcc.go
@@ -0,0 +1,948 @@
+// Copyright (c) Authors of Clover
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Apache License, Version 2.0
+// which accompanies this distribution, and is available at
+// http://www.apache.org/licenses/LICENSE-2.0
+
+package clovisor
+
+import (
+ "encoding/hex"
+ //"encoding/json"
+ "bytes"
+ "encoding/binary"
+ "errors"
+ "fmt"
+ "io/ioutil"
+ "net"
+ //"net/http"
+ "plugin"
+ "strconv"
+ "strings"
+ "time"
+
+ //"github.com/go-redis/redis"
+ "github.com/google/gopacket"
+ "github.com/google/gopacket/layers"
+ "github.com/iovisor/gobpf/bcc"
+ opentracing "github.com/opentracing/opentracing-go"
+ "github.com/vishvananda/netlink"
+
+ "golang.org/x/sys/unix"
+)
+
+/*
+#cgo CFLAGS: -I/usr/include/bcc/compat
+#cgo LDFLAGS: -lbcc
+#include <bcc/bcc_common.h>
+#include <bcc/libbpf.h>
+*/
+import "C"
+
+type Parser interface {
+ Parse(session_key string, is_req bool, data []byte)([]byte, map[string]string)
+}
+
+type ClovisorBCC struct {
+ stopChan chan bool
+ // TODO(s3wong): remove once k8s watcher available
+ qdisc *netlink.GenericQdisc
+}
+
+type session_key_t struct {
+ src_ip uint32
+ dst_ip uint32
+ src_port uint16
+ dst_port uint16
+}
+
+type session_t struct {
+ Req_time uint64
+ Resp_time uint64
+}
+
+type egress_match_t struct {
+ dst_ip uint32
+ dst_port uint16
+}
+
+type egress_match_cfg struct {
+ egress_match egress_match_t
+ action string
+ params string
+}
+
+type session_info_t struct {
+ done bool
+ service string
+ generalInfo map[string]string
+ traces []map[string]string
+ reqBuf []byte
+ respBuf []byte
+}
+
+const (
+ HTTP = 1 << iota
+ HTTP2 = 1 << iota
+ TCP = 1 << iota
+ UDP = 1 << iota
+)
+
+//var sessionMap map[string]map[string]string;
+var sessionMap map[string]*session_info_t;
+var protocolParser = map[string]Parser{};
+var defaultModPath = map[string]string{
+ "http": "/proto/http.so",
+}
+var tracerMap = map[string]opentracing.Tracer{};
+
+var veth_ifidx_command = "cat /sys/class/net/eth0/iflink";
+
+var protocolMap = map[string]int{
+ "http": 1,
+ "http2": 2,
+ "tcp": 3,
+ "udp": 4,
+}
+
+var traceTable string = "NetworkTraces"
+
+/*
+ * redisConnect: redis client connecting to redis server
+func redisConnect() *redis.Client {
+ client := redis.NewClient(&redis.Options{
+ Addr: fmt.Sprintf("%s:6379", redisServer),
+ Password: "",
+ DB: 0,
+ })
+ return client
+}
+ */
+
+func linkSetup(ifname string) netlink.Link {
+ link, err := netlink.LinkByName(ifname)
+ netlink.LinkSetUp(link)
+ if err != nil {
+ fmt.Println(err)
+ return nil
+ }
+ return link
+}
+
+/*
+ * dumpBPFTable: for debug purpose
+ */
+func dumpBPFTable(table *bcc.Table) {
+ iterator := table.Iter()
+ if iterator == nil {
+ fmt.Printf("Table %v does not exist\n", table.Name())
+ } else {
+ for iterator.Next() {
+ key_str, _ := table.KeyBytesToStr(iterator.Key())
+ leaf_str, _ := table.LeafBytesToStr(iterator.Leaf())
+ fmt.Printf("table %v key: %v leaf: %v\n", table.Name(), key_str, leaf_str)
+ }
+ }
+}
+
+func loadProtoParser(protocol string, update bool) error {
+ var modPath = ""
+
+ if !update {
+ if _, ok := protocolParser[protocol]; ok {
+ fmt.Printf("Found parse function for protocol %s\n", protocol)
+ return nil
+ }
+ }
+
+ client := redisConnect()
+
+ redisResult := client.HGet(ProtoCfg, protocol)
+ if redisResult.Err() == nil {
+ if len(redisResult.Val()) > 0 {
+ modPath = redisResult.Val()
+ }
+ }
+ if len(modPath) == 0 {
+ if _, ok := defaultModPath[protocol]; ok {
+ modPath = defaultModPath[protocol]
+ } else {
+ return errors.New(fmt.Sprintf("Unable to find module path for protocol %s", protocol))
+ }
+ }
+
+ fmt.Printf("Loading plugin for protocol %v with %v\n", protocol, modPath)
+
+ plug, err := plugin.Open(modPath)
+ if err != nil {
+ fmt.Println(err)
+ return err
+ }
+
+ symParse, err := plug.Lookup("Parser")
+ if err != nil {
+ fmt.Println(err)
+ return err
+ }
+
+ var parser Parser
+ parser, ok := symParse.(Parser)
+ if !ok {
+ fmt.Printf("Unexpected type from mod %s symbol parse\n", modPath)
+ return errors.New(fmt.Sprintf("Wrong type for func parse from %s", modPath))
+ }
+
+ protocolParser[protocol] = parser
+ return nil
+}
+
+func print_network_traces() {
+ /*
+ client := redisConnect()
+
+ traces, err := client.HGetAll(traceTable).Result()
+ if err != nil {
+ fmt.Printf("Error retriving traces from redis: %v\n", err.Error())
+ return
+ }
+ */
+ /*
+ structure:
+ "done": "true",
+ "traces": array of protocol traces
+ [0] : "admin": map[string]string
+ [1] : "ipv4 or ipv6": map[string]string
+ [2] : "tcp or udp": map[string]string
+ [3] : "http"...
+ */
+ /*
+ for key, value := range traces {
+ traceMap := map[string]interface{}
+ json.Unmarshal([]byte(value), &traceMap)
+ if _, ok := traceMap["done"]; ok {
+ span := tracer.StartSpan(fmt.Sprintf("tracing-%s", key))
+ for idx, trace := range traceMap["traces"] {
+ span.SetTag(fmt.Sprintf("protocol-%d", idx), trace['protocol'])
+ for tag, tagVal := range trace {
+ if tag == "protocol" {
+ continue
+ }
+ span.SetTag(tag, tagVal)
+ }
+ }
+ span.Finish()
+ ret := client.HDel(traceTable, key)
+ if ret.Err() != nil {
+ fmt.Printf("Error deleting %v from %v: %v\n", key, traceTable, ret.Err())
+ }
+ }
+ }
+ */
+ for key, value := range sessionMap {
+ if value.done {
+ tracer := tracerMap[value.service]
+ span := tracer.StartSpan(fmt.Sprintf("tracing-%s", key))
+ for genTag, genVal := range value.generalInfo {
+ fmt.Printf("general info writing %v: %v\n", genTag, genVal)
+ span.SetTag(genTag, genVal)
+ }
+ for idx, trace := range value.traces {
+ span.SetTag(fmt.Sprintf("protocol-%d", idx), trace["protocol"])
+ for tag, tagVal := range trace {
+ if tag == "protocol" {
+ continue
+ }
+ fmt.Printf("%v writing %v: %v\n", trace["protocol"], tag, tagVal)
+ span.SetTag(tag, tagVal)
+ }
+ }
+ span.Finish()
+ delete(sessionMap, key)
+ }
+ }
+}
+
+func handle_skb_event(data *[]byte, node_name string, pod_name string,
+ session_table *bcc.Table,
+ monitoring_info *monitoring_info_t,
+ egress_match_list []egress_match_t,
+ svc_name string) (error) {
+ //fmt.Printf("monitoring info has %v\n", monitoring_info)
+ fmt.Printf("\n\nnode[%s] pod[%s]\n%s\n", node_name, pod_name, hex.Dump(*data))
+ var ipproto layers.IPProtocol
+ var src_ip, dst_ip uint32
+ var src_port, dst_port uint16
+ var session_key, src_ip_str, dst_ip_str string
+ is_req := false
+ proto := HTTP
+ is_ingress:= binary.LittleEndian.Uint32((*data)[0:4])
+ packet := gopacket.NewPacket((*data)[4:len(*data)],
+ layers.LayerTypeEthernet,
+ gopacket.Default)
+ if ipv4_layer := packet.Layer(layers.LayerTypeIPv4); ipv4_layer != nil {
+ ipv4, _ := ipv4_layer.(*layers.IPv4)
+ src_ip_str = ipv4.SrcIP.String()
+ dst_ip_str = ipv4.DstIP.String()
+ ipproto = ipv4.Protocol
+ fmt.Printf("Source: %s Dest: %s\n", src_ip_str, dst_ip_str)
+ // Note: the src_ip and dst_ip var here are ONLY being used as
+ // lookup key to eBPF hash table, hence preserving network
+ // byte order
+ src_ip = binary.BigEndian.Uint32(ipv4.SrcIP)
+ dst_ip = binary.BigEndian.Uint32(ipv4.DstIP)
+ }
+ tcp_layer := packet.Layer(layers.LayerTypeTCP)
+ if tcp_layer != nil {
+ tcp, _ := tcp_layer.(*layers.TCP)
+ fmt.Printf("From src port %d to dst port %d [%v]: FIN:%v|SYN:%v|RST:%v|PSH:%v|ACK:%v|URG:%v|ECE:%v|CWR:%v|NS:%v\n",
+ tcp.SrcPort, tcp.DstPort, tcp.DataOffset, tcp.FIN, tcp.SYN,
+ tcp.RST, tcp.PSH, tcp.ACK, tcp.URG, tcp.ECE, tcp.CWR, tcp.NS)
+ //src_port := binary.LittleEndian.Uint16(uint16(tcp.SrcPort))
+ //dst_port := binary.LittleEndian.Uint16(uint16(tcp.DstPort))
+ src_port = uint16(tcp.SrcPort)
+ dst_port = uint16(tcp.DstPort)
+ } else {
+ fmt.Printf("Non-TCP packet, skip tracing...\n")
+ return nil
+ }
+ fmt.Printf("proto: %d is_ingress: %d data length %v\n", proto, is_ingress, len(*data))
+ fmt.Println("dst_port is ", dst_port)
+ if dst_port == 0 {
+ return nil
+ }
+ // TODO(s3wong): dump table
+ dumpBPFTable(session_table)
+ egress_port_req := false
+ for _, port := range egress_match_list {
+ if port.dst_port == dst_port {
+ egress_port_req = true
+ break
+ }
+ }
+ if dst_port == uint16(monitoring_info.port_num) || egress_port_req {
+ is_req = true
+ }
+ if is_req {
+ session_key = fmt.Sprintf("%x:%x:%d:%d:%d", src_ip, dst_ip, ipproto,
+ src_port, dst_port)
+ } else {
+ session_key = fmt.Sprintf("%x:%x:%d:%d:%d", dst_ip, src_ip, ipproto,
+ dst_port, src_port)
+ }
+ var sess_map *session_info_t
+ if _, ok := sessionMap[session_key]; !ok {
+ sess_map = &session_info_t{}
+ sess_map.done = false
+ sess_map.service = svc_name
+ sess_map.generalInfo = make(map[string]string)
+ sess_map.traces = []map[string]string{}
+ sess_map.reqBuf = []byte{}
+ sess_map.respBuf = []byte{}
+ sessionMap[session_key] = sess_map
+ zero := strconv.Itoa(0)
+ sessionMap[session_key].generalInfo["reqpakcount"] = zero
+ sessionMap[session_key].generalInfo["reqbytecount"] = zero
+ sessionMap[session_key].generalInfo["resppakcount"] = zero
+ sessionMap[session_key].generalInfo["respbytecount"] = zero
+ sessionMap[session_key].generalInfo["nodename"] = node_name
+ sessionMap[session_key].generalInfo["podname"] = pod_name
+ } else {
+ sess_map = sessionMap[session_key]
+ }
+
+ curr_pak_count := 0
+ curr_byte_count := 0
+ map_val := sess_map.generalInfo
+ if is_req {
+ curr_pak_count, _ = strconv.Atoi(map_val["reqpakcount"])
+ curr_byte_count, _ = strconv.Atoi(map_val["reqbytecount"])
+ } else {
+ curr_pak_count, _ = strconv.Atoi(map_val["resppakcount"])
+ curr_byte_count, _ = strconv.Atoi(map_val["respbytecount"])
+ }
+ curr_pak_count++
+ curr_byte_count += len(packet.Data())
+ if is_req {
+ map_val["reqpakcount"] = strconv.Itoa(curr_pak_count)
+ map_val["reqbytecount"] = strconv.Itoa(curr_byte_count)
+ } else {
+ map_val["resppakcount"] = strconv.Itoa(curr_pak_count)
+ map_val["respbytecount"] = strconv.Itoa(curr_byte_count)
+ }
+
+ if is_req {
+ // TODO (s3wong): just do IPv4 and TCP without using the plugin for now
+ // the condition check itself is cheating also...
+ if len(sess_map.traces) <= 1 {
+ ipv4Map := make(map[string]string)
+ ipv4Map["protocol"] = "IPv4"
+ ipv4Map["srcip"] = src_ip_str
+ ipv4Map["dstip"] = dst_ip_str
+ sess_map.traces = append(sess_map.traces, ipv4Map)
+ tcpMap := make(map[string]string)
+ tcpMap["protocol"] = "TCP"
+ tcpMap["srcport"] = fmt.Sprintf("%d", src_port)
+ tcpMap["dstport"] = fmt.Sprintf("%d", dst_port)
+ sess_map.traces = append(sess_map.traces, tcpMap)
+ }
+ }
+
+ var dataptr []byte
+ app_layer := packet.ApplicationLayer()
+ errStr := ""
+ if app_layer != nil {
+ if is_req {
+ dataptr = append(sess_map.reqBuf, app_layer.Payload()...)
+ } else {
+ dataptr = append(sess_map.respBuf, app_layer.Payload()...)
+ }
+ for _, protocol := range monitoring_info.protocols {
+ if _, ok := protocolParser[protocol]; ok {
+ parser := protocolParser[protocol]
+ new_dataptr, parseMap := parser.Parse(session_key, is_req,
+ dataptr)
+ if parseMap != nil {
+ protocolTag := strings.ToUpper(protocol)
+ merged := false
+ for _, existing := range sess_map.traces {
+ if existing["protocol"] == protocolTag {
+ for k, v := range parseMap {
+ existing[k] = v
+ }
+ merged = true
+ break
+ }
+ }
+ if !merged {
+ parseMap["protocol"] = strings.ToUpper(protocol)
+ sess_map.traces = append(sess_map.traces, parseMap)
+ }
+ dataptr = new_dataptr
+ } else {
+ // offset to packet is off, no need to continue
+ // parsing, return error
+ errStr = fmt.Sprintf("Error: unable to parse protocol %v", protocol)
+ fmt.Println(errStr)
+ //return errors.New(errStr)
+ break
+ }
+ }
+ }
+ } else {
+ fmt.Printf("No application layer, TCP packet\n")
+ return nil
+ }
+
+ if len(errStr) > 0 {
+ // buffer
+ if is_req {
+ sess_map.reqBuf = append([]byte(nil), dataptr...)
+ } else {
+ sess_map.respBuf = append([]byte(nil), dataptr...)
+ }
+ //sessionMap[session_key] = sess_map
+ } else {
+ session_key := session_key_t {
+ src_ip: dst_ip,
+ dst_ip: src_ip,
+ src_port: dst_port,
+ dst_port: src_port,
+ }
+ key_buf := &bytes.Buffer{}
+ err := binary.Write(key_buf, binary.LittleEndian, session_key)
+ if err != nil {
+ fmt.Println(err)
+ return nil
+ }
+ key := append([]byte(nil), key_buf.Bytes()...)
+ if leaf, err := session_table.Get(key); err != nil {
+ fmt.Printf("Failed to lookup key %v with err %v\n", session_key, err)
+ return nil
+ } else {
+ var duration uint64 = 0
+ leaf_buf := bytes.NewBuffer(leaf)
+ if leaf_buf == nil {
+ fmt.Println("Error: unable to allocate new byte buffer")
+ return nil
+ }
+ session := session_t{}
+ if err = binary.Read(leaf_buf, binary.LittleEndian, &session);
+ err != nil {
+ fmt.Println(err)
+ return nil
+ }
+ if session.Resp_time == 0 {
+ fmt.Printf("session response time not set yet\n")
+ } else {
+ duration = (session.Resp_time - session.Req_time)/1000
+ fmt.Printf("session time : %v\n", session)
+ fmt.Printf("Duration: %d usec\n", duration)
+ }
+ map_val["duration"] = fmt.Sprintf("%v usec", duration)
+
+ node, node_session, err := getNodeIntfSession(session_key)
+ if err == nil {
+ map_val["node-interface"] = node
+ map_val["node-request-ts"] = fmt.Sprintf("%v", node_session.Req_time)
+ map_val["node-response-ts"] = fmt.Sprintf("%v", node_session.Resp_time)
+ delNodeIntfSession(node, key)
+ } else {
+ fmt.Printf("Session not found in any node interface... posssibly local?")
+ }
+
+ if duration > 0 {
+ sess_map.done = true
+ err := session_table.Delete(key)
+ if err != nil {
+ fmt.Printf("Error deleting key %v: %v\n", key, err)
+ return err
+ }
+ }
+ }
+ }
+
+ return nil
+}
+
+func setTrafficTable(traffic_table *bcc.Table, port_num int, protocol_id string, dump_table bool) error {
+ key, _ := traffic_table.KeyStrToBytes(strconv.Itoa(port_num))
+ leaf, _ := traffic_table.LeafStrToBytes(strconv.Itoa(protocolMap[protocol_id]))
+ if err := traffic_table.Set(key, leaf); err != nil {
+ fmt.Printf("Failed to set traffic table tcpdports: %v\n", err)
+ return err
+ }
+ if dump_table {
+ dumpBPFTable(traffic_table)
+ }
+ return nil
+}
+
+func setEgressTable(egress_table *bcc.Table,
+ egress_match_list []egress_match_t,
+ action int,
+ dump_table bool) error {
+ for _, egress_match := range egress_match_list {
+ key_buf := &bytes.Buffer{}
+ err := binary.Write(key_buf, binary.LittleEndian, egress_match)
+ if err != nil {
+ fmt.Printf("Error converting key %v into binary: %v\n", egress_match, err)
+ continue
+ }
+ key := append([]byte(nil), key_buf.Bytes()...)
+ leaf, _ := egress_table.LeafStrToBytes(strconv.Itoa(action))
+ if err := egress_table.Set(key, leaf); err != nil {
+ fmt.Printf("Failed to add key %v:%v to egress table: %v\n", key,leaf,err)
+ return err
+ }
+ }
+ if dump_table {
+ dumpBPFTable(egress_table)
+ }
+ return nil
+}
+
+var nodeintfFilterList = [...]string {"lo", "veth", "docker", "flannel"}
+
+func filterNodeIntf(intf string) bool {
+ for _, substring := range nodeintfFilterList {
+ if strings.Contains(intf, substring) {
+ return false
+ }
+ }
+ return true
+}
+
+type nodeIntf struct {
+ bpfMod *bcc.Module
+ ipTrackTable *bcc.Table
+ sessionTable *bcc.Table
+}
+
+var nodeIntfMap = map[string]*nodeIntf{}
+
+func setupNodeIntf(ifindex int) (*nodeIntf, error) {
+ buf, err := ioutil.ReadFile("libclovisor/ebpf/node_interface.c")
+ if err != nil {
+ fmt.Println(err)
+ return nil, err
+ }
+ code := string(buf)
+
+ bpf_mod := bcc.NewModule(code, []string{})
+
+ ingress_fn, err := bpf_mod.Load("handle_ingress",
+ C.BPF_PROG_TYPE_SCHED_CLS,
+ 1, 65536)
+ if err != nil {
+ fmt.Printf("Failed to load node interface ingress func: %v\n", err)
+ return nil, err
+ }
+
+ egress_fn, err := bpf_mod.Load("handle_egress",
+ C.BPF_PROG_TYPE_SCHED_CLS,
+ 1, 65536)
+ if err != nil {
+ fmt.Printf("Failed to load node interface egress func: %v\n", err)
+ return nil, err
+ }
+
+ ip_track_table := bcc.NewTable(bpf_mod.TableId("ip2track"), bpf_mod)
+ node_sess_table := bcc.NewTable(bpf_mod.TableId("node_sessions"), bpf_mod)
+
+ // check if qdisc clsact filter for this interface already exists
+ link, err := netlink.LinkByIndex(ifindex)
+ if err != nil {
+ fmt.Println(err)
+ } else {
+ qdiscs, err := netlink.QdiscList(link)
+ if err == nil {
+ for _, qdisc_ := range qdiscs {
+ if qdisc_.Type() == "clsact" {
+ netlink.QdiscDel(qdisc_)
+ break
+ }
+ }
+ }
+ }
+
+ attrs := netlink.QdiscAttrs {
+ LinkIndex: ifindex,
+ Handle: netlink.MakeHandle(0xffff, 0),
+ Parent: netlink.HANDLE_CLSACT,
+ }
+
+ qdisc := &netlink.GenericQdisc {
+ QdiscAttrs: attrs,
+ QdiscType: "clsact",
+ }
+
+ if err := netlink.QdiscAdd(qdisc); err != nil {
+ fmt.Println(err)
+ return nil, err
+ }
+
+ ingress_filter_attrs := netlink.FilterAttrs{
+ LinkIndex: ifindex,
+ Parent: netlink.MakeHandle(0xffff, 0xfff3),
+ Priority: 1,
+ Protocol: unix.ETH_P_ALL,
+ }
+ ingress_filter := &netlink.BpfFilter{
+ FilterAttrs: ingress_filter_attrs,
+ Fd: ingress_fn,
+ Name: "handle_ingress",
+ DirectAction: true,
+ }
+ if ingress_filter.Fd < 0 {
+ fmt.Println("Failed to load node interface ingress bpf program")
+ return nil, err
+ }
+
+ if err := netlink.FilterAdd(ingress_filter); err != nil {
+ fmt.Println(err)
+ return nil, err
+ }
+
+ egress_filter_attrs := netlink.FilterAttrs{
+ LinkIndex: ifindex,
+ Parent: netlink.MakeHandle(0xffff, 0xfff2),
+ Priority: 1,
+ Protocol: unix.ETH_P_ALL,
+ }
+ egress_filter := &netlink.BpfFilter{
+ FilterAttrs: egress_filter_attrs,
+ Fd: egress_fn,
+ Name: "handle_egress",
+ DirectAction: true,
+ }
+ if egress_filter.Fd < 0 {
+ fmt.Println("Failed to load node interface egress bpf program")
+ return nil, err
+ }
+
+ if err := netlink.FilterAdd(egress_filter); err != nil {
+ fmt.Println(err)
+ return nil, err
+ }
+
+ ip_track_table.DeleteAll()
+ node_sess_table.DeleteAll()
+
+ return &nodeIntf{
+ bpfMod: bpf_mod,
+ ipTrackTable: ip_track_table,
+ sessionTable: node_sess_table,
+ }, nil
+}
+
+func ClovisorPhyInfSetup() error {
+ intfList, err := net.Interfaces()
+ if err != nil {
+ fmt.Printf("Failed to get node interfaces: %v\n", err)
+ return err
+ }
+
+ for _, f := range intfList {
+ if !filterNodeIntf(f.Name) {
+ continue
+ }
+ fmt.Printf("Tracking node interface %v w/ index %v\n", f.Name, f.Index)
+ bpf_node_intf, err := setupNodeIntf(f.Index)
+ if err != nil {
+ fmt.Printf("Failed to set up node interface %v: %v\n", f.Name, err)
+ return err
+ }
+ nodeIntfMap[f.Name] = bpf_node_intf
+ }
+ return nil
+}
+
+func setIPTrackingTable(table *bcc.Table, ipaddr uint32, action int) error {
+ key, _ := table.KeyStrToBytes(strconv.Itoa(int(ipaddr)))
+ leaf, _ := table.LeafStrToBytes(strconv.Itoa(action))
+ if err := table.Set(key, leaf); err != nil {
+ fmt.Printf("Failed to set IP tracking table: %v\n", err)
+ return err
+ }
+ dumpBPFTable(table)
+ return nil
+}
+
+func setNodeIntfTrackingIP(ipaddr uint32) {
+ for name, node_intf := range nodeIntfMap {
+ err := setIPTrackingTable(node_intf.ipTrackTable, ipaddr, 1)
+ if err != nil {
+ fmt.Printf("Failed to add ip address %v to node interface %v: %v\n", backtoIP4(int64(ipaddr)), name, err)
+ }
+ }
+}
+
+func getNodeIntfSession(session_key session_key_t) (string, *session_t, error) {
+ key_buf := &bytes.Buffer{}
+ binary.Write(key_buf, binary.LittleEndian, session_key)
+ key := append([]byte(nil), key_buf.Bytes()...)
+
+ for node, node_intf := range nodeIntfMap {
+ fmt.Printf("For node interface %v... ", node)
+ //dumpBPFTable(node_intf.sessionTable)
+ if leaf, err := node_intf.sessionTable.Get(key); err == nil {
+ leaf_buf := bytes.NewBuffer(leaf)
+ session := session_t{}
+ binary.Read(leaf_buf, binary.LittleEndian, &session)
+ return node, &session, nil
+ }
+ }
+ return "", nil, errors.New("session not found")
+}
+
+func delNodeIntfSession(node_iname string, key []byte) error {
+ nodeIntf := nodeIntfMap[node_iname]
+ err := nodeIntf.sessionTable.Delete(key)
+ if err != nil {
+ fmt.Printf("Error deleting session %v from node interface %v: %v\n",
+ key, node_iname, err)
+ }
+ return err
+}
+
+func ClovisorNewPodInit(k8s_client *ClovisorK8s,
+ node_name string,
+ pod_name string,
+ monitoring_info *monitoring_info_t) (*ClovisorBCC, error) {
+
+ output, err := k8s_client.exec_command(veth_ifidx_command, monitoring_info)
+ if err != nil {
+ return nil, err
+ }
+
+ ifindex , err := strconv.Atoi(output)
+ if err != nil {
+ fmt.Printf("Error converting %v to ifindex, error: %v\n", output, err.Error())
+ return nil, err
+ }
+
+ sessionMap = map[string]*session_info_t{};
+
+ fmt.Printf("Beginning network tracing for pod %v\n", pod_name)
+
+ buf, err := ioutil.ReadFile("libclovisor/ebpf/session_tracking.c")
+ if err != nil {
+ fmt.Println(err)
+ return nil, err
+ }
+ code := string(buf)
+
+ bpf_mod := bcc.NewModule(code, []string{})
+ //defer bpf_mod.Close()
+
+ ingress_fn, err := bpf_mod.Load("handle_ingress",
+ C.BPF_PROG_TYPE_SCHED_CLS,
+ 1, 65536)
+ if err != nil {
+ fmt.Println("Failed to load ingress func: %v\n", err)
+ return nil, err
+ }
+ fmt.Println("Loaded Ingress func to structure")
+
+ egress_fn, err := bpf_mod.Load("handle_egress",
+ C.BPF_PROG_TYPE_SCHED_CLS,
+ 1, 65536)
+ if err != nil {
+ fmt.Println("Failed to load egress func: %v\n", err)
+ return nil, err
+ }
+
+ fmt.Println("Loaded Egress func to structure")
+
+ traffic_table := bcc.NewTable(bpf_mod.TableId("dports2proto"), bpf_mod)
+ if err := setTrafficTable(traffic_table, int(monitoring_info.port_num),
+ monitoring_info.protocols[0], true);
+ err != nil {
+ fmt.Printf("Error on setting traffic port")
+ return nil, err
+ }
+
+ egress_match_list := get_egress_match_list(pod_name)
+
+ egress_table := bcc.NewTable(bpf_mod.TableId("egress_lookup_table"), bpf_mod)
+ if egress_match_list != nil {
+ if err := setEgressTable(egress_table, egress_match_list, 1, true); err != nil {
+ return nil, err
+ }
+ }
+
+ session_table := bcc.NewTable(bpf_mod.TableId("sessions"), bpf_mod)
+
+ // check if qdisc clsact filter for this interface already exists
+ link, err := netlink.LinkByIndex(ifindex)
+ if err != nil {
+ fmt.Println(err)
+ } else {
+ qdiscs, err := netlink.QdiscList(link)
+ if err == nil {
+ for _, qdisc := range qdiscs {
+ if qdisc.Type() == "clsact" {
+ netlink.QdiscDel(qdisc)
+ break
+ }
+ }
+ }
+ }
+
+ attrs := netlink.QdiscAttrs {
+ LinkIndex: ifindex,
+ Handle: netlink.MakeHandle(0xffff, 0),
+ Parent: netlink.HANDLE_CLSACT,
+ }
+
+ qdisc := &netlink.GenericQdisc {
+ QdiscAttrs: attrs,
+ QdiscType: "clsact",
+ }
+
+ if err := netlink.QdiscAdd(qdisc); err != nil {
+ fmt.Println(err)
+ return nil, err
+ }
+
+ fmt.Printf("Qdisc for clsact added for index %v\n", ifindex)
+
+ ingress_filter_attrs := netlink.FilterAttrs{
+ LinkIndex: ifindex,
+ Parent: netlink.MakeHandle(0xffff, 0xfff3),
+ Priority: 1,
+ Protocol: unix.ETH_P_ALL,
+ }
+ ingress_filter := &netlink.BpfFilter{
+ FilterAttrs: ingress_filter_attrs,
+ Fd: ingress_fn,
+ Name: "handle_ingress",
+ DirectAction: true,
+ }
+ if ingress_filter.Fd < 0 {
+ fmt.Println("Failed to load ingress bpf program")
+ return nil, err
+ }
+
+ if err := netlink.FilterAdd(ingress_filter); err != nil {
+ fmt.Println(err)
+ return nil, err
+ }
+
+ egress_filter_attrs := netlink.FilterAttrs{
+ LinkIndex: ifindex,
+ Parent: netlink.MakeHandle(0xffff, 0xfff2),
+ Priority: 1,
+ Protocol: unix.ETH_P_ALL,
+ }
+ egress_filter := &netlink.BpfFilter{
+ FilterAttrs: egress_filter_attrs,
+ Fd: egress_fn,
+ Name: "handle_egress",
+ DirectAction: true,
+ }
+ if egress_filter.Fd < 0 {
+ fmt.Println("Failed to load egress bpf program")
+ return nil, err
+ }
+
+ if err := netlink.FilterAdd(egress_filter); err != nil {
+ fmt.Println(err)
+ return nil, err
+ }
+
+ setNodeIntfTrackingIP(ip2Long(monitoring_info.pod_ip))
+
+ table := bcc.NewTable(bpf_mod.TableId("skb_events"), bpf_mod)
+
+ skb_rev_chan := make(chan []byte)
+
+ perfMap, err := bcc.InitPerfMap(table, skb_rev_chan)
+ if err != nil {
+ fmt.Println(err)
+ return nil, err
+ }
+
+ stop := make(chan bool)
+ go func() {
+ fmt.Printf("Start tracing to Jaeger with service %v\n", monitoring_info.svc_name)
+ tracer, closer := initJaeger(monitoring_info.svc_name)
+ tracerMap[monitoring_info.svc_name] = tracer
+ ticker := time.NewTicker(500 * time.Millisecond)
+ for {
+ select {
+ case <- ticker.C:
+ print_network_traces()
+ case data := <-skb_rev_chan:
+ err = handle_skb_event(&data, node_name, pod_name, session_table,
+ monitoring_info, egress_match_list,
+ monitoring_info.svc_name)
+ if err != nil {
+ fmt.Printf("failed to decode received data: %s\n", err)
+ }
+ case <- stop:
+ fmt.Printf("Receiving stop for pod %v\n", pod_name)
+ ticker.Stop()
+ perfMap.Stop()
+ closer.Close()
+ // TODO(s3wong): uncomment remove qdisc del once k8s watcher implemented
+ //netlink.QdiscDel(qdisc)
+ bpf_mod.Close()
+ return
+ }
+ }
+ }()
+
+ perfMap.Start()
+ return &ClovisorBCC{
+ stopChan: stop,
+ qdisc: qdisc,
+ }, nil
+}
+
+func (clovBcc *ClovisorBCC) StopPod() {
+ // TODO(s3wong): remove qdisc del once k8s watcher implemented
+ netlink.QdiscDel(clovBcc.qdisc)
+ clovBcc.stopChan <- true
+}
diff --git a/clover/clovisor/libclovisor/clovisor_cfg.go b/clover/clovisor/libclovisor/clovisor_cfg.go
new file mode 100644
index 0000000..ca3200e
--- /dev/null
+++ b/clover/clovisor/libclovisor/clovisor_cfg.go
@@ -0,0 +1,189 @@
+// Copyright (c) Authors of Clover
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Apache License, Version 2.0
+// which accompanies this distribution, and is available at
+// http://www.apache.org/licenses/LICENSE-2.0
+
+package clovisor
+
+import (
+ "bytes"
+ "encoding/binary"
+ "fmt"
+ "io"
+ "net"
+ "strconv"
+ "strings"
+
+ "github.com/go-redis/redis"
+ opentracing "github.com/opentracing/opentracing-go"
+ jaeger "github.com/uber/jaeger-client-go"
+ jaeger_config "github.com/uber/jaeger-client-go/config"
+)
+
+var redisServer string = "redis.clovisor"
+var jaegerCollector string = "jaeger-collector.clovisor:14268"
+var jaegerAgent string = "jaeger-agent.clovisor:6831"
+var ProtoCfg string = "clovisor_proto_cfg"
+var protoPluginCfgChan string = "clovisor_proto_plugin_cfg_chan"
+
+/*
+ * redisConnect: redis client connecting to redis server
+ */
+func redisConnect() *redis.Client {
+ client := redis.NewClient(&redis.Options{
+ Addr: fmt.Sprintf("%s:6379", redisServer),
+ Password: "",
+ DB: 0,
+ })
+ return client
+}
+
+func get_cfg_labels(node_name string) ([]string, error) {
+ client := redisConnect()
+ defer client.Close()
+ labels_list, err := client.LRange("clovisor_labels", 0, -1).Result()
+ if err != nil {
+ fmt.Println(err.Error())
+ return nil, err
+ }
+
+ return labels_list, err
+}
+
+func parse_label_cfg(label_cfg string) (string, string, string) {
+ label_slice := strings.Split(label_cfg, ":")
+ if len(label_slice) == 1 {
+ return label_slice[0], "", ""
+ }
+ return label_slice[0], label_slice[1], label_slice[2]
+}
+
+func get_egress_match_list(pod_name string) ([]egress_match_t) {
+ client := redisConnect()
+ defer client.Close()
+ egress_cfg_list, err := client.LRange("clovior_egress_match", 0, -1).Result()
+ if err != nil {
+ fmt.Println(err.Error())
+ return nil
+ }
+ ret_list := make([]egress_match_t, 0, len(egress_cfg_list))
+ for _, em_cfg_str := range(egress_cfg_list) {
+ fmt.Printf("egress match cfg == %v\n", em_cfg_str)
+ em_cfg_slice := strings.Split(em_cfg_str, ":")
+ if len(em_cfg_slice) < 2 {
+ fmt.Printf("egress match config requires at least two fields [%v]\n", em_cfg_slice)
+ continue
+ } else if len(em_cfg_slice) == 3 {
+ if strings.Contains(pod_name, em_cfg_slice[2]) {
+ fmt.Printf("%v != %v, filtering out this config for pod %v\n",
+ em_cfg_slice[2], pod_name, pod_name)
+ continue
+ }
+ }
+ var ip uint32 = 0
+ if em_cfg_slice[0] != "0" {
+ ip = ip2Long(em_cfg_slice[0])
+ }
+ port_32, _ := strconv.Atoi(em_cfg_slice[1])
+ port := uint16(port_32)
+ ret_list = append(ret_list, egress_match_t{ip, port})
+ }
+ return ret_list
+}
+
+// following function comes from
+// https://www.socketloop.com/tutorials/golang-convert-ip-address-string-to-long-unsigned-32-bit-integer
+func ip2Long(ip string) uint32 {
+ var long uint32
+ //binary.Read(bytes.NewBuffer(net.ParseIP(ip).To4()), binary.LittleEndian, &long)
+ binary.Read(bytes.NewBuffer(net.ParseIP(ip).To4()), binary.BigEndian, &long)
+ return long
+}
+
+func backtoIP4(ipInt int64) string {
+ // need to do two bit shifting and “0xff” masking
+ b0 := strconv.FormatInt((ipInt>>24)&0xff, 10)
+ b1 := strconv.FormatInt((ipInt>>16)&0xff, 10)
+ b2 := strconv.FormatInt((ipInt>>8)&0xff, 10)
+ b3 := strconv.FormatInt((ipInt & 0xff), 10)
+ return b0 + "." + b1 + "." + b2 + "." + b3
+}
+
+func get_cfg_session_match() ([]egress_match_cfg, error) {
+ var ret_list []egress_match_cfg
+ client := redisConnect()
+ defer client.Close()
+ keys, err := client.HKeys("clovisor_session_match").Result()
+ if err != nil {
+ fmt.Println(err.Error())
+ return nil, err
+ }
+ for _, key := range keys {
+ value, err := client.HGet("clovisor_session_match", key).Result()
+ if err != nil {
+ fmt.Println(err.Error())
+ continue
+ }
+ match_slice := strings.Split(key, "-")
+ dst_ip := ip2Long(match_slice[0])
+ dst_port, _ := strconv.Atoi(match_slice[1])
+ egress_match := egress_match_t{
+ dst_ip: dst_ip,
+ dst_port: uint16(dst_port),
+ }
+ // organize into internally understandable struct
+ ret_list = append(ret_list, egress_match_cfg{
+ egress_match: egress_match,
+ action: value,
+ })
+ }
+ return ret_list, nil
+}
+
+func initJaeger(service string) (opentracing.Tracer, io.Closer) {
+ cfg := &jaeger_config.Configuration{
+ Sampler: &jaeger_config.SamplerConfig{
+ Type: "const",
+ Param: 1,
+ },
+ Reporter: &jaeger_config.ReporterConfig{
+ LogSpans: true,
+ CollectorEndpoint: fmt.Sprintf("http://%s/api/traces", jaegerCollector),
+ LocalAgentHostPort: fmt.Sprintf("%s", jaegerAgent),
+ },
+ }
+ tracer, closer, err := cfg.New(service, jaeger_config.Logger(jaeger.StdLogger))
+ if err != nil {
+ panic(fmt.Sprintf("ERROR: cannot init Jaeger: %v\n", err))
+ }
+ return tracer, closer
+}
+
+func get_jaeger_server() (string, error) {
+ client := redisConnect()
+ defer client.Close()
+ return client.Get("clovisor_jaeger_server").Result()
+}
+
+func Monitor_proto_plugin_cfg() {
+ client := redisConnect()
+ //defer client.Close()
+
+ pubsub := client.Subscribe(protoPluginCfgChan)
+ //defer pubsub.Close()
+
+ go func() {
+ for {
+ msg, err := pubsub.ReceiveMessage()
+ if err != nil {
+ fmt.Printf("Error getting protocol plugin configuration: %v\n", err)
+ return
+ }
+
+ fmt.Printf("Update on protocol %v notification received\n", msg.Payload)
+ loadProtoParser(msg.Payload, true)
+ }
+ }()
+}
diff --git a/clover/clovisor/libclovisor/clovisor_k8s.go b/clover/clovisor/libclovisor/clovisor_k8s.go
new file mode 100644
index 0000000..a53e308
--- /dev/null
+++ b/clover/clovisor/libclovisor/clovisor_k8s.go
@@ -0,0 +1,272 @@
+// Copyright (c) Authors of Clover
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Apache License, Version 2.0
+// which accompanies this distribution, and is available at
+// http://www.apache.org/licenses/LICENSE-2.0
+
+package clovisor
+
+import (
+ "bytes"
+ "errors"
+ "fmt"
+ "strconv"
+ "strings"
+
+ core_v1 "k8s.io/api/core/v1"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/apimachinery/pkg/labels"
+ "k8s.io/apimachinery/pkg/runtime"
+ "k8s.io/client-go/kubernetes"
+ "k8s.io/client-go/rest"
+ "k8s.io/client-go/tools/remotecommand"
+)
+
+type ClovisorK8s struct {
+ client *kubernetes.Clientset
+ config *rest.Config
+}
+
+type monitoring_info_t struct {
+ namespace string
+ svc_name string
+ pod_name string
+ container_name string
+ protocols []string
+ port_num uint32
+ pod_ip string
+}
+
+var DEFAULT_NAMESPACE = "default"
+var SUPPORTED_PROTOCOLS = [...]string {"tcp", "http"}
+
+func K8s_client_init(nodeName string) (*ClovisorK8s, error) {
+ config, err := rest.InClusterConfig()
+ if err != nil {
+ fmt.Println(err.Error())
+ return nil, err
+ }
+
+ client, err := kubernetes.NewForConfig(config)
+ if err != nil {
+ fmt.Println(err.Error())
+ return nil, err
+ }
+
+ return &ClovisorK8s{
+ client: client,
+ config: config,
+ }, nil
+}
+
+func (client *ClovisorK8s) Get_monitoring_info(nodeName string) (map[string]*monitoring_info_t,
+ error) {
+
+ labels_list, err := get_cfg_labels(nodeName)
+ if err != nil {
+ fmt.Printf("Error getting cfg labels: %v\n", err)
+ return nil, err
+ }
+
+ mon_info_map := client.get_monitoring_pods(nodeName, labels_list)
+ if mon_info_map == nil {
+ return nil, errors.New("monitoring info empty")
+ }
+
+ return mon_info_map, nil
+}
+
+func (client *ClovisorK8s) getPodsForSvc(svc *core_v1.Service,
+ namespace string) (*core_v1.PodList, error) {
+ set := labels.Set(svc.Spec.Selector)
+ //label := strings.Split(set.AsSelector().String(), ",")[0]
+ //fmt.Printf("Trying to get pods for service %v with label %v from %v\n", svc.GetName(), label, set.AsSelector().String())
+ listOptions := metav1.ListOptions{LabelSelector: set.AsSelector().String()}
+ //listOptions := metav1.ListOptions{LabelSelector: label}
+ return client.client.CoreV1().Pods(namespace).List(listOptions)
+}
+
+func (client *ClovisorK8s) get_monitoring_pods(nodeName string,
+ labels_list []string) (map[string]*monitoring_info_t) {
+ /*
+ * Three cases:
+ * 1.) no configured namespaces, monitoring all pods in default namesapce
+ * 2.) if any config only has namespace, monitoring all pods in namespace
+ * 3.) label is configured, only monitor pods with that label
+ */
+ var namespace string
+ ns_svc_map := make(map[string][]*core_v1.ServiceList)
+ monitoring_info := make(map[string]*monitoring_info_t)
+ if len(labels_list) == 0 {
+ // TODO(s3wong): set it to 'default'
+ //namespace = "linux-foundation-gke"
+ namespace = "default"
+ if svcs_list, err :=
+ client.client.CoreV1().Services(namespace).List(metav1.ListOptions{});
+ err != nil {
+ fmt.Printf("Error fetching service list for namespace %s\n",
+ namespace)
+ return nil
+ } else {
+ /*
+ if _, ok := ns_svc_map[namespace]; !ok {
+ ns_svc_map[namespace] = []*core_v1.ServiceList{}
+ }
+ */
+ ns_svc_map[namespace] = append(ns_svc_map[namespace], svcs_list)
+ }
+ } else {
+ for _, label_str := range labels_list {
+ var label_selector string
+ namespace, key, value := parse_label_cfg(label_str)
+ if len(namespace) == 0 {
+ fmt.Printf("Error in config: %s not a valid config\n", label_str)
+ continue
+ }
+ if len(key) == 0 {
+ fmt.Printf("Namespace only config for %s\n", namespace)
+ } else {
+ label_selector = fmt.Sprintf("%s=%s", key, value)
+ }
+ if svc_list, err :=
+ client.client.CoreV1().Services(namespace).List(metav1.ListOptions{
+ LabelSelector: label_selector,
+ }); err != nil {
+ fmt.Printf("Error listing services with label %v:%v:%v - %v\n",
+ key, value, namespace, err.Error())
+ continue
+ } else {
+ if _, ok := ns_svc_map[namespace]; !ok {
+ ns_svc_map[namespace] = []*core_v1.ServiceList{}
+ }
+ ns_svc_map[namespace] = append(ns_svc_map[namespace], svc_list)
+ }
+ }
+ }
+
+ for ns, svc_slice := range ns_svc_map {
+ for _, svc_list_ := range svc_slice {
+ for _, svc := range svc_list_.Items {
+ if ns == "default" && svc.GetName() == "kubernetes" {
+ continue
+ }
+ //fmt.Printf("Looking for supported protocols for service %v:%v\n", ns, svc.GetName())
+ //var svc_port_map = map[string]core_v1.ServicePort{}
+ var svc_port_map = map[string][]string{}
+ for _, svc_port := range svc.Spec.Ports {
+ if len(svc_port.Name) > 0 {
+ svc_protos := strings.Split(svc_port.Name, "-")
+ for _, proto := range svc_protos {
+ if err := loadProtoParser(proto, false); err == nil {
+ for _, sp := range SUPPORTED_PROTOCOLS {
+ if strings.Contains(proto, sp) {
+ target_port := svc_port.TargetPort.String()
+ svc_port_map[target_port] = append(svc_port_map[target_port], proto)
+ }
+ }
+ } else {
+ fmt.Printf("Unsupported protocol: %v\n", proto)
+ }
+ }
+ }
+ }
+ if len(svc_port_map) == 0 {
+ fmt.Printf("Found no port with supported protocol for %v:%v\n", ns, svc.GetName())
+ continue
+ } else {
+ fmt.Printf("svc_port_map for service %v is %v\n", svc.GetName(), svc_port_map)
+ }
+ //fmt.Printf("Fetching pods for namespace %v service: %v\n", ns, svc.GetName())
+ pod_list, err := client.getPodsForSvc(&svc, ns)
+ if err != nil {
+ fmt.Print("Error fetching pods for %v:%v [%v]\n", ns, svc.GetName(), err)
+ continue
+ }
+ /*
+ labelSet := labels.Set(svc.Spec.Selector)
+ pod_list, err := client.client.CoreV1().Pods(ns).List(metav1.ListOptions{})
+ if err != nil {
+ fmt.Print("Error fetching pods for %v:%v [%v]\n", ns, svc.GetName(), err)
+ continue
+ }
+ */
+ for _, pod := range pod_list.Items {
+ if pod.Spec.NodeName == nodeName {
+ for _, container := range pod.Spec.Containers {
+ var port_num uint32
+ var tp_string string
+ for _, port := range container.Ports {
+ port_num = uint32(port.ContainerPort)
+ tp_string = strconv.Itoa(int(port_num))
+ if _, in := svc_port_map[tp_string]; !in {
+ continue
+ }
+ pod_name := pod.GetName()
+ monitoring_info[pod_name] = &(monitoring_info_t{})
+ monitoring_info[pod_name].namespace = ns
+ monitoring_info[pod_name].svc_name = svc.GetName()
+ monitoring_info[pod_name].pod_name = pod_name
+ monitoring_info[pod_name].container_name = container.Name
+ monitoring_info[pod_name].port_num = port_num
+ monitoring_info[pod_name].protocols = svc_port_map[tp_string]
+ monitoring_info[pod_name].pod_ip = pod.Status.PodIP
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return monitoring_info
+}
+
+func (client *ClovisorK8s) exec_command(command string,
+ monitoring_info *monitoring_info_t) (string, error) {
+
+ // Following code based on:
+ // https://stackoverflow.com/questions/43314689/example-of-exec-in-k8ss-pod-by-using-go-client
+ // https://github.com/a4abhishek/Client-Go-Examples/blob/master/exec_to_pod/exec_to_pod.go
+ exec_req := client.client.CoreV1().RESTClient().Post().
+ Resource("pods").
+ Name(monitoring_info.pod_name).
+ Namespace(monitoring_info.namespace).
+ SubResource("exec")
+ scheme := runtime.NewScheme()
+ if err := core_v1.AddToScheme(scheme); err != nil {
+ fmt.Printf("Error in exec pods: %v\n", err.Error())
+ return "", err
+ }
+
+ parameterCodec := runtime.NewParameterCodec(scheme)
+ exec_req.VersionedParams(&core_v1.PodExecOptions{
+ Command: strings.Fields(command),
+ Container: monitoring_info.container_name,
+ Stdin: false,
+ Stdout: true,
+ Stderr: true,
+ TTY: false,
+ }, parameterCodec)
+
+ exec, err := remotecommand.NewSPDYExecutor(client.config, "POST", exec_req.URL())
+ if err != nil {
+ fmt.Printf("Error in remotecommand exec: %v\n", err.Error())
+ return "", err
+ }
+
+ var stdout, stderr bytes.Buffer
+ err = exec.Stream(remotecommand.StreamOptions{
+ Stdin: nil,
+ Stdout: &stdout,
+ Stderr: &stderr,
+ Tty: false,
+ })
+ if err != nil {
+ fmt.Printf("Error in exec stream: %v\n", err.Error())
+ return "", err
+ }
+
+ stdout_no_newline := strings.TrimSuffix(stdout.String(), "\n")
+ return stdout_no_newline, nil
+}
diff --git a/clover/clovisor/libclovisor/ebpf/node_interface.c b/clover/clovisor/libclovisor/ebpf/node_interface.c
new file mode 100755
index 0000000..cd14a50
--- /dev/null
+++ b/clover/clovisor/libclovisor/ebpf/node_interface.c
@@ -0,0 +1,158 @@
+// Copyright (c) Authors of Clover
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Apache License, Version 2.0
+// which accompanies this distribution, and is available at
+// http://www.apache.org/licenses/LICENSE-2.0
+#include <uapi/linux/if_ether.h>
+#include <uapi/linux/in.h>
+#include <uapi/linux/ip.h>
+#include <uapi/linux/tcp.h>
+#include <uapi/linux/pkt_cls.h>
+#include <uapi/linux/bpf.h>
+
+#include <bcc/proto.h>
+
+#define MAX_SESSION_TABLE_ENTRIES 8192
+
+typedef struct session_key_ {
+ u32 src_ip;
+ u32 dst_ip;
+ unsigned short src_port;
+ unsigned short dst_port;
+} session_key_t;
+
+typedef struct session_ {
+ u64 req_time;
+ u64 resp_time;
+} session_t;
+
+BPF_HASH(ip2track, u32, u32);
+BPF_HASH(node_sessions, session_key_t, session_t, MAX_SESSION_TABLE_ENTRIES);
+
+struct eth_hdr {
+ unsigned char h_dest[ETH_ALEN];
+ unsigned char h_source[ETH_ALEN];
+ unsigned short h_proto;
+};
+
+static inline int ipv4_hdrlen(struct iphdr *ip4)
+{
+ return ip4->ihl * 4;
+}
+
+static inline int tcp_doff(struct tcphdr *tcp_hdr)
+{
+ return tcp_hdr->doff * 4;
+}
+
+static inline void fill_up_sess_key(session_key_t *key, u32 src_ip,
+ u32 dst_ip, u16 src_port, u16 dst_port)
+{
+ key->src_ip = src_ip;
+ key->dst_ip = dst_ip;
+ key->src_port = src_port;
+ key->dst_port = dst_port;
+}
+
+static inline void process_response(u32 src_ip, u32 dst_ip, u16 src_port,
+ u16 dst_port)
+{
+ session_key_t sess_key = {};
+ session_t *session_ptr = NULL;
+ fill_up_sess_key(&sess_key, src_ip, dst_ip, src_port, dst_port);
+ session_ptr = node_sessions.lookup(&sess_key);
+ if (session_ptr != NULL) {
+ u64 resp_time = bpf_ktime_get_ns();
+ session_t update_session = {
+ session_ptr->req_time,
+ resp_time
+ };
+ node_sessions.update(&sess_key, &update_session);
+ }
+}
+
+static inline void process_request(u32 src_ip, u32 dst_ip, u16 src_port,
+ u16 dst_port)
+{
+ session_key_t sess_key = {};
+ session_t *session_ptr = NULL;
+ session_t new_session = {
+ bpf_ktime_get_ns(),
+ 0
+ };
+ fill_up_sess_key(&sess_key, src_ip, dst_ip, src_port, dst_port);
+ session_ptr = node_sessions.lookup(&sess_key);
+ if (! session_ptr) {
+ node_sessions.insert(&sess_key, &new_session);
+ }
+}
+
+static inline void ingress_parsing(struct tcphdr *tcp_hdr,
+ struct iphdr *ipv4_hdr)
+{
+ unsigned int dst_ip = ntohl(ipv4_hdr->daddr);
+ int ret = 0;
+
+ unsigned int *proto = ip2track.lookup(&dst_ip);
+ if (proto != NULL) {
+ process_response(ntohl(ipv4_hdr->daddr),
+ ntohl(ipv4_hdr->saddr),
+ ntohs(tcp_hdr->dest),
+ ntohs(tcp_hdr->source));
+ }
+}
+
+static inline void egress_parsing(struct tcphdr *tcp_hdr,
+ struct iphdr *ipv4_hdr)
+{
+ unsigned int src_ip = ntohl(ipv4_hdr->saddr);
+
+ unsigned int *proto = ip2track.lookup(&src_ip);
+
+ if (proto != NULL) {
+ process_request(ntohl(ipv4_hdr->saddr),
+ ntohl(ipv4_hdr->daddr),
+ ntohs(tcp_hdr->source),
+ ntohs(tcp_hdr->dest));
+ }
+}
+
+static inline int handle_packet(struct __sk_buff *skb, int is_ingress)
+{
+ void *data = (void *)(long)skb->data;
+ void *data_end = (void *)(long)skb->data_end;
+ struct eth_hdr *eth = data;
+ struct iphdr *ipv4_hdr = data + sizeof(*eth);
+ struct tcphdr *tcp_hdr = data + sizeof(*eth) + sizeof(*ipv4_hdr);
+
+ /* TODO(s3wong): assuming TCP only for now */
+ /* single length check */
+ if (data + sizeof(*eth) + sizeof(*ipv4_hdr) + sizeof(*tcp_hdr) > data_end)
+ return TC_ACT_OK;
+
+ if (eth->h_proto != htons(ETH_P_IP))
+ return TC_ACT_OK;
+
+ // TODO(s3wong): no support for IP options
+ if (ipv4_hdr->protocol != IPPROTO_TCP || ipv4_hdr->ihl != 5)
+ return TC_ACT_OK;
+
+ if (is_ingress == 1) {
+ ingress_parsing(tcp_hdr, ipv4_hdr);
+ } else{
+ egress_parsing(tcp_hdr, ipv4_hdr);
+ }
+
+ return TC_ACT_OK;
+}
+
+int handle_ingress(struct __sk_buff *skb)
+{
+ return handle_packet(skb, 1);
+}
+
+int handle_egress(struct __sk_buff *skb)
+{
+ return handle_packet(skb, 0);
+}
diff --git a/clover/clovisor/libclovisor/ebpf/session_tracking.c b/clover/clovisor/libclovisor/ebpf/session_tracking.c
new file mode 100755
index 0000000..ea68788
--- /dev/null
+++ b/clover/clovisor/libclovisor/ebpf/session_tracking.c
@@ -0,0 +1,292 @@
+// Copyright (c) Authors of Clover
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Apache License, Version 2.0
+// which accompanies this distribution, and is available at
+// http://www.apache.org/licenses/LICENSE-2.0
+#include <uapi/linux/if_ether.h>
+#include <uapi/linux/in.h>
+#include <uapi/linux/ip.h>
+#include <uapi/linux/tcp.h>
+#include <uapi/linux/pkt_cls.h>
+#include <uapi/linux/bpf.h>
+
+#include <bcc/proto.h>
+
+#define HTTP_HDR_MIN_LEN 7
+#define MAX_SESSION_TABLE_ENTRIES 8192
+
+typedef enum {
+ UNDEFINED = 0,
+ HTTP = 1,
+ HTTP2 = 2,
+ TCP = 3,
+ UDP = 4,
+} app_proto_t;
+
+typedef struct session_key_ {
+ u32 src_ip;
+ u32 dst_ip;
+ unsigned short src_port;
+ unsigned short dst_port;
+} session_key_t;
+
+typedef struct session_ {
+ u64 req_time;
+ u64 resp_time;
+} session_t;
+
+typedef struct egress_match_ {
+ u32 dst_ip;
+ unsigned short dst_port;
+} egress_match_t;
+
+typedef enum policy_action_ {
+ RECORD = 1,
+} policy_action_t;
+
+BPF_PERF_OUTPUT(skb_events);
+BPF_HASH(dports2proto, u16, u32);
+BPF_HASH(egress_lookup_table, egress_match_t, policy_action_t);
+BPF_HASH(sessions, session_key_t, session_t, MAX_SESSION_TABLE_ENTRIES);
+
+struct eth_hdr {
+ unsigned char h_dest[ETH_ALEN];
+ unsigned char h_source[ETH_ALEN];
+ unsigned short h_proto;
+};
+
+static inline int ipv4_hdrlen(struct iphdr *ip4)
+{
+ return ip4->ihl * 4;
+}
+
+static inline int tcp_doff(struct tcphdr *tcp_hdr)
+{
+ return tcp_hdr->doff * 4;
+}
+
+static inline int http_parsing(void *data, void *data_end)
+{
+
+ int is_http = 1;
+ if (data + HTTP_HDR_MIN_LEN > data_end) {
+ bpf_trace_printk("No HTTP Header in TCP segment");
+ return 0;
+ }
+ if (strncmp((char*)data, "HTTP", 4)) {
+ if (strncmp((char*)data, "GET", 3)) {
+ if (strncmp((char*)data, "POST", 4)) {
+ if (strncmp((char*)data, "PUT", 3)) {
+ if (strncmp((char*)data, "HEAD", 4)) {
+ is_http = 0;
+ }
+ }
+ }
+ }
+ }
+ return is_http;
+}
+
+static inline void fill_up_sess_key(session_key_t *key, u32 src_ip,
+ u32 dst_ip, u16 src_port, u16 dst_port)
+{
+ key->src_ip = src_ip;
+ key->dst_ip = dst_ip;
+ key->src_port = src_port;
+ key->dst_port = dst_port;
+}
+
+static inline int process_response(u32 src_ip, u32 dst_ip, u16 src_port,
+ u16 dst_port)
+{
+ session_key_t sess_key = {};
+ session_t *session_ptr = NULL;
+ fill_up_sess_key(&sess_key, src_ip, dst_ip, src_port, dst_port);
+ session_ptr = sessions.lookup(&sess_key);
+ if (session_ptr != NULL) {
+ u64 resp_time = bpf_ktime_get_ns();
+ session_t update_session = {
+ session_ptr->req_time,
+ resp_time
+ };
+ sessions.update(&sess_key, &update_session);
+ return 1;
+ }
+ return 0;
+}
+
+static inline void process_request(u32 src_ip, u32 dst_ip, u16 src_port,
+ u16 dst_port)
+{
+ session_key_t sess_key = {};
+ session_t *session_ptr = NULL;
+ session_t new_session = {
+ bpf_ktime_get_ns(),
+ 0
+ };
+ fill_up_sess_key(&sess_key, src_ip, dst_ip, src_port, dst_port);
+ session_ptr = sessions.lookup(&sess_key);
+ if (! session_ptr) {
+ sessions.insert(&sess_key, &new_session);
+ }
+ /*
+ if (session_ptr != NULL) {
+ sessions.update(&sess_key, &new_session);
+ } else {
+ sessions.insert(&sess_key, &new_session);
+ }
+ */
+}
+
+static inline app_proto_t ingress_tcp_parsing(struct tcphdr *tcp_hdr,
+ struct iphdr *ipv4_hdr,
+ void *data_end)
+{
+ unsigned short dest_port = htons(tcp_hdr->dest);
+ egress_match_t egress_match = {};
+ policy_action_t *policy_ptr = NULL;
+ app_proto_t ret = TCP;
+
+ unsigned int *proto = dports2proto.lookup(&dest_port);
+ if (proto != NULL) {
+ /*
+ if (tcp_hdr->syn && !tcp_hdr->ack) {
+ return ret;
+ }
+ */
+ ret = HTTP;
+ if (tcp_hdr->fin || tcp_hdr->rst) {
+ process_response(ntohl(ipv4_hdr->saddr),
+ ntohl(ipv4_hdr->daddr),
+ ntohs(tcp_hdr->source),
+ ntohs(tcp_hdr->dest));
+ } else {
+ process_request(ntohl(ipv4_hdr->saddr),
+ ntohl(ipv4_hdr->daddr),
+ ntohs(tcp_hdr->source),
+ ntohs(tcp_hdr->dest));
+ }
+ } else {
+ dest_port = htons(tcp_hdr->source);
+ proto = dports2proto.lookup(&dest_port);
+ if (proto != NULL) {
+ // clock response receiving time
+ process_response(ntohl(ipv4_hdr->daddr),
+ ntohl(ipv4_hdr->saddr),
+ ntohs(tcp_hdr->dest),
+ ntohs(tcp_hdr->source));
+ }
+ egress_match.dst_ip = ntohl(ipv4_hdr->saddr);
+ egress_match.dst_port = ntohs(tcp_hdr->source);
+ policy_ptr = egress_lookup_table.lookup(&egress_match);
+ if (policy_ptr == NULL) {
+ egress_match.dst_ip = 0;
+ policy_ptr = egress_lookup_table.lookup(&egress_match);
+ }
+
+ if (policy_ptr != NULL) {
+ if (*policy_ptr == RECORD) {
+ ret = HTTP;
+ if (tcp_hdr->fin || tcp_hdr->rst) {
+ process_response(ntohl(ipv4_hdr->daddr),
+ ntohl(ipv4_hdr->saddr),
+ ntohs(tcp_hdr->dest),
+ ntohs(tcp_hdr->source));
+ }
+ }
+ }
+ }
+
+ // everything else drops to TCP
+ //return ((void*)tcp_hdr);
+ return ret;
+}
+
+static inline app_proto_t egress_tcp_parsing(struct tcphdr *tcp_hdr,
+ struct iphdr *ipv4_hdr,
+ void *data_end)
+{
+ unsigned short src_port = htons(tcp_hdr->source);
+ app_proto_t ret = TCP;
+ egress_match_t egress_match = {};
+ policy_action_t *policy_ptr = NULL;
+
+ unsigned int *proto = dports2proto.lookup(&src_port);
+
+ if (proto != NULL) {
+ //if (tcp_hdr->fin || tcp_hdr->rst) {
+ process_response(ntohl(ipv4_hdr->daddr),
+ ntohl(ipv4_hdr->saddr),
+ ntohs(tcp_hdr->dest),
+ ntohs(tcp_hdr->source));
+ //}
+ ret = HTTP;
+ } else {
+
+ egress_match.dst_ip = ntohl(ipv4_hdr->daddr);
+ egress_match.dst_port = ntohs(tcp_hdr->dest);
+ policy_ptr = egress_lookup_table.lookup(&egress_match);
+ if (policy_ptr == NULL) {
+ egress_match.dst_ip = 0;
+ policy_ptr = egress_lookup_table.lookup(&egress_match);
+ }
+
+ if (policy_ptr != NULL) {
+ if (*policy_ptr == RECORD) {
+ process_request(ntohl(ipv4_hdr->saddr),
+ ntohl(ipv4_hdr->daddr),
+ ntohs(tcp_hdr->source),
+ ntohs(tcp_hdr->dest));
+ ret = HTTP;
+ }
+ }
+ }
+ //return(ret_hdr);
+ return ret;
+}
+
+static inline int handle_packet(struct __sk_buff *skb, int is_ingress)
+{
+ void *data = (void *)(long)skb->data;
+ void *data_end = (void *)(long)skb->data_end;
+ struct eth_hdr *eth = data;
+ struct iphdr *ipv4_hdr = data + sizeof(*eth);
+ struct tcphdr *tcp_hdr = data + sizeof(*eth) + sizeof(*ipv4_hdr);
+ app_proto_t proto = TCP;
+
+ /* TODO(s3wong): assuming TCP only for now */
+ /* single length check */
+ if (data + sizeof(*eth) + sizeof(*ipv4_hdr) + sizeof(*tcp_hdr) > data_end)
+ return TC_ACT_OK;
+
+ if (eth->h_proto != htons(ETH_P_IP))
+ return TC_ACT_OK;
+
+ // TODO(s3wong): no support for IP options
+ if (ipv4_hdr->protocol != IPPROTO_TCP || ipv4_hdr->ihl != 5)
+ return TC_ACT_OK;
+
+ if (is_ingress == 1) {
+ proto = ingress_tcp_parsing(tcp_hdr, ipv4_hdr, data_end);
+ } else{
+ proto = egress_tcp_parsing(tcp_hdr, ipv4_hdr, data_end);
+ }
+
+ if (proto == HTTP) {
+ int offset = is_ingress;
+ skb_events.perf_submit_skb(skb, skb->len, &offset, sizeof(offset));
+ }
+
+ return TC_ACT_OK;
+}
+
+int handle_ingress(struct __sk_buff *skb)
+{
+ return handle_packet(skb, 1);
+}
+
+int handle_egress(struct __sk_buff *skb)
+{
+ return handle_packet(skb, 0);
+}
diff --git a/clover/clovisor/libclovisor/jaeger-all-in-one-template.yml b/clover/clovisor/libclovisor/jaeger-all-in-one-template.yml
new file mode 100644
index 0000000..1260ef5
--- /dev/null
+++ b/clover/clovisor/libclovisor/jaeger-all-in-one-template.yml
@@ -0,0 +1,151 @@
+#
+# Copyright 2017-2018 The Jaeger Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+# in compliance with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software distributed under the License
+# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+# or implied. See the License for the specific language governing permissions and limitations under
+# the License.
+#
+
+apiVersion: v1
+kind: List
+items:
+- apiVersion: extensions/v1beta1
+ kind: Deployment
+ metadata:
+ name: jaeger-deployment
+ namespace: clovisor
+ labels:
+ app: jaeger
+ jaeger-infra: jaeger-deployment
+ spec:
+ replicas: 1
+ strategy:
+ type: Recreate
+ template:
+ metadata:
+ labels:
+ app: jaeger
+ jaeger-infra: jaeger-pod
+ annotations:
+ prometheus.io/scrape: "true"
+ prometheus.io/port: "16686"
+ spec:
+ containers:
+ - env:
+ - name: COLLECTOR_ZIPKIN_HTTP_PORT
+ value: "9411"
+ image: jaegertracing/all-in-one
+ name: jaeger
+ ports:
+ - containerPort: 5775
+ protocol: UDP
+ - containerPort: 6831
+ protocol: UDP
+ - containerPort: 6832
+ protocol: UDP
+ - containerPort: 5778
+ protocol: TCP
+ - containerPort: 16686
+ protocol: TCP
+ - containerPort: 9411
+ protocol: TCP
+ readinessProbe:
+ httpGet:
+ path: "/"
+ port: 14269
+ initialDelaySeconds: 5
+- apiVersion: v1
+ kind: Service
+ metadata:
+ name: jaeger-query
+ namespace: clovisor
+ labels:
+ app: jaeger
+ jaeger-infra: jaeger-service
+ spec:
+ ports:
+ - name: query-http
+ port: 80
+ protocol: TCP
+ targetPort: 16686
+ selector:
+ jaeger-infra: jaeger-pod
+ type: LoadBalancer
+- apiVersion: v1
+ kind: Service
+ metadata:
+ name: jaeger-collector
+ namespace: clovisor
+ labels:
+ app: jaeger
+ jaeger-infra: collector-service
+ spec:
+ ports:
+ - name: jaeger-collector-tchannel
+ port: 14267
+ protocol: TCP
+ targetPort: 14267
+ - name: jaeger-collector-http
+ port: 14268
+ protocol: TCP
+ targetPort: 14268
+ - name: jaeger-collector-zipkin
+ port: 9411
+ protocol: TCP
+ targetPort: 9411
+ selector:
+ jaeger-infra: jaeger-pod
+ type: ClusterIP
+- apiVersion: v1
+ kind: Service
+ metadata:
+ name: jaeger-agent
+ namespace: clovisor
+ labels:
+ app: jaeger
+ jaeger-infra: agent-service
+ spec:
+ ports:
+ - name: agent-zipkin-thrift
+ port: 5775
+ protocol: UDP
+ targetPort: 5775
+ - name: agent-compact
+ port: 6831
+ protocol: UDP
+ targetPort: 6831
+ - name: agent-binary
+ port: 6832
+ protocol: UDP
+ targetPort: 6832
+ - name: agent-configs
+ port: 5778
+ protocol: TCP
+ targetPort: 5778
+ clusterIP: None
+ selector:
+ jaeger-infra: jaeger-pod
+- apiVersion: v1
+ kind: Service
+ metadata:
+ name: zipkin
+ namespace: clovisor
+ labels:
+ app: jaeger
+ jaeger-infra: zipkin-service
+ spec:
+ ports:
+ - name: jaeger-collector-zipkin
+ port: 9411
+ protocol: TCP
+ targetPort: 9411
+ clusterIP: None
+ selector:
+ jaeger-infra: jaeger-pod
+
diff --git a/ci/test.sh b/clover/clovisor/libclovisor/libproto/build-plugin
index 4e0ccc5..743071b 100755
--- a/ci/test.sh
+++ b/clover/clovisor/libclovisor/libproto/build-plugin
@@ -6,7 +6,4 @@
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
-#
-set -ex
-
-echo "Clover test complete!"
+go build --buildmode=plugin -o ../../proto/http.so clovisor_http.go
diff --git a/clover/clovisor/libclovisor/libproto/clovisor_http.go b/clover/clovisor/libclovisor/libproto/clovisor_http.go
new file mode 100644
index 0000000..6440d5a
--- /dev/null
+++ b/clover/clovisor/libclovisor/libproto/clovisor_http.go
@@ -0,0 +1,84 @@
+// Copyright (c) Authors of Clover
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Apache License, Version 2.0
+// which accompanies this distribution, and is available at
+// http://www.apache.org/licenses/LICENSE-2.0
+
+package main
+
+import (
+ "bufio"
+ "bytes"
+ "fmt"
+ "io/ioutil"
+ "net/http"
+)
+
+type httpparser string
+
+func (p httpparser) Parse(session_key string,
+ is_req bool,
+ data []byte) ([]byte, map[string]string) {
+ map_val := make(map[string]string)
+ reader := bytes.NewReader(data)
+ buf := bufio.NewReader(reader)
+ if is_req == true {
+ req, err := http.ReadRequest(buf)
+ if err != nil {
+ fmt.Printf("Request error: ")
+ fmt.Println(err)
+ return nil, nil
+ } else if req == nil {
+ fmt.Println("request is nil")
+ return nil, nil
+ } else {
+ fmt.Printf("HTTP Request Method %s url %v proto %v\n",
+ req.Method, req.URL, req.Proto)
+ map_val["reqmethod"] = req.Method
+ map_val["requrl"] = fmt.Sprintf("%v", req.URL)
+ map_val["reqproto"] = fmt.Sprintf("%v", req.Proto)
+ if user_agent := req.UserAgent(); len(user_agent) > 0 {
+ map_val["useragent"] = user_agent
+ }
+ if len(req.Host) > 0 {
+ map_val["host"] = req.Host
+ }
+ header := req.Header
+ if req_id := header.Get("X-Request-Id"); len(req_id) > 0 {
+ map_val["requestid"] = req_id
+ }
+ if envoy_dec := header.Get("X-Envoy-Decorator-Operation"); len(envoy_dec) > 0 {
+ map_val["envoydecorator"] = envoy_dec
+ }
+ if trace_id := header.Get("X-B3-Traceid"); len(trace_id) > 0 {
+ map_val["traceid"] = trace_id
+ }
+ body, err := ioutil.ReadAll(req.Body)
+ if err != nil {
+ fmt.Printf("Error reading HTTP Request body %v\n", err.Error())
+ }
+ return body, map_val
+ }
+ } else {
+ // response
+ resp, err := http.ReadResponse(buf, nil)
+ if err != nil {
+ fmt.Printf("Response error: ")
+ fmt.Println(err)
+ return nil, nil
+ }
+ fmt.Printf("HTTP Response Status %v code %v Proto %v\n",
+ resp.Status, resp.StatusCode, resp.Proto)
+ map_val["respstatus"] = resp.Status
+ map_val["respstatuscode"] = fmt.Sprintf("%v", resp.StatusCode)
+ map_val["respproto"] = fmt.Sprintf("%v", resp.Proto)
+ body, err := ioutil.ReadAll(resp.Body)
+ if err != nil {
+ fmt.Printf("Error reading HTTP Request body %v\n", err.Error())
+ }
+ return body, map_val
+ }
+}
+
+var Parser httpparser
diff --git a/clover/clovisor/libclovisor/libproto/http_alt.go b/clover/clovisor/libclovisor/libproto/http_alt.go
new file mode 100644
index 0000000..f7581fb
--- /dev/null
+++ b/clover/clovisor/libclovisor/libproto/http_alt.go
@@ -0,0 +1,93 @@
+// Copyright (c) Authors of Clover
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Apache License, Version 2.0
+// which accompanies this distribution, and is available at
+// http://www.apache.org/licenses/LICENSE-2.0
+
+package main
+
+import (
+ "bufio"
+ "bytes"
+ "fmt"
+ "io/ioutil"
+ "net/http"
+)
+
+type httpparser string
+
+func (p httpparser) Parse(session_key string,
+ is_req bool,
+ data []byte) ([]byte, map[string]string) {
+ map_val := make(map[string]string)
+ reader := bytes.NewReader(data)
+ buf := bufio.NewReader(reader)
+ if is_req == true {
+ req, err := http.ReadRequest(buf)
+ if err != nil {
+ fmt.Printf("Request error: ")
+ fmt.Println(err)
+ return nil, nil
+ } else if req == nil {
+ fmt.Println("request is nil")
+ return nil, nil
+ } else {
+ fmt.Printf("HTTP Request Method %s url %v proto %v\n",
+ req.Method, req.URL, req.Proto)
+ map_val["reqmethod"] = req.Method
+ map_val["requrl"] = fmt.Sprintf("%v", req.URL)
+ map_val["reqproto"] = fmt.Sprintf("%v", req.Proto)
+ if user_agent := req.UserAgent(); len(user_agent) > 0 {
+ map_val["useragent"] = user_agent
+ }
+ if len(req.Host) > 0 {
+ map_val["host"] = req.Host
+ }
+ header := req.Header
+ if req_id := header.Get("X-Request-Id"); len(req_id) > 0 {
+ map_val["requestid"] = req_id
+ }
+ if envoy_dec := header.Get("X-Envoy-Decorator-Operation"); len(envoy_dec) > 0 {
+ map_val["envoydecorator"] = envoy_dec
+ }
+ if trace_id := header.Get("X-B3-Traceid"); len(trace_id) > 0 {
+ map_val["traceid"] = trace_id
+ }
+ body, err := ioutil.ReadAll(req.Body)
+ if err != nil {
+ fmt.Printf("Error reading HTTP Request body %v\n", err.Error())
+ }
+ return body, map_val
+ }
+ } else {
+ // response
+ resp, err := http.ReadResponse(buf, nil)
+ if err != nil {
+ fmt.Printf("Response error: ")
+ fmt.Println(err)
+ return nil, nil
+ }
+ fmt.Printf("HTTP Response Status %v code %v Proto %v\n",
+ resp.Status, resp.StatusCode, resp.Proto)
+ map_val["respstatus"] = resp.Status
+ map_val["respstatuscode"] = fmt.Sprintf("%v", resp.StatusCode)
+ map_val["respproto"] = fmt.Sprintf("%v", resp.Proto)
+ header := resp.Header
+ //fmt.Printf("Response Header contains %v\n", header)
+ if contentType := header.Get("Content-Type"); len(contentType) > 0 {
+ map_val["content-type"] = contentType
+ }
+ if lastMod := header.Get("Last-Modified"); len(lastMod) > 0 {
+ map_val["last-modified"] = lastMod
+ }
+
+ body, err := ioutil.ReadAll(resp.Body)
+ if err != nil {
+ fmt.Printf("Error reading HTTP Request body %v\n", err.Error())
+ }
+ return body, map_val
+ }
+}
+
+var Parser httpparser
diff --git a/clover/clovisor/libclovisor/mongo.yaml b/clover/clovisor/libclovisor/mongo.yaml
new file mode 100644
index 0000000..5dea26e
--- /dev/null
+++ b/clover/clovisor/libclovisor/mongo.yaml
@@ -0,0 +1,41 @@
+apiVersion: v1
+kind: ReplicationController
+metadata:
+ labels:
+ name: mongo
+ name: mongo-controller
+ namespace: clovisor
+spec:
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ name: mongo
+ spec:
+ containers:
+ - image: mongo
+ name: mongo
+ ports:
+ - name: mongo
+ containerPort: 27017
+ hostPort: 27017
+ volumeMounts:
+ - name: mongo-storage
+ mountPath: /data/db
+ volumes:
+ - name: mongo-storage
+ emptyDir: {}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ name: mongo
+ name: mongo
+ namespace: clovisor
+spec:
+ ports:
+ - port: 27017
+ targetPort: 27017
+ selector:
+ name: mongo
diff --git a/clover/clovisor/libclovisor/redis.yaml b/clover/clovisor/libclovisor/redis.yaml
new file mode 100644
index 0000000..43204ff
--- /dev/null
+++ b/clover/clovisor/libclovisor/redis.yaml
@@ -0,0 +1,53 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+ name: clovisor
+ labels:
+ name: clovisor
+---
+apiVersion: v1
+kind: Pod
+metadata:
+ labels:
+ name: redis
+ redis-sentinel: "true"
+ role: master
+ name: redis
+ namespace: clovisor
+spec:
+ containers:
+ - name: redis
+ image: k8s.gcr.io/redis:v1
+ env:
+ - name: MASTER
+ value: "true"
+ ports:
+ - containerPort: 6379
+ resources:
+ limits:
+ cpu: "0.1"
+ volumeMounts:
+ - mountPath: /redis-master-data
+ name: data
+ - name: sentinel
+ image: kubernetes/redis:v1
+ env:
+ - name: SENTINEL
+ value: "true"
+ ports:
+ - containerPort: 26379
+ volumes:
+ - name: data
+ emptyDir: {}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: redis
+ namespace: clovisor
+spec:
+ ports:
+ - port: 6379
+ selector:
+ name: redis
+---
diff --git a/clover/clovisor/proto/http.so b/clover/clovisor/proto/http.so
new file mode 100644
index 0000000..1a61fb2
--- /dev/null
+++ b/clover/clovisor/proto/http.so
Binary files differ
diff --git a/clover/controller/__init__.py b/clover/controller/__init__.py
index d67a6c0..e69de29 100644
--- a/clover/controller/__init__.py
+++ b/clover/controller/__init__.py
@@ -1,11 +0,0 @@
-from flask import Flask, Response
-
-
-app = Flask(__name__)
-
-@app.route("/")
-def index():
- return Response("It works!"), 200
-
-if __name__ == "__main__":
- app.run(debug=True)
diff --git a/clover/controller/control/__init__.py b/clover/controller/control/__init__.py
index d67a6c0..e69de29 100644
--- a/clover/controller/control/__init__.py
+++ b/clover/controller/control/__init__.py
@@ -1,11 +0,0 @@
-from flask import Flask, Response
-
-
-app = Flask(__name__)
-
-@app.route("/")
-def index():
- return Response("It works!"), 200
-
-if __name__ == "__main__":
- app.run(debug=True)
diff --git a/clover/controller/control/api/collector.py b/clover/controller/control/api/collector.py
index c82c543..2d0c32c 100644
--- a/clover/controller/control/api/collector.py
+++ b/clover/controller/control/api/collector.py
@@ -5,7 +5,7 @@
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
-from flask import Blueprint, request, jsonify, Response
+from flask import Blueprint, request, Response
import grpc
import pickle
import collector_pb2
@@ -17,13 +17,13 @@ import logging
collector = Blueprint('collector', __name__)
grpc_port = '50054'
-pod_name = 'clover-collector'
+pod_name = 'clover-collector.clover-system'
collector_grpc = pod_name + ':' + grpc_port
channel = grpc.insecure_channel(collector_grpc)
stub = collector_pb2_grpc.ControllerStub(channel)
-CASSANDRA_HOSTS = pickle.dumps(['cassandra.default'])
+CASSANDRA_HOSTS = pickle.dumps(['cassandra.clover-system'])
-HOST_IP = 'redis'
+HOST_IP = 'redis.default'
@collector.route("/collector/init")
@@ -62,7 +62,7 @@ def start():
p = request.json
if not p:
sample_interval = '5'
- t_host = 'jaeger-deployment.istio-system'
+ t_host = 'tracing.istio-system'
t_port = '16686'
m_host = 'prometheus.istio-system'
m_port = '9090'
@@ -103,27 +103,41 @@ def stop():
return response.message
-@collector.route("/collector/stats", methods=['GET', 'POST'])
-def stats():
+@collector.route("/collector/set", methods=['GET', 'POST'])
+def set_collector():
try:
p = request.json
- if not p:
- stat_type = 'toplevel'
- else:
- stat_type = p['stat_type']
r = redis.StrictRedis(host=HOST_IP, port=6379, db=0)
- content = {}
- content['proxy_rt'] = r.get('proxy_rt')
- content['trace_count'] = r.get('trace_count')
- content['span_urls'] = list(r.smembers('span_urls'))
- response = jsonify(content)
+
+ try:
+ if p['services']:
+ r.delete('visibility_services')
+ for service in p['services']:
+ r.sadd('visibility_services', service['name'].replace('-', '_'))
+ except (KeyError, ValueError) as e:
+ logging.debug(e)
+ return Response(
+ "Specify at least one service to track", status=400)
+ try:
+ if p['metric_prefixes'] and p['metric_suffixes']:
+ del_keys = ['metric_prefixes', 'metric_suffixes']
+ for dk in del_keys:
+ r.delete(dk)
+ for prefix in p['metric_prefixes']:
+ r.sadd('metric_prefixes', prefix['prefix'])
+ for suffix in p['metric_suffixes']:
+ r.sadd('metric_suffixes', suffix['suffix'])
+ if p['custom_metrics']:
+ r.delete('custom_metrics')
+ for metric in p['custom_metrics']:
+ r.sadd('custom_metrics', metric['metric'])
+ except Exception as e:
+ logging.debug(e)
+
except Exception as e:
logging.debug(e)
- if e.__class__.__name__ == "_Rendezvous":
- return Response("Error connecting via gRPC", status=400)
- else:
- return Response("Error getting visibility stats", status=400)
- return response
+ return Response("Error setting visibility config", status=400)
+ return Response("Updated visibility config", status=200)
@collector.route("/collector/test")
diff --git a/clover/controller/control/api/file_upload.py b/clover/controller/control/api/file_upload.py
index a479c30..a532bc8 100644
--- a/clover/controller/control/api/file_upload.py
+++ b/clover/controller/control/api/file_upload.py
@@ -5,24 +5,50 @@
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
-from flask import Blueprint, request, Response
+from flask import Blueprint, request, Response, jsonify
import redis
import logging
file_upload = Blueprint('file_upload', __name__)
-HOST_IP = 'redis'
+HOST_IP = 'redis.default'
@file_upload.route("/upload", methods=['GET', 'POST'])
-def upload_meta():
+def set_upload_metadata():
try:
+ response = "Uploaded file(s) successfully"
content = request.form
+ logging.debug(content)
r = redis.StrictRedis(host=HOST_IP, port=6379, db=0)
- response = content.get('upload.name')
- r.set('upload_meta', response)
+ # Try various variable names
+ upload_var_names = ['upload', 'file1', 'file2', 'file3',
+ 'file4', 'file5', 'file6']
+ for n in upload_var_names:
+ try:
+ param_name = n + '.name'
+ meta_name = content.get(param_name)
+ if meta_name:
+ param_path = n + '.path'
+ param_server = n + '.server'
+ meta_path = content.get(param_path)
+ meta_server = content.get(param_server)
+ entry = meta_name + ':' + meta_path + ':' + meta_server
+ r.sadd('upload_metadata', entry)
+ except Exception as e:
+ print("no metadata")
except Exception as e:
logging.debug(e)
- r.set('upload_meta', "failure")
return Response('Unable to write file metadata to redis', status=400)
return response
+
+
+@file_upload.route("/upload/get", methods=['GET', 'POST'])
+def get_upload_metadata():
+ try:
+ r = redis.StrictRedis(host=HOST_IP, port=6379, db=0)
+ response = jsonify(list(r.smembers('upload_metadata')))
+ except Exception as e:
+ logging.debug(e)
+ return Response('Unable to retrieve upload metadata', status=400)
+ return response
diff --git a/clover/controller/control/api/jmeter.py b/clover/controller/control/api/jmeter.py
index 09625f5..3e8b86a 100644
--- a/clover/controller/control/api/jmeter.py
+++ b/clover/controller/control/api/jmeter.py
@@ -16,29 +16,34 @@ import logging
jmeter = Blueprint('jmeter', __name__)
grpc_port = '50054'
-pod_name = 'clover-jmeter-master'
+pod_name = 'clover-jmeter-master.default'
jmeter_grpc = pod_name + ':' + grpc_port
channel = grpc.insecure_channel(jmeter_grpc)
stub = jmeter_pb2_grpc.ControllerStub(channel)
@jmeter.route("/jmeter/gen", methods=['GET', 'POST'])
+@jmeter.route("/jmeter/create", methods=['GET', 'POST'])
def gentest():
try:
p = request.json
u_list = []
u_names = []
u_methods = []
+ u_agents = []
try:
for u in p['url_list']:
u_list.append(u['url'])
u_names.append(u['name'])
u_methods.append(u['method'])
+ u_agents.append(u['user-agent'])
url_list = pickle.dumps(u_list)
url_names = pickle.dumps(u_names)
url_methods = pickle.dumps(u_methods)
+ url_agents = pickle.dumps(u_agents)
num_threads = p['load_spec']['num_threads']
ramp_time = p['load_spec']['ramp_time']
+ duration = p['load_spec']['duration']
loops = p['load_spec']['loops']
except (KeyError, ValueError) as e:
logging.debug(e)
@@ -46,7 +51,7 @@ def gentest():
response = stub.GenTest(jmeter_pb2.ConfigJmeter(
url_list=url_list, url_names=url_names, url_methods=url_methods,
num_threads=str(num_threads), ramp_time=str(ramp_time),
- loops=str(loops)))
+ url_agents=url_agents, duration=str(duration), loops=str(loops)))
except Exception as e:
logging.debug(e)
if e.__class__.__name__ == "_Rendezvous":
diff --git a/clover/controller/control/api/nginx.py b/clover/controller/control/api/nginx.py
index ba99b94..a7d902d 100644
--- a/clover/controller/control/api/nginx.py
+++ b/clover/controller/control/api/nginx.py
@@ -15,28 +15,28 @@ import logging
nginx = Blueprint('nginx', __name__)
-@nginx.route("/nginx/slb", methods=['GET', 'POST'])
-def slblist():
+@nginx.route("/nginx/lb", methods=['GET', 'POST'])
+def modify_lb():
grpc_port = '50054'
try:
p = request.json
try:
- slb_name = p['slb_name']
- nginx_grpc = slb_name + ':' + grpc_port
+ lb_name = p['lb_name']
+ nginx_grpc = lb_name + ':' + grpc_port
channel = grpc.insecure_channel(nginx_grpc)
stub = nginx_pb2_grpc.ControllerStub(channel)
s_list = []
- for s in p['slb_list']:
+ for s in p['lb_list']:
s_list.append(s['url'])
- slb_list = pickle.dumps(s_list)
+ lb_list = pickle.dumps(s_list)
response = stub.ModifyLB(nginx_pb2.ConfigLB(
server_port=p['server_port'], server_name=p['server_name'],
- slb_list=slb_list,
- slb_group=p['slb_group'], lb_path=p['lb_path']))
+ slb_list=lb_list,
+ slb_group=p['lb_group'], lb_path=p['lb_path']))
except (KeyError, ValueError) as e:
logging.debug(e)
- return Response('Invalid value in test plan json/yaml', status=400)
+ return Response('Invalid value in LB json/yaml', status=400)
except Exception as e:
logging.debug(e)
if e.__class__.__name__ == "_Rendezvous":
@@ -46,6 +46,37 @@ def slblist():
return response.message
+@nginx.route("/nginx/server", methods=['GET', 'POST'])
+def modify_server():
+ grpc_port = '50054'
+ try:
+ p = request.json
+ try:
+ server_name = p['server_name']
+ nginx_grpc = server_name + ':' + grpc_port
+ channel = grpc.insecure_channel(nginx_grpc)
+ stub = nginx_pb2_grpc.ControllerStub(channel)
+
+ locations = pickle.dumps(p['locations'])
+ files = pickle.dumps(p['files'])
+ response = stub.ModifyServer(nginx_pb2.ConfigServer(
+ server_port=p['server_port'], server_name=p['server_name'],
+ site_root=p['site_root'], locations=locations, files=files,
+ site_index=p['site_index'],
+ upload_path_config=p['upload_path_config'],
+ upload_path_test=p['upload_path_test']))
+ except (KeyError, ValueError) as e:
+ logging.debug(e)
+ return Response('Invalid value in server json/yaml', status=400)
+ except Exception as e:
+ logging.debug(e)
+ if e.__class__.__name__ == "_Rendezvous":
+ return Response("Error connecting to server via gRPC", status=400)
+ else:
+ return Response("Error modifying server", status=400)
+ return response.message
+
+
@nginx.route("/nginx/test")
def test():
return "<h1 style='color:blue'>Nginx API Test Response</h1>"
diff --git a/clover/controller/control/api/snort.py b/clover/controller/control/api/snort.py
index e2177be..fc3811e 100644
--- a/clover/controller/control/api/snort.py
+++ b/clover/controller/control/api/snort.py
@@ -15,12 +15,12 @@ import redis
snort = Blueprint('snort', __name__)
grpc_port = '50052'
-pod_name = 'snort-ids'
+pod_name = 'snort-ids.default'
snort_grpc = pod_name + ':' + grpc_port
channel = grpc.insecure_channel(snort_grpc)
stub = snort_pb2_grpc.ControllerStub(channel)
-HOST_IP = 'redis'
+HOST_IP = 'redis.default'
@snort.route("/snort/addrule", methods=['GET', 'POST'])
diff --git a/clover/controller/control/api/visibility.py b/clover/controller/control/api/visibility.py
new file mode 100644
index 0000000..67faaf0
--- /dev/null
+++ b/clover/controller/control/api/visibility.py
@@ -0,0 +1,143 @@
+# Copyright (c) Authors of Clover
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+
+from flask import Blueprint, request, jsonify, Response
+import redis
+import logging
+import collector
+
+visibility_api = Blueprint('visibility_api', __name__)
+
+HOST_IP = 'redis.default'
+
+
+@visibility_api.route("/visibility/clear")
+def clear_visibility():
+ # Zero out or delete redis keys with results
+ r = redis.StrictRedis(host=HOST_IP, port=6379, db=0)
+ r.set('trace_count', 0)
+ r.set('span_count', 0)
+ r.set('metric_count', 0)
+ del_keys = ['span_user_agent', 'span_urls', 'span_urls_z',
+ 'span_status_codes_z', 'span_node_url_z', 'span_node_id_z',
+ 'span_user_agent_z', 'span_status_code', 'span_node_id',
+ 'span_upstream_cluster', 'span_operation_name']
+ for dk in del_keys:
+ r.delete(dk)
+
+ # Response time NA
+ services = list(r.smembers('visibility_services'))
+ for service in services:
+ s = service.replace('_', '-')
+ r.hset(s, 'min_rt', 'NA')
+ r.hset(s, 'avg_rt', 'NA')
+ r.hset(s, 'max_rt', 'NA')
+
+ # Truncate cassandra tables
+ return collector.truncate()
+
+
+@visibility_api.route(
+ "/visibility/get/stats/<s_type>", methods=['GET', 'POST'])
+def get_visibility_stats(s_type):
+ try:
+
+ p = request.json
+ if not p:
+ stat_type = s_type
+ else:
+ stat_type = p['stat_type']
+
+ r = redis.StrictRedis(host=HOST_IP, port=6379, db=0)
+ services = list(r.smembers('visibility_services'))
+
+ content = {}
+ if stat_type == 'system' or s_type == 'all':
+ content['trace_count'] = r.get('trace_count')
+ content['span_count'] = r.get('span_count')
+ content['metric_count'] = r.get('metric_count')
+ if stat_type == 'metrics' or s_type == 'all':
+ mp = list(r.smembers('metric_prefixes'))
+ ms = list(r.smembers('metric_suffixes'))
+ m = []
+ for service in services:
+ for prefix in mp:
+ for suffix in ms:
+ n = {}
+ m_name = 'metrics_' + prefix + service + suffix
+ n['name'] = m_name
+ n['service'] = service
+ n['prefix'] = prefix
+ n['suffix'] = suffix
+ n['values'] = r.lrange(m_name, 0, 100)
+ m.append(n)
+ content['metrics_time'] = m
+ if stat_type == 'tracing' or s_type == 'all':
+ # Response times
+ x = []
+ for service in services:
+ rt = {}
+ s = service.replace('_', '-')
+ rt['name'] = s
+ rt['min'] = r.hget(s, 'min_rt')
+ rt['avg'] = r.hget(s, 'avg_rt')
+ rt['max'] = r.hget(s, 'max_rt')
+ x.append(rt)
+ content['response_times'] = x
+ # Distinct
+ content['request_urls'] = list(r.smembers('span_urls'))
+ content['user_agents'] = list(r.smembers('span_user_agent'))
+ content['status_codes'] = list(r.smembers('span_status_code'))
+ content['op_names'] = list(r.smembers('span_operation_name'))
+ content['node_ids'] = list(r.smembers('span_node_id'))
+ content['upstream_clusters'] = list(r.smembers(
+ 'span_upstream_cluster'))
+ # Zsets
+ content['user_agent_count'] = r.zrange(
+ "span_user_agent_z", 0, 50, False, True)
+ content['request_url_count'] = r.zrange(
+ "span_urls_z", 0, 50, False, True)
+ content['status_code_count'] = r.zrange(
+ "span_status_codes_z", 0, 50, False, True)
+ content['node_url_count'] = r.zrange(
+ "span_node_url_z", 0, 50, False, True)
+ content['node_id_count'] = r.zrange(
+ "span_node_id_z", 0, 50, False, True)
+
+ response = jsonify(content)
+ return response
+ except Exception as e:
+ logging.debug(e)
+ return Response("Error getting visibility stats", status=400)
+
+
+@visibility_api.route("/visibility/get/<c_type>", methods=['GET', 'POST'])
+def get_visibility_config(c_type):
+ try:
+
+ r = redis.StrictRedis(host=HOST_IP, port=6379, db=0)
+
+ content = {}
+
+ if c_type == 'services' or c_type == 'all':
+ services = list(r.smembers('visibility_services'))
+ content['visibility_services'] = services
+ if c_type == 'metrics' or c_type == 'all':
+ content['metric_prefixes'] = list(r.smembers('metric_prefixes'))
+ content['metric_suffixes'] = list(r.smembers('metric_suffixes'))
+ content['custom_metrics'] = list(r.smembers('custom_metrics'))
+
+ response = jsonify(content)
+ return response
+ except Exception as e:
+ logging.debug(e)
+ return Response("Error getting visibility config", status=400)
+
+
+@visibility_api.route("/visibility/set", methods=['GET', 'POST'])
+def set_visibility():
+ return collector.set_collector()
diff --git a/clover/controller/control/control.py b/clover/controller/control/control.py
index 70eeacd..bd917bb 100644
--- a/clover/controller/control/control.py
+++ b/clover/controller/control/control.py
@@ -5,9 +5,10 @@
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
-from flask import Flask, request, jsonify
-from views.dashboard import simple_page
+from flask import Flask
from api.collector import collector
+from views.visibility import visibility
+from api.visibility import visibility_api
from api.snort import snort
from api.halyard import halyard
from api.nginx import nginx
@@ -21,8 +22,9 @@ application = Flask(__name__)
try:
# Register blueprints
- application.register_blueprint(simple_page)
application.register_blueprint(collector)
+ application.register_blueprint(visibility)
+ application.register_blueprint(visibility_api)
application.register_blueprint(snort)
application.register_blueprint(halyard)
application.register_blueprint(nginx)
@@ -32,26 +34,10 @@ except Exception as e:
logging.debug(e)
-@application.route("/")
+@application.route("/test")
def test():
return "<h1 style='color:blue'>clover-controller up</h1>"
-@application.route("/config_server/<server>")
-def show_server(server):
- return "User %s" % server
-
-
-@application.route("/get_json", methods=['GET', 'POST'])
-def get_json():
- try:
- content = request.json
- cmd = content["cmd"]
- resp = jsonify({"cmd": cmd})
- except Exception as e:
- resp = e
- return resp
-
-
if __name__ == "__main__":
application.run(host='0.0.0.0')
diff --git a/clover/controller/control/static/css/app.css b/clover/controller/control/static/css/app.css
new file mode 100644
index 0000000..10ccc2a
--- /dev/null
+++ b/clover/controller/control/static/css/app.css
@@ -0,0 +1,22 @@
+.vtoplevel {
+ font-size: 22px;
+}
+
+.bbb {
+ color: #1779ba;
+}
+
+.clover-title {
+ background-color: #f6f6f6;
+}
+
+.clover-portlet {
+ border: 1px solid #e6e6e6;
+}
+
+
+#feedback { font-size: 1.4em; }
+#visibility_selected .ui-selecting { background: #14679e; }
+#visibility_selected .ui-selected { background: #1779ba; color: white; }
+#visibility_selected { list-style-type: none; margin: 0; padding: 0; width: 100%; }
+#visibility_selected li { margin: 3px; float: left; padding: 4px;}
diff --git a/clover/controller/control/static/css/foundation.css b/clover/controller/control/static/css/foundation.css
new file mode 100644
index 0000000..ac6648c
--- /dev/null
+++ b/clover/controller/control/static/css/foundation.css
@@ -0,0 +1,5805 @@
+@charset "UTF-8";
+/**
+ * Foundation for Sites by ZURB
+ * Version 6.4.2
+ * foundation.zurb.com
+ * Licensed under MIT Open Source
+ */
+@media print, screen and (min-width: 40em) {
+ .reveal, .reveal.tiny, .reveal.small, .reveal.large {
+ right: auto;
+ left: auto;
+ margin: 0 auto; } }
+
+/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
+/* Document
+ ========================================================================== */
+/**
+ * 1. Change the default font family in all browsers (opinionated).
+ * 2. Correct the line height in all browsers.
+ * 3. Prevent adjustments of font size after orientation changes in
+ * IE on Windows Phone and in iOS.
+ */
+html {
+ font-family: sans-serif;
+ /* 1 */
+ line-height: 1.15;
+ /* 2 */
+ -ms-text-size-adjust: 100%;
+ /* 3 */
+ -webkit-text-size-adjust: 100%;
+ /* 3 */ }
+
+/* Sections
+ ========================================================================== */
+/**
+ * Remove the margin in all browsers (opinionated).
+ */
+body {
+ margin: 0; }
+
+/**
+ * Add the correct display in IE 9-.
+ */
+article,
+aside,
+footer,
+header,
+nav,
+section {
+ display: block; }
+
+/**
+ * Correct the font size and margin on `h1` elements within `section` and
+ * `article` contexts in Chrome, Firefox, and Safari.
+ */
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0; }
+
+/* Grouping content
+ ========================================================================== */
+/**
+ * Add the correct display in IE 9-.
+ */
+figcaption,
+figure {
+ display: block; }
+
+/**
+ * Add the correct margin in IE 8.
+ */
+figure {
+ margin: 1em 40px; }
+
+/**
+ * 1. Add the correct box sizing in Firefox.
+ * 2. Show the overflow in Edge and IE.
+ */
+hr {
+ box-sizing: content-box;
+ /* 1 */
+ height: 0;
+ /* 1 */
+ overflow: visible;
+ /* 2 */ }
+
+/**
+ * Add the correct display in IE.
+ */
+main {
+ display: block; }
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+pre {
+ font-family: monospace, monospace;
+ /* 1 */
+ font-size: 1em;
+ /* 2 */ }
+
+/* Links
+ ========================================================================== */
+/**
+ * 1. Remove the gray background on active links in IE 10.
+ * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
+ */
+a {
+ background-color: transparent;
+ /* 1 */
+ -webkit-text-decoration-skip: objects;
+ /* 2 */ }
+
+/**
+ * Remove the outline on focused links when they are also active or hovered
+ * in all browsers (opinionated).
+ */
+a:active,
+a:hover {
+ outline-width: 0; }
+
+/* Text-level semantics
+ ========================================================================== */
+/**
+ * 1. Remove the bottom border in Firefox 39-.
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+ */
+abbr[title] {
+ border-bottom: none;
+ /* 1 */
+ text-decoration: underline;
+ /* 2 */
+ text-decoration: underline dotted;
+ /* 2 */ }
+
+/**
+ * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
+ */
+b,
+strong {
+ font-weight: inherit; }
+
+/**
+ * Add the correct font weight in Chrome, Edge, and Safari.
+ */
+b,
+strong {
+ font-weight: bolder; }
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+code,
+kbd,
+samp {
+ font-family: monospace, monospace;
+ /* 1 */
+ font-size: 1em;
+ /* 2 */ }
+
+/**
+ * Add the correct font style in Android 4.3-.
+ */
+dfn {
+ font-style: italic; }
+
+/**
+ * Add the correct background and color in IE 9-.
+ */
+mark {
+ background-color: #ff0;
+ color: #000; }
+
+/**
+ * Add the correct font size in all browsers.
+ */
+small {
+ font-size: 80%; }
+
+/**
+ * Prevent `sub` and `sup` elements from affecting the line height in
+ * all browsers.
+ */
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline; }
+
+sub {
+ bottom: -0.25em; }
+
+sup {
+ top: -0.5em; }
+
+/* Embedded content
+ ========================================================================== */
+/**
+ * Add the correct display in IE 9-.
+ */
+audio,
+video {
+ display: inline-block; }
+
+/**
+ * Add the correct display in iOS 4-7.
+ */
+audio:not([controls]) {
+ display: none;
+ height: 0; }
+
+/**
+ * Remove the border on images inside links in IE 10-.
+ */
+img {
+ border-style: none; }
+
+/**
+ * Hide the overflow in IE.
+ */
+svg:not(:root) {
+ overflow: hidden; }
+
+/* Forms
+ ========================================================================== */
+/**
+ * 1. Change the font styles in all browsers (opinionated).
+ * 2. Remove the margin in Firefox and Safari.
+ */
+button,
+input,
+optgroup,
+select,
+textarea {
+ font-family: sans-serif;
+ /* 1 */
+ font-size: 100%;
+ /* 1 */
+ line-height: 1.15;
+ /* 1 */
+ margin: 0;
+ /* 2 */ }
+
+/**
+ * Show the overflow in IE.
+ */
+button {
+ overflow: visible; }
+
+/**
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
+ * 1. Remove the inheritance of text transform in Firefox.
+ */
+button,
+select {
+ /* 1 */
+ text-transform: none; }
+
+/**
+ * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
+ * controls in Android 4.
+ * 2. Correct the inability to style clickable types in iOS and Safari.
+ */
+button,
+html [type="button"],
+[type="reset"],
+[type="submit"] {
+ -webkit-appearance: button;
+ /* 2 */ }
+
+button,
+[type="button"],
+[type="reset"],
+[type="submit"] {
+ /**
+ * Remove the inner border and padding in Firefox.
+ */
+ /**
+ * Restore the focus styles unset by the previous rule.
+ */ }
+ button::-moz-focus-inner,
+ [type="button"]::-moz-focus-inner,
+ [type="reset"]::-moz-focus-inner,
+ [type="submit"]::-moz-focus-inner {
+ border-style: none;
+ padding: 0; }
+ button:-moz-focusring,
+ [type="button"]:-moz-focusring,
+ [type="reset"]:-moz-focusring,
+ [type="submit"]:-moz-focusring {
+ outline: 1px dotted ButtonText; }
+
+/**
+ * Show the overflow in Edge.
+ */
+input {
+ overflow: visible; }
+
+/**
+ * 1. Add the correct box sizing in IE 10-.
+ * 2. Remove the padding in IE 10-.
+ */
+[type="checkbox"],
+[type="radio"] {
+ box-sizing: border-box;
+ /* 1 */
+ padding: 0;
+ /* 2 */ }
+
+/**
+ * Correct the cursor style of increment and decrement buttons in Chrome.
+ */
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto; }
+
+/**
+ * 1. Correct the odd appearance in Chrome and Safari.
+ * 2. Correct the outline style in Safari.
+ */
+[type="search"] {
+ -webkit-appearance: textfield;
+ /* 1 */
+ outline-offset: -2px;
+ /* 2 */
+ /**
+ * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
+ */ }
+ [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none; }
+
+/**
+ * 1. Correct the inability to style clickable types in iOS and Safari.
+ * 2. Change font properties to `inherit` in Safari.
+ */
+::-webkit-file-upload-button {
+ -webkit-appearance: button;
+ /* 1 */
+ font: inherit;
+ /* 2 */ }
+
+/**
+ * Change the border, margin, and padding in all browsers (opinionated).
+ */
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em; }
+
+/**
+ * 1. Correct the text wrapping in Edge and IE.
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
+ * 3. Remove the padding so developers are not caught out when they zero out
+ * `fieldset` elements in all browsers.
+ */
+legend {
+ box-sizing: border-box;
+ /* 1 */
+ display: table;
+ /* 1 */
+ max-width: 100%;
+ /* 1 */
+ padding: 0;
+ /* 3 */
+ color: inherit;
+ /* 2 */
+ white-space: normal;
+ /* 1 */ }
+
+/**
+ * 1. Add the correct display in IE 9-.
+ * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
+ */
+progress {
+ display: inline-block;
+ /* 1 */
+ vertical-align: baseline;
+ /* 2 */ }
+
+/**
+ * Remove the default vertical scrollbar in IE.
+ */
+textarea {
+ overflow: auto; }
+
+/* Interactive
+ ========================================================================== */
+/*
+ * Add the correct display in Edge, IE, and Firefox.
+ */
+details {
+ display: block; }
+
+/*
+ * Add the correct display in all browsers.
+ */
+summary {
+ display: list-item; }
+
+/*
+ * Add the correct display in IE 9-.
+ */
+menu {
+ display: block; }
+
+/* Scripting
+ ========================================================================== */
+/**
+ * Add the correct display in IE 9-.
+ */
+canvas {
+ display: inline-block; }
+
+/**
+ * Add the correct display in IE.
+ */
+template {
+ display: none; }
+
+/* Hidden
+ ========================================================================== */
+/**
+ * Add the correct display in IE 10-.
+ */
+[hidden] {
+ display: none; }
+
+.foundation-mq {
+ font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }
+
+html {
+ box-sizing: border-box;
+ font-size: 100%; }
+
+*,
+*::before,
+*::after {
+ box-sizing: inherit; }
+
+body {
+ margin: 0;
+ padding: 0;
+ background: #fefefe;
+ font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
+ font-weight: normal;
+ line-height: 1.5;
+ color: #0a0a0a;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale; }
+
+img {
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 100%;
+ height: auto;
+ -ms-interpolation-mode: bicubic; }
+
+textarea {
+ height: auto;
+ min-height: 50px;
+ border-radius: 0; }
+
+select {
+ box-sizing: border-box;
+ width: 100%;
+ border-radius: 0; }
+
+.map_canvas img,
+.map_canvas embed,
+.map_canvas object,
+.mqa-display img,
+.mqa-display embed,
+.mqa-display object {
+ max-width: none !important; }
+
+button {
+ padding: 0;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ border: 0;
+ border-radius: 0;
+ background: transparent;
+ line-height: 1;
+ cursor: auto; }
+ [data-whatinput='mouse'] button {
+ outline: 0; }
+
+pre {
+ overflow: auto; }
+
+button,
+input,
+optgroup,
+select,
+textarea {
+ font-family: inherit; }
+
+.is-visible {
+ display: block !important; }
+
+.is-hidden {
+ display: none !important; }
+
+.grid-container {
+ padding-right: 0.625rem;
+ padding-left: 0.625rem;
+ max-width: 75rem;
+ margin: 0 auto; }
+ @media print, screen and (min-width: 40em) {
+ .grid-container {
+ padding-right: 0.9375rem;
+ padding-left: 0.9375rem; } }
+ .grid-container.fluid {
+ padding-right: 0.625rem;
+ padding-left: 0.625rem;
+ max-width: 100%;
+ margin: 0 auto; }
+ @media print, screen and (min-width: 40em) {
+ .grid-container.fluid {
+ padding-right: 0.9375rem;
+ padding-left: 0.9375rem; } }
+ .grid-container.full {
+ padding-right: 0;
+ padding-left: 0;
+ max-width: 100%;
+ margin: 0 auto; }
+
+.grid-x {
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-flow: row wrap;
+ flex-flow: row wrap; }
+
+.cell {
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ min-height: 0px;
+ min-width: 0px;
+ width: 100%; }
+ .cell.auto {
+ -ms-flex: 1 1 0px;
+ flex: 1 1 0px; }
+ .cell.shrink {
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto; }
+
+.grid-x > .auto {
+ width: auto; }
+
+.grid-x > .shrink {
+ width: auto; }
+
+.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
+ -ms-flex-preferred-size: auto;
+ flex-basis: auto; }
+
+@media print, screen and (min-width: 40em) {
+ .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
+ -ms-flex-preferred-size: auto;
+ flex-basis: auto; } }
+
+@media print, screen and (min-width: 64em) {
+ .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
+ -ms-flex-preferred-size: auto;
+ flex-basis: auto; } }
+
+.grid-x > .small-1 {
+ width: 8.33333%; }
+
+.grid-x > .small-2 {
+ width: 16.66667%; }
+
+.grid-x > .small-3 {
+ width: 25%; }
+
+.grid-x > .small-4 {
+ width: 33.33333%; }
+
+.grid-x > .small-5 {
+ width: 41.66667%; }
+
+.grid-x > .small-6 {
+ width: 50%; }
+
+.grid-x > .small-7 {
+ width: 58.33333%; }
+
+.grid-x > .small-8 {
+ width: 66.66667%; }
+
+.grid-x > .small-9 {
+ width: 75%; }
+
+.grid-x > .small-10 {
+ width: 83.33333%; }
+
+.grid-x > .small-11 {
+ width: 91.66667%; }
+
+.grid-x > .small-12 {
+ width: 100%; }
+
+@media print, screen and (min-width: 40em) {
+ .grid-x > .medium-auto {
+ -ms-flex: 1 1 0px;
+ flex: 1 1 0px;
+ width: auto; }
+ .grid-x > .medium-shrink {
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ width: auto; }
+ .grid-x > .medium-1 {
+ width: 8.33333%; }
+ .grid-x > .medium-2 {
+ width: 16.66667%; }
+ .grid-x > .medium-3 {
+ width: 25%; }
+ .grid-x > .medium-4 {
+ width: 33.33333%; }
+ .grid-x > .medium-5 {
+ width: 41.66667%; }
+ .grid-x > .medium-6 {
+ width: 50%; }
+ .grid-x > .medium-7 {
+ width: 58.33333%; }
+ .grid-x > .medium-8 {
+ width: 66.66667%; }
+ .grid-x > .medium-9 {
+ width: 75%; }
+ .grid-x > .medium-10 {
+ width: 83.33333%; }
+ .grid-x > .medium-11 {
+ width: 91.66667%; }
+ .grid-x > .medium-12 {
+ width: 100%; } }
+
+@media print, screen and (min-width: 64em) {
+ .grid-x > .large-auto {
+ -ms-flex: 1 1 0px;
+ flex: 1 1 0px;
+ width: auto; }
+ .grid-x > .large-shrink {
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ width: auto; }
+ .grid-x > .large-1 {
+ width: 8.33333%; }
+ .grid-x > .large-2 {
+ width: 16.66667%; }
+ .grid-x > .large-3 {
+ width: 25%; }
+ .grid-x > .large-4 {
+ width: 33.33333%; }
+ .grid-x > .large-5 {
+ width: 41.66667%; }
+ .grid-x > .large-6 {
+ width: 50%; }
+ .grid-x > .large-7 {
+ width: 58.33333%; }
+ .grid-x > .large-8 {
+ width: 66.66667%; }
+ .grid-x > .large-9 {
+ width: 75%; }
+ .grid-x > .large-10 {
+ width: 83.33333%; }
+ .grid-x > .large-11 {
+ width: 91.66667%; }
+ .grid-x > .large-12 {
+ width: 100%; } }
+
+.grid-margin-x:not(.grid-x) > .cell {
+ width: auto; }
+
+.grid-margin-y:not(.grid-y) > .cell {
+ height: auto; }
+
+.grid-margin-x {
+ margin-left: -0.625rem;
+ margin-right: -0.625rem; }
+ @media print, screen and (min-width: 40em) {
+ .grid-margin-x {
+ margin-left: -0.9375rem;
+ margin-right: -0.9375rem; } }
+ .grid-margin-x > .cell {
+ width: calc(100% - 1.25rem);
+ margin-left: 0.625rem;
+ margin-right: 0.625rem; }
+ @media print, screen and (min-width: 40em) {
+ .grid-margin-x > .cell {
+ width: calc(100% - 1.875rem);
+ margin-left: 0.9375rem;
+ margin-right: 0.9375rem; } }
+ .grid-margin-x > .auto {
+ width: auto; }
+ .grid-margin-x > .shrink {
+ width: auto; }
+ .grid-margin-x > .small-1 {
+ width: calc(8.33333% - 1.25rem); }
+ .grid-margin-x > .small-2 {
+ width: calc(16.66667% - 1.25rem); }
+ .grid-margin-x > .small-3 {
+ width: calc(25% - 1.25rem); }
+ .grid-margin-x > .small-4 {
+ width: calc(33.33333% - 1.25rem); }
+ .grid-margin-x > .small-5 {
+ width: calc(41.66667% - 1.25rem); }
+ .grid-margin-x > .small-6 {
+ width: calc(50% - 1.25rem); }
+ .grid-margin-x > .small-7 {
+ width: calc(58.33333% - 1.25rem); }
+ .grid-margin-x > .small-8 {
+ width: calc(66.66667% - 1.25rem); }
+ .grid-margin-x > .small-9 {
+ width: calc(75% - 1.25rem); }
+ .grid-margin-x > .small-10 {
+ width: calc(83.33333% - 1.25rem); }
+ .grid-margin-x > .small-11 {
+ width: calc(91.66667% - 1.25rem); }
+ .grid-margin-x > .small-12 {
+ width: calc(100% - 1.25rem); }
+ @media print, screen and (min-width: 40em) {
+ .grid-margin-x > .auto {
+ width: auto; }
+ .grid-margin-x > .shrink {
+ width: auto; }
+ .grid-margin-x > .small-1 {
+ width: calc(8.33333% - 1.875rem); }
+ .grid-margin-x > .small-2 {
+ width: calc(16.66667% - 1.875rem); }
+ .grid-margin-x > .small-3 {
+ width: calc(25% - 1.875rem); }
+ .grid-margin-x > .small-4 {
+ width: calc(33.33333% - 1.875rem); }
+ .grid-margin-x > .small-5 {
+ width: calc(41.66667% - 1.875rem); }
+ .grid-margin-x > .small-6 {
+ width: calc(50% - 1.875rem); }
+ .grid-margin-x > .small-7 {
+ width: calc(58.33333% - 1.875rem); }
+ .grid-margin-x > .small-8 {
+ width: calc(66.66667% - 1.875rem); }
+ .grid-margin-x > .small-9 {
+ width: calc(75% - 1.875rem); }
+ .grid-margin-x > .small-10 {
+ width: calc(83.33333% - 1.875rem); }
+ .grid-margin-x > .small-11 {
+ width: calc(91.66667% - 1.875rem); }
+ .grid-margin-x > .small-12 {
+ width: calc(100% - 1.875rem); }
+ .grid-margin-x > .medium-auto {
+ width: auto; }
+ .grid-margin-x > .medium-shrink {
+ width: auto; }
+ .grid-margin-x > .medium-1 {
+ width: calc(8.33333% - 1.875rem); }
+ .grid-margin-x > .medium-2 {
+ width: calc(16.66667% - 1.875rem); }
+ .grid-margin-x > .medium-3 {
+ width: calc(25% - 1.875rem); }
+ .grid-margin-x > .medium-4 {
+ width: calc(33.33333% - 1.875rem); }
+ .grid-margin-x > .medium-5 {
+ width: calc(41.66667% - 1.875rem); }
+ .grid-margin-x > .medium-6 {
+ width: calc(50% - 1.875rem); }
+ .grid-margin-x > .medium-7 {
+ width: calc(58.33333% - 1.875rem); }
+ .grid-margin-x > .medium-8 {
+ width: calc(66.66667% - 1.875rem); }
+ .grid-margin-x > .medium-9 {
+ width: calc(75% - 1.875rem); }
+ .grid-margin-x > .medium-10 {
+ width: calc(83.33333% - 1.875rem); }
+ .grid-margin-x > .medium-11 {
+ width: calc(91.66667% - 1.875rem); }
+ .grid-margin-x > .medium-12 {
+ width: calc(100% - 1.875rem); } }
+ @media print, screen and (min-width: 64em) {
+ .grid-margin-x > .large-auto {
+ width: auto; }
+ .grid-margin-x > .large-shrink {
+ width: auto; }
+ .grid-margin-x > .large-1 {
+ width: calc(8.33333% - 1.875rem); }
+ .grid-margin-x > .large-2 {
+ width: calc(16.66667% - 1.875rem); }
+ .grid-margin-x > .large-3 {
+ width: calc(25% - 1.875rem); }
+ .grid-margin-x > .large-4 {
+ width: calc(33.33333% - 1.875rem); }
+ .grid-margin-x > .large-5 {
+ width: calc(41.66667% - 1.875rem); }
+ .grid-margin-x > .large-6 {
+ width: calc(50% - 1.875rem); }
+ .grid-margin-x > .large-7 {
+ width: calc(58.33333% - 1.875rem); }
+ .grid-margin-x > .large-8 {
+ width: calc(66.66667% - 1.875rem); }
+ .grid-margin-x > .large-9 {
+ width: calc(75% - 1.875rem); }
+ .grid-margin-x > .large-10 {
+ width: calc(83.33333% - 1.875rem); }
+ .grid-margin-x > .large-11 {
+ width: calc(91.66667% - 1.875rem); }
+ .grid-margin-x > .large-12 {
+ width: calc(100% - 1.875rem); } }
+
+.grid-padding-x .grid-padding-x {
+ margin-right: -0.625rem;
+ margin-left: -0.625rem; }
+ @media print, screen and (min-width: 40em) {
+ .grid-padding-x .grid-padding-x {
+ margin-right: -0.9375rem;
+ margin-left: -0.9375rem; } }
+
+.grid-container:not(.full) > .grid-padding-x {
+ margin-right: -0.625rem;
+ margin-left: -0.625rem; }
+ @media print, screen and (min-width: 40em) {
+ .grid-container:not(.full) > .grid-padding-x {
+ margin-right: -0.9375rem;
+ margin-left: -0.9375rem; } }
+
+.grid-padding-x > .cell {
+ padding-right: 0.625rem;
+ padding-left: 0.625rem; }
+ @media print, screen and (min-width: 40em) {
+ .grid-padding-x > .cell {
+ padding-right: 0.9375rem;
+ padding-left: 0.9375rem; } }
+
+.small-up-1 > .cell {
+ width: 100%; }
+
+.small-up-2 > .cell {
+ width: 50%; }
+
+.small-up-3 > .cell {
+ width: 33.33333%; }
+
+.small-up-4 > .cell {
+ width: 25%; }
+
+.small-up-5 > .cell {
+ width: 20%; }
+
+.small-up-6 > .cell {
+ width: 16.66667%; }
+
+.small-up-7 > .cell {
+ width: 14.28571%; }
+
+.small-up-8 > .cell {
+ width: 12.5%; }
+
+@media print, screen and (min-width: 40em) {
+ .medium-up-1 > .cell {
+ width: 100%; }
+ .medium-up-2 > .cell {
+ width: 50%; }
+ .medium-up-3 > .cell {
+ width: 33.33333%; }
+ .medium-up-4 > .cell {
+ width: 25%; }
+ .medium-up-5 > .cell {
+ width: 20%; }
+ .medium-up-6 > .cell {
+ width: 16.66667%; }
+ .medium-up-7 > .cell {
+ width: 14.28571%; }
+ .medium-up-8 > .cell {
+ width: 12.5%; } }
+
+@media print, screen and (min-width: 64em) {
+ .large-up-1 > .cell {
+ width: 100%; }
+ .large-up-2 > .cell {
+ width: 50%; }
+ .large-up-3 > .cell {
+ width: 33.33333%; }
+ .large-up-4 > .cell {
+ width: 25%; }
+ .large-up-5 > .cell {
+ width: 20%; }
+ .large-up-6 > .cell {
+ width: 16.66667%; }
+ .large-up-7 > .cell {
+ width: 14.28571%; }
+ .large-up-8 > .cell {
+ width: 12.5%; } }
+
+.grid-margin-x.small-up-1 > .cell {
+ width: calc(100% - 1.25rem); }
+
+.grid-margin-x.small-up-2 > .cell {
+ width: calc(50% - 1.25rem); }
+
+.grid-margin-x.small-up-3 > .cell {
+ width: calc(33.33333% - 1.25rem); }
+
+.grid-margin-x.small-up-4 > .cell {
+ width: calc(25% - 1.25rem); }
+
+.grid-margin-x.small-up-5 > .cell {
+ width: calc(20% - 1.25rem); }
+
+.grid-margin-x.small-up-6 > .cell {
+ width: calc(16.66667% - 1.25rem); }
+
+.grid-margin-x.small-up-7 > .cell {
+ width: calc(14.28571% - 1.25rem); }
+
+.grid-margin-x.small-up-8 > .cell {
+ width: calc(12.5% - 1.25rem); }
+
+@media print, screen and (min-width: 40em) {
+ .grid-margin-x.small-up-1 > .cell {
+ width: calc(100% - 1.25rem); }
+ .grid-margin-x.small-up-2 > .cell {
+ width: calc(50% - 1.25rem); }
+ .grid-margin-x.small-up-3 > .cell {
+ width: calc(33.33333% - 1.25rem); }
+ .grid-margin-x.small-up-4 > .cell {
+ width: calc(25% - 1.25rem); }
+ .grid-margin-x.small-up-5 > .cell {
+ width: calc(20% - 1.25rem); }
+ .grid-margin-x.small-up-6 > .cell {
+ width: calc(16.66667% - 1.25rem); }
+ .grid-margin-x.small-up-7 > .cell {
+ width: calc(14.28571% - 1.25rem); }
+ .grid-margin-x.small-up-8 > .cell {
+ width: calc(12.5% - 1.25rem); }
+ .grid-margin-x.medium-up-1 > .cell {
+ width: calc(100% - 1.875rem); }
+ .grid-margin-x.medium-up-2 > .cell {
+ width: calc(50% - 1.875rem); }
+ .grid-margin-x.medium-up-3 > .cell {
+ width: calc(33.33333% - 1.875rem); }
+ .grid-margin-x.medium-up-4 > .cell {
+ width: calc(25% - 1.875rem); }
+ .grid-margin-x.medium-up-5 > .cell {
+ width: calc(20% - 1.875rem); }
+ .grid-margin-x.medium-up-6 > .cell {
+ width: calc(16.66667% - 1.875rem); }
+ .grid-margin-x.medium-up-7 > .cell {
+ width: calc(14.28571% - 1.875rem); }
+ .grid-margin-x.medium-up-8 > .cell {
+ width: calc(12.5% - 1.875rem); } }
+
+@media print, screen and (min-width: 64em) {
+ .grid-margin-x.large-up-1 > .cell {
+ width: calc(100% - 1.875rem); }
+ .grid-margin-x.large-up-2 > .cell {
+ width: calc(50% - 1.875rem); }
+ .grid-margin-x.large-up-3 > .cell {
+ width: calc(33.33333% - 1.875rem); }
+ .grid-margin-x.large-up-4 > .cell {
+ width: calc(25% - 1.875rem); }
+ .grid-margin-x.large-up-5 > .cell {
+ width: calc(20% - 1.875rem); }
+ .grid-margin-x.large-up-6 > .cell {
+ width: calc(16.66667% - 1.875rem); }
+ .grid-margin-x.large-up-7 > .cell {
+ width: calc(14.28571% - 1.875rem); }
+ .grid-margin-x.large-up-8 > .cell {
+ width: calc(12.5% - 1.875rem); } }
+
+.small-margin-collapse {
+ margin-right: 0;
+ margin-left: 0; }
+ .small-margin-collapse > .cell {
+ margin-right: 0;
+ margin-left: 0; }
+ .small-margin-collapse > .small-1 {
+ width: 8.33333%; }
+ .small-margin-collapse > .small-2 {
+ width: 16.66667%; }
+ .small-margin-collapse > .small-3 {
+ width: 25%; }
+ .small-margin-collapse > .small-4 {
+ width: 33.33333%; }
+ .small-margin-collapse > .small-5 {
+ width: 41.66667%; }
+ .small-margin-collapse > .small-6 {
+ width: 50%; }
+ .small-margin-collapse > .small-7 {
+ width: 58.33333%; }
+ .small-margin-collapse > .small-8 {
+ width: 66.66667%; }
+ .small-margin-collapse > .small-9 {
+ width: 75%; }
+ .small-margin-collapse > .small-10 {
+ width: 83.33333%; }
+ .small-margin-collapse > .small-11 {
+ width: 91.66667%; }
+ .small-margin-collapse > .small-12 {
+ width: 100%; }
+ @media print, screen and (min-width: 40em) {
+ .small-margin-collapse > .medium-1 {
+ width: 8.33333%; }
+ .small-margin-collapse > .medium-2 {
+ width: 16.66667%; }
+ .small-margin-collapse > .medium-3 {
+ width: 25%; }
+ .small-margin-collapse > .medium-4 {
+ width: 33.33333%; }
+ .small-margin-collapse > .medium-5 {
+ width: 41.66667%; }
+ .small-margin-collapse > .medium-6 {
+ width: 50%; }
+ .small-margin-collapse > .medium-7 {
+ width: 58.33333%; }
+ .small-margin-collapse > .medium-8 {
+ width: 66.66667%; }
+ .small-margin-collapse > .medium-9 {
+ width: 75%; }
+ .small-margin-collapse > .medium-10 {
+ width: 83.33333%; }
+ .small-margin-collapse > .medium-11 {
+ width: 91.66667%; }
+ .small-margin-collapse > .medium-12 {
+ width: 100%; } }
+ @media print, screen and (min-width: 64em) {
+ .small-margin-collapse > .large-1 {
+ width: 8.33333%; }
+ .small-margin-collapse > .large-2 {
+ width: 16.66667%; }
+ .small-margin-collapse > .large-3 {
+ width: 25%; }
+ .small-margin-collapse > .large-4 {
+ width: 33.33333%; }
+ .small-margin-collapse > .large-5 {
+ width: 41.66667%; }
+ .small-margin-collapse > .large-6 {
+ width: 50%; }
+ .small-margin-collapse > .large-7 {
+ width: 58.33333%; }
+ .small-margin-collapse > .large-8 {
+ width: 66.66667%; }
+ .small-margin-collapse > .large-9 {
+ width: 75%; }
+ .small-margin-collapse > .large-10 {
+ width: 83.33333%; }
+ .small-margin-collapse > .large-11 {
+ width: 91.66667%; }
+ .small-margin-collapse > .large-12 {
+ width: 100%; } }
+
+.small-padding-collapse {
+ margin-right: 0;
+ margin-left: 0; }
+ .small-padding-collapse > .cell {
+ padding-right: 0;
+ padding-left: 0; }
+
+@media print, screen and (min-width: 40em) {
+ .medium-margin-collapse {
+ margin-right: 0;
+ margin-left: 0; }
+ .medium-margin-collapse > .cell {
+ margin-right: 0;
+ margin-left: 0; } }
+
+@media print, screen and (min-width: 40em) {
+ .medium-margin-collapse > .small-1 {
+ width: 8.33333%; }
+ .medium-margin-collapse > .small-2 {
+ width: 16.66667%; }
+ .medium-margin-collapse > .small-3 {
+ width: 25%; }
+ .medium-margin-collapse > .small-4 {
+ width: 33.33333%; }
+ .medium-margin-collapse > .small-5 {
+ width: 41.66667%; }
+ .medium-margin-collapse > .small-6 {
+ width: 50%; }
+ .medium-margin-collapse > .small-7 {
+ width: 58.33333%; }
+ .medium-margin-collapse > .small-8 {
+ width: 66.66667%; }
+ .medium-margin-collapse > .small-9 {
+ width: 75%; }
+ .medium-margin-collapse > .small-10 {
+ width: 83.33333%; }
+ .medium-margin-collapse > .small-11 {
+ width: 91.66667%; }
+ .medium-margin-collapse > .small-12 {
+ width: 100%; } }
+
+@media print, screen and (min-width: 40em) {
+ .medium-margin-collapse > .medium-1 {
+ width: 8.33333%; }
+ .medium-margin-collapse > .medium-2 {
+ width: 16.66667%; }
+ .medium-margin-collapse > .medium-3 {
+ width: 25%; }
+ .medium-margin-collapse > .medium-4 {
+ width: 33.33333%; }
+ .medium-margin-collapse > .medium-5 {
+ width: 41.66667%; }
+ .medium-margin-collapse > .medium-6 {
+ width: 50%; }
+ .medium-margin-collapse > .medium-7 {
+ width: 58.33333%; }
+ .medium-margin-collapse > .medium-8 {
+ width: 66.66667%; }
+ .medium-margin-collapse > .medium-9 {
+ width: 75%; }
+ .medium-margin-collapse > .medium-10 {
+ width: 83.33333%; }
+ .medium-margin-collapse > .medium-11 {
+ width: 91.66667%; }
+ .medium-margin-collapse > .medium-12 {
+ width: 100%; } }
+
+@media print, screen and (min-width: 64em) {
+ .medium-margin-collapse > .large-1 {
+ width: 8.33333%; }
+ .medium-margin-collapse > .large-2 {
+ width: 16.66667%; }
+ .medium-margin-collapse > .large-3 {
+ width: 25%; }
+ .medium-margin-collapse > .large-4 {
+ width: 33.33333%; }
+ .medium-margin-collapse > .large-5 {
+ width: 41.66667%; }
+ .medium-margin-collapse > .large-6 {
+ width: 50%; }
+ .medium-margin-collapse > .large-7 {
+ width: 58.33333%; }
+ .medium-margin-collapse > .large-8 {
+ width: 66.66667%; }
+ .medium-margin-collapse > .large-9 {
+ width: 75%; }
+ .medium-margin-collapse > .large-10 {
+ width: 83.33333%; }
+ .medium-margin-collapse > .large-11 {
+ width: 91.66667%; }
+ .medium-margin-collapse > .large-12 {
+ width: 100%; } }
+
+@media print, screen and (min-width: 40em) {
+ .medium-padding-collapse {
+ margin-right: 0;
+ margin-left: 0; }
+ .medium-padding-collapse > .cell {
+ padding-right: 0;
+ padding-left: 0; } }
+
+@media print, screen and (min-width: 64em) {
+ .large-margin-collapse {
+ margin-right: 0;
+ margin-left: 0; }
+ .large-margin-collapse > .cell {
+ margin-right: 0;
+ margin-left: 0; } }
+
+@media print, screen and (min-width: 64em) {
+ .large-margin-collapse > .small-1 {
+ width: 8.33333%; }
+ .large-margin-collapse > .small-2 {
+ width: 16.66667%; }
+ .large-margin-collapse > .small-3 {
+ width: 25%; }
+ .large-margin-collapse > .small-4 {
+ width: 33.33333%; }
+ .large-margin-collapse > .small-5 {
+ width: 41.66667%; }
+ .large-margin-collapse > .small-6 {
+ width: 50%; }
+ .large-margin-collapse > .small-7 {
+ width: 58.33333%; }
+ .large-margin-collapse > .small-8 {
+ width: 66.66667%; }
+ .large-margin-collapse > .small-9 {
+ width: 75%; }
+ .large-margin-collapse > .small-10 {
+ width: 83.33333%; }
+ .large-margin-collapse > .small-11 {
+ width: 91.66667%; }
+ .large-margin-collapse > .small-12 {
+ width: 100%; } }
+
+@media print, screen and (min-width: 64em) {
+ .large-margin-collapse > .medium-1 {
+ width: 8.33333%; }
+ .large-margin-collapse > .medium-2 {
+ width: 16.66667%; }
+ .large-margin-collapse > .medium-3 {
+ width: 25%; }
+ .large-margin-collapse > .medium-4 {
+ width: 33.33333%; }
+ .large-margin-collapse > .medium-5 {
+ width: 41.66667%; }
+ .large-margin-collapse > .medium-6 {
+ width: 50%; }
+ .large-margin-collapse > .medium-7 {
+ width: 58.33333%; }
+ .large-margin-collapse > .medium-8 {
+ width: 66.66667%; }
+ .large-margin-collapse > .medium-9 {
+ width: 75%; }
+ .large-margin-collapse > .medium-10 {
+ width: 83.33333%; }
+ .large-margin-collapse > .medium-11 {
+ width: 91.66667%; }
+ .large-margin-collapse > .medium-12 {
+ width: 100%; } }
+
+@media print, screen and (min-width: 64em) {
+ .large-margin-collapse > .large-1 {
+ width: 8.33333%; }
+ .large-margin-collapse > .large-2 {
+ width: 16.66667%; }
+ .large-margin-collapse > .large-3 {
+ width: 25%; }
+ .large-margin-collapse > .large-4 {
+ width: 33.33333%; }
+ .large-margin-collapse > .large-5 {
+ width: 41.66667%; }
+ .large-margin-collapse > .large-6 {
+ width: 50%; }
+ .large-margin-collapse > .large-7 {
+ width: 58.33333%; }
+ .large-margin-collapse > .large-8 {
+ width: 66.66667%; }
+ .large-margin-collapse > .large-9 {
+ width: 75%; }
+ .large-margin-collapse > .large-10 {
+ width: 83.33333%; }
+ .large-margin-collapse > .large-11 {
+ width: 91.66667%; }
+ .large-margin-collapse > .large-12 {
+ width: 100%; } }
+
+@media print, screen and (min-width: 64em) {
+ .large-padding-collapse {
+ margin-right: 0;
+ margin-left: 0; }
+ .large-padding-collapse > .cell {
+ padding-right: 0;
+ padding-left: 0; } }
+
+.small-offset-0 {
+ margin-left: 0%; }
+
+.grid-margin-x > .small-offset-0 {
+ margin-left: calc(0% + 0.625rem); }
+
+.small-offset-1 {
+ margin-left: 8.33333%; }
+
+.grid-margin-x > .small-offset-1 {
+ margin-left: calc(8.33333% + 0.625rem); }
+
+.small-offset-2 {
+ margin-left: 16.66667%; }
+
+.grid-margin-x > .small-offset-2 {
+ margin-left: calc(16.66667% + 0.625rem); }
+
+.small-offset-3 {
+ margin-left: 25%; }
+
+.grid-margin-x > .small-offset-3 {
+ margin-left: calc(25% + 0.625rem); }
+
+.small-offset-4 {
+ margin-left: 33.33333%; }
+
+.grid-margin-x > .small-offset-4 {
+ margin-left: calc(33.33333% + 0.625rem); }
+
+.small-offset-5 {
+ margin-left: 41.66667%; }
+
+.grid-margin-x > .small-offset-5 {
+ margin-left: calc(41.66667% + 0.625rem); }
+
+.small-offset-6 {
+ margin-left: 50%; }
+
+.grid-margin-x > .small-offset-6 {
+ margin-left: calc(50% + 0.625rem); }
+
+.small-offset-7 {
+ margin-left: 58.33333%; }
+
+.grid-margin-x > .small-offset-7 {
+ margin-left: calc(58.33333% + 0.625rem); }
+
+.small-offset-8 {
+ margin-left: 66.66667%; }
+
+.grid-margin-x > .small-offset-8 {
+ margin-left: calc(66.66667% + 0.625rem); }
+
+.small-offset-9 {
+ margin-left: 75%; }
+
+.grid-margin-x > .small-offset-9 {
+ margin-left: calc(75% + 0.625rem); }
+
+.small-offset-10 {
+ margin-left: 83.33333%; }
+
+.grid-margin-x > .small-offset-10 {
+ margin-left: calc(83.33333% + 0.625rem); }
+
+.small-offset-11 {
+ margin-left: 91.66667%; }
+
+.grid-margin-x > .small-offset-11 {
+ margin-left: calc(91.66667% + 0.625rem); }
+
+@media print, screen and (min-width: 40em) {
+ .medium-offset-0 {
+ margin-left: 0%; }
+ .grid-margin-x > .medium-offset-0 {
+ margin-left: calc(0% + 0.9375rem); }
+ .medium-offset-1 {
+ margin-left: 8.33333%; }
+ .grid-margin-x > .medium-offset-1 {
+ margin-left: calc(8.33333% + 0.9375rem); }
+ .medium-offset-2 {
+ margin-left: 16.66667%; }
+ .grid-margin-x > .medium-offset-2 {
+ margin-left: calc(16.66667% + 0.9375rem); }
+ .medium-offset-3 {
+ margin-left: 25%; }
+ .grid-margin-x > .medium-offset-3 {
+ margin-left: calc(25% + 0.9375rem); }
+ .medium-offset-4 {
+ margin-left: 33.33333%; }
+ .grid-margin-x > .medium-offset-4 {
+ margin-left: calc(33.33333% + 0.9375rem); }
+ .medium-offset-5 {
+ margin-left: 41.66667%; }
+ .grid-margin-x > .medium-offset-5 {
+ margin-left: calc(41.66667% + 0.9375rem); }
+ .medium-offset-6 {
+ margin-left: 50%; }
+ .grid-margin-x > .medium-offset-6 {
+ margin-left: calc(50% + 0.9375rem); }
+ .medium-offset-7 {
+ margin-left: 58.33333%; }
+ .grid-margin-x > .medium-offset-7 {
+ margin-left: calc(58.33333% + 0.9375rem); }
+ .medium-offset-8 {
+ margin-left: 66.66667%; }
+ .grid-margin-x > .medium-offset-8 {
+ margin-left: calc(66.66667% + 0.9375rem); }
+ .medium-offset-9 {
+ margin-left: 75%; }
+ .grid-margin-x > .medium-offset-9 {
+ margin-left: calc(75% + 0.9375rem); }
+ .medium-offset-10 {
+ margin-left: 83.33333%; }
+ .grid-margin-x > .medium-offset-10 {
+ margin-left: calc(83.33333% + 0.9375rem); }
+ .medium-offset-11 {
+ margin-left: 91.66667%; }
+ .grid-margin-x > .medium-offset-11 {
+ margin-left: calc(91.66667% + 0.9375rem); } }
+
+@media print, screen and (min-width: 64em) {
+ .large-offset-0 {
+ margin-left: 0%; }
+ .grid-margin-x > .large-offset-0 {
+ margin-left: calc(0% + 0.9375rem); }
+ .large-offset-1 {
+ margin-left: 8.33333%; }
+ .grid-margin-x > .large-offset-1 {
+ margin-left: calc(8.33333% + 0.9375rem); }
+ .large-offset-2 {
+ margin-left: 16.66667%; }
+ .grid-margin-x > .large-offset-2 {
+ margin-left: calc(16.66667% + 0.9375rem); }
+ .large-offset-3 {
+ margin-left: 25%; }
+ .grid-margin-x > .large-offset-3 {
+ margin-left: calc(25% + 0.9375rem); }
+ .large-offset-4 {
+ margin-left: 33.33333%; }
+ .grid-margin-x > .large-offset-4 {
+ margin-left: calc(33.33333% + 0.9375rem); }
+ .large-offset-5 {
+ margin-left: 41.66667%; }
+ .grid-margin-x > .large-offset-5 {
+ margin-left: calc(41.66667% + 0.9375rem); }
+ .large-offset-6 {
+ margin-left: 50%; }
+ .grid-margin-x > .large-offset-6 {
+ margin-left: calc(50% + 0.9375rem); }
+ .large-offset-7 {
+ margin-left: 58.33333%; }
+ .grid-margin-x > .large-offset-7 {
+ margin-left: calc(58.33333% + 0.9375rem); }
+ .large-offset-8 {
+ margin-left: 66.66667%; }
+ .grid-margin-x > .large-offset-8 {
+ margin-left: calc(66.66667% + 0.9375rem); }
+ .large-offset-9 {
+ margin-left: 75%; }
+ .grid-margin-x > .large-offset-9 {
+ margin-left: calc(75% + 0.9375rem); }
+ .large-offset-10 {
+ margin-left: 83.33333%; }
+ .grid-margin-x > .large-offset-10 {
+ margin-left: calc(83.33333% + 0.9375rem); }
+ .large-offset-11 {
+ margin-left: 91.66667%; }
+ .grid-margin-x > .large-offset-11 {
+ margin-left: calc(91.66667% + 0.9375rem); } }
+
+.grid-y {
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-flow: column nowrap;
+ flex-flow: column nowrap; }
+ .grid-y > .cell {
+ width: auto; }
+ .grid-y > .auto {
+ height: auto; }
+ .grid-y > .shrink {
+ height: auto; }
+ .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
+ -ms-flex-preferred-size: auto;
+ flex-basis: auto; }
+ @media print, screen and (min-width: 40em) {
+ .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
+ -ms-flex-preferred-size: auto;
+ flex-basis: auto; } }
+ @media print, screen and (min-width: 64em) {
+ .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
+ -ms-flex-preferred-size: auto;
+ flex-basis: auto; } }
+ .grid-y > .small-1 {
+ height: 8.33333%; }
+ .grid-y > .small-2 {
+ height: 16.66667%; }
+ .grid-y > .small-3 {
+ height: 25%; }
+ .grid-y > .small-4 {
+ height: 33.33333%; }
+ .grid-y > .small-5 {
+ height: 41.66667%; }
+ .grid-y > .small-6 {
+ height: 50%; }
+ .grid-y > .small-7 {
+ height: 58.33333%; }
+ .grid-y > .small-8 {
+ height: 66.66667%; }
+ .grid-y > .small-9 {
+ height: 75%; }
+ .grid-y > .small-10 {
+ height: 83.33333%; }
+ .grid-y > .small-11 {
+ height: 91.66667%; }
+ .grid-y > .small-12 {
+ height: 100%; }
+ @media print, screen and (min-width: 40em) {
+ .grid-y > .medium-auto {
+ -ms-flex: 1 1 0px;
+ flex: 1 1 0px;
+ height: auto; }
+ .grid-y > .medium-shrink {
+ height: auto; }
+ .grid-y > .medium-1 {
+ height: 8.33333%; }
+ .grid-y > .medium-2 {
+ height: 16.66667%; }
+ .grid-y > .medium-3 {
+ height: 25%; }
+ .grid-y > .medium-4 {
+ height: 33.33333%; }
+ .grid-y > .medium-5 {
+ height: 41.66667%; }
+ .grid-y > .medium-6 {
+ height: 50%; }
+ .grid-y > .medium-7 {
+ height: 58.33333%; }
+ .grid-y > .medium-8 {
+ height: 66.66667%; }
+ .grid-y > .medium-9 {
+ height: 75%; }
+ .grid-y > .medium-10 {
+ height: 83.33333%; }
+ .grid-y > .medium-11 {
+ height: 91.66667%; }
+ .grid-y > .medium-12 {
+ height: 100%; } }
+ @media print, screen and (min-width: 64em) {
+ .grid-y > .large-auto {
+ -ms-flex: 1 1 0px;
+ flex: 1 1 0px;
+ height: auto; }
+ .grid-y > .large-shrink {
+ height: auto; }
+ .grid-y > .large-1 {
+ height: 8.33333%; }
+ .grid-y > .large-2 {
+ height: 16.66667%; }
+ .grid-y > .large-3 {
+ height: 25%; }
+ .grid-y > .large-4 {
+ height: 33.33333%; }
+ .grid-y > .large-5 {
+ height: 41.66667%; }
+ .grid-y > .large-6 {
+ height: 50%; }
+ .grid-y > .large-7 {
+ height: 58.33333%; }
+ .grid-y > .large-8 {
+ height: 66.66667%; }
+ .grid-y > .large-9 {
+ height: 75%; }
+ .grid-y > .large-10 {
+ height: 83.33333%; }
+ .grid-y > .large-11 {
+ height: 91.66667%; }
+ .grid-y > .large-12 {
+ height: 100%; } }
+
+.grid-padding-y .grid-padding-y {
+ margin-top: -0.625rem;
+ margin-bottom: -0.625rem; }
+ @media print, screen and (min-width: 40em) {
+ .grid-padding-y .grid-padding-y {
+ margin-top: -0.9375rem;
+ margin-bottom: -0.9375rem; } }
+
+.grid-padding-y > .cell {
+ padding-top: 0.625rem;
+ padding-bottom: 0.625rem; }
+ @media print, screen and (min-width: 40em) {
+ .grid-padding-y > .cell {
+ padding-top: 0.9375rem;
+ padding-bottom: 0.9375rem; } }
+
+.grid-margin-y {
+ margin-top: -0.625rem;
+ margin-bottom: -0.625rem; }
+ @media print, screen and (min-width: 40em) {
+ .grid-margin-y {
+ margin-top: -0.9375rem;
+ margin-bottom: -0.9375rem; } }
+ .grid-margin-y > .cell {
+ height: calc(100% - 1.25rem);
+ margin-top: 0.625rem;
+ margin-bottom: 0.625rem; }
+ @media print, screen and (min-width: 40em) {
+ .grid-margin-y > .cell {
+ height: calc(100% - 1.875rem);
+ margin-top: 0.9375rem;
+ margin-bottom: 0.9375rem; } }
+ .grid-margin-y > .auto {
+ height: auto; }
+ .grid-margin-y > .shrink {
+ height: auto; }
+ .grid-margin-y > .small-1 {
+ height: calc(8.33333% - 1.25rem); }
+ .grid-margin-y > .small-2 {
+ height: calc(16.66667% - 1.25rem); }
+ .grid-margin-y > .small-3 {
+ height: calc(25% - 1.25rem); }
+ .grid-margin-y > .small-4 {
+ height: calc(33.33333% - 1.25rem); }
+ .grid-margin-y > .small-5 {
+ height: calc(41.66667% - 1.25rem); }
+ .grid-margin-y > .small-6 {
+ height: calc(50% - 1.25rem); }
+ .grid-margin-y > .small-7 {
+ height: calc(58.33333% - 1.25rem); }
+ .grid-margin-y > .small-8 {
+ height: calc(66.66667% - 1.25rem); }
+ .grid-margin-y > .small-9 {
+ height: calc(75% - 1.25rem); }
+ .grid-margin-y > .small-10 {
+ height: calc(83.33333% - 1.25rem); }
+ .grid-margin-y > .small-11 {
+ height: calc(91.66667% - 1.25rem); }
+ .grid-margin-y > .small-12 {
+ height: calc(100% - 1.25rem); }
+ @media print, screen and (min-width: 40em) {
+ .grid-margin-y > .auto {
+ height: auto; }
+ .grid-margin-y > .shrink {
+ height: auto; }
+ .grid-margin-y > .small-1 {
+ height: calc(8.33333% - 1.875rem); }
+ .grid-margin-y > .small-2 {
+ height: calc(16.66667% - 1.875rem); }
+ .grid-margin-y > .small-3 {
+ height: calc(25% - 1.875rem); }
+ .grid-margin-y > .small-4 {
+ height: calc(33.33333% - 1.875rem); }
+ .grid-margin-y > .small-5 {
+ height: calc(41.66667% - 1.875rem); }
+ .grid-margin-y > .small-6 {
+ height: calc(50% - 1.875rem); }
+ .grid-margin-y > .small-7 {
+ height: calc(58.33333% - 1.875rem); }
+ .grid-margin-y > .small-8 {
+ height: calc(66.66667% - 1.875rem); }
+ .grid-margin-y > .small-9 {
+ height: calc(75% - 1.875rem); }
+ .grid-margin-y > .small-10 {
+ height: calc(83.33333% - 1.875rem); }
+ .grid-margin-y > .small-11 {
+ height: calc(91.66667% - 1.875rem); }
+ .grid-margin-y > .small-12 {
+ height: calc(100% - 1.875rem); }
+ .grid-margin-y > .medium-auto {
+ height: auto; }
+ .grid-margin-y > .medium-shrink {
+ height: auto; }
+ .grid-margin-y > .medium-1 {
+ height: calc(8.33333% - 1.875rem); }
+ .grid-margin-y > .medium-2 {
+ height: calc(16.66667% - 1.875rem); }
+ .grid-margin-y > .medium-3 {
+ height: calc(25% - 1.875rem); }
+ .grid-margin-y > .medium-4 {
+ height: calc(33.33333% - 1.875rem); }
+ .grid-margin-y > .medium-5 {
+ height: calc(41.66667% - 1.875rem); }
+ .grid-margin-y > .medium-6 {
+ height: calc(50% - 1.875rem); }
+ .grid-margin-y > .medium-7 {
+ height: calc(58.33333% - 1.875rem); }
+ .grid-margin-y > .medium-8 {
+ height: calc(66.66667% - 1.875rem); }
+ .grid-margin-y > .medium-9 {
+ height: calc(75% - 1.875rem); }
+ .grid-margin-y > .medium-10 {
+ height: calc(83.33333% - 1.875rem); }
+ .grid-margin-y > .medium-11 {
+ height: calc(91.66667% - 1.875rem); }
+ .grid-margin-y > .medium-12 {
+ height: calc(100% - 1.875rem); } }
+ @media print, screen and (min-width: 64em) {
+ .grid-margin-y > .large-auto {
+ height: auto; }
+ .grid-margin-y > .large-shrink {
+ height: auto; }
+ .grid-margin-y > .large-1 {
+ height: calc(8.33333% - 1.875rem); }
+ .grid-margin-y > .large-2 {
+ height: calc(16.66667% - 1.875rem); }
+ .grid-margin-y > .large-3 {
+ height: calc(25% - 1.875rem); }
+ .grid-margin-y > .large-4 {
+ height: calc(33.33333% - 1.875rem); }
+ .grid-margin-y > .large-5 {
+ height: calc(41.66667% - 1.875rem); }
+ .grid-margin-y > .large-6 {
+ height: calc(50% - 1.875rem); }
+ .grid-margin-y > .large-7 {
+ height: calc(58.33333% - 1.875rem); }
+ .grid-margin-y > .large-8 {
+ height: calc(66.66667% - 1.875rem); }
+ .grid-margin-y > .large-9 {
+ height: calc(75% - 1.875rem); }
+ .grid-margin-y > .large-10 {
+ height: calc(83.33333% - 1.875rem); }
+ .grid-margin-y > .large-11 {
+ height: calc(91.66667% - 1.875rem); }
+ .grid-margin-y > .large-12 {
+ height: calc(100% - 1.875rem); } }
+
+.grid-frame {
+ overflow: hidden;
+ position: relative;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -ms-flex-align: stretch;
+ align-items: stretch;
+ width: 100vw; }
+
+.cell .grid-frame {
+ width: 100%; }
+
+.cell-block {
+ overflow-x: auto;
+ max-width: 100%;
+ -webkit-overflow-scrolling: touch;
+ -ms-overflow-stype: -ms-autohiding-scrollbar; }
+
+.cell-block-y {
+ overflow-y: auto;
+ max-height: 100%;
+ -webkit-overflow-scrolling: touch;
+ -ms-overflow-stype: -ms-autohiding-scrollbar; }
+
+.cell-block-container {
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ max-height: 100%; }
+ .cell-block-container > .grid-x {
+ max-height: 100%;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap; }
+
+@media print, screen and (min-width: 40em) {
+ .medium-grid-frame {
+ overflow: hidden;
+ position: relative;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -ms-flex-align: stretch;
+ align-items: stretch;
+ width: 100vw; }
+ .cell .medium-grid-frame {
+ width: 100%; }
+ .medium-cell-block {
+ overflow-x: auto;
+ max-width: 100%;
+ -webkit-overflow-scrolling: touch;
+ -ms-overflow-stype: -ms-autohiding-scrollbar; }
+ .medium-cell-block-container {
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ max-height: 100%; }
+ .medium-cell-block-container > .grid-x {
+ max-height: 100%;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap; }
+ .medium-cell-block-y {
+ overflow-y: auto;
+ max-height: 100%;
+ -webkit-overflow-scrolling: touch;
+ -ms-overflow-stype: -ms-autohiding-scrollbar; } }
+
+@media print, screen and (min-width: 64em) {
+ .large-grid-frame {
+ overflow: hidden;
+ position: relative;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -ms-flex-align: stretch;
+ align-items: stretch;
+ width: 100vw; }
+ .cell .large-grid-frame {
+ width: 100%; }
+ .large-cell-block {
+ overflow-x: auto;
+ max-width: 100%;
+ -webkit-overflow-scrolling: touch;
+ -ms-overflow-stype: -ms-autohiding-scrollbar; }
+ .large-cell-block-container {
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ max-height: 100%; }
+ .large-cell-block-container > .grid-x {
+ max-height: 100%;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap; }
+ .large-cell-block-y {
+ overflow-y: auto;
+ max-height: 100%;
+ -webkit-overflow-scrolling: touch;
+ -ms-overflow-stype: -ms-autohiding-scrollbar; } }
+
+.grid-y.grid-frame {
+ width: auto;
+ overflow: hidden;
+ position: relative;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -ms-flex-align: stretch;
+ align-items: stretch;
+ height: 100vh; }
+
+@media print, screen and (min-width: 40em) {
+ .grid-y.medium-grid-frame {
+ width: auto;
+ overflow: hidden;
+ position: relative;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -ms-flex-align: stretch;
+ align-items: stretch;
+ height: 100vh; } }
+
+@media print, screen and (min-width: 64em) {
+ .grid-y.large-grid-frame {
+ width: auto;
+ overflow: hidden;
+ position: relative;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -ms-flex-align: stretch;
+ align-items: stretch;
+ height: 100vh; } }
+
+.cell .grid-y.grid-frame {
+ height: 100%; }
+
+@media print, screen and (min-width: 40em) {
+ .cell .grid-y.medium-grid-frame {
+ height: 100%; } }
+
+@media print, screen and (min-width: 64em) {
+ .cell .grid-y.large-grid-frame {
+ height: 100%; } }
+
+.grid-margin-y {
+ margin-top: -0.625rem;
+ margin-bottom: -0.625rem; }
+ @media print, screen and (min-width: 40em) {
+ .grid-margin-y {
+ margin-top: -0.9375rem;
+ margin-bottom: -0.9375rem; } }
+ .grid-margin-y > .cell {
+ height: calc(100% - 1.25rem);
+ margin-top: 0.625rem;
+ margin-bottom: 0.625rem; }
+ @media print, screen and (min-width: 40em) {
+ .grid-margin-y > .cell {
+ height: calc(100% - 1.875rem);
+ margin-top: 0.9375rem;
+ margin-bottom: 0.9375rem; } }
+ .grid-margin-y > .auto {
+ height: auto; }
+ .grid-margin-y > .shrink {
+ height: auto; }
+ .grid-margin-y > .small-1 {
+ height: calc(8.33333% - 1.25rem); }
+ .grid-margin-y > .small-2 {
+ height: calc(16.66667% - 1.25rem); }
+ .grid-margin-y > .small-3 {
+ height: calc(25% - 1.25rem); }
+ .grid-margin-y > .small-4 {
+ height: calc(33.33333% - 1.25rem); }
+ .grid-margin-y > .small-5 {
+ height: calc(41.66667% - 1.25rem); }
+ .grid-margin-y > .small-6 {
+ height: calc(50% - 1.25rem); }
+ .grid-margin-y > .small-7 {
+ height: calc(58.33333% - 1.25rem); }
+ .grid-margin-y > .small-8 {
+ height: calc(66.66667% - 1.25rem); }
+ .grid-margin-y > .small-9 {
+ height: calc(75% - 1.25rem); }
+ .grid-margin-y > .small-10 {
+ height: calc(83.33333% - 1.25rem); }
+ .grid-margin-y > .small-11 {
+ height: calc(91.66667% - 1.25rem); }
+ .grid-margin-y > .small-12 {
+ height: calc(100% - 1.25rem); }
+ @media print, screen and (min-width: 40em) {
+ .grid-margin-y > .auto {
+ height: auto; }
+ .grid-margin-y > .shrink {
+ height: auto; }
+ .grid-margin-y > .small-1 {
+ height: calc(8.33333% - 1.875rem); }
+ .grid-margin-y > .small-2 {
+ height: calc(16.66667% - 1.875rem); }
+ .grid-margin-y > .small-3 {
+ height: calc(25% - 1.875rem); }
+ .grid-margin-y > .small-4 {
+ height: calc(33.33333% - 1.875rem); }
+ .grid-margin-y > .small-5 {
+ height: calc(41.66667% - 1.875rem); }
+ .grid-margin-y > .small-6 {
+ height: calc(50% - 1.875rem); }
+ .grid-margin-y > .small-7 {
+ height: calc(58.33333% - 1.875rem); }
+ .grid-margin-y > .small-8 {
+ height: calc(66.66667% - 1.875rem); }
+ .grid-margin-y > .small-9 {
+ height: calc(75% - 1.875rem); }
+ .grid-margin-y > .small-10 {
+ height: calc(83.33333% - 1.875rem); }
+ .grid-margin-y > .small-11 {
+ height: calc(91.66667% - 1.875rem); }
+ .grid-margin-y > .small-12 {
+ height: calc(100% - 1.875rem); }
+ .grid-margin-y > .medium-auto {
+ height: auto; }
+ .grid-margin-y > .medium-shrink {
+ height: auto; }
+ .grid-margin-y > .medium-1 {
+ height: calc(8.33333% - 1.875rem); }
+ .grid-margin-y > .medium-2 {
+ height: calc(16.66667% - 1.875rem); }
+ .grid-margin-y > .medium-3 {
+ height: calc(25% - 1.875rem); }
+ .grid-margin-y > .medium-4 {
+ height: calc(33.33333% - 1.875rem); }
+ .grid-margin-y > .medium-5 {
+ height: calc(41.66667% - 1.875rem); }
+ .grid-margin-y > .medium-6 {
+ height: calc(50% - 1.875rem); }
+ .grid-margin-y > .medium-7 {
+ height: calc(58.33333% - 1.875rem); }
+ .grid-margin-y > .medium-8 {
+ height: calc(66.66667% - 1.875rem); }
+ .grid-margin-y > .medium-9 {
+ height: calc(75% - 1.875rem); }
+ .grid-margin-y > .medium-10 {
+ height: calc(83.33333% - 1.875rem); }
+ .grid-margin-y > .medium-11 {
+ height: calc(91.66667% - 1.875rem); }
+ .grid-margin-y > .medium-12 {
+ height: calc(100% - 1.875rem); } }
+ @media print, screen and (min-width: 64em) {
+ .grid-margin-y > .large-auto {
+ height: auto; }
+ .grid-margin-y > .large-shrink {
+ height: auto; }
+ .grid-margin-y > .large-1 {
+ height: calc(8.33333% - 1.875rem); }
+ .grid-margin-y > .large-2 {
+ height: calc(16.66667% - 1.875rem); }
+ .grid-margin-y > .large-3 {
+ height: calc(25% - 1.875rem); }
+ .grid-margin-y > .large-4 {
+ height: calc(33.33333% - 1.875rem); }
+ .grid-margin-y > .large-5 {
+ height: calc(41.66667% - 1.875rem); }
+ .grid-margin-y > .large-6 {
+ height: calc(50% - 1.875rem); }
+ .grid-margin-y > .large-7 {
+ height: calc(58.33333% - 1.875rem); }
+ .grid-margin-y > .large-8 {
+ height: calc(66.66667% - 1.875rem); }
+ .grid-margin-y > .large-9 {
+ height: calc(75% - 1.875rem); }
+ .grid-margin-y > .large-10 {
+ height: calc(83.33333% - 1.875rem); }
+ .grid-margin-y > .large-11 {
+ height: calc(91.66667% - 1.875rem); }
+ .grid-margin-y > .large-12 {
+ height: calc(100% - 1.875rem); } }
+
+.grid-frame.grid-margin-y {
+ height: calc(100vh + 1.25rem); }
+ @media print, screen and (min-width: 40em) {
+ .grid-frame.grid-margin-y {
+ height: calc(100vh + 1.875rem); } }
+ @media print, screen and (min-width: 64em) {
+ .grid-frame.grid-margin-y {
+ height: calc(100vh + 1.875rem); } }
+
+@media print, screen and (min-width: 40em) {
+ .grid-margin-y.medium-grid-frame {
+ height: calc(100vh + 1.875rem); } }
+
+@media print, screen and (min-width: 64em) {
+ .grid-margin-y.large-grid-frame {
+ height: calc(100vh + 1.875rem); } }
+
+.align-right {
+ -ms-flex-pack: end;
+ justify-content: flex-end; }
+
+.align-center {
+ -ms-flex-pack: center;
+ justify-content: center; }
+
+.align-justify {
+ -ms-flex-pack: justify;
+ justify-content: space-between; }
+
+.align-spaced {
+ -ms-flex-pack: distribute;
+ justify-content: space-around; }
+
+.align-right.vertical.menu > li > a {
+ -ms-flex-pack: end;
+ justify-content: flex-end; }
+
+.align-center.vertical.menu > li > a {
+ -ms-flex-pack: center;
+ justify-content: center; }
+
+.align-top {
+ -ms-flex-align: start;
+ align-items: flex-start; }
+
+.align-self-top {
+ -ms-flex-item-align: start;
+ align-self: flex-start; }
+
+.align-bottom {
+ -ms-flex-align: end;
+ align-items: flex-end; }
+
+.align-self-bottom {
+ -ms-flex-item-align: end;
+ align-self: flex-end; }
+
+.align-middle {
+ -ms-flex-align: center;
+ align-items: center; }
+
+.align-self-middle {
+ -ms-flex-item-align: center;
+ -ms-grid-row-align: center;
+ align-self: center; }
+
+.align-stretch {
+ -ms-flex-align: stretch;
+ align-items: stretch; }
+
+.align-self-stretch {
+ -ms-flex-item-align: stretch;
+ -ms-grid-row-align: stretch;
+ align-self: stretch; }
+
+.align-center-middle {
+ -ms-flex-pack: center;
+ justify-content: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -ms-flex-line-pack: center;
+ align-content: center; }
+
+.small-order-1 {
+ -ms-flex-order: 1;
+ order: 1; }
+
+.small-order-2 {
+ -ms-flex-order: 2;
+ order: 2; }
+
+.small-order-3 {
+ -ms-flex-order: 3;
+ order: 3; }
+
+.small-order-4 {
+ -ms-flex-order: 4;
+ order: 4; }
+
+.small-order-5 {
+ -ms-flex-order: 5;
+ order: 5; }
+
+.small-order-6 {
+ -ms-flex-order: 6;
+ order: 6; }
+
+@media print, screen and (min-width: 40em) {
+ .medium-order-1 {
+ -ms-flex-order: 1;
+ order: 1; }
+ .medium-order-2 {
+ -ms-flex-order: 2;
+ order: 2; }
+ .medium-order-3 {
+ -ms-flex-order: 3;
+ order: 3; }
+ .medium-order-4 {
+ -ms-flex-order: 4;
+ order: 4; }
+ .medium-order-5 {
+ -ms-flex-order: 5;
+ order: 5; }
+ .medium-order-6 {
+ -ms-flex-order: 6;
+ order: 6; } }
+
+@media print, screen and (min-width: 64em) {
+ .large-order-1 {
+ -ms-flex-order: 1;
+ order: 1; }
+ .large-order-2 {
+ -ms-flex-order: 2;
+ order: 2; }
+ .large-order-3 {
+ -ms-flex-order: 3;
+ order: 3; }
+ .large-order-4 {
+ -ms-flex-order: 4;
+ order: 4; }
+ .large-order-5 {
+ -ms-flex-order: 5;
+ order: 5; }
+ .large-order-6 {
+ -ms-flex-order: 6;
+ order: 6; } }
+
+.flex-container {
+ display: -ms-flexbox;
+ display: flex; }
+
+.flex-child-auto {
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto; }
+
+.flex-child-grow {
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto; }
+
+.flex-child-shrink {
+ -ms-flex: 0 1 auto;
+ flex: 0 1 auto; }
+
+.flex-dir-row {
+ -ms-flex-direction: row;
+ flex-direction: row; }
+
+.flex-dir-row-reverse {
+ -ms-flex-direction: row-reverse;
+ flex-direction: row-reverse; }
+
+.flex-dir-column {
+ -ms-flex-direction: column;
+ flex-direction: column; }
+
+.flex-dir-column-reverse {
+ -ms-flex-direction: column-reverse;
+ flex-direction: column-reverse; }
+
+@media print, screen and (min-width: 40em) {
+ .medium-flex-container {
+ display: -ms-flexbox;
+ display: flex; }
+ .medium-flex-child-auto {
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto; }
+ .medium-flex-child-grow {
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto; }
+ .medium-flex-child-shrink {
+ -ms-flex: 0 1 auto;
+ flex: 0 1 auto; }
+ .medium-flex-dir-row {
+ -ms-flex-direction: row;
+ flex-direction: row; }
+ .medium-flex-dir-row-reverse {
+ -ms-flex-direction: row-reverse;
+ flex-direction: row-reverse; }
+ .medium-flex-dir-column {
+ -ms-flex-direction: column;
+ flex-direction: column; }
+ .medium-flex-dir-column-reverse {
+ -ms-flex-direction: column-reverse;
+ flex-direction: column-reverse; } }
+
+@media print, screen and (min-width: 64em) {
+ .large-flex-container {
+ display: -ms-flexbox;
+ display: flex; }
+ .large-flex-child-auto {
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto; }
+ .large-flex-child-grow {
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto; }
+ .large-flex-child-shrink {
+ -ms-flex: 0 1 auto;
+ flex: 0 1 auto; }
+ .large-flex-dir-row {
+ -ms-flex-direction: row;
+ flex-direction: row; }
+ .large-flex-dir-row-reverse {
+ -ms-flex-direction: row-reverse;
+ flex-direction: row-reverse; }
+ .large-flex-dir-column {
+ -ms-flex-direction: column;
+ flex-direction: column; }
+ .large-flex-dir-column-reverse {
+ -ms-flex-direction: column-reverse;
+ flex-direction: column-reverse; } }
+
+div,
+dl,
+dt,
+dd,
+ul,
+ol,
+li,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+pre,
+form,
+p,
+blockquote,
+th,
+td {
+ margin: 0;
+ padding: 0; }
+
+p {
+ margin-bottom: 1rem;
+ font-size: inherit;
+ line-height: 1.6;
+ text-rendering: optimizeLegibility; }
+
+em,
+i {
+ font-style: italic;
+ line-height: inherit; }
+
+strong,
+b {
+ font-weight: bold;
+ line-height: inherit; }
+
+small {
+ font-size: 80%;
+ line-height: inherit; }
+
+h1, .h1,
+h2, .h2,
+h3, .h3,
+h4, .h4,
+h5, .h5,
+h6, .h6 {
+ font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
+ font-style: normal;
+ font-weight: normal;
+ color: inherit;
+ text-rendering: optimizeLegibility; }
+ h1 small, .h1 small,
+ h2 small, .h2 small,
+ h3 small, .h3 small,
+ h4 small, .h4 small,
+ h5 small, .h5 small,
+ h6 small, .h6 small {
+ line-height: 0;
+ color: #cacaca; }
+
+h1, .h1 {
+ font-size: 1.5rem;
+ line-height: 1.4;
+ margin-top: 0;
+ margin-bottom: 0.5rem; }
+
+h2, .h2 {
+ font-size: 1.25rem;
+ line-height: 1.4;
+ margin-top: 0;
+ margin-bottom: 0.5rem; }
+
+h3, .h3 {
+ font-size: 1.1875rem;
+ line-height: 1.4;
+ margin-top: 0;
+ margin-bottom: 0.5rem; }
+
+h4, .h4 {
+ font-size: 1.125rem;
+ line-height: 1.4;
+ margin-top: 0;
+ margin-bottom: 0.5rem; }
+
+h5, .h5 {
+ font-size: 1.0625rem;
+ line-height: 1.4;
+ margin-top: 0;
+ margin-bottom: 0.5rem; }
+
+h6, .h6 {
+ font-size: 1rem;
+ line-height: 1.4;
+ margin-top: 0;
+ margin-bottom: 0.5rem; }
+
+@media print, screen and (min-width: 40em) {
+ h1, .h1 {
+ font-size: 3rem; }
+ h2, .h2 {
+ font-size: 2.5rem; }
+ h3, .h3 {
+ font-size: 1.9375rem; }
+ h4, .h4 {
+ font-size: 1.5625rem; }
+ h5, .h5 {
+ font-size: 1.25rem; }
+ h6, .h6 {
+ font-size: 1rem; } }
+
+a {
+ line-height: inherit;
+ color: #1779ba;
+ text-decoration: none;
+ cursor: pointer; }
+ a:hover, a:focus {
+ color: #1468a0; }
+ a img {
+ border: 0; }
+
+hr {
+ clear: both;
+ max-width: 75rem;
+ height: 0;
+ margin: 1.25rem auto;
+ border-top: 0;
+ border-right: 0;
+ border-bottom: 1px solid #cacaca;
+ border-left: 0; }
+
+ul,
+ol,
+dl {
+ margin-bottom: 1rem;
+ list-style-position: outside;
+ line-height: 1.6; }
+
+li {
+ font-size: inherit; }
+
+ul {
+ margin-left: 1.25rem;
+ list-style-type: disc; }
+
+ol {
+ margin-left: 1.25rem; }
+
+ul ul, ol ul, ul ol, ol ol {
+ margin-left: 1.25rem;
+ margin-bottom: 0; }
+
+dl {
+ margin-bottom: 1rem; }
+ dl dt {
+ margin-bottom: 0.3rem;
+ font-weight: bold; }
+
+blockquote {
+ margin: 0 0 1rem;
+ padding: 0.5625rem 1.25rem 0 1.1875rem;
+ border-left: 1px solid #cacaca; }
+ blockquote, blockquote p {
+ line-height: 1.6;
+ color: #8a8a8a; }
+
+cite {
+ display: block;
+ font-size: 0.8125rem;
+ color: #8a8a8a; }
+ cite:before {
+ content: "— "; }
+
+abbr, abbr[title] {
+ border-bottom: 1px dotted #0a0a0a;
+ cursor: help;
+ text-decoration: none; }
+
+figure {
+ margin: 0; }
+
+code {
+ padding: 0.125rem 0.3125rem 0.0625rem;
+ border: 1px solid #cacaca;
+ background-color: #e6e6e6;
+ font-family: Consolas, "Liberation Mono", Courier, monospace;
+ font-weight: normal;
+ color: #0a0a0a; }
+
+kbd {
+ margin: 0;
+ padding: 0.125rem 0.25rem 0;
+ background-color: #e6e6e6;
+ font-family: Consolas, "Liberation Mono", Courier, monospace;
+ color: #0a0a0a; }
+
+.subheader {
+ margin-top: 0.2rem;
+ margin-bottom: 0.5rem;
+ font-weight: normal;
+ line-height: 1.4;
+ color: #8a8a8a; }
+
+.lead {
+ font-size: 125%;
+ line-height: 1.6; }
+
+.stat {
+ font-size: 2.5rem;
+ line-height: 1; }
+ p + .stat {
+ margin-top: -1rem; }
+
+ul.no-bullet, ol.no-bullet {
+ margin-left: 0;
+ list-style: none; }
+
+.text-left {
+ text-align: left; }
+
+.text-right {
+ text-align: right; }
+
+.text-center {
+ text-align: center; }
+
+.text-justify {
+ text-align: justify; }
+
+@media print, screen and (min-width: 40em) {
+ .medium-text-left {
+ text-align: left; }
+ .medium-text-right {
+ text-align: right; }
+ .medium-text-center {
+ text-align: center; }
+ .medium-text-justify {
+ text-align: justify; } }
+
+@media print, screen and (min-width: 64em) {
+ .large-text-left {
+ text-align: left; }
+ .large-text-right {
+ text-align: right; }
+ .large-text-center {
+ text-align: center; }
+ .large-text-justify {
+ text-align: justify; } }
+
+.show-for-print {
+ display: none !important; }
+
+@media print {
+ * {
+ background: transparent !important;
+ box-shadow: none !important;
+ color: black !important;
+ text-shadow: none !important; }
+ .show-for-print {
+ display: block !important; }
+ .hide-for-print {
+ display: none !important; }
+ table.show-for-print {
+ display: table !important; }
+ thead.show-for-print {
+ display: table-header-group !important; }
+ tbody.show-for-print {
+ display: table-row-group !important; }
+ tr.show-for-print {
+ display: table-row !important; }
+ td.show-for-print {
+ display: table-cell !important; }
+ th.show-for-print {
+ display: table-cell !important; }
+ a,
+ a:visited {
+ text-decoration: underline; }
+ a[href]:after {
+ content: " (" attr(href) ")"; }
+ .ir a:after,
+ a[href^='javascript:']:after,
+ a[href^='#']:after {
+ content: ''; }
+ abbr[title]:after {
+ content: " (" attr(title) ")"; }
+ pre,
+ blockquote {
+ border: 1px solid #8a8a8a;
+ page-break-inside: avoid; }
+ thead {
+ display: table-header-group; }
+ tr,
+ img {
+ page-break-inside: avoid; }
+ img {
+ max-width: 100% !important; }
+ @page {
+ margin: 0.5cm; }
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3; }
+ h2,
+ h3 {
+ page-break-after: avoid; }
+ .print-break-inside {
+ page-break-inside: auto; } }
+
+.button {
+ display: inline-block;
+ vertical-align: middle;
+ margin: 0 0 1rem 0;
+ font-family: inherit;
+ padding: 0.85em 1em;
+ -webkit-appearance: none;
+ border: 1px solid transparent;
+ border-radius: 0;
+ transition: background-color 0.25s ease-out, color 0.25s ease-out;
+ font-size: 0.9rem;
+ line-height: 1;
+ text-align: center;
+ cursor: pointer;
+ background-color: #1779ba;
+ color: #fefefe; }
+ [data-whatinput='mouse'] .button {
+ outline: 0; }
+ .button:hover, .button:focus {
+ background-color: #14679e;
+ color: #fefefe; }
+ .button.tiny {
+ font-size: 0.6rem; }
+ .button.small {
+ font-size: 0.75rem; }
+ .button.large {
+ font-size: 1.25rem; }
+ .button.expanded {
+ display: block;
+ width: 100%;
+ margin-right: 0;
+ margin-left: 0; }
+ .button.primary {
+ background-color: #1779ba;
+ color: #fefefe; }
+ .button.primary:hover, .button.primary:focus {
+ background-color: #126195;
+ color: #fefefe; }
+ .button.secondary {
+ background-color: #767676;
+ color: #fefefe; }
+ .button.secondary:hover, .button.secondary:focus {
+ background-color: #5e5e5e;
+ color: #fefefe; }
+ .button.success {
+ background-color: #3adb76;
+ color: #0a0a0a; }
+ .button.success:hover, .button.success:focus {
+ background-color: #22bb5b;
+ color: #0a0a0a; }
+ .button.warning {
+ background-color: #ffae00;
+ color: #0a0a0a; }
+ .button.warning:hover, .button.warning:focus {
+ background-color: #cc8b00;
+ color: #0a0a0a; }
+ .button.alert {
+ background-color: #cc4b37;
+ color: #fefefe; }
+ .button.alert:hover, .button.alert:focus {
+ background-color: #a53b2a;
+ color: #fefefe; }
+ .button.disabled, .button[disabled] {
+ opacity: 0.25;
+ cursor: not-allowed; }
+ .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
+ background-color: #1779ba;
+ color: #fefefe; }
+ .button.disabled.primary, .button[disabled].primary {
+ opacity: 0.25;
+ cursor: not-allowed; }
+ .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
+ background-color: #1779ba;
+ color: #fefefe; }
+ .button.disabled.secondary, .button[disabled].secondary {
+ opacity: 0.25;
+ cursor: not-allowed; }
+ .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
+ background-color: #767676;
+ color: #fefefe; }
+ .button.disabled.success, .button[disabled].success {
+ opacity: 0.25;
+ cursor: not-allowed; }
+ .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
+ background-color: #3adb76;
+ color: #0a0a0a; }
+ .button.disabled.warning, .button[disabled].warning {
+ opacity: 0.25;
+ cursor: not-allowed; }
+ .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
+ background-color: #ffae00;
+ color: #0a0a0a; }
+ .button.disabled.alert, .button[disabled].alert {
+ opacity: 0.25;
+ cursor: not-allowed; }
+ .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
+ background-color: #cc4b37;
+ color: #fefefe; }
+ .button.hollow {
+ border: 1px solid #1779ba;
+ color: #1779ba; }
+ .button.hollow, .button.hollow:hover, .button.hollow:focus {
+ background-color: transparent; }
+ .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
+ background-color: transparent; }
+ .button.hollow:hover, .button.hollow:focus {
+ border-color: #0c3d5d;
+ color: #0c3d5d; }
+ .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
+ border: 1px solid #1779ba;
+ color: #1779ba; }
+ .button.hollow.primary {
+ border: 1px solid #1779ba;
+ color: #1779ba; }
+ .button.hollow.primary:hover, .button.hollow.primary:focus {
+ border-color: #0c3d5d;
+ color: #0c3d5d; }
+ .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
+ border: 1px solid #1779ba;
+ color: #1779ba; }
+ .button.hollow.secondary {
+ border: 1px solid #767676;
+ color: #767676; }
+ .button.hollow.secondary:hover, .button.hollow.secondary:focus {
+ border-color: #3b3b3b;
+ color: #3b3b3b; }
+ .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
+ border: 1px solid #767676;
+ color: #767676; }
+ .button.hollow.success {
+ border: 1px solid #3adb76;
+ color: #3adb76; }
+ .button.hollow.success:hover, .button.hollow.success:focus {
+ border-color: #157539;
+ color: #157539; }
+ .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
+ border: 1px solid #3adb76;
+ color: #3adb76; }
+ .button.hollow.warning {
+ border: 1px solid #ffae00;
+ color: #ffae00; }
+ .button.hollow.warning:hover, .button.hollow.warning:focus {
+ border-color: #805700;
+ color: #805700; }
+ .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
+ border: 1px solid #ffae00;
+ color: #ffae00; }
+ .button.hollow.alert {
+ border: 1px solid #cc4b37;
+ color: #cc4b37; }
+ .button.hollow.alert:hover, .button.hollow.alert:focus {
+ border-color: #67251a;
+ color: #67251a; }
+ .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
+ border: 1px solid #cc4b37;
+ color: #cc4b37; }
+ .button.clear {
+ border: 1px solid #1779ba;
+ color: #1779ba; }
+ .button.clear, .button.clear:hover, .button.clear:focus {
+ background-color: transparent; }
+ .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
+ background-color: transparent; }
+ .button.clear:hover, .button.clear:focus {
+ border-color: #0c3d5d;
+ color: #0c3d5d; }
+ .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
+ border: 1px solid #1779ba;
+ color: #1779ba; }
+ .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
+ border-color: transparent; }
+ .button.clear.primary {
+ border: 1px solid #1779ba;
+ color: #1779ba; }
+ .button.clear.primary:hover, .button.clear.primary:focus {
+ border-color: #0c3d5d;
+ color: #0c3d5d; }
+ .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
+ border: 1px solid #1779ba;
+ color: #1779ba; }
+ .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
+ border-color: transparent; }
+ .button.clear.secondary {
+ border: 1px solid #767676;
+ color: #767676; }
+ .button.clear.secondary:hover, .button.clear.secondary:focus {
+ border-color: #3b3b3b;
+ color: #3b3b3b; }
+ .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
+ border: 1px solid #767676;
+ color: #767676; }
+ .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
+ border-color: transparent; }
+ .button.clear.success {
+ border: 1px solid #3adb76;
+ color: #3adb76; }
+ .button.clear.success:hover, .button.clear.success:focus {
+ border-color: #157539;
+ color: #157539; }
+ .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
+ border: 1px solid #3adb76;
+ color: #3adb76; }
+ .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
+ border-color: transparent; }
+ .button.clear.warning {
+ border: 1px solid #ffae00;
+ color: #ffae00; }
+ .button.clear.warning:hover, .button.clear.warning:focus {
+ border-color: #805700;
+ color: #805700; }
+ .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
+ border: 1px solid #ffae00;
+ color: #ffae00; }
+ .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
+ border-color: transparent; }
+ .button.clear.alert {
+ border: 1px solid #cc4b37;
+ color: #cc4b37; }
+ .button.clear.alert:hover, .button.clear.alert:focus {
+ border-color: #67251a;
+ color: #67251a; }
+ .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
+ border: 1px solid #cc4b37;
+ color: #cc4b37; }
+ .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
+ border-color: transparent; }
+ .button.dropdown::after {
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 0.4em;
+ content: '';
+ border-bottom-width: 0;
+ border-top-style: solid;
+ border-color: #fefefe transparent transparent;
+ position: relative;
+ top: 0.4em;
+ display: inline-block;
+ float: right;
+ margin-left: 1em; }
+ .button.dropdown.hollow::after {
+ border-top-color: #1779ba; }
+ .button.dropdown.hollow.primary::after {
+ border-top-color: #1779ba; }
+ .button.dropdown.hollow.secondary::after {
+ border-top-color: #767676; }
+ .button.dropdown.hollow.success::after {
+ border-top-color: #3adb76; }
+ .button.dropdown.hollow.warning::after {
+ border-top-color: #ffae00; }
+ .button.dropdown.hollow.alert::after {
+ border-top-color: #cc4b37; }
+ .button.arrow-only::after {
+ top: -0.1em;
+ float: none;
+ margin-left: 0; }
+
+a.button:hover, a.button:focus {
+ text-decoration: none; }
+
+[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
+textarea {
+ display: block;
+ box-sizing: border-box;
+ width: 100%;
+ height: 2.4375rem;
+ margin: 0 0 1rem;
+ padding: 0.5rem;
+ border: 1px solid #cacaca;
+ border-radius: 0;
+ background-color: #fefefe;
+ box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
+ font-family: inherit;
+ font-size: 1rem;
+ font-weight: normal;
+ line-height: 1.5;
+ color: #0a0a0a;
+ transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none; }
+ [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
+ textarea:focus {
+ outline: none;
+ border: 1px solid #8a8a8a;
+ background-color: #fefefe;
+ box-shadow: 0 0 5px #cacaca;
+ transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
+
+textarea {
+ max-width: 100%; }
+ textarea[rows] {
+ height: auto; }
+
+input::-webkit-input-placeholder,
+textarea::-webkit-input-placeholder {
+ color: #cacaca; }
+
+input::-moz-placeholder,
+textarea::-moz-placeholder {
+ color: #cacaca; }
+
+input:-ms-input-placeholder,
+textarea:-ms-input-placeholder {
+ color: #cacaca; }
+
+input::placeholder,
+textarea::placeholder {
+ color: #cacaca; }
+
+input:disabled, input[readonly],
+textarea:disabled,
+textarea[readonly] {
+ background-color: #e6e6e6;
+ cursor: not-allowed; }
+
+[type='submit'],
+[type='button'] {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ border-radius: 0; }
+
+input[type='search'] {
+ box-sizing: border-box; }
+
+[type='file'],
+[type='checkbox'],
+[type='radio'] {
+ margin: 0 0 1rem; }
+
+[type='checkbox'] + label,
+[type='radio'] + label {
+ display: inline-block;
+ vertical-align: baseline;
+ margin-left: 0.5rem;
+ margin-right: 1rem;
+ margin-bottom: 0; }
+ [type='checkbox'] + label[for],
+ [type='radio'] + label[for] {
+ cursor: pointer; }
+
+label > [type='checkbox'],
+label > [type='radio'] {
+ margin-right: 0.5rem; }
+
+[type='file'] {
+ width: 100%; }
+
+label {
+ display: block;
+ margin: 0;
+ font-size: 0.875rem;
+ font-weight: normal;
+ line-height: 1.8;
+ color: #0a0a0a; }
+ label.middle {
+ margin: 0 0 1rem;
+ padding: 0.5625rem 0; }
+
+.help-text {
+ margin-top: -0.5rem;
+ font-size: 0.8125rem;
+ font-style: italic;
+ color: #0a0a0a; }
+
+.input-group {
+ display: -ms-flexbox;
+ display: flex;
+ width: 100%;
+ margin-bottom: 1rem;
+ -ms-flex-align: stretch;
+ align-items: stretch; }
+ .input-group > :first-child {
+ border-radius: 0 0 0 0; }
+ .input-group > :last-child > * {
+ border-radius: 0 0 0 0; }
+
+.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
+.input-group-button input,
+.input-group-button button,
+.input-group-button label {
+ margin: 0;
+ white-space: nowrap; }
+
+.input-group-label {
+ padding: 0 1rem;
+ border: 1px solid #cacaca;
+ background: #e6e6e6;
+ color: #0a0a0a;
+ text-align: center;
+ white-space: nowrap;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ -ms-flex-align: center;
+ align-items: center; }
+ .input-group-label:first-child {
+ border-right: 0; }
+ .input-group-label:last-child {
+ border-left: 0; }
+
+.input-group-field {
+ border-radius: 0;
+ -ms-flex: 1 1 0px;
+ flex: 1 1 0px;
+ height: auto;
+ min-width: 0; }
+
+.input-group-button {
+ padding-top: 0;
+ padding-bottom: 0;
+ text-align: center;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto; }
+ .input-group-button a,
+ .input-group-button input,
+ .input-group-button button,
+ .input-group-button label {
+ height: auto;
+ -ms-flex-item-align: stretch;
+ -ms-grid-row-align: stretch;
+ align-self: stretch;
+ padding-top: 0;
+ padding-bottom: 0;
+ font-size: 1rem; }
+
+fieldset {
+ margin: 0;
+ padding: 0;
+ border: 0; }
+
+legend {
+ max-width: 100%;
+ margin-bottom: 0.5rem; }
+
+.fieldset {
+ margin: 1.125rem 0;
+ padding: 1.25rem;
+ border: 1px solid #cacaca; }
+ .fieldset legend {
+ margin: 0;
+ margin-left: -0.1875rem;
+ padding: 0 0.1875rem; }
+
+select {
+ height: 2.4375rem;
+ margin: 0 0 1rem;
+ padding: 0.5rem;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ border: 1px solid #cacaca;
+ border-radius: 0;
+ background-color: #fefefe;
+ font-family: inherit;
+ font-size: 1rem;
+ font-weight: normal;
+ line-height: 1.5;
+ color: #0a0a0a;
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
+ background-origin: content-box;
+ background-position: right -1rem center;
+ background-repeat: no-repeat;
+ background-size: 9px 6px;
+ padding-right: 1.5rem;
+ transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
+ @media screen and (min-width: 0\0) {
+ select {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
+ select:focus {
+ outline: none;
+ border: 1px solid #8a8a8a;
+ background-color: #fefefe;
+ box-shadow: 0 0 5px #cacaca;
+ transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
+ select:disabled {
+ background-color: #e6e6e6;
+ cursor: not-allowed; }
+ select::-ms-expand {
+ display: none; }
+ select[multiple] {
+ height: auto;
+ background-image: none; }
+
+.is-invalid-input:not(:focus) {
+ border-color: #cc4b37;
+ background-color: #f9ecea; }
+ .is-invalid-input:not(:focus)::-webkit-input-placeholder {
+ color: #cc4b37; }
+ .is-invalid-input:not(:focus)::-moz-placeholder {
+ color: #cc4b37; }
+ .is-invalid-input:not(:focus):-ms-input-placeholder {
+ color: #cc4b37; }
+ .is-invalid-input:not(:focus)::placeholder {
+ color: #cc4b37; }
+
+.is-invalid-label {
+ color: #cc4b37; }
+
+.form-error {
+ display: none;
+ margin-top: -0.5rem;
+ margin-bottom: 1rem;
+ font-size: 0.75rem;
+ font-weight: bold;
+ color: #cc4b37; }
+ .form-error.is-visible {
+ display: block; }
+
+.accordion {
+ margin-left: 0;
+ background: #fefefe;
+ list-style-type: none; }
+ .accordion[disabled] .accordion-title {
+ cursor: not-allowed; }
+
+.accordion-item:first-child > :first-child {
+ border-radius: 0 0 0 0; }
+
+.accordion-item:last-child > :last-child {
+ border-radius: 0 0 0 0; }
+
+.accordion-title {
+ position: relative;
+ display: block;
+ padding: 1.25rem 1rem;
+ border: 1px solid #e6e6e6;
+ border-bottom: 0;
+ font-size: 0.75rem;
+ line-height: 1;
+ color: #1779ba; }
+ :last-child:not(.is-active) > .accordion-title {
+ border-bottom: 1px solid #e6e6e6;
+ border-radius: 0 0 0 0; }
+ .accordion-title:hover, .accordion-title:focus {
+ background-color: #e6e6e6; }
+ .accordion-title::before {
+ position: absolute;
+ top: 50%;
+ right: 1rem;
+ margin-top: -0.5rem;
+ content: '+'; }
+ .is-active > .accordion-title::before {
+ content: '\2013'; }
+
+.accordion-content {
+ display: none;
+ padding: 1rem;
+ border: 1px solid #e6e6e6;
+ border-bottom: 0;
+ background-color: #fefefe;
+ color: #0a0a0a; }
+ :last-child > .accordion-content:last-child {
+ border-bottom: 1px solid #e6e6e6; }
+
+.accordion-menu li {
+ width: 100%; }
+
+.accordion-menu a {
+ padding: 0.7rem 1rem; }
+
+.accordion-menu .is-accordion-submenu a {
+ padding: 0.7rem 1rem; }
+
+.accordion-menu .nested.is-accordion-submenu {
+ margin-right: 0;
+ margin-left: 1rem; }
+
+.accordion-menu.align-right .nested.is-accordion-submenu {
+ margin-right: 1rem;
+ margin-left: 0; }
+
+.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
+ position: relative; }
+ .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ content: '';
+ border-bottom-width: 0;
+ border-top-style: solid;
+ border-color: #1779ba transparent transparent;
+ position: absolute;
+ top: 50%;
+ margin-top: -3px;
+ right: 1rem; }
+
+.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
+ left: auto;
+ right: 1rem; }
+
+.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
+ right: auto;
+ left: 1rem; }
+
+.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
+ -ms-transform: rotate(180deg);
+ transform: rotate(180deg);
+ -ms-transform-origin: 50% 50%;
+ transform-origin: 50% 50%; }
+
+.is-accordion-submenu-parent {
+ position: relative; }
+
+.has-submenu-toggle > a {
+ margin-right: 40px; }
+
+.submenu-toggle {
+ position: absolute;
+ top: 0;
+ right: 0;
+ cursor: pointer;
+ width: 40px;
+ height: 40px; }
+ .submenu-toggle::after {
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ content: '';
+ border-bottom-width: 0;
+ border-top-style: solid;
+ border-color: #1779ba transparent transparent;
+ top: 0;
+ bottom: 0;
+ margin: auto; }
+
+.submenu-toggle[aria-expanded='true']::after {
+ -ms-transform: scaleY(-1);
+ transform: scaleY(-1);
+ -ms-transform-origin: 50% 50%;
+ transform-origin: 50% 50%; }
+
+.submenu-toggle-text {
+ position: absolute !important;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ white-space: nowrap;
+ -webkit-clip-path: inset(50%);
+ clip-path: inset(50%);
+ border: 0; }
+
+.badge {
+ display: inline-block;
+ min-width: 2.1em;
+ padding: 0.3em;
+ border-radius: 50%;
+ font-size: 0.6rem;
+ text-align: center;
+ background: #1779ba;
+ color: #fefefe; }
+ .badge.primary {
+ background: #1779ba;
+ color: #fefefe; }
+ .badge.secondary {
+ background: #767676;
+ color: #fefefe; }
+ .badge.success {
+ background: #3adb76;
+ color: #0a0a0a; }
+ .badge.warning {
+ background: #ffae00;
+ color: #0a0a0a; }
+ .badge.alert {
+ background: #cc4b37;
+ color: #fefefe; }
+
+.breadcrumbs {
+ margin: 0 0 1rem 0;
+ list-style: none; }
+ .breadcrumbs::before, .breadcrumbs::after {
+ display: table;
+ content: ' ';
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -ms-flex-order: 1;
+ order: 1; }
+ .breadcrumbs::after {
+ clear: both; }
+ .breadcrumbs li {
+ float: left;
+ font-size: 0.6875rem;
+ color: #0a0a0a;
+ cursor: default;
+ text-transform: uppercase; }
+ .breadcrumbs li:not(:last-child)::after {
+ position: relative;
+ margin: 0 0.75rem;
+ opacity: 1;
+ content: "/";
+ color: #cacaca; }
+ .breadcrumbs a {
+ color: #1779ba; }
+ .breadcrumbs a:hover {
+ text-decoration: underline; }
+ .breadcrumbs .disabled {
+ color: #cacaca;
+ cursor: not-allowed; }
+
+.button-group {
+ margin-bottom: 1rem;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -ms-flex-align: stretch;
+ align-items: stretch; }
+ .button-group::before, .button-group::after {
+ display: table;
+ content: ' ';
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -ms-flex-order: 1;
+ order: 1; }
+ .button-group::after {
+ clear: both; }
+ .button-group .button {
+ margin: 0;
+ margin-right: 1px;
+ margin-bottom: 1px;
+ font-size: 0.9rem;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto; }
+ .button-group .button:last-child {
+ margin-right: 0; }
+ .button-group.tiny .button {
+ font-size: 0.6rem; }
+ .button-group.small .button {
+ font-size: 0.75rem; }
+ .button-group.large .button {
+ font-size: 1.25rem; }
+ .button-group.expanded .button {
+ -ms-flex: 1 1 0px;
+ flex: 1 1 0px; }
+ .button-group.primary .button {
+ background-color: #1779ba;
+ color: #fefefe; }
+ .button-group.primary .button:hover, .button-group.primary .button:focus {
+ background-color: #126195;
+ color: #fefefe; }
+ .button-group.secondary .button {
+ background-color: #767676;
+ color: #fefefe; }
+ .button-group.secondary .button:hover, .button-group.secondary .button:focus {
+ background-color: #5e5e5e;
+ color: #fefefe; }
+ .button-group.success .button {
+ background-color: #3adb76;
+ color: #0a0a0a; }
+ .button-group.success .button:hover, .button-group.success .button:focus {
+ background-color: #22bb5b;
+ color: #0a0a0a; }
+ .button-group.warning .button {
+ background-color: #ffae00;
+ color: #0a0a0a; }
+ .button-group.warning .button:hover, .button-group.warning .button:focus {
+ background-color: #cc8b00;
+ color: #0a0a0a; }
+ .button-group.alert .button {
+ background-color: #cc4b37;
+ color: #fefefe; }
+ .button-group.alert .button:hover, .button-group.alert .button:focus {
+ background-color: #a53b2a;
+ color: #fefefe; }
+ .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap; }
+ .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
+ -ms-flex: 0 0 100%;
+ flex: 0 0 100%; }
+ .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
+ margin-bottom: 0; }
+ @media print, screen and (min-width: 40em) {
+ .button-group.stacked-for-small .button {
+ -ms-flex: 1 1 0px;
+ flex: 1 1 0px;
+ margin-bottom: 0; } }
+ @media print, screen and (min-width: 64em) {
+ .button-group.stacked-for-medium .button {
+ -ms-flex: 1 1 0px;
+ flex: 1 1 0px;
+ margin-bottom: 0; } }
+ @media screen and (max-width: 39.9375em) {
+ .button-group.stacked-for-small.expanded {
+ display: block; }
+ .button-group.stacked-for-small.expanded .button {
+ display: block;
+ margin-right: 0; } }
+
+.card {
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ margin-bottom: 1rem;
+ border: 1px solid #e6e6e6;
+ border-radius: 0;
+ background: #fefefe;
+ box-shadow: none;
+ overflow: hidden;
+ color: #0a0a0a; }
+ .card > :last-child {
+ margin-bottom: 0; }
+
+.card-divider {
+ -ms-flex: 0 1 auto;
+ flex: 0 1 auto;
+ display: -ms-flexbox;
+ display: flex;
+ padding: 1rem;
+ background: #e6e6e6; }
+ .card-divider > :last-child {
+ margin-bottom: 0; }
+
+.card-section {
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto;
+ padding: 1rem; }
+ .card-section > :last-child {
+ margin-bottom: 0; }
+
+.card-image {
+ min-height: 1px; }
+
+.callout {
+ position: relative;
+ margin: 0 0 1rem 0;
+ padding: 1rem;
+ border: 1px solid rgba(10, 10, 10, 0.25);
+ border-radius: 0;
+ background-color: white;
+ color: #0a0a0a; }
+ .callout > :first-child {
+ margin-top: 0; }
+ .callout > :last-child {
+ margin-bottom: 0; }
+ .callout.primary {
+ background-color: #d7ecfa;
+ color: #0a0a0a; }
+ .callout.secondary {
+ background-color: #eaeaea;
+ color: #0a0a0a; }
+ .callout.success {
+ background-color: #e1faea;
+ color: #0a0a0a; }
+ .callout.warning {
+ background-color: #fff3d9;
+ color: #0a0a0a; }
+ .callout.alert {
+ background-color: #f7e4e1;
+ color: #0a0a0a; }
+ .callout.small {
+ padding-top: 0.5rem;
+ padding-right: 0.5rem;
+ padding-bottom: 0.5rem;
+ padding-left: 0.5rem; }
+ .callout.large {
+ padding-top: 3rem;
+ padding-right: 3rem;
+ padding-bottom: 3rem;
+ padding-left: 3rem; }
+
+.close-button {
+ position: absolute;
+ color: #8a8a8a;
+ cursor: pointer; }
+ [data-whatinput='mouse'] .close-button {
+ outline: 0; }
+ .close-button:hover, .close-button:focus {
+ color: #0a0a0a; }
+ .close-button.small {
+ right: 0.66rem;
+ top: 0.33em;
+ font-size: 1.5em;
+ line-height: 1; }
+ .close-button, .close-button.medium {
+ right: 1rem;
+ top: 0.5rem;
+ font-size: 2em;
+ line-height: 1; }
+
+.menu {
+ padding: 0;
+ margin: 0;
+ list-style: none;
+ position: relative;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap; }
+ [data-whatinput='mouse'] .menu li {
+ outline: 0; }
+ .menu a,
+ .menu .button {
+ line-height: 1;
+ text-decoration: none;
+ display: block;
+ padding: 0.7rem 1rem; }
+ .menu input,
+ .menu select,
+ .menu a,
+ .menu button {
+ margin-bottom: 0; }
+ .menu input {
+ display: inline-block; }
+ .menu, .menu.horizontal {
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -ms-flex-direction: row;
+ flex-direction: row; }
+ .menu.vertical {
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -ms-flex-direction: column;
+ flex-direction: column; }
+ .menu.expanded li {
+ -ms-flex: 1 1 0px;
+ flex: 1 1 0px; }
+ .menu.simple {
+ -ms-flex-align: center;
+ align-items: center; }
+ .menu.simple li + li {
+ margin-left: 1rem; }
+ .menu.simple a {
+ padding: 0; }
+ @media print, screen and (min-width: 40em) {
+ .menu.medium-horizontal {
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -ms-flex-direction: row;
+ flex-direction: row; }
+ .menu.medium-vertical {
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -ms-flex-direction: column;
+ flex-direction: column; }
+ .menu.medium-expanded li {
+ -ms-flex: 1 1 0px;
+ flex: 1 1 0px; }
+ .menu.medium-simple li {
+ -ms-flex: 1 1 0px;
+ flex: 1 1 0px; } }
+ @media print, screen and (min-width: 64em) {
+ .menu.large-horizontal {
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -ms-flex-direction: row;
+ flex-direction: row; }
+ .menu.large-vertical {
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -ms-flex-direction: column;
+ flex-direction: column; }
+ .menu.large-expanded li {
+ -ms-flex: 1 1 0px;
+ flex: 1 1 0px; }
+ .menu.large-simple li {
+ -ms-flex: 1 1 0px;
+ flex: 1 1 0px; } }
+ .menu.nested {
+ margin-right: 0;
+ margin-left: 1rem; }
+ .menu.icons a {
+ display: -ms-flexbox;
+ display: flex; }
+ .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
+ display: -ms-flexbox;
+ display: flex; }
+ .menu.icon-left li a {
+ -ms-flex-flow: row nowrap;
+ flex-flow: row nowrap; }
+ .menu.icon-left li a img,
+ .menu.icon-left li a i,
+ .menu.icon-left li a svg {
+ margin-right: 0.25rem; }
+ .menu.icon-right li a {
+ -ms-flex-flow: row nowrap;
+ flex-flow: row nowrap; }
+ .menu.icon-right li a img,
+ .menu.icon-right li a i,
+ .menu.icon-right li a svg {
+ margin-left: 0.25rem; }
+ .menu.icon-top li a {
+ -ms-flex-flow: column nowrap;
+ flex-flow: column nowrap; }
+ .menu.icon-top li a img,
+ .menu.icon-top li a i,
+ .menu.icon-top li a svg {
+ -ms-flex-item-align: stretch;
+ -ms-grid-row-align: stretch;
+ align-self: stretch;
+ margin-bottom: 0.25rem;
+ text-align: center; }
+ .menu.icon-bottom li a {
+ -ms-flex-flow: column nowrap;
+ flex-flow: column nowrap; }
+ .menu.icon-bottom li a img,
+ .menu.icon-bottom li a i,
+ .menu.icon-bottom li a svg {
+ -ms-flex-item-align: stretch;
+ -ms-grid-row-align: stretch;
+ align-self: stretch;
+ margin-bottom: 0.25rem;
+ text-align: center; }
+ .menu .is-active > a {
+ background: #1779ba;
+ color: #fefefe; }
+ .menu .active > a {
+ background: #1779ba;
+ color: #fefefe; }
+ .menu.align-left {
+ -ms-flex-pack: start;
+ justify-content: flex-start; }
+ .menu.align-right li {
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-pack: end;
+ justify-content: flex-end; }
+ .menu.align-right li .submenu li {
+ -ms-flex-pack: start;
+ justify-content: flex-start; }
+ .menu.align-right.vertical li {
+ display: block;
+ text-align: right; }
+ .menu.align-right.vertical li .submenu li {
+ text-align: right; }
+ .menu.align-right .nested {
+ margin-right: 1rem;
+ margin-left: 0; }
+ .menu.align-center li {
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-pack: center;
+ justify-content: center; }
+ .menu.align-center li .submenu li {
+ -ms-flex-pack: start;
+ justify-content: flex-start; }
+ .menu .menu-text {
+ padding: 0.7rem 1rem;
+ font-weight: bold;
+ line-height: 1;
+ color: inherit; }
+
+.menu-centered > .menu {
+ -ms-flex-pack: center;
+ justify-content: center; }
+ .menu-centered > .menu li {
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-pack: center;
+ justify-content: center; }
+ .menu-centered > .menu li .submenu li {
+ -ms-flex-pack: start;
+ justify-content: flex-start; }
+
+.no-js [data-responsive-menu] ul {
+ display: none; }
+
+.menu-icon {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle;
+ width: 20px;
+ height: 16px;
+ cursor: pointer; }
+ .menu-icon::after {
+ position: absolute;
+ top: 0;
+ left: 0;
+ display: block;
+ width: 100%;
+ height: 2px;
+ background: #fefefe;
+ box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
+ content: ''; }
+ .menu-icon:hover::after {
+ background: #cacaca;
+ box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }
+
+.menu-icon.dark {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle;
+ width: 20px;
+ height: 16px;
+ cursor: pointer; }
+ .menu-icon.dark::after {
+ position: absolute;
+ top: 0;
+ left: 0;
+ display: block;
+ width: 100%;
+ height: 2px;
+ background: #0a0a0a;
+ box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
+ content: ''; }
+ .menu-icon.dark:hover::after {
+ background: #8a8a8a;
+ box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }
+
+.is-drilldown {
+ position: relative;
+ overflow: hidden; }
+ .is-drilldown li {
+ display: block; }
+ .is-drilldown.animate-height {
+ transition: height 0.5s; }
+
+.drilldown a {
+ padding: 0.7rem 1rem;
+ background: #fefefe; }
+
+.drilldown .is-drilldown-submenu {
+ position: absolute;
+ top: 0;
+ left: 100%;
+ z-index: -1;
+ width: 100%;
+ background: #fefefe;
+ transition: transform 0.15s linear; }
+ .drilldown .is-drilldown-submenu.is-active {
+ z-index: 1;
+ display: block;
+ -ms-transform: translateX(-100%);
+ transform: translateX(-100%); }
+ .drilldown .is-drilldown-submenu.is-closing {
+ -ms-transform: translateX(100%);
+ transform: translateX(100%); }
+ .drilldown .is-drilldown-submenu a {
+ padding: 0.7rem 1rem; }
+
+.drilldown .nested.is-drilldown-submenu {
+ margin-right: 0;
+ margin-left: 0; }
+
+.drilldown .drilldown-submenu-cover-previous {
+ min-height: 100%; }
+
+.drilldown .is-drilldown-submenu-parent > a {
+ position: relative; }
+ .drilldown .is-drilldown-submenu-parent > a::after {
+ position: absolute;
+ top: 50%;
+ margin-top: -6px;
+ right: 1rem;
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ content: '';
+ border-right-width: 0;
+ border-left-style: solid;
+ border-color: transparent transparent transparent #1779ba; }
+
+.drilldown.align-left .is-drilldown-submenu-parent > a::after {
+ left: auto;
+ right: 1rem;
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ content: '';
+ border-right-width: 0;
+ border-left-style: solid;
+ border-color: transparent transparent transparent #1779ba; }
+
+.drilldown.align-right .is-drilldown-submenu-parent > a::after {
+ right: auto;
+ left: 1rem;
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ content: '';
+ border-left-width: 0;
+ border-right-style: solid;
+ border-color: transparent #1779ba transparent transparent; }
+
+.drilldown .js-drilldown-back > a::before {
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ content: '';
+ border-left-width: 0;
+ border-right-style: solid;
+ border-color: transparent #1779ba transparent transparent;
+ border-left-width: 0;
+ display: inline-block;
+ vertical-align: middle;
+ margin-right: 0.75rem;
+ border-left-width: 0; }
+
+.dropdown-pane {
+ position: absolute;
+ z-index: 10;
+ width: 300px;
+ padding: 1rem;
+ visibility: hidden;
+ display: none;
+ border: 1px solid #cacaca;
+ border-radius: 0;
+ background-color: #fefefe;
+ font-size: 1rem; }
+ .dropdown-pane.is-opening {
+ display: block; }
+ .dropdown-pane.is-open {
+ visibility: visible;
+ display: block; }
+
+.dropdown-pane.tiny {
+ width: 100px; }
+
+.dropdown-pane.small {
+ width: 200px; }
+
+.dropdown-pane.large {
+ width: 400px; }
+
+.dropdown.menu > li.opens-left > .is-dropdown-submenu {
+ top: 100%;
+ right: 0;
+ left: auto; }
+
+.dropdown.menu > li.opens-right > .is-dropdown-submenu {
+ top: 100%;
+ right: auto;
+ left: 0; }
+
+.dropdown.menu > li.is-dropdown-submenu-parent > a {
+ position: relative;
+ padding-right: 1.5rem; }
+
+.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ content: '';
+ border-bottom-width: 0;
+ border-top-style: solid;
+ border-color: #1779ba transparent transparent;
+ right: 5px;
+ left: auto;
+ margin-top: -3px; }
+
+.dropdown.menu a {
+ padding: 0.7rem 1rem; }
+ [data-whatinput='mouse'] .dropdown.menu a {
+ outline: 0; }
+
+.dropdown.menu .is-active > a {
+ background: transparent;
+ color: #1779ba; }
+
+.no-js .dropdown.menu ul {
+ display: none; }
+
+.dropdown.menu .nested.is-dropdown-submenu {
+ margin-right: 0;
+ margin-left: 0; }
+
+.dropdown.menu.vertical > li .is-dropdown-submenu {
+ top: 0; }
+
+.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
+ right: 100%;
+ left: auto;
+ top: 0; }
+
+.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
+ right: auto;
+ left: 100%; }
+
+.dropdown.menu.vertical > li > a::after {
+ right: 14px; }
+
+.dropdown.menu.vertical > li.opens-left > a::after {
+ right: auto;
+ left: 5px;
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ content: '';
+ border-left-width: 0;
+ border-right-style: solid;
+ border-color: transparent #1779ba transparent transparent; }
+
+.dropdown.menu.vertical > li.opens-right > a::after {
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ content: '';
+ border-right-width: 0;
+ border-left-style: solid;
+ border-color: transparent transparent transparent #1779ba; }
+
+@media print, screen and (min-width: 40em) {
+ .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
+ top: 100%;
+ right: 0;
+ left: auto; }
+ .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
+ top: 100%;
+ right: auto;
+ left: 0; }
+ .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
+ position: relative;
+ padding-right: 1.5rem; }
+ .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ content: '';
+ border-bottom-width: 0;
+ border-top-style: solid;
+ border-color: #1779ba transparent transparent;
+ right: 5px;
+ left: auto;
+ margin-top: -3px; }
+ .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
+ top: 0; }
+ .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
+ right: 100%;
+ left: auto;
+ top: 0; }
+ .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
+ right: auto;
+ left: 100%; }
+ .dropdown.menu.medium-vertical > li > a::after {
+ right: 14px; }
+ .dropdown.menu.medium-vertical > li.opens-left > a::after {
+ right: auto;
+ left: 5px;
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ content: '';
+ border-left-width: 0;
+ border-right-style: solid;
+ border-color: transparent #1779ba transparent transparent; }
+ .dropdown.menu.medium-vertical > li.opens-right > a::after {
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ content: '';
+ border-right-width: 0;
+ border-left-style: solid;
+ border-color: transparent transparent transparent #1779ba; } }
+
+@media print, screen and (min-width: 64em) {
+ .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
+ top: 100%;
+ right: 0;
+ left: auto; }
+ .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
+ top: 100%;
+ right: auto;
+ left: 0; }
+ .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
+ position: relative;
+ padding-right: 1.5rem; }
+ .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ content: '';
+ border-bottom-width: 0;
+ border-top-style: solid;
+ border-color: #1779ba transparent transparent;
+ right: 5px;
+ left: auto;
+ margin-top: -3px; }
+ .dropdown.menu.large-vertical > li .is-dropdown-submenu {
+ top: 0; }
+ .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
+ right: 100%;
+ left: auto;
+ top: 0; }
+ .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
+ right: auto;
+ left: 100%; }
+ .dropdown.menu.large-vertical > li > a::after {
+ right: 14px; }
+ .dropdown.menu.large-vertical > li.opens-left > a::after {
+ right: auto;
+ left: 5px;
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ content: '';
+ border-left-width: 0;
+ border-right-style: solid;
+ border-color: transparent #1779ba transparent transparent; }
+ .dropdown.menu.large-vertical > li.opens-right > a::after {
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ content: '';
+ border-right-width: 0;
+ border-left-style: solid;
+ border-color: transparent transparent transparent #1779ba; } }
+
+.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
+ top: 100%;
+ right: 0;
+ left: auto; }
+
+.is-dropdown-menu.vertical {
+ width: 100px; }
+ .is-dropdown-menu.vertical.align-right {
+ float: right; }
+
+.is-dropdown-submenu-parent {
+ position: relative; }
+ .is-dropdown-submenu-parent a::after {
+ position: absolute;
+ top: 50%;
+ right: 5px;
+ left: auto;
+ margin-top: -6px; }
+ .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
+ top: 100%;
+ left: auto; }
+ .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
+ right: 100%;
+ left: auto; }
+ .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
+ right: auto;
+ left: 100%; }
+
+.is-dropdown-submenu {
+ position: absolute;
+ top: 0;
+ left: 100%;
+ z-index: 1;
+ display: none;
+ min-width: 200px;
+ border: 1px solid #cacaca;
+ background: #fefefe; }
+ .dropdown .is-dropdown-submenu a {
+ padding: 0.7rem 1rem; }
+ .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
+ right: 14px; }
+ .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
+ right: auto;
+ left: 5px;
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ content: '';
+ border-left-width: 0;
+ border-right-style: solid;
+ border-color: transparent #1779ba transparent transparent; }
+ .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ content: '';
+ border-right-width: 0;
+ border-left-style: solid;
+ border-color: transparent transparent transparent #1779ba; }
+ .is-dropdown-submenu .is-dropdown-submenu {
+ margin-top: -1px; }
+ .is-dropdown-submenu > li {
+ width: 100%; }
+ .is-dropdown-submenu.js-dropdown-active {
+ display: block; }
+
+.responsive-embed,
+.flex-video {
+ position: relative;
+ height: 0;
+ margin-bottom: 1rem;
+ padding-bottom: 75%;
+ overflow: hidden; }
+ .responsive-embed iframe,
+ .responsive-embed object,
+ .responsive-embed embed,
+ .responsive-embed video,
+ .flex-video iframe,
+ .flex-video object,
+ .flex-video embed,
+ .flex-video video {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%; }
+ .responsive-embed.widescreen,
+ .flex-video.widescreen {
+ padding-bottom: 56.25%; }
+
+.label {
+ display: inline-block;
+ padding: 0.33333rem 0.5rem;
+ border-radius: 0;
+ font-size: 0.8rem;
+ line-height: 1;
+ white-space: nowrap;
+ cursor: default;
+ background: #1779ba;
+ color: #fefefe; }
+ .label.primary {
+ background: #1779ba;
+ color: #fefefe; }
+ .label.secondary {
+ background: #767676;
+ color: #fefefe; }
+ .label.success {
+ background: #3adb76;
+ color: #0a0a0a; }
+ .label.warning {
+ background: #ffae00;
+ color: #0a0a0a; }
+ .label.alert {
+ background: #cc4b37;
+ color: #fefefe; }
+
+.media-object {
+ display: -ms-flexbox;
+ display: flex;
+ margin-bottom: 1rem;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap; }
+ .media-object img {
+ max-width: none; }
+ @media screen and (max-width: 39.9375em) {
+ .media-object.stack-for-small {
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap; } }
+ @media screen and (max-width: 39.9375em) {
+ .media-object.stack-for-small .media-object-section {
+ padding: 0;
+ padding-bottom: 1rem;
+ -ms-flex-preferred-size: 100%;
+ flex-basis: 100%;
+ max-width: 100%; }
+ .media-object.stack-for-small .media-object-section img {
+ width: 100%; } }
+
+.media-object-section {
+ -ms-flex: 0 1 auto;
+ flex: 0 1 auto; }
+ .media-object-section:first-child {
+ padding-right: 1rem; }
+ .media-object-section:last-child:not(:nth-child(2)) {
+ padding-left: 1rem; }
+ .media-object-section > :last-child {
+ margin-bottom: 0; }
+ .media-object-section.main-section {
+ -ms-flex: 1 1 0px;
+ flex: 1 1 0px; }
+
+.is-off-canvas-open {
+ overflow: hidden; }
+
+.js-off-canvas-overlay {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 11;
+ width: 100%;
+ height: 100%;
+ transition: opacity 0.5s ease, visibility 0.5s ease;
+ background: rgba(254, 254, 254, 0.25);
+ opacity: 0;
+ visibility: hidden;
+ overflow: hidden; }
+ .js-off-canvas-overlay.is-visible {
+ opacity: 1;
+ visibility: visible; }
+ .js-off-canvas-overlay.is-closable {
+ cursor: pointer; }
+ .js-off-canvas-overlay.is-overlay-absolute {
+ position: absolute; }
+ .js-off-canvas-overlay.is-overlay-fixed {
+ position: fixed; }
+
+.off-canvas-wrapper {
+ position: relative;
+ overflow: hidden; }
+
+.off-canvas {
+ position: fixed;
+ z-index: 12;
+ transition: transform 0.5s ease;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ background: #e6e6e6; }
+ [data-whatinput='mouse'] .off-canvas {
+ outline: 0; }
+ .off-canvas.is-transition-push {
+ z-index: 12; }
+ .off-canvas.is-closed {
+ visibility: hidden; }
+ .off-canvas.is-transition-overlap {
+ z-index: 13; }
+ .off-canvas.is-transition-overlap.is-open {
+ box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
+ .off-canvas.is-open {
+ -ms-transform: translate(0, 0);
+ transform: translate(0, 0); }
+
+.off-canvas-absolute {
+ position: absolute;
+ z-index: 12;
+ transition: transform 0.5s ease;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ background: #e6e6e6; }
+ [data-whatinput='mouse'] .off-canvas-absolute {
+ outline: 0; }
+ .off-canvas-absolute.is-transition-push {
+ z-index: 12; }
+ .off-canvas-absolute.is-closed {
+ visibility: hidden; }
+ .off-canvas-absolute.is-transition-overlap {
+ z-index: 13; }
+ .off-canvas-absolute.is-transition-overlap.is-open {
+ box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
+ .off-canvas-absolute.is-open {
+ -ms-transform: translate(0, 0);
+ transform: translate(0, 0); }
+
+.position-left {
+ top: 0;
+ left: 0;
+ height: 100%;
+ overflow-y: auto;
+ width: 250px;
+ -ms-transform: translateX(-250px);
+ transform: translateX(-250px); }
+ .off-canvas-content .off-canvas.position-left {
+ -ms-transform: translateX(-250px);
+ transform: translateX(-250px); }
+ .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
+ -ms-transform: translate(0, 0);
+ transform: translate(0, 0); }
+ .off-canvas-content.is-open-left.has-transition-push {
+ -ms-transform: translateX(250px);
+ transform: translateX(250px); }
+ .position-left.is-transition-push {
+ box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); }
+
+.position-right {
+ top: 0;
+ right: 0;
+ height: 100%;
+ overflow-y: auto;
+ width: 250px;
+ -ms-transform: translateX(250px);
+ transform: translateX(250px); }
+ .off-canvas-content .off-canvas.position-right {
+ -ms-transform: translateX(250px);
+ transform: translateX(250px); }
+ .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
+ -ms-transform: translate(0, 0);
+ transform: translate(0, 0); }
+ .off-canvas-content.is-open-right.has-transition-push {
+ -ms-transform: translateX(-250px);
+ transform: translateX(-250px); }
+ .position-right.is-transition-push {
+ box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); }
+
+.position-top {
+ top: 0;
+ left: 0;
+ width: 100%;
+ overflow-x: auto;
+ height: 250px;
+ -ms-transform: translateY(-250px);
+ transform: translateY(-250px); }
+ .off-canvas-content .off-canvas.position-top {
+ -ms-transform: translateY(-250px);
+ transform: translateY(-250px); }
+ .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
+ -ms-transform: translate(0, 0);
+ transform: translate(0, 0); }
+ .off-canvas-content.is-open-top.has-transition-push {
+ -ms-transform: translateY(250px);
+ transform: translateY(250px); }
+ .position-top.is-transition-push {
+ box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); }
+
+.position-bottom {
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ overflow-x: auto;
+ height: 250px;
+ -ms-transform: translateY(250px);
+ transform: translateY(250px); }
+ .off-canvas-content .off-canvas.position-bottom {
+ -ms-transform: translateY(250px);
+ transform: translateY(250px); }
+ .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
+ -ms-transform: translate(0, 0);
+ transform: translate(0, 0); }
+ .off-canvas-content.is-open-bottom.has-transition-push {
+ -ms-transform: translateY(-250px);
+ transform: translateY(-250px); }
+ .position-bottom.is-transition-push {
+ box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); }
+
+.off-canvas-content {
+ -ms-transform: none;
+ transform: none;
+ transition: transform 0.5s ease;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+ .off-canvas-content.has-transition-push {
+ -ms-transform: translate(0, 0);
+ transform: translate(0, 0); }
+ .off-canvas-content .off-canvas.is-open {
+ -ms-transform: translate(0, 0);
+ transform: translate(0, 0); }
+
+@media print, screen and (min-width: 40em) {
+ .position-left.reveal-for-medium {
+ -ms-transform: none;
+ transform: none;
+ z-index: 12;
+ transition: none;
+ visibility: visible; }
+ .position-left.reveal-for-medium .close-button {
+ display: none; }
+ .off-canvas-content .position-left.reveal-for-medium {
+ -ms-transform: none;
+ transform: none; }
+ .off-canvas-content.has-reveal-left {
+ margin-left: 250px; }
+ .position-left.reveal-for-medium ~ .off-canvas-content {
+ margin-left: 250px; }
+ .position-right.reveal-for-medium {
+ -ms-transform: none;
+ transform: none;
+ z-index: 12;
+ transition: none;
+ visibility: visible; }
+ .position-right.reveal-for-medium .close-button {
+ display: none; }
+ .off-canvas-content .position-right.reveal-for-medium {
+ -ms-transform: none;
+ transform: none; }
+ .off-canvas-content.has-reveal-right {
+ margin-right: 250px; }
+ .position-right.reveal-for-medium ~ .off-canvas-content {
+ margin-right: 250px; }
+ .position-top.reveal-for-medium {
+ -ms-transform: none;
+ transform: none;
+ z-index: 12;
+ transition: none;
+ visibility: visible; }
+ .position-top.reveal-for-medium .close-button {
+ display: none; }
+ .off-canvas-content .position-top.reveal-for-medium {
+ -ms-transform: none;
+ transform: none; }
+ .off-canvas-content.has-reveal-top {
+ margin-top: 250px; }
+ .position-top.reveal-for-medium ~ .off-canvas-content {
+ margin-top: 250px; }
+ .position-bottom.reveal-for-medium {
+ -ms-transform: none;
+ transform: none;
+ z-index: 12;
+ transition: none;
+ visibility: visible; }
+ .position-bottom.reveal-for-medium .close-button {
+ display: none; }
+ .off-canvas-content .position-bottom.reveal-for-medium {
+ -ms-transform: none;
+ transform: none; }
+ .off-canvas-content.has-reveal-bottom {
+ margin-bottom: 250px; }
+ .position-bottom.reveal-for-medium ~ .off-canvas-content {
+ margin-bottom: 250px; } }
+
+@media print, screen and (min-width: 64em) {
+ .position-left.reveal-for-large {
+ -ms-transform: none;
+ transform: none;
+ z-index: 12;
+ transition: none;
+ visibility: visible; }
+ .position-left.reveal-for-large .close-button {
+ display: none; }
+ .off-canvas-content .position-left.reveal-for-large {
+ -ms-transform: none;
+ transform: none; }
+ .off-canvas-content.has-reveal-left {
+ margin-left: 250px; }
+ .position-left.reveal-for-large ~ .off-canvas-content {
+ margin-left: 250px; }
+ .position-right.reveal-for-large {
+ -ms-transform: none;
+ transform: none;
+ z-index: 12;
+ transition: none;
+ visibility: visible; }
+ .position-right.reveal-for-large .close-button {
+ display: none; }
+ .off-canvas-content .position-right.reveal-for-large {
+ -ms-transform: none;
+ transform: none; }
+ .off-canvas-content.has-reveal-right {
+ margin-right: 250px; }
+ .position-right.reveal-for-large ~ .off-canvas-content {
+ margin-right: 250px; }
+ .position-top.reveal-for-large {
+ -ms-transform: none;
+ transform: none;
+ z-index: 12;
+ transition: none;
+ visibility: visible; }
+ .position-top.reveal-for-large .close-button {
+ display: none; }
+ .off-canvas-content .position-top.reveal-for-large {
+ -ms-transform: none;
+ transform: none; }
+ .off-canvas-content.has-reveal-top {
+ margin-top: 250px; }
+ .position-top.reveal-for-large ~ .off-canvas-content {
+ margin-top: 250px; }
+ .position-bottom.reveal-for-large {
+ -ms-transform: none;
+ transform: none;
+ z-index: 12;
+ transition: none;
+ visibility: visible; }
+ .position-bottom.reveal-for-large .close-button {
+ display: none; }
+ .off-canvas-content .position-bottom.reveal-for-large {
+ -ms-transform: none;
+ transform: none; }
+ .off-canvas-content.has-reveal-bottom {
+ margin-bottom: 250px; }
+ .position-bottom.reveal-for-large ~ .off-canvas-content {
+ margin-bottom: 250px; } }
+
+@media print, screen and (min-width: 40em) {
+ .off-canvas.in-canvas-for-medium {
+ visibility: visible;
+ height: auto;
+ position: static;
+ background: inherit;
+ width: inherit;
+ overflow: inherit;
+ transition: inherit; }
+ .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
+ box-shadow: none;
+ -ms-transform: none;
+ transform: none; }
+ .off-canvas.in-canvas-for-medium .close-button {
+ display: none; } }
+
+@media print, screen and (min-width: 64em) {
+ .off-canvas.in-canvas-for-large {
+ visibility: visible;
+ height: auto;
+ position: static;
+ background: inherit;
+ width: inherit;
+ overflow: inherit;
+ transition: inherit; }
+ .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
+ box-shadow: none;
+ -ms-transform: none;
+ transform: none; }
+ .off-canvas.in-canvas-for-large .close-button {
+ display: none; } }
+
+.orbit {
+ position: relative; }
+
+.orbit-container {
+ position: relative;
+ height: 0;
+ margin: 0;
+ list-style: none;
+ overflow: hidden; }
+
+.orbit-slide {
+ width: 100%; }
+ .orbit-slide.no-motionui.is-active {
+ top: 0;
+ left: 0; }
+
+.orbit-figure {
+ margin: 0; }
+
+.orbit-image {
+ width: 100%;
+ max-width: 100%;
+ margin: 0; }
+
+.orbit-caption {
+ position: absolute;
+ bottom: 0;
+ width: 100%;
+ margin-bottom: 0;
+ padding: 1rem;
+ background-color: rgba(10, 10, 10, 0.5);
+ color: #fefefe; }
+
+.orbit-previous, .orbit-next {
+ position: absolute;
+ top: 50%;
+ -ms-transform: translateY(-50%);
+ transform: translateY(-50%);
+ z-index: 10;
+ padding: 1rem;
+ color: #fefefe; }
+ [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
+ outline: 0; }
+ .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
+ background-color: rgba(10, 10, 10, 0.5); }
+
+.orbit-previous {
+ left: 0; }
+
+.orbit-next {
+ left: auto;
+ right: 0; }
+
+.orbit-bullets {
+ position: relative;
+ margin-top: 0.8rem;
+ margin-bottom: 0.8rem;
+ text-align: center; }
+ [data-whatinput='mouse'] .orbit-bullets {
+ outline: 0; }
+ .orbit-bullets button {
+ width: 1.2rem;
+ height: 1.2rem;
+ margin: 0.1rem;
+ border-radius: 50%;
+ background-color: #cacaca; }
+ .orbit-bullets button:hover {
+ background-color: #8a8a8a; }
+ .orbit-bullets button.is-active {
+ background-color: #8a8a8a; }
+
+.pagination {
+ margin-left: 0;
+ margin-bottom: 1rem; }
+ .pagination::before, .pagination::after {
+ display: table;
+ content: ' ';
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -ms-flex-order: 1;
+ order: 1; }
+ .pagination::after {
+ clear: both; }
+ .pagination li {
+ margin-right: 0.0625rem;
+ border-radius: 0;
+ font-size: 0.875rem;
+ display: none; }
+ .pagination li:last-child, .pagination li:first-child {
+ display: inline-block; }
+ @media print, screen and (min-width: 40em) {
+ .pagination li {
+ display: inline-block; } }
+ .pagination a,
+ .pagination button {
+ display: block;
+ padding: 0.1875rem 0.625rem;
+ border-radius: 0;
+ color: #0a0a0a; }
+ .pagination a:hover,
+ .pagination button:hover {
+ background: #e6e6e6; }
+ .pagination .current {
+ padding: 0.1875rem 0.625rem;
+ background: #1779ba;
+ color: #fefefe;
+ cursor: default; }
+ .pagination .disabled {
+ padding: 0.1875rem 0.625rem;
+ color: #cacaca;
+ cursor: not-allowed; }
+ .pagination .disabled:hover {
+ background: transparent; }
+ .pagination .ellipsis::after {
+ padding: 0.1875rem 0.625rem;
+ content: '\2026';
+ color: #0a0a0a; }
+
+.pagination-previous a::before,
+.pagination-previous.disabled::before {
+ display: inline-block;
+ margin-right: 0.5rem;
+ content: '\00ab'; }
+
+.pagination-next a::after,
+.pagination-next.disabled::after {
+ display: inline-block;
+ margin-left: 0.5rem;
+ content: '\00bb'; }
+
+.progress {
+ height: 1rem;
+ margin-bottom: 1rem;
+ border-radius: 0;
+ background-color: #cacaca; }
+ .progress.primary .progress-meter {
+ background-color: #1779ba; }
+ .progress.secondary .progress-meter {
+ background-color: #767676; }
+ .progress.success .progress-meter {
+ background-color: #3adb76; }
+ .progress.warning .progress-meter {
+ background-color: #ffae00; }
+ .progress.alert .progress-meter {
+ background-color: #cc4b37; }
+
+.progress-meter {
+ position: relative;
+ display: block;
+ width: 0%;
+ height: 100%;
+ background-color: #1779ba; }
+
+.progress-meter-text {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ -ms-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
+ position: absolute;
+ margin: 0;
+ font-size: 0.75rem;
+ font-weight: bold;
+ color: #fefefe;
+ white-space: nowrap; }
+
+body.is-reveal-open {
+ overflow: hidden; }
+
+html.is-reveal-open,
+html.is-reveal-open body {
+ min-height: 100%;
+ overflow: hidden;
+ position: fixed;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none; }
+
+.reveal-overlay {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1005;
+ display: none;
+ background-color: rgba(10, 10, 10, 0.45);
+ overflow-y: scroll; }
+
+.reveal {
+ z-index: 1006;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ display: none;
+ padding: 1rem;
+ border: 1px solid #cacaca;
+ border-radius: 0;
+ background-color: #fefefe;
+ position: relative;
+ top: 100px;
+ margin-right: auto;
+ margin-left: auto;
+ overflow-y: auto; }
+ [data-whatinput='mouse'] .reveal {
+ outline: 0; }
+ @media print, screen and (min-width: 40em) {
+ .reveal {
+ min-height: 0; } }
+ .reveal .column {
+ min-width: 0; }
+ .reveal > :last-child {
+ margin-bottom: 0; }
+ @media print, screen and (min-width: 40em) {
+ .reveal {
+ width: 600px;
+ max-width: 75rem; } }
+ .reveal.collapse {
+ padding: 0; }
+ @media print, screen and (min-width: 40em) {
+ .reveal.tiny {
+ width: 30%;
+ max-width: 75rem; } }
+ @media print, screen and (min-width: 40em) {
+ .reveal.small {
+ width: 50%;
+ max-width: 75rem; } }
+ @media print, screen and (min-width: 40em) {
+ .reveal.large {
+ width: 90%;
+ max-width: 75rem; } }
+ .reveal.full {
+ top: 0;
+ left: 0;
+ width: 100%;
+ max-width: none;
+ height: 100%;
+ height: 100vh;
+ min-height: 100vh;
+ margin-left: 0;
+ border: 0;
+ border-radius: 0; }
+ @media screen and (max-width: 39.9375em) {
+ .reveal {
+ top: 0;
+ left: 0;
+ width: 100%;
+ max-width: none;
+ height: 100%;
+ height: 100vh;
+ min-height: 100vh;
+ margin-left: 0;
+ border: 0;
+ border-radius: 0; } }
+ .reveal.without-overlay {
+ position: fixed; }
+
+.slider {
+ position: relative;
+ height: 0.5rem;
+ margin-top: 1.25rem;
+ margin-bottom: 2.25rem;
+ background-color: #e6e6e6;
+ cursor: pointer;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ -ms-touch-action: none;
+ touch-action: none; }
+
+.slider-fill {
+ position: absolute;
+ top: 0;
+ left: 0;
+ display: inline-block;
+ max-width: 100%;
+ height: 0.5rem;
+ background-color: #cacaca;
+ transition: all 0.2s ease-in-out; }
+ .slider-fill.is-dragging {
+ transition: all 0s linear; }
+
+.slider-handle {
+ position: absolute;
+ top: 50%;
+ -ms-transform: translateY(-50%);
+ transform: translateY(-50%);
+ left: 0;
+ z-index: 1;
+ display: inline-block;
+ width: 1.4rem;
+ height: 1.4rem;
+ border-radius: 0;
+ background-color: #1779ba;
+ transition: all 0.2s ease-in-out;
+ -ms-touch-action: manipulation;
+ touch-action: manipulation; }
+ [data-whatinput='mouse'] .slider-handle {
+ outline: 0; }
+ .slider-handle:hover {
+ background-color: #14679e; }
+ .slider-handle.is-dragging {
+ transition: all 0s linear; }
+
+.slider.disabled,
+.slider[disabled] {
+ opacity: 0.25;
+ cursor: not-allowed; }
+
+.slider.vertical {
+ display: inline-block;
+ width: 0.5rem;
+ height: 12.5rem;
+ margin: 0 1.25rem;
+ -ms-transform: scale(1, -1);
+ transform: scale(1, -1); }
+ .slider.vertical .slider-fill {
+ top: 0;
+ width: 0.5rem;
+ max-height: 100%; }
+ .slider.vertical .slider-handle {
+ position: absolute;
+ top: 0;
+ left: 50%;
+ width: 1.4rem;
+ height: 1.4rem;
+ -ms-transform: translateX(-50%);
+ transform: translateX(-50%); }
+
+.sticky-container {
+ position: relative; }
+
+.sticky {
+ position: relative;
+ z-index: 0;
+ transform: translate3d(0, 0, 0); }
+
+.sticky.is-stuck {
+ position: fixed;
+ z-index: 5;
+ width: 100%; }
+ .sticky.is-stuck.is-at-top {
+ top: 0; }
+ .sticky.is-stuck.is-at-bottom {
+ bottom: 0; }
+
+.sticky.is-anchored {
+ position: relative;
+ right: auto;
+ left: auto; }
+ .sticky.is-anchored.is-at-bottom {
+ bottom: 0; }
+
+.switch {
+ height: 2rem;
+ position: relative;
+ margin-bottom: 1rem;
+ outline: 0;
+ font-size: 0.875rem;
+ font-weight: bold;
+ color: #fefefe;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none; }
+
+.switch-input {
+ position: absolute;
+ margin-bottom: 0;
+ opacity: 0; }
+
+.switch-paddle {
+ position: relative;
+ display: block;
+ width: 4rem;
+ height: 2rem;
+ border-radius: 0;
+ background: #cacaca;
+ transition: all 0.25s ease-out;
+ font-weight: inherit;
+ color: inherit;
+ cursor: pointer; }
+ input + .switch-paddle {
+ margin: 0; }
+ .switch-paddle::after {
+ position: absolute;
+ top: 0.25rem;
+ left: 0.25rem;
+ display: block;
+ width: 1.5rem;
+ height: 1.5rem;
+ transform: translate3d(0, 0, 0);
+ border-radius: 0;
+ background: #fefefe;
+ transition: all 0.25s ease-out;
+ content: ''; }
+ input:checked ~ .switch-paddle {
+ background: #1779ba; }
+ input:checked ~ .switch-paddle::after {
+ left: 2.25rem; }
+ [data-whatinput='mouse'] input:focus ~ .switch-paddle {
+ outline: 0; }
+
+.switch-active, .switch-inactive {
+ position: absolute;
+ top: 50%;
+ -ms-transform: translateY(-50%);
+ transform: translateY(-50%); }
+
+.switch-active {
+ left: 8%;
+ display: none; }
+ input:checked + label > .switch-active {
+ display: block; }
+
+.switch-inactive {
+ right: 15%; }
+ input:checked + label > .switch-inactive {
+ display: none; }
+
+.switch.tiny {
+ height: 1.5rem; }
+ .switch.tiny .switch-paddle {
+ width: 3rem;
+ height: 1.5rem;
+ font-size: 0.625rem; }
+ .switch.tiny .switch-paddle::after {
+ top: 0.25rem;
+ left: 0.25rem;
+ width: 1rem;
+ height: 1rem; }
+ .switch.tiny input:checked ~ .switch-paddle::after {
+ left: 1.75rem; }
+
+.switch.small {
+ height: 1.75rem; }
+ .switch.small .switch-paddle {
+ width: 3.5rem;
+ height: 1.75rem;
+ font-size: 0.75rem; }
+ .switch.small .switch-paddle::after {
+ top: 0.25rem;
+ left: 0.25rem;
+ width: 1.25rem;
+ height: 1.25rem; }
+ .switch.small input:checked ~ .switch-paddle::after {
+ left: 2rem; }
+
+.switch.large {
+ height: 2.5rem; }
+ .switch.large .switch-paddle {
+ width: 5rem;
+ height: 2.5rem;
+ font-size: 1rem; }
+ .switch.large .switch-paddle::after {
+ top: 0.25rem;
+ left: 0.25rem;
+ width: 2rem;
+ height: 2rem; }
+ .switch.large input:checked ~ .switch-paddle::after {
+ left: 2.75rem; }
+
+table {
+ border-collapse: collapse;
+ width: 100%;
+ margin-bottom: 1rem;
+ border-radius: 0; }
+ table thead,
+ table tbody,
+ table tfoot {
+ border: 1px solid #f1f1f1;
+ background-color: #fefefe; }
+ table caption {
+ padding: 0.5rem 0.625rem 0.625rem;
+ font-weight: bold; }
+ table thead {
+ background: #f8f8f8;
+ color: #0a0a0a; }
+ table tfoot {
+ background: #f1f1f1;
+ color: #0a0a0a; }
+ table thead tr,
+ table tfoot tr {
+ background: transparent; }
+ table thead th,
+ table thead td,
+ table tfoot th,
+ table tfoot td {
+ padding: 0.5rem 0.625rem 0.625rem;
+ font-weight: bold;
+ text-align: left; }
+ table tbody th,
+ table tbody td {
+ padding: 0.5rem 0.625rem 0.625rem; }
+ table tbody tr:nth-child(even) {
+ border-bottom: 0;
+ background-color: #f1f1f1; }
+ table.unstriped tbody {
+ background-color: #fefefe; }
+ table.unstriped tbody tr {
+ border-bottom: 0;
+ border-bottom: 1px solid #f1f1f1;
+ background-color: #fefefe; }
+
+@media screen and (max-width: 63.9375em) {
+ table.stack thead {
+ display: none; }
+ table.stack tfoot {
+ display: none; }
+ table.stack tr,
+ table.stack th,
+ table.stack td {
+ display: block; }
+ table.stack td {
+ border-top: 0; } }
+
+table.scroll {
+ display: block;
+ width: 100%;
+ overflow-x: auto; }
+
+table.hover thead tr:hover {
+ background-color: #f3f3f3; }
+
+table.hover tfoot tr:hover {
+ background-color: #ececec; }
+
+table.hover tbody tr:hover {
+ background-color: #f9f9f9; }
+
+table.hover:not(.unstriped) tr:nth-of-type(even):hover {
+ background-color: #ececec; }
+
+.table-scroll {
+ overflow-x: auto; }
+ .table-scroll table {
+ width: auto; }
+
+.tabs {
+ margin: 0;
+ border: 1px solid #e6e6e6;
+ background: #fefefe;
+ list-style-type: none; }
+ .tabs::before, .tabs::after {
+ display: table;
+ content: ' ';
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -ms-flex-order: 1;
+ order: 1; }
+ .tabs::after {
+ clear: both; }
+
+.tabs.vertical > li {
+ display: block;
+ float: none;
+ width: auto; }
+
+.tabs.simple > li > a {
+ padding: 0; }
+ .tabs.simple > li > a:hover {
+ background: transparent; }
+
+.tabs.primary {
+ background: #1779ba; }
+ .tabs.primary > li > a {
+ color: #fefefe; }
+ .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
+ background: #1673b1; }
+
+.tabs-title {
+ float: left; }
+ .tabs-title > a {
+ display: block;
+ padding: 1.25rem 1.5rem;
+ font-size: 0.75rem;
+ line-height: 1;
+ color: #1779ba; }
+ .tabs-title > a:hover {
+ background: #fefefe;
+ color: #1468a0; }
+ .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
+ background: #e6e6e6;
+ color: #1779ba; }
+
+.tabs-content {
+ border: 1px solid #e6e6e6;
+ border-top: 0;
+ background: #fefefe;
+ color: #0a0a0a;
+ transition: all 0.5s ease; }
+
+.tabs-content.vertical {
+ border: 1px solid #e6e6e6;
+ border-left: 0; }
+
+.tabs-panel {
+ display: none;
+ padding: 1rem; }
+ .tabs-panel.is-active {
+ display: block; }
+
+.thumbnail {
+ display: inline-block;
+ max-width: 100%;
+ margin-bottom: 1rem;
+ border: solid 4px #fefefe;
+ border-radius: 0;
+ box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
+ line-height: 0; }
+
+a.thumbnail {
+ transition: box-shadow 200ms ease-out; }
+ a.thumbnail:hover, a.thumbnail:focus {
+ box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); }
+ a.thumbnail image {
+ box-shadow: none; }
+
+.title-bar {
+ padding: 0.5rem;
+ background: #0a0a0a;
+ color: #fefefe;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
+ -ms-flex-align: center;
+ align-items: center; }
+ .title-bar .menu-icon {
+ margin-left: 0.25rem;
+ margin-right: 0.25rem; }
+
+.title-bar-left,
+.title-bar-right {
+ -ms-flex: 1 1 0px;
+ flex: 1 1 0px; }
+
+.title-bar-right {
+ text-align: right; }
+
+.title-bar-title {
+ display: inline-block;
+ vertical-align: middle;
+ font-weight: bold; }
+
+.has-tip {
+ position: relative;
+ display: inline-block;
+ border-bottom: dotted 1px #8a8a8a;
+ font-weight: bold;
+ cursor: help; }
+
+.tooltip {
+ position: absolute;
+ top: calc(100% + 0.6495rem);
+ z-index: 1200;
+ max-width: 10rem;
+ padding: 0.75rem;
+ border-radius: 0;
+ background-color: #0a0a0a;
+ font-size: 80%;
+ color: #fefefe; }
+ .tooltip::before {
+ position: absolute; }
+ .tooltip.bottom::before {
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 0.75rem;
+ content: '';
+ border-top-width: 0;
+ border-bottom-style: solid;
+ border-color: transparent transparent #0a0a0a;
+ bottom: 100%; }
+ .tooltip.bottom.align-center::before {
+ left: 50%;
+ -ms-transform: translateX(-50%);
+ transform: translateX(-50%); }
+ .tooltip.top::before {
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 0.75rem;
+ content: '';
+ border-bottom-width: 0;
+ border-top-style: solid;
+ border-color: #0a0a0a transparent transparent;
+ top: 100%;
+ bottom: auto; }
+ .tooltip.top.align-center::before {
+ left: 50%;
+ -ms-transform: translateX(-50%);
+ transform: translateX(-50%); }
+ .tooltip.left::before {
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 0.75rem;
+ content: '';
+ border-right-width: 0;
+ border-left-style: solid;
+ border-color: transparent transparent transparent #0a0a0a;
+ left: 100%; }
+ .tooltip.left.align-center::before {
+ bottom: auto;
+ top: 50%;
+ -ms-transform: translateY(-50%);
+ transform: translateY(-50%); }
+ .tooltip.right::before {
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 0.75rem;
+ content: '';
+ border-left-width: 0;
+ border-right-style: solid;
+ border-color: transparent #0a0a0a transparent transparent;
+ right: 100%;
+ left: auto; }
+ .tooltip.right.align-center::before {
+ bottom: auto;
+ top: 50%;
+ -ms-transform: translateY(-50%);
+ transform: translateY(-50%); }
+ .tooltip.align-top::before {
+ bottom: auto;
+ top: 10%; }
+ .tooltip.align-bottom::before {
+ bottom: 10%;
+ top: auto; }
+ .tooltip.align-left::before {
+ left: 10%;
+ right: auto; }
+ .tooltip.align-right::before {
+ left: auto;
+ right: 10%; }
+
+.top-bar {
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ -ms-flex-align: center;
+ align-items: center;
+ padding: 0.5rem;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap; }
+ .top-bar,
+ .top-bar ul {
+ background-color: #e6e6e6; }
+ .top-bar input {
+ max-width: 200px;
+ margin-right: 1rem; }
+ .top-bar .input-group-field {
+ width: 100%;
+ margin-right: 0; }
+ .top-bar input.button {
+ width: auto; }
+ .top-bar .top-bar-left,
+ .top-bar .top-bar-right {
+ -ms-flex: 0 0 100%;
+ flex: 0 0 100%;
+ max-width: 100%; }
+ @media print, screen and (min-width: 40em) {
+ .top-bar {
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap; }
+ .top-bar .top-bar-left {
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ margin-right: auto; }
+ .top-bar .top-bar-right {
+ -ms-flex: 0 1 auto;
+ flex: 0 1 auto;
+ margin-left: auto; } }
+ @media screen and (max-width: 63.9375em) {
+ .top-bar.stacked-for-medium {
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap; }
+ .top-bar.stacked-for-medium .top-bar-left,
+ .top-bar.stacked-for-medium .top-bar-right {
+ -ms-flex: 0 0 100%;
+ flex: 0 0 100%;
+ max-width: 100%; } }
+ @media screen and (max-width: 74.9375em) {
+ .top-bar.stacked-for-large {
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap; }
+ .top-bar.stacked-for-large .top-bar-left,
+ .top-bar.stacked-for-large .top-bar-right {
+ -ms-flex: 0 0 100%;
+ flex: 0 0 100%;
+ max-width: 100%; } }
+
+.top-bar-title {
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ margin: 0.5rem 1rem 0.5rem 0; }
+
+.top-bar-left,
+.top-bar-right {
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto; }
+
+.hide {
+ display: none !important; }
+
+.invisible {
+ visibility: hidden; }
+
+@media screen and (max-width: 39.9375em) {
+ .hide-for-small-only {
+ display: none !important; } }
+
+@media screen and (max-width: 0em), screen and (min-width: 40em) {
+ .show-for-small-only {
+ display: none !important; } }
+
+@media print, screen and (min-width: 40em) {
+ .hide-for-medium {
+ display: none !important; } }
+
+@media screen and (max-width: 39.9375em) {
+ .show-for-medium {
+ display: none !important; } }
+
+@media screen and (min-width: 40em) and (max-width: 63.9375em) {
+ .hide-for-medium-only {
+ display: none !important; } }
+
+@media screen and (max-width: 39.9375em), screen and (min-width: 64em) {
+ .show-for-medium-only {
+ display: none !important; } }
+
+@media print, screen and (min-width: 64em) {
+ .hide-for-large {
+ display: none !important; } }
+
+@media screen and (max-width: 63.9375em) {
+ .show-for-large {
+ display: none !important; } }
+
+@media screen and (min-width: 64em) and (max-width: 74.9375em) {
+ .hide-for-large-only {
+ display: none !important; } }
+
+@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
+ .show-for-large-only {
+ display: none !important; } }
+
+.show-for-sr,
+.show-on-focus {
+ position: absolute !important;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ white-space: nowrap;
+ -webkit-clip-path: inset(50%);
+ clip-path: inset(50%);
+ border: 0; }
+
+.show-on-focus:active, .show-on-focus:focus {
+ position: static !important;
+ width: auto;
+ height: auto;
+ overflow: visible;
+ clip: auto;
+ white-space: normal;
+ -webkit-clip-path: none;
+ clip-path: none; }
+
+.show-for-landscape,
+.hide-for-portrait {
+ display: block !important; }
+ @media screen and (orientation: landscape) {
+ .show-for-landscape,
+ .hide-for-portrait {
+ display: block !important; } }
+ @media screen and (orientation: portrait) {
+ .show-for-landscape,
+ .hide-for-portrait {
+ display: none !important; } }
+
+.hide-for-landscape,
+.show-for-portrait {
+ display: none !important; }
+ @media screen and (orientation: landscape) {
+ .hide-for-landscape,
+ .show-for-portrait {
+ display: none !important; } }
+ @media screen and (orientation: portrait) {
+ .hide-for-landscape,
+ .show-for-portrait {
+ display: block !important; } }
+
+.float-left {
+ float: left !important; }
+
+.float-right {
+ float: right !important; }
+
+.float-center {
+ display: block;
+ margin-right: auto;
+ margin-left: auto; }
+
+.clearfix::before, .clearfix::after {
+ display: table;
+ content: ' ';
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -ms-flex-order: 1;
+ order: 1; }
+
+.clearfix::after {
+ clear: both; }
+
+.slide-in-down.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -ms-transform: translateY(-100%);
+ transform: translateY(-100%);
+ transition-property: transform, opacity;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+
+.slide-in-down.mui-enter.mui-enter-active {
+ -ms-transform: translateY(0);
+ transform: translateY(0); }
+
+.slide-in-left.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -ms-transform: translateX(-100%);
+ transform: translateX(-100%);
+ transition-property: transform, opacity;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+
+.slide-in-left.mui-enter.mui-enter-active {
+ -ms-transform: translateX(0);
+ transform: translateX(0); }
+
+.slide-in-up.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -ms-transform: translateY(100%);
+ transform: translateY(100%);
+ transition-property: transform, opacity;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+
+.slide-in-up.mui-enter.mui-enter-active {
+ -ms-transform: translateY(0);
+ transform: translateY(0); }
+
+.slide-in-right.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -ms-transform: translateX(100%);
+ transform: translateX(100%);
+ transition-property: transform, opacity;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+
+.slide-in-right.mui-enter.mui-enter-active {
+ -ms-transform: translateX(0);
+ transform: translateX(0); }
+
+.slide-out-down.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -ms-transform: translateY(0);
+ transform: translateY(0);
+ transition-property: transform, opacity;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+
+.slide-out-down.mui-leave.mui-leave-active {
+ -ms-transform: translateY(100%);
+ transform: translateY(100%); }
+
+.slide-out-right.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -ms-transform: translateX(0);
+ transform: translateX(0);
+ transition-property: transform, opacity;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+
+.slide-out-right.mui-leave.mui-leave-active {
+ -ms-transform: translateX(100%);
+ transform: translateX(100%); }
+
+.slide-out-up.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -ms-transform: translateY(0);
+ transform: translateY(0);
+ transition-property: transform, opacity;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+
+.slide-out-up.mui-leave.mui-leave-active {
+ -ms-transform: translateY(-100%);
+ transform: translateY(-100%); }
+
+.slide-out-left.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -ms-transform: translateX(0);
+ transform: translateX(0);
+ transition-property: transform, opacity;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+
+.slide-out-left.mui-leave.mui-leave-active {
+ -ms-transform: translateX(-100%);
+ transform: translateX(-100%); }
+
+.fade-in.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ opacity: 0;
+ transition-property: opacity; }
+
+.fade-in.mui-enter.mui-enter-active {
+ opacity: 1; }
+
+.fade-out.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ opacity: 1;
+ transition-property: opacity; }
+
+.fade-out.mui-leave.mui-leave-active {
+ opacity: 0; }
+
+.hinge-in-from-top.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ transform: perspective(2000px) rotateX(-90deg);
+ -ms-transform-origin: top;
+ transform-origin: top;
+ transition-property: transform, opacity;
+ opacity: 0; }
+
+.hinge-in-from-top.mui-enter.mui-enter-active {
+ transform: perspective(2000px) rotate(0deg);
+ opacity: 1; }
+
+.hinge-in-from-right.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ transform: perspective(2000px) rotateY(-90deg);
+ -ms-transform-origin: right;
+ transform-origin: right;
+ transition-property: transform, opacity;
+ opacity: 0; }
+
+.hinge-in-from-right.mui-enter.mui-enter-active {
+ transform: perspective(2000px) rotate(0deg);
+ opacity: 1; }
+
+.hinge-in-from-bottom.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ transform: perspective(2000px) rotateX(90deg);
+ -ms-transform-origin: bottom;
+ transform-origin: bottom;
+ transition-property: transform, opacity;
+ opacity: 0; }
+
+.hinge-in-from-bottom.mui-enter.mui-enter-active {
+ transform: perspective(2000px) rotate(0deg);
+ opacity: 1; }
+
+.hinge-in-from-left.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ transform: perspective(2000px) rotateY(90deg);
+ -ms-transform-origin: left;
+ transform-origin: left;
+ transition-property: transform, opacity;
+ opacity: 0; }
+
+.hinge-in-from-left.mui-enter.mui-enter-active {
+ transform: perspective(2000px) rotate(0deg);
+ opacity: 1; }
+
+.hinge-in-from-middle-x.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ transform: perspective(2000px) rotateX(-90deg);
+ -ms-transform-origin: center;
+ transform-origin: center;
+ transition-property: transform, opacity;
+ opacity: 0; }
+
+.hinge-in-from-middle-x.mui-enter.mui-enter-active {
+ transform: perspective(2000px) rotate(0deg);
+ opacity: 1; }
+
+.hinge-in-from-middle-y.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ transform: perspective(2000px) rotateY(-90deg);
+ -ms-transform-origin: center;
+ transform-origin: center;
+ transition-property: transform, opacity;
+ opacity: 0; }
+
+.hinge-in-from-middle-y.mui-enter.mui-enter-active {
+ transform: perspective(2000px) rotate(0deg);
+ opacity: 1; }
+
+.hinge-out-from-top.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ transform: perspective(2000px) rotate(0deg);
+ -ms-transform-origin: top;
+ transform-origin: top;
+ transition-property: transform, opacity;
+ opacity: 1; }
+
+.hinge-out-from-top.mui-leave.mui-leave-active {
+ transform: perspective(2000px) rotateX(-90deg);
+ opacity: 0; }
+
+.hinge-out-from-right.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ transform: perspective(2000px) rotate(0deg);
+ -ms-transform-origin: right;
+ transform-origin: right;
+ transition-property: transform, opacity;
+ opacity: 1; }
+
+.hinge-out-from-right.mui-leave.mui-leave-active {
+ transform: perspective(2000px) rotateY(-90deg);
+ opacity: 0; }
+
+.hinge-out-from-bottom.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ transform: perspective(2000px) rotate(0deg);
+ -ms-transform-origin: bottom;
+ transform-origin: bottom;
+ transition-property: transform, opacity;
+ opacity: 1; }
+
+.hinge-out-from-bottom.mui-leave.mui-leave-active {
+ transform: perspective(2000px) rotateX(90deg);
+ opacity: 0; }
+
+.hinge-out-from-left.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ transform: perspective(2000px) rotate(0deg);
+ -ms-transform-origin: left;
+ transform-origin: left;
+ transition-property: transform, opacity;
+ opacity: 1; }
+
+.hinge-out-from-left.mui-leave.mui-leave-active {
+ transform: perspective(2000px) rotateY(90deg);
+ opacity: 0; }
+
+.hinge-out-from-middle-x.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ transform: perspective(2000px) rotate(0deg);
+ -ms-transform-origin: center;
+ transform-origin: center;
+ transition-property: transform, opacity;
+ opacity: 1; }
+
+.hinge-out-from-middle-x.mui-leave.mui-leave-active {
+ transform: perspective(2000px) rotateX(-90deg);
+ opacity: 0; }
+
+.hinge-out-from-middle-y.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ transform: perspective(2000px) rotate(0deg);
+ -ms-transform-origin: center;
+ transform-origin: center;
+ transition-property: transform, opacity;
+ opacity: 1; }
+
+.hinge-out-from-middle-y.mui-leave.mui-leave-active {
+ transform: perspective(2000px) rotateY(-90deg);
+ opacity: 0; }
+
+.scale-in-up.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -ms-transform: scale(0.5);
+ transform: scale(0.5);
+ transition-property: transform, opacity;
+ opacity: 0; }
+
+.scale-in-up.mui-enter.mui-enter-active {
+ -ms-transform: scale(1);
+ transform: scale(1);
+ opacity: 1; }
+
+.scale-in-down.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -ms-transform: scale(1.5);
+ transform: scale(1.5);
+ transition-property: transform, opacity;
+ opacity: 0; }
+
+.scale-in-down.mui-enter.mui-enter-active {
+ -ms-transform: scale(1);
+ transform: scale(1);
+ opacity: 1; }
+
+.scale-out-up.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -ms-transform: scale(1);
+ transform: scale(1);
+ transition-property: transform, opacity;
+ opacity: 1; }
+
+.scale-out-up.mui-leave.mui-leave-active {
+ -ms-transform: scale(1.5);
+ transform: scale(1.5);
+ opacity: 0; }
+
+.scale-out-down.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -ms-transform: scale(1);
+ transform: scale(1);
+ transition-property: transform, opacity;
+ opacity: 1; }
+
+.scale-out-down.mui-leave.mui-leave-active {
+ -ms-transform: scale(0.5);
+ transform: scale(0.5);
+ opacity: 0; }
+
+.spin-in.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -ms-transform: rotate(-0.75turn);
+ transform: rotate(-0.75turn);
+ transition-property: transform, opacity;
+ opacity: 0; }
+
+.spin-in.mui-enter.mui-enter-active {
+ -ms-transform: rotate(0);
+ transform: rotate(0);
+ opacity: 1; }
+
+.spin-out.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -ms-transform: rotate(0);
+ transform: rotate(0);
+ transition-property: transform, opacity;
+ opacity: 1; }
+
+.spin-out.mui-leave.mui-leave-active {
+ -ms-transform: rotate(0.75turn);
+ transform: rotate(0.75turn);
+ opacity: 0; }
+
+.spin-in-ccw.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -ms-transform: rotate(0.75turn);
+ transform: rotate(0.75turn);
+ transition-property: transform, opacity;
+ opacity: 0; }
+
+.spin-in-ccw.mui-enter.mui-enter-active {
+ -ms-transform: rotate(0);
+ transform: rotate(0);
+ opacity: 1; }
+
+.spin-out-ccw.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -ms-transform: rotate(0);
+ transform: rotate(0);
+ transition-property: transform, opacity;
+ opacity: 1; }
+
+.spin-out-ccw.mui-leave.mui-leave-active {
+ -ms-transform: rotate(-0.75turn);
+ transform: rotate(-0.75turn);
+ opacity: 0; }
+
+.slow {
+ transition-duration: 750ms !important; }
+
+.fast {
+ transition-duration: 250ms !important; }
+
+.linear {
+ transition-timing-function: linear !important; }
+
+.ease {
+ transition-timing-function: ease !important; }
+
+.ease-in {
+ transition-timing-function: ease-in !important; }
+
+.ease-out {
+ transition-timing-function: ease-out !important; }
+
+.ease-in-out {
+ transition-timing-function: ease-in-out !important; }
+
+.bounce-in {
+ transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }
+
+.bounce-out {
+ transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }
+
+.bounce-in-out {
+ transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }
+
+.short-delay {
+ transition-delay: 300ms !important; }
+
+.long-delay {
+ transition-delay: 700ms !important; }
+
+.shake {
+ animation-name: shake-7; }
+
+@keyframes shake-7 {
+ 0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
+ transform: translateX(7%); }
+ 5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
+ transform: translateX(-7%); } }
+
+.spin-cw {
+ animation-name: spin-cw-1turn; }
+
+@keyframes spin-cw-1turn {
+ 0% {
+ transform: rotate(-1turn); }
+ 100% {
+ transform: rotate(0); } }
+
+.spin-ccw {
+ animation-name: spin-cw-1turn; }
+
+@keyframes spin-cw-1turn {
+ 0% {
+ transform: rotate(0); }
+ 100% {
+ transform: rotate(1turn); } }
+
+.wiggle {
+ animation-name: wiggle-7deg; }
+
+@keyframes wiggle-7deg {
+ 40%, 50%, 60% {
+ transform: rotate(7deg); }
+ 35%, 45%, 55%, 65% {
+ transform: rotate(-7deg); }
+ 0%, 30%, 70%, 100% {
+ transform: rotate(0); } }
+
+.shake,
+.spin-cw,
+.spin-ccw,
+.wiggle {
+ animation-duration: 500ms; }
+
+.infinite {
+ animation-iteration-count: infinite; }
+
+.slow {
+ animation-duration: 750ms !important; }
+
+.fast {
+ animation-duration: 250ms !important; }
+
+.linear {
+ animation-timing-function: linear !important; }
+
+.ease {
+ animation-timing-function: ease !important; }
+
+.ease-in {
+ animation-timing-function: ease-in !important; }
+
+.ease-out {
+ animation-timing-function: ease-out !important; }
+
+.ease-in-out {
+ animation-timing-function: ease-in-out !important; }
+
+.bounce-in {
+ animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }
+
+.bounce-out {
+ animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }
+
+.bounce-in-out {
+ animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }
+
+.short-delay {
+ animation-delay: 300ms !important; }
+
+.long-delay {
+ animation-delay: 700ms !important; }
diff --git a/clover/controller/control/static/css/jquery-ui.css b/clover/controller/control/static/css/jquery-ui.css
new file mode 100644
index 0000000..525a1b1
--- /dev/null
+++ b/clover/controller/control/static/css/jquery-ui.css
@@ -0,0 +1,1313 @@
+/*! jQuery UI - v1.12.1 - 2016-09-14
+* http://jqueryui.com
+* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css
+* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&fwDefault=normal&cornerRadius=3px&bgColorHeader=e9e9e9&bgTextureHeader=flat&borderColorHeader=dddddd&fcHeader=333333&iconColorHeader=444444&bgColorContent=ffffff&bgTextureContent=flat&borderColorContent=dddddd&fcContent=333333&iconColorContent=444444&bgColorDefault=f6f6f6&bgTextureDefault=flat&borderColorDefault=c5c5c5&fcDefault=454545&iconColorDefault=777777&bgColorHover=ededed&bgTextureHover=flat&borderColorHover=cccccc&fcHover=2b2b2b&iconColorHover=555555&bgColorActive=007fff&bgTextureActive=flat&borderColorActive=003eff&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=fffa90&bgTextureHighlight=flat&borderColorHighlight=dad55e&fcHighlight=777620&iconColorHighlight=777620&bgColorError=fddfdf&bgTextureError=flat&borderColorError=f1a899&fcError=5f3f3f&iconColorError=cc0000&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=666666&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=5px&offsetTopShadow=0px&offsetLeftShadow=0px&cornerRadiusShadow=8px
+* Copyright jQuery Foundation and other contributors; Licensed MIT */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden {
+ display: none;
+}
+.ui-helper-hidden-accessible {
+ border: 0;
+ clip: rect(0 0 0 0);
+ height: 1px;
+ margin: -1px;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px;
+}
+.ui-helper-reset {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ outline: 0;
+ line-height: 1.3;
+ text-decoration: none;
+ font-size: 100%;
+ list-style: none;
+}
+.ui-helper-clearfix:before,
+.ui-helper-clearfix:after {
+ content: "";
+ display: table;
+ border-collapse: collapse;
+}
+.ui-helper-clearfix:after {
+ clear: both;
+}
+.ui-helper-zfix {
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ position: absolute;
+ opacity: 0;
+ filter:Alpha(Opacity=0); /* support: IE8 */
+}
+
+.ui-front {
+ z-index: 100;
+}
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled {
+ cursor: default !important;
+ pointer-events: none;
+}
+
+
+/* Icons
+----------------------------------*/
+.ui-icon {
+ display: inline-block;
+ vertical-align: middle;
+ margin-top: -.25em;
+ position: relative;
+ text-indent: -99999px;
+ overflow: hidden;
+ background-repeat: no-repeat;
+}
+
+.ui-widget-icon-block {
+ left: 50%;
+ margin-left: -8px;
+ display: block;
+}
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+.ui-accordion .ui-accordion-header {
+ display: block;
+ cursor: pointer;
+ position: relative;
+ margin: 2px 0 0 0;
+ padding: .5em .5em .5em .7em;
+ font-size: 100%;
+}
+.ui-accordion .ui-accordion-content {
+ padding: 1em 2.2em;
+ border-top: 0;
+ overflow: auto;
+}
+.ui-autocomplete {
+ position: absolute;
+ top: 0;
+ left: 0;
+ cursor: default;
+}
+.ui-menu {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+ display: block;
+ outline: 0;
+}
+.ui-menu .ui-menu {
+ position: absolute;
+}
+.ui-menu .ui-menu-item {
+ margin: 0;
+ cursor: pointer;
+ /* support: IE10, see #8844 */
+ list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
+}
+.ui-menu .ui-menu-item-wrapper {
+ position: relative;
+ padding: 3px 1em 3px .4em;
+}
+.ui-menu .ui-menu-divider {
+ margin: 5px 0;
+ height: 0;
+ font-size: 0;
+ line-height: 0;
+ border-width: 1px 0 0 0;
+}
+.ui-menu .ui-state-focus,
+.ui-menu .ui-state-active {
+ margin: -1px;
+}
+
+/* icon support */
+.ui-menu-icons {
+ position: relative;
+}
+.ui-menu-icons .ui-menu-item-wrapper {
+ padding-left: 2em;
+}
+
+/* left-aligned */
+.ui-menu .ui-icon {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: .2em;
+ margin: auto 0;
+}
+
+/* right-aligned */
+.ui-menu .ui-menu-icon {
+ left: auto;
+ right: 0;
+}
+.ui-button {
+ padding: .4em 1em;
+ display: inline-block;
+ position: relative;
+ line-height: normal;
+ margin-right: .1em;
+ cursor: pointer;
+ vertical-align: middle;
+ text-align: center;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+
+ /* Support: IE <= 11 */
+ overflow: visible;
+}
+
+.ui-button,
+.ui-button:link,
+.ui-button:visited,
+.ui-button:hover,
+.ui-button:active {
+ text-decoration: none;
+}
+
+/* to make room for the icon, a width needs to be set here */
+.ui-button-icon-only {
+ width: 2em;
+ box-sizing: border-box;
+ text-indent: -9999px;
+ white-space: nowrap;
+}
+
+/* no icon support for input elements */
+input.ui-button.ui-button-icon-only {
+ text-indent: 0;
+}
+
+/* button icon element(s) */
+.ui-button-icon-only .ui-icon {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ margin-top: -8px;
+ margin-left: -8px;
+}
+
+.ui-button.ui-icon-notext .ui-icon {
+ padding: 0;
+ width: 2.1em;
+ height: 2.1em;
+ text-indent: -9999px;
+ white-space: nowrap;
+
+}
+
+input.ui-button.ui-icon-notext .ui-icon {
+ width: auto;
+ height: auto;
+ text-indent: 0;
+ white-space: normal;
+ padding: .4em 1em;
+}
+
+/* workarounds */
+/* Support: Firefox 5 - 40 */
+input.ui-button::-moz-focus-inner,
+button.ui-button::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+.ui-controlgroup {
+ vertical-align: middle;
+ display: inline-block;
+}
+.ui-controlgroup > .ui-controlgroup-item {
+ float: left;
+ margin-left: 0;
+ margin-right: 0;
+}
+.ui-controlgroup > .ui-controlgroup-item:focus,
+.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus {
+ z-index: 9999;
+}
+.ui-controlgroup-vertical > .ui-controlgroup-item {
+ display: block;
+ float: none;
+ width: 100%;
+ margin-top: 0;
+ margin-bottom: 0;
+ text-align: left;
+}
+.ui-controlgroup-vertical .ui-controlgroup-item {
+ box-sizing: border-box;
+}
+.ui-controlgroup .ui-controlgroup-label {
+ padding: .4em 1em;
+}
+.ui-controlgroup .ui-controlgroup-label span {
+ font-size: 80%;
+}
+.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item {
+ border-left: none;
+}
+.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item {
+ border-top: none;
+}
+.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content {
+ border-right: none;
+}
+.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {
+ border-bottom: none;
+}
+
+/* Spinner specific style fixes */
+.ui-controlgroup-vertical .ui-spinner-input {
+
+ /* Support: IE8 only, Android < 4.4 only */
+ width: 75%;
+ width: calc( 100% - 2.4em );
+}
+.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {
+ border-top-style: solid;
+}
+
+.ui-checkboxradio-label .ui-icon-background {
+ box-shadow: inset 1px 1px 1px #ccc;
+ border-radius: .12em;
+ border: none;
+}
+.ui-checkboxradio-radio-label .ui-icon-background {
+ width: 16px;
+ height: 16px;
+ border-radius: 1em;
+ overflow: visible;
+ border: none;
+}
+.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,
+.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {
+ background-image: none;
+ width: 8px;
+ height: 8px;
+ border-width: 4px;
+ border-style: solid;
+}
+.ui-checkboxradio-disabled {
+ pointer-events: none;
+}
+.ui-datepicker {
+ width: 17em;
+ padding: .2em .2em 0;
+ display: none;
+}
+.ui-datepicker .ui-datepicker-header {
+ position: relative;
+ padding: .2em 0;
+}
+.ui-datepicker .ui-datepicker-prev,
+.ui-datepicker .ui-datepicker-next {
+ position: absolute;
+ top: 2px;
+ width: 1.8em;
+ height: 1.8em;
+}
+.ui-datepicker .ui-datepicker-prev-hover,
+.ui-datepicker .ui-datepicker-next-hover {
+ top: 1px;
+}
+.ui-datepicker .ui-datepicker-prev {
+ left: 2px;
+}
+.ui-datepicker .ui-datepicker-next {
+ right: 2px;
+}
+.ui-datepicker .ui-datepicker-prev-hover {
+ left: 1px;
+}
+.ui-datepicker .ui-datepicker-next-hover {
+ right: 1px;
+}
+.ui-datepicker .ui-datepicker-prev span,
+.ui-datepicker .ui-datepicker-next span {
+ display: block;
+ position: absolute;
+ left: 50%;
+ margin-left: -8px;
+ top: 50%;
+ margin-top: -8px;
+}
+.ui-datepicker .ui-datepicker-title {
+ margin: 0 2.3em;
+ line-height: 1.8em;
+ text-align: center;
+}
+.ui-datepicker .ui-datepicker-title select {
+ font-size: 1em;
+ margin: 1px 0;
+}
+.ui-datepicker select.ui-datepicker-month,
+.ui-datepicker select.ui-datepicker-year {
+ width: 45%;
+}
+.ui-datepicker table {
+ width: 100%;
+ font-size: .9em;
+ border-collapse: collapse;
+ margin: 0 0 .4em;
+}
+.ui-datepicker th {
+ padding: .7em .3em;
+ text-align: center;
+ font-weight: bold;
+ border: 0;
+}
+.ui-datepicker td {
+ border: 0;
+ padding: 1px;
+}
+.ui-datepicker td span,
+.ui-datepicker td a {
+ display: block;
+ padding: .2em;
+ text-align: right;
+ text-decoration: none;
+}
+.ui-datepicker .ui-datepicker-buttonpane {
+ background-image: none;
+ margin: .7em 0 0 0;
+ padding: 0 .2em;
+ border-left: 0;
+ border-right: 0;
+ border-bottom: 0;
+}
+.ui-datepicker .ui-datepicker-buttonpane button {
+ float: right;
+ margin: .5em .2em .4em;
+ cursor: pointer;
+ padding: .2em .6em .3em .6em;
+ width: auto;
+ overflow: visible;
+}
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
+ float: left;
+}
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi {
+ width: auto;
+}
+.ui-datepicker-multi .ui-datepicker-group {
+ float: left;
+}
+.ui-datepicker-multi .ui-datepicker-group table {
+ width: 95%;
+ margin: 0 auto .4em;
+}
+.ui-datepicker-multi-2 .ui-datepicker-group {
+ width: 50%;
+}
+.ui-datepicker-multi-3 .ui-datepicker-group {
+ width: 33.3%;
+}
+.ui-datepicker-multi-4 .ui-datepicker-group {
+ width: 25%;
+}
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
+ border-left-width: 0;
+}
+.ui-datepicker-multi .ui-datepicker-buttonpane {
+ clear: left;
+}
+.ui-datepicker-row-break {
+ clear: both;
+ width: 100%;
+ font-size: 0;
+}
+
+/* RTL support */
+.ui-datepicker-rtl {
+ direction: rtl;
+}
+.ui-datepicker-rtl .ui-datepicker-prev {
+ right: 2px;
+ left: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-next {
+ left: 2px;
+ right: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-prev:hover {
+ right: 1px;
+ left: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-next:hover {
+ left: 1px;
+ right: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane {
+ clear: right;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane button {
+ float: left;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
+.ui-datepicker-rtl .ui-datepicker-group {
+ float: right;
+}
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
+ border-right-width: 0;
+ border-left-width: 1px;
+}
+
+/* Icons */
+.ui-datepicker .ui-icon {
+ display: block;
+ text-indent: -99999px;
+ overflow: hidden;
+ background-repeat: no-repeat;
+ left: .5em;
+ top: .3em;
+}
+.ui-dialog {
+ position: absolute;
+ top: 0;
+ left: 0;
+ padding: .2em;
+ outline: 0;
+}
+.ui-dialog .ui-dialog-titlebar {
+ padding: .4em 1em;
+ position: relative;
+}
+.ui-dialog .ui-dialog-title {
+ float: left;
+ margin: .1em 0;
+ white-space: nowrap;
+ width: 90%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+.ui-dialog .ui-dialog-titlebar-close {
+ position: absolute;
+ right: .3em;
+ top: 50%;
+ width: 20px;
+ margin: -10px 0 0 0;
+ padding: 1px;
+ height: 20px;
+}
+.ui-dialog .ui-dialog-content {
+ position: relative;
+ border: 0;
+ padding: .5em 1em;
+ background: none;
+ overflow: auto;
+}
+.ui-dialog .ui-dialog-buttonpane {
+ text-align: left;
+ border-width: 1px 0 0 0;
+ background-image: none;
+ margin-top: .5em;
+ padding: .3em 1em .5em .4em;
+}
+.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
+ float: right;
+}
+.ui-dialog .ui-dialog-buttonpane button {
+ margin: .5em .4em .5em 0;
+ cursor: pointer;
+}
+.ui-dialog .ui-resizable-n {
+ height: 2px;
+ top: 0;
+}
+.ui-dialog .ui-resizable-e {
+ width: 2px;
+ right: 0;
+}
+.ui-dialog .ui-resizable-s {
+ height: 2px;
+ bottom: 0;
+}
+.ui-dialog .ui-resizable-w {
+ width: 2px;
+ left: 0;
+}
+.ui-dialog .ui-resizable-se,
+.ui-dialog .ui-resizable-sw,
+.ui-dialog .ui-resizable-ne,
+.ui-dialog .ui-resizable-nw {
+ width: 7px;
+ height: 7px;
+}
+.ui-dialog .ui-resizable-se {
+ right: 0;
+ bottom: 0;
+}
+.ui-dialog .ui-resizable-sw {
+ left: 0;
+ bottom: 0;
+}
+.ui-dialog .ui-resizable-ne {
+ right: 0;
+ top: 0;
+}
+.ui-dialog .ui-resizable-nw {
+ left: 0;
+ top: 0;
+}
+.ui-draggable .ui-dialog-titlebar {
+ cursor: move;
+}
+.ui-draggable-handle {
+ -ms-touch-action: none;
+ touch-action: none;
+}
+.ui-resizable {
+ position: relative;
+}
+.ui-resizable-handle {
+ position: absolute;
+ font-size: 0.1px;
+ display: block;
+ -ms-touch-action: none;
+ touch-action: none;
+}
+.ui-resizable-disabled .ui-resizable-handle,
+.ui-resizable-autohide .ui-resizable-handle {
+ display: none;
+}
+.ui-resizable-n {
+ cursor: n-resize;
+ height: 7px;
+ width: 100%;
+ top: -5px;
+ left: 0;
+}
+.ui-resizable-s {
+ cursor: s-resize;
+ height: 7px;
+ width: 100%;
+ bottom: -5px;
+ left: 0;
+}
+.ui-resizable-e {
+ cursor: e-resize;
+ width: 7px;
+ right: -5px;
+ top: 0;
+ height: 100%;
+}
+.ui-resizable-w {
+ cursor: w-resize;
+ width: 7px;
+ left: -5px;
+ top: 0;
+ height: 100%;
+}
+.ui-resizable-se {
+ cursor: se-resize;
+ width: 12px;
+ height: 12px;
+ right: 1px;
+ bottom: 1px;
+}
+.ui-resizable-sw {
+ cursor: sw-resize;
+ width: 9px;
+ height: 9px;
+ left: -5px;
+ bottom: -5px;
+}
+.ui-resizable-nw {
+ cursor: nw-resize;
+ width: 9px;
+ height: 9px;
+ left: -5px;
+ top: -5px;
+}
+.ui-resizable-ne {
+ cursor: ne-resize;
+ width: 9px;
+ height: 9px;
+ right: -5px;
+ top: -5px;
+}
+.ui-progressbar {
+ height: 2em;
+ text-align: left;
+ overflow: hidden;
+}
+.ui-progressbar .ui-progressbar-value {
+ margin: -1px;
+ height: 100%;
+}
+.ui-progressbar .ui-progressbar-overlay {
+ background: url("data:image/gif;base64,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");
+ height: 100%;
+ filter: alpha(opacity=25); /* support: IE8 */
+ opacity: 0.25;
+}
+.ui-progressbar-indeterminate .ui-progressbar-value {
+ background-image: none;
+}
+.ui-selectable {
+ -ms-touch-action: none;
+ touch-action: none;
+}
+.ui-selectable-helper {
+ position: absolute;
+ z-index: 100;
+ border: 1px dotted black;
+}
+.ui-selectmenu-menu {
+ padding: 0;
+ margin: 0;
+ position: absolute;
+ top: 0;
+ left: 0;
+ display: none;
+}
+.ui-selectmenu-menu .ui-menu {
+ overflow: auto;
+ overflow-x: hidden;
+ padding-bottom: 1px;
+}
+.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {
+ font-size: 1em;
+ font-weight: bold;
+ line-height: 1.5;
+ padding: 2px 0.4em;
+ margin: 0.5em 0 0 0;
+ height: auto;
+ border: 0;
+}
+.ui-selectmenu-open {
+ display: block;
+}
+.ui-selectmenu-text {
+ display: block;
+ margin-right: 20px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+.ui-selectmenu-button.ui-button {
+ text-align: left;
+ white-space: nowrap;
+ width: 14em;
+}
+.ui-selectmenu-icon.ui-icon {
+ float: right;
+ margin-top: 0;
+}
+.ui-slider {
+ position: relative;
+ text-align: left;
+}
+.ui-slider .ui-slider-handle {
+ position: absolute;
+ z-index: 2;
+ width: 1.2em;
+ height: 1.2em;
+ cursor: default;
+ -ms-touch-action: none;
+ touch-action: none;
+}
+.ui-slider .ui-slider-range {
+ position: absolute;
+ z-index: 1;
+ font-size: .7em;
+ display: block;
+ border: 0;
+ background-position: 0 0;
+}
+
+/* support: IE8 - See #6727 */
+.ui-slider.ui-state-disabled .ui-slider-handle,
+.ui-slider.ui-state-disabled .ui-slider-range {
+ filter: inherit;
+}
+
+.ui-slider-horizontal {
+ height: .8em;
+}
+.ui-slider-horizontal .ui-slider-handle {
+ top: -.3em;
+ margin-left: -.6em;
+}
+.ui-slider-horizontal .ui-slider-range {
+ top: 0;
+ height: 100%;
+}
+.ui-slider-horizontal .ui-slider-range-min {
+ left: 0;
+}
+.ui-slider-horizontal .ui-slider-range-max {
+ right: 0;
+}
+
+.ui-slider-vertical {
+ width: .8em;
+ height: 100px;
+}
+.ui-slider-vertical .ui-slider-handle {
+ left: -.3em;
+ margin-left: 0;
+ margin-bottom: -.6em;
+}
+.ui-slider-vertical .ui-slider-range {
+ left: 0;
+ width: 100%;
+}
+.ui-slider-vertical .ui-slider-range-min {
+ bottom: 0;
+}
+.ui-slider-vertical .ui-slider-range-max {
+ top: 0;
+}
+.ui-sortable-handle {
+ -ms-touch-action: none;
+ touch-action: none;
+}
+.ui-spinner {
+ position: relative;
+ display: inline-block;
+ overflow: hidden;
+ padding: 0;
+ vertical-align: middle;
+}
+.ui-spinner-input {
+ border: none;
+ background: none;
+ color: inherit;
+ padding: .222em 0;
+ margin: .2em 0;
+ vertical-align: middle;
+ margin-left: .4em;
+ margin-right: 2em;
+}
+.ui-spinner-button {
+ width: 1.6em;
+ height: 50%;
+ font-size: .5em;
+ padding: 0;
+ margin: 0;
+ text-align: center;
+ position: absolute;
+ cursor: default;
+ display: block;
+ overflow: hidden;
+ right: 0;
+}
+/* more specificity required here to override default borders */
+.ui-spinner a.ui-spinner-button {
+ border-top-style: none;
+ border-bottom-style: none;
+ border-right-style: none;
+}
+.ui-spinner-up {
+ top: 0;
+}
+.ui-spinner-down {
+ bottom: 0;
+}
+.ui-tabs {
+ position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
+ padding: .2em;
+}
+.ui-tabs .ui-tabs-nav {
+ margin: 0;
+ padding: .2em .2em 0;
+}
+.ui-tabs .ui-tabs-nav li {
+ list-style: none;
+ float: left;
+ position: relative;
+ top: 0;
+ margin: 1px .2em 0 0;
+ border-bottom-width: 0;
+ padding: 0;
+ white-space: nowrap;
+}
+.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
+ float: left;
+ padding: .5em 1em;
+ text-decoration: none;
+}
+.ui-tabs .ui-tabs-nav li.ui-tabs-active {
+ margin-bottom: -1px;
+ padding-bottom: 1px;
+}
+.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
+.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
+.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
+ cursor: text;
+}
+.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
+ cursor: pointer;
+}
+.ui-tabs .ui-tabs-panel {
+ display: block;
+ border-width: 0;
+ padding: 1em 1.4em;
+ background: none;
+}
+.ui-tooltip {
+ padding: 8px;
+ position: absolute;
+ z-index: 9999;
+ max-width: 300px;
+}
+body .ui-tooltip {
+ border-width: 2px;
+}
+/* Component containers
+----------------------------------*/
+.ui-widget {
+ font-family: Arial,Helvetica,sans-serif;
+ font-size: 1em;
+}
+.ui-widget .ui-widget {
+ font-size: 1em;
+}
+.ui-widget input,
+.ui-widget select,
+.ui-widget textarea,
+.ui-widget button {
+ font-family: Arial,Helvetica,sans-serif;
+ font-size: 1em;
+}
+.ui-widget.ui-widget-content {
+ border: 1px solid #c5c5c5;
+}
+.ui-widget-content {
+ border: 1px solid #dddddd;
+ background: #ffffff;
+ color: #333333;
+}
+.ui-widget-content a {
+ color: #333333;
+}
+.ui-widget-header {
+ border: 1px solid #dddddd;
+ background: #e9e9e9;
+ color: #333333;
+ font-weight: bold;
+}
+.ui-widget-header a {
+ color: #333333;
+}
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default,
+.ui-widget-content .ui-state-default,
+.ui-widget-header .ui-state-default,
+.ui-button,
+
+/* We use html here because we need a greater specificity to make sure disabled
+works properly when clicked or hovered */
+html .ui-button.ui-state-disabled:hover,
+html .ui-button.ui-state-disabled:active {
+ border: 1px solid #c5c5c5;
+ background: #f6f6f6;
+ font-weight: normal;
+ color: #454545;
+}
+.ui-state-default a,
+.ui-state-default a:link,
+.ui-state-default a:visited,
+a.ui-button,
+a:link.ui-button,
+a:visited.ui-button,
+.ui-button {
+ color: #454545;
+ text-decoration: none;
+}
+.ui-state-hover,
+.ui-widget-content .ui-state-hover,
+.ui-widget-header .ui-state-hover,
+.ui-state-focus,
+.ui-widget-content .ui-state-focus,
+.ui-widget-header .ui-state-focus,
+.ui-button:hover,
+.ui-button:focus {
+ border: 1px solid #cccccc;
+ background: #ededed;
+ font-weight: normal;
+ color: #2b2b2b;
+}
+.ui-state-hover a,
+.ui-state-hover a:hover,
+.ui-state-hover a:link,
+.ui-state-hover a:visited,
+.ui-state-focus a,
+.ui-state-focus a:hover,
+.ui-state-focus a:link,
+.ui-state-focus a:visited,
+a.ui-button:hover,
+a.ui-button:focus {
+ color: #2b2b2b;
+ text-decoration: none;
+}
+
+.ui-visual-focus {
+ box-shadow: 0 0 3px 1px rgb(94, 158, 214);
+}
+.ui-state-active,
+.ui-widget-content .ui-state-active,
+.ui-widget-header .ui-state-active,
+a.ui-button:active,
+.ui-button:active,
+.ui-button.ui-state-active:hover {
+/* border: 1px solid #003eff;
+ background: #007fff;*/
+ border: 1px solid #1779ba;
+ background: #1779ba;
+ font-weight: normal;
+ color: #ffffff;
+}
+.ui-icon-background,
+.ui-state-active .ui-icon-background {
+ border: #003eff;
+ background-color: #ffffff;
+}
+.ui-state-active a,
+.ui-state-active a:link,
+.ui-state-active a:visited {
+ color: #ffffff;
+ text-decoration: none;
+}
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight,
+.ui-widget-content .ui-state-highlight,
+.ui-widget-header .ui-state-highlight {
+ border: 1px solid #dad55e;
+ background: #fffa90;
+ color: #777620;
+}
+.ui-state-checked {
+ border: 1px solid #dad55e;
+ background: #fffa90;
+}
+.ui-state-highlight a,
+.ui-widget-content .ui-state-highlight a,
+.ui-widget-header .ui-state-highlight a {
+ color: #777620;
+}
+.ui-state-error,
+.ui-widget-content .ui-state-error,
+.ui-widget-header .ui-state-error {
+ border: 1px solid #f1a899;
+ background: #fddfdf;
+ color: #5f3f3f;
+}
+.ui-state-error a,
+.ui-widget-content .ui-state-error a,
+.ui-widget-header .ui-state-error a {
+ color: #5f3f3f;
+}
+.ui-state-error-text,
+.ui-widget-content .ui-state-error-text,
+.ui-widget-header .ui-state-error-text {
+ color: #5f3f3f;
+}
+.ui-priority-primary,
+.ui-widget-content .ui-priority-primary,
+.ui-widget-header .ui-priority-primary {
+ font-weight: bold;
+}
+.ui-priority-secondary,
+.ui-widget-content .ui-priority-secondary,
+.ui-widget-header .ui-priority-secondary {
+ opacity: .7;
+ filter:Alpha(Opacity=70); /* support: IE8 */
+ font-weight: normal;
+}
+.ui-state-disabled,
+.ui-widget-content .ui-state-disabled,
+.ui-widget-header .ui-state-disabled {
+ opacity: .35;
+ filter:Alpha(Opacity=35); /* support: IE8 */
+ background-image: none;
+}
+.ui-state-disabled .ui-icon {
+ filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
+}
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon {
+ width: 16px;
+ height: 16px;
+}
+.ui-icon,
+.ui-widget-content .ui-icon {
+ background-image: url("images/ui-icons_444444_256x240.png");
+}
+.ui-widget-header .ui-icon {
+ background-image: url("images/ui-icons_444444_256x240.png");
+}
+.ui-state-hover .ui-icon,
+.ui-state-focus .ui-icon,
+.ui-button:hover .ui-icon,
+.ui-button:focus .ui-icon {
+ background-image: url("images/ui-icons_555555_256x240.png");
+}
+.ui-state-active .ui-icon,
+.ui-button:active .ui-icon {
+ background-image: url("images/ui-icons_ffffff_256x240.png");
+}
+.ui-state-highlight .ui-icon,
+.ui-button .ui-state-highlight.ui-icon {
+ background-image: url("images/ui-icons_777620_256x240.png");
+}
+.ui-state-error .ui-icon,
+.ui-state-error-text .ui-icon {
+ background-image: url("images/ui-icons_cc0000_256x240.png");
+}
+.ui-button .ui-icon {
+ background-image: url("images/ui-icons_777777_256x240.png");
+}
+
+/* positioning */
+.ui-icon-blank { background-position: 16px 16px; }
+.ui-icon-caret-1-n { background-position: 0 0; }
+.ui-icon-caret-1-ne { background-position: -16px 0; }
+.ui-icon-caret-1-e { background-position: -32px 0; }
+.ui-icon-caret-1-se { background-position: -48px 0; }
+.ui-icon-caret-1-s { background-position: -65px 0; }
+.ui-icon-caret-1-sw { background-position: -80px 0; }
+.ui-icon-caret-1-w { background-position: -96px 0; }
+.ui-icon-caret-1-nw { background-position: -112px 0; }
+.ui-icon-caret-2-n-s { background-position: -128px 0; }
+.ui-icon-caret-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -65px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -65px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 1px -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-on { background-position: -96px -144px; }
+.ui-icon-radio-off { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-all,
+.ui-corner-top,
+.ui-corner-left,
+.ui-corner-tl {
+/* border-top-left-radius: 3px;
+}
+.ui-corner-all,
+.ui-corner-top,
+.ui-corner-right,
+.ui-corner-tr {
+/* border-top-right-radius: 3px;*/
+}
+.ui-corner-all,
+.ui-corner-bottom,
+.ui-corner-left,
+.ui-corner-bl {
+/* border-bottom-left-radius: 3px;*/
+}
+.ui-corner-all,
+.ui-corner-bottom,
+.ui-corner-right,
+.ui-corner-br {
+/* border-bottom-right-radius: 3px;*/
+}
+
+/* Overlays */
+.ui-widget-overlay {
+ background: #aaaaaa;
+ opacity: .3;
+ filter: Alpha(Opacity=30); /* support: IE8 */
+}
+.ui-widget-shadow {
+ -webkit-box-shadow: 0px 0px 5px #666666;
+ box-shadow: 0px 0px 5px #666666;
+}
diff --git a/clover/controller/control/static/js/foundation/foundation.min.js b/clover/controller/control/static/js/foundation/foundation.min.js
new file mode 100644
index 0000000..ab213a6
--- /dev/null
+++ b/clover/controller/control/static/js/foundation/foundation.min.js
@@ -0,0 +1,5 @@
+!function(t){function e(n){if(i[n])return i[n].exports;var s=i[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,e),s.l=!0,s.exports}var i={};return e.m=t,e.c=i,e.i=function(t){return t},e.d=function(t,i,n){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=35)}([function(t,e){t.exports=jQuery},function(t,e,i){"use strict";function n(){return"rtl"===r()("html").attr("dir")}function s(t,e){return t=t||6,Math.round(Math.pow(36,t+1)-Math.random()*Math.pow(36,t)).toString(36).slice(1)+(e?"-"+e:"")}function o(t){var e,i={transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend"},n=document.createElement("div");for(var s in i)"undefined"!=typeof n.style[s]&&(e=i[s]);return e?e:(e=setTimeout(function(){t.triggerHandler("transitionend",[t])},1),"transitionend")}i.d(e,"b",function(){return n}),i.d(e,"a",function(){return s}),i.d(e,"c",function(){return o});var a=i(0),r=i.n(a)},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function o(t){return s("undefined"!=typeof t.constructor.name?t.constructor.name:t.className)}i.d(e,"a",function(){return u});var a=i(0),r=(i.n(a),i(1)),l=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),u=function(){function t(e,s){n(this,t),this._setup(e,s);var a=o(this);this.uuid=i.i(r.a)(6,a),this.$element.attr("data-"+a)||this.$element.attr("data-"+a,this.uuid),this.$element.data("zfPlugin")||this.$element.data("zfPlugin",this),this.$element.trigger("init.zf."+a)}return l(t,[{key:"destroy",value:function(){this._destroy();var t=o(this);this.$element.removeAttr("data-"+t).removeData("zfPlugin").trigger("destroyed.zf."+t);for(var e in this)this[e]=null}}]),t}()},function(t,e,i){"use strict";function n(t){var e={};return"string"!=typeof t?e:(t=t.trim().slice(1,-1))?e=t.split("&").reduce(function(t,e){var i=e.replace(/\+/g," ").split("="),n=i[0],s=i[1];return n=decodeURIComponent(n),s=void 0===s?null:decodeURIComponent(s),t.hasOwnProperty(n)?Array.isArray(t[n])?t[n].push(s):t[n]=[t[n],s]:t[n]=s,t},{}):e}i.d(e,"a",function(){return r});var s=i(0),o=i.n(s),a=window.matchMedia||function(){var t=window.styleMedia||window.media;if(!t){var e=document.createElement("style"),i=document.getElementsByTagName("script")[0],n=null;e.type="text/css",e.id="matchmediajs-test",i&&i.parentNode&&i.parentNode.insertBefore(e,i),n="getComputedStyle"in window&&window.getComputedStyle(e,null)||e.currentStyle,t={matchMedium:function(t){var i="@media "+t+"{ #matchmediajs-test { width: 1px; } }";return e.styleSheet?e.styleSheet.cssText=i:e.textContent=i,"1px"===n.width}}}return function(e){return{matches:t.matchMedium(e||"all"),media:e||"all"}}}(),r={queries:[],current:"",_init:function(){var t=this,e=o()("meta.foundation-mq");e.length||o()('<meta class="foundation-mq">').appendTo(document.head);var i,s=o()(".foundation-mq").css("font-family");i=n(s);for(var a in i)i.hasOwnProperty(a)&&t.queries.push({name:a,value:"only screen and (min-width: "+i[a]+")"});this.current=this._getCurrentSize(),this._watcher()},atLeast:function(t){var e=this.get(t);return!!e&&a(e).matches},is:function(t){return t=t.trim().split(" "),t.length>1&&"only"===t[1]?t[0]===this._getCurrentSize():this.atLeast(t[0])},get:function(t){for(var e in this.queries)if(this.queries.hasOwnProperty(e)){var i=this.queries[e];if(t===i.name)return i.value}return null},_getCurrentSize:function(){for(var t,e=0;e<this.queries.length;e++){var i=this.queries[e];a(i.value).matches&&(t=i)}return"object"==typeof t?t.name:t},_watcher:function(){var t=this;o()(window).off("resize.zf.mediaquery").on("resize.zf.mediaquery",function(){var e=t._getCurrentSize(),i=t.current;e!==i&&(t.current=e,o()(window).trigger("changed.zf.mediaquery",[e,i]))})}}},function(t,e,i){"use strict";function n(t){return!!t&&t.find("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]").filter(function(){return!(!r()(this).is(":visible")||r()(this).attr("tabindex")<0)})}function s(t){var e=u[t.which||t.keyCode]||String.fromCharCode(t.which).toUpperCase();return e=e.replace(/\W+/,""),t.shiftKey&&(e="SHIFT_"+e),t.ctrlKey&&(e="CTRL_"+e),t.altKey&&(e="ALT_"+e),e=e.replace(/_$/,"")}function o(t){var e={};for(var i in t)e[t[i]]=t[i];return e}i.d(e,"a",function(){return h});var a=i(0),r=i.n(a),l=i(1),u={9:"TAB",13:"ENTER",27:"ESCAPE",32:"SPACE",35:"END",36:"HOME",37:"ARROW_LEFT",38:"ARROW_UP",39:"ARROW_RIGHT",40:"ARROW_DOWN"},c={},h={keys:o(u),parseKey:s,handleKey:function(t,e,n){var s,o,a,u=c[e],h=this.parseKey(t);if(!u)return console.warn("Component not defined!");if(s="undefined"==typeof u.ltr?u:i.i(l.b)()?r.a.extend({},u.ltr,u.rtl):r.a.extend({},u.rtl,u.ltr),o=s[h],a=n[o],a&&"function"==typeof a){var d=a.apply();(n.handled||"function"==typeof n.handled)&&n.handled(d)}else(n.unhandled||"function"==typeof n.unhandled)&&n.unhandled()},findFocusable:n,register:function(t,e){c[t]=e},trapFocus:function(t){var e=n(t),i=e.eq(0),o=e.eq(-1);t.on("keydown.zf.trapfocus",function(t){t.target===o[0]&&"TAB"===s(t)?(t.preventDefault(),i.focus()):t.target===i[0]&&"SHIFT_TAB"===s(t)&&(t.preventDefault(),o.focus())})},releaseFocus:function(t){t.off("keydown.zf.trapfocus")}}},function(t,e,i){"use strict";function n(t,e,i){var n=void 0,s=Array.prototype.slice.call(arguments,3);o()(window).off(e).on(e,function(e){n&&clearTimeout(n),n=setTimeout(function(){i.apply(null,s)},t||10)})}i.d(e,"a",function(){return u});var s=i(0),o=i.n(s),a=i(6),r=function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;e<t.length;e++)if(t[e]+"MutationObserver"in window)return window[t[e]+"MutationObserver"];return!1}(),l=function(t,e){t.data(e).split(" ").forEach(function(i){o()("#"+i)["close"===e?"trigger":"triggerHandler"](e+".zf.trigger",[t])})},u={Listeners:{Basic:{},Global:{}},Initializers:{}};u.Listeners.Basic={openListener:function(){l(o()(this),"open")},closeListener:function(){var t=o()(this).data("close");t?l(o()(this),"close"):o()(this).trigger("close.zf.trigger")},toggleListener:function(){var t=o()(this).data("toggle");t?l(o()(this),"toggle"):o()(this).trigger("toggle.zf.trigger")},closeableListener:function(t){t.stopPropagation();var e=o()(this).data("closable");""!==e?a.a.animateOut(o()(this),e,function(){o()(this).trigger("closed.zf")}):o()(this).fadeOut().trigger("closed.zf")},toggleFocusListener:function(){var t=o()(this).data("toggle-focus");o()("#"+t).triggerHandler("toggle.zf.trigger",[o()(this)])}},u.Initializers.addOpenListener=function(t){t.off("click.zf.trigger",u.Listeners.Basic.openListener),t.on("click.zf.trigger","[data-open]",u.Listeners.Basic.openListener)},u.Initializers.addCloseListener=function(t){t.off("click.zf.trigger",u.Listeners.Basic.closeListener),t.on("click.zf.trigger","[data-close]",u.Listeners.Basic.closeListener)},u.Initializers.addToggleListener=function(t){t.off("click.zf.trigger",u.Listeners.Basic.toggleListener),t.on("click.zf.trigger","[data-toggle]",u.Listeners.Basic.toggleListener)},u.Initializers.addCloseableListener=function(t){t.off("close.zf.trigger",u.Listeners.Basic.closeableListener),t.on("close.zf.trigger","[data-closeable], [data-closable]",u.Listeners.Basic.closeableListener)},u.Initializers.addToggleFocusListener=function(t){t.off("focus.zf.trigger blur.zf.trigger",u.Listeners.Basic.toggleFocusListener),t.on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",u.Listeners.Basic.toggleFocusListener)},u.Listeners.Global={resizeListener:function(t){r||t.each(function(){o()(this).triggerHandler("resizeme.zf.trigger")}),t.attr("data-events","resize")},scrollListener:function(t){r||t.each(function(){o()(this).triggerHandler("scrollme.zf.trigger")}),t.attr("data-events","scroll")},closeMeListener:function(t,e){var i=t.namespace.split(".")[0],n=o()("[data-"+i+"]").not('[data-yeti-box="'+e+'"]');n.each(function(){var t=o()(this);t.triggerHandler("close.zf.trigger",[t])})}},u.Initializers.addClosemeListener=function(t){var e=o()("[data-yeti-box]"),i=["dropdown","tooltip","reveal"];if(t&&("string"==typeof t?i.push(t):"object"==typeof t&&"string"==typeof t[0]?i.concat(t):console.error("Plugin names must be strings")),e.length){var n=i.map(function(t){return"closeme.zf."+t}).join(" ");o()(window).off(n).on(n,u.Listeners.Global.closeMeListener)}},u.Initializers.addResizeListener=function(t){var e=o()("[data-resize]");e.length&&n(t,"resize.zf.trigger",u.Listeners.Global.resizeListener,e)},u.Initializers.addScrollListener=function(t){var e=o()("[data-scroll]");e.length&&n(t,"scroll.zf.trigger",u.Listeners.Global.scrollListener,e)},u.Initializers.addMutationEventsListener=function(t){if(!r)return!1;var e=t.find("[data-resize], [data-scroll], [data-mutate]"),i=function(t){var e=o()(t[0].target);switch(t[0].type){case"attributes":"scroll"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("scrollme.zf.trigger",[e,window.pageYOffset]),"resize"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("resizeme.zf.trigger",[e]),"style"===t[0].attributeName&&(e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]));break;case"childList":e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]);break;default:return!1}};if(e.length)for(var n=0;n<=e.length-1;n++){var s=new r(i);s.observe(e[n],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})}},u.Initializers.addSimpleListeners=function(){var t=o()(document);u.Initializers.addOpenListener(t),u.Initializers.addCloseListener(t),u.Initializers.addToggleListener(t),u.Initializers.addCloseableListener(t),u.Initializers.addToggleFocusListener(t)},u.Initializers.addGlobalListeners=function(){var t=o()(document);u.Initializers.addMutationEventsListener(t),u.Initializers.addResizeListener(),u.Initializers.addScrollListener(),u.Initializers.addClosemeListener()},u.init=function(t,e){if("undefined"==typeof t.triggersInitialized){t(document);"complete"===document.readyState?(u.Initializers.addSimpleListeners(),u.Initializers.addGlobalListeners()):t(window).on("load",function(){u.Initializers.addSimpleListeners(),u.Initializers.addGlobalListeners()}),t.triggersInitialized=!0}e&&(e.Triggers=u,e.IHearYou=u.Initializers.addGlobalListeners)}},function(t,e,i){"use strict";function n(t,e,i){function n(r){a||(a=r),o=r-a,i.apply(e),o<t?s=window.requestAnimationFrame(n,e):(window.cancelAnimationFrame(s),e.trigger("finished.zf.animate",[e]).triggerHandler("finished.zf.animate",[e]))}var s,o,a=null;return 0===t?(i.apply(e),void e.trigger("finished.zf.animate",[e]).triggerHandler("finished.zf.animate",[e])):void(s=window.requestAnimationFrame(n))}function s(t,e,n,s){function o(){t||e.hide(),c(),s&&s.apply(e)}function c(){e[0].style.transitionDuration=0,e.removeClass(h+" "+d+" "+n)}if(e=a()(e).eq(0),e.length){var h=t?l[0]:l[1],d=t?u[0]:u[1];c(),e.addClass(n).css("transition","none"),requestAnimationFrame(function(){e.addClass(h),t&&e.show()}),requestAnimationFrame(function(){e[0].offsetWidth,e.css("transition","").addClass(d)}),e.one(i.i(r.c)(e),o)}}i.d(e,"b",function(){return n}),i.d(e,"a",function(){return c});var o=i(0),a=i.n(o),r=i(1),l=["mui-enter","mui-leave"],u=["mui-enter-active","mui-leave-active"],c={animateIn:function(t,e,i){s(!0,t,e,i)},animateOut:function(t,e,i){s(!1,t,e,i)}}},function(t,e,i){"use strict";function n(t,e,i,n,o){return 0===s(t,e,i,n,o)}function s(t,e,i,n,s){var a,r,l,u,c=o(t);if(e){var h=o(e);r=h.height+h.offset.top-(c.offset.top+c.height),a=c.offset.top-h.offset.top,l=c.offset.left-h.offset.left,u=h.width+h.offset.left-(c.offset.left+c.width)}else r=c.windowDims.height+c.windowDims.offset.top-(c.offset.top+c.height),a=c.offset.top-c.windowDims.offset.top,l=c.offset.left-c.windowDims.offset.left,u=c.windowDims.width-(c.offset.left+c.width);return r=s?0:Math.min(r,0),a=Math.min(a,0),l=Math.min(l,0),u=Math.min(u,0),i?l+u:n?a+r:Math.sqrt(a*a+r*r+l*l+u*u)}function o(t){if(t=t.length?t[0]:t,t===window||t===document)throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");var e=t.getBoundingClientRect(),i=t.parentNode.getBoundingClientRect(),n=document.body.getBoundingClientRect(),s=window.pageYOffset,o=window.pageXOffset;return{width:e.width,height:e.height,offset:{top:e.top+s,left:e.left+o},parentDims:{width:i.width,height:i.height,offset:{top:i.top+s,left:i.left+o}},windowDims:{width:n.width,height:n.height,offset:{top:s,left:o}}}}function a(t,e,n,s,o,a){switch(console.log("NOTE: GetOffsets is deprecated in favor of GetExplicitOffsets and will be removed in 6.5"),n){case"top":return i.i(l.b)()?r(t,e,"top","left",s,o,a):r(t,e,"top","right",s,o,a);case"bottom":return i.i(l.b)()?r(t,e,"bottom","left",s,o,a):r(t,e,"bottom","right",s,o,a);case"center top":return r(t,e,"top","center",s,o,a);case"center bottom":return r(t,e,"bottom","center",s,o,a);case"center left":return r(t,e,"left","center",s,o,a);case"center right":return r(t,e,"right","center",s,o,a);case"left bottom":return r(t,e,"bottom","left",s,o,a);case"right bottom":return r(t,e,"bottom","right",s,o,a);case"center":return{left:$eleDims.windowDims.offset.left+$eleDims.windowDims.width/2-$eleDims.width/2+o,top:$eleDims.windowDims.offset.top+$eleDims.windowDims.height/2-($eleDims.height/2+s)};case"reveal":return{left:($eleDims.windowDims.width-$eleDims.width)/2+o,top:$eleDims.windowDims.offset.top+s};case"reveal full":return{left:$eleDims.windowDims.offset.left,top:$eleDims.windowDims.offset.top};default:return{left:i.i(l.b)()?$anchorDims.offset.left-$eleDims.width+$anchorDims.width-o:$anchorDims.offset.left+o,top:$anchorDims.offset.top+$anchorDims.height+s}}}function r(t,e,i,n,s,a,r){var l,u,c=o(t),h=e?o(e):null;switch(i){case"top":l=h.offset.top-(c.height+s);break;case"bottom":l=h.offset.top+h.height+s;break;case"left":u=h.offset.left-(c.width+a);break;case"right":u=h.offset.left+h.width+a}switch(i){case"top":case"bottom":switch(n){case"left":u=h.offset.left+a;break;case"right":u=h.offset.left-c.width+h.width-a;break;case"center":u=r?a:h.offset.left+h.width/2-c.width/2+a}break;case"right":case"left":switch(n){case"bottom":l=h.offset.top-s+h.height-c.height;break;case"top":l=h.offset.top+s;break;case"center":l=h.offset.top+s+h.height/2-c.height/2}}return{top:l,left:u}}i.d(e,"a",function(){return u});var l=i(1),u={ImNotTouchingYou:n,OverlapArea:s,GetDimensions:o,GetOffsets:a,GetExplicitOffsets:r}},function(t,e,i){"use strict";function n(t,e){function i(){n--,0===n&&e()}var n=t.length;0===n&&e(),t.each(function(){if(this.complete&&void 0!==this.naturalWidth)i();else{var t=new Image,e="load.zf.images error.zf.images";o()(t).one(e,function t(n){o()(this).off(e,t),i()}),t.src=o()(this).attr("src")}})}i.d(e,"a",function(){return n});var s=i(0),o=i.n(s)},function(t,e,i){"use strict";i.d(e,"a",function(){return o});var n=i(0),s=i.n(n),o={Feather:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zf";t.attr("role","menubar");var i=t.find("li").attr({role:"menuitem"}),n="is-"+e+"-submenu",o=n+"-item",a="is-"+e+"-submenu-parent",r="accordion"!==e;i.each(function(){var t=s()(this),i=t.children("ul");i.length&&(t.addClass(a),i.addClass("submenu "+n).attr({"data-submenu":""}),r&&(t.attr({"aria-haspopup":!0,"aria-label":t.children("a:first").text()}),"drilldown"===e&&t.attr({"aria-expanded":!1})),i.addClass("submenu "+n).attr({"data-submenu":"",role:"menu"}),"drilldown"===e&&i.attr({"aria-hidden":!0})),t.parent("[data-submenu]").length&&t.addClass("is-submenu-item "+o)})},Burn:function(t,e){var i="is-"+e+"-submenu",n=i+"-item",s="is-"+e+"-submenu-parent";t.find(">li, .menu, .menu > li").removeClass(i+" "+n+" "+s+" is-submenu-item submenu is-active").removeAttr("data-submenu").css("display","")}}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return d});var a=i(0),r=i.n(a),l=i(4),u=i(1),c=i(2),h=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),d=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),h(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="Accordion",this._init(),l.a.register("Accordion",{ENTER:"toggle",SPACE:"toggle",ARROW_DOWN:"next",ARROW_UP:"previous"})}},{key:"_init",value:function(){var t=this;this.$element.attr("role","tablist"),this.$tabs=this.$element.children("[data-accordion-item]"),this.$tabs.each(function(t,e){var n=r()(e),s=n.children("[data-tab-content]"),o=s[0].id||i.i(u.a)(6,"accordion"),a=e.id||o+"-label";n.find("a:first").attr({"aria-controls":o,role:"tab",id:a,"aria-expanded":!1,"aria-selected":!1}),s.attr({role:"tabpanel","aria-labelledby":a,"aria-hidden":!0,id:o})});var e=this.$element.find(".is-active").children("[data-tab-content]");this.firstTimeInit=!0,e.length&&(this.down(e,this.firstTimeInit),this.firstTimeInit=!1),this._checkDeepLink=function(){var e=window.location.hash;if(e.length){var i=t.$element.find('[href$="'+e+'"]'),n=r()(e);if(i.length&&n){if(i.parent("[data-accordion-item]").hasClass("is-active")||(t.down(n,t.firstTimeInit),t.firstTimeInit=!1),t.options.deepLinkSmudge){var s=t;r()(window).load(function(){var t=s.$element.offset();r()("html, body").animate({scrollTop:t.top},s.options.deepLinkSmudgeDelay)})}t.$element.trigger("deeplink.zf.accordion",[i,n])}}},this.options.deepLink&&this._checkDeepLink(),this._events()}},{key:"_events",value:function(){var t=this;this.$tabs.each(function(){var e=r()(this),i=e.children("[data-tab-content]");i.length&&e.children("a").off("click.zf.accordion keydown.zf.accordion").on("click.zf.accordion",function(e){e.preventDefault(),t.toggle(i)}).on("keydown.zf.accordion",function(n){l.a.handleKey(n,"Accordion",{toggle:function(){t.toggle(i)},next:function(){var i=e.next().find("a").focus();t.options.multiExpand||i.trigger("click.zf.accordion")},previous:function(){var i=e.prev().find("a").focus();t.options.multiExpand||i.trigger("click.zf.accordion")},handled:function(){n.preventDefault(),n.stopPropagation()}})})}),this.options.deepLink&&r()(window).on("popstate",this._checkDeepLink)}},{key:"toggle",value:function(t){if(t.closest("[data-accordion]").is("[disabled]"))return void console.info("Cannot toggle an accordion that is disabled.");if(t.parent().hasClass("is-active")?this.up(t):this.down(t),this.options.deepLink){var e=t.prev("a").attr("href");this.options.updateHistory?history.pushState({},"",e):history.replaceState({},"",e)}}},{key:"down",value:function(t,e){var i=this;if(t.closest("[data-accordion]").is("[disabled]")&&!e)return void console.info("Cannot call down on an accordion that is disabled.");if(t.attr("aria-hidden",!1).parent("[data-tab-content]").addBack().parent().addClass("is-active"),!this.options.multiExpand&&!e){var n=this.$element.children(".is-active").children("[data-tab-content]");n.length&&this.up(n.not(t))}t.slideDown(this.options.slideSpeed,function(){i.$element.trigger("down.zf.accordion",[t])}),r()("#"+t.attr("aria-labelledby")).attr({"aria-expanded":!0,"aria-selected":!0})}},{key:"up",value:function(t){if(t.closest("[data-accordion]").is("[disabled]"))return void console.info("Cannot call up on an accordion that is disabled.");var e=t.parent().siblings(),i=this;(this.options.allowAllClosed||e.hasClass("is-active"))&&t.parent().hasClass("is-active")&&(t.slideUp(i.options.slideSpeed,function(){i.$element.trigger("up.zf.accordion",[t])}),t.attr("aria-hidden",!0).parent().removeClass("is-active"),r()("#"+t.attr("aria-labelledby")).attr({"aria-expanded":!1,"aria-selected":!1}))}},{key:"_destroy",value:function(){this.$element.find("[data-tab-content]").stop(!0).slideUp(0).css("display",""),this.$element.find("a").off(".zf.accordion"),this.options.deepLink&&r()(window).off("popstate",this._checkDeepLink)}}]),e}(c.a);d.defaults={slideSpeed:250,multiExpand:!1,allowAllClosed:!1,deepLink:!1,deepLinkSmudge:!1,deepLinkSmudgeDelay:300,updateHistory:!1}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return f});var a=i(0),r=i.n(a),l=i(4),u=i(9),c=i(1),h=i(2),d=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),f=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),d(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="AccordionMenu",this._init(),l.a.register("AccordionMenu",{ENTER:"toggle",SPACE:"toggle",ARROW_RIGHT:"open",ARROW_UP:"up",ARROW_DOWN:"down",ARROW_LEFT:"close",ESCAPE:"closeAll"})}},{key:"_init",value:function(){u.a.Feather(this.$element,"accordion");var t=this;this.$element.find("[data-submenu]").not(".is-active").slideUp(0),this.$element.attr({role:"tree","aria-multiselectable":this.options.multiOpen}),this.$menuLinks=this.$element.find(".is-accordion-submenu-parent"),this.$menuLinks.each(function(){var e=this.id||i.i(c.a)(6,"acc-menu-link"),n=r()(this),s=n.children("[data-submenu]"),o=s[0].id||i.i(c.a)(6,"acc-menu"),a=s.hasClass("is-active");t.options.submenuToggle?(n.addClass("has-submenu-toggle"),n.children("a").after('<button id="'+e+'" class="submenu-toggle" aria-controls="'+o+'" aria-expanded="'+a+'" title="'+t.options.submenuToggleText+'"><span class="submenu-toggle-text">'+t.options.submenuToggleText+"</span></button>")):n.attr({"aria-controls":o,"aria-expanded":a,id:e}),s.attr({"aria-labelledby":e,"aria-hidden":!a,role:"group",id:o})}),this.$element.find("li").attr({role:"treeitem"});var e=this.$element.find(".is-active");if(e.length){var t=this;e.each(function(){t.down(r()(this))})}this._events()}},{key:"_events",value:function(){var t=this;this.$element.find("li").each(function(){var e=r()(this).children("[data-submenu]");e.length&&(t.options.submenuToggle?r()(this).children(".submenu-toggle").off("click.zf.accordionMenu").on("click.zf.accordionMenu",function(i){t.toggle(e)}):r()(this).children("a").off("click.zf.accordionMenu").on("click.zf.accordionMenu",function(i){i.preventDefault(),t.toggle(e)}))}).on("keydown.zf.accordionmenu",function(e){var i,n,s=r()(this),o=s.parent("ul").children("li"),a=s.children("[data-submenu]");o.each(function(t){if(r()(this).is(s))return i=o.eq(Math.max(0,t-1)).find("a").first(),n=o.eq(Math.min(t+1,o.length-1)).find("a").first(),r()(this).children("[data-submenu]:visible").length&&(n=s.find("li:first-child").find("a").first()),r()(this).is(":first-child")?i=s.parents("li").first().find("a").first():i.parents("li").first().children("[data-submenu]:visible").length&&(i=i.parents("li").find("li:last-child").find("a").first()),void(r()(this).is(":last-child")&&(n=s.parents("li").first().next("li").find("a").first()))}),l.a.handleKey(e,"AccordionMenu",{open:function(){a.is(":hidden")&&(t.down(a),a.find("li").first().find("a").first().focus())},close:function(){a.length&&!a.is(":hidden")?t.up(a):s.parent("[data-submenu]").length&&(t.up(s.parent("[data-submenu]")),s.parents("li").first().find("a").first().focus())},up:function(){return i.focus(),!0},down:function(){return n.focus(),!0},toggle:function(){return!t.options.submenuToggle&&(s.children("[data-submenu]").length?(t.toggle(s.children("[data-submenu]")),!0):void 0)},closeAll:function(){t.hideAll()},handled:function(t){t&&e.preventDefault(),e.stopImmediatePropagation()}})})}},{key:"hideAll",value:function(){this.up(this.$element.find("[data-submenu]"))}},{key:"showAll",value:function(){this.down(this.$element.find("[data-submenu]"))}},{key:"toggle",value:function(t){t.is(":animated")||(t.is(":hidden")?this.down(t):this.up(t))}},{key:"down",value:function(t){var e=this;this.options.multiOpen||this.up(this.$element.find(".is-active").not(t.parentsUntil(this.$element).add(t))),t.addClass("is-active").attr({"aria-hidden":!1}),this.options.submenuToggle?t.prev(".submenu-toggle").attr({"aria-expanded":!0}):t.parent(".is-accordion-submenu-parent").attr({"aria-expanded":!0}),t.slideDown(e.options.slideSpeed,function(){e.$element.trigger("down.zf.accordionMenu",[t])})}},{key:"up",value:function(t){var e=this;t.slideUp(e.options.slideSpeed,function(){e.$element.trigger("up.zf.accordionMenu",[t])});var i=t.find("[data-submenu]").slideUp(0).addBack().attr("aria-hidden",!0);this.options.submenuToggle?i.prev(".submenu-toggle").attr("aria-expanded",!1):i.parent(".is-accordion-submenu-parent").attr("aria-expanded",!1)}},{key:"_destroy",value:function(){this.$element.find("[data-submenu]").slideDown(0).css("display",""),this.$element.find("a").off("click.zf.accordionMenu"),this.options.submenuToggle&&(this.$element.find(".has-submenu-toggle").removeClass("has-submenu-toggle"),this.$element.find(".submenu-toggle").remove()),u.a.Burn(this.$element,"accordion")}}]),e}(h.a);f.defaults={slideSpeed:250,submenuToggle:!1,submenuToggleText:"Toggle menu",multiOpen:!0}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return p});var a=i(0),r=i.n(a),l=i(4),u=i(9),c=i(1),h=i(7),d=i(2),f=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),p=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),f(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="Drilldown",this._init(),l.a.register("Drilldown",{ENTER:"open",SPACE:"open",ARROW_RIGHT:"next",ARROW_UP:"up",ARROW_DOWN:"down",ARROW_LEFT:"previous",ESCAPE:"close",TAB:"down",SHIFT_TAB:"up"})}},{key:"_init",value:function(){u.a.Feather(this.$element,"drilldown"),this.options.autoApplyClass&&this.$element.addClass("drilldown"),this.$element.attr({role:"tree","aria-multiselectable":!1}),this.$submenuAnchors=this.$element.find("li.is-drilldown-submenu-parent").children("a"),this.$submenus=this.$submenuAnchors.parent("li").children("[data-submenu]").attr("role","group"),this.$menuItems=this.$element.find("li").not(".js-drilldown-back").attr("role","treeitem").find("a"),this.$element.attr("data-mutate",this.$element.attr("data-drilldown")||i.i(c.a)(6,"drilldown")),this._prepareMenu(),this._registerEvents(),this._keyboardEvents()}},{key:"_prepareMenu",value:function(){var t=this;this.$submenuAnchors.each(function(){var e=r()(this),i=e.parent();t.options.parentLink&&e.clone().prependTo(i.children("[data-submenu]")).wrap('<li class="is-submenu-parent-item is-submenu-item is-drilldown-submenu-item" role="menuitem"></li>'),e.data("savedHref",e.attr("href")).removeAttr("href").attr("tabindex",0),e.children("[data-submenu]").attr({"aria-hidden":!0,tabindex:0,role:"group"}),t._events(e)}),this.$submenus.each(function(){var e=r()(this),i=e.find(".js-drilldown-back");if(!i.length)switch(t.options.backButtonPosition){case"bottom":e.append(t.options.backButton);break;case"top":e.prepend(t.options.backButton);break;default:console.error("Unsupported backButtonPosition value '"+t.options.backButtonPosition+"'")}t._back(e)}),this.$submenus.addClass("invisible"),this.options.autoHeight||this.$submenus.addClass("drilldown-submenu-cover-previous"),this.$element.parent().hasClass("is-drilldown")||(this.$wrapper=r()(this.options.wrapper).addClass("is-drilldown"),this.options.animateHeight&&this.$wrapper.addClass("animate-height"),this.$element.wrap(this.$wrapper)),this.$wrapper=this.$element.parent(),this.$wrapper.css(this._getMaxDims())}},{key:"_resize",value:function(){this.$wrapper.css({"max-width":"none","min-height":"none"}),this.$wrapper.css(this._getMaxDims())}},{key:"_events",value:function(t){var e=this;t.off("click.zf.drilldown").on("click.zf.drilldown",function(i){if(r()(i.target).parentsUntil("ul","li").hasClass("is-drilldown-submenu-parent")&&(i.stopImmediatePropagation(),i.preventDefault()),e._show(t.parent("li")),e.options.closeOnClick){var n=r()("body");n.off(".zf.drilldown").on("click.zf.drilldown",function(t){t.target===e.$element[0]||r.a.contains(e.$element[0],t.target)||(t.preventDefault(),e._hideAll(),n.off(".zf.drilldown"))})}})}},{key:"_registerEvents",value:function(){this.options.scrollTop&&(this._bindHandler=this._scrollTop.bind(this),this.$element.on("open.zf.drilldown hide.zf.drilldown closed.zf.drilldown",this._bindHandler)),this.$element.on("mutateme.zf.trigger",this._resize.bind(this))}},{key:"_scrollTop",value:function(){var t=this,e=""!=t.options.scrollTopElement?r()(t.options.scrollTopElement):t.$element,i=parseInt(e.offset().top+t.options.scrollTopOffset,10);r()("html, body").stop(!0).animate({scrollTop:i},t.options.animationDuration,t.options.animationEasing,function(){this===r()("html")[0]&&t.$element.trigger("scrollme.zf.drilldown")})}},{key:"_keyboardEvents",value:function(){var t=this;this.$menuItems.add(this.$element.find(".js-drilldown-back > a, .is-submenu-parent-item > a")).on("keydown.zf.drilldown",function(e){var n,s,o=r()(this),a=o.parent("li").parent("ul").children("li").children("a");a.each(function(t){if(r()(this).is(o))return n=a.eq(Math.max(0,t-1)),void(s=a.eq(Math.min(t+1,a.length-1)))}),l.a.handleKey(e,"Drilldown",{next:function(){if(o.is(t.$submenuAnchors))return t._show(o.parent("li")),o.parent("li").one(i.i(c.c)(o),function(){
+o.parent("li").find("ul li a").filter(t.$menuItems).first().focus()}),!0},previous:function(){return t._hide(o.parent("li").parent("ul")),o.parent("li").parent("ul").one(i.i(c.c)(o),function(){setTimeout(function(){o.parent("li").parent("ul").parent("li").children("a").first().focus()},1)}),!0},up:function(){return n.focus(),!o.is(t.$element.find("> li:first-child > a"))},down:function(){return s.focus(),!o.is(t.$element.find("> li:last-child > a"))},close:function(){o.is(t.$element.find("> li > a"))||(t._hide(o.parent().parent()),o.parent().parent().siblings("a").focus())},open:function(){return o.is(t.$menuItems)?o.is(t.$submenuAnchors)?(t._show(o.parent("li")),o.parent("li").one(i.i(c.c)(o),function(){o.parent("li").find("ul li a").filter(t.$menuItems).first().focus()}),!0):void 0:(t._hide(o.parent("li").parent("ul")),o.parent("li").parent("ul").one(i.i(c.c)(o),function(){setTimeout(function(){o.parent("li").parent("ul").parent("li").children("a").first().focus()},1)}),!0)},handled:function(t){t&&e.preventDefault(),e.stopImmediatePropagation()}})})}},{key:"_hideAll",value:function(){var t=this.$element.find(".is-drilldown-submenu.is-active").addClass("is-closing");this.options.autoHeight&&this.$wrapper.css({height:t.parent().closest("ul").data("calcHeight")}),t.one(i.i(c.c)(t),function(e){t.removeClass("is-active is-closing")}),this.$element.trigger("closed.zf.drilldown")}},{key:"_back",value:function(t){var e=this;t.off("click.zf.drilldown"),t.children(".js-drilldown-back").on("click.zf.drilldown",function(i){i.stopImmediatePropagation(),e._hide(t);var n=t.parent("li").parent("ul").parent("li");n.length&&e._show(n)})}},{key:"_menuLinkEvents",value:function(){var t=this;this.$menuItems.not(".is-drilldown-submenu-parent").off("click.zf.drilldown").on("click.zf.drilldown",function(e){setTimeout(function(){t._hideAll()},0)})}},{key:"_show",value:function(t){this.options.autoHeight&&this.$wrapper.css({height:t.children("[data-submenu]").data("calcHeight")}),t.attr("aria-expanded",!0),t.children("[data-submenu]").addClass("is-active").removeClass("invisible").attr("aria-hidden",!1),this.$element.trigger("open.zf.drilldown",[t])}},{key:"_hide",value:function(t){this.options.autoHeight&&this.$wrapper.css({height:t.parent().closest("ul").data("calcHeight")});t.parent("li").attr("aria-expanded",!1),t.attr("aria-hidden",!0).addClass("is-closing"),t.addClass("is-closing").one(i.i(c.c)(t),function(){t.removeClass("is-active is-closing"),t.blur().addClass("invisible")}),t.trigger("hide.zf.drilldown",[t])}},{key:"_getMaxDims",value:function(){var t=0,e={},i=this;return this.$submenus.add(this.$element).each(function(){var n=(r()(this).children("li").length,h.a.GetDimensions(this).height);t=n>t?n:t,i.options.autoHeight&&(r()(this).data("calcHeight",n),r()(this).hasClass("is-drilldown-submenu")||(e.height=n))}),this.options.autoHeight||(e["min-height"]=t+"px"),e["max-width"]=this.$element[0].getBoundingClientRect().width+"px",e}},{key:"_destroy",value:function(){this.options.scrollTop&&this.$element.off(".zf.drilldown",this._bindHandler),this._hideAll(),this.$element.off("mutateme.zf.trigger"),u.a.Burn(this.$element,"drilldown"),this.$element.unwrap().find(".js-drilldown-back, .is-submenu-parent-item").remove().end().find(".is-active, .is-closing, .is-drilldown-submenu").removeClass("is-active is-closing is-drilldown-submenu").end().find("[data-submenu]").removeAttr("aria-hidden tabindex role"),this.$submenuAnchors.each(function(){r()(this).off(".zf.drilldown")}),this.$submenus.removeClass("drilldown-submenu-cover-previous invisible"),this.$element.find("a").each(function(){var t=r()(this);t.removeAttr("tabindex"),t.data("savedHref")&&t.attr("href",t.data("savedHref")).removeData("savedHref")})}}]),e}(d.a);p.defaults={autoApplyClass:!0,backButton:'<li class="js-drilldown-back"><a tabindex="0">Back</a></li>',backButtonPosition:"top",wrapper:"<div></div>",parentLink:!1,closeOnClick:!1,autoHeight:!1,animateHeight:!1,scrollTop:!1,scrollTopElement:"",scrollTopOffset:0,animationDuration:500,animationEasing:"swing"}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return p});var a=i(0),r=i.n(a),l=i(4),u=i(9),c=i(7),h=i(1),d=i(2),f=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),p=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),f(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="DropdownMenu",this._init(),l.a.register("DropdownMenu",{ENTER:"open",SPACE:"open",ARROW_RIGHT:"next",ARROW_UP:"up",ARROW_DOWN:"down",ARROW_LEFT:"previous",ESCAPE:"close"})}},{key:"_init",value:function(){u.a.Feather(this.$element,"dropdown");var t=this.$element.find("li.is-dropdown-submenu-parent");this.$element.children(".is-dropdown-submenu-parent").children(".is-dropdown-submenu").addClass("first-sub"),this.$menuItems=this.$element.find('[role="menuitem"]'),this.$tabs=this.$element.children('[role="menuitem"]'),this.$tabs.find("ul.is-dropdown-submenu").addClass(this.options.verticalClass),"auto"===this.options.alignment?this.$element.hasClass(this.options.rightClass)||i.i(h.b)()||this.$element.parents(".top-bar-right").is("*")?(this.options.alignment="right",t.addClass("opens-left")):(this.options.alignment="left",t.addClass("opens-right")):"right"===this.options.alignment?t.addClass("opens-left"):t.addClass("opens-right"),this.changed=!1,this._events()}},{key:"_isVertical",value:function(){return"block"===this.$tabs.css("display")||"column"===this.$element.css("flex-direction")}},{key:"_isRtl",value:function(){return this.$element.hasClass("align-right")||i.i(h.b)()&&!this.$element.hasClass("align-left")}},{key:"_events",value:function(){var t=this,e="ontouchstart"in window||"undefined"!=typeof window.ontouchstart,i="is-dropdown-submenu-parent",n=function(n){var s=r()(n.target).parentsUntil("ul","."+i),o=s.hasClass(i),a="true"===s.attr("data-is-click"),l=s.children(".is-dropdown-submenu");if(o)if(a){if(!t.options.closeOnClick||!t.options.clickOpen&&!e||t.options.forceFollow&&e)return;n.stopImmediatePropagation(),n.preventDefault(),t._hide(s)}else n.preventDefault(),n.stopImmediatePropagation(),t._show(l),s.add(s.parentsUntil(t.$element,"."+i)).attr("data-is-click",!0)};(this.options.clickOpen||e)&&this.$menuItems.on("click.zf.dropdownmenu touchstart.zf.dropdownmenu",n),t.options.closeOnClickInside&&this.$menuItems.on("click.zf.dropdownmenu",function(e){var n=r()(this),s=n.hasClass(i);s||t._hide()}),this.options.disableHover||this.$menuItems.on("mouseenter.zf.dropdownmenu",function(e){var n=r()(this),s=n.hasClass(i);s&&(clearTimeout(n.data("_delay")),n.data("_delay",setTimeout(function(){t._show(n.children(".is-dropdown-submenu"))},t.options.hoverDelay)))}).on("mouseleave.zf.dropdownmenu",function(e){var n=r()(this),s=n.hasClass(i);if(s&&t.options.autoclose){if("true"===n.attr("data-is-click")&&t.options.clickOpen)return!1;clearTimeout(n.data("_delay")),n.data("_delay",setTimeout(function(){t._hide(n)},t.options.closingTime))}}),this.$menuItems.on("keydown.zf.dropdownmenu",function(e){var i,n,s=r()(e.target).parentsUntil("ul",'[role="menuitem"]'),o=t.$tabs.index(s)>-1,a=o?t.$tabs:s.siblings("li").add(s);a.each(function(t){if(r()(this).is(s))return i=a.eq(t-1),void(n=a.eq(t+1))});var u=function(){n.children("a:first").focus(),e.preventDefault()},c=function(){i.children("a:first").focus(),e.preventDefault()},h=function(){var i=s.children("ul.is-dropdown-submenu");i.length&&(t._show(i),s.find("li > a:first").focus(),e.preventDefault())},d=function(){var i=s.parent("ul").parent("li");i.children("a:first").focus(),t._hide(i),e.preventDefault()},f={open:h,close:function(){t._hide(t.$element),t.$menuItems.eq(0).children("a").focus(),e.preventDefault()},handled:function(){e.stopImmediatePropagation()}};o?t._isVertical()?t._isRtl()?r.a.extend(f,{down:u,up:c,next:d,previous:h}):r.a.extend(f,{down:u,up:c,next:h,previous:d}):t._isRtl()?r.a.extend(f,{next:c,previous:u,down:h,up:d}):r.a.extend(f,{next:u,previous:c,down:h,up:d}):t._isRtl()?r.a.extend(f,{next:d,previous:h,down:u,up:c}):r.a.extend(f,{next:h,previous:d,down:u,up:c}),l.a.handleKey(e,"DropdownMenu",f)})}},{key:"_addBodyHandler",value:function(){var t=r()(document.body),e=this;t.off("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu").on("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu",function(i){var n=e.$element.find(i.target);n.length||(e._hide(),t.off("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu"))})}},{key:"_show",value:function(t){var e=this.$tabs.index(this.$tabs.filter(function(e,i){return r()(i).find(t).length>0})),i=t.parent("li.is-dropdown-submenu-parent").siblings("li.is-dropdown-submenu-parent");this._hide(i,e),t.css("visibility","hidden").addClass("js-dropdown-active").parent("li.is-dropdown-submenu-parent").addClass("is-active");var n=c.a.ImNotTouchingYou(t,null,!0);if(!n){var s="left"===this.options.alignment?"-right":"-left",o=t.parent(".is-dropdown-submenu-parent");o.removeClass("opens"+s).addClass("opens-"+this.options.alignment),n=c.a.ImNotTouchingYou(t,null,!0),n||o.removeClass("opens-"+this.options.alignment).addClass("opens-inner"),this.changed=!0}t.css("visibility",""),this.options.closeOnClick&&this._addBodyHandler(),this.$element.trigger("show.zf.dropdownmenu",[t])}},{key:"_hide",value:function(t,e){var i;i=t&&t.length?t:void 0!==e?this.$tabs.not(function(t,i){return t===e}):this.$element;var n=i.hasClass("is-active")||i.find(".is-active").length>0;if(n){if(i.find("li.is-active").add(i).attr({"data-is-click":!1}).removeClass("is-active"),i.find("ul.js-dropdown-active").removeClass("js-dropdown-active"),this.changed||i.find("opens-inner").length){var s="left"===this.options.alignment?"right":"left";i.find("li.is-dropdown-submenu-parent").add(i).removeClass("opens-inner opens-"+this.options.alignment).addClass("opens-"+s),this.changed=!1}this.$element.trigger("hide.zf.dropdownmenu",[i])}}},{key:"_destroy",value:function(){this.$menuItems.off(".zf.dropdownmenu").removeAttr("data-is-click").removeClass("is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner"),r()(document.body).off(".zf.dropdownmenu"),u.a.Burn(this.$element,"dropdown")}}]),e}(d.a);p.defaults={disableHover:!1,autoclose:!0,hoverDelay:50,clickOpen:!1,closingTime:500,alignment:"auto",closeOnClick:!0,closeOnClickInside:!0,verticalClass:"vertical",rightClass:"align-right",forceFollow:!0}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return d});var a=i(0),r=i.n(a),l=i(4),u=i(8),c=i(2),h=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),d=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),h(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="Tabs",this._init(),l.a.register("Tabs",{ENTER:"open",SPACE:"open",ARROW_RIGHT:"next",ARROW_UP:"previous",ARROW_DOWN:"next",ARROW_LEFT:"previous"})}},{key:"_init",value:function(){var t=this,e=this;if(this.$element.attr({role:"tablist"}),this.$tabTitles=this.$element.find("."+this.options.linkClass),this.$tabContent=r()('[data-tabs-content="'+this.$element[0].id+'"]'),this.$tabTitles.each(function(){var t=r()(this),i=t.find("a"),n=t.hasClass(""+e.options.linkActiveClass),s=i.attr("data-tabs-target")||i[0].hash.slice(1),o=i[0].id?i[0].id:s+"-label",a=r()("#"+s);t.attr({role:"presentation"}),i.attr({role:"tab","aria-controls":s,"aria-selected":n,id:o,tabindex:n?"0":"-1"}),a.attr({role:"tabpanel","aria-labelledby":o}),n||a.attr("aria-hidden","true"),n&&e.options.autoFocus&&r()(window).load(function(){r()("html, body").animate({scrollTop:t.offset().top},e.options.deepLinkSmudgeDelay,function(){i.focus()})})}),this.options.matchHeight){var n=this.$tabContent.find("img");n.length?i.i(u.a)(n,this._setHeight.bind(this)):this._setHeight()}this._checkDeepLink=function(){var e=window.location.hash;if(e.length){var i=t.$element.find('[href$="'+e+'"]');if(i.length){if(t.selectTab(r()(e),!0),t.options.deepLinkSmudge){var n=t.$element.offset();r()("html, body").animate({scrollTop:n.top},t.options.deepLinkSmudgeDelay)}t.$element.trigger("deeplink.zf.tabs",[i,r()(e)])}}},this.options.deepLink&&this._checkDeepLink(),this._events()}},{key:"_events",value:function(){this._addKeyHandler(),this._addClickHandler(),this._setHeightMqHandler=null,this.options.matchHeight&&(this._setHeightMqHandler=this._setHeight.bind(this),r()(window).on("changed.zf.mediaquery",this._setHeightMqHandler)),this.options.deepLink&&r()(window).on("popstate",this._checkDeepLink)}},{key:"_addClickHandler",value:function(){var t=this;this.$element.off("click.zf.tabs").on("click.zf.tabs","."+this.options.linkClass,function(e){e.preventDefault(),e.stopPropagation(),t._handleTabChange(r()(this))})}},{key:"_addKeyHandler",value:function(){var t=this;this.$tabTitles.off("keydown.zf.tabs").on("keydown.zf.tabs",function(e){if(9!==e.which){var i,n,s=r()(this),o=s.parent("ul").children("li");o.each(function(e){if(r()(this).is(s))return void(t.options.wrapOnKeys?(i=0===e?o.last():o.eq(e-1),n=e===o.length-1?o.first():o.eq(e+1)):(i=o.eq(Math.max(0,e-1)),n=o.eq(Math.min(e+1,o.length-1))))}),l.a.handleKey(e,"Tabs",{open:function(){s.find('[role="tab"]').focus(),t._handleTabChange(s)},previous:function(){i.find('[role="tab"]').focus(),t._handleTabChange(i)},next:function(){n.find('[role="tab"]').focus(),t._handleTabChange(n)},handled:function(){e.stopPropagation(),e.preventDefault()}})}})}},{key:"_handleTabChange",value:function(t,e){if(t.hasClass(""+this.options.linkActiveClass))return void(this.options.activeCollapse&&(this._collapseTab(t),this.$element.trigger("collapse.zf.tabs",[t])));var i=this.$element.find("."+this.options.linkClass+"."+this.options.linkActiveClass),n=t.find('[role="tab"]'),s=n.attr("data-tabs-target")||n[0].hash.slice(1),o=this.$tabContent.find("#"+s);if(this._collapseTab(i),this._openTab(t),this.options.deepLink&&!e){var a=t.find("a").attr("href");this.options.updateHistory?history.pushState({},"",a):history.replaceState({},"",a)}this.$element.trigger("change.zf.tabs",[t,o]),o.find("[data-mutate]").trigger("mutateme.zf.trigger")}},{key:"_openTab",value:function(t){var e=t.find('[role="tab"]'),i=e.attr("data-tabs-target")||e[0].hash.slice(1),n=this.$tabContent.find("#"+i);t.addClass(""+this.options.linkActiveClass),e.attr({"aria-selected":"true",tabindex:"0"}),n.addClass(""+this.options.panelActiveClass).removeAttr("aria-hidden")}},{key:"_collapseTab",value:function(t){var e=t.removeClass(""+this.options.linkActiveClass).find('[role="tab"]').attr({"aria-selected":"false",tabindex:-1});r()("#"+e.attr("aria-controls")).removeClass(""+this.options.panelActiveClass).attr({"aria-hidden":"true"})}},{key:"selectTab",value:function(t,e){var i;i="object"==typeof t?t[0].id:t,i.indexOf("#")<0&&(i="#"+i);var n=this.$tabTitles.find('[href$="'+i+'"]').parent("."+this.options.linkClass);this._handleTabChange(n,e)}},{key:"_setHeight",value:function(){var t=0,e=this;this.$tabContent.find("."+this.options.panelClass).css("height","").each(function(){var i=r()(this),n=i.hasClass(""+e.options.panelActiveClass);n||i.css({visibility:"hidden",display:"block"});var s=this.getBoundingClientRect().height;n||i.css({visibility:"",display:""}),t=s>t?s:t}).css("height",t+"px")}},{key:"_destroy",value:function(){this.$element.find("."+this.options.linkClass).off(".zf.tabs").hide().end().find("."+this.options.panelClass).hide(),this.options.matchHeight&&null!=this._setHeightMqHandler&&r()(window).off("changed.zf.mediaquery",this._setHeightMqHandler),this.options.deepLink&&r()(window).off("popstate",this._checkDeepLink)}}]),e}(c.a);d.defaults={deepLink:!1,deepLinkSmudge:!1,deepLinkSmudgeDelay:300,updateHistory:!1,autoFocus:!1,wrapOnKeys:!0,matchHeight:!1,activeCollapse:!1,linkClass:"tabs-title",linkActiveClass:"is-active",panelClass:"tabs-panel",panelActiveClass:"is-active"}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(t,e){var i=e.indexOf(t);return i===e.length-1?e[0]:e[i+1]}i.d(e,"a",function(){return m});var r=i(7),l=i(2),u=i(1),c=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),h=["left","right","top","bottom"],d=["top","bottom","center"],f=["left","right","center"],p={left:d,right:d,top:f,bottom:f},m=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),c(e,[{key:"_init",value:function(){this.triedPositions={},this.position="auto"===this.options.position?this._getDefaultPosition():this.options.position,this.alignment="auto"===this.options.alignment?this._getDefaultAlignment():this.options.alignment}},{key:"_getDefaultPosition",value:function(){return"bottom"}},{key:"_getDefaultAlignment",value:function(){switch(this.position){case"bottom":case"top":return i.i(u.b)()?"right":"left";case"left":case"right":return"bottom"}}},{key:"_reposition",value:function(){this._alignmentsExhausted(this.position)?(this.position=a(this.position,h),this.alignment=p[this.position][0]):this._realign()}},{key:"_realign",value:function(){this._addTriedPosition(this.position,this.alignment),this.alignment=a(this.alignment,p[this.position])}},{key:"_addTriedPosition",value:function(t,e){this.triedPositions[t]=this.triedPositions[t]||[],this.triedPositions[t].push(e)}},{key:"_positionsExhausted",value:function(){for(var t=!0,e=0;e<h.length;e++)t=t&&this._alignmentsExhausted(h[e]);return t}},{key:"_alignmentsExhausted",value:function(t){return this.triedPositions[t]&&this.triedPositions[t].length==p[t].length}},{key:"_getVOffset",value:function(){return this.options.vOffset}},{key:"_getHOffset",value:function(){return this.options.hOffset}},{key:"_setPosition",value:function(t,e,i){if("false"===t.attr("aria-expanded"))return!1;r.a.GetDimensions(e),r.a.GetDimensions(t);if(e.offset(r.a.GetExplicitOffsets(e,t,this.position,this.alignment,this._getVOffset(),this._getHOffset())),!this.options.allowOverlap){for(var n=1e8,s={position:this.position,alignment:this.alignment};!this._positionsExhausted();){var o=r.a.OverlapArea(e,i,!1,!1,this.options.allowBottomOverlap);if(0===o)return;o<n&&(n=o,s={position:this.position,alignment:this.alignment}),this._reposition(),e.offset(r.a.GetExplicitOffsets(e,t,this.position,this.alignment,this._getVOffset(),this._getHOffset()))}this.position=s.position,this.alignment=s.alignment,e.offset(r.a.GetExplicitOffsets(e,t,this.position,this.alignment,this._getVOffset(),this._getHOffset()))}}}]),e}(l.a);m.defaults={position:"auto",alignment:"auto",allowOverlap:!1,allowBottomOverlap:!0,vOffset:0,hOffset:0}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(){this.removeEventListener("touchmove",o),this.removeEventListener("touchend",s),g=!1}function o(t){if(f.a.spotSwipe.preventDefault&&t.preventDefault(),g){var e,i=t.touches[0].pageX,n=(t.touches[0].pageY,l-i);h=(new Date).getTime()-c,Math.abs(n)>=f.a.spotSwipe.moveThreshold&&h<=f.a.spotSwipe.timeThreshold&&(e=n>0?"left":"right"),e&&(t.preventDefault(),s.call(this),f()(this).trigger("swipe",e).trigger("swipe"+e))}}function a(t){1==t.touches.length&&(l=t.touches[0].pageX,u=t.touches[0].pageY,g=!0,c=(new Date).getTime(),this.addEventListener("touchmove",o,!1),this.addEventListener("touchend",s,!1))}function r(){this.addEventListener&&this.addEventListener("touchstart",a,!1)}i.d(e,"a",function(){return m});var l,u,c,h,d=i(0),f=i.n(d),p=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),m={},g=!1,v=function(){function t(e){n(this,t),this.version="1.0.0",this.enabled="ontouchstart"in document.documentElement,this.preventDefault=!1,this.moveThreshold=75,this.timeThreshold=200,this.$=e,this._init()}return p(t,[{key:"_init",value:function(){var t=this.$;t.event.special.swipe={setup:r},t.each(["left","up","down","right"],function(){t.event.special["swipe"+this]={setup:function(){t(this).on("swipe",t.noop)}}})}}]),t}();m.setupSpotSwipe=function(t){t.spotSwipe=new v(t)},m.setupTouchHandler=function(t){t.fn.addTouch=function(){this.each(function(i,n){t(n).bind("touchstart touchmove touchend touchcancel",function(){e(event)})});var e=function(t){var e,i=t.changedTouches,n=i[0],s={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup"},o=s[t.type];"MouseEvent"in window&&"function"==typeof window.MouseEvent?e=new window.MouseEvent(o,{bubbles:!0,cancelable:!0,screenX:n.screenX,screenY:n.screenY,clientX:n.clientX,clientY:n.clientY}):(e=document.createEvent("MouseEvent"),e.initMouseEvent(o,!0,!0,window,1,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null)),n.target.dispatchEvent(e)}}},m.init=function(t){"undefined"==typeof t.spotSwipe&&(m.setupSpotSwipe(t),m.setupTouchHandler(t))}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return c});var a=i(0),r=i.n(a),l=i(2),u=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),c=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),u(e,[{key:"_setup",value:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.$element=t,this.options=r.a.extend(!0,{},e.defaults,this.$element.data(),i),this.className="Abide",this._init()}},{key:"_init",value:function(){this.$inputs=this.$element.find("input, textarea, select"),this._events()}},{key:"_events",value:function(){var t=this;this.$element.off(".abide").on("reset.zf.abide",function(){t.resetForm()}).on("submit.zf.abide",function(){return t.validateForm()}),"fieldChange"===this.options.validateOn&&this.$inputs.off("change.zf.abide").on("change.zf.abide",function(e){t.validateInput(r()(e.target))}),this.options.liveValidate&&this.$inputs.off("input.zf.abide").on("input.zf.abide",function(e){t.validateInput(r()(e.target))}),this.options.validateOnBlur&&this.$inputs.off("blur.zf.abide").on("blur.zf.abide",function(e){t.validateInput(r()(e.target))})}},{key:"_reflow",value:function(){this._init()}},{key:"requiredCheck",value:function(t){if(!t.attr("required"))return!0;var e=!0;switch(t[0].type){case"checkbox":e=t[0].checked;break;case"select":case"select-one":case"select-multiple":var i=t.find("option:selected");i.length&&i.val()||(e=!1);break;default:t.val()&&t.val().length||(e=!1)}return e}},{key:"findFormError",value:function(t){var e=t[0].id,i=t.siblings(this.options.formErrorSelector);return i.length||(i=t.parent().find(this.options.formErrorSelector)),i=i.add(this.$element.find('[data-form-error-for="'+e+'"]'))}},{key:"findLabel",value:function(t){var e=t[0].id,i=this.$element.find('label[for="'+e+'"]');return i.length?i:t.closest("label")}},{key:"findRadioLabels",value:function(t){var e=this,i=t.map(function(t,i){var n=i.id,s=e.$element.find('label[for="'+n+'"]');return s.length||(s=r()(i).closest("label")),s[0]});return r()(i)}},{key:"addErrorClasses",value:function(t){var e=this.findLabel(t),i=this.findFormError(t);e.length&&e.addClass(this.options.labelErrorClass),i.length&&i.addClass(this.options.formErrorClass),t.addClass(this.options.inputErrorClass).attr("data-invalid","")}},{key:"removeRadioErrorClasses",value:function(t){var e=this.$element.find(':radio[name="'+t+'"]'),i=this.findRadioLabels(e),n=this.findFormError(e);i.length&&i.removeClass(this.options.labelErrorClass),n.length&&n.removeClass(this.options.formErrorClass),e.removeClass(this.options.inputErrorClass).removeAttr("data-invalid")}},{key:"removeErrorClasses",value:function(t){if("radio"==t[0].type)return this.removeRadioErrorClasses(t.attr("name"));var e=this.findLabel(t),i=this.findFormError(t);e.length&&e.removeClass(this.options.labelErrorClass),i.length&&i.removeClass(this.options.formErrorClass),t.removeClass(this.options.inputErrorClass).removeAttr("data-invalid")}},{key:"validateInput",value:function(t){var e=this,i=this.requiredCheck(t),n=!1,s=!0,o=t.attr("data-validator"),a=!0;if(t.is("[data-abide-ignore]")||t.is('[type="hidden"]')||t.is("[disabled]"))return!0;switch(t[0].type){case"radio":n=this.validateRadio(t.attr("name"));break;case"checkbox":n=i;break;case"select":case"select-one":case"select-multiple":n=i;break;default:n=this.validateText(t)}o&&(s=this.matchValidation(t,o,t.attr("required"))),t.attr("data-equalto")&&(a=this.options.validators.equalTo(t));var l=[i,n,s,a].indexOf(!1)===-1,u=(l?"valid":"invalid")+".zf.abide";if(l){var c=this.$element.find('[data-equalto="'+t.attr("id")+'"]');c.length&&!function(){var t=e;c.each(function(){r()(this).val()&&t.validateInput(r()(this))})}()}return this[l?"removeErrorClasses":"addErrorClasses"](t),t.trigger(u,[t]),l}},{key:"validateForm",value:function(){var t=[],e=this;this.$inputs.each(function(){t.push(e.validateInput(r()(this)))});var i=t.indexOf(!1)===-1;return this.$element.find("[data-abide-error]").css("display",i?"none":"block"),this.$element.trigger((i?"formvalid":"forminvalid")+".zf.abide",[this.$element]),i}},{key:"validateText",value:function(t,e){e=e||t.attr("pattern")||t.attr("type");var i=t.val(),n=!1;return i.length?n=this.options.patterns.hasOwnProperty(e)?this.options.patterns[e].test(i):e===t.attr("type")||new RegExp(e).test(i):t.prop("required")||(n=!0),n}},{key:"validateRadio",value:function(t){var e=this.$element.find(':radio[name="'+t+'"]'),i=!1,n=!1;return e.each(function(t,e){r()(e).attr("required")&&(n=!0)}),n||(i=!0),i||e.each(function(t,e){r()(e).prop("checked")&&(i=!0)}),i}},{key:"matchValidation",value:function(t,e,i){var n=this;i=!!i;var s=e.split(" ").map(function(e){return n.options.validators[e](t,i,t.parent())});return s.indexOf(!1)===-1}},{key:"resetForm",value:function(){var t=this.$element,e=this.options;r()("."+e.labelErrorClass,t).not("small").removeClass(e.labelErrorClass),r()("."+e.inputErrorClass,t).not("small").removeClass(e.inputErrorClass),r()(e.formErrorSelector+"."+e.formErrorClass).removeClass(e.formErrorClass),t.find("[data-abide-error]").css("display","none"),r()(":input",t).not(":button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]").val("").removeAttr("data-invalid"),r()(":input:radio",t).not("[data-abide-ignore]").prop("checked",!1).removeAttr("data-invalid"),r()(":input:checkbox",t).not("[data-abide-ignore]").prop("checked",!1).removeAttr("data-invalid"),t.trigger("formreset.zf.abide",[t])}},{key:"_destroy",value:function(){var t=this;this.$element.off(".abide").find("[data-abide-error]").css("display","none"),this.$inputs.off(".abide").each(function(){t.removeErrorClasses(r()(this))})}}]),e}(l.a);c.defaults={validateOn:"fieldChange",labelErrorClass:"is-invalid-label",inputErrorClass:"is-invalid-input",formErrorSelector:".form-error",formErrorClass:"is-visible",liveValidate:!1,validateOnBlur:!1,patterns:{alpha:/^[a-zA-Z]+$/,alpha_numeric:/^[a-zA-Z0-9]+$/,integer:/^[-+]?\d+$/,number:/^[-+]?\d*(?:[\.\,]\d+)?$/,card:/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|(?:222[1-9]|2[3-6][0-9]{2}|27[0-1][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,cvv:/^([0-9]){3,4}$/,email:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,url:/^(https?|ftp|file|ssh):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/,domain:/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,datetime:/^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,date:/(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,
+time:/^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,dateISO:/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,month_day_year:/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,day_month_year:/^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,color:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/,website:{test:function(t){return c.defaults.patterns.domain.test(t)||c.defaults.patterns.url.test(t)}}},validators:{equalTo:function(t,e,i){return r()("#"+t.attr("data-equalto")).val()===t.val()}}}},function(t,e,i){"use strict";function n(t){if(void 0===Function.prototype.name){var e=/function\s([^(]{1,})\(/,i=e.exec(t.toString());return i&&i.length>1?i[1].trim():""}return void 0===t.prototype?t.constructor.name:t.prototype.constructor.name}function s(t){return"true"===t||"false"!==t&&(isNaN(1*t)?t:parseFloat(t))}function o(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}i.d(e,"a",function(){return h});var a=i(0),r=i.n(a),l=i(1),u=i(3),c="6.4.2",h={version:c,_plugins:{},_uuids:[],plugin:function(t,e){var i=e||n(t),s=o(i);this._plugins[s]=this[i]=t},registerPlugin:function(t,e){var s=e?o(e):n(t.constructor).toLowerCase();t.uuid=i.i(l.a)(6,s),t.$element.attr("data-"+s)||t.$element.attr("data-"+s,t.uuid),t.$element.data("zfPlugin")||t.$element.data("zfPlugin",t),t.$element.trigger("init.zf."+s),this._uuids.push(t.uuid)},unregisterPlugin:function(t){var e=o(n(t.$element.data("zfPlugin").constructor));this._uuids.splice(this._uuids.indexOf(t.uuid),1),t.$element.removeAttr("data-"+e).removeData("zfPlugin").trigger("destroyed.zf."+e);for(var i in t)t[i]=null},reInit:function(t){var e=t instanceof r.a;try{if(e)t.each(function(){r()(this).data("zfPlugin")._init()});else{var i=typeof t,n=this,s={object:function(t){t.forEach(function(t){t=o(t),r()("[data-"+t+"]").foundation("_init")})},string:function(){t=o(t),r()("[data-"+t+"]").foundation("_init")},undefined:function(){this.object(Object.keys(n._plugins))}};s[i](t)}}catch(t){console.error(t)}finally{return t}},reflow:function(t,e){"undefined"==typeof e?e=Object.keys(this._plugins):"string"==typeof e&&(e=[e]);var i=this;r.a.each(e,function(e,n){var o=i._plugins[n],a=r()(t).find("[data-"+n+"]").addBack("[data-"+n+"]");a.each(function(){var t=r()(this),e={};if(t.data("zfPlugin"))return void console.warn("Tried to initialize "+n+" on an element that already has a Foundation plugin.");if(t.attr("data-options")){t.attr("data-options").split(";").forEach(function(t,i){var n=t.split(":").map(function(t){return t.trim()});n[0]&&(e[n[0]]=s(n[1]))})}try{t.data("zfPlugin",new o(r()(this),e))}catch(t){console.error(t)}finally{return}})})},getFnName:n,addToJquery:function(t){var e=function(e){var i=typeof e,s=t(".no-js");if(s.length&&s.removeClass("no-js"),"undefined"===i)u.a._init(),h.reflow(this);else{if("string"!==i)throw new TypeError("We're sorry, "+i+" is not a valid parameter. You must use a string representing the method you wish to invoke.");var o=Array.prototype.slice.call(arguments,1),a=this.data("zfPlugin");if(void 0===a||void 0===a[e])throw new ReferenceError("We're sorry, '"+e+"' is not an available method for "+(a?n(a):"this element")+".");1===this.length?a[e].apply(a,o):this.each(function(i,n){a[e].apply(t(n).data("zfPlugin"),o)})}return this};return t.fn.foundation=e,t}};h.util={throttle:function(t,e){var i=null;return function(){var n=this,s=arguments;null===i&&(i=setTimeout(function(){t.apply(n,s),i=null},e))}}},window.Foundation=h,function(){Date.now&&window.Date.now||(window.Date.now=Date.now=function(){return(new Date).getTime()});for(var t=["webkit","moz"],e=0;e<t.length&&!window.requestAnimationFrame;++e){var i=t[e];window.requestAnimationFrame=window[i+"RequestAnimationFrame"],window.cancelAnimationFrame=window[i+"CancelAnimationFrame"]||window[i+"CancelRequestAnimationFrame"]}if(/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)||!window.requestAnimationFrame||!window.cancelAnimationFrame){var n=0;window.requestAnimationFrame=function(t){var e=Date.now(),i=Math.max(n+16,e);return setTimeout(function(){t(n=i)},i-e)},window.cancelAnimationFrame=clearTimeout}window.performance&&window.performance.now||(window.performance={start:Date.now(),now:function(){return Date.now()-this.start}})}(),Function.prototype.bind||(Function.prototype.bind=function(t){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var e=Array.prototype.slice.call(arguments,1),i=this,n=function(){},s=function(){return i.apply(this instanceof n?this:t,e.concat(Array.prototype.slice.call(arguments)))};return this.prototype&&(n.prototype=this.prototype),s.prototype=new n,s})},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return p});var a=i(0),r=i.n(a),l=i(4),u=i(1),c=i(15),h=i(5),d=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),f=function t(e,i,n){null===e&&(e=Function.prototype);var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if("value"in s)return s.value;var a=s.get;if(void 0!==a)return a.call(n)},p=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),d(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="Dropdown",h.a.init(r.a),this._init(),l.a.register("Dropdown",{ENTER:"open",SPACE:"open",ESCAPE:"close"})}},{key:"_init",value:function(){var t=this.$element.attr("id");this.$anchors=r()('[data-toggle="'+t+'"]').length?r()('[data-toggle="'+t+'"]'):r()('[data-open="'+t+'"]'),this.$anchors.attr({"aria-controls":t,"data-is-focus":!1,"data-yeti-box":t,"aria-haspopup":!0,"aria-expanded":!1}),this._setCurrentAnchor(this.$anchors.first()),this.options.parentClass?this.$parent=this.$element.parents("."+this.options.parentClass):this.$parent=null,this.$element.attr({"aria-hidden":"true","data-yeti-box":t,"data-resize":t,"aria-labelledby":this.$currentAnchor.id||i.i(u.a)(6,"dd-anchor")}),f(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"_init",this).call(this),this._events()}},{key:"_getDefaultPosition",value:function(){var t=this.$element[0].className.match(/(top|left|right|bottom)/g);return t?t[0]:"bottom"}},{key:"_getDefaultAlignment",value:function(){var t=/float-(\S+)/.exec(this.$currentAnchor.className);return t?t[1]:f(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"_getDefaultAlignment",this).call(this)}},{key:"_setPosition",value:function(){f(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"_setPosition",this).call(this,this.$currentAnchor,this.$element,this.$parent)}},{key:"_setCurrentAnchor",value:function(t){this.$currentAnchor=r()(t)}},{key:"_events",value:function(){var t=this;this.$element.on({"open.zf.trigger":this.open.bind(this),"close.zf.trigger":this.close.bind(this),"toggle.zf.trigger":this.toggle.bind(this),"resizeme.zf.trigger":this._setPosition.bind(this)}),this.$anchors.off("click.zf.trigger").on("click.zf.trigger",function(){t._setCurrentAnchor(this)}),this.options.hover&&(this.$anchors.off("mouseenter.zf.dropdown mouseleave.zf.dropdown").on("mouseenter.zf.dropdown",function(){t._setCurrentAnchor(this);var e=r()("body").data();"undefined"!=typeof e.whatinput&&"mouse"!==e.whatinput||(clearTimeout(t.timeout),t.timeout=setTimeout(function(){t.open(),t.$anchors.data("hover",!0)},t.options.hoverDelay))}).on("mouseleave.zf.dropdown",function(){clearTimeout(t.timeout),t.timeout=setTimeout(function(){t.close(),t.$anchors.data("hover",!1)},t.options.hoverDelay)}),this.options.hoverPane&&this.$element.off("mouseenter.zf.dropdown mouseleave.zf.dropdown").on("mouseenter.zf.dropdown",function(){clearTimeout(t.timeout)}).on("mouseleave.zf.dropdown",function(){clearTimeout(t.timeout),t.timeout=setTimeout(function(){t.close(),t.$anchors.data("hover",!1)},t.options.hoverDelay)})),this.$anchors.add(this.$element).on("keydown.zf.dropdown",function(e){var i=r()(this);l.a.findFocusable(t.$element);l.a.handleKey(e,"Dropdown",{open:function(){i.is(t.$anchors)&&(t.open(),t.$element.attr("tabindex",-1).focus(),e.preventDefault())},close:function(){t.close(),t.$anchors.focus()}})})}},{key:"_addBodyHandler",value:function(){var t=r()(document.body).not(this.$element),e=this;t.off("click.zf.dropdown").on("click.zf.dropdown",function(i){e.$anchors.is(i.target)||e.$anchors.find(i.target).length||e.$element.find(i.target).length||(e.close(),t.off("click.zf.dropdown"))})}},{key:"open",value:function(){if(this.$element.trigger("closeme.zf.dropdown",this.$element.attr("id")),this.$anchors.addClass("hover").attr({"aria-expanded":!0}),this.$element.addClass("is-opening"),this._setPosition(),this.$element.removeClass("is-opening").addClass("is-open").attr({"aria-hidden":!1}),this.options.autoFocus){var t=l.a.findFocusable(this.$element);t.length&&t.eq(0).focus()}this.options.closeOnClick&&this._addBodyHandler(),this.options.trapFocus&&l.a.trapFocus(this.$element),this.$element.trigger("show.zf.dropdown",[this.$element])}},{key:"close",value:function(){return!!this.$element.hasClass("is-open")&&(this.$element.removeClass("is-open").attr({"aria-hidden":!0}),this.$anchors.removeClass("hover").attr("aria-expanded",!1),this.$element.trigger("hide.zf.dropdown",[this.$element]),void(this.options.trapFocus&&l.a.releaseFocus(this.$element)))}},{key:"toggle",value:function(){if(this.$element.hasClass("is-open")){if(this.$anchors.data("hover"))return;this.close()}else this.open()}},{key:"_destroy",value:function(){this.$element.off(".zf.trigger").hide(),this.$anchors.off(".zf.dropdown"),r()(document.body).off("click.zf.dropdown")}}]),e}(c.a);p.defaults={parentClass:null,hoverDelay:250,hover:!1,hoverPane:!1,vOffset:0,hOffset:0,positionClass:"",position:"auto",alignment:"auto",allowOverlap:!1,allowBottomOverlap:!0,trapFocus:!1,autoFocus:!1,closeOnClick:!1}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return f});var a=i(0),r=i.n(a),l=i(3),u=i(8),c=i(1),h=i(2),d=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),f=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),d(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="Equalizer",this._init()}},{key:"_init",value:function(){var t=this.$element.attr("data-equalizer")||"",e=this.$element.find('[data-equalizer-watch="'+t+'"]');l.a._init(),this.$watched=e.length?e:this.$element.find("[data-equalizer-watch]"),this.$element.attr("data-resize",t||i.i(c.a)(6,"eq")),this.$element.attr("data-mutate",t||i.i(c.a)(6,"eq")),this.hasNested=this.$element.find("[data-equalizer]").length>0,this.isNested=this.$element.parentsUntil(document.body,"[data-equalizer]").length>0,this.isOn=!1,this._bindHandler={onResizeMeBound:this._onResizeMe.bind(this),onPostEqualizedBound:this._onPostEqualized.bind(this)};var n,s=this.$element.find("img");this.options.equalizeOn?(n=this._checkMQ(),r()(window).on("changed.zf.mediaquery",this._checkMQ.bind(this))):this._events(),(void 0!==n&&n===!1||void 0===n)&&(s.length?i.i(u.a)(s,this._reflow.bind(this)):this._reflow())}},{key:"_pauseEvents",value:function(){this.isOn=!1,this.$element.off({".zf.equalizer":this._bindHandler.onPostEqualizedBound,"resizeme.zf.trigger":this._bindHandler.onResizeMeBound,"mutateme.zf.trigger":this._bindHandler.onResizeMeBound})}},{key:"_onResizeMe",value:function(t){this._reflow()}},{key:"_onPostEqualized",value:function(t){t.target!==this.$element[0]&&this._reflow()}},{key:"_events",value:function(){this._pauseEvents(),this.hasNested?this.$element.on("postequalized.zf.equalizer",this._bindHandler.onPostEqualizedBound):(this.$element.on("resizeme.zf.trigger",this._bindHandler.onResizeMeBound),this.$element.on("mutateme.zf.trigger",this._bindHandler.onResizeMeBound)),this.isOn=!0}},{key:"_checkMQ",value:function(){var t=!l.a.is(this.options.equalizeOn);return t?this.isOn&&(this._pauseEvents(),this.$watched.css("height","auto")):this.isOn||this._events(),t}},{key:"_killswitch",value:function(){}},{key:"_reflow",value:function(){return!this.options.equalizeOnStack&&this._isStacked()?(this.$watched.css("height","auto"),!1):void(this.options.equalizeByRow?this.getHeightsByRow(this.applyHeightByRow.bind(this)):this.getHeights(this.applyHeight.bind(this)))}},{key:"_isStacked",value:function(){return!this.$watched[0]||!this.$watched[1]||this.$watched[0].getBoundingClientRect().top!==this.$watched[1].getBoundingClientRect().top}},{key:"getHeights",value:function(t){for(var e=[],i=0,n=this.$watched.length;i<n;i++)this.$watched[i].style.height="auto",e.push(this.$watched[i].offsetHeight);t(e)}},{key:"getHeightsByRow",value:function(t){var e=this.$watched.length?this.$watched.first().offset().top:0,i=[],n=0;i[n]=[];for(var s=0,o=this.$watched.length;s<o;s++){this.$watched[s].style.height="auto";var a=r()(this.$watched[s]).offset().top;a!=e&&(n++,i[n]=[],e=a),i[n].push([this.$watched[s],this.$watched[s].offsetHeight])}for(var l=0,u=i.length;l<u;l++){var c=r()(i[l]).map(function(){return this[1]}).get(),h=Math.max.apply(null,c);i[l].push(h)}t(i)}},{key:"applyHeight",value:function(t){var e=Math.max.apply(null,t);this.$element.trigger("preequalized.zf.equalizer"),this.$watched.css("height",e),this.$element.trigger("postequalized.zf.equalizer")}},{key:"applyHeightByRow",value:function(t){this.$element.trigger("preequalized.zf.equalizer");for(var e=0,i=t.length;e<i;e++){var n=t[e].length,s=t[e][n-1];if(n<=2)r()(t[e][0][0]).css({height:"auto"});else{this.$element.trigger("preequalizedrow.zf.equalizer");for(var o=0,a=n-1;o<a;o++)r()(t[e][o][0]).css({height:s});this.$element.trigger("postequalizedrow.zf.equalizer")}}this.$element.trigger("postequalized.zf.equalizer")}},{key:"_destroy",value:function(){this._pauseEvents(),this.$watched.css("height","auto")}}]),e}(h.a);f.defaults={equalizeOnStack:!1,equalizeByRow:!1,equalizeOn:""}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return d});var a=i(0),r=i.n(a),l=i(3),u=i(2),c=i(1),h=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),d=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),h(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,i),this.rules=[],this.currentPath="",this.className="Interchange",this._init(),this._events()}},{key:"_init",value:function(){l.a._init();var t=this.$element[0].id||i.i(c.a)(6,"interchange");this.$element.attr({"data-resize":t,id:t}),this._addBreakpoints(),this._generateRules(),this._reflow()}},{key:"_events",value:function(){var t=this;this.$element.off("resizeme.zf.trigger").on("resizeme.zf.trigger",function(){return t._reflow()})}},{key:"_reflow",value:function(){var t;for(var e in this.rules)if(this.rules.hasOwnProperty(e)){var i=this.rules[e];window.matchMedia(i.query).matches&&(t=i)}t&&this.replace(t.path)}},{key:"_addBreakpoints",value:function(){for(var t in l.a.queries)if(l.a.queries.hasOwnProperty(t)){var i=l.a.queries[t];e.SPECIAL_QUERIES[i.name]=i.value}}},{key:"_generateRules",value:function(t){var i,n=[];i=this.options.rules?this.options.rules:this.$element.data("interchange"),i="string"==typeof i?i.match(/\[.*?\]/g):i;for(var s in i)if(i.hasOwnProperty(s)){var o=i[s].slice(1,-1).split(", "),a=o.slice(0,-1).join(""),r=o[o.length-1];e.SPECIAL_QUERIES[r]&&(r=e.SPECIAL_QUERIES[r]),n.push({path:a,query:r})}this.rules=n}},{key:"replace",value:function(t){if(this.currentPath!==t){var e=this,i="replaced.zf.interchange";"IMG"===this.$element[0].nodeName?this.$element.attr("src",t).on("load",function(){e.currentPath=t}).trigger(i):t.match(/\.(gif|jpg|jpeg|png|svg|tiff)([?#].*)?/i)?(t=t.replace(/\(/g,"%28").replace(/\)/g,"%29"),this.$element.css({"background-image":"url("+t+")"}).trigger(i)):r.a.get(t,function(n){e.$element.html(n).trigger(i),r()(n).foundation(),e.currentPath=t})}}},{key:"_destroy",value:function(){this.$element.off("resizeme.zf.trigger")}}]),e}(u.a);d.defaults={rules:null},d.SPECIAL_QUERIES={landscape:"screen and (orientation: landscape)",portrait:"screen and (orientation: portrait)",retina:"only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)"}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return d});var a=i(0),r=i.n(a),l=i(1),u=i(2),c=i(33),h=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),d=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),h(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="Magellan",this._init(),this.calcPoints()}},{key:"_init",value:function(){var t=this.$element[0].id||i.i(l.a)(6,"magellan");this.$targets=r()("[data-magellan-target]"),this.$links=this.$element.find("a"),this.$element.attr({"data-resize":t,"data-scroll":t,id:t}),this.$active=r()(),this.scrollPos=parseInt(window.pageYOffset,10),this._events()}},{key:"calcPoints",value:function(){var t=this,e=document.body,i=document.documentElement;this.points=[],this.winHeight=Math.round(Math.max(window.innerHeight,i.clientHeight)),this.docHeight=Math.round(Math.max(e.scrollHeight,e.offsetHeight,i.clientHeight,i.scrollHeight,i.offsetHeight)),this.$targets.each(function(){var e=r()(this),i=Math.round(e.offset().top-t.options.threshold);e.targetPoint=i,t.points.push(i)})}},{key:"_events",value:function(){var t=this;r()("html, body"),{duration:t.options.animationDuration,easing:t.options.animationEasing};r()(window).one("load",function(){t.options.deepLinking&&location.hash&&t.scrollToLoc(location.hash),t.calcPoints(),t._updateActive()}),this.$element.on({"resizeme.zf.trigger":this.reflow.bind(this),"scrollme.zf.trigger":this._updateActive.bind(this)}).on("click.zf.magellan",'a[href^="#"]',function(e){e.preventDefault();var i=this.getAttribute("href");t.scrollToLoc(i)}),this._deepLinkScroll=function(e){t.options.deepLinking&&t.scrollToLoc(window.location.hash)},r()(window).on("popstate",this._deepLinkScroll)}},{key:"scrollToLoc",value:function(t){this._inTransition=!0;var e=this,i={animationEasing:this.options.animationEasing,animationDuration:this.options.animationDuration,threshold:this.options.threshold,offset:this.options.offset};c.a.scrollToLoc(t,i,function(){e._inTransition=!1,e._updateActive()})}},{key:"reflow",value:function(){this.calcPoints(),this._updateActive()}},{key:"_updateActive",value:function(){if(!this._inTransition){var t,e=parseInt(window.pageYOffset,10);if(e+this.winHeight===this.docHeight)t=this.points.length-1;else if(e<this.points[0])t=void 0;else{var i=this.scrollPos<e,n=this,s=this.points.filter(function(t,s){return i?t-n.options.offset<=e:t-n.options.offset-n.options.threshold<=e});t=s.length?s.length-1:0}if(this.$active.removeClass(this.options.activeClass),this.$active=this.$links.filter('[href="#'+this.$targets.eq(t).data("magellan-target")+'"]').addClass(this.options.activeClass),this.options.deepLinking){var o="";void 0!=t&&(o=this.$active[0].getAttribute("href")),o!==window.location.hash&&(window.history.pushState?window.history.pushState(null,null,o):window.location.hash=o)}this.scrollPos=e,this.$element.trigger("update.zf.magellan",[this.$active])}}},{key:"_destroy",value:function(){if(this.$element.off(".zf.trigger .zf.magellan").find("."+this.options.activeClass).removeClass(this.options.activeClass),this.options.deepLinking){var t=this.$active[0].getAttribute("href");window.location.hash.replace(t,"")}r()(window).off("popstate",this._deepLinkScroll)}}]),e}(u.a);d.defaults={animationDuration:500,animationEasing:"linear",threshold:50,activeClass:"is-active",deepLinking:!1,offset:0}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return p});var a=i(0),r=i.n(a),l=i(4),u=i(3),c=i(1),h=i(2),d=i(5),f=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),p=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),f(e,[{key:"_setup",value:function(t,i){var n=this;this.className="OffCanvas",this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.contentClasses={base:[],reveal:[]},this.$lastTrigger=r()(),this.$triggers=r()(),this.position="left",this.$content=r()(),this.nested=!!this.options.nested,r()(["push","overlap"]).each(function(t,e){n.contentClasses.base.push("has-transition-"+e)}),r()(["left","right","top","bottom"]).each(function(t,e){n.contentClasses.base.push("has-position-"+e),n.contentClasses.reveal.push("has-reveal-"+e)}),d.a.init(r.a),u.a._init(),this._init(),this._events(),l.a.register("OffCanvas",{ESCAPE:"close"})}},{key:"_init",value:function(){var t=this.$element.attr("id");if(this.$element.attr("aria-hidden","true"),this.options.contentId?this.$content=r()("#"+this.options.contentId):this.$element.siblings("[data-off-canvas-content]").length?this.$content=this.$element.siblings("[data-off-canvas-content]").first():this.$content=this.$element.closest("[data-off-canvas-content]").first(),this.options.contentId?this.options.contentId&&null===this.options.nested&&console.warn("Remember to use the nested option if using the content ID option!"):this.nested=0===this.$element.siblings("[data-off-canvas-content]").length,this.nested===!0&&(this.options.transition="overlap",this.$element.removeClass("is-transition-push")),this.$element.addClass("is-transition-"+this.options.transition+" is-closed"),this.$triggers=r()(document).find('[data-open="'+t+'"], [data-close="'+t+'"], [data-toggle="'+t+'"]').attr("aria-expanded","false").attr("aria-controls",t),this.position=this.$element.is(".position-left, .position-top, .position-right, .position-bottom")?this.$element.attr("class").match(/position\-(left|top|right|bottom)/)[1]:this.position,this.options.contentOverlay===!0){var e=document.createElement("div"),i="fixed"===r()(this.$element).css("position")?"is-overlay-fixed":"is-overlay-absolute";e.setAttribute("class","js-off-canvas-overlay "+i),this.$overlay=r()(e),"is-overlay-fixed"===i?r()(this.$overlay).insertAfter(this.$element):this.$content.append(this.$overlay)}this.options.isRevealed=this.options.isRevealed||new RegExp(this.options.revealClass,"g").test(this.$element[0].className),this.options.isRevealed===!0&&(this.options.revealOn=this.options.revealOn||this.$element[0].className.match(/(reveal-for-medium|reveal-for-large)/g)[0].split("-")[2],this._setMQChecker()),this.options.transitionTime&&this.$element.css("transition-duration",this.options.transitionTime),this._removeContentClasses()}},{key:"_events",value:function(){if(this.$element.off(".zf.trigger .zf.offcanvas").on({"open.zf.trigger":this.open.bind(this),"close.zf.trigger":this.close.bind(this),"toggle.zf.trigger":this.toggle.bind(this),"keydown.zf.offcanvas":this._handleKeyboard.bind(this)}),this.options.closeOnClick===!0){var t=this.options.contentOverlay?this.$overlay:this.$content;t.on({"click.zf.offcanvas":this.close.bind(this)})}}},{key:"_setMQChecker",value:function(){var t=this;r()(window).on("changed.zf.mediaquery",function(){u.a.atLeast(t.options.revealOn)?t.reveal(!0):t.reveal(!1)}).one("load.zf.offcanvas",function(){u.a.atLeast(t.options.revealOn)&&t.reveal(!0)})}},{key:"_removeContentClasses",value:function(t){"boolean"!=typeof t?this.$content.removeClass(this.contentClasses.base.join(" ")):t===!1&&this.$content.removeClass("has-reveal-"+this.position)}},{key:"_addContentClasses",value:function(t){this._removeContentClasses(t),"boolean"!=typeof t?this.$content.addClass("has-transition-"+this.options.transition+" has-position-"+this.position):t===!0&&this.$content.addClass("has-reveal-"+this.position)}},{key:"reveal",value:function(t){t?(this.close(),this.isRevealed=!0,this.$element.attr("aria-hidden","false"),this.$element.off("open.zf.trigger toggle.zf.trigger"),this.$element.removeClass("is-closed")):(this.isRevealed=!1,this.$element.attr("aria-hidden","true"),this.$element.off("open.zf.trigger toggle.zf.trigger").on({"open.zf.trigger":this.open.bind(this),"toggle.zf.trigger":this.toggle.bind(this)}),this.$element.addClass("is-closed")),this._addContentClasses(t)}},{key:"_stopScrolling",value:function(t){return!1}},{key:"_recordScrollable",value:function(t){var e=this;e.scrollHeight!==e.clientHeight&&(0===e.scrollTop&&(e.scrollTop=1),e.scrollTop===e.scrollHeight-e.clientHeight&&(e.scrollTop=e.scrollHeight-e.clientHeight-1)),e.allowUp=e.scrollTop>0,e.allowDown=e.scrollTop<e.scrollHeight-e.clientHeight,e.lastY=t.originalEvent.pageY}},{key:"_stopScrollPropagation",value:function(t){var e=this,i=t.pageY<e.lastY,n=!i;e.lastY=t.pageY,i&&e.allowUp||n&&e.allowDown?t.stopPropagation():t.preventDefault()}},{key:"open",value:function(t,e){if(!this.$element.hasClass("is-open")&&!this.isRevealed){var n=this;e&&(this.$lastTrigger=e),"top"===this.options.forceTo?window.scrollTo(0,0):"bottom"===this.options.forceTo&&window.scrollTo(0,document.body.scrollHeight),this.options.transitionTime&&"overlap"!==this.options.transition?this.$element.siblings("[data-off-canvas-content]").css("transition-duration",this.options.transitionTime):this.$element.siblings("[data-off-canvas-content]").css("transition-duration",""),this.$element.addClass("is-open").removeClass("is-closed"),this.$triggers.attr("aria-expanded","true"),this.$element.attr("aria-hidden","false").trigger("opened.zf.offcanvas"),this.$content.addClass("is-open-"+this.position),this.options.contentScroll===!1&&(r()("body").addClass("is-off-canvas-open").on("touchmove",this._stopScrolling),this.$element.on("touchstart",this._recordScrollable),this.$element.on("touchmove",this._stopScrollPropagation)),this.options.contentOverlay===!0&&this.$overlay.addClass("is-visible"),this.options.closeOnClick===!0&&this.options.contentOverlay===!0&&this.$overlay.addClass("is-closable"),this.options.autoFocus===!0&&this.$element.one(i.i(c.c)(this.$element),function(){if(n.$element.hasClass("is-open")){var t=n.$element.find("[data-autofocus]");t.length?t.eq(0).focus():n.$element.find("a, button").eq(0).focus()}}),this.options.trapFocus===!0&&(this.$content.attr("tabindex","-1"),l.a.trapFocus(this.$element)),this._addContentClasses()}}},{key:"close",value:function(t){if(this.$element.hasClass("is-open")&&!this.isRevealed){var e=this;this.$element.removeClass("is-open"),this.$element.attr("aria-hidden","true").trigger("closed.zf.offcanvas"),this.$content.removeClass("is-open-left is-open-top is-open-right is-open-bottom"),this.options.contentScroll===!1&&(r()("body").removeClass("is-off-canvas-open").off("touchmove",this._stopScrolling),this.$element.off("touchstart",this._recordScrollable),this.$element.off("touchmove",this._stopScrollPropagation)),this.options.contentOverlay===!0&&this.$overlay.removeClass("is-visible"),this.options.closeOnClick===!0&&this.options.contentOverlay===!0&&this.$overlay.removeClass("is-closable"),this.$triggers.attr("aria-expanded","false"),this.options.trapFocus===!0&&(this.$content.removeAttr("tabindex"),l.a.releaseFocus(this.$element)),this.$element.one(i.i(c.c)(this.$element),function(t){e.$element.addClass("is-closed"),e._removeContentClasses()})}}},{key:"toggle",value:function(t,e){this.$element.hasClass("is-open")?this.close(t,e):this.open(t,e)}},{key:"_handleKeyboard",value:function(t){var e=this;l.a.handleKey(t,"OffCanvas",{close:function(){return e.close(),e.$lastTrigger.focus(),!0},handled:function(){t.stopPropagation(),t.preventDefault()}})}},{key:"_destroy",value:function(){this.close(),this.$element.off(".zf.trigger .zf.offcanvas"),this.$overlay.off(".zf.offcanvas")}}]),e}(h.a);p.defaults={closeOnClick:!0,contentOverlay:!0,contentId:null,nested:null,contentScroll:!0,transitionTime:null,transition:"push",forceTo:null,isRevealed:!1,revealOn:null,autoFocus:!0,revealClass:"reveal-for-",trapFocus:!1}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return g});var a=i(0),r=i.n(a),l=i(4),u=i(6),c=i(34),h=i(8),d=i(1),f=i(2),p=i(16),m=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),g=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),m(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="Orbit",p.a.init(r.a),this._init(),l.a.register("Orbit",{ltr:{ARROW_RIGHT:"next",ARROW_LEFT:"previous"},rtl:{ARROW_LEFT:"next",ARROW_RIGHT:"previous"}})}},{key:"_init",value:function(){this._reset(),this.$wrapper=this.$element.find("."+this.options.containerClass),this.$slides=this.$element.find("."+this.options.slideClass);var t=this.$element.find("img"),e=this.$slides.filter(".is-active"),n=this.$element[0].id||i.i(d.a)(6,"orbit");this.$element.attr({"data-resize":n,id:n}),e.length||this.$slides.eq(0).addClass("is-active"),this.options.useMUI||this.$slides.addClass("no-motionui"),t.length?i.i(h.a)(t,this._prepareForOrbit.bind(this)):this._prepareForOrbit(),this.options.bullets&&this._loadBullets(),this._events(),this.options.autoPlay&&this.$slides.length>1&&this.geoSync(),this.options.accessible&&this.$wrapper.attr("tabindex",0)}},{key:"_loadBullets",value:function(){this.$bullets=this.$element.find("."+this.options.boxOfBullets).find("button")}},{key:"geoSync",value:function(){var t=this;this.timer=new c.a(this.$element,{duration:this.options.timerDelay,infinite:!1},function(){t.changeSlide(!0)}),this.timer.start()}},{key:"_prepareForOrbit",value:function(){this._setWrapperHeight()}},{key:"_setWrapperHeight",value:function(t){var e,i=0,n=0,s=this;this.$slides.each(function(){e=this.getBoundingClientRect().height,r()(this).attr("data-slide",n),/mui/g.test(r()(this)[0].className)||s.$slides.filter(".is-active")[0]===s.$slides.eq(n)[0]||r()(this).css({position:"relative",display:"none"}),i=e>i?e:i,n++}),n===this.$slides.length&&(this.$wrapper.css({height:i}),t&&t(i))}},{key:"_setSlideHeight",value:function(t){this.$slides.each(function(){r()(this).css("max-height",t)})}},{key:"_events",value:function(){var t=this;if(this.$element.off(".resizeme.zf.trigger").on({"resizeme.zf.trigger":this._prepareForOrbit.bind(this)}),this.$slides.length>1){if(this.options.swipe&&this.$slides.off("swipeleft.zf.orbit swiperight.zf.orbit").on("swipeleft.zf.orbit",function(e){e.preventDefault(),t.changeSlide(!0)}).on("swiperight.zf.orbit",function(e){e.preventDefault(),t.changeSlide(!1)}),this.options.autoPlay&&(this.$slides.on("click.zf.orbit",function(){t.$element.data("clickedOn",!t.$element.data("clickedOn")),t.timer[t.$element.data("clickedOn")?"pause":"start"]()}),this.options.pauseOnHover&&this.$element.on("mouseenter.zf.orbit",function(){t.timer.pause()}).on("mouseleave.zf.orbit",function(){t.$element.data("clickedOn")||t.timer.start()})),this.options.navButtons){var e=this.$element.find("."+this.options.nextClass+", ."+this.options.prevClass);e.attr("tabindex",0).on("click.zf.orbit touchend.zf.orbit",function(e){e.preventDefault(),t.changeSlide(r()(this).hasClass(t.options.nextClass))})}this.options.bullets&&this.$bullets.on("click.zf.orbit touchend.zf.orbit",function(){if(/is-active/g.test(this.className))return!1;var e=r()(this).data("slide"),i=e>t.$slides.filter(".is-active").data("slide"),n=t.$slides.eq(e);t.changeSlide(i,n,e)}),this.options.accessible&&this.$wrapper.add(this.$bullets).on("keydown.zf.orbit",function(e){l.a.handleKey(e,"Orbit",{next:function(){t.changeSlide(!0)},previous:function(){t.changeSlide(!1)},handled:function(){r()(e.target).is(t.$bullets)&&t.$bullets.filter(".is-active").focus()}})})}}},{key:"_reset",value:function(){"undefined"!=typeof this.$slides&&this.$slides.length>1&&(this.$element.off(".zf.orbit").find("*").off(".zf.orbit"),this.options.autoPlay&&this.timer.restart(),this.$slides.each(function(t){r()(t).removeClass("is-active is-active is-in").removeAttr("aria-live").hide()}),this.$slides.first().addClass("is-active").show(),this.$element.trigger("slidechange.zf.orbit",[this.$slides.first()]),this.options.bullets&&this._updateBullets(0))}},{key:"changeSlide",value:function(t,e,i){if(this.$slides){var n=this.$slides.filter(".is-active").eq(0);if(/mui/g.test(n[0].className))return!1;var s,o=this.$slides.first(),a=this.$slides.last(),r=t?"Right":"Left",l=t?"Left":"Right",c=this;s=e?e:t?this.options.infiniteWrap?n.next("."+this.options.slideClass).length?n.next("."+this.options.slideClass):o:n.next("."+this.options.slideClass):this.options.infiniteWrap?n.prev("."+this.options.slideClass).length?n.prev("."+this.options.slideClass):a:n.prev("."+this.options.slideClass),s.length&&(this.$element.trigger("beforeslidechange.zf.orbit",[n,s]),this.options.bullets&&(i=i||this.$slides.index(s),this._updateBullets(i)),this.options.useMUI&&!this.$element.is(":hidden")?(u.a.animateIn(s.addClass("is-active").css({position:"absolute",top:0}),this.options["animInFrom"+r],function(){s.css({position:"relative",display:"block"}).attr("aria-live","polite")}),u.a.animateOut(n.removeClass("is-active"),this.options["animOutTo"+l],function(){n.removeAttr("aria-live"),c.options.autoPlay&&!c.timer.isPaused&&c.timer.restart()})):(n.removeClass("is-active is-in").removeAttr("aria-live").hide(),s.addClass("is-active is-in").attr("aria-live","polite").show(),this.options.autoPlay&&!this.timer.isPaused&&this.timer.restart()),this.$element.trigger("slidechange.zf.orbit",[s]))}}},{key:"_updateBullets",value:function(t){var e=this.$element.find("."+this.options.boxOfBullets).find(".is-active").removeClass("is-active").blur(),i=e.find("span:last").detach();this.$bullets.eq(t).addClass("is-active").append(i)}},{key:"_destroy",value:function(){this.$element.off(".zf.orbit").find("*").off(".zf.orbit").end().hide()}}]),e}(f.a);g.defaults={bullets:!0,navButtons:!0,animInFromRight:"slide-in-right",animOutToRight:"slide-out-right",animInFromLeft:"slide-in-left",animOutToLeft:"slide-out-left",autoPlay:!0,timerDelay:5e3,infiniteWrap:!0,swipe:!0,pauseOnHover:!0,accessible:!0,containerClass:"orbit-container",slideClass:"orbit-slide",boxOfBullets:"orbit-bullets",nextClass:"orbit-next",prevClass:"orbit-previous",useMUI:!0}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return m});var a=i(0),r=i.n(a),l=i(3),u=i(1),c=i(2),h=i(10),d=i(14),f=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),p={tabs:{cssClass:"tabs",plugin:d.a},accordion:{cssClass:"accordion",plugin:h.a}},m=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),f(e,[{key:"_setup",value:function(t,e){this.$element=r()(t),this.options=r.a.extend({},this.$element.data(),e),this.rules=this.$element.data("responsive-accordion-tabs"),this.currentMq=null,this.currentPlugin=null,this.className="ResponsiveAccordionTabs",this.$element.attr("id")||this.$element.attr("id",i.i(u.a)(6,"responsiveaccordiontabs")),this._init(),this._events()}},{key:"_init",value:function(){if(l.a._init(),"string"==typeof this.rules){for(var t={},e=this.rules.split(" "),i=0;i<e.length;i++){var n=e[i].split("-"),s=n.length>1?n[0]:"small",o=n.length>1?n[1]:n[0];null!==p[o]&&(t[s]=p[o])}this.rules=t}this._getAllOptions(),r.a.isEmptyObject(this.rules)||this._checkMediaQueries()}},{key:"_getAllOptions",value:function(){var t=this;t.allOptions={};for(var e in p)if(p.hasOwnProperty(e)){var i=p[e];try{var n=r()("<ul></ul>"),s=new i.plugin(n,t.options);for(var o in s.options)if(s.options.hasOwnProperty(o)&&"zfPlugin"!==o){var a=s.options[o];t.allOptions[o]=a}s.destroy()}catch(t){}}}},{key:"_events",value:function(){var t=this;r()(window).on("changed.zf.mediaquery",function(){t._checkMediaQueries()})}},{key:"_checkMediaQueries",value:function(){var t,e=this;r.a.each(this.rules,function(e){l.a.atLeast(e)&&(t=e)}),t&&(this.currentPlugin instanceof this.rules[t].plugin||(r.a.each(p,function(t,i){e.$element.removeClass(i.cssClass)}),this.$element.addClass(this.rules[t].cssClass),this.currentPlugin&&(!this.currentPlugin.$element.data("zfPlugin")&&this.storezfData&&this.currentPlugin.$element.data("zfPlugin",this.storezfData),this.currentPlugin.destroy()),this._handleMarkup(this.rules[t].cssClass),this.currentPlugin=new this.rules[t].plugin(this.$element,{}),this.storezfData=this.currentPlugin.$element.data("zfPlugin")))}},{key:"_handleMarkup",value:function(t){var e=this,n="accordion",s=r()("[data-tabs-content="+this.$element.attr("id")+"]");if(s.length&&(n="tabs"),n!==t){var o=e.allOptions.linkClass?e.allOptions.linkClass:"tabs-title",a=e.allOptions.panelClass?e.allOptions.panelClass:"tabs-panel";this.$element.removeAttr("role");var l=this.$element.children("."+o+",[data-accordion-item]").removeClass(o).removeClass("accordion-item").removeAttr("data-accordion-item"),c=l.children("a").removeClass("accordion-title");if("tabs"===n?(s=s.children("."+a).removeClass(a).removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby"),s.children("a").removeAttr("role").removeAttr("aria-controls").removeAttr("aria-selected")):s=l.children("[data-tab-content]").removeClass("accordion-content"),s.css({display:"",visibility:""}),l.css({display:"",visibility:""}),"accordion"===t)s.each(function(t,i){r()(i).appendTo(l.get(t)).addClass("accordion-content").attr("data-tab-content","").removeClass("is-active").css({height:""}),r()("[data-tabs-content="+e.$element.attr("id")+"]").after('<div id="tabs-placeholder-'+e.$element.attr("id")+'"></div>').detach(),l.addClass("accordion-item").attr("data-accordion-item",""),c.addClass("accordion-title")});else if("tabs"===t){var h=r()("[data-tabs-content="+e.$element.attr("id")+"]"),d=r()("#tabs-placeholder-"+e.$element.attr("id"));d.length?(h=r()('<div class="tabs-content"></div>').insertAfter(d).attr("data-tabs-content",e.$element.attr("id")),d.remove()):h=r()('<div class="tabs-content"></div>').insertAfter(e.$element).attr("data-tabs-content",e.$element.attr("id")),s.each(function(t,e){var n=r()(e).appendTo(h).addClass(a),s=c.get(t).hash.slice(1),o=r()(e).attr("id")||i.i(u.a)(6,"accordion");s!==o&&(""!==s?r()(e).attr("id",s):(s=o,r()(e).attr("id",s),r()(c.get(t)).attr("href",r()(c.get(t)).attr("href").replace("#","")+"#"+s)));var d=r()(l.get(t)).hasClass("is-active");d&&n.addClass("is-active")}),l.addClass(o)}}}},{key:"_destroy",value:function(){this.currentPlugin&&this.currentPlugin.destroy(),r()(window).off(".zf.ResponsiveAccordionTabs")}}]),e}(c.a);m.defaults={}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return g});var a=i(0),r=i.n(a),l=i(3),u=i(1),c=i(2),h=i(13),d=i(12),f=i(11),p=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),m={dropdown:{cssClass:"dropdown",plugin:h.a},drilldown:{cssClass:"drilldown",plugin:d.a},accordion:{cssClass:"accordion-menu",plugin:f.a}},g=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),p(e,[{key:"_setup",value:function(t,e){this.$element=r()(t),this.rules=this.$element.data("responsive-menu"),this.currentMq=null,this.currentPlugin=null,this.className="ResponsiveMenu",this._init(),this._events()}},{key:"_init",value:function(){if(l.a._init(),"string"==typeof this.rules){for(var t={},e=this.rules.split(" "),n=0;n<e.length;n++){var s=e[n].split("-"),o=s.length>1?s[0]:"small",a=s.length>1?s[1]:s[0];null!==m[a]&&(t[o]=m[a])}this.rules=t}r.a.isEmptyObject(this.rules)||this._checkMediaQueries(),this.$element.attr("data-mutate",this.$element.attr("data-mutate")||i.i(u.a)(6,"responsive-menu"))}},{key:"_events",value:function(){var t=this;r()(window).on("changed.zf.mediaquery",function(){t._checkMediaQueries()})}},{key:"_checkMediaQueries",value:function(){var t,e=this;r.a.each(this.rules,function(e){l.a.atLeast(e)&&(t=e)}),t&&(this.currentPlugin instanceof this.rules[t].plugin||(r.a.each(m,function(t,i){e.$element.removeClass(i.cssClass)}),this.$element.addClass(this.rules[t].cssClass),this.currentPlugin&&this.currentPlugin.destroy(),this.currentPlugin=new this.rules[t].plugin(this.$element,{})))}},{key:"_destroy",value:function(){this.currentPlugin.destroy(),r()(window).off(".zf.ResponsiveMenu")}}]),e}(c.a);g.defaults={}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return d});var a=i(0),r=i.n(a),l=i(3),u=i(6),c=i(2),h=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),d=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),h(e,[{key:"_setup",value:function(t,i){this.$element=r()(t),this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="ResponsiveToggle",this._init(),this._events()}},{key:"_init",value:function(){l.a._init();var t=this.$element.data("responsive-toggle");if(t||console.error("Your tab bar needs an ID of a Menu as the value of data-tab-bar."),this.$targetMenu=r()("#"+t),this.$toggler=this.$element.find("[data-toggle]").filter(function(){var e=r()(this).data("toggle");return e===t||""===e}),this.options=r.a.extend({},this.options,this.$targetMenu.data()),this.options.animate){var e=this.options.animate.split(" ");this.animationIn=e[0],this.animationOut=e[1]||null}this._update()}},{key:"_events",value:function(){this._updateMqHandler=this._update.bind(this),r()(window).on("changed.zf.mediaquery",this._updateMqHandler),this.$toggler.on("click.zf.responsiveToggle",this.toggleMenu.bind(this))}},{key:"_update",value:function(){l.a.atLeast(this.options.hideFor)?(this.$element.hide(),this.$targetMenu.show()):(this.$element.show(),this.$targetMenu.hide())}},{key:"toggleMenu",value:function(){var t=this;l.a.atLeast(this.options.hideFor)||(this.options.animate?this.$targetMenu.is(":hidden")?u.a.animateIn(this.$targetMenu,this.animationIn,function(){t.$element.trigger("toggled.zf.responsiveToggle"),t.$targetMenu.find("[data-mutate]").triggerHandler("mutateme.zf.trigger")}):u.a.animateOut(this.$targetMenu,this.animationOut,function(){t.$element.trigger("toggled.zf.responsiveToggle")}):(this.$targetMenu.toggle(0),this.$targetMenu.find("[data-mutate]").trigger("mutateme.zf.trigger"),this.$element.trigger("toggled.zf.responsiveToggle")))}},{key:"_destroy",value:function(){this.$element.off(".zf.responsiveToggle"),this.$toggler.off(".zf.responsiveToggle"),r()(window).off("changed.zf.mediaquery",this._updateMqHandler)}}]),e}(c.a);d.defaults={hideFor:"medium",animate:!1}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(){return/iP(ad|hone|od).*OS/.test(window.navigator.userAgent)}function r(){return/Android/.test(window.navigator.userAgent)}function l(){return a()||r()}i.d(e,"a",function(){return v});var u=i(0),c=i.n(u),h=i(4),d=i(3),f=i(6),p=i(2),m=i(5),g=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),v=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),g(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=c.a.extend({},e.defaults,this.$element.data(),i),this.className="Reveal",this._init(),m.a.init(c.a),h.a.register("Reveal",{ESCAPE:"close"})}},{key:"_init",value:function(){d.a._init(),this.id=this.$element.attr("id"),this.isActive=!1,this.cached={mq:d.a.current},this.isMobile=l(),this.$anchor=c()('[data-open="'+this.id+'"]').length?c()('[data-open="'+this.id+'"]'):c()('[data-toggle="'+this.id+'"]'),this.$anchor.attr({"aria-controls":this.id,"aria-haspopup":!0,tabindex:0}),(this.options.fullScreen||this.$element.hasClass("full"))&&(this.options.fullScreen=!0,this.options.overlay=!1),this.options.overlay&&!this.$overlay&&(this.$overlay=this._makeOverlay(this.id)),this.$element.attr({role:"dialog","aria-hidden":!0,"data-yeti-box":this.id,"data-resize":this.id}),this.$overlay?this.$element.detach().appendTo(this.$overlay):(this.$element.detach().appendTo(c()(this.options.appendTo)),this.$element.addClass("without-overlay")),this._events(),this.options.deepLink&&window.location.hash==="#"+this.id&&c()(window).one("load.zf.reveal",this.open.bind(this))}},{key:"_makeOverlay",value:function(){var t="";return this.options.additionalOverlayClasses&&(t=" "+this.options.additionalOverlayClasses),c()("<div></div>").addClass("reveal-overlay"+t).appendTo(this.options.appendTo)}},{key:"_updatePosition",value:function(){var t,e,i=this.$element.outerWidth(),n=c()(window).width(),s=this.$element.outerHeight(),o=c()(window).height();t="auto"===this.options.hOffset?parseInt((n-i)/2,10):parseInt(this.options.hOffset,10),e="auto"===this.options.vOffset?s>o?parseInt(Math.min(100,o/10),10):parseInt((o-s)/4,10):parseInt(this.options.vOffset,10),this.$element.css({top:e+"px"}),this.$overlay&&"auto"===this.options.hOffset||(this.$element.css({left:t+"px"}),this.$element.css({margin:"0px"}))}},{key:"_events",value:function(){var t=this,e=this;this.$element.on({"open.zf.trigger":this.open.bind(this),"close.zf.trigger":function(i,n){if(i.target===e.$element[0]||c()(i.target).parents("[data-closable]")[0]===n)return t.close.apply(t)},"toggle.zf.trigger":this.toggle.bind(this),"resizeme.zf.trigger":function(){e._updatePosition()}}),this.options.closeOnClick&&this.options.overlay&&this.$overlay.off(".zf.reveal").on("click.zf.reveal",function(t){t.target!==e.$element[0]&&!c.a.contains(e.$element[0],t.target)&&c.a.contains(document,t.target)&&e.close()}),this.options.deepLink&&c()(window).on("popstate.zf.reveal:"+this.id,this._handleState.bind(this))}},{key:"_handleState",value:function(t){window.location.hash!=="#"+this.id||this.isActive?this.close():this.open()}},{key:"open",value:function(){function t(){n.isMobile?(n.originalScrollPos||(n.originalScrollPos=window.pageYOffset),c()("html, body").addClass("is-reveal-open")):c()("body").addClass("is-reveal-open")}var e=this;if(this.options.deepLink){var i="#"+this.id;window.history.pushState?this.options.updateHistory?window.history.pushState({},"",i):window.history.replaceState({},"",i):window.location.hash=i}this.isActive=!0,this.$element.css({visibility:"hidden"}).show().scrollTop(0),this.options.overlay&&this.$overlay.css({visibility:"hidden"}).show(),this._updatePosition(),this.$element.hide().css({visibility:""}),this.$overlay&&(this.$overlay.css({visibility:""}).hide(),this.$element.hasClass("fast")?this.$overlay.addClass("fast"):this.$element.hasClass("slow")&&this.$overlay.addClass("slow")),this.options.multipleOpened||this.$element.trigger("closeme.zf.reveal",this.id);var n=this;this.options.animationIn?!function(){var i=function(){n.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),t(),h.a.trapFocus(n.$element)};e.options.overlay&&f.a.animateIn(e.$overlay,"fade-in"),f.a.animateIn(e.$element,e.options.animationIn,function(){e.$element&&(e.focusableElements=h.a.findFocusable(e.$element),i())})}():(this.options.overlay&&this.$overlay.show(0),this.$element.show(this.options.showDelay)),this.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),h.a.trapFocus(this.$element),t(),this._extraHandlers(),this.$element.trigger("open.zf.reveal")}},{key:"_extraHandlers",value:function(){var t=this;this.$element&&(this.focusableElements=h.a.findFocusable(this.$element),this.options.overlay||!this.options.closeOnClick||this.options.fullScreen||c()("body").on("click.zf.reveal",function(e){e.target!==t.$element[0]&&!c.a.contains(t.$element[0],e.target)&&c.a.contains(document,e.target)&&t.close()}),this.options.closeOnEsc&&c()(window).on("keydown.zf.reveal",function(e){h.a.handleKey(e,"Reveal",{close:function(){t.options.closeOnEsc&&t.close()}})}))}},{key:"close",value:function(){function t(){e.isMobile?(0===c()(".reveal:visible").length&&c()("html, body").removeClass("is-reveal-open"),e.originalScrollPos&&(c()("body").scrollTop(e.originalScrollPos),e.originalScrollPos=null)):0===c()(".reveal:visible").length&&c()("body").removeClass("is-reveal-open"),h.a.releaseFocus(e.$element),e.$element.attr("aria-hidden",!0),e.$element.trigger("closed.zf.reveal")}if(!this.isActive||!this.$element.is(":visible"))return!1;var e=this;this.options.animationOut?(this.options.overlay&&f.a.animateOut(this.$overlay,"fade-out"),f.a.animateOut(this.$element,this.options.animationOut,t)):(this.$element.hide(this.options.hideDelay),this.options.overlay?this.$overlay.hide(0,t):t()),this.options.closeOnEsc&&c()(window).off("keydown.zf.reveal"),!this.options.overlay&&this.options.closeOnClick&&c()("body").off("click.zf.reveal"),this.$element.off("keydown.zf.reveal"),this.options.resetOnClose&&this.$element.html(this.$element.html()),this.isActive=!1,e.options.deepLink&&(window.history.replaceState?window.history.replaceState("",document.title,window.location.href.replace("#"+this.id,"")):window.location.hash=""),this.$anchor.focus()}},{key:"toggle",value:function(){this.isActive?this.close():this.open()}},{key:"_destroy",value:function(){this.options.overlay&&(this.$element.appendTo(c()(this.options.appendTo)),this.$overlay.hide().off().remove()),this.$element.hide().off(),this.$anchor.off(".zf"),c()(window).off(".zf.reveal:"+this.id)}}]),e}(p.a);v.defaults={animationIn:"",animationOut:"",showDelay:0,hideDelay:0,closeOnClick:!0,closeOnEsc:!0,multipleOpened:!1,vOffset:"auto",hOffset:"auto",fullScreen:!1,btmOffsetPct:10,overlay:!0,resetOnClose:!1,deepLink:!1,updateHistory:!1,appendTo:"body",additionalOverlayClasses:""}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(t,e){return t/e}function r(t,e,i,n){return Math.abs(t.position()[e]+t[n]()/2-i)}function l(t,e){return Math.log(e)/Math.log(t)}i.d(e,"a",function(){return b});var u=i(0),c=i.n(u),h=i(4),d=i(6),f=i(1),p=i(2),m=i(16),g=i(5),v=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),b=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),v(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=c.a.extend({},e.defaults,this.$element.data(),i),this.className="Slider",m.a.init(c.a),g.a.init(c.a),this._init(),h.a.register("Slider",{ltr:{ARROW_RIGHT:"increase",ARROW_UP:"increase",ARROW_DOWN:"decrease",ARROW_LEFT:"decrease",SHIFT_ARROW_RIGHT:"increase_fast",SHIFT_ARROW_UP:"increase_fast",SHIFT_ARROW_DOWN:"decrease_fast",SHIFT_ARROW_LEFT:"decrease_fast",HOME:"min",END:"max"},rtl:{ARROW_LEFT:"increase",ARROW_RIGHT:"decrease",SHIFT_ARROW_LEFT:"increase_fast",SHIFT_ARROW_RIGHT:"decrease_fast"}})}},{key:"_init",value:function(){this.inputs=this.$element.find("input"),this.handles=this.$element.find("[data-slider-handle]"),this.$handle=this.handles.eq(0),this.$input=this.inputs.length?this.inputs.eq(0):c()("#"+this.$handle.attr("aria-controls")),this.$fill=this.$element.find("[data-slider-fill]").css(this.options.vertical?"height":"width",0);var t=!1;(this.options.disabled||this.$element.hasClass(this.options.disabledClass))&&(this.options.disabled=!0,this.$element.addClass(this.options.disabledClass)),this.inputs.length||(this.inputs=c()().add(this.$input),this.options.binding=!0),this._setInitAttr(0),this.handles[1]&&(this.options.doubleSided=!0,this.$handle2=this.handles.eq(1),this.$input2=this.inputs.length>1?this.inputs.eq(1):c()("#"+this.$handle2.attr("aria-controls")),this.inputs[1]||(this.inputs=this.inputs.add(this.$input2)),t=!0,this._setInitAttr(1)),this.setHandles(),this._events()}},{key:"setHandles",value:function(){var t=this;this.handles[1]?this._setHandlePos(this.$handle,this.inputs.eq(0).val(),!0,function(){t._setHandlePos(t.$handle2,t.inputs.eq(1).val(),!0)}):this._setHandlePos(this.$handle,this.inputs.eq(0).val(),!0)}},{key:"_reflow",value:function(){this.setHandles()}},{key:"_pctOfBar",value:function(t){var e=a(t-this.options.start,this.options.end-this.options.start);switch(this.options.positionValueFunction){case"pow":e=this._logTransform(e);break;case"log":e=this._powTransform(e)}return e.toFixed(2)}},{key:"_value",value:function(t){switch(this.options.positionValueFunction){case"pow":t=this._powTransform(t);break;case"log":t=this._logTransform(t)}var e=(this.options.end-this.options.start)*t+this.options.start;return e}},{key:"_logTransform",value:function(t){return l(this.options.nonLinearBase,t*(this.options.nonLinearBase-1)+1)}},{key:"_powTransform",value:function(t){return(Math.pow(this.options.nonLinearBase,t)-1)/(this.options.nonLinearBase-1)}},{key:"_setHandlePos",value:function(t,e,n,s){if(!this.$element.hasClass(this.options.disabledClass)){e=parseFloat(e),e<this.options.start?e=this.options.start:e>this.options.end&&(e=this.options.end);var o=this.options.doubleSided;if(this.options.vertical&&!n&&(e=this.options.end-e),o)if(0===this.handles.index(t)){var r=parseFloat(this.$handle2.attr("aria-valuenow"));e=e>=r?r-this.options.step:e}else{var l=parseFloat(this.$handle.attr("aria-valuenow"));e=e<=l?l+this.options.step:e}var u=this,c=this.options.vertical,h=c?"height":"width",f=c?"top":"left",p=t[0].getBoundingClientRect()[h],m=this.$element[0].getBoundingClientRect()[h],g=this._pctOfBar(e),v=(m-p)*g,b=(100*a(v,m)).toFixed(this.options.decimal);e=parseFloat(e.toFixed(this.options.decimal));var y={};if(this._setValues(t,e),o){var w,_=0===this.handles.index(t),$=~~(100*a(p,m));if(_)y[f]=b+"%",w=parseFloat(this.$handle2[0].style[f])-b+$,s&&"function"==typeof s&&s();else{var k=parseFloat(this.$handle[0].style[f]);w=b-(isNaN(k)?(this.options.initialStart-this.options.start)/((this.options.end-this.options.start)/100):k)+$}y["min-"+h]=w+"%"}this.$element.one("finished.zf.animate",function(){u.$element.trigger("moved.zf.slider",[t])});var C=this.$element.data("dragging")?1e3/60:this.options.moveTime;i.i(d.b)(C,t,function(){isNaN(b)?t.css(f,100*g+"%"):t.css(f,b+"%"),u.options.doubleSided?u.$fill.css(y):u.$fill.css(h,100*g+"%")}),clearTimeout(u.timeout),u.timeout=setTimeout(function(){u.$element.trigger("changed.zf.slider",[t])},u.options.changedDelay)}}},{key:"_setInitAttr",value:function(t){var e=0===t?this.options.initialStart:this.options.initialEnd,n=this.inputs.eq(t).attr("id")||i.i(f.a)(6,"slider");this.inputs.eq(t).attr({id:n,max:this.options.end,min:this.options.start,step:this.options.step}),this.inputs.eq(t).val(e),this.handles.eq(t).attr({role:"slider","aria-controls":n,"aria-valuemax":this.options.end,"aria-valuemin":this.options.start,"aria-valuenow":e,"aria-orientation":this.options.vertical?"vertical":"horizontal",tabindex:0})}},{key:"_setValues",value:function(t,e){var i=this.options.doubleSided?this.handles.index(t):0;this.inputs.eq(i).val(e),t.attr("aria-valuenow",e)}},{key:"_handleEvent",value:function(t,e,n){var s,o;if(n)s=this._adjustValue(null,n),o=!0;else{t.preventDefault();var l=this,u=this.options.vertical,h=u?"height":"width",d=u?"top":"left",p=u?t.pageY:t.pageX,m=(this.$handle[0].getBoundingClientRect()[h]/2,this.$element[0].getBoundingClientRect()[h]),g=u?c()(window).scrollTop():c()(window).scrollLeft(),v=this.$element.offset()[d];t.clientY===t.pageY&&(p+=g);var b,y=p-v;b=y<0?0:y>m?m:y;var w=a(b,m);if(s=this._value(w),i.i(f.b)()&&!this.options.vertical&&(s=this.options.end-s),s=l._adjustValue(null,s),o=!1,!e){var _=r(this.$handle,d,b,h),$=r(this.$handle2,d,b,h);e=_<=$?this.$handle:this.$handle2}}this._setHandlePos(e,s,o)}},{key:"_adjustValue",value:function(t,e){var i,n,s,o,a=this.options.step,r=parseFloat(a/2);return i=t?parseFloat(t.attr("aria-valuenow")):e,n=i%a,s=i-n,o=s+a,0===n?i:i=i>=s+r?o:s}},{key:"_events",value:function(){this._eventsForHandle(this.$handle),this.handles[1]&&this._eventsForHandle(this.$handle2)}},{key:"_eventsForHandle",value:function(t){var e,i=this;if(this.inputs.off("change.zf.slider").on("change.zf.slider",function(t){var e=i.inputs.index(c()(this));i._handleEvent(t,i.handles.eq(e),c()(this).val())}),this.options.clickSelect&&this.$element.off("click.zf.slider").on("click.zf.slider",function(t){return!i.$element.data("dragging")&&void(c()(t.target).is("[data-slider-handle]")||(i.options.doubleSided?i._handleEvent(t):i._handleEvent(t,i.$handle)));
+}),this.options.draggable){this.handles.addTouch();var n=c()("body");t.off("mousedown.zf.slider").on("mousedown.zf.slider",function(s){t.addClass("is-dragging"),i.$fill.addClass("is-dragging"),i.$element.data("dragging",!0),e=c()(s.currentTarget),n.on("mousemove.zf.slider",function(t){t.preventDefault(),i._handleEvent(t,e)}).on("mouseup.zf.slider",function(s){i._handleEvent(s,e),t.removeClass("is-dragging"),i.$fill.removeClass("is-dragging"),i.$element.data("dragging",!1),n.off("mousemove.zf.slider mouseup.zf.slider")})}).on("selectstart.zf.slider touchmove.zf.slider",function(t){t.preventDefault()})}t.off("keydown.zf.slider").on("keydown.zf.slider",function(t){var e,n=c()(this),s=i.options.doubleSided?i.handles.index(n):0,o=parseFloat(i.inputs.eq(s).val());h.a.handleKey(t,"Slider",{decrease:function(){e=o-i.options.step},increase:function(){e=o+i.options.step},decrease_fast:function(){e=o-10*i.options.step},increase_fast:function(){e=o+10*i.options.step},min:function(){e=i.options.start},max:function(){e=i.options.end},handled:function(){t.preventDefault(),i._setHandlePos(n,e,!0)}})})}},{key:"_destroy",value:function(){this.handles.off(".zf.slider"),this.inputs.off(".zf.slider"),this.$element.off(".zf.slider"),clearTimeout(this.timeout)}}]),e}(p.a);b.defaults={start:0,end:100,step:1,initialStart:0,initialEnd:100,binding:!1,clickSelect:!0,vertical:!1,draggable:!0,disabled:!1,doubleSided:!1,decimal:2,moveTime:200,disabledClass:"disabled",invertVertical:!1,changedDelay:500,nonLinearBase:5,positionValueFunction:"linear"}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(t){return parseInt(window.getComputedStyle(document.body,null).fontSize,10)*t}i.d(e,"a",function(){return p});var r=i(0),l=i.n(r),u=i(1),c=i(3),h=i(2),d=i(5),f=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),p=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),f(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=l.a.extend({},e.defaults,this.$element.data(),i),this.className="Sticky",d.a.init(l.a),this._init()}},{key:"_init",value:function(){c.a._init();var t=this.$element.parent("[data-sticky-container]"),e=this.$element[0].id||i.i(u.a)(6,"sticky"),n=this;t.length?this.$container=t:(this.wasWrapped=!0,this.$element.wrap(this.options.container),this.$container=this.$element.parent()),this.$container.addClass(this.options.containerClass),this.$element.addClass(this.options.stickyClass).attr({"data-resize":e,"data-mutate":e}),""!==this.options.anchor&&l()("#"+n.options.anchor).attr({"data-mutate":e}),this.scrollCount=this.options.checkEvery,this.isStuck=!1,l()(window).one("load.zf.sticky",function(){n.containerHeight="none"==n.$element.css("display")?0:n.$element[0].getBoundingClientRect().height,n.$container.css("height",n.containerHeight),n.elemHeight=n.containerHeight,""!==n.options.anchor?n.$anchor=l()("#"+n.options.anchor):n._parsePoints(),n._setSizes(function(){var t=window.pageYOffset;n._calc(!1,t),n.isStuck||n._removeSticky(!(t>=n.topPoint))}),n._events(e.split("-").reverse().join("-"))})}},{key:"_parsePoints",value:function(){for(var t=""==this.options.topAnchor?1:this.options.topAnchor,e=""==this.options.btmAnchor?document.documentElement.scrollHeight:this.options.btmAnchor,i=[t,e],n={},s=0,o=i.length;s<o&&i[s];s++){var a;if("number"==typeof i[s])a=i[s];else{var r=i[s].split(":"),u=l()("#"+r[0]);a=u.offset().top,r[1]&&"bottom"===r[1].toLowerCase()&&(a+=u[0].getBoundingClientRect().height)}n[s]=a}this.points=n}},{key:"_events",value:function(t){var e=this,i=this.scrollListener="scroll.zf."+t;this.isOn||(this.canStick&&(this.isOn=!0,l()(window).off(i).on(i,function(t){0===e.scrollCount?(e.scrollCount=e.options.checkEvery,e._setSizes(function(){e._calc(!1,window.pageYOffset)})):(e.scrollCount--,e._calc(!1,window.pageYOffset))})),this.$element.off("resizeme.zf.trigger").on("resizeme.zf.trigger",function(i,n){e._eventsHandler(t)}),this.$element.on("mutateme.zf.trigger",function(i,n){e._eventsHandler(t)}),this.$anchor&&this.$anchor.on("mutateme.zf.trigger",function(i,n){e._eventsHandler(t)}))}},{key:"_eventsHandler",value:function(t){var e=this,i=this.scrollListener="scroll.zf."+t;e._setSizes(function(){e._calc(!1),e.canStick?e.isOn||e._events(t):e.isOn&&e._pauseListeners(i)})}},{key:"_pauseListeners",value:function(t){this.isOn=!1,l()(window).off(t),this.$element.trigger("pause.zf.sticky")}},{key:"_calc",value:function(t,e){return t&&this._setSizes(),this.canStick?(e||(e=window.pageYOffset),void(e>=this.topPoint?e<=this.bottomPoint?this.isStuck||this._setSticky():this.isStuck&&this._removeSticky(!1):this.isStuck&&this._removeSticky(!0))):(this.isStuck&&this._removeSticky(!0),!1)}},{key:"_setSticky",value:function(){var t=this,e=this.options.stickTo,i="top"===e?"marginTop":"marginBottom",n="top"===e?"bottom":"top",s={};s[i]=this.options[i]+"em",s[e]=0,s[n]="auto",this.isStuck=!0,this.$element.removeClass("is-anchored is-at-"+n).addClass("is-stuck is-at-"+e).css(s).trigger("sticky.zf.stuckto:"+e),this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd",function(){t._setSizes()})}},{key:"_removeSticky",value:function(t){var e=this.options.stickTo,i="top"===e,n={},s=(this.points?this.points[1]-this.points[0]:this.anchorHeight)-this.elemHeight,o=i?"marginTop":"marginBottom",a=t?"top":"bottom";n[o]=0,n.bottom="auto",t?n.top=0:n.top=s,this.isStuck=!1,this.$element.removeClass("is-stuck is-at-"+e).addClass("is-anchored is-at-"+a).css(n).trigger("sticky.zf.unstuckfrom:"+a)}},{key:"_setSizes",value:function(t){this.canStick=c.a.is(this.options.stickyOn),this.canStick||t&&"function"==typeof t&&t();var e=this.$container[0].getBoundingClientRect().width,i=window.getComputedStyle(this.$container[0]),n=parseInt(i["padding-left"],10),s=parseInt(i["padding-right"],10);this.$anchor&&this.$anchor.length?this.anchorHeight=this.$anchor[0].getBoundingClientRect().height:this._parsePoints(),this.$element.css({"max-width":e-n-s+"px"});var o=this.$element[0].getBoundingClientRect().height||this.containerHeight;if("none"==this.$element.css("display")&&(o=0),this.containerHeight=o,this.$container.css({height:o}),this.elemHeight=o,!this.isStuck&&this.$element.hasClass("is-at-bottom")){var a=(this.points?this.points[1]-this.$container.offset().top:this.anchorHeight)-this.elemHeight;this.$element.css("top",a)}this._setBreakPoints(o,function(){t&&"function"==typeof t&&t()})}},{key:"_setBreakPoints",value:function(t,e){if(!this.canStick){if(!e||"function"!=typeof e)return!1;e()}var i=a(this.options.marginTop),n=a(this.options.marginBottom),s=this.points?this.points[0]:this.$anchor.offset().top,o=this.points?this.points[1]:s+this.anchorHeight,r=window.innerHeight;"top"===this.options.stickTo?(s-=i,o-=t+i):"bottom"===this.options.stickTo&&(s-=r-(t+n),o-=r-n),this.topPoint=s,this.bottomPoint=o,e&&"function"==typeof e&&e()}},{key:"_destroy",value:function(){this._removeSticky(!0),this.$element.removeClass(this.options.stickyClass+" is-anchored is-at-top").css({height:"",top:"",bottom:"","max-width":""}).off("resizeme.zf.trigger").off("mutateme.zf.trigger"),this.$anchor&&this.$anchor.length&&this.$anchor.off("change.zf.sticky"),l()(window).off(this.scrollListener),this.wasWrapped?this.$element.unwrap():this.$container.removeClass(this.options.containerClass).css({height:""})}}]),e}(h.a);p.defaults={container:"<div data-sticky-container></div>",stickTo:"top",anchor:"",topAnchor:"",btmAnchor:"",marginTop:1,marginBottom:1,stickyOn:"medium",stickyClass:"sticky",containerClass:"sticky-container",checkEvery:-1}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return d});var a=i(0),r=i.n(a),l=i(6),u=i(2),c=i(5),h=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),d=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),h(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,t.data(),i),this.className="",this.className="Toggler",c.a.init(r.a),this._init(),this._events()}},{key:"_init",value:function(){var t;this.options.animate?(t=this.options.animate.split(" "),this.animationIn=t[0],this.animationOut=t[1]||null):(t=this.$element.data("toggler"),this.className="."===t[0]?t.slice(1):t);var e=this.$element[0].id;r()('[data-open="'+e+'"], [data-close="'+e+'"], [data-toggle="'+e+'"]').attr("aria-controls",e),this.$element.attr("aria-expanded",!this.$element.is(":hidden"))}},{key:"_events",value:function(){this.$element.off("toggle.zf.trigger").on("toggle.zf.trigger",this.toggle.bind(this))}},{key:"toggle",value:function(){this[this.options.animate?"_toggleAnimate":"_toggleClass"]()}},{key:"_toggleClass",value:function(){this.$element.toggleClass(this.className);var t=this.$element.hasClass(this.className);t?this.$element.trigger("on.zf.toggler"):this.$element.trigger("off.zf.toggler"),this._updateARIA(t),this.$element.find("[data-mutate]").trigger("mutateme.zf.trigger")}},{key:"_toggleAnimate",value:function(){var t=this;this.$element.is(":hidden")?l.a.animateIn(this.$element,this.animationIn,function(){t._updateARIA(!0),this.trigger("on.zf.toggler"),this.find("[data-mutate]").trigger("mutateme.zf.trigger")}):l.a.animateOut(this.$element,this.animationOut,function(){t._updateARIA(!1),this.trigger("off.zf.toggler"),this.find("[data-mutate]").trigger("mutateme.zf.trigger")})}},{key:"_updateARIA",value:function(t){this.$element.attr("aria-expanded",!!t)}},{key:"_destroy",value:function(){this.$element.off(".zf.toggler")}}]),e}(u.a);d.defaults={animate:!1}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return p});var a=i(0),r=i.n(a),l=i(1),u=i(3),c=i(5),h=i(15),d=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),f=function t(e,i,n){null===e&&(e=Function.prototype);var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if("value"in s)return s.value;var a=s.get;if(void 0!==a)return a.call(n)},p=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),d(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="Tooltip",this.isActive=!1,this.isClick=!1,c.a.init(r.a),this._init()}},{key:"_init",value:function(){u.a._init();var t=this.$element.attr("aria-describedby")||i.i(l.a)(6,"tooltip");this.options.tipText=this.options.tipText||this.$element.attr("title"),this.template=this.options.template?r()(this.options.template):this._buildTemplate(t),this.options.allowHtml?this.template.appendTo(document.body).html(this.options.tipText).hide():this.template.appendTo(document.body).text(this.options.tipText).hide(),this.$element.attr({title:"","aria-describedby":t,"data-yeti-box":t,"data-toggle":t,"data-resize":t}).addClass(this.options.triggerClass),f(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"_init",this).call(this),this._events()}},{key:"_getDefaultPosition",value:function(){var t=this.$element[0].className.match(/\b(top|left|right|bottom)\b/g);return t?t[0]:"top"}},{key:"_getDefaultAlignment",value:function(){return"center"}},{key:"_getHOffset",value:function(){return"left"===this.position||"right"===this.position?this.options.hOffset+this.options.tooltipWidth:this.options.hOffset}},{key:"_getVOffset",value:function(){return"top"===this.position||"bottom"===this.position?this.options.vOffset+this.options.tooltipHeight:this.options.vOffset}},{key:"_buildTemplate",value:function(t){var e=(this.options.tooltipClass+" "+this.options.positionClass+" "+this.options.templateClasses).trim(),i=r()("<div></div>").addClass(e).attr({role:"tooltip","aria-hidden":!0,"data-is-active":!1,"data-is-focus":!1,id:t});return i}},{key:"_setPosition",value:function(){f(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"_setPosition",this).call(this,this.$element,this.template)}},{key:"show",value:function(){if("all"!==this.options.showOn&&!u.a.is(this.options.showOn))return!1;var t=this;this.template.css("visibility","hidden").show(),this._setPosition(),this.template.removeClass("top bottom left right").addClass(this.position),this.template.removeClass("align-top align-bottom align-left align-right align-center").addClass("align-"+this.alignment),this.$element.trigger("closeme.zf.tooltip",this.template.attr("id")),this.template.attr({"data-is-active":!0,"aria-hidden":!1}),t.isActive=!0,this.template.stop().hide().css("visibility","").fadeIn(this.options.fadeInDuration,function(){}),this.$element.trigger("show.zf.tooltip")}},{key:"hide",value:function(){var t=this;this.template.stop().attr({"aria-hidden":!0,"data-is-active":!1}).fadeOut(this.options.fadeOutDuration,function(){t.isActive=!1,t.isClick=!1}),this.$element.trigger("hide.zf.tooltip")}},{key:"_events",value:function(){var t=this,e=(this.template,!1);this.options.disableHover||this.$element.on("mouseenter.zf.tooltip",function(e){t.isActive||(t.timeout=setTimeout(function(){t.show()},t.options.hoverDelay))}).on("mouseleave.zf.tooltip",function(i){clearTimeout(t.timeout),(!e||t.isClick&&!t.options.clickOpen)&&t.hide()}),this.options.clickOpen?this.$element.on("mousedown.zf.tooltip",function(e){e.stopImmediatePropagation(),t.isClick||(t.isClick=!0,!t.options.disableHover&&t.$element.attr("tabindex")||t.isActive||t.show())}):this.$element.on("mousedown.zf.tooltip",function(e){e.stopImmediatePropagation(),t.isClick=!0}),this.options.disableForTouch||this.$element.on("tap.zf.tooltip touchend.zf.tooltip",function(e){t.isActive?t.hide():t.show()}),this.$element.on({"close.zf.trigger":this.hide.bind(this)}),this.$element.on("focus.zf.tooltip",function(i){return e=!0,t.isClick?(t.options.clickOpen||(e=!1),!1):void t.show()}).on("focusout.zf.tooltip",function(i){e=!1,t.isClick=!1,t.hide()}).on("resizeme.zf.trigger",function(){t.isActive&&t._setPosition()})}},{key:"toggle",value:function(){this.isActive?this.hide():this.show()}},{key:"_destroy",value:function(){this.$element.attr("title",this.template.text()).off(".zf.trigger .zf.tooltip").removeClass("has-tip top right left").removeAttr("aria-describedby aria-haspopup data-disable-hover data-resize data-toggle data-tooltip data-yeti-box"),this.template.remove()}}]),e}(h.a);p.defaults={disableForTouch:!1,hoverDelay:200,fadeInDuration:150,fadeOutDuration:150,disableHover:!1,templateClasses:"",tooltipClass:"tooltip",triggerClass:"has-tip",showOn:"small",template:"",tipText:"",touchCloseText:"Tap to close.",clickOpen:!0,positionClass:"",position:"auto",alignment:"auto",allowOverlap:!1,allowBottomOverlap:!1,vOffset:0,hOffset:0,tooltipHeight:14,tooltipWidth:12,allowHtml:!1}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return h});var a=i(0),r=i.n(a),l=i(1),u=i(2),c=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),h=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),c(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="SmoothScroll",this._init()}},{key:"_init",value:function(){var t=this.$element[0].id||i.i(l.a)(6,"smooth-scroll");this.$element.attr({id:t}),this._events()}},{key:"_events",value:function(){var t=this,i=function(i){if(!r()(this).is('a[href^="#"]'))return!1;var n=this.getAttribute("href");t._inTransition=!0,e.scrollToLoc(n,t.options,function(){t._inTransition=!1}),i.preventDefault()};this.$element.on("click.zf.smoothScroll",i),this.$element.on("click.zf.smoothScroll",'a[href^="#"]',i)}}],[{key:"scrollToLoc",value:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.defaults,n=arguments[2];if(!r()(t).length)return!1;var s=Math.round(r()(t).offset().top-i.threshold/2-i.offset);r()("html, body").stop(!0).animate({scrollTop:s},i.animationDuration,i.animationEasing,function(){n&&"function"==typeof n&&n()})}}]),e}(u.a);h.defaults={animationDuration:500,animationEasing:"linear",threshold:50,offset:0}},function(t,e,i){"use strict";function n(t,e,i){var n,s,o=this,a=e.duration,r=Object.keys(t.data())[0]||"timer",l=-1;this.isPaused=!1,this.restart=function(){l=-1,clearTimeout(s),this.start()},this.start=function(){this.isPaused=!1,clearTimeout(s),l=l<=0?a:l,t.data("paused",!1),n=Date.now(),s=setTimeout(function(){e.infinite&&o.restart(),i&&"function"==typeof i&&i()},l),t.trigger("timerstart.zf."+r)},this.pause=function(){this.isPaused=!0,clearTimeout(s),t.data("paused",!0);var e=Date.now();l-=e-n,t.trigger("timerpaused.zf."+r)}}i.d(e,"a",function(){return n});var s=i(0);i.n(s)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=i.n(n),o=i(18),a=i(3),r=i(5),l=i(17),u=i(10),c=i(11),h=i(12),d=i(19),f=i(13),p=i(20),m=i(21),g=i(22),v=i(23),b=i(24),y=i(26),w=i(27),_=i(28),$=i(29),k=i(30),C=i(14),z=i(31),O=i(32),T=i(25);o.a.addToJquery(s.a),o.a.MediaQuery=a.a,r.a.init(s.a,o.a),o.a.plugin(l.a,"Abide"),o.a.plugin(u.a,"Accordion"),o.a.plugin(c.a,"AccordionMenu"),o.a.plugin(h.a,"Drilldown"),o.a.plugin(d.a,"Dropdown"),o.a.plugin(f.a,"DropdownMenu"),o.a.plugin(p.a,"Equalizer"),o.a.plugin(m.a,"Interchange"),o.a.plugin(g.a,"Magellan"),o.a.plugin(v.a,"OffCanvas"),o.a.plugin(b.a,"Orbit"),o.a.plugin(y.a,"ResponsiveMenu"),o.a.plugin(w.a,"ResponsiveToggle"),o.a.plugin(_.a,"Reveal"),o.a.plugin($.a,"Slider"),o.a.plugin(k.a,"Sticky"),o.a.plugin(C.a,"Tabs"),o.a.plugin(z.a,"Toggler"),o.a.plugin(O.a,"Tooltip"),o.a.plugin(T.a,"ResponsiveAccordionTabs")}]); \ No newline at end of file
diff --git a/clover/controller/control/static/js/foundation/jquery.js b/clover/controller/control/static/js/foundation/jquery.js
new file mode 100644
index 0000000..d2d8ca4
--- /dev/null
+++ b/clover/controller/control/static/js/foundation/jquery.js
@@ -0,0 +1,10253 @@
+/*!
+ * jQuery JavaScript Library v3.2.1
+ * https://jquery.com/
+ *
+ * Includes Sizzle.js
+ * https://sizzlejs.com/
+ *
+ * Copyright JS Foundation and other contributors
+ * Released under the MIT license
+ * https://jquery.org/license
+ *
+ * Date: 2017-03-20T18:59Z
+ */
+( function( global, factory ) {
+
+ "use strict";
+
+ if ( typeof module === "object" && typeof module.exports === "object" ) {
+
+ // For CommonJS and CommonJS-like environments where a proper `window`
+ // is present, execute the factory and get jQuery.
+ // For environments that do not have a `window` with a `document`
+ // (such as Node.js), expose a factory as module.exports.
+ // This accentuates the need for the creation of a real `window`.
+ // e.g. var jQuery = require("jquery")(window);
+ // See ticket #14549 for more info.
+ module.exports = global.document ?
+ factory( global, true ) :
+ function( w ) {
+ if ( !w.document ) {
+ throw new Error( "jQuery requires a window with a document" );
+ }
+ return factory( w );
+ };
+ } else {
+ factory( global );
+ }
+
+// Pass this if window is not defined yet
+} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
+
+// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
+// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
+// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
+// enough that all such attempts are guarded in a try block.
+"use strict";
+
+var arr = [];
+
+var document = window.document;
+
+var getProto = Object.getPrototypeOf;
+
+var slice = arr.slice;
+
+var concat = arr.concat;
+
+var push = arr.push;
+
+var indexOf = arr.indexOf;
+
+var class2type = {};
+
+var toString = class2type.toString;
+
+var hasOwn = class2type.hasOwnProperty;
+
+var fnToString = hasOwn.toString;
+
+var ObjectFunctionString = fnToString.call( Object );
+
+var support = {};
+
+
+
+ function DOMEval( code, doc ) {
+ doc = doc || document;
+
+ var script = doc.createElement( "script" );
+
+ script.text = code;
+ doc.head.appendChild( script ).parentNode.removeChild( script );
+ }
+/* global Symbol */
+// Defining this global in .eslintrc.json would create a danger of using the global
+// unguarded in another place, it seems safer to define global only for this module
+
+
+
+var
+ version = "3.2.1",
+
+ // Define a local copy of jQuery
+ jQuery = function( selector, context ) {
+
+ // The jQuery object is actually just the init constructor 'enhanced'
+ // Need init if jQuery is called (just allow error to be thrown if not included)
+ return new jQuery.fn.init( selector, context );
+ },
+
+ // Support: Android <=4.0 only
+ // Make sure we trim BOM and NBSP
+ rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
+
+ // Matches dashed string for camelizing
+ rmsPrefix = /^-ms-/,
+ rdashAlpha = /-([a-z])/g,
+
+ // Used by jQuery.camelCase as callback to replace()
+ fcamelCase = function( all, letter ) {
+ return letter.toUpperCase();
+ };
+
+jQuery.fn = jQuery.prototype = {
+
+ // The current version of jQuery being used
+ jquery: version,
+
+ constructor: jQuery,
+
+ // The default length of a jQuery object is 0
+ length: 0,
+
+ toArray: function() {
+ return slice.call( this );
+ },
+
+ // Get the Nth element in the matched element set OR
+ // Get the whole matched element set as a clean array
+ get: function( num ) {
+
+ // Return all the elements in a clean array
+ if ( num == null ) {
+ return slice.call( this );
+ }
+
+ // Return just the one element from the set
+ return num < 0 ? this[ num + this.length ] : this[ num ];
+ },
+
+ // Take an array of elements and push it onto the stack
+ // (returning the new matched element set)
+ pushStack: function( elems ) {
+
+ // Build a new jQuery matched element set
+ var ret = jQuery.merge( this.constructor(), elems );
+
+ // Add the old object onto the stack (as a reference)
+ ret.prevObject = this;
+
+ // Return the newly-formed element set
+ return ret;
+ },
+
+ // Execute a callback for every element in the matched set.
+ each: function( callback ) {
+ return jQuery.each( this, callback );
+ },
+
+ map: function( callback ) {
+ return this.pushStack( jQuery.map( this, function( elem, i ) {
+ return callback.call( elem, i, elem );
+ } ) );
+ },
+
+ slice: function() {
+ return this.pushStack( slice.apply( this, arguments ) );
+ },
+
+ first: function() {
+ return this.eq( 0 );
+ },
+
+ last: function() {
+ return this.eq( -1 );
+ },
+
+ eq: function( i ) {
+ var len = this.length,
+ j = +i + ( i < 0 ? len : 0 );
+ return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
+ },
+
+ end: function() {
+ return this.prevObject || this.constructor();
+ },
+
+ // For internal use only.
+ // Behaves like an Array's method, not like a jQuery method.
+ push: push,
+ sort: arr.sort,
+ splice: arr.splice
+};
+
+jQuery.extend = jQuery.fn.extend = function() {
+ var options, name, src, copy, copyIsArray, clone,
+ target = arguments[ 0 ] || {},
+ i = 1,
+ length = arguments.length,
+ deep = false;
+
+ // Handle a deep copy situation
+ if ( typeof target === "boolean" ) {
+ deep = target;
+
+ // Skip the boolean and the target
+ target = arguments[ i ] || {};
+ i++;
+ }
+
+ // Handle case when target is a string or something (possible in deep copy)
+ if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
+ target = {};
+ }
+
+ // Extend jQuery itself if only one argument is passed
+ if ( i === length ) {
+ target = this;
+ i--;
+ }
+
+ for ( ; i < length; i++ ) {
+
+ // Only deal with non-null/undefined values
+ if ( ( options = arguments[ i ] ) != null ) {
+
+ // Extend the base object
+ for ( name in options ) {
+ src = target[ name ];
+ copy = options[ name ];
+
+ // Prevent never-ending loop
+ if ( target === copy ) {
+ continue;
+ }
+
+ // Recurse if we're merging plain objects or arrays
+ if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
+ ( copyIsArray = Array.isArray( copy ) ) ) ) {
+
+ if ( copyIsArray ) {
+ copyIsArray = false;
+ clone = src && Array.isArray( src ) ? src : [];
+
+ } else {
+ clone = src && jQuery.isPlainObject( src ) ? src : {};
+ }
+
+ // Never move original objects, clone them
+ target[ name ] = jQuery.extend( deep, clone, copy );
+
+ // Don't bring in undefined values
+ } else if ( copy !== undefined ) {
+ target[ name ] = copy;
+ }
+ }
+ }
+ }
+
+ // Return the modified object
+ return target;
+};
+
+jQuery.extend( {
+
+ // Unique for each copy of jQuery on the page
+ expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
+
+ // Assume jQuery is ready without the ready module
+ isReady: true,
+
+ error: function( msg ) {
+ throw new Error( msg );
+ },
+
+ noop: function() {},
+
+ isFunction: function( obj ) {
+ return jQuery.type( obj ) === "function";
+ },
+
+ isWindow: function( obj ) {
+ return obj != null && obj === obj.window;
+ },
+
+ isNumeric: function( obj ) {
+
+ // As of jQuery 3.0, isNumeric is limited to
+ // strings and numbers (primitives or objects)
+ // that can be coerced to finite numbers (gh-2662)
+ var type = jQuery.type( obj );
+ return ( type === "number" || type === "string" ) &&
+
+ // parseFloat NaNs numeric-cast false positives ("")
+ // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
+ // subtraction forces infinities to NaN
+ !isNaN( obj - parseFloat( obj ) );
+ },
+
+ isPlainObject: function( obj ) {
+ var proto, Ctor;
+
+ // Detect obvious negatives
+ // Use toString instead of jQuery.type to catch host objects
+ if ( !obj || toString.call( obj ) !== "[object Object]" ) {
+ return false;
+ }
+
+ proto = getProto( obj );
+
+ // Objects with no prototype (e.g., `Object.create( null )`) are plain
+ if ( !proto ) {
+ return true;
+ }
+
+ // Objects with prototype are plain iff they were constructed by a global Object function
+ Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
+ return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
+ },
+
+ isEmptyObject: function( obj ) {
+
+ /* eslint-disable no-unused-vars */
+ // See https://github.com/eslint/eslint/issues/6125
+ var name;
+
+ for ( name in obj ) {
+ return false;
+ }
+ return true;
+ },
+
+ type: function( obj ) {
+ if ( obj == null ) {
+ return obj + "";
+ }
+
+ // Support: Android <=2.3 only (functionish RegExp)
+ return typeof obj === "object" || typeof obj === "function" ?
+ class2type[ toString.call( obj ) ] || "object" :
+ typeof obj;
+ },
+
+ // Evaluates a script in a global context
+ globalEval: function( code ) {
+ DOMEval( code );
+ },
+
+ // Convert dashed to camelCase; used by the css and data modules
+ // Support: IE <=9 - 11, Edge 12 - 13
+ // Microsoft forgot to hump their vendor prefix (#9572)
+ camelCase: function( string ) {
+ return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+ },
+
+ each: function( obj, callback ) {
+ var length, i = 0;
+
+ if ( isArrayLike( obj ) ) {
+ length = obj.length;
+ for ( ; i < length; i++ ) {
+ if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+ break;
+ }
+ }
+ } else {
+ for ( i in obj ) {
+ if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+ break;
+ }
+ }
+ }
+
+ return obj;
+ },
+
+ // Support: Android <=4.0 only
+ trim: function( text ) {
+ return text == null ?
+ "" :
+ ( text + "" ).replace( rtrim, "" );
+ },
+
+ // results is for internal usage only
+ makeArray: function( arr, results ) {
+ var ret = results || [];
+
+ if ( arr != null ) {
+ if ( isArrayLike( Object( arr ) ) ) {
+ jQuery.merge( ret,
+ typeof arr === "string" ?
+ [ arr ] : arr
+ );
+ } else {
+ push.call( ret, arr );
+ }
+ }
+
+ return ret;
+ },
+
+ inArray: function( elem, arr, i ) {
+ return arr == null ? -1 : indexOf.call( arr, elem, i );
+ },
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ merge: function( first, second ) {
+ var len = +second.length,
+ j = 0,
+ i = first.length;
+
+ for ( ; j < len; j++ ) {
+ first[ i++ ] = second[ j ];
+ }
+
+ first.length = i;
+
+ return first;
+ },
+
+ grep: function( elems, callback, invert ) {
+ var callbackInverse,
+ matches = [],
+ i = 0,
+ length = elems.length,
+ callbackExpect = !invert;
+
+ // Go through the array, only saving the items
+ // that pass the validator function
+ for ( ; i < length; i++ ) {
+ callbackInverse = !callback( elems[ i ], i );
+ if ( callbackInverse !== callbackExpect ) {
+ matches.push( elems[ i ] );
+ }
+ }
+
+ return matches;
+ },
+
+ // arg is for internal usage only
+ map: function( elems, callback, arg ) {
+ var length, value,
+ i = 0,
+ ret = [];
+
+ // Go through the array, translating each of the items to their new values
+ if ( isArrayLike( elems ) ) {
+ length = elems.length;
+ for ( ; i < length; i++ ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret.push( value );
+ }
+ }
+
+ // Go through every key on the object,
+ } else {
+ for ( i in elems ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret.push( value );
+ }
+ }
+ }
+
+ // Flatten any nested arrays
+ return concat.apply( [], ret );
+ },
+
+ // A global GUID counter for objects
+ guid: 1,
+
+ // Bind a function to a context, optionally partially applying any
+ // arguments.
+ proxy: function( fn, context ) {
+ var tmp, args, proxy;
+
+ if ( typeof context === "string" ) {
+ tmp = fn[ context ];
+ context = fn;
+ fn = tmp;
+ }
+
+ // Quick check to determine if target is callable, in the spec
+ // this throws a TypeError, but we will just return undefined.
+ if ( !jQuery.isFunction( fn ) ) {
+ return undefined;
+ }
+
+ // Simulated bind
+ args = slice.call( arguments, 2 );
+ proxy = function() {
+ return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
+ };
+
+ // Set the guid of unique handler to the same of original handler, so it can be removed
+ proxy.guid = fn.guid = fn.guid || jQuery.guid++;
+
+ return proxy;
+ },
+
+ now: Date.now,
+
+ // jQuery.support is not used in Core but other projects attach their
+ // properties to it so it needs to exist.
+ support: support
+} );
+
+if ( typeof Symbol === "function" ) {
+ jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
+}
+
+// Populate the class2type map
+jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
+function( i, name ) {
+ class2type[ "[object " + name + "]" ] = name.toLowerCase();
+} );
+
+function isArrayLike( obj ) {
+
+ // Support: real iOS 8.2 only (not reproducible in simulator)
+ // `in` check used to prevent JIT error (gh-2145)
+ // hasOwn isn't used here due to false negatives
+ // regarding Nodelist length in IE
+ var length = !!obj && "length" in obj && obj.length,
+ type = jQuery.type( obj );
+
+ if ( type === "function" || jQuery.isWindow( obj ) ) {
+ return false;
+ }
+
+ return type === "array" || length === 0 ||
+ typeof length === "number" && length > 0 && ( length - 1 ) in obj;
+}
+var Sizzle =
+/*!
+ * Sizzle CSS Selector Engine v2.3.3
+ * https://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2016-08-08
+ */
+(function( window ) {
+
+var i,
+ support,
+ Expr,
+ getText,
+ isXML,
+ tokenize,
+ compile,
+ select,
+ outermostContext,
+ sortInput,
+ hasDuplicate,
+
+ // Local document vars
+ setDocument,
+ document,
+ docElem,
+ documentIsHTML,
+ rbuggyQSA,
+ rbuggyMatches,
+ matches,
+ contains,
+
+ // Instance-specific data
+ expando = "sizzle" + 1 * new Date(),
+ preferredDoc = window.document,
+ dirruns = 0,
+ done = 0,
+ classCache = createCache(),
+ tokenCache = createCache(),
+ compilerCache = createCache(),
+ sortOrder = function( a, b ) {
+ if ( a === b ) {
+ hasDuplicate = true;
+ }
+ return 0;
+ },
+
+ // Instance methods
+ hasOwn = ({}).hasOwnProperty,
+ arr = [],
+ pop = arr.pop,
+ push_native = arr.push,
+ push = arr.push,
+ slice = arr.slice,
+ // Use a stripped-down indexOf as it's faster than native
+ // https://jsperf.com/thor-indexof-vs-for/5
+ indexOf = function( list, elem ) {
+ var i = 0,
+ len = list.length;
+ for ( ; i < len; i++ ) {
+ if ( list[i] === elem ) {
+ return i;
+ }
+ }
+ return -1;
+ },
+
+ booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
+
+ // Regular expressions
+
+ // http://www.w3.org/TR/css3-selectors/#whitespace
+ whitespace = "[\\x20\\t\\r\\n\\f]",
+
+ // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+ identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
+
+ // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
+ attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
+ // Operator (capture 2)
+ "*([*^$|!~]?=)" + whitespace +
+ // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
+ "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
+ "*\\]",
+
+ pseudos = ":(" + identifier + ")(?:\\((" +
+ // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
+ // 1. quoted (capture 3; capture 4 or capture 5)
+ "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+ // 2. simple (capture 6)
+ "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+ // 3. anything else (capture 2)
+ ".*" +
+ ")\\)|)",
+
+ // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
+ rwhitespace = new RegExp( whitespace + "+", "g" ),
+ rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
+
+ rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
+ rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
+
+ rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
+
+ rpseudo = new RegExp( pseudos ),
+ ridentifier = new RegExp( "^" + identifier + "$" ),
+
+ matchExpr = {
+ "ID": new RegExp( "^#(" + identifier + ")" ),
+ "CLASS": new RegExp( "^\\.(" + identifier + ")" ),
+ "TAG": new RegExp( "^(" + identifier + "|[*])" ),
+ "ATTR": new RegExp( "^" + attributes ),
+ "PSEUDO": new RegExp( "^" + pseudos ),
+ "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
+ "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
+ "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+ "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+ // For use in libraries implementing .is()
+ // We use this for POS matching in `select`
+ "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
+ whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
+ },
+
+ rinputs = /^(?:input|select|textarea|button)$/i,
+ rheader = /^h\d$/i,
+
+ rnative = /^[^{]+\{\s*\[native \w/,
+
+ // Easily-parseable/retrievable ID or TAG or CLASS selectors
+ rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+
+ rsibling = /[+~]/,
+
+ // CSS escapes
+ // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+ runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
+ funescape = function( _, escaped, escapedWhitespace ) {
+ var high = "0x" + escaped - 0x10000;
+ // NaN means non-codepoint
+ // Support: Firefox<24
+ // Workaround erroneous numeric interpretation of +"0x"
+ return high !== high || escapedWhitespace ?
+ escaped :
+ high < 0 ?
+ // BMP codepoint
+ String.fromCharCode( high + 0x10000 ) :
+ // Supplemental Plane codepoint (surrogate pair)
+ String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
+ },
+
+ // CSS string/identifier serialization
+ // https://drafts.csswg.org/cssom/#common-serializing-idioms
+ rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
+ fcssescape = function( ch, asCodePoint ) {
+ if ( asCodePoint ) {
+
+ // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
+ if ( ch === "\0" ) {
+ return "\uFFFD";
+ }
+
+ // Control characters and (dependent upon position) numbers get escaped as code points
+ return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
+ }
+
+ // Other potentially-special ASCII characters get backslash-escaped
+ return "\\" + ch;
+ },
+
+ // Used for iframes
+ // See setDocument()
+ // Removing the function wrapper causes a "Permission Denied"
+ // error in IE
+ unloadHandler = function() {
+ setDocument();
+ },
+
+ disabledAncestor = addCombinator(
+ function( elem ) {
+ return elem.disabled === true && ("form" in elem || "label" in elem);
+ },
+ { dir: "parentNode", next: "legend" }
+ );
+
+// Optimize for push.apply( _, NodeList )
+try {
+ push.apply(
+ (arr = slice.call( preferredDoc.childNodes )),
+ preferredDoc.childNodes
+ );
+ // Support: Android<4.0
+ // Detect silently failing push.apply
+ arr[ preferredDoc.childNodes.length ].nodeType;
+} catch ( e ) {
+ push = { apply: arr.length ?
+
+ // Leverage slice if possible
+ function( target, els ) {
+ push_native.apply( target, slice.call(els) );
+ } :
+
+ // Support: IE<9
+ // Otherwise append directly
+ function( target, els ) {
+ var j = target.length,
+ i = 0;
+ // Can't trust NodeList.length
+ while ( (target[j++] = els[i++]) ) {}
+ target.length = j - 1;
+ }
+ };
+}
+
+function Sizzle( selector, context, results, seed ) {
+ var m, i, elem, nid, match, groups, newSelector,
+ newContext = context && context.ownerDocument,
+
+ // nodeType defaults to 9, since context defaults to document
+ nodeType = context ? context.nodeType : 9;
+
+ results = results || [];
+
+ // Return early from calls with invalid selector or context
+ if ( typeof selector !== "string" || !selector ||
+ nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
+
+ return results;
+ }
+
+ // Try to shortcut find operations (as opposed to filters) in HTML documents
+ if ( !seed ) {
+
+ if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
+ setDocument( context );
+ }
+ context = context || document;
+
+ if ( documentIsHTML ) {
+
+ // If the selector is sufficiently simple, try using a "get*By*" DOM method
+ // (excepting DocumentFragment context, where the methods don't exist)
+ if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
+
+ // ID selector
+ if ( (m = match[1]) ) {
+
+ // Document context
+ if ( nodeType === 9 ) {
+ if ( (elem = context.getElementById( m )) ) {
+
+ // Support: IE, Opera, Webkit
+ // TODO: identify versions
+ // getElementById can match elements by name instead of ID
+ if ( elem.id === m ) {
+ results.push( elem );
+ return results;
+ }
+ } else {
+ return results;
+ }
+
+ // Element context
+ } else {
+
+ // Support: IE, Opera, Webkit
+ // TODO: identify versions
+ // getElementById can match elements by name instead of ID
+ if ( newContext && (elem = newContext.getElementById( m )) &&
+ contains( context, elem ) &&
+ elem.id === m ) {
+
+ results.push( elem );
+ return results;
+ }
+ }
+
+ // Type selector
+ } else if ( match[2] ) {
+ push.apply( results, context.getElementsByTagName( selector ) );
+ return results;
+
+ // Class selector
+ } else if ( (m = match[3]) && support.getElementsByClassName &&
+ context.getElementsByClassName ) {
+
+ push.apply( results, context.getElementsByClassName( m ) );
+ return results;
+ }
+ }
+
+ // Take advantage of querySelectorAll
+ if ( support.qsa &&
+ !compilerCache[ selector + " " ] &&
+ (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
+
+ if ( nodeType !== 1 ) {
+ newContext = context;
+ newSelector = selector;
+
+ // qSA looks outside Element context, which is not what we want
+ // Thanks to Andrew Dupont for this workaround technique
+ // Support: IE <=8
+ // Exclude object elements
+ } else if ( context.nodeName.toLowerCase() !== "object" ) {
+
+ // Capture the context ID, setting it first if necessary
+ if ( (nid = context.getAttribute( "id" )) ) {
+ nid = nid.replace( rcssescape, fcssescape );
+ } else {
+ context.setAttribute( "id", (nid = expando) );
+ }
+
+ // Prefix every selector in the list
+ groups = tokenize( selector );
+ i = groups.length;
+ while ( i-- ) {
+ groups[i] = "#" + nid + " " + toSelector( groups[i] );
+ }
+ newSelector = groups.join( "," );
+
+ // Expand context for sibling selectors
+ newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
+ context;
+ }
+
+ if ( newSelector ) {
+ try {
+ push.apply( results,
+ newContext.querySelectorAll( newSelector )
+ );
+ return results;
+ } catch ( qsaError ) {
+ } finally {
+ if ( nid === expando ) {
+ context.removeAttribute( "id" );
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // All others
+ return select( selector.replace( rtrim, "$1" ), context, results, seed );
+}
+
+/**
+ * Create key-value caches of limited size
+ * @returns {function(string, object)} Returns the Object data after storing it on itself with
+ * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
+ * deleting the oldest entry
+ */
+function createCache() {
+ var keys = [];
+
+ function cache( key, value ) {
+ // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+ if ( keys.push( key + " " ) > Expr.cacheLength ) {
+ // Only keep the most recent entries
+ delete cache[ keys.shift() ];
+ }
+ return (cache[ key + " " ] = value);
+ }
+ return cache;
+}
+
+/**
+ * Mark a function for special use by Sizzle
+ * @param {Function} fn The function to mark
+ */
+function markFunction( fn ) {
+ fn[ expando ] = true;
+ return fn;
+}
+
+/**
+ * Support testing using an element
+ * @param {Function} fn Passed the created element and returns a boolean result
+ */
+function assert( fn ) {
+ var el = document.createElement("fieldset");
+
+ try {
+ return !!fn( el );
+ } catch (e) {
+ return false;
+ } finally {
+ // Remove from its parent by default
+ if ( el.parentNode ) {
+ el.parentNode.removeChild( el );
+ }
+ // release memory in IE
+ el = null;
+ }
+}
+
+/**
+ * Adds the same handler for all of the specified attrs
+ * @param {String} attrs Pipe-separated list of attributes
+ * @param {Function} handler The method that will be applied
+ */
+function addHandle( attrs, handler ) {
+ var arr = attrs.split("|"),
+ i = arr.length;
+
+ while ( i-- ) {
+ Expr.attrHandle[ arr[i] ] = handler;
+ }
+}
+
+/**
+ * Checks document order of two siblings
+ * @param {Element} a
+ * @param {Element} b
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
+ */
+function siblingCheck( a, b ) {
+ var cur = b && a,
+ diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
+ a.sourceIndex - b.sourceIndex;
+
+ // Use IE sourceIndex if available on both nodes
+ if ( diff ) {
+ return diff;
+ }
+
+ // Check if b follows a
+ if ( cur ) {
+ while ( (cur = cur.nextSibling) ) {
+ if ( cur === b ) {
+ return -1;
+ }
+ }
+ }
+
+ return a ? 1 : -1;
+}
+
+/**
+ * Returns a function to use in pseudos for input types
+ * @param {String} type
+ */
+function createInputPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for buttons
+ * @param {String} type
+ */
+function createButtonPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return (name === "input" || name === "button") && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for :enabled/:disabled
+ * @param {Boolean} disabled true for :disabled; false for :enabled
+ */
+function createDisabledPseudo( disabled ) {
+
+ // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
+ return function( elem ) {
+
+ // Only certain elements can match :enabled or :disabled
+ // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
+ // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
+ if ( "form" in elem ) {
+
+ // Check for inherited disabledness on relevant non-disabled elements:
+ // * listed form-associated elements in a disabled fieldset
+ // https://html.spec.whatwg.org/multipage/forms.html#category-listed
+ // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
+ // * option elements in a disabled optgroup
+ // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
+ // All such elements have a "form" property.
+ if ( elem.parentNode && elem.disabled === false ) {
+
+ // Option elements defer to a parent optgroup if present
+ if ( "label" in elem ) {
+ if ( "label" in elem.parentNode ) {
+ return elem.parentNode.disabled === disabled;
+ } else {
+ return elem.disabled === disabled;
+ }
+ }
+
+ // Support: IE 6 - 11
+ // Use the isDisabled shortcut property to check for disabled fieldset ancestors
+ return elem.isDisabled === disabled ||
+
+ // Where there is no isDisabled, check manually
+ /* jshint -W018 */
+ elem.isDisabled !== !disabled &&
+ disabledAncestor( elem ) === disabled;
+ }
+
+ return elem.disabled === disabled;
+
+ // Try to winnow out elements that can't be disabled before trusting the disabled property.
+ // Some victims get caught in our net (label, legend, menu, track), but it shouldn't
+ // even exist on them, let alone have a boolean value.
+ } else if ( "label" in elem ) {
+ return elem.disabled === disabled;
+ }
+
+ // Remaining elements are neither :enabled nor :disabled
+ return false;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for positionals
+ * @param {Function} fn
+ */
+function createPositionalPseudo( fn ) {
+ return markFunction(function( argument ) {
+ argument = +argument;
+ return markFunction(function( seed, matches ) {
+ var j,
+ matchIndexes = fn( [], seed.length, argument ),
+ i = matchIndexes.length;
+
+ // Match elements found at the specified indexes
+ while ( i-- ) {
+ if ( seed[ (j = matchIndexes[i]) ] ) {
+ seed[j] = !(matches[j] = seed[j]);
+ }
+ }
+ });
+ });
+}
+
+/**
+ * Checks a node for validity as a Sizzle context
+ * @param {Element|Object=} context
+ * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
+ */
+function testContext( context ) {
+ return context && typeof context.getElementsByTagName !== "undefined" && context;
+}
+
+// Expose support vars for convenience
+support = Sizzle.support = {};
+
+/**
+ * Detects XML nodes
+ * @param {Element|Object} elem An element or a document
+ * @returns {Boolean} True iff elem is a non-HTML XML node
+ */
+isXML = Sizzle.isXML = function( elem ) {
+ // documentElement is verified for cases where it doesn't yet exist
+ // (such as loading iframes in IE - #4833)
+ var documentElement = elem && (elem.ownerDocument || elem).documentElement;
+ return documentElement ? documentElement.nodeName !== "HTML" : false;
+};
+
+/**
+ * Sets document-related variables once based on the current document
+ * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @returns {Object} Returns the current document
+ */
+setDocument = Sizzle.setDocument = function( node ) {
+ var hasCompare, subWindow,
+ doc = node ? node.ownerDocument || node : preferredDoc;
+
+ // Return early if doc is invalid or already selected
+ if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+ return document;
+ }
+
+ // Update global variables
+ document = doc;
+ docElem = document.documentElement;
+ documentIsHTML = !isXML( document );
+
+ // Support: IE 9-11, Edge
+ // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
+ if ( preferredDoc !== document &&
+ (subWindow = document.defaultView) && subWindow.top !== subWindow ) {
+
+ // Support: IE 11, Edge
+ if ( subWindow.addEventListener ) {
+ subWindow.addEventListener( "unload", unloadHandler, false );
+
+ // Support: IE 9 - 10 only
+ } else if ( subWindow.attachEvent ) {
+ subWindow.attachEvent( "onunload", unloadHandler );
+ }
+ }
+
+ /* Attributes
+ ---------------------------------------------------------------------- */
+
+ // Support: IE<8
+ // Verify that getAttribute really returns attributes and not properties
+ // (excepting IE8 booleans)
+ support.attributes = assert(function( el ) {
+ el.className = "i";
+ return !el.getAttribute("className");
+ });
+
+ /* getElement(s)By*
+ ---------------------------------------------------------------------- */
+
+ // Check if getElementsByTagName("*") returns only elements
+ support.getElementsByTagName = assert(function( el ) {
+ el.appendChild( document.createComment("") );
+ return !el.getElementsByTagName("*").length;
+ });
+
+ // Support: IE<9
+ support.getElementsByClassName = rnative.test( document.getElementsByClassName );
+
+ // Support: IE<10
+ // Check if getElementById returns elements by name
+ // The broken getElementById methods don't pick up programmatically-set names,
+ // so use a roundabout getElementsByName test
+ support.getById = assert(function( el ) {
+ docElem.appendChild( el ).id = expando;
+ return !document.getElementsByName || !document.getElementsByName( expando ).length;
+ });
+
+ // ID filter and find
+ if ( support.getById ) {
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ return elem.getAttribute("id") === attrId;
+ };
+ };
+ Expr.find["ID"] = function( id, context ) {
+ if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+ var elem = context.getElementById( id );
+ return elem ? [ elem ] : [];
+ }
+ };
+ } else {
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ var node = typeof elem.getAttributeNode !== "undefined" &&
+ elem.getAttributeNode("id");
+ return node && node.value === attrId;
+ };
+ };
+
+ // Support: IE 6 - 7 only
+ // getElementById is not reliable as a find shortcut
+ Expr.find["ID"] = function( id, context ) {
+ if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+ var node, i, elems,
+ elem = context.getElementById( id );
+
+ if ( elem ) {
+
+ // Verify the id attribute
+ node = elem.getAttributeNode("id");
+ if ( node && node.value === id ) {
+ return [ elem ];
+ }
+
+ // Fall back on getElementsByName
+ elems = context.getElementsByName( id );
+ i = 0;
+ while ( (elem = elems[i++]) ) {
+ node = elem.getAttributeNode("id");
+ if ( node && node.value === id ) {
+ return [ elem ];
+ }
+ }
+ }
+
+ return [];
+ }
+ };
+ }
+
+ // Tag
+ Expr.find["TAG"] = support.getElementsByTagName ?
+ function( tag, context ) {
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
+ return context.getElementsByTagName( tag );
+
+ // DocumentFragment nodes don't have gEBTN
+ } else if ( support.qsa ) {
+ return context.querySelectorAll( tag );
+ }
+ } :
+
+ function( tag, context ) {
+ var elem,
+ tmp = [],
+ i = 0,
+ // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
+ results = context.getElementsByTagName( tag );
+
+ // Filter out possible comments
+ if ( tag === "*" ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem.nodeType === 1 ) {
+ tmp.push( elem );
+ }
+ }
+
+ return tmp;
+ }
+ return results;
+ };
+
+ // Class
+ Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+ if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
+ return context.getElementsByClassName( className );
+ }
+ };
+
+ /* QSA/matchesSelector
+ ---------------------------------------------------------------------- */
+
+ // QSA and matchesSelector support
+
+ // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+ rbuggyMatches = [];
+
+ // qSa(:focus) reports false when true (Chrome 21)
+ // We allow this because of a bug in IE8/9 that throws an error
+ // whenever `document.activeElement` is accessed on an iframe
+ // So, we allow :focus to pass through QSA all the time to avoid the IE error
+ // See https://bugs.jquery.com/ticket/13378
+ rbuggyQSA = [];
+
+ if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
+ // Build QSA regex
+ // Regex strategy adopted from Diego Perini
+ assert(function( el ) {
+ // Select is set to empty string on purpose
+ // This is to test IE's treatment of not explicitly
+ // setting a boolean content attribute,
+ // since its presence should be enough
+ // https://bugs.jquery.com/ticket/12359
+ docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
+ "<select id='" + expando + "-\r\\' msallowcapture=''>" +
+ "<option selected=''></option></select>";
+
+ // Support: IE8, Opera 11-12.16
+ // Nothing should be selected when empty strings follow ^= or $= or *=
+ // The test attribute must be unknown in Opera but "safe" for WinRT
+ // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
+ if ( el.querySelectorAll("[msallowcapture^='']").length ) {
+ rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
+ }
+
+ // Support: IE8
+ // Boolean attributes and "value" are not treated correctly
+ if ( !el.querySelectorAll("[selected]").length ) {
+ rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+ }
+
+ // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
+ if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
+ rbuggyQSA.push("~=");
+ }
+
+ // Webkit/Opera - :checked should return selected option elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ // IE8 throws error here and will not see later tests
+ if ( !el.querySelectorAll(":checked").length ) {
+ rbuggyQSA.push(":checked");
+ }
+
+ // Support: Safari 8+, iOS 8+
+ // https://bugs.webkit.org/show_bug.cgi?id=136851
+ // In-page `selector#id sibling-combinator selector` fails
+ if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
+ rbuggyQSA.push(".#.+[+~]");
+ }
+ });
+
+ assert(function( el ) {
+ el.innerHTML = "<a href='' disabled='disabled'></a>" +
+ "<select disabled='disabled'><option/></select>";
+
+ // Support: Windows 8 Native Apps
+ // The type and name attributes are restricted during .innerHTML assignment
+ var input = document.createElement("input");
+ input.setAttribute( "type", "hidden" );
+ el.appendChild( input ).setAttribute( "name", "D" );
+
+ // Support: IE8
+ // Enforce case-sensitivity of name attribute
+ if ( el.querySelectorAll("[name=d]").length ) {
+ rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
+ }
+
+ // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+ // IE8 throws error here and will not see later tests
+ if ( el.querySelectorAll(":enabled").length !== 2 ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Support: IE9-11+
+ // IE's :disabled selector does not pick up the children of disabled fieldsets
+ docElem.appendChild( el ).disabled = true;
+ if ( el.querySelectorAll(":disabled").length !== 2 ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Opera 10-11 does not throw on post-comma invalid pseudos
+ el.querySelectorAll("*,:x");
+ rbuggyQSA.push(",.*:");
+ });
+ }
+
+ if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
+ docElem.webkitMatchesSelector ||
+ docElem.mozMatchesSelector ||
+ docElem.oMatchesSelector ||
+ docElem.msMatchesSelector) )) ) {
+
+ assert(function( el ) {
+ // Check to see if it's possible to do matchesSelector
+ // on a disconnected node (IE 9)
+ support.disconnectedMatch = matches.call( el, "*" );
+
+ // This should fail with an exception
+ // Gecko does not error, returns false instead
+ matches.call( el, "[s!='']:x" );
+ rbuggyMatches.push( "!=", pseudos );
+ });
+ }
+
+ rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
+ rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+
+ /* Contains
+ ---------------------------------------------------------------------- */
+ hasCompare = rnative.test( docElem.compareDocumentPosition );
+
+ // Element contains another
+ // Purposefully self-exclusive
+ // As in, an element does not contain itself
+ contains = hasCompare || rnative.test( docElem.contains ) ?
+ function( a, b ) {
+ var adown = a.nodeType === 9 ? a.documentElement : a,
+ bup = b && b.parentNode;
+ return a === bup || !!( bup && bup.nodeType === 1 && (
+ adown.contains ?
+ adown.contains( bup ) :
+ a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+ ));
+ } :
+ function( a, b ) {
+ if ( b ) {
+ while ( (b = b.parentNode) ) {
+ if ( b === a ) {
+ return true;
+ }
+ }
+ }
+ return false;
+ };
+
+ /* Sorting
+ ---------------------------------------------------------------------- */
+
+ // Document order sorting
+ sortOrder = hasCompare ?
+ function( a, b ) {
+
+ // Flag for duplicate removal
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ // Sort on method existence if only one input has compareDocumentPosition
+ var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
+ if ( compare ) {
+ return compare;
+ }
+
+ // Calculate position if both inputs belong to the same document
+ compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+ a.compareDocumentPosition( b ) :
+
+ // Otherwise we know they are disconnected
+ 1;
+
+ // Disconnected nodes
+ if ( compare & 1 ||
+ (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+
+ // Choose the first element that is related to our preferred document
+ if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
+ return -1;
+ }
+ if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
+ return 1;
+ }
+
+ // Maintain original order
+ return sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+ }
+
+ return compare & 4 ? -1 : 1;
+ } :
+ function( a, b ) {
+ // Exit early if the nodes are identical
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ var cur,
+ i = 0,
+ aup = a.parentNode,
+ bup = b.parentNode,
+ ap = [ a ],
+ bp = [ b ];
+
+ // Parentless nodes are either documents or disconnected
+ if ( !aup || !bup ) {
+ return a === document ? -1 :
+ b === document ? 1 :
+ aup ? -1 :
+ bup ? 1 :
+ sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+
+ // If the nodes are siblings, we can do a quick check
+ } else if ( aup === bup ) {
+ return siblingCheck( a, b );
+ }
+
+ // Otherwise we need full lists of their ancestors for comparison
+ cur = a;
+ while ( (cur = cur.parentNode) ) {
+ ap.unshift( cur );
+ }
+ cur = b;
+ while ( (cur = cur.parentNode) ) {
+ bp.unshift( cur );
+ }
+
+ // Walk down the tree looking for a discrepancy
+ while ( ap[i] === bp[i] ) {
+ i++;
+ }
+
+ return i ?
+ // Do a sibling check if the nodes have a common ancestor
+ siblingCheck( ap[i], bp[i] ) :
+
+ // Otherwise nodes in our document sort first
+ ap[i] === preferredDoc ? -1 :
+ bp[i] === preferredDoc ? 1 :
+ 0;
+ };
+
+ return document;
+};
+
+Sizzle.matches = function( expr, elements ) {
+ return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ // Make sure that attribute selectors are quoted
+ expr = expr.replace( rattributeQuotes, "='$1']" );
+
+ if ( support.matchesSelector && documentIsHTML &&
+ !compilerCache[ expr + " " ] &&
+ ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
+ ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
+
+ try {
+ var ret = matches.call( elem, expr );
+
+ // IE 9's matchesSelector returns false on disconnected nodes
+ if ( ret || support.disconnectedMatch ||
+ // As well, disconnected nodes are said to be in a document
+ // fragment in IE 9
+ elem.document && elem.document.nodeType !== 11 ) {
+ return ret;
+ }
+ } catch (e) {}
+ }
+
+ return Sizzle( expr, document, null, [ elem ] ).length > 0;
+};
+
+Sizzle.contains = function( context, elem ) {
+ // Set document vars if needed
+ if ( ( context.ownerDocument || context ) !== document ) {
+ setDocument( context );
+ }
+ return contains( context, elem );
+};
+
+Sizzle.attr = function( elem, name ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ var fn = Expr.attrHandle[ name.toLowerCase() ],
+ // Don't get fooled by Object.prototype properties (jQuery #13807)
+ val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
+ fn( elem, name, !documentIsHTML ) :
+ undefined;
+
+ return val !== undefined ?
+ val :
+ support.attributes || !documentIsHTML ?
+ elem.getAttribute( name ) :
+ (val = elem.getAttributeNode(name)) && val.specified ?
+ val.value :
+ null;
+};
+
+Sizzle.escape = function( sel ) {
+ return (sel + "").replace( rcssescape, fcssescape );
+};
+
+Sizzle.error = function( msg ) {
+ throw new Error( "Syntax error, unrecognized expression: " + msg );
+};
+
+/**
+ * Document sorting and removing duplicates
+ * @param {ArrayLike} results
+ */
+Sizzle.uniqueSort = function( results ) {
+ var elem,
+ duplicates = [],
+ j = 0,
+ i = 0;
+
+ // Unless we *know* we can detect duplicates, assume their presence
+ hasDuplicate = !support.detectDuplicates;
+ sortInput = !support.sortStable && results.slice( 0 );
+ results.sort( sortOrder );
+
+ if ( hasDuplicate ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem === results[ i ] ) {
+ j = duplicates.push( i );
+ }
+ }
+ while ( j-- ) {
+ results.splice( duplicates[ j ], 1 );
+ }
+ }
+
+ // Clear input after sorting to release objects
+ // See https://github.com/jquery/sizzle/pull/225
+ sortInput = null;
+
+ return results;
+};
+
+/**
+ * Utility function for retrieving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+getText = Sizzle.getText = function( elem ) {
+ var node,
+ ret = "",
+ i = 0,
+ nodeType = elem.nodeType;
+
+ if ( !nodeType ) {
+ // If no nodeType, this is expected to be an array
+ while ( (node = elem[i++]) ) {
+ // Do not traverse comment nodes
+ ret += getText( node );
+ }
+ } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+ // Use textContent for elements
+ // innerText usage removed for consistency of new lines (jQuery #11153)
+ if ( typeof elem.textContent === "string" ) {
+ return elem.textContent;
+ } else {
+ // Traverse its children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ ret += getText( elem );
+ }
+ }
+ } else if ( nodeType === 3 || nodeType === 4 ) {
+ return elem.nodeValue;
+ }
+ // Do not include comment or processing instruction nodes
+
+ return ret;
+};
+
+Expr = Sizzle.selectors = {
+
+ // Can be adjusted by the user
+ cacheLength: 50,
+
+ createPseudo: markFunction,
+
+ match: matchExpr,
+
+ attrHandle: {},
+
+ find: {},
+
+ relative: {
+ ">": { dir: "parentNode", first: true },
+ " ": { dir: "parentNode" },
+ "+": { dir: "previousSibling", first: true },
+ "~": { dir: "previousSibling" }
+ },
+
+ preFilter: {
+ "ATTR": function( match ) {
+ match[1] = match[1].replace( runescape, funescape );
+
+ // Move the given value to match[3] whether quoted or unquoted
+ match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
+
+ if ( match[2] === "~=" ) {
+ match[3] = " " + match[3] + " ";
+ }
+
+ return match.slice( 0, 4 );
+ },
+
+ "CHILD": function( match ) {
+ /* matches from matchExpr["CHILD"]
+ 1 type (only|nth|...)
+ 2 what (child|of-type)
+ 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+ 4 xn-component of xn+y argument ([+-]?\d*n|)
+ 5 sign of xn-component
+ 6 x of xn-component
+ 7 sign of y-component
+ 8 y of y-component
+ */
+ match[1] = match[1].toLowerCase();
+
+ if ( match[1].slice( 0, 3 ) === "nth" ) {
+ // nth-* requires argument
+ if ( !match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ // numeric x and y parameters for Expr.filter.CHILD
+ // remember that false/true cast respectively to 0/1
+ match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
+ match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+
+ // other types prohibit arguments
+ } else if ( match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ return match;
+ },
+
+ "PSEUDO": function( match ) {
+ var excess,
+ unquoted = !match[6] && match[2];
+
+ if ( matchExpr["CHILD"].test( match[0] ) ) {
+ return null;
+ }
+
+ // Accept quoted arguments as-is
+ if ( match[3] ) {
+ match[2] = match[4] || match[5] || "";
+
+ // Strip excess characters from unquoted arguments
+ } else if ( unquoted && rpseudo.test( unquoted ) &&
+ // Get excess from tokenize (recursively)
+ (excess = tokenize( unquoted, true )) &&
+ // advance to the next closing parenthesis
+ (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+
+ // excess is a negative index
+ match[0] = match[0].slice( 0, excess );
+ match[2] = unquoted.slice( 0, excess );
+ }
+
+ // Return only captures needed by the pseudo filter method (type and argument)
+ return match.slice( 0, 3 );
+ }
+ },
+
+ filter: {
+
+ "TAG": function( nodeNameSelector ) {
+ var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+ return nodeNameSelector === "*" ?
+ function() { return true; } :
+ function( elem ) {
+ return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
+ };
+ },
+
+ "CLASS": function( className ) {
+ var pattern = classCache[ className + " " ];
+
+ return pattern ||
+ (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
+ classCache( className, function( elem ) {
+ return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
+ });
+ },
+
+ "ATTR": function( name, operator, check ) {
+ return function( elem ) {
+ var result = Sizzle.attr( elem, name );
+
+ if ( result == null ) {
+ return operator === "!=";
+ }
+ if ( !operator ) {
+ return true;
+ }
+
+ result += "";
+
+ return operator === "=" ? result === check :
+ operator === "!=" ? result !== check :
+ operator === "^=" ? check && result.indexOf( check ) === 0 :
+ operator === "*=" ? check && result.indexOf( check ) > -1 :
+ operator === "$=" ? check && result.slice( -check.length ) === check :
+ operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
+ operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
+ false;
+ };
+ },
+
+ "CHILD": function( type, what, argument, first, last ) {
+ var simple = type.slice( 0, 3 ) !== "nth",
+ forward = type.slice( -4 ) !== "last",
+ ofType = what === "of-type";
+
+ return first === 1 && last === 0 ?
+
+ // Shortcut for :nth-*(n)
+ function( elem ) {
+ return !!elem.parentNode;
+ } :
+
+ function( elem, context, xml ) {
+ var cache, uniqueCache, outerCache, node, nodeIndex, start,
+ dir = simple !== forward ? "nextSibling" : "previousSibling",
+ parent = elem.parentNode,
+ name = ofType && elem.nodeName.toLowerCase(),
+ useCache = !xml && !ofType,
+ diff = false;
+
+ if ( parent ) {
+
+ // :(first|last|only)-(child|of-type)
+ if ( simple ) {
+ while ( dir ) {
+ node = elem;
+ while ( (node = node[ dir ]) ) {
+ if ( ofType ?
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1 ) {
+
+ return false;
+ }
+ }
+ // Reverse direction for :only-* (if we haven't yet done so)
+ start = dir = type === "only" && !start && "nextSibling";
+ }
+ return true;
+ }
+
+ start = [ forward ? parent.firstChild : parent.lastChild ];
+
+ // non-xml :nth-child(...) stores cache data on `parent`
+ if ( forward && useCache ) {
+
+ // Seek `elem` from a previously-cached index
+
+ // ...in a gzip-friendly way
+ node = parent;
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ cache = uniqueCache[ type ] || [];
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+ diff = nodeIndex && cache[ 2 ];
+ node = nodeIndex && parent.childNodes[ nodeIndex ];
+
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+
+ // Fallback to seeking `elem` from the start
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ // When found, cache indexes on `parent` and break
+ if ( node.nodeType === 1 && ++diff && node === elem ) {
+ uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
+ break;
+ }
+ }
+
+ } else {
+ // Use previously-cached element index if available
+ if ( useCache ) {
+ // ...in a gzip-friendly way
+ node = elem;
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ cache = uniqueCache[ type ] || [];
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+ diff = nodeIndex;
+ }
+
+ // xml :nth-child(...)
+ // or :nth-last-child(...) or :nth(-last)?-of-type(...)
+ if ( diff === false ) {
+ // Use the same loop as above to seek `elem` from the start
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ if ( ( ofType ?
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1 ) &&
+ ++diff ) {
+
+ // Cache the index of each encountered element
+ if ( useCache ) {
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ uniqueCache[ type ] = [ dirruns, diff ];
+ }
+
+ if ( node === elem ) {
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ // Incorporate the offset, then check against cycle size
+ diff -= last;
+ return diff === first || ( diff % first === 0 && diff / first >= 0 );
+ }
+ };
+ },
+
+ "PSEUDO": function( pseudo, argument ) {
+ // pseudo-class names are case-insensitive
+ // http://www.w3.org/TR/selectors/#pseudo-classes
+ // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
+ // Remember that setFilters inherits from pseudos
+ var args,
+ fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
+ Sizzle.error( "unsupported pseudo: " + pseudo );
+
+ // The user may use createPseudo to indicate that
+ // arguments are needed to create the filter function
+ // just as Sizzle does
+ if ( fn[ expando ] ) {
+ return fn( argument );
+ }
+
+ // But maintain support for old signatures
+ if ( fn.length > 1 ) {
+ args = [ pseudo, pseudo, "", argument ];
+ return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
+ markFunction(function( seed, matches ) {
+ var idx,
+ matched = fn( seed, argument ),
+ i = matched.length;
+ while ( i-- ) {
+ idx = indexOf( seed, matched[i] );
+ seed[ idx ] = !( matches[ idx ] = matched[i] );
+ }
+ }) :
+ function( elem ) {
+ return fn( elem, 0, args );
+ };
+ }
+
+ return fn;
+ }
+ },
+
+ pseudos: {
+ // Potentially complex pseudos
+ "not": markFunction(function( selector ) {
+ // Trim the selector passed to compile
+ // to avoid treating leading and trailing
+ // spaces as combinators
+ var input = [],
+ results = [],
+ matcher = compile( selector.replace( rtrim, "$1" ) );
+
+ return matcher[ expando ] ?
+ markFunction(function( seed, matches, context, xml ) {
+ var elem,
+ unmatched = matcher( seed, null, xml, [] ),
+ i = seed.length;
+
+ // Match elements unmatched by `matcher`
+ while ( i-- ) {
+ if ( (elem = unmatched[i]) ) {
+ seed[i] = !(matches[i] = elem);
+ }
+ }
+ }) :
+ function( elem, context, xml ) {
+ input[0] = elem;
+ matcher( input, null, xml, results );
+ // Don't keep the element (issue #299)
+ input[0] = null;
+ return !results.pop();
+ };
+ }),
+
+ "has": markFunction(function( selector ) {
+ return function( elem ) {
+ return Sizzle( selector, elem ).length > 0;
+ };
+ }),
+
+ "contains": markFunction(function( text ) {
+ text = text.replace( runescape, funescape );
+ return function( elem ) {
+ return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
+ };
+ }),
+
+ // "Whether an element is represented by a :lang() selector
+ // is based solely on the element's language value
+ // being equal to the identifier C,
+ // or beginning with the identifier C immediately followed by "-".
+ // The matching of C against the element's language value is performed case-insensitively.
+ // The identifier C does not have to be a valid language name."
+ // http://www.w3.org/TR/selectors/#lang-pseudo
+ "lang": markFunction( function( lang ) {
+ // lang value must be a valid identifier
+ if ( !ridentifier.test(lang || "") ) {
+ Sizzle.error( "unsupported lang: " + lang );
+ }
+ lang = lang.replace( runescape, funescape ).toLowerCase();
+ return function( elem ) {
+ var elemLang;
+ do {
+ if ( (elemLang = documentIsHTML ?
+ elem.lang :
+ elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+
+ elemLang = elemLang.toLowerCase();
+ return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
+ }
+ } while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+ return false;
+ };
+ }),
+
+ // Miscellaneous
+ "target": function( elem ) {
+ var hash = window.location && window.location.hash;
+ return hash && hash.slice( 1 ) === elem.id;
+ },
+
+ "root": function( elem ) {
+ return elem === docElem;
+ },
+
+ "focus": function( elem ) {
+ return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
+ },
+
+ // Boolean properties
+ "enabled": createDisabledPseudo( false ),
+ "disabled": createDisabledPseudo( true ),
+
+ "checked": function( elem ) {
+ // In CSS3, :checked should return both checked and selected elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ var nodeName = elem.nodeName.toLowerCase();
+ return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+ },
+
+ "selected": function( elem ) {
+ // Accessing this property makes selected-by-default
+ // options in Safari work properly
+ if ( elem.parentNode ) {
+ elem.parentNode.selectedIndex;
+ }
+
+ return elem.selected === true;
+ },
+
+ // Contents
+ "empty": function( elem ) {
+ // http://www.w3.org/TR/selectors/#empty-pseudo
+ // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
+ // but not by others (comment: 8; processing instruction: 7; etc.)
+ // nodeType < 6 works because attributes (2) do not appear as children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ if ( elem.nodeType < 6 ) {
+ return false;
+ }
+ }
+ return true;
+ },
+
+ "parent": function( elem ) {
+ return !Expr.pseudos["empty"]( elem );
+ },
+
+ // Element/input types
+ "header": function( elem ) {
+ return rheader.test( elem.nodeName );
+ },
+
+ "input": function( elem ) {
+ return rinputs.test( elem.nodeName );
+ },
+
+ "button": function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === "button" || name === "button";
+ },
+
+ "text": function( elem ) {
+ var attr;
+ return elem.nodeName.toLowerCase() === "input" &&
+ elem.type === "text" &&
+
+ // Support: IE<8
+ // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
+ ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
+ },
+
+ // Position-in-collection
+ "first": createPositionalPseudo(function() {
+ return [ 0 ];
+ }),
+
+ "last": createPositionalPseudo(function( matchIndexes, length ) {
+ return [ length - 1 ];
+ }),
+
+ "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ return [ argument < 0 ? argument + length : argument ];
+ }),
+
+ "even": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 0;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "odd": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 1;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; --i >= 0; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; ++i < length; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ })
+ }
+};
+
+Expr.pseudos["nth"] = Expr.pseudos["eq"];
+
+// Add button/input type pseudos
+for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
+ Expr.pseudos[ i ] = createInputPseudo( i );
+}
+for ( i in { submit: true, reset: true } ) {
+ Expr.pseudos[ i ] = createButtonPseudo( i );
+}
+
+// Easy API for creating new setFilters
+function setFilters() {}
+setFilters.prototype = Expr.filters = Expr.pseudos;
+Expr.setFilters = new setFilters();
+
+tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
+ var matched, match, tokens, type,
+ soFar, groups, preFilters,
+ cached = tokenCache[ selector + " " ];
+
+ if ( cached ) {
+ return parseOnly ? 0 : cached.slice( 0 );
+ }
+
+ soFar = selector;
+ groups = [];
+ preFilters = Expr.preFilter;
+
+ while ( soFar ) {
+
+ // Comma and first run
+ if ( !matched || (match = rcomma.exec( soFar )) ) {
+ if ( match ) {
+ // Don't consume trailing commas as valid
+ soFar = soFar.slice( match[0].length ) || soFar;
+ }
+ groups.push( (tokens = []) );
+ }
+
+ matched = false;
+
+ // Combinators
+ if ( (match = rcombinators.exec( soFar )) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ // Cast descendant combinators to space
+ type: match[0].replace( rtrim, " " )
+ });
+ soFar = soFar.slice( matched.length );
+ }
+
+ // Filters
+ for ( type in Expr.filter ) {
+ if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
+ (match = preFilters[ type ]( match ))) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ type: type,
+ matches: match
+ });
+ soFar = soFar.slice( matched.length );
+ }
+ }
+
+ if ( !matched ) {
+ break;
+ }
+ }
+
+ // Return the length of the invalid excess
+ // if we're just parsing
+ // Otherwise, throw an error or return tokens
+ return parseOnly ?
+ soFar.length :
+ soFar ?
+ Sizzle.error( selector ) :
+ // Cache the tokens
+ tokenCache( selector, groups ).slice( 0 );
+};
+
+function toSelector( tokens ) {
+ var i = 0,
+ len = tokens.length,
+ selector = "";
+ for ( ; i < len; i++ ) {
+ selector += tokens[i].value;
+ }
+ return selector;
+}
+
+function addCombinator( matcher, combinator, base ) {
+ var dir = combinator.dir,
+ skip = combinator.next,
+ key = skip || dir,
+ checkNonElements = base && key === "parentNode",
+ doneName = done++;
+
+ return combinator.first ?
+ // Check against closest ancestor/preceding element
+ function( elem, context, xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ return matcher( elem, context, xml );
+ }
+ }
+ return false;
+ } :
+
+ // Check against all ancestor/preceding elements
+ function( elem, context, xml ) {
+ var oldCache, uniqueCache, outerCache,
+ newCache = [ dirruns, doneName ];
+
+ // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
+ if ( xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ if ( matcher( elem, context, xml ) ) {
+ return true;
+ }
+ }
+ }
+ } else {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ outerCache = elem[ expando ] || (elem[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
+
+ if ( skip && skip === elem.nodeName.toLowerCase() ) {
+ elem = elem[ dir ] || elem;
+ } else if ( (oldCache = uniqueCache[ key ]) &&
+ oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
+
+ // Assign to newCache so results back-propagate to previous elements
+ return (newCache[ 2 ] = oldCache[ 2 ]);
+ } else {
+ // Reuse newcache so results back-propagate to previous elements
+ uniqueCache[ key ] = newCache;
+
+ // A match means we're done; a fail means we have to keep checking
+ if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
+ return true;
+ }
+ }
+ }
+ }
+ }
+ return false;
+ };
+}
+
+function elementMatcher( matchers ) {
+ return matchers.length > 1 ?
+ function( elem, context, xml ) {
+ var i = matchers.length;
+ while ( i-- ) {
+ if ( !matchers[i]( elem, context, xml ) ) {
+ return false;
+ }
+ }
+ return true;
+ } :
+ matchers[0];
+}
+
+function multipleContexts( selector, contexts, results ) {
+ var i = 0,
+ len = contexts.length;
+ for ( ; i < len; i++ ) {
+ Sizzle( selector, contexts[i], results );
+ }
+ return results;
+}
+
+function condense( unmatched, map, filter, context, xml ) {
+ var elem,
+ newUnmatched = [],
+ i = 0,
+ len = unmatched.length,
+ mapped = map != null;
+
+ for ( ; i < len; i++ ) {
+ if ( (elem = unmatched[i]) ) {
+ if ( !filter || filter( elem, context, xml ) ) {
+ newUnmatched.push( elem );
+ if ( mapped ) {
+ map.push( i );
+ }
+ }
+ }
+ }
+
+ return newUnmatched;
+}
+
+function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
+ if ( postFilter && !postFilter[ expando ] ) {
+ postFilter = setMatcher( postFilter );
+ }
+ if ( postFinder && !postFinder[ expando ] ) {
+ postFinder = setMatcher( postFinder, postSelector );
+ }
+ return markFunction(function( seed, results, context, xml ) {
+ var temp, i, elem,
+ preMap = [],
+ postMap = [],
+ preexisting = results.length,
+
+ // Get initial elements from seed or context
+ elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+
+ // Prefilter to get matcher input, preserving a map for seed-results synchronization
+ matcherIn = preFilter && ( seed || !selector ) ?
+ condense( elems, preMap, preFilter, context, xml ) :
+ elems,
+
+ matcherOut = matcher ?
+ // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
+ postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+
+ // ...intermediate processing is necessary
+ [] :
+
+ // ...otherwise use results directly
+ results :
+ matcherIn;
+
+ // Find primary matches
+ if ( matcher ) {
+ matcher( matcherIn, matcherOut, context, xml );
+ }
+
+ // Apply postFilter
+ if ( postFilter ) {
+ temp = condense( matcherOut, postMap );
+ postFilter( temp, [], context, xml );
+
+ // Un-match failing elements by moving them back to matcherIn
+ i = temp.length;
+ while ( i-- ) {
+ if ( (elem = temp[i]) ) {
+ matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+ }
+ }
+ }
+
+ if ( seed ) {
+ if ( postFinder || preFilter ) {
+ if ( postFinder ) {
+ // Get the final matcherOut by condensing this intermediate into postFinder contexts
+ temp = [];
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) ) {
+ // Restore matcherIn since elem is not yet a final match
+ temp.push( (matcherIn[i] = elem) );
+ }
+ }
+ postFinder( null, (matcherOut = []), temp, xml );
+ }
+
+ // Move matched elements from seed to results to keep them synchronized
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) &&
+ (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
+
+ seed[temp] = !(results[temp] = elem);
+ }
+ }
+ }
+
+ // Add elements to results, through postFinder if defined
+ } else {
+ matcherOut = condense(
+ matcherOut === results ?
+ matcherOut.splice( preexisting, matcherOut.length ) :
+ matcherOut
+ );
+ if ( postFinder ) {
+ postFinder( null, results, matcherOut, xml );
+ } else {
+ push.apply( results, matcherOut );
+ }
+ }
+ });
+}
+
+function matcherFromTokens( tokens ) {
+ var checkContext, matcher, j,
+ len = tokens.length,
+ leadingRelative = Expr.relative[ tokens[0].type ],
+ implicitRelative = leadingRelative || Expr.relative[" "],
+ i = leadingRelative ? 1 : 0,
+
+ // The foundational matcher ensures that elements are reachable from top-level context(s)
+ matchContext = addCombinator( function( elem ) {
+ return elem === checkContext;
+ }, implicitRelative, true ),
+ matchAnyContext = addCombinator( function( elem ) {
+ return indexOf( checkContext, elem ) > -1;
+ }, implicitRelative, true ),
+ matchers = [ function( elem, context, xml ) {
+ var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+ (checkContext = context).nodeType ?
+ matchContext( elem, context, xml ) :
+ matchAnyContext( elem, context, xml ) );
+ // Avoid hanging onto element (issue #299)
+ checkContext = null;
+ return ret;
+ } ];
+
+ for ( ; i < len; i++ ) {
+ if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
+ matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
+ } else {
+ matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+
+ // Return special upon seeing a positional matcher
+ if ( matcher[ expando ] ) {
+ // Find the next relative operator (if any) for proper handling
+ j = ++i;
+ for ( ; j < len; j++ ) {
+ if ( Expr.relative[ tokens[j].type ] ) {
+ break;
+ }
+ }
+ return setMatcher(
+ i > 1 && elementMatcher( matchers ),
+ i > 1 && toSelector(
+ // If the preceding token was a descendant combinator, insert an implicit any-element `*`
+ tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
+ ).replace( rtrim, "$1" ),
+ matcher,
+ i < j && matcherFromTokens( tokens.slice( i, j ) ),
+ j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
+ j < len && toSelector( tokens )
+ );
+ }
+ matchers.push( matcher );
+ }
+ }
+
+ return elementMatcher( matchers );
+}
+
+function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
+ var bySet = setMatchers.length > 0,
+ byElement = elementMatchers.length > 0,
+ superMatcher = function( seed, context, xml, results, outermost ) {
+ var elem, j, matcher,
+ matchedCount = 0,
+ i = "0",
+ unmatched = seed && [],
+ setMatched = [],
+ contextBackup = outermostContext,
+ // We must always have either seed elements or outermost context
+ elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
+ // Use integer dirruns iff this is the outermost matcher
+ dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
+ len = elems.length;
+
+ if ( outermost ) {
+ outermostContext = context === document || context || outermost;
+ }
+
+ // Add elements passing elementMatchers directly to results
+ // Support: IE<9, Safari
+ // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
+ for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
+ if ( byElement && elem ) {
+ j = 0;
+ if ( !context && elem.ownerDocument !== document ) {
+ setDocument( elem );
+ xml = !documentIsHTML;
+ }
+ while ( (matcher = elementMatchers[j++]) ) {
+ if ( matcher( elem, context || document, xml) ) {
+ results.push( elem );
+ break;
+ }
+ }
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ }
+ }
+
+ // Track unmatched elements for set filters
+ if ( bySet ) {
+ // They will have gone through all possible matchers
+ if ( (elem = !matcher && elem) ) {
+ matchedCount--;
+ }
+
+ // Lengthen the array for every element, matched or not
+ if ( seed ) {
+ unmatched.push( elem );
+ }
+ }
+ }
+
+ // `i` is now the count of elements visited above, and adding it to `matchedCount`
+ // makes the latter nonnegative.
+ matchedCount += i;
+
+ // Apply set filters to unmatched elements
+ // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
+ // equals `i`), unless we didn't visit _any_ elements in the above loop because we have
+ // no element matchers and no seed.
+ // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
+ // case, which will result in a "00" `matchedCount` that differs from `i` but is also
+ // numerically zero.
+ if ( bySet && i !== matchedCount ) {
+ j = 0;
+ while ( (matcher = setMatchers[j++]) ) {
+ matcher( unmatched, setMatched, context, xml );
+ }
+
+ if ( seed ) {
+ // Reintegrate element matches to eliminate the need for sorting
+ if ( matchedCount > 0 ) {
+ while ( i-- ) {
+ if ( !(unmatched[i] || setMatched[i]) ) {
+ setMatched[i] = pop.call( results );
+ }
+ }
+ }
+
+ // Discard index placeholder values to get only actual matches
+ setMatched = condense( setMatched );
+ }
+
+ // Add matches to results
+ push.apply( results, setMatched );
+
+ // Seedless set matches succeeding multiple successful matchers stipulate sorting
+ if ( outermost && !seed && setMatched.length > 0 &&
+ ( matchedCount + setMatchers.length ) > 1 ) {
+
+ Sizzle.uniqueSort( results );
+ }
+ }
+
+ // Override manipulation of globals by nested matchers
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ outermostContext = contextBackup;
+ }
+
+ return unmatched;
+ };
+
+ return bySet ?
+ markFunction( superMatcher ) :
+ superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
+ var i,
+ setMatchers = [],
+ elementMatchers = [],
+ cached = compilerCache[ selector + " " ];
+
+ if ( !cached ) {
+ // Generate a function of recursive functions that can be used to check each element
+ if ( !match ) {
+ match = tokenize( selector );
+ }
+ i = match.length;
+ while ( i-- ) {
+ cached = matcherFromTokens( match[i] );
+ if ( cached[ expando ] ) {
+ setMatchers.push( cached );
+ } else {
+ elementMatchers.push( cached );
+ }
+ }
+
+ // Cache the compiled function
+ cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+
+ // Save selector and tokenization
+ cached.selector = selector;
+ }
+ return cached;
+};
+
+/**
+ * A low-level selection function that works with Sizzle's compiled
+ * selector functions
+ * @param {String|Function} selector A selector or a pre-compiled
+ * selector function built with Sizzle.compile
+ * @param {Element} context
+ * @param {Array} [results]
+ * @param {Array} [seed] A set of elements to match against
+ */
+select = Sizzle.select = function( selector, context, results, seed ) {
+ var i, tokens, token, type, find,
+ compiled = typeof selector === "function" && selector,
+ match = !seed && tokenize( (selector = compiled.selector || selector) );
+
+ results = results || [];
+
+ // Try to minimize operations if there is only one selector in the list and no seed
+ // (the latter of which guarantees us context)
+ if ( match.length === 1 ) {
+
+ // Reduce context if the leading compound selector is an ID
+ tokens = match[0] = match[0].slice( 0 );
+ if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
+ context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {
+
+ context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+ if ( !context ) {
+ return results;
+
+ // Precompiled matchers will still verify ancestry, so step up a level
+ } else if ( compiled ) {
+ context = context.parentNode;
+ }
+
+ selector = selector.slice( tokens.shift().value.length );
+ }
+
+ // Fetch a seed set for right-to-left matching
+ i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+ while ( i-- ) {
+ token = tokens[i];
+
+ // Abort if we hit a combinator
+ if ( Expr.relative[ (type = token.type) ] ) {
+ break;
+ }
+ if ( (find = Expr.find[ type ]) ) {
+ // Search, expanding context for leading sibling combinators
+ if ( (seed = find(
+ token.matches[0].replace( runescape, funescape ),
+ rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
+ )) ) {
+
+ // If seed is empty or no tokens remain, we can return early
+ tokens.splice( i, 1 );
+ selector = seed.length && toSelector( tokens );
+ if ( !selector ) {
+ push.apply( results, seed );
+ return results;
+ }
+
+ break;
+ }
+ }
+ }
+ }
+
+ // Compile and execute a filtering function if one is not provided
+ // Provide `match` to avoid retokenization if we modified the selector above
+ ( compiled || compile( selector, match ) )(
+ seed,
+ context,
+ !documentIsHTML,
+ results,
+ !context || rsibling.test( selector ) && testContext( context.parentNode ) || context
+ );
+ return results;
+};
+
+// One-time assignments
+
+// Sort stability
+support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+
+// Support: Chrome 14-35+
+// Always assume duplicates if they aren't passed to the comparison function
+support.detectDuplicates = !!hasDuplicate;
+
+// Initialize against the default document
+setDocument();
+
+// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Detached nodes confoundingly follow *each other*
+support.sortDetached = assert(function( el ) {
+ // Should return 1, but returns 4 (following)
+ return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
+});
+
+// Support: IE<8
+// Prevent attribute/property "interpolation"
+// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !assert(function( el ) {
+ el.innerHTML = "<a href='#'></a>";
+ return el.firstChild.getAttribute("href") === "#" ;
+}) ) {
+ addHandle( "type|href|height|width", function( elem, name, isXML ) {
+ if ( !isXML ) {
+ return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
+ }
+ });
+}
+
+// Support: IE<9
+// Use defaultValue in place of getAttribute("value")
+if ( !support.attributes || !assert(function( el ) {
+ el.innerHTML = "<input/>";
+ el.firstChild.setAttribute( "value", "" );
+ return el.firstChild.getAttribute( "value" ) === "";
+}) ) {
+ addHandle( "value", function( elem, name, isXML ) {
+ if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
+ return elem.defaultValue;
+ }
+ });
+}
+
+// Support: IE<9
+// Use getAttributeNode to fetch booleans when getAttribute lies
+if ( !assert(function( el ) {
+ return el.getAttribute("disabled") == null;
+}) ) {
+ addHandle( booleans, function( elem, name, isXML ) {
+ var val;
+ if ( !isXML ) {
+ return elem[ name ] === true ? name.toLowerCase() :
+ (val = elem.getAttributeNode( name )) && val.specified ?
+ val.value :
+ null;
+ }
+ });
+}
+
+return Sizzle;
+
+})( window );
+
+
+
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+
+// Deprecated
+jQuery.expr[ ":" ] = jQuery.expr.pseudos;
+jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
+jQuery.text = Sizzle.getText;
+jQuery.isXMLDoc = Sizzle.isXML;
+jQuery.contains = Sizzle.contains;
+jQuery.escapeSelector = Sizzle.escape;
+
+
+
+
+var dir = function( elem, dir, until ) {
+ var matched = [],
+ truncate = until !== undefined;
+
+ while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
+ if ( elem.nodeType === 1 ) {
+ if ( truncate && jQuery( elem ).is( until ) ) {
+ break;
+ }
+ matched.push( elem );
+ }
+ }
+ return matched;
+};
+
+
+var siblings = function( n, elem ) {
+ var matched = [];
+
+ for ( ; n; n = n.nextSibling ) {
+ if ( n.nodeType === 1 && n !== elem ) {
+ matched.push( n );
+ }
+ }
+
+ return matched;
+};
+
+
+var rneedsContext = jQuery.expr.match.needsContext;
+
+
+
+function nodeName( elem, name ) {
+
+ return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+
+};
+var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
+
+
+
+var risSimple = /^.[^:#\[\.,]*$/;
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, not ) {
+ if ( jQuery.isFunction( qualifier ) ) {
+ return jQuery.grep( elements, function( elem, i ) {
+ return !!qualifier.call( elem, i, elem ) !== not;
+ } );
+ }
+
+ // Single element
+ if ( qualifier.nodeType ) {
+ return jQuery.grep( elements, function( elem ) {
+ return ( elem === qualifier ) !== not;
+ } );
+ }
+
+ // Arraylike of elements (jQuery, arguments, Array)
+ if ( typeof qualifier !== "string" ) {
+ return jQuery.grep( elements, function( elem ) {
+ return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
+ } );
+ }
+
+ // Simple selector that can be filtered directly, removing non-Elements
+ if ( risSimple.test( qualifier ) ) {
+ return jQuery.filter( qualifier, elements, not );
+ }
+
+ // Complex selector, compare the two sets, removing non-Elements
+ qualifier = jQuery.filter( qualifier, elements );
+ return jQuery.grep( elements, function( elem ) {
+ return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1;
+ } );
+}
+
+jQuery.filter = function( expr, elems, not ) {
+ var elem = elems[ 0 ];
+
+ if ( not ) {
+ expr = ":not(" + expr + ")";
+ }
+
+ if ( elems.length === 1 && elem.nodeType === 1 ) {
+ return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];
+ }
+
+ return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
+ return elem.nodeType === 1;
+ } ) );
+};
+
+jQuery.fn.extend( {
+ find: function( selector ) {
+ var i, ret,
+ len = this.length,
+ self = this;
+
+ if ( typeof selector !== "string" ) {
+ return this.pushStack( jQuery( selector ).filter( function() {
+ for ( i = 0; i < len; i++ ) {
+ if ( jQuery.contains( self[ i ], this ) ) {
+ return true;
+ }
+ }
+ } ) );
+ }
+
+ ret = this.pushStack( [] );
+
+ for ( i = 0; i < len; i++ ) {
+ jQuery.find( selector, self[ i ], ret );
+ }
+
+ return len > 1 ? jQuery.uniqueSort( ret ) : ret;
+ },
+ filter: function( selector ) {
+ return this.pushStack( winnow( this, selector || [], false ) );
+ },
+ not: function( selector ) {
+ return this.pushStack( winnow( this, selector || [], true ) );
+ },
+ is: function( selector ) {
+ return !!winnow(
+ this,
+
+ // If this is a positional/relative selector, check membership in the returned set
+ // so $("p:first").is("p:last") won't return true for a doc with two "p".
+ typeof selector === "string" && rneedsContext.test( selector ) ?
+ jQuery( selector ) :
+ selector || [],
+ false
+ ).length;
+ }
+} );
+
+
+// Initialize a jQuery object
+
+
+// A central reference to the root jQuery(document)
+var rootjQuery,
+
+ // A simple way to check for HTML strings
+ // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
+ // Strict HTML recognition (#11290: must start with <)
+ // Shortcut simple #id case for speed
+ rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
+
+ init = jQuery.fn.init = function( selector, context, root ) {
+ var match, elem;
+
+ // HANDLE: $(""), $(null), $(undefined), $(false)
+ if ( !selector ) {
+ return this;
+ }
+
+ // Method init() accepts an alternate rootjQuery
+ // so migrate can support jQuery.sub (gh-2101)
+ root = root || rootjQuery;
+
+ // Handle HTML strings
+ if ( typeof selector === "string" ) {
+ if ( selector[ 0 ] === "<" &&
+ selector[ selector.length - 1 ] === ">" &&
+ selector.length >= 3 ) {
+
+ // Assume that strings that start and end with <> are HTML and skip the regex check
+ match = [ null, selector, null ];
+
+ } else {
+ match = rquickExpr.exec( selector );
+ }
+
+ // Match html or make sure no context is specified for #id
+ if ( match && ( match[ 1 ] || !context ) ) {
+
+ // HANDLE: $(html) -> $(array)
+ if ( match[ 1 ] ) {
+ context = context instanceof jQuery ? context[ 0 ] : context;
+
+ // Option to run scripts is true for back-compat
+ // Intentionally let the error be thrown if parseHTML is not present
+ jQuery.merge( this, jQuery.parseHTML(
+ match[ 1 ],
+ context && context.nodeType ? context.ownerDocument || context : document,
+ true
+ ) );
+
+ // HANDLE: $(html, props)
+ if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
+ for ( match in context ) {
+
+ // Properties of context are called as methods if possible
+ if ( jQuery.isFunction( this[ match ] ) ) {
+ this[ match ]( context[ match ] );
+
+ // ...and otherwise set as attributes
+ } else {
+ this.attr( match, context[ match ] );
+ }
+ }
+ }
+
+ return this;
+
+ // HANDLE: $(#id)
+ } else {
+ elem = document.getElementById( match[ 2 ] );
+
+ if ( elem ) {
+
+ // Inject the element directly into the jQuery object
+ this[ 0 ] = elem;
+ this.length = 1;
+ }
+ return this;
+ }
+
+ // HANDLE: $(expr, $(...))
+ } else if ( !context || context.jquery ) {
+ return ( context || root ).find( selector );
+
+ // HANDLE: $(expr, context)
+ // (which is just equivalent to: $(context).find(expr)
+ } else {
+ return this.constructor( context ).find( selector );
+ }
+
+ // HANDLE: $(DOMElement)
+ } else if ( selector.nodeType ) {
+ this[ 0 ] = selector;
+ this.length = 1;
+ return this;
+
+ // HANDLE: $(function)
+ // Shortcut for document ready
+ } else if ( jQuery.isFunction( selector ) ) {
+ return root.ready !== undefined ?
+ root.ready( selector ) :
+
+ // Execute immediately if ready is not present
+ selector( jQuery );
+ }
+
+ return jQuery.makeArray( selector, this );
+ };
+
+// Give the init function the jQuery prototype for later instantiation
+init.prototype = jQuery.fn;
+
+// Initialize central reference
+rootjQuery = jQuery( document );
+
+
+var rparentsprev = /^(?:parents|prev(?:Until|All))/,
+
+ // Methods guaranteed to produce a unique set when starting from a unique set
+ guaranteedUnique = {
+ children: true,
+ contents: true,
+ next: true,
+ prev: true
+ };
+
+jQuery.fn.extend( {
+ has: function( target ) {
+ var targets = jQuery( target, this ),
+ l = targets.length;
+
+ return this.filter( function() {
+ var i = 0;
+ for ( ; i < l; i++ ) {
+ if ( jQuery.contains( this, targets[ i ] ) ) {
+ return true;
+ }
+ }
+ } );
+ },
+
+ closest: function( selectors, context ) {
+ var cur,
+ i = 0,
+ l = this.length,
+ matched = [],
+ targets = typeof selectors !== "string" && jQuery( selectors );
+
+ // Positional selectors never match, since there's no _selection_ context
+ if ( !rneedsContext.test( selectors ) ) {
+ for ( ; i < l; i++ ) {
+ for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
+
+ // Always skip document fragments
+ if ( cur.nodeType < 11 && ( targets ?
+ targets.index( cur ) > -1 :
+
+ // Don't pass non-elements to Sizzle
+ cur.nodeType === 1 &&
+ jQuery.find.matchesSelector( cur, selectors ) ) ) {
+
+ matched.push( cur );
+ break;
+ }
+ }
+ }
+ }
+
+ return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
+ },
+
+ // Determine the position of an element within the set
+ index: function( elem ) {
+
+ // No argument, return index in parent
+ if ( !elem ) {
+ return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
+ }
+
+ // Index in selector
+ if ( typeof elem === "string" ) {
+ return indexOf.call( jQuery( elem ), this[ 0 ] );
+ }
+
+ // Locate the position of the desired element
+ return indexOf.call( this,
+
+ // If it receives a jQuery object, the first element is used
+ elem.jquery ? elem[ 0 ] : elem
+ );
+ },
+
+ add: function( selector, context ) {
+ return this.pushStack(
+ jQuery.uniqueSort(
+ jQuery.merge( this.get(), jQuery( selector, context ) )
+ )
+ );
+ },
+
+ addBack: function( selector ) {
+ return this.add( selector == null ?
+ this.prevObject : this.prevObject.filter( selector )
+ );
+ }
+} );
+
+function sibling( cur, dir ) {
+ while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
+ return cur;
+}
+
+jQuery.each( {
+ parent: function( elem ) {
+ var parent = elem.parentNode;
+ return parent && parent.nodeType !== 11 ? parent : null;
+ },
+ parents: function( elem ) {
+ return dir( elem, "parentNode" );
+ },
+ parentsUntil: function( elem, i, until ) {
+ return dir( elem, "parentNode", until );
+ },
+ next: function( elem ) {
+ return sibling( elem, "nextSibling" );
+ },
+ prev: function( elem ) {
+ return sibling( elem, "previousSibling" );
+ },
+ nextAll: function( elem ) {
+ return dir( elem, "nextSibling" );
+ },
+ prevAll: function( elem ) {
+ return dir( elem, "previousSibling" );
+ },
+ nextUntil: function( elem, i, until ) {
+ return dir( elem, "nextSibling", until );
+ },
+ prevUntil: function( elem, i, until ) {
+ return dir( elem, "previousSibling", until );
+ },
+ siblings: function( elem ) {
+ return siblings( ( elem.parentNode || {} ).firstChild, elem );
+ },
+ children: function( elem ) {
+ return siblings( elem.firstChild );
+ },
+ contents: function( elem ) {
+ if ( nodeName( elem, "iframe" ) ) {
+ return elem.contentDocument;
+ }
+
+ // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
+ // Treat the template element as a regular one in browsers that
+ // don't support it.
+ if ( nodeName( elem, "template" ) ) {
+ elem = elem.content || elem;
+ }
+
+ return jQuery.merge( [], elem.childNodes );
+ }
+}, function( name, fn ) {
+ jQuery.fn[ name ] = function( until, selector ) {
+ var matched = jQuery.map( this, fn, until );
+
+ if ( name.slice( -5 ) !== "Until" ) {
+ selector = until;
+ }
+
+ if ( selector && typeof selector === "string" ) {
+ matched = jQuery.filter( selector, matched );
+ }
+
+ if ( this.length > 1 ) {
+
+ // Remove duplicates
+ if ( !guaranteedUnique[ name ] ) {
+ jQuery.uniqueSort( matched );
+ }
+
+ // Reverse order for parents* and prev-derivatives
+ if ( rparentsprev.test( name ) ) {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack( matched );
+ };
+} );
+var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g );
+
+
+
+// Convert String-formatted options into Object-formatted ones
+function createOptions( options ) {
+ var object = {};
+ jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {
+ object[ flag ] = true;
+ } );
+ return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ * options: an optional list of space-separated options that will change how
+ * the callback list behaves or a more traditional option object
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible options:
+ *
+ * once: will ensure the callback list can only be fired once (like a Deferred)
+ *
+ * memory: will keep track of previous values and will call any callback added
+ * after the list has been fired right away with the latest "memorized"
+ * values (like a Deferred)
+ *
+ * unique: will ensure a callback can only be added once (no duplicate in the list)
+ *
+ * stopOnFalse: interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( options ) {
+
+ // Convert options from String-formatted to Object-formatted if needed
+ // (we check in cache first)
+ options = typeof options === "string" ?
+ createOptions( options ) :
+ jQuery.extend( {}, options );
+
+ var // Flag to know if list is currently firing
+ firing,
+
+ // Last fire value for non-forgettable lists
+ memory,
+
+ // Flag to know if list was already fired
+ fired,
+
+ // Flag to prevent firing
+ locked,
+
+ // Actual callback list
+ list = [],
+
+ // Queue of execution data for repeatable lists
+ queue = [],
+
+ // Index of currently firing callback (modified by add/remove as needed)
+ firingIndex = -1,
+
+ // Fire callbacks
+ fire = function() {
+
+ // Enforce single-firing
+ locked = locked || options.once;
+
+ // Execute callbacks for all pending executions,
+ // respecting firingIndex overrides and runtime changes
+ fired = firing = true;
+ for ( ; queue.length; firingIndex = -1 ) {
+ memory = queue.shift();
+ while ( ++firingIndex < list.length ) {
+
+ // Run callback and check for early termination
+ if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
+ options.stopOnFalse ) {
+
+ // Jump to end and forget the data so .add doesn't re-fire
+ firingIndex = list.length;
+ memory = false;
+ }
+ }
+ }
+
+ // Forget the data if we're done with it
+ if ( !options.memory ) {
+ memory = false;
+ }
+
+ firing = false;
+
+ // Clean up if we're done firing for good
+ if ( locked ) {
+
+ // Keep an empty list if we have data for future add calls
+ if ( memory ) {
+ list = [];
+
+ // Otherwise, this object is spent
+ } else {
+ list = "";
+ }
+ }
+ },
+
+ // Actual Callbacks object
+ self = {
+
+ // Add a callback or a collection of callbacks to the list
+ add: function() {
+ if ( list ) {
+
+ // If we have memory from a past run, we should fire after adding
+ if ( memory && !firing ) {
+ firingIndex = list.length - 1;
+ queue.push( memory );
+ }
+
+ ( function add( args ) {
+ jQuery.each( args, function( _, arg ) {
+ if ( jQuery.isFunction( arg ) ) {
+ if ( !options.unique || !self.has( arg ) ) {
+ list.push( arg );
+ }
+ } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) {
+
+ // Inspect recursively
+ add( arg );
+ }
+ } );
+ } )( arguments );
+
+ if ( memory && !firing ) {
+ fire();
+ }
+ }
+ return this;
+ },
+
+ // Remove a callback from the list
+ remove: function() {
+ jQuery.each( arguments, function( _, arg ) {
+ var index;
+ while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
+ list.splice( index, 1 );
+
+ // Handle firing indexes
+ if ( index <= firingIndex ) {
+ firingIndex--;
+ }
+ }
+ } );
+ return this;
+ },
+
+ // Check if a given callback is in the list.
+ // If no argument is given, return whether or not list has callbacks attached.
+ has: function( fn ) {
+ return fn ?
+ jQuery.inArray( fn, list ) > -1 :
+ list.length > 0;
+ },
+
+ // Remove all callbacks from the list
+ empty: function() {
+ if ( list ) {
+ list = [];
+ }
+ return this;
+ },
+
+ // Disable .fire and .add
+ // Abort any current/pending executions
+ // Clear all callbacks and values
+ disable: function() {
+ locked = queue = [];
+ list = memory = "";
+ return this;
+ },
+ disabled: function() {
+ return !list;
+ },
+
+ // Disable .fire
+ // Also disable .add unless we have memory (since it would have no effect)
+ // Abort any pending executions
+ lock: function() {
+ locked = queue = [];
+ if ( !memory && !firing ) {
+ list = memory = "";
+ }
+ return this;
+ },
+ locked: function() {
+ return !!locked;
+ },
+
+ // Call all callbacks with the given context and arguments
+ fireWith: function( context, args ) {
+ if ( !locked ) {
+ args = args || [];
+ args = [ context, args.slice ? args.slice() : args ];
+ queue.push( args );
+ if ( !firing ) {
+ fire();
+ }
+ }
+ return this;
+ },
+
+ // Call all the callbacks with the given arguments
+ fire: function() {
+ self.fireWith( this, arguments );
+ return this;
+ },
+
+ // To know if the callbacks have already been called at least once
+ fired: function() {
+ return !!fired;
+ }
+ };
+
+ return self;
+};
+
+
+function Identity( v ) {
+ return v;
+}
+function Thrower( ex ) {
+ throw ex;
+}
+
+function adoptValue( value, resolve, reject, noValue ) {
+ var method;
+
+ try {
+
+ // Check for promise aspect first to privilege synchronous behavior
+ if ( value && jQuery.isFunction( ( method = value.promise ) ) ) {
+ method.call( value ).done( resolve ).fail( reject );
+
+ // Other thenables
+ } else if ( value && jQuery.isFunction( ( method = value.then ) ) ) {
+ method.call( value, resolve, reject );
+
+ // Other non-thenables
+ } else {
+
+ // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
+ // * false: [ value ].slice( 0 ) => resolve( value )
+ // * true: [ value ].slice( 1 ) => resolve()
+ resolve.apply( undefined, [ value ].slice( noValue ) );
+ }
+
+ // For Promises/A+, convert exceptions into rejections
+ // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
+ // Deferred#then to conditionally suppress rejection.
+ } catch ( value ) {
+
+ // Support: Android 4.0 only
+ // Strict mode functions invoked without .call/.apply get global-object context
+ reject.apply( undefined, [ value ] );
+ }
+}
+
+jQuery.extend( {
+
+ Deferred: function( func ) {
+ var tuples = [
+
+ // action, add listener, callbacks,
+ // ... .then handlers, argument index, [final state]
+ [ "notify", "progress", jQuery.Callbacks( "memory" ),
+ jQuery.Callbacks( "memory" ), 2 ],
+ [ "resolve", "done", jQuery.Callbacks( "once memory" ),
+ jQuery.Callbacks( "once memory" ), 0, "resolved" ],
+ [ "reject", "fail", jQuery.Callbacks( "once memory" ),
+ jQuery.Callbacks( "once memory" ), 1, "rejected" ]
+ ],
+ state = "pending",
+ promise = {
+ state: function() {
+ return state;
+ },
+ always: function() {
+ deferred.done( arguments ).fail( arguments );
+ return this;
+ },
+ "catch": function( fn ) {
+ return promise.then( null, fn );
+ },
+
+ // Keep pipe for back-compat
+ pipe: function( /* fnDone, fnFail, fnProgress */ ) {
+ var fns = arguments;
+
+ return jQuery.Deferred( function( newDefer ) {
+ jQuery.each( tuples, function( i, tuple ) {
+
+ // Map tuples (progress, done, fail) to arguments (done, fail, progress)
+ var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
+
+ // deferred.progress(function() { bind to newDefer or newDefer.notify })
+ // deferred.done(function() { bind to newDefer or newDefer.resolve })
+ // deferred.fail(function() { bind to newDefer or newDefer.reject })
+ deferred[ tuple[ 1 ] ]( function() {
+ var returned = fn && fn.apply( this, arguments );
+ if ( returned && jQuery.isFunction( returned.promise ) ) {
+ returned.promise()
+ .progress( newDefer.notify )
+ .done( newDefer.resolve )
+ .fail( newDefer.reject );
+ } else {
+ newDefer[ tuple[ 0 ] + "With" ](
+ this,
+ fn ? [ returned ] : arguments
+ );
+ }
+ } );
+ } );
+ fns = null;
+ } ).promise();
+ },
+ then: function( onFulfilled, onRejected, onProgress ) {
+ var maxDepth = 0;
+ function resolve( depth, deferred, handler, special ) {
+ return function() {
+ var that = this,
+ args = arguments,
+ mightThrow = function() {
+ var returned, then;
+
+ // Support: Promises/A+ section 2.3.3.3.3
+ // https://promisesaplus.com/#point-59
+ // Ignore double-resolution attempts
+ if ( depth < maxDepth ) {
+ return;
+ }
+
+ returned = handler.apply( that, args );
+
+ // Support: Promises/A+ section 2.3.1
+ // https://promisesaplus.com/#point-48
+ if ( returned === deferred.promise() ) {
+ throw new TypeError( "Thenable self-resolution" );
+ }
+
+ // Support: Promises/A+ sections 2.3.3.1, 3.5
+ // https://promisesaplus.com/#point-54
+ // https://promisesaplus.com/#point-75
+ // Retrieve `then` only once
+ then = returned &&
+
+ // Support: Promises/A+ section 2.3.4
+ // https://promisesaplus.com/#point-64
+ // Only check objects and functions for thenability
+ ( typeof returned === "object" ||
+ typeof returned === "function" ) &&
+ returned.then;
+
+ // Handle a returned thenable
+ if ( jQuery.isFunction( then ) ) {
+
+ // Special processors (notify) just wait for resolution
+ if ( special ) {
+ then.call(
+ returned,
+ resolve( maxDepth, deferred, Identity, special ),
+ resolve( maxDepth, deferred, Thrower, special )
+ );
+
+ // Normal processors (resolve) also hook into progress
+ } else {
+
+ // ...and disregard older resolution values
+ maxDepth++;
+
+ then.call(
+ returned,
+ resolve( maxDepth, deferred, Identity, special ),
+ resolve( maxDepth, deferred, Thrower, special ),
+ resolve( maxDepth, deferred, Identity,
+ deferred.notifyWith )
+ );
+ }
+
+ // Handle all other returned values
+ } else {
+
+ // Only substitute handlers pass on context
+ // and multiple values (non-spec behavior)
+ if ( handler !== Identity ) {
+ that = undefined;
+ args = [ returned ];
+ }
+
+ // Process the value(s)
+ // Default process is resolve
+ ( special || deferred.resolveWith )( that, args );
+ }
+ },
+
+ // Only normal processors (resolve) catch and reject exceptions
+ process = special ?
+ mightThrow :
+ function() {
+ try {
+ mightThrow();
+ } catch ( e ) {
+
+ if ( jQuery.Deferred.exceptionHook ) {
+ jQuery.Deferred.exceptionHook( e,
+ process.stackTrace );
+ }
+
+ // Support: Promises/A+ section 2.3.3.3.4.1
+ // https://promisesaplus.com/#point-61
+ // Ignore post-resolution exceptions
+ if ( depth + 1 >= maxDepth ) {
+
+ // Only substitute handlers pass on context
+ // and multiple values (non-spec behavior)
+ if ( handler !== Thrower ) {
+ that = undefined;
+ args = [ e ];
+ }
+
+ deferred.rejectWith( that, args );
+ }
+ }
+ };
+
+ // Support: Promises/A+ section 2.3.3.3.1
+ // https://promisesaplus.com/#point-57
+ // Re-resolve promises immediately to dodge false rejection from
+ // subsequent errors
+ if ( depth ) {
+ process();
+ } else {
+
+ // Call an optional hook to record the stack, in case of exception
+ // since it's otherwise lost when execution goes async
+ if ( jQuery.Deferred.getStackHook ) {
+ process.stackTrace = jQuery.Deferred.getStackHook();
+ }
+ window.setTimeout( process );
+ }
+ };
+ }
+
+ return jQuery.Deferred( function( newDefer ) {
+
+ // progress_handlers.add( ... )
+ tuples[ 0 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ jQuery.isFunction( onProgress ) ?
+ onProgress :
+ Identity,
+ newDefer.notifyWith
+ )
+ );
+
+ // fulfilled_handlers.add( ... )
+ tuples[ 1 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ jQuery.isFunction( onFulfilled ) ?
+ onFulfilled :
+ Identity
+ )
+ );
+
+ // rejected_handlers.add( ... )
+ tuples[ 2 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ jQuery.isFunction( onRejected ) ?
+ onRejected :
+ Thrower
+ )
+ );
+ } ).promise();
+ },
+
+ // Get a promise for this deferred
+ // If obj is provided, the promise aspect is added to the object
+ promise: function( obj ) {
+ return obj != null ? jQuery.extend( obj, promise ) : promise;
+ }
+ },
+ deferred = {};
+
+ // Add list-specific methods
+ jQuery.each( tuples, function( i, tuple ) {
+ var list = tuple[ 2 ],
+ stateString = tuple[ 5 ];
+
+ // promise.progress = list.add
+ // promise.done = list.add
+ // promise.fail = list.add
+ promise[ tuple[ 1 ] ] = list.add;
+
+ // Handle state
+ if ( stateString ) {
+ list.add(
+ function() {
+
+ // state = "resolved" (i.e., fulfilled)
+ // state = "rejected"
+ state = stateString;
+ },
+
+ // rejected_callbacks.disable
+ // fulfilled_callbacks.disable
+ tuples[ 3 - i ][ 2 ].disable,
+
+ // progress_callbacks.lock
+ tuples[ 0 ][ 2 ].lock
+ );
+ }
+
+ // progress_handlers.fire
+ // fulfilled_handlers.fire
+ // rejected_handlers.fire
+ list.add( tuple[ 3 ].fire );
+
+ // deferred.notify = function() { deferred.notifyWith(...) }
+ // deferred.resolve = function() { deferred.resolveWith(...) }
+ // deferred.reject = function() { deferred.rejectWith(...) }
+ deferred[ tuple[ 0 ] ] = function() {
+ deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
+ return this;
+ };
+
+ // deferred.notifyWith = list.fireWith
+ // deferred.resolveWith = list.fireWith
+ // deferred.rejectWith = list.fireWith
+ deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
+ } );
+
+ // Make the deferred a promise
+ promise.promise( deferred );
+
+ // Call given func if any
+ if ( func ) {
+ func.call( deferred, deferred );
+ }
+
+ // All done!
+ return deferred;
+ },
+
+ // Deferred helper
+ when: function( singleValue ) {
+ var
+
+ // count of uncompleted subordinates
+ remaining = arguments.length,
+
+ // count of unprocessed arguments
+ i = remaining,
+
+ // subordinate fulfillment data
+ resolveContexts = Array( i ),
+ resolveValues = slice.call( arguments ),
+
+ // the master Deferred
+ master = jQuery.Deferred(),
+
+ // subordinate callback factory
+ updateFunc = function( i ) {
+ return function( value ) {
+ resolveContexts[ i ] = this;
+ resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
+ if ( !( --remaining ) ) {
+ master.resolveWith( resolveContexts, resolveValues );
+ }
+ };
+ };
+
+ // Single- and empty arguments are adopted like Promise.resolve
+ if ( remaining <= 1 ) {
+ adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,
+ !remaining );
+
+ // Use .then() to unwrap secondary thenables (cf. gh-3000)
+ if ( master.state() === "pending" ||
+ jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
+
+ return master.then();
+ }
+ }
+
+ // Multiple arguments are aggregated like Promise.all array elements
+ while ( i-- ) {
+ adoptValue( resolveValues[ i ], updateFunc( i ), master.reject );
+ }
+
+ return master.promise();
+ }
+} );
+
+
+// These usually indicate a programmer mistake during development,
+// warn about them ASAP rather than swallowing them by default.
+var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
+
+jQuery.Deferred.exceptionHook = function( error, stack ) {
+
+ // Support: IE 8 - 9 only
+ // Console exists when dev tools are open, which can happen at any time
+ if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
+ window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack );
+ }
+};
+
+
+
+
+jQuery.readyException = function( error ) {
+ window.setTimeout( function() {
+ throw error;
+ } );
+};
+
+
+
+
+// The deferred used on DOM ready
+var readyList = jQuery.Deferred();
+
+jQuery.fn.ready = function( fn ) {
+
+ readyList
+ .then( fn )
+
+ // Wrap jQuery.readyException in a function so that the lookup
+ // happens at the time of error handling instead of callback
+ // registration.
+ .catch( function( error ) {
+ jQuery.readyException( error );
+ } );
+
+ return this;
+};
+
+jQuery.extend( {
+
+ // Is the DOM ready to be used? Set to true once it occurs.
+ isReady: false,
+
+ // A counter to track how many items to wait for before
+ // the ready event fires. See #6781
+ readyWait: 1,
+
+ // Handle when the DOM is ready
+ ready: function( wait ) {
+
+ // Abort if there are pending holds or we're already ready
+ if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+ return;
+ }
+
+ // Remember that the DOM is ready
+ jQuery.isReady = true;
+
+ // If a normal DOM Ready event fired, decrement, and wait if need be
+ if ( wait !== true && --jQuery.readyWait > 0 ) {
+ return;
+ }
+
+ // If there are functions bound, to execute
+ readyList.resolveWith( document, [ jQuery ] );
+ }
+} );
+
+jQuery.ready.then = readyList.then;
+
+// The ready event handler and self cleanup method
+function completed() {
+ document.removeEventListener( "DOMContentLoaded", completed );
+ window.removeEventListener( "load", completed );
+ jQuery.ready();
+}
+
+// Catch cases where $(document).ready() is called
+// after the browser event has already occurred.
+// Support: IE <=9 - 10 only
+// Older IE sometimes signals "interactive" too soon
+if ( document.readyState === "complete" ||
+ ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
+
+ // Handle it asynchronously to allow scripts the opportunity to delay ready
+ window.setTimeout( jQuery.ready );
+
+} else {
+
+ // Use the handy event callback
+ document.addEventListener( "DOMContentLoaded", completed );
+
+ // A fallback to window.onload, that will always work
+ window.addEventListener( "load", completed );
+}
+
+
+
+
+// Multifunctional method to get and set values of a collection
+// The value/s can optionally be executed if it's a function
+var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
+ var i = 0,
+ len = elems.length,
+ bulk = key == null;
+
+ // Sets many values
+ if ( jQuery.type( key ) === "object" ) {
+ chainable = true;
+ for ( i in key ) {
+ access( elems, fn, i, key[ i ], true, emptyGet, raw );
+ }
+
+ // Sets one value
+ } else if ( value !== undefined ) {
+ chainable = true;
+
+ if ( !jQuery.isFunction( value ) ) {
+ raw = true;
+ }
+
+ if ( bulk ) {
+
+ // Bulk operations run against the entire set
+ if ( raw ) {
+ fn.call( elems, value );
+ fn = null;
+
+ // ...except when executing function values
+ } else {
+ bulk = fn;
+ fn = function( elem, key, value ) {
+ return bulk.call( jQuery( elem ), value );
+ };
+ }
+ }
+
+ if ( fn ) {
+ for ( ; i < len; i++ ) {
+ fn(
+ elems[ i ], key, raw ?
+ value :
+ value.call( elems[ i ], i, fn( elems[ i ], key ) )
+ );
+ }
+ }
+ }
+
+ if ( chainable ) {
+ return elems;
+ }
+
+ // Gets
+ if ( bulk ) {
+ return fn.call( elems );
+ }
+
+ return len ? fn( elems[ 0 ], key ) : emptyGet;
+};
+var acceptData = function( owner ) {
+
+ // Accepts only:
+ // - Node
+ // - Node.ELEMENT_NODE
+ // - Node.DOCUMENT_NODE
+ // - Object
+ // - Any
+ return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
+};
+
+
+
+
+function Data() {
+ this.expando = jQuery.expando + Data.uid++;
+}
+
+Data.uid = 1;
+
+Data.prototype = {
+
+ cache: function( owner ) {
+
+ // Check if the owner object already has a cache
+ var value = owner[ this.expando ];
+
+ // If not, create one
+ if ( !value ) {
+ value = {};
+
+ // We can accept data for non-element nodes in modern browsers,
+ // but we should not, see #8335.
+ // Always return an empty object.
+ if ( acceptData( owner ) ) {
+
+ // If it is a node unlikely to be stringify-ed or looped over
+ // use plain assignment
+ if ( owner.nodeType ) {
+ owner[ this.expando ] = value;
+
+ // Otherwise secure it in a non-enumerable property
+ // configurable must be true to allow the property to be
+ // deleted when data is removed
+ } else {
+ Object.defineProperty( owner, this.expando, {
+ value: value,
+ configurable: true
+ } );
+ }
+ }
+ }
+
+ return value;
+ },
+ set: function( owner, data, value ) {
+ var prop,
+ cache = this.cache( owner );
+
+ // Handle: [ owner, key, value ] args
+ // Always use camelCase key (gh-2257)
+ if ( typeof data === "string" ) {
+ cache[ jQuery.camelCase( data ) ] = value;
+
+ // Handle: [ owner, { properties } ] args
+ } else {
+
+ // Copy the properties one-by-one to the cache object
+ for ( prop in data ) {
+ cache[ jQuery.camelCase( prop ) ] = data[ prop ];
+ }
+ }
+ return cache;
+ },
+ get: function( owner, key ) {
+ return key === undefined ?
+ this.cache( owner ) :
+
+ // Always use camelCase key (gh-2257)
+ owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ];
+ },
+ access: function( owner, key, value ) {
+
+ // In cases where either:
+ //
+ // 1. No key was specified
+ // 2. A string key was specified, but no value provided
+ //
+ // Take the "read" path and allow the get method to determine
+ // which value to return, respectively either:
+ //
+ // 1. The entire cache object
+ // 2. The data stored at the key
+ //
+ if ( key === undefined ||
+ ( ( key && typeof key === "string" ) && value === undefined ) ) {
+
+ return this.get( owner, key );
+ }
+
+ // When the key is not a string, or both a key and value
+ // are specified, set or extend (existing objects) with either:
+ //
+ // 1. An object of properties
+ // 2. A key and value
+ //
+ this.set( owner, key, value );
+
+ // Since the "set" path can have two possible entry points
+ // return the expected data based on which path was taken[*]
+ return value !== undefined ? value : key;
+ },
+ remove: function( owner, key ) {
+ var i,
+ cache = owner[ this.expando ];
+
+ if ( cache === undefined ) {
+ return;
+ }
+
+ if ( key !== undefined ) {
+
+ // Support array or space separated string of keys
+ if ( Array.isArray( key ) ) {
+
+ // If key is an array of keys...
+ // We always set camelCase keys, so remove that.
+ key = key.map( jQuery.camelCase );
+ } else {
+ key = jQuery.camelCase( key );
+
+ // If a key with the spaces exists, use it.
+ // Otherwise, create an array by matching non-whitespace
+ key = key in cache ?
+ [ key ] :
+ ( key.match( rnothtmlwhite ) || [] );
+ }
+
+ i = key.length;
+
+ while ( i-- ) {
+ delete cache[ key[ i ] ];
+ }
+ }
+
+ // Remove the expando if there's no more data
+ if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
+
+ // Support: Chrome <=35 - 45
+ // Webkit & Blink performance suffers when deleting properties
+ // from DOM nodes, so set to undefined instead
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
+ if ( owner.nodeType ) {
+ owner[ this.expando ] = undefined;
+ } else {
+ delete owner[ this.expando ];
+ }
+ }
+ },
+ hasData: function( owner ) {
+ var cache = owner[ this.expando ];
+ return cache !== undefined && !jQuery.isEmptyObject( cache );
+ }
+};
+var dataPriv = new Data();
+
+var dataUser = new Data();
+
+
+
+// Implementation Summary
+//
+// 1. Enforce API surface and semantic compatibility with 1.9.x branch
+// 2. Improve the module's maintainability by reducing the storage
+// paths to a single mechanism.
+// 3. Use the same single mechanism to support "private" and "user" data.
+// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
+// 5. Avoid exposing implementation details on user objects (eg. expando properties)
+// 6. Provide a clear path for implementation upgrade to WeakMap in 2014
+
+var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+ rmultiDash = /[A-Z]/g;
+
+function getData( data ) {
+ if ( data === "true" ) {
+ return true;
+ }
+
+ if ( data === "false" ) {
+ return false;
+ }
+
+ if ( data === "null" ) {
+ return null;
+ }
+
+ // Only convert to a number if it doesn't change the string
+ if ( data === +data + "" ) {
+ return +data;
+ }
+
+ if ( rbrace.test( data ) ) {
+ return JSON.parse( data );
+ }
+
+ return data;
+}
+
+function dataAttr( elem, key, data ) {
+ var name;
+
+ // If nothing was found internally, try to fetch any
+ // data from the HTML5 data-* attribute
+ if ( data === undefined && elem.nodeType === 1 ) {
+ name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
+ data = elem.getAttribute( name );
+
+ if ( typeof data === "string" ) {
+ try {
+ data = getData( data );
+ } catch ( e ) {}
+
+ // Make sure we set the data so it isn't changed later
+ dataUser.set( elem, key, data );
+ } else {
+ data = undefined;
+ }
+ }
+ return data;
+}
+
+jQuery.extend( {
+ hasData: function( elem ) {
+ return dataUser.hasData( elem ) || dataPriv.hasData( elem );
+ },
+
+ data: function( elem, name, data ) {
+ return dataUser.access( elem, name, data );
+ },
+
+ removeData: function( elem, name ) {
+ dataUser.remove( elem, name );
+ },
+
+ // TODO: Now that all calls to _data and _removeData have been replaced
+ // with direct calls to dataPriv methods, these can be deprecated.
+ _data: function( elem, name, data ) {
+ return dataPriv.access( elem, name, data );
+ },
+
+ _removeData: function( elem, name ) {
+ dataPriv.remove( elem, name );
+ }
+} );
+
+jQuery.fn.extend( {
+ data: function( key, value ) {
+ var i, name, data,
+ elem = this[ 0 ],
+ attrs = elem && elem.attributes;
+
+ // Gets all values
+ if ( key === undefined ) {
+ if ( this.length ) {
+ data = dataUser.get( elem );
+
+ if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
+ i = attrs.length;
+ while ( i-- ) {
+
+ // Support: IE 11 only
+ // The attrs elements can be null (#14894)
+ if ( attrs[ i ] ) {
+ name = attrs[ i ].name;
+ if ( name.indexOf( "data-" ) === 0 ) {
+ name = jQuery.camelCase( name.slice( 5 ) );
+ dataAttr( elem, name, data[ name ] );
+ }
+ }
+ }
+ dataPriv.set( elem, "hasDataAttrs", true );
+ }
+ }
+
+ return data;
+ }
+
+ // Sets multiple values
+ if ( typeof key === "object" ) {
+ return this.each( function() {
+ dataUser.set( this, key );
+ } );
+ }
+
+ return access( this, function( value ) {
+ var data;
+
+ // The calling jQuery object (element matches) is not empty
+ // (and therefore has an element appears at this[ 0 ]) and the
+ // `value` parameter was not undefined. An empty jQuery object
+ // will result in `undefined` for elem = this[ 0 ] which will
+ // throw an exception if an attempt to read a data cache is made.
+ if ( elem && value === undefined ) {
+
+ // Attempt to get data from the cache
+ // The key will always be camelCased in Data
+ data = dataUser.get( elem, key );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // Attempt to "discover" the data in
+ // HTML5 custom data-* attrs
+ data = dataAttr( elem, key );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // We tried really hard, but the data doesn't exist.
+ return;
+ }
+
+ // Set the data...
+ this.each( function() {
+
+ // We always store the camelCased key
+ dataUser.set( this, key, value );
+ } );
+ }, null, value, arguments.length > 1, null, true );
+ },
+
+ removeData: function( key ) {
+ return this.each( function() {
+ dataUser.remove( this, key );
+ } );
+ }
+} );
+
+
+jQuery.extend( {
+ queue: function( elem, type, data ) {
+ var queue;
+
+ if ( elem ) {
+ type = ( type || "fx" ) + "queue";
+ queue = dataPriv.get( elem, type );
+
+ // Speed up dequeue by getting out quickly if this is just a lookup
+ if ( data ) {
+ if ( !queue || Array.isArray( data ) ) {
+ queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
+ } else {
+ queue.push( data );
+ }
+ }
+ return queue || [];
+ }
+ },
+
+ dequeue: function( elem, type ) {
+ type = type || "fx";
+
+ var queue = jQuery.queue( elem, type ),
+ startLength = queue.length,
+ fn = queue.shift(),
+ hooks = jQuery._queueHooks( elem, type ),
+ next = function() {
+ jQuery.dequeue( elem, type );
+ };
+
+ // If the fx queue is dequeued, always remove the progress sentinel
+ if ( fn === "inprogress" ) {
+ fn = queue.shift();
+ startLength--;
+ }
+
+ if ( fn ) {
+
+ // Add a progress sentinel to prevent the fx queue from being
+ // automatically dequeued
+ if ( type === "fx" ) {
+ queue.unshift( "inprogress" );
+ }
+
+ // Clear up the last queue stop function
+ delete hooks.stop;
+ fn.call( elem, next, hooks );
+ }
+
+ if ( !startLength && hooks ) {
+ hooks.empty.fire();
+ }
+ },
+
+ // Not public - generate a queueHooks object, or return the current one
+ _queueHooks: function( elem, type ) {
+ var key = type + "queueHooks";
+ return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
+ empty: jQuery.Callbacks( "once memory" ).add( function() {
+ dataPriv.remove( elem, [ type + "queue", key ] );
+ } )
+ } );
+ }
+} );
+
+jQuery.fn.extend( {
+ queue: function( type, data ) {
+ var setter = 2;
+
+ if ( typeof type !== "string" ) {
+ data = type;
+ type = "fx";
+ setter--;
+ }
+
+ if ( arguments.length < setter ) {
+ return jQuery.queue( this[ 0 ], type );
+ }
+
+ return data === undefined ?
+ this :
+ this.each( function() {
+ var queue = jQuery.queue( this, type, data );
+
+ // Ensure a hooks for this queue
+ jQuery._queueHooks( this, type );
+
+ if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
+ jQuery.dequeue( this, type );
+ }
+ } );
+ },
+ dequeue: function( type ) {
+ return this.each( function() {
+ jQuery.dequeue( this, type );
+ } );
+ },
+ clearQueue: function( type ) {
+ return this.queue( type || "fx", [] );
+ },
+
+ // Get a promise resolved when queues of a certain type
+ // are emptied (fx is the type by default)
+ promise: function( type, obj ) {
+ var tmp,
+ count = 1,
+ defer = jQuery.Deferred(),
+ elements = this,
+ i = this.length,
+ resolve = function() {
+ if ( !( --count ) ) {
+ defer.resolveWith( elements, [ elements ] );
+ }
+ };
+
+ if ( typeof type !== "string" ) {
+ obj = type;
+ type = undefined;
+ }
+ type = type || "fx";
+
+ while ( i-- ) {
+ tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
+ if ( tmp && tmp.empty ) {
+ count++;
+ tmp.empty.add( resolve );
+ }
+ }
+ resolve();
+ return defer.promise( obj );
+ }
+} );
+var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
+
+var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
+
+
+var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
+
+var isHiddenWithinTree = function( elem, el ) {
+
+ // isHiddenWithinTree might be called from jQuery#filter function;
+ // in that case, element will be second argument
+ elem = el || elem;
+
+ // Inline style trumps all
+ return elem.style.display === "none" ||
+ elem.style.display === "" &&
+
+ // Otherwise, check computed style
+ // Support: Firefox <=43 - 45
+ // Disconnected elements can have computed display: none, so first confirm that elem is
+ // in the document.
+ jQuery.contains( elem.ownerDocument, elem ) &&
+
+ jQuery.css( elem, "display" ) === "none";
+ };
+
+var swap = function( elem, options, callback, args ) {
+ var ret, name,
+ old = {};
+
+ // Remember the old values, and insert the new ones
+ for ( name in options ) {
+ old[ name ] = elem.style[ name ];
+ elem.style[ name ] = options[ name ];
+ }
+
+ ret = callback.apply( elem, args || [] );
+
+ // Revert the old values
+ for ( name in options ) {
+ elem.style[ name ] = old[ name ];
+ }
+
+ return ret;
+};
+
+
+
+
+function adjustCSS( elem, prop, valueParts, tween ) {
+ var adjusted,
+ scale = 1,
+ maxIterations = 20,
+ currentValue = tween ?
+ function() {
+ return tween.cur();
+ } :
+ function() {
+ return jQuery.css( elem, prop, "" );
+ },
+ initial = currentValue(),
+ unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
+
+ // Starting value computation is required for potential unit mismatches
+ initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
+ rcssNum.exec( jQuery.css( elem, prop ) );
+
+ if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
+
+ // Trust units reported by jQuery.css
+ unit = unit || initialInUnit[ 3 ];
+
+ // Make sure we update the tween properties later on
+ valueParts = valueParts || [];
+
+ // Iteratively approximate from a nonzero starting point
+ initialInUnit = +initial || 1;
+
+ do {
+
+ // If previous iteration zeroed out, double until we get *something*.
+ // Use string for doubling so we don't accidentally see scale as unchanged below
+ scale = scale || ".5";
+
+ // Adjust and apply
+ initialInUnit = initialInUnit / scale;
+ jQuery.style( elem, prop, initialInUnit + unit );
+
+ // Update scale, tolerating zero or NaN from tween.cur()
+ // Break the loop if scale is unchanged or perfect, or if we've just had enough.
+ } while (
+ scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations
+ );
+ }
+
+ if ( valueParts ) {
+ initialInUnit = +initialInUnit || +initial || 0;
+
+ // Apply relative offset (+=/-=) if specified
+ adjusted = valueParts[ 1 ] ?
+ initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
+ +valueParts[ 2 ];
+ if ( tween ) {
+ tween.unit = unit;
+ tween.start = initialInUnit;
+ tween.end = adjusted;
+ }
+ }
+ return adjusted;
+}
+
+
+var defaultDisplayMap = {};
+
+function getDefaultDisplay( elem ) {
+ var temp,
+ doc = elem.ownerDocument,
+ nodeName = elem.nodeName,
+ display = defaultDisplayMap[ nodeName ];
+
+ if ( display ) {
+ return display;
+ }
+
+ temp = doc.body.appendChild( doc.createElement( nodeName ) );
+ display = jQuery.css( temp, "display" );
+
+ temp.parentNode.removeChild( temp );
+
+ if ( display === "none" ) {
+ display = "block";
+ }
+ defaultDisplayMap[ nodeName ] = display;
+
+ return display;
+}
+
+function showHide( elements, show ) {
+ var display, elem,
+ values = [],
+ index = 0,
+ length = elements.length;
+
+ // Determine new display value for elements that need to change
+ for ( ; index < length; index++ ) {
+ elem = elements[ index ];
+ if ( !elem.style ) {
+ continue;
+ }
+
+ display = elem.style.display;
+ if ( show ) {
+
+ // Since we force visibility upon cascade-hidden elements, an immediate (and slow)
+ // check is required in this first loop unless we have a nonempty display value (either
+ // inline or about-to-be-restored)
+ if ( display === "none" ) {
+ values[ index ] = dataPriv.get( elem, "display" ) || null;
+ if ( !values[ index ] ) {
+ elem.style.display = "";
+ }
+ }
+ if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) {
+ values[ index ] = getDefaultDisplay( elem );
+ }
+ } else {
+ if ( display !== "none" ) {
+ values[ index ] = "none";
+
+ // Remember what we're overwriting
+ dataPriv.set( elem, "display", display );
+ }
+ }
+ }
+
+ // Set the display of the elements in a second loop to avoid constant reflow
+ for ( index = 0; index < length; index++ ) {
+ if ( values[ index ] != null ) {
+ elements[ index ].style.display = values[ index ];
+ }
+ }
+
+ return elements;
+}
+
+jQuery.fn.extend( {
+ show: function() {
+ return showHide( this, true );
+ },
+ hide: function() {
+ return showHide( this );
+ },
+ toggle: function( state ) {
+ if ( typeof state === "boolean" ) {
+ return state ? this.show() : this.hide();
+ }
+
+ return this.each( function() {
+ if ( isHiddenWithinTree( this ) ) {
+ jQuery( this ).show();
+ } else {
+ jQuery( this ).hide();
+ }
+ } );
+ }
+} );
+var rcheckableType = ( /^(?:checkbox|radio)$/i );
+
+var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i );
+
+var rscriptType = ( /^$|\/(?:java|ecma)script/i );
+
+
+
+// We have to close these tags to support XHTML (#13200)
+var wrapMap = {
+
+ // Support: IE <=9 only
+ option: [ 1, "<select multiple='multiple'>", "</select>" ],
+
+ // XHTML parsers do not magically insert elements in the
+ // same way that tag soup parsers do. So we cannot shorten
+ // this by omitting <tbody> or other required elements.
+ thead: [ 1, "<table>", "</table>" ],
+ col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
+ tr: [ 2, "<table><tbody>", "</tbody></table>" ],
+ td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
+
+ _default: [ 0, "", "" ]
+};
+
+// Support: IE <=9 only
+wrapMap.optgroup = wrapMap.option;
+
+wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
+wrapMap.th = wrapMap.td;
+
+
+function getAll( context, tag ) {
+
+ // Support: IE <=9 - 11 only
+ // Use typeof to avoid zero-argument method invocation on host objects (#15151)
+ var ret;
+
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
+ ret = context.getElementsByTagName( tag || "*" );
+
+ } else if ( typeof context.querySelectorAll !== "undefined" ) {
+ ret = context.querySelectorAll( tag || "*" );
+
+ } else {
+ ret = [];
+ }
+
+ if ( tag === undefined || tag && nodeName( context, tag ) ) {
+ return jQuery.merge( [ context ], ret );
+ }
+
+ return ret;
+}
+
+
+// Mark scripts as having already been evaluated
+function setGlobalEval( elems, refElements ) {
+ var i = 0,
+ l = elems.length;
+
+ for ( ; i < l; i++ ) {
+ dataPriv.set(
+ elems[ i ],
+ "globalEval",
+ !refElements || dataPriv.get( refElements[ i ], "globalEval" )
+ );
+ }
+}
+
+
+var rhtml = /<|&#?\w+;/;
+
+function buildFragment( elems, context, scripts, selection, ignored ) {
+ var elem, tmp, tag, wrap, contains, j,
+ fragment = context.createDocumentFragment(),
+ nodes = [],
+ i = 0,
+ l = elems.length;
+
+ for ( ; i < l; i++ ) {
+ elem = elems[ i ];
+
+ if ( elem || elem === 0 ) {
+
+ // Add nodes directly
+ if ( jQuery.type( elem ) === "object" ) {
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
+
+ // Convert non-html into a text node
+ } else if ( !rhtml.test( elem ) ) {
+ nodes.push( context.createTextNode( elem ) );
+
+ // Convert html into DOM nodes
+ } else {
+ tmp = tmp || fragment.appendChild( context.createElement( "div" ) );
+
+ // Deserialize a standard representation
+ tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
+ wrap = wrapMap[ tag ] || wrapMap._default;
+ tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
+
+ // Descend through wrappers to the right content
+ j = wrap[ 0 ];
+ while ( j-- ) {
+ tmp = tmp.lastChild;
+ }
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( nodes, tmp.childNodes );
+
+ // Remember the top-level container
+ tmp = fragment.firstChild;
+
+ // Ensure the created nodes are orphaned (#12392)
+ tmp.textContent = "";
+ }
+ }
+ }
+
+ // Remove wrapper from fragment
+ fragment.textContent = "";
+
+ i = 0;
+ while ( ( elem = nodes[ i++ ] ) ) {
+
+ // Skip elements already in the context collection (trac-4087)
+ if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
+ if ( ignored ) {
+ ignored.push( elem );
+ }
+ continue;
+ }
+
+ contains = jQuery.contains( elem.ownerDocument, elem );
+
+ // Append to fragment
+ tmp = getAll( fragment.appendChild( elem ), "script" );
+
+ // Preserve script evaluation history
+ if ( contains ) {
+ setGlobalEval( tmp );
+ }
+
+ // Capture executables
+ if ( scripts ) {
+ j = 0;
+ while ( ( elem = tmp[ j++ ] ) ) {
+ if ( rscriptType.test( elem.type || "" ) ) {
+ scripts.push( elem );
+ }
+ }
+ }
+ }
+
+ return fragment;
+}
+
+
+( function() {
+ var fragment = document.createDocumentFragment(),
+ div = fragment.appendChild( document.createElement( "div" ) ),
+ input = document.createElement( "input" );
+
+ // Support: Android 4.0 - 4.3 only
+ // Check state lost if the name is set (#11217)
+ // Support: Windows Web Apps (WWA)
+ // `name` and `type` must use .setAttribute for WWA (#14901)
+ input.setAttribute( "type", "radio" );
+ input.setAttribute( "checked", "checked" );
+ input.setAttribute( "name", "t" );
+
+ div.appendChild( input );
+
+ // Support: Android <=4.1 only
+ // Older WebKit doesn't clone checked state correctly in fragments
+ support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+ // Support: IE <=11 only
+ // Make sure textarea (and checkbox) defaultValue is properly cloned
+ div.innerHTML = "<textarea>x</textarea>";
+ support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
+} )();
+var documentElement = document.documentElement;
+
+
+
+var
+ rkeyEvent = /^key/,
+ rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
+ rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
+
+function returnTrue() {
+ return true;
+}
+
+function returnFalse() {
+ return false;
+}
+
+// Support: IE <=9 only
+// See #13393 for more info
+function safeActiveElement() {
+ try {
+ return document.activeElement;
+ } catch ( err ) { }
+}
+
+function on( elem, types, selector, data, fn, one ) {
+ var origFn, type;
+
+ // Types can be a map of types/handlers
+ if ( typeof types === "object" ) {
+
+ // ( types-Object, selector, data )
+ if ( typeof selector !== "string" ) {
+
+ // ( types-Object, data )
+ data = data || selector;
+ selector = undefined;
+ }
+ for ( type in types ) {
+ on( elem, type, selector, data, types[ type ], one );
+ }
+ return elem;
+ }
+
+ if ( data == null && fn == null ) {
+
+ // ( types, fn )
+ fn = selector;
+ data = selector = undefined;
+ } else if ( fn == null ) {
+ if ( typeof selector === "string" ) {
+
+ // ( types, selector, fn )
+ fn = data;
+ data = undefined;
+ } else {
+
+ // ( types, data, fn )
+ fn = data;
+ data = selector;
+ selector = undefined;
+ }
+ }
+ if ( fn === false ) {
+ fn = returnFalse;
+ } else if ( !fn ) {
+ return elem;
+ }
+
+ if ( one === 1 ) {
+ origFn = fn;
+ fn = function( event ) {
+
+ // Can use an empty set, since event contains the info
+ jQuery().off( event );
+ return origFn.apply( this, arguments );
+ };
+
+ // Use same guid so caller can remove using origFn
+ fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
+ }
+ return elem.each( function() {
+ jQuery.event.add( this, types, fn, data, selector );
+ } );
+}
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+jQuery.event = {
+
+ global: {},
+
+ add: function( elem, types, handler, data, selector ) {
+
+ var handleObjIn, eventHandle, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = dataPriv.get( elem );
+
+ // Don't attach events to noData or text/comment nodes (but allow plain objects)
+ if ( !elemData ) {
+ return;
+ }
+
+ // Caller can pass in an object of custom data in lieu of the handler
+ if ( handler.handler ) {
+ handleObjIn = handler;
+ handler = handleObjIn.handler;
+ selector = handleObjIn.selector;
+ }
+
+ // Ensure that invalid selectors throw exceptions at attach time
+ // Evaluate against documentElement in case elem is a non-element node (e.g., document)
+ if ( selector ) {
+ jQuery.find.matchesSelector( documentElement, selector );
+ }
+
+ // Make sure that the handler has a unique ID, used to find/remove it later
+ if ( !handler.guid ) {
+ handler.guid = jQuery.guid++;
+ }
+
+ // Init the element's event structure and main handler, if this is the first
+ if ( !( events = elemData.events ) ) {
+ events = elemData.events = {};
+ }
+ if ( !( eventHandle = elemData.handle ) ) {
+ eventHandle = elemData.handle = function( e ) {
+
+ // Discard the second event of a jQuery.event.trigger() and
+ // when an event is called after a page has unloaded
+ return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
+ jQuery.event.dispatch.apply( elem, arguments ) : undefined;
+ };
+ }
+
+ // Handle multiple events separated by a space
+ types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[ t ] ) || [];
+ type = origType = tmp[ 1 ];
+ namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+ // There *must* be a type, no attaching namespace-only handlers
+ if ( !type ) {
+ continue;
+ }
+
+ // If event changes its type, use the special event handlers for the changed type
+ special = jQuery.event.special[ type ] || {};
+
+ // If selector defined, determine special event api type, otherwise given type
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+
+ // Update special based on newly reset type
+ special = jQuery.event.special[ type ] || {};
+
+ // handleObj is passed to all event handlers
+ handleObj = jQuery.extend( {
+ type: type,
+ origType: origType,
+ data: data,
+ handler: handler,
+ guid: handler.guid,
+ selector: selector,
+ needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
+ namespace: namespaces.join( "." )
+ }, handleObjIn );
+
+ // Init the event handler queue if we're the first
+ if ( !( handlers = events[ type ] ) ) {
+ handlers = events[ type ] = [];
+ handlers.delegateCount = 0;
+
+ // Only use addEventListener if the special events handler returns false
+ if ( !special.setup ||
+ special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+
+ if ( elem.addEventListener ) {
+ elem.addEventListener( type, eventHandle );
+ }
+ }
+ }
+
+ if ( special.add ) {
+ special.add.call( elem, handleObj );
+
+ if ( !handleObj.handler.guid ) {
+ handleObj.handler.guid = handler.guid;
+ }
+ }
+
+ // Add to the element's handler list, delegates in front
+ if ( selector ) {
+ handlers.splice( handlers.delegateCount++, 0, handleObj );
+ } else {
+ handlers.push( handleObj );
+ }
+
+ // Keep track of which events have ever been used, for event optimization
+ jQuery.event.global[ type ] = true;
+ }
+
+ },
+
+ // Detach an event or set of events from an element
+ remove: function( elem, types, handler, selector, mappedTypes ) {
+
+ var j, origCount, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
+
+ if ( !elemData || !( events = elemData.events ) ) {
+ return;
+ }
+
+ // Once for each type.namespace in types; type may be omitted
+ types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[ t ] ) || [];
+ type = origType = tmp[ 1 ];
+ namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+ // Unbind all events (on this namespace, if provided) for the element
+ if ( !type ) {
+ for ( type in events ) {
+ jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
+ }
+ continue;
+ }
+
+ special = jQuery.event.special[ type ] || {};
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+ handlers = events[ type ] || [];
+ tmp = tmp[ 2 ] &&
+ new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
+
+ // Remove matching events
+ origCount = j = handlers.length;
+ while ( j-- ) {
+ handleObj = handlers[ j ];
+
+ if ( ( mappedTypes || origType === handleObj.origType ) &&
+ ( !handler || handler.guid === handleObj.guid ) &&
+ ( !tmp || tmp.test( handleObj.namespace ) ) &&
+ ( !selector || selector === handleObj.selector ||
+ selector === "**" && handleObj.selector ) ) {
+ handlers.splice( j, 1 );
+
+ if ( handleObj.selector ) {
+ handlers.delegateCount--;
+ }
+ if ( special.remove ) {
+ special.remove.call( elem, handleObj );
+ }
+ }
+ }
+
+ // Remove generic event handler if we removed something and no more handlers exist
+ // (avoids potential for endless recursion during removal of special event handlers)
+ if ( origCount && !handlers.length ) {
+ if ( !special.teardown ||
+ special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
+
+ jQuery.removeEvent( elem, type, elemData.handle );
+ }
+
+ delete events[ type ];
+ }
+ }
+
+ // Remove data and the expando if it's no longer used
+ if ( jQuery.isEmptyObject( events ) ) {
+ dataPriv.remove( elem, "handle events" );
+ }
+ },
+
+ dispatch: function( nativeEvent ) {
+
+ // Make a writable jQuery.Event from the native event object
+ var event = jQuery.event.fix( nativeEvent );
+
+ var i, j, ret, matched, handleObj, handlerQueue,
+ args = new Array( arguments.length ),
+ handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
+ special = jQuery.event.special[ event.type ] || {};
+
+ // Use the fix-ed jQuery.Event rather than the (read-only) native event
+ args[ 0 ] = event;
+
+ for ( i = 1; i < arguments.length; i++ ) {
+ args[ i ] = arguments[ i ];
+ }
+
+ event.delegateTarget = this;
+
+ // Call the preDispatch hook for the mapped type, and let it bail if desired
+ if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
+ return;
+ }
+
+ // Determine handlers
+ handlerQueue = jQuery.event.handlers.call( this, event, handlers );
+
+ // Run delegates first; they may want to stop propagation beneath us
+ i = 0;
+ while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
+ event.currentTarget = matched.elem;
+
+ j = 0;
+ while ( ( handleObj = matched.handlers[ j++ ] ) &&
+ !event.isImmediatePropagationStopped() ) {
+
+ // Triggered event must either 1) have no namespace, or 2) have namespace(s)
+ // a subset or equal to those in the bound event (both can have no namespace).
+ if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {
+
+ event.handleObj = handleObj;
+ event.data = handleObj.data;
+
+ ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
+ handleObj.handler ).apply( matched.elem, args );
+
+ if ( ret !== undefined ) {
+ if ( ( event.result = ret ) === false ) {
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ }
+ }
+ }
+ }
+
+ // Call the postDispatch hook for the mapped type
+ if ( special.postDispatch ) {
+ special.postDispatch.call( this, event );
+ }
+
+ return event.result;
+ },
+
+ handlers: function( event, handlers ) {
+ var i, handleObj, sel, matchedHandlers, matchedSelectors,
+ handlerQueue = [],
+ delegateCount = handlers.delegateCount,
+ cur = event.target;
+
+ // Find delegate handlers
+ if ( delegateCount &&
+
+ // Support: IE <=9
+ // Black-hole SVG <use> instance trees (trac-13180)
+ cur.nodeType &&
+
+ // Support: Firefox <=42
+ // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
+ // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
+ // Support: IE 11 only
+ // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
+ !( event.type === "click" && event.button >= 1 ) ) {
+
+ for ( ; cur !== this; cur = cur.parentNode || this ) {
+
+ // Don't check non-elements (#13208)
+ // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
+ if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
+ matchedHandlers = [];
+ matchedSelectors = {};
+ for ( i = 0; i < delegateCount; i++ ) {
+ handleObj = handlers[ i ];
+
+ // Don't conflict with Object.prototype properties (#13203)
+ sel = handleObj.selector + " ";
+
+ if ( matchedSelectors[ sel ] === undefined ) {
+ matchedSelectors[ sel ] = handleObj.needsContext ?
+ jQuery( sel, this ).index( cur ) > -1 :
+ jQuery.find( sel, this, null, [ cur ] ).length;
+ }
+ if ( matchedSelectors[ sel ] ) {
+ matchedHandlers.push( handleObj );
+ }
+ }
+ if ( matchedHandlers.length ) {
+ handlerQueue.push( { elem: cur, handlers: matchedHandlers } );
+ }
+ }
+ }
+ }
+
+ // Add the remaining (directly-bound) handlers
+ cur = this;
+ if ( delegateCount < handlers.length ) {
+ handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );
+ }
+
+ return handlerQueue;
+ },
+
+ addProp: function( name, hook ) {
+ Object.defineProperty( jQuery.Event.prototype, name, {
+ enumerable: true,
+ configurable: true,
+
+ get: jQuery.isFunction( hook ) ?
+ function() {
+ if ( this.originalEvent ) {
+ return hook( this.originalEvent );
+ }
+ } :
+ function() {
+ if ( this.originalEvent ) {
+ return this.originalEvent[ name ];
+ }
+ },
+
+ set: function( value ) {
+ Object.defineProperty( this, name, {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: value
+ } );
+ }
+ } );
+ },
+
+ fix: function( originalEvent ) {
+ return originalEvent[ jQuery.expando ] ?
+ originalEvent :
+ new jQuery.Event( originalEvent );
+ },
+
+ special: {
+ load: {
+
+ // Prevent triggered image.load events from bubbling to window.load
+ noBubble: true
+ },
+ focus: {
+
+ // Fire native event if possible so blur/focus sequence is correct
+ trigger: function() {
+ if ( this !== safeActiveElement() && this.focus ) {
+ this.focus();
+ return false;
+ }
+ },
+ delegateType: "focusin"
+ },
+ blur: {
+ trigger: function() {
+ if ( this === safeActiveElement() && this.blur ) {
+ this.blur();
+ return false;
+ }
+ },
+ delegateType: "focusout"
+ },
+ click: {
+
+ // For checkbox, fire native event so checked state will be right
+ trigger: function() {
+ if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) {
+ this.click();
+ return false;
+ }
+ },
+
+ // For cross-browser consistency, don't fire native .click() on links
+ _default: function( event ) {
+ return nodeName( event.target, "a" );
+ }
+ },
+
+ beforeunload: {
+ postDispatch: function( event ) {
+
+ // Support: Firefox 20+
+ // Firefox doesn't alert if the returnValue field is not set.
+ if ( event.result !== undefined && event.originalEvent ) {
+ event.originalEvent.returnValue = event.result;
+ }
+ }
+ }
+ }
+};
+
+jQuery.removeEvent = function( elem, type, handle ) {
+
+ // This "if" is needed for plain objects
+ if ( elem.removeEventListener ) {
+ elem.removeEventListener( type, handle );
+ }
+};
+
+jQuery.Event = function( src, props ) {
+
+ // Allow instantiation without the 'new' keyword
+ if ( !( this instanceof jQuery.Event ) ) {
+ return new jQuery.Event( src, props );
+ }
+
+ // Event object
+ if ( src && src.type ) {
+ this.originalEvent = src;
+ this.type = src.type;
+
+ // Events bubbling up the document may have been marked as prevented
+ // by a handler lower down the tree; reflect the correct value.
+ this.isDefaultPrevented = src.defaultPrevented ||
+ src.defaultPrevented === undefined &&
+
+ // Support: Android <=2.3 only
+ src.returnValue === false ?
+ returnTrue :
+ returnFalse;
+
+ // Create target properties
+ // Support: Safari <=6 - 7 only
+ // Target should not be a text node (#504, #13143)
+ this.target = ( src.target && src.target.nodeType === 3 ) ?
+ src.target.parentNode :
+ src.target;
+
+ this.currentTarget = src.currentTarget;
+ this.relatedTarget = src.relatedTarget;
+
+ // Event type
+ } else {
+ this.type = src;
+ }
+
+ // Put explicitly provided properties onto the event object
+ if ( props ) {
+ jQuery.extend( this, props );
+ }
+
+ // Create a timestamp if incoming event doesn't have one
+ this.timeStamp = src && src.timeStamp || jQuery.now();
+
+ // Mark it as fixed
+ this[ jQuery.expando ] = true;
+};
+
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+ constructor: jQuery.Event,
+ isDefaultPrevented: returnFalse,
+ isPropagationStopped: returnFalse,
+ isImmediatePropagationStopped: returnFalse,
+ isSimulated: false,
+
+ preventDefault: function() {
+ var e = this.originalEvent;
+
+ this.isDefaultPrevented = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.preventDefault();
+ }
+ },
+ stopPropagation: function() {
+ var e = this.originalEvent;
+
+ this.isPropagationStopped = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.stopPropagation();
+ }
+ },
+ stopImmediatePropagation: function() {
+ var e = this.originalEvent;
+
+ this.isImmediatePropagationStopped = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.stopImmediatePropagation();
+ }
+
+ this.stopPropagation();
+ }
+};
+
+// Includes all common event props including KeyEvent and MouseEvent specific props
+jQuery.each( {
+ altKey: true,
+ bubbles: true,
+ cancelable: true,
+ changedTouches: true,
+ ctrlKey: true,
+ detail: true,
+ eventPhase: true,
+ metaKey: true,
+ pageX: true,
+ pageY: true,
+ shiftKey: true,
+ view: true,
+ "char": true,
+ charCode: true,
+ key: true,
+ keyCode: true,
+ button: true,
+ buttons: true,
+ clientX: true,
+ clientY: true,
+ offsetX: true,
+ offsetY: true,
+ pointerId: true,
+ pointerType: true,
+ screenX: true,
+ screenY: true,
+ targetTouches: true,
+ toElement: true,
+ touches: true,
+
+ which: function( event ) {
+ var button = event.button;
+
+ // Add which for key events
+ if ( event.which == null && rkeyEvent.test( event.type ) ) {
+ return event.charCode != null ? event.charCode : event.keyCode;
+ }
+
+ // Add which for click: 1 === left; 2 === middle; 3 === right
+ if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {
+ if ( button & 1 ) {
+ return 1;
+ }
+
+ if ( button & 2 ) {
+ return 3;
+ }
+
+ if ( button & 4 ) {
+ return 2;
+ }
+
+ return 0;
+ }
+
+ return event.which;
+ }
+}, jQuery.event.addProp );
+
+// Create mouseenter/leave events using mouseover/out and event-time checks
+// so that event delegation works in jQuery.
+// Do the same for pointerenter/pointerleave and pointerover/pointerout
+//
+// Support: Safari 7 only
+// Safari sends mouseenter too often; see:
+// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
+// for the description of the bug (it existed in older Chrome versions as well).
+jQuery.each( {
+ mouseenter: "mouseover",
+ mouseleave: "mouseout",
+ pointerenter: "pointerover",
+ pointerleave: "pointerout"
+}, function( orig, fix ) {
+ jQuery.event.special[ orig ] = {
+ delegateType: fix,
+ bindType: fix,
+
+ handle: function( event ) {
+ var ret,
+ target = this,
+ related = event.relatedTarget,
+ handleObj = event.handleObj;
+
+ // For mouseenter/leave call the handler if related is outside the target.
+ // NB: No relatedTarget if the mouse left/entered the browser window
+ if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
+ event.type = handleObj.origType;
+ ret = handleObj.handler.apply( this, arguments );
+ event.type = fix;
+ }
+ return ret;
+ }
+ };
+} );
+
+jQuery.fn.extend( {
+
+ on: function( types, selector, data, fn ) {
+ return on( this, types, selector, data, fn );
+ },
+ one: function( types, selector, data, fn ) {
+ return on( this, types, selector, data, fn, 1 );
+ },
+ off: function( types, selector, fn ) {
+ var handleObj, type;
+ if ( types && types.preventDefault && types.handleObj ) {
+
+ // ( event ) dispatched jQuery.Event
+ handleObj = types.handleObj;
+ jQuery( types.delegateTarget ).off(
+ handleObj.namespace ?
+ handleObj.origType + "." + handleObj.namespace :
+ handleObj.origType,
+ handleObj.selector,
+ handleObj.handler
+ );
+ return this;
+ }
+ if ( typeof types === "object" ) {
+
+ // ( types-object [, selector] )
+ for ( type in types ) {
+ this.off( type, selector, types[ type ] );
+ }
+ return this;
+ }
+ if ( selector === false || typeof selector === "function" ) {
+
+ // ( types [, fn] )
+ fn = selector;
+ selector = undefined;
+ }
+ if ( fn === false ) {
+ fn = returnFalse;
+ }
+ return this.each( function() {
+ jQuery.event.remove( this, types, fn, selector );
+ } );
+ }
+} );
+
+
+var
+
+ /* eslint-disable max-len */
+
+ // See https://github.com/eslint/eslint/issues/3229
+ rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
+
+ /* eslint-enable */
+
+ // Support: IE <=10 - 11, Edge 12 - 13
+ // In IE/Edge using regex groups here causes severe slowdowns.
+ // See https://connect.microsoft.com/IE/feedback/details/1736512/
+ rnoInnerhtml = /<script|<style|<link/i,
+
+ // checked="checked" or checked
+ rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
+ rscriptTypeMasked = /^true\/(.*)/,
+ rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
+
+// Prefer a tbody over its parent table for containing new rows
+function manipulationTarget( elem, content ) {
+ if ( nodeName( elem, "table" ) &&
+ nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
+
+ return jQuery( ">tbody", elem )[ 0 ] || elem;
+ }
+
+ return elem;
+}
+
+// Replace/restore the type attribute of script elements for safe DOM manipulation
+function disableScript( elem ) {
+ elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
+ return elem;
+}
+function restoreScript( elem ) {
+ var match = rscriptTypeMasked.exec( elem.type );
+
+ if ( match ) {
+ elem.type = match[ 1 ];
+ } else {
+ elem.removeAttribute( "type" );
+ }
+
+ return elem;
+}
+
+function cloneCopyEvent( src, dest ) {
+ var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
+
+ if ( dest.nodeType !== 1 ) {
+ return;
+ }
+
+ // 1. Copy private data: events, handlers, etc.
+ if ( dataPriv.hasData( src ) ) {
+ pdataOld = dataPriv.access( src );
+ pdataCur = dataPriv.set( dest, pdataOld );
+ events = pdataOld.events;
+
+ if ( events ) {
+ delete pdataCur.handle;
+ pdataCur.events = {};
+
+ for ( type in events ) {
+ for ( i = 0, l = events[ type ].length; i < l; i++ ) {
+ jQuery.event.add( dest, type, events[ type ][ i ] );
+ }
+ }
+ }
+ }
+
+ // 2. Copy user data
+ if ( dataUser.hasData( src ) ) {
+ udataOld = dataUser.access( src );
+ udataCur = jQuery.extend( {}, udataOld );
+
+ dataUser.set( dest, udataCur );
+ }
+}
+
+// Fix IE bugs, see support tests
+function fixInput( src, dest ) {
+ var nodeName = dest.nodeName.toLowerCase();
+
+ // Fails to persist the checked state of a cloned checkbox or radio button.
+ if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
+ dest.checked = src.checked;
+
+ // Fails to return the selected option to the default selected state when cloning options
+ } else if ( nodeName === "input" || nodeName === "textarea" ) {
+ dest.defaultValue = src.defaultValue;
+ }
+}
+
+function domManip( collection, args, callback, ignored ) {
+
+ // Flatten any nested arrays
+ args = concat.apply( [], args );
+
+ var fragment, first, scripts, hasScripts, node, doc,
+ i = 0,
+ l = collection.length,
+ iNoClone = l - 1,
+ value = args[ 0 ],
+ isFunction = jQuery.isFunction( value );
+
+ // We can't cloneNode fragments that contain checked, in WebKit
+ if ( isFunction ||
+ ( l > 1 && typeof value === "string" &&
+ !support.checkClone && rchecked.test( value ) ) ) {
+ return collection.each( function( index ) {
+ var self = collection.eq( index );
+ if ( isFunction ) {
+ args[ 0 ] = value.call( this, index, self.html() );
+ }
+ domManip( self, args, callback, ignored );
+ } );
+ }
+
+ if ( l ) {
+ fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
+ first = fragment.firstChild;
+
+ if ( fragment.childNodes.length === 1 ) {
+ fragment = first;
+ }
+
+ // Require either new content or an interest in ignored elements to invoke the callback
+ if ( first || ignored ) {
+ scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
+ hasScripts = scripts.length;
+
+ // Use the original fragment for the last item
+ // instead of the first because it can end up
+ // being emptied incorrectly in certain situations (#8070).
+ for ( ; i < l; i++ ) {
+ node = fragment;
+
+ if ( i !== iNoClone ) {
+ node = jQuery.clone( node, true, true );
+
+ // Keep references to cloned scripts for later restoration
+ if ( hasScripts ) {
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( scripts, getAll( node, "script" ) );
+ }
+ }
+
+ callback.call( collection[ i ], node, i );
+ }
+
+ if ( hasScripts ) {
+ doc = scripts[ scripts.length - 1 ].ownerDocument;
+
+ // Reenable scripts
+ jQuery.map( scripts, restoreScript );
+
+ // Evaluate executable scripts on first document insertion
+ for ( i = 0; i < hasScripts; i++ ) {
+ node = scripts[ i ];
+ if ( rscriptType.test( node.type || "" ) &&
+ !dataPriv.access( node, "globalEval" ) &&
+ jQuery.contains( doc, node ) ) {
+
+ if ( node.src ) {
+
+ // Optional AJAX dependency, but won't run scripts if not present
+ if ( jQuery._evalUrl ) {
+ jQuery._evalUrl( node.src );
+ }
+ } else {
+ DOMEval( node.textContent.replace( rcleanScript, "" ), doc );
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return collection;
+}
+
+function remove( elem, selector, keepData ) {
+ var node,
+ nodes = selector ? jQuery.filter( selector, elem ) : elem,
+ i = 0;
+
+ for ( ; ( node = nodes[ i ] ) != null; i++ ) {
+ if ( !keepData && node.nodeType === 1 ) {
+ jQuery.cleanData( getAll( node ) );
+ }
+
+ if ( node.parentNode ) {
+ if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {
+ setGlobalEval( getAll( node, "script" ) );
+ }
+ node.parentNode.removeChild( node );
+ }
+ }
+
+ return elem;
+}
+
+jQuery.extend( {
+ htmlPrefilter: function( html ) {
+ return html.replace( rxhtmlTag, "<$1></$2>" );
+ },
+
+ clone: function( elem, dataAndEvents, deepDataAndEvents ) {
+ var i, l, srcElements, destElements,
+ clone = elem.cloneNode( true ),
+ inPage = jQuery.contains( elem.ownerDocument, elem );
+
+ // Fix IE cloning issues
+ if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
+ !jQuery.isXMLDoc( elem ) ) {
+
+ // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
+ destElements = getAll( clone );
+ srcElements = getAll( elem );
+
+ for ( i = 0, l = srcElements.length; i < l; i++ ) {
+ fixInput( srcElements[ i ], destElements[ i ] );
+ }
+ }
+
+ // Copy the events from the original to the clone
+ if ( dataAndEvents ) {
+ if ( deepDataAndEvents ) {
+ srcElements = srcElements || getAll( elem );
+ destElements = destElements || getAll( clone );
+
+ for ( i = 0, l = srcElements.length; i < l; i++ ) {
+ cloneCopyEvent( srcElements[ i ], destElements[ i ] );
+ }
+ } else {
+ cloneCopyEvent( elem, clone );
+ }
+ }
+
+ // Preserve script evaluation history
+ destElements = getAll( clone, "script" );
+ if ( destElements.length > 0 ) {
+ setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
+ }
+
+ // Return the cloned set
+ return clone;
+ },
+
+ cleanData: function( elems ) {
+ var data, elem, type,
+ special = jQuery.event.special,
+ i = 0;
+
+ for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
+ if ( acceptData( elem ) ) {
+ if ( ( data = elem[ dataPriv.expando ] ) ) {
+ if ( data.events ) {
+ for ( type in data.events ) {
+ if ( special[ type ] ) {
+ jQuery.event.remove( elem, type );
+
+ // This is a shortcut to avoid jQuery.event.remove's overhead
+ } else {
+ jQuery.removeEvent( elem, type, data.handle );
+ }
+ }
+ }
+
+ // Support: Chrome <=35 - 45+
+ // Assign undefined instead of using delete, see Data#remove
+ elem[ dataPriv.expando ] = undefined;
+ }
+ if ( elem[ dataUser.expando ] ) {
+
+ // Support: Chrome <=35 - 45+
+ // Assign undefined instead of using delete, see Data#remove
+ elem[ dataUser.expando ] = undefined;
+ }
+ }
+ }
+ }
+} );
+
+jQuery.fn.extend( {
+ detach: function( selector ) {
+ return remove( this, selector, true );
+ },
+
+ remove: function( selector ) {
+ return remove( this, selector );
+ },
+
+ text: function( value ) {
+ return access( this, function( value ) {
+ return value === undefined ?
+ jQuery.text( this ) :
+ this.empty().each( function() {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ this.textContent = value;
+ }
+ } );
+ }, null, value, arguments.length );
+ },
+
+ append: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ var target = manipulationTarget( this, elem );
+ target.appendChild( elem );
+ }
+ } );
+ },
+
+ prepend: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ var target = manipulationTarget( this, elem );
+ target.insertBefore( elem, target.firstChild );
+ }
+ } );
+ },
+
+ before: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.parentNode ) {
+ this.parentNode.insertBefore( elem, this );
+ }
+ } );
+ },
+
+ after: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.parentNode ) {
+ this.parentNode.insertBefore( elem, this.nextSibling );
+ }
+ } );
+ },
+
+ empty: function() {
+ var elem,
+ i = 0;
+
+ for ( ; ( elem = this[ i ] ) != null; i++ ) {
+ if ( elem.nodeType === 1 ) {
+
+ // Prevent memory leaks
+ jQuery.cleanData( getAll( elem, false ) );
+
+ // Remove any remaining nodes
+ elem.textContent = "";
+ }
+ }
+
+ return this;
+ },
+
+ clone: function( dataAndEvents, deepDataAndEvents ) {
+ dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
+ deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
+
+ return this.map( function() {
+ return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
+ } );
+ },
+
+ html: function( value ) {
+ return access( this, function( value ) {
+ var elem = this[ 0 ] || {},
+ i = 0,
+ l = this.length;
+
+ if ( value === undefined && elem.nodeType === 1 ) {
+ return elem.innerHTML;
+ }
+
+ // See if we can take a shortcut and just use innerHTML
+ if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
+ !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
+
+ value = jQuery.htmlPrefilter( value );
+
+ try {
+ for ( ; i < l; i++ ) {
+ elem = this[ i ] || {};
+
+ // Remove element nodes and prevent memory leaks
+ if ( elem.nodeType === 1 ) {
+ jQuery.cleanData( getAll( elem, false ) );
+ elem.innerHTML = value;
+ }
+ }
+
+ elem = 0;
+
+ // If using innerHTML throws an exception, use the fallback method
+ } catch ( e ) {}
+ }
+
+ if ( elem ) {
+ this.empty().append( value );
+ }
+ }, null, value, arguments.length );
+ },
+
+ replaceWith: function() {
+ var ignored = [];
+
+ // Make the changes, replacing each non-ignored context element with the new content
+ return domManip( this, arguments, function( elem ) {
+ var parent = this.parentNode;
+
+ if ( jQuery.inArray( this, ignored ) < 0 ) {
+ jQuery.cleanData( getAll( this ) );
+ if ( parent ) {
+ parent.replaceChild( elem, this );
+ }
+ }
+
+ // Force callback invocation
+ }, ignored );
+ }
+} );
+
+jQuery.each( {
+ appendTo: "append",
+ prependTo: "prepend",
+ insertBefore: "before",
+ insertAfter: "after",
+ replaceAll: "replaceWith"
+}, function( name, original ) {
+ jQuery.fn[ name ] = function( selector ) {
+ var elems,
+ ret = [],
+ insert = jQuery( selector ),
+ last = insert.length - 1,
+ i = 0;
+
+ for ( ; i <= last; i++ ) {
+ elems = i === last ? this : this.clone( true );
+ jQuery( insert[ i ] )[ original ]( elems );
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // .get() because push.apply(_, arraylike) throws on ancient WebKit
+ push.apply( ret, elems.get() );
+ }
+
+ return this.pushStack( ret );
+ };
+} );
+var rmargin = ( /^margin/ );
+
+var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
+
+var getStyles = function( elem ) {
+
+ // Support: IE <=11 only, Firefox <=30 (#15098, #14150)
+ // IE throws on elements created in popups
+ // FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
+ var view = elem.ownerDocument.defaultView;
+
+ if ( !view || !view.opener ) {
+ view = window;
+ }
+
+ return view.getComputedStyle( elem );
+ };
+
+
+
+( function() {
+
+ // Executing both pixelPosition & boxSizingReliable tests require only one layout
+ // so they're executed at the same time to save the second computation.
+ function computeStyleTests() {
+
+ // This is a singleton, we need to execute it only once
+ if ( !div ) {
+ return;
+ }
+
+ div.style.cssText =
+ "box-sizing:border-box;" +
+ "position:relative;display:block;" +
+ "margin:auto;border:1px;padding:1px;" +
+ "top:1%;width:50%";
+ div.innerHTML = "";
+ documentElement.appendChild( container );
+
+ var divStyle = window.getComputedStyle( div );
+ pixelPositionVal = divStyle.top !== "1%";
+
+ // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
+ reliableMarginLeftVal = divStyle.marginLeft === "2px";
+ boxSizingReliableVal = divStyle.width === "4px";
+
+ // Support: Android 4.0 - 4.3 only
+ // Some styles come back with percentage values, even though they shouldn't
+ div.style.marginRight = "50%";
+ pixelMarginRightVal = divStyle.marginRight === "4px";
+
+ documentElement.removeChild( container );
+
+ // Nullify the div so it wouldn't be stored in the memory and
+ // it will also be a sign that checks already performed
+ div = null;
+ }
+
+ var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal,
+ container = document.createElement( "div" ),
+ div = document.createElement( "div" );
+
+ // Finish early in limited (non-browser) environments
+ if ( !div.style ) {
+ return;
+ }
+
+ // Support: IE <=9 - 11 only
+ // Style of cloned element affects source element cloned (#8908)
+ div.style.backgroundClip = "content-box";
+ div.cloneNode( true ).style.backgroundClip = "";
+ support.clearCloneStyle = div.style.backgroundClip === "content-box";
+
+ container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" +
+ "padding:0;margin-top:1px;position:absolute";
+ container.appendChild( div );
+
+ jQuery.extend( support, {
+ pixelPosition: function() {
+ computeStyleTests();
+ return pixelPositionVal;
+ },
+ boxSizingReliable: function() {
+ computeStyleTests();
+ return boxSizingReliableVal;
+ },
+ pixelMarginRight: function() {
+ computeStyleTests();
+ return pixelMarginRightVal;
+ },
+ reliableMarginLeft: function() {
+ computeStyleTests();
+ return reliableMarginLeftVal;
+ }
+ } );
+} )();
+
+
+function curCSS( elem, name, computed ) {
+ var width, minWidth, maxWidth, ret,
+
+ // Support: Firefox 51+
+ // Retrieving style before computed somehow
+ // fixes an issue with getting wrong values
+ // on detached elements
+ style = elem.style;
+
+ computed = computed || getStyles( elem );
+
+ // getPropertyValue is needed for:
+ // .css('filter') (IE 9 only, #12537)
+ // .css('--customProperty) (#3144)
+ if ( computed ) {
+ ret = computed.getPropertyValue( name ) || computed[ name ];
+
+ if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
+ ret = jQuery.style( elem, name );
+ }
+
+ // A tribute to the "awesome hack by Dean Edwards"
+ // Android Browser returns percentage for some values,
+ // but width seems to be reliably pixels.
+ // This is against the CSSOM draft spec:
+ // https://drafts.csswg.org/cssom/#resolved-values
+ if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {
+
+ // Remember the original values
+ width = style.width;
+ minWidth = style.minWidth;
+ maxWidth = style.maxWidth;
+
+ // Put in the new values to get a computed value out
+ style.minWidth = style.maxWidth = style.width = ret;
+ ret = computed.width;
+
+ // Revert the changed values
+ style.width = width;
+ style.minWidth = minWidth;
+ style.maxWidth = maxWidth;
+ }
+ }
+
+ return ret !== undefined ?
+
+ // Support: IE <=9 - 11 only
+ // IE returns zIndex value as an integer.
+ ret + "" :
+ ret;
+}
+
+
+function addGetHookIf( conditionFn, hookFn ) {
+
+ // Define the hook, we'll check on the first run if it's really needed.
+ return {
+ get: function() {
+ if ( conditionFn() ) {
+
+ // Hook not needed (or it's not possible to use it due
+ // to missing dependency), remove it.
+ delete this.get;
+ return;
+ }
+
+ // Hook needed; redefine it so that the support test is not executed again.
+ return ( this.get = hookFn ).apply( this, arguments );
+ }
+ };
+}
+
+
+var
+
+ // Swappable if display is none or starts with table
+ // except "table", "table-cell", or "table-caption"
+ // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
+ rdisplayswap = /^(none|table(?!-c[ea]).+)/,
+ rcustomProp = /^--/,
+ cssShow = { position: "absolute", visibility: "hidden", display: "block" },
+ cssNormalTransform = {
+ letterSpacing: "0",
+ fontWeight: "400"
+ },
+
+ cssPrefixes = [ "Webkit", "Moz", "ms" ],
+ emptyStyle = document.createElement( "div" ).style;
+
+// Return a css property mapped to a potentially vendor prefixed property
+function vendorPropName( name ) {
+
+ // Shortcut for names that are not vendor prefixed
+ if ( name in emptyStyle ) {
+ return name;
+ }
+
+ // Check for vendor prefixed names
+ var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
+ i = cssPrefixes.length;
+
+ while ( i-- ) {
+ name = cssPrefixes[ i ] + capName;
+ if ( name in emptyStyle ) {
+ return name;
+ }
+ }
+}
+
+// Return a property mapped along what jQuery.cssProps suggests or to
+// a vendor prefixed property.
+function finalPropName( name ) {
+ var ret = jQuery.cssProps[ name ];
+ if ( !ret ) {
+ ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name;
+ }
+ return ret;
+}
+
+function setPositiveNumber( elem, value, subtract ) {
+
+ // Any relative (+/-) values have already been
+ // normalized at this point
+ var matches = rcssNum.exec( value );
+ return matches ?
+
+ // Guard against undefined "subtract", e.g., when used as in cssHooks
+ Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
+ value;
+}
+
+function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
+ var i,
+ val = 0;
+
+ // If we already have the right measurement, avoid augmentation
+ if ( extra === ( isBorderBox ? "border" : "content" ) ) {
+ i = 4;
+
+ // Otherwise initialize for horizontal or vertical properties
+ } else {
+ i = name === "width" ? 1 : 0;
+ }
+
+ for ( ; i < 4; i += 2 ) {
+
+ // Both box models exclude margin, so add it if we want it
+ if ( extra === "margin" ) {
+ val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
+ }
+
+ if ( isBorderBox ) {
+
+ // border-box includes padding, so remove it if we want content
+ if ( extra === "content" ) {
+ val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+ }
+
+ // At this point, extra isn't border nor margin, so remove border
+ if ( extra !== "margin" ) {
+ val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+ }
+ } else {
+
+ // At this point, extra isn't content, so add padding
+ val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+
+ // At this point, extra isn't content nor padding, so add border
+ if ( extra !== "padding" ) {
+ val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+ }
+ }
+ }
+
+ return val;
+}
+
+function getWidthOrHeight( elem, name, extra ) {
+
+ // Start with computed style
+ var valueIsBorderBox,
+ styles = getStyles( elem ),
+ val = curCSS( elem, name, styles ),
+ isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
+
+ // Computed unit is not pixels. Stop here and return.
+ if ( rnumnonpx.test( val ) ) {
+ return val;
+ }
+
+ // Check for style in case a browser which returns unreliable values
+ // for getComputedStyle silently falls back to the reliable elem.style
+ valueIsBorderBox = isBorderBox &&
+ ( support.boxSizingReliable() || val === elem.style[ name ] );
+
+ // Fall back to offsetWidth/Height when value is "auto"
+ // This happens for inline elements with no explicit setting (gh-3571)
+ if ( val === "auto" ) {
+ val = elem[ "offset" + name[ 0 ].toUpperCase() + name.slice( 1 ) ];
+ }
+
+ // Normalize "", auto, and prepare for extra
+ val = parseFloat( val ) || 0;
+
+ // Use the active box-sizing model to add/subtract irrelevant styles
+ return ( val +
+ augmentWidthOrHeight(
+ elem,
+ name,
+ extra || ( isBorderBox ? "border" : "content" ),
+ valueIsBorderBox,
+ styles
+ )
+ ) + "px";
+}
+
+jQuery.extend( {
+
+ // Add in style property hooks for overriding the default
+ // behavior of getting and setting a style property
+ cssHooks: {
+ opacity: {
+ get: function( elem, computed ) {
+ if ( computed ) {
+
+ // We should always get a number back from opacity
+ var ret = curCSS( elem, "opacity" );
+ return ret === "" ? "1" : ret;
+ }
+ }
+ }
+ },
+
+ // Don't automatically add "px" to these possibly-unitless properties
+ cssNumber: {
+ "animationIterationCount": true,
+ "columnCount": true,
+ "fillOpacity": true,
+ "flexGrow": true,
+ "flexShrink": true,
+ "fontWeight": true,
+ "lineHeight": true,
+ "opacity": true,
+ "order": true,
+ "orphans": true,
+ "widows": true,
+ "zIndex": true,
+ "zoom": true
+ },
+
+ // Add in properties whose names you wish to fix before
+ // setting or getting the value
+ cssProps: {
+ "float": "cssFloat"
+ },
+
+ // Get and set the style property on a DOM Node
+ style: function( elem, name, value, extra ) {
+
+ // Don't set styles on text and comment nodes
+ if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
+ return;
+ }
+
+ // Make sure that we're working with the right name
+ var ret, type, hooks,
+ origName = jQuery.camelCase( name ),
+ isCustomProp = rcustomProp.test( name ),
+ style = elem.style;
+
+ // Make sure that we're working with the right name. We don't
+ // want to query the value if it is a CSS custom property
+ // since they are user-defined.
+ if ( !isCustomProp ) {
+ name = finalPropName( origName );
+ }
+
+ // Gets hook for the prefixed version, then unprefixed version
+ hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+ // Check if we're setting a value
+ if ( value !== undefined ) {
+ type = typeof value;
+
+ // Convert "+=" or "-=" to relative numbers (#7345)
+ if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
+ value = adjustCSS( elem, name, ret );
+
+ // Fixes bug #9237
+ type = "number";
+ }
+
+ // Make sure that null and NaN values aren't set (#7116)
+ if ( value == null || value !== value ) {
+ return;
+ }
+
+ // If a number was passed in, add the unit (except for certain CSS properties)
+ if ( type === "number" ) {
+ value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
+ }
+
+ // background-* props affect original clone's values
+ if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
+ style[ name ] = "inherit";
+ }
+
+ // If a hook was provided, use that value, otherwise just set the specified value
+ if ( !hooks || !( "set" in hooks ) ||
+ ( value = hooks.set( elem, value, extra ) ) !== undefined ) {
+
+ if ( isCustomProp ) {
+ style.setProperty( name, value );
+ } else {
+ style[ name ] = value;
+ }
+ }
+
+ } else {
+
+ // If a hook was provided get the non-computed value from there
+ if ( hooks && "get" in hooks &&
+ ( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
+
+ return ret;
+ }
+
+ // Otherwise just get the value from the style object
+ return style[ name ];
+ }
+ },
+
+ css: function( elem, name, extra, styles ) {
+ var val, num, hooks,
+ origName = jQuery.camelCase( name ),
+ isCustomProp = rcustomProp.test( name );
+
+ // Make sure that we're working with the right name. We don't
+ // want to modify the value if it is a CSS custom property
+ // since they are user-defined.
+ if ( !isCustomProp ) {
+ name = finalPropName( origName );
+ }
+
+ // Try prefixed name followed by the unprefixed name
+ hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+ // If a hook was provided get the computed value from there
+ if ( hooks && "get" in hooks ) {
+ val = hooks.get( elem, true, extra );
+ }
+
+ // Otherwise, if a way to get the computed value exists, use that
+ if ( val === undefined ) {
+ val = curCSS( elem, name, styles );
+ }
+
+ // Convert "normal" to computed value
+ if ( val === "normal" && name in cssNormalTransform ) {
+ val = cssNormalTransform[ name ];
+ }
+
+ // Make numeric if forced or a qualifier was provided and val looks numeric
+ if ( extra === "" || extra ) {
+ num = parseFloat( val );
+ return extra === true || isFinite( num ) ? num || 0 : val;
+ }
+
+ return val;
+ }
+} );
+
+jQuery.each( [ "height", "width" ], function( i, name ) {
+ jQuery.cssHooks[ name ] = {
+ get: function( elem, computed, extra ) {
+ if ( computed ) {
+
+ // Certain elements can have dimension info if we invisibly show them
+ // but it must have a current display style that would benefit
+ return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
+
+ // Support: Safari 8+
+ // Table columns in Safari have non-zero offsetWidth & zero
+ // getBoundingClientRect().width unless display is changed.
+ // Support: IE <=11 only
+ // Running getBoundingClientRect on a disconnected node
+ // in IE throws an error.
+ ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
+ swap( elem, cssShow, function() {
+ return getWidthOrHeight( elem, name, extra );
+ } ) :
+ getWidthOrHeight( elem, name, extra );
+ }
+ },
+
+ set: function( elem, value, extra ) {
+ var matches,
+ styles = extra && getStyles( elem ),
+ subtract = extra && augmentWidthOrHeight(
+ elem,
+ name,
+ extra,
+ jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+ styles
+ );
+
+ // Convert to pixels if value adjustment is needed
+ if ( subtract && ( matches = rcssNum.exec( value ) ) &&
+ ( matches[ 3 ] || "px" ) !== "px" ) {
+
+ elem.style[ name ] = value;
+ value = jQuery.css( elem, name );
+ }
+
+ return setPositiveNumber( elem, value, subtract );
+ }
+ };
+} );
+
+jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
+ function( elem, computed ) {
+ if ( computed ) {
+ return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
+ elem.getBoundingClientRect().left -
+ swap( elem, { marginLeft: 0 }, function() {
+ return elem.getBoundingClientRect().left;
+ } )
+ ) + "px";
+ }
+ }
+);
+
+// These hooks are used by animate to expand properties
+jQuery.each( {
+ margin: "",
+ padding: "",
+ border: "Width"
+}, function( prefix, suffix ) {
+ jQuery.cssHooks[ prefix + suffix ] = {
+ expand: function( value ) {
+ var i = 0,
+ expanded = {},
+
+ // Assumes a single number if not a string
+ parts = typeof value === "string" ? value.split( " " ) : [ value ];
+
+ for ( ; i < 4; i++ ) {
+ expanded[ prefix + cssExpand[ i ] + suffix ] =
+ parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
+ }
+
+ return expanded;
+ }
+ };
+
+ if ( !rmargin.test( prefix ) ) {
+ jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
+ }
+} );
+
+jQuery.fn.extend( {
+ css: function( name, value ) {
+ return access( this, function( elem, name, value ) {
+ var styles, len,
+ map = {},
+ i = 0;
+
+ if ( Array.isArray( name ) ) {
+ styles = getStyles( elem );
+ len = name.length;
+
+ for ( ; i < len; i++ ) {
+ map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
+ }
+
+ return map;
+ }
+
+ return value !== undefined ?
+ jQuery.style( elem, name, value ) :
+ jQuery.css( elem, name );
+ }, name, value, arguments.length > 1 );
+ }
+} );
+
+
+function Tween( elem, options, prop, end, easing ) {
+ return new Tween.prototype.init( elem, options, prop, end, easing );
+}
+jQuery.Tween = Tween;
+
+Tween.prototype = {
+ constructor: Tween,
+ init: function( elem, options, prop, end, easing, unit ) {
+ this.elem = elem;
+ this.prop = prop;
+ this.easing = easing || jQuery.easing._default;
+ this.options = options;
+ this.start = this.now = this.cur();
+ this.end = end;
+ this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
+ },
+ cur: function() {
+ var hooks = Tween.propHooks[ this.prop ];
+
+ return hooks && hooks.get ?
+ hooks.get( this ) :
+ Tween.propHooks._default.get( this );
+ },
+ run: function( percent ) {
+ var eased,
+ hooks = Tween.propHooks[ this.prop ];
+
+ if ( this.options.duration ) {
+ this.pos = eased = jQuery.easing[ this.easing ](
+ percent, this.options.duration * percent, 0, 1, this.options.duration
+ );
+ } else {
+ this.pos = eased = percent;
+ }
+ this.now = ( this.end - this.start ) * eased + this.start;
+
+ if ( this.options.step ) {
+ this.options.step.call( this.elem, this.now, this );
+ }
+
+ if ( hooks && hooks.set ) {
+ hooks.set( this );
+ } else {
+ Tween.propHooks._default.set( this );
+ }
+ return this;
+ }
+};
+
+Tween.prototype.init.prototype = Tween.prototype;
+
+Tween.propHooks = {
+ _default: {
+ get: function( tween ) {
+ var result;
+
+ // Use a property on the element directly when it is not a DOM element,
+ // or when there is no matching style property that exists.
+ if ( tween.elem.nodeType !== 1 ||
+ tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {
+ return tween.elem[ tween.prop ];
+ }
+
+ // Passing an empty string as a 3rd parameter to .css will automatically
+ // attempt a parseFloat and fallback to a string if the parse fails.
+ // Simple values such as "10px" are parsed to Float;
+ // complex values such as "rotate(1rad)" are returned as-is.
+ result = jQuery.css( tween.elem, tween.prop, "" );
+
+ // Empty strings, null, undefined and "auto" are converted to 0.
+ return !result || result === "auto" ? 0 : result;
+ },
+ set: function( tween ) {
+
+ // Use step hook for back compat.
+ // Use cssHook if its there.
+ // Use .style if available and use plain properties where available.
+ if ( jQuery.fx.step[ tween.prop ] ) {
+ jQuery.fx.step[ tween.prop ]( tween );
+ } else if ( tween.elem.nodeType === 1 &&
+ ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||
+ jQuery.cssHooks[ tween.prop ] ) ) {
+ jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
+ } else {
+ tween.elem[ tween.prop ] = tween.now;
+ }
+ }
+ }
+};
+
+// Support: IE <=9 only
+// Panic based approach to setting things on disconnected nodes
+Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
+ set: function( tween ) {
+ if ( tween.elem.nodeType && tween.elem.parentNode ) {
+ tween.elem[ tween.prop ] = tween.now;
+ }
+ }
+};
+
+jQuery.easing = {
+ linear: function( p ) {
+ return p;
+ },
+ swing: function( p ) {
+ return 0.5 - Math.cos( p * Math.PI ) / 2;
+ },
+ _default: "swing"
+};
+
+jQuery.fx = Tween.prototype.init;
+
+// Back compat <1.8 extension point
+jQuery.fx.step = {};
+
+
+
+
+var
+ fxNow, inProgress,
+ rfxtypes = /^(?:toggle|show|hide)$/,
+ rrun = /queueHooks$/;
+
+function schedule() {
+ if ( inProgress ) {
+ if ( document.hidden === false && window.requestAnimationFrame ) {
+ window.requestAnimationFrame( schedule );
+ } else {
+ window.setTimeout( schedule, jQuery.fx.interval );
+ }
+
+ jQuery.fx.tick();
+ }
+}
+
+// Animations created synchronously will run synchronously
+function createFxNow() {
+ window.setTimeout( function() {
+ fxNow = undefined;
+ } );
+ return ( fxNow = jQuery.now() );
+}
+
+// Generate parameters to create a standard animation
+function genFx( type, includeWidth ) {
+ var which,
+ i = 0,
+ attrs = { height: type };
+
+ // If we include width, step value is 1 to do all cssExpand values,
+ // otherwise step value is 2 to skip over Left and Right
+ includeWidth = includeWidth ? 1 : 0;
+ for ( ; i < 4; i += 2 - includeWidth ) {
+ which = cssExpand[ i ];
+ attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
+ }
+
+ if ( includeWidth ) {
+ attrs.opacity = attrs.width = type;
+ }
+
+ return attrs;
+}
+
+function createTween( value, prop, animation ) {
+ var tween,
+ collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ),
+ index = 0,
+ length = collection.length;
+ for ( ; index < length; index++ ) {
+ if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {
+
+ // We're done with this property
+ return tween;
+ }
+ }
+}
+
+function defaultPrefilter( elem, props, opts ) {
+ var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,
+ isBox = "width" in props || "height" in props,
+ anim = this,
+ orig = {},
+ style = elem.style,
+ hidden = elem.nodeType && isHiddenWithinTree( elem ),
+ dataShow = dataPriv.get( elem, "fxshow" );
+
+ // Queue-skipping animations hijack the fx hooks
+ if ( !opts.queue ) {
+ hooks = jQuery._queueHooks( elem, "fx" );
+ if ( hooks.unqueued == null ) {
+ hooks.unqueued = 0;
+ oldfire = hooks.empty.fire;
+ hooks.empty.fire = function() {
+ if ( !hooks.unqueued ) {
+ oldfire();
+ }
+ };
+ }
+ hooks.unqueued++;
+
+ anim.always( function() {
+
+ // Ensure the complete handler is called before this completes
+ anim.always( function() {
+ hooks.unqueued--;
+ if ( !jQuery.queue( elem, "fx" ).length ) {
+ hooks.empty.fire();
+ }
+ } );
+ } );
+ }
+
+ // Detect show/hide animations
+ for ( prop in props ) {
+ value = props[ prop ];
+ if ( rfxtypes.test( value ) ) {
+ delete props[ prop ];
+ toggle = toggle || value === "toggle";
+ if ( value === ( hidden ? "hide" : "show" ) ) {
+
+ // Pretend to be hidden if this is a "show" and
+ // there is still data from a stopped show/hide
+ if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
+ hidden = true;
+
+ // Ignore all other no-op show/hide data
+ } else {
+ continue;
+ }
+ }
+ orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
+ }
+ }
+
+ // Bail out if this is a no-op like .hide().hide()
+ propTween = !jQuery.isEmptyObject( props );
+ if ( !propTween && jQuery.isEmptyObject( orig ) ) {
+ return;
+ }
+
+ // Restrict "overflow" and "display" styles during box animations
+ if ( isBox && elem.nodeType === 1 ) {
+
+ // Support: IE <=9 - 11, Edge 12 - 13
+ // Record all 3 overflow attributes because IE does not infer the shorthand
+ // from identically-valued overflowX and overflowY
+ opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
+
+ // Identify a display type, preferring old show/hide data over the CSS cascade
+ restoreDisplay = dataShow && dataShow.display;
+ if ( restoreDisplay == null ) {
+ restoreDisplay = dataPriv.get( elem, "display" );
+ }
+ display = jQuery.css( elem, "display" );
+ if ( display === "none" ) {
+ if ( restoreDisplay ) {
+ display = restoreDisplay;
+ } else {
+
+ // Get nonempty value(s) by temporarily forcing visibility
+ showHide( [ elem ], true );
+ restoreDisplay = elem.style.display || restoreDisplay;
+ display = jQuery.css( elem, "display" );
+ showHide( [ elem ] );
+ }
+ }
+
+ // Animate inline elements as inline-block
+ if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) {
+ if ( jQuery.css( elem, "float" ) === "none" ) {
+
+ // Restore the original display value at the end of pure show/hide animations
+ if ( !propTween ) {
+ anim.done( function() {
+ style.display = restoreDisplay;
+ } );
+ if ( restoreDisplay == null ) {
+ display = style.display;
+ restoreDisplay = display === "none" ? "" : display;
+ }
+ }
+ style.display = "inline-block";
+ }
+ }
+ }
+
+ if ( opts.overflow ) {
+ style.overflow = "hidden";
+ anim.always( function() {
+ style.overflow = opts.overflow[ 0 ];
+ style.overflowX = opts.overflow[ 1 ];
+ style.overflowY = opts.overflow[ 2 ];
+ } );
+ }
+
+ // Implement show/hide animations
+ propTween = false;
+ for ( prop in orig ) {
+
+ // General show/hide setup for this element animation
+ if ( !propTween ) {
+ if ( dataShow ) {
+ if ( "hidden" in dataShow ) {
+ hidden = dataShow.hidden;
+ }
+ } else {
+ dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } );
+ }
+
+ // Store hidden/visible for toggle so `.stop().toggle()` "reverses"
+ if ( toggle ) {
+ dataShow.hidden = !hidden;
+ }
+
+ // Show elements before animating them
+ if ( hidden ) {
+ showHide( [ elem ], true );
+ }
+
+ /* eslint-disable no-loop-func */
+
+ anim.done( function() {
+
+ /* eslint-enable no-loop-func */
+
+ // The final step of a "hide" animation is actually hiding the element
+ if ( !hidden ) {
+ showHide( [ elem ] );
+ }
+ dataPriv.remove( elem, "fxshow" );
+ for ( prop in orig ) {
+ jQuery.style( elem, prop, orig[ prop ] );
+ }
+ } );
+ }
+
+ // Per-property setup
+ propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
+ if ( !( prop in dataShow ) ) {
+ dataShow[ prop ] = propTween.start;
+ if ( hidden ) {
+ propTween.end = propTween.start;
+ propTween.start = 0;
+ }
+ }
+ }
+}
+
+function propFilter( props, specialEasing ) {
+ var index, name, easing, value, hooks;
+
+ // camelCase, specialEasing and expand cssHook pass
+ for ( index in props ) {
+ name = jQuery.camelCase( index );
+ easing = specialEasing[ name ];
+ value = props[ index ];
+ if ( Array.isArray( value ) ) {
+ easing = value[ 1 ];
+ value = props[ index ] = value[ 0 ];
+ }
+
+ if ( index !== name ) {
+ props[ name ] = value;
+ delete props[ index ];
+ }
+
+ hooks = jQuery.cssHooks[ name ];
+ if ( hooks && "expand" in hooks ) {
+ value = hooks.expand( value );
+ delete props[ name ];
+
+ // Not quite $.extend, this won't overwrite existing keys.
+ // Reusing 'index' because we have the correct "name"
+ for ( index in value ) {
+ if ( !( index in props ) ) {
+ props[ index ] = value[ index ];
+ specialEasing[ index ] = easing;
+ }
+ }
+ } else {
+ specialEasing[ name ] = easing;
+ }
+ }
+}
+
+function Animation( elem, properties, options ) {
+ var result,
+ stopped,
+ index = 0,
+ length = Animation.prefilters.length,
+ deferred = jQuery.Deferred().always( function() {
+
+ // Don't match elem in the :animated selector
+ delete tick.elem;
+ } ),
+ tick = function() {
+ if ( stopped ) {
+ return false;
+ }
+ var currentTime = fxNow || createFxNow(),
+ remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
+
+ // Support: Android 2.3 only
+ // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
+ temp = remaining / animation.duration || 0,
+ percent = 1 - temp,
+ index = 0,
+ length = animation.tweens.length;
+
+ for ( ; index < length; index++ ) {
+ animation.tweens[ index ].run( percent );
+ }
+
+ deferred.notifyWith( elem, [ animation, percent, remaining ] );
+
+ // If there's more to do, yield
+ if ( percent < 1 && length ) {
+ return remaining;
+ }
+
+ // If this was an empty animation, synthesize a final progress notification
+ if ( !length ) {
+ deferred.notifyWith( elem, [ animation, 1, 0 ] );
+ }
+
+ // Resolve the animation and report its conclusion
+ deferred.resolveWith( elem, [ animation ] );
+ return false;
+ },
+ animation = deferred.promise( {
+ elem: elem,
+ props: jQuery.extend( {}, properties ),
+ opts: jQuery.extend( true, {
+ specialEasing: {},
+ easing: jQuery.easing._default
+ }, options ),
+ originalProperties: properties,
+ originalOptions: options,
+ startTime: fxNow || createFxNow(),
+ duration: options.duration,
+ tweens: [],
+ createTween: function( prop, end ) {
+ var tween = jQuery.Tween( elem, animation.opts, prop, end,
+ animation.opts.specialEasing[ prop ] || animation.opts.easing );
+ animation.tweens.push( tween );
+ return tween;
+ },
+ stop: function( gotoEnd ) {
+ var index = 0,
+
+ // If we are going to the end, we want to run all the tweens
+ // otherwise we skip this part
+ length = gotoEnd ? animation.tweens.length : 0;
+ if ( stopped ) {
+ return this;
+ }
+ stopped = true;
+ for ( ; index < length; index++ ) {
+ animation.tweens[ index ].run( 1 );
+ }
+
+ // Resolve when we played the last frame; otherwise, reject
+ if ( gotoEnd ) {
+ deferred.notifyWith( elem, [ animation, 1, 0 ] );
+ deferred.resolveWith( elem, [ animation, gotoEnd ] );
+ } else {
+ deferred.rejectWith( elem, [ animation, gotoEnd ] );
+ }
+ return this;
+ }
+ } ),
+ props = animation.props;
+
+ propFilter( props, animation.opts.specialEasing );
+
+ for ( ; index < length; index++ ) {
+ result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
+ if ( result ) {
+ if ( jQuery.isFunction( result.stop ) ) {
+ jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
+ jQuery.proxy( result.stop, result );
+ }
+ return result;
+ }
+ }
+
+ jQuery.map( props, createTween, animation );
+
+ if ( jQuery.isFunction( animation.opts.start ) ) {
+ animation.opts.start.call( elem, animation );
+ }
+
+ // Attach callbacks from options
+ animation
+ .progress( animation.opts.progress )
+ .done( animation.opts.done, animation.opts.complete )
+ .fail( animation.opts.fail )
+ .always( animation.opts.always );
+
+ jQuery.fx.timer(
+ jQuery.extend( tick, {
+ elem: elem,
+ anim: animation,
+ queue: animation.opts.queue
+ } )
+ );
+
+ return animation;
+}
+
+jQuery.Animation = jQuery.extend( Animation, {
+
+ tweeners: {
+ "*": [ function( prop, value ) {
+ var tween = this.createTween( prop, value );
+ adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );
+ return tween;
+ } ]
+ },
+
+ tweener: function( props, callback ) {
+ if ( jQuery.isFunction( props ) ) {
+ callback = props;
+ props = [ "*" ];
+ } else {
+ props = props.match( rnothtmlwhite );
+ }
+
+ var prop,
+ index = 0,
+ length = props.length;
+
+ for ( ; index < length; index++ ) {
+ prop = props[ index ];
+ Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];
+ Animation.tweeners[ prop ].unshift( callback );
+ }
+ },
+
+ prefilters: [ defaultPrefilter ],
+
+ prefilter: function( callback, prepend ) {
+ if ( prepend ) {
+ Animation.prefilters.unshift( callback );
+ } else {
+ Animation.prefilters.push( callback );
+ }
+ }
+} );
+
+jQuery.speed = function( speed, easing, fn ) {
+ var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
+ complete: fn || !fn && easing ||
+ jQuery.isFunction( speed ) && speed,
+ duration: speed,
+ easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
+ };
+
+ // Go to the end state if fx are off
+ if ( jQuery.fx.off ) {
+ opt.duration = 0;
+
+ } else {
+ if ( typeof opt.duration !== "number" ) {
+ if ( opt.duration in jQuery.fx.speeds ) {
+ opt.duration = jQuery.fx.speeds[ opt.duration ];
+
+ } else {
+ opt.duration = jQuery.fx.speeds._default;
+ }
+ }
+ }
+
+ // Normalize opt.queue - true/undefined/null -> "fx"
+ if ( opt.queue == null || opt.queue === true ) {
+ opt.queue = "fx";
+ }
+
+ // Queueing
+ opt.old = opt.complete;
+
+ opt.complete = function() {
+ if ( jQuery.isFunction( opt.old ) ) {
+ opt.old.call( this );
+ }
+
+ if ( opt.queue ) {
+ jQuery.dequeue( this, opt.queue );
+ }
+ };
+
+ return opt;
+};
+
+jQuery.fn.extend( {
+ fadeTo: function( speed, to, easing, callback ) {
+
+ // Show any hidden elements after setting opacity to 0
+ return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show()
+
+ // Animate to the value specified
+ .end().animate( { opacity: to }, speed, easing, callback );
+ },
+ animate: function( prop, speed, easing, callback ) {
+ var empty = jQuery.isEmptyObject( prop ),
+ optall = jQuery.speed( speed, easing, callback ),
+ doAnimation = function() {
+
+ // Operate on a copy of prop so per-property easing won't be lost
+ var anim = Animation( this, jQuery.extend( {}, prop ), optall );
+
+ // Empty animations, or finishing resolves immediately
+ if ( empty || dataPriv.get( this, "finish" ) ) {
+ anim.stop( true );
+ }
+ };
+ doAnimation.finish = doAnimation;
+
+ return empty || optall.queue === false ?
+ this.each( doAnimation ) :
+ this.queue( optall.queue, doAnimation );
+ },
+ stop: function( type, clearQueue, gotoEnd ) {
+ var stopQueue = function( hooks ) {
+ var stop = hooks.stop;
+ delete hooks.stop;
+ stop( gotoEnd );
+ };
+
+ if ( typeof type !== "string" ) {
+ gotoEnd = clearQueue;
+ clearQueue = type;
+ type = undefined;
+ }
+ if ( clearQueue && type !== false ) {
+ this.queue( type || "fx", [] );
+ }
+
+ return this.each( function() {
+ var dequeue = true,
+ index = type != null && type + "queueHooks",
+ timers = jQuery.timers,
+ data = dataPriv.get( this );
+
+ if ( index ) {
+ if ( data[ index ] && data[ index ].stop ) {
+ stopQueue( data[ index ] );
+ }
+ } else {
+ for ( index in data ) {
+ if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
+ stopQueue( data[ index ] );
+ }
+ }
+ }
+
+ for ( index = timers.length; index--; ) {
+ if ( timers[ index ].elem === this &&
+ ( type == null || timers[ index ].queue === type ) ) {
+
+ timers[ index ].anim.stop( gotoEnd );
+ dequeue = false;
+ timers.splice( index, 1 );
+ }
+ }
+
+ // Start the next in the queue if the last step wasn't forced.
+ // Timers currently will call their complete callbacks, which
+ // will dequeue but only if they were gotoEnd.
+ if ( dequeue || !gotoEnd ) {
+ jQuery.dequeue( this, type );
+ }
+ } );
+ },
+ finish: function( type ) {
+ if ( type !== false ) {
+ type = type || "fx";
+ }
+ return this.each( function() {
+ var index,
+ data = dataPriv.get( this ),
+ queue = data[ type + "queue" ],
+ hooks = data[ type + "queueHooks" ],
+ timers = jQuery.timers,
+ length = queue ? queue.length : 0;
+
+ // Enable finishing flag on private data
+ data.finish = true;
+
+ // Empty the queue first
+ jQuery.queue( this, type, [] );
+
+ if ( hooks && hooks.stop ) {
+ hooks.stop.call( this, true );
+ }
+
+ // Look for any active animations, and finish them
+ for ( index = timers.length; index--; ) {
+ if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
+ timers[ index ].anim.stop( true );
+ timers.splice( index, 1 );
+ }
+ }
+
+ // Look for any animations in the old queue and finish them
+ for ( index = 0; index < length; index++ ) {
+ if ( queue[ index ] && queue[ index ].finish ) {
+ queue[ index ].finish.call( this );
+ }
+ }
+
+ // Turn off finishing flag
+ delete data.finish;
+ } );
+ }
+} );
+
+jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) {
+ var cssFn = jQuery.fn[ name ];
+ jQuery.fn[ name ] = function( speed, easing, callback ) {
+ return speed == null || typeof speed === "boolean" ?
+ cssFn.apply( this, arguments ) :
+ this.animate( genFx( name, true ), speed, easing, callback );
+ };
+} );
+
+// Generate shortcuts for custom animations
+jQuery.each( {
+ slideDown: genFx( "show" ),
+ slideUp: genFx( "hide" ),
+ slideToggle: genFx( "toggle" ),
+ fadeIn: { opacity: "show" },
+ fadeOut: { opacity: "hide" },
+ fadeToggle: { opacity: "toggle" }
+}, function( name, props ) {
+ jQuery.fn[ name ] = function( speed, easing, callback ) {
+ return this.animate( props, speed, easing, callback );
+ };
+} );
+
+jQuery.timers = [];
+jQuery.fx.tick = function() {
+ var timer,
+ i = 0,
+ timers = jQuery.timers;
+
+ fxNow = jQuery.now();
+
+ for ( ; i < timers.length; i++ ) {
+ timer = timers[ i ];
+
+ // Run the timer and safely remove it when done (allowing for external removal)
+ if ( !timer() && timers[ i ] === timer ) {
+ timers.splice( i--, 1 );
+ }
+ }
+
+ if ( !timers.length ) {
+ jQuery.fx.stop();
+ }
+ fxNow = undefined;
+};
+
+jQuery.fx.timer = function( timer ) {
+ jQuery.timers.push( timer );
+ jQuery.fx.start();
+};
+
+jQuery.fx.interval = 13;
+jQuery.fx.start = function() {
+ if ( inProgress ) {
+ return;
+ }
+
+ inProgress = true;
+ schedule();
+};
+
+jQuery.fx.stop = function() {
+ inProgress = null;
+};
+
+jQuery.fx.speeds = {
+ slow: 600,
+ fast: 200,
+
+ // Default speed
+ _default: 400
+};
+
+
+// Based off of the plugin by Clint Helfers, with permission.
+// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
+jQuery.fn.delay = function( time, type ) {
+ time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
+ type = type || "fx";
+
+ return this.queue( type, function( next, hooks ) {
+ var timeout = window.setTimeout( next, time );
+ hooks.stop = function() {
+ window.clearTimeout( timeout );
+ };
+ } );
+};
+
+
+( function() {
+ var input = document.createElement( "input" ),
+ select = document.createElement( "select" ),
+ opt = select.appendChild( document.createElement( "option" ) );
+
+ input.type = "checkbox";
+
+ // Support: Android <=4.3 only
+ // Default value for a checkbox should be "on"
+ support.checkOn = input.value !== "";
+
+ // Support: IE <=11 only
+ // Must access selectedIndex to make default options select
+ support.optSelected = opt.selected;
+
+ // Support: IE <=11 only
+ // An input loses its value after becoming a radio
+ input = document.createElement( "input" );
+ input.value = "t";
+ input.type = "radio";
+ support.radioValue = input.value === "t";
+} )();
+
+
+var boolHook,
+ attrHandle = jQuery.expr.attrHandle;
+
+jQuery.fn.extend( {
+ attr: function( name, value ) {
+ return access( this, jQuery.attr, name, value, arguments.length > 1 );
+ },
+
+ removeAttr: function( name ) {
+ return this.each( function() {
+ jQuery.removeAttr( this, name );
+ } );
+ }
+} );
+
+jQuery.extend( {
+ attr: function( elem, name, value ) {
+ var ret, hooks,
+ nType = elem.nodeType;
+
+ // Don't get/set attributes on text, comment and attribute nodes
+ if ( nType === 3 || nType === 8 || nType === 2 ) {
+ return;
+ }
+
+ // Fallback to prop when attributes are not supported
+ if ( typeof elem.getAttribute === "undefined" ) {
+ return jQuery.prop( elem, name, value );
+ }
+
+ // Attribute hooks are determined by the lowercase version
+ // Grab necessary hook if one is defined
+ if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+ hooks = jQuery.attrHooks[ name.toLowerCase() ] ||
+ ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
+ }
+
+ if ( value !== undefined ) {
+ if ( value === null ) {
+ jQuery.removeAttr( elem, name );
+ return;
+ }
+
+ if ( hooks && "set" in hooks &&
+ ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+ return ret;
+ }
+
+ elem.setAttribute( name, value + "" );
+ return value;
+ }
+
+ if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+ return ret;
+ }
+
+ ret = jQuery.find.attr( elem, name );
+
+ // Non-existent attributes return null, we normalize to undefined
+ return ret == null ? undefined : ret;
+ },
+
+ attrHooks: {
+ type: {
+ set: function( elem, value ) {
+ if ( !support.radioValue && value === "radio" &&
+ nodeName( elem, "input" ) ) {
+ var val = elem.value;
+ elem.setAttribute( "type", value );
+ if ( val ) {
+ elem.value = val;
+ }
+ return value;
+ }
+ }
+ }
+ },
+
+ removeAttr: function( elem, value ) {
+ var name,
+ i = 0,
+
+ // Attribute names can contain non-HTML whitespace characters
+ // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
+ attrNames = value && value.match( rnothtmlwhite );
+
+ if ( attrNames && elem.nodeType === 1 ) {
+ while ( ( name = attrNames[ i++ ] ) ) {
+ elem.removeAttribute( name );
+ }
+ }
+ }
+} );
+
+// Hooks for boolean attributes
+boolHook = {
+ set: function( elem, value, name ) {
+ if ( value === false ) {
+
+ // Remove boolean attributes when set to false
+ jQuery.removeAttr( elem, name );
+ } else {
+ elem.setAttribute( name, name );
+ }
+ return name;
+ }
+};
+
+jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
+ var getter = attrHandle[ name ] || jQuery.find.attr;
+
+ attrHandle[ name ] = function( elem, name, isXML ) {
+ var ret, handle,
+ lowercaseName = name.toLowerCase();
+
+ if ( !isXML ) {
+
+ // Avoid an infinite loop by temporarily removing this function from the getter
+ handle = attrHandle[ lowercaseName ];
+ attrHandle[ lowercaseName ] = ret;
+ ret = getter( elem, name, isXML ) != null ?
+ lowercaseName :
+ null;
+ attrHandle[ lowercaseName ] = handle;
+ }
+ return ret;
+ };
+} );
+
+
+
+
+var rfocusable = /^(?:input|select|textarea|button)$/i,
+ rclickable = /^(?:a|area)$/i;
+
+jQuery.fn.extend( {
+ prop: function( name, value ) {
+ return access( this, jQuery.prop, name, value, arguments.length > 1 );
+ },
+
+ removeProp: function( name ) {
+ return this.each( function() {
+ delete this[ jQuery.propFix[ name ] || name ];
+ } );
+ }
+} );
+
+jQuery.extend( {
+ prop: function( elem, name, value ) {
+ var ret, hooks,
+ nType = elem.nodeType;
+
+ // Don't get/set properties on text, comment and attribute nodes
+ if ( nType === 3 || nType === 8 || nType === 2 ) {
+ return;
+ }
+
+ if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+
+ // Fix name and attach hooks
+ name = jQuery.propFix[ name ] || name;
+ hooks = jQuery.propHooks[ name ];
+ }
+
+ if ( value !== undefined ) {
+ if ( hooks && "set" in hooks &&
+ ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+ return ret;
+ }
+
+ return ( elem[ name ] = value );
+ }
+
+ if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+ return ret;
+ }
+
+ return elem[ name ];
+ },
+
+ propHooks: {
+ tabIndex: {
+ get: function( elem ) {
+
+ // Support: IE <=9 - 11 only
+ // elem.tabIndex doesn't always return the
+ // correct value when it hasn't been explicitly set
+ // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
+ // Use proper attribute retrieval(#12072)
+ var tabindex = jQuery.find.attr( elem, "tabindex" );
+
+ if ( tabindex ) {
+ return parseInt( tabindex, 10 );
+ }
+
+ if (
+ rfocusable.test( elem.nodeName ) ||
+ rclickable.test( elem.nodeName ) &&
+ elem.href
+ ) {
+ return 0;
+ }
+
+ return -1;
+ }
+ }
+ },
+
+ propFix: {
+ "for": "htmlFor",
+ "class": "className"
+ }
+} );
+
+// Support: IE <=11 only
+// Accessing the selectedIndex property
+// forces the browser to respect setting selected
+// on the option
+// The getter ensures a default option is selected
+// when in an optgroup
+// eslint rule "no-unused-expressions" is disabled for this code
+// since it considers such accessions noop
+if ( !support.optSelected ) {
+ jQuery.propHooks.selected = {
+ get: function( elem ) {
+
+ /* eslint no-unused-expressions: "off" */
+
+ var parent = elem.parentNode;
+ if ( parent && parent.parentNode ) {
+ parent.parentNode.selectedIndex;
+ }
+ return null;
+ },
+ set: function( elem ) {
+
+ /* eslint no-unused-expressions: "off" */
+
+ var parent = elem.parentNode;
+ if ( parent ) {
+ parent.selectedIndex;
+
+ if ( parent.parentNode ) {
+ parent.parentNode.selectedIndex;
+ }
+ }
+ }
+ };
+}
+
+jQuery.each( [
+ "tabIndex",
+ "readOnly",
+ "maxLength",
+ "cellSpacing",
+ "cellPadding",
+ "rowSpan",
+ "colSpan",
+ "useMap",
+ "frameBorder",
+ "contentEditable"
+], function() {
+ jQuery.propFix[ this.toLowerCase() ] = this;
+} );
+
+
+
+
+ // Strip and collapse whitespace according to HTML spec
+ // https://html.spec.whatwg.org/multipage/infrastructure.html#strip-and-collapse-whitespace
+ function stripAndCollapse( value ) {
+ var tokens = value.match( rnothtmlwhite ) || [];
+ return tokens.join( " " );
+ }
+
+
+function getClass( elem ) {
+ return elem.getAttribute && elem.getAttribute( "class" ) || "";
+}
+
+jQuery.fn.extend( {
+ addClass: function( value ) {
+ var classes, elem, cur, curValue, clazz, j, finalValue,
+ i = 0;
+
+ if ( jQuery.isFunction( value ) ) {
+ return this.each( function( j ) {
+ jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
+ } );
+ }
+
+ if ( typeof value === "string" && value ) {
+ classes = value.match( rnothtmlwhite ) || [];
+
+ while ( ( elem = this[ i++ ] ) ) {
+ curValue = getClass( elem );
+ cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+
+ if ( cur ) {
+ j = 0;
+ while ( ( clazz = classes[ j++ ] ) ) {
+ if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
+ cur += clazz + " ";
+ }
+ }
+
+ // Only assign if different to avoid unneeded rendering.
+ finalValue = stripAndCollapse( cur );
+ if ( curValue !== finalValue ) {
+ elem.setAttribute( "class", finalValue );
+ }
+ }
+ }
+ }
+
+ return this;
+ },
+
+ removeClass: function( value ) {
+ var classes, elem, cur, curValue, clazz, j, finalValue,
+ i = 0;
+
+ if ( jQuery.isFunction( value ) ) {
+ return this.each( function( j ) {
+ jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
+ } );
+ }
+
+ if ( !arguments.length ) {
+ return this.attr( "class", "" );
+ }
+
+ if ( typeof value === "string" && value ) {
+ classes = value.match( rnothtmlwhite ) || [];
+
+ while ( ( elem = this[ i++ ] ) ) {
+ curValue = getClass( elem );
+
+ // This expression is here for better compressibility (see addClass)
+ cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+
+ if ( cur ) {
+ j = 0;
+ while ( ( clazz = classes[ j++ ] ) ) {
+
+ // Remove *all* instances
+ while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
+ cur = cur.replace( " " + clazz + " ", " " );
+ }
+ }
+
+ // Only assign if different to avoid unneeded rendering.
+ finalValue = stripAndCollapse( cur );
+ if ( curValue !== finalValue ) {
+ elem.setAttribute( "class", finalValue );
+ }
+ }
+ }
+ }
+
+ return this;
+ },
+
+ toggleClass: function( value, stateVal ) {
+ var type = typeof value;
+
+ if ( typeof stateVal === "boolean" && type === "string" ) {
+ return stateVal ? this.addClass( value ) : this.removeClass( value );
+ }
+
+ if ( jQuery.isFunction( value ) ) {
+ return this.each( function( i ) {
+ jQuery( this ).toggleClass(
+ value.call( this, i, getClass( this ), stateVal ),
+ stateVal
+ );
+ } );
+ }
+
+ return this.each( function() {
+ var className, i, self, classNames;
+
+ if ( type === "string" ) {
+
+ // Toggle individual class names
+ i = 0;
+ self = jQuery( this );
+ classNames = value.match( rnothtmlwhite ) || [];
+
+ while ( ( className = classNames[ i++ ] ) ) {
+
+ // Check each className given, space separated list
+ if ( self.hasClass( className ) ) {
+ self.removeClass( className );
+ } else {
+ self.addClass( className );
+ }
+ }
+
+ // Toggle whole class name
+ } else if ( value === undefined || type === "boolean" ) {
+ className = getClass( this );
+ if ( className ) {
+
+ // Store className if set
+ dataPriv.set( this, "__className__", className );
+ }
+
+ // If the element has a class name or if we're passed `false`,
+ // then remove the whole classname (if there was one, the above saved it).
+ // Otherwise bring back whatever was previously saved (if anything),
+ // falling back to the empty string if nothing was stored.
+ if ( this.setAttribute ) {
+ this.setAttribute( "class",
+ className || value === false ?
+ "" :
+ dataPriv.get( this, "__className__" ) || ""
+ );
+ }
+ }
+ } );
+ },
+
+ hasClass: function( selector ) {
+ var className, elem,
+ i = 0;
+
+ className = " " + selector + " ";
+ while ( ( elem = this[ i++ ] ) ) {
+ if ( elem.nodeType === 1 &&
+ ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+} );
+
+
+
+
+var rreturn = /\r/g;
+
+jQuery.fn.extend( {
+ val: function( value ) {
+ var hooks, ret, isFunction,
+ elem = this[ 0 ];
+
+ if ( !arguments.length ) {
+ if ( elem ) {
+ hooks = jQuery.valHooks[ elem.type ] ||
+ jQuery.valHooks[ elem.nodeName.toLowerCase() ];
+
+ if ( hooks &&
+ "get" in hooks &&
+ ( ret = hooks.get( elem, "value" ) ) !== undefined
+ ) {
+ return ret;
+ }
+
+ ret = elem.value;
+
+ // Handle most common string cases
+ if ( typeof ret === "string" ) {
+ return ret.replace( rreturn, "" );
+ }
+
+ // Handle cases where value is null/undef or number
+ return ret == null ? "" : ret;
+ }
+
+ return;
+ }
+
+ isFunction = jQuery.isFunction( value );
+
+ return this.each( function( i ) {
+ var val;
+
+ if ( this.nodeType !== 1 ) {
+ return;
+ }
+
+ if ( isFunction ) {
+ val = value.call( this, i, jQuery( this ).val() );
+ } else {
+ val = value;
+ }
+
+ // Treat null/undefined as ""; convert numbers to string
+ if ( val == null ) {
+ val = "";
+
+ } else if ( typeof val === "number" ) {
+ val += "";
+
+ } else if ( Array.isArray( val ) ) {
+ val = jQuery.map( val, function( value ) {
+ return value == null ? "" : value + "";
+ } );
+ }
+
+ hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
+
+ // If set returns undefined, fall back to normal setting
+ if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
+ this.value = val;
+ }
+ } );
+ }
+} );
+
+jQuery.extend( {
+ valHooks: {
+ option: {
+ get: function( elem ) {
+
+ var val = jQuery.find.attr( elem, "value" );
+ return val != null ?
+ val :
+
+ // Support: IE <=10 - 11 only
+ // option.text throws exceptions (#14686, #14858)
+ // Strip and collapse whitespace
+ // https://html.spec.whatwg.org/#strip-and-collapse-whitespace
+ stripAndCollapse( jQuery.text( elem ) );
+ }
+ },
+ select: {
+ get: function( elem ) {
+ var value, option, i,
+ options = elem.options,
+ index = elem.selectedIndex,
+ one = elem.type === "select-one",
+ values = one ? null : [],
+ max = one ? index + 1 : options.length;
+
+ if ( index < 0 ) {
+ i = max;
+
+ } else {
+ i = one ? index : 0;
+ }
+
+ // Loop through all the selected options
+ for ( ; i < max; i++ ) {
+ option = options[ i ];
+
+ // Support: IE <=9 only
+ // IE8-9 doesn't update selected after form reset (#2551)
+ if ( ( option.selected || i === index ) &&
+
+ // Don't return options that are disabled or in a disabled optgroup
+ !option.disabled &&
+ ( !option.parentNode.disabled ||
+ !nodeName( option.parentNode, "optgroup" ) ) ) {
+
+ // Get the specific value for the option
+ value = jQuery( option ).val();
+
+ // We don't need an array for one selects
+ if ( one ) {
+ return value;
+ }
+
+ // Multi-Selects return an array
+ values.push( value );
+ }
+ }
+
+ return values;
+ },
+
+ set: function( elem, value ) {
+ var optionSet, option,
+ options = elem.options,
+ values = jQuery.makeArray( value ),
+ i = options.length;
+
+ while ( i-- ) {
+ option = options[ i ];
+
+ /* eslint-disable no-cond-assign */
+
+ if ( option.selected =
+ jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
+ ) {
+ optionSet = true;
+ }
+
+ /* eslint-enable no-cond-assign */
+ }
+
+ // Force browsers to behave consistently when non-matching value is set
+ if ( !optionSet ) {
+ elem.selectedIndex = -1;
+ }
+ return values;
+ }
+ }
+ }
+} );
+
+// Radios and checkboxes getter/setter
+jQuery.each( [ "radio", "checkbox" ], function() {
+ jQuery.valHooks[ this ] = {
+ set: function( elem, value ) {
+ if ( Array.isArray( value ) ) {
+ return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
+ }
+ }
+ };
+ if ( !support.checkOn ) {
+ jQuery.valHooks[ this ].get = function( elem ) {
+ return elem.getAttribute( "value" ) === null ? "on" : elem.value;
+ };
+ }
+} );
+
+
+
+
+// Return jQuery for attributes-only inclusion
+
+
+var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/;
+
+jQuery.extend( jQuery.event, {
+
+ trigger: function( event, data, elem, onlyHandlers ) {
+
+ var i, cur, tmp, bubbleType, ontype, handle, special,
+ eventPath = [ elem || document ],
+ type = hasOwn.call( event, "type" ) ? event.type : event,
+ namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
+
+ cur = tmp = elem = elem || document;
+
+ // Don't do events on text and comment nodes
+ if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
+ return;
+ }
+
+ // focus/blur morphs to focusin/out; ensure we're not firing them right now
+ if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
+ return;
+ }
+
+ if ( type.indexOf( "." ) > -1 ) {
+
+ // Namespaced trigger; create a regexp to match event type in handle()
+ namespaces = type.split( "." );
+ type = namespaces.shift();
+ namespaces.sort();
+ }
+ ontype = type.indexOf( ":" ) < 0 && "on" + type;
+
+ // Caller can pass in a jQuery.Event object, Object, or just an event type string
+ event = event[ jQuery.expando ] ?
+ event :
+ new jQuery.Event( type, typeof event === "object" && event );
+
+ // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
+ event.isTrigger = onlyHandlers ? 2 : 3;
+ event.namespace = namespaces.join( "." );
+ event.rnamespace = event.namespace ?
+ new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
+ null;
+
+ // Clean up the event in case it is being reused
+ event.result = undefined;
+ if ( !event.target ) {
+ event.target = elem;
+ }
+
+ // Clone any incoming data and prepend the event, creating the handler arg list
+ data = data == null ?
+ [ event ] :
+ jQuery.makeArray( data, [ event ] );
+
+ // Allow special events to draw outside the lines
+ special = jQuery.event.special[ type ] || {};
+ if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
+ return;
+ }
+
+ // Determine event propagation path in advance, per W3C events spec (#9951)
+ // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
+ if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
+
+ bubbleType = special.delegateType || type;
+ if ( !rfocusMorph.test( bubbleType + type ) ) {
+ cur = cur.parentNode;
+ }
+ for ( ; cur; cur = cur.parentNode ) {
+ eventPath.push( cur );
+ tmp = cur;
+ }
+
+ // Only add window if we got to document (e.g., not plain obj or detached DOM)
+ if ( tmp === ( elem.ownerDocument || document ) ) {
+ eventPath.push( tmp.defaultView || tmp.parentWindow || window );
+ }
+ }
+
+ // Fire handlers on the event path
+ i = 0;
+ while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
+
+ event.type = i > 1 ?
+ bubbleType :
+ special.bindType || type;
+
+ // jQuery handler
+ handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
+ dataPriv.get( cur, "handle" );
+ if ( handle ) {
+ handle.apply( cur, data );
+ }
+
+ // Native handler
+ handle = ontype && cur[ ontype ];
+ if ( handle && handle.apply && acceptData( cur ) ) {
+ event.result = handle.apply( cur, data );
+ if ( event.result === false ) {
+ event.preventDefault();
+ }
+ }
+ }
+ event.type = type;
+
+ // If nobody prevented the default action, do it now
+ if ( !onlyHandlers && !event.isDefaultPrevented() ) {
+
+ if ( ( !special._default ||
+ special._default.apply( eventPath.pop(), data ) === false ) &&
+ acceptData( elem ) ) {
+
+ // Call a native DOM method on the target with the same name as the event.
+ // Don't do default actions on window, that's where global variables be (#6170)
+ if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {
+
+ // Don't re-trigger an onFOO event when we call its FOO() method
+ tmp = elem[ ontype ];
+
+ if ( tmp ) {
+ elem[ ontype ] = null;
+ }
+
+ // Prevent re-triggering of the same event, since we already bubbled it above
+ jQuery.event.triggered = type;
+ elem[ type ]();
+ jQuery.event.triggered = undefined;
+
+ if ( tmp ) {
+ elem[ ontype ] = tmp;
+ }
+ }
+ }
+ }
+
+ return event.result;
+ },
+
+ // Piggyback on a donor event to simulate a different one
+ // Used only for `focus(in | out)` events
+ simulate: function( type, elem, event ) {
+ var e = jQuery.extend(
+ new jQuery.Event(),
+ event,
+ {
+ type: type,
+ isSimulated: true
+ }
+ );
+
+ jQuery.event.trigger( e, null, elem );
+ }
+
+} );
+
+jQuery.fn.extend( {
+
+ trigger: function( type, data ) {
+ return this.each( function() {
+ jQuery.event.trigger( type, data, this );
+ } );
+ },
+ triggerHandler: function( type, data ) {
+ var elem = this[ 0 ];
+ if ( elem ) {
+ return jQuery.event.trigger( type, data, elem, true );
+ }
+ }
+} );
+
+
+jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
+ "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
+ "change select submit keydown keypress keyup contextmenu" ).split( " " ),
+ function( i, name ) {
+
+ // Handle event binding
+ jQuery.fn[ name ] = function( data, fn ) {
+ return arguments.length > 0 ?
+ this.on( name, null, data, fn ) :
+ this.trigger( name );
+ };
+} );
+
+jQuery.fn.extend( {
+ hover: function( fnOver, fnOut ) {
+ return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
+ }
+} );
+
+
+
+
+support.focusin = "onfocusin" in window;
+
+
+// Support: Firefox <=44
+// Firefox doesn't have focus(in | out) events
+// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
+//
+// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
+// focus(in | out) events fire after focus & blur events,
+// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
+// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
+if ( !support.focusin ) {
+ jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
+
+ // Attach a single capturing handler on the document while someone wants focusin/focusout
+ var handler = function( event ) {
+ jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
+ };
+
+ jQuery.event.special[ fix ] = {
+ setup: function() {
+ var doc = this.ownerDocument || this,
+ attaches = dataPriv.access( doc, fix );
+
+ if ( !attaches ) {
+ doc.addEventListener( orig, handler, true );
+ }
+ dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
+ },
+ teardown: function() {
+ var doc = this.ownerDocument || this,
+ attaches = dataPriv.access( doc, fix ) - 1;
+
+ if ( !attaches ) {
+ doc.removeEventListener( orig, handler, true );
+ dataPriv.remove( doc, fix );
+
+ } else {
+ dataPriv.access( doc, fix, attaches );
+ }
+ }
+ };
+ } );
+}
+var location = window.location;
+
+var nonce = jQuery.now();
+
+var rquery = ( /\?/ );
+
+
+
+// Cross-browser xml parsing
+jQuery.parseXML = function( data ) {
+ var xml;
+ if ( !data || typeof data !== "string" ) {
+ return null;
+ }
+
+ // Support: IE 9 - 11 only
+ // IE throws on parseFromString with invalid input.
+ try {
+ xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
+ } catch ( e ) {
+ xml = undefined;
+ }
+
+ if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
+ jQuery.error( "Invalid XML: " + data );
+ }
+ return xml;
+};
+
+
+var
+ rbracket = /\[\]$/,
+ rCRLF = /\r?\n/g,
+ rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
+ rsubmittable = /^(?:input|select|textarea|keygen)/i;
+
+function buildParams( prefix, obj, traditional, add ) {
+ var name;
+
+ if ( Array.isArray( obj ) ) {
+
+ // Serialize array item.
+ jQuery.each( obj, function( i, v ) {
+ if ( traditional || rbracket.test( prefix ) ) {
+
+ // Treat each array item as a scalar.
+ add( prefix, v );
+
+ } else {
+
+ // Item is non-scalar (array or object), encode its numeric index.
+ buildParams(
+ prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
+ v,
+ traditional,
+ add
+ );
+ }
+ } );
+
+ } else if ( !traditional && jQuery.type( obj ) === "object" ) {
+
+ // Serialize object item.
+ for ( name in obj ) {
+ buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
+ }
+
+ } else {
+
+ // Serialize scalar item.
+ add( prefix, obj );
+ }
+}
+
+// Serialize an array of form elements or a set of
+// key/values into a query string
+jQuery.param = function( a, traditional ) {
+ var prefix,
+ s = [],
+ add = function( key, valueOrFunction ) {
+
+ // If value is a function, invoke it and use its return value
+ var value = jQuery.isFunction( valueOrFunction ) ?
+ valueOrFunction() :
+ valueOrFunction;
+
+ s[ s.length ] = encodeURIComponent( key ) + "=" +
+ encodeURIComponent( value == null ? "" : value );
+ };
+
+ // If an array was passed in, assume that it is an array of form elements.
+ if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
+
+ // Serialize the form elements
+ jQuery.each( a, function() {
+ add( this.name, this.value );
+ } );
+
+ } else {
+
+ // If traditional, encode the "old" way (the way 1.3.2 or older
+ // did it), otherwise encode params recursively.
+ for ( prefix in a ) {
+ buildParams( prefix, a[ prefix ], traditional, add );
+ }
+ }
+
+ // Return the resulting serialization
+ return s.join( "&" );
+};
+
+jQuery.fn.extend( {
+ serialize: function() {
+ return jQuery.param( this.serializeArray() );
+ },
+ serializeArray: function() {
+ return this.map( function() {
+
+ // Can add propHook for "elements" to filter or add form elements
+ var elements = jQuery.prop( this, "elements" );
+ return elements ? jQuery.makeArray( elements ) : this;
+ } )
+ .filter( function() {
+ var type = this.type;
+
+ // Use .is( ":disabled" ) so that fieldset[disabled] works
+ return this.name && !jQuery( this ).is( ":disabled" ) &&
+ rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
+ ( this.checked || !rcheckableType.test( type ) );
+ } )
+ .map( function( i, elem ) {
+ var val = jQuery( this ).val();
+
+ if ( val == null ) {
+ return null;
+ }
+
+ if ( Array.isArray( val ) ) {
+ return jQuery.map( val, function( val ) {
+ return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+ } );
+ }
+
+ return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+ } ).get();
+ }
+} );
+
+
+var
+ r20 = /%20/g,
+ rhash = /#.*$/,
+ rantiCache = /([?&])_=[^&]*/,
+ rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
+
+ // #7653, #8125, #8152: local protocol detection
+ rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
+ rnoContent = /^(?:GET|HEAD)$/,
+ rprotocol = /^\/\//,
+
+ /* Prefilters
+ * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
+ * 2) These are called:
+ * - BEFORE asking for a transport
+ * - AFTER param serialization (s.data is a string if s.processData is true)
+ * 3) key is the dataType
+ * 4) the catchall symbol "*" can be used
+ * 5) execution will start with transport dataType and THEN continue down to "*" if needed
+ */
+ prefilters = {},
+
+ /* Transports bindings
+ * 1) key is the dataType
+ * 2) the catchall symbol "*" can be used
+ * 3) selection will start with transport dataType and THEN go to "*" if needed
+ */
+ transports = {},
+
+ // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
+ allTypes = "*/".concat( "*" ),
+
+ // Anchor tag for parsing the document origin
+ originAnchor = document.createElement( "a" );
+ originAnchor.href = location.href;
+
+// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
+function addToPrefiltersOrTransports( structure ) {
+
+ // dataTypeExpression is optional and defaults to "*"
+ return function( dataTypeExpression, func ) {
+
+ if ( typeof dataTypeExpression !== "string" ) {
+ func = dataTypeExpression;
+ dataTypeExpression = "*";
+ }
+
+ var dataType,
+ i = 0,
+ dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];
+
+ if ( jQuery.isFunction( func ) ) {
+
+ // For each dataType in the dataTypeExpression
+ while ( ( dataType = dataTypes[ i++ ] ) ) {
+
+ // Prepend if requested
+ if ( dataType[ 0 ] === "+" ) {
+ dataType = dataType.slice( 1 ) || "*";
+ ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );
+
+ // Otherwise append
+ } else {
+ ( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
+ }
+ }
+ }
+ };
+}
+
+// Base inspection function for prefilters and transports
+function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
+
+ var inspected = {},
+ seekingTransport = ( structure === transports );
+
+ function inspect( dataType ) {
+ var selected;
+ inspected[ dataType ] = true;
+ jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
+ var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
+ if ( typeof dataTypeOrTransport === "string" &&
+ !seekingTransport && !inspected[ dataTypeOrTransport ] ) {
+
+ options.dataTypes.unshift( dataTypeOrTransport );
+ inspect( dataTypeOrTransport );
+ return false;
+ } else if ( seekingTransport ) {
+ return !( selected = dataTypeOrTransport );
+ }
+ } );
+ return selected;
+ }
+
+ return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
+}
+
+// A special extend for ajax options
+// that takes "flat" options (not to be deep extended)
+// Fixes #9887
+function ajaxExtend( target, src ) {
+ var key, deep,
+ flatOptions = jQuery.ajaxSettings.flatOptions || {};
+
+ for ( key in src ) {
+ if ( src[ key ] !== undefined ) {
+ ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
+ }
+ }
+ if ( deep ) {
+ jQuery.extend( true, target, deep );
+ }
+
+ return target;
+}
+
+/* Handles responses to an ajax request:
+ * - finds the right dataType (mediates between content-type and expected dataType)
+ * - returns the corresponding response
+ */
+function ajaxHandleResponses( s, jqXHR, responses ) {
+
+ var ct, type, finalDataType, firstDataType,
+ contents = s.contents,
+ dataTypes = s.dataTypes;
+
+ // Remove auto dataType and get content-type in the process
+ while ( dataTypes[ 0 ] === "*" ) {
+ dataTypes.shift();
+ if ( ct === undefined ) {
+ ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
+ }
+ }
+
+ // Check if we're dealing with a known content-type
+ if ( ct ) {
+ for ( type in contents ) {
+ if ( contents[ type ] && contents[ type ].test( ct ) ) {
+ dataTypes.unshift( type );
+ break;
+ }
+ }
+ }
+
+ // Check to see if we have a response for the expected dataType
+ if ( dataTypes[ 0 ] in responses ) {
+ finalDataType = dataTypes[ 0 ];
+ } else {
+
+ // Try convertible dataTypes
+ for ( type in responses ) {
+ if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
+ finalDataType = type;
+ break;
+ }
+ if ( !firstDataType ) {
+ firstDataType = type;
+ }
+ }
+
+ // Or just use first one
+ finalDataType = finalDataType || firstDataType;
+ }
+
+ // If we found a dataType
+ // We add the dataType to the list if needed
+ // and return the corresponding response
+ if ( finalDataType ) {
+ if ( finalDataType !== dataTypes[ 0 ] ) {
+ dataTypes.unshift( finalDataType );
+ }
+ return responses[ finalDataType ];
+ }
+}
+
+/* Chain conversions given the request and the original response
+ * Also sets the responseXXX fields on the jqXHR instance
+ */
+function ajaxConvert( s, response, jqXHR, isSuccess ) {
+ var conv2, current, conv, tmp, prev,
+ converters = {},
+
+ // Work with a copy of dataTypes in case we need to modify it for conversion
+ dataTypes = s.dataTypes.slice();
+
+ // Create converters map with lowercased keys
+ if ( dataTypes[ 1 ] ) {
+ for ( conv in s.converters ) {
+ converters[ conv.toLowerCase() ] = s.converters[ conv ];
+ }
+ }
+
+ current = dataTypes.shift();
+
+ // Convert to each sequential dataType
+ while ( current ) {
+
+ if ( s.responseFields[ current ] ) {
+ jqXHR[ s.responseFields[ current ] ] = response;
+ }
+
+ // Apply the dataFilter if provided
+ if ( !prev && isSuccess && s.dataFilter ) {
+ response = s.dataFilter( response, s.dataType );
+ }
+
+ prev = current;
+ current = dataTypes.shift();
+
+ if ( current ) {
+
+ // There's only work to do if current dataType is non-auto
+ if ( current === "*" ) {
+
+ current = prev;
+
+ // Convert response if prev dataType is non-auto and differs from current
+ } else if ( prev !== "*" && prev !== current ) {
+
+ // Seek a direct converter
+ conv = converters[ prev + " " + current ] || converters[ "* " + current ];
+
+ // If none found, seek a pair
+ if ( !conv ) {
+ for ( conv2 in converters ) {
+
+ // If conv2 outputs current
+ tmp = conv2.split( " " );
+ if ( tmp[ 1 ] === current ) {
+
+ // If prev can be converted to accepted input
+ conv = converters[ prev + " " + tmp[ 0 ] ] ||
+ converters[ "* " + tmp[ 0 ] ];
+ if ( conv ) {
+
+ // Condense equivalence converters
+ if ( conv === true ) {
+ conv = converters[ conv2 ];
+
+ // Otherwise, insert the intermediate dataType
+ } else if ( converters[ conv2 ] !== true ) {
+ current = tmp[ 0 ];
+ dataTypes.unshift( tmp[ 1 ] );
+ }
+ break;
+ }
+ }
+ }
+ }
+
+ // Apply converter (if not an equivalence)
+ if ( conv !== true ) {
+
+ // Unless errors are allowed to bubble, catch and return them
+ if ( conv && s.throws ) {
+ response = conv( response );
+ } else {
+ try {
+ response = conv( response );
+ } catch ( e ) {
+ return {
+ state: "parsererror",
+ error: conv ? e : "No conversion from " + prev + " to " + current
+ };
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return { state: "success", data: response };
+}
+
+jQuery.extend( {
+
+ // Counter for holding the number of active queries
+ active: 0,
+
+ // Last-Modified header cache for next request
+ lastModified: {},
+ etag: {},
+
+ ajaxSettings: {
+ url: location.href,
+ type: "GET",
+ isLocal: rlocalProtocol.test( location.protocol ),
+ global: true,
+ processData: true,
+ async: true,
+ contentType: "application/x-www-form-urlencoded; charset=UTF-8",
+
+ /*
+ timeout: 0,
+ data: null,
+ dataType: null,
+ username: null,
+ password: null,
+ cache: null,
+ throws: false,
+ traditional: false,
+ headers: {},
+ */
+
+ accepts: {
+ "*": allTypes,
+ text: "text/plain",
+ html: "text/html",
+ xml: "application/xml, text/xml",
+ json: "application/json, text/javascript"
+ },
+
+ contents: {
+ xml: /\bxml\b/,
+ html: /\bhtml/,
+ json: /\bjson\b/
+ },
+
+ responseFields: {
+ xml: "responseXML",
+ text: "responseText",
+ json: "responseJSON"
+ },
+
+ // Data converters
+ // Keys separate source (or catchall "*") and destination types with a single space
+ converters: {
+
+ // Convert anything to text
+ "* text": String,
+
+ // Text to html (true = no transformation)
+ "text html": true,
+
+ // Evaluate text as a json expression
+ "text json": JSON.parse,
+
+ // Parse text as xml
+ "text xml": jQuery.parseXML
+ },
+
+ // For options that shouldn't be deep extended:
+ // you can add your own custom options here if
+ // and when you create one that shouldn't be
+ // deep extended (see ajaxExtend)
+ flatOptions: {
+ url: true,
+ context: true
+ }
+ },
+
+ // Creates a full fledged settings object into target
+ // with both ajaxSettings and settings fields.
+ // If target is omitted, writes into ajaxSettings.
+ ajaxSetup: function( target, settings ) {
+ return settings ?
+
+ // Building a settings object
+ ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
+
+ // Extending ajaxSettings
+ ajaxExtend( jQuery.ajaxSettings, target );
+ },
+
+ ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
+ ajaxTransport: addToPrefiltersOrTransports( transports ),
+
+ // Main method
+ ajax: function( url, options ) {
+
+ // If url is an object, simulate pre-1.5 signature
+ if ( typeof url === "object" ) {
+ options = url;
+ url = undefined;
+ }
+
+ // Force options to be an object
+ options = options || {};
+
+ var transport,
+
+ // URL without anti-cache param
+ cacheURL,
+
+ // Response headers
+ responseHeadersString,
+ responseHeaders,
+
+ // timeout handle
+ timeoutTimer,
+
+ // Url cleanup var
+ urlAnchor,
+
+ // Request state (becomes false upon send and true upon completion)
+ completed,
+
+ // To know if global events are to be dispatched
+ fireGlobals,
+
+ // Loop variable
+ i,
+
+ // uncached part of the url
+ uncached,
+
+ // Create the final options object
+ s = jQuery.ajaxSetup( {}, options ),
+
+ // Callbacks context
+ callbackContext = s.context || s,
+
+ // Context for global events is callbackContext if it is a DOM node or jQuery collection
+ globalEventContext = s.context &&
+ ( callbackContext.nodeType || callbackContext.jquery ) ?
+ jQuery( callbackContext ) :
+ jQuery.event,
+
+ // Deferreds
+ deferred = jQuery.Deferred(),
+ completeDeferred = jQuery.Callbacks( "once memory" ),
+
+ // Status-dependent callbacks
+ statusCode = s.statusCode || {},
+
+ // Headers (they are sent all at once)
+ requestHeaders = {},
+ requestHeadersNames = {},
+
+ // Default abort message
+ strAbort = "canceled",
+
+ // Fake xhr
+ jqXHR = {
+ readyState: 0,
+
+ // Builds headers hashtable if needed
+ getResponseHeader: function( key ) {
+ var match;
+ if ( completed ) {
+ if ( !responseHeaders ) {
+ responseHeaders = {};
+ while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
+ responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];
+ }
+ }
+ match = responseHeaders[ key.toLowerCase() ];
+ }
+ return match == null ? null : match;
+ },
+
+ // Raw string
+ getAllResponseHeaders: function() {
+ return completed ? responseHeadersString : null;
+ },
+
+ // Caches the header
+ setRequestHeader: function( name, value ) {
+ if ( completed == null ) {
+ name = requestHeadersNames[ name.toLowerCase() ] =
+ requestHeadersNames[ name.toLowerCase() ] || name;
+ requestHeaders[ name ] = value;
+ }
+ return this;
+ },
+
+ // Overrides response content-type header
+ overrideMimeType: function( type ) {
+ if ( completed == null ) {
+ s.mimeType = type;
+ }
+ return this;
+ },
+
+ // Status-dependent callbacks
+ statusCode: function( map ) {
+ var code;
+ if ( map ) {
+ if ( completed ) {
+
+ // Execute the appropriate callbacks
+ jqXHR.always( map[ jqXHR.status ] );
+ } else {
+
+ // Lazy-add the new callbacks in a way that preserves old ones
+ for ( code in map ) {
+ statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
+ }
+ }
+ }
+ return this;
+ },
+
+ // Cancel the request
+ abort: function( statusText ) {
+ var finalText = statusText || strAbort;
+ if ( transport ) {
+ transport.abort( finalText );
+ }
+ done( 0, finalText );
+ return this;
+ }
+ };
+
+ // Attach deferreds
+ deferred.promise( jqXHR );
+
+ // Add protocol if not provided (prefilters might expect it)
+ // Handle falsy url in the settings object (#10093: consistency with old signature)
+ // We also use the url parameter if available
+ s.url = ( ( url || s.url || location.href ) + "" )
+ .replace( rprotocol, location.protocol + "//" );
+
+ // Alias method option to type as per ticket #12004
+ s.type = options.method || options.type || s.method || s.type;
+
+ // Extract dataTypes list
+ s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ];
+
+ // A cross-domain request is in order when the origin doesn't match the current origin.
+ if ( s.crossDomain == null ) {
+ urlAnchor = document.createElement( "a" );
+
+ // Support: IE <=8 - 11, Edge 12 - 13
+ // IE throws exception on accessing the href property if url is malformed,
+ // e.g. http://example.com:80x/
+ try {
+ urlAnchor.href = s.url;
+
+ // Support: IE <=8 - 11 only
+ // Anchor's host property isn't correctly set when s.url is relative
+ urlAnchor.href = urlAnchor.href;
+ s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
+ urlAnchor.protocol + "//" + urlAnchor.host;
+ } catch ( e ) {
+
+ // If there is an error parsing the URL, assume it is crossDomain,
+ // it can be rejected by the transport if it is invalid
+ s.crossDomain = true;
+ }
+ }
+
+ // Convert data if not already a string
+ if ( s.data && s.processData && typeof s.data !== "string" ) {
+ s.data = jQuery.param( s.data, s.traditional );
+ }
+
+ // Apply prefilters
+ inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
+
+ // If request was aborted inside a prefilter, stop there
+ if ( completed ) {
+ return jqXHR;
+ }
+
+ // We can fire global events as of now if asked to
+ // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
+ fireGlobals = jQuery.event && s.global;
+
+ // Watch for a new set of requests
+ if ( fireGlobals && jQuery.active++ === 0 ) {
+ jQuery.event.trigger( "ajaxStart" );
+ }
+
+ // Uppercase the type
+ s.type = s.type.toUpperCase();
+
+ // Determine if request has content
+ s.hasContent = !rnoContent.test( s.type );
+
+ // Save the URL in case we're toying with the If-Modified-Since
+ // and/or If-None-Match header later on
+ // Remove hash to simplify url manipulation
+ cacheURL = s.url.replace( rhash, "" );
+
+ // More options handling for requests with no content
+ if ( !s.hasContent ) {
+
+ // Remember the hash so we can put it back
+ uncached = s.url.slice( cacheURL.length );
+
+ // If data is available, append data to url
+ if ( s.data ) {
+ cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
+
+ // #9682: remove data so that it's not used in an eventual retry
+ delete s.data;
+ }
+
+ // Add or update anti-cache param if needed
+ if ( s.cache === false ) {
+ cacheURL = cacheURL.replace( rantiCache, "$1" );
+ uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached;
+ }
+
+ // Put hash and anti-cache on the URL that will be requested (gh-1732)
+ s.url = cacheURL + uncached;
+
+ // Change '%20' to '+' if this is encoded form body content (gh-2658)
+ } else if ( s.data && s.processData &&
+ ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) {
+ s.data = s.data.replace( r20, "+" );
+ }
+
+ // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+ if ( s.ifModified ) {
+ if ( jQuery.lastModified[ cacheURL ] ) {
+ jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
+ }
+ if ( jQuery.etag[ cacheURL ] ) {
+ jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
+ }
+ }
+
+ // Set the correct header, if data is being sent
+ if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
+ jqXHR.setRequestHeader( "Content-Type", s.contentType );
+ }
+
+ // Set the Accepts header for the server, depending on the dataType
+ jqXHR.setRequestHeader(
+ "Accept",
+ s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?
+ s.accepts[ s.dataTypes[ 0 ] ] +
+ ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
+ s.accepts[ "*" ]
+ );
+
+ // Check for headers option
+ for ( i in s.headers ) {
+ jqXHR.setRequestHeader( i, s.headers[ i ] );
+ }
+
+ // Allow custom headers/mimetypes and early abort
+ if ( s.beforeSend &&
+ ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {
+
+ // Abort if not done already and return
+ return jqXHR.abort();
+ }
+
+ // Aborting is no longer a cancellation
+ strAbort = "abort";
+
+ // Install callbacks on deferreds
+ completeDeferred.add( s.complete );
+ jqXHR.done( s.success );
+ jqXHR.fail( s.error );
+
+ // Get transport
+ transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
+
+ // If no transport, we auto-abort
+ if ( !transport ) {
+ done( -1, "No Transport" );
+ } else {
+ jqXHR.readyState = 1;
+
+ // Send global event
+ if ( fireGlobals ) {
+ globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
+ }
+
+ // If request was aborted inside ajaxSend, stop there
+ if ( completed ) {
+ return jqXHR;
+ }
+
+ // Timeout
+ if ( s.async && s.timeout > 0 ) {
+ timeoutTimer = window.setTimeout( function() {
+ jqXHR.abort( "timeout" );
+ }, s.timeout );
+ }
+
+ try {
+ completed = false;
+ transport.send( requestHeaders, done );
+ } catch ( e ) {
+
+ // Rethrow post-completion exceptions
+ if ( completed ) {
+ throw e;
+ }
+
+ // Propagate others as results
+ done( -1, e );
+ }
+ }
+
+ // Callback for when everything is done
+ function done( status, nativeStatusText, responses, headers ) {
+ var isSuccess, success, error, response, modified,
+ statusText = nativeStatusText;
+
+ // Ignore repeat invocations
+ if ( completed ) {
+ return;
+ }
+
+ completed = true;
+
+ // Clear timeout if it exists
+ if ( timeoutTimer ) {
+ window.clearTimeout( timeoutTimer );
+ }
+
+ // Dereference transport for early garbage collection
+ // (no matter how long the jqXHR object will be used)
+ transport = undefined;
+
+ // Cache response headers
+ responseHeadersString = headers || "";
+
+ // Set readyState
+ jqXHR.readyState = status > 0 ? 4 : 0;
+
+ // Determine if successful
+ isSuccess = status >= 200 && status < 300 || status === 304;
+
+ // Get response data
+ if ( responses ) {
+ response = ajaxHandleResponses( s, jqXHR, responses );
+ }
+
+ // Convert no matter what (that way responseXXX fields are always set)
+ response = ajaxConvert( s, response, jqXHR, isSuccess );
+
+ // If successful, handle type chaining
+ if ( isSuccess ) {
+
+ // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+ if ( s.ifModified ) {
+ modified = jqXHR.getResponseHeader( "Last-Modified" );
+ if ( modified ) {
+ jQuery.lastModified[ cacheURL ] = modified;
+ }
+ modified = jqXHR.getResponseHeader( "etag" );
+ if ( modified ) {
+ jQuery.etag[ cacheURL ] = modified;
+ }
+ }
+
+ // if no content
+ if ( status === 204 || s.type === "HEAD" ) {
+ statusText = "nocontent";
+
+ // if not modified
+ } else if ( status === 304 ) {
+ statusText = "notmodified";
+
+ // If we have data, let's convert it
+ } else {
+ statusText = response.state;
+ success = response.data;
+ error = response.error;
+ isSuccess = !error;
+ }
+ } else {
+
+ // Extract error from statusText and normalize for non-aborts
+ error = statusText;
+ if ( status || !statusText ) {
+ statusText = "error";
+ if ( status < 0 ) {
+ status = 0;
+ }
+ }
+ }
+
+ // Set data for the fake xhr object
+ jqXHR.status = status;
+ jqXHR.statusText = ( nativeStatusText || statusText ) + "";
+
+ // Success/Error
+ if ( isSuccess ) {
+ deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
+ } else {
+ deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
+ }
+
+ // Status-dependent callbacks
+ jqXHR.statusCode( statusCode );
+ statusCode = undefined;
+
+ if ( fireGlobals ) {
+ globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
+ [ jqXHR, s, isSuccess ? success : error ] );
+ }
+
+ // Complete
+ completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
+
+ if ( fireGlobals ) {
+ globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
+
+ // Handle the global AJAX counter
+ if ( !( --jQuery.active ) ) {
+ jQuery.event.trigger( "ajaxStop" );
+ }
+ }
+ }
+
+ return jqXHR;
+ },
+
+ getJSON: function( url, data, callback ) {
+ return jQuery.get( url, data, callback, "json" );
+ },
+
+ getScript: function( url, callback ) {
+ return jQuery.get( url, undefined, callback, "script" );
+ }
+} );
+
+jQuery.each( [ "get", "post" ], function( i, method ) {
+ jQuery[ method ] = function( url, data, callback, type ) {
+
+ // Shift arguments if data argument was omitted
+ if ( jQuery.isFunction( data ) ) {
+ type = type || callback;
+ callback = data;
+ data = undefined;
+ }
+
+ // The url can be an options object (which then must have .url)
+ return jQuery.ajax( jQuery.extend( {
+ url: url,
+ type: method,
+ dataType: type,
+ data: data,
+ success: callback
+ }, jQuery.isPlainObject( url ) && url ) );
+ };
+} );
+
+
+jQuery._evalUrl = function( url ) {
+ return jQuery.ajax( {
+ url: url,
+
+ // Make this explicit, since user can override this through ajaxSetup (#11264)
+ type: "GET",
+ dataType: "script",
+ cache: true,
+ async: false,
+ global: false,
+ "throws": true
+ } );
+};
+
+
+jQuery.fn.extend( {
+ wrapAll: function( html ) {
+ var wrap;
+
+ if ( this[ 0 ] ) {
+ if ( jQuery.isFunction( html ) ) {
+ html = html.call( this[ 0 ] );
+ }
+
+ // The elements to wrap the target around
+ wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
+
+ if ( this[ 0 ].parentNode ) {
+ wrap.insertBefore( this[ 0 ] );
+ }
+
+ wrap.map( function() {
+ var elem = this;
+
+ while ( elem.firstElementChild ) {
+ elem = elem.firstElementChild;
+ }
+
+ return elem;
+ } ).append( this );
+ }
+
+ return this;
+ },
+
+ wrapInner: function( html ) {
+ if ( jQuery.isFunction( html ) ) {
+ return this.each( function( i ) {
+ jQuery( this ).wrapInner( html.call( this, i ) );
+ } );
+ }
+
+ return this.each( function() {
+ var self = jQuery( this ),
+ contents = self.contents();
+
+ if ( contents.length ) {
+ contents.wrapAll( html );
+
+ } else {
+ self.append( html );
+ }
+ } );
+ },
+
+ wrap: function( html ) {
+ var isFunction = jQuery.isFunction( html );
+
+ return this.each( function( i ) {
+ jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html );
+ } );
+ },
+
+ unwrap: function( selector ) {
+ this.parent( selector ).not( "body" ).each( function() {
+ jQuery( this ).replaceWith( this.childNodes );
+ } );
+ return this;
+ }
+} );
+
+
+jQuery.expr.pseudos.hidden = function( elem ) {
+ return !jQuery.expr.pseudos.visible( elem );
+};
+jQuery.expr.pseudos.visible = function( elem ) {
+ return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
+};
+
+
+
+
+jQuery.ajaxSettings.xhr = function() {
+ try {
+ return new window.XMLHttpRequest();
+ } catch ( e ) {}
+};
+
+var xhrSuccessStatus = {
+
+ // File protocol always yields status code 0, assume 200
+ 0: 200,
+
+ // Support: IE <=9 only
+ // #1450: sometimes IE returns 1223 when it should be 204
+ 1223: 204
+ },
+ xhrSupported = jQuery.ajaxSettings.xhr();
+
+support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
+support.ajax = xhrSupported = !!xhrSupported;
+
+jQuery.ajaxTransport( function( options ) {
+ var callback, errorCallback;
+
+ // Cross domain only allowed if supported through XMLHttpRequest
+ if ( support.cors || xhrSupported && !options.crossDomain ) {
+ return {
+ send: function( headers, complete ) {
+ var i,
+ xhr = options.xhr();
+
+ xhr.open(
+ options.type,
+ options.url,
+ options.async,
+ options.username,
+ options.password
+ );
+
+ // Apply custom fields if provided
+ if ( options.xhrFields ) {
+ for ( i in options.xhrFields ) {
+ xhr[ i ] = options.xhrFields[ i ];
+ }
+ }
+
+ // Override mime type if needed
+ if ( options.mimeType && xhr.overrideMimeType ) {
+ xhr.overrideMimeType( options.mimeType );
+ }
+
+ // X-Requested-With header
+ // For cross-domain requests, seeing as conditions for a preflight are
+ // akin to a jigsaw puzzle, we simply never set it to be sure.
+ // (it can always be set on a per-request basis or even using ajaxSetup)
+ // For same-domain requests, won't change header if already provided.
+ if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
+ headers[ "X-Requested-With" ] = "XMLHttpRequest";
+ }
+
+ // Set headers
+ for ( i in headers ) {
+ xhr.setRequestHeader( i, headers[ i ] );
+ }
+
+ // Callback
+ callback = function( type ) {
+ return function() {
+ if ( callback ) {
+ callback = errorCallback = xhr.onload =
+ xhr.onerror = xhr.onabort = xhr.onreadystatechange = null;
+
+ if ( type === "abort" ) {
+ xhr.abort();
+ } else if ( type === "error" ) {
+
+ // Support: IE <=9 only
+ // On a manual native abort, IE9 throws
+ // errors on any property access that is not readyState
+ if ( typeof xhr.status !== "number" ) {
+ complete( 0, "error" );
+ } else {
+ complete(
+
+ // File: protocol always yields status 0; see #8605, #14207
+ xhr.status,
+ xhr.statusText
+ );
+ }
+ } else {
+ complete(
+ xhrSuccessStatus[ xhr.status ] || xhr.status,
+ xhr.statusText,
+
+ // Support: IE <=9 only
+ // IE9 has no XHR2 but throws on binary (trac-11426)
+ // For XHR2 non-text, let the caller handle it (gh-2498)
+ ( xhr.responseType || "text" ) !== "text" ||
+ typeof xhr.responseText !== "string" ?
+ { binary: xhr.response } :
+ { text: xhr.responseText },
+ xhr.getAllResponseHeaders()
+ );
+ }
+ }
+ };
+ };
+
+ // Listen to events
+ xhr.onload = callback();
+ errorCallback = xhr.onerror = callback( "error" );
+
+ // Support: IE 9 only
+ // Use onreadystatechange to replace onabort
+ // to handle uncaught aborts
+ if ( xhr.onabort !== undefined ) {
+ xhr.onabort = errorCallback;
+ } else {
+ xhr.onreadystatechange = function() {
+
+ // Check readyState before timeout as it changes
+ if ( xhr.readyState === 4 ) {
+
+ // Allow onerror to be called first,
+ // but that will not handle a native abort
+ // Also, save errorCallback to a variable
+ // as xhr.onerror cannot be accessed
+ window.setTimeout( function() {
+ if ( callback ) {
+ errorCallback();
+ }
+ } );
+ }
+ };
+ }
+
+ // Create the abort callback
+ callback = callback( "abort" );
+
+ try {
+
+ // Do send the request (this may raise an exception)
+ xhr.send( options.hasContent && options.data || null );
+ } catch ( e ) {
+
+ // #14683: Only rethrow if this hasn't been notified as an error yet
+ if ( callback ) {
+ throw e;
+ }
+ }
+ },
+
+ abort: function() {
+ if ( callback ) {
+ callback();
+ }
+ }
+ };
+ }
+} );
+
+
+
+
+// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
+jQuery.ajaxPrefilter( function( s ) {
+ if ( s.crossDomain ) {
+ s.contents.script = false;
+ }
+} );
+
+// Install script dataType
+jQuery.ajaxSetup( {
+ accepts: {
+ script: "text/javascript, application/javascript, " +
+ "application/ecmascript, application/x-ecmascript"
+ },
+ contents: {
+ script: /\b(?:java|ecma)script\b/
+ },
+ converters: {
+ "text script": function( text ) {
+ jQuery.globalEval( text );
+ return text;
+ }
+ }
+} );
+
+// Handle cache's special case and crossDomain
+jQuery.ajaxPrefilter( "script", function( s ) {
+ if ( s.cache === undefined ) {
+ s.cache = false;
+ }
+ if ( s.crossDomain ) {
+ s.type = "GET";
+ }
+} );
+
+// Bind script tag hack transport
+jQuery.ajaxTransport( "script", function( s ) {
+
+ // This transport only deals with cross domain requests
+ if ( s.crossDomain ) {
+ var script, callback;
+ return {
+ send: function( _, complete ) {
+ script = jQuery( "<script>" ).prop( {
+ charset: s.scriptCharset,
+ src: s.url
+ } ).on(
+ "load error",
+ callback = function( evt ) {
+ script.remove();
+ callback = null;
+ if ( evt ) {
+ complete( evt.type === "error" ? 404 : 200, evt.type );
+ }
+ }
+ );
+
+ // Use native DOM manipulation to avoid our domManip AJAX trickery
+ document.head.appendChild( script[ 0 ] );
+ },
+ abort: function() {
+ if ( callback ) {
+ callback();
+ }
+ }
+ };
+ }
+} );
+
+
+
+
+var oldCallbacks = [],
+ rjsonp = /(=)\?(?=&|$)|\?\?/;
+
+// Default jsonp settings
+jQuery.ajaxSetup( {
+ jsonp: "callback",
+ jsonpCallback: function() {
+ var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
+ this[ callback ] = true;
+ return callback;
+ }
+} );
+
+// Detect, normalize options and install callbacks for jsonp requests
+jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
+
+ var callbackName, overwritten, responseContainer,
+ jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
+ "url" :
+ typeof s.data === "string" &&
+ ( s.contentType || "" )
+ .indexOf( "application/x-www-form-urlencoded" ) === 0 &&
+ rjsonp.test( s.data ) && "data"
+ );
+
+ // Handle iff the expected data type is "jsonp" or we have a parameter to set
+ if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
+
+ // Get callback name, remembering preexisting value associated with it
+ callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?
+ s.jsonpCallback() :
+ s.jsonpCallback;
+
+ // Insert callback into url or form data
+ if ( jsonProp ) {
+ s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
+ } else if ( s.jsonp !== false ) {
+ s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
+ }
+
+ // Use data converter to retrieve json after script execution
+ s.converters[ "script json" ] = function() {
+ if ( !responseContainer ) {
+ jQuery.error( callbackName + " was not called" );
+ }
+ return responseContainer[ 0 ];
+ };
+
+ // Force json dataType
+ s.dataTypes[ 0 ] = "json";
+
+ // Install callback
+ overwritten = window[ callbackName ];
+ window[ callbackName ] = function() {
+ responseContainer = arguments;
+ };
+
+ // Clean-up function (fires after converters)
+ jqXHR.always( function() {
+
+ // If previous value didn't exist - remove it
+ if ( overwritten === undefined ) {
+ jQuery( window ).removeProp( callbackName );
+
+ // Otherwise restore preexisting value
+ } else {
+ window[ callbackName ] = overwritten;
+ }
+
+ // Save back as free
+ if ( s[ callbackName ] ) {
+
+ // Make sure that re-using the options doesn't screw things around
+ s.jsonpCallback = originalSettings.jsonpCallback;
+
+ // Save the callback name for future use
+ oldCallbacks.push( callbackName );
+ }
+
+ // Call if it was a function and we have a response
+ if ( responseContainer && jQuery.isFunction( overwritten ) ) {
+ overwritten( responseContainer[ 0 ] );
+ }
+
+ responseContainer = overwritten = undefined;
+ } );
+
+ // Delegate to script
+ return "script";
+ }
+} );
+
+
+
+
+// Support: Safari 8 only
+// In Safari 8 documents created via document.implementation.createHTMLDocument
+// collapse sibling forms: the second one becomes a child of the first one.
+// Because of that, this security measure has to be disabled in Safari 8.
+// https://bugs.webkit.org/show_bug.cgi?id=137337
+support.createHTMLDocument = ( function() {
+ var body = document.implementation.createHTMLDocument( "" ).body;
+ body.innerHTML = "<form></form><form></form>";
+ return body.childNodes.length === 2;
+} )();
+
+
+// Argument "data" should be string of html
+// context (optional): If specified, the fragment will be created in this context,
+// defaults to document
+// keepScripts (optional): If true, will include scripts passed in the html string
+jQuery.parseHTML = function( data, context, keepScripts ) {
+ if ( typeof data !== "string" ) {
+ return [];
+ }
+ if ( typeof context === "boolean" ) {
+ keepScripts = context;
+ context = false;
+ }
+
+ var base, parsed, scripts;
+
+ if ( !context ) {
+
+ // Stop scripts or inline event handlers from being executed immediately
+ // by using document.implementation
+ if ( support.createHTMLDocument ) {
+ context = document.implementation.createHTMLDocument( "" );
+
+ // Set the base href for the created document
+ // so any parsed elements with URLs
+ // are based on the document's URL (gh-2965)
+ base = context.createElement( "base" );
+ base.href = document.location.href;
+ context.head.appendChild( base );
+ } else {
+ context = document;
+ }
+ }
+
+ parsed = rsingleTag.exec( data );
+ scripts = !keepScripts && [];
+
+ // Single tag
+ if ( parsed ) {
+ return [ context.createElement( parsed[ 1 ] ) ];
+ }
+
+ parsed = buildFragment( [ data ], context, scripts );
+
+ if ( scripts && scripts.length ) {
+ jQuery( scripts ).remove();
+ }
+
+ return jQuery.merge( [], parsed.childNodes );
+};
+
+
+/**
+ * Load a url into a page
+ */
+jQuery.fn.load = function( url, params, callback ) {
+ var selector, type, response,
+ self = this,
+ off = url.indexOf( " " );
+
+ if ( off > -1 ) {
+ selector = stripAndCollapse( url.slice( off ) );
+ url = url.slice( 0, off );
+ }
+
+ // If it's a function
+ if ( jQuery.isFunction( params ) ) {
+
+ // We assume that it's the callback
+ callback = params;
+ params = undefined;
+
+ // Otherwise, build a param string
+ } else if ( params && typeof params === "object" ) {
+ type = "POST";
+ }
+
+ // If we have elements to modify, make the request
+ if ( self.length > 0 ) {
+ jQuery.ajax( {
+ url: url,
+
+ // If "type" variable is undefined, then "GET" method will be used.
+ // Make value of this field explicit since
+ // user can override it through ajaxSetup method
+ type: type || "GET",
+ dataType: "html",
+ data: params
+ } ).done( function( responseText ) {
+
+ // Save response for use in complete callback
+ response = arguments;
+
+ self.html( selector ?
+
+ // If a selector was specified, locate the right elements in a dummy div
+ // Exclude scripts to avoid IE 'Permission Denied' errors
+ jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :
+
+ // Otherwise use the full result
+ responseText );
+
+ // If the request succeeds, this function gets "data", "status", "jqXHR"
+ // but they are ignored because response was set above.
+ // If it fails, this function gets "jqXHR", "status", "error"
+ } ).always( callback && function( jqXHR, status ) {
+ self.each( function() {
+ callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );
+ } );
+ } );
+ }
+
+ return this;
+};
+
+
+
+
+// Attach a bunch of functions for handling common AJAX events
+jQuery.each( [
+ "ajaxStart",
+ "ajaxStop",
+ "ajaxComplete",
+ "ajaxError",
+ "ajaxSuccess",
+ "ajaxSend"
+], function( i, type ) {
+ jQuery.fn[ type ] = function( fn ) {
+ return this.on( type, fn );
+ };
+} );
+
+
+
+
+jQuery.expr.pseudos.animated = function( elem ) {
+ return jQuery.grep( jQuery.timers, function( fn ) {
+ return elem === fn.elem;
+ } ).length;
+};
+
+
+
+
+jQuery.offset = {
+ setOffset: function( elem, options, i ) {
+ var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
+ position = jQuery.css( elem, "position" ),
+ curElem = jQuery( elem ),
+ props = {};
+
+ // Set position first, in-case top/left are set even on static elem
+ if ( position === "static" ) {
+ elem.style.position = "relative";
+ }
+
+ curOffset = curElem.offset();
+ curCSSTop = jQuery.css( elem, "top" );
+ curCSSLeft = jQuery.css( elem, "left" );
+ calculatePosition = ( position === "absolute" || position === "fixed" ) &&
+ ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;
+
+ // Need to be able to calculate position if either
+ // top or left is auto and position is either absolute or fixed
+ if ( calculatePosition ) {
+ curPosition = curElem.position();
+ curTop = curPosition.top;
+ curLeft = curPosition.left;
+
+ } else {
+ curTop = parseFloat( curCSSTop ) || 0;
+ curLeft = parseFloat( curCSSLeft ) || 0;
+ }
+
+ if ( jQuery.isFunction( options ) ) {
+
+ // Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
+ options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
+ }
+
+ if ( options.top != null ) {
+ props.top = ( options.top - curOffset.top ) + curTop;
+ }
+ if ( options.left != null ) {
+ props.left = ( options.left - curOffset.left ) + curLeft;
+ }
+
+ if ( "using" in options ) {
+ options.using.call( elem, props );
+
+ } else {
+ curElem.css( props );
+ }
+ }
+};
+
+jQuery.fn.extend( {
+ offset: function( options ) {
+
+ // Preserve chaining for setter
+ if ( arguments.length ) {
+ return options === undefined ?
+ this :
+ this.each( function( i ) {
+ jQuery.offset.setOffset( this, options, i );
+ } );
+ }
+
+ var doc, docElem, rect, win,
+ elem = this[ 0 ];
+
+ if ( !elem ) {
+ return;
+ }
+
+ // Return zeros for disconnected and hidden (display: none) elements (gh-2310)
+ // Support: IE <=11 only
+ // Running getBoundingClientRect on a
+ // disconnected node in IE throws an error
+ if ( !elem.getClientRects().length ) {
+ return { top: 0, left: 0 };
+ }
+
+ rect = elem.getBoundingClientRect();
+
+ doc = elem.ownerDocument;
+ docElem = doc.documentElement;
+ win = doc.defaultView;
+
+ return {
+ top: rect.top + win.pageYOffset - docElem.clientTop,
+ left: rect.left + win.pageXOffset - docElem.clientLeft
+ };
+ },
+
+ position: function() {
+ if ( !this[ 0 ] ) {
+ return;
+ }
+
+ var offsetParent, offset,
+ elem = this[ 0 ],
+ parentOffset = { top: 0, left: 0 };
+
+ // Fixed elements are offset from window (parentOffset = {top:0, left: 0},
+ // because it is its only offset parent
+ if ( jQuery.css( elem, "position" ) === "fixed" ) {
+
+ // Assume getBoundingClientRect is there when computed position is fixed
+ offset = elem.getBoundingClientRect();
+
+ } else {
+
+ // Get *real* offsetParent
+ offsetParent = this.offsetParent();
+
+ // Get correct offsets
+ offset = this.offset();
+ if ( !nodeName( offsetParent[ 0 ], "html" ) ) {
+ parentOffset = offsetParent.offset();
+ }
+
+ // Add offsetParent borders
+ parentOffset = {
+ top: parentOffset.top + jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ),
+ left: parentOffset.left + jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true )
+ };
+ }
+
+ // Subtract parent offsets and element margins
+ return {
+ top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
+ left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
+ };
+ },
+
+ // This method will return documentElement in the following cases:
+ // 1) For the element inside the iframe without offsetParent, this method will return
+ // documentElement of the parent window
+ // 2) For the hidden or detached element
+ // 3) For body or html element, i.e. in case of the html node - it will return itself
+ //
+ // but those exceptions were never presented as a real life use-cases
+ // and might be considered as more preferable results.
+ //
+ // This logic, however, is not guaranteed and can change at any point in the future
+ offsetParent: function() {
+ return this.map( function() {
+ var offsetParent = this.offsetParent;
+
+ while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
+ offsetParent = offsetParent.offsetParent;
+ }
+
+ return offsetParent || documentElement;
+ } );
+ }
+} );
+
+// Create scrollLeft and scrollTop methods
+jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
+ var top = "pageYOffset" === prop;
+
+ jQuery.fn[ method ] = function( val ) {
+ return access( this, function( elem, method, val ) {
+
+ // Coalesce documents and windows
+ var win;
+ if ( jQuery.isWindow( elem ) ) {
+ win = elem;
+ } else if ( elem.nodeType === 9 ) {
+ win = elem.defaultView;
+ }
+
+ if ( val === undefined ) {
+ return win ? win[ prop ] : elem[ method ];
+ }
+
+ if ( win ) {
+ win.scrollTo(
+ !top ? val : win.pageXOffset,
+ top ? val : win.pageYOffset
+ );
+
+ } else {
+ elem[ method ] = val;
+ }
+ }, method, val, arguments.length );
+ };
+} );
+
+// Support: Safari <=7 - 9.1, Chrome <=37 - 49
+// Add the top/left cssHooks using jQuery.fn.position
+// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
+// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
+// getComputedStyle returns percent when specified for top/left/bottom/right;
+// rather than make the css module depend on the offset module, just check for it here
+jQuery.each( [ "top", "left" ], function( i, prop ) {
+ jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
+ function( elem, computed ) {
+ if ( computed ) {
+ computed = curCSS( elem, prop );
+
+ // If curCSS returns percentage, fallback to offset
+ return rnumnonpx.test( computed ) ?
+ jQuery( elem ).position()[ prop ] + "px" :
+ computed;
+ }
+ }
+ );
+} );
+
+
+// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
+jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
+ jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },
+ function( defaultExtra, funcName ) {
+
+ // Margin is only for outerHeight, outerWidth
+ jQuery.fn[ funcName ] = function( margin, value ) {
+ var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
+ extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
+
+ return access( this, function( elem, type, value ) {
+ var doc;
+
+ if ( jQuery.isWindow( elem ) ) {
+
+ // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
+ return funcName.indexOf( "outer" ) === 0 ?
+ elem[ "inner" + name ] :
+ elem.document.documentElement[ "client" + name ];
+ }
+
+ // Get document width or height
+ if ( elem.nodeType === 9 ) {
+ doc = elem.documentElement;
+
+ // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
+ // whichever is greatest
+ return Math.max(
+ elem.body[ "scroll" + name ], doc[ "scroll" + name ],
+ elem.body[ "offset" + name ], doc[ "offset" + name ],
+ doc[ "client" + name ]
+ );
+ }
+
+ return value === undefined ?
+
+ // Get width or height on the element, requesting but not forcing parseFloat
+ jQuery.css( elem, type, extra ) :
+
+ // Set width or height on the element
+ jQuery.style( elem, type, value, extra );
+ }, type, chainable ? margin : undefined, chainable );
+ };
+ } );
+} );
+
+
+jQuery.fn.extend( {
+
+ bind: function( types, data, fn ) {
+ return this.on( types, null, data, fn );
+ },
+ unbind: function( types, fn ) {
+ return this.off( types, null, fn );
+ },
+
+ delegate: function( selector, types, data, fn ) {
+ return this.on( types, selector, data, fn );
+ },
+ undelegate: function( selector, types, fn ) {
+
+ // ( namespace ) or ( selector, types [, fn] )
+ return arguments.length === 1 ?
+ this.off( selector, "**" ) :
+ this.off( types, selector || "**", fn );
+ }
+} );
+
+jQuery.holdReady = function( hold ) {
+ if ( hold ) {
+ jQuery.readyWait++;
+ } else {
+ jQuery.ready( true );
+ }
+};
+jQuery.isArray = Array.isArray;
+jQuery.parseJSON = JSON.parse;
+jQuery.nodeName = nodeName;
+
+
+
+
+// Register as a named AMD module, since jQuery can be concatenated with other
+// files that may use define, but not via a proper concatenation script that
+// understands anonymous AMD modules. A named AMD is safest and most robust
+// way to register. Lowercase jquery is used because AMD module names are
+// derived from file names, and jQuery is normally delivered in a lowercase
+// file name. Do this after creating the global so that if an AMD module wants
+// to call noConflict to hide this version of jQuery, it will work.
+
+// Note that for maximum portability, libraries that are not jQuery should
+// declare themselves as anonymous modules, and avoid setting a global if an
+// AMD loader is present. jQuery is a special case. For more information, see
+// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
+
+if ( typeof define === "function" && define.amd ) {
+ define( "jquery", [], function() {
+ return jQuery;
+ } );
+}
+
+
+
+
+var
+
+ // Map over jQuery in case of overwrite
+ _jQuery = window.jQuery,
+
+ // Map over the $ in case of overwrite
+ _$ = window.$;
+
+jQuery.noConflict = function( deep ) {
+ if ( window.$ === jQuery ) {
+ window.$ = _$;
+ }
+
+ if ( deep && window.jQuery === jQuery ) {
+ window.jQuery = _jQuery;
+ }
+
+ return jQuery;
+};
+
+// Expose jQuery and $ identifiers, even in AMD
+// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
+// and CommonJS for browser emulators (#13566)
+if ( !noGlobal ) {
+ window.jQuery = window.$ = jQuery;
+}
+
+
+
+
+return jQuery;
+} );
diff --git a/clover/controller/control/static/js/graphing/candela.min.js b/clover/controller/control/static/js/graphing/candela.min.js
new file mode 100644
index 0000000..3f3483d
--- /dev/null
+++ b/clover/controller/control/static/js/graphing/candela.min.js
@@ -0,0 +1,170 @@
+!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.candela=e():t.candela=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=600)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(109);n.d(e,"accessor",function(){return i.c}),n.d(e,"accessorName",function(){return i.b}),n.d(e,"accessorFields",function(){return i.a});var r=n(345);n.d(e,"id",function(){return r.b}),n.d(e,"identity",function(){return r.c}),n.d(e,"zero",function(){return r.f}),n.d(e,"one",function(){return r.d}),n.d(e,"truthy",function(){return r.e}),n.d(e,"falsy",function(){return r.a});var A=n(697);n.d(e,"logger",function(){return A.f}),n.d(e,"None",function(){return A.d}),n.d(e,"Error",function(){return A.b}),n.d(e,"Warn",function(){return A.e}),n.d(e,"Info",function(){return A.c}),n.d(e,"Debug",function(){return A.a});var o=n(698);n.d(e,"panLinear",function(){return o.a}),n.d(e,"panLog",function(){return o.b}),n.d(e,"panPow",function(){return o.c}),n.d(e,"zoomLinear",function(){return o.d}),n.d(e,"zoomLog",function(){return o.e}),n.d(e,"zoomPow",function(){return o.f});var a=n(227);n.d(e,"array",function(){return a.a});var c=n(699);n.d(e,"compare",function(){return c.a});var s=n(700);n.d(e,"constant",function(){return s.a});var u=n(701);n.d(e,"debounce",function(){return u.a});var g=n(347);n.d(e,"error",function(){return g.a});var l=n(702);n.d(e,"extend",function(){return l.a});var M=n(703);n.d(e,"extentIndex",function(){return M.a});var h=n(704);n.d(e,"fastmap",function(){return h.a});var d=n(346);n.d(e,"field",function(){return d.a});var f=n(705);n.d(e,"inherits",function(){return f.a});var I=n(226);n.d(e,"isArray",function(){return I.a});var E=n(706);n.d(e,"isBoolean",function(){return E.a});var T=n(352);n.d(e,"isDate",function(){return T.a});var N=n(228);n.d(e,"isFunction",function(){return N.a});var y=n(353);n.d(e,"isNumber",function(){return y.a});var p=n(348);n.d(e,"isObject",function(){return p.a});var C=n(707);n.d(e,"isRegExp",function(){return C.a});var D=n(349);n.d(e,"isString",function(){return D.a});var x=n(708);n.d(e,"key",function(){return x.a});var B=n(709);n.d(e,"merge",function(){return B.a});var w=n(710);n.d(e,"pad",function(){return w.a});var m=n(350);n.d(e,"peek",function(){return m.a});var Q=n(354);n.d(e,"repeat",function(){return Q.a});var v=n(142);n.d(e,"splitAccessPath",function(){return v.a});var j=n(143);n.d(e,"stringValue",function(){return j.a});var L=n(711);n.d(e,"toBoolean",function(){return L.a});var S=n(712);n.d(e,"toDate",function(){return S.a});var Y=n(351);n.d(e,"toNumber",function(){return Y.a});var b=n(713);n.d(e,"toString",function(){return b.a});var O=n(714);n.d(e,"toSet",function(){return O.a});var z=n(715);n.d(e,"truncate",function(){return z.a});var U=n(716);n.d(e,"visitArray",function(){return U.a})},function(t,e,n){"use strict";var i=(n(117),n(242));n.d(e,"h",function(){return i.a}),n.d(e,"l",function(){return i.b});var r=n(796);n.d(e,"a",function(){return r.a});var A=n(384);n.d(e,"b",function(){return A.a});var o=n(383);n.d(e,"e",function(){return o.a});var a=n(158);n.d(e,"f",function(){return a.b});var c=n(388);n.d(e,"c",function(){return c.a});var s=n(157);n.d(e,"d",function(){return s.a});var u=n(824);n.d(e,"g",function(){return u.a});var g=n(243);n.d(e,"j",function(){return g.a}),n.d(e,"n",function(){return g.d}),n.d(e,"k",function(){return g.b}),n.d(e,"m",function(){return g.c}),n.d(e,"o",function(){return g.e}),n.d(e,"r",function(){return g.f});var l=n(825);n.d(e,"i",function(){return l.a}),n.d(e,"p",function(){return l.b}),n.d(e,"q",function(){return l.c})},function(t,e,n){"use strict";function i(t,e){var n={};return e.forEach(function(e){t.hasOwnProperty(e)&&(n[e]=t[e])}),n}function r(t,e){var n=y(t);return e.forEach(function(t){delete n[t]}),n}function A(t){if(m.isString(t)||m.isNumber(t)||p(t))return String(t);var e=w(t);if(e.length<100)return e;for(var n=0,i=0;i<e.length;i++){n=(n<<5)-n+e.charCodeAt(i),n&=n}return n}function o(t,e){return t.indexOf(e)>-1}function a(t,e){return t.filter(function(t){return!o(e,t)})}function c(t,e){return t.concat(a(e,t))}function s(t,e){for(var n=0,i=0;i<t.length;i++)if(e(t[i],i,n++))return!0;return!1}function u(t,e){for(var n=0,i=0;i<t.length;i++)if(!e(t[i],i,n++))return!1;return!0}function g(t){return[].concat.apply([],t)}function l(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];for(var i=0,r=e;i<r.length;i++){t=M(t,r[i])}return t}function M(t,e){if("object"!=typeof e||null===e)return t;for(var n in e)e.hasOwnProperty(n)&&void 0!==e[n]&&("object"!=typeof e[n]||m.isArray(e[n])||null===e[n]?t[n]=e[n]:"object"!=typeof t[n]||null===t[n]?t[n]=l(m.isArray(e[n].constructor)?[]:{},e[n]):l(t[n],e[n]));return t}function h(t,e){for(var n,i=[],r={},A=0,o=t;A<o.length;A++){var a=o[A];n=e(a),n in r||(r[n]=1,i.push(a))}return i}function d(t,e){for(var n in t)if(t.hasOwnProperty(n)&&e[n]&&t[n]&&e[n]!==t[n])return!0;return!1}function f(t,e){for(var n in t)if(n in e)return!0;return!1}function I(t){return!isNaN(t)}function E(t,e){if(t.length!==e.length)return!0;t.sort(),e.sort();for(var n=0;n<t.length;n++)if(e[n]!==t[n])return!0;return!1}function T(t){var e=[];for(var n in t)t.hasOwnProperty(n)&&e.push(t[n]);return e}function N(t){return e.keys(t)}function y(t){return JSON.parse(JSON.stringify(t))}function p(t){return!0===t||!1===t}function C(t){var e=t.replace(/\W/g,"_");return(t.match(/^\d+/)?"_":"")+e}function D(t,e){return Q.isLogicalNot(t)?"!("+D(t.not,e)+")":Q.isLogicalAnd(t)?"("+t.and.map(function(t){return D(t,e)}).join(") && (")+")":Q.isLogicalOr(t)?"("+t.or.map(function(t){return D(t,e)}).join(") || (")+")":e(t)}function x(t,n){for(var i=!0;n.length>0&&i;){for(var r=t,A=0;A<n.length-1;A++)r=r[n[A]];delete r[n.pop()],0!==e.keys(r).length&&(i=!1)}}function B(t){return t.charAt(0).toUpperCase()+t.substr(1)}Object.defineProperty(e,"__esModule",{value:!0});var w=n(344),m=n(0),Q=n(229),v=n(0);e.isArray=v.isArray,e.isObject=v.isObject,e.isNumber=v.isNumber,e.isString=v.isString,e.truncate=v.truncate,e.toSet=v.toSet,e.stringValue=v.stringValue,e.pick=i,e.omit=r,e.hash=A,e.contains=o,e.without=a,e.union=c,e.some=s,e.every=u,e.flatten=g,e.mergeDeep=l,e.unique=h,e.differ=d,e.hasIntersection=f,e.isNumeric=I,e.differArray=E,e.keys=Object.keys,e.vals=T,e.flagKeys=N,e.duplicate=y,e.isBoolean=p,e.varName=C,e.logicalExpr=D,e.deleteNestedProperty=x,e.titlecase=B},function(t,e,n){"use strict";function i(t,e){function n(){this.constructor=t}T(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}function r(t,e){var n={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var r=0,i=Object.getOwnPropertySymbols(t);r<i.length;r++)e.indexOf(i[r])<0&&(n[i[r]]=t[i[r]]);return n}function A(t,e,n,i){var r,A=arguments.length,o=A<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,n,i);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(A<3?r(o):A>3?r(e,n,o):r(e,n))||o);return A>3&&o&&Object.defineProperty(e,n,o),o}function o(t,e){return function(n,i){e(n,i,t)}}function a(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function c(t,e,n,i){return new(n||(n=Promise))(function(r,A){function o(t){try{c(i.next(t))}catch(t){A(t)}}function a(t){try{c(i.throw(t))}catch(t){A(t)}}function c(t){t.done?r(t.value):new n(function(e){e(t.value)}).then(o,a)}c((i=i.apply(t,e||[])).next())})}function s(t,e){function n(t){return function(e){return i([t,e])}}function i(n){if(r)throw new TypeError("Generator is already executing.");for(;c;)try{if(r=1,A&&(o=A[2&n[0]?"return":n[0]?"throw":"next"])&&!(o=o.call(A,n[1])).done)return o;switch(A=0,o&&(n=[0,o.value]),n[0]){case 0:case 1:o=n;break;case 4:return c.label++,{value:n[1],done:!1};case 5:c.label++,A=n[1],n=[0];continue;case 7:n=c.ops.pop(),c.trys.pop();continue;default:if(o=c.trys,!(o=o.length>0&&o[o.length-1])&&(6===n[0]||2===n[0])){c=0;continue}if(3===n[0]&&(!o||n[1]>o[0]&&n[1]<o[3])){c.label=n[1];break}if(6===n[0]&&c.label<o[1]){c.label=o[1],o=n;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(n);break}o[2]&&c.ops.pop(),c.trys.pop();continue}n=e.call(t,c)}catch(t){n=[6,t],A=0}finally{r=o=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}var r,A,o,a,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:n(0),throw:n(1),return:n(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a}function u(t,e){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}function g(t){var e="function"==typeof Symbol&&t[Symbol.iterator],n=0;return e?e.call(t):{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}}function l(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var i,r,A=n.call(t),o=[];try{for(;(void 0===e||e-- >0)&&!(i=A.next()).done;)o.push(i.value)}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=A.return)&&n.call(A)}finally{if(r)throw r.error}}return o}function M(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(l(arguments[e]));return t}function h(t){return this instanceof h?(this.v=t,this):new h(t)}function d(t,e,n){function i(t){u[t]&&(s[t]=function(e){return new Promise(function(n,i){g.push([t,e,n,i])>1||r(t,e)})})}function r(t,e){try{A(u[t](e))}catch(t){c(g[0][3],t)}}function A(t){t.value instanceof h?Promise.resolve(t.value.v).then(o,a):c(g[0][2],t)}function o(t){r("next",t)}function a(t){r("throw",t)}function c(t,e){t(e),g.shift(),g.length&&r(g[0][0],g[0][1])}if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var s,u=n.apply(t,e||[]),g=[];return s={},i("next"),i("throw"),i("return"),s[Symbol.asyncIterator]=function(){return this},s}function f(t){function e(e,r){t[e]&&(n[e]=function(n){return(i=!i)?{value:h(t[e](n)),done:"return"===e}:r?r(n):n})}var n,i;return n={},e("next"),e("throw",function(t){throw t}),e("return"),n[Symbol.iterator]=function(){return this},n}function I(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator];return e?e.call(t):"function"==typeof g?g(t):t[Symbol.iterator]()}function E(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}Object.defineProperty(e,"__esModule",{value:!0}),e.__extends=i,n.d(e,"__assign",function(){return N}),e.__rest=r,e.__decorate=A,e.__param=o,e.__metadata=a,e.__awaiter=c,e.__generator=s,e.__exportStar=u,e.__values=g,e.__read=l,e.__spread=M,e.__await=h,e.__asyncGenerator=d,e.__asyncDelegator=f,e.__asyncValues=I,e.__makeTemplateObject=E;/*! *****************************************************************************
+Copyright (c) Microsoft Corporation. All rights reserved.
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use
+this file except in compliance with the License. You may obtain a copy of the
+License at http://www.apache.org/licenses/LICENSE-2.0
+
+THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
+WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
+MERCHANTABLITY OR NON-INFRINGEMENT.
+
+See the Apache Version 2.0 License for specific language governing permissions
+and limitations under the License.
+***************************************************************************** */
+var T=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},N=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++){e=arguments[n];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}return t}},function(t,e,n){"use strict";function i(t){return function(){var e=g=new l;t(e),A()}}function r(t){return g=t}function A(){return g=u}function o(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];g.warn.apply(g,arguments)}function a(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];g.info.apply(g,arguments)}function c(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];g.debug.apply(g,arguments)}Object.defineProperty(e,"__esModule",{value:!0});var s=n(0),u=s.logger(s.Warn),g=u,l=function(){function t(){this.warns=[],this.infos=[],this.debugs=[]}return t.prototype.level=function(){return this},t.prototype.warn=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return(n=this.warns).push.apply(n,t),this;var n},t.prototype.info=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return(n=this.infos).push.apply(n,t),this;var n},t.prototype.debug=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return(n=this.debugs).push.apply(n,t),this;var n},t}();e.LocalLogger=l,e.wrap=i,e.set=r,e.reset=A,e.warn=o,e.info=a,e.debug=c;!function(t){function e(t){return'Cannot project a selection on encoding channel "'+t+'", which has no field.'}function n(t){return'The "nearest" transform is not supported for '+t+" marks."}function i(t){return'Cannot find a selection named "'+t+'"'}function r(t){return'Unknown repeated value "'+t+'".'}function A(t){return'Cannot set title "anchor" for a '+t+" spec"}function o(t){return'Unrecognized parse "'+t+'".'}function a(t,e,n){return'An ancestor parsed field "'+t+'" as '+n+" but a child wants to parse the field as "+e+"."}function c(t){return"Ignoring an invalid transform: "+JSON.stringify(t)+"."}function s(t,e,n){return"Channel "+t+" is a "+e+". Converted to {value: "+n+"}."}function u(t){return'Invalid field type "'+t+'"'}function g(t,e){return'Invalid field type "'+t+'" for aggregate: "'+e+'", using "quantitative" instead.'}function l(t){return'Invalid aggregation operator "'+t+'"'}function M(t,e,n){return'Invalid field type "'+t+'" for channel "'+e+'", using "'+n+'" instead.'}function h(t,e){return"Dropping "+JSON.stringify(t)+' from channel "'+e+'" since it does not contain data field or value.'}function d(t,e,n){return t+' dropped as it is incompatible with "'+e+'"'+(n?" when "+n:"")+"."}function f(t){return t+" encoding should be discrete (ordinal / nominal / binned)."}function I(t,e){return'Using discrete channel "'+t+'" to encode "'+e+'" field can be misleading as it does not encode '+("ordinal"===e?"order":"magnitude")+"."}function E(t){return'Cannot clearly determine orientation for "'+t+'" since both x and y channel encode continous fields. In this case, we use vertical by default'}function T(t){return'Cannot clearly determine orientation for "'+t+'" since both x and y channel encode discrete or empty fields.'}function N(t,e){return'Specified orient "'+t+'" overridden with "'+e+'"'}function y(t){return'Cannot use the scale property "'+t+'" with non-color channel.'}function p(t){return"Using unaggregated domain with raw field has no effect ("+JSON.stringify(t)+")."}function C(t){return'Unaggregated domain not applicable for "'+t+'" since it produces values outside the origin domain of the source data.'}function D(t){return"Unaggregated domain is currently unsupported for log scale ("+JSON.stringify(t)+")."}function x(t){return"Using size field when "+t+"-channel has a band scale is not supported."}function B(t){return'Cannot apply size to non-oriented mark "'+t+'".'}function w(t){return'rangeStep for "'+t+'" is dropped as top-level '+("x"===t?"width":"height")+" is provided."}function m(t,e,n){return'Channel "'+t+'" does not work with "'+e+'" scale. We are using "'+n+'" scale instead.'}function Q(t,e){return'FieldDef does not work with "'+t+'" scale. We are using "'+e+'" scale instead.'}function v(t,e,n){return n+"-scale's \""+e+'" is dropped as it does not work with '+t+" scale."}function j(t,e){return'Scale type "'+e+'" does not work with mark "'+t+'".'}function L(t,e,n,i){return"Conflicting "+e+' property "'+t+'" ("'+n+'" and "'+i+'"). Using "'+n+'".'}function S(t){return'Setting the scale to be independent for "'+t+'" means we also have to set the guide (axis or legend) to be independent.'}function Y(t){return"Cannot set "+t+'-scale\'s "domain" as it is binned. Please use "bin"\'s "extent" instead.'}function b(t){return'Dropping sort property "'+JSON.stringify(t)+"\" as unioned domains only support boolean or op 'count'."}function O(t){return'Cannot stack "'+t+'" if there is already "'+t+'2"'}function z(t){return"Cannot stack non-linear scale ("+t+")"}function U(t){return'Stacking is applied even though the aggregate function is non-summative ("'+t+'")'}function F(t,e){return"Invalid "+t+': "'+e+'"'}function k(t){return'Time unit "'+t+'" is not supported. We are replacing it with '+t.replace("day","date")+"."}function R(t){return"Dropping day from datetime "+JSON.stringify(t)+" as day cannot be combined with other units."}t.INVALID_SPEC="Invalid spec",t.FIT_NON_SINGLE='Autosize "fit" only works for single views and layered views.',t.CANNOT_FIX_RANGE_STEP_WITH_FIT='Cannot use a fixed value of "rangeStep" when "autosize" is "fit".',t.cannotProjectOnChannelWithoutField=e,t.nearestNotSupportForContinuous=n,t.selectionNotFound=i,t.SCALE_BINDINGS_CONTINUOUS="Scale bindings are currently only supported for scales with unbinned, continuous domains.",t.noSuchRepeatedValue=r,t.CONCAT_CANNOT_SHARE_AXIS="Axes cannot be shared in concatenated views.",t.cannotSetTitleAnchor=A,t.unrecognizedParse=o,t.differentParse=a,t.invalidTransformIgnored=c,t.NO_FIELDS_NEEDS_AS='If "from.fields" is not specified, "as" has to be a string that specifies the key to be used for the the data from the secondary source.',t.primitiveChannelDef=s,t.invalidFieldType=u,t.invalidFieldTypeForCountAggregate=g,t.invalidAggregate=l,t.emptyOrInvalidFieldType=M,t.emptyFieldDef=h,t.incompatibleChannel=d,t.facetChannelShouldBeDiscrete=f,t.discreteChannelCannotEncode=I,t.BAR_WITH_POINT_SCALE_AND_RANGESTEP_NULL="Bar mark should not be used with point scale when rangeStep is null. Please use band scale instead.",t.unclearOrientContinuous=E,t.unclearOrientDiscreteOrEmpty=T,t.orientOverridden=N,t.CANNOT_UNION_CUSTOM_DOMAIN_WITH_FIELD_DOMAIN="custom domain scale cannot be unioned with default field-based domain",t.cannotUseScalePropertyWithNonColor=y,t.unaggregateDomainHasNoEffectForRawField=p,t.unaggregateDomainWithNonSharedDomainOp=C,t.unaggregatedDomainWithLogScale=D,t.cannotUseSizeFieldWithBandSize=x,t.cannotApplySizeToNonOrientedMark=B,t.rangeStepDropped=w,t.scaleTypeNotWorkWithChannel=m,t.scaleTypeNotWorkWithFieldDef=Q,t.scalePropertyNotWorkWithScaleType=v,t.scaleTypeNotWorkWithMark=j,t.mergeConflictingProperty=L,t.independentScaleMeansIndependentGuide=S,t.conflictedDomain=Y,t.domainSortDropped=b,t.UNABLE_TO_MERGE_DOMAINS="Unable to merge domains",t.MORE_THAN_ONE_SORT="Domains that should be unioned has conflicting sort properties. Sort will be set to true.",t.INVALID_CHANNEL_FOR_AXIS="Invalid channel for axis.",t.cannotStackRangedMark=O,t.cannotStackNonLinearScale=z,t.stackNonSummativeAggregate=U,t.invalidTimeUnit=F,t.dayReplacedWithDate=k,t.droppedDay=R}(e.message||(e.message={}))},function(t,e,n){"use strict";function i(t){return t>1?0:t<-1?c:Math.acos(t)}function r(t){return t>1?s:t<-1?-s:Math.asin(t)}function A(t){return(t=p(t/2))*t}n.d(e,"i",function(){return o}),n.d(e,"j",function(){return a}),n.d(e,"o",function(){return c}),n.d(e,"l",function(){return s}),n.d(e,"q",function(){return u}),n.d(e,"w",function(){return g}),n.d(e,"h",function(){return l}),n.d(e,"r",function(){return M}),n.d(e,"a",function(){return h}),n.d(e,"d",function(){return d}),n.d(e,"e",function(){return f}),n.d(e,"g",function(){return I}),n.d(e,"f",function(){return E}),n.d(e,"k",function(){return T}),n.d(e,"n",function(){return N}),n.d(e,"p",function(){return y}),n.d(e,"t",function(){return p}),n.d(e,"s",function(){return C}),n.d(e,"u",function(){return D}),n.d(e,"v",function(){return x}),e.b=i,e.c=r,e.m=A;var o=1e-6,a=1e-12,c=Math.PI,s=c/2,u=c/4,g=2*c,l=180/c,M=c/180,h=Math.abs,d=Math.atan,f=Math.atan2,I=Math.cos,E=Math.ceil,T=Math.exp,N=(Math.floor,Math.log),y=Math.pow,p=Math.sin,C=Math.sign||function(t){return t>0?1:t<0?-1:0},D=Math.sqrt,x=Math.tan},function(t,e,n){"use strict";function i(t){return t>1?0:t<-1?c:Math.acos(t)}function r(t){return t>1?s:t<-1?-s:Math.asin(t)}function A(t){return(t=p(t/2))*t}n.d(e,"i",function(){return o}),n.d(e,"j",function(){return a}),n.d(e,"o",function(){return c}),n.d(e,"l",function(){return s}),n.d(e,"q",function(){return u}),n.d(e,"w",function(){return g}),n.d(e,"h",function(){return l}),n.d(e,"r",function(){return M}),n.d(e,"a",function(){return h}),n.d(e,"d",function(){return d}),n.d(e,"e",function(){return f}),n.d(e,"g",function(){return I}),n.d(e,"f",function(){return E}),n.d(e,"k",function(){return T}),n.d(e,"n",function(){return N}),n.d(e,"p",function(){return y}),n.d(e,"t",function(){return p}),n.d(e,"s",function(){return C}),n.d(e,"u",function(){return D}),n.d(e,"v",function(){return x}),e.b=i,e.c=r,e.m=A;var o=1e-6,a=1e-12,c=Math.PI,s=c/2,u=c/4,g=2*c,l=180/c,M=c/180,h=Math.abs,d=Math.atan,f=Math.atan2,I=Math.cos,E=Math.ceil,T=Math.exp,N=(Math.floor,Math.log),y=Math.pow,p=Math.sin,C=Math.sign||function(t){return t>0?1:t<0?-1:0},D=Math.sqrt,x=Math.tan},function(t,e,n){"use strict";function i(t){return!!M[t]}function r(t){return!!E[t]}function A(t,e){return e in o(t)}function o(t){switch(t){case e.X:case e.Y:case e.COLOR:case e.DETAIL:case e.TOOLTIP:case e.ORDER:case e.OPACITY:case e.ROW:case e.COLUMN:return{point:!0,tick:!0,rule:!0,circle:!0,square:!0,bar:!0,rect:!0,line:!0,area:!0,text:!0};case e.X2:case e.Y2:return{rule:!0,bar:!0,rect:!0,area:!0};case e.SIZE:return{point:!0,tick:!0,rule:!0,circle:!0,square:!0,bar:!0,text:!0,line:!0};case e.SHAPE:return{point:!0};case e.TEXT:return{text:!0}}}function a(t){switch(t){case e.X:case e.Y:case e.SIZE:case e.OPACITY:case e.X2:case e.Y2:return"continuous";case e.ROW:case e.COLUMN:case e.SHAPE:case e.TEXT:case e.TOOLTIP:return"discrete";case e.COLOR:return"flexible";case e.DETAIL:case e.ORDER:return}throw new Error("getSupportedRole not implemented for "+t)}Object.defineProperty(e,"__esModule",{value:!0});var c,s=n(3),u=n(2);!function(t){t.ROW="row",t.COLUMN="column",t.X="x",t.Y="y",t.X2="x2",t.Y2="y2",t.COLOR="color",t.SHAPE="shape",t.SIZE="size",t.OPACITY="opacity",t.TEXT="text",t.ORDER="order",t.DETAIL="detail",t.TOOLTIP="tooltip"}(c=e.Channel||(e.Channel={})),e.X=c.X,e.Y=c.Y,e.X2=c.X2,e.Y2=c.Y2,e.ROW=c.ROW,e.COLUMN=c.COLUMN,e.SHAPE=c.SHAPE,e.SIZE=c.SIZE,e.COLOR=c.COLOR,e.TEXT=c.TEXT,e.DETAIL=c.DETAIL,e.ORDER=c.ORDER,e.OPACITY=c.OPACITY,e.TOOLTIP=c.TOOLTIP;var g={x:1,y:1,x2:1,y2:1,size:1,shape:1,color:1,order:1,opacity:1,text:1,detail:1,tooltip:1},l={row:1,column:1},M=s.__assign({},g,l);e.CHANNELS=u.flagKeys(M);var h=(M.order,M.detail,s.__rest(M,["order","detail"]));e.SINGLE_DEF_CHANNELS=u.flagKeys(h),e.isChannel=i,e.UNIT_CHANNELS=u.flagKeys(g);var d=s.__rest(g,["x","y","x2","y2"]);e.NONPOSITION_CHANNELS=u.flagKeys(d);var f={x:1,y:1};e.POSITION_SCALE_CHANNELS=u.flagKeys(f);var I=(d.text,d.tooltip,d.detail,d.order,s.__rest(d,["text","tooltip","detail","order"]));e.NONPOSITION_SCALE_CHANNELS=u.flagKeys(I);var E=s.__assign({},f,I);e.SCALE_CHANNELS=u.flagKeys(E),e.isScaleChannel=r,e.supportMark=A,e.getSupportedMark=o,e.rangeType=a},function(t,e,n){"use strict";e.a=function(t){for(var e=t.length/6|0,n=new Array(e),i=0;i<e;)n[i]="#"+t.slice(6*i,6*++i);return n}},function(t,e,n){"use strict";function i(t){return t&&!O.isString(t)&&"repeat"in t}function r(t){return!!t&&!!t.condition}function A(t){return!!t&&!!t.condition&&a(t.condition)}function o(t){return!!t&&!!t.condition&&s(t.condition)}function a(t){return!(!t||!t.field&&"count"!==t.aggregate)}function c(t){return a(t)&&O.isString(t.field)}function s(t){return t&&"value"in t&&void 0!==t.value}function u(t){return!(!t||!t.scale&&!t.sort)}function g(t,e){void 0===e&&(e={});var n=t.field,i=e.prefix,r=e.suffix;if(h(t))n="count_*";else{var A=void 0;e.nofn||(t.bin?(A=j.binToString(t.bin),r=e.binSuffix||""):t.aggregate?A=String(e.aggregate||t.aggregate):t.timeUnit&&(A=String(t.timeUnit))),A&&(n=A+"_"+n)}return r&&(n=n+"_"+r),i&&(n=i+"_"+n),e.expr&&(n=e.expr+"["+O.stringValue(n)+"]"),n}function l(t){switch(t.type){case"nominal":case"ordinal":return!0;case"quantitative":return!!t.bin;case"temporal":return!1}throw new Error(S.message.invalidFieldType(t.type))}function M(t){return!l(t)}function h(t){return"count"===t.aggregate}function d(t,e){var n=t.field,i=t.bin,r=t.timeUnit,A=t.aggregate;if("count"===A)return e.countTitle;if(i)return n+" (binned)";if(r){return n+" ("+Y.getTimeUnitParts(r).join("-")+")"}return A?O.titlecase(A)+" of "+n:n}function f(t,e){var n=t.aggregate||t.timeUnit||t.bin&&"bin";return n?n.toUpperCase()+"("+t.field+")":t.field}function I(t){z=t}function E(){I(e.defaultTitleFormatter)}function T(t,e){return z(t,e)}function N(t,e){if(t.timeUnit)return"temporal";if(t.bin)return"quantitative";switch(L.rangeType(e)){case"continuous":return"quantitative";case"discrete":case"flexible":return"nominal";default:return"quantitative"}}function y(t){return a(t)?t:A(t)?t.condition:void 0}function p(t,e){if(O.isString(t)||Q.isNumber(t)||O.isBoolean(t)){var n=O.isString(t)?"string":Q.isNumber(t)?"number":"boolean";return S.warn(S.message.primitiveChannelDef(e,n,t)),{value:t}}return a(t)?C(t,e):A(t)?m.__assign({},t,{condition:C(t.condition,e)}):t}function C(t,e){if(t.aggregate&&!v.isAggregateOp(t.aggregate)){var n=(t.aggregate,m.__rest(t,["aggregate"]));S.warn(S.message.invalidAggregate(t.aggregate)),t=n}if(t.timeUnit&&(t=m.__assign({},t,{timeUnit:Y.normalizeTimeUnit(t.timeUnit)})),t.bin&&(t=m.__assign({},t,{bin:D(t.bin,e)})),t.type){var i=b.getFullName(t.type);t.type!==i&&(t=m.__assign({},t,{type:i})),"quantitative"!==t.type&&v.isCountingAggregateOp(t.aggregate)&&(S.warn(S.message.invalidFieldTypeForCountAggregate(t.type,t.aggregate)),t=m.__assign({},t,{type:"quantitative"}))}else{var r=N(t,e);S.warn(S.message.emptyOrInvalidFieldType(t.type,e,r)),t=m.__assign({},t,{type:r})}var A=x(t,e),o=A.compatible,a=A.warning;return o||S.warn(a),t}function D(t,e){return O.isBoolean(t)?{maxbins:j.autoMaxBins(e)}:t.maxbins||t.step?t:m.__assign({},t,{maxbins:j.autoMaxBins(e)})}function x(t,e){switch(e){case"row":case"column":return M(t)&&!t.timeUnit?{compatible:!1,warning:S.message.facetChannelShouldBeDiscrete(e)}:U;case"x":case"y":case"color":case"text":case"detail":case"tooltip":return U;case"opacity":case"size":case"x2":case"y2":return l(t)&&!t.bin?{compatible:!1,warning:"Channel "+e+" should not be used with discrete field."}:U;case"shape":return"nominal"!==t.type?{compatible:!1,warning:"Shape channel should be used with nominal data only"}:U;case"order":return"nominal"===t.type?{compatible:!1,warning:"Channel order is inappropriate for nominal field, which has no inherent order."}:U}throw new Error("channelCompatability not implemented for channel "+e)}function B(t){return"quantitative"===t.type||!!t.bin}function w(t){return"temporal"===t.type||!!t.timeUnit}Object.defineProperty(e,"__esModule",{value:!0});var m=n(3),Q=n(0),v=n(110),j=n(111),L=n(7),S=n(4),Y=n(112),b=n(49),O=n(2);e.isRepeatRef=i,e.isConditionalDef=r,e.hasConditionFieldDef=A,e.hasConditionValueDef=o,e.isFieldDef=a,e.isStringFieldDef=c,e.isValueDef=s,e.isScaleFieldDef=u,e.field=g,e.isDiscrete=l,e.isContinuous=M,e.isCount=h,e.verbalTitleFormatter=d,e.functionalTitleFormatter=f,e.defaultTitleFormatter=function(t,e){switch(e.fieldTitle){case"plain":return t.field;case"functional":return f(t,e);default:return d(t,e)}};var z=e.defaultTitleFormatter;e.setTitleFormatter=I,e.resetTitleFormatter=E,e.title=T,e.defaultType=N,e.getFieldDef=y,e.normalize=p,e.normalizeFieldDef=C,e.normalizeBin=D;var U={compatible:!0};e.channelCompatibility=x,e.isNumberFieldDef=B,e.isTimeFieldDef=w},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(393);n.d(e,"bisect",function(){return i.c}),n.d(e,"bisectRight",function(){return i.b}),n.d(e,"bisectLeft",function(){return i.a});var r=n(93);n.d(e,"ascending",function(){return r.a});var A=n(394);n.d(e,"bisector",function(){return A.a});var o=n(829);n.d(e,"cross",function(){return o.a});var a=n(830);n.d(e,"descending",function(){return a.a});var c=n(396);n.d(e,"deviation",function(){return c.a});var s=n(398);n.d(e,"extent",function(){return s.a});var u=n(831);n.d(e,"histogram",function(){return u.a});var g=n(834);n.d(e,"thresholdFreedmanDiaconis",function(){return g.a});var l=n(835);n.d(e,"thresholdScott",function(){return l.a});var M=n(402);n.d(e,"thresholdSturges",function(){return M.a});var h=n(836);n.d(e,"max",function(){return h.a});var d=n(837);n.d(e,"mean",function(){return d.a});var f=n(838);n.d(e,"median",function(){return f.a});var I=n(839);n.d(e,"merge",function(){return I.a});var E=n(403);n.d(e,"min",function(){return E.a});var T=n(395);n.d(e,"pairs",function(){return T.a});var N=n(840);n.d(e,"permute",function(){return N.a});var y=n(247);n.d(e,"quantile",function(){return y.a});var p=n(400);n.d(e,"range",function(){return p.a});var C=n(841);n.d(e,"scan",function(){return C.a});var D=n(842);n.d(e,"shuffle",function(){return D.a});var x=n(843);n.d(e,"sum",function(){return x.a});var B=n(401);n.d(e,"ticks",function(){return B.a}),n.d(e,"tickIncrement",function(){return B.b}),n.d(e,"tickStep",function(){return B.c});var w=n(404);n.d(e,"transpose",function(){return w.a});var m=n(397);n.d(e,"variance",function(){return m.a});var Q=n(844);n.d(e,"zip",function(){return Q.a})},function(t,e,n){"use strict";function i(t,e){var n=E[t],i=E[e];return n===i||"ordinal-position"===n&&"time"===i||"ordinal-position"===i&&"time"===n}function r(t){return T[t]}function A(t){return t in p}function o(t){return t in C}function a(t){return t in y}function c(t){return t in N}function s(t){return t&&!!t.name}function u(t){return t&&t.selection}function g(t,e){switch(e){case"type":case"domain":case"reverse":case"range":return!0;case"scheme":return I.contains(["sequential","ordinal","bin-ordinal","quantile","quantize"],t);case"interpolate":return I.contains(["linear","bin-linear","pow","log","sqrt","utc","time"],t);case"round":return c(t)||"band"===t||"point"===t;case"padding":return c(t)||I.contains(["point","band"],t);case"paddingOuter":case"rangeStep":return I.contains(["point","band"],t);case"paddingInner":return"band"===t;case"clamp":return c(t)||"sequential"===t;case"nice":return c(t)||"sequential"===t||"quantize"===t;case"exponent":return"pow"===t;case"base":return"log"===t;case"zero":return a(t)&&!I.contains(["log","time","utc","bin-linear","threshold","quantile"],t)}throw new Error("Invalid scale property "+e+".")}function l(t,e){switch(e){case"interpolate":case"scheme":if("color"!==t)return f.message.cannotUseScalePropertyWithNonColor(t);return;case"type":case"domain":case"range":case"base":case"exponent":case"nice":case"padding":case"paddingInner":case"paddingOuter":case"rangeStep":case"reverse":case"round":case"clamp":case"zero":return}throw new Error('Invalid scale property "'+e+'".')}function M(t,e){switch(t){case d.Channel.X:case d.Channel.Y:case d.Channel.SIZE:case d.Channel.OPACITY:return c(e)||I.contains(["band","point"],e);case d.Channel.COLOR:return"band"!==e;case d.Channel.SHAPE:return"ordinal"===e}return!1}Object.defineProperty(e,"__esModule",{value:!0});var h=n(3),d=n(7),f=n(4),I=n(2);!function(t){t.LINEAR="linear",t.BIN_LINEAR="bin-linear",t.LOG="log",t.POW="pow",t.SQRT="sqrt",t.TIME="time",t.UTC="utc",t.SEQUENTIAL="sequential",t.QUANTILE="quantile",t.QUANTIZE="quantize",t.THRESHOLD="threshold",t.ORDINAL="ordinal",t.BIN_ORDINAL="bin-ordinal",t.POINT="point",t.BAND="band"}(e.ScaleType||(e.ScaleType={}));var E={linear:"numeric",log:"numeric",pow:"numeric",sqrt:"numeric","bin-linear":"bin-linear",time:"time",utc:"time",sequential:"sequential",ordinal:"ordinal","bin-ordinal":"bin-ordinal",point:"ordinal-position",band:"ordinal-position"};e.SCALE_TYPES=I.keys(E),e.scaleCompatible=i;var T={linear:0,log:1,pow:1,sqrt:1,time:0,utc:0,point:10,band:11,"bin-linear":0,sequential:0,ordinal:0,"bin-ordinal":0};e.scaleTypePrecedence=r,e.CONTINUOUS_TO_CONTINUOUS_SCALES=["linear","bin-linear","log","pow","sqrt","time","utc"];var N=I.toSet(e.CONTINUOUS_TO_CONTINUOUS_SCALES);e.CONTINUOUS_DOMAIN_SCALES=e.CONTINUOUS_TO_CONTINUOUS_SCALES.concat(["sequential"]);var y=I.toSet(e.CONTINUOUS_DOMAIN_SCALES);e.DISCRETE_DOMAIN_SCALES=["ordinal","bin-ordinal","point","band"];var p=I.toSet(e.DISCRETE_DOMAIN_SCALES),C=I.toSet(["bin-linear","bin-ordinal"]);e.TIME_SCALE_TYPES=["time","utc"],e.hasDiscreteDomain=A,e.isBinScale=o,e.hasContinuousDomain=a,e.isContinuousToContinuous=c,e.defaultScaleConfig={textXRangeStep:90,rangeStep:21,pointPadding:.5,bandPaddingInner:.1,facetSpacing:16,minBandSize:2,minFontSize:8,maxFontSize:40,minOpacity:.3,maxOpacity:.8,minSize:9,minStrokeWidth:1,maxStrokeWidth:4},e.isExtendedScheme=s,e.isSelectionDomain=u;var D={type:1,domain:1,range:1,rangeStep:1,scheme:1,reverse:1,round:1,clamp:1,nice:1,base:1,exponent:1,interpolate:1,zero:1,padding:1,paddingInner:1,paddingOuter:1};e.SCALE_PROPERTIES=I.flagKeys(D);var x=h.__rest(D,["type","domain","range","rangeStep","scheme"]);e.NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES=I.flagKeys(x),e.scaleTypeSupportProperty=g,e.channelScalePropertyIncompatability=l,e.channelSupportScaleType=M},function(t,e,n){"use strict";var i=n(33);e.a=function(t){return Object(i.interpolateRgbBasis)(t[t.length-1])}},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),A=n(14),o=function(){function t(e){if(i(this,t),!e)throw new Error('"el" is a required argument');this.el=e}return r(t,[{key:"render",value:function(){throw new Error('"render() is pure abstract"')}},{key:"update",value:function(){return Promise.resolve(this)}},{key:"destroy",value:function(){this.empty()}},{key:"empty",value:function(){(0,A.select)(this.el).selectAll("*").remove()}},{key:"serializationFormats",get:function(){return[]}}]),t}();e.default=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(208);n.d(e,"creator",function(){return i.a});var r=n(602);n.d(e,"local",function(){return r.a});var A=n(318);n.d(e,"matcher",function(){return A.a});var o=n(603);n.d(e,"mouse",function(){return o.a});var a=n(209);n.d(e,"namespace",function(){return a.a});var c=n(210);n.d(e,"namespaces",function(){return c.a});var s=n(604);n.d(e,"select",function(){return s.a});var u=n(632);n.d(e,"selectAll",function(){return u.a});var g=n(37);n.d(e,"selection",function(){return g.b});var l=n(214);n.d(e,"selector",function(){return l.a});var M=n(319);n.d(e,"selectorAll",function(){return M.a});var h=n(322);n.d(e,"style",function(){return h.b});var d=n(633);n.d(e,"touch",function(){return d.a});var f=n(634);n.d(e,"touches",function(){return f.a});var I=n(215);n.d(e,"window",function(){return I.a});var E=n(212);n.d(e,"event",function(){return E.c}),n.d(e,"customEvent",function(){return E.a})},function(t,e,n){"use strict";var i=n(261);n.d(e,"a",function(){return i.e}),n.d(e,"f",function(){return i.g}),n.d(e,"d",function(){return i.f});var r=n(944);n.d(e,"e",function(){return r.a}),n.d(e,"c",function(){return r.b});var A=n(945);n.d(e,"b",function(){return A.a})},function(t,e,n){(function(e){function n(t,e){var n,i="";for(n=0;n<t;++n)i+=e;return i}function i(t,e,n){var i=0,r=t.split(a);return t=n?(r=r.reverse()).filter(function(t){return(i+=t.length)<=e}).reverse():r.filter(function(t){return(i+=t.length)<=e}),t.length?t.join("").trim():r[0].slice(0,e)}var r=t.exports;r.namedfunc=function(t,e){return e.__name__=t,e},r.name=function(t){return null==t?null:t.__name__},r.identity=function(t){return t},r.true=r.namedfunc("true",function(){return!0}),r.false=r.namedfunc("false",function(){return!1}),r.duplicate=function(t){return JSON.parse(JSON.stringify(t))},r.equal=function(t,e){return JSON.stringify(t)===JSON.stringify(e)},r.extend=function(t){for(var e,n,i=1,r=arguments.length;i<r;++i){e=arguments[i];for(n in e)t[n]=e[n]}return t},r.length=function(t){return null!=t&&null!=t.length?t.length:null},r.keys=function(t){var e,n=[];for(e in t)n.push(e);return n},r.vals=function(t){var e,n=[];for(e in t)n.push(t[e]);return n},r.toMap=function(t,e){return(e=r.$(e))?t.reduce(function(t,n){return t[e(n)]=1,t},{}):t.reduce(function(t,e){return t[e]=1,t},{})},r.keystr=function(t){var e=t.length;if(!e)return"";for(var n=String(t[0]),i=1;i<e;++i)n+="|"+String(t[i]);return n};var A=Object.prototype.toString;r.isObject=function(t){return t===Object(t)},r.isFunction=function(t){return"[object Function]"===A.call(t)},r.isString=function(t){return"string"==typeof value||"[object String]"===A.call(t)},r.isArray=Array.isArray||function(t){return"[object Array]"===A.call(t)},r.isNumber=function(t){return"number"==typeof t||"[object Number]"===A.call(t)},r.isBoolean=function(t){return!0===t||!1===t||"[object Boolean]"==A.call(t)},r.isDate=function(t){return"[object Date]"===A.call(t)},r.isValid=function(t){return null!=t&&t===t},r.isBuffer="function"==typeof e&&e.isBuffer||r.false,r.number=function(t){return null==t||""===t?null:+t},r.boolean=function(t){return null==t||""===t?null:"false"!==t&&!!t},r.date=function(t,e){var n=e||Date;return null==t||""===t?null:n.parse(t)},r.array=function(t){return null!=t?r.isArray(t)?t:[t]:[]},r.str=function(t){return r.isArray(t)?"["+t.map(r.str)+"]":r.isObject(t)||r.isString(t)?JSON.stringify(t).replace("\u2028","\\u2028").replace("\u2029","\\u2029"):t};var o=/\[(.*?)\]|[^.\[]+/g;r.field=function(t){return String(t).match(o).map(function(t){return"["!==t[0]?t:"'"!==t[1]&&'"'!==t[1]?t.slice(1,-1):t.slice(2,-2).replace(/\\(["'])/g,"$1")})},r.accessor=function(t){return null==t||r.isFunction(t)?t:r.namedfunc(t,Function("x","return x["+r.field(t).map(r.str).join("][")+"];"))},r.$=r.accessor,r.mutator=function(t){var e;return r.isString(t)&&(e=r.field(t)).length>1?function(t,n){for(var i=0;i<e.length-1;++i)t=t[e[i]];t[e[i]]=n}:function(e,n){e[t]=n}},r.$func=function(t,e){return function(n){n=r.$(n)||r.identity;var i=t+(r.name(n)?"_"+r.name(n):"");return r.namedfunc(i,function(t){return e(n(t))})}},r.$valid=r.$func("valid",r.isValid),r.$length=r.$func("length",r.length),r.$in=function(t,e){t=r.$(t);var n=r.isArray(e)?r.toMap(e):e;return function(e){return!!n[t(e)]}},r.comparator=function(t){var e=[];return void 0===t&&(t=[]),t=r.array(t).map(function(t){var n=1;return"-"===t[0]?(n=-1,t=t.slice(1)):"+"===t[0]&&(n=1,t=t.slice(1)),e.push(n),r.accessor(t)}),function(n,i){var A,o,a,c;for(A=0,o=t.length;A<o;++A)if(a=t[A],c=r.cmp(a(n),a(i)))return c*e[A];return 0}},r.cmp=function(t,e){return(t<e||null==t)&&null!=e?-1:(t>e||null==e)&&null!=t?1:(e=e instanceof Date?+e:e,(t=t instanceof Date?+t:t)!==t&&e===e?-1:e!==e&&t===t?1:0)},r.numcmp=function(t,e){return t-e},r.stablesort=function(t,e,n){var i=t.reduce(function(t,e,i){return t[n(e)]=i,t},{});return t.sort(function(t,r){var A=e(t),o=e(r);return A<o?-1:A>o?1:i[n(t)]-i[n(r)]}),t},r.permute=function(t){for(var e,n,i=t.length;i;)n=Math.floor(Math.random()*i--),e=t[i],t[i]=t[n],t[n]=e},r.pad=function(t,e,i,r){r=r||" ";var A=e-t.length;if(A<=0)return t;switch(i){case"left":return n(A,r)+t;case"middle":case"center":return n(Math.floor(A/2),r)+t+n(Math.ceil(A/2),r);default:return t+n(A,r)}},r.truncate=function(t,e,n,r,A){var o=t.length;if(o<=e)return t;A=void 0!==A?String(A):"…";var a=Math.max(0,e-A.length);switch(n){case"left":return A+(r?i(t,a,1):t.slice(o-a));case"middle":case"center":var c=Math.ceil(a/2),s=Math.floor(a/2);return(r?i(t,c):t.slice(0,c))+A+(r?i(t,s,1):t.slice(o-s));default:return(r?i(t,a):t.slice(0,a))+A}};var a=/([\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u2028\u2029\u3000\uFEFF])/}).call(e,n(331).Buffer)},function(t,e,n){"use strict";n.d(e,"n",function(){return i}),n.d(e,"g",function(){return r}),n.d(e,"o",function(){return A}),n.d(e,"d",function(){return o}),n.d(e,"a",function(){return a}),n.d(e,"b",function(){return c}),n.d(e,"c",function(){return s}),n.d(e,"e",function(){return u}),n.d(e,"f",function(){return g}),n.d(e,"k",function(){return l}),n.d(e,"h",function(){return M}),n.d(e,"i",function(){return h}),n.d(e,"j",function(){return d}),n.d(e,"l",function(){return f}),n.d(e,"m",function(){return I}),n.d(e,"p",function(){return E});var i="mark",r="frame",A="scope",o="axis",a="axis-domain",c="axis-grid",s="axis-label",u="axis-tick",g="axis-title",l="legend",M="legend-entry",h="legend-gradient",d="legend-label",f="legend-symbol",I="legend-title",E="title"},function(t,e,n){"use strict";function i(t){return t&&"unit"===t.type}function r(t){return t&&"facet"===t.type}function A(t){return t&&"repeat"===t.type}function o(t){return t&&"concat"===t.type}function a(t){return t&&"layer"===t.type}Object.defineProperty(e,"__esModule",{value:!0});var c=n(3),s=n(0),u=n(7),g=n(32),l=n(9),M=n(4),h=n(11),d=n(356),f=n(149),I=n(2),E=n(38),T=n(729),N=n(358),y=n(150),p=n(359),C=n(360),D=n(361),x=n(741),B=n(114),w=n(743),m=n(39),Q=function(){function t(){this.nameMap={}}return t.prototype.rename=function(t,e){this.nameMap[t]=e},t.prototype.has=function(t){return void 0!==this.nameMap[t]},t.prototype.get=function(t){for(;this.nameMap[t]&&t!==this.nameMap[t];)t=this.nameMap[t];return t},t}();e.NameMap=Q,e.isUnitModel=i,e.isFacetModel=r,e.isRepeatModel=A,e.isConcatModel=o,e.isLayerModel=a;var v=function(){function t(t,e,n,i,r){var A=this;this.children=[],this.correctDataNames=function(t){return t.from&&t.from.data&&(t.from.data=A.lookupDataSource(t.from.data)),t.from&&t.from.facet&&t.from.facet.data&&(t.from.facet.data=A.lookupDataSource(t.from.facet.data)),t},this.parent=e,this.config=i,this.name=t.name||n,this.title=s.isString(t.title)?{text:t.title}:t.title,this.scaleNameMap=e?e.scaleNameMap:new Q,this.layoutSizeNameMap=e?e.layoutSizeNameMap:new Q,this.data=t.data,this.description=t.description,this.transforms=f.normalizeTransform(t.transform||[]),this.component={data:{sources:e?e.component.data.sources:{},outputNodes:e?e.component.data.outputNodes:{},outputNodeRefCounts:e?e.component.data.outputNodeRefCounts:{},ancestorParse:e?c.__assign({},e.component.data.ancestorParse):{}},layoutSize:new m.Split,layoutHeaders:{row:{},column:{}},mark:null,resolve:c.__assign({scale:{},axis:{},legend:{}},r||{}),selection:null,scales:null,axes:{},legends:{}}}return Object.defineProperty(t.prototype,"width",{get:function(){return this.getSizeSignalRef("width")},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this.getSizeSignalRef("height")},enumerable:!0,configurable:!0}),t.prototype.initSize=function(t){var e=t.width,n=t.height;e&&this.component.layoutSize.set("width",e,!0),n&&this.component.layoutSize.set("height",n,!0)},t.prototype.parse=function(){this.parseScale(),this.parseMarkDef(),this.parseLayoutSize(),this.renameTopLevelLayoutSize(),this.parseSelection(),this.parseData(),this.parseAxisAndHeader(),this.parseLegend(),this.parseMarkGroup()},t.prototype.parseScale=function(){w.parseScale(this)},t.prototype.renameTopLevelLayoutSize=function(){"width"!==this.getName("width")&&this.renameLayoutSize(this.getName("width"),"width"),"height"!==this.getName("height")&&this.renameLayoutSize(this.getName("height"),"height")},t.prototype.parseMarkDef=function(){D.parseMarkDef(this)},t.prototype.parseLegend=function(){C.parseLegend(this)},t.prototype.assembleGroupStyle=function(){if("unit"===this.type||"layer"===this.type)return"cell"},t.prototype.assembleLayoutSize=function(){if("unit"===this.type||"layer"===this.type)return{width:this.getSizeSignalRef("width"),height:this.getSizeSignalRef("height")}},t.prototype.assembleHeaderMarks=function(){for(var t=this.component.layoutHeaders,e=[],n=0,i=N.HEADER_CHANNELS;n<i.length;n++){var r=i[n];t[r].title&&e.push(N.getTitleGroup(this,r))}for(var A=0,o=N.HEADER_CHANNELS;A<o.length;A++)for(var r=o[A],a=t[r],c=0,s=N.HEADER_TYPES;c<s.length;c++){var u=s[c];if(a[u])for(var g=0,l=a[u];g<l.length;g++){var M=l[g],h=N.getHeaderGroup(this,r,u,a,M);h&&e.push(h)}}return e},t.prototype.assembleAxes=function(){return T.assembleAxes(this.component.axes)},t.prototype.assembleLegends=function(){return p.assembleLegends(this)},t.prototype.assembleTitle=function(){var t=c.__assign({},d.extractTitleConfig(this.config.title).nonMark,this.title);if(t.text)return I.contains(["unit","layer"],this.type)||(t.anchor&&"start"!==t.anchor&&M.warn(M.message.cannotSetTitleAnchor(this.type)),t.anchor="start"),I.keys(t).length>0?t:void 0},t.prototype.assembleGroup=function(t){void 0===t&&(t=[]);var e={};t=t.concat(this.assembleSelectionSignals()),t.length>0&&(e.signals=t);var n=this.assembleLayout();n&&(e.layout=n),e.marks=[].concat(this.assembleHeaderMarks(),this.assembleMarks());var i=!this.parent||r(this.parent)?x.assembleScales(this):[];i.length>0&&(e.scales=i);var A=this.assembleAxes();A.length>0&&(e.axes=A);var o=this.assembleLegends();return o.length>0&&(e.legends=o),e},t.prototype.hasDescendantWithFieldOnChannel=function(t){for(var e=0,n=this.children;e<n.length;e++){var r=n[e];if(i(r)){if(r.channelHasField(t))return!0}else if(r.hasDescendantWithFieldOnChannel(t))return!0}return!1},t.prototype.getName=function(t){return I.varName((this.name?this.name+"_":"")+t)},t.prototype.requestDataName=function(t){var e=this.getName(t),n=this.component.data.outputNodeRefCounts;return n[e]=(n[e]||0)+1,e},t.prototype.getSizeSignalRef=function(t){if(r(this.parent)){var e="width"===t?"x":"y",n=this.component.scales[e];if(n&&!n.merged){var i=n.get("type"),A=n.get("range");if(h.hasDiscreteDomain(i)&&E.isVgRangeStep(A)){var o=n.get("name"),a=B.assembleDomain(this,e),c=B.getFieldFromDomain(a);if(c){var s=l.field({aggregate:"distinct",field:c},{expr:"datum"});return{signal:y.sizeExpr(o,n,s)}}return M.warn("Unknown field for ${channel}. Cannot calculate view size."),null}}}return{signal:this.layoutSizeNameMap.get(this.getName(t))}},t.prototype.lookupDataSource=function(t){var e=this.component.data.outputNodes[t];return e?e.getSource():t},t.prototype.getSizeName=function(t){return this.layoutSizeNameMap.get(t)},t.prototype.renameLayoutSize=function(t,e){this.layoutSizeNameMap.rename(t,e)},t.prototype.renameScale=function(t,e){this.scaleNameMap.rename(t,e)},t.prototype.scaleName=function(t,e){return e?this.getName(t):u.isChannel(t)&&u.isScaleChannel(t)&&this.component.scales[t]||this.scaleNameMap.has(this.getName(t))?this.scaleNameMap.get(this.getName(t)):void 0},t.prototype.getScaleComponent=function(t){if(!this.component.scales)throw new Error("getScaleComponent cannot be called before parseScale(). Make sure you have called parseScale or use parseUnitModelWithScale().");var e=this.component.scales[t];return e&&!e.merged?e:this.parent?this.parent.getScaleComponent(t):void 0},t.prototype.getSelectionComponent=function(t,e){var n=this.component.selection[t];if(!n&&this.parent&&(n=this.parent.getSelectionComponent(t,e)),!n)throw new Error(M.message.selectionNotFound(e));return n},t}();e.Model=v;var j=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return c.__extends(e,t),e.prototype.field=function(t,e){void 0===e&&(e={});var n=this.fieldDef(t);if(n)return l.field(n,e)},e.prototype.reduceFieldDef=function(t,e,n){return g.reduce(this.getMapping(),function(e,n,i){var r=l.getFieldDef(n);return r?t(e,r,i):e},e,n)},e.prototype.forEachFieldDef=function(t,e){g.forEach(this.getMapping(),function(e,n){var i=l.getFieldDef(e);i&&t(i,n)},e)},e}(v);e.ModelWithField=j},function(t,e,n){"use strict";function i(t){return Object(g.isObject)(t)?t:{value:t}}function r(t,e,n){return null!=n?(t[e]=Object(g.isObject)(n)&&!Object(g.isArray)(n)?n:{value:n},1):0}function A(t,e,n){for(var i in e)n&&n.hasOwnProperty(i)||(t[i]=Object(g.extend)(t[i]||{},e[i]));return t}function o(t,e,n,i,r,A){var o,c;A=A||{},A.encoders={$encode:o={}},t=a(t,e,n,i,r.config);for(c in t)o[c]=Object(s.a)(t[c],e,A,r);return A}function a(t,e,n,i,r){var A,o,a={};"legend"!=n&&0!==String(n).indexOf("axis")||(n=null),o=n===u.g?r.group:n===u.n?Object(g.extend)({},r.mark,r[e]):null;for(A in o)c(A,t)||("fill"===A||"stroke"===A)&&(c("fill",t)||c("stroke",t))||(a[A]={value:o[A]});return Object(g.array)(i).forEach(function(e){var n=r.style&&r.style[e];for(var i in n)c(i,t)||(a[i]={value:n[i]})}),t=Object(g.extend)({},t),t.enter=Object(g.extend)(a,t.enter),t}function c(t,e){return e&&(e.enter&&e.enter[t]||e.update&&e.update[t])}e.b=i,e.a=r,e.d=A,e.c=o,e.e=c;var s=n(1197),u=n(17),g=n(0)},function(t,e,n){var i,r;!function(){function A(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}function a(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function c(t){return null===t?NaN:+t}function s(t){return!isNaN(t)}function u(t){return{left:function(e,n,i,r){for(arguments.length<3&&(i=0),arguments.length<4&&(r=e.length);i<r;){var A=i+r>>>1;t(e[A],n)<0?i=A+1:r=A}return i},right:function(e,n,i,r){for(arguments.length<3&&(i=0),arguments.length<4&&(r=e.length);i<r;){var A=i+r>>>1;t(e[A],n)>0?r=A:i=A+1}return i}}}function g(t){return t.length}function l(t){for(var e=1;t*e%1;)e*=10;return e}function M(t,e){for(var n in e)Object.defineProperty(t.prototype,n,{value:e[n],enumerable:!1})}function h(){this._=Object.create(null)}function d(t){return(t+="")===Do||t[0]===xo?xo+t:t}function f(t){return(t+="")[0]===xo?t.slice(1):t}function I(t){return d(t)in this._}function E(t){return(t=d(t))in this._&&delete this._[t]}function T(){var t=[];for(var e in this._)t.push(f(e));return t}function N(){var t=0;for(var e in this._)++t;return t}function y(){for(var t in this._)return!1;return!0}function p(){this._=Object.create(null)}function C(t){return t}function D(t,e,n){return function(){var i=n.apply(e,arguments);return i===e?t:i}}function x(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var n=0,i=Bo.length;n<i;++n){var r=Bo[n]+e;if(r in t)return r}}function B(){}function w(){}function m(t){function e(){for(var e,i=n,r=-1,A=i.length;++r<A;)(e=i[r].on)&&e.apply(this,arguments);return t}var n=[],i=new h;return e.on=function(e,r){var A,o=i.get(e);return arguments.length<2?o&&o.on:(o&&(o.on=null,n=n.slice(0,A=n.indexOf(o)).concat(n.slice(A+1)),i.remove(e)),r&&n.push(i.set(e,{on:r})),t)},e}function Q(){lo.event.preventDefault()}function v(){for(var t,e=lo.event;t=e.sourceEvent;)e=t;return e}function j(t){for(var e=new w,n=0,i=arguments.length;++n<i;)e[arguments[n]]=m(e);return e.of=function(n,i){return function(r){try{var A=r.sourceEvent=lo.event;r.target=t,lo.event=r,e[r.type].apply(n,i)}finally{lo.event=A}}},e}function L(t){return mo(t,Lo),t}function S(t){return"function"==typeof t?t:function(){return Qo(t,this)}}function Y(t){return"function"==typeof t?t:function(){return vo(t,this)}}function b(t,e){function n(){this.removeAttribute(t)}function i(){this.removeAttributeNS(t.space,t.local)}function r(){this.setAttribute(t,e)}function A(){this.setAttributeNS(t.space,t.local,e)}function o(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}function a(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}return t=lo.ns.qualify(t),null==e?t.local?i:n:"function"==typeof e?t.local?a:o:t.local?A:r}function O(t){return t.trim().replace(/\s+/g," ")}function z(t){return new RegExp("(?:^|\\s+)"+lo.requote(t)+"(?:\\s+|$)","g")}function U(t){return(t+"").trim().split(/^|\s+/)}function F(t,e){function n(){for(var n=-1;++n<r;)t[n](this,e)}function i(){for(var n=-1,i=e.apply(this,arguments);++n<r;)t[n](this,i)}t=U(t).map(k);var r=t.length;return"function"==typeof e?i:n}function k(t){var e=z(t);return function(n,i){if(r=n.classList)return i?r.add(t):r.remove(t);var r=n.getAttribute("class")||"";i?(e.lastIndex=0,e.test(r)||n.setAttribute("class",O(r+" "+t))):n.setAttribute("class",O(r.replace(e," ")))}}function R(t,e,n){function i(){this.style.removeProperty(t)}function r(){this.style.setProperty(t,e,n)}function A(){var i=e.apply(this,arguments);null==i?this.style.removeProperty(t):this.style.setProperty(t,i,n)}return null==e?i:"function"==typeof e?A:r}function G(t,e){function n(){delete this[t]}function i(){this[t]=e}function r(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}return null==e?n:"function"==typeof e?r:i}function H(t){function e(){var e=this.ownerDocument,n=this.namespaceURI;return n===So&&e.documentElement.namespaceURI===So?e.createElement(t):e.createElementNS(n,t)}function n(){return this.ownerDocument.createElementNS(t.space,t.local)}return"function"==typeof t?t:(t=lo.ns.qualify(t)).local?n:e}function J(){var t=this.parentNode;t&&t.removeChild(this)}function P(t){return{__data__:t}}function X(t){return function(){return jo(this,t)}}function V(t){return arguments.length||(t=a),function(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}}function W(t,e){for(var n=0,i=t.length;n<i;n++)for(var r,A=t[n],o=0,a=A.length;o<a;o++)(r=A[o])&&e(r,o,n);return t}function _(t){return mo(t,bo),t}function Z(t){var e,n;return function(i,r,A){var o,a=t[A].update,c=a.length;for(A!=n&&(n=A,e=0),r>=e&&(e=r+1);!(o=a[e])&&++e<c;);return o}}function K(t,e,n){function i(){var e=this[o];e&&(this.removeEventListener(t,e,e.$),delete this[o])}function r(){var r=c(e,ho(arguments));i.call(this),this.addEventListener(t,this[o]=r,r.$=n),r._=e}function A(){var e,n=new RegExp("^__on([^.]+)"+lo.requote(t)+"$");for(var i in this)if(e=i.match(n)){var r=this[i];this.removeEventListener(e[1],r,r.$),delete this[i]}}var o="__on"+t,a=t.indexOf("."),c=q;a>0&&(t=t.slice(0,a));var s=Oo.get(t);return s&&(t=s,c=$),a?e?r:i:e?B:A}function q(t,e){return function(n){var i=lo.event;lo.event=n,e[0]=this.__data__;try{t.apply(this,e)}finally{lo.event=i}}}function $(t,e){var n=q(t,e);return function(t){var e=this,i=t.relatedTarget;i&&(i===e||8&i.compareDocumentPosition(e))||n.call(e,t)}}function tt(t){var e=".dragsuppress-"+ ++Uo,n="click"+e,i=lo.select(o(t)).on("touchmove"+e,Q).on("dragstart"+e,Q).on("selectstart"+e,Q);if(null==zo&&(zo=!("onselectstart"in t)&&x(t.style,"userSelect")),zo){var r=A(t).style,a=r[zo];r[zo]="none"}return function(t){if(i.on(e,null),zo&&(r[zo]=a),t){var A=function(){i.on(n,null)};i.on(n,function(){Q(),A()},!0),setTimeout(A,0)}}}function et(t,e){e.changedTouches&&(e=e.changedTouches[0]);var n=t.ownerSVGElement||t;if(n.createSVGPoint){var i=n.createSVGPoint();if(Fo<0){var r=o(t);if(r.scrollX||r.scrollY){n=lo.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var A=n[0][0].getScreenCTM();Fo=!(A.f||A.e),n.remove()}}return Fo?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var a=t.getBoundingClientRect();return[e.clientX-a.left-t.clientLeft,e.clientY-a.top-t.clientTop]}function nt(){return lo.event.changedTouches[0].identifier}function it(t){return t>0?1:t<0?-1:0}function rt(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(e[1]-t[1])*(n[0]-t[0])}function At(t){return t>1?0:t<-1?Go:Math.acos(t)}function ot(t){return t>1?Po:t<-1?-Po:Math.asin(t)}function at(t){return((t=Math.exp(t))-1/t)/2}function ct(t){return((t=Math.exp(t))+1/t)/2}function st(t){return((t=Math.exp(2*t))-1)/(t+1)}function ut(t){return(t=Math.sin(t/2))*t}function gt(){}function lt(t,e,n){return this instanceof lt?(this.h=+t,this.s=+e,void(this.l=+n)):arguments.length<2?t instanceof lt?new lt(t.h,t.s,t.l):Bt(""+t,wt,lt):new lt(t,e,n)}function Mt(t,e,n){function i(t){return t>360?t-=360:t<0&&(t+=360),t<60?A+(o-A)*t/60:t<180?o:t<240?A+(o-A)*(240-t)/60:A}function r(t){return Math.round(255*i(t))}var A,o;return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=n<0?0:n>1?1:n,o=n<=.5?n*(1+e):n+e-n*e,A=2*n-o,new pt(r(t+120),r(t),r(t-120))}function ht(t,e,n){return this instanceof ht?(this.h=+t,this.c=+e,void(this.l=+n)):arguments.length<2?t instanceof ht?new ht(t.h,t.c,t.l):t instanceof ft?Et(t.l,t.a,t.b):Et((t=mt((t=lo.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new ht(t,e,n)}function dt(t,e,n){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new ft(n,Math.cos(t*=Xo)*e,Math.sin(t)*e)}function ft(t,e,n){return this instanceof ft?(this.l=+t,this.a=+e,void(this.b=+n)):arguments.length<2?t instanceof ft?new ft(t.l,t.a,t.b):t instanceof ht?dt(t.h,t.c,t.l):mt((t=pt(t)).r,t.g,t.b):new ft(t,e,n)}function It(t,e,n){var i=(t+16)/116,r=i+e/500,A=i-n/200;return r=Tt(r)*ea,i=Tt(i)*na,A=Tt(A)*ia,new pt(yt(3.2404542*r-1.5371385*i-.4985314*A),yt(-.969266*r+1.8760108*i+.041556*A),yt(.0556434*r-.2040259*i+1.0572252*A))}function Et(t,e,n){return t>0?new ht(Math.atan2(n,e)*Vo,Math.sqrt(e*e+n*n),t):new ht(NaN,NaN,t)}function Tt(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function Nt(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function yt(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function pt(t,e,n){return this instanceof pt?(this.r=~~t,this.g=~~e,void(this.b=~~n)):arguments.length<2?t instanceof pt?new pt(t.r,t.g,t.b):Bt(""+t,pt,Mt):new pt(t,e,n)}function Ct(t){return new pt(t>>16,t>>8&255,255&t)}function Dt(t){return Ct(t)+""}function xt(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function Bt(t,e,n){var i,r,A,o=0,a=0,c=0;if(i=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(r=i[2].split(","),i[1]){case"hsl":return n(parseFloat(r[0]),parseFloat(r[1])/100,parseFloat(r[2])/100);case"rgb":return e(vt(r[0]),vt(r[1]),vt(r[2]))}return(A=oa.get(t))?e(A.r,A.g,A.b):(null==t||"#"!==t.charAt(0)||isNaN(A=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&A)>>4,o|=o>>4,a=240&A,a|=a>>4,c=15&A,c|=c<<4):7===t.length&&(o=(16711680&A)>>16,a=(65280&A)>>8,c=255&A)),e(o,a,c))}function wt(t,e,n){var i,r,A=Math.min(t/=255,e/=255,n/=255),o=Math.max(t,e,n),a=o-A,c=(o+A)/2;return a?(r=c<.5?a/(o+A):a/(2-o-A),i=t==o?(e-n)/a+(e<n?6:0):e==o?(n-t)/a+2:(t-e)/a+4,i*=60):(i=NaN,r=c>0&&c<1?0:i),new lt(i,r,c)}function mt(t,e,n){t=Qt(t),e=Qt(e),n=Qt(n);var i=Nt((.4124564*t+.3575761*e+.1804375*n)/ea),r=Nt((.2126729*t+.7151522*e+.072175*n)/na);return ft(116*r-16,500*(i-r),200*(r-Nt((.0193339*t+.119192*e+.9503041*n)/ia)))}function Qt(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function vt(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}function jt(t){return"function"==typeof t?t:function(){return t}}function Lt(t){return function(e,n,i){return 2===arguments.length&&"function"==typeof n&&(i=n,n=null),St(e,n,t,i)}}function St(t,e,n,i){function r(){var t,e=c.status;if(!e&&bt(c)||e>=200&&e<300||304===e){try{t=n.call(A,c)}catch(t){return void o.error.call(A,t)}o.load.call(A,t)}else o.error.call(A,c)}var A={},o=lo.dispatch("beforesend","progress","load","error"),a={},c=new XMLHttpRequest,s=null;return!this.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(t)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=r:c.onreadystatechange=function(){c.readyState>3&&r()},c.onprogress=function(t){var e=lo.event;lo.event=t;try{o.progress.call(A,c)}finally{lo.event=e}},A.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?a[t]:(null==e?delete a[t]:a[t]=e+"",A)},A.mimeType=function(t){return arguments.length?(e=null==t?null:t+"",A):e},A.responseType=function(t){return arguments.length?(s=t,A):s},A.response=function(t){return n=t,A},["get","post"].forEach(function(t){A[t]=function(){return A.send.apply(A,[t].concat(ho(arguments)))}}),A.send=function(n,i,r){if(2===arguments.length&&"function"==typeof i&&(r=i,i=null),c.open(n,t,!0),null==e||"accept"in a||(a.accept=e+",*/*"),c.setRequestHeader)for(var u in a)c.setRequestHeader(u,a[u]);return null!=e&&c.overrideMimeType&&c.overrideMimeType(e),null!=s&&(c.responseType=s),null!=r&&A.on("error",r).on("load",function(t){r(null,t)}),o.beforesend.call(A,c),c.send(null==i?null:i),A},A.abort=function(){return c.abort(),A},lo.rebind(A,o,"on"),null==i?A:A.get(Yt(i))}function Yt(t){return 1===t.length?function(e,n){t(null==e?n:null)}:t}function bt(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}function Ot(t,e,n){var i=arguments.length;i<2&&(e=0),i<3&&(n=Date.now());var r=n+e,A={c:t,t:r,n:null};return ca?ca.n=A:aa=A,ca=A,sa||(ua=clearTimeout(ua),sa=1,ga(zt)),A}function zt(){var t=Ut(),e=Ft()-t;e>24?(isFinite(e)&&(clearTimeout(ua),ua=setTimeout(zt,e)),sa=0):(sa=1,ga(zt))}function Ut(){for(var t=Date.now(),e=aa;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Ft(){for(var t,e=aa,n=1/0;e;)e.c?(e.t<n&&(n=e.t),e=(t=e).n):e=t?t.n=e.n:aa=e.n;return ca=t,n}function kt(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}function Rt(t,e){var n=Math.pow(10,3*Co(8-e));return{scale:e>8?function(t){return t/n}:function(t){return t*n},symbol:t}}function Gt(t){var e=t.decimal,n=t.thousands,i=t.grouping,r=t.currency,A=i&&n?function(t,e){for(var r=t.length,A=[],o=0,a=i[0],c=0;r>0&&a>0&&(c+a+1>e&&(a=Math.max(1,e-c)),A.push(t.substring(r-=a,r+a)),!((c+=a+1)>e));)a=i[o=(o+1)%i.length];return A.reverse().join(n)}:C;return function(t){var n=Ma.exec(t),i=n[1]||" ",o=n[2]||">",a=n[3]||"-",c=n[4]||"",s=n[5],u=+n[6],g=n[7],l=n[8],M=n[9],h=1,d="",f="",I=!1,E=!0;switch(l&&(l=+l.substring(1)),(s||"0"===i&&"="===o)&&(s=i="0",o="="),M){case"n":g=!0,M="g";break;case"%":h=100,f="%",M="f";break;case"p":h=100,f="%",M="r";break;case"b":case"o":case"x":case"X":"#"===c&&(d="0"+M.toLowerCase());case"c":E=!1;case"d":I=!0,l=0;break;case"s":h=-1,M="r"}"$"===c&&(d=r[0],f=r[1]),"r"!=M||l||(M="g"),null!=l&&("g"==M?l=Math.max(1,Math.min(21,l)):"e"!=M&&"f"!=M||(l=Math.max(0,Math.min(20,l)))),M=ha.get(M)||Ht;var T=s&&g;return function(t){var n=f;if(I&&t%1)return"";var r=t<0||0===t&&1/t<0?(t=-t,"-"):"-"===a?"":a;if(h<0){var c=lo.formatPrefix(t,l);t=c.scale(t),n=c.symbol+f}else t*=h;t=M(t,l);var N,y,p=t.lastIndexOf(".");if(p<0){var C=E?t.lastIndexOf("e"):-1;C<0?(N=t,y=""):(N=t.substring(0,C),y=t.substring(C))}else N=t.substring(0,p),y=e+t.substring(p+1);!s&&g&&(N=A(N,1/0));var D=d.length+N.length+y.length+(T?0:r.length),x=D<u?new Array(D=u-D+1).join(i):"";return T&&(N=A(x+N,x.length?u-y.length:1/0)),r+=d,t=N+y,("<"===o?r+t+x:">"===o?x+r+t:"^"===o?x.substring(0,D>>=1)+r+t+x.substring(D):r+(T?t:x+t))+n}}}function Ht(t){return t+""}function Jt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Pt(t,e,n){function i(e){var n=t(e),i=A(n,1);return e-n<i-e?n:i}function r(n){return e(n=t(new fa(n-1)),1),n}function A(t,n){return e(t=new fa(+t),n),t}function o(t,i,A){var o=r(t),a=[];if(A>1)for(;o<i;)n(o)%A||a.push(new Date(+o)),e(o,1);else for(;o<i;)a.push(new Date(+o)),e(o,1);return a}function a(t,e,n){try{fa=Jt;var i=new Jt;return i._=t,o(i,e,n)}finally{fa=Date}}t.floor=t,t.round=i,t.ceil=r,t.offset=A,t.range=o;var c=t.utc=Xt(t);return c.floor=c,c.round=Xt(i),c.ceil=Xt(r),c.offset=Xt(A),c.range=a,t}function Xt(t){return function(e,n){try{fa=Jt;var i=new Jt;return i._=e,t(i,n)._}finally{fa=Date}}}function Vt(t){function e(t){function e(e){for(var n,r,A,o=[],a=-1,c=0;++a<i;)37===t.charCodeAt(a)&&(o.push(t.slice(c,a)),null!=(r=Ea[n=t.charAt(++a)])&&(n=t.charAt(++a)),(A=m[n])&&(n=A(e,null==r?"e"===n?" ":"0":r)),o.push(n),c=a+1);return o.push(t.slice(c,a)),o.join("")}var i=t.length;return e.parse=function(e){var i={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(n(i,t,e,0)!=e.length)return null;"p"in i&&(i.H=i.H%12+12*i.p);var r=null!=i.Z&&fa!==Jt,A=new(r?Jt:fa);return"j"in i?A.setFullYear(i.y,0,i.j):"W"in i||"U"in i?("w"in i||(i.w="W"in i?1:0),A.setFullYear(i.y,0,1),A.setFullYear(i.y,0,"W"in i?(i.w+6)%7+7*i.W-(A.getDay()+5)%7:i.w+7*i.U-(A.getDay()+6)%7)):A.setFullYear(i.y,i.m,i.d),A.setHours(i.H+(i.Z/100|0),i.M+i.Z%100,i.S,i.L),r?A._:A},e.toString=function(){return t},e}function n(t,e,n,i){for(var r,A,o,a=0,c=e.length,s=n.length;a<c;){if(i>=s)return-1;if(37===(r=e.charCodeAt(a++))){if(o=e.charAt(a++),!(A=Q[o in Ea?e.charAt(a++):o])||(i=A(t,n,i))<0)return-1}else if(r!=n.charCodeAt(i++))return-1}return i}function i(t,e,n){p.lastIndex=0;var i=p.exec(e.slice(n));return i?(t.w=C.get(i[0].toLowerCase()),n+i[0].length):-1}function r(t,e,n){N.lastIndex=0;var i=N.exec(e.slice(n));return i?(t.w=y.get(i[0].toLowerCase()),n+i[0].length):-1}function A(t,e,n){B.lastIndex=0;var i=B.exec(e.slice(n));return i?(t.m=w.get(i[0].toLowerCase()),n+i[0].length):-1}function o(t,e,n){D.lastIndex=0;var i=D.exec(e.slice(n));return i?(t.m=x.get(i[0].toLowerCase()),n+i[0].length):-1}function a(t,e,i){return n(t,m.c.toString(),e,i)}function c(t,e,i){return n(t,m.x.toString(),e,i)}function s(t,e,i){return n(t,m.X.toString(),e,i)}function u(t,e,n){var i=T.get(e.slice(n,n+=2).toLowerCase());return null==i?-1:(t.p=i,n)}var g=t.dateTime,l=t.date,M=t.time,h=t.periods,d=t.days,f=t.shortDays,I=t.months,E=t.shortMonths;e.utc=function(t){function n(t){try{fa=Jt;var e=new fa;return e._=t,i(e)}finally{fa=Date}}var i=e(t);return n.parse=function(t){try{fa=Jt;var e=i.parse(t);return e&&e._}finally{fa=Date}},n.toString=i.toString,n},e.multi=e.utc.multi=Me;var T=lo.map(),N=_t(d),y=Zt(d),p=_t(f),C=Zt(f),D=_t(I),x=Zt(I),B=_t(E),w=Zt(E);h.forEach(function(t,e){T.set(t.toLowerCase(),e)});var m={a:function(t){return f[t.getDay()]},A:function(t){return d[t.getDay()]},b:function(t){return E[t.getMonth()]},B:function(t){return I[t.getMonth()]},c:e(g),d:function(t,e){return Wt(t.getDate(),e,2)},e:function(t,e){return Wt(t.getDate(),e,2)},H:function(t,e){return Wt(t.getHours(),e,2)},I:function(t,e){return Wt(t.getHours()%12||12,e,2)},j:function(t,e){return Wt(1+da.dayOfYear(t),e,3)},L:function(t,e){return Wt(t.getMilliseconds(),e,3)},m:function(t,e){return Wt(t.getMonth()+1,e,2)},M:function(t,e){return Wt(t.getMinutes(),e,2)},p:function(t){return h[+(t.getHours()>=12)]},S:function(t,e){return Wt(t.getSeconds(),e,2)},U:function(t,e){return Wt(da.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Wt(da.mondayOfYear(t),e,2)},x:e(l),X:e(M),y:function(t,e){return Wt(t.getFullYear()%100,e,2)},Y:function(t,e){return Wt(t.getFullYear()%1e4,e,4)},Z:ge,"%":function(){return"%"}},Q={a:i,A:r,b:A,B:o,c:a,d:Ae,e:Ae,H:ae,I:ae,j:oe,L:ue,m:re,M:ce,p:u,S:se,U:qt,w:Kt,W:$t,x:c,X:s,y:ee,Y:te,Z:ne,"%":le};return e}function Wt(t,e,n){var i=t<0?"-":"",r=(i?-t:t)+"",A=r.length;return i+(A<n?new Array(n-A+1).join(e)+r:r)}function _t(t){return new RegExp("^(?:"+t.map(lo.requote).join("|")+")","i")}function Zt(t){for(var e=new h,n=-1,i=t.length;++n<i;)e.set(t[n].toLowerCase(),n);return e}function Kt(t,e,n){Ta.lastIndex=0;var i=Ta.exec(e.slice(n,n+1));return i?(t.w=+i[0],n+i[0].length):-1}function qt(t,e,n){Ta.lastIndex=0;var i=Ta.exec(e.slice(n));return i?(t.U=+i[0],n+i[0].length):-1}function $t(t,e,n){Ta.lastIndex=0;var i=Ta.exec(e.slice(n));return i?(t.W=+i[0],n+i[0].length):-1}function te(t,e,n){Ta.lastIndex=0;var i=Ta.exec(e.slice(n,n+4));return i?(t.y=+i[0],n+i[0].length):-1}function ee(t,e,n){Ta.lastIndex=0;var i=Ta.exec(e.slice(n,n+2));return i?(t.y=ie(+i[0]),n+i[0].length):-1}function ne(t,e,n){return/^[+-]\d{4}$/.test(e=e.slice(n,n+5))?(t.Z=-e,n+5):-1}function ie(t){return t+(t>68?1900:2e3)}function re(t,e,n){Ta.lastIndex=0;var i=Ta.exec(e.slice(n,n+2));return i?(t.m=i[0]-1,n+i[0].length):-1}function Ae(t,e,n){Ta.lastIndex=0;var i=Ta.exec(e.slice(n,n+2));return i?(t.d=+i[0],n+i[0].length):-1}function oe(t,e,n){Ta.lastIndex=0;var i=Ta.exec(e.slice(n,n+3));return i?(t.j=+i[0],n+i[0].length):-1}function ae(t,e,n){Ta.lastIndex=0;var i=Ta.exec(e.slice(n,n+2));return i?(t.H=+i[0],n+i[0].length):-1}function ce(t,e,n){Ta.lastIndex=0;var i=Ta.exec(e.slice(n,n+2));return i?(t.M=+i[0],n+i[0].length):-1}function se(t,e,n){Ta.lastIndex=0;var i=Ta.exec(e.slice(n,n+2));return i?(t.S=+i[0],n+i[0].length):-1}function ue(t,e,n){Ta.lastIndex=0;var i=Ta.exec(e.slice(n,n+3));return i?(t.L=+i[0],n+i[0].length):-1}function ge(t){var e=t.getTimezoneOffset(),n=e>0?"-":"+",i=Co(e)/60|0,r=Co(e)%60;return n+Wt(i,"0",2)+Wt(r,"0",2)}function le(t,e,n){Na.lastIndex=0;var i=Na.exec(e.slice(n,n+1));return i?n+i[0].length:-1}function Me(t){for(var e=t.length,n=-1;++n<e;)t[n][0]=this(t[n][0]);return function(e){for(var n=0,i=t[n];!i[1](e);)i=t[++n];return i[0](e)}}function he(){}function de(t,e,n){var i=n.s=t+e,r=i-t,A=i-r;n.t=t-A+(e-r)}function fe(t,e){t&&Da.hasOwnProperty(t.type)&&Da[t.type](t,e)}function Ie(t,e,n){var i,r=-1,A=t.length-n;for(e.lineStart();++r<A;)i=t[r],e.point(i[0],i[1],i[2]);e.lineEnd()}function Ee(t,e){var n=-1,i=t.length;for(e.polygonStart();++n<i;)Ie(t[n],e,1);e.polygonEnd()}function Te(){function t(t,e){t*=Xo,e=e*Xo/2+Go/4;var n=t-i,o=n>=0?1:-1,a=o*n,c=Math.cos(e),s=Math.sin(e),u=A*s,g=r*c+u*Math.cos(a),l=u*o*Math.sin(a);Ba.add(Math.atan2(l,g)),i=t,r=c,A=s}var e,n,i,r,A;wa.point=function(o,a){wa.point=t,i=(e=o)*Xo,r=Math.cos(a=(n=a)*Xo/2+Go/4),A=Math.sin(a)},wa.lineEnd=function(){t(e,n)}}function Ne(t){var e=t[0],n=t[1],i=Math.cos(n);return[i*Math.cos(e),i*Math.sin(e),Math.sin(n)]}function ye(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function pe(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Ce(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function De(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function xe(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function Be(t){return[Math.atan2(t[1],t[0]),ot(t[2])]}function we(t,e){return Co(t[0]-e[0])<ko&&Co(t[1]-e[1])<ko}function me(t,e){t*=Xo;var n=Math.cos(e*=Xo);Qe(n*Math.cos(t),n*Math.sin(t),Math.sin(e))}function Qe(t,e,n){++ma,va+=(t-va)/ma,ja+=(e-ja)/ma,La+=(n-La)/ma}function ve(){function t(t,r){t*=Xo;var A=Math.cos(r*=Xo),o=A*Math.cos(t),a=A*Math.sin(t),c=Math.sin(r),s=Math.atan2(Math.sqrt((s=n*c-i*a)*s+(s=i*o-e*c)*s+(s=e*a-n*o)*s),e*o+n*a+i*c);Qa+=s,Sa+=s*(e+(e=o)),Ya+=s*(n+(n=a)),ba+=s*(i+(i=c)),Qe(e,n,i)}var e,n,i;Fa.point=function(r,A){r*=Xo;var o=Math.cos(A*=Xo);e=o*Math.cos(r),n=o*Math.sin(r),i=Math.sin(A),Fa.point=t,Qe(e,n,i)}}function je(){Fa.point=me}function Le(){function t(t,e){t*=Xo;var n=Math.cos(e*=Xo),o=n*Math.cos(t),a=n*Math.sin(t),c=Math.sin(e),s=r*c-A*a,u=A*o-i*c,g=i*a-r*o,l=Math.sqrt(s*s+u*u+g*g),M=i*o+r*a+A*c,h=l&&-At(M)/l,d=Math.atan2(l,M);Oa+=h*s,za+=h*u,Ua+=h*g,Qa+=d,Sa+=d*(i+(i=o)),Ya+=d*(r+(r=a)),ba+=d*(A+(A=c)),Qe(i,r,A)}var e,n,i,r,A;Fa.point=function(o,a){e=o,n=a,Fa.point=t,o*=Xo;var c=Math.cos(a*=Xo);i=c*Math.cos(o),r=c*Math.sin(o),A=Math.sin(a),Qe(i,r,A)},Fa.lineEnd=function(){t(e,n),Fa.lineEnd=je,Fa.point=me}}function Se(t,e){function n(n,i){return n=t(n,i),e(n[0],n[1])}return t.invert&&e.invert&&(n.invert=function(n,i){return(n=e.invert(n,i))&&t.invert(n[0],n[1])}),n}function Ye(){return!0}function be(t,e,n,i,r){var A=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,n=t[0],i=t[e];if(we(n,i)){r.lineStart();for(var a=0;a<e;++a)r.point((n=t[a])[0],n[1]);return void r.lineEnd()}var c=new ze(n,t,null,!0),s=new ze(n,null,c,!1);c.o=s,A.push(c),o.push(s),c=new ze(i,t,null,!1),s=new ze(i,null,c,!0),c.o=s,A.push(c),o.push(s)}}),o.sort(e),Oe(A),Oe(o),A.length){for(var a=0,c=n,s=o.length;a<s;++a)o[a].e=c=!c;for(var u,g,l=A[0];;){for(var M=l,h=!0;M.v;)if((M=M.n)===l)return;u=M.z,r.lineStart();do{if(M.v=M.o.v=!0,M.e){if(h)for(var a=0,s=u.length;a<s;++a)r.point((g=u[a])[0],g[1]);else i(M.x,M.n.x,1,r);M=M.n}else{if(h){u=M.p.z;for(var a=u.length-1;a>=0;--a)r.point((g=u[a])[0],g[1])}else i(M.x,M.p.x,-1,r);M=M.p}M=M.o,u=M.z,h=!h}while(!M.v);r.lineEnd()}}}function Oe(t){if(e=t.length){for(var e,n,i=0,r=t[0];++i<e;)r.n=n=t[i],n.p=r,r=n;r.n=n=t[0],n.p=r}}function ze(t,e,n,i){this.x=t,this.z=e,this.o=n,this.e=i,this.v=!1,this.n=this.p=null}function Ue(t,e,n,i){return function(r,A){function o(e,n){var i=r(e,n);t(e=i[0],n=i[1])&&A.point(e,n)}function a(t,e){var n=r(t,e);f.point(n[0],n[1])}function c(){E.point=a,f.lineStart()}function s(){E.point=o,f.lineEnd()}function u(t,e){d.push([t,e]);var n=r(t,e);N.point(n[0],n[1])}function g(){N.lineStart(),d=[]}function l(){u(d[0][0],d[0][1]),N.lineEnd();var t,e=N.clean(),n=T.buffer(),i=n.length;if(d.pop(),h.push(d),d=null,i)if(1&e){t=n[0];var r,i=t.length-1,o=-1;if(i>0){for(y||(A.polygonStart(),y=!0),A.lineStart();++o<i;)A.point((r=t[o])[0],r[1]);A.lineEnd()}}else i>1&&2&e&&n.push(n.pop().concat(n.shift())),M.push(n.filter(Fe))}var M,h,d,f=e(A),I=r.invert(i[0],i[1]),E={point:o,lineStart:c,lineEnd:s,polygonStart:function(){E.point=u,E.lineStart=g,E.lineEnd=l,M=[],h=[]},polygonEnd:function(){E.point=o,E.lineStart=c,E.lineEnd=s,M=lo.merge(M);var t=Pe(I,h);M.length?(y||(A.polygonStart(),y=!0),be(M,Re,t,n,A)):t&&(y||(A.polygonStart(),y=!0),A.lineStart(),n(null,null,1,A),A.lineEnd()),y&&(A.polygonEnd(),y=!1),M=h=null},sphere:function(){A.polygonStart(),A.lineStart(),n(null,null,1,A),A.lineEnd(),A.polygonEnd()}},T=ke(),N=e(T),y=!1;return E}}function Fe(t){return t.length>1}function ke(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,n){t.push([e,n])},lineEnd:B,buffer:function(){var n=e;return e=[],t=null,n},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function Re(t,e){return((t=t.x)[0]<0?t[1]-Po-ko:Po-t[1])-((e=e.x)[0]<0?e[1]-Po-ko:Po-e[1])}function Ge(t){var e,n=NaN,i=NaN,r=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(A,o){var a=A>0?Go:-Go,c=Co(A-n);Co(c-Go)<ko?(t.point(n,i=(i+o)/2>0?Po:-Po),t.point(r,i),t.lineEnd(),t.lineStart(),t.point(a,i),t.point(A,i),e=0):r!==a&&c>=Go&&(Co(n-r)<ko&&(n-=r*ko),Co(A-a)<ko&&(A-=a*ko),i=He(n,i,A,o),t.point(r,i),t.lineEnd(),t.lineStart(),t.point(a,i),e=0),t.point(n=A,i=o),r=a},lineEnd:function(){t.lineEnd(),n=i=NaN},clean:function(){return 2-e}}}function He(t,e,n,i){var r,A,o=Math.sin(t-n);return Co(o)>ko?Math.atan((Math.sin(e)*(A=Math.cos(i))*Math.sin(n)-Math.sin(i)*(r=Math.cos(e))*Math.sin(t))/(r*A*o)):(e+i)/2}function Je(t,e,n,i){var r;if(null==t)r=n*Po,i.point(-Go,r),i.point(0,r),i.point(Go,r),i.point(Go,0),i.point(Go,-r),i.point(0,-r),i.point(-Go,-r),i.point(-Go,0),i.point(-Go,r);else if(Co(t[0]-e[0])>ko){var A=t[0]<e[0]?Go:-Go;r=n*A/2,i.point(-A,r),i.point(0,r),i.point(A,r)}else i.point(e[0],e[1])}function Pe(t,e){var n=t[0],i=t[1],r=[Math.sin(n),-Math.cos(n),0],A=0,o=0;Ba.reset();for(var a=0,c=e.length;a<c;++a){var s=e[a],u=s.length;if(u)for(var g=s[0],l=g[0],M=g[1]/2+Go/4,h=Math.sin(M),d=Math.cos(M),f=1;;){f===u&&(f=0),t=s[f];var I=t[0],E=t[1]/2+Go/4,T=Math.sin(E),N=Math.cos(E),y=I-l,p=y>=0?1:-1,C=p*y,D=C>Go,x=h*T;if(Ba.add(Math.atan2(x*p*Math.sin(C),d*N+x*Math.cos(C))),A+=D?y+p*Ho:y,D^l>=n^I>=n){var B=pe(Ne(g),Ne(t));xe(B);var w=pe(r,B);xe(w);var m=(D^y>=0?-1:1)*ot(w[2]);(i>m||i===m&&(B[0]||B[1]))&&(o+=D^y>=0?1:-1)}if(!f++)break;l=I,h=T,d=N,g=t}}return(A<-ko||A<ko&&Ba<-ko)^1&o}function Xe(t){function e(t,e){return Math.cos(t)*Math.cos(e)>A}function n(t){var n,A,c,s,u;return{lineStart:function(){s=c=!1,u=1},point:function(g,l){var M,h=[g,l],d=e(g,l),f=o?d?0:r(g,l):d?r(g+(g<0?Go:-Go),l):0;if(!n&&(s=c=d)&&t.lineStart(),d!==c&&(M=i(n,h),(we(n,M)||we(h,M))&&(h[0]+=ko,h[1]+=ko,d=e(h[0],h[1]))),d!==c)u=0,d?(t.lineStart(),M=i(h,n),t.point(M[0],M[1])):(M=i(n,h),t.point(M[0],M[1]),t.lineEnd()),n=M;else if(a&&n&&o^d){var I;f&A||!(I=i(h,n,!0))||(u=0,o?(t.lineStart(),t.point(I[0][0],I[0][1]),t.point(I[1][0],I[1][1]),t.lineEnd()):(t.point(I[1][0],I[1][1]),t.lineEnd(),t.lineStart(),t.point(I[0][0],I[0][1])))}!d||n&&we(n,h)||t.point(h[0],h[1]),n=h,c=d,A=f},lineEnd:function(){c&&t.lineEnd(),n=null},clean:function(){return u|(s&&c)<<1}}}function i(t,e,n){var i=Ne(t),r=Ne(e),o=[1,0,0],a=pe(i,r),c=ye(a,a),s=a[0],u=c-s*s;if(!u)return!n&&t;var g=A*c/u,l=-A*s/u,M=pe(o,a),h=De(o,g);Ce(h,De(a,l));var d=M,f=ye(h,d),I=ye(d,d),E=f*f-I*(ye(h,h)-1);if(!(E<0)){var T=Math.sqrt(E),N=De(d,(-f-T)/I);if(Ce(N,h),N=Be(N),!n)return N;var y,p=t[0],C=e[0],D=t[1],x=e[1];C<p&&(y=p,p=C,C=y);var B=C-p,w=Co(B-Go)<ko,m=w||B<ko;if(!w&&x<D&&(y=D,D=x,x=y),m?w?D+x>0^N[1]<(Co(N[0]-p)<ko?D:x):D<=N[1]&&N[1]<=x:B>Go^(p<=N[0]&&N[0]<=C)){var Q=De(d,(-f+T)/I);return Ce(Q,h),[N,Be(Q)]}}}function r(e,n){var i=o?t:Go-t,r=0;return e<-i?r|=1:e>i&&(r|=2),n<-i?r|=4:n>i&&(r|=8),r}var A=Math.cos(t),o=A>0,a=Co(A)>ko;return Ue(e,n,Nn(t,6*Xo),o?[0,-t]:[-Go,t-Go])}function Ve(t,e,n,i){return function(r){var A,o=r.a,a=r.b,c=o.x,s=o.y,u=a.x,g=a.y,l=0,M=1,h=u-c,d=g-s;if(A=t-c,h||!(A>0)){if(A/=h,h<0){if(A<l)return;A<M&&(M=A)}else if(h>0){if(A>M)return;A>l&&(l=A)}if(A=n-c,h||!(A<0)){if(A/=h,h<0){if(A>M)return;A>l&&(l=A)}else if(h>0){if(A<l)return;A<M&&(M=A)}if(A=e-s,d||!(A>0)){if(A/=d,d<0){if(A<l)return;A<M&&(M=A)}else if(d>0){if(A>M)return;A>l&&(l=A)}if(A=i-s,d||!(A<0)){if(A/=d,d<0){if(A>M)return;A>l&&(l=A)}else if(d>0){if(A<l)return;A<M&&(M=A)}return l>0&&(r.a={x:c+l*h,y:s+l*d}),M<1&&(r.b={x:c+M*h,y:s+M*d}),r}}}}}}function We(t,e,n,i){function r(i,r){return Co(i[0]-t)<ko?r>0?0:3:Co(i[0]-n)<ko?r>0?2:1:Co(i[1]-e)<ko?r>0?1:0:r>0?3:2}function A(t,e){return o(t.x,e.x)}function o(t,e){var n=r(t,1),i=r(e,1);return n!==i?n-i:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(a){function c(t){for(var e=0,n=f.length,i=t[1],r=0;r<n;++r)for(var A,o=1,a=f[r],c=a.length,s=a[0];o<c;++o)A=a[o],s[1]<=i?A[1]>i&&rt(s,A,t)>0&&++e:A[1]<=i&&rt(s,A,t)<0&&--e,s=A;return 0!==e}function s(A,a,c,s){var u=0,g=0;if(null==A||(u=r(A,c))!==(g=r(a,c))||o(A,a)<0^c>0)do{s.point(0===u||3===u?t:n,u>1?i:e)}while((u=(u+c+4)%4)!==g);else s.point(a[0],a[1])}function u(r,A){return t<=r&&r<=n&&e<=A&&A<=i}function g(t,e){u(t,e)&&a.point(t,e)}function l(){Q.point=h,f&&f.push(I=[]),D=!0,C=!1,y=p=NaN}function M(){d&&(h(E,T),N&&C&&w.rejoin(),d.push(w.buffer())),Q.point=g,C&&a.lineEnd()}function h(t,e){t=Math.max(-Ra,Math.min(Ra,t)),e=Math.max(-Ra,Math.min(Ra,e));var n=u(t,e);if(f&&I.push([t,e]),D)E=t,T=e,N=n,D=!1,n&&(a.lineStart(),a.point(t,e));else if(n&&C)a.point(t,e);else{var i={a:{x:y,y:p},b:{x:t,y:e}};m(i)?(C||(a.lineStart(),a.point(i.a.x,i.a.y)),a.point(i.b.x,i.b.y),n||a.lineEnd(),x=!1):n&&(a.lineStart(),a.point(t,e),x=!1)}y=t,p=e,C=n}var d,f,I,E,T,N,y,p,C,D,x,B=a,w=ke(),m=Ve(t,e,n,i),Q={point:g,lineStart:l,lineEnd:M,polygonStart:function(){a=w,d=[],f=[],x=!0},polygonEnd:function(){a=B,d=lo.merge(d);var e=c([t,i]),n=x&&e,r=d.length;(n||r)&&(a.polygonStart(),n&&(a.lineStart(),s(null,null,1,a),a.lineEnd()),r&&be(d,A,e,s,a),a.polygonEnd()),d=f=I=null}};return Q}}function _e(t){var e=0,n=Go/3,i=ln(t),r=i(e,n);return r.parallels=function(t){return arguments.length?i(e=t[0]*Go/180,n=t[1]*Go/180):[e/Go*180,n/Go*180]},r}function Ze(t,e){function n(t,e){var n=Math.sqrt(A-2*r*Math.sin(e))/r;return[n*Math.sin(t*=r),o-n*Math.cos(t)]}var i=Math.sin(t),r=(i+Math.sin(e))/2,A=1+i*(2*r-i),o=Math.sqrt(A)/r;return n.invert=function(t,e){var n=o-e;return[Math.atan2(t,n)/r,ot((A-(t*t+n*n)*r*r)/(2*r))]},n}function Ke(){function t(t,e){Ha+=r*t-i*e,i=t,r=e}var e,n,i,r;Wa.point=function(A,o){Wa.point=t,e=i=A,n=r=o},Wa.lineEnd=function(){t(e,n)}}function qe(t,e){t<Ja&&(Ja=t),t>Xa&&(Xa=t),e<Pa&&(Pa=e),e>Va&&(Va=e)}function $e(){function t(t,e){o.push("M",t,",",e,A)}function e(t,e){o.push("M",t,",",e),a.point=n}function n(t,e){o.push("L",t,",",e)}function i(){a.point=t}function r(){o.push("Z")}var A=tn(4.5),o=[],a={point:t,lineStart:function(){a.point=e},lineEnd:i,polygonStart:function(){a.lineEnd=r},polygonEnd:function(){a.lineEnd=i,a.point=t},pointRadius:function(t){return A=tn(t),a},result:function(){if(o.length){var t=o.join("");return o=[],t}}};return a}function tn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function en(t,e){va+=t,ja+=e,++La}function nn(){function t(t,i){var r=t-e,A=i-n,o=Math.sqrt(r*r+A*A);Sa+=o*(e+t)/2,Ya+=o*(n+i)/2,ba+=o,en(e=t,n=i)}var e,n;Za.point=function(i,r){Za.point=t,en(e=i,n=r)}}function rn(){Za.point=en}function An(){function t(t,e){var n=t-i,A=e-r,o=Math.sqrt(n*n+A*A);Sa+=o*(i+t)/2,Ya+=o*(r+e)/2,ba+=o,o=r*t-i*e,Oa+=o*(i+t),za+=o*(r+e),Ua+=3*o,en(i=t,r=e)}var e,n,i,r;Za.point=function(A,o){Za.point=t,en(e=i=A,n=r=o)},Za.lineEnd=function(){t(e,n)}}function on(t){function e(e,n){t.moveTo(e+o,n),t.arc(e,n,o,0,Ho)}function n(e,n){t.moveTo(e,n),a.point=i}function i(e,n){t.lineTo(e,n)}function r(){a.point=e}function A(){t.closePath()}var o=4.5,a={point:e,lineStart:function(){a.point=n},lineEnd:r,polygonStart:function(){a.lineEnd=A},polygonEnd:function(){a.lineEnd=r,a.point=e},pointRadius:function(t){return o=t,a},result:B};return a}function an(t){function e(t){return(a?i:n)(t)}function n(e){return un(e,function(n,i){n=t(n,i),e.point(n[0],n[1])})}function i(e){function n(n,i){n=t(n,i),e.point(n[0],n[1])}function i(){T=NaN,D.point=A,e.lineStart()}function A(n,i){var A=Ne([n,i]),o=t(n,i);r(T,N,E,y,p,C,T=o[0],N=o[1],E=n,y=A[0],p=A[1],C=A[2],a,e),e.point(T,N)}function o(){D.point=n,e.lineEnd()}function c(){i(),D.point=s,D.lineEnd=u}function s(t,e){A(g=t,l=e),M=T,h=N,d=y,f=p,I=C,D.point=A}function u(){r(T,N,E,y,p,C,M,h,g,d,f,I,a,e),D.lineEnd=o,o()}var g,l,M,h,d,f,I,E,T,N,y,p,C,D={point:n,lineStart:i,lineEnd:o,polygonStart:function(){e.polygonStart(),D.lineStart=c},polygonEnd:function(){e.polygonEnd(),D.lineStart=i}};return D}function r(e,n,i,a,c,s,u,g,l,M,h,d,f,I){var E=u-e,T=g-n,N=E*E+T*T;if(N>4*A&&f--){var y=a+M,p=c+h,C=s+d,D=Math.sqrt(y*y+p*p+C*C),x=Math.asin(C/=D),B=Co(Co(C)-1)<ko||Co(i-l)<ko?(i+l)/2:Math.atan2(p,y),w=t(B,x),m=w[0],Q=w[1],v=m-e,j=Q-n,L=T*v-E*j;(L*L/N>A||Co((E*v+T*j)/N-.5)>.3||a*M+c*h+s*d<o)&&(r(e,n,i,a,c,s,m,Q,B,y/=D,p/=D,C,f,I),I.point(m,Q),r(m,Q,B,y,p,C,u,g,l,M,h,d,f,I))}}var A=.5,o=Math.cos(30*Xo),a=16;return e.precision=function(t){return arguments.length?(a=(A=t*t)>0&&16,e):Math.sqrt(A)},e}function cn(t){var e=an(function(e,n){return t([e*Vo,n*Vo])});return function(t){return Mn(e(t))}}function sn(t){this.stream=t}function un(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function gn(t){return ln(function(){return t})()}function ln(t){function e(t){return t=a(t[0]*Xo,t[1]*Xo),[t[0]*l+c,s-t[1]*l]}function n(t){return(t=a.invert((t[0]-c)/l,(s-t[1])/l))&&[t[0]*Vo,t[1]*Vo]}function i(){a=Se(o=fn(I,E,T),A);var t=A(d,f);return c=M-t[0]*l,s=h+t[1]*l,r()}function r(){return u&&(u.valid=!1,u=null),e}var A,o,a,c,s,u,g=an(function(t,e){return t=A(t,e),[t[0]*l+c,s-t[1]*l]}),l=150,M=480,h=250,d=0,f=0,I=0,E=0,T=0,N=ka,y=C,p=null,D=null;return e.stream=function(t){return u&&(u.valid=!1),u=Mn(N(o,g(y(t)))),u.valid=!0,u},e.clipAngle=function(t){return arguments.length?(N=null==t?(p=t,ka):Xe((p=+t)*Xo),r()):p},e.clipExtent=function(t){return arguments.length?(D=t,y=t?We(t[0][0],t[0][1],t[1][0],t[1][1]):C,r()):D},e.scale=function(t){return arguments.length?(l=+t,i()):l},e.translate=function(t){return arguments.length?(M=+t[0],h=+t[1],i()):[M,h]},e.center=function(t){return arguments.length?(d=t[0]%360*Xo,f=t[1]%360*Xo,i()):[d*Vo,f*Vo]},e.rotate=function(t){return arguments.length?(I=t[0]%360*Xo,E=t[1]%360*Xo,T=t.length>2?t[2]%360*Xo:0,i()):[I*Vo,E*Vo,T*Vo]},lo.rebind(e,g,"precision"),function(){return A=t.apply(this,arguments),e.invert=A.invert&&n,i()}}function Mn(t){return un(t,function(e,n){t.point(e*Xo,n*Xo)})}function hn(t,e){return[t,e]}function dn(t,e){return[t>Go?t-Ho:t<-Go?t+Ho:t,e]}function fn(t,e,n){return t?e||n?Se(En(t),Tn(e,n)):En(t):e||n?Tn(e,n):dn}function In(t){return function(e,n){return e+=t,[e>Go?e-Ho:e<-Go?e+Ho:e,n]}}function En(t){var e=In(t);return e.invert=In(-t),e}function Tn(t,e){function n(t,e){var n=Math.cos(e),a=Math.cos(t)*n,c=Math.sin(t)*n,s=Math.sin(e),u=s*i+a*r;return[Math.atan2(c*A-u*o,a*i-s*r),ot(u*A+c*o)]}var i=Math.cos(t),r=Math.sin(t),A=Math.cos(e),o=Math.sin(e);return n.invert=function(t,e){var n=Math.cos(e),a=Math.cos(t)*n,c=Math.sin(t)*n,s=Math.sin(e),u=s*A-c*o;return[Math.atan2(c*A+s*o,a*i+u*r),ot(u*i-a*r)]},n}function Nn(t,e){var n=Math.cos(t),i=Math.sin(t);return function(r,A,o,a){var c=o*e;null!=r?(r=yn(n,r),A=yn(n,A),(o>0?r<A:r>A)&&(r+=o*Ho)):(r=t+o*Ho,A=t-.5*c);for(var s,u=r;o>0?u>A:u<A;u-=c)a.point((s=Be([n,-i*Math.cos(u),-i*Math.sin(u)]))[0],s[1])}}function yn(t,e){var n=Ne(e);n[0]-=t,xe(n);var i=At(-n[1]);return((-n[2]<0?-i:i)+2*Math.PI-ko)%(2*Math.PI)}function pn(t,e,n){var i=lo.range(t,e-ko,n).concat(e);return function(t){return i.map(function(e){return[t,e]})}}function Cn(t,e,n){var i=lo.range(t,e-ko,n).concat(e);return function(t){return i.map(function(e){return[e,t]})}}function Dn(t){return t.source}function xn(t){return t.target}function Bn(t,e,n,i){var r=Math.cos(e),A=Math.sin(e),o=Math.cos(i),a=Math.sin(i),c=r*Math.cos(t),s=r*Math.sin(t),u=o*Math.cos(n),g=o*Math.sin(n),l=2*Math.asin(Math.sqrt(ut(i-e)+r*o*ut(n-t))),M=1/Math.sin(l),h=l?function(t){var e=Math.sin(t*=l)*M,n=Math.sin(l-t)*M,i=n*c+e*u,r=n*s+e*g,o=n*A+e*a;return[Math.atan2(r,i)*Vo,Math.atan2(o,Math.sqrt(i*i+r*r))*Vo]}:function(){return[t*Vo,e*Vo]};return h.distance=l,h}function wn(){function t(t,r){var A=Math.sin(r*=Xo),o=Math.cos(r),a=Co((t*=Xo)-e),c=Math.cos(a);Ka+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=i*A-n*o*c)*a),n*A+i*o*c),e=t,n=A,i=o}var e,n,i;qa.point=function(r,A){e=r*Xo,n=Math.sin(A*=Xo),i=Math.cos(A),qa.point=t},qa.lineEnd=function(){qa.point=qa.lineEnd=B}}function mn(t,e){function n(e,n){var i=Math.cos(e),r=Math.cos(n),A=t(i*r);return[A*r*Math.sin(e),A*Math.sin(n)]}return n.invert=function(t,n){var i=Math.sqrt(t*t+n*n),r=e(i),A=Math.sin(r),o=Math.cos(r);return[Math.atan2(t*A,i*o),Math.asin(i&&n*A/i)]},n}function Qn(t,e){function n(t,e){o>0?e<-Po+ko&&(e=-Po+ko):e>Po-ko&&(e=Po-ko);var n=o/Math.pow(r(e),A);return[n*Math.sin(A*t),o-n*Math.cos(A*t)]}var i=Math.cos(t),r=function(t){return Math.tan(Go/4+t/2)},A=t===e?Math.sin(t):Math.log(i/Math.cos(e))/Math.log(r(e)/r(t)),o=i*Math.pow(r(t),A)/A;return A?(n.invert=function(t,e){var n=o-e,i=it(A)*Math.sqrt(t*t+n*n);return[Math.atan2(t,n)/A,2*Math.atan(Math.pow(o/i,1/A))-Po]},n):jn}function vn(t,e){function n(t,e){var n=A-e;return[n*Math.sin(r*t),A-n*Math.cos(r*t)]}var i=Math.cos(t),r=t===e?Math.sin(t):(i-Math.cos(e))/(e-t),A=i/r+t;return Co(r)<ko?hn:(n.invert=function(t,e){var n=A-e;return[Math.atan2(t,n)/r,A-it(r)*Math.sqrt(t*t+n*n)]},n)}function jn(t,e){return[t,Math.log(Math.tan(Go/4+e/2))]}function Ln(t){var e,n=gn(t),i=n.scale,r=n.translate,A=n.clipExtent;return n.scale=function(){var t=i.apply(n,arguments);return t===n?e?n.clipExtent(null):n:t},n.translate=function(){var t=r.apply(n,arguments);return t===n?e?n.clipExtent(null):n:t},n.clipExtent=function(t){var o=A.apply(n,arguments);if(o===n){if(e=null==t){var a=Go*i(),c=r();A([[c[0]-a,c[1]-a],[c[0]+a,c[1]+a]])}}else e&&(o=null);return o},n.clipExtent(null)}function Sn(t,e){return[Math.log(Math.tan(Go/4+e/2)),-t]}function Yn(t){return t[0]}function bn(t){return t[1]}function On(t){for(var e=t.length,n=[0,1],i=2,r=2;r<e;r++){for(;i>1&&rt(t[n[i-2]],t[n[i-1]],t[r])<=0;)--i;n[i++]=r}return n.slice(0,i)}function zn(t,e){return t[0]-e[0]||t[1]-e[1]}function Un(t,e,n){return(n[0]-e[0])*(t[1]-e[1])<(n[1]-e[1])*(t[0]-e[0])}function Fn(t,e,n,i){var r=t[0],A=n[0],o=e[0]-r,a=i[0]-A,c=t[1],s=n[1],u=e[1]-c,g=i[1]-s,l=(a*(c-s)-g*(r-A))/(g*o-a*u);return[r+l*o,c+l*u]}function kn(t){var e=t[0],n=t[t.length-1];return!(e[0]-n[0]||e[1]-n[1])}function Rn(){ci(this),this.edge=this.site=this.circle=null}function Gn(t){var e=uc.pop()||new Rn;return e.site=t,e}function Hn(t){$n(t),ac.remove(t),uc.push(t),ci(t)}function Jn(t){var e=t.circle,n=e.x,i=e.cy,r={x:n,y:i},A=t.P,o=t.N,a=[t];Hn(t);for(var c=A;c.circle&&Co(n-c.circle.x)<ko&&Co(i-c.circle.cy)<ko;)A=c.P,a.unshift(c),Hn(c),c=A;a.unshift(c),$n(c);for(var s=o;s.circle&&Co(n-s.circle.x)<ko&&Co(i-s.circle.cy)<ko;)o=s.N,a.push(s),Hn(s),s=o;a.push(s),$n(s);var u,g=a.length;for(u=1;u<g;++u)s=a[u],c=a[u-1],Ai(s.edge,c.site,s.site,r);c=a[0],s=a[g-1],s.edge=ii(c.site,s.site,null,r),qn(c),qn(s)}function Pn(t){for(var e,n,i,r,A=t.x,o=t.y,a=ac._;a;)if((i=Xn(a,o)-A)>ko)a=a.L;else{if(!((r=A-Vn(a,o))>ko)){i>-ko?(e=a.P,n=a):r>-ko?(e=a,n=a.N):e=n=a;break}if(!a.R){e=a;break}a=a.R}var c=Gn(t);if(ac.insert(e,c),e||n){if(e===n)return $n(e),n=Gn(e.site),ac.insert(c,n),c.edge=n.edge=ii(e.site,c.site),qn(e),void qn(n);if(!n)return void(c.edge=ii(e.site,c.site));$n(e),$n(n);var s=e.site,u=s.x,g=s.y,l=t.x-u,M=t.y-g,h=n.site,d=h.x-u,f=h.y-g,I=2*(l*f-M*d),E=l*l+M*M,T=d*d+f*f,N={x:(f*E-M*T)/I+u,y:(l*T-d*E)/I+g};Ai(n.edge,s,h,N),c.edge=ii(s,t,null,N),n.edge=ii(t,h,null,N),qn(e),qn(n)}}function Xn(t,e){var n=t.site,i=n.x,r=n.y,A=r-e;if(!A)return i;var o=t.P;if(!o)return-1/0;n=o.site;var a=n.x,c=n.y,s=c-e;if(!s)return a;var u=a-i,g=1/A-1/s,l=u/s;return g?(-l+Math.sqrt(l*l-2*g*(u*u/(-2*s)-c+s/2+r-A/2)))/g+i:(i+a)/2}function Vn(t,e){var n=t.N;if(n)return Xn(n,e);var i=t.site;return i.y===e?i.x:1/0}function Wn(t){this.site=t,this.edges=[]}function _n(t){for(var e,n,i,r,A,o,a,c,s,u,g=t[0][0],l=t[1][0],M=t[0][1],h=t[1][1],d=oc,f=d.length;f--;)if((A=d[f])&&A.prepare())for(a=A.edges,c=a.length,o=0;o<c;)u=a[o].end(),i=u.x,r=u.y,s=a[++o%c].start(),e=s.x,n=s.y,(Co(i-e)>ko||Co(r-n)>ko)&&(a.splice(o,0,new oi(ri(A.site,u,Co(i-g)<ko&&h-r>ko?{x:g,y:Co(e-g)<ko?n:h}:Co(r-h)<ko&&l-i>ko?{x:Co(n-h)<ko?e:l,y:h}:Co(i-l)<ko&&r-M>ko?{x:l,y:Co(e-l)<ko?n:M}:Co(r-M)<ko&&i-g>ko?{x:Co(n-M)<ko?e:g,y:M}:null),A.site,null)),++c)}function Zn(t,e){return e.angle-t.angle}function Kn(){ci(this),this.x=this.y=this.arc=this.site=this.cy=null}function qn(t){var e=t.P,n=t.N;if(e&&n){var i=e.site,r=t.site,A=n.site;if(i!==A){var o=r.x,a=r.y,c=i.x-o,s=i.y-a,u=A.x-o,g=A.y-a,l=2*(c*g-s*u);if(!(l>=-Ro)){var M=c*c+s*s,h=u*u+g*g,d=(g*M-s*h)/l,f=(c*h-u*M)/l,g=f+a,I=gc.pop()||new Kn;I.arc=t,I.site=r,I.x=d+o,I.y=g+Math.sqrt(d*d+f*f),I.cy=g,t.circle=I;for(var E=null,T=sc._;T;)if(I.y<T.y||I.y===T.y&&I.x<=T.x){if(!T.L){E=T.P;break}T=T.L}else{if(!T.R){E=T;break}T=T.R}sc.insert(E,I),E||(cc=I)}}}}function $n(t){var e=t.circle;e&&(e.P||(cc=e.N),sc.remove(e),gc.push(e),ci(e),t.circle=null)}function ti(t){for(var e,n=Ac,i=Ve(t[0][0],t[0][1],t[1][0],t[1][1]),r=n.length;r--;)e=n[r],(!ei(e,t)||!i(e)||Co(e.a.x-e.b.x)<ko&&Co(e.a.y-e.b.y)<ko)&&(e.a=e.b=null,n.splice(r,1))}function ei(t,e){var n=t.b;if(n)return!0;var i,r,A=t.a,o=e[0][0],a=e[1][0],c=e[0][1],s=e[1][1],u=t.l,g=t.r,l=u.x,M=u.y,h=g.x,d=g.y,f=(l+h)/2,I=(M+d)/2;if(d===M){if(f<o||f>=a)return;if(l>h){if(A){if(A.y>=s)return}else A={x:f,y:c};n={x:f,y:s}}else{if(A){if(A.y<c)return}else A={x:f,y:s};n={x:f,y:c}}}else if(i=(l-h)/(d-M),r=I-i*f,i<-1||i>1)if(l>h){if(A){if(A.y>=s)return}else A={x:(c-r)/i,y:c};n={x:(s-r)/i,y:s}}else{if(A){if(A.y<c)return}else A={x:(s-r)/i,y:s};n={x:(c-r)/i,y:c}}else if(M<d){if(A){if(A.x>=a)return}else A={x:o,y:i*o+r};n={x:a,y:i*a+r}}else{if(A){if(A.x<o)return}else A={x:a,y:i*a+r};n={x:o,y:i*o+r}}return t.a=A,t.b=n,!0}function ni(t,e){this.l=t,this.r=e,this.a=this.b=null}function ii(t,e,n,i){var r=new ni(t,e);return Ac.push(r),n&&Ai(r,t,e,n),i&&Ai(r,e,t,i),oc[t.i].edges.push(new oi(r,t,e)),oc[e.i].edges.push(new oi(r,e,t)),r}function ri(t,e,n){var i=new ni(t,null);return i.a=e,i.b=n,Ac.push(i),i}function Ai(t,e,n,i){t.a||t.b?t.l===n?t.b=i:t.a=i:(t.a=i,t.l=e,t.r=n)}function oi(t,e,n){var i=t.a,r=t.b;this.edge=t,this.site=e,this.angle=n?Math.atan2(n.y-e.y,n.x-e.x):t.l===e?Math.atan2(r.x-i.x,i.y-r.y):Math.atan2(i.x-r.x,r.y-i.y)}function ai(){this._=null}function ci(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function si(t,e){var n=e,i=e.R,r=n.U;r?r.L===n?r.L=i:r.R=i:t._=i,i.U=r,n.U=i,n.R=i.L,n.R&&(n.R.U=n),i.L=n}function ui(t,e){var n=e,i=e.L,r=n.U;r?r.L===n?r.L=i:r.R=i:t._=i,i.U=r,n.U=i,n.L=i.R,n.L&&(n.L.U=n),i.R=n}function gi(t){for(;t.L;)t=t.L;return t}function li(t,e){var n,i,r,A=t.sort(Mi).pop();for(Ac=[],oc=new Array(t.length),ac=new ai,sc=new ai;;)if(r=cc,A&&(!r||A.y<r.y||A.y===r.y&&A.x<r.x))A.x===n&&A.y===i||(oc[A.i]=new Wn(A),Pn(A),n=A.x,i=A.y),A=t.pop();else{if(!r)break;Jn(r.arc)}e&&(ti(e),_n(e));var o={cells:oc,edges:Ac};return ac=sc=Ac=oc=null,o}function Mi(t,e){return e.y-t.y||e.x-t.x}function hi(t,e,n){return(t.x-n.x)*(e.y-t.y)-(t.x-e.x)*(n.y-t.y)}function di(t){return t.x}function fi(t){return t.y}function Ii(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function Ei(t,e,n,i,r,A){if(!t(e,n,i,r,A)){var o=.5*(n+r),a=.5*(i+A),c=e.nodes;c[0]&&Ei(t,c[0],n,i,o,a),c[1]&&Ei(t,c[1],o,i,r,a),c[2]&&Ei(t,c[2],n,a,o,A),c[3]&&Ei(t,c[3],o,a,r,A)}}function Ti(t,e,n,i,r,A,o){var a,c=1/0;return function t(s,u,g,l,M){if(!(u>A||g>o||l<i||M<r)){if(h=s.point){var h,d=e-s.x,f=n-s.y,I=d*d+f*f;if(I<c){var E=Math.sqrt(c=I);i=e-E,r=n-E,A=e+E,o=n+E,a=h}}for(var T=s.nodes,N=.5*(u+l),y=.5*(g+M),p=e>=N,C=n>=y,D=C<<1|p,x=D+4;D<x;++D)if(s=T[3&D])switch(3&D){case 0:t(s,u,g,N,y);break;case 1:t(s,N,g,l,y);break;case 2:t(s,u,y,N,M);break;case 3:t(s,N,y,l,M)}}}(t,i,r,A,o),a}function Ni(t,e){t=lo.rgb(t),e=lo.rgb(e);var n=t.r,i=t.g,r=t.b,A=e.r-n,o=e.g-i,a=e.b-r;return function(t){return"#"+xt(Math.round(n+A*t))+xt(Math.round(i+o*t))+xt(Math.round(r+a*t))}}function yi(t,e){var n,i={},r={};for(n in t)n in e?i[n]=Di(t[n],e[n]):r[n]=t[n];for(n in e)n in t||(r[n]=e[n]);return function(t){for(n in i)r[n]=i[n](t);return r}}function pi(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function Ci(t,e){var n,i,r,A=Mc.lastIndex=hc.lastIndex=0,o=-1,a=[],c=[];for(t+="",e+="";(n=Mc.exec(t))&&(i=hc.exec(e));)(r=i.index)>A&&(r=e.slice(A,r),a[o]?a[o]+=r:a[++o]=r),(n=n[0])===(i=i[0])?a[o]?a[o]+=i:a[++o]=i:(a[++o]=null,c.push({i:o,x:pi(n,i)})),A=hc.lastIndex;return A<e.length&&(r=e.slice(A),a[o]?a[o]+=r:a[++o]=r),a.length<2?c[0]?(e=c[0].x,function(t){return e(t)+""}):function(){return e}:(e=c.length,function(t){for(var n,i=0;i<e;++i)a[(n=c[i]).i]=n.x(t);return a.join("")})}function Di(t,e){for(var n,i=lo.interpolators.length;--i>=0&&!(n=lo.interpolators[i](t,e)););return n}function xi(t,e){var n,i=[],r=[],A=t.length,o=e.length,a=Math.min(t.length,e.length);for(n=0;n<a;++n)i.push(Di(t[n],e[n]));for(;n<A;++n)r[n]=t[n];for(;n<o;++n)r[n]=e[n];return function(t){for(n=0;n<a;++n)r[n]=i[n](t);return r}}function Bi(t){return function(e){return e<=0?0:e>=1?1:t(e)}}function wi(t){return function(e){return 1-t(1-e)}}function mi(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Qi(t){return t*t}function vi(t){return t*t*t}function ji(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,n=e*t;return 4*(t<.5?n:3*(t-e)+n-.75)}function Li(t){return function(e){return Math.pow(e,t)}}function Si(t){return 1-Math.cos(t*Po)}function Yi(t){return Math.pow(2,10*(t-1))}function bi(t){return 1-Math.sqrt(1-t*t)}function Oi(t,e){var n;return arguments.length<2&&(e=.45),arguments.length?n=e/Ho*Math.asin(1/t):(t=1,n=e/4),function(i){return 1+t*Math.pow(2,-10*i)*Math.sin((i-n)*Ho/e)}}function zi(t){return t||(t=1.70158),function(e){return e*e*((t+1)*e-t)}}function Ui(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Fi(t,e){t=lo.hcl(t),e=lo.hcl(e);var n=t.h,i=t.c,r=t.l,A=e.h-n,o=e.c-i,a=e.l-r;return isNaN(o)&&(o=0,i=isNaN(i)?e.c:i),isNaN(A)?(A=0,n=isNaN(n)?e.h:n):A>180?A-=360:A<-180&&(A+=360),function(t){return dt(n+A*t,i+o*t,r+a*t)+""}}function ki(t,e){t=lo.hsl(t),e=lo.hsl(e);var n=t.h,i=t.s,r=t.l,A=e.h-n,o=e.s-i,a=e.l-r;return isNaN(o)&&(o=0,i=isNaN(i)?e.s:i),isNaN(A)?(A=0,n=isNaN(n)?e.h:n):A>180?A-=360:A<-180&&(A+=360),function(t){return Mt(n+A*t,i+o*t,r+a*t)+""}}function Ri(t,e){t=lo.lab(t),e=lo.lab(e);var n=t.l,i=t.a,r=t.b,A=e.l-n,o=e.a-i,a=e.b-r;return function(t){return It(n+A*t,i+o*t,r+a*t)+""}}function Gi(t,e){return e-=t,function(n){return Math.round(t+e*n)}}function Hi(t){var e=[t.a,t.b],n=[t.c,t.d],i=Pi(e),r=Ji(e,n),A=Pi(Xi(n,e,-r))||0;e[0]*n[1]<n[0]*e[1]&&(e[0]*=-1,e[1]*=-1,i*=-1,r*=-1),this.rotate=(i?Math.atan2(e[1],e[0]):Math.atan2(-n[0],n[1]))*Vo,this.translate=[t.e,t.f],this.scale=[i,A],this.skew=A?Math.atan2(r,A)*Vo:0}function Ji(t,e){return t[0]*e[0]+t[1]*e[1]}function Pi(t){var e=Math.sqrt(Ji(t,t));return e&&(t[0]/=e,t[1]/=e),e}function Xi(t,e,n){return t[0]+=n*e[0],t[1]+=n*e[1],t}function Vi(t){return t.length?t.pop()+",":""}function Wi(t,e,n,i){if(t[0]!==e[0]||t[1]!==e[1]){var r=n.push("translate(",null,",",null,")");i.push({i:r-4,x:pi(t[0],e[0])},{i:r-2,x:pi(t[1],e[1])})}else(e[0]||e[1])&&n.push("translate("+e+")")}function _i(t,e,n,i){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),i.push({i:n.push(Vi(n)+"rotate(",null,")")-2,x:pi(t,e)})):e&&n.push(Vi(n)+"rotate("+e+")")}function Zi(t,e,n,i){t!==e?i.push({i:n.push(Vi(n)+"skewX(",null,")")-2,x:pi(t,e)}):e&&n.push(Vi(n)+"skewX("+e+")")}function Ki(t,e,n,i){if(t[0]!==e[0]||t[1]!==e[1]){var r=n.push(Vi(n)+"scale(",null,",",null,")");i.push({i:r-4,x:pi(t[0],e[0])},{i:r-2,x:pi(t[1],e[1])})}else 1===e[0]&&1===e[1]||n.push(Vi(n)+"scale("+e+")")}function qi(t,e){var n=[],i=[];return t=lo.transform(t),e=lo.transform(e),Wi(t.translate,e.translate,n,i),_i(t.rotate,e.rotate,n,i),Zi(t.skew,e.skew,n,i),Ki(t.scale,e.scale,n,i),t=e=null,function(t){for(var e,r=-1,A=i.length;++r<A;)n[(e=i[r]).i]=e.x(t);return n.join("")}}function $i(t,e){return e=(e-=t=+t)||1/e,function(n){return(n-t)/e}}function tr(t,e){return e=(e-=t=+t)||1/e,function(n){return Math.max(0,Math.min(1,(n-t)/e))}}function er(t){for(var e=t.source,n=t.target,i=ir(e,n),r=[e];e!==i;)e=e.parent,r.push(e);for(var A=r.length;n!==i;)r.splice(A,0,n),n=n.parent;return r}function nr(t){for(var e=[],n=t.parent;null!=n;)e.push(t),t=n,n=n.parent;return e.push(t),e}function ir(t,e){if(t===e)return t;for(var n=nr(t),i=nr(e),r=n.pop(),A=i.pop(),o=null;r===A;)o=r,r=n.pop(),A=i.pop();return o}function rr(t){t.fixed|=2}function Ar(t){t.fixed&=-7}function or(t){t.fixed|=4,t.px=t.x,t.py=t.y}function ar(t){t.fixed&=-5}function cr(t,e,n){var i=0,r=0;if(t.charge=0,!t.leaf)for(var A,o=t.nodes,a=o.length,c=-1;++c<a;)null!=(A=o[c])&&(cr(A,e,n),t.charge+=A.charge,i+=A.charge*A.cx,r+=A.charge*A.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var s=e*n[t.point.index];t.charge+=t.pointCharge=s,i+=s*t.point.x,r+=s*t.point.y}t.cx=i/t.charge,t.cy=r/t.charge}function sr(t,e){return lo.rebind(t,e,"sort","children","value"),t.nodes=t,t.links=dr,t}function ur(t,e){for(var n=[t];null!=(t=n.pop());)if(e(t),(r=t.children)&&(i=r.length))for(var i,r;--i>=0;)n.push(r[i])}function gr(t,e){for(var n=[t],i=[];null!=(t=n.pop());)if(i.push(t),(A=t.children)&&(r=A.length))for(var r,A,o=-1;++o<r;)n.push(A[o]);for(;null!=(t=i.pop());)e(t)}function lr(t){return t.children}function Mr(t){return t.value}function hr(t,e){return e.value-t.value}function dr(t){return lo.merge(t.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}function fr(t){return t.x}function Ir(t){return t.y}function Er(t,e,n){t.y0=e,t.y=n}function Tr(t){return lo.range(t.length)}function Nr(t){for(var e=-1,n=t[0].length,i=[];++e<n;)i[e]=0;return i}function yr(t){for(var e,n=1,i=0,r=t[0][1],A=t.length;n<A;++n)(e=t[n][1])>r&&(i=n,r=e);return i}function pr(t){return t.reduce(Cr,0)}function Cr(t,e){return t+e[1]}function Dr(t,e){return xr(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function xr(t,e){for(var n=-1,i=+t[0],r=(t[1]-i)/e,A=[];++n<=e;)A[n]=r*n+i;return A}function Br(t){return[lo.min(t),lo.max(t)]}function wr(t,e){return t.value-e.value}function mr(t,e){var n=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=n,n._pack_prev=e}function Qr(t,e){t._pack_next=e,e._pack_prev=t}function vr(t,e){var n=e.x-t.x,i=e.y-t.y,r=t.r+e.r;return.999*r*r>n*n+i*i}function jr(t){function e(t){u=Math.min(t.x-t.r,u),g=Math.max(t.x+t.r,g),l=Math.min(t.y-t.r,l),M=Math.max(t.y+t.r,M)}if((n=t.children)&&(s=n.length)){var n,i,r,A,o,a,c,s,u=1/0,g=-1/0,l=1/0,M=-1/0;if(n.forEach(Lr),i=n[0],i.x=-i.r,i.y=0,e(i),s>1&&(r=n[1],r.x=r.r,r.y=0,e(r),s>2))for(A=n[2],br(i,r,A),e(A),mr(i,A),i._pack_prev=A,mr(A,r),r=i._pack_next,o=3;o<s;o++){br(i,r,A=n[o]);var h=0,d=1,f=1;for(a=r._pack_next;a!==r;a=a._pack_next,d++)if(vr(a,A)){h=1;break}if(1==h)for(c=i._pack_prev;c!==a._pack_prev&&!vr(c,A);c=c._pack_prev,f++);h?(d<f||d==f&&r.r<i.r?Qr(i,r=a):Qr(i=c,r),o--):(mr(i,A),r=A,e(A))}var I=(u+g)/2,E=(l+M)/2,T=0;for(o=0;o<s;o++)A=n[o],A.x-=I,A.y-=E,T=Math.max(T,A.r+Math.sqrt(A.x*A.x+A.y*A.y));t.r=T,n.forEach(Sr)}}function Lr(t){t._pack_next=t._pack_prev=t}function Sr(t){delete t._pack_next,delete t._pack_prev}function Yr(t,e,n,i){var r=t.children;if(t.x=e+=i*t.x,t.y=n+=i*t.y,t.r*=i,r)for(var A=-1,o=r.length;++A<o;)Yr(r[A],e,n,i)}function br(t,e,n){var i=t.r+n.r,r=e.x-t.x,A=e.y-t.y;if(i&&(r||A)){var o=e.r+n.r,a=r*r+A*A;o*=o,i*=i;var c=.5+(i-o)/(2*a),s=Math.sqrt(Math.max(0,2*o*(i+a)-(i-=a)*i-o*o))/(2*a);n.x=t.x+c*r+s*A,n.y=t.y+c*A-s*r}else n.x=t.x+i,n.y=t.y}function Or(t,e){return t.parent==e.parent?1:2}function zr(t){var e=t.children;return e.length?e[0]:t.t}function Ur(t){var e,n=t.children;return(e=n.length)?n[e-1]:t.t}function Fr(t,e,n){var i=n/(e.i-t.i);e.c-=i,e.s+=n,t.c+=i,e.z+=n,e.m+=n}function kr(t){for(var e,n=0,i=0,r=t.children,A=r.length;--A>=0;)e=r[A],e.z+=n,e.m+=n,n+=e.s+(i+=e.c)}function Rr(t,e,n){return t.a.parent===e.parent?t.a:n}function Gr(t){return 1+lo.max(t,function(t){return t.y})}function Hr(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}function Jr(t){var e=t.children;return e&&e.length?Jr(e[0]):t}function Pr(t){var e,n=t.children;return n&&(e=n.length)?Pr(n[e-1]):t}function Xr(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function Vr(t,e){var n=t.x+e[3],i=t.y+e[0],r=t.dx-e[1]-e[3],A=t.dy-e[0]-e[2];return r<0&&(n+=r/2,r=0),A<0&&(i+=A/2,A=0),{x:n,y:i,dx:r,dy:A}}function Wr(t){var e=t[0],n=t[t.length-1];return e<n?[e,n]:[n,e]}function _r(t){return t.rangeExtent?t.rangeExtent():Wr(t.range())}function Zr(t,e,n,i){var r=n(t[0],t[1]),A=i(e[0],e[1]);return function(t){return A(r(t))}}function Kr(t,e){var n,i=0,r=t.length-1,A=t[i],o=t[r];return o<A&&(n=i,i=r,r=n,n=A,A=o,o=n),t[i]=e.floor(A),t[r]=e.ceil(o),t}function qr(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:xc}function $r(t,e,n,i){var r=[],A=[],o=0,a=Math.min(t.length,e.length)-1;for(t[a]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<=a;)r.push(n(t[o-1],t[o])),A.push(i(e[o-1],e[o]));return function(e){var n=lo.bisect(t,e,1,a)-1;return A[n](r[n](e))}}function tA(t,e,n,i){function r(){var r=Math.min(t.length,e.length)>2?$r:Zr,c=i?tr:$i;return o=r(t,e,c,n),a=r(e,t,c,Di),A}function A(t){return o(t)}var o,a;return A.invert=function(t){return a(t)},A.domain=function(e){return arguments.length?(t=e.map(Number),r()):t},A.range=function(t){return arguments.length?(e=t,r()):e},A.rangeRound=function(t){return A.range(t).interpolate(Gi)},A.clamp=function(t){return arguments.length?(i=t,r()):i},A.interpolate=function(t){return arguments.length?(n=t,r()):n},A.ticks=function(e){return rA(t,e)},A.tickFormat=function(e,n){return AA(t,e,n)},A.nice=function(e){return nA(t,e),r()},A.copy=function(){return tA(t,e,n,i)},r()}function eA(t,e){return lo.rebind(t,e,"range","rangeRound","interpolate","clamp")}function nA(t,e){return Kr(t,qr(iA(t,e)[2])),Kr(t,qr(iA(t,e)[2])),t}function iA(t,e){null==e&&(e=10);var n=Wr(t),i=n[1]-n[0],r=Math.pow(10,Math.floor(Math.log(i/e)/Math.LN10)),A=e/i*r;return A<=.15?r*=10:A<=.35?r*=5:A<=.75&&(r*=2),n[0]=Math.ceil(n[0]/r)*r,n[1]=Math.floor(n[1]/r)*r+.5*r,n[2]=r,n}function rA(t,e){return lo.range.apply(lo,iA(t,e))}function AA(t,e,n){var i=iA(t,e);if(n){var r=Ma.exec(n);if(r.shift(),"s"===r[8]){var A=lo.formatPrefix(Math.max(Co(i[0]),Co(i[1])));return r[7]||(r[7]="."+oA(A.scale(i[2]))),r[8]="f",n=lo.format(r.join("")),function(t){return n(A.scale(t))+A.symbol}}r[7]||(r[7]="."+aA(r[8],i)),n=r.join("")}else n=",."+oA(i[2])+"f";return lo.format(n)}function oA(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function aA(t,e){var n=oA(e[2]);return t in Bc?Math.abs(n-oA(Math.max(Co(e[0]),Co(e[1]))))+ +("e"!==t):n-2*("%"===t)}function cA(t,e,n,i){function r(t){return(n?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function A(t){return n?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(r(e))}return o.invert=function(e){return A(t.invert(e))},o.domain=function(e){return arguments.length?(n=e[0]>=0,t.domain((i=e.map(Number)).map(r)),o):i},o.base=function(n){return arguments.length?(e=+n,t.domain(i.map(r)),o):e},o.nice=function(){var e=Kr(i.map(r),n?Math:mc);return t.domain(e),i=e.map(A),o},o.ticks=function(){var t=Wr(i),o=[],a=t[0],c=t[1],s=Math.floor(r(a)),u=Math.ceil(r(c)),g=e%1?2:e;if(isFinite(u-s)){if(n){for(;s<u;s++)for(var l=1;l<g;l++)o.push(A(s)*l);o.push(A(s))}else for(o.push(A(s));s++<u;)for(var l=g-1;l>0;l--)o.push(A(s)*l);for(s=0;o[s]<a;s++);for(u=o.length;o[u-1]>c;u--);o=o.slice(s,u)}return o},o.tickFormat=function(t,n){if(!arguments.length)return wc;arguments.length<2?n=wc:"function"!=typeof n&&(n=lo.format(n));var i=Math.max(1,e*t/o.ticks().length);return function(t){var o=t/A(Math.round(r(t)));return o*e<e-.5&&(o*=e),o<=i?n(t):""}},o.copy=function(){return cA(t.copy(),e,n,i)},eA(o,t)}function sA(t,e,n){function i(e){return t(r(e))}var r=uA(e),A=uA(1/e);return i.invert=function(e){return A(t.invert(e))},i.domain=function(e){return arguments.length?(t.domain((n=e.map(Number)).map(r)),i):n},i.ticks=function(t){return rA(n,t)},i.tickFormat=function(t,e){return AA(n,t,e)},i.nice=function(t){return i.domain(nA(n,t))},i.exponent=function(o){return arguments.length?(r=uA(e=o),A=uA(1/e),t.domain(n.map(r)),i):e},i.copy=function(){return sA(t.copy(),e,n)},eA(i,t)}function uA(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function gA(t,e){function n(n){return A[((r.get(n)||("range"===e.t?r.set(n,t.push(n)):NaN))-1)%A.length]}function i(e,n){return lo.range(t.length).map(function(t){return e+n*t})}var r,A,o;return n.domain=function(i){if(!arguments.length)return t;t=[],r=new h;for(var A,o=-1,a=i.length;++o<a;)r.has(A=i[o])||r.set(A,t.push(A));return n[e.t].apply(n,e.a)},n.range=function(t){return arguments.length?(A=t,o=0,e={t:"range",a:arguments},n):A},n.rangePoints=function(r,a){arguments.length<2&&(a=0);var c=r[0],s=r[1],u=t.length<2?(c=(c+s)/2,0):(s-c)/(t.length-1+a);return A=i(c+u*a/2,u),o=0,e={t:"rangePoints",a:arguments},n},n.rangeRoundPoints=function(r,a){arguments.length<2&&(a=0);var c=r[0],s=r[1],u=t.length<2?(c=s=Math.round((c+s)/2),0):(s-c)/(t.length-1+a)|0;return A=i(c+Math.round(u*a/2+(s-c-(t.length-1+a)*u)/2),u),o=0,e={t:"rangeRoundPoints",a:arguments},n},n.rangeBands=function(r,a,c){arguments.length<2&&(a=0),arguments.length<3&&(c=a);var s=r[1]<r[0],u=r[s-0],g=r[1-s],l=(g-u)/(t.length-a+2*c);return A=i(u+l*c,l),s&&A.reverse(),o=l*(1-a),e={t:"rangeBands",a:arguments},n},n.rangeRoundBands=function(r,a,c){arguments.length<2&&(a=0),arguments.length<3&&(c=a);var s=r[1]<r[0],u=r[s-0],g=r[1-s],l=Math.floor((g-u)/(t.length-a+2*c));return A=i(u+Math.round((g-u-(t.length-a)*l)/2),l),s&&A.reverse(),o=Math.round(l*(1-a)),e={t:"rangeRoundBands",a:arguments},n},n.rangeBand=function(){return o},n.rangeExtent=function(){return Wr(e.a[0])},n.copy=function(){return gA(t,e)},n.domain(t)}function lA(t,e){function n(){var n=0,A=e.length;for(r=[];++n<A;)r[n-1]=lo.quantile(t,n/A);return i}function i(t){if(!isNaN(t=+t))return e[lo.bisect(r,t)]}var r;return i.domain=function(e){return arguments.length?(t=e.map(c).filter(s).sort(a),n()):t},i.range=function(t){return arguments.length?(e=t,n()):e},i.quantiles=function(){return r},i.invertExtent=function(n){return n=e.indexOf(n),n<0?[NaN,NaN]:[n>0?r[n-1]:t[0],n<r.length?r[n]:t[t.length-1]]},i.copy=function(){return lA(t,e)},n()}function MA(t,e,n){function i(e){return n[Math.max(0,Math.min(o,Math.floor(A*(e-t))))]}function r(){return A=n.length/(e-t),o=n.length-1,i}var A,o;return i.domain=function(n){return arguments.length?(t=+n[0],e=+n[n.length-1],r()):[t,e]},i.range=function(t){return arguments.length?(n=t,r()):n},i.invertExtent=function(e){return e=n.indexOf(e),e=e<0?NaN:e/A+t,[e,e+1/A]},i.copy=function(){return MA(t,e,n)},r()}function hA(t,e){function n(n){if(n<=n)return e[lo.bisect(t,n)]}return n.domain=function(e){return arguments.length?(t=e,n):t},n.range=function(t){return arguments.length?(e=t,n):e},n.invertExtent=function(n){return n=e.indexOf(n),[t[n-1],t[n]]},n.copy=function(){return hA(t,e)},n}function dA(t){function e(t){return+t}return e.invert=e,e.domain=e.range=function(n){return arguments.length?(t=n.map(e),e):t},e.ticks=function(e){return rA(t,e)},e.tickFormat=function(e,n){return AA(t,e,n)},e.copy=function(){return dA(t)},e}function fA(){return 0}function IA(t){return t.innerRadius}function EA(t){return t.outerRadius}function TA(t){return t.startAngle}function NA(t){return t.endAngle}function yA(t){return t&&t.padAngle}function pA(t,e,n,i){return(t-n)*e-(e-i)*t>0?0:1}function CA(t,e,n,i,r){var A=t[0]-e[0],o=t[1]-e[1],a=(r?i:-i)/Math.sqrt(A*A+o*o),c=a*o,s=-a*A,u=t[0]+c,g=t[1]+s,l=e[0]+c,M=e[1]+s,h=(u+l)/2,d=(g+M)/2,f=l-u,I=M-g,E=f*f+I*I,T=n-i,N=u*M-l*g,y=(I<0?-1:1)*Math.sqrt(Math.max(0,T*T*E-N*N)),p=(N*I-f*y)/E,C=(-N*f-I*y)/E,D=(N*I+f*y)/E,x=(-N*f+I*y)/E,B=p-h,w=C-d,m=D-h,Q=x-d;return B*B+w*w>m*m+Q*Q&&(p=D,C=x),[[p-c,C-s],[p*n/T,C*n/T]]}function DA(t){function e(e){function o(){s.push("M",A(t(u),a))}for(var c,s=[],u=[],g=-1,l=e.length,M=jt(n),h=jt(i);++g<l;)r.call(this,c=e[g],g)?u.push([+M.call(this,c,g),+h.call(this,c,g)]):u.length&&(o(),u=[]);return u.length&&o(),s.length?s.join(""):null}var n=Yn,i=bn,r=Ye,A=xA,o=A.key,a=.7;return e.x=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(i=t,e):i},e.defined=function(t){return arguments.length?(r=t,e):r},e.interpolate=function(t){return arguments.length?(o="function"==typeof t?A=t:(A=Yc.get(t)||xA).key,e):o},e.tension=function(t){return arguments.length?(a=t,e):a},e}function xA(t){return t.length>1?t.join("L"):t+"Z"}function BA(t){return t.join("L")+"Z"}function wA(t){for(var e=0,n=t.length,i=t[0],r=[i[0],",",i[1]];++e<n;)r.push("H",(i[0]+(i=t[e])[0])/2,"V",i[1]);return n>1&&r.push("H",i[0]),r.join("")}function mA(t){for(var e=0,n=t.length,i=t[0],r=[i[0],",",i[1]];++e<n;)r.push("V",(i=t[e])[1],"H",i[0]);return r.join("")}function QA(t){for(var e=0,n=t.length,i=t[0],r=[i[0],",",i[1]];++e<n;)r.push("H",(i=t[e])[0],"V",i[1]);return r.join("")}function vA(t,e){return t.length<4?xA(t):t[1]+SA(t.slice(1,-1),YA(t,e))}function jA(t,e){return t.length<3?BA(t):t[0]+SA((t.push(t[0]),t),YA([t[t.length-2]].concat(t,[t[1]]),e))}function LA(t,e){return t.length<3?xA(t):t[0]+SA(t,YA(t,e))}function SA(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return xA(t);var n=t.length!=e.length,i="",r=t[0],A=t[1],o=e[0],a=o,c=1;if(n&&(i+="Q"+(A[0]-2*o[0]/3)+","+(A[1]-2*o[1]/3)+","+A[0]+","+A[1],r=t[1],c=2),e.length>1){a=e[1],A=t[c],c++,i+="C"+(r[0]+o[0])+","+(r[1]+o[1])+","+(A[0]-a[0])+","+(A[1]-a[1])+","+A[0]+","+A[1];for(var s=2;s<e.length;s++,c++)A=t[c],a=e[s],i+="S"+(A[0]-a[0])+","+(A[1]-a[1])+","+A[0]+","+A[1]}if(n){var u=t[c];i+="Q"+(A[0]+2*a[0]/3)+","+(A[1]+2*a[1]/3)+","+u[0]+","+u[1]}return i}function YA(t,e){for(var n,i=[],r=(1-e)/2,A=t[0],o=t[1],a=1,c=t.length;++a<c;)n=A,A=o,o=t[a],i.push([r*(o[0]-n[0]),r*(o[1]-n[1])]);return i}function bA(t){if(t.length<3)return xA(t);var e=1,n=t.length,i=t[0],r=i[0],A=i[1],o=[r,r,r,(i=t[1])[0]],a=[A,A,A,i[1]],c=[r,",",A,"L",FA(zc,o),",",FA(zc,a)];for(t.push(t[n-1]);++e<=n;)i=t[e],o.shift(),o.push(i[0]),a.shift(),a.push(i[1]),kA(c,o,a);return t.pop(),c.push("L",i),c.join("")}function OA(t){if(t.length<4)return xA(t);for(var e,n=[],i=-1,r=t.length,A=[0],o=[0];++i<3;)e=t[i],A.push(e[0]),o.push(e[1]);for(n.push(FA(zc,A)+","+FA(zc,o)),--i;++i<r;)e=t[i],A.shift(),A.push(e[0]),o.shift(),o.push(e[1]),kA(n,A,o);return n.join("")}function zA(t){for(var e,n,i=-1,r=t.length,A=r+4,o=[],a=[];++i<4;)n=t[i%r],o.push(n[0]),a.push(n[1]);for(e=[FA(zc,o),",",FA(zc,a)],--i;++i<A;)n=t[i%r],o.shift(),o.push(n[0]),a.shift(),a.push(n[1]),kA(e,o,a);return e.join("")}function UA(t,e){var n=t.length-1;if(n)for(var i,r,A=t[0][0],o=t[0][1],a=t[n][0]-A,c=t[n][1]-o,s=-1;++s<=n;)i=t[s],r=s/n,i[0]=e*i[0]+(1-e)*(A+r*a),i[1]=e*i[1]+(1-e)*(o+r*c);return bA(t)}function FA(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function kA(t,e,n){t.push("C",FA(bc,e),",",FA(bc,n),",",FA(Oc,e),",",FA(Oc,n),",",FA(zc,e),",",FA(zc,n))}function RA(t,e){return(e[1]-t[1])/(e[0]-t[0])}function GA(t){for(var e=0,n=t.length-1,i=[],r=t[0],A=t[1],o=i[0]=RA(r,A);++e<n;)i[e]=(o+(o=RA(r=A,A=t[e+1])))/2;return i[e]=o,i}function HA(t){for(var e,n,i,r,A=[],o=GA(t),a=-1,c=t.length-1;++a<c;)e=RA(t[a],t[a+1]),Co(e)<ko?o[a]=o[a+1]=0:(n=o[a]/e,i=o[a+1]/e,(r=n*n+i*i)>9&&(r=3*e/Math.sqrt(r),o[a]=r*n,o[a+1]=r*i));for(a=-1;++a<=c;)r=(t[Math.min(c,a+1)][0]-t[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),A.push([r||0,o[a]*r||0]);return A}function JA(t){return t.length<3?xA(t):t[0]+SA(t,HA(t))}function PA(t){for(var e,n,i,r=-1,A=t.length;++r<A;)e=t[r],n=e[0],i=e[1]-Po,e[0]=n*Math.cos(i),e[1]=n*Math.sin(i);return t}function XA(t){function e(e){function c(){d.push("M",a(t(I),g),u,s(t(f.reverse()),g),"Z")}for(var l,M,h,d=[],f=[],I=[],E=-1,T=e.length,N=jt(n),y=jt(r),p=n===i?function(){return M}:jt(i),C=r===A?function(){return h}:jt(A);++E<T;)o.call(this,l=e[E],E)?(f.push([M=+N.call(this,l,E),h=+y.call(this,l,E)]),I.push([+p.call(this,l,E),+C.call(this,l,E)])):f.length&&(c(),f=[],I=[]);return f.length&&c(),d.length?d.join(""):null}var n=Yn,i=Yn,r=0,A=bn,o=Ye,a=xA,c=a.key,s=a,u="L",g=.7;return e.x=function(t){return arguments.length?(n=i=t,e):i},e.x0=function(t){return arguments.length?(n=t,e):n},e.x1=function(t){return arguments.length?(i=t,e):i},e.y=function(t){return arguments.length?(r=A=t,e):A},e.y0=function(t){return arguments.length?(r=t,e):r},e.y1=function(t){return arguments.length?(A=t,e):A},e.defined=function(t){return arguments.length?(o=t,e):o},e.interpolate=function(t){return arguments.length?(c="function"==typeof t?a=t:(a=Yc.get(t)||xA).key,s=a.reverse||a,u=a.closed?"M":"L",e):c},e.tension=function(t){return arguments.length?(g=t,e):g},e}function VA(t){return t.radius}function WA(t){return[t.x,t.y]}function _A(t){return function(){var e=t.apply(this,arguments),n=e[0],i=e[1]-Po;return[n*Math.cos(i),n*Math.sin(i)]}}function ZA(){return 64}function KA(){return"circle"}function qA(t){var e=Math.sqrt(t/Go);return"M0,"+e+"A"+e+","+e+" 0 1,1 0,"+-e+"A"+e+","+e+" 0 1,1 0,"+e+"Z"}function $A(t){return function(){var e,n,i;(e=this[t])&&(i=e[n=e.active])&&(i.timer.c=null,i.timer.t=NaN,--e.count?delete e[n]:delete this[t],e.active+=.5,i.event&&i.event.interrupt.call(this,this.__data__,i.index))}}function to(t,e,n){return mo(t,Jc),t.namespace=e,t.id=n,t}function eo(t,e,n,i){var r=t.id,A=t.namespace;return W(t,"function"==typeof n?function(t,o,a){t[A][r].tween.set(e,i(n.call(t,t.__data__,o,a)))}:(n=i(n),function(t){t[A][r].tween.set(e,n)}))}function no(t){return null==t&&(t=""),function(){this.textContent=t}}function io(t){return null==t?"__transition__":"__transition_"+t+"__"}function ro(t,e,n,i,r){function A(t){var e=d.delay;if(s.t=e+c,e<=t)return o(t-e);s.c=o}function o(n){var r=M.active,A=M[r];A&&(A.timer.c=null,A.timer.t=NaN,--M.count,delete M[r],A.event&&A.event.interrupt.call(t,t.__data__,A.index));for(var o in M)if(+o<i){var h=M[o];h.timer.c=null,h.timer.t=NaN,--M.count,delete M[o]}s.c=a,Ot(function(){return s.c&&a(n||1)&&(s.c=null,s.t=NaN),1},0,c),M.active=i,d.event&&d.event.start.call(t,t.__data__,e),l=[],d.tween.forEach(function(n,i){(i=i.call(t,t.__data__,e))&&l.push(i)}),g=d.ease,u=d.duration}function a(r){for(var A=r/u,o=g(A),a=l.length;a>0;)l[--a].call(t,o);if(A>=1)return d.event&&d.event.end.call(t,t.__data__,e),--M.count?delete M[i]:delete t[n],1}var c,s,u,g,l,M=t[n]||(t[n]={active:0,count:0}),d=M[i];d||(c=r.time,s=Ot(A,0,c),d=M[i]={tween:new h,time:c,timer:s,delay:r.delay,duration:r.duration,ease:r.ease,index:e},r=null,++M.count)}function Ao(t,e,n){t.attr("transform",function(t){var i=e(t);return"translate("+(isFinite(i)?i:n(t))+",0)"})}function oo(t,e,n){t.attr("transform",function(t){var i=e(t);return"translate(0,"+(isFinite(i)?i:n(t))+")"})}function ao(t){return t.toISOString()}function co(t,e,n){function i(e){return t(e)}function r(t,n){var i=t[1]-t[0],r=i/n,A=lo.bisect($c,r);return A==$c.length?[e.year,iA(t.map(function(t){return t/31536e6}),n)[2]]:A?e[r/$c[A-1]<$c[A]/r?A-1:A]:[ns,iA(t,n)[2]]}return i.invert=function(e){return so(t.invert(e))},i.domain=function(e){return arguments.length?(t.domain(e),i):t.domain().map(so)},i.nice=function(t,e){function n(n){return!isNaN(n)&&!t.range(n,so(+n+1),e).length}var A=i.domain(),o=Wr(A),a=null==t?r(o,10):"number"==typeof t&&r(o,t);return a&&(t=a[0],e=a[1]),i.domain(Kr(A,e>1?{floor:function(e){for(;n(e=t.floor(e));)e=so(e-1);return e},ceil:function(e){for(;n(e=t.ceil(e));)e=so(+e+1);return e}}:t))},i.ticks=function(t,e){var n=Wr(i.domain()),A=null==t?r(n,10):"number"==typeof t?r(n,t):!t.range&&[{range:t},e];return A&&(t=A[0],e=A[1]),t.range(n[0],so(+n[1]+1),e<1?1:e)},i.tickFormat=function(){return n},i.copy=function(){return co(t.copy(),e,n)},eA(i,t)}function so(t){return new Date(t)}function uo(t){return JSON.parse(t.responseText)}function go(t){var e=fo.createRange();return e.selectNode(fo.body),e.createContextualFragment(t.responseText)}var lo={version:"3.5.17"},Mo=[].slice,ho=function(t){return Mo.call(t)},fo=this.document;if(fo)try{ho(fo.documentElement.childNodes)[0].nodeType}catch(t){ho=function(t){for(var e=t.length,n=new Array(e);e--;)n[e]=t[e];return n}}if(Date.now||(Date.now=function(){return+new Date}),fo)try{fo.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var Io=this.Element.prototype,Eo=Io.setAttribute,To=Io.setAttributeNS,No=this.CSSStyleDeclaration.prototype,yo=No.setProperty;Io.setAttribute=function(t,e){Eo.call(this,t,e+"")},Io.setAttributeNS=function(t,e,n){To.call(this,t,e,n+"")},No.setProperty=function(t,e,n){yo.call(this,t,e+"",n)}}lo.ascending=a,lo.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},lo.min=function(t,e){var n,i,r=-1,A=t.length;if(1===arguments.length){for(;++r<A;)if(null!=(i=t[r])&&i>=i){n=i;break}for(;++r<A;)null!=(i=t[r])&&n>i&&(n=i)}else{for(;++r<A;)if(null!=(i=e.call(t,t[r],r))&&i>=i){n=i;break}for(;++r<A;)null!=(i=e.call(t,t[r],r))&&n>i&&(n=i)}return n},lo.max=function(t,e){var n,i,r=-1,A=t.length;if(1===arguments.length){for(;++r<A;)if(null!=(i=t[r])&&i>=i){n=i;break}for(;++r<A;)null!=(i=t[r])&&i>n&&(n=i)}else{for(;++r<A;)if(null!=(i=e.call(t,t[r],r))&&i>=i){n=i;break}for(;++r<A;)null!=(i=e.call(t,t[r],r))&&i>n&&(n=i)}return n},lo.extent=function(t,e){var n,i,r,A=-1,o=t.length;if(1===arguments.length){for(;++A<o;)if(null!=(i=t[A])&&i>=i){n=r=i;break}for(;++A<o;)null!=(i=t[A])&&(n>i&&(n=i),r<i&&(r=i))}else{for(;++A<o;)if(null!=(i=e.call(t,t[A],A))&&i>=i){n=r=i;break}for(;++A<o;)null!=(i=e.call(t,t[A],A))&&(n>i&&(n=i),r<i&&(r=i))}return[n,r]},lo.sum=function(t,e){var n,i=0,r=t.length,A=-1;if(1===arguments.length)for(;++A<r;)s(n=+t[A])&&(i+=n);else for(;++A<r;)s(n=+e.call(t,t[A],A))&&(i+=n);return i},lo.mean=function(t,e){var n,i=0,r=t.length,A=-1,o=r;if(1===arguments.length)for(;++A<r;)s(n=c(t[A]))?i+=n:--o;else for(;++A<r;)s(n=c(e.call(t,t[A],A)))?i+=n:--o;if(o)return i/o},lo.quantile=function(t,e){var n=(t.length-1)*e+1,i=Math.floor(n),r=+t[i-1],A=n-i;return A?r+A*(t[i]-r):r},lo.median=function(t,e){var n,i=[],r=t.length,A=-1;if(1===arguments.length)for(;++A<r;)s(n=c(t[A]))&&i.push(n);else for(;++A<r;)s(n=c(e.call(t,t[A],A)))&&i.push(n);if(i.length)return lo.quantile(i.sort(a),.5)},lo.variance=function(t,e){var n,i,r=t.length,A=0,o=0,a=-1,u=0;if(1===arguments.length)for(;++a<r;)s(n=c(t[a]))&&(i=n-A,A+=i/++u,o+=i*(n-A));else for(;++a<r;)s(n=c(e.call(t,t[a],a)))&&(i=n-A,A+=i/++u,o+=i*(n-A));if(u>1)return o/(u-1)},lo.deviation=function(){var t=lo.variance.apply(this,arguments);return t?Math.sqrt(t):t};var po=u(a);lo.bisectLeft=po.left,lo.bisect=lo.bisectRight=po.right,lo.bisector=function(t){return u(1===t.length?function(e,n){return a(t(e),n)}:t)},lo.shuffle=function(t,e,n){(A=arguments.length)<3&&(n=t.length,A<2&&(e=0));for(var i,r,A=n-e;A;)r=Math.random()*A--|0,i=t[A+e],t[A+e]=t[r+e],t[r+e]=i;return t},lo.permute=function(t,e){for(var n=e.length,i=new Array(n);n--;)i[n]=t[e[n]];return i},lo.pairs=function(t){for(var e=0,n=t.length-1,i=t[0],r=new Array(n<0?0:n);e<n;)r[e]=[i,i=t[++e]];return r},lo.transpose=function(t){if(!(r=t.length))return[];for(var e=-1,n=lo.min(t,g),i=new Array(n);++e<n;)for(var r,A=-1,o=i[e]=new Array(r);++A<r;)o[A]=t[A][e];return i},lo.zip=function(){return lo.transpose(arguments)},lo.keys=function(t){var e=[];for(var n in t)e.push(n);return e},lo.values=function(t){var e=[];for(var n in t)e.push(t[n]);return e},lo.entries=function(t){var e=[];for(var n in t)e.push({key:n,value:t[n]});return e},lo.merge=function(t){for(var e,n,i,r=t.length,A=-1,o=0;++A<r;)o+=t[A].length;for(n=new Array(o);--r>=0;)for(i=t[r],e=i.length;--e>=0;)n[--o]=i[e];return n};var Co=Math.abs;lo.range=function(t,e,n){if(arguments.length<3&&(n=1,arguments.length<2&&(e=t,t=0)),(e-t)/n==1/0)throw new Error("infinite range");var i,r=[],A=l(Co(n)),o=-1;if(t*=A,e*=A,n*=A,n<0)for(;(i=t+n*++o)>e;)r.push(i/A);else for(;(i=t+n*++o)<e;)r.push(i/A);return r},lo.map=function(t,e){var n=new h;if(t instanceof h)t.forEach(function(t,e){n.set(t,e)});else if(Array.isArray(t)){var i,r=-1,A=t.length;if(1===arguments.length)for(;++r<A;)n.set(r,t[r]);else for(;++r<A;)n.set(e.call(t,i=t[r],r),i)}else for(var o in t)n.set(o,t[o]);return n};var Do="__proto__",xo="\0";M(h,{has:I,get:function(t){return this._[d(t)]},set:function(t,e){return this._[d(t)]=e},remove:E,keys:T,values:function(){var t=[];for(var e in this._)t.push(this._[e]);return t},entries:function(){var t=[];for(var e in this._)t.push({key:f(e),value:this._[e]});return t},size:N,empty:y,forEach:function(t){for(var e in this._)t.call(this,f(e),this._[e])}}),lo.nest=function(){function t(e,o,a){if(a>=A.length)return i?i.call(r,o):n?o.sort(n):o;for(var c,s,u,g,l=-1,M=o.length,d=A[a++],f=new h;++l<M;)(g=f.get(c=d(s=o[l])))?g.push(s):f.set(c,[s]);return e?(s=e(),u=function(n,i){s.set(n,t(e,i,a))}):(s={},u=function(n,i){s[n]=t(e,i,a)}),f.forEach(u),s}function e(t,n){if(n>=A.length)return t;var i=[],r=o[n++];return t.forEach(function(t,r){i.push({key:t,values:e(r,n)})}),r?i.sort(function(t,e){return r(t.key,e.key)}):i}var n,i,r={},A=[],o=[];return r.map=function(e,n){return t(n,e,0)},r.entries=function(n){return e(t(lo.map,n,0),0)},r.key=function(t){return A.push(t),r},r.sortKeys=function(t){return o[A.length-1]=t,r},r.sortValues=function(t){return n=t,r},r.rollup=function(t){return i=t,r},r},lo.set=function(t){var e=new p;if(t)for(var n=0,i=t.length;n<i;++n)e.add(t[n]);return e},M(p,{has:I,add:function(t){return this._[d(t+="")]=!0,t},remove:E,values:T,size:N,empty:y,forEach:function(t){for(var e in this._)t.call(this,f(e))}}),lo.behavior={},lo.rebind=function(t,e){for(var n,i=1,r=arguments.length;++i<r;)t[n=arguments[i]]=D(t,e,e[n]);return t};var Bo=["webkit","ms","moz","Moz","o","O"];lo.dispatch=function(){for(var t=new w,e=-1,n=arguments.length;++e<n;)t[arguments[e]]=m(t);return t},w.prototype.on=function(t,e){var n=t.indexOf("."),i="";if(n>=0&&(i=t.slice(n+1),t=t.slice(0,n)),t)return arguments.length<2?this[t].on(i):this[t].on(i,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(i,null);return this}},lo.event=null,lo.requote=function(t){return t.replace(wo,"\\$&")};var wo=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,mo={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var n in e)t[n]=e[n]},Qo=function(t,e){return e.querySelector(t)},vo=function(t,e){return e.querySelectorAll(t)},jo=function(t,e){var n=t.matches||t[x(t,"matchesSelector")];return(jo=function(t,e){return n.call(t,e)})(t,e)};"function"==typeof Sizzle&&(Qo=function(t,e){return Sizzle(t,e)[0]||null},vo=Sizzle,jo=Sizzle.matchesSelector),lo.selection=function(){return lo.select(fo.documentElement)};var Lo=lo.selection.prototype=[];Lo.select=function(t){var e,n,i,r,A=[];t=S(t);for(var o=-1,a=this.length;++o<a;){A.push(e=[]),e.parentNode=(i=this[o]).parentNode;for(var c=-1,s=i.length;++c<s;)(r=i[c])?(e.push(n=t.call(r,r.__data__,c,o)),n&&"__data__"in r&&(n.__data__=r.__data__)):e.push(null)}return L(A)},Lo.selectAll=function(t){var e,n,i=[];t=Y(t);for(var r=-1,A=this.length;++r<A;)for(var o=this[r],a=-1,c=o.length;++a<c;)(n=o[a])&&(i.push(e=ho(t.call(n,n.__data__,a,r))),e.parentNode=n);return L(i)};var So="http://www.w3.org/1999/xhtml",Yo={svg:"http://www.w3.org/2000/svg",xhtml:So,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};lo.ns={prefix:Yo,qualify:function(t){var e=t.indexOf(":"),n=t;return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),Yo.hasOwnProperty(n)?{space:Yo[n],local:t}:t}},Lo.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var n=this.node();return t=lo.ns.qualify(t),t.local?n.getAttributeNS(t.space,t.local):n.getAttribute(t)}for(e in t)this.each(b(e,t[e]));return this}return this.each(b(t,e))},Lo.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var n=this.node(),i=(t=U(t)).length,r=-1;if(e=n.classList){for(;++r<i;)if(!e.contains(t[r]))return!1}else for(e=n.getAttribute("class");++r<i;)if(!z(t[r]).test(e))return!1;return!0}for(e in t)this.each(F(e,t[e]));return this}return this.each(F(t,e))},Lo.style=function(t,e,n){var i=arguments.length;if(i<3){if("string"!=typeof t){i<2&&(e="");for(n in t)this.each(R(n,t[n],e));return this}if(i<2){var r=this.node();return o(r).getComputedStyle(r,null).getPropertyValue(t)}n=""}return this.each(R(t,e,n))},Lo.property=function(t,e){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(e in t)this.each(G(e,t[e]));return this}return this.each(G(t,e))},Lo.text=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}:null==t?function(){this.textContent=""}:function(){this.textContent=t}):this.node().textContent},Lo.html=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}:null==t?function(){this.innerHTML=""}:function(){this.innerHTML=t}):this.node().innerHTML},Lo.append=function(t){return t=H(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Lo.insert=function(t,e){return t=H(t),e=S(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},Lo.remove=function(){return this.each(J)},Lo.data=function(t,e){function n(t,n){var i,r,A,o=t.length,u=n.length,g=Math.min(o,u),l=new Array(u),M=new Array(u),d=new Array(o);if(e){var f,I=new h,E=new Array(o);for(i=-1;++i<o;)(r=t[i])&&(I.has(f=e.call(r,r.__data__,i))?d[i]=r:I.set(f,r),E[i]=f);for(i=-1;++i<u;)(r=I.get(f=e.call(n,A=n[i],i)))?!0!==r&&(l[i]=r,r.__data__=A):M[i]=P(A),I.set(f,!0);for(i=-1;++i<o;)i in E&&!0!==I.get(E[i])&&(d[i]=t[i])}else{for(i=-1;++i<g;)r=t[i],A=n[i],r?(r.__data__=A,l[i]=r):M[i]=P(A);for(;i<u;++i)M[i]=P(n[i]);for(;i<o;++i)d[i]=t[i]}M.update=l,M.parentNode=l.parentNode=d.parentNode=t.parentNode,a.push(M),c.push(l),s.push(d)}var i,r,A=-1,o=this.length;if(!arguments.length){for(t=new Array(o=(i=this[0]).length);++A<o;)(r=i[A])&&(t[A]=r.__data__);return t}var a=_([]),c=L([]),s=L([]);if("function"==typeof t)for(;++A<o;)n(i=this[A],t.call(i,i.parentNode.__data__,A));else for(;++A<o;)n(i=this[A],t);return c.enter=function(){return a},c.exit=function(){return s},c},Lo.datum=function(t){return arguments.length?this.property("__data__",t):this.property("__data__")},Lo.filter=function(t){var e,n,i,r=[];"function"!=typeof t&&(t=X(t));for(var A=0,o=this.length;A<o;A++){r.push(e=[]),e.parentNode=(n=this[A]).parentNode;for(var a=0,c=n.length;a<c;a++)(i=n[a])&&t.call(i,i.__data__,a,A)&&e.push(i)}return L(r)},Lo.order=function(){for(var t=-1,e=this.length;++t<e;)for(var n,i=this[t],r=i.length-1,A=i[r];--r>=0;)(n=i[r])&&(A&&A!==n.nextSibling&&A.parentNode.insertBefore(n,A),A=n);return this},Lo.sort=function(t){t=V.apply(this,arguments);for(var e=-1,n=this.length;++e<n;)this[e].sort(t);return this.order()},Lo.each=function(t){return W(this,function(e,n,i){t.call(e,e.__data__,n,i)})},Lo.call=function(t){var e=ho(arguments);return t.apply(e[0]=this,e),this},Lo.empty=function(){return!this.node()},Lo.node=function(){for(var t=0,e=this.length;t<e;t++)for(var n=this[t],i=0,r=n.length;i<r;i++){var A=n[i];if(A)return A}return null},Lo.size=function(){var t=0;return W(this,function(){++t}),t};var bo=[];lo.selection.enter=_,lo.selection.enter.prototype=bo,bo.append=Lo.append,bo.empty=Lo.empty,bo.node=Lo.node,bo.call=Lo.call,bo.size=Lo.size,bo.select=function(t){for(var e,n,i,r,A,o=[],a=-1,c=this.length;++a<c;){i=(r=this[a]).update,o.push(e=[]),e.parentNode=r.parentNode;for(var s=-1,u=r.length;++s<u;)(A=r[s])?(e.push(i[s]=n=t.call(r.parentNode,A.__data__,s,a)),n.__data__=A.__data__):e.push(null)}return L(o)},bo.insert=function(t,e){return arguments.length<2&&(e=Z(this)),Lo.insert.call(this,t,e)},lo.select=function(t){var e;return"string"==typeof t?(e=[Qo(t,fo)],e.parentNode=fo.documentElement):(e=[t],e.parentNode=A(t)),L([e])},lo.selectAll=function(t){var e;return"string"==typeof t?(e=ho(vo(t,fo)),e.parentNode=fo.documentElement):(e=ho(t),e.parentNode=null),L([e])},Lo.on=function(t,e,n){var i=arguments.length;if(i<3){if("string"!=typeof t){i<2&&(e=!1);for(n in t)this.each(K(n,t[n],e));return this}if(i<2)return(i=this.node()["__on"+t])&&i._;n=!1}return this.each(K(t,e,n))};var Oo=lo.map({mouseenter:"mouseover",mouseleave:"mouseout"});fo&&Oo.forEach(function(t){"on"+t in fo&&Oo.remove(t)});var zo,Uo=0;lo.mouse=function(t){return et(t,v())};var Fo=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;lo.touch=function(t,e,n){if(arguments.length<3&&(n=e,e=v().changedTouches),e)for(var i,r=0,A=e.length;r<A;++r)if((i=e[r]).identifier===n)return et(t,i)},lo.behavior.drag=function(){function t(){this.on("mousedown.drag",r).on("touchstart.drag",A)}function e(t,e,r,A,o){return function(){function a(){var t,n,i=e(l,d);i&&(t=i[0]-T[0],n=i[1]-T[1],h|=t|n,T=i,M({type:"drag",x:i[0]+s[0],y:i[1]+s[1],dx:t,dy:n}))}function c(){e(l,d)&&(I.on(A+f,null).on(o+f,null),E(h),M({type:"dragend"}))}var s,u=this,g=lo.event.target.correspondingElement||lo.event.target,l=u.parentNode,M=n.of(u,arguments),h=0,d=t(),f=".drag"+(null==d?"":"-"+d),I=lo.select(r(g)).on(A+f,a).on(o+f,c),E=tt(g),T=e(l,d);i?(s=i.apply(u,arguments),s=[s.x-T[0],s.y-T[1]]):s=[0,0],M({type:"dragstart"})}}var n=j(t,"drag","dragstart","dragend"),i=null,r=e(B,lo.mouse,o,"mousemove","mouseup"),A=e(nt,lo.touch,C,"touchmove","touchend");return t.origin=function(e){return arguments.length?(i=e,t):i},lo.rebind(t,n,"on")},lo.touches=function(t,e){return arguments.length<2&&(e=v().touches),e?ho(e).map(function(e){var n=et(t,e);return n.identifier=e.identifier,n}):[]};var ko=1e-6,Ro=ko*ko,Go=Math.PI,Ho=2*Go,Jo=Ho-ko,Po=Go/2,Xo=Go/180,Vo=180/Go,Wo=Math.SQRT2;lo.interpolateZoom=function(t,e){var n,i,r=t[0],A=t[1],o=t[2],a=e[0],c=e[1],s=e[2],u=a-r,g=c-A,l=u*u+g*g;if(l<Ro)i=Math.log(s/o)/Wo,n=function(t){return[r+t*u,A+t*g,o*Math.exp(Wo*t*i)]};else{var M=Math.sqrt(l),h=(s*s-o*o+4*l)/(2*o*2*M),d=(s*s-o*o-4*l)/(2*s*2*M),f=Math.log(Math.sqrt(h*h+1)-h),I=Math.log(Math.sqrt(d*d+1)-d);i=(I-f)/Wo,n=function(t){var e=t*i,n=ct(f),a=o/(2*M)*(n*st(Wo*e+f)-at(f));return[r+a*u,A+a*g,o*n/ct(Wo*e+f)]}}return n.duration=1e3*i,n},lo.behavior.zoom=function(){function t(t){t.on(v,g).on(Zo+".zoom",M).on("dblclick.zoom",h).on(Y,l)}function e(t){return[(t[0]-D.x)/D.k,(t[1]-D.y)/D.k]}function n(t){return[t[0]*D.k+D.x,t[1]*D.k+D.y]}function i(t){D.k=Math.max(B[0],Math.min(B[1],t))}function r(t,e){e=n(e),D.x+=t[0]-e[0],D.y+=t[1]-e[1]}function A(e,n,A,o){e.__chart__={x:D.x,y:D.y,k:D.k},i(Math.pow(2,o)),r(f=n,A),e=lo.select(e),w>0&&(e=e.transition().duration(w)),e.call(t.event)}function a(){y&&y.domain(N.range().map(function(t){return(t-D.x)/D.k}).map(N.invert)),C&&C.domain(p.range().map(function(t){return(t-D.y)/D.k}).map(p.invert))}function c(t){m++||t({type:"zoomstart"})}function s(t){a(),t({type:"zoom",scale:D.k,translate:[D.x,D.y]})}function u(t){--m||(t({type:"zoomend"}),f=null)}function g(){function t(){a=1,r(lo.mouse(i),l),s(A)}function n(){g.on(L,null).on(S,null),M(a),u(A)}var i=this,A=b.of(i,arguments),a=0,g=lo.select(o(i)).on(L,t).on(S,n),l=e(lo.mouse(i)),M=tt(i);Hc.call(i),c(A)}function l(){function t(){var t=lo.touches(h);return M=D.k,t.forEach(function(t){t.identifier in f&&(f[t.identifier]=e(t))}),t}function n(){var e=lo.event.target;lo.select(e).on(N,o).on(y,a),p.push(e);for(var n=lo.event.changedTouches,i=0,r=n.length;i<r;++i)f[n[i].identifier]=null;var c=t(),s=Date.now();if(1===c.length){if(s-T<500){var u=c[0];A(h,u,f[u.identifier],Math.floor(Math.log(D.k)/Math.LN2)+1),Q()}T=s}else if(c.length>1){var u=c[0],g=c[1],l=u[0]-g[0],M=u[1]-g[1];I=l*l+M*M}}function o(){var t,e,n,A,o=lo.touches(h);Hc.call(h);for(var a=0,c=o.length;a<c;++a,A=null)if(n=o[a],A=f[n.identifier]){if(e)break;t=n,e=A}if(A){var u=(u=n[0]-t[0])*u+(u=n[1]-t[1])*u,g=I&&Math.sqrt(u/I);t=[(t[0]+n[0])/2,(t[1]+n[1])/2],e=[(e[0]+A[0])/2,(e[1]+A[1])/2],i(g*M)}T=null,r(t,e),s(d)}function a(){if(lo.event.touches.length){for(var e=lo.event.changedTouches,n=0,i=e.length;n<i;++n)delete f[e[n].identifier];for(var r in f)return void t()}lo.selectAll(p).on(E,null),C.on(v,g).on(Y,l),x(),u(d)}var M,h=this,d=b.of(h,arguments),f={},I=0,E=".zoom-"+lo.event.changedTouches[0].identifier,N="touchmove"+E,y="touchend"+E,p=[],C=lo.select(h),x=tt(h);n(),c(d),C.on(v,null).on(Y,n)}function M(){var t=b.of(this,arguments);E?clearTimeout(E):(Hc.call(this),d=e(f=I||lo.mouse(this)),c(t)),E=setTimeout(function(){E=null,u(t)},50),Q(),i(Math.pow(2,.002*_o())*D.k),r(f,d),s(t)}function h(){var t=lo.mouse(this),n=Math.log(D.k)/Math.LN2;A(this,t,e(t),lo.event.shiftKey?Math.ceil(n)-1:Math.floor(n)+1)}var d,f,I,E,T,N,y,p,C,D={x:0,y:0,k:1},x=[960,500],B=Ko,w=250,m=0,v="mousedown.zoom",L="mousemove.zoom",S="mouseup.zoom",Y="touchstart.zoom",b=j(t,"zoomstart","zoom","zoomend");return Zo||(Zo="onwheel"in fo?(_o=function(){return-lo.event.deltaY*(lo.event.deltaMode?120:1)},"wheel"):"onmousewheel"in fo?(_o=function(){return lo.event.wheelDelta},"mousewheel"):(_o=function(){return-lo.event.detail},"MozMousePixelScroll")),t.event=function(t){t.each(function(){var t=b.of(this,arguments),e=D;Rc?lo.select(this).transition().each("start.zoom",function(){D=this.__chart__||{x:0,y:0,k:1},c(t)}).tween("zoom:zoom",function(){var n=x[0],i=x[1],r=f?f[0]:n/2,A=f?f[1]:i/2,o=lo.interpolateZoom([(r-D.x)/D.k,(A-D.y)/D.k,n/D.k],[(r-e.x)/e.k,(A-e.y)/e.k,n/e.k]);return function(e){var i=o(e),a=n/i[2];this.__chart__=D={x:r-i[0]*a,y:A-i[1]*a,k:a},s(t)}}).each("interrupt.zoom",function(){u(t)}).each("end.zoom",function(){u(t)}):(this.__chart__=D,c(t),s(t),u(t))})},t.translate=function(e){return arguments.length?(D={x:+e[0],y:+e[1],k:D.k},a(),t):[D.x,D.y]},t.scale=function(e){return arguments.length?(D={x:D.x,y:D.y,k:null},i(+e),a(),t):D.k},t.scaleExtent=function(e){return arguments.length?(B=null==e?Ko:[+e[0],+e[1]],t):B},t.center=function(e){return arguments.length?(I=e&&[+e[0],+e[1]],t):I},t.size=function(e){return arguments.length?(x=e&&[+e[0],+e[1]],t):x},t.duration=function(e){return arguments.length?(w=+e,t):w},t.x=function(e){return arguments.length?(y=e,N=e.copy(),D={x:0,y:0,k:1},t):y},t.y=function(e){return arguments.length?(C=e,p=e.copy(),D={x:0,y:0,k:1},t):C},lo.rebind(t,b,"on")};var _o,Zo,Ko=[0,1/0];lo.color=gt,gt.prototype.toString=function(){return this.rgb()+""},lo.hsl=lt;var qo=lt.prototype=new gt;qo.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new lt(this.h,this.s,this.l/t)},qo.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new lt(this.h,this.s,t*this.l)},qo.rgb=function(){return Mt(this.h,this.s,this.l)},lo.hcl=ht;var $o=ht.prototype=new gt;$o.brighter=function(t){return new ht(this.h,this.c,Math.min(100,this.l+ta*(arguments.length?t:1)))},$o.darker=function(t){return new ht(this.h,this.c,Math.max(0,this.l-ta*(arguments.length?t:1)))},$o.rgb=function(){return dt(this.h,this.c,this.l).rgb()},lo.lab=ft;var ta=18,ea=.95047,na=1,ia=1.08883,ra=ft.prototype=new gt;ra.brighter=function(t){return new ft(Math.min(100,this.l+ta*(arguments.length?t:1)),this.a,this.b)},ra.darker=function(t){return new ft(Math.max(0,this.l-ta*(arguments.length?t:1)),this.a,this.b)},ra.rgb=function(){return It(this.l,this.a,this.b)},lo.rgb=pt;var Aa=pt.prototype=new gt;Aa.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,n=this.g,i=this.b,r=30;return e||n||i?(e&&e<r&&(e=r),n&&n<r&&(n=r),i&&i<r&&(i=r),new pt(Math.min(255,e/t),Math.min(255,n/t),Math.min(255,i/t))):new pt(r,r,r)},Aa.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new pt(t*this.r,t*this.g,t*this.b)},Aa.hsl=function(){return wt(this.r,this.g,this.b)},Aa.toString=function(){return"#"+xt(this.r)+xt(this.g)+xt(this.b)};var oa=lo.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});oa.forEach(function(t,e){oa.set(t,Ct(e))}),lo.functor=jt,lo.xhr=Lt(C),lo.dsv=function(t,e){function n(t,n,A){arguments.length<3&&(A=n,n=null);var o=St(t,e,null==n?i:r(n),A);return o.row=function(t){return arguments.length?o.response(null==(n=t)?i:r(t)):n},o}function i(t){return n.parse(t.responseText)}function r(t){return function(e){return n.parse(e.responseText,t)}}function A(e){return e.map(o).join(t)}function o(t){return a.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}var a=new RegExp('["'+t+"\n]"),c=t.charCodeAt(0);return n.parse=function(t,e){var i;return n.parseRows(t,function(t,n){if(i)return i(t,n-1);var r=new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}");i=e?function(t,n){return e(r(t),n)}:r})},n.parseRows=function(t,e){function n(){if(u>=s)return o;if(r)return r=!1,A;var e=u;if(34===t.charCodeAt(e)){for(var n=e;n++<s;)if(34===t.charCodeAt(n)){if(34!==t.charCodeAt(n+1))break;++n}u=n+2;var i=t.charCodeAt(n+1);return 13===i?(r=!0,10===t.charCodeAt(n+2)&&++u):10===i&&(r=!0),t.slice(e+1,n).replace(/""/g,'"')}for(;u<s;){var i=t.charCodeAt(u++),a=1;if(10===i)r=!0;else if(13===i)r=!0,10===t.charCodeAt(u)&&(++u,++a);else if(i!==c)continue;return t.slice(e,u-a)}return t.slice(e)}for(var i,r,A={},o={},a=[],s=t.length,u=0,g=0;(i=n())!==o;){for(var l=[];i!==A&&i!==o;)l.push(i),i=n();e&&null==(l=e(l,g++))||a.push(l)}return a},n.format=function(e){if(Array.isArray(e[0]))return n.formatRows(e);var i=new p,r=[];return e.forEach(function(t){for(var e in t)i.has(e)||r.push(i.add(e))}),[r.map(o).join(t)].concat(e.map(function(e){return r.map(function(t){return o(e[t])}).join(t)})).join("\n")},n.formatRows=function(t){return t.map(A).join("\n")},n},lo.csv=lo.dsv(",","text/csv"),lo.tsv=lo.dsv("\t","text/tab-separated-values");var aa,ca,sa,ua,ga=this[x(this,"requestAnimationFrame")]||function(t){setTimeout(t,17)};lo.timer=function(){Ot.apply(this,arguments)},lo.timer.flush=function(){Ut(),Ft()},lo.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var la=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(Rt);lo.formatPrefix=function(t,e){var n=0;return(t=+t)&&(t<0&&(t*=-1),e&&(t=lo.round(t,kt(t,e))),n=1+Math.floor(1e-12+Math.log(t)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),la[8+n/3]};var Ma=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,ha=lo.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(t,e){return(t=lo.round(t,kt(t,e))).toFixed(Math.max(0,Math.min(20,kt(t*(1+1e-15),e))))}}),da=lo.time={},fa=Date;Jt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){Ia.setUTCDate.apply(this._,arguments)},setDay:function(){Ia.setUTCDay.apply(this._,arguments)},setFullYear:function(){Ia.setUTCFullYear.apply(this._,arguments)},setHours:function(){Ia.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Ia.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Ia.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Ia.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Ia.setUTCSeconds.apply(this._,arguments)},setTime:function(){Ia.setTime.apply(this._,arguments)}};var Ia=Date.prototype;da.year=Pt(function(t){return t=da.day(t),t.setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),da.years=da.year.range,da.years.utc=da.year.utc.range,da.day=Pt(function(t){var e=new fa(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e},function(t,e){t.setDate(t.getDate()+e)},function(t){return t.getDate()-1}),da.days=da.day.range,da.days.utc=da.day.utc.range,da.dayOfYear=function(t){var e=da.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(t,e){e=7-e;var n=da[t]=Pt(function(t){return(t=da.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,e){t.setDate(t.getDate()+7*Math.floor(e))},function(t){var n=da.year(t).getDay();return Math.floor((da.dayOfYear(t)+(n+e)%7)/7)-(n!==e)});da[t+"s"]=n.range,da[t+"s"].utc=n.utc.range,da[t+"OfYear"]=function(t){var n=da.year(t).getDay();return Math.floor((da.dayOfYear(t)+(n+e)%7)/7)}}),da.week=da.sunday,da.weeks=da.sunday.range,da.weeks.utc=da.sunday.utc.range,da.weekOfYear=da.sundayOfYear;var Ea={"-":"",_:" ",0:"0"},Ta=/^\s*\d+/,Na=/^%/;lo.locale=function(t){return{numberFormat:Gt(t),timeFormat:Vt(t)}};var ya=lo.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});lo.format=ya.numberFormat,lo.geo={},he.prototype={s:0,t:0,add:function(t){de(t,this.t,pa),de(pa.s,this.s,this),this.s?this.t+=pa.t:this.s=pa.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var pa=new he;lo.geo.stream=function(t,e){t&&Ca.hasOwnProperty(t.type)?Ca[t.type](t,e):fe(t,e)};var Ca={Feature:function(t,e){fe(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,i=-1,r=n.length;++i<r;)fe(n[i].geometry,e)}},Da={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,i=-1,r=n.length;++i<r;)t=n[i],e.point(t[0],t[1],t[2])},LineString:function(t,e){Ie(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,i=-1,r=n.length;++i<r;)Ie(n[i],e,0)},Polygon:function(t,e){Ee(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,i=-1,r=n.length;++i<r;)Ee(n[i],e)},GeometryCollection:function(t,e){for(var n=t.geometries,i=-1,r=n.length;++i<r;)fe(n[i],e)}};lo.geo.area=function(t){return xa=0,lo.geo.stream(t,wa),xa};var xa,Ba=new he,wa={sphere:function(){xa+=4*Go},point:B,lineStart:B,lineEnd:B,polygonStart:function(){Ba.reset(),wa.lineStart=Te},polygonEnd:function(){var t=2*Ba;xa+=t<0?4*Go+t:t,wa.lineStart=wa.lineEnd=wa.point=B}};lo.geo.bounds=function(){function t(t,e){T.push(N=[u=t,l=t]),e<g&&(g=e),e>M&&(M=e)}function e(e,n){var i=Ne([e*Xo,n*Xo]);if(I){var r=pe(I,i),A=[r[1],-r[0],0],o=pe(A,r);xe(o),o=Be(o);var c=e-h,s=c>0?1:-1,d=o[0]*Vo*s,f=Co(c)>180;if(f^(s*h<d&&d<s*e)){var E=o[1]*Vo;E>M&&(M=E)}else if(d=(d+360)%360-180,f^(s*h<d&&d<s*e)){var E=-o[1]*Vo;E<g&&(g=E)}else n<g&&(g=n),n>M&&(M=n);f?e<h?a(u,e)>a(u,l)&&(l=e):a(e,l)>a(u,l)&&(u=e):l>=u?(e<u&&(u=e),e>l&&(l=e)):e>h?a(u,e)>a(u,l)&&(l=e):a(e,l)>a(u,l)&&(u=e)}else t(e,n);I=i,h=e}function n(){y.point=e}function i(){N[0]=u,N[1]=l,y.point=t,I=null}function r(t,n){if(I){var i=t-h;E+=Co(i)>180?i+(i>0?360:-360):i}else d=t,f=n;wa.point(t,n),e(t,n)}function A(){wa.lineStart()}function o(){r(d,f),wa.lineEnd(),Co(E)>ko&&(u=-(l=180)),N[0]=u,N[1]=l,I=null}function a(t,e){return(e-=t)<0?e+360:e}function c(t,e){return t[0]-e[0]}function s(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}var u,g,l,M,h,d,f,I,E,T,N,y={point:t,lineStart:n,lineEnd:i,polygonStart:function(){y.point=r,y.lineStart=A,y.lineEnd=o,E=0,wa.polygonStart()},polygonEnd:function(){wa.polygonEnd(),y.point=t,y.lineStart=n,y.lineEnd=i,Ba<0?(u=-(l=180),g=-(M=90)):E>ko?M=90:E<-ko&&(g=-90),N[0]=u,N[1]=l}};return function(t){M=l=-(u=g=1/0),T=[],lo.geo.stream(t,y);var e=T.length;if(e){T.sort(c);for(var n,i=1,r=T[0],A=[r];i<e;++i)n=T[i],s(n[0],r)||s(n[1],r)?(a(r[0],n[1])>a(r[0],r[1])&&(r[1]=n[1]),a(n[0],r[1])>a(r[0],r[1])&&(r[0]=n[0])):A.push(r=n);for(var o,n,h=-1/0,e=A.length-1,i=0,r=A[e];i<=e;r=n,++i)n=A[i],(o=a(r[1],n[0]))>h&&(h=o,u=n[0],l=r[1])}return T=N=null,u===1/0||g===1/0?[[NaN,NaN],[NaN,NaN]]:[[u,g],[l,M]]}}(),lo.geo.centroid=function(t){ma=Qa=va=ja=La=Sa=Ya=ba=Oa=za=Ua=0,lo.geo.stream(t,Fa);var e=Oa,n=za,i=Ua,r=e*e+n*n+i*i;return r<Ro&&(e=Sa,n=Ya,i=ba,Qa<ko&&(e=va,n=ja,i=La),(r=e*e+n*n+i*i)<Ro)?[NaN,NaN]:[Math.atan2(n,e)*Vo,ot(i/Math.sqrt(r))*Vo]};var ma,Qa,va,ja,La,Sa,Ya,ba,Oa,za,Ua,Fa={sphere:B,point:me,lineStart:ve,lineEnd:je,polygonStart:function(){Fa.lineStart=Le},polygonEnd:function(){Fa.lineStart=ve}},ka=Ue(Ye,Ge,Je,[-Go,-Go/2]),Ra=1e9;lo.geo.clipExtent=function(){var t,e,n,i,r,A,o={stream:function(t){return r&&(r.valid=!1),r=A(t),r.valid=!0,r},extent:function(a){return arguments.length?(A=We(t=+a[0][0],e=+a[0][1],n=+a[1][0],i=+a[1][1]),r&&(r.valid=!1,r=null),o):[[t,e],[n,i]]}};return o.extent([[0,0],[960,500]])},(lo.geo.conicEqualArea=function(){return _e(Ze)}).raw=Ze,lo.geo.albers=function(){return lo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},lo.geo.albersUsa=function(){function t(t){var A=t[0],o=t[1];return e=null,n(A,o),e||(i(A,o),e)||r(A,o),e}var e,n,i,r,A=lo.geo.albers(),o=lo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=lo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(t,n){e=[t,n]}};return t.invert=function(t){var e=A.scale(),n=A.translate(),i=(t[0]-n[0])/e,r=(t[1]-n[1])/e;return(r>=.12&&r<.234&&i>=-.425&&i<-.214?o:r>=.166&&r<.234&&i>=-.214&&i<-.115?a:A).invert(t)},t.stream=function(t){var e=A.stream(t),n=o.stream(t),i=a.stream(t);return{point:function(t,r){e.point(t,r),n.point(t,r),i.point(t,r)},sphere:function(){e.sphere(),n.sphere(),i.sphere()},lineStart:function(){e.lineStart(),n.lineStart(),i.lineStart()},lineEnd:function(){e.lineEnd(),n.lineEnd(),i.lineEnd()},polygonStart:function(){e.polygonStart(),n.polygonStart(),i.polygonStart()},polygonEnd:function(){e.polygonEnd(),n.polygonEnd(),i.polygonEnd()}}},t.precision=function(e){return arguments.length?(A.precision(e),o.precision(e),a.precision(e),t):A.precision()},t.scale=function(e){return arguments.length?(A.scale(e),o.scale(.35*e),a.scale(e),t.translate(A.translate())):A.scale()},t.translate=function(e){if(!arguments.length)return A.translate();var s=A.scale(),u=+e[0],g=+e[1];return n=A.translate(e).clipExtent([[u-.455*s,g-.238*s],[u+.455*s,g+.238*s]]).stream(c).point,i=o.translate([u-.307*s,g+.201*s]).clipExtent([[u-.425*s+ko,g+.12*s+ko],[u-.214*s-ko,g+.234*s-ko]]).stream(c).point,r=a.translate([u-.205*s,g+.212*s]).clipExtent([[u-.214*s+ko,g+.166*s+ko],[u-.115*s-ko,g+.234*s-ko]]).stream(c).point,t},t.scale(1070)};var Ga,Ha,Ja,Pa,Xa,Va,Wa={point:B,lineStart:B,lineEnd:B,polygonStart:function(){Ha=0,Wa.lineStart=Ke},polygonEnd:function(){Wa.lineStart=Wa.lineEnd=Wa.point=B,Ga+=Co(Ha/2)}},_a={point:qe,lineStart:B,lineEnd:B,polygonStart:B,polygonEnd:B},Za={point:en,lineStart:nn,lineEnd:rn,polygonStart:function(){Za.lineStart=An},polygonEnd:function(){Za.point=en,Za.lineStart=nn,Za.lineEnd=rn}};lo.geo.path=function(){function t(t){return t&&("function"==typeof a&&A.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=r(A)),lo.geo.stream(t,o)),A.result()}function e(){return o=null,t}var n,i,r,A,o,a=4.5;return t.area=function(t){return Ga=0,lo.geo.stream(t,r(Wa)),Ga},t.centroid=function(t){return va=ja=La=Sa=Ya=ba=Oa=za=Ua=0,lo.geo.stream(t,r(Za)),Ua?[Oa/Ua,za/Ua]:ba?[Sa/ba,Ya/ba]:La?[va/La,ja/La]:[NaN,NaN]},t.bounds=function(t){return Xa=Va=-(Ja=Pa=1/0),lo.geo.stream(t,r(_a)),[[Ja,Pa],[Xa,Va]]},t.projection=function(t){return arguments.length?(r=(n=t)?t.stream||cn(t):C,e()):n},t.context=function(t){return arguments.length?(A=null==(i=t)?new $e:new on(t),"function"!=typeof a&&A.pointRadius(a),e()):i},t.pointRadius=function(e){return arguments.length?(a="function"==typeof e?e:(A.pointRadius(+e),+e),t):a},t.projection(lo.geo.albersUsa()).context(null)},lo.geo.transform=function(t){return{stream:function(e){var n=new sn(e);for(var i in t)n[i]=t[i];return n}}},sn.prototype={point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},lo.geo.projection=gn,lo.geo.projectionMutator=ln,(lo.geo.equirectangular=function(){return gn(hn)}).raw=hn.invert=hn,lo.geo.rotation=function(t){function e(e){return e=t(e[0]*Xo,e[1]*Xo),e[0]*=Vo,e[1]*=Vo,e}return t=fn(t[0]%360*Xo,t[1]*Xo,t.length>2?t[2]*Xo:0),e.invert=function(e){return e=t.invert(e[0]*Xo,e[1]*Xo),e[0]*=Vo,e[1]*=Vo,e},e},dn.invert=hn,lo.geo.circle=function(){function t(){var t="function"==typeof i?i.apply(this,arguments):i,e=fn(-t[0]*Xo,-t[1]*Xo,0).invert,r=[];return n(null,null,1,{point:function(t,n){r.push(t=e(t,n)),t[0]*=Vo,t[1]*=Vo}}),{type:"Polygon",coordinates:[r]}}var e,n,i=[0,0],r=6;return t.origin=function(e){return arguments.length?(i=e,t):i},t.angle=function(i){return arguments.length?(n=Nn((e=+i)*Xo,r*Xo),t):e},t.precision=function(i){return arguments.length?(n=Nn(e*Xo,(r=+i)*Xo),t):r},t.angle(90)},lo.geo.distance=function(t,e){var n,i=(e[0]-t[0])*Xo,r=t[1]*Xo,A=e[1]*Xo,o=Math.sin(i),a=Math.cos(i),c=Math.sin(r),s=Math.cos(r),u=Math.sin(A),g=Math.cos(A);return Math.atan2(Math.sqrt((n=g*o)*n+(n=s*u-c*g*a)*n),c*u+s*g*a)},lo.geo.graticule=function(){function t(){return{type:"MultiLineString",coordinates:e()}}function e(){return lo.range(Math.ceil(A/f)*f,r,f).map(l).concat(lo.range(Math.ceil(s/I)*I,c,I).map(M)).concat(lo.range(Math.ceil(i/h)*h,n,h).filter(function(t){return Co(t%f)>ko}).map(u)).concat(lo.range(Math.ceil(a/d)*d,o,d).filter(function(t){return Co(t%I)>ko}).map(g))}var n,i,r,A,o,a,c,s,u,g,l,M,h=10,d=h,f=90,I=360,E=2.5;return t.lines=function(){return e().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[l(A).concat(M(c).slice(1),l(r).reverse().slice(1),M(s).reverse().slice(1))]}},t.extent=function(e){return arguments.length?t.majorExtent(e).minorExtent(e):t.minorExtent()},t.majorExtent=function(e){return arguments.length?(A=+e[0][0],r=+e[1][0],s=+e[0][1],c=+e[1][1],A>r&&(e=A,A=r,r=e),s>c&&(e=s,s=c,c=e),t.precision(E)):[[A,s],[r,c]]},t.minorExtent=function(e){return arguments.length?(i=+e[0][0],n=+e[1][0],a=+e[0][1],o=+e[1][1],i>n&&(e=i,i=n,n=e),a>o&&(e=a,a=o,o=e),t.precision(E)):[[i,a],[n,o]]},t.step=function(e){return arguments.length?t.majorStep(e).minorStep(e):t.minorStep()},t.majorStep=function(e){return arguments.length?(f=+e[0],I=+e[1],t):[f,I]},t.minorStep=function(e){return arguments.length?(h=+e[0],d=+e[1],t):[h,d]},t.precision=function(e){return arguments.length?(E=+e,u=pn(a,o,90),g=Cn(i,n,E),l=pn(s,c,90),M=Cn(A,r,E),t):E},t.majorExtent([[-180,-90+ko],[180,90-ko]]).minorExtent([[-180,-80-ko],[180,80+ko]])},lo.geo.greatArc=function(){function t(){return{type:"LineString",coordinates:[e||i.apply(this,arguments),n||r.apply(this,arguments)]}}var e,n,i=Dn,r=xn;return t.distance=function(){return lo.geo.distance(e||i.apply(this,arguments),n||r.apply(this,arguments))},t.source=function(n){return arguments.length?(i=n,e="function"==typeof n?null:n,t):i},t.target=function(e){return arguments.length?(r=e,n="function"==typeof e?null:e,t):r},t.precision=function(){return arguments.length?t:0},t},lo.geo.interpolate=function(t,e){return Bn(t[0]*Xo,t[1]*Xo,e[0]*Xo,e[1]*Xo)},lo.geo.length=function(t){return Ka=0,lo.geo.stream(t,qa),Ka};var Ka,qa={sphere:B,point:B,lineStart:wn,lineEnd:B,polygonStart:B,polygonEnd:B},$a=mn(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(lo.geo.azimuthalEqualArea=function(){return gn($a)}).raw=$a;var tc=mn(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},C);(lo.geo.azimuthalEquidistant=function(){return gn(tc)}).raw=tc,(lo.geo.conicConformal=function(){return _e(Qn)}).raw=Qn,(lo.geo.conicEquidistant=function(){return _e(vn)}).raw=vn;var ec=mn(function(t){return 1/t},Math.atan);(lo.geo.gnomonic=function(){return gn(ec)}).raw=ec,jn.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Po]},(lo.geo.mercator=function(){return Ln(jn)}).raw=jn;var nc=mn(function(){return 1},Math.asin);(lo.geo.orthographic=function(){return gn(nc)}).raw=nc;var ic=mn(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(lo.geo.stereographic=function(){return gn(ic)}).raw=ic,Sn.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Po]},(lo.geo.transverseMercator=function(){var t=Ln(Sn),e=t.center,n=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])},t.rotate=function(t){return t?n([t[0],t[1],t.length>2?t[2]+90:90]):(t=n(),[t[0],t[1],t[2]-90])},n([0,0,90])}).raw=Sn,lo.geom={},lo.geom.hull=function(t){function e(t){if(t.length<3)return[];var e,r=jt(n),A=jt(i),o=t.length,a=[],c=[];for(e=0;e<o;e++)a.push([+r.call(this,t[e],e),+A.call(this,t[e],e),e]);for(a.sort(zn),e=0;e<o;e++)c.push([a[e][0],-a[e][1]]);var s=On(a),u=On(c),g=u[0]===s[0],l=u[u.length-1]===s[s.length-1],M=[];for(e=s.length-1;e>=0;--e)M.push(t[a[s[e]][2]]);for(e=+g;e<u.length-l;++e)M.push(t[a[u[e]][2]]);return M}var n=Yn,i=bn;return arguments.length?e(t):(e.x=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(i=t,e):i},e)},lo.geom.polygon=function(t){return mo(t,rc),t};var rc=lo.geom.polygon.prototype=[];rc.area=function(){for(var t,e=-1,n=this.length,i=this[n-1],r=0;++e<n;)t=i,i=this[e],r+=t[1]*i[0]-t[0]*i[1];return.5*r},rc.centroid=function(t){var e,n,i=-1,r=this.length,A=0,o=0,a=this[r-1];for(arguments.length||(t=-1/(6*this.area()));++i<r;)e=a,a=this[i],n=e[0]*a[1]-a[0]*e[1],A+=(e[0]+a[0])*n,o+=(e[1]+a[1])*n;return[A*t,o*t]},rc.clip=function(t){for(var e,n,i,r,A,o,a=kn(t),c=-1,s=this.length-kn(this),u=this[s-1];++c<s;){for(e=t.slice(),t.length=0,r=this[c],A=e[(i=e.length-a)-1],n=-1;++n<i;)o=e[n],Un(o,u,r)?(Un(A,u,r)||t.push(Fn(A,o,u,r)),t.push(o)):Un(A,u,r)&&t.push(Fn(A,o,u,r)),A=o;a&&t.push(t[0]),u=r}return t};var Ac,oc,ac,cc,sc,uc=[],gc=[];Wn.prototype.prepare=function(){for(var t,e=this.edges,n=e.length;n--;)t=e[n].edge,t.b&&t.a||e.splice(n,1);return e.sort(Zn),e.length},oi.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},ai.prototype={insert:function(t,e){var n,i,r;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;n=t}else this._?(t=gi(this._),e.P=null,e.N=t,t.P=t.L=e,n=t):(e.P=e.N=null,this._=e,n=null);for(e.L=e.R=null,e.U=n,e.C=!0,t=e;n&&n.C;)i=n.U,n===i.L?(r=i.R,r&&r.C?(n.C=r.C=!1,i.C=!0,t=i):(t===n.R&&(si(this,n),t=n,n=t.U),n.C=!1,i.C=!0,ui(this,i))):(r=i.L,r&&r.C?(n.C=r.C=!1,i.C=!0,t=i):(t===n.L&&(ui(this,n),t=n,n=t.U),n.C=!1,i.C=!0,si(this,i))),n=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,n,i,r=t.U,A=t.L,o=t.R;if(n=A?o?gi(o):A:o,r?r.L===t?r.L=n:r.R=n:this._=n,A&&o?(i=n.C,n.C=t.C,n.L=A,A.U=n,n!==o?(r=n.U,n.U=t.U,t=n.R,r.L=t,n.R=o,o.U=n):(n.U=r,r=n,t=n.R)):(i=t.C,t=n),t&&(t.U=r),!i){if(t&&t.C)return void(t.C=!1);do{if(t===this._)break;if(t===r.L){if(e=r.R,e.C&&(e.C=!1,r.C=!0,si(this,r),e=r.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,ui(this,e),e=r.R),e.C=r.C,r.C=e.R.C=!1,si(this,r),t=this._;break}}else if(e=r.L,e.C&&(e.C=!1,r.C=!0,ui(this,r),e=r.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,si(this,e),e=r.L),e.C=r.C,r.C=e.L.C=!1,ui(this,r),t=this._;break}e.C=!0,t=r,r=r.U}while(!t.C);t&&(t.C=!1)}}},lo.geom.voronoi=function(t){function e(t){var e=new Array(t.length),i=a[0][0],r=a[0][1],A=a[1][0],o=a[1][1];return li(n(t),a).cells.forEach(function(n,a){var c=n.edges,s=n.site;(e[a]=c.length?c.map(function(t){var e=t.start();return[e.x,e.y]}):s.x>=i&&s.x<=A&&s.y>=r&&s.y<=o?[[i,o],[A,o],[A,r],[i,r]]:[]).point=t[a]}),e}function n(t){return t.map(function(t,e){return{x:Math.round(A(t,e)/ko)*ko,y:Math.round(o(t,e)/ko)*ko,i:e}})}var i=Yn,r=bn,A=i,o=r,a=lc;return t?e(t):(e.links=function(t){return li(n(t)).edges.filter(function(t){return t.l&&t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},e.triangles=function(t){var e=[];return li(n(t)).cells.forEach(function(n,i){for(var r,A=n.site,o=n.edges.sort(Zn),a=-1,c=o.length,s=o[c-1].edge,u=s.l===A?s.r:s.l;++a<c;)s,r=u,s=o[a].edge,u=s.l===A?s.r:s.l,i<r.i&&i<u.i&&hi(A,r,u)<0&&e.push([t[i],t[r.i],t[u.i]])}),e},e.x=function(t){return arguments.length?(A=jt(i=t),e):i},e.y=function(t){return arguments.length?(o=jt(r=t),e):r},e.clipExtent=function(t){return arguments.length?(a=null==t?lc:t,e):a===lc?null:a},e.size=function(t){return arguments.length?e.clipExtent(t&&[[0,0],t]):a===lc?null:a&&a[1]},e)};var lc=[[-1e6,-1e6],[1e6,1e6]];lo.geom.delaunay=function(t){return lo.geom.voronoi().triangles(t)},lo.geom.quadtree=function(t,e,n,i,r){function A(t){function A(t,e,n,i,r,A,o,a){if(!isNaN(n)&&!isNaN(i))if(t.leaf){var c=t.x,u=t.y;if(null!=c)if(Co(c-n)+Co(u-i)<.01)s(t,e,n,i,r,A,o,a);else{var g=t.point;t.x=t.y=t.point=null,s(t,g,c,u,r,A,o,a),s(t,e,n,i,r,A,o,a)}else t.x=n,t.y=i,t.point=e}else s(t,e,n,i,r,A,o,a)}function s(t,e,n,i,r,o,a,c){var s=.5*(r+a),u=.5*(o+c),g=n>=s,l=i>=u,M=l<<1|g;t.leaf=!1,t=t.nodes[M]||(t.nodes[M]=Ii()),g?r=s:a=s,l?o=u:c=u,A(t,e,n,i,r,o,a,c)}var u,g,l,M,h,d,f,I,E,T=jt(a),N=jt(c);if(null!=e)d=e,f=n,I=i,E=r;else if(I=E=-(d=f=1/0),g=[],l=[],h=t.length,o)for(M=0;M<h;++M)u=t[M],u.x<d&&(d=u.x),u.y<f&&(f=u.y),u.x>I&&(I=u.x),u.y>E&&(E=u.y),g.push(u.x),l.push(u.y);else for(M=0;M<h;++M){var y=+T(u=t[M],M),p=+N(u,M);y<d&&(d=y),p<f&&(f=p),y>I&&(I=y),p>E&&(E=p),g.push(y),l.push(p)}var C=I-d,D=E-f;C>D?E=f+C:I=d+D;var x=Ii();if(x.add=function(t){A(x,t,+T(t,++M),+N(t,M),d,f,I,E)},x.visit=function(t){Ei(t,x,d,f,I,E)},x.find=function(t){return Ti(x,t[0],t[1],d,f,I,E)},M=-1,null==e){for(;++M<h;)A(x,t[M],g[M],l[M],d,f,I,E);--M}else t.forEach(x.add);return g=l=t=u=null,x}var o,a=Yn,c=bn;return(o=arguments.length)?(a=di,c=fi,3===o&&(r=n,i=e,n=e=0),A(t)):(A.x=function(t){return arguments.length?(a=t,A):a},A.y=function(t){return arguments.length?(c=t,A):c},A.extent=function(t){return arguments.length?(null==t?e=n=i=r=null:(e=+t[0][0],n=+t[0][1],i=+t[1][0],r=+t[1][1]),A):null==e?null:[[e,n],[i,r]]},A.size=function(t){return arguments.length?(null==t?e=n=i=r=null:(e=n=0,i=+t[0],r=+t[1]),A):null==e?null:[i-e,r-n]},A)},lo.interpolateRgb=Ni,lo.interpolateObject=yi,lo.interpolateNumber=pi,lo.interpolateString=Ci;var Mc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,hc=new RegExp(Mc.source,"g");lo.interpolate=Di,lo.interpolators=[function(t,e){var n=typeof e;return("string"===n?oa.has(e.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(e)?Ni:Ci:e instanceof gt?Ni:Array.isArray(e)?xi:"object"===n&&isNaN(e)?yi:pi)(t,e)}],lo.interpolateArray=xi;var dc=function(){return C},fc=lo.map({linear:dc,poly:Li,quad:function(){return Qi},cubic:function(){return vi},sin:function(){return Si},exp:function(){return Yi},circle:function(){return bi},elastic:Oi,back:zi,bounce:function(){return Ui}}),Ic=lo.map({in:C,out:wi,"in-out":mi,"out-in":function(t){return mi(wi(t))}});lo.ease=function(t){var e=t.indexOf("-"),n=e>=0?t.slice(0,e):t,i=e>=0?t.slice(e+1):"in";return n=fc.get(n)||dc,i=Ic.get(i)||C,Bi(i(n.apply(null,Mo.call(arguments,1))))},lo.interpolateHcl=Fi,lo.interpolateHsl=ki,lo.interpolateLab=Ri,lo.interpolateRound=Gi,lo.transform=function(t){var e=fo.createElementNS(lo.ns.prefix.svg,"g");return(lo.transform=function(t){if(null!=t){e.setAttribute("transform",t);var n=e.transform.baseVal.consolidate()}return new Hi(n?n.matrix:Ec)})(t)},Hi.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var Ec={a:1,b:0,c:0,d:1,e:0,f:0};lo.interpolateTransform=qi,lo.layout={},lo.layout.bundle=function(){return function(t){for(var e=[],n=-1,i=t.length;++n<i;)e.push(er(t[n]));return e}},lo.layout.chord=function(){function t(){var t,s,g,l,M,h={},d=[],f=lo.range(A),I=[];for(n=[],i=[],t=0,l=-1;++l<A;){for(s=0,M=-1;++M<A;)s+=r[l][M];d.push(s),I.push(lo.range(A)),t+=s}for(o&&f.sort(function(t,e){return o(d[t],d[e])}),a&&I.forEach(function(t,e){t.sort(function(t,n){return a(r[e][t],r[e][n])})}),t=(Ho-u*A)/t,s=0,l=-1;++l<A;){for(g=s,M=-1;++M<A;){var E=f[l],T=I[E][M],N=r[E][T],y=s,p=s+=N*t;h[E+"-"+T]={index:E,subindex:T,startAngle:y,endAngle:p,value:N}}i[E]={index:E,startAngle:g,endAngle:s,value:d[E]},s+=u}for(l=-1;++l<A;)for(M=l-1;++M<A;){var C=h[l+"-"+M],D=h[M+"-"+l];(C.value||D.value)&&n.push(C.value<D.value?{source:D,target:C}:{source:C,target:D})}c&&e()}function e(){n.sort(function(t,e){return c((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}var n,i,r,A,o,a,c,s={},u=0;return s.matrix=function(t){return arguments.length?(A=(r=t)&&r.length,n=i=null,s):r},s.padding=function(t){return arguments.length?(u=t,n=i=null,s):u},s.sortGroups=function(t){return arguments.length?(o=t,n=i=null,s):o},s.sortSubgroups=function(t){return arguments.length?(a=t,n=null,s):a},s.sortChords=function(t){return arguments.length?(c=t,n&&e(),s):c},s.chords=function(){return n||t(),n},s.groups=function(){return i||t(),i},s},lo.layout.force=function(){function t(t){return function(e,n,i,r){if(e.point!==t){var A=e.cx-t.x,o=e.cy-t.y,a=r-n,c=A*A+o*o;if(a*a/I<c){if(c<d){var s=e.charge/c;t.px-=A*s,t.py-=o*s}return!0}if(e.point&&c&&c<d){var s=e.pointCharge/c;t.px-=A*s,t.py-=o*s}}return!e.charge}}function e(t){t.px=lo.event.x,t.py=lo.event.y,c.resume()}var n,i,r,A,o,a,c={},s=lo.dispatch("start","tick","end"),u=[1,1],g=.9,l=Tc,M=Nc,h=-30,d=yc,f=.1,I=.64,E=[],T=[];return c.tick=function(){if((r*=.99)<.005)return n=null,s.end({type:"end",alpha:r=0}),!0;var e,i,c,l,M,d,I,N,y,p=E.length,C=T.length;for(i=0;i<C;++i)c=T[i],l=c.source,M=c.target,N=M.x-l.x,y=M.y-l.y,(d=N*N+y*y)&&(d=r*o[i]*((d=Math.sqrt(d))-A[i])/d,N*=d,y*=d,M.x-=N*(I=l.weight+M.weight?l.weight/(l.weight+M.weight):.5),M.y-=y*I,l.x+=N*(I=1-I),l.y+=y*I);if((I=r*f)&&(N=u[0]/2,y=u[1]/2,i=-1,I))for(;++i<p;)c=E[i],c.x+=(N-c.x)*I,c.y+=(y-c.y)*I;if(h)for(cr(e=lo.geom.quadtree(E),r,a),i=-1;++i<p;)(c=E[i]).fixed||e.visit(t(c));for(i=-1;++i<p;)c=E[i],c.fixed?(c.x=c.px,c.y=c.py):(c.x-=(c.px-(c.px=c.x))*g,c.y-=(c.py-(c.py=c.y))*g);s.tick({type:"tick",alpha:r})},c.nodes=function(t){return arguments.length?(E=t,c):E},c.links=function(t){return arguments.length?(T=t,c):T},c.size=function(t){return arguments.length?(u=t,c):u},c.linkDistance=function(t){return arguments.length?(l="function"==typeof t?t:+t,c):l},c.distance=c.linkDistance,c.linkStrength=function(t){return arguments.length?(M="function"==typeof t?t:+t,c):M},c.friction=function(t){return arguments.length?(g=+t,c):g},c.charge=function(t){return arguments.length?(h="function"==typeof t?t:+t,c):h},c.chargeDistance=function(t){return arguments.length?(d=t*t,c):Math.sqrt(d)},c.gravity=function(t){return arguments.length?(f=+t,c):f},c.theta=function(t){return arguments.length?(I=t*t,c):Math.sqrt(I)},c.alpha=function(t){return arguments.length?(t=+t,r?t>0?r=t:(n.c=null,n.t=NaN,n=null,s.end({type:"end",alpha:r=0})):t>0&&(s.start({type:"start",alpha:r=t}),n=Ot(c.tick)),c):r},c.start=function(){function t(t,i){if(!n){for(n=new Array(r),c=0;c<r;++c)n[c]=[];for(c=0;c<s;++c){var A=T[c];n[A.source.index].push(A.target),n[A.target.index].push(A.source)}}for(var o,a=n[e],c=-1,u=a.length;++c<u;)if(!isNaN(o=a[c][t]))return o;return Math.random()*i}var e,n,i,r=E.length,s=T.length,g=u[0],d=u[1];for(e=0;e<r;++e)(i=E[e]).index=e,i.weight=0;for(e=0;e<s;++e)i=T[e],"number"==typeof i.source&&(i.source=E[i.source]),"number"==typeof i.target&&(i.target=E[i.target]),++i.source.weight,++i.target.weight;for(e=0;e<r;++e)i=E[e],isNaN(i.x)&&(i.x=t("x",g)),isNaN(i.y)&&(i.y=t("y",d)),isNaN(i.px)&&(i.px=i.x),isNaN(i.py)&&(i.py=i.y);if(A=[],"function"==typeof l)for(e=0;e<s;++e)A[e]=+l.call(this,T[e],e);else for(e=0;e<s;++e)A[e]=l;if(o=[],"function"==typeof M)for(e=0;e<s;++e)o[e]=+M.call(this,T[e],e);else for(e=0;e<s;++e)o[e]=M;if(a=[],"function"==typeof h)for(e=0;e<r;++e)a[e]=+h.call(this,E[e],e);else for(e=0;e<r;++e)a[e]=h;return c.resume()},c.resume=function(){return c.alpha(.1)},c.stop=function(){return c.alpha(0)},c.drag=function(){if(i||(i=lo.behavior.drag().origin(C).on("dragstart.force",rr).on("drag.force",e).on("dragend.force",Ar)),!arguments.length)return i;this.on("mouseover.force",or).on("mouseout.force",ar).call(i)},lo.rebind(c,s,"on")};var Tc=20,Nc=1,yc=1/0;lo.layout.hierarchy=function(){function t(r){var A,o=[r],a=[];for(r.depth=0;null!=(A=o.pop());)if(a.push(A),(s=n.call(t,A,A.depth))&&(c=s.length)){for(var c,s,u;--c>=0;)o.push(u=s[c]),u.parent=A,u.depth=A.depth+1;i&&(A.value=0),A.children=s}else i&&(A.value=+i.call(t,A,A.depth)||0),delete A.children;return gr(r,function(t){var n,r;e&&(n=t.children)&&n.sort(e),i&&(r=t.parent)&&(r.value+=t.value)}),a}var e=hr,n=lr,i=Mr;return t.sort=function(n){return arguments.length?(e=n,t):e},t.children=function(e){return arguments.length?(n=e,t):n},t.value=function(e){return arguments.length?(i=e,t):i},t.revalue=function(e){return i&&(ur(e,function(t){t.children&&(t.value=0)}),gr(e,function(e){var n;e.children||(e.value=+i.call(t,e,e.depth)||0),(n=e.parent)&&(n.value+=e.value)})),e},t},lo.layout.partition=function(){function t(e,n,i,r){var A=e.children;if(e.x=n,e.y=e.depth*r,e.dx=i,e.dy=r,A&&(o=A.length)){var o,a,c,s=-1;for(i=e.value?i/e.value:0;++s<o;)t(a=A[s],n,c=a.value*i,r),n+=c}}function e(t){var n=t.children,i=0;if(n&&(r=n.length))for(var r,A=-1;++A<r;)i=Math.max(i,e(n[A]));return 1+i}function n(n,A){var o=i.call(this,n,A);return t(o[0],0,r[0],r[1]/e(o[0])),o}var i=lo.layout.hierarchy(),r=[1,1];return n.size=function(t){return arguments.length?(r=t,n):r},sr(n,i)},lo.layout.pie=function(){function t(o){var a,c=o.length,s=o.map(function(n,i){return+e.call(t,n,i)}),u=+("function"==typeof i?i.apply(this,arguments):i),g=("function"==typeof r?r.apply(this,arguments):r)-u,l=Math.min(Math.abs(g)/c,+("function"==typeof A?A.apply(this,arguments):A)),M=l*(g<0?-1:1),h=lo.sum(s),d=h?(g-c*M)/h:0,f=lo.range(c),I=[];return null!=n&&f.sort(n===pc?function(t,e){return s[e]-s[t]}:function(t,e){return n(o[t],o[e])}),f.forEach(function(t){I[t]={data:o[t],value:a=s[t],startAngle:u,endAngle:u+=a*d+M,padAngle:l}}),I}var e=Number,n=pc,i=0,r=Ho,A=0;return t.value=function(n){return arguments.length?(e=n,t):e},t.sort=function(e){return arguments.length?(n=e,t):n},t.startAngle=function(e){return arguments.length?(i=e,t):i},t.endAngle=function(e){return arguments.length?(r=e,t):r},t.padAngle=function(e){return arguments.length?(A=e,t):A},t};var pc={};lo.layout.stack=function(){function t(a,c){if(!(l=a.length))return a;var s=a.map(function(n,i){return e.call(t,n,i)}),u=s.map(function(e){return e.map(function(e,n){return[A.call(t,e,n),o.call(t,e,n)]})}),g=n.call(t,u,c);s=lo.permute(s,g),u=lo.permute(u,g);var l,M,h,d,f=i.call(t,u,c),I=s[0].length;for(h=0;h<I;++h)for(r.call(t,s[0][h],d=f[h],u[0][h][1]),M=1;M<l;++M)r.call(t,s[M][h],d+=u[M-1][h][1],u[M][h][1]);return a}var e=C,n=Tr,i=Nr,r=Er,A=fr,o=Ir;return t.values=function(n){return arguments.length?(e=n,t):e},t.order=function(e){return arguments.length?(n="function"==typeof e?e:Cc.get(e)||Tr,t):n},t.offset=function(e){return arguments.length?(i="function"==typeof e?e:Dc.get(e)||Nr,t):i},t.x=function(e){return arguments.length?(A=e,t):A},t.y=function(e){return arguments.length?(o=e,t):o},t.out=function(e){return arguments.length?(r=e,t):r},t};var Cc=lo.map({"inside-out":function(t){var e,n,i=t.length,r=t.map(yr),A=t.map(pr),o=lo.range(i).sort(function(t,e){return r[t]-r[e]}),a=0,c=0,s=[],u=[];for(e=0;e<i;++e)n=o[e],a<c?(a+=A[n],s.push(n)):(c+=A[n],u.push(n));return u.reverse().concat(s)},reverse:function(t){return lo.range(t.length).reverse()},default:Tr}),Dc=lo.map({silhouette:function(t){var e,n,i,r=t.length,A=t[0].length,o=[],a=0,c=[];for(n=0;n<A;++n){for(e=0,i=0;e<r;e++)i+=t[e][n][1];i>a&&(a=i),o.push(i)}for(n=0;n<A;++n)c[n]=(a-o[n])/2;return c},wiggle:function(t){var e,n,i,r,A,o,a,c,s,u=t.length,g=t[0],l=g.length,M=[];for(M[0]=c=s=0,n=1;n<l;++n){for(e=0,r=0;e<u;++e)r+=t[e][n][1];for(e=0,A=0,a=g[n][0]-g[n-1][0];e<u;++e){for(i=0,o=(t[e][n][1]-t[e][n-1][1])/(2*a);i<e;++i)o+=(t[i][n][1]-t[i][n-1][1])/a;A+=o*t[e][n][1]}M[n]=c-=r?A/r*a:0,c<s&&(s=c)}for(n=0;n<l;++n)M[n]-=s;return M},expand:function(t){var e,n,i,r=t.length,A=t[0].length,o=1/r,a=[];for(n=0;n<A;++n){for(e=0,i=0;e<r;e++)i+=t[e][n][1];if(i)for(e=0;e<r;e++)t[e][n][1]/=i;else for(e=0;e<r;e++)t[e][n][1]=o}for(n=0;n<A;++n)a[n]=0;return a},zero:Nr});lo.layout.histogram=function(){function t(t,A){for(var o,a,c=[],s=t.map(n,this),u=i.call(this,s,A),g=r.call(this,u,s,A),A=-1,l=s.length,M=g.length-1,h=e?1:1/l;++A<M;)o=c[A]=[],o.dx=g[A+1]-(o.x=g[A]),o.y=0;if(M>0)for(A=-1;++A<l;)(a=s[A])>=u[0]&&a<=u[1]&&(o=c[lo.bisect(g,a,1,M)-1],o.y+=h,o.push(t[A]));return c}var e=!0,n=Number,i=Br,r=Dr;return t.value=function(e){return arguments.length?(n=e,t):n},t.range=function(e){return arguments.length?(i=jt(e),t):i},t.bins=function(e){return arguments.length?(r="number"==typeof e?function(t){return xr(t,e)}:jt(e),t):r},t.frequency=function(n){return arguments.length?(e=!!n,t):e},t},lo.layout.pack=function(){function t(t,A){var o=n.call(this,t,A),a=o[0],c=r[0],s=r[1],u=null==e?Math.sqrt:"function"==typeof e?e:function(){return e};if(a.x=a.y=0,gr(a,function(t){t.r=+u(t.value)}),gr(a,jr),i){var g=i*(e?1:Math.max(2*a.r/c,2*a.r/s))/2;gr(a,function(t){t.r+=g}),gr(a,jr),gr(a,function(t){t.r-=g})}return Yr(a,c/2,s/2,e?1:1/Math.max(2*a.r/c,2*a.r/s)),o}var e,n=lo.layout.hierarchy().sort(wr),i=0,r=[1,1];return t.size=function(e){return arguments.length?(r=e,t):r},t.radius=function(n){return arguments.length?(e=null==n||"function"==typeof n?n:+n,t):e},t.padding=function(e){return arguments.length?(i=+e,t):i},sr(t,n)},lo.layout.tree=function(){function t(t,r){var u=o.call(this,t,r),g=u[0],l=e(g);if(gr(l,n),l.parent.m=-l.z,ur(l,i),s)ur(g,A);else{var M=g,h=g,d=g;ur(g,function(t){t.x<M.x&&(M=t),t.x>h.x&&(h=t),t.depth>d.depth&&(d=t)});var f=a(M,h)/2-M.x,I=c[0]/(h.x+a(h,M)/2+f),E=c[1]/(d.depth||1);ur(g,function(t){t.x=(t.x+f)*I,t.y=t.depth*E})}return u}function e(t){for(var e,n={A:null,children:[t]},i=[n];null!=(e=i.pop());)for(var r,A=e.children,o=0,a=A.length;o<a;++o)i.push((A[o]=r={_:A[o],parent:e,children:(r=A[o].children)&&r.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=r);return n.children[0]}function n(t){var e=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(e.length){kr(t);var A=(e[0].z+e[e.length-1].z)/2;i?(t.z=i.z+a(t._,i._),t.m=t.z-A):t.z=A}else i&&(t.z=i.z+a(t._,i._));t.parent.A=r(t,i,t.parent.A||n[0])}function i(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function r(t,e,n){if(e){for(var i,r=t,A=t,o=e,c=r.parent.children[0],s=r.m,u=A.m,g=o.m,l=c.m;o=Ur(o),r=zr(r),o&&r;)c=zr(c),A=Ur(A),A.a=t,i=o.z+g-r.z-s+a(o._,r._),i>0&&(Fr(Rr(o,t,n),t,i),s+=i,u+=i),g+=o.m,s+=r.m,l+=c.m,u+=A.m;o&&!Ur(A)&&(A.t=o,A.m+=g-u),r&&!zr(c)&&(c.t=r,c.m+=s-l,n=t)}return n}function A(t){t.x*=c[0],t.y=t.depth*c[1]}var o=lo.layout.hierarchy().sort(null).value(null),a=Or,c=[1,1],s=null;return t.separation=function(e){return arguments.length?(a=e,t):a},t.size=function(e){return arguments.length?(s=null==(c=e)?A:null,t):s?null:c},t.nodeSize=function(e){return arguments.length?(s=null==(c=e)?null:A,t):s?c:null},sr(t,o)},lo.layout.cluster=function(){function t(t,A){var o,a=e.call(this,t,A),c=a[0],s=0;gr(c,function(t){var e=t.children;e&&e.length?(t.x=Hr(e),t.y=Gr(e)):(t.x=o?s+=n(t,o):0,t.y=0,o=t)});var u=Jr(c),g=Pr(c),l=u.x-n(u,g)/2,M=g.x+n(g,u)/2;return gr(c,r?function(t){t.x=(t.x-c.x)*i[0],t.y=(c.y-t.y)*i[1]}:function(t){t.x=(t.x-l)/(M-l)*i[0],t.y=(1-(c.y?t.y/c.y:1))*i[1]}),a}var e=lo.layout.hierarchy().sort(null).value(null),n=Or,i=[1,1],r=!1;return t.separation=function(e){return arguments.length?(n=e,t):n},t.size=function(e){return arguments.length?(r=null==(i=e),t):r?null:i},t.nodeSize=function(e){return arguments.length?(r=null!=(i=e),t):r?i:null},sr(t,e)},lo.layout.treemap=function(){function t(t,e){for(var n,i,r=-1,A=t.length;++r<A;)i=(n=t[r]).value*(e<0?0:e),n.area=isNaN(i)||i<=0?0:i}function e(n){var A=n.children;if(A&&A.length){var o,a,c,s=g(n),u=[],l=A.slice(),h=1/0,d="slice"===M?s.dx:"dice"===M?s.dy:"slice-dice"===M?1&n.depth?s.dy:s.dx:Math.min(s.dx,s.dy);for(t(l,s.dx*s.dy/n.value),u.area=0;(c=l.length)>0;)u.push(o=l[c-1]),u.area+=o.area,"squarify"!==M||(a=i(u,d))<=h?(l.pop(),h=a):(u.area-=u.pop().area,r(u,d,s,!1),d=Math.min(s.dx,s.dy),u.length=u.area=0,h=1/0);u.length&&(r(u,d,s,!0),u.length=u.area=0),A.forEach(e)}}function n(e){var i=e.children;if(i&&i.length){var A,o=g(e),a=i.slice(),c=[];for(t(a,o.dx*o.dy/e.value),c.area=0;A=a.pop();)c.push(A),c.area+=A.area,null!=A.z&&(r(c,A.z?o.dx:o.dy,o,!a.length),c.length=c.area=0);i.forEach(n)}}function i(t,e){for(var n,i=t.area,r=0,A=1/0,o=-1,a=t.length;++o<a;)(n=t[o].area)&&(n<A&&(A=n),n>r&&(r=n));return i*=i,e*=e,i?Math.max(e*r*h/i,i/(e*A*h)):1/0}function r(t,e,n,i){var r,A=-1,o=t.length,a=n.x,s=n.y,u=e?c(t.area/e):0;if(e==n.dx){for((i||u>n.dy)&&(u=n.dy);++A<o;)r=t[A],r.x=a,r.y=s,r.dy=u,a+=r.dx=Math.min(n.x+n.dx-a,u?c(r.area/u):0);r.z=!0,r.dx+=n.x+n.dx-a,n.y+=u,n.dy-=u}else{for((i||u>n.dx)&&(u=n.dx);++A<o;)r=t[A],r.x=a,r.y=s,r.dx=u,s+=r.dy=Math.min(n.y+n.dy-s,u?c(r.area/u):0);r.z=!1,r.dy+=n.y+n.dy-s,n.x+=u,n.dx-=u}}function A(i){var r=o||a(i),A=r[0];return A.x=A.y=0,A.value?(A.dx=s[0],A.dy=s[1]):A.dx=A.dy=0,o&&a.revalue(A),t([A],A.dx*A.dy/A.value),(o?n:e)(A),l&&(o=r),r}var o,a=lo.layout.hierarchy(),c=Math.round,s=[1,1],u=null,g=Xr,l=!1,M="squarify",h=.5*(1+Math.sqrt(5));return A.size=function(t){return arguments.length?(s=t,A):s},A.padding=function(t){function e(e){var n=t.call(A,e,e.depth);return null==n?Xr(e):Vr(e,"number"==typeof n?[n,n,n,n]:n)}function n(e){return Vr(e,t)}if(!arguments.length)return u;var i;return g=null==(u=t)?Xr:"function"==(i=typeof t)?e:"number"===i?(t=[t,t,t,t],n):n,A},A.round=function(t){return arguments.length?(c=t?Math.round:Number,A):c!=Number},A.sticky=function(t){return arguments.length?(l=t,o=null,A):l},A.ratio=function(t){return arguments.length?(h=t,A):h},A.mode=function(t){return arguments.length?(M=t+"",A):M},sr(A,a)},lo.random={normal:function(t,e){var n=arguments.length;return n<2&&(e=1),n<1&&(t=0),function(){var n,i,r;do{n=2*Math.random()-1,i=2*Math.random()-1,r=n*n+i*i}while(!r||r>1);return t+e*n*Math.sqrt(-2*Math.log(r)/r)}},logNormal:function(){var t=lo.random.normal.apply(lo,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=lo.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,n=0;n<t;n++)e+=Math.random();return e}}},lo.scale={};var xc={floor:C,ceil:C};lo.scale.linear=function(){return tA([0,1],[0,1],Di,!1)};var Bc={s:1,g:1,p:1,r:1,e:1};lo.scale.log=function(){return cA(lo.scale.linear().domain([0,1]),10,!0,[1,10])};var wc=lo.format(".0e"),mc={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};lo.scale.pow=function(){return sA(lo.scale.linear(),1,[0,1])},lo.scale.sqrt=function(){return lo.scale.pow().exponent(.5)},lo.scale.ordinal=function(){return gA([],{t:"range",a:[[]]})},lo.scale.category10=function(){return lo.scale.ordinal().range(Qc)},lo.scale.category20=function(){return lo.scale.ordinal().range(vc)},lo.scale.category20b=function(){return lo.scale.ordinal().range(jc)},lo.scale.category20c=function(){return lo.scale.ordinal().range(Lc)};var Qc=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(Dt),vc=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(Dt),jc=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(Dt),Lc=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(Dt);lo.scale.quantile=function(){return lA([],[])},lo.scale.quantize=function(){return MA(0,1,[0,1])},lo.scale.threshold=function(){return hA([.5],[0,1])},lo.scale.identity=function(){return dA([0,1])},lo.svg={},lo.svg.arc=function(){function t(){var t=Math.max(0,+n.apply(this,arguments)),s=Math.max(0,+i.apply(this,arguments)),u=o.apply(this,arguments)-Po,g=a.apply(this,arguments)-Po,l=Math.abs(g-u),M=u>g?0:1;if(s<t&&(h=s,s=t,t=h),l>=Jo)return e(s,M)+(t?e(t,1-M):"")+"Z";var h,d,f,I,E,T,N,y,p,C,D,x,B=0,w=0,m=[];if((I=(+c.apply(this,arguments)||0)/2)&&(f=A===Sc?Math.sqrt(t*t+s*s):+A.apply(this,arguments),M||(w*=-1),s&&(w=ot(f/s*Math.sin(I))),t&&(B=ot(f/t*Math.sin(I)))),s){E=s*Math.cos(u+w),T=s*Math.sin(u+w),N=s*Math.cos(g-w),y=s*Math.sin(g-w);var Q=Math.abs(g-u-2*w)<=Go?0:1;if(w&&pA(E,T,N,y)===M^Q){var v=(u+g)/2;E=s*Math.cos(v),T=s*Math.sin(v),N=y=null}}else E=T=0;if(t){p=t*Math.cos(g-B),C=t*Math.sin(g-B),D=t*Math.cos(u+B),x=t*Math.sin(u+B);var j=Math.abs(u-g+2*B)<=Go?0:1;if(B&&pA(p,C,D,x)===1-M^j){var L=(u+g)/2;p=t*Math.cos(L),C=t*Math.sin(L),D=x=null}}else p=C=0;if(l>ko&&(h=Math.min(Math.abs(s-t)/2,+r.apply(this,arguments)))>.001){d=t<s^M?0:1;var S=h,Y=h;if(l<Go){var b=null==D?[p,C]:null==N?[E,T]:Fn([E,T],[D,x],[N,y],[p,C]),O=E-b[0],z=T-b[1],U=N-b[0],F=y-b[1],k=1/Math.sin(Math.acos((O*U+z*F)/(Math.sqrt(O*O+z*z)*Math.sqrt(U*U+F*F)))/2),R=Math.sqrt(b[0]*b[0]+b[1]*b[1]);Y=Math.min(h,(t-R)/(k-1)),S=Math.min(h,(s-R)/(k+1))}if(null!=N){var G=CA(null==D?[p,C]:[D,x],[E,T],s,S,M),H=CA([N,y],[p,C],s,S,M);h===S?m.push("M",G[0],"A",S,",",S," 0 0,",d," ",G[1],"A",s,",",s," 0 ",1-M^pA(G[1][0],G[1][1],H[1][0],H[1][1]),",",M," ",H[1],"A",S,",",S," 0 0,",d," ",H[0]):m.push("M",G[0],"A",S,",",S," 0 1,",d," ",H[0])}else m.push("M",E,",",T);if(null!=D){var J=CA([E,T],[D,x],t,-Y,M),P=CA([p,C],null==N?[E,T]:[N,y],t,-Y,M);h===Y?m.push("L",P[0],"A",Y,",",Y," 0 0,",d," ",P[1],"A",t,",",t," 0 ",M^pA(P[1][0],P[1][1],J[1][0],J[1][1]),",",1-M," ",J[1],"A",Y,",",Y," 0 0,",d," ",J[0]):m.push("L",P[0],"A",Y,",",Y," 0 0,",d," ",J[0])}else m.push("L",p,",",C)}else m.push("M",E,",",T),null!=N&&m.push("A",s,",",s," 0 ",Q,",",M," ",N,",",y),m.push("L",p,",",C),null!=D&&m.push("A",t,",",t," 0 ",j,",",1-M," ",D,",",x);return m.push("Z"),m.join("")}function e(t,e){return"M0,"+t+"A"+t+","+t+" 0 1,"+e+" 0,"+-t+"A"+t+","+t+" 0 1,"+e+" 0,"+t}var n=IA,i=EA,r=fA,A=Sc,o=TA,a=NA,c=yA;return t.innerRadius=function(e){return arguments.length?(n=jt(e),t):n},t.outerRadius=function(e){return arguments.length?(i=jt(e),t):i},t.cornerRadius=function(e){return arguments.length?(r=jt(e),t):r},t.padRadius=function(e){return arguments.length?(A=e==Sc?Sc:jt(e),t):A},t.startAngle=function(e){return arguments.length?(o=jt(e),t):o},t.endAngle=function(e){return arguments.length?(a=jt(e),t):a},t.padAngle=function(e){return arguments.length?(c=jt(e),t):c},t.centroid=function(){var t=(+n.apply(this,arguments)+ +i.apply(this,arguments))/2,e=(+o.apply(this,arguments)+ +a.apply(this,arguments))/2-Po;return[Math.cos(e)*t,Math.sin(e)*t]},t};var Sc="auto";lo.svg.line=function(){return DA(C)};var Yc=lo.map({linear:xA,"linear-closed":BA,step:wA,"step-before":mA,"step-after":QA,basis:bA,"basis-open":OA,"basis-closed":zA,bundle:UA,cardinal:LA,"cardinal-open":vA,"cardinal-closed":jA,monotone:JA});Yc.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var bc=[0,2/3,1/3,0],Oc=[0,1/3,2/3,0],zc=[0,1/6,2/3,1/6];lo.svg.line.radial=function(){var t=DA(PA);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},mA.reverse=QA,QA.reverse=mA,lo.svg.area=function(){return XA(C)},lo.svg.area.radial=function(){var t=XA(PA);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},lo.svg.chord=function(){function t(t,a){var c=e(this,A,t,a),s=e(this,o,t,a);return"M"+c.p0+i(c.r,c.p1,c.a1-c.a0)+(n(c,s)?r(c.r,c.p1,c.r,c.p0):r(c.r,c.p1,s.r,s.p0)+i(s.r,s.p1,s.a1-s.a0)+r(s.r,s.p1,c.r,c.p0))+"Z"}function e(t,e,n,i){var r=e.call(t,n,i),A=a.call(t,r,i),o=c.call(t,r,i)-Po,u=s.call(t,r,i)-Po;return{r:A,a0:o,a1:u,p0:[A*Math.cos(o),A*Math.sin(o)],p1:[A*Math.cos(u),A*Math.sin(u)]}}function n(t,e){return t.a0==e.a0&&t.a1==e.a1}function i(t,e,n){return"A"+t+","+t+" 0 "+ +(n>Go)+",1 "+e}function r(t,e,n,i){return"Q 0,0 "+i}var A=Dn,o=xn,a=VA,c=TA,s=NA;return t.radius=function(e){return arguments.length?(a=jt(e),t):a},t.source=function(e){return arguments.length?(A=jt(e),t):A},t.target=function(e){return arguments.length?(o=jt(e),t):o},t.startAngle=function(e){return arguments.length?(c=jt(e),t):c},t.endAngle=function(e){return arguments.length?(s=jt(e),t):s},t},lo.svg.diagonal=function(){function t(t,r){var A=e.call(this,t,r),o=n.call(this,t,r),a=(A.y+o.y)/2,c=[A,{x:A.x,y:a},{x:o.x,y:a},o];return c=c.map(i),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var e=Dn,n=xn,i=WA;return t.source=function(n){return arguments.length?(e=jt(n),t):e},t.target=function(e){return arguments.length?(n=jt(e),t):n},t.projection=function(e){return arguments.length?(i=e,t):i},t},lo.svg.diagonal.radial=function(){var t=lo.svg.diagonal(),e=WA,n=t.projection;return t.projection=function(t){return arguments.length?n(_A(e=t)):e},t},lo.svg.symbol=function(){function t(t,i){return(Uc.get(e.call(this,t,i))||qA)(n.call(this,t,i))}var e=KA,n=ZA;return t.type=function(n){return arguments.length?(e=jt(n),t):e},t.size=function(e){return arguments.length?(n=jt(e),t):n},t};var Uc=lo.map({circle:qA,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*kc)),n=e*kc;return"M0,"+-e+"L"+n+",0 0,"+e+" "+-n+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/Fc),n=e*Fc/2;return"M0,"+n+"L"+e+","+-n+" "+-e+","+-n+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/Fc),n=e*Fc/2;return"M0,"+-n+"L"+e+","+n+" "+-e+","+n+"Z"}});lo.svg.symbolTypes=Uc.keys();var Fc=Math.sqrt(3),kc=Math.tan(30*Xo);Lo.transition=function(t){for(var e,n,i=Rc||++Pc,r=io(t),A=[],o=Gc||{time:Date.now(),ease:ji,delay:0,duration:250},a=-1,c=this.length;++a<c;){A.push(e=[]);for(var s=this[a],u=-1,g=s.length;++u<g;)(n=s[u])&&ro(n,u,r,i,o),e.push(n)}return to(A,r,i)},Lo.interrupt=function(t){return this.each(null==t?Hc:$A(io(t)))};var Rc,Gc,Hc=$A(io()),Jc=[],Pc=0;Jc.call=Lo.call,Jc.empty=Lo.empty,Jc.node=Lo.node,Jc.size=Lo.size,lo.transition=function(t,e){return t&&t.transition?Rc?t.transition(e):t:lo.selection().transition(t)},lo.transition.prototype=Jc,Jc.select=function(t){var e,n,i,r=this.id,A=this.namespace,o=[];t=S(t);for(var a=-1,c=this.length;++a<c;){o.push(e=[]);for(var s=this[a],u=-1,g=s.length;++u<g;)(i=s[u])&&(n=t.call(i,i.__data__,u,a))?("__data__"in i&&(n.__data__=i.__data__),ro(n,u,A,r,i[A][r]),e.push(n)):e.push(null)}return to(o,A,r)},Jc.selectAll=function(t){var e,n,i,r,A,o=this.id,a=this.namespace,c=[];t=Y(t);for(var s=-1,u=this.length;++s<u;)for(var g=this[s],l=-1,M=g.length;++l<M;)if(i=g[l]){A=i[a][o],n=t.call(i,i.__data__,l,s),c.push(e=[]);for(var h=-1,d=n.length;++h<d;)(r=n[h])&&ro(r,h,a,o,A),e.push(r)}return to(c,a,o)},Jc.filter=function(t){var e,n,i,r=[];"function"!=typeof t&&(t=X(t));for(var A=0,o=this.length;A<o;A++){r.push(e=[]);for(var n=this[A],a=0,c=n.length;a<c;a++)(i=n[a])&&t.call(i,i.__data__,a,A)&&e.push(i)}return to(r,this.namespace,this.id)},Jc.tween=function(t,e){var n=this.id,i=this.namespace;return arguments.length<2?this.node()[i][n].tween.get(t):W(this,null==e?function(e){e[i][n].tween.remove(t)}:function(r){r[i][n].tween.set(t,e)})},Jc.attr=function(t,e){function n(){this.removeAttribute(a)}function i(){this.removeAttributeNS(a.space,a.local)}function r(t){return null==t?n:(t+="",function(){var e,n=this.getAttribute(a);return n!==t&&(e=o(n,t),function(t){this.setAttribute(a,e(t))})})}function A(t){return null==t?i:(t+="",function(){var e,n=this.getAttributeNS(a.space,a.local);return n!==t&&(e=o(n,t),function(t){this.setAttributeNS(a.space,a.local,e(t))})})}if(arguments.length<2){for(e in t)this.attr(e,t[e]);return this}var o="transform"==t?qi:Di,a=lo.ns.qualify(t);return eo(this,"attr."+t,e,a.local?A:r)},Jc.attrTween=function(t,e){function n(t,n){var i=e.call(this,t,n,this.getAttribute(r));return i&&function(t){this.setAttribute(r,i(t))}}function i(t,n){var i=e.call(this,t,n,this.getAttributeNS(r.space,r.local));return i&&function(t){this.setAttributeNS(r.space,r.local,i(t))}}var r=lo.ns.qualify(t);return this.tween("attr."+t,r.local?i:n)},Jc.style=function(t,e,n){function i(){this.style.removeProperty(t)}function r(e){return null==e?i:(e+="",function(){var i,r=o(this).getComputedStyle(this,null).getPropertyValue(t);return r!==e&&(i=Di(r,e),function(e){this.style.setProperty(t,i(e),n)})})}var A=arguments.length;if(A<3){if("string"!=typeof t){A<2&&(e="");for(n in t)this.style(n,t[n],e);return this}n=""}return eo(this,"style."+t,e,r)},Jc.styleTween=function(t,e,n){function i(i,r){var A=e.call(this,i,r,o(this).getComputedStyle(this,null).getPropertyValue(t));return A&&function(e){this.style.setProperty(t,A(e),n)}}return arguments.length<3&&(n=""),this.tween("style."+t,i)},Jc.text=function(t){return eo(this,"text",t,no)},Jc.remove=function(){var t=this.namespace;return this.each("end.transition",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},Jc.ease=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].ease:("function"!=typeof t&&(t=lo.ease.apply(lo,arguments)),W(this,function(i){i[n][e].ease=t}))},Jc.delay=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].delay:W(this,"function"==typeof t?function(i,r,A){i[n][e].delay=+t.call(i,i.__data__,r,A)}:(t=+t,function(i){i[n][e].delay=t}))},Jc.duration=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].duration:W(this,"function"==typeof t?function(i,r,A){i[n][e].duration=Math.max(1,t.call(i,i.__data__,r,A))}:(t=Math.max(1,t),function(i){i[n][e].duration=t}))},Jc.each=function(t,e){var n=this.id,i=this.namespace;if(arguments.length<2){var r=Gc,A=Rc;try{Rc=n,W(this,function(e,r,A){Gc=e[i][n],t.call(e,e.__data__,r,A)})}finally{Gc=r,Rc=A}}else W(this,function(r){var A=r[i][n];(A.event||(A.event=lo.dispatch("start","end","interrupt"))).on(t,e)});return this},Jc.transition=function(){for(var t,e,n,i,r=this.id,A=++Pc,o=this.namespace,a=[],c=0,s=this.length;c<s;c++){a.push(t=[]);for(var e=this[c],u=0,g=e.length;u<g;u++)(n=e[u])&&(i=n[o][r],ro(n,u,o,A,{time:i.time,ease:i.ease,delay:i.delay+i.duration,duration:i.duration})),t.push(n)}return to(a,o,A)},lo.svg.axis=function(){function t(t){t.each(function(){var t,s=lo.select(this),u=this.__chart__||n,g=this.__chart__=n.copy(),l=null==c?g.ticks?g.ticks.apply(g,a):g.domain():c,M=null==e?g.tickFormat?g.tickFormat.apply(g,a):C:e,h=s.selectAll(".tick").data(l,g),d=h.enter().insert("g",".domain").attr("class","tick").style("opacity",ko),f=lo.transition(h.exit()).style("opacity",ko).remove(),I=lo.transition(h.order()).style("opacity",1),E=Math.max(r,0)+o,T=_r(g),N=s.selectAll(".domain").data([0]),y=(N.enter().append("path").attr("class","domain"),lo.transition(N));d.append("line"),d.append("text");var p,D,x,B,w=d.select("line"),m=I.select("line"),Q=h.select("text").text(M),v=d.select("text"),j=I.select("text"),L="top"===i||"left"===i?-1:1;if("bottom"===i||"top"===i?(t=Ao,p="x",x="y",D="x2",B="y2",Q.attr("dy",L<0?"0em":".71em").style("text-anchor","middle"),y.attr("d","M"+T[0]+","+L*A+"V0H"+T[1]+"V"+L*A)):(t=oo,p="y",x="x",D="y2",B="x2",Q.attr("dy",".32em").style("text-anchor",L<0?"end":"start"),y.attr("d","M"+L*A+","+T[0]+"H0V"+T[1]+"H"+L*A)),w.attr(B,L*r),v.attr(x,L*E),m.attr(D,0).attr(B,L*r),j.attr(p,0).attr(x,L*E),g.rangeBand){var S=g,Y=S.rangeBand()/2;u=g=function(t){return S(t)+Y}}else u.rangeBand?u=g:f.call(t,g,u);d.call(t,u,g),I.call(t,g,g)})}var e,n=lo.scale.linear(),i=Xc,r=6,A=6,o=3,a=[10],c=null;return t.scale=function(e){return arguments.length?(n=e,t):n},t.orient=function(e){return arguments.length?(i=e in Vc?e+"":Xc,t):i},t.ticks=function(){return arguments.length?(a=ho(arguments),t):a},t.tickValues=function(e){return arguments.length?(c=e,t):c},t.tickFormat=function(n){return arguments.length?(e=n,t):e},t.tickSize=function(e){var n=arguments.length;return n?(r=+e,A=+arguments[n-1],t):r},t.innerTickSize=function(e){return arguments.length?(r=+e,t):r},t.outerTickSize=function(e){return arguments.length?(A=+e,t):A},t.tickPadding=function(e){return arguments.length?(o=+e,t):o},t.tickSubdivide=function(){return arguments.length&&t},t};var Xc="bottom",Vc={top:1,right:1,bottom:1,left:1};lo.svg.brush=function(){function t(A){A.each(function(){var A=lo.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",r).on("touchstart.brush",r),o=A.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),A.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=A.selectAll(".resize").data(d,C);a.exit().remove(),a.enter().append("g").attr("class",function(t){return"resize "+t}).style("cursor",function(t){return Wc[t]}).append("rect").attr("x",function(t){return/[ew]$/.test(t)?-3:null}).attr("y",function(t){return/^[ns]/.test(t)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",t.empty()?"none":null);var c,g=lo.transition(A),l=lo.transition(o);s&&(c=_r(s),l.attr("x",c[0]).attr("width",c[1]-c[0]),n(g)),u&&(c=_r(u),l.attr("y",c[0]).attr("height",c[1]-c[0]),i(g)),e(g)})}function e(t){t.selectAll(".resize").attr("transform",function(t){return"translate("+g[+/e$/.test(t)]+","+l[+/^s/.test(t)]+")"})}function n(t){t.select(".extent").attr("x",g[0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",g[1]-g[0])}function i(t){t.select(".extent").attr("y",l[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",l[1]-l[0])}function r(){function r(){32==lo.event.keyCode&&(m||(T=null,j[0]-=g[1],j[1]-=l[1],m=2),Q())}function d(){32==lo.event.keyCode&&2==m&&(j[0]+=g[1],j[1]+=l[1],m=0,Q())}function f(){var t=lo.mouse(y),r=!1;N&&(t[0]+=N[0],t[1]+=N[1]),m||(lo.event.altKey?(T||(T=[(g[0]+g[1])/2,(l[0]+l[1])/2]),j[0]=g[+(t[0]<T[0])],j[1]=l[+(t[1]<T[1])]):T=null),B&&I(t,s,0)&&(n(D),r=!0),w&&I(t,u,1)&&(i(D),r=!0),r&&(e(D),C({type:"brush",mode:m?"move":"resize"}))}function I(t,e,n){var i,r,o=_r(e),c=o[0],s=o[1],u=j[n],d=n?l:g,f=d[1]-d[0];if(m&&(c-=u,s-=f+u),i=(n?h:M)?Math.max(c,Math.min(s,t[n])):t[n],m?r=(i+=u)+f:(T&&(u=Math.max(c,Math.min(s,2*T[n]-i))),u<i?(r=i,i=u):r=u),d[0]!=i||d[1]!=r)return n?a=null:A=null,d[0]=i,d[1]=r,!0}function E(){f(),D.style("pointer-events","all").selectAll(".resize").style("display",t.empty()?"none":null),lo.select("body").style("cursor",null),L.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),v(),C({type:"brushend"})}var T,N,y=this,p=lo.select(lo.event.target),C=c.of(y,arguments),D=lo.select(y),x=p.datum(),B=!/^(n|s)$/.test(x)&&s,w=!/^(e|w)$/.test(x)&&u,m=p.classed("extent"),v=tt(y),j=lo.mouse(y),L=lo.select(o(y)).on("keydown.brush",r).on("keyup.brush",d);if(lo.event.changedTouches?L.on("touchmove.brush",f).on("touchend.brush",E):L.on("mousemove.brush",f).on("mouseup.brush",E),D.interrupt().selectAll("*").interrupt(),m)j[0]=g[0]-j[0],j[1]=l[0]-j[1];else if(x){var S=+/w$/.test(x),Y=+/^n/.test(x);N=[g[1-S]-j[0],l[1-Y]-j[1]],j[0]=g[S],j[1]=l[Y]}else lo.event.altKey&&(T=j.slice());D.style("pointer-events","none").selectAll(".resize").style("display",null),lo.select("body").style("cursor",p.style("cursor")),C({type:"brushstart"}),f()}var A,a,c=j(t,"brushstart","brush","brushend"),s=null,u=null,g=[0,0],l=[0,0],M=!0,h=!0,d=_c[0];return t.event=function(t){t.each(function(){var t=c.of(this,arguments),e={x:g,y:l,i:A,j:a},n=this.__chart__||e;this.__chart__=e,Rc?lo.select(this).transition().each("start.brush",function(){A=n.i,a=n.j,g=n.x,l=n.y,t({type:"brushstart"})}).tween("brush:brush",function(){var n=xi(g,e.x),i=xi(l,e.y);return A=a=null,function(r){g=e.x=n(r),l=e.y=i(r),t({type:"brush",mode:"resize"})}}).each("end.brush",function(){A=e.i,a=e.j,t({type:"brush",mode:"resize"}),t({type:"brushend"})}):(t({type:"brushstart"}),t({type:"brush",mode:"resize"}),t({type:"brushend"}))})},t.x=function(e){return arguments.length?(s=e,d=_c[!s<<1|!u],t):s},t.y=function(e){return arguments.length?(u=e,d=_c[!s<<1|!u],t):u},t.clamp=function(e){return arguments.length?(s&&u?(M=!!e[0],h=!!e[1]):s?M=!!e:u&&(h=!!e),t):s&&u?[M,h]:s?M:u?h:null},t.extent=function(e){var n,i,r,o,c;return arguments.length?(s&&(n=e[0],i=e[1],u&&(n=n[0],i=i[0]),A=[n,i],s.invert&&(n=s(n),i=s(i)),i<n&&(c=n,n=i,i=c),n==g[0]&&i==g[1]||(g=[n,i])),u&&(r=e[0],o=e[1],s&&(r=r[1],o=o[1]),a=[r,o],u.invert&&(r=u(r),o=u(o)),o<r&&(c=r,r=o,o=c),r==l[0]&&o==l[1]||(l=[r,o])),t):(s&&(A?(n=A[0],i=A[1]):(n=g[0],i=g[1],s.invert&&(n=s.invert(n),i=s.invert(i)),i<n&&(c=n,n=i,i=c))),u&&(a?(r=a[0],o=a[1]):(r=l[0],o=l[1],u.invert&&(r=u.invert(r),o=u.invert(o)),o<r&&(c=r,r=o,o=c))),s&&u?[[n,r],[i,o]]:s?[n,i]:u&&[r,o])},t.clear=function(){return t.empty()||(g=[0,0],l=[0,0],A=a=null),t},t.empty=function(){return!!s&&g[0]==g[1]||!!u&&l[0]==l[1]},lo.rebind(t,c,"on")};var Wc={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},_c=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Zc=da.format=ya.timeFormat,Kc=Zc.utc,qc=Kc("%Y-%m-%dT%H:%M:%S.%LZ");Zc.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?ao:qc,ao.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},ao.toString=qc.toString,da.second=Pt(function(t){return new fa(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),da.seconds=da.second.range,da.seconds.utc=da.second.utc.range,da.minute=Pt(function(t){return new fa(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),da.minutes=da.minute.range,da.minutes.utc=da.minute.utc.range,da.hour=Pt(function(t){var e=t.getTimezoneOffset()/60;return new fa(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),da.hours=da.hour.range,da.hours.utc=da.hour.utc.range,da.month=Pt(function(t){return t=da.day(t),t.setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),da.months=da.month.range,da.months.utc=da.month.utc.range;var $c=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],ts=[[da.second,1],[da.second,5],[da.second,15],[da.second,30],[da.minute,1],[da.minute,5],[da.minute,15],[da.minute,30],[da.hour,1],[da.hour,3],[da.hour,6],[da.hour,12],[da.day,1],[da.day,2],[da.week,1],[da.month,1],[da.month,3],[da.year,1]],es=Zc.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",Ye]]),ns={range:function(t,e,n){return lo.range(Math.ceil(t/n)*n,+e,n).map(so)},floor:C,ceil:C};ts.year=da.year,da.scale=function(){return co(lo.scale.linear(),ts,es)};var is=ts.map(function(t){return[t[0].utc,t[1]]}),rs=Kc.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",Ye]]);is.year=da.year.utc,da.scale.utc=function(){return co(lo.scale.linear(),is,rs)},lo.text=Lt(function(t){return t.responseText}),lo.json=function(t,e){return St(t,"application/json",uo,e)},lo.html=function(t,e){return St(t,"text/html",go,e)},lo.xml=Lt(function(t){return t.responseXML}),this.d3=lo,i=lo,void 0!==(r="function"==typeof i?i.call(e,n,e,t):i)&&(t.exports=r)}()},function(t,e,n){"use strict";function i(t,e){var n={},i=t.config.selection;for(var r in e)!function(r){if(!e.hasOwnProperty(r))return"continue";var A=e[r],o=i[A.type];for(var a in o)"encodings"===a&&A.fields||"fields"===a&&A.encodings||("mark"===a&&(A[a]=T.__assign({},o[a],A[a])),void 0!==A[a]&&!0!==A[a]||(A[a]=o[a]||A[a]));r=D.varName(r);var c=n[r]=T.__assign({},A,{name:r,events:D.isString(A.on)?N.selector(A.on,"scope"):A.on});Q.forEachTransform(c,function(e){e.parse&&e.parse(t,A,c)})}(r);return n}function r(t,n){l(t,function(i,r){var A=i.name,o=r.modifyExpr(t,i);n.push.apply(n,r.signals(t,i)),Q.forEachTransform(i,function(e){e.signals&&(n=e.signals(t,i,n)),e.modifyExpr&&(o=e.modifyExpr(t,i,o))}),n.push({name:A+e.MODIFY,on:[{events:{signal:A+e.TUPLE},update:"modify("+D.stringValue(i.name+e.STORE)+", "+o+")"}]})});var i=h(t);if(n.length&&i){var r=D.stringValue(i.getName("cell"));n.unshift({name:"facet",value:{},on:[{events:N.selector("mousemove","scope"),update:"isTuple(facet) ? facet : group("+r+").datum"}]})}return n}function A(t,e){var n=!1;if(l(t,function(i,r){r.topLevelSignals&&(e=r.topLevelSignals(t,i,e)),Q.forEachTransform(i,function(n){n.topLevelSignals&&(e=n.topLevelSignals(t,i,e))}),n=!0}),n){e.filter(function(t){return"unit"===t.name}).length||e.unshift({name:"unit",value:{},on:[{events:"mousemove",update:"isTuple(group()) ? group() : unit"}]})}return e}function o(t,n){return l(t,function(t){n.filter(function(n){return n.name===t.name+e.STORE}).length||n.push({name:t.name+e.STORE})}),n}function a(t,e){return l(t,function(n,i){e=i.marks?i.marks(t,n,e):e,Q.forEachTransform(n,function(i){i.marks&&(e=i.marks(t,n,e))})}),e}function c(t,e){return t.children.forEach(function(t){x.isUnitModel(t)&&(e=a(t,e))}),e}function s(t,n,i){function r(n){var r=D.varName(n),o=t.getSelectionComponent(r,n),a=D.stringValue(r+e.STORE);if(o.timeUnit){var c=i||t.component.data.raw,s=o.timeUnit.clone();c.parent?s.insertAsParentOf(c):c.parent=s}return"none"!==o.empty&&A.push(a),M(o.type).predicate+"("+a+", datum"+("global"===o.resolve?")":", "+D.stringValue(o.resolve)+")")}var A=[],o=D.logicalExpr(n,r);return(A.length?"!("+A.map(function(t){return"length(data("+t+"))"}).join(" || ")+") || ":"")+"("+o+")"}function u(t){return t.signal.indexOf(e.SELECTION_DOMAIN)>=0}function g(t,n){var i=JSON.parse(n.signal.replace(e.SELECTION_DOMAIN,"")),r=D.varName(i.selection),A=t.component.selection&&t.component.selection[r];return A?(p.warn('Use "bind": "scales" to setup a binding for scales and selections within the same view.'),{signal:"null"}):(A=t.getSelectionComponent(r,i.selection),i.encoding||i.field||(i.field=A.project[0].field,A.project.length>1&&p.warn('A "field" or "encoding" must be specified when using a selection as a scale domain. Using "field": '+D.stringValue(i.field)+".")),{signal:M(A.type).scaleDomain+"("+D.stringValue(r+e.STORE)+", "+D.stringValue(i.encoding||null)+", "+D.stringValue(i.field||null)+("global"===A.resolve?")":", "+D.stringValue(A.resolve)+")")})}function l(t,e){var n=t.component.selection;for(var i in n)if(n.hasOwnProperty(i)){var r=n[i];e(r,M(r.type))}}function M(t){switch(t){case"single":return m.default;case"multi":return w.default;case"interval":return B.default}return null}function h(t){for(var e=t.parent;e&&!x.isFacetModel(e);)e=e.parent;return e}function d(t){var e=D.stringValue(t.name),n=h(t);return n&&(e+=(n.facet.row?" + '_' + facet["+D.stringValue(n.field("row"))+"]":"")+(n.facet.column?" + '_' + facet["+D.stringValue(n.field("column"))+"]":"")),e}function f(t){var e=!1;return l(t,function(t){e=e||t.project.some(function(t){return t.field===C.SELECTION_ID})}),e}function I(t,e,n){return D.varName(t.name+"_"+("visual"===n?e:t.fields[e]))}function E(t){var e=null,n=null,i=null,r=null;return t.project.forEach(function(t,A){t.channel===y.X?(e=t,n=A):t.channel===y.Y&&(i=t,r=A)}),{x:e,xi:n,y:i,yi:r}}Object.defineProperty(e,"__esModule",{value:!0});var T=n(3),N=n(148),y=n(7),p=n(4),C=n(231),D=n(2),x=n(18),B=n(238),w=n(366),m=n(746),Q=n(747);e.STORE="_store",e.TUPLE="_tuple",e.MODIFY="_modify",e.SELECTION_DOMAIN="_selection_domain_",e.parseUnitSelection=i,e.assembleUnitSelectionSignals=r,e.assembleTopLevelSignals=A,e.assembleUnitSelectionData=o,e.assembleUnitSelectionMarks=a,e.assembleLayerSelectionMarks=c,e.predicate=s,e.isRawSelectionDomain=u,e.selectionScaleDomain=g,e.unitName=d,e.requiresSelectionId=f,e.channelSignalName=I,e.positionalProjections=E},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=function(){function t(t){this.debugName=t,this._children=[],this._parent=null}return t.prototype.clone=function(){throw new Error("Cannot clone node")},t.prototype.producedFields=function(){return{}},t.prototype.dependentFields=function(){return{}},Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},set:function(t){this._parent=t,t.addChild(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"children",{get:function(){return this._children},enumerable:!0,configurable:!0}),t.prototype.numChildren=function(){return this._children.length},t.prototype.addChild=function(t){this._children.push(t)},t.prototype.removeChild=function(t){this._children.splice(this._children.indexOf(t),1)},t.prototype.remove=function(){for(var t=0,e=this._children;t<e.length;t++){e[t].parent=this._parent}this._parent.removeChild(this)},t.prototype.insertAsParentOf=function(t){var e=t.parent;e.removeChild(this),this.parent=e,t.parent=this},t.prototype.swapWithParent=function(){for(var t=this._parent,e=t.parent,n=0,i=this._children;n<i.length;n++){i[n].parent=t}this._children=[],t.removeChild(this),t.parent.removeChild(t),this.parent=e,t.parent=this},t}();e.DataFlowNode=r;var A=function(t){function e(e,n,i){var r=t.call(this,e)||this;return r.type=n,r.refCounts=i,r._source=r._name=e,!r.refCounts||r._name in r.refCounts||(r.refCounts[r._name]=0),r}return i.__extends(e,t),e.prototype.clone=function(){var t=new this.constructor;return t.debugName="clone_"+this.debugName,t._source=this._source,t._name="clone_"+this._name,t.type=this.type,t.refCounts=this.refCounts,t.refCounts[t._name]=0,t},e.prototype.getSource=function(){return this.refCounts[this._name]++,this._source},e.prototype.isRequired=function(){return!!this.refCounts[this._name]},e.prototype.setSource=function(t){this._source=t},e}(r);e.OutputNode=A},function(t,e,n){"use strict";function i(t,e,n){for(var i=0,r=n;i<r.length;i++){var A=r[i],o=e[A];void 0!==o&&(t[A]={value:o})}return t}function r(t,e,n){for(var i=0,r=n;i<r.length;i++){var A=r[i],a=o(A,e.markDef,e.config);void 0!==a&&(t[A]={value:a})}return t}function A(t){return[].concat(t.type,t.style||[])}function o(t,e,n){var i=n.mark[t],r=n[e.type];void 0!==r[t]&&(i=r[t]);for(var o=A(e),a=0,c=o;a<c.length;a++){var s=c[a],u=n.style[s],g=t;u&&void 0!==u[g]&&(i=u[g])}return i}function a(t,e,n,i){var r=s(t,e,i);if(t.bin){return{signal:l(E.field(t,{expr:n}),E.field(t,{expr:n,binSuffix:"end"}),r,i)}}if("quantitative"===t.type)return{signal:""+u(E.field(t,{expr:n}),r)};if(E.isTimeFieldDef(t)){var A=E.isScaleFieldDef(t)&&t.scale&&t.scale.type===T.ScaleType.UTC;return{signal:M(E.field(t,{expr:n}),t.timeUnit,e,i.text.shortTimeLabels,i.timeFormat,A)}}return{signal:"''+"+E.field(t,{expr:n})}}function c(t,e){return void 0!==t?t:e}function s(t,e,n){if(t.type===y.QUANTITATIVE)return e||n.numberFormat}function u(t,e){return"format("+t+', "'+(e||"")+'")'}function g(t,e,n){return u(t,e||n.numberFormat)}function l(t,e,n,i){return t+" === null || isNaN("+t+') ? "null" : '+g(t,n,i)+' + " - " + '+g(e,n,i)}function M(t,e,n,i,r,A){if(!e||n){var o=n||r;return A?"utcFormat("+t+", '"+o+"')":"timeFormat("+t+", '"+o+"')"}return N.formatExpression(e,t,i,A)}function h(t,e){return(p.isArray(t)?t:[t]).reduce(function(t,n){return t.field.push(E.field(n,e)),t.order.push(n.sort||"ascending"),t},{field:[],order:[]})}function d(t,e){return{explicit:t.explicit,value:t.value===e.value?t.value:t.value+", "+e.value}}function f(t,e){return t.bin?I.isScaleChannel(e)&&p.contains(["ordinal","nominal"],t.type):(console.warn("Only use this method with binned field defs"),!1)}Object.defineProperty(e,"__esModule",{value:!0});var I=n(7),E=n(9),T=n(11),N=n(112),y=n(49),p=n(2);e.applyConfig=i,e.applyMarkConfig=r,e.getStyles=A,e.getMarkConfig=o,e.formatSignalRef=a,e.getSpecifiedOrDefaultValue=c,e.numberFormat=s,e.numberFormatExpr=g,e.binFormatExpression=l,e.timeFormatExpression=M,e.sortParams=h,e.titleMerger=d,e.binRequiresRange=f},function(t,e,n){"use strict";function i(t,e,n,o){function a(e){return t(e=new Date(+e)),e}return a.floor=a,a.ceil=function(n){return t(n=new Date(n-1)),e(n,1),t(n),n},a.round=function(t){var e=a(t),n=a.ceil(t);return t-e<n-t?e:n},a.offset=function(t,n){return e(t=new Date(+t),null==n?1:Math.floor(n)),t},a.range=function(n,i,r){var A=[];if(n=a.ceil(n),r=null==r?1:Math.floor(r),!(n<i&&r>0))return A;do{A.push(new Date(+n))}while(e(n,r),t(n),n<i);return A},a.filter=function(n){return i(function(e){if(e>=e)for(;t(e),!n(e);)e.setTime(e-1)},function(t,i){if(t>=t)if(i<0)for(;++i<=0;)for(;e(t,-1),!n(t););else for(;--i>=0;)for(;e(t,1),!n(t););})},n&&(a.count=function(e,i){return r.setTime(+e),A.setTime(+i),t(r),t(A),Math.floor(n(r,A))},a.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?a.filter(o?function(e){return o(e)%t==0}:function(e){return a.count(0,e)%t==0}):a:null}),a}e.a=i;var r=new Date,A=new Date},function(t,e,n){"use strict";function i(t,e,n,i){this.id=-1,this.type=t,this.value=e,this.params=n,i&&(this.parent=i)}function r(t,e,n,r){return new i(t,e,n,r)}function A(t,e){return r("operator",t,e)}function o(t){var e={$ref:t.id};return t.id<0&&(t.refs=t.refs||[]).push(e),e}function a(t,e){return e?{$field:t,$name:e}:{$field:t}}function c(t,e){return{$compare:t,$order:e}}function s(t,e){var n={$key:t};return e&&(n.$flat=!0),n}function u(t){return Object(h.isObject)(t)?(t.order===E?"-":"+")+g(t.op,t.field):""}function g(t,e){return(t&&t.signal?"$"+t.signal:t||"")+(t&&e?"_":"")+(e&&e.signal?"$"+e.signal:e||"")}function l(t){return t&&t.signal}function M(t,e){return null!=t?t:e}e.b=i,e.e=r,e.j=A,e.k=o,n.d(e,"m",function(){return d}),e.f=a,n.d(e,"h",function(){return f}),e.d=c,e.i=s,n.d(e,"a",function(){return I}),e.l=u,e.c=g,e.g=l,e.n=M;var h=n(0),d={$tupleid:1,toString:function(){return":_tupleid_:"}},f=a("key"),I="ascending",E="descending"},function(t,e,n){"use strict";n.d(e,"a",function(){return i}),n.d(e,"b",function(){return r}),n.d(e,"c",function(){return A}),n.d(e,"d",function(){return o}),n.d(e,"e",function(){return a});var i="group",r="rect",A="rule",o="symbol",a="text"},function(t,e,n){"use strict";var i=n(1304);n.d(e,"b",function(){return i.a});var r=n(196);n.d(e,"c",function(){return r.a});var A=n(1333);n.d(e,"f",function(){return A.a});var o=n(551);n.d(e,"g",function(){return o.a});var a=n(1334);n.d(e,"h",function(){return a.a});var c=n(294);n.d(e,"i",function(){return c.a});var s=n(295);n.d(e,"j",function(){return s.a});var u=n(197);n.d(e,"a",function(){return u.a});var g=n(549);n.d(e,"k",function(){return g.a});var l=n(1335);n.d(e,"l",function(){return l.a});var M=n(43);n.d(e,"m",function(){return M.b});var h=n(296);n.d(e,"n",function(){return h.a});var d=n(550);n.d(e,"o",function(){return d.a});var f=n(554);n.d(e,"p",function(){return f.b});var I=n(1336);n.d(e,"q",function(){return I.a});var E=n(1337);n.d(e,"r",function(){return E.a});var T=n(297);n.d(e,"s",function(){return T.a});var N=n(298);n.d(e,"e",function(){return N.c}),n.d(e,"d",function(){return N.a})},function(t,e,n){"use strict";function i(t,e,n,o){function a(e){return t(e=new Date(+e)),e}return a.floor=a,a.ceil=function(n){return t(n=new Date(n-1)),e(n,1),t(n),n},a.round=function(t){var e=a(t),n=a.ceil(t);return t-e<n-t?e:n},a.offset=function(t,n){return e(t=new Date(+t),null==n?1:Math.floor(n)),t},a.range=function(n,i,r){var A,o=[];if(n=a.ceil(n),r=null==r?1:Math.floor(r),!(n<i&&r>0))return o;do{o.push(A=new Date(+n)),e(n,r),t(n)}while(A<n&&n<i);return o},a.filter=function(n){return i(function(e){if(e>=e)for(;t(e),!n(e);)e.setTime(e-1)},function(t,i){if(t>=t)if(i<0)for(;++i<=0;)for(;e(t,-1),!n(t););else for(;--i>=0;)for(;e(t,1),!n(t););})},n&&(a.count=function(e,i){return r.setTime(+e),A.setTime(+i),t(r),t(A),Math.floor(n(r,A))},a.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?a.filter(o?function(e){return o(e)%t==0}:function(e){return a.count(0,e)%t==0}):a:null}),a}e.a=i;var r=new Date,A=new Date},function(t,e,n){"use strict";n.d(e,"n",function(){return i}),n.d(e,"g",function(){return r}),n.d(e,"k",function(){return A}),n.d(e,"a",function(){return o}),n.d(e,"e",function(){return a}),n.d(e,"f",function(){return c}),n.d(e,"i",function(){return s}),n.d(e,"j",function(){return u}),n.d(e,"l",function(){return g}),n.d(e,"o",function(){return l}),n.d(e,"p",function(){return M}),n.d(e,"c",function(){return h}),n.d(e,"d",function(){return d}),n.d(e,"b",function(){return f}),n.d(e,"h",function(){return I}),n.d(e,"m",function(){return E});var i="top",r="left",A="right",o="bottom",a="index",c="label",s="offset",u="perc",g="size",l="total",M="value",h="guide-label",d="guide-title",f="group-title",I=["shape","size","fill","stroke","strokeDash","opacity"],E={name:1,interactive:1}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.VisComponent=e.unregisterMixinAll=e.unregisterMixin=e.registerMixin=e.mixins=e.unregisterAll=e.unregister=e.register=e.components=void 0;var i=n(13),r=function(t){return t&&t.__esModule?t:{default:t}}(i),A={},o=function(t,e){if(void 0===e&&(e=t.name),A.hasOwnProperty(e))throw new Error('fatal: component "'+e+'" already exists');A[e]=t},a=function(t){A.hasOwnProperty(t)&&delete A[t]},c=function(){Object.keys(A).forEach(a)},s={},u=function(t,e){if(void 0===e&&(e=t.name),s.hasOwnProperty(e))throw new Error('fatal: mixin "'+e+'" already exists');s[e]=t},g=function(t){s.hasOwnProperty(t)&&delete s[t]},l=function(){Object.keys(s).forEach(g)};e.default={components:A,register:o,unregister:a,unregisterAll:c,mixins:s,registerMixin:u,unregisterMixin:g,unregisterMixinAll:l,VisComponent:r.default},e.components=A,e.register=o,e.unregister=a,e.unregisterAll=c,e.mixins=s,e.registerMixin=u,e.unregisterMixin=g,e.unregisterMixinAll=l,e.VisComponent=r.default},function(t,e,n){"use strict";function i(t){return!!c[t]}function r(t){return t.type}function A(t){return(r(t)?t.type:t)in s}Object.defineProperty(e,"__esModule",{value:!0});var o,a=n(2);!function(t){t.AREA="area",t.BAR="bar",t.LINE="line",t.POINT="point",t.RECT="rect",t.RULE="rule",t.TEXT="text",t.TICK="tick",t.CIRCLE="circle",t.SQUARE="square"}(o=e.Mark||(e.Mark={})),e.AREA=o.AREA,e.BAR=o.BAR,e.LINE=o.LINE,e.POINT=o.POINT,e.TEXT=o.TEXT,e.TICK=o.TICK,e.RECT=o.RECT,e.RULE=o.RULE,e.CIRCLE=o.CIRCLE,e.SQUARE=o.SQUARE;var c={area:1,bar:1,line:1,point:1,text:1,tick:1,rect:1,rule:1,circle:1,square:1};e.isMark=i,e.PRIMITIVE_MARKS=a.flagKeys(c),e.isMarkDef=r;var s=a.toSet(e.PRIMITIVE_MARKS);e.isPrimitiveMark=A,e.STROKE_CONFIG=["stroke","strokeWidth","strokeDash","strokeDashOffset","strokeOpacity"],e.FILL_CONFIG=["fill","fillOpacity"],e.FILL_STROKE_CONFIG=[].concat(e.STROKE_CONFIG,e.FILL_CONFIG),e.VL_ONLY_MARK_CONFIG_PROPERTIES=["filled","color"],e.VL_ONLY_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX={bar:["binSpacing","continuousBandSize","discreteBandSize"],text:["shortTimeLabels"],tick:["bandSize","thickness"]},e.defaultMarkConfig={color:"#4c78a8"},e.defaultBarConfig={binSpacing:1,continuousBandSize:5},e.defaultTickConfig={thickness:1}},function(t,e,n){"use strict";function i(t,e){var n=t&&t[e];return!!n&&(M.isArray(n)?M.some(n,function(t){return!!t.field}):g.isFieldDef(n)||g.hasConditionFieldDef(n))}function r(t){return M.some(u.CHANNELS,function(e){if(i(t,e)){var n=t[e];if(M.isArray(n))return M.some(n,function(t){return!!t.aggregate});var r=g.getFieldDef(n);return r&&!!r.aggregate}return!1})}function A(t,e){return M.keys(t).reduce(function(n,i){if(!u.supportMark(i,e))return l.warn(l.message.incompatibleChannel(i,e)),n;if("size"===i&&"line"===e){var r=g.getFieldDef(t[i]);if(r&&r.aggregate)return l.warn(l.message.incompatibleChannel(i,e,"when the field is aggregated.")),n}if("detail"===i||"order"===i){var A=t[i];A&&(n[i]=(M.isArray(A)?A:[A]).reduce(function(t,e){return g.isFieldDef(e)?t.push(g.normalizeFieldDef(e,i)):l.warn(l.message.emptyFieldDef(e,i)),t},[]))}else{var A=t[i];if(!g.isFieldDef(A)&&!g.isValueDef(A)&&!g.isConditionalDef(A))return l.warn(l.message.emptyFieldDef(A,i)),n;n[i]=g.normalize(A,i)}return n},{})}function o(t){return t&&(!!t.x&&!!t.x2||!!t.y&&!!t.y2)}function a(t){var e=[];return u.CHANNELS.forEach(function(n){if(i(t,n)){var r=t[n];(M.isArray(r)?r:[r]).forEach(function(t){g.isFieldDef(t)?e.push(t):g.hasConditionFieldDef(t)&&e.push(t.condition)})}}),e}function c(t,e,n){t&&M.keys(t).forEach(function(i){M.isArray(t[i])?t[i].forEach(function(t){e.call(n,t,i)}):e.call(n,t[i],i)})}function s(t,e,n,i){return t?M.keys(t).reduce(function(n,r){return M.isArray(t[r])?t[r].reduce(function(t,n){return e.call(i,t,n,r)},n):e.call(i,n,t[r],r)},n):n}Object.defineProperty(e,"__esModule",{value:!0});var u=n(7),g=n(9),l=n(4),M=n(2);e.channelHasField=i,e.isAggregate=r,e.normalizeEncoding=A,e.isRanged=o,e.fieldDefs=a,e.forEach=c,e.reduce=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(260);n.d(e,"interpolate",function(){return i.a});var r=n(451);n.d(e,"interpolateArray",function(){return r.a});var A=n(263);n.d(e,"interpolateBasis",function(){return A.b});var o=n(449);n.d(e,"interpolateBasisClosed",function(){return o.a});var a=n(452);n.d(e,"interpolateDate",function(){return a.a});var c=n(173);n.d(e,"interpolateNumber",function(){return c.a});var s=n(453);n.d(e,"interpolateObject",function(){return s.a});var u=n(946);n.d(e,"interpolateRound",function(){return u.a});var g=n(454);n.d(e,"interpolateString",function(){return g.a});var l=n(947);n.d(e,"interpolateTransformCss",function(){return l.a}),n.d(e,"interpolateTransformSvg",function(){return l.b});var M=n(950);n.d(e,"interpolateZoom",function(){return M.a});var h=n(448);n.d(e,"interpolateRgb",function(){return h.a}),n.d(e,"interpolateRgbBasis",function(){return h.b}),n.d(e,"interpolateRgbBasisClosed",function(){return h.c});var d=n(951);n.d(e,"interpolateHsl",function(){return d.a}),n.d(e,"interpolateHslLong",function(){return d.b});var f=n(952);n.d(e,"interpolateLab",function(){return f.a});var I=n(953);n.d(e,"interpolateHcl",function(){return I.a}),n.d(e,"interpolateHclLong",function(){return I.b});var E=n(954);n.d(e,"interpolateCubehelix",function(){return E.b}),n.d(e,"interpolateCubehelixLong",function(){return E.a});var T=n(955);n.d(e,"quantize",function(){return T.a})},function(t,e,n){"use strict";function i(t){return function(e,n,i){return Object(r.e)(t,n,e||void 0,i)}}n.d(e,"a",function(){return A}),n.d(e,"b",function(){return o}),n.d(e,"c",function(){return a}),n.d(e,"d",function(){return c}),n.d(e,"e",function(){return s}),n.d(e,"f",function(){return u}),n.d(e,"g",function(){return g}),n.d(e,"h",function(){return l}),n.d(e,"i",function(){return M}),n.d(e,"j",function(){return h}),n.d(e,"k",function(){return d}),n.d(e,"l",function(){return f}),n.d(e,"m",function(){return I}),n.d(e,"n",function(){return E}),n.d(e,"o",function(){return T}),n.d(e,"p",function(){return N}),n.d(e,"q",function(){return y}),n.d(e,"r",function(){return p}),n.d(e,"s",function(){return C}),n.d(e,"t",function(){return D}),n.d(e,"u",function(){return x}),n.d(e,"v",function(){return B}),n.d(e,"w",function(){return w}),n.d(e,"x",function(){return m}),n.d(e,"z",function(){return Q}),n.d(e,"y",function(){return v});var r=n(25),A=i("aggregate"),o=i("axisticks"),a=i("bound"),c=i("collect"),s=i("compare"),u=i("datajoin"),g=i("encode"),l=(i("extent"),i("facet")),M=i("field"),h=i("key"),d=i("legendentries"),f=i("mark"),I=i("multiextent"),E=i("multivalues"),T=i("overlap"),N=i("params"),y=i("prefacet"),p=i("projection"),C=i("proxy"),D=i("relay"),x=i("render"),B=i("scale"),w=i("sieve"),m=i("sortitems"),Q=i("viewlayout"),v=i("values")},function(t,e,n){"use strict";var i=n(530);n.d(e,"b",function(){return i.c}),n.d(e,"d",function(){return i.b}),n.d(e,"c",function(){return i.a});var r=n(97);n.d(e,"a",function(){return r.a});var A=n(531);n.d(e,"e",function(){return A.a});var o=n(1239);n.d(e,"f",function(){return o.a});var a=n(1240);n.d(e,"g",function(){return a.a});var c=n(533);n.d(e,"h",function(){return c.a});var s=n(535);n.d(e,"i",function(){return s.a});var u=n(1241);n.d(e,"j",function(){return u.a});var g=n(1244);n.d(e,"w",function(){return g.a});var l=n(1245);n.d(e,"x",function(){return l.a});var M=n(539);n.d(e,"y",function(){return M.a});var h=n(1246);n.d(e,"k",function(){return h.a});var d=n(1247);n.d(e,"l",function(){return d.a});var f=n(1248);n.d(e,"m",function(){return f.a});var I=n(1249);n.d(e,"n",function(){return I.a});var E=n(540);n.d(e,"o",function(){return E.a});var T=n(532);n.d(e,"p",function(){return T.a});var N=n(1250);n.d(e,"q",function(){return N.a});var y=n(292);n.d(e,"r",function(){return y.a});var p=n(537);n.d(e,"s",function(){return p.a});var C=n(1251);n.d(e,"t",function(){return C.a});var D=n(1252);n.d(e,"u",function(){return D.a});var x=n(1253);n.d(e,"v",function(){return x.a});var B=n(538);n.d(e,"B",function(){return B.a}),n.d(e,"z",function(){return B.b}),n.d(e,"A",function(){return B.c});var w=n(541);n.d(e,"C",function(){return w.a});var m=n(534);n.d(e,"D",function(){return m.a});var Q=n(1254);n.d(e,"E",function(){return Q.a})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(808);n.d(e,"dispatch",function(){return i.a})},function(t,e,n){"use strict";function i(t,e){this._groups=t,this._parents=e}function r(){return new i([[document.documentElement]],Y)}n.d(e,"c",function(){return Y}),e.a=i;var A=n(605),o=n(606),a=n(607),c=n(608),s=n(320),u=n(610),g=n(611),l=n(612),M=n(613),h=n(614),d=n(615),f=n(616),I=n(617),E=n(618),T=n(619),N=n(620),y=n(322),p=n(621),C=n(622),D=n(623),x=n(624),B=n(625),w=n(626),m=n(627),Q=n(628),v=n(629),j=n(630),L=n(212),S=n(631),Y=[null];i.prototype=r.prototype={constructor:i,select:A.a,selectAll:o.a,filter:a.a,data:c.a,enter:s.b,exit:u.a,merge:g.a,order:l.a,sort:M.a,call:h.a,nodes:d.a,node:f.a,size:I.a,empty:E.a,each:T.a,attr:N.a,style:y.a,property:p.a,classed:C.a,text:D.a,html:x.a,raise:B.a,lower:w.a,append:m.a,insert:Q.a,remove:v.a,datum:j.a,on:L.b,dispatch:S.a},e.b=r},function(t,e,n){"use strict";function i(t){return!!t.signal}function r(t){return!!t.step}function A(t){return!s.isArray(t)&&("fields"in t&&!("data"in t))}function o(t){return!s.isArray(t)&&("fields"in t&&"data"in t)}function a(t){return!s.isArray(t)&&("field"in t&&"data"in t)}function c(t){return!s.isArray(t)&&"signal"in t}Object.defineProperty(e,"__esModule",{value:!0});var s=n(2);e.isVgSignalRef=i,e.isVgRangeStep=r,e.isDataRefUnionedDomain=A,e.isFieldRefUnionDomain=o,e.isDataRefDomain=a,e.isSignalRefDomain=c},function(t,e,n){"use strict";function i(t){return{explicit:!0,value:t}}function r(t){return{explicit:!1,value:t}}function A(t){return function(e,n,i,r){var A=t(e.value,n.value);return A>0?e:A<0?n:o(e,n,i,r)}}function o(t,e,n,i){return t.explicit&&e.explicit&&s.warn(s.message.mergeConflictingProperty(n,i,t.value,e.value)),t}function a(t,e,n,i,r){return void 0===r&&(r=o),void 0===t||void 0===t.value?e:t.explicit&&!e.explicit?t:e.explicit&&!t.explicit?e:t.value===e.value?t:r(t,e,n,i)}Object.defineProperty(e,"__esModule",{value:!0});var c=n(3),s=n(4),u=n(2),g=function(){function t(t,e){void 0===t&&(t={}),void 0===e&&(e={}),this.explicit=t,this.implicit=e}return t.prototype.clone=function(){return new t(u.duplicate(this.explicit),u.duplicate(this.implicit))},t.prototype.combine=function(){return c.__assign({},this.explicit,this.implicit)},t.prototype.get=function(t){return void 0!==this.explicit[t]?this.explicit[t]:this.implicit[t]},t.prototype.getWithExplicit=function(t){return void 0!==this.explicit[t]?{explicit:!0,value:this.explicit[t]}:void 0!==this.implicit[t]?{explicit:!1,value:this.implicit[t]}:{explicit:!1,value:void 0}},t.prototype.setWithExplicit=function(t,e){void 0!==e.value&&this.set(t,e.value,e.explicit)},t.prototype.set=function(t,e,n){return delete this[n?"implicit":"explicit"][t],this[n?"explicit":"implicit"][t]=e,this},t.prototype.copyKeyFromSplit=function(t,e){void 0!==e.explicit[t]?this.set(t,e.explicit[t],!0):void 0!==e.implicit[t]&&this.set(t,e.implicit[t],!1)},t.prototype.copyKeyFromObject=function(t,e){void 0!==e[t]&&this.set(t,e[t],!0)},t}();e.Split=g,e.makeExplicit=i,e.makeImplicit=r,e.tieBreakByComparing=A,e.defaultTieBreaker=o,e.mergeValuesWithExplicit=a},function(t,e,n){"use strict";var i=n(889);n.d(e,"a",function(){return i.a})},function(t,e,n){"use strict";var i=n(29),r=n(19);e.a=function(t,e,n,A,o,a,c){return{type:t,name:c?c.name:void 0,role:e,style:c&&c.style||n,key:A,from:o,interactive:!(!c||!c.interactive),encode:Object(r.d)(a,c,i.m)}}},function(t,e,n){"use strict";function i(t,e){var n=t.__transition;if(!n||!(n=n[e])||n.state>g)throw new Error("too late");return n}function r(t,e){var n=t.__transition;if(!n||!(n=n[e])||n.state>M)throw new Error("too late");return n}function A(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("too late");return n}function o(t,e,n){function i(t){n.state=l,n.timer.restart(r,n.delay,n.time),n.delay<=t&&r(t-n.delay)}function r(i){var u,g,f,E;if(n.state!==l)return o();for(u in s)if(E=s[u],E.name===n.name){if(E.state===h)return Object(c.b)(r);E.state===d?(E.state=I,E.timer.stop(),E.on.call("interrupt",t,t.__data__,E.index,E.group),delete s[u]):+u<e&&(E.state=I,E.timer.stop(),delete s[u])}if(Object(c.b)(function(){n.state===h&&(n.state=d,n.timer.restart(A,n.delay,n.time),A(i))}),n.state=M,n.on.call("start",t,t.__data__,n.index,n.group),n.state===M){for(n.state=h,a=new Array(f=n.tween.length),u=0,g=-1;u<f;++u)(E=n.tween[u].value.call(t,t.__data__,n.index,n.group))&&(a[++g]=E);a.length=g+1}}function A(e){for(var i=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(o),n.state=f,1),r=-1,A=a.length;++r<A;)a[r].call(null,i);n.state===f&&(n.on.call("end",t,t.__data__,n.index,n.group),o())}function o(){n.state=I,n.timer.stop(),delete s[e];for(var i in s)return;delete t.__transition}var a,s=t.__transition;s[e]=n,n.timer=Object(c.c)(i,0,n.time)}n.d(e,"c",function(){return l}),n.d(e,"d",function(){return M}),n.d(e,"b",function(){return f}),n.d(e,"a",function(){return I}),e.g=i,e.h=r,e.f=A;var a=n(36),c=n(273),s=Object(a.dispatch)("start","end","interrupt"),u=[],g=0,l=1,M=2,h=3,d=4,f=5,I=6;e.e=function(t,e,n,i,r,A){var a=t.__transition;if(a){if(n in a)return}else t.__transition={};o(t,n,{name:e,index:i,group:r,on:s,tween:u,time:A.time,delay:A.delay,duration:A.duration,ease:A.ease,timer:null,state:g})}},function(t,e,n){"use strict";function i(t,e){this._groups=t,this._parents=e}function r(){return new i([[document.documentElement]],b)}n.d(e,"c",function(){return b}),e.a=i;var A=n(1305),o=n(1306),a=n(1307),c=n(1308),s=n(552),u=n(1310),g=n(1311),l=n(1312),M=n(1313),h=n(1314),d=n(1315),f=n(1316),I=n(1317),E=n(1318),T=n(1319),N=n(1320),y=n(554),p=n(1321),C=n(1322),D=n(1323),x=n(1324),B=n(1325),w=n(1326),m=n(1327),Q=n(1328),v=n(1329),j=n(1330),L=n(1331),S=n(298),Y=n(1332),b=[null];i.prototype=r.prototype={constructor:i,select:A.a,selectAll:o.a,filter:a.a,data:c.a,enter:s.b,exit:u.a,merge:g.a,order:l.a,sort:M.a,call:h.a,nodes:d.a,node:f.a,size:I.a,empty:E.a,each:T.a,attr:N.a,style:y.a,property:p.a,classed:C.a,text:D.a,html:x.a,raise:B.a,lower:w.a,append:m.a,insert:Q.a,remove:v.a,clone:j.a,datum:L.a,on:S.b,dispatch:Y.a},e.b=r},function(t,e,n){"use strict";function i(t,e){var n=A(t,e);if(n.state>g)throw new Error("too late; already scheduled");return n}function r(t,e){var n=A(t,e);if(n.state>M)throw new Error("too late; already started");return n}function A(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function o(t,e,n){function i(t){n.state=l,n.timer.restart(r,n.delay,n.time),n.delay<=t&&r(t-n.delay)}function r(i){var u,g,f,E;if(n.state!==l)return o();for(u in s)if(E=s[u],E.name===n.name){if(E.state===h)return Object(c.c)(r);E.state===d?(E.state=I,E.timer.stop(),E.on.call("interrupt",t,t.__data__,E.index,E.group),delete s[u]):+u<e&&(E.state=I,E.timer.stop(),delete s[u])}if(Object(c.c)(function(){n.state===h&&(n.state=d,n.timer.restart(A,n.delay,n.time),A(i))}),n.state=M,n.on.call("start",t,t.__data__,n.index,n.group),n.state===M){for(n.state=h,a=new Array(f=n.tween.length),u=0,g=-1;u<f;++u)(E=n.tween[u].value.call(t,t.__data__,n.index,n.group))&&(a[++g]=E);a.length=g+1}}function A(e){for(var i=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(o),n.state=f,1),r=-1,A=a.length;++r<A;)a[r].call(null,i);n.state===f&&(n.on.call("end",t,t.__data__,n.index,n.group),o())}function o(){n.state=I,n.timer.stop(),delete s[e];for(var i in s)return;delete t.__transition}var a,s=t.__transition;s[e]=n,n.timer=Object(c.d)(i,0,n.time)}n.d(e,"c",function(){return l}),n.d(e,"d",function(){return M}),n.d(e,"b",function(){return f}),n.d(e,"a",function(){return I}),e.g=i,e.h=r,e.f=A;var a=n(36),c=n(198),s=Object(a.dispatch)("start","end","interrupt"),u=[],g=0,l=1,M=2,h=3,d=4,f=5,I=6;e.e=function(t,e,n,i,r,A){var a=t.__transition;if(a){if(n in a)return}else t.__transition={};o(t,n,{name:e,index:i,group:r,on:s,tween:u,time:A.time,delay:A.delay,duration:A.duration,ease:A.ease,timer:null,state:g})}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(803);n.d(e,"nest",function(){return i.a});var r=n(804);n.d(e,"set",function(){return r.a});var A=n(244);n.d(e,"map",function(){return A.a});var o=n(805);n.d(e,"keys",function(){return o.a});var a=n(806);n.d(e,"values",function(){return a.a});var c=n(807);n.d(e,"entries",function(){return c.a})},function(t,e,n){"use strict";function i(t){return Object(M.b)({point:function(e,n){var i=t(e,n);return this.stream.point(i[0],i[1])}})}function r(t){return A(function(){return t})()}function A(t){function e(t){return t=y(t[0]*g.r,t[1]*g.r),[t[0]*w+E,T-t[1]*w]}function n(t){return(t=y.invert((t[0]-E)/w,(T-t[1])/w))&&[t[0]*g.h,t[1]*g.h]}function r(t,e){return t=I(t,e),[t[0]*w+E,T-t[1]*w]}function A(){y=Object(s.a)(N=Object(l.b)(L,S,Y),I);var t=I(v,j);return E=m-t[0]*w,T=Q+t[1]*w,M()}function M(){return x=B=null,e}var I,E,T,N,y,p,C,D,x,B,w=150,m=480,Q=250,v=0,j=0,L=0,S=0,Y=0,b=null,O=o.a,z=null,U=u.a,F=.5,k=Object(d.a)(r,F);return e.stream=function(t){return x&&B===t?x:x=f(i(N)(O(k(U(B=t)))))},e.preclip=function(t){return arguments.length?(O=t,b=void 0,M()):O},e.postclip=function(t){return arguments.length?(U=t,z=p=C=D=null,M()):U},e.clipAngle=function(t){return arguments.length?(O=+t?Object(a.a)(b=t*g.r):(b=null,o.a),M()):b*g.h},e.clipExtent=function(t){return arguments.length?(U=null==t?(z=p=C=D=null,u.a):Object(c.a)(z=+t[0][0],p=+t[0][1],C=+t[1][0],D=+t[1][1]),M()):null==z?null:[[z,p],[C,D]]},e.scale=function(t){return arguments.length?(w=+t,A()):w},e.translate=function(t){return arguments.length?(m=+t[0],Q=+t[1],A()):[m,Q]},e.center=function(t){return arguments.length?(v=t[0]%360*g.r,j=t[1]%360*g.r,A()):[v*g.h,j*g.h]},e.rotate=function(t){return arguments.length?(L=t[0]%360*g.r,S=t[1]%360*g.r,Y=t.length>2?t[2]%360*g.r:0,A()):[L*g.h,S*g.h,Y*g.h]},e.precision=function(t){return arguments.length?(k=Object(d.a)(r,F=t*t),M()):Object(g.u)(F)},e.fitExtent=function(t,n){return Object(h.a)(e,t,n)},e.fitSize=function(t,n){return Object(h.c)(e,t,n)},e.fitWidth=function(t,n){return Object(h.d)(e,t,n)},e.fitHeight=function(t,n){return Object(h.b)(e,t,n)},function(){return I=t.apply(this,arguments),e.invert=I.invert&&n,A()}}e.a=r,e.b=A;var o=n(565),a=n(571),c=n(201),s=n(564),u=n(306),g=n(5),l=n(200),M=n(202),h=n(309),d=n(1376),f=Object(M.b)({point:function(t,e){this.stream.point(t*g.r,e*g.r)}})},function(t,e,n){"use strict";var i=n(311);n.d(e,"a",function(){return i.a});var r=n(580);n.d(e,"b",function(){return r.a});var A=n(312);n.d(e,"c",function(){return A.b});var o=n(578);n.d(e,"d",function(){return o.a});var a=n(581);n.d(e,"g",function(){return a.a});var c=n(203);n.d(e,"m",function(){return c.a});var s=n(582);n.d(e,"n",function(){return s.a});var u=n(1389);n.d(e,"r",function(){return u.a});var g=n(583);n.d(e,"s",function(){return g.a});var l=n(1390);n.d(e,"t",function(){return l.a}),n.d(e,"u",function(){return l.b});var M=n(1393);n.d(e,"v",function(){return M.a});var h=n(577);n.d(e,"o",function(){return h.a}),n.d(e,"p",function(){return h.b}),n.d(e,"q",function(){return h.c});var d=n(1394);n.d(e,"j",function(){return d.a}),n.d(e,"k",function(){return d.b});var f=n(1395);n.d(e,"l",function(){return f.a});var I=n(1396);n.d(e,"h",function(){return I.a}),n.d(e,"i",function(){return I.b});var E=n(1397);n.d(e,"e",function(){return E.b}),n.d(e,"f",function(){return E.a});var T=n(1398);n.d(e,"w",function(){return T.a})},function(t,e,n){var i,r;/*!
+ * jQuery JavaScript Library v3.3.1
+ * https://jquery.com/
+ *
+ * Includes Sizzle.js
+ * https://sizzlejs.com/
+ *
+ * Copyright JS Foundation and other contributors
+ * Released under the MIT license
+ * https://jquery.org/license
+ *
+ * Date: 2018-01-20T17:24Z
+ */
+!function(e,n){"use strict";"object"==typeof t&&"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return n(t)}:n(e)}("undefined"!=typeof window?window:this,function(n,A){"use strict";function o(t,e,n){e=e||ut;var i,r=e.createElement("script");if(r.text=t,n)for(i in Dt)n[i]&&(r[i]=n[i]);e.head.appendChild(r).parentNode.removeChild(r)}function a(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?ft[It.call(t)]||"object":typeof t}function c(t){var e=!!t&&"length"in t&&t.length,n=a(t);return!pt(t)&&!Ct(t)&&("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function s(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()}function u(t,e,n){return pt(e)?xt.grep(t,function(t,i){return!!e.call(t,i,t)!==n}):e.nodeType?xt.grep(t,function(t){return t===e!==n}):"string"!=typeof e?xt.grep(t,function(t){return dt.call(e,t)>-1!==n}):xt.filter(e,t,n)}function g(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}function l(t){var e={};return xt.each(t.match(Ot)||[],function(t,n){e[n]=!0}),e}function M(t){return t}function h(t){throw t}function d(t,e,n,i){var r;try{t&&pt(r=t.promise)?r.call(t).done(e).fail(n):t&&pt(r=t.then)?r.call(t,e,n):e.apply(void 0,[t].slice(i))}catch(t){n.apply(void 0,[t])}}function f(){ut.removeEventListener("DOMContentLoaded",f),n.removeEventListener("load",f),xt.ready()}function I(t,e){return e.toUpperCase()}function E(t){return t.replace(kt,"ms-").replace(Rt,I)}function T(){this.expando=xt.expando+T.uid++}function N(t){return"true"===t||"false"!==t&&("null"===t?null:t===+t+""?+t:Pt.test(t)?JSON.parse(t):t)}function y(t,e,n){var i;if(void 0===n&&1===t.nodeType)if(i="data-"+e.replace(Xt,"-$&").toLowerCase(),"string"==typeof(n=t.getAttribute(i))){try{n=N(n)}catch(t){}Jt.set(t,e,n)}else n=void 0;return n}function p(t,e,n,i){var r,A,o=20,a=i?function(){return i.cur()}:function(){return xt.css(t,e,"")},c=a(),s=n&&n[3]||(xt.cssNumber[e]?"":"px"),u=(xt.cssNumber[e]||"px"!==s&&+c)&&Wt.exec(xt.css(t,e));if(u&&u[3]!==s){for(c/=2,s=s||u[3],u=+c||1;o--;)xt.style(t,e,u+s),(1-A)*(1-(A=a()/c||.5))<=0&&(o=0),u/=A;u*=2,xt.style(t,e,u+s),n=n||[]}return n&&(u=+u||+c||0,r=n[1]?u+(n[1]+1)*n[2]:+n[2],i&&(i.unit=s,i.start=u,i.end=r)),r}function C(t){var e,n=t.ownerDocument,i=t.nodeName,r=qt[i];return r||(e=n.body.appendChild(n.createElement(i)),r=xt.css(e,"display"),e.parentNode.removeChild(e),"none"===r&&(r="block"),qt[i]=r,r)}function D(t,e){for(var n,i,r=[],A=0,o=t.length;A<o;A++)i=t[A],i.style&&(n=i.style.display,e?("none"===n&&(r[A]=Ht.get(i,"display")||null,r[A]||(i.style.display="")),""===i.style.display&&Zt(i)&&(r[A]=C(i))):"none"!==n&&(r[A]="none",Ht.set(i,"display",n)));for(A=0;A<o;A++)null!=r[A]&&(t[A].style.display=r[A]);return t}function x(t,e){var n;return n=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||"*"):void 0!==t.querySelectorAll?t.querySelectorAll(e||"*"):[],void 0===e||e&&s(t,e)?xt.merge([t],n):n}function B(t,e){for(var n=0,i=t.length;n<i;n++)Ht.set(t[n],"globalEval",!e||Ht.get(e[n],"globalEval"))}function w(t,e,n,i,r){for(var A,o,c,s,u,g,l=e.createDocumentFragment(),M=[],h=0,d=t.length;h<d;h++)if((A=t[h])||0===A)if("object"===a(A))xt.merge(M,A.nodeType?[A]:A);else if(ie.test(A)){for(o=o||l.appendChild(e.createElement("div")),c=(te.exec(A)||["",""])[1].toLowerCase(),s=ne[c]||ne._default,o.innerHTML=s[1]+xt.htmlPrefilter(A)+s[2],g=s[0];g--;)o=o.lastChild;xt.merge(M,o.childNodes),o=l.firstChild,o.textContent=""}else M.push(e.createTextNode(A));for(l.textContent="",h=0;A=M[h++];)if(i&&xt.inArray(A,i)>-1)r&&r.push(A);else if(u=xt.contains(A.ownerDocument,A),o=x(l.appendChild(A),"script"),u&&B(o),n)for(g=0;A=o[g++];)ee.test(A.type||"")&&n.push(A);return l}function m(){return!0}function Q(){return!1}function v(){try{return ut.activeElement}catch(t){}}function j(t,e,n,i,r,A){var o,a;if("object"==typeof e){"string"!=typeof n&&(i=i||n,n=void 0);for(a in e)j(t,a,n,i,e[a],A);return t}if(null==i&&null==r?(r=n,i=n=void 0):null==r&&("string"==typeof n?(r=i,i=void 0):(r=i,i=n,n=void 0)),!1===r)r=Q;else if(!r)return t;return 1===A&&(o=r,r=function(t){return xt().off(t),o.apply(this,arguments)},r.guid=o.guid||(o.guid=xt.guid++)),t.each(function(){xt.event.add(this,e,r,i,n)})}function L(t,e){return s(t,"table")&&s(11!==e.nodeType?e:e.firstChild,"tr")?xt(t).children("tbody")[0]||t:t}function S(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function Y(t){return"true/"===(t.type||"").slice(0,5)?t.type=t.type.slice(5):t.removeAttribute("type"),t}function b(t,e){var n,i,r,A,o,a,c,s;if(1===e.nodeType){if(Ht.hasData(t)&&(A=Ht.access(t),o=Ht.set(e,A),s=A.events)){delete o.handle,o.events={};for(r in s)for(n=0,i=s[r].length;n<i;n++)xt.event.add(e,r,s[r][n])}Jt.hasData(t)&&(a=Jt.access(t),c=xt.extend({},a),Jt.set(e,c))}}function O(t,e){var n=e.nodeName.toLowerCase();"input"===n&&$t.test(t.type)?e.checked=t.checked:"input"!==n&&"textarea"!==n||(e.defaultValue=t.defaultValue)}function z(t,e,n,i){e=Mt.apply([],e);var r,A,a,c,s,u,g=0,l=t.length,M=l-1,h=e[0],d=pt(h);if(d||l>1&&"string"==typeof h&&!yt.checkClone&&ue.test(h))return t.each(function(r){var A=t.eq(r);d&&(e[0]=h.call(this,r,A.html())),z(A,e,n,i)});if(l&&(r=w(e,t[0].ownerDocument,!1,t,i),A=r.firstChild,1===r.childNodes.length&&(r=A),A||i)){for(a=xt.map(x(r,"script"),S),c=a.length;g<l;g++)s=r,g!==M&&(s=xt.clone(s,!0,!0),c&&xt.merge(a,x(s,"script"))),n.call(t[g],s,g);if(c)for(u=a[a.length-1].ownerDocument,xt.map(a,Y),g=0;g<c;g++)s=a[g],ee.test(s.type||"")&&!Ht.access(s,"globalEval")&&xt.contains(u,s)&&(s.src&&"module"!==(s.type||"").toLowerCase()?xt._evalUrl&&xt._evalUrl(s.src):o(s.textContent.replace(ge,""),u,s))}return t}function U(t,e,n){for(var i,r=e?xt.filter(e,t):t,A=0;null!=(i=r[A]);A++)n||1!==i.nodeType||xt.cleanData(x(i)),i.parentNode&&(n&&xt.contains(i.ownerDocument,i)&&B(x(i,"script")),i.parentNode.removeChild(i));return t}function F(t,e,n){var i,r,A,o,a=t.style;return n=n||Me(t),n&&(o=n.getPropertyValue(e)||n[e],""!==o||xt.contains(t.ownerDocument,t)||(o=xt.style(t,e)),!yt.pixelBoxStyles()&&le.test(o)&&he.test(e)&&(i=a.width,r=a.minWidth,A=a.maxWidth,a.minWidth=a.maxWidth=a.width=o,o=n.width,a.width=i,a.minWidth=r,a.maxWidth=A)),void 0!==o?o+"":o}function k(t,e){return{get:function(){return t()?void delete this.get:(this.get=e).apply(this,arguments)}}}function R(t){if(t in Ne)return t;for(var e=t[0].toUpperCase()+t.slice(1),n=Te.length;n--;)if((t=Te[n]+e)in Ne)return t}function G(t){var e=xt.cssProps[t];return e||(e=xt.cssProps[t]=R(t)||t),e}function H(t,e,n){var i=Wt.exec(e);return i?Math.max(0,i[2]-(n||0))+(i[3]||"px"):e}function J(t,e,n,i,r,A){var o="width"===e?1:0,a=0,c=0;if(n===(i?"border":"content"))return 0;for(;o<4;o+=2)"margin"===n&&(c+=xt.css(t,n+_t[o],!0,r)),i?("content"===n&&(c-=xt.css(t,"padding"+_t[o],!0,r)),"margin"!==n&&(c-=xt.css(t,"border"+_t[o]+"Width",!0,r))):(c+=xt.css(t,"padding"+_t[o],!0,r),"padding"!==n?c+=xt.css(t,"border"+_t[o]+"Width",!0,r):a+=xt.css(t,"border"+_t[o]+"Width",!0,r));return!i&&A>=0&&(c+=Math.max(0,Math.ceil(t["offset"+e[0].toUpperCase()+e.slice(1)]-A-c-a-.5))),c}function P(t,e,n){var i=Me(t),r=F(t,e,i),A="border-box"===xt.css(t,"boxSizing",!1,i),o=A;if(le.test(r)){if(!n)return r;r="auto"}return o=o&&(yt.boxSizingReliable()||r===t.style[e]),("auto"===r||!parseFloat(r)&&"inline"===xt.css(t,"display",!1,i))&&(r=t["offset"+e[0].toUpperCase()+e.slice(1)],o=!0),(r=parseFloat(r)||0)+J(t,e,n||(A?"border":"content"),o,i,r)+"px"}function X(t,e,n,i,r){return new X.prototype.init(t,e,n,i,r)}function V(){pe&&(!1===ut.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(V):n.setTimeout(V,xt.fx.interval),xt.fx.tick())}function W(){return n.setTimeout(function(){ye=void 0}),ye=Date.now()}function _(t,e){var n,i=0,r={height:t};for(e=e?1:0;i<4;i+=2-e)n=_t[i],r["margin"+n]=r["padding"+n]=t;return e&&(r.opacity=r.width=t),r}function Z(t,e,n){for(var i,r=($.tweeners[e]||[]).concat($.tweeners["*"]),A=0,o=r.length;A<o;A++)if(i=r[A].call(n,e,t))return i}function K(t,e,n){var i,r,A,o,a,c,s,u,g="width"in e||"height"in e,l=this,M={},h=t.style,d=t.nodeType&&Zt(t),f=Ht.get(t,"fxshow");n.queue||(o=xt._queueHooks(t,"fx"),null==o.unqueued&&(o.unqueued=0,a=o.empty.fire,o.empty.fire=function(){o.unqueued||a()}),o.unqueued++,l.always(function(){l.always(function(){o.unqueued--,xt.queue(t,"fx").length||o.empty.fire()})}));for(i in e)if(r=e[i],Ce.test(r)){if(delete e[i],A=A||"toggle"===r,r===(d?"hide":"show")){if("show"!==r||!f||void 0===f[i])continue;d=!0}M[i]=f&&f[i]||xt.style(t,i)}if((c=!xt.isEmptyObject(e))||!xt.isEmptyObject(M)){g&&1===t.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],s=f&&f.display,null==s&&(s=Ht.get(t,"display")),u=xt.css(t,"display"),"none"===u&&(s?u=s:(D([t],!0),s=t.style.display||s,u=xt.css(t,"display"),D([t]))),("inline"===u||"inline-block"===u&&null!=s)&&"none"===xt.css(t,"float")&&(c||(l.done(function(){h.display=s}),null==s&&(u=h.display,s="none"===u?"":u)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",l.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),c=!1;for(i in M)c||(f?"hidden"in f&&(d=f.hidden):f=Ht.access(t,"fxshow",{display:s}),A&&(f.hidden=!d),d&&D([t],!0),l.done(function(){d||D([t]),Ht.remove(t,"fxshow");for(i in M)xt.style(t,i,M[i])})),c=Z(d?f[i]:0,i,l),i in f||(f[i]=c.start,d&&(c.end=c.start,c.start=0))}}function q(t,e){var n,i,r,A,o;for(n in t)if(i=E(n),r=e[i],A=t[n],Array.isArray(A)&&(r=A[1],A=t[n]=A[0]),n!==i&&(t[i]=A,delete t[n]),(o=xt.cssHooks[i])&&"expand"in o){A=o.expand(A),delete t[i];for(n in A)n in t||(t[n]=A[n],e[n]=r)}else e[i]=r}function $(t,e,n){var i,r,A=0,o=$.prefilters.length,a=xt.Deferred().always(function(){delete c.elem}),c=function(){if(r)return!1;for(var e=ye||W(),n=Math.max(0,s.startTime+s.duration-e),i=n/s.duration||0,A=1-i,o=0,c=s.tweens.length;o<c;o++)s.tweens[o].run(A);return a.notifyWith(t,[s,A,n]),A<1&&c?n:(c||a.notifyWith(t,[s,1,0]),a.resolveWith(t,[s]),!1)},s=a.promise({elem:t,props:xt.extend({},e),opts:xt.extend(!0,{specialEasing:{},easing:xt.easing._default},n),originalProperties:e,originalOptions:n,startTime:ye||W(),duration:n.duration,tweens:[],createTween:function(e,n){var i=xt.Tween(t,s.opts,e,n,s.opts.specialEasing[e]||s.opts.easing);return s.tweens.push(i),i},stop:function(e){var n=0,i=e?s.tweens.length:0;if(r)return this;for(r=!0;n<i;n++)s.tweens[n].run(1);return e?(a.notifyWith(t,[s,1,0]),a.resolveWith(t,[s,e])):a.rejectWith(t,[s,e]),this}}),u=s.props;for(q(u,s.opts.specialEasing);A<o;A++)if(i=$.prefilters[A].call(s,t,u,s.opts))return pt(i.stop)&&(xt._queueHooks(s.elem,s.opts.queue).stop=i.stop.bind(i)),i;return xt.map(u,Z,s),pt(s.opts.start)&&s.opts.start.call(t,s),s.progress(s.opts.progress).done(s.opts.done,s.opts.complete).fail(s.opts.fail).always(s.opts.always),xt.fx.timer(xt.extend(c,{elem:t,anim:s,queue:s.opts.queue})),s}function tt(t){return(t.match(Ot)||[]).join(" ")}function et(t){return t.getAttribute&&t.getAttribute("class")||""}function nt(t){return Array.isArray(t)?t:"string"==typeof t?t.match(Ot)||[]:[]}function it(t,e,n,i){var r;if(Array.isArray(e))xt.each(e,function(e,r){n||be.test(t)?i(t,r):it(t+"["+("object"==typeof r&&null!=r?e:"")+"]",r,n,i)});else if(n||"object"!==a(e))i(t,e);else for(r in e)it(t+"["+r+"]",e[r],n,i)}function rt(t){return function(e,n){"string"!=typeof e&&(n=e,e="*");var i,r=0,A=e.toLowerCase().match(Ot)||[];if(pt(n))for(;i=A[r++];)"+"===i[0]?(i=i.slice(1)||"*",(t[i]=t[i]||[]).unshift(n)):(t[i]=t[i]||[]).push(n)}}function At(t,e,n,i){function r(a){var c;return A[a]=!0,xt.each(t[a]||[],function(t,a){var s=a(e,n,i);return"string"!=typeof s||o||A[s]?o?!(c=s):void 0:(e.dataTypes.unshift(s),r(s),!1)}),c}var A={},o=t===Ve;return r(e.dataTypes[0])||!A["*"]&&r("*")}function ot(t,e){var n,i,r=xt.ajaxSettings.flatOptions||{};for(n in e)void 0!==e[n]&&((r[n]?t:i||(i={}))[n]=e[n]);return i&&xt.extend(!0,t,i),t}function at(t,e,n){for(var i,r,A,o,a=t.contents,c=t.dataTypes;"*"===c[0];)c.shift(),void 0===i&&(i=t.mimeType||e.getResponseHeader("Content-Type"));if(i)for(r in a)if(a[r]&&a[r].test(i)){c.unshift(r);break}if(c[0]in n)A=c[0];else{for(r in n){if(!c[0]||t.converters[r+" "+c[0]]){A=r;break}o||(o=r)}A=A||o}if(A)return A!==c[0]&&c.unshift(A),n[A]}function ct(t,e,n,i){var r,A,o,a,c,s={},u=t.dataTypes.slice();if(u[1])for(o in t.converters)s[o.toLowerCase()]=t.converters[o];for(A=u.shift();A;)if(t.responseFields[A]&&(n[t.responseFields[A]]=e),!c&&i&&t.dataFilter&&(e=t.dataFilter(e,t.dataType)),c=A,A=u.shift())if("*"===A)A=c;else if("*"!==c&&c!==A){if(!(o=s[c+" "+A]||s["* "+A]))for(r in s)if(a=r.split(" "),a[1]===A&&(o=s[c+" "+a[0]]||s["* "+a[0]])){!0===o?o=s[r]:!0!==s[r]&&(A=a[0],u.unshift(a[1]));break}if(!0!==o)if(o&&t.throws)e=o(e);else try{e=o(e)}catch(t){return{state:"parsererror",error:o?t:"No conversion from "+c+" to "+A}}}return{state:"success",data:e}}var st=[],ut=n.document,gt=Object.getPrototypeOf,lt=st.slice,Mt=st.concat,ht=st.push,dt=st.indexOf,ft={},It=ft.toString,Et=ft.hasOwnProperty,Tt=Et.toString,Nt=Tt.call(Object),yt={},pt=function(t){return"function"==typeof t&&"number"!=typeof t.nodeType},Ct=function(t){return null!=t&&t===t.window},Dt={type:!0,src:!0,noModule:!0},xt=function(t,e){return new xt.fn.init(t,e)},Bt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;xt.fn=xt.prototype={jquery:"3.3.1",constructor:xt,length:0,toArray:function(){return lt.call(this)},get:function(t){return null==t?lt.call(this):t<0?this[t+this.length]:this[t]},pushStack:function(t){var e=xt.merge(this.constructor(),t);return e.prevObject=this,e},each:function(t){return xt.each(this,t)},map:function(t){return this.pushStack(xt.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return this.pushStack(lt.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){var e=this.length,n=+t+(t<0?e:0);return this.pushStack(n>=0&&n<e?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:ht,sort:st.sort,splice:st.splice},xt.extend=xt.fn.extend=function(){var t,e,n,i,r,A,o=arguments[0]||{},a=1,c=arguments.length,s=!1;for("boolean"==typeof o&&(s=o,o=arguments[a]||{},a++),"object"==typeof o||pt(o)||(o={}),a===c&&(o=this,a--);a<c;a++)if(null!=(t=arguments[a]))for(e in t)n=o[e],i=t[e],o!==i&&(s&&i&&(xt.isPlainObject(i)||(r=Array.isArray(i)))?(r?(r=!1,A=n&&Array.isArray(n)?n:[]):A=n&&xt.isPlainObject(n)?n:{},o[e]=xt.extend(s,A,i)):void 0!==i&&(o[e]=i));return o},xt.extend({expando:"jQuery"+("3.3.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(t){throw new Error(t)},noop:function(){},isPlainObject:function(t){var e,n;return!(!t||"[object Object]"!==It.call(t))&&(!(e=gt(t))||"function"==typeof(n=Et.call(e,"constructor")&&e.constructor)&&Tt.call(n)===Nt)},isEmptyObject:function(t){var e;for(e in t)return!1;return!0},globalEval:function(t){o(t)},each:function(t,e){var n,i=0;if(c(t))for(n=t.length;i<n&&!1!==e.call(t[i],i,t[i]);i++);else for(i in t)if(!1===e.call(t[i],i,t[i]))break;return t},trim:function(t){return null==t?"":(t+"").replace(Bt,"")},makeArray:function(t,e){var n=e||[];return null!=t&&(c(Object(t))?xt.merge(n,"string"==typeof t?[t]:t):ht.call(n,t)),n},inArray:function(t,e,n){return null==e?-1:dt.call(e,t,n)},merge:function(t,e){for(var n=+e.length,i=0,r=t.length;i<n;i++)t[r++]=e[i];return t.length=r,t},grep:function(t,e,n){for(var i=[],r=0,A=t.length,o=!n;r<A;r++)!e(t[r],r)!==o&&i.push(t[r]);return i},map:function(t,e,n){var i,r,A=0,o=[];if(c(t))for(i=t.length;A<i;A++)null!=(r=e(t[A],A,n))&&o.push(r);else for(A in t)null!=(r=e(t[A],A,n))&&o.push(r);return Mt.apply([],o)},guid:1,support:yt}),"function"==typeof Symbol&&(xt.fn[Symbol.iterator]=st[Symbol.iterator]),xt.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(t,e){ft["[object "+e+"]"]=e.toLowerCase()});var wt=/*!
+ * Sizzle CSS Selector Engine v2.3.3
+ * https://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2016-08-08
+ */
+function(t){function e(t,e,n,i){var r,A,o,a,c,u,l,M=e&&e.ownerDocument,h=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==h&&9!==h&&11!==h)return n;if(!i&&((e?e.ownerDocument||e:F)!==j&&v(e),e=e||j,S)){if(11!==h&&(c=dt.exec(t)))if(r=c[1]){if(9===h){if(!(o=e.getElementById(r)))return n;if(o.id===r)return n.push(o),n}else if(M&&(o=M.getElementById(r))&&z(e,o)&&o.id===r)return n.push(o),n}else{if(c[2])return Z.apply(n,e.getElementsByTagName(t)),n;if((r=c[3])&&N.getElementsByClassName&&e.getElementsByClassName)return Z.apply(n,e.getElementsByClassName(r)),n}if(N.qsa&&!J[t+" "]&&(!Y||!Y.test(t))){if(1!==h)M=e,l=t;else if("object"!==e.nodeName.toLowerCase()){for((a=e.getAttribute("id"))?a=a.replace(Tt,Nt):e.setAttribute("id",a=U),u=D(t),A=u.length;A--;)u[A]="#"+a+" "+g(u[A]);l=u.join(","),M=ft.test(t)&&s(e.parentNode)||e}if(l)try{return Z.apply(n,M.querySelectorAll(l)),n}catch(t){}finally{a===U&&e.removeAttribute("id")}}}return B(t.replace(At,"$1"),e,n,i)}function n(){function t(n,i){return e.push(n+" ")>y.cacheLength&&delete t[e.shift()],t[n+" "]=i}var e=[];return t}function i(t){return t[U]=!0,t}function r(t){var e=j.createElement("fieldset");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function A(t,e){for(var n=t.split("|"),i=n.length;i--;)y.attrHandle[n[i]]=e}function o(t,e){var n=e&&t,i=n&&1===t.nodeType&&1===e.nodeType&&t.sourceIndex-e.sourceIndex;if(i)return i;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function a(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&pt(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function c(t){return i(function(e){return e=+e,i(function(n,i){for(var r,A=t([],n.length,e),o=A.length;o--;)n[r=A[o]]&&(n[r]=!(i[r]=n[r]))})})}function s(t){return t&&void 0!==t.getElementsByTagName&&t}function u(){}function g(t){for(var e=0,n=t.length,i="";e<n;e++)i+=t[e].value;return i}function l(t,e,n){var i=e.dir,r=e.next,A=r||i,o=n&&"parentNode"===A,a=R++;return e.first?function(e,n,r){for(;e=e[i];)if(1===e.nodeType||o)return t(e,n,r);return!1}:function(e,n,c){var s,u,g,l=[k,a];if(c){for(;e=e[i];)if((1===e.nodeType||o)&&t(e,n,c))return!0}else for(;e=e[i];)if(1===e.nodeType||o)if(g=e[U]||(e[U]={}),u=g[e.uniqueID]||(g[e.uniqueID]={}),r&&r===e.nodeName.toLowerCase())e=e[i]||e;else{if((s=u[A])&&s[0]===k&&s[1]===a)return l[2]=s[2];if(u[A]=l,l[2]=t(e,n,c))return!0}return!1}}function M(t){return t.length>1?function(e,n,i){for(var r=t.length;r--;)if(!t[r](e,n,i))return!1;return!0}:t[0]}function h(t,n,i){for(var r=0,A=n.length;r<A;r++)e(t,n[r],i);return i}function d(t,e,n,i,r){for(var A,o=[],a=0,c=t.length,s=null!=e;a<c;a++)(A=t[a])&&(n&&!n(A,i,r)||(o.push(A),s&&e.push(a)));return o}function f(t,e,n,r,A,o){return r&&!r[U]&&(r=f(r)),A&&!A[U]&&(A=f(A,o)),i(function(i,o,a,c){var s,u,g,l=[],M=[],f=o.length,I=i||h(e||"*",a.nodeType?[a]:a,[]),E=!t||!i&&e?I:d(I,l,t,a,c),T=n?A||(i?t:f||r)?[]:o:E;if(n&&n(E,T,a,c),r)for(s=d(T,M),r(s,[],a,c),u=s.length;u--;)(g=s[u])&&(T[M[u]]=!(E[M[u]]=g));if(i){if(A||t){if(A){for(s=[],u=T.length;u--;)(g=T[u])&&s.push(E[u]=g);A(null,T=[],s,c)}for(u=T.length;u--;)(g=T[u])&&(s=A?q(i,g):l[u])>-1&&(i[s]=!(o[s]=g))}}else T=d(T===o?T.splice(f,T.length):T),A?A(null,o,T,c):Z.apply(o,T)})}function I(t){for(var e,n,i,r=t.length,A=y.relative[t[0].type],o=A||y.relative[" "],a=A?1:0,c=l(function(t){return t===e},o,!0),s=l(function(t){return q(e,t)>-1},o,!0),u=[function(t,n,i){var r=!A&&(i||n!==w)||((e=n).nodeType?c(t,n,i):s(t,n,i));return e=null,r}];a<r;a++)if(n=y.relative[t[a].type])u=[l(M(u),n)];else{if(n=y.filter[t[a].type].apply(null,t[a].matches),n[U]){for(i=++a;i<r&&!y.relative[t[i].type];i++);return f(a>1&&M(u),a>1&&g(t.slice(0,a-1).concat({value:" "===t[a-2].type?"*":""})).replace(At,"$1"),n,a<i&&I(t.slice(a,i)),i<r&&I(t=t.slice(i)),i<r&&g(t))}u.push(n)}return M(u)}function E(t,n){var r=n.length>0,A=t.length>0,o=function(i,o,a,c,s){var u,g,l,M=0,h="0",f=i&&[],I=[],E=w,T=i||A&&y.find.TAG("*",s),N=k+=null==E?1:Math.random()||.1,p=T.length;for(s&&(w=o===j||o||s);h!==p&&null!=(u=T[h]);h++){if(A&&u){for(g=0,o||u.ownerDocument===j||(v(u),a=!S);l=t[g++];)if(l(u,o||j,a)){c.push(u);break}s&&(k=N)}r&&((u=!l&&u)&&M--,i&&f.push(u))}if(M+=h,r&&h!==M){for(g=0;l=n[g++];)l(f,I,o,a);if(i){if(M>0)for(;h--;)f[h]||I[h]||(I[h]=W.call(c));I=d(I)}Z.apply(c,I),s&&!i&&I.length>0&&M+n.length>1&&e.uniqueSort(c)}return s&&(k=N,w=E),f};return r?i(o):o}var T,N,y,p,C,D,x,B,w,m,Q,v,j,L,S,Y,b,O,z,U="sizzle"+1*new Date,F=t.document,k=0,R=0,G=n(),H=n(),J=n(),P=function(t,e){return t===e&&(Q=!0),0},X={}.hasOwnProperty,V=[],W=V.pop,_=V.push,Z=V.push,K=V.slice,q=function(t,e){for(var n=0,i=t.length;n<i;n++)if(t[n]===e)return n;return-1},$="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",tt="[\\x20\\t\\r\\n\\f]",et="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",nt="\\["+tt+"*("+et+")(?:"+tt+"*([*^$|!~]?=)"+tt+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+et+"))|)"+tt+"*\\]",it=":("+et+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+nt+")*)|.*)\\)|)",rt=new RegExp(tt+"+","g"),At=new RegExp("^"+tt+"+|((?:^|[^\\\\])(?:\\\\.)*)"+tt+"+$","g"),ot=new RegExp("^"+tt+"*,"+tt+"*"),at=new RegExp("^"+tt+"*([>+~]|"+tt+")"+tt+"*"),ct=new RegExp("="+tt+"*([^\\]'\"]*?)"+tt+"*\\]","g"),st=new RegExp(it),ut=new RegExp("^"+et+"$"),gt={ID:new RegExp("^#("+et+")"),CLASS:new RegExp("^\\.("+et+")"),TAG:new RegExp("^("+et+"|[*])"),ATTR:new RegExp("^"+nt),PSEUDO:new RegExp("^"+it),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+tt+"*(even|odd|(([+-]|)(\\d*)n|)"+tt+"*(?:([+-]|)"+tt+"*(\\d+)|))"+tt+"*\\)|)","i"),bool:new RegExp("^(?:"+$+")$","i"),needsContext:new RegExp("^"+tt+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+tt+"*((?:-\\d)?\\d*)"+tt+"*\\)|)(?=[^-]|$)","i")},lt=/^(?:input|select|textarea|button)$/i,Mt=/^h\d$/i,ht=/^[^{]+\{\s*\[native \w/,dt=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ft=/[+~]/,It=new RegExp("\\\\([\\da-f]{1,6}"+tt+"?|("+tt+")|.)","ig"),Et=function(t,e,n){var i="0x"+e-65536;return i!==i||n?e:i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},Tt=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,Nt=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},yt=function(){v()},pt=l(function(t){return!0===t.disabled&&("form"in t||"label"in t)},{dir:"parentNode",next:"legend"});try{Z.apply(V=K.call(F.childNodes),F.childNodes),V[F.childNodes.length].nodeType}catch(t){Z={apply:V.length?function(t,e){_.apply(t,K.call(e))}:function(t,e){for(var n=t.length,i=0;t[n++]=e[i++];);t.length=n-1}}}N=e.support={},C=e.isXML=function(t){var e=t&&(t.ownerDocument||t).documentElement;return!!e&&"HTML"!==e.nodeName},v=e.setDocument=function(t){var e,n,i=t?t.ownerDocument||t:F;return i!==j&&9===i.nodeType&&i.documentElement?(j=i,L=j.documentElement,S=!C(j),F!==j&&(n=j.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",yt,!1):n.attachEvent&&n.attachEvent("onunload",yt)),N.attributes=r(function(t){return t.className="i",!t.getAttribute("className")}),N.getElementsByTagName=r(function(t){return t.appendChild(j.createComment("")),!t.getElementsByTagName("*").length}),N.getElementsByClassName=ht.test(j.getElementsByClassName),N.getById=r(function(t){return L.appendChild(t).id=U,!j.getElementsByName||!j.getElementsByName(U).length}),N.getById?(y.filter.ID=function(t){var e=t.replace(It,Et);return function(t){return t.getAttribute("id")===e}},y.find.ID=function(t,e){if(void 0!==e.getElementById&&S){var n=e.getElementById(t);return n?[n]:[]}}):(y.filter.ID=function(t){var e=t.replace(It,Et);return function(t){var n=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}},y.find.ID=function(t,e){if(void 0!==e.getElementById&&S){var n,i,r,A=e.getElementById(t);if(A){if((n=A.getAttributeNode("id"))&&n.value===t)return[A];for(r=e.getElementsByName(t),i=0;A=r[i++];)if((n=A.getAttributeNode("id"))&&n.value===t)return[A]}return[]}}),y.find.TAG=N.getElementsByTagName?function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):N.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,i=[],r=0,A=e.getElementsByTagName(t);if("*"===t){for(;n=A[r++];)1===n.nodeType&&i.push(n);return i}return A},y.find.CLASS=N.getElementsByClassName&&function(t,e){if(void 0!==e.getElementsByClassName&&S)return e.getElementsByClassName(t)},b=[],Y=[],(N.qsa=ht.test(j.querySelectorAll))&&(r(function(t){L.appendChild(t).innerHTML="<a id='"+U+"'></a><select id='"+U+"-\r\\' msallowcapture=''><option selected=''></option></select>",t.querySelectorAll("[msallowcapture^='']").length&&Y.push("[*^$]="+tt+"*(?:''|\"\")"),t.querySelectorAll("[selected]").length||Y.push("\\["+tt+"*(?:value|"+$+")"),t.querySelectorAll("[id~="+U+"-]").length||Y.push("~="),t.querySelectorAll(":checked").length||Y.push(":checked"),t.querySelectorAll("a#"+U+"+*").length||Y.push(".#.+[+~]")}),r(function(t){t.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var e=j.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&Y.push("name"+tt+"*[*^$|!~]?="),2!==t.querySelectorAll(":enabled").length&&Y.push(":enabled",":disabled"),L.appendChild(t).disabled=!0,2!==t.querySelectorAll(":disabled").length&&Y.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),Y.push(",.*:")})),(N.matchesSelector=ht.test(O=L.matches||L.webkitMatchesSelector||L.mozMatchesSelector||L.oMatchesSelector||L.msMatchesSelector))&&r(function(t){N.disconnectedMatch=O.call(t,"*"),O.call(t,"[s!='']:x"),b.push("!=",it)}),Y=Y.length&&new RegExp(Y.join("|")),b=b.length&&new RegExp(b.join("|")),e=ht.test(L.compareDocumentPosition),z=e||ht.test(L.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,i=e&&e.parentNode;return t===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):t.compareDocumentPosition&&16&t.compareDocumentPosition(i)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},P=e?function(t,e){if(t===e)return Q=!0,0;var n=!t.compareDocumentPosition-!e.compareDocumentPosition;return n||(n=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1,1&n||!N.sortDetached&&e.compareDocumentPosition(t)===n?t===j||t.ownerDocument===F&&z(F,t)?-1:e===j||e.ownerDocument===F&&z(F,e)?1:m?q(m,t)-q(m,e):0:4&n?-1:1)}:function(t,e){if(t===e)return Q=!0,0;var n,i=0,r=t.parentNode,A=e.parentNode,a=[t],c=[e];if(!r||!A)return t===j?-1:e===j?1:r?-1:A?1:m?q(m,t)-q(m,e):0;if(r===A)return o(t,e);for(n=t;n=n.parentNode;)a.unshift(n);for(n=e;n=n.parentNode;)c.unshift(n);for(;a[i]===c[i];)i++;return i?o(a[i],c[i]):a[i]===F?-1:c[i]===F?1:0},j):j},e.matches=function(t,n){return e(t,null,null,n)},e.matchesSelector=function(t,n){if((t.ownerDocument||t)!==j&&v(t),n=n.replace(ct,"='$1']"),N.matchesSelector&&S&&!J[n+" "]&&(!b||!b.test(n))&&(!Y||!Y.test(n)))try{var i=O.call(t,n);if(i||N.disconnectedMatch||t.document&&11!==t.document.nodeType)return i}catch(t){}return e(n,j,null,[t]).length>0},e.contains=function(t,e){return(t.ownerDocument||t)!==j&&v(t),z(t,e)},e.attr=function(t,e){(t.ownerDocument||t)!==j&&v(t);var n=y.attrHandle[e.toLowerCase()],i=n&&X.call(y.attrHandle,e.toLowerCase())?n(t,e,!S):void 0;return void 0!==i?i:N.attributes||!S?t.getAttribute(e):(i=t.getAttributeNode(e))&&i.specified?i.value:null},e.escape=function(t){return(t+"").replace(Tt,Nt)},e.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},e.uniqueSort=function(t){var e,n=[],i=0,r=0;if(Q=!N.detectDuplicates,m=!N.sortStable&&t.slice(0),t.sort(P),Q){for(;e=t[r++];)e===t[r]&&(i=n.push(r));for(;i--;)t.splice(n[i],1)}return m=null,t},p=e.getText=function(t){var e,n="",i=0,r=t.nodeType;if(r){if(1===r||9===r||11===r){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=p(t)}else if(3===r||4===r)return t.nodeValue}else for(;e=t[i++];)n+=p(e);return n},y=e.selectors={cacheLength:50,createPseudo:i,match:gt,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(It,Et),t[3]=(t[3]||t[4]||t[5]||"").replace(It,Et),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||e.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&e.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return gt.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&st.test(n)&&(e=D(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(It,Et).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=G[t+" "];return e||(e=new RegExp("(^|"+tt+")"+t+"("+tt+"|$)"))&&G(t,function(t){return e.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")})},ATTR:function(t,n,i){return function(r){var A=e.attr(r,t);return null==A?"!="===n:!n||(A+="","="===n?A===i:"!="===n?A!==i:"^="===n?i&&0===A.indexOf(i):"*="===n?i&&A.indexOf(i)>-1:"$="===n?i&&A.slice(-i.length)===i:"~="===n?(" "+A.replace(rt," ")+" ").indexOf(i)>-1:"|="===n&&(A===i||A.slice(0,i.length+1)===i+"-"))}},CHILD:function(t,e,n,i,r){var A="nth"!==t.slice(0,3),o="last"!==t.slice(-4),a="of-type"===e;return 1===i&&0===r?function(t){return!!t.parentNode}:function(e,n,c){var s,u,g,l,M,h,d=A!==o?"nextSibling":"previousSibling",f=e.parentNode,I=a&&e.nodeName.toLowerCase(),E=!c&&!a,T=!1;if(f){if(A){for(;d;){for(l=e;l=l[d];)if(a?l.nodeName.toLowerCase()===I:1===l.nodeType)return!1;h=d="only"===t&&!h&&"nextSibling"}return!0}if(h=[o?f.firstChild:f.lastChild],o&&E){for(l=f,g=l[U]||(l[U]={}),u=g[l.uniqueID]||(g[l.uniqueID]={}),s=u[t]||[],M=s[0]===k&&s[1],T=M&&s[2],l=M&&f.childNodes[M];l=++M&&l&&l[d]||(T=M=0)||h.pop();)if(1===l.nodeType&&++T&&l===e){u[t]=[k,M,T];break}}else if(E&&(l=e,g=l[U]||(l[U]={}),u=g[l.uniqueID]||(g[l.uniqueID]={}),s=u[t]||[],M=s[0]===k&&s[1],T=M),!1===T)for(;(l=++M&&l&&l[d]||(T=M=0)||h.pop())&&((a?l.nodeName.toLowerCase()!==I:1!==l.nodeType)||!++T||(E&&(g=l[U]||(l[U]={}),u=g[l.uniqueID]||(g[l.uniqueID]={}),u[t]=[k,T]),l!==e)););return(T-=r)===i||T%i==0&&T/i>=0}}},PSEUDO:function(t,n){var r,A=y.pseudos[t]||y.setFilters[t.toLowerCase()]||e.error("unsupported pseudo: "+t);return A[U]?A(n):A.length>1?(r=[t,t,"",n],y.setFilters.hasOwnProperty(t.toLowerCase())?i(function(t,e){for(var i,r=A(t,n),o=r.length;o--;)i=q(t,r[o]),t[i]=!(e[i]=r[o])}):function(t){return A(t,0,r)}):A}},pseudos:{not:i(function(t){var e=[],n=[],r=x(t.replace(At,"$1"));return r[U]?i(function(t,e,n,i){for(var A,o=r(t,null,i,[]),a=t.length;a--;)(A=o[a])&&(t[a]=!(e[a]=A))}):function(t,i,A){return e[0]=t,r(e,null,A,n),e[0]=null,!n.pop()}}),has:i(function(t){return function(n){return e(t,n).length>0}}),contains:i(function(t){return t=t.replace(It,Et),function(e){return(e.textContent||e.innerText||p(e)).indexOf(t)>-1}}),lang:i(function(t){return ut.test(t||"")||e.error("unsupported lang: "+t),t=t.replace(It,Et).toLowerCase(),function(e){var n;do{if(n=S?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(n=n.toLowerCase())===t||0===n.indexOf(t+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===L},focus:function(t){return t===j.activeElement&&(!j.hasFocus||j.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:a(!1),disabled:a(!0),checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!y.pseudos.empty(t)},header:function(t){return Mt.test(t.nodeName)},input:function(t){return lt.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:c(function(){return[0]}),last:c(function(t,e){return[e-1]}),eq:c(function(t,e,n){return[n<0?n+e:n]}),even:c(function(t,e){for(var n=0;n<e;n+=2)t.push(n);return t}),odd:c(function(t,e){for(var n=1;n<e;n+=2)t.push(n);return t}),lt:c(function(t,e,n){for(var i=n<0?n+e:n;--i>=0;)t.push(i);return t}),gt:c(function(t,e,n){for(var i=n<0?n+e:n;++i<e;)t.push(i);return t})}},y.pseudos.nth=y.pseudos.eq;for(T in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})y.pseudos[T]=function(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}(T);for(T in{submit:!0,reset:!0})y.pseudos[T]=function(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}(T);return u.prototype=y.filters=y.pseudos,y.setFilters=new u,D=e.tokenize=function(t,n){var i,r,A,o,a,c,s,u=H[t+" "];if(u)return n?0:u.slice(0);for(a=t,c=[],s=y.preFilter;a;){i&&!(r=ot.exec(a))||(r&&(a=a.slice(r[0].length)||a),c.push(A=[])),i=!1,(r=at.exec(a))&&(i=r.shift(),A.push({value:i,type:r[0].replace(At," ")}),a=a.slice(i.length));for(o in y.filter)!(r=gt[o].exec(a))||s[o]&&!(r=s[o](r))||(i=r.shift(),A.push({value:i,type:o,matches:r}),a=a.slice(i.length));if(!i)break}return n?a.length:a?e.error(t):H(t,c).slice(0)},x=e.compile=function(t,e){var n,i=[],r=[],A=J[t+" "];if(!A){for(e||(e=D(t)),n=e.length;n--;)A=I(e[n]),A[U]?i.push(A):r.push(A);A=J(t,E(r,i)),A.selector=t}return A},B=e.select=function(t,e,n,i){var r,A,o,a,c,u="function"==typeof t&&t,l=!i&&D(t=u.selector||t);if(n=n||[],1===l.length){if(A=l[0]=l[0].slice(0),A.length>2&&"ID"===(o=A[0]).type&&9===e.nodeType&&S&&y.relative[A[1].type]){if(!(e=(y.find.ID(o.matches[0].replace(It,Et),e)||[])[0]))return n;u&&(e=e.parentNode),t=t.slice(A.shift().value.length)}for(r=gt.needsContext.test(t)?0:A.length;r--&&(o=A[r],!y.relative[a=o.type]);)if((c=y.find[a])&&(i=c(o.matches[0].replace(It,Et),ft.test(A[0].type)&&s(e.parentNode)||e))){if(A.splice(r,1),!(t=i.length&&g(A)))return Z.apply(n,i),n;break}}return(u||x(t,l))(i,e,!S,n,!e||ft.test(t)&&s(e.parentNode)||e),n},N.sortStable=U.split("").sort(P).join("")===U,N.detectDuplicates=!!Q,v(),N.sortDetached=r(function(t){return 1&t.compareDocumentPosition(j.createElement("fieldset"))}),r(function(t){return t.innerHTML="<a href='#'></a>","#"===t.firstChild.getAttribute("href")})||A("type|href|height|width",function(t,e,n){if(!n)return t.getAttribute(e,"type"===e.toLowerCase()?1:2)}),N.attributes&&r(function(t){return t.innerHTML="<input/>",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")})||A("value",function(t,e,n){if(!n&&"input"===t.nodeName.toLowerCase())return t.defaultValue}),r(function(t){return null==t.getAttribute("disabled")})||A($,function(t,e,n){var i;if(!n)return!0===t[e]?e.toLowerCase():(i=t.getAttributeNode(e))&&i.specified?i.value:null}),e}(n);xt.find=wt,xt.expr=wt.selectors,xt.expr[":"]=xt.expr.pseudos,xt.uniqueSort=xt.unique=wt.uniqueSort,xt.text=wt.getText,xt.isXMLDoc=wt.isXML,xt.contains=wt.contains,xt.escapeSelector=wt.escape;var mt=function(t,e,n){for(var i=[],r=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(r&&xt(t).is(n))break;i.push(t)}return i},Qt=function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n},vt=xt.expr.match.needsContext,jt=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;xt.filter=function(t,e,n){var i=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===i.nodeType?xt.find.matchesSelector(i,t)?[i]:[]:xt.find.matches(t,xt.grep(e,function(t){return 1===t.nodeType}))},xt.fn.extend({find:function(t){var e,n,i=this.length,r=this;if("string"!=typeof t)return this.pushStack(xt(t).filter(function(){for(e=0;e<i;e++)if(xt.contains(r[e],this))return!0}));for(n=this.pushStack([]),e=0;e<i;e++)xt.find(t,r[e],n);return i>1?xt.uniqueSort(n):n},filter:function(t){return this.pushStack(u(this,t||[],!1))},not:function(t){return this.pushStack(u(this,t||[],!0))},is:function(t){return!!u(this,"string"==typeof t&&vt.test(t)?xt(t):t||[],!1).length}});var Lt,St=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(xt.fn.init=function(t,e,n){var i,r;if(!t)return this;if(n=n||Lt,"string"==typeof t){if(!(i="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:St.exec(t))||!i[1]&&e)return!e||e.jquery?(e||n).find(t):this.constructor(e).find(t);if(i[1]){if(e=e instanceof xt?e[0]:e,xt.merge(this,xt.parseHTML(i[1],e&&e.nodeType?e.ownerDocument||e:ut,!0)),jt.test(i[1])&&xt.isPlainObject(e))for(i in e)pt(this[i])?this[i](e[i]):this.attr(i,e[i]);return this}return r=ut.getElementById(i[2]),r&&(this[0]=r,this.length=1),this}return t.nodeType?(this[0]=t,this.length=1,this):pt(t)?void 0!==n.ready?n.ready(t):t(xt):xt.makeArray(t,this)}).prototype=xt.fn,Lt=xt(ut);var Yt=/^(?:parents|prev(?:Until|All))/,bt={children:!0,contents:!0,next:!0,prev:!0};xt.fn.extend({has:function(t){var e=xt(t,this),n=e.length;return this.filter(function(){for(var t=0;t<n;t++)if(xt.contains(this,e[t]))return!0})},closest:function(t,e){var n,i=0,r=this.length,A=[],o="string"!=typeof t&&xt(t);if(!vt.test(t))for(;i<r;i++)for(n=this[i];n&&n!==e;n=n.parentNode)if(n.nodeType<11&&(o?o.index(n)>-1:1===n.nodeType&&xt.find.matchesSelector(n,t))){A.push(n);break}return this.pushStack(A.length>1?xt.uniqueSort(A):A)},index:function(t){return t?"string"==typeof t?dt.call(xt(t),this[0]):dt.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(xt.uniqueSort(xt.merge(this.get(),xt(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),xt.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return mt(t,"parentNode")},parentsUntil:function(t,e,n){return mt(t,"parentNode",n)},next:function(t){return g(t,"nextSibling")},prev:function(t){return g(t,"previousSibling")},nextAll:function(t){return mt(t,"nextSibling")},prevAll:function(t){return mt(t,"previousSibling")},nextUntil:function(t,e,n){return mt(t,"nextSibling",n)},prevUntil:function(t,e,n){return mt(t,"previousSibling",n)},siblings:function(t){return Qt((t.parentNode||{}).firstChild,t)},children:function(t){return Qt(t.firstChild)},contents:function(t){return s(t,"iframe")?t.contentDocument:(s(t,"template")&&(t=t.content||t),xt.merge([],t.childNodes))}},function(t,e){xt.fn[t]=function(n,i){var r=xt.map(this,e,n);return"Until"!==t.slice(-5)&&(i=n),i&&"string"==typeof i&&(r=xt.filter(i,r)),this.length>1&&(bt[t]||xt.uniqueSort(r),Yt.test(t)&&r.reverse()),this.pushStack(r)}});var Ot=/[^\x20\t\r\n\f]+/g;xt.Callbacks=function(t){t="string"==typeof t?l(t):xt.extend({},t);var e,n,i,r,A=[],o=[],c=-1,s=function(){for(r=r||t.once,i=e=!0;o.length;c=-1)for(n=o.shift();++c<A.length;)!1===A[c].apply(n[0],n[1])&&t.stopOnFalse&&(c=A.length,n=!1);t.memory||(n=!1),e=!1,r&&(A=n?[]:"")},u={add:function(){return A&&(n&&!e&&(c=A.length-1,o.push(n)),function e(n){xt.each(n,function(n,i){pt(i)?t.unique&&u.has(i)||A.push(i):i&&i.length&&"string"!==a(i)&&e(i)})}(arguments),n&&!e&&s()),this},remove:function(){return xt.each(arguments,function(t,e){for(var n;(n=xt.inArray(e,A,n))>-1;)A.splice(n,1),n<=c&&c--}),this},has:function(t){return t?xt.inArray(t,A)>-1:A.length>0},empty:function(){return A&&(A=[]),this},disable:function(){return r=o=[],A=n="",this},disabled:function(){return!A},lock:function(){return r=o=[],n||e||(A=n=""),this},locked:function(){return!!r},fireWith:function(t,n){return r||(n=n||[],n=[t,n.slice?n.slice():n],o.push(n),e||s()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!i}};return u},xt.extend({Deferred:function(t){var e=[["notify","progress",xt.Callbacks("memory"),xt.Callbacks("memory"),2],["resolve","done",xt.Callbacks("once memory"),xt.Callbacks("once memory"),0,"resolved"],["reject","fail",xt.Callbacks("once memory"),xt.Callbacks("once memory"),1,"rejected"]],i="pending",r={state:function(){return i},always:function(){return A.done(arguments).fail(arguments),this},catch:function(t){return r.then(null,t)},pipe:function(){var t=arguments;return xt.Deferred(function(n){xt.each(e,function(e,i){var r=pt(t[i[4]])&&t[i[4]];A[i[1]](function(){var t=r&&r.apply(this,arguments);t&&pt(t.promise)?t.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[i[0]+"With"](this,r?[t]:arguments)})}),t=null}).promise()},then:function(t,i,r){function A(t,e,i,r){return function(){var a=this,c=arguments,s=function(){var n,s;if(!(t<o)){if((n=i.apply(a,c))===e.promise())throw new TypeError("Thenable self-resolution");s=n&&("object"==typeof n||"function"==typeof n)&&n.then,pt(s)?r?s.call(n,A(o,e,M,r),A(o,e,h,r)):(o++,s.call(n,A(o,e,M,r),A(o,e,h,r),A(o,e,M,e.notifyWith))):(i!==M&&(a=void 0,c=[n]),(r||e.resolveWith)(a,c))}},u=r?s:function(){try{s()}catch(n){xt.Deferred.exceptionHook&&xt.Deferred.exceptionHook(n,u.stackTrace),t+1>=o&&(i!==h&&(a=void 0,c=[n]),e.rejectWith(a,c))}};t?u():(xt.Deferred.getStackHook&&(u.stackTrace=xt.Deferred.getStackHook()),n.setTimeout(u))}}var o=0;return xt.Deferred(function(n){e[0][3].add(A(0,n,pt(r)?r:M,n.notifyWith)),e[1][3].add(A(0,n,pt(t)?t:M)),e[2][3].add(A(0,n,pt(i)?i:h))}).promise()},promise:function(t){return null!=t?xt.extend(t,r):r}},A={};return xt.each(e,function(t,n){var o=n[2],a=n[5];r[n[1]]=o.add,a&&o.add(function(){i=a},e[3-t][2].disable,e[3-t][3].disable,e[0][2].lock,e[0][3].lock),o.add(n[3].fire),A[n[0]]=function(){return A[n[0]+"With"](this===A?void 0:this,arguments),this},A[n[0]+"With"]=o.fireWith}),r.promise(A),t&&t.call(A,A),A},when:function(t){var e=arguments.length,n=e,i=Array(n),r=lt.call(arguments),A=xt.Deferred(),o=function(t){return function(n){i[t]=this,r[t]=arguments.length>1?lt.call(arguments):n,--e||A.resolveWith(i,r)}};if(e<=1&&(d(t,A.done(o(n)).resolve,A.reject,!e),"pending"===A.state()||pt(r[n]&&r[n].then)))return A.then();for(;n--;)d(r[n],o(n),A.reject);return A.promise()}});var zt=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;xt.Deferred.exceptionHook=function(t,e){n.console&&n.console.warn&&t&&zt.test(t.name)&&n.console.warn("jQuery.Deferred exception: "+t.message,t.stack,e)},xt.readyException=function(t){n.setTimeout(function(){throw t})};var Ut=xt.Deferred();xt.fn.ready=function(t){return Ut.then(t).catch(function(t){xt.readyException(t)}),this},xt.extend({isReady:!1,readyWait:1,ready:function(t){(!0===t?--xt.readyWait:xt.isReady)||(xt.isReady=!0,!0!==t&&--xt.readyWait>0||Ut.resolveWith(ut,[xt]))}}),xt.ready.then=Ut.then,"complete"===ut.readyState||"loading"!==ut.readyState&&!ut.documentElement.doScroll?n.setTimeout(xt.ready):(ut.addEventListener("DOMContentLoaded",f),n.addEventListener("load",f));var Ft=function(t,e,n,i,r,A,o){var c=0,s=t.length,u=null==n;if("object"===a(n)){r=!0;for(c in n)Ft(t,e,c,n[c],!0,A,o)}else if(void 0!==i&&(r=!0,pt(i)||(o=!0),u&&(o?(e.call(t,i),e=null):(u=e,e=function(t,e,n){return u.call(xt(t),n)})),e))for(;c<s;c++)e(t[c],n,o?i:i.call(t[c],c,e(t[c],n)));return r?t:u?e.call(t):s?e(t[0],n):A},kt=/^-ms-/,Rt=/-([a-z])/g,Gt=function(t){return 1===t.nodeType||9===t.nodeType||!+t.nodeType};T.uid=1,T.prototype={cache:function(t){var e=t[this.expando];return e||(e={},Gt(t)&&(t.nodeType?t[this.expando]=e:Object.defineProperty(t,this.expando,{value:e,configurable:!0}))),e},set:function(t,e,n){var i,r=this.cache(t);if("string"==typeof e)r[E(e)]=n;else for(i in e)r[E(i)]=e[i];return r},get:function(t,e){return void 0===e?this.cache(t):t[this.expando]&&t[this.expando][E(e)]},access:function(t,e,n){return void 0===e||e&&"string"==typeof e&&void 0===n?this.get(t,e):(this.set(t,e,n),void 0!==n?n:e)},remove:function(t,e){var n,i=t[this.expando];if(void 0!==i){if(void 0!==e){Array.isArray(e)?e=e.map(E):(e=E(e),e=e in i?[e]:e.match(Ot)||[]),n=e.length;for(;n--;)delete i[e[n]]}(void 0===e||xt.isEmptyObject(i))&&(t.nodeType?t[this.expando]=void 0:delete t[this.expando])}},hasData:function(t){var e=t[this.expando];return void 0!==e&&!xt.isEmptyObject(e)}};var Ht=new T,Jt=new T,Pt=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Xt=/[A-Z]/g;xt.extend({hasData:function(t){return Jt.hasData(t)||Ht.hasData(t)},data:function(t,e,n){return Jt.access(t,e,n)},removeData:function(t,e){Jt.remove(t,e)},_data:function(t,e,n){return Ht.access(t,e,n)},_removeData:function(t,e){Ht.remove(t,e)}}),xt.fn.extend({data:function(t,e){var n,i,r,A=this[0],o=A&&A.attributes;if(void 0===t){if(this.length&&(r=Jt.get(A),1===A.nodeType&&!Ht.get(A,"hasDataAttrs"))){for(n=o.length;n--;)o[n]&&(i=o[n].name,0===i.indexOf("data-")&&(i=E(i.slice(5)),y(A,i,r[i])));Ht.set(A,"hasDataAttrs",!0)}return r}return"object"==typeof t?this.each(function(){Jt.set(this,t)}):Ft(this,function(e){var n;if(A&&void 0===e){if(void 0!==(n=Jt.get(A,t)))return n;if(void 0!==(n=y(A,t)))return n}else this.each(function(){Jt.set(this,t,e)})},null,e,arguments.length>1,null,!0)},removeData:function(t){return this.each(function(){Jt.remove(this,t)})}}),xt.extend({queue:function(t,e,n){var i;if(t)return e=(e||"fx")+"queue",i=Ht.get(t,e),n&&(!i||Array.isArray(n)?i=Ht.access(t,e,xt.makeArray(n)):i.push(n)),i||[]},dequeue:function(t,e){e=e||"fx";var n=xt.queue(t,e),i=n.length,r=n.shift(),A=xt._queueHooks(t,e),o=function(){xt.dequeue(t,e)};"inprogress"===r&&(r=n.shift(),i--),r&&("fx"===e&&n.unshift("inprogress"),delete A.stop,r.call(t,o,A)),!i&&A&&A.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return Ht.get(t,n)||Ht.access(t,n,{empty:xt.Callbacks("once memory").add(function(){Ht.remove(t,[e+"queue",n])})})}}),xt.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.length<n?xt.queue(this[0],t):void 0===e?this:this.each(function(){var n=xt.queue(this,t,e);xt._queueHooks(this,t),"fx"===t&&"inprogress"!==n[0]&&xt.dequeue(this,t)})},dequeue:function(t){return this.each(function(){xt.dequeue(this,t)})},clearQueue:function(t){return this.queue(t||"fx",[])},promise:function(t,e){var n,i=1,r=xt.Deferred(),A=this,o=this.length,a=function(){--i||r.resolveWith(A,[A])};for("string"!=typeof t&&(e=t,t=void 0),t=t||"fx";o--;)(n=Ht.get(A[o],t+"queueHooks"))&&n.empty&&(i++,n.empty.add(a));return a(),r.promise(e)}});var Vt=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Wt=new RegExp("^(?:([+-])=|)("+Vt+")([a-z%]*)$","i"),_t=["Top","Right","Bottom","Left"],Zt=function(t,e){return t=e||t,"none"===t.style.display||""===t.style.display&&xt.contains(t.ownerDocument,t)&&"none"===xt.css(t,"display")},Kt=function(t,e,n,i){var r,A,o={};for(A in e)o[A]=t.style[A],t.style[A]=e[A];r=n.apply(t,i||[]);for(A in e)t.style[A]=o[A];return r},qt={};xt.fn.extend({show:function(){return D(this,!0)},hide:function(){return D(this)},toggle:function(t){return"boolean"==typeof t?t?this.show():this.hide():this.each(function(){Zt(this)?xt(this).show():xt(this).hide()})}});var $t=/^(?:checkbox|radio)$/i,te=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,ee=/^$|^module$|\/(?:java|ecma)script/i,ne={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ne.optgroup=ne.option,ne.tbody=ne.tfoot=ne.colgroup=ne.caption=ne.thead,ne.th=ne.td;var ie=/<|&#?\w+;/;!function(){var t=ut.createDocumentFragment(),e=t.appendChild(ut.createElement("div")),n=ut.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),e.appendChild(n),yt.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",yt.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var re=ut.documentElement,Ae=/^key/,oe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ae=/^([^.]*)(?:\.(.+)|)/;xt.event={global:{},add:function(t,e,n,i,r){var A,o,a,c,s,u,g,l,M,h,d,f=Ht.get(t);if(f)for(n.handler&&(A=n,n=A.handler,r=A.selector),r&&xt.find.matchesSelector(re,r),n.guid||(n.guid=xt.guid++),(c=f.events)||(c=f.events={}),(o=f.handle)||(o=f.handle=function(e){return void 0!==xt&&xt.event.triggered!==e.type?xt.event.dispatch.apply(t,arguments):void 0}),e=(e||"").match(Ot)||[""],s=e.length;s--;)a=ae.exec(e[s])||[],M=d=a[1],h=(a[2]||"").split(".").sort(),M&&(g=xt.event.special[M]||{},M=(r?g.delegateType:g.bindType)||M,g=xt.event.special[M]||{},u=xt.extend({type:M,origType:d,data:i,handler:n,guid:n.guid,selector:r,needsContext:r&&xt.expr.match.needsContext.test(r),namespace:h.join(".")},A),(l=c[M])||(l=c[M]=[],l.delegateCount=0,g.setup&&!1!==g.setup.call(t,i,h,o)||t.addEventListener&&t.addEventListener(M,o)),g.add&&(g.add.call(t,u),u.handler.guid||(u.handler.guid=n.guid)),r?l.splice(l.delegateCount++,0,u):l.push(u),xt.event.global[M]=!0)},remove:function(t,e,n,i,r){var A,o,a,c,s,u,g,l,M,h,d,f=Ht.hasData(t)&&Ht.get(t);if(f&&(c=f.events)){for(e=(e||"").match(Ot)||[""],s=e.length;s--;)if(a=ae.exec(e[s])||[],M=d=a[1],h=(a[2]||"").split(".").sort(),M){for(g=xt.event.special[M]||{},M=(i?g.delegateType:g.bindType)||M,l=c[M]||[],a=a[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),o=A=l.length;A--;)u=l[A],!r&&d!==u.origType||n&&n.guid!==u.guid||a&&!a.test(u.namespace)||i&&i!==u.selector&&("**"!==i||!u.selector)||(l.splice(A,1),u.selector&&l.delegateCount--,g.remove&&g.remove.call(t,u));o&&!l.length&&(g.teardown&&!1!==g.teardown.call(t,h,f.handle)||xt.removeEvent(t,M,f.handle),delete c[M])}else for(M in c)xt.event.remove(t,M+e[s],n,i,!0);xt.isEmptyObject(c)&&Ht.remove(t,"handle events")}},dispatch:function(t){var e,n,i,r,A,o,a=xt.event.fix(t),c=new Array(arguments.length),s=(Ht.get(this,"events")||{})[a.type]||[],u=xt.event.special[a.type]||{};for(c[0]=a,e=1;e<arguments.length;e++)c[e]=arguments[e];if(a.delegateTarget=this,!u.preDispatch||!1!==u.preDispatch.call(this,a)){for(o=xt.event.handlers.call(this,a,s),e=0;(r=o[e++])&&!a.isPropagationStopped();)for(a.currentTarget=r.elem,n=0;(A=r.handlers[n++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(A.namespace)||(a.handleObj=A,a.data=A.data,void 0!==(i=((xt.event.special[A.origType]||{}).handle||A.handler).apply(r.elem,c))&&!1===(a.result=i)&&(a.preventDefault(),a.stopPropagation()));return u.postDispatch&&u.postDispatch.call(this,a),a.result}},handlers:function(t,e){var n,i,r,A,o,a=[],c=e.delegateCount,s=t.target;if(c&&s.nodeType&&!("click"===t.type&&t.button>=1))for(;s!==this;s=s.parentNode||this)if(1===s.nodeType&&("click"!==t.type||!0!==s.disabled)){for(A=[],o={},n=0;n<c;n++)i=e[n],r=i.selector+" ",void 0===o[r]&&(o[r]=i.needsContext?xt(r,this).index(s)>-1:xt.find(r,this,null,[s]).length),o[r]&&A.push(i);A.length&&a.push({elem:s,handlers:A})}return s=this,c<e.length&&a.push({elem:s,handlers:e.slice(c)}),a},addProp:function(t,e){Object.defineProperty(xt.Event.prototype,t,{enumerable:!0,configurable:!0,get:pt(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(t){return t[xt.expando]?t:new xt.Event(t)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==v()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===v()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&s(this,"input"))return this.click(),!1},_default:function(t){return s(t.target,"a")}},beforeunload:{postDispatch:function(t){void 0!==t.result&&t.originalEvent&&(t.originalEvent.returnValue=t.result)}}}},xt.removeEvent=function(t,e,n){t.removeEventListener&&t.removeEventListener(e,n)},xt.Event=function(t,e){if(!(this instanceof xt.Event))return new xt.Event(t,e);t&&t.type?(this.originalEvent=t,this.type=t.type,this.isDefaultPrevented=t.defaultPrevented||void 0===t.defaultPrevented&&!1===t.returnValue?m:Q,this.target=t.target&&3===t.target.nodeType?t.target.parentNode:t.target,this.currentTarget=t.currentTarget,this.relatedTarget=t.relatedTarget):this.type=t,e&&xt.extend(this,e),this.timeStamp=t&&t.timeStamp||Date.now(),this[xt.expando]=!0},xt.Event.prototype={constructor:xt.Event,isDefaultPrevented:Q,isPropagationStopped:Q,isImmediatePropagationStopped:Q,isSimulated:!1,preventDefault:function(){var t=this.originalEvent;this.isDefaultPrevented=m,t&&!this.isSimulated&&t.preventDefault()},stopPropagation:function(){var t=this.originalEvent;this.isPropagationStopped=m,t&&!this.isSimulated&&t.stopPropagation()},stopImmediatePropagation:function(){var t=this.originalEvent;this.isImmediatePropagationStopped=m,t&&!this.isSimulated&&t.stopImmediatePropagation(),this.stopPropagation()}},xt.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(t){var e=t.button;return null==t.which&&Ae.test(t.type)?null!=t.charCode?t.charCode:t.keyCode:!t.which&&void 0!==e&&oe.test(t.type)?1&e?1:2&e?3:4&e?2:0:t.which}},xt.event.addProp),xt.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(t,e){xt.event.special[t]={delegateType:e,bindType:e,handle:function(t){var n,i=this,r=t.relatedTarget,A=t.handleObj;return r&&(r===i||xt.contains(i,r))||(t.type=A.origType,n=A.handler.apply(this,arguments),t.type=e),n}}}),xt.fn.extend({on:function(t,e,n,i){return j(this,t,e,n,i)},one:function(t,e,n,i){return j(this,t,e,n,i,1)},off:function(t,e,n){var i,r;if(t&&t.preventDefault&&t.handleObj)return i=t.handleObj,xt(t.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof t){for(r in t)this.off(r,e,t[r]);return this}return!1!==e&&"function"!=typeof e||(n=e,e=void 0),!1===n&&(n=Q),this.each(function(){xt.event.remove(this,t,n,e)})}});var ce=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,se=/<script|<style|<link/i,ue=/checked\s*(?:[^=]|=\s*.checked.)/i,ge=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;xt.extend({htmlPrefilter:function(t){return t.replace(ce,"<$1></$2>")},clone:function(t,e,n){var i,r,A,o,a=t.cloneNode(!0),c=xt.contains(t.ownerDocument,t);if(!(yt.noCloneChecked||1!==t.nodeType&&11!==t.nodeType||xt.isXMLDoc(t)))for(o=x(a),A=x(t),i=0,r=A.length;i<r;i++)O(A[i],o[i]);if(e)if(n)for(A=A||x(t),o=o||x(a),i=0,r=A.length;i<r;i++)b(A[i],o[i]);else b(t,a);return o=x(a,"script"),o.length>0&&B(o,!c&&x(t,"script")),a},cleanData:function(t){for(var e,n,i,r=xt.event.special,A=0;void 0!==(n=t[A]);A++)if(Gt(n)){if(e=n[Ht.expando]){if(e.events)for(i in e.events)r[i]?xt.event.remove(n,i):xt.removeEvent(n,i,e.handle);n[Ht.expando]=void 0}n[Jt.expando]&&(n[Jt.expando]=void 0)}}}),xt.fn.extend({detach:function(t){return U(this,t,!0)},remove:function(t){return U(this,t)},text:function(t){return Ft(this,function(t){return void 0===t?xt.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=t)})},null,t,arguments.length)},append:function(){return z(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){L(this,t).appendChild(t)}})},prepend:function(){return z(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=L(this,t);e.insertBefore(t,e.firstChild)}})},before:function(){return z(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return z(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(xt.cleanData(x(t,!1)),t.textContent="");return this},clone:function(t,e){return t=null!=t&&t,e=null==e?t:e,this.map(function(){return xt.clone(this,t,e)})},html:function(t){return Ft(this,function(t){var e=this[0]||{},n=0,i=this.length;if(void 0===t&&1===e.nodeType)return e.innerHTML;if("string"==typeof t&&!se.test(t)&&!ne[(te.exec(t)||["",""])[1].toLowerCase()]){t=xt.htmlPrefilter(t);try{for(;n<i;n++)e=this[n]||{},1===e.nodeType&&(xt.cleanData(x(e,!1)),e.innerHTML=t);e=0}catch(t){}}e&&this.empty().append(t)},null,t,arguments.length)},replaceWith:function(){var t=[];return z(this,arguments,function(e){var n=this.parentNode;xt.inArray(this,t)<0&&(xt.cleanData(x(this)),n&&n.replaceChild(e,this))},t)}}),xt.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(t,e){xt.fn[t]=function(t){for(var n,i=[],r=xt(t),A=r.length-1,o=0;o<=A;o++)n=o===A?this:this.clone(!0),xt(r[o])[e](n),ht.apply(i,n.get());return this.pushStack(i)}});var le=new RegExp("^("+Vt+")(?!px)[a-z%]+$","i"),Me=function(t){var e=t.ownerDocument.defaultView;return e&&e.opener||(e=n),e.getComputedStyle(t)},he=new RegExp(_t.join("|"),"i");!function(){function t(){if(s){c.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",s.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(c).appendChild(s);var t=n.getComputedStyle(s);i="1%"!==t.top,a=12===e(t.marginLeft),s.style.right="60%",o=36===e(t.right),r=36===e(t.width),s.style.position="absolute",A=36===s.offsetWidth||"absolute",re.removeChild(c),s=null}}function e(t){return Math.round(parseFloat(t))}var i,r,A,o,a,c=ut.createElement("div"),s=ut.createElement("div");s.style&&(s.style.backgroundClip="content-box",s.cloneNode(!0).style.backgroundClip="",yt.clearCloneStyle="content-box"===s.style.backgroundClip,xt.extend(yt,{boxSizingReliable:function(){return t(),r},pixelBoxStyles:function(){return t(),o},pixelPosition:function(){return t(),i},reliableMarginLeft:function(){return t(),a},scrollboxSize:function(){return t(),A}}))}();var de=/^(none|table(?!-c[ea]).+)/,fe=/^--/,Ie={position:"absolute",visibility:"hidden",display:"block"},Ee={letterSpacing:"0",fontWeight:"400"},Te=["Webkit","Moz","ms"],Ne=ut.createElement("div").style;xt.extend({cssHooks:{opacity:{get:function(t,e){if(e){var n=F(t,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(t,e,n,i){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var r,A,o,a=E(e),c=fe.test(e),s=t.style;if(c||(e=G(a)),o=xt.cssHooks[e]||xt.cssHooks[a],void 0===n)return o&&"get"in o&&void 0!==(r=o.get(t,!1,i))?r:s[e];A=typeof n,"string"===A&&(r=Wt.exec(n))&&r[1]&&(n=p(t,e,r),A="number"),null!=n&&n===n&&("number"===A&&(n+=r&&r[3]||(xt.cssNumber[a]?"":"px")),yt.clearCloneStyle||""!==n||0!==e.indexOf("background")||(s[e]="inherit"),o&&"set"in o&&void 0===(n=o.set(t,n,i))||(c?s.setProperty(e,n):s[e]=n))}},css:function(t,e,n,i){var r,A,o,a=E(e);return fe.test(e)||(e=G(a)),o=xt.cssHooks[e]||xt.cssHooks[a],o&&"get"in o&&(r=o.get(t,!0,n)),void 0===r&&(r=F(t,e,i)),"normal"===r&&e in Ee&&(r=Ee[e]),""===n||n?(A=parseFloat(r),!0===n||isFinite(A)?A||0:r):r}}),xt.each(["height","width"],function(t,e){xt.cssHooks[e]={get:function(t,n,i){if(n)return!de.test(xt.css(t,"display"))||t.getClientRects().length&&t.getBoundingClientRect().width?P(t,e,i):Kt(t,Ie,function(){return P(t,e,i)})},set:function(t,n,i){var r,A=Me(t),o="border-box"===xt.css(t,"boxSizing",!1,A),a=i&&J(t,e,i,o,A);return o&&yt.scrollboxSize()===A.position&&(a-=Math.ceil(t["offset"+e[0].toUpperCase()+e.slice(1)]-parseFloat(A[e])-J(t,e,"border",!1,A)-.5)),a&&(r=Wt.exec(n))&&"px"!==(r[3]||"px")&&(t.style[e]=n,n=xt.css(t,e)),H(t,n,a)}}}),xt.cssHooks.marginLeft=k(yt.reliableMarginLeft,function(t,e){if(e)return(parseFloat(F(t,"marginLeft"))||t.getBoundingClientRect().left-Kt(t,{marginLeft:0},function(){return t.getBoundingClientRect().left}))+"px"}),xt.each({margin:"",padding:"",border:"Width"},function(t,e){xt.cssHooks[t+e]={expand:function(n){for(var i=0,r={},A="string"==typeof n?n.split(" "):[n];i<4;i++)r[t+_t[i]+e]=A[i]||A[i-2]||A[0];return r}},"margin"!==t&&(xt.cssHooks[t+e].set=H)}),xt.fn.extend({css:function(t,e){return Ft(this,function(t,e,n){var i,r,A={},o=0;if(Array.isArray(e)){for(i=Me(t),r=e.length;o<r;o++)A[e[o]]=xt.css(t,e[o],!1,i);return A}return void 0!==n?xt.style(t,e,n):xt.css(t,e)},t,e,arguments.length>1)}}),xt.Tween=X,X.prototype={constructor:X,init:function(t,e,n,i,r,A){this.elem=t,this.prop=n,this.easing=r||xt.easing._default,this.options=e,this.start=this.now=this.cur(),this.end=i,this.unit=A||(xt.cssNumber[n]?"":"px")},cur:function(){var t=X.propHooks[this.prop];return t&&t.get?t.get(this):X.propHooks._default.get(this)},run:function(t){var e,n=X.propHooks[this.prop];return this.options.duration?this.pos=e=xt.easing[this.easing](t,this.options.duration*t,0,1,this.options.duration):this.pos=e=t,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):X.propHooks._default.set(this),this}},X.prototype.init.prototype=X.prototype,X.propHooks={_default:{get:function(t){var e;return 1!==t.elem.nodeType||null!=t.elem[t.prop]&&null==t.elem.style[t.prop]?t.elem[t.prop]:(e=xt.css(t.elem,t.prop,""),e&&"auto"!==e?e:0)},set:function(t){xt.fx.step[t.prop]?xt.fx.step[t.prop](t):1!==t.elem.nodeType||null==t.elem.style[xt.cssProps[t.prop]]&&!xt.cssHooks[t.prop]?t.elem[t.prop]=t.now:xt.style(t.elem,t.prop,t.now+t.unit)}}},X.propHooks.scrollTop=X.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},xt.easing={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2},_default:"swing"},xt.fx=X.prototype.init,xt.fx.step={};var ye,pe,Ce=/^(?:toggle|show|hide)$/,De=/queueHooks$/;xt.Animation=xt.extend($,{tweeners:{"*":[function(t,e){var n=this.createTween(t,e);return p(n.elem,t,Wt.exec(e),n),n}]},tweener:function(t,e){pt(t)?(e=t,t=["*"]):t=t.match(Ot);for(var n,i=0,r=t.length;i<r;i++)n=t[i],$.tweeners[n]=$.tweeners[n]||[],$.tweeners[n].unshift(e)},prefilters:[K],prefilter:function(t,e){e?$.prefilters.unshift(t):$.prefilters.push(t)}}),xt.speed=function(t,e,n){var i=t&&"object"==typeof t?xt.extend({},t):{complete:n||!n&&e||pt(t)&&t,duration:t,easing:n&&e||e&&!pt(e)&&e};return xt.fx.off?i.duration=0:"number"!=typeof i.duration&&(i.duration in xt.fx.speeds?i.duration=xt.fx.speeds[i.duration]:i.duration=xt.fx.speeds._default),null!=i.queue&&!0!==i.queue||(i.queue="fx"),i.old=i.complete,i.complete=function(){pt(i.old)&&i.old.call(this),i.queue&&xt.dequeue(this,i.queue)},i},xt.fn.extend({fadeTo:function(t,e,n,i){return this.filter(Zt).css("opacity",0).show().end().animate({opacity:e},t,n,i)},animate:function(t,e,n,i){var r=xt.isEmptyObject(t),A=xt.speed(e,n,i),o=function(){var e=$(this,xt.extend({},t),A);(r||Ht.get(this,"finish"))&&e.stop(!0)};return o.finish=o,r||!1===A.queue?this.each(o):this.queue(A.queue,o)},stop:function(t,e,n){var i=function(t){var e=t.stop;delete t.stop,e(n)};return"string"!=typeof t&&(n=e,e=t,t=void 0),e&&!1!==t&&this.queue(t||"fx",[]),this.each(function(){var e=!0,r=null!=t&&t+"queueHooks",A=xt.timers,o=Ht.get(this);if(r)o[r]&&o[r].stop&&i(o[r]);else for(r in o)o[r]&&o[r].stop&&De.test(r)&&i(o[r]);for(r=A.length;r--;)A[r].elem!==this||null!=t&&A[r].queue!==t||(A[r].anim.stop(n),e=!1,A.splice(r,1));!e&&n||xt.dequeue(this,t)})},finish:function(t){return!1!==t&&(t=t||"fx"),this.each(function(){var e,n=Ht.get(this),i=n[t+"queue"],r=n[t+"queueHooks"],A=xt.timers,o=i?i.length:0;for(n.finish=!0,xt.queue(this,t,[]),r&&r.stop&&r.stop.call(this,!0),e=A.length;e--;)A[e].elem===this&&A[e].queue===t&&(A[e].anim.stop(!0),A.splice(e,1));for(e=0;e<o;e++)i[e]&&i[e].finish&&i[e].finish.call(this);delete n.finish})}}),xt.each(["toggle","show","hide"],function(t,e){var n=xt.fn[e];xt.fn[e]=function(t,i,r){return null==t||"boolean"==typeof t?n.apply(this,arguments):this.animate(_(e,!0),t,i,r)}}),xt.each({slideDown:_("show"),slideUp:_("hide"),slideToggle:_("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(t,e){xt.fn[t]=function(t,n,i){return this.animate(e,t,n,i)}}),xt.timers=[],xt.fx.tick=function(){var t,e=0,n=xt.timers;for(ye=Date.now();e<n.length;e++)(t=n[e])()||n[e]!==t||n.splice(e--,1);n.length||xt.fx.stop(),ye=void 0},xt.fx.timer=function(t){xt.timers.push(t),xt.fx.start()},xt.fx.interval=13,xt.fx.start=function(){pe||(pe=!0,V())},xt.fx.stop=function(){pe=null},xt.fx.speeds={slow:600,fast:200,_default:400},xt.fn.delay=function(t,e){return t=xt.fx?xt.fx.speeds[t]||t:t,e=e||"fx",this.queue(e,function(e,i){var r=n.setTimeout(e,t);i.stop=function(){n.clearTimeout(r)}})},function(){var t=ut.createElement("input"),e=ut.createElement("select"),n=e.appendChild(ut.createElement("option"));t.type="checkbox",yt.checkOn=""!==t.value,yt.optSelected=n.selected,t=ut.createElement("input"),t.value="t",t.type="radio",yt.radioValue="t"===t.value}();var xe,Be=xt.expr.attrHandle;xt.fn.extend({attr:function(t,e){return Ft(this,xt.attr,t,e,arguments.length>1)},removeAttr:function(t){return this.each(function(){xt.removeAttr(this,t)})}}),xt.extend({attr:function(t,e,n){var i,r,A=t.nodeType;if(3!==A&&8!==A&&2!==A)return void 0===t.getAttribute?xt.prop(t,e,n):(1===A&&xt.isXMLDoc(t)||(r=xt.attrHooks[e.toLowerCase()]||(xt.expr.match.bool.test(e)?xe:void 0)),void 0!==n?null===n?void xt.removeAttr(t,e):r&&"set"in r&&void 0!==(i=r.set(t,n,e))?i:(t.setAttribute(e,n+""),n):r&&"get"in r&&null!==(i=r.get(t,e))?i:(i=xt.find.attr(t,e),null==i?void 0:i))},attrHooks:{type:{set:function(t,e){if(!yt.radioValue&&"radio"===e&&s(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}},removeAttr:function(t,e){var n,i=0,r=e&&e.match(Ot);if(r&&1===t.nodeType)for(;n=r[i++];)t.removeAttribute(n)}}),xe={set:function(t,e,n){return!1===e?xt.removeAttr(t,n):t.setAttribute(n,n),n}},xt.each(xt.expr.match.bool.source.match(/\w+/g),function(t,e){var n=Be[e]||xt.find.attr;Be[e]=function(t,e,i){var r,A,o=e.toLowerCase();return i||(A=Be[o],Be[o]=r,r=null!=n(t,e,i)?o:null,Be[o]=A),r}});var we=/^(?:input|select|textarea|button)$/i,me=/^(?:a|area)$/i;xt.fn.extend({prop:function(t,e){return Ft(this,xt.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each(function(){delete this[xt.propFix[t]||t]})}}),xt.extend({prop:function(t,e,n){var i,r,A=t.nodeType;if(3!==A&&8!==A&&2!==A)return 1===A&&xt.isXMLDoc(t)||(e=xt.propFix[e]||e,r=xt.propHooks[e]),void 0!==n?r&&"set"in r&&void 0!==(i=r.set(t,n,e))?i:t[e]=n:r&&"get"in r&&null!==(i=r.get(t,e))?i:t[e]},propHooks:{tabIndex:{get:function(t){var e=xt.find.attr(t,"tabindex");return e?parseInt(e,10):we.test(t.nodeName)||me.test(t.nodeName)&&t.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),yt.optSelected||(xt.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null},set:function(t){var e=t.parentNode;e&&(e.selectedIndex,e.parentNode&&e.parentNode.selectedIndex)}}),xt.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){xt.propFix[this.toLowerCase()]=this}),xt.fn.extend({addClass:function(t){var e,n,i,r,A,o,a,c=0;if(pt(t))return this.each(function(e){xt(this).addClass(t.call(this,e,et(this)))});if(e=nt(t),e.length)for(;n=this[c++];)if(r=et(n),i=1===n.nodeType&&" "+tt(r)+" "){for(o=0;A=e[o++];)i.indexOf(" "+A+" ")<0&&(i+=A+" ");a=tt(i),r!==a&&n.setAttribute("class",a)}return this},removeClass:function(t){var e,n,i,r,A,o,a,c=0;if(pt(t))return this.each(function(e){xt(this).removeClass(t.call(this,e,et(this)))});if(!arguments.length)return this.attr("class","");if(e=nt(t),e.length)for(;n=this[c++];)if(r=et(n),i=1===n.nodeType&&" "+tt(r)+" "){for(o=0;A=e[o++];)for(;i.indexOf(" "+A+" ")>-1;)i=i.replace(" "+A+" "," ");a=tt(i),r!==a&&n.setAttribute("class",a)}return this},toggleClass:function(t,e){var n=typeof t,i="string"===n||Array.isArray(t);return"boolean"==typeof e&&i?e?this.addClass(t):this.removeClass(t):pt(t)?this.each(function(n){xt(this).toggleClass(t.call(this,n,et(this),e),e)}):this.each(function(){var e,r,A,o;if(i)for(r=0,A=xt(this),o=nt(t);e=o[r++];)A.hasClass(e)?A.removeClass(e):A.addClass(e);else void 0!==t&&"boolean"!==n||(e=et(this),e&&Ht.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===t?"":Ht.get(this,"__className__")||""))})},hasClass:function(t){var e,n,i=0;for(e=" "+t+" ";n=this[i++];)if(1===n.nodeType&&(" "+tt(et(n))+" ").indexOf(e)>-1)return!0;return!1}});var Qe=/\r/g;xt.fn.extend({val:function(t){var e,n,i,r=this[0];{if(arguments.length)return i=pt(t),this.each(function(n){var r;1===this.nodeType&&(r=i?t.call(this,n,xt(this).val()):t,null==r?r="":"number"==typeof r?r+="":Array.isArray(r)&&(r=xt.map(r,function(t){return null==t?"":t+""})),(e=xt.valHooks[this.type]||xt.valHooks[this.nodeName.toLowerCase()])&&"set"in e&&void 0!==e.set(this,r,"value")||(this.value=r))});if(r)return(e=xt.valHooks[r.type]||xt.valHooks[r.nodeName.toLowerCase()])&&"get"in e&&void 0!==(n=e.get(r,"value"))?n:(n=r.value,"string"==typeof n?n.replace(Qe,""):null==n?"":n)}}}),xt.extend({valHooks:{option:{get:function(t){var e=xt.find.attr(t,"value");return null!=e?e:tt(xt.text(t))}},select:{get:function(t){var e,n,i,r=t.options,A=t.selectedIndex,o="select-one"===t.type,a=o?null:[],c=o?A+1:r.length;for(i=A<0?c:o?A:0;i<c;i++)if(n=r[i],(n.selected||i===A)&&!n.disabled&&(!n.parentNode.disabled||!s(n.parentNode,"optgroup"))){if(e=xt(n).val(),o)return e;a.push(e)}return a},set:function(t,e){for(var n,i,r=t.options,A=xt.makeArray(e),o=r.length;o--;)i=r[o],(i.selected=xt.inArray(xt.valHooks.option.get(i),A)>-1)&&(n=!0);return n||(t.selectedIndex=-1),A}}}}),xt.each(["radio","checkbox"],function(){xt.valHooks[this]={set:function(t,e){if(Array.isArray(e))return t.checked=xt.inArray(xt(t).val(),e)>-1}},yt.checkOn||(xt.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})}),yt.focusin="onfocusin"in n;var ve=/^(?:focusinfocus|focusoutblur)$/,je=function(t){t.stopPropagation()};xt.extend(xt.event,{trigger:function(t,e,i,r){var A,o,a,c,s,u,g,l,M=[i||ut],h=Et.call(t,"type")?t.type:t,d=Et.call(t,"namespace")?t.namespace.split("."):[];if(o=l=a=i=i||ut,3!==i.nodeType&&8!==i.nodeType&&!ve.test(h+xt.event.triggered)&&(h.indexOf(".")>-1&&(d=h.split("."),h=d.shift(),d.sort()),s=h.indexOf(":")<0&&"on"+h,t=t[xt.expando]?t:new xt.Event(h,"object"==typeof t&&t),t.isTrigger=r?2:3,t.namespace=d.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),e=null==e?[t]:xt.makeArray(e,[t]),g=xt.event.special[h]||{},r||!g.trigger||!1!==g.trigger.apply(i,e))){if(!r&&!g.noBubble&&!Ct(i)){for(c=g.delegateType||h,ve.test(c+h)||(o=o.parentNode);o;o=o.parentNode)M.push(o),a=o;a===(i.ownerDocument||ut)&&M.push(a.defaultView||a.parentWindow||n)}for(A=0;(o=M[A++])&&!t.isPropagationStopped();)l=o,t.type=A>1?c:g.bindType||h,u=(Ht.get(o,"events")||{})[t.type]&&Ht.get(o,"handle"),u&&u.apply(o,e),(u=s&&o[s])&&u.apply&&Gt(o)&&(t.result=u.apply(o,e),!1===t.result&&t.preventDefault());return t.type=h,r||t.isDefaultPrevented()||g._default&&!1!==g._default.apply(M.pop(),e)||!Gt(i)||s&&pt(i[h])&&!Ct(i)&&(a=i[s],a&&(i[s]=null),xt.event.triggered=h,t.isPropagationStopped()&&l.addEventListener(h,je),i[h](),t.isPropagationStopped()&&l.removeEventListener(h,je),xt.event.triggered=void 0,a&&(i[s]=a)),t.result}},simulate:function(t,e,n){var i=xt.extend(new xt.Event,n,{type:t,isSimulated:!0});xt.event.trigger(i,null,e)}}),xt.fn.extend({trigger:function(t,e){return this.each(function(){xt.event.trigger(t,e,this)})},triggerHandler:function(t,e){var n=this[0];if(n)return xt.event.trigger(t,e,n,!0)}}),yt.focusin||xt.each({focus:"focusin",blur:"focusout"},function(t,e){var n=function(t){xt.event.simulate(e,t.target,xt.event.fix(t))};xt.event.special[e]={setup:function(){var i=this.ownerDocument||this,r=Ht.access(i,e);r||i.addEventListener(t,n,!0),Ht.access(i,e,(r||0)+1)},teardown:function(){var i=this.ownerDocument||this,r=Ht.access(i,e)-1;r?Ht.access(i,e,r):(i.removeEventListener(t,n,!0),Ht.remove(i,e))}}});var Le=n.location,Se=Date.now(),Ye=/\?/;xt.parseXML=function(t){var e;if(!t||"string"!=typeof t)return null;try{e=(new n.DOMParser).parseFromString(t,"text/xml")}catch(t){e=void 0}return e&&!e.getElementsByTagName("parsererror").length||xt.error("Invalid XML: "+t),e};var be=/\[\]$/,Oe=/\r?\n/g,ze=/^(?:submit|button|image|reset|file)$/i,Ue=/^(?:input|select|textarea|keygen)/i;xt.param=function(t,e){var n,i=[],r=function(t,e){var n=pt(e)?e():e;i[i.length]=encodeURIComponent(t)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(t)||t.jquery&&!xt.isPlainObject(t))xt.each(t,function(){r(this.name,this.value)});else for(n in t)it(n,t[n],e,r);return i.join("&")},xt.fn.extend({serialize:function(){return xt.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var t=xt.prop(this,"elements");return t?xt.makeArray(t):this}).filter(function(){var t=this.type;return this.name&&!xt(this).is(":disabled")&&Ue.test(this.nodeName)&&!ze.test(t)&&(this.checked||!$t.test(t))}).map(function(t,e){var n=xt(this).val();return null==n?null:Array.isArray(n)?xt.map(n,function(t){return{name:e.name,value:t.replace(Oe,"\r\n")}}):{name:e.name,value:n.replace(Oe,"\r\n")}}).get()}});var Fe=/%20/g,ke=/#.*$/,Re=/([?&])_=[^&]*/,Ge=/^(.*?):[ \t]*([^\r\n]*)$/gm,He=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Je=/^(?:GET|HEAD)$/,Pe=/^\/\//,Xe={},Ve={},We="*/".concat("*"),_e=ut.createElement("a");_e.href=Le.href,xt.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Le.href,type:"GET",isLocal:He.test(Le.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":We,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":xt.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?ot(ot(t,xt.ajaxSettings),e):ot(xt.ajaxSettings,t)},ajaxPrefilter:rt(Xe),ajaxTransport:rt(Ve),ajax:function(t,e){function i(t,e,i,a){var s,l,M,N,y,p=e;u||(u=!0,c&&n.clearTimeout(c),r=void 0,o=a||"",C.readyState=t>0?4:0,s=t>=200&&t<300||304===t,i&&(N=at(h,C,i)),N=ct(h,N,C,s),s?(h.ifModified&&(y=C.getResponseHeader("Last-Modified"),y&&(xt.lastModified[A]=y),(y=C.getResponseHeader("etag"))&&(xt.etag[A]=y)),204===t||"HEAD"===h.type?p="nocontent":304===t?p="notmodified":(p=N.state,l=N.data,M=N.error,s=!M)):(M=p,!t&&p||(p="error",t<0&&(t=0))),C.status=t,C.statusText=(e||p)+"",s?I.resolveWith(d,[l,p,C]):I.rejectWith(d,[C,p,M]),C.statusCode(T),T=void 0,g&&f.trigger(s?"ajaxSuccess":"ajaxError",[C,h,s?l:M]),E.fireWith(d,[C,p]),g&&(f.trigger("ajaxComplete",[C,h]),--xt.active||xt.event.trigger("ajaxStop")))}"object"==typeof t&&(e=t,t=void 0),e=e||{};var r,A,o,a,c,s,u,g,l,M,h=xt.ajaxSetup({},e),d=h.context||h,f=h.context&&(d.nodeType||d.jquery)?xt(d):xt.event,I=xt.Deferred(),E=xt.Callbacks("once memory"),T=h.statusCode||{},N={},y={},p="canceled",C={readyState:0,getResponseHeader:function(t){var e;if(u){if(!a)for(a={};e=Ge.exec(o);)a[e[1].toLowerCase()]=e[2];e=a[t.toLowerCase()]}return null==e?null:e},getAllResponseHeaders:function(){return u?o:null},setRequestHeader:function(t,e){return null==u&&(t=y[t.toLowerCase()]=y[t.toLowerCase()]||t,N[t]=e),this},overrideMimeType:function(t){return null==u&&(h.mimeType=t),this},statusCode:function(t){var e;if(t)if(u)C.always(t[C.status]);else for(e in t)T[e]=[T[e],t[e]];return this},abort:function(t){var e=t||p;return r&&r.abort(e),i(0,e),this}};if(I.promise(C),h.url=((t||h.url||Le.href)+"").replace(Pe,Le.protocol+"//"),h.type=e.method||e.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(Ot)||[""],null==h.crossDomain){s=ut.createElement("a");try{s.href=h.url,s.href=s.href,h.crossDomain=_e.protocol+"//"+_e.host!=s.protocol+"//"+s.host}catch(t){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=xt.param(h.data,h.traditional)),At(Xe,h,e,C),u)return C;g=xt.event&&h.global,g&&0==xt.active++&&xt.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Je.test(h.type),A=h.url.replace(ke,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(Fe,"+")):(M=h.url.slice(A.length),h.data&&(h.processData||"string"==typeof h.data)&&(A+=(Ye.test(A)?"&":"?")+h.data,delete h.data),!1===h.cache&&(A=A.replace(Re,"$1"),M=(Ye.test(A)?"&":"?")+"_="+Se+++M),h.url=A+M),h.ifModified&&(xt.lastModified[A]&&C.setRequestHeader("If-Modified-Since",xt.lastModified[A]),xt.etag[A]&&C.setRequestHeader("If-None-Match",xt.etag[A])),(h.data&&h.hasContent&&!1!==h.contentType||e.contentType)&&C.setRequestHeader("Content-Type",h.contentType),C.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+We+"; q=0.01":""):h.accepts["*"]);for(l in h.headers)C.setRequestHeader(l,h.headers[l]);if(h.beforeSend&&(!1===h.beforeSend.call(d,C,h)||u))return C.abort();if(p="abort",E.add(h.complete),C.done(h.success),C.fail(h.error),r=At(Ve,h,e,C)){if(C.readyState=1,g&&f.trigger("ajaxSend",[C,h]),u)return C;h.async&&h.timeout>0&&(c=n.setTimeout(function(){C.abort("timeout")},h.timeout));try{u=!1,r.send(N,i)}catch(t){if(u)throw t;i(-1,t)}}else i(-1,"No Transport");return C},getJSON:function(t,e,n){return xt.get(t,e,n,"json")},getScript:function(t,e){return xt.get(t,void 0,e,"script")}}),xt.each(["get","post"],function(t,e){xt[e]=function(t,n,i,r){return pt(n)&&(r=r||i,i=n,n=void 0),xt.ajax(xt.extend({url:t,type:e,dataType:r,data:n,success:i},xt.isPlainObject(t)&&t))}}),xt._evalUrl=function(t){return xt.ajax({url:t,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},xt.fn.extend({wrapAll:function(t){var e;return this[0]&&(pt(t)&&(t=t.call(this[0])),e=xt(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t}).append(this)),this},wrapInner:function(t){return pt(t)?this.each(function(e){xt(this).wrapInner(t.call(this,e))}):this.each(function(){var e=xt(this),n=e.contents();n.length?n.wrapAll(t):e.append(t)})},wrap:function(t){var e=pt(t);return this.each(function(n){xt(this).wrapAll(e?t.call(this,n):t)})},unwrap:function(t){return this.parent(t).not("body").each(function(){xt(this).replaceWith(this.childNodes)}),this}}),xt.expr.pseudos.hidden=function(t){return!xt.expr.pseudos.visible(t)},xt.expr.pseudos.visible=function(t){return!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},xt.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(t){}};var Ze={0:200,1223:204},Ke=xt.ajaxSettings.xhr();yt.cors=!!Ke&&"withCredentials"in Ke,yt.ajax=Ke=!!Ke,xt.ajaxTransport(function(t){var e,i;if(yt.cors||Ke&&!t.crossDomain)return{send:function(r,A){var o,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(o in t.xhrFields)a[o]=t.xhrFields[o];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||r["X-Requested-With"]||(r["X-Requested-With"]="XMLHttpRequest");for(o in r)a.setRequestHeader(o,r[o]);e=function(t){return function(){e&&(e=i=a.onload=a.onerror=a.onabort=a.ontimeout=a.onreadystatechange=null,"abort"===t?a.abort():"error"===t?"number"!=typeof a.status?A(0,"error"):A(a.status,a.statusText):A(Ze[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=e(),i=a.onerror=a.ontimeout=e("error"),void 0!==a.onabort?a.onabort=i:a.onreadystatechange=function(){4===a.readyState&&n.setTimeout(function(){e&&i()})},e=e("abort");try{a.send(t.hasContent&&t.data||null)}catch(t){if(e)throw t}},abort:function(){e&&e()}}}),xt.ajaxPrefilter(function(t){t.crossDomain&&(t.contents.script=!1)}),xt.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(t){return xt.globalEval(t),t}}}),xt.ajaxPrefilter("script",function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type="GET")}),xt.ajaxTransport("script",function(t){if(t.crossDomain){var e,n;return{send:function(i,r){e=xt("<script>").prop({charset:t.scriptCharset,src:t.url}).on("load error",n=function(t){e.remove(),n=null,t&&r("error"===t.type?404:200,t.type)}),ut.head.appendChild(e[0])},abort:function(){n&&n()}}}});var qe=[],$e=/(=)\?(?=&|$)|\?\?/;xt.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var t=qe.pop()||xt.expando+"_"+Se++;return this[t]=!0,t}}),xt.ajaxPrefilter("json jsonp",function(t,e,i){var r,A,o,a=!1!==t.jsonp&&($e.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&$e.test(t.data)&&"data");if(a||"jsonp"===t.dataTypes[0])return r=t.jsonpCallback=pt(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace($e,"$1"+r):!1!==t.jsonp&&(t.url+=(Ye.test(t.url)?"&":"?")+t.jsonp+"="+r),t.converters["script json"]=function(){return o||xt.error(r+" was not called"),o[0]},t.dataTypes[0]="json",A=n[r],n[r]=function(){o=arguments},i.always(function(){void 0===A?xt(n).removeProp(r):n[r]=A,t[r]&&(t.jsonpCallback=e.jsonpCallback,qe.push(r)),o&&pt(A)&&A(o[0]),o=A=void 0}),"script"}),yt.createHTMLDocument=function(){var t=ut.implementation.createHTMLDocument("").body;return t.innerHTML="<form></form><form></form>",2===t.childNodes.length}(),xt.parseHTML=function(t,e,n){if("string"!=typeof t)return[];"boolean"==typeof e&&(n=e,e=!1);var i,r,A;return e||(yt.createHTMLDocument?(e=ut.implementation.createHTMLDocument(""),i=e.createElement("base"),i.href=ut.location.href,e.head.appendChild(i)):e=ut),r=jt.exec(t),A=!n&&[],r?[e.createElement(r[1])]:(r=w([t],e,A),A&&A.length&&xt(A).remove(),xt.merge([],r.childNodes))},xt.fn.load=function(t,e,n){var i,r,A,o=this,a=t.indexOf(" ");return a>-1&&(i=tt(t.slice(a)),t=t.slice(0,a)),pt(e)?(n=e,e=void 0):e&&"object"==typeof e&&(r="POST"),o.length>0&&xt.ajax({url:t,type:r||"GET",dataType:"html",data:e}).done(function(t){A=arguments,o.html(i?xt("<div>").append(xt.parseHTML(t)).find(i):t)}).always(n&&function(t,e){o.each(function(){n.apply(this,A||[t.responseText,e,t])})}),this},xt.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(t,e){xt.fn[e]=function(t){return this.on(e,t)}}),xt.expr.pseudos.animated=function(t){return xt.grep(xt.timers,function(e){return t===e.elem}).length},xt.offset={setOffset:function(t,e,n){var i,r,A,o,a,c,s,u=xt.css(t,"position"),g=xt(t),l={};"static"===u&&(t.style.position="relative"),a=g.offset(),A=xt.css(t,"top"),c=xt.css(t,"left"),s=("absolute"===u||"fixed"===u)&&(A+c).indexOf("auto")>-1,s?(i=g.position(),o=i.top,r=i.left):(o=parseFloat(A)||0,r=parseFloat(c)||0),pt(e)&&(e=e.call(t,n,xt.extend({},a))),null!=e.top&&(l.top=e.top-a.top+o),null!=e.left&&(l.left=e.left-a.left+r),"using"in e?e.using.call(t,l):g.css(l)}},xt.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){xt.offset.setOffset(this,t,e)});var e,n,i=this[0];if(i)return i.getClientRects().length?(e=i.getBoundingClientRect(),n=i.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var t,e,n,i=this[0],r={top:0,left:0};if("fixed"===xt.css(i,"position"))e=i.getBoundingClientRect();else{for(e=this.offset(),n=i.ownerDocument,t=i.offsetParent||n.documentElement;t&&(t===n.body||t===n.documentElement)&&"static"===xt.css(t,"position");)t=t.parentNode;t&&t!==i&&1===t.nodeType&&(r=xt(t).offset(),r.top+=xt.css(t,"borderTopWidth",!0),r.left+=xt.css(t,"borderLeftWidth",!0))}return{top:e.top-r.top-xt.css(i,"marginTop",!0),left:e.left-r.left-xt.css(i,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent;t&&"static"===xt.css(t,"position");)t=t.offsetParent;return t||re})}}),xt.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,e){var n="pageYOffset"===e;xt.fn[t]=function(i){return Ft(this,function(t,i,r){var A;if(Ct(t)?A=t:9===t.nodeType&&(A=t.defaultView),void 0===r)return A?A[e]:t[i];A?A.scrollTo(n?A.pageXOffset:r,n?r:A.pageYOffset):t[i]=r},t,i,arguments.length)}}),xt.each(["top","left"],function(t,e){xt.cssHooks[e]=k(yt.pixelPosition,function(t,n){if(n)return n=F(t,e),le.test(n)?xt(t).position()[e]+"px":n})}),xt.each({Height:"height",Width:"width"},function(t,e){xt.each({padding:"inner"+t,content:e,"":"outer"+t},function(n,i){xt.fn[i]=function(r,A){var o=arguments.length&&(n||"boolean"!=typeof r),a=n||(!0===r||!0===A?"margin":"border");return Ft(this,function(e,n,r){var A;return Ct(e)?0===i.indexOf("outer")?e["inner"+t]:e.document.documentElement["client"+t]:9===e.nodeType?(A=e.documentElement,Math.max(e.body["scroll"+t],A["scroll"+t],e.body["offset"+t],A["offset"+t],A["client"+t])):void 0===r?xt.css(e,n,a):xt.style(e,n,r,a)},e,o?r:void 0,o)}})}),xt.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(t,e){xt.fn[e]=function(t,n){return arguments.length>0?this.on(e,null,t,n):this.trigger(e)}}),xt.fn.extend({hover:function(t,e){return this.mouseenter(t).mouseleave(e||t)}}),xt.fn.extend({bind:function(t,e,n){return this.on(t,null,e,n)},unbind:function(t,e){return this.off(t,null,e)},delegate:function(t,e,n,i){return this.on(e,t,n,i)},undelegate:function(t,e,n){return 1===arguments.length?this.off(t,"**"):this.off(e,t||"**",n)}}),xt.proxy=function(t,e){var n,i,r;if("string"==typeof e&&(n=t[e],e=t,t=n),pt(t))return i=lt.call(arguments,2),r=function(){return t.apply(e||this,i.concat(lt.call(arguments)))},r.guid=t.guid=t.guid||xt.guid++,r},xt.holdReady=function(t){t?xt.readyWait++:xt.ready(!0)},xt.isArray=Array.isArray,xt.parseJSON=JSON.parse,xt.nodeName=s,xt.isFunction=pt,xt.isWindow=Ct,xt.camelCase=E,xt.type=a,xt.now=Date.now,xt.isNumeric=function(t){var e=xt.type(t);return("number"===e||"string"===e)&&!isNaN(t-parseFloat(t))},i=[],void 0!==(r=function(){return xt}.apply(e,i))&&(t.exports=r);var tn=n.jQuery,en=n.$;return xt.noConflict=function(t){return n.$===xt&&(n.$=en),t&&n.jQuery===xt&&(n.jQuery=tn),xt},A||(n.jQuery=n.$=xt),xt})},function(t,e,n){"use strict";function i(t){return!!o[t]}function r(t){if(t)switch(t=t.toLowerCase()){case"q":case e.QUANTITATIVE:return"quantitative";case"t":case e.TEMPORAL:return"temporal";case"o":case e.ORDINAL:return"ordinal";case"n":case e.NOMINAL:return"nominal"}}Object.defineProperty(e,"__esModule",{value:!0});var A;!function(t){t.QUANTITATIVE="quantitative",t.ORDINAL="ordinal",t.TEMPORAL="temporal",t.NOMINAL="nominal"}(A=e.Type||(e.Type={}));var o={quantitative:1,ordinal:1,temporal:1,nominal:1};e.isType=i,e.QUANTITATIVE=A.QUANTITATIVE,e.ORDINAL=A.ORDINAL,e.TEMPORAL=A.TEMPORAL,e.NOMINAL=A.NOMINAL,e.getFullName=r},function(t,e,n){"use strict";function i(t){var e=t.config,n=t.markDef.filled,i=n?"fill":"stroke",r=o("color",t,{vgChannel:i,defaultValue:E.getMarkConfig(i,t.markDef,e)||E.getMarkConfig("color",t.markDef,e)});return!r.fill&&I.contains(["bar","point","circle","square"],t.mark())&&(r.fill={value:"transparent"}),r}function r(t,e){return e.reduce(function(e,n){return t[n]&&(e[n]={value:t[n]}),e},{})}function A(t,e){if(void 0!==e)return n={},n[t]={value:e},n;return;var n}function o(t,e,n){void 0===n&&(n={});var i=n.defaultValue,r=n.vgChannel,A=n.defaultRef||(void 0!==i?{value:i}:void 0),o=e.encoding[t];return a(e,o,r||t,function(n){return N.midPoint(t,n,e.scaleName(t),e.getScaleComponent(t),null,A)})}function a(t,e,n,i){var r=e&&e.condition,A=i(e);if(r){var o=i(r);return a={},a[n]=[h.__assign({test:T.predicate(t,r.selection)},o)].concat(void 0!==A?[A]:[]),a}return void 0!==A?(c={},c[n]=A,c):{};var a,c}function c(t,e){void 0===e&&(e="text");var n=t.encoding[e];return a(t,n,e,function(e){return N.text(e,t.config)})}function s(t,e,n){var i=n.scaleName(e),r="x"===e?"width":"height";if(n.encoding.size){if(n.markDef.orient){var A=(a={},a[e+"c"]=N.fieldRef(t,i,{},{band:.5}),a);if(d.getFieldDef(n.encoding.size))f.warn(f.message.cannotUseSizeFieldWithBandSize(e));else if(d.isValueDef(n.encoding.size))return h.__assign({},A,o("size",n,{vgChannel:r}))}else f.warn(f.message.cannotApplySizeToNonOrientedMark(n.markDef.type))}return c={},c[e]=N.fieldRef(t,i,{binSuffix:"range"}),c[r]=N.band(i),c;var a,c}function u(t,e,n,i){var r="x"===t?"xc":"yc",A="x"===t?"width":"height";return h.__assign({},l(t,e,n,r),o("size",e,{defaultRef:i,vgChannel:A}))}function g(t,e,n,i,r){return"x"===e?{x2:N.bin(t,n,"start",r?0:i),x:N.bin(t,n,"end",r?i:0)}:{y2:N.bin(t,n,"start",r?i:0),y:N.bin(t,n,"end",r?0:i)}}function l(t,e,n,i){var r=e.encoding,A=e.stack,o=N.stackable(t,r[t],e.scaleName(t),e.getScaleComponent(t),A,n);return a={},a[i||t]=o,a;var a}function M(t,e,n){var i=t.encoding,r=t.markDef,A=t.stack;n=n||("horizontal"===r.orient?"x2":"y2");var o="x2"===n?"x":"y",a=N.stackable2(n,i[o],i[n],t.scaleName(o),t.getScaleComponent(o),A,e);return c={},c[n]=a,c;var c}Object.defineProperty(e,"__esModule",{value:!0});var h=n(3),d=n(9),f=n(4),I=n(2),E=n(23),T=n(21),N=n(68);e.color=i,e.markDefProperties=r,e.valueIfDefined=A,e.nonPosition=o,e.text=c,e.bandPosition=s,e.centeredBandPosition=u,e.binnedPosition=g,e.pointPosition=l,e.pointPosition2=M},function(t,e,n){"use strict";n.d(e,"d",function(){return i}),n.d(e,"c",function(){return r}),n.d(e,"b",function(){return A}),n.d(e,"a",function(){return o}),n.d(e,"e",function(){return a});var i=1e3,r=6e4,A=36e5,o=864e5,a=6048e5},function(t,e,n){"use strict";function i(t,e){return t.zindex-e.zindex||t.index-e.index}function r(t){if(!t.zdirty)return t.zitems;var e,n,r,A=t.items,o=[];for(n=0,r=A.length;n<r;++n)e=A[n],e.index=n,e.zindex&&o.push(e);return t.zdirty=!1,t.zitems=o.sort(i)}function A(t,e){var n,i,A=t.items;if(A&&A.length){var o=r(t);if(o&&o.length){for(n=0,i=A.length;n<i;++n)A[n].zindex||e(A[n]);A=o}for(n=0,i=A.length;n<i;++n)e(A[n])}}function o(t,e){var n,i,A=t.items;if(!A||!A.length)return null;var o=r(t);for(o&&o.length&&(A=o),i=A.length;--i>=0;)if(n=e(A[i]))return n;if(A===o)for(A=t.items,i=A.length;--i>=0;)if(!A[i].zindex&&(n=e(A[i])))return n;return null}e.b=A,e.a=o},function(t,e,n){"use strict";function i(t){return r(function(){return t})()}function r(t){function e(t){return t=N(t[0]*u.r,t[1]*u.r),[t[0]*B+I,E-t[1]*B]}function n(t){return(t=N.invert((t[0]-I)/B,(E-t[1])/B))&&[t[0]*u.h,t[1]*u.h]}function i(t,e){return t=f(t,e),[t[0]*B+I,E-t[1]*B]}function r(){N=Object(c.a)(T=Object(g.b)(j,L,S),f);var t=f(Q,v);return I=w-t[0]*B,E=m+t[1]*B,l()}function l(){return D=x=null,e}var f,I,E,T,N,y,p,C,D,x,B=150,w=480,m=250,Q=0,v=0,j=0,L=0,S=0,Y=null,b=A.a,O=null,z=s.a,U=.5,F=Object(h.a)(i,U);return e.stream=function(t){return D&&x===t?D:D=d(b(T,F(z(x=t))))},e.clipAngle=function(t){return arguments.length?(b=+t?Object(o.a)(Y=t*u.r,6*u.r):(Y=null,A.a),l()):Y*u.h},e.clipExtent=function(t){return arguments.length?(z=null==t?(O=y=p=C=null,s.a):Object(a.a)(O=+t[0][0],y=+t[0][1],p=+t[1][0],C=+t[1][1]),l()):null==O?null:[[O,y],[p,C]]},e.scale=function(t){return arguments.length?(B=+t,r()):B},e.translate=function(t){return arguments.length?(w=+t[0],m=+t[1],r()):[w,m]},e.center=function(t){return arguments.length?(Q=t[0]%360*u.r,v=t[1]%360*u.r,r()):[Q*u.h,v*u.h]},e.rotate=function(t){return arguments.length?(j=t[0]%360*u.r,L=t[1]%360*u.r,S=t.length>2?t[2]%360*u.r:0,r()):[j*u.h,L*u.h,S*u.h]},e.precision=function(t){return arguments.length?(F=Object(h.a)(i,U=t*t),l()):Object(u.u)(U)},e.fitExtent=function(t,n){return Object(M.a)(e,t,n)},e.fitSize=function(t,n){return Object(M.b)(e,t,n)},function(){return f=t.apply(this,arguments),e.invert=f.invert&&n,r()}}e.a=i,e.b=r;var A=n(1047),o=n(1048),a=n(265),c=n(465),s=n(266),u=n(6),g=n(176),l=n(177),M=n(269),h=n(1049),d=Object(l.a)({point:function(t,e){this.stream.point(t*u.r,e*u.r)}})},function(t,e,n){"use strict";var i=n(81);n.d(e,"a",function(){return i.a});var r=n(1136);n.d(e,"d",function(){return r.a});var A=n(487);n.d(e,"e",function(){return A.a});var o=n(489);n.d(e,"k",function(){return o.a});var a=n(488);n.d(e,"g",function(){return a.a});var c=n(1137);n.d(e,"o",function(){return c.a});var s=n(285);n.d(e,"f",function(){return s.a});var u=n(188);n.d(e,"j",function(){return u.a});var g=n(498);n.d(e,"b",function(){return g.a});var l=n(500);n.d(e,"c",function(){return l.a});var M=n(501);n.d(e,"l",function(){return M.a});var h=n(502);n.d(e,"m",function(){return h.a});var d=n(505);n.d(e,"n",function(){return d.a});var f=n(1154);n.d(e,"i",function(){return f.a}),n.d(e,"I",function(){return f.b});var I=n(82);n.d(e,"h",function(){return I.a});var E=n(182);n.d(e,"p",function(){return E.a});var T=n(83);n.d(e,"s",function(){return T.a});var N=n(492);n.d(e,"q",function(){return N.a});var y=n(491);n.d(e,"r",function(){return y.a});var p=n(493);n.d(e,"A",function(){return p.a});var C=n(494);n.d(e,"F",function(){return C.a});var D=n(495);n.d(e,"D",function(){return D.a});var x=n(496);n.d(e,"G",function(){return x.a});var B=n(181);n.d(e,"C",function(){return B.a});var w=n(280);n.d(e,"E",function(){return w.a});var m=n(499);n.d(e,"H",function(){return m.a});var Q=n(85);n.d(e,"w",function(){return Q.d}),n.d(e,"x",function(){return Q.e}),n.d(e,"u",function(){return Q.b}),n.d(e,"v",function(){return Q.c});var v=n(286);n.d(e,"z",function(){return v.b}),n.d(e,"t",function(){return v.a});var j=n(187);n.d(e,"y",function(){return j.a}),n.d(e,"Q",function(){return j.c});var L=n(186);n.d(e,"J",function(){return L.b});var S=n(1155);n.d(e,"K",function(){return S.b}),n.d(e,"B",function(){return S.a});var Y=n(490);n.d(e,"N",function(){return Y.b}),n.d(e,"L",function(){return Y.a});var b=n(55);n.d(e,"P",function(){return b.c}),n.d(e,"O",function(){return b.b}),n.d(e,"M",function(){return b.a})},function(t,e,n){"use strict";function i(t,e){return t.zindex-e.zindex||t.index-e.index}function r(t){if(!t.zdirty)return t.zitems;var e,n,r,A=t.items,o=[];for(n=0,r=A.length;n<r;++n)e=A[n],e.index=n,e.zindex&&o.push(e);return t.zdirty=!1,t.zitems=o.sort(i)}function A(t,e){var n,i,A=t.items;if(A&&A.length){var o=r(t);if(o&&o.length){for(n=0,i=A.length;n<i;++n)A[n].zindex||e(A[n]);A=o}for(n=0,i=A.length;n<i;++n)e(A[n])}}function o(t,e){var n,i,A=t.items;if(!A||!A.length)return null;var o=r(t);for(o&&o.length&&(A=o),i=A.length;--i>=0;)if(n=e(A[i]))return n;if(A===o)for(A=t.items,i=A.length;--i>=0;)if(!A[i].zindex&&(n=e(A[i])))return n;return null}e.c=r,e.b=A,e.a=o},function(t,e,n){"use strict";n.d(e,"d",function(){return i}),n.d(e,"c",function(){return r}),n.d(e,"b",function(){return A}),n.d(e,"a",function(){return o}),n.d(e,"e",function(){return a});var i=1e3,r=6e4,A=36e5,o=864e5,a=6048e5},function(t,e,n){var i,r;(function(){function n(t){function e(e,n,i,r,A,o){for(;A>=0&&A<o;A+=t){var a=r?r[A]:A;i=n(i,e[a],a,e)}return i}return function(n,i,r,A){i=C(i,A,4);var o=!v(n)&&p.keys(n),a=(o||n).length,c=t>0?0:a-1;return arguments.length<3&&(r=n[o?o[c]:c],c+=t),e(n,i,r,o,c,a)}}function A(t){return function(e,n,i){n=D(n,i);for(var r=Q(e),A=t>0?0:r-1;A>=0&&A<r;A+=t)if(n(e[A],A,e))return A;return-1}}function o(t,e,n){return function(i,r,A){var o=0,a=Q(i);if("number"==typeof A)t>0?o=A>=0?A:Math.max(A+a,o):a=A>=0?Math.min(A+1,a):A+a+1;else if(n&&A&&a)return A=n(i,r),i[A]===r?A:-1;if(r!==r)return A=e(h.call(i,o,a),p.isNaN),A>=0?A+o:-1;for(A=t>0?o:a-1;A>=0&&A<a;A+=t)if(i[A]===r)return A;return-1}}function a(t,e){var n=b.length,i=t.constructor,r=p.isFunction(i)&&i.prototype||g,A="constructor";for(p.has(t,A)&&!p.contains(e,A)&&e.push(A);n--;)(A=b[n])in t&&t[A]!==r[A]&&!p.contains(e,A)&&e.push(A)}var c=this,s=c._,u=Array.prototype,g=Object.prototype,l=Function.prototype,M=u.push,h=u.slice,d=g.toString,f=g.hasOwnProperty,I=Array.isArray,E=Object.keys,T=l.bind,N=Object.create,y=function(){},p=function(t){return t instanceof p?t:this instanceof p?void(this._wrapped=t):new p(t)};void 0!==t&&t.exports&&(e=t.exports=p),e._=p,p.VERSION="1.8.3";var C=function(t,e,n){if(void 0===e)return t;switch(null==n?3:n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)};case 4:return function(n,i,r,A){return t.call(e,n,i,r,A)}}return function(){return t.apply(e,arguments)}},D=function(t,e,n){return null==t?p.identity:p.isFunction(t)?C(t,e,n):p.isObject(t)?p.matcher(t):p.property(t)};p.iteratee=function(t,e){return D(t,e,1/0)};var x=function(t,e){return function(n){var i=arguments.length;if(i<2||null==n)return n;for(var r=1;r<i;r++)for(var A=arguments[r],o=t(A),a=o.length,c=0;c<a;c++){var s=o[c];e&&void 0!==n[s]||(n[s]=A[s])}return n}},B=function(t){if(!p.isObject(t))return{};if(N)return N(t);y.prototype=t;var e=new y;return y.prototype=null,e},w=function(t){return function(e){return null==e?void 0:e[t]}},m=Math.pow(2,53)-1,Q=w("length"),v=function(t){var e=Q(t);return"number"==typeof e&&e>=0&&e<=m};p.each=p.forEach=function(t,e,n){e=C(e,n);var i,r;if(v(t))for(i=0,r=t.length;i<r;i++)e(t[i],i,t);else{var A=p.keys(t);for(i=0,r=A.length;i<r;i++)e(t[A[i]],A[i],t)}return t},p.map=p.collect=function(t,e,n){e=D(e,n);for(var i=!v(t)&&p.keys(t),r=(i||t).length,A=Array(r),o=0;o<r;o++){var a=i?i[o]:o;A[o]=e(t[a],a,t)}return A},p.reduce=p.foldl=p.inject=n(1),p.reduceRight=p.foldr=n(-1),p.find=p.detect=function(t,e,n){var i;if(void 0!==(i=v(t)?p.findIndex(t,e,n):p.findKey(t,e,n))&&-1!==i)return t[i]},p.filter=p.select=function(t,e,n){var i=[];return e=D(e,n),p.each(t,function(t,n,r){e(t,n,r)&&i.push(t)}),i},p.reject=function(t,e,n){return p.filter(t,p.negate(D(e)),n)},p.every=p.all=function(t,e,n){e=D(e,n);for(var i=!v(t)&&p.keys(t),r=(i||t).length,A=0;A<r;A++){var o=i?i[A]:A;if(!e(t[o],o,t))return!1}return!0},p.some=p.any=function(t,e,n){e=D(e,n);for(var i=!v(t)&&p.keys(t),r=(i||t).length,A=0;A<r;A++){var o=i?i[A]:A;if(e(t[o],o,t))return!0}return!1},p.contains=p.includes=p.include=function(t,e,n,i){return v(t)||(t=p.values(t)),("number"!=typeof n||i)&&(n=0),p.indexOf(t,e,n)>=0},p.invoke=function(t,e){var n=h.call(arguments,2),i=p.isFunction(e);return p.map(t,function(t){var r=i?e:t[e];return null==r?r:r.apply(t,n)})},p.pluck=function(t,e){return p.map(t,p.property(e))},p.where=function(t,e){return p.filter(t,p.matcher(e))},p.findWhere=function(t,e){return p.find(t,p.matcher(e))},p.max=function(t,e,n){var i,r,A=-1/0,o=-1/0;if(null==e&&null!=t){t=v(t)?t:p.values(t);for(var a=0,c=t.length;a<c;a++)(i=t[a])>A&&(A=i)}else e=D(e,n),p.each(t,function(t,n,i){((r=e(t,n,i))>o||r===-1/0&&A===-1/0)&&(A=t,o=r)});return A},p.min=function(t,e,n){var i,r,A=1/0,o=1/0;if(null==e&&null!=t){t=v(t)?t:p.values(t);for(var a=0,c=t.length;a<c;a++)(i=t[a])<A&&(A=i)}else e=D(e,n),p.each(t,function(t,n,i){((r=e(t,n,i))<o||r===1/0&&A===1/0)&&(A=t,o=r)});return A},p.shuffle=function(t){for(var e,n=v(t)?t:p.values(t),i=n.length,r=Array(i),A=0;A<i;A++)e=p.random(0,A),e!==A&&(r[A]=r[e]),r[e]=n[A];return r},p.sample=function(t,e,n){return null==e||n?(v(t)||(t=p.values(t)),t[p.random(t.length-1)]):p.shuffle(t).slice(0,Math.max(0,e))},p.sortBy=function(t,e,n){return e=D(e,n),p.pluck(p.map(t,function(t,n,i){return{value:t,index:n,criteria:e(t,n,i)}}).sort(function(t,e){var n=t.criteria,i=e.criteria;if(n!==i){if(n>i||void 0===n)return 1;if(n<i||void 0===i)return-1}return t.index-e.index}),"value")};var j=function(t){return function(e,n,i){var r={};return n=D(n,i),p.each(e,function(i,A){var o=n(i,A,e);t(r,i,o)}),r}};p.groupBy=j(function(t,e,n){p.has(t,n)?t[n].push(e):t[n]=[e]}),p.indexBy=j(function(t,e,n){t[n]=e}),p.countBy=j(function(t,e,n){p.has(t,n)?t[n]++:t[n]=1}),p.toArray=function(t){return t?p.isArray(t)?h.call(t):v(t)?p.map(t,p.identity):p.values(t):[]},p.size=function(t){return null==t?0:v(t)?t.length:p.keys(t).length},p.partition=function(t,e,n){e=D(e,n);var i=[],r=[];return p.each(t,function(t,n,A){(e(t,n,A)?i:r).push(t)}),[i,r]},p.first=p.head=p.take=function(t,e,n){if(null!=t)return null==e||n?t[0]:p.initial(t,t.length-e)},p.initial=function(t,e,n){return h.call(t,0,Math.max(0,t.length-(null==e||n?1:e)))},p.last=function(t,e,n){if(null!=t)return null==e||n?t[t.length-1]:p.rest(t,Math.max(0,t.length-e))},p.rest=p.tail=p.drop=function(t,e,n){return h.call(t,null==e||n?1:e)},p.compact=function(t){return p.filter(t,p.identity)};var L=function(t,e,n,i){for(var r=[],A=0,o=i||0,a=Q(t);o<a;o++){var c=t[o];if(v(c)&&(p.isArray(c)||p.isArguments(c))){e||(c=L(c,e,n));var s=0,u=c.length;for(r.length+=u;s<u;)r[A++]=c[s++]}else n||(r[A++]=c)}return r};p.flatten=function(t,e){return L(t,e,!1)},p.without=function(t){return p.difference(t,h.call(arguments,1))},p.uniq=p.unique=function(t,e,n,i){p.isBoolean(e)||(i=n,n=e,e=!1),null!=n&&(n=D(n,i));for(var r=[],A=[],o=0,a=Q(t);o<a;o++){var c=t[o],s=n?n(c,o,t):c;e?(o&&A===s||r.push(c),A=s):n?p.contains(A,s)||(A.push(s),r.push(c)):p.contains(r,c)||r.push(c)}return r},p.union=function(){return p.uniq(L(arguments,!0,!0))},p.intersection=function(t){for(var e=[],n=arguments.length,i=0,r=Q(t);i<r;i++){var A=t[i];if(!p.contains(e,A)){for(var o=1;o<n&&p.contains(arguments[o],A);o++);o===n&&e.push(A)}}return e},p.difference=function(t){var e=L(arguments,!0,!0,1);return p.filter(t,function(t){return!p.contains(e,t)})},p.zip=function(){return p.unzip(arguments)},p.unzip=function(t){for(var e=t&&p.max(t,Q).length||0,n=Array(e),i=0;i<e;i++)n[i]=p.pluck(t,i);return n},p.object=function(t,e){for(var n={},i=0,r=Q(t);i<r;i++)e?n[t[i]]=e[i]:n[t[i][0]]=t[i][1];return n},p.findIndex=A(1),p.findLastIndex=A(-1),p.sortedIndex=function(t,e,n,i){n=D(n,i,1);for(var r=n(e),A=0,o=Q(t);A<o;){var a=Math.floor((A+o)/2);n(t[a])<r?A=a+1:o=a}return A},p.indexOf=o(1,p.findIndex,p.sortedIndex),p.lastIndexOf=o(-1,p.findLastIndex),p.range=function(t,e,n){null==e&&(e=t||0,t=0),n=n||1;for(var i=Math.max(Math.ceil((e-t)/n),0),r=Array(i),A=0;A<i;A++,t+=n)r[A]=t;return r};var S=function(t,e,n,i,r){if(!(i instanceof e))return t.apply(n,r);var A=B(t.prototype),o=t.apply(A,r);return p.isObject(o)?o:A};p.bind=function(t,e){if(T&&t.bind===T)return T.apply(t,h.call(arguments,1));if(!p.isFunction(t))throw new TypeError("Bind must be called on a function");var n=h.call(arguments,2),i=function(){return S(t,i,e,this,n.concat(h.call(arguments)))};return i},p.partial=function(t){var e=h.call(arguments,1),n=function(){for(var i=0,r=e.length,A=Array(r),o=0;o<r;o++)A[o]=e[o]===p?arguments[i++]:e[o];for(;i<arguments.length;)A.push(arguments[i++]);return S(t,n,this,this,A)};return n},p.bindAll=function(t){var e,n,i=arguments.length;if(i<=1)throw new Error("bindAll must be passed function names");for(e=1;e<i;e++)n=arguments[e],t[n]=p.bind(t[n],t);return t},p.memoize=function(t,e){var n=function(i){var r=n.cache,A=""+(e?e.apply(this,arguments):i);return p.has(r,A)||(r[A]=t.apply(this,arguments)),r[A]};return n.cache={},n},p.delay=function(t,e){var n=h.call(arguments,2);return setTimeout(function(){return t.apply(null,n)},e)},p.defer=p.partial(p.delay,p,1),p.throttle=function(t,e,n){var i,r,A,o=null,a=0;n||(n={});var c=function(){a=!1===n.leading?0:p.now(),o=null,A=t.apply(i,r),o||(i=r=null)};return function(){var s=p.now();a||!1!==n.leading||(a=s);var u=e-(s-a);return i=this,r=arguments,u<=0||u>e?(o&&(clearTimeout(o),o=null),a=s,A=t.apply(i,r),o||(i=r=null)):o||!1===n.trailing||(o=setTimeout(c,u)),A}},p.debounce=function(t,e,n){var i,r,A,o,a,c=function(){var s=p.now()-o;s<e&&s>=0?i=setTimeout(c,e-s):(i=null,n||(a=t.apply(A,r),i||(A=r=null)))};return function(){A=this,r=arguments,o=p.now();var s=n&&!i;return i||(i=setTimeout(c,e)),s&&(a=t.apply(A,r),A=r=null),a}},p.wrap=function(t,e){return p.partial(e,t)},p.negate=function(t){return function(){return!t.apply(this,arguments)}},p.compose=function(){var t=arguments,e=t.length-1;return function(){for(var n=e,i=t[e].apply(this,arguments);n--;)i=t[n].call(this,i);return i}},p.after=function(t,e){return function(){if(--t<1)return e.apply(this,arguments)}},p.before=function(t,e){var n;return function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=null),n}},p.once=p.partial(p.before,2);var Y=!{toString:null}.propertyIsEnumerable("toString"),b=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];p.keys=function(t){if(!p.isObject(t))return[];if(E)return E(t);var e=[];for(var n in t)p.has(t,n)&&e.push(n);return Y&&a(t,e),e},p.allKeys=function(t){if(!p.isObject(t))return[];var e=[];for(var n in t)e.push(n);return Y&&a(t,e),e},p.values=function(t){for(var e=p.keys(t),n=e.length,i=Array(n),r=0;r<n;r++)i[r]=t[e[r]];return i},p.mapObject=function(t,e,n){e=D(e,n);for(var i,r=p.keys(t),A=r.length,o={},a=0;a<A;a++)i=r[a],o[i]=e(t[i],i,t);return o},p.pairs=function(t){for(var e=p.keys(t),n=e.length,i=Array(n),r=0;r<n;r++)i[r]=[e[r],t[e[r]]];return i},p.invert=function(t){for(var e={},n=p.keys(t),i=0,r=n.length;i<r;i++)e[t[n[i]]]=n[i];return e},p.functions=p.methods=function(t){var e=[];for(var n in t)p.isFunction(t[n])&&e.push(n);return e.sort()},p.extend=x(p.allKeys),p.extendOwn=p.assign=x(p.keys),p.findKey=function(t,e,n){e=D(e,n);for(var i,r=p.keys(t),A=0,o=r.length;A<o;A++)if(i=r[A],e(t[i],i,t))return i},p.pick=function(t,e,n){var i,r,A={},o=t;if(null==o)return A;p.isFunction(e)?(r=p.allKeys(o),i=C(e,n)):(r=L(arguments,!1,!1,1),i=function(t,e,n){return e in n},o=Object(o));for(var a=0,c=r.length;a<c;a++){var s=r[a],u=o[s];i(u,s,o)&&(A[s]=u)}return A},p.omit=function(t,e,n){if(p.isFunction(e))e=p.negate(e);else{var i=p.map(L(arguments,!1,!1,1),String);e=function(t,e){return!p.contains(i,e)}}return p.pick(t,e,n)},p.defaults=x(p.allKeys,!0),p.create=function(t,e){var n=B(t);return e&&p.extendOwn(n,e),n},p.clone=function(t){return p.isObject(t)?p.isArray(t)?t.slice():p.extend({},t):t},p.tap=function(t,e){return e(t),t},p.isMatch=function(t,e){var n=p.keys(e),i=n.length;if(null==t)return!i;for(var r=Object(t),A=0;A<i;A++){var o=n[A];if(e[o]!==r[o]||!(o in r))return!1}return!0};var O=function(t,e,n,i){if(t===e)return 0!==t||1/t==1/e;if(null==t||null==e)return t===e;t instanceof p&&(t=t._wrapped),e instanceof p&&(e=e._wrapped);var r=d.call(t);if(r!==d.call(e))return!1;switch(r){case"[object RegExp]":case"[object String]":return""+t==""+e;case"[object Number]":return+t!=+t?+e!=+e:0==+t?1/+t==1/e:+t==+e;case"[object Date]":case"[object Boolean]":return+t==+e}var A="[object Array]"===r;if(!A){if("object"!=typeof t||"object"!=typeof e)return!1;var o=t.constructor,a=e.constructor;if(o!==a&&!(p.isFunction(o)&&o instanceof o&&p.isFunction(a)&&a instanceof a)&&"constructor"in t&&"constructor"in e)return!1}n=n||[],i=i||[];for(var c=n.length;c--;)if(n[c]===t)return i[c]===e;if(n.push(t),i.push(e),A){if((c=t.length)!==e.length)return!1;for(;c--;)if(!O(t[c],e[c],n,i))return!1}else{var s,u=p.keys(t);if(c=u.length,p.keys(e).length!==c)return!1;for(;c--;)if(s=u[c],!p.has(e,s)||!O(t[s],e[s],n,i))return!1}return n.pop(),i.pop(),!0};p.isEqual=function(t,e){return O(t,e)},p.isEmpty=function(t){return null==t||(v(t)&&(p.isArray(t)||p.isString(t)||p.isArguments(t))?0===t.length:0===p.keys(t).length)},p.isElement=function(t){return!(!t||1!==t.nodeType)},p.isArray=I||function(t){return"[object Array]"===d.call(t)},p.isObject=function(t){var e=typeof t;return"function"===e||"object"===e&&!!t},p.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(t){p["is"+t]=function(e){return d.call(e)==="[object "+t+"]"}}),p.isArguments(arguments)||(p.isArguments=function(t){return p.has(t,"callee")}),"function"!=typeof/./&&"object"!=typeof Int8Array&&(p.isFunction=function(t){return"function"==typeof t||!1}),p.isFinite=function(t){return isFinite(t)&&!isNaN(parseFloat(t))},p.isNaN=function(t){return p.isNumber(t)&&t!==+t},p.isBoolean=function(t){return!0===t||!1===t||"[object Boolean]"===d.call(t)},p.isNull=function(t){return null===t},p.isUndefined=function(t){return void 0===t},p.has=function(t,e){return null!=t&&f.call(t,e)},p.noConflict=function(){return c._=s,this},p.identity=function(t){return t},p.constant=function(t){return function(){return t}},p.noop=function(){},p.property=w,p.propertyOf=function(t){return null==t?function(){}:function(e){return t[e]}},p.matcher=p.matches=function(t){return t=p.extendOwn({},t),function(e){return p.isMatch(e,t)}},p.times=function(t,e,n){var i=Array(Math.max(0,t));e=C(e,n,1);for(var r=0;r<t;r++)i[r]=e(r);return i},p.random=function(t,e){return null==e&&(e=t,t=0),t+Math.floor(Math.random()*(e-t+1))},p.now=Date.now||function(){return(new Date).getTime()};var z={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},U=p.invert(z),F=function(t){var e=function(e){return t[e]},n="(?:"+p.keys(t).join("|")+")",i=RegExp(n),r=RegExp(n,"g");return function(t){return t=null==t?"":""+t,i.test(t)?t.replace(r,e):t}};p.escape=F(z),p.unescape=F(U),p.result=function(t,e,n){var i=null==t?void 0:t[e];return void 0===i&&(i=n),p.isFunction(i)?i.call(t):i};var k=0;p.uniqueId=function(t){var e=++k+"";return t?t+e:e},p.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var R=/(.)^/,G={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},H=/\\|'|\r|\n|\u2028|\u2029/g,J=function(t){return"\\"+G[t]};p.template=function(t,e,n){!e&&n&&(e=n),e=p.defaults({},e,p.templateSettings);var i=RegExp([(e.escape||R).source,(e.interpolate||R).source,(e.evaluate||R).source].join("|")+"|$","g"),r=0,A="__p+='";t.replace(i,function(e,n,i,o,a){return A+=t.slice(r,a).replace(H,J),r=a+e.length,n?A+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":i?A+="'+\n((__t=("+i+"))==null?'':__t)+\n'":o&&(A+="';\n"+o+"\n__p+='"),e}),A+="';\n",e.variable||(A="with(obj||{}){\n"+A+"}\n"),A="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+A+"return __p;\n";try{var o=new Function(e.variable||"obj","_",A)}catch(t){throw t.source=A,t}var a=function(t){return o.call(this,t,p)};return a.source="function("+(e.variable||"obj")+"){\n"+A+"}",a},p.chain=function(t){var e=p(t);return e._chain=!0,e};var P=function(t,e){return t._chain?p(e).chain():e};p.mixin=function(t){p.each(p.functions(t),function(e){var n=p[e]=t[e];p.prototype[e]=function(){var t=[this._wrapped];return M.apply(t,arguments),P(this,n.apply(p,t))}})},p.mixin(p),p.each(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var e=u[t];p.prototype[t]=function(){var n=this._wrapped;return e.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0],P(this,n)}}),p.each(["concat","join","slice"],function(t){var e=u[t];p.prototype[t]=function(){return P(this,e.apply(this._wrapped,arguments))}}),p.prototype.value=function(){return this._wrapped},p.prototype.valueOf=p.prototype.toJSON=p.prototype.value,p.prototype.toString=function(){return""+this._wrapped},i=[],void 0!==(r=function(){return p}.apply(e,i))&&(t.exports=r)}).call(this)},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function A(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),a=n(342),c=n(762),s=function(t){return t&&t.__esModule?t:{default:t}}(c),u=n(763);n(793);var g=n(14),l=n(103),M=n(795),h=function(t){return function(t){function e(){var t;i(this,e);for(var n=arguments.length,A=Array(n),o=0;o<n;o++)A[o]=arguments[o];var a=r(this,(t=e.__proto__||Object.getPrototypeOf(e)).call.apply(t,[this].concat(A)));return a.el=(0,g.select)(a.el).node(),a.options=A[1],a.content=document.createElement("div"),a.content.style.display="block",a.el.appendChild(a.content),a}return A(e,t),o(e,[{key:"generateSpec",value:function(){return{}}},{key:"update",value:function(t){return Object.assign(this.options,t),Promise.resolve(this.view)}},{key:"getWidth",value:function(t){if(this.options&&void 0!==this.options.width)return this.options.width;if(void 0!==this.width&&0!==this.width)return this.width;var e=(0,l.getElementSize)(this.el).width;return 0!==e?e:t}},{key:"getHeight",value:function(t){if(this.options&&void 0!==this.options.height)return this.options.height;if(void 0!==this.height&&0!==this.height)return this.height;var e=(0,l.getElementSize)(this.el).height;return 0!==e?e:t}},{key:"_resizeContent",value:function(t,e){t.spec?(t.spec.width=e.width,t.spec.height=e.height):(t.width=e.width,t.height=e.height);var n=t;return t.$schema&&"vega-lite"===(0,s.default)(t.$schema).library&&(n=(0,a.compile)(t).spec),this.view=new M.View((0,M.parse)(n)).renderer(this.options.renderer||"canvas").initialize(this.content).hover().run(),(0,u.vega)(this.view),{width:window.parseInt(this.content.firstChild.getAttribute("width")),height:window.parseInt(this.content.firstChild.getAttribute("height"))}}},{key:"render",value:function(){var t=this.generateSpec(),e={width:t.width,height:t.height};t.spec&&(e={width:t.spec.width,height:t.spec.height}),this.el.removeChild(this.content);var n=this._resizeContent(t,e),i=Math.floor(n.width/e.width),r=Math.floor(n.height/e.height),A=this._resizeContent(t,{width:e.width/i,height:e.height/r}),o=A.width-e.width,a=A.height-e.height;return this._resizeContent(t,{width:(e.width-o)/i,height:(e.height-a)/r}),this.content.firstChild.style.display="block",this.el.appendChild(this.content),Promise.resolve(this.view)}},{key:"destroy",value:function(){this.view.finalize(),this.empty()}},{key:"serialize",value:function(t){return this.view?Promise.resolve(this.view.toImageURL(t)):Promise.reject("The render() method must be called before serialize().")}},{key:"serializationFormats",get:function(){return["png","svg"]}}]),e}(t)};e.default=h},function(t,e,n){"use strict";function i(t,e,n){return!t&&"undefined"!=typeof document&&document.createElement&&(t=document),t?n?t.createElementNS(n,e):t.createElement(e):null}function r(t,e){e=e.toLowerCase();for(var n=t.childNodes,i=0,r=n.length;i<r;++i)if(n[i].tagName.toLowerCase()===e)return n[i]}function A(t,e,n,r){var A,o=t.childNodes[e];return o&&o.tagName.toLowerCase()===n.toLowerCase()||(A=o||null,o=i(t.ownerDocument,n,r),t.insertBefore(o,A)),o}function o(t,e){for(var n=t.childNodes,i=n.length;i>e;)t.removeChild(n[--i]);return t}function a(t){return"mark-"+t.marktype+(t.role?" role-"+t.role:"")+(t.name?" "+t.name:"")}e.d=i,e.e=r,e.b=A,e.c=o,e.a=a},function(t,e,n){"use strict";function i(t){return t.x||0}function r(t){return t.y||0}function A(t){return t.width||0}function o(t){return t.size||1}function a(t){return t.height||0}function c(t){return(t.x||0)+(t.width||0)}function s(t){return(t.y||0)+(t.height||0)}function u(t){return t.startAngle||0}function g(t){return t.endAngle||0}function l(t){return t.padAngle||0}function M(t){return t.innerRadius||0}function h(t){return t.outerRadius||0}function d(t){return t.cornerRadius||0}function f(t){return!(!1===t.defined)}function I(t){return null==t.size?64:t.size}function E(t){return Object(w.a)(t.shape||"circle")}function T(t,e){return j.context(t)(e)}function N(t,e){var n=e[0],i=n.interpolate||"linear";return("horizontal"===n.orient?S:L).curve(Object(B.a)(i,n.orient,n.tension)).context(t)(e)}function y(t,e){var n=e[0],i=n.interpolate||"linear";return Y.curve(Object(B.a)(i,n.orient,n.tension)).context(t)(e)}function p(t,e,n,i){return b.context(t)(e,n,i)}function C(t,e){return(e.mark.shape||e.shape).context(t)(e)}function D(t,e){return O.context(t)(e)}function x(t,e){return z.context(t)(e)}e.a=T,e.b=N,e.c=y,e.d=p,e.e=C,e.f=D,e.g=x;var B=n(417),w=n(432),m=n(433),Q=n(434),v=n(94),j=Object(v.arc)().startAngle(u).endAngle(g).padAngle(l).innerRadius(M).outerRadius(h).cornerRadius(d),L=Object(v.area)().x(i).y1(r).y0(s).defined(f),S=Object(v.area)().y(r).x1(i).x0(c).defined(f),Y=Object(v.line)().x(i).y(r).defined(f),b=Object(m.a)().x(i).y(r).width(A).height(a).cornerRadius(d),O=Object(v.symbol)().type(E).size(I),z=Object(Q.a)().x(i).y(r).defined(f).size(o)},function(t,e,n){"use strict";function i(){}e.a=i},function(t,e,n){"use strict";function i(t){return t.x||0}function r(t){return t.y||0}function A(t){return t.width||0}function o(t){return t.size||1}function a(t){return t.height||0}function c(t){return(t.x||0)+(t.width||0)}function s(t){return(t.y||0)+(t.height||0)}function u(t){return t.startAngle||0}function g(t){return t.endAngle||0}function l(t){return t.padAngle||0}function M(t){return t.innerRadius||0}function h(t){return t.outerRadius||0}function d(t){return t.cornerRadius||0}function f(t){return!(!1===t.defined)}function I(t){return null==t.size?64:t.size}function E(t){return Object(w.a)(t.shape||"circle")}function T(t,e){return j.context(t)(e)}function N(t,e){var n=e[0],i=n.interpolate||"linear";return("horizontal"===n.orient?S:L).curve(Object(B.a)(i,n.orient,n.tension)).context(t)(e)}function y(t,e){var n=e[0],i=n.interpolate||"linear";return Y.curve(Object(B.a)(i,n.orient,n.tension)).context(t)(e)}function p(t,e,n,i){return b.context(t)(e,n,i)}function C(t,e){return(e.mark.shape||e.shape).context(t)(e)}function D(t,e){return O.context(t)(e)}function x(t,e){return z.context(t)(e)}e.a=T,e.b=N,e.c=y,e.d=p,e.e=C,e.f=D,e.g=x;var B=n(493),w=n(494),m=n(495),Q=n(496),v=n(94),j=Object(v.arc)().startAngle(u).endAngle(g).padAngle(l).innerRadius(M).outerRadius(h).cornerRadius(d),L=Object(v.area)().x(i).y1(r).y0(s).defined(f),S=Object(v.area)().y(r).x1(i).x0(c).defined(f),Y=Object(v.line)().x(i).y(r).defined(f),b=Object(m.a)().x(i).y(r).width(A).height(a).cornerRadius(d),O=Object(v.symbol)().type(E).size(I),z=Object(Q.a)().x(i).y(r).defined(f).size(o)},function(t,e,n){"use strict";function i(t,e,n,i){this._groups=t,this._parents=e,this._name=n,this._id=i}function r(t){return Object(o.selection)().transition(t)}function A(){return++D}e.a=i,e.b=r,e.c=A;var o=n(14),a=n(1268),c=n(1269),s=n(1270),u=n(1271),g=n(1272),l=n(1273),M=n(1274),h=n(1275),d=n(1276),f=n(1277),I=n(1278),E=n(1279),T=n(1280),N=n(1281),y=n(1282),p=n(1283),C=n(195),D=0,x=o.selection.prototype;i.prototype=r.prototype={constructor:i,select:f.a,selectAll:I.a,filter:l.a,merge:M.a,selection:E.a,transition:p.a,call:x.call,nodes:x.nodes,node:x.node,size:x.size,empty:x.empty,each:x.each,on:h.a,attr:a.a,attrTween:c.a,style:T.a,styleTween:N.a,text:y.a,remove:d.a,tween:C.a,delay:s.a,duration:u.a,ease:g.a}},function(t,e,n){"use strict";function i(){}e.a=i},function(t,e,n){"use strict";function i(t,e,n,i){this._groups=t,this._parents=e,this._name=n,this._id=i}function r(t){return Object(o.m)().transition(t)}function A(){return++D}e.a=i,e.b=r,e.c=A;var o=n(27),a=n(1457),c=n(1458),s=n(1459),u=n(1460),g=n(1461),l=n(1462),M=n(1463),h=n(1464),d=n(1465),f=n(1466),I=n(1467),E=n(1468),T=n(1469),N=n(1470),y=n(1471),p=n(1472),C=n(207),D=0,x=o.m.prototype;i.prototype=r.prototype={constructor:i,select:f.a,selectAll:I.a,filter:l.a,merge:M.a,selection:E.a,transition:p.a,call:x.call,nodes:x.nodes,node:x.node,size:x.size,empty:x.empty,each:x.each,on:h.a,attr:a.a,attrTween:c.a,style:T.a,styleTween:N.a,text:y.a,remove:d.a,tween:C.a,delay:s.a,duration:u.a,ease:g.a}},function(t,e,n){"use strict";function i(t){return!!(t&&(t.year||t.quarter||t.month||t.date||t.day||t.hours||t.minutes||t.seconds||t.milliseconds))}function r(t){if(s.isNumber(t))return t>4&&c.warn(c.message.invalidTimeUnit("quarter",t)),t-1+"";throw new Error(c.message.invalidTimeUnit("quarter",t))}function A(t){if(s.isNumber(t))return t-1+"";var n=t.toLowerCase(),i=e.MONTHS.indexOf(n);if(-1!==i)return i+"";var r=n.substr(0,3),A=e.SHORT_MONTHS.indexOf(r);if(-1!==A)return A+"";throw new Error(c.message.invalidTimeUnit("month",t))}function o(t){if(s.isNumber(t))return t%7+"";var n=t.toLowerCase(),i=e.DAYS.indexOf(n);if(-1!==i)return i+"";var r=n.substr(0,3),A=e.SHORT_DAYS.indexOf(r);if(-1!==A)return A+"";throw new Error(c.message.invalidTimeUnit("day",t))}function a(t,e){void 0===e&&(e=!1);var n=[];if(e&&void 0!==t.day&&s.keys(t).length>1&&(c.warn(c.message.droppedDay(t)),t=s.duplicate(t),delete t.day),void 0!==t.year?n.push(t.year):void 0!==t.day?n.push(u):n.push(0),void 0!==t.month){var i=e?A(t.month):t.month;n.push(i)}else if(void 0!==t.quarter){var a=e?r(t.quarter):t.quarter;n.push(a+"*3")}else n.push(0);if(void 0!==t.date)n.push(t.date);else if(void 0!==t.day){var g=e?o(t.day):t.day;n.push(g+"+1")}else n.push(1);for(var l=0,M=["hours","minutes","seconds","milliseconds"];l<M.length;l++){var h=M[l];void 0!==t[h]?n.push(t[h]):n.push(0)}return t.utc?"utc("+n.join(", ")+")":"datetime("+n.join(", ")+")"}Object.defineProperty(e,"__esModule",{value:!0});var c=n(4),s=n(2),u=2006;e.isDateTime=i,e.MONTHS=["january","february","march","april","may","june","july","august","september","october","november","december"],e.SHORT_MONTHS=e.MONTHS.map(function(t){return t.substr(0,3)}),e.DAYS=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],e.SHORT_DAYS=e.DAYS.map(function(t){return t.substr(0,3)}),e.dateTimeExpr=a},function(t,e,n){"use strict";function i(t){return!!t.url}function r(t){return!!t.values}function A(t){return!!t.name}Object.defineProperty(e,"__esModule",{value:!0}),e.isUrlData=i,e.isInlineData=r,e.isNamedData=A,e.MAIN="main",e.RAW="raw"},function(t,e,n){"use strict";function i(t,e,n,i,r,A){return E.isFieldDef(e)&&r&&t===r.fieldChannel?o(e,n,{suffix:"end"}):s(t,e,n,i,r,A)}function r(t,e,n,i,r,A,a){return E.isFieldDef(e)&&A&&t.charAt(0)===A.fieldChannel.charAt(0)?o(e,i,{suffix:"start"}):s(t,n,i,r,A,a)}function A(t,e,n,i){return o(t,e,{binSuffix:"start"===n?void 0:"end"},i?{offset:i}:{})}function o(t,e,n,i){var r={scale:e,field:E.field(t,n)};return i?f.__assign({},r,i):r}function a(t,e){return void 0===e&&(e=!0),{scale:t,band:e}}function c(t,e){return{signal:'(scale("'+e+'", '+E.field(t,{expr:"datum"})+') + scale("'+e+'", '+E.field(t,{binSuffix:"end",expr:"datum"})+"))/2"}}function s(t,e,n,i,r,A){if(e){if(E.isFieldDef(e)){if(e.bin)return N.contains(["x","y"],t)&&"quantitative"===e.type?r&&r.impute?o(e,n,{binSuffix:"mid"}):c(e,n):o(e,n,y.binRequiresRange(e,t)?{binSuffix:"range"}:{});var a=i.get("type");return T.hasDiscreteDomain(a)?"band"===a?o(e,n,{binSuffix:"range"},{band:.5}):o(e,n,{binSuffix:"range"}):o(e,n,{})}if(E.isValueDef(e))return{value:e.value};throw new Error("FieldDef without field or value.")}if("zeroOrMin"===A){if(t===I.X||t===I.X2)return l(n,i);if(t===I.Y||t===I.Y2)return h(n,i);throw new Error("Unsupported channel "+t+" for base function")}if("zeroOrMax"===A){if(t===I.X||t===I.X2)return M(n,i);if(t===I.Y||t===I.Y2)return d(n,i);throw new Error("Unsupported channel "+t+" for base function")}return A}function u(t,e){if(t){if(E.isFieldDef(t))return y.formatSignalRef(t,t.format,"datum",e);if(E.isValueDef(t))return{value:t.value}}}function g(t){return f.__assign({},t,{mult:.5})}function l(t,e){return t&&!N.contains([T.ScaleType.LOG,T.ScaleType.TIME,T.ScaleType.UTC],e.get("type"))&&!1!==e.get("zero")?{scale:t,value:0}:{value:0}}function M(t,e){return t&&!N.contains([T.ScaleType.LOG,T.ScaleType.TIME,T.ScaleType.UTC],e.get("type"))&&!1!==e.get("zero")?{scale:t,value:0}:{field:{group:"width"}}}function h(t,e){return t&&!N.contains([T.ScaleType.LOG,T.ScaleType.TIME,T.ScaleType.UTC],e.get("type"))&&!1!==e.get("zero")?{scale:t,value:0}:{field:{group:"height"}}}function d(t,e){return t&&!N.contains([T.ScaleType.LOG,T.ScaleType.TIME,T.ScaleType.UTC],e.get("type"))&&!1!==e.get("zero")?{scale:t,value:0}:{value:0}}Object.defineProperty(e,"__esModule",{value:!0});var f=n(3),I=n(7),E=n(9),T=n(11),N=n(2),y=n(23);e.stackable=i,e.stackable2=r,e.bin=A,e.fieldRef=o,e.band=a,e.midPoint=s,e.text=u,e.mid=g},function(t,e,n){"use strict";var i=n(801);n.d(e,"d",function(){return i.a});var r=n(813);n.d(e,"e",function(){return r.a});var A=n(385);n.d(e,"b",function(){return A.a}),n.d(e,"c",function(){return A.b}),n.d(e,"f",function(){return A.c});var o=n(386);n.d(e,"a",function(){return o.a})},function(t,e,n){"use strict";var i=n(827);n.d(e,"a",function(){return i.a});var r=n(828);n.d(e,"b",function(){return r.a});var A=n(405);n.d(e,"c",function(){return A.a});var o=n(71);n.d(e,"d",function(){return o.a}),n.d(e,"j",function(){return o.b});var a=n(845);n.d(e,"e",function(){return a.a});var c=n(846);n.d(e,"f",function(){return c.a});var s=n(847);n.d(e,"g",function(){return s.a});var u=n(406);n.d(e,"h",function(){return u.a});var g=n(848);n.d(e,"i",function(){return g.a})},function(t,e,n){"use strict";function i(t){r=t}n.d(e,"a",function(){return r}),e.b=i;var r=Math.random},function(t,e,n){"use strict";function i(t){this.clear(),t&&this.union(t)}e.a=i;var r=i.prototype;r.clone=function(){return new i(this)},r.clear=function(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},r.empty=function(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},r.set=function(t,e,n,i){return n<t?(this.x2=t,this.x1=n):(this.x1=t,this.x2=n),i<e?(this.y2=e,this.y1=i):(this.y1=e,this.y2=i),this},r.add=function(t,e){return t<this.x1&&(this.x1=t),e<this.y1&&(this.y1=e),t>this.x2&&(this.x2=t),e>this.y2&&(this.y2=e),this},r.expand=function(t){return this.x1-=t,this.y1-=t,this.x2+=t,this.y2+=t,this},r.round=function(){return this.x1=Math.floor(this.x1),this.y1=Math.floor(this.y1),this.x2=Math.ceil(this.x2),this.y2=Math.ceil(this.y2),this},r.translate=function(t,e){return this.x1+=t,this.x2+=t,this.y1+=e,this.y2+=e,this},r.rotate=function(t,e,n){var i=Math.cos(t),r=Math.sin(t),A=e-e*i+n*r,o=n-e*r-n*i,a=this.x1,c=this.x2,s=this.y1,u=this.y2;return this.clear().add(i*a-r*s+A,r*a+i*s+o).add(i*a-r*u+A,r*a+i*u+o).add(i*c-r*s+A,r*c+i*s+o).add(i*c-r*u+A,r*c+i*u+o)},r.union=function(t){return t.x1<this.x1&&(this.x1=t.x1),t.y1<this.y1&&(this.y1=t.y1),t.x2>this.x2&&(this.x2=t.x2),t.y2>this.y2&&(this.y2=t.y2),this},r.intersect=function(t){return t.x1>this.x1&&(this.x1=t.x1),t.y1>this.y1&&(this.y1=t.y1),t.x2<this.x2&&(this.x2=t.x2),t.y2<this.y2&&(this.y2=t.y2),this},r.encloses=function(t){return t&&this.x1<=t.x1&&this.x2>=t.x2&&this.y1<=t.y1&&this.y2>=t.y2},r.alignsWith=function(t){return t&&(this.x1==t.x1||this.x2==t.x2||this.y1==t.y1||this.y2==t.y2)},r.intersects=function(t){return t&&!(this.x2<t.x1||this.x1>t.x2||this.y2<t.y1||this.y1>t.y2)},r.contains=function(t,e){return!(t<this.x1||t>this.x2||e<this.y1||e>this.y2)},r.width=function(){return this.x2-this.x1},r.height=function(){return this.y2-this.y1}},function(t,e,n){"use strict";var i=n(887),r=n(915),A=n(916),o=n(917),a=n(918),c=n(919),s=n(920),u=n(921),g=n(922),l=n(923),M=n(924),h=n(925);e.a={arc:i.a,area:r.a,group:A.a,image:o.a,line:a.a,path:c.a,rect:s.a,rule:u.a,shape:g.a,symbol:l.a,text:M.a,trail:h.a}},function(t,e,n){"use strict";e.a=function(t){return function(){return t}}},function(t,e,n){"use strict";e.a=function(t,e){return e.stroke&&0!==e.opacity&&0!==e.strokeOpacity&&t.expand(null!=e.strokeWidth?+e.strokeWidth:1),t}},function(t,e,n){"use strict";function i(t){return t||(t=a),function(e,n,i,r,A,a){return e.pixelRatio>1&&(i*=e.pixelRatio,r*=e.pixelRatio),Object(o.a)(n,function(n){var o=n.bounds;if((!o||o.contains(A,a))&&o)return t(e,n,i,r,A,a)?n:void 0})}}function r(t,e){return function(n,i,r,A){var o,a,c=Array.isArray(i)?i[0]:i,s=null==e?c.fill:e,u=c.stroke&&n.isPointInStroke;return u&&(o=c.strokeWidth,a=c.strokeCap,n.lineWidth=null!=o?o:1,n.lineCap=null!=a?a:"butt"),!t(n,i)&&(s&&n.isPointInPath(r,A)||u&&n.isPointInStroke(r,A))}}function A(t){return i(r(t))}e.b=i,e.a=r,e.c=A;var o=n(52),a=function(){return!0}},function(t,e,n){"use strict";var i=n(938);n.d(e,"d",function(){return i.a});var r=n(973);n.d(e,"f",function(){return r.a});var A=n(445);n.d(e,"a",function(){return A.a});var o=n(1011);n.d(e,"b",function(){return o.a}),n.d(e,"c",function(){return o.b}),n.d(e,"e",function(){return o.c});var a=n(1012);n.d(e,"g",function(){return a.a}),n.d(e,"h",function(){return a.b})},function(t,e,n){"use strict";n.d(e,"a",function(){return r}),n.d(e,"b",function(){return A});var i=Array.prototype,r=i.map,A=i.slice},function(t,e,n){"use strict";function i(t,e){t&&a.hasOwnProperty(t.type)&&a[t.type](t,e)}function r(t,e,n){var i,r=-1,A=t.length-n;for(e.lineStart();++r<A;)i=t[r],e.point(i[0],i[1],i[2]);e.lineEnd()}function A(t,e){var n=-1,i=t.length;for(e.polygonStart();++n<i;)r(t[n],e,1);e.polygonEnd()}var o={Feature:function(t,e){i(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,A=n.length;++r<A;)i(n[r].geometry,e)}},a={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,i=-1,r=n.length;++i<r;)t=n[i],e.point(t[0],t[1],t[2])},LineString:function(t,e){r(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,i=-1,A=n.length;++i<A;)r(n[i],e,0)},Polygon:function(t,e){A(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,i=-1,r=n.length;++i<r;)A(n[i],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,A=n.length;++r<A;)i(n[r],e)}};e.a=function(t,e){t&&o.hasOwnProperty(t.type)?o[t.type](t,e):i(t,e)}},function(t,e,n){"use strict";var i=n(1091);n.d(e,"a",function(){return i.a});var r=n(275);n.d(e,"b",function(){return r.c});var A=n(1103);n.d(e,"c",function(){return A.a});var o=n(477);n.d(e,"e",function(){return o.a});var a=n(478);n.d(e,"d",function(){return a.a});var c=n(1105);n.d(e,"f",function(){return c.a});var s=n(1106);n.d(e,"g",function(){return s.a});var u=n(1107);n.d(e,"h",function(){return u.a});var g=n(1108);n.d(e,"i",function(){return g.a});var l=n(1109);n.d(e,"j",function(){return l.a});var M=n(131);n.d(e,"k",function(){return M.a});var h=n(178);n.d(e,"m",function(){return h.a});var d=n(1110);n.d(e,"n",function(){return d.a});var f=n(277);n.d(e,"o",function(){return f.a});var I=n(1111);n.d(e,"l",function(){return I.a})},function(t,e,n){"use strict";function i(t){this.clear(),t&&this.union(t)}e.a=i;var r=i.prototype;r.clone=function(){return new i(this)},r.clear=function(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},r.empty=function(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},r.set=function(t,e,n,i){return n<t?(this.x2=t,this.x1=n):(this.x1=t,this.x2=n),i<e?(this.y2=e,this.y1=i):(this.y1=e,this.y2=i),this},r.add=function(t,e){return t<this.x1&&(this.x1=t),e<this.y1&&(this.y1=e),t>this.x2&&(this.x2=t),e>this.y2&&(this.y2=e),this},r.expand=function(t){return this.x1-=t,this.y1-=t,this.x2+=t,this.y2+=t,this},r.round=function(){return this.x1=Math.floor(this.x1),this.y1=Math.floor(this.y1),this.x2=Math.ceil(this.x2),this.y2=Math.ceil(this.y2),this},r.translate=function(t,e){return this.x1+=t,this.x2+=t,this.y1+=e,this.y2+=e,this},r.rotate=function(t,e,n){var i=Math.cos(t),r=Math.sin(t),A=e-e*i+n*r,o=n-e*r-n*i,a=this.x1,c=this.x2,s=this.y1,u=this.y2;return this.clear().add(i*a-r*s+A,r*a+i*s+o).add(i*a-r*u+A,r*a+i*u+o).add(i*c-r*s+A,r*c+i*s+o).add(i*c-r*u+A,r*c+i*u+o)},r.union=function(t){return t.x1<this.x1&&(this.x1=t.x1),t.y1<this.y1&&(this.y1=t.y1),t.x2>this.x2&&(this.x2=t.x2),t.y2>this.y2&&(this.y2=t.y2),this},r.intersect=function(t){return t.x1>this.x1&&(this.x1=t.x1),t.y1>this.y1&&(this.y1=t.y1),t.x2<this.x2&&(this.x2=t.x2),t.y2<this.y2&&(this.y2=t.y2),this},r.encloses=function(t){return t&&this.x1<=t.x1&&this.x2>=t.x2&&this.y1<=t.y1&&this.y2>=t.y2},r.alignsWith=function(t){return t&&(this.x1==t.x1||this.x2==t.x2||this.y1==t.y1||this.y2==t.y2)},r.intersects=function(t){return t&&!(this.x2<t.x1||this.x1>t.x2||this.y2<t.y1||this.y1>t.y2)},r.contains=function(t,e){return!(t<this.x1||t>this.x2||e<this.y1||e>this.y2)},r.width=function(){return this.x2-this.x1},r.height=function(){return this.y2-this.y1}},function(t,e,n){"use strict";var i=n(1138),r=n(1141),A=n(1142),o=n(1143),a=n(1144),c=n(1145),s=n(1146),u=n(1147),g=n(1148),l=n(1149),M=n(1150),h=n(1151);e.a={arc:i.a,area:r.a,group:A.a,image:o.a,line:a.a,path:c.a,rect:s.a,rule:u.a,shape:g.a,symbol:l.a,text:M.a,trail:h.a}},function(t,e,n){"use strict";e.a=function(t,e){return e.stroke&&0!==e.opacity&&0!==e.strokeOpacity&&t.expand(null!=e.strokeWidth?+e.strokeWidth:1),t}},function(t,e,n){"use strict";function i(t){return t||(t=a),function(e,n,i,r,A,a){return e.pixelRatio>1&&(i*=e.pixelRatio,r*=e.pixelRatio),Object(o.a)(n,function(n){var o=n.bounds;if((!o||o.contains(A,a))&&o)return t(e,n,i,r,A,a)?n:void 0})}}function r(t,e){return function(n,i,r,A){var o,a,c=Array.isArray(i)?i[0]:i,s=null==e?c.fill:e,u=c.stroke&&n.isPointInStroke;return u&&(o=c.strokeWidth,a=c.strokeCap,n.lineWidth=null!=o?o:1,n.lineCap=null!=a?a:"butt"),!t(n,i)&&(s&&n.isPointInPath(r,A)||u&&n.isPointInStroke(r,A))}}function A(t){return i(r(t))}e.b=i,e.a=r,e.c=A;var o=n(55),a=function(){return!0}},function(t,e,n){"use strict";function i(t,e,n){return!t&&"undefined"!=typeof document&&document.createElement&&(t=document),t?n?t.createElementNS(n,e):t.createElement(e):null}function r(t,e){e=e.toLowerCase();for(var n=t.childNodes,i=0,r=n.length;i<r;++i)if(n[i].tagName.toLowerCase()===e)return n[i]}function A(t,e,n,r){var A,o=t.childNodes[e];return o&&o.tagName.toLowerCase()===n.toLowerCase()||(A=o||null,o=i(t.ownerDocument,n,r),t.insertBefore(o,A)),o}function o(t,e){for(var n=t.childNodes,i=n.length;i>e;)t.removeChild(n[--i]);return t}function a(t){return"mark-"+t.marktype+(t.role?" role-"+t.role:"")+(t.name?" "+t.name:"")}e.d=i,e.e=r,e.b=A,e.c=o,e.a=a},function(t,e,n){"use strict";var i=n(510),r=n(511),A=n(0);e.a=function(t,e,n){var o,a,c={};try{o=Object(r.d)(t)}catch(e){Object(A.error)("Expression parse error: "+Object(A.stringValue)(t))}return o.visit(function(t){if("CallExpression"===t.type){var n=t.callee.name,r=i.b.visitors[n];r&&r(n,t.arguments,e,c)}}),a=Object(i.a)(o),a.globals.forEach(function(t){var n="$"+t;!c.hasOwnProperty(n)&&e.getSignal(t)&&(c[n]=e.signalRef(t))}),{$expr:n?n+"return("+a.code+");":a.code,$fields:a.fields,$params:c}}},function(t,e,n){"use strict";function i(t,e){t&&a.hasOwnProperty(t.type)&&a[t.type](t,e)}function r(t,e,n){var i,r=-1,A=t.length-n;for(e.lineStart();++r<A;)i=t[r],e.point(i[0],i[1],i[2]);e.lineEnd()}function A(t,e){var n=-1,i=t.length;for(e.polygonStart();++n<i;)r(t[n],e,1);e.polygonEnd()}var o={Feature:function(t,e){i(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,A=n.length;++r<A;)i(n[r].geometry,e)}},a={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,i=-1,r=n.length;++i<r;)t=n[i],e.point(t[0],t[1],t[2])},LineString:function(t,e){r(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,i=-1,A=n.length;++i<A;)r(n[i],e,0)},Polygon:function(t,e){A(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,i=-1,r=n.length;++i<r;)A(n[i],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,A=n.length;++r<A;)i(n[r],e)}};e.a=function(t,e){t&&o.hasOwnProperty(t.type)?o[t.type](t,e):i(t,e)}},function(t,e,n){"use strict";n.d(e,"a",function(){return r}),n.d(e,"b",function(){return A});var i=Array.prototype,r=i.map,A=i.slice},function(t,e){function n(t,e){var n=t[1]||"",r=t[3];if(!r)return n;if(e&&"function"==typeof btoa){var A=i(r);return[n].concat(r.sources.map(function(t){return"/*# sourceURL="+r.sourceRoot+t+" */"})).concat([A]).join("\n")}return[n].join("\n")}function i(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var i=n(e,t);return e[2]?"@media "+e[2]+"{"+i+"}":i}).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var i={},r=0;r<this.length;r++){var A=this[r][0];"number"==typeof A&&(i[A]=!0)}for(r=0;r<t.length;r++){var o=t[r];"number"==typeof o[0]&&i[o[0]]||(n&&!o[2]?o[2]=n:n&&(o[2]="("+o[2]+") and ("+n+")"),e.push(o))}},e}},function(t,e,n){function i(t,e){for(var n=0;n<t.length;n++){var i=t[n],r=h[i.id];if(r){r.refs++;for(var A=0;A<r.parts.length;A++)r.parts[A](i.parts[A]);for(;A<i.parts.length;A++)r.parts.push(u(i.parts[A],e))}else{for(var o=[],A=0;A<i.parts.length;A++)o.push(u(i.parts[A],e));h[i.id]={id:i.id,refs:1,parts:o}}}}function r(t,e){for(var n=[],i={},r=0;r<t.length;r++){var A=t[r],o=e.base?A[0]+e.base:A[0],a=A[1],c=A[2],s=A[3],u={css:a,media:c,sourceMap:s};i[o]?i[o].parts.push(u):n.push(i[o]={id:o,parts:[u]})}return n}function A(t,e){var n=f(t.insertInto);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var i=T[T.length-1];if("top"===t.insertAt)i?i.nextSibling?n.insertBefore(e,i.nextSibling):n.appendChild(e):n.insertBefore(e,n.firstChild),T.push(e);else{if("bottom"!==t.insertAt)throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.");n.appendChild(e)}}function o(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t);var e=T.indexOf(t);e>=0&&T.splice(e,1)}function a(t){var e=document.createElement("style");return t.attrs.type="text/css",s(e,t.attrs),A(t,e),e}function c(t){var e=document.createElement("link");return t.attrs.type="text/css",t.attrs.rel="stylesheet",s(e,t.attrs),A(t,e),e}function s(t,e){Object.keys(e).forEach(function(n){t.setAttribute(n,e[n])})}function u(t,e){var n,i,r,A;if(e.transform&&t.css){if(!(A=e.transform(t.css)))return function(){};t.css=A}if(e.singleton){var s=E++;n=I||(I=a(e)),i=g.bind(null,n,s,!1),r=g.bind(null,n,s,!0)}else t.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=c(e),i=M.bind(null,n,e),r=function(){o(n),n.href&&URL.revokeObjectURL(n.href)}):(n=a(e),i=l.bind(null,n),r=function(){o(n)});return i(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;i(t=e)}else r()}}function g(t,e,n,i){var r=n?"":i.css;if(t.styleSheet)t.styleSheet.cssText=y(e,r);else{var A=document.createTextNode(r),o=t.childNodes;o[e]&&t.removeChild(o[e]),o.length?t.insertBefore(A,o[e]):t.appendChild(A)}}function l(t,e){var n=e.css,i=e.media;if(i&&t.setAttribute("media",i),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}function M(t,e,n){var i=n.css,r=n.sourceMap,A=void 0===e.convertToAbsoluteUrls&&r;(e.convertToAbsoluteUrls||A)&&(i=N(i)),r&&(i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */");var o=new Blob([i],{type:"text/css"}),a=t.href;t.href=URL.createObjectURL(o),a&&URL.revokeObjectURL(a)}var h={},d=function(t){var e;return function(){return void 0===e&&(e=t.apply(this,arguments)),e}}(function(){return window&&document&&document.all&&!window.atob}),f=function(t){var e={};return function(n){return void 0===e[n]&&(e[n]=t.call(this,n)),e[n]}}(function(t){return document.querySelector(t)}),I=null,E=0,T=[],N=n(675);t.exports=function(t,e){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");e=e||{},e.attrs="object"==typeof e.attrs?e.attrs:{},e.singleton||(e.singleton=d()),e.insertInto||(e.insertInto="head"),e.insertAt||(e.insertAt="bottom");var n=r(t,e);return i(n,e),function(t){for(var A=[],o=0;o<n.length;o++){var a=n[o],c=h[a.id];c.refs--,A.push(c)}if(t){i(r(t,e),e)}for(var o=0;o<A.length;o++){var c=A[o];if(0===c.refs){for(var s=0;s<c.parts.length;s++)c.parts[s]();delete h[c.id]}}}};var y=function(){var t=[];return function(e,n){return t[e]=n,t.filter(Boolean).join("\n")}}()},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(767);n.d(e,"formatDefaultLocale",function(){return i.a}),n.d(e,"format",function(){return i.b}),n.d(e,"formatPrefix",function(){return i.c});var r=n(377);n.d(e,"formatLocale",function(){return r.a});var A=n(378);n.d(e,"formatSpecifier",function(){return A.a});var o=n(773);n.d(e,"precisionFixed",function(){return o.a});var a=n(774);n.d(e,"precisionPrefix",function(){return a.a});var c=n(775);n.d(e,"precisionRound",function(){return c.a})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(241);n.d(e,"timeFormatDefaultLocale",function(){return i.a}),n.d(e,"timeFormat",function(){return i.b}),n.d(e,"timeParse",function(){return i.c}),n.d(e,"utcFormat",function(){return i.d}),n.d(e,"utcParse",function(){return i.e});var r=n(381);n.d(e,"timeFormatLocale",function(){return r.a});var A=n(382);n.d(e,"isoFormat",function(){return A.a});var o=n(790);n.d(e,"isoParse",function(){return o.a})},function(t,e,n){"use strict";e.a=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(888);n.d(e,"arc",function(){return i.a});var r=n(418);n.d(e,"area",function(){return r.a});var A=n(248);n.d(e,"line",function(){return A.a});var o=n(890);n.d(e,"pie",function(){return o.a});var a=n(893);n.d(e,"areaRadial",function(){return a.a}),n.d(e,"radialArea",function(){return a.a});var c=n(420);n.d(e,"lineRadial",function(){return c.a}),n.d(e,"radialLine",function(){return c.a});var s=n(421);n.d(e,"pointRadial",function(){return s.a});var u=n(894);n.d(e,"linkHorizontal",function(){return u.a}),n.d(e,"linkVertical",function(){return u.c}),n.d(e,"linkRadial",function(){return u.b});var g=n(895);n.d(e,"symbol",function(){return g.a}),n.d(e,"symbols",function(){return g.b});var l=n(423);n.d(e,"symbolCircle",function(){return l.a});var M=n(424);n.d(e,"symbolCross",function(){return M.a});var h=n(425);n.d(e,"symbolDiamond",function(){return h.a});var d=n(427);n.d(e,"symbolSquare",function(){return d.a});var f=n(426);n.d(e,"symbolStar",function(){return f.a});var I=n(428);n.d(e,"symbolTriangle",function(){return I.a});var E=n(429);n.d(e,"symbolWye",function(){return E.a});var T=n(896);n.d(e,"curveBasisClosed",function(){return T.a});var N=n(897);n.d(e,"curveBasisOpen",function(){return N.a});var y=n(163);n.d(e,"curveBasis",function(){return y.b});var p=n(898);n.d(e,"curveBundle",function(){return p.a});var C=n(430);n.d(e,"curveCardinalClosed",function(){return C.b});var D=n(431);n.d(e,"curveCardinalOpen",function(){return D.b});var x=n(164);n.d(e,"curveCardinal",function(){return x.b});var B=n(899);n.d(e,"curveCatmullRomClosed",function(){return B.a});var w=n(900);n.d(e,"curveCatmullRomOpen",function(){return w.a});var m=n(250);n.d(e,"curveCatmullRom",function(){return m.a});var Q=n(901);n.d(e,"curveLinearClosed",function(){return Q.a});var v=n(161);n.d(e,"curveLinear",function(){return v.a});var j=n(902);n.d(e,"curveMonotoneX",function(){return j.a}),n.d(e,"curveMonotoneY",function(){return j.b});var L=n(903);n.d(e,"curveNatural",function(){return L.a});var S=n(904);n.d(e,"curveStep",function(){return S.a}),n.d(e,"curveStepAfter",function(){return S.b}),n.d(e,"curveStepBefore",function(){return S.c});var Y=n(905);n.d(e,"stack",function(){return Y.a});var b=n(906);n.d(e,"stackOffsetExpand",function(){return b.a});var O=n(907);n.d(e,"stackOffsetDiverging",function(){return O.a});var z=n(121);n.d(e,"stackOffsetNone",function(){return z.a});var U=n(908);n.d(e,"stackOffsetSilhouette",function(){return U.a});var F=n(909);n.d(e,"stackOffsetWiggle",function(){return F.a});var k=n(251);n.d(e,"stackOrderAscending",function(){return k.a});var R=n(910);n.d(e,"stackOrderDescending",function(){return R.a});var G=n(911);n.d(e,"stackOrderInsideOut",function(){return G.a});var H=n(122);n.d(e,"stackOrderNone",function(){return H.a});var J=n(912);n.d(e,"stackOrderReverse",function(){return J.a})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(942);n.d(e,"scaleBand",function(){return i.a}),n.d(e,"scalePoint",function(){return i.b});var r=n(943);n.d(e,"scaleIdentity",function(){return r.a});var A=n(124);n.d(e,"scaleLinear",function(){return A.a});var o=n(957);n.d(e,"scaleLog",function(){return o.a});var a=n(446);n.d(e,"scaleOrdinal",function(){return a.a}),n.d(e,"scaleImplicit",function(){return a.b});var c=n(958);n.d(e,"scalePow",function(){return c.a}),n.d(e,"scaleSqrt",function(){return c.b});var s=n(959);n.d(e,"scaleQuantile",function(){return s.a});var u=n(960);n.d(e,"scaleQuantize",function(){return u.a});var g=n(961);n.d(e,"scaleThreshold",function(){return g.a});var l=n(457);n.d(e,"scaleTime",function(){return l.b});var M=n(962);n.d(e,"scaleUtc",function(){return M.a});var h=n(963);n.d(e,"schemeCategory10",function(){return h.a});var d=n(964);n.d(e,"schemeCategory20b",function(){return d.a});var f=n(965);n.d(e,"schemeCategory20c",function(){return f.a});var I=n(966);n.d(e,"schemeCategory20",function(){return I.a});var E=n(967);n.d(e,"interpolateCubehelixDefault",function(){return E.a});var T=n(968);n.d(e,"interpolateRainbow",function(){return T.b}),n.d(e,"interpolateWarm",function(){return T.c}),n.d(e,"interpolateCool",function(){return T.a});var N=n(969);n.d(e,"interpolateViridis",function(){return N.a}),n.d(e,"interpolateMagma",function(){return N.c}),n.d(e,"interpolateInferno",function(){return N.b}),n.d(e,"interpolatePlasma",function(){return N.d});var y=n(970);n.d(e,"scaleSequential",function(){return y.a})},function(t,e,n){"use strict";function i(){this.reset()}function r(t,e,n){var i=t.s=e+n,r=i-e,A=i-r;t.t=e-A+(n-r)}e.a=function(){return new i},i.prototype={constructor:i,reset:function(){this.s=this.t=0},add:function(t){r(A,t,this.t),r(this,A.s,this.s),this.s?this.t+=A.t:this.s=A.t},valueOf:function(){return this.s}};var A=new i},function(t,e,n){"use strict";e.a=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}},function(t,e,n){"use strict";e.a=function(t){return function(){return t}}},function(t,e,n){"use strict";function i(){this.reset()}function r(t,e,n){var i=t.s=e+n,r=i-e,A=i-r;t.t=e-A+(n-r)}e.a=function(){return new i},i.prototype={constructor:i,reset:function(){this.s=this.t=0},add:function(t){r(A,t,this.t),r(this,A.s,this.s),this.s?this.t+=A.t:this.s=A.t},valueOf:function(){return this.s}};var A=new i},function(t,e,n){"use strict";e.a=function(){return Math.random()}},function(t,e,n){"use strict";function i(t){return null!=t&&""!==t}function r(t){return(Array.isArray(t)?t.map(r):t&&"object"==typeof t?Object.keys(t).filter(function(e){return t[e]}):[t]).filter(i).join(" ")}function A(t){return a[t]||t}function o(t){var e=String(t).replace(c,A);return e===""+t?t:e}e.merge=function t(e,n){if(1===arguments.length){for(var r=e[0],A=1;A<e.length;A++)r=t(r,e[A]);return r}var o=e.class,a=n.class;(o||a)&&(o=o||[],a=a||[],Array.isArray(o)||(o=[o]),Array.isArray(a)||(a=[a]),e.class=o.concat(a).filter(i));for(var c in n)"class"!=c&&(e[c]=n[c]);return e},e.joinClasses=r,e.cls=function(t,n){for(var i=[],A=0;A<t.length;A++)n&&n[A]?i.push(e.escape(r([t[A]]))):i.push(r(t[A]));var o=r(i);return o.length?' class="'+o+'"':""},e.style=function(t){return t&&"object"==typeof t?Object.keys(t).map(function(e){return e+":"+t[e]}).join(";"):t},e.attr=function(t,n,i,r){return"style"===t&&(n=e.style(n)),"boolean"==typeof n||null==n?n?" "+(r?t:t+'="'+t+'"'):"":0==t.indexOf("data")&&"string"!=typeof n?(-1!==JSON.stringify(n).indexOf("&")&&console.warn("Since Jade 2.0.0, ampersands (`&`) in data attributes will be escaped to `&amp;`"),n&&"function"==typeof n.toISOString&&console.warn("Jade will eliminate the double quotes around dates in ISO form after 2.0.0")," "+t+"='"+JSON.stringify(n).replace(/'/g,"&apos;")+"'"):i?(n&&"function"==typeof n.toISOString&&console.warn("Jade will stringify dates in ISO form after 2.0.0")," "+t+'="'+e.escape(n)+'"'):(n&&"function"==typeof n.toISOString&&console.warn("Jade will stringify dates in ISO form after 2.0.0")," "+t+'="'+n+'"')},e.attrs=function(t,n){var i=[],A=Object.keys(t);if(A.length)for(var o=0;o<A.length;++o){var a=A[o],c=t[a];"class"==a?(c=r(c))&&i.push(" "+a+'="'+c+'"'):i.push(e.attr(a,c,!1,n))}return i.join("")};var a={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"},c=/[&<>"]/g;e.escape=o,e.rethrow=function t(e,i,r,A){if(!(e instanceof Error))throw e;if(!("undefined"==typeof window&&i||A))throw e.message+=" on line "+r,e;try{A=A||n(1492).readFileSync(i,"utf8")}catch(n){t(e,null,r)}var o=3,a=A.split("\n"),c=Math.max(r-o,0),s=Math.min(a.length,r+o),o=a.slice(c,s).map(function(t,e){var n=e+c+1;return(n==r?" > ":" ")+n+"| "+t}).join("\n");throw e.path=i,e.message=(i||"Jade")+":"+r+"\n"+o+"\n\n"+e.message,e},e.DebugItem=function(t,e){this.lineno=t,this.filename=e}},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.deArray=e.computeColor=e.standardRound=e.sanitizeSelector=e.warningValue=e.failValue=void 0;var r=n(1493),A=i(r),o=n(599),a=i(o),c=e.failValue=function(t,e,n,i){return void 0!==i&&null!==i||(i=e<n),i?t>=n:t<=n},s=e.warningValue=function(t,e,n,i){return void 0!==i&&null!==i||(i=e<n),i?t>=e:t<=e};e.sanitizeSelector=function(t){return"_"+(0,A.default)(t)},e.standardRound=function(t){return Math.round(1e4*t)/1e4},e.computeColor=function(t,e){return t.incompleteThreshold?a.default.incomplete:c(e,t.warning,t.fail,t.lower_is_better)?a.default.fail:s(e,t.warning,t.fail,t.lower_is_better)?a.default.bad:a.default.good},e.deArray=function(t,e){return Array.isArray(t)?e(t):t}},function(t,e,n){"use strict";function i(t){var e=window.getComputedStyle(t,null);return{width:window.parseInt(e.getPropertyValue("width")),height:window.parseInt(e.getPropertyValue("height"))}}function r(t){var e={min:null,max:null};if(t.length>0){e.min=e.max=t[0];var n=!0,i=!1,r=void 0;try{for(var A,o=t[Symbol.iterator]();!(n=(A=o.next()).done);n=!0){var a=A.value;a<e.min&&(e.min=a),a>e.max&&(e.max=a)}}catch(t){i=!0,r=t}finally{try{!n&&o.return&&o.return()}finally{if(i)throw r}}}return e}Object.defineProperty(e,"__esModule",{value:!0}),e.getElementSize=i,e.minmax=r},function(t,e,n){"use strict";function i(t){return void 0!==t.leaves||void 0!==t.groups}Object.defineProperty(e,"__esModule",{value:!0});var r,A=n(325),o=n(216),a=n(217),c=n(105),s=n(141),u=n(328),g=n(329);!function(t){t[t.start=0]="start",t[t.tick=1]="tick",t[t.end=2]="end"}(r=e.EventType||(e.EventType={}));var l=function(){function t(){var e=this;this._canvasSize=[1,1],this._linkDistance=20,this._defaultNodeSize=10,this._linkLengthCalculator=null,this._linkType=null,this._avoidOverlaps=!1,this._handleDisconnected=!0,this._running=!1,this._nodes=[],this._groups=[],this._rootGroup=null,this._links=[],this._constraints=[],this._distanceMatrix=null,this._descent=null,this._directedLinkConstraints=null,this._threshold=.01,this._visibilityGraph=null,this._groupCompactness=1e-6,this.event=null,this.linkAccessor={getSourceIndex:t.getSourceIndex,getTargetIndex:t.getTargetIndex,setLength:t.setLinkLength,getType:function(t){return"function"==typeof e._linkType?e._linkType(t):0}}}return t.prototype.on=function(t,e){return this.event||(this.event={}),"string"==typeof t?this.event[r[t]]=e:this.event[t]=e,this},t.prototype.trigger=function(t){this.event&&void 0!==this.event[t.type]&&this.event[t.type](t)},t.prototype.kick=function(){for(;!this.tick(););},t.prototype.tick=function(){if(this._alpha<this._threshold)return this._running=!1,this.trigger({type:r.end,alpha:this._alpha=0,stress:this._lastStress}),!0;var t,e,n=this._nodes.length;this._links.length;for(this._descent.locks.clear(),e=0;e<n;++e)if(t=this._nodes[e],t.fixed){void 0!==t.px&&void 0!==t.py||(t.px=t.x,t.py=t.y);var i=[t.px,t.py];this._descent.locks.add(e,i)}var A=this._descent.rungeKutta();return 0===A?this._alpha=0:void 0!==this._lastStress&&(this._alpha=A),this._lastStress=A,this.updateNodePositions(),this.trigger({type:r.tick,alpha:this._alpha,stress:this._lastStress}),!1},t.prototype.updateNodePositions=function(){for(var t,e=this._descent.x[0],n=this._descent.x[1],i=this._nodes.length;i--;)t=this._nodes[i],t.x=e[i],t.y=n[i]},t.prototype.nodes=function(t){if(!t){if(0===this._nodes.length&&this._links.length>0){var e=0;this._links.forEach(function(t){e=Math.max(e,t.source,t.target)}),this._nodes=new Array(++e);for(var n=0;n<e;++n)this._nodes[n]={}}return this._nodes}return this._nodes=t,this},t.prototype.groups=function(t){var e=this;return t?(this._groups=t,this._rootGroup={},this._groups.forEach(function(t){void 0===t.padding&&(t.padding=1),void 0!==t.leaves&&t.leaves.forEach(function(n,i){"number"==typeof n&&((t.leaves[i]=e._nodes[n]).parent=t)}),void 0!==t.groups&&t.groups.forEach(function(n,i){"number"==typeof n&&((t.groups[i]=e._groups[n]).parent=t)})}),this._rootGroup.leaves=this._nodes.filter(function(t){return void 0===t.parent}),this._rootGroup.groups=this._groups.filter(function(t){return void 0===t.parent}),this):this._groups},t.prototype.powerGraphGroups=function(t){var e=A.getGroups(this._nodes,this._links,this.linkAccessor,this._rootGroup);return this.groups(e.groups),t(e),this},t.prototype.avoidOverlaps=function(t){return arguments.length?(this._avoidOverlaps=t,this):this._avoidOverlaps},t.prototype.handleDisconnected=function(t){return arguments.length?(this._handleDisconnected=t,this):this._handleDisconnected},t.prototype.flowLayout=function(t,e){return arguments.length||(t="y"),this._directedLinkConstraints={axis:t,getMinSeparation:"number"==typeof e?function(){return e}:e},this},t.prototype.links=function(t){return arguments.length?(this._links=t,this):this._links},t.prototype.constraints=function(t){return arguments.length?(this._constraints=t,this):this._constraints},t.prototype.distanceMatrix=function(t){return arguments.length?(this._distanceMatrix=t,this):this._distanceMatrix},t.prototype.size=function(t){return t?(this._canvasSize=t,this):this._canvasSize},t.prototype.defaultNodeSize=function(t){return t?(this._defaultNodeSize=t,this):this._defaultNodeSize},t.prototype.groupCompactness=function(t){return t?(this._groupCompactness=t,this):this._groupCompactness},t.prototype.linkDistance=function(t){return t?(this._linkDistance="function"==typeof t?t:+t,this._linkLengthCalculator=null,this):this._linkDistance},t.prototype.linkType=function(t){return this._linkType=t,this},t.prototype.convergenceThreshold=function(t){return t?(this._threshold="function"==typeof t?t:+t,this):this._threshold},t.prototype.alpha=function(t){return arguments.length?(t=+t,this._alpha?this._alpha=t>0?t:0:t>0&&(this._running||(this._running=!0,this.trigger({type:r.start,alpha:this._alpha=t}),this.kick())),this):this._alpha},t.prototype.getLinkLength=function(t){return"function"==typeof this._linkDistance?+this._linkDistance(t):this._linkDistance},t.setLinkLength=function(t,e){t.length=e},t.prototype.getLinkType=function(t){return"function"==typeof this._linkType?this._linkType(t):0},t.prototype.symmetricDiffLinkLengths=function(t,e){var n=this;return void 0===e&&(e=1),this.linkDistance(function(e){return t*e.length}),this._linkLengthCalculator=function(){return o.symmetricDiffLinkLengths(n._links,n.linkAccessor,e)},this},t.prototype.jaccardLinkLengths=function(t,e){var n=this;return void 0===e&&(e=1),this.linkDistance(function(e){return t*e.length}),this._linkLengthCalculator=function(){return o.jaccardLinkLengths(n._links,n.linkAccessor,e)},this},t.prototype.start=function(e,n,i,r,A){var u=this;void 0===e&&(e=0),void 0===n&&(n=0),void 0===i&&(i=0),void 0===r&&(r=0),void 0===A&&(A=!0);var g,l=this.nodes().length,M=l+2*this._groups.length,h=(this._links.length,this._canvasSize[0]),d=this._canvasSize[1],f=new Array(M),I=new Array(M),E=null,T=this._avoidOverlaps;this._nodes.forEach(function(t,e){t.index=e,void 0===t.x&&(t.x=h/2,t.y=d/2),f[e]=t.x,I[e]=t.y}),this._linkLengthCalculator&&this._linkLengthCalculator();var N;this._distanceMatrix?N=this._distanceMatrix:(N=new s.Calculator(M,this._links,t.getSourceIndex,t.getTargetIndex,function(t){return u.getLinkLength(t)}).DistanceMatrix(),E=a.Descent.createSquareMatrix(M,function(){return 2}),this._links.forEach(function(t){"number"==typeof t.source&&(t.source=u._nodes[t.source]),"number"==typeof t.target&&(t.target=u._nodes[t.target])}),this._links.forEach(function(e){var n=t.getSourceIndex(e),i=t.getTargetIndex(e);E[n][i]=E[i][n]=e.weight||1}));var y=a.Descent.createSquareMatrix(M,function(t,e){return N[t][e]});if(this._rootGroup&&void 0!==this._rootGroup.groups){var g=l,p=function(t,e,n,i){E[t][e]=E[e][t]=n,y[t][e]=y[e][t]=i};this._groups.forEach(function(t){p(g,g+1,u._groupCompactness,.1),f[g]=0,I[g++]=0,f[g]=0,I[g++]=0})}else this._rootGroup={leaves:this._nodes,groups:[]};var C=this._constraints||[];this._directedLinkConstraints&&(this.linkAccessor.getMinSeparation=this._directedLinkConstraints.getMinSeparation,C=C.concat(o.generateDirectedEdgeConstraints(l,this._links,this._directedLinkConstraints.axis,this.linkAccessor))),this.avoidOverlaps(!1),this._descent=new a.Descent([f,I],y),this._descent.locks.clear();for(var g=0;g<l;++g){var D=this._nodes[g];if(D.fixed){D.px=D.x,D.py=D.y;var x=[D.x,D.y];this._descent.locks.add(g,x)}}if(this._descent.threshold=this._threshold,this.initialLayout(e,f,I),C.length>0&&(this._descent.project=new c.Projection(this._nodes,this._groups,this._rootGroup,C).projectFunctions()),this._descent.run(n),this.separateOverlappingComponents(h,d),this.avoidOverlaps(T),T&&(this._nodes.forEach(function(t,e){t.x=f[e],t.y=I[e]}),this._descent.project=new c.Projection(this._nodes,this._groups,this._rootGroup,C,!0).projectFunctions(),this._nodes.forEach(function(t,e){f[e]=t.x,I[e]=t.y})),this._descent.G=E,this._descent.run(i),r){this._descent.snapStrength=1e3,this._descent.snapGridSize=this._nodes[0].width,this._descent.numGridSnapNodes=l,this._descent.scaleSnapByMaxH=l!=M;var B=a.Descent.createSquareMatrix(M,function(t,e){return t>=l||e>=l?E[t][e]:0});this._descent.G=B,this._descent.run(r)}return this.updateNodePositions(),this.separateOverlappingComponents(h,d),A?this.resume():this},t.prototype.initialLayout=function(e,n,i){if(this._groups.length>0&&e>0){var r=this._nodes.length,A=this._links.map(function(t){return{source:t.source.index,target:t.target.index}}),o=this._nodes.map(function(t){return{index:t.index}});this._groups.forEach(function(t,e){o.push({index:t.index=r+e})}),this._groups.forEach(function(t,e){void 0!==t.leaves&&t.leaves.forEach(function(e){return A.push({source:t.index,target:e.index})}),void 0!==t.groups&&t.groups.forEach(function(e){return A.push({source:t.index,target:e.index})})}),(new t).size(this.size()).nodes(o).links(A).avoidOverlaps(!1).linkDistance(this.linkDistance()).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(e,0,0,0,!1),this._nodes.forEach(function(t){n[t.index]=o[t.index].x,i[t.index]=o[t.index].y})}else this._descent.run(e)},t.prototype.separateOverlappingComponents=function(t,e){var n=this;if(!this._distanceMatrix&&this._handleDisconnected){var i=this._descent.x[0],r=this._descent.x[1];this._nodes.forEach(function(t,e){t.x=i[e],t.y=r[e]});var A=g.separateGraphs(this._nodes,this._links);g.applyPacking(A,t,e,this._defaultNodeSize),this._nodes.forEach(function(t,e){n._descent.x[0][e]=t.x,n._descent.x[1][e]=t.y,t.bounds&&(t.bounds.setXCentre(t.x),t.bounds.setYCentre(t.y))})}},t.prototype.resume=function(){return this.alpha(.1)},t.prototype.stop=function(){return this.alpha(0)},t.prototype.prepareEdgeRouting=function(t){void 0===t&&(t=0),this._visibilityGraph=new u.TangentVisibilityGraph(this._nodes.map(function(e){return e.bounds.inflate(-t).vertices()}))},t.prototype.routeEdge=function(t,e){var n=[],i=new u.TangentVisibilityGraph(this._visibilityGraph.P,{V:this._visibilityGraph.V,E:this._visibilityGraph.E}),r={x:t.source.x,y:t.source.y},A={x:t.target.x,y:t.target.y},o=i.addPoint(r,t.source.index),a=i.addPoint(A,t.target.index);i.addEdgeIfVisible(r,A,t.source.index,t.target.index),void 0!==e&&e(i);var g=function(t){return t.source.id},l=function(t){return t.target.id},M=function(t){return t.length()},h=new s.Calculator(i.V.length,i.E,g,l,M),d=h.PathFromNodeToNode(o.id,a.id);if(1===d.length||d.length===i.V.length){var f=c.makeEdgeBetween(t.source.innerBounds,t.target.innerBounds,5);n=[f.sourceIntersection,f.arrowStart]}else{for(var I=d.length-2,E=i.V[d[I]].p,T=i.V[d[0]].p,n=[t.source.innerBounds.rayIntersection(E.x,E.y)],N=I;N>=0;--N)n.push(i.V[d[N]].p);n.push(c.makeEdgeTo(T,t.target.innerBounds,5))}return n},t.getSourceIndex=function(t){return"number"==typeof t.source?t.source:t.source.index},t.getTargetIndex=function(t){return"number"==typeof t.target?t.target:t.target.index},t.linkId=function(e){return t.getSourceIndex(e)+"-"+t.getTargetIndex(e)},t.dragStart=function(e){i(e)?t.storeOffset(e,t.dragOrigin(e)):(t.stopNode(e),e.fixed|=2)},t.stopNode=function(t){t.px=t.x,t.py=t.y},t.storeOffset=function(e,n){void 0!==e.leaves&&e.leaves.forEach(function(e){e.fixed|=2,t.stopNode(e),e._dragGroupOffsetX=e.x-n.x,e._dragGroupOffsetY=e.y-n.y}),void 0!==e.groups&&e.groups.forEach(function(e){return t.storeOffset(e,n)})},t.dragOrigin=function(t){return i(t)?{x:t.bounds.cx(),y:t.bounds.cy()}:t},t.drag=function(e,n){i(e)?(void 0!==e.leaves&&e.leaves.forEach(function(t){e.bounds.setXCentre(n.x),e.bounds.setYCentre(n.y),t.px=t._dragGroupOffsetX+n.x,t.py=t._dragGroupOffsetY+n.y}),void 0!==e.groups&&e.groups.forEach(function(e){return t.drag(e,n)})):(e.px=n.x,e.py=n.y)},t.dragEnd=function(e){i(e)?(void 0!==e.leaves&&e.leaves.forEach(function(e){t.dragEnd(e),delete e._dragGroupOffsetX,delete e._dragGroupOffsetY}),void 0!==e.groups&&e.groups.forEach(t.dragEnd)):e.fixed&=-7},t.mouseOver=function(t){t.fixed|=4,t.px=t.x,t.py=t.y},t.mouseOut=function(t){t.fixed&=-5},t}();e.Layout=l},function(t,e,n){"use strict";function i(t){return t.bounds=void 0!==t.leaves?t.leaves.reduce(function(t,e){return e.bounds.union(t)},N.empty()):N.empty(),void 0!==t.groups&&(t.bounds=t.groups.reduce(function(t,e){return i(e).union(t)},t.bounds)),t.bounds=t.bounds.inflate(t.padding),t.bounds}function r(t,e,n){var i=t.rayIntersection(e.cx(),e.cy())||{x:t.cx(),y:t.cy()},r=e.rayIntersection(t.cx(),t.cy())||{x:e.cx(),y:e.cy()},A=r.x-i.x,o=r.y-i.y,a=Math.sqrt(A*A+o*o),c=a-n;return{sourceIntersection:i,targetIntersection:r,arrowStart:{x:i.x+c*A/a,y:i.y+c*o/a}}}function A(t,e,n){var i=e.rayIntersection(t.x,t.y);i||(i={x:e.cx(),y:e.cy()});var r=i.x-t.x,A=i.y-t.y,o=Math.sqrt(r*r+A*A);return{x:i.x-n*r/o,y:i.y-n*A/o}}function o(t,e){return t.pos>e.pos?1:t.pos<e.pos?-1:t.isOpen?-1:e.isOpen?1:0}function a(){return new T.RBTree(function(t,e){return t.pos-e.pos})}function c(t,e,n,i){void 0===i&&(i=!1);var r=t.padding,A=void 0!==t.groups?t.groups.length:0,o=void 0!==t.leaves?t.leaves.length:0,a=A?t.groups.reduce(function(t,i){return t.concat(c(i,e,n,!0))},[]):[],u=(i?2:0)+o+A,g=new Array(u),l=new Array(u),M=0,h=function(t,e){l[M]=t,g[M++]=e};if(i){var d=t.bounds,f=e.getCentre(d),I=e.getSize(d)/2,E=e.getOpen(d),T=e.getClose(d),N=f-I+r/2,y=f+I-r/2;t.minVar.desiredPosition=N,h(e.makeRect(E,T,N,r),t.minVar),t.maxVar.desiredPosition=y,h(e.makeRect(E,T,y,r),t.maxVar)}o&&t.leaves.forEach(function(t){return h(t.bounds,t.variable)}),A&&t.groups.forEach(function(t){var n=t.bounds;h(e.makeRect(e.getOpen(n),e.getClose(n),e.getCentre(n),e.getSize(n)),t.minVar)});var p=s(l,g,e,n);return A&&(g.forEach(function(t){t.cOut=[],t.cIn=[]}),p.forEach(function(t){t.left.cOut.push(t),t.right.cIn.push(t)}),t.groups.forEach(function(t){var n=(t.padding-e.getSize(t.bounds))/2;t.minVar.cIn.forEach(function(t){return t.gap+=n}),t.minVar.cOut.forEach(function(e){e.left=t.maxVar,e.gap+=n})})),a.concat(p)}function s(t,e,n,i){var r,A=t.length,c=2*A;console.assert(e.length>=A);var s=new Array(c);for(r=0;r<A;++r){var u=t[r],g=new y(e[r],u,n.getCentre(u));s[r]=new p(!0,g,n.getOpen(u)),s[r+A]=new p(!1,g,n.getClose(u))}s.sort(o);var l=new Array,M=a();for(r=0;r<c;++r){var h=s[r],g=h.v;if(h.isOpen)M.insert(g),n.findNeighbours(g,M);else{M.remove(g);var d=function(t,e){var r=(n.getSize(t.r)+n.getSize(e.r))/2+i;l.push(new E.Constraint(t.v,e.v,r))},f=function(t,e,n){for(var i,r=g[t].iterator();null!==(i=r[t]());)n(i,g),i[e].remove(g)};f("prev","next",function(t,e){return d(t,e)}),f("next","prev",function(t,e){return d(e,t)})}}return console.assert(0===M.size),l}function u(t,e){var n=function(n,i){for(var r,A=e.findIter(t);null!==(r=A[n]());){var o=r.r.overlapX(t.r);if((o<=0||o<=r.r.overlapY(t.r))&&(t[n].insert(r),r[i].insert(t)),o<=0)break}};n("next","prev"),n("prev","next")}function g(t,e){var n=function(n,i){var r=e.findIter(t)[n]();null!==r&&r.r.overlapX(t.r)>0&&(t[n].insert(r),r[i].insert(t))};n("next","prev"),n("prev","next")}function l(t,e){return s(t,e,C,1e-6)}function M(t,e){return s(t,e,D,1e-6)}function h(t){return c(t,C,1e-6)}function d(t){return c(t,D,1e-6)}function f(t){var e=t.map(function(t){return new E.Variable(t.cx())}),n=l(t,e),i=new E.Solver(e,n);i.solve(),e.forEach(function(e,n){return t[n].setXCentre(e.position())}),e=t.map(function(t){return new E.Variable(t.cy())}),n=M(t,e),i=new E.Solver(e,n),i.solve(),e.forEach(function(e,n){return t[n].setYCentre(e.position())})}var I=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var E=n(218),T=n(326);e.computeGroupBounds=i;var N=function(){function t(t,e,n,i){this.x=t,this.X=e,this.y=n,this.Y=i}return t.empty=function(){return new t(Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY)},t.prototype.cx=function(){return(this.x+this.X)/2},t.prototype.cy=function(){return(this.y+this.Y)/2},t.prototype.overlapX=function(t){var e=this.cx(),n=t.cx();return e<=n&&t.x<this.X?this.X-t.x:n<=e&&this.x<t.X?t.X-this.x:0},t.prototype.overlapY=function(t){var e=this.cy(),n=t.cy();return e<=n&&t.y<this.Y?this.Y-t.y:n<=e&&this.y<t.Y?t.Y-this.y:0},t.prototype.setXCentre=function(t){var e=t-this.cx();this.x+=e,this.X+=e},t.prototype.setYCentre=function(t){var e=t-this.cy();this.y+=e,this.Y+=e},t.prototype.width=function(){return this.X-this.x},t.prototype.height=function(){return this.Y-this.y},t.prototype.union=function(e){return new t(Math.min(this.x,e.x),Math.max(this.X,e.X),Math.min(this.y,e.y),Math.max(this.Y,e.Y))},t.prototype.lineIntersections=function(e,n,i,r){for(var A=[[this.x,this.y,this.X,this.y],[this.X,this.y,this.X,this.Y],[this.X,this.Y,this.x,this.Y],[this.x,this.Y,this.x,this.y]],o=[],a=0;a<4;++a){var c=t.lineIntersection(e,n,i,r,A[a][0],A[a][1],A[a][2],A[a][3]);null!==c&&o.push({x:c.x,y:c.y})}return o},t.prototype.rayIntersection=function(t,e){var n=this.lineIntersections(this.cx(),this.cy(),t,e);return n.length>0?n[0]:null},t.prototype.vertices=function(){return[{x:this.x,y:this.y},{x:this.X,y:this.y},{x:this.X,y:this.Y},{x:this.x,y:this.Y},{x:this.x,y:this.y}]},t.lineIntersection=function(t,e,n,i,r,A,o,a){var c=n-t,s=o-r,u=i-e,g=a-A,l=g*c-s*u;if(0==l)return null;var M=t-r,h=e-A,d=s*h-g*M,f=d/l,I=c*h-u*M,E=I/l;return f>=0&&f<=1&&E>=0&&E<=1?{x:t+f*c,y:e+f*u}:null},t.prototype.inflate=function(e){return new t(this.x-e,this.X+e,this.y-e,this.Y+e)},t}();e.Rectangle=N,e.makeEdgeBetween=r,e.makeEdgeTo=A;var y=function(){function t(t,e,n){this.v=t,this.r=e,this.pos=n,this.prev=a(),this.next=a()}return t}(),p=function(){function t(t,e,n){this.isOpen=t,this.v=e,this.pos=n}return t}(),C={getCentre:function(t){return t.cx()},getOpen:function(t){return t.y},getClose:function(t){return t.Y},getSize:function(t){return t.width()},makeRect:function(t,e,n,i){return new N(n-i/2,n+i/2,t,e)},findNeighbours:u},D={getCentre:function(t){return t.cy()},getOpen:function(t){return t.x},getClose:function(t){return t.X},getSize:function(t){return t.height()},makeRect:function(t,e,n,i){return new N(t,e,n-i/2,n+i/2)},findNeighbours:g};e.generateXConstraints=l,e.generateYConstraints=M,e.generateXGroupConstraints=h,e.generateYGroupConstraints=d,e.removeOverlaps=f;var x=function(t){function e(e,n){var i=t.call(this,0,n)||this;return i.index=e,i}return I(e,t),e}(E.Variable);e.IndexedVariable=x;var B=function(){function t(t,e,n,r,A){void 0===n&&(n=null),void 0===r&&(r=null),void 0===A&&(A=!1);var o=this;if(this.nodes=t,this.groups=e,this.rootGroup=n,this.avoidOverlaps=A,this.variables=t.map(function(t,e){return t.variable=new x(e,1)}),r&&this.createConstraints(r),A&&n&&void 0!==n.groups){t.forEach(function(t){if(!t.width||!t.height)return void(t.bounds=new N(t.x,t.x,t.y,t.y));var e=t.width/2,n=t.height/2;t.bounds=new N(t.x-e,t.x+e,t.y-n,t.y+n)}),i(n);var a=t.length;e.forEach(function(t){o.variables[a]=t.minVar=new x(a++,void 0!==t.stiffness?t.stiffness:.01),o.variables[a]=t.maxVar=new x(a++,void 0!==t.stiffness?t.stiffness:.01)})}}return t.prototype.createSeparation=function(t){return new E.Constraint(this.nodes[t.left].variable,this.nodes[t.right].variable,t.gap,void 0!==t.equality&&t.equality)},t.prototype.makeFeasible=function(t){var e=this;if(this.avoidOverlaps){var n="x",i="width";"x"===t.axis&&(n="y",i="height");var r=t.offsets.map(function(t){return e.nodes[t.node]}).sort(function(t,e){return t[n]-e[n]}),A=null;r.forEach(function(t){if(A){var e=A[n]+A[i];e>t[n]&&(t[n]=e)}A=t})}},t.prototype.createAlignment=function(t){var e=this,n=this.nodes[t.offsets[0].node].variable;this.makeFeasible(t);var i="x"===t.axis?this.xConstraints:this.yConstraints;t.offsets.slice(1).forEach(function(t){var r=e.nodes[t.node].variable;i.push(new E.Constraint(n,r,t.offset,!0))})},t.prototype.createConstraints=function(t){var e=this,n=function(t){return void 0===t.type||"separation"===t.type};this.xConstraints=t.filter(function(t){return"x"===t.axis&&n(t)}).map(function(t){return e.createSeparation(t)}),this.yConstraints=t.filter(function(t){return"y"===t.axis&&n(t)}).map(function(t){return e.createSeparation(t)}),t.filter(function(t){return"alignment"===t.type}).forEach(function(t){return e.createAlignment(t)})},t.prototype.setupVariablesAndBounds=function(t,e,n,i){this.nodes.forEach(function(r,A){r.fixed?(r.variable.weight=r.fixedWeight?r.fixedWeight:1e3,n[A]=i(r)):r.variable.weight=1;var o=(r.width||0)/2,a=(r.height||0)/2,c=t[A],s=e[A];r.bounds=new N(c-o,c+o,s-a,s+a)})},t.prototype.xProject=function(t,e,n){(this.rootGroup||this.avoidOverlaps||this.xConstraints)&&this.project(t,e,t,n,function(t){return t.px},this.xConstraints,h,function(t){return t.bounds.setXCentre(n[t.variable.index]=t.variable.position())},function(t){var e=n[t.minVar.index]=t.minVar.position(),i=n[t.maxVar.index]=t.maxVar.position(),r=t.padding/2;t.bounds.x=e-r,t.bounds.X=i+r})},t.prototype.yProject=function(t,e,n){(this.rootGroup||this.yConstraints)&&this.project(t,e,e,n,function(t){return t.py},this.yConstraints,d,function(t){return t.bounds.setYCentre(n[t.variable.index]=t.variable.position())},function(t){var e=n[t.minVar.index]=t.minVar.position(),i=n[t.maxVar.index]=t.maxVar.position(),r=t.padding/2;t.bounds.y=e-r,t.bounds.Y=i+r})},t.prototype.projectFunctions=function(){var t=this;return[function(e,n,i){return t.xProject(e,n,i)},function(e,n,i){return t.yProject(e,n,i)}]},t.prototype.project=function(t,e,n,r,A,o,a,c,s){this.setupVariablesAndBounds(t,e,r,A),this.rootGroup&&this.avoidOverlaps&&(i(this.rootGroup),o=o.concat(a(this.rootGroup))),this.solve(this.variables,o,n,r),this.nodes.forEach(c),this.rootGroup&&this.avoidOverlaps&&(this.groups.forEach(s),i(this.rootGroup))},t.prototype.solve=function(t,e,n,i){var r=new E.Solver(t,e);r.setStartingPositions(n),r.setDesiredPositions(i),r.solve()},t}();e.Projection=B},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){function i(t,e){if(!e)return t&&t[g]||null;t[g]=e}function r(t){return u.keys(t)}function A(t){return"["+t+"]"}function o(t,e){t=u.array(t),e=u.$(e);var n,i,r;if(t[g]&&(n=e(t[g]),u.isString(n)))return n;for(i=0,r=t.length;!u.isValid(n)&&i<r;++i)n=e?e(t[i]):t[i];return u.isDate(n)?"date":u.isNumber(n)?"number":u.isBoolean(n)?"boolean":u.isString(n)?"string":null}function a(t,e){if(t.length){var n=e?u.identity:(e=r(t[0]),A);return e.reduce(function(e,i){return e[i]=o(t,n(i)),e},{})}}function c(t,e,n){t=u.array(t),e=u.$(e);var i,r,A,o=["boolean","integer","number","date"];for(i=0;i<t.length;++i){for(A=e?e(t[i]):t[i],r=0;r<o.length;++r)n&&n.test(A)||!u.isValid(A)||M[o[r]](A)||(o.splice(r,1),r-=1);if(0===o.length)return"string"}return o[0]}function s(t,e,n){var i=e?u.identity:(e=r(t[0]),A);return e.reduce(function(e,r){return e[r]=c(t,i(r),n),e},{})}var u=n(16),g="__types__",l={boolean:u.boolean,integer:u.number,number:u.number,date:u.date,string:function(t){return null==t||""===t?null:t+""}},M={boolean:function(t){return"true"===t||"false"===t||u.isBoolean(t)},integer:function(t){return M.number(t)&&(t=+t)==~~t},number:function(t){return!isNaN(+t)&&!u.isDate(t)},date:function(t){return!isNaN(Date.parse(t))}};o.annotation=i,o.all=a,o.infer=c,o.inferAll=s,o.parsers=l,t.exports=o},function(t,e,n){function i(t,e,n){var i=t&&t.nullh||0,r=c.random.normal(0,1),A=s.mean(e,n),o=s.stdev(e,n)/Math.sqrt(s.count.valid(e,n));if(0===o)return A-i==0?1:0;var a=(A-i)/o;return 2*r.cdf(-Math.abs(a))}function r(t,e,n,i){var r,A=i?e.map(o.$(n)):e,a=i?e.map(o.$(i)):n,c=s.count(A),u=s.count(a),g=Array();if(c!==u)throw Error("Array lengths must match.");for(r=0;r<c;++r)o.isValid(A[r])&&o.isValid(a[r])&&g.push(A[r]-a[r]);return s.z.test(g,t&&t.nullh||0)}function A(t,e,n,i){var r=i?e.map(o.$(n)):e,A=i?e.map(o.$(i)):n,a=s.count.valid(r),u=s.count.valid(A),g=c.random.normal(0,1),l=s.mean(r)-s.mean(A)-(t&&t.nullh||0),M=Math.sqrt(s.variance(r)/a+s.variance(A)/u);if(0===M)return 0===l?1:0;var h=l/M;return 2*g.cdf(-Math.abs(h))}var o=n(16),a=n(107),c=n(223),s=t.exports;s.unique=function(t,e,n){e=o.$(e),n=n||[];var i,r,A,a={};for(r=0,A=t.length;r<A;++r)(i=e?e(t[r]):t[r])in a||(a[i]=1,n.push(i));return n},s.count=function(t){return t&&t.length||0},s.count.valid=function(t,e){e=o.$(e);var n,i,r,A=0;for(i=0,r=t.length;i<r;++i)n=e?e(t[i]):t[i],o.isValid(n)&&(A+=1);return A},s.count.missing=function(t,e){e=o.$(e);var n,i,r=0;for(n=0,i=t.length;n<i;++n)null==(e?e(t[n]):t[n])&&(r+=1);return r},s.count.distinct=function(t,e){e=o.$(e);var n,i,r,A={},a=0;for(i=0,r=t.length;i<r;++i)(n=e?e(t[i]):t[i])in A||(A[n]=1,a+=1);return a},s.count.map=function(t,e){e=o.$(e);var n,i,r,A={};for(i=0,r=t.length;i<r;++i)n=e?e(t[i]):t[i],A[n]=n in A?A[n]+1:1;return A},s.median=function(t,e){return e&&(t=t.map(o.$(e))),t=t.filter(o.isValid).sort(o.cmp),s.quantile(t,.5)},s.quartile=function(t,e){e&&(t=t.map(o.$(e))),t=t.filter(o.isValid).sort(o.cmp);var n=s.quantile;return[n(t,.25),n(t,.5),n(t,.75)]},s.quantile=function(t,e,n){void 0===n&&(n=e,e=o.identity),e=o.$(e);var i=(t.length-1)*n+1,r=Math.floor(i),A=+e(t[r-1]),a=i-r;return a?A+a*(e(t[r])-A):A},s.sum=function(t,e){e=o.$(e);for(var n,i=0,r=0,A=t.length;r<A;++r)n=e?e(t[r]):t[r],o.isValid(n)&&(i+=n);return i},s.mean=function(t,e){e=o.$(e);var n,i,r,A,a,c=0;for(i=0,A=0,r=t.length;i<r;++i)a=e?e(t[i]):t[i],o.isValid(a)&&(n=a-c,c+=n/++A);return c},s.mean.geometric=function(t,e){e=o.$(e);var n,i,r,A,a=1;for(A=0,n=0,i=t.length;A<i;++A)if(r=e?e(t[A]):t[A],o.isValid(r)){if(r<=0)throw Error("Geometric mean only defined for positive values.");a*=r,++n}return a=n>0?Math.pow(a,1/n):0},s.mean.harmonic=function(t,e){e=o.$(e);var n,i,r,A,a=0;for(A=0,n=0,i=t.length;A<i;++A)r=e?e(t[A]):t[A],o.isValid(r)&&(a+=1/r,++n);return n/a},s.variance=function(t,e){if(e=o.$(e),!o.isArray(t)||t.length<2)return 0;var n,i,r,A,a=0,c=0;for(i=0,r=0;i<t.length;++i)A=e?e(t[i]):t[i],o.isValid(A)&&(n=A-a,a+=n/++r,c+=n*(A-a));return c/=r-1},s.stdev=function(t,e){return Math.sqrt(s.variance(t,e))},s.modeskew=function(t,e){var n=s.mean(t,e),i=s.median(t,e),r=s.stdev(t,e);return 0===r?0:(n-i)/r},s.min=function(t,e){return s.extent(t,e)[0]},s.max=function(t,e){return s.extent(t,e)[1]},s.extent=function(t,e){e=o.$(e);var n,i,r,A,a=t.length;for(A=0;A<a;++A)if(r=e?e(t[A]):t[A],o.isValid(r)){n=i=r;break}for(;A<a;++A)r=e?e(t[A]):t[A],o.isValid(r)&&(r<n&&(n=r),r>i&&(i=r));return[n,i]},s.extent.index=function(t,e){e=o.$(e);var n,i,r,A,a=-1,c=-1,s=t.length;for(A=0;A<s;++A)if(r=e?e(t[A]):t[A],o.isValid(r)){n=i=r,a=c=A;break}for(;A<s;++A)r=e?e(t[A]):t[A],o.isValid(r)&&(r<n&&(n=r,a=A),r>i&&(i=r,c=A));return[a,c]},s.dot=function(t,e,n){var i,r,A=0;if(n)for(e=o.$(e),n=o.$(n),i=0;i<t.length;++i)(r=e(t[i])*n(t[i]))===r&&(A+=r);else{if(t.length!==e.length)throw Error("Array lengths must match.");for(i=0;i<t.length;++i)(r=t[i]*e[i])===r&&(A+=r)}return A},s.dist=function(t,e,n,i){var r,A,a=o.isFunction(n)||o.isString(n),c=t,s=a?t:e,u=a?i:n,g=2===u||null==u,l=t.length,M=0;for(a&&(e=o.$(e),n=o.$(n)),A=0;A<l;++A)r=a?e(c[A])-n(s[A]):c[A]-s[A],M+=g?r*r:Math.pow(Math.abs(r),u);return g?Math.sqrt(M):Math.pow(M,1/u)},s.cohensd=function(t,e,n){var i=n?t.map(o.$(e)):t,r=n?t.map(o.$(n)):e,A=s.mean(i),a=s.mean(r),c=s.count.valid(i),u=s.count.valid(r);if(c+u-2<=0)return 0;var g=s.variance(i),l=s.variance(r),M=Math.sqrt(((c-1)*g+(u-1)*l)/(c+u-2));return 0===M?0:(A-a)/M},s.covariance=function(t,e,n){var i,r,A,a,c,u=n?t.map(o.$(e)):t,g=n?t.map(o.$(n)):e,l=u.length,M=s.mean(u),h=s.mean(g),d=0,f=0;if(l!==g.length)throw Error("Input lengths must match.");for(i=0;i<l;++i)if(r=u[i],a=o.isValid(r),A=g[i],c=o.isValid(A),a&&c)d+=(r-M)*(A-h),++f;else if(a||c)throw Error("Valid values must align.");return d/(f-1)},s.rank=function(t,e){e=o.$(e)||o.identity;var n,i,r,A=t.map(function(t,n){return{idx:n,val:e(t)}}).sort(o.comparator("val")),a=t.length,c=Array(a),s=-1,u={};for(n=0;n<a;++n){if(i=A[n].val,s<0&&u===i)s=n-1;else if(s>-1&&u!==i){for(r=1+(n-1+s)/2;s<n;++s)c[A[s].idx]=r;s=-1}c[A[n].idx]=n+1,u=i}if(s>-1)for(r=1+(a-1+s)/2;s<a;++s)c[A[s].idx]=r;return c},s.cor=function(t,e,n){var i=n;n=i?t.map(o.$(n)):e,e=i?t.map(o.$(e)):t;var r=s.dot(e,n),A=s.mean(e),a=s.mean(n),c=s.stdev(e),u=s.stdev(n),g=t.length;return(r-g*A*a)/((g-1)*c*u)},s.cor.rank=function(t,e,n){var i,r,A,o=n?s.rank(t,e):s.rank(t),a=n?s.rank(t,n):s.rank(e),c=t.length;for(i=0,r=0;i<c;++i)A=o[i]-a[i],r+=A*A;return 1-6*r/(c*(c*c-1))},s.cor.dist=function(t,e,n){var i,r,A,a,c=n?t.map(o.$(e)):t,u=n?t.map(o.$(n)):e,g=s.dist.mat(c),l=s.dist.mat(u),M=g.length;for(i=0,r=0,A=0,a=0;i<M;++i)r+=g[i]*g[i],A+=l[i]*l[i],a+=g[i]*l[i];return Math.sqrt(a/Math.sqrt(r*A))},s.linearRegression=function(t,e,n){var i,r,A=n?t.map(o.$(e)):t,a=n?t.map(o.$(n)):e,c=A.length,u=s.covariance(A,a),g=s.stdev(A),l=s.stdev(a),M=u/(g*g),h=s.mean(a)-M*s.mean(A),d={slope:M,intercept:h,R:u/(g*l),rss:0};for(r=0;r<c;++r)o.isValid(A[r])&&o.isValid(a[r])&&(i=M*A[r]+h-a[r],d.rss+=i*i);return d},s.bootstrap={},s.bootstrap.ci=function(t,e,n,i,r){var A,a,u,g,l,M,h;for(o.isFunction(e)||o.isString(e)?(A=t.map(o.$(e)),a=n,u=i,g=r):(A=t,a=e,u=n,g=i),a=a?+a:1e3,u=u||.05,l=c.random.bootstrap(A,g),h=0,M=Array(a);h<a;++h)M[h]=s.mean(l.samples(A.length));return M.sort(o.numcmp),[s.quantile(M,u/2),s.quantile(M,1-u/2)]},s.z={},s.z.ci=function(t,e,n){var i=t,r=e;(o.isFunction(e)||o.isString(e))&&(i=t.map(o.$(e)),r=n),r=r||.05;var A=.05===r?1.96:c.random.normal(0,1).icdf(1-r/2),a=s.mean(i),u=s.stdev(i)/Math.sqrt(s.count.valid(i));return[a-A*u,a+A*u]},s.z.test=function(t,e,n,a){return o.isFunction(n)||o.isString(n)?(a&&a.paired?r:A)(a,t,e,n):o.isArray(e)?(n&&n.paired?r:A)(n,t,e):o.isFunction(e)||o.isString(e)?i(n,t,e):i(e,t)},s.dist.mat=function(t){var e,n,i,r=t.length,A=r*r,o=Array(A),a=c.zeros(r),s=0;for(n=0;n<r;++n)for(o[n*r+n]=0,i=n+1;i<r;++i)o[n*r+i]=e=Math.abs(t[n]-t[i]),o[i*r+n]=e,a[n]+=e,a[i]+=e;for(n=0;n<r;++n)s+=a[n],a[n]/=r;for(s/=A,n=0;n<r;++n)for(i=n;i<r;++i)o[n*r+i]+=s-a[n]-a[i],o[i*r+n]=o[n*r+i];return o},s.entropy=function(t,e){e=o.$(e);var n,i,r=0,A=0,a=t.length;for(n=0;n<a;++n)r+=e?e(t[n]):t[n];if(0===r)return 0;for(n=0;n<a;++n)(i=(e?e(t[n]):t[n])/r)&&(A+=i*Math.log(i));return-A/Math.LN2},s.mutual=function(t,e,n,i){var r,A,a,c=i?t.map(o.$(e)):t,s=i?t.map(o.$(n)):e,u=i?t.map(o.$(i)):n,g={},l={},M=u.length,h=0,d=0,f=0;for(a=0;a<M;++a)g[c[a]]=0,l[s[a]]=0;for(a=0;a<M;++a)g[c[a]]+=u[a],l[s[a]]+=u[a],h+=u[a];for(A=1/(h*Math.LN2),a=0;a<M;++a)0!==u[a]&&(r=h*u[a]/(g[c[a]]*l[s[a]]),d+=u[a]*A*Math.log(r),f+=u[a]*A*Math.log(u[a]/h));return[d,1+d/f]},s.mutual.info=function(t,e,n,i){return s.mutual(t,e,n,i)[0]},s.mutual.dist=function(t,e,n,i){return s.mutual(t,e,n,i)[1]},s.profile=function(t,e){var n,i,r,A,c,u=0,g=0,l=0,M=0,h=null,d=null,f=0,I=[],E={};for(r=0;r<t.length;++r)A=e?e(t[r]):t[r],E[A]=A in E?E[A]+1:(M+=1,1),null==A?++l:o.isValid(A)&&(c="string"==typeof A?A.length:A,(null===h||c<h)&&(h=c),(null===d||c>d)&&(d=c),n=c-u,u+=n/++g,f+=n*(c-u),I.push(c));return f/=g-1,i=Math.sqrt(f),I.sort(o.cmp),{type:a(t,e),unique:E,count:t.length,valid:g,missing:l,distinct:M,min:h,max:d,mean:u,stdev:i,median:A=s.quantile(I,.5),q1:s.quantile(I,.25),q3:s.quantile(I,.75),modeskew:0===i?0:(u-A)/i}},s.summary=function(t,e){e=e||o.keys(t[0]);var n=e.map(function(e){var n=s.profile(t,o.$(e));return n.field=e,n});return n.__summary__=!0,n}},function(t,e,n){"use strict";function i(t){return null==t?null:t.fname}function r(t){return null==t?null:t.fields}e.b=i,e.a=r,e.c=function(t,e,n){return t.fields=e||[],t.fname=n,t}},function(t,e,n){"use strict";function i(t){return!!o[t]}function r(t){return t&&A.contains(e.COUNTING_OPS,t)}Object.defineProperty(e,"__esModule",{value:!0});var A=n(2),o={values:1,count:1,valid:1,missing:1,distinct:1,sum:1,mean:1,average:1,variance:1,variancep:1,stdev:1,stdevp:1,median:1,q1:1,q3:1,ci0:1,ci1:1,min:1,max:1,argmin:1,argmax:1};e.AGGREGATE_OPS=A.flagKeys(o),e.isAggregateOp=i,e.COUNTING_OPS=["count","valid","missing","distinct"],e.isCountingAggregateOp=r,e.SUM_OPS=["count","sum","distinct","valid","missing"],e.SHARED_DOMAIN_OPS=["mean","average","median","q1","q3","min","max"],e.SHARED_DOMAIN_OP_INDEX=A.toSet(e.SHARED_DOMAIN_OPS)},function(t,e,n){"use strict";function i(t){return o.isBoolean(t)?"bin":"bin"+o.keys(t).map(function(e){return"_"+e+"_"+t[e]}).join("")}function r(t){switch(t){case A.ROW:case A.COLUMN:case A.SIZE:case A.COLOR:case A.OPACITY:case A.SHAPE:return 6;default:return 10}}Object.defineProperty(e,"__esModule",{value:!0});var A=n(7),o=n(2);e.binToString=i,e.autoMaxBins=r},function(t,e,n){"use strict";function i(t){return!!N[t]}function r(t){return!!y[t]}function A(t){return!!D[t]}function o(t){return t.substr(3)}function a(t){return!!x[t]}function c(t,n){var i=A(t),r=i?new Date(Date.UTC(0,0,1,0,0,0,0)):new Date(0,0,1,0,0,0,0);return e.TIMEUNIT_PARTS.forEach(function(e){if(g(t,e))switch(e){case d.DAY:throw new Error("Cannot convert to TimeUnits containing 'day'");case d.QUARTER:var A=s("month",i),o=A.getDateMethod,a=A.setDateMethod;r[a](3*Math.floor(n[o]()/3));break;default:var c=s(e,i),u=c.getDateMethod,l=c.setDateMethod;r[l](n[u]())}}),r}function s(t,e){var n=B[t];return{setDateMethod:e?"setUTC"+n.substr(3):n,getDateMethod:"get"+(e?"UTC":"")+n.substr(3)}}function u(t){return e.TIMEUNIT_PARTS.reduce(function(e,n){return g(t,n)?e.concat(n):e},[])}function g(t,e){var n=t.indexOf(e);return n>-1&&(e!==d.SECONDS||0===n||"i"!==t.charAt(n-1))}function l(t,n){function i(t){return t===d.QUARTER?"("+o+"quarter("+r+")-1)":""+o+t+"("+r+")"}var r="datum["+T.stringValue(n)+"]",o=A(t)?"utc":"",a=e.TIMEUNIT_PARTS.reduce(function(e,n){return g(t,n)&&(e[n]=i(n)),e},{});return I.dateTimeExpr(a)}function M(t,e,n,i){if(t){var r=[],A="",o=g(t,d.YEAR);g(t,d.QUARTER)&&(A="'Q' + quarter("+e+")"),g(t,d.MONTH)&&r.push(!1!==n?"%b":"%B"),g(t,d.DAY)?r.push(n?"%a":"%A"):g(t,d.DATE)&&r.push("%d"+(o?",":"")),o&&r.push(n?"%y":"%Y");var a=[];g(t,d.HOURS)&&a.push("%H"),g(t,d.MINUTES)&&a.push("%M"),g(t,d.SECONDS)&&a.push("%S"),g(t,d.MILLISECONDS)&&a.push("%L");var c=[];return r.length>0&&c.push(r.join(" ")),a.length>0&&c.push(a.join(":")),c.length>0&&(A&&(A+=" + ' ' + "),A+=i?"utcFormat("+e+", '"+c.join(" ")+"')":"timeFormat("+e+", '"+c.join(" ")+"')"),A||void 0}}function h(t){return"day"!==t&&t.indexOf("day")>=0?(E.warn(E.message.dayReplacedWithDate(t)),t.replace("day","date")):t}Object.defineProperty(e,"__esModule",{value:!0});var d,f=n(3),I=n(66),E=n(4),T=n(2);!function(t){t.YEAR="year",t.MONTH="month",t.DAY="day",t.DATE="date",t.HOURS="hours",t.MINUTES="minutes",t.SECONDS="seconds",t.MILLISECONDS="milliseconds",t.YEARMONTH="yearmonth",t.YEARMONTHDATE="yearmonthdate",t.YEARMONTHDATEHOURS="yearmonthdatehours",t.YEARMONTHDATEHOURSMINUTES="yearmonthdatehoursminutes",t.YEARMONTHDATEHOURSMINUTESSECONDS="yearmonthdatehoursminutesseconds",t.MONTHDATE="monthdate",t.HOURSMINUTES="hoursminutes",t.HOURSMINUTESSECONDS="hoursminutesseconds",t.MINUTESSECONDS="minutesseconds",t.SECONDSMILLISECONDS="secondsmilliseconds",t.QUARTER="quarter",t.YEARQUARTER="yearquarter",t.QUARTERMONTH="quartermonth",t.YEARQUARTERMONTH="yearquartermonth",t.UTCYEAR="utcyear",t.UTCMONTH="utcmonth",t.UTCDAY="utcday",t.UTCDATE="utcdate",t.UTCHOURS="utchours",t.UTCMINUTES="utcminutes",t.UTCSECONDS="utcseconds",t.UTCMILLISECONDS="utcmilliseconds",t.UTCYEARMONTH="utcyearmonth",t.UTCYEARMONTHDATE="utcyearmonthdate",t.UTCYEARMONTHDATEHOURS="utcyearmonthdatehours",t.UTCYEARMONTHDATEHOURSMINUTES="utcyearmonthdatehoursminutes",t.UTCYEARMONTHDATEHOURSMINUTESSECONDS="utcyearmonthdatehoursminutesseconds",t.UTCMONTHDATE="utcmonthdate",t.UTCHOURSMINUTES="utchoursminutes",t.UTCHOURSMINUTESSECONDS="utchoursminutesseconds",t.UTCMINUTESSECONDS="utcminutesseconds",t.UTCSECONDSMILLISECONDS="utcsecondsmilliseconds",t.UTCQUARTER="utcquarter",t.UTCYEARQUARTER="utcyearquarter",t.UTCQUARTERMONTH="utcquartermonth",t.UTCYEARQUARTERMONTH="utcyearquartermonth"}(d=e.TimeUnit||(e.TimeUnit={}));var N={year:1,quarter:1,month:1,day:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1};e.TIMEUNIT_PARTS=T.flagKeys(N),e.isLocalSingleTimeUnit=i;var y={utcyear:1,utcquarter:1,utcmonth:1,utcday:1,utcdate:1,utchours:1,utcminutes:1,utcseconds:1,utcmilliseconds:1};e.isUtcSingleTimeUnit=r;var p={yearquarter:1,yearquartermonth:1,yearmonth:1,yearmonthdate:1,yearmonthdatehours:1,yearmonthdatehoursminutes:1,yearmonthdatehoursminutesseconds:1,quartermonth:1,monthdate:1,hoursminutes:1,hoursminutesseconds:1,minutesseconds:1,secondsmilliseconds:1},C={utcyearquarter:1,utcyearquartermonth:1,utcyearmonth:1,utcyearmonthdate:1,utcyearmonthdatehours:1,utcyearmonthdatehoursminutes:1,utcyearmonthdatehoursminutesseconds:1,utcquartermonth:1,utcmonthdate:1,utchoursminutes:1,utchoursminutesseconds:1,utcminutesseconds:1,utcsecondsmilliseconds:1},D=f.__assign({},y,C);e.isUTCTimeUnit=A,e.getLocalTimeUnit=o;var x=f.__assign({},N,y,p,C);e.TIMEUNITS=T.flagKeys(x),e.isTimeUnit=a;var B={year:"setFullYear",month:"setMonth",date:"setDate",hours:"setHours",minutes:"setMinutes",seconds:"setSeconds",milliseconds:"setMilliseconds",quarter:null,day:null};e.convert=c,e.getTimeUnitParts=u,e.containsTimeUnit=g,e.fieldExpr=l,e.formatExpression=M,e.normalizeTimeUnit=h},function(t,e,n){"use strict";function i(t){return void 0!==t.facet}function r(t){return!!t.mark}function A(t){return void 0!==t.layer}function o(t){return void 0!==t.repeat}function a(t){return c(t)||s(t)}function c(t){return void 0!==t.vconcat}function s(t){return void 0!==t.hconcat}function u(t,e){if(i(t))return g(t,e);if(A(t))return l(t,e);if(o(t))return M(t,e);if(c(t))return h(t,e);if(s(t))return d(t,e);if(r(t)){var n=m.channelHasField(t.encoding,B.ROW),a=m.channelHasField(t.encoding,B.COLUMN);return n||a?f(t,e):E(t,e)}throw new Error(v.message.INVALID_SPEC)}function g(t,e){var n=t.spec,i=x.__rest(t,["spec"]);return x.__assign({},i,{spec:u(n,e)})}function l(t,e){var n=t.layer,i=x.__rest(t,["layer"]);return x.__assign({},i,{layer:n.map(function(t){return A(t)?l(t,e):E(t,e)})})}function M(t,e){var n=t.spec,i=x.__rest(t,["spec"]);return x.__assign({},i,{spec:u(n,e)})}function h(t,e){var n=t.vconcat,i=x.__rest(t,["vconcat"]);return x.__assign({},i,{vconcat:n.map(function(t){return u(t,e)})})}function d(t,e){var n=t.hconcat,i=x.__rest(t,["hconcat"]);return x.__assign({},i,{hconcat:n.map(function(t){return u(t,e)})})}function f(t,e){var n=t.encoding,i=n.row,r=n.column,A=x.__rest(n,["row","column"]),o=t.mark,a=t.width,c=t.height,s=t.selection,u=(t.encoding,x.__rest(t,["mark","width","height","selection","encoding"]));return x.__assign({},u,{facet:x.__assign({},i?{row:i}:{},r?{column:r}:{}),spec:E(x.__assign({mark:o},a?{width:a}:{},c?{height:c}:{},{encoding:A},s?{selection:s}:{}),e)})}function I(t){return j.isPrimitiveMark(t.mark)}function E(t,e){if(I(t)){if(m.isRanged(t.encoding))return T(t);var n=e&&e.overlay,i=n&&t.mark===j.AREA&&S.contains(["linepoint","line"],n.area),r=n&&(n.line&&t.mark===j.LINE||"linepoint"===n.area&&t.mark===j.AREA);return r||i?N(t,r,i,e):t}return w.normalize(t,e)}function T(t){var e=m.channelHasField(t.encoding,B.X),n=m.channelHasField(t.encoding,B.Y),i=m.channelHasField(t.encoding,B.X2),r=m.channelHasField(t.encoding,B.Y2);if(i&&!e||r&&!n){var A=S.duplicate(t);return i&&!e&&(A.encoding.x=A.encoding.x2,delete A.encoding.x2),r&&!n&&(A.encoding.y=A.encoding.y2,delete A.encoding.y2),A}return t}function N(t,e,n,i){var r=t.mark,A=t.selection,o=t.encoding,a=x.__rest(t,["mark","selection","encoding"]),c=[{mark:r,encoding:o}],s=L.stack(r,o,i?i.stack:void 0),u=o;if(s){var g=s.fieldChannel,l=s.offset;u=x.__assign({},o,(M={},M[g]=x.__assign({},o[g],l?{stack:l}:{}),M))}return n&&c.push(x.__assign({mark:{type:"line",style:"lineOverlay"}},A?{selection:A}:{},{encoding:u})),e&&c.push(x.__assign({mark:{type:"point",filled:!0,style:"pointOverlay"}},A?{selection:A}:{},{encoding:u})),x.__assign({},a,{layer:c});var M}function y(t,e){return e.forEach(function(e){var n=["field","type","value","timeUnit","bin","aggregate"].reduce(function(t,n){return void 0!==e[n]&&(t[n]=e[n]),t},{}),i=S.hash(n);t[i]=t[i]||e}),t}function p(t,e){if(void 0===e&&(e={}),A(t))t.layer.forEach(function(t){r(t)?y(e,Q.fieldDefs(t.encoding)):p(t,e)});else if(i(t))y(e,Q.fieldDefs(t.facet)),p(t.spec,e);else if(o(t))p(t.spec,e);else if(a(t)){var n=c(t)?t.vconcat:t.hconcat;n.forEach(function(t){return p(t,e)})}else y(e,Q.fieldDefs(t.encoding));return e}function C(t){return S.vals(p(t))}function D(t,e){return e=e||t.config,!!j.isPrimitiveMark(t.mark)&&null!==L.stack(t.mark,t.encoding,e?e.stack:void 0)}Object.defineProperty(e,"__esModule",{value:!0});var x=n(3),B=n(7),w=n(144),m=n(32),Q=n(32),v=n(4),j=n(31),L=n(232),S=n(2);e.isFacetSpec=i,e.isUnitSpec=r,e.isLayerSpec=A,e.isRepeatSpec=o,e.isConcatSpec=a,e.isVConcatSpec=c,e.isHConcatSpec=s,e.normalize=u,e.fieldDefs=C,e.isStacked=D},function(t,e,n){"use strict";function i(t){Q.isUnitModel(t)?r(t):A(t)}function r(t){var e=t.specifiedScales,n=t.component.scales;D.keys(n).forEach(function(i){var r=e[i],A=r?r.domain:void 0,o=a(t,i),c=n[i];c.domains=o,p.isSelectionDomain(A)&&c.set("domainRaw",{signal:v.SELECTION_DOMAIN+JSON.stringify(A)},!0)})}function A(t){for(var e=0,n=t.children;e<n.length;e++){i(n[e])}var r=t.component.scales;D.keys(r).forEach(function(e){for(var n,i=0,A=t.children;i<A.length;i++){var o=A[i],a=o.component.scales[e];a&&(n=void 0===n?a.domains:n.concat(a.domains))}Q.isFacetModel(t)&&n.forEach(function(t){x.isDataRefDomain(t)&&(t.data=m.FACET_SCALE_PREFIX+t.data.replace(m.FACET_SCALE_PREFIX,""))}),r[e].domains=n})}function o(t,e,n,i){if("unaggregated"===t){var r=u(e,n),A=r.valid,o=r.reason;if(!A)return void y.warn(o)}else if(void 0===t&&i.useUnaggregatedDomain){var A=u(e,n).valid;if(A)return"unaggregated"}return t}function a(t,e){var n=t.getScaleComponent(e).get("type"),i=o(t.scaleDomain(e),t.fieldDef(e),n,t.config.scale);return i!==t.scaleDomain(e)&&(t.specifiedScales[e]=h.__assign({},t.specifiedScales[e],{domain:i})),"x"===e&&t.channelHasField("x2")?t.channelHasField("x")?c(n,i,t,"x").concat(c(n,i,t,"x2")):c(n,i,t,"x2"):"y"===e&&t.channelHasField("y2")?t.channelHasField("y")?c(n,i,t,"y").concat(c(n,i,t,"y2")):c(n,i,t,"y2"):c(n,i,t,e)}function c(t,e,n,i){var r=n.fieldDef(i);if(e&&"unaggregated"!==e&&!p.isSelectionDomain(e)){if(!r.bin)return N.isDateTime(e[0])?e.map(function(t){return{signal:"{data: "+N.dateTimeExpr(t,!0)+"}"}}):[e];y.warn(y.message.conflictedDomain(i))}var A=n.stack;if(A&&i===A.fieldChannel){if("normalize"===A.offset)return[[0,1]];var o=n.requestDataName(T.MAIN);return[{data:o,field:n.field(i,{suffix:"start"})},{data:o,field:n.field(i,{suffix:"end"})}]}var a=E.isScaleChannel(i)?s(n,i,t):void 0;if("unaggregated"===e){var o=n.requestDataName(T.MAIN);return[{data:o,field:n.field(i,{aggregate:"min"})},{data:o,field:n.field(i,{aggregate:"max"})}]}if(r.bin){if(p.isBinScale(t)){var c=n.getName(I.binToString(r.bin)+"_"+r.field+"_bins");return[{signal:"sequence("+c+".start, "+c+".stop + "+c+".step, "+c+".step)"}]}if(p.hasDiscreteDomain(t))return[{data:D.isBoolean(a)?n.requestDataName(T.MAIN):n.requestDataName(T.RAW),field:n.field(i,w.binRequiresRange(r,i)?{binSuffix:"range"}:{}),sort:!0!==a&&C.isSortField(a)?a:{field:n.field(i,{}),op:"min"}}];if("x"===i||"y"===i){var o=n.requestDataName(T.MAIN);return[{data:o,field:n.field(i,{})},{data:o,field:n.field(i,{binSuffix:"end"})}]}return[{data:n.requestDataName(T.MAIN),field:n.field(i,{})}]}return a?[{data:D.isBoolean(a)?n.requestDataName(T.MAIN):n.requestDataName(T.RAW),field:n.field(i),sort:a}]:[{data:n.requestDataName(T.MAIN),field:n.field(i)}]}function s(t,e,n){if(p.hasDiscreteDomain(n)){var i=t.sort(e);return C.isSortField(i)?i:"descending"===i?{op:"min",field:t.field(e),order:"descending"}:!!D.contains(["ascending",void 0],i)||void 0}}function u(t,e){return t.aggregate?f.SHARED_DOMAIN_OP_INDEX[t.aggregate]?"quantitative"===t.type&&"log"===e?{valid:!1,reason:y.message.unaggregatedDomainWithLogScale(t)}:{valid:!0}:{valid:!1,reason:y.message.unaggregateDomainWithNonSharedDomainOp(t.aggregate)}:{valid:!1,reason:y.message.unaggregateDomainHasNoEffectForRawField(t)}}function g(t){var e=D.unique(t.map(function(t){if(x.isDataRefDomain(t)){t.sort;return h.__rest(t,["sort"])}return t}),D.hash),n=D.unique(t.map(function(t){if(x.isDataRefDomain(t)){var e=t.sort;return void 0===e||D.isBoolean(e)||("count"===e.op&&delete e.field,"ascending"===e.order&&delete e.order),e}}).filter(function(t){return void 0!==t}),D.hash);if(1===e.length){var i=t[0];if(x.isDataRefDomain(i)&&n.length>0){var r=n[0];return n.length>1&&(y.warn(y.message.MORE_THAN_ONE_SORT),r=!0),h.__assign({},i,{sort:r})}return i}var A=n.filter(function(t){return!!D.isBoolean(t)||("count"===t.op||(y.warn(y.message.domainSortDropped(t)),!1))}),o=!0;if(1===A.length)o=A[0];else if(A.length>1){var a=A.filter(function(t){return!1!==t});a.length>1?(y.warn(y.message.MORE_THAN_ONE_SORT),o=!0):o=a[0]}var c=D.unique(t.map(function(t){return x.isDataRefDomain(t)?t.data:null}),function(t){return t});if(1===c.length&&null!==c[0]){var i={data:c[0],fields:e.map(function(t){return t.field}),sort:o};return i}return{fields:e,sort:o}}function l(t){if(x.isDataRefDomain(t)&&d.isString(t.field))return t.field;if(B.isDataRefUnionedDomain(t)){for(var e=void 0,n=0,i=t.fields;n<i.length;n++){var r=i[n];if(x.isDataRefDomain(r)&&d.isString(r.field))if(e){if(e!==r.field)return y.warn("Detected faceted independent scales that union domain of multiple fields from different data sources. We will use the first field. The result view size may be incorrect."),e}else e=r.field}return y.warn("Detected faceted independent scales that union domain of identical fields from different source detected. We will assume that this is the same field from a different fork of the same data source. However, if this is not case, the result view size maybe incorrect."),e}if(B.isFieldRefUnionDomain(t)&&d.isString){y.warn("Detected faceted independent scales that union domain of multiple fields from the same data source. We will use the first field. The result view size may be incorrect.");var e=t.fields[0];return d.isString(e)?e:void 0}}function M(t,e){return g(t.component.scales[e].domains.map(function(e){return x.isDataRefDomain(e)&&(e.data=t.lookupDataSource(e.data)),e}))}Object.defineProperty(e,"__esModule",{value:!0});var h=n(3),d=n(0),f=n(110),I=n(111),E=n(7),T=n(67),N=n(66),y=n(4),p=n(11),C=n(152),D=n(2),x=n(38),B=n(38),w=n(23),m=n(363),Q=n(18),v=n(21);e.parseScaleDomain=i,e.parseDomainForChannel=a,e.domainSort=s,e.canUseUnaggregatedDomain=u,e.mergeDomains=g,e.getFieldFromDomain=l,e.assembleDomain=M},function(t,e,n){"use strict";function i(t){A(t);var e=t.component.layoutSize;e.setWithExplicit("width",o(t,"width")),e.setWithExplicit("height",o(t,"height"))}function r(t){A(t);var e=t.component.layoutSize,n=t.isVConcat?"width":"height";e.setWithExplicit(n,o(t,n))}function A(t){for(var e=0,n=t.children;e<n.length;e++){n[e].parseLayoutSize()}}function o(t,e){for(var n,i="width"===e?"x":"y",r=t.component.resolve,A=0,o=t.children;A<o.length;A++){var a=o[A],c=a.component.layoutSize.getWithExplicit(e),s=r.scale[i];if("independent"===s&&"range-step"===c.value){n=void 0;break}if(n){if("independent"===s&&n.value!==c.value){n=void 0;break}n=g.mergeValuesWithExplicit(n,c,e,"",g.defaultTieBreaker)}else n=c}if(n){for(var u=0,l=t.children;u<l.length;u++){var a=l[u];t.renameLayoutSize(a.getName(e),t.getName(e)),a.component.layoutSize.set(e,"merged",!1)}return n}return{explicit:!1,value:void 0}}function a(t){var e=t.component.layoutSize;if(!e.explicit.width){var n=c(t,"width");e.set("width",n,!1)}if(!e.explicit.height){var i=c(t,"height");e.set("height",i,!1)}}function c(t,e){var n="width"===e?"x":"y",i=t.config,r=t.getScaleComponent(n);if(r){var A=r.get("type"),o=r.get("range");return s.hasDiscreteDomain(A)&&u.isVgRangeStep(o)?"range-step":i.view[e]}return"width"===e&&"text"===t.mark()?i.scale.textXRangeStep:i.scale.rangeStep||s.defaultScaleConfig.rangeStep}Object.defineProperty(e,"__esModule",{value:!0});var s=n(11),u=n(38),g=n(39);e.parseLayerLayoutSize=i,e.parseRepeatLayoutSize=i,e.parseConcatLayoutSize=r,e.parseChildrenLayoutSize=A,e.parseUnitLayoutSize=a},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(24);n.d(e,"timeInterval",function(){return i.a});var r=n(776);n.d(e,"timeMillisecond",function(){return r.a}),n.d(e,"timeMilliseconds",function(){return r.b}),n.d(e,"utcMillisecond",function(){return r.a}),n.d(e,"utcMilliseconds",function(){return r.b});var A=n(777);n.d(e,"timeSecond",function(){return A.a}),n.d(e,"timeSeconds",function(){return A.b}),n.d(e,"utcSecond",function(){return A.a}),n.d(e,"utcSeconds",function(){return A.b});var o=n(778);n.d(e,"timeMinute",function(){return o.a}),n.d(e,"timeMinutes",function(){return o.b});var a=n(779);n.d(e,"timeHour",function(){return a.a}),n.d(e,"timeHours",function(){return a.b});var c=n(780);n.d(e,"timeDay",function(){return c.b}),n.d(e,"timeDays",function(){return c.a});var s=n(781);n.d(e,"timeWeek",function(){return s.g}),n.d(e,"timeWeeks",function(){return s.h}),n.d(e,"timeSunday",function(){return s.g}),n.d(e,"timeSundays",function(){return s.h}),n.d(e,"timeMonday",function(){return s.c}),n.d(e,"timeMondays",function(){return s.d}),n.d(e,"timeTuesday",function(){return s.k}),n.d(e,"timeTuesdays",function(){return s.l}),n.d(e,"timeWednesday",function(){return s.m}),n.d(e,"timeWednesdays",function(){return s.n}),n.d(e,"timeThursday",function(){return s.i}),n.d(e,"timeThursdays",function(){return s.j}),n.d(e,"timeFriday",function(){return s.a}),n.d(e,"timeFridays",function(){return s.b}),n.d(e,"timeSaturday",function(){return s.e}),n.d(e,"timeSaturdays",function(){return s.f});var u=n(782);n.d(e,"timeMonth",function(){return u.a}),n.d(e,"timeMonths",function(){return u.b});var g=n(783);n.d(e,"timeYear",function(){return g.a}),n.d(e,"timeYears",function(){return g.b});var l=n(784);n.d(e,"utcMinute",function(){return l.a}),n.d(e,"utcMinutes",function(){return l.b});var M=n(785);n.d(e,"utcHour",function(){return M.a}),n.d(e,"utcHours",function(){return M.b});var h=n(786);n.d(e,"utcDay",function(){return h.a}),n.d(e,"utcDays",function(){return h.b});var d=n(787);n.d(e,"utcWeek",function(){return d.g}),n.d(e,"utcWeeks",function(){return d.h}),n.d(e,"utcSunday",function(){return d.g}),n.d(e,"utcSundays",function(){return d.h}),n.d(e,"utcMonday",function(){return d.c}),n.d(e,"utcMondays",function(){return d.d}),n.d(e,"utcTuesday",function(){return d.k}),n.d(e,"utcTuesdays",function(){return d.l}),n.d(e,"utcWednesday",function(){return d.m}),n.d(e,"utcWednesdays",function(){return d.n}),n.d(e,"utcThursday",function(){return d.i}),n.d(e,"utcThursdays",function(){return d.j}),n.d(e,"utcFriday",function(){return d.a}),n.d(e,"utcFridays",function(){return d.b}),n.d(e,"utcSaturday",function(){return d.e}),n.d(e,"utcSaturdays",function(){return d.f});var f=n(788);n.d(e,"utcMonth",function(){return f.a}),n.d(e,"utcMonths",function(){return f.b});var I=n(789);n.d(e,"utcYear",function(){return I.a}),n.d(e,"utcYears",function(){return I.b})},function(t,e,n){"use strict";function i(t){var e=t||r.identity,n=[],i={};return n.add=function(t){var r=e(t);return i[r]||(i[r]=1,n.push(t)),n},n.remove=function(t){var r,A=e(t);return i[A]&&(i[A]=0,(r=n.indexOf(t))>=0&&n.splice(r,1)),n},n}e.a=i;var r=n(0)},function(t,e,n){"use strict";e.a=function(t){return null===t?NaN:+t}},function(t,e,n){"use strict";var i=n(72);n.d(e,"a",function(){return i.a});var r=(n(882),n(411));n.d(e,"b",function(){return r.a});var A=(n(413),n(412));n.d(e,"c",function(){return A.a});var o=(n(886),n(257),n(172),n(436),n(438),n(439),n(440),n(443),n(928),n(73));n.d(e,"d",function(){return o.a});var a=(n(166),n(75));n.d(e,"e",function(){return a.a});n(416),n(415),n(417),n(432),n(433),n(434),n(165),n(252),n(437),n(160),n(59),n(258),n(171),n(170),n(929),n(414),n(52)},function(t,e,n){"use strict";function i(t){return t>1?0:t<-1?M:Math.acos(t)}function r(t){return t>=1?h:t<=-1?-h:Math.asin(t)}n.d(e,"a",function(){return A}),n.d(e,"d",function(){return o}),n.d(e,"e",function(){return a}),n.d(e,"h",function(){return c}),n.d(e,"i",function(){return s}),n.d(e,"k",function(){return u}),n.d(e,"l",function(){return g}),n.d(e,"f",function(){return l}),n.d(e,"j",function(){return M}),n.d(e,"g",function(){return h}),n.d(e,"m",function(){return d}),e.b=i,e.c=r;var A=Math.abs,o=Math.atan2,a=Math.cos,c=Math.max,s=Math.min,u=Math.sin,g=Math.sqrt,l=1e-12,M=Math.PI,h=M/2,d=2*M},function(t,e,n){"use strict";e.a=function(t,e){if((r=t.length)>1)for(var n,i,r,A=1,o=t[e[0]],a=o.length;A<r;++A)for(i=o,o=t[e[A]],n=0;n<a;++n)o[n][1]+=o[n][0]=isNaN(i[n][1])?i[n][0]:i[n][1]}},function(t,e,n){"use strict";e.a=function(t){for(var e=t.length,n=new Array(e);--e>=0;)n[e]=e;return n}},function(t,e,n){"use strict";function i(t,e){var n;return Object(M.isObject)(e)&&(n=e.step,e=e.interval),Object(M.isString)(e)&&(e="time"===t.type?Object(l.g)(e):"utc"===t.type?Object(l.h)(e):Object(M.error)("Only time and utc scales accept interval strings."),n&&(e=e.every(n))),e}function r(t,e,n){var i=t.range(),r=i[0],A=Object(M.peek)(i);if(r>A&&(i=A,A=r,r=i),e=e.filter(function(e){return!((e=t(e))<r||e>A)}),n>0&&e.length>1){for(var o=[e[0],Object(M.peek)(e)];e.length>n&&e.length>=3;)e=e.filter(function(t,e){return!(e%2)});e.length<3&&(e=o)}return e}function A(t,e){return t.ticks?t.ticks(e):t.domain()}function o(t,e,n){var i=t.tickFormat?t.tickFormat(e,n):String;return t.type===g.e?a(i,c(n)):i}function a(t,e){return function(n){return t(n)?e(n):""}}function c(t){var e=Object(h.formatSpecifier)(t||",");if(null==e.precision){switch(e.precision=12,e.type){case"%":e.precision-=2;break;case"e":e.precision-=1}return s(Object(h.format)(e),Object(h.format)(".1f")(1)[1])}return Object(h.format)(e)}function s(t,e){return function(n){var i,r,A=t(n),o=A.indexOf(e);if(o<0)return A;for(i=u(A,o),r=i<A.length?A.slice(i):"";--i>o;)if("0"!==A[i]){++i;break}return A.slice(0,i)+r}}function u(t,e){var n,i=t.lastIndexOf("e");if(i>0)return i;for(i=t.length;--i>e;)if((n=t.charCodeAt(i))>=48&&n<=57)return i+1}e.a=i,e.d=r,e.c=A,e.b=o;var g=n(259),l=n(77),M=n(0),h=n(91)},function(t,e,n){"use strict";function i(t){var e=t.domain;return t.ticks=function(t){var n=e();return Object(A.ticks)(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){return Object(c.a)(e(),t,n)},t.nice=function(n){null==n&&(n=10);var i,r=e(),o=0,a=r.length-1,c=r[o],s=r[a];return s<c&&(i=c,c=s,s=i,i=o,o=a,a=i),i=Object(A.tickIncrement)(c,s,n),i>0?(c=Math.floor(c/i)*i,s=Math.ceil(s/i)*i,i=Object(A.tickIncrement)(c,s,n)):i<0&&(c=Math.ceil(c*i)/i,s=Math.floor(s*i)/i,i=Object(A.tickIncrement)(c,s,n)),i>0?(r[o]=Math.floor(c/i)*i,r[a]=Math.ceil(s/i)*i,e(r)):i<0&&(r[o]=Math.ceil(c*i)/i,r[a]=Math.floor(s*i)/i,e(r)),t},t}function r(){var t=Object(a.b)(a.c,o.interpolateNumber);return t.copy=function(){return Object(a.a)(t,r())},i(t)}e.b=i,e.a=r;var A=n(10),o=n(33),a=n(174),c=n(956)},function(t,e,n){"use strict";function i(t,e){return function(n){return t+n*e}}function r(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(i){return Math.pow(t+i*e,n)}}function A(t,e){var n=e-t;return n?i(t,n>180||n<-180?n-360*Math.round(n/360):n):Object(c.a)(isNaN(t)?e:t)}function o(t){return 1==(t=+t)?a:function(e,n){return n-e?r(e,n,t):Object(c.a)(isNaN(e)?n:e)}}function a(t,e){var n=e-t;return n?i(t,n):Object(c.a)(isNaN(t)?e:t)}e.c=A,e.b=o,e.a=a;var c=n(450)},function(t,e,n){"use strict";e.a=function(t){return t.match(/.{6}/g).map(function(t){return"#"+t})}},function(t,e,n){"use strict";function i(t){return[Object(u.e)(t[1],t[0]),Object(u.c)(t[2])]}function r(t){var e=t[0],n=t[1],i=Object(u.g)(n);return[i*Object(u.g)(e),i*Object(u.t)(e),Object(u.t)(n)]}function A(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function o(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function a(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function c(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function s(t){var e=Object(u.u)(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}e.g=i,e.a=r,e.d=A,e.c=o,e.b=a,e.f=c,e.e=s;var u=n(6)},function(t,e,n){"use strict";function i(t){return function(e,n){var i=Object(A.g)(e),r=Object(A.g)(n),o=t(i*r);return[o*r*Object(A.t)(e),o*Object(A.t)(n)]}}function r(t){return function(e,n){var i=Object(A.u)(e*e+n*n),r=t(i),o=Object(A.t)(r),a=Object(A.g)(r);return[Object(A.e)(e*o,i*a),Object(A.c)(i&&n*o/i)]}}e.b=i,e.a=r;var A=n(6)},function(t,e,n){"use strict";e.a=function(t){return function(){return t}}},function(t,e,n){"use strict";var i=n(1070);n.d(e,"a",function(){return i.a})},function(t,e,n){"use strict";e.a=function(t,e,n,i,r){for(var A,o=t.children,a=-1,c=o.length,s=t.value&&(i-e)/t.value;++a<c;)A=o[a],A.y0=n,A.y1=r,A.x0=e,A.x1=e+=A.value*s}},function(t,e,n){"use strict";function i(t,e,n){return(t[0]-n[0])*(e[1]-t[1])-(t[0]-e[0])*(n[1]-t[1])}function r(t,e){return e[1]-t[1]||e[0]-t[0]}function A(t,e){var n,i,A,d=t.sort(r).pop();for(s=[],a=new Array(t.length),o=new h.b,c=new h.b;;)if(A=l.c,d&&(!A||d[1]<A.y||d[1]===A.y&&d[0]<A.x))d[0]===n&&d[1]===i||(Object(u.a)(d),n=d[0],i=d[1]),d=t.pop();else{if(!A)break;Object(u.b)(A.arc)}if(Object(g.d)(),e){var f=+e[0][0],I=+e[0][1],E=+e[1][0],T=+e[1][1];Object(M.a)(f,I,E,T),Object(g.b)(f,I,E,T)}this.edges=s,this.cells=a,o=c=s=a=null}n.d(e,"f",function(){return d}),n.d(e,"g",function(){return f}),n.d(e,"a",function(){return o}),n.d(e,"b",function(){return a}),n.d(e,"c",function(){return c}),n.d(e,"e",function(){return s}),e.d=A;var o,a,c,s,u=n(1123),g=n(482),l=n(483),M=n(279),h=n(278),d=1e-6,f=1e-12;A.prototype={constructor:A,polygons:function(){var t=this.edges;return this.cells.map(function(e){var n=e.halfedges.map(function(n){return Object(g.a)(e,t[n])});return n.data=e.site.data,n})},triangles:function(){var t=[],e=this.edges;return this.cells.forEach(function(n,r){if(o=(A=n.halfedges).length)for(var A,o,a,c=n.site,s=-1,u=e[A[o-1]],g=u.left===c?u.right:u.left;++s<o;)a=g,u=e[A[s]],g=u.left===c?u.right:u.left,a&&g&&r<a.index&&r<g.index&&i(c,a,g)<0&&t.push([c.data,a.data,g.data])}),t},links:function(){return this.edges.filter(function(t){return t.right}).map(function(t){return{source:t.left.data,target:t.right.data}})},find:function(t,e,n){for(var i,r,A=this,o=A._found||0,a=A.cells.length;!(r=A.cells[o]);)if(++o>=a)return null;var c=t-r.site[0],s=e-r.site[1],u=c*c+s*s;do{r=A.cells[i=o],o=null,r.halfedges.forEach(function(n){var i=A.edges[n],a=i.left;if(a!==r.site&&a||(a=i.right)){var c=t-a[0],s=e-a[1],g=c*c+s*s;g<u&&(u=g,o=a.index)}})}while(null!==o);return A._found=i,null==n||u<=n*n?r.site:null}}},function(t,e,n){"use strict";function i(t,e,n,i,r){this.scope=t,this.input=e,this.output=n,this.values=i,this.aggregate=r,this.index={}}function r(t){return Object(s.isString)(t)?t:null}function A(t,e,n){var i,r=Object(a.c)(n.op,n.field);if(e.ops){for(var A=0,o=e.as.length;A<o;++A)if(e.as[A]===r)return}else e.ops=["count"],e.fields=[null],e.as=["count"];n.op&&(e.ops.push((i=n.op.signal)?t.signalRef(i):n.op),e.fields.push(t.fieldRef(n.field)),e.as.push(r))}function o(t,e,n,i,A,o,c){var s,u,g=e[n]||(e[n]={}),l=Object(a.l)(o),M=r(A);if(null!=M&&(t=e.scope,M+=l?"|"+l:"",s=g[M]),!s){var h=o?{field:a.h,pulse:e.countsRef(t,A,o)}:{field:t.fieldRef(A),pulse:Object(a.k)(e.output)};l&&(h.sort=t.sortRef(o)),u=t.add(Object(a.e)(i,void 0,h)),c&&(e.index[A]=u),s=Object(a.k)(u),null!=M&&(g[M]=s)}return s}e.a=i;var a=n(25),c=n(34),s=n(0);i.fromEntries=function(t,e){var n=e.length,r=1,A=e[0],o=e[n-1],c=e[n-2],s=null;for(t.add(e[0]);r<n;++r)e[r].params.pulse=Object(a.k)(e[r-1]),t.add(e[r]),"aggregate"===e[r].type&&(s=e[r]);return new i(t,A,c,o,s)};var u=i.prototype;u.countsRef=function(t,e,n){var i,o,s,u=this,g=u.counts||(u.counts={}),l=r(e);return null!=l&&(t=u.scope,i=g[l]),i?n&&n.field&&A(t,i.agg.params,n):(s={groupby:t.fieldRef(e,"key"),pulse:Object(a.k)(u.output)},n&&n.field&&A(t,s,n),o=t.add(Object(c.a)(s)),i=t.add(Object(c.d)({pulse:Object(a.k)(o)})),i={agg:o,ref:Object(a.k)(i)},null!=l&&(g[l]=i)),i.ref},u.tuplesRef=function(){return Object(a.k)(this.values)},u.extentRef=function(t,e){return o(t,this,"extent","extent",e,!1)},u.domainRef=function(t,e){return o(t,this,"domain","values",e,!1)},u.valuesRef=function(t,e,n){return o(t,this,"vals","values",e,n||!0)},u.lookupRef=function(t,e){return o(t,this,"lookup","tupleindex",e,!1)},u.indataRef=function(t,e){return o(t,this,"indata","tupleindex",e,!0,!0)}},function(t,e,n){"use strict";function i(t,e,n){";"!==e[e.length-1]&&(e="return("+e+");");var i=Function.apply(null,t.concat(e));return n&&n.functions?i.bind(n.functions):i}function r(t,e){return i(["_"],t,e)}function A(t,e){return i(["datum","_"],t,e)}function o(t,e){return i(["event"],t,e)}function a(t,e){return i(["_","event"],t,e)}function c(t,e){return i(["item","_"],t,e)}e.d=r,e.e=A,e.b=o,e.c=a,e.a=c},function(t,e,n){"use strict";e.a=function(t){return null===t?NaN:+t}},function(t,e,n){"use strict";function i(t){return[Object(u.e)(t[1],t[0]),Object(u.c)(t[2])]}function r(t){var e=t[0],n=t[1],i=Object(u.g)(n);return[i*Object(u.g)(e),i*Object(u.t)(e),Object(u.t)(n)]}function A(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function o(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function a(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function c(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function s(t){var e=Object(u.u)(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}e.g=i,e.a=r,e.d=A,e.c=o,e.b=a,e.f=c,e.e=s;var u=n(5)},function(t,e,n){"use strict";function i(t){return function(e,n){var i=Object(A.g)(e),r=Object(A.g)(n),o=t(i*r);return[o*r*Object(A.t)(e),o*Object(A.t)(n)]}}function r(t){return function(e,n){var i=Object(A.u)(e*e+n*n),r=t(i),o=Object(A.t)(r),a=Object(A.g)(r);return[Object(A.e)(e*o,i*a),Object(A.c)(i&&n*o/i)]}}e.b=i,e.a=r;var A=n(5)},function(t,e,n){"use strict";function i(t,e){return function(n){return t+n*e}}function r(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(i){return Math.pow(t+i*e,n)}}function A(t,e){var n=e-t;return n?i(t,n>180||n<-180?n-360*Math.round(n/360):n):Object(c.a)(isNaN(t)?e:t)}function o(t){return 1==(t=+t)?a:function(e,n){return n-e?r(e,n,t):Object(c.a)(isNaN(e)?n:e)}}function a(t,e){var n=e-t;return n?i(t,n):Object(c.a)(isNaN(t)?e:t)}e.c=A,e.b=o,e.a=a;var c=n(579)},function(t,e,n){"use strict";function i(t){var e=t.domain;return t.ticks=function(t){var n=e();return Object(A.B)(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){return Object(c.a)(e(),t,n)},t.nice=function(n){null==n&&(n=10);var i,r=e(),o=0,a=r.length-1,c=r[o],s=r[a];return s<c&&(i=c,c=s,s=i,i=o,o=a,a=i),i=Object(A.z)(c,s,n),i>0?(c=Math.floor(c/i)*i,s=Math.ceil(s/i)*i,i=Object(A.z)(c,s,n)):i<0&&(c=Math.ceil(c*i)/i,s=Math.floor(s*i)/i,i=Object(A.z)(c,s,n)),i>0?(r[o]=Math.floor(c/i)*i,r[a]=Math.ceil(s/i)*i,e(r)):i<0&&(r[o]=Math.ceil(c*i)/i,r[a]=Math.floor(s*i)/i,e(r)),t},t}function r(){var t=Object(a.b)(a.c,o.m);return t.copy=function(){return Object(a.a)(t,r())},i(t)}e.b=i,e.a=r;var A=n(35),o=n(47),a=n(205),c=n(1424)},function(t,e,n){"use strict";e.a=function(t){return t.match(/.{6}/g).map(function(t){return"#"+t})}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(327),r=function(){function t(t,e){this.id=t,this.distance=e}return t}(),A=function(){function t(t){this.id=t,this.neighbours=[]}return t}(),o=function(){function t(t,e,n){this.node=t,this.prev=e,this.d=n}return t}(),a=function(){function t(t,e,n,i,o){this.n=t,this.es=e,this.neighbours=new Array(this.n);for(var a=this.n;a--;)this.neighbours[a]=new A(a);for(a=this.es.length;a--;){var c=this.es[a],s=n(c),u=i(c),g=o(c);this.neighbours[s].neighbours.push(new r(u,g)),this.neighbours[u].neighbours.push(new r(s,g))}}return t.prototype.DistanceMatrix=function(){for(var t=new Array(this.n),e=0;e<this.n;++e)t[e]=this.dijkstraNeighbours(e);return t},t.prototype.DistancesFromNode=function(t){return this.dijkstraNeighbours(t)},t.prototype.PathFromNodeToNode=function(t,e){return this.dijkstraNeighbours(t,e)},t.prototype.PathFromNodeToNodeWithPrevCost=function(t,e,n){var r=new i.PriorityQueue(function(t,e){return t.d<=e.d}),A=this.neighbours[t],a=new o(A,null,0),c={};for(r.push(a);!r.empty()&&(a=r.pop(),A=a.node,A.id!==e);)for(var s=A.neighbours.length;s--;){var u=A.neighbours[s],g=this.neighbours[u.id];if(!a.prev||g.id!==a.prev.node.id){var l=g.id+","+A.id;if(!(l in c&&c[l]<=a.d)){var M=a.prev?n(a.prev.node.id,A.id,g.id):0,h=a.d+u.distance+M;c[l]=h,r.push(new o(g,a,h))}}}for(var d=[];a.prev;)a=a.prev,d.push(a.node.id);return d},t.prototype.dijkstraNeighbours=function(t,e){void 0===e&&(e=-1);for(var n=new i.PriorityQueue(function(t,e){return t.d<=e.d}),r=this.neighbours.length,A=new Array(r);r--;){var o=this.neighbours[r];o.d=r===t?0:Number.POSITIVE_INFINITY,o.q=n.push(o)}for(;!n.empty();){var a=n.pop();if(A[a.id]=a.d,a.id===e){for(var c=[],s=a;void 0!==s.prev;)c.push(s.prev.id),s=s.prev;return c}for(r=a.neighbours.length;r--;){var u=a.neighbours[r],s=this.neighbours[u.id],g=a.d+u.distance;a.d!==Number.MAX_VALUE&&s.d>g&&(s.d=g,s.prev=a,n.reduceKey(s.q,s,function(t,e){return t.q=e}))}}return A},t}();e.Calculator=a},function(t,e,n){"use strict";var i=n(347);e.a=function(t){function e(){o.push(u+t.substring(n,r)),u="",n=r+1}var n,r,A,o=[],a=null,c=0,s=t.length,u="";for(t+="",n=r=0;r<s;++r)if("\\"===(A=t[r]))u+=t.substring(n,r),n=++r;else if(A===a)e(),a=null,c=-1;else{if(a)continue;n===c&&'"'===A?(n=r+1,a=A):n===c&&"'"===A?(n=r+1,a=A):"."!==A||c?"["===A?(r>n&&e(),c=n=r+1):"]"===A&&(c||Object(i.a)("Access path missing open bracket: "+t),c>0&&e(),c=0,n=r+1):r>n?e():n=r+1}return c&&Object(i.a)("Access path missing closing bracket: "+t),a&&Object(i.a)("Access path missing closing quote: "+t),r>n&&(r++,e()),o}},function(t,e,n){"use strict";function i(t){return Object(r.a)(t)?"["+t.map(i)+"]":Object(A.a)(t)||Object(o.a)(t)?JSON.stringify(t).replace("\u2028","\\u2028").replace("\u2029","\\u2029"):t}e.a=i;var r=n(226),A=n(348),o=n(349)},function(t,e,n){"use strict";function i(t,e){u[t]=e}function r(t){delete u[t]}function A(t,e){var n=a.isMarkDef(t.mark)?t.mark.type:t.mark,i=u[n];if(i)return i(t,e);throw new Error("Unregistered composite mark "+n)}Object.defineProperty(e,"__esModule",{value:!0});var o=n(3),a=n(31),c=n(717),s=n(719),u={};e.add=i,e.remove=r,e.COMPOSITE_MARK_STYLES=c.BOXPLOT_STYLES,e.VL_ONLY_COMPOSITE_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX=o.__assign({},c.VL_ONLY_BOXPLOT_CONFIG_PROPERTY_INDEX),i(c.BOXPLOT,c.normalizeBoxPlot),i(s.ERRORBAR,s.normalizeErrorBar),e.normalize=A},function(t,e,n){"use strict";function i(t,e,n,i,g,l,M){if(A.isFacetSpec(t))return new a.FacetModel(t,e,n,g,l);if(A.isLayerSpec(t))return new c.LayerModel(t,e,n,i,g,l,M);if(A.isUnitSpec(t))return new u.UnitModel(t,e,n,i,g,l,M);if(A.isRepeatSpec(t))return new s.RepeatModel(t,e,n,g,l);if(A.isConcatSpec(t))return new o.ConcatModel(t,e,n,g,l);throw new Error(r.message.INVALID_SPEC)}Object.defineProperty(e,"__esModule",{value:!0});var r=n(4),A=n(113),o=n(727),a=n(753),c=n(754),s=n(758),u=n(376);e.buildModel=i},function(t,e,n){"use strict";function i(t,e){if(t.data||!t.parent){var n=new B.SourceNode(t.data),i=n.hash();return i in e?e[i]:(e[i]=n,n)}return t.parent.component.data.facetRoot?t.parent.component.data.facetRoot:t.parent.component.data.main}function r(t){function e(t){r?t.parent?i.insertAsParentOf(t):t.parent=i:r=t.parent||t,i=t}var n,i,r=null,A=0;return t.transforms.forEach(function(i){if(l.isCalculate(i))n=new E.CalculateNode(i);else if(l.isFilter(i)){var r={},o=i.filter,c=null;if(u.isEqualFilter(o)?c=o.equal:u.isRangeFilter(o)?c=o.range[0]:u.isOneOfFilter(o)&&(c=(o.oneOf||o.in)[0]),c&&(s.isDateTime(c)?r[o.field]="date":a.isNumber(c)?r[o.field]="number":a.isString(c)&&(r[o.field]="string")),M.keys(r).length>0){var h=new C.ParseNode(r);e(h)}n=new y.FilterNode(t,i.filter)}else if(l.isBin(i))n=I.BinNode.makeFromTransform(i,{model:t});else if(l.isTimeUnit(i))n=m.TimeUnitNode.makeFromTransform(i);else if(l.isSummarize(i))n=f.AggregateNode.makeFromTransform(i),d.requiresSelectionId(t)&&(e(n),n=new D.IdentifierNode);else{if(!l.isLookup(i))return void g.warn(g.message.invalidTransformIgnored(i));n=x.LookupNode.make(t,i,A++)}e(n)}),{first:r,last:n}}function A(t){var e=i(t,t.component.data.sources),n=t.component.data.outputNodes,A=t.component.data.outputNodeRefCounts,a=e;if(d.requiresSelectionId(t)&&!t.parent){var s=new D.IdentifierNode;s.parent=a,a=s}var u=t.parent&&h.isLayerModel(t.parent);if((h.isUnitModel(t)||h.isFacetModel(t))&&u){var g=I.BinNode.makeBinFromEncoding(t);g&&(g.parent=a,a=g)}if(t.transforms.length>0){var l=r(t),M=l.first,E=l.last;M.parent=a,a=E}var y=C.ParseNode.make(t);if(y&&(y.parent=a,a=y),h.isUnitModel(t)||h.isFacetModel(t)){if(!u){var g=I.BinNode.makeBinFromEncoding(t);g&&(g.parent=a,a=g)}var x=m.TimeUnitNode.makeFromEncoding(t);x&&(x.parent=a,a=x)}var B=t.getName(c.RAW),Q=new T.OutputNode(B,c.RAW,A);if(n[B]=Q,Q.parent=a,a=Q,h.isUnitModel(t)){var v=f.AggregateNode.makeFromEncoding(t);if(v&&(v.parent=a,a=v,d.requiresSelectionId(t))){var s=new D.IdentifierNode;s.parent=a,a=s}var j=w.StackNode.make(t);j&&(j.parent=a,a=j)}if(h.isUnitModel(t)){var L=p.FilterInvalidNode.make(t);L&&(L.parent=a,a=L)}var S=t.getName(c.MAIN),Y=new T.OutputNode(S,c.MAIN,A);n[S]=Y,Y.parent=a,a=Y;var b=null;if(h.isFacetModel(t)){var O=t.getName("facet");b=new N.FacetNode(t,O,Y.getSource()),n[O]=b,b.parent=a,a=b}var z=o.__assign({},t.component.data.ancestorParse,y?y.parse:{});return o.__assign({},t.component.data,{outputNodes:n,outputNodeRefCounts:A,raw:Q,main:Y,facetRoot:b,ancestorParse:z})}Object.defineProperty(e,"__esModule",{value:!0});var o=n(3),a=n(0),c=n(67),s=n(66),u=n(147),g=n(4),l=n(149),M=n(2),h=n(18),d=n(21),f=n(233),I=n(367),E=n(368),T=n(22),N=n(234),y=n(369),p=n(235),C=n(236),D=n(370),x=n(371),B=n(153),w=n(237),m=n(154);e.parseTransformArray=r,e.parseData=A},function(t,e,n){"use strict";function i(t){return t&&t.selection}function r(t){return t&&!!t.field&&void 0!==t.equal}function A(t){return!!(t&&t.field&&I.isArray(t.range)&&2===t.range.length)}function o(t){return t&&!!t.field&&(I.isArray(t.oneOf)||I.isArray(t.in))}function a(t){return o(t)||r(t)||A(t)}function c(t,e,n){return I.logicalExpr(e,function(e){return I.isString(e)?e:i(e)?M.predicate(t,e.selection,n):s(e)})}function s(t,e){void 0===e&&(e=!0);var n=t.timeUnit?"time("+f.fieldExpr(t.timeUnit,t.field)+")":d.field(t,{expr:"datum"});if(r(t))return n+"==="+u(t.equal,t.timeUnit);if(o(t)){return"indexof(["+(t.oneOf||t.in).map(function(e){return u(e,t.timeUnit)}).join(",")+"], "+n+") !== -1"}if(A(t)){var i=t.range[0],a=t.range[1];if(null!==i&&null!==a&&e)return"inrange("+n+", ["+u(i,t.timeUnit)+", "+u(a,t.timeUnit)+"])";var c=[];return null!==i&&c.push(n+" >= "+u(i,t.timeUnit)),null!==a&&c.push(n+" <= "+u(a,t.timeUnit)),c.length>0?c.join(" && "):"true"}throw new Error("Invalid field filter: "+JSON.stringify(t))}function u(t,e){if(h.isDateTime(t)){var n=h.dateTimeExpr(t,!0);return"time("+n+")"}if(f.isLocalSingleTimeUnit(e)){var i={};i[e]=t;var n=h.dateTimeExpr(i,!0);return"time("+n+")"}return f.isUtcSingleTimeUnit(e)?u(t,f.getLocalTimeUnit(e)):JSON.stringify(t)}function g(t){return a(t)&&t.timeUnit?l.__assign({},t,{timeUnit:f.normalizeTimeUnit(t.timeUnit)}):t}Object.defineProperty(e,"__esModule",{value:!0});var l=n(3),M=n(21),h=n(66),d=n(9),f=n(112),I=n(2);e.isSelectionFilter=i,e.isEqualFilter=r,e.isRangeFilter=A,e.isOneOfFilter=o,e.isFieldFilter=a,e.expression=c,e.fieldFilterExpression=s,e.normalizeFilter=g},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(728);n.d(e,"selector",function(){return i.a})},function(t,e,n){"use strict";function i(t){return void 0!==t.filter}function r(t){return void 0!==t.lookup}function A(t){return void 0!==t.calculate}function o(t){return!!t.bin}function a(t){return void 0!==t.timeUnit}function c(t){return void 0!==t.summarize}function s(t){return t.map(function(t){return i(t)?{filter:g.normalizeLogicalOperand(t.filter,u.normalizeFilter)}:t})}Object.defineProperty(e,"__esModule",{value:!0});var u=n(147),g=n(229);e.isFilter=i,e.isLookup=r,e.isCalculate=A,e.isBin=o,e.isTimeUnit=a,e.isSummarize=c,e.normalizeTransform=s},function(t,e,n){"use strict";function i(t){return[].concat(r(t,"width"),r(t,"height"))}function r(t,e){var n="width"===e?"x":"y",i=t.component.layoutSize.get(e);if(!i||"merged"===i)return[];var r=t.getSizeSignalRef(e).signal;if("range-step"===i){var u=t.getScaleComponent(n);if(u){var g=u.get("type"),l=u.get("range");if(a.hasDiscreteDomain(g)&&c.isVgRangeStep(l)){var M=t.scaleName(n);if(s.isFacetModel(t.parent)){if("independent"===t.parent.component.resolve.scale[n])return[A(M,l)]}return[A(M,l),{name:r,update:o(M,u,"domain('"+M+"').length")}]}}throw new Error("layout size is range step although there is no rangeStep.")}return[{name:r,value:i}]}function A(t,e){return{name:t+"_step",value:e.step}}function o(t,e,n){var i=e.get("type"),r=e.get("padding"),A=e.get("paddingOuter");A=void 0!==A?A:r;var o=e.get("paddingInner");return o="band"===i?void 0!==o?o:r:1,"bandspace("+n+", "+o+", "+A+") * "+t+"_step"}Object.defineProperty(e,"__esModule",{value:!0});var a=n(11),c=n(38),s=n(18);e.assembleLayoutSignals=i,e.sizeSignals=r,e.sizeExpr=o},function(t,e,n){"use strict";function i(t,e){if(c.isLayerModel(e)||c.isFacetModel(e))return"shared";if(c.isConcatModel(e)||c.isRepeatModel(e))return a.contains(A.POSITION_SCALE_CHANNELS,t)?"independent":"shared";throw new Error("invalid model type for resolve")}function r(t,e){var n=t.scale[e],i=a.contains(A.POSITION_SCALE_CHANNELS,e)?"axis":"legend";return"independent"===n?("shared"===t[i][e]&&o.warn(o.message.independentScaleMeansIndependentGuide(e)),"independent"):t[i][e]||"shared"}Object.defineProperty(e,"__esModule",{value:!0});var A=n(7),o=n(4),a=n(2),c=n(18);e.defaultScaleResolve=i,e.parseGuideResolve=r},function(t,e,n){"use strict";function i(t){return!(!t||"count"!==t.op&&!t.field||!t.op)}Object.defineProperty(e,"__esModule",{value:!0}),e.isSortField=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(67),A=n(2),o=n(22),a=0,c=function(t){function e(e){var n=t.call(this)||this;if(n._id=a++,e=e||{name:"source"},r.isInlineData(e))n._data={values:e.values};else if(r.isUrlData(e)){if(n._data={url:e.url},e.format||(e.format={}),!e.format||!e.format.type){var o=/(?:\.([^.]+))?$/.exec(e.url)[1];A.contains(["json","csv","tsv","topojson"],o)||(o="json"),e.format.type=o}}else r.isNamedData(e)&&(n._name=e.name,n._data={});if(!r.isNamedData(e)&&e.format){var c=e.format,s=(c.parse,i.__rest(c,["parse"]));n._data.format=s}return n}return i.__extends(e,t),Object.defineProperty(e.prototype,"data",{get:function(){return this._data},enumerable:!0,configurable:!0}),e.prototype.hasName=function(){return!!this._name},Object.defineProperty(e.prototype,"dataName",{get:function(){return this._name},set:function(t){this._name=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parent",{set:function(t){throw new Error("Source nodes have to be roots.")},enumerable:!0,configurable:!0}),e.prototype.remove=function(){throw new Error("Source nodes are roots and cannot be removed.")},e.prototype.hash=function(){return r.isInlineData(this._data)?this._data.values.length>1e3?A.hash([this._data.format,this._id]):A.hash(this._data):r.isUrlData(this._data)?A.hash([this._data.url,this._data.format]):this._name},e.prototype.assemble=function(){return i.__assign({name:this._name},this._data,{transform:[]})},e}(o.DataFlowNode);e.SourceNode=c},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(9),A=n(112),o=n(2),a=n(22),c=function(t){function e(e){var n=t.call(this)||this;return n.formula=e,n}return i.__extends(e,t),e.prototype.clone=function(){return new e(o.duplicate(this.formula))},e.makeFromEncoding=function(t){var n=t.reduceFieldDef(function(t,e){if(e.timeUnit){var n=r.field(e);t[n]={as:n,timeUnit:e.timeUnit,field:e.field}}return t},{});return 0===o.keys(n).length?null:new e(n)},e.makeFromTransform=function(t){return new e((n={},n[t.field]={as:t.as,timeUnit:t.timeUnit,field:t.field},n));var n},e.prototype.merge=function(t){this.formula=i.__assign({},this.formula,t.formula),t.remove()},e.prototype.producedFields=function(){var t={};return o.vals(this.formula).forEach(function(e){t[e.as]=!0}),t},e.prototype.dependentFields=function(){var t={};return o.vals(this.formula).forEach(function(e){t[e.field]=!0}),t},e.prototype.assemble=function(){return o.vals(this.formula).map(function(t){return{type:"formula",as:t.as,expr:A.fieldExpr(t.timeUnit,t.field)}})},e}(a.DataFlowNode);e.TimeUnitNode=c},function(t,e,n){"use strict";function i(t,e){return"domain("+o.stringValue(t.scaleName(e))+")"}Object.defineProperty(e,"__esModule",{value:!0});var r=n(4),A=n(11),o=n(2),a=n(21),c={has:function(t){return"interval"===t.type&&"global"===t.resolve&&t.bind&&"scales"===t.bind},parse:function(t,e,n){var i=n.scales=[];n.project.forEach(function(e){var o=e.channel,c=t.getScaleComponent(o),s=c?c.get("type"):void 0;if(!c||!A.hasContinuousDomain(s)||A.isBinScale(s))return void r.warn(r.message.SCALE_BINDINGS_CONTINUOUS);c.set("domainRaw",{signal:a.channelSignalName(n,o,"data")},!0),i.push(o)})},topLevelSignals:function(t,e,n){if(!t.parent)return n;var i=e.scales.filter(function(t){return!n.filter(function(n){return n.name===a.channelSignalName(e,t,"data")}).length});return n.concat(i.map(function(t){return{name:a.channelSignalName(e,t,"data")}}))},signals:function(t,e,n){return t.parent&&e.scales.forEach(function(t){var i=n.filter(function(n){return n.name===a.channelSignalName(e,t,"data")})[0];i.push="outer",delete i.value,delete i.update}),n}};e.default=c,e.domain=i},function(t,e,n){"use strict";var i=n(240);e.a=function(t){return t=Object(i.a)(Math.abs(t)),t?t[1]:NaN}},function(t,e,n){"use strict";function i(t,e,n,i){this.id=++c,this.value=t,this.stamp=-1,this.rank=-1,this.qrank=-1,this.flags=0,e&&(this._update=e),n&&this.parameters(n,i)}function r(t){return function(e){var n=this.flags;return 0===arguments.length?!!(n&t):(this.flags=e?n|t:n&~t,this)}}e.a=i;var A=n(383),o=n(117),a=n(0),c=0,s=new A.a,u=i.prototype;u.targets=function(){return this._targets||(this._targets=Object(o.a)(a.id))},u.set=function(t){return this.value!==t?(this.value=t,1):0},u.skip=r(1),u.modified=r(2),u.parameters=function(t,e){function n(t,n,r){r instanceof i?(r!==u&&(e&&r.targets().add(u),M.push(r)),l.push({op:r,name:t,index:n})):g.set(t,n,r)}e=!1!==e;var r,o,c,s,u=this,g=u._argval=u._argval||new A.a,l=u._argops=u._argops||[],M=[];for(r in t)if(o=t[r],"pulse"===r)Object(a.array)(o).forEach(function(t){t instanceof i?t!==u&&(t.targets().add(u),M.push(t)):Object(a.error)("Pulse parameters must be operator instances.")}),u.source=o;else if(Object(a.isArray)(o))for(g.set(r,-1,Array(c=o.length)),s=0;s<c;++s)n(r,s,o[s]);else n(r,-1,o);return this.marshall().clear(),M},u.marshall=function(t){var e,n,i,r,A,o=this._argval||s,a=this._argops;if(a&&(i=a.length))for(n=0;n<i;++n)e=a[n],r=e.op,A=r.modified()&&r.stamp===t,o.set(e.name,e.index,r.value,A);return o},u.evaluate=function(t){if(this._update){var e=this.marshall(t.stamp),n=this._update(e,t);if(e.clear(),n!==this.value)this.value=n;else if(!this.modified())return t.StopPropagation}},u.run=function(t){if(t.stamp<=this.stamp)return t.StopPropagation;var e;return this.skip()?(this.skip(!1),e=0):e=this.evaluate(t),this.stamp=t.stamp,this.pulse=e,e||t}},function(t,e,n){"use strict";function i(t,e,n){this.dataflow=t,this.stamp=null==e?-1:e,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=n||null}function r(t,e){return t?function(n,i){return t(n,i)&&e(n,i)}:e}function A(t,e){var n=[];return Object(c.visitArray)(t,e,function(t){n.push(t)}),n}function o(t,e){var n={};return t.visit(e,function(t){n[Object(a.f)(t)]=1}),function(t){return n[Object(a.f)(t)]?null:t}}n.d(e,"a",function(){return s}),e.b=i;var a=n(243),c=n(0),s={},u=i.prototype;u.StopPropagation=s,u.ADD=1,u.REM=2,u.MOD=4,u.ADD_REM=3,u.ADD_MOD=5,u.ALL=7,u.REFLOW=8,u.SOURCE=16,u.NO_SOURCE=32,u.NO_FIELDS=64,u.fork=function(t){return new i(this.dataflow).init(this,t)},u.addAll=function(){var t=this;return this.source&&this.source.length!==this.add.length?(t=new i(this.dataflow).init(this),t.add=t.source,t):t},u.init=function(t,e){var n=this;return n.stamp=t.stamp,n.encode=t.encode,!t.fields||64&e||(n.fields=t.fields),1&e?(n.addF=t.addF,n.add=t.add):(n.addF=null,n.add=[]),2&e?(n.remF=t.remF,n.rem=t.rem):(n.remF=null,n.rem=[]),4&e?(n.modF=t.modF,n.mod=t.mod):(n.modF=null,n.mod=[]),32&e?(n.srcF=null,n.source=null):(n.srcF=t.srcF,n.source=t.source),n},u.runAfter=function(t){this.dataflow.runAfter(t)},u.changed=function(t){var e=t||7;return 1&e&&this.add.length||2&e&&this.rem.length||4&e&&this.mod.length},u.reflow=function(t){if(t)return this.fork(7).reflow();var e=this.add.length,n=this.source&&this.source.length;return n&&n!==e&&(this.mod=this.source,e&&this.filter(4,o(this,1))),this},u.modifies=function(t){var e=Object(c.array)(t),n=this.fields||(this.fields={});return e.forEach(function(t){n[t]=!0}),this},u.modified=function(t){var e=this.fields;return!(!this.mod.length||!e)&&(arguments.length?Object(c.isArray)(t)?t.some(function(t){return e[t]}):e[t]:!!e)},u.filter=function(t,e){var n=this;return 1&t&&(n.addF=r(n.addF,e)),2&t&&(n.remF=r(n.remF,e)),4&t&&(n.modF=r(n.modF,e)),16&t&&(n.srcF=r(n.srcF,e)),n},u.materialize=function(t){t=t||7;var e=this;return 1&t&&e.addF&&(e.add=A(e.add,e.addF),e.addF=null),2&t&&e.remF&&(e.rem=A(e.rem,e.remF),e.remF=null),4&t&&e.modF&&(e.mod=A(e.mod,e.modF),e.modF=null),16&t&&e.srcF&&(e.source=e.source.filter(e.srcF),e.srcF=null),e},u.visit=function(t,e){var n,i,r=this,A=e;return 16&t?(Object(c.visitArray)(r.source,r.srcF,A),r):(1&t&&Object(c.visitArray)(r.add,r.addF,A),2&t&&Object(c.visitArray)(r.rem,r.remF,A),4&t&&Object(c.visitArray)(r.mod,r.modF,A),8&t&&(n=r.source)&&((i=r.add.length+r.mod.length)===n.length||(i?Object(c.visitArray)(n,o(r,5),A):Object(c.visitArray)(n,r.srcF,A))),r)}},function(t,e,n){"use strict";function i(t,e,n){return n||t+(e?"_"+e:"")}function r(t,e){return u[t](e)}function A(t){return function(e){var n=Object(s.extend)({init:"",add:"",rem:"",idx:0},t);return n.out=e||t.name,n}}function o(t,e){return t.idx-e.idx}function a(t,e){function n(t,i){function r(e){t[e]||n(t,t[e]=u[e]())}return i.req&&i.req.forEach(r),e&&i.str&&i.str.forEach(r),t}var i,r=t.reduce(n,t.reduce(function(t,e){return t[e.name]=e,t},{})),A=[];for(i in r)A.push(r[i]);return A.sort(o)}function c(t,e){var n=e||s.identity,i=a(t,!0),r="var cell = this.cell; this.valid = 0; this.missing = 0;",A="this.cell = cell; this.init();",c="if(v==null){++this.missing; return;} if(v!==v) return; ++this.valid;",u="if(v==null){--this.missing; return;} if(v!==v) return; --this.valid;",g="var cell = this.cell;";return i.forEach(function(t){r+=t.init,c+=t.add,u+=t.rem}),t.slice().sort(o).forEach(function(t){g+="t['"+t.out+"']="+t.set+";"}),g+="return t;",A=Function("cell",A),A.prototype.init=Function(r),A.prototype.add=Function("v","t",c),A.prototype.rem=Function("v","t",u),A.prototype.set=Function("t",g),A.prototype.get=n,A.fields=t.map(function(t){return t.out}),A}e.d=i,n.d(e,"a",function(){return g}),e.c=r,e.b=c;var s=n(0),u={values:A({name:"values",init:"cell.store = true;",set:"cell.data.values()",idx:-1}),count:A({name:"count",set:"cell.num"}),missing:A({name:"missing",set:"this.missing"}),valid:A({name:"valid",set:"this.valid"}),sum:A({name:"sum",init:"this.sum = 0;",add:"this.sum += v;",rem:"this.sum -= v;",set:"this.sum"}),mean:A({name:"mean",init:"this.mean = 0;",add:"var d = v - this.mean; this.mean += d / this.valid;",rem:"var d = v - this.mean; this.mean -= this.valid ? d / this.valid : this.mean;",set:"this.mean"}),average:A({name:"average",set:"this.mean",req:["mean"],idx:1}),variance:A({name:"variance",init:"this.dev = 0;",add:"this.dev += d * (v - this.mean);",rem:"this.dev -= d * (v - this.mean);",set:"this.valid > 1 ? this.dev / (this.valid-1) : 0",req:["mean"],idx:1}),variancep:A({name:"variancep",set:"this.valid > 1 ? this.dev / this.valid : 0",req:["variance"],idx:2}),stdev:A({name:"stdev",set:"this.valid > 1 ? Math.sqrt(this.dev / (this.valid-1)) : 0",req:["variance"],idx:2}),stdevp:A({name:"stdevp",set:"this.valid > 1 ? Math.sqrt(this.dev / this.valid) : 0",req:["variance"],idx:2}),stderr:A({name:"stderr",set:"this.valid > 1 ? Math.sqrt(this.dev / (this.valid * (this.valid-1))) : 0",req:["variance"],idx:2}),distinct:A({name:"distinct",set:"cell.data.distinct(this.get)",req:["values"],idx:3}),ci0:A({name:"ci0",set:"cell.data.ci0(this.get)",req:["values"],idx:3}),ci1:A({name:"ci1",set:"cell.data.ci1(this.get)",req:["values"],idx:3}),median:A({name:"median",set:"cell.data.q2(this.get)",req:["values"],idx:3}),q1:A({name:"q1",set:"cell.data.q1(this.get)",req:["values"],idx:3}),q3:A({name:"q3",set:"cell.data.q3(this.get)",req:["values"],idx:3}),argmin:A({name:"argmin",init:"this.argmin = null;",add:"if (v < this.min) this.argmin = t;",rem:"if (v <= this.min) this.argmin = null;",set:"this.argmin || cell.data.argmin(this.get)",req:["min"],str:["values"],idx:3}),argmax:A({name:"argmax",init:"this.argmax = null;",add:"if (v > this.max) this.argmax = t;",rem:"if (v >= this.max) this.argmax = null;",set:"this.argmax || cell.data.argmax(this.get)",req:["max"],str:["values"],idx:3}),min:A({name:"min",init:"this.min = null;",add:"if (v < this.min || this.min === null) this.min = v;",rem:"if (v <= this.min) this.min = NaN;",set:"this.min = (isNaN(this.min) ? cell.data.min(this.get) : this.min)",str:["values"],idx:4}),max:A({name:"max",init:"this.max = null;",add:"if (v > this.max || this.max === null) this.max = v;",rem:"if (v >= this.max) this.max = NaN;",set:"this.max = (isNaN(this.max) ? cell.data.max(this.get) : this.max)",str:["values"],idx:4})},g=Object.keys(u)},function(t,e,n){"use strict";n.d(e,"a",function(){return i});var i,r=n(59);try{i=n(884)}catch(t){try{i=n(885)}catch(t){i=null}}e.b=function(t,e){var n=Object(r.d)(null,"canvas");if(n&&n.getContext)n.width=t,n.height=e;else if(i)try{n=new i(t,e)}catch(t){n=null}return n}},function(t,e,n){"use strict";function i(t){this._context=t}i.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}},e.a=function(t){return new i(t)}},function(t,e,n){"use strict";e.a=function(){}},function(t,e,n){"use strict";function i(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function r(t){this._context=t}e.c=i,e.a=r,r.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:i(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:i(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},e.b=function(t){return new r(t)}},function(t,e,n){"use strict";function i(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function r(t,e){this._context=t,this._k=(1-e)/6}e.c=i,e.a=r,r.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:i(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:i(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}},e.b=function t(e){function n(t){return new r(t,e)}return n.tension=function(e){return t(+e)},n}(0)},function(t,e,n){"use strict";var i={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},r=[/([MLHVCSQTAZmlhvcsqtaz])/g,/###/,/(\d)([-+])/g,/\s|,|###/];e.a=function(t){var e,n,A,o,a,c,s,u,g,l,M,h=[];for(e=t.slice().replace(r[0],"###$1").split(r[1]).slice(1),u=0,l=e.length;u<l;++u){for(n=e[u],A=n.slice(1).trim().replace(r[2],"$1###$2").split(r[3]),c=n.charAt(0),o=[c],g=0,M=A.length;g<M;++g)(a=+A[g])===a&&o.push(a);if(s=i[c.toLowerCase()],o.length-1>s)for(g=1,M=o.length;g<M;g+=s)h.push([c].concat(o.slice(g,g+s)));else h.push(o)}return h}},function(t,e,n){"use strict";function i(t){return o=t,i}function r(){}function A(t,e){o.add(t,e)}e.a=i;var o,a=2*Math.PI,c=a/4,s=a-1e-8;i.beginPath=r,i.closePath=r,i.moveTo=A,i.lineTo=A,i.rect=function(t,e,n,i){A(t,e),A(t+n,e+i)},i.quadraticCurveTo=function(t,e,n,i){A(t,e),A(n,i)},i.bezierCurveTo=function(t,e,n,i,r,o){A(t,e),A(n,i),A(r,o)},i.arc=function(t,e,n,i,r,o){function u(t){M=n*Math.cos(t),h=n*Math.sin(t),M<d&&(d=M),M>f&&(f=M),h<I&&(I=h),h>E&&(E=h)}if(Math.abs(r-i)>s)return A(t-n,e-n),void A(t+n,e+n);var g,l,M,h,d=1/0,f=-1/0,I=1/0,E=-1/0;if(u(i),u(r),r!==i)if(i%=a,i<0&&(i+=a),r%=a,r<0&&(r+=a),r<i&&(o=!o,g=i,i=r,r=g),o)for(r-=a,g=i-i%c,l=0;l<3&&g>r;++l,g-=c)u(g);else for(g=i-i%c+c,l=0;l<3&&g<r;++l,g+=c)u(g);A(t+d,e+I),A(t+f,e+E)}},function(t,e,n){"use strict";function i(t){return function(e,n,i){Object(c.b)(n,function(n){i&&!i.intersects(n.bounds)||A(t,e,n,n)})}}function r(t){return function(e,n,i){!n.items.length||i&&!i.intersects(n.bounds)||A(t,e,n.items[0],n.items)}}function A(t,e,n,i){var r=null==n.opacity?1:n.opacity;0!==r&&(t(e,i)||(n.fill&&Object(o.a)(e,n,r)&&e.fill(),n.stroke&&Object(a.a)(e,n,r)&&e.stroke()))}e.a=i,e.b=r;var o=n(254),a=n(168),c=n(52)},function(t,e,n){"use strict";var i=n(435),r=[];e.a=function(t,e,n){var A=null!=(A=e.strokeWidth)?A:1;return!(A<=0)&&((n*=null==e.strokeOpacity?1:e.strokeOpacity)>0&&(t.globalAlpha=n,t.strokeStyle=Object(i.a)(t,e,e.stroke),t.lineWidth=A,t.lineCap=e.strokeCap||"butt",t.lineJoin=e.strokeJoin||"miter",t.miterLimit=e.strokeMiterLimit||10,t.setLineDash&&(t.setLineDash(e.strokeDash||r),t.lineDashOffset=e.strokeDashOffset||0),!0))}},function(t,e,n){"use strict";var i=n(255);e.a=function(t){return Object(i.a)(t.x||0,t.y||0)}},function(t,e,n){"use strict";var i=1;e.a=function(t,e,n){var r=t._defs,A=e.clip_id||(e.clip_id="clip"+i++),o=r.clipping[A]||(r.clipping[A]={id:A});return o.width=n.width||0,o.height=n.height||0,"url(#"+A+")"}},function(t,e,n){"use strict";function i(t){return h=a(t),r(s(t))}function r(t){return~~(.8*t.length*h)}function A(t){return M.font=g(t),o(s(t))}function o(t){return M.measureText(t).width}function a(t){return null!=t.fontSize?t.fontSize:11}function c(t){M=t&&(M=Object(d.b)(1,1))?M.getContext("2d"):null,f.width=M?A:i}function s(t){var e=t.text;return null==e?"":t.limit>0?u(t):e+""}function u(t){var e,n=+t.limit,i=t.text+"";if(M?(M.font=g(t),e=o):(h=a(t),e=r),e(i)<n)return i;var A,c=t.ellipsis||"…",s="rtl"===t.dir,u=0,l=i.length;if(n-=e(c),s){for(;u<l;)A=u+l>>>1,e(i.slice(A))>n?u=A+1:l=A;return c+i.slice(u)}for(;u<l;)A=1+(u+l>>>1),e(i.slice(0,A))<n?u=A:l=A-1;return i.slice(0,u)+c}function g(t,e){var n=t.font;return e&&n&&(n=String(n).replace(/"/g,"'")),(t.fontStyle?t.fontStyle+" ":"")+(t.fontVariant?t.fontVariant+" ":"")+(t.fontWeight?t.fontWeight+" ":"")+a(t)+"px "+(n||"sans-serif")}function l(t){var e=t.baseline,n=a(t);return Math.round("top"===e?.93*n:"middle"===e?.3*n:"bottom"===e?-.21*n:0)}n.d(e,"c",function(){return f}),e.d=s,e.a=g,e.b=l;var M,h,d=n(160),f={height:a,measureWidth:A,estimateWidth:i,width:i,canvas:c};c(!0)},function(t,e,n){"use strict";function i(t){this._el=null,this._bgcolor=null,this._loader=new r.a(t)}e.a=i;var r=n(413),A=i.prototype;A.initialize=function(t,e,n,i){return this._el=t,this.resize(e,n,i)},A.element=function(){return this._el},A.scene=function(){return this._el&&this._el.firstChild},A.background=function(t){return 0===arguments.length?this._bgcolor:(this._bgcolor=t,this)},A.resize=function(t,e,n){return this._width=t,this._height=e,this._origin=n||[0,0],this},A.dirty=function(){},A.render=function(t){var e=this;return e._call=function(){e._render(t)},e._call(),e._call=null,e},A._render=function(){},A.renderAsync=function(t){var e=this.render(t);return this._ready?this._ready.then(function(){return e}):Promise.resolve(e)},A._load=function(t,e){var n=this,i=n._loader[t](e);if(!n._ready){var r=n._call;n._ready=n._loader.ready().then(function(t){t&&r(),n._ready=null})}return i},A.sanitizeURL=function(t){return this._load("sanitizeURL",t)},A.loadImage=function(t){return this._load("loadImage",t)}},function(t,e,n){"use strict";e.a=function(t,e){return t=+t,e-=t,function(n){return t+e*n}}},function(t,e,n){"use strict";function i(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:Object(M.a)(e)}function r(t){return function(e,n){var i=t(e=+e,n=+n);return function(t){return t<=e?0:t>=n?1:i(t)}}}function A(t){return function(e,n){var i=t(e=+e,n=+n);return function(t){return t<=0?e:t>=1?n:i(t)}}}function o(t,e,n,i){var r=t[0],A=t[1],o=e[0],a=e[1];return A<r?(r=n(A,r),o=i(a,o)):(r=n(r,A),o=i(o,a)),function(t){return o(r(t))}}function a(t,e,n,i){var r=Math.min(t.length,e.length)-1,A=new Array(r),o=new Array(r),a=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++a<r;)A[a]=n(t[a],t[a+1]),o[a]=i(e[a],e[a+1]);return function(e){var n=Object(u.bisect)(t,e,1,r)-1;return o[n](A[n](e))}}function c(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp())}function s(t,e){function n(){return s=Math.min(f.length,I.length)>2?a:o,u=M=null,c}function c(e){return(u||(u=s(f,I,T?r(t):t,E)))(+e)}var s,u,M,f=d,I=d,E=g.interpolate,T=!1;return c.invert=function(t){return(M||(M=s(I,f,i,T?A(e):e)))(+t)},c.domain=function(t){return arguments.length?(f=l.a.call(t,h.a),n()):f.slice()},c.range=function(t){return arguments.length?(I=l.b.call(t),n()):I.slice()},c.rangeRound=function(t){return I=l.b.call(t),E=g.interpolateRound,n()},c.clamp=function(t){return arguments.length?(T=!!t,n()):T},c.interpolate=function(t){return arguments.length?(E=t,n()):E},n()}e.c=i,e.a=c,e.b=s;var u=n(10),g=n(33),l=n(78),M=n(264),h=n(455),d=[0,1]},function(t,e,n){"use strict";var i=n(1033);n.d(e,"b",function(){return i.b}),n.d(e,"c",function(){return i.c}),n.d(e,"a",function(){return i.a})},function(t,e,n){"use strict";function i(t,e){return[t>s.o?t-s.w:t<-s.o?t+s.w:t,e]}function r(t,e,n){return(t%=s.w)?e||n?Object(c.a)(o(t),a(e,n)):o(t):e||n?a(e,n):i}function A(t){return function(e,n){return e+=t,[e>s.o?e-s.w:e<-s.o?e+s.w:e,n]}}function o(t){var e=A(t);return e.invert=A(-t),e}function a(t,e){function n(t,e){var n=Object(s.g)(e),a=Object(s.g)(t)*n,c=Object(s.t)(t)*n,u=Object(s.t)(e),g=u*i+a*r;return[Object(s.e)(c*A-g*o,a*i-u*r),Object(s.c)(g*A+c*o)]}var i=Object(s.g)(t),r=Object(s.t)(t),A=Object(s.g)(e),o=Object(s.t)(e);return n.invert=function(t,e){var n=Object(s.g)(e),a=Object(s.g)(t)*n,c=Object(s.t)(t)*n,u=Object(s.t)(e),g=u*A-c*o;return[Object(s.e)(c*A+u*o,a*i+g*r),Object(s.c)(g*i-a*r)]},n}e.b=r;var c=n(465),s=n(6);i.invert=i,e.a=function(t){function e(e){return e=t(e[0]*s.r,e[1]*s.r),e[0]*=s.h,e[1]*=s.h,e}return t=r(t[0]*s.r,t[1]*s.r,t.length>2?t[2]*s.r:0),e.invert=function(e){return e=t.invert(e[0]*s.r,e[1]*s.r),e[0]*=s.h,e[1]*=s.h,e},e}},function(t,e,n){"use strict";function i(t){return function(e){var n=new r;for(var i in t)n[i]=t[i];return n.stream=e,n}}function r(){}e.a=i;r.prototype={constructor:r,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}}},function(t,e,n){"use strict";e.a=function(t,e,n,i,r){for(var A,o=t.children,a=-1,c=o.length,s=t.value&&(r-n)/t.value;++a<c;)A=o[a],A.x0=e,A.x1=i,A.y0=n,A.y1=n+=A.value*s}},function(t,e,n){"use strict";function i(t){o.g.call(this,null,t)}function r(t,e,n){for(var i,r=0,A=e.length;r<A;++r)(i=e[r])in n&&t[i](n[i])}function A(t,e,n){for(var i=t.data,r=0,A=e.length-1;r<A;++r)i[n[r]]=t[e[r]];i[n[A]]=t.children?t.children.length:0}e.a=i;var o=n(1),a=n(0);Object(a.inherits)(i,o.g).transform=function(t,e){e.source&&e.source.root||Object(a.error)(this.constructor.name+" transform requires a backing tree data source.");var n=this.layout(t.method),i=this.fields,o=e.source.root,c=t.as||i;t.field&&o.sum(t.field),t.sort&&o.sort(t.sort),r(n,this.params,t);try{this.value=n(o)}catch(t){Object(a.error)(t)}return o.each(function(t){A(t,i,c)}),e.reflow(t.modified()).modifies(c).modifies("leaf")}},function(t,e,n){"use strict";function i(t,e){return Object(A.a)(t,e)||Object(o.a)(t,e)||null}function r(){return Object(A.b)()||Object(o.b)()||null}e.a=i,e.b=r;var A=n(484),o=n(485)},function(t,e,n){"use strict";var i={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},r=[/([MLHVCSQTAZmlhvcsqtaz])/g,/###/,/(\d)([-+])/g,/\s|,|###/];e.a=function(t){var e,n,A,o,a,c,s,u,g,l,M,h=[];for(e=t.slice().replace(r[0],"###$1").split(r[1]).slice(1),u=0,l=e.length;u<l;++u){for(n=e[u],A=n.slice(1).trim().replace(r[2],"$1###$2").split(r[3]),c=n.charAt(0),o=[c],g=0,M=A.length;g<M;++g)(a=+A[g])===a&&o.push(a);if(s=i[c.toLowerCase()],o.length-1>s)for(g=1,M=o.length;g<M;g+=s)h.push([c].concat(o.slice(g,g+s)));else h.push(o)}return h}},function(t,e,n){"use strict";function i(t){return o=t,i}function r(){}function A(t,e){o.add(t,e)}e.a=i;var o,a=2*Math.PI,c=a/4,s=a-1e-8;i.beginPath=r,i.closePath=r,i.moveTo=A,i.lineTo=A,i.rect=function(t,e,n,i){A(t,e),A(t+n,e+i)},i.quadraticCurveTo=function(t,e,n,i){A(t,e),A(n,i)},i.bezierCurveTo=function(t,e,n,i,r,o){A(t,e),A(n,i),A(r,o)},i.arc=function(t,e,n,i,r,o){function u(t){M=n*Math.cos(t),h=n*Math.sin(t),M<d&&(d=M),M>f&&(f=M),h<I&&(I=h),h>E&&(E=h)}if(Math.abs(r-i)>s)return A(t-n,e-n),void A(t+n,e+n);var g,l,M,h,d=1/0,f=-1/0,I=1/0,E=-1/0;if(u(i),u(r),r!==i)if(i%=a,i<0&&(i+=a),r%=a,r<0&&(r+=a),r<i&&(o=!o,g=i,i=r,r=g),o)for(r-=a,g=i-i%c,l=0;l<3&&g>r;++l,g-=c)u(g);else for(g=i-i%c+c,l=0;l<3&&g<r;++l,g+=c)u(g);A(t+d,e+I),A(t+f,e+E)}},function(t,e,n){"use strict";function i(t){return function(e,n,i){Object(c.b)(n,function(n){i&&!i.intersects(n.bounds)||A(t,e,n,n)})}}function r(t){return function(e,n,i){!n.items.length||i&&!i.intersects(n.bounds)||A(t,e,n.items[0],n.items)}}function A(t,e,n,i){var r=null==n.opacity?1:n.opacity;0!==r&&(t(e,i)||(n.fill&&Object(o.a)(e,n,r)&&e.fill(),n.stroke&&Object(a.a)(e,n,r)&&e.stroke()))}e.a=i,e.b=r;var o=n(282),a=n(184),c=n(55)},function(t,e,n){"use strict";var i=n(497),r=[];e.a=function(t,e,n){var A=null!=(A=e.strokeWidth)?A:1;return!(A<=0)&&((n*=null==e.strokeOpacity?1:e.strokeOpacity)>0&&(t.globalAlpha=n,t.strokeStyle=Object(i.a)(t,e,e.stroke),t.lineWidth=A,t.lineCap=e.strokeCap||"butt",t.lineJoin=e.strokeJoin||"miter",t.miterLimit=e.strokeMiterLimit||10,t.setLineDash&&(t.setLineDash(e.strokeDash||r),t.lineDashOffset=e.strokeDashOffset||0),!0))}},function(t,e,n){"use strict";var i=n(283);e.a=function(t){return Object(i.a)(t.x||0,t.y||0)}},function(t,e,n){"use strict";function i(){r=1}e.b=i;var r=1;e.a=function(t,e,n){var i=t._defs,A=e.clip_id||(e.clip_id="clip"+r++),o=i.clipping[A]||(i.clipping[A]={id:A});return o.width=n.width||0,o.height=n.height||0,"url(#"+A+")"}},function(t,e,n){"use strict";function i(t){return h=a(t),r(s(t))}function r(t){return~~(.8*t.length*h)}function A(t){return M.font=g(t),o(s(t))}function o(t){return M.measureText(t).width}function a(t){return null!=t.fontSize?t.fontSize:11}function c(t){M=t&&(M=Object(d.a)(1,1))?M.getContext("2d"):null,f.width=M?A:i}function s(t){var e=t.text;return null==e?"":t.limit>0?u(t):e+""}function u(t){var e,n=+t.limit,i=t.text+"";if(M?(M.font=g(t),e=o):(h=a(t),e=r),e(i)<n)return i;var A,c=t.ellipsis||"…",s="rtl"===t.dir,u=0,l=i.length;if(n-=e(c),s){for(;u<l;)A=u+l>>>1,e(i.slice(A))>n?u=A+1:l=A;return c+i.slice(u)}for(;u<l;)A=1+(u+l>>>1),e(i.slice(0,A))<n?u=A:l=A-1;return i.slice(0,u)+c}function g(t,e){var n=t.font;return e&&n&&(n=String(n).replace(/"/g,"'")),(t.fontStyle?t.fontStyle+" ":"")+(t.fontVariant?t.fontVariant+" ":"")+(t.fontWeight?t.fontWeight+" ":"")+a(t)+"px "+(n||"sans-serif")}function l(t){var e=t.baseline,n=a(t);return Math.round("top"===e?.79*n:"middle"===e?.3*n:"bottom"===e?-.21*n:0)}n.d(e,"c",function(){return f}),e.d=s,e.a=g,e.b=l;var M,h,d=n(180),f={height:a,measureWidth:A,estimateWidth:i,width:i,canvas:c};c(!0)},function(t,e,n){"use strict";function i(t){this._el=null,this._bgcolor=null,this._loader=new r.a(t)}e.a=i;var r=n(489),A=i.prototype;A.initialize=function(t,e,n,i,r){return this._el=t,this.resize(e,n,i,r)},A.element=function(){return this._el},A.scene=function(){return this._el&&this._el.firstChild},A.background=function(t){return 0===arguments.length?this._bgcolor:(this._bgcolor=t,this)},A.resize=function(t,e,n,i){return this._width=t,this._height=e,this._origin=n||[0,0],this._scale=i||1,this},A.dirty=function(){},A.render=function(t){var e=this;return e._call=function(){e._render(t)},e._call(),e._call=null,e},A._render=function(){},A.renderAsync=function(t){var e=this.render(t);return this._ready?this._ready.then(function(){return e}):Promise.resolve(e)},A._load=function(t,e){var n=this,i=n._loader[t](e);if(!n._ready){var r=n._call;n._ready=n._loader.ready().then(function(t){t&&r(),n._ready=null})}return i},A.sanitizeURL=function(t){return this._load("sanitizeURL",t)},A.loadImage=function(t){return this._load("loadImage",t)}},function(t,e,n){"use strict";function i(t){var e=t.padding();return Math.max(0,t._viewWidth+e.left+e.right)}function r(t){var e=t.padding();return Math.max(0,t._viewHeight+e.top+e.bottom)}function A(t){var e=t.padding(),n=t._origin;return[e.left+n[0],e.top+n[1]]}function o(t){var e=A(t);t._renderer.background(t._background),t._renderer.resize(i(t),r(t),e),t._handler.origin(e)}e.d=i,e.a=r,e.b=A,e.c=o},function(t,e,n){"use strict";var i=n(509),r=n(1193),A=n(1194),o=n(1195),a=n(288),c=n(1211),s=n(1212),u=n(194),g=n(1213),l=n(0);e.a=function(t,e,n){var M=Object(l.array)(t.signals),h=Object(l.array)(t.scales);return n||M.forEach(function(t){Object(a.a)(t,e)}),Object(l.array)(t.projections).forEach(function(t){Object(A.a)(t,e)}),h.forEach(function(t){Object(r.a)(t,e)}),Object(l.array)(t.data).forEach(function(t){Object(s.a)(t,e)}),h.forEach(function(t){Object(r.b)(t,e)}),M.forEach(function(t){Object(i.a)(t,e)}),Object(l.array)(t.axes).forEach(function(t){Object(g.a)(t,e)}),Object(l.array)(t.marks).forEach(function(t){Object(u.a)(t,e)}),Object(l.array)(t.legends).forEach(function(t){Object(o.a)(t,e)}),t.title&&Object(c.a)(t.title,e),e.parseLambdas(),e}},function(t,e,n){"use strict";n.d(e,"b",function(){return i}),n.d(e,"c",function(){return r}),n.d(e,"a",function(){return A});var i="@",r="%",A=":"},function(t,e,n){"use strict";var i=n(1199),r=n(518),A=n(519),o=n(1200),a=n(1201),c=n(193),s=n(0);e.a=function(t,e,n,u,g){if(null!=e.gradient)return Object(o.a)(e,n,u,g);var l=e.signal?Object(c.a)(e.signal,n,u,g):e.color?Object(i.a)(e.color,n,u,g):null!=e.field?Object(r.a)(e.field,n,u,g):void 0!==e.value?Object(s.stringValue)(e.value):void 0;return null!=e.scale&&(l=Object(A.a)(e,l,n,u,g)),void 0===l&&(l=null),null!=e.exponent&&(l="Math.pow("+l+","+Object(a.a)(e.exponent,n,u,g)+")"),null!=e.mult&&(l+="*"+Object(a.a)(e.mult,n,u,g)),null!=e.offset&&(l+="+"+Object(a.a)(e.offset,n,u,g)),e.round&&(l="Math.round("+l+")"),l}},function(t,e,n){"use strict";var i=n(86),r=n(0);e.a=function(t,e,n,A){var o=Object(i.a)(t,e);return o.$fields.forEach(function(t){A[t]=1}),Object(r.extend)(n,o.$params),o.$expr}},function(t,e,n){"use strict";var i=n(1207),r=n(1208),A=n(1209),o=n(1210),a=n(522),c=n(26),s=n(17),u=n(19),g=n(291),l=n(523),M=n(190),h=n(133),d=n(25),f=n(0),I=n(34);e.a=function(t,e){var n,E,T,N,y,p,C,D,x,B,w,m,Q,v=Object(a.a)(t),j=t.type===c.a,L=t.from&&t.from.facet,S=t.layout||v===s.o||v===s.g,Y=v===s.n||S||L,b=t.overlap;T=Object(r.a)(t.from,j,e),E=e.add(Object(I.f)({key:T.key||(t.key?Object(d.f)(t.key):void 0),pulse:T.pulse,clean:!j})),x=Object(d.k)(E),E=N=e.add(Object(I.d)({pulse:x})),E=e.add(Object(I.l)({markdef:Object(i.a)(t),context:{$context:!0},groups:e.lookup(),parent:e.signals.parent?e.signalRef("parent"):null,index:e.markpath(),pulse:Object(d.k)(E)})),B=Object(d.k)(E),E=e.add(Object(I.g)(Object(u.c)(t.encode,t.type,v,t.style,e,{pulse:B}))),E.params.parent=e.encode(),t.transform&&t.transform.forEach(function(t){var n=Object(g.a)(t,e);(n.metadata.generates||n.metadata.changes)&&Object(f.error)("Mark transforms should not generate new data."),n.params.pulse=Object(d.k)(E),e.add(E=n)}),t.sort&&(E=e.add(Object(I.x)({sort:e.compareRef(t.sort),pulse:Object(d.k)(E)}))),w=Object(d.k)(E),(L||S)&&(S=e.add(Object(I.z)({layout:e.objectProperty(t.layout),legendMargin:e.config.legendMargin,mark:B,pulse:w})),m=Object(d.k)(S)),y=e.add(Object(I.c)({mark:B,pulse:m||w})),Q=Object(d.k)(y),j&&(Y&&(n=e.operators,n.pop(),S&&n.pop()),e.pushState(w,m||Q,x),L?Object(A.a)(t,e,T):Y?Object(o.a)(t,e,T):Object(M.a)(t,e),e.popState(),Y&&(S&&n.push(S),n.push(y))),b&&(E={method:!0===b.method?"parity":b.method,pulse:Q},b.order&&(E.sort=e.compareRef({field:b.order})),b.bound&&(E.boundScale=e.scaleRef(b.bound.scale),E.boundOrient=b.bound.orient,E.boundTolerance=b.bound.tolerance),Q=Object(d.k)(e.add(Object(I.o)(E)))),p=e.add(Object(I.u)({pulse:Q})),C=e.add(Object(I.w)({pulse:Object(d.k)(p)},void 0,e.parent())),null!=t.name&&(D=t.name,e.addData(D,new h.a(e,N,p,C)),t.on&&t.on.forEach(function(t){(t.insert||t.remove||t.toggle)&&Object(f.error)("Marks only support modify triggers."),Object(l.a)(t,e,D)}))}},function(t,e,n){"use strict";function i(t,e){var n,i;return function(){var r=Object(o.h)(this,t),A=r.tween;if(A!==n){i=n=A;for(var a=0,c=i.length;a<c;++a)if(i[a].name===e){i=i.slice(),i.splice(a,1);break}}r.tween=i}}function r(t,e,n){var i,r;if("function"!=typeof n)throw new Error;return function(){var A=Object(o.h)(this,t),a=A.tween;if(a!==i){r=(i=a).slice();for(var c={name:e,value:n},s=0,u=r.length;s<u;++s)if(r[s].name===e){r[s]=c;break}s===u&&r.push(c)}A.tween=r}}function A(t,e,n){var i=t._id;return t.each(function(){var t=Object(o.h)(this,i);(t.value||(t.value={}))[e]=n.apply(this,arguments)}),function(t){return Object(o.f)(t,i).value[e]}}e.b=A;var o=n(42);e.a=function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var A,a=Object(o.f)(this.node(),n).tween,c=0,s=a.length;c<s;++c)if((A=a[c]).name===t)return A.value;return null}return this.each((null==e?i:r)(n,t,e))}},function(t,e,n){"use strict";function i(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===o.b&&e.documentElement.namespaceURI===o.b?e.createElement(t):e.createElementNS(n,t)}}function r(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}var A=n(294),o=n(295);e.a=function(t){var e=Object(A.a)(t);return(e.local?r:i)(e)}},function(t,e,n){"use strict";e.a=function(t,e){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var i=n.createSVGPoint();return i.x=e.clientX,i.y=e.clientY,i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var r=t.getBoundingClientRect();return[e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop]}},function(t,e,n){"use strict";var i=n(303);n.d(e,"b",function(){return i.b}),n.d(e,"d",function(){return i.c}),n.d(e,"e",function(){return i.d});var r=n(1347);n.d(e,"c",function(){return r.a});var A=n(1348);n.d(e,"a",function(){return A.a})},function(t,e,n){"use strict";var i=n(305);e.a=function(t){return t=Object(i.a)(Math.abs(t)),t?t[1]:NaN}},function(t,e,n){"use strict";function i(t,e){return[t>s.o?t-s.w:t<-s.o?t+s.w:t,e]}function r(t,e,n){return(t%=s.w)?e||n?Object(c.a)(o(t),a(e,n)):o(t):e||n?a(e,n):i}function A(t){return function(e,n){return e+=t,[e>s.o?e-s.w:e<-s.o?e+s.w:e,n]}}function o(t){var e=A(t);return e.invert=A(-t),e}function a(t,e){function n(t,e){var n=Object(s.g)(e),a=Object(s.g)(t)*n,c=Object(s.t)(t)*n,u=Object(s.t)(e),g=u*i+a*r;return[Object(s.e)(c*A-g*o,a*i-u*r),Object(s.c)(g*A+c*o)]}var i=Object(s.g)(t),r=Object(s.t)(t),A=Object(s.g)(e),o=Object(s.t)(e);return n.invert=function(t,e){var n=Object(s.g)(e),a=Object(s.g)(t)*n,c=Object(s.t)(t)*n,u=Object(s.t)(e),g=u*A-c*o;return[Object(s.e)(c*A+u*o,a*i+g*r),Object(s.c)(g*i-a*r)]},n}e.b=r;var c=n(564),s=n(5);i.invert=i,e.a=function(t){function e(e){return e=t(e[0]*s.r,e[1]*s.r),e[0]*=s.h,e[1]*=s.h,e}return t=r(t[0]*s.r,t[1]*s.r,t.length>2?t[2]*s.r:0),e.invert=function(e){return e=t.invert(e[0]*s.r,e[1]*s.r),e[0]*=s.h,e[1]*=s.h,e},e}},function(t,e,n){"use strict";function i(t,e,n,i){function g(r,A){return t<=r&&r<=n&&e<=A&&A<=i}function l(r,A,o,a){var c=0,s=0;if(null==r||(c=M(r,o))!==(s=M(A,o))||d(r,A)<0^o>0)do{a.point(0===c||3===c?t:n,c>1?i:e)}while((c=(c+o+4)%4)!==s);else a.point(A[0],A[1])}function M(i,A){return Object(r.a)(i[0]-t)<r.i?A>0?0:3:Object(r.a)(i[0]-n)<r.i?A>0?2:1:Object(r.a)(i[1]-e)<r.i?A>0?1:0:A>0?3:2}function h(t,e){return d(t.x,e.x)}function d(t,e){var n=M(t,1),i=M(e,1);return n!==i?n-i:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(r){function M(t,e){g(t,e)&&L.point(t,e)}function d(){for(var e=0,n=0,r=p.length;n<r;++n)for(var A,o,a=p[n],c=1,s=a.length,u=a[0],g=u[0],l=u[1];c<s;++c)A=g,o=l,u=a[c],g=u[0],l=u[1],o<=i?l>i&&(g-A)*(i-o)>(l-o)*(t-A)&&++e:l<=i&&(g-A)*(i-o)<(l-o)*(t-A)&&--e;return e}function f(){L=S,y=[],p=[],j=!0}function I(){var t=d(),e=j&&t,n=(y=Object(c.n)(y)).length;(e||n)&&(r.polygonStart(),e&&(r.lineStart(),l(null,null,1,r),r.lineEnd()),n&&Object(a.a)(y,h,t,l,r),r.polygonEnd()),L=r,y=p=C=null}function E(){Y.point=N,p&&p.push(C=[]),v=!0,Q=!1,w=m=NaN}function T(){y&&(N(D,x),B&&Q&&S.rejoin(),y.push(S.result())),Y.point=M,Q&&L.lineEnd()}function N(r,A){var a=g(r,A);if(p&&C.push([r,A]),v)D=r,x=A,B=a,v=!1,a&&(L.lineStart(),L.point(r,A));else if(a&&Q)L.point(r,A);else{var c=[w=Math.max(u,Math.min(s,w)),m=Math.max(u,Math.min(s,m))],l=[r=Math.max(u,Math.min(s,r)),A=Math.max(u,Math.min(s,A))];Object(o.a)(c,l,t,e,n,i)?(Q||(L.lineStart(),L.point(c[0],c[1])),L.point(l[0],l[1]),a||L.lineEnd(),j=!1):a&&(L.lineStart(),L.point(r,A),j=!1)}w=r,m=A,Q=a}var y,p,C,D,x,B,w,m,Q,v,j,L=r,S=Object(A.a)(),Y={point:M,lineStart:E,lineEnd:T,polygonStart:f,polygonEnd:I};return Y}}e.a=i;var r=n(5),A=n(567),o=n(1366),a=n(568),c=n(35),s=1e9,u=-s},function(t,e,n){"use strict";function i(t){return function(e){var n=new r;for(var i in t)n[i]=t[i];return n.stream=e,n}}function r(){}e.b=i,e.a=function(t){return{stream:i(t)}},r.prototype={constructor:r,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}}},function(t,e,n){"use strict";e.a=function(t,e){return t=+t,e-=t,function(n){return t+e*n}}},function(t,e,n){"use strict";var i=n(313);e.a=function(t,e){return function(n,r){var A=Object(i.a)(n).mimeType(t).response(e);if(null!=r){if("function"!=typeof r)throw new Error("invalid callback: "+r);return A.get(r)}return A}}},function(t,e,n){"use strict";function i(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:Object(M.a)(e)}function r(t){return function(e,n){var i=t(e=+e,n=+n);return function(t){return t<=e?0:t>=n?1:i(t)}}}function A(t){return function(e,n){var i=t(e=+e,n=+n);return function(t){return t<=0?e:t>=1?n:i(t)}}}function o(t,e,n,i){var r=t[0],A=t[1],o=e[0],a=e[1];return A<r?(r=n(A,r),o=i(a,o)):(r=n(r,A),o=i(o,a)),function(t){return o(r(t))}}function a(t,e,n,i){var r=Math.min(t.length,e.length)-1,A=new Array(r),o=new Array(r),a=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++a<r;)A[a]=n(t[a],t[a+1]),o[a]=i(e[a],e[a+1]);return function(e){var n=Object(u.b)(t,e,1,r)-1;return o[n](A[n](e))}}function c(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp())}function s(t,e){function n(){return s=Math.min(f.length,I.length)>2?a:o,u=M=null,c}function c(e){return(u||(u=s(f,I,T?r(t):t,E)))(+e)}var s,u,M,f=d,I=d,E=g.a,T=!1;return c.invert=function(t){return(M||(M=s(I,f,i,T?A(e):e)))(+t)},c.domain=function(t){return arguments.length?(f=l.a.call(t,h.a),n()):f.slice()},c.range=function(t){return arguments.length?(I=l.b.call(t),n()):I.slice()},c.rangeRound=function(t){return I=l.b.call(t),E=g.r,n()},c.clamp=function(t){return arguments.length?(T=!!t,n()):T},c.interpolate=function(t){return arguments.length?(E=t,n()):E},n()}e.c=i,e.a=c,e.b=s;var u=n(35),g=n(47),l=n(88),M=n(314),h=n(588),d=[0,1]},function(t,e,n){"use strict";var i=n(28);n.d(e,"g",function(){return i.a});var r=n(1430);n.d(e,"h",function(){return r.a}),n.d(e,"i",function(){return r.b}),n.d(e,"L",function(){return r.a}),n.d(e,"M",function(){return r.b});var A=n(1431);n.d(e,"r",function(){return A.a}),n.d(e,"s",function(){return A.b}),n.d(e,"V",function(){return A.a}),n.d(e,"W",function(){return A.b});var o=n(1432);n.d(e,"j",function(){return o.a}),n.d(e,"k",function(){return o.b});var a=n(1433);n.d(e,"e",function(){return a.a}),n.d(e,"f",function(){return a.b});var c=n(1434);n.d(e,"a",function(){return c.b}),n.d(e,"b",function(){return c.a});var s=n(1435);n.d(e,"B",function(){return s.g}),n.d(e,"C",function(){return s.h}),n.d(e,"t",function(){return s.g}),n.d(e,"u",function(){return s.h}),n.d(e,"l",function(){return s.c}),n.d(e,"m",function(){return s.d}),n.d(e,"x",function(){return s.k}),n.d(e,"y",function(){return s.l}),n.d(e,"z",function(){return s.m}),n.d(e,"A",function(){return s.n}),n.d(e,"v",function(){return s.i}),n.d(e,"w",function(){return s.j}),n.d(e,"c",function(){return s.a}),n.d(e,"d",function(){return s.b}),n.d(e,"p",function(){return s.e}),n.d(e,"q",function(){return s.f});var u=n(1436);n.d(e,"n",function(){return u.a}),n.d(e,"o",function(){return u.b});var g=n(1437);n.d(e,"D",function(){return g.a}),n.d(e,"E",function(){return g.b});var l=n(1438);n.d(e,"N",function(){return l.a}),n.d(e,"O",function(){return l.b});var M=n(1439);n.d(e,"J",function(){return M.a}),n.d(e,"K",function(){return M.b});var h=n(1440);n.d(e,"F",function(){return h.a}),n.d(e,"G",function(){return h.b});var d=n(1441);n.d(e,"_5",function(){return d.g}),n.d(e,"_6",function(){return d.h}),n.d(e,"X",function(){return d.g}),n.d(e,"Y",function(){return d.h}),n.d(e,"P",function(){return d.c}),n.d(e,"Q",function(){return d.d}),n.d(e,"_1",function(){return d.k}),n.d(e,"_2",function(){return d.l}),n.d(e,"_3",function(){return d.m}),n.d(e,"_4",function(){return d.n}),n.d(e,"Z",function(){return d.i}),n.d(e,"_0",function(){return d.j}),n.d(e,"H",function(){return d.a}),n.d(e,"I",function(){return d.b}),n.d(e,"T",function(){return d.e}),n.d(e,"U",function(){return d.f});var f=n(1442);n.d(e,"R",function(){return f.a}),n.d(e,"S",function(){return f.b});var I=n(1443);n.d(e,"_7",function(){return I.a}),n.d(e,"_8",function(){return I.b})},function(t,e,n){"use strict";function i(t,e){var n,i;return function(){var r=Object(o.h)(this,t),A=r.tween;if(A!==n){i=n=A;for(var a=0,c=i.length;a<c;++a)if(i[a].name===e){i=i.slice(),i.splice(a,1);break}}r.tween=i}}function r(t,e,n){var i,r;if("function"!=typeof n)throw new Error;return function(){var A=Object(o.h)(this,t),a=A.tween;if(a!==i){r=(i=a).slice();for(var c={name:e,value:n},s=0,u=r.length;s<u;++s)if(r[s].name===e){r[s]=c;break}s===u&&r.push(c)}A.tween=r}}function A(t,e,n){var i=t._id;return t.each(function(){var t=Object(o.h)(this,i);(t.value||(t.value={}))[e]=n.apply(this,arguments)}),function(t){return Object(o.f)(t,i).value[e]}}e.b=A;var o=n(44);e.a=function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var A,a=Object(o.f)(this.node(),n).tween,c=0,s=a.length;c<s;++c)if((A=a[c]).name===t)return A.value;return null}return this.each((null==e?i:r)(n,t,e))}},function(t,e,n){"use strict";function i(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===o.b&&e.documentElement.namespaceURI===o.b?e.createElement(t):e.createElementNS(n,t)}}function r(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}var A=n(209),o=n(210);e.a=function(t){var e=Object(A.a)(t);return(e.local?r:i)(e)}},function(t,e,n){"use strict";var i=n(210);e.a=function(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),i.a.hasOwnProperty(e)?{space:i.a[e],local:t}:t}},function(t,e,n){"use strict";n.d(e,"b",function(){return i});var i="http://www.w3.org/1999/xhtml";e.a={svg:"http://www.w3.org/2000/svg",xhtml:i,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}},function(t,e,n){"use strict";var i=n(212);e.a=function(){for(var t,e=i.c;t=e.sourceEvent;)e=t;return e}},function(t,e,n){"use strict";function i(t,e,n){return t=r(t,e,n),function(e){var n=e.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||t.call(this,e)}}function r(t,e,n){return function(i){var r=u;u=i;try{t.call(this,this.__data__,e,n)}finally{u=r}}}function A(t){return t.trim().split(/^|\s+/).map(function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}})}function o(t){return function(){var e=this.__on;if(e){for(var n,i=0,r=-1,A=e.length;i<A;++i)n=e[i],t.type&&n.type!==t.type||n.name!==t.name?e[++r]=n:this.removeEventListener(n.type,n.listener,n.capture);++r?e.length=r:delete this.__on}}}function a(t,e,n){var A=s.hasOwnProperty(t.type)?i:r;return function(i,r,o){var a,c=this.__on,s=A(e,r,o);if(c)for(var u=0,g=c.length;u<g;++u)if((a=c[u]).type===t.type&&a.name===t.name)return this.removeEventListener(a.type,a.listener,a.capture),this.addEventListener(a.type,a.listener=s,a.capture=n),void(a.value=e);this.addEventListener(t.type,s,n),a={type:t.type,name:t.name,value:e,listener:s,capture:n},c?c.push(a):this.__on=[a]}}function c(t,e,n,i){var r=u;t.sourceEvent=u,u=t;try{return e.apply(n,i)}finally{u=r}}n.d(e,"c",function(){return u}),e.a=c;var s={},u=null;if("undefined"!=typeof document){"onmouseenter"in document.documentElement||(s={mouseenter:"mouseover",mouseleave:"mouseout"})}e.b=function(t,e,n){var i,r,c=A(t+""),s=c.length;{if(!(arguments.length<2)){for(u=e?a:o,null==n&&(n=!1),i=0;i<s;++i)this.each(u(c[i],e,n));return this}var u=this.node().__on;if(u)for(var g,l=0,M=u.length;l<M;++l)for(i=0,g=u[l];i<s;++i)if((r=c[i]).type===g.type&&r.name===g.name)return g.value}}},function(t,e,n){"use strict";e.a=function(t,e){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var i=n.createSVGPoint();return i.x=e.clientX,i.y=e.clientY,i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var r=t.getBoundingClientRect();return[e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop]}},function(t,e,n){"use strict";function i(){}e.a=function(t){return null==t?i:function(){return this.querySelector(t)}}},function(t,e,n){"use strict";e.a=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}},function(t,e,n){"use strict";function i(t,e){var n={};for(var i in t)n[i]={};for(var i in e)n[i]={};return Object.keys(n).length}function r(t,e){var n=0;for(var i in t)void 0!==e[i]&&++n;return n}function A(t,e){var n={},i=function(t,e){void 0===n[t]&&(n[t]={}),n[t][e]={}};return t.forEach(function(t){var n=e.getSourceIndex(t),r=e.getTargetIndex(t);i(n,r),i(r,n)}),n}function o(t,e,n,i){var r=A(t,i);t.forEach(function(t){var A=r[i.getSourceIndex(t)],o=r[i.getTargetIndex(t)];i.setLength(t,1+e*n(A,o))})}function a(t,e,n){void 0===n&&(n=1),o(t,n,function(t,e){return Math.sqrt(i(t,e)-r(t,e))},e)}function c(t,e,n){void 0===n&&(n=1),o(t,n,function(t,e){return Math.min(Object.keys(t).length,Object.keys(e).length)<1.1?0:r(t,e)/i(t,e)},e)}function s(t,e,n,i){var r=u(t,e,i),A={};r.forEach(function(t,e){return t.forEach(function(t){return A[t]=e})});var o=[];return e.forEach(function(t){var e=i.getSourceIndex(t),r=i.getTargetIndex(t);A[e]!==A[r]&&o.push({axis:n,left:e,right:r,gap:i.getMinSeparation(t)})}),o}function u(t,e,n){function i(t){t.index=t.lowlink=A++,o.push(t),t.onStack=!0;for(var e=0,n=t.out;e<n.length;e++){var r=n[e];void 0===r.index?(i(r),t.lowlink=Math.min(t.lowlink,r.lowlink)):r.onStack&&(t.lowlink=Math.min(t.lowlink,r.index))}if(t.lowlink===t.index){for(var c=[];o.length&&(r=o.pop(),r.onStack=!1,c.push(r),r!==t););a.push(c.map(function(t){return t.id}))}}for(var r=[],A=0,o=[],a=[],c=0;c<t;c++)r.push({id:c,out:[]});for(var s=0,u=e;s<u.length;s++){var g=u[s],l=r[n.getSourceIndex(g)],M=r[n.getTargetIndex(g)];l.out.push(M)}for(var h=0,d=r;h<d.length;h++){var f=d[h];void 0===f.index&&i(f)}return a}Object.defineProperty(e,"__esModule",{value:!0}),e.symmetricDiffLinkLengths=a,e.jaccardLinkLengths=c,e.generateDirectedEdgeConstraints=s,e.stronglyConnectedComponents=u},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(){this.locks={}}return t.prototype.add=function(t,e){this.locks[t]=e},t.prototype.clear=function(){this.locks={}},t.prototype.isEmpty=function(){for(var t in this.locks)return!1;return!0},t.prototype.apply=function(t){for(var e in this.locks)t(Number(e),this.locks[e])},t}();e.Locks=i;var r=function(){function t(t,e,n){void 0===n&&(n=null),this.D=e,this.G=n,this.threshold=1e-4,this.numGridSnapNodes=0,this.snapGridSize=100,this.snapStrength=1e3,this.scaleSnapByMaxH=!1,this.random=new A,this.project=null,this.x=t,this.k=t.length;var r=this.n=t[0].length;this.H=new Array(this.k),this.g=new Array(this.k),this.Hd=new Array(this.k),this.a=new Array(this.k),this.b=new Array(this.k),this.c=new Array(this.k),this.d=new Array(this.k),this.e=new Array(this.k),this.ia=new Array(this.k),this.ib=new Array(this.k),this.xtmp=new Array(this.k),this.locks=new i,this.minD=Number.MAX_VALUE;for(var o,a=r;a--;)for(o=r;--o>a;){var c=e[a][o];c>0&&c<this.minD&&(this.minD=c)}for(this.minD===Number.MAX_VALUE&&(this.minD=1),a=this.k;a--;){for(this.g[a]=new Array(r),this.H[a]=new Array(r),o=r;o--;)this.H[a][o]=new Array(r);this.Hd[a]=new Array(r),this.a[a]=new Array(r),this.b[a]=new Array(r),this.c[a]=new Array(r),this.d[a]=new Array(r),this.e[a]=new Array(r),this.ia[a]=new Array(r),this.ib[a]=new Array(r),this.xtmp[a]=new Array(r)}}return t.createSquareMatrix=function(t,e){for(var n=new Array(t),i=0;i<t;++i){n[i]=new Array(t);for(var r=0;r<t;++r)n[i][r]=e(i,r)}return n},t.prototype.offsetDir=function(){for(var t=this,e=new Array(this.k),n=0,i=0;i<this.k;++i){var r=e[i]=this.random.getNextBetween(.01,1)-.5;n+=r*r}return n=Math.sqrt(n),e.map(function(e){return e*=t.minD/n})},t.prototype.computeDerivatives=function(t){var e=this,n=this.n;if(!(n<1)){for(var i,r=new Array(this.k),A=new Array(this.k),o=new Array(this.k),a=0,c=0;c<n;++c){for(i=0;i<this.k;++i)o[i]=this.g[i][c]=0;for(var s=0;s<n;++s)if(c!==s){for(var u=n;u--;){var g=0;for(i=0;i<this.k;++i){var l=r[i]=t[i][c]-t[i][s];g+=A[i]=l*l}if(g>1e-9)break;var M=this.offsetDir();for(i=0;i<this.k;++i)t[i][s]+=M[i]}var h=Math.sqrt(g),d=this.D[c][s],f=null!=this.G?this.G[c][s]:1;if(f>1&&h>d||!isFinite(d))for(i=0;i<this.k;++i)this.H[i][c][s]=0;else{f>1&&(f=1);var I=d*d,E=2*f*(h-d)/(I*h),T=h*h*h,N=2*-f/(I*T);for(isFinite(E)||console.log(E),i=0;i<this.k;++i)this.g[i][c]+=r[i]*E,o[i]-=this.H[i][c][s]=N*(T+d*(A[i]-g)+h*g)}}for(i=0;i<this.k;++i)a=Math.max(a,this.H[i][c][c]=o[i])}for(var y=this.snapGridSize/2,p=this.snapGridSize,C=this.snapStrength,D=C/(y*y),x=this.numGridSnapNodes,c=0;c<x;++c)for(i=0;i<this.k;++i){var B=this.x[i][c],w=B/p,m=w%1,Q=w-m,v=Math.abs(m),l=v<=.5?B-Q*p:B>0?B-(Q+1)*p:B-(Q-1)*p;-y<l&&l<=y&&(this.scaleSnapByMaxH?(this.g[i][c]+=a*D*l,this.H[i][c][c]+=a*D):(this.g[i][c]+=D*l,this.H[i][c][c]+=D))}this.locks.isEmpty()||this.locks.apply(function(n,r){for(i=0;i<e.k;++i)e.H[i][n][n]+=a,e.g[i][n]-=a*(r[i]-t[i][n])})}},t.dotProd=function(t,e){for(var n=0,i=t.length;i--;)n+=t[i]*e[i];return n},t.rightMultiply=function(e,n,i){for(var r=e.length;r--;)i[r]=t.dotProd(e[r],n)},t.prototype.computeStepSize=function(e){for(var n=0,i=0,r=0;r<this.k;++r)n+=t.dotProd(this.g[r],e[r]),t.rightMultiply(this.H[r],e[r],this.Hd[r]),i+=t.dotProd(e[r],this.Hd[r]);return 0!==i&&isFinite(i)?1*n/i:0},t.prototype.reduceStress=function(){this.computeDerivatives(this.x);for(var t=this.computeStepSize(this.g),e=0;e<this.k;++e)this.takeDescentStep(this.x[e],this.g[e],t);return this.computeStress()},t.copy=function(t,e){for(var n=t.length,i=e[0].length,r=0;r<n;++r)for(var A=0;A<i;++A)e[r][A]=t[r][A]},t.prototype.stepAndProject=function(e,n,i,r){t.copy(e,n),this.takeDescentStep(n[0],i[0],r),this.project&&this.project[0](e[0],e[1],n[0]),this.takeDescentStep(n[1],i[1],r),this.project&&this.project[1](n[0],e[1],n[1]);for(var A=2;A<this.k;A++)this.takeDescentStep(n[A],i[A],r)},t.mApply=function(t,e,n){for(var i=t;i-- >0;)for(var r=e;r-- >0;)n(i,r)},t.prototype.matrixApply=function(e){t.mApply(this.k,this.n,e)},t.prototype.computeNextPosition=function(t,e){var n=this;this.computeDerivatives(t);var i=this.computeStepSize(this.g);if(this.stepAndProject(t,e,this.g,i),this.project){this.matrixApply(function(i,r){return n.e[i][r]=t[i][r]-e[i][r]});var r=this.computeStepSize(this.e);r=Math.max(.2,Math.min(r,1)),this.stepAndProject(t,e,this.e,r)}},t.prototype.run=function(t){for(var e=Number.MAX_VALUE,n=!1;!n&&t-- >0;){var i=this.rungeKutta();n=Math.abs(e/i-1)<this.threshold,e=i}return e},t.prototype.rungeKutta=function(){var e=this;this.computeNextPosition(this.x,this.a),t.mid(this.x,this.a,this.ia),this.computeNextPosition(this.ia,this.b),t.mid(this.x,this.b,this.ib),this.computeNextPosition(this.ib,this.c),this.computeNextPosition(this.c,this.d);var n=0;return this.matrixApply(function(t,i){var r=(e.a[t][i]+2*e.b[t][i]+2*e.c[t][i]+e.d[t][i])/6,A=e.x[t][i]-r;n+=A*A,e.x[t][i]=r}),n},t.mid=function(e,n,i){t.mApply(e.length,e[0].length,function(t,r){return i[t][r]=e[t][r]+(n[t][r]-e[t][r])/2})},t.prototype.takeDescentStep=function(t,e,n){for(var i=0;i<this.n;++i)t[i]=t[i]-n*e[i]},t.prototype.computeStress=function(){for(var t=0,e=0,n=this.n-1;e<n;++e)for(var i=e+1,r=this.n;i<r;++i){for(var A=0,o=0;o<this.k;++o){var a=this.x[o][e]-this.x[o][i];A+=a*a}A=Math.sqrt(A);var c=this.D[e][i];if(isFinite(c)){var s=c-A,u=c*c;t+=s*s/u}}return t},t.zeroDistance=1e-10,t}();e.Descent=r;var A=function(){function t(t){void 0===t&&(t=1),this.seed=t,this.a=214013,this.c=2531011,this.m=2147483648,this.range=32767}return t.prototype.getNext=function(){return this.seed=(this.seed*this.a+this.c)%this.m,(this.seed>>16)/this.range},t.prototype.getNextBetween=function(t,e){return t+this.getNext()*(e-t)},t}();e.PseudoRandom=A},function(t,e,n){"use strict";function i(t,e,n){for(var i=t.map(function(t){return new o(t.desiredCenter)}),r=[],a=t.length,c=0;c<a-1;c++){var u=t[c],g=t[c+1];r.push(new A(i[c],i[c+1],(u.size+g.size)/2))}var l=i[0],M=i[a-1],h=t[0].size/2,d=t[a-1].size/2,f=null,I=null;return e&&(f=new o(e,1e3*l.weight),i.push(f),r.push(new A(f,l,h))),n&&(I=new o(n,1e3*M.weight),i.push(I),r.push(new A(M,I,d))),new s(i,r).solve(),{newCenters:i.slice(0,t.length).map(function(t){return t.position()}),lowerBound:f?f.position():l.position()-h,upperBound:I?I.position():M.position()+d}}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t){this.scale=t,this.AB=0,this.AD=0,this.A2=0}return t.prototype.addVariable=function(t){var e=this.scale/t.scale,n=t.offset/t.scale,i=t.weight;this.AB+=i*e*n,this.AD+=i*e*t.desiredPosition,this.A2+=i*e*e},t.prototype.getPosn=function(){return(this.AD-this.AB)/this.A2},t}();e.PositionStats=r;var A=function(){function t(t,e,n,i){void 0===i&&(i=!1),this.left=t,this.right=e,this.gap=n,this.equality=i,this.active=!1,this.unsatisfiable=!1,this.left=t,this.right=e,this.gap=n,this.equality=i}return t.prototype.slack=function(){return this.unsatisfiable?Number.MAX_VALUE:this.right.scale*this.right.position()-this.gap-this.left.scale*this.left.position()},t}();e.Constraint=A;var o=function(){function t(t,e,n){void 0===e&&(e=1),void 0===n&&(n=1),this.desiredPosition=t,this.weight=e,this.scale=n,this.offset=0}return t.prototype.dfdv=function(){return 2*this.weight*(this.position()-this.desiredPosition)},t.prototype.position=function(){return(this.block.ps.scale*this.block.posn+this.offset)/this.scale},t.prototype.visitNeighbours=function(t,e){var n=function(n,i){return n.active&&t!==i&&e(n,i)};this.cOut.forEach(function(t){return n(t,t.right)}),this.cIn.forEach(function(t){return n(t,t.left)})},t}();e.Variable=o;var a=function(){function t(t){this.vars=[],t.offset=0,this.ps=new r(t.scale),this.addVariable(t)}return t.prototype.addVariable=function(t){t.block=this,this.vars.push(t),this.ps.addVariable(t),this.posn=this.ps.getPosn()},t.prototype.updateWeightedPosition=function(){this.ps.AB=this.ps.AD=this.ps.A2=0;for(var t=0,e=this.vars.length;t<e;++t)this.ps.addVariable(this.vars[t]);this.posn=this.ps.getPosn()},t.prototype.compute_lm=function(t,e,n){var i=this,r=t.dfdv();return t.visitNeighbours(e,function(e,A){var o=i.compute_lm(A,t,n);A===e.right?(r+=o*e.left.scale,e.lm=o):(r+=o*e.right.scale,e.lm=-o),n(e)}),r/t.scale},t.prototype.populateSplitBlock=function(t,e){var n=this;t.visitNeighbours(e,function(e,i){i.offset=t.offset+(i===e.right?e.gap:-e.gap),n.addVariable(i),n.populateSplitBlock(i,t)})},t.prototype.traverse=function(t,e,n,i){var r=this;void 0===n&&(n=this.vars[0]),void 0===i&&(i=null),n.visitNeighbours(i,function(i,A){e.push(t(i)),r.traverse(t,e,A,n)})},t.prototype.findMinLM=function(){var t=null;return this.compute_lm(this.vars[0],null,function(e){!e.equality&&(null===t||e.lm<t.lm)&&(t=e)}),t},t.prototype.findMinLMBetween=function(t,e){this.compute_lm(t,null,function(){});var n=null;return this.findPath(t,null,e,function(t,e){!t.equality&&t.right===e&&(null===n||t.lm<n.lm)&&(n=t)}),n},t.prototype.findPath=function(t,e,n,i){var r=this,A=!1;return t.visitNeighbours(e,function(e,o){A||o!==n&&!r.findPath(o,t,n,i)||(A=!0,i(e,o))}),A},t.prototype.isActiveDirectedPathBetween=function(t,e){if(t===e)return!0;for(var n=t.cOut.length;n--;){var i=t.cOut[n];if(i.active&&this.isActiveDirectedPathBetween(i.right,e))return!0}return!1},t.split=function(e){return e.active=!1,[t.createSplitBlock(e.left),t.createSplitBlock(e.right)]},t.createSplitBlock=function(e){var n=new t(e);return n.populateSplitBlock(e,null),n},t.prototype.splitBetween=function(e,n){var i=this.findMinLMBetween(e,n);if(null!==i){var r=t.split(i);return{constraint:i,lb:r[0],rb:r[1]}}return null},t.prototype.mergeAcross=function(t,e,n){e.active=!0;for(var i=0,r=t.vars.length;i<r;++i){var A=t.vars[i];A.offset+=n,this.addVariable(A)}this.posn=this.ps.getPosn()},t.prototype.cost=function(){for(var t=0,e=this.vars.length;e--;){var n=this.vars[e],i=n.position()-n.desiredPosition;t+=i*i*n.weight}return t},t}();e.Block=a;var c=function(){function t(t){this.vs=t;var e=t.length;for(this.list=new Array(e);e--;){var n=new a(t[e]);this.list[e]=n,n.blockInd=e}}return t.prototype.cost=function(){for(var t=0,e=this.list.length;e--;)t+=this.list[e].cost();return t},t.prototype.insert=function(t){t.blockInd=this.list.length,this.list.push(t)},t.prototype.remove=function(t){var e=this.list.length-1,n=this.list[e];this.list.length=e,t!==n&&(this.list[t.blockInd]=n,n.blockInd=t.blockInd)},t.prototype.merge=function(t){var e=t.left.block,n=t.right.block,i=t.right.offset-t.left.offset-t.gap;e.vars.length<n.vars.length?(n.mergeAcross(e,t,i),this.remove(e)):(e.mergeAcross(n,t,-i),this.remove(n))},t.prototype.forEach=function(t){this.list.forEach(t)},t.prototype.updateBlockPositions=function(){this.list.forEach(function(t){return t.updateWeightedPosition()})},t.prototype.split=function(t){var e=this;this.updateBlockPositions(),this.list.forEach(function(n){var i=n.findMinLM();null!==i&&i.lm<s.LAGRANGIAN_TOLERANCE&&(n=i.left.block,a.split(i).forEach(function(t){return e.insert(t)}),e.remove(n),t.push(i))})},t}();e.Blocks=c;var s=function(){function t(t,e){this.vs=t,this.cs=e,this.vs=t,t.forEach(function(t){t.cIn=[],t.cOut=[]}),this.cs=e,e.forEach(function(t){t.left.cOut.push(t),t.right.cIn.push(t)}),this.inactive=e.map(function(t){return t.active=!1,t}),this.bs=null}return t.prototype.cost=function(){return this.bs.cost()},t.prototype.setStartingPositions=function(t){this.inactive=this.cs.map(function(t){return t.active=!1,t}),this.bs=new c(this.vs),this.bs.forEach(function(e,n){return e.posn=t[n]})},t.prototype.setDesiredPositions=function(t){this.vs.forEach(function(e,n){return e.desiredPosition=t[n]})},t.prototype.mostViolated=function(){for(var e=Number.MAX_VALUE,n=null,i=this.inactive,r=i.length,A=r,o=0;o<r;++o){var a=i[o];if(!a.unsatisfiable){var c=a.slack();if((a.equality||c<e)&&(e=c,n=a,A=o,a.equality))break}}return A!==r&&(e<t.ZERO_UPPERBOUND&&!n.active||n.equality)&&(i[A]=i[r-1],i.length=r-1),n},t.prototype.satisfy=function(){null==this.bs&&(this.bs=new c(this.vs)),this.bs.split(this.inactive);for(var e=null;(e=this.mostViolated())&&(e.equality||e.slack()<t.ZERO_UPPERBOUND&&!e.active);){var n=e.left.block;if(n!==e.right.block)this.bs.merge(e);else{if(n.isActiveDirectedPathBetween(e.right,e.left)){e.unsatisfiable=!0;continue}var i=n.splitBetween(e.left,e.right);if(null===i){e.unsatisfiable=!0;continue}this.bs.insert(i.lb),this.bs.insert(i.rb),this.bs.remove(n),this.inactive.push(i.constraint),e.slack()>=0?this.inactive.push(e):this.bs.merge(e)}}},t.prototype.solve=function(){this.satisfy();for(var t=Number.MAX_VALUE,e=this.bs.cost();Math.abs(t-e)>1e-4;)this.satisfy(),t=e,e=this.bs.cost();return e},t.LAGRANGIAN_TOLERANCE=-1e-4,t.ZERO_UPPERBOUND=-1e-10,t}();e.Solver=s,e.removeOverlapInOneDimension=i},function(t,e,n){var i=n(16),r={version:n(654).version,load:n(332),read:n(333),type:n(107),Aggregator:n(335),groupby:n(668),bins:n(336),$bin:n(337).$bin,histogram:n(337).histogram,format:n(221),template:n(338),time:n(224)};i.extend(r,i),i.extend(r,n(669)),i.extend(r,n(223)),i.extend(r,n(108)),i.extend(r,n(670)),i.extend(r.format,n(671)),r.print={table:r.format.table,summary:r.format.summary},t.exports=r},function(t,e,n){var i=n(16);t.exports=function(t,e){var n=i.isObject(t)&&!i.isBuffer(t)?t:JSON.parse(t);return e&&e.property&&(n=i.accessor(e.property)(n)),n}},function(t,e,n){function i(t){return t.length>4&&"locale"+(t[0].toUpperCase()+t[1].toLowerCase()+t[3].toUpperCase()+t[4].toLowerCase())}function r(t){var e=y.isString(t)?D[i(t)]:D.locale(t);if(null==e)throw Error("Unrecognized locale: "+t);x=e}function A(t){var e=y.isString(t)?C[i(t)]:C.locale(t);if(null==e)throw Error("Unrecognized locale: "+t);B=e,I=E=T=N=null}function o(t,e){t.length||(t=[0]),null==e&&(e=10);var n=t[0],i=t[t.length-1];i<n&&(o=i,i=n,n=o);var r=i-n||(e=1,n||i||1),A=Math.pow(10,Math.floor(Math.log(r/e)/Math.LN10)),o=r/e/A;return o>=m?A*=10:o>=Q?A*=5:o>=v&&(A*=2),[Math.ceil(n/A)*A,Math.floor(i/A)*A+A/2,A]}function a(t,e){return function(n){var i=t(n),r=i.indexOf(e);if(r<0)return i;for(var A=c(i,r),o=A<i.length?i.slice(A):"";--A>r;)if("0"!==i[A]){++A;break}return i.slice(0,A)+o}}function c(t,e){var n,i=t.lastIndexOf("e");if(i>0)return i;for(i=t.length;--i>e;)if((n=t.charCodeAt(i))>=48&&n<=57)return i+1}function s(t){var e=x.format(".1f")(1)[1];switch(null==t&&(t=","),t=D.formatSpecifier(t),null==t.precision&&(t.precision=12),t.type){case"%":t.precision-=2;break;case"e":t.precision-=1}return a(x.format(t),e)}function u(t,e,n){var i=o(t,e);switch(null==n&&(n=",f"),n=D.formatSpecifier(n),n.type){case"s":var r=Math.max(Math.abs(i[0]),Math.abs(i[1]));return null==n.precision&&(n.precision=D.precisionPrefix(i[2],r)),x.formatPrefix(n,r);case"":case"e":case"g":case"p":case"r":null==n.precision&&(n.precision=D.precisionRound(i[2],Math.max(Math.abs(i[0]),Math.abs(i[1])))-("e"===n.type));break;case"f":case"%":null==n.precision&&(n.precision=D.precisionFixed(i[2])-2*("%"===n.type))}return x.format(n)}function g(){var t=B.format,e=t(".%L"),n=t(":%S"),i=t("%I:%M"),r=t("%I %p"),A=t("%a %d"),o=t("%b %d"),a=t("%B"),c=t("%Y");return function(t){var s=+t;return(p.second(t)<s?e:p.minute(t)<s?n:p.hour(t)<s?i:p.day(t)<s?r:p.month(t)<s?p.week(t)<s?A:o:p.year(t)<s?a:c)(t)}}function l(){var t=B.utcFormat,e=t(".%L"),n=t(":%S"),i=t("%I:%M"),r=t("%I %p"),A=t("%a %d"),o=t("%b %d"),a=t("%B"),c=t("%Y");return function(t){var s=+t;return(p.utcSecond(t)<s?e:p.utcMinute(t)<s?n:p.utcHour(t)<s?i:p.utcDay(t)<s?r:p.utcMonth(t)<s?p.utcWeek(t)<s?A:o:p.utcYear(t)<s?a:c)(t)}}function M(t,e){var n=e?E||(E=B.format("%b")):I||(I=B.format("%B"));return w.setMonth(t),n(w)}function h(t,e){var n=e?N||(N=B.format("%a")):T||(T=B.format("%A"));return w.setMonth(0),w.setDate(2+t),n(w)}function d(t){return Math.floor(t.getMonth()/3)+1}function f(t){return Math.floor(t.getUTCMonth()/3)+1}var I,E,T,N,y=n(16),p=n(222),C=n(664),D=n(665),x=D,B=C,w=new Date(2e3,0,1);t.exports={numberLocale:r,number:function(t){return x.format(t)},numberPrefix:function(t,e){return x.formatPrefix(t,e)},timeLocale:A,time:function(t){return B.format(t)},utc:function(t){return B.utcFormat(t)},locale:function(t){r(t),A(t)},auto:{number:s,linear:u,time:function(){return g()},utc:function(){return l()}},month:M,day:h,quarter:d,utcQuarter:f};var m=Math.sqrt(50),Q=Math.sqrt(10),v=Math.sqrt(2)},function(t,e,n){!function(t,n){n(e)}(0,function(t){"use strict";function e(t,n,i,o){function a(e){return t(e=new Date(+e)),e}return a.floor=a,a.round=function(e){var i=new Date(+e),r=new Date(e-1);return t(i),t(r),n(r,1),e-i<r-e?i:r},a.ceil=function(e){return t(e=new Date(e-1)),n(e,1),e},a.offset=function(t,e){return n(t=new Date(+t),null==e?1:Math.floor(e)),t},a.range=function(e,i,r){var A=[];if(e=new Date(e-1),i=new Date(+i),r=null==r?1:Math.floor(r),!(e<i&&r>0))return A;for(n(e,1),t(e),e<i&&A.push(new Date(+e));n(e,r),t(e),e<i;)A.push(new Date(+e));return A},a.filter=function(i){return e(function(e){for(;t(e),!i(e);)e.setTime(e-1)},function(t,e){for(;--e>=0;)for(;n(t,1),!i(t););})},i&&(a.count=function(e,n){return r.setTime(+e),A.setTime(+n),t(r),t(A),Math.floor(i(r,A))},a.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?a.filter(o?function(e){return o(e)%t==0}:function(e){return a.count(0,e)%t==0}):a:null}),a}function n(t){return e(function(e){e.setHours(0,0,0,0),e.setDate(e.getDate()-(e.getDay()+7-t)%7)},function(t,e){t.setDate(t.getDate()+7*e)},function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/6048e5})}function i(t){return e(function(e){e.setUTCHours(0,0,0,0),e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7)},function(t,e){t.setUTCDate(t.getUTCDate()+7*e)},function(t,e){return(e-t)/6048e5})}var r=new Date,A=new Date,o=e(function(){},function(t,e){t.setTime(+t+e)},function(t,e){return e-t});o.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?e(function(e){e.setTime(Math.floor(e/t)*t)},function(e,n){e.setTime(+e+n*t)},function(e,n){return(n-e)/t}):o:null};var a=e(function(t){t.setMilliseconds(0)},function(t,e){t.setTime(+t+1e3*e)},function(t,e){return(e-t)/1e3},function(t){return t.getSeconds()}),c=e(function(t){t.setSeconds(0,0)},function(t,e){t.setTime(+t+6e4*e)},function(t,e){return(e-t)/6e4},function(t){return t.getMinutes()}),s=e(function(t){t.setMinutes(0,0,0)},function(t,e){t.setTime(+t+36e5*e)},function(t,e){return(e-t)/36e5},function(t){return t.getHours()}),u=e(function(t){t.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+e)},function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/864e5},function(t){return t.getDate()-1}),g=n(0),l=n(1),M=n(2),h=n(3),d=n(4),f=n(5),I=n(6),E=e(function(t){t.setHours(0,0,0,0),t.setDate(1)},function(t,e){t.setMonth(t.getMonth()+e)},function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())},function(t){return t.getMonth()}),T=e(function(t){t.setHours(0,0,0,0),t.setMonth(0,1)},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t,e){return e.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()}),N=e(function(t){t.setUTCMilliseconds(0)},function(t,e){t.setTime(+t+1e3*e)},function(t,e){return(e-t)/1e3},function(t){return t.getUTCSeconds()}),y=e(function(t){t.setUTCSeconds(0,0)},function(t,e){t.setTime(+t+6e4*e)},function(t,e){return(e-t)/6e4},function(t){return t.getUTCMinutes()}),p=e(function(t){t.setUTCMinutes(0,0,0)},function(t,e){t.setTime(+t+36e5*e)},function(t,e){return(e-t)/36e5},function(t){return t.getUTCHours()}),C=e(function(t){t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+e)},function(t,e){return(e-t)/864e5},function(t){return t.getUTCDate()-1}),D=i(0),x=i(1),B=i(2),w=i(3),m=i(4),Q=i(5),v=i(6),j=e(function(t){t.setUTCHours(0,0,0,0),t.setUTCDate(1)},function(t,e){t.setUTCMonth(t.getUTCMonth()+e)},function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())},function(t){return t.getUTCMonth()}),L=e(function(t){t.setUTCHours(0,0,0,0),t.setUTCMonth(0,1)},function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)},function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()}),S=o.range,Y=a.range,b=c.range,O=s.range,z=u.range,U=g.range,F=l.range,k=M.range,R=h.range,G=d.range,H=f.range,J=I.range,P=g.range,X=E.range,V=T.range,W=o,_=S,Z=N.range,K=y.range,q=p.range,$=C.range,tt=D.range,et=x.range,nt=B.range,it=w.range,rt=m.range,At=Q.range,ot=v.range,at=D.range,ct=j.range,st=L.range;t.version="0.1.1",t.milliseconds=S,t.seconds=Y,t.minutes=b,t.hours=O,t.days=z,t.sundays=U,t.mondays=F,t.tuesdays=k,t.wednesdays=R,t.thursdays=G,t.fridays=H,t.saturdays=J,t.weeks=P,t.months=X,t.years=V,t.utcMillisecond=W,t.utcMilliseconds=_,t.utcSeconds=Z,t.utcMinutes=K,t.utcHours=q,t.utcDays=$,t.utcSundays=tt,t.utcMondays=et,t.utcTuesdays=nt,t.utcWednesdays=it,t.utcThursdays=rt,t.utcFridays=At,t.utcSaturdays=ot,t.utcWeeks=at,t.utcMonths=ct,t.utcYears=st,t.millisecond=o,t.second=a,t.minute=c,t.hour=s,t.day=u,t.sunday=g,t.monday=l,t.tuesday=M,t.wednesday=h,t.thursday=d,t.friday=f,t.saturday=I,t.week=g,t.month=E,t.year=T,t.utcSecond=N,t.utcMinute=y,t.utcHour=p,t.utcDay=C,t.utcSunday=D,t.utcMonday=x,t.utcTuesday=B,t.utcWednesday=w,t.utcThursday=m,t.utcFriday=Q,t.utcSaturday=v,t.utcWeek=D,t.utcMonth=j,t.utcYear=L,t.interval=e})},function(t,e,n){var i=n(16),r=t.exports;r.repeat=function(t,e){var n,i=Array(e);for(n=0;n<e;++n)i[n]=t;return i},r.zeros=function(t){return r.repeat(0,t)},r.range=function(t,e,n){if(arguments.length<3&&(n=1,arguments.length<2&&(e=t,t=0)),(e-t)/n==1/0)throw new Error("Infinite range");var i,r=[],A=-1;if(n<0)for(;(i=t+n*++A)>e;)r.push(i);else for(;(i=t+n*++A)<e;)r.push(i);return r},r.random={},r.random.uniform=function(t,e){void 0===e&&(e=void 0===t?1:t,t=0);var n=e-t,i=function(){return t+n*Math.random()};return i.samples=function(t){return r.zeros(t).map(i)},i.pdf=function(i){return i>=t&&i<=e?1/n:0},i.cdf=function(i){return i<t?0:i>e?1:(i-t)/n},i.icdf=function(e){return e>=0&&e<=1?t+e*n:NaN},i},r.random.integer=function(t,e){void 0===e&&(e=t,t=0);var n=e-t,i=function(){return t+Math.floor(n*Math.random())};return i.samples=function(t){return r.zeros(t).map(i)},i.pdf=function(i){return i===Math.floor(i)&&i>=t&&i<e?1/n:0},i.cdf=function(i){var r=Math.floor(i);return r<t?0:r>=e?1:(r-t+1)/n},i.icdf=function(e){return e>=0&&e<=1?t-1+Math.floor(e*n):NaN},i},r.random.normal=function(t,e){t=t||0,e=e||1;var n,i=function(){var i,r,A=0,o=0;if(void 0!==n)return A=n,n=void 0,A;do{A=2*Math.random()-1,o=2*Math.random()-1,i=A*A+o*o}while(0===i||i>1);return r=Math.sqrt(-2*Math.log(i)/i),n=t+o*r*e,t+A*r*e};return i.samples=function(t){return r.zeros(t).map(i)},i.pdf=function(n){var i=Math.exp(Math.pow(n-t,2)/(-2*Math.pow(e,2)));return 1/(e*Math.sqrt(2*Math.PI))*i},i.cdf=function(n){var i,r=(n-t)/e,A=Math.abs(r);if(A>37)i=0;else{var o,a=Math.exp(-A*A/2);A<7.07106781186547?(o=.0352624965998911*A+.700383064443688,o=o*A+6.37396220353165,o=o*A+33.912866078383,o=o*A+112.079291497871,o=o*A+221.213596169931,o=o*A+220.206867912376,i=a*o,o=.0883883476483184*A+1.75566716318264,o=o*A+16.064177579207,o=o*A+86.7807322029461,o=o*A+296.564248779674,o=o*A+637.333633378831,o=o*A+793.826512519948,o=o*A+440.413735824752,i/=o):(o=A+.65,o=A+4/o,o=A+3/o,o=A+2/o,o=A+1/o,i=a/o/2.506628274631)}return r>0?1-i:i},i.icdf=function(n){if(n<=0||n>=1)return NaN;var i=2*n-1,r=8*(Math.PI-3)/(3*Math.PI*(4-Math.PI)),A=2/(Math.PI*r)+Math.log(1-Math.pow(i,2))/2,o=Math.log(1-i*i)/r,a=(i>0?1:-1)*Math.sqrt(Math.sqrt(A*A-o)-A);return t+e*Math.SQRT2*a},i},r.random.bootstrap=function(t,e){var n=t.filter(i.isValid),A=n.length,o=e?r.random.normal(0,e):null,a=function(){return n[~~(Math.random()*A)]+(o?o():0)};return a.samples=function(t){return r.zeros(t).map(a)},a}},function(t,e,n){function i(t){return s.setTime(+t),s}function r(t,e,n,i,r,A){var o={type:t,date:e,unit:n};return i?o.step=i:o.minstep=1,null!=r&&(o.min=r),null!=A&&(o.max=A),o}function A(t,e,n,i,A,o){return r(t,function(t){return e.offset(n,t)},function(t){return e.count(n,t)},i,A,o)}function o(t,e,n,i){var r,A,o,a=h[0];for(r=1,A=h.length;r<A;++r)if(a=h[r],e>a[0]){if((o=e/a[0])>i)return t[h[r-1][1]];if(o>=n)return t[a[1]]}return t[h[A-1][1]]}function a(t){var e,n,i={};for(e=0,n=t.length;e<n;++e)i[t[e].type]=t[e];return i.find=function(e,n,i){return o(t,e,n,i)},i}var c=n(222),s=new Date,u=new Date(0,0,1).setFullYear(0),g=new Date(Date.UTC(0,0,1)).setUTCFullYear(0),l=[A("second",c.second,u),A("minute",c.minute,u),A("hour",c.hour,u),A("day",c.day,u,[1,7]),A("month",c.month,u,[1,3,6]),A("year",c.year,u),r("seconds",function(t){return new Date(1970,0,1,0,0,t)},function(t){return i(t).getSeconds()},null,0,59),r("minutes",function(t){return new Date(1970,0,1,0,t)},function(t){return i(t).getMinutes()},null,0,59),r("hours",function(t){return new Date(1970,0,1,t)},function(t){return i(t).getHours()},null,0,23),r("weekdays",function(t){return new Date(1970,0,4+t)},function(t){return i(t).getDay()},[1],0,6),r("dates",function(t){return new Date(1970,0,t)},function(t){return i(t).getDate()},[1],1,31),r("months",function(t){return new Date(1970,t%12,1)},function(t){return i(t).getMonth()},[1],0,11)],M=[A("second",c.utcSecond,g),A("minute",c.utcMinute,g),A("hour",c.utcHour,g),A("day",c.utcDay,g,[1,7]),A("month",c.utcMonth,g,[1,3,6]),A("year",c.utcYear,g),r("seconds",function(t){return new Date(Date.UTC(1970,0,1,0,0,t))},function(t){return i(t).getUTCSeconds()},null,0,59),r("minutes",function(t){return new Date(Date.UTC(1970,0,1,0,t))},function(t){return i(t).getUTCMinutes()},null,0,59),r("hours",function(t){return new Date(Date.UTC(1970,0,1,t))},function(t){return i(t).getUTCHours()},null,0,23),r("weekdays",function(t){return new Date(Date.UTC(1970,0,4+t))},function(t){return i(t).getUTCDay()},[1],0,6),r("dates",function(t){return new Date(Date.UTC(1970,0,t))},function(t){return i(t).getUTCDate()},[1],1,31),r("months",function(t){return new Date(Date.UTC(1970,t%12,1))},function(t){return i(t).getUTCMonth()},[1],0,11)],h=[[31536e6,5],[7776e6,4],[2592e6,4],[12096e5,3],[6048e5,3],[1728e5,3],[864e5,3],[432e5,2],[216e5,2],[108e5,2],[36e5,2],[18e5,1],[9e5,1],[3e5,1],[6e4,1],[3e4,0],[15e3,0],[5e3,0],[1e3,0]];t.exports=a(l),t.exports.utc=a(M)},function(t,e,n){n(678)},function(t,e,n){"use strict";e.a=Array.isArray},function(t,e,n){"use strict";var i=n(226);e.a=function(t){return null!=t?Object(i.a)(t)?t:[t]:[]}},function(t,e,n){"use strict";e.a=function(t){return"function"==typeof t}},function(t,e,n){"use strict";function i(t){return!!t.or}function r(t){return!!t.and}function A(t){return!!t.not}function o(t,e){if(A(t))o(t.not,e);else if(r(t))for(var n=0,a=t.and;n<a.length;n++){var c=a[n];o(c,e)}else if(i(t))for(var s=0,u=t.or;s<u.length;s++){var c=u[s];o(c,e)}else e(t)}function a(t,e){return A(t)?{not:a(t.not,e)}:r(t)?{and:t.and.map(function(t){return a(t,e)})}:i(t)?{or:t.or.map(function(t){return a(t,e)})}:e(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.isLogicalOr=i,e.isLogicalAnd=r,e.isLogicalNot=A,e.forEachLeave=o,e.normalizeLogicalOperand=a},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(2);e.defaultLegendConfig={};var A={entryPadding:1,format:1,offset:1,orient:1,padding:1,tickCount:1,title:1,type:1,values:1,zindex:1},o=i.__assign({},A,{opacity:1,shape:1,stroke:1,fill:1,size:1,encode:1});e.LEGEND_PROPERTIES=r.flagKeys(A),e.VG_LEGEND_PROPERTIES=r.flagKeys(o)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SELECTION_ID="_vgsid_",e.defaultConfig={single:{on:"click",fields:[e.SELECTION_ID],resolve:"global",empty:"all"},multi:{on:"click",fields:[e.SELECTION_ID],toggle:"event.shiftKey",resolve:"global",empty:"all"},interval:{on:"[mousedown, window:mouseup] > window:mousemove!",encodings:["x","y"],translate:"[mousedown, window:mouseup] > window:mousemove!",zoom:"wheel!",mark:{fill:"#333",fillOpacity:.125,stroke:"white"},resolve:"global"}}},function(t,e,n){"use strict";function i(t){return!!h[t]}function r(t){var e=t.x,n=t.y;if(s.isFieldDef(e)&&s.isFieldDef(n))if("quantitative"===e.type&&"quantitative"===n.type){if(e.stack)return"x";if(n.stack)return"y";if(!!e.aggregate!=!!n.aggregate)return e.aggregate?"x":"y"}else{if("quantitative"===e.type)return"x";if("quantitative"===n.type)return"y"}else{if(s.isFieldDef(e)&&"quantitative"===e.type)return"x";if(s.isFieldDef(n)&&"quantitative"===n.type)return"y"}}function A(t,n,A){var h=g.isMarkDef(t)?t.type:t;if(!M.contains(e.STACKABLE_MARKS,h))return null;var d=r(n);if(!d)return null;var f=n[d],I=s.isStringFieldDef(f)?s.field(f,{}):void 0,E="x"===d?"y":"x",T=n[E],N=s.isStringFieldDef(T)?s.field(T,{}):void 0,y=a.NONPOSITION_CHANNELS.reduce(function(t,e){if(c.channelHasField(n,e)){var i=n[e];(M.isArray(i)?i:[i]).forEach(function(n){var i=s.getFieldDef(n);if(!i.aggregate){var r=s.isStringFieldDef(i)?s.field(i,{}):void 0;(!r||r!==N&&r!==I)&&t.push({channel:e,fieldDef:i})}})}return t},[]);if(0===y.length)return null;var p=void 0;return(p=void 0!==f.stack?f.stack:M.contains(e.STACK_BY_DEFAULT_MARKS,h)&&void 0===A?"zero":A)&&i(p)?f.scale&&f.scale.type&&f.scale.type!==l.ScaleType.LINEAR?(u.warn(u.message.cannotStackNonLinearScale(f.scale.type)),null):c.channelHasField(n,d===a.X?a.X2:a.Y2)?(u.warn(u.message.cannotStackRangedMark(d)),null):(f.aggregate&&!M.contains(o.SUM_OPS,f.aggregate)&&u.warn(u.message.stackNonSummativeAggregate(f.aggregate)),{groupbyChannel:T?E:void 0,fieldChannel:d,impute:M.contains(["area","line"],h),stackBy:y,offset:p}):null}Object.defineProperty(e,"__esModule",{value:!0});var o=n(110),a=n(7),c=n(32),s=n(9),u=n(4),g=n(31),l=n(11),M=n(2),h={zero:1,center:1,normalize:1};e.isStackOffset=i,e.STACKABLE_MARKS=[g.BAR,g.AREA,g.RULE,g.POINT,g.CIRCLE,g.SQUARE,g.LINE,g.TEXT,g.TICK],e.STACK_BY_DEFAULT_MARKS=[g.BAR,g.AREA],e.stack=A},function(t,e,n){"use strict";function i(t,e,n){return n.bin?(t[a.field(n,{})]=!0,t[a.field(n,{binSuffix:"end"})]=!0,u.binRequiresRange(n,e)&&(t[a.field(n,{binSuffix:"range"})]=!0)):t[a.field(n)]=!0,t}function r(t,e){for(var n in e)if(e.hasOwnProperty(n)){var i=e[n];for(var r in i)i.hasOwnProperty(r)&&(n in t?t[n][r]=i[r]:t[n]={op:i[r]})}}Object.defineProperty(e,"__esModule",{value:!0});var A=n(3),o=n(7),a=n(9),c=n(4),s=n(2),u=n(23),g=n(22),l=function(t){function e(e,n){var i=t.call(this)||this;return i.dimensions=e,i.measures=n,i}return A.__extends(e,t),e.prototype.clone=function(){return new e(A.__assign({},this.dimensions),s.duplicate(this.measures))},e.makeFromEncoding=function(t){var n=!1;t.forEachFieldDef(function(t){t.aggregate&&(n=!0)});var r={},A={};return n?(t.forEachFieldDef(function(e,n){e.aggregate?"count"===e.aggregate?(r["*"]=r["*"]||{},r["*"].count=a.field(e,{aggregate:"count"})):(r[e.field]=r[e.field]||{},r[e.field][e.aggregate]=a.field(e),o.isScaleChannel(n)&&"unaggregated"===t.scaleDomain(n)&&(r[e.field].min=a.field(e,{aggregate:"min"}),r[e.field].max=a.field(e,{aggregate:"max"}))):i(A,n,e)}),s.keys(A).length+s.keys(r).length===0?null:new e(A,r)):null},e.makeFromTransform=function(t){for(var n={},i={},r=0,A=t.summarize;r<A.length;r++){var o=A[r];o.aggregate&&("count"===o.aggregate?(i["*"]=i["*"]||{},i["*"].count=o.as||a.field(o)):(i[o.field]=i[o.field]||{},i[o.field][o.aggregate]=o.as||a.field(o)))}for(var c=0,u=t.groupby;c<u.length;c++){var o=u[c];n[o]=!0}return s.keys(n).length+s.keys(i).length===0?null:new e(n,i)},e.prototype.merge=function(t){s.differ(this.dimensions,t.dimensions)?c.debug("different dimensions, cannot merge"):(r(this.measures,t.measures),t.remove())},e.prototype.addDimensions=function(t){var e=this;t.forEach(function(t){return e.dimensions[t]=!0})},e.prototype.dependentFields=function(){var t={};return s.keys(this.dimensions).forEach(function(e){return t[e]=!0}),s.keys(this.measures).forEach(function(e){return t[e]=!0}),t},e.prototype.producedFields=function(){var t=this,e={};return s.keys(this.measures).forEach(function(n){s.keys(t.measures[n]).forEach(function(t){e[t+"_"+n]=!0})}),e},e.prototype.assemble=function(){var t=this,e=[],n=[],i=[];return s.keys(this.measures).forEach(function(r){s.keys(t.measures[r]).forEach(function(A){i.push(t.measures[r][A]),e.push(A),n.push(r)})}),{type:"aggregate",groupby:s.keys(this.dimensions),ops:e,fields:n,as:i}},e}(g.DataFlowNode);e.AggregateNode=l},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(7),A=n(4),o=n(11),a=n(38),c=n(114),s=n(22),u=function(t){function e(e,n,i){var A=t.call(this)||this;return A.model=e,A.name=n,A.data=i,e.facet.column&&(A.columnFields=[e.field(r.COLUMN)],A.columnName=e.getName("column_domain"),e.fieldDef(r.COLUMN).bin&&A.columnFields.push(e.field(r.COLUMN,{binSuffix:"end"}))),e.facet.row&&(A.rowFields=[e.field(r.ROW)],A.rowName=e.getName("row_domain"),e.fieldDef(r.ROW).bin&&A.rowFields.push(e.field(r.ROW,{binSuffix:"end"}))),A.childModel=e.child,A}return i.__extends(e,t),Object.defineProperty(e.prototype,"fields",{get:function(){var t=[];return this.columnFields&&(t=t.concat(this.columnFields)),this.rowFields&&(t=t.concat(this.rowFields)),t},enumerable:!0,configurable:!0}),e.prototype.getSource=function(){return this.name},e.prototype.getChildIndependentFieldsWithStep=function(){for(var t={},e=0,n=["x","y"];e<n.length;e++){var i=n[e],r=this.childModel.component.scales[i];if(r&&!r.merged){var s=r.get("type"),u=r.get("range");if(o.hasDiscreteDomain(s)&&a.isVgRangeStep(u)){var g=c.assembleDomain(this.childModel,i),l=c.getFieldFromDomain(g);l?t[i]=l:A.warn("Unknown field for ${channel}. Cannot calculate view size.")}}}return t},e.prototype.assembleRowColumnData=function(t,e,n){var r={},A="row"===t?"y":"x";return n[A]&&(r=e?{fields:["distinct_"+n[A]],ops:["max"],as:["distinct_"+n[A]]}:{fields:[n[A]],ops:["distinct"]}),{name:"row"===t?this.rowName:this.columnName,source:e||this.data,transform:[i.__assign({type:"aggregate",groupby:"row"===t?this.rowFields:this.columnFields},r)]}},e.prototype.assemble=function(){var t=[],e=null,n=this.getChildIndependentFieldsWithStep();if(this.columnName&&this.rowName&&(n.x||n.y)){e="cross_"+this.columnName+"_"+this.rowName;var i=[].concat(n.x?[n.x]:[],n.y?[n.y]:[]),r=i.map(function(){return"distinct"});t.push({name:e,source:this.data,transform:[{type:"aggregate",groupby:this.columnFields.concat(this.rowFields),fields:i,ops:r}]})}return this.columnName&&t.push(this.assembleRowColumnData("column",e,n)),this.rowName&&t.push(this.assembleRowColumnData("row",e,n)),t},e}(s.DataFlowNode);e.FacetNode=u},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(7),A=n(9),o=n(11),a=n(2),c=n(22),s=function(t){function e(e){var n=t.call(this)||this;return n.fieldDefs=e,n}return i.__extends(e,t),e.prototype.clone=function(){return new e(i.__assign({},this.fieldDefs))},e.make=function(t){if("filter"!==t.config.invalidValues)return null;var n=t.reduceFieldDef(function(e,n,i){var A=r.isScaleChannel(i)&&t.getScaleComponent(i);if(A){var a=A.get("type");o.hasContinuousDomain(a)&&!n.aggregate&&(e[n.field]=n)}return e},{});return a.keys(n).length?new e(n):null},Object.defineProperty(e.prototype,"filter",{get:function(){return this.fieldDefs},enumerable:!0,configurable:!0}),e.prototype.assemble=function(){var t=this,e=a.keys(this.filter).reduce(function(e,n){var i=t.fieldDefs[n],r=A.field(i,{expr:"datum"});return null!==i&&(e.push(r+" !== null"),e.push("!isNaN("+r+")")),e},[]);return e.length>0?{type:"filter",expr:e.join(" && ")}:null},e}(c.DataFlowNode);e.FilterInvalidNode=s},function(t,e,n){"use strict";function i(t,e){var n="datum["+g.stringValue(t)+"]";if("number"===e)return"toNumber("+n+")";if("boolean"===e)return"toBoolean("+n+")";if("string"===e)return"toString("+n+")";if("date"===e)return"toDate("+n+")";if(0===e.indexOf("date:")){var i=e.slice(5,e.length);return"timeParse("+n+","+i+")"}if(0===e.indexOf("utc:")){var i=e.slice(4,e.length);return"utcParse("+n+","+i+")"}return c.warn(c.message.unrecognizedParse(e)),null}Object.defineProperty(e,"__esModule",{value:!0});var r=n(3),A=n(110),o=n(9),a=n(147),c=n(4),s=n(229),u=n(149),g=n(2),l=n(18),M=n(22),h=function(t){function e(e){var n=t.call(this)||this;return n._parse={},n._parse=e,n}return r.__extends(e,t),e.prototype.clone=function(){return new e(g.duplicate(this.parse))},e.make=function(t){var n={},i={};(t.transforms||[]).forEach(function(t){u.isCalculate(t)?i[t.as]=!0:u.isFilter(t)&&s.forEachLeave(t.filter,function(t){(a.isEqualFilter(t)||a.isRangeFilter(t)||a.isOneOfFilter(t))&&t.timeUnit&&(n[t.field]="date")})},{}),(l.isUnitModel(t)||l.isFacetModel(t))&&t.forEachFieldDef(function(t){if(o.isTimeFieldDef(t))n[t.field]="date";else if(o.isNumberFieldDef(t)){if(i[t.field]||A.isCountingAggregateOp(t.aggregate))return;n[t.field]="number"}});var r=t.data;if(r&&r.format&&r.format.parse){var M=r.format.parse;g.keys(M).forEach(function(t){n[t]=M[t]})}var h=t.component.data.ancestorParse;return g.keys(h).forEach(function(t){n[t]!==h[t]?c.warn(c.message.differentParse(t,n[t],h[t])):delete n[t]}),0===g.keys(n).length?null:new e(n)},Object.defineProperty(e.prototype,"parse",{get:function(){return this._parse},enumerable:!0,configurable:!0}),e.prototype.merge=function(t){this._parse=r.__assign({},this._parse,t.parse),t.remove()},e.prototype.assembleFormatParse=function(){return this._parse},e.prototype.producedFields=function(){return g.toSet(g.keys(this.parse))},e.prototype.dependentFields=function(){return g.toSet(g.keys(this.parse))},e.prototype.assembleTransforms=function(){var t=this;return g.keys(this._parse).map(function(e){var n=i(e,t._parse[e]);return n?{type:"formula",expr:n,as:e}:null}).filter(function(t){return null!==t})},e}(M.DataFlowNode);e.ParseNode=h},function(t,e,n){"use strict";function i(t){return t.stack.stackBy.reduce(function(t,e){var n=e.fieldDef,i=o.field(n);return i&&t.push(i),t},[])}Object.defineProperty(e,"__esModule",{value:!0});var r=n(3),A=n(0),o=n(9),a=n(2),c=n(23),s=n(22),u=function(t){function e(e){var n=t.call(this)||this;return n._stack=e,n}return r.__extends(e,t),e.prototype.clone=function(){return new e(a.duplicate(this._stack))},e.make=function(t){var n=t.stack;if(!n)return null;var r;n.groupbyChannel&&(r=t.fieldDef(n.groupbyChannel));var A,o=i(t),a=t.encoding.order;return A=a?c.sortParams(a):o.reduce(function(t,e){return t.field.push(e),t.order.push("descending"),t},{field:[],order:[]}),new e({dimensionFieldDef:r,field:t.field(n.fieldChannel),facetby:[],stackby:o,sort:A,offset:n.offset,impute:n.impute})},Object.defineProperty(e.prototype,"stack",{get:function(){return this._stack},enumerable:!0,configurable:!0}),e.prototype.addDimensions=function(t){this._stack.facetby=this._stack.facetby.concat(t)},e.prototype.dependentFields=function(){var t={};t[this._stack.field]=!0,this.getGroupbyFields().forEach(function(e){return t[e]=!0}),this._stack.facetby.forEach(function(e){return t[e]=!0});var e=this._stack.sort.field;return A.isArray(e)?e.forEach(function(e){return t[e]=!0}):t[e]=!0,t},e.prototype.producedFields=function(){var t={};return t[this._stack.field+"_start"]=!0,t[this._stack.field+"_end"]=!0,t},e.prototype.getGroupbyFields=function(){var t=this._stack,e=t.dimensionFieldDef,n=t.impute;return e?e.bin?n?[o.field(e,{binSuffix:"mid"})]:[o.field(e,{}),o.field(e,{binSuffix:"end"})]:[o.field(e)]:[]},e.prototype.assemble=function(){var t=[],e=this._stack,n=e.facetby,i=e.field,r=e.dimensionFieldDef,A=e.impute,a=e.offset,c=e.sort,s=e.stackby;if(A&&r){var u=r?o.field(r,{binSuffix:"mid"}):void 0;r.bin&&t.push({type:"formula",expr:"("+o.field(r,{expr:"datum"})+"+"+o.field(r,{expr:"datum",binSuffix:"end"})+")/2",as:u}),t.push({type:"impute",field:i,groupby:s,key:u,method:"value",value:0})}return t.push({type:"stack",groupby:this.getGroupbyFields().concat(n),field:i,sort:c,as:[i+"_start",i+"_end"],offset:a}),t},e}(s.DataFlowNode);e.StackNode=u},function(t,e,n){"use strict";function i(t,n,i){var A=u.channelSignalName(n,i,"visual"),a=u.channelSignalName(n,i,"data"),l=g.default.has(n),M=t.scaleName(i),h=s.stringValue(M),d=t.getScaleComponent(i),f=d?d.get("type"):void 0,I=t.getSizeSignalRef(i===o.X?"width":"height").signal,E=i+"(unit)",T=r(n,function(t,e){return t.concat({events:e.between[0],update:"["+E+", "+E+"]"},{events:e,update:"["+A+"[0], clamp("+E+", 0, "+I+")]"})});return T.push({events:{signal:n.name+e.SCALE_TRIGGER},update:c.hasContinuousDomain(f)&&!c.isBinScale(f)?"[scale("+h+", "+a+"[0]), scale("+h+", "+a+"[1])]":"[0, 0]"}),l?[{name:a,on:[]}]:[{name:A,value:[],on:T},{name:a,on:[{events:{signal:A},update:A+"[0] === "+A+"[1] ? null : invert("+h+", "+A+")"}]}]}function r(t,e){return t.events.reduce(function(t,n){return n.between?e(t,n):(a.warn(n+" is not an ordered event stream for interval selections"),t)},[])}Object.defineProperty(e,"__esModule",{value:!0});var A=n(3),o=n(7),a=n(4),c=n(11),s=n(2),u=n(21),g=n(155);e.BRUSH="_brush",e.SCALE_TRIGGER="_scale_trigger";var l={predicate:"vlInterval",scaleDomain:"vlIntervalDomain",signals:function(t,n){var A=n.name,l=g.default.has(n),M=[],h=[],d=[],f=[];if(n.translate&&!l){var I="!event.item || event.item.mark.name !== "+s.stringValue(A+e.BRUSH);r(n,function(t,e){var n=e.between[0].filter||(e.between[0].filter=[]);n.indexOf(I)<0&&n.push(I)})}return n.project.forEach(function(e){var r=e.channel;if(r!==o.X&&r!==o.Y)return void a.warn("Interval selections only support x and y encoding channels.");var A=i(t,n,r),g=u.channelSignalName(n,r,"data"),l=u.channelSignalName(n,r,"visual"),I=s.stringValue(t.scaleName(r)),E=t.getScaleComponent(r).get("type"),T=c.hasContinuousDomain(E)?"+":"";M.push.apply(M,A),d.push(g),h.push("{encoding: "+s.stringValue(r)+", field: "+s.stringValue(e.field)+", extent: "+g+"}"),f.push({scaleName:t.scaleName(r),expr:"(!isArray("+g+") || ("+T+"invert("+I+", "+l+")[0] === "+T+g+"[0] && "+T+"invert("+I+", "+l+")[1] === "+T+g+"[1]))"})}),l||M.push({name:A+e.SCALE_TRIGGER,update:f.map(function(t){return t.expr}).join(" && ")+" ? "+(A+e.SCALE_TRIGGER)+" : {}"}),M.concat({name:A+u.TUPLE,on:[{events:d.map(function(t){return{signal:t}}),update:d.join(" && ")+" ? {unit: "+u.unitName(t)+", intervals: ["+h.join(", ")+"]} : null"}]})},modifyExpr:function(t,e){return e.name+u.TUPLE+", "+("global"===e.resolve?"true":"{unit: "+u.unitName(t)+"}")},marks:function(t,n,i){var r=n.name,o=u.positionalProjections(n),a=o.xi,c=o.yi,l="data("+s.stringValue(n.name+u.STORE)+")";if(g.default.has(n))return i;var M={x:null!==a?{signal:r+"_x[0]"}:{value:0},y:null!==c?{signal:r+"_y[0]"}:{value:0},x2:null!==a?{signal:r+"_x[1]"}:{field:{group:"width"}},y2:null!==c?{signal:r+"_y[1]"}:{field:{group:"height"}}};"global"===n.resolve&&s.keys(M).forEach(function(e){M[e]=[A.__assign({test:l+".length && "+l+"[0].unit === "+u.unitName(t)},M[e]),{value:0}]});var h=n.mark,d=h.fill,f=h.fillOpacity,I=A.__rest(h,["fill","fillOpacity"]),E=s.keys(I).reduce(function(t,e){return t[e]={value:I[e]},t},{});return[{name:r+e.BRUSH+"_bg",type:"rect",clip:!0,encode:{enter:{fill:{value:d},fillOpacity:{value:f}},update:M}}].concat(i,{name:r+e.BRUSH,type:"rect",clip:!0,encode:{enter:A.__assign({fill:{value:"transparent"}},E),update:M}})}};e.default=l},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(4),r=n(21),A={has:function(t){return"interval"!==t.type&&t.nearest},marks:function(t,e,n){var A=r.positionalProjections(e),o=A.x,a=A.y,c=t.mark();if("line"===c||"area"===c)return i.warn(i.message.nearestNotSupportForContinuous(c)),n;var s={name:t.getName("voronoi"),type:"path",from:{data:t.getName("marks")},encode:{enter:{fill:{value:"transparent"},strokeWidth:{value:.35},stroke:{value:"transparent"},isVoronoi:{value:!0}}},transform:[{type:"voronoi",x:o||!o&&!a?"datum.x":{expr:"0"},y:a||!o&&!a?"datum.y":{expr:"0"},size:[t.getSizeSignalRef("width"),t.getSizeSignalRef("height")]}]},u=0,g=!1;return n.forEach(function(e,n){var i=e.name||"";i===t.component.mark[0].name?u=n:i.indexOf("voronoi")>=0&&(g=!0)}),g||n.splice(u+1,0,s),n}};e.default=A},function(t,e,n){"use strict";e.a=function(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,i=t.slice(0,n);return[i.length>1?i[0]+i.slice(2):i,+t.slice(n+1)]}},function(t,e,n){"use strict";function i(t){return r=Object(s.a)(t),A=r.format,o=r.parse,a=r.utcFormat,c=r.utcParse,r}n.d(e,"b",function(){return A}),n.d(e,"c",function(){return o}),n.d(e,"d",function(){return a}),n.d(e,"e",function(){return c}),e.a=i;var r,A,o,a,c,s=n(381);i({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]})},function(t,e,n){"use strict";function i(t){return t&&t.constructor===r}function r(){var t=[],e=[],n=[],i=[],a=[],c=!1;return{constructor:r,insert:function(e){for(var n=Object(o.array)(e),i=0,r=n.length;i<r;++i)t.push(n[i]);return this},remove:function(t){for(var n=Object(o.isFunction)(t)?i:e,r=Object(o.array)(t),A=0,a=r.length;A<a;++A)n.push(r[A]);return this},modify:function(t,e,i){var r={field:e,value:Object(o.constant)(i)};return Object(o.isFunction)(t)?(r.filter=t,a.push(r)):(r.tuple=t,n.push(r)),this},encode:function(t,e){return Object(o.isFunction)(t)?a.push({filter:t,field:e}):n.push({tuple:t,field:e}),this},reflow:function(){return c=!0,this},pulse:function(r,o){function s(t,e,n){n?t[e]=n(t):r.encode=e,c||(u[Object(A.f)(t)]=t)}var u,g,l,M,h,d,f;for(g=0,l=t.length;g<l;++g)r.add.push(Object(A.b)(t[g]));for(u={},g=0,l=e.length;g<l;++g)d=e[g],u[Object(A.f)(d)]=d;for(g=0,l=i.length;g<l;++g)h=i[g],o.forEach(function(t){h(t)&&(u[Object(A.f)(t)]=t)});for(f in u)r.rem.push(u[f]);for(u={},g=0,l=n.length;g<l;++g)M=n[g],s(M.tuple,M.field,M.value),r.modifies(M.field);for(g=0,l=a.length;g<l;++g)M=a[g],h=M.filter,o.forEach(function(t){h(t)&&s(t,M.field,M.value)}),r.modifies(M.field);if(c)r.mod=e.length||i.length?o.filter(function(t){return u.hasOwnProperty(Object(A.f)(t))}):o.slice();else for(f in u)r.mod.push(u[f]);return r}}}e.b=i,e.a=r;var A=n(243),o=n(0)},function(t,e,n){"use strict";function i(t){return!(!t||!r(t))}function r(t){return t[u]}function A(t,e){return t[u]=e,t}function o(t){var e=t===Object(t)?t:{data:t};return r(e)?e:A(e,g++)}function a(t){return c(t,o({}))}function c(t,e){for(var n in t)e[n]=t[n];return e}function s(t,e){return A(e,r(t))}e.c=i,e.f=r,e.b=o,e.a=a,e.d=c,e.e=s;var u=Symbol("vega_id"),g=1},function(t,e,n){"use strict";function i(){}function r(t,e){var n=new i;if(t instanceof i)t.each(function(t,e){n.set(e,t)});else if(Array.isArray(t)){var r,A=-1,o=t.length;if(null==e)for(;++A<o;)n.set(A,t[A]);else for(;++A<o;)n.set(e(r=t[A],A,t),r)}else if(t)for(var a in t)n.set(a,t[a]);return n}n.d(e,"b",function(){return A});var A="$";i.prototype=r.prototype={constructor:i,has:function(t){return A+t in this},get:function(t){return this[A+t]},set:function(t,e){return this[A+t]=e,this},remove:function(t){var e=A+t;return e in this&&delete this[e]},clear:function(){for(var t in this)t[0]===A&&delete this[t]},keys:function(){var t=[];for(var e in this)e[0]===A&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)e[0]===A&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)e[0]===A&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)e[0]===A&&++t;return t},empty:function(){for(var t in this)if(t[0]===A)return!1;return!0},each:function(t){for(var e in this)e[0]===A&&t(this[e],e.slice(1),this)}},e.a=r},function(t,e,n){"use strict";function i(t){return new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}")}function r(t,e){var n=i(t);return function(i,r){return e(n(i),r,t)}}function A(t){var e=Object.create(null),n=[];return t.forEach(function(t){for(var i in t)i in e||n.push(e[i]=i)}),n}e.a=function(t){function e(t,e){var A,o,a=n(t,function(t,n){if(A)return A(t,n-1);o=t,A=e?r(t,e):i(t)});return a.columns=o,a}function n(t,e){function n(){if(s>=c)return o;if(r)return r=!1,A;var e,n=s;if(34===t.charCodeAt(n)){for(var i=n;i++<c;)if(34===t.charCodeAt(i)){if(34!==t.charCodeAt(i+1))break;++i}return s=i+2,e=t.charCodeAt(i+1),13===e?(r=!0,10===t.charCodeAt(i+2)&&++s):10===e&&(r=!0),t.slice(n+1,i).replace(/""/g,'"')}for(;s<c;){var a=1;if(10===(e=t.charCodeAt(s++)))r=!0;else if(13===e)r=!0,10===t.charCodeAt(s)&&(++s,++a);else if(e!==g)continue;return t.slice(n,s-a)}return t.slice(n)}for(var i,r,A={},o={},a=[],c=t.length,s=0,u=0;(i=n())!==o;){for(var l=[];i!==A&&i!==o;)l.push(i),i=n();e&&null==(l=e(l,u++))||a.push(l)}return a}function o(e,n){return null==n&&(n=A(e)),[n.map(s).join(t)].concat(e.map(function(e){return n.map(function(t){return s(e[t])}).join(t)})).join("\n")}function a(t){return t.map(c).join("\n")}function c(e){return e.map(s).join(t)}function s(t){return null==t?"":u.test(t+="")?'"'+t.replace(/\"/g,'""')+'"':t}var u=new RegExp('["'+t+"\n\r]"),g=t.charCodeAt(0);return{parse:e,parseRows:n,format:o,formatRows:a}}},function(t,e,n){"use strict";function i(t){return new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}")}function r(t,e){var n=i(t);return function(i,r){return e(n(i),r,t)}}function A(t){var e=Object.create(null),n=[];return t.forEach(function(t){for(var i in t)i in e||n.push(e[i]=i)}),n}var o={},a={},c=34,s=10,u=13;e.a=function(t){function e(t,e){var A,o,a=n(t,function(t,n){if(A)return A(t,n-1);o=t,A=e?r(t,e):i(t)});return a.columns=o,a}function n(t,e){function n(){if(M)return a;if(h)return h=!1,o;var e,n,i=g;if(t.charCodeAt(i)===c){for(;g++<A&&t.charCodeAt(g)!==c||t.charCodeAt(++g)===c;);return(e=g)>=A?M=!0:(n=t.charCodeAt(g++))===s?h=!0:n===u&&(h=!0,t.charCodeAt(g)===s&&++g),t.slice(i+1,e-1).replace(/""/g,'"')}for(;g<A;){if((n=t.charCodeAt(e=g++))===s)h=!0;else if(n===u)h=!0,t.charCodeAt(g)===s&&++g;else if(n!==f)continue;return t.slice(i,e)}return M=!0,t.slice(i,A)}var i,r=[],A=t.length,g=0,l=0,M=A<=0,h=!1;for(t.charCodeAt(A-1)===s&&--A,t.charCodeAt(A-1)===u&&--A;(i=n())!==a;){for(var d=[];i!==o&&i!==a;)d.push(i),i=n();e&&null==(d=e(d,l++))||r.push(d)}return r}function g(e,n){return null==n&&(n=A(e)),[n.map(h).join(t)].concat(e.map(function(e){return n.map(function(t){return h(e[t])}).join(t)})).join("\n")}function l(t){return t.map(M).join("\n")}function M(e){return e.map(h).join(t)}function h(t){return null==t?"":d.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t}var d=new RegExp('["'+t+"\n\r]"),f=t.charCodeAt(0);return{parse:e,parseRows:n,format:g,formatRows:l}}},function(t,e,n){"use strict";var i=n(118);e.a=function(t,e,n){if(null==n&&(n=i.a),r=t.length){if((e=+e)<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,A=(r-1)*e,o=Math.floor(A),a=+n(t[o],o,t);return a+(+n(t[o+1],o+1,t)-a)*(A-o)}}},function(t,e,n){"use strict";var i=n(40),r=n(74),A=n(161),o=n(249);e.a=function(){function t(t){var r,A,o,g=t.length,l=!1;for(null==c&&(u=s(o=Object(i.a)())),r=0;r<=g;++r)!(r<g&&a(A=t[r],r,t))===l&&((l=!l)?u.lineStart():u.lineEnd()),l&&u.point(+e(A,r,t),+n(A,r,t));if(o)return u=null,o+""||null}var e=o.a,n=o.b,a=Object(r.a)(!0),c=null,s=A.a,u=null;return t.x=function(n){return arguments.length?(e="function"==typeof n?n:Object(r.a)(+n),t):e},t.y=function(e){return arguments.length?(n="function"==typeof e?e:Object(r.a)(+e),t):n},t.defined=function(e){return arguments.length?(a="function"==typeof e?e:Object(r.a)(!!e),t):a},t.curve=function(e){return arguments.length?(s=e,null!=c&&(u=s(c)),t):s},t.context=function(e){return arguments.length?(null==e?c=u=null:u=s(c=e),t):c},t}},function(t,e,n){"use strict";function i(t){return t[0]}function r(t){return t[1]}e.a=i,e.b=r},function(t,e,n){"use strict";function i(t,e,n){var i=t._x1,r=t._y1,o=t._x2,a=t._y2;if(t._l01_a>A.f){var c=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,s=3*t._l01_a*(t._l01_a+t._l12_a);i=(i*c-t._x0*t._l12_2a+t._x2*t._l01_2a)/s,r=(r*c-t._y0*t._l12_2a+t._y2*t._l01_2a)/s}if(t._l23_a>A.f){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,g=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*u+t._x1*t._l23_2a-e*t._l12_2a)/g,a=(a*u+t._y1*t._l23_2a-n*t._l12_2a)/g}t._context.bezierCurveTo(i,r,o,a,t._x2,t._y2)}function r(t,e){this._context=t,this._alpha=e}e.b=i;var A=n(120),o=n(164);r.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:i(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}},e.a=function t(e){function n(t){return e?new r(t,e):new o.a(t,0)}return n.alpha=function(e){return t(+e)},n}(.5)},function(t,e,n){"use strict";function i(t){for(var e,n=0,i=-1,r=t.length;++i<r;)(e=+t[i][1])&&(n+=e);return n}e.b=i;var r=n(122);e.a=function(t){var e=t.map(i);return Object(r.a)(t).sort(function(t,n){return e[t]-e[n]})}},function(t,e,n){"use strict";function i(t,e){var n=o[0]=t[0];if("a"===n||"A"===n)o[1]=e*t[1],o[2]=e*t[2],o[6]=e*t[6],o[7]=e*t[7];else for(var i=1,r=t.length;i<r;++i)o[i]=e*t[i];return o}function r(t,e,n,i){for(var r=Object(A.b)(i[5],i[6],i[0],i[1],i[3],i[4],i[2],e,n),o=0;o<r.length;++o){var a=Object(A.a)(r[o]);t.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5])}}var A=n(913),o=["l",0,0,0,0,0,0,0];e.a=function(t,e,n,A,o){var a,c,s,u,g,l=null,M=0,h=0,d=0,f=0;null==n&&(n=0),null==A&&(A=0),null==o&&(o=1),t.beginPath&&t.beginPath();for(var I=0,E=e.length;I<E;++I){switch(a=e[I],1!==o&&(a=i(a,o)),a[0]){case"l":M+=a[1],h+=a[2],t.lineTo(M+n,h+A);break;case"L":M=a[1],h=a[2],t.lineTo(M+n,h+A);break;case"h":M+=a[1],t.lineTo(M+n,h+A);break;case"H":M=a[1],t.lineTo(M+n,h+A);break;case"v":h+=a[1],t.lineTo(M+n,h+A);break;case"V":h=a[1],t.lineTo(M+n,h+A);break;case"m":M+=a[1],h+=a[2],t.moveTo(M+n,h+A);break;case"M":M=a[1],h=a[2],t.moveTo(M+n,h+A);break;case"c":c=M+a[5],s=h+a[6],d=M+a[3],f=h+a[4],t.bezierCurveTo(M+a[1]+n,h+a[2]+A,d+n,f+A,c+n,s+A),M=c,h=s;break;case"C":M=a[5],h=a[6],d=a[3],f=a[4],t.bezierCurveTo(a[1]+n,a[2]+A,d+n,f+A,M+n,h+A);break;case"s":c=M+a[3],s=h+a[4],d=2*M-d,f=2*h-f,t.bezierCurveTo(d+n,f+A,M+a[1]+n,h+a[2]+A,c+n,s+A),d=M+a[1],f=h+a[2],M=c,h=s;break;case"S":c=a[3],s=a[4],d=2*M-d,f=2*h-f,t.bezierCurveTo(d+n,f+A,a[1]+n,a[2]+A,c+n,s+A),M=c,h=s,d=a[1],f=a[2];break;case"q":c=M+a[3],s=h+a[4],d=M+a[1],f=h+a[2],t.quadraticCurveTo(d+n,f+A,c+n,s+A),M=c,h=s;break;case"Q":c=a[3],s=a[4],t.quadraticCurveTo(a[1]+n,a[2]+A,c+n,s+A),M=c,h=s,d=a[1],f=a[2];break;case"t":c=M+a[1],s=h+a[2],null===l[0].match(/[QqTt]/)?(d=M,f=h):"t"===l[0]?(d=2*M-u,f=2*h-g):"q"===l[0]&&(d=2*M-d,f=2*h-f),u=d,g=f,t.quadraticCurveTo(d+n,f+A,c+n,s+A),M=c,h=s,d=M+a[1],f=h+a[2];break;case"T":c=a[1],s=a[2],d=2*M-d,f=2*h-f,t.quadraticCurveTo(d+n,f+A,c+n,s+A),M=c,h=s;break;case"a":r(t,M+n,h+A,[a[1],a[2],a[3],a[4],a[5],a[6]+M+n,a[7]+h+A]),M+=a[6],h+=a[7];break;case"A":r(t,M+n,h+A,[a[1],a[2],a[3],a[4],a[5],a[6]+n,a[7]+A]),M=a[6],h=a[7];break;case"z":case"Z":t.closePath()}l=a}}},function(t,e,n){"use strict";var i=n(75),r=n(166),A=n(167),o=n(76),a=n(169);e.a=function(t,e){function n(t,n){t("transform",Object(a.a)(n)),t("d",e(null,n))}function c(t,n){return e(Object(r.a)(t),n),Object(i.a)(t,n).translate(n.x||0,n.y||0)}function s(t,n){var i=n.x||0,r=n.y||0;t.translate(i,r),t.beginPath(),e(t,n),t.translate(-i,-r)}return{type:t,tag:"path",nested:!1,attr:n,bound:c,draw:Object(A.a)(s),pick:Object(o.c)(s)}}},function(t,e,n){"use strict";var i=n(435);e.a=function(t,e,n){return(n*=null==e.fillOpacity?1:e.fillOpacity)>0&&(t.globalAlpha=n,t.fillStyle=Object(i.a)(t,e,e.fill),!0)}},function(t,e,n){"use strict";e.a=function(t,e){return"translate("+t+","+e+")"}},function(t,e,n){"use strict";var i=n(75),r=n(166),A=n(167),o=n(76);e.a=function(t,e){function n(t,n){var i=n.mark.items;i.length&&t("d",e(null,i))}function a(t,n){var A=n.items;return 0===A.length?t:(e(Object(r.a)(t),A),Object(i.a)(t,A[0]))}function c(t,n){t.beginPath(),e(t,n)}function s(t,e,n,i,r,A){var o=e.items,a=e.bounds;return!o||!o.length||a&&!a.contains(r,A)?null:(t.pixelRatio>1&&(n*=t.pixelRatio,i*=t.pixelRatio),u(t,o,n,i)?o[0]:null)}var u=Object(o.a)(c);return{type:t,tag:"path",nested:!0,attr:n,bound:a,draw:Object(A.b)(c),pick:s}}},function(t,e,n){"use strict";function i(t){this._active=null,this._handlers={},this._loader=t||Object(A.d)()}e.a=i;var r=n(59),A=n(69),o=i.prototype;o.initialize=function(t,e,n){return this._el=t,this._obj=n||null,this.origin(e)},o.element=function(){return this._el},o.origin=function(t){return this._origin=t||[0,0],this},o.scene=function(t){return arguments.length?(this._scene=t,this):this._scene},o.on=function(){},o.off=function(){},o.handlers=function(){var t,e=this._handlers,n=[];for(t in e)n.push.apply(n,e[t]);return n},o.eventName=function(t){var e=t.indexOf(".");return e<0?t:t.slice(0,e)},o.handleHref=function(t,e,n){this._loader.sanitize(n,{context:"href"}).then(function(e){var n=new MouseEvent(t.type,t),i=Object(r.d)(null,"a");for(var A in e)i.setAttribute(A,e[A]);i.dispatchEvent(n)}).catch(function(){})},o.handleTooltip=function(t,e,n){this._el.setAttribute("title",n||"")}},function(t,e,n){"use strict";function i(t,e,n){var i,r,A="<"+t;if(e)for(i in e)null!=(r=e[i])&&(A+=" "+i+'="'+r+'"');return n&&(A+=" "+n),A+">"}function r(t){return"</"+t+">"}e.b=i,e.a=r},function(t,e,n){"use strict";n.d(e,"e",function(){return i}),n.d(e,"h",function(){return r}),n.d(e,"o",function(){return A}),n.d(e,"l",function(){return o}),n.d(e,"a",function(){return a}),n.d(e,"n",function(){return c}),n.d(e,"g",function(){return s}),n.d(e,"d",function(){return u}),n.d(e,"f",function(){return g}),n.d(e,"i",function(){return l}),n.d(e,"j",function(){return M}),n.d(e,"m",function(){return h}),n.d(e,"b",function(){return d}),n.d(e,"c",function(){return f}),n.d(e,"k",function(){return I});var i="log",r="pow",A="utc",o="sqrt",a="band",c="time",s="point",u="linear",g="ordinal",l="quantile",M="quantize",h="threshold",d="bin-linear",f="bin-ordinal",I="sequential"},function(t,e,n){"use strict";var i=n(15),r=n(448),A=n(451),o=n(452),a=n(173),c=n(453),s=n(454),u=n(450);e.a=function(t,e){var n,g=typeof e;return null==e||"boolean"===g?Object(u.a)(e):("number"===g?a.a:"string"===g?(n=Object(i.a)(e))?(e=n,r.a):s.a:e instanceof i.a?r.a:e instanceof Date?o.a:Array.isArray(e)?A.a:"function"!=typeof e.valueOf&&"function"!=typeof e.toString||isNaN(e)?c.a:a.a)(t,e)}},function(t,e,n){"use strict";function i(){}function r(t){var e;return t=(t+"").trim().toLowerCase(),(e=y.exec(t))?(e=parseInt(e[1],16),new s(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1)):(e=p.exec(t))?A(parseInt(e[1],16)):(e=C.exec(t))?new s(e[1],e[2],e[3],1):(e=D.exec(t))?new s(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=x.exec(t))?o(e[1],e[2],e[3],e[4]):(e=B.exec(t))?o(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=w.exec(t))?u(e[1],e[2]/100,e[3]/100,1):(e=m.exec(t))?u(e[1],e[2]/100,e[3]/100,e[4]):Q.hasOwnProperty(t)?A(Q[t]):"transparent"===t?new s(NaN,NaN,NaN,0):null}function A(t){return new s(t>>16&255,t>>8&255,255&t,1)}function o(t,e,n,i){return i<=0&&(t=e=n=NaN),new s(t,e,n,i)}function a(t){return t instanceof i||(t=r(t)),t?(t=t.rgb(),new s(t.r,t.g,t.b,t.opacity)):new s}function c(t,e,n,i){return 1===arguments.length?a(t):new s(t,e,n,null==i?1:i)}function s(t,e,n,i){this.r=+t,this.g=+e,this.b=+n,this.opacity=+i}function u(t,e,n,i){return i<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new M(t,e,n,i)}function g(t){if(t instanceof M)return new M(t.h,t.s,t.l,t.opacity);if(t instanceof i||(t=r(t)),!t)return new M;if(t instanceof M)return t;t=t.rgb();var e=t.r/255,n=t.g/255,A=t.b/255,o=Math.min(e,n,A),a=Math.max(e,n,A),c=NaN,s=a-o,u=(a+o)/2;return s?(c=e===a?(n-A)/s+6*(n<A):n===a?(A-e)/s+2:(e-n)/s+4,s/=u<.5?a+o:2-a-o,c*=60):s=u>0&&u<1?0:c,new M(c,s,u,t.opacity)}function l(t,e,n,i){return 1===arguments.length?g(t):new M(t,e,n,null==i?1:i)}function M(t,e,n,i){this.h=+t,this.s=+e,this.l=+n,this.opacity=+i}function h(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}e.a=i,n.d(e,"d",function(){return f}),n.d(e,"c",function(){return I}),e.e=r,e.h=a,e.g=c,e.b=s,e.f=l;var d=n(262),f=.7,I=1/f,E="\\s*([+-]?\\d+)\\s*",T="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",N="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",y=/^#([0-9a-f]{3})$/,p=/^#([0-9a-f]{6})$/,C=new RegExp("^rgb\\("+[E,E,E]+"\\)$"),D=new RegExp("^rgb\\("+[N,N,N]+"\\)$"),x=new RegExp("^rgba\\("+[E,E,E,T]+"\\)$"),B=new RegExp("^rgba\\("+[N,N,N,T]+"\\)$"),w=new RegExp("^hsl\\("+[T,N,N]+"\\)$"),m=new RegExp("^hsla\\("+[T,N,N,T]+"\\)$"),Q={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Object(d.a)(i,r,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}}),Object(d.a)(s,c,Object(d.b)(i,{brighter:function(t){return t=null==t?I:Math.pow(I,t),new s(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?f:Math.pow(f,t),new s(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var t=this.opacity;return t=isNaN(t)?1:Math.max(0,Math.min(1,t)),(1===t?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}})),Object(d.a)(M,l,Object(d.b)(i,{brighter:function(t){return t=null==t?I:Math.pow(I,t),new M(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?f:Math.pow(f,t),new M(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*e,r=2*n-i;return new s(h(t>=240?t-240:t+120,r,i),h(t,r,i),h(t<120?t+240:t-120,r,i),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}))},function(t,e,n){"use strict";function i(t,e){var n=Object.create(t.prototype);for(var i in e)n[i]=e[i];return n}e.b=i,e.a=function(t,e,n){t.prototype=e.prototype=n,n.constructor=t}},function(t,e,n){"use strict";function i(t,e,n,i,r){var A=t*t,o=A*t;return((1-3*t+3*A-o)*e+(4-6*A+3*o)*n+(1+3*t+3*A-3*o)*i+o*r)/6}e.a=i,e.b=function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),A=t[r],o=t[r+1],a=r>0?t[r-1]:2*A-o,c=r<e-1?t[r+2]:2*o-A;return i((n-r/e)*e,a,A,o,c)}}},function(t,e,n){"use strict";e.a=function(t){return function(){return t}}},function(t,e,n){"use strict";function i(t,e,n,i){function g(r,A){return t<=r&&r<=n&&e<=A&&A<=i}function l(r,A,o,a){var c=0,s=0;if(null==r||(c=M(r,o))!==(s=M(A,o))||d(r,A)<0^o>0)do{a.point(0===c||3===c?t:n,c>1?i:e)}while((c=(c+o+4)%4)!==s);else a.point(A[0],A[1])}function M(i,A){return Object(r.a)(i[0]-t)<r.i?A>0?0:3:Object(r.a)(i[0]-n)<r.i?A>0?2:1:Object(r.a)(i[1]-e)<r.i?A>0?1:0:A>0?3:2}function h(t,e){return d(t.x,e.x)}function d(t,e){var n=M(t,1),i=M(e,1);return n!==i?n-i:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(r){function M(t,e){g(t,e)&&L.point(t,e)}function d(){for(var e=0,n=0,r=p.length;n<r;++n)for(var A,o,a=p[n],c=1,s=a.length,u=a[0],g=u[0],l=u[1];c<s;++c)A=g,o=l,u=a[c],g=u[0],l=u[1],o<=i?l>i&&(g-A)*(i-o)>(l-o)*(t-A)&&++e:l<=i&&(g-A)*(i-o)<(l-o)*(t-A)&&--e;return e}function f(){L=S,y=[],p=[],j=!0}function I(){var t=d(),e=j&&t,n=(y=Object(c.merge)(y)).length;(e||n)&&(r.polygonStart(),e&&(r.lineStart(),l(null,null,1,r),r.lineEnd()),n&&Object(a.a)(y,h,t,l,r),r.polygonEnd()),L=r,y=p=C=null}function E(){Y.point=N,p&&p.push(C=[]),v=!0,Q=!1,w=m=NaN}function T(){y&&(N(D,x),B&&Q&&S.rejoin(),y.push(S.result())),Y.point=M,Q&&L.lineEnd()}function N(r,A){var a=g(r,A);if(p&&C.push([r,A]),v)D=r,x=A,B=a,v=!1,a&&(L.lineStart(),L.point(r,A));else if(a&&Q)L.point(r,A);else{var c=[w=Math.max(u,Math.min(s,w)),m=Math.max(u,Math.min(s,m))],l=[r=Math.max(u,Math.min(s,r)),A=Math.max(u,Math.min(s,A))];Object(o.a)(c,l,t,e,n,i)?(Q||(L.lineStart(),L.point(c[0],c[1])),L.point(l[0],l[1]),a||L.lineEnd(),j=!1):a&&(L.lineStart(),L.point(r,A),j=!1)}w=r,m=A,Q=a}var y,p,C,D,x,B,w,m,Q,v,j,L=r,S=Object(A.a)(),Y={point:M,lineStart:E,lineEnd:T,polygonStart:f,polygonEnd:I};return Y}}e.a=i;var r=n(6),A=n(466),o=n(1037),a=n(467),c=n(10),s=1e9,u=-s},function(t,e,n){"use strict";e.a=function(t){return t}},function(t,e,n){"use strict";function i(t,e){function n(t,e){var n=Object(r.u)(a-2*A*Object(r.t)(e))/A;return[n*Object(r.t)(t*=A),c-n*Object(r.g)(t)]}var i=Object(r.t)(t),A=(i+Object(r.t)(e))/2;if(Object(r.a)(A)<r.i)return Object(o.a)(t);var a=1+i*(2*A-i),c=Object(r.u)(a)/A;return n.invert=function(t,e){var n=c-e;return[Object(r.e)(t,Object(r.a)(n))/A*Object(r.s)(n),Object(r.c)((a-(t*t+n*n)*A*A)/(2*A))]},n}var r=n(6),A=n(268),o=n(1050);e.a=function(){return Object(A.a)(i).scale(155.424).center([0,33.6442])}},function(t,e,n){"use strict";function i(t){var e=0,n=r.o/3,i=Object(A.b)(t),o=i(e,n);return o.parallels=function(t){return arguments.length?i(e=t[0]*r.r,n=t[1]*r.r):[e*r.h,n*r.h]},o}e.a=i;var r=n(6),A=n(53)},function(t,e,n){"use strict";function i(t,e,n){var i=e[1][0]-e[0][0],r=e[1][1]-e[0][1],a=t.clipExtent&&t.clipExtent();t.scale(150).translate([0,0]),null!=a&&t.clipExtent(null),Object(A.a)(n,t.stream(o.a));var c=o.a.result(),s=Math.min(i/(c[1][0]-c[0][0]),r/(c[1][1]-c[0][1])),u=+e[0][0]+(i-s*(c[1][0]+c[0][0]))/2,g=+e[0][1]+(r-s*(c[1][1]+c[0][1]))/2;return null!=a&&t.clipExtent(a),t.scale(150*s).translate([u,g])}function r(t,e,n){return i(t,[[0,0],e],n)}e.a=i,e.b=r;var A=n(79),o=n(472)},function(t,e,n){"use strict";function i(t,e){return[t,Object(A.n)(Object(A.v)((A.l+e)/2))]}function r(t){function e(){var e=A.o*g(),a=s(Object(o.a)(s.rotate()).invert([0,0]));return M(null==h?[[a[0]-e,a[1]-e],[a[0]+e,a[1]+e]]:t===i?[[Math.max(a[0]-e,h),n],[Math.min(a[0]+e,r),c]]:[[h,Math.max(a[1]-e,n)],[r,Math.min(a[1]+e,c)]])}var n,r,c,s=Object(a.a)(t),u=s.center,g=s.scale,l=s.translate,M=s.clipExtent,h=null;return s.scale=function(t){return arguments.length?(g(t),e()):g()},s.translate=function(t){return arguments.length?(l(t),e()):l()},s.center=function(t){return arguments.length?(u(t),e()):u()},s.clipExtent=function(t){return arguments.length?(null==t?h=n=r=c=null:(h=+t[0][0],n=+t[0][1],r=+t[1][0],c=+t[1][1]),e()):null==h?null:[[h,n],[r,c]]},e()}e.c=i,e.b=r;var A=n(6),o=n(176),a=n(53);i.invert=function(t,e){return[t,2*Object(A.d)(Object(A.k)(e))-A.l]},e.a=function(){return r(i).scale(961/A.w)}},function(t,e,n){"use strict";e.a=function(){return 1e-6*(Math.random()-.5)}},function(t,e,n){"use strict";e.a=function(t,e,n,i,r){this.node=t,this.x0=e,this.y0=n,this.x1=i,this.y1=r}},function(t,e,n){"use strict";var i=n(274);n.d(e,"a",function(){return i.b}),n.d(e,"c",function(){return i.c});var r=n(1085);n.d(e,"b",function(){return r.a});n(1086)},function(t,e,n){"use strict";function i(){return T||(p(r),T=y.now()+N)}function r(){T=0}function A(){this._call=this._time=this._next=null}function o(t,e,n){var i=new A;return i.restart(t,e,n),i}function a(){i(),++h;for(var t,e=l;e;)(t=T-e._time)>=0&&e._call.call(null,t),e=e._next;--h}function c(){T=(E=y.now())+N,h=d=0;try{a()}finally{h=0,u(),T=0}}function s(){var t=y.now(),e=t-E;e>I&&(N-=e,E=t)}function u(){for(var t,e,n=l,i=1/0;n;)n._call?(i>n._time&&(i=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:l=e);M=t,g(i)}function g(t){if(!h){d&&(d=clearTimeout(d));var e=t-T;e>24?(t<1/0&&(d=setTimeout(c,e)),f&&(f=clearInterval(f))):(f||(E=T,f=setInterval(s,I)),h=1,p(c))}}e.b=i,e.a=A,e.c=o;var l,M,h=0,d=0,f=0,I=1e3,E=0,T=0,N=0,y="object"==typeof performance&&performance.now?performance:Date,p="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};A.prototype=o.prototype={constructor:A,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?i():+n)+(null==e?0:+e),this._next||M===this||(M?M._next=this:l=this,M=this),this._call=t,this._time=n,g()},stop:function(){this._call&&(this._call=null,this._time=1/0,g())}}},function(t,e,n){"use strict";function i(t,e){var n,i,r,o,s,u=new c(t),g=+t.value&&(u.value=t.value),l=[u];for(null==e&&(e=A);n=l.pop();)if(g&&(n.value=+n.data.value),(r=e(n.data))&&(s=r.length))for(n.children=new Array(s),o=s-1;o>=0;--o)l.push(i=n.children[o]=new c(r[o])),i.parent=n,i.depth=n.depth+1;return u.eachBefore(a)}function r(){return i(this).eachBefore(o)}function A(t){return t.children}function o(t){t.data=t.data.data}function a(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function c(t){this.data=t,this.depth=this.height=0,this.parent=null}e.c=i,e.b=a,e.a=c;var s=n(1092),u=n(1093),g=n(1094),l=n(1095),M=n(1096),h=n(1097),d=n(1098),f=n(1099),I=n(1100),E=n(1101),T=n(1102);c.prototype=i.prototype={constructor:c,count:s.a,each:u.a,eachAfter:l.a,eachBefore:g.a,sum:M.a,sort:h.a,path:d.a,ancestors:f.a,descendants:I.a,leaves:E.a,links:T.a,copy:r}},function(t,e,n){"use strict";function i(t){return null==t?null:r(t)}function r(t){if("function"!=typeof t)throw new Error;return t}e.a=i,e.b=r},function(t,e,n){"use strict";function i(t,e,n,i,o,a){for(var c,s,u,g,l,M,h,d,f,I,E,T=[],N=e.children,y=0,p=0,C=N.length,D=e.value;y<C;){u=o-n,g=a-i;do{l=N[p++].value}while(!l&&p<C);for(M=h=l,I=Math.max(g/u,u/g)/(D*t),E=l*l*I,f=Math.max(h/E,E/M);p<C;++p){if(l+=s=N[p].value,s<M&&(M=s),s>h&&(h=s),E=l*l*I,(d=Math.max(h/E,E/M))>f){l-=s;break}f=d}T.push(c={value:l,dice:u<g,children:N.slice(y,p)}),c.dice?Object(r.a)(c,n,i,o,D?i+=g*l/D:a):Object(A.a)(c,n,i,D?n+=u*l/D:o,a),D-=l,y=p}return T}n.d(e,"b",function(){return o}),e.c=i;var r=n(131),A=n(178),o=(1+Math.sqrt(5))/2;e.a=function t(e){function n(t,n,r,A,o){i(e,t,n,r,A,o)}return n.ratio=function(e){return t((e=+e)>1?e:1)},n}(o)},function(t,e,n){"use strict";function i(){this._=null}function r(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function A(t,e){var n=e,i=e.R,r=n.U;r?r.L===n?r.L=i:r.R=i:t._=i,i.U=r,n.U=i,n.R=i.L,n.R&&(n.R.U=n),i.L=n}function o(t,e){var n=e,i=e.L,r=n.U;r?r.L===n?r.L=i:r.R=i:t._=i,i.U=r,n.U=i,n.L=i.R,n.L&&(n.L.U=n),i.R=n}function a(t){for(;t.L;)t=t.L;return t}e.a=r,i.prototype={constructor:i,insert:function(t,e){var n,i,r;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;n=t}else this._?(t=a(this._),e.P=null,e.N=t,t.P=t.L=e,n=t):(e.P=e.N=null,this._=e,n=null);for(e.L=e.R=null,e.U=n,e.C=!0,t=e;n&&n.C;)i=n.U,n===i.L?(r=i.R,r&&r.C?(n.C=r.C=!1,i.C=!0,t=i):(t===n.R&&(A(this,n),t=n,n=t.U),n.C=!1,i.C=!0,o(this,i))):(r=i.L,r&&r.C?(n.C=r.C=!1,i.C=!0,t=i):(t===n.L&&(o(this,n),t=n,n=t.U),n.C=!1,i.C=!0,A(this,i))),n=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,n,i,r=t.U,c=t.L,s=t.R;if(n=c?s?a(s):c:s,r?r.L===t?r.L=n:r.R=n:this._=n,c&&s?(i=n.C,n.C=t.C,n.L=c,c.U=n,n!==s?(r=n.U,n.U=t.U,t=n.R,r.L=t,n.R=s,s.U=n):(n.U=r,r=n,t=n.R)):(i=t.C,t=n),t&&(t.U=r),!i){if(t&&t.C)return void(t.C=!1);do{if(t===this._)break;if(t===r.L){if(e=r.R,e.C&&(e.C=!1,r.C=!0,A(this,r),e=r.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,o(this,e),e=r.R),e.C=r.C,r.C=e.R.C=!1,A(this,r),t=this._;break}}else if(e=r.L,e.C&&(e.C=!1,r.C=!0,o(this,r),e=r.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,A(this,e),e=r.L),e.C=r.C,r.C=e.L.C=!1,o(this,r),t=this._;break}e.C=!0,t=r,r=r.U}while(!t.C);t&&(t.C=!1)}}},e.b=i},function(t,e,n){"use strict";function i(t,e,n,i){var r=[null,null],o=s.e.push(r)-1;return r.left=t,r.right=e,n&&A(r,t,e,n),i&&A(r,e,t,i),s.b[t.index].halfedges.push(o),s.b[e.index].halfedges.push(o),r}function r(t,e,n){var i=[e,n];return i.left=t,i}function A(t,e,n,i){t[0]||t[1]?t.left===n?t[1]=i:t[0]=i:(t[0]=i,t.left=e,t.right=n)}function o(t,e,n,i,r){var A,o=t[0],a=t[1],c=o[0],s=o[1],u=a[0],g=a[1],l=0,M=1,h=u-c,d=g-s;if(A=e-c,h||!(A>0)){if(A/=h,h<0){if(A<l)return;A<M&&(M=A)}else if(h>0){if(A>M)return;A>l&&(l=A)}if(A=i-c,h||!(A<0)){if(A/=h,h<0){if(A>M)return;A>l&&(l=A)}else if(h>0){if(A<l)return;A<M&&(M=A)}if(A=n-s,d||!(A>0)){if(A/=d,d<0){if(A<l)return;A<M&&(M=A)}else if(d>0){if(A>M)return;A>l&&(l=A)}if(A=r-s,d||!(A<0)){if(A/=d,d<0){if(A>M)return;A>l&&(l=A)}else if(d>0){if(A<l)return;A<M&&(M=A)}return!(l>0||M<1)||(l>0&&(t[0]=[c+l*h,s+l*d]),M<1&&(t[1]=[c+M*h,s+M*d]),!0)}}}}}function a(t,e,n,i,r){var A=t[1];if(A)return!0;var o,a,c=t[0],s=t.left,u=t.right,g=s[0],l=s[1],M=u[0],h=u[1],d=(g+M)/2,f=(l+h)/2;if(h===l){if(d<e||d>=i)return;if(g>M){if(c){if(c[1]>=r)return}else c=[d,n];A=[d,r]}else{if(c){if(c[1]<n)return}else c=[d,r];A=[d,n]}}else if(o=(g-M)/(h-l),a=f-o*d,o<-1||o>1)if(g>M){if(c){if(c[1]>=r)return}else c=[(n-a)/o,n];A=[(r-a)/o,r]}else{if(c){if(c[1]<n)return}else c=[(r-a)/o,r];A=[(n-a)/o,n]}else if(l<h){if(c){if(c[0]>=i)return}else c=[e,o*e+a];A=[i,o*i+a]}else{if(c){if(c[0]<e)return}else c=[i,o*i+a];A=[e,o*e+a]}return t[0]=c,t[1]=A,!0}function c(t,e,n,i){for(var r,A=s.e.length;A--;)a(r=s.e[A],t,e,n,i)&&o(r,t,e,n,i)&&(Math.abs(r[0][0]-r[1][0])>s.f||Math.abs(r[0][1]-r[1][1])>s.f)||delete s.e[A]}e.c=i,e.b=r,e.d=A,e.a=c;var s=n(132)},function(t,e,n){"use strict";function i(t,e){var n=o[0]=t[0];if("a"===n||"A"===n)o[1]=e*t[1],o[2]=e*t[2],o[6]=e*t[6],o[7]=e*t[7];else for(var i=1,r=t.length;i<r;++i)o[i]=e*t[i];return o}function r(t,e,n,i){for(var r=Object(A.b)(i[5],i[6],i[0],i[1],i[3],i[4],i[2],e,n),o=0;o<r.length;++o){var a=Object(A.a)(r[o]);t.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5])}}var A=n(1139),o=["l",0,0,0,0,0,0,0];e.a=function(t,e,n,A,o){var a,c,s,u,g,l=null,M=0,h=0,d=0,f=0;null==n&&(n=0),null==A&&(A=0),null==o&&(o=1),t.beginPath&&t.beginPath();for(var I=0,E=e.length;I<E;++I){switch(a=e[I],1!==o&&(a=i(a,o)),a[0]){case"l":M+=a[1],h+=a[2],t.lineTo(M+n,h+A);break;case"L":M=a[1],h=a[2],t.lineTo(M+n,h+A);break;case"h":M+=a[1],t.lineTo(M+n,h+A);break;case"H":M=a[1],t.lineTo(M+n,h+A);break;case"v":h+=a[1],t.lineTo(M+n,h+A);break;case"V":h=a[1],t.lineTo(M+n,h+A);break;case"m":M+=a[1],h+=a[2],t.moveTo(M+n,h+A);break;case"M":M=a[1],h=a[2],t.moveTo(M+n,h+A);break;case"c":c=M+a[5],s=h+a[6],d=M+a[3],f=h+a[4],t.bezierCurveTo(M+a[1]+n,h+a[2]+A,d+n,f+A,c+n,s+A),M=c,h=s;break;case"C":M=a[5],h=a[6],d=a[3],f=a[4],t.bezierCurveTo(a[1]+n,a[2]+A,d+n,f+A,M+n,h+A);break;case"s":c=M+a[3],s=h+a[4],d=2*M-d,f=2*h-f,t.bezierCurveTo(d+n,f+A,M+a[1]+n,h+a[2]+A,c+n,s+A),d=M+a[1],f=h+a[2],M=c,h=s;break;case"S":c=a[3],s=a[4],d=2*M-d,f=2*h-f,t.bezierCurveTo(d+n,f+A,a[1]+n,a[2]+A,c+n,s+A),M=c,h=s,d=a[1],f=a[2];break;case"q":c=M+a[3],s=h+a[4],d=M+a[1],f=h+a[2],t.quadraticCurveTo(d+n,f+A,c+n,s+A),M=c,h=s;break;case"Q":c=a[3],s=a[4],t.quadraticCurveTo(a[1]+n,a[2]+A,c+n,s+A),M=c,h=s,d=a[1],f=a[2];break;case"t":c=M+a[1],s=h+a[2],null===l[0].match(/[QqTt]/)?(d=M,f=h):"t"===l[0]?(d=2*M-u,f=2*h-g):"q"===l[0]&&(d=2*M-d,f=2*h-f),u=d,g=f,t.quadraticCurveTo(d+n,f+A,c+n,s+A),M=c,h=s,d=M+a[1],f=h+a[2];break;case"T":c=a[1],s=a[2],d=2*M-d,f=2*h-f,t.quadraticCurveTo(d+n,f+A,c+n,s+A),M=c,h=s;break;case"a":r(t,M+n,h+A,[a[1],a[2],a[3],a[4],a[5],a[6]+M+n,a[7]+h+A]),M+=a[6],h+=a[7];break;case"A":r(t,M+n,h+A,[a[1],a[2],a[3],a[4],a[5],a[6]+n,a[7]+A]),M=a[6],h=a[7];break;case"z":case"Z":t.closePath()}l=a}}},function(t,e,n){"use strict";var i=n(83),r=n(182),A=n(183),o=n(84),a=n(185);e.a=function(t,e){function n(t,n){t("transform",Object(a.a)(n)),t("d",e(null,n))}function c(t,n){return e(Object(r.a)(t),n),Object(i.a)(t,n).translate(n.x||0,n.y||0)}function s(t,n){var i=n.x||0,r=n.y||0;t.translate(i,r),t.beginPath(),e(t,n),t.translate(-i,-r)}return{type:t,tag:"path",nested:!1,attr:n,bound:c,draw:Object(A.a)(s),pick:Object(o.c)(s)}}},function(t,e,n){"use strict";var i=n(497);e.a=function(t,e,n){return(n*=null==e.fillOpacity?1:e.fillOpacity)>0&&(t.globalAlpha=n,t.fillStyle=Object(i.a)(t,e,e.fill),!0)}},function(t,e,n){"use strict";e.a=function(t,e){return"translate("+t+","+e+")"}},function(t,e,n){"use strict";var i=n(83),r=n(182),A=n(183),o=n(84);e.a=function(t,e){function n(t,n){var i=n.mark.items;i.length&&t("d",e(null,i))}function a(t,n){var A=n.items;return 0===A.length?t:(e(Object(r.a)(t),A),Object(i.a)(t,A[0]))}function c(t,n){t.beginPath(),e(t,n)}function s(t,e,n,i,r,A){var o=e.items,a=e.bounds;return!o||!o.length||a&&!a.contains(r,A)?null:(t.pixelRatio>1&&(n*=t.pixelRatio,i*=t.pixelRatio),u(t,o,n,i)?o[0]:null)}var u=Object(o.a)(c);return{type:t,tag:"path",nested:!0,attr:n,bound:a,draw:Object(A.b)(c),pick:s}}},function(t,e,n){"use strict";function i(t){this._active=null,this._handlers={},this._loader=t||Object(A.d)()}e.a=i;var r=n(85),A=n(69),o=i.prototype;o.initialize=function(t,e,n){return this._el=t,this._obj=n||null,this.origin(e)},o.element=function(){return this._el},o.origin=function(t){return this._origin=t||[0,0],this},o.scene=function(t){return arguments.length?(this._scene=t,this):this._scene},o.on=function(){},o.off=function(){},o.handlers=function(){var t,e=this._handlers,n=[];for(t in e)n.push.apply(n,e[t]);return n},o.eventName=function(t){var e=t.indexOf(".");return e<0?t:t.slice(0,e)},o.handleHref=function(t,e,n){this._loader.sanitize(n,{context:"href"}).then(function(e){var n=new MouseEvent(t.type,t),i=Object(r.d)(null,"a");for(var A in e)i.setAttribute(A,e[A]);i.dispatchEvent(n)}).catch(function(){})},o.handleTooltip=function(t,e,n){this._el.setAttribute("title",n||"")}},function(t,e,n){"use strict";function i(t,e,n){var i,r,A="<"+t;if(e)for(i in e)null!=(r=e[i])&&(A+=" "+i+'="'+r+'"');return n&&(A+=" "+n),A+">"}function r(t){return"</"+t+">"}e.b=i,e.a=r},function(t,e,n){"use strict";var i=n(507),r=n(54);e.a=function(t,e,n){var A=Object(r.I)(e),o=A&&A.headless;return o?t.runAsync().then(function(){return Object(i.a)(t,null,null,o,n).renderAsync(t._scenegraph.root)}):Promise.reject("Unrecognized renderer type: "+e)}},function(t,e,n){"use strict";function i(t,e){Object(r.error)(t+' for "outer" push: '+Object(r.stringValue)(e))}var r=n(0),A=["value","update","react","bind"];e.a=function(t,e){var n=t.name;if("outer"===t.push)e.signals[n]||i("No prior signal definition",n),A.forEach(function(e){void 0!==t[e]&&i("Invalid property ",e)});else{var r=e.addSignal(n,t.value);!1===t.react&&(r.react=!1),t.bind&&e.addBinding(n,t.bind)}}},function(t,e,n){"use strict";n.d(e,"b",function(){return i}),n.d(e,"a",function(){return r});var i="Literal",r="Identifier"},function(t,e,n){"use strict";function i(t){var e=this.context.data[t];return e?e.values.value:[]}function r(t,e,n,i){e[0].type!==c.b&&Object(u.error)("First argument to data functions must be a string literal.");var r=e[0].value,A=s.a+r;i.hasOwnProperty(A)||(i[A]=n.getData(r).tuplesRef())}function A(t,e,n){var i=this.context.data[t]["index:"+e],r=i?i.value.get(n):void 0;return r?r.count:r}function o(t,e,n,i){e[0].type!==c.b&&Object(u.error)("First argument to indata must be a string literal."),e[1].type!==c.b&&Object(u.error)("Second argument to indata must be a string literal.");var r=e[0].value,A=e[1].value,o=s.b+A;i.hasOwnProperty(o)||(i[o]=n.getData(r).indataRef(n,A))}function a(t,e){var n=this.context.dataflow,i=this.context.data[t],r=i.input;return n.pulse(r,n.changeset().remove(u.truthy).insert(e)),1}e.a=i,e.b=r,e.c=A,e.d=o,e.e=a;var c=n(289),s=n(191),u=n(0)},function(t,e,n){"use strict";function i(t,e,n){var i,A,o,a={};for(A=0,o=t.params.length;A<o;++A)i=t.params[A],a[i.name]=r(i,e,n);return a}function r(t,e,n){var i=t.type,r=e[t.name];return"index"===i?o(t,e,n):void 0===r?void(t.required&&Object(T.error)("Missing required "+Object(T.stringValue)(e.type)+" parameter: "+Object(T.stringValue)(t.name))):"param"===i?a(t,e,n):"projection"===i?n.projectionRef(e[t.name]):t.array&&!Object(f.g)(r)?r.map(function(e){return A(t,e,n)}):A(t,r,n)}function A(t,e,n){var i=t.type;if(Object(f.g)(e))return l(i)?Object(T.error)("Expression references can not be signals."):M(i)?n.fieldRef(e):h(i)?n.compareRef(e):n.signalRef(e.signal);var r=t.expr||M(i);return r&&s(e)?Object(d.a)(e.expr,n):r&&u(e)?Object(f.f)(e.field):l(i)?Object(d.a)(e,n):g(i)?Object(f.k)(n.getData(e).values):M(i)?Object(f.f)(e):h(i)?n.compareRef(e):e}function o(t,e,n){return Object(T.isString)(e.from)||Object(T.error)('Lookup "from" parameter must be a string literal.'),n.getData(e.from).lookupRef(n,e.key)}function a(t,e,n){var i=e[t.name];return t.array?(Object(T.isArray)(i)||Object(T.error)("Expected an array of sub-parameters. Instead: "+Object(T.stringValue)(i)),i.map(function(e){return c(t,e,n)})):c(t,i,n)}function c(t,e,n){var r,A,o,a,c;for(a=0,c=t.params.length;a<c;++a){A=t.params[a];for(o in A.key)if(A.key[o]!==e[o]){A=null;break}if(A)break}return A||Object(T.error)("Unsupported parameter: "+Object(T.stringValue)(e)),r=Object(T.extend)(i(A,e,n),A.key),Object(f.k)(n.add(Object(I.p)(r)))}function s(t){return t&&t.expr}function u(t){return t&&t.field}function g(t){return"data"===t}function l(t){return"expr"===t}function M(t){return"field"===t}function h(t){return"compare"===t}var d=n(86),f=n(25),I=n(34),E=n(1),T=n(0);e.a=function(t,e){var n=Object(E.i)(t.type);n||Object(T.error)("Unrecognized transform type: "+Object(T.stringValue)(t.type));var r=Object(f.e)(n.type.toLowerCase(),null,i(n,t,e));return t.signal&&e.addSignal(t.signal,e.proxy(r)),r.metadata=n.metadata||{},r}},function(t,e,n){"use strict";var i=n(135);e.a=function(t,e,n){if(null==n&&(n=i.a),r=t.length){if((e=+e)<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,A=(r-1)*e,o=Math.floor(A),a=+n(t[o],o,t);return a+(+n(t[o+1],o+1,t)-a)*(A-o)}}},function(t,e,n){"use strict";var i=n(1284);n.d(e,"y",function(){return i.a});var r=n(1285);n.d(e,"D",function(){return r.b}),n.d(e,"E",function(){return r.a}),n.d(e,"G",function(){return r.c}),n.d(e,"F",function(){return r.b});var A=n(1286);n.d(e,"m",function(){return A.b}),n.d(e,"n",function(){return A.a}),n.d(e,"p",function(){return A.c}),n.d(e,"o",function(){return A.b});var o=n(1287);n.d(e,"z",function(){return o.b}),n.d(e,"A",function(){return o.a}),n.d(e,"C",function(){return o.c}),n.d(e,"B",function(){return o.b});var a=n(1288);n.d(e,"H",function(){return a.b}),n.d(e,"I",function(){return a.a}),n.d(e,"K",function(){return a.c}),n.d(e,"J",function(){return a.b});var c=n(1289);n.d(e,"u",function(){return c.b}),n.d(e,"v",function(){return c.a}),n.d(e,"x",function(){return c.c}),n.d(e,"w",function(){return c.b});var s=n(1290);n.d(e,"i",function(){return s.b}),n.d(e,"j",function(){return s.a}),n.d(e,"l",function(){return s.c}),n.d(e,"k",function(){return s.b});var u=n(1291);n.d(e,"e",function(){return u.c}),n.d(e,"f",function(){return u.a}),n.d(e,"h",function(){return u.c}),n.d(e,"g",function(){return u.b});var g=n(1292);n.d(e,"a",function(){return g.b}),n.d(e,"b",function(){return g.a}),n.d(e,"d",function(){return g.c}),n.d(e,"c",function(){return g.b});var l=n(1293);n.d(e,"q",function(){return l.c}),n.d(e,"r",function(){return l.a}),n.d(e,"t",function(){return l.c}),n.d(e,"s",function(){return l.b})},function(t,e,n){"use strict";var i=n(295);e.a=function(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),i.a.hasOwnProperty(e)?{space:i.a[e],local:t}:t}},function(t,e,n){"use strict";n.d(e,"b",function(){return i});var i="http://www.w3.org/1999/xhtml";e.a={svg:"http://www.w3.org/2000/svg",xhtml:i,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}},function(t,e,n){"use strict";function i(){}e.a=function(t){return null==t?i:function(){return this.querySelector(t)}}},function(t,e,n){"use strict";e.a=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}},function(t,e,n){"use strict";function i(t,e,n){return t=r(t,e,n),function(e){var n=e.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||t.call(this,e)}}function r(t,e,n){return function(i){var r=u;u=i;try{t.call(this,this.__data__,e,n)}finally{u=r}}}function A(t){return t.trim().split(/^|\s+/).map(function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}})}function o(t){return function(){var e=this.__on;if(e){for(var n,i=0,r=-1,A=e.length;i<A;++i)n=e[i],t.type&&n.type!==t.type||n.name!==t.name?e[++r]=n:this.removeEventListener(n.type,n.listener,n.capture);++r?e.length=r:delete this.__on}}}function a(t,e,n){var A=s.hasOwnProperty(t.type)?i:r;return function(i,r,o){var a,c=this.__on,s=A(e,r,o);if(c)for(var u=0,g=c.length;u<g;++u)if((a=c[u]).type===t.type&&a.name===t.name)return this.removeEventListener(a.type,a.listener,a.capture),this.addEventListener(a.type,a.listener=s,a.capture=n),void(a.value=e);this.addEventListener(t.type,s,n),a={type:t.type,name:t.name,value:e,listener:s,capture:n},c?c.push(a):this.__on=[a]}}function c(t,e,n,i){var r=u;t.sourceEvent=u,u=t;try{return e.apply(n,i)}finally{u=r}}n.d(e,"c",function(){return u}),e.a=c;var s={},u=null;if("undefined"!=typeof document){"onmouseenter"in document.documentElement||(s={mouseenter:"mouseover",mouseleave:"mouseout"})}e.b=function(t,e,n){var i,r,c=A(t+""),s=c.length;{if(!(arguments.length<2)){for(u=e?a:o,null==n&&(n=!1),i=0;i<s;++i)this.each(u(c[i],e,n));return this}var u=this.node().__on;if(u)for(var g,l=0,M=u.length;l<M;++l)for(i=0,g=u[l];i<s;++i)if((r=c[i]).type===g.type&&r.name===g.name)return g.value}}},function(t,e,n){"use strict";var i=n(298);e.a=function(){for(var t,e=i.c;t=e.sourceEvent;)e=t;return e}},function(t,e,n){"use strict";var i=n(301);n.d(e,"e",function(){return i.a});var r=n(1340);n.d(e,"c",function(){return r.c}),n.d(e,"d",function(){return r.d}),n.d(e,"a",function(){return r.a}),n.d(e,"b",function(){return r.b});var A=n(1341);n.d(e,"h",function(){return A.c}),n.d(e,"i",function(){return A.d}),n.d(e,"f",function(){return A.a}),n.d(e,"g",function(){return A.b})},function(t,e,n){"use strict";function i(t){return new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}")}function r(t,e){var n=i(t);return function(i,r){return e(n(i),r,t)}}function A(t){var e=Object.create(null),n=[];return t.forEach(function(t){for(var i in t)i in e||n.push(e[i]=i)}),n}var o={},a={},c=34,s=10,u=13;e.a=function(t){function e(t,e){var A,o,a=n(t,function(t,n){if(A)return A(t,n-1);o=t,A=e?r(t,e):i(t)});return a.columns=o||[],a}function n(t,e){function n(){if(M)return a;if(h)return h=!1,o;var e,n,i=g;if(t.charCodeAt(i)===c){for(;g++<A&&t.charCodeAt(g)!==c||t.charCodeAt(++g)===c;);return(e=g)>=A?M=!0:(n=t.charCodeAt(g++))===s?h=!0:n===u&&(h=!0,t.charCodeAt(g)===s&&++g),t.slice(i+1,e-1).replace(/""/g,'"')}for(;g<A;){if((n=t.charCodeAt(e=g++))===s)h=!0;else if(n===u)h=!0,t.charCodeAt(g)===s&&++g;else if(n!==f)continue;return t.slice(i,e)}return M=!0,t.slice(i,A)}var i,r=[],A=t.length,g=0,l=0,M=A<=0,h=!1;for(t.charCodeAt(A-1)===s&&--A,t.charCodeAt(A-1)===u&&--A;(i=n())!==a;){for(var d=[];i!==o&&i!==a;)d.push(i),i=n();e&&null==(d=e(d,l++))||r.push(d)}return r}function g(e,n){return null==n&&(n=A(e)),[n.map(h).join(t)].concat(e.map(function(e){return n.map(function(t){return h(e[t])}).join(t)})).join("\n")}function l(t){return t.map(M).join("\n")}function M(e){return e.map(h).join(t)}function h(t){return null==t?"":d.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t}var d=new RegExp('["'+t+"\n\r]"),f=t.charCodeAt(0);return{parse:e,parseRows:n,format:g,formatRows:l}}},function(t,e,n){"use strict";e.a=function(){return 1e-6*(Math.random()-.5)}},function(t,e,n){"use strict";function i(){return T||(p(r),T=y.now()+N)}function r(){T=0}function A(){this._call=this._time=this._next=null}function o(t,e,n){var i=new A;return i.restart(t,e,n),i}function a(){i(),++h;for(var t,e=l;e;)(t=T-e._time)>=0&&e._call.call(null,t),e=e._next;--h}function c(){T=(E=y.now())+N,h=d=0;try{a()}finally{h=0,u(),T=0}}function s(){var t=y.now(),e=t-E;e>I&&(N-=e,E=t)}function u(){for(var t,e,n=l,i=1/0;n;)n._call?(i>n._time&&(i=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:l=e);M=t,g(i)}function g(t){if(!h){d&&(d=clearTimeout(d));t-T>24?(t<1/0&&(d=setTimeout(c,t-y.now()-N)),f&&(f=clearInterval(f))):(f||(E=y.now(),f=setInterval(s,I)),h=1,p(c))}}e.b=i,e.a=A,e.c=o,e.d=a;var l,M,h=0,d=0,f=0,I=1e3,E=0,T=0,N=0,y="object"==typeof performance&&performance.now?performance:Date,p="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};A.prototype=o.prototype={constructor:A,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?i():+n)+(null==e?0:+e),this._next||M===this||(M?M._next=this:l=this,M=this),this._call=t,this._time=n,g()},stop:function(){this._call&&(this._call=null,this._time=1/0,g())}}},function(t,e,n){"use strict";var i=n(1352);n.d(e,"b",function(){return i.a}),n.d(e,"a",function(){return i.b}),n.d(e,"d",function(){return i.c});var r=n(558);n.d(e,"c",function(){return r.a});var A=n(559);n.d(e,"e",function(){return A.a});var o=n(1358);n.d(e,"f",function(){return o.a});var a=n(1359);n.d(e,"g",function(){return a.a});var c=n(1360);n.d(e,"h",function(){return c.a})},function(t,e,n){"use strict";e.a=function(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,i=t.slice(0,n);return[i.length>1?i[0]+i.slice(2):i,+t.slice(n+1)]}},function(t,e,n){"use strict";e.a=function(t){return t}},function(t,e,n){"use strict";function i(t,e){function n(t,e){var n=Object(r.u)(a-2*A*Object(r.t)(e))/A;return[n*Object(r.t)(t*=A),c-n*Object(r.g)(t)]}var i=Object(r.t)(t),A=(i+Object(r.t)(e))/2;if(Object(r.a)(A)<r.i)return Object(o.a)(t);var a=1+i*(2*A-i),c=Object(r.u)(a)/A;return n.invert=function(t,e){var n=c-e;return[Object(r.e)(t,Object(r.a)(n))/A*Object(r.s)(n),Object(r.c)((a-(t*t+n*n)*A*A)/(2*A))]},n}e.a=i;var r=n(5),A=n(308),o=n(1377);e.b=function(){return Object(A.a)(i).scale(155.424).center([0,33.6442])}},function(t,e,n){"use strict";function i(t){var e=0,n=r.o/3,i=Object(A.b)(t),o=i(e,n);return o.parallels=function(t){return arguments.length?i(e=t[0]*r.r,n=t[1]*r.r):[e*r.h,n*r.h]},o}e.a=i;var r=n(5),A=n(46)},function(t,e,n){"use strict";function i(t,e,n){var i=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=i&&t.clipExtent(null),Object(c.a)(n,t.stream(s.a)),e(s.a.result()),null!=i&&t.clipExtent(i),t}function r(t,e,n){return i(t,function(n){var i=e[1][0]-e[0][0],r=e[1][1]-e[0][1],A=Math.min(i/(n[1][0]-n[0][0]),r/(n[1][1]-n[0][1])),o=+e[0][0]+(i-A*(n[1][0]+n[0][0]))/2,a=+e[0][1]+(r-A*(n[1][1]+n[0][1]))/2;t.scale(150*A).translate([o,a])},n)}function A(t,e,n){return r(t,[[0,0],e],n)}function o(t,e,n){return i(t,function(n){var i=+e,r=i/(n[1][0]-n[0][0]),A=(i-r*(n[1][0]+n[0][0]))/2,o=-r*n[0][1];t.scale(150*r).translate([A,o])},n)}function a(t,e,n){return i(t,function(n){var i=+e,r=i/(n[1][1]-n[0][1]),A=-r*n[0][0],o=(i-r*(n[1][1]+n[0][1]))/2;t.scale(150*r).translate([A,o])},n)}e.a=r,e.c=A,e.d=o,e.b=a;var c=n(87),s=n(574)},function(t,e,n){"use strict";function i(t,e){return[t,Object(A.n)(Object(A.v)((A.l+e)/2))]}function r(t){function e(){var e=A.o*g(),a=s(Object(o.a)(s.rotate()).invert([0,0]));return M(null==h?[[a[0]-e,a[1]-e],[a[0]+e,a[1]+e]]:t===i?[[Math.max(a[0]-e,h),n],[Math.min(a[0]+e,r),c]]:[[h,Math.max(a[1]-e,n)],[r,Math.min(a[1]+e,c)]])}var n,r,c,s=Object(a.a)(t),u=s.center,g=s.scale,l=s.translate,M=s.clipExtent,h=null;return s.scale=function(t){return arguments.length?(g(t),e()):g()},s.translate=function(t){return arguments.length?(l(t),e()):l()},s.center=function(t){return arguments.length?(u(t),e()):u()},s.clipExtent=function(t){return arguments.length?(null==t?h=n=r=c=null:(h=+t[0][0],n=+t[0][1],r=+t[1][0],c=+t[1][1]),e()):null==h?null:[[h,n],[r,c]]},e()}e.c=i,e.b=r;var A=n(5),o=n(200),a=n(46);i.invert=function(t,e){return[t,2*Object(A.d)(Object(A.k)(e))-A.l]},e.a=function(){return r(i).scale(961/A.w)}},function(t,e,n){"use strict";var i=n(15),r=n(577),A=n(580),o=n(581),a=n(203),c=n(582),s=n(583),u=n(579);e.a=function(t,e){var n,g=typeof e;return null==e||"boolean"===g?Object(u.a)(e):("number"===g?a.a:"string"===g?(n=Object(i.a)(e))?(e=n,r.a):s.a:e instanceof i.a?r.a:e instanceof Date?o.a:Array.isArray(e)?A.a:"function"!=typeof e.valueOf&&"function"!=typeof e.toString||isNaN(e)?c.a:a.a)(t,e)}},function(t,e,n){"use strict";function i(t,e,n,i,r){var A=t*t,o=A*t;return((1-3*t+3*A-o)*e+(4-6*A+3*o)*n+(1+3*t+3*A-3*o)*i+o*r)/6}e.a=i,e.b=function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),A=t[r],o=t[r+1],a=r>0?t[r-1]:2*A-o,c=r<e-1?t[r+2]:2*o-A;return i((n-r/e)*e,a,A,o,c)}}},function(t,e,n){"use strict";function i(t){return function(e,n){t(null==e?n:null)}}function r(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}var A=n(45),o=n(36);e.a=function(t,e){function n(t){var e,n=M.status;if(!n&&r(M)||n>=200&&n<300||304===n){if(s)try{e=s.call(a,M)}catch(t){return void g.call("error",a,t)}else e=M;g.call("load",a,e)}else g.call("error",a,t)}var a,c,s,u,g=Object(o.dispatch)("beforesend","progress","load","error"),l=Object(A.map)(),M=new XMLHttpRequest,h=null,d=null,f=0;if("undefined"==typeof XDomainRequest||"withCredentials"in M||!/^(http(s)?:)?\/\//.test(t)||(M=new XDomainRequest),"onload"in M?M.onload=M.onerror=M.ontimeout=n:M.onreadystatechange=function(t){M.readyState>3&&n(t)},M.onprogress=function(t){g.call("progress",a,t)},a={header:function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l.get(t):(null==e?l.remove(t):l.set(t,e+""),a)},mimeType:function(t){return arguments.length?(c=null==t?null:t+"",a):c},responseType:function(t){return arguments.length?(u=t,a):u},timeout:function(t){return arguments.length?(f=+t,a):f},user:function(t){return arguments.length<1?h:(h=null==t?null:t+"",a)},password:function(t){return arguments.length<1?d:(d=null==t?null:t+"",a)},response:function(t){return s=t,a},get:function(t,e){return a.send("GET",t,e)},post:function(t,e){return a.send("POST",t,e)},send:function(e,n,r){return M.open(e,t,!0,h,d),null==c||l.has("accept")||l.set("accept",c+",*/*"),M.setRequestHeader&&l.each(function(t,e){M.setRequestHeader(e,t)}),null!=c&&M.overrideMimeType&&M.overrideMimeType(c),null!=u&&(M.responseType=u),f>0&&(M.timeout=f),null==r&&"function"==typeof n&&(r=n,n=null),null!=r&&1===r.length&&(r=i(r)),null!=r&&a.on("error",r).on("load",function(t){r(null,t)}),g.call("beforesend",a,M),M.send(null==n?null:n),a},abort:function(){return M.abort(),a},on:function(){var t=g.on.apply(g,arguments);return t===g?a:t}},null!=e){if("function"!=typeof e)throw new Error("invalid callback: "+e);return a.get(e)}return a}},function(t,e,n){"use strict";e.a=function(t){return function(){return t}}},function(t,e,n){"use strict";var i=n(316);n.d(e,"d",function(){return i.a}),n.d(e,"c",function(){return i.b}),n.d(e,"f",function(){return i.c}),n.d(e,"g",function(){return i.d}),n.d(e,"h",function(){return i.e});var r=n(591);n.d(e,"e",function(){return r.a});var A=n(592);n.d(e,"a",function(){return A.a});var o=n(1444);n.d(e,"b",function(){return o.a})},function(t,e,n){"use strict";function i(t){return r=Object(s.a)(t),A=r.format,o=r.parse,a=r.utcFormat,c=r.utcParse,r}n.d(e,"b",function(){return A}),n.d(e,"c",function(){return o}),n.d(e,"d",function(){return a}),n.d(e,"e",function(){return c}),e.a=i;var r,A,o,a,c,s=n(591);i({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]})},function(t,e,n){!function(){var i={};i.dev=!1,i.tooltip=i.tooltip||{},i.utils=i.utils||{},i.models=i.models||{},i.charts={},i.logs={},i.dom={},void 0!==t&&void 0!==e&&"undefined"==typeof d3&&(d3=n(20)),i.dispatch=d3.dispatch("render_start","render_end"),Function.prototype.bind||(Function.prototype.bind=function(t){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var e=Array.prototype.slice.call(arguments,1),n=this,i=function(){},r=function(){return n.apply(this instanceof i&&t?this:t,e.concat(Array.prototype.slice.call(arguments)))};return i.prototype=this.prototype,r.prototype=new i,r}),i.dev&&(i.dispatch.on("render_start",function(t){i.logs.startTime=+new Date}),i.dispatch.on("render_end",function(t){i.logs.endTime=+new Date,i.logs.totalTime=i.logs.endTime-i.logs.startTime,i.log("total",i.logs.totalTime)})),i.log=function(){if(i.dev&&window.console&&console.log&&console.log.apply)console.log.apply(console,arguments);else if(i.dev&&window.console&&"function"==typeof console.log&&Function.prototype.bind){var t=Function.prototype.bind.call(console.log,console);t.apply(console,arguments)}return arguments[arguments.length-1]},i.deprecated=function(t,e){console&&console.warn&&console.warn("nvd3 warning: `"+t+"` has been deprecated. ",e||"")},i.render=function(t){t=t||1,i.render.active=!0,i.dispatch.render_start();var e=function(){for(var n,r,A=0;A<t&&(r=i.render.queue[A]);A++)n=r.generate(),typeof r.callback==typeof Function&&r.callback(n);i.render.queue.splice(0,A),i.render.queue.length?setTimeout(e):(i.dispatch.render_end(),i.render.active=!1)};setTimeout(e)},i.render.active=!1,i.render.queue=[],i.addGraph=function(t){typeof arguments[0]==typeof Function&&(t={generate:arguments[0],callback:arguments[1]}),i.render.queue.push(t),i.render.active||i.render()},t.exports=i,"undefined"!=typeof window&&(window.nv=i),i.dom.write=function(t){return void 0!==window.fastdom?fastdom.mutate(t):t()},i.dom.read=function(t){return void 0!==window.fastdom?fastdom.measure(t):t()},i.interactiveGuideline=function(){"use strict";function t(g){g.each(function(g){function l(){var n=d3.mouse(this),i=n[0],r=n[1],a=!0,c=!1;if(u&&(i=d3.event.offsetX,r=d3.event.offsetY,"svg"!==d3.event.target.tagName&&(a=!1),d3.event.target.className.baseVal.match("nv-legend")&&(c=!0)),a&&(i-=e.left,r-=e.top),"mouseout"===d3.event.type||i<0||r<0||i>h||r>d||d3.event.relatedTarget&&void 0===d3.event.relatedTarget.ownerSVGElement||c){if(u&&d3.event.relatedTarget&&void 0===d3.event.relatedTarget.ownerSVGElement&&(void 0===d3.event.relatedTarget.className||d3.event.relatedTarget.className.match(s.nvPointerEventsClass)))return;return o.elementMouseout({mouseX:i,mouseY:r}),t.renderGuideLine(null),void s.hidden(!0)}s.hidden(!1);var g="function"==typeof A.rangeBands,l=void 0;if(g){var M=d3.bisect(A.range(),i)-1;if(!(A.range()[M]+A.rangeBand()>=i))return o.elementMouseout({mouseX:i,mouseY:r}),t.renderGuideLine(null),void s.hidden(!0);l=A.domain()[d3.bisect(A.range(),i)-1]}else l=A.invert(i);o.elementMousemove({mouseX:i,mouseY:r,pointXValue:l}),"dblclick"===d3.event.type&&o.elementDblclick({mouseX:i,mouseY:r,pointXValue:l}),"click"===d3.event.type&&o.elementClick({mouseX:i,mouseY:r,pointXValue:l}),"mousedown"===d3.event.type&&o.elementMouseDown({mouseX:i,mouseY:r,pointXValue:l}),"mouseup"===d3.event.type&&o.elementMouseUp({mouseX:i,mouseY:r,pointXValue:l})}var M=d3.select(this),h=n||960,d=r||400,f=M.selectAll("g.nv-wrap.nv-interactiveLineLayer").data([g]);f.enter().append("g").attr("class"," nv-wrap nv-interactiveLineLayer").append("g").attr("class","nv-interactiveGuideLine"),c&&(c.on("touchmove",l).on("mousemove",l,!0).on("mouseout",l,!0).on("mousedown",l,!0).on("mouseup",l,!0).on("dblclick",l).on("click",l),t.guideLine=null,t.renderGuideLine=function(e){a&&(t.guideLine&&t.guideLine.attr("x1")===e||i.dom.write(function(){var t=f.select(".nv-interactiveGuideLine").selectAll("line").data(null!=e?[i.utils.NaNtoZero(e)]:[],String);t.enter().append("line").attr("class","nv-guideline").attr("x1",function(t){return t}).attr("x2",function(t){return t}).attr("y1",d).attr("y2",0),t.exit().remove()}))})})}var e={left:0,top:0},n=null,r=null,A=d3.scale.linear(),o=d3.dispatch("elementMousemove","elementMouseout","elementClick","elementDblclick","elementMouseDown","elementMouseUp"),a=!0,c=null,s=i.models.tooltip(),u=window.ActiveXObject;return s.duration(0).hideDelay(0).hidden(!1),t.dispatch=o,t.tooltip=s,t.margin=function(n){return arguments.length?(e.top=void 0!==n.top?n.top:e.top,e.left=void 0!==n.left?n.left:e.left,t):e},t.width=function(e){return arguments.length?(n=e,t):n},t.height=function(e){return arguments.length?(r=e,t):r},t.xScale=function(e){return arguments.length?(A=e,t):A},t.showGuideLine=function(e){return arguments.length?(a=e,t):a},t.svgContainer=function(e){return arguments.length?(c=e,t):c},t},i.interactiveBisect=function(t,e,n){"use strict";if(!(t instanceof Array))return null;var i;i="function"!=typeof n?function(t){return t.x}:n;var r=function(t,e){return i(t)-e},A=d3.bisector(r).left,o=d3.max([0,A(t,e)-1]),a=i(t[o]);if(void 0===a&&(a=o),a===e)return o;var c=d3.min([o+1,t.length-1]),s=i(t[c]);return void 0===s&&(s=c),Math.abs(s-e)>=Math.abs(a-e)?o:c},i.nearestValueIndex=function(t,e,n){"use strict";var i=1/0,r=null;return t.forEach(function(t,A){var o=Math.abs(e-t);null!=t&&o<=i&&o<n&&(i=o,r=A)}),r},i.models.tooltip=function(){"use strict";function t(){if(!g||!g.node()){var t=[1];g=d3.select(document.body).select("#"+n).data(t),g.enter().append("div").attr("class","nvtooltip "+(c||"xy-tooltip")).attr("id",n).style("top",0).style("left",0).style("opacity",0).style("position","fixed").selectAll("div, table, td, tr").classed(f,!0).classed(f,!0),g.exit().remove()}}function e(){if(M&&p(r))return i.dom.write(function(){t();var e=N(r);e&&(g.node().innerHTML=e),D()}),e}var n="nvtooltip-"+Math.floor(1e5*Math.random()),r=null,A="w",o=25,a=0,c=null,s=!0,u=200,g=null,l={left:null,top:null},M=!0,h=100,d=!0,f="nv-pointer-events-none",I=function(t,e){return t},E=function(t){return t},T=function(t,e){return t},N=function(t){if(null===t)return"";var e=d3.select(document.createElement("table"));if(d){e.selectAll("thead").data([t]).enter().append("thead").append("tr").append("td").attr("colspan",3).append("strong").classed("x-value",!0).html(E(t.value))}var n=e.selectAll("tbody").data([t]).enter().append("tbody"),i=n.selectAll("tr").data(function(t){return t.series}).enter().append("tr").classed("highlight",function(t){return t.highlight});i.append("td").classed("legend-color-guide",!0).append("div").style("background-color",function(t){return t.color}),i.append("td").classed("key",!0).classed("total",function(t){return!!t.total}).html(function(t,e){return T(t.key,e)}),i.append("td").classed("value",!0).html(function(t,e){return I(t.value,e)}),i.filter(function(t,e){return void 0!==t.percent}).append("td").classed("percent",!0).html(function(t,e){return"("+d3.format("%")(t.percent)+")"}),i.selectAll("td").each(function(t){if(t.highlight){var e=d3.scale.linear().domain([0,1]).range(["#fff",t.color]);d3.select(this).style("border-bottom-color",e(.6)).style("border-top-color",e(.6))}});var r=e.node().outerHTML;return void 0!==t.footer&&(r+="<div class='footer'>"+t.footer+"</div>"),r},y=function(){var t={left:null!==d3.event?d3.event.clientX:0,top:null!==d3.event?d3.event.clientY:0};if("none"!=getComputedStyle(document.body).transform){var e=document.body.getBoundingClientRect();t.left-=e.left,t.top-=e.top}return t},p=function(t){if(t&&t.series){if(i.utils.isArray(t.series))return!0;if(i.utils.isObject(t.series))return t.series=[t.series],!0}return!1},C=function(t){var e,n,i,r=g.node().offsetHeight,a=g.node().offsetWidth,c=document.documentElement.clientWidth,s=document.documentElement.clientHeight;switch(A){case"e":e=-a-o,n=-r/2,t.left+e<0&&(e=o),(i=t.top+n)<0&&(n-=i),(i=t.top+n+r)>s&&(n-=i-s);break;case"w":e=o,n=-r/2,t.left+e+a>c&&(e=-a-o),(i=t.top+n)<0&&(n-=i),(i=t.top+n+r)>s&&(n-=i-s);break;case"n":e=-a/2-5,n=o,t.top+n+r>s&&(n=-r-o),(i=t.left+e)<0&&(e-=i),(i=t.left+e+a)>c&&(e-=i-c);break;case"s":e=-a/2,n=-r-o,t.top+n<0&&(n=o),(i=t.left+e)<0&&(e-=i),(i=t.left+e+a)>c&&(e-=i-c);break;case"center":e=-a/2,n=-r/2;break;default:e=0,n=0}return{left:e,top:n}},D=function(){i.dom.read(function(){var t=y(),e=C(t),n=t.left+e.left,i=t.top+e.top;if(s)g.interrupt().transition().delay(u).duration(0).style("opacity",0);else{var r="translate("+l.left+"px, "+l.top+"px)",A="translate("+Math.round(n)+"px, "+Math.round(i)+"px)",o=d3.interpolateString(r,A),a=g.style("opacity")<.1;g.interrupt().transition().duration(a?0:h).styleTween("transform",function(t){return o},"important").styleTween("-webkit-transform",function(t){return o}).style("-ms-transform",A).style("opacity",1)}l.left=n,l.top=i})};return e.nvPointerEventsClass=f,e.options=i.utils.optionsFunc.bind(e),e._options=Object.create({},{duration:{get:function(){return h},set:function(t){h=t}},gravity:{get:function(){return A},set:function(t){A=t}},distance:{get:function(){return o},set:function(t){o=t}},snapDistance:{get:function(){return a},set:function(t){a=t}},classes:{get:function(){return c},set:function(t){c=t}},enabled:{get:function(){return M},set:function(t){M=t}},hideDelay:{get:function(){return u},set:function(t){u=t}},contentGenerator:{get:function(){return N},set:function(t){N=t}},valueFormatter:{get:function(){return I},set:function(t){I=t}},headerFormatter:{get:function(){return E},set:function(t){E=t}},keyFormatter:{get:function(){return T},set:function(t){T=t}},headerEnabled:{get:function(){return d},set:function(t){d=t}},position:{get:function(){return y},set:function(t){y=t}},chartContainer:{get:function(){return document.body},set:function(t){i.deprecated("chartContainer","feature removed after 1.8.3")}},fixedTop:{get:function(){return null},set:function(t){i.deprecated("fixedTop","feature removed after 1.8.1")}},offset:{get:function(){return{left:0,top:0}},set:function(t){i.deprecated("offset","use chart.tooltip.distance() instead")}},hidden:{get:function(){return s},set:function(t){s!=t&&(s=!!t,e())}},data:{get:function(){return r},set:function(t){t.point&&(t.value=t.point.x,t.series=t.series||{},t.series.value=t.point.y,t.series.color=t.point.color||t.series.color),r=t}},node:{get:function(){return g.node()},set:function(t){}},id:{get:function(){return n},set:function(t){}}}),i.utils.initOptions(e),e},i.utils.windowSize=function(){var t={width:640,height:480};return window.innerWidth&&window.innerHeight?(t.width=window.innerWidth,t.height=window.innerHeight,t):"CSS1Compat"==document.compatMode&&document.documentElement&&document.documentElement.offsetWidth?(t.width=document.documentElement.offsetWidth,t.height=document.documentElement.offsetHeight,t):document.body&&document.body.offsetWidth?(t.width=document.body.offsetWidth,t.height=document.body.offsetHeight,t):t},i.utils.isArray=Array.isArray,i.utils.isObject=function(t){return null!==t&&"object"==typeof t},i.utils.isFunction=function(t){return"function"==typeof t},i.utils.isDate=function(t){return"[object Date]"===toString.call(t)},i.utils.isNumber=function(t){return!isNaN(t)&&"number"==typeof t},i.utils.windowResize=function(t){return window.addEventListener?window.addEventListener("resize",t):i.log("ERROR: Failed to bind to window.resize with: ",t),{callback:t,clear:function(){window.removeEventListener("resize",t)}}},i.utils.getColor=function(t){if(void 0===t)return i.utils.defaultColor();if(i.utils.isArray(t)){var e=d3.scale.ordinal().range(t);return function(t,n){var i=void 0===n?t:n;return t.color||e(i)}}return t},i.utils.defaultColor=function(){return i.utils.getColor(d3.scale.category20().range())},i.utils.customTheme=function(t,e,n){e=e||function(t){return t.key},n=n||d3.scale.category20().range();var r=n.length;return function(A,o){var a=e(A);return i.utils.isFunction(t[a])?t[a]():void 0!==t[a]?t[a]:(r||(r=n.length),r-=1,n[r])}},i.utils.pjax=function(t,e){var n=function(n){d3.html(n,function(n){var r=d3.select(e).node();r.parentNode.replaceChild(d3.select(n).select(e).node(),r),i.utils.pjax(t,e)})};d3.selectAll(t).on("click",function(){history.pushState(this.href,this.textContent,this.href),n(this.href),d3.event.preventDefault()}),d3.select(window).on("popstate",function(){d3.event.state&&n(d3.event.state)})},i.utils.calcApproxTextWidth=function(t){if(i.utils.isFunction(t.style)&&i.utils.isFunction(t.text)){var e=parseInt(t.style("font-size").replace("px",""),10),n=t.text().length;return i.utils.NaNtoZero(n*e*.5)}return 0},i.utils.NaNtoZero=function(t){return!i.utils.isNumber(t)||isNaN(t)||null===t||t===1/0||t===-1/0?0:t},d3.selection.prototype.watchTransition=function(t){var e=[this].concat([].slice.call(arguments,1));return t.transition.apply(t,e)},i.utils.renderWatch=function(t,e){if(!(this instanceof i.utils.renderWatch))return new i.utils.renderWatch(t,e);var n=void 0!==e?e:250,r=[],A=this;this.models=function(t){return t=[].slice.call(arguments,0),t.forEach(function(t){t.__rendered=!1,function(t){t.dispatch.on("renderEnd",function(e){t.__rendered=!0,A.renderEnd("model")})}(t),r.indexOf(t)<0&&r.push(t)}),this},this.reset=function(t){void 0!==t&&(n=t),r=[]},this.transition=function(t,e,i){if(e=arguments.length>1?[].slice.call(arguments,1):[],i=e.length>1?e.pop():void 0!==n?n:250,t.__rendered=!1,r.indexOf(t)<0&&r.push(t),0===i)return t.__rendered=!0,t.delay=function(){return this},t.duration=function(){return this},t;0===t.length?t.__rendered=!0:t.every(function(t){return!t.length})?t.__rendered=!0:t.__rendered=!1;var o=0;return t.transition().duration(i).each(function(){++o}).each("end",function(n,i){0==--o&&(t.__rendered=!0,A.renderEnd.apply(this,e))})},this.renderEnd=function(){r.every(function(t){return t.__rendered})&&(r.forEach(function(t){t.__rendered=!1}),t.renderEnd.apply(this,arguments))}},i.utils.deepExtend=function(t){(arguments.length>1?[].slice.call(arguments,1):[]).forEach(function(e){for(var n in e){var r=i.utils.isArray(t[n]),A=i.utils.isObject(t[n]),o=i.utils.isObject(e[n]);A&&!r&&o?i.utils.deepExtend(t[n],e[n]):t[n]=e[n]}})},i.utils.state=function(){if(!(this instanceof i.utils.state))return new i.utils.state;var t={},e=function(){},n=function(){return{}},r=null,A=null;this.dispatch=d3.dispatch("change","set"),this.dispatch.on("set",function(t){e(t,!0)}),this.getter=function(t){return n=t,this},this.setter=function(t,n){return n||(n=function(){}),e=function(e,i){t(e),i&&n()},this},this.init=function(t){r=r||{},i.utils.deepExtend(r,t)};var o=function(){var e=n();if(JSON.stringify(e)===JSON.stringify(t))return!1;for(var i in e)void 0===t[i]&&(t[i]={}),t[i]=e[i],A=!0;return!0};this.update=function(){r&&(e(r,!1),r=null),o.call(this)&&this.dispatch.change(t)}},i.utils.optionsFunc=function(t){return t&&d3.map(t).forEach(function(t,e){i.utils.isFunction(this[t])&&this[t](e)}.bind(this)),this},i.utils.calcTicksX=function(t,e){var n=1,r=0;for(r;r<e.length;r+=1){var A=e[r]&&e[r].values?e[r].values.length:0;n=A>n?A:n}return i.log("Requested number of ticks: ",t),i.log("Calculated max values to be: ",n),t=t>n?t=n-1:t,t=t<1?1:t,t=Math.floor(t),i.log("Calculating tick count as: ",t),t},i.utils.calcTicksY=function(t,e){return i.utils.calcTicksX(t,e)},i.utils.initOption=function(t,e){t._calls&&t._calls[e]?t[e]=t._calls[e]:(t[e]=function(n){return arguments.length?(t._overrides[e]=!0,t._options[e]=n,t):t._options[e]},t["_"+e]=function(n){return arguments.length?(t._overrides[e]||(t._options[e]=n),t):t._options[e]})},i.utils.initOptions=function(t){t._overrides=t._overrides||{};var e=Object.getOwnPropertyNames(t._options||{}),n=Object.getOwnPropertyNames(t._calls||{});e=e.concat(n);for(var r in e)i.utils.initOption(t,e[r])},i.utils.inheritOptionsD3=function(t,e,n){t._d3options=n.concat(t._d3options||[]),n.unshift(e),n.unshift(t),d3.rebind.apply(this,n)},i.utils.arrayUnique=function(t){return t.sort().filter(function(e,n){return!n||e!=t[n-1]})},i.utils.symbolMap=d3.map(),i.utils.symbol=function(){function t(t,r){var A=e.call(this,t,r),o=n.call(this,t,r);return-1!==d3.svg.symbolTypes.indexOf(A)?d3.svg.symbol().type(A).size(o)():i.utils.symbolMap.get(A)(o)}var e,n=64;return t.type=function(n){return arguments.length?(e=d3.functor(n),t):e},t.size=function(e){return arguments.length?(n=d3.functor(e),t):n},t},i.utils.inheritOptions=function(t,e){var n=Object.getOwnPropertyNames(e._options||{}),r=Object.getOwnPropertyNames(e._calls||{}),A=e._inherited||[],o=e._d3options||[],a=n.concat(r).concat(A).concat(o);a.unshift(e),a.unshift(t),d3.rebind.apply(this,a),t._inherited=i.utils.arrayUnique(n.concat(r).concat(A).concat(n).concat(t._inherited||[])),t._d3options=i.utils.arrayUnique(o.concat(t._d3options||[]))},i.utils.initSVG=function(t){t.classed({"nvd3-svg":!0})},i.utils.sanitizeHeight=function(t,e){return t||parseInt(e.style("height"),10)||400},i.utils.sanitizeWidth=function(t,e){return t||parseInt(e.style("width"),10)||960},i.utils.availableHeight=function(t,e,n){return Math.max(0,i.utils.sanitizeHeight(t,e)-n.top-n.bottom)},i.utils.availableWidth=function(t,e,n){return Math.max(0,i.utils.sanitizeWidth(t,e)-n.left-n.right)},i.utils.noData=function(t,e){var n=t.options(),r=n.margin(),A=n.noData(),o=null==A?["No Data Available."]:[A],a=i.utils.availableHeight(null,e,r),c=i.utils.availableWidth(null,e,r),s=r.left+c/2,u=r.top+a/2;e.selectAll("g").remove();var g=e.selectAll(".nv-noData").data(o);g.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),g.attr("x",s).attr("y",u).text(function(t){return t})},i.utils.wrapTicks=function(t,e){t.each(function(){for(var t,n=d3.select(this),i=n.text().split(/\s+/).reverse(),r=[],A=0,o=n.attr("y"),a=parseFloat(n.attr("dy")),c=n.text(null).append("tspan").attr("x",0).attr("y",o).attr("dy",a+"em");t=i.pop();)r.push(t),c.text(r.join(" ")),c.node().getComputedTextLength()>e&&(r.pop(),c.text(r.join(" ")),r=[t],c=n.append("tspan").attr("x",0).attr("y",o).attr("dy",1.1*++A+a+"em").text(t))})},i.utils.arrayEquals=function(t,e){if(t===e)return!0;if(!t||!e)return!1;if(t.length!=e.length)return!1;for(var n=0,r=t.length;n<r;n++)if(t[n]instanceof Array&&e[n]instanceof Array){if(!i.arrayEquals(t[n],e[n]))return!1}else if(t[n]!=e[n])return!1;return!0},i.models.axis=function(){"use strict";function t(o){return T.reset(),o.each(function(t){var o=d3.select(this);i.utils.initSVG(o);var f=o.selectAll("g.nv-wrap.nv-axis").data([t]),I=f.enter().append("g").attr("class","nvd3 nv-wrap nv-axis"),N=(I.append("g"),f.select("g"));null!==M?e.ticks(M):"top"!=e.orient()&&"bottom"!=e.orient()||e.ticks(Math.abs(n.range()[1]-n.range()[0])/100),N.watchTransition(T,"axis").call(e),E=E||e.scale();var y=e.tickFormat();null==y&&(y=E.tickFormat());var p=N.selectAll("text.nv-axislabel").data([a||null]);p.exit().remove(),void 0!==d&&N.selectAll("g").select("text").style("font-size",d);var C,D,x;switch(e.orient()){case"top":p.enter().append("text").attr("class","nv-axislabel"),x=0,1===n.range().length?x=l?2*n.range()[0]+n.rangeBand():0:2===n.range().length?x=l?n.range()[0]+n.range()[1]+n.rangeBand():n.range()[1]:n.range().length>2&&(x=n.range()[n.range().length-1]+(n.range()[1]-n.range()[0])),p.attr("text-anchor","middle").attr("y",0).attr("x",x/2),c&&(D=f.selectAll("g.nv-axisMaxMin").data(n.domain()),D.enter().append("g").attr("class",function(t,e){return["nv-axisMaxMin","nv-axisMaxMin-x",0==e?"nv-axisMin-x":"nv-axisMax-x"].join(" ")}).append("text"),D.exit().remove(),D.attr("transform",function(t,e){return"translate("+i.utils.NaNtoZero(n(t))+",0)"}).select("text").attr("dy","-0.5em").attr("y",-e.tickPadding()).attr("text-anchor","middle").text(function(t,e){var n=y(t);return(""+n).match("NaN")?"":n}),D.watchTransition(T,"min-max top").attr("transform",function(t,e){return"translate("+i.utils.NaNtoZero(n.range()[e])+",0)"}));break;case"bottom":C=h+36;var B=30,w=0,m=N.selectAll("g").select("text"),Q="";if(s%360){m.attr("transform",""),m.each(function(t,e){var n=this.getBoundingClientRect(),i=n.width;w=n.height,i>B&&(B=i)}),Q="rotate("+s+" 0,"+(w/2+e.tickPadding())+")";var v=Math.abs(Math.sin(s*Math.PI/180));C=(v?v*B:B)+30,m.attr("transform",Q).style("text-anchor",s%360>0?"start":"end")}else g?m.attr("transform",function(t,e){return"translate(0,"+(e%2==0?"0":"12")+")"}):m.attr("transform","translate(0,0)");p.enter().append("text").attr("class","nv-axislabel"),x=0,1===n.range().length?x=l?2*n.range()[0]+n.rangeBand():0:2===n.range().length?x=l?n.range()[0]+n.range()[1]+n.rangeBand():n.range()[1]:n.range().length>2&&(x=n.range()[n.range().length-1]+(n.range()[1]-n.range()[0])),p.attr("text-anchor","middle").attr("y",C).attr("x",x/2),c&&(D=f.selectAll("g.nv-axisMaxMin").data([n.domain()[0],n.domain()[n.domain().length-1]]),D.enter().append("g").attr("class",function(t,e){return["nv-axisMaxMin","nv-axisMaxMin-x",0==e?"nv-axisMin-x":"nv-axisMax-x"].join(" ")}).append("text"),D.exit().remove(),D.attr("transform",function(t,e){return"translate("+i.utils.NaNtoZero(n(t)+(l?n.rangeBand()/2:0))+",0)"}).select("text").attr("dy",".71em").attr("y",e.tickPadding()).attr("transform",Q).style("text-anchor",s?s%360>0?"start":"end":"middle").text(function(t,e){var n=y(t);return(""+n).match("NaN")?"":n}),D.watchTransition(T,"min-max bottom").attr("transform",function(t,e){return"translate("+i.utils.NaNtoZero(n(t)+(l?n.rangeBand()/2:0))+",0)"}));break;case"right":p.enter().append("text").attr("class","nv-axislabel"),p.style("text-anchor",u?"middle":"begin").attr("transform",u?"rotate(90)":"").attr("y",u?12-Math.max(r.right,A)-(h||0):-10).attr("x",u?d3.max(n.range())/2:e.tickPadding()),c&&(D=f.selectAll("g.nv-axisMaxMin").data(n.domain()),D.enter().append("g").attr("class",function(t,e){return["nv-axisMaxMin","nv-axisMaxMin-y",0==e?"nv-axisMin-y":"nv-axisMax-y"].join(" ")}).append("text").style("opacity",0),D.exit().remove(),D.attr("transform",function(t,e){return"translate(0,"+i.utils.NaNtoZero(n(t))+")"}).select("text").attr("dy",".32em").attr("y",0).attr("x",e.tickPadding()).style("text-anchor","start").text(function(t,e){var n=y(t);return(""+n).match("NaN")?"":n}),D.watchTransition(T,"min-max right").attr("transform",function(t,e){return"translate(0,"+i.utils.NaNtoZero(n.range()[e])+")"}).select("text").style("opacity",1));break;case"left":p.enter().append("text").attr("class","nv-axislabel"),p.style("text-anchor",u?"middle":"end").attr("transform",u?"rotate(-90)":"").attr("y",u?25-Math.max(r.left,A)-(h||0):-10).attr("x",u?-d3.max(n.range())/2:-e.tickPadding()),c&&(D=f.selectAll("g.nv-axisMaxMin").data(n.domain()),D.enter().append("g").attr("class",function(t,e){return["nv-axisMaxMin","nv-axisMaxMin-y",0==e?"nv-axisMin-y":"nv-axisMax-y"].join(" ")}).append("text").style("opacity",0),D.exit().remove(),D.attr("transform",function(t,e){return"translate(0,"+i.utils.NaNtoZero(E(t))+")"}).select("text").attr("dy",".32em").attr("y",0).attr("x",-e.tickPadding()).attr("text-anchor","end").text(function(t,e){var n=y(t);return(""+n).match("NaN")?"":n}),D.watchTransition(T,"min-max right").attr("transform",function(t,e){return"translate(0,"+i.utils.NaNtoZero(n.range()[e])+")"}).select("text").style("opacity",1))}if(p.text(function(t){return t}),!c||"left"!==e.orient()&&"right"!==e.orient()||(N.selectAll("g").each(function(t,e){d3.select(this).select("text").attr("opacity",1),(n(t)<n.range()[1]+10||n(t)>n.range()[0]-10)&&((t>1e-10||t<-1e-10)&&d3.select(this).attr("opacity",0),d3.select(this).select("text").attr("opacity",0))}),n.domain()[0]==n.domain()[1]&&0==n.domain()[0]&&f.selectAll("g.nv-axisMaxMin").style("opacity",function(t,e){return e?0:1})),c&&("top"===e.orient()||"bottom"===e.orient())){var j=[];f.selectAll("g.nv-axisMaxMin").each(function(t,e){try{e?j.push(n(t)-this.getBoundingClientRect().width-4):j.push(n(t)+this.getBoundingClientRect().width+4)}catch(i){e?j.push(n(t)-4):j.push(n(t)+4)}}),N.selectAll("g").each(function(t,e){(n(t)<j[0]||n(t)>j[1])&&(t>1e-10||t<-1e-10?d3.select(this).remove():d3.select(this).select("text").remove())})}N.selectAll(".tick").filter(function(t){return!parseFloat(Math.round(1e5*t)/1e6)&&void 0!==t}).classed("zero",!0),E=n.copy()}),T.renderEnd("axis immediate"),t}var e=d3.svg.axis(),n=d3.scale.linear(),r={top:0,right:0,bottom:0,left:0},A=75,o=60,a=null,c=!0,s=0,u=!0,g=!1,l=!1,M=null,h=0,d=void 0,f=250,I=d3.dispatch("renderEnd");e.scale(n).orient("bottom").tickFormat(function(t){return t});var E,T=i.utils.renderWatch(I,f);return t.axis=e,t.dispatch=I,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{axisLabelDistance:{get:function(){return h},set:function(t){h=t}},staggerLabels:{get:function(){return g},set:function(t){g=t}},rotateLabels:{get:function(){return s},set:function(t){s=t}},rotateYLabel:{get:function(){return u},set:function(t){u=t}},showMaxMin:{get:function(){return c},set:function(t){c=t}},axisLabel:{get:function(){return a},set:function(t){a=t}},height:{get:function(){return o},set:function(t){o=t}},ticks:{get:function(){return M},set:function(t){M=t}},width:{get:function(){return A},set:function(t){A=t}},fontSize:{get:function(){return d},set:function(t){d=t}},margin:{get:function(){return r},set:function(t){r.top=void 0!==t.top?t.top:r.top,r.right=void 0!==t.right?t.right:r.right,r.bottom=void 0!==t.bottom?t.bottom:r.bottom,r.left=void 0!==t.left?t.left:r.left}},duration:{get:function(){return f},set:function(t){f=t,T.reset(f)}},scale:{get:function(){return n},set:function(r){n=r,e.scale(n),l="function"==typeof n.rangeBands,i.utils.inheritOptionsD3(t,n,["domain","range","rangeBand","rangeBands"])}}}),i.utils.initOptions(t),i.utils.inheritOptionsD3(t,e,["orient","tickValues","tickSubdivide","tickSize","tickPadding","tickFormat"]),i.utils.inheritOptionsD3(t,n,["domain","range","rangeBand","rangeBands"]),t},i.models.boxPlot=function(){"use strict";function t(g){return v.reset(),g.each(function(t){var g=s-c.left-c.right,j=u-c.top-c.bottom;B=d3.select(this),i.utils.initSVG(B),l.domain(e||t.map(function(t,e){return h(t,e)})).rangeBands(n||[0,g],.1);var L=[];if(!r){var S,Y,b=[];t.forEach(function(t,e){var n=d(t),i=I(t),r=E(t),A=T(t),o=y(t);o&&o.forEach(function(t,e){b.push(p(t,e,void 0))}),r&&b.push(r),n&&b.push(n),i&&b.push(i),A&&b.push(A)}),S=d3.min(b),Y=d3.max(b),L=[S,Y]}M.domain(r||L),M.range(A||[j,0]),o=o||l,a=a||M.copy().range([M(0),M(0)]);var O=B.selectAll("g.nv-wrap").data([t]);O.enter().append("g").attr("class","nvd3 nv-wrap");O.attr("transform","translate("+c.left+","+c.top+")");var z=O.selectAll(".nv-boxplot").data(function(t){return t}),U=z.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6);z.attr("class","nv-boxplot").attr("transform",function(t,e,n){return"translate("+(l(h(t,e))+.05*l.rangeBand())+", 0)"}).classed("hover",function(t){return t.hover}),z.watchTransition(v,"nv-boxplot: boxplots").style("stroke-opacity",1).style("fill-opacity",.75).delay(function(e,n){return n*m/t.length}).attr("transform",function(t,e){return"translate("+(l(h(t,e))+.05*l.rangeBand())+", 0)"}),z.exit().remove(),U.each(function(t,e){var n=d3.select(this);[E,T].forEach(function(i){if(void 0!==i(t)&&null!==i(t)){var r=i===E?"low":"high";n.append("line").style("stroke",N(t)||x(t,e)).attr("class","nv-boxplot-whisker nv-boxplot-"+r),n.append("line").style("stroke",N(t)||x(t,e)).attr("class","nv-boxplot-tick nv-boxplot-"+r)}})});var F=function(){return null===Q?.9*l.rangeBand():Math.min(75,.9*l.rangeBand())},k=function(){return.45*l.rangeBand()-F()/2},R=function(){return.45*l.rangeBand()+F()/2};[E,T].forEach(function(t){var e=t===E?"low":"high",n=t===E?d:I;z.select("line.nv-boxplot-whisker.nv-boxplot-"+e).watchTransition(v,"nv-boxplot: boxplots").attr("x1",.45*l.rangeBand()).attr("y1",function(e,n){return M(t(e))}).attr("x2",.45*l.rangeBand()).attr("y2",function(t,e){return M(n(t))}),z.select("line.nv-boxplot-tick.nv-boxplot-"+e).watchTransition(v,"nv-boxplot: boxplots").attr("x1",k).attr("y1",function(e,n){return M(t(e))}).attr("x2",R).attr("y2",function(e,n){return M(t(e))})}),[E,T].forEach(function(t){var e=t===E?"low":"high";U.selectAll(".nv-boxplot-"+e).on("mouseover",function(e,n,i){d3.select(this).classed("hover",!0),w.elementMouseover({series:{key:t(e),color:N(e)||x(e,i)},e:d3.event})}).on("mouseout",function(e,n,i){d3.select(this).classed("hover",!1),w.elementMouseout({series:{key:t(e),color:N(e)||x(e,i)},e:d3.event})}).on("mousemove",function(t,e){w.elementMousemove({e:d3.event})})}),U.append("rect").attr("class","nv-boxplot-box").on("mouseover",function(t,e){d3.select(this).classed("hover",!0),w.elementMouseover({key:h(t),value:h(t),series:[{key:"Q3",value:I(t),color:N(t)||x(t,e)},{key:"Q2",value:f(t),color:N(t)||x(t,e)},{key:"Q1",value:d(t),color:N(t)||x(t,e)}],data:t,index:e,e:d3.event})}).on("mouseout",function(t,e){d3.select(this).classed("hover",!1),w.elementMouseout({key:h(t),value:h(t),series:[{key:"Q3",value:I(t),color:N(t)||x(t,e)},{key:"Q2",value:f(t),color:N(t)||x(t,e)},{key:"Q1",value:d(t),color:N(t)||x(t,e)}],data:t,index:e,e:d3.event})}).on("mousemove",function(t,e){w.elementMousemove({e:d3.event})}),z.select("rect.nv-boxplot-box").watchTransition(v,"nv-boxplot: boxes").attr("y",function(t,e){return M(I(t))}).attr("width",F).attr("x",k).attr("height",function(t,e){return Math.abs(M(I(t))-M(d(t)))||1}).style("fill",function(t,e){return N(t)||x(t,e)}).style("stroke",function(t,e){return N(t)||x(t,e)}),U.append("line").attr("class","nv-boxplot-median"),z.select("line.nv-boxplot-median").watchTransition(v,"nv-boxplot: boxplots line").attr("x1",k).attr("y1",function(t,e){return M(f(t))}).attr("x2",R).attr("y2",function(t,e){return M(f(t))});var G=z.selectAll(".nv-boxplot-outlier").data(function(t){return y(t)||[]});G.enter().append("circle").style("fill",function(t,e,n){return D(t,e,n)||x(t,n)}).style("stroke",function(t,e,n){return D(t,e,n)||x(t,n)}).style("z-index",9e3).on("mouseover",function(t,e,n){d3.select(this).classed("hover",!0),w.elementMouseover({series:{key:C(t,e,n),color:D(t,e,n)||x(t,n)},e:d3.event})}).on("mouseout",function(t,e,n){d3.select(this).classed("hover",!1),w.elementMouseout({series:{key:C(t,e,n),color:D(t,e,n)||x(t,n)},e:d3.event})}).on("mousemove",function(t,e){w.elementMousemove({e:d3.event})}),G.attr("class","nv-boxplot-outlier"),G.watchTransition(v,"nv-boxplot: nv-boxplot-outlier").attr("cx",.45*l.rangeBand()).attr("cy",function(t,e,n){return M(p(t,e,n))}).attr("r","3"),G.exit().remove(),o=l.copy(),a=M.copy()}),v.renderEnd("nv-boxplot immediate"),t}var e,n,r,A,o,a,c={top:0,right:0,bottom:0,left:0},s=960,u=500,g=Math.floor(1e4*Math.random()),l=d3.scale.ordinal(),M=d3.scale.linear(),h=function(t){return t.label},d=function(t){return t.values.Q1},f=function(t){return t.values.Q2},I=function(t){return t.values.Q3},E=function(t){return t.values.whisker_low},T=function(t){return t.values.whisker_high},N=function(t){return t.color},y=function(t){return t.values.outliers},p=function(t,e,n){return t},C=function(t,e,n){return t},D=function(t,e,n){},x=i.utils.defaultColor(),B=null,w=d3.dispatch("elementMouseover","elementMouseout","elementMousemove","renderEnd"),m=250,Q=null,v=i.utils.renderWatch(w,m);return t.dispatch=w,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return s},set:function(t){s=t}},height:{get:function(){return u},set:function(t){u=t}},maxBoxWidth:{get:function(){return Q},set:function(t){Q=t}},x:{get:function(){return h},set:function(t){h=t}},q1:{get:function(){return d},set:function(t){d=t}},q2:{get:function(){return f},set:function(t){f=t}},q3:{get:function(){return I},set:function(t){I=t}},wl:{get:function(){return E},set:function(t){E=t}},wh:{get:function(){return T},set:function(t){T=t}},itemColor:{get:function(){return N},set:function(t){N=t}},outliers:{get:function(){return y},set:function(t){y=t}},outlierValue:{get:function(){return p},set:function(t){p=t}},outlierLabel:{get:function(){return C},set:function(t){C=t}},outlierColor:{get:function(){return D},set:function(t){D=t}},xScale:{get:function(){return l},set:function(t){l=t}},yScale:{get:function(){return M},set:function(t){M=t}},xDomain:{get:function(){return e},set:function(t){e=t}},yDomain:{get:function(){return r},set:function(t){r=t}},xRange:{get:function(){return n},set:function(t){n=t}},yRange:{get:function(){return A},set:function(t){A=t}},id:{get:function(){return g},set:function(t){g=t}},y:{get:function(){return console.warn("BoxPlot 'y' chart option is deprecated. Please use model overrides instead."),{}},set:function(t){console.warn("BoxPlot 'y' chart option is deprecated. Please use model overrides instead.")}},margin:{get:function(){return c},set:function(t){c.top=void 0!==t.top?t.top:c.top,c.right=void 0!==t.right?t.right:c.right,c.bottom=void 0!==t.bottom?t.bottom:c.bottom,c.left=void 0!==t.left?t.left:c.left}},color:{get:function(){return x},set:function(t){x=i.utils.getColor(t)}},duration:{get:function(){return m},set:function(t){m=t,v.reset(m)}}}),i.utils.initOptions(t),t},i.models.boxPlotChart=function(){"use strict";function t(u){return T.reset(),T.models(r),g&&T.models(A),l&&T.models(o),u.each(function(u){var d=d3.select(this);i.utils.initSVG(d);var T=(c||parseInt(d.style("width"))||960)-a.left-a.right,N=(s||parseInt(d.style("height"))||400)-a.top-a.bottom;if(t.update=function(){I.beforeUpdate(),d.transition().duration(E).call(t)},t.container=this,!u||!u.length){var y=d.selectAll(".nv-noData").data([f]);return y.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),y.attr("x",a.left+T/2).attr("y",a.top+N/2).text(function(t){return t}),t}d.selectAll(".nv-noData").remove(),e=r.xScale(),n=r.yScale().clamp(!0);var p=d.selectAll("g.nv-wrap.nv-boxPlotWithAxes").data([u]),C=p.enter().append("g").attr("class","nvd3 nv-wrap nv-boxPlotWithAxes").append("g"),D=C.append("defs"),x=p.select("g");if(C.append("g").attr("class","nv-x nv-axis"),C.append("g").attr("class","nv-y nv-axis").append("g").attr("class","nv-zeroLine").append("line"),C.append("g").attr("class","nv-barsWrap"),x.attr("transform","translate("+a.left+","+a.top+")"),M&&x.select(".nv-y.nv-axis").attr("transform","translate("+T+",0)"),r.width(T).height(N),x.select(".nv-barsWrap").datum(u.filter(function(t){return!t.disabled})).transition().call(r),D.append("clipPath").attr("id","nv-x-label-clip-"+r.id()).append("rect"),x.select("#nv-x-label-clip-"+r.id()+" rect").attr("width",e.rangeBand()*(h?2:1)).attr("height",16).attr("x",-e.rangeBand()/(h?1:2)),g){A.scale(e).ticks(i.utils.calcTicksX(T/100,u)).tickSize(-N,0),x.select(".nv-x.nv-axis").attr("transform","translate(0,"+n.range()[0]+")"),x.select(".nv-x.nv-axis").call(A);var B=x.select(".nv-x.nv-axis").selectAll("g");h&&B.selectAll("text").attr("transform",function(t,e,n){return"translate(0,"+(n%2==0?"5":"17")+")"})}l&&(o.scale(n).ticks(Math.floor(N/36)).tickSize(-T,0),x.select(".nv-y.nv-axis").call(o)),x.select(".nv-zeroLine line").attr("x1",0).attr("x2",T).attr("y1",n(0)).attr("y2",n(0))}),T.renderEnd("nv-boxplot chart immediate"),t}var e,n,r=i.models.boxPlot(),A=i.models.axis(),o=i.models.axis(),a={top:15,right:10,bottom:50,left:60},c=null,s=null,u=i.utils.getColor(),g=!0,l=!0,M=!1,h=!1,d=i.models.tooltip(),f="No Data Available.",I=d3.dispatch("beforeUpdate","renderEnd"),E=250;A.orient("bottom").showMaxMin(!1).tickFormat(function(t){return t}),o.orient(M?"right":"left").tickFormat(d3.format(",.1f")),d.duration(0);var T=i.utils.renderWatch(I,E);return r.dispatch.on("elementMouseover.tooltip",function(t){d.data(t).hidden(!1)}),r.dispatch.on("elementMouseout.tooltip",function(t){d.data(t).hidden(!0)}),r.dispatch.on("elementMousemove.tooltip",function(t){d()}),t.dispatch=I,t.boxplot=r,t.xAxis=A,t.yAxis=o,t.tooltip=d,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return c},set:function(t){c=t}},height:{get:function(){return s},set:function(t){s=t}},staggerLabels:{get:function(){return h},set:function(t){h=t}},showXAxis:{get:function(){return g},set:function(t){g=t}},showYAxis:{get:function(){return l},set:function(t){l=t}},tooltipContent:{get:function(){return d},set:function(t){d=t}},noData:{get:function(){return f},set:function(t){f=t}},margin:{get:function(){return a},set:function(t){a.top=void 0!==t.top?t.top:a.top,a.right=void 0!==t.right?t.right:a.right,a.bottom=void 0!==t.bottom?t.bottom:a.bottom,a.left=void 0!==t.left?t.left:a.left}},duration:{get:function(){return E},set:function(t){E=t,T.reset(E),r.duration(E),A.duration(E),o.duration(E)}},color:{get:function(){return u},set:function(t){u=i.utils.getColor(t),r.color(u)}},rightAlignYAxis:{get:function(){return M},set:function(t){M=t,o.orient(t?"right":"left")}}}),i.utils.inheritOptions(t,r),i.utils.initOptions(t),t},i.models.bullet=function(){"use strict";function t(t,e){var n=t.slice();t.sort(function(t,i){var r=n.indexOf(t),A=n.indexOf(i);return d3.descending(e[r],e[A])})}function e(r){return r.each(function(e,r){var E=d-n.left-n.right,D=f-n.top-n.bottom;I=d3.select(this),i.utils.initSVG(I);var x=o.call(this,e,r).slice(),B=a.call(this,e,r).slice(),w=c.call(this,e,r).slice(),m=s.call(this,e,r).slice(),Q=u.call(this,e,r).slice(),v=g.call(this,e,r).slice(),j=l.call(this,e,r).slice(),L=M.call(this,e,r).slice();t(Q,x),t(v,B),t(j,w),t(L,m),x.sort(d3.descending),B.sort(d3.descending),w.sort(d3.descending),m.sort(d3.descending);var S=d3.scale.linear().domain(d3.extent(d3.merge([h,x]))).range(A?[E,0]:[0,E]);this.__chart__||d3.scale.linear().domain([0,1/0]).range(S.range());this.__chart__=S;for(var Y=(d3.min(x),d3.max(x),x[1],I.selectAll("g.nv-wrap.nv-bullet").data([e])),b=Y.enter().append("g").attr("class","nvd3 nv-wrap nv-bullet"),O=b.append("g"),z=Y.select("g"),r=0,U=x.length;r<U;r++){var F="nv-range nv-range"+r;r<=2&&(F=F+" nv-range"+p[r]),O.append("rect").attr("class",F)}O.append("rect").attr("class","nv-measure"),Y.attr("transform","translate("+n.left+","+n.top+")");for(var k=function(t){return S(t<0?t:0)},r=0,U=x.length;r<U;r++){var R=x[r];z.select("rect.nv-range"+r).datum(R).attr("height",D).transition().duration(C).attr("width",function(t){return Math.abs(S(t)-S(0))}(R)).attr("x",k(R))}z.select("rect.nv-measure").style("fill",T).attr("height",D/3).attr("y",D/3).on("mouseover",function(){N.elementMouseover({value:m[0],label:L[0]||"Current",color:d3.select(this).style("fill")})}).on("mousemove",function(){N.elementMousemove({value:m[0],label:L[0]||"Current",color:d3.select(this).style("fill")})}).on("mouseout",function(){N.elementMouseout({value:m[0],label:L[0]||"Current",color:d3.select(this).style("fill")})}).transition().duration(C).attr("width",m<0?S(0)-S(m[0]):S(m[0])-S(0)).attr("x",k(m));var G=D/6,H=B.map(function(t,e){return{value:t,label:v[e]}});O.selectAll("path.nv-markerTriangle").data(H).enter().append("path").attr("class","nv-markerTriangle").attr("d","M0,"+G+"L"+G+","+-G+" "+-G+","+-G+"Z").on("mouseover",function(t){N.elementMouseover({value:t.value,label:t.label||"Previous",color:d3.select(this).style("fill"),pos:[S(t.value),D/2]})}).on("mousemove",function(t){N.elementMousemove({value:t.value,label:t.label||"Previous",color:d3.select(this).style("fill")})}).on("mouseout",function(t,e){N.elementMouseout({value:t.value,label:t.label||"Previous",color:d3.select(this).style("fill")})}),z.selectAll("path.nv-markerTriangle").data(H).transition().duration(C).attr("transform",function(t){return"translate("+S(t.value)+","+D/2+")"});var J=w.map(function(t,e){return{value:t,label:j[e]}});O.selectAll("line.nv-markerLine").data(J).enter().append("line").attr("cursor","").attr("class","nv-markerLine").attr("x1",function(t){return S(t.value)}).attr("y1","2").attr("x2",function(t){return S(t.value)}).attr("y2",D-2).on("mouseover",function(t){N.elementMouseover({value:t.value,label:t.label||"Previous",color:d3.select(this).style("fill"),pos:[S(t.value),D/2]})}).on("mousemove",function(t){N.elementMousemove({value:t.value,label:t.label||"Previous",color:d3.select(this).style("fill")})}).on("mouseout",function(t,e){N.elementMouseout({value:t.value,label:t.label||"Previous",color:d3.select(this).style("fill")})}),z.selectAll("line.nv-markerLine").data(J).transition().duration(C).attr("x1",function(t){return S(t.value)}).attr("x2",function(t){return S(t.value)}),Y.selectAll(".nv-range").on("mouseover",function(t,e){var n=Q[e]||y[e];N.elementMouseover({value:t,label:n,color:d3.select(this).style("fill")})}).on("mousemove",function(){N.elementMousemove({value:m[0],label:L[0]||"Previous",color:d3.select(this).style("fill")})}).on("mouseout",function(t,e){var n=Q[e]||y[e];N.elementMouseout({value:t,label:n,color:d3.select(this).style("fill")})})}),e}var n={top:0,right:0,bottom:0,left:0},r="left",A=!1,o=function(t){return t.ranges},a=function(t){return t.markers?t.markers:[]},c=function(t){return t.markerLines?t.markerLines:[0]},s=function(t){return t.measures},u=function(t){return t.rangeLabels?t.rangeLabels:[]},g=function(t){return t.markerLabels?t.markerLabels:[]},l=function(t){return t.markerLineLabels?t.markerLineLabels:[]},M=function(t){return t.measureLabels?t.measureLabels:[]},h=[0],d=380,f=30,I=null,E=null,T=i.utils.getColor(["#1f77b4"]),N=d3.dispatch("elementMouseover","elementMouseout","elementMousemove"),y=["Maximum","Mean","Minimum"],p=["Max","Avg","Min"],C=1e3;return e.dispatch=N,e.options=i.utils.optionsFunc.bind(e),e._options=Object.create({},{ranges:{get:function(){return o},set:function(t){o=t}},markers:{get:function(){return a},set:function(t){a=t}},measures:{get:function(){return s},set:function(t){s=t}},forceX:{get:function(){return h},set:function(t){h=t}},width:{get:function(){return d},set:function(t){d=t}},height:{get:function(){return f},set:function(t){f=t}},tickFormat:{get:function(){return E},set:function(t){E=t}},duration:{get:function(){return C},set:function(t){C=t}},margin:{get:function(){return n},set:function(t){n.top=void 0!==t.top?t.top:n.top,n.right=void 0!==t.right?t.right:n.right,n.bottom=void 0!==t.bottom?t.bottom:n.bottom,n.left=void 0!==t.left?t.left:n.left}},orient:{get:function(){return r},set:function(t){r=t,A="right"==r||"bottom"==r}},color:{get:function(){return T},set:function(t){T=i.utils.getColor(t)}}}),i.utils.initOptions(e),e},i.models.bulletChart=function(){"use strict";function t(n){return n.each(function(r,h){var d=d3.select(this);i.utils.initSVG(d);var f=i.utils.availableWidth(u,d,o),I=g-o.top-o.bottom;if(t.update=function(){t(n)},t.container=this,!r||!a.call(this,r,h))return i.utils.noData(t,d),t;d.selectAll(".nv-noData").remove();var E=a.call(this,r,h).slice().sort(d3.descending),T=c.call(this,r,h).slice().sort(d3.descending),N=s.call(this,r,h).slice().sort(d3.descending),y=d.selectAll("g.nv-wrap.nv-bulletChart").data([r]),p=y.enter().append("g").attr("class","nvd3 nv-wrap nv-bulletChart"),C=p.append("g"),D=y.select("g");C.append("g").attr("class","nv-bulletWrap"),C.append("g").attr("class","nv-titles"),y.attr("transform","translate("+o.left+","+o.top+")");var x=d3.scale.linear().domain([0,Math.max(E[0],T[0]||0,N[0])]).range(A?[f,0]:[0,f]),B=this.__chart__||d3.scale.linear().domain([0,1/0]).range(x.range());this.__chart__=x;var w=C.select(".nv-titles").append("g").attr("text-anchor","end").attr("transform","translate(-6,"+(g-o.top-o.bottom)/2+")");w.append("text").attr("class","nv-title").text(function(t){return t.title}),w.append("text").attr("class","nv-subtitle").attr("dy","1em").text(function(t){return t.subtitle}),e.width(f).height(I);var m=D.select(".nv-bulletWrap");d3.transition(m).call(e);var Q=l||x.tickFormat(f/100),v=D.selectAll("g.nv-tick").data(x.ticks(M||f/50),function(t){return this.textContent||Q(t)}),j=v.enter().append("g").attr("class","nv-tick").attr("transform",function(t){return"translate("+B(t)+",0)"}).style("opacity",1e-6);j.append("line").attr("y1",I).attr("y2",7*I/6),j.append("text").attr("text-anchor","middle").attr("dy","1em").attr("y",7*I/6).text(Q);var L=d3.transition(v).transition().duration(e.duration()).attr("transform",function(t){return"translate("+x(t)+",0)"}).style("opacity",1);L.select("line").attr("y1",I).attr("y2",7*I/6),L.select("text").attr("y",7*I/6),d3.transition(v.exit()).transition().duration(e.duration()).attr("transform",function(t){return"translate("+x(t)+",0)"}).style("opacity",1e-6).remove()}),d3.timer.flush(),t}var e=i.models.bullet(),n=i.models.tooltip(),r="left",A=!1,o={top:5,right:40,bottom:20,left:120},a=function(t){return t.ranges},c=function(t){return t.markers?t.markers:[]},s=function(t){return t.measures},u=null,g=55,l=null,M=null,h=null,d=d3.dispatch();return n.duration(0).headerEnabled(!1),e.dispatch.on("elementMouseover.tooltip",function(t){t.series={key:t.label,value:t.value,color:t.color},n.data(t).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(t){n.hidden(!0)}),e.dispatch.on("elementMousemove.tooltip",function(t){n()}),t.bullet=e,t.dispatch=d,t.tooltip=n,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{ranges:{get:function(){return a},set:function(t){a=t}},markers:{get:function(){return c},set:function(t){c=t}},measures:{get:function(){return s},set:function(t){s=t}},width:{get:function(){return u},set:function(t){u=t}},height:{get:function(){return g},set:function(t){g=t}},tickFormat:{get:function(){return l},set:function(t){l=t}},ticks:{get:function(){return M},set:function(t){M=t}},noData:{get:function(){return h},set:function(t){h=t}},margin:{get:function(){return o},set:function(t){o.top=void 0!==t.top?t.top:o.top,o.right=void 0!==t.right?t.right:o.right,o.bottom=void 0!==t.bottom?t.bottom:o.bottom,o.left=void 0!==t.left?t.left:o.left}},orient:{get:function(){return r},set:function(t){r=t,A="right"==r||"bottom"==r}}}),i.utils.inheritOptions(t,e),i.utils.initOptions(t),t},i.models.candlestickBar=function(){"use strict";function t(C){return C.each(function(t){e=d3.select(this);var C=i.utils.availableWidth(c,e,a),D=i.utils.availableHeight(s,e,a);i.utils.initSVG(e);var B=C/t[0].values.length*.45;g.domain(n||d3.extent(t[0].values.map(M).concat(T))),y?g.range(A||[.5*C/t[0].values.length,C*(t[0].values.length-.5)/t[0].values.length]):g.range(A||[5+B/2,C-B/2-5]),l.domain(r||[d3.min(t[0].values.map(E).concat(N)),d3.max(t[0].values.map(I).concat(N))]).range(o||[D,0]),g.domain()[0]===g.domain()[1]&&(g.domain()[0]?g.domain([g.domain()[0]-.01*g.domain()[0],g.domain()[1]+.01*g.domain()[1]]):g.domain([-1,1])),l.domain()[0]===l.domain()[1]&&(l.domain()[0]?l.domain([l.domain()[0]+.01*l.domain()[0],l.domain()[1]-.01*l.domain()[1]]):l.domain([-1,1]));var w=d3.select(this).selectAll("g.nv-wrap.nv-candlestickBar").data([t[0].values]),m=w.enter().append("g").attr("class","nvd3 nv-wrap nv-candlestickBar"),Q=m.append("defs"),v=m.append("g"),j=w.select("g");v.append("g").attr("class","nv-ticks"),w.attr("transform","translate("+a.left+","+a.top+")"),e.on("click",function(t,e){x.chartClick({data:t,index:e,pos:d3.event,id:u})}),Q.append("clipPath").attr("id","nv-chart-clip-path-"+u).append("rect"),w.select("#nv-chart-clip-path-"+u+" rect").attr("width",C).attr("height",D),j.attr("clip-path",p?"url(#nv-chart-clip-path-"+u+")":"");var L=w.select(".nv-ticks").selectAll(".nv-tick").data(function(t){return t});L.exit().remove();var S=L.enter().append("g");L.attr("class",function(t,e,n){return(d(t,e)>f(t,e)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+n+"-"+e});S.append("line").attr("class","nv-candlestick-lines").attr("transform",function(t,e){return"translate("+g(M(t,e))+",0)"}).attr("x1",0).attr("y1",function(t,e){return l(I(t,e))}).attr("x2",0).attr("y2",function(t,e){return l(E(t,e))}),S.append("rect").attr("class","nv-candlestick-rects nv-bars").attr("transform",function(t,e){return"translate("+(g(M(t,e))-B/2)+","+(l(h(t,e))-(d(t,e)>f(t,e)?l(f(t,e))-l(d(t,e)):0))+")"}).attr("x",0).attr("y",0).attr("width",B).attr("height",function(t,e){var n=d(t,e),i=f(t,e);return n>i?l(i)-l(n):l(n)-l(i)});L.select(".nv-candlestick-lines").transition().attr("transform",function(t,e){return"translate("+g(M(t,e))+",0)"}).attr("x1",0).attr("y1",function(t,e){return l(I(t,e))}).attr("x2",0).attr("y2",function(t,e){return l(E(t,e))}),L.select(".nv-candlestick-rects").transition().attr("transform",function(t,e){return"translate("+(g(M(t,e))-B/2)+","+(l(h(t,e))-(d(t,e)>f(t,e)?l(f(t,e))-l(d(t,e)):0))+")"}).attr("x",0).attr("y",0).attr("width",B).attr("height",function(t,e){var n=d(t,e),i=f(t,e);return n>i?l(i)-l(n):l(n)-l(i)})}),t}var e,n,r,A,o,a={top:0,right:0,bottom:0,left:0},c=null,s=null,u=Math.floor(1e4*Math.random()),g=d3.scale.linear(),l=d3.scale.linear(),M=function(t){return t.x},h=function(t){return t.y},d=function(t){return t.open},f=function(t){return t.close},I=function(t){return t.high},E=function(t){return t.low},T=[],N=[],y=!1,p=!0,C=i.utils.defaultColor(),D=!1,x=d3.dispatch("stateChange","changeState","renderEnd","chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove");return t.highlightPoint=function(n,i){t.clearHighlights(),e.select(".nv-candlestickBar .nv-tick-0-"+n).classed("hover",i)},t.clearHighlights=function(){e.select(".nv-candlestickBar .nv-tick.hover").classed("hover",!1)},t.dispatch=x,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return c},set:function(t){c=t}},height:{get:function(){return s},set:function(t){s=t}},xScale:{get:function(){return g},set:function(t){g=t}},yScale:{get:function(){return l},set:function(t){l=t}},xDomain:{get:function(){return n},set:function(t){n=t}},yDomain:{get:function(){return r},set:function(t){r=t}},xRange:{get:function(){return A},set:function(t){A=t}},yRange:{get:function(){return o},set:function(t){o=t}},forceX:{get:function(){return T},set:function(t){T=t}},forceY:{get:function(){return N},set:function(t){N=t}},padData:{get:function(){return y},set:function(t){y=t}},clipEdge:{get:function(){return p},set:function(t){p=t}},id:{get:function(){return u},set:function(t){u=t}},interactive:{get:function(){return D},set:function(t){D=t}},x:{get:function(){return M},set:function(t){M=t}},y:{get:function(){return h},set:function(t){h=t}},open:{get:function(){return d()},set:function(t){d=t}},close:{get:function(){return f()},set:function(t){f=t}},high:{get:function(){return I},set:function(t){I=t}},low:{get:function(){return E},set:function(t){E=t}},margin:{get:function(){return a},set:function(t){a.top=void 0!=t.top?t.top:a.top,a.right=void 0!=t.right?t.right:a.right,a.bottom=void 0!=t.bottom?t.bottom:a.bottom,a.left=void 0!=t.left?t.left:a.left}},color:{get:function(){return C},set:function(t){C=i.utils.getColor(t)}}}),i.utils.initOptions(t),t},i.models.cumulativeLineChart=function(){"use strict";function t(g){return Y.reset(),Y.models(A),E&&Y.models(o),T&&Y.models(a),g.each(function(g){function w(e,n){d3.select(t.container).style("cursor","ew-resize")}function j(t,e){S.x=d3.event.x,S.i=Math.round(L.invert(S.x)),z()}function Y(e,n){d3.select(t.container).style("cursor","auto"),x.index=S.i,Q.stateChange(x)}function z(){et.data([S]);var e=t.duration();t.duration(0),t.update(),t.duration(e)}var U=d3.select(this);i.utils.initSVG(U),U.classed("nv-chart-"+D,!0);var F=i.utils.availableWidth(d,U,l),k=i.utils.availableHeight(f,U,l);if(t.update=function(){0===v?U.call(t):U.transition().duration(v).call(t)},t.container=this,x.setter(O(g),t.update).getter(b(g)).update(),x.disabled=g.map(function(t){return!!t.disabled}),!B){var R;B={};for(R in x)x[R]instanceof Array?B[R]=x[R].slice(0):B[R]=x[R]}var G=d3.behavior.drag().on("dragstart",w).on("drag",j).on("dragend",Y);if(!(g&&g.length&&g.filter(function(t){return t.values.length}).length))return i.utils.noData(t,U),t;if(U.selectAll(".nv-noData").remove(),n=A.xScale(),r=A.yScale(),C)A.yDomain(null);else{var H=g.filter(function(t){return!t.disabled}).map(function(t,e){var n=d3.extent(t.values,A.y());return n[0]<-.95&&(n[0]=-.95),[(n[0]-n[1])/(1+n[1]),(n[1]-n[0])/(1+n[0])]}),J=[d3.min(H,function(t){return t[0]}),d3.max(H,function(t){return t[1]})];A.yDomain(J)}L.domain([0,g[0].values.length-1]).range([0,F]).clamp(!0);var g=e(S.i,g),P=p?"none":"all",X=U.selectAll("g.nv-wrap.nv-cumulativeLine").data([g]),V=X.enter().append("g").attr("class","nvd3 nv-wrap nv-cumulativeLine").append("g"),W=X.select("g");if(V.append("g").attr("class","nv-interactive"),V.append("g").attr("class","nv-x nv-axis").style("pointer-events","none"),V.append("g").attr("class","nv-y nv-axis"),V.append("g").attr("class","nv-background"),V.append("g").attr("class","nv-linesWrap").style("pointer-events",P),V.append("g").attr("class","nv-avgLinesWrap").style("pointer-events","none"),V.append("g").attr("class","nv-legendWrap"),V.append("g").attr("class","nv-controlsWrap"),I?(c.width(F),W.select(".nv-legendWrap").datum(g).call(c),M||c.height()===l.top||(l.top=c.height(),k=i.utils.availableHeight(f,U,l)),W.select(".nv-legendWrap").attr("transform","translate(0,"+-l.top+")")):W.select(".nv-legendWrap").selectAll("*").remove(),y){var _=[{key:"Re-scale y-axis",disabled:!C}];s.width(140).color(["#444","#444","#444"]).rightAlign(!1).margin({top:5,right:0,bottom:5,left:20}),W.select(".nv-controlsWrap").datum(_).attr("transform","translate(0,"+-l.top+")").call(s)}else W.select(".nv-controlsWrap").selectAll("*").remove();X.attr("transform","translate("+l.left+","+l.top+")"),N&&W.select(".nv-y.nv-axis").attr("transform","translate("+F+",0)");var Z=g.filter(function(t){return t.tempDisabled});X.select(".tempDisabled").remove(),Z.length&&X.append("text").attr("class","tempDisabled").attr("x",F/2).attr("y","-.71em").style("text-anchor","end").text(Z.map(function(t){return t.key}).join(", ")+" values cannot be calculated for this time period."),p&&(u.width(F).height(k).margin({left:l.left,top:l.top}).svgContainer(U).xScale(n),X.select(".nv-interactive").call(u)),V.select(".nv-background").append("rect"),W.select(".nv-background rect").attr("width",F).attr("height",k),A.y(function(t){return t.display.y}).width(F).height(k).color(g.map(function(t,e){return t.color||h(t,e)}).filter(function(t,e){return!g[e].disabled&&!g[e].tempDisabled}));var K=W.select(".nv-linesWrap").datum(g.filter(function(t){return!t.disabled&&!t.tempDisabled}));K.call(A),g.forEach(function(t,e){t.seriesIndex=e});var q=g.filter(function(t){return!t.disabled&&!!m(t)}),$=W.select(".nv-avgLinesWrap").selectAll("line").data(q,function(t){return t.key}),tt=function(t){var e=r(m(t));return e<0?0:e>k?k:e};$.enter().append("line").style("stroke-width",2).style("stroke-dasharray","10,10").style("stroke",function(t,e){return A.color()(t,t.seriesIndex)}).attr("x1",0).attr("x2",F).attr("y1",tt).attr("y2",tt),$.style("stroke-opacity",function(t){var e=r(m(t));return e<0||e>k?0:1}).attr("x1",0).attr("x2",F).attr("y1",tt).attr("y2",tt),$.exit().remove();var et=K.selectAll(".nv-indexLine").data([S]);et.enter().append("rect").attr("class","nv-indexLine").attr("width",3).attr("x",-2).attr("fill","red").attr("fill-opacity",.5).style("pointer-events","all").call(G),et.attr("transform",function(t){return"translate("+L(t.i)+",0)"}).attr("height",k),E&&(o.scale(n)._ticks(i.utils.calcTicksX(F/70,g)).tickSize(-k,0),W.select(".nv-x.nv-axis").attr("transform","translate(0,"+r.range()[0]+")"),W.select(".nv-x.nv-axis").call(o)),T&&(a.scale(r)._ticks(i.utils.calcTicksY(k/36,g)).tickSize(-F,0),W.select(".nv-y.nv-axis").call(a)),W.select(".nv-background rect").on("click",function(){S.x=d3.mouse(this)[0],S.i=Math.round(L.invert(S.x)),x.index=S.i,Q.stateChange(x),z()}),A.dispatch.on("elementClick",function(t){S.i=t.pointIndex,S.x=L(S.i),x.index=S.i,Q.stateChange(x),z()}),s.dispatch.on("legendClick",function(e,n){e.disabled=!e.disabled,C=!e.disabled,x.rescaleY=C,Q.stateChange(x),t.update()}),c.dispatch.on("stateChange",function(e){for(var n in e)x[n]=e[n];Q.stateChange(x),t.update()}),u.dispatch.on("elementMousemove",function(e){A.clearHighlights();var n,r,c,s=[];if(g.filter(function(t,e){return t.seriesIndex=e,!t.disabled}).forEach(function(o,a){r=i.interactiveBisect(o.values,e.pointXValue,t.x()),A.highlightPoint(a,r,!0);var u=o.values[r];void 0!==u&&(void 0===n&&(n=u),void 0===c&&(c=t.xScale()(t.x()(u,r))),s.push({key:o.key,value:t.y()(u,r),color:h(o,o.seriesIndex)}))}),s.length>2){var l=t.yScale().invert(e.mouseY),M=Math.abs(t.yScale().domain()[0]-t.yScale().domain()[1]),d=.03*M,f=i.nearestValueIndex(s.map(function(t){return t.value}),l,d);null!==f&&(s[f].highlight=!0)}var I=o.tickFormat()(t.x()(n,r),r);u.tooltip.valueFormatter(function(t,e){return a.tickFormat()(t)}).data({value:I,series:s})(),u.renderGuideLine(c)}),u.dispatch.on("elementMouseout",function(t){A.clearHighlights()}),Q.on("changeState",function(e){void 0!==e.disabled&&(g.forEach(function(t,n){t.disabled=e.disabled[n]}),x.disabled=e.disabled),void 0!==e.index&&(S.i=e.index,S.x=L(S.i),x.index=e.index,et.data([S])),void 0!==e.rescaleY&&(C=e.rescaleY),t.update()})}),Y.renderEnd("cumulativeLineChart immediate"),t}function e(t,e){return z||(z=A.y()),e.map(function(e,n){if(!e.values)return e;var i=e.values[t];if(null==i)return e;var r=z(i,t);return r<-.95&&!j?(e.tempDisabled=!0,e):(e.tempDisabled=!1,e.values=e.values.map(function(t,e){return t.display={y:(z(t,e)-r)/(1+r)},t}),e)})}var n,r,A=i.models.line(),o=i.models.axis(),a=i.models.axis(),c=i.models.legend(),s=i.models.legend(),u=i.interactiveGuideline(),g=i.models.tooltip(),l={top:30,right:30,bottom:50,left:60},M=null,h=i.utils.defaultColor(),d=null,f=null,I=!0,E=!0,T=!0,N=!1,y=!0,p=!1,C=!0,D=A.id(),x=i.utils.state(),B=null,w=null,m=function(t){return t.average},Q=d3.dispatch("stateChange","changeState","renderEnd"),v=250,j=!1;x.index=0,x.rescaleY=C,o.orient("bottom").tickPadding(7),a.orient(N?"right":"left"),g.valueFormatter(function(t,e){return a.tickFormat()(t,e)}).headerFormatter(function(t,e){return o.tickFormat()(t,e)}),s.updateState(!1);var L=d3.scale.linear(),S={i:0,x:0},Y=i.utils.renderWatch(Q,v),b=function(t){return function(){return{active:t.map(function(t){return!t.disabled}),index:S.i,rescaleY:C}}},O=function(t){return function(e){void 0!==e.index&&(S.i=e.index),void 0!==e.rescaleY&&(C=e.rescaleY),void 0!==e.active&&t.forEach(function(t,n){t.disabled=!e.active[n]})}};A.dispatch.on("elementMouseover.tooltip",function(e){var n={x:t.x()(e.point),y:t.y()(e.point),color:e.point.color};e.point=n,g.data(e).hidden(!1)}),A.dispatch.on("elementMouseout.tooltip",function(t){g.hidden(!0)});var z=null;return t.dispatch=Q,t.lines=A,t.legend=c,t.controls=s,t.xAxis=o,t.yAxis=a,t.interactiveLayer=u,t.state=x,t.tooltip=g,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return d},set:function(t){d=t}},height:{get:function(){return f},set:function(t){f=t}},rescaleY:{get:function(){return C},set:function(t){C=t}},showControls:{get:function(){return y},set:function(t){y=t}},showLegend:{get:function(){return I},set:function(t){I=t}},average:{get:function(){return m},set:function(t){m=t}},defaultState:{get:function(){return B},set:function(t){B=t}},noData:{get:function(){return w},set:function(t){w=t}},showXAxis:{get:function(){return E},set:function(t){E=t}},showYAxis:{get:function(){return T},set:function(t){T=t}},noErrorCheck:{get:function(){return j},set:function(t){j=t}},margin:{get:function(){return l},set:function(t){void 0!==t.top&&(l.top=t.top,M=t.top),l.right=void 0!==t.right?t.right:l.right,l.bottom=void 0!==t.bottom?t.bottom:l.bottom,l.left=void 0!==t.left?t.left:l.left}},color:{get:function(){return h},set:function(t){h=i.utils.getColor(t),c.color(h)}},useInteractiveGuideline:{get:function(){return p},set:function(e){p=e,!0===e&&(t.interactive(!1),t.useVoronoi(!1))}},rightAlignYAxis:{get:function(){return N},set:function(t){N=t,a.orient(t?"right":"left")}},duration:{get:function(){return v},set:function(t){v=t,A.duration(v),o.duration(v),a.duration(v),Y.reset(v)}}}),i.utils.inheritOptions(t,A),i.utils.initOptions(t),t},i.models.discreteBar=function(){"use strict";function t(l){return D.reset(),l.each(function(t){var l=u-s.left-s.right,C=g-s.top-s.bottom;e=d3.select(this),i.utils.initSVG(e),t.forEach(function(t,e){t.values.forEach(function(t){t.series=e})});var x=n&&r?[]:t.map(function(t){return t.values.map(function(t,e){return{x:d(t,e),y:f(t,e),y0:t.y0}})});M.domain(n||d3.merge(x).map(function(t){return t.x})).rangeBands(A||[0,l],.1),h.domain(r||d3.extent(d3.merge(x).map(function(t){return t.y}).concat(I))),T?h.range(o||[C-(h.domain()[0]<0?12:0),h.domain()[1]>0?12:0]):h.range(o||[C,0]),a=a||M,c=c||h.copy().range([h(0),h(0)]);var B=e.selectAll("g.nv-wrap.nv-discretebar").data([t]),w=B.enter().append("g").attr("class","nvd3 nv-wrap nv-discretebar"),m=w.append("g");B.select("g");m.append("g").attr("class","nv-groups"),B.attr("transform","translate("+s.left+","+s.top+")");var Q=B.select(".nv-groups").selectAll(".nv-group").data(function(t){return t},function(t){return t.key});Q.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),Q.exit().watchTransition(D,"discreteBar: exit groups").style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),Q.attr("class",function(t,e){return"nv-group nv-series-"+e}).classed("hover",function(t){return t.hover}),Q.watchTransition(D,"discreteBar: groups").style("stroke-opacity",1).style("fill-opacity",.75);var v=Q.selectAll("g.nv-bar").data(function(t){return t.values});v.exit().remove();var j=v.enter().append("g").attr("transform",function(t,e,n){return"translate("+(M(d(t,e))+.05*M.rangeBand())+", "+h(0)+")"}).on("mouseover",function(t,e){d3.select(this).classed("hover",!0),y.elementMouseover({data:t,index:e,color:d3.select(this).style("fill")})}).on("mouseout",function(t,e){d3.select(this).classed("hover",!1),y.elementMouseout({data:t,index:e,color:d3.select(this).style("fill")})}).on("mousemove",function(t,e){y.elementMousemove({data:t,index:e,color:d3.select(this).style("fill")})}).on("click",function(t,e){var n=this;y.elementClick({data:t,index:e,color:d3.select(this).style("fill"),event:d3.event,element:n}),d3.event.stopPropagation()}).on("dblclick",function(t,e){y.elementDblClick({data:t,index:e,color:d3.select(this).style("fill")}),d3.event.stopPropagation()});j.append("rect").attr("height",0).attr("width",.9*M.rangeBand()/t.length),T?(j.append("text").attr("text-anchor","middle"),v.select("text").text(function(t,e){return N(f(t,e))}).watchTransition(D,"discreteBar: bars text").attr("x",.9*M.rangeBand()/2).attr("y",function(t,e){return f(t,e)<0?h(f(t,e))-h(0)+12:-4})):v.selectAll("text").remove(),v.attr("class",function(t,e){return f(t,e)<0?"nv-bar negative":"nv-bar positive"}).style("fill",function(t,e){return t.color||E(t,e)}).style("stroke",function(t,e){return t.color||E(t,e)}).select("rect").attr("class",p).watchTransition(D,"discreteBar: bars rect").attr("width",.9*M.rangeBand()/t.length),v.watchTransition(D,"discreteBar: bars").attr("transform",function(t,e){return"translate("+(M(d(t,e))+.05*M.rangeBand())+", "+(f(t,e)<0?h(0):h(0)-h(f(t,e))<1?h(0)-1:h(f(t,e)))+")"}).select("rect").attr("height",function(t,e){return Math.max(Math.abs(h(f(t,e))-h(0)),1)}),a=M.copy(),c=h.copy()}),D.renderEnd("discreteBar immediate"),t}var e,n,r,A,o,a,c,s={top:0,right:0,bottom:0,left:0},u=960,g=500,l=Math.floor(1e4*Math.random()),M=d3.scale.ordinal(),h=d3.scale.linear(),d=function(t){return t.x},f=function(t){return t.y},I=[0],E=i.utils.defaultColor(),T=!1,N=d3.format(",.2f"),y=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),p="discreteBar",C=250,D=i.utils.renderWatch(y,C);return t.dispatch=y,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return u},set:function(t){u=t}},height:{get:function(){return g},set:function(t){g=t}},forceY:{get:function(){return I},set:function(t){I=t}},showValues:{get:function(){return T},set:function(t){T=t}},x:{get:function(){return d},set:function(t){d=t}},y:{get:function(){return f},set:function(t){f=t}},xScale:{get:function(){return M},set:function(t){M=t}},yScale:{get:function(){return h},set:function(t){h=t}},xDomain:{get:function(){return n},set:function(t){n=t}},yDomain:{get:function(){return r},set:function(t){r=t}},xRange:{get:function(){return A},set:function(t){A=t}},yRange:{get:function(){return o},set:function(t){o=t}},valueFormat:{get:function(){return N},set:function(t){N=t}},id:{get:function(){return l},set:function(t){l=t}},rectClass:{get:function(){return p},set:function(t){p=t}},margin:{get:function(){return s},set:function(t){s.top=void 0!==t.top?t.top:s.top,s.right=void 0!==t.right?t.right:s.right,s.bottom=void 0!==t.bottom?t.bottom:s.bottom,s.left=void 0!==t.left?t.left:s.left}},color:{get:function(){return E},set:function(t){E=i.utils.getColor(t)}},duration:{get:function(){return C},set:function(t){C=t,D.reset(C)}}}),i.utils.initOptions(t),t},i.models.discreteBarChart=function(){"use strict";function t(c){return D.reset(),D.models(r),d&&D.models(A),f&&D.models(o),c.each(function(c){var M=d3.select(this);i.utils.initSVG(M);var y=i.utils.availableWidth(g,M,s),D=i.utils.availableHeight(l,M,s);if(t.update=function(){p.beforeUpdate(),M.transition().duration(C).call(t)},t.container=this,!(c&&c.length&&c.filter(function(t){return t.values.length}).length))return i.utils.noData(t,M),t;M.selectAll(".nv-noData").remove(),e=r.xScale(),n=r.yScale().clamp(!0);var x=M.selectAll("g.nv-wrap.nv-discreteBarWithAxes").data([c]),B=x.enter().append("g").attr("class","nvd3 nv-wrap nv-discreteBarWithAxes").append("g"),w=B.append("defs"),m=x.select("g");if(B.append("g").attr("class","nv-x nv-axis"),B.append("g").attr("class","nv-y nv-axis").append("g").attr("class","nv-zeroLine").append("line"),B.append("g").attr("class","nv-barsWrap"),B.append("g").attr("class","nv-legendWrap"),m.attr("transform","translate("+s.left+","+s.top+")"),h?(a.width(y),m.select(".nv-legendWrap").datum(c).call(a),u||a.height()===s.top||(s.top=a.height(),D=i.utils.availableHeight(l,M,s)),x.select(".nv-legendWrap").attr("transform","translate(0,"+-s.top+")")):m.select(".nv-legendWrap").selectAll("*").remove(),I&&m.select(".nv-y.nv-axis").attr("transform","translate("+y+",0)"),r.width(y).height(D),m.select(".nv-barsWrap").datum(c.filter(function(t){return!t.disabled})).transition().call(r),w.append("clipPath").attr("id","nv-x-label-clip-"+r.id()).append("rect"),m.select("#nv-x-label-clip-"+r.id()+" rect").attr("width",e.rangeBand()*(E?2:1)).attr("height",16).attr("x",-e.rangeBand()/(E?1:2)),d){A.scale(e)._ticks(i.utils.calcTicksX(y/100,c)).tickSize(-D,0),m.select(".nv-x.nv-axis").attr("transform","translate(0,"+(n.range()[0]+(r.showValues()&&n.domain()[0]<0?16:0))+")"),m.select(".nv-x.nv-axis").call(A);var Q=m.select(".nv-x.nv-axis").selectAll("g");E&&Q.selectAll("text").attr("transform",function(t,e,n){return"translate(0,"+(n%2==0?"5":"17")+")"}),N&&Q.selectAll(".tick text").attr("transform","rotate("+N+" 0,0)").style("text-anchor",N>0?"start":"end"),T&&m.selectAll(".tick text").call(i.utils.wrapTicks,t.xAxis.rangeBand())}f&&(o.scale(n)._ticks(i.utils.calcTicksY(D/36,c)).tickSize(-y,0),m.select(".nv-y.nv-axis").call(o)),m.select(".nv-zeroLine line").attr("x1",0).attr("x2",I?-y:y).attr("y1",n(0)).attr("y2",n(0))}),D.renderEnd("discreteBar chart immediate"),t}var e,n,r=i.models.discreteBar(),A=i.models.axis(),o=i.models.axis(),a=i.models.legend(),c=i.models.tooltip(),s={top:15,right:10,bottom:50,left:60},u=null,g=null,l=null,M=i.utils.getColor(),h=!1,d=!0,f=!0,I=!1,E=!1,T=!1,N=0,y=null,p=d3.dispatch("beforeUpdate","renderEnd"),C=250;A.orient("bottom").showMaxMin(!1).tickFormat(function(t){return t}),o.orient(I?"right":"left").tickFormat(d3.format(",.1f")),c.duration(0).headerEnabled(!1).valueFormatter(function(t,e){return o.tickFormat()(t,e)}).keyFormatter(function(t,e){return A.tickFormat()(t,e)});var D=i.utils.renderWatch(p,C);return r.dispatch.on("elementMouseover.tooltip",function(e){e.series={key:t.x()(e.data),value:t.y()(e.data),color:e.color},c.data(e).hidden(!1)}),r.dispatch.on("elementMouseout.tooltip",function(t){c.hidden(!0)}),r.dispatch.on("elementMousemove.tooltip",function(t){c()}),t.dispatch=p,t.discretebar=r,t.legend=a,t.xAxis=A,t.yAxis=o,t.tooltip=c,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return g},set:function(t){g=t}},height:{get:function(){return l},set:function(t){l=t}},showLegend:{get:function(){return h},set:function(t){h=t}},staggerLabels:{get:function(){return E},set:function(t){E=t}},rotateLabels:{get:function(){return N},set:function(t){N=t}},wrapLabels:{get:function(){return T},set:function(t){T=!!t}},showXAxis:{get:function(){return d},set:function(t){d=t}},showYAxis:{get:function(){return f},set:function(t){f=t}},noData:{get:function(){return y},set:function(t){y=t}},margin:{get:function(){return s},set:function(t){void 0!==t.top&&(s.top=t.top,u=t.top),s.right=void 0!==t.right?t.right:s.right,s.bottom=void 0!==t.bottom?t.bottom:s.bottom,s.left=void 0!==t.left?t.left:s.left}},duration:{get:function(){return C},set:function(t){C=t,D.reset(C),r.duration(C),A.duration(C),o.duration(C)}},color:{get:function(){return M},set:function(t){M=i.utils.getColor(t),r.color(M),a.color(M)}},rightAlignYAxis:{get:function(){return I},set:function(t){I=t,o.orient(t?"right":"left")}}}),i.utils.inheritOptions(t,r),i.utils.initOptions(t),t},i.models.distribution=function(){"use strict";function t(r){return l.reset(),r.each(function(t){var r=("x"===o?(n.left,n.right):(n.top,n.bottom),"x"==o?"y":"x"),u=d3.select(this);i.utils.initSVG(u),e=e||s;var g=u.selectAll("g.nv-distribution").data([t]),M=g.enter().append("g").attr("class","nvd3 nv-distribution"),h=(M.append("g"),g.select("g"));g.attr("transform","translate("+n.left+","+n.top+")");var d=h.selectAll("g.nv-dist").data(function(t){return t},function(t){return t.key});d.enter().append("g"),d.attr("class",function(t,e){return"nv-dist nv-series-"+e}).style("stroke",function(t,e){return c(t,e)});var f=d.selectAll("line.nv-dist"+o).data(function(t){return t.values});f.enter().append("line").attr(o+"1",function(t,n){return e(a(t,n))}).attr(o+"2",function(t,n){return e(a(t,n))}),l.transition(d.exit().selectAll("line.nv-dist"+o),"dist exit").attr(o+"1",function(t,e){return s(a(t,e))}).attr(o+"2",function(t,e){return s(a(t,e))}).style("stroke-opacity",0).remove(),f.attr("class",function(t,e){return"nv-dist"+o+" nv-dist"+o+"-"+e}).attr(r+"1",0).attr(r+"2",A),l.transition(f,"dist").attr(o+"1",function(t,e){return s(a(t,e))}).attr(o+"2",function(t,e){return s(a(t,e))}),e=s.copy()}),l.renderEnd("distribution immediate"),t}var e,n={top:0,right:0,bottom:0,left:0},r=400,A=8,o="x",a=function(t){return t[o]},c=i.utils.defaultColor(),s=d3.scale.linear(),u=250,g=d3.dispatch("renderEnd"),l=i.utils.renderWatch(g,u);return t.options=i.utils.optionsFunc.bind(t),t.dispatch=g,t.margin=function(e){return arguments.length?(n.top=void 0!==e.top?e.top:n.top,n.right=void 0!==e.right?e.right:n.right,n.bottom=void 0!==e.bottom?e.bottom:n.bottom,n.left=void 0!==e.left?e.left:n.left,t):n},t.width=function(e){return arguments.length?(r=e,t):r},t.axis=function(e){return arguments.length?(o=e,t):o},t.size=function(e){return arguments.length?(A=e,t):A},t.getData=function(e){return arguments.length?(a=d3.functor(e),t):a},t.scale=function(e){return arguments.length?(s=e,t):s},t.color=function(e){return arguments.length?(c=i.utils.getColor(e),t):c},t.duration=function(e){return arguments.length?(u=e,l.reset(u),t):u},t},i.models.focus=function(t){"use strict";function e(N){return T.reset(),T.models(t),l&&T.models(A),M&&T.models(o),N.each(function(T){function N(t){var e=+("e"==t),n=e?1:-1,i=x/3;return"M"+.5*n+","+i+"A6,6 0 0 "+e+" "+6.5*n+","+(i+6)+"V"+(2*i-6)+"A6,6 0 0 "+e+" "+.5*n+","+2*i+"ZM"+2.5*n+","+(i+8)+"V"+(2*i-8)+"M"+4.5*n+","+(i+8)+"V"+(2*i-8)}function y(){a.empty()||a.extent(d),v.data([a.empty()?n.domain():d]).each(function(t,e){var i=n(t[0])-n.range()[0],r=D-n(t[1]);d3.select(this).select(".left").attr("width",i<0?0:i),d3.select(this).select(".right").attr("x",n(t[1])).attr("width",r<0?0:r)})}function p(t){d=a.empty()?null:a.extent();var e=a.empty()?n.domain():a.extent();I.brush({extent:e,brush:a}),y(),t&&I.onBrush(e)}var C=d3.select(this);i.utils.initSVG(C);var D=i.utils.availableWidth(u,C,c),x=g-c.top-c.bottom;e.update=function(){0===f?C.call(e):C.transition().duration(f).call(e)},e.container=this,n=t.xScale(),r=t.yScale();var B=C.selectAll("g.nv-focus").data([T]),w=B.enter().append("g").attr("class","nvd3 nv-focus").append("g"),m=B.select("g");B.attr("transform","translate("+c.left+","+c.top+")"),w.append("g").attr("class","nv-background").append("rect"),w.append("g").attr("class","nv-x nv-axis"),w.append("g").attr("class","nv-y nv-axis"),w.append("g").attr("class","nv-contentWrap"),w.append("g").attr("class","nv-brushBackground"),w.append("g").attr("class","nv-x nv-brush"),h&&m.select(".nv-y.nv-axis").attr("transform","translate("+D+",0)"),m.select(".nv-background rect").attr("width",D).attr("height",x),t.width(D).height(x).color(T.map(function(t,e){return t.color||s(t,e)}).filter(function(t,e){return!T[e].disabled}));var Q=m.select(".nv-contentWrap").datum(T.filter(function(t){return!t.disabled}));d3.transition(Q).call(t),a.x(n).on("brush",function(){p(E)}),a.on("brushend",function(){E||I.onBrush(a.empty()?n.domain():a.extent())}),d&&a.extent(d);var v=m.select(".nv-brushBackground").selectAll("g").data([d||a.extent()]),j=v.enter().append("g");j.append("rect").attr("class","left").attr("x",0).attr("y",0).attr("height",x),j.append("rect").attr("class","right").attr("x",0).attr("y",0).attr("height",x);var L=m.select(".nv-x.nv-brush").call(a);L.selectAll("rect").attr("height",x),L.selectAll(".resize").append("path").attr("d",N),p(!0),m.select(".nv-background rect").attr("width",D).attr("height",x),l&&(A.scale(n)._ticks(i.utils.calcTicksX(D/100,T)).tickSize(-x,0),m.select(".nv-x.nv-axis").attr("transform","translate(0,"+r.range()[0]+")"),d3.transition(m.select(".nv-x.nv-axis")).call(A)),M&&(o.scale(r)._ticks(i.utils.calcTicksY(x/36,T)).tickSize(-D,0),d3.transition(m.select(".nv-y.nv-axis")).call(o)),m.select(".nv-x.nv-axis").attr("transform","translate(0,"+r.range()[0]+")")}),T.renderEnd("focus immediate"),e}var n,r,t=t||i.models.line(),A=i.models.axis(),o=i.models.axis(),a=d3.svg.brush(),c={top:10,right:0,bottom:30,left:0},s=i.utils.defaultColor(),u=null,g=70,l=!0,M=!1,h=!1,d=null,f=250,I=d3.dispatch("brush","onBrush","renderEnd"),E=!0;t.interactive(!1),t.pointActive(function(t){return!1});var T=i.utils.renderWatch(I,f);return e.dispatch=I,e.content=t,e.brush=a,e.xAxis=A,e.yAxis=o,e.options=i.utils.optionsFunc.bind(e),e._options=Object.create({},{width:{get:function(){return u},set:function(t){u=t}},height:{get:function(){return g},set:function(t){g=t}},showXAxis:{get:function(){return l},set:function(t){l=t}},showYAxis:{get:function(){return M},set:function(t){M=t}},brushExtent:{get:function(){return d},set:function(t){d=t}},syncBrushing:{get:function(){return E},set:function(t){E=t}},margin:{get:function(){return c},set:function(t){c.top=void 0!==t.top?t.top:c.top,c.right=void 0!==t.right?t.right:c.right,c.bottom=void 0!==t.bottom?t.bottom:c.bottom,c.left=void 0!==t.left?t.left:c.left}},duration:{get:function(){return f},set:function(e){f=e,T.reset(f),t.duration(f),A.duration(f),o.duration(f)}},color:{get:function(){return s},set:function(e){s=i.utils.getColor(e),t.color(s)}},interpolate:{get:function(){return t.interpolate()},set:function(e){t.interpolate(e)}},xTickFormat:{get:function(){return A.tickFormat()},set:function(t){A.tickFormat(t)}},yTickFormat:{get:function(){return o.tickFormat()},set:function(t){o.tickFormat(t)}},x:{get:function(){return t.x()},set:function(e){t.x(e)}},y:{get:function(){return t.y()},set:function(e){t.y(e)}},rightAlignYAxis:{get:function(){return h},set:function(t){h=t,o.orient(h?"right":"left")}}}),i.utils.inheritOptions(e,t),i.utils.initOptions(e),e},i.models.forceDirectedGraph=function(){"use strict";function t(o){return N.reset(),o.each(function(o){A=d3.select(this),i.utils.initSVG(A);var s=i.utils.availableWidth(n,A,e),N=i.utils.availableHeight(r,A,e);if(A.attr("width",s).attr("height",N),!(o&&o.links&&o.nodes))return i.utils.noData(t,A),t;A.selectAll(".nv-noData").remove(),A.selectAll("*").remove();var y=new Set;o.nodes.forEach(function(t){Object.keys(t).forEach(function(t){y.add(t)})});var p=d3.layout.force().nodes(o.nodes).links(o.links).size([s,N]).linkStrength(u).friction(g).linkDistance(l).charge(M).gravity(h).theta(d).alpha(f).start(),C=A.selectAll(".link").data(o.links).enter().append("line").attr("class","nv-force-link").style("stroke-width",function(t){return Math.sqrt(t.value)}),D=A.selectAll(".node").data(o.nodes).enter().append("g").attr("class","nv-force-node").call(p.drag);D.append("circle").attr("r",I).style("fill",function(t){return a(t)}).on("mouseover",function(t){A.select(".nv-series-"+t.seriesIndex+" .nv-distx-"+t.pointIndex).attr("y1",t.py),A.select(".nv-series-"+t.seriesIndex+" .nv-disty-"+t.pointIndex).attr("x2",t.px);var e=a(t);t.series=[],y.forEach(function(n){t.series.push({color:e,key:n,value:t[n]})}),c.data(t).hidden(!1)}).on("mouseout",function(t){c.hidden(!0)}),c.headerFormatter(function(t){return"Node"}),T(C),E(D),p.on("tick",function(){C.attr("x1",function(t){return t.source.x}).attr("y1",function(t){return t.source.y}).attr("x2",function(t){return t.target.x}).attr("y2",function(t){return t.target.y}),D.attr("transform",function(t){return"translate("+t.x+", "+t.y+")"})})}),t}var e={top:2,right:0,bottom:2,left:0},n=400,r=32,A=null,o=d3.dispatch("renderEnd"),a=i.utils.getColor(["#000"]),c=i.models.tooltip(),s=null,u=.1,g=.9,l=30,M=-120,h=.1,d=.8,f=.1,I=5,E=function(t){},T=function(t){},N=i.utils.renderWatch(o);return t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return n},set:function(t){n=t}},height:{get:function(){return r},set:function(t){r=t}},linkStrength:{get:function(){return u},set:function(t){u=t}},friction:{get:function(){return g},set:function(t){g=t}},linkDist:{get:function(){return l},set:function(t){l=t}},charge:{get:function(){return M},set:function(t){M=t}},gravity:{get:function(){return h},set:function(t){h=t}},theta:{get:function(){return d},set:function(t){d=t}},alpha:{get:function(){return f},set:function(t){f=t}},radius:{get:function(){return I},set:function(t){I=t}},x:{get:function(){return getX},set:function(t){getX=d3.functor(t)}},y:{get:function(){return getY},set:function(t){getY=d3.functor(t)}},margin:{get:function(){return e},set:function(t){e.top=void 0!==t.top?t.top:e.top,e.right=void 0!==t.right?t.right:e.right,e.bottom=void 0!==t.bottom?t.bottom:e.bottom,e.left=void 0!==t.left?t.left:e.left}},color:{get:function(){return a},set:function(t){a=i.utils.getColor(t)}},noData:{get:function(){return s},set:function(t){s=t}},nodeExtras:{get:function(){return E},set:function(t){E=t}},linkExtras:{get:function(){return T},set:function(t){T=t}}}),t.dispatch=o,t.tooltip=c,i.utils.initOptions(t),t},i.models.furiousLegend=function(){"use strict";function t(I){function E(t,e){return"furious"!=f?"#000":h?t.disengaged?a(t,e):"#fff":h?void 0:t.disabled?a(t,e):"#fff"}function T(t,e){return h&&"furious"==f?t.disengaged?"#fff":a(t,e):t.disabled?"#fff":a(t,e)}return I.each(function(t){var I=n-e.left-e.right,N=d3.select(this);i.utils.initSVG(N);var y=N.selectAll("g.nv-legend").data([t]),p=(y.enter().append("g").attr("class","nvd3 nv-legend").append("g"),y.select("g"));y.attr("transform","translate("+e.left+","+e.top+")");var C,D=p.selectAll(".nv-series").data(function(t){return"furious"!=f?t:t.filter(function(t){return!!h||!t.disengaged})}),x=D.enter().append("g").attr("class","nv-series");if("classic"==f)x.append("circle").style("stroke-width",2).attr("class","nv-legend-symbol").attr("r",5),C=D.select("circle");else if("furious"==f){x.append("rect").style("stroke-width",2).attr("class","nv-legend-symbol").attr("rx",3).attr("ry",3),C=D.select("rect"),x.append("g").attr("class","nv-check-box").property("innerHTML",'<path d="M0.5,5 L22.5,5 L22.5,26.5 L0.5,26.5 L0.5,5 Z" class="nv-box"></path><path d="M5.5,12.8618467 L11.9185089,19.2803556 L31,0.198864511" class="nv-check"></path>').attr("transform","translate(-10,-8)scale(0.5)");var B=D.select(".nv-check-box");B.each(function(t,e){d3.select(this).selectAll("path").attr("stroke",E(t,e))})}x.append("text").attr("text-anchor","start").attr("class","nv-legend-text").attr("dy",".32em").attr("dx","8");var w=D.select("text.nv-legend-text");D.on("mouseover",function(t,e){d.legendMouseover(t,e)}).on("mouseout",function(t,e){d.legendMouseout(t,e)}).on("click",function(t,e){d.legendClick(t,e);var n=D.data();if(l){if("classic"==f)M?(n.forEach(function(t){t.disabled=!0}),t.disabled=!1):(t.disabled=!t.disabled,n.every(function(t){return t.disabled})&&n.forEach(function(t){t.disabled=!1}));else if("furious"==f)if(h)t.disengaged=!t.disengaged,t.userDisabled=void 0==t.userDisabled?!!t.disabled:t.userDisabled,t.disabled=t.disengaged||t.userDisabled;else if(!h){t.disabled=!t.disabled,t.userDisabled=t.disabled;var i=n.filter(function(t){return!t.disengaged});i.every(function(t){return t.userDisabled})&&n.forEach(function(t){t.disabled=t.userDisabled=!1})}d.stateChange({disabled:n.map(function(t){return!!t.disabled}),disengaged:n.map(function(t){return!!t.disengaged})})}}).on("dblclick",function(t,e){if(("furious"!=f||!h)&&(d.legendDblclick(t,e),l)){var n=D.data();n.forEach(function(t){t.disabled=!0,"furious"==f&&(t.userDisabled=t.disabled)}),t.disabled=!1,"furious"==f&&(t.userDisabled=t.disabled),d.stateChange({disabled:n.map(function(t){return!!t.disabled})})}}),D.classed("nv-disabled",function(t){return t.userDisabled}),D.exit().remove(),w.attr("fill",E).text(function(t){return o(A(t))});var m;switch(f){case"furious":m=23;break;case"classic":m=20}if(s){var Q=[];D.each(function(t,e){var n;if(o(A(t))&&o(A(t)).length>c){var r=o(A(t)).substring(0,c);n=d3.select(this).select("text").text(r+"..."),d3.select(this).append("svg:title").text(o(A(t)))}else n=d3.select(this).select("text");var a;try{if((a=n.node().getComputedTextLength())<=0)throw Error()}catch(t){a=i.utils.calcApproxTextWidth(n)}Q.push(a+u)});for(var v=0,j=0,L=[];j<I&&v<Q.length;)L[v]=Q[v],j+=Q[v++];for(0===v&&(v=1);j>I&&v>1;){L=[],v--;for(var S=0;S<Q.length;S++)Q[S]>(L[S%v]||0)&&(L[S%v]=Q[S]);j=L.reduce(function(t,e,n,i){return t+e})}for(var Y=[],b=0,O=0;b<v;b++)Y[b]=O,O+=L[b];D.attr("transform",function(t,e){return"translate("+Y[e%v]+","+(5+Math.floor(e/v)*m)+")"}),g?p.attr("transform","translate("+(n-e.right-j)+","+e.top+")"):p.attr("transform","translate(0,"+e.top+")"),r=e.top+e.bottom+Math.ceil(Q.length/v)*m}else{var z,U=5,F=5,k=0;D.attr("transform",function(t,i){var r=d3.select(this).select("text").node().getComputedTextLength()+u;return z=F,n<e.left+e.right+z+r&&(F=z=5,U+=m),F+=r,F>k&&(k=F),"translate("+z+","+U+")"}),p.attr("transform","translate("+(n-e.right-k)+","+e.top+")"),r=e.top+e.bottom+U+15}"furious"==f&&C.attr("width",function(t,e){return w[0][e].getComputedTextLength()+27}).attr("height",18).attr("y",-9).attr("x",-15),C.style("fill",T).style("stroke",function(t,e){return t.color||a(t,e)})}),t}var e={top:5,right:0,bottom:5,left:0},n=400,r=20,A=function(t){return t.key},o=function(t){return t},a=i.utils.getColor(),c=20,s=!0,u=28,g=!0,l=!0,M=!1,h=!1,d=d3.dispatch("legendClick","legendDblclick","legendMouseover","legendMouseout","stateChange"),f="classic";return t.dispatch=d,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return n},set:function(t){n=t}},height:{get:function(){return r},set:function(t){r=t}},key:{get:function(){return A},set:function(t){A=t}},keyFormatter:{get:function(){return o},set:function(t){o=t}},align:{get:function(){return s},set:function(t){s=t}},rightAlign:{get:function(){return g},set:function(t){g=t}},maxKeyLength:{get:function(){return c},set:function(t){c=t}},padding:{get:function(){return u},set:function(t){u=t}},updateState:{get:function(){return l},set:function(t){l=t}},radioButtonMode:{get:function(){return M},set:function(t){M=t}},expanded:{get:function(){return h},set:function(t){h=t}},vers:{get:function(){return f},set:function(t){f=t}},margin:{get:function(){return e},set:function(t){e.top=void 0!==t.top?t.top:e.top,e.right=void 0!==t.right?t.right:e.right,e.bottom=void 0!==t.bottom?t.bottom:e.bottom,e.left=void 0!==t.left?t.left:e.left}},color:{get:function(){return a},set:function(t){a=i.utils.getColor(t)}}}),i.utils.initOptions(t),t},i.models.historicalBar=function(){"use strict";function t(C){return C.each(function(t){p.reset(),u=d3.select(this);var C=i.utils.availableWidth(a,u,o),D=i.utils.availableHeight(c,u,o);i.utils.initSVG(u),g.domain(e||d3.extent(t[0].values.map(M).concat(d))),I?g.range(r||[.5*C/t[0].values.length,C*(t[0].values.length-.5)/t[0].values.length]):g.range(r||[0,C]),l.domain(n||d3.extent(t[0].values.map(h).concat(f))).range(A||[D,0]),g.domain()[0]===g.domain()[1]&&(g.domain()[0]?g.domain([g.domain()[0]-.01*g.domain()[0],g.domain()[1]+.01*g.domain()[1]]):g.domain([-1,1])),l.domain()[0]===l.domain()[1]&&(l.domain()[0]?l.domain([l.domain()[0]+.01*l.domain()[0],l.domain()[1]-.01*l.domain()[1]]):l.domain([-1,1]));var x=u.selectAll("g.nv-wrap.nv-historicalBar-"+s).data([t[0].values]),B=x.enter().append("g").attr("class","nvd3 nv-wrap nv-historicalBar-"+s),w=B.append("defs"),m=B.append("g"),Q=x.select("g");m.append("g").attr("class","nv-bars"),x.attr("transform","translate("+o.left+","+o.top+")"),u.on("click",function(t,e){N.chartClick({data:t,index:e,pos:d3.event,id:s})}),w.append("clipPath").attr("id","nv-chart-clip-path-"+s).append("rect"),x.select("#nv-chart-clip-path-"+s+" rect").attr("width",C).attr("height",D),Q.attr("clip-path",E?"url(#nv-chart-clip-path-"+s+")":"");var v=x.select(".nv-bars").selectAll(".nv-bar").data(function(t){return t},function(t,e){return M(t,e)});v.exit().remove(),v.enter().append("rect").attr("x",0).attr("y",function(t,e){return i.utils.NaNtoZero(l(Math.max(0,h(t,e))))}).attr("height",function(t,e){return i.utils.NaNtoZero(Math.abs(l(h(t,e))-l(0)))}).attr("transform",function(e,n){return"translate("+(g(M(e,n))-C/t[0].values.length*.45)+",0)"}).on("mouseover",function(t,e){y&&(d3.select(this).classed("hover",!0),N.elementMouseover({data:t,index:e,color:d3.select(this).style("fill")}))}).on("mouseout",function(t,e){y&&(d3.select(this).classed("hover",!1),N.elementMouseout({data:t,index:e,color:d3.select(this).style("fill")}))}).on("mousemove",function(t,e){y&&N.elementMousemove({data:t,index:e,color:d3.select(this).style("fill")})}).on("click",function(t,e){if(y){var n=this;N.elementClick({data:t,index:e,color:d3.select(this).style("fill"),event:d3.event,element:n}),d3.event.stopPropagation()}}).on("dblclick",function(t,e){y&&(N.elementDblClick({data:t,index:e,color:d3.select(this).style("fill")}),d3.event.stopPropagation())}),v.attr("fill",function(t,e){return T(t,e)}).attr("class",function(t,e,n){return(h(t,e)<0?"nv-bar negative":"nv-bar positive")+" nv-bar-"+n+"-"+e}).watchTransition(p,"bars").attr("transform",function(e,n){return"translate("+(g(M(e,n))-C/t[0].values.length*.45)+",0)"}).attr("width",C/t[0].values.length*.9),v.watchTransition(p,"bars").attr("y",function(t,e){var n=h(t,e)<0?l(0):l(0)-l(h(t,e))<1?l(0)-1:l(h(t,e));return i.utils.NaNtoZero(n)}).attr("height",function(t,e){return i.utils.NaNtoZero(Math.max(Math.abs(l(h(t,e))-l(0)),1))})}),p.renderEnd("historicalBar immediate"),t}var e,n,r,A,o={top:0,right:0,bottom:0,left:0},a=null,c=null,s=Math.floor(1e4*Math.random()),u=null,g=d3.scale.linear(),l=d3.scale.linear(),M=function(t){return t.x},h=function(t){return t.y},d=[],f=[0],I=!1,E=!0,T=i.utils.defaultColor(),N=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),y=!0,p=i.utils.renderWatch(N,0);return t.highlightPoint=function(t,e){u.select(".nv-bars .nv-bar-0-"+t).classed("hover",e)},t.clearHighlights=function(){u.select(".nv-bars .nv-bar.hover").classed("hover",!1)},t.dispatch=N,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return a},set:function(t){a=t}},height:{get:function(){return c},set:function(t){c=t}},forceX:{get:function(){return d},set:function(t){d=t}},forceY:{get:function(){return f},set:function(t){f=t}},padData:{get:function(){return I},set:function(t){I=t}},x:{get:function(){return M},set:function(t){M=t}},y:{get:function(){return h},set:function(t){h=t}},xScale:{get:function(){return g},set:function(t){g=t}},yScale:{get:function(){return l},set:function(t){l=t}},xDomain:{get:function(){return e},set:function(t){e=t}},yDomain:{get:function(){return n},set:function(t){n=t}},xRange:{get:function(){return r},set:function(t){r=t}},yRange:{get:function(){return A},set:function(t){A=t}},clipEdge:{get:function(){return E},set:function(t){E=t}},id:{get:function(){return s},set:function(t){s=t}},interactive:{get:function(){return y},set:function(t){y=t}},margin:{get:function(){return o},set:function(t){o.top=void 0!==t.top?t.top:o.top,o.right=void 0!==t.right?t.right:o.right,o.bottom=void 0!==t.bottom?t.bottom:o.bottom,o.left=void 0!==t.left?t.left:o.left}},color:{get:function(){return T},set:function(t){T=i.utils.getColor(t)}}}),i.utils.initOptions(t),t},i.models.historicalBarChart=function(t){"use strict";function e(t){return t.each(function(u){B.reset(),B.models(A),I&&B.models(o),E&&B.models(a);var C=d3.select(this);i.utils.initSVG(C);var w=i.utils.availableWidth(h,C,g),m=i.utils.availableHeight(d,C,g);if(e.update=function(){C.transition().duration(x).call(e)},e.container=this,y.disabled=u.map(function(t){return!!t.disabled}),!p){var Q;p={};for(Q in y)y[Q]instanceof Array?p[Q]=y[Q].slice(0):p[Q]=y[Q]}if(!(u&&u.length&&u.filter(function(t){return t.values.length}).length))return i.utils.noData(e,C),e;C.selectAll(".nv-noData").remove(),n=A.xScale(),r=A.yScale();var v=C.selectAll("g.nv-wrap.nv-historicalBarChart").data([u]),j=v.enter().append("g").attr("class","nvd3 nv-wrap nv-historicalBarChart").append("g"),L=v.select("g");j.append("g").attr("class","nv-x nv-axis"),j.append("g").attr("class","nv-y nv-axis"),j.append("g").attr("class","nv-barsWrap"),j.append("g").attr("class","nv-legendWrap"),j.append("g").attr("class","nv-interactive"),f?(c.width(w),L.select(".nv-legendWrap").datum(u).call(c),l||c.height()===g.top||(g.top=c.height(),m=i.utils.availableHeight(d,C,g)),v.select(".nv-legendWrap").attr("transform","translate(0,"+-g.top+")")):L.select(".nv-legendWrap").selectAll("*").remove(),v.attr("transform","translate("+g.left+","+g.top+")"),T&&L.select(".nv-y.nv-axis").attr("transform","translate("+w+",0)"),N&&(s.width(w).height(m).margin({left:g.left,top:g.top}).svgContainer(C).xScale(n),v.select(".nv-interactive").call(s)),A.width(w).height(m).color(u.map(function(t,e){return t.color||M(t,e)}).filter(function(t,e){return!u[e].disabled})),L.select(".nv-barsWrap").datum(u.filter(function(t){return!t.disabled})).transition().call(A),I&&(o.scale(n)._ticks(i.utils.calcTicksX(w/100,u)).tickSize(-m,0),L.select(".nv-x.nv-axis").attr("transform","translate(0,"+r.range()[0]+")"),L.select(".nv-x.nv-axis").transition().call(o)),E&&(a.scale(r)._ticks(i.utils.calcTicksY(m/36,u)).tickSize(-w,0),L.select(".nv-y.nv-axis").transition().call(a)),s.dispatch.on("elementMousemove",function(t){A.clearHighlights();var n,r,c,g=[];u.filter(function(t,e){return t.seriesIndex=e,!t.disabled}).forEach(function(o,a){r=i.interactiveBisect(o.values,t.pointXValue,e.x()),A.highlightPoint(r,!0);var s=o.values[r];void 0!==s&&(void 0===n&&(n=s),void 0===c&&(c=e.xScale()(e.x()(s,r))),g.push({key:o.key,value:e.y()(s,r),color:M(o,o.seriesIndex),data:o.values[r]}))});var l=o.tickFormat()(e.x()(n,r));s.tooltip.valueFormatter(function(t,e){return a.tickFormat()(t)}).data({value:l,index:r,series:g})(),s.renderGuideLine(c)}),s.dispatch.on("elementMouseout",function(t){D.tooltipHide(),A.clearHighlights()}),c.dispatch.on("legendClick",function(n,i){n.disabled=!n.disabled,u.filter(function(t){return!t.disabled}).length||u.map(function(t){return t.disabled=!1,v.selectAll(".nv-series").classed("disabled",!1),t}),y.disabled=u.map(function(t){return!!t.disabled}),D.stateChange(y),t.transition().call(e)}),c.dispatch.on("legendDblclick",function(t){u.forEach(function(t){t.disabled=!0}),t.disabled=!1,y.disabled=u.map(function(t){return!!t.disabled}),D.stateChange(y),e.update()}),D.on("changeState",function(t){void 0!==t.disabled&&(u.forEach(function(e,n){e.disabled=t.disabled[n]}),y.disabled=t.disabled),e.update()})}),B.renderEnd("historicalBarChart immediate"),e}var n,r,A=t||i.models.historicalBar(),o=i.models.axis(),a=i.models.axis(),c=i.models.legend(),s=i.interactiveGuideline(),u=i.models.tooltip(),g={top:30,right:90,bottom:50,left:90},l=null,M=i.utils.defaultColor(),h=null,d=null,f=!1,I=!0,E=!0,T=!1,N=!1,y={},p=null,C=null,D=d3.dispatch("tooltipHide","stateChange","changeState","renderEnd"),x=250;o.orient("bottom").tickPadding(7),a.orient(T?"right":"left"),u.duration(0).headerEnabled(!1).valueFormatter(function(t,e){return a.tickFormat()(t,e)}).headerFormatter(function(t,e){return o.tickFormat()(t,e)});var B=i.utils.renderWatch(D,0);return A.dispatch.on("elementMouseover.tooltip",function(t){t.series={key:e.x()(t.data),value:e.y()(t.data),color:t.color},u.data(t).hidden(!1)}),A.dispatch.on("elementMouseout.tooltip",function(t){u.hidden(!0)}),A.dispatch.on("elementMousemove.tooltip",function(t){u()}),e.dispatch=D,e.bars=A,e.legend=c,e.xAxis=o,e.yAxis=a,e.interactiveLayer=s,e.tooltip=u,e.options=i.utils.optionsFunc.bind(e),e._options=Object.create({},{width:{get:function(){return h},set:function(t){h=t}},height:{get:function(){return d},set:function(t){d=t}},showLegend:{get:function(){return f},set:function(t){f=t}},showXAxis:{get:function(){return I},set:function(t){I=t}},showYAxis:{get:function(){return E},set:function(t){E=t}},defaultState:{get:function(){return p},set:function(t){p=t}},noData:{get:function(){return C},set:function(t){C=t}},margin:{get:function(){return g},set:function(t){void 0!==t.top&&(g.top=t.top,l=t.top),g.right=void 0!==t.right?t.right:g.right,g.bottom=void 0!==t.bottom?t.bottom:g.bottom,g.left=void 0!==t.left?t.left:g.left}},color:{get:function(){return M},set:function(t){M=i.utils.getColor(t),c.color(M),A.color(M)}},duration:{get:function(){return x},set:function(t){x=t,B.reset(x),a.duration(x),o.duration(x)}},rightAlignYAxis:{get:function(){return T},set:function(t){T=t,a.orient(t?"right":"left")}},useInteractiveGuideline:{get:function(){return N},set:function(t){N=t,!0===t&&e.interactive(!1)}}}),i.utils.inheritOptions(e,A),i.utils.initOptions(e),e},i.models.ohlcBarChart=function(){var t=i.models.historicalBarChart(i.models.ohlcBar());return t.useInteractiveGuideline(!0),t.interactiveLayer.tooltip.contentGenerator(function(e){var n=e.series[0].data;return'<h3 style="color: #'+(n.open<n.close?"2ca02c":"d62728")+'">'+e.value+"</h3><table><tr><td>open:</td><td>"+t.yAxis.tickFormat()(n.open)+"</td></tr><tr><td>close:</td><td>"+t.yAxis.tickFormat()(n.close)+"</td></tr><tr><td>high</td><td>"+t.yAxis.tickFormat()(n.high)+"</td></tr><tr><td>low:</td><td>"+t.yAxis.tickFormat()(n.low)+"</td></tr></table>"}),t},i.models.candlestickBarChart=function(){var t=i.models.historicalBarChart(i.models.candlestickBar());return t.useInteractiveGuideline(!0),t.interactiveLayer.tooltip.contentGenerator(function(e){var n=e.series[0].data;return'<h3 style="color: #'+(n.open<n.close?"2ca02c":"d62728")+'">'+e.value+"</h3><table><tr><td>open:</td><td>"+t.yAxis.tickFormat()(n.open)+"</td></tr><tr><td>close:</td><td>"+t.yAxis.tickFormat()(n.close)+"</td></tr><tr><td>high</td><td>"+t.yAxis.tickFormat()(n.high)+"</td></tr><tr><td>low:</td><td>"+t.yAxis.tickFormat()(n.low)+"</td></tr></table>"}),t},i.models.legend=function(){"use strict";function t(I){function E(t,e){return"furious"!=f?"#000":h?t.disengaged?"#000":"#fff":h?void 0:(t.color||(t.color=a(t,e)),t.disabled?t.color:"#fff")}function T(t,e){return h&&"furious"==f&&t.disengaged?"#eee":t.color||a(t,e)}function N(t,e){return h&&"furious"==f?1:t.disabled?0:1}return I.each(function(t){var a=n-e.left-e.right,I=d3.select(this);i.utils.initSVG(I);var y=I.selectAll("g.nv-legend").data([t]),p=y.enter().append("g").attr("class","nvd3 nv-legend").append("g"),C=y.select("g");g?y.attr("transform","translate("+-e.right+","+e.top+")"):y.attr("transform","translate("+e.left+","+e.top+")");var D,x,B=C.selectAll(".nv-series").data(function(t){return"furious"!=f?t:t.filter(function(t){return!!h||!t.disengaged})}),w=B.enter().append("g").attr("class","nv-series");switch(f){case"furious":x=23;break;case"classic":x=20}if("classic"==f)w.append("circle").style("stroke-width",2).attr("class","nv-legend-symbol").attr("r",5),D=B.select(".nv-legend-symbol");else if("furious"==f){w.append("rect").style("stroke-width",2).attr("class","nv-legend-symbol").attr("rx",3).attr("ry",3),D=B.select(".nv-legend-symbol"),w.append("g").attr("class","nv-check-box").property("innerHTML",'<path d="M0.5,5 L22.5,5 L22.5,26.5 L0.5,26.5 L0.5,5 Z" class="nv-box"></path><path d="M5.5,12.8618467 L11.9185089,19.2803556 L31,0.198864511" class="nv-check"></path>').attr("transform","translate(-10,-8)scale(0.5)");var m=B.select(".nv-check-box");m.each(function(t,e){d3.select(this).selectAll("path").attr("stroke",E(t,e))})}w.append("text").attr("text-anchor","start").attr("class","nv-legend-text").attr("dy",".32em").attr("dx","8");var Q=B.select("text.nv-legend-text");B.on("mouseover",function(t,e){d.legendMouseover(t,e)}).on("mouseout",function(t,e){d.legendMouseout(t,e)}).on("click",function(t,e){d.legendClick(t,e);var n=B.data();if(l){if("classic"==f)M?(n.forEach(function(t){t.disabled=!0}),t.disabled=!1):(t.disabled=!t.disabled,n.every(function(t){return t.disabled})&&n.forEach(function(t){t.disabled=!1}));else if("furious"==f)if(h)t.disengaged=!t.disengaged,t.userDisabled=void 0==t.userDisabled?!!t.disabled:t.userDisabled,t.disabled=t.disengaged||t.userDisabled;else if(!h){t.disabled=!t.disabled,t.userDisabled=t.disabled;var i=n.filter(function(t){return!t.disengaged});i.every(function(t){return t.userDisabled})&&n.forEach(function(t){t.disabled=t.userDisabled=!1})}d.stateChange({disabled:n.map(function(t){return!!t.disabled}),disengaged:n.map(function(t){return!!t.disengaged})})}}).on("dblclick",function(t,e){if(("furious"!=f||!h)&&(d.legendDblclick(t,e),l)){var n=B.data();n.forEach(function(t){t.disabled=!0,"furious"==f&&(t.userDisabled=t.disabled)}),t.disabled=!1,"furious"==f&&(t.userDisabled=t.disabled),d.stateChange({disabled:n.map(function(t){return!!t.disabled})})}}),B.classed("nv-disabled",function(t){return t.userDisabled}),B.exit().remove(),Q.attr("fill",E).text(function(t){return o(A(t))});var v=0;if(s){var j=[];B.each(function(t,e){var n;if(o(A(t))&&o(A(t)).length>c){var r=o(A(t)).substring(0,c);n=d3.select(this).select("text").text(r+"..."),d3.select(this).append("svg:title").text(o(A(t)))}else n=d3.select(this).select("text");var a;try{if((a=n.node().getComputedTextLength())<=0)throw Error()}catch(t){a=i.utils.calcApproxTextWidth(n)}j.push(a+u)});var L=0,S=[];for(v=0;v<a&&L<j.length;)S[L]=j[L],v+=j[L++];for(0===L&&(L=1);v>a&&L>1;){S=[],L--;for(var Y=0;Y<j.length;Y++)j[Y]>(S[Y%L]||0)&&(S[Y%L]=j[Y]);v=S.reduce(function(t,e,n,i){return t+e})}for(var b=[],O=0,z=0;O<L;O++)b[O]=z,z+=S[O];B.attr("transform",function(t,e){return"translate("+b[e%L]+","+(5+Math.floor(e/L)*x)+")"}),g?C.attr("transform","translate("+(n-e.right-v)+","+e.top+")"):C.attr("transform","translate(0,"+e.top+")"),r=e.top+e.bottom+Math.ceil(j.length/L)*x}else{var U,F=5,k=5,R=0;B.attr("transform",function(t,i){var r=d3.select(this).select("text").node().getComputedTextLength()+u;return U=k,n<e.left+e.right+U+r&&(k=U=5,F+=x),k+=r,k>R&&(R=k),v<U+R&&(v=U+R),"translate("+U+","+F+")"}),C.attr("transform","translate("+(n-e.right-R)+","+e.top+")"),r=e.top+e.bottom+F+15}if("furious"==f){D.attr("width",function(t,e){return Q[0][e].getComputedTextLength()+27}).attr("height",18).attr("y",-9).attr("x",-15),p.insert("rect",":first-child").attr("class","nv-legend-bg").attr("fill","#eee").attr("opacity",0);C.select(".nv-legend-bg").transition().duration(300).attr("x",-x).attr("width",v+x-12).attr("height",r+10).attr("y",-e.top-10).attr("opacity",h?1:0)}D.style("fill",T).style("fill-opacity",N).style("stroke",T)}),t}var e={top:5,right:0,bottom:5,left:0},n=400,r=20,A=function(t){return t.key},o=function(t){return t},a=i.utils.getColor(),c=20,s=!0,u=32,g=!0,l=!0,M=!1,h=!1,d=d3.dispatch("legendClick","legendDblclick","legendMouseover","legendMouseout","stateChange"),f="classic";return t.dispatch=d,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return n},set:function(t){n=t}},height:{get:function(){return r},set:function(t){r=t}},key:{get:function(){return A},set:function(t){A=t}},keyFormatter:{get:function(){return o},set:function(t){o=t}},align:{get:function(){return s},set:function(t){s=t}},maxKeyLength:{get:function(){return c},set:function(t){c=t}},rightAlign:{get:function(){return g},set:function(t){g=t}},padding:{get:function(){return u},set:function(t){u=t}},updateState:{get:function(){return l},set:function(t){l=t}},radioButtonMode:{get:function(){return M},set:function(t){M=t}},expanded:{get:function(){return h},set:function(t){h=t}},vers:{get:function(){return f},set:function(t){f=t}},margin:{get:function(){return e},set:function(t){e.top=void 0!==t.top?t.top:e.top,e.right=void 0!==t.right?t.right:e.right,e.bottom=void 0!==t.bottom?t.bottom:e.bottom,e.left=void 0!==t.left?t.left:e.left}},color:{get:function(){return a},set:function(t){a=i.utils.getColor(t)}}}),i.utils.initOptions(t),t},i.models.line=function(){"use strict";function t(I){return y.reset(),y.models(r),I.each(function(t){c=d3.select(this);var I=i.utils.availableWidth(o,c,A),E=i.utils.availableHeight(a,c,A);i.utils.initSVG(c),e=r.xScale(),n=r.yScale(),T=T||e,N=N||n;var p=c.selectAll("g.nv-wrap.nv-line").data([t]),C=p.enter().append("g").attr("class","nvd3 nv-wrap nv-line"),D=C.append("defs"),x=C.append("g"),B=p.select("g");x.append("g").attr("class","nv-groups"),x.append("g").attr("class","nv-scatterWrap"),p.attr("transform","translate("+A.left+","+A.top+")"),r.width(I).height(E);var w=p.select(".nv-scatterWrap");w.call(r),D.append("clipPath").attr("id","nv-edge-clip-"+r.id()).append("rect"),p.select("#nv-edge-clip-"+r.id()+" rect").attr("width",I).attr("height",E>0?E:0),B.attr("clip-path",d?"url(#nv-edge-clip-"+r.id()+")":""),w.attr("clip-path",d?"url(#nv-edge-clip-"+r.id()+")":"");var m=p.select(".nv-groups").selectAll(".nv-group").data(function(t){return t},function(t){return t.key});m.enter().append("g").style("stroke-opacity",1e-6).style("stroke-width",function(t){return t.strokeWidth||s}).style("fill-opacity",1e-6),m.exit().remove(),m.attr("class",function(t,e){return(t.classed||"")+" nv-group nv-series-"+e}).classed("hover",function(t){return t.hover}).style("fill",function(t,e){return u(t,e)}).style("stroke",function(t,e){return u(t,e)}),m.watchTransition(y,"line: groups").style("stroke-opacity",1).style("fill-opacity",function(t){return t.fillOpacity||.5});var Q=m.selectAll("path.nv-area").data(function(t){return h(t)?[t]:[]});Q.enter().append("path").attr("class","nv-area").attr("d",function(t){return d3.svg.area().interpolate(f).defined(M).x(function(t,e){return i.utils.NaNtoZero(T(g(t,e)))}).y0(function(t,e){return i.utils.NaNtoZero(N(l(t,e)))}).y1(function(t,e){return N(n.domain()[0]<=0?n.domain()[1]>=0?0:n.domain()[1]:n.domain()[0])}).apply(this,[t.values])}),m.exit().selectAll("path.nv-area").remove(),Q.watchTransition(y,"line: areaPaths").attr("d",function(t){return d3.svg.area().interpolate(f).defined(M).x(function(t,n){return i.utils.NaNtoZero(e(g(t,n)))}).y0(function(t,e){return i.utils.NaNtoZero(n(l(t,e)))}).y1(function(t,e){return n(n.domain()[0]<=0?n.domain()[1]>=0?0:n.domain()[1]:n.domain()[0])}).apply(this,[t.values])});var v=m.selectAll("path.nv-line").data(function(t){return[t.values]});v.enter().append("path").attr("class","nv-line").attr("d",d3.svg.line().interpolate(f).defined(M).x(function(t,e){return i.utils.NaNtoZero(T(g(t,e)))}).y(function(t,e){return i.utils.NaNtoZero(N(l(t,e)))})),v.watchTransition(y,"line: linePaths").attr("d",d3.svg.line().interpolate(f).defined(M).x(function(t,n){return i.utils.NaNtoZero(e(g(t,n)))}).y(function(t,e){return i.utils.NaNtoZero(n(l(t,e)))})),T=e.copy(),N=n.copy()}),y.renderEnd("line immediate"),t}var e,n,r=i.models.scatter(),A={top:0,right:0,bottom:0,left:0},o=960,a=500,c=null,s=1.5,u=i.utils.defaultColor(),g=function(t){return t.x},l=function(t){return t.y},M=function(t,e){return!isNaN(l(t,e))&&null!==l(t,e)},h=function(t){return t.area},d=!1,f="linear",I=250,E=d3.dispatch("elementClick","elementMouseover","elementMouseout","renderEnd");r.pointSize(16).pointDomain([16,256]);var T,N,y=i.utils.renderWatch(E,I);return t.dispatch=E,t.scatter=r,r.dispatch.on("elementClick",function(){E.elementClick.apply(this,arguments)}),r.dispatch.on("elementMouseover",function(){E.elementMouseover.apply(this,arguments)}),r.dispatch.on("elementMouseout",function(){E.elementMouseout.apply(this,arguments)}),t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return o},set:function(t){o=t}},height:{get:function(){return a},set:function(t){a=t}},defined:{get:function(){return M},set:function(t){M=t}},interpolate:{get:function(){return f},set:function(t){f=t}},clipEdge:{get:function(){return d},set:function(t){d=t}},margin:{get:function(){return A},set:function(t){A.top=void 0!==t.top?t.top:A.top,A.right=void 0!==t.right?t.right:A.right,A.bottom=void 0!==t.bottom?t.bottom:A.bottom,A.left=void 0!==t.left?t.left:A.left}},duration:{get:function(){return I},set:function(t){I=t,y.reset(I),r.duration(I)}},isArea:{get:function(){return h},set:function(t){h=d3.functor(t)}},x:{get:function(){return g},set:function(t){g=t,r.x(t)}},y:{get:function(){return l},set:function(t){l=t,r.y(t)}},color:{get:function(){return u},set:function(t){u=i.utils.getColor(t),r.color(u)}}}),i.utils.inheritOptions(t,r),i.utils.initOptions(t),t},i.models.lineChart=function(){"use strict";function t(s){return m.reset(),m.models(r),E&&m.models(A),T&&m.models(o),s.each(function(s){function x(){E&&U.select(".nv-focus .nv-x.nv-axis").transition().duration(w).call(A)}function m(){T&&U.select(".nv-focus .nv-y.nv-axis").transition().duration(w).call(o)}function j(t){U.select(".nv-focus .nv-linesWrap").datum(s.filter(function(t){return!t.disabled}).map(function(e,n){return{key:e.key,area:e.area,classed:e.classed,values:e.values.filter(function(e,n){return r.x()(e,n)>=t[0]&&r.x()(e,n)<=t[1]}),disableTooltip:e.disableTooltip}})).transition().duration(w).call(r),x(),m()}var L=d3.select(this);i.utils.initSVG(L);var S=i.utils.availableWidth(h,L,g),Y=i.utils.availableHeight(d,L,g)-(p?u.height():0);if(t.update=function(){0===w?L.call(t):L.transition().duration(w).call(t)},t.container=this,C.setter(v(s),t.update).getter(Q(s)).update(),C.disabled=s.map(function(t){return!!t.disabled}),!D){var b;D={};for(b in C)C[b]instanceof Array?D[b]=C[b].slice(0):D[b]=C[b]}if(!(s&&s.length&&s.filter(function(t){return t.values.length}).length))return i.utils.noData(t,L),t;L.selectAll(".nv-noData").remove(),u.dispatch.on("onBrush",function(t){j(t)}),e=r.xScale(),n=r.yScale();var O=L.selectAll("g.nv-wrap.nv-lineChart").data([s]),z=O.enter().append("g").attr("class","nvd3 nv-wrap nv-lineChart").append("g"),U=O.select("g");z.append("g").attr("class","nv-legendWrap");var F=z.append("g").attr("class","nv-focus");F.append("g").attr("class","nv-background").append("rect"),F.append("g").attr("class","nv-x nv-axis"),F.append("g").attr("class","nv-y nv-axis"),F.append("g").attr("class","nv-linesWrap"),F.append("g").attr("class","nv-interactive");z.append("g").attr("class","nv-focusWrap");f?(a.width(S),U.select(".nv-legendWrap").datum(s).call(a),"bottom"===I?O.select(".nv-legendWrap").attr("transform","translate(0,"+Y+")"):"top"===I&&(l||a.height()===g.top||(g.top=a.height(),Y=i.utils.availableHeight(d,L,g)-(p?u.height():0)),O.select(".nv-legendWrap").attr("transform","translate(0,"+-g.top+")"))):U.select(".nv-legendWrap").selectAll("*").remove(),O.attr("transform","translate("+g.left+","+g.top+")"),N&&U.select(".nv-y.nv-axis").attr("transform","translate("+S+",0)"),y&&(c.width(S).height(Y).margin({left:g.left,top:g.top}).svgContainer(L).xScale(e),O.select(".nv-interactive").call(c)),U.select(".nv-focus .nv-background rect").attr("width",S).attr("height",Y),r.width(S).height(Y).color(s.map(function(t,e){return t.color||M(t,e)}).filter(function(t,e){return!s[e].disabled}));var k=U.select(".nv-linesWrap").datum(s.filter(function(t){return!t.disabled}));if(E&&A.scale(e)._ticks(i.utils.calcTicksX(S/100,s)).tickSize(-Y,0),T&&o.scale(n)._ticks(i.utils.calcTicksY(Y/36,s)).tickSize(-S,0),U.select(".nv-focus .nv-x.nv-axis").attr("transform","translate(0,"+Y+")"),p){u.width(S),U.select(".nv-focusWrap").attr("transform","translate(0,"+(Y+g.bottom+u.margin().top)+")").datum(s.filter(function(t){return!t.disabled})).call(u);var R=u.brush.empty()?u.xDomain():u.brush.extent();null!==R&&j(R)}else k.call(r),x(),m();a.dispatch.on("stateChange",function(e){for(var n in e)C[n]=e[n];B.stateChange(C),t.update()}),c.dispatch.on("elementMousemove",function(n){r.clearHighlights();var A,a,g,l=[];if(s.filter(function(t,e){return t.seriesIndex=e,!t.disabled&&!t.disableTooltip}).forEach(function(o,c){var s=p?u.brush.empty()?u.xScale().domain():u.brush.extent():e.domain(),h=o.values.filter(function(t,e){return s[0]<=s[1]?r.x()(t,e)>=s[0]&&r.x()(t,e)<=s[1]:r.x()(t,e)>=s[1]&&r.x()(t,e)<=s[0]});a=i.interactiveBisect(h,n.pointXValue,r.x());var d=h[a],f=t.y()(d,a);null!==f&&r.highlightPoint(c,a,!0),void 0!==d&&(void 0===A&&(A=d),void 0===g&&(g=t.xScale()(t.x()(d,a))),l.push({key:o.key,value:f,color:M(o,o.seriesIndex),data:d}))}),l.length>2){var h=t.yScale().invert(n.mouseY),d=Math.abs(t.yScale().domain()[0]-t.yScale().domain()[1]),f=.03*d,I=i.nearestValueIndex(l.map(function(t){return t.value}),h,f);null!==I&&(l[I].highlight=!0)}var E=function(t,e){return null==t?"N/A":o.tickFormat()(t)};c.tooltip.valueFormatter(c.tooltip.valueFormatter()||E).data({value:t.x()(A,a),index:a,series:l})(),c.renderGuideLine(g)}),c.dispatch.on("elementClick",function(e){var n,A=[];s.filter(function(t,e){return t.seriesIndex=e,!t.disabled}).forEach(function(r){var o=i.interactiveBisect(r.values,e.pointXValue,t.x()),a=r.values[o];if(void 0!==a){void 0===n&&(n=t.xScale()(t.x()(a,o)));var c=t.yScale()(t.y()(a,o));A.push({point:a,pointIndex:o,pos:[n,c],seriesIndex:r.seriesIndex,series:r})}}),r.dispatch.elementClick(A)}),c.dispatch.on("elementMouseout",function(t){r.clearHighlights()}),B.on("changeState",function(e){void 0!==e.disabled&&s.length===e.disabled.length&&(s.forEach(function(t,n){t.disabled=e.disabled[n]}),C.disabled=e.disabled),t.update()})}),m.renderEnd("lineChart immediate"),t}var e,n,r=i.models.line(),A=i.models.axis(),o=i.models.axis(),a=i.models.legend(),c=i.interactiveGuideline(),s=i.models.tooltip(),u=i.models.focus(i.models.line()),g={top:30,right:20,bottom:50,left:60},l=null,M=i.utils.defaultColor(),h=null,d=null,f=!0,I="top",E=!0,T=!0,N=!1,y=!1,p=!1,C=i.utils.state(),D=null,x=null,B=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState","renderEnd"),w=250;A.orient("bottom").tickPadding(7),o.orient(N?"right":"left"),r.clipEdge(!0).duration(0),s.valueFormatter(function(t,e){return o.tickFormat()(t,e)}).headerFormatter(function(t,e){return A.tickFormat()(t,e)}),c.tooltip.valueFormatter(function(t,e){return o.tickFormat()(t,e)}).headerFormatter(function(t,e){return A.tickFormat()(t,e)});var m=i.utils.renderWatch(B,w),Q=function(t){return function(){return{active:t.map(function(t){return!t.disabled})}}},v=function(t){return function(e){void 0!==e.active&&t.forEach(function(t,n){t.disabled=!e.active[n]})}};return r.dispatch.on("elementMouseover.tooltip",function(t){t.series.disableTooltip||s.data(t).hidden(!1)}),r.dispatch.on("elementMouseout.tooltip",function(t){s.hidden(!0)}),t.dispatch=B,t.lines=r,t.legend=a,t.focus=u,t.xAxis=A,t.x2Axis=u.xAxis,t.yAxis=o,t.y2Axis=u.yAxis,t.interactiveLayer=c,t.tooltip=s,t.state=C,t.dispatch=B,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return h},set:function(t){h=t}},height:{get:function(){return d},set:function(t){d=t}},showLegend:{get:function(){return f},set:function(t){f=t}},legendPosition:{get:function(){return I},set:function(t){I=t}},showXAxis:{get:function(){return E},set:function(t){E=t}},showYAxis:{get:function(){return T},set:function(t){T=t}},defaultState:{get:function(){return D},set:function(t){D=t}},noData:{get:function(){return x},set:function(t){x=t}},focusEnable:{get:function(){return p},set:function(t){p=t}},focusHeight:{get:function(){return u.height()},set:function(t){u.height(t)}},focusShowAxisX:{get:function(){return u.showXAxis()},set:function(t){u.showXAxis(t)}},focusShowAxisY:{get:function(){return u.showYAxis()},set:function(t){u.showYAxis(t)}},brushExtent:{get:function(){return u.brushExtent()},set:function(t){u.brushExtent(t)}},focusMargin:{get:function(){return u.margin},set:function(t){void 0!==t.top&&(g.top=t.top,l=t.top),u.margin.right=void 0!==t.right?t.right:u.margin.right,u.margin.bottom=void 0!==t.bottom?t.bottom:u.margin.bottom,u.margin.left=void 0!==t.left?t.left:u.margin.left}},margin:{get:function(){return g},set:function(t){g.top=void 0!==t.top?t.top:g.top,g.right=void 0!==t.right?t.right:g.right,g.bottom=void 0!==t.bottom?t.bottom:g.bottom,g.left=void 0!==t.left?t.left:g.left}},duration:{get:function(){return w},set:function(t){w=t,m.reset(w),r.duration(w),u.duration(w),A.duration(w),o.duration(w)}},color:{get:function(){return M},set:function(t){M=i.utils.getColor(t),a.color(M),r.color(M),u.color(M)}},interpolate:{get:function(){return r.interpolate()},set:function(t){r.interpolate(t),u.interpolate(t)}},xTickFormat:{get:function(){return A.tickFormat()},set:function(t){A.tickFormat(t),u.xTickFormat(t)}},yTickFormat:{get:function(){return o.tickFormat()},set:function(t){o.tickFormat(t),u.yTickFormat(t)}},x:{get:function(){return r.x()},set:function(t){r.x(t),u.x(t)}},y:{get:function(){return r.y()},set:function(t){r.y(t),u.y(t)}},rightAlignYAxis:{get:function(){return N},set:function(t){N=t,o.orient(N?"right":"left")}},useInteractiveGuideline:{get:function(){return y},set:function(t){(y=t)&&(r.interactive(!1),r.useVoronoi(!1))}}}),i.utils.inheritOptions(t,r),i.utils.initOptions(t),t},i.models.lineWithFocusChart=function(){return i.models.lineChart().margin({bottom:30}).focusEnable(!0)},i.models.linePlusBarChart=function(){"use strict";function t(y){return y.each(function(y){function O(t){var e=+("e"==t),n=e?1:-1,i=q/3;return"M"+.5*n+","+i+"A6,6 0 0 "+e+" "+6.5*n+","+(i+6)+"V"+(2*i-6)+"A6,6 0 0 "+e+" "+.5*n+","+2*i+"ZM"+2.5*n+","+(i+8)+"V"+(2*i-8)+"M"+4.5*n+","+(i+8)+"V"+(2*i-8)}function J(){N.empty()||N.extent(b),Mt.data([N.empty()?r.domain():b]).each(function(t,e){var n=r(t[0])-r.range()[0],i=r.range()[1]-r(t[1]);d3.select(this).select(".left").attr("width",n<0?0:n),d3.select(this).select(".right").attr("x",r(t[1])).attr("width",i<0?0:i)})}function P(){b=N.empty()?null:N.extent(),e=N.empty()?r.domain():N.extent(),z.brush({extent:e,brush:N}),J(),g.width(Z).height(K).color(y.map(function(t,e){return t.color||Q(t,e)}).filter(function(t,e){return!y[e].disabled&&y[e].bar})),s.width(Z).height(K).color(y.map(function(t,e){return t.color||Q(t,e)}).filter(function(t,e){return!y[e].disabled&&!y[e].bar}));var t=ot.select(".nv-focus .nv-barsWrap").datum(tt.length?tt.map(function(t,n){return{key:t.key,values:t.values.filter(function(t,n){return g.x()(t,n)>=e[0]&&g.x()(t,n)<=e[1]})}}):[{values:[]}]),a=ot.select(".nv-focus .nv-linesWrap").datum(W(et)?[{values:[]}]:et.filter(function(t){return!t.disabled}).map(function(t,n){return{area:t.area,fillOpacity:t.fillOpacity,strokeWidth:t.strokeWidth,key:t.key,values:t.values.filter(function(t,n){return s.x()(t,n)>=e[0]&&s.x()(t,n)<=e[1]})}}));n=tt.length&&!H?g.xScale():s.xScale(),M.scale(n)._ticks(i.utils.calcTicksX(Z/100,y)).tickSize(-K,0),M.domain([Math.ceil(e[0]),Math.floor(e[1])]),ot.select(".nv-x.nv-axis").transition().duration(U).call(M),t.transition().duration(U).call(g),a.transition().duration(U).call(s),ot.select(".nv-focus .nv-x.nv-axis").attr("transform","translate(0,"+A.range()[0]+")"),d.scale(A)._ticks(i.utils.calcTicksY(K/36,y)).tickSize(-Z,0),f.scale(o)._ticks(i.utils.calcTicksY(K/36,y)),H?f.tickSize(et.length?0:-Z,0):f.tickSize(tt.length?0:-Z,0);var c=tt.length?1:0,u=et.length&&!W(et)?1:0,l=H?u:c,h=H?c:u;ot.select(".nv-focus .nv-y1.nv-axis").style("opacity",l),ot.select(".nv-focus .nv-y2.nv-axis").style("opacity",h).attr("transform","translate("+n.range()[1]+",0)"),ot.select(".nv-focus .nv-y1.nv-axis").transition().duration(U).call(d),ot.select(".nv-focus .nv-y2.nv-axis").transition().duration(U).call(f)}var _=d3.select(this);i.utils.initSVG(_);var Z=i.utils.availableWidth(x,_,p),K=i.utils.availableHeight(B,_,p)-(j?Y:0),q=Y-D.top-D.bottom;if(t.update=function(){_.transition().duration(U).call(t)},t.container=this,F.setter(V(y),t.update).getter(X(y)).update(),F.disabled=y.map(function(t){return!!t.disabled}),!k){var $;k={};for($ in F)F[$]instanceof Array?k[$]=F[$].slice(0):k[$]=F[$]}if(!(y&&y.length&&y.filter(function(t){return t.values.length}).length))return i.utils.noData(t,_),t;_.selectAll(".nv-noData").remove();var tt=y.filter(function(t){return!t.disabled&&t.bar}),et=y.filter(function(t){return!t.bar});n=tt.length&&!H?g.xScale():s.xScale(),r=h.scale(),A=H?s.yScale():g.yScale(),o=H?g.yScale():s.yScale(),a=H?u.yScale():l.yScale(),c=H?l.yScale():u.yScale();var nt=y.filter(function(t){return!t.disabled&&(H?!t.bar:t.bar)}).map(function(t){return t.values.map(function(t,e){return{x:w(t,e),y:m(t,e)}})}),it=y.filter(function(t){return!t.disabled&&(H?t.bar:!t.bar)}).map(function(t){return t.values.map(function(t,e){return{x:w(t,e),y:m(t,e)}})});n.range([0,Z]),r.domain(d3.extent(d3.merge(nt.concat(it)),function(t){return t.x})).range([0,Z]);var rt=_.selectAll("g.nv-wrap.nv-linePlusBar").data([y]),At=rt.enter().append("g").attr("class","nvd3 nv-wrap nv-linePlusBar").append("g"),ot=rt.select("g");At.append("g").attr("class","nv-legendWrap");var at=At.append("g").attr("class","nv-focus");at.append("g").attr("class","nv-x nv-axis"),at.append("g").attr("class","nv-y1 nv-axis"),at.append("g").attr("class","nv-y2 nv-axis"),at.append("g").attr("class","nv-barsWrap"),at.append("g").attr("class","nv-linesWrap");var ct=At.append("g").attr("class","nv-context");if(ct.append("g").attr("class","nv-x nv-axis"),ct.append("g").attr("class","nv-y1 nv-axis"),ct.append("g").attr("class","nv-y2 nv-axis"),ct.append("g").attr("class","nv-barsWrap"),ct.append("g").attr("class","nv-linesWrap"),ct.append("g").attr("class","nv-brushBackground"),ct.append("g").attr("class","nv-x nv-brush"),v){var st=T.align()?Z/2:Z,ut=T.align()?st:0;T.width(st),ot.select(".nv-legendWrap").datum(y.map(function(t){return t.originalKey=void 0===t.originalKey?t.key:t.originalKey,t.key=H?t.originalKey+(t.bar?G:R):t.originalKey+(t.bar?R:G),t})).call(T),C||T.height()===p.top||(p.top=T.height(),K=i.utils.availableHeight(B,_,p)-Y),ot.select(".nv-legendWrap").attr("transform","translate("+ut+","+-p.top+")")}else ot.select(".nv-legendWrap").selectAll("*").remove();rt.attr("transform","translate("+p.left+","+p.top+")"),ot.select(".nv-context").style("display",j?"initial":"none"),l.width(Z).height(q).color(y.map(function(t,e){return t.color||Q(t,e)}).filter(function(t,e){return!y[e].disabled&&y[e].bar})),u.width(Z).height(q).color(y.map(function(t,e){return t.color||Q(t,e)}).filter(function(t,e){return!y[e].disabled&&!y[e].bar}));var gt=ot.select(".nv-context .nv-barsWrap").datum(tt.length?tt:[{values:[]}]),lt=ot.select(".nv-context .nv-linesWrap").datum(W(et)?[{values:[]}]:et.filter(function(t){return!t.disabled}));ot.select(".nv-context").attr("transform","translate(0,"+(K+p.bottom+D.top)+")"),gt.transition().call(l),lt.transition().call(u),S&&(h._ticks(i.utils.calcTicksX(Z/100,y)).tickSize(-q,0),ot.select(".nv-context .nv-x.nv-axis").attr("transform","translate(0,"+a.range()[0]+")"),ot.select(".nv-context .nv-x.nv-axis").transition().call(h)),L&&(I.scale(a)._ticks(q/36).tickSize(-Z,0),E.scale(c)._ticks(q/36).tickSize(tt.length?0:-Z,0),ot.select(".nv-context .nv-y3.nv-axis").style("opacity",tt.length?1:0).attr("transform","translate(0,"+r.range()[0]+")"),ot.select(".nv-context .nv-y2.nv-axis").style("opacity",et.length?1:0).attr("transform","translate("+r.range()[1]+",0)"),ot.select(".nv-context .nv-y1.nv-axis").transition().call(I),ot.select(".nv-context .nv-y2.nv-axis").transition().call(E)),N.x(r).on("brush",P),b&&N.extent(b);var Mt=ot.select(".nv-brushBackground").selectAll("g").data([b||N.extent()]),ht=Mt.enter().append("g");ht.append("rect").attr("class","left").attr("x",0).attr("y",0).attr("height",q),ht.append("rect").attr("class","right").attr("x",0).attr("y",0).attr("height",q);var dt=ot.select(".nv-x.nv-brush").call(N);dt.selectAll("rect").attr("height",q),dt.selectAll(".resize").append("path").attr("d",O),T.dispatch.on("stateChange",function(e){for(var n in e)F[n]=e[n];z.stateChange(F),t.update()}),z.on("changeState",function(e){void 0!==e.disabled&&(y.forEach(function(t,n){t.disabled=e.disabled[n]}),F.disabled=e.disabled),t.update()}),P()}),t}var e,n,r,A,o,a,c,s=i.models.line(),u=i.models.line(),g=i.models.historicalBar(),l=i.models.historicalBar(),M=i.models.axis(),h=i.models.axis(),d=i.models.axis(),f=i.models.axis(),I=i.models.axis(),E=i.models.axis(),T=i.models.legend(),N=d3.svg.brush(),y=i.models.tooltip(),p={top:30,right:30,bottom:30,left:60},C=null,D={top:0,right:30,bottom:20,left:60},x=null,B=null,w=function(t){return t.x},m=function(t){return t.y},Q=i.utils.defaultColor(),v=!0,j=!0,L=!1,S=!0,Y=50,b=null,O=null,z=d3.dispatch("brush","stateChange","changeState"),U=0,F=i.utils.state(),k=null,R=" (left axis)",G=" (right axis)",H=!1;s.clipEdge(!0),u.interactive(!1),u.pointActive(function(t){return!1}),M.orient("bottom").tickPadding(5),d.orient("left"),f.orient("right"),h.orient("bottom").tickPadding(5),I.orient("left"),E.orient("right"),y.headerEnabled(!0).headerFormatter(function(t,e){return M.tickFormat()(t,e)});var J=function(){return H?{main:f,focus:E}:{main:d,focus:I}},P=function(){return H?{main:d,focus:I}:{main:f,focus:E}},X=function(t){return function(){return{active:t.map(function(t){return!t.disabled})}}},V=function(t){return function(e){void 0!==e.active&&t.forEach(function(t,n){t.disabled=!e.active[n]})}},W=function(t){return t.every(function(t){return t.disabled})};return s.dispatch.on("elementMouseover.tooltip",function(t){y.duration(100).valueFormatter(function(t,e){return P().main.tickFormat()(t,e)}).data(t).hidden(!1)}),s.dispatch.on("elementMouseout.tooltip",function(t){y.hidden(!0)}),g.dispatch.on("elementMouseover.tooltip",function(e){e.value=t.x()(e.data),e.series={value:t.y()(e.data),color:e.color},y.duration(0).valueFormatter(function(t,e){return J().main.tickFormat()(t,e)}).data(e).hidden(!1)}),g.dispatch.on("elementMouseout.tooltip",function(t){y.hidden(!0)}),g.dispatch.on("elementMousemove.tooltip",function(t){y()}),t.dispatch=z,t.legend=T,t.lines=s,t.lines2=u,t.bars=g,t.bars2=l,t.xAxis=M,t.x2Axis=h,t.y1Axis=d,t.y2Axis=f,t.y3Axis=I,t.y4Axis=E,t.tooltip=y,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return x},set:function(t){x=t}},height:{get:function(){return B},set:function(t){B=t}},showLegend:{get:function(){return v},set:function(t){v=t}},brushExtent:{get:function(){return b},set:function(t){b=t}},noData:{get:function(){return O},set:function(t){O=t}},focusEnable:{get:function(){return j},set:function(t){j=t}},focusHeight:{get:function(){return Y},set:function(t){Y=t}},focusShowAxisX:{get:function(){return S},set:function(t){S=t}},focusShowAxisY:{get:function(){return L},set:function(t){L=t}},legendLeftAxisHint:{get:function(){return R},set:function(t){R=t}},legendRightAxisHint:{get:function(){return G},set:function(t){G=t}},margin:{get:function(){return p},set:function(t){void 0!==t.top&&(p.top=t.top,C=t.top),p.right=void 0!==t.right?t.right:p.right,p.bottom=void 0!==t.bottom?t.bottom:p.bottom,p.left=void 0!==t.left?t.left:p.left}},focusMargin:{get:function(){return D},set:function(t){D.top=void 0!==t.top?t.top:D.top,D.right=void 0!==t.right?t.right:D.right,D.bottom=void 0!==t.bottom?t.bottom:D.bottom,D.left=void 0!==t.left?t.left:D.left}},duration:{get:function(){return U},set:function(t){U=t}},color:{get:function(){return Q},set:function(t){Q=i.utils.getColor(t),T.color(Q)}},x:{get:function(){return w},set:function(t){w=t,s.x(t),u.x(t),g.x(t),l.x(t)}},y:{get:function(){return m},set:function(t){m=t,s.y(t),u.y(t),g.y(t),l.y(t)}},switchYAxisOrder:{get:function(){return H},set:function(t){if(H!==t){var e=d;d=f,f=e;var n=I;I=E,E=n}H=t,d.orient("left"),f.orient("right"),I.orient("left"),E.orient("right")}}}),i.utils.inheritOptions(t,s),i.utils.initOptions(t),t},i.models.multiBar=function(){"use strict";function t(j){return Q.reset(),j.each(function(t){var j=u-s.left-s.right,L=g-s.top-s.bottom;d=d3.select(this),i.utils.initSVG(d);var S=0;if(C&&t.length&&(C=[{values:t[0].values.map(function(t){return{x:t.x,y:0,series:t.series,size:.01}})}]),N){var Y=d3.layout.stack().offset(y).values(function(t){return t.values}).y(I)(!t.length&&C?C:t);Y.forEach(function(e,n){e.nonStackable?(t[n].nonStackableSeries=S++,Y[n]=t[n]):n>0&&Y[n-1].nonStackable&&Y[n].values.map(function(t,e){t.y0-=Y[n-1].values[e].y,t.y1=t.y0+t.y})}),t=Y}t.forEach(function(t,e){t.values.forEach(function(n){n.series=e,n.key=t.key})}),N&&t.length>0&&t[0].values.map(function(e,n){var i=0,r=0;t.map(function(e,A){if(!t[A].nonStackable){var o=e.values[n];o.size=Math.abs(o.y),o.y<0?(o.y1=r,r-=o.size):(o.y1=o.size+i,i+=o.size)}})});var b=n&&r?[]:t.map(function(t,e){return t.values.map(function(t,n){return{x:f(t,n),y:I(t,n),y0:t.y0,y1:t.y1,idx:e}})});l.domain(n||d3.merge(b).map(function(t){return t.x})).rangeBands(A||[0,j],B),M.domain(r||d3.extent(d3.merge(b).map(function(e){var n=e.y;return N&&!t[e.idx].nonStackable&&(n=e.y>0?e.y1:e.y1+e.y),n}).concat(E))).range(o||[L,0]),l.domain()[0]===l.domain()[1]&&(l.domain()[0]?l.domain([l.domain()[0]-.01*l.domain()[0],l.domain()[1]+.01*l.domain()[1]]):l.domain([-1,1])),M.domain()[0]===M.domain()[1]&&(M.domain()[0]?M.domain([M.domain()[0]+.01*M.domain()[0],M.domain()[1]-.01*M.domain()[1]]):M.domain([-1,1])),a=a||l,c=c||M;var O=d.selectAll("g.nv-wrap.nv-multibar").data([t]),z=O.enter().append("g").attr("class","nvd3 nv-wrap nv-multibar"),U=z.append("defs"),F=z.append("g"),k=O.select("g");F.append("g").attr("class","nv-groups"),O.attr("transform","translate("+s.left+","+s.top+")"),U.append("clipPath").attr("id","nv-edge-clip-"+h).append("rect"),O.select("#nv-edge-clip-"+h+" rect").attr("width",j).attr("height",L),k.attr("clip-path",T?"url(#nv-edge-clip-"+h+")":"");var R=O.select(".nv-groups").selectAll(".nv-group").data(function(t){return t},function(t,e){return e});R.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6);var G=Q.transition(R.exit().selectAll("rect.nv-bar"),"multibarExit",Math.min(100,x)).attr("y",function(e,n,i){var r=c(0)||0;return N&&t[e.series]&&!t[e.series].nonStackable&&(r=c(e.y0)),r}).attr("height",0).remove();G.delay&&G.delay(function(t,e){return e*(x/(v+1))-e}),R.attr("class",function(t,e){return"nv-group nv-series-"+e}).classed("hover",function(t){return t.hover}).style("fill",function(t,e){return p(t,e)}).style("stroke",function(t,e){return p(t,e)}),R.style("stroke-opacity",1).style("fill-opacity",w);var H=R.selectAll("rect.nv-bar").data(function(e){return C&&!t.length?C.values:e.values});H.exit().remove();H.enter().append("rect").attr("class",function(t,e){return I(t,e)<0?"nv-bar negative":"nv-bar positive"}).attr("x",function(e,n,i){return N&&!t[i].nonStackable?0:i*l.rangeBand()/t.length}).attr("y",function(e,n,i){return c(N&&!t[i].nonStackable?e.y0:0)||0}).attr("height",0).attr("width",function(e,n,i){return l.rangeBand()/(N&&!t[i].nonStackable?1:t.length)}).attr("transform",function(t,e){return"translate("+l(f(t,e))+",0)"});H.style("fill",function(t,e,n){return p(t,n,e)}).style("stroke",function(t,e,n){return p(t,n,e)}).on("mouseover",function(t,e){d3.select(this).classed("hover",!0),m.elementMouseover({data:t,index:e,color:d3.select(this).style("fill")})}).on("mouseout",function(t,e){d3.select(this).classed("hover",!1),m.elementMouseout({data:t,index:e,color:d3.select(this).style("fill")})}).on("mousemove",function(t,e){m.elementMousemove({data:t,index:e,color:d3.select(this).style("fill")})}).on("click",function(t,e){var n=this;m.elementClick({data:t,index:e,color:d3.select(this).style("fill"),event:d3.event,element:n}),d3.event.stopPropagation()}).on("dblclick",function(t,e){m.elementDblClick({data:t,index:e,color:d3.select(this).style("fill")}),d3.event.stopPropagation()}),H.attr("class",function(t,e){return I(t,e)<0?"nv-bar negative":"nv-bar positive"}).attr("transform",function(t,e){return"translate("+l(f(t,e))+",0)"}),D&&(e||(e=t.map(function(){return!0})),H.style("fill",function(t,n,i){return d3.rgb(D(t,n)).darker(e.map(function(t,e){return e}).filter(function(t,n){return!e[n]})[i]).toString()}).style("stroke",function(t,n,i){return d3.rgb(D(t,n)).darker(e.map(function(t,e){return e}).filter(function(t,n){return!e[n]})[i]).toString()}));var J=H.watchTransition(Q,"multibar",Math.min(250,x)).delay(function(e,n){return n*x/t[0].values.length});N?J.attr("y",function(e,n,i){return t[i].nonStackable?I(e,n)<0?M(0):M(0)-M(I(e,n))<-1?M(0)-1:M(I(e,n))||0:M(e.y1)}).attr("height",function(e,n,i){return t[i].nonStackable?Math.max(Math.abs(M(I(e,n))-M(0)),0)||0:Math.max(Math.abs(M(e.y+e.y0)-M(e.y0)),0)}).attr("x",function(e,n,i){var r=0;return t[i].nonStackable&&(r=e.series*l.rangeBand()/t.length,t.length!==S&&(r=t[i].nonStackableSeries*l.rangeBand()/(2*S))),r}).attr("width",function(e,n,i){if(t[i].nonStackable){var r=l.rangeBand()/S;return t.length!==S&&(r=l.rangeBand()/(2*S)),r}return l.rangeBand()}):J.attr("x",function(e,n){return e.series*l.rangeBand()/t.length}).attr("width",l.rangeBand()/t.length).attr("y",function(t,e){return I(t,e)<0?M(0):M(0)-M(I(t,e))<1?M(0)-1:M(I(t,e))||0}).attr("height",function(t,e){return Math.max(Math.abs(M(I(t,e))-M(0)),1)||0}),a=l.copy(),c=M.copy(),t[0]&&t[0].values&&(v=t[0].values.length)}),Q.renderEnd("multibar immediate"),t}var e,n,r,A,o,a,c,s={top:0,right:0,bottom:0,left:0},u=960,g=500,l=d3.scale.ordinal(),M=d3.scale.linear(),h=Math.floor(1e4*Math.random()),d=null,f=function(t){return t.x},I=function(t){return t.y},E=[0],T=!0,N=!1,y="zero",p=i.utils.defaultColor(),C=!1,D=null,x=500,B=.1,w=.75,m=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),Q=i.utils.renderWatch(m,x),v=0;return t.dispatch=m,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return u},set:function(t){u=t}},height:{get:function(){return g},set:function(t){g=t}},x:{get:function(){return f},set:function(t){f=t}},y:{get:function(){return I},set:function(t){I=t}},xScale:{get:function(){return l},set:function(t){l=t}},yScale:{get:function(){return M},set:function(t){M=t}},xDomain:{get:function(){return n},set:function(t){n=t}},yDomain:{get:function(){return r},set:function(t){r=t}},xRange:{get:function(){return A},set:function(t){A=t}},yRange:{get:function(){return o},set:function(t){o=t}},forceY:{get:function(){return E},set:function(t){E=t}},stacked:{get:function(){return N},set:function(t){N=t}},stackOffset:{get:function(){return y},set:function(t){y=t}},clipEdge:{get:function(){return T},set:function(t){T=t}},disabled:{get:function(){return e},set:function(t){e=t}},id:{get:function(){return h},set:function(t){h=t}},hideable:{get:function(){return C},set:function(t){C=t}},groupSpacing:{get:function(){return B},set:function(t){B=t}},fillOpacity:{get:function(){return w},set:function(t){w=t}},margin:{get:function(){return s},set:function(t){s.top=void 0!==t.top?t.top:s.top,s.right=void 0!==t.right?t.right:s.right,s.bottom=void 0!==t.bottom?t.bottom:s.bottom,s.left=void 0!==t.left?t.left:s.left}},duration:{get:function(){return x},set:function(t){x=t,Q.reset(x)}},color:{get:function(){return p},set:function(t){p=i.utils.getColor(t)}},barColor:{get:function(){return D},set:function(t){D=t?i.utils.getColor(t):null}}}),i.utils.initOptions(t),t},i.models.multiBarChart=function(){"use strict";function t(m){return S.reset(),S.models(r),T&&S.models(A),N&&S.models(o),m.each(function(m){var S=d3.select(this);i.utils.initSVG(S);var z=i.utils.availableWidth(M,S,g),U=i.utils.availableHeight(h,S,g);if(t.update=function(){0===j?S.call(t):S.transition().duration(j).call(t)},t.container=this,B.setter(O(m),t.update).getter(b(m)).update(),B.disabled=m.map(function(t){return!!t.disabled}),!w){var F;w={};for(F in B)B[F]instanceof Array?w[F]=B[F].slice(0):w[F]=B[F]}if(!(m&&m.length&&m.filter(function(t){return t.values.length}).length))return i.utils.noData(t,S),t;S.selectAll(".nv-noData").remove(),e=r.xScale(),n=r.yScale();var k=S.selectAll("g.nv-wrap.nv-multiBarWithLegend").data([m]),R=k.enter().append("g").attr("class","nvd3 nv-wrap nv-multiBarWithLegend").append("g"),G=k.select("g");if(R.append("g").attr("class","nv-x nv-axis"),R.append("g").attr("class","nv-y nv-axis"),R.append("g").attr("class","nv-barsWrap"),R.append("g").attr("class","nv-legendWrap"),R.append("g").attr("class","nv-controlsWrap"),R.append("g").attr("class","nv-interactive"),E?(c.width(z-v()),G.select(".nv-legendWrap").datum(m).call(c),l||c.height()===g.top||(g.top=c.height(),U=i.utils.availableHeight(h,S,g)),G.select(".nv-legendWrap").attr("transform","translate("+v()+","+-g.top+")")):G.select(".nv-legendWrap").selectAll("*").remove(),f){var H=[{key:I.grouped||"Grouped",disabled:r.stacked()},{key:I.stacked||"Stacked",disabled:!r.stacked()}];s.width(v()).color(["#444","#444","#444"]),G.select(".nv-controlsWrap").datum(H).attr("transform","translate(0,"+-g.top+")").call(s)}else G.select(".nv-controlsWrap").selectAll("*").remove();if(k.attr("transform","translate("+g.left+","+g.top+")"),y&&G.select(".nv-y.nv-axis").attr("transform","translate("+z+",0)"),r.disabled(m.map(function(t){return t.disabled})).width(z).height(U).color(m.map(function(t,e){return t.color||d(t,e)}).filter(function(t,e){return!m[e].disabled})),G.select(".nv-barsWrap").datum(m.filter(function(t){return!t.disabled})).call(r),T){A.scale(e)._ticks(i.utils.calcTicksX(z/100,m)).tickSize(-U,0),G.select(".nv-x.nv-axis").attr("transform","translate(0,"+n.range()[0]+")"),G.select(".nv-x.nv-axis").call(A);var J=G.select(".nv-x.nv-axis > g").selectAll("g");if(J.selectAll("line, text").style("opacity",1),C){var P=function(t,e){return"translate("+t+","+e+")"};J.selectAll("text").attr("transform",function(t,e,n){return P(0,n%2==0?5:17)});var X=d3.selectAll(".nv-x.nv-axis .nv-wrap g g text")[0].length;G.selectAll(".nv-x.nv-axis .nv-axisMaxMin text").attr("transform",function(t,e){return P(0,0===e||X%2!=0?17:5)})}D&&G.selectAll(".tick text").call(i.utils.wrapTicks,t.xAxis.rangeBand()),p&&J.filter(function(t,e){return e%Math.ceil(m[0].values.length/(z/100))!=0}).selectAll("text, line").style("opacity",0),x&&J.selectAll(".tick text").attr("transform","rotate("+x+" 0,0)").style("text-anchor",x>0?"start":"end"),G.select(".nv-x.nv-axis").selectAll("g.nv-axisMaxMin text").style("opacity",1)}N&&(o.scale(n)._ticks(i.utils.calcTicksY(U/36,m)).tickSize(-z,0),G.select(".nv-y.nv-axis").call(o)),L&&(a.width(z).height(U).margin({left:g.left,top:g.top}).svgContainer(S).xScale(e),k.select(".nv-interactive").call(a)),c.dispatch.on("stateChange",function(e){for(var n in e)B[n]=e[n];Q.stateChange(B),t.update()}),s.dispatch.on("legendClick",function(e,n){if(e.disabled){switch(H=H.map(function(t){return t.disabled=!0,t}),e.disabled=!1,e.key){case"Grouped":case I.grouped:r.stacked(!1);break;case"Stacked":case I.stacked:r.stacked(!0)}B.stacked=r.stacked(),Q.stateChange(B),t.update()}}),Q.on("changeState",function(e){void 0!==e.disabled&&(m.forEach(function(t,n){t.disabled=e.disabled[n]}),B.disabled=e.disabled),void 0!==e.stacked&&(r.stacked(e.stacked),B.stacked=e.stacked,Y=e.stacked),t.update()}),L?(a.dispatch.on("elementMousemove",function(n){if(void 0!=n.pointXValue){var i,r,A,o,c=[];m.filter(function(t,e){return t.seriesIndex=e,!t.disabled}).forEach(function(a,s){r=e.domain().indexOf(n.pointXValue);var u=a.values[r];void 0!==u&&(o=u.x,void 0===i&&(i=u),void 0===A&&(A=n.mouseX),c.push({key:a.key,value:t.y()(u,r),color:d(a,a.seriesIndex),data:a.values[r]}))}),a.tooltip.data({value:o,index:r,series:c})(),a.renderGuideLine(A)}}),a.dispatch.on("elementMouseout",function(t){a.tooltip.hidden(!0)})):(r.dispatch.on("elementMouseover.tooltip",function(e){e.value=t.x()(e.data),e.series={key:e.data.key,value:t.y()(e.data),color:e.color},u.data(e).hidden(!1)}),r.dispatch.on("elementMouseout.tooltip",function(t){u.hidden(!0)}),r.dispatch.on("elementMousemove.tooltip",function(t){u()}))}),S.renderEnd("multibarchart immediate"),t}var e,n,r=i.models.multiBar(),A=i.models.axis(),o=i.models.axis(),a=i.interactiveGuideline(),c=i.models.legend(),s=i.models.legend(),u=i.models.tooltip(),g={top:30,right:20,bottom:50,left:60},l=null,M=null,h=null,d=i.utils.defaultColor(),f=!0,I={},E=!0,T=!0,N=!0,y=!1,p=!0,C=!1,D=!1,x=0,B=i.utils.state(),w=null,m=null,Q=d3.dispatch("stateChange","changeState","renderEnd"),v=function(){return f?180:0},j=250,L=!1;B.stacked=!1,r.stacked(!1),A.orient("bottom").tickPadding(7).showMaxMin(!1).tickFormat(function(t){return t}),o.orient(y?"right":"left").tickFormat(d3.format(",.1f")),u.duration(0).valueFormatter(function(t,e){return o.tickFormat()(t,e)}).headerFormatter(function(t,e){return A.tickFormat()(t,e)}),a.tooltip.valueFormatter(function(t,e){return null==t?"N/A":o.tickFormat()(t,e)}).headerFormatter(function(t,e){return A.tickFormat()(t,e)}),a.tooltip.valueFormatter(function(t,e){return null==t?"N/A":o.tickFormat()(t,e)}).headerFormatter(function(t,e){return A.tickFormat()(t,e)}),a.tooltip.duration(0).valueFormatter(function(t,e){return o.tickFormat()(t,e)}).headerFormatter(function(t,e){return A.tickFormat()(t,e)}),s.updateState(!1);var S=i.utils.renderWatch(Q),Y=!1,b=function(t){return function(){return{active:t.map(function(t){return!t.disabled}),stacked:Y}}},O=function(t){return function(e){void 0!==e.stacked&&(Y=e.stacked),void 0!==e.active&&t.forEach(function(t,n){t.disabled=!e.active[n]})}};return t.dispatch=Q,t.multibar=r,t.legend=c,t.controls=s,t.xAxis=A,t.yAxis=o,t.state=B,t.tooltip=u,t.interactiveLayer=a,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return M},set:function(t){M=t}},height:{get:function(){return h},set:function(t){h=t}},showLegend:{get:function(){return E},set:function(t){E=t}},showControls:{get:function(){return f},set:function(t){f=t}},controlLabels:{get:function(){return I},set:function(t){I=t}},showXAxis:{get:function(){return T},set:function(t){T=t}},showYAxis:{get:function(){return N},set:function(t){N=t}},defaultState:{get:function(){return w},set:function(t){w=t}},noData:{get:function(){return m},set:function(t){m=t}},reduceXTicks:{get:function(){return p},set:function(t){p=t}},rotateLabels:{get:function(){return x},set:function(t){x=t}},staggerLabels:{get:function(){return C},set:function(t){C=t}},wrapLabels:{get:function(){return D},set:function(t){D=!!t}},margin:{get:function(){return g},set:function(t){void 0!==t.top&&(g.top=t.top,l=t.top),g.right=void 0!==t.right?t.right:g.right,g.bottom=void 0!==t.bottom?t.bottom:g.bottom,g.left=void 0!==t.left?t.left:g.left}},duration:{get:function(){return j},set:function(t){j=t,r.duration(j),A.duration(j),o.duration(j),S.reset(j)}},color:{get:function(){return d},set:function(t){d=i.utils.getColor(t),c.color(d)}},rightAlignYAxis:{get:function(){return y},set:function(t){y=t,o.orient(y?"right":"left")}},useInteractiveGuideline:{get:function(){return L},set:function(t){L=t}},barColor:{get:function(){return r.barColor},set:function(t){r.barColor(t),c.color(function(t,e){return d3.rgb("#ccc").darker(1.5*e).toString()})}}}),i.utils.inheritOptions(t,r),i.utils.initOptions(t),t},i.models.multiBarHorizontal=function(){"use strict";function t(l){return j.reset(),l.each(function(t){var l=u-s.left-s.right,Q=g-s.top-s.bottom;M=d3.select(this),i.utils.initSVG(M),p&&(t=d3.layout.stack().offset("zero").values(function(t){return t.values}).y(I)(t)),t.forEach(function(t,e){t.values.forEach(function(n){n.series=e,n.key=t.key})}),p&&t[0].values.map(function(e,n){var i=0,r=0;t.map(function(t){var e=t.values[n];e.size=Math.abs(e.y),e.y<0?(e.y1=r-e.size,r-=e.size):(e.y1=i,i+=e.size)})});var L=n&&r?[]:t.map(function(t){return t.values.map(function(t,e){return{x:f(t,e),y:I(t,e),y0:t.y0,y1:t.y1}})});h.domain(n||d3.merge(L).map(function(t){return t.x})).rangeBands(A||[0,Q],B),d.domain(r||d3.extent(d3.merge(L).map(function(t){return p?t.y>0?t.y1+t.y:t.y1:t.y}).concat(T))),C&&!p?d.range(o||[d.domain()[0]<0?x:0,l-(d.domain()[1]>0?x:0)]):d.range(o||[0,l]),a=a||h,c=c||d3.scale.linear().domain(d.domain()).range([d(0),d(0)]);var S=d3.select(this).selectAll("g.nv-wrap.nv-multibarHorizontal").data([t]),Y=S.enter().append("g").attr("class","nvd3 nv-wrap nv-multibarHorizontal"),b=(Y.append("defs"),Y.append("g"));S.select("g");b.append("g").attr("class","nv-groups"),S.attr("transform","translate("+s.left+","+s.top+")");var O=S.select(".nv-groups").selectAll(".nv-group").data(function(t){return t},function(t,e){return e});O.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),O.exit().watchTransition(j,"multibarhorizontal: exit groups").style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),O.attr("class",function(t,e){return"nv-group nv-series-"+e}).classed("hover",function(t){return t.hover}).style("fill",function(t,e){return N(t,e)}).style("stroke",function(t,e){return N(t,e)}),O.watchTransition(j,"multibarhorizontal: groups").style("stroke-opacity",1).style("fill-opacity",w);var z=O.selectAll("g.nv-bar").data(function(t){return t.values});z.exit().remove();var U=z.enter().append("g").attr("transform",function(e,n,i){return"translate("+c(p?e.y0:0)+","+(p?0:i*h.rangeBand()/t.length+h(f(e,n)))+")"});U.append("rect").attr("width",0).attr("height",h.rangeBand()/(p?1:t.length)),z.on("mouseover",function(t,e){d3.select(this).classed("hover",!0),v.elementMouseover({data:t,index:e,color:d3.select(this).style("fill")})}).on("mouseout",function(t,e){d3.select(this).classed("hover",!1),v.elementMouseout({data:t,index:e,color:d3.select(this).style("fill")})}).on("mouseout",function(t,e){v.elementMouseout({data:t,index:e,color:d3.select(this).style("fill")})}).on("mousemove",function(t,e){v.elementMousemove({data:t,index:e,color:d3.select(this).style("fill")})}).on("click",function(t,e){var n=this;v.elementClick({data:t,index:e,color:d3.select(this).style("fill"),event:d3.event,element:n}),d3.event.stopPropagation()}).on("dblclick",function(t,e){v.elementDblClick({data:t,index:e,color:d3.select(this).style("fill")}),d3.event.stopPropagation()}),E(t[0],0)&&(U.append("polyline"),z.select("polyline").attr("fill","none").attr("points",function(e,n){var i=E(e,n),r=.8*h.rangeBand()/(2*(p?1:t.length));return i=i.length?i:[-Math.abs(i),Math.abs(i)],i=i.map(function(t){return d(t)-d(0)}),[[i[0],-r],[i[0],r],[i[0],0],[i[1],0],[i[1],-r],[i[1],r]].map(function(t){return t.join(",")}).join(" ")}).attr("transform",function(e,n){var i=h.rangeBand()/(2*(p?1:t.length));return"translate("+(I(e,n)<0?0:d(I(e,n))-d(0))+", "+i+")"})),U.append("text"),C&&!p?(z.select("text").attr("text-anchor",function(t,e){return I(t,e)<0?"end":"start"}).attr("y",h.rangeBand()/(2*t.length)).attr("dy",".32em").text(function(t,e){var n=m(I(t,e)),i=E(t,e);return void 0===i?n:i.length?n+"+"+m(Math.abs(i[1]))+"-"+m(Math.abs(i[0])):n+"±"+m(Math.abs(i))}),z.watchTransition(j,"multibarhorizontal: bars").select("text").attr("x",function(t,e){return I(t,e)<0?-4:d(I(t,e))-d(0)+4})):z.selectAll("text").text(""),D&&!p?(U.append("text").classed("nv-bar-label",!0),z.select("text.nv-bar-label").attr("text-anchor",function(t,e){return I(t,e)<0?"start":"end"}).attr("y",h.rangeBand()/(2*t.length)).attr("dy",".32em").text(function(t,e){return f(t,e)}),z.watchTransition(j,"multibarhorizontal: bars").select("text.nv-bar-label").attr("x",function(t,e){return I(t,e)<0?d(0)-d(I(t,e))+4:-4})):z.selectAll("text.nv-bar-label").text(""),z.attr("class",function(t,e){return I(t,e)<0?"nv-bar negative":"nv-bar positive"}),y&&(e||(e=t.map(function(){return!0})),z.style("fill",function(t,n,i){return d3.rgb(y(t,n)).darker(e.map(function(t,e){return e}).filter(function(t,n){return!e[n]})[i]).toString()}).style("stroke",function(t,n,i){return d3.rgb(y(t,n)).darker(e.map(function(t,e){return e}).filter(function(t,n){return!e[n]})[i]).toString()})),p?z.watchTransition(j,"multibarhorizontal: bars").attr("transform",function(t,e){return"translate("+d(t.y1)+","+h(f(t,e))+")"}).select("rect").attr("width",function(t,e){return Math.abs(d(I(t,e)+t.y0)-d(t.y0))||0}).attr("height",h.rangeBand()):z.watchTransition(j,"multibarhorizontal: bars").attr("transform",function(e,n){return"translate("+d(I(e,n)<0?I(e,n):0)+","+(e.series*h.rangeBand()/t.length+h(f(e,n)))+")"}).select("rect").attr("height",h.rangeBand()/t.length).attr("width",function(t,e){return Math.max(Math.abs(d(I(t,e))-d(0)),1)||0}),a=h.copy(),c=d.copy()}),j.renderEnd("multibarHorizontal immediate"),t}var e,n,r,A,o,a,c,s={top:0,right:0,bottom:0,left:0},u=960,g=500,l=Math.floor(1e4*Math.random()),M=null,h=d3.scale.ordinal(),d=d3.scale.linear(),f=function(t){return t.x},I=function(t){return t.y},E=function(t){return t.yErr},T=[0],N=i.utils.defaultColor(),y=null,p=!1,C=!1,D=!1,x=60,B=.1,w=.75,m=d3.format(",.2f"),Q=250,v=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),j=i.utils.renderWatch(v,Q);return t.dispatch=v,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return u},set:function(t){u=t}},height:{get:function(){return g},set:function(t){g=t}},x:{get:function(){return f},set:function(t){f=t}},y:{get:function(){return I},set:function(t){I=t}},yErr:{get:function(){return E},set:function(t){E=t}},xScale:{get:function(){return h},set:function(t){h=t}},yScale:{get:function(){return d},set:function(t){d=t}},xDomain:{get:function(){return n},set:function(t){n=t}},yDomain:{get:function(){return r},set:function(t){r=t}},xRange:{get:function(){return A},set:function(t){A=t}},yRange:{get:function(){return o},set:function(t){o=t}},forceY:{get:function(){return T},set:function(t){T=t}},stacked:{get:function(){return p},set:function(t){p=t}},showValues:{get:function(){return C},set:function(t){C=t}},disabled:{get:function(){return e},set:function(t){e=t}},id:{get:function(){return l},set:function(t){l=t}},valueFormat:{get:function(){return m},set:function(t){m=t}},valuePadding:{get:function(){return x},set:function(t){x=t}},groupSpacing:{get:function(){return B},set:function(t){B=t}},fillOpacity:{get:function(){return w},set:function(t){w=t}},margin:{get:function(){return s},set:function(t){s.top=void 0!==t.top?t.top:s.top,s.right=void 0!==t.right?t.right:s.right,s.bottom=void 0!==t.bottom?t.bottom:s.bottom,s.left=void 0!==t.left?t.left:s.left}},duration:{get:function(){return Q},set:function(t){Q=t,j.reset(Q)}},color:{get:function(){return N},set:function(t){N=i.utils.getColor(t)}},barColor:{get:function(){return y},set:function(t){y=t?i.utils.getColor(t):null}}}),i.utils.initOptions(t),t},i.models.multiBarHorizontalChart=function(){"use strict";function t(s){return Q.reset(),Q.models(r),E&&Q.models(A),T&&Q.models(o),s.each(function(s){var C=d3.select(this);i.utils.initSVG(C);var Q=i.utils.availableWidth(l,C,u),v=i.utils.availableHeight(M,C,u);if(t.update=function(){C.transition().duration(B).call(t)},t.container=this,N=r.stacked(),y.setter(m(s),t.update).getter(w(s)).update(),y.disabled=s.map(function(t){return!!t.disabled}),!p){var j;p={};for(j in y)y[j]instanceof Array?p[j]=y[j].slice(0):p[j]=y[j]}if(!(s&&s.length&&s.filter(function(t){return t.values.length}).length))return i.utils.noData(t,C),t;C.selectAll(".nv-noData").remove(),e=r.xScale(),n=r.yScale().clamp(!0);var L=C.selectAll("g.nv-wrap.nv-multiBarHorizontalChart").data([s]),S=L.enter().append("g").attr("class","nvd3 nv-wrap nv-multiBarHorizontalChart").append("g"),Y=L.select("g");if(S.append("g").attr("class","nv-x nv-axis"),S.append("g").attr("class","nv-y nv-axis").append("g").attr("class","nv-zeroLine").append("line"),S.append("g").attr("class","nv-barsWrap"),S.append("g").attr("class","nv-legendWrap"),S.append("g").attr("class","nv-controlsWrap"),I?(a.width(Q-x()),Y.select(".nv-legendWrap").datum(s).call(a),g||a.height()===u.top||(u.top=a.height(),v=i.utils.availableHeight(M,C,u)),Y.select(".nv-legendWrap").attr("transform","translate("+x()+","+-u.top+")")):Y.select(".nv-legendWrap").selectAll("*").remove(),d){var b=[{key:f.grouped||"Grouped",disabled:r.stacked()},{key:f.stacked||"Stacked",disabled:!r.stacked()}];c.width(x()).color(["#444","#444","#444"]),Y.select(".nv-controlsWrap").datum(b).attr("transform","translate(0,"+-u.top+")").call(c)}else Y.select(".nv-controlsWrap").selectAll("*").remove();(L.attr("transform","translate("+u.left+","+u.top+")"),r.disabled(s.map(function(t){return t.disabled})).width(Q).height(v).color(s.map(function(t,e){return t.color||h(t,e)}).filter(function(t,e){return!s[e].disabled})),Y.select(".nv-barsWrap").datum(s.filter(function(t){return!t.disabled})).transition().call(r),E)&&(A.scale(e)._ticks(i.utils.calcTicksY(v/24,s)).tickSize(-Q,0),Y.select(".nv-x.nv-axis").call(A),Y.select(".nv-x.nv-axis").selectAll("g").selectAll("line, text"));T&&(o.scale(n)._ticks(i.utils.calcTicksX(Q/100,s)).tickSize(-v,0),Y.select(".nv-y.nv-axis").attr("transform","translate(0,"+v+")"),Y.select(".nv-y.nv-axis").call(o)),Y.select(".nv-zeroLine line").attr("x1",n(0)).attr("x2",n(0)).attr("y1",0).attr("y2",-v),a.dispatch.on("stateChange",function(e){for(var n in e)y[n]=e[n];D.stateChange(y),t.update()}),c.dispatch.on("legendClick",function(e,n){if(e.disabled){switch(b=b.map(function(t){return t.disabled=!0,t}),e.disabled=!1,e.key){case"Grouped":case f.grouped:r.stacked(!1);break;case"Stacked":case f.stacked:r.stacked(!0)}y.stacked=r.stacked(),D.stateChange(y),N=r.stacked(),t.update()}}),D.on("changeState",function(e){void 0!==e.disabled&&(s.forEach(function(t,n){t.disabled=e.disabled[n]}),y.disabled=e.disabled),void 0!==e.stacked&&(r.stacked(e.stacked),y.stacked=e.stacked,N=e.stacked),t.update()})}),Q.renderEnd("multibar horizontal chart immediate"),t}var e,n,r=i.models.multiBarHorizontal(),A=i.models.axis(),o=i.models.axis(),a=i.models.legend().height(30),c=i.models.legend().height(30),s=i.models.tooltip(),u={top:30,right:20,bottom:50,left:60},g=null,l=null,M=null,h=i.utils.defaultColor(),d=!0,f={},I=!0,E=!0,T=!0,N=!1,y=i.utils.state(),p=null,C=null,D=d3.dispatch("stateChange","changeState","renderEnd"),x=function(){return d?180:0},B=250;y.stacked=!1,r.stacked(N),A.orient("left").tickPadding(5).showMaxMin(!1).tickFormat(function(t){return t}),o.orient("bottom").tickFormat(d3.format(",.1f")),s.duration(0).valueFormatter(function(t,e){return o.tickFormat()(t,e)}).headerFormatter(function(t,e){return A.tickFormat()(t,e)}),c.updateState(!1);var w=function(t){return function(){return{active:t.map(function(t){return!t.disabled}),stacked:N}}},m=function(t){return function(e){void 0!==e.stacked&&(N=e.stacked),void 0!==e.active&&t.forEach(function(t,n){t.disabled=!e.active[n]})}},Q=i.utils.renderWatch(D,B);return r.dispatch.on("elementMouseover.tooltip",function(e){e.value=t.x()(e.data),e.series={key:e.data.key,value:t.y()(e.data),color:e.color},s.data(e).hidden(!1)}),r.dispatch.on("elementMouseout.tooltip",function(t){s.hidden(!0)}),r.dispatch.on("elementMousemove.tooltip",function(t){s()}),t.dispatch=D,t.multibar=r,t.legend=a,t.controls=c,t.xAxis=A,t.yAxis=o,t.state=y,t.tooltip=s,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return l},set:function(t){l=t}},height:{get:function(){return M},set:function(t){M=t}},showLegend:{get:function(){return I},set:function(t){I=t}},showControls:{get:function(){return d},set:function(t){d=t}},controlLabels:{get:function(){return f},set:function(t){f=t}},showXAxis:{get:function(){return E},set:function(t){E=t}},showYAxis:{get:function(){return T},set:function(t){T=t}},defaultState:{get:function(){return p},set:function(t){p=t}},noData:{get:function(){return C},set:function(t){C=t}},margin:{get:function(){return u},set:function(t){void 0!==t.top&&(u.top=t.top,g=t.top),u.right=void 0!==t.right?t.right:u.right,u.bottom=void 0!==t.bottom?t.bottom:u.bottom,u.left=void 0!==t.left?t.left:u.left}},duration:{get:function(){return B},set:function(t){B=t,Q.reset(B),r.duration(B),A.duration(B),o.duration(B)}},color:{get:function(){return h},set:function(t){h=i.utils.getColor(t),a.color(h)}},barColor:{get:function(){return r.barColor},set:function(t){r.barColor(t),a.color(function(t,e){return d3.rgb("#ccc").darker(1.5*e).toString()})}}}),i.utils.inheritOptions(t,r),i.utils.initOptions(t),t},i.models.multiChart=function(){"use strict";function t(u){return u.each(function(u){function h(t){var e=2===u[t.seriesIndex].yAxis?L:j;t.value=t.point.x,t.series={value:t.point.y,color:t.point.color,key:t.series.key},Y.duration(0).headerFormatter(function(t,e){return v.tickFormat()(t,e)}).valueFormatter(function(t,n){return e.tickFormat()(t,n)}).data(t).hidden(!1)}function E(t){var e=2===u[t.seriesIndex].yAxis?L:j;t.value=t.point.x,t.series={value:t.point.y,color:t.point.color,key:t.series.key},Y.duration(100).headerFormatter(function(t,e){return v.tickFormat()(t,e)}).valueFormatter(function(t,n){return e.tickFormat()(t,n)}).data(t).hidden(!1)}function b(t){var e=2===u[t.seriesIndex].yAxis?L:j;t.point.x=m.x()(t.point),t.point.y=m.y()(t.point),Y.duration(0).headerFormatter(function(t,e){return v.tickFormat()(t,e)}).valueFormatter(function(t,n){return e.tickFormat()(t,n)}).data(t).hidden(!1)}function z(t){var e=2===u[t.data.series].yAxis?L:j;t.value=B.x()(t.data),t.series={value:B.y()(t.data),color:t.color,key:t.data.key},Y.duration(0).headerFormatter(function(t,e){return v.tickFormat()(t,e)}).valueFormatter(function(t,n){return e.tickFormat()(t,n)}).data(t).hidden(!1)}function U(){for(var t=0,e=O.length;t<e;t++){var n=O[t];try{n.clearHighlights()}catch(t){}}}function F(t,e,n){for(var i=0,r=O.length;i<r;i++){var A=O[i];try{A.highlightPoint(t,e,n)}catch(t){}}}var k=d3.select(this);i.utils.initSVG(k),t.update=function(){k.transition().call(t)},t.container=this;var R=i.utils.availableWidth(a,k,r),G=i.utils.availableHeight(c,k,r),H=u.filter(function(t){return"line"==t.type&&1==t.yAxis}),J=u.filter(function(t){return"line"==t.type&&2==t.yAxis}),P=u.filter(function(t){return"scatter"==t.type&&1==t.yAxis}),X=u.filter(function(t){return"scatter"==t.type&&2==t.yAxis}),V=u.filter(function(t){return"bar"==t.type&&1==t.yAxis}),W=u.filter(function(t){return"bar"==t.type&&2==t.yAxis}),_=u.filter(function(t){return"area"==t.type&&1==t.yAxis}),Z=u.filter(function(t){return"area"==t.type&&2==t.yAxis});if(!(u&&u.length&&u.filter(function(t){return t.values.length}).length))return i.utils.noData(t,k),t;k.selectAll(".nv-noData").remove();var K=u.filter(function(t){return!t.disabled&&1==t.yAxis}).map(function(t){return t.values.map(function(t,e){return{x:g(t),y:l(t)}})}),q=u.filter(function(t){return!t.disabled&&2==t.yAxis}).map(function(t){return t.values.map(function(t,e){return{x:g(t),y:l(t)}})});T.domain(d3.extent(d3.merge(K.concat(q)),function(t){return t.x})).range([0,R]);var $=k.selectAll("g.wrap.multiChart").data([u]),tt=$.enter().append("g").attr("class","wrap nvd3 multiChart").append("g");tt.append("g").attr("class","nv-x nv-axis"),tt.append("g").attr("class","nv-y1 nv-axis"),tt.append("g").attr("class","nv-y2 nv-axis"),tt.append("g").attr("class","stack1Wrap"),tt.append("g").attr("class","stack2Wrap"),tt.append("g").attr("class","bars1Wrap"),tt.append("g").attr("class","bars2Wrap"),tt.append("g").attr("class","scatters1Wrap"),tt.append("g").attr("class","scatters2Wrap"),tt.append("g").attr("class","lines1Wrap"),tt.append("g").attr("class","lines2Wrap"),tt.append("g").attr("class","legendWrap"),tt.append("g").attr("class","nv-interactive");var et=$.select("g"),nt=u.map(function(t,e){return u[e].color||o(t,e)});if(s){var it=S.align()?R/2:R,rt=S.align()?it:0;S.width(it),S.color(nt),et.select(".legendWrap").datum(u.map(function(t){return t.originalKey=void 0===t.originalKey?t.key:t.originalKey,t.key=t.originalKey+(1==t.yAxis?"":I),t})).call(S),A||S.height()===r.top||(r.top=S.height(),G=i.utils.availableHeight(c,k,r)),et.select(".legendWrap").attr("transform","translate("+rt+","+-r.top+")")}else et.select(".legendWrap").selectAll("*").remove();p.width(R).height(G).interpolate(M).color(nt.filter(function(t,e){return!u[e].disabled&&1==u[e].yAxis&&"line"==u[e].type})),C.width(R).height(G).interpolate(M).color(nt.filter(function(t,e){return!u[e].disabled&&2==u[e].yAxis&&"line"==u[e].type})),D.width(R).height(G).color(nt.filter(function(t,e){return!u[e].disabled&&1==u[e].yAxis&&"scatter"==u[e].type})),x.width(R).height(G).color(nt.filter(function(t,e){return!u[e].disabled&&2==u[e].yAxis&&"scatter"==u[e].type})),B.width(R).height(G).color(nt.filter(function(t,e){return!u[e].disabled&&1==u[e].yAxis&&"bar"==u[e].type})),w.width(R).height(G).color(nt.filter(function(t,e){return!u[e].disabled&&2==u[e].yAxis&&"bar"==u[e].type})),m.width(R).height(G).interpolate(M).color(nt.filter(function(t,e){return!u[e].disabled&&1==u[e].yAxis&&"area"==u[e].type})),Q.width(R).height(G).interpolate(M).color(nt.filter(function(t,e){return!u[e].disabled&&2==u[e].yAxis&&"area"==u[e].type})),et.attr("transform","translate("+r.left+","+r.top+")");var At=et.select(".lines1Wrap").datum(H.filter(function(t){return!t.disabled})),ot=et.select(".scatters1Wrap").datum(P.filter(function(t){return!t.disabled})),at=et.select(".bars1Wrap").datum(V.filter(function(t){return!t.disabled})),ct=et.select(".stack1Wrap").datum(_.filter(function(t){return!t.disabled})),st=et.select(".lines2Wrap").datum(J.filter(function(t){return!t.disabled})),ut=et.select(".scatters2Wrap").datum(X.filter(function(t){return!t.disabled})),gt=et.select(".bars2Wrap").datum(W.filter(function(t){return!t.disabled})),lt=et.select(".stack2Wrap").datum(Z.filter(function(t){return!t.disabled})),Mt=_.length?_.map(function(t){return t.values}).reduce(function(t,e){return t.map(function(t,n){return{x:t.x,y:t.y+e[n].y}})}).concat([{x:0,y:0}]):[],ht=Z.length?Z.map(function(t){return t.values}).reduce(function(t,e){return t.map(function(t,n){return{x:t.x,y:t.y+e[n].y}})}).concat([{x:0,y:0}]):[];N.domain(e||d3.extent(d3.merge(K).concat(Mt),function(t){return t.y})).range([0,G]),y.domain(n||d3.extent(d3.merge(q).concat(ht),function(t){return t.y})).range([0,G]),p.yDomain(N.domain()),D.yDomain(N.domain()),B.yDomain(N.domain()),m.yDomain(N.domain()),C.yDomain(y.domain()),x.yDomain(y.domain()),w.yDomain(y.domain()),Q.yDomain(y.domain()),_.length&&d3.transition(ct).call(m),Z.length&&d3.transition(lt).call(Q),V.length&&d3.transition(at).call(B),W.length&&d3.transition(gt).call(w),H.length&&d3.transition(At).call(p),J.length&&d3.transition(st).call(C),P.length&&d3.transition(ot).call(D),X.length&&d3.transition(ut).call(x),v._ticks(i.utils.calcTicksX(R/100,u)).tickSize(-G,0),et.select(".nv-x.nv-axis").attr("transform","translate(0,"+G+")"),d3.transition(et.select(".nv-x.nv-axis")).call(v),j._ticks(i.utils.calcTicksY(G/36,u)).tickSize(-R,0),d3.transition(et.select(".nv-y1.nv-axis")).call(j),L._ticks(i.utils.calcTicksY(G/36,u)).tickSize(-R,0),d3.transition(et.select(".nv-y2.nv-axis")).call(L),et.select(".nv-y1.nv-axis").classed("nv-disabled",!K.length).attr("transform","translate("+T.range()[0]+",0)"),et.select(".nv-y2.nv-axis").classed("nv-disabled",!q.length).attr("transform","translate("+T.range()[1]+",0)"),S.dispatch.on("stateChange",function(e){t.update()}),f&&(d.width(R).height(G).margin({left:r.left,top:r.top}).svgContainer(k).xScale(T),$.select(".nv-interactive").call(d)),f?(d.dispatch.on("elementMousemove",function(e){U();var n,r,A,a=[];u.filter(function(t,e){return t.seriesIndex=e,!t.disabled}).forEach(function(c,s){var u=T.domain(),g=c.values.filter(function(e,n){return t.x()(e,n)>=u[0]&&t.x()(e,n)<=u[1]});r=i.interactiveBisect(g,e.pointXValue,t.x());var l=g[r],M=t.y()(l,r);null!==M&&F(s,r,!0),void 0!==l&&(void 0===n&&(n=l),void 0===A&&(A=T(t.x()(l,r))),a.push({key:c.key,value:M,color:o(c,c.seriesIndex),data:l,yAxis:2==c.yAxis?L:j}))});var c=function(t,e){var n=a[e].yAxis;return null==t?"N/A":n.tickFormat()(t)};d.tooltip.headerFormatter(function(t,e){return v.tickFormat()(t,e)}).valueFormatter(d.tooltip.valueFormatter()||c).data({value:t.x()(n,r),index:r,series:a})(),d.renderGuideLine(A)}),d.dispatch.on("elementMouseout",function(t){U()})):(p.dispatch.on("elementMouseover.tooltip",h),C.dispatch.on("elementMouseover.tooltip",h),p.dispatch.on("elementMouseout.tooltip",function(t){Y.hidden(!0)}),C.dispatch.on("elementMouseout.tooltip",function(t){Y.hidden(!0)}),D.dispatch.on("elementMouseover.tooltip",E),x.dispatch.on("elementMouseover.tooltip",E),D.dispatch.on("elementMouseout.tooltip",function(t){Y.hidden(!0)}),x.dispatch.on("elementMouseout.tooltip",function(t){Y.hidden(!0)}),m.dispatch.on("elementMouseover.tooltip",b),Q.dispatch.on("elementMouseover.tooltip",b),m.dispatch.on("elementMouseout.tooltip",function(t){Y.hidden(!0)}),Q.dispatch.on("elementMouseout.tooltip",function(t){Y.hidden(!0)}),B.dispatch.on("elementMouseover.tooltip",z),w.dispatch.on("elementMouseover.tooltip",z),B.dispatch.on("elementMouseout.tooltip",function(t){Y.hidden(!0)}),w.dispatch.on("elementMouseout.tooltip",function(t){Y.hidden(!0)}),B.dispatch.on("elementMousemove.tooltip",function(t){Y()}),w.dispatch.on("elementMousemove.tooltip",function(t){Y()}))}),t}var e,n,r={top:30,right:20,bottom:50,left:60},A=null,o=i.utils.defaultColor(),a=null,c=null,s=!0,u=null,g=function(t){return t.x},l=function(t){return t.y},M="linear",h=!0,d=i.interactiveGuideline(),f=!1,I=" (right axis)",E=250,T=d3.scale.linear(),N=d3.scale.linear(),y=d3.scale.linear(),p=i.models.line().yScale(N).duration(E),C=i.models.line().yScale(y).duration(E),D=i.models.scatter().yScale(N).duration(E),x=i.models.scatter().yScale(y).duration(E),B=i.models.multiBar().stacked(!1).yScale(N).duration(E),w=i.models.multiBar().stacked(!1).yScale(y).duration(E),m=i.models.stackedArea().yScale(N).duration(E),Q=i.models.stackedArea().yScale(y).duration(E),v=i.models.axis().scale(T).orient("bottom").tickPadding(5).duration(E),j=i.models.axis().scale(N).orient("left").duration(E),L=i.models.axis().scale(y).orient("right").duration(E),S=i.models.legend().height(30),Y=i.models.tooltip(),b=d3.dispatch(),O=[p,C,D,x,B,w,m,Q];return t.dispatch=b,t.legend=S,t.lines1=p,t.lines2=C,t.scatters1=D,t.scatters2=x,t.bars1=B,t.bars2=w,t.stack1=m,t.stack2=Q,t.xAxis=v,t.yAxis1=j,t.yAxis2=L,t.tooltip=Y,t.interactiveLayer=d,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return a},set:function(t){a=t}},height:{get:function(){return c},set:function(t){c=t}},showLegend:{get:function(){return s},set:function(t){s=t}},yDomain1:{get:function(){return e},set:function(t){e=t}},yDomain2:{get:function(){return n},set:function(t){n=t}},noData:{get:function(){return u},set:function(t){u=t}},interpolate:{get:function(){return M},set:function(t){M=t}},legendRightAxisHint:{get:function(){return I},set:function(t){I=t}},margin:{get:function(){return r},set:function(t){void 0!==t.top&&(r.top=t.top,A=t.top),r.right=void 0!==t.right?t.right:r.right,r.bottom=void 0!==t.bottom?t.bottom:r.bottom,r.left=void 0!==t.left?t.left:r.left}},color:{get:function(){return o},set:function(t){o=i.utils.getColor(t)}},x:{get:function(){return g},set:function(t){g=t,p.x(t),C.x(t),D.x(t),x.x(t),B.x(t),w.x(t),m.x(t),Q.x(t)}},y:{get:function(){return l},set:function(t){l=t,p.y(t),C.y(t),D.y(t),x.y(t),m.y(t),Q.y(t),B.y(t),w.y(t)}},useVoronoi:{get:function(){return h},set:function(t){h=t,p.useVoronoi(t),C.useVoronoi(t),m.useVoronoi(t),Q.useVoronoi(t)}},useInteractiveGuideline:{get:function(){return f},set:function(t){(f=t)&&(p.interactive(!1),p.useVoronoi(!1),C.interactive(!1),C.useVoronoi(!1),m.interactive(!1),m.useVoronoi(!1),Q.interactive(!1),Q.useVoronoi(!1),D.interactive(!1),x.interactive(!1))}},duration:{get:function(){return E},set:function(t){E=t,[p,C,m,Q,D,x,v,j,L].forEach(function(t){t.duration(E)})}}}),i.utils.initOptions(t),t},i.models.ohlcBar=function(){"use strict";function t(D){return D.each(function(t){u=d3.select(this);var D=i.utils.availableWidth(a,u,o),B=i.utils.availableHeight(c,u,o);i.utils.initSVG(u);var w=D/t[0].values.length*.9;g.domain(e||d3.extent(t[0].values.map(M).concat(T))),y?g.range(r||[.5*D/t[0].values.length,D*(t[0].values.length-.5)/t[0].values.length]):g.range(r||[5+w/2,D-w/2-5]),l.domain(n||[d3.min(t[0].values.map(E).concat(N)),d3.max(t[0].values.map(I).concat(N))]).range(A||[B,0]),g.domain()[0]===g.domain()[1]&&(g.domain()[0]?g.domain([g.domain()[0]-.01*g.domain()[0],g.domain()[1]+.01*g.domain()[1]]):g.domain([-1,1])),l.domain()[0]===l.domain()[1]&&(l.domain()[0]?l.domain([l.domain()[0]+.01*l.domain()[0],l.domain()[1]-.01*l.domain()[1]]):l.domain([-1,1]));var m=d3.select(this).selectAll("g.nv-wrap.nv-ohlcBar").data([t[0].values]),Q=m.enter().append("g").attr("class","nvd3 nv-wrap nv-ohlcBar"),v=Q.append("defs"),j=Q.append("g"),L=m.select("g");j.append("g").attr("class","nv-ticks"),m.attr("transform","translate("+o.left+","+o.top+")"),u.on("click",function(t,e){x.chartClick({data:t,index:e,pos:d3.event,id:s})}),v.append("clipPath").attr("id","nv-chart-clip-path-"+s).append("rect"),m.select("#nv-chart-clip-path-"+s+" rect").attr("width",D).attr("height",B),L.attr("clip-path",p?"url(#nv-chart-clip-path-"+s+")":"");var S=m.select(".nv-ticks").selectAll(".nv-tick").data(function(t){return t});S.exit().remove(),S.enter().append("path").attr("class",function(t,e,n){return(d(t,e)>f(t,e)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+n+"-"+e}).attr("d",function(t,e){return"m0,0l0,"+(l(d(t,e))-l(I(t,e)))+"l"+-w/2+",0l"+w/2+",0l0,"+(l(E(t,e))-l(d(t,e)))+"l0,"+(l(f(t,e))-l(E(t,e)))+"l"+w/2+",0l"+-w/2+",0z"}).attr("transform",function(t,e){return"translate("+g(M(t,e))+","+l(I(t,e))+")"}).attr("fill",function(t,e){return C[0]}).attr("stroke",function(t,e){return C[0]}).attr("x",0).attr("y",function(t,e){return l(Math.max(0,h(t,e)))}).attr("height",function(t,e){return Math.abs(l(h(t,e))-l(0))}),S.attr("class",function(t,e,n){return(d(t,e)>f(t,e)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+n+"-"+e}),d3.transition(S).attr("transform",function(t,e){return"translate("+g(M(t,e))+","+l(I(t,e))+")"}).attr("d",function(e,n){var i=D/t[0].values.length*.9;return"m0,0l0,"+(l(d(e,n))-l(I(e,n)))+"l"+-i/2+",0l"+i/2+",0l0,"+(l(E(e,n))-l(d(e,n)))+"l0,"+(l(f(e,n))-l(E(e,n)))+"l"+i/2+",0l"+-i/2+",0z"})}),t}var e,n,r,A,o={top:0,right:0,bottom:0,left:0},a=null,c=null,s=Math.floor(1e4*Math.random()),u=null,g=d3.scale.linear(),l=d3.scale.linear(),M=function(t){return t.x},h=function(t){return t.y},d=function(t){return t.open},f=function(t){return t.close},I=function(t){return t.high},E=function(t){return t.low},T=[],N=[],y=!1,p=!0,C=i.utils.defaultColor(),D=!1,x=d3.dispatch("stateChange","changeState","renderEnd","chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove");return t.highlightPoint=function(e,n){t.clearHighlights(),u.select(".nv-ohlcBar .nv-tick-0-"+e).classed("hover",n)},t.clearHighlights=function(){u.select(".nv-ohlcBar .nv-tick.hover").classed("hover",!1)},t.dispatch=x,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return a},set:function(t){a=t}},height:{get:function(){return c},set:function(t){c=t}},xScale:{get:function(){return g},set:function(t){g=t}},yScale:{get:function(){return l},set:function(t){l=t}},xDomain:{get:function(){return e},set:function(t){e=t}},yDomain:{get:function(){return n},set:function(t){n=t}},xRange:{get:function(){return r},set:function(t){r=t}},yRange:{get:function(){return A},set:function(t){A=t}},forceX:{get:function(){return T},set:function(t){T=t}},forceY:{get:function(){return N},set:function(t){N=t}},padData:{get:function(){return y},set:function(t){y=t}},clipEdge:{get:function(){return p},set:function(t){p=t}},id:{get:function(){return s},set:function(t){s=t}},interactive:{get:function(){return D},set:function(t){D=t}},x:{get:function(){return M},set:function(t){M=t}},y:{get:function(){return h},set:function(t){h=t}},open:{get:function(){return d()},set:function(t){d=t}},close:{get:function(){return f()},set:function(t){f=t}},high:{get:function(){return I},set:function(t){I=t}},low:{get:function(){return E},set:function(t){E=t}},margin:{get:function(){return o},set:function(t){o.top=void 0!=t.top?t.top:o.top,o.right=void 0!=t.right?t.right:o.right,o.bottom=void 0!=t.bottom?t.bottom:o.bottom,o.left=void 0!=t.left?t.left:o.left}},color:{get:function(){return C},set:function(t){C=i.utils.getColor(t)}}}),i.utils.initOptions(t),t},i.models.parallelCoordinates=function(){"use strict";function t(w){return B.reset(),w.each(function(t){function B(t){return C(h.map(function(e){if(isNaN(t.values[e.key])||isNaN(parseFloat(t.values[e.key]))||k){var n=g[e.key].domain(),i=g[e.key].range(),r=n[0]-(n[1]-n[0])/9;if(y.indexOf(e.key)<0){var A=d3.scale.linear().domain([r,n[1]]).range([s-12,i[1]]);g[e.key].brush.y(A),y.push(e.key)}if(isNaN(t.values[e.key])||isNaN(parseFloat(t.values[e.key])))return[u(e.key),g[e.key](r)]}return void 0!==X&&(y.length>0||k?(X.style("display","inline"),V.style("display","inline")):(X.style("display","none"),V.style("display","none"))),[u(e.key),g[e.key](t.values[e.key])]}))}function w(t){E.forEach(function(e){var n=g[e.dimension].brush.y().domain();e.hasOnlyNaN&&(e.extent[1]=(g[e.dimension].domain()[1]-n[0])*(e.extent[1]-e.extent[0])/(F[e.dimension]-e.extent[0])+n[0]),e.hasNaN&&(e.extent[0]=n[0]),t&&g[e.dimension].brush.extent(e.extent)}),r.select(".nv-brushBackground").each(function(t){d3.select(this).call(g[t.key].brush)}).selectAll("rect").attr("x",-8).attr("width",16),j()}function m(){!1===f&&(f=!0,w(!0))}function Q(){q=d.filter(function(t){return!g[t].brush.empty()}),$=q.map(function(t){return g[t].brush.extent()}),E=[],q.forEach(function(t,e){E[e]={dimension:t,extent:$[e],hasNaN:!1,hasOnlyNaN:!1}}),T=[],e.style("display",function(t){var e=q.every(function(e,n){return!(!isNaN(t.values[e])&&!isNaN(parseFloat(t.values[e]))||$[n][0]!=g[e].brush.y().domain()[0])||$[n][0]<=t.values[e]&&t.values[e]<=$[n][1]&&!isNaN(parseFloat(t.values[e]))});return e&&T.push(t),e?null:"none"}),j(),x.brush({filters:E,active:T})}function v(){var t=q.length>0;E.forEach(function(t){t.extent[0]===g[t.dimension].brush.y().domain()[0]&&y.indexOf(t.dimension)>=0&&(t.hasNaN=!0),t.extent[1]<g[t.dimension].domain()[0]&&(t.hasOnlyNaN=!0)}),x.brushEnd(T,t)}function j(){r.select(".nv-axis").each(function(t,e){var n=E.filter(function(e){return e.dimension==t.key});R[t.key]=g[t.key].domain(),0!=n.length&&f&&(R[t.key]=[],n[0].extent[1]>g[t.key].domain()[0]&&(R[t.key]=[n[0].extent[1]]),n[0].extent[0]>=g[t.key].domain()[0]&&R[t.key].push(n[0].extent[0])),d3.select(this).call(D.scale(g[t.key]).tickFormat(t.format).tickValues(R[t.key]))})}function L(t){N[t.key]=this.parentNode.__origin__=u(t.key),n.attr("visibility","hidden")}function S(t){N[t.key]=Math.min(c,Math.max(0,this.parentNode.__origin__+=d3.event.x)),e.attr("d",B),h.sort(function(t,e){return b(t.key)-b(e.key)}),h.forEach(function(t,e){return t.currentPosition=e}),u.domain(h.map(function(t){return t.key})),r.attr("transform",function(t){return"translate("+b(t.key)+")"})}function Y(t,i){delete this.parentNode.__origin__,delete N[t.key],d3.select(this.parentNode).attr("transform","translate("+u(t.key)+")"),e.attr("d",B),n.attr("d",B).attr("visibility",null),x.dimensionsOrder(h)}function b(t){var e=N[t];return null==e?u(t):e}var O=d3.select(this);if(c=i.utils.availableWidth(o,O,A),s=i.utils.availableHeight(a,O,A),i.utils.initSVG(O),void 0===t[0].values){var z=[];t.forEach(function(t){var e={};Object.keys(t).forEach(function(n){"name"!==n&&(e[n]=t[n])}),z.push({key:t.name,values:e})}),t=z}var U=t.map(function(t){return t.values});0===T.length&&(T=t),d=M.sort(function(t,e){return t.currentPosition-e.currentPosition}).map(function(t){return t.key}),h=M.filter(function(t){return!t.disabled}),u.rangePoints([0,c],1).domain(h.map(function(t){return t.key}));var F={},k=!1,R=[];d.forEach(function(t){var e=d3.extent(U,function(e){return+e[t]}),n=e[0],i=e[1],r=!1;(isNaN(n)||isNaN(i))&&(r=!0,n=0,i=0),n===i&&(n-=1,i+=1);var A=E.filter(function(e){return e.dimension==t});0!==A.length&&(r?(n=g[t].domain()[0],i=g[t].domain()[1]):!A[0].hasOnlyNaN&&f?(n=n>A[0].extent[0]?A[0].extent[0]:n,i=i<A[0].extent[1]?A[0].extent[1]:i):A[0].hasNaN&&(i=i<A[0].extent[1]?A[0].extent[1]:i,F[t]=g[t].domain()[1],k=!0)),g[t]=d3.scale.linear().domain([n,i]).range([.9*(s-12),0]),y=[],g[t].brush=d3.svg.brush().y(g[t]).on("brushstart",m).on("brush",Q).on("brushend",v)});var G=O.selectAll("g.nv-wrap.nv-parallelCoordinates").data([t]),H=G.enter().append("g").attr("class","nvd3 nv-wrap nv-parallelCoordinates"),J=H.append("g"),P=G.select("g");J.append("g").attr("class","nv-parallelCoordinates background"),J.append("g").attr("class","nv-parallelCoordinates foreground"),J.append("g").attr("class","nv-parallelCoordinates missingValuesline"),G.attr("transform","translate("+A.left+","+A.top+")"),C.interpolate("cardinal").tension(p),D.orient("left");var X,V,W=d3.behavior.drag().on("dragstart",L).on("drag",S).on("dragend",Y),_=u.range()[1]-u.range()[0];if(_=isNaN(_)?u.range()[0]:_,!isNaN(_)){var Z=[0+_/2,s-12,c-_/2,s-12];X=G.select(".missingValuesline").selectAll("line").data([Z]),X.enter().append("line"),X.exit().remove(),X.attr("x1",function(t){return t[0]}).attr("y1",function(t){return t[1]}).attr("x2",function(t){return t[2]}).attr("y2",function(t){return t[3]}),V=G.select(".missingValuesline").selectAll("text").data([l]),V.append("text").data([l]),V.enter().append("text"),V.exit().remove(),V.attr("y",s).attr("x",c-92-_/2).text(function(t){return t})}n=G.select(".background").selectAll("path").data(t),n.enter().append("path"),n.exit().remove(),n.attr("d",B),e=G.select(".foreground").selectAll("path").data(t),e.enter().append("path"),e.exit().remove(),e.attr("d",B).style("stroke-width",function(t,e){return isNaN(t.strokeWidth)&&(t.strokeWidth=1),t.strokeWidth}).attr("stroke",function(t,e){return t.color||I(t,e)}),e.on("mouseover",function(t,e){d3.select(this).classed("hover",!0).style("stroke-width",t.strokeWidth+2+"px").style("stroke-opacity",1),x.elementMouseover({label:t.name,color:t.color||I(t,e),values:t.values,dimensions:h})}),e.on("mouseout",function(t,e){d3.select(this).classed("hover",!1).style("stroke-width",t.strokeWidth+"px").style("stroke-opacity",.7),x.elementMouseout({label:t.name,index:e})}),e.on("mousemove",function(t,e){x.elementMousemove()}),e.on("click",function(t){x.elementClick({id:t.id})}),r=P.selectAll(".dimension").data(h);var K=r.enter().append("g").attr("class","nv-parallelCoordinates dimension");r.attr("transform",function(t){return"translate("+u(t.key)+",0)"}),K.append("g").attr("class","nv-axis"),K.append("text").attr("class","nv-label").style("cursor","move").attr("dy","-1em").attr("text-anchor","middle").on("mouseover",function(t,e){x.elementMouseover({label:t.tooltip||t.key,color:t.color})}).on("mouseout",function(t,e){x.elementMouseout({label:t.tooltip})}).on("mousemove",function(t,e){x.elementMousemove()}).call(W),K.append("g").attr("class","nv-brushBackground"),r.exit().remove(),r.select(".nv-label").text(function(t){return t.key}),w(f);var q=d.filter(function(t){return!g[t].brush.empty()}),$=q.map(function(t){return g[t].brush.extent()}),tt=T.slice(0);T=[],e.style("display",function(t){var e=q.every(function(e,n){return!(!isNaN(t.values[e])&&!isNaN(parseFloat(t.values[e]))||$[n][0]!=g[e].brush.y().domain()[0])||$[n][0]<=t.values[e]&&t.values[e]<=$[n][1]&&!isNaN(parseFloat(t.values[e]))});return e&&T.push(t),e?null:"none"}),(E.length>0||!i.utils.arrayEquals(T,tt))&&x.activeChanged(T)}),t}var e,n,r,A={top:30,right:0,bottom:10,left:0},o=null,a=null,c=null,s=null,u=d3.scale.ordinal(),g={},l="undefined values",M=[],h=[],d=[],f=!0,I=i.utils.defaultColor(),E=[],T=[],N=[],y=[],p=1,C=d3.svg.line(),D=d3.svg.axis(),x=d3.dispatch("brushstart","brush","brushEnd","dimensionsOrder","stateChange","elementClick","elementMouseover","elementMouseout","elementMousemove","renderEnd","activeChanged"),B=i.utils.renderWatch(x);return t.dispatch=x,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return o},set:function(t){o=t}},height:{get:function(){return a},set:function(t){a=t}},dimensionData:{get:function(){return M},set:function(t){M=t}},displayBrush:{get:function(){return f},set:function(t){f=t}},filters:{get:function(){return E},set:function(t){E=t}},active:{get:function(){return T},set:function(t){T=t}},lineTension:{get:function(){return p},set:function(t){p=t}},undefinedValuesLabel:{get:function(){return l},set:function(t){l=t}},dimensions:{get:function(){return M.map(function(t){return t.key})},set:function(t){i.deprecated("dimensions","use dimensionData instead"),0===M.length?t.forEach(function(t){M.push({key:t})}):t.forEach(function(t,e){M[e].key=t})}},dimensionNames:{get:function(){return M.map(function(t){return t.key})},set:function(t){i.deprecated("dimensionNames","use dimensionData instead"),d=[],0===M.length?t.forEach(function(t){M.push({key:t})}):t.forEach(function(t,e){M[e].key=t})}},dimensionFormats:{get:function(){return M.map(function(t){return t.format})},set:function(t){i.deprecated("dimensionFormats","use dimensionData instead"),0===M.length?t.forEach(function(t){M.push({format:t})}):t.forEach(function(t,e){M[e].format=t})}},margin:{get:function(){return A},set:function(t){A.top=void 0!==t.top?t.top:A.top,A.right=void 0!==t.right?t.right:A.right,A.bottom=void 0!==t.bottom?t.bottom:A.bottom,A.left=void 0!==t.left?t.left:A.left}},color:{get:function(){return I},set:function(t){I=i.utils.getColor(t)}}}),i.utils.initOptions(t),t},i.models.parallelCoordinatesChart=function(){"use strict";function t(r){return E.reset(),E.models(e),r.each(function(r){var u=d3.select(this);i.utils.initSVG(u);var d=i.utils.availableWidth(a,u,A),f=i.utils.availableHeight(c,u,A);if(t.update=function(){u.call(t)},t.container=this,g.setter(N(l),t.update).getter(T(l)).update(),g.disabled=l.map(function(t){return!!t.disabled}),l=l.map(function(t){return t.disabled=!!t.disabled,t}),l.forEach(function(t,e){t.originalPosition=isNaN(t.originalPosition)?e:t.originalPosition,t.currentPosition=isNaN(t.currentPosition)?e:t.currentPosition}),!h){var E;h={};for(E in g)g[E]instanceof Array?h[E]=g[E].slice(0):h[E]=g[E]}if(!r||!r.length)return i.utils.noData(t,u),t;u.selectAll(".nv-noData").remove();var y=u.selectAll("g.nv-wrap.nv-parallelCoordinatesChart").data([r]),p=y.enter().append("g").attr("class","nvd3 nv-wrap nv-parallelCoordinatesChart").append("g"),C=y.select("g");p.append("g").attr("class","nv-parallelCoordinatesWrap"),p.append("g").attr("class","nv-legendWrap"),C.select("rect").attr("width",d).attr("height",f>0?f:0),s?(n.width(d).color(function(t){return"rgb(188,190,192)"}),C.select(".nv-legendWrap").datum(l.sort(function(t,e){return t.originalPosition-e.originalPosition})).call(n),o||n.height()===A.top||(A.top=n.height(),f=i.utils.availableHeight(c,u,A)),y.select(".nv-legendWrap").attr("transform","translate( 0 ,"+-A.top+")")):C.select(".nv-legendWrap").selectAll("*").remove(),y.attr("transform","translate("+A.left+","+A.top+")"),e.width(d).height(f).dimensionData(l).displayBrush(M),C.select(".nv-parallelCoordinatesWrap ").datum(r).transition().call(e),e.dispatch.on("brushEnd",function(t,e){e?(M=!0,I.brushEnd(t)):M=!1}),n.dispatch.on("stateChange",function(e){for(var n in e)g[n]=e[n];I.stateChange(g),t.update()}),e.dispatch.on("dimensionsOrder",function(t){l.sort(function(t,e){return t.currentPosition-e.currentPosition});var e=!1;l.forEach(function(t,n){t.currentPosition=n,t.currentPosition!==t.originalPosition&&(e=!0)}),I.dimensionsOrder(l,e)}),I.on("changeState",function(e){void 0!==e.disabled&&(l.forEach(function(t,n){t.disabled=e.disabled[n]}),g.disabled=e.disabled),t.update()})}),E.renderEnd("parraleleCoordinateChart immediate"),t}var e=i.models.parallelCoordinates(),n=i.models.legend(),r=i.models.tooltip(),A=(i.models.tooltip(),{top:0,right:0,bottom:0,left:0}),o=null,a=null,c=null,s=!0,u=i.utils.defaultColor(),g=i.utils.state(),l=[],M=!0,h=null,d=null,f="undefined",I=d3.dispatch("dimensionsOrder","brushEnd","stateChange","changeState","renderEnd"),E=i.utils.renderWatch(I),T=function(t){return function(){return{active:t.map(function(t){return!t.disabled})}}},N=function(t){return function(e){void 0!==e.active&&t.forEach(function(t,n){t.disabled=!e.active[n]})}};return r.contentGenerator(function(t){var e='<table><thead><tr><td class="legend-color-guide"><div style="background-color:'+t.color+'"></div></td><td><strong>'+t.key+"</strong></td></tr></thead>";return 0!==t.series.length&&(e+='<tbody><tr><td height ="10px"></td></tr>',t.series.forEach(function(t){e=e+'<tr><td class="legend-color-guide"><div style="background-color:'+t.color+'"></div></td><td class="key">'+t.key+'</td><td class="value">'+t.value+"</td></tr>"}),e+="</tbody>"),e+="</table>"}),e.dispatch.on("elementMouseover.tooltip",function(t){var e={key:t.label,color:t.color,series:[]};t.values&&(Object.keys(t.values).forEach(function(n){var i=t.dimensions.filter(function(t){return t.key===n})[0];if(i){var r;r=isNaN(t.values[n])||isNaN(parseFloat(t.values[n]))?f:i.format(t.values[n]),e.series.push({idx:i.currentPosition,key:n,value:r,color:i.color})}}),e.series.sort(function(t,e){return t.idx-e.idx})),r.data(e).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(t){r.hidden(!0)}),e.dispatch.on("elementMousemove.tooltip",function(){r()}),t.dispatch=I,t.parallelCoordinates=e,t.legend=n,t.tooltip=r,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return a},set:function(t){a=t}},height:{get:function(){return c},set:function(t){c=t}},showLegend:{get:function(){return s},set:function(t){s=t}},defaultState:{get:function(){return h},set:function(t){h=t}},dimensionData:{get:function(){return l},set:function(t){l=t}},displayBrush:{get:function(){return M},set:function(t){M=t}},noData:{get:function(){return d},set:function(t){d=t}},nanValue:{get:function(){return f},set:function(t){f=t}},margin:{get:function(){return A},set:function(t){void 0!==t.top&&(A.top=t.top,o=t.top),A.right=void 0!==t.right?t.right:A.right,A.bottom=void 0!==t.bottom?t.bottom:A.bottom,A.left=void 0!==t.left?t.left:A.left}},color:{get:function(){return u},set:function(t){u=i.utils.getColor(t),n.color(u),e.color(u)}}}),i.utils.inheritOptions(t,e),i.utils.initOptions(t),t},i.models.pie=function(){"use strict";function t(j){return v.reset(),j.each(function(t){function j(t,e){t.endAngle=isNaN(t.endAngle)?0:t.endAngle,t.startAngle=isNaN(t.startAngle)?0:t.startAngle,d||(t.innerRadius=0);var n=d3.interpolate(this._current,t);return this._current=n(0),function(t){return m[e](n(t))}}var L=n-e.left-e.right,S=r-e.top-e.bottom,Y=Math.min(L,S)/2,b=[],O=[];if(c=d3.select(this),0===B.length)for(var z=Y-Y/5,U=D*Y,F=0;F<t[0].length;F++)b.push(z),O.push(U);else I?(b=B.map(function(t){return(t.outer-t.outer/5)*Y}),O=B.map(function(t){return(t.inner-t.inner/5)*Y}),D=d3.min(B.map(function(t){return t.inner-t.inner/5}))):(b=B.map(function(t){return t.outer*Y}),O=B.map(function(t){return t.inner*Y}),D=d3.min(B.map(function(t){return t.inner})));i.utils.initSVG(c);var k=c.selectAll(".nv-wrap.nv-pie").data(t),R=k.enter().append("g").attr("class","nvd3 nv-wrap nv-pie nv-chart-"+a),G=R.append("g"),H=k.select("g"),J=G.append("g").attr("class","nv-pie");G.append("g").attr("class","nv-pieLabels"),k.attr("transform","translate("+e.left+","+e.top+")"),H.select(".nv-pie").attr("transform","translate("+L/2+","+S/2+")"),H.select(".nv-pieLabels").attr("transform","translate("+L/2+","+S/2+")"),c.on("click",function(t,e){w.chartClick({data:t,index:e,pos:d3.event,id:a})}),m=[],Q=[];for(var F=0;F<t[0].length;F++){var P=d3.svg.arc().outerRadius(b[F]),X=d3.svg.arc().outerRadius(b[F]+5);!1!==N&&(P.startAngle(N),X.startAngle(N)),!1!==p&&(P.endAngle(p),X.endAngle(p)),d&&(P.innerRadius(O[F]),X.innerRadius(O[F])),P.cornerRadius&&C&&(P.cornerRadius(C),X.cornerRadius(C)),m.push(P),Q.push(X)}var V=d3.layout.pie().sort(null).value(function(t){return t.disabled?0:o(t)});V.padAngle&&y&&V.padAngle(y),d&&f&&(J.append("text").attr("class","nv-pie-title"),k.select(".nv-pie-title").style("text-anchor","middle").text(function(t){return f}).style("font-size",Math.min(L,S)*D*2/(f.length+2)+"px").attr("dy","0.35em").attr("transform",function(t,e){return"translate(0, "+E+")"}));var W=k.select(".nv-pie").selectAll(".nv-slice").data(V),_=k.select(".nv-pieLabels").selectAll(".nv-label").data(V);W.exit().remove(),_.exit().remove();var Z=W.enter().append("g");Z.attr("class","nv-slice"),Z.on("mouseover",function(t,e){d3.select(this).classed("hover",!0),I&&d3.select(this).select("path").transition().duration(70).attr("d",Q[e]),w.elementMouseover({data:t.data,index:e,color:d3.select(this).style("fill"),percent:(t.endAngle-t.startAngle)/(2*Math.PI)})}),Z.on("mouseout",function(t,e){d3.select(this).classed("hover",!1),I&&d3.select(this).select("path").transition().duration(50).attr("d",m[e]),w.elementMouseout({data:t.data,index:e})}),Z.on("mousemove",function(t,e){w.elementMousemove({data:t.data,index:e})}),Z.on("click",function(t,e){var n=this;w.elementClick({data:t.data,index:e,color:d3.select(this).style("fill"),event:d3.event,element:n})}),Z.on("dblclick",function(t,e){w.elementDblClick({data:t.data,index:e,color:d3.select(this).style("fill")})}),W.attr("fill",function(t,e){return s(t.data,e)}),W.attr("stroke",function(t,e){return s(t.data,e)});Z.append("path").each(function(t){this._current=t});if(W.select("path").transition().duration(x).attr("d",function(t,e){return m[e](t)}).attrTween("d",j),g){for(var K=[],F=0;F<t[0].length;F++)K.push(m[F]),l?d&&(K[F]=d3.svg.arc().outerRadius(m[F].outerRadius()),!1!==N&&K[F].startAngle(N),!1!==p&&K[F].endAngle(p)):d||K[F].innerRadius(0);_.enter().append("g").classed("nv-label",!0).each(function(t,e){var n=d3.select(this);n.attr("transform",function(t,e){if(T){t.outerRadius=b[e]+10,t.innerRadius=b[e]+15;var n=(t.startAngle+t.endAngle)/2*(180/Math.PI);return(t.startAngle+t.endAngle)/2<Math.PI?n-=90:n+=90,"translate("+K[e].centroid(t)+") rotate("+n+")"}return t.outerRadius=Y+10,t.innerRadius=Y+15,"translate("+K[e].centroid(t)+")"}),n.append("rect").style("stroke","#fff").style("fill","#fff").attr("rx",3).attr("ry",3),n.append("text").style("text-anchor",T?(t.startAngle+t.endAngle)/2<Math.PI?"start":"end":"middle").style("fill","#000")});var q={},$=function(t){return 140*Math.floor(t[0]/140)+","+14*Math.floor(t[1]/14)},tt=function(t){return(t.endAngle-t.startAngle)/(2*Math.PI)};_.watchTransition(v,"pie labels").attr("transform",function(t,e){if(T){t.outerRadius=b[e]+10,t.innerRadius=b[e]+15;var n=(t.startAngle+t.endAngle)/2*(180/Math.PI);return(t.startAngle+t.endAngle)/2<Math.PI?n-=90:n+=90,"translate("+K[e].centroid(t)+") rotate("+n+")"}t.outerRadius=Y+10,t.innerRadius=Y+15;var i=K[e].centroid(t),r=tt(t);if(t.value&&r>=h){var A=$(i);q[A]&&(i[1]-=14),q[$(i)]=!0}return"translate("+i+")"}),_.select(".nv-label text").style("text-anchor",function(t,e){return T?(t.startAngle+t.endAngle)/2<Math.PI?"start":"end":"middle"}).text(function(t,e){var n=tt(t),i="";if(!t.value||n<h)return"";if("function"==typeof M)i=M(t,e,{key:A(t.data),value:o(t.data),percent:u(n)});else switch(M){case"key":i=A(t.data);break;case"value":i=u(o(t.data));break;case"percent":i=d3.format("%")(n)}return i})}}),v.renderEnd("pie immediate"),t}var e={top:0,right:0,bottom:0,left:0},n=500,r=500,A=function(t){return t.x},o=function(t){return t.y},a=Math.floor(1e4*Math.random()),c=null,s=i.utils.defaultColor(),u=d3.format(",.2f"),g=!0,l=!1,M="key",h=.02,d=!1,f=!1,I=!0,E=0,T=!1,N=!1,y=!1,p=!1,C=0,D=.5,x=250,B=[],w=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),m=[],Q=[],v=i.utils.renderWatch(w);return t.dispatch=w,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{arcsRadius:{get:function(){return B},set:function(t){B=t}},width:{get:function(){return n},set:function(t){n=t}},height:{get:function(){return r},set:function(t){r=t}},showLabels:{get:function(){return g},set:function(t){g=t}},title:{get:function(){return f},set:function(t){f=t}},titleOffset:{get:function(){return E},set:function(t){E=t}},labelThreshold:{get:function(){return h},set:function(t){h=t}},valueFormat:{get:function(){return u},set:function(t){u=t}},x:{get:function(){return A},set:function(t){A=t}},id:{get:function(){return a},set:function(t){a=t}},endAngle:{get:function(){return p},set:function(t){p=t}},startAngle:{get:function(){return N},set:function(t){N=t}},padAngle:{get:function(){return y},set:function(t){y=t}},cornerRadius:{get:function(){return C},set:function(t){C=t}},donutRatio:{get:function(){return D},set:function(t){D=t}},labelsOutside:{get:function(){return l},set:function(t){l=t}},labelSunbeamLayout:{get:function(){return T},set:function(t){T=t}},donut:{get:function(){return d},set:function(t){d=t}},growOnHover:{get:function(){return I},set:function(t){I=t}},pieLabelsOutside:{get:function(){return l},set:function(t){l=t,i.deprecated("pieLabelsOutside","use labelsOutside instead")}},donutLabelsOutside:{get:function(){return l},set:function(t){l=t,i.deprecated("donutLabelsOutside","use labelsOutside instead")}},labelFormat:{get:function(){return u},set:function(t){u=t,i.deprecated("labelFormat","use valueFormat instead")}},margin:{get:function(){return e},set:function(t){e.top=void 0!==t.top?t.top:e.top,e.right=void 0!==t.right?t.right:e.right,e.bottom=void 0!==t.bottom?t.bottom:e.bottom,e.left=void 0!==t.left?t.left:e.left}},duration:{get:function(){return x},set:function(t){x=t,v.reset(x)}},y:{get:function(){return o},set:function(t){o=d3.functor(t)}},color:{get:function(){return s},set:function(t){s=i.utils.getColor(t)}},labelType:{get:function(){return M},set:function(t){M=t||"key"}}}),i.utils.initOptions(t),t},i.models.pieChart=function(){"use strict";function t(r){return E.reset(),E.models(e),r.each(function(r){var s=d3.select(this);i.utils.initSVG(s);var l=i.utils.availableWidth(a,s,A),d=i.utils.availableHeight(c,s,A);if(t.update=function(){s.transition().call(t)},t.container=this,M.setter(N(r),t.update).getter(T(r)).update(),M.disabled=r.map(function(t){return!!t.disabled}),!h){var f;h={};for(f in M)M[f]instanceof Array?h[f]=M[f].slice(0):h[f]=M[f]}if(!r||!r.length)return i.utils.noData(t,s),t;s.selectAll(".nv-noData").remove();var E=s.selectAll("g.nv-wrap.nv-pieChart").data([r]),y=E.enter().append("g").attr("class","nvd3 nv-wrap nv-pieChart").append("g"),p=E.select("g");if(y.append("g").attr("class","nv-pieWrap"),y.append("g").attr("class","nv-legendWrap"),u){if("top"===g)n.width(l).key(e.x()),E.select(".nv-legendWrap").datum(r).call(n),o||n.height()===A.top||(A.top=n.height(),d=i.utils.availableHeight(c,s,A)),E.select(".nv-legendWrap").attr("transform","translate(0,"+-A.top+")");else if("right"===g){var C=i.models.legend().width();l/2<C&&(C=l/2),n.height(d).key(e.x()),n.width(C),l-=n.width(),E.select(".nv-legendWrap").datum(r).call(n).attr("transform","translate("+l+",0)")}}else p.select(".nv-legendWrap").selectAll("*").remove();E.attr("transform","translate("+A.left+","+A.top+")"),e.width(l).height(d);var D=p.select(".nv-pieWrap").datum([r]);d3.transition(D).call(e),n.dispatch.on("stateChange",function(e){for(var n in e)M[n]=e[n];I.stateChange(M),t.update()}),I.on("changeState",function(e){void 0!==e.disabled&&(r.forEach(function(t,n){t.disabled=e.disabled[n]}),M.disabled=e.disabled),t.update()})}),E.renderEnd("pieChart immediate"),t}var e=i.models.pie(),n=i.models.legend(),r=i.models.tooltip(),A={top:30,right:20,bottom:20,left:20},o=null,a=null,c=null,s=!1,u=!0,g="top",l=i.utils.defaultColor(),M=i.utils.state(),h=null,d=null,f=250,I=d3.dispatch("stateChange","changeState","renderEnd");r.duration(0).headerEnabled(!1).valueFormatter(function(t,n){return e.valueFormat()(t,n)});var E=i.utils.renderWatch(I),T=function(t){return function(){return{active:t.map(function(t){return!t.disabled})}}},N=function(t){return function(e){void 0!==e.active&&t.forEach(function(t,n){t.disabled=!e.active[n]})}};return e.dispatch.on("elementMouseover.tooltip",function(e){e.series={key:t.x()(e.data),value:t.y()(e.data),color:e.color,percent:e.percent},s||(delete e.percent,delete e.series.percent),r.data(e).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(t){r.hidden(!0)}),e.dispatch.on("elementMousemove.tooltip",function(t){r()}),t.legend=n,t.dispatch=I,t.pie=e,t.tooltip=r,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return a},set:function(t){a=t}},height:{get:function(){return c},set:function(t){c=t}},noData:{get:function(){return d},set:function(t){d=t}},showTooltipPercent:{get:function(){return s},set:function(t){s=t}},showLegend:{get:function(){return u},set:function(t){u=t}},legendPosition:{get:function(){return g},set:function(t){g=t}},defaultState:{get:function(){return h},set:function(t){h=t}},color:{get:function(){return l},set:function(t){l=t,n.color(l),e.color(l)}},duration:{get:function(){return f},set:function(t){f=t,E.reset(f),e.duration(f)}},margin:{get:function(){return A},set:function(t){void 0!==t.top&&(A.top=t.top,o=t.top),A.right=void 0!==t.right?t.right:A.right,A.bottom=void 0!==t.bottom?t.bottom:A.bottom,A.left=void 0!==t.left?t.left:A.left}}}),i.utils.inheritOptions(t,e),i.utils.initOptions(t),t},i.models.sankey=function(){"use strict";function t(){M.forEach(function(t){t.sourceLinks=[],t.targetLinks=[]}),h.forEach(function(t){var e=t.source,n=t.target;"number"==typeof e&&(e=t.source=M[t.source]),"number"==typeof n&&(n=t.target=M[t.target]),e.sourceLinks.push(t),n.targetLinks.push(t)})}function e(){M.forEach(function(t){t.value=Math.max(d3.sum(t.sourceLinks,c),d3.sum(t.targetLinks,c))})}function n(){for(var t,e=M,n=0;e.length&&n<M.length;)t=[],e.forEach(function(e){e.x=n,e.dx=u,e.sourceLinks.forEach(function(e){t.indexOf(e.target)<0&&t.push(e.target)})}),e=t,++n;d&&r(n),A((l[0]-u)/(n-1))}function r(t){M.forEach(function(e){e.sourceLinks.length||(e.x=t-1)})}function A(t){M.forEach(function(e){e.x*=t})}function o(t){function e(){i.forEach(function(t){var e,i,r,A=0,o=t.length;for(t.sort(n),r=0;r<o;++r)e=t[r],i=A-e.y,i>0&&(e.y+=i),A=e.y+e.dy+g;if((i=A-g-l[1])>0)for(A=e.y-=i,r=o-2;r>=0;--r)e=t[r],i=e.y+e.dy+g-A,i>0&&(e.y-=i),A=e.y})}function n(t,e){return t.y-e.y}var i=d3.nest().key(function(t){return t.x}).sortKeys(d3.ascending).entries(M).map(function(t){return t.values});!function(){var t=d3.min(i,function(t){return(l[1]-(t.length-1)*g)/d3.sum(t,c)});i.forEach(function(e){e.forEach(function(e,n){e.y=n,e.dy=e.value*t})}),h.forEach(function(e){e.dy=e.value*t})}(),e(),a();for(var r=1;t>0;--t)!function(t){function e(t){return(t.target.y+t.ty+t.dy/2)*t.value}i.slice().reverse().forEach(function(n){n.forEach(function(n){if(n.sourceLinks.length){var i=d3.sum(n.sourceLinks,e)/d3.sum(n.sourceLinks,c);n.y+=(i-T(n))*t}})})}(r*=.99),e(),a(),function(t){function e(t){return(t.source.y+t.sy+t.dy/2)*t.value}i.forEach(function(n,i){n.forEach(function(n){if(n.targetLinks.length){var i=d3.sum(n.targetLinks,e)/d3.sum(n.targetLinks,c);n.y+=(i-T(n))*t}})})}(r),e(),a()}function a(){function t(t,e){return t.source.y-e.source.y}function e(t,e){return t.target.y-e.target.y}M.forEach(function(n){n.sourceLinks.sort(e),n.targetLinks.sort(t)}),M.forEach(function(t){var e=0,n=0;t.sourceLinks.forEach(function(t){t.sy=e,e+=t.dy}),t.targetLinks.forEach(function(t){t.ty=n,n+=t.dy})})}function c(t){return t.value}var s={},u=24,g=8,l=[1,1],M=[],h=[],d=!0,f=function(i){t(),e(),n(),o(i)},I=function(){a()},E=function(){function t(t){var n=t.source.x+t.source.dx,i=t.target.x,r=d3.interpolateNumber(n,i),A=r(e),o=r(1-e),a=t.source.y+t.sy+t.dy/2,c=t.target.y+t.ty+t.dy/2;return"M"+n+","+a+"C"+A+","+a+" "+o+","+c+" "+i+","+c}var e=.5;return t.curvature=function(n){return arguments.length?(e=+n,t):e},t},T=function(t){return t.y+t.dy/2};return s.options=i.utils.optionsFunc.bind(s),s._options=Object.create({},{nodeWidth:{get:function(){return u},set:function(t){u=+t}},nodePadding:{get:function(){return g},set:function(t){g=t}},nodes:{get:function(){return M},set:function(t){M=t}},links:{get:function(){return h},set:function(t){h=t}},size:{get:function(){return l},set:function(t){l=t}},sinksRight:{get:function(){return d},set:function(t){d=t}},layout:{get:function(){f(32)},set:function(t){f(t)}},relayout:{get:function(){I()},set:function(t){}},center:{get:function(){return T()},set:function(t){"function"==typeof t&&(T=t)}},link:{get:function(){return E()},set:function(t){return"function"==typeof t&&(E=t),E()}}}),i.utils.initOptions(s),s},i.models.sankeyChart=function(){"use strict";function t(e){return e.each(function(t){function i(t){d3.select(this).attr("transform","translate("+t.x+","+(t.y=Math.max(0,Math.min(A-t.dy,d3.event.y)))+")"),n.relayout(),T.attr("d",E)}var c={nodes:[{node:1,name:"Test 1"},{node:2,name:"Test 2"},{node:3,name:"Test 3"},{node:4,name:"Test 4"},{node:5,name:"Test 5"},{node:6,name:"Test 6"}],links:[{source:0,target:1,value:2295},{source:0,target:5,value:1199},{source:1,target:2,value:1119},{source:1,target:5,value:1176},{source:2,target:3,value:487},{source:2,target:5,value:632},{source:3,target:4,value:301},{source:3,target:5,value:186}]},u=!1,g=!1;if(("object"==typeof t.nodes&&t.nodes.length)>=0&&("object"==typeof t.links&&t.links.length)>=0&&(u=!0),t.nodes&&t.nodes.length>0&&t.links&&t.links.length>0&&(g=!0),!u)return console.error("NVD3 Sankey chart error:","invalid data format for",t),console.info("Valid data format is: ",c,JSON.stringify(c)),I(e,"Error loading chart, data is invalid"),!1;if(!g)return I(e,"No data available"),!1;var l=e.append("svg").attr("width",r).attr("height",A).append("g").attr("class","nvd3 nv-wrap nv-sankeyChart");n.nodeWidth(o).nodePadding(a).size([r,A]);var E=n.link();n.nodes(t.nodes).links(t.links).layout(32).center(s);var T=l.append("g").selectAll(".link").data(t.links).enter().append("path").attr("class","link").attr("d",E).style("stroke-width",function(t){return Math.max(1,t.dy)}).sort(function(t,e){return e.dy-t.dy});T.append("title").text(M);var N=l.append("g").selectAll(".node").data(t.nodes).enter().append("g").attr("class","node").attr("transform",function(t){return"translate("+t.x+","+t.y+")"}).call(d3.behavior.drag().origin(function(t){return t}).on("dragstart",function(){this.parentNode.appendChild(this)}).on("drag",i));N.append("rect").attr("height",function(t){return t.dy}).attr("width",n.nodeWidth()).style("fill",h).style("stroke",d).append("title").text(f),N.append("text").attr("x",-6).attr("y",function(t){return t.dy/2}).attr("dy",".35em").attr("text-anchor","end").attr("transform",null).text(function(t){return t.name}).filter(function(t){return t.x<r/2}).attr("x",6+n.nodeWidth()).attr("text-anchor","start")}),t}var e={top:5,right:0,bottom:5,left:0},n=i.models.sankey(),r=600,A=400,o=36,a=40,c="units",s=void 0,u=d3.format(",.0f"),g=function(t){return u(t)+" "+c},l=d3.scale.category20(),M=function(t){return t.source.name+" → "+t.target.name+"\n"+g(t.value)},h=function(t){return t.color=l(t.name.replace(/ .*/,""))},d=function(t){return d3.rgb(t.color).darker(2)},f=function(t){return t.name+"\n"+g(t.value)},I=function(t,e){t.append("text").attr("x",0).attr("y",0).attr("class","nvd3-sankey-chart-error").attr("text-anchor","middle").text(e)};return t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{units:{get:function(){return c},set:function(t){c=t}},width:{get:function(){return r},set:function(t){r=t}},height:{get:function(){return A},set:function(t){A=t}},format:{get:function(){return g},set:function(t){g=t}},linkTitle:{get:function(){return M},set:function(t){M=t}},nodeWidth:{get:function(){return o},set:function(t){o=t}},nodePadding:{get:function(){return a},set:function(t){a=t}},center:{get:function(){return s},set:function(t){s=t}},margin:{get:function(){return e},set:function(t){e.top=void 0!==t.top?t.top:e.top,e.right=void 0!==t.right?t.right:e.right,e.bottom=void 0!==t.bottom?t.bottom:e.bottom,e.left=void 0!==t.left?t.left:e.left}},nodeStyle:{get:function(){return{}},set:function(t){h=void 0!==t.fillColor?t.fillColor:h,d=void 0!==t.strokeColor?t.strokeColor:d,f=void 0!==t.title?t.title:f}}}),i.utils.initOptions(t),t},i.models.scatter=function(){"use strict";function t(t){var e;return e=t[0].series+":"+t[1],K[e]=K[e]||{}}function e(t){var e;e=t[0].series+":"+t[1],delete K[e]}function n(e){var n,i,r,A=t(e),o=!1;for(n=1;n<arguments.length;n+=2)i=arguments[n],r=arguments[n+1](e[0],e[1]),A[i]===r&&A.hasOwnProperty(i)||(A[i]=r,o=!0);return o}function r(t){return _.reset(),t.each(function(t){function P(){if(W=!1,!m)return!1;if(!0===J){var e=d3.merge(t.map(function(t,e){return t.values.map(function(t,n){var r=y(t,n),A=p(t,n);return[i.utils.NaNtoZero(E(r))+1e-4*Math.random(),i.utils.NaNtoZero(T(A))+1e-4*Math.random(),e,n,t]}).filter(function(t,e){return Q(t[4],e)})}));if(0==e.length)return!1;e.length<3&&(e.push([E.range()[0]-20,T.range()[0]-20,null,null]),e.push([E.range()[1]+20,T.range()[1]+20,null,null]),e.push([E.range()[0]-20,T.range()[0]+20,null,null]),e.push([E.range()[1]+20,T.range()[1]-20,null,null]));var n=d3.geom.polygon([[-10,-10],[-10,M+10],[l+10,M+10],[l+10,-10]]),r=d3.geom.voronoi(e).map(function(t,i){return{data:n.clip(t),series:e[i][2],point:e[i][3]}});rt.select(".nv-point-paths").selectAll("path").remove();var A=rt.select(".nv-point-paths").selectAll("path").data(r),o=A.enter().append("svg:path").attr("d",function(t){return t&&t.data&&0!==t.data.length?"M"+t.data.join(",")+"Z":"M 0 0"}).attr("id",function(t,e){return"nv-path-"+e}).attr("clip-path",function(t,e){return"url(#nv-clip-"+f+"-"+e+")"});if(Y&&o.style("fill",d3.rgb(230,230,230)).style("fill-opacity",.4).style("stroke-opacity",1).style("stroke",d3.rgb(200,200,200)),S){rt.select(".nv-point-clips").selectAll("*").remove();var a=rt.select(".nv-point-clips").selectAll("clipPath").data(e);a.enter().append("svg:clipPath").attr("id",function(t,e){return"nv-clip-"+f+"-"+e}).append("svg:circle").attr("cx",function(t){return t[0]}).attr("cy",function(t){return t[1]}).attr("r",b)}var c=function(e,n,i){if(W)return 0;var r=t[n.series];if(void 0!==r){var A=r.values[n.point];A.color=h(r,n.series),A.x=y(A),A.y=p(A);var o=I.node().getBoundingClientRect(),a=window.pageYOffset||document.documentElement.scrollTop,c=window.pageXOffset||document.documentElement.scrollLeft;i({point:A,series:r,pos:{left:E(y(A,n.point))+o.left+c+g.left+10,top:T(p(A,n.point))+o.top+a+g.top+10},relativePos:[E(y(A,n.point))+g.left,T(p(A,n.point))+g.top],seriesIndex:n.series,pointIndex:n.point,event:d3.event,element:e})}};A.on("click",function(t){c(this,t,H.elementClick)}).on("dblclick",function(t){c(this,t,H.elementDblClick)}).on("mouseover",function(t){c(this,t,H.elementMouseover)}).on("mouseout",function(t,e){c(this,t,H.elementMouseout)})}else rt.select(".nv-groups").selectAll(".nv-group").selectAll(".nv-point").on("click",function(e,n){if(W||!t[e.series])return 0;var i=t[e.series],r=i.values[n],A=this;H.elementClick({point:r,series:i,pos:[E(y(r,n))+g.left,T(p(r,n))+g.top],relativePos:[E(y(r,n))+g.left,T(p(r,n))+g.top],seriesIndex:e.series,pointIndex:n,event:d3.event,element:A})}).on("dblclick",function(e,n){if(W||!t[e.series])return 0;var i=t[e.series],r=i.values[n];H.elementDblClick({point:r,series:i,pos:[E(y(r,n))+g.left,T(p(r,n))+g.top],relativePos:[E(y(r,n))+g.left,T(p(r,n))+g.top],seriesIndex:e.series,pointIndex:n})}).on("mouseover",function(e,n){if(W||!t[e.series])return 0;var i=t[e.series],r=i.values[n];H.elementMouseover({point:r,series:i,pos:[E(y(r,n))+g.left,T(p(r,n))+g.top],relativePos:[E(y(r,n))+g.left,T(p(r,n))+g.top],seriesIndex:e.series,pointIndex:n,color:h(e,n)})}).on("mouseout",function(e,n){if(W||!t[e.series])return 0;var i=t[e.series],r=i.values[n];H.elementMouseout({point:r,series:i,pos:[E(y(r,n))+g.left,T(p(r,n))+g.top],relativePos:[E(y(r,n))+g.left,T(p(r,n))+g.top],seriesIndex:e.series,pointIndex:n,color:h(e,n)})})}I=d3.select(this);var K=i.utils.availableWidth(l,I,g),q=i.utils.availableHeight(M,I,g);i.utils.initSVG(I),t.forEach(function(t,e){t.values.forEach(function(t){t.series=e})});var $=r.yScale().name===d3.scale.log().name,tt=O&&z&&k?[]:d3.merge(t.map(function(t){return t.values.map(function(t,e){return{x:y(t,e),y:p(t,e),size:C(t,e)}})}));if(E.domain(O||d3.extent(tt.map(function(t){return t.x}).concat(x))),v&&t[0]?E.range(U||[(K*j+K)/(2*t[0].values.length),K-K*(1+j)/(2*t[0].values.length)]):E.range(U||[0,K]),$){var et=d3.min(tt.map(function(t){if(0!==t.y)return t.y}));T.clamp(!0).domain(z||d3.extent(tt.map(function(t){return 0!==t.y?t.y:.1*et}).concat(B))).range(F||[q,0])}else T.domain(z||d3.extent(tt.map(function(t){return t.y}).concat(B))).range(F||[q,0]);N.domain(k||d3.extent(tt.map(function(t){return t.size}).concat(w))).range(R||Z),G=E.domain()[0]===E.domain()[1]||T.domain()[0]===T.domain()[1],E.domain()[0]===E.domain()[1]&&(E.domain()[0]?E.domain([E.domain()[0]-.01*E.domain()[0],E.domain()[1]+.01*E.domain()[1]]):E.domain([-1,1])),T.domain()[0]===T.domain()[1]&&(T.domain()[0]?T.domain([T.domain()[0]-.01*T.domain()[0],T.domain()[1]+.01*T.domain()[1]]):T.domain([-1,1])),isNaN(E.domain()[0])&&E.domain([-1,1]),isNaN(T.domain()[0])&&T.domain([-1,1]),A=A||E,o=o||T,a=a||N;var nt=E(1)!==A(1)||T(1)!==o(1)||N(1)!==a(1);c=c||l,s=s||M;var it=c!==l||s!==M,rt=I.selectAll("g.nv-wrap.nv-scatter").data([t]),At=rt.enter().append("g").attr("class","nvd3 nv-wrap nv-scatter nv-chart-"+f),ot=At.append("defs"),at=At.append("g"),ct=rt.select("g");rt.classed("nv-single-point",G),at.append("g").attr("class","nv-groups"),at.append("g").attr("class","nv-point-paths"),At.append("g").attr("class","nv-point-clips"),rt.attr("transform","translate("+g.left+","+g.top+")"),ot.append("clipPath").attr("id","nv-edge-clip-"+f).append("rect").attr("transform","translate( -10, -10)"),rt.select("#nv-edge-clip-"+f+" rect").attr("width",K+20).attr("height",q>0?q+20:0),ct.attr("clip-path",L?"url(#nv-edge-clip-"+f+")":""),W=!0;var st=rt.select(".nv-groups").selectAll(".nv-group").data(function(t){return t},function(t){return t.key});st.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),st.exit().remove(),st.attr("class",function(t,e){return(t.classed||"")+" nv-group nv-series-"+e}).classed("nv-noninteractive",!m).classed("hover",function(t){return t.hover}),st.watchTransition(_,"scatter: groups").style("fill",function(t,e){return h(t,e)}).style("stroke",function(t,e){return t.pointBorderColor||d||h(t,e)}).style("stroke-opacity",1).style("fill-opacity",.5);var ut=st.selectAll("path.nv-point").data(function(t){return t.values.map(function(t,e){return[t,e]}).filter(function(t,e){return Q(t[0],e)})});if(ut.enter().append("path").attr("class",function(t){return"nv-point nv-point-"+t[1]}).style("fill",function(t){return t.color}).style("stroke",function(t){return t.color}).attr("transform",function(t){return"translate("+i.utils.NaNtoZero(A(y(t[0],t[1])))+","+i.utils.NaNtoZero(o(p(t[0],t[1])))+")"}).attr("d",i.utils.symbol().type(function(t){return D(t[0])}).size(function(t){return N(C(t[0],t[1]))})),ut.exit().each(e).remove(),st.exit().selectAll("path.nv-point").watchTransition(_,"scatter exit").attr("transform",function(t){return"translate("+i.utils.NaNtoZero(E(y(t[0],t[1])))+","+i.utils.NaNtoZero(T(p(t[0],t[1])))+")"}).remove(),ut.filter(function(t){return nt||it||n(t,"x",y,"y",p)}).watchTransition(_,"scatter points").attr("transform",function(t){return"translate("+i.utils.NaNtoZero(E(y(t[0],t[1])))+","+i.utils.NaNtoZero(T(p(t[0],t[1])))+")"}),ut.filter(function(t){return nt||it||n(t,"shape",D,"size",C)}).watchTransition(_,"scatter points").attr("d",i.utils.symbol().type(function(t){return D(t[0])}).size(function(t){return N(C(t[0],t[1]))})),V){var gt=st.selectAll(".nv-label").data(function(t){return t.values.map(function(t,e){return[t,e]}).filter(function(t,e){return Q(t[0],e)})});gt.enter().append("text").style("fill",function(t,e){return t.color}).style("stroke-opacity",0).style("fill-opacity",1).attr("transform",function(t){return"translate("+(i.utils.NaNtoZero(A(y(t[0],t[1])))+Math.sqrt(N(C(t[0],t[1]))/Math.PI)+2)+","+i.utils.NaNtoZero(o(p(t[0],t[1])))+")"}).text(function(t,e){return t[0].label}),gt.exit().remove(),st.exit().selectAll("path.nv-label").watchTransition(_,"scatter exit").attr("transform",function(t){return"translate("+(i.utils.NaNtoZero(E(y(t[0],t[1])))+Math.sqrt(N(C(t[0],t[1]))/Math.PI)+2)+","+i.utils.NaNtoZero(T(p(t[0],t[1])))+")"}).remove(),gt.each(function(t){d3.select(this).classed("nv-label",!0).classed("nv-label-"+t[1],!1).classed("hover",!1)}),gt.watchTransition(_,"scatter labels").attr("transform",function(t){return"translate("+(i.utils.NaNtoZero(E(y(t[0],t[1])))+Math.sqrt(N(C(t[0],t[1]))/Math.PI)+2)+","+i.utils.NaNtoZero(T(p(t[0],t[1])))+")"})}X?(clearTimeout(u),u=setTimeout(P,X)):P(),A=E.copy(),o=T.copy(),a=N.copy(),c=l,s=M}),_.renderEnd("scatter immediate"),r}var A,o,a,c,s,u,g={top:0,right:0,bottom:0,left:0},l=null,M=null,h=i.utils.defaultColor(),d=null,f=Math.floor(1e5*Math.random()),I=null,E=d3.scale.linear(),T=d3.scale.linear(),N=d3.scale.linear(),y=function(t){return t.x},p=function(t){return t.y},C=function(t){return t.size||1},D=function(t){return t.shape||"circle"},x=[],B=[],w=[],m=!0,Q=function(t){return!t.notActive},v=!1,j=.1,L=!1,S=!0,Y=!1,b=function(){return 25},O=null,z=null,U=null,F=null,k=null,R=null,G=!1,H=d3.dispatch("elementClick","elementDblClick","elementMouseover","elementMouseout","renderEnd"),J=!0,P=250,X=300,V=!1,W=!1,_=i.utils.renderWatch(H,P),Z=[16,256],K={};return r.dispatch=H,r.options=i.utils.optionsFunc.bind(r),r._calls=new function(){this.clearHighlights=function(){return i.dom.write(function(){I.selectAll(".nv-point.hover").classed("hover",!1)}),null},this.highlightPoint=function(t,e,n){i.dom.write(function(){I.select(".nv-groups").selectAll(".nv-series-"+t).selectAll(".nv-point-"+e).classed("hover",n)})}},H.on("elementMouseover.point",function(t){m&&r._calls.highlightPoint(t.seriesIndex,t.pointIndex,!0)}),H.on("elementMouseout.point",function(t){m&&r._calls.highlightPoint(t.seriesIndex,t.pointIndex,!1)}),r._options=Object.create({},{width:{get:function(){return l},set:function(t){l=t}},height:{get:function(){return M},set:function(t){M=t}},xScale:{get:function(){return E},set:function(t){E=t}},yScale:{get:function(){return T},set:function(t){T=t}},pointScale:{get:function(){return N},set:function(t){N=t}},xDomain:{get:function(){return O},set:function(t){O=t}},yDomain:{get:function(){return z},set:function(t){z=t}},pointDomain:{get:function(){return k},set:function(t){k=t}},xRange:{get:function(){return U},set:function(t){U=t}},yRange:{get:function(){return F},set:function(t){F=t}},pointRange:{get:function(){return R},set:function(t){R=t}},forceX:{get:function(){return x},set:function(t){x=t}},forceY:{get:function(){return B},set:function(t){B=t}},forcePoint:{get:function(){return w},set:function(t){w=t}},interactive:{get:function(){return m},set:function(t){m=t}},pointActive:{get:function(){return Q},set:function(t){Q=t}},padDataOuter:{get:function(){return j},set:function(t){j=t}},padData:{get:function(){return v},set:function(t){v=t}},clipEdge:{get:function(){return L},set:function(t){L=t}},clipVoronoi:{get:function(){return S},set:function(t){S=t}},clipRadius:{get:function(){return b},set:function(t){b=t}},showVoronoi:{get:function(){return Y},set:function(t){Y=t}},id:{get:function(){return f},set:function(t){f=t}},interactiveUpdateDelay:{get:function(){return X},set:function(t){X=t}},showLabels:{get:function(){return V},set:function(t){V=t}},pointBorderColor:{get:function(){return d},set:function(t){d=t}},x:{get:function(){return y},set:function(t){y=d3.functor(t)}},y:{get:function(){return p},set:function(t){p=d3.functor(t)}},pointSize:{get:function(){return C},set:function(t){C=d3.functor(t)}},pointShape:{get:function(){return D},set:function(t){D=d3.functor(t)}},margin:{get:function(){return g},set:function(t){g.top=void 0!==t.top?t.top:g.top,g.right=void 0!==t.right?t.right:g.right,g.bottom=void 0!==t.bottom?t.bottom:g.bottom,g.left=void 0!==t.left?t.left:g.left}},duration:{get:function(){return P},set:function(t){P=t,_.reset(P)}},color:{get:function(){return h},set:function(t){h=i.utils.getColor(t)}},useVoronoi:{get:function(){return J},set:function(t){!1===(J=t)&&(S=!1)}}}),i.utils.initOptions(r),r},i.models.scatterChart=function(){"use strict";function t(B){return j.reset(),j.models(e),N&&j.models(n),y&&j.models(r),I&&j.models(o),E&&j.models(a),B.each(function(B){M=d3.select(this),i.utils.initSVG(M);var Y=i.utils.availableWidth(g,M,s),b=i.utils.availableHeight(l,M,s);if(t.update=function(){0===w?M.call(t):M.transition().duration(w).call(t)},t.container=this,C.setter(S(B),t.update).getter(L(B)).update(),C.disabled=B.map(function(t){return!!t.disabled}),!D){var O;D={};for(O in C)C[O]instanceof Array?D[O]=C[O].slice(0):D[O]=C[O]}if(!(B&&B.length&&B.filter(function(t){return t.values.length}).length))return i.utils.noData(t,M),j.renderEnd("scatter immediate"),t;M.selectAll(".nv-noData").remove(),d=e.xScale(),f=e.yScale();var z=M.selectAll("g.nv-wrap.nv-scatterChart").data([B]),U=z.enter().append("g").attr("class","nvd3 nv-wrap nv-scatterChart nv-chart-"+e.id()),F=U.append("g"),k=z.select("g");if(F.append("rect").attr("class","nvd3 nv-background").style("pointer-events","none"),F.append("g").attr("class","nv-x nv-axis"),F.append("g").attr("class","nv-y nv-axis"),F.append("g").attr("class","nv-scatterWrap"),F.append("g").attr("class","nv-regressionLinesWrap"),F.append("g").attr("class","nv-distWrap"),F.append("g").attr("class","nv-legendWrap"),p&&k.select(".nv-y.nv-axis").attr("transform","translate("+Y+",0)"),T){var R=Y;A.width(R),z.select(".nv-legendWrap").datum(B).call(A),u||A.height()===s.top||(s.top=A.height(),b=i.utils.availableHeight(l,M,s)),z.select(".nv-legendWrap").attr("transform","translate(0,"+-s.top+")")}else k.select(".nv-legendWrap").selectAll("*").remove();z.attr("transform","translate("+s.left+","+s.top+")"),e.width(Y).height(b).color(B.map(function(t,e){return t.color=t.color||h(t,e),t.color}).filter(function(t,e){return!B[e].disabled})).showLabels(m),z.select(".nv-scatterWrap").datum(B.filter(function(t){return!t.disabled})).call(e),z.select(".nv-regressionLinesWrap").attr("clip-path","url(#nv-edge-clip-"+e.id()+")");var G=z.select(".nv-regressionLinesWrap").selectAll(".nv-regLines").data(function(t){return t});G.enter().append("g").attr("class","nv-regLines");var H=G.selectAll(".nv-regLine").data(function(t){return[t]});H.enter().append("line").attr("class","nv-regLine").style("stroke-opacity",0),H.filter(function(t){return t.intercept&&t.slope}).watchTransition(j,"scatterPlusLineChart: regline").attr("x1",d.range()[0]).attr("x2",d.range()[1]).attr("y1",function(t,e){return f(d.domain()[0]*t.slope+t.intercept)}).attr("y2",function(t,e){return f(d.domain()[1]*t.slope+t.intercept)}).style("stroke",function(t,e,n){return h(t,n)}).style("stroke-opacity",function(t,e){return t.disabled||void 0===t.slope||void 0===t.intercept?0:1}),N&&(n.scale(d)._ticks(i.utils.calcTicksX(Y/100,B)).tickSize(-b,0),k.select(".nv-x.nv-axis").attr("transform","translate(0,"+f.range()[0]+")").call(n)),y&&(r.scale(f)._ticks(i.utils.calcTicksY(b/36,B)).tickSize(-Y,0),k.select(".nv-y.nv-axis").call(r)),I&&(o.getData(e.x()).scale(d).width(Y).color(B.map(function(t,e){return t.color||h(t,e)}).filter(function(t,e){return!B[e].disabled})),F.select(".nv-distWrap").append("g").attr("class","nv-distributionX"),k.select(".nv-distributionX").attr("transform","translate(0,"+f.range()[0]+")").datum(B.filter(function(t){return!t.disabled})).call(o)),E&&(a.getData(e.y()).scale(f).width(b).color(B.map(function(t,e){return t.color||h(t,e)}).filter(function(t,e){return!B[e].disabled})),F.select(".nv-distWrap").append("g").attr("class","nv-distributionY"),k.select(".nv-distributionY").attr("transform","translate("+(p?Y:-a.size())+",0)").datum(B.filter(function(t){return!t.disabled})).call(a)),A.dispatch.on("stateChange",function(e){for(var n in e)C[n]=e[n];x.stateChange(C),t.update()}),x.on("changeState",function(e){void 0!==e.disabled&&(B.forEach(function(t,n){t.disabled=e.disabled[n]}),C.disabled=e.disabled),t.update()}),e.dispatch.on("elementMouseout.tooltip",function(t){c.hidden(!0),M.select(".nv-chart-"+e.id()+" .nv-series-"+t.seriesIndex+" .nv-distx-"+t.pointIndex).attr("y1",0),M.select(".nv-chart-"+e.id()+" .nv-series-"+t.seriesIndex+" .nv-disty-"+t.pointIndex).attr("x2",a.size())}),e.dispatch.on("elementMouseover.tooltip",function(t){M.select(".nv-series-"+t.seriesIndex+" .nv-distx-"+t.pointIndex).attr("y1",t.relativePos[1]-b),M.select(".nv-series-"+t.seriesIndex+" .nv-disty-"+t.pointIndex).attr("x2",t.relativePos[0]+o.size()),c.data(t).hidden(!1)}),Q=d.copy(),v=f.copy()}),j.renderEnd("scatter with line immediate"),t}var e=i.models.scatter(),n=i.models.axis(),r=i.models.axis(),A=i.models.legend(),o=i.models.distribution(),a=i.models.distribution(),c=i.models.tooltip(),s={top:30,right:20,bottom:50,left:75},u=null,g=null,l=null,M=null,h=i.utils.defaultColor(),d=e.xScale(),f=e.yScale(),I=!1,E=!1,T=!0,N=!0,y=!0,p=!1,C=i.utils.state(),D=null,x=d3.dispatch("stateChange","changeState","renderEnd"),B=null,w=250,m=!1;e.xScale(d).yScale(f),n.orient("bottom").tickPadding(10),r.orient(p?"right":"left").tickPadding(10),o.axis("x"),a.axis("y"),c.headerFormatter(function(t,e){return n.tickFormat()(t,e)}).valueFormatter(function(t,e){return r.tickFormat()(t,e)});var Q,v,j=i.utils.renderWatch(x,w),L=function(t){return function(){return{active:t.map(function(t){return!t.disabled})}}},S=function(t){return function(e){void 0!==e.active&&t.forEach(function(t,n){t.disabled=!e.active[n]})}};return t.dispatch=x,t.scatter=e,t.legend=A,t.xAxis=n,t.yAxis=r,t.distX=o,t.distY=a,t.tooltip=c,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return g},set:function(t){g=t}},height:{get:function(){return l},set:function(t){l=t}},container:{get:function(){return M},set:function(t){M=t}},showDistX:{get:function(){return I},set:function(t){I=t}},showDistY:{get:function(){return E},set:function(t){E=t}},showLegend:{get:function(){return T},set:function(t){T=t}},showXAxis:{get:function(){return N},set:function(t){N=t}},showYAxis:{get:function(){return y},set:function(t){y=t}},defaultState:{get:function(){return D},set:function(t){D=t}},noData:{get:function(){return B},set:function(t){B=t}},duration:{get:function(){return w},set:function(t){w=t}},showLabels:{get:function(){return m},set:function(t){m=t}},margin:{get:function(){return s},set:function(t){void 0!==t.top&&(s.top=t.top,u=t.top),s.right=void 0!==t.right?t.right:s.right,s.bottom=void 0!==t.bottom?t.bottom:s.bottom,s.left=void 0!==t.left?t.left:s.left}},rightAlignYAxis:{get:function(){return p},set:function(t){p=t,r.orient(t?"right":"left")}},color:{get:function(){return h},set:function(t){h=i.utils.getColor(t),A.color(h),o.color(h),a.color(h)}}}),i.utils.inheritOptions(t,e),i.utils.initOptions(t),t},i.models.sparkline=function(){"use strict";function t(u){return T.reset(),u.each(function(t){var u=a-o.left-o.right,E=c-o.top-o.bottom;s=d3.select(this),i.utils.initSVG(s),g.domain(e||d3.extent(t,M)).range(r||[0,u]),l.domain(n||d3.extent(t,h)).range(A||[E,0]);var T=s.selectAll("g.nv-wrap.nv-sparkline").data([t]),N=T.enter().append("g").attr("class","nvd3 nv-wrap nv-sparkline");N.append("g"),T.select("g");T.attr("transform","translate("+o.left+","+o.top+")");var y=T.selectAll("path").data(function(t){return[t]});y.enter().append("path"),y.exit().remove(),y.style("stroke",function(t,e){return t.color||d(t,e)}).attr("d",d3.svg.line().x(function(t,e){return g(M(t,e))}).y(function(t,e){return l(h(t,e))}));var p=T.selectAll("circle.nv-point").data(function(t){function e(e){if(-1!=e){var n=t[e];return n.pointIndex=e,n}return null}var n=t.map(function(t,e){return h(t,e)}),i=e(n.lastIndexOf(l.domain()[1])),r=e(n.indexOf(l.domain()[0])),A=e(n.length-1);return[f?r:null,f?i:null,I?A:null].filter(function(t){return null!=t})});p.enter().append("circle"),p.exit().remove(),p.attr("cx",function(t,e){return g(M(t,t.pointIndex))}).attr("cy",function(t,e){return l(h(t,t.pointIndex))}).attr("r",2).attr("class",function(t,e){return M(t,t.pointIndex)==g.domain()[1]?"nv-point nv-currentValue":h(t,t.pointIndex)==l.domain()[0]?"nv-point nv-minValue":"nv-point nv-maxValue"})}),T.renderEnd("sparkline immediate"),t}var e,n,r,A,o={top:2,right:0,bottom:2,left:0},a=400,c=32,s=null,u=!0,g=d3.scale.linear(),l=d3.scale.linear(),M=function(t){return t.x},h=function(t){return t.y},d=i.utils.getColor(["#000"]),f=!0,I=!0,E=d3.dispatch("renderEnd"),T=i.utils.renderWatch(E);return t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return a},set:function(t){a=t}},height:{get:function(){return c},set:function(t){c=t}},xDomain:{get:function(){return e},set:function(t){e=t}},yDomain:{get:function(){return n},set:function(t){n=t}},xRange:{get:function(){return r},set:function(t){r=t}},yRange:{get:function(){return A},set:function(t){A=t}},xScale:{get:function(){return g},set:function(t){g=t}},yScale:{get:function(){return l},set:function(t){l=t}},animate:{get:function(){return u},set:function(t){u=t}},showMinMaxPoints:{get:function(){return f},set:function(t){f=t}},showCurrentPoint:{get:function(){return I},set:function(t){I=t}},x:{get:function(){return M},set:function(t){M=d3.functor(t)}},y:{get:function(){return h},set:function(t){h=d3.functor(t)}},margin:{get:function(){return o},set:function(t){o.top=void 0!==t.top?t.top:o.top,o.right=void 0!==t.right?t.right:o.right,o.bottom=void 0!==t.bottom?t.bottom:o.bottom,o.left=void 0!==t.left?t.left:o.left}},color:{get:function(){return d},set:function(t){d=i.utils.getColor(t)}}}),t.dispatch=E,i.utils.initOptions(t),t},i.models.sparklinePlus=function(){"use strict";function t(d){return I.reset(),I.models(r),d.each(function(d){function f(){if(!s){var t=x.selectAll(".nv-hoverValue").data(c),n=t.enter().append("g").attr("class","nv-hoverValue").style("stroke-opacity",0).style("fill-opacity",0);t.exit().transition().duration(250).style("stroke-opacity",0).style("fill-opacity",0).remove(),t.attr("transform",function(t){return"translate("+e(r.x()(d[t],t))+",0)"}).transition().duration(250).style("stroke-opacity",1).style("fill-opacity",1),c.length&&(n.append("line").attr("x1",0).attr("y1",-A.top).attr("x2",0).attr("y2",N),n.append("text").attr("class","nv-xValue").attr("x",-6).attr("y",-A.top).attr("text-anchor","end").attr("dy",".9em"),x.select(".nv-hoverValue .nv-xValue").text(u(r.x()(d[c[0]],c[0]))),n.append("text").attr("class","nv-yValue").attr("x",6).attr("y",-A.top).attr("text-anchor","start").attr("dy",".9em"),x.select(".nv-hoverValue .nv-yValue").text(g(r.y()(d[c[0]],c[0]))))}}function I(){if(!s){var t=d3.mouse(this)[0]-A.left;c=[function(t,e){for(var n=Math.abs(r.x()(t[0],0)-e),i=0,A=0;A<t.length;A++)Math.abs(r.x()(t[A],A)-e)<n&&(n=Math.abs(r.x()(t[A],A)-e),i=A);return i}(d,Math.round(e.invert(t)))],f()}}var E=d3.select(this);i.utils.initSVG(E);var T=i.utils.availableWidth(o,E,A),N=i.utils.availableHeight(a,E,A);if(t.update=function(){E.call(t)},t.container=this,!d||!d.length)return i.utils.noData(t,E),t;E.selectAll(".nv-noData").remove();var y=r.y()(d[d.length-1],d.length-1);e=r.xScale(),n=r.yScale();var p=E.selectAll("g.nv-wrap.nv-sparklineplus").data([d]),C=p.enter().append("g").attr("class","nvd3 nv-wrap nv-sparklineplus"),D=C.append("g"),x=p.select("g");D.append("g").attr("class","nv-sparklineWrap"),D.append("g").attr("class","nv-valueWrap"),D.append("g").attr("class","nv-hoverArea"),p.attr("transform","translate("+A.left+","+A.top+")");var B=x.select(".nv-sparklineWrap");if(r.width(T).height(N),B.call(r),l){var w=x.select(".nv-valueWrap"),m=w.selectAll(".nv-currentValue").data([y]);m.enter().append("text").attr("class","nv-currentValue").attr("dx",h?-8:8).attr("dy",".9em").style("text-anchor",h?"end":"start"),m.attr("x",T+(h?A.right:0)).attr("y",M?function(t){return n(t)}:0).style("fill",r.color()(d[d.length-1],d.length-1)).text(g(y))}D.select(".nv-hoverArea").append("rect").on("mousemove",I).on("click",function(){s=!s}).on("mouseout",function(){c=[],f()}),x.select(".nv-hoverArea rect").attr("transform",function(t){return"translate("+-A.left+","+-A.top+")"}).attr("width",T+A.left+A.right).attr("height",N+A.top)}),I.renderEnd("sparklinePlus immediate"),t}var e,n,r=i.models.sparkline(),A={top:15,right:100,bottom:10,left:50},o=null,a=null,c=[],s=!1,u=d3.format(",r"),g=d3.format(",.2f"),l=!0,M=!0,h=!1,d=null,f=d3.dispatch("renderEnd"),I=i.utils.renderWatch(f);return t.dispatch=f,t.sparkline=r,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return o},set:function(t){o=t}},height:{get:function(){return a},set:function(t){a=t}},xTickFormat:{get:function(){return u},set:function(t){u=t}},yTickFormat:{get:function(){return g},set:function(t){g=t}},showLastValue:{get:function(){return l},set:function(t){l=t}},alignValue:{get:function(){return M},set:function(t){M=t}},rightAlignValue:{get:function(){return h},set:function(t){h=t}},noData:{get:function(){return d},set:function(t){d=t}},margin:{get:function(){return A},set:function(t){A.top=void 0!==t.top?t.top:A.top,A.right=void 0!==t.right?t.right:A.right,A.bottom=void 0!==t.bottom?t.bottom:A.bottom,A.left=void 0!==t.left?t.left:A.left}}}),i.utils.inheritOptions(t,r),i.utils.initOptions(t),t},i.models.stackedArea=function(){"use strict";function t(M){return y.reset(),y.models(E),M.each(function(M){var T=A-r.left-r.right,p=o-r.top-r.bottom;s=d3.select(this),i.utils.initSVG(s),e=E.xScale(),n=E.yScale();var C=M;M.forEach(function(t,e){t.seriesIndex=e,t.values=t.values.map(function(t,n){return t.index=n,t.seriesIndex=e,t})});var D=M.filter(function(t){return!t.disabled});M=d3.layout.stack().order(d).offset(h).values(function(t){return t.values}).x(u).y(g).out(function(t,e,n){t.display={y:n,y0:e}})(D);var x=s.selectAll("g.nv-wrap.nv-stackedarea").data([M]),B=x.enter().append("g").attr("class","nvd3 nv-wrap nv-stackedarea"),w=B.append("defs"),m=B.append("g"),Q=x.select("g");m.append("g").attr("class","nv-areaWrap"),m.append("g").attr("class","nv-scatterWrap"),x.attr("transform","translate("+r.left+","+r.top+")"),0==E.forceY().length&&E.forceY().push(0),E.width(T).height(p).x(u).y(function(t){if(void 0!==t.display)return t.display.y+t.display.y0}).color(M.map(function(t,e){return t.color=t.color||a(t,t.seriesIndex),t.color})),Q.select(".nv-scatterWrap").datum(M).call(E),w.append("clipPath").attr("id","nv-edge-clip-"+c).append("rect"),x.select("#nv-edge-clip-"+c+" rect").attr("width",T).attr("height",p),Q.attr("clip-path",I?"url(#nv-edge-clip-"+c+")":"");var v=d3.svg.area().defined(l).x(function(t,n){return e(u(t,n))}).y0(function(t){return n(t.display.y0)}).y1(function(t){return n(t.display.y+t.display.y0)}).interpolate(f),j=d3.svg.area().defined(l).x(function(t,n){return e(u(t,n))}).y0(function(t){return n(t.display.y0)}).y1(function(t){return n(t.display.y0)}),L=Q.select(".nv-areaWrap").selectAll("path.nv-area").data(function(t){return t});L.enter().append("path").attr("class",function(t,e){return"nv-area nv-area-"+e}).attr("d",function(t,e){return j(t.values,t.seriesIndex)}).on("mouseover",function(t,e){d3.select(this).classed("hover",!0),N.areaMouseover({point:t,series:t.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:t.seriesIndex})}).on("mouseout",function(t,e){d3.select(this).classed("hover",!1),N.areaMouseout({point:t,series:t.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:t.seriesIndex})}).on("click",function(t,e){d3.select(this).classed("hover",!1),N.areaClick({point:t,series:t.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:t.seriesIndex})}),L.exit().remove(),L.style("fill",function(t,e){return t.color||a(t,t.seriesIndex)}).style("stroke",function(t,e){return t.color||a(t,t.seriesIndex)}),L.watchTransition(y,"stackedArea path").attr("d",function(t,e){return v(t.values,e)}),E.dispatch.on("elementMouseover.area",function(t){Q.select(".nv-chart-"+c+" .nv-area-"+t.seriesIndex).classed("hover",!0)}),E.dispatch.on("elementMouseout.area",function(t){Q.select(".nv-chart-"+c+" .nv-area-"+t.seriesIndex).classed("hover",!1)}),t.d3_stackedOffset_stackPercent=function(t){var e,n,i,r=t.length,A=t[0].length,o=[];for(n=0;n<A;++n){for(e=0,i=0;e<C.length;e++)i+=g(C[e].values[n]);if(i)for(e=0;e<r;e++)t[e][n][1]/=i;else for(e=0;e<r;e++)t[e][n][1]=0}for(n=0;n<A;++n)o[n]=0;return o}}),y.renderEnd("stackedArea immediate"),t}var e,n,r={top:0,right:0,bottom:0,left:0},A=960,o=500,a=i.utils.defaultColor(),c=Math.floor(1e5*Math.random()),s=null,u=function(t){return t.x},g=function(t){return t.y},l=function(t,e){return!isNaN(g(t,e))&&null!==g(t,e)},M="stack",h="zero",d="default",f="linear",I=!1,E=i.models.scatter(),T=250,N=d3.dispatch("areaClick","areaMouseover","areaMouseout","renderEnd","elementClick","elementMouseover","elementMouseout");E.pointSize(2.2).pointDomain([2.2,2.2]);var y=i.utils.renderWatch(N,T);return t.dispatch=N,t.scatter=E,E.dispatch.on("elementClick",function(){N.elementClick.apply(this,arguments)}),E.dispatch.on("elementMouseover",function(){N.elementMouseover.apply(this,arguments)}),E.dispatch.on("elementMouseout",function(){N.elementMouseout.apply(this,arguments)}),t.interpolate=function(e){return arguments.length?(f=e,t):f},t.duration=function(e){return arguments.length?(T=e,y.reset(T),E.duration(T),t):T},t.dispatch=N,t.scatter=E,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return A},set:function(t){A=t}},height:{get:function(){return o},set:function(t){o=t}},defined:{get:function(){return l},set:function(t){l=t}},clipEdge:{get:function(){return I},set:function(t){I=t}},offset:{get:function(){return h},set:function(t){h=t}},order:{get:function(){return d},set:function(t){d=t}},interpolate:{get:function(){return f},set:function(t){f=t}},x:{get:function(){return u},set:function(t){u=d3.functor(t)}},y:{get:function(){return g},set:function(t){g=d3.functor(t)}},margin:{get:function(){return r},set:function(t){r.top=void 0!==t.top?t.top:r.top,r.right=void 0!==t.right?t.right:r.right,r.bottom=void 0!==t.bottom?t.bottom:r.bottom,r.left=void 0!==t.left?t.left:r.left}},color:{get:function(){return a},set:function(t){a=i.utils.getColor(t)}},style:{get:function(){return M},set:function(e){switch(M=e){case"stack":t.offset("zero"),t.order("default");break;case"stream":t.offset("wiggle"),t.order("inside-out");break;case"stream-center":t.offset("silhouette"),t.order("inside-out");break;case"expand":t.offset("expand"),t.order("default");break;case"stack_percent":t.offset(t.d3_stackedOffset_stackPercent),t.order("default")}}},duration:{get:function(){return T},set:function(t){T=t,y.reset(T),E.duration(T)}}}),i.utils.inheritOptions(t,E),i.utils.initOptions(t),t},i.models.stackedAreaChart=function(){"use strict";function t(u){return z.reset(),z.models(r),N&&z.models(A),y&&z.models(o),u.each(function(u){function Q(){N&&_.select(".nv-focus .nv-x.nv-axis").attr("transform","translate(0,"+P+")").transition().duration(Y).call(A)}function z(){if(y){if("expand"===r.style()||"stack_percent"===r.style()){var t=o.tickFormat();b&&t===R||(b=t),o.tickFormat(R)}else b&&(o.tickFormat(b),b=null);_.select(".nv-focus .nv-y.nv-axis").transition().duration(0).call(o)}}function G(t){_.select(".nv-focus .nv-stackedWrap").datum(u.filter(function(t){return!t.disabled}).map(function(e,n){return{key:e.key,area:e.area,classed:e.classed,values:e.values.filter(function(e,n){return r.x()(e,n)>=t[0]&&r.x()(e,n)<=t[1]}),disableTooltip:e.disableTooltip}})).transition().duration(Y).call(r),Q(),z()}var H=d3.select(this);i.utils.initSVG(H);var J=i.utils.availableWidth(h,H,l),P=i.utils.availableHeight(d,H,l)-(C?g.height():0);if(t.update=function(){H.transition().duration(Y).call(t)},t.container=this,w.setter(k(u),t.update).getter(F(u)).update(),w.disabled=u.map(function(t){return!!t.disabled}),!m){var X;m={};for(X in w)w[X]instanceof Array?m[X]=w[X].slice(0):m[X]=w[X]}if(!(u&&u.length&&u.filter(function(t){return t.values.length}).length))return i.utils.noData(t,H),t;H.selectAll(".nv-noData").remove(),e=r.xScale(),n=r.yScale();var V=H.selectAll("g.nv-wrap.nv-stackedAreaChart").data([u]),W=V.enter().append("g").attr("class","nvd3 nv-wrap nv-stackedAreaChart").append("g"),_=V.select("g");W.append("g").attr("class","nv-legendWrap"),W.append("g").attr("class","nv-controlsWrap");var Z=W.append("g").attr("class","nv-focus");Z.append("g").attr("class","nv-background").append("rect"),Z.append("g").attr("class","nv-x nv-axis"),Z.append("g").attr("class","nv-y nv-axis"),Z.append("g").attr("class","nv-stackedWrap"),Z.append("g").attr("class","nv-interactive");W.append("g").attr("class","nv-focusWrap");if(E){var K=I&&"top"===T?J-j:J;if(a.width(K),_.select(".nv-legendWrap").datum(u).call(a),"bottom"===T){var q=10+(N?12:0);l.bottom=Math.max(a.height()+q,l.bottom),P=i.utils.availableHeight(d,H,l)-(C?g.height():0);var $=P+q;_.select(".nv-legendWrap").attr("transform","translate(0,"+$+")")}else"top"===T&&(M||l.top==a.height()||(l.top=a.height(),P=i.utils.availableHeight(d,H,l)-(C?g.height():0)),_.select(".nv-legendWrap").attr("transform","translate("+(J-K)+","+-l.top+")"))}else _.select(".nv-legendWrap").selectAll("*").remove();if(I){var tt=[{key:S.stacked||"Stacked",metaKey:"Stacked",disabled:"stack"!=r.style(),style:"stack"},{key:S.stream||"Stream",metaKey:"Stream",disabled:"stream"!=r.style(),style:"stream"},{key:S.expanded||"Expanded",metaKey:"Expanded",disabled:"expand"!=r.style(),style:"expand"},{key:S.stack_percent||"Stack %",metaKey:"Stack_Percent",disabled:"stack_percent"!=r.style(),style:"stack_percent"}];j=L.length/3*260,tt=tt.filter(function(t){return-1!==L.indexOf(t.metaKey)}),c.width(j).color(["#444","#444","#444"]),_.select(".nv-controlsWrap").datum(tt).call(c);var et=Math.max(c.height(),E&&"top"===T?a.height():0);l.top!=et&&(l.top=et,P=i.utils.availableHeight(d,H,l)-(C?g.height():0)),_.select(".nv-controlsWrap").attr("transform","translate(0,"+-l.top+")")}else _.select(".nv-controlsWrap").selectAll("*").remove();V.attr("transform","translate("+l.left+","+l.top+")"),p&&_.select(".nv-y.nv-axis").attr("transform","translate("+J+",0)"),D&&(s.width(J).height(P).margin({left:l.left,top:l.top}).svgContainer(H).xScale(e),V.select(".nv-interactive").call(s)),_.select(".nv-focus .nv-background rect").attr("width",J).attr("height",P),r.width(J).height(P).color(u.map(function(t,e){return t.color||f(t,e)}).filter(function(t,e){return!u[e].disabled}));var nt=_.select(".nv-focus .nv-stackedWrap").datum(u.filter(function(t){return!t.disabled}));if(N&&A.scale(e)._ticks(i.utils.calcTicksX(J/100,u)).tickSize(-P,0),y){var it;it="wiggle"===r.offset()?0:i.utils.calcTicksY(P/36,u),o.scale(n)._ticks(it).tickSize(-J,0)}if(C){g.width(J),_.select(".nv-focusWrap").attr("transform","translate(0,"+(P+l.bottom+g.margin().top)+")").datum(u.filter(function(t){return!t.disabled})).call(g);var rt=g.brush.empty()?g.xDomain():g.brush.extent();null!==rt&&G(rt)}else nt.transition().call(r),Q(),z();r.dispatch.on("areaClick.toggle",function(e){1===u.filter(function(t){return!t.disabled}).length?u.forEach(function(t){t.disabled=!1}):u.forEach(function(t,n){t.disabled=n!=e.seriesIndex}),w.disabled=u.map(function(t){return!!t.disabled}),v.stateChange(w),t.update()}),a.dispatch.on("stateChange",function(e){for(var n in e)w[n]=e[n];v.stateChange(w),t.update()}),c.dispatch.on("legendClick",function(e,n){e.disabled&&(tt=tt.map(function(t){return t.disabled=!0,t}),e.disabled=!1,r.style(e.style),w.style=r.style(),v.stateChange(w),t.update())}),s.dispatch.on("elementMousemove",function(e){r.clearHighlights();var n,A,o,a=[],c=0,g=!0;if(u.filter(function(t,e){return t.seriesIndex=e,!t.disabled}).forEach(function(s,u){A=i.interactiveBisect(s.values,e.pointXValue,t.x());var l=s.values[A];if(null!=t.y()(l,A)&&r.highlightPoint(u,A,!0),void 0!==l){void 0===n&&(n=l),void 0===o&&(o=t.xScale()(t.x()(l,A)));var M="expand"==r.style()?l.display.y:t.y()(l,A);a.push({key:s.key,value:M,color:f(s,s.seriesIndex),point:l}),x&&"expand"!=r.style()&&null!=M&&(c+=M,g=!1)}}),a.reverse(),a.length>2){var l=t.yScale().invert(e.mouseY),M=null;a.forEach(function(t,e){l=Math.abs(l);var n=Math.abs(t.point.display.y0),i=Math.abs(t.point.display.y);if(l>=n&&l<=i+n)return void(M=e)}),null!=M&&(a[M].highlight=!0)}x&&"expand"!=r.style()&&a.length>=2&&!g&&a.push({key:B,value:c,total:!0});var h=t.x()(n,A),d=s.tooltip.valueFormatter();"expand"===r.style()||"stack_percent"===r.style()?(O||(O=d),d=d3.format(".1%")):O&&(d=O,O=null),s.tooltip.valueFormatter(d).data({value:h,series:a})(),s.renderGuideLine(o)}),s.dispatch.on("elementMouseout",function(t){r.clearHighlights()}),g.dispatch.on("onBrush",function(t){G(t)}),v.on("changeState",function(e){void 0!==e.disabled&&u.length===e.disabled.length&&(u.forEach(function(t,n){t.disabled=e.disabled[n]}),w.disabled=e.disabled),void 0!==e.style&&(r.style(e.style),U=e.style),t.update()})}),z.renderEnd("stacked Area chart immediate"),t}var e,n,r=i.models.stackedArea(),A=i.models.axis(),o=i.models.axis(),a=i.models.legend(),c=i.models.legend(),s=i.interactiveGuideline(),u=i.models.tooltip(),g=i.models.focus(i.models.stackedArea()),l={top:10,right:25,bottom:50,left:60},M=null,h=null,d=null,f=i.utils.defaultColor(),I=!0,E=!0,T="top",N=!0,y=!0,p=!1,C=!1,D=!1,x=!0,B="TOTAL",w=i.utils.state(),m=null,Q=null,v=d3.dispatch("stateChange","changeState","renderEnd"),j=250,L=["Stacked","Stream","Expanded"],S={},Y=250;w.style=r.style(),A.orient("bottom").tickPadding(7),o.orient(p?"right":"left"),u.headerFormatter(function(t,e){return A.tickFormat()(t,e)}).valueFormatter(function(t,e){return o.tickFormat()(t,e)}),s.tooltip.headerFormatter(function(t,e){return A.tickFormat()(t,e)}).valueFormatter(function(t,e){return null==t?"N/A":o.tickFormat()(t,e)});var b=null,O=null;c.updateState(!1);var z=i.utils.renderWatch(v),U=r.style(),F=function(t){return function(){return{active:t.map(function(t){return!t.disabled}),style:r.style()}}},k=function(t){return function(e){void 0!==e.style&&(U=e.style),void 0!==e.active&&t.forEach(function(t,n){t.disabled=!e.active[n]})}},R=d3.format("%");return r.dispatch.on("elementMouseover.tooltip",function(t){t.point.x=r.x()(t.point),t.point.y=r.y()(t.point),u.data(t).hidden(!1)}),r.dispatch.on("elementMouseout.tooltip",function(t){u.hidden(!0)}),t.dispatch=v,t.stacked=r,t.legend=a,t.controls=c,t.xAxis=A,t.x2Axis=g.xAxis,t.yAxis=o,t.y2Axis=g.yAxis,t.interactiveLayer=s,t.tooltip=u,t.focus=g,t.dispatch=v,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{width:{get:function(){return h},set:function(t){h=t}},height:{get:function(){return d},set:function(t){d=t}},showLegend:{get:function(){return E},set:function(t){E=t}},legendPosition:{get:function(){return T},set:function(t){T=t}},showXAxis:{get:function(){return N},set:function(t){N=t}},showYAxis:{get:function(){return y},set:function(t){y=t}},defaultState:{get:function(){return m},set:function(t){m=t}},noData:{get:function(){return Q},set:function(t){Q=t}},showControls:{get:function(){return I},set:function(t){I=t}},controlLabels:{get:function(){return S},set:function(t){S=t}},controlOptions:{get:function(){return L},set:function(t){L=t}},showTotalInTooltip:{get:function(){return x},set:function(t){x=t}},totalLabel:{get:function(){return B},set:function(t){B=t}},focusEnable:{get:function(){return C},set:function(t){C=t}},focusHeight:{get:function(){return g.height()},set:function(t){g.height(t)}},brushExtent:{get:function(){return g.brushExtent()},set:function(t){g.brushExtent(t)}},margin:{get:function(){return l},set:function(t){void 0!==t.top&&(l.top=t.top,M=t.top),l.right=void 0!==t.right?t.right:l.right,l.bottom=void 0!==t.bottom?t.bottom:l.bottom,l.left=void 0!==t.left?t.left:l.left}},focusMargin:{get:function(){return g.margin},set:function(t){g.margin.top=void 0!==t.top?t.top:g.margin.top,g.margin.right=void 0!==t.right?t.right:g.margin.right,g.margin.bottom=void 0!==t.bottom?t.bottom:g.margin.bottom,g.margin.left=void 0!==t.left?t.left:g.margin.left}},duration:{get:function(){return Y},set:function(t){Y=t,z.reset(Y),r.duration(Y),A.duration(Y),o.duration(Y)}},color:{get:function(){return f},set:function(t){f=i.utils.getColor(t),a.color(f),r.color(f),g.color(f)}},x:{get:function(){return r.x()},set:function(t){r.x(t),g.x(t)}},y:{get:function(){return r.y()},set:function(t){r.y(t),g.y(t)}},rightAlignYAxis:{get:function(){return p},set:function(t){p=t,o.orient(p?"right":"left")}},useInteractiveGuideline:{get:function(){return D},set:function(e){D=!!e,t.interactive(!e),t.useVoronoi(!e),r.scatter.interactive(!e)}}}),i.utils.inheritOptions(t,r),i.utils.initOptions(t),t},i.models.stackedAreaWithFocusChart=function(){return i.models.stackedAreaChart().margin({bottom:30}).focusEnable(!0)},i.models.sunburst=function(){"use strict";function t(t){return e(t)>90?180:0}function e(t){return(Math.max(0,Math.min(2*Math.PI,j(t.x)))+Math.max(0,Math.min(2*Math.PI,j(t.x+t.dx))))/2*(180/Math.PI)-90}function n(t){var e=Math.max(0,Math.min(2*Math.PI,j(t.x)));return(Math.max(0,Math.min(2*Math.PI,j(t.x+t.dx)))-e)/(2*Math.PI)}function r(t){var e=Math.max(0,Math.min(2*Math.PI,j(t.x)));return Math.max(0,Math.min(2*Math.PI,j(t.x+t.dx)))-e>x}function A(t,e){var n=d3.interpolate(j.domain(),[g.x,g.x+g.dx]),i=d3.interpolate(L.domain(),[g.y,1]),r=d3.interpolate(L.range(),[g.y?20:0,h]);return 0===e?function(){return b(t)}:function(e){return j.domain(n(e)),L.domain(i(e)).range(r(e)),b(t)}}function o(t){var e=d3.interpolate({x:t.x0,dx:t.dx0,y:t.y0,dy:t.dy0},t);return function(n){var i=e(n);return t.x0=i.x,t.dx0=i.dx,t.y0=i.y,t.dy0=i.dy,b(i)}}function a(t){var e=w(t);Y[e]||(Y[e]={});var n=Y[e];n.dx=t.dx,n.x=t.x,n.dy=t.dy,n.y=t.y}function c(t){t.forEach(function(t){var e=w(t),n=Y[e];n?(t.dx0=n.dx,t.x0=n.x,t.dy0=n.dy,t.y0=n.y):(t.dx0=t.dx,t.x0=t.x,t.dy0=t.dy,t.y0=t.y),a(t)})}function s(n){var i=y.selectAll("text"),o=y.selectAll("path");i.transition().attr("opacity",0),g=n,o.transition().duration(Q).attrTween("d",A).each("end",function(i){if(i.x>=n.x&&i.x<n.x+n.dx&&i.depth>=n.depth){d3.select(this.parentNode).select("text").transition().duration(Q).text(function(t){return D(t)}).attr("opacity",function(t){return r(t)?1:0}).attr("transform",function(){var r=this.getBBox().width;if(0===i.depth)return"translate("+r/2*-1+",0)";if(i.depth===n.depth)return"translate("+(L(i.y)+5)+",0)";var A=e(i),o=t(i);return 0===o?"rotate("+A+")translate("+(L(i.y)+5)+",0)":"rotate("+A+")translate("+(L(i.y)+r+5)+",0)rotate("+o+")"})}})}function u(A){return O.reset(),A.each(function(A){y=d3.select(this),l=i.utils.availableWidth(f,y,d),M=i.utils.availableHeight(I,y,d),h=Math.min(l,M)/2,L.range([0,h]);var a=y.select("g.nvd3.nv-wrap.nv-sunburst");a[0][0]?a.attr("transform","translate("+(l/2+d.left+d.right)+","+(M/2+d.top+d.bottom)+")"):a=y.append("g").attr("class","nvd3 nv-wrap nv-sunburst nv-chart-"+N).attr("transform","translate("+(l/2+d.left+d.right)+","+(M/2+d.top+d.bottom)+")"),y.on("click",function(t,e){v.chartClick({data:t,index:e,pos:d3.event,id:N})}),S.value(T[E]||T.count);var u=S.nodes(A[0]).reverse();c(u);var g=a.selectAll(".arc-container").data(u,w);g.enter().append("g").attr("class","arc-container").append("path").attr("d",b).style("fill",function(t){return t.color?t.color:p(m?(t.children?t:t.parent).name:t.name)}).style("stroke","#FFF").on("click",function(t,e){s(t),v.elementClick({data:t,index:e})}).on("mouseover",function(t,e){d3.select(this).classed("hover",!0).style("opacity",.8),v.elementMouseover({data:t,color:d3.select(this).style("fill"),percent:n(t)})}).on("mouseout",function(t,e){d3.select(this).classed("hover",!1).style("opacity",1),v.elementMouseout({data:t})}).on("mousemove",function(t,e){v.elementMousemove({data:t})}),g.each(function(t){d3.select(this).select("path").transition().duration(Q).attrTween("d",o)}),C&&(g.selectAll("text").remove(),g.append("text").text(function(t){return D(t)}).transition().duration(Q).attr("opacity",function(t){return r(t)?1:0}).attr("transform",function(n){var i=this.getBBox().width;if(0===n.depth)return"rotate(0)translate("+i/2*-1+",0)";var r=e(n),A=t(n);return 0===A?"rotate("+r+")translate("+(L(n.y)+5)+",0)":"rotate("+r+")translate("+(L(n.y)+i+5)+",0)rotate("+A+")"})),s(u[u.length-1]),g.exit().transition().duration(Q).attr("opacity",0).each("end",function(t){var e=w(t);Y[e]=void 0}).remove()}),O.renderEnd("sunburst immediate"),u}var g,l,M,h,d={top:0,right:0,bottom:0,left:0},f=600,I=600,E="count",T={count:function(t){return 1},value:function(t){return t.value||t.size},size:function(t){return t.value||t.size}},N=Math.floor(1e4*Math.random()),y=null,p=i.utils.defaultColor(),C=!1,D=function(t){return"count"===E?t.name+" #"+t.value:t.name+" "+(t.value||t.size)},x=.02,B=function(t,e){return t.name>e.name},w=function(t,e){return t.name},m=!0,Q=500,v=d3.dispatch("chartClick","elementClick","elementDblClick","elementMousemove","elementMouseover","elementMouseout","renderEnd"),j=d3.scale.linear().range([0,2*Math.PI]),L=d3.scale.sqrt(),S=d3.layout.partition().sort(B),Y={},b=d3.svg.arc().startAngle(function(t){return Math.max(0,Math.min(2*Math.PI,j(t.x)))}).endAngle(function(t){return Math.max(0,Math.min(2*Math.PI,j(t.x+t.dx)))}).innerRadius(function(t){return Math.max(0,L(t.y))}).outerRadius(function(t){return Math.max(0,L(t.y+t.dy))}),O=i.utils.renderWatch(v);return u.dispatch=v,u.options=i.utils.optionsFunc.bind(u),u._options=Object.create({},{width:{get:function(){return f},set:function(t){f=t}},height:{get:function(){return I},set:function(t){I=t}},mode:{get:function(){return E},set:function(t){E=t}},id:{get:function(){return N},set:function(t){N=t}},duration:{get:function(){return Q},set:function(t){Q=t}},groupColorByParent:{get:function(){return m},set:function(t){m=!!t}},showLabels:{get:function(){return C},set:function(t){C=!!t}},labelFormat:{get:function(){return D},set:function(t){D=t}},labelThreshold:{get:function(){return x},set:function(t){x=t}},sort:{get:function(){return B},set:function(t){B=t}},key:{get:function(){return w},set:function(t){w=t}},margin:{get:function(){return d},set:function(t){d.top=void 0!=t.top?t.top:d.top,d.right=void 0!=t.right?t.right:d.right,d.bottom=void 0!=t.bottom?t.bottom:d.bottom,d.left=void 0!=t.left?t.left:d.left}},color:{get:function(){return p},set:function(t){p=i.utils.getColor(t)}}}),i.utils.initOptions(u),u},i.models.sunburstChart=function(){"use strict";function t(n){return M.reset(),M.models(e),n.each(function(n){var a=d3.select(this);i.utils.initSVG(a);var c=i.utils.availableWidth(A,a,r),s=i.utils.availableHeight(o,a,r);if(t.update=function(){0===g?a.call(t):a.transition().duration(g).call(t)},t.container=a,!n||!n.length)return i.utils.noData(t,a),t;a.selectAll(".nv-noData").remove(),e.width(c).height(s).margin(r),a.call(e)}),M.renderEnd("sunburstChart immediate"),t}var e=i.models.sunburst(),n=i.models.tooltip(),r={top:30,right:20,bottom:20,left:20},A=null,o=null,a=i.utils.defaultColor(),c=!1,s=(Math.round(1e5*Math.random()),null),u=null,g=250,l=d3.dispatch("stateChange","changeState","renderEnd"),M=i.utils.renderWatch(l);return n.duration(0).headerEnabled(!1).valueFormatter(function(t){return t}),e.dispatch.on("elementMouseover.tooltip",function(t){t.series={key:t.data.name,value:t.data.value||t.data.size,color:t.color,percent:t.percent},c||(delete t.percent,delete t.series.percent),n.data(t).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(t){n.hidden(!0)}),e.dispatch.on("elementMousemove.tooltip",function(t){n()}),t.dispatch=l,t.sunburst=e,t.tooltip=n,t.options=i.utils.optionsFunc.bind(t),t._options=Object.create({},{noData:{get:function(){return u},set:function(t){u=t}},defaultState:{get:function(){return s},set:function(t){s=t}},showTooltipPercent:{get:function(){return c},set:function(t){c=t}},color:{get:function(){return a},set:function(t){a=t,e.color(a)}},duration:{get:function(){return g},set:function(t){g=t,M.reset(g),e.duration(g)}},margin:{get:function(){return r},set:function(t){r.top=void 0!==t.top?t.top:r.top,r.right=void 0!==t.right?t.right:r.right,r.bottom=void 0!==t.bottom?t.bottom:r.bottom,r.left=void 0!==t.left?t.left:r.left,e.margin(r)}}}),i.utils.inheritOptions(t,e),i.utils.initOptions(t),t},i.version="1.8.5"}()},function(t,e,n){"use strict";var i=function(t){return function(){return this.matches(t)}};if("undefined"!=typeof document){var r=document.documentElement;if(!r.matches){var A=r.webkitMatchesSelector||r.msMatchesSelector||r.mozMatchesSelector||r.oMatchesSelector;i=function(t){return function(){return A.call(this,t)}}}}e.a=i},function(t,e,n){"use strict";function i(){return[]}e.a=function(t){return null==t?i:function(){return this.querySelectorAll(t)}}},function(t,e,n){"use strict";function i(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}e.a=i;var r=n(321),A=n(37);e.b=function(){return new A.a(this._enter||this._groups.map(r.a),this._parents)},i.prototype={constructor:i,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}}},function(t,e,n){"use strict";e.a=function(t){return new Array(t.length)}},function(t,e,n){"use strict";function i(t){return function(){this.style.removeProperty(t)}}function r(t,e,n){return function(){this.style.setProperty(t,e,n)}}function A(t,e,n){return function(){var i=e.apply(this,arguments);null==i?this.style.removeProperty(t):this.style.setProperty(t,i,n)}}function o(t,e){return t.style.getPropertyValue(e)||Object(a.a)(t).getComputedStyle(t,null).getPropertyValue(e)}e.b=o;var a=n(215);e.a=function(t,e,n){return arguments.length>1?this.each((null==e?i:"function"==typeof e?A:r)(t,e,null==n?"":n)):o(this.node(),t)}},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(636),s=i(c),u=n(13),g=i(u),l=function(t){function e(t,n){var i=n.map,o=void 0===i?{}:i,a=n.layers,c=void 0===a?[]:a,u=n.width,g=n.height;r(this,e);var l=A(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return u=u||o.width||600,g=g||o.height||600,t.style.width=u+"px",t.style.height=g+"px",l.plot=s.default.map(Object.assign({node:t},o)),l.layers=[],c.forEach(function(t){switch(t.type){case"osm":l.layers.push(l.plot.createLayer("osm",t));break;case"feature":t.features.forEach(function(t){var e=l.plot.createLayer("feature",{renderer:"d3"}).createFeature(t.type).data(t.data).position(function(e){return{x:e[t.x],y:e[t.y]}}),n=Object.assign({fillColor:"red",strokeColor:"darkred"},t.style);e.style(n),l.layers.push(e)})}}),l.render(),l}return o(e,t),a(e,[{key:"render",value:function(){this.plot.draw()}}]),e}(g.default);e.default=l},function(t,e,n){"use strict";function i(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),i(n(642)),i(n(643)),i(n(217)),i(n(328)),i(n(330)),i(n(329)),i(n(104)),i(n(646)),i(n(216)),i(n(325)),i(n(327)),i(n(326)),i(n(105)),i(n(141)),i(n(218)),i(n(647))},function(t,e,n){"use strict";function i(t,e,n){t.forAll(function(t){if(t.isLeaf())e.leaves||(e.leaves=[]),e.leaves.push(t.id);else{var r=e;if(t.gid=n.length,!t.isIsland()||t.isPredefined()){if(r={id:t.gid},t.isPredefined())for(var A in t.definition)r[A]=t.definition[A];e.groups||(e.groups=[]),e.groups.push(t.gid),n.push(r)}i(t.children,r,n)}})}function r(t,e){var n={};for(var i in t)i in e&&(n[i]=t[i]);return n}function A(t,e,n,i){for(var r=t.length,A=new a(r,e,n,i);A.greedyMerge(););var o=[],c=A.getGroupHierarchy(o);return o.forEach(function(e){var n=function(n){var i=e[n];"number"==typeof i&&(e[n]=t[i])};n("source"),n("target")}),{groups:c,powerEdges:o}}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e,n){this.source=t,this.target=e,this.type=n}return t}();e.PowerEdge=o;var a=function(){function t(t,e,n,i){var r=this;if(this.linkAccessor=n,this.modules=new Array(t),this.roots=[],i)this.initModulesFromGroup(i);else{this.roots.push(new s);for(var A=0;A<t;++A)this.roots[0].add(this.modules[A]=new c(A))}this.R=e.length,e.forEach(function(t){var e=r.modules[n.getSourceIndex(t)],i=r.modules[n.getTargetIndex(t)],A=n.getType(t);e.outgoing.add(A,i),i.incoming.add(A,e)})}return t.prototype.initModulesFromGroup=function(t){var e=new s;this.roots.push(e);for(var n=0;n<t.leaves.length;++n){var i=t.leaves[n],r=new c(i.id);this.modules[i.id]=r,e.add(r)}if(t.groups)for(var A=0;A<t.groups.length;++A){var o=t.groups[A],a={};for(var g in o)"leaves"!==g&&"groups"!==g&&o.hasOwnProperty(g)&&(a[g]=o[g]);e.add(new c(-1-A,new u,new u,this.initModulesFromGroup(o),a))}return e},t.prototype.merge=function(t,e,n){void 0===n&&(n=0);var i=t.incoming.intersection(e.incoming),r=t.outgoing.intersection(e.outgoing),A=new s;A.add(t),A.add(e);var o=new c(this.modules.length,r,i,A);this.modules.push(o);var a=function(n,i,r){n.forAll(function(n,A){n.forAll(function(n){var a=n[i];a.add(A,o),a.remove(A,t),a.remove(A,e),t[r].remove(A,n),e[r].remove(A,n)})})};return a(r,"incoming","outgoing"),a(i,"outgoing","incoming"),this.R-=i.count()+r.count(),this.roots[n].remove(t),this.roots[n].remove(e),this.roots[n].add(o),o},t.prototype.rootMerges=function(t){void 0===t&&(t=0);for(var e=this.roots[t].modules(),n=e.length,i=new Array(n*(n-1)),r=0,A=0,o=n-1;A<o;++A)for(var a=A+1;a<n;++a){var c=e[A],s=e[a];i[r]={id:r,nEdges:this.nEdges(c,s),a:c,b:s},r++}return i},t.prototype.greedyMerge=function(){for(var t=0;t<this.roots.length;++t)if(!(this.roots[t].modules().length<2)){var e=this.rootMerges(t).sort(function(t,e){return t.nEdges==e.nEdges?t.id-e.id:t.nEdges-e.nEdges}),n=e[0];if(!(n.nEdges>=this.R))return this.merge(n.a,n.b,t),!0}},t.prototype.nEdges=function(t,e){var n=t.incoming.intersection(e.incoming),i=t.outgoing.intersection(e.outgoing);return this.R-n.count()-i.count()},t.prototype.getGroupHierarchy=function(t){var e=this,n=[],r={};return i(this.roots[0],r,n),this.allEdges().forEach(function(i){var r=e.modules[i.source],A=e.modules[i.target];t.push(new o(void 0===r.gid?i.source:n[r.gid],void 0===A.gid?i.target:n[A.gid],i.type))}),n},t.prototype.allEdges=function(){var e=[];return t.getEdges(this.roots[0],e),e},t.getEdges=function(e,n){e.forAll(function(e){e.getEdges(n),t.getEdges(e.children,n)})},t}();e.Configuration=a;var c=function(){function t(t,e,n,i,r){void 0===e&&(e=new u),void 0===n&&(n=new u),void 0===i&&(i=new s),this.id=t,this.outgoing=e,this.incoming=n,this.children=i,this.definition=r}return t.prototype.getEdges=function(t){var e=this;this.outgoing.forAll(function(n,i){n.forAll(function(n){t.push(new o(e.id,n.id,i))})})},t.prototype.isLeaf=function(){return 0===this.children.count()},t.prototype.isIsland=function(){return 0===this.outgoing.count()&&0===this.incoming.count()},t.prototype.isPredefined=function(){return void 0!==this.definition},t}();e.Module=c;var s=function(){function t(){this.table={}}return t.prototype.count=function(){return Object.keys(this.table).length},t.prototype.intersection=function(e){var n=new t;return n.table=r(this.table,e.table),n},t.prototype.intersectionCount=function(t){return this.intersection(t).count()},t.prototype.contains=function(t){return t in this.table},t.prototype.add=function(t){this.table[t.id]=t},t.prototype.remove=function(t){delete this.table[t.id]},t.prototype.forAll=function(t){for(var e in this.table)t(this.table[e])},t.prototype.modules=function(){var t=[];return this.forAll(function(e){e.isPredefined()||t.push(e)}),t},t}();e.ModuleSet=s;var u=function(){function t(){this.sets={},this.n=0}return t.prototype.count=function(){return this.n},t.prototype.contains=function(t){var e=!1;return this.forAllModules(function(n){e||n.id!=t||(e=!0)}),e},t.prototype.add=function(t,e){(t in this.sets?this.sets[t]:this.sets[t]=new s).add(e),++this.n},t.prototype.remove=function(t,e){var n=this.sets[t];n.remove(e),0===n.count()&&delete this.sets[t],--this.n},t.prototype.forAll=function(t){for(var e in this.sets)t(this.sets[e],Number(e))},t.prototype.forAllModules=function(t){this.forAll(function(e,n){return e.forAll(t)})},t.prototype.intersection=function(e){var n=new t;return this.forAll(function(t,i){if(i in e.sets){var r=t.intersection(e.sets[i]),A=r.count();A>0&&(n.sets[i]=r,n.n+=A)}}),n},t}();e.LinkSets=u,e.getGroups=A},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(){this.findIter=function(t){for(var e=this._root,n=this.iterator();null!==e;){var i=this._comparator(t,e.data);if(0===i)return n._cursor=e,n;n._ancestors.push(e),e=e.get_child(i>0)}return null}}return t.prototype.clear=function(){this._root=null,this.size=0},t.prototype.find=function(t){for(var e=this._root;null!==e;){var n=this._comparator(t,e.data);if(0===n)return e.data;e=e.get_child(n>0)}return null},t.prototype.lowerBound=function(t){return this._bound(t,this._comparator)},t.prototype.upperBound=function(t){function e(t,e){return n(e,t)}var n=this._comparator;return this._bound(t,e)},t.prototype.min=function(){var t=this._root;if(null===t)return null;for(;null!==t.left;)t=t.left;return t.data},t.prototype.max=function(){var t=this._root;if(null===t)return null;for(;null!==t.right;)t=t.right;return t.data},t.prototype.iterator=function(){return new A(this)},t.prototype.each=function(t){for(var e,n=this.iterator();null!==(e=n.next());)t(e)},t.prototype.reach=function(t){for(var e,n=this.iterator();null!==(e=n.prev());)t(e)},t.prototype._bound=function(t,e){for(var n=this._root,i=this.iterator();null!==n;){var r=this._comparator(t,n.data);if(0===r)return i._cursor=n,i;i._ancestors.push(n),n=n.get_child(r>0)}for(var A=i._ancestors.length-1;A>=0;--A)if(n=i._ancestors[A],e(t,n.data)>0)return i._cursor=n,i._ancestors.length=A,i;return i._ancestors.length=0,i},t}();e.TreeBase=r;var A=function(){function t(t){this._tree=t,this._ancestors=[],this._cursor=null}return t.prototype.data=function(){return null!==this._cursor?this._cursor.data:null},t.prototype.next=function(){if(null===this._cursor){var t=this._tree._root;null!==t&&this._minNode(t)}else if(null===this._cursor.right){var e;do{if(e=this._cursor,!this._ancestors.length){this._cursor=null;break}this._cursor=this._ancestors.pop()}while(this._cursor.right===e)}else this._ancestors.push(this._cursor),this._minNode(this._cursor.right);return null!==this._cursor?this._cursor.data:null},t.prototype.prev=function(){if(null===this._cursor){var t=this._tree._root;null!==t&&this._maxNode(t)}else if(null===this._cursor.left){var e;do{if(e=this._cursor,!this._ancestors.length){this._cursor=null;break}this._cursor=this._ancestors.pop()}while(this._cursor.left===e)}else this._ancestors.push(this._cursor),this._maxNode(this._cursor.left);return null!==this._cursor?this._cursor.data:null},t.prototype._minNode=function(t){for(;null!==t.left;)this._ancestors.push(t),t=t.left;this._cursor=t},t.prototype._maxNode=function(t){for(;null!==t.right;)this._ancestors.push(t),t=t.right;this._cursor=t},t}();e.Iterator=A;var o=function(){function t(t){this.data=t,this.left=null,this.right=null,this.red=!0}return t.prototype.get_child=function(t){return t?this.right:this.left},t.prototype.set_child=function(t,e){t?this.right=e:this.left=e},t}(),a=function(t){function e(e){var n=t.call(this)||this;return n._root=null,n._comparator=e,n.size=0,n}return i(e,t),e.prototype.insert=function(t){var n=!1;if(null===this._root)this._root=new o(t),n=!0,this.size++;else{var i=new o(void 0),r=!1,A=!1,a=null,c=i,s=null,u=this._root;for(c.right=this._root;;){if(null===u?(u=new o(t),s.set_child(r,u),n=!0,this.size++):e.is_red(u.left)&&e.is_red(u.right)&&(u.red=!0,u.left.red=!1,u.right.red=!1),e.is_red(u)&&e.is_red(s)){var g=c.right===a;u===s.get_child(A)?c.set_child(g,e.single_rotate(a,!A)):c.set_child(g,e.double_rotate(a,!A))}var l=this._comparator(u.data,t);if(0===l)break;A=r,r=l<0,null!==a&&(c=a),a=s,s=u,u=u.get_child(r)}this._root=i.right}return this._root.red=!1,n},e.prototype.remove=function(t){if(null===this._root)return!1;var n=new o(void 0),i=n;i.right=this._root;for(var r=null,A=null,a=null,c=!0;null!==i.get_child(c);){var s=c;A=r,r=i,i=i.get_child(c);var u=this._comparator(t,i.data);if(c=u>0,0===u&&(a=i),!e.is_red(i)&&!e.is_red(i.get_child(c)))if(e.is_red(i.get_child(!c))){var g=e.single_rotate(i,c);r.set_child(s,g),r=g}else if(!e.is_red(i.get_child(!c))){var l=r.get_child(!s);if(null!==l)if(e.is_red(l.get_child(!s))||e.is_red(l.get_child(s))){var M=A.right===r;e.is_red(l.get_child(s))?A.set_child(M,e.double_rotate(r,s)):e.is_red(l.get_child(!s))&&A.set_child(M,e.single_rotate(r,s));var h=A.get_child(M);h.red=!0,i.red=!0,h.left.red=!1,h.right.red=!1}else r.red=!1,l.red=!0,i.red=!0}}return null!==a&&(a.data=i.data,r.set_child(r.right===i,i.get_child(null===i.left)),this.size--),this._root=n.right,null!==this._root&&(this._root.red=!1),null!==a},e.is_red=function(t){return null!==t&&t.red},e.single_rotate=function(t,e){var n=t.get_child(!e);return t.set_child(!e,n.get_child(e)),n.set_child(e,t),t.red=!0,n.red=!1,n},e.double_rotate=function(t,n){return t.set_child(!n,e.single_rotate(t.get_child(!n),!n)),e.single_rotate(t,n)},e}(r);e.RBTree=a},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t){this.elem=t,this.subheaps=[]}return t.prototype.toString=function(t){for(var e="",n=!1,i=0;i<this.subheaps.length;++i){var r=this.subheaps[i];r.elem?(n&&(e+=","),e+=r.toString(t),n=!0):n=!1}return""!==e&&(e="("+e+")"),(this.elem?t(this.elem):"")+e},t.prototype.forEach=function(t){this.empty()||(t(this.elem,this),this.subheaps.forEach(function(e){return e.forEach(t)}))},t.prototype.count=function(){return this.empty()?0:1+this.subheaps.reduce(function(t,e){return t+e.count()},0)},t.prototype.min=function(){return this.elem},t.prototype.empty=function(){return null==this.elem},t.prototype.contains=function(t){if(this===t)return!0;for(var e=0;e<this.subheaps.length;e++)if(this.subheaps[e].contains(t))return!0;return!1},t.prototype.isHeap=function(t){var e=this;return this.subheaps.every(function(n){return t(e.elem,n.elem)&&n.isHeap(t)})},t.prototype.insert=function(e,n){return this.merge(new t(e),n)},t.prototype.merge=function(t,e){return this.empty()?t:t.empty()?this:e(this.elem,t.elem)?(this.subheaps.push(t),this):(t.subheaps.push(this),t)},t.prototype.removeMin=function(t){return this.empty()?null:this.mergePairs(t)},t.prototype.mergePairs=function(e){if(0==this.subheaps.length)return new t(null);if(1==this.subheaps.length)return this.subheaps[0];var n=this.subheaps.pop().merge(this.subheaps.pop(),e),i=this.mergePairs(e);return n.merge(i,e)},t.prototype.decreaseKey=function(e,n,i,r){var A=e.removeMin(r);e.elem=A.elem,e.subheaps=A.subheaps,null!==i&&null!==A.elem&&i(e.elem,e);var o=new t(n);return null!==i&&i(n,o),this.merge(o,r)},t}();e.PairingHeap=i;var r=function(){function t(t){this.lessThan=t}return t.prototype.top=function(){return this.empty()?null:this.root.elem},t.prototype.push=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var n,r,A=0;r=t[A];++A)n=new i(r),this.root=this.empty()?n:this.root.merge(n,this.lessThan);return n},t.prototype.empty=function(){return!this.root||!this.root.elem},t.prototype.isHeap=function(){return this.root.isHeap(this.lessThan)},t.prototype.forEach=function(t){this.root.forEach(t)},t.prototype.pop=function(){if(this.empty())return null;var t=this.root.min();return this.root=this.root.removeMin(this.lessThan),t},t.prototype.reduceKey=function(t,e,n){void 0===n&&(n=null),this.root=this.root.decreaseKey(t,e,n,this.lessThan)},t.prototype.toString=function(t){return this.root.toString(t)},t.prototype.count=function(){return this.root.count()},t}();e.PriorityQueue=r},function(t,e,n){"use strict";function i(t,e,n){return(e.x-t.x)*(n.y-t.y)-(n.x-t.x)*(e.y-t.y)}function r(t,e,n){return i(t,e,n)>0}function A(t,e,n){return i(t,e,n)<0}function o(t){var e,n=t.slice(0).sort(function(t,e){return t.x!==e.x?e.x-t.x:e.y-t.y}),r=t.length,A=n[0].x;for(e=1;e<r&&n[e].x===A;++e);var o=e-1,a=[];if(a.push(n[0]),o===r-1)n[o].y!==n[0].y&&a.push(n[o]);else{var c,s=r-1,u=n[r-1].x;for(e=r-2;e>=0&&n[e].x===u;e--);for(c=e+1,e=o;++e<=c;)if(!(i(n[0],n[c],n[e])>=0&&e<c)){for(;a.length>1&&!(i(a[a.length-2],a[a.length-1],n[e])>0);)a.length-=1;0!=e&&a.push(n[e])}s!=c&&a.push(n[s]);var g=a.length;for(e=c;--e>=o;)if(!(i(n[s],n[o],n[e])>=0&&e>o)){for(;a.length>g&&!(i(a[a.length-2],a[a.length-1],n[e])>0);)a.length-=1;0!=e&&a.push(n[e])}}return a}function a(t,e,n){e.slice(0).sort(function(e,n){return Math.atan2(e.y-t.y,e.x-t.x)-Math.atan2(n.y-t.y,n.x-t.x)}).forEach(n)}function c(t,e){return{rtan:s(t,e),ltan:u(t,e)}}function s(t,e){var n,i,o,a,c,s=e.length-1;if(A(t,e[1],e[0])&&!r(t,e[s-1],e[0]))return 0;for(n=0,i=s;;){if(i-n==1)return r(t,e[n],e[i])?n:i;if(o=Math.floor((n+i)/2),(c=A(t,e[o+1],e[o]))&&!r(t,e[o-1],e[o]))return o;a=r(t,e[n+1],e[n]),a?c?i=o:r(t,e[n],e[o])?i=o:n=o:c&&A(t,e[n],e[o])?i=o:n=o}}function u(t,e){var n,i,o,a,c,s=e.length-1;if(r(t,e[s-1],e[0])&&!A(t,e[1],e[0]))return 0;for(n=0,i=s;;){if(i-n==1)return A(t,e[n],e[i])?n:i;if(o=Math.floor((n+i)/2),c=A(t,e[o+1],e[o]),r(t,e[o-1],e[o])&&!c)return o;a=A(t,e[n+1],e[n]),a?c?A(t,e[n],e[o])?i=o:n=o:i=o:c?n=o:r(t,e[n],e[o])?i=o:n=o}}function g(t,e,n,i,r,A){var o,a;o=n(e[0],t),a=i(t[o],e);for(var c=!1;!c;){for(c=!0;;){if(o===t.length-1&&(o=0),r(e[a],t[o],t[o+1]))break;++o}for(;;){if(0===a&&(a=e.length-1),A(t[o],e[a],e[a-1]))break;--a,c=!1}}return{t1:o,t2:a}}function l(t,e){var n=M(e,t);return{t1:n.t2,t2:n.t1}}function M(t,e){return g(t,e,s,u,r,A)}function h(t,e){return g(t,e,u,u,A,A)}function d(t,e){return g(t,e,s,s,r,r)}function f(t,e){for(var n=[],i=1,r=e.length;i<r;++i){var A=p.Rectangle.lineIntersection(t.x1,t.y1,t.x2,t.y2,e[i-1].x,e[i-1].y,e[i].x,e[i].y);A&&n.push(A)}return n}function I(t,e){for(var n=t.length-1,r=e.length-1,A=new w,o=0;o<n;++o)for(var a=0;a<r;++a){var c=t[0==o?n-1:o-1],s=t[o],u=t[o+1],g=e[0==a?r-1:a-1],l=e[a],M=e[a+1],h=i(c,s,l),d=i(s,g,l),f=i(s,l,M),I=i(g,l,s),E=i(l,c,s),T=i(l,s,u);h>=0&&d>=0&&f<0&&I>=0&&E>=0&&T<0?A.ll=new B(o,a):h<=0&&d<=0&&f>0&&I<=0&&E<=0&&T>0?A.rr=new B(o,a):h<=0&&d>0&&f<=0&&I>=0&&E<0&&T>=0?A.rl=new B(o,a):h>=0&&d<0&&f>=0&&I<=0&&E>0&&T<=0&&(A.lr=new B(o,a))}return A}function E(t,e){for(var n=1,i=e.length;n<i;++n)if(A(e[n-1],e[n],t))return!1;return!0}function T(t,e){return!t.every(function(t){return!E(t,e)})}function N(t,e){if(T(t,e))return!0;if(T(e,t))return!0;for(var n=1,i=t.length;n<i;++n){var r=t[n],A=t[n-1];if(f(new D(A.x,A.y,r.x,r.y),e).length>0)return!0}return!1}var y=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var p=n(105),C=function(){function t(){}return t}();e.Point=C;var D=function(){function t(t,e,n,i){this.x1=t,this.y1=e,this.x2=n,this.y2=i}return t}();e.LineSegment=D;var x=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y(e,t),e}(C);e.PolyPoint=x,e.isLeft=i,e.ConvexHull=o,e.clockwiseRadialSweep=a,e.tangent_PolyPolyC=g,e.LRtangent_PolyPolyC=l,e.RLtangent_PolyPolyC=M,e.LLtangent_PolyPolyC=h,e.RRtangent_PolyPolyC=d;var B=function(){function t(t,e){this.t1=t,this.t2=e}return t}();e.BiTangent=B;var w=function(){function t(){}return t}();e.BiTangents=w;var m=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y(e,t),e}(C);e.TVGPoint=m;var Q=function(){function t(t,e,n,i){this.id=t,this.polyid=e,this.polyvertid=n,this.p=i,i.vv=this}return t}();e.VisibilityVertex=Q;var v=function(){function t(t,e){this.source=t,this.target=e}return t.prototype.length=function(){var t=this.source.p.x-this.target.p.x,e=this.source.p.y-this.target.p.y;return Math.sqrt(t*t+e*e)},t}();e.VisibilityEdge=v;var j=function(){function t(t,e){if(this.P=t,this.V=[],this.E=[],e)this.V=e.V.slice(0),this.E=e.E.slice(0);else{for(var n=t.length,i=0;i<n;i++)for(var r=t[i],A=0;A<r.length;++A){var o=r[A],a=new Q(this.V.length,i,A,o);this.V.push(a),A>0&&this.E.push(new v(r[A-1].vv,a))}for(var i=0;i<n-1;i++)for(var c=t[i],A=i+1;A<n;A++){var s=t[A],u=I(c,s);for(var g in u){var l=u[g],M=c[l.t1],h=s[l.t2];this.addEdgeIfVisible(M,h,i,A)}}}}return t.prototype.addEdgeIfVisible=function(t,e,n,i){this.intersectsPolys(new D(t.x,t.y,e.x,e.y),n,i)||this.E.push(new v(t.vv,e.vv))},t.prototype.addPoint=function(t,e){var n=this.P.length;this.V.push(new Q(this.V.length,n,0,t));for(var i=0;i<n;++i)if(i!==e){var r=this.P[i],A=c(t,r);this.addEdgeIfVisible(t,r[A.ltan],e,i),this.addEdgeIfVisible(t,r[A.rtan],e,i)}return t.vv},t.prototype.intersectsPolys=function(t,e,n){for(var i=0,r=this.P.length;i<r;++i)if(i!=e&&i!=n&&f(t,this.P[i]).length>0)return!0;return!1},t}();e.TangentVisibilityGraph=j,e.tangents=I,e.polysOverlap=N},function(t,e,n){"use strict";function i(t,e,n,i,r){function o(t,e){E=[],h=0,d=0,I=g;for(var n=0;n<t.length;n++){a(t[n],e)}return Math.abs(s()-r)}function a(t,e){for(var n=void 0,i=0;i<E.length;i++)if(E[i].space_left>=t.height&&E[i].x+E[i].width+t.width+A.PADDING-e<=A.FLOAT_EPSILON){n=E[i];break}E.push(t),void 0!==n?(t.x=n.x+n.width+A.PADDING,t.y=n.bottom,t.space_left=t.height,t.bottom=t.y,n.space_left-=t.height+A.PADDING,n.bottom+=t.height+A.PADDING):(t.y=I,I+=t.height+A.PADDING,t.x=u,t.bottom=t.y,t.space_left=t.height),t.y+t.height-d>-A.FLOAT_EPSILON&&(d=t.y+t.height-g),t.x+t.width-h>-A.FLOAT_EPSILON&&(h=t.x+t.width-u)}function c(t){var e=0;return t.forEach(function(t){return e+=t.width+A.PADDING}),e}function s(){return h/d}void 0===r&&(r=1);var u=0,g=0,l=e,M=n,r=void 0!==r?r:1,i=void 0!==i?i:0,h=0,d=0,f=0,I=0,E=[];0!=t.length&&(function(t){function e(t){var e=Number.MAX_VALUE,n=Number.MAX_VALUE,r=0,A=0;t.array.forEach(function(t){var o=void 0!==t.width?t.width:i,a=void 0!==t.height?t.height:i;o/=2,a/=2,r=Math.max(t.x+o,r),e=Math.min(t.x-o,e),A=Math.max(t.y+a,A),n=Math.min(t.y-a,n)}),t.width=r-e,t.height=A-n}t.forEach(function(t){e(t)})}(t),function(t,e){var n=Number.POSITIVE_INFINITY,i=0;t.sort(function(t,e){return e.height-t.height}),f=t.reduce(function(t,e){return t.width<e.width?t.width:e.width});for(var r=d=f,a=I=c(t),s=0,u=Number.MAX_VALUE,g=Number.MAX_VALUE,l=-1,M=Number.MAX_VALUE,h=Number.MAX_VALUE;M>f||h>A.FLOAT_EPSILON;){if(1!=l)var d=a-(a-r)/A.GOLDEN_SECTION,u=o(t,d);if(0!=l)var I=r+(a-r)/A.GOLDEN_SECTION,g=o(t,I);if(M=Math.abs(d-I),h=Math.abs(u-g),u<n&&(n=u,i=d),g<n&&(n=g,i=I),u>g?(r=d,d=I,u=g,l=1):(a=I,I=d,g=u,l=0),s++>100)break}o(t,i)}(t),function(t){t.forEach(function(t){var e={x:0,y:0};t.array.forEach(function(t){e.x+=t.x,e.y+=t.y}),e.x/=t.array.length,e.y/=t.array.length;var n={x:e.x-t.width/2,y:e.y-t.height/2},i={x:t.x-n.x+l/2-h/2,y:t.y-n.y+M/2-d/2};t.array.forEach(function(t){t.x+=i.x,t.y+=i.y})})}(t))}function r(t,e){function n(t,e){if(void 0===i[t.index]){e&&(o++,A.push({array:[]})),i[t.index]=o,A[o-1].array.push(t);var a=r[t.index];if(a)for(var c=0;c<a.length;c++)n(a[c],!1)}}for(var i={},r={},A=[],o=0,a=0;a<e.length;a++){var c=e[a],s=c.source,u=c.target;r[s.index]?r[s.index].push(u):r[s.index]=[u],r[u.index]?r[u.index].push(s):r[u.index]=[s]}for(var a=0;a<t.length;a++){var g=t[a];i[g.index]||n(g,!0)}return A}Object.defineProperty(e,"__esModule",{value:!0});var A={PADDING:10,GOLDEN_SECTION:(1+Math.sqrt(5))/2,FLOAT_EPSILON:1e-4,MAX_INERATIONS:100};e.applyPacking=i,e.separateGraphs=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(105),r=n(218),A=n(141),o=function(){function t(t,e,n){this.id=t,this.rect=e,this.children=n,this.leaf=void 0===n||0===n.length}return t}();e.NodeWrapper=o;var a=function(){function t(t,e,n,i,r){void 0===i&&(i=null),void 0===r&&(r=null),this.id=t,this.x=e,this.y=n,this.node=i,this.line=r}return t}();e.Vert=a;var c=function(){function t(e,n){this.s=e,this.t=n;var i=t.findMatch(e,n),r=n.slice(0).reverse(),A=t.findMatch(e,r);i.length>=A.length?(this.length=i.length,this.si=i.si,this.ti=i.ti,this.reversed=!1):(this.length=A.length,this.si=A.si,this.ti=n.length-A.ti-A.length,this.reversed=!0)}return t.findMatch=function(t,e){for(var n=t.length,i=e.length,r={length:0,si:-1,ti:-1},A=new Array(n),o=0;o<n;o++){A[o]=new Array(i);for(var a=0;a<i;a++)if(t[o]===e[a]){var c=A[o][a]=0===o||0===a?1:A[o-1][a-1]+1;c>r.length&&(r.length=c,r.si=o-c+1,r.ti=a-c+1)}else A[o][a]=0}return r},t.prototype.getSequence=function(){return this.length>=0?this.s.slice(this.si,this.si+this.length):[]},t}();e.LongestCommonSubsequence=c;var s=function(){function t(t,e,n){void 0===n&&(n=12);var r=this;this.originalnodes=t,this.groupPadding=n,this.leaves=null,this.nodes=t.map(function(t,n){return new o(n,e.getBounds(t),e.getChildren(t))}),this.leaves=this.nodes.filter(function(t){return t.leaf}),this.groups=this.nodes.filter(function(t){return!t.leaf}),this.cols=this.getGridLines("x"),this.rows=this.getGridLines("y"),this.groups.forEach(function(t){return t.children.forEach(function(e){return r.nodes[e].parent=t})}),this.root={children:[]},this.nodes.forEach(function(t){void 0===t.parent&&(t.parent=r.root,r.root.children.push(t.id)),t.ports=[]}),this.backToFront=this.nodes.slice(0),this.backToFront.sort(function(t,e){return r.getDepth(t)-r.getDepth(e)}),this.backToFront.slice(0).reverse().filter(function(t){return!t.leaf}).forEach(function(t){var e=i.Rectangle.empty();t.children.forEach(function(t){return e=e.union(r.nodes[t].rect)}),t.rect=e.inflate(r.groupPadding)});var A=this.midPoints(this.cols.map(function(t){return t.pos})),c=this.midPoints(this.rows.map(function(t){return t.pos})),s=A[0],u=A[A.length-1],g=c[0],l=c[c.length-1],M=this.rows.map(function(t){return{x1:s,x2:u,y1:t.pos,y2:t.pos}}).concat(c.map(function(t){return{x1:s,x2:u,y1:t,y2:t}})),h=this.cols.map(function(t){return{x1:t.pos,x2:t.pos,y1:g,y2:l}}).concat(A.map(function(t){return{x1:t,x2:t,y1:g,y2:l}})),d=M.concat(h);d.forEach(function(t){return t.verts=[]}),this.verts=[],this.edges=[],M.forEach(function(t){return h.forEach(function(e){var n=new a(r.verts.length,e.x1,t.y1);t.verts.push(n),e.verts.push(n),r.verts.push(n);for(var i=r.backToFront.length;i-- >0;){var A=r.backToFront[i],o=A.rect,c=Math.abs(n.x-o.cx()),s=Math.abs(n.y-o.cy());if(c<o.width()/2&&s<o.height()/2){n.node=A;break}}})}),d.forEach(function(t,e){r.nodes.forEach(function(e,n){e.rect.lineIntersections(t.x1,t.y1,t.x2,t.y2).forEach(function(n,i){var A=new a(r.verts.length,n.x,n.y,e,t);r.verts.push(A),t.verts.push(A),e.ports.push(A)})});var n=Math.abs(t.y1-t.y2)<.1,i=function(t,e){return n?e.x-t.x:e.y-t.y};t.verts.sort(i);for(var A=1;A<t.verts.length;A++){var o=t.verts[A-1],c=t.verts[A];o.node&&o.node===c.node&&o.node.leaf||r.edges.push({source:o.id,target:c.id,length:Math.abs(i(o,c))})}})}return t.prototype.avg=function(t){return t.reduce(function(t,e){return t+e})/t.length},t.prototype.getGridLines=function(t){for(var e=[],n=this.leaves.slice(0,this.leaves.length);n.length>0;){var i=n.filter(function(e){return e.rect["overlap"+t.toUpperCase()](n[0].rect)}),r={nodes:i,pos:this.avg(i.map(function(e){return e.rect["c"+t]()}))};e.push(r),r.nodes.forEach(function(t){return n.splice(n.indexOf(t),1)})}return e.sort(function(t,e){return t.pos-e.pos}),e},t.prototype.getDepth=function(t){for(var e=0;t.parent!==this.root;)e++,t=t.parent;return e},t.prototype.midPoints=function(t){for(var e=t[1]-t[0],n=[t[0]-e/2],i=1;i<t.length;i++)n.push((t[i]+t[i-1])/2);return n.push(t[t.length-1]+e/2),n},t.prototype.findLineage=function(t){var e=[t];do{t=t.parent,e.push(t)}while(t!==this.root);return e.reverse()},t.prototype.findAncestorPathBetween=function(t,e){for(var n=this.findLineage(t),i=this.findLineage(e),r=0;n[r]===i[r];)r++;return{commonAncestor:n[r-1],lineages:n.slice(r).concat(i.slice(r))}},t.prototype.siblingObstacles=function(t,e){var n=this,i=this.findAncestorPathBetween(t,e),r={};i.lineages.forEach(function(t){return r[t.id]={}});var A=i.commonAncestor.children.filter(function(t){return!(t in r)});return i.lineages.filter(function(t){return t.parent!==i.commonAncestor}).forEach(function(t){return A=A.concat(t.parent.children.filter(function(e){return e!==t.id}))}),A.map(function(t){return n.nodes[t]})},t.getSegmentSets=function(t,e,n){for(var i=[],r=0;r<t.length;r++)for(var A=t[r],o=0;o<A.length;o++){var a=A[o];a.edgeid=r,a.i=o;var c=a[1][e]-a[0][e];Math.abs(c)<.1&&i.push(a)}i.sort(function(t,n){return t[0][e]-n[0][e]});for(var s=[],u=null,g=0;g<i.length;g++){var a=i[g];(!u||Math.abs(a[0][e]-u.pos)>.1)&&(u={pos:a[0][e],segments:[]},s.push(u)),u.segments.push(a)}return s},t.nudgeSegs=function(t,e,n,i,A,o){var a=i.length;if(!(a<=1)){for(var c=i.map(function(e){return new r.Variable(e[0][t])}),s=[],u=0;u<a;u++)for(var g=0;g<a;g++)if(u!==g){var l=i[u],M=i[g],h=l.edgeid,d=M.edgeid,f=-1,I=-1;"x"==t?A(h,d)&&(l[0][e]<l[1][e]?(f=g,I=u):(f=u,I=g)):A(h,d)&&(l[0][e]<l[1][e]?(f=u,I=g):(f=g,I=u)),f>=0&&s.push(new r.Constraint(c[f],c[I],o))}new r.Solver(c,s).solve(),c.forEach(function(e,r){var A=i[r],o=e.position();A[0][t]=A[1][t]=o;var a=n[A.edgeid];A.i>0&&(a[A.i-1][1][t]=o),A.i<a.length-1&&(a[A.i+1][0][t]=o)})}},t.nudgeSegments=function(e,n,i,r,A){for(var o=t.getSegmentSets(e,n,i),a=0;a<o.length;a++){for(var c=o[a],s=[],u=0;u<c.segments.length;u++){var g=c.segments[u];s.push({type:0,s:g,pos:Math.min(g[0][i],g[1][i])}),s.push({type:1,s:g,pos:Math.max(g[0][i],g[1][i])})}s.sort(function(t,e){return t.pos-e.pos+t.type-e.type});var l=[],M=0;s.forEach(function(o){0===o.type?(l.push(o.s),M++):M--,0==M&&(t.nudgeSegs(n,i,e,l,r,A),l=[])})}},t.prototype.routeEdges=function(e,n,i,r){var A=this,o=e.map(function(t){return A.route(i(t),r(t))}),a=t.orderEdges(o),c=o.map(function(e){return t.makeSegments(e)});return t.nudgeSegments(c,"x","y",a,n),t.nudgeSegments(c,"y","x",a,n),t.unreverseEdges(c,o),c},t.unreverseEdges=function(t,e){t.forEach(function(t,n){e[n].reversed&&(t.reverse(),t.forEach(function(t){t.reverse()}))})},t.angleBetween2Lines=function(t,e){var n=Math.atan2(t[0].y-t[1].y,t[0].x-t[1].x),i=Math.atan2(e[0].y-e[1].y,e[0].x-e[1].x),r=n-i;return(r>Math.PI||r<-Math.PI)&&(r=i-n),r},t.isLeft=function(t,e,n){return(e.x-t.x)*(n.y-t.y)-(e.y-t.y)*(n.x-t.x)<=0},t.getOrder=function(t){for(var e={},n=0;n<t.length;n++){var i=t[n];void 0===e[i.l]&&(e[i.l]={}),e[i.l][i.r]=!0}return function(t,n){return void 0!==e[t]&&e[t][n]}},t.orderEdges=function(e){for(var n=[],i=0;i<e.length-1;i++)for(var r=i+1;r<e.length;r++){var A,o,a,s=e[i],u=e[r],g=new c(s,u);0!==g.length&&(g.reversed&&(u.reverse(),u.reversed=!0,g=new c(s,u)),(g.si<=0||g.ti<=0)&&(g.si+g.length>=s.length||g.ti+g.length>=u.length)?n.push({l:i,r:r}):(g.si+g.length>=s.length||g.ti+g.length>=u.length?(A=s[g.si+1],a=s[g.si-1],o=u[g.ti-1]):(A=s[g.si+g.length-2],o=s[g.si+g.length],a=u[g.ti+g.length]),t.isLeft(A,o,a)?n.push({l:r,r:i}):n.push({l:i,r:r})))}return t.getOrder(n)},t.makeSegments=function(t){function e(t){return{x:t.x,y:t.y}}for(var n=[],i=e(t[0]),r=1;r<t.length;r++){var A=e(t[r]),o=r<t.length-1?t[r+1]:null;o&&function(t,e,n){return Math.abs((e.x-t.x)*(n.y-t.y)-(e.y-t.y)*(n.x-t.x))<.001}(i,A,o)||(n.push([i,A]),i=A)}return n},t.prototype.route=function(t,e){var n=this,i=this.nodes[t],r=this.nodes[e];this.obstacles=this.siblingObstacles(i,r);var o={};this.obstacles.forEach(function(t){return o[t.id]=t}),this.passableEdges=this.edges.filter(function(t){var e=n.verts[t.source],i=n.verts[t.target];return!(e.node&&e.node.id in o||i.node&&i.node.id in o)});for(var a=1;a<i.ports.length;a++){var c=i.ports[0].id,s=i.ports[a].id;this.passableEdges.push({source:c,target:s,length:0})}for(var a=1;a<r.ports.length;a++){var c=r.ports[0].id,s=r.ports[a].id;this.passableEdges.push({source:c,target:s,length:0})}var u=function(t){return t.source},g=function(t){return t.target},l=function(t){return t.length},M=new A.Calculator(this.verts.length,this.passableEdges,u,g,l),h=function(t,e,A){var o=n.verts[t],a=n.verts[e],c=n.verts[A],s=Math.abs(c.x-o.x),u=Math.abs(c.y-o.y);return o.node===i&&o.node===a.node||a.node===r&&a.node===c.node?0:s>1&&u>1?1e3:0},d=M.PathFromNodeToNodeWithPrevCost(i.ports[0].id,r.ports[0].id,h),f=d.reverse().map(function(t){return n.verts[t]});return f.push(this.nodes[r.id].ports[0]),f.filter(function(t,e){return!(e<f.length-1&&f[e+1].node===i&&t.node===i||e>0&&t.node===r&&f[e-1].node===r)})},t.getRoutePath=function(e,n,i,r){var A={routepath:"M "+e[0][0].x+" "+e[0][0].y+" ",arrowpath:""};if(e.length>1)for(var o=0;o<e.length;o++){var a=e[o],c=a[1].x,s=a[1].y,u=c-a[0].x,g=s-a[0].y;if(o<e.length-1){Math.abs(u)>0?c-=u/Math.abs(u)*n:s-=g/Math.abs(g)*n,A.routepath+="L "+c+" "+s+" ";var l=e[o+1],M=l[0].x,h=l[0].y,d=l[1].x,f=l[1].y;u=d-M,g=f-h;var I,E,T=t.angleBetween2Lines(a,l)<0?1:0;Math.abs(u)>0?(I=M+u/Math.abs(u)*n,E=h):(I=M,E=h+g/Math.abs(g)*n);var N=Math.abs(I-c),y=Math.abs(E-s);A.routepath+="A "+N+" "+y+" 0 0 "+T+" "+I+" "+E+" "}else{var p,C,D=[c,s];Math.abs(u)>0?(c-=u/Math.abs(u)*r,p=[c,s+i],C=[c,s-i]):(s-=g/Math.abs(g)*r,p=[c+i,s],C=[c-i,s]),A.routepath+="L "+c+" "+s+" ",r>0&&(A.arrowpath="M "+D[0]+" "+D[1]+" L "+p[0]+" "+p[1]+" L "+C[0]+" "+C[1])}}else{var p,C,a=e[0],c=a[1].x,s=a[1].y,u=c-a[0].x,g=s-a[0].y,D=[c,s];Math.abs(u)>0?(c-=u/Math.abs(u)*r,p=[c,s+i],C=[c,s-i]):(s-=g/Math.abs(g)*r,p=[c+i,s],C=[c-i,s]),A.routepath+="L "+c+" "+s+" ",r>0&&(A.arrowpath="M "+D[0]+" "+D[1]+" L "+p[0]+" "+p[1]+" L "+C[0]+" "+C[1])}return A},t}();e.GridRouter=s},function(t,e,n){"use strict";(function(t){function i(){return A.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function r(t,e){if(i()<e)throw new RangeError("Invalid typed array length");return A.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e),t.__proto__=A.prototype):(null===t&&(t=new A(e)),t.length=e),t}function A(t,e,n){if(!(A.TYPED_ARRAY_SUPPORT||this instanceof A))return new A(t,e,n);if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return s(this,t)}return o(this,t,e,n)}function o(t,e,n,i){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?l(t,e,n,i):"string"==typeof e?u(t,e,n):M(t,e)}function a(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function c(t,e,n,i){return a(e),e<=0?r(t,e):void 0!==n?"string"==typeof i?r(t,e).fill(n,i):r(t,e).fill(n):r(t,e)}function s(t,e){if(a(e),t=r(t,e<0?0:0|h(e)),!A.TYPED_ARRAY_SUPPORT)for(var n=0;n<e;++n)t[n]=0;return t}function u(t,e,n){if("string"==typeof n&&""!==n||(n="utf8"),!A.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var i=0|f(e,n);t=r(t,i);var o=t.write(e,n);return o!==i&&(t=t.slice(0,o)),t}function g(t,e){var n=e.length<0?0:0|h(e.length);t=r(t,n);for(var i=0;i<n;i+=1)t[i]=255&e[i];return t}function l(t,e,n,i){if(e.byteLength,n<0||e.byteLength<n)throw new RangeError("'offset' is out of bounds");if(e.byteLength<n+(i||0))throw new RangeError("'length' is out of bounds");return e=void 0===n&&void 0===i?new Uint8Array(e):void 0===i?new Uint8Array(e,n):new Uint8Array(e,n,i),A.TYPED_ARRAY_SUPPORT?(t=e,t.__proto__=A.prototype):t=g(t,e),t}function M(t,e){if(A.isBuffer(e)){var n=0|h(e.length);return t=r(t,n),0===t.length?t:(e.copy(t,0,0,n),t)}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||_(e.length)?r(t,0):g(t,e);if("Buffer"===e.type&&q(e.data))return g(t,e.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function h(t){if(t>=i())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i().toString(16)+" bytes");return 0|t}function d(t){return+t!=t&&(t=0),A.alloc(+t)}function f(t,e){if(A.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return J(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return V(t).length;default:if(i)return J(t).length;e=(""+e).toLowerCase(),i=!0}}function I(t,e,n){var i=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if(n>>>=0,e>>>=0,n<=e)return"";for(t||(t="utf8");;)switch(t){case"hex":return L(this,e,n);case"utf8":case"utf-8":return m(this,e,n);case"ascii":return v(this,e,n);case"latin1":case"binary":return j(this,e,n);case"base64":return w(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,n);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function E(t,e,n){var i=t[e];t[e]=t[n],t[n]=i}function T(t,e,n,i,r){if(0===t.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=r?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(r)return-1;n=t.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof e&&(e=A.from(e,i)),A.isBuffer(e))return 0===e.length?-1:N(t,e,n,i,r);if("number"==typeof e)return e&=255,A.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):N(t,[e],n,i,r);throw new TypeError("val must be string, number or Buffer")}function N(t,e,n,i,r){function A(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}var o=1,a=t.length,c=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;o=2,a/=2,c/=2,n/=2}var s;if(r){var u=-1;for(s=n;s<a;s++)if(A(t,s)===A(e,-1===u?0:s-u)){if(-1===u&&(u=s),s-u+1===c)return u*o}else-1!==u&&(s-=s-u),u=-1}else for(n+c>a&&(n=a-c),s=n;s>=0;s--){for(var g=!0,l=0;l<c;l++)if(A(t,s+l)!==A(e,l)){g=!1;break}if(g)return s}return-1}function y(t,e,n,i){n=Number(n)||0;var r=t.length-n;i?(i=Number(i))>r&&(i=r):i=r;var A=e.length;if(A%2!=0)throw new TypeError("Invalid hex string");i>A/2&&(i=A/2);for(var o=0;o<i;++o){var a=parseInt(e.substr(2*o,2),16);if(isNaN(a))return o;t[n+o]=a}return o}function p(t,e,n,i){return W(J(e,t.length-n),t,n,i)}function C(t,e,n,i){return W(P(e),t,n,i)}function D(t,e,n,i){return C(t,e,n,i)}function x(t,e,n,i){return W(V(e),t,n,i)}function B(t,e,n,i){return W(X(e,t.length-n),t,n,i)}function w(t,e,n){return 0===e&&n===t.length?Z.fromByteArray(t):Z.fromByteArray(t.slice(e,n))}function m(t,e,n){n=Math.min(t.length,n);for(var i=[],r=e;r<n;){var A=t[r],o=null,a=A>239?4:A>223?3:A>191?2:1;if(r+a<=n){var c,s,u,g;switch(a){case 1:A<128&&(o=A);break;case 2:c=t[r+1],128==(192&c)&&(g=(31&A)<<6|63&c)>127&&(o=g);break;case 3:c=t[r+1],s=t[r+2],128==(192&c)&&128==(192&s)&&(g=(15&A)<<12|(63&c)<<6|63&s)>2047&&(g<55296||g>57343)&&(o=g);break;case 4:c=t[r+1],s=t[r+2],u=t[r+3],128==(192&c)&&128==(192&s)&&128==(192&u)&&(g=(15&A)<<18|(63&c)<<12|(63&s)<<6|63&u)>65535&&g<1114112&&(o=g)}}null===o?(o=65533,a=1):o>65535&&(o-=65536,i.push(o>>>10&1023|55296),o=56320|1023&o),i.push(o),r+=a}return Q(i)}function Q(t){var e=t.length;if(e<=$)return String.fromCharCode.apply(String,t);for(var n="",i=0;i<e;)n+=String.fromCharCode.apply(String,t.slice(i,i+=$));return n}function v(t,e,n){var i="";n=Math.min(t.length,n);for(var r=e;r<n;++r)i+=String.fromCharCode(127&t[r]);return i}function j(t,e,n){var i="";n=Math.min(t.length,n);for(var r=e;r<n;++r)i+=String.fromCharCode(t[r]);return i}function L(t,e,n){var i=t.length;(!e||e<0)&&(e=0),(!n||n<0||n>i)&&(n=i);for(var r="",A=e;A<n;++A)r+=H(t[A]);return r}function S(t,e,n){for(var i=t.slice(e,n),r="",A=0;A<i.length;A+=2)r+=String.fromCharCode(i[A]+256*i[A+1]);return r}function Y(t,e,n){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>n)throw new RangeError("Trying to access beyond buffer length")}function b(t,e,n,i,r,o){if(!A.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||e<o)throw new RangeError('"value" argument is out of bounds');if(n+i>t.length)throw new RangeError("Index out of range")}function O(t,e,n,i){e<0&&(e=65535+e+1);for(var r=0,A=Math.min(t.length-n,2);r<A;++r)t[n+r]=(e&255<<8*(i?r:1-r))>>>8*(i?r:1-r)}function z(t,e,n,i){e<0&&(e=4294967295+e+1);for(var r=0,A=Math.min(t.length-n,4);r<A;++r)t[n+r]=e>>>8*(i?r:3-r)&255}function U(t,e,n,i,r,A){if(n+i>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function F(t,e,n,i,r){return r||U(t,e,n,4,3.4028234663852886e38,-3.4028234663852886e38),K.write(t,e,n,i,23,4),n+4}function k(t,e,n,i,r){return r||U(t,e,n,8,1.7976931348623157e308,-1.7976931348623157e308),K.write(t,e,n,i,52,8),n+8}function R(t){if(t=G(t).replace(tt,""),t.length<2)return"";for(;t.length%4!=0;)t+="=";return t}function G(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function H(t){return t<16?"0"+t.toString(16):t.toString(16)}function J(t,e){e=e||1/0;for(var n,i=t.length,r=null,A=[],o=0;o<i;++o){if((n=t.charCodeAt(o))>55295&&n<57344){if(!r){if(n>56319){(e-=3)>-1&&A.push(239,191,189);continue}if(o+1===i){(e-=3)>-1&&A.push(239,191,189);continue}r=n;continue}if(n<56320){(e-=3)>-1&&A.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(e-=3)>-1&&A.push(239,191,189);if(r=null,n<128){if((e-=1)<0)break;A.push(n)}else if(n<2048){if((e-=2)<0)break;A.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;A.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;A.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return A}function P(t){for(var e=[],n=0;n<t.length;++n)e.push(255&t.charCodeAt(n));return e}function X(t,e){for(var n,i,r,A=[],o=0;o<t.length&&!((e-=2)<0);++o)n=t.charCodeAt(o),i=n>>8,r=n%256,A.push(r),A.push(i);return A}function V(t){return Z.toByteArray(R(t))}function W(t,e,n,i){for(var r=0;r<i&&!(r+n>=e.length||r>=t.length);++r)e[r+n]=t[r];return r}function _(t){return t!==t}/*!
+ * The buffer module from node.js, for the browser.
+ *
+ * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
+ * @license MIT
+ */
+var Z=n(651),K=n(652),q=n(653);e.Buffer=A,e.SlowBuffer=d,e.INSPECT_MAX_BYTES=50,A.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}(),e.kMaxLength=i(),A.poolSize=8192,A._augment=function(t){return t.__proto__=A.prototype,t},A.from=function(t,e,n){return o(null,t,e,n)},A.TYPED_ARRAY_SUPPORT&&(A.prototype.__proto__=Uint8Array.prototype,A.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&A[Symbol.species]===A&&Object.defineProperty(A,Symbol.species,{value:null,configurable:!0})),A.alloc=function(t,e,n){return c(null,t,e,n)},A.allocUnsafe=function(t){return s(null,t)},A.allocUnsafeSlow=function(t){return s(null,t)},A.isBuffer=function(t){return!(null==t||!t._isBuffer)},A.compare=function(t,e){if(!A.isBuffer(t)||!A.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var n=t.length,i=e.length,r=0,o=Math.min(n,i);r<o;++r)if(t[r]!==e[r]){n=t[r],i=e[r];break}return n<i?-1:i<n?1:0},A.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},A.concat=function(t,e){if(!q(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return A.alloc(0);var n;if(void 0===e)for(e=0,n=0;n<t.length;++n)e+=t[n].length;var i=A.allocUnsafe(e),r=0;for(n=0;n<t.length;++n){var o=t[n];if(!A.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,r),r+=o.length}return i},A.byteLength=f,A.prototype._isBuffer=!0,A.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)E(this,e,e+1);return this},A.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)E(this,e,e+3),E(this,e+1,e+2);return this},A.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)E(this,e,e+7),E(this,e+1,e+6),E(this,e+2,e+5),E(this,e+3,e+4);return this},A.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?m(this,0,t):I.apply(this,arguments)},A.prototype.equals=function(t){if(!A.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===A.compare(this,t)},A.prototype.inspect=function(){var t="",n=e.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),"<Buffer "+t+">"},A.prototype.compare=function(t,e,n,i,r){if(!A.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),e<0||n>t.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&e>=n)return 0;if(i>=r)return-1;if(e>=n)return 1;if(e>>>=0,n>>>=0,i>>>=0,r>>>=0,this===t)return 0;for(var o=r-i,a=n-e,c=Math.min(o,a),s=this.slice(i,r),u=t.slice(e,n),g=0;g<c;++g)if(s[g]!==u[g]){o=s[g],a=u[g];break}return o<a?-1:a<o?1:0},A.prototype.includes=function(t,e,n){return-1!==this.indexOf(t,e,n)},A.prototype.indexOf=function(t,e,n){return T(this,t,e,n,!0)},A.prototype.lastIndexOf=function(t,e,n){return T(this,t,e,n,!1)},A.prototype.write=function(t,e,n,i){if(void 0===e)i="utf8",n=this.length,e=0;else if(void 0===n&&"string"==typeof e)i=e,n=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(n)?(n|=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-e;if((void 0===n||n>r)&&(n=r),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var A=!1;;)switch(i){case"hex":return y(this,t,e,n);case"utf8":case"utf-8":return p(this,t,e,n);case"ascii":return C(this,t,e,n);case"latin1":case"binary":return D(this,t,e,n);case"base64":return x(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,t,e,n);default:if(A)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),A=!0}},A.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var $=4096;A.prototype.slice=function(t,e){var n=this.length;t=~~t,e=void 0===e?n:~~e,t<0?(t+=n)<0&&(t=0):t>n&&(t=n),e<0?(e+=n)<0&&(e=0):e>n&&(e=n),e<t&&(e=t);var i;if(A.TYPED_ARRAY_SUPPORT)i=this.subarray(t,e),i.__proto__=A.prototype;else{var r=e-t;i=new A(r,void 0);for(var o=0;o<r;++o)i[o]=this[o+t]}return i},A.prototype.readUIntLE=function(t,e,n){t|=0,e|=0,n||Y(t,e,this.length);for(var i=this[t],r=1,A=0;++A<e&&(r*=256);)i+=this[t+A]*r;return i},A.prototype.readUIntBE=function(t,e,n){t|=0,e|=0,n||Y(t,e,this.length);for(var i=this[t+--e],r=1;e>0&&(r*=256);)i+=this[t+--e]*r;return i},A.prototype.readUInt8=function(t,e){return e||Y(t,1,this.length),this[t]},A.prototype.readUInt16LE=function(t,e){return e||Y(t,2,this.length),this[t]|this[t+1]<<8},A.prototype.readUInt16BE=function(t,e){return e||Y(t,2,this.length),this[t]<<8|this[t+1]},A.prototype.readUInt32LE=function(t,e){return e||Y(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},A.prototype.readUInt32BE=function(t,e){return e||Y(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},A.prototype.readIntLE=function(t,e,n){t|=0,e|=0,n||Y(t,e,this.length);for(var i=this[t],r=1,A=0;++A<e&&(r*=256);)i+=this[t+A]*r;return r*=128,i>=r&&(i-=Math.pow(2,8*e)),i},A.prototype.readIntBE=function(t,e,n){t|=0,e|=0,n||Y(t,e,this.length);for(var i=e,r=1,A=this[t+--i];i>0&&(r*=256);)A+=this[t+--i]*r;return r*=128,A>=r&&(A-=Math.pow(2,8*e)),A},A.prototype.readInt8=function(t,e){return e||Y(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},A.prototype.readInt16LE=function(t,e){e||Y(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},A.prototype.readInt16BE=function(t,e){e||Y(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},A.prototype.readInt32LE=function(t,e){return e||Y(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},A.prototype.readInt32BE=function(t,e){return e||Y(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},A.prototype.readFloatLE=function(t,e){return e||Y(t,4,this.length),K.read(this,t,!0,23,4)},A.prototype.readFloatBE=function(t,e){return e||Y(t,4,this.length),K.read(this,t,!1,23,4)},A.prototype.readDoubleLE=function(t,e){return e||Y(t,8,this.length),K.read(this,t,!0,52,8)},A.prototype.readDoubleBE=function(t,e){return e||Y(t,8,this.length),K.read(this,t,!1,52,8)},A.prototype.writeUIntLE=function(t,e,n,i){if(t=+t,e|=0,n|=0,!i){b(this,t,e,n,Math.pow(2,8*n)-1,0)}var r=1,A=0;for(this[e]=255&t;++A<n&&(r*=256);)this[e+A]=t/r&255;return e+n},A.prototype.writeUIntBE=function(t,e,n,i){if(t=+t,e|=0,n|=0,!i){b(this,t,e,n,Math.pow(2,8*n)-1,0)}var r=n-1,A=1;for(this[e+r]=255&t;--r>=0&&(A*=256);)this[e+r]=t/A&255;return e+n},A.prototype.writeUInt8=function(t,e,n){return t=+t,e|=0,n||b(this,t,e,1,255,0),A.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},A.prototype.writeUInt16LE=function(t,e,n){return t=+t,e|=0,n||b(this,t,e,2,65535,0),A.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):O(this,t,e,!0),e+2},A.prototype.writeUInt16BE=function(t,e,n){return t=+t,e|=0,n||b(this,t,e,2,65535,0),A.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):O(this,t,e,!1),e+2},A.prototype.writeUInt32LE=function(t,e,n){return t=+t,e|=0,n||b(this,t,e,4,4294967295,0),A.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):z(this,t,e,!0),e+4},A.prototype.writeUInt32BE=function(t,e,n){return t=+t,e|=0,n||b(this,t,e,4,4294967295,0),A.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):z(this,t,e,!1),e+4},A.prototype.writeIntLE=function(t,e,n,i){if(t=+t,e|=0,!i){var r=Math.pow(2,8*n-1);b(this,t,e,n,r-1,-r)}var A=0,o=1,a=0;for(this[e]=255&t;++A<n&&(o*=256);)t<0&&0===a&&0!==this[e+A-1]&&(a=1),this[e+A]=(t/o>>0)-a&255;return e+n},A.prototype.writeIntBE=function(t,e,n,i){if(t=+t,e|=0,!i){var r=Math.pow(2,8*n-1);b(this,t,e,n,r-1,-r)}var A=n-1,o=1,a=0;for(this[e+A]=255&t;--A>=0&&(o*=256);)t<0&&0===a&&0!==this[e+A+1]&&(a=1),this[e+A]=(t/o>>0)-a&255;return e+n},A.prototype.writeInt8=function(t,e,n){return t=+t,e|=0,n||b(this,t,e,1,127,-128),A.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},A.prototype.writeInt16LE=function(t,e,n){return t=+t,e|=0,n||b(this,t,e,2,32767,-32768),A.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):O(this,t,e,!0),e+2},A.prototype.writeInt16BE=function(t,e,n){return t=+t,e|=0,n||b(this,t,e,2,32767,-32768),A.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):O(this,t,e,!1),e+2},A.prototype.writeInt32LE=function(t,e,n){return t=+t,e|=0,n||b(this,t,e,4,2147483647,-2147483648),A.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):z(this,t,e,!0),e+4},A.prototype.writeInt32BE=function(t,e,n){return t=+t,e|=0,n||b(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),A.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):z(this,t,e,!1),e+4},A.prototype.writeFloatLE=function(t,e,n){return F(this,t,e,!0,n)},A.prototype.writeFloatBE=function(t,e,n){return F(this,t,e,!1,n)},A.prototype.writeDoubleLE=function(t,e,n){return k(this,t,e,!0,n)},A.prototype.writeDoubleBE=function(t,e,n){return k(this,t,e,!1,n)},A.prototype.copy=function(t,e,n,i){if(n||(n=0),i||0===i||(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i<n&&(i=n),i===n)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e<i-n&&(i=t.length-e+n);var r,o=i-n;if(this===t&&n<e&&e<i)for(r=o-1;r>=0;--r)t[r+e]=this[r+n];else if(o<1e3||!A.TYPED_ARRAY_SUPPORT)for(r=0;r<o;++r)t[r+e]=this[r+n];else Uint8Array.prototype.set.call(t,this.subarray(n,n+o),e);return o},A.prototype.fill=function(t,e,n,i){if("string"==typeof t){if("string"==typeof e?(i=e,e=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),1===t.length){var r=t.charCodeAt(0);r<256&&(t=r)}if(void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!A.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<n)throw new RangeError("Out of range index");if(n<=e)return this;e>>>=0,n=void 0===n?this.length:n>>>0,t||(t=0);var o;if("number"==typeof t)for(o=e;o<n;++o)this[o]=t;else{var a=A.isBuffer(t)?t:J(new A(t,i).toString()),c=a.length;for(o=0;o<n-e;++o)this[o+e]=a[o%c]}return this};var tt=/[^+\/0-9A-Za-z-_]/g}).call(e,n(106))},function(t,e,n){function i(t){var e=t.url;if(!e&&t.file)return M+t.file;if(t.baseURL&&!l.test(e)&&(u(e,"/")||"/"===t.baseURL[t.baseURL.length-1]||(e="/"+e),e=t.baseURL+e),!r.useXHR&&u(e,"//")&&(e=(t.defaultProtocol||"http")+":"+e),t.domainWhiteList){var i,A;if(r.useXHR){var o=document.createElement("a");o.href=e,""===o.host&&(o.href=o.href),i=o.hostname.toLowerCase(),A=window.location.hostname}else{var a=n(655).parse(e);i=a.hostname,A=null}if(A!==i){if(!t.domainWhiteList.some(function(t){var e=i.length-t.length;return t===i||e>1&&"."===i[e-1]&&i.lastIndexOf(t)===e}))throw"URL is not whitelisted: "+e}}return e}function r(t,e){return r.loader(t,e)}function A(t,e){var n,i=e||function(t){throw t};try{n=r.sanitizeUrl(t)}catch(t){return void i(t)}if(n)return r.useXHR?r.xhr(n,t,e):u(n,M)?r.file(n.slice(M.length),t,e):n.indexOf("://")<0?r.file(n,t,e):r.http(n,t,e);i("Invalid URL: "+t.url)}function o(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}function a(t,e,n){function i(){var t=a.status;!t&&o(a)||t>=200&&t<300||304===t?n(null,a.responseText):n(a,null)}var A=!!n,a=new XMLHttpRequest;if("undefined"==typeof XDomainRequest||"withCredentials"in a||!/^(http(s)?:)?\/\//.test(t)||(a=new XDomainRequest),A&&("onload"in a?a.onload=a.onerror=i:a.onreadystatechange=function(){a.readyState>3&&i()}),a.open("GET",t,A),a.setRequestHeader){var c=g.extend({},r.headers,e.headers);for(var s in c)a.setRequestHeader(s,c[s])}if(a.send(),!A&&o(a))return a.responseText}function c(t,e,i){var r=n(656);if(!i)return r.readFileSync(t,"utf8");r.readFile(t,i)}function s(t,e,i){var A=g.extend({},r.headers,e.headers),o={url:t,encoding:null,gzip:!0,headers:A};if(!i)return n(657)("GET",t,o).getBody();n(658)(o,function(t,e,n){t||200!==e.statusCode?(t=t||"Load failed with response code "+e.statusCode+".",i(t,null)):i(null,n)})}function u(t,e){return null!=t&&0===t.lastIndexOf(e,0)}var g=n(16),l=/^([A-Za-z]+:)?\/\//,M="file://";r.loader=A,r.sanitizeUrl=i,r.xhr=a,r.file=c,r.http=s,r.useXHR="undefined"!=typeof XMLHttpRequest,r.headers={},t.exports=r},function(t,e,n){function i(t,e){var n=e&&e.type||"json";return t=a[n](t,e),e&&e.parse&&r(t,e.parse),t}function r(t,e){var n,i,r,a,s,u,g=t.length;for(e="auto"===e?o.inferAll(t):A.duplicate(e),n=A.keys(e),i=n.map(function(t){var n=e[t];if(n&&0===n.indexOf("date:")){var i=n.split(/:(.+)?/,2),r=i[1];if(!("'"===r[0]&&"'"===r[r.length-1]||'"'===r[0]&&'"'===r[r.length-1]))throw Error("Format pattern must be quoted: "+r);return r=r.slice(1,-1),r=c(r),function(t){return r.parse(t)}}if(!o.parsers[n])throw Error("Illegal format pattern: "+t+":"+n);return o.parsers[n]}),a=0,u=n.length;a<g;++a)for(r=t[a],s=0;s<u;++s)r[n[s]]=i[s](r[n[s]]);o.annotation(t,e)}var A=n(16),o=n(107),a=n(659),c=n(221).time;i.formats=a,t.exports=i},function(t,e,n){!function(t,n){n(e)}(0,function(t){"use strict";function e(){}function n(t){if(!t)return e;var n,i,r=t.scale[0],A=t.scale[1],o=t.translate[0],a=t.translate[1];return function(t,e){e||(n=i=0),t[0]=(n+=t[0])*r+o,t[1]=(i+=t[1])*A+a}}function i(t){if(!t)return e;var n,i,r=t.scale[0],A=t.scale[1],o=t.translate[0],a=t.translate[1];return function(t,e){e||(n=i=0);var c=Math.round((t[0]-o)/r),s=Math.round((t[1]-a)/A);t[0]=c-n,t[1]=s-i,n=c,i=s}}function r(t,e){for(var n,i=t.length,r=i-e;r<--i;)n=t[r],t[r++]=t[i],t[i]=n}function A(t,e){for(var n=0,i=t.length;n<i;){var r=n+i>>>1;t[r]<e?n=r+1:i=r}return n}function o(t,e){return"GeometryCollection"===e.type?{type:"FeatureCollection",features:e.geometries.map(function(e){return a(t,e)})}:a(t,e)}function a(t,e){var n={type:"Feature",id:e.id,properties:e.properties||{},geometry:c(t,e)};return null==e.id&&delete n.id,n}function c(t,e){function i(t,e){e.length&&e.pop();for(var n,i=g[t<0?~t:t],A=0,o=i.length;A<o;++A)e.push(n=i[A].slice()),u(n,A);t<0&&r(e,o)}function A(t){return t=t.slice(),u(t,0),t}function o(t){for(var e=[],n=0,r=t.length;n<r;++n)i(t[n],e);return e.length<2&&e.push(e[0].slice()),e}function a(t){for(var e=o(t);e.length<4;)e.push(e[0].slice());return e}function c(t){return t.map(a)}function s(t){var e=t.type;return"GeometryCollection"===e?{type:e,geometries:t.geometries.map(s)}:e in l?{type:e,coordinates:l[e](t)}:null}var u=n(t.transform),g=t.arcs,l={Point:function(t){return A(t.coordinates)},MultiPoint:function(t){return t.coordinates.map(A)},LineString:function(t){return o(t.arcs)},MultiLineString:function(t){return t.arcs.map(o)},Polygon:function(t){return c(t.arcs)},MultiPolygon:function(t){return t.arcs.map(c)}};return s(e)}function s(t,e){function n(e){var n,i=t.arcs[e<0?~e:e],r=i[0];return t.transform?(n=[0,0],i.forEach(function(t){n[0]+=t[0],n[1]+=t[1]})):n=i[i.length-1],e<0?[n,r]:[r,n]}function i(t,e){for(var n in t){var i=t[n];delete e[i.start],delete i.start,delete i.end,i.forEach(function(t){r[t<0?~t:t]=1}),a.push(i)}}var r={},A={},o={},a=[],c=-1;return e.forEach(function(n,i){var r,A=t.arcs[n<0?~n:n];A.length<3&&!A[1][0]&&!A[1][1]&&(r=e[++c],e[c]=n,e[i]=r)}),e.forEach(function(t){var e,i,r=n(t),a=r[0],c=r[1];if(e=o[a])if(delete o[e.end],e.push(t),e.end=c,i=A[c]){delete A[i.start];var s=i===e?e:e.concat(i);A[s.start=e.start]=o[s.end=i.end]=s}else A[e.start]=o[e.end]=e;else if(e=A[c])if(delete A[e.start],e.unshift(t),e.start=a,i=o[a]){delete o[i.end];var u=i===e?e:i.concat(e);A[u.start=i.start]=o[u.end=e.end]=u}else A[e.start]=o[e.end]=e;else e=[t],A[e.start=a]=o[e.end=c]=e}),i(o,A),i(A,o),e.forEach(function(t){r[t<0?~t:t]||a.push([t])}),a}function u(t){return c(t,g.apply(this,arguments))}function g(t,e,n){function i(t){var e=t<0?~t:t;(u[e]||(u[e]=[])).push({i:t,g:c})}function r(t){t.forEach(i)}function A(t){t.forEach(r)}function o(t){"GeometryCollection"===t.type?t.geometries.forEach(o):t.type in g&&(c=t,g[t.type](t.arcs))}var a=[];if(arguments.length>1){var c,u=[],g={LineString:r,MultiLineString:A,Polygon:A,MultiPolygon:function(t){t.forEach(A)}};o(e),u.forEach(arguments.length<3?function(t){a.push(t[0].i)}:function(t){n(t[0].g,t[t.length-1].g)&&a.push(t[0].i)})}else for(var l=0,M=t.arcs.length;l<M;++l)a.push(l);return{type:"MultiLineString",arcs:s(t,a)}}function l(t){var e=t[0],n=t[1],i=t[2];return Math.abs((e[0]-i[0])*(n[1]-e[1])-(e[0]-n[0])*(i[1]-e[1]))}function M(t){for(var e,n=-1,i=t.length,r=t[i-1],A=0;++n<i;)e=r,r=t[n],A+=e[0]*r[1]-e[1]*r[0];return A/2}function h(t){return c(t,d.apply(this,arguments))}function d(t,e){function n(t){t.forEach(function(e){e.forEach(function(e){(r[e=e<0?~e:e]||(r[e]=[])).push(t)})}),A.push(t)}function i(e){return Math.abs(M(c(t,{type:"Polygon",arcs:[e]}).coordinates[0]))}var r={},A=[],o=[];return e.forEach(function(t){"Polygon"===t.type?n(t.arcs):"MultiPolygon"===t.type&&t.arcs.forEach(n)}),A.forEach(function(t){if(!t._){var e=[],n=[t];for(t._=1,o.push(e);t=n.pop();)e.push(t),t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].forEach(function(t){t._||(t._=1,n.push(t))})})})}}),A.forEach(function(t){delete t._}),{type:"MultiPolygon",arcs:o.map(function(e){var n,A=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].length<2&&A.push(t)})})}),A=s(t,A),(n=A.length)>1)for(var o,a,c=1,u=i(A[0]);c<n;++c)(o=i(A[c]))>u&&(a=A[0],A[0]=A[c],A[c]=a,u=o);return A})}}function f(t){function e(t,e){t.forEach(function(t){t<0&&(t=~t);var n=r[t];n?n.push(e):r[t]=[e]})}function n(t,n){t.forEach(function(t){e(t,n)})}function i(t,e){"GeometryCollection"===t.type?t.geometries.forEach(function(t){i(t,e)}):t.type in a&&a[t.type](t.arcs,e)}var r={},o=t.map(function(){return[]}),a={LineString:e,MultiLineString:n,Polygon:n,MultiPolygon:function(t,e){t.forEach(function(t){n(t,e)})}};t.forEach(i);for(var c in r)for(var s=r[c],u=s.length,g=0;g<u;++g)for(var l=g+1;l<u;++l){var M,h=s[g],d=s[l];(M=o[h])[c=A(M,d)]!==d&&M.splice(c,0,d),(M=o[d])[c=A(M,h)]!==h&&M.splice(c,0,h)}return o}function I(t,e){return t[1][2]-e[1][2]}function E(){function t(t,e){for(;e>0;){var n=(e+1>>1)-1,r=i[n];if(I(t,r)>=0)break;i[r._=e]=r,i[t._=e=n]=t}}function e(t,e){for(;;){var n=e+1<<1,A=n-1,o=e,a=i[o];if(A<r&&I(i[A],a)<0&&(a=i[o=A]),n<r&&I(i[n],a)<0&&(a=i[o=n]),o===e)break;i[a._=e]=a,i[t._=e=o]=t}}var n={},i=[],r=0;return n.push=function(e){return t(i[e._=r]=e,r++),r},n.pop=function(){if(!(r<=0)){var t,n=i[0];return--r>0&&(t=i[r],e(i[t._=0]=t,0)),n}},n.remove=function(n){var A,o=n._;if(i[o]===n)return o!==--r&&(A=i[r],(I(A,n)<0?t:e)(i[A._=o]=A,o)),o},n}function T(t,e){function r(t){a.remove(t),t[1][2]=e(t),a.push(t)}var A=n(t.transform),o=i(t.transform),a=E();return e||(e=l),t.arcs.forEach(function(t){var n,i,c,s,u=[],g=0;for(i=0,c=t.length;i<c;++i)s=t[i],A(t[i]=[s[0],s[1],1/0],i);for(i=1,c=t.length-1;i<c;++i)n=t.slice(i-1,i+2),n[1][2]=e(n),u.push(n),a.push(n);for(i=0,c=u.length;i<c;++i)n=u[i],n.previous=u[i-1],n.next=u[i+1];for(;n=a.pop();){var l=n.previous,M=n.next;n[1][2]<g?n[1][2]=g:g=n[1][2],l&&(l.next=M,l[2]=n[2],r(l)),M&&(M.previous=l,M[0]=n[0],r(M))}t.forEach(o)}),t}t.version="1.6.27",t.mesh=u,t.meshArcs=g,t.merge=h,t.mergeArcs=d,t.feature=o,t.neighbors=f,t.presimplify=T,Object.defineProperty(t,"__esModule",{value:!0})})},function(t,e,n){function i(){this._cells={},this._aggr=[],this._stream=!1}function r(t){if(A.isArray(t))return t;if(null==t)return[];var e,n,i=[];for(e in t)n=A.array(t[e]),i.push({name:e,ops:n});return i}var A=n(16),o=n(666),a=n(667),c=i.Flags={ADD_CELL:1,MOD_CELL:2},s=i.prototype;s.stream=function(t){return null==t?this._stream:(this._stream=!!t,this._aggr=[],this)},s.key=function(t){return null==t?this._key:(this._key=A.$(t),this)},s.groupby=function(t){return this._dims=A.array(t).map(function(t,e){if(null==(t=A.isString(t)?{name:t,get:A.$(t)}:A.isFunction(t)?{name:A.name(t)||t.name||"_"+e,get:t}:t.name&&A.isFunction(t.get)?t:null))throw"Invalid groupby argument: "+t;return t}),this.clear()},s.summarize=function(t){t=r(t),this._count=!0;var e,n,i,a,c,s,u,g=this._aggr=[];for(i=0;i<t.length;++i){for(a=0,e=[],n=t[i];a<n.ops.length;++a)c=n.ops[a],"count"!==c&&(this._count=!1),s=n.as&&n.as[a]||c+("*"===n.name?"":"_"+n.name),e.push(o[c](s));u=n.get&&A.$(n.get)||("*"===n.name?A.identity:A.$(n.name)),g.push({name:n.name,measures:o.create(e,this._stream,u,this._assign)})}return this.clear()},s.count=function(){return this.summarize({"*":"count"})},s._assign=function(t,e,n){t[e]=n},s.clear=function(){return this._cells={},this},s._cellkey=function(t){var e,n=this._dims,i=n.length,r=String(n[0].get(t));for(e=1;e<i;++e)r+="|"+n[e].get(t);return r},s._cell=function(t){var e=this._dims.length?this._cellkey(t):"";return this._cells[e]||(this._cells[e]=this._newcell(t,e))},s._newcell=function(t,e){var n,i={num:0,tuple:this._newtuple(t,e),flag:c.ADD_CELL,aggs:{}},r=this._aggr;for(n=0;n<r.length;++n)i.aggs[r[n].name]=new r[n].measures(i,i.tuple);return i.collect&&(i.data=new a(this._key)),i},s._newtuple=function(t){var e,n,i=this._dims,r={};for(e=0,n=i.length;e<n;++e)r[i[e].name]=i[e].get(t);return this._ingest(r)},s._ingest=A.identity,s._add=function(t){var e,n=this._cell(t),i=this._aggr;if(n.num+=1,!this._count)for(n.collect&&n.data.add(t),e=0;e<i.length;++e)n.aggs[i[e].name].add(t);n.flag|=c.MOD_CELL,this._on_add&&this._on_add(t,n)},s._rem=function(t){var e,n=this._cell(t),i=this._aggr;if(n.num-=1,!this._count)for(n.collect&&n.data.rem(t),e=0;e<i.length;++e)n.aggs[i[e].name].rem(t);n.flag|=c.MOD_CELL,this._on_rem&&this._on_rem(t,n)},s._mod=function(t,e){var n,i=this._cell(e),r=this._cell(t),o=this._aggr;for(i!==r?(i.num-=1,r.num+=1,i.collect&&i.data.rem(e),r.collect&&r.data.add(t)):i.collect&&!A.isObject(t)&&(i.data.rem(e),i.data.add(t)),n=0;n<o.length;++n)i.aggs[o[n].name].rem(e),r.aggs[o[n].name].add(t);i.flag|=c.MOD_CELL,r.flag|=c.MOD_CELL,this._on_mod&&this._on_mod(t,e,i,r)},s._markMod=function(t){this._cell(t).flag|=c.MOD_CELL},s.result=function(){var t,e,n,i=[],r=this._aggr;for(n in this._cells){if(t=this._cells[n],t.num>0){for(t.collect&&t.data.values(),e=0;e<r.length;++e)t.aggs[r[e].name].set();i.push(t.tuple)}else delete this._cells[n];t.flag=0}return this._rems=!1,i},s.changes=function(t){var e,n,i,r,A=t||{add:[],rem:[],mod:[]},o=this._aggr;for(r in this._cells){for(e=this._cells[r],n=e.flag,e.collect&&e.data.values(),i=0;i<o.length;++i)e.aggs[o[i].name].set();e.num<=0?(A.rem.push(e.tuple),delete this._cells[r],this._on_drop&&this._on_drop(e)):(this._on_keep&&this._on_keep(e),n&c.ADD_CELL?A.add.push(e.tuple):n&c.MOD_CELL&&A.mod.push(e.tuple)),e.flag=0}return this._rems=!1,A},s.execute=function(t){return this.clear().insert(t).result()},s.insert=function(t){this._consolidate();for(var e=0;e<t.length;++e)this._add(t[e]);return this},s.remove=function(t){if(!this._stream)throw"Aggregator not configured for streaming removes. Call stream(true) prior to calling summarize.";for(var e=0;e<t.length;++e)this._rem(t[e]);return this._rems=!0,this},s._consolidate=function(){if(this._rems){for(var t in this._cells)this._cells[t].collect&&this._cells[t].data.values();this._rems=!1}},t.exports=i},function(t,e,n){function i(t){if(!t)throw Error("Missing binning options.");var e,n,i,a,c,s,u,g=t.maxbins||15,l=t.base||10,M=Math.log(l),h=t.div||[5,2],d=t.min,f=t.max,I=f-d;if(t.step)e=t.step;else if(t.steps)e=t.steps[Math.min(t.steps.length-1,r(t.steps,I/g,0,t.steps.length))];else{for(n=Math.ceil(Math.log(g)/M),i=t.minstep||0,e=Math.max(i,Math.pow(l,Math.round(Math.log(I)/M)-n));Math.ceil(I/e)>g;)e*=l;for(s=0;s<h.length;++s)(c=e/h[s])>=i&&I/c<=g&&(e=c)}return c=Math.log(e),a=c>=0?0:1+~~(-c/M),u=Math.pow(l,-a-1),d=Math.min(d,Math.floor(d/e+u)*e),f=Math.ceil(f/e)*e,{start:d,stop:f,step:e,unit:{precision:a},value:A,index:o}}function r(t,e,n,i){for(;n<i;){var r=n+i>>>1;s.cmp(t[r],e)<0?n=r+1:i=r}return n}function A(t){return this.step*Math.floor(t/this.step+g)}function o(t){return Math.floor((t-this.start)/this.step+g)}function a(t){return this.unit.date(A.call(this,t))}function c(t){return o.call(this,this.unit.unit(t))}var s=n(16),u=n(224),g=1e-15;i.date=function(t){if(!t)throw Error("Missing date binning options.");var e=t.utc?u.utc:u,n=t.min,r=t.max,A=t.maxbins||20,o=t.minbins||4,s=+r-+n,g=t.unit?e[t.unit]:e.find(s,o,A),l=i({min:null!=g.min?g.min:g.unit(n),max:null!=g.max?g.max:g.unit(r),maxbins:A,minstep:g.minstep,steps:g.step});return l.unit=g,l.index=c,t.raw||(l.value=a),l},t.exports=i},function(t,e,n){function i(t,e,n){n=o(t,e,n);var i=A(n);return i?l.$func("bin",i.unit.unit?function(t){return i.value(i.unit.unit(t))}:function(t){return i.value(t)})(n.accessor):n.accessor||l.identity}function r(t,e,n){n=o(t,e,n);var i=A(n);return i?a(t,n.accessor,i):c(t,n.accessor,n&&n.sort)}function A(t){var e=t.type,n=null;return(null==e||h[e])&&("integer"===e&&null==t.minstep&&(t.minstep=1),n="date"===e?s.date(t):s(t)),n}function o(){var t=arguments,e=0,n=l.isArray(t[e])?t[e++]:null,i=l.isFunction(t[e])||l.isString(t[e])?l.$(t[e++]):null,r=l.extend({},t[e]);if(n&&(r.type=r.type||g(n,i),h[r.type])){var A=M.extent(n,i);r=l.extend({min:A[0],max:A[1]},r)}return i&&(r.accessor=i),r}function a(t,e,n){for(var i,r,A=u.range(n.start,n.stop+n.step/2,n.step).map(function(t){return{value:n.value(t),count:0}}),o=0;o<t.length;++o)if(i=e?e(t[o]):t[o],l.isValid(i)){if((r=n.index(i))<0||r>=A.length||!isFinite(r))continue;A[r].count+=1}return A.bins=n,A}function c(t,e,n){var i=M.unique(t,e),r=M.count.map(t,e);return i.map(function(t){return{value:t,count:r[t]}}).sort(l.comparator(n?"-count":"+value"))}var s=n(336),u=n(223),g=n(107),l=n(16),M=n(108),h={integer:1,number:1,date:1};t.exports={$bin:i,histogram:r}},function(t,e,n){function i(t){var e=r(t,"d");return e="var __t; return "+e+";",new Function("d",e).bind(g)}function r(t,e,n){e=e||"obj";var i=0,r="'",a=l;return t.replace(a,function(a,c,s){return r+=t.slice(i,s).replace(f,o),i=s+a.length,c&&(r+="'\n+((__t=("+A(c,e,n)+"))==null?'':__t)+\n'"),a}),r+"'"}function A(t,e,n){function r(t){return t=t||"",g?(g=!1,l="String("+l+")"+t):l+=t,l}function A(){return"(typeof "+l+'==="number"?new Date('+l+"):"+l+")"}function o(t){var e=N[0];if(!("'"===e[0]&&"'"===e[e.length-1]||'"'===e[0]&&'"'===e[e.length-1]))throw Error("Format pattern must be quoted: "+e);e=e.slice(1,-1),I=a(e,t),g=!1;var n="number"===t?l:A();l="this.formats["+I+"]("+n+")"}var c=t.match(M),u=c.shift().trim(),g=!0;n&&(n[u]=1);for(var l=i.property(e,u),d=0;d<c.length;++d){var f,I,E,T=c[d],N=null;switch((f=T.indexOf(":"))>0&&(T=T.slice(0,f),N=c[d].slice(f+1).match(h).map(function(t){return t.trim()})),T=T.trim()){case"length":r(".length");break;case"lower":r(".toLowerCase()");break;case"upper":r(".toUpperCase()");break;case"lower-locale":r(".toLocaleLowerCase()");break;case"upper-locale":r(".toLocaleUpperCase()");break;case"trim":r(".trim()");break;case"left":I=s.number(N[0]),r(".slice(0,"+I+")");break;case"right":I=s.number(N[0]),r(".slice(-"+I+")");break;case"mid":I=s.number(N[0]),E=I+s.number(N[1]),r(".slice(+"+I+","+E+")");break;case"slice":I=s.number(N[0]),r(".slice("+I+(N.length>1?","+s.number(N[1]):"")+")");break;case"truncate":I=s.number(N[0]),E=N[1],E="left"!==E&&"middle"!==E&&"center"!==E?"right":E,l="this.truncate("+r()+","+I+",'"+E+"')";break;case"pad":I=s.number(N[0]),E=N[1],E="left"!==E&&"middle"!==E&&"center"!==E?"right":E,l="this.pad("+r()+","+I+",'"+E+"')";break;case"number":o("number");break;case"time":o("time");break;case"time-utc":o("utc");break;case"month":l="this.month("+l+")";break;case"month-abbrev":l="this.month("+l+",true)";break;case"day":l="this.day("+l+")";break;case"day-abbrev":l="this.day("+l+",true)";break;case"quarter":l="this.quarter("+l+")";break;case"quarter-utc":l="this.utcQuarter("+l+")";break;default:throw Error("Unrecognized template filter: "+T)}}return l}function o(t){return"\\"+d[t]}function a(t,e){var n=e+":"+t;if(null==g.format_map[n]){var i=u[e](t),r=g.formats.length;return g.formats.push(i),g.format_map[n]=r,r}return g.format_map[n]}function c(t,e){return g.formats[a(t,e)]}var s=n(16),u=n(221),g={formats:[],format_map:{},truncate:s.truncate,pad:s.pad,day:u.day,month:u.month,quarter:u.quarter,utcQuarter:u.utcQuarter};i.source=r,i.context=g,i.format=c,t.exports=i,i.clearFormatCache=function(){g.formats=[],g.format_map={}},i.property=function(t,e){return t+"["+s.field(e).map(s.str).join("][")+"]"};var l=/\{\{(.+?)\}\}|$/g,M=/(?:"[^"]*"|\'[^\']*\'|[^\|"]+|[^\|\']+)+/g,h=/(?:"[^"]*"|\'[^\']*\'|[^,"]+|[^,\']+)+/g,d={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},f=/\\|'|\r|\n|\u2028|\u2029/g},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function A(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0}),n(691);var o=n(340),a=function(t){return t&&t.__esModule?t:{default:t}}(o),c=n(103),s=function(t){return function(t){function e(){var t;i(this,e);for(var n=arguments.length,A=Array(n),o=0;o<n;o++)A[o]=arguments[o];var a=r(this,(t=e.__proto__||Object.getPrototypeOf(e)).call.apply(t,[this].concat(A)));return window.addResizeListener(a.el,function(){var t=(0,c.getElementSize)(a.el);a.emit("resize",t.width,t.height,a)}),a}return A(e,t),e}((0,a.default)(t))};e.default=s},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function A(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var o=n(692),a=function(t){return t&&t.__esModule?t:{default:t}}(o),c=function(t){return function(t){function e(){var t;i(this,e);for(var n=arguments.length,A=Array(n),o=0;o<n;o++)A[o]=arguments[o];var c=r(this,(t=e.__proto__||Object.getPrototypeOf(e)).call.apply(t,[this].concat(A)));return(0,a.default)(c),c}return A(e,t),e}(t)};e.default=c},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function A(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var o=n(103),a=function(t){return function(t){function e(){var t;i(this,e);for(var n=arguments.length,A=Array(n),a=0;a<n;a++)A[a]=arguments[a];var c=r(this,(t=e.__proto__||Object.getPrototypeOf(e)).call.apply(t,[this].concat(A))),s=(0,o.getElementSize)(c.el);return c.width=s.width,c.height=s.height,c}return A(e,t),e}(t)};e.default=a},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.axis=n(343),e.aggregate=n(110),e.bin=n(111),e.channel=n(7),e.compositeMark=n(144);var i=n(720);e.compile=i.compile,e.config=n(355),e.data=n(67),e.datetime=n(66),e.encoding=n(32),e.facet=n(759),e.fieldDef=n(9),e.legend=n(230),e.mark=n(31),e.scale=n(11),e.sort=n(152),e.spec=n(113),e.stack=n(232),e.timeUnit=n(112),e.transform=n(149),e.type=n(49),e.util=n(2),e.validate=n(760),e.version=n(761).version},function(t,e,n){"use strict";function i(t){return!!a[t]}Object.defineProperty(e,"__esModule",{value:!0});var r=n(3),A=n(2);e.AXIS_PROPERTY_TYPE={grid:"grid",labelOverlap:"main",offset:"main",title:"main"};var o={orient:1,domain:1,format:1,grid:1,labelBound:1,labelFlush:1,labelPadding:1,labels:1,labelOverlap:1,maxExtent:1,minExtent:1,offset:1,position:1,tickCount:1,ticks:1,tickSize:1,title:1,titlePadding:1,values:1,zindex:1},a=r.__assign({},o,{encoding:1,labelAngle:1,titleMaxLength:1}),c=r.__assign({scale:1},o,{gridScale:1,encode:1});e.isAxisProperty=i,e.VG_AXIS_PROPERTIES=A.flagKeys(c)},function(t,e,n){var i="undefined"!=typeof JSON?JSON:n(694);t.exports=function(t,e){e||(e={}),"function"==typeof e&&(e={cmp:e});var n=e.space||"";"number"==typeof n&&(n=Array(n+1).join(" "));var o="boolean"==typeof e.cycles&&e.cycles,a=e.replacer||function(t,e){return e},c=e.cmp&&function(t){return function(e){return function(n,i){var r={key:n,value:e[n]},A={key:i,value:e[i]};return t(r,A)}}}(e.cmp),s=[];return function t(e,u,g,l){var M=n?"\n"+new Array(l+1).join(n):"",h=n?": ":":";if(g&&g.toJSON&&"function"==typeof g.toJSON&&(g=g.toJSON()),void 0!==(g=a.call(e,u,g))){if("object"!=typeof g||null===g)return i.stringify(g);if(r(g)){for(var d=[],f=0;f<g.length;f++){var I=t(g,f,g[f],l+1)||i.stringify(null);d.push(M+n+I)}return"["+d.join(",")+M+"]"}if(-1!==s.indexOf(g)){if(o)return i.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}s.push(g);for(var E=A(g).sort(c&&c(g)),d=[],f=0;f<E.length;f++){var u=E[f],T=t(g,u,g[u],l+1);if(T){var N=i.stringify(u)+h+T;d.push(M+n+N)}}return s.splice(s.indexOf(g),1),"{"+d.join(",")+M+"}"}}({"":t},"",t,0)};var r=Array.isArray||function(t){return"[object Array]"==={}.toString.call(t)},A=Object.keys||function(t){var e=Object.prototype.hasOwnProperty||function(){return!0},n=[];for(var i in t)e.call(t,i)&&n.push(i);return n}},function(t,e,n){"use strict";n.d(e,"b",function(){return o}),n.d(e,"c",function(){return a}),n.d(e,"f",function(){return c}),n.d(e,"d",function(){return s}),n.d(e,"e",function(){return u}),n.d(e,"a",function(){return g});var i=n(109),r=n(346),A=[],o=Object(r.a)("id"),a=Object(i.c)(function(t){return t},A,"identity"),c=Object(i.c)(function(){return 0},A,"zero"),s=Object(i.c)(function(){return 1},A,"one"),u=Object(i.c)(function(){return!0},A,"true"),g=Object(i.c)(function(){return!1},A,"false")},function(t,e,n){"use strict";var i=n(109),r=n(142),A=n(143);e.a=function(t,e){var n=Object(r.a)(t),o="return _["+n.map(A.a).join("][")+"];";return Object(i.c)(Function("_",o),[t=1===n.length?n[0]:t],e||t)}},function(t,e,n){"use strict";e.a=function(t){throw Error(t)}},function(t,e,n){"use strict";e.a=function(t){return t===Object(t)}},function(t,e,n){"use strict";e.a=function(t){return"string"==typeof t}},function(t,e,n){"use strict";e.a=function(t){return t[t.length-1]}},function(t,e,n){"use strict";e.a=function(t){return null==t||""===t?null:+t}},function(t,e,n){"use strict";e.a=function(t){return"[object Date]"===Object.prototype.toString.call(t)}},function(t,e,n){"use strict";e.a=function(t){return"number"==typeof t}},function(t,e,n){"use strict";e.a=function(t,e){for(var n="";--e>=0;)n+=t;return n}},function(t,e,n){"use strict";function i(t){return f.mergeDeep(f.duplicate(e.defaultConfig),t)}function r(t){t=f.duplicate(t);for(var e=0,n=E;e<n.length;e++){var i=n[e];delete t[i]}if(t.axis)for(var r=0,o=s.VL_ONLY_GUIDE_CONFIG;r<o.length;r++){var i=o[r];delete t.axis[i]}if(t.legend)for(var a=0,c=s.VL_ONLY_GUIDE_CONFIG;a<c.length;a++){var i=c[a];delete t.legend[i]}if(t.mark)for(var u=0,l=g.VL_ONLY_MARK_CONFIG_PROPERTIES;u<l.length;u++){var i=l[u];delete t.mark[i]}for(var M=0,h=I;M<h.length;M++){for(var d=h[M],N=0,y=g.VL_ONLY_MARK_CONFIG_PROPERTIES;N<y.length;N++){var i=y[N];delete t[d][i]}var p=T[d];if(p)for(var C=0,D=p;C<D.length;C++){var i=D[C];delete t[d][i]}A(t,d)}A(t,"title","group-title");for(var i in t)f.isObject(t[i])&&0===f.keys(t[i]).length&&delete t[i];return f.keys(t).length>0?t:void 0}function A(t,e,n){var i="title"===e?d.extractTitleConfig(t.title).mark:t[e];"view"===e&&(n="cell");var r=o.__assign({},i,t.style[e]);f.keys(r).length>0&&(t.style[n||e]=r),delete t[e]}Object.defineProperty(e,"__esModule",{value:!0});var o=n(3),a=n(144),c=n(144),s=n(721),u=n(230),g=n(31),l=n(31),M=n(11),h=n(231),d=n(356),f=n(2);e.defaultViewConfig={width:200,height:200},e.defaultConfig={padding:5,timeFormat:"%b %d, %Y",countTitle:"Number of Records",invalidValues:"filter",view:e.defaultViewConfig,mark:l.defaultMarkConfig,area:{},bar:l.defaultBarConfig,circle:{},line:{},point:{},rect:{},rule:{color:"black"},square:{},text:{color:"black"},tick:l.defaultTickConfig,box:{size:14},boxWhisker:{},boxMid:{color:"white"},scale:M.defaultScaleConfig,axis:{},axisX:{},axisY:{minExtent:30},axisLeft:{},axisRight:{},axisTop:{},axisBottom:{},axisBand:{},legend:u.defaultLegendConfig,selection:h.defaultConfig,style:{},title:{}},e.initConfig=i;var I=["view"].concat(g.PRIMITIVE_MARKS,a.COMPOSITE_MARK_STYLES),E=["padding","numberFormat","timeFormat","countTitle","stack","scale","selection","invalidValues","overlay"],T=o.__assign({view:["width","height"]},g.VL_ONLY_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX,c.VL_ONLY_COMPOSITE_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX);e.stripAndRedirectConfig=r},function(t,e,n){"use strict";function i(t){var e=t.anchor,n=t.offset,i=t.orient,A=t.color,o=r.__rest(t,["anchor","offset","orient","color"]);return{mark:r.__assign({},o,A?{fill:A}:{}),nonMark:r.__assign({},e?{anchor:e}:{},n?{offset:n}:{},i?{orient:i}:{})}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(3);e.extractTitleConfig=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(2),A=n(146),o=n(150),a=n(18),c=function(t){function e(e,n,i,r,A){return t.call(this,e,n,i,r,A)||this}return i.__extends(e,t),e.prototype.parseData=function(){this.component.data=A.parseData(this),this.children.forEach(function(t){t.parseData()})},e.prototype.parseSelection=function(){var t=this;this.component.selection={};for(var e=0,n=this.children;e<n.length;e++){var i=n[e];!function(e){e.parseSelection(),r.keys(e.component.selection).forEach(function(n){t.component.selection[n]=e.component.selection[n]})}(i)}},e.prototype.parseMarkGroup=function(){for(var t=0,e=this.children;t<e.length;t++){e[t].parseMarkGroup()}},e.prototype.parseAxisAndHeader=function(){for(var t=0,e=this.children;t<e.length;t++){e[t].parseAxisAndHeader()}},e.prototype.assembleSelectionTopLevelSignals=function(t){return this.children.reduce(function(t,e){return e.assembleSelectionTopLevelSignals(t)},t)},e.prototype.assembleSelectionSignals=function(){return this.children.forEach(function(t){return t.assembleSelectionSignals()}),[]},e.prototype.assembleLayoutSignals=function(){return this.children.reduce(function(t,e){return t.concat(e.assembleLayoutSignals())},o.assembleLayoutSignals(this))},e.prototype.assembleSelectionData=function(t){return this.children.reduce(function(t,e){return e.assembleSelectionData(t)},[])},e.prototype.assembleMarks=function(){return this.children.map(function(t){var e=t.assembleTitle(),n=t.assembleGroupStyle(),r=t.assembleLayoutSize();return i.__assign({type:"group",name:t.getName("group")},e?{title:e}:{},n?{style:n}:{},r?{encode:{update:r}}:{},t.assembleGroup())})},e}(a.Model);e.BaseConcatModel=c},function(t,e,n){"use strict";function i(t){return"top"===t||"left"===t?"header":"footer"}function r(t,e){var n=t.component.layoutHeaders[e].title,i="row"===e?"vertical":void 0;return{name:t.getName(e+"_title"),role:e+"-title",type:"group",marks:[{type:"text",role:e+"-title-text",style:"guide-title",encode:{update:o.__assign({align:{value:"center"},text:{value:n}},"vertical"===i?{angle:{value:270}}:{})}}]}}function A(t,e,n,i,r){if(r){var A=null;if(i.facetFieldDef&&r.labels){var s=i.facetFieldDef,u=s.header?s.header.format:void 0;A={text:c.formatSignalRef(s,u,"parent",t.config),offset:10,orient:"row"===e?"left":"top",style:"guide-label",encode:{update:o.__assign({fontWeight:{value:"normal"},angle:{value:0},fontSize:{value:10}},"row"===e?{align:{value:"right"},baseline:{value:"middle"}}:{})}}}var g=r.axes,l=g&&g.length>0;if(A||l){var M="row"===e?"height":"width";return o.__assign({name:t.getName(e+"_"+n),type:"group",role:e+"-"+n},i.facetFieldDef?{from:{data:t.getName(e+"_domain")},sort:{field:a.field(i.facetFieldDef,{expr:"datum"}),order:i.facetFieldDef.header&&i.facetFieldDef.sort||"ascending"}}:{},A?{title:A}:{},r.sizeSignal?{encode:{update:(h={},h[M]=r.sizeSignal,h)}}:{},l?{axes:g}:{})}}return null;var h}Object.defineProperty(e,"__esModule",{value:!0});var o=n(3),a=n(9),c=n(23);e.HEADER_CHANNELS=["row","column"],e.HEADER_TYPES=["header","footer"],e.getHeaderType=i,e.getTitleGroup=r,e.getHeaderGroup=A},function(t,e,n){"use strict";function i(t){var e=t.component.legends,n={};return A.keys(e).forEach(function(i){var A=t.getScaleComponent(i),a=r(A.domains);if(n[a])for(var c=0,s=n[a];c<s.length;c++){var u=s[c],g=o.mergeLegendComponent(u,e[i]);g||n[a].push(e[i])}else n[a]=[e[i].clone()]}),A.flatten(A.vals(n)).map(function(t){return t.combine()})}Object.defineProperty(e,"__esModule",{value:!0});var r=n(344),A=n(2),o=n(360);e.assembleLegends=i},function(t,e,n){"use strict";function i(t){d.isUnitModel(t)?t.component.legends=r(t):t.component.legends=c(t)}function r(t){return[u.COLOR,u.SIZE,u.SHAPE,u.OPACITY].reduce(function(e,n){return t.legend(n)&&(e[n]=o(t,n)),e},{})}function A(t,e){switch(e){case u.COLOR:var n=t.scaleName(u.COLOR);return t.markDef.filled?{fill:n}:{stroke:n};case u.SIZE:return{size:t.scaleName(u.SIZE)};case u.SHAPE:return{shape:t.scaleName(u.SHAPE)};case u.OPACITY:return{opacity:t.scaleName(u.OPACITY)}}return null}function o(t,e){var n=t.fieldDef(e),i=t.legend(e),r=new T.LegendComponent({},A(t,e));l.LEGEND_PROPERTIES.forEach(function(n){var A=a(n,i,e,t);if(void 0!==A){var o="values"===n?!!i.values:A===i[n];(o||void 0===t.config.legend[n])&&r.set(n,A,o)}});var o=i.encoding||{},c=["labels","legend","title","symbols","gradient"].reduce(function(i,A){var a=N[A]?N[A](n,o[A],t,e,r.get("type")):o[A];return void 0!==a&&M.keys(a).length>0&&(i[A]={update:a}),i},{});return M.keys(c).length>0&&r.set("encode",c,!!i.encoding),r}function a(t,e,n,i){var r=i.fieldDef(n);switch(t){case"format":return h.numberFormat(r,e.format,i.config);case"title":return h.getSpecifiedOrDefaultValue(e.title,g.title(r,i.config));case"values":return y.values(e);case"type":return h.getSpecifiedOrDefaultValue(e.type,y.type(r.type,n,i.getScaleComponent(n).get("type")))}return e[t]}function c(t){for(var e=t.component,n=e.legends,r=e.resolve,A=0,o=t.children;A<o.length;A++){var a=o[A];!function(e){i(e),M.keys(e.component.legends).forEach(function(i){r.legend[i]=f.parseGuideResolve(t.component.resolve,i),"shared"===r.legend[i]&&(n[i]=s(n[i],e.component.legends[i]),n[i]||(r.legend[i]="independent",delete n[i]))})}(a)}return M.keys(n).forEach(function(e){for(var n=0,i=t.children;n<i.length;n++){var A=i[n];A.component.legends[e]&&("shared"===r.legend[e]&&delete A.component.legends[e])}}),n}function s(t,e){if(!t)return e.clone();var n=t.getWithExplicit("orient"),i=e.getWithExplicit("orient");if(!n.explicit||!i.explicit||n.value===i.value){for(var r=!1,A=0,o=l.VG_LEGEND_PROPERTIES;A<o.length;A++){var a=o[A];!function(n){var i=E.mergeValuesWithExplicit(t.getWithExplicit(n),e.getWithExplicit(n),n,"legend",function(t,e){switch(n){case"title":return h.titleMerger(t,e);case"type":return r=!0,I.makeImplicit("symbol")}return E.defaultTieBreaker(t,e,n,"legend")});t.setWithExplicit(n,i)}(a)}return r&&(((t.implicit||{}).encode||{}).gradient&&M.deleteNestedProperty(t.implicit,["encode","gradient"]),((t.explicit||{}).encode||{}).gradient&&M.deleteNestedProperty(t.explicit,["encode","gradient"])),t}}Object.defineProperty(e,"__esModule",{value:!0});var u=n(7),g=n(9),l=n(230),M=n(2),h=n(23),d=n(18),f=n(151),I=n(39),E=n(39),T=n(730),N=n(731),y=n(732);e.parseLegend=i,e.parseLegendForChannel=o,e.mergeLegendComponent=s},function(t,e,n){"use strict";function i(t){if(N.isUnitModel(t))C.normalizeMarkDef(t.markDef,t.encoding,t.component.scales,t.config);else for(var e=0,n=t.children;e<n.length;e++){var r=n[e];i(r)}}function r(t){return E.contains([f.LINE,f.AREA],t.mark())?A(t):a(t)}function A(t){var e=t.mark(),n=c(t),i=void 0!==t.markDef.clip?!!t.markDef.clip:s(t),r=T.getStyles(t.markDef),A=o(t),a=[u.__assign({name:t.getName("marks"),type:v[e].vgMark},i?{clip:!0}:{},r?{style:r}:{},A?{sort:A}:{},{from:{data:(n.length>0?j:"")+t.requestDataName(M.MAIN)},encode:{update:v[e].encodeEntry(t)}})];return n.length>0?[{name:t.getName("pathgroup"),type:"group",from:{facet:{name:j+t.requestDataName(M.MAIN),data:t.requestDataName(M.MAIN),groupby:n}},encode:{update:{width:{field:{group:"width"}},height:{field:{group:"height"}}}},marks:a}]:a}function o(t){if("line"===t.mark()&&t.channelHasField("order"))return T.sortParams(t.encoding.order,{expr:"datum"});var e="horizontal"===t.markDef.orient?"y":"x",n=t.sort(e),i=I.isSortField(n)?d.field({aggregate:h.isAggregate(t.encoding)?n.op:void 0,field:n.field},{expr:"datum"}):t.field(e,{binSuffix:t.stack&&t.stack.impute?"mid":void 0,expr:"datum"});return i?{field:i,order:"descending"}:void 0}function a(t){var e=t.mark(),n=T.getStyles(t.markDef),i=void 0!==t.markDef.clip?!!t.markDef.clip:s(t),r=[];return r.push(u.__assign({name:t.getName("marks"),type:v[e].vgMark},i?{clip:!0}:{},n?{style:n}:{},{from:{data:t.requestDataName(M.MAIN)},encode:{update:v[e].encodeEntry(t)}})),r}function c(t){return l.NONPOSITION_CHANNELS.reduce(function(e,n){var i=t.encoding;if("order"===n)return e;if("detail"===n){var r=i[n];r&&(g.isArray(r)?r:[r]).forEach(function(t){t.aggregate||e.push(d.field(t,{}))})}else{var A=d.getFieldDef(i[n]);A&&!A.aggregate&&e.push(d.field(A,{}))}return e},[])}function s(t){var e=t.getScaleComponent("x"),n=t.getScaleComponent("y");return!!(e&&e.get("domainRaw")||n&&n.get("domainRaw"))}Object.defineProperty(e,"__esModule",{value:!0});var u=n(3),g=n(0),l=n(7),M=n(67),h=n(32),d=n(9),f=n(31),I=n(152),E=n(2),T=n(23),N=n(18),y=n(733),p=n(734),C=n(362),D=n(735),x=n(736),B=n(737),w=n(738),m=n(739),Q=n(740),v={area:y.area,bar:p.bar,line:D.line,point:x.point,text:m.text,tick:Q.tick,rect:B.rect,rule:w.rule,circle:x.circle,square:x.square};e.parseMarkDef=i,e.parseMarkGroup=r;var j="faceted_path_";e.getPathSort=o},function(t,e,n){"use strict";function i(t,e,n,i){var r=t.orient||d.getMarkConfig("orient",t,i);t.orient=a(t.type,e,n,r),void 0!==r&&r!==t.orient&&u.warn(u.message.orientOverridden(t.orient,r)),void 0===t.filled&&(t.filled=o(t,i))}function r(t,e,n,i){var r=d.getMarkConfig("opacity",t,i);if(!e.opacity&&void 0===r){var o=A(t.type,e,n);void 0!==o&&(e.opacity={value:o})}return e}function A(t,e,n){if(h.contains([g.POINT,g.TICK,g.CIRCLE,g.SQUARE],t)&&!c.isAggregate(e))return.7}function o(t,e){var n=d.getMarkConfig("filled",t,e),i=t.type;return void 0!==n?n:i!==g.POINT&&i!==g.LINE&&i!==g.RULE}function a(t,e,n,i){switch(t){case g.POINT:case g.CIRCLE:case g.SQUARE:case g.TEXT:case g.RECT:return}var r=e.y2,A=e.x2;switch(t){case g.TICK:var o=n.x?n.x.get("type"):null,a=n.y?n.y.get("type"):null;return!l.hasDiscreteDomain(o)&&(!e.y||l.hasDiscreteDomain(a)||s.isFieldDef(e.y)&&e.y.bin)?"vertical":"horizontal";case g.RULE:case g.BAR:case g.AREA:if(r)return"vertical";if(A)return"horizontal";if(t===g.RULE){if(e.x&&!e.y)return"vertical";if(e.y&&!e.x)return"horizontal"}case g.LINE:var c=s.isFieldDef(e.x)&&s.isContinuous(e.x),h=s.isFieldDef(e.y)&&s.isContinuous(e.y);if(c&&!h)return"horizontal";if(!c&&h)return"vertical";if(c&&h){var d=e.x,f=e.y,I=d.type===M.TEMPORAL,E=f.type===M.TEMPORAL;return I&&!E?"vertical":!I&&E?"horizontal":!d.aggregate&&f.aggregate?"vertical":d.aggregate&&!f.aggregate?"horizontal":i||(t===g.LINE&&e.order||u.warn(u.message.unclearOrientContinuous(t)),"vertical")}return void u.warn(u.message.unclearOrientDiscreteOrEmpty(t))}return"vertical"}Object.defineProperty(e,"__esModule",{value:!0});var c=n(32),s=n(9),u=n(4),g=n(31),l=n(11),M=n(49),h=n(2),d=n(23);e.normalizeMarkDef=i,e.initEncoding=r},function(t,e,n){"use strict";function i(t){function n(i){if(!(i instanceof M.FacetNode)){var r=i.clone();if(r instanceof l.OutputNode){var A=e.FACET_SCALE_PREFIX+r.getSource();r.setSource(A),t.model.component.data.outputNodes[A]=r}else(r instanceof g.AggregateNode||r instanceof f.StackNode)&&r.addDimensions(t.fields);return u.flatten(i.children.map(n)).forEach(function(t){return t.parent=r}),[r]}return u.flatten(i.children.map(n))}return n}function r(t){if(t instanceof M.FacetNode)if(1!==t.numChildren()||t.children[0]instanceof l.OutputNode){A(t.model.component.data.main);var e=u.flatten(t.children.map(i(t)));e.forEach(function(e){return e.parent=t.model.component.data.main})}else{var n=t.children[0];(n instanceof g.AggregateNode||n instanceof f.StackNode)&&n.addDimensions(t.fields),n.swapWithParent(),r(t)}else t.children.forEach(r)}function A(t){if(t instanceof l.OutputNode&&t.type===s.MAIN&&1===t.numChildren()){var e=t.children[0];e instanceof M.FacetNode||(e.swapWithParent(),A(t))}}function o(t){t instanceof h.FilterInvalidNode&&u.every(u.vals(t.filter),function(t){return null===t})&&t.remove(),t instanceof l.OutputNode&&!t.isRequired()&&t.remove(),t.children.forEach(o)}function a(t){function e(t){0===t.numChildren()?n.push(t):t.children.forEach(e)}var n=[];return t.forEach(e),n}function c(t){var e=u.vals(t.sources);e.forEach(o),e=e.filter(function(t){return t.numChildren()>0}),a(e).forEach(d.iterateFromLeaves(d.removeUnusedSubtrees)),e=e.filter(function(t){return t.numChildren()>0}),a(e).forEach(d.iterateFromLeaves(d.moveParseUp)),a(e).forEach(d.removeDuplicateTimeUnits),e.forEach(r),u.keys(t.sources).forEach(function(e){0===t.sources[e].numChildren()&&delete t.sources[e]})}Object.defineProperty(e,"__esModule",{value:!0});var s=n(67),u=n(2),g=n(233),l=n(22),M=n(234),h=n(235),d=n(742),f=n(237);e.FACET_SCALE_PREFIX="scale_",e.optimizeDataflow=c},function(t,e,n){"use strict";function i(t,e){E.isUnitModel(t)?r(t,e):o(t,e)}function r(t,e){var n=t.component.scales;I.keys(n).forEach(function(i){var r=t.specifiedScales[i],o=n[i],a=t.getScaleComponent(i),c=t.fieldDef(i),s=t.sort(i),u=t.config,g=r[e],l=a.get("type"),M=d.scaleTypeSupportProperty(l,e),f=d.channelScalePropertyIncompatability(i,e);if(void 0!==g&&(M?f&&h.warn(f):h.warn(h.message.scalePropertyNotWorkWithScaleType(l,e,i))),M&&void 0===f)if(void 0!==g)o.copyKeyFromObject(e,r);else{var I=A(e,i,c,s,a.get("type"),a.get("padding"),a.get("paddingInner"),r.domain,u.scale);void 0!==I&&o.set(e,I,!1)}})}function A(t,e,n,i,r,A,o,M,h){switch(t){case"nice":return a(r,e,n);case"padding":return c(e,r,h);case"paddingInner":return s(A,e,h);case"paddingOuter":return u(A,e,r,o,h);case"reverse":return g(r,i);case"zero":return l(e,n,M)}return h[t]}function o(t,e){for(var n=t.component.scales,r=0,A=t.children;r<A.length;r++){var o=A[r];"range"===e?N.parseScaleRange(o):i(o,e)}I.keys(n).forEach(function(i){for(var r,A=0,o=t.children;A<o.length;A++){var a=o[A],c=a.component.scales[i];if(c){var s=c.getWithExplicit(e);r=T.mergeValuesWithExplicit(r,s,e,"scale",T.tieBreakByComparing(function(t,n){switch(e){case"range":return t.step&&n.step?t.step-n.step:0}return 0}))}}n[i].setWithExplicit(e,r)})}function a(t,e,n){if(!n.bin&&!f.contains([d.ScaleType.TIME,d.ScaleType.UTC],t))return f.contains([M.X,M.Y],e)}function c(t,e,n){if(f.contains([M.X,M.Y],t)){if(d.isContinuousToContinuous(e)&&void 0!==n.continuousPadding)return n.continuousPadding;if(e===d.ScaleType.POINT)return n.pointPadding}}function s(t,e,n){if(void 0===t)return f.contains([M.X,M.Y],e)?n.bandPaddingInner:void 0}function u(t,e,n,i,r){if(void 0===t)return f.contains([M.X,M.Y],e)&&n===d.ScaleType.BAND?void 0!==r.bandPaddingOuter?r.bandPaddingOuter:i/2:void 0}function g(t,e){if(d.hasContinuousDomain(t)&&"descending"===e)return!0}function l(t,e,n){return"size"===t&&"quantitative"===e.type||!(!!n&&"unaggregated"!==n||e.bin||!f.contains([M.X,M.Y],t))}Object.defineProperty(e,"__esModule",{value:!0});var M=n(7),h=n(4),d=n(11),f=n(2),I=n(2),E=n(18),T=n(39),N=n(365);e.parseScaleProperty=i,e.getDefaultValue=A,e.parseNonUnitScaleProperty=o,e.nice=a,e.padding=c,e.paddingInner=s,e.paddingOuter=u,e.reverse=g,e.zero=l},function(t,e,n){"use strict";function i(t){T.isUnitModel(t)?r(t):y.parseNonUnitScaleProperty(t,"range")}function r(t){var e=t.component.scales;M.SCALE_CHANNELS.forEach(function(n){var i=e[n];if(i){var r=t.getScaleComponent(n),a=t.specifiedScales[n],c=t.fieldDef(n),s="x"===n?"width":"y"===n?"height":void 0,u=s?!!t.component.layoutSize.get(s):void 0,g=r.get("type"),l=I.contains(["point","band"],g)||!!a.rangeStep;s&&t.fit&&!u&&l&&(h.warn(h.message.CANNOT_FIX_RANGE_STEP_WITH_FIT),u=!0);var M=A(t),d=o(n,g,c.type,a,t.config,i.get("zero"),t.mark(),u,t.getName(s),M);i.setWithExplicit("range",d)}})}function A(t){var e=[],n=t.getScaleComponent("x"),i=n&&n.get("range");i&&E.isVgRangeStep(i)&&l.isNumber(i.step)&&e.push(i.step);var r=t.getScaleComponent("y"),A=r&&r.get("range");return A&&E.isVgRangeStep(A)&&l.isNumber(A.step)&&e.push(A.step),e}function o(t,n,i,r,A,o,s,u,g,l){for(var M=u||null===r.rangeStep,f=0,I=e.RANGE_PROPERTIES;f<I.length;f++){var E=I[f];if(void 0!==r[E]){var T=d.scaleTypeSupportProperty(n,E),y=d.channelScalePropertyIncompatability(t,E);if(T)if(y)h.warn(y);else switch(E){case"range":return N.makeExplicit(r[E]);case"scheme":return N.makeExplicit(a(r[E]));case"rangeStep":var p=r[E];if(null!==p){if(!u)return N.makeExplicit({step:p});h.warn(h.message.rangeStepDropped(t))}}else h.warn(h.message.scalePropertyNotWorkWithScaleType(n,E,t))}}return N.makeImplicit(c(t,n,i,A,o,s,g,l,M))}function a(t){if(d.isExtendedScheme(t)){var e={scheme:t.name};return t.count&&(e.count=t.count),t.extent&&(e.extent=t.extent),e}return{scheme:t}}function c(t,e,n,i,r,A,o,a,c){switch(t){case M.X:case M.Y:if(I.contains(["point","band"],e)&&!c)if(t===M.X&&"text"===A){if(i.scale.textXRangeStep)return{step:i.scale.textXRangeStep}}else if(i.scale.rangeStep)return{step:i.scale.rangeStep};return t===M.Y&&f.hasContinuousDomain(e)?[{signal:o},0]:[0,{signal:o}];case M.SIZE:return[s(A,r,i),u(A,a,i)];case M.SHAPE:return"symbol";case M.COLOR:return"ordinal"===e?"nominal"===n?"category":"ordinal":"rect"===A?"heatmap":"ramp";case M.OPACITY:return[i.scale.minOpacity,i.scale.maxOpacity]}throw new Error("Scale range undefined for channel "+t)}function s(t,e,n){if(e)return 0;switch(t){case"bar":case"tick":return n.scale.minBandSize;case"line":case"rule":return n.scale.minStrokeWidth;case"text":return n.scale.minFontSize;case"point":case"square":case"circle":return n.scale.minSize}throw new Error(h.message.incompatibleChannel("size",t))}function u(t,e,n){var i=n.scale;switch(t){case"bar":case"tick":return void 0!==n.scale.maxBandSize?n.scale.maxBandSize:g(e,n.scale)-1;case"line":case"rule":return n.scale.maxStrokeWidth;case"text":return n.scale.maxFontSize;case"point":case"square":case"circle":if(n.scale.maxSize)return n.scale.maxSize;var r=g(e,i);return(r-2)*(r-2)}throw new Error(h.message.incompatibleChannel("size",t))}function g(t,e){return t.length>0?Math.min.apply(null,t):e.rangeStep?e.rangeStep:21}Object.defineProperty(e,"__esModule",{value:!0});var l=n(0),M=n(7),h=n(4),d=n(11),f=n(11),I=n(2),E=n(38),T=n(18),N=n(39),y=n(364);e.RANGE_PROPERTIES=["range","rangeStep","scheme"],e.parseScaleRange=i,e.parseRangeForChannel=o,e.defaultRange=c},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=n(21),A=n(239),o={predicate:"vlMulti",scaleDomain:"vlMultiDomain",signals:function(t,e){var n=e.project,o=A.default.has(e)?"(item().isVoronoi ? datum.datum : datum)":"datum",a=[],c=n.map(function(t){return i.stringValue(t.channel)}).filter(function(t){return t}).join(", "),s=n.map(function(t){return i.stringValue(t.field)}).join(", "),u=n.map(function(e){var n=e.channel,r=t.fieldDef(n);return r&&r.bin?(a.push(e.field),"["+o+"["+i.stringValue(t.field(n,{}))+"], "+o+"["+i.stringValue(t.field(n,{binSuffix:"end"}))+"]]"):o+"["+i.stringValue(e.field)+"]"}).join(", ");return[{name:e.name+r.TUPLE,value:{},on:[{events:e.events,update:"datum && item().mark.marktype !== 'group' ? {unit: "+r.unitName(t)+", encodings: ["+c+"], fields: ["+s+"], values: ["+u+"]"+(a.length?", "+a.map(function(t){return i.stringValue("bin_"+t)+": 1"}).join(", "):"")+"} : null",force:!0}]}]},modifyExpr:function(t,e){return e.name+r.TUPLE+", "+("global"===e.resolve?"null":"{unit: "+r.unitName(t)+"}")}};e.default=o},function(t,e,n){"use strict";function i(t,e,n,i){if(l.binRequiresRange(e,n)){var r=M.isUnitModel(t)?t.axis(n)||t.legend(n)||{}:{},A=u.field(e,{expr:"datum"}),o=u.field(e,{expr:"datum",binSuffix:"end"});return{formulaAs:u.field(e,{binSuffix:"range"}),formula:l.binFormatExpression(A,o,r.format,i)}}return{}}function r(t,e){return s.binToString(t)+"_"+e}function A(t){return!!t.model}function o(t,e){if(A(t)){var n=t.model;return{signal:n.getName(e+"_bins"),extentSignal:n.getName(e+"_extent")}}return t}function a(t,e){var n=u.normalizeBin(t.bin,void 0)||{},i=r(n,t.field),A=o(e,i),a=A.signal,s=A.extentSignal;return{key:i,binComponent:c.__assign({bin:n,field:t.field,as:[u.field(t,{}),u.field(t,{binSuffix:"end"})]},a?{signal:a}:{},s?{extentSignal:s}:{})}}Object.defineProperty(e,"__esModule",{value:!0});var c=n(3),s=n(111),u=n(9),g=n(2),l=n(23),M=n(18),h=n(22),d=function(t){function e(e){var n=t.call(this)||this;return n.bins=e,n}return c.__extends(e,t),e.prototype.clone=function(){return new e(g.duplicate(this.bins))},e.makeBinFromEncoding=function(t){var n=t.reduceFieldDef(function(e,n,r){if(n.bin){var A=a(n,{model:t}),o=A.key,s=A.binComponent;e[o]=c.__assign({},s,e[o],i(t,n,r,t.config))}return e},{});return 0===g.keys(n).length?null:new e(n)},e.makeFromTransform=function(t,n){var i=a(t,n),r=i.key,A=i.binComponent;return new e((o={},o[r]=A,o));var o},e.prototype.merge=function(t){this.bins=c.__assign({},this.bins,t.bins),t.remove()},e.prototype.producedFields=function(){var t={};return g.vals(this.bins).forEach(function(e){e.as.forEach(function(e){return t[e]=!0})}),t},e.prototype.dependentFields=function(){var t={};return g.vals(this.bins).forEach(function(e){t[e.field]=!0}),t},e.prototype.assemble=function(){return g.flatten(g.vals(this.bins).map(function(t){var e=[],n=c.__assign({type:"bin",field:t.field,as:t.as,signal:t.signal},t.bin);return!t.bin.extent&&t.extentSignal&&(e.push({type:"extent",field:t.field,signal:t.extentSignal}),n.extent={signal:t.extentSignal}),e.push(n),t.formula&&e.push({type:"formula",expr:t.formula,as:t.formulaAs}),e}))},e}(h.DataFlowNode);e.BinNode=d},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(2),A=n(22),o=function(t){function e(e){var n=t.call(this)||this;return n.transform=e,n}return i.__extends(e,t),e.prototype.clone=function(){return new e(r.duplicate(this.transform))},e.prototype.producedFields=function(){var t={};return t[this.transform.as]=!0,t},e.prototype.assemble=function(){return{type:"formula",expr:this.transform.calculate,as:this.transform.as}},e}(A.DataFlowNode);e.CalculateNode=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(147),A=n(2),o=n(22),a=function(t){function e(e,n){var i=t.call(this)||this;return i.model=e,i.filter=n,i.expr=r.expression(i.model,i.filter,i),i}return i.__extends(e,t),e.prototype.clone=function(){return new e(this.model,A.duplicate(this.filter))},e.prototype.assemble=function(){return{type:"filter",expr:this.expr}},e}(o.DataFlowNode);e.FilterNode=a},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(231),A=n(22),o=function(t){function e(){return t.call(this)||this}return i.__extends(e,t),e.prototype.clone=function(){return new e},e.prototype.producedFields=function(){return t={},t[r.SELECTION_ID]=!0,t;var t},e.prototype.assemble=function(){return{type:"identifier",as:r.SELECTION_ID}},e}(A.DataFlowNode);e.IdentifierNode=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(0),A=n(4),o=n(22),a=n(153),c=function(t){function e(e,n){var i=t.call(this)||this;return i.transform=e,i.secondary=n,i}return i.__extends(e,t),e.make=function(t,n,i){var r=t.component.data.sources,A=new a.SourceNode(n.from.data),c=r[A.hash()];c||(r[A.hash()]=A,c=A);var s=t.getName("lookup_"+i),u=new o.OutputNode(s,"lookup",t.component.data.outputNodeRefCounts);return u.parent=c,t.component.data.outputNodes[s]=u,new e(n,u.getSource())},e.prototype.producedFields=function(){return r.toSet(this.transform.from.fields||(this.transform.as instanceof Array?this.transform.as:[this.transform.as]))},e.prototype.assemble=function(){var t;if(this.transform.from.fields)t=i.__assign({values:this.transform.from.fields},this.transform.as?{as:this.transform.as instanceof Array?this.transform.as:[this.transform.as]}:{});else{var e=this.transform.as;r.isString(e)||(A.warn(A.message.NO_FIELDS_NEEDS_AS),e="_lookup"),t={as:[e]}}return i.__assign({type:"lookup",from:this.secondary,key:this.transform.from.key,fields:[this.transform.lookup]},t,this.transform.default?{default:this.transform.default}:{})},e}(o.DataFlowNode);e.LookupNode=c},function(t,e,n){"use strict";function i(t){function e(i,r){if(i instanceof T.SourceNode&&!a.isUrlData(i.data)){t.push(r);var A={name:null,source:r.name,transform:[]};r=A}if(i instanceof f.ParseNode&&(i.parent instanceof T.SourceNode&&!r.source?r.format=o.__assign({},r.format||{},{parse:i.assembleFormatParse()}):r.transform=r.transform.concat(i.assembleTransforms())),i instanceof M.FacetNode)return r.name||(r.name="data_"+n++),!r.source||r.transform.length>0?(t.push(r),i.data=r.name):i.data=r.source,void i.assemble().forEach(function(e){return t.push(e)});if((i instanceof h.FilterNode||i instanceof g.CalculateNode||i instanceof s.AggregateNode||i instanceof E.LookupNode||i instanceof I.IdentifierNode)&&r.transform.push(i.assemble()),(i instanceof d.FilterInvalidNode||i instanceof u.BinNode||i instanceof y.TimeUnitNode||i instanceof N.StackNode)&&(r.transform=r.transform.concat(i.assemble())),i instanceof s.AggregateNode&&(r.name||(r.name="data_"+n++)),i instanceof l.OutputNode)if(r.source&&0===r.transform.length)i.setSource(r.source);else if(i.parent instanceof l.OutputNode)i.setSource(r.name);else if(r.name||(r.name="data_"+n++),i.setSource(r.name),1===i.numChildren()){t.push(r);var A={name:null,source:r.name,transform:[]};r=A}switch(i.numChildren()){case 0:i instanceof l.OutputNode&&(!r.source||r.transform.length>0)&&t.push(r);break;case 1:e(i.children[0],r);break;default:r.name||(r.name="data_"+n++);var c=r.name;!r.source||r.transform.length>0?t.push(r):c=r.source,i.children.forEach(function(t){e(t,{name:null,source:c,transform:[]})})}}var n=0;return e}function r(t){var e=[],n=i(e);return t.children.forEach(function(e){return n(e,{source:t.name,name:null,transform:[]})}),e}function A(t){var e=c.vals(t.sources),n=[],r=i(n),A=0;e.forEach(function(t){t.hasName()||(t.dataName="source_"+A++);var e=t.assemble();r(t,e)}),n.forEach(function(t){0===t.transform.length&&delete t.transform}),n.sort(function(t,e){return 0===(t.transform||[]).length?-1:0===(e.transform||[]).length?1:0});for(var o=0,a=n;o<a.length;o++)for(var s=a[o],u=0,g=s.transform||[];u<g.length;u++){var l=g[u];"lookup"===l.type&&(l.from=t.outputNodes[l.from].getSource())}return n}Object.defineProperty(e,"__esModule",{value:!0});var o=n(3),a=n(67),c=n(2),s=n(233),u=n(367),g=n(368),l=n(22),M=n(234),h=n(369),d=n(235),f=n(236),I=n(370),E=n(371),T=n(153),N=n(237),y=n(154);e.assembleFacetData=r,e.assembleRootData=A},function(t,e,n){"use strict";function i(t,e){return c(t,e)}function r(t,e){return c(t,e)}function A(t,e){return u.isRepeatRef(t.field)?t.field.repeat in e?s.__assign({},t,{field:e[t.field.repeat]}):void g.warn(g.message.noSuchRepeatedValue(t.field.repeat)):t}function o(t,e){if(void 0!==(t=A(t,e))){if(t.sort&&l.isSortField(t.sort)){var n=A(t.sort,e);t=s.__assign({},t,n?{sort:n}:{})}return t}}function a(t,e){if(!u.isFieldDef(t)){if(u.isConditionalDef(t)&&u.isFieldDef(t.condition)){var n=o(t.condition,e);if(n)return s.__assign({},t,{condition:n});t.condition;return s.__rest(t,["condition"])}return t}var n=o(t,e);return n||(u.isConditionalDef(t)?{value:t.condition.value}:void 0)}function c(t,e){var n={};for(var i in t)if(t.hasOwnProperty(i)){var r=t[i];if(M.isArray(r))n[i]=r.map(function(t){return a(t,e)}).filter(function(t){return t});else{var A=a(r,e);A&&(n[i]=A)}}return n}Object.defineProperty(e,"__esModule",{value:!0});var s=n(3),u=n(9),g=n(4),l=n(152),M=n(2);e.replaceRepeaterInFacet=i,e.replaceRepeaterInEncoding=r},function(t,e,n){"use strict";function i(t){return f.POSITION_SCALE_CHANNELS.reduce(function(e,n){if(t.axis(n)){var i={},r=g(n,t);r&&c(r)&&(i.main=r);var A=u(n,t);A&&c(A)&&(i.grid=A),e[n]=[i]}return e},{})}function r(t){for(var e=t.component,n=e.axes,i=e.resolve,r={top:0,bottom:0,right:0,left:0},o=0,a=t.children;o<a.length;o++){var c=a[o];!function(e){e.parseAxisAndHeader(),I.keys(e.component.axes).forEach(function(r){i.axis[r]=T.parseGuideResolve(t.component.resolve,r),"shared"===i.axis[r]&&(n[r]=A(n[r],e.component.axes[r]),n[r]||(i.axis[r]="independent",delete n[r]))})}(c)}["x","y"].forEach(function(e){for(var A=0,o=t.children;A<o.length;A++){var a=o[A];a.component.axes[e]&&("independent"===i.axis[e]&&(n[e]=(n[e]||[]).concat(a.component.axes[e]),a.component.axes[e].forEach(function(t){var e=t.main.getWithExplicit("orient"),n=e.value,i=e.explicit;if(r[n]>0&&!i){var A=B[n];r[n]>r[A]&&t.main.set("orient",A,!1)}r[n]++})),delete a.component.axes[e])}})}function A(t,e){if(!t)return e.map(function(t){return h.__assign({},t.main?{main:t.main.clone()}:{},t.grid?{grid:t.grid.clone()}:{})});if(t.length===e.length){for(var n=t.length,i=0;i<n;i++){var r=t[i].main,A=e[i].main;if(!!r!=!!A)return;if(r&&A){var a=r.getWithExplicit("orient"),c=A.getWithExplicit("orient");if(a.explicit&&c.explicit&&a.value!==c.value)return;t[i].main=o(r,A)}var s=t[i].grid,u=e[i].grid;if(!!s!=!!u)return;s&&u&&(t[i].grid=o(s,u))}return t}}function o(t,e){for(var n=0,i=d.VG_AXIS_PROPERTIES;n<i.length;n++){var r=i[n];!function(n){var i=N.mergeValuesWithExplicit(t.getWithExplicit(n),e.getWithExplicit(n),n,"axis",function(t,e){switch(n){case"title":return E.titleMerger(t,e);case"gridScale":return{explicit:t.explicit,value:t.value||e.value}}return N.defaultTieBreaker(t,e,n,"axis")});t.setWithExplicit(n,i)}(r)}return t}function a(t){return!1===t||null===t}function c(t){return I.some(x,function(e){return s(t,e)})}function s(t,e){return"axis"===e||("grid"===e||"title"===e?!!t.get(e):!a(t.get(e)))}function u(t,e){return l(t,e,!0)}function g(t,e){return l(t,e,!1)}function l(t,e,n){var i=e.axis(t),r=new y.AxisComponentPart;d.VG_AXIS_PROPERTIES.forEach(function(A){var o=M(A,i,t,e,n);if(void 0!==o){var a="values"===A?!!i.values:"encode"===A?!!i.encoding||!!i.labelAngle:o===i[A],c=p.getAxisConfig(A,e.config,t,r.get("orient"),e.getScaleComponent(t).get("type"));(a||void 0===c||n)&&r.set(A,o,a)}});var A=i.encoding||{},o=x.reduce(function(n,i){if(!s(r,i))return n;var o="labels"===i?C.labels(e,t,A.labels||{},r.get("orient")):A[i]||{};return void 0!==o&&I.keys(o).length>0&&(n[i]={update:o}),n},{});return I.keys(o).length>0&&r.set("encode",o,!!i.encoding||!!i.labelAngle),r}function M(t,e,n,i,r){var A=i.fieldDef(n);if(!(r&&"main"===d.AXIS_PROPERTY_TYPE[t]||!r&&"grid"===d.AXIS_PROPERTY_TYPE[t])){switch(t){case"scale":return i.scaleName(n);case"gridScale":return D.gridScale(i,n,r);case"domain":return D.domain(t,e,r,n);case"format":return E.numberFormat(A,e.format,i.config);case"grid":var o=i.getScaleComponent(n).get("type");return E.getSpecifiedOrDefaultValue(e.grid,D.grid(o,A));case"labels":return!r&&e.labels;case"labelOverlap":var o=i.getScaleComponent(n).get("type");return D.labelOverlap(A,e,n,o);case"minExtent":return D.minMaxExtent(e.minExtent,r);case"maxExtent":return D.minMaxExtent(e.maxExtent,r);case"orient":return E.getSpecifiedOrDefaultValue(e.orient,D.orient(n));case"tickCount":var o=i.getScaleComponent(n).get("type"),a="x"===n?"width":"y"===n?"height":void 0,c=a?i.getSizeSignalRef(a):void 0;return E.getSpecifiedOrDefaultValue(e.tickCount,D.tickCount(n,A,o,c));case"ticks":return D.ticks(t,e,r,n);case"title":return E.getSpecifiedOrDefaultValue(e.title,D.title(e.titleMaxLength,A,i.config));case"values":return D.values(e,i,A);case"zindex":return E.getSpecifiedOrDefaultValue(e.zindex,D.zindex(r))}return d.isAxisProperty(t)?e[t]:void 0}}Object.defineProperty(e,"__esModule",{value:!0});var h=n(3),d=n(343),f=n(7),I=n(2),E=n(23),T=n(151),N=n(39),y=n(755),p=n(375),C=n(756),D=n(757),x=["domain","grid","labels","ticks","title"];e.parseUnitAxis=i;var B={bottom:"top",top:"bottom",left:"right",right:"left"};e.parseLayerAxis=r,e.parseGridAxis=u,e.parseMainAxis=g},function(t,e,n){"use strict";function i(t,e,n,i,r){void 0===i&&(i="");for(var A=("band"===r?["axisBand"]:[]).concat(["x"===n?"axisX":"axisY","axis"+i.substr(0,1).toUpperCase()+i.substr(1),"axis"]),o=0,a=A;o<a.length;o++){var c=a[o];if(e[c]&&void 0!==e[c][t])return e[c][t]}}Object.defineProperty(e,"__esModule",{value:!0}),e.getAxisConfig=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(7),A=n(32),o=n(32),a=n(9),c=n(31),s=n(232),u=n(2),g=n(374),l=n(146),M=n(150),h=n(115),d=n(362),f=n(361),I=n(18),E=n(373),T=n(21),N=function(t){function e(e,n,r,A,a,u,g){void 0===A&&(A={});var l=t.call(this,e,n,r,u,void 0)||this;l.fit=g,l.type="unit",l.specifiedScales={},l.specifiedAxes={},l.specifiedLegends={},l.selection={},l.children=[],l.initSize(i.__assign({},A,e.width?{width:e.width}:{},e.height?{height:e.height}:{})),l.markDef=c.isMarkDef(e.mark)?i.__assign({},e.mark):{type:e.mark};var M=l.markDef.type,h=l.encoding=o.normalizeEncoding(E.replaceRepeaterInEncoding(e.encoding||{},a),M);return l.stack=s.stack(M,h,l.config.stack),l.specifiedScales=l.initScales(M,h),l.encoding=d.initEncoding(l.markDef,h,l.stack,l.config),l.specifiedAxes=l.initAxes(h),l.specifiedLegends=l.initLegend(h),l.selection=e.selection,l}return i.__extends(e,t),e.prototype.scaleDomain=function(t){var e=this.specifiedScales[t];return e?e.domain:void 0},e.prototype.sort=function(t){return(this.getMapping()[t]||{}).sort},e.prototype.axis=function(t){return this.specifiedAxes[t]},e.prototype.legend=function(t){return this.specifiedLegends[t]},e.prototype.initScales=function(t,e){return r.SCALE_CHANNELS.reduce(function(t,n){var i,r,A=e[n];return a.isFieldDef(A)?(i=A,r=A.scale):a.isConditionalDef(A)&&a.isFieldDef(A.condition)?(i=A.condition,r=A.condition.scale):"x"===n?i=a.getFieldDef(e.x2):"y"===n&&(i=a.getFieldDef(e.y2)),i&&(t[n]=r||{}),t},{})},e.prototype.initAxes=function(t){return[r.X,r.Y].reduce(function(e,n){var A=t[n];if(a.isFieldDef(A)||n===r.X&&a.isFieldDef(t.x2)||n===r.Y&&a.isFieldDef(t.y2)){var o=a.isFieldDef(A)?A.axis:null;null!==o&&!1!==o&&(e[n]=i.__assign({},o))}return e},{})},e.prototype.initLegend=function(t){return r.NONPOSITION_SCALE_CHANNELS.reduce(function(e,n){var r=t[n];if(r){var A=a.isFieldDef(r)?r.legend:r.condition&&a.isFieldDef(r.condition)?r.condition.legend:null;null!==A&&!1!==A&&(e[n]=i.__assign({},A))}return e},{})},e.prototype.parseData=function(){this.component.data=l.parseData(this)},e.prototype.parseLayoutSize=function(){h.parseUnitLayoutSize(this)},e.prototype.parseSelection=function(){this.component.selection=T.parseUnitSelection(this,this.selection)},e.prototype.parseMarkGroup=function(){this.component.mark=f.parseMarkGroup(this)},e.prototype.parseAxisAndHeader=function(){this.component.axes=g.parseUnitAxis(this)},e.prototype.assembleSelectionTopLevelSignals=function(t){return T.assembleTopLevelSignals(this,t)},e.prototype.assembleSelectionSignals=function(){return T.assembleUnitSelectionSignals(this,[])},e.prototype.assembleSelectionData=function(t){return T.assembleUnitSelectionData(this,t)},e.prototype.assembleLayout=function(){return null},e.prototype.assembleLayoutSignals=function(){return M.assembleLayoutSignals(this)},e.prototype.assembleMarks=function(){var t=this.component.mark||[];return this.parent&&I.isLayerModel(this.parent)||(t=T.assembleUnitSelectionMarks(this,t)),t.map(this.correctDataNames)},e.prototype.assembleLayoutSize=function(){return{width:this.getSizeSignalRef("width"),height:this.getSizeSignalRef("height")}},e.prototype.getMapping=function(){return this.encoding},e.prototype.toSpec=function(t,e){var n,i=u.duplicate(this.encoding);return n={mark:this.markDef,encoding:i},t||(n.config=u.duplicate(this.config)),e||(n.data=u.duplicate(this.data)),n},e.prototype.mark=function(){return this.markDef.type},e.prototype.channelHasField=function(t){return A.channelHasField(this.encoding,t)},e.prototype.fieldDef=function(t){var e=this.encoding[t];return a.getFieldDef(e)},e}(I.ModelWithField);e.UnitModel=N},function(t,e,n){"use strict";var i=n(156),r=n(768),A=n(769),o=n(378),a=n(379),c=n(380),s=n(772),u=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];e.a=function(t){function e(t){function e(t){var e,A,o,a=N,l=y;if("c"===T)l=p(t)+l,t="";else{t=+t;var d=t<0;if(t=p(Math.abs(t),E),d&&0==+t&&(d=!1),a=(d?"("===r?r:"-":"-"===r||"("===r?"":r)+a,l=l+("s"===T?u[8+c.b/3]:"")+(d&&"("===r?")":""),C)for(e=-1,A=t.length;++e<A;)if(48>(o=t.charCodeAt(e))||o>57){l=(46===o?M+t.slice(e+1):t.slice(e))+l,t=t.slice(0,e);break}}I&&!s&&(t=g(t,1/0));var D=a.length+t.length+l.length,x=D<f?new Array(f-D+1).join(n):"";switch(I&&s&&(t=g(x+t,x.length?f-l.length:1/0),x=""),i){case"<":t=a+t+l+x;break;case"=":t=a+x+t+l;break;case"^":t=x.slice(0,D=x.length>>1)+a+t+l+x.slice(D);break;default:t=x+a+t+l}return h(t)}t=Object(o.a)(t);var n=t.fill,i=t.align,r=t.sign,A=t.symbol,s=t.zero,f=t.width,I=t.comma,E=t.precision,T=t.type,N="$"===A?l[0]:"#"===A&&/[boxX]/.test(T)?"0"+T.toLowerCase():"",y="$"===A?l[1]:/[%p]/.test(T)?d:"",p=a.a[T],C=!T||/[defgprs%]/.test(T);return E=null==E?T?6:12:/[gprs]/.test(T)?Math.max(1,Math.min(21,E)):Math.max(0,Math.min(20,E)),e.toString=function(){return t+""},e}function n(t,n){var r=e((t=Object(o.a)(t),t.type="f",t)),A=3*Math.max(-8,Math.min(8,Math.floor(Object(i.a)(n)/3))),a=Math.pow(10,-A),c=u[8+A/3];return function(t){return r(a*t)+c}}var g=t.grouping&&t.thousands?Object(r.a)(t.grouping,t.thousands):s.a,l=t.currency,M=t.decimal,h=t.numerals?Object(A.a)(t.numerals):s.a,d=t.percent||"%";return{format:e,formatPrefix:n}}},function(t,e,n){"use strict";function i(t){return new r(t)}function r(t){if(!(e=o.exec(t)))throw new Error("invalid format: "+t);var e,n=e[1]||" ",i=e[2]||">",r=e[3]||"-",a=e[4]||"",c=!!e[5],s=e[6]&&+e[6],u=!!e[7],g=e[8]&&+e[8].slice(1),l=e[9]||"";"n"===l?(u=!0,l="g"):A.a[l]||(l=""),(c||"0"===n&&"="===i)&&(c=!0,n="0",i="="),this.fill=n,this.align=i,this.sign=r,this.symbol=a,this.zero=c,this.width=s,this.comma=u,this.precision=g,this.type=l}e.a=i;var A=n(379),o=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;i.prototype=r.prototype,r.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+this.type}},function(t,e,n){"use strict";var i=n(770),r=n(380),A=n(771);e.a={"":i.a,"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return Object(A.a)(100*t,e)},r:A.a,s:r.a,X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}}},function(t,e,n){"use strict";n.d(e,"b",function(){return i});var i,r=n(240);e.a=function(t,e){var n=Object(r.a)(t,e);if(!n)return t+"";var A=n[0],o=n[1],a=o-(i=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,c=A.length;return a===c?A:a>c?A+new Array(a-c+1).join("0"):a>0?A.slice(0,a)+"."+A.slice(a):"0."+new Array(1-a).join("0")+Object(r.a)(t,Math.max(0,e+a-1))[0]}},function(t,e,n){"use strict";function i(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function r(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function A(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}function o(t){function e(t,e){return function(n){var i,r,A,o=[],a=-1,c=0,s=t.length;for(n instanceof Date||(n=new Date(+n));++a<s;)37===t.charCodeAt(a)&&(o.push(t.slice(c,a)),null!=(r=et[i=t.charAt(++a)])?i=t.charAt(++a):r="e"===i?" ":"0",(A=e[i])&&(i=A(n,r)),o.push(i),c=a+1);return o.push(t.slice(c,a)),o.join("")}}function n(t,e){return function(n){var i=A(1900);if(o(i,t,n+="",0)!=n.length)return null;if("p"in i&&(i.H=i.H%12+12*i.p),"W"in i||"U"in i){"w"in i||(i.w="W"in i?1:0);var a="Z"in i?r(A(i.y)).getUTCDay():e(A(i.y)).getDay();i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(a+5)%7:i.w+7*i.U-(a+6)%7}return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,r(i)):e(i)}}function o(t,e,n,i){for(var r,A,o=0,a=e.length,c=n.length;o<a;){if(i>=c)return-1;if(37===(r=e.charCodeAt(o++))){if(r=e.charAt(o++),!(A=zt[r in et?e.charAt(o++):r])||(i=A(t,n,i))<0)return-1}else if(r!=n.charCodeAt(i++))return-1}return i}function a(t,e,n){var i=xt.exec(e.slice(n));return i?(t.p=Bt[i[0].toLowerCase()],n+i[0].length):-1}function c(t,e,n){var i=Qt.exec(e.slice(n));return i?(t.w=vt[i[0].toLowerCase()],n+i[0].length):-1}function tt(t,e,n){var i=wt.exec(e.slice(n));return i?(t.w=mt[i[0].toLowerCase()],n+i[0].length):-1}function nt(t,e,n){var i=St.exec(e.slice(n));return i?(t.m=Yt[i[0].toLowerCase()],n+i[0].length):-1}function it(t,e,n){var i=jt.exec(e.slice(n));return i?(t.m=Lt[i[0].toLowerCase()],n+i[0].length):-1}function rt(t,e,n){return o(t,It,e,n)}function At(t,e,n){return o(t,Et,e,n)}function ot(t,e,n){return o(t,Tt,e,n)}function at(t){return pt[t.getDay()]}function ct(t){return yt[t.getDay()]}function st(t){return Dt[t.getMonth()]}function ut(t){return Ct[t.getMonth()]}function gt(t){return Nt[+(t.getHours()>=12)]}function lt(t){return pt[t.getUTCDay()]}function Mt(t){return yt[t.getUTCDay()]}function ht(t){return Dt[t.getUTCMonth()]}function dt(t){return Ct[t.getUTCMonth()]}function ft(t){return Nt[+(t.getUTCHours()>=12)]}var It=t.dateTime,Et=t.date,Tt=t.time,Nt=t.periods,yt=t.days,pt=t.shortDays,Ct=t.months,Dt=t.shortMonths,xt=s(Nt),Bt=u(Nt),wt=s(yt),mt=u(yt),Qt=s(pt),vt=u(pt),jt=s(Ct),Lt=u(Ct),St=s(Dt),Yt=u(Dt),bt={a:at,A:ct,b:st,B:ut,c:null,d:x,e:x,H:B,I:w,j:m,L:Q,m:v,M:j,p:gt,S:L,U:S,w:Y,W:b,x:null,X:null,y:O,Y:z,Z:U,"%":$},Ot={a:lt,A:Mt,b:ht,B:dt,c:null,d:F,e:F,H:k,I:R,j:G,L:H,m:J,M:P,p:ft,S:X,U:V,w:W,W:_,x:null,X:null,y:Z,Y:K,Z:q,"%":$},zt={a:c,A:tt,b:nt,B:it,c:rt,d:E,e:E,H:N,I:N,j:T,L:C,m:I,M:y,p:a,S:p,U:l,w:g,W:M,x:At,X:ot,y:d,Y:h,Z:f,"%":D};return bt.x=e(Et,bt),bt.X=e(Tt,bt),bt.c=e(It,bt),Ot.x=e(Et,Ot),Ot.X=e(Tt,Ot),Ot.c=e(It,Ot),{format:function(t){var n=e(t+="",bt);return n.toString=function(){return t},n},parse:function(t){var e=n(t+="",i);return e.toString=function(){return t},e},utcFormat:function(t){var n=e(t+="",Ot);return n.toString=function(){return t},n},utcParse:function(t){var e=n(t,r);return e.toString=function(){return t},e}}}function a(t,e,n){var i=t<0?"-":"",r=(i?-t:t)+"",A=r.length;return i+(A<n?new Array(n-A+1).join(e)+r:r)}function c(t){return t.replace(rt,"\\$&")}function s(t){return new RegExp("^(?:"+t.map(c).join("|")+")","i")}function u(t){for(var e={},n=-1,i=t.length;++n<i;)e[t[n].toLowerCase()]=n;return e}function g(t,e,n){var i=nt.exec(e.slice(n,n+1));return i?(t.w=+i[0],n+i[0].length):-1}function l(t,e,n){var i=nt.exec(e.slice(n));return i?(t.U=+i[0],n+i[0].length):-1}function M(t,e,n){var i=nt.exec(e.slice(n));return i?(t.W=+i[0],n+i[0].length):-1}function h(t,e,n){var i=nt.exec(e.slice(n,n+4));return i?(t.y=+i[0],n+i[0].length):-1}function d(t,e,n){var i=nt.exec(e.slice(n,n+2));return i?(t.y=+i[0]+(+i[0]>68?1900:2e3),n+i[0].length):-1}function f(t,e,n){var i=/^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(e.slice(n,n+6));return i?(t.Z=i[1]?0:-(i[2]+(i[3]||"00")),n+i[0].length):-1}function I(t,e,n){var i=nt.exec(e.slice(n,n+2));return i?(t.m=i[0]-1,n+i[0].length):-1}function E(t,e,n){var i=nt.exec(e.slice(n,n+2));return i?(t.d=+i[0],n+i[0].length):-1}function T(t,e,n){var i=nt.exec(e.slice(n,n+3));return i?(t.m=0,t.d=+i[0],n+i[0].length):-1}function N(t,e,n){var i=nt.exec(e.slice(n,n+2));return i?(t.H=+i[0],n+i[0].length):-1}function y(t,e,n){var i=nt.exec(e.slice(n,n+2));return i?(t.M=+i[0],n+i[0].length):-1}function p(t,e,n){var i=nt.exec(e.slice(n,n+2));return i?(t.S=+i[0],n+i[0].length):-1}function C(t,e,n){var i=nt.exec(e.slice(n,n+3));return i?(t.L=+i[0],n+i[0].length):-1}function D(t,e,n){var i=it.exec(e.slice(n,n+1));return i?n+i[0].length:-1}function x(t,e){return a(t.getDate(),e,2)}function B(t,e){return a(t.getHours(),e,2)}function w(t,e){return a(t.getHours()%12||12,e,2)}function m(t,e){return a(1+tt.timeDay.count(Object(tt.timeYear)(t),t),e,3)}function Q(t,e){return a(t.getMilliseconds(),e,3)}function v(t,e){return a(t.getMonth()+1,e,2)}function j(t,e){return a(t.getMinutes(),e,2)}function L(t,e){return a(t.getSeconds(),e,2)}function S(t,e){return a(tt.timeSunday.count(Object(tt.timeYear)(t),t),e,2)}function Y(t){return t.getDay()}function b(t,e){return a(tt.timeMonday.count(Object(tt.timeYear)(t),t),e,2)}function O(t,e){return a(t.getFullYear()%100,e,2)}function z(t,e){return a(t.getFullYear()%1e4,e,4)}function U(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+a(e/60|0,"0",2)+a(e%60,"0",2)}function F(t,e){return a(t.getUTCDate(),e,2)}function k(t,e){return a(t.getUTCHours(),e,2)}function R(t,e){return a(t.getUTCHours()%12||12,e,2)}function G(t,e){return a(1+tt.utcDay.count(Object(tt.utcYear)(t),t),e,3)}function H(t,e){return a(t.getUTCMilliseconds(),e,3)}function J(t,e){return a(t.getUTCMonth()+1,e,2)}function P(t,e){return a(t.getUTCMinutes(),e,2)}function X(t,e){return a(t.getUTCSeconds(),e,2)}function V(t,e){return a(tt.utcSunday.count(Object(tt.utcYear)(t),t),e,2)}function W(t){return t.getUTCDay()}function _(t,e){return a(tt.utcMonday.count(Object(tt.utcYear)(t),t),e,2)}function Z(t,e){return a(t.getUTCFullYear()%100,e,2)}function K(t,e){return a(t.getUTCFullYear()%1e4,e,4)}function q(){return"+0000"}function $(){return"%"}e.a=o;var tt=n(116),et={"-":"",_:" ",0:"0"},nt=/^\s*\d+/,it=/^%/,rt=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g},function(t,e,n){"use strict";function i(t){return t.toISOString()}n.d(e,"b",function(){return A});var r=n(241),A="%Y-%m-%dT%H:%M:%S.%LZ",o=Date.prototype.toISOString?i:Object(r.d)(A);e.a=o},function(t,e,n){"use strict";function i(){Object.defineProperty(this,A,{writable:!0,value:{}})}e.a=i;var r=n(0),A="_:mod:_",o=i.prototype;o.set=function(t,e,n,i){var o=this,a=o[t],c=o[A];return null!=e&&e>=0?(a[e]!==n||i)&&(a[e]=n,c[e+":"+t]=-1,c[t]=-1):(a!==n||i)&&(o[t]=n,c[t]=Object(r.isArray)(n)?1+n.length:-1),o},o.modified=function(t,e){var n,i=this[A];if(!arguments.length){for(n in i)if(i[n])return!0;return!1}if(Object(r.isArray)(t)){for(n=0;n<t.length;++n)if(i[t[n]])return!0;return!1}return null!=e&&e>=0?e+1<i[t]||!!i[e+":"+t]:!!i[t]},o.clear=function(){return this[A]={},this}},function(t,e,n){"use strict";function i(t,e,n){this.id=++a,this.value=null,n&&(this.receive=n),t&&(this._filter=t),e&&(this._apply=e)}function r(t,e,n){return new i(t,e,n)}e.a=i,e.b=r;var A=n(117),o=n(0),a=0,c=i.prototype;c._filter=o.truthy,c._apply=o.identity,c.targets=function(){return this._targets||(this._targets=Object(A.a)(o.id))},c.consume=function(t){return arguments.length?(this._consume=!!t,this):!!this._consume},c.receive=function(t){if(this._filter(t)){for(var e=this.value=this._apply(t),n=this._targets,i=n?n.length:0,r=0;r<i;++r)n[r].receive(e);this._consume&&(t.preventDefault(),t.stopPropagation())}},c.filter=function(t){var e=r(t);return this.targets().add(e),e},c.apply=function(t){var e=r(null,t);return this.targets().add(e),e},c.merge=function(){var t=r();this.targets().add(t);for(var e=0,n=arguments.length;e<n;++e)arguments[e].targets().add(t);return t},c.throttle=function(t){var e=-1;return this.filter(function(){var n=Date.now();return n-e>t?(e=n,1):0})},c.debounce=function(t){var e=r();return this.targets().add(r(null,null,Object(o.debounce)(t,function(t){var n=t.dataflow;e.receive(t),n&&n.run&&n.run()}))),e},c.between=function(t,e){var n=!1;return t.targets().add(r(null,null,function(){n=!0})),e.targets().add(r(null,null,function(){n=!1})),this.filter(function(){return n})}},function(t,e,n){"use strict";function i(t,e){if(!t||!t.length)return"unknown";var n,i,r,o,a=l.slice();for(i=0,r=t.length;i<r;++i){for(n=e?t[i][e]:t[i],o=0;o<a.length;++o)A(n)&&!a[o](n)&&(a.splice(o,1),--o);if(0===a.length)return"string"}return M[l.indexOf(a[0])]}function r(t,e){return e.reduce(function(e,n){return e[n]=i(t,n),e},{})}function A(t){return null!=t&&t===t}function o(t){return"true"===t||"false"===t||!0===t||!1===t}function a(t){return!isNaN(Date.parse(t))}function c(t){return!(isNaN(+t)||t instanceof Date)}function s(t){return c(t)&&(t=+t)==~~t}n.d(e,"c",function(){return g}),e.a=i,e.b=r;var u=n(0),g={boolean:u.toBoolean,integer:u.toNumber,number:u.toNumber,date:u.toDate,string:u.toString,unknown:u.identity},l=[o,s,c,a],M=["boolean","integer","number","date"]},function(t,e,n){"use strict";var i=n(814),r=n(387),A=n(818),o={dsv:i.a,csv:Object(i.b)(","),tsv:Object(i.b)("\t"),json:r.a,topojson:A.a};e.a=function(t,e){return arguments.length>1?(o[t]=e,this):o.hasOwnProperty(t)?o[t]:null}},function(t,e,n){"use strict";(function(t){function i(e){return!("function"!=typeof t||!Object(A.isFunction)(t.isBuffer))&&t.isBuffer(e)}function r(t,e){return e&&e.copy?JSON.parse(JSON.stringify(t)):t}var A=n(0);e.a=function(t,e){var n=e&&e.property?Object(A.field)(e.property):A.identity;return Object(A.isObject)(t)&&!i(t)?r(n(t)):n(JSON.parse(t))}}).call(e,n(331).Buffer)},function(t,e,n){"use strict";function i(t,e,n,i){var r,A,o,a,c,s=this,u=0;for(this.dataflow=t,this.stamp=e,this.fields=null,this.encode=i||null,this.pulses=n,o=0,a=n.length;o<a;++o)if(r=n[o],r.stamp===e){if(r.fields){A=s.fields||(s.fields={});for(c in r.fields)A[c]=1}r.changed(s.ADD)&&(u|=s.ADD),r.changed(s.REM)&&(u|=s.REM),r.changed(s.MOD)&&(u|=s.MOD)}this.changes=u}e.a=i;var r=n(158),A=n(0),o=Object(A.inherits)(i,r.b);o.fork=function(t){var e=new r.b(this.dataflow).init(this,t&this.NO_FIELDS);return void 0!==t&&(t&e.ADD&&this.visit(e.ADD,function(t){return e.add.push(t)}),t&e.REM&&this.visit(e.REM,function(t){return e.rem.push(t)}),t&e.MOD&&this.visit(e.MOD,function(t){return e.mod.push(t)})),e},o.changed=function(t){return this.changes&t},o.modified=function(t){var e=this,n=e.fields;return n&&e.changes&e.MOD?Object(A.isArray)(t)?t.some(function(t){return n[t]}):n[t]:0},o.filter=function(){Object(A.error)("MultiPulse does not support filtering.")},o.materialize=function(){Object(A.error)("MultiPulse does not support materialization.")},o.visit=function(t,e){var n=this,i=n.pulses,r=i.length,A=0;if(t&n.SOURCE)for(;A<r;++A)i[A].visit(t,e);else for(;A<r;++A)i[A].stamp===n.stamp&&i[A].visit(t,e);return n}},function(t,e,n){"use strict";function i(t){a.g.call(this,null,t),this._adds=[],this._mods=[],this._alen=0,this._mlen=0,this._drop=!0,this._cross=!1,this._dims=[],this._dnames=[],this._measures=[],this._countOnly=!1,this._counts=null,this._prev=null,this._inputs=null,this._outputs=null}e.a=i;var r=n(390),A=n(159),o=n(391),a=n(1),c=n(0);i.Definition={type:"Aggregate",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:A.a},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"drop",type:"boolean",default:!0},{name:"cross",type:"boolean",default:!1},{name:"key",type:"field"}]};var s=Object(c.inherits)(i,a.g);s.transform=function(t,e){var n,i=this,r=e.fork(e.NO_SOURCE|e.NO_FIELDS);return this.stamp=r.stamp,this.value&&((n=t.modified())||e.modified(this._inputs))?(this._prev=this.value,this.value=n?this.init(t):{},e.visit(e.SOURCE,function(t){i.add(t)})):(this.value=this.value||this.init(t),e.visit(e.REM,function(t){i.rem(t)}),e.visit(e.ADD,function(t){i.add(t)})),r.modifies(this._outputs),i._drop=!1!==t.drop,t.cross&&i._dims.length>1&&(i._drop=!1,this.cross()),i.changes(r)},s.cross=function(){function t(t){var e,n,i,a;for(e in t)for(i=t[e].tuple,n=0;n<o;++n)A[n][a=i[r[n]]]=a}function e(t,a,c){var s,u,g=r[c],l=A[c++];for(s in l)a[g]=l[s],u=t?t+"|"+s:s,c<o?e(u,a,c):i[u]||n.cell(u,a)}var n=this,i=n.value,r=n._dnames,A=r.map(function(){return{}}),o=r.length;t(n._prev),t(i),e("",{},0)},s.init=function(t){function e(t){for(var e,i=Object(c.array)(Object(c.accessorFields)(t)),r=0,A=i.length;r<A;++r)o[e=i[r]]||(o[e]=1,n.push(e))}var n=this._inputs=[],i=this._outputs=[],o={};this._dims=Object(c.array)(t.groupby),this._dnames=this._dims.map(function(t){var n=Object(c.accessorName)(t);return e(t),i.push(n),n}),this.cellkey=t.key?t.key:Object(r.a)(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];var a,s,u,g,l,M,h=t.fields||[null],d=t.ops||["count"],f=t.as||[],I=h.length,E={};for(I!==d.length&&Object(c.error)("Unmatched number of fields and aggregate ops."),M=0;M<I;++M)a=h[M],s=d[M],null==a&&"count"!==s&&Object(c.error)("Null aggregate field specified."),g=Object(c.accessorName)(a),l=Object(A.d)(s,g,f[M]),i.push(l),"count"!==s?(u=E[g],u||(e(a),u=E[g]=[],u.field=a,this._measures.push(u)),"count"!==s&&(this._countOnly=!1),u.push(Object(A.c)(s,l))):this._counts.push(l);return this._measures=this._measures.map(function(t){return Object(A.b)(t,t.field)}),{}},s.cellkey=Object(r.a)(),s.cell=function(t,e){var n=this.value[t];return n?0===n.num&&this._drop&&n.stamp<this.stamp?(n.stamp=this.stamp,this._adds[this._alen++]=n):n.stamp<this.stamp&&(n.stamp=this.stamp,this._mods[this._mlen++]=n):(n=this.value[t]=this.newcell(t,e),this._adds[this._alen++]=n),n},s.newcell=function(t,e){var n={key:t,num:0,agg:null,tuple:this.newtuple(e,this._prev&&this._prev[t]),stamp:this.stamp,store:!1};if(!this._countOnly){var i,r=this._measures,A=r.length;for(n.agg=Array(A),i=0;i<A;++i)n.agg[i]=new r[i](n)}return n.store&&(n.data=new o.a),n},s.newtuple=function(t,e){var n,i,r=this._dnames,A=this._dims,o={};for(n=0,i=A.length;n<i;++n)o[r[n]]=A[n](t);return e?Object(a.o)(e.tuple,o):Object(a.k)(o)},s.add=function(t){var e,n,i,r=this.cellkey(t),A=this.cell(r,t);if(A.num+=1,!this._countOnly)for(A.store&&A.data.add(t),e=A.agg,n=0,i=e.length;n<i;++n)e[n].add(e[n].get(t),t)},s.rem=function(t){var e,n,i,r=this.cellkey(t),A=this.cell(r,t);if(A.num-=1,!this._countOnly)for(A.store&&A.data.rem(t),e=A.agg,n=0,i=e.length;n<i;++n)e[n].rem(e[n].get(t),t)},s.celltuple=function(t){var e,n,i,r=t.tuple,A=this._counts;for(t.store&&t.data.values(),n=0,i=A.length;n<i;++n)r[A[n]]=t.num;if(!this._countOnly)for(e=t.agg,n=0,i=e.length;n<i;++n)e[n].set(r);return r},s.changes=function(t){var e,n,i,r,A=this._adds,o=this._mods,a=this._prev,c=this._drop,s=t.add,u=t.rem,g=t.mod;if(a)for(n in a)e=a[n],c&&!e.num||u.push(e.tuple);for(i=0,r=this._alen;i<r;++i)s.push(this.celltuple(A[i])),A[i]=null;for(i=0,r=this._mlen;i<r;++i)e=o[i],(0===e.num&&c?u:g).push(this.celltuple(e)),o[i]=null;return this._alen=this._mlen=0,this._prev=null,t}},function(t,e,n){"use strict";function i(t){return function(e){for(var n=t.length,i=1,r=String(t[0](e));i<n;++i)r+="|"+t[i](e);return r}}function r(t){return t&&t.length?1===t.length?t[0]:i(t):function(){return""}}e.a=r},function(t,e,n){"use strict";function i(t){this._key=t?Object(o.field)(t):r.r,this.reset()}e.a=i;var r=n(1),A=n(70),o=n(0),a=i.prototype;a.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},a.add=function(t){this._add.push(t)},a.rem=function(t){this._rem.push(t)},a.values=function(){if(this._get=null,0===this._rem.length)return this._add;var t,e,n,i=this._add,r=this._rem,A=this._key,o=i.length,a=r.length,c=Array(o-a),s={};for(t=0;t<a;++t)s[A(r[t])]=1;for(t=0,e=0;t<o;++t)s[A(n=i[t])]?s[A(n)]=0:c[e++]=n;return this._rem=[],this._add=c},a.distinct=function(t){for(var e,n=this.values(),i=n.length,r={},A=0;--i>=0;)e=t(n[i])+"",r.hasOwnProperty(e)||(r[e]=1,++A);return A},a.extent=function(t){if(this._get!==t||!this._ext){var e=this.values(),n=Object(o.extentIndex)(e,t);this._ext=[e[n[0]],e[n[1]]],this._get=t}return this._ext},a.argmin=function(t){return this.extent(t)[0]||{}},a.argmax=function(t){return this.extent(t)[1]||{}},a.min=function(t){var e=this.extent(t)[0];return null!=e?t(e):1/0},a.max=function(t){var e=this.extent(t)[1];return null!=e?t(e):-1/0},a.quartile=function(t){return this._get===t&&this._q||(this._q=Object(A.c)(this.values(),t),this._get=t),this._q},a.q1=function(t){return this.quartile(t)[0]},a.q2=function(t){return this.quartile(t)[1]},a.q3=function(t){return this.quartile(t)[2]},a.ci=function(t){return this._get===t&&this._ci||(this._ci=Object(A.b)(this.values(),1e3,.05,t),this._get=t),this._ci},a.ci0=function(t){return this.ci(t)[0]},a.ci1=function(t){return this.ci(t)[1]}},function(t,e,n){"use strict";function i(t){return null===t?NaN:+t}e.a=function(t,e){var n,r=[],A=t.length,o=-1;if(null==e)for(;++o<A;)isNaN(n=i(t[o]))||r.push(n);else for(;++o<A;)isNaN(n=i(e(t[o],o,t)))||r.push(n);return r}},function(t,e,n){"use strict";n.d(e,"b",function(){return o}),n.d(e,"a",function(){return a});var i=n(93),r=n(394),A=Object(r.a)(i.a),o=A.right,a=A.left;e.c=o},function(t,e,n){"use strict";function i(t){return function(e,n){return Object(r.a)(t(e),n)}}var r=n(93);e.a=function(t){return 1===t.length&&(t=i(t)),{left:function(e,n,i,r){for(null==i&&(i=0),null==r&&(r=e.length);i<r;){var A=i+r>>>1;t(e[A],n)<0?i=A+1:r=A}return i},right:function(e,n,i,r){for(null==i&&(i=0),null==r&&(r=e.length);i<r;){var A=i+r>>>1;t(e[A],n)>0?r=A:i=A+1}return i}}}},function(t,e,n){"use strict";function i(t,e){return[t,e]}e.b=i,e.a=function(t,e){null==e&&(e=i);for(var n=0,r=t.length-1,A=t[0],o=new Array(r<0?0:r);n<r;)o[n]=e(A,A=t[++n]);return o}},function(t,e,n){"use strict";var i=n(397);e.a=function(t,e){var n=Object(i.a)(t,e);return n?Math.sqrt(n):n}},function(t,e,n){"use strict";var i=n(118);e.a=function(t,e){var n,r,A=t.length,o=0,a=-1,c=0,s=0;if(null==e)for(;++a<A;)isNaN(n=Object(i.a)(t[a]))||(r=n-c,c+=r/++o,s+=r*(n-c));else for(;++a<A;)isNaN(n=Object(i.a)(e(t[a],a,t)))||(r=n-c,c+=r/++o,s+=r*(n-c));if(o>1)return s/(o-1)}},function(t,e,n){"use strict";e.a=function(t,e){var n,i,r,A=t.length,o=-1;if(null==e){for(;++o<A;)if(null!=(n=t[o])&&n>=n)for(i=r=n;++o<A;)null!=(n=t[o])&&(i>n&&(i=n),r<n&&(r=n))}else for(;++o<A;)if(null!=(n=e(t[o],o,t))&&n>=n)for(i=r=n;++o<A;)null!=(n=e(t[o],o,t))&&(i>n&&(i=n),r<n&&(r=n));return[i,r]}},function(t,e,n){"use strict";n.d(e,"b",function(){return r}),n.d(e,"a",function(){return A});var i=Array.prototype,r=i.slice,A=i.map},function(t,e,n){"use strict";e.a=function(t,e,n){t=+t,e=+e,n=(r=arguments.length)<2?(e=t,t=0,1):r<3?1:+n;for(var i=-1,r=0|Math.max(0,Math.ceil((e-t)/n)),A=new Array(r);++i<r;)A[i]=t+i*n;return A}},function(t,e,n){"use strict";function i(t,e,n){var i=(e-t)/Math.max(0,n),r=Math.floor(Math.log(i)/Math.LN10),c=i/Math.pow(10,r);return r>=0?(c>=A?10:c>=o?5:c>=a?2:1)*Math.pow(10,r):-Math.pow(10,-r)/(c>=A?10:c>=o?5:c>=a?2:1)}function r(t,e,n){var i=Math.abs(e-t)/Math.max(0,n),r=Math.pow(10,Math.floor(Math.log(i)/Math.LN10)),c=i/r;return c>=A?r*=10:c>=o?r*=5:c>=a&&(r*=2),e<t?-r:r}e.b=i,e.c=r;var A=Math.sqrt(50),o=Math.sqrt(10),a=Math.sqrt(2);e.a=function(t,e,n){var r,A,o,a=e<t,c=-1;if(a&&(r=t,t=e,e=r),0===(o=i(t,e,n))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),A=new Array(r=Math.ceil(e-t+1));++c<r;)A[c]=(t+c)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),A=new Array(r=Math.ceil(t-e+1));++c<r;)A[c]=(t-c)/o;return a&&A.reverse(),A}},function(t,e,n){"use strict";e.a=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1}},function(t,e,n){"use strict";e.a=function(t,e){var n,i,r=t.length,A=-1;if(null==e){for(;++A<r;)if(null!=(n=t[A])&&n>=n)for(i=n;++A<r;)null!=(n=t[A])&&i>n&&(i=n)}else for(;++A<r;)if(null!=(n=e(t[A],A,t))&&n>=n)for(i=n;++A<r;)null!=(n=e(t[A],A,t))&&i>n&&(i=n);return i}},function(t,e,n){"use strict";function i(t){return t.length}var r=n(403);e.a=function(t){if(!(o=t.length))return[];for(var e=-1,n=Object(r.a)(t,i),A=new Array(n);++e<n;)for(var o,a=-1,c=A[e]=new Array(o);++a<o;)c[a]=t[a][e];return A}},function(t,e,n){"use strict";var i=n(392),r=n(10);e.a=function(t,e){var n=Object(i.a)(t,e);return[Object(r.quantile)(n.sort(r.ascending),.25),Object(r.quantile)(n,.5),Object(r.quantile)(n,.75)]}},function(t,e,n){"use strict";var i=n(71);e.a=function(t,e){var n,r,A=NaN,o={};return o.mean=function(t){return arguments.length?(n=t||0,A=NaN,o):n},o.stdev=function(t){return arguments.length?(r=null==t?1:t,A=NaN,o):r},o.sample=function(){var t,e,o=0,a=0;if(A===A)return o=A,A=NaN,o;do{o=2*Object(i.a)()-1,a=2*Object(i.a)()-1,t=o*o+a*a}while(0===t||t>1);return e=Math.sqrt(-2*Math.log(t)/t),A=n+a*e*r,n+o*e*r},o.pdf=function(t){var e=Math.exp(Math.pow(t-n,2)/(-2*Math.pow(r,2)));return 1/(r*Math.sqrt(2*Math.PI))*e},o.cdf=function(t){var e,i=(t-n)/r,A=Math.abs(i);if(A>37)e=0;else{var o,a=Math.exp(-A*A/2);A<7.07106781186547?(o=.0352624965998911*A+.700383064443688,o=o*A+6.37396220353165,o=o*A+33.912866078383,o=o*A+112.079291497871,o=o*A+221.213596169931,o=o*A+220.206867912376,e=a*o,o=.0883883476483184*A+1.75566716318264,o=o*A+16.064177579207,o=o*A+86.7807322029461,o=o*A+296.564248779674,o=o*A+637.333633378831,o=o*A+793.826512519948,o=o*A+440.413735824752,e/=o):(o=A+.65,o=A+4/o,o=A+3/o,o=A+2/o,o=A+1/o,e=a/o/2.506628274631)}return i>0?1-e:e},o.icdf=function(t){if(t<=0||t>=1)return NaN;var e=2*t-1,i=8*(Math.PI-3)/(3*Math.PI*(4-Math.PI)),A=2/(Math.PI*i)+Math.log(1-Math.pow(e,2))/2,o=Math.log(1-e*e)/i,a=(e>0?1:-1)*Math.sqrt(Math.sqrt(A*A-o)-A);return n+r*Math.SQRT2*a},o.mean(t).stdev(e)}},function(t,e,n){"use strict";var i=n(0);e.a=function(t,e,n){var r=t,A=e||[],o=n||[],a={},c=0;return{add:function(t){o.push(t)},remove:function(t){a[r(t)]=++c},size:function(){return A.length},data:function(t,e){return c&&(A=A.filter(function(t){return!a[r(t)]}),a={},c=0),e&&t&&A.sort(t),o.length&&(A=t?Object(i.merge)(t,A,o.sort(t)):A.concat(o),o=[]),A}}}},function(t,e,n){"use strict";function i(t){A.g.call(this,{},t),this._keys=Object(o.fastmap)();var e=this._targets=[];e.active=0,e.forEach=function(t){for(var n=0,i=e.active;n<i;++n)t(e[n],n,e)}}e.a=i;var r=n(409),A=n(1),o=n(0),a=Object(o.inherits)(i,A.g);a.activate=function(t){this._targets[this._targets.active++]=t},a.subflow=function(t,e,n,i){var A,o,a=this.value,c=a.hasOwnProperty(t)&&a[t];return c?c.value.stamp<n.stamp&&(c.init(n),this.activate(c)):(o=i||(o=this._group[t])&&o.tuple,A=n.dataflow,c=A.add(new r.a(n.fork(n.NO_SOURCE),this)).connect(e(A,t,o)),a[t]=c,this.activate(c)),c},a.transform=function(t,e){function n(t){return r.subflow(t,a,e)}var i=e.dataflow,r=this,o=t.key,a=t.subflow,c=this._keys,s=t.modified("key");return this._group=t.group||{},this._targets.active=0,e.visit(e.REM,function(t){var e=Object(A.r)(t),i=c.get(e);void 0!==i&&(c.delete(e),n(i).rem(t))}),e.visit(e.ADD,function(t){var e=o(t);c.set(Object(A.r)(t),e),n(e).add(t)}),s||e.modified(o.fields)?e.visit(e.MOD,function(t){var e=Object(A.r)(t),i=c.get(e),r=o(t);i===r?n(r).mod(t):(c.set(e,r),n(i).rem(t),n(r).add(t))}):e.changed(e.MOD)&&e.visit(e.MOD,function(t){n(c.get(Object(A.r)(t))).mod(t)}),s&&e.visit(e.REFLOW,function(t){var e=Object(A.r)(t),i=c.get(e),r=o(t);i!==r&&(c.set(e,r),n(i).rem(t),n(r).add(t))}),c.empty>i.cleanThreshold&&i.runAfter(c.clean),e}},function(t,e,n){"use strict";function i(t,e){r.d.call(this,t),this.parent=e}e.a=i;var r=n(1),A=n(0),o=Object(A.inherits)(i,r.d);o.connect=function(t){return this.targets().add(t),t.source=this},o.add=function(t){this.value.add.push(t)},o.rem=function(t){this.value.rem.push(t)},o.mod=function(t){this.value.mod.push(t)},o.init=function(t){this.value.init(t,t.NO_SOURCE)},o.evaluate=function(){return this.value}},function(t,e,n){"use strict";function i(t,e,n,i){var o=A[t](e,n);return{init:o.init||r.zero,update:function(t,e){e[i]=o.next(t)}}}e.b=i,n.d(e,"c",function(){return A}),n.d(e,"a",function(){return o});var r=n(0),A={row_number:function(){return{next:function(t){return t.index+1}}},rank:function(){var t;return{init:function(){t=1},next:function(e){var n=e.index,i=e.data;return n&&e.compare(i[n-1],i[n])?t=n+1:t}}},dense_rank:function(){var t;return{init:function(){t=1},next:function(e){var n=e.index,i=e.data;return n&&e.compare(i[n-1],i[n])?++t:t}}},percent_rank:function(){var t=A.rank(),e=t.next;return{init:t.init,next:function(t){return(e(t)-1)/(t.data.length-1)}}},cume_dist:function(){var t;return{init:function(){t=0},next:function(e){var n=e.index,i=e.data,r=e.compare;if(t<n){for(;n+1<i.length&&!r(i[n],i[n+1]);)++n;t=n}return(1+t)/i.length}}},ntile:function(t,e){(e=+e)>0||Object(r.error)("ntile num must be greater than zero.");var n=A.cume_dist(),i=n.next;return{init:n.init,next:function(t){return Math.ceil(e*i(t))}}},lag:function(t,e){return e=+e||1,{next:function(n){var i=n.index-e;return i>=0?t(n.data[i]):null}}},lead:function(t,e){return e=+e||1,{next:function(n){var i=n.index+e,r=n.data;return i<r.length?t(r[i]):null}}},first_value:function(t){return{next:function(e){return t(e.data[e.i0])}}},last_value:function(t){return{next:function(e){return t(e.data[e.i1-1])}}},nth_value:function(t,e){return e=+e,e>0||Object(r.error)("nth_value nth must be greater than zero."),{next:function(n){var i=n.i0+(e-1);return i<n.i1?t(n.data[i]):null}}}},o=Object.keys(A)},function(t,e,n){"use strict";function i(t){r.a.call(this,t),this.items=this.items||[]}e.a=i;var r=n(412),A=n(0);Object(A.inherits)(i,r.a)},function(t,e,n){"use strict";function i(t){this.mark=t,this.bounds=this.bounds||new r.a}e.a=i;var r=n(72)},function(t,e,n){"use strict";function i(t){this._pending=0,this._loader=t||Object(a.d)()}function r(t){t._pending+=1}function A(t){t._pending-=1}e.a=i;var o=n(883),a=n(69),c=i.prototype;c.pending=function(){return this._pending},c.sanitizeURL=function(t){var e=this;return r(e),e._loader.sanitize(t,{context:"href"}).then(function(t){return A(e),t}).catch(function(){return A(e),null})},c.loadImage=function(t){var e=this;return r(e),e._loader.sanitize(t,{context:"image"}).then(function(t){var n=t.href;if(!n||!o.a)throw{url:n};var i=new o.a;return i.onload=function(){A(e),i.loaded=!0},i.onerror=function(){A(e),i.loaded=!1},i.src=n,i}).catch(function(t){return A(e),{loaded:!1,width:0,height:0,src:t&&t.url||""}})},c.ready=function(){var t=this;return new Promise(function(e){function n(i){t.pending()?setTimeout(function(){n(!0)},10):e(i)}n(!1)})}},function(t,e,n){"use strict";function i(t,e){return JSON.stringify(t,a,e)}function r(t){return A("string"==typeof t?JSON.parse(t):t)}function A(t){var e,n,i,r=t.marktype,a=t.items;if(a)for(n=0,i=a.length;n<i;++n)e=r?"mark":"group",a[n][e]=t,a[n].zindex&&(a[n][e].zdirty=!0),"group"===(r||e)&&A(a[n]);return r&&Object(o.a)(t),t}e.b=i,e.a=r;var o=n(415),a=["marktype","name","role","interactive","clip","items","zindex","x","y","width","height","align","baseline","fill","fillOpacity","opacity","stroke","strokeOpacity","strokeWidth","strokeCap","strokeDash","strokeDashOffset","startAngle","endAngle","innerRadius","outerRadius","cornerRadius","padAngle","interpolate","tension","orient","defined","url","path","x2","y2","size","shape","text","angle","theta","radius","dx","dy","font","fontSize","fontWeight","fontStyle","fontVariant"]},function(t,e,n){"use strict";var i=n(72),r=n(416),A=n(73),o={mark:null};e.a=function(t,e,n){var a,c,s,u,g=A.a[t.marktype],l=g.bound,M=t.items,h=M&&M.length;if(g.nested)return h?s=M[0]:(o.mark=t,s=o),u=Object(r.a)(s,l,n),e=e&&e.union(u)||u;if(e=e||t.bounds&&t.bounds.clear()||new i.a,h)for(a=0,c=M.length;a<c;++a)e.union(Object(r.a)(M[a],l,n));return t.bounds=e}},function(t,e,n){"use strict";var i=n(72),r=n(73);e.a=function(t,e,n){var A=r.a[t.mark.marktype],o=e||A.bound;return A.nested&&(t=t.mark),o(t.bounds||(t.bounds=new i.a),t,n)}},function(t,e,n){"use strict";function i(t,e,n){var i=A.hasOwnProperty(t)&&A[t],r=null;return i&&(r=i.curve||i[e||"vertical"],i.tension&&null!=n&&(r=r[i.tension](n))),r}e.a=i;var r=n(94),A={basis:{curve:r.curveBasis},"basis-closed":{curve:r.curveBasisClosed},"basis-open":{curve:r.curveBasisOpen},bundle:{curve:r.curveBundle,tension:"beta",value:.85},cardinal:{curve:r.curveCardinal,tension:"tension",value:0},"cardinal-open":{curve:r.curveCardinalOpen,tension:"tension",value:0},"cardinal-closed":{curve:r.curveCardinalClosed,tension:"tension",value:0},"catmull-rom":{curve:r.curveCatmullRom,tension:"alpha",value:.5},"catmull-rom-closed":{curve:r.curveCatmullRomClosed,tension:"alpha",value:.5},"catmull-rom-open":{curve:r.curveCatmullRomOpen,tension:"alpha",value:.5},linear:{curve:r.curveLinear},"linear-closed":{curve:r.curveLinearClosed},monotone:{horizontal:r.curveMonotoneY,vertical:r.curveMonotoneX},natural:{curve:r.curveNatural},step:{curve:r.curveStep},"step-after":{curve:r.curveStepAfter},"step-before":{curve:r.curveStepBefore}}},function(t,e,n){"use strict";var i=n(40),r=n(74),A=n(161),o=n(248),a=n(249);e.a=function(){function t(t){var e,r,A,o,a,d=t.length,f=!1,I=new Array(d),E=new Array(d);for(null==l&&(h=M(a=Object(i.a)())),e=0;e<=d;++e){if(!(e<d&&g(o=t[e],e,t))===f)if(f=!f)r=e,h.areaStart(),h.lineStart();else{for(h.lineEnd(),h.lineStart(),A=e-1;A>=r;--A)h.point(I[A],E[A]);h.lineEnd(),h.areaEnd()}f&&(I[e]=+n(o,e,t),E[e]=+s(o,e,t),h.point(c?+c(o,e,t):I[e],u?+u(o,e,t):E[e]))}if(a)return h=null,a+""||null}function e(){return Object(o.a)().defined(g).curve(M).context(l)}var n=a.a,c=null,s=Object(r.a)(0),u=a.b,g=Object(r.a)(!0),l=null,M=A.a,h=null;return t.x=function(e){return arguments.length?(n="function"==typeof e?e:Object(r.a)(+e),c=null,t):n},t.x0=function(e){return arguments.length?(n="function"==typeof e?e:Object(r.a)(+e),t):n},t.x1=function(e){return arguments.length?(c=null==e?null:"function"==typeof e?e:Object(r.a)(+e),t):c},t.y=function(e){return arguments.length?(s="function"==typeof e?e:Object(r.a)(+e),u=null,t):s},t.y0=function(e){return arguments.length?(s="function"==typeof e?e:Object(r.a)(+e),t):s},t.y1=function(e){return arguments.length?(u=null==e?null:"function"==typeof e?e:Object(r.a)(+e),t):u},t.lineX0=t.lineY0=function(){return e().x(n).y(s)},t.lineY1=function(){return e().x(n).y(u)},t.lineX1=function(){return e().x(c).y(s)},t.defined=function(e){return arguments.length?(g="function"==typeof e?e:Object(r.a)(!!e),t):g},t.curve=function(e){return arguments.length?(M=e,null!=l&&(h=M(l)),t):M},t.context=function(e){return arguments.length?(null==e?l=h=null:h=M(l=e),t):l},t}},function(t,e,n){"use strict";function i(t){this._curve=t}function r(t){function e(e){return new i(t(e))}return e._curve=t,e}n.d(e,"a",function(){return o}),e.b=r;var A=n(161),o=r(A.a);i.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}}},function(t,e,n){"use strict";function i(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(Object(r.b)(t)):e()._curve},t}e.b=i;var r=n(419),A=n(248);e.a=function(){return i(Object(A.a)().curve(r.a))}},function(t,e,n){"use strict";e.a=function(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}},function(t,e,n){"use strict";n.d(e,"a",function(){return i});var i=Array.prototype.slice},function(t,e,n){"use strict";var i=n(120);e.a={draw:function(t,e){var n=Math.sqrt(e/i.j);t.moveTo(n,0),t.arc(0,0,n,0,i.m)}}},function(t,e,n){"use strict";e.a={draw:function(t,e){var n=Math.sqrt(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}}},function(t,e,n){"use strict";var i=Math.sqrt(1/3),r=2*i;e.a={draw:function(t,e){var n=Math.sqrt(e/r),A=n*i;t.moveTo(0,-n),t.lineTo(A,0),t.lineTo(0,n),t.lineTo(-A,0),t.closePath()}}},function(t,e,n){"use strict";var i=n(120),r=Math.sin(i.j/10)/Math.sin(7*i.j/10),A=Math.sin(i.m/10)*r,o=-Math.cos(i.m/10)*r;e.a={draw:function(t,e){var n=Math.sqrt(.8908130915292852*e),r=A*n,a=o*n;t.moveTo(0,-n),t.lineTo(r,a);for(var c=1;c<5;++c){var s=i.m*c/5,u=Math.cos(s),g=Math.sin(s);t.lineTo(g*n,-u*n),t.lineTo(u*r-g*a,g*r+u*a)}t.closePath()}}},function(t,e,n){"use strict";e.a={draw:function(t,e){var n=Math.sqrt(e),i=-n/2;t.rect(i,i,n,n)}}},function(t,e,n){"use strict";var i=Math.sqrt(3);e.a={draw:function(t,e){var n=-Math.sqrt(e/(3*i));t.moveTo(0,2*n),t.lineTo(-i*n,-n),t.lineTo(i*n,-n),t.closePath()}}},function(t,e,n){"use strict";var i=-.5,r=Math.sqrt(3)/2,A=1/Math.sqrt(12),o=3*(A/2+1);e.a={draw:function(t,e){var n=Math.sqrt(e/o),a=n/2,c=n*A,s=a,u=n*A+n,g=-s,l=u;t.moveTo(a,c),t.lineTo(s,u),t.lineTo(g,l),t.lineTo(i*a-r*c,r*a+i*c),t.lineTo(i*s-r*u,r*s+i*u),t.lineTo(i*g-r*l,r*g+i*l),t.lineTo(i*a+r*c,i*c-r*a),t.lineTo(i*s+r*u,i*u-r*s),t.lineTo(i*g+r*l,i*l-r*g),t.closePath()}}},function(t,e,n){"use strict";function i(t,e){this._context=t,this._k=(1-e)/6}e.a=i;var r=n(162),A=n(164);i.prototype={areaStart:r.a,areaEnd:r.a,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Object(A.c)(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}},e.b=function t(e){function n(t){return new i(t,e)}return n.tension=function(e){return t(+e)},n}(0)},function(t,e,n){"use strict";function i(t,e){this._context=t,this._k=(1-e)/6}e.a=i;var r=n(164);i.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Object(r.c)(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}},e.b=function t(e){function n(t){return new i(t,e)}return n.tension=function(e){return t(+e)},n}(0)},function(t,e,n){"use strict";function i(t){return s.hasOwnProperty(t)?s[t]:r(t)}function r(t){if(!u.hasOwnProperty(t)){var e=Object(A.a)(t);u[t]={draw:function(t,n){Object(o.a)(t,e,0,0,Math.sqrt(n)/2)}}}return u[t]}e.a=i;var A=n(165),o=n(252),a=2*Math.PI,c=Math.sqrt(3)/2,s={circle:{draw:function(t,e){var n=Math.sqrt(e)/2;t.moveTo(n,0),t.arc(0,0,n,0,a)}},cross:{draw:function(t,e){var n=Math.sqrt(e)/2,i=n/2.5;t.moveTo(-n,-i),t.lineTo(-n,i),t.lineTo(-i,i),t.lineTo(-i,n),t.lineTo(i,n),t.lineTo(i,i),t.lineTo(n,i),t.lineTo(n,-i),t.lineTo(i,-i),t.lineTo(i,-n),t.lineTo(-i,-n),t.lineTo(-i,-i),t.closePath()}},diamond:{draw:function(t,e){var n=Math.sqrt(e)/2;t.moveTo(-n,0),t.lineTo(0,-n),t.lineTo(n,0),t.lineTo(0,n),t.closePath()}},square:{draw:function(t,e){var n=Math.sqrt(e),i=-n/2;t.rect(i,i,n,n)}},"triangle-up":{draw:function(t,e){var n=Math.sqrt(e)/2,i=c*n;t.moveTo(0,-i),t.lineTo(-n,i),t.lineTo(n,i),t.closePath()}},"triangle-down":{draw:function(t,e){var n=Math.sqrt(e)/2,i=c*n;t.moveTo(0,i),t.lineTo(-n,-i),t.lineTo(n,-i),t.closePath()}},"triangle-right":{draw:function(t,e){var n=Math.sqrt(e)/2,i=c*n;t.moveTo(i,0),t.lineTo(-i,-n),t.lineTo(-i,n),t.closePath()}},"triangle-left":{draw:function(t,e){var n=Math.sqrt(e)/2,i=c*n;t.moveTo(-i,0),t.lineTo(i,-n),t.lineTo(i,n),t.closePath()}}},u={}},function(t,e,n){"use strict";function i(t){return t.x}function r(t){return t.y}function A(t){return t.width}function o(t){return t.height}function a(t){return function(){return t}}var c=n(40);e.a=function(){function t(t,i,r){var A,o=null!=i?i:+e.call(this,t),a=null!=r?r:+n.call(this,t),M=+s.call(this,t),h=+u.call(this,t),d=+g.call(this,t);if(l||(l=A=Object(c.a)()),d<=0)l.rect(o,a,M,h);else{var f=o+M,I=a+h;l.moveTo(o+d,a),l.lineTo(f-d,a),l.quadraticCurveTo(f,a,f,a+d),l.lineTo(f,I-d),l.quadraticCurveTo(f,I,f-d,I),l.lineTo(o+d,I),l.quadraticCurveTo(o,I,o,I-d),l.lineTo(o,a+d),l.quadraticCurveTo(o,a,o+d,a),l.closePath()}if(A)return l=null,A+""||null}var e=i,n=r,s=A,u=o,g=a(0),l=null;return t.x=function(n){return arguments.length?(e="function"==typeof n?n:a(+n),t):e},t.y=function(e){return arguments.length?(n="function"==typeof e?e:a(+e),t):n},t.width=function(e){return arguments.length?(s="function"==typeof e?e:a(+e),t):s},t.height=function(e){return arguments.length?(u="function"==typeof e?e:a(+e),t):u},t.cornerRadius=function(e){return arguments.length?(g="function"==typeof e?e:a(+e),t):g},t.context=function(e){return arguments.length?(l=null==e?null:e,t):l},t}},function(t,e,n){"use strict";var i=n(40),r=Math.PI;e.a=function(){function t(t,e,n){var i=n/2;if(c){var A=u-e,o=t-s;if(A||o){var a=Math.sqrt(A*A+o*o),M=(A/=a)*g,h=(o/=a)*g,d=Math.atan2(o,A);l.moveTo(s-M,u-h),l.lineTo(t-A*i,e-o*i),l.arc(t,e,i,d-r,d),l.lineTo(s+M,u+h),l.arc(s,u,g,d,d+r)}else l.arc(t,e,i,0,2*r);l.closePath()}else c=1;s=t,u=e,g=i}function e(e){var r,s,u,g=e.length,M=!1;for(null==l&&(l=u=Object(i.a)()),r=0;r<=g;++r)!(r<g&&a(s=e[r],r,e))===M&&(M=!M)&&(c=0),M&&t(+n(s,r,e),+A(s,r,e),+o(s,r,e));if(u)return l=null,u+""||null}var n,A,o,a,c,s,u,g,l=null;return e.x=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(A=t,e):A},e.size=function(t){return arguments.length?(o=t,e):o},e.defined=function(t){return arguments.length?(a=t,e):a},e.context=function(t){return arguments.length?(l=null==t?null:t,e):l},e}},function(t,e,n){"use strict";var i=n(914);e.a=function(t,e,n){return n.id?Object(i.a)(t,n,e.bounds):n}},function(t,e,n){"use strict";function i(t){o.a.call(this,t),this._down=null,this._touch=null,this._first=!0}function r(t,e,n){return function(i){var r=this._active,A=this.pickEvent(i);A===r?this.fire(t,i):(r&&r.exit||this.fire(n,i),this._active=A,this.fire(e,i),this.fire(t,i))}}function A(t){return function(e){this.fire(t,e),this._active=null}}e.a=i;var o=n(257),a=n(73),c=n(437),s=n(59),u=n(0),g=Object(u.inherits)(i,o.a);g.initialize=function(t,e,n){var i=this._canvas=t&&Object(s.e)(t,"canvas");if(i){var r=this;this.events.forEach(function(t){i.addEventListener(t,function(e){g[t]?g[t].call(r,e):r.fire(t,e)})})}return o.a.prototype.initialize.call(this,t,e,n)},g.canvas=function(){return this._canvas},g.context=function(){return this._canvas.getContext("2d")},g.events=["keydown","keypress","keyup","dragenter","dragleave","dragover","mousedown","mouseup","mousemove","mouseout","mouseover","click","dblclick","wheel","mousewheel","touchstart","touchmove","touchend"],g.DOMMouseScroll=function(t){this.fire("mousewheel",t)},g.mousemove=r("mousemove","mouseover","mouseout"),g.dragover=r("dragover","dragenter","dragleave"),g.mouseout=A("mouseout"),g.dragleave=A("dragleave"),g.mousedown=function(t){this._down=this._active,this.fire("mousedown",t)},g.click=function(t){this._down===this._active&&(this.fire("click",t),this._down=null)},g.touchstart=function(t){this._touch=this.pickEvent(t.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire("touchstart",t,!0)},g.touchmove=function(t){this.fire("touchmove",t,!0)},g.touchend=function(t){this.fire("touchend",t,!0),this._touch=null},g.fire=function(t,e,n){var i,r,A=n?this._touch:this._active,o=this._handlers[t];if("click"===t&&A&&A.href?this.handleHref(e,A,A.href):("mouseover"===t||"mouseout"===t)&&A&&A.tooltip&&this.handleTooltip(e,A,"mouseover"===t?A.tooltip:null),o)for(e.vegaType=t,i=0,r=o.length;i<r;++i)o[i].handler.call(this._obj,e,A)},g.on=function(t,e){var n=this.eventName(t),i=this._handlers;return(i[n]||(i[n]=[])).push({type:t,handler:e}),this},g.off=function(t,e){var n,i=this.eventName(t),r=this._handlers[i];if(r){for(n=r.length;--n>=0;)r[n].type===t&&(e&&r[n].handler!==e||r.splice(n,1));return this}},g.pickEvent=function(t){var e=Object(c.a)(t,this._canvas),n=this._origin;return this.pick(this._scene,e[0],e[1],e[0]-n[0],e[1]-n[1])},g.pick=function(t,e,n,i,r){var A=this.context();return a.a[t.marktype].pick.call(this,A,t,e,n,i,r)}},function(t,e,n){"use strict";e.a=function(t,e){var n=e.getBoundingClientRect();return[t.clientX-n.left-(e.clientLeft||0),t.clientY-n.top-(e.clientTop||0)]}},function(t,e,n){"use strict";function i(t){o.a.call(this,t),this._redraw=!1,this._dirty=new a.a}function r(t,e,n){return e.expand(1).round(),e.translate(-n[0]%1,-n[1]%1),t.beginPath(),t.rect(e.x1,e.y1,e.width(),e.height()),t.clip(),e}function A(t,e){if(null==e)return t;for(var n=f.clear().union(t);null!=e;e=e.mark.group)n.translate(e.x||0,e.y||0);return n}e.a=i;var o=n(172),a=n(72),c=n(73),s=n(59),u=n(926),g=n(160),l=n(927),M=n(0),h=Object(M.inherits)(i,o.a),d=o.a.prototype,f=new a.a;h.initialize=function(t,e,n,i){return this._canvas=Object(g.b)(1,1),t&&(Object(s.c)(t,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),d.initialize.call(this,t,e,n,i)},h.resize=function(t,e,n){return d.resize.call(this,t,e,n),Object(l.a)(this._canvas,this._width,this._height,this._origin),this._redraw=!0,this},h.canvas=function(){return this._canvas},h.context=function(){return this._canvas?this._canvas.getContext("2d"):null},h.dirty=function(t){var e=A(t.bounds,t.mark.group);this._dirty.union(e)},h._render=function(t){var e=this.context(),n=this._origin,i=this._width,A=this._height,o=this._dirty;return e.save(),this._redraw||o.empty()?(this._redraw=!1,o=null):o=r(e,o,n),this.clear(-n[0],-n[1],i,A),this.draw(e,t,o),e.restore(),this._dirty.clear(),this},h.draw=function(t,e,n){var i=c.a[e.marktype];e.clip&&Object(u.a)(t,e),i.draw.call(this,t,e,n),e.clip&&t.restore()},h.clear=function(t,e,n,i){var r=this.context();r.clearRect(t,e,n,i),null!=this._bgcolor&&(r.fillStyle=this._bgcolor,r.fillRect(t,e,n,i))}},function(t,e,n){"use strict";function i(t){A.a.call(this,t);var e=this;e._hrefHandler=r(e,function(t,n){n&&n.href&&e.handleHref(t,n,n.href)}),e._tooltipHandler=r(e,function(t,n){n&&n.tooltip&&e.handleTooltip(t,n,"mouseover"===t.type?n.tooltip:null)})}function r(t,e){return function(n){var i=n.target,r=i.__data__;n.vegaType=n.type,r=Array.isArray(r)?r[0]:r,e.call(t._obj,n,r)}}e.a=i;var A=n(257),o=n(59),a=n(0),c=Object(a.inherits)(i,A.a);c.initialize=function(t,e,n){var i=this._svg;return i&&(i.removeEventListener("click",this._hrefHandler),i.removeEventListener("mouseover",this._tooltipHandler),i.removeEventListener("mouseout",this._tooltipHandler)),this._svg=i=t&&Object(o.e)(t,"svg"),i&&(i.addEventListener("click",this._hrefHandler),i.addEventListener("mouseover",this._tooltipHandler),i.addEventListener("mouseout",this._tooltipHandler)),A.a.prototype.initialize.call(this,t,e,n)},c.svg=function(){return this._svg},c.on=function(t,e){var n=this.eventName(t),i=this._handlers,A={type:t,handler:e,listener:r(this,e)};return(i[n]||(i[n]=[])).push(A),this._svg&&this._svg.addEventListener(n,A.listener),this},c.off=function(t,e){var n,i=this.eventName(t),r=this._svg,A=this._handlers[i];if(A){for(n=A.length;--n>=0;)(A[n].type===t&&!e||A[n].handler===e)&&(this._svg&&r.removeEventListener(i,A[n].listener),A.splice(n,1));return this}}},function(t,e,n){"use strict";function i(t){g.a.call(this,t),this._dirtyID=1,this._dirty=[],this._svg=null,this._root=null,this._defs=null}function r(t,e,n){var i,r,A;for(t=Object(M.b)(t,n,"linearGradient",y),t.setAttribute("id",e.id),t.setAttribute("x1",e.x1),t.setAttribute("x2",e.x2),t.setAttribute("y1",e.y1),t.setAttribute("y2",e.y2),i=0,r=e.stops.length;i<r;++i)A=Object(M.b)(t,i,"stop",y),A.setAttribute("offset",e.stops[i].offset),A.setAttribute("stop-color",e.stops[i].color);Object(M.c)(t,i)}function A(t,e,n){var i;t=Object(M.b)(t,n,"clipPath",y),t.setAttribute("id",e.id),i=Object(M.b)(t,0,"rect",y),i.setAttribute("x",0),i.setAttribute("y",0),i.setAttribute("width",e.width),i.setAttribute("height",e.height)}function o(t,e){for(;t&&t.dirty!==e;t=t.mark.group){if(t.dirty=e,!t.mark||t.mark.dirty===e)return;t.mark.dirty=e}}function a(t,e,n){e=e.lastChild;var i,r=0;Object(f.b)(n,function(n){i=t.draw(e,n,i),++r}),Object(M.c)(e,1+r)}function c(t,e,n,i){var r,A=t._svg;if(!A&&(r=e.ownerDocument,A=Object(M.d)(r,i,y),t._svg=A,t.mark&&(A.__data__=t,A.__values__={fill:"default"},"g"===i))){var o=Object(M.d)(r,"path",y);o.setAttribute("class","background"),A.appendChild(o),o.__data__=t;var a=Object(M.d)(r,"g",y);A.appendChild(a),a.__data__=t}return!r&&A.previousSibling===n&&n||e.insertBefore(A,n?n.nextSibling:e.firstChild),A}function s(t,e,n){e!==x[t]&&(null!=e?n?D.setAttributeNS(n,t,e):D.setAttribute(t,e):n?D.removeAttributeNS(n,t):D.removeAttribute(t),x[t]=e)}function u(){var t;return"undefined"==typeof window?"":(t=window.location).hash?t.href.slice(0,-t.hash.length):t.href}e.a=i;var g=n(172),l=n(73),M=n(59),h=n(258),d=n(171),f=n(52),I=n(170),E=n(441),T=n(442),N=n(0),y=E.a.xmlns,p=Object(N.inherits)(i,g.a),C=g.a.prototype;p.initialize=function(t,e,n,i){return t&&(this._svg=Object(M.b)(t,0,"svg",y),this._svg.setAttribute("class","marks"),Object(M.c)(t,1),this._root=Object(M.b)(this._svg,0,"g",y),Object(M.c)(this._svg,1)),this._defs={gradient:{},clipping:{}},this.background(this._bgcolor),C.initialize.call(this,t,e,n,i)},p.background=function(t){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",t),C.background.apply(this,arguments)},p.resize=function(t,e,n){return C.resize.call(this,t,e,n),this._svg&&(this._svg.setAttribute("width",this._width),this._svg.setAttribute("height",this._height),this._svg.setAttribute("viewBox","0 0 "+this._width+" "+this._height),this._root.setAttribute("transform","translate("+this._origin+")")),this._dirty=[],this},p.svg=function(){if(!this._svg)return null;var t={class:"marks",width:this._width,height:this._height,viewBox:"0 0 "+this._width+" "+this._height};for(var e in E.a)t[e]=E.a[e];return Object(h.b)("svg",t)+this._svg.innerHTML+Object(h.a)("svg")},p._render=function(t){return this._dirtyCheck()&&(this._dirtyAll&&this._resetDefs(),this.draw(this._root,t),Object(M.c)(this._root,1)),this.updateDefs(),this._dirty=[],++this._dirtyID,this},p.updateDefs=function(){var t,e=this._svg,n=this._defs,i=n.el,o=0;for(t in n.gradient)i||(n.el=i=Object(M.b)(e,0,"defs",y)),r(i,n.gradient[t],o++);for(t in n.clipping)i||(n.el=i=Object(M.b)(e,0,"defs",y)),A(i,n.clipping[t],o++);i&&(0===o?(e.removeChild(i),n.el=null):Object(M.c)(i,o))},p._resetDefs=function(){var t=this._defs;t.gradient={},t.clipping={}},p.dirty=function(t){t.dirty!==this._dirtyID&&(t.dirty=this._dirtyID,this._dirty.push(t))},p.isDirty=function(t){return this._dirtyAll||!t._svg||t.dirty===this._dirtyID},p._dirtyCheck=function(){this._dirtyAll=!0;var t=this._dirty;if(!t.length)return!0;var e,n,i,r,A,a,c,s=++this._dirtyID;for(A=0,a=t.length;A<a;++A)e=t[A],n=e.mark,n.marktype!==i&&(i=n.marktype,r=l.a[i]),n.zdirty&&n.dirty!==s&&(this._dirtyAll=!1,n.dirty=s,o(n.group,s)),e.exit?(r.nested&&n.items.length?(c=n.items[0],c._svg&&this._update(r,c._svg,c)):e._svg&&(c=e._svg.parentNode)&&c.removeChild(e._svg),e._svg=null):(e=r.nested?n.items[0]:e,e._update!==s&&(e._svg&&e._svg.ownerSVGElement?this._update(r,e._svg,e):(this._dirtyAll=!1,o(e,s)),e._update=s));return!this._dirtyAll},p.draw=function(t,e,n){function i(t){var e=A.isDirty(t),n=c(t,r,g,o.tag);e&&(A._update(o,n,t),u&&a(A,n,t)),g=n,++h}if(!this.isDirty(e))return e._svg;var r,A=this,o=l.a[e.marktype],s=!1===e.interactive?"none":null,u="g"===o.tag,g=null,h=0;return r=c(e,t,n,"g"),r.setAttribute("class",Object(M.a)(e)),!u&&s&&r.style.setProperty("pointer-events",s),e.clip&&r.setAttribute("clip-path",Object(I.a)(A,e,e.group)),o.nested?e.items.length&&i(e.items[0]):Object(f.b)(e,i),Object(M.c)(r,h),r};var D=null,x=null,B={group:function(t,e,n){x=e.__values__,D=e.childNodes[1],t.foreground(s,n,this),D=e.childNodes[0],t.background(s,n,this);var i=!1===n.mark.interactive?"none":null;i!==x.events&&(D.style.setProperty("pointer-events",i),x.events=i)},text:function(t,e,n){var i=Object(d.d)(n);i!==x.text&&(e.textContent=i,x.text=i),(i=Object(d.a)(n))!==x.font&&(e.style.setProperty("font",i),x.font=i)}};p._update=function(t,e,n){D=e,x=e.__values__,t.attr(s,n,this);var i=B[t.type];i&&i.call(this,t,e,n),this.style(D,n)},p.style=function(t,e){if(null!=e){var n,i,r,A,o;for(n=0,i=T.a.length;n<i;++n)r=T.a[n],(o=e[r])!==x[r]&&(A=T.b[r],null==o?"fill"===A?t.style.setProperty(A,"none"):t.style.removeProperty(A):(o.id&&(this._defs.gradient[o.id]=o,o="url("+u()+"#"+o.id+")"),t.style.setProperty(A,o+"")),x[r]=o)}}},function(t,e,n){"use strict";e.a={version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"}},function(t,e,n){"use strict";n.d(e,"b",function(){return i}),n.d(e,"a",function(){return r});var i={fill:"fill",fillOpacity:"fill-opacity",stroke:"stroke",strokeWidth:"stroke-width",strokeOpacity:"stroke-opacity",strokeCap:"stroke-linecap",strokeJoin:"stroke-linejoin",strokeDash:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeMiterLimit:"stroke-miterlimit",opacity:"opacity"},r=Object.keys(i)},function(t,e,n){"use strict";function i(t){a.a.call(this,t),this._text={head:"",root:"",foot:"",defs:"",body:""},this._defs={gradient:{},clipping:{}}}function r(t,e,n,i){T[i||t]=e}function A(t,e,n,i){if(null==t)return"";var r,A,o,a,c,s="";for("bgrect"===n&&!1===e.interactive&&(s+="pointer-events: none;"),"text"===n&&(s+="font: "+Object(g.a)(t)+";"),r=0,A=d.a.length;r<A;++r)o=d.a[r],a=d.b[o],c=t[o],null==c?"fill"===a&&(s+=(s.length?" ":"")+"fill: none;"):(c.id&&(i.gradient[c.id]=c,c="url(#"+c.id+")"),s+=(s.length?" ":"")+a+": "+c+";");return s?'style="'+s+'"':null}function o(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}e.a=i;var a=n(172),c=n(73),s=n(59),u=n(258),g=n(171),l=n(52),M=n(170),h=n(441),d=n(442),f=n(0),I=Object(f.inherits)(i,a.a),E=a.a.prototype;I.resize=function(t,e,n){E.resize.call(this,t,e,n);var i=this._origin,r=this._text,A={class:"marks",width:this._width,height:this._height,viewBox:"0 0 "+this._width+" "+this._height};for(var o in h.a)A[o]=h.a[o];return r.head=Object(u.b)("svg",A),r.root=Object(u.b)("g",{transform:"translate("+i+")"}),r.foot=Object(u.a)("g")+Object(u.a)("svg"),this},I.svg=function(){var t=this._text;return t.head+t.defs+t.root+t.body+t.foot},I._render=function(t){return this._text.body=this.mark(t),this._text.defs=this.buildDefs(),this},I.buildDefs=function(){var t,e,n,i,r=this._defs,A="";for(e in r.gradient){for(n=r.gradient[e],i=n.stops,A+=Object(u.b)("linearGradient",{id:e,x1:n.x1,x2:n.x2,y1:n.y1,y2:n.y2}),t=0;t<i.length;++t)A+=Object(u.b)("stop",{offset:i[t].offset,"stop-color":i[t].color})+Object(u.a)("stop");A+=Object(u.a)("linearGradient")}for(e in r.clipping)n=r.clipping[e],A+=Object(u.b)("clipPath",{id:e}),A+=Object(u.b)("rect",{x:0,y:0,width:n.width,height:n.height})+Object(u.a)("rect"),A+=Object(u.a)("clipPath");return A.length>0?Object(u.b)("defs")+A+Object(u.a)("defs"):""};var T;I.attributes=function(t,e){return T={},t(r,e,this),T},I.href=function(t){var e,n=this,i=t.href;if(i){if(e=n._hrefs&&n._hrefs[i])return e;n.sanitizeURL(i).then(function(t){t["xlink:href"]=t.href,t.href=null,(n._hrefs||(n._hrefs={}))[i]=t})}return null},I.mark=function(t){function e(e){var c=i.href(e);c&&(d+=Object(u.b)("a",c)),n="g"!==a?A(e,t,a,h):null,d+=Object(u.b)(a,i.attributes(r.attr,e),n),"text"===a?d+=o(Object(g.d)(e)):"g"===a&&(d+=Object(u.b)("path",i.attributes(r.background,e),A(e,t,"bgrect",h))+Object(u.a)("path"),d+=Object(u.b)("g",i.attributes(r.foreground,e))+i.markGroup(e)+Object(u.a)("g")),d+=Object(u.a)(a),c&&(d+=Object(u.a)("a"))}var n,i=this,r=c.a[t.marktype],a=r.tag,h=this._defs,d="";return"g"!==a&&!1===t.interactive&&(n='style="pointer-events: none;"'),d+=Object(u.b)("g",{class:Object(s.a)(t),"clip-path":t.clip?Object(M.a)(i,t,t.group):null},n),r.nested?t.items&&t.items.length&&e(t.items[0]):Object(l.b)(t,e),d+Object(u.a)("g")},I.markGroup=function(t){var e=this,n="";return Object(l.b)(t,function(t){n+=e.mark(t)}),n}},function(t,e,n){"use strict";n.d(e,"d",function(){return i}),n.d(e,"b",function(){return r}),n.d(e,"c",function(){return A}),n.d(e,"a",function(){return o});var i="top",r="left",A="right",o="bottom"},function(t,e,n){"use strict";e.a=function(t,e,n){var i=t-e+2*n;return t?i>0?i:1:0}},function(t,e,n){"use strict";function i(t){function e(e){var i=e+"",r=n.get(i);if(!r){if(c!==o)return c;n.set(i,r=a.push(e))}return t[(r-1)%t.length]}var n=Object(r.map)(),a=[],c=o;return t=null==t?[]:A.b.call(t),e.domain=function(t){if(!arguments.length)return a.slice();a=[],n=Object(r.map)();for(var i,A,o=-1,c=t.length;++o<c;)n.has(A=(i=t[o])+"")||n.set(A,a.push(i));return e},e.range=function(n){return arguments.length?(t=A.b.call(n),e):t.slice()},e.unknown=function(t){return arguments.length?(c=t,e):c},e.copy=function(){return i().domain(a).range(t).unknown(c)},e}n.d(e,"b",function(){return o}),e.a=i;var r=n(45),A=n(78),o={name:"implicit"}},function(t,e,n){"use strict";n.d(e,"a",function(){return i}),n.d(e,"b",function(){return r});var i=Math.PI/180,r=180/Math.PI},function(t,e,n){"use strict";function i(t){return function(e){var n,i,A=e.length,o=new Array(A),a=new Array(A),c=new Array(A);for(n=0;n<A;++n)i=Object(r.f)(e[n]),o[n]=i.r||0,a[n]=i.g||0,c[n]=i.b||0;return o=t(o),a=t(a),c=t(c),i.opacity=1,function(t){return i.r=o(t),i.g=a(t),i.b=c(t),i+""}}}n.d(e,"b",function(){return c}),n.d(e,"c",function(){return s});var r=n(15),A=n(263),o=n(449),a=n(125);e.a=function t(e){function n(t,e){var n=i((t=Object(r.f)(t)).r,(e=Object(r.f)(e)).r),A=i(t.g,e.g),o=i(t.b,e.b),c=Object(a.a)(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=A(e),t.b=o(e),t.opacity=c(e),t+""}}var i=Object(a.b)(e);return n.gamma=t,n}(1);var c=i(A.b),s=i(o.a)},function(t,e,n){"use strict";var i=n(263);e.a=function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),A=t[(r+e-1)%e],o=t[r%e],a=t[(r+1)%e],c=t[(r+2)%e];return Object(i.a)((n-r/e)*e,A,o,a,c)}}},function(t,e,n){"use strict";e.a=function(t){return function(){return t}}},function(t,e,n){"use strict";var i=n(260);e.a=function(t,e){var n,r=e?e.length:0,A=t?Math.min(r,t.length):0,o=new Array(r),a=new Array(r);for(n=0;n<A;++n)o[n]=Object(i.a)(t[n],e[n]);for(;n<r;++n)a[n]=e[n];return function(t){for(n=0;n<A;++n)a[n]=o[n](t);return a}}},function(t,e,n){"use strict";e.a=function(t,e){var n=new Date;return t=+t,e-=t,function(i){return n.setTime(t+e*i),n}}},function(t,e,n){"use strict";var i=n(260);e.a=function(t,e){var n,r={},A={};null!==t&&"object"==typeof t||(t={}),null!==e&&"object"==typeof e||(e={});for(n in e)n in t?r[n]=Object(i.a)(t[n],e[n]):A[n]=e[n];return function(t){for(n in r)A[n]=r[n](t);return A}}},function(t,e,n){"use strict";function i(t){return function(){return t}}function r(t){return function(e){return t(e)+""}}var A=n(173),o=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,a=new RegExp(o.source,"g");e.a=function(t,e){var n,c,s,u=o.lastIndex=a.lastIndex=0,g=-1,l=[],M=[];for(t+="",e+="";(n=o.exec(t))&&(c=a.exec(e));)(s=c.index)>u&&(s=e.slice(u,s),l[g]?l[g]+=s:l[++g]=s),(n=n[0])===(c=c[0])?l[g]?l[g]+=c:l[++g]=c:(l[++g]=null,M.push({i:g,x:Object(A.a)(n,c)})),u=a.lastIndex;return u<e.length&&(s=e.slice(u),l[g]?l[g]+=s:l[++g]=s),l.length<2?M[0]?r(M[0].x):i(e):(e=M.length,function(t){for(var n,i=0;i<e;++i)l[(n=M[i]).i]=n.x(t);return l.join("")})}},function(t,e,n){"use strict";e.a=function(t){return+t}},function(t,e,n){"use strict";e.a=function(t,e){t=t.slice();var n,i=0,r=t.length-1,A=t[i],o=t[r];return o<A&&(n=i,i=r,r=n,n=A,A=o,o=n),t[i]=e.floor(A),t[r]=e.ceil(o),t}},function(t,e,n){"use strict";function i(t){return new Date(t)}function r(t){return t instanceof Date?+t:+new Date(+t)}function A(t,e,n,c,s,N,y,p,C){function D(i){return(y(i)<i?Q:N(i)<i?v:s(i)<i?j:c(i)<i?L:e(i)<i?n(i)<i?S:Y:t(i)<i?b:O)(i)}function x(e,n,i,r){if(null==e&&(e=10),"number"==typeof e){var A=Math.abs(i-n)/e,a=Object(o.bisector)(function(t){return t[2]}).right(z,A);a===z.length?(r=Object(o.tickStep)(n/T,i/T,e),e=t):a?(a=z[A/z[a-1][2]<z[a][2]/A?a-1:a],r=a[1],e=a[0]):(r=Object(o.tickStep)(n,i,e),e=p)}return null==r?e:e.every(r)}var B=Object(g.b)(g.c,a.interpolateNumber),w=B.invert,m=B.domain,Q=C(".%L"),v=C(":%S"),j=C("%I:%M"),L=C("%I %p"),S=C("%a %d"),Y=C("%b %d"),b=C("%B"),O=C("%Y"),z=[[y,1,M],[y,5,5*M],[y,15,15*M],[y,30,30*M],[N,1,h],[N,5,5*h],[N,15,15*h],[N,30,30*h],[s,1,d],[s,3,3*d],[s,6,6*d],[s,12,12*d],[c,1,f],[c,2,2*f],[n,1,I],[e,1,E],[e,3,3*E],[t,1,T]];return B.invert=function(t){return new Date(w(t))},B.domain=function(t){return arguments.length?m(u.a.call(t,r)):m().map(i)},B.ticks=function(t,e){var n,i=m(),r=i[0],A=i[i.length-1],o=A<r;return o&&(n=r,r=A,A=n),n=x(t,r,A,e),n=n?n.range(r,A+1):[],o?n.reverse():n},B.tickFormat=function(t,e){return null==e?D:C(e)},B.nice=function(t,e){var n=m();return(t=x(t,n[0],n[n.length-1],e))?m(Object(l.a)(n,t)):B},B.copy=function(){return Object(g.a)(B,A(t,e,n,c,s,N,y,p,C))},B}e.a=A;var o=n(10),a=n(33),c=n(116),s=n(92),u=n(78),g=n(174),l=n(456),M=1e3,h=60*M,d=60*h,f=24*d,I=7*f,E=30*f,T=365*f;e.b=function(){return A(c.timeYear,c.timeMonth,c.timeWeek,c.timeDay,c.timeHour,c.timeMinute,c.timeSecond,c.timeMillisecond,s.timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)])}},function(t,e,n){"use strict";var i=n(10),r=n(459),A=n(1025),o=n(1026),a=n(460),c=n(1027),s=n(1028),u=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,.5],[.5,1]],[[1,1.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,1.5]],[[1.5,1],[1,.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];e.a=function(){function t(t){var n=h(t);if(Array.isArray(n))n=n.slice().sort(A.a);else{var r=Object(i.extent)(t),a=r[0],s=r[1];n=Object(i.tickStep)(a,s,n),n=Object(i.range)(Math.floor(a/n)*n,Math.floor(s/n)*n,n)}return n.map(function(n){var i=[],r=[];return e(t,n,function(e){d(e,t,n),Object(o.a)(e)>0?i.push([e]):r.push(e)}),r.forEach(function(t){for(var e,n=0,r=i.length;n<r;++n)if(-1!==Object(c.a)((e=i[n])[0],t))return void e.push(t)}),i}).map(function(t,e){return{type:"MultiPolygon",value:n[e],coordinates:t}})}function e(t,e,i){function r(t){var e,r,a=[t[0][0]+A,t[0][1]+o],c=[t[1][0]+A,t[1][1]+o],s=n(a),u=n(c);(e=d[s])?(r=h[u])?(delete d[e.end],delete h[r.start],e===r?(e.ring.push(c),i(e.ring)):h[e.start]=d[r.end]={start:e.start,end:r.end,ring:e.ring.concat(r.ring)}):(delete d[e.end],e.ring.push(c),d[e.end=u]=e):(e=h[u])?(r=d[s])?(delete h[e.start],delete d[r.end],e===r?(e.ring.push(c),i(e.ring)):h[r.start]=d[e.end]={start:r.start,end:e.end,ring:r.ring.concat(e.ring)}):(delete h[e.start],e.ring.unshift(a),h[e.start=s]=e):h[s]=d[u]={start:s,end:u,ring:[a,c]}}var A,o,a,c,s,g,h=new Array,d=new Array;for(A=o=-1,c=t[0]>=e,u[c<<1].forEach(r);++A<l-1;)a=c,c=t[A+1]>=e,u[a|c<<1].forEach(r);for(u[c<<0].forEach(r);++o<M-1;){for(A=-1,c=t[o*l+l]>=e,s=t[o*l]>=e,u[c<<1|s<<2].forEach(r);++A<l-1;)a=c,c=t[o*l+l+A+1]>=e,g=s,s=t[o*l+A+1]>=e,u[a|c<<1|s<<2|g<<3].forEach(r);u[c|s<<3].forEach(r)}for(A=-1,s=t[o*l]>=e,u[s<<2].forEach(r);++A<l-1;)g=s,s=t[o*l+A+1]>=e,u[s<<2|g<<3].forEach(r);u[s<<3].forEach(r)}function n(t){return 2*t[0]+t[1]*(l+1)*4}function g(t,e,n){t.forEach(function(t){var i,r=t[0],A=t[1],o=0|r,a=0|A,c=e[a*l+o];r>0&&r<l&&o===r&&(i=e[a*l+o-1],t[0]=r+(n-i)/(c-i)-.5),A>0&&A<M&&a===A&&(i=e[(a-1)*l+o],t[1]=A+(n-i)/(c-i)-.5)})}var l=1,M=1,h=i.thresholdSturges,d=g;return t.size=function(e){if(!arguments.length)return[l,M];var n=Math.ceil(e[0]),i=Math.ceil(e[1]);if(!(n>0&&i>0))throw new Error("invalid size");return l=n,M=i,t},t.thresholds=function(e){return arguments.length?(h="function"==typeof e?e:Array.isArray(e)?Object(a.a)(r.a.call(e)):Object(a.a)(e),t):h},t.smooth=function(e){return arguments.length?(d=e?g:s.a,t):d===g},t}},function(t,e,n){"use strict";n.d(e,"a",function(){return r});var i=Array.prototype,r=i.slice},function(t,e,n){"use strict";e.a=function(t){return function(){return t}}},function(t,e,n){"use strict";n.d(e,"a",function(){return i}),n.d(e,"b",function(){return r}),n.d(e,"c",function(){return A});var i="Feature",r="FeatureCollection",A="MultiPoint"},function(t,e,n){"use strict";var i=(n(463),n(1034),n(1035),n(464),n(265),n(1038),n(470),n(1039));n.d(e,"j",function(){return i.a});var r=(n(1040),n(471),n(1041));n.d(e,"m",function(){return r.a});var A=n(473);n.d(e,"a",function(){return A.a});var o=n(1051);n.d(e,"b",function(){return o.a});var a=n(1052);n.d(e,"c",function(){return a.a});var c=n(1053);n.d(e,"d",function(){return c.a});var s=n(1054);n.d(e,"e",function(){return s.a});var u=n(267);n.d(e,"f",function(){return u.a});var g=n(1055);n.d(e,"g",function(){return g.a});var l=n(475);n.d(e,"h",function(){return l.a});var M=n(1056);n.d(e,"i",function(){return M.a});var h=(n(1057),n(53),n(270));n.d(e,"k",function(){return h.a});var d=n(1058);n.d(e,"l",function(){return d.a});var f=n(1059);n.d(e,"n",function(){return f.a});var I=n(1060);n.d(e,"o",function(){return I.a});n(176),n(79),n(177)},function(t,e,n){"use strict";function i(){I.point=A}function r(){o(a,c)}function A(t,e){I.point=o,a=t,c=e,t*=M.r,e*=M.r,s=t,u=Object(M.g)(e=e/2+M.q),g=Object(M.t)(e)}function o(t,e){t*=M.r,e*=M.r,e=e/2+M.q;var n=t-s,i=n>=0?1:-1,r=i*n,A=Object(M.g)(e),o=Object(M.t)(e),a=g*o,c=u*A+a*Object(M.g)(r),l=a*i*Object(M.t)(r);d.add(Object(M.e)(l,c)),s=t,u=A,g=o}n.d(e,"a",function(){return d}),n.d(e,"b",function(){return I});var a,c,s,u,g,l=n(96),M=n(6),h=n(61),d=(n(79),Object(l.a)()),f=Object(l.a)(),I={point:h.a,lineStart:h.a,lineEnd:h.a,polygonStart:function(){d.reset(),I.lineStart=i,I.lineEnd=r},polygonEnd:function(){var t=+d;f.add(t<0?M.w+t:t),this.lineStart=this.lineEnd=this.point=h.a},sphere:function(){f.add(M.w)}}},function(t,e,n){"use strict";function i(t,e,n,i,a,c){if(n){var s=Object(o.g)(e),u=Object(o.t)(e),g=i*n;null==a?(a=e+i*o.w,c=e-g/2):(a=r(s,a),c=r(s,c),(i>0?a<c:a>c)&&(a+=i*o.w));for(var l,M=a;i>0?M>c:M<c;M-=g)l=Object(A.g)([s,-u*Object(o.g)(M),-u*Object(o.t)(M)]),t.point(l[0],l[1])}}function r(t,e){e=Object(A.a)(e),e[0]-=t,Object(A.e)(e);var n=Object(o.b)(-e[1]);return((-e[2]<0?-n:n)+o.w-o.i)%o.w}e.a=i;var A=n(127),o=(n(1036),n(6));n(176)},function(t,e,n){"use strict";e.a=function(t,e){function n(n,i){return n=t(n,i),e(n[0],n[1])}return t.invert&&e.invert&&(n.invert=function(n,i){return(n=e.invert(n,i))&&t.invert(n[0],n[1])}),n}},function(t,e,n){"use strict";var i=n(61);e.a=function(){var t,e=[];return{point:function(e,n){t.push([e,n])},lineStart:function(){e.push(t=[])},lineEnd:i.a,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}},function(t,e,n){"use strict";function i(t,e,n,i){this.x=t,this.z=e,this.o=n,this.e=i,this.v=!1,this.n=this.p=null}function r(t){if(e=t.length){for(var e,n,i=0,r=t[0];++i<e;)r.n=n=t[i],n.p=r,r=n;r.n=n=t[0],n.p=r}}var A=n(468);e.a=function(t,e,n,o,a){var c,s,u=[],g=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,n,r=t[0],o=t[e];if(Object(A.a)(r,o)){for(a.lineStart(),c=0;c<e;++c)a.point((r=t[c])[0],r[1]);return void a.lineEnd()}u.push(n=new i(r,t,null,!0)),g.push(n.o=new i(r,null,n,!1)),u.push(n=new i(o,t,null,!1)),g.push(n.o=new i(o,null,n,!0))}}),u.length){for(g.sort(e),r(u),r(g),c=0,s=g.length;c<s;++c)g[c].e=n=!n;for(var l,M,h=u[0];;){for(var d=h,f=!0;d.v;)if((d=d.n)===h)return;l=d.z,a.lineStart();do{if(d.v=d.o.v=!0,d.e){if(f)for(c=0,s=l.length;c<s;++c)a.point((M=l[c])[0],M[1]);else o(d.x,d.n.x,1,a);d=d.n}else{if(f)for(l=d.p.z,c=l.length-1;c>=0;--c)a.point((M=l[c])[0],M[1]);else o(d.x,d.p.x,-1,a);d=d.p}d=d.o,l=d.z,f=!f}while(!d.v);a.lineEnd()}}}},function(t,e,n){"use strict";var i=n(6);e.a=function(t,e){return Object(i.a)(t[0]-e[0])<i.i&&Object(i.a)(t[1]-e[1])<i.i}},function(t,e,n){"use strict";var i=n(96),r=n(127),A=n(6),o=Object(i.a)();e.a=function(t,e){var n=e[0],i=e[1],a=[Object(A.t)(n),-Object(A.g)(n),0],c=0,s=0;o.reset();for(var u=0,g=t.length;u<g;++u)if(M=(l=t[u]).length)for(var l,M,h=l[M-1],d=h[0],f=h[1]/2+A.q,I=Object(A.t)(f),E=Object(A.g)(f),T=0;T<M;++T,d=y,I=C,E=D,h=N){var N=l[T],y=N[0],p=N[1]/2+A.q,C=Object(A.t)(p),D=Object(A.g)(p),x=y-d,B=x>=0?1:-1,w=B*x,m=w>A.o,Q=I*C;if(o.add(Object(A.e)(Q*B*Object(A.t)(w),E*D+Q*Object(A.g)(w))),c+=m?x+B*A.w:x,m^d>=n^y>=n){var v=Object(r.c)(Object(r.a)(h),Object(r.a)(N));Object(r.e)(v);var j=Object(r.c)(a,v);Object(r.e)(j);var L=(m^x>=0?-1:1)*Object(A.c)(j[2]);(i>L||i===L&&(v[0]||v[1]))&&(s+=m^x>=0?1:-1)}}return(c<-A.i||c<A.i&&o<-A.i)^1&s}},function(t,e,n){"use strict";var i=n(471),r=[null,null],A={type:"LineString",coordinates:r};e.a=function(t,e){return r[0]=t,r[1]=e,Object(i.a)(A)}},function(t,e,n){"use strict";function i(){d.point=A,d.lineEnd=r}function r(){d.point=d.lineEnd=l.a}function A(t,e){t*=g.r,e*=g.r,a=t,c=Object(g.t)(e),s=Object(g.g)(e),d.point=o}function o(t,e){t*=g.r,e*=g.r;var n=Object(g.t)(e),i=Object(g.g)(e),r=Object(g.a)(t-a),A=Object(g.g)(r),o=Object(g.t)(r),u=i*o,l=s*n-c*i*A,M=c*n+s*i*A;h.add(Object(g.e)(Object(g.u)(u*u+l*l),M)),a=t,c=n,s=i}var a,c,s,u=n(96),g=n(6),l=n(61),M=n(79),h=Object(u.a)(),d={sphere:l.a,point:l.a,lineStart:i,lineEnd:l.a,polygonStart:l.a,polygonEnd:l.a};e.a=function(t){return h.reset(),Object(M.a)(t,d),+h}},function(t,e,n){"use strict";function i(t,e){t<A&&(A=t),t>a&&(a=t),e<o&&(o=e),e>c&&(c=e)}var r=n(61),A=1/0,o=A,a=-A,c=a,s={point:i,lineStart:r.a,lineEnd:r.a,polygonStart:r.a,polygonEnd:r.a,result:function(){var t=[[A,o],[a,c]];return a=c=-(o=A=1/0),t}};e.a=s},function(t,e,n){"use strict";var i=n(267);e.a=function(){return Object(i.a)().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}},function(t,e,n){"use strict";function i(t){return t.length>1}function r(t,e){return((t=t.x)[0]<0?t[1]-a.l-a.i:a.l-t[1])-((e=e.x)[0]<0?e[1]-a.l-a.i:a.l-e[1])}var A=n(466),o=n(467),a=n(6),c=n(469),s=n(10);e.a=function(t,e,n,a){return function(u,g){function l(e,n){var i=u(e,n);t(e=i[0],n=i[1])&&g.point(e,n)}function M(t,e){var n=u(t,e);p.point(n[0],n[1])}function h(){w.point=M,p.lineStart()}function d(){w.point=l,p.lineEnd()}function f(t,e){y.push([t,e]);var n=u(t,e);x.point(n[0],n[1])}function I(){x.lineStart(),y=[]}function E(){f(y[0][0],y[0][1]),x.lineEnd();var t,e,n,r,A=x.clean(),o=D.result(),a=o.length;if(y.pop(),T.push(y),y=null,a)if(1&A){if(n=o[0],(e=n.length-1)>0){for(B||(g.polygonStart(),B=!0),g.lineStart(),t=0;t<e;++t)g.point((r=n[t])[0],r[1]);g.lineEnd()}}else a>1&&2&A&&o.push(o.pop().concat(o.shift())),N.push(o.filter(i))}var T,N,y,p=e(g),C=u.invert(a[0],a[1]),D=Object(A.a)(),x=e(D),B=!1,w={point:l,lineStart:h,lineEnd:d,polygonStart:function(){w.point=f,w.lineStart=I,w.lineEnd=E,N=[],T=[]},polygonEnd:function(){w.point=l,w.lineStart=h,w.lineEnd=d,N=Object(s.merge)(N);var t=Object(c.a)(T,C);N.length?(B||(g.polygonStart(),B=!0),Object(o.a)(N,r,t,n,g)):t&&(B||(g.polygonStart(),B=!0),g.lineStart(),n(null,null,1,g),g.lineEnd()),B&&(g.polygonEnd(),B=!1),N=T=null},sphere:function(){g.polygonStart(),g.lineStart(),n(null,null,1,g),g.lineEnd(),g.polygonEnd()}};return w}}},function(t,e,n){"use strict";function i(t,e){return[t,e]}e.b=i;var r=n(53);i.invert=i,e.a=function(){return Object(r.a)(i).scale(152.63)}},function(t,e,n){"use strict";function i(t){return t.x}function r(t){return t.y}e.b=i,e.c=r;var A=n(36),o=n(45),a=n(273),c=Math.PI*(3-Math.sqrt(5));e.a=function(t){function e(){n(),I.call("tick",s),u<g&&(f.stop(),I.call("end",s))}function n(){var e,n,i=t.length;for(u+=(M-u)*l,d.each(function(t){t(u)}),e=0;e<i;++e)n=t[e],null==n.fx?n.x+=n.vx*=h:(n.x=n.fx,n.vx=0),null==n.fy?n.y+=n.vy*=h:(n.y=n.fy,n.vy=0)}function i(){for(var e,n=0,i=t.length;n<i;++n){if(e=t[n],e.index=n,isNaN(e.x)||isNaN(e.y)){var r=10*Math.sqrt(n),A=n*c;e.x=r*Math.cos(A),e.y=r*Math.sin(A)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function r(e){return e.initialize&&e.initialize(t),e}var s,u=1,g=.001,l=1-Math.pow(g,1/300),M=0,h=.6,d=Object(o.map)(),f=Object(a.c)(e),I=Object(A.dispatch)("tick","end");return null==t&&(t=[]),i(),s={tick:n,restart:function(){return f.restart(e),s},stop:function(){return f.stop(),s},nodes:function(e){return arguments.length?(t=e,i(),d.each(r),s):t},alpha:function(t){return arguments.length?(u=+t,s):u},alphaMin:function(t){return arguments.length?(g=+t,s):g},alphaDecay:function(t){return arguments.length?(l=+t,s):+l},alphaTarget:function(t){return arguments.length?(M=+t,s):M},velocityDecay:function(t){return arguments.length?(h=1-t,s):1-h},force:function(t,e){return arguments.length>1?(null==e?d.remove(t):d.set(t,r(e)),s):d.get(t)},find:function(e,n,i){var r,A,o,a,c,s=0,u=t.length;for(null==i?i=1/0:i*=i,s=0;s<u;++s)a=t[s],r=e-a.x,A=n-a.y,(o=r*r+A*A)<i&&(c=a,i=o);return c},on:function(t,e){return arguments.length>1?(I.on(t,e),s):I.on(t)}}}},function(t,e,n){"use strict";function i(t,e,n){var i=t.x,r=t.y,A=e.r+n.r,o=t.r+n.r,a=e.x-i,c=e.y-r,s=a*a+c*c;if(s){var u=.5+((o*=o)-(A*=A))/(2*s),g=Math.sqrt(Math.max(0,2*A*(o+s)-(o-=s)*o-A*A))/(2*s);n.x=i+u*a+g*c,n.y=r+u*c-g*a}else n.x=i+o,n.y=r}function r(t,e){var n=e.x-t.x,i=e.y-t.y,r=t.r+e.r;return r*r-1e-6>n*n+i*i}function A(t){var e=t._,n=t.next._,i=e.r+n.r,r=(e.x*n.r+n.x*e.r)/i,A=(e.y*n.r+n.y*e.r)/i;return r*r+A*A}function o(t){this._=t,this.next=null,this.previous=null}function a(t){if(!(s=t.length))return 0;var e,n,a,s,u,g,l,M,h,d,f;if(e=t[0],e.x=0,e.y=0,!(s>1))return e.r;if(n=t[1],e.x=-n.r,n.x=e.r,n.y=0,!(s>2))return e.r+n.r;i(n,e,a=t[2]),e=new o(e),n=new o(n),a=new o(a),e.next=a.previous=n,n.next=e.previous=a,a.next=n.previous=e;t:for(l=3;l<s;++l){i(e._,n._,a=t[l]),a=new o(a),M=n.next,h=e.previous,d=n._.r,f=e._.r;do{if(d<=f){if(r(M._,a._)){n=M,e.next=n,n.previous=e,--l;continue t}d+=M._.r,M=M.next}else{if(r(h._,a._)){e=h,e.next=n,n.previous=e,--l;continue t}f+=h._.r,h=h.previous}}while(M!==h.next);for(a.previous=e,a.next=n,e.next=n.previous=n=a,u=A(e);(a=a.next)!==n;)(g=A(a))<u&&(e=a,u=g);n=e.next}for(e=[n._],a=n;(a=a.next)!==n;)e.push(a._);for(a=Object(c.a)(e),l=0;l<s;++l)e=t[l],e.x-=a.x,e.y-=a.y;return a.r}e.b=a;var c=n(478);e.a=function(t){return a(t),t}},function(t,e,n){"use strict";function i(t,e){var n,i;if(o(e,t))return[e];for(n=0;n<t.length;++n)if(r(e,t[n])&&o(s(t[n],e),t))return[t[n],e];for(n=0;n<t.length-1;++n)for(i=n+1;i<t.length;++i)if(r(s(t[n],t[i]),e)&&r(s(t[n],e),t[i])&&r(s(t[i],e),t[n])&&o(u(t[n],t[i],e),t))return[t[n],t[i],e];throw new Error}function r(t,e){var n=t.r-e.r,i=e.x-t.x,r=e.y-t.y;return n<0||n*n<i*i+r*r}function A(t,e){var n=t.r-e.r+1e-6,i=e.x-t.x,r=e.y-t.y;return n>0&&n*n>i*i+r*r}function o(t,e){for(var n=0;n<e.length;++n)if(!A(t,e[n]))return!1;return!0}function a(t){switch(t.length){case 1:return c(t[0]);case 2:return s(t[0],t[1]);case 3:return u(t[0],t[1],t[2])}}function c(t){return{x:t.x,y:t.y,r:t.r}}function s(t,e){var n=t.x,i=t.y,r=t.r,A=e.x,o=e.y,a=e.r,c=A-n,s=o-i,u=a-r,g=Math.sqrt(c*c+s*s);return{x:(n+A+c/g*u)/2,y:(i+o+s/g*u)/2,r:(g+r+a)/2}}function u(t,e,n){var i=t.x,r=t.y,A=t.r,o=e.x,a=e.y,c=e.r,s=n.x,u=n.y,g=n.r,l=i-o,M=i-s,h=r-a,d=r-u,f=c-A,I=g-A,E=i*i+r*r-A*A,T=E-o*o-a*a+c*c,N=E-s*s-u*u+g*g,y=M*h-l*d,p=(h*N-d*T)/(2*y)-i,C=(d*f-h*I)/y,D=(M*T-l*N)/(2*y)-r,x=(l*I-M*f)/y,B=C*C+x*x-1,w=2*(A+p*C+D*x),m=p*p+D*D-A*A,Q=-(B?(w+Math.sqrt(w*w-4*B*m))/(2*B):m/w);return{x:i+p+C*Q,y:r+D+x*Q,r:Q}}var g=n(1104);e.a=function(t){for(var e,n,r=0,o=(t=Object(g.a)(g.b.call(t))).length,c=[];r<o;)e=t[r],n&&A(n,e)?++r:(n=a(c=i(c,e)),r=0);return n}},function(t,e,n){"use strict";function i(){return 0}e.a=i,e.b=function(t){return function(){return t}}},function(t,e,n){"use strict";e.a=function(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}},function(t,e,n){"use strict";var i=n(1120);n.d(e,"a",function(){return i.a})},function(t,e,n){"use strict";function i(t){return u.b[t.index]={site:t,halfedges:[]}}function r(t,e){var n=t.site,i=e.left,r=e.right;return n===r&&(r=i,i=n),r?Math.atan2(r[1]-i[1],r[0]-i[0]):(n===i?(i=e[1],r=e[0]):(i=e[0],r=e[1]),Math.atan2(i[0]-r[0],r[1]-i[1]))}function A(t,e){return e[+(e.left!==t.site)]}function o(t,e){return e[+(e.left===t.site)]}function a(){for(var t,e,n,i,A=0,o=u.b.length;A<o;++A)if((t=u.b[A])&&(i=(e=t.halfedges).length)){var a=new Array(i),c=new Array(i);for(n=0;n<i;++n)a[n]=n,c[n]=r(t,u.e[e[n]]);for(a.sort(function(t,e){return c[e]-c[t]}),n=0;n<i;++n)c[n]=e[a[n]];for(n=0;n<i;++n)e[n]=c[n]}}function c(t,e,n,i){var r,a,c,g,l,M,h,d,f,I,E,T,N=u.b.length,y=!0;for(r=0;r<N;++r)if(a=u.b[r]){for(c=a.site,l=a.halfedges,g=l.length;g--;)u.e[l[g]]||l.splice(g,1);for(g=0,M=l.length;g<M;)I=o(a,u.e[l[g]]),E=I[0],T=I[1],h=A(a,u.e[l[++g%M]]),d=h[0],f=h[1],(Math.abs(E-d)>u.f||Math.abs(T-f)>u.f)&&(l.splice(g,0,u.e.push(Object(s.b)(c,I,Math.abs(E-t)<u.f&&i-T>u.f?[t,Math.abs(d-t)<u.f?f:i]:Math.abs(T-i)<u.f&&n-E>u.f?[Math.abs(f-i)<u.f?d:n,i]:Math.abs(E-n)<u.f&&T-e>u.f?[n,Math.abs(d-n)<u.f?f:e]:Math.abs(T-e)<u.f&&E-t>u.f?[Math.abs(f-e)<u.f?d:t,e]:null))-1),++M);M&&(y=!1)}if(y){var p,C,D,x=1/0;for(r=0,y=null;r<N;++r)(a=u.b[r])&&(c=a.site,p=c[0]-t,C=c[1]-e,(D=p*p+C*C)<x&&(x=D,y=a));if(y){var B=[t,e],w=[t,i],m=[n,i],Q=[n,e];y.halfedges.push(u.e.push(Object(s.b)(c=y.site,B,w))-1,u.e.push(Object(s.b)(c,w,m))-1,u.e.push(Object(s.b)(c,m,Q))-1,u.e.push(Object(s.b)(c,Q,B))-1)}}for(r=0;r<N;++r)(a=u.b[r])&&(a.halfedges.length||delete u.b[r])}e.c=i,e.a=A,e.d=a,e.b=c;var s=n(279),u=n(132)},function(t,e,n){"use strict";function i(){Object(a.a)(this),this.x=this.y=this.arc=this.site=this.cy=null}function r(t){var e=t.P,n=t.N;if(e&&n){var r=e.site,A=t.site,a=n.site;if(r!==a){var u=A[0],g=A[1],l=r[0]-u,M=r[1]-g,h=a[0]-u,d=a[1]-g,f=2*(l*d-M*h);if(!(f>=-c.g)){var I=l*l+M*M,E=h*h+d*d,T=(d*I-M*E)/f,N=(l*E-h*I)/f,y=s.pop()||new i;y.arc=t,y.site=A,y.x=T+u,y.y=(y.cy=N+g)+Math.sqrt(T*T+N*N),t.circle=y;for(var p=null,C=c.c._;C;)if(y.y<C.y||y.y===C.y&&y.x<=C.x){if(!C.L){p=C.P;break}C=C.L}else{if(!C.R){p=C;break}C=C.R}c.c.insert(p,y),p||(o=y)}}}}function A(t){var e=t.circle;e&&(e.P||(o=e.N),c.c.remove(e),s.push(e),Object(a.a)(e),t.circle=null)}n.d(e,"c",function(){return o}),e.a=r,e.b=A;var o,a=n(278),c=n(132),s=[]},function(t,e,n){"use strict";function i(t,e){if("undefined"!=typeof document&&document.createElement){var n=document.createElement("canvas");if(n&&n.getContext)return n.width=t,n.height=e,n}return null}function r(){return"undefined"!=typeof Image?Image:null}e.a=i,e.b=r},function(t,e,n){"use strict";function i(t,e){if(A)try{return new A(t,e)}catch(t){}return null}function r(){return A&&A.Image||null}e.a=i,e.b=r;var A;try{if(!(A=n(1127)))throw 1}catch(t){try{A=n(1128)}catch(t){A=null}}},function(t,e,n){"use strict";function i(t){return new Uint8Array(t)}function r(t){return new Uint16Array(t)}function A(t){return new Uint32Array(t)}e.c=i,e.a=r,e.b=A},function(t,e,n){"use strict";function i(t){r.a.call(this,t),this.items=this.items||[]}e.a=i;var r=n(488),A=n(0);Object(A.inherits)(i,r.a)},function(t,e,n){"use strict";function i(t){this.mark=t,this.bounds=this.bounds||new r.a}e.a=i;var r=n(81)},function(t,e,n){"use strict";function i(t){this._pending=0,this._loader=t||Object(a.d)()}function r(t){t._pending+=1}function A(t){t._pending-=1}e.a=i;var o=n(180),a=n(69),c=i.prototype;c.pending=function(){return this._pending},c.sanitizeURL=function(t){var e=this;return r(e),e._loader.sanitize(t,{context:"href"}).then(function(t){return A(e),t}).catch(function(){return A(e),null})},c.loadImage=function(t){var e=this,n=Object(o.b)();return r(e),e._loader.sanitize(t,{context:"image"}).then(function(t){var i=t.href;if(!i||!n)throw{url:i};var r=new n;return r.onload=function(){A(e),r.loaded=!0},r.onerror=function(){A(e),r.loaded=!1},r.src=i,r}).catch(function(t){return A(e),{loaded:!1,width:0,height:0,src:t&&t.url||""}})},c.ready=function(){var t=this;return new Promise(function(e){function n(i){t.pending()?setTimeout(function(){n(!0)},10):e(i)}n(!1)})}},function(t,e,n){"use strict";function i(t,e){return JSON.stringify(t,a,e)}function r(t){return A("string"==typeof t?JSON.parse(t):t)}function A(t){var e,n,i,r=t.marktype,a=t.items;if(a)for(n=0,i=a.length;n<i;++n)e=r?"mark":"group",a[n][e]=t,a[n].zindex&&(a[n][e].zdirty=!0),"group"===(r||e)&&A(a[n]);return r&&Object(o.a)(t),t}e.b=i,e.a=r;var o=n(491),a=["marktype","name","role","interactive","clip","items","zindex","x","y","width","height","align","baseline","fill","fillOpacity","opacity","stroke","strokeOpacity","strokeWidth","strokeCap","strokeDash","strokeDashOffset","startAngle","endAngle","innerRadius","outerRadius","cornerRadius","padAngle","interpolate","tension","orient","defined","url","path","x2","y2","size","shape","text","angle","theta","radius","dx","dy","font","fontSize","fontWeight","fontStyle","fontVariant"]},function(t,e,n){"use strict";var i=n(81),r=n(492),A=n(82),o={mark:null};e.a=function(t,e,n){var a,c,s,u,g=A.a[t.marktype],l=g.bound,M=t.items,h=M&&M.length;if(g.nested)return h?s=M[0]:(o.mark=t,s=o),u=Object(r.a)(s,l,n),e=e&&e.union(u)||u;if(e=e||t.bounds&&t.bounds.clear()||new i.a,h)for(a=0,c=M.length;a<c;++a)e.union(Object(r.a)(M[a],l,n));return t.bounds=e}},function(t,e,n){"use strict";var i=n(81),r=n(82);e.a=function(t,e,n){var A=r.a[t.mark.marktype],o=e||A.bound;return A.nested&&(t=t.mark),o(t.bounds||(t.bounds=new i.a),t,n)}},function(t,e,n){"use strict";function i(t,e,n){var i=A.hasOwnProperty(t)&&A[t],r=null;return i&&(r=i.curve||i[e||"vertical"],i.tension&&null!=n&&(r=r[i.tension](n))),r}e.a=i;var r=n(94),A={basis:{curve:r.curveBasis},"basis-closed":{curve:r.curveBasisClosed},"basis-open":{curve:r.curveBasisOpen},bundle:{curve:r.curveBundle,tension:"beta",value:.85},cardinal:{curve:r.curveCardinal,tension:"tension",value:0},"cardinal-open":{curve:r.curveCardinalOpen,tension:"tension",value:0},"cardinal-closed":{curve:r.curveCardinalClosed,tension:"tension",value:0},"catmull-rom":{curve:r.curveCatmullRom,tension:"alpha",value:.5},"catmull-rom-closed":{curve:r.curveCatmullRomClosed,tension:"alpha",value:.5},"catmull-rom-open":{curve:r.curveCatmullRomOpen,tension:"alpha",value:.5},linear:{curve:r.curveLinear},"linear-closed":{curve:r.curveLinearClosed},monotone:{horizontal:r.curveMonotoneY,vertical:r.curveMonotoneX},natural:{curve:r.curveNatural},step:{curve:r.curveStep},"step-after":{curve:r.curveStepAfter},"step-before":{curve:r.curveStepBefore}}},function(t,e,n){"use strict";function i(t){return s.hasOwnProperty(t)?s[t]:r(t)}function r(t){if(!u.hasOwnProperty(t)){var e=Object(A.a)(t);u[t]={draw:function(t,n){Object(o.a)(t,e,0,0,Math.sqrt(n)/2)}}}return u[t]}e.a=i;var A=n(181),o=n(280),a=2*Math.PI,c=Math.sqrt(3)/2,s={circle:{draw:function(t,e){var n=Math.sqrt(e)/2;t.moveTo(n,0),t.arc(0,0,n,0,a)}},cross:{draw:function(t,e){var n=Math.sqrt(e)/2,i=n/2.5;t.moveTo(-n,-i),t.lineTo(-n,i),t.lineTo(-i,i),t.lineTo(-i,n),t.lineTo(i,n),t.lineTo(i,i),t.lineTo(n,i),t.lineTo(n,-i),t.lineTo(i,-i),t.lineTo(i,-n),t.lineTo(-i,-n),t.lineTo(-i,-i),t.closePath()}},diamond:{draw:function(t,e){var n=Math.sqrt(e)/2;t.moveTo(-n,0),t.lineTo(0,-n),t.lineTo(n,0),t.lineTo(0,n),t.closePath()}},square:{draw:function(t,e){var n=Math.sqrt(e),i=-n/2;t.rect(i,i,n,n)}},"triangle-up":{draw:function(t,e){var n=Math.sqrt(e)/2,i=c*n;t.moveTo(0,-i),t.lineTo(-n,i),t.lineTo(n,i),t.closePath()}},"triangle-down":{draw:function(t,e){var n=Math.sqrt(e)/2,i=c*n;t.moveTo(0,i),t.lineTo(-n,-i),t.lineTo(n,-i),t.closePath()}},"triangle-right":{draw:function(t,e){var n=Math.sqrt(e)/2,i=c*n;t.moveTo(i,0),t.lineTo(-i,-n),t.lineTo(-i,n),t.closePath()}},"triangle-left":{draw:function(t,e){var n=Math.sqrt(e)/2,i=c*n;t.moveTo(-i,0),t.lineTo(i,-n),t.lineTo(i,n),t.closePath()}}},u={}},function(t,e,n){"use strict";function i(t){return t.x}function r(t){return t.y}function A(t){return t.width}function o(t){return t.height}function a(t){return function(){return t}}var c=n(40);e.a=function(){function t(t,i,r){var A,o=null!=i?i:+e.call(this,t),a=null!=r?r:+n.call(this,t),M=+s.call(this,t),h=+u.call(this,t),d=+g.call(this,t);if(l||(l=A=Object(c.a)()),d<=0)l.rect(o,a,M,h);else{var f=o+M,I=a+h;l.moveTo(o+d,a),l.lineTo(f-d,a),l.quadraticCurveTo(f,a,f,a+d),l.lineTo(f,I-d),l.quadraticCurveTo(f,I,f-d,I),l.lineTo(o+d,I),l.quadraticCurveTo(o,I,o,I-d),l.lineTo(o,a+d),l.quadraticCurveTo(o,a,o+d,a),l.closePath()}if(A)return l=null,A+""||null}var e=i,n=r,s=A,u=o,g=a(0),l=null;return t.x=function(n){return arguments.length?(e="function"==typeof n?n:a(+n),t):e},t.y=function(e){return arguments.length?(n="function"==typeof e?e:a(+e),t):n},t.width=function(e){return arguments.length?(s="function"==typeof e?e:a(+e),t):s},t.height=function(e){return arguments.length?(u="function"==typeof e?e:a(+e),t):u},t.cornerRadius=function(e){return arguments.length?(g="function"==typeof e?e:a(+e),t):g},t.context=function(e){return arguments.length?(l=null==e?null:e,t):l},t}},function(t,e,n){"use strict";var i=n(40),r=Math.PI;e.a=function(){function t(t,e,n){var i=n/2;if(c){var A=u-e,o=t-s;if(A||o){var a=Math.sqrt(A*A+o*o),M=(A/=a)*g,h=(o/=a)*g,d=Math.atan2(o,A);l.moveTo(s-M,u-h),l.lineTo(t-A*i,e-o*i),l.arc(t,e,i,d-r,d),l.lineTo(s+M,u+h),l.arc(s,u,g,d,d+r)}else l.arc(t,e,i,0,2*r);l.closePath()}else c=1;s=t,u=e,g=i}function e(e){var r,s,u,g=e.length,M=!1;for(null==l&&(l=u=Object(i.a)()),r=0;r<=g;++r)!(r<g&&a(s=e[r],r,e))===M&&(M=!M)&&(c=0),M&&t(+n(s,r,e),+A(s,r,e),+o(s,r,e));if(u)return l=null,u+""||null}var n,A,o,a,c,s,u,g,l=null;return e.x=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(A=t,e):A},e.size=function(t){return arguments.length?(o=t,e):o},e.defined=function(t){return arguments.length?(a=t,e):a},e.context=function(t){return arguments.length?(l=null==t?null:t,e):l},e}},function(t,e,n){"use strict";var i=n(1140);e.a=function(t,e,n){return n.id?Object(i.a)(t,n,e.bounds):n}},function(t,e,n){"use strict";function i(t){o.a.call(this,t),this._down=null,this._touch=null,this._first=!0}function r(t,e,n){return function(i){var r=this._active,A=this.pickEvent(i);A===r?this.fire(t,i):(r&&r.exit||this.fire(n,i),this._active=A,this.fire(e,i),this.fire(t,i))}}function A(t){return function(e){this.fire(t,e),this._active=null}}e.a=i;var o=n(285),a=n(82),c=n(499),s=n(85),u=n(0),g=Object(u.inherits)(i,o.a);g.initialize=function(t,e,n){var i=this._canvas=t&&Object(s.e)(t,"canvas");if(i){var r=this;this.events.forEach(function(t){i.addEventListener(t,function(e){g[t]?g[t].call(r,e):r.fire(t,e)})})}return o.a.prototype.initialize.call(this,t,e,n)},g.canvas=function(){return this._canvas},g.context=function(){return this._canvas.getContext("2d")},g.events=["keydown","keypress","keyup","dragenter","dragleave","dragover","mousedown","mouseup","mousemove","mouseout","mouseover","click","dblclick","wheel","mousewheel","touchstart","touchmove","touchend"],g.DOMMouseScroll=function(t){this.fire("mousewheel",t)},g.mousemove=r("mousemove","mouseover","mouseout"),g.dragover=r("dragover","dragenter","dragleave"),g.mouseout=A("mouseout"),g.dragleave=A("dragleave"),g.mousedown=function(t){this._down=this._active,this.fire("mousedown",t)},g.click=function(t){this._down===this._active&&(this.fire("click",t),this._down=null)},g.touchstart=function(t){this._touch=this.pickEvent(t.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire("touchstart",t,!0)},g.touchmove=function(t){this.fire("touchmove",t,!0)},g.touchend=function(t){this.fire("touchend",t,!0),this._touch=null},g.fire=function(t,e,n){var i,r,A=n?this._touch:this._active,o=this._handlers[t];if("click"===t&&A&&A.href?this.handleHref(e,A,A.href):("mouseover"===t||"mouseout"===t)&&A&&A.tooltip&&this.handleTooltip(e,A,"mouseover"===t?A.tooltip:null),o)for(e.vegaType=t,i=0,r=o.length;i<r;++i)o[i].handler.call(this._obj,e,A)},g.on=function(t,e){var n=this.eventName(t),i=this._handlers;return(i[n]||(i[n]=[])).push({type:t,handler:e}),this},g.off=function(t,e){var n,i=this.eventName(t),r=this._handlers[i];if(r){for(n=r.length;--n>=0;)r[n].type===t&&(e&&r[n].handler!==e||r.splice(n,1));return this}},g.pickEvent=function(t){var e=Object(c.a)(t,this._canvas),n=this._origin;return this.pick(this._scene,e[0],e[1],e[0]-n[0],e[1]-n[1])},g.pick=function(t,e,n,i,r){var A=this.context();return a.a[t.marktype].pick.call(this,A,t,e,n,i,r)}},function(t,e,n){"use strict";e.a=function(t,e){var n=e.getBoundingClientRect();return[t.clientX-n.left-(e.clientLeft||0),t.clientY-n.top-(e.clientTop||0)]}},function(t,e,n){"use strict";function i(t){o.a.call(this,t),this._redraw=!1,this._dirty=new a.a}function r(t,e,n){return e.expand(1).round(),e.translate(-n[0]%1,-n[1]%1),t.beginPath(),t.rect(e.x1,e.y1,e.width(),e.height()),t.clip(),e}function A(t,e){if(null==e)return t;for(var n=f.clear().union(t);null!=e;e=e.mark.group)n.translate(e.x||0,e.y||0);return n}e.a=i;var o=n(188),a=n(81),c=n(82),s=n(85),u=n(1152),g=n(1153),l=n(180),M=n(0),h=Object(M.inherits)(i,o.a),d=o.a.prototype,f=new a.a;h.initialize=function(t,e,n,i,r){return this._canvas=Object(l.a)(1,1),t&&(Object(s.c)(t,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),d.initialize.call(this,t,e,n,i,r)},h.resize=function(t,e,n,i){return d.resize.call(this,t,e,n,i),Object(g.a)(this._canvas,this._width,this._height,this._origin,this._scale),this._redraw=!0,this},h.canvas=function(){return this._canvas},h.context=function(){return this._canvas?this._canvas.getContext("2d"):null},h.dirty=function(t){var e=A(t.bounds,t.mark.group);this._dirty.union(e)},h._render=function(t){var e=this.context(),n=this._origin,i=this._width,A=this._height,o=this._dirty;return e.save(),this._redraw||o.empty()?(this._redraw=!1,o=null):o=r(e,o,n),this.clear(-n[0],-n[1],i,A),this.draw(e,t,o),e.restore(),this._dirty.clear(),this},h.draw=function(t,e,n){var i=c.a[e.marktype];e.clip&&Object(u.a)(t,e),i.draw.call(this,t,e,n),e.clip&&t.restore()},h.clear=function(t,e,n,i){var r=this.context();r.clearRect(t,e,n,i),null!=this._bgcolor&&(r.fillStyle=this._bgcolor,r.fillRect(t,e,n,i))}},function(t,e,n){"use strict";function i(t){A.a.call(this,t);var e=this;e._hrefHandler=r(e,function(t,n){n&&n.href&&e.handleHref(t,n,n.href)}),e._tooltipHandler=r(e,function(t,n){n&&n.tooltip&&e.handleTooltip(t,n,"mouseover"===t.type?n.tooltip:null)})}function r(t,e){return function(n){var i=n.target,r=i.__data__;n.vegaType=n.type,r=Array.isArray(r)?r[0]:r,e.call(t._obj,n,r)}}e.a=i;var A=n(285),o=n(85),a=n(0),c=Object(a.inherits)(i,A.a);c.initialize=function(t,e,n){var i=this._svg;return i&&(i.removeEventListener("click",this._hrefHandler),i.removeEventListener("mouseover",this._tooltipHandler),i.removeEventListener("mouseout",this._tooltipHandler)),this._svg=i=t&&Object(o.e)(t,"svg"),i&&(i.addEventListener("click",this._hrefHandler),i.addEventListener("mouseover",this._tooltipHandler),i.addEventListener("mouseout",this._tooltipHandler)),A.a.prototype.initialize.call(this,t,e,n)},c.svg=function(){return this._svg},c.on=function(t,e){var n=this.eventName(t),i=this._handlers,A={type:t,handler:e,listener:r(this,e)};return(i[n]||(i[n]=[])).push(A),this._svg&&this._svg.addEventListener(n,A.listener),this},c.off=function(t,e){var n,i=this.eventName(t),r=this._svg,A=this._handlers[i];if(A){for(n=A.length;--n>=0;)(A[n].type===t&&!e||A[n].handler===e)&&(this._svg&&r.removeEventListener(i,A[n].listener),A.splice(n,1));return this}}},function(t,e,n){"use strict";function i(t){g.a.call(this,t),this._dirtyID=1,this._dirty=[],this._svg=null,this._root=null,this._defs=null}function r(t,e,n){var i,r,A;for(t=Object(M.b)(t,n,"linearGradient",y),t.setAttribute("id",e.id),t.setAttribute("x1",e.x1),t.setAttribute("x2",e.x2),t.setAttribute("y1",e.y1),t.setAttribute("y2",e.y2),i=0,r=e.stops.length;i<r;++i)A=Object(M.b)(t,i,"stop",y),A.setAttribute("offset",e.stops[i].offset),A.setAttribute("stop-color",e.stops[i].color);Object(M.c)(t,i)}function A(t,e,n){var i;t=Object(M.b)(t,n,"clipPath",y),t.setAttribute("id",e.id),i=Object(M.b)(t,0,"rect",y),i.setAttribute("x",0),i.setAttribute("y",0),i.setAttribute("width",e.width),i.setAttribute("height",e.height)}function o(t,e){for(;t&&t.dirty!==e;t=t.mark.group){if(t.dirty=e,!t.mark||t.mark.dirty===e)return;t.mark.dirty=e}}function a(t,e,n){e=e.lastChild;var i,r=0;Object(f.b)(n,function(n){i=t.draw(e,n,i),++r}),Object(M.c)(e,1+r)}function c(t,e,n,i){var r,A=t._svg;if(!A&&(r=e.ownerDocument,A=Object(M.d)(r,i,y),t._svg=A,t.mark&&(A.__data__=t,A.__values__={fill:"default"},"g"===i))){var o=Object(M.d)(r,"path",y);o.setAttribute("class","background"),A.appendChild(o),o.__data__=t;var a=Object(M.d)(r,"g",y);A.appendChild(a),a.__data__=t}return!r&&A.previousSibling===n&&n||e.insertBefore(A,n?n.nextSibling:e.firstChild),A}function s(t,e,n){e!==x[t]&&(null!=e?n?D.setAttributeNS(n,t,e):D.setAttribute(t,e):n?D.removeAttributeNS(n,t):D.removeAttribute(t),x[t]=e)}function u(){var t;return"undefined"==typeof window?"":(t=window.location).hash?t.href.slice(0,-t.hash.length):t.href}e.a=i;var g=n(188),l=n(82),M=n(85),h=n(286),d=n(187),f=n(55),I=n(186),E=n(503),T=n(504),N=n(0),y=E.a.xmlns,p=Object(N.inherits)(i,g.a),C=g.a.prototype;p.initialize=function(t,e,n,i){return t&&(this._svg=Object(M.b)(t,0,"svg",y),this._svg.setAttribute("class","marks"),Object(M.c)(t,1),this._root=Object(M.b)(this._svg,0,"g",y),Object(M.c)(this._svg,1)),this._defs={gradient:{},clipping:{}},this.background(this._bgcolor),C.initialize.call(this,t,e,n,i)},p.background=function(t){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",t),C.background.apply(this,arguments)},p.resize=function(t,e,n,i){return C.resize.call(this,t,e,n,i),this._svg&&(this._svg.setAttribute("width",this._width*this._scale),this._svg.setAttribute("height",this._height*this._scale),this._svg.setAttribute("viewBox","0 0 "+this._width+" "+this._height),this._root.setAttribute("transform","translate("+this._origin+")")),this._dirty=[],this},p.svg=function(){if(!this._svg)return null;var t={class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:"0 0 "+this._width+" "+this._height};for(var e in E.a)t[e]=E.a[e];var n=this._bgcolor?Object(h.b)("rect",{width:this._width,height:this._height,style:"fill: "+this._bgcolor+";"})+Object(h.a)("rect"):"";return Object(h.b)("svg",t)+n+this._svg.innerHTML+Object(h.a)("svg")},p._render=function(t){return this._dirtyCheck()&&(this._dirtyAll&&this._resetDefs(),this.draw(this._root,t),Object(M.c)(this._root,1)),this.updateDefs(),this._dirty=[],++this._dirtyID,this},p.updateDefs=function(){var t,e=this._svg,n=this._defs,i=n.el,o=0;for(t in n.gradient)i||(n.el=i=Object(M.b)(e,0,"defs",y)),r(i,n.gradient[t],o++);for(t in n.clipping)i||(n.el=i=Object(M.b)(e,0,"defs",y)),A(i,n.clipping[t],o++);i&&(0===o?(e.removeChild(i),n.el=null):Object(M.c)(i,o))},p._resetDefs=function(){var t=this._defs;t.gradient={},t.clipping={}},p.dirty=function(t){t.dirty!==this._dirtyID&&(t.dirty=this._dirtyID,this._dirty.push(t))},p.isDirty=function(t){return this._dirtyAll||!t._svg||t.dirty===this._dirtyID},p._dirtyCheck=function(){this._dirtyAll=!0;var t=this._dirty;if(!t.length)return!0;var e,n,i,r,A,a,c,s=++this._dirtyID;for(A=0,a=t.length;A<a;++A)e=t[A],n=e.mark,n.marktype!==i&&(i=n.marktype,r=l.a[i]),n.zdirty&&n.dirty!==s&&(this._dirtyAll=!1,n.dirty=s,o(n.group,s)),e.exit?(r.nested&&n.items.length?(c=n.items[0],c._svg&&this._update(r,c._svg,c)):e._svg&&(c=e._svg.parentNode)&&c.removeChild(e._svg),e._svg=null):(e=r.nested?n.items[0]:e,e._update!==s&&(e._svg&&e._svg.ownerSVGElement?this._update(r,e._svg,e):(this._dirtyAll=!1,o(e,s)),e._update=s));return!this._dirtyAll},p.draw=function(t,e,n){function i(t){var e=A.isDirty(t),n=c(t,r,g,o.tag);e&&(A._update(o,n,t),u&&a(A,n,t)),g=n,++h}if(!this.isDirty(e))return e._svg;var r,A=this,o=l.a[e.marktype],s=!1===e.interactive?"none":null,u="g"===o.tag,g=null,h=0;return r=c(e,t,n,"g"),r.setAttribute("class",Object(M.a)(e)),!u&&s&&r.style.setProperty("pointer-events",s),e.clip&&r.setAttribute("clip-path",Object(I.a)(A,e,e.group)),o.nested?e.items.length&&i(e.items[0]):Object(f.b)(e,i),Object(M.c)(r,h),r};var D=null,x=null,B={group:function(t,e,n){x=e.__values__,D=e.childNodes[1],t.foreground(s,n,this),D=e.childNodes[0],t.background(s,n,this);var i=!1===n.mark.interactive?"none":null;i!==x.events&&(D.style.setProperty("pointer-events",i),x.events=i)},text:function(t,e,n){var i=Object(d.d)(n);i!==x.text&&(e.textContent=i,x.text=i),(i=Object(d.a)(n))!==x.font&&(e.style.setProperty("font",i),x.font=i)}};p._update=function(t,e,n){D=e,x=e.__values__,t.attr(s,n,this);var i=B[t.type];i&&i.call(this,t,e,n),this.style(D,n)},p.style=function(t,e){if(null!=e){var n,i,r,A,o;for(n=0,i=T.a.length;n<i;++n)r=T.a[n],(o=e[r])!==x[r]&&(A=T.b[r],null==o?"fill"===A?t.style.setProperty(A,"none"):t.style.removeProperty(A):(o.id&&(this._defs.gradient[o.id]=o,o="url("+u()+"#"+o.id+")"),t.style.setProperty(A,o+"")),x[r]=o)}}},function(t,e,n){"use strict";e.a={version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"}},function(t,e,n){"use strict";n.d(e,"b",function(){return i}),n.d(e,"a",function(){return r});var i={fill:"fill",fillOpacity:"fill-opacity",stroke:"stroke",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",strokeCap:"stroke-linecap",strokeJoin:"stroke-linejoin",strokeDash:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeMiterLimit:"stroke-miterlimit",opacity:"opacity"},r=Object.keys(i)},function(t,e,n){"use strict";function i(t){a.a.call(this,t),this._text={head:"",bg:"",root:"",foot:"",defs:"",body:""},this._defs={gradient:{},clipping:{}}}function r(t,e,n,i){T[i||t]=e}function A(t,e,n,i){if(null==t)return"";var r,A,o,a,c,s="";for("bgrect"===n&&!1===e.interactive&&(s+="pointer-events: none; "),"text"===n&&(s+="font: "+Object(g.a)(t)+"; "),r=0,A=d.a.length;r<A;++r)o=d.a[r],a=d.b[o],c=t[o],null==c?"fill"===a&&(s+="fill: none; "):"transparent"!==c||"fill"!==a&&"stroke"!==a?(c.id&&(i.gradient[c.id]=c,c="url(#"+c.id+")"),s+=a+": "+c+"; "):s+=a+": none; ";return s?'style="'+s.trim()+'"':null}function o(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}e.a=i;var a=n(188),c=n(82),s=n(85),u=n(286),g=n(187),l=n(55),M=n(186),h=n(503),d=n(504),f=n(0),I=Object(f.inherits)(i,a.a),E=a.a.prototype;I.resize=function(t,e,n,i){E.resize.call(this,t,e,n,i);var r=this._origin,A=this._text,o={class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:"0 0 "+this._width+" "+this._height};for(var a in h.a)o[a]=h.a[a];A.head=Object(u.b)("svg",o);var c=this._bgcolor;return"transparent"!==c&&"none"!==c||(c=null),A.bg=c?Object(u.b)("rect",{width:this._width,height:this._height,style:"fill: "+c+";"})+Object(u.a)("rect"):"",A.root=Object(u.b)("g",{transform:"translate("+r+")"}),A.foot=Object(u.a)("g")+Object(u.a)("svg"),this},I.background=function(){var t=E.background.apply(this,arguments);return arguments.length&&this._text.head&&this.resize(this._width,this._height,this._origin,this._scale),t},I.svg=function(){var t=this._text;return t.head+t.bg+t.defs+t.root+t.body+t.foot},I._render=function(t){return this._text.body=this.mark(t),this._text.defs=this.buildDefs(),this},I.buildDefs=function(){var t,e,n,i,r=this._defs,A="";for(e in r.gradient){for(n=r.gradient[e],i=n.stops,A+=Object(u.b)("linearGradient",{id:e,x1:n.x1,x2:n.x2,y1:n.y1,y2:n.y2}),t=0;t<i.length;++t)A+=Object(u.b)("stop",{offset:i[t].offset,"stop-color":i[t].color})+Object(u.a)("stop");A+=Object(u.a)("linearGradient")}for(e in r.clipping)n=r.clipping[e],A+=Object(u.b)("clipPath",{id:e}),A+=Object(u.b)("rect",{x:0,y:0,width:n.width,height:n.height})+Object(u.a)("rect"),A+=Object(u.a)("clipPath");return A.length>0?Object(u.b)("defs")+A+Object(u.a)("defs"):""};var T;I.attributes=function(t,e){return T={},t(r,e,this),T},I.href=function(t){var e,n=this,i=t.href;if(i){if(e=n._hrefs&&n._hrefs[i])return e;n.sanitizeURL(i).then(function(t){t["xlink:href"]=t.href,t.href=null,(n._hrefs||(n._hrefs={}))[i]=t})}return null},I.mark=function(t){function e(e){var c=i.href(e);c&&(d+=Object(u.b)("a",c)),n="g"!==a?A(e,t,a,h):null,d+=Object(u.b)(a,i.attributes(r.attr,e),n),"text"===a?d+=o(Object(g.d)(e)):"g"===a&&(d+=Object(u.b)("path",i.attributes(r.background,e),A(e,t,"bgrect",h))+Object(u.a)("path"),d+=Object(u.b)("g",i.attributes(r.foreground,e))+i.markGroup(e)+Object(u.a)("g")),d+=Object(u.a)(a),c&&(d+=Object(u.a)("a"))}var n,i=this,r=c.a[t.marktype],a=r.tag,h=this._defs,d="";return"g"!==a&&!1===t.interactive&&(n='style="pointer-events: none;"'),d+=Object(u.b)("g",{class:Object(s.a)(t),"clip-path":t.clip?Object(M.a)(i,t,t.group):null},n),r.nested?t.items&&t.items.length&&e(t.items[0]):Object(l.b)(t,e),d+Object(u.a)("g")},I.markGroup=function(t){var e=this,n="";return Object(l.b)(t,function(t){n+=e.mark(t)}),n}},function(t,e,n){"use strict";e.a=function(t,e,n){var i=document.createElement(t);for(var r in e)i.setAttribute(r,e[r]);return null!=n&&(i.textContent=n),i}},function(t,e,n){"use strict";var i=n(189);e.a=function(t,e,n,r,A){return e=e||new r(t.loader()),e.initialize(n,Object(i.d)(t),Object(i.a)(t),Object(i.b)(t),A).background(t._background)}},function(t,e,n){"use strict";var i=n(1171);n.d(e,"d",function(){return i.a});var r=(n(525),n(288),n(509),n(517),n(510));n.d(e,"c",function(){return r.d}),n.d(e,"a",function(){return r.c});var A=(n(17),n(524),n(133),n(91));n.d(e,"b",function(){return A.formatDefaultLocale});var o=n(92);n.d(e,"e",function(){return o.timeFormatDefaultLocale})},function(t,e,n){"use strict";var i=n(86),r=n(1192);e.a=function(t,e){var n=e.getSignal(t.name);if(t.update){var A=Object(i.a)(t.update,e);n.update=A.$expr,n.params=A.$params}t.on&&t.on.forEach(function(t){Object(r.a)(t,e,n.id)})}},function(t,e,n){"use strict";function i(t,e,n){return 1===arguments.length?Q[t]:(Q[t]=e,n&&(S[t]=n),b&&(b.functions[t]=L+t),this)}function r(t){var e=Object(o.c)(t);v.forEach(function(t){e[t]=j+t});for(var n in Q)e[n]=L+n;return e}n.d(e,"d",function(){return Q}),e.c=i,n.d(e,"b",function(){return Y}),n.d(e,"a",function(){return b});var A=n(1),o=n(511),a=n(70),c=n(0),s=n(15),u=n(10),g=n(1177),l=n(1178),M=n(1179),h=n(1180),d=n(1181),f=n(1182),I=n(1183),E=n(1184),T=n(1185),N=n(515),y=n(1186),p=n(1187),C=n(290),D=n(1188),x=n(516),B=n(1189),w=n(1190),m=n(1191),Q={random:function(){return Object(a.d)()},isArray:c.isArray,isBoolean:c.isBoolean,isDate:c.isDate,isNumber:c.isNumber,isObject:c.isObject,isRegExp:c.isRegExp,isString:c.isString,isTuple:A.m,toBoolean:c.toBoolean,toDate:c.toDate,toNumber:c.toNumber,toString:c.toString,pad:c.pad,peek:c.peek,truncate:c.truncate,rgb:s.f,lab:s.e,hcl:s.c,hsl:s.d,sequence:u.range,format:g.c,utcFormat:g.h,utcParse:g.i,timeFormat:g.f,timeParse:g.g,monthFormat:g.e,monthAbbrevFormat:g.d,dayFormat:g.b,dayAbbrevFormat:g.a,quarter:l.a,utcquarter:l.b,warn:M.c,info:M.b,debug:M.a,inScope:h.a,clampRange:d.a,pinchDistance:f.b,pinchAngle:f.a,screen:I.b,containerSize:I.a,windowSize:I.c,span:T.a,flush:E.a,bandspace:N.a,inrange:x.a,setdata:C.e,panLinear:c.panLinear,panLog:c.panLog,panPow:c.panPow,zoomLinear:c.zoomLinear,zoomLog:c.zoomLog,zoomPow:c.zoomPow,encode:B.a,modify:w.a},v=["view","item","group","xy","x","y"],j="event.vega.",L="this.",S={};i("bandwidth",N.b,N.i),i("copy",N.c,N.i),i("domain",N.d,N.i),i("range",N.g,N.i),i("invert",N.f,N.i),i("scale",N.h,N.i),i("gradient",y.a,N.i),i("geoArea",p.a,N.i),i("geoBounds",p.b,N.i),i("geoCentroid",p.c,N.i),i("indata",C.c,C.d),i("data",C.a,C.b),i("vlSingle",m.d,C.b),i("vlSingleDomain",m.e,C.b),i("vlMulti",m.d,m.c),i("vlMultiDomain",m.e,m.c),i("vlInterval",m.a,C.b),i("vlIntervalDomain",m.b,C.b),i("treePath",D.b,C.b),i("treeAncestors",D.a,C.b);var Y={blacklist:["_"],whitelist:["datum","event","item"],fieldvar:"datum",globalvar:function(t){return"_["+Object(c.stringValue)("$"+t)+"]"},functions:r,constants:o.b,visitors:S},b=Object(o.a)(Y)},function(t,e,n){"use strict";var i=(n(512),n(1175));n.d(e,"d",function(){return i.a});var r=n(1176);n.d(e,"a",function(){return r.a});var A=n(514);n.d(e,"c",function(){return A.a});var o=n(513);n.d(e,"b",function(){return o.a})},function(t,e,n){"use strict";function i(t){this.type=t}function r(t){switch(t.type){case"ArrayExpression":return t.elements;case"BinaryExpression":case"LogicalExpression":return[t.left,t.right];case"CallExpression":var e=t.arguments.slice();return e.unshift(t.callee),e;case"ConditionalExpression":return[t.test,t.consequent,t.alternate];case"MemberExpression":return[t.object,t.property];case"ObjectExpression":return t.properties;case"Property":return[t.key,t.value];case"UnaryExpression":return[t.argument];case"Identifier":case"Literal":case"RawCode":default:return[]}}e.a=i,i.prototype.visit=function(t){var e,n,i,A=this;if(t(A))return 1;for(e=r(A),n=0,i=e.length;n<i;++n)if(e[n].visit(t))return 1}},function(t,e,n){"use strict";e.a={NaN:"NaN",E:"Math.E",LN2:"Math.LN2",LN10:"Math.LN10",LOG2E:"Math.LOG2E",LOG10E:"Math.LOG10E",PI:"Math.PI",SQRT1_2:"Math.SQRT1_2",SQRT2:"Math.SQRT2",MIN_VALUE:"Number.MIN_VALUE",MAX_VALUE:"Number.MAX_VALUE"}},function(t,e,n){"use strict";var i=n(0);e.a=function(t){function e(e,n,i,r){var A=t(n[0]);return i&&(A=i+"("+A+")",0===i.lastIndexOf("new ",0)&&(A="("+A+")")),A+"."+e+(r<0?"":0===r?"()":"("+n.slice(1).map(t).join(",")+")")}function n(t,n,i){return function(r){return e(t,r,n,i)}}var r="new Date";return{isNaN:"isNaN",isFinite:"isFinite",abs:"Math.abs",acos:"Math.acos",asin:"Math.asin",atan:"Math.atan",atan2:"Math.atan2",ceil:"Math.ceil",cos:"Math.cos",exp:"Math.exp",floor:"Math.floor",log:"Math.log",max:"Math.max",min:"Math.min",pow:"Math.pow",random:"Math.random",round:"Math.round",sin:"Math.sin",sqrt:"Math.sqrt",tan:"Math.tan",clamp:function(e){e.length<3&&Object(i.error)("Missing arguments to clamp function."),e.length>3&&Object(i.error)("Too many arguments to clamp function.");var n=e.map(t);return"Math.max("+n[1]+", Math.min("+n[2]+","+n[0]+"))"},now:"Date.now",utc:"Date.UTC",datetime:r,date:n("getDate",r,0),day:n("getDay",r,0),year:n("getFullYear",r,0),month:n("getMonth",r,0),hours:n("getHours",r,0),minutes:n("getMinutes",r,0),seconds:n("getSeconds",r,0),milliseconds:n("getMilliseconds",r,0),time:n("getTime",r,0),timezoneoffset:n("getTimezoneOffset",r,0),utcdate:n("getUTCDate",r,0),utcday:n("getUTCDay",r,0),utcyear:n("getUTCFullYear",r,0),utcmonth:n("getUTCMonth",r,0),utchours:n("getUTCHours",r,0),utcminutes:n("getUTCMinutes",r,0),utcseconds:n("getUTCSeconds",r,0),utcmilliseconds:n("getUTCMilliseconds",r,0),length:n("length",null,-1),indexof:n("indexOf",null),lastindexof:n("lastIndexOf",null),slice:n("slice",null),parseFloat:"parseFloat",parseInt:"parseInt",upper:n("toUpperCase","String",0),lower:n("toLowerCase","String",0),substring:n("substring","String"),replace:n("replace","String"),regexp:"RegExp",test:n("test","RegExp"),if:function(e){e.length<3&&Object(i.error)("Missing arguments to if function."),e.length>3&&Object(i.error)("Too many arguments to if function.");var n=e.map(t);return"("+n[0]+"?"+n[1]+":"+n[2]+")"}}}},function(t,e,n){"use strict";function i(t,e){var n;return Object(f.isFunction)(t)?t:Object(f.isString)(t)?(n=e.scales[t])&&n.value:void 0}function r(t,e,n){var i=h.c+n;if(!e.hasOwnProperty(i))try{e[i]=t.scaleRef(n)}catch(t){}}function A(t,e,n,i){if(e[0].type===M.b)r(n,i,e[0].value);else if(e[0].type===M.a)for(t in n.scales)r(n,i,t)}function o(t,e){var n=i(t,(e||this).context);return n&&n.range?n.range():[]}function a(t,e){var n=i(t,(e||this).context);return n?n.domain():[]}function c(t,e){var n=i(t,(e||this).context);return n&&n.bandwidth?n.bandwidth():0}function s(t,e,n){return Object(d.a)(t||0,e||0,n||0)}function u(t,e){var n=i(t,(e||this).context);return n?n.copy():void 0}function g(t,e,n){var r=i(t,(n||this).context);return r?r(e):void 0}function l(t,e,n){var r=i(t,(n||this).context);return r?Object(f.isArray)(e)?(r.invertRange||r.invert)(e):(r.invert||r.invertExtent)(e):void 0}e.e=i,e.i=A,e.g=o,e.d=a,e.b=c,e.a=s,e.c=u,e.h=g,e.f=l;var M=n(289),h=n(191),d=n(77),f=n(0)},function(t,e,n){"use strict";e.a=function(t,e,n,i){var r,A=e[0],o=e[e.length-1];return A>o&&(r=A,A=o,o=r),n=void 0===n||n,i=void 0===i||i,(n?A<=t:A<t)&&(i?t<=o:t<o)}},function(t,e,n){"use strict";function i(t){return t===M?l:t||l}function r(t,e){return(t.merge?A:t.stream?o:t.type?a:Object(g.error)("Invalid stream specification: "+Object(g.stringValue)(t)))(t,e)}function A(t,e){var n=t.merge.map(function(t){return r(t,e)}),i=c({merge:n},t,e);return e.addStream(i).id}function o(t,e){var n=r(t.stream,e),i=c({stream:n},t,e);return e.addStream(i).id}function a(t,e){var n=e.event(i(t.source),t.type),r=c({stream:n},t,e);return 1===Object.keys(r).length?n:e.addStream(r).id}function c(t,e,n){var i=e.between;return i&&(2!==i.length&&Object(g.error)('Stream "between" parameter must have 2 entries: '+Object(g.stringValue)(e)),t.between=[r(i[0],n),r(i[1],n)]),i=e.filter?Object(g.array)(e.filter):[],(e.marktype||e.markname||e.markrole)&&i.push(s(e.marktype,e.markname,e.markrole)),e.source===M&&i.push("inScope(event.item)"),i.length&&(t.filter=Object(u.a)("("+i.join(")&&(")+")").$expr),null!=(i=e.throttle)&&(t.throttle=+i),null!=(i=e.debounce)&&(t.debounce=+i),e.consume&&(t.consume=!0),t}function s(t,e,n){var i="event.item";return i+(t&&"*"!==t?"&&"+i+".mark.marktype==='"+t+"'":"")+(n?"&&"+i+".mark.role==='"+n+"'":"")+(e?"&&"+i+".mark.name==='"+e+"'":"")}var u=n(86),g=n(0),l="view",M="scope";e.a=function(t,e){return t.signal?e.getSignal(t.signal).id:t.scale?e.getScale(t.scale).id:r(t,e)}},function(t,e,n){"use strict";function i(t,e,n,o){var a,c,s;if(t.signal)a="datum",s=Object(r.a)(t.signal,e,n,o);else if(t.group||t.parent){for(c=Math.max(1,t.level||1),a="item";c-- >0;)a+=".mark.group";t.parent?(s=t.parent,a+=".datum"):s=t.group}else t.datum?(a="datum",s=t.datum):Object(A.error)("Invalid field reference: "+Object(A.stringValue)(t));return t.signal||(Object(A.isString)(s)?(o[s]=1,s=Object(A.splitAccessPath)(s).map(A.stringValue).join("][")):s=i(s,e,n,o)),a+"["+s+"]"}var r=n(193),A=n(0);e.a=function(t,e,n,r){return i(Object(A.isObject)(t)?t:{datum:t},e,n,r)}},function(t,e,n){"use strict";function i(t,e){if(!Object(c.isString)(t))return-1;var n=e.scaleType(t);return"band"===n||"point"===n?1:0}function r(t,e,n,i){var r;if(Object(c.isString)(t))r=a.c+t,n.hasOwnProperty(r)||(n[r]=e.scaleRef(t)),r=Object(c.stringValue)(r);else{for(r in e.scales)n[a.c+r]=e.scaleRef(r);r=Object(c.stringValue)(a.c)+"+"+(t.signal?"("+Object(A.a)(t.signal,e,n,i)+")":Object(o.a)(t,e,n,i))}return"_["+r+"]"}e.b=r;var A=n(193),o=n(518),a=n(191),c=n(0);e.a=function(t,e,n,A,o){var a,c,s,u=r(t.scale,n,A,o);return null!=t.range?(a=+t.range,c=u+".range()",e=0===a?c+"[0]":"($="+c+","+(1===a?"$[$.length-1]":"$[0]+"+a+"*($[$.length-1]-$[0])")+")"):(void 0!==e&&(e=u+"("+e+")"),t.band&&(s=i(t.scale,n))&&(c=u+".bandwidth",a=+t.band,a=c+"()"+(1===a?"":"*"+a),s<0&&(a="("+c+"?"+a+":0)"),e=(e?e+"+":"")+a,t.extra&&(e="(datum.extra?"+u+"(datum.extra.value):"+e+")")),null==e&&(e="0")),e}},function(t,e,n){"use strict";var i=n(0);e.a=function(t,e,n){return t+"["+Object(i.stringValue)(e)+"]="+n+";"}},function(t,e,n){"use strict";var i=n(26);e.a=function(t,e,n,r,A,o,a){return{type:i.a,name:n,role:t,style:e,from:r,interactive:A,encode:o,marks:a}}},function(t,e,n){"use strict";var i=n(26),r=n(17);e.a=function(t){var e=t.role||"";return e.indexOf("axis")&&e.indexOf("legend")?t.type===i.a?r.o:e||r.n:e}},function(t,e,n){"use strict";var i=n(86),r=n(25);e.a=function(t,e,n){var A,o,a=t.remove,c=t.insert,s=t.toggle,u=t.modify,g=t.values,l=e.add(Object(r.j)());A="if("+t.trigger+',modify("'+n+'",'+[c,a,s,u,g].map(function(t){return null==t?"null":t}).join(",")+"),0)",o=Object(i.a)(A,e),l.update=o.$expr,l.params=o.$params}},function(t,e,n){"use strict";function i(t){this.config=t,this.bindings=[],this.field={},this.signals={},this.lambdas={},this.scales={},this.events={},this.data={},this.streams=[],this.updates=[],this.operators=[],this.background=null,this.eventConfig=null,this._id=0,this._subid=0,this._nextsub=[0],this._parent=[],this._encode=[],this._lookup=[],this._markpath=[]}function r(t){this.config=t.config,this.field=Object.create(t.field),this.signals=Object.create(t.signals),this.lambdas=Object.create(t.lambdas),this.scales=Object.create(t.scales),this.events=Object.create(t.events),this.data=Object.create(t.data),this.streams=[],this.updates=[],this.operators=[],this._id=0,this._subid=++t._nextsub[0],this._nextsub=t._nextsub,this._parent=t._parent.slice(),this._encode=t._encode.slice(),this._lookup=t._lookup.slice(),this._markpath=t._markpath}function A(t){return(Object(l.isArray)(t)?o:a)(t)}function o(t){for(var e,n="[",i=0,r=t.length;i<r;++i)e=t[i],n+=(i>0?",":"")+(Object(l.isObject)(e)?e.signal||A(e):Object(l.stringValue)(e));return n+"]"}function a(t){var e,n,i="{",r=0;for(e in t)n=t[e],i+=(++r>1?",":"")+Object(l.stringValue)(e)+":"+(Object(l.isObject)(n)?n.signal||A(n):Object(l.stringValue)(n));return i+"}"}e.a=i;var c=n(133),s=n(25),u=n(86),g=n(34),l=n(0),M=i.prototype=r.prototype;M.fork=function(){return new r(this)},M.toRuntime=function(){return this.finish(),{background:this.background,operators:this.operators,streams:this.streams,updates:this.updates,bindings:this.bindings,eventConfig:this.eventConfig}},M.id=function(){return(this._subid?this._subid+":":0)+this._id++},M.add=function(t){return this.operators.push(t),t.id=this.id(),t.refs&&(t.refs.forEach(function(e){e.$ref=t.id}),t.refs=null),t},M.proxy=function(t){var e=t instanceof s.b?Object(s.k)(t):t;return this.add(Object(g.s)({value:e}))},M.addStream=function(t){return this.streams.push(t),t.id=this.id(),t},M.addUpdate=function(t){return this.updates.push(t),t},M.finish=function(){function t(t,e,n){var i,r;t&&(i=t.data||(t.data={}),r=i[e]||(i[e]=[]),r.push(n))}var e,n;this.root&&(this.root.root=!0);for(e in this.signals)this.signals[e].signal=e;for(e in this.scales)this.scales[e].scale=e;for(e in this.data){n=this.data[e],t(n.input,e,"input"),t(n.output,e,"output"),t(n.values,e,"values");for(var i in n.index)t(n.index[i],e,"index:"+i)}return this},M.pushState=function(t,e,n){this._encode.push(Object(s.k)(this.add(Object(g.w)({pulse:t})))),this._parent.push(e),this._lookup.push(n?Object(s.k)(this.proxy(n)):null),this._markpath.push(-1)},M.popState=function(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},M.parent=function(){return Object(l.peek)(this._parent)},M.encode=function(){return Object(l.peek)(this._encode)},M.lookup=function(){return Object(l.peek)(this._lookup)},M.markpath=function(){var t=this._markpath;return++t[t.length-1]},M.fieldRef=function(t,e){if(Object(l.isString)(t))return Object(s.f)(t,e);t.signal||Object(l.error)("Unsupported field reference: "+Object(l.stringValue)(t));var n,i=t.signal,r=this.field[i];return r||(n={name:this.signalRef(i)},e&&(n.as=e),this.field[i]=r=Object(s.k)(this.add(Object(g.i)(n)))),r},M.compareRef=function(t){function e(t){return Object(s.g)(t)?(i=!0,Object(s.k)(n[t.signal])):t}var n=this.signals,i=!1,r=Object(l.array)(t.field).map(e),A=Object(l.array)(t.order).map(e);return i?Object(s.k)(this.add(Object(g.e)({fields:r,orders:A}))):Object(s.d)(r,A)},M.keyRef=function(t,e){function n(t){return Object(s.g)(t)?(r=!0,Object(s.k)(i[t.signal])):t}var i=this.signals,r=!1;return t=Object(l.array)(t).map(n),r?Object(s.k)(this.add(Object(g.j)({fields:t,flat:e}))):Object(s.i)(t,e)},M.sortRef=function(t){if(!t)return t;var e=[Object(s.c)(t.op,t.field),s.m],n=t.order||s.a;return n.signal?Object(s.k)(this.add(Object(g.e)({fields:e,orders:[n=this.signalRef(n.signal),n]}))):Object(s.d)(e,[n,n])},M.event=function(t,e){var n=t+":"+e;if(!this.events[n]){var i=this.id();this.streams.push({id:i,source:t,type:e}),this.events[n]=i}return this.events[n]},M.addSignal=function(t,e){this.signals.hasOwnProperty(t)&&Object(l.error)("Duplicate signal name: "+Object(l.stringValue)(t));var n=e instanceof s.b?e:this.add(Object(s.j)(e));return this.signals[t]=n},M.getSignal=function(t){return this.signals[t]||Object(l.error)("Unrecognized signal name: "+Object(l.stringValue)(t)),this.signals[t]},M.signalRef=function(t){return this.signals[t]?Object(s.k)(this.signals[t]):(this.lambdas.hasOwnProperty(t)||(this.lambdas[t]=this.add(Object(s.j)(null))),Object(s.k)(this.lambdas[t]))},M.parseLambdas=function(){for(var t=Object.keys(this.lambdas),e=0,n=t.length;e<n;++e){var i=t[e],r=Object(u.a)(i,this),A=this.lambdas[i];A.params=r.$params,A.update=r.$expr}},M.property=function(t){return t&&t.signal?this.signalRef(t.signal):t},M.objectProperty=function(t){return t&&Object(l.isObject)(t)?this.signalRef(t.signal||A(t)):t},M.addBinding=function(t,e){this.bindings||Object(l.error)("Nested signals do not support binding: "+Object(l.stringValue)(t)),this.bindings.push(Object(l.extend)({signal:t},e))},M.addScaleProj=function(t,e){this.scales.hasOwnProperty(t)&&Object(l.error)("Duplicate scale or projection name: "+Object(l.stringValue)(t)),this.scales[t]=this.add(e)},M.addScale=function(t,e){this.addScaleProj(t,Object(g.v)(e))},M.addProjection=function(t,e){this.addScaleProj(t,Object(g.r)(e))},M.getScale=function(t){return this.scales[t]||Object(l.error)("Unrecognized scale name: "+Object(l.stringValue)(t)),this.scales[t]},M.projectionRef=M.scaleRef=function(t){return Object(s.k)(this.getScale(t))},M.projectionType=M.scaleType=function(t){return this.getScale(t).params.type},M.addData=function(t,e){return this.data.hasOwnProperty(t)&&Object(l.error)("Duplicate data set name: "+Object(l.stringValue)(t)),this.data[t]=e},M.getData=function(t){return this.data[t]||Object(l.error)("Undefined data set name: "+Object(l.stringValue)(t)),this.data[t]},M.addDataPipeline=function(t,e){return this.data.hasOwnProperty(t)&&Object(l.error)("Duplicate data set name: "+Object(l.stringValue)(t)),this.addData(t,c.a.fromEntries(this,e))}},function(t,e,n){"use strict";function i(){return{padding:0,autosize:"pad",background:null,events:{defaults:{allow:["wheel"]}},group:null,mark:null,arc:{fill:c},area:{fill:c},image:null,line:{stroke:c,strokeWidth:a},path:{stroke:c},rect:{fill:c},rule:{stroke:s},shape:{stroke:c},symbol:{fill:c,size:64},text:{fill:s,font:A,fontSize:11},style:{"guide-label":{fill:s,font:A,fontSize:10},"guide-title":{fill:s,font:A,fontSize:11,fontWeight:"bold"},"group-title":{fill:s,font:A,fontSize:13,fontWeight:"bold"},point:{size:o,strokeWidth:a,shape:"circle"},circle:{size:o,strokeWidth:a},square:{size:o,strokeWidth:a,shape:"square"},cell:{fill:"transparent",stroke:g}},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:!0,domainWidth:1,domainColor:u,grid:!1,gridWidth:1,gridColor:g,gridOpacity:1,labels:!0,labelAngle:0,labelLimit:180,labelPadding:2,ticks:!0,tickColor:u,tickOffset:0,tickRound:!0,tickSize:5,tickWidth:1,titleAlign:"center",titlePadding:4},axisBand:{tickOffset:-1},legend:{orient:"right",offset:18,padding:0,entryPadding:5,titlePadding:5,gradientWidth:100,gradientHeight:20,gradientStrokeColor:g,gradientStrokeWidth:0,gradientLabelBaseline:"top",gradientLabelOffset:2,labelAlign:"left",labelBaseline:"middle",labelOffset:8,labelLimit:160,symbolType:"circle",symbolSize:100,symbolFillColor:"transparent",symbolStrokeColor:u,symbolStrokeWidth:1.5,titleAlign:"left",titleBaseline:"top",titleLimit:180},title:{orient:"top",anchor:"middle",offset:4},range:{category:{scheme:"tableau10"},ordinal:{scheme:"blues",extent:[.2,1]},heatmap:{scheme:"viridis"},ramp:{scheme:"blues",extent:[.2,1]},diverging:{scheme:"blueorange"},symbol:["circle","square","triangle-up","cross","diamond","triangle-right","triangle-down","triangle-left"]}}}var r=n(0);e.a=function(t){var e=i();return(t||[]).forEach(function(t){var n,i,A;if(t)for(n in t)if("style"===n){A=e.style||(e.style={});for(n in t.style)A[n]=Object(r.extend)(A[n]||{},t.style[n])}else i=t[n],e[n]=Object(r.isObject)(i)&&!Object(r.isArray)(i)?Object(r.extend)(Object(r.isObject)(e[n])?e[n]:{},i):i}),e};var A="sans-serif",o=30,a=2,c="#4c78a8",s="#000",u="#888",g="#ddd"},function(t,e,n){"use strict";var i=n(527);n.d(e,"b",function(){return i.a});var r=n(1223);n.d(e,"a",function(){return r.a});n(134)},function(t,e,n){"use strict";var i=n(1220),r=n(1221),A=n(1222);e.a=function(t,e){var n=t.operators||[];return t.background&&(e.background=t.background),t.eventConfig&&(e.eventConfig=t.eventConfig),n.forEach(function(t){Object(i.a)(t,e)}),n.forEach(function(t){Object(i.b)(t,e)}),(t.streams||[]).forEach(function(t){Object(r.a)(t,e)}),(t.updates||[]).forEach(function(t){Object(A.a)(t,e)}),e.resolve()}},function(t,e,n){"use strict";function i(t,e,n){n=n||{};var A,o;for(A in t)o=t[A],o&&o.$expr&&o.$params&&i(o.$params,e,n),n[A]=Object(I.isArray)(o)?o.map(function(t){return r(t,e)}):r(o,e);return n}function r(t,e){if(!t||!Object(I.isObject)(t))return t;for(var n,i=0,r=E.length;i<r;++i)if(n=E[i],t.hasOwnProperty(n.key))return n.parse(t,e);return t}function A(t,e){return e.get(t.$ref)||Object(I.error)("Operator not defined: "+t.$ref)}function o(t,e){var n="e:"+t.$expr;return e.fn[n]||(e.fn[n]=Object(I.accessor)(Object(d.e)(t.$expr,e),t.$fields,t.$name))}function a(t,e){var n="k:"+t.$key;return e.fn[n]||(e.fn[n]=Object(I.key)(t.$key))}function c(t,e){if(!t.$field)return null;var n="f:"+t.$field+"_"+t.$name;return e.fn[n]||(e.fn[n]=Object(I.field)(t.$field,t.$name))}function s(t,e){var n="c:"+t.$compare+"_"+t.$order,i=Object(I.array)(t.$compare).map(function(t){return t&&t.$tupleid?f.r:t});return e.fn[n]||(e.fn[n]=Object(I.compare)(i,t.$order))}function u(t,e){var n,i,r=t.$encode,A={};for(n in r)i=r[n],A[n]=Object(I.accessor)(Object(d.a)(i.$expr,e),i.$fields),A[n].output=i.$output;return A}function g(t,e){return e}function l(t,e){var n=t.$subflow;return function(t,i,r){var A=Object(h.a)(n,e.fork()),o=A.get(n.operators[0].id),a=A.signals.parent;return a&&a.set(r),o}}function M(){return f.r}e.a=i;var h=n(527),d=n(134),f=n(1),I=n(0),E=[{key:"$ref",parse:A},{key:"$key",parse:a},{key:"$expr",parse:o},{key:"$field",parse:c},{key:"$encode",parse:u},{key:"$compare",parse:s},{key:"$context",parse:g},{key:"$subflow",parse:l},{key:"$tupleid",parse:M}]},function(t,e,n){"use strict";function i(t){return(t+"").toLowerCase()}function r(t){return"operator"===i(t)}function A(t){return"collect"===i(t)}e.a=i,e.c=r,e.b=A},function(t,e,n){"use strict";n.d(e,"b",function(){return o}),n.d(e,"a",function(){return a});var i=n(97),r=n(531),A=Object(r.a)(i.a),o=A.right,a=A.left;e.c=o},function(t,e,n){"use strict";function i(t){return function(e,n){return Object(r.a)(t(e),n)}}var r=n(97);e.a=function(t){return 1===t.length&&(t=i(t)),{left:function(e,n,i,r){for(null==i&&(i=0),null==r&&(r=e.length);i<r;){var A=i+r>>>1;t(e[A],n)<0?i=A+1:r=A}return i},right:function(e,n,i,r){for(null==i&&(i=0),null==r&&(r=e.length);i<r;){var A=i+r>>>1;t(e[A],n)>0?r=A:i=A+1}return i}}}},function(t,e,n){"use strict";function i(t,e){return[t,e]}e.b=i,e.a=function(t,e){null==e&&(e=i);for(var n=0,r=t.length-1,A=t[0],o=new Array(r<0?0:r);n<r;)o[n]=e(A,A=t[++n]);return o}},function(t,e,n){"use strict";var i=n(534);e.a=function(t,e){var n=Object(i.a)(t,e);return n?Math.sqrt(n):n}},function(t,e,n){"use strict";var i=n(135);e.a=function(t,e){var n,r,A=t.length,o=0,a=-1,c=0,s=0;if(null==e)for(;++a<A;)isNaN(n=Object(i.a)(t[a]))||(r=n-c,c+=r/++o,s+=r*(n-c));else for(;++a<A;)isNaN(n=Object(i.a)(e(t[a],a,t)))||(r=n-c,c+=r/++o,s+=r*(n-c));if(o>1)return s/(o-1)}},function(t,e,n){"use strict";e.a=function(t,e){var n,i,r,A=t.length,o=-1;if(null==e){for(;++o<A;)if(null!=(n=t[o])&&n>=n)for(i=r=n;++o<A;)null!=(n=t[o])&&(i>n&&(i=n),r<n&&(r=n))}else for(;++o<A;)if(null!=(n=e(t[o],o,t))&&n>=n)for(i=r=n;++o<A;)null!=(n=e(t[o],o,t))&&(i>n&&(i=n),r<n&&(r=n));return[i,r]}},function(t,e,n){"use strict";n.d(e,"b",function(){return r}),n.d(e,"a",function(){return A});var i=Array.prototype,r=i.slice,A=i.map},function(t,e,n){"use strict";e.a=function(t,e,n){t=+t,e=+e,n=(r=arguments.length)<2?(e=t,t=0,1):r<3?1:+n;for(var i=-1,r=0|Math.max(0,Math.ceil((e-t)/n)),A=new Array(r);++i<r;)A[i]=t+i*n;return A}},function(t,e,n){"use strict";function i(t,e,n){var i=(e-t)/Math.max(0,n),r=Math.floor(Math.log(i)/Math.LN10),c=i/Math.pow(10,r);return r>=0?(c>=A?10:c>=o?5:c>=a?2:1)*Math.pow(10,r):-Math.pow(10,-r)/(c>=A?10:c>=o?5:c>=a?2:1)}function r(t,e,n){var i=Math.abs(e-t)/Math.max(0,n),r=Math.pow(10,Math.floor(Math.log(i)/Math.LN10)),c=i/r;return c>=A?r*=10:c>=o?r*=5:c>=a&&(r*=2),e<t?-r:r}e.b=i,e.c=r;var A=Math.sqrt(50),o=Math.sqrt(10),a=Math.sqrt(2);e.a=function(t,e,n){var r,A,o,a,c=-1;if(e=+e,t=+t,n=+n,t===e&&n>0)return[t];if((r=e<t)&&(A=t,t=e,e=A),0===(a=i(t,e,n))||!isFinite(a))return[];if(a>0)for(t=Math.ceil(t/a),e=Math.floor(e/a),o=new Array(A=Math.ceil(e-t+1));++c<A;)o[c]=(t+c)*a;else for(t=Math.floor(t*a),e=Math.ceil(e*a),o=new Array(A=Math.ceil(t-e+1));++c<A;)o[c]=(t-c)/a;return r&&o.reverse(),o}},function(t,e,n){"use strict";e.a=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1}},function(t,e,n){"use strict";e.a=function(t,e){var n,i,r=t.length,A=-1;if(null==e){for(;++A<r;)if(null!=(n=t[A])&&n>=n)for(i=n;++A<r;)null!=(n=t[A])&&i>n&&(i=n)}else for(;++A<r;)if(null!=(n=e(t[A],A,t))&&n>=n)for(i=n;++A<r;)null!=(n=e(t[A],A,t))&&i>n&&(i=n);return i}},function(t,e,n){"use strict";function i(t){return t.length}var r=n(540);e.a=function(t){if(!(o=t.length))return[];for(var e=-1,n=Object(r.a)(t,i),A=new Array(n);++e<n;)for(var o,a=-1,c=A[e]=new Array(o);++a<o;)c[a]=t[a][e];return A}},function(t,e,n){"use strict";function i(t,e){var n=t.document.documentElement,i=Object(r.select)(t).on("dragstart.drag",null);e&&(i.on("click.drag",A.a,!0),setTimeout(function(){i.on("click.drag",null)},0)),"onselectstart"in n?i.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}e.b=i;var r=n(14),A=n(543);e.a=function(t){var e=t.document.documentElement,n=Object(r.select)(t).on("dragstart.drag",A.a,!0);"onselectstart"in e?n.on("selectstart.drag",A.a,!0):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}},function(t,e,n){"use strict";function i(){r.event.stopImmediatePropagation()}e.b=i;var r=n(14);e.a=function(){r.event.preventDefault(),r.event.stopImmediatePropagation()}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=(n(1265),n(63));n.d(e,"transition",function(){return i.b});var r=n(1294);n.d(e,"active",function(){return r.a});var A=n(545);n.d(e,"interrupt",function(){return A.a})},function(t,e,n){"use strict";var i=n(42);e.a=function(t,e){var n,r,A,o=t.__transition,a=!0;if(o){e=null==e?null:e+"";for(A in o)(n=o[A]).name===e?(r=n.state>i.d&&n.state<i.b,n.state=i.a,n.timer.stop(),r&&n.on.call("interrupt",t,t.__data__,n.index,n.group),delete o[A]):a=!1;a&&delete t.__transition}}},function(t,e,n){"use strict";var i=n(15),r=n(33);e.a=function(t,e){var n;return("number"==typeof e?r.interpolateNumber:e instanceof i.a?r.interpolateRgb:(n=Object(i.a)(e))?(e=n,r.interpolateRgb):r.interpolateString)(t,e)}},function(t,e,n){"use strict";n.d(e,"a",function(){return i}),n.d(e,"d",function(){return r}),n.d(e,"b",function(){return o}),n.d(e,"e",function(){return a}),n.d(e,"c",function(){return c});var i=Math.cos,r=Math.sin,A=Math.PI,o=A/2,a=2*A,c=Math.max},function(t,e,n){"use strict";var i=n(1303);n.d(e,"a",function(){return i.a});var r=n(555);n.d(e,"b",function(){return r.a}),n.d(e,"c",function(){return r.b})},function(t,e,n){"use strict";var i=n(43);e.a=function(t){return"string"==typeof t?new i.a([[document.querySelector(t)]],[document.documentElement]):new i.a([[t]],i.c)}},function(t,e,n){"use strict";function i(){return[]}e.a=function(t){return null==t?i:function(){return this.querySelectorAll(t)}}},function(t,e,n){"use strict";var i=function(t){return function(){return this.matches(t)}};if("undefined"!=typeof document){var r=document.documentElement;if(!r.matches){var A=r.webkitMatchesSelector||r.msMatchesSelector||r.mozMatchesSelector||r.oMatchesSelector;i=function(t){return function(){return A.call(this,t)}}}}e.a=i},function(t,e,n){"use strict";function i(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}e.a=i;var r=n(553),A=n(43);e.b=function(){return new A.a(this._enter||this._groups.map(r.a),this._parents)},i.prototype={constructor:i,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}}},function(t,e,n){"use strict";e.a=function(t){return new Array(t.length)}},function(t,e,n){"use strict";function i(t){return function(){this.style.removeProperty(t)}}function r(t,e,n){return function(){this.style.setProperty(t,e,n)}}function A(t,e,n){return function(){var i=e.apply(this,arguments);null==i?this.style.removeProperty(t):this.style.setProperty(t,i,n)}}function o(t,e){return t.style.getPropertyValue(e)||Object(a.a)(t).getComputedStyle(t,null).getPropertyValue(e)}e.b=o;var a=n(297);e.a=function(t,e,n){return arguments.length>1?this.each((null==e?i:"function"==typeof e?A:r)(t,e,null==n?"":n)):o(this.node(),t)}},function(t,e,n){"use strict";function i(t,e){var n=t.document.documentElement,i=Object(r.k)(t).on("dragstart.drag",null);e&&(i.on("click.drag",A.a,!0),setTimeout(function(){i.on("click.drag",null)},0)),"onselectstart"in n?i.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}e.b=i;var r=n(27),A=n(556);e.a=function(t){var e=t.document.documentElement,n=Object(r.k)(t).on("dragstart.drag",A.a,!0);"onselectstart"in e?n.on("selectstart.drag",A.a,!0):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}},function(t,e,n){"use strict";function i(){r.e.stopImmediatePropagation()}e.b=i;var r=n(27);e.a=function(){r.e.preventDefault(),r.e.stopImmediatePropagation()}},function(t,e,n){"use strict";function i(t){return t.x}function r(t){return t.y}e.b=i,e.c=r;var A=n(36),o=n(45),a=n(198),c=Math.PI*(3-Math.sqrt(5));e.a=function(t){function e(){n(),I.call("tick",s),u<g&&(f.stop(),I.call("end",s))}function n(){var e,n,i=t.length;for(u+=(M-u)*l,d.each(function(t){t(u)}),e=0;e<i;++e)n=t[e],null==n.fx?n.x+=n.vx*=h:(n.x=n.fx,n.vx=0),null==n.fy?n.y+=n.vy*=h:(n.y=n.fy,n.vy=0)}function i(){for(var e,n=0,i=t.length;n<i;++n){if(e=t[n],e.index=n,isNaN(e.x)||isNaN(e.y)){var r=10*Math.sqrt(n),A=n*c;e.x=r*Math.cos(A),e.y=r*Math.sin(A)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function r(e){return e.initialize&&e.initialize(t),e}var s,u=1,g=.001,l=1-Math.pow(g,1/300),M=0,h=.6,d=Object(o.map)(),f=Object(a.d)(e),I=Object(A.dispatch)("tick","end");return null==t&&(t=[]),i(),s={tick:n,restart:function(){return f.restart(e),s},stop:function(){return f.stop(),s},nodes:function(e){return arguments.length?(t=e,i(),d.each(r),s):t},alpha:function(t){return arguments.length?(u=+t,s):u},alphaMin:function(t){return arguments.length?(g=+t,s):g},alphaDecay:function(t){return arguments.length?(l=+t,s):+l},alphaTarget:function(t){return arguments.length?(M=+t,s):M},velocityDecay:function(t){return arguments.length?(h=1-t,s):1-h},force:function(t,e){return arguments.length>1?(null==e?d.remove(t):d.set(t,r(e)),s):d.get(t)},find:function(e,n,i){var r,A,o,a,c,s=0,u=t.length;for(null==i?i=1/0:i*=i,s=0;s<u;++s)a=t[s],r=e-a.x,A=n-a.y,(o=r*r+A*A)<i&&(c=a,i=o);return c},on:function(t,e){return arguments.length>1?(I.on(t,e),s):I.on(t)}}}},function(t,e,n){"use strict";var i=n(199),r=n(1353),A=n(1354),o=n(559),a=n(560),c=n(561),s=n(1357),u=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];e.a=function(t){function e(t){function e(t){var e,A,o,a=N,l=y;if("c"===T)l=p(t)+l,t="";else{t=+t;var d=t<0;if(t=p(Math.abs(t),E),d&&0==+t&&(d=!1),a=(d?"("===r?r:"-":"-"===r||"("===r?"":r)+a,l=("s"===T?u[8+c.b/3]:"")+l+(d&&"("===r?")":""),C)for(e=-1,A=t.length;++e<A;)if(48>(o=t.charCodeAt(e))||o>57){l=(46===o?M+t.slice(e+1):t.slice(e))+l,t=t.slice(0,e);break}}I&&!s&&(t=g(t,1/0));var D=a.length+t.length+l.length,x=D<f?new Array(f-D+1).join(n):"";switch(I&&s&&(t=g(x+t,x.length?f-l.length:1/0),x=""),i){case"<":t=a+t+l+x;break;case"=":t=a+x+t+l;break;case"^":t=x.slice(0,D=x.length>>1)+a+t+l+x.slice(D);break;default:t=x+a+t+l}return h(t)}t=Object(o.a)(t);var n=t.fill,i=t.align,r=t.sign,A=t.symbol,s=t.zero,f=t.width,I=t.comma,E=t.precision,T=t.type,N="$"===A?l[0]:"#"===A&&/[boxX]/.test(T)?"0"+T.toLowerCase():"",y="$"===A?l[1]:/[%p]/.test(T)?d:"",p=a.a[T],C=!T||/[defgprs%]/.test(T);return E=null==E?T?6:12:/[gprs]/.test(T)?Math.max(1,Math.min(21,E)):Math.max(0,Math.min(20,E)),e.toString=function(){return t+""},e}function n(t,n){var r=e((t=Object(o.a)(t),t.type="f",t)),A=3*Math.max(-8,Math.min(8,Math.floor(Object(i.a)(n)/3))),a=Math.pow(10,-A),c=u[8+A/3];return function(t){return r(a*t)+c}}var g=t.grouping&&t.thousands?Object(r.a)(t.grouping,t.thousands):s.a,l=t.currency,M=t.decimal,h=t.numerals?Object(A.a)(t.numerals):s.a,d=t.percent||"%";return{format:e,formatPrefix:n}}},function(t,e,n){"use strict";function i(t){return new r(t)}function r(t){if(!(e=o.exec(t)))throw new Error("invalid format: "+t);var e,n=e[1]||" ",i=e[2]||">",r=e[3]||"-",a=e[4]||"",c=!!e[5],s=e[6]&&+e[6],u=!!e[7],g=e[8]&&+e[8].slice(1),l=e[9]||"";"n"===l?(u=!0,l="g"):A.a[l]||(l=""),(c||"0"===n&&"="===i)&&(c=!0,n="0",i="="),this.fill=n,this.align=i,this.sign=r,this.symbol=a,this.zero=c,this.width=s,this.comma=u,this.precision=g,this.type=l}e.a=i;var A=n(560),o=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;i.prototype=r.prototype,r.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+this.type}},function(t,e,n){"use strict";var i=n(1355),r=n(561),A=n(1356);e.a={"":i.a,"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return Object(A.a)(100*t,e)},r:A.a,s:r.a,X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}}},function(t,e,n){"use strict";n.d(e,"b",function(){return i});var i,r=n(305);e.a=function(t,e){var n=Object(r.a)(t,e);if(!n)return t+"";var A=n[0],o=n[1],a=o-(i=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,c=A.length;return a===c?A:a>c?A+new Array(a-c+1).join("0"):a>0?A.slice(0,a)+"."+A.slice(a):"0."+new Array(1-a).join("0")+Object(r.a)(t,Math.max(0,e+a-1))[0]}},function(t,e,n){"use strict";function i(){E.point=A}function r(){o(a,c)}function A(t,e){E.point=o,a=t,c=e,t*=M.r,e*=M.r,s=t,u=Object(M.g)(e=e/2+M.q),g=Object(M.t)(e)}function o(t,e){t*=M.r,e*=M.r,e=e/2+M.q;var n=t-s,i=n>=0?1:-1,r=i*n,A=Object(M.g)(e),o=Object(M.t)(e),a=g*o,c=u*A+a*Object(M.g)(r),l=a*i*Object(M.t)(r);f.add(Object(M.e)(l,c)),s=t,u=A,g=o}n.d(e,"a",function(){return f}),n.d(e,"b",function(){return E});var a,c,s,u,g,l=n(99),M=n(5),h=n(64),d=n(87),f=Object(l.a)(),I=Object(l.a)(),E={point:h.a,lineStart:h.a,lineEnd:h.a,polygonStart:function(){f.reset(),E.lineStart=i,E.lineEnd=r},polygonEnd:function(){var t=+f;I.add(t<0?M.w+t:t),this.lineStart=this.lineEnd=this.point=h.a},sphere:function(){I.add(M.w)}};e.c=function(t){return I.reset(),Object(d.a)(t,E),2*I}},function(t,e,n){"use strict";function i(t,e,n,i,o,c){if(n){var s=Object(a.g)(e),u=Object(a.t)(e),g=i*n;null==o?(o=e+i*a.w,c=e-g/2):(o=r(s,o),c=r(s,c),(i>0?o<c:o>c)&&(o+=i*a.w));for(var l,M=o;i>0?M>c:M<c;M-=g)l=Object(A.g)([s,-u*Object(a.g)(M),-u*Object(a.t)(M)]),t.point(l[0],l[1])}}function r(t,e){e=Object(A.a)(e),e[0]-=t,Object(A.e)(e);var n=Object(a.b)(-e[1]);return((-e[2]<0?-n:n)+a.w-a.i)%a.w}e.a=i;var A=n(136),o=n(1364),a=n(5),c=n(200);e.b=function(){function t(t,e){n.push(t=r(t,e)),t[0]*=a.h,t[1]*=a.h}function e(){var t=A.apply(this,arguments),e=s.apply(this,arguments)*a.r,o=u.apply(this,arguments)*a.r;return n=[],r=Object(c.b)(-t[0]*a.r,-t[1]*a.r,0).invert,i(g,e,o,1),t={type:"Polygon",coordinates:[n]},n=r=null,t}var n,r,A=Object(o.a)([0,0]),s=Object(o.a)(90),u=Object(o.a)(6),g={point:t};return e.center=function(t){return arguments.length?(A="function"==typeof t?t:Object(o.a)([+t[0],+t[1]]),e):A},e.radius=function(t){return arguments.length?(s="function"==typeof t?t:Object(o.a)(+t),e):s},e.precision=function(t){return arguments.length?(u="function"==typeof t?t:Object(o.a)(+t),e):u},e}},function(t,e,n){"use strict";e.a=function(t,e){function n(n,i){return n=t(n,i),e(n[0],n[1])}return t.invert&&e.invert&&(n.invert=function(n,i){return(n=e.invert(n,i))&&t.invert(n[0],n[1])}),n}},function(t,e,n){"use strict";function i(t){var e,n=NaN,i=NaN,A=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(o,c){var s=o>0?a.o:-a.o,u=Object(a.a)(o-n);Object(a.a)(u-a.o)<a.i?(t.point(n,i=(i+c)/2>0?a.l:-a.l),t.point(A,i),t.lineEnd(),t.lineStart(),t.point(s,i),t.point(o,i),e=0):A!==s&&u>=a.o&&(Object(a.a)(n-A)<a.i&&(n-=A*a.i),Object(a.a)(o-s)<a.i&&(o-=s*a.i),i=r(n,i,o,c),t.point(A,i),t.lineEnd(),t.lineStart(),t.point(s,i),e=0),t.point(n=o,i=c),A=s},lineEnd:function(){t.lineEnd(),n=i=NaN},clean:function(){return 2-e}}}function r(t,e,n,i){var r,A,o=Object(a.t)(t-n);return Object(a.a)(o)>a.i?Object(a.d)((Object(a.t)(e)*(A=Object(a.g)(i))*Object(a.t)(n)-Object(a.t)(i)*(r=Object(a.g)(e))*Object(a.t)(t))/(r*A*o)):(e+i)/2}function A(t,e,n,i){var r;if(null==t)r=n*a.l,i.point(-a.o,r),i.point(0,r),i.point(a.o,r),i.point(a.o,0),i.point(a.o,-r),i.point(0,-r),i.point(-a.o,-r),i.point(-a.o,0),i.point(-a.o,r);else if(Object(a.a)(t[0]-e[0])>a.i){var A=t[0]<e[0]?a.o:-a.o;r=n*A/2,i.point(-A,r),i.point(0,r),i.point(A,r)}else i.point(e[0],e[1])}var o=n(566),a=n(5);e.a=Object(o.a)(function(){return!0},i,A,[-a.o,-a.l])},function(t,e,n){"use strict";function i(t){return t.length>1}function r(t,e){return((t=t.x)[0]<0?t[1]-a.l-a.i:a.l-t[1])-((e=e.x)[0]<0?e[1]-a.l-a.i:a.l-e[1])}var A=n(567),o=n(568),a=n(5),c=n(570),s=n(35);e.a=function(t,e,n,a){return function(u){function g(e,n){t(e,n)&&u.point(e,n)}function l(t,e){y.point(t,e)}function M(){x.point=l,y.lineStart()}function h(){x.point=g,y.lineEnd()}function d(t,e){N.push([t,e]),C.point(t,e)}function f(){C.lineStart(),N=[]}function I(){d(N[0][0],N[0][1]),C.lineEnd();var t,e,n,r,A=C.clean(),o=p.result(),a=o.length;if(N.pop(),E.push(N),N=null,a)if(1&A){if(n=o[0],(e=n.length-1)>0){for(D||(u.polygonStart(),D=!0),u.lineStart(),t=0;t<e;++t)u.point((r=n[t])[0],r[1]);u.lineEnd()}}else a>1&&2&A&&o.push(o.pop().concat(o.shift())),T.push(o.filter(i))}var E,T,N,y=e(u),p=Object(A.a)(),C=e(p),D=!1,x={point:g,lineStart:M,lineEnd:h,polygonStart:function(){x.point=d,x.lineStart=f,x.lineEnd=I,T=[],E=[]},polygonEnd:function(){x.point=g,x.lineStart=M,x.lineEnd=h,T=Object(s.n)(T);var t=Object(c.a)(E,a);T.length?(D||(u.polygonStart(),D=!0),Object(o.a)(T,r,t,n,u)):t&&(D||(u.polygonStart(),D=!0),u.lineStart(),n(null,null,1,u),u.lineEnd()),D&&(u.polygonEnd(),D=!1),T=E=null},sphere:function(){u.polygonStart(),u.lineStart(),n(null,null,1,u),u.lineEnd(),u.polygonEnd()}};return x}}},function(t,e,n){"use strict";var i=n(64);e.a=function(){var t,e=[];return{point:function(e,n){t.push([e,n])},lineStart:function(){e.push(t=[])},lineEnd:i.a,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}},function(t,e,n){"use strict";function i(t,e,n,i){this.x=t,this.z=e,this.o=n,this.e=i,this.v=!1,this.n=this.p=null}function r(t){if(e=t.length){for(var e,n,i=0,r=t[0];++i<e;)r.n=n=t[i],n.p=r,r=n;r.n=n=t[0],n.p=r}}var A=n(569);e.a=function(t,e,n,o,a){var c,s,u=[],g=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,n,r=t[0],o=t[e];if(Object(A.a)(r,o)){for(a.lineStart(),c=0;c<e;++c)a.point((r=t[c])[0],r[1]);return void a.lineEnd()}u.push(n=new i(r,t,null,!0)),g.push(n.o=new i(r,null,n,!1)),u.push(n=new i(o,t,null,!1)),g.push(n.o=new i(o,null,n,!0))}}),u.length){for(g.sort(e),r(u),r(g),c=0,s=g.length;c<s;++c)g[c].e=n=!n;for(var l,M,h=u[0];;){for(var d=h,f=!0;d.v;)if((d=d.n)===h)return;l=d.z,a.lineStart();do{if(d.v=d.o.v=!0,d.e){if(f)for(c=0,s=l.length;c<s;++c)a.point((M=l[c])[0],M[1]);else o(d.x,d.n.x,1,a);d=d.n}else{if(f)for(l=d.p.z,c=l.length-1;c>=0;--c)a.point((M=l[c])[0],M[1]);else o(d.x,d.p.x,-1,a);d=d.p}d=d.o,l=d.z,f=!f}while(!d.v);a.lineEnd()}}}},function(t,e,n){"use strict";var i=n(5);e.a=function(t,e){return Object(i.a)(t[0]-e[0])<i.i&&Object(i.a)(t[1]-e[1])<i.i}},function(t,e,n){"use strict";var i=n(99),r=n(136),A=n(5),o=Object(i.a)();e.a=function(t,e){var n=e[0],i=e[1],a=[Object(A.t)(n),-Object(A.g)(n),0],c=0,s=0;o.reset();for(var u=0,g=t.length;u<g;++u)if(M=(l=t[u]).length)for(var l,M,h=l[M-1],d=h[0],f=h[1]/2+A.q,I=Object(A.t)(f),E=Object(A.g)(f),T=0;T<M;++T,d=y,I=C,E=D,h=N){var N=l[T],y=N[0],p=N[1]/2+A.q,C=Object(A.t)(p),D=Object(A.g)(p),x=y-d,B=x>=0?1:-1,w=B*x,m=w>A.o,Q=I*C;if(o.add(Object(A.e)(Q*B*Object(A.t)(w),E*D+Q*Object(A.g)(w))),c+=m?x+B*A.w:x,m^d>=n^y>=n){var v=Object(r.c)(Object(r.a)(h),Object(r.a)(N));Object(r.e)(v);var j=Object(r.c)(a,v);Object(r.e)(j);var L=(m^x>=0?-1:1)*Object(A.c)(j[2]);(i>L||i===L&&(v[0]||v[1]))&&(s+=m^x>=0?1:-1)}}return(c<-A.i||c<A.i&&o<-A.i)^1&s}},function(t,e,n){"use strict";var i=n(136),r=n(563),A=n(5),o=n(569),a=n(566);e.a=function(t){function e(e,n,i,A){Object(r.a)(A,t,l,i,e,n)}function n(t,e){return Object(A.g)(t)*Object(A.g)(e)>g}function c(t){var e,i,r,a,c;return{lineStart:function(){a=r=!1,c=1},point:function(g,l){var d,f=[g,l],I=n(g,l),E=M?I?0:u(g,l):I?u(g+(g<0?A.o:-A.o),l):0;if(!e&&(a=r=I)&&t.lineStart(),I!==r&&(!(d=s(e,f))||Object(o.a)(e,d)||Object(o.a)(f,d))&&(f[0]+=A.i,f[1]+=A.i,I=n(f[0],f[1])),I!==r)c=0,I?(t.lineStart(),d=s(f,e),t.point(d[0],d[1])):(d=s(e,f),t.point(d[0],d[1]),t.lineEnd()),e=d;else if(h&&e&&M^I){var T;E&i||!(T=s(f,e,!0))||(c=0,M?(t.lineStart(),t.point(T[0][0],T[0][1]),t.point(T[1][0],T[1][1]),t.lineEnd()):(t.point(T[1][0],T[1][1]),t.lineEnd(),t.lineStart(),t.point(T[0][0],T[0][1])))}!I||e&&Object(o.a)(e,f)||t.point(f[0],f[1]),e=f,r=I,i=E},lineEnd:function(){r&&t.lineEnd(),e=null},clean:function(){return c|(a&&r)<<1}}}function s(t,e,n){var r=Object(i.a)(t),o=Object(i.a)(e),a=[1,0,0],c=Object(i.c)(r,o),s=Object(i.d)(c,c),u=c[0],l=s-u*u;if(!l)return!n&&t;var M=g*s/l,h=-g*u/l,d=Object(i.c)(a,c),f=Object(i.f)(a,M),I=Object(i.f)(c,h);Object(i.b)(f,I);var E=d,T=Object(i.d)(f,E),N=Object(i.d)(E,E),y=T*T-N*(Object(i.d)(f,f)-1);if(!(y<0)){var p=Object(A.u)(y),C=Object(i.f)(E,(-T-p)/N);if(Object(i.b)(C,f),C=Object(i.g)(C),!n)return C;var D,x=t[0],B=e[0],w=t[1],m=e[1];B<x&&(D=x,x=B,B=D);var Q=B-x,v=Object(A.a)(Q-A.o)<A.i,j=v||Q<A.i;if(!v&&m<w&&(D=w,w=m,m=D),j?v?w+m>0^C[1]<(Object(A.a)(C[0]-x)<A.i?w:m):w<=C[1]&&C[1]<=m:Q>A.o^(x<=C[0]&&C[0]<=B)){var L=Object(i.f)(E,(-T+p)/N);return Object(i.b)(L,f),[C,Object(i.g)(L)]}}}function u(e,n){var i=M?t:A.o-t,r=0;return e<-i?r|=1:e>i&&(r|=2),n<-i?r|=4:n>i&&(r|=8),r}var g=Object(A.g)(t),l=6*A.r,M=g>0,h=Object(A.a)(g)>A.i;return Object(a.a)(n,c,e,M?[0,-t]:[-A.o,t-A.o])}},function(t,e,n){"use strict";var i=n(573),r=[null,null],A={type:"LineString",coordinates:r};e.a=function(t,e){return r[0]=t,r[1]=e,Object(i.a)(A)}},function(t,e,n){"use strict";function i(){d.point=A,d.lineEnd=r}function r(){d.point=d.lineEnd=l.a}function A(t,e){t*=g.r,e*=g.r,a=t,c=Object(g.t)(e),s=Object(g.g)(e),d.point=o}function o(t,e){t*=g.r,e*=g.r;var n=Object(g.t)(e),i=Object(g.g)(e),r=Object(g.a)(t-a),A=Object(g.g)(r),o=Object(g.t)(r),u=i*o,l=s*n-c*i*A,M=c*n+s*i*A;h.add(Object(g.e)(Object(g.u)(u*u+l*l),M)),a=t,c=n,s=i}var a,c,s,u=n(99),g=n(5),l=n(64),M=n(87),h=Object(u.a)(),d={sphere:l.a,point:l.a,lineStart:i,lineEnd:l.a,polygonStart:l.a,polygonEnd:l.a};e.a=function(t){return h.reset(),Object(M.a)(t,d),+h}},function(t,e,n){"use strict";function i(t,e){t<A&&(A=t),t>a&&(a=t),e<o&&(o=e),e>c&&(c=e)}var r=n(64),A=1/0,o=A,a=-A,c=a,s={point:i,lineStart:r.a,lineEnd:r.a,polygonStart:r.a,polygonEnd:r.a,result:function(){var t=[[A,o],[a,c]];return a=c=-(o=A=1/0),t}};e.a=s},function(t,e,n){"use strict";var i=n(307);e.a=function(){return Object(i.b)().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}},function(t,e,n){"use strict";function i(t,e){return[t,e]}e.b=i;var r=n(46);i.invert=i,e.a=function(){return Object(r.a)(i).scale(152.63)}},function(t,e,n){"use strict";function i(t){return function(e){var n,i,A=e.length,o=new Array(A),a=new Array(A),c=new Array(A);for(n=0;n<A;++n)i=Object(r.f)(e[n]),o[n]=i.r||0,a[n]=i.g||0,c[n]=i.b||0;return o=t(o),a=t(a),c=t(c),i.opacity=1,function(t){return i.r=o(t),i.g=a(t),i.b=c(t),i+""}}}n.d(e,"b",function(){return c}),n.d(e,"c",function(){return s});var r=n(15),A=n(312),o=n(578),a=n(138);e.a=function t(e){function n(t,e){var n=i((t=Object(r.f)(t)).r,(e=Object(r.f)(e)).r),A=i(t.g,e.g),o=i(t.b,e.b),c=Object(a.a)(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=A(e),t.b=o(e),t.opacity=c(e),t+""}}var i=Object(a.b)(e);return n.gamma=t,n}(1);var c=i(A.b),s=i(o.a)},function(t,e,n){"use strict";var i=n(312);e.a=function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),A=t[(r+e-1)%e],o=t[r%e],a=t[(r+1)%e],c=t[(r+2)%e];return Object(i.a)((n-r/e)*e,A,o,a,c)}}},function(t,e,n){"use strict";e.a=function(t){return function(){return t}}},function(t,e,n){"use strict";var i=n(311);e.a=function(t,e){var n,r=e?e.length:0,A=t?Math.min(r,t.length):0,o=new Array(A),a=new Array(r);for(n=0;n<A;++n)o[n]=Object(i.a)(t[n],e[n]);for(;n<r;++n)a[n]=e[n];return function(t){for(n=0;n<A;++n)a[n]=o[n](t);return a}}},function(t,e,n){"use strict";e.a=function(t,e){var n=new Date;return t=+t,e-=t,function(i){return n.setTime(t+e*i),n}}},function(t,e,n){"use strict";var i=n(311);e.a=function(t,e){var n,r={},A={};null!==t&&"object"==typeof t||(t={}),null!==e&&"object"==typeof e||(e={});for(n in e)n in t?r[n]=Object(i.a)(t[n],e[n]):A[n]=e[n];return function(t){for(n in r)A[n]=r[n](t);return A}}},function(t,e,n){"use strict";function i(t){return function(){return t}}function r(t){return function(e){return t(e)+""}}var A=n(203),o=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,a=new RegExp(o.source,"g");e.a=function(t,e){var n,c,s,u=o.lastIndex=a.lastIndex=0,g=-1,l=[],M=[];for(t+="",e+="";(n=o.exec(t))&&(c=a.exec(e));)(s=c.index)>u&&(s=e.slice(u,s),l[g]?l[g]+=s:l[++g]=s),(n=n[0])===(c=c[0])?l[g]?l[g]+=c:l[++g]=c:(l[++g]=null,M.push({i:g,x:Object(A.a)(n,c)})),u=a.lastIndex;return u<e.length&&(s=e.slice(u),l[g]?l[g]+=s:l[++g]=s),l.length<2?M[0]?r(M[0].x):i(e):(e=M.length,function(t){for(var n,i=0;i<e;++i)l[(n=M[i]).i]=n.x(t);return l.join("")})}},function(t,e,n){"use strict";var i=n(100);e.a=function t(e){function n(t,n){var i,r;return t=null==t?0:+t,n=null==n?1:+n,function(){var A;if(null!=i)A=i,i=null;else do{i=2*e()-1,A=2*e()-1,r=i*i+A*A}while(!r||r>1);return t+n*A*Math.sqrt(-2*Math.log(r)/r)}}return n.source=t,n}(i.a)},function(t,e,n){"use strict";var i=n(100);e.a=function t(e){function n(t){return function(){for(var n=0,i=0;i<t;++i)n+=e();return n}}return n.source=t,n}(i.a)},function(t,e,n){"use strict";function i(t,e){return function(n){return t(n.responseText,e)}}var r=n(313);e.a=function(t,e){return function(n,A,o){arguments.length<3&&(o=A,A=null);var a=Object(r.a)(n).mimeType(t);return a.row=function(t){return arguments.length?a.response(i(e,A=t)):A},a.row(A),o?a.get(o):a}}},function(t,e,n){"use strict";function i(t){function e(e){var i=e+"",r=n.get(i);if(!r){if(c!==o)return c;n.set(i,r=a.push(e))}return t[(r-1)%t.length]}var n=Object(r.map)(),a=[],c=o;return t=null==t?[]:A.b.call(t),e.domain=function(t){if(!arguments.length)return a.slice();a=[],n=Object(r.map)();for(var i,A,o=-1,c=t.length;++o<c;)n.has(A=(i=t[o])+"")||n.set(A,a.push(i));return e},e.range=function(n){return arguments.length?(t=A.b.call(n),e):t.slice()},e.unknown=function(t){return arguments.length?(c=t,e):c},e.copy=function(){return i().domain(a).range(t).unknown(c)},e}n.d(e,"b",function(){return o}),e.a=i;var r=n(45),A=n(88),o={name:"implicit"}},function(t,e,n){"use strict";e.a=function(t){return+t}},function(t,e,n){"use strict";e.a=function(t,e){t=t.slice();var n,i=0,r=t.length-1,A=t[i],o=t[r];return o<A&&(n=i,i=r,r=n,n=A,A=o,o=n),t[i]=e.floor(A),t[r]=e.ceil(o),t}},function(t,e,n){"use strict";function i(t){return new Date(t)}function r(t){return t instanceof Date?+t:+new Date(+t)}function A(t,e,n,c,s,N,y,p,C){function D(i){return(y(i)<i?Q:N(i)<i?v:s(i)<i?j:c(i)<i?L:e(i)<i?n(i)<i?S:Y:t(i)<i?b:O)(i)}function x(e,n,i,r){if(null==e&&(e=10),"number"==typeof e){var A=Math.abs(i-n)/e,a=Object(o.e)(function(t){return t[2]}).right(z,A);a===z.length?(r=Object(o.A)(n/T,i/T,e),e=t):a?(a=z[A/z[a-1][2]<z[a][2]/A?a-1:a],r=a[1],e=a[0]):(r=Math.max(Object(o.A)(n,i,e),1),e=p)}return null==r?e:e.every(r)}var B=Object(g.b)(g.c,a.m),w=B.invert,m=B.domain,Q=C(".%L"),v=C(":%S"),j=C("%I:%M"),L=C("%I %p"),S=C("%a %d"),Y=C("%b %d"),b=C("%B"),O=C("%Y"),z=[[y,1,M],[y,5,5*M],[y,15,15*M],[y,30,30*M],[N,1,h],[N,5,5*h],[N,15,15*h],[N,30,30*h],[s,1,d],[s,3,3*d],[s,6,6*d],[s,12,12*d],[c,1,f],[c,2,2*f],[n,1,I],[e,1,E],[e,3,3*E],[t,1,T]];return B.invert=function(t){return new Date(w(t))},B.domain=function(t){return arguments.length?m(u.a.call(t,r)):m().map(i)},B.ticks=function(t,e){var n,i=m(),r=i[0],A=i[i.length-1],o=A<r;return o&&(n=r,r=A,A=n),n=x(t,r,A,e),n=n?n.range(r,A+1):[],o?n.reverse():n},B.tickFormat=function(t,e){return null==e?D:C(e)},B.nice=function(t,e){var n=m();return(t=x(t,n[0],n[n.length-1],e))?m(Object(l.a)(n,t)):B},B.copy=function(){return Object(g.a)(B,A(t,e,n,c,s,N,y,p,C))},B}e.a=A;var o=n(35),a=n(47),c=n(206),s=n(315),u=n(88),g=n(205),l=n(589),M=1e3,h=60*M,d=60*h,f=24*d,I=7*f,E=30*f,T=365*f;e.b=function(){return A(c.D,c.n,c.B,c.a,c.e,c.j,c.r,c.h,s.c).domain([new Date(2e3,0,1),new Date(2e3,0,2)])}},function(t,e,n){"use strict";function i(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function r(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function A(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}function o(t){function e(t,e){return function(n){var i,r,A,o=[],a=-1,c=0,s=t.length;for(n instanceof Date||(n=new Date(+n));++a<s;)37===t.charCodeAt(a)&&(o.push(t.slice(c,a)),null!=(r=ht[i=t.charAt(++a)])?i=t.charAt(++a):r="e"===i?" ":"0",(A=e[i])&&(i=A(n,r)),o.push(i),c=a+1);return o.push(t.slice(c,a)),o.join("")}}function n(t,e){return function(n){var i,a,c=A(1900),s=o(c,t,n+="",0);if(s!=n.length)return null;if("Q"in c)return new Date(c.Q);if("p"in c&&(c.H=c.H%12+12*c.p),"V"in c){if(c.V<1||c.V>53)return null;"w"in c||(c.w=1),"Z"in c?(i=r(A(c.y)),a=i.getUTCDay(),i=a>4||0===a?Mt.P.ceil(i):Object(Mt.P)(i),i=Mt.F.offset(i,7*(c.V-1)),c.y=i.getUTCFullYear(),c.m=i.getUTCMonth(),c.d=i.getUTCDate()+(c.w+6)%7):(i=e(A(c.y)),a=i.getDay(),i=a>4||0===a?Mt.l.ceil(i):Object(Mt.l)(i),i=Mt.a.offset(i,7*(c.V-1)),c.y=i.getFullYear(),c.m=i.getMonth(),c.d=i.getDate()+(c.w+6)%7)}else("W"in c||"U"in c)&&("w"in c||(c.w="u"in c?c.u%7:"W"in c?1:0),a="Z"in c?r(A(c.y)).getUTCDay():e(A(c.y)).getDay(),c.m=0,c.d="W"in c?(c.w+6)%7+7*c.W-(a+5)%7:c.w+7*c.U-(a+6)%7);return"Z"in c?(c.H+=c.Z/100|0,c.M+=c.Z%100,r(c)):e(c)}}function o(t,e,n,i){for(var r,A,o=0,a=e.length,c=n.length;o<a;){if(i>=c)return-1;if(37===(r=e.charCodeAt(o++))){if(r=e.charAt(o++),!(A=Kt[r in ht?e.charAt(o++):r])||(i=A(t,n,i))<0)return-1}else if(r!=n.charCodeAt(i++))return-1}return i}function a(t,e,n){var i=Ft.exec(e.slice(n));return i?(t.p=kt[i[0].toLowerCase()],n+i[0].length):-1}function c(t,e,n){var i=Ht.exec(e.slice(n));return i?(t.w=Jt[i[0].toLowerCase()],n+i[0].length):-1}function dt(t,e,n){var i=Rt.exec(e.slice(n));return i?(t.w=Gt[i[0].toLowerCase()],n+i[0].length):-1}function ft(t,e,n){var i=Vt.exec(e.slice(n));return i?(t.m=Wt[i[0].toLowerCase()],n+i[0].length):-1}function It(t,e,n){var i=Pt.exec(e.slice(n));return i?(t.m=Xt[i[0].toLowerCase()],n+i[0].length):-1}function Et(t,e,n){return o(t,jt,e,n)}function Tt(t,e,n){return o(t,Lt,e,n)}function Nt(t,e,n){return o(t,St,e,n)}function yt(t){return Ot[t.getDay()]}function pt(t){return bt[t.getDay()]}function Ct(t){return Ut[t.getMonth()]}function Dt(t){return zt[t.getMonth()]}function xt(t){return Yt[+(t.getHours()>=12)]}function Bt(t){return Ot[t.getUTCDay()]}function wt(t){return bt[t.getUTCDay()]}function mt(t){return Ut[t.getUTCMonth()]}function Qt(t){return zt[t.getUTCMonth()]}function vt(t){return Yt[+(t.getUTCHours()>=12)]}var jt=t.dateTime,Lt=t.date,St=t.time,Yt=t.periods,bt=t.days,Ot=t.shortDays,zt=t.months,Ut=t.shortMonths,Ft=s(Yt),kt=u(Yt),Rt=s(bt),Gt=u(bt),Ht=s(Ot),Jt=u(Ot),Pt=s(zt),Xt=u(zt),Vt=s(Ut),Wt=u(Ut),_t={a:yt,A:pt,b:Ct,B:Dt,c:null,d:v,e:v,f:b,H:j,I:L,j:S,L:Y,m:O,M:z,p:xt,Q:gt,s:lt,S:U,u:F,U:k,V:R,w:G,W:H,x:null,X:null,y:J,Y:P,Z:X,"%":ut},Zt={a:Bt,A:wt,b:mt,B:Qt,c:null,d:V,e:V,f:q,H:W,I:_,j:Z,L:K,m:$,M:tt,p:vt,Q:gt,s:lt,S:et,u:nt,U:it,V:rt,w:At,W:ot,x:null,X:null,y:at,Y:ct,Z:st,"%":ut},Kt={a:c,A:dt,b:ft,B:It,c:Et,d:N,e:N,f:B,H:p,I:p,j:y,L:x,m:T,M:C,p:a,Q:m,s:Q,S:D,u:l,U:M,V:h,w:g,W:d,x:Tt,X:Nt,y:I,Y:f,Z:E,"%":w};return _t.x=e(Lt,_t),_t.X=e(St,_t),_t.c=e(jt,_t),Zt.x=e(Lt,Zt),Zt.X=e(St,Zt),Zt.c=e(jt,Zt),{format:function(t){var n=e(t+="",_t);return n.toString=function(){return t},n},parse:function(t){var e=n(t+="",i);return e.toString=function(){return t},e},utcFormat:function(t){var n=e(t+="",Zt);return n.toString=function(){return t},n},utcParse:function(t){var e=n(t,r);return e.toString=function(){return t},e}}}function a(t,e,n){var i=t<0?"-":"",r=(i?-t:t)+"",A=r.length;return i+(A<n?new Array(n-A+1).join(e)+r:r)}function c(t){return t.replace(It,"\\$&")}function s(t){return new RegExp("^(?:"+t.map(c).join("|")+")","i")}function u(t){for(var e={},n=-1,i=t.length;++n<i;)e[t[n].toLowerCase()]=n;return e}function g(t,e,n){var i=dt.exec(e.slice(n,n+1));return i?(t.w=+i[0],n+i[0].length):-1}function l(t,e,n){var i=dt.exec(e.slice(n,n+1));return i?(t.u=+i[0],n+i[0].length):-1}function M(t,e,n){var i=dt.exec(e.slice(n,n+2));return i?(t.U=+i[0],n+i[0].length):-1}function h(t,e,n){var i=dt.exec(e.slice(n,n+2));return i?(t.V=+i[0],n+i[0].length):-1}function d(t,e,n){var i=dt.exec(e.slice(n,n+2));return i?(t.W=+i[0],n+i[0].length):-1}function f(t,e,n){var i=dt.exec(e.slice(n,n+4));return i?(t.y=+i[0],n+i[0].length):-1}function I(t,e,n){var i=dt.exec(e.slice(n,n+2));return i?(t.y=+i[0]+(+i[0]>68?1900:2e3),n+i[0].length):-1}function E(t,e,n){var i=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return i?(t.Z=i[1]?0:-(i[2]+(i[3]||"00")),n+i[0].length):-1}function T(t,e,n){var i=dt.exec(e.slice(n,n+2));return i?(t.m=i[0]-1,n+i[0].length):-1}function N(t,e,n){var i=dt.exec(e.slice(n,n+2));return i?(t.d=+i[0],n+i[0].length):-1}function y(t,e,n){var i=dt.exec(e.slice(n,n+3));return i?(t.m=0,t.d=+i[0],n+i[0].length):-1}function p(t,e,n){var i=dt.exec(e.slice(n,n+2));return i?(t.H=+i[0],n+i[0].length):-1}function C(t,e,n){var i=dt.exec(e.slice(n,n+2));return i?(t.M=+i[0],n+i[0].length):-1}function D(t,e,n){var i=dt.exec(e.slice(n,n+2));return i?(t.S=+i[0],n+i[0].length):-1}function x(t,e,n){var i=dt.exec(e.slice(n,n+3));return i?(t.L=+i[0],n+i[0].length):-1}function B(t,e,n){var i=dt.exec(e.slice(n,n+6));return i?(t.L=Math.floor(i[0]/1e3),n+i[0].length):-1}function w(t,e,n){var i=ft.exec(e.slice(n,n+1));return i?n+i[0].length:-1}function m(t,e,n){var i=dt.exec(e.slice(n));return i?(t.Q=+i[0],n+i[0].length):-1}function Q(t,e,n){var i=dt.exec(e.slice(n));return i?(t.Q=1e3*+i[0],n+i[0].length):-1}function v(t,e){return a(t.getDate(),e,2)}function j(t,e){return a(t.getHours(),e,2)}function L(t,e){return a(t.getHours()%12||12,e,2)}function S(t,e){return a(1+Mt.a.count(Object(Mt.D)(t),t),e,3)}function Y(t,e){return a(t.getMilliseconds(),e,3)}function b(t,e){return Y(t,e)+"000"}function O(t,e){return a(t.getMonth()+1,e,2)}function z(t,e){return a(t.getMinutes(),e,2)}function U(t,e){return a(t.getSeconds(),e,2)}function F(t){var e=t.getDay();return 0===e?7:e}function k(t,e){return a(Mt.t.count(Object(Mt.D)(t),t),e,2)}function R(t,e){var n=t.getDay();return t=n>=4||0===n?Object(Mt.v)(t):Mt.v.ceil(t),a(Mt.v.count(Object(Mt.D)(t),t)+(4===Object(Mt.D)(t).getDay()),e,2)}function G(t){return t.getDay()}function H(t,e){return a(Mt.l.count(Object(Mt.D)(t),t),e,2)}function J(t,e){return a(t.getFullYear()%100,e,2)}function P(t,e){return a(t.getFullYear()%1e4,e,4)}function X(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+a(e/60|0,"0",2)+a(e%60,"0",2)}function V(t,e){return a(t.getUTCDate(),e,2)}function W(t,e){return a(t.getUTCHours(),e,2)}function _(t,e){return a(t.getUTCHours()%12||12,e,2)}function Z(t,e){return a(1+Mt.F.count(Object(Mt._7)(t),t),e,3)}function K(t,e){return a(t.getUTCMilliseconds(),e,3)}function q(t,e){return K(t,e)+"000"}function $(t,e){return a(t.getUTCMonth()+1,e,2)}function tt(t,e){return a(t.getUTCMinutes(),e,2)}function et(t,e){return a(t.getUTCSeconds(),e,2)}function nt(t){var e=t.getUTCDay();return 0===e?7:e}function it(t,e){return a(Mt.X.count(Object(Mt._7)(t),t),e,2)}function rt(t,e){var n=t.getUTCDay();return t=n>=4||0===n?Object(Mt.Z)(t):Mt.Z.ceil(t),a(Mt.Z.count(Object(Mt._7)(t),t)+(4===Object(Mt._7)(t).getUTCDay()),e,2)}function At(t){return t.getUTCDay()}function ot(t,e){return a(Mt.P.count(Object(Mt._7)(t),t),e,2)}function at(t,e){return a(t.getUTCFullYear()%100,e,2)}function ct(t,e){return a(t.getUTCFullYear()%1e4,e,4)}function st(){return"+0000"}function ut(){return"%"}function gt(t){return+t}function lt(t){return Math.floor(+t/1e3)}e.a=o;var Mt=n(206),ht={"-":"",_:" ",0:"0"},dt=/^\s*\d+/,ft=/^%/,It=/[\\^$*+?|[\]().{}]/g},function(t,e,n){"use strict";function i(t){return t.toISOString()}n.d(e,"b",function(){return A});var r=n(316),A="%Y-%m-%dT%H:%M:%S.%LZ",o=Date.prototype.toISOString?i:Object(r.d)(A);e.a=o},function(t,e,n){"use strict";var i=(n(1454),n(65));n.d(e,"c",function(){return i.b});var r=n(1473);n.d(e,"a",function(){return r.a});var A=n(594);n.d(e,"b",function(){return A.a})},function(t,e,n){"use strict";var i=n(44);e.a=function(t,e){var n,r,A,o=t.__transition,a=!0;if(o){e=null==e?null:e+"";for(A in o)(n=o[A]).name===e?(r=n.state>i.d&&n.state<i.b,n.state=i.a,n.timer.stop(),r&&n.on.call("interrupt",t,t.__data__,n.index,n.group),delete o[A]):a=!1;a&&delete t.__transition}}},function(t,e,n){"use strict";var i=n(15),r=n(47);e.a=function(t,e){var n;return("number"==typeof e?r.m:e instanceof i.a?r.o:(n=Object(i.a)(e))?(e=n,r.o):r.s)(t,e)}},function(t,e,n){"use strict";function i(t,e,n){this.k=t,this.x=e,this.y=n}function r(t){return t.__zoom||A}e.a=i,n.d(e,"c",function(){return A}),e.b=r,i.prototype={constructor:i,scale:function(t){return 1===t?this:new i(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new i(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var A=new i(1,0,0);r.prototype=i.prototype},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(13),s=i(c),u=n(57),g=i(u),l=n(20),M=i(l),h=n(317),d=i(h),f=n(48),I=i(f),E=n(102),T=function(t){function e(t,n){r(this,e);var i=A(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return i.result=n.result,i.trend=n.trend,void 0===i.result&&console.error("No result passed to error bullet."),void 0===i.trend&&console.error("No trend passed to error bullet."),i}return o(e,t),a(e,[{key:"chartData",value:function(){return{ranges:this.trend.incompleteThreshold?[0,0,this.trend.max]:[this.trend.warning,this.trend.fail,this.trend.max],measures:[Math.round(1e4*Math.min(this.result.current,this.trend.max))/1e4],markerLines:[]}}},{key:"render",value:function(){d.default.addGraph({generate:g.default.bind(function(){var t=d.default.models.bulletChart().margin({top:5,right:20,bottom:20,left:10});return t.color((0,E.computeColor)(this.trend,this.result.current)),M.default.select(this.el).datum(this.chartData()).call(t),t.bullet.dispatch.on("elementMouseover.tooltip",null),t.bullet.dispatch.on("elementMouseover.tooltip",g.default.bind(function(e){e.series={key:"Current value",value:Math.round(1e4*this.result.current)/1e4,color:t.color()},t.tooltip.data(e).hidden(!1)},this)),t},this),callback:g.default.bind(function(t){d.default.utils.windowResize(g.default.bind(function(){var e=(0,I.default)(this.el.parentNode),n=e.width(),i=e.height();t.width(n).height(i),M.default.select(this.el).attr("width",n).attr("height",i).transition().duration(0).call(t)},this))},this)})}}]),e}(s.default);e.default=T},function(t,e){var n={utf8:{stringToBytes:function(t){return n.bin.stringToBytes(unescape(encodeURIComponent(t)))},bytesToString:function(t){return decodeURIComponent(escape(n.bin.bytesToString(t)))}},bin:{stringToBytes:function(t){for(var e=[],n=0;n<t.length;n++)e.push(255&t.charCodeAt(n));return e},bytesToString:function(t){for(var e=[],n=0;n<t.length;n++)e.push(String.fromCharCode(t[n]));return e.join("")}}};t.exports=n},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i={fail:"rgb(204, 0, 0)",bad:"rgb(241, 194, 50)",good:"rgb(147, 196, 125)",incomplete:"rgb(28, 106, 133)"};e.default=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(601),r=(n.n(i),n(638)),A=(n.n(r),n(648)),o=(n.n(A),n(688)),a=(n.n(o),n(1227)),c=(n.n(a),n(1231)),s=(n.n(c),n(1483)),u=(n.n(s),n(1486)),g=(n.n(u),n(1506)),l=(n.n(g),n(1509)),M=(n.n(l),n(1521)),h=(n.n(M),n(30)),d=n.n(h);for(var f in h)["default","default"].indexOf(f)<0&&function(t){n.d(e,t,function(){return h[t]})}(f);e.default=d.a},function(t,e,n){"use strict";var i=n(30),r=function(t){return t&&t.__esModule?t:{default:t}}(i),A=n(635),o=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(A);Object.entries(o).forEach(function(t){return r.default.register(t[1],t[0])})},function(t,e,n){"use strict";function i(){return new r}function r(){this._="@"+(++A).toString(36)}e.a=i;var A=0;r.prototype=i.prototype={constructor:r,get:function(t){for(var e=this._;!(e in t);)if(!(t=t.parentNode))return;return t[e]},set:function(t,e){return t[this._]=e},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}}},function(t,e,n){"use strict";var i=n(211),r=n(213);e.a=function(t){var e=Object(i.a)();return e.changedTouches&&(e=e.changedTouches[0]),Object(r.a)(t,e)}},function(t,e,n){"use strict";var i=n(37);e.a=function(t){return"string"==typeof t?new i.a([[document.querySelector(t)]],[document.documentElement]):new i.a([[t]],i.c)}},function(t,e,n){"use strict";var i=n(37),r=n(214);e.a=function(t){"function"!=typeof t&&(t=Object(r.a)(t));for(var e=this._groups,n=e.length,A=new Array(n),o=0;o<n;++o)for(var a,c,s=e[o],u=s.length,g=A[o]=new Array(u),l=0;l<u;++l)(a=s[l])&&(c=t.call(a,a.__data__,l,s))&&("__data__"in a&&(c.__data__=a.__data__),g[l]=c);return new i.a(A,this._parents)}},function(t,e,n){"use strict";var i=n(37),r=n(319);e.a=function(t){"function"!=typeof t&&(t=Object(r.a)(t));for(var e=this._groups,n=e.length,A=[],o=[],a=0;a<n;++a)for(var c,s=e[a],u=s.length,g=0;g<u;++g)(c=s[g])&&(A.push(t.call(c,c.__data__,g,s)),o.push(c));return new i.a(A,o)}},function(t,e,n){"use strict";var i=n(37),r=n(318);e.a=function(t){"function"!=typeof t&&(t=Object(r.a)(t));for(var e=this._groups,n=e.length,A=new Array(n),o=0;o<n;++o)for(var a,c=e[o],s=c.length,u=A[o]=[],g=0;g<s;++g)(a=c[g])&&t.call(a,a.__data__,g,c)&&u.push(a);return new i.a(A,this._parents)}},function(t,e,n){"use strict";function i(t,e,n,i,r,A){for(var a,c=0,s=e.length,u=A.length;c<u;++c)(a=e[c])?(a.__data__=A[c],i[c]=a):n[c]=new o.a(t,A[c]);for(;c<s;++c)(a=e[c])&&(r[c]=a)}function r(t,e,n,i,r,A,a){var s,u,g,l={},M=e.length,h=A.length,d=new Array(M);for(s=0;s<M;++s)(u=e[s])&&(d[s]=g=c+a.call(u,u.__data__,s,e),g in l?r[s]=u:l[g]=u);for(s=0;s<h;++s)g=c+a.call(t,A[s],s,A),(u=l[g])?(i[s]=u,u.__data__=A[s],l[g]=null):n[s]=new o.a(t,A[s]);for(s=0;s<M;++s)(u=e[s])&&l[d[s]]===u&&(r[s]=u)}var A=n(37),o=n(320),a=n(609),c="$";e.a=function(t,e){if(!t)return I=new Array(this.size()),M=-1,this.each(function(t){I[++M]=t}),I;var n=e?r:i,o=this._parents,c=this._groups;"function"!=typeof t&&(t=Object(a.a)(t));for(var s=c.length,u=new Array(s),g=new Array(s),l=new Array(s),M=0;M<s;++M){var h=o[M],d=c[M],f=d.length,I=t.call(h,h&&h.__data__,M,o),E=I.length,T=g[M]=new Array(E),N=u[M]=new Array(E);n(h,d,T,N,l[M]=new Array(f),I,e);for(var y,p,C=0,D=0;C<E;++C)if(y=T[C]){for(C>=D&&(D=C+1);!(p=N[D])&&++D<E;);y._next=p||null}}return u=new A.a(u,o),u._enter=g,u._exit=l,u}},function(t,e,n){"use strict";e.a=function(t){return function(){return t}}},function(t,e,n){"use strict";var i=n(321),r=n(37);e.a=function(){return new r.a(this._exit||this._groups.map(i.a),this._parents)}},function(t,e,n){"use strict";var i=n(37);e.a=function(t){for(var e=this._groups,n=t._groups,r=e.length,A=n.length,o=Math.min(r,A),a=new Array(r),c=0;c<o;++c)for(var s,u=e[c],g=n[c],l=u.length,M=a[c]=new Array(l),h=0;h<l;++h)(s=u[h]||g[h])&&(M[h]=s);for(;c<r;++c)a[c]=e[c];return new i.a(a,this._parents)}},function(t,e,n){"use strict";e.a=function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var i,r=t[e],A=r.length-1,o=r[A];--A>=0;)(i=r[A])&&(o&&o!==i.nextSibling&&o.parentNode.insertBefore(i,o),o=i);return this}},function(t,e,n){"use strict";function i(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}var r=n(37);e.a=function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=i);for(var n=this._groups,A=n.length,o=new Array(A),a=0;a<A;++a){for(var c,s=n[a],u=s.length,g=o[a]=new Array(u),l=0;l<u;++l)(c=s[l])&&(g[l]=c);g.sort(e)}return new r.a(o,this._parents).order()}},function(t,e,n){"use strict";e.a=function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}},function(t,e,n){"use strict";e.a=function(){var t=new Array(this.size()),e=-1;return this.each(function(){t[++e]=this}),t}},function(t,e,n){"use strict";e.a=function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var i=t[e],r=0,A=i.length;r<A;++r){var o=i[r];if(o)return o}return null}},function(t,e,n){"use strict";e.a=function(){var t=0;return this.each(function(){++t}),t}},function(t,e,n){"use strict";e.a=function(){return!this.node()}},function(t,e,n){"use strict";e.a=function(t){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var r,A=e[n],o=0,a=A.length;o<a;++o)(r=A[o])&&t.call(r,r.__data__,o,A);return this}},function(t,e,n){"use strict";function i(t){return function(){this.removeAttribute(t)}}function r(t){return function(){this.removeAttributeNS(t.space,t.local)}}function A(t,e){return function(){this.setAttribute(t,e)}}function o(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function a(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function c(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}var s=n(209);e.a=function(t,e){var n=Object(s.a)(t);if(arguments.length<2){var u=this.node();return n.local?u.getAttributeNS(n.space,n.local):u.getAttribute(n)}return this.each((null==e?n.local?r:i:"function"==typeof e?n.local?c:a:n.local?o:A)(n,e))}},function(t,e,n){"use strict";function i(t){return function(){delete this[t]}}function r(t,e){return function(){this[t]=e}}function A(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}e.a=function(t,e){return arguments.length>1?this.each((null==e?i:"function"==typeof e?A:r)(t,e)):this.node()[t]}},function(t,e,n){"use strict";function i(t){return t.trim().split(/^|\s+/)}function r(t){return t.classList||new A(t)}function A(t){this._node=t,this._names=i(t.getAttribute("class")||"")}function o(t,e){for(var n=r(t),i=-1,A=e.length;++i<A;)n.add(e[i])}function a(t,e){for(var n=r(t),i=-1,A=e.length;++i<A;)n.remove(e[i])}function c(t){return function(){o(this,t)}}function s(t){return function(){a(this,t)}}function u(t,e){return function(){(e.apply(this,arguments)?o:a)(this,t)}}A.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}},e.a=function(t,e){var n=i(t+"");if(arguments.length<2){for(var A=r(this.node()),o=-1,a=n.length;++o<a;)if(!A.contains(n[o]))return!1;return!0}return this.each(("function"==typeof e?u:e?c:s)(n,e))}},function(t,e,n){"use strict";function i(){this.textContent=""}function r(t){return function(){this.textContent=t}}function A(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}e.a=function(t){return arguments.length?this.each(null==t?i:("function"==typeof t?A:r)(t)):this.node().textContent}},function(t,e,n){"use strict";function i(){this.innerHTML=""}function r(t){return function(){this.innerHTML=t}}function A(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}e.a=function(t){return arguments.length?this.each(null==t?i:("function"==typeof t?A:r)(t)):this.node().innerHTML}},function(t,e,n){"use strict";function i(){this.nextSibling&&this.parentNode.appendChild(this)}e.a=function(){return this.each(i)}},function(t,e,n){"use strict";function i(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}e.a=function(){return this.each(i)}},function(t,e,n){"use strict";var i=n(208);e.a=function(t){var e="function"==typeof t?t:Object(i.a)(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}},function(t,e,n){"use strict";function i(){return null}var r=n(208),A=n(214);e.a=function(t,e){var n="function"==typeof t?t:Object(r.a)(t),o=null==e?i:"function"==typeof e?e:Object(A.a)(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),o.apply(this,arguments)||null)})}},function(t,e,n){"use strict";function i(){var t=this.parentNode;t&&t.removeChild(this)}e.a=function(){return this.each(i)}},function(t,e,n){"use strict";e.a=function(t){return arguments.length?this.property("__data__",t):this.node().__data__}},function(t,e,n){"use strict";function i(t,e,n){var i=Object(o.a)(t),r=i.CustomEvent;"function"==typeof r?r=new r(e,n):(r=i.document.createEvent("Event"),n?(r.initEvent(e,n.bubbles,n.cancelable),r.detail=n.detail):r.initEvent(e,!1,!1)),t.dispatchEvent(r)}function r(t,e){return function(){return i(this,t,e)}}function A(t,e){return function(){return i(this,t,e.apply(this,arguments))}}var o=n(215);e.a=function(t,e){return this.each(("function"==typeof e?A:r)(t,e))}},function(t,e,n){"use strict";var i=n(37);e.a=function(t){return"string"==typeof t?new i.a([document.querySelectorAll(t)],[document.documentElement]):new i.a([null==t?[]:t],i.c)}},function(t,e,n){"use strict";var i=n(211),r=n(213);e.a=function(t,e,n){arguments.length<3&&(n=e,e=Object(i.a)().changedTouches);for(var A,o=0,a=e?e.length:0;o<a;++o)if((A=e[o]).identifier===n)return Object(r.a)(t,A);return null}},function(t,e,n){"use strict";var i=n(211),r=n(213);e.a=function(t,e){null==e&&(e=Object(i.a)().touches);for(var n=0,A=e?e.length:0,o=new Array(A);n<A;++n)o[n]=Object(r.a)(t,e[n]);return o}},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GeoDots=e.Geo=void 0;var r=n(323),A=i(r),o=n(637),a=i(o);e.Geo=A.default,e.GeoDots=a.default},function(t,e,n){!function(e,i){t.exports=i(n(20))}(0,function(t){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={exports:{},id:i,loaded:!1};return t[i].call(r.exports,r,r.exports,e),r.loaded=!0,r.exports}var n={};return e.m=t,e.c=n,e.p="dist/built",e(0)}([function(t,e,n){/**
+ * GeoJS
+ * @copyright 2013-2016, Kitware, Inc.
+ * @license Apache-2.0
+ *
+ * Bundled with the following libraries:
+ *
+ * vgl
+ * @copyright 2014-2016, Kitware, Inc.
+ * @license Apache-2.0
+ *
+ * Proj4js
+ * @copyright 2014, Mike Adair, Richard Greenwood, Didier Richard, Stephen Irons, Olivier Terral and Calvin Metcalf
+ * @license MIT
+ *
+ * gl-matrix
+ * @copyright 2015, Brandon Jones, Colin MacKenzie IV
+ * @license MIT
+ *
+ * JQuery
+ * @copyright jQuery Foundation and other contributors
+ * @license MIT
+ *
+ * earcut
+ * @copyright 2016, Mapbox
+ * @license ISC
+ */
+var i=n(1);n(2),t.exports=i.extend({camera:n(3),choroplethFeature:n(126),clock:n(133),contourFeature:n(134),domRenderer:n(135),event:n(125),feature:n(127),featureLayer:n(137),fetchQueue:n(138),fileReader:n(139),geomFeature:n(140),graphFeature:n(141),imageTile:n(142),jsonReader:n(144),layer:n(130),lineFeature:n(145),map:n(146),mapInteractor:n(217),object:n(5),osmLayer:n(219),pathFeature:n(222),planeFeature:n(223),pointFeature:n(225),polygonFeature:n(224),quadFeature:n(227),heatmapFeature:n(228),renderer:n(136),sceneObject:n(128),tile:n(143),tileCache:n(221),tileLayer:n(220),timestamp:n(129),transform:n(147),vectorFeature:n(229),inherit:n(4),version:n(230),sha:n(231),util:n(120),jQuery:i,d3:n(232),gl:n(244),canvas:n(257),gui:n(262)},n(131)),window&&!window.$&&(window.$=i),window&&!window.jQuery&&(window.jQuery=i)},function(t,e,n){var i,r;/*!
+ * jQuery JavaScript Library v2.2.3
+ * http://jquery.com/
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2016-04-05T19:26Z
+ */
+!function(e,n){"object"==typeof t&&"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return n(t)}:n(e)}("undefined"!=typeof window?window:this,function(n,A){function o(t){var e=!!t&&"length"in t&&t.length,n=ct.type(t);return"function"!==n&&!ct.isWindow(t)&&("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function a(t,e,n){if(ct.isFunction(e))return ct.grep(t,function(t,i){return!!e.call(t,i,t)!==n});if(e.nodeType)return ct.grep(t,function(t){return t===e!==n});if("string"==typeof e){if(Et.test(e))return ct.filter(e,t,n);e=ct.filter(e,t)}return ct.grep(t,function(t){return it.call(e,t)>-1!==n})}function c(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}function s(t){var e={};return ct.each(t.match(Ct)||[],function(t,n){e[n]=!0}),e}function u(){$.removeEventListener("DOMContentLoaded",u),n.removeEventListener("load",u),ct.ready()}function g(){this.expando=ct.expando+g.uid++}function l(t,e,n){var i;if(void 0===n&&1===t.nodeType)if(i="data-"+e.replace(vt,"-$&").toLowerCase(),"string"==typeof(n=t.getAttribute(i))){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:Qt.test(n)?ct.parseJSON(n):n)}catch(t){}mt.set(t,e,n)}else n=void 0;return n}function M(t,e,n,i){var r,A=1,o=20,a=i?function(){return i.cur()}:function(){return ct.css(t,e,"")},c=a(),s=n&&n[3]||(ct.cssNumber[e]?"":"px"),u=(ct.cssNumber[e]||"px"!==s&&+c)&&Lt.exec(ct.css(t,e));if(u&&u[3]!==s){s=s||u[3],n=n||[],u=+c||1;do{A=A||".5",u/=A,ct.style(t,e,u+s)}while(A!==(A=a()/c)&&1!==A&&--o)}return n&&(u=+u||+c||0,r=n[1]?u+(n[1]+1)*n[2]:+n[2],i&&(i.unit=s,i.start=u,i.end=r)),r}function h(t,e){var n=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||"*"):void 0!==t.querySelectorAll?t.querySelectorAll(e||"*"):[];return void 0===e||e&&ct.nodeName(t,e)?ct.merge([t],n):n}function d(t,e){for(var n=0,i=t.length;n<i;n++)wt.set(t[n],"globalEval",!e||wt.get(e[n],"globalEval"))}function f(t,e,n,i,r){for(var A,o,a,c,s,u,g=e.createDocumentFragment(),l=[],M=0,f=t.length;M<f;M++)if((A=t[M])||0===A)if("object"===ct.type(A))ct.merge(l,A.nodeType?[A]:A);else if(Ft.test(A)){for(o=o||g.appendChild(e.createElement("div")),a=(Ot.exec(A)||["",""])[1].toLowerCase(),c=Ut[a]||Ut._default,o.innerHTML=c[1]+ct.htmlPrefilter(A)+c[2],u=c[0];u--;)o=o.lastChild;ct.merge(l,o.childNodes),o=g.firstChild,o.textContent=""}else l.push(e.createTextNode(A));for(g.textContent="",M=0;A=l[M++];)if(i&&ct.inArray(A,i)>-1)r&&r.push(A);else if(s=ct.contains(A.ownerDocument,A),o=h(g.appendChild(A),"script"),s&&d(o),n)for(u=0;A=o[u++];)zt.test(A.type||"")&&n.push(A);return g}function I(){return!0}function E(){return!1}function T(){try{return $.activeElement}catch(t){}}function N(t,e,n,i,r,A){var o,a;if("object"==typeof e){"string"!=typeof n&&(i=i||n,n=void 0);for(a in e)N(t,a,n,i,e[a],A);return t}if(null==i&&null==r?(r=n,i=n=void 0):null==r&&("string"==typeof n?(r=i,i=void 0):(r=i,i=n,n=void 0)),!1===r)r=E;else if(!r)return t;return 1===A&&(o=r,r=function(t){return ct().off(t),o.apply(this,arguments)},r.guid=o.guid||(o.guid=ct.guid++)),t.each(function(){ct.event.add(this,e,r,i,n)})}function y(t,e){return ct.nodeName(t,"table")&&ct.nodeName(11!==e.nodeType?e:e.firstChild,"tr")?t.getElementsByTagName("tbody")[0]||t.appendChild(t.ownerDocument.createElement("tbody")):t}function p(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function C(t){var e=Xt.exec(t.type);return e?t.type=e[1]:t.removeAttribute("type"),t}function D(t,e){var n,i,r,A,o,a,c,s;if(1===e.nodeType){if(wt.hasData(t)&&(A=wt.access(t),o=wt.set(e,A),s=A.events)){delete o.handle,o.events={};for(r in s)for(n=0,i=s[r].length;n<i;n++)ct.event.add(e,r,s[r][n])}mt.hasData(t)&&(a=mt.access(t),c=ct.extend({},a),mt.set(e,c))}}function x(t,e){var n=e.nodeName.toLowerCase();"input"===n&&bt.test(t.type)?e.checked=t.checked:"input"!==n&&"textarea"!==n||(e.defaultValue=t.defaultValue)}function B(t,e,n,i){e=et.apply([],e);var r,A,o,a,c,s,u=0,g=t.length,l=g-1,M=e[0],d=ct.isFunction(M);if(d||g>1&&"string"==typeof M&&!at.checkClone&&Pt.test(M))return t.each(function(r){var A=t.eq(r);d&&(e[0]=M.call(this,r,A.html())),B(A,e,n,i)});if(g&&(r=f(e,t[0].ownerDocument,!1,t,i),A=r.firstChild,1===r.childNodes.length&&(r=A),A||i)){for(o=ct.map(h(r,"script"),p),a=o.length;u<g;u++)c=r,u!==l&&(c=ct.clone(c,!0,!0),a&&ct.merge(o,h(c,"script"))),n.call(t[u],c,u);if(a)for(s=o[o.length-1].ownerDocument,ct.map(o,C),u=0;u<a;u++)c=o[u],zt.test(c.type||"")&&!wt.access(c,"globalEval")&&ct.contains(s,c)&&(c.src?ct._evalUrl&&ct._evalUrl(c.src):ct.globalEval(c.textContent.replace(Vt,"")))}return t}function w(t,e,n){for(var i,r=e?ct.filter(e,t):t,A=0;null!=(i=r[A]);A++)n||1!==i.nodeType||ct.cleanData(h(i)),i.parentNode&&(n&&ct.contains(i.ownerDocument,i)&&d(h(i,"script")),i.parentNode.removeChild(i));return t}function m(t,e){var n=ct(e.createElement(t)).appendTo(e.body),i=ct.css(n[0],"display");return n.detach(),i}function Q(t){var e=$,n=_t[t];return n||(n=m(t,e),"none"!==n&&n||(Wt=(Wt||ct("<iframe frameborder='0' width='0' height='0'/>")).appendTo(e.documentElement),e=Wt[0].contentDocument,e.write(),e.close(),n=m(t,e),Wt.detach()),_t[t]=n),n}function v(t,e,n){var i,r,A,o,a=t.style;return n=n||qt(t),o=n?n.getPropertyValue(e)||n[e]:void 0,""!==o&&void 0!==o||ct.contains(t.ownerDocument,t)||(o=ct.style(t,e)),n&&!at.pixelMarginRight()&&Kt.test(o)&&Zt.test(e)&&(i=a.width,r=a.minWidth,A=a.maxWidth,a.minWidth=a.maxWidth=a.width=o,o=n.width,a.width=i,a.minWidth=r,a.maxWidth=A),void 0!==o?o+"":o}function j(t,e){return{get:function(){return t()?void delete this.get:(this.get=e).apply(this,arguments)}}}function L(t){if(t in Ae)return t;for(var e=t[0].toUpperCase()+t.slice(1),n=re.length;n--;)if((t=re[n]+e)in Ae)return t}function S(t,e,n){var i=Lt.exec(e);return i?Math.max(0,i[2]-(n||0))+(i[3]||"px"):e}function Y(t,e,n,i,r){for(var A=n===(i?"border":"content")?4:"width"===e?1:0,o=0;A<4;A+=2)"margin"===n&&(o+=ct.css(t,n+St[A],!0,r)),i?("content"===n&&(o-=ct.css(t,"padding"+St[A],!0,r)),"margin"!==n&&(o-=ct.css(t,"border"+St[A]+"Width",!0,r))):(o+=ct.css(t,"padding"+St[A],!0,r),"padding"!==n&&(o+=ct.css(t,"border"+St[A]+"Width",!0,r)));return o}function b(t,e,i){var r=!0,A="width"===e?t.offsetWidth:t.offsetHeight,o=qt(t),a="border-box"===ct.css(t,"boxSizing",!1,o);if($.msFullscreenElement&&n.top!==n&&t.getClientRects().length&&(A=Math.round(100*t.getBoundingClientRect()[e])),A<=0||null==A){if(A=v(t,e,o),(A<0||null==A)&&(A=t.style[e]),Kt.test(A))return A;r=a&&(at.boxSizingReliable()||A===t.style[e]),A=parseFloat(A)||0}return A+Y(t,e,i||(a?"border":"content"),r,o)+"px"}function O(t,e){for(var n,i,r,A=[],o=0,a=t.length;o<a;o++)i=t[o],i.style&&(A[o]=wt.get(i,"olddisplay"),n=i.style.display,e?(A[o]||"none"!==n||(i.style.display=""),""===i.style.display&&Yt(i)&&(A[o]=wt.access(i,"olddisplay",Q(i.nodeName)))):(r=Yt(i),"none"===n&&r||wt.set(i,"olddisplay",r?n:ct.css(i,"display"))));for(o=0;o<a;o++)i=t[o],i.style&&(e&&"none"!==i.style.display&&""!==i.style.display||(i.style.display=e?A[o]||"":"none"));return t}function z(t,e,n,i,r){return new z.prototype.init(t,e,n,i,r)}function U(){return n.setTimeout(function(){oe=void 0}),oe=ct.now()}function F(t,e){var n,i=0,r={height:t};for(e=e?1:0;i<4;i+=2-e)n=St[i],r["margin"+n]=r["padding"+n]=t;return e&&(r.opacity=r.width=t),r}function k(t,e,n){for(var i,r=(H.tweeners[e]||[]).concat(H.tweeners["*"]),A=0,o=r.length;A<o;A++)if(i=r[A].call(n,e,t))return i}function R(t,e,n){var i,r,A,o,a,c,s,u=this,g={},l=t.style,M=t.nodeType&&Yt(t),h=wt.get(t,"fxshow");n.queue||(a=ct._queueHooks(t,"fx"),null==a.unqueued&&(a.unqueued=0,c=a.empty.fire,a.empty.fire=function(){a.unqueued||c()}),a.unqueued++,u.always(function(){u.always(function(){a.unqueued--,ct.queue(t,"fx").length||a.empty.fire()})})),1===t.nodeType&&("height"in e||"width"in e)&&(n.overflow=[l.overflow,l.overflowX,l.overflowY],s=ct.css(t,"display"),"inline"===("none"===s?wt.get(t,"olddisplay")||Q(t.nodeName):s)&&"none"===ct.css(t,"float")&&(l.display="inline-block")),n.overflow&&(l.overflow="hidden",u.always(function(){l.overflow=n.overflow[0],l.overflowX=n.overflow[1],l.overflowY=n.overflow[2]}));for(i in e)if(r=e[i],ce.exec(r)){if(delete e[i],A=A||"toggle"===r,r===(M?"hide":"show")){if("show"!==r||!h||void 0===h[i])continue;M=!0}g[i]=h&&h[i]||ct.style(t,i)}else s=void 0;if(ct.isEmptyObject(g))"inline"===("none"===s?Q(t.nodeName):s)&&(l.display=s);else{h?"hidden"in h&&(M=h.hidden):h=wt.access(t,"fxshow",{}),A&&(h.hidden=!M),M?ct(t).show():u.done(function(){ct(t).hide()}),u.done(function(){var e;wt.remove(t,"fxshow");for(e in g)ct.style(t,e,g[e])});for(i in g)o=k(M?h[i]:0,i,u),i in h||(h[i]=o.start,M&&(o.end=o.start,o.start="width"===i||"height"===i?1:0))}}function G(t,e){var n,i,r,A,o;for(n in t)if(i=ct.camelCase(n),r=e[i],A=t[n],ct.isArray(A)&&(r=A[1],A=t[n]=A[0]),n!==i&&(t[i]=A,delete t[n]),(o=ct.cssHooks[i])&&"expand"in o){A=o.expand(A),delete t[i];for(n in A)n in t||(t[n]=A[n],e[n]=r)}else e[i]=r}function H(t,e,n){var i,r,A=0,o=H.prefilters.length,a=ct.Deferred().always(function(){delete c.elem}),c=function(){if(r)return!1;for(var e=oe||U(),n=Math.max(0,s.startTime+s.duration-e),i=n/s.duration||0,A=1-i,o=0,c=s.tweens.length;o<c;o++)s.tweens[o].run(A);return a.notifyWith(t,[s,A,n]),A<1&&c?n:(a.resolveWith(t,[s]),!1)},s=a.promise({elem:t,props:ct.extend({},e),opts:ct.extend(!0,{specialEasing:{},easing:ct.easing._default},n),originalProperties:e,originalOptions:n,startTime:oe||U(),duration:n.duration,tweens:[],createTween:function(e,n){var i=ct.Tween(t,s.opts,e,n,s.opts.specialEasing[e]||s.opts.easing);return s.tweens.push(i),i},stop:function(e){var n=0,i=e?s.tweens.length:0;if(r)return this;for(r=!0;n<i;n++)s.tweens[n].run(1);return e?(a.notifyWith(t,[s,1,0]),a.resolveWith(t,[s,e])):a.rejectWith(t,[s,e]),this}}),u=s.props;for(G(u,s.opts.specialEasing);A<o;A++)if(i=H.prefilters[A].call(s,t,u,s.opts))return ct.isFunction(i.stop)&&(ct._queueHooks(s.elem,s.opts.queue).stop=ct.proxy(i.stop,i)),i;return ct.map(u,k,s),ct.isFunction(s.opts.start)&&s.opts.start.call(t,s),ct.fx.timer(ct.extend(c,{elem:t,anim:s,queue:s.opts.queue})),s.progress(s.opts.progress).done(s.opts.done,s.opts.complete).fail(s.opts.fail).always(s.opts.always)}function J(t){return t.getAttribute&&t.getAttribute("class")||""}function P(t){return function(e,n){"string"!=typeof e&&(n=e,e="*");var i,r=0,A=e.toLowerCase().match(Ct)||[];if(ct.isFunction(n))for(;i=A[r++];)"+"===i[0]?(i=i.slice(1)||"*",(t[i]=t[i]||[]).unshift(n)):(t[i]=t[i]||[]).push(n)}}function X(t,e,n,i){function r(a){var c;return A[a]=!0,ct.each(t[a]||[],function(t,a){var s=a(e,n,i);return"string"!=typeof s||o||A[s]?o?!(c=s):void 0:(e.dataTypes.unshift(s),r(s),!1)}),c}var A={},o=t===me;return r(e.dataTypes[0])||!A["*"]&&r("*")}function V(t,e){var n,i,r=ct.ajaxSettings.flatOptions||{};for(n in e)void 0!==e[n]&&((r[n]?t:i||(i={}))[n]=e[n]);return i&&ct.extend(!0,t,i),t}function W(t,e,n){for(var i,r,A,o,a=t.contents,c=t.dataTypes;"*"===c[0];)c.shift(),void 0===i&&(i=t.mimeType||e.getResponseHeader("Content-Type"));if(i)for(r in a)if(a[r]&&a[r].test(i)){c.unshift(r);break}if(c[0]in n)A=c[0];else{for(r in n){if(!c[0]||t.converters[r+" "+c[0]]){A=r;break}o||(o=r)}A=A||o}if(A)return A!==c[0]&&c.unshift(A),n[A]}function _(t,e,n,i){var r,A,o,a,c,s={},u=t.dataTypes.slice();if(u[1])for(o in t.converters)s[o.toLowerCase()]=t.converters[o];for(A=u.shift();A;)if(t.responseFields[A]&&(n[t.responseFields[A]]=e),!c&&i&&t.dataFilter&&(e=t.dataFilter(e,t.dataType)),c=A,A=u.shift())if("*"===A)A=c;else if("*"!==c&&c!==A){if(!(o=s[c+" "+A]||s["* "+A]))for(r in s)if(a=r.split(" "),a[1]===A&&(o=s[c+" "+a[0]]||s["* "+a[0]])){!0===o?o=s[r]:!0!==s[r]&&(A=a[0],u.unshift(a[1]));break}if(!0!==o)if(o&&t.throws)e=o(e);else try{e=o(e)}catch(t){return{state:"parsererror",error:o?t:"No conversion from "+c+" to "+A}}}return{state:"success",data:e}}function Z(t,e,n,i){var r;if(ct.isArray(e))ct.each(e,function(e,r){n||Le.test(t)?i(t,r):Z(t+"["+("object"==typeof r&&null!=r?e:"")+"]",r,n,i)});else if(n||"object"!==ct.type(e))i(t,e);else for(r in e)Z(t+"["+r+"]",e[r],n,i)}function K(t){return ct.isWindow(t)?t:9===t.nodeType&&t.defaultView}var q=[],$=n.document,tt=q.slice,et=q.concat,nt=q.push,it=q.indexOf,rt={},At=rt.toString,ot=rt.hasOwnProperty,at={},ct=function(t,e){return new ct.fn.init(t,e)},st=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ut=/^-ms-/,gt=/-([\da-z])/gi,lt=function(t,e){return e.toUpperCase()};ct.fn=ct.prototype={jquery:"2.2.3",constructor:ct,selector:"",length:0,toArray:function(){return tt.call(this)},get:function(t){return null!=t?t<0?this[t+this.length]:this[t]:tt.call(this)},pushStack:function(t){var e=ct.merge(this.constructor(),t);return e.prevObject=this,e.context=this.context,e},each:function(t){return ct.each(this,t)},map:function(t){return this.pushStack(ct.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return this.pushStack(tt.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){var e=this.length,n=+t+(t<0?e:0);return this.pushStack(n>=0&&n<e?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:nt,sort:q.sort,splice:q.splice},ct.extend=ct.fn.extend=function(){var t,e,n,i,r,A,o=arguments[0]||{},a=1,c=arguments.length,s=!1;for("boolean"==typeof o&&(s=o,o=arguments[a]||{},a++),"object"==typeof o||ct.isFunction(o)||(o={}),a===c&&(o=this,a--);a<c;a++)if(null!=(t=arguments[a]))for(e in t)n=o[e],i=t[e],o!==i&&(s&&i&&(ct.isPlainObject(i)||(r=ct.isArray(i)))?(r?(r=!1,A=n&&ct.isArray(n)?n:[]):A=n&&ct.isPlainObject(n)?n:{},o[e]=ct.extend(s,A,i)):void 0!==i&&(o[e]=i));return o},ct.extend({expando:"jQuery"+("2.2.3"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(t){throw new Error(t)},noop:function(){},isFunction:function(t){return"function"===ct.type(t)},isArray:Array.isArray,isWindow:function(t){return null!=t&&t===t.window},isNumeric:function(t){var e=t&&t.toString();return!ct.isArray(t)&&e-parseFloat(e)+1>=0},isPlainObject:function(t){var e;if("object"!==ct.type(t)||t.nodeType||ct.isWindow(t))return!1;if(t.constructor&&!ot.call(t,"constructor")&&!ot.call(t.constructor.prototype||{},"isPrototypeOf"))return!1;for(e in t);return void 0===e||ot.call(t,e)},isEmptyObject:function(t){var e;for(e in t)return!1;return!0},type:function(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?rt[At.call(t)]||"object":typeof t},globalEval:function(t){var e,n=eval;(t=ct.trim(t))&&(1===t.indexOf("use strict")?(e=$.createElement("script"),e.text=t,$.head.appendChild(e).parentNode.removeChild(e)):n(t))},camelCase:function(t){return t.replace(ut,"ms-").replace(gt,lt)},nodeName:function(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()},each:function(t,e){var n,i=0;if(o(t))for(n=t.length;i<n&&!1!==e.call(t[i],i,t[i]);i++);else for(i in t)if(!1===e.call(t[i],i,t[i]))break;return t},trim:function(t){return null==t?"":(t+"").replace(st,"")},makeArray:function(t,e){var n=e||[];return null!=t&&(o(Object(t))?ct.merge(n,"string"==typeof t?[t]:t):nt.call(n,t)),n},inArray:function(t,e,n){return null==e?-1:it.call(e,t,n)},merge:function(t,e){for(var n=+e.length,i=0,r=t.length;i<n;i++)t[r++]=e[i];return t.length=r,t},grep:function(t,e,n){for(var i=[],r=0,A=t.length,o=!n;r<A;r++)!e(t[r],r)!==o&&i.push(t[r]);return i},map:function(t,e,n){var i,r,A=0,a=[];if(o(t))for(i=t.length;A<i;A++)null!=(r=e(t[A],A,n))&&a.push(r);else for(A in t)null!=(r=e(t[A],A,n))&&a.push(r);return et.apply([],a)},guid:1,proxy:function(t,e){var n,i,r;if("string"==typeof e&&(n=t[e],e=t,t=n),ct.isFunction(t))return i=tt.call(arguments,2),r=function(){return t.apply(e||this,i.concat(tt.call(arguments)))},r.guid=t.guid=t.guid||ct.guid++,r},now:Date.now,support:at}),"function"==typeof Symbol&&(ct.fn[Symbol.iterator]=q[Symbol.iterator]),ct.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(t,e){rt["[object "+e+"]"]=e.toLowerCase()});var Mt=/*!
+ * Sizzle CSS Selector Engine v2.2.1
+ * http://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2015-10-17
+ */
+function(t){function e(t,e,n,i){var r,A,o,a,s,g,l,M,h=e&&e.ownerDocument,d=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==d&&9!==d&&11!==d)return n;if(!i&&((e?e.ownerDocument||e:U)!==v&&Q(e),e=e||v,L)){if(11!==d&&(g=dt.exec(t)))if(r=g[1]){if(9===d){if(!(o=e.getElementById(r)))return n;if(o.id===r)return n.push(o),n}else if(h&&(o=h.getElementById(r))&&O(e,o)&&o.id===r)return n.push(o),n}else{if(g[2])return Z.apply(n,e.getElementsByTagName(t)),n;if((r=g[3])&&T.getElementsByClassName&&e.getElementsByClassName)return Z.apply(n,e.getElementsByClassName(r)),n}if(T.qsa&&!H[t+" "]&&(!S||!S.test(t))){if(1!==d)h=e,M=t;else if("object"!==e.nodeName.toLowerCase()){for((a=e.getAttribute("id"))?a=a.replace(It,"\\$&"):e.setAttribute("id",a=z),l=C(t),A=l.length,s=ut.test(a)?"#"+a:"[id='"+a+"']";A--;)l[A]=s+" "+u(l[A]);M=l.join(","),h=ft.test(t)&&c(e.parentNode)||e}if(M)try{return Z.apply(n,h.querySelectorAll(M)),n}catch(t){}finally{a===z&&e.removeAttribute("id")}}}return x(t.replace(At,"$1"),e,n,i)}function n(){function t(n,i){return e.push(n+" ")>N.cacheLength&&delete t[e.shift()],t[n+" "]=i}var e=[];return t}function i(t){return t[z]=!0,t}function r(t){var e=v.createElement("div");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function A(t,e){for(var n=t.split("|"),i=n.length;i--;)N.attrHandle[n[i]]=e}function o(t,e){var n=e&&t,i=n&&1===t.nodeType&&1===e.nodeType&&(~e.sourceIndex||P)-(~t.sourceIndex||P);if(i)return i;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function a(t){return i(function(e){return e=+e,i(function(n,i){for(var r,A=t([],n.length,e),o=A.length;o--;)n[r=A[o]]&&(n[r]=!(i[r]=n[r]))})})}function c(t){return t&&void 0!==t.getElementsByTagName&&t}function s(){}function u(t){for(var e=0,n=t.length,i="";e<n;e++)i+=t[e].value;return i}function g(t,e,n){var i=e.dir,r=n&&"parentNode"===i,A=k++;return e.first?function(e,n,A){for(;e=e[i];)if(1===e.nodeType||r)return t(e,n,A)}:function(e,n,o){var a,c,s,u=[F,A];if(o){for(;e=e[i];)if((1===e.nodeType||r)&&t(e,n,o))return!0}else for(;e=e[i];)if(1===e.nodeType||r){if(s=e[z]||(e[z]={}),c=s[e.uniqueID]||(s[e.uniqueID]={}),(a=c[i])&&a[0]===F&&a[1]===A)return u[2]=a[2];if(c[i]=u,u[2]=t(e,n,o))return!0}}}function l(t){return t.length>1?function(e,n,i){for(var r=t.length;r--;)if(!t[r](e,n,i))return!1;return!0}:t[0]}function M(t,n,i){for(var r=0,A=n.length;r<A;r++)e(t,n[r],i);return i}function h(t,e,n,i,r){for(var A,o=[],a=0,c=t.length,s=null!=e;a<c;a++)(A=t[a])&&(n&&!n(A,i,r)||(o.push(A),s&&e.push(a)));return o}function d(t,e,n,r,A,o){return r&&!r[z]&&(r=d(r)),A&&!A[z]&&(A=d(A,o)),i(function(i,o,a,c){var s,u,g,l=[],d=[],f=o.length,I=i||M(e||"*",a.nodeType?[a]:a,[]),E=!t||!i&&e?I:h(I,l,t,a,c),T=n?A||(i?t:f||r)?[]:o:E;if(n&&n(E,T,a,c),r)for(s=h(T,d),r(s,[],a,c),u=s.length;u--;)(g=s[u])&&(T[d[u]]=!(E[d[u]]=g));if(i){if(A||t){if(A){for(s=[],u=T.length;u--;)(g=T[u])&&s.push(E[u]=g);A(null,T=[],s,c)}for(u=T.length;u--;)(g=T[u])&&(s=A?q(i,g):l[u])>-1&&(i[s]=!(o[s]=g))}}else T=h(T===o?T.splice(f,T.length):T),A?A(null,o,T,c):Z.apply(o,T)})}function f(t){for(var e,n,i,r=t.length,A=N.relative[t[0].type],o=A||N.relative[" "],a=A?1:0,c=g(function(t){return t===e},o,!0),s=g(function(t){return q(e,t)>-1},o,!0),M=[function(t,n,i){var r=!A&&(i||n!==B)||((e=n).nodeType?c(t,n,i):s(t,n,i));return e=null,r}];a<r;a++)if(n=N.relative[t[a].type])M=[g(l(M),n)];else{if(n=N.filter[t[a].type].apply(null,t[a].matches),n[z]){for(i=++a;i<r&&!N.relative[t[i].type];i++);return d(a>1&&l(M),a>1&&u(t.slice(0,a-1).concat({value:" "===t[a-2].type?"*":""})).replace(At,"$1"),n,a<i&&f(t.slice(a,i)),i<r&&f(t=t.slice(i)),i<r&&u(t))}M.push(n)}return l(M)}function I(t,n){var r=n.length>0,A=t.length>0,o=function(i,o,a,c,s){var u,g,l,M=0,d="0",f=i&&[],I=[],E=B,T=i||A&&N.find.TAG("*",s),y=F+=null==E?1:Math.random()||.1,p=T.length;for(s&&(B=o===v||o||s);d!==p&&null!=(u=T[d]);d++){if(A&&u){for(g=0,o||u.ownerDocument===v||(Q(u),a=!L);l=t[g++];)if(l(u,o||v,a)){c.push(u);break}s&&(F=y)}r&&((u=!l&&u)&&M--,i&&f.push(u))}if(M+=d,r&&d!==M){for(g=0;l=n[g++];)l(f,I,o,a);if(i){if(M>0)for(;d--;)f[d]||I[d]||(I[d]=W.call(c));I=h(I)}Z.apply(c,I),s&&!i&&I.length>0&&M+n.length>1&&e.uniqueSort(c)}return s&&(F=y,B=E),f};return r?i(o):o}var E,T,N,y,p,C,D,x,B,w,m,Q,v,j,L,S,Y,b,O,z="sizzle"+1*new Date,U=t.document,F=0,k=0,R=n(),G=n(),H=n(),J=function(t,e){return t===e&&(m=!0),0},P=1<<31,X={}.hasOwnProperty,V=[],W=V.pop,_=V.push,Z=V.push,K=V.slice,q=function(t,e){for(var n=0,i=t.length;n<i;n++)if(t[n]===e)return n;return-1},$="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",tt="[\\x20\\t\\r\\n\\f]",et="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",nt="\\["+tt+"*("+et+")(?:"+tt+"*([*^$|!~]?=)"+tt+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+et+"))|)"+tt+"*\\]",it=":("+et+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+nt+")*)|.*)\\)|)",rt=new RegExp(tt+"+","g"),At=new RegExp("^"+tt+"+|((?:^|[^\\\\])(?:\\\\.)*)"+tt+"+$","g"),ot=new RegExp("^"+tt+"*,"+tt+"*"),at=new RegExp("^"+tt+"*([>+~]|"+tt+")"+tt+"*"),ct=new RegExp("="+tt+"*([^\\]'\"]*?)"+tt+"*\\]","g"),st=new RegExp(it),ut=new RegExp("^"+et+"$"),gt={ID:new RegExp("^#("+et+")"),CLASS:new RegExp("^\\.("+et+")"),TAG:new RegExp("^("+et+"|[*])"),ATTR:new RegExp("^"+nt),PSEUDO:new RegExp("^"+it),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+tt+"*(even|odd|(([+-]|)(\\d*)n|)"+tt+"*(?:([+-]|)"+tt+"*(\\d+)|))"+tt+"*\\)|)","i"),bool:new RegExp("^(?:"+$+")$","i"),needsContext:new RegExp("^"+tt+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+tt+"*((?:-\\d)?\\d*)"+tt+"*\\)|)(?=[^-]|$)","i")},lt=/^(?:input|select|textarea|button)$/i,Mt=/^h\d$/i,ht=/^[^{]+\{\s*\[native \w/,dt=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ft=/[+~]/,It=/'|\\/g,Et=new RegExp("\\\\([\\da-f]{1,6}"+tt+"?|("+tt+")|.)","ig"),Tt=function(t,e,n){var i="0x"+e-65536;return i!==i||n?e:i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},Nt=function(){Q()};try{Z.apply(V=K.call(U.childNodes),U.childNodes),V[U.childNodes.length].nodeType}catch(t){Z={apply:V.length?function(t,e){_.apply(t,K.call(e))}:function(t,e){for(var n=t.length,i=0;t[n++]=e[i++];);t.length=n-1}}}T=e.support={},p=e.isXML=function(t){var e=t&&(t.ownerDocument||t).documentElement;return!!e&&"HTML"!==e.nodeName},Q=e.setDocument=function(t){var e,n,i=t?t.ownerDocument||t:U;return i!==v&&9===i.nodeType&&i.documentElement?(v=i,j=v.documentElement,L=!p(v),(n=v.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Nt,!1):n.attachEvent&&n.attachEvent("onunload",Nt)),T.attributes=r(function(t){return t.className="i",!t.getAttribute("className")}),T.getElementsByTagName=r(function(t){return t.appendChild(v.createComment("")),!t.getElementsByTagName("*").length}),T.getElementsByClassName=ht.test(v.getElementsByClassName),T.getById=r(function(t){return j.appendChild(t).id=z,!v.getElementsByName||!v.getElementsByName(z).length}),T.getById?(N.find.ID=function(t,e){if(void 0!==e.getElementById&&L){var n=e.getElementById(t);return n?[n]:[]}},N.filter.ID=function(t){var e=t.replace(Et,Tt);return function(t){return t.getAttribute("id")===e}}):(delete N.find.ID,N.filter.ID=function(t){var e=t.replace(Et,Tt);return function(t){var n=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}}),N.find.TAG=T.getElementsByTagName?function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):T.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,i=[],r=0,A=e.getElementsByTagName(t);if("*"===t){for(;n=A[r++];)1===n.nodeType&&i.push(n);return i}return A},N.find.CLASS=T.getElementsByClassName&&function(t,e){if(void 0!==e.getElementsByClassName&&L)return e.getElementsByClassName(t)},Y=[],S=[],(T.qsa=ht.test(v.querySelectorAll))&&(r(function(t){j.appendChild(t).innerHTML="<a id='"+z+"'></a><select id='"+z+"-\r\\' msallowcapture=''><option selected=''></option></select>",t.querySelectorAll("[msallowcapture^='']").length&&S.push("[*^$]="+tt+"*(?:''|\"\")"),t.querySelectorAll("[selected]").length||S.push("\\["+tt+"*(?:value|"+$+")"),t.querySelectorAll("[id~="+z+"-]").length||S.push("~="),t.querySelectorAll(":checked").length||S.push(":checked"),t.querySelectorAll("a#"+z+"+*").length||S.push(".#.+[+~]")}),r(function(t){var e=v.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&S.push("name"+tt+"*[*^$|!~]?="),t.querySelectorAll(":enabled").length||S.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),S.push(",.*:")})),(T.matchesSelector=ht.test(b=j.matches||j.webkitMatchesSelector||j.mozMatchesSelector||j.oMatchesSelector||j.msMatchesSelector))&&r(function(t){T.disconnectedMatch=b.call(t,"div"),b.call(t,"[s!='']:x"),Y.push("!=",it)}),S=S.length&&new RegExp(S.join("|")),Y=Y.length&&new RegExp(Y.join("|")),e=ht.test(j.compareDocumentPosition),O=e||ht.test(j.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,i=e&&e.parentNode;return t===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):t.compareDocumentPosition&&16&t.compareDocumentPosition(i)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},J=e?function(t,e){if(t===e)return m=!0,0;var n=!t.compareDocumentPosition-!e.compareDocumentPosition;return n||(n=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1,1&n||!T.sortDetached&&e.compareDocumentPosition(t)===n?t===v||t.ownerDocument===U&&O(U,t)?-1:e===v||e.ownerDocument===U&&O(U,e)?1:w?q(w,t)-q(w,e):0:4&n?-1:1)}:function(t,e){if(t===e)return m=!0,0;var n,i=0,r=t.parentNode,A=e.parentNode,a=[t],c=[e];if(!r||!A)return t===v?-1:e===v?1:r?-1:A?1:w?q(w,t)-q(w,e):0;if(r===A)return o(t,e);for(n=t;n=n.parentNode;)a.unshift(n);for(n=e;n=n.parentNode;)c.unshift(n);for(;a[i]===c[i];)i++;return i?o(a[i],c[i]):a[i]===U?-1:c[i]===U?1:0},v):v},e.matches=function(t,n){return e(t,null,null,n)},e.matchesSelector=function(t,n){if((t.ownerDocument||t)!==v&&Q(t),n=n.replace(ct,"='$1']"),T.matchesSelector&&L&&!H[n+" "]&&(!Y||!Y.test(n))&&(!S||!S.test(n)))try{var i=b.call(t,n);if(i||T.disconnectedMatch||t.document&&11!==t.document.nodeType)return i}catch(t){}return e(n,v,null,[t]).length>0},e.contains=function(t,e){return(t.ownerDocument||t)!==v&&Q(t),O(t,e)},e.attr=function(t,e){(t.ownerDocument||t)!==v&&Q(t);var n=N.attrHandle[e.toLowerCase()],i=n&&X.call(N.attrHandle,e.toLowerCase())?n(t,e,!L):void 0;return void 0!==i?i:T.attributes||!L?t.getAttribute(e):(i=t.getAttributeNode(e))&&i.specified?i.value:null},e.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},e.uniqueSort=function(t){var e,n=[],i=0,r=0;if(m=!T.detectDuplicates,w=!T.sortStable&&t.slice(0),t.sort(J),m){for(;e=t[r++];)e===t[r]&&(i=n.push(r));for(;i--;)t.splice(n[i],1)}return w=null,t},y=e.getText=function(t){var e,n="",i=0,r=t.nodeType;if(r){if(1===r||9===r||11===r){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=y(t)}else if(3===r||4===r)return t.nodeValue}else for(;e=t[i++];)n+=y(e);return n},N=e.selectors={cacheLength:50,createPseudo:i,match:gt,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(Et,Tt),t[3]=(t[3]||t[4]||t[5]||"").replace(Et,Tt),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||e.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&e.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return gt.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&st.test(n)&&(e=C(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(Et,Tt).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=R[t+" "];return e||(e=new RegExp("(^|"+tt+")"+t+"("+tt+"|$)"))&&R(t,function(t){return e.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")})},ATTR:function(t,n,i){return function(r){var A=e.attr(r,t);return null==A?"!="===n:!n||(A+="","="===n?A===i:"!="===n?A!==i:"^="===n?i&&0===A.indexOf(i):"*="===n?i&&A.indexOf(i)>-1:"$="===n?i&&A.slice(-i.length)===i:"~="===n?(" "+A.replace(rt," ")+" ").indexOf(i)>-1:"|="===n&&(A===i||A.slice(0,i.length+1)===i+"-"))}},CHILD:function(t,e,n,i,r){var A="nth"!==t.slice(0,3),o="last"!==t.slice(-4),a="of-type"===e;return 1===i&&0===r?function(t){return!!t.parentNode}:function(e,n,c){var s,u,g,l,M,h,d=A!==o?"nextSibling":"previousSibling",f=e.parentNode,I=a&&e.nodeName.toLowerCase(),E=!c&&!a,T=!1;if(f){if(A){for(;d;){for(l=e;l=l[d];)if(a?l.nodeName.toLowerCase()===I:1===l.nodeType)return!1;h=d="only"===t&&!h&&"nextSibling"}return!0}if(h=[o?f.firstChild:f.lastChild],o&&E){for(l=f,g=l[z]||(l[z]={}),u=g[l.uniqueID]||(g[l.uniqueID]={}),s=u[t]||[],M=s[0]===F&&s[1],T=M&&s[2],l=M&&f.childNodes[M];l=++M&&l&&l[d]||(T=M=0)||h.pop();)if(1===l.nodeType&&++T&&l===e){u[t]=[F,M,T];break}}else if(E&&(l=e,g=l[z]||(l[z]={}),u=g[l.uniqueID]||(g[l.uniqueID]={}),s=u[t]||[],M=s[0]===F&&s[1],T=M),!1===T)for(;(l=++M&&l&&l[d]||(T=M=0)||h.pop())&&((a?l.nodeName.toLowerCase()!==I:1!==l.nodeType)||!++T||(E&&(g=l[z]||(l[z]={}),u=g[l.uniqueID]||(g[l.uniqueID]={}),u[t]=[F,T]),l!==e)););return(T-=r)===i||T%i==0&&T/i>=0}}},PSEUDO:function(t,n){var r,A=N.pseudos[t]||N.setFilters[t.toLowerCase()]||e.error("unsupported pseudo: "+t);return A[z]?A(n):A.length>1?(r=[t,t,"",n],N.setFilters.hasOwnProperty(t.toLowerCase())?i(function(t,e){for(var i,r=A(t,n),o=r.length;o--;)i=q(t,r[o]),t[i]=!(e[i]=r[o])}):function(t){return A(t,0,r)}):A}},pseudos:{not:i(function(t){var e=[],n=[],r=D(t.replace(At,"$1"));return r[z]?i(function(t,e,n,i){for(var A,o=r(t,null,i,[]),a=t.length;a--;)(A=o[a])&&(t[a]=!(e[a]=A))}):function(t,i,A){return e[0]=t,r(e,null,A,n),e[0]=null,!n.pop()}}),has:i(function(t){return function(n){return e(t,n).length>0}}),contains:i(function(t){return t=t.replace(Et,Tt),function(e){return(e.textContent||e.innerText||y(e)).indexOf(t)>-1}}),lang:i(function(t){return ut.test(t||"")||e.error("unsupported lang: "+t),t=t.replace(Et,Tt).toLowerCase(),function(e){var n;do{if(n=L?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(n=n.toLowerCase())===t||0===n.indexOf(t+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===j},focus:function(t){return t===v.activeElement&&(!v.hasFocus||v.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:function(t){return!1===t.disabled},disabled:function(t){return!0===t.disabled},checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!N.pseudos.empty(t)},header:function(t){return Mt.test(t.nodeName)},input:function(t){return lt.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:a(function(){return[0]}),last:a(function(t,e){return[e-1]}),eq:a(function(t,e,n){return[n<0?n+e:n]}),even:a(function(t,e){for(var n=0;n<e;n+=2)t.push(n);return t}),odd:a(function(t,e){for(var n=1;n<e;n+=2)t.push(n);return t}),lt:a(function(t,e,n){for(var i=n<0?n+e:n;--i>=0;)t.push(i);return t}),gt:a(function(t,e,n){for(var i=n<0?n+e:n;++i<e;)t.push(i);return t})}},N.pseudos.nth=N.pseudos.eq;for(E in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})N.pseudos[E]=function(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}(E);for(E in{submit:!0,reset:!0})N.pseudos[E]=function(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}(E);return s.prototype=N.filters=N.pseudos,N.setFilters=new s,C=e.tokenize=function(t,n){var i,r,A,o,a,c,s,u=G[t+" "];if(u)return n?0:u.slice(0);for(a=t,c=[],s=N.preFilter;a;){i&&!(r=ot.exec(a))||(r&&(a=a.slice(r[0].length)||a),c.push(A=[])),i=!1,(r=at.exec(a))&&(i=r.shift(),A.push({value:i,type:r[0].replace(At," ")}),a=a.slice(i.length));for(o in N.filter)!(r=gt[o].exec(a))||s[o]&&!(r=s[o](r))||(i=r.shift(),A.push({value:i,type:o,matches:r}),a=a.slice(i.length));if(!i)break}return n?a.length:a?e.error(t):G(t,c).slice(0)},D=e.compile=function(t,e){var n,i=[],r=[],A=H[t+" "];if(!A){for(e||(e=C(t)),n=e.length;n--;)A=f(e[n]),A[z]?i.push(A):r.push(A);A=H(t,I(r,i)),A.selector=t}return A},x=e.select=function(t,e,n,i){var r,A,o,a,s,g="function"==typeof t&&t,l=!i&&C(t=g.selector||t);if(n=n||[],1===l.length){if(A=l[0]=l[0].slice(0),A.length>2&&"ID"===(o=A[0]).type&&T.getById&&9===e.nodeType&&L&&N.relative[A[1].type]){if(!(e=(N.find.ID(o.matches[0].replace(Et,Tt),e)||[])[0]))return n;g&&(e=e.parentNode),t=t.slice(A.shift().value.length)}for(r=gt.needsContext.test(t)?0:A.length;r--&&(o=A[r],!N.relative[a=o.type]);)if((s=N.find[a])&&(i=s(o.matches[0].replace(Et,Tt),ft.test(A[0].type)&&c(e.parentNode)||e))){if(A.splice(r,1),!(t=i.length&&u(A)))return Z.apply(n,i),n;break}}return(g||D(t,l))(i,e,!L,n,!e||ft.test(t)&&c(e.parentNode)||e),n},T.sortStable=z.split("").sort(J).join("")===z,T.detectDuplicates=!!m,Q(),T.sortDetached=r(function(t){return 1&t.compareDocumentPosition(v.createElement("div"))}),r(function(t){return t.innerHTML="<a href='#'></a>","#"===t.firstChild.getAttribute("href")})||A("type|href|height|width",function(t,e,n){if(!n)return t.getAttribute(e,"type"===e.toLowerCase()?1:2)}),T.attributes&&r(function(t){return t.innerHTML="<input/>",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")})||A("value",function(t,e,n){if(!n&&"input"===t.nodeName.toLowerCase())return t.defaultValue}),r(function(t){return null==t.getAttribute("disabled")})||A($,function(t,e,n){var i;if(!n)return!0===t[e]?e.toLowerCase():(i=t.getAttributeNode(e))&&i.specified?i.value:null}),e}(n);ct.find=Mt,ct.expr=Mt.selectors,ct.expr[":"]=ct.expr.pseudos,ct.uniqueSort=ct.unique=Mt.uniqueSort,ct.text=Mt.getText,ct.isXMLDoc=Mt.isXML,ct.contains=Mt.contains;var ht=function(t,e,n){for(var i=[],r=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(r&&ct(t).is(n))break;i.push(t)}return i},dt=function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n},ft=ct.expr.match.needsContext,It=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,Et=/^.[^:#\[\.,]*$/;ct.filter=function(t,e,n){var i=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===i.nodeType?ct.find.matchesSelector(i,t)?[i]:[]:ct.find.matches(t,ct.grep(e,function(t){return 1===t.nodeType}))},ct.fn.extend({find:function(t){var e,n=this.length,i=[],r=this;if("string"!=typeof t)return this.pushStack(ct(t).filter(function(){for(e=0;e<n;e++)if(ct.contains(r[e],this))return!0}));for(e=0;e<n;e++)ct.find(t,r[e],i);return i=this.pushStack(n>1?ct.unique(i):i),i.selector=this.selector?this.selector+" "+t:t,i},filter:function(t){return this.pushStack(a(this,t||[],!1))},not:function(t){return this.pushStack(a(this,t||[],!0))},is:function(t){return!!a(this,"string"==typeof t&&ft.test(t)?ct(t):t||[],!1).length}});var Tt,Nt=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;(ct.fn.init=function(t,e,n){var i,r;if(!t)return this;if(n=n||Tt,"string"==typeof t){if(!(i="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:Nt.exec(t))||!i[1]&&e)return!e||e.jquery?(e||n).find(t):this.constructor(e).find(t);if(i[1]){if(e=e instanceof ct?e[0]:e,ct.merge(this,ct.parseHTML(i[1],e&&e.nodeType?e.ownerDocument||e:$,!0)),It.test(i[1])&&ct.isPlainObject(e))for(i in e)ct.isFunction(this[i])?this[i](e[i]):this.attr(i,e[i]);return this}return r=$.getElementById(i[2]),r&&r.parentNode&&(this.length=1,this[0]=r),this.context=$,this.selector=t,this}return t.nodeType?(this.context=this[0]=t,this.length=1,this):ct.isFunction(t)?void 0!==n.ready?n.ready(t):t(ct):(void 0!==t.selector&&(this.selector=t.selector,this.context=t.context),ct.makeArray(t,this))}).prototype=ct.fn,Tt=ct($);var yt=/^(?:parents|prev(?:Until|All))/,pt={children:!0,contents:!0,next:!0,prev:!0};ct.fn.extend({has:function(t){var e=ct(t,this),n=e.length;return this.filter(function(){for(var t=0;t<n;t++)if(ct.contains(this,e[t]))return!0})},closest:function(t,e){for(var n,i=0,r=this.length,A=[],o=ft.test(t)||"string"!=typeof t?ct(t,e||this.context):0;i<r;i++)for(n=this[i];n&&n!==e;n=n.parentNode)if(n.nodeType<11&&(o?o.index(n)>-1:1===n.nodeType&&ct.find.matchesSelector(n,t))){A.push(n);break}return this.pushStack(A.length>1?ct.uniqueSort(A):A)},index:function(t){return t?"string"==typeof t?it.call(ct(t),this[0]):it.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(ct.uniqueSort(ct.merge(this.get(),ct(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),ct.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return ht(t,"parentNode")},parentsUntil:function(t,e,n){return ht(t,"parentNode",n)},next:function(t){return c(t,"nextSibling")},prev:function(t){return c(t,"previousSibling")},nextAll:function(t){return ht(t,"nextSibling")},prevAll:function(t){return ht(t,"previousSibling")},nextUntil:function(t,e,n){return ht(t,"nextSibling",n)},prevUntil:function(t,e,n){return ht(t,"previousSibling",n)},siblings:function(t){return dt((t.parentNode||{}).firstChild,t)},children:function(t){return dt(t.firstChild)},contents:function(t){return t.contentDocument||ct.merge([],t.childNodes)}},function(t,e){ct.fn[t]=function(n,i){var r=ct.map(this,e,n);return"Until"!==t.slice(-5)&&(i=n),i&&"string"==typeof i&&(r=ct.filter(i,r)),this.length>1&&(pt[t]||ct.uniqueSort(r),yt.test(t)&&r.reverse()),this.pushStack(r)}});var Ct=/\S+/g;ct.Callbacks=function(t){t="string"==typeof t?s(t):ct.extend({},t);var e,n,i,r,A=[],o=[],a=-1,c=function(){for(r=t.once,i=e=!0;o.length;a=-1)for(n=o.shift();++a<A.length;)!1===A[a].apply(n[0],n[1])&&t.stopOnFalse&&(a=A.length,n=!1);t.memory||(n=!1),e=!1,r&&(A=n?[]:"")},u={add:function(){return A&&(n&&!e&&(a=A.length-1,o.push(n)),function e(n){ct.each(n,function(n,i){ct.isFunction(i)?t.unique&&u.has(i)||A.push(i):i&&i.length&&"string"!==ct.type(i)&&e(i)})}(arguments),n&&!e&&c()),this},remove:function(){return ct.each(arguments,function(t,e){for(var n;(n=ct.inArray(e,A,n))>-1;)A.splice(n,1),n<=a&&a--}),this},has:function(t){return t?ct.inArray(t,A)>-1:A.length>0},empty:function(){return A&&(A=[]),this},disable:function(){return r=o=[],A=n="",this},disabled:function(){return!A},lock:function(){return r=o=[],n||(A=n=""),this},locked:function(){return!!r},fireWith:function(t,n){return r||(n=n||[],n=[t,n.slice?n.slice():n],o.push(n),e||c()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!i}};return u},ct.extend({Deferred:function(t){var e=[["resolve","done",ct.Callbacks("once memory"),"resolved"],["reject","fail",ct.Callbacks("once memory"),"rejected"],["notify","progress",ct.Callbacks("memory")]],n="pending",i={state:function(){return n},always:function(){return r.done(arguments).fail(arguments),this},then:function(){var t=arguments;return ct.Deferred(function(n){ct.each(e,function(e,A){var o=ct.isFunction(t[e])&&t[e];r[A[1]](function(){var t=o&&o.apply(this,arguments);t&&ct.isFunction(t.promise)?t.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[A[0]+"With"](this===i?n.promise():this,o?[t]:arguments)})}),t=null}).promise()},promise:function(t){return null!=t?ct.extend(t,i):i}},r={};return i.pipe=i.then,ct.each(e,function(t,A){var o=A[2],a=A[3];i[A[1]]=o.add,a&&o.add(function(){n=a},e[1^t][2].disable,e[2][2].lock),r[A[0]]=function(){return r[A[0]+"With"](this===r?i:this,arguments),this},r[A[0]+"With"]=o.fireWith}),i.promise(r),t&&t.call(r,r),r},when:function(t){var e,n,i,r=0,A=tt.call(arguments),o=A.length,a=1!==o||t&&ct.isFunction(t.promise)?o:0,c=1===a?t:ct.Deferred(),s=function(t,n,i){return function(r){n[t]=this,i[t]=arguments.length>1?tt.call(arguments):r,i===e?c.notifyWith(n,i):--a||c.resolveWith(n,i)}};if(o>1)for(e=new Array(o),n=new Array(o),i=new Array(o);r<o;r++)A[r]&&ct.isFunction(A[r].promise)?A[r].promise().progress(s(r,n,e)).done(s(r,i,A)).fail(c.reject):--a;return a||c.resolveWith(i,A),c.promise()}});var Dt;ct.fn.ready=function(t){return ct.ready.promise().done(t),this},ct.extend({isReady:!1,readyWait:1,holdReady:function(t){t?ct.readyWait++:ct.ready(!0)},ready:function(t){(!0===t?--ct.readyWait:ct.isReady)||(ct.isReady=!0,!0!==t&&--ct.readyWait>0||(Dt.resolveWith($,[ct]),ct.fn.triggerHandler&&(ct($).triggerHandler("ready"),ct($).off("ready"))))}}),ct.ready.promise=function(t){return Dt||(Dt=ct.Deferred(),"complete"===$.readyState||"loading"!==$.readyState&&!$.documentElement.doScroll?n.setTimeout(ct.ready):($.addEventListener("DOMContentLoaded",u),n.addEventListener("load",u))),Dt.promise(t)},ct.ready.promise();var xt=function(t,e,n,i,r,A,o){var a=0,c=t.length,s=null==n;if("object"===ct.type(n)){r=!0;for(a in n)xt(t,e,a,n[a],!0,A,o)}else if(void 0!==i&&(r=!0,ct.isFunction(i)||(o=!0),s&&(o?(e.call(t,i),e=null):(s=e,e=function(t,e,n){return s.call(ct(t),n)})),e))for(;a<c;a++)e(t[a],n,o?i:i.call(t[a],a,e(t[a],n)));return r?t:s?e.call(t):c?e(t[0],n):A},Bt=function(t){return 1===t.nodeType||9===t.nodeType||!+t.nodeType};g.uid=1,g.prototype={register:function(t,e){var n=e||{};return t.nodeType?t[this.expando]=n:Object.defineProperty(t,this.expando,{value:n,writable:!0,configurable:!0}),t[this.expando]},cache:function(t){if(!Bt(t))return{};var e=t[this.expando];return e||(e={},Bt(t)&&(t.nodeType?t[this.expando]=e:Object.defineProperty(t,this.expando,{value:e,configurable:!0}))),e},set:function(t,e,n){var i,r=this.cache(t);if("string"==typeof e)r[e]=n;else for(i in e)r[i]=e[i];return r},get:function(t,e){return void 0===e?this.cache(t):t[this.expando]&&t[this.expando][e]},access:function(t,e,n){var i;return void 0===e||e&&"string"==typeof e&&void 0===n?(i=this.get(t,e),void 0!==i?i:this.get(t,ct.camelCase(e))):(this.set(t,e,n),void 0!==n?n:e)},remove:function(t,e){var n,i,r,A=t[this.expando];if(void 0!==A){if(void 0===e)this.register(t);else{ct.isArray(e)?i=e.concat(e.map(ct.camelCase)):(r=ct.camelCase(e),e in A?i=[e,r]:(i=r,i=i in A?[i]:i.match(Ct)||[])),n=i.length;for(;n--;)delete A[i[n]]}(void 0===e||ct.isEmptyObject(A))&&(t.nodeType?t[this.expando]=void 0:delete t[this.expando])}},hasData:function(t){var e=t[this.expando];return void 0!==e&&!ct.isEmptyObject(e)}};var wt=new g,mt=new g,Qt=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,vt=/[A-Z]/g;ct.extend({hasData:function(t){return mt.hasData(t)||wt.hasData(t)},data:function(t,e,n){return mt.access(t,e,n)},removeData:function(t,e){mt.remove(t,e)},_data:function(t,e,n){return wt.access(t,e,n)},_removeData:function(t,e){wt.remove(t,e)}}),ct.fn.extend({data:function(t,e){var n,i,r,A=this[0],o=A&&A.attributes;if(void 0===t){if(this.length&&(r=mt.get(A),1===A.nodeType&&!wt.get(A,"hasDataAttrs"))){for(n=o.length;n--;)o[n]&&(i=o[n].name,0===i.indexOf("data-")&&(i=ct.camelCase(i.slice(5)),l(A,i,r[i])));wt.set(A,"hasDataAttrs",!0)}return r}return"object"==typeof t?this.each(function(){mt.set(this,t)}):xt(this,function(e){var n,i;if(A&&void 0===e){if(void 0!==(n=mt.get(A,t)||mt.get(A,t.replace(vt,"-$&").toLowerCase())))return n;if(i=ct.camelCase(t),void 0!==(n=mt.get(A,i)))return n;if(void 0!==(n=l(A,i,void 0)))return n}else i=ct.camelCase(t),this.each(function(){var n=mt.get(this,i);mt.set(this,i,e),t.indexOf("-")>-1&&void 0!==n&&mt.set(this,t,e)})},null,e,arguments.length>1,null,!0)},removeData:function(t){return this.each(function(){mt.remove(this,t)})}}),ct.extend({queue:function(t,e,n){var i;if(t)return e=(e||"fx")+"queue",i=wt.get(t,e),n&&(!i||ct.isArray(n)?i=wt.access(t,e,ct.makeArray(n)):i.push(n)),i||[]},dequeue:function(t,e){e=e||"fx";var n=ct.queue(t,e),i=n.length,r=n.shift(),A=ct._queueHooks(t,e),o=function(){ct.dequeue(t,e)};"inprogress"===r&&(r=n.shift(),i--),r&&("fx"===e&&n.unshift("inprogress"),delete A.stop,r.call(t,o,A)),!i&&A&&A.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return wt.get(t,n)||wt.access(t,n,{empty:ct.Callbacks("once memory").add(function(){wt.remove(t,[e+"queue",n])})})}}),ct.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.length<n?ct.queue(this[0],t):void 0===e?this:this.each(function(){var n=ct.queue(this,t,e);ct._queueHooks(this,t),"fx"===t&&"inprogress"!==n[0]&&ct.dequeue(this,t)})},dequeue:function(t){return this.each(function(){ct.dequeue(this,t)})},clearQueue:function(t){return this.queue(t||"fx",[])},promise:function(t,e){var n,i=1,r=ct.Deferred(),A=this,o=this.length,a=function(){--i||r.resolveWith(A,[A])};for("string"!=typeof t&&(e=t,t=void 0),t=t||"fx";o--;)(n=wt.get(A[o],t+"queueHooks"))&&n.empty&&(i++,n.empty.add(a));return a(),r.promise(e)}});var jt=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Lt=new RegExp("^(?:([+-])=|)("+jt+")([a-z%]*)$","i"),St=["Top","Right","Bottom","Left"],Yt=function(t,e){return t=e||t,"none"===ct.css(t,"display")||!ct.contains(t.ownerDocument,t)},bt=/^(?:checkbox|radio)$/i,Ot=/<([\w:-]+)/,zt=/^$|\/(?:java|ecma)script/i,Ut={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Ut.optgroup=Ut.option,Ut.tbody=Ut.tfoot=Ut.colgroup=Ut.caption=Ut.thead,Ut.th=Ut.td;var Ft=/<|&#?\w+;/;!function(){var t=$.createDocumentFragment(),e=t.appendChild($.createElement("div")),n=$.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),e.appendChild(n),at.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",at.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var kt=/^key/,Rt=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Gt=/^([^.]*)(?:\.(.+)|)/;ct.event={global:{},add:function(t,e,n,i,r){var A,o,a,c,s,u,g,l,M,h,d,f=wt.get(t);if(f)for(n.handler&&(A=n,n=A.handler,r=A.selector),n.guid||(n.guid=ct.guid++),(c=f.events)||(c=f.events={}),(o=f.handle)||(o=f.handle=function(e){return void 0!==ct&&ct.event.triggered!==e.type?ct.event.dispatch.apply(t,arguments):void 0}),e=(e||"").match(Ct)||[""],s=e.length;s--;)a=Gt.exec(e[s])||[],M=d=a[1],h=(a[2]||"").split(".").sort(),M&&(g=ct.event.special[M]||{},M=(r?g.delegateType:g.bindType)||M,g=ct.event.special[M]||{},u=ct.extend({type:M,origType:d,data:i,handler:n,guid:n.guid,selector:r,needsContext:r&&ct.expr.match.needsContext.test(r),namespace:h.join(".")},A),(l=c[M])||(l=c[M]=[],l.delegateCount=0,g.setup&&!1!==g.setup.call(t,i,h,o)||t.addEventListener&&t.addEventListener(M,o)),g.add&&(g.add.call(t,u),u.handler.guid||(u.handler.guid=n.guid)),r?l.splice(l.delegateCount++,0,u):l.push(u),ct.event.global[M]=!0)},remove:function(t,e,n,i,r){var A,o,a,c,s,u,g,l,M,h,d,f=wt.hasData(t)&&wt.get(t);if(f&&(c=f.events)){for(e=(e||"").match(Ct)||[""],s=e.length;s--;)if(a=Gt.exec(e[s])||[],M=d=a[1],h=(a[2]||"").split(".").sort(),M){for(g=ct.event.special[M]||{},M=(i?g.delegateType:g.bindType)||M,l=c[M]||[],a=a[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),o=A=l.length;A--;)u=l[A],!r&&d!==u.origType||n&&n.guid!==u.guid||a&&!a.test(u.namespace)||i&&i!==u.selector&&("**"!==i||!u.selector)||(l.splice(A,1),u.selector&&l.delegateCount--,g.remove&&g.remove.call(t,u));o&&!l.length&&(g.teardown&&!1!==g.teardown.call(t,h,f.handle)||ct.removeEvent(t,M,f.handle),delete c[M])}else for(M in c)ct.event.remove(t,M+e[s],n,i,!0);ct.isEmptyObject(c)&&wt.remove(t,"handle events")}},dispatch:function(t){t=ct.event.fix(t);var e,n,i,r,A,o=[],a=tt.call(arguments),c=(wt.get(this,"events")||{})[t.type]||[],s=ct.event.special[t.type]||{};if(a[0]=t,t.delegateTarget=this,!s.preDispatch||!1!==s.preDispatch.call(this,t)){for(o=ct.event.handlers.call(this,t,c),e=0;(r=o[e++])&&!t.isPropagationStopped();)for(t.currentTarget=r.elem,n=0;(A=r.handlers[n++])&&!t.isImmediatePropagationStopped();)t.rnamespace&&!t.rnamespace.test(A.namespace)||(t.handleObj=A,t.data=A.data,void 0!==(i=((ct.event.special[A.origType]||{}).handle||A.handler).apply(r.elem,a))&&!1===(t.result=i)&&(t.preventDefault(),t.stopPropagation()));return s.postDispatch&&s.postDispatch.call(this,t),t.result}},handlers:function(t,e){var n,i,r,A,o=[],a=e.delegateCount,c=t.target;if(a&&c.nodeType&&("click"!==t.type||isNaN(t.button)||t.button<1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&(!0!==c.disabled||"click"!==t.type)){for(i=[],n=0;n<a;n++)A=e[n],r=A.selector+" ",void 0===i[r]&&(i[r]=A.needsContext?ct(r,this).index(c)>-1:ct.find(r,this,null,[c]).length),i[r]&&i.push(A);i.length&&o.push({elem:c,handlers:i})}return a<e.length&&o.push({elem:this,handlers:e.slice(a)}),o},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(t,e){return null==t.which&&(t.which=null!=e.charCode?e.charCode:e.keyCode),t}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(t,e){var n,i,r,A=e.button;return null==t.pageX&&null!=e.clientX&&(n=t.target.ownerDocument||$,i=n.documentElement,r=n.body,t.pageX=e.clientX+(i&&i.scrollLeft||r&&r.scrollLeft||0)-(i&&i.clientLeft||r&&r.clientLeft||0),t.pageY=e.clientY+(i&&i.scrollTop||r&&r.scrollTop||0)-(i&&i.clientTop||r&&r.clientTop||0)),t.which||void 0===A||(t.which=1&A?1:2&A?3:4&A?2:0),t}},fix:function(t){if(t[ct.expando])return t;var e,n,i,r=t.type,A=t,o=this.fixHooks[r];for(o||(this.fixHooks[r]=o=Rt.test(r)?this.mouseHooks:kt.test(r)?this.keyHooks:{}),i=o.props?this.props.concat(o.props):this.props,t=new ct.Event(A),e=i.length;e--;)n=i[e],t[n]=A[n];return t.target||(t.target=$),3===t.target.nodeType&&(t.target=t.target.parentNode),o.filter?o.filter(t,A):t},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==T()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===T()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&ct.nodeName(this,"input"))return this.click(),!1},_default:function(t){return ct.nodeName(t.target,"a")}},beforeunload:{postDispatch:function(t){void 0!==t.result&&t.originalEvent&&(t.originalEvent.returnValue=t.result)}}}},ct.removeEvent=function(t,e,n){t.removeEventListener&&t.removeEventListener(e,n)},ct.Event=function(t,e){if(!(this instanceof ct.Event))return new ct.Event(t,e);t&&t.type?(this.originalEvent=t,this.type=t.type,this.isDefaultPrevented=t.defaultPrevented||void 0===t.defaultPrevented&&!1===t.returnValue?I:E):this.type=t,e&&ct.extend(this,e),this.timeStamp=t&&t.timeStamp||ct.now(),this[ct.expando]=!0},ct.Event.prototype={constructor:ct.Event,isDefaultPrevented:E,isPropagationStopped:E,isImmediatePropagationStopped:E,preventDefault:function(){var t=this.originalEvent;this.isDefaultPrevented=I,t&&t.preventDefault()},stopPropagation:function(){var t=this.originalEvent;this.isPropagationStopped=I,t&&t.stopPropagation()},stopImmediatePropagation:function(){var t=this.originalEvent;this.isImmediatePropagationStopped=I,t&&t.stopImmediatePropagation(),this.stopPropagation()}},ct.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(t,e){ct.event.special[t]={delegateType:e,bindType:e,handle:function(t){var n,i=this,r=t.relatedTarget,A=t.handleObj;return r&&(r===i||ct.contains(i,r))||(t.type=A.origType,n=A.handler.apply(this,arguments),t.type=e),n}}}),ct.fn.extend({on:function(t,e,n,i){return N(this,t,e,n,i)},one:function(t,e,n,i){return N(this,t,e,n,i,1)},off:function(t,e,n){var i,r;if(t&&t.preventDefault&&t.handleObj)return i=t.handleObj,ct(t.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof t){for(r in t)this.off(r,e,t[r]);return this}return!1!==e&&"function"!=typeof e||(n=e,e=void 0),!1===n&&(n=E),this.each(function(){ct.event.remove(this,t,n,e)})}});var Ht=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,Jt=/<script|<style|<link/i,Pt=/checked\s*(?:[^=]|=\s*.checked.)/i,Xt=/^true\/(.*)/,Vt=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;ct.extend({htmlPrefilter:function(t){return t.replace(Ht,"<$1></$2>")},clone:function(t,e,n){var i,r,A,o,a=t.cloneNode(!0),c=ct.contains(t.ownerDocument,t);if(!(at.noCloneChecked||1!==t.nodeType&&11!==t.nodeType||ct.isXMLDoc(t)))for(o=h(a),A=h(t),i=0,r=A.length;i<r;i++)x(A[i],o[i]);if(e)if(n)for(A=A||h(t),o=o||h(a),i=0,r=A.length;i<r;i++)D(A[i],o[i]);else D(t,a);return o=h(a,"script"),o.length>0&&d(o,!c&&h(t,"script")),a},cleanData:function(t){for(var e,n,i,r=ct.event.special,A=0;void 0!==(n=t[A]);A++)if(Bt(n)){if(e=n[wt.expando]){if(e.events)for(i in e.events)r[i]?ct.event.remove(n,i):ct.removeEvent(n,i,e.handle);n[wt.expando]=void 0}n[mt.expando]&&(n[mt.expando]=void 0)}}}),ct.fn.extend({domManip:B,detach:function(t){return w(this,t,!0)},remove:function(t){return w(this,t)},text:function(t){return xt(this,function(t){return void 0===t?ct.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=t)})},null,t,arguments.length)},append:function(){return B(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){y(this,t).appendChild(t)}})},prepend:function(){return B(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=y(this,t);e.insertBefore(t,e.firstChild)}})},before:function(){return B(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return B(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(ct.cleanData(h(t,!1)),t.textContent="");return this},clone:function(t,e){return t=null!=t&&t,e=null==e?t:e,this.map(function(){return ct.clone(this,t,e)})},html:function(t){return xt(this,function(t){var e=this[0]||{},n=0,i=this.length;if(void 0===t&&1===e.nodeType)return e.innerHTML;if("string"==typeof t&&!Jt.test(t)&&!Ut[(Ot.exec(t)||["",""])[1].toLowerCase()]){t=ct.htmlPrefilter(t);try{for(;n<i;n++)e=this[n]||{},1===e.nodeType&&(ct.cleanData(h(e,!1)),e.innerHTML=t);e=0}catch(t){}}e&&this.empty().append(t)},null,t,arguments.length)},replaceWith:function(){var t=[];return B(this,arguments,function(e){var n=this.parentNode;ct.inArray(this,t)<0&&(ct.cleanData(h(this)),n&&n.replaceChild(e,this))},t)}}),ct.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(t,e){ct.fn[t]=function(t){for(var n,i=[],r=ct(t),A=r.length-1,o=0;o<=A;o++)n=o===A?this:this.clone(!0),ct(r[o])[e](n),nt.apply(i,n.get());return this.pushStack(i)}});var Wt,_t={HTML:"block",BODY:"block"},Zt=/^margin/,Kt=new RegExp("^("+jt+")(?!px)[a-z%]+$","i"),qt=function(t){var e=t.ownerDocument.defaultView;return e&&e.opener||(e=n),e.getComputedStyle(t)},$t=function(t,e,n,i){var r,A,o={};for(A in e)o[A]=t.style[A],t.style[A]=e[A];r=n.apply(t,i||[]);for(A in e)t.style[A]=o[A];return r},te=$.documentElement;!function(){function t(){a.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",a.innerHTML="",te.appendChild(o);var t=n.getComputedStyle(a);e="1%"!==t.top,A="2px"===t.marginLeft,i="4px"===t.width,a.style.marginRight="50%",r="4px"===t.marginRight,te.removeChild(o)}var e,i,r,A,o=$.createElement("div"),a=$.createElement("div");a.style&&(a.style.backgroundClip="content-box",a.cloneNode(!0).style.backgroundClip="",at.clearCloneStyle="content-box"===a.style.backgroundClip,o.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",o.appendChild(a),ct.extend(at,{pixelPosition:function(){return t(),e},boxSizingReliable:function(){return null==i&&t(),i},pixelMarginRight:function(){return null==i&&t(),r},reliableMarginLeft:function(){return null==i&&t(),A},reliableMarginRight:function(){var t,e=a.appendChild($.createElement("div"));return e.style.cssText=a.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",e.style.marginRight=e.style.width="0",a.style.width="1px",te.appendChild(o),t=!parseFloat(n.getComputedStyle(e).marginRight),te.removeChild(o),a.removeChild(e),t}}))}();var ee=/^(none|table(?!-c[ea]).+)/,ne={position:"absolute",visibility:"hidden",display:"block"},ie={letterSpacing:"0",fontWeight:"400"},re=["Webkit","O","Moz","ms"],Ae=$.createElement("div").style;ct.extend({cssHooks:{opacity:{get:function(t,e){if(e){var n=v(t,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(t,e,n,i){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var r,A,o,a=ct.camelCase(e),c=t.style;if(e=ct.cssProps[a]||(ct.cssProps[a]=L(a)||a),o=ct.cssHooks[e]||ct.cssHooks[a],void 0===n)return o&&"get"in o&&void 0!==(r=o.get(t,!1,i))?r:c[e];A=typeof n,"string"===A&&(r=Lt.exec(n))&&r[1]&&(n=M(t,e,r),A="number"),null!=n&&n===n&&("number"===A&&(n+=r&&r[3]||(ct.cssNumber[a]?"":"px")),at.clearCloneStyle||""!==n||0!==e.indexOf("background")||(c[e]="inherit"),o&&"set"in o&&void 0===(n=o.set(t,n,i))||(c[e]=n))}},css:function(t,e,n,i){var r,A,o,a=ct.camelCase(e);return e=ct.cssProps[a]||(ct.cssProps[a]=L(a)||a),o=ct.cssHooks[e]||ct.cssHooks[a],o&&"get"in o&&(r=o.get(t,!0,n)),void 0===r&&(r=v(t,e,i)),"normal"===r&&e in ie&&(r=ie[e]),""===n||n?(A=parseFloat(r),!0===n||isFinite(A)?A||0:r):r}}),ct.each(["height","width"],function(t,e){ct.cssHooks[e]={get:function(t,n,i){if(n)return ee.test(ct.css(t,"display"))&&0===t.offsetWidth?$t(t,ne,function(){return b(t,e,i)}):b(t,e,i)},set:function(t,n,i){var r,A=i&&qt(t),o=i&&Y(t,e,i,"border-box"===ct.css(t,"boxSizing",!1,A),A);return o&&(r=Lt.exec(n))&&"px"!==(r[3]||"px")&&(t.style[e]=n,n=ct.css(t,e)),S(t,n,o)}}}),ct.cssHooks.marginLeft=j(at.reliableMarginLeft,function(t,e){if(e)return(parseFloat(v(t,"marginLeft"))||t.getBoundingClientRect().left-$t(t,{marginLeft:0},function(){return t.getBoundingClientRect().left}))+"px"}),ct.cssHooks.marginRight=j(at.reliableMarginRight,function(t,e){if(e)return $t(t,{display:"inline-block"},v,[t,"marginRight"])}),ct.each({margin:"",padding:"",border:"Width"},function(t,e){ct.cssHooks[t+e]={expand:function(n){for(var i=0,r={},A="string"==typeof n?n.split(" "):[n];i<4;i++)r[t+St[i]+e]=A[i]||A[i-2]||A[0];return r}},Zt.test(t)||(ct.cssHooks[t+e].set=S)}),ct.fn.extend({css:function(t,e){return xt(this,function(t,e,n){var i,r,A={},o=0;if(ct.isArray(e)){for(i=qt(t),r=e.length;o<r;o++)A[e[o]]=ct.css(t,e[o],!1,i);return A}return void 0!==n?ct.style(t,e,n):ct.css(t,e)},t,e,arguments.length>1)},show:function(){return O(this,!0)},hide:function(){return O(this)},toggle:function(t){return"boolean"==typeof t?t?this.show():this.hide():this.each(function(){Yt(this)?ct(this).show():ct(this).hide()})}}),ct.Tween=z,z.prototype={constructor:z,init:function(t,e,n,i,r,A){this.elem=t,this.prop=n,this.easing=r||ct.easing._default,this.options=e,this.start=this.now=this.cur(),this.end=i,this.unit=A||(ct.cssNumber[n]?"":"px")},cur:function(){var t=z.propHooks[this.prop];return t&&t.get?t.get(this):z.propHooks._default.get(this)},run:function(t){var e,n=z.propHooks[this.prop];return this.options.duration?this.pos=e=ct.easing[this.easing](t,this.options.duration*t,0,1,this.options.duration):this.pos=e=t,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):z.propHooks._default.set(this),this}},z.prototype.init.prototype=z.prototype,z.propHooks={_default:{get:function(t){var e;return 1!==t.elem.nodeType||null!=t.elem[t.prop]&&null==t.elem.style[t.prop]?t.elem[t.prop]:(e=ct.css(t.elem,t.prop,""),e&&"auto"!==e?e:0)},set:function(t){ct.fx.step[t.prop]?ct.fx.step[t.prop](t):1!==t.elem.nodeType||null==t.elem.style[ct.cssProps[t.prop]]&&!ct.cssHooks[t.prop]?t.elem[t.prop]=t.now:ct.style(t.elem,t.prop,t.now+t.unit)}}},z.propHooks.scrollTop=z.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},ct.easing={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2},_default:"swing"},ct.fx=z.prototype.init,ct.fx.step={};var oe,ae,ce=/^(?:toggle|show|hide)$/,se=/queueHooks$/;ct.Animation=ct.extend(H,{tweeners:{"*":[function(t,e){var n=this.createTween(t,e);return M(n.elem,t,Lt.exec(e),n),n}]},tweener:function(t,e){ct.isFunction(t)?(e=t,t=["*"]):t=t.match(Ct);for(var n,i=0,r=t.length;i<r;i++)n=t[i],H.tweeners[n]=H.tweeners[n]||[],H.tweeners[n].unshift(e)},prefilters:[R],prefilter:function(t,e){e?H.prefilters.unshift(t):H.prefilters.push(t)}}),ct.speed=function(t,e,n){var i=t&&"object"==typeof t?ct.extend({},t):{complete:n||!n&&e||ct.isFunction(t)&&t,duration:t,easing:n&&e||e&&!ct.isFunction(e)&&e};return i.duration=ct.fx.off?0:"number"==typeof i.duration?i.duration:i.duration in ct.fx.speeds?ct.fx.speeds[i.duration]:ct.fx.speeds._default,null!=i.queue&&!0!==i.queue||(i.queue="fx"),i.old=i.complete,i.complete=function(){ct.isFunction(i.old)&&i.old.call(this),i.queue&&ct.dequeue(this,i.queue)},i},ct.fn.extend({fadeTo:function(t,e,n,i){return this.filter(Yt).css("opacity",0).show().end().animate({opacity:e},t,n,i)},animate:function(t,e,n,i){var r=ct.isEmptyObject(t),A=ct.speed(e,n,i),o=function(){var e=H(this,ct.extend({},t),A);(r||wt.get(this,"finish"))&&e.stop(!0)};return o.finish=o,r||!1===A.queue?this.each(o):this.queue(A.queue,o)},stop:function(t,e,n){var i=function(t){var e=t.stop;delete t.stop,e(n)};return"string"!=typeof t&&(n=e,e=t,t=void 0),e&&!1!==t&&this.queue(t||"fx",[]),this.each(function(){var e=!0,r=null!=t&&t+"queueHooks",A=ct.timers,o=wt.get(this);if(r)o[r]&&o[r].stop&&i(o[r]);else for(r in o)o[r]&&o[r].stop&&se.test(r)&&i(o[r]);for(r=A.length;r--;)A[r].elem!==this||null!=t&&A[r].queue!==t||(A[r].anim.stop(n),e=!1,A.splice(r,1));!e&&n||ct.dequeue(this,t)})},finish:function(t){return!1!==t&&(t=t||"fx"),this.each(function(){var e,n=wt.get(this),i=n[t+"queue"],r=n[t+"queueHooks"],A=ct.timers,o=i?i.length:0;for(n.finish=!0,ct.queue(this,t,[]),r&&r.stop&&r.stop.call(this,!0),e=A.length;e--;)A[e].elem===this&&A[e].queue===t&&(A[e].anim.stop(!0),A.splice(e,1));for(e=0;e<o;e++)i[e]&&i[e].finish&&i[e].finish.call(this);delete n.finish})}}),ct.each(["toggle","show","hide"],function(t,e){var n=ct.fn[e];ct.fn[e]=function(t,i,r){return null==t||"boolean"==typeof t?n.apply(this,arguments):this.animate(F(e,!0),t,i,r)}}),ct.each({slideDown:F("show"),slideUp:F("hide"),slideToggle:F("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(t,e){ct.fn[t]=function(t,n,i){return this.animate(e,t,n,i)}}),ct.timers=[],ct.fx.tick=function(){var t,e=0,n=ct.timers;for(oe=ct.now();e<n.length;e++)(t=n[e])()||n[e]!==t||n.splice(e--,1);n.length||ct.fx.stop(),oe=void 0},ct.fx.timer=function(t){ct.timers.push(t),t()?ct.fx.start():ct.timers.pop()},ct.fx.interval=13,ct.fx.start=function(){ae||(ae=n.setInterval(ct.fx.tick,ct.fx.interval))},ct.fx.stop=function(){n.clearInterval(ae),ae=null},ct.fx.speeds={slow:600,fast:200,_default:400},ct.fn.delay=function(t,e){return t=ct.fx?ct.fx.speeds[t]||t:t,e=e||"fx",this.queue(e,function(e,i){var r=n.setTimeout(e,t);i.stop=function(){n.clearTimeout(r)}})},function(){var t=$.createElement("input"),e=$.createElement("select"),n=e.appendChild($.createElement("option"));t.type="checkbox",at.checkOn=""!==t.value,at.optSelected=n.selected,e.disabled=!0,at.optDisabled=!n.disabled,t=$.createElement("input"),t.value="t",t.type="radio",at.radioValue="t"===t.value}();var ue,ge=ct.expr.attrHandle;ct.fn.extend({attr:function(t,e){return xt(this,ct.attr,t,e,arguments.length>1)},removeAttr:function(t){return this.each(function(){ct.removeAttr(this,t)})}}),ct.extend({attr:function(t,e,n){var i,r,A=t.nodeType;if(3!==A&&8!==A&&2!==A)return void 0===t.getAttribute?ct.prop(t,e,n):(1===A&&ct.isXMLDoc(t)||(e=e.toLowerCase(),r=ct.attrHooks[e]||(ct.expr.match.bool.test(e)?ue:void 0)),void 0!==n?null===n?void ct.removeAttr(t,e):r&&"set"in r&&void 0!==(i=r.set(t,n,e))?i:(t.setAttribute(e,n+""),n):r&&"get"in r&&null!==(i=r.get(t,e))?i:(i=ct.find.attr(t,e),null==i?void 0:i))},attrHooks:{type:{set:function(t,e){if(!at.radioValue&&"radio"===e&&ct.nodeName(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}},removeAttr:function(t,e){var n,i,r=0,A=e&&e.match(Ct);if(A&&1===t.nodeType)for(;n=A[r++];)i=ct.propFix[n]||n,ct.expr.match.bool.test(n)&&(t[i]=!1),t.removeAttribute(n)}}),ue={set:function(t,e,n){return!1===e?ct.removeAttr(t,n):t.setAttribute(n,n),n}},ct.each(ct.expr.match.bool.source.match(/\w+/g),function(t,e){var n=ge[e]||ct.find.attr;ge[e]=function(t,e,i){var r,A;return i||(A=ge[e],ge[e]=r,r=null!=n(t,e,i)?e.toLowerCase():null,ge[e]=A),r}});var le=/^(?:input|select|textarea|button)$/i,Me=/^(?:a|area)$/i;ct.fn.extend({prop:function(t,e){return xt(this,ct.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each(function(){delete this[ct.propFix[t]||t]})}}),ct.extend({prop:function(t,e,n){var i,r,A=t.nodeType;if(3!==A&&8!==A&&2!==A)return 1===A&&ct.isXMLDoc(t)||(e=ct.propFix[e]||e,r=ct.propHooks[e]),void 0!==n?r&&"set"in r&&void 0!==(i=r.set(t,n,e))?i:t[e]=n:r&&"get"in r&&null!==(i=r.get(t,e))?i:t[e]},propHooks:{tabIndex:{get:function(t){var e=ct.find.attr(t,"tabindex");return e?parseInt(e,10):le.test(t.nodeName)||Me.test(t.nodeName)&&t.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),at.optSelected||(ct.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null},set:function(t){var e=t.parentNode;e&&(e.selectedIndex,e.parentNode&&e.parentNode.selectedIndex)}}),ct.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ct.propFix[this.toLowerCase()]=this});var he=/[\t\r\n\f]/g;ct.fn.extend({addClass:function(t){var e,n,i,r,A,o,a,c=0;if(ct.isFunction(t))return this.each(function(e){ct(this).addClass(t.call(this,e,J(this)))});if("string"==typeof t&&t)for(e=t.match(Ct)||[];n=this[c++];)if(r=J(n),i=1===n.nodeType&&(" "+r+" ").replace(he," ")){for(o=0;A=e[o++];)i.indexOf(" "+A+" ")<0&&(i+=A+" ");a=ct.trim(i),r!==a&&n.setAttribute("class",a)}return this},removeClass:function(t){var e,n,i,r,A,o,a,c=0;if(ct.isFunction(t))return this.each(function(e){ct(this).removeClass(t.call(this,e,J(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof t&&t)for(e=t.match(Ct)||[];n=this[c++];)if(r=J(n),i=1===n.nodeType&&(" "+r+" ").replace(he," ")){for(o=0;A=e[o++];)for(;i.indexOf(" "+A+" ")>-1;)i=i.replace(" "+A+" "," ");a=ct.trim(i),r!==a&&n.setAttribute("class",a)}return this},toggleClass:function(t,e){var n=typeof t;return"boolean"==typeof e&&"string"===n?e?this.addClass(t):this.removeClass(t):ct.isFunction(t)?this.each(function(n){ct(this).toggleClass(t.call(this,n,J(this),e),e)}):this.each(function(){var e,i,r,A;if("string"===n)for(i=0,r=ct(this),A=t.match(Ct)||[];e=A[i++];)r.hasClass(e)?r.removeClass(e):r.addClass(e);else void 0!==t&&"boolean"!==n||(e=J(this),e&&wt.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===t?"":wt.get(this,"__className__")||""))})},hasClass:function(t){var e,n,i=0;for(e=" "+t+" ";n=this[i++];)if(1===n.nodeType&&(" "+J(n)+" ").replace(he," ").indexOf(e)>-1)return!0;return!1}});var de=/\r/g,fe=/[\x20\t\r\n\f]+/g;ct.fn.extend({val:function(t){var e,n,i,r=this[0];{if(arguments.length)return i=ct.isFunction(t),this.each(function(n){var r;1===this.nodeType&&(r=i?t.call(this,n,ct(this).val()):t,null==r?r="":"number"==typeof r?r+="":ct.isArray(r)&&(r=ct.map(r,function(t){return null==t?"":t+""})),(e=ct.valHooks[this.type]||ct.valHooks[this.nodeName.toLowerCase()])&&"set"in e&&void 0!==e.set(this,r,"value")||(this.value=r))});if(r)return(e=ct.valHooks[r.type]||ct.valHooks[r.nodeName.toLowerCase()])&&"get"in e&&void 0!==(n=e.get(r,"value"))?n:(n=r.value,"string"==typeof n?n.replace(de,""):null==n?"":n)}}}),ct.extend({valHooks:{option:{get:function(t){var e=ct.find.attr(t,"value");return null!=e?e:ct.trim(ct.text(t)).replace(fe," ")}},select:{get:function(t){for(var e,n,i=t.options,r=t.selectedIndex,A="select-one"===t.type||r<0,o=A?null:[],a=A?r+1:i.length,c=r<0?a:A?r:0;c<a;c++)if(n=i[c],(n.selected||c===r)&&(at.optDisabled?!n.disabled:null===n.getAttribute("disabled"))&&(!n.parentNode.disabled||!ct.nodeName(n.parentNode,"optgroup"))){if(e=ct(n).val(),A)return e;o.push(e)}return o},set:function(t,e){for(var n,i,r=t.options,A=ct.makeArray(e),o=r.length;o--;)i=r[o],(i.selected=ct.inArray(ct.valHooks.option.get(i),A)>-1)&&(n=!0);return n||(t.selectedIndex=-1),A}}}}),ct.each(["radio","checkbox"],function(){ct.valHooks[this]={set:function(t,e){if(ct.isArray(e))return t.checked=ct.inArray(ct(t).val(),e)>-1}},at.checkOn||(ct.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})});var Ie=/^(?:focusinfocus|focusoutblur)$/;ct.extend(ct.event,{trigger:function(t,e,i,r){var A,o,a,c,s,u,g,l=[i||$],M=ot.call(t,"type")?t.type:t,h=ot.call(t,"namespace")?t.namespace.split("."):[];if(o=a=i=i||$,3!==i.nodeType&&8!==i.nodeType&&!Ie.test(M+ct.event.triggered)&&(M.indexOf(".")>-1&&(h=M.split("."),M=h.shift(),h.sort()),s=M.indexOf(":")<0&&"on"+M,t=t[ct.expando]?t:new ct.Event(M,"object"==typeof t&&t),t.isTrigger=r?2:3,t.namespace=h.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),e=null==e?[t]:ct.makeArray(e,[t]),g=ct.event.special[M]||{},r||!g.trigger||!1!==g.trigger.apply(i,e))){if(!r&&!g.noBubble&&!ct.isWindow(i)){for(c=g.delegateType||M,Ie.test(c+M)||(o=o.parentNode);o;o=o.parentNode)l.push(o),a=o;a===(i.ownerDocument||$)&&l.push(a.defaultView||a.parentWindow||n)}for(A=0;(o=l[A++])&&!t.isPropagationStopped();)t.type=A>1?c:g.bindType||M,u=(wt.get(o,"events")||{})[t.type]&&wt.get(o,"handle"),u&&u.apply(o,e),(u=s&&o[s])&&u.apply&&Bt(o)&&(t.result=u.apply(o,e),!1===t.result&&t.preventDefault());return t.type=M,r||t.isDefaultPrevented()||g._default&&!1!==g._default.apply(l.pop(),e)||!Bt(i)||s&&ct.isFunction(i[M])&&!ct.isWindow(i)&&(a=i[s],a&&(i[s]=null),ct.event.triggered=M,i[M](),ct.event.triggered=void 0,a&&(i[s]=a)),t.result}},simulate:function(t,e,n){var i=ct.extend(new ct.Event,n,{type:t,isSimulated:!0});ct.event.trigger(i,null,e),i.isDefaultPrevented()&&n.preventDefault()}}),ct.fn.extend({trigger:function(t,e){return this.each(function(){ct.event.trigger(t,e,this)})},triggerHandler:function(t,e){var n=this[0];if(n)return ct.event.trigger(t,e,n,!0)}}),ct.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(t,e){ct.fn[e]=function(t,n){return arguments.length>0?this.on(e,null,t,n):this.trigger(e)}}),ct.fn.extend({hover:function(t,e){return this.mouseenter(t).mouseleave(e||t)}}),at.focusin="onfocusin"in n,at.focusin||ct.each({focus:"focusin",blur:"focusout"},function(t,e){var n=function(t){ct.event.simulate(e,t.target,ct.event.fix(t))};ct.event.special[e]={setup:function(){var i=this.ownerDocument||this,r=wt.access(i,e);r||i.addEventListener(t,n,!0),wt.access(i,e,(r||0)+1)},teardown:function(){var i=this.ownerDocument||this,r=wt.access(i,e)-1;r?wt.access(i,e,r):(i.removeEventListener(t,n,!0),wt.remove(i,e))}}});var Ee=n.location,Te=ct.now(),Ne=/\?/;ct.parseJSON=function(t){return JSON.parse(t+"")},ct.parseXML=function(t){var e;if(!t||"string"!=typeof t)return null;try{e=(new n.DOMParser).parseFromString(t,"text/xml")}catch(t){e=void 0}return e&&!e.getElementsByTagName("parsererror").length||ct.error("Invalid XML: "+t),e};var ye=/#.*$/,pe=/([?&])_=[^&]*/,Ce=/^(.*?):[ \t]*([^\r\n]*)$/gm,De=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,xe=/^(?:GET|HEAD)$/,Be=/^\/\//,we={},me={},Qe="*/".concat("*"),ve=$.createElement("a");ve.href=Ee.href,ct.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ee.href,type:"GET",isLocal:De.test(Ee.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Qe,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":ct.parseJSON,"text xml":ct.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?V(V(t,ct.ajaxSettings),e):V(ct.ajaxSettings,t)},ajaxPrefilter:P(we),ajaxTransport:P(me),ajax:function(t,e){function i(t,e,i,a){var s,g,E,T,y,C=e;2!==N&&(N=2,c&&n.clearTimeout(c),r=void 0,o=a||"",p.readyState=t>0?4:0,s=t>=200&&t<300||304===t,i&&(T=W(l,p,i)),T=_(l,T,p,s),s?(l.ifModified&&(y=p.getResponseHeader("Last-Modified"),y&&(ct.lastModified[A]=y),(y=p.getResponseHeader("etag"))&&(ct.etag[A]=y)),204===t||"HEAD"===l.type?C="nocontent":304===t?C="notmodified":(C=T.state,g=T.data,E=T.error,s=!E)):(E=C,!t&&C||(C="error",t<0&&(t=0))),p.status=t,p.statusText=(e||C)+"",s?d.resolveWith(M,[g,C,p]):d.rejectWith(M,[p,C,E]),p.statusCode(I),I=void 0,u&&h.trigger(s?"ajaxSuccess":"ajaxError",[p,l,s?g:E]),f.fireWith(M,[p,C]),u&&(h.trigger("ajaxComplete",[p,l]),--ct.active||ct.event.trigger("ajaxStop")))}"object"==typeof t&&(e=t,t=void 0),e=e||{};var r,A,o,a,c,s,u,g,l=ct.ajaxSetup({},e),M=l.context||l,h=l.context&&(M.nodeType||M.jquery)?ct(M):ct.event,d=ct.Deferred(),f=ct.Callbacks("once memory"),I=l.statusCode||{},E={},T={},N=0,y="canceled",p={readyState:0,getResponseHeader:function(t){var e;if(2===N){if(!a)for(a={};e=Ce.exec(o);)a[e[1].toLowerCase()]=e[2];e=a[t.toLowerCase()]}return null==e?null:e},getAllResponseHeaders:function(){return 2===N?o:null},setRequestHeader:function(t,e){var n=t.toLowerCase();return N||(t=T[n]=T[n]||t,E[t]=e),this},overrideMimeType:function(t){return N||(l.mimeType=t),this},statusCode:function(t){var e;if(t)if(N<2)for(e in t)I[e]=[I[e],t[e]];else p.always(t[p.status]);return this},abort:function(t){var e=t||y;return r&&r.abort(e),i(0,e),this}};if(d.promise(p).complete=f.add,p.success=p.done,p.error=p.fail,l.url=((t||l.url||Ee.href)+"").replace(ye,"").replace(Be,Ee.protocol+"//"),l.type=e.method||e.type||l.method||l.type,l.dataTypes=ct.trim(l.dataType||"*").toLowerCase().match(Ct)||[""],null==l.crossDomain){s=$.createElement("a");try{s.href=l.url,s.href=s.href,l.crossDomain=ve.protocol+"//"+ve.host!=s.protocol+"//"+s.host}catch(t){l.crossDomain=!0}}if(l.data&&l.processData&&"string"!=typeof l.data&&(l.data=ct.param(l.data,l.traditional)),X(we,l,e,p),2===N)return p;u=ct.event&&l.global,u&&0==ct.active++&&ct.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!xe.test(l.type),A=l.url,l.hasContent||(l.data&&(A=l.url+=(Ne.test(A)?"&":"?")+l.data,delete l.data),!1===l.cache&&(l.url=pe.test(A)?A.replace(pe,"$1_="+Te++):A+(Ne.test(A)?"&":"?")+"_="+Te++)),l.ifModified&&(ct.lastModified[A]&&p.setRequestHeader("If-Modified-Since",ct.lastModified[A]),ct.etag[A]&&p.setRequestHeader("If-None-Match",ct.etag[A])),(l.data&&l.hasContent&&!1!==l.contentType||e.contentType)&&p.setRequestHeader("Content-Type",l.contentType),p.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+Qe+"; q=0.01":""):l.accepts["*"]);for(g in l.headers)p.setRequestHeader(g,l.headers[g]);if(l.beforeSend&&(!1===l.beforeSend.call(M,p,l)||2===N))return p.abort();y="abort";for(g in{success:1,error:1,complete:1})p[g](l[g]);if(r=X(me,l,e,p)){if(p.readyState=1,u&&h.trigger("ajaxSend",[p,l]),2===N)return p;l.async&&l.timeout>0&&(c=n.setTimeout(function(){p.abort("timeout")},l.timeout));try{N=1,r.send(E,i)}catch(t){if(!(N<2))throw t;i(-1,t)}}else i(-1,"No Transport");return p},getJSON:function(t,e,n){return ct.get(t,e,n,"json")},getScript:function(t,e){return ct.get(t,void 0,e,"script")}}),ct.each(["get","post"],function(t,e){ct[e]=function(t,n,i,r){return ct.isFunction(n)&&(r=r||i,i=n,n=void 0),ct.ajax(ct.extend({url:t,type:e,dataType:r,data:n,success:i},ct.isPlainObject(t)&&t))}}),ct._evalUrl=function(t){return ct.ajax({url:t,type:"GET",dataType:"script",async:!1,global:!1,throws:!0})},ct.fn.extend({wrapAll:function(t){var e;return ct.isFunction(t)?this.each(function(e){ct(this).wrapAll(t.call(this,e))}):(this[0]&&(e=ct(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t}).append(this)),this)},wrapInner:function(t){return ct.isFunction(t)?this.each(function(e){ct(this).wrapInner(t.call(this,e))}):this.each(function(){var e=ct(this),n=e.contents();n.length?n.wrapAll(t):e.append(t)})},wrap:function(t){var e=ct.isFunction(t);return this.each(function(n){ct(this).wrapAll(e?t.call(this,n):t)})},unwrap:function(){return this.parent().each(function(){ct.nodeName(this,"body")||ct(this).replaceWith(this.childNodes)}).end()}}),ct.expr.filters.hidden=function(t){return!ct.expr.filters.visible(t)},ct.expr.filters.visible=function(t){return t.offsetWidth>0||t.offsetHeight>0||t.getClientRects().length>0};var je=/%20/g,Le=/\[\]$/,Se=/\r?\n/g,Ye=/^(?:submit|button|image|reset|file)$/i,be=/^(?:input|select|textarea|keygen)/i;ct.param=function(t,e){var n,i=[],r=function(t,e){e=ct.isFunction(e)?e():null==e?"":e,i[i.length]=encodeURIComponent(t)+"="+encodeURIComponent(e)};if(void 0===e&&(e=ct.ajaxSettings&&ct.ajaxSettings.traditional),ct.isArray(t)||t.jquery&&!ct.isPlainObject(t))ct.each(t,function(){r(this.name,this.value)});else for(n in t)Z(n,t[n],e,r);return i.join("&").replace(je,"+")},ct.fn.extend({serialize:function(){return ct.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var t=ct.prop(this,"elements");return t?ct.makeArray(t):this}).filter(function(){var t=this.type;return this.name&&!ct(this).is(":disabled")&&be.test(this.nodeName)&&!Ye.test(t)&&(this.checked||!bt.test(t))}).map(function(t,e){var n=ct(this).val();return null==n?null:ct.isArray(n)?ct.map(n,function(t){return{name:e.name,value:t.replace(Se,"\r\n")}}):{name:e.name,value:n.replace(Se,"\r\n")}}).get()}}),ct.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(t){}};var Oe={0:200,1223:204},ze=ct.ajaxSettings.xhr();at.cors=!!ze&&"withCredentials"in ze,at.ajax=ze=!!ze,ct.ajaxTransport(function(t){var e,i;if(at.cors||ze&&!t.crossDomain)return{send:function(r,A){var o,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(o in t.xhrFields)a[o]=t.xhrFields[o];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||r["X-Requested-With"]||(r["X-Requested-With"]="XMLHttpRequest");for(o in r)a.setRequestHeader(o,r[o]);e=function(t){return function(){e&&(e=i=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,"abort"===t?a.abort():"error"===t?"number"!=typeof a.status?A(0,"error"):A(a.status,a.statusText):A(Oe[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=e(),i=a.onerror=e("error"),void 0!==a.onabort?a.onabort=i:a.onreadystatechange=function(){4===a.readyState&&n.setTimeout(function(){e&&i()})},e=e("abort");try{a.send(t.hasContent&&t.data||null)}catch(t){if(e)throw t}},abort:function(){e&&e()}}}),ct.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(t){return ct.globalEval(t),t}}}),ct.ajaxPrefilter("script",function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type="GET")}),ct.ajaxTransport("script",function(t){if(t.crossDomain){var e,n;return{send:function(i,r){e=ct("<script>").prop({charset:t.scriptCharset,src:t.url}).on("load error",n=function(t){e.remove(),n=null,t&&r("error"===t.type?404:200,t.type)}),$.head.appendChild(e[0])},abort:function(){n&&n()}}}});var Ue=[],Fe=/(=)\?(?=&|$)|\?\?/;ct.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var t=Ue.pop()||ct.expando+"_"+Te++;return this[t]=!0,t}}),ct.ajaxPrefilter("json jsonp",function(t,e,i){var r,A,o,a=!1!==t.jsonp&&(Fe.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Fe.test(t.data)&&"data");if(a||"jsonp"===t.dataTypes[0])return r=t.jsonpCallback=ct.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(Fe,"$1"+r):!1!==t.jsonp&&(t.url+=(Ne.test(t.url)?"&":"?")+t.jsonp+"="+r),t.converters["script json"]=function(){return o||ct.error(r+" was not called"),o[0]},t.dataTypes[0]="json",A=n[r],n[r]=function(){o=arguments},i.always(function(){void 0===A?ct(n).removeProp(r):n[r]=A,t[r]&&(t.jsonpCallback=e.jsonpCallback,Ue.push(r)),o&&ct.isFunction(A)&&A(o[0]),o=A=void 0}),"script"}),ct.parseHTML=function(t,e,n){if(!t||"string"!=typeof t)return null;"boolean"==typeof e&&(n=e,e=!1),e=e||$;var i=It.exec(t),r=!n&&[];return i?[e.createElement(i[1])]:(i=f([t],e,r),r&&r.length&&ct(r).remove(),ct.merge([],i.childNodes))};var ke=ct.fn.load;ct.fn.load=function(t,e,n){if("string"!=typeof t&&ke)return ke.apply(this,arguments);var i,r,A,o=this,a=t.indexOf(" ");return a>-1&&(i=ct.trim(t.slice(a)),t=t.slice(0,a)),ct.isFunction(e)?(n=e,e=void 0):e&&"object"==typeof e&&(r="POST"),o.length>0&&ct.ajax({url:t,type:r||"GET",dataType:"html",data:e}).done(function(t){A=arguments,o.html(i?ct("<div>").append(ct.parseHTML(t)).find(i):t)}).always(n&&function(t,e){o.each(function(){n.apply(this,A||[t.responseText,e,t])})}),this},ct.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(t,e){ct.fn[e]=function(t){return this.on(e,t)}}),ct.expr.filters.animated=function(t){return ct.grep(ct.timers,function(e){return t===e.elem}).length},ct.offset={setOffset:function(t,e,n){var i,r,A,o,a,c,s,u=ct.css(t,"position"),g=ct(t),l={};"static"===u&&(t.style.position="relative"),a=g.offset(),A=ct.css(t,"top"),c=ct.css(t,"left"),s=("absolute"===u||"fixed"===u)&&(A+c).indexOf("auto")>-1,s?(i=g.position(),o=i.top,r=i.left):(o=parseFloat(A)||0,r=parseFloat(c)||0),ct.isFunction(e)&&(e=e.call(t,n,ct.extend({},a))),null!=e.top&&(l.top=e.top-a.top+o),null!=e.left&&(l.left=e.left-a.left+r),"using"in e?e.using.call(t,l):g.css(l)}},ct.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ct.offset.setOffset(this,t,e)});var e,n,i=this[0],r={top:0,left:0},A=i&&i.ownerDocument;if(A)return e=A.documentElement,ct.contains(e,i)?(r=i.getBoundingClientRect(),n=K(A),{top:r.top+n.pageYOffset-e.clientTop,left:r.left+n.pageXOffset-e.clientLeft}):r},position:function(){if(this[0]){var t,e,n=this[0],i={top:0,left:0};return"fixed"===ct.css(n,"position")?e=n.getBoundingClientRect():(t=this.offsetParent(),e=this.offset(),ct.nodeName(t[0],"html")||(i=t.offset()),i.top+=ct.css(t[0],"borderTopWidth",!0),i.left+=ct.css(t[0],"borderLeftWidth",!0)),{top:e.top-i.top-ct.css(n,"marginTop",!0),left:e.left-i.left-ct.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent;t&&"static"===ct.css(t,"position");)t=t.offsetParent;return t||te})}}),ct.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,e){var n="pageYOffset"===e;ct.fn[t]=function(i){return xt(this,function(t,i,r){var A=K(t);if(void 0===r)return A?A[e]:t[i];A?A.scrollTo(n?A.pageXOffset:r,n?r:A.pageYOffset):t[i]=r},t,i,arguments.length)}}),ct.each(["top","left"],function(t,e){ct.cssHooks[e]=j(at.pixelPosition,function(t,n){if(n)return n=v(t,e),Kt.test(n)?ct(t).position()[e]+"px":n})}),ct.each({Height:"height",Width:"width"},function(t,e){ct.each({padding:"inner"+t,content:e,"":"outer"+t},function(n,i){ct.fn[i]=function(i,r){var A=arguments.length&&(n||"boolean"!=typeof i),o=n||(!0===i||!0===r?"margin":"border");return xt(this,function(e,n,i){var r;return ct.isWindow(e)?e.document.documentElement["client"+t]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+t],r["scroll"+t],e.body["offset"+t],r["offset"+t],r["client"+t])):void 0===i?ct.css(e,n,o):ct.style(e,n,i,o)},e,A?i:void 0,A,null)}})}),ct.fn.extend({bind:function(t,e,n){return this.on(t,null,e,n)},unbind:function(t,e){return this.off(t,null,e)},delegate:function(t,e,n,i){return this.on(e,t,n,i)},undelegate:function(t,e,n){return 1===arguments.length?this.off(t,"**"):this.off(e,t||"**",n)},size:function(){return this.length}}),ct.fn.andSelf=ct.fn.addBack,i=[],void 0!==(r=function(){return ct}.apply(e,i))&&(t.exports=r);var Re=n.jQuery,Ge=n.$;return ct.noConflict=function(t){return n.$===ct&&(n.$=Ge),t&&n.jQuery===ct&&(n.jQuery=Re),ct},A||(n.jQuery=n.$=ct),ct})},function(t,e){if(!window.requestAnimationFrame){var n=[];window.performance||(window.performance={now:function(){return(new Date).getTime()}}),window.requestAnimationFrame=function(t){"use strict";if(!n.length){var e=window.performance.now();window.setTimeout(function(){var t=n;n=[];for(var e=window.performance.now(),i=0;i<t.length;i+=1)t[i].call(window,e)},15-parseInt(e,10)%15)}n.push(t)}}Math.log2||(Math.log2=function(){return Math.log.apply(Math,arguments)/Math.LN2}),Math.sinh=Math.sinh||function(t){var e=Math.exp(t);return(e-1/e)/2}},function(t,e,n){!function(){"use strict";var e=n(4),i=n(5),r=n(120),A=n(8),o=n(32),a=function(t){if(!(this instanceof a))return new a(t);var e=n(125);return t=t||{},i.call(this,t),this._view=r.mat4AsArray(),this._proj=r.mat4AsArray(),this._projection=null,this._transform=r.mat4AsArray(),this._inverse=r.mat4AsArray(),this._bounds=null,this._display=null,this._world=null,this._viewport={width:1,height:1},this._createProj=function(){var t=this.constructor.bounds.near/this.constructor.bounds.far;"perspective"===this._projection?A.frustum(this._proj,this.constructor.bounds.left*t,this.constructor.bounds.right*t,this.constructor.bounds.bottom*t,this.constructor.bounds.top*t,-this.constructor.bounds.near,-this.constructor.bounds.far):"parallel"===this._projection&&A.ortho(this._proj,this.constructor.bounds.left,this.constructor.bounds.right,this.constructor.bounds.bottom,this.constructor.bounds.top,this.constructor.bounds.near,this.constructor.bounds.far)},this._update=function(){this._bounds=null,this._display=null,this._world=null,this._transform=a.combine(this._proj,this._view),A.invert(this._inverse,this._transform),this.geoTrigger(e.camera.view,{camera:this})},Object.defineProperty(this,"view",{get:function(){return this._view},set:function(t){A.copy(this._view,t),this._update()}}),Object.defineProperty(this,"bounds",{get:function(){return null===this._bounds&&(this._bounds=this._getBounds()),this._bounds},set:function(t){this._setBounds(t),this._update()}}),Object.defineProperty(this,"display",{get:function(){var t;return null===this._display&&(t=a.affine({x:1,y:1},{x:this.viewport.width/2,y:this.viewport.height/-2}),this._display=a.combine(t,this._transform)),this._display}}),Object.defineProperty(this,"world",{get:function(){return null===this._world&&(this._world=A.invert(r.mat4AsArray(),this.display)),this._world}}),Object.defineProperty(this,"projection",{get:function(){return this._projection},set:function(t){if(!this.constructor.projection[t])throw new Error("Unsupported projection type: "+t);t!==this._projection&&(this._projection=t,this._createProj(),this._update(),this.geoTrigger(e.camera.projection,{camera:this,projection:t}))}}),Object.defineProperty(this,"projectionMatrix",{get:function(){return this._proj}}),Object.defineProperty(this,"transform",{get:function(){return this._transform}}),Object.defineProperty(this,"inverse",{get:function(){return this._inverse}}),Object.defineProperty(this,"viewport",{get:function(){return{width:this._viewport.width,height:this._viewport.height}},set:function(t){if(!(t.width>0&&t.height>0))throw new Error("Invalid viewport dimensions");t.width===this._viewport.width&&t.height===this._viewport.height||(this._viewport.width&&this._viewport.height&&(this._scale([this._viewport.width/t.width,this._viewport.height/t.height,1]),this._translate([(t.width-this._viewport.width)/2,(t.height-this._viewport.height)/2,0])),this._viewport={width:t.width,height:t.height},this._update(),this.geoTrigger(e.camera.viewport,{camera:this,viewport:this.viewport}))}}),this._resetView=function(){return A.identity(this._view),this},this._translate=function(t){A.translate(this._view,this._view,t)},this._scale=function(t){A.scale(this._view,this._view,t)},this._worldToClip4=function(t){return a.applyTransform(this._transform,t)},this._clipToWorld4=function(t){return a.applyTransform(this._inverse,t)},this.applyProjection=function(t){var e;return"perspective"===this._projection?(e=1/(t[3]||1),t[0]=e*t[0],t[1]=e*t[1],t[2]=e*t[2],t[3]=e):t[3]=1,t},this.unapplyProjection=function(t){var e;return"perspective"===this._projection?(e=t[3]||1,t[0]=e*t[0],t[1]=e*t[1],t[2]=e*t[2],t[3]=e):t[3]=1,t},this.worldToDisplay4=function(t){return t[2]-=2,this._worldToClip4(t),t=this.applyProjection(t),t[0]=this._viewport.width*(1+t[0])/2,t[1]=this._viewport.height*(1-t[1])/2,t[2]=(1+t[2])/2,t},this.displayToWorld4=function(t){return t[0]=2*t[0]/this._viewport.width-1,t[1]=-2*t[1]/this._viewport.height+1,t[2]=2*t[2]-1,t=this.unapplyProjection(t),this._clipToWorld4(t),t[2]+=2,t},this.worldToDisplay=function(t){return t=this.worldToDisplay4([t.x,t.y,0,1]),{x:t[0],y:t[1],z:t[2]}},this.displayToWorld=function(t){return t=this.displayToWorld4([t.x,t.y,1,2]),{x:t[0],y:t[1]}},this._getBounds=function(){var t,e,n,i,r={};return t=this.displayToWorld({x:0,y:0}),e=this.displayToWorld({x:this._viewport.width,y:0}),n=this.displayToWorld({x:0,y:this._viewport.height}),i=this.displayToWorld({x:this._viewport.width,y:this._viewport.height}),r.left=Math.min(t.x,e.x,n.x,i.x),r.bottom=Math.min(t.y,e.y,n.y,i.y),r.right=Math.max(t.x,e.x,n.x,i.x),r.top=Math.max(t.y,e.y,n.y,i.y),r},this._setBounds=function(t){var e={width:t.right-t.left,height:t.top-t.bottom},n={x:(t.left+t.right)/2,y:(t.bottom+t.top)/2};return this._viewFromCenterSizeRotation(n,e,0),this},this._viewFromCenterSizeRotation=function(t,e,n){var i,A,o,a,c=r.vec3AsArray(),s=r.vec3AsArray();return this._resetView(),o=Math.abs(e.width),a=Math.abs(e.height),i=o/a,A=this._viewport.width/this._viewport.height,i>=A?(a=o/A,s[0]=2/o,s[1]=2/a):(o=a*A,s[0]=2/o,s[1]=2/a),s[2]=1,this._scale(s),n&&this._rotate(n),c[0]=-t.x,c[1]=-t.y,c[2]=0,this._translate(c),this},this.viewFromCenterSizeRotation=function(t,e,n){return this._viewFromCenterSizeRotation(t,e,n),this._update(),this},this.pan=function(t){(t.x||t.y||t.z)&&(this._translate([t.x,t.y,t.z||0]),this._update())},this.zoom=function(t){1!==t&&(A.scale(this._view,this._view,[t,t,t]),this._update())},this._rotate=function(t,e,n){if(t){n=n||[0,0,-1],e?void 0!==e.x&&(e=[e.x||0,e.y||0,e.z||0]):e=[0,0,0];var i=[-e[0],-e[1],-e[2]];A.translate(this._view,this._view,e),A.rotate(this._view,this._view,t,n),A.translate(this._view,this._view,i)}},this.css=function(t){var e;switch((t||"").toLowerCase()){case"display":case"":e=this.display;break;case"world":e=this.world;break;default:throw new Error("Unknown transform "+t)}return a.css(e)},this.ppMatrix=function(t,e){function n(t){var n=i[t],r=n.toExponential(e);return n>=0&&(r=" "+r),r}var i=t;return e=e||2,[[n(0),n(4),n(8),n(12)].join(" "),[n(1),n(5),n(9),n(13)].join(" "),[n(2),n(6),n(10),n(14)].join(" "),[n(3),n(7),n(11),n(15)].join(" ")].join("\n")},this.toString=function(){return this.ppMatrix(this._transform)},this.debug=function(){return["bounds",JSON.stringify(this.bounds),"view:",this.ppMatrix(this._view),"projection:",this.ppMatrix(this._proj),"transform:",this.ppMatrix(this._transform)].join("\n")},this.valueOf=function(){return this._transform},this._resetView(),this.projection=t.projection||"parallel",t.viewport&&(this.viewport=t.viewport),this._update(),this};a.projection={perspective:!0,parallel:!0},a.bounds={left:-1,right:1,top:1,bottom:-1,far:-2,near:-1},a.css=function(t){return"matrix3d("+[t[0].toFixed(20),t[1].toFixed(20),t[2].toFixed(20),t[3].toFixed(20),t[4].toFixed(20),t[5].toFixed(20),t[6].toFixed(20),t[7].toFixed(20),t[8].toFixed(20),t[9].toFixed(20),t[10].toFixed(20),t[11].toFixed(20),t[12].toFixed(20),t[13].toFixed(20),t[14].toFixed(20),t[15].toFixed(20)].join(",")+")"},a.affine=function(t,e,n){var i=r.mat4AsArray();return n&&A.translate(i,i,[n.x||0,n.y||0,n.z||0]),e&&A.scale(i,i,[e.x||1,e.y||1,e.z||1]),t&&A.translate(i,i,[t.x||0,t.y||0,t.z||0]),i},a.applyTransform=function(t,e){return o.transformMat4(e,e,t)},a.combine=function(t,e){return A.multiply(r.mat4AsArray(),t,e)},e(a,i),t.exports=a}()},function(t,e){function n(){return function(){}}t.exports=function(t,e){var i=n();i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t}},function(t,e,n){var i=n(6),r=n(4),A=function(){"use strict";if(!(this instanceof A))return new A;var t=this,e={},n=[],r=0;return this.onIdle=function(e){return r?n.push(e):e(),t},this.addPromise=function(e){function i(){(r-=1)||n.splice(0,n.length).forEach(function(t){t()})}return r+=1,e.then(i,i),t},this.geoOn=function(n,i){return Array.isArray(n)?(n.forEach(function(e){t.geoOn(e,i)}),t):(e.hasOwnProperty(n)||(e[n]=[]),e[n].push(i),t)},this.geoTrigger=function(n,i){return Array.isArray(n)?(n.forEach(function(e){t.geoTrigger(e,i)}),t):(i=i||{},i.event=n,e.hasOwnProperty(n)&&e[n].forEach(function(e){e.call(t,i)}),t)},this.geoOff=function(i,A){if(void 0===i&&(e={},n=[],r=0),Array.isArray(i))return i.forEach(function(e){t.geoOff(e,A)}),t;if(A){if(Array.isArray(A))return A.forEach(function(e){t.geoOff(i,e)}),t}else e[i]=[];return e.hasOwnProperty(i)&&(e[i]=e[i].filter(function(t){return t!==A})),t},this._exit=function(){t.geoOff()},i.object.call(this),this};r(A,i.object),t.exports=A},function(t,e,n){(function(e){t.exports=e.vgl=n(7)}).call(e,function(){return this}())},function(t,e,n){var i,r,A=n(8),o=n(32),a=n(58),c=n(91),s=n(1);!function(n,A){i=[],void 0!==(r=function(){return n.vgl=A()}.apply(e,i))&&(t.exports=r)}(this,function(){function t(t,e){"use strict";var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.uber=e.prototype,t.prototype.constructor=t}if(void 0===e)var e={};e.namespace=function(t){"use strict";var n,i=t.split("."),r=e;for("ogs"===i[0]&&(i=i.slice(1)),n=0;n<i.length;n+=1)void 0===r[i[n]]&&(r[i[n]]={}),r=r[i[n]];return r};var n=e.namespace("gl");Object.size=function(t){"use strict";var e=0,n=null;for(n in t)t.hasOwnProperty(n)&&(e+=1);return e},n.GL={ACTIVE_ATTRIBUTES:35721,ACTIVE_TEXTURE:34016,ACTIVE_UNIFORMS:35718,ALIASED_LINE_WIDTH_RANGE:33902,ALIASED_POINT_SIZE_RANGE:33901,ALPHA:6406,ALPHA_BITS:3413,ALWAYS:519,ARRAY_BUFFER:34962,ARRAY_BUFFER_BINDING:34964,ATTACHED_SHADERS:35717,BACK:1029,BLEND:3042,BLEND_COLOR:32773,BLEND_DST_ALPHA:32970,BLEND_DST_RGB:32968,BLEND_EQUATION:32777,BLEND_EQUATION_ALPHA:34877,BLEND_EQUATION_RGB:32777,BLEND_SRC_ALPHA:32971,BLEND_SRC_RGB:32969,BLUE_BITS:3412,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,BROWSER_DEFAULT_WEBGL:37444,BUFFER_SIZE:34660,BUFFER_USAGE:34661,BYTE:5120,CCW:2305,CLAMP_TO_EDGE:33071,COLOR_ATTACHMENT0:36064,COLOR_BUFFER_BIT:16384,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,COMPILE_STATUS:35713,COMPRESSED_TEXTURE_FORMATS:34467,CONSTANT_ALPHA:32771,CONSTANT_COLOR:32769,CONTEXT_LOST_WEBGL:37442,CULL_FACE:2884,CULL_FACE_MODE:2885,CURRENT_PROGRAM:35725,CURRENT_VERTEX_ATTRIB:34342,CW:2304,DECR:7683,DECR_WRAP:34056,DELETE_STATUS:35712,DEPTH_ATTACHMENT:36096,DEPTH_BITS:3414,DEPTH_BUFFER_BIT:256,DEPTH_CLEAR_VALUE:2931,DEPTH_COMPONENT:6402,DEPTH_COMPONENT16:33189,DEPTH_FUNC:2932,DEPTH_RANGE:2928,DEPTH_STENCIL:34041,DEPTH_STENCIL_ATTACHMENT:33306,DEPTH_TEST:2929,DEPTH_WRITEMASK:2930,DITHER:3024,DONT_CARE:4352,DST_ALPHA:772,DST_COLOR:774,DYNAMIC_DRAW:35048,ELEMENT_ARRAY_BUFFER:34963,ELEMENT_ARRAY_BUFFER_BINDING:34965,EQUAL:514,FASTEST:4353,FLOAT:5126,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,FRAGMENT_SHADER:35632,FRAMEBUFFER:36160,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_BINDING:36006,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_UNSUPPORTED:36061,FRONT:1028,FRONT_AND_BACK:1032,FRONT_FACE:2886,FUNC_ADD:32774,FUNC_REVERSE_SUBTRACT:32779,FUNC_SUBTRACT:32778,GENERATE_MIPMAP_HINT:33170,GEQUAL:518,GREATER:516,GREEN_BITS:3411,HIGH_FLOAT:36338,HIGH_INT:36341,INCR:7682,INCR_WRAP:34055,INT:5124,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,INVALID_ENUM:1280,INVALID_FRAMEBUFFER_OPERATION:1286,INVALID_OPERATION:1282,INVALID_VALUE:1281,INVERT:5386,KEEP:7680,LEQUAL:515,LESS:513,LINEAR:9729,LINEAR_MIPMAP_LINEAR:9987,LINEAR_MIPMAP_NEAREST:9985,LINES:1,LINE_LOOP:2,LINE_STRIP:3,LINE_WIDTH:2849,LINK_STATUS:35714,LOW_FLOAT:36336,LOW_INT:36339,LUMINANCE:6409,LUMINANCE_ALPHA:6410,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_CUBE_MAP_TEXTURE_SIZE:34076,MAX_FRAGMENT_UNIFORM_VECTORS:36349,MAX_RENDERBUFFER_SIZE:34024,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_TEXTURE_SIZE:3379,MAX_VARYING_VECTORS:36348,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VIEWPORT_DIMS:3386,MEDIUM_FLOAT:36337,MEDIUM_INT:36340,MIRRORED_REPEAT:33648,NEAREST:9728,NEAREST_MIPMAP_LINEAR:9986,NEAREST_MIPMAP_NEAREST:9984,NEVER:512,NICEST:4354,NONE:0,NOTEQUAL:517,NO_ERROR:0,ONE:1,ONE_MINUS_CONSTANT_ALPHA:32772,ONE_MINUS_CONSTANT_COLOR:32770,ONE_MINUS_DST_ALPHA:773,ONE_MINUS_DST_COLOR:775,ONE_MINUS_SRC_ALPHA:771,ONE_MINUS_SRC_COLOR:769,OUT_OF_MEMORY:1285,PACK_ALIGNMENT:3333,POINTS:0,POLYGON_OFFSET_FACTOR:32824,POLYGON_OFFSET_FILL:32823,POLYGON_OFFSET_UNITS:10752,RED_BITS:3410,RENDERBUFFER:36161,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_BINDING:36007,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_STENCIL_SIZE:36181,RENDERBUFFER_WIDTH:36162,RENDERER:7937,REPEAT:10497,REPLACE:7681,RGB:6407,RGB565:36194,RGB5_A1:32855,RGBA:6408,RGBA4:32854,SAMPLER_2D:35678,SAMPLER_CUBE:35680,SAMPLES:32937,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_BUFFERS:32936,SAMPLE_COVERAGE:32928,SAMPLE_COVERAGE_INVERT:32939,SAMPLE_COVERAGE_VALUE:32938,SCISSOR_BOX:3088,SCISSOR_TEST:3089,SHADER_TYPE:35663,SHADING_LANGUAGE_VERSION:35724,SHORT:5122,SRC_ALPHA:770,SRC_ALPHA_SATURATE:776,SRC_COLOR:768,STATIC_DRAW:35044,STENCIL_ATTACHMENT:36128,STENCIL_BACK_FAIL:34817,STENCIL_BACK_FUNC:34816,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,STENCIL_BITS:3415,STENCIL_BUFFER_BIT:1024,STENCIL_CLEAR_VALUE:2961,STENCIL_FAIL:2964,STENCIL_FUNC:2962,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_TEST:2960,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STREAM_DRAW:35040,SUBPIXEL_BITS:3408,TEXTURE:5890,TEXTURE0:33984,TEXTURE1:33985,TEXTURE10:33994,TEXTURE11:33995,TEXTURE12:33996,TEXTURE13:33997,TEXTURE14:33998,TEXTURE15:33999,TEXTURE16:34e3,TEXTURE17:34001,TEXTURE18:34002,TEXTURE19:34003,TEXTURE2:33986,TEXTURE20:34004,TEXTURE21:34005,TEXTURE22:34006,TEXTURE23:34007,TEXTURE24:34008,TEXTURE25:34009,TEXTURE26:34010,TEXTURE27:34011,TEXTURE28:34012,TEXTURE29:34013,TEXTURE3:33987,TEXTURE30:34014,TEXTURE31:34015,TEXTURE4:33988,TEXTURE5:33989,TEXTURE6:33990,TEXTURE7:33991,TEXTURE8:33992,TEXTURE9:33993,TEXTURE_2D:3553,TEXTURE_BINDING_2D:32873,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP:34067,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TRIANGLES:4,TRIANGLE_FAN:6,TRIANGLE_STRIP:5,UNPACK_ALIGNMENT:3317,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,UNSIGNED_BYTE:5121,UNSIGNED_INT:5125,UNSIGNED_SHORT:5123,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,VALIDATE_STATUS:35715,VENDOR:7936,VERSION:7938,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_SHADER:35633,VIEWPORT:2978,ZERO:0};var i=0;n.timestamp=function(){"use strict";if(!(this instanceof n.timestamp))return new n.timestamp;var t=0;this.modified=function(){i+=1,t=i},this.getMTime=function(){return t}},n.object=function(){"use strict";if(!(this instanceof n.object))return new n.object;var t=n.timestamp();return t.modified(),this.modified=function(){t.modified()},this.getMTime=function(){return t.getMTime()},this},n.event=function(){"use strict";return this instanceof n.event?(n.object.call(this),this):new n.event},t(n.event,n.object),n.event.keyPress="vgl.event.keyPress",n.event.mousePress="vgl.event.mousePress",n.event.mouseRelease="vgl.event.mouseRelease",n.event.contextMenu="vgl.event.contextMenu",n.event.configure="vgl.event.configure",n.event.enable="vgl.event.enable",n.event.mouseWheel="vgl.event.mouseWheel",n.event.keyRelease="vgl.event.keyRelease",n.event.middleButtonPress="vgl.event.middleButtonPress",n.event.startInteraction="vgl.event.startInteraction",n.event.enter="vgl.event.enter",n.event.rightButtonPress="vgl.event.rightButtonPress",n.event.middleButtonRelease="vgl.event.middleButtonRelease",n.event.char="vgl.event.char",n.event.disable="vgl.event.disable",n.event.endInteraction="vgl.event.endInteraction",n.event.mouseMove="vgl.event.mouseMove",n.event.mouseOut="vgl.event.mouseOut",n.event.expose="vgl.event.expose",n.event.timer="vgl.event.timer",n.event.leftButtonPress="vgl.event.leftButtonPress",n.event.leave="vgl.event.leave",n.event.rightButtonRelease="vgl.event.rightButtonRelease",n.event.leftButtonRelease="vgl.event.leftButtonRelease",n.event.click="vgl.event.click",n.event.dblClick="vgl.event.dblClick",n.boundingObject=function(){"use strict";if(!(this instanceof n.boundingObject))return new n.boundingObject;n.object.call(this);var t=[0,0,0,0,0,0],e=n.timestamp(),i=n.timestamp();return e.modified(),i.modified(),this.bounds=function(){return t},this.hasValidBounds=function(t){return t[0]!==Number.MAX_VALUE&&t[1]!==-Number.MAX_VALUE&&t[2]!==Number.MAX_VALUE&&t[3]!==-Number.MAX_VALUE&&t[4]!==Number.MAX_VALUE&&t[5]!==-Number.MAX_VALUE},this.setBounds=function(n,i,r,A,o,a){if(this.hasValidBounds([n,i,r,A,o,a]))return t[0]=n,t[1]=i,t[2]=r,t[3]=A,t[4]=o,t[5]=a,this.modified(),e.modified(),!0},this.resetBounds=function(){t[0]=Number.MAX_VALUE,t[1]=-Number.MAX_VALUE,t[2]=Number.MAX_VALUE,t[3]=-Number.MAX_VALUE,t[4]=Number.MAX_VALUE,t[5]=-Number.MAX_VALUE,this.modified()},this.computeBounds=function(){},this.computeBoundsTimestamp=function(){return e},this.boundsDirtyTimestamp=function(){return i},this.resetBounds(),this},n.boundingObject.ReferenceFrame={Relative:0,Absolute:1},t(n.boundingObject,n.object),n.node=function(){"use strict";if(!(this instanceof n.node))return new n.node;n.boundingObject.call(this);var t=null,e=null,i=!0,r=!1;return this.accept=function(t){t.visit(this)},this.material=function(){return e},this.setMaterial=function(t){return t!==e&&(e=t,this.modified(),!0)},this.visible=function(){return i},this.setVisible=function(t){return t!==i&&(i=t,this.modified(),!0)},this.parent=function(){return t},this.setParent=function(e){return e!==t&&(null!==t&&t.removeChild(this),t=e,this.modified(),!0)},this.overlay=function(){return r},this.setOverlay=function(t){return r!==t&&(r=t,this.modified(),!0)},this.ascend=function(t){t=t},this.traverse=function(t){t=t},this.boundsModified=function(){this.boundsDirtyTimestamp().modified(),null!==t&&t.boundsModified()},this},t(n.node,n.boundingObject),n.groupNode=function(){"use strict";if(!(this instanceof n.groupNode))return new n.groupNode;n.node.call(this);var t=[];return this.b_setVisible=this.setVisible,this.setVisible=function(e){var n;if(!0!==this.b_setVisible(e))return!1;for(n=0;n<t.length;n+=1)t[n].setVisible(e);return!0},this.addChild=function(e){return e instanceof n.node&&(-1===t.indexOf(e)&&(e.setParent(this),t.push(e),this.boundsDirtyTimestamp().modified(),!0))},this.removeChild=function(e){if(e.parent()===this){var n=t.indexOf(e);return t.splice(n,1),this.boundsDirtyTimestamp().modified(),!0}},this.removeChildren=function(){var e;for(e=0;e<t.length;e+=1)this.removeChild(t[e]);this.modified()},this.children=function(){return t},this.hasChild=function(e){var n=0,i=!1;for(n=0;n<t.length;n+=1)if(t[n]===e){i=!0;break}return i},this.accept=function(t){t.visit(this)},this.traverse=function(t){switch(t.type()){case t.UpdateVisitor:this.traverseChildrenAndUpdateBounds(t);break;case t.CullVisitor:this.traverseChildren(t)}},this.traverseChildrenAndUpdateBounds=function(e){var n;if(this.m_parent&&this.boundsDirtyTimestamp().getMTime()>this.computeBoundsTimestamp().getMTime()&&this.m_parent.boundsDirtyTimestamp.modified(),this.computeBounds(),e.mode()===e.TraverseAllChildren)for(n=0;n<t.length();n+=1)t[n].accept(e),this.updateBounds(t[n]);this.computeBoundsTimestamp().modified()},this.traverseChildren=function(e){var i;if(e.mode()===n.vesVisitor.TraverseAllChildren)for(i=0;i<t.length();i+=1)t[i].accept(e)},this.computeBounds=function(){var e=0;if(!(this.computeBoundsTimestamp().getMTime()>this.boundsDirtyTimestamp().getMTime()))for(e=0;e<t.length;e+=1)this.updateBounds(t[e])},this.updateBounds=function(t){if(!t.overlay()){t.computeBounds();var e,n=this.bounds(),i=t.bounds(),r=0,A=0;for(e=0;e<3;e+=1)r=2*e,A=2*e+1,i[r]<n[r]&&(n[r]=i[r]),i[A]>n[A]&&(n[A]=i[A]);this.setBounds(n[0],n[1],n[2],n[3],n[4],n[5])}},this},t(n.groupNode,n.node),n.actor=function(){"use strict";if(!(this instanceof n.actor))return new n.actor;n.node.call(this);var t=this,e=A.create(),i=n.boundingObject.ReferenceFrame.Relative,r=null;return this.matrix=function(){return e},this.setMatrix=function(n){n!==e&&(e=n,t.modified())},this.referenceFrame=function(){return i},this.setReferenceFrame=function(e){return e!==i&&(i=e,t.modified(),!0)},this.mapper=function(){return r},this.setMapper=function(e){e!==r&&(r=e,t.boundsModified())},this.accept=function(t){t=t},this.ascend=function(t){t=t},this.computeLocalToWorldMatrix=function(t,e){t=t,e=e},this.computeWorldToLocalMatrix=function(t,e){t=t,e=e},this.computeBounds=function(){if(null===r||void 0===r)return void t.resetBounds();var n,i,A,o,c=t.computeBoundsTimestamp();(t.boundsDirtyTimestamp().getMTime()>c.getMTime()||r.boundsDirtyTimestamp().getMTime()>c.getMTime())&&(r.computeBounds(),n=r.bounds(),i=[n[0],n[2],n[4]],A=[n[1],n[3],n[5]],a.transformMat4(i,i,e),a.transformMat4(A,A,e),o=[i[0]>A[0]?A[0]:i[0],i[0]>A[0]?i[0]:A[0],i[1]>A[1]?A[1]:i[1],i[1]>A[1]?i[1]:A[1],i[2]>A[2]?A[2]:i[2],i[2]>A[2]?i[2]:A[2]],t.setBounds(o[0],o[1],o[2],o[3],o[4],o[5]),c.modified())},t},t(n.actor,n.node),n.freezeObject=function(t){"use strict";var e=Object.freeze(t);return void 0===e&&(e=function(t){return t}),e},n.defaultValue=function(t,e){"use strict";return void 0!==t?t:e},n.defaultValue.EMPTY_OBJECT=n.freezeObject({}),n.graphicsObject=function(t){"use strict";if(t=t,!(this instanceof n.graphicsObject))return new n.graphicsObject;n.object.call(this);var e=this;return this._setup=function(t){return t=t,!1},this._cleanup=function(t){return t=t,!1},this.bind=function(t){return t=t,!1},this.undoBind=function(t){return t=t,!1},this.render=function(t){return t=t,!1},this.remove=function(t){e._cleanup(t)},e},t(n.graphicsObject,n.object),n.geojsonReader=function(){"use strict";return this instanceof n.geojsonReader?(this.readScalars=function(t,e,i,r){var A=null,o=null,a=null,c=null,s=null;"values"===this.m_scalarFormat&&4===t.length?(o=t[3],A=e.sourceData(n.vertexAttributeKeys.Scalar),A||(A=new n.sourceDataSf,this.m_scalarRange&&A.setScalarRange(this.m_scalarRange[0],this.m_scalarRange[1]),void 0!==i&&(A.data().length=i),e.addSource(A)),void 0===i?A.pushBack(o):A.insertAt(r,o)):"rgb"===this.m_scalarFormat&&6===t.length&&(A=e.sourceData(n.vertexAttributeKeys.Color),A||(A=new n.sourceDataC3fv,void 0!==i&&(A.length=3*i),e.addSource(A)),a=t[3],c=t[4],s=t[5],void 0===i?A.pushBack([a,c,s]):A.insertAt(r,[a,c,s]))},this.readPoint=function(t){var e=new n.geometryData,i=new n.points,r=new n.sourceDataP3fv,A=new Uint16Array(1),o=null,a=null,c=null,s=null;for(e.addSource(r),s=0;s<1;s+=1)A[s]=s,o=t[0],a=t[1],c=0,t.length>2&&(c=t[2]),r.pushBack([o,a,c]),this.readScalars(t,e);return i.setIndices(A),e.addPrimitive(i),e.setName("aPoint"),e},this.readMultiPoint=function(t){var e,i=new n.geometryData,r=new n.points,A=new n.sourceDataP3fv,o=new Uint16Array(t.length),a=0,c=t.length,s=null,u=null,g=null;for(A.data().length=3*c,e=0;e<t.length;e+=1)o[e]=e,s=t[e][0],u=t[e][1],g=0,t[e].length>2&&(g=t[e][2]),A.insertAt(a,[s,u,g]),this.readScalars(t[e],i,c,a),a+=1;return r.setIndices(o),i.addPrimitive(r),i.addSource(A),i.setName("manyPoints"),i},this.readLineString=function(t){var e=new n.geometryData,i=new n.lineStrip,r=new n.sourceDataP3fv,A=[],o=null,a=null,c=null,s=null;for(i.setIndicesPerPrimitive(t.length),o=0;o<t.length;o+=1)A.push(o),a=t[o][0],c=t[o][1],s=0,t[o].length>2&&(s=t[o][2]),r.pushBack([a,c,s]),this.readScalars(t[o],e);return i.setIndices(A),e.addPrimitive(i),e.addSource(r),e.setName("aLineString"),e},this.readMultiLineString=function(t){var e=new n.geometryData,i=new n.sourceDataP3fv,r=0,A=2*t.length,o=null,a=null,c=null,s=null,u=null,g=null,l=null,M=null;for(i.data().length=3*A,a=0;a<t.length;a+=1){for(g=[],l=new n.lineStrip,M=t[a].length,l.setIndicesPerPrimitive(M),o=0;o<M;o+=1)g.push(r),c=t[a][o][0],s=t[a][o][1],u=0,t[a][o].length>2&&(u=t[a][o][2]),i.insertAt(r,[c,s,u]),this.readScalars(t[a][o],e,2*A,r),r+=1;l.setIndices(g),e.addPrimitive(l)}return e.setName("aMultiLineString"),e.addSource(i),e},this.readPolygon=function(t){var e=new n.geometryData,i=new n.sourceDataP3fv,r=null,A=null,o=null,a=t[0].length,c=1,s=null,u=null,g=null;for(s=0;s<a;s+=1)r=t[0][s][0],A=t[0][s][1],o=0,t[0][s].length>2&&(o=t[0][s][2]),i.pushBack([r,A,o]),this.readScalars(t[0][s],e),s>1&&(u=new Uint16Array([0,c,s]),g=new n.triangles,g.setIndices(u),e.addPrimitive(g),c=s);return e.setName("POLY"),e.addSource(i),e},this.readMultiPolygon=function(t){var e=new n.geometryData,i=new n.sourceDataP3fv,r=0,A=t.length,o=0,a=3*A,c=new n.triangles,s=[],u=null,g=null,l=null,M=null,h=null,d=null,f=null,I=null,E=null,T=!1,N=0;for(i.data().length=3*A,g=0;g<A;g+=1)for(d=t[g][0].length,f=r,I=r+1,E=[!1,!1,!1],u=0;u<d;u+=1)l=t[g][0][u][0],M=t[g][0][u][1],h=0,t[g][0][u].length>2&&(h=t[g][0][u][2]),T=!1,l>180&&(T=!0,l-=360),0===u?E[0]=T:E[1+(u-1)%2]=T,i.insertAt(o,[l,M,h]),this.readScalars(t[g][0][u],e,a,o),o+=1,u>1&&(E[0]===E[1]&&E[1]===E[2]&&(s[3*N+0]=f,s[3*N+1]=I,s[3*N+2]=r,N+=1),I=r),r+=1;return c.setIndices(s),e.addPrimitive(c),e.setName("aMultiPoly"),e.addSource(i),e},this.readGJObjectInt=function(t){if(!t.hasOwnProperty("type"))return null;t.properties&&t.properties.ScalarFormat&&"values"===t.properties.ScalarFormat&&(this.m_scalarFormat="values",t.properties.ScalarRange&&(this.m_scalarRange=t.properties.ScalarRange)),t.properties&&t.properties.ScalarFormat&&"rgb"===t.properties.ScalarFormat&&(this.m_scalarFormat="rgb");var e,n=t.type,i=null,r=null,A=null;switch(n){case"Point":e=this.readPoint(t.coordinates);break;case"MultiPoint":e=this.readMultiPoint(t.coordinates);break;case"LineString":e=this.readLineString(t.coordinates);break;case"MultiLineString":e=this.readMultiLineString(t.coordinates);break;case"Polygon":e=this.readPolygon(t.coordinates);break;case"MultiPolygon":e=this.readMultiPolygon(t.coordinates);break;case"GeometryCollection":for(r=[],A=0;A<t.geometries.length;A+=1)i=this.readGJObject(t.geometries[A]),r.push(i);e=r;break;case"Feature":i=this.readGJObject(t.geometry),e=i;break;case"FeatureCollection":for(r=[],A=0;A<t.features.length;A+=1)i=this.readGJObject(t.features[A]),r.push(i);e=r;break;default:console.log("Don't understand type "+n),e=null}return e},this.readGJObject=function(t){return this.readGJObjectInt(t)},this.linearizeGeoms=function(t,e){var n=null;if("[object Array]"===Object.prototype.toString.call(e))for(n=0;n<e.length;n+=1)this.linearizeGeoms(t,e[n]);else t.push(e)},this.readGeomObject=function(t){var e,n=[];return e=this.readGJObject(t),this.linearizeGeoms(n,e),n},this.getPrimitives=function(t){if(!t)return[];var e=JSON.parse(t),n=this.readGJObject(e),i=[];return this.m_scalarFormat="none",this.m_scalarRange=null,this.linearizeGeoms(i,n),{geoms:i,scalarFormat:this.m_scalarFormat,scalarRange:this.m_scalarRange}},this):new n.geojsonReader},n.data=function(){"use strict";if(!(this instanceof n.data))return new n.data;this.type=function(){}},n.data.raster=0,n.data.point=1,n.data.lineString=2,n.data.polygon=3,n.data.geometry=10,n.primitive=function(){"use strict";if(!(this instanceof n.primitive))return new n.primitive;var t=0,e=0,i=0,r=null;return this.indices=function(){return r},this.createIndices=function(t){t=t,r=new Uint16Array},this.numberOfIndices=function(){return r.length},this.sizeInBytes=function(){return r.length*Uint16Array.BYTES_PER_ELEMENT},this.primitiveType=function(){return e},this.setPrimitiveType=function(t){e=t},this.indicesPerPrimitive=function(){return t},this.setIndicesPerPrimitive=function(e){t=e},this.indicesValueType=function(){return i},this.setIndicesValueType=function(t){i=t},this.setIndices=function(t){r=new Uint16Array(t)},this},n.triangleStrip=function(){"use strict";return this instanceof n.triangleStrip?(n.primitive.call(this),this.setPrimitiveType(n.GL.TRIANGLE_STRIP),this.setIndicesValueType(n.GL.UNSIGNED_SHORT),this.setIndicesPerPrimitive(3),this):new n.triangleStrip},t(n.triangleStrip,n.primitive),n.triangles=function(){"use strict";return this instanceof n.triangles?(n.primitive.call(this),this.setPrimitiveType(n.GL.TRIANGLES),this.setIndicesValueType(n.GL.UNSIGNED_SHORT),this.setIndicesPerPrimitive(3),this):new n.triangles},t(n.triangles,n.primitive),n.lines=function(){"use strict";return this instanceof n.lines?(n.primitive.call(this),this.setPrimitiveType(n.GL.LINES),this.setIndicesValueType(n.GL.UNSIGNED_SHORT),this.setIndicesPerPrimitive(2),this):new n.lines},t(n.lines,n.primitive),n.lineStrip=function(){"use strict";return this instanceof n.lineStrip?(n.primitive.call(this),this.setPrimitiveType(n.GL.LINE_STRIP),this.setIndicesValueType(n.GL.UNSIGNED_SHORT),this.setIndicesPerPrimitive(2),this):new n.lineStrip},t(n.lineStrip,n.primitive),n.points=function(){"use strict";return this instanceof n.points?(n.primitive.call(this),this.setPrimitiveType(n.GL.POINTS),this.setIndicesValueType(n.GL.UNSIGNED_SHORT),this.setIndicesPerPrimitive(1),this):new n.points},t(n.points,n.primitive),n.vertexDataP3f=function(){"use strict";return this instanceof n.vertexDataP3f?(this.m_position=[],this):new n.vertexDataP3f},n.vertexDataP3N3f=function(){"use strict";return this instanceof n.vertexDataP3N3f?(this.m_position=[],this.m_normal=[],this):new n.vertexDataP3N3f},n.vertexDataP3T3f=function(){"use strict";return this instanceof n.vertexDataP3T3f?(this.m_position=[],this.m_texCoordinate=[],this):new n.vertexDataP3T3f},n.sourceData=function(t){"use strict";if(!(this instanceof n.sourceData))return new n.sourceData(t);t=t||{};var e={},i=[],r=t.name||"Source "+(new Date).toISOString(),A=function(){this.m_numberOfComponents=0,this.m_dataType=0,this.m_dataTypeSize=0,this.m_normalized=!1,this.m_stride=0,this.m_offset=0};return this.data=function(){return i},this.getData=function(){return this.data()},this.dataToFloat32Array=function(){return i instanceof Float32Array||(i=new Float32Array(i)),i},this.setData=function(t){if(!(t instanceof Array||t instanceof Float32Array))return void console.log("[error] Requires array");i=t instanceof Float32Array?t:t.slice(0)},this.addAttribute=function(t,n,i,r,o,a,c){if(!e.hasOwnProperty(t)){var s=new A;s.m_dataType=n,s.m_dataTypeSize=i,s.m_offset=r,s.m_stride=o,s.m_numberOfComponents=a,s.m_normalized=c,e[t]=s}},this.sizeOfArray=function(){return Object.size(i)},this.lengthOfArray=function(){return i.length},this.sizeInBytes=function(){var t,e=0,n=this.keys();for(t=0;t<n.length();t+=1)e+=this.numberOfComponents(n[t])*this.sizeOfAttributeDataType(n[t]);return e*=this.sizeOfArray()},this.hasKey=function(t){return e.hasOwnProperty(t)},this.keys=function(){return Object.keys(e)},this.numberOfAttributes=function(){return Object.size(e)},this.attributeNumberOfComponents=function(t){return e.hasOwnProperty(t)?e[t].m_numberOfComponents:0},this.normalized=function(t){return!!e.hasOwnProperty(t)&&e[t].m_normalized},this.sizeOfAttributeDataType=function(t){return e.hasOwnProperty(t)?e[t].m_dataTypeSize:0},this.attributeDataType=function(t){if(e.hasOwnProperty(t))return e[t].m_dataType},this.attributeOffset=function(t){return e.hasOwnProperty(t)?e[t].m_offset:0},this.attributeStride=function(t){return e.hasOwnProperty(t)?e[t].m_stride:0},this.pushBack=function(t){t=t},this.insert=function(t){var e;if(!i.length&&t.length&&t instanceof Float32Array)return void(i=t);if(i.slice||!i.length&&t.slice||(i=Array.prototype.slice.call(i)),t.length)if(!i.length&&t.slice)i=t.slice(0);else for(e=0;e<t.length;e+=1)i[i.length]=t[e];else i[i.length]=t},this.insertAt=function(t,e){var n;if(e.length)for(n=0;n<e.length;n+=1)i[t*e.length+n]=e[n];else i[t]=e},this.name=function(){return r},this.setName=function(t){r=t},this},n.sourceDataAnyfv=function(t,e,i){"use strict";return this instanceof n.sourceDataAnyfv?(n.sourceData.call(this,i),this.addAttribute(e,n.GL.FLOAT,4,0,4*t,t,!1),this.pushBack=function(t){this.insert(t)},this):new n.sourceDataAnyfv(t,e,i)},t(n.sourceDataAnyfv,n.sourceData),n.sourceDataP3T3f=function(t){"use strict";return this instanceof n.sourceDataP3T3f?(n.sourceData.call(this,t),this.addAttribute(n.vertexAttributeKeys.Position,n.GL.FLOAT,4,0,24,3,!1),this.addAttribute(n.vertexAttributeKeys.TextureCoordinate,n.GL.FLOAT,4,12,24,3,!1),this.pushBack=function(t){this.insert(t.m_position),this.insert(t.m_texCoordinate)},this):new n.sourceDataP3T3f(t)},t(n.sourceDataP3T3f,n.sourceData),n.sourceDataP3N3f=function(t){"use strict";return this instanceof n.sourceDataP3N3f?(n.sourceData.call(this,t),this.addAttribute(n.vertexAttributeKeys.Position,n.GL.FLOAT,4,0,24,3,!1),this.addAttribute(n.vertexAttributeKeys.Normal,n.GL.FLOAT,4,12,24,3,!1),this.pushBack=function(t){this.insert(t.m_position),this.insert(t.m_normal)},this):new n.sourceDataP3N3f(t)},t(n.sourceDataP3N3f,n.sourceData),n.sourceDataP3fv=function(t){"use strict";return this instanceof n.sourceDataP3fv?(n.sourceData.call(this,t),this.addAttribute(n.vertexAttributeKeys.Position,n.GL.FLOAT,4,0,12,3,!1),this.pushBack=function(t){this.insert(t)},this):new n.sourceDataP3fv(t)},t(n.sourceDataP3fv,n.sourceData),n.sourceDataT2fv=function(t){"use strict";return this instanceof n.sourceDataT2fv?(n.sourceData.call(this,t),this.addAttribute(n.vertexAttributeKeys.TextureCoordinate,n.GL.FLOAT,4,0,8,2,!1),this.pushBack=function(t){this.insert(t)},this):new n.sourceDataT2fv(t)},t(n.sourceDataT2fv,n.sourceData),n.sourceDataC3fv=function(t){"use strict";return this instanceof n.sourceDataC3fv?(n.sourceData.call(this,t),this.addAttribute(n.vertexAttributeKeys.Color,n.GL.FLOAT,4,0,12,3,!1),this.pushBack=function(t){this.insert(t)},this):new n.sourceDataC3fv(t)},t(n.sourceDataC3fv,n.sourceData),n.sourceDataSf=function(t){"use strict";if(!(this instanceof n.sourceDataSf))return new n.sourceDataSf(t);var e=null,i=null,r=null,A=null;return n.sourceData.call(this,t),this.addAttribute(n.vertexAttributeKeys.Scalar,n.GL.FLOAT,4,0,4,1,!1),this.pushBack=function(t){(null===i||t>i)&&(i=t),(null===e||t<e)&&(e=t),this.data()[this.data().length]=t},this.insertAt=function(t,n){(null===i||n>i)&&(i=n),(null===e||n<e)&&(e=n),this.data()[t]=n},this.scalarRange=function(){return null===r||null===A?[e,i]:[r,A]},this.setScalarRange=function(t,e){r=t,A=e},this},t(n.sourceDataSf,n.sourceData),n.sourceDataDf=function(t){"use strict";return this instanceof n.sourceDataDf?(n.sourceData.call(this,t),this.addAttribute(n.vertexAttributeKeys.Scalar,n.GL.FLOAT,4,0,4,1,!1),this.pushBack=function(t){this.data()[this.data().length]=t},this.insertAt=function(t,e){this.data()[t]=e},this):new n.sourceDataDf(t)},t(n.sourceDataDf,n.sourceData),n.geometryData=function(){"use strict";if(!(this instanceof n.geometryData))return new n.geometryData;n.data.call(this);var t="",e=[],i=[],r=[0,0,0,0,0,0],A=n.timestamp(),o=n.timestamp();return this.type=function(){return n.data.geometry},this.name=function(){return t},this.setName=function(e){t=e},this.addSource=function(t,e){return void 0!==e&&t.setName(e),-1===i.indexOf(t)&&(i.push(t),t.hasKey(n.vertexAttributeKeys.Position)&&o.modified(),!0)},this.source=function(t){return t<i.length?i[t]:0},this.sourceByName=function(t){for(var e=0;e<i.length;e+=1)if(i[e].name()===t)return i[e];return 0},this.numberOfSources=function(){return i.length},this.sourceData=function(t){var e;for(e=0;e<i.length;e+=1)if(i[e].hasKey(t))return i[e];return null},this.addPrimitive=function(t){return e.push(t),!0},this.primitive=function(t){return t<e.length?e[t]:null},this.numberOfPrimitives=function(){return e.length},this.bounds=function(){return o.getMTime()>A.getMTime()&&this.computeBounds(),r},this.boundsDirty=function(t){return t&&o.modified(),o.getMTime()>A.getMTime()},this.resetBounds=function(){r[0]=0,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=0},this.setBounds=function(t,e,n,i,o,a){return r[0]=t,r[1]=e,r[2]=n,r[3]=i,r[4]=o,r[5]=a,A.modified(),!0},this.computeBounds=function(){if(o.getMTime()>A.getMTime()){var t,e,i,a,c,s,u=n.vertexAttributeKeys.Position,g=this.sourceData(u),l=g.data(),M=g.attributeNumberOfComponents(u),h=g.attributeStride(u),d=g.attributeOffset(u),f=g.sizeOfAttributeDataType(u),I=l.length,E=null;for(h/=f,d/=f,this.resetBounds(),t=0;t<M;t+=1){for(e=2*t,i=2*t+1,a=c=I?r[i]=l[d+t]:0,s=d+h+t;s<I;s+=h)E=l[s],E>a&&(a=E),E<c&&(c=E);r[e]=c,r[i]=a}A.modified()}},this.findClosestVertex=function(t){var e,i,r,A,o,a,c,s=n.vertexAttributeKeys.Position,u=this.sourceData(s),g=u.sizeOfAttributeDataType(s),l=u.attributeNumberOfComponents(s),M=u.data(),h=u.attributeStride(s)/g,d=u.attributeOffset(s)/g,f=Number.MAX_VALUE,I=null;for(3!==l&&console.log("[warning] Find closest vertex assumes threecomponent vertex "),t.z||(t={x:t.x,y:t.y,z:0}),e=d,c=0;e<M.length;e+=h,c+=1)i=[M[e],M[e+1],M[e+2]],r=i[0]-t.x,A=i[1]-t.y,o=i[2]-t.z,(a=Math.sqrt(r*r+A*A+o*o))<f&&(f=a,I=c);return I},this.getPosition=function(t){var e=n.vertexAttributeKeys.Position,i=this.sourceData(e),r=i.sizeOfAttributeDataType(e),A=i.attributeNumberOfComponents(e),o=i.data(),a=i.attributeStride(e)/r,c=i.attributeOffset(e)/r;return 3!==A&&console.log("[warning] getPosition assumes three component data"),[o[c+t*a],o[c+t*a+1],o[c+t*a+2]]},this.getScalar=function(t){var e,i,r,A,o=n.vertexAttributeKeys.Scalar,a=this.sourceData(o);return a?(a.attributeNumberOfComponents(o),e=a.sizeOfAttributeDataType(o),i=a.data(),r=a.attributeStride(o)/e,A=a.attributeOffset(o)/e,t*r+A>=i.length&&console.log("access out of bounds in getScalar"),i[t*r+A]):null},this},t(n.geometryData,n.data),n.mapper=function(t){"use strict";function e(t){if(a){t&&(l=t.m_context);var e,i,r,A,o,M,h,d=a.numberOfSources(),f=null;for(e=0;e<d;e+=1){for(f=l.createBuffer(),l.bindBuffer(n.GL.ARRAY_BUFFER,f),h=a.source(e).data(),h instanceof Float32Array||(h=new Float32Array(h)),l.bufferData(n.GL.ARRAY_BUFFER,h,u?n.GL.DYNAMIC_DRAW:n.GL.STATIC_DRAW),A=a.source(e).keys(),o=[],i=0;i<A.length;i+=1)o.push(A[i]);s[e]=o,c[e]=f}for(M=a.numberOfPrimitives(),r=0;r<M;r+=1)f=l.createBuffer(),l.bindBuffer(n.GL.ARRAY_BUFFER,f),l.bufferData(n.GL.ARRAY_BUFFER,a.primitive(r).indices(),n.GL.STATIC_DRAW),c[e]=f,e+=1;g.modified()}}function i(t){t=t,s={},c=[]}function r(t){M.deleteVertexBufferObjects(t),i(t),e(t),A=!1}if(!(this instanceof n.mapper))return new n.mapper(t);n.boundingObject.call(this),t=t||{};var A=!0,o=[0,1,1],a=null,c=[],s={},u=void 0!==t.dynamicDraw&&t.dynamicDraw,g=n.timestamp(),l=null,M=this;return this.deleteVertexBufferObjects=function(t){var e,n=l;if(t&&(n=t.m_context),n)for(e=0;e<c.length;e+=1)n.deleteBuffer(c[e])},this.computeBounds=function(){if(null===a||void 0===a)return void this.resetBounds();var t=this.computeBoundsTimestamp(),e=this.boundsDirtyTimestamp(),n=null;e.getMTime()>t.getMTime()&&(n=a.bounds(),this.setBounds(n[0],n[1],n[2],n[3],n[4],n[5]),t.modified())},this.color=function(){return o},this.setColor=function(t,e,n){o[0]=t,o[1]=e,o[2]=n,this.modified()},this.geometryData=function(){return a},this.setGeometryData=function(t){a!==t&&(a=t,this.modified(),this.boundsDirtyTimestamp().modified())},this.updateSourceBuffer=function(t,e,i){if(i&&(l=i.m_context),!l)return!1;for(var r=-1,A=0;A<a.numberOfSources();A+=1)if(a.source(A).name()===t){r=A;break}return!(r<0||r>=c.length)&&(e||(e=a.source(A).dataToFloat32Array()),l.bindBuffer(n.GL.ARRAY_BUFFER,c[r]),e instanceof Float32Array?l.bufferSubData(n.GL.ARRAY_BUFFER,0,e):l.bufferSubData(n.GL.ARRAY_BUFFER,0,new Float32Array(e)),!0)},this.getSourceBuffer=function(t){var e=a.sourceByName(t);return e?e.dataToFloat32Array():new Float32Array},this.render=function(t){(this.getMTime()>g.getMTime()||t.m_contextChanged)&&r(t),l=t.m_context,l.vertexAttrib3fv(n.vertexAttributeKeys.Color,this.color());var e,i=0,A=0,o=null,u=null;for(e in s)if(s.hasOwnProperty(e)){for(l.bindBuffer(n.GL.ARRAY_BUFFER,c[i]),A=0;A<s[e].length;A+=1)t.m_material.bindVertexData(t,s[e][A]);i+=1}for(o=a.numberOfPrimitives(),A=0;A<o;A+=1){switch(l.bindBuffer(n.GL.ARRAY_BUFFER,c[i]),i+=1,u=a.primitive(A),u.primitiveType()){case n.GL.POINTS:l.drawArrays(n.GL.POINTS,0,u.numberOfIndices());break;case n.GL.LINES:l.drawArrays(n.GL.LINES,0,u.numberOfIndices());break;case n.GL.LINE_STRIP:l.drawArrays(n.GL.LINE_STRIP,0,u.numberOfIndices());break;case n.GL.TRIANGLES:l.drawArrays(n.GL.TRIANGLES,0,u.numberOfIndices());break;case n.GL.TRIANGLE_STRIP:l.drawArrays(n.GL.TRIANGLE_STRIP,0,u.numberOfIndices())}l.bindBuffer(n.GL.ARRAY_BUFFER,null)}},this},t(n.mapper,n.boundingObject),n.groupMapper=function(){"use strict";if(!(this instanceof n.groupMapper))return new n.groupMapper;n.mapper.call(this);var t=n.timestamp(),e=[],i=[];return this.geometryData=function(t){return void 0!==t&&t<i.length?i[t]:i.length>0?i[0]:null},this.setGeometryData=function(t){1===i.length&&i[0]===t||(i=[],i.push(t),this.modified())},this.geometryDataArray=function(){return i},this.setGeometryDataArray=function(t){if(t instanceof Array){if(i!==t)return i=[],i=t,this.modified(),!0}else console.log("[error] Requies array of geometry data");return!1},this.computeBounds=function(){if(null===i||void 0===i)return void this.resetBounds();var t=this.computeBoundsTimestamp(),e=this.boundsDirtyTimestamp(),n=this.bounds(),r=null,A=null;if(e.getMTime()>t.getMTime()){for(A=0;A<i.length;A+=1)r=i[A].bounds(),n[0]>r[0]&&(n[0]=r[0]),n[1]<r[1]&&(n[1]=r[1]),n[2]>r[2]&&(n[2]=r[2]),n[3]<r[3]&&(n[3]=r[3]),n[4]>r[4]&&(n[4]=r[4]),n[5]<r[5]&&(n[5]=r[5]);this.modified(),t.modified()}},this.render=function(r){var A=null;if(this.getMTime()>t.getMTime()){for(A=0;A<i.length;A+=1)e.push(n.mapper()),e[A].setGeometryData(i[A]);t.modified()}for(A=0;A<e.length;A+=1)e[A].render(r)},this},t(n.groupMapper,n.mapper),n.materialAttributeType={Undefined:0,ShaderProgram:1,Texture:2,Blend:3,Depth:4},n.materialAttribute=function(t){"use strict";if(!(this instanceof n.materialAttribute))return new n.materialAttribute;n.graphicsObject.call(this);var e=this,i=t;return this.type=function(){return i},this.enabled=function(){return!0},this.bindVertexData=function(t,e){return t=t,e=e,!1},this.undoBindVertexData=function(t,e){return t=t,e=e,!1},e},t(n.materialAttribute,n.graphicsObject),n.blendFunction=function(t,e){"use strict";if(!(this instanceof n.blendFunction))return new n.blendFunction(t,e);var i=t,r=e;return this.apply=function(t){t.m_context.blendFuncSeparate(i,r,n.GL.ONE,n.GL.ONE_MINUS_SRC_ALPHA)},this},n.blend=function(){"use strict";if(!(this instanceof n.blend))return new n.blend;n.materialAttribute.call(this,n.materialAttributeType.Blend);var t=!1,e=n.blendFunction(n.GL.SRC_ALPHA,n.GL.ONE_MINUS_SRC_ALPHA);return this.bind=function(i){return t=i.m_context.isEnabled(n.GL.BLEND),this.enabled()?(i.m_context.enable(n.GL.BLEND),e.apply(i)):i.m_context.disable(n.GL.BLEND),!0},this.undoBind=function(e){return t?e.m_context.enable(n.GL.BLEND):e.m_context.disable(n.GL.BLEND),!0},this},t(n.blend,n.materialAttribute),n.material=function(){"use strict";if(!(this instanceof n.material))return new n.material;n.graphicsObject.call(this);var t=this,e=new n.shaderProgram,i=100,r={},A={};return this.binNumber=function(){return i},this.setBinNumber=function(e){i=e,t.modified()},this.exists=function(t){return t.type()===n.materialAttribute.Texture?r.hasOwnProperty(t):A.hasOwnProperty(t)},this.uniform=function(t){return e?e.uniform(t):null},this.attribute=function(t){return A.hasOwnProperty(t)?A[t]:r.hasOwnProperty(t)?r[t]:null},this.setAttribute=function(i){return i.type()===n.materialAttributeType.Texture&&r[i.textureUnit()]!==i?(r[i.textureUnit()]=i,t.modified(),!0):A[i.type()]!==i&&(i.type()===n.materialAttributeType.ShaderProgram&&(e=i),A[i.type()]=i,t.modified(),!0)},this.addAttribute=function(i){return!t.exists(i)&&(i.type()===n.materialAttributeType.Texture?(r[i.textureUnit()]=i,t.modified(),!0):(i.type()===n.materialAttributeType.ShaderProgram&&(e=i),A[i.type()]=i,t.modified(),!0))},this.shaderProgram=function(){return e},this._setup=function(t){return t=t,!1},this._cleanup=function(t){for(var e in A)A.hasOwnProperty(e)&&A[e]._cleanup(t);for(e in r)r.hasOwnProperty(e)&&r[e]._cleanup(t)},this.bind=function(t){var n=null;e.bind(t);for(n in A)A.hasOwnProperty(n)&&A[n]!==e&&A[n].bind(t);for(n in r)r.hasOwnProperty(n)&&r[n].bind(t)},this.undoBind=function(t){var e=null;for(e in A)A.hasOwnProperty(e)&&A[e].undoBind(t);for(e in r)r.hasOwnProperty(e)&&r[e].undoBind(t)},this.bindVertexData=function(t,e){var n=null;for(n in A)A.hasOwnProperty(n)&&A[n].bindVertexData(t,e)},this.undoBindVertexData=function(t,e){var n=null;for(n in A)A.hasOwnProperty(n)&&A.undoBindVertexData(t,e)},t},n.material.RenderBin={Base:0,Default:100,Opaque:100,Transparent:1e3,Overlay:1e4},t(n.material,n.graphicsObject),n.renderState=function(){"use strict";this.m_context=null,this.m_modelViewMatrix=A.create(),this.m_normalMatrix=A.create(),this.m_projectionMatrix=null,this.m_material=null,this.m_mapper=null},n.renderer=function(t){"use strict";if(!(this instanceof n.renderer))return new n.renderer(t);n.graphicsObject.call(this),t=t||{};var e=this;return e.m_renderWindow=null,e.m_contextChanged=!1,e.m_sceneRoot=new n.groupNode,e.m_camera=new n.camera(t),e.m_nearClippingPlaneTolerance=null,e.m_x=0,e.m_y=0,e.m_width=0,e.m_height=0,e.m_resizable=!0,e.m_resetScene=!0,e.m_layer=0,e.m_renderPasses=null,e.m_resetClippingRange=!0,e.m_depthBits=null,e.m_camera.addChild(e.m_sceneRoot),this.width=function(){return e.m_width},this.height=function(){return e.m_height},this.layer=function(){return e.m_layer},this.setLayer=function(t){e.m_layer=t,e.modified()},this.isResizable=function(){return e.m_resizable},this.setResizable=function(t){e.m_resizable=t},this.renderWindow=function(){return e.m_renderWindow},this.setRenderWindow=function(t){e.m_renderWindow!==t&&(e.m_renderWindow&&e.m_renderWindow.removeRenderer(this),e.m_renderWindow=t,e.m_contextChanged=!0,e.modified())},this.backgroundColor=function(){return e.m_camera.clearColor()},this.setBackgroundColor=function(t,n,i,r){e.m_camera.setClearColor(t,n,i,r),e.modified()},this.sceneRoot=function(){return e.m_sceneRoot},this.camera=function(){return e.m_camera},this.render=function(){var t,i,r,o=null,a=[],c=A.create(),s=null;if(i=new n.renderState,i.m_renderer=e,i.m_context=e.renderWindow().context(),e.m_depthBits&&!e.m_contextChanged||(e.m_depthBits=i.m_context.getParameter(n.GL.DEPTH_BITS)),i.m_contextChanged=e.m_contextChanged,e.m_renderPasses)for(t=0;t<e.m_renderPasses.length;t+=1){if(e.m_renderPasses[t].render(i))return console.log("returning"),void e.m_renderPasses[t].remove(i);e.m_renderPasses[t].remove(i)}for(i.m_context.enable(n.GL.DEPTH_TEST),i.m_context.depthFunc(n.GL.LEQUAL),e.m_camera.clearMask()&n.GL.COLOR_BUFFER_BIT&&(s=e.m_camera.clearColor(),i.m_context.clearColor(s[0],s[1],s[2],s[3])),e.m_camera.clearMask()&n.GL.DEPTH_BUFFER_BIT&&i.m_context.clearDepth(e.m_camera.clearDepth()),i.m_context.clear(e.m_camera.clearMask()),i.m_context.viewport(e.m_x,e.m_y,e.m_width,e.m_height),r=e.m_sceneRoot.children(),r.length>0&&e.m_resetScene&&(e.resetCamera(),e.m_resetScene=!1),t=0;t<r.length;t+=1)o=r[t],o.computeBounds(),o.visible()&&o.material().binNumber()>=0&&a.push([o.material().binNumber(),o]);for(a.sort(function(t,e){return t[0]-e[0]}),t=0;t<a.length;t+=1){if(o=a[t][1],o.referenceFrame()===n.boundingObject.ReferenceFrame.Relative){var u=e.m_camera.viewMatrix();u instanceof Array&&(i.m_modelViewMatrix=new Array(16)),A.multiply(i.m_modelViewMatrix,u,o.matrix()),i.m_projectionMatrix=e.m_camera.projectionMatrix(),i.m_modelViewAlignment=e.m_camera.viewAlignment()}else i.m_modelViewMatrix=o.matrix(),i.m_modelViewAlignment=null,i.m_projectionMatrix=A.create(),A.ortho(i.m_projectionMatrix,0,e.m_width,0,e.m_height,-1,1);A.invert(c,i.m_modelViewMatrix),A.transpose(i.m_normalMatrix,c),i.m_material=o.material(),i.m_mapper=o.mapper(),i.m_material.bind(i),i.m_mapper.render(i),i.m_material.undoBind(i)}i.m_context.finish(),e.m_contextChanged=!1},this.resetCamera=function(){e.m_camera.computeBounds();var t=e.m_camera.directionOfProjection(),n=e.m_camera.bounds(),i=[(n[0]+n[1])/2,(n[2]+n[3])/2,(n[4]+n[5])/2],r=[n[1]-n[0],n[3]-n[2],n[5]-n[4]],A=0,o=e.m_camera.viewAspect(),c=e.m_camera.viewAngle(),s=null,u=null;A=r[0]>r[1]?r[0]>r[2]?r[0]/2:r[2]/2:r[1]>r[2]?r[1]/2:r[2]/2,c=o>=1?2*Math.atan(Math.tan(.5*c)/o):2*Math.atan(Math.tan(.5*c)*o),s=A/Math.sin(.5*c),u=e.m_camera.viewUpDirection(),Math.abs(a.dot(u,t))>.999&&e.m_camera.setViewUpDirection(-u[2],u[0],u[1]),e.m_camera.setFocalPoint(i[0],i[1],i[2]),e.m_camera.setPosition(i[0]+s*-t[0],i[1]+s*-t[1],i[2]+s*-t[2]),e.resetCameraClippingRange(n)},this.hasValidBounds=function(t){return t[0]!==Number.MAX_VALUE&&t[1]!==-Number.MAX_VALUE&&t[2]!==Number.MAX_VALUE&&t[3]!==-Number.MAX_VALUE&&t[4]!==Number.MAX_VALUE&&t[5]!==-Number.MAX_VALUE},this.resetCameraClippingRange=function(t){if(void 0===t&&(e.m_camera.computeBounds(),t=e.m_camera.bounds()),e.hasValidBounds(t)){var n=e.m_camera.viewPlaneNormal(),i=e.m_camera.position(),r=-n[0],A=-n[1],o=-n[2],a=-(r*i[0]+A*i[1]+o*i[2]),s=c.create(),u=null,g=null,l=null,M=null;if(e.m_resetClippingRange){for(s[0]=r*t[0]+A*t[2]+o*t[4]+a,s[1]=1e-18,M=0;M<2;M+=1)for(l=0;l<2;l+=1)for(g=0;g<2;g+=1)u=r*t[g]+A*t[2+l]+o*t[4+M]+a,s[0]=u<s[0]?u:s[0],s[1]=u>s[1]?u:s[1];s[0]<0&&(s[0]=0),s[0]=.99*s[0]-.5*(s[1]-s[0]),s[1]=1.01*s[1]+.5*(s[1]-s[0]),s[0]=s[0]>=s[1]?.01*s[1]:s[0],e.m_nearClippingPlaneTolerance||(e.m_nearClippingPlaneTolerance=.01,e.m_depthBits&&e.m_depthBits>16&&(e.m_nearClippingPlaneTolerance=.001)),s[0]<e.m_nearClippingPlaneTolerance*s[1]&&(s[0]=e.m_nearClippingPlaneTolerance*s[1]),e.m_camera.setClippingRange(s[0],s[1])}}},this.resize=function(t,n){t&&n&&e.positionAndResize(e.m_x,e.m_y,t,n)},this.positionAndResize=function(t,n,i,r){var A;if(t<0||n<0||i<=0||r<=0)return void console.log("[error] Invalid position and resize values",t,n,i,r);if(e.m_resizable&&(e.m_width=i,e.m_height=r,e.m_camera.setViewAspect(i/r),e.m_camera.setParallelExtents({width:i,height:r}),e.modified()),e.m_renderPasses)for(A=0;A<e.m_renderPasses.length;A+=1)e.m_renderPasses[A].resize(i,r),e.m_renderPasses[A].renderer().positionAndResize(t,n,i,r)},this.addActor=function(t){return t instanceof n.actor&&(e.m_sceneRoot.addChild(t),e.modified(),!0)},this.hasActor=function(t){return e.m_sceneRoot.hasChild(t)},this.addActors=function(t){var n=null;if(t instanceof Array){for(n=0;n<t.length;n+=1)e.m_sceneRoot.addChild(t[n]);e.modified()}},this.removeActor=function(t){return-1!==e.m_sceneRoot.children().indexOf(t)&&(t.mapper()&&(t.mapper().deleteVertexBufferObjects(),t.mapper().modified()),e.m_sceneRoot.removeChild(t),e.modified(),!0)},this.removeActors=function(t){if(!(t instanceof Array))return!1;var n;for(n=0;n<t.length;n+=1)e.m_sceneRoot.removeChild(t[n]);return e.modified(),!0},this.removeAllActors=function(){return e.m_sceneRoot.removeChildren()},this.worldToDisplay=function(t,e,n,i,r){var a=A.create(),c=null,s=null,u=null,g=null,l=null;return A.multiply(a,n,e),l=o.create(),o.transformMat4(l,t,a),0!==l[3]&&(l[0]=l[0]/l[3],l[1]=l[1]/l[3],l[2]=l[2]/l[3],l[3]=1),c=(l[0]+1)/2*i,s=(1-l[1])/2*r,u=l[2],g=l[3],o.fromValues(c,s,u,g)},this.displayToWorld=function(t,e,n,i,r){var a=2*t[0]/i-1,c=-2*t[1]/r+1,s=t[2],u=A.create(),g=null;return A.multiply(u,n,e),A.invert(u,u),g=o.fromValues(a,c,s,1),o.transformMat4(g,g,u),0!==g[3]&&(g[0]=g[0]/g[3],g[1]=g[1]/g[3],g[2]=g[2]/g[3],g[3]=1),g},this.focusDisplayPoint=function(){var t=e.m_camera.focalPoint(),n=o.fromValues(t[0],t[1],t[2],1);return e.worldToDisplay(n,e.m_camera.viewMatrix(),e.m_camera.projectionMatrix(),e.m_width,e.m_height)},this.resetScene=function(){return e.m_resetScene},this.setResetScene=function(t){e.m_resetScene!==t&&(e.m_resetScene=t,e.modified())},this.resetClippingRange=function(){return e.m_resetClippingRange},this.setResetClippingRange=function(t){e.m_resetClippingRange!==t&&(e.m_resetClippingRange=t,e.modified())},this.addRenderPass=function(t){var n;if(e.m_renderPasses)for(n=0;n<e.m_renderPasses.length;n+=1)if(t===e.m_renderPasses[n])return;e.m_renderPasses=[],e.m_renderPasses.push(t)},this.removeRenderPass=function(t){t=t},this._cleanup=function(t){for(var n=e.m_sceneRoot.children(),i=0;i<n.length;i+=1){var r=n[i];r.material()._cleanup(t),r.mapper()._cleanup(t)}e.m_sceneRoot.removeChildren()},e},t(n.renderer,n.graphicsObject),n.renderWindow=function(t){"use strict";if(!(this instanceof n.renderWindow))return new n.renderWindow(t);n.graphicsObject.call(this);var e=this,i=0,r=0,A=400,a=400,c=t,s=null,u=[],g=null;return this.windowSize=function(){return[A,a]},this.setWindowSize=function(t,n){return(A!==t||a!==n)&&(A=t,a=n,e.modified(),!0)},this.windowPosition=function(){return[i,r]},this.setWindowPosition=function(t,n){return(i!==t||r!==n)&&(i=t,r=n,e.modified(),!0)},this.renderers=function(){return u},this.activeRenderer=function(){return s},this.addRenderer=function(t){return!1===e.hasRenderer(t)&&(u.push(t),t.setRenderWindow(e),null===s&&(s=t),0!==t.layer()&&t.camera().setClearMask(n.GL.DepthBufferBit),e.modified(),!0)},this.removeRenderer=function(t){var n=u.indexOf(t);return-1!==n&&(s===t&&(s=null),u.splice(n,1),e.modified(),!0)},this.getRenderer=function(t){return t<u.length?u[t]:(console.log("[WARNING] Out of index array"),null)},this.hasRenderer=function(t){var e;for(e=0;e<u.length;e+=1)if(t===u[e])return!0;return!1},this.resize=function(t,n){e.positionAndResize(i,r,t,n),e.modified()},this.positionAndResize=function(t,n,o,c){i=t,r=n,A=o,a=c;var s;for(s=0;s<u.length;s+=1)u[s].positionAndResize(i,r,A,a);e.modified()},this._setup=function(t){t=t,g=null;try{g=c.getContext("webgl")||c.getContext("experimental-webgl");var e;for(e=0;e<u.length;e+=1)(u[e].width()>A||0===u[e].width()||u[e].height()>a||0===u[e].height())&&u[e].resize(i,r,A,a);return!0}catch(t){}return g||console("[ERROR] Unable to initialize WebGL. Your browser may not support it."),!1},this.context=function(){return g},this._cleanup=function(t){var e;for(e=0;e<u.length;e+=1)u[e]._cleanup(t);n.clearCachedShaders(t?t.m_context:null)},this.render=function(){var t;for(u.sort(function(t,e){return t.layer()-e.layer()}),t=0;t<u.length;t+=1)u[t].render()},this.focusDisplayPoint=function(){return s.focusDisplayPoint()},this.displayToWorld=function(t,e,n,i){i=void 0===i?i=s:i;var r=i.camera();return n||(n=i.focusDisplayPoint()),i.displayToWorld(o.fromValues(t,e,n[2],1),r.viewMatrix(),r.projectionMatrix(),A,a)},this.worldToDisplay=function(t,e,n,i){i=void 0===i?i=s:i;var r=i.camera();return i.worldToDisplay(o.fromValues(t,e,n,1),r.viewMatrix(),r.projectionMatrix(),A,a)},e},t(n.renderWindow,n.graphicsObject),n.camera=function(t){"use strict";if(!(this instanceof n.camera))return new n.camera(t);n.groupNode.call(this),t=t||{};var e=30*Math.PI/180,i=o.fromValues(0,0,1,1),r=o.fromValues(0,0,0,1),c=a.fromValues(0,0,0),s=o.fromValues(0,1,0,0),u=o.fromValues(1,0,0,0),g=.01,l=1e4,M=1,h=o.fromValues(0,0,-1,0),d=o.fromValues(0,0,1,0),f=A.create(),I=A.create(),E=n.timestamp(),T=n.timestamp(),N=-1,y=1,p=1,C=-1,D={zoom:1,tilesize:256},x=!0,B=!0,w=!0,m=!1,Q=[0,0,0,0],v=1,j=n.GL.COLOR_BUFFER_BIT|n.GL.DEPTH_BUFFER_BIT;return void 0!==t.parallelProjection&&(m=!!t.parallelProjection),this.viewAngle=function(){return e},this.setViewAngleDegrees=function(t){e=Math.PI*t/180,this.modified()},this.setViewAngle=function(t){w&&(e=t,this.modified())},this.position=function(){return i},this.setPosition=function(t,e,n){x&&(i=o.fromValues(t,e,n,1),this.modified())},this.focalPoint=function(){return r},this.setFocalPoint=function(t,e,n){B&&x&&(r=o.fromValues(t,e,n,1),this.modified())},this.viewUpDirection=function(){return s},this.setViewUpDirection=function(t,e,n){s=o.fromValues(t,e,n,0),this.modified()},this.centerOfRotation=function(){return c},this.setCenterOfRotation=function(t){c=t,this.modified()},this.clippingRange=function(){return[g,l]},this.setClippingRange=function(t,e){g=t,l=e,this.modified()},this.viewAspect=function(){return M},this.setViewAspect=function(t){M=t,this.modified()},this.enableScale=function(){return w},this.setEnableScale=function(t){return t!==w?(w=t,this.modified(),!0):w},this.enableRotation=function(){return B},this.setEnableRotation=function(t){return t!==B?(B=t,this.modified(),!0):B},this.enableTranslation=function(){return x},this.setEnableTranslation=function(t){return t!==x?(x=t,this.modified(),!0):x},this.isEnabledParallelProjection=function(){return m},this.enableParallelProjection=function(t){return t!==m?(m=t,this.modified(),!0):m},this.setEnableParallelProjection=function(t){return this.enableParallelProjection(t)},this.parallelProjection=function(){return{left:N,right:y,top:p,bottom:C}},this.setParallelProjection=function(t,e,n,i){N=t,y=e,p=n,C=i,this.modified()},this.parallelExtents=function(){return D},this.setParallelExtents=function(t){var e,n,i=["width","height","zoom","tilesize"],r=!1;for(e=0;e<i.length;e+=1)n=i[e],void 0!==t[n]&&t[n]!==D[n]&&(D[n]=t[n],r=!0);if(r&&D.width&&D.height&&void 0!==D.zoom&&D.tilesize){var A=this.unitsPerPixel(D.zoom,D.tilesize);y=A*D.width/2,N=-y,p=A*D.height/2,C=-p,this.modified()}},this.unitsPerPixel=function(t,e){return e=e||256,360*Math.pow(2,-t)/e},this.directionOfProjection=function(){return this.computeDirectionOfProjection(),h},this.viewPlaneNormal=function(){return this.computeViewPlaneNormal(),d},this.viewMatrix=function(){return this.computeViewMatrix()},this.setViewMatrix=function(t,e){e?f=t.slice():A.copy(f,t),E.modified()},this.projectionMatrix=function(){return this.computeProjectionMatrix()},this.setProjectionMatrix=function(t){A.copy(I,t),T.modified()},this.clearMask=function(){return j},this.setClearMask=function(t){j=t,this.modified()},this.clearColor=function(){return Q},this.setClearColor=function(t,e,n,i){Q[0]=t,Q[1]=e,Q[2]=n,Q[3]=i,this.modified()},this.clearDepth=function(){return v},this.setClearDepth=function(t){v=t,this.modified()},this.computeDirectionOfProjection=function(){a.subtract(h,r,i),a.normalize(h,h),this.modified()},this.computeViewPlaneNormal=function(){d[0]=-h[0],d[1]=-h[1],d[2]=-h[2]},this.zoom=function(t,e){0!==t&&x&&(t*=a.distance(r,i),e?(i[0]=i[0]+t*e[0],i[1]=i[1]+t*e[1],i[2]=i[2]+t*e[2]):(e=h,i[0]=r[0]-t*e[0],i[1]=r[1]-t*e[1],i[2]=r[2]-t*e[2]),this.modified())},this.pan=function(t,e,n){x&&(i[0]+=t,i[1]+=e,i[2]+=n,r[0]+=t,r[1]+=e,r[2]+=n,this.modified())},this.computeOrthogonalAxes=function(){this.computeDirectionOfProjection(),a.cross(u,h,s),a.normalize(u,u),this.modified()},this.rotate=function(t,e){if(B){t=.5*t*(Math.PI/180),e=.5*e*(Math.PI/180);var n=A.create(),g=new a.create;A.identity(n),g[0]=-c[0],g[1]=-c[1],g[2]=-c[2],A.translate(n,n,c),A.rotate(n,n,t,s),A.rotate(n,n,e,u),A.translate(n,n,g),o.transformMat4(i,i,n),o.transformMat4(r,r,n),o.transformMat4(s,s,n),o.normalize(s,s),this.computeOrthogonalAxes(),this.modified()}},this.computeViewMatrix=function(){return E.getMTime()<this.getMTime()&&(A.lookAt(f,i,r,s),E.modified()),f},this.viewAlignment=function(){if(!m){var t=this.projectionMatrix();if(t[1]||t[2]||t[3]||t[4]||t[6]||t[7]||t[8]||t[9]||t[12]||t[13]||t[15])return null}var e=this.unitsPerPixel(D.zoom,D.tilesize);if(!D.width||!D.height||!e)return null;if(parseFloat(D.zoom.toFixed(6))!==parseFloat(D.zoom.toFixed(0)))return null;var n={roundx:e,roundy:e,dx:0,dy:0};return D.width%2&&(n.dx=.5*e),D.height%2&&(n.dy=.5*e),n},this.computeProjectionMatrix=function(){return T.getMTime()<this.getMTime()&&(m?A.ortho(I,N,y,C,p,g,l):A.perspective(I,e,M,g,l),T.modified()),I},this.zoomToHeight=function(t,i,r){return n.zoomToHeight(t,i,r,e)},this.computeDirectionOfProjection(),this},t(n.camera,n.groupNode),n.zoomToHeight=function(t,e,n,i){"use strict";i=i||30*Math.PI/180;var r=360*Math.pow(2,-t);return r/=2*Math.tan(i/2)*256/n},n.heightToZoom=function(t,e,n,i){"use strict";return i=i||30*Math.PI/180,t*=2*Math.tan(i/2)*256/n,-Math.log2(t/360)},n.interactorStyle=function(){"use strict";if(!(this instanceof n.interactorStyle))return new n.interactorStyle;n.object.call(this);var t=this,e=null;return this.viewer=function(){return e},this.setViewer=function(i){i!==e&&(e=i,s(e).on(n.event.mousePress,t.handleMouseDown),s(e).on(n.event.mouseRelease,t.handleMouseUp),s(e).on(n.event.mouseMove,t.handleMouseMove),s(e).on(n.event.mouseOut,t.handleMouseOut),s(e).on(n.event.mouseWheel,t.handleMouseWheel),s(e).on(n.event.keyPress,t.handleKeyPress),s(e).on(n.event.mouseContextMenu,t.handleContextMenu),s(e).on(n.event.click,t.handleClick),s(e).on(n.event.dblClick,t.handleDoubleClick),this.modified())},this.handleMouseDown=function(t){return t=t,!0},this.handleMouseUp=function(t){return t=t,!0},this.handleMouseMove=function(t){return t=t,!0},this.handleMouseOut=function(t){return t=t,!0},this.handleMouseWheel=function(t){return t=t,!0},this.handleClick=function(t){return t=t,!0},this.handleDoubleClick=function(t){return t=t,!0},this.handleKeyPress=function(t){return t=t,!0},this.handleContextMenu=function(t){return t=t,!0},this.reset=function(){return!0},this},t(n.interactorStyle,n.object),n.trackballInteractorStyle=function(){"use strict";if(!(this instanceof n.trackballInteractorStyle))return new n.trackballInteractorStyle;n.interactorStyle.call(this);var t,e=this,i=!1,r=!1,A=!1,a={x:0,y:0},c={x:0,y:0};return this.handleMouseMove=function(n){var s,u,g,l,M,h,d,f,I,E,T,N=e.viewer().renderWindow().windowSize()[0],y=e.viewer().renderWindow().windowSize()[1],p=e.viewer().renderWindow().activeRenderer(),C=p.camera(),D=e.viewer().relMouseCoords(n);if(t=!1,a={x:0,y:0},D.x<0||D.x>N?(a.x=0,t=!0):a.x=D.x,D.y<0||D.y>y?(a.y=0,t=!0):a.y=D.y,!0!==t)return s=C.focalPoint(),g=o.fromValues(s[0],s[1],s[2],1),u=p.worldToDisplay(g,C.viewMatrix(),C.projectionMatrix(),N,y),l=o.fromValues(a.x,a.y,u[2],1),M=o.fromValues(c.x,c.y,u[2],1),h=p.displayToWorld(l,C.viewMatrix(),C.projectionMatrix(),N,y),d=p.displayToWorld(M,C.viewMatrix(),C.projectionMatrix(),N,y),f=h[0]-d[0],I=h[1]-d[1],E=h[2]-d[2],A&&(C.pan(-f,-I,-E),e.viewer().render()),i&&(C.rotate(c.x-a.x,c.y-a.y),p.resetCameraClippingRange(),e.viewer().render()),r&&(T=2*(a.y-c.y)/y,T>0?C.zoom(1-Math.abs(T)):C.zoom(1+Math.abs(T)),p.resetCameraClippingRange(),e.viewer().render()),c.x=a.x,c.y=a.y,!1},this.handleMouseDown=function(t){var n;return 0===t.button&&(i=!0),1===t.button&&(A=!0),2===t.button&&(r=!0),n=e.viewer().relMouseCoords(t),n.x<0?c.x=0:c.x=n.x,n.y<0?c.y=0:c.y=n.y,!1},this.handleMouseUp=function(t){return 0===t.button&&(i=!1),1===t.button&&(A=!1),2===t.button&&(r=!1),!1},this.handleMouseWheel=function(t){var n=e.viewer().renderWindow().activeRenderer(),i=n.camera();return t.originalEvent.wheelDelta<0?i.zoom(.9):i.zoom(1.1),n.resetCameraClippingRange(),e.viewer().render(),!0},this},t(n.trackballInteractorStyle,n.interactorStyle),n.pvwInteractorStyle=function(){"use strict";function t(){r.resetCameraClippingRange(),y.viewer().render()}if(!(this instanceof n.pvwInteractorStyle))return new n.pvwInteractorStyle;n.trackballInteractorStyle.call(this);var e,i,r,A,a,c,s,u,g,l,M,h,d,f,I,E,T,N,y=this,p=!1,C=!1,D=!1,x={x:0,y:0};return this.handleMouseMove=function(n){var B=[],w=null,m=[],Q=null;for(e=y.viewer().renderWindow().windowSize()[0],i=y.viewer().renderWindow().windowSize()[1],r=y.viewer().renderWindow().activeRenderer(),A=r.camera(),a=!1,c=y.viewer().relMouseCoords(n),s={x:0,y:0},B=y.viewer().renderWindow().renderers(),w=0;w<B.length;w+=1)r!==B[w]&&m.push(B[w].camera());if(c.x<0||c.x>e?(s.x=0,a=!0):s.x=c.x,c.y<0||c.y>i?(s.y=0,a=!0):s.y=c.y,!0!==a){if(u=A.focalPoint(),g=o.fromValues(u[0],u[1],u[2],1),l=r.worldToDisplay(g,A.viewMatrix(),A.projectionMatrix(),e,i),M=o.fromValues(s.x,s.y,l[2],1),h=o.fromValues(x.x,x.y,l[2],1),d=r.displayToWorld(M,A.viewMatrix(),A.projectionMatrix(),e,i),f=r.displayToWorld(h,A.viewMatrix(),A.projectionMatrix(),e,i),I=d[0]-f[0],E=d[1]-f[1],T=d[2]-f[2],D&&(A.pan(-I,-E,-T),t()),p){for(Q=[x.x-s.x,x.y-s.y],A.rotate(Q[0],Q[1]),w=0;w<m.length;w+=1)m[w].rotate(Q[0],Q[1]);for(w=0;w<B.length;w+=1)B[w].resetCameraClippingRange();t()}return C&&(N=2*(s.y-x.y)/i,N>0?A.zoom(1-Math.abs(N)):A.zoom(1+Math.abs(N)),t()),x.x=s.x,x.y=s.y,!1}},this.handleMouseDown=function(t){return 0===t.button&&(p=!0),1===t.button&&(D=!0),2===t.button&&(C=!0),c=y.viewer().relMouseCoords(t),c.x<0?x.x=0:x.x=c.x,c.y<0?x.y=0:x.y=c.y,!1},this.handleMouseUp=function(t){return 0===t.button&&(p=!1),1===t.button&&(D=!1),2===t.button&&(C=!1),!1},this},t(n.pvwInteractorStyle,n.trackballInteractorStyle),n.viewer=function(t,e){"use strict";if(!(this instanceof n.viewer))return new n.viewer(t,e);n.object.call(this);var i=this,r=t,A=null,o=n.renderer(e),a=n.renderWindow(r);return this.canvas=function(){return r},this.renderWindow=function(){return a},this.init=function(){null!==a?a._setup():console.log("[ERROR] No render window attached")},this.exit=function(t){null!==a?a._cleanup(t):console.log("[ERROR] No render window attached")},this.interactorStyle=function(){return A},this.setInteractorStyle=function(t){t!==A&&(A=t,A.setViewer(this),this.modified())},this.handleMouseDown=function(t){var e=s.event.fix(t||window.event);return 2===t.button&&e.preventDefault(),e.state="down",e.type=n.event.mousePress,s(i).trigger(e),!0},this.handleMouseUp=function(t){var e=s.event.fix(t||window.event);return e.preventDefault(),e.state="up",e.type=n.event.mouseRelease,s(i).trigger(e),!0},this.handleMouseMove=function(t){var e=s.event.fix(t||window.event);return e.preventDefault(),e.type=n.event.mouseMove,s(i).trigger(e),!0},this.handleMouseWheel=function(t){var e=s.event.fix(t||window.event);return e.preventDefault(),e.type=n.event.mouseWheel,s(i).trigger(e),!0},this.handleMouseOut=function(t){var e=s.event.fix(t||window.event);return e.preventDefault(),e.type=n.event.mouseOut,s(i).trigger(e),!0},this.handleKeyPress=function(t){var e=s.event.fix(t||window.event);return e.preventDefault(),e.type=n.event.keyPress,s(i).trigger(e),!0},this.handleContextMenu=function(t){var e=s.event.fix(t||window.event);return e.preventDefault(),e.type=n.event.contextMenu,s(i).trigger(e),!1},this.handleClick=function(t){var e=s.event.fix(t||window.event);return e.preventDefault(),e.type=n.event.click,s(i).trigger(e),!1},this.handleDoubleClick=function(t){var e=s.event.fix(t||window.event);return e.preventDefault(),e.type=n.event.dblClick,s(i).trigger(e),!1},this.relMouseCoords=function(t){if(void 0===t.pageX||void 0===t.pageY)throw"Missing attributes pageX and pageY on the event";var e=0,n=0,i=0,A=0,o=r;do{e+=o.offsetLeft-o.scrollLeft,n+=o.offsetTop-o.scrollTop,o=o.offsetParent}while(o);return i=t.pageX-e,A=t.pageY-n,{x:i,y:A}},this.render=function(){a.render()},this.bindEventHandlers=function(){s(r).on("mousedown",this.handleMouseDown),s(r).on("mouseup",this.handleMouseUp),s(r).on("mousemove",this.handleMouseMove),s(r).on("mousewheel",this.handleMouseWheel),s(r).on("contextmenu",this.handleContextMenu)},this.unbindEventHandlers=function(){s(r).off("mousedown",this.handleMouseDown),s(r).off("mouseup",this.handleMouseUp),s(r).off("mousemove",this.handleMouseMove),s(r).off("mousewheel",this.handleMouseWheel),s(r).off("contextmenu",this.handleContextMenu)},this._init=function(){this.bindEventHandlers(),a.addRenderer(o)},this._init(),this},t(n.viewer,n.object),n.shader=function(t){"use strict";if(!(this instanceof n.shader))return new n.shader(t);n.object.call(this);var e=[],i=t,r="";this._getContextEntry=function(t){var i,r,A=t.m_context;for(i=0;i<e.length;i+=1)if(e[i].context===A)return e[i];return r={context:A,compileTimestamp:n.timestamp()},e.push(r),r},this.removeContext=function(t){var n,i=t.m_context;for(n=0;n<e.length;n+=1)if(e[n].context===i)return void e.splice(n,1)},this.shaderHandle=function(t){return this._getContextEntry(t).shaderHandle},this.shaderType=function(){return i},this.shaderSource=function(){return r},this.setShaderSource=function(t){r=t,this.modified()},this.compile=function(t){var e=this._getContextEntry(t);return this.getMTime()<e.compileTimestamp.getMTime()?e.shaderHandle:(t.m_context.deleteShader(e.shaderHandle),e.shaderHandle=t.m_context.createShader(i),t.m_context.shaderSource(e.shaderHandle,r),t.m_context.compileShader(e.shaderHandle),t.m_context.getShaderParameter(e.shaderHandle,n.GL.COMPILE_STATUS)?(e.compileTimestamp.modified(),e.shaderHandle):(console.log("[ERROR] An error occurred compiling the shaders: "+t.m_context.getShaderInfoLog(e.shaderHandle)),console.log(r),t.m_context.deleteShader(e.shaderHandle),null))},this.attachShader=function(t,e){t.m_context.attachShader(e,this.shaderHandle(t))}},t(n.shader,n.object),function(){"use strict";var t=[];n.getCachedShader=function(e,i,r){for(var A=0;A<t.length;A+=1)if(t[A].type===e&&t[A].context===i&&t[A].source===r)return A&&t.splice(0,0,t.splice(A,1)[0]),t[0].shader;var o=new n.shader(e);return o.setShaderSource(r),t.unshift({type:e,context:i,source:r,shader:o}),t.length>=10&&t.splice(10,t.length-10),o},n.clearCachedShaders=function(e){for(var n=t.length-1;n>=0;n-=1)null!==e&&void 0!==e&&t[n].context!==e||t.splice(n,1)}}();var r=function(){"use strict";var t=".",e=document.getElementsByTagName("script");if(e.length>0){var n=e.length-1,i=e[n];n=i.src.lastIndexOf("/"),t=i.src.substring(0,n)}return function(){return t}}();return n.shaderProgram=function(){"use strict";if(!(this instanceof n.shaderProgram))return new n.shaderProgram;n.materialAttribute.call(this,n.materialAttributeType.ShaderProgram);var t=this,e=0,i=n.timestamp(),A=n.timestamp(),o=[],a=[],c={},u={},g={};return this.loadFromFile=function(e,i){var r;s.ajax({url:i,type:"GET",async:!1,success:function(i){r=n.shader(e),r.setShaderSource(i),t.addShader(r)}})},this.loadShader=function(t,e){this.loadFromFile(t,r()+"/shaders/"+e)},this.queryUniformLocation=function(t,n){return t.m_context.getUniformLocation(e,n)},this.queryAttributeLocation=function(t,n){return t.m_context.getAttribLocation(e,n)},this.addShader=function(e){if(o.indexOf(e)>-1)return!1;var n;for(n=0;n<o.length;n+=1)o[n].shaderType()===e.shaderType()&&o.splice(o.indexOf(e),1);return o.push(e),t.modified(),!0},this.addUniform=function(e){if(a.indexOf(e)>-1)return!1;a.push(e),t.modified()},this.addVertexAttribute=function(e,n){c[n]=e,t.modified()},this.uniformLocation=function(t){return u[t]},this.attributeLocation=function(t){return g[t]},this.uniform=function(t){var e;for(e=0;e<a.length;e+=1)if(a[e].name()===t)return a[e];return null},this.updateUniforms=function(t){var e;for(e=0;e<a.length;e+=1)a[e].callGL(t,u[a[e].name()])},this.link=function(t){return t.m_context.linkProgram(e),!!t.m_context.getProgramParameter(e,n.GL.LINK_STATUS)||(console.log("[ERROR] Unable to initialize the shader program."),!1)},this.use=function(t){t.m_context.useProgram(e)},this._setup=function(t){0===e&&(e=t.m_context.createProgram())},this._cleanup=function(e){t.deleteVertexAndFragment(e),t.deleteProgram(e)},this.deleteProgram=function(t){t.m_context.deleteProgram(e)},this.deleteVertexAndFragment=function(t){var e;for(e=0;e<o.length;e+=1)t.m_context.detachShader(o[e].shaderHandle(t)),t.m_context.deleteShader(o[e].shaderHandle(t)),o[e].removeContext(t)},this.compileAndLink=function(n){var r;if(!(i.getMTime()>=this.getMTime())){for(t._setup(n),r=0;r<o.length;r+=1)o[r].compile(n),o[r].attachShader(n,e);t.bindAttributes(n),t.link(n)||(console.log("[ERROR] Failed to link Program"),t._cleanup(n)),i.modified()}},this.bind=function(e){var n=0;for(A.getMTime()<t.getMTime()?(t.compileAndLink(e),t.use(e),t.bindUniforms(e),A.modified()):t.use(e),n=0;n<a.length;n+=1)a[n].update(e,t);t.updateUniforms(e)},this.undoBind=function(t){t.m_context.useProgram(null)},this.bindVertexData=function(t,e){c.hasOwnProperty(e)&&c[e].bindVertexData(t,e)},this.undoBindVertexData=function(t,e){c.hasOwnProperty(e)&&c[e].undoBindVertexData(t,e)},this.bindUniforms=function(t){var e;for(e=0;e<a.length;e+=1)u[a[e].name()]=this.queryUniformLocation(t,a[e].name())},this.bindAttributes=function(t){var n,i;for(n in c)c.hasOwnProperty(n)&&(i=c[n].name(),t.m_context.bindAttribLocation(e,n,i),g[i]=n)},t},t(n.shaderProgram,n.materialAttribute),n.texture=function(){"use strict";function t(t){switch(i.m_textureUnit){case 0:t.m_context.activeTexture(n.GL.TEXTURE0);break;case 1:t.m_context.activeTexture(n.GL.TEXTURE1);break;case 2:t.m_context.activeTexture(n.GL.TEXTURE2);break;case 3:t.m_context.activeTexture(n.GL.TEXTURE3);break;case 4:t.m_context.activeTexture(n.GL.TEXTURE4);break;case 5:t.m_context.activeTexture(n.GL.TEXTURE5);break;case 6:t.m_context.activeTexture(n.GL.TEXTURE6);break;case 7:t.m_context.activeTexture(n.GL.TEXTURE7);break;case 8:t.m_context.activeTexture(n.GL.TEXTURE8);break;case 9:t.m_context.activeTexture(n.GL.TEXTURE9);break;case 10:t.m_context.activeTexture(n.GL.TEXTURE10);break;case 11:t.m_context.activeTexture(n.GL.TEXTURE11);break;case 12:t.m_context.activeTexture(n.GL.TEXTURE12);break;case 13:t.m_context.activeTexture(n.GL.TEXTURE13);break;case 14:t.m_context.activeTexture(n.GL.TEXTURE14);break;case 15:t.m_context.activeTexture(n.GL.TEXTURE15);break;default:throw"[error] Texture unit "+i.m_textureUnit+" is not supported"}}if(!(this instanceof n.texture))return new n.texture;n.materialAttribute.call(this,n.materialAttributeType.Texture),this.m_width=0,this.m_height=0,this.m_depth=0,this.m_textureHandle=null,this.m_textureUnit=0,this.m_pixelFormat=n.GL.RGBA,this.m_pixelDataType=n.GL.UNSIGNED_BYTE,this.m_internalFormat=n.GL.RGBA,this.m_nearestPixel=!1,this.m_image=null;var e=n.timestamp(),i=this;return this.setup=function(i){t(i),i.m_context.deleteTexture(this.m_textureHandle),this.m_textureHandle=i.m_context.createTexture(),i.m_context.bindTexture(n.GL.TEXTURE_2D,this.m_textureHandle),i.m_context.texParameteri(n.GL.TEXTURE_2D,n.GL.TEXTURE_MIN_FILTER,this.m_nearestPixel?n.GL.NEAREST:n.GL.LINEAR),i.m_context.texParameteri(n.GL.TEXTURE_2D,n.GL.TEXTURE_MAG_FILTER,this.m_nearestPixel?n.GL.NEAREST:n.GL.LINEAR),i.m_context.texParameteri(n.GL.TEXTURE_2D,n.GL.TEXTURE_WRAP_S,n.GL.CLAMP_TO_EDGE),i.m_context.texParameteri(n.GL.TEXTURE_2D,n.GL.TEXTURE_WRAP_T,n.GL.CLAMP_TO_EDGE),null!==this.m_image?(i.m_context.pixelStorei(n.GL.UNPACK_ALIGNMENT,1),i.m_context.pixelStorei(n.GL.UNPACK_FLIP_Y_WEBGL,!0),this.updateDimensions(),this.computeInternalFormatUsingImage(),i.m_context.texImage2D(n.GL.TEXTURE_2D,0,this.m_internalFormat,this.m_pixelFormat,this.m_pixelDataType,this.m_image)):i.m_context.texImage2D(n.GL.TEXTURE_2D,0,this.m_internalFormat,this.m_width,this.m_height,0,this.m_pixelFormat,this.m_pixelDataType,null),i.m_context.bindTexture(n.GL.TEXTURE_2D,null),e.modified()},this.bind=function(i){this.getMTime()>e.getMTime()&&this.setup(i),t(i),i.m_context.bindTexture(n.GL.TEXTURE_2D,this.m_textureHandle)},this.undoBind=function(t){t.m_context.bindTexture(n.GL.TEXTURE_2D,null)},this.image=function(){return this.m_image},this.setImage=function(t){return null!==t&&(this.m_image=t,this.updateDimensions(),this.modified(),!0)},this.nearestPixel=function(){return this.m_nearestPixel},this.setNearestPixel=function(t){return(t=!!t)!==this.m_nearestPixel&&(this.m_nearestPixel=t,this.modified(),!0)},this.textureUnit=function(){return this.m_textureUnit},this.setTextureUnit=function(t){return this.m_textureUnit!==t&&(this.m_textureUnit=t,this.modified(),!0)},this.width=function(){return this.m_width},this.setWidth=function(t){return i.m_width!==t&&(i.m_width=t,i.modified(),!0)},this.height=function(){return i.m_height},this.setHeight=function(t){return i.m_height!==t&&(i.m_height=t,i.modified(),!0)},this.depth=function(){return this.m_depth},this.setDepth=function(t){return null!==this.m_image&&(this.m_depth=t,this.modified(),!0)},this.textureHandle=function(){return this.m_textureHandle},this.internalFormat=function(){return this.m_internalFormat},this.setInternalFormat=function(t){return this.m_internalFormat!==t&&(this.m_internalFormat=t,this.modified(),!0)},this.pixelFormat=function(){return this.m_pixelFormat},this.setPixelFormat=function(t){return null!==this.m_image&&(this.m_pixelFormat=t,this.modified(),!0)},this.pixelDataType=function(){return this.m_pixelDataType},this.setPixelDataType=function(t){return null!==this.m_image&&(this.m_pixelDataType=t,this.modified(),!0)},this.computeInternalFormatUsingImage=function(){this.m_internalFormat=n.GL.RGBA,this.m_pixelFormat=n.GL.RGBA,this.m_pixelDataType=n.GL.UNSIGNED_BYTE},this.updateDimensions=function(){null!==this.m_image&&(this.m_width=this.m_image.width,this.m_height=this.m_image.height,this.m_depth=0)},this},t(n.texture,n.materialAttribute),n.lookupTable=function(){"use strict";if(!(this instanceof n.lookupTable))return new n.lookupTable;n.texture.call(this);var t=n.timestamp(),e=[0,0];return this.m_colorTable=[.07514311,.468049805,1,1,.247872569,.498782363,1,1,.339526309,.528909511,1,1,.409505078,.558608486,1,1,.468487184,.588057293,1,1,.520796675,.617435078,1,1,.568724526,.646924167,1,1,.613686735,.676713218,1,1,.656658579,.707001303,1,1,.698372844,.738002964,1,1,.739424025,.769954435,1,1,.780330104,.803121429,1,1,.821573924,.837809045,1,1,.863634967,.874374691,1,1,.907017747,.913245283,1,1,.936129275,.938743558,.983038586,1,.943467973,.943498599,.943398095,1,.990146732,.928791426,.917447482,1,1,.88332677,.861943246,1,1,.833985467,.803839606,1,1,.788626485,.750707739,1,1,.746206642,.701389973,1,1,.70590052,.654994046,1,1,.667019783,.610806959,1,1,.6289553,.568237474,1,1,.591130233,.526775617,1,1,.552955184,.485962266,1,1,.513776083,.445364274,1,1,.472800903,.404551679,1,1,.428977855,.363073592,1,1,.380759558,.320428137,1,.961891484,.313155629,.265499262,1,.916482116,.236630659,.209939162,1].map(function(t){return 255*t}),this.setup=function(e){0===this.textureUnit()?e.m_context.activeTexture(n.GL.TEXTURE0):1===this.textureUnit()&&e.m_context.activeTexture(n.GL.TEXTURE1),e.m_context.deleteTexture(this.m_textureHandle),this.m_textureHandle=e.m_context.createTexture(),e.m_context.bindTexture(n.GL.TEXTURE_2D,this.m_textureHandle),e.m_context.texParameteri(n.GL.TEXTURE_2D,n.GL.TEXTURE_MIN_FILTER,n.GL.LINEAR),e.m_context.texParameteri(n.GL.TEXTURE_2D,n.GL.TEXTURE_MAG_FILTER,n.GL.LINEAR),e.m_context.texParameteri(n.GL.TEXTURE_2D,n.GL.TEXTURE_WRAP_S,n.GL.CLAMP_TO_EDGE),e.m_context.texParameteri(n.GL.TEXTURE_2D,n.GL.TEXTURE_WRAP_T,n.GL.CLAMP_TO_EDGE),e.m_context.pixelStorei(n.GL.UNPACK_ALIGNMENT,1),this.m_width=this.m_colorTable.length/4,this.m_height=1,this.m_depth=0,e.m_context.texImage2D(n.GL.TEXTURE_2D,0,n.GL.RGBA,this.m_width,this.m_height,this.m_depth,n.GL.RGBA,n.GL.UNSIGNED_BYTE,new Uint8Array(this.m_colorTable)),e.m_context.bindTexture(n.GL.TEXTURE_2D,null),t.modified()},this.colorTable=function(){return this.m_colorTable},this.setColorTable=function(t){return this.m_colorTable!==t&&(this.m_colorTable=t,this.modified(),!0)},this.range=function(){return e},this.setRange=function(t){return e!==t&&(e=t,this.modified(),!0)},this.updateRange=function(t){t instanceof Array||console.log("[error] Invalid data type for range. Requires array [min,max]"),t[0]<e[0]&&(e[0]=t[0],this.modified()),t[1]>e[1]&&(e[1]=t[1],this.modified())},this},t(n.lookupTable,n.texture),n.uniform=function(t,e){"use strict";if(!(this instanceof n.uniform))return new n.uniform;this.getTypeNumberOfComponents=function(t){switch(t){case n.GL.FLOAT:case n.GL.INT:case n.GL.BOOL:return 1;case n.GL.FLOAT_VEC2:case n.GL.INT_VEC2:case n.GL.BOOL_VEC2:return 2;case n.GL.FLOAT_VEC3:case n.GL.INT_VEC3:case n.GL.BOOL_VEC3:return 3;case n.GL.FLOAT_VEC4:case n.GL.INT_VEC4:case n.GL.BOOL_VEC4:return 4;case n.GL.FLOAT_MAT3:return 9;case n.GL.FLOAT_MAT4:return 16;default:return 0}};var i=t,r=e,A=[];return A.length=this.getTypeNumberOfComponents(i),this.name=function(){return r},this.type=function(){return i},this.get=function(){return A},this.set=function(t){var e=0;if(16===A.length)for(e=0;e<16;e+=1)A[e]=t[e];else if(9===A.length)for(e=0;e<9;e+=1)A[e]=t[e];else if(4===A.length)for(e=0;e<4;e+=1)A[e]=t[e];else if(3===A.length)for(e=0;e<3;e+=1)A[e]=t[e];else if(2===A.length)for(e=0;e<2;e+=1)A[e]=t[e];else A[0]=t},this.callGL=function(t,e){if(!(this.m_numberElements<1))switch(i){case n.GL.BOOL:case n.GL.INT:t.m_context.uniform1iv(e,A);break;case n.GL.FLOAT:t.m_context.uniform1fv(e,A);break;case n.GL.FLOAT_VEC2:t.m_context.uniform2fv(e,A);break;case n.GL.FLOAT_VEC3:t.m_context.uniform3fv(e,A);break;case n.GL.FLOAT_VEC4:t.m_context.uniform4fv(e,A);break;case n.GL.FLOAT_MAT3:t.m_context.uniformMatrix3fv(e,n.GL.FALSE,A);break;case n.GL.FLOAT_MAT4:t.m_context.uniformMatrix4fv(e,n.GL.FALSE,A)}},this.update=function(t,e){t=t,e=e},this},n.modelViewUniform=function(t){"use strict";return this instanceof n.modelViewUniform?(0===t.length&&(t="modelViewMatrix"),n.uniform.call(this,n.GL.FLOAT_MAT4,t),this.set(A.create()),this.update=function(t,e){e=e,this.set(t.m_modelViewMatrix)},this):new n.modelViewUniform(t)},t(n.modelViewUniform,n.uniform),n.modelViewOriginUniform=function(t,e){"use strict";if(!(this instanceof n.modelViewOriginUniform))return new n.modelViewOriginUniform(t,e);0===t.length&&(t="modelViewMatrix"),e=e||[0,0,0];var i=[e[0],e[1],e[2]||0];return n.uniform.call(this,n.GL.FLOAT_MAT4,t),this.set(A.create()),this.setOrigin=function(t){t=t||[0,0,0],i=[t[0],t[1],t[2]||0]},this.update=function(t,e){e=e;var n=A.create();if(A.translate(n,t.m_modelViewMatrix,i),t.m_modelViewAlignment){var r=t.m_modelViewAlignment;n[12]=Math.round(n[12]/r.roundx)*r.roundx+r.dx,n[13]=Math.round(n[13]/r.roundy)*r.roundy+r.dy}this.set(n)},this},t(n.modelViewOriginUniform,n.uniform),n.projectionUniform=function(t){"use strict";return this instanceof n.projectionUniform?(0===t.length&&(t="projectionMatrix"),n.uniform.call(this,n.GL.FLOAT_MAT4,t),this.set(A.create()),this.update=function(t,e){e=e,this.set(t.m_projectionMatrix)},this):new n.projectionUniform(t)},t(n.projectionUniform,n.uniform),n.floatUniform=function(t,e){"use strict";if(!(this instanceof n.floatUniform))return new n.floatUniform(t,e);0===t.length&&(t="floatUniform"),e=void 0===e?1:e,n.uniform.call(this,n.GL.FLOAT,t),this.set(e)},t(n.floatUniform,n.uniform),n.normalMatrixUniform=function(t){"use strict";return this instanceof n.normalMatrixUniform?(0===t.length&&(t="normalMatrix"),n.uniform.call(this,n.GL.FLOAT_MAT4,t),this.set(A.create()),this.update=function(t,e){e=e,this.set(t.m_normalMatrix)},this):new n.normalMatrixUniform(t)},t(n.normalMatrixUniform,n.uniform),n.vertexAttributeKeys={Position:0,Normal:1,TextureCoordinate:2,Color:3,Scalar:4,CountAttributeIndex:5},n.vertexAttributeKeysIndexed={Zero:0,One:1,Two:2,Three:3,Four:4,Five:5,Six:6,Seven:7,Eight:8,Nine:9},n.vertexAttribute=function(t){"use strict";if(!(this instanceof n.vertexAttribute))return new n.vertexAttribute(t);var e=t;this.name=function(){return e},this.bindVertexData=function(t,n){var i=t.m_mapper.geometryData(),r=i.sourceData(n),A=t.m_material.shaderProgram();t.m_context.vertexAttribPointer(A.attributeLocation(e),r.attributeNumberOfComponents(n),r.attributeDataType(n),r.normalized(n),r.attributeStride(n),r.attributeOffset(n)),t.m_context.enableVertexAttribArray(A.attributeLocation(e))},this.undoBindVertexData=function(t,n){n=n;var i=t.m_material.shaderProgram();t.m_context.disableVertexAttribArray(i.attributeLocation(e))}},n.source=function(){"use strict";return this instanceof n.source?(n.object.call(this),this.create=function(){},this):new n.source},t(n.source,n.object),n.planeSource=function(){"use strict";if(!(this instanceof n.planeSource))return new n.planeSource;n.source.call(this);var t=[0,0,0],e=[1,0,0],i=[0,1,0],r=[0,0,1],A=null;this.setOrigin=function(e,n,i){t[0]=e,t[1]=n,t[2]=i},this.setPoint1=function(t,n,i){e[0]=t,e[1]=n,e[2]=i},this.setPoint2=function(t,e,n){i[0]=t,i[1]=e,i[2]=n},this.create=function(){A=new n.geometryData;var o,a,c,s,u,g=[],l=[],M=[],h=[],d=[],f=0,I=0,E=0,T=0,N=[],y=[],p=[],C=[],D=[],x=null,B=null,w=null;for(g.length=3,l.length=2,M.length=3,h.length=3,d.length=3,o=0;o<3;o+=1)M[o]=e[o]-t[o],h[o]=i[o]-t[o];for(s=4,2,N.length=3*s,y.length=3*s,C.length=2*s,D.length=s,0,o=0;o<2;o+=1)for(l[1]=o/1,a=0;a<2;a+=1){for(l[0]=a/1,c=0;c<3;c+=1)g[c]=t[c]+l[0]*M[c]+l[1]*h[c];N[f++]=g[0],N[f++]=g[1],N[f++]=g[2],p[E++]=1,p[E++]=1,p[E++]=1,y[I++]=r[0],y[I++]=r[1],y[I++]=r[2],C[T++]=l[0],C[T++]=l[1]}for(o=0;o<1;o+=1)for(a=0;a<1;a+=1)d[0]=a+2*o,d[1]=d[0]+1,d[2]=d[0]+1+2,d[3]=d[0]+1+1;for(o=0;o<s;o+=1)D[o]=o;return x=new n.triangleStrip,x.setIndices(D),B=n.sourceDataP3fv(),B.pushBack(N),w=n.sourceDataC3fv(),w.pushBack(p),u=n.sourceDataT2fv(),u.pushBack(C),A.addSource(B),A.addSource(w),A.addSource(u),A.addPrimitive(x),A}},t(n.planeSource,n.source),n.pointSource=function(){"use strict";if(!(this instanceof n.pointSource))return new n.pointSource;n.source.call(this);var t=this,e=[],i=[],r=[],A=[],o=null;this.getPositions=function(){return e},this.setPositions=function(n){n instanceof Array?e=n:console.log("[ERROR] Invalid data type for positions. Array is required."),t.modified()},this.getColors=function(){return i},this.setColors=function(e){e instanceof Array?i=e:console.log("[ERROR] Invalid data type for colors. Array is required."),t.modified()},this.getSize=function(){return A},this.setSize=function(t){A=t,this.modified()},this.setTextureCoordinates=function(e){e instanceof Array?r=e:console.log("[ERROR] Invalid data type for texture coordinates. Array is required."),t.modified()},this.create=function(){if(o=new n.geometryData,e.length%3!=0)return void console.log("[ERROR] Invalid length of the points array");var t,a,c,s,u,g=e.length/3,l=0,M=[];for(M.length=g,l=0;l<g;l+=1)M[l]=l;if(u=n.sourceDataDf(),g!==A.length)for(l=0;l<g;l+=1)u.pushBack(A);else u.setData(A);return o.addSource(u),t=new n.points,t.setIndices(M),a=n.sourceDataP3fv(),a.pushBack(e),o.addSource(a),i.length>0&&i.length===e.length?(c=n.sourceDataC3fv(),c.pushBack(i),o.addSource(c)):i.length>0&&i.length!==e.length&&console.log("[ERROR] Number of colors are different than number of points"),r.length>0&&r.length===e.length?(s=n.sourceDataT2fv(),s.pushBack(r),o.addSource(s)):r.length>0&&r.length/2!=e.length/3&&console.log("[ERROR] Number of texture coordinates are different than number of points"),o.addPrimitive(t),o}},t(n.pointSource,n.source),n.lineSource=function(t,e){"use strict";if(!(this instanceof n.lineSource))return new n.lineSource;n.source.call(this);var i=t,r=e;this.setPositions=function(t){return t instanceof Array?(i=t,this.modified(),!0):(console.log("[ERROR] Invalid data type for positions. Array is required."),!1)},this.setColors=function(t){return t instanceof Array?(r=t,this.modified(),!0):(console.log("[ERROR] Invalid data type for colors. Array is required."),!1)},this.create=function(){if(!i)return void console.log("[error] Invalid positions");if(i.length%3!=0)return void console.log("[error] Line source requires 3d points");if(i.length%3!=0)return void console.log("[ERROR] Invalid length of the points array");var t,e,A,o,a=new n.geometryData,c=i.length/3,s=[];for(s.length=c,t=0;t<c;t+=1)s[t]=t;return e=new n.lines,e.setIndices(s),A=n.sourceDataP3fv(),A.pushBack(i),a.addSource(A),r&&r.length>0&&r.length===i.length?(o=n.sourceDataC3fv(),o.pushBack(r),a.addSource(o)):r&&r.length>0&&r.length!==i.length&&console.log("[error] Number of colors are different than number of points"),a.addPrimitive(e),a}},t(n.lineSource,n.source),n.utils=function(){"use strict";return this instanceof n.utils?(n.object.call(this),this):new n.utils},t(n.utils,n.object),n.utils.computePowerOfTwo=function(t,e){"use strict";for(e=e||1;e<t;)e*=2;return e},n.utils.createTextureVertexShader=function(t){"use strict";var e=["attribute vec3 vertexPosition;","attribute vec3 textureCoord;","uniform mediump float pointSize;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","varying highp vec3 iTextureCoord;","void main(void)","{","gl_PointSize = pointSize;","gl_Position = projectionMatrix * modelViewMatrix * vec4(vertexPosition, 1.0);"," iTextureCoord = textureCoord;","}"].join("\n");return n.getCachedShader(n.GL.VERTEX_SHADER,t,e)},n.utils.createTextureFragmentShader=function(t){"use strict";var e=["varying highp vec3 iTextureCoord;","uniform sampler2D sampler2d;","uniform mediump float opacity;","void main(void) {","gl_FragColor = vec4(texture2D(sampler2d, vec2(iTextureCoord.s, iTextureCoord.t)).xyz, opacity);","}"].join("\n");return n.getCachedShader(n.GL.FRAGMENT_SHADER,t,e)},n.utils.createRgbaTextureFragmentShader=function(t){"use strict";var e=["varying highp vec3 iTextureCoord;","uniform sampler2D sampler2d;","uniform mediump float opacity;","void main(void) {"," mediump vec4 color = vec4(texture2D(sampler2d, vec2(iTextureCoord.s, iTextureCoord.t)).xyzw);"," color.w *= opacity;"," gl_FragColor = color;","}"].join("\n");return n.getCachedShader(n.GL.FRAGMENT_SHADER,t,e)},n.utils.createVertexShader=function(t){"use strict";var e=["attribute vec3 vertexPosition;","attribute vec3 vertexColor;","uniform mediump float pointSize;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","varying mediump vec3 iVertexColor;","varying highp vec3 iTextureCoord;","void main(void)","{","gl_PointSize = pointSize;","gl_Position = projectionMatrix * modelViewMatrix * vec4(vertexPosition, 1.0);"," iVertexColor = vertexColor;","}"].join("\n");return n.getCachedShader(n.GL.VERTEX_SHADER,t,e)},n.utils.createPointVertexShader=function(t){"use strict";var e=["attribute vec3 vertexPosition;","attribute vec3 vertexColor;","attribute float vertexSize;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","varying mediump vec3 iVertexColor;","varying highp vec3 iTextureCoord;","void main(void)","{","gl_PointSize = vertexSize;","gl_Position = projectionMatrix * modelViewMatrix * vec4(vertexPosition, 1.0);"," iVertexColor = vertexColor;","}"].join("\n");return n.getCachedShader(n.GL.VERTEX_SHADER,t,e)},n.utils.createVertexShaderSolidColor=function(t){"use strict";var e=["attribute vec3 vertexPosition;","uniform mediump float pointSize;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","void main(void)","{","gl_PointSize = pointSize;","gl_Position = projectionMatrix * modelViewMatrix * vec4(vertexPosition, 1.0);","}"].join("\n");return n.getCachedShader(n.GL.VERTEX_SHADER,t,e)},n.utils.createVertexShaderColorMap=function(t,e,i){"use strict";e=e,i=i;var r=["attribute vec3 vertexPosition;","attribute float vertexScalar;","uniform mediump float pointSize;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform float lutMin;","uniform float lutMax;","varying mediump float iVertexScalar;","void main(void)","{","gl_PointSize = pointSize;","gl_Position = projectionMatrix * modelViewMatrix * vec4(vertexPosition, 1.0);","iVertexScalar = (vertexScalar-lutMin)/(lutMax-lutMin);","}"].join("\n");return n.getCachedShader(n.GL.VERTEX_SHADER,t,r)},n.utils.createFragmentShader=function(t){"use strict";var e=["varying mediump vec3 iVertexColor;","uniform mediump float opacity;","void main(void) {","gl_FragColor = vec4(iVertexColor, opacity);","}"].join("\n");return n.getCachedShader(n.GL.FRAGMENT_SHADER,t,e)},n.utils.createPhongVertexShader=function(t){"use strict";var e=["attribute highp vec3 vertexPosition;","attribute mediump vec3 vertexNormal;","attribute mediump vec3 vertexColor;","uniform highp mat4 projectionMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 normalMatrix;","varying highp vec4 varPosition;","varying mediump vec3 varNormal;","varying mediump vec3 varVertexColor;","void main(void)","{","varPosition = modelViewMatrix * vec4(vertexPosition, 1.0);","gl_Position = projectionMatrix * varPosition;","varNormal = vec3(normalMatrix * vec4(vertexNormal, 0.0));","varVertexColor = vertexColor;","}"].join("\n");return n.getCachedShader(n.GL.VERTEX_SHADER,t,e)},n.utils.createPhongFragmentShader=function(t){"use strict";var e=["uniform mediump float opacity;","precision mediump float;","varying vec3 varNormal;","varying vec4 varPosition;","varying mediump vec3 varVertexColor;","const vec3 lightPos = vec3(0.0, 0.0,10000.0);","const vec3 ambientColor = vec3(0.01, 0.01, 0.01);","const vec3 specColor = vec3(0.0, 0.0, 0.0);","void main() {","vec3 normal = normalize(varNormal);","vec3 lightDir = normalize(lightPos);","vec3 reflectDir = -reflect(lightDir, normal);","vec3 viewDir = normalize(-varPosition.xyz);","float lambertian = max(dot(lightDir, normal), 0.0);","vec3 color = vec3(0.0);","if(lambertian > 0.0) {"," color = lambertian * varVertexColor;","}","gl_FragColor = vec4(color * opacity, 1.0 - opacity);","}"].join("\n");return n.getCachedShader(n.GL.FRAGMENT_SHADER,t,e)},n.utils.createFragmentShaderSolidColor=function(t,e){"use strict";var i=["uniform mediump float opacity;","void main(void) {","gl_FragColor = vec4("+e[0]+","+e[1]+","+e[2]+", opacity);","}"].join("\n");return n.getCachedShader(n.GL.FRAGMENT_SHADER,t,i)},n.utils.createFragmentShaderColorMap=function(t){"use strict";var e=["varying mediump float iVertexScalar;","uniform sampler2D sampler2d;","uniform mediump float opacity;","void main(void) {","gl_FragColor = vec4(texture2D(sampler2d, vec2(iVertexScalar, 0.0)).xyz, opacity);","}"].join("\n");return n.getCachedShader(n.GL.FRAGMENT_SHADER,t,e)},n.utils.createPointSpritesVertexShader=function(t){"use strict";var e=["attribute vec3 vertexPosition;","attribute vec3 vertexColor;","uniform mediump vec2 pointSize;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform float height;","varying mediump vec3 iVertexColor;","varying highp float iVertexScalar;","void main(void)","{","mediump float realPointSize = pointSize.y;","if (pointSize.x > pointSize.y) {"," realPointSize = pointSize.x;}","gl_PointSize = realPointSize ;","iVertexScalar = vertexPosition.z;","gl_Position = projectionMatrix * modelViewMatrix * vec4(vertexPosition.xy, height, 1.0);"," iVertexColor = vertexColor;","}"].join("\n");return n.getCachedShader(n.GL.VERTEX_SHADER,t,e)},n.utils.createPointSpritesFragmentShader=function(t){"use strict";var e=["varying mediump vec3 iVertexColor;","varying highp float iVertexScalar;","uniform sampler2D opacityLookup;","uniform highp float lutMin;","uniform highp float lutMax;","uniform sampler2D scalarsToColors;","uniform int useScalarsToColors;","uniform int useVertexColors;","uniform mediump vec2 pointSize;","uniform mediump float vertexColorWeight;","void main(void) {","mediump vec2 realTexCoord;","if (pointSize.x > pointSize.y) {"," realTexCoord = vec2(1.0, pointSize.y/pointSize.x) * gl_PointCoord;","} else {"," realTexCoord = vec2(pointSize.x/pointSize.y, 1.0) * gl_PointCoord;","}","highp float texOpacity = texture2D(opacityLookup, realTexCoord).w;","if (useScalarsToColors == 1) {"," gl_FragColor = vec4(texture2D(scalarsToColors, vec2((iVertexScalar - lutMin)/(lutMax - lutMin), 0.0)).xyz, texOpacity);","} else if (useVertexColors == 1) {"," gl_FragColor = vec4(iVertexColor, texOpacity);","} else {"," gl_FragColor = vec4(texture2D(opacityLookup, realTexCoord).xyz, texOpacity);","}}"].join("\n");return n.getCachedShader(n.GL.FRAGMENT_SHADER,t,e)},n.utils.createTextureMaterial=function(t,e){"use strict";var i,r=new n.material,A=new n.blend,o=new n.shaderProgram,a=n.utils.createTextureVertexShader(n.GL),c=null,s=new n.vertexAttribute("vertexPosition"),u=new n.vertexAttribute("textureCoord"),g=new n.floatUniform("pointSize",5),l=new n.projectionUniform("projectionMatrix"),M=new n.uniform(n.GL.INT,"sampler2d"),h=null;return i=void 0!==e?new n.modelViewOriginUniform("modelViewMatrix",e):new n.modelViewUniform("modelViewMatrix"),M.set(0),o.addVertexAttribute(s,n.vertexAttributeKeys.Position),o.addVertexAttribute(u,n.vertexAttributeKeys.TextureCoordinate),o.addUniform(g),o.addUniform(i),o.addUniform(l),c=t?n.utils.createRgbaTextureFragmentShader(n.GL):n.utils.createTextureFragmentShader(n.GL),h=new n.floatUniform("opacity",1),o.addUniform(h),o.addShader(c),o.addShader(a),r.addAttribute(o),r.addAttribute(A),r},n.utils.createGeometryMaterial=function(){"use strict";var t=new n.material,e=new n.shaderProgram,i=n.utils.createVertexShader(n.GL),r=n.utils.createFragmentShader(n.GL),A=new n.vertexAttribute("vertexPosition"),o=new n.vertexAttribute("vertexColor"),a=new n.floatUniform("pointSize",5),c=new n.floatUniform("opacity",1),s=new n.modelViewUniform("modelViewMatrix"),u=new n.projectionUniform("projectionMatrix");return e.addVertexAttribute(A,n.vertexAttributeKeys.Position),e.addVertexAttribute(o,n.vertexAttributeKeys.Color),e.addUniform(a),e.addUniform(c),e.addUniform(s),e.addUniform(u),e.addShader(r),e.addShader(i),t.addAttribute(e),t},n.utils.createPointGeometryMaterial=function(t){"use strict";t=void 0===t?1:t;var e=new n.material,i=new n.blend,r=new n.shaderProgram,A=n.utils.createPointVertexShader(n.GL),o=n.utils.createFragmentShader(n.GL),a=new n.vertexAttribute("vertexPosition"),c=new n.vertexAttribute("vertexColor"),s=new n.vertexAttribute("vertexSize"),u=new n.floatUniform("opacity",t),g=new n.modelViewUniform("modelViewMatrix"),l=new n.projectionUniform("projectionMatrix");return r.addVertexAttribute(a,n.vertexAttributeKeys.Position),r.addVertexAttribute(c,n.vertexAttributeKeys.Color),r.addVertexAttribute(s,n.vertexAttributeKeys.Scalar),r.addUniform(u),r.addUniform(g),r.addUniform(l),r.addShader(o),r.addShader(A),e.addAttribute(r),e.addAttribute(i),e},n.utils.createPhongMaterial=function(){"use strict";var t=new n.material,e=new n.shaderProgram,i=n.utils.createPhongVertexShader(n.GL),r=n.utils.createPhongFragmentShader(n.GL),A=new n.vertexAttribute("vertexPosition"),o=new n.vertexAttribute("vertexNormal"),a=new n.vertexAttribute("vertexColor"),c=new n.floatUniform("opacity",1),s=new n.modelViewUniform("modelViewMatrix"),u=new n.normalMatrixUniform("normalMatrix"),g=new n.projectionUniform("projectionMatrix");return e.addVertexAttribute(A,n.vertexAttributeKeys.Position),e.addVertexAttribute(o,n.vertexAttributeKeys.Normal),e.addVertexAttribute(a,n.vertexAttributeKeys.Color),e.addUniform(c),e.addUniform(s),e.addUniform(g),e.addUniform(u),e.addShader(r),e.addShader(i),t.addAttribute(e),t},n.utils.createColorMaterial=function(){"use strict";var t=new n.material,e=new n.blend,i=new n.shaderProgram,r=n.utils.createVertexShader(n.GL),A=n.utils.createFragmentShader(n.GL),o=new n.vertexAttribute("vertexPosition"),a=new n.vertexAttribute("textureCoord"),c=new n.vertexAttribute("vertexColor"),s=new n.floatUniform("pointSize",5),u=new n.floatUniform("opacity",1),g=new n.modelViewUniform("modelViewMatrix"),l=new n.projectionUniform("projectionMatrix");return i.addVertexAttribute(o,n.vertexAttributeKeys.Position),i.addVertexAttribute(c,n.vertexAttributeKeys.Color),i.addVertexAttribute(a,n.vertexAttributeKeys.TextureCoordinate),i.addUniform(s),i.addUniform(u),i.addUniform(g),i.addUniform(l),i.addShader(A),i.addShader(r),t.addAttribute(i),t.addAttribute(e),t},n.utils.createColorMappedMaterial=function(t){"use strict";t||(t=new n.lookupTable);var e=t.range(),i=new n.material,r=new n.blend,A=new n.shaderProgram,o=n.utils.createVertexShaderColorMap(n.GL,e[0],e[1]),a=n.utils.createFragmentShaderColorMap(n.GL),c=new n.vertexAttribute("vertexPosition"),s=new n.vertexAttribute("vertexScalar"),u=new n.floatUniform("pointSize",5),g=new n.floatUniform("opacity",1),l=new n.floatUniform("lutMin",e[0]),M=new n.floatUniform("lutMax",e[1]),h=new n.modelViewUniform("modelViewMatrix"),d=new n.projectionUniform("projectionMatrix"),f=new n.uniform(n.GL.FLOAT,"sampler2d"),I=t;return f.set(0),A.addVertexAttribute(c,n.vertexAttributeKeys.Position),A.addVertexAttribute(s,n.vertexAttributeKeys.Scalar),A.addUniform(u),A.addUniform(g),A.addUniform(l),A.addUniform(M),A.addUniform(h),A.addUniform(d),A.addShader(a),A.addShader(o),i.addAttribute(A),i.addAttribute(r),i.addAttribute(I),i},n.utils.updateColorMappedMaterial=function(t,e){"use strict";if(!t)return void console.log("[warning] Invalid material. Nothing to update.");if(!e)return void console.log("[warning] Invalid lookup table. Nothing to update.");var n=t.shaderProgram().uniform("lutMin"),i=t.shaderProgram().uniform("lutMax");n.set(e.range()[0]),i.set(e.range()[1]),t.setAttribute(e)},n.utils.createSolidColorMaterial=function(t){"use strict";t||(t=[1,1,1]);var e=new n.material,i=new n.blend,r=new n.shaderProgram,A=n.utils.createVertexShaderSolidColor(n.GL),o=n.utils.createFragmentShaderSolidColor(n.GL,t),a=new n.vertexAttribute("vertexPosition"),c=new n.floatUniform("pointSize",5),s=new n.floatUniform("opacity",1),u=new n.modelViewUniform("modelViewMatrix"),g=new n.projectionUniform("projectionMatrix");return r.addVertexAttribute(a,n.vertexAttributeKeys.Position),r.addUniform(c),r.addUniform(s),r.addUniform(u),r.addUniform(g),r.addShader(o),r.addShader(A),e.addAttribute(r),e.addAttribute(i),e},n.utils.createPointSpritesMaterial=function(t,e){"use strict";var i=void 0===e?[0,1]:e.range(),r=new n.material,A=new n.blend,o=new n.shaderProgram,a=n.utils.createPointSpritesVertexShader(n.GL),c=n.utils.createPointSpritesFragmentShader(n.GL),s=new n.vertexAttribute("vertexPosition"),u=new n.vertexAttribute("vertexColor"),g=new n.floatUniform("height",0),l=new n.floatUniform("vertexColorWeight",0),M=new n.floatUniform("lutMin",i[0]),h=new n.floatUniform("lutMax",i[1]),d=new n.modelViewUniform("modelViewMatrix"),f=new n.projectionUniform("projectionMatrix"),I=new n.uniform(n.GL.INT,"opacityLookup"),E=new n.uniform(n.GL.INT,"scalarsToColors"),T=new n.uniform(n.GL.INT,"useScalarsToColors"),N=new n.uniform(n.GL.INT,"useVertexColors"),y=new n.uniform(n.GL.FLOAT_VEC2,"pointSize"),p=new n.texture;return I.set(0),E.set(1),T.set(0),N.set(0),y.set([1,1]),o.addVertexAttribute(s,n.vertexAttributeKeys.Position),o.addVertexAttribute(u,n.vertexAttributeKeys.Color),o.addUniform(g),o.addUniform(l),o.addUniform(d),o.addUniform(f),o.addUniform(I),o.addUniform(N),o.addUniform(T),o.addUniform(y),o.addShader(c),o.addShader(a),r.addAttribute(o),r.addAttribute(A),e&&(o.addUniform(E),T.set(1),o.addUniform(M),o.addUniform(h),e.setTextureUnit(1),r.addAttribute(e)),p.setImage(t),p.setTextureUnit(0),r.addAttribute(p),r},n.utils.createPlane=function(t,e,i,r,A,o,a,c,s){"use strict";var u=new n.mapper,g=new n.planeSource,l=n.utils.createGeometryMaterial(),M=new n.actor;return g.setOrigin(t,e,i),g.setPoint1(r,A,o),g.setPoint2(a,c,s),u.setGeometryData(g.create()),M.setMapper(u),M.setMaterial(l),M},n.utils.createTexturePlane=function(t,e,i,r,A,o,a,c,s,u){"use strict";var g=new n.mapper,l=new n.planeSource,M=n.utils.createTextureMaterial(u,[t,e,i]),h=new n.actor;return l.setPoint1(r-t,A-e,o-i),l.setPoint2(a-t,c-e,s-i),g.setGeometryData(l.create()),h.setMapper(g),h.setMaterial(M),h},n.utils.createPoints=function(t,e,i,r,A){"use strict";if(!t)return console.log("[ERROR] Cannot create points without positions"),null;A=void 0===A?1:A;var o=new n.mapper,a=new n.pointSource,c=n.utils.createPointGeometryMaterial(A),s=new n.actor;return a.setPositions(t),i&&a.setColors(i),r&&a.setTextureCoordinates(r),e?a.setSize(e):a.setSize(1),o.setGeometryData(a.create()),s.setMapper(o),s.setMaterial(c),s},n.utils.createPointSprites=function(t,e,i,r){"use strict";if(!t)return console.log("[ERROR] Point sprites requires an image"),null;if(!e)return console.log("[ERROR] Cannot create points without positions"),null;var A=new n.mapper,o=new n.pointSource,a=n.utils.createPointSpritesMaterial(t),c=new n.actor;return o.setPositions(e),i&&o.setColors(i),r&&o.setTextureCoordinates(r),A.setGeometryData(o.create()),c.setMapper(A),c.setMaterial(a),c},n.utils.createLines=function(t,e){"use strict";if(!t)return console.log("[ERROR] Cannot create points without positions"),null;var i=new n.mapper,r=new n.lineSource,A=n.utils.createGeometryMaterial(),o=new n.actor;return r.setPositions(t),e&&r.setColors(e),i.setGeometryData(r.create()),o.setMapper(i),o.setMaterial(A),o},n.utils.createColorLegend=function(t,e,i,r,A,o,a){"use strict";function c(t,e,i){if(!e)return void console.log("[error] Create labels requires positions (x,y,z) array");if(e.length%3!=0)return void console.log("[error] Create labels require positions array contain 3d points");if(!i)return void console.log("[error] Create labels requires Valid range");var r,A=null,o=n.utils.computePowerOfTwo(48),a=0,c=[],s=[],u=[],g=[],l=e[6]-e[0];for(s.length=3,u.length=3,g.length=3,r=0;r<2;r+=1)a=r*(e.length-3),s[0]=e[a]-l,s[1]=e[a+1]-2*l,s[2]=e[a+2],u[0]=e[a]+l,u[1]=s[1],u[2]=s[2],g[0]=s[0],g[1]=e[1],g[2]=s[2],A=n.utils.createTexturePlane(s[0],s[1],s[2],u[0],u[1],u[2],g[0],g[1],g[2],!0),A.setReferenceFrame(n.boundingObject.ReferenceFrame.Absolute),A.material().setBinNumber(n.material.RenderBin.Overlay),A.material().addAttribute(n.utils.create2DTexture(i[r].toFixed(2).toString(),12,null)),c.push(A);return s[0]=.5*(e[0]+e[e.length-3]-o),s[1]=e[1]+4,s[2]=e[2],u[0]=s[0]+o,u[1]=s[1],u[2]=s[2],g[0]=s[0],g[1]=s[1]+o,g[2]=s[2],A=n.utils.createTexturePlane(s[0],s[1],s[2],u[0],u[1],u[2],g[0],g[1],g[2],!0),A.setReferenceFrame(n.boundingObject.ReferenceFrame.Absolute),A.material().setBinNumber(n.material.RenderBin.Overlay),A.material().addAttribute(n.utils.create2DTexture(t,24,null)),c.push(A),c}if(!e)return console.log("[error] Invalid lookup table"),[];var s=i[0]+r,u=i[1],g=i[0],l=i[1]+A,M=[],h=null,d=null,f=n.groupNode();return h=n.utils.createTexturePlane(i[0],i[1],i[2],s,u,0,g,l,0,!0),d=h.material(),d.addAttribute(e),h.setMaterial(d),f.addChild(h),h.material().setBinNumber(n.material.RenderBin.Overlay),h.setReferenceFrame(n.boundingObject.ReferenceFrame.Absolute),M.push(h),M=M.concat(function(t,e,n,i,r,A,o,a,s,u,g,l,M,h,d){d=d;var f=s-A,I=null,E=f/l,T=[],N=[];for(I=0;I<=l;I+=1)T.push(A+E*I),T.push(o),T.push(a),T.push(A+E*I),T.push(o+h),T.push(a);return N=N.concat(c(t,T,e.range()))}(t,e,i[0],i[1],i[1],g,u,0,s,u,0,o,a,5,3))},n.utils.create2DTexture=function(t,e,i,r,A,o,a){"use strict";var c=document.getElementById("textRendering"),s=null,u=n.texture();return r=r||"sans-serif",A=A||"center",o=o||"bottom",void 0===a&&(a=!0),c||(c=document.createElement("canvas")),s=c.getContext("2d"),c.setAttribute("id","textRendering"),c.style.display="none",c.height=n.utils.computePowerOfTwo(8*e),c.width=c.height,s.fillStyle="rgba(0, 0, 0, 0)",s.fillRect(0,0,s.canvas.width,s.canvas.height),s.fillStyle="rgba(200, 85, 10, 1.0)",s.textAlign=A,s.textBaseline=o,s.font=4*e+"px "+r,a&&(s.font="bold "+s.font),s.fillText(t,c.width/2,c.height/2,c.width),u.setImage(c),u.updateDimensions(),u},n.picker=function(){"use strict";if(!(this instanceof n.picker))return new n.picker;n.object.call(this);var t=[];return this.getActors=function(){return t},this.pick=function(e,n,i){if(void 0===e)return 0;if(void 0===n)return 0;if(void 0===i)return 0;t=[];var r,A,a,c,s,u,g,l,M,h,d,f=i.camera(),I=i.width(),E=i.height(),T=f.focalPoint(),N=o.fromValues(T[0],T[1],T[2],1),y=i.worldToDisplay(N,f.viewMatrix(),f.projectionMatrix(),I,E),p=o.fromValues(e,n,y[2],1),C=i.displayToWorld(p,f.viewMatrix(),f.projectionMatrix(),I,E),D=f.position(),x=[];for(a=0;a<3;a+=1)x[a]=C[a]-D[a];for(r=i.sceneRoot().children(),A=0,a=0;a<r.length;a+=1)if(d=r[a],!0===d.visible()){if(c=d.bounds(),x[0]>=0?(s=(c[0]-D[0])/x[0],u=(c[1]-D[0])/x[0]):(s=(c[1]-D[0])/x[0],u=(c[0]-D[0])/x[0]),x[1]>=0?(g=(c[2]-D[1])/x[1],l=(c[3]-D[1])/x[1]):(g=(c[3]-D[1])/x[1],l=(c[2]-D[1])/x[1]),s>l||g>u)continue;if(g>s&&(s=g),l<u&&(u=l),x[2]>=0?(M=(c[4]-D[2])/x[2],h=(c[5]-D[2])/x[2]):(M=(c[5]-D[2])/x[2],h=(c[4]-D[2])/x[2]),s>h||M>u)continue;M>s&&(s=M),h<u&&(u=h),t[A]=d,A+=1}return A},this},t(n.picker,n.object),n.shapefileReader=function(){"use strict";if(!(this instanceof n.shapefileReader))return new n.shapefileReader;var t=this;return this.int8=function(t,e){return t.charCodeAt(e)},this.bint32=function(t,e){return((255&t.charCodeAt(e))<<24)+((255&t.charCodeAt(e+1))<<16)+((255&t.charCodeAt(e+2))<<8)+(255&t.charCodeAt(e+3))},this.lint32=function(t,e){return((255&t.charCodeAt(e+3))<<24)+((255&t.charCodeAt(e+2))<<16)+((255&t.charCodeAt(e+1))<<8)+(255&t.charCodeAt(e))},this.bint16=function(t,e){return((255&t.charCodeAt(e))<<8)+(255&t.charCodeAt(e+1))},this.lint16=function(t,e){return((255&t.charCodeAt(e+1))<<8)+(255&t.charCodeAt(e))},this.ldbl64=function(t,e){var n=255&t.charCodeAt(e),i=255&t.charCodeAt(e+1),r=255&t.charCodeAt(e+2),A=255&t.charCodeAt(e+3),o=255&t.charCodeAt(e+4),a=255&t.charCodeAt(e+5),c=255&t.charCodeAt(e+6),s=255&t.charCodeAt(e+7),u=1-2*(s>>7),g=((127&s)<<4)+((240&c)>>4)-1023;return u*(1+((15&c)*Math.pow(2,48)+a*Math.pow(2,40)+o*Math.pow(2,32)+A*Math.pow(2,24)+r*Math.pow(2,16)+i*Math.pow(2,8)+n)*Math.pow(2,-52))*Math.pow(2,g)},this.lfloat32=function(t,e){var n=255&t.charCodeAt(e),i=255&t.charCodeAt(e+1),r=255&t.charCodeAt(e+2),A=255&t.charCodeAt(e+3),o=1-2*(A>>7),a=((127&A)<<1)+((254&r)>>7)-127;return o*(1+((127&r)*Math.pow(2,16)+i*Math.pow(2,8)+n)*Math.pow(2,-23))*Math.pow(2,a)},this.str=function(t,e,n){for(var i=[],r=e;r<e+n;){var A=t[r];if(0===A.charCodeAt(0))break;i.push(A),r+=1}return i.join("")},this.readHeader=function(t){return{code:this.bint32(t,0),length:this.bint32(t,24),version:this.lint32(t,28),shapetype:this.lint32(t,32)}},this.loadShx=function(e){for(var n=[],i=100;i<e.length;)i=function(i){return n.push(2*t.bint32(e,i)),i+8}(i);return n},this.Shapefile=function(t){var e=t.path;s.ajax({url:e+".shx",mimeType:"text/plain; charset=x-user-defined",success:function(n){var i=this.loadShx(n);s.ajax({url:e+".shp",mimeType:"text/plain; charset=x-user-defined",success:function(n){s.ajax({url:e+".dbf",mimeType:"text/plain; charset=x-user-defined",success:function(e){var r=this.loadShp(n,e,i,t);t.success(r)}})}})}})},this.localShapefile=function(e){var n=e.shx,i=e.shp,r=e.dbf,A=new FileReader;A.onloadend=function(){var n=t.loadShx(A.result),o=new FileReader;o.onloadend=function(){var i=o.result,A=new FileReader;A.onloadend=function(){var r=A.result,o=t.loadShp(i,r,n,e);e.success(o)},A.readAsBinaryString(r)},o.readAsBinaryString(i)},A.readAsBinaryString(n)},this.loadDBF=function(e){if(4===t.int8(e,0))throw"Level 7 dBASE not supported";for(var n=t.lint32(e,4),i=t.lint16(e,8),r=t.lint16(e,10),A=32,o=[];A<i-1;)o.push(function(n){return{name:t.str(e,n,10),type:t.str(e,n+11,1),length:t.int8(e,n+16)}}(A)),A+=32;for(var a=[],c=i;c<i+n*r;){if("*"===t.str(e,c,1))c+=r;else{c+=1;for(var s={},u=0;u<o.length;u+=1){var g,l=o[u];"C"===l.type?g=t.str(e,c,l.length).trim():"N"===l.type&&(g=parseFloat(t.str(e,c,l.length))),c+=l.length,s[l.name]=g}a.push(s)}}return a},this.loadShp=function(e,n,i,r){r=r;var A,o=[],a=function(n,i,r){for(var A=[],o=r-1;o>=i;o-=1){var a=t.ldbl64(e,n+16*o),c=t.ldbl64(e,n+16*o+8);A.push([a,c])}return A},c=this.loadDBF(n);for(A=0;A<i.length;A+=1){var s=i[A];!function(n){var i,r,A,c,s,u,g,l,M,h=n+8,d=t.lint32(e,h);if(0===d)console.log("NULL Shape");else if(1===d){var f=t.ldbl64(e,h+4),I=t.ldbl64(e,h+12);o.push({type:"Point",attr:{},geom:[[f,I]]})}else if(5===d){for(i=t.lint32(e,h+36),r=t.lint32(e,h+40),A=n+52,c=n+52+4*i,M=[],s=0;s<i;s+=1)u=t.lint32(e,A+4*s),g=s+1<i?t.lint32(e,A+4*(s+1)):r,l=a(c,u,g),M.push(l);o.push({type:"Polygon",attr:{},geom:[M]})}else{if(3!==d)throw"Not Implemented: "+d;for(i=t.lint32(e,h+36),r=t.lint32(e,h+40),A=n+52,c=n+52+4*i,M=[],s=0;s<i;s+=1)u=t.lint32(e,A+4*s),g=s+1<i?t.lint32(e,A+4*(s+1)):r,l=a(c,u,g),M.push(l);o.push({type:"Polyline",attr:{},geom:[M]})}}(s)}var u=[];for(A=0;A<o.length;A+=1){var g=o[A];g.attr=c[A],u.push(g)}return u},this},n.vtkReader=function(){"use strict";if(!(this instanceof n.vtkReader))return new n.vtkReader;var t=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","+","/"],e=[],i={},r=null,o=null,a="",c=0,s=0,u=null,g=0;if(0===e.length)for(g=0;g<t.length;g+=1)e[t[g]]=g;return this.ntos=function(t){var e;return e=t.toString(16),1===e.length&&(e="0"+e),e="%"+e,unescape(e)},this.readReverseBase64=function(){var t;if(!a)return-1;for(;;){if(c>=a.length)return-1;if(t=a.charAt(c),c+=1,e[t])return e[t];if("A"===t)return 0}return-1},this.decode64=function(t){var e="",n=new Array(4),i=!1;for(a=t,c=0;!i&&-1!==(n[0]=this.readReverseBase64())&&-1!==(n[1]=this.readReverseBase64());)n[2]=this.readReverseBase64(),n[3]=this.readReverseBase64(),e+=this.ntos(n[0]<<2&255|n[1]>>4),-1!==n[2]?(e+=this.ntos(n[1]<<4&255|n[2]>>2),-1!==n[3]?e+=this.ntos(n[2]<<6&255|n[3]):i=!0):i=!0;return e},this.readNumber=function(t){return t[s++]+(t[s++]<<8)+(t[s++]<<16)+(t[s++]<<24)},this.readF3Array=function(t,e){var n,i=4*t*3,r=new Int8Array(i);for(n=0;n<i;n+=1)r[n]=e[s],s+=1;return new Float32Array(r.buffer)},this.readColorArray=function(t,e,n){var i,r=0,A=new Array(3*t);for(i=0;i<t;i+=1)A[r++]=e[s++]/255,A[r++]=e[s++]/255,A[r++]=e[s++]/255,s++;n.insert(A)},this.parseObject=function(t){var e,i,r,o,a,c,l,M,h,d,f,I=new n.geometryData,E=n.mapper(),T=[],N=null,y=null,p=null,C=null;for(y=atob(t.data),g=0;g<y.length;g+=1)T[g]=255&y.charCodeAt(g);if(s=0,e=this.readNumber(T),N=String.fromCharCode(T[s]),s+=1,I.setName(N),"L"===N)p=this.parseLineData(I,T),C=n.utils.createGeometryMaterial();else if("M"===N)p=this.parseMeshData(I,T),C=n.utils.createPhongMaterial();else if("P"===N)p=this.parsePointData(I,T),C=n.utils.createGeometryMaterial();else{if("C"===N){for(r=this.parseColorMapData(I,T,e),l=[],g=0;g<r.colors.length;g+=1)l.push(r.colors[g][1]),l.push(r.colors[g][2]),l.push(r.colors[g][3]),l.push(255*r.colors[g][0]);return c=new n.lookupTable,c.setColorTable(l),M=u.renderWindow().windowSize(),h=r.size[0]*M[0],d=r.size[1]*M[1],f=[r.position[0]*M[0],(1-r.position[1])*M[1],0],f[1]=f[1]-d,d=30,n.utils.createColorLegend(r.title,c,f,h,d,3,0)}console.log("Ignoring unrecognized encoded data type "+N)}return E.setGeometryData(I),t.hasTransparency&&(o=C.shaderProgram(),a=o.uniform("opacity"),console.log("opacity ",t.opacity),a.set(t.opacity),C.setBinNumber(1e3)),i=n.actor(),i.setMapper(E),i.setMaterial(C),i.setMatrix(A.transpose(A.create(),p)),[i]},this.parseLineData=function(t,e){var i,r,o,a,c,u,g,l,M=null,h=null,d=null,f=A.create(),I=null,E=0;for(r=this.readNumber(e),I=new Array(3*r),M=new n.sourceDataP3fv,o=this.readF3Array(r,e),l=0;l<r;l+=1)I[E++]=o[3*l],I[E++]=o[3*l+1],I[E++]=o[3*l+2];for(M.insert(I),t.addSource(M),h=new n.sourceDataC3fv,this.readColorArray(r,e,h),t.addSource(h),d=new n.lines,t.addPrimitive(d),i=this.readNumber(e),a=new Int8Array(2*i),l=0;l<2*i;l+=1)a[l]=e[s],s+=1;for(c=new Uint16Array(a.buffer),d.setIndices(c),d.setPrimitiveType(n.GL.LINES),u=64,a=new Int8Array(u),l=0;l<u;l+=1)a[l]=e[s],s+=1;return g=new Float32Array(a.buffer),A.copy(f,g),f},this.parseMeshData=function(t,e){var i,r,o,a,c,u,g,l,M=null,h=null,d=null,f=A.create(),I=null,E=null,T=0;for(r=this.readNumber(e),E=new Array(6*r),M=new n.sourceDataP3N3f,o=this.readF3Array(r,e),d=this.readF3Array(r,e),l=0;l<r;l+=1)E[T++]=o[3*l],E[T++]=o[3*l+1],E[T++]=o[3*l+2],E[T++]=d[3*l],E[T++]=d[3*l+1],E[T++]=d[3*l+2];for(M.insert(E),t.addSource(M),h=new n.sourceDataC3fv,this.readColorArray(r,e,h),t.addSource(h),a=[],I=new n.triangles,i=this.readNumber(e),a=new Int8Array(2*i),l=0;l<2*i;l+=1)a[l]=e[s],s+=1;for(c=new Uint16Array(a.buffer),I.setIndices(c),t.addPrimitive(I),u=64,a=new Int8Array(u),l=0;l<u;l+=1)a[l]=e[s],s+=1;return g=new Float32Array(a.buffer),A.copy(f,g),null,f},this.parsePointData=function(t,e){var i,r,o,a,c,u,l=A.create(),M=null,h=null,d=null,f=null,I=0;for(i=this.readNumber(e),f=new Array(3*i),M=new n.sourceDataP3fv,r=this.readF3Array(i,e),o=new Uint16Array(i),g=0;g<i;g+=1)o[g]=g,f[I++]=r[3*g],f[I++]=r[3*g+1],f[I++]=r[3*g+2];for(M.insert(f),t.addSource(M),h=new n.sourceDataC3fv,this.readColorArray(i,e,h),t.addSource(h),d=new n.points,d.setIndices(o),t.addPrimitive(d),c=64,a=new Int8Array(c),g=0;g<c;g+=1)a[g]=e[s],s+=1;return u=new Float32Array(a.buffer),A.copy(l,u),l},this.parseColorMapData=function(t,e,n){var i,r,A,o,a,c={};for(c.numOfColors=n,r=8,i=new Int8Array(r),o=0;o<r;o+=1)i[o]=e[s],s+=1;for(c.position=new Float32Array(i.buffer),r=8,i=new Int8Array(r),o=0;o<r;o+=1)i[o]=e[s],s+=1;for(c.size=new Float32Array(i.buffer),c.colors=[],a=0;a<c.numOfColors;a+=1){for(i=new Int8Array(4),o=0;o<4;o+=1)i[o]=e[s],s+=1;A=[new Float32Array(i.buffer)[0],e[s++],e[s++],e[s++]],c.colors[a]=A}for(c.orientation=e[s++],c.numOfLabels=e[s++],c.title="";s<e.length;)c.title+=String.fromCharCode(e[s++]);return c},this.parseSceneMetadata=function(t,e){var n,i,A,a=r.Renderers[e],c=t.camera();i=(a.size[0]-a.origin[0])*o.width,A=(a.size[1]-a.origin[1])*o.height,t.resize(i,A),c.setCenterOfRotation([a.LookAt[1],a.LookAt[2],a.LookAt[3]]),c.setViewAngleDegrees(a.LookAt[0]),c.setPosition(a.LookAt[7],a.LookAt[8],a.LookAt[9]),c.setFocalPoint(a.LookAt[1],a.LookAt[2],a.LookAt[3]),c.setViewUpDirection(a.LookAt[4],a.LookAt[5],a.LookAt[6]),0===e?(n=a.Background1,t.setBackgroundColor(n[0],n[1],n[2],1)):t.setResizable(!1),t.setLayer(e)},this.initScene=function(){var t,e;if(null===r)return u;for(e=r.Renderers.length-1;e>=0;e-=1)t=this.getRenderer(e),this.parseSceneMetadata(t,e);return u},this.createViewer=function(t){var e;return null===u&&(o=t,u=n.viewer(t),u.init(),u.renderWindow().removeRenderer(u.renderWindow().activeRenderer()),u.renderWindow().addRenderer(new n.depthPeelRenderer),i[0]=u.renderWindow().activeRenderer(),u.renderWindow().resize(t.width,t.height),e=n.pvwInteractorStyle(),u.setInteractorStyle(e)),u},this.deleteViewer=function(){i={},u=null},this.updateCanvas=function(t){return o=t,u.renderWindow().resize(t.width,t.height),u},this.numObjects=function(){return 0},this.getRenderer=function(t){var e;return e=i[t],null!==e&&void 0!==e||(e=new n.renderer,e.setResetScene(!1),e.setResetClippingRange(!1),u.renderWindow().addRenderer(e),0!==t&&e.camera().setClearMask(n.GL.DepthBufferBit),i[t]=e),e},this.setVtkScene=function(t){r=t},this},n.DataBuffers=function(t){"use strict";if(!(this instanceof n.DataBuffers))return new n.DataBuffers(t);var e,i={};e=t||0===t?t:256;var r=0,A=function(t,e,n,i){t||console.log("ack"),n||(n=0),i||(i=e.length);for(var r=0;r<i;r+=1)t[n+r]=e[r]},o=function(t){var n=e;for(2*n<t&&(n=t);n<t;)n*=2;e=n;for(var r in i)if(i.hasOwnProperty(r)){var o=new Float32Array(n*i[r].len),a=i[r].array;A(o,a),i[r].array=o,i[r].dirty=!0}};this.create=function(t,n){if(!n)throw"Length of buffer must be a positive integer";var r=new Float32Array(e*n);return i[t]={array:r,len:n,dirty:!1},i[t].array},this.alloc=function(t){r+t>=e&&o(r+t);var n=r;return r+=t,n},this.get=function(t){return i[t].array},this.write=function(t,e,n,r){A(i[t].array,e,n*i[t].len,r*i[t].len),i[t].dirty=!0},this.repeat=function(t,e,n,r){for(var o=0;o<r;o+=1)A(i[t].array,e,(n+o)*i[t].len,i[t].len);i[t].dirty=!0},this.count=function(){return r},this.data=function(t){return i[t].array}},n})},function(t,e,n){t.exports={create:n(9),clone:n(10),copy:n(11),identity:n(12),transpose:n(13),invert:n(14),adjoint:n(15),determinant:n(16),multiply:n(17),translate:n(18),scale:n(19),rotate:n(20),rotateX:n(21),rotateY:n(22),rotateZ:n(23),fromRotationTranslation:n(24),fromQuat:n(25),frustum:n(26),perspective:n(27),perspectiveFromFieldOfView:n(28),ortho:n(29),lookAt:n(30),str:n(31)}},function(t,e){function n(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}t.exports=n},function(t,e){function n(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}t.exports=n},function(t,e){function n(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}t.exports=n},function(t,e){function n(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}t.exports=n},function(t,e){function n(t,e){if(t===e){var n=e[1],i=e[2],r=e[3],A=e[6],o=e[7],a=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=A,t[11]=e[14],t[12]=r,t[13]=o,t[14]=a}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}t.exports=n},function(t,e){function n(t,e){var n=e[0],i=e[1],r=e[2],A=e[3],o=e[4],a=e[5],c=e[6],s=e[7],u=e[8],g=e[9],l=e[10],M=e[11],h=e[12],d=e[13],f=e[14],I=e[15],E=n*a-i*o,T=n*c-r*o,N=n*s-A*o,y=i*c-r*a,p=i*s-A*a,C=r*s-A*c,D=u*d-g*h,x=u*f-l*h,B=u*I-M*h,w=g*f-l*d,m=g*I-M*d,Q=l*I-M*f,v=E*Q-T*m+N*w+y*B-p*x+C*D;return v?(v=1/v,t[0]=(a*Q-c*m+s*w)*v,t[1]=(r*m-i*Q-A*w)*v,t[2]=(d*C-f*p+I*y)*v,t[3]=(l*p-g*C-M*y)*v,t[4]=(c*B-o*Q-s*x)*v,t[5]=(n*Q-r*B+A*x)*v,t[6]=(f*N-h*C-I*T)*v,t[7]=(u*C-l*N+M*T)*v,t[8]=(o*m-a*B+s*D)*v,t[9]=(i*B-n*m-A*D)*v,t[10]=(h*p-d*N+I*E)*v,t[11]=(g*N-u*p-M*E)*v,t[12]=(a*x-o*w-c*D)*v,t[13]=(n*w-i*x+r*D)*v,t[14]=(d*T-h*y-f*E)*v,t[15]=(u*y-g*T+l*E)*v,t):null}t.exports=n},function(t,e){function n(t,e){var n=e[0],i=e[1],r=e[2],A=e[3],o=e[4],a=e[5],c=e[6],s=e[7],u=e[8],g=e[9],l=e[10],M=e[11],h=e[12],d=e[13],f=e[14],I=e[15];return t[0]=a*(l*I-M*f)-g*(c*I-s*f)+d*(c*M-s*l),t[1]=-(i*(l*I-M*f)-g*(r*I-A*f)+d*(r*M-A*l)),t[2]=i*(c*I-s*f)-a*(r*I-A*f)+d*(r*s-A*c),t[3]=-(i*(c*M-s*l)-a*(r*M-A*l)+g*(r*s-A*c)),t[4]=-(o*(l*I-M*f)-u*(c*I-s*f)+h*(c*M-s*l)),t[5]=n*(l*I-M*f)-u*(r*I-A*f)+h*(r*M-A*l),t[6]=-(n*(c*I-s*f)-o*(r*I-A*f)+h*(r*s-A*c)),t[7]=n*(c*M-s*l)-o*(r*M-A*l)+u*(r*s-A*c),t[8]=o*(g*I-M*d)-u*(a*I-s*d)+h*(a*M-s*g),t[9]=-(n*(g*I-M*d)-u*(i*I-A*d)+h*(i*M-A*g)),t[10]=n*(a*I-s*d)-o*(i*I-A*d)+h*(i*s-A*a),t[11]=-(n*(a*M-s*g)-o*(i*M-A*g)+u*(i*s-A*a)),t[12]=-(o*(g*f-l*d)-u*(a*f-c*d)+h*(a*l-c*g)),t[13]=n*(g*f-l*d)-u*(i*f-r*d)+h*(i*l-r*g),t[14]=-(n*(a*f-c*d)-o*(i*f-r*d)+h*(i*c-r*a)),t[15]=n*(a*l-c*g)-o*(i*l-r*g)+u*(i*c-r*a),t}t.exports=n},function(t,e){function n(t){var e=t[0],n=t[1],i=t[2],r=t[3],A=t[4],o=t[5],a=t[6],c=t[7],s=t[8],u=t[9],g=t[10],l=t[11],M=t[12],h=t[13],d=t[14],f=t[15];return(e*o-n*A)*(g*f-l*d)-(e*a-i*A)*(u*f-l*h)+(e*c-r*A)*(u*d-g*h)+(n*a-i*o)*(s*f-l*M)-(n*c-r*o)*(s*d-g*M)+(i*c-r*a)*(s*h-u*M)}t.exports=n},function(t,e){function n(t,e,n){var i=e[0],r=e[1],A=e[2],o=e[3],a=e[4],c=e[5],s=e[6],u=e[7],g=e[8],l=e[9],M=e[10],h=e[11],d=e[12],f=e[13],I=e[14],E=e[15],T=n[0],N=n[1],y=n[2],p=n[3];return t[0]=T*i+N*a+y*g+p*d,t[1]=T*r+N*c+y*l+p*f,t[2]=T*A+N*s+y*M+p*I,t[3]=T*o+N*u+y*h+p*E,T=n[4],N=n[5],y=n[6],p=n[7],t[4]=T*i+N*a+y*g+p*d,t[5]=T*r+N*c+y*l+p*f,t[6]=T*A+N*s+y*M+p*I,t[7]=T*o+N*u+y*h+p*E,T=n[8],N=n[9],y=n[10],p=n[11],t[8]=T*i+N*a+y*g+p*d,t[9]=T*r+N*c+y*l+p*f,t[10]=T*A+N*s+y*M+p*I,t[11]=T*o+N*u+y*h+p*E,T=n[12],N=n[13],y=n[14],p=n[15],t[12]=T*i+N*a+y*g+p*d,t[13]=T*r+N*c+y*l+p*f,t[14]=T*A+N*s+y*M+p*I,t[15]=T*o+N*u+y*h+p*E,t}t.exports=n},function(t,e){function n(t,e,n){var i,r,A,o,a,c,s,u,g,l,M,h,d=n[0],f=n[1],I=n[2];return e===t?(t[12]=e[0]*d+e[4]*f+e[8]*I+e[12],t[13]=e[1]*d+e[5]*f+e[9]*I+e[13],t[14]=e[2]*d+e[6]*f+e[10]*I+e[14],t[15]=e[3]*d+e[7]*f+e[11]*I+e[15]):(i=e[0],r=e[1],A=e[2],o=e[3],a=e[4],c=e[5],s=e[6],u=e[7],g=e[8],l=e[9],M=e[10],h=e[11],t[0]=i,t[1]=r,t[2]=A,t[3]=o,t[4]=a,t[5]=c,t[6]=s,t[7]=u,t[8]=g,t[9]=l,t[10]=M,t[11]=h,t[12]=i*d+a*f+g*I+e[12],t[13]=r*d+c*f+l*I+e[13],t[14]=A*d+s*f+M*I+e[14],t[15]=o*d+u*f+h*I+e[15]),t}t.exports=n},function(t,e){function n(t,e,n){var i=n[0],r=n[1],A=n[2];return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t[3]=e[3]*i,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*A,t[9]=e[9]*A,t[10]=e[10]*A,t[11]=e[11]*A,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}t.exports=n},function(t,e){function n(t,e,n,i){var r,A,o,a,c,s,u,g,l,M,h,d,f,I,E,T,N,y,p,C,D,x,B,w,m=i[0],Q=i[1],v=i[2],j=Math.sqrt(m*m+Q*Q+v*v);return Math.abs(j)<1e-6?null:(j=1/j,m*=j,Q*=j,v*=j,r=Math.sin(n),A=Math.cos(n),o=1-A,a=e[0],c=e[1],s=e[2],u=e[3],g=e[4],l=e[5],M=e[6],h=e[7],d=e[8],f=e[9],I=e[10],E=e[11],T=m*m*o+A,N=Q*m*o+v*r,y=v*m*o-Q*r,p=m*Q*o-v*r,C=Q*Q*o+A,D=v*Q*o+m*r,x=m*v*o+Q*r,B=Q*v*o-m*r,w=v*v*o+A,t[0]=a*T+g*N+d*y,t[1]=c*T+l*N+f*y,t[2]=s*T+M*N+I*y,t[3]=u*T+h*N+E*y,t[4]=a*p+g*C+d*D,t[5]=c*p+l*C+f*D,t[6]=s*p+M*C+I*D,t[7]=u*p+h*C+E*D,t[8]=a*x+g*B+d*w,t[9]=c*x+l*B+f*w,t[10]=s*x+M*B+I*w,t[11]=u*x+h*B+E*w,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}t.exports=n},function(t,e){function n(t,e,n){var i=Math.sin(n),r=Math.cos(n),A=e[4],o=e[5],a=e[6],c=e[7],s=e[8],u=e[9],g=e[10],l=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=A*r+s*i,t[5]=o*r+u*i,t[6]=a*r+g*i,t[7]=c*r+l*i,t[8]=s*r-A*i,t[9]=u*r-o*i,t[10]=g*r-a*i,t[11]=l*r-c*i,t}t.exports=n},function(t,e){function n(t,e,n){var i=Math.sin(n),r=Math.cos(n),A=e[0],o=e[1],a=e[2],c=e[3],s=e[8],u=e[9],g=e[10],l=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=A*r-s*i,t[1]=o*r-u*i,t[2]=a*r-g*i,t[3]=c*r-l*i,t[8]=A*i+s*r,t[9]=o*i+u*r,t[10]=a*i+g*r,t[11]=c*i+l*r,t}t.exports=n},function(t,e){function n(t,e,n){var i=Math.sin(n),r=Math.cos(n),A=e[0],o=e[1],a=e[2],c=e[3],s=e[4],u=e[5],g=e[6],l=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=A*r+s*i,t[1]=o*r+u*i,t[2]=a*r+g*i,t[3]=c*r+l*i,t[4]=s*r-A*i,t[5]=u*r-o*i,t[6]=g*r-a*i,t[7]=l*r-c*i,t}t.exports=n},function(t,e){function n(t,e,n){var i=e[0],r=e[1],A=e[2],o=e[3],a=i+i,c=r+r,s=A+A,u=i*a,g=i*c,l=i*s,M=r*c,h=r*s,d=A*s,f=o*a,I=o*c,E=o*s;return t[0]=1-(M+d),t[1]=g+E,t[2]=l-I,t[3]=0,t[4]=g-E,t[5]=1-(u+d),t[6]=h+f,t[7]=0,t[8]=l+I,t[9]=h-f,t[10]=1-(u+M),t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t}t.exports=n},function(t,e){function n(t,e){var n=e[0],i=e[1],r=e[2],A=e[3],o=n+n,a=i+i,c=r+r,s=n*o,u=i*o,g=i*a,l=r*o,M=r*a,h=r*c,d=A*o,f=A*a,I=A*c;return t[0]=1-g-h,t[1]=u+I,t[2]=l-f,t[3]=0,t[4]=u-I,t[5]=1-s-h,t[6]=M+d,t[7]=0,t[8]=l+f,t[9]=M-d,t[10]=1-s-g,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}t.exports=n},function(t,e){function n(t,e,n,i,r,A,o){var a=1/(n-e),c=1/(r-i),s=1/(A-o);return t[0]=2*A*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*A*c,t[6]=0,t[7]=0,t[8]=(n+e)*a,t[9]=(r+i)*c,t[10]=(o+A)*s,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*A*2*s,t[15]=0,t}t.exports=n},function(t,e){function n(t,e,n,i,r){var A=1/Math.tan(e/2),o=1/(i-r);return t[0]=A/n,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=A,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(r+i)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*r*i*o,t[15]=0,t}t.exports=n},function(t,e){function n(t,e,n,i){var r=Math.tan(e.upDegrees*Math.PI/180),A=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),a=Math.tan(e.rightDegrees*Math.PI/180),c=2/(o+a),s=2/(r+A);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=s,t[6]=0,t[7]=0,t[8]=-(o-a)*c*.5,t[9]=(r-A)*s*.5,t[10]=i/(n-i),t[11]=-1,t[12]=0,t[13]=0,t[14]=i*n/(n-i),t[15]=0,t}t.exports=n},function(t,e){function n(t,e,n,i,r,A,o){var a=1/(e-n),c=1/(i-r),s=1/(A-o);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*s,t[11]=0,t[12]=(e+n)*a,t[13]=(r+i)*c,t[14]=(o+A)*s,t[15]=1,t}t.exports=n},function(t,e,n){function i(t,e,n,i){var A,o,a,c,s,u,g,l,M,h,d=e[0],f=e[1],I=e[2],E=i[0],T=i[1],N=i[2],y=n[0],p=n[1],C=n[2];return Math.abs(d-y)<1e-6&&Math.abs(f-p)<1e-6&&Math.abs(I-C)<1e-6?r(t):(g=d-y,l=f-p,M=I-C,h=1/Math.sqrt(g*g+l*l+M*M),g*=h,l*=h,M*=h,A=T*M-N*l,o=N*g-E*M,a=E*l-T*g,h=Math.sqrt(A*A+o*o+a*a),h?(h=1/h,A*=h,o*=h,a*=h):(A=0,o=0,a=0),c=l*a-M*o,s=M*A-g*a,u=g*o-l*A,h=Math.sqrt(c*c+s*s+u*u),h?(h=1/h,c*=h,s*=h,u*=h):(c=0,s=0,u=0),t[0]=A,t[1]=c,t[2]=g,t[3]=0,t[4]=o,t[5]=s,t[6]=l,t[7]=0,t[8]=a,t[9]=u,t[10]=M,t[11]=0,t[12]=-(A*d+o*f+a*I),t[13]=-(c*d+s*f+u*I),t[14]=-(g*d+l*f+M*I),t[15]=1,t)}var r=n(12);t.exports=i},function(t,e){function n(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}t.exports=n},function(t,e,n){t.exports={create:n(33),clone:n(34),fromValues:n(35),copy:n(36),set:n(37),add:n(38),subtract:n(39),multiply:n(40),divide:n(41),min:n(42),max:n(43),scale:n(44),scaleAndAdd:n(45),distance:n(46),squaredDistance:n(47),length:n(48),squaredLength:n(49),negate:n(50),inverse:n(51),normalize:n(52),dot:n(53),lerp:n(54),random:n(55),transformMat4:n(56),transformQuat:n(57)}},function(t,e){function n(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}t.exports=n},function(t,e){function n(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}t.exports=n},function(t,e){function n(t,e,n,i){var r=new Float32Array(4);return r[0]=t,r[1]=e,r[2]=n,r[3]=i,r}t.exports=n},function(t,e){function n(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}t.exports=n},function(t,e){function n(t,e,n,i,r){return t[0]=e,t[1]=n,t[2]=i,t[3]=r,t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t[3]=e[3]-n[3],t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t[2]=e[2]*n[2],t[3]=e[3]*n[3],t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=e[0]/n[0],t[1]=e[1]/n[1],t[2]=e[2]/n[2],t[3]=e[3]/n[3],t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t[2]=Math.min(e[2],n[2]),t[3]=Math.min(e[3],n[3]),t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t[2]=Math.max(e[2],n[2]),t[3]=Math.max(e[3],n[3]),t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t}t.exports=n},function(t,e){function n(t,e,n,i){return t[0]=e[0]+n[0]*i,t[1]=e[1]+n[1]*i,t[2]=e[2]+n[2]*i,t[3]=e[3]+n[3]*i,t}t.exports=n},function(t,e){function n(t,e){var n=e[0]-t[0],i=e[1]-t[1],r=e[2]-t[2],A=e[3]-t[3];return Math.sqrt(n*n+i*i+r*r+A*A)}t.exports=n},function(t,e){function n(t,e){var n=e[0]-t[0],i=e[1]-t[1],r=e[2]-t[2],A=e[3]-t[3];return n*n+i*i+r*r+A*A}t.exports=n},function(t,e){function n(t){var e=t[0],n=t[1],i=t[2],r=t[3];return Math.sqrt(e*e+n*n+i*i+r*r)}t.exports=n},function(t,e){function n(t){var e=t[0],n=t[1],i=t[2],r=t[3];return e*e+n*n+i*i+r*r}t.exports=n},function(t,e){function n(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}t.exports=n},function(t,e){function n(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}t.exports=n},function(t,e){function n(t,e){var n=e[0],i=e[1],r=e[2],A=e[3],o=n*n+i*i+r*r+A*A;return o>0&&(o=1/Math.sqrt(o),t[0]=n*o,t[1]=i*o,t[2]=r*o,t[3]=A*o),t}t.exports=n},function(t,e){function n(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}t.exports=n},function(t,e){function n(t,e,n,i){var r=e[0],A=e[1],o=e[2],a=e[3];return t[0]=r+i*(n[0]-r),t[1]=A+i*(n[1]-A),t[2]=o+i*(n[2]-o),t[3]=a+i*(n[3]-a),t}t.exports=n},function(t,e,n){function i(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),r(t,t),A(t,t,e),t}var r=n(52),A=n(44);t.exports=i},function(t,e){function n(t,e,n){var i=e[0],r=e[1],A=e[2],o=e[3];return t[0]=n[0]*i+n[4]*r+n[8]*A+n[12]*o,t[1]=n[1]*i+n[5]*r+n[9]*A+n[13]*o,t[2]=n[2]*i+n[6]*r+n[10]*A+n[14]*o,t[3]=n[3]*i+n[7]*r+n[11]*A+n[15]*o,t}t.exports=n},function(t,e){function n(t,e,n){var i=e[0],r=e[1],A=e[2],o=n[0],a=n[1],c=n[2],s=n[3],u=s*i+a*A-c*r,g=s*r+c*i-o*A,l=s*A+o*r-a*i,M=-o*i-a*r-c*A;return t[0]=u*s+M*-o+g*-c-l*-a,t[1]=g*s+M*-a+l*-o-u*-c,t[2]=l*s+M*-c+u*-a-g*-o,t[3]=e[3],t}t.exports=n},function(t,e,n){t.exports={create:n(59),clone:n(60),angle:n(61),fromValues:n(62),copy:n(65),set:n(66),add:n(67),subtract:n(68),multiply:n(69),divide:n(70),min:n(71),max:n(72),scale:n(73),scaleAndAdd:n(74),distance:n(75),squaredDistance:n(76),length:n(77),squaredLength:n(78),negate:n(79),inverse:n(80),normalize:n(63),dot:n(64),cross:n(81),lerp:n(82),random:n(83),transformMat4:n(84),transformMat3:n(85),transformQuat:n(86),rotateX:n(87),rotateY:n(88),rotateZ:n(89),forEach:n(90)}},function(t,e){function n(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}t.exports=n},function(t,e){function n(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}t.exports=n},function(t,e,n){function i(t,e){var n=r(t[0],t[1],t[2]),i=r(e[0],e[1],e[2]);A(n,n),A(i,i);var a=o(n,i);return a>1?0:Math.acos(a)}t.exports=i;var r=n(62),A=n(63),o=n(64)},function(t,e){function n(t,e,n){var i=new Float32Array(3);return i[0]=t,i[1]=e,i[2]=n,i}t.exports=n},function(t,e){function n(t,e){var n=e[0],i=e[1],r=e[2],A=n*n+i*i+r*r;return A>0&&(A=1/Math.sqrt(A),t[0]=e[0]*A,t[1]=e[1]*A,t[2]=e[2]*A),t}t.exports=n},function(t,e){function n(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}t.exports=n},function(t,e){function n(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}t.exports=n},function(t,e){function n(t,e,n,i){return t[0]=e,t[1]=n,t[2]=i,t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t[2]=e[2]*n[2],t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=e[0]/n[0],t[1]=e[1]/n[1],t[2]=e[2]/n[2],t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t[2]=Math.min(e[2],n[2]),t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t[2]=Math.max(e[2],n[2]),t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t}t.exports=n},function(t,e){function n(t,e,n,i){return t[0]=e[0]+n[0]*i,t[1]=e[1]+n[1]*i,t[2]=e[2]+n[2]*i,t}t.exports=n},function(t,e){function n(t,e){var n=e[0]-t[0],i=e[1]-t[1],r=e[2]-t[2];return Math.sqrt(n*n+i*i+r*r)}t.exports=n},function(t,e){function n(t,e){var n=e[0]-t[0],i=e[1]-t[1],r=e[2]-t[2];return n*n+i*i+r*r}t.exports=n},function(t,e){function n(t){var e=t[0],n=t[1],i=t[2];return Math.sqrt(e*e+n*n+i*i)}t.exports=n},function(t,e){function n(t){var e=t[0],n=t[1],i=t[2];return e*e+n*n+i*i}t.exports=n},function(t,e){function n(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}t.exports=n},function(t,e){function n(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}t.exports=n},function(t,e){function n(t,e,n){var i=e[0],r=e[1],A=e[2],o=n[0],a=n[1],c=n[2];return t[0]=r*c-A*a,t[1]=A*o-i*c,t[2]=i*a-r*o,t}t.exports=n},function(t,e){function n(t,e,n,i){var r=e[0],A=e[1],o=e[2];return t[0]=r+i*(n[0]-r),t[1]=A+i*(n[1]-A),t[2]=o+i*(n[2]-o),t}t.exports=n},function(t,e){function n(t,e){e=e||1;var n=2*Math.random()*Math.PI,i=2*Math.random()-1,r=Math.sqrt(1-i*i)*e;return t[0]=Math.cos(n)*r,t[1]=Math.sin(n)*r,t[2]=i*e,t}t.exports=n},function(t,e){function n(t,e,n){var i=e[0],r=e[1],A=e[2],o=n[3]*i+n[7]*r+n[11]*A+n[15];return o=o||1,t[0]=(n[0]*i+n[4]*r+n[8]*A+n[12])/o,t[1]=(n[1]*i+n[5]*r+n[9]*A+n[13])/o,t[2]=(n[2]*i+n[6]*r+n[10]*A+n[14])/o,t}t.exports=n},function(t,e){function n(t,e,n){var i=e[0],r=e[1],A=e[2];return t[0]=i*n[0]+r*n[3]+A*n[6],t[1]=i*n[1]+r*n[4]+A*n[7],t[2]=i*n[2]+r*n[5]+A*n[8],t}t.exports=n},function(t,e){function n(t,e,n){var i=e[0],r=e[1],A=e[2],o=n[0],a=n[1],c=n[2],s=n[3],u=s*i+a*A-c*r,g=s*r+c*i-o*A,l=s*A+o*r-a*i,M=-o*i-a*r-c*A;return t[0]=u*s+M*-o+g*-c-l*-a,t[1]=g*s+M*-a+l*-o-u*-c,t[2]=l*s+M*-c+u*-a-g*-o,t}t.exports=n},function(t,e){function n(t,e,n,i){var r=[],A=[];return r[0]=e[0]-n[0],r[1]=e[1]-n[1],r[2]=e[2]-n[2],A[0]=r[0],A[1]=r[1]*Math.cos(i)-r[2]*Math.sin(i),A[2]=r[1]*Math.sin(i)+r[2]*Math.cos(i),t[0]=A[0]+n[0],t[1]=A[1]+n[1],t[2]=A[2]+n[2],t}t.exports=n},function(t,e){function n(t,e,n,i){var r=[],A=[];return r[0]=e[0]-n[0],r[1]=e[1]-n[1],r[2]=e[2]-n[2],A[0]=r[2]*Math.sin(i)+r[0]*Math.cos(i),A[1]=r[1],A[2]=r[2]*Math.cos(i)-r[0]*Math.sin(i),t[0]=A[0]+n[0],t[1]=A[1]+n[1],t[2]=A[2]+n[2],t}t.exports=n},function(t,e){function n(t,e,n,i){var r=[],A=[];return r[0]=e[0]-n[0],r[1]=e[1]-n[1],r[2]=e[2]-n[2],A[0]=r[0]*Math.cos(i)-r[1]*Math.sin(i),A[1]=r[0]*Math.sin(i)+r[1]*Math.cos(i),A[2]=r[2],t[0]=A[0]+n[0],t[1]=A[1]+n[1],t[2]=A[2]+n[2],t}t.exports=n},function(t,e,n){function i(t,e,n,i,A,o){var a,c;for(e||(e=3),n||(n=0),c=i?Math.min(i*e+n,t.length):t.length,a=n;a<c;a+=e)r[0]=t[a],r[1]=t[a+1],r[2]=t[a+2],A(r,r,o),t[a]=r[0],t[a+1]=r[1],t[a+2]=r[2];return t}t.exports=i;var r=n(59)()},function(t,e,n){t.exports={create:n(92),clone:n(93),fromValues:n(94),copy:n(95),set:n(96),add:n(97),subtract:n(98),multiply:n(99),divide:n(100),min:n(101),max:n(102),scale:n(103),scaleAndAdd:n(104),distance:n(105),squaredDistance:n(106),length:n(107),squaredLength:n(108),negate:n(109),normalize:n(110),dot:n(111),cross:n(112),lerp:n(113),random:n(114),transformMat2:n(115),transformMat2d:n(116),transformMat3:n(117),transformMat4:n(118),forEach:n(119)}},function(t,e){function n(){var t=new Float32Array(2);return t[0]=0,t[1]=0,t}t.exports=n},function(t,e){function n(t){var e=new Float32Array(2);return e[0]=t[0],e[1]=t[1],e}t.exports=n},function(t,e){function n(t,e){var n=new Float32Array(2);return n[0]=t,n[1]=e,n}t.exports=n},function(t,e){function n(t,e){return t[0]=e[0],t[1]=e[1],t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=e,t[1]=n,t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=e[0]/n[0],t[1]=e[1]/n[1],t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t}t.exports=n},function(t,e){function n(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t}t.exports=n},function(t,e){function n(t,e,n,i){return t[0]=e[0]+n[0]*i,t[1]=e[1]+n[1]*i,t}t.exports=n},function(t,e){function n(t,e){var n=e[0]-t[0],i=e[1]-t[1];return Math.sqrt(n*n+i*i)}t.exports=n},function(t,e){function n(t,e){var n=e[0]-t[0],i=e[1]-t[1];return n*n+i*i}t.exports=n},function(t,e){function n(t){var e=t[0],n=t[1];return Math.sqrt(e*e+n*n)}t.exports=n},function(t,e){function n(t){var e=t[0],n=t[1];return e*e+n*n}t.exports=n},function(t,e){function n(t,e){return t[0]=-e[0],t[1]=-e[1],t}t.exports=n},function(t,e){function n(t,e){var n=e[0],i=e[1],r=n*n+i*i;return r>0&&(r=1/Math.sqrt(r),t[0]=e[0]*r,t[1]=e[1]*r),t}t.exports=n},function(t,e){function n(t,e){return t[0]*e[0]+t[1]*e[1]}t.exports=n},function(t,e){function n(t,e,n){var i=e[0]*n[1]-e[1]*n[0];return t[0]=t[1]=0,t[2]=i,t}t.exports=n},function(t,e){function n(t,e,n,i){var r=e[0],A=e[1];return t[0]=r+i*(n[0]-r),t[1]=A+i*(n[1]-A),t}t.exports=n},function(t,e){function n(t,e){e=e||1;var n=2*Math.random()*Math.PI;return t[0]=Math.cos(n)*e,t[1]=Math.sin(n)*e,t}t.exports=n},function(t,e){function n(t,e,n){var i=e[0],r=e[1];return t[0]=n[0]*i+n[2]*r,t[1]=n[1]*i+n[3]*r,t}t.exports=n},function(t,e){function n(t,e,n){var i=e[0],r=e[1];return t[0]=n[0]*i+n[2]*r+n[4],t[1]=n[1]*i+n[3]*r+n[5],t}t.exports=n},function(t,e){function n(t,e,n){var i=e[0],r=e[1];return t[0]=n[0]*i+n[3]*r+n[6],t[1]=n[1]*i+n[4]*r+n[7],t}t.exports=n},function(t,e){function n(t,e,n){var i=e[0],r=e[1];return t[0]=n[0]*i+n[4]*r+n[12],t[1]=n[1]*i+n[5]*r+n[13],t}t.exports=n},function(t,e,n){function i(t,e,n,i,A,o){var a,c;for(e||(e=2),n||(n=0),c=i?Math.min(i*e+n,t.length):t.length,a=n;a<c;a+=e)r[0]=t[a],r[1]=t[a+1],A(r,r,o),t[a]=r[0],t[a+1]=r[1];return t}t.exports=i;var r=n(92)()},function(t,e,n){var i=n(1),r=n(121);i.extend(r,n(122)),r.DistanceGrid=n(123),r.ClusterGroup=n(124),t.exports=r},function(t,e,n){!function(){"use strict";function e(){var t;for(t=0;t<arguments.length;t+=1)if(isFinite(arguments[t]))return arguments[t]}var i,r=n(1),A={util:{}},o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",a={},c=200,s=15;A.util={pointInPolygon:function(t,e,n){var i=!1,r=e.length;return!(r<3)&&(e.forEach(function(n,A){var o=(r+A-1)%r;e[A].y>t.y!=e[o].y>t.y&&t.x<(e[o].x-e[A].x)*(t.y-e[A].y)/(e[o].y-e[A].y)+e[A].x&&(i=!i)}),(n||[]).forEach(function(e){i=i&&!A.util.pointInPolygon(t,e)}),i)},isFunction:function(t){return"function"==typeof t},ensureFunction:function(t){return A.util.isFunction(t)?t:function(){return t}},randomString:function(t){var e,n,i;for(t=t||8,e="",n=0;n<t;n+=1)i=Math.floor(Math.random()*o.length),e+=o.substring(i,i+1);return e},convertColor:function(t){return void 0!==t.r&&void 0!==t.g&&void 0!==t.b?t:("string"==typeof t&&(A.util.cssColors.hasOwnProperty(t)?t=A.util.cssColors[t]:"#"===t.charAt(0)&&(t=parseInt(t.slice(1),16))),isFinite(t)&&(t={r:((16711680&t)>>16)/255,g:((65280&t)>>8)/255,b:(255&t)/255}),t)},normalizeCoordinates:function(t){return t=t||{},Array.isArray(t)?{x:t[0],y:t[1],z:t[2]||0}:{x:e(t.x,t.longitude,t.lng,t.lon,0),y:e(t.y,t.latitude,t.lat,0),z:e(t.z,t.elevation,t.elev,t.height,0)}},radiusEarth:6378137,lincomb:function(t,e,n,i){return e.x=t*(e.x||0)+n*(i.x||0),e.y=t*(e.y||0)+n*(i.y||0),e.z=t*(e.x||0)+n*(i.x||0),e},scale:function(t,e,n){return t.x=(t.x||0)*Math.pow(e.x||1,n),t.y=(t.y||0)*Math.pow(e.y||1,n),t.z=(t.z||0)*Math.pow(e.z||1,n),t},compareArrays:function(t,e){return t.length===e.length&&t.every(function(t,n){return t===e[n]})},vec3AsArray:function(){return[0,0,0]},mat4AsArray:function(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},getGeomBuffer:function(t,e,n){var i,r=t.sourceByName(e);return(i=r.data())instanceof Float32Array&&i.length===n?i:(i=new Float32Array(n),r.setData(i),i)},timeReport:function(t){return r.each(a,function(t,e){e.count?(e.stddev=Math.sqrt(Math.abs((e.sum2-e.sum*e.sum/e.count)/e.count)),e.average=e.sum/e.count):(e.stddev=0,e.average=0)}),t?a[t]:a},timeFunctionStart:function(t,e){a[t]&&!e||(a[t]={count:0,sum:0,sum2:0,max:0,recent:[]}),a[t].start=window.performance.now()},timeFunctionStop:function(t){if(a[t]&&a[t].start){var e=window.performance.now()-a[t].start;a[t].start=null,a[t].sum+=e,a[t].sum2+=e*e,a[t].count+=1,a[t].max=Math.max(a[t].max,e),a[t].recent.push(e),a[t].recent.length>c&&a[t].recent.splice(0,a[t].recent.length-c)}},timeRequestAnimationFrame:function(t,e,n,r){a.requestAnimationFrame&&!e||(a.requestAnimationFrame={count:0,sum:0,sum2:0,max:0,above_threshold:0,recent:[],recentsub:[]}),n&&(s=n),r&&(c=r),t&&i?(window.requestAnimationFrame=i,i=null):t||i||(i=window.requestAnimationFrame,window.requestAnimationFrame=function(t){i.call(window,function(e){var n,i=a.requestAnimationFrame;i.timestamp!==e&&(i.timestamp=e,i.subcalls=i.subcalls||0,i.start={sum:i.sum,sum2:i.sum2,count:i.count,max:i.max,above_threshold:i.above_threshold},i.recent.push([0]),i.recentsub.push([]),i.recent.length>c&&(i.recent.splice(0,i.recent.length-c),i.recentsub.splice(0,i.recentsub.length-c))),i.subcalls+=1,t.apply(this,arguments);var r=window.performance.now()-e;i.sum=i.start.sum+r,i.sum2=i.start.sum2+r*r,i.count=i.start.count+1,i.max=Math.max(i.max,r),i.above_threshold=i.start.above_threshold+(r>=s?1:0),i.recent[i.recent.length-1]=r,n=i.recentsub[i.recent.length-1],n.push({total_duration:r,duration:r-(n.length?n[n.length-1].total_duration:0),callback:t.name||t})})})}},A.util.cssColors={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},t.exports=A.util}()},function(t,e){!function(e){"use strict";var n=function(t,e,n,i,r){function A(){function A(){a=+new Date,n.apply(s,g)}function c(){o=void 0}var s=this,u=+new Date-a,g=arguments;i.apply(s,g),r&&!o&&A(),o&&clearTimeout(o),void 0===r&&u>t?A():!0!==e&&(o=setTimeout(r?c:A,void 0===r?t-u:t))}var o,a=0;return"boolean"!=typeof e&&(r=i,i=n,n=e,e=void 0),"function"!=typeof i&&(r=i,i=function(){}),A},i=function(t,e,i,r){return"boolean"!=typeof e&&(r=i,i=e,e=!1),r=r||function(){},n(t,!1,i,r,!!e)};t.exports={throttle:n,debounce:i}}()},function(t,e,n){!function(){"use strict";var e=n(1),i={};i.Util={stamp:function(t){return t._leaflet_id=t._leaflet_id||++i.Util.lastId,t._leaflet_id},lastId:0};var r=function(t){this._cellSize=t,this._sqCellSize=t*t,this._grid={},this._objectPoint={}};r.prototype={addObject:function(t,e){var n=this._getCoord(e.x),r=this._getCoord(e.y),A=this._grid,o=A[r]=A[r]||{},a=o[n]=o[n]||[],c=i.Util.stamp(t);e.obj=t,this._objectPoint[c]=e,a.push(t)},updateObject:function(t,e){this.removeObject(t),this.addObject(t,e)},removeObject:function(t,e){var n,r,A=this._getCoord(e.x),o=this._getCoord(e.y),a=this._grid,c=a[o]=a[o]||{},s=c[A]=c[A]||[];for(delete this._objectPoint[i.Util.stamp(t)],n=0,r=s.length;n<r;n++)if(s[n]===t)return s.splice(n,1),1===r&&delete c[A],!0},eachObject:function(t,e){var n,i,r,A,o,a,c=this._grid;for(n in c){o=c[n];for(i in o)for(a=o[i],r=0,A=a.length;r<A;r++)t.call(e,a[r])&&(r--,A--)}},getNearObject:function(t){var e,n,r,A,o,a,c,s,u=this._getCoord(t.x),g=this._getCoord(t.y),l=this._objectPoint,M=this._sqCellSize,h=null;for(e=g-1;e<=g+1;e++)if(A=this._grid[e])for(n=u-1;n<=u+1;n++)if(o=A[n])for(r=0,a=o.length;r<a;r++)c=o[r],(s=this._sqDist(l[i.Util.stamp(c)],t))<M&&(M=s,h=c);return h},contents:function(){return e.map(this._objectPoint,function(t){return t})},_getCoord:function(t){return Math.floor(t/this._cellSize)},_sqDist:function(t,e){var n=e.x-t.x,i=e.y-t.y;return n*n+i*i}},t.exports=r}()},function(t,e,n){!function(){"use strict";function e(t,e,n){this._group=t,this._zoom=e,this._points=[],this._clusters=[],this._count=0,this._parent=null,this._coord=null;var i=this;(n||[]).forEach(function(t){i._add(t)})}function i(t,i,A){var o=n(123);this._opts=r.extend({maxZoom:18,radius:.05},t),this._opts.width=this._opts.width||i||256,this._opts.height=this._opts.height||A||256,this._clusters={},this._points={};var a,c;for(a=this._opts.maxZoom;a>=0;a-=1)c=this._scaleAtLevel(a,this._opts.width,this._opts.height),this._clusters[a]=new o(c),this._points[a]=new o(c);this._topClusterLevel=new e(this,-1)}var r=n(1),A=n(6);e.prototype._add=function(t){var n=1;t instanceof e?(this._clusters.push(t),n=t._count):this._points.push(t),t._parent=this,this._increment(n)},e.prototype._increment=function(t){this._coord=null,this._count+=t,this._parent&&this._parent._increment(t)},e.prototype.count=function(){return this._count},e.prototype.each=function(t){var e;for(e=0;e<this._points.length;e+=1)t.call(this,this._points[e],this._zoom);for(e=0;e<this._clusters.length;e+=1)this._clusters[e].each.call(this._clusters[e],t)},e.prototype.coords=function(){var t,e={x:0,y:0};if(this._coord)return this._coord;for(t=0;t<this._points.length;t+=1)e.x+=this._points[t].x,e.y+=this._points[t].y;for(t=0;t<this._clusters.length;t+=1)e.x+=this._clusters[t].coords().x*this._clusters[t].count(),e.y+=this._clusters[t].coords().y*this._clusters[t].count();return{x:e.x/this.count(),y:e.y/this.count()}},i.prototype._scaleAtLevel=function(t,e,n){return A.zoomToHeight(t,e,n)/2*this._opts.radius},i.prototype.addPoint=function(t){var n,i,A,o,a,c;for(n=this._opts.maxZoom;n>=0;n-=1){if(i=this._clusters[n].getNearObject(t))return void i._add(t);if(i=this._points[n].getNearObject(t)){if(A=i._parent)for(c=A._points.length-1;c>=0;c-=1)if(A._points[c]===i){A._points.splice(c,1),A._increment(-1);break}for(A||r.noop(),o=new e(this,n,[i,t]),this._clusters[n].addObject(o,o.coords()),a=o,c=n-1;c>A._zoom;c-=1)a=new e(this,c,[a]),this._clusters[c].addObject(a,a.coords());for(A._add(a),c=n;c>=0&&this._points[c].removeObject(i,i);c-=1);return}this._points[n].addObject(t,t)}this._topClusterLevel._add(t)},i.prototype.points=function(t){return t=Math.min(Math.max(Math.floor(t),0),this._opts.maxZoom-1),this._points[Math.floor(t)].contents()},i.prototype.clusters=function(t){return t=Math.min(Math.max(Math.floor(t),0),this._opts.maxZoom-1),this._clusters[Math.floor(t)].contents()},t.exports=i}()},function(t,e){var n={};n.layerAdd="geo_layerAdd",n.layerRemove="geo_layerRemove",n.zoom="geo_zoom",n.rotate="geo_rotate",n.pan="geo_pan",n.resize="geo_resize",n.worldChanged="geo_worldChanged",n.draw="geo_draw",n.drawEnd="geo_drawEnd",n.mousemove="geo_mousemove",n.mouseclick="geo_mouseclick",n.brush="geo_brush",n.brushend="geo_brushend",n.brushstart="geo_brushstart",n.transitionstart="geo_transitionstart",n.transitionend="geo_transitionend",n.transitioncancel="geo_transitioncancel",n.parallelprojection="geo_parallelprojection",n.clock={play:"geo_clock_play",stop:"geo_clock_stop",pause:"geo_clock_pause",change:"geo_clock_change"},n.feature={mousemove:"geo_feature_mousemove",mouseover:"geo_feature_mouseover",mouseout:"geo_feature_mouseout",mouseon:"geo_feature_mouseon",mouseoff:"geo_feature_mouseoff",mouseclick:"geo_feature_mouseclick",brushend:"geo_feature_brushend",brush:"geo_feature_brush"},n.camera={},n.camera.view="geo_camera_view",n.camera.pan="geo_camera_pan",n.camera.zoom="geo_camera_zoom",n.camera.projection="geo_camera_projection",n.camera.viewport="geo_camera_viewport",t.exports=n},function(t,e,n){var i=n(4),r=n(127),A=function(t){"use strict";if(!(this instanceof A))return new A(t);t=t||{},r.call(this,t);var e=n(1),i=n(120).ensureFunction,o=n(132),a=this,c=this._init,s=e.extend({},{colorRange:[{r:.07514311,g:.468049805,b:1},{r:.468487184,g:.588057293,b:1},{r:.656658579,g:.707001303,b:1},{r:.821573924,g:.837809045,b:1},{r:.943467973,g:.943498599,b:.943398095},{r:1,g:.788626485,b:.750707739},{r:1,g:.6289553,b:.568237474},{r:1,g:.472800903,b:.404551679},{r:.916482116,g:.236630659,b:.209939162}],scale:o.scale.quantize(),accessors:{geoId:function(t){return t.properties.GEO_ID},scalarId:function(t){return t.id},scalarValue:function(t){return t.value}}},t.choropleth);return this.scalar=function(t,e){var n,i;return void 0===t?a.choropleth.get("scalar")():(n=a.choropleth.get("accessors")().scalarId,i=a.choropleth.get("accessors")().scalarValue,s.scalar=t,s.scalarAggregator=e||o.mean,s.scalar._dictionary=t.reduce(function(t,e){var r,A;return r=n(e),A=i(e),t[r]=t[r]?t[r].push(A):[A],t},{}),a.dataTime().modified(),a)},this.choropleth=function(t,n){var i;return void 0===t?s:"string"==typeof t&&void 0===n?s[t]:(void 0===n?(i=e.extend({},s,t),s=i):s[t]=n,a.modified(),a)},this.choropleth.get=function(t){var e,n={};if(void 0===t){for(e in s)s.hasOwnProperty(e)&&(n[e]=a.choropleth.get(e));return n}return i(s[t])},this._addPolygonFeature=function(t,e){var n=a.layer().createFeature("polygon",{});return"Polygon"===t.geometry.type?n.data([{type:"Polygon",coordinates:t.geometry.coordinates}]):"MultiPolygon"===t.geometry.type&&n.data(t.geometry.coordinates.map(function(t){return{type:"Polygon",coordinates:t}})),n.polygon(function(t){return{outer:t.coordinates[0],inner:t.coordinates[1]}}).position(function(t){return{x:t[0],y:t[1]}}).style({fillColor:e}),n},this._featureToPolygons=function(t,e){return a._addPolygonFeature(t,e)},this._generateScale=function(t){var e=o.extent(a.scalar(),t||void 0);return a.choropleth().scale.domain(e).range(a.choropleth().colorRange),a},this.createChoropleth=function(){var t=a.choropleth,e=a.data(),n=a.scalar(),i=t.get("accessors")().scalarValue,r=t.get("accessors")().geoId;return a._generateScale(i),e.map(function(e){var i=r(e),A=n._dictionary[i],o=t().scalarAggregator(A),c=a.choropleth().scale(o);return a._featureToPolygons(e,c)})},this._init=function(t){c.call(a,t),s&&a.dataTime().modified()},this._init(t),this};i(A,r),t.exports=A},function(t,e,n){var i=n(1),r=n(4),A=n(128),o=n(129),a=n(125),c=function(t){"use strict";if(!(this instanceof c))return new c(t);A.call(this);var e=n(120);t=t||{};var r=this,s=this._exit,u=void 0!==t.selectionAPI&&t.selectionAPI,g={},l=void 0===t.layer?null:t.layer,M=t.gcs,h=void 0===t.visible||t.visible,d=void 0===t.bin?0:t.bin,f=void 0===t.renderer?null:t.renderer,I=o(),E=o(),T=o(),N=[];return this._bindMouseHandlers=function(){u&&(r._unbindMouseHandlers(),r.geoOn(a.mousemove,r._handleMousemove),r.geoOn(a.mouseclick,r._handleMouseclick),r.geoOn(a.brushend,r._handleBrushend),r.geoOn(a.brush,r._handleBrush))},this._unbindMouseHandlers=function(){r.geoOff(a.mousemove,r._handleMousemove),r.geoOff(a.mouseclick,r._handleMouseclick),r.geoOff(a.brushend,r._handleBrushend),r.geoOff(a.brush,r._handleBrush)},this.pointSearch=function(){return{index:[],found:[]}},this._handleMousemove=function(){var t=r.layer().map().interactor().mouse(),e=r.data(),n=r.pointSearch(t.geo),i=[],A=[],o=-1,s=-1;N.length&&(o=N[N.length-1]),i=n.index.filter(function(t){return N.indexOf(t)<0}),A=N.filter(function(t){return n.index.indexOf(t)<0}),c.eventID+=1,i.forEach(function(n,A){r.geoTrigger(a.feature.mouseover,{data:e[n],index:n,mouse:t,eventID:c.eventID,top:A===i.length-1},!0)}),c.eventID+=1,A.forEach(function(n,i){r.geoTrigger(a.feature.mouseout,{data:e[n],index:n,mouse:t,eventID:c.eventID,top:i===A.length-1},!0)}),c.eventID+=1,n.index.forEach(function(i,A){r.geoTrigger(a.feature.mousemove,{data:e[i],index:i,mouse:t,eventID:c.eventID,top:A===n.index.length-1},!0)}),N=n.index,N.length&&(s=N[N.length-1]),o!==s&&(-1!==o&&r.geoTrigger(a.feature.mouseoff,{data:e[o],index:o,mouse:t},!0),-1!==s&&r.geoTrigger(a.feature.mouseon,{data:e[s],index:s,mouse:t},!0))},this._handleMouseclick=function(){var t=r.layer().map().interactor().mouse(),e=r.data(),n=r.pointSearch(t.geo);c.eventID+=1,n.index.forEach(function(i,A){r.geoTrigger(a.feature.mouseclick,{data:e[i],index:i,mouse:t,eventID:c.eventID,top:A===n.index.length-1},!0)})},this._handleBrush=function(t){var e=r.boxSearch(t.gcs.lowerLeft,t.gcs.upperRight),n=r.data();c.eventID+=1,e.forEach(function(e,i){r.geoTrigger(a.feature.brush,{data:n[e],index:e,mouse:t.mouse,brush:t,eventID:c.eventID,top:i===i.length-1},!0)})},this._handleBrushend=function(t){var e=r.boxSearch(t.gcs.lowerLeft,t.gcs.upperRight),n=r.data();c.eventID+=1,e.forEach(function(e,i){r.geoTrigger(a.feature.brushend,{data:n[e],index:e,mouse:t.mouse,brush:t,eventID:c.eventID,top:i===i.length-1},!0)})},this.style=function(t,e){return void 0===t?g:"string"==typeof t&&void 0===e?g[t]:void 0===e?(g=i.extend({},g,t),r.modified(),r):(g[t]=e,r.modified(),r)},this.style.get=function(t){var n,i;if(void 0===t){var A,o={};for(A in g)g.hasOwnProperty(A)&&(o[A]=r.style.get(A));return o}return t.toLowerCase().match(/color$/)?e.isFunction(g[t])?(n=e.ensureFunction(g[t]),i=function(){return e.convertColor(n.apply(this,arguments))}):i=e.ensureFunction(e.convertColor(g[t])):i=e.ensureFunction(g[t]),i},this.layer=function(){return l},this.renderer=function(){return f},this.gcs=function(t){return void 0===t?void 0===M&&f?f.layer().map().ingcs():M:(M=t,r.modified(),r)},this.featureGcsToDisplay=function(t){var e=f.layer().map();return t=e.gcsToWorld(t,e.ingcs()),t=e.worldToDisplay(t),f.baseToLocal&&(t=f.baseToLocal(t)),t},this.visible=function(t){return void 0===t?h:(h=t,r.modified(),h?r._bindMouseHandlers():r._unbindMouseHandlers(),r)},this.bin=function(t){return void 0===t?d:(d=t,r.modified(),r)},this.dataTime=function(t){return void 0===t?I:(I=t,r.modified(),r)},this.buildTime=function(t){return void 0===t?E:(E=t,r.modified(),r)},this.updateTime=function(t){return void 0===t?T:(T=t,r.modified(),r)},this.data=function(t){return void 0===t?r.style("data")||[]:(r.style("data",t),r.dataTime().modified(),r.modified(),r)},this.selectionAPI=function(){return u},this._init=function(t){if(!l)throw"Feature requires a valid layer";g=i.extend({},{opacity:1},void 0===t.style?{}:t.style),r._bindMouseHandlers()},this._build=function(){},this._update=function(){},this._exit=function(){r._unbindMouseHandlers(),N=[],g={},t={},s()},this._init(t),this};c.eventID=0,c.create=function(t,e){"use strict";var i=e.type;if(!(t instanceof n(130)))return console.warn("Invalid layer"),null;if("object"!=typeof e)return console.warn("Invalid spec"),null;var r=t.createFeature(i);return r?(e=e||{},e.data=e.data||[],r.style(e)):(console.warn('Could not create feature type "'+i+'"'),null)},r(c,A),t.exports=c},function(t,e,n){var i=n(4),r=n(5),A=function(t){"use strict";if(!(this instanceof A))return new A;r.call(this,t);var e=this,n=null,i=[],o=this._exit,a=this.geoTrigger,c=this.addPromise,s=this.onIdle;return this.addPromise=function(t){n?n.addPromise(t):c(t)},this.onIdle=function(t){n?n.onIdle(t):s(t)},this.parent=function(t){return void 0===t?n:(n=t,e)},this.addChild=function(t){return Array.isArray(t)?(t.forEach(e.addChild),e):(t.parent(e),i.push(t),e)},this.removeChild=function(t){return Array.isArray(t)?(t.forEach(e.removeChild),e):(i=i.filter(function(e){return e!==t}),e)},this.children=function(){return i.slice()},this.draw=function(t){return e.children().forEach(function(e){e.draw(t)}),e},this.geoTrigger=function(t,r,A){var o;return r=r||{},o=r.geo||{},r.geo=o,o.stopPropagation?e:!A&&n&&o._triggeredBy!==n?(o._triggeredBy=e,n.geoTrigger(t,r),e):(a.call(e,t,r),o.stopPropagation?e:(i.forEach(function(n){n.geoTrigger&&(o._triggeredBy=e,n.geoTrigger(t,r))}),e))},this._exit=function(){e.children=[],delete e.parent,o()},this};i(A,r),t.exports=A},function(t,e,n){var i=n(6),r=n(4),A=function(){"use strict";if(!(this instanceof A))return new A;i.timestamp.call(this)};r(A,i.timestamp),t.exports=A},function(t,e,n){var i=n(4),r=n(128),A=n(127),o=n(131).checkRenderer,a=function(t){"use strict";if(!(this instanceof a))return new a(t);t=t||{},r.call(this,t);var e,i=n(1),A=n(129),c=n(131).createRenderer,s=n(120).newLayerId,u=n(125),g=n(3),l=this,M=this._exit,h=void 0===t.id?a.newLayerId():t.id,d="",f=void 0===t.map?null:t.map,I=null,E=null,T=null,N=!1,y=void 0===t.renderer?"vgl":t.renderer,p=A(),C=A(),D=void 0===t.sticky||t.sticky,x=void 0===t.active||t.active,B=void 0===t.opacity?1:t.opacity,w=t.attribution||null;if(y=o(y),!f)throw new Error("Layers must be initialized on a map.");return this.rendererName=function(){return y},this.zIndex=function(t){return void 0===t?e:(e=t,I.css("z-index",e),l)},this.moveUp=function(t){var e,n,i,r,A=null;for(void 0===t&&(t=1),r=1,t<0&&(r=-1,t=-t),e=l.map().layers().sort(function(t,e){return r*(t.zIndex()-e.zIndex())}),n=0;n<e.length;n+=1)if(null===A)e[n]===l&&(A=n);else{if(!(n-A<=t))break;i=l.zIndex(),l.zIndex(e[n].zIndex()),e[n].zIndex(i)}return l},this.moveDown=function(t){return void 0===t&&(t=1),l.moveUp(-t)},this.moveToTop=function(){return l.moveUp(l.map().children().length-1)},this.moveToBottom=function(){return l.moveDown(l.map().children().length-1)},this.sticky=function(){return D},this.active=function(){return x},this.node=function(){return I},this.id=function(t){return void 0===t?h:(h=s(),l.modified(),l)},this.name=function(t){return void 0===t?d:(d=t,l.modified(),l)},this.map=function(){return f},this.renderer=function(){return T},this.canvas=function(){return E},this.dataTime=function(){return p},this.updateTime=function(){return C},this.initialized=function(t){return void 0!==t?(N=t,l):N},this.toLocal=function(t){return l._toLocalMatrix&&g.applyTransform(l._toLocalMatrix,t),t},this.fromLocal=function(t){return l._fromLocalMatrix&&g.applyTransform(l._fromLocalMatrix,t),t},this.attribution=function(t){return void 0!==t?(w=t,l.map().updateAttribution(),l):w},this._init=function(e){if(N)return l;f.node().append(I);var n=i.extend({},t);return delete n.map,null===y?(T=null,E=I):E?T=c(y,l,E,n):(T=c(y,l,void 0,n),E=T.canvas()),l.active()||I.css("pointerEvents","none"),N=!0,e||(l.geoOn(u.resize,function(t){l._update({event:t})}),l.geoOn(u.pan,function(t){l._update({event:t})}),l.geoOn(u.rotate,function(t){l._update({event:t})}),l.geoOn(u.zoom,function(t){l._update({event:t})})),l},this._exit=function(){l.geoOff(),T&&T._exit(),I.off(),I.remove(),t={},E=null,T=null,M()},this._update=function(){},this.width=function(){return l.map().size().width},this.height=function(){return l.map().size().height},this.opacity=function(t){return void 0!==t?(B=t,I.css("opacity",B),l):B},void 0===t.zIndex&&(t.zIndex=f.children().length),e=t.zIndex,I=i(document.createElement("div")),I.attr("id",d),I.css("position","absolute"),I.css("width","100%"),I.css("height","100%"),l.opacity(B),l.zIndex(e),l};a.newLayerId=function(){"use strict";var t=1;return function(){var e=t;return t+=1,e}}(),a.create=function(t,e){"use strict";if(e=e||{},e.type="feature","feature"!==e.type)return console.warn("Unsupported layer type"),null;if(e.renderer=e.renderer||"vgl",e.renderer=o(e.renderer),!e.renderer)return console.warn("Invalid renderer"),null;var n=t.createLayer(e.type,e);return n?(e.features.forEach(function(t){t.data=t.data||e.data,t.feature=A.create(n,t)}),n):(console.warn("Unable to create a layer"),null)},i(a,r),t.exports=a},function(t,e,n){var i=n(1),r={dom:{}},A={},o={},a={},c={},s={},u={};u.registerFileReader=function(t,e){c[t]=e},u.createFileReader=function(t,e){return c.hasOwnProperty(t)?c[t](e):null},u.registerRenderer=function(t,e){o[t]=e},u.createRenderer=function(t,e,n,i){if(o.hasOwnProperty(t)){var r=o[t]({layer:e,canvas:n,options:i});return r._init(),r}return null},u.checkRenderer=function(t,e){if(null===t)return t;if(o.hasOwnProperty(t)){var n=o[t];if(!n.supported||n.supported())return t;if(!n.fallback||e)return!1;var i=u.checkRenderer(n.fallback(),!0);return!1!==i&&console.warn(t+" renderer is unavailable, using "+i+" renderer instead"),i}return!1},u.registerFeature=function(t,e,n){void 0===a&&(a={}),t in a||(a[t]={}),a[t][e]=n},u.createFeature=function(t,e,n,r){var A=n.api(),o={layer:e,renderer:n};if(A in a&&t in a[A]){void 0!==r&&i.extend(!0,o,r);var c=a[A][t](o);return e.gcs=function(){return e.map().gcs()},c}return null},u.registerLayerAdjustment=function(t,e,n){void 0===s&&(s={}),t in s||(s[t]={}),s[t][e]=n},u.adjustLayerForRenderer=function(t,e){var n=e.rendererName();n&&s&&s[n]&&s[n][t]&&s[n][t].apply(e)},u.registerLayer=function(t,e){A[t]=e},u.createLayer=function(t,e,n){var r={map:e,renderer:"vgl"},o=null;return t in A?(void 0!==n&&i.extend(!0,r,n),o=A[t](r),o._init(),o):null},u.registerWidget=function(t,e,n){t in r||(r[t]={}),r[t][e]=n},u.createWidget=function(t,e,n){var A={layer:e};if(t in r.dom)return void 0!==n&&i.extend(!0,A,n),r.dom[t](A);throw new Error("Cannot create unknown widget "+t)},t.exports=u},function(e,n){e.exports=t},function(t,e,n){var i=n(4),r=n(5),A=function(t){"use strict";if(!(this instanceof A))return new A(t);t=t||{},r.call(this,t);var e=n(125),i=this,o=new Date(0),a=null,c=null,s=null,u=null,g=Number.POSITIVE_INFINITY,l=0,M="stop",h=null,d=null;this.object=function(t){return void 0===t?d:(d=t,i)},this._attached=function(){return d instanceof r},this.now=function(t){var n=o;return void 0===t?o:(o=t,o!==n&&i._attached()&&i.object().geoTrigger(e.clock.change,{previous:n,current:o,clock:i}),i)},this.start=function(t){return void 0===t?a:(a=t,i)},this.end=function(t){return void 0===t?c:(c=t,i)},this.step=function(t){return void 0===t?s:(s=t,i)},this.loop=function(t){return void 0===t?g:(g=t,i)},this.state=function(t,e){return void 0===t?M:["stop","play","pause"].indexOf(t)<0?(console.log("WARNING: Ignored invalid state: "+t),i):("play"===t&&"stop"===M&&(l=0,i.now(i.start())),"play"===t&&"play"!==M&&(M=t,i._animate(e||1)),M=t,i)},this.framerate=function(t){return void 0===t?u:(u=t,i)},this.stepForward=function(){return i.state("pause"),i._setNextFrame(1),i},this.stepBackward=function(){return i.state("pause"),i._setNextFrame(-1),i},this._setNextFrame=function(t){var e=new Date(i.now().valueOf()+t*i.step());if(e>=i.end()||e<=i.start())return i.loop()<=l?void i.state("stop"):(l+=1,void(t>=0?i.now(i.start()):i.now(i.end())));i.now(e)},this._animate=function(t){function n(){r===h&&(i._setNextFrame(t),"play"===i.state()?i.framerate()?window.setTimeout(n,1e3/i.framerate()):window.requestAnimationFrame(n):i._attached()&&i.object().geoTrigger(e.clock[i.state()],{current:i.now(),clock:i}))}var r={};h=r,i._attached()&&i.object().geoTrigger(e.clock.play,{current:i.now(),clock:i}),i.framerate()?window.setTimeout(n,1e3/i.framerate()):window.requestAnimationFrame(n)}};i(A,r),t.exports=A},function(t,e,n){var i=n(4),r=n(127),A=function(t){"use strict";if(!(this instanceof A))return new A(t);var e=n(1),i=n(120);t=t||{},r.call(this,t);var o=this,a={},c=this._init,s=this.data;return a=void 0===t.contour?function(t){return t}:t.contour,this.data=function(t){return s(t)},this.contour=function(t,n){if(void 0===t)return a;if("string"==typeof t&&void 0===n)return a[t];if(void 0===n){var i=e.extend({},{gridWidth:function(){return t.gridHeight?Math.floor(o.data().length/t.gridHeight):Math.floor(Math.sqrt(o.data().length))},gridHeight:function(){return t.gridWidth?Math.floor(o.data().length/t.gridWidth):Math.floor(Math.sqrt(o.data().length))},minColor:"black",minOpacity:0,maxColor:"black",maxOpacity:0,colorRange:[{r:.07514311,g:.468049805,b:1},{r:.468487184,g:.588057293,b:1},{r:.656658579,g:.707001303,b:1},{r:.821573924,g:.837809045,b:1},{r:.943467973,g:.943498599,b:.943398095},{r:1,g:.788626485,b:.750707739},{r:1,g:.6289553,b:.568237474},{r:1,g:.472800903,b:.404551679},{r:.916482116,g:.236630659,b:.209939162}]},a,t);a=i}else a[t]=n;return o.modified(),o},this.contour.get=function(t){if(void 0===t){var e,n={};for(e in a)a.hasOwnProperty(e)&&(n[e]=o.contour.get(e));return n}return i.ensureFunction(a[t])},this.position=function(t){return void 0===t?o.style("position"):(o.style("position",t),o.dataTime().modified(),o.modified(),o)},this.createContours=function(){var t,n,r,A,a,c,s,u,g,l,M,h,d,f,I,E,T,N=0,y={},p=o.contour,C=o.data(),D=o.position(),x=p.get("gridWidth")(),B=p.get("gridHeight")(),w=p.get("x0")(),m=p.get("y0")(),Q=p.get("dx")(),v=p.get("dy")(),j=o.style.get("opacity"),L=p.get("opacityRange")(),S=p.get("rangeValues")(),Y=o.style.get("value"),b=[],O=p.get("stepped")(),z=p.get("wrapLongitude")(),U=x,F={minValue:p.get("min")(),maxValue:p.get("max")(),stepped:!(void 0!==O&&!O),wrapLongitude:!(void 0!==z&&!z),colorMap:[],elements:[]};if(F.minColor=e.extend({a:p.get("minOpacity")()||0},i.convertColor(p.get("minColor")())),F.maxColor=e.extend({a:p.get("maxOpacity")()||0},i.convertColor(p.get("maxColor")())),p.get("colorRange")().forEach(function(t,n){F.colorMap.push(e.extend({a:L&&void 0!==L[n]?L[n]:1},i.convertColor(t)))}),x*B>C.length&&(B=Math.floor(C.length)/x),!(u=null===w||void 0===w||null===m||void 0===m||!Q||!v)&&F.wrapLongitude&&(w<-180||w>180||w+Q*(x-1)<-180||w+Q*(x-1)>180)&&Q>-180&&Q<180){for(f=[],t=0;t<x;t+=1){for(E=w+t*Q;E<-180;)E+=360;for(;E>180;)E-=360;t&&Math.abs(E-f[f.length-1])>180&&(E>f[f.length-1]?(f.push(E-360),f.push(f[f.length-2]+360)):(f.push(E+360),f.push(f[f.length-2]-360)),I=t),f.push(E)}if(x+=2,Math.abs(Math.abs(U*Q)-360)<.01){for(x+=1,E=w+U*Q;E<-180;)E+=360;for(;E>180;)E-=360;f.push(E)}}for(s=x*B,t=0;t<s;t+=1)void 0===I?c=parseFloat(Y(C[t])):(r=Math.floor(t/x),T=t-r*x,T+=T>I?-2:0,T>=U&&(T-=U),T+=r*U,c=parseFloat(Y(C[T]))),b[t]=isNaN(c)?null:c,null!==b[t]&&(y[t]=N,N+=1,void 0===l&&(l=M=b[t]),b[t]<l&&(l=b[t]),b[t]>M&&(M=b[t]));if(!N)return F;if(e.isNumeric(F.minValue)||(F.minValue=l),e.isNumeric(F.maxValue)||(F.maxValue=M),S&&S.length===F.colorMap.length+1||(S=null),S)for(a=1;a<S.length;a+=1)if(S[a]>S[a+1]){S=null;break}for(S&&(F.minValue=S[0],F.maxValue=S[S.length-1]),h=F.maxValue-F.minValue,h||(F.colorMap=F.colorMap.slice(0,1),h=1,S=null),F.rangeValues=S,F.factor=F.colorMap.length/h,r=A=0;r<B-1;r+=1,A+=1)for(t=0;t<x-1;t+=1,A+=1)null!==b[A]&&null!==b[A+1]&&null!==b[A+x]&&null!==b[A+x+1]&&t!==I&&(F.elements.push(y[A]),F.elements.push(y[A+1]),F.elements.push(y[A+x]),F.elements.push(y[A+x+1]),F.elements.push(y[A+x]),F.elements.push(y[A+1]));for(F.pos=new Array(3*N),F.value=new Array(N),F.opacity=new Array(N),r=t=n=0;r<s;r+=1)if(null!==(c=b[r])){if(g=C[r],u?(d=D(g),F.pos[n]=d.x,F.pos[n+1]=d.y,F.pos[n+2]=d.z||0):(F.pos[n]=void 0===I?w+Q*(r%x):f[r%x],F.pos[n+1]=m+v*Math.floor(r/x),F.pos[n+2]=0),F.opacity[t]=j(g),S&&c>=F.minValue&&c<=F.maxValue){for(a=1;a<S.length;a+=1)if(c<=S[a]){F.value[t]=a-1+(c-S[a-1])/(S[a]-S[a-1]);break}}else F.value[t]=(c-F.minValue)*F.factor;t+=1,n+=3}return F},this._init=function(t){c.call(o,t);var n=e.extend({},{opacity:1,position:function(t){return{x:t.x,y:t.y,z:t.z}},value:function(t){return o.position()(t).z}},void 0===t.style?{}:t.style);o.style(n),a&&o.dataTime().modified()},this._init(t),this};i(A,r),t.exports=A},function(t,e,n){var i=n(4),r=n(136),A=n(131).registerRenderer,o=function(t){"use strict";if(!(this instanceof o))return new o(t);r.call(this,t),t=t||{};var e=this;return this.api=function(){return"dom"},this._init=function(){var t=e.layer().node();!e.canvas()&&t&&t.length&&e.canvas(t[0])},this._init(t),this};i(o,r),A("dom",o),t.exports=o},function(t,e,n){var i=n(4),r=n(5),A=function(t){"use strict";if(!(this instanceof A))return new A(t);r.call(this),t=t||{};var e=this,n=void 0===t.layer?null:t.layer,i=void 0===t.canvas?null:t.canvas,o=!1;return this.layer=function(){return n},this.canvas=function(t){if(void 0===t)return i;i=t,e.modified()},this.map=function(){return n?n.map():null},this.baseLayer=function(){if(e.map())return e.map().baseLayer()},this.initialized=function(t){return void 0===t?o:(o=t,e)},this.api=function(){throw new Error("Should be implemented by derived classes")},this.reset=function(){return!0},this._init=function(){},this._resize=function(){},this._render=function(){},this};i(A,r),t.exports=A},function(t,e,n){var i=n(4),r=n(130),A=n(125),o=n(131),a=function(t){"use strict";if(!(this instanceof a))return new a(t);r.call(this,t);var e=this,n=[],i=this._init,c=this._exit,s=this._update,u=this.draw;return this.createFeature=function(t,i){var r=o.createFeature(t,e,e.renderer(),i);return e.addChild(r),n.push(r),e.features(n),e.modified(),r},this.deleteFeature=function(t){var i;for(i=0;i<n.length;i+=1)n[i]===t&&(n[i]._exit(),e.dataTime().modified(),e.modified(),n.splice(i,1));return e.removeChild(t),e},this.features=function(t){return void 0===t?n:(n=t.slice(0),e.dataTime().modified(),e.modified(),e)},this._init=function(){return e.initialized()?e:(i.call(e,!0),e.geoOn(A.resize,function(t){e.renderer()?(e.renderer()._resize(t.x,t.y,t.width,t.height),e._update({event:t}),e.renderer()._render()):e._update({event:t})}),e.geoOn(A.pan,function(t){e._update({event:t}),e.renderer()&&e.renderer()._render()}),e.geoOn(A.rotate,function(t){e._update({event:t}),e.renderer()&&e.renderer()._render()}),e.geoOn(A.zoom,function(t){e._update({event:t}),e.renderer()&&e.renderer()._render()}),e)},this._update=function(t){var i;if(!n.length)return e;if(s.call(e,t),n&&0===n.length)return void console.log("[info] No valid data source found.");if(e.dataTime().getMTime()>e.updateTime().getMTime())for(i=0;i<n.length;i+=1)n[i].renderer(e.renderer());for(i=0;i<n.length;i+=1)n[i]._update();return e.updateTime().modified(),e},this._exit=function(){e.clear(),c()},this.draw=function(){return u(),e.renderer()&&e.renderer()._render(),e},this.clear=function(){var t;if(!n.length)return e;for(t=0;t<n.length;t+=1)n[t]._exit(),e.removeChild(n[t]);return e.dataTime().modified(),e.modified(),n=[],e},e};i(a,r),o.registerLayer("feature",a),t.exports=a},function(t,e,n){t.exports=function(){"use strict";var t=n(1),e=function(n){if(!(this instanceof e))return new e(n);n=n||{},this._size=n.size||6,this._track=n.track||600,this._needed=n.needed||null,this._batch=!1;var i=this,r=1;return Object.defineProperty(this,"size",{get:function(){return this._size},set:function(t){this._size=t,this.next_item()}}),Object.defineProperty(this,"length",{get:function(){return this._queue.length}}),Object.defineProperty(this,"processing",{get:function(){return this._processing}}),this.clear=function(){return this._queue=[],this._processing=0,this},this.add=function(e,n,r){if(e.__fetchQueue){var A=t.inArray(e,this._queue);if(A>=0)return this._queue.splice(A,1),this._addToQueue(e,r),e}var o=new t.Deferred,a=new t.Deferred;return o.then(function(){t.when(n.call(e)).always(a.resolve)},a.resolve),e.__fetchQueue=o,this._addToQueue(e,r),t.when(o,a).always(function(){i._processing>0&&(i._processing-=1),i.next_item()}).promise(e),i.next_item(),e},this._addToQueue=function(t,e){if(t.__fetchQueue._batch=this._batch,e)this._queue.push(t);else if(this._batch){for(var n=0;n<this._queue.length&&this._queue[n].__fetchQueue._batch===this._batch;n+=1);this._queue.splice(n,0,t)}else this._queue.unshift(t)},this.get=function(e){return t.inArray(e,this._queue)},this.remove=function(e){var n=t.inArray(e,this._queue);return n>=0&&(this._queue.splice(n,1),!0)},this.batch=function(t){return void 0===t?this._batch:(t?(this._batch=r,r+=1):this._batch=!1,this)},this.next_item=function(){if(!i._innextitem){if(i._innextitem=!0,i._queue.length>i._track&&this._needed)for(var t=i._queue.length-1;t>=0;t-=1)if(!i._needed(i._queue[t])){var e=i._queue.splice(t,1)[0];i._processing+=1,e.__fetchQueue.reject(),delete e.__fetchQueue}for(;i._processing<i._size&&i._queue.length;){var n=i._queue.shift();if(n.__fetchQueue){i._processing+=1;!i._needed||i._needed(n)?n.__fetchQueue.resolve():n.__fetchQueue.reject(),delete n.__fetchQueue}}i._innextitem=!1}},this.clear(),this};return e}()},function(t,e,n){var i=n(4),r=n(137),A=n(5),o=function(t){"use strict";function e(t,e){var n=new FileReader;return e&&(n.onprogress=e),n.onloadend=function(){n.result||t(n.error),t(n.result)},n}if(!(this instanceof o))return new o(t);if(A.call(this),t=t||{},!(t.layer instanceof r))throw"fileReader must be given a feature layer";var n=t.layer;return this.layer=function(){return n},this.canRead=function(){return!1},this.read=function(t,e){e(!1)},this._getString=function(t,n,i){e(n,i).readAsText(t)},this._getArrayBuffer=function(t,n,i){e(n,i).readAsText(t)},this};i(o,A),t.exports=o},function(t,e,n){var i=n(4),r=n(127),A=function(t){"use strict";if(!(this instanceof A))return new A(t);var e=n(1);return t=t||{},r.call(this,t),t.style=void 0===t.style?e.extend({},{color:[1,1,1],point_sprites:!1,point_sprites_image:null},t.style):t.style,this.style(t.style),this};i(A,r),t.exports=A},function(t,e,n){var i=n(4),r=n(127),A=function(t){"use strict";if(!(this instanceof A))return new A(t);t=t||{},r.call(this,t);var e=n(1),i=n(120),o=n(131),a=this,c=this.draw,s=this.style,u=null,g=null,l=function(t){return t.children},M=[],h=this._init,d=this._exit;return this._init=function(t){h.call(a,t);var n=e.extend(!0,{},{nodes:{radius:5,fill:!0,fillColor:{r:1,g:0,b:0},strokeColor:{r:0,g:0,b:0}},links:{strokeColor:{r:0,g:0,b:0}},linkType:"path"},void 0===t.style?{}:t.style);a.style(n),a.nodes(function(t){return t})},this._build=function(){a.children().forEach(function(t){t._build()})},this._update=function(){a.children().forEach(function(t){t._update()})},this._exit=function(){return a.data([]),M.forEach(function(t){t._exit(),a.removeChild(t)}),M=[],g._exit(),a.removeChild(g),d(),a},this.style=function(t,e){var n=s.call(a,t,e);return n!==a?n:(g.style(t.nodes),M.forEach(function(e){e.style(t.links)}),a)},this.links=function(t){return void 0===t?l:(l=i.ensureFunction(t),a)},this.nodes=function(t){return void 0===t?u:(u=t,a.modified(),a)},this.nodeFeature=function(){return g},this.linkFeatures=function(){return M},this.draw=function(){var t,e=a.layer(),n=a.data(),i=0;return t=a.style(),g.data(n),g.style(t.nodes),n.forEach(function(n){(n.children||[]).forEach(function(r){var A;i+=1,M.length<i&&(A=o.createFeature(t.linkType,e,e.renderer()).style(t.links),a.addChild(A),M.push(A)),M[i-1].data([n,r])})}),M.splice(i,M.length-i).forEach(function(t){t._exit(),a.removeChild(t)}),c(),a},g=o.createFeature("point",this.layer(),this.layer().renderer()),a.addChild(g),t.nodes&&this.nodes(t.nodes),this._init(t),this};i(A,r),t.exports=A},function(t,e,n){var i=n(4),r=n(143);t.exports=function(){"use strict";var t=function(e){if(!(this instanceof t))return new t(e);var i=n(1);return e.size=e.size||{x:256,y:256},this._image=null,this._cors=e.crossDomain||"anonymous",r.call(this,e),Object.defineProperty(this,"image",{get:function(){return this._image}}),this.fetch=function(){var t;return this._image||(this._image=new Image(this.size.x,this.size.y),this._url.indexOf(":")>=0&&this._url.indexOf("/")>=0&&this._url.indexOf(":")<this._url.indexOf("/")&&(this._image.crossOrigin=this._cors),t=new i.Deferred,this._image.onload=t.resolve,this._image.onerror=t.reject,this._image.src=this._url,t.then(function(){this._fetched=!0}.bind(this)).promise(this)),this},this.fadeIn=function(t){var e=this.fetch(),n=new i.Deferred;return i(this._image).css("display","none"),e.then(function(){i(this._image).fadeIn(t,function(){n.resolve()})}.bind(this)),n.promise(this)},this};return i(t,r),t}()},function(t,e,n){t.exports=function(){"use strict";var t=n(1),e=function(n){if(!(this instanceof e))return new e(n);this._index=n.index,this._size=n.size,this._overlap=n.overlap||{x:0,y:0},this._wrap=n.wrap||{x:1,y:1},this._url=n.url,this._fetched=!1,this._queue=n.queue||null,Object.defineProperty(this,"index",{get:function(){return this._index}}),Object.defineProperty(this,"size",{get:function(){return this._size}}),Object.defineProperty(this,"overlap",{get:function(){return this._overlap}}),this.fetch=function(){return this._fetched||t.get(this._url).then(function(){this._fetched=!0}.bind(this)).promise(this),this},this.fetched=function(){return this._fetched},this.then=function(t,e){return this.fetched()||!this._queue||!this._queue.add||this.state&&"pending"!==this.state()?this.fetch():this._queue.add(this,this.fetch),this.then(t,e),this},this.catch=function(t){return this.then(void 0,t),this},this.toString=function(){return[this._index.level||0,this._index.y,this._index.x].join("_")},this.bounds=function(t,e){var n,i,r,A;return n=this.size.x*(this.index.x-t.x)-this.overlap.x-e.x,i=n+this.size.x+2*this.overlap.x,A=this.size.y*(this.index.y-t.y)-this.overlap.y-e.y,r=A+this.size.y+2*this.overlap.y,{left:n,right:i,bottom:r,top:A}},Object.defineProperty(this,"bottom",{get:function(){return this.size.y*(this.index.y+1)+this.overlap.y}}),Object.defineProperty(this,"top",{get:function(){return this.size.y*this.index.y-this.overlap.y}}),Object.defineProperty(this,"left",{get:function(){return this.size.x*this.index.x-this.overlap.x}}),Object.defineProperty(this,"right",{get:function(){return this.size.x*(this.index.x+1)+this.overlap.x}}),Object.defineProperty(this,"levelSize",{value:{width:Math.pow(2,this.index.level||0)*this.size.x,height:Math.pow(2,this.index.level||0)*this.size.y}}),this.fadeIn=function(e){return t.noop(e),this}};return e}()},function(t,e,n){var i=n(4),r=n(131).registerFileReader,A=n(139),o=function(t){"use strict";if(!(this instanceof o))return new o(t);var e=n(1),i=n(120).convertColor,r=this;A.call(this,t),this.canRead=function(t){if(t instanceof File)return"application/json"===t.type||t.name.match(/\.json$/);if("string"==typeof t){try{JSON.parse(t)}catch(t){return!1}return!0}try{if(Array.isArray(r._featureArray(t)))return!0}catch(t){}return!1},this._readObject=function(t,n,i){function A(t){"string"!=typeof t&&n(!1);try{o=JSON.parse(t),n(o)}catch(i){o||e.ajax({type:"GET",url:t,dataType:"text"}).done(function(t){o=JSON.parse(t),n(o)}).fail(function(){n(!1)})}}var o;t instanceof File?r._getString(t,A,i):"string"==typeof t?A(t):n(t)},this._featureArray=function(t){var e,n=[];switch(t.type){case"FeatureCollection":e=t.features;break;case"Feature":e=[t];break;case"GeometryCollection":e=t.geometries.map(function(t){return{type:"Feature",geometry:t,properties:{}}});break;case"Point":case"LineString":case"Polygon":case"MultiPoint":case"MultiLineString":case"MultiPolygon":e=[{type:"Feature",geometry:t,properties:{}}];break;default:throw new Error("Invalid json type")}return e.forEach(function(t){Array.prototype.push.apply(n,r._feature(t))}),n},this._feature=function(t){if("Feature"!==t.type)throw new Error("Invalid feature object");switch(t.geometry.type){case"Point":case"LineString":case"Polygon":return[t];case"MultiPoint":case"MultiLineString":case"MultiPolygon":return t.geometry.coordinates.map(function(e){return{type:"Feature",geometry:{type:t.geometry.type.replace("Multi",""),coordinates:e},properties:t.properties}});default:throw new Error("Invalid geometry type")}},this._position=function(t){return{x:t[0],y:t[1],z:t[2]||0}},this._style=function(t,e,n,i){return i=i||function(t){return t},e=i(e),function(r,A,o,a){var c;return c=n?n[a].properties:r.properties,c.hasOwnProperty(t)?i(c[t]):e}},this.read=function(t,e,n){function A(t){var n,A,o,a,c=[];n=r._featureArray(t),A=n.filter(function(t){return"Point"===t.geometry.type}),A.length&&c.push(r.layer().createFeature("point").data(A).position(function(t){return r._position(t.geometry.coordinates)}).style({fill:r._style("fill",!0),fillColor:r._style("fillColor","#ff7800",null,i),fillOpacity:r._style("fillOpacity",.8),stroke:r._style("stroke",!0),strokeColor:r._style("strokeColor","#000000",null,i),strokeWidth:r._style("strokeWidth",1),strokeOpacity:r._style("strokeOpacity",1),radius:r._style("radius",8)})),o=n.filter(function(t){return"LineString"===t.geometry.type}),o.length&&c.push(r.layer().createFeature("line").data(o).line(function(t){return t.geometry.coordinates}).position(r._position).style({strokeColor:r._style("strokeColor","#ff7800",o,i),strokeWidth:r._style("strokeWidth",4,o),strokeOpacity:r._style("strokeOpacity",.5,o)})),a=n.filter(function(t){return"Polygon"===t.geometry.type}),a.length&&c.push(r.layer().createFeature("polygon").data(a).polygon(function(t,e){return{outer:t.geometry.coordinates[0],inner:t.geometry.coordinates.slice(1)}}).position(r._position).style({fill:r._style("fill",!0,a),fillColor:r._style("fillColor","#b0de5c",a,i),fillOpacity:r._style("fillOpacity",.8,a),stroke:r._style("stroke",!0,a),strokeColor:r._style("strokeColor","#999999",a,i),strokeWidth:r._style("strokeWidth",2,a),strokeOpacity:r._style("strokeOpacity",1,a)})),e&&e(c)}r._readObject(t,A,n)}};i(o,A),r("jsonReader",o),t.exports=o},function(t,e,n){var i=n(4),r=n(127),A=function(t){"use strict";if(!(this instanceof A))return new A(t);var e=n(1);t=t||{},r.call(this,t);var i=this,o=this._init;return this.line=function(t){return void 0===t?i.style("line"):(i.style("line",t),i.dataTime().modified(),i.modified(),i)},this.position=function(t){return void 0===t?i.style("position"):(i.style("position",t),i.dataTime().modified(),i.modified(),i)},this.pointSearch=function(t){function e(t,e,i){var r,A=n(e,i);return A<1?n(t,e):(r=((t.x-e.x)*(i.x-e.x)+(t.y-e.y)*(i.y-e.y))/A,r<0?n(t,e):r>1?n(t,i):n(t,{x:e.x+r*(i.x-e.x),y:e.y+r*(i.y-e.y)}))}function n(t,e){var n=t.x-e.x,i=t.y-e.y;return n*n+i*i}var r,A,o,a,c,s=[],u=[];return(r=i.data())&&r.length?(o=i.line(),a=i.style.get("strokeWidth"),c=i.position(),A=i.featureGcsToDisplay(t),r.forEach(function(t,n){var r=null;try{o(t,n).forEach(function(o,s){var u=c(o,s,t,n),g=i.featureGcsToDisplay(u),l=Math.ceil(a(u,s,t,n)/2)+2;if(l*=l,r&&e(A,g,r)<=l)throw"found";r=g})}catch(e){if("found"!==e)throw e;u.push(t),s.push(n)}}),{data:u,index:s}):{found:[],index:[]}},this.boxSearch=function(t,e,n){var r=i.position(),A=[],o=i.line();if(n=n||{},n.partial=n.partial||!1,n.partial)throw"Unimplemented query method.";return i.data().forEach(function(n,i){var a=!0;o(n,i).forEach(function(A,o){if(a){var c=r(A,o,n,i);c.x>=t.x&&c.x<=e.x&&c.y>=t.y&&c.y<=e.y||(a=!1)}}),a&&A.push(i)}),A},this._init=function(t){o.call(i,t);var n=e.extend({},{strokeWidth:1,strokeColor:{r:1,g:.8431372549,b:0},strokeStyle:"solid",strokeOpacity:1,line:function(t){return t},position:function(t){return t}},void 0===t.style?{}:t.style);void 0!==t.line&&(n.line=t.line),void 0!==t.position&&(n.position=t.position),i.style(n),i.dataTime().modified()},this._init(t),this};A.create=function(t,e){"use strict";return e.type="line",r.create(t,e)},i(A,r),t.exports=A},function(t,e,n){var i=n(1),r=n(6),A=n(4),o=n(128),a=function(t){"use strict";function e(t){var e,n,i=t.right-t.left,r=t.top-t.bottom,A=Math.abs(i/r),o=Y/b;return A>o?(e=1,n=A/o):(n=1,e=o/A),{x:e,y:n}}function A(t,e){if(e){t=c({x:(t.left+t.right)/2,y:(t.top+t.bottom)/2},{width:Math.abs(t.left-t.right),height:Math.abs(t.top-t.bottom)},e)}return t}function c(t,e,n){var i=e.width/2,r=e.height/2,A=Math.sin(n),o=Math.cos(n),a={},c={},s={},u={};return a.x=t.x+-i*o- -r*A,a.y=t.y+-i*A+-r*o,c.x=t.x+i*o- -r*A,c.y=t.y+i*A+-r*o,s.x=t.x+-i*o-r*A,s.y=t.y+-i*A+r*o,u.x=t.x+i*o-r*A,u.y=t.y+i*A+r*o,{left:Math.min(a.x,c.x,s.x,u.x),right:Math.max(a.x,c.x,s.x,u.x),bottom:Math.min(a.y,c.y,s.y,u.y),top:Math.max(a.y,c.y,s.y,u.y)}}function s(t,n){void 0===n&&(n=k),t=A(t,n);var i=e(t);return i.y>i.x?-Math.log2(Math.abs(t.right-t.left)*i.x/(Y*f)):-Math.log2(Math.abs(t.top-t.bottom)*i.y/(b*f))}function u(){H.min=T?Math.max(H.origMin,s(_)):H.origMin}function g(t,e){return t=Math.max(Math.min(H.max,t),H.min),V&&!e&&(t=Math.round(t))<H.min&&(t=Math.ceil(H.min)),t}function l(t,e,n){if(!W)return 0;if(e||"function"!=typeof W||(t=W(t)),!n){var i=2*Math.PI;t=t%i+(t>=0?0:i),Math.min(Math.abs(t),Math.abs(t-i))<1e-5&&(t=0)}return t}function M(t,e){if(!I&&!E)return t;var n,r,A=_;if(e){A=i.extend({},_);var o,a,c=Math.abs(t.right-t.left),s=Math.abs(t.top-t.bottom),u=Math.abs(Math.sin(e)),g=Math.abs(Math.cos(e));if(t.width&&t.height)o=t.width,a=t.height;else if(Math.abs(u-g)<5e-4)if(Y&&b){var l=Math.abs(Y/b),M=Math.pow(1+Math.pow(l,2),.5);o=Math.max(c,s)/M,a=o*l}else o=c*g,a=s*u;else o=(g*c-u*s)/(g*g-u*u),a=(g*s-u*c)/(g*g-u*u);var h=c-Math.max(g*o,u*a),d=s-Math.max(g*a,u*o);A.left-=h,A.right+=h,A.top+=d,A.bottom-=d}return I&&(t.right-t.left>A.right-A.left?n=A.left-(t.right-t.left-(A.right-A.left))/2-t.left:t.left<A.left?n=A.left-t.left:t.right>A.right&&(n=A.right-t.right),n&&(t={left:t.left+=n,right:t.right+=n,top:t.top,bottom:t.bottom})),E&&(t.top-t.bottom>A.top-A.bottom?r=A.bottom-(t.top-t.bottom-(A.top-A.bottom))/2-t.bottom:t.top>A.top?r=A.top-t.top:t.bottom<A.bottom&&(r=A.bottom-t.bottom),r&&(t={top:t.top+=r,bottom:t.bottom+=r,left:t.left,right:t.right})),t}function h(t,e){if(Z.rotation=e||0,t.width&&t.height&&e){var n=(t.left+t.right)/2,i=(t.top+t.bottom)/2;Z.viewFromCenterSizeRotation({x:n,y:i},t,e)}else Z.bounds=t}function d(){Q.resize(0,0,S.width(),S.height())}if(!(this instanceof a))return new a(t);if(t=t||{},void 0===t.node||null===t.node)return console.warn("map creation requires a node"),this;o.call(this,t);var f,I,E,T,N,y=n(3),p=n(147),C=n(120),D=n(131),x=n(125),B=n(217),w=n(133),m=n(218),Q=this,v=this._exit,j=0,L=0,S=i(t.node),Y=t.width||S.width()||512,b=t.height||S.height()||512,O=void 0===t.gcs?"EPSG:3857":t.gcs,z=void 0===t.ingcs?"EPSG:4326":t.ingcs,U={x:0,y:0},F=void 0===t.zoom?4:t.zoom,k=0,R=null,G=null,H={min:0,max:16,origMin:0},J=null,P=null,X=null,V=!!t.discreteZoom,W="function"==typeof t.allowRotation?t.allowRotation:void 0===t.allowRotation||!!t.allowRotation,_=t.maxBounds||{},Z=t.camera||y(),K={x:1,y:1,z:1},q=((_.left||0)+(_.right||0))/2,$=((_.bottom||0)+(_.top||0))/2;return _.left=p.transformCoordinates(z,O,{x:void 0!==_.left?_.left:-180,y:$}).x,_.right=p.transformCoordinates(z,O,{x:void 0!==_.right?_.right:180,y:$}).x,_.top=void 0!==_.top?p.transformCoordinates(z,O,{x:q,y:_.top}).y:_.right,_.bottom=void 0!==_.bottom?p.transformCoordinates(z,O,{x:q,y:_.bottom}).y:_.left,f=t.unitsPerPixel||(_.right-_.left)/256,Z.viewport={width:Y,height:b},t.center=C.normalizeCoordinates(t.center),t.autoResize=void 0===t.autoResize||t.autoResize,I=void 0!==t.clampBoundsX&&t.clampBoundsX,E=void 0===t.clampBoundsY||t.clampBoundsY,T=void 0===t.clampZoom||t.clampZoom,this.unitsPerPixel=function(t,e){return t=t||0,e?(f=Math.pow(2,t)*e,Q.draw(),Q):Math.pow(2,-t)*f},this.clampBoundsX=function(t){return void 0===t?I:(t!==I&&(I=!!t,Q.pan({x:0,y:0})),Q)},this.clampBoundsY=function(t){return void 0===t?E:(t!==E&&(E=!!t,Q.pan({x:0,y:0})),Q)},this.clampZoom=function(t){return void 0===t?T:(t!==T&&(T=!!t,u(),Q.zoom(F)),Q)},this.allowRotation=function(t){return void 0===t?W:("function"!=typeof t&&(t=!!t),t!==W&&(W=t,Q.rotation(k)),Q)},this.origin=function(){return i.extend({},N)},this.scale=function(){return i.extend({},K)},this.camera=function(){return Z},this.gcs=function(t){if(void 0===t)return O;if(t!==O){var e=Q.center(void 0,void 0);O=t,u();var n=g(F);n!==F&&Q.zoom(n),Q.center(e,void 0)}return Q},this.ingcs=function(t){return void 0===t?z:(z=t,Q)},this.node=function(){return S},this.zoom=function(t,e,n){if(void 0===t)return F;var i,r;if((t=g(t,n))===F)return Q;if(F=t,r=Q.boundsFromZoomAndCenter(t,U,k,null,n),Q.modified(),h(r,k),i={geo:{},zoomLevel:F,screenPosition:e?e.map:void 0},Q.geoTrigger(x.zoom,i),e&&e.geo&&e.map){var A=Q.gcsToDisplay(e.geo);Q.pan({x:e.map.x-A.x,y:e.map.y-A.y},n)}else Q.pan({x:0,y:0},n);return Q},this.pan=function(t,e){var n={geo:{},screenDelta:t};if(t.x||t.y){var i=Q.unitsPerPixel(F),r=Math.sin(k),A=Math.cos(k);Z.pan({x:(t.x*A- -t.y*r)*i,y:(t.x*r+-t.y*A)*i})}var o=M(Z.bounds,k);if(o!==Z.bounds){var a=Q.gcsToDisplay({x:Z.bounds.left,y:Z.bounds.top},null);o=Q.boundsFromZoomAndCenter(F,{x:(o.left+o.right)/2,y:(o.top+o.bottom)/2},k,null,e),h(o,k);var c=Q.gcsToDisplay({x:Z.bounds.left,y:Z.bounds.top},null);n.screenDelta.x+=c.x-a.x,n.screenDelta.y+=c.y-a.y}return U=Z.displayToWorld({x:Y/2,y:b/2}),Q.geoTrigger(x.pan,n),Q.modified(),Q},this.rotation=function(t,e,n){if(void 0===t)return k;if((t=l(t,n))===k)return Q;k=t;var i=Q.boundsFromZoomAndCenter(F,U,k,null,n);Q.modified(),h(i,k);var r={geo:{},rotation:k,screenPosition:e?e.map:void 0};if(Q.geoTrigger(x.rotate,r),e&&e.geo&&e.map){var A=Q.gcsToDisplay(e.geo);Q.pan({x:e.map.x-A.x,y:e.map.y-A.y})}else Q.pan({x:0,y:0});return u(),Q.zoom(F,n),Q},this.center=function(t,e,n){return void 0===t?i.extend({},Q.worldToGcs(U,e)):(U=i.extend({},Q.gcsToWorld(t,e)),h(Q.boundsFromZoomAndCenter(F,U,k,null,n),k),Q.modified(),Q.geoTrigger(x.pan,{geo:t,screenDelta:null}),Q)},this.createLayer=function(t,e){e=e||{};var n=D.createLayer(t,Q,e);return n&&(Q.addChild(n),Q.children().forEach(function(t){t instanceof m&&t.moveToTop()}),n._update(),Q.modified(),Q.geoTrigger(x.layerAdd,{type:x.layerAdd,target:Q,layer:n})),n},this.deleteLayer=function(t){return null!==t&&void 0!==t&&(t._exit(),Q.removeChild(t),Q.modified(),Q.geoTrigger(x.layerRemove,{type:x.layerRemove,target:Q,layer:t})),t},this.size=function(t){return void 0===t?{width:Y,height:b}:(Q.resize(0,0,t.width,t.height),Q)},this.rotatedSize=function(){if(!this.rotation())return{width:Y,height:b};var t=c({x:0,y:0},{width:Y,height:b},this.rotation());return{width:Math.abs(t.right-t.left),height:Math.abs(t.top-t.bottom)}},this.resize=function(t,e,n,i){var r=Q.center();j=t,L=e,Y=n,b=i,u();var A=g(F);return A!==F&&Q.zoom(A),Q.camera().viewport={width:n,height:i},Q.center(r),Q.geoTrigger(x.resize,{type:x.resize,target:Q,x:j,y:L,width:n,height:i}),Q.modified(),Q},this.gcsToWorld=function(t,e){return e=null===e?O:void 0===e?z:e,e!==O&&(t=p.transformCoordinates(e,O,t)),N.x||N.y||N.z?t=p.affineForward({origin:N},[t])[0]:"z"in t||(t={x:t.x,y:t.y,z:0}),t},this.worldToGcs=function(t,e){return N.x||N.y||N.z?t=p.affineInverse({origin:N},[t])[0]:"z"in t||(t={x:t.x,y:t.y,z:0}),e=null===e?O:void 0===e?z:e,e!==O&&(t=p.transformCoordinates(O,e,t)),t},this.gcsToDisplay=function(t,e){return t=Q.gcsToWorld(t,e),Q.worldToDisplay(t)},this.worldToDisplay=function(t){return Z.worldToDisplay(t)},this.displayToGcs=function(t,e){return t=Q.displayToWorld(t),Q.worldToGcs(t,e)},this.displayToWorld=function(t){return Z.displayToWorld(t)},this.draw=function(){var t,e=Q.children();for(Q.geoTrigger(x.draw,{type:x.draw,target:Q}),Q._update(),t=0;t<e.length;t+=1)e[t].draw();return Q.geoTrigger(x.drawEnd,{type:x.drawEnd,target:Q}),Q},this.fileReader=function(t,e){var n,i;return e=e||{},t?(n=e.layer,n||(i=e.renderer,i||(i="d3"),n=Q.createLayer("feature",{renderer:i})),e.layer=n,e.renderer=i,R=D.createFileReader(t,e),Q):R},this._init=function(){if(void 0===S||null===S)throw"Map require DIV node";return S.css("position","relative"),Q},this._update=function(t){var e,n=Q.children();for(e=0;e<n.length;e+=1)n[e]._update(t);return Q},this.exit=function(){var t,e=Q.children();for(t=0;t<e.length;t+=1)e[t]._exit();Q.interactor()&&(Q.interactor().destroy(),Q.interactor(null)),Q.node().off(".geo"),Q.node().empty(),i(window).off("resize",d),v()},this._init(t),this.node().on("dragover.geo",function(t){var e=t.originalEvent;Q.fileReader()&&(e.stopPropagation(),e.preventDefault(),e.dataTransfer.dropEffect="copy")}).on("drop.geo",function(t){function e(){Q.draw()}var n,i,r=t.originalEvent,A=Q.fileReader();if(A)for(r.stopPropagation(),r.preventDefault(),n=0;n<r.dataTransfer.files.length;n+=1)i=r.dataTransfer.files[n],A.canRead(i)&&A.read(i,e)}),this.interactor=function(t){return void 0===t?G:(G=t,G&&G.map(Q),Q)},this.clock=function(t){return void 0===t?X:(X=t,X&&X.object(Q),Q)},this.zoomRange=function(t,e){return void 0===t?i.extend({},H):(void 0!==t.max&&(H.max=t.max),void 0!==t.min&&(H.min=H.origMin=t.min),u(),e||Q.zoom(F),Q)},this.transition=function(t,e,n){function A(t,e,n){return t+(e-t)*n}function o(t,e){return function(n){var r=[];return i.each(t,function(i){r.push(A(t[i],e[i],n))}),r}}function a(t){return r.zoomToHeight(t+1,Y,b)*M}function c(t){return r.heightToZoom(t/M,Y,b)-1}function s(e){var n=J.done,i=P;if(!0===J.cancel)return Q.geoTrigger(x.transitioncancel,t),n&&n({cancel:!0,source:J.cancelSource,transition:J}),J=null,void(P&&(i=P,P=null,Q.transition(i,void 0,e)));if(J.start.time||(J.start.time=e,J.end.time=e+t.duration),J.time=e-J.start.time,e>=J.end.time||i)return i||(Q.center(J.end.center,null),Q.zoom(J.end.zoom,J.zoomOrigin),Q.rotation(l(J.end.rotation))),Q.geoTrigger(x.transitionend,t),n&&n({next:!!i}),J=null,void(P&&(i=P,P=null,Q.transition(i,void 0,e)));var r=J.ease((e-J.start.time)/t.duration),A=J.interp(r);J.zCoord&&(A[2]=c(A[2])),g(A[2],!0)===F?Q.center({x:A[0],y:A[1]},null,!0):(U=Q.gcsToWorld({x:A[0],y:A[1]},null),Q.zoom(A[2],J.zoomOrigin,!0)),Q.rotation(A[3],void 0,!0),window.requestAnimationFrame(s)}if(void 0===t)return J;if(J){var u=i.extend(!0,{},J.end);return u.center&&O!==z&&(u.center=p.transformCoordinates(O,z,u.center)),P=i.extend({},u||{},P||{},t),Q}var M=Q.unitsPerPixel(0),h={center:Q.center(void 0,null),zoom:Q.zoom(),rotation:Q.rotation(),duration:1e3,ease:function(t){return t},interp:o,done:null,zCoord:!0};return t.center&&(e=null===e?O:void 0===e?z:e,t=i.extend(!0,{},t),t.center=C.normalizeCoordinates(t.center),e!==O&&(t.center=p.transformCoordinates(e,O,t.center))),t=i.extend(!0,{},h,t),J={start:{center:Q.center(void 0,null),zoom:Q.zoom(),rotation:Q.rotation()},end:{center:t.center,zoom:g(t.zoom),rotation:l(t.rotation,void 0,!0)},ease:t.ease,zCoord:t.zCoord,done:t.done,duration:t.duration,zoomOrigin:t.zoomOrigin},J.interp=t.interp([J.start.center.x,J.start.center.y,t.zCoord?a(J.start.zoom):J.start.zoom,J.start.rotation],[J.end.center.x,J.end.center.y,t.zCoord?a(J.end.zoom):J.end.zoom,J.end.rotation]),Q.geoTrigger(x.transitionstart,t),x.cancelNavigation?(J=null,Q.geoTrigger(x.transitionend,t),Q):(x.cancelAnimation?(t.duration=0,s(0)):n?s(n):window.requestAnimationFrame(s),Q)},this.transitionCancel=function(t){return!(!J||!0===J.cancel&&!P)&&(J.cancel=!0,J.cancelSource=t||J.cancelSource||"",P=null,!0)},this.bounds=function(t,e){var n;if(e=null===e?O:void 0===e?z:e,void 0!==t){if(e!==O){var i=p.transformCoordinates(e,O,[{x:t.left,y:t.top},{x:t.right,y:t.bottom}]);t={left:i[0].x,top:i[0].y,right:i[1].x,bottom:i[1].y}}t=M(t,k),n=Q.zoomAndCenterFromBounds(t,k,null),Q.zoom(n.zoom),Q.center(n.center,null)}return Q.boundsFromZoomAndCenter(F,U,k,e,!0)},this.maxBounds=function(t,e){if(e=null===e?O:void 0===e?z:e,void 0===t)return{left:p.transformCoordinates(O,e,{x:_.left,y:0}).x,right:p.transformCoordinates(O,e,{x:_.right,y:0}).x,bottom:p.transformCoordinates(O,e,{x:0,y:_.bottom}).y,top:p.transformCoordinates(O,e,{x:0,y:_.top}).y};var n=((t.left||0)+(t.right||0))/2,i=((t.bottom||0)+(t.top||0))/2;return void 0!==t.left&&(_.left=p.transformCoordinates(e,O,{x:t.left,y:i}).x),void 0!==t.right&&(_.right=p.transformCoordinates(e,O,{x:t.right,y:i}).x),void 0!==t.bottom&&(_.bottom=p.transformCoordinates(e,O,{x:n,y:t.bottom}).y),void 0!==t.top&&(_.top=p.transformCoordinates(e,O,{x:n,y:t.top}).y),u(),Q.zoom(F),Q.pan({x:0,y:0}),this},this.zoomAndCenterFromBounds=function(t,e,n){var i,r;if((n=null===n?O:void 0===n?z:n)!==O){var A=p.transformCoordinates(n,O,[{x:t.left,y:t.top},{x:t.right,y:t.bottom}]);t={left:A[0].x,top:A[0].y,right:A[1].x,bottom:A[1].y}}if(t.left>=t.right||t.bottom>=t.top)throw new Error("Invalid bounds provided");return r=g(s(t,e)),t=M(t,e),i={x:(t.left+t.right)/2-N.x,y:(t.top+t.bottom)/2-N.y},n!==O&&(i=p.transformCoordinates(O,n,i)),{zoom:r,center:i}},this.boundsFromZoomAndCenter=function(t,e,n,i,r){var A,o,a,s,u,l;if(i=null===i?O:void 0===i?z:i,t=g(t,r),l=Q.unitsPerPixel(t),e=Q.gcsToWorld(e,i),A=Y*l,o=b*l,a=A/2,s=o/2,n?(e.x+=N.x,e.y+=N.y,u=c(e,{width:A,height:o},n),u.width=A,u.height=o,u=M(u,n)):(u={left:e.x-a+N.x,right:e.x+a+N.x,bottom:e.y-s+N.y,top:e.y+s+N.y},u=M(u,0)),i!==O){var h=p.transformCoordinates(O,i,[[u.left,u.top],[u.right,u.bottom]]);u={left:h[0][0],top:h[0][1],right:h[1][0],bottom:h[1][1]}}return u.width=A,u.height=o,u},this.discreteZoom=function(t){return void 0===t?V:(t=!!t,V!==t&&(V=t,V&&Q.zoom(Math.round(Q.zoom())),Q.interactor().options({discreteZoom:V})),Q)},this.layers=this.children,this.updateAttribution=function(){Q.node().find(".geo-attribution").remove();var t=i("<div/>").addClass("geo-attribution").css({position:"absolute",right:"0px",bottom:"0px","padding-right":"5px",cursor:"auto",font:'11px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif',"z-index":"1001",background:"rgba(255,255,255,0.7)",clear:"both",display:"block","pointer-events":"auto"}).on("mousedown",function(t){t.stopPropagation()});return Q.children().forEach(function(e){var n=e.attribution();n&&i("<span/>").addClass("geo-attribution-layer").css({"padding-left":"5px"}).html(n).appendTo(t)}),t.appendTo(Q.node()),Q},N={x:0,y:0},this.zoomRange(t,!0),F=g(F),k=l(k),this.center(i.extend({},t.center||U),void 0),this.interactor(t.interactor||B({discreteZoom:V})),this.clock(t.clock||w()),t.autoResize&&i(window).resize(d),Q.geoOn([x.layerAdd,x.layerRemove],Q.updateAttribution),this};a.create=function(t){"use strict";var e=a(t),i=n(130);return e&&e.zoom?(t.data=t.data||[],t.layers=t.layers||[],t.layers.forEach(function(n){n.data=n.data||t.data,n.layer=i.create(e,n)}),e):(console.warn("Could not create map."),null)},A(a,o),t.exports=a},function(t,e,n){var i=n(148),r={},A=function(t){"use strict";function e(){n=new i(c.source(),c.target())}if(!(this instanceof A))return t=t||{},t.source in r||(Object.size(r)>=10&&(r={}),r[t.source]={}),t.target in r[t.source]||(Object.size(r[t.source])>=10&&(r[t.source]={}),r[t.source][t.target]=new A(t)),r[t.source][t.target];var n,o,a,c=this;this.source=function(t){return void 0===t?o||"EPSG:4326":(o=t,e(),c)},this.target=function(t){return void 0===t?a||"EPSG:3857":(a=t,e(),c)},this._forward=function(t){var e=n.forward(t);return e.z=t.z||0,e},this._inverse=function(t){var e=n.inverse(t);return e.z=t.z||0,e},this.forward=function(t){return Array.isArray(t)?t.map(c._forward):c._forward(t)},this.inverse=function(t){return Array.isArray(t)?t.map(c._inverse):c._inverse(t)},t=t||{};try{this.source(t.source)}catch(e){console.error("Can't use transform source: "+t.source),this.source("EPSG:4326")}try{this.target(t.target)}catch(e){console.error("Can't use transform target: "+t.target),this.target("EPSG:3857")}return this};A.defs=i.defs,A.lookup=function(t){var e,r,A=n(1),o=new A.Deferred;return i.defs.hasOwnProperty(t)?o.resolve(i.defs[t]):(r=t.split(":"),2!==r.length||"EPSG"!==r[0].toUpperCase()?o.reject("Invalid projection code").promise():(e=r[1],A.ajax({url:"http://epsg.io/?q="+e+"&format=json"}).then(function(e){var n=(e.results||[])[0];return n&&n.proj4?(i.defs(t,n.proj4),A.when(i.defs[t])):o.reject(e).promise()})))},A.transformCoordinates=function(t,e,n,i){"use strict";if(t===e)return n;var r,o=A({source:t,target:e});return n instanceof Object&&"x"in n&&"y"in n?(r=o.forward({x:n.x,y:n.y,z:n.z||0}),"z"in n?r:{x:r.x,y:r.y}):n instanceof Array&&1===n.length&&n[0]instanceof Object&&"x"in n[0]&&"y"in n[0]?(r=o.forward({x:n[0].x,y:n[0].y,z:n[0].z||0}),"z"in n[0]?[r]:[{x:r.x,y:r.y}]):A.transformCoordinatesArray(o,n,i)},A.transformCoordinatesArray=function(t,e,n){function i(){if(e[0]instanceof Array)if(2===e[0].length)a=function(t){return e[t][0]},c=function(t){return e[t][1]},u=function(t,e,n){g[t]=[e,n]};else{if(3!==e[0].length)throw new Error("Invalid coordinates. Requires two or three components per array");a=function(t){return e[t][0]},c=function(t){return e[t][1]},s=function(t){return e[t][2]},u=function(t,e,n,i){g[t]=[e,n,i]}}else if(2===e.length)o=2,a=function(t){return e[t*o]},c=function(t){return e[t*o+1]},u=function(t,e,n){g[t]=e,g[t+1]=n};else if(3===e.length)o=3,a=function(t){return e[t*o]},c=function(t){return e[t*o+1]},s=function(t){return e[t*o+2]},u=function(t,e,n,i){g[t]=e,g[t+1]=n,g[t+2]=i};else{if(!n)throw new Error("Invalid coordinates");if(2!==n&&3!==n)throw new Error("Number of components should be two or three");o=n,a=function(t){return e[t]},c=function(t){return e[t+1]},2===n?u=function(t,e,n){g[t]=e,g[t+1]=n}:(s=function(t){return e[t+2]},u=function(t,e,n,i){g[t]=e,g[t+1]=n,g[t+2]=i})}}var r,A,o,a,c,s,u,g,l;if(s=function(){return 0},!(e instanceof Array))throw new Error("Coordinates are not valid");g=[],g.length=e.length,A=e.length,e[0]instanceof Array||e[0]instanceof Object?(o=1,e[0]instanceof Array?i():e[0]instanceof Object&&function(){if(!(e[0]&&"x"in e[0]&&"y"in e[0]))throw new Error("Invalid coordinates");a=function(t){return e[t].x},c=function(t){return e[t].y},"z"in e[0]?(s=function(t){return e[t].z},u=function(t,e,n,i){g[r]={x:e,y:n,z:i}}):u=function(t,e,n){g[t]={x:e,y:n}}}()):i();for(r=0;r<A;r+=o)l=t.forward({x:a(r),y:c(r),z:s(r)}),u(r,l.x,l.y,l.z);return g},A.affineForward=function(t,e){"use strict";var n,i=t.origin,r=t.scale||{x:1,y:1,z:1};for(n=0;n<e.length;n+=1)e[n].x=(e[n].x-i.x)*r.x,e[n].y=(e[n].y-i.y)*r.y,e[n].z=((e[n].z||0)-(i.z||0))*r.z;return e},A.affineInverse=function(t,e){"use strict";var n,i=t.origin,r=t.scale||{x:1,y:1,z:1};for(n=0;n<e.length;n+=1)e[n].x=e[n].x/r.x+i.x,e[n].y=e[n].y/r.y+i.y,e[n].z=(e[n].z||0)/r.z+(i.z||0);return e},t.exports=A},function(t,e,n){var i=n(149);i.defaultDatum="WGS84",i.Proj=n(150),i.WGS84=new i.Proj("WGS84"),i.Point=n(175),i.toPoint=n(174),i.defs=n(152),i.transform=n(171),i.mgrs=n(176),i.version=n(177).version,n(178)(i),t.exports=i},function(t,e,n){function i(t,e,n){var i;return Array.isArray(n)?(i=a(t,e,n),3===n.length?[i.x,i.y,i.z]:[i.x,i.y]):a(t,e,n)}function r(t){return t instanceof o?t:t.oProj?t.oProj:o(t)}function A(t,e,n){t=r(t);var A,o=!1;return void 0===e?(e=t,t=c,o=!0):(void 0!==e.x||Array.isArray(e))&&(n=e,e=t,t=c,o=!0),e=r(e),n?i(t,e,n):(A={forward:function(n){return i(t,e,n)},inverse:function(n){return i(e,t,n)}},o&&(A.oProj=e),A)}var o=n(150),a=n(171),c=o("WGS84");t.exports=A},function(t,e,n){function i(t,e){if(!(this instanceof i))return new i(t);e=e||function(t){if(t)throw t};var n=r(t);if("object"!=typeof n)return void e(t);var o=a(n),c=i.projections.get(o.projName);c?(A(this,o),A(this,c),this.init(),e(null,this)):e(t)}var r=n(151),A=n(158),o=n(159),a=n(167);i.projections=o,i.projections.start(),t.exports=i},function(t,e,n){function i(t){return"string"==typeof t}function r(t){return t in c}function A(t){return["GEOGCS","GEOCCS","PROJCS","LOCAL_CS"].reduce(function(e,n){return e+1+t.indexOf(n)},0)}function o(t){return"+"===t[0]}function a(t){return i(t)?r(t)?c[t]:A(t)?s(t):o(t)?u(t):void 0:t}var c=n(152),s=n(157),u=n(154);t.exports=a},function(t,e,n){function i(t){var e=this;if(2===arguments.length){var n=arguments[1];"string"==typeof n?"+"===n.charAt(0)?i[t]=A(arguments[1]):i[t]=o(arguments[1]):i[t]=n}else if(1===arguments.length){if(Array.isArray(t))return t.map(function(t){Array.isArray(t)?i.apply(e,t):i(t)});if("string"==typeof t){if(t in i)return i[t]}else"EPSG"in t?i["EPSG:"+t.EPSG]=t:"ESRI"in t?i["ESRI:"+t.ESRI]=t:"IAU2000"in t?i["IAU2000:"+t.IAU2000]=t:console.log(t);return}}var r=n(153),A=n(154),o=n(157);r(i),t.exports=i},function(t,e){t.exports=function(t){t("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),t("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),t("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"),t.WGS84=t["EPSG:4326"],t["EPSG:3785"]=t["EPSG:3857"],t.GOOGLE=t["EPSG:3857"],t["EPSG:900913"]=t["EPSG:3857"],t["EPSG:102113"]=t["EPSG:3857"]}},function(t,e,n){var i=.017453292519943295,r=n(155),A=n(156);t.exports=function(t){var e={},n={};t.split("+").map(function(t){return t.trim()}).filter(function(t){return t}).forEach(function(t){var e=t.split("=");e.push(!0),n[e[0].toLowerCase()]=e[1]});var o,a,c,s={proj:"projName",datum:"datumCode",rf:function(t){e.rf=parseFloat(t)},lat_0:function(t){e.lat0=t*i},lat_1:function(t){e.lat1=t*i},lat_2:function(t){e.lat2=t*i},lat_ts:function(t){e.lat_ts=t*i},lon_0:function(t){e.long0=t*i},lon_1:function(t){e.long1=t*i},lon_2:function(t){e.long2=t*i},alpha:function(t){e.alpha=parseFloat(t)*i},lonc:function(t){e.longc=t*i},x_0:function(t){e.x0=parseFloat(t)},y_0:function(t){e.y0=parseFloat(t)},k_0:function(t){e.k0=parseFloat(t)},k:function(t){e.k0=parseFloat(t)},a:function(t){e.a=parseFloat(t)},b:function(t){e.b=parseFloat(t)},r_a:function(){e.R_A=!0},zone:function(t){e.zone=parseInt(t,10)},south:function(){e.utmSouth=!0},towgs84:function(t){e.datum_params=t.split(",").map(function(t){return parseFloat(t)})},to_meter:function(t){e.to_meter=parseFloat(t)},units:function(t){e.units=t,A[t]&&(e.to_meter=A[t].to_meter)},from_greenwich:function(t){e.from_greenwich=t*i},pm:function(t){e.from_greenwich=(r[t]?r[t]:parseFloat(t))*i},nadgrids:function(t){"@null"===t?e.datumCode="none":e.nadgrids=t},axis:function(t){var n="ewnsud";3===t.length&&-1!==n.indexOf(t.substr(0,1))&&-1!==n.indexOf(t.substr(1,1))&&-1!==n.indexOf(t.substr(2,1))&&(e.axis=t)}};for(o in n)a=n[o],o in s?(c=s[o],"function"==typeof c?c(a):e[c]=a):e[o]=a;return"string"==typeof e.datumCode&&"WGS84"!==e.datumCode&&(e.datumCode=e.datumCode.toLowerCase()),e}},function(t,e){e.greenwich=0,e.lisbon=-9.131906111111,e.paris=2.337229166667,e.bogota=-74.080916666667,e.madrid=-3.687938888889,e.rome=12.452333333333,e.bern=7.439583333333,e.jakarta=106.807719444444,e.ferro=-17.666666666667,e.brussels=4.367975,e.stockholm=18.058277777778,e.athens=23.7163375,e.oslo=10.722916666667},function(t,e){e.ft={to_meter:.3048},e["us-ft"]={to_meter:1200/3937}},function(t,e,n){function i(t,e,n){t[e]=n.map(function(t){var e={};return r(t,e),e}).reduce(function(t,e){return s(t,e)},{})}function r(t,e){var n;if(!Array.isArray(t))return void(e[t]=!0);n=t.shift(),"PARAMETER"===n&&(n=t.shift()),1===t.length?Array.isArray(t[0])?(e[n]={},r(t[0],e[n])):e[n]=t[0]:t.length?"TOWGS84"===n?e[n]=t:(e[n]={},["UNIT","PRIMEM","VERT_DATUM"].indexOf(n)>-1?(e[n]={name:t[0].toLowerCase(),convert:t[1]},3===t.length&&(e[n].auth=t[2])):"SPHEROID"===n?(e[n]={name:t[0],a:t[1],rf:t[2]},4===t.length&&(e[n].auth=t[3])):["GEOGCS","GEOCCS","DATUM","VERT_CS","COMPD_CS","LOCAL_CS","FITTED_CS","LOCAL_DATUM"].indexOf(n)>-1?(t[0]=["name",t[0]],i(e,n,t)):t.every(function(t){return Array.isArray(t)})?i(e,n,t):r(t,e[n])):e[n]=!0}function A(t,e){var n=e[0],i=e[1];!(n in t)&&i in t&&(t[n]=t[i],3===e.length&&(t[n]=e[2](t[n])))}function o(t){return t*c}function a(t){function e(e){var n=t.to_meter||1;return parseFloat(e,10)*n}"GEOGCS"===t.type?t.projName="longlat":"LOCAL_CS"===t.type?(t.projName="identity",t.local=!0):"object"==typeof t.PROJECTION?t.projName=Object.keys(t.PROJECTION)[0]:t.projName=t.PROJECTION,t.UNIT&&(t.units=t.UNIT.name.toLowerCase(),"metre"===t.units&&(t.units="meter"),t.UNIT.convert&&("GEOGCS"===t.type?t.DATUM&&t.DATUM.SPHEROID&&(t.to_meter=parseFloat(t.UNIT.convert,10)*t.DATUM.SPHEROID.a):t.to_meter=parseFloat(t.UNIT.convert,10))),t.GEOGCS&&(t.GEOGCS.DATUM?t.datumCode=t.GEOGCS.DATUM.name.toLowerCase():t.datumCode=t.GEOGCS.name.toLowerCase(),"d_"===t.datumCode.slice(0,2)&&(t.datumCode=t.datumCode.slice(2)),"new_zealand_geodetic_datum_1949"!==t.datumCode&&"new_zealand_1949"!==t.datumCode||(t.datumCode="nzgd49"),"wgs_1984"===t.datumCode&&("Mercator_Auxiliary_Sphere"===t.PROJECTION&&(t.sphere=!0),t.datumCode="wgs84"),"_ferro"===t.datumCode.slice(-6)&&(t.datumCode=t.datumCode.slice(0,-6)),"_jakarta"===t.datumCode.slice(-8)&&(t.datumCode=t.datumCode.slice(0,-8)),~t.datumCode.indexOf("belge")&&(t.datumCode="rnb72"),t.GEOGCS.DATUM&&t.GEOGCS.DATUM.SPHEROID&&(t.ellps=t.GEOGCS.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),"international"===t.ellps.toLowerCase().slice(0,13)&&(t.ellps="intl"),t.a=t.GEOGCS.DATUM.SPHEROID.a,t.rf=parseFloat(t.GEOGCS.DATUM.SPHEROID.rf,10)),~t.datumCode.indexOf("osgb_1936")&&(t.datumCode="osgb36")),t.b&&!isFinite(t.b)&&(t.b=t.a),[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_2","Standard_Parallel_2"],["false_easting","False_Easting"],["false_northing","False_Northing"],["central_meridian","Central_Meridian"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",o],["longitude_of_center","Longitude_Of_Center"],["longc","longitude_of_center",o],["x0","false_easting",e],["y0","false_northing",e],["long0","central_meridian",o],["lat0","latitude_of_origin",o],["lat0","standard_parallel_1",o],["lat1","standard_parallel_1",o],["lat2","standard_parallel_2",o],["alpha","azimuth",o],["srsCode","name"]].forEach(function(e){return A(t,e)}),t.long0||!t.longc||"Albers_Conic_Equal_Area"!==t.projName&&"Lambert_Azimuthal_Equal_Area"!==t.projName||(t.long0=t.longc),t.lat_ts||!t.lat1||"Stereographic_South_Pole"!==t.projName&&"Polar Stereographic (variant B)"!==t.projName||(t.lat0=o(t.lat1>0?90:-90),t.lat_ts=t.lat1)}var c=.017453292519943295,s=n(158);t.exports=function(t,e){var n=JSON.parse((","+t).replace(/\s*\,\s*([A-Z_0-9]+?)(\[)/g,',["$1",').slice(1).replace(/\s*\,\s*([A-Z_0-9]+?)\]/g,',"$1"]').replace(/,\["VERTCS".+/,"")),i=n.shift(),A=n.shift();n.unshift(["name",A]),n.unshift(["type",i]),n.unshift("output");var o={};return r(n,o),a(o.output),s(e,o.output)}},function(t,e){t.exports=function(t,e){t=t||{};var n,i;if(!e)return t;for(i in e)void 0!==(n=e[i])&&(t[i]=n);return t}},function(t,e,n){function i(t,e){var n=o.length;return t.names?(o[n]=t,t.names.forEach(function(t){A[t.toLowerCase()]=n}),this):(console.log(e),!0)}var r=[n(160),n(166)],A={},o=[];e.add=i,e.get=function(t){if(!t)return!1;var e=t.toLowerCase();return void 0!==A[e]&&o[A[e]]?o[A[e]]:void 0},e.start=function(){r.forEach(i)}},function(t,e,n){var i=n(161),r=Math.PI/2,A=57.29577951308232,o=n(162),a=Math.PI/4,c=n(164),s=n(165);e.init=function(){var t=this.b/this.a;this.es=1-t*t,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=i(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)},e.forward=function(t){var e=t.x,n=t.y;if(n*A>90&&n*A<-90&&e*A>180&&e*A<-180)return null;var i,s;if(Math.abs(Math.abs(n)-r)<=1e-10)return null;if(this.sphere)i=this.x0+this.a*this.k0*o(e-this.long0),s=this.y0+this.a*this.k0*Math.log(Math.tan(a+.5*n));else{var u=Math.sin(n),g=c(this.e,n,u);i=this.x0+this.a*this.k0*o(e-this.long0),s=this.y0-this.a*this.k0*Math.log(g)}return t.x=i,t.y=s,t},e.inverse=function(t){var e,n,i=t.x-this.x0,A=t.y-this.y0;if(this.sphere)n=r-2*Math.atan(Math.exp(-A/(this.a*this.k0)));else{var a=Math.exp(-A/(this.a*this.k0));if(-9999===(n=s(this.e,a)))return null}return e=o(this.long0+i/(this.a*this.k0)),t.x=e,t.y=n,t},e.names=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"]},function(t,e){t.exports=function(t,e,n){var i=t*e;return n/Math.sqrt(1-i*i)}},function(t,e,n){var i=2*Math.PI,r=n(163);t.exports=function(t){return Math.abs(t)<=3.14159265359?t:t-r(t)*i}},function(t,e){t.exports=function(t){return t<0?-1:1}},function(t,e){var n=Math.PI/2;t.exports=function(t,e,i){var r=t*i,A=.5*t;return r=Math.pow((1-r)/(1+r),A),Math.tan(.5*(n-e))/r}},function(t,e){var n=Math.PI/2;t.exports=function(t,e){for(var i,r,A=.5*t,o=n-2*Math.atan(e),a=0;a<=15;a++)if(i=t*Math.sin(o),r=n-2*Math.atan(e*Math.pow((1-i)/(1+i),A))-o,o+=r,Math.abs(r)<=1e-10)return o;return-9999}},function(t,e){function n(t){return t}e.init=function(){},e.forward=n,e.inverse=n,e.names=["longlat","identity"]},function(t,e,n){var i=n(168),r=n(169),A=n(158),o=n(170);t.exports=function(t){if(t.datumCode&&"none"!==t.datumCode){var e=i[t.datumCode];e&&(t.datum_params=e.towgs84?e.towgs84.split(","):null,t.ellps=e.ellipse,t.datumName=e.datumName?e.datumName:t.datumCode)}if(!t.a){var n=r[t.ellps]?r[t.ellps]:r.WGS84;A(t,n)}return t.rf&&!t.b&&(t.b=(1-1/t.rf)*t.a),(0===t.rf||Math.abs(t.a-t.b)<1e-10)&&(t.sphere=!0,t.b=t.a),t.a2=t.a*t.a,t.b2=t.b*t.b,t.es=(t.a2-t.b2)/t.a2,t.e=Math.sqrt(t.es),t.R_A&&(t.a*=1-t.es*(.16666666666666666+t.es*(.04722222222222222+.022156084656084655*t.es)),t.a2=t.a*t.a,t.b2=t.b*t.b,t.es=0),t.ep2=(t.a2-t.b2)/t.b2,t.k0||(t.k0=1),t.axis||(t.axis="enu"),t.datum||(t.datum=o(t)),t}},function(t,e){e.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},e.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},e.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},e.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},e.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},e.potsdam={towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},e.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},e.hermannskogel={towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"},e.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},e.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},e.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},e.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},e.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},e.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},e.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},e.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"}},function(t,e){e.MERIT={a:6378137,rf:298.257,ellipseName:"MERIT 1983"},e.SGS85={a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},e.GRS80={a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},e.IAU76={a:6378140,rf:298.257,ellipseName:"IAU 1976"},e.airy={a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},e.APL4={a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},e.NWL9D={a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},e.mod_airy={a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},e.andrae={a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},e.aust_SA={a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},e.GRS67={a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},e.bessel={a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},e.bess_nam={a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},e.clrk66={a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},e.clrk80={a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},e.clrk58={a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},e.CPM={a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},e.delmbr={a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},e.engelis={a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},e.evrst30={a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},e.evrst48={a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},e.evrst56={a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},e.evrst69={a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},e.evrstSS={a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},e.fschr60={a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},e.fschr60m={a:6378155,rf:298.3,ellipseName:"Fischer 1960"},e.fschr68={a:6378150,rf:298.3,ellipseName:"Fischer 1968"},e.helmert={a:6378200,rf:298.3,ellipseName:"Helmert 1906"},e.hough={a:6378270,rf:297,ellipseName:"Hough"},e.intl={a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},e.kaula={a:6378163,rf:298.24,ellipseName:"Kaula 1961"},e.lerch={a:6378139,rf:298.257,ellipseName:"Lerch 1979"},e.mprts={a:6397300,rf:191,ellipseName:"Maupertius 1738"},e.new_intl={a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},e.plessis={a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},e.krass={a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},e.SEasia={a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},e.walbeck={a:6376896,b:6355834.8467,ellipseName:"Walbeck"},e.WGS60={a:6378165,rf:298.3,ellipseName:"WGS 60"},e.WGS66={a:6378145,rf:298.25,ellipseName:"WGS 66"},e.WGS7={a:6378135,rf:298.26,ellipseName:"WGS 72"},e.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"},e.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"}},function(t,e){var n=Math.PI/2,i=function(t){if(!(this instanceof i))return new i(t);this.datum_type=4,t&&(t.datumCode&&"none"===t.datumCode&&(this.datum_type=5),t.datum_params&&(this.datum_params=t.datum_params.map(parseFloat),0===this.datum_params[0]&&0===this.datum_params[1]&&0===this.datum_params[2]||(this.datum_type=1),this.datum_params.length>3&&(0===this.datum_params[3]&&0===this.datum_params[4]&&0===this.datum_params[5]&&0===this.datum_params[6]||(this.datum_type=2,this.datum_params[3]*=484813681109536e-20,this.datum_params[4]*=484813681109536e-20,this.datum_params[5]*=484813681109536e-20,this.datum_params[6]=this.datum_params[6]/1e6+1))),this.datum_type=t.grids?3:this.datum_type,this.a=t.a,this.b=t.b,this.es=t.es,this.ep2=t.ep2,3===this.datum_type&&(this.grids=t.grids))};i.prototype={compare_datums:function(t){return this.datum_type===t.datum_type&&(!(this.a!==t.a||Math.abs(this.es-t.es)>5e-11)&&(1===this.datum_type?this.datum_params[0]===t.datum_params[0]&&this.datum_params[1]===t.datum_params[1]&&this.datum_params[2]===t.datum_params[2]:2===this.datum_type?this.datum_params[0]===t.datum_params[0]&&this.datum_params[1]===t.datum_params[1]&&this.datum_params[2]===t.datum_params[2]&&this.datum_params[3]===t.datum_params[3]&&this.datum_params[4]===t.datum_params[4]&&this.datum_params[5]===t.datum_params[5]&&this.datum_params[6]===t.datum_params[6]:3!==this.datum_type&&3!==t.datum_type||this.nadgrids===t.nadgrids))},geodetic_to_geocentric:function(t){var e,i,r,A,o,a,c,s=t.x,u=t.y,g=t.z?t.z:0;if(u<-n&&u>-1.001*n)u=-n;else if(u>n&&u<1.001*n)u=n;else if(u<-n||u>n)return null;return s>Math.PI&&(s-=2*Math.PI),o=Math.sin(u),c=Math.cos(u),a=o*o,A=this.a/Math.sqrt(1-this.es*a),e=(A+g)*c*Math.cos(s),i=(A+g)*c*Math.sin(s),r=(A*(1-this.es)+g)*o,t.x=e,t.y=i,t.z=r,0},geocentric_to_geodetic:function(t){var e,i,r,A,o,a,c,s,u,g,l,M,h,d,f,I,E=t.x,T=t.y,N=t.z?t.z:0;if(!1,e=Math.sqrt(E*E+T*T),i=Math.sqrt(E*E+T*T+N*N),e/this.a<1e-12){if(!0,d=0,i/this.a<1e-12)return f=n,void(I=-this.b)}else d=Math.atan2(T,E);r=N/i,A=e/i,o=1/Math.sqrt(1-this.es*(2-this.es)*A*A),s=A*(1-this.es)*o,u=r*o,h=0;do{h++,c=this.a/Math.sqrt(1-this.es*u*u),I=e*s+N*u-c*(1-this.es*u*u),a=this.es*c/(c+I),o=1/Math.sqrt(1-a*(2-a)*A*A),g=A*(1-a)*o,l=r*o,M=l*s-g*u,s=g,u=l}while(M*M>1e-24&&h<30);return f=Math.atan(l/Math.abs(g)),t.x=d,t.y=f,t.z=I,t},geocentric_to_geodetic_noniter:function(t){var e,i,r,A,o,a,c,s,u,g,l,M,h,d,f,I,E,T=t.x,N=t.y,y=t.z?t.z:0;if(T=parseFloat(T),N=parseFloat(N),y=parseFloat(y),E=!1,0!==T)e=Math.atan2(N,T);else if(N>0)e=n;else if(N<0)e=-n;else if(E=!0,e=0,y>0)i=n;else{if(!(y<0))return i=n,void(r=-this.b);i=-n}return o=T*T+N*N,A=Math.sqrt(o),a=1.0026*y,s=Math.sqrt(a*a+o),g=a/s,M=A/s,l=g*g*g,c=y+this.b*this.ep2*l,I=A-this.a*this.es*M*M*M,u=Math.sqrt(c*c+I*I),h=c/u,d=I/u,f=this.a/Math.sqrt(1-this.es*h*h),r=d>=.3826834323650898?A/d-f:d<=-.3826834323650898?A/-d-f:y/h+f*(this.es-1),!1===E&&(i=Math.atan(h/d)),t.x=e,t.y=i,t.z=r,t},geocentric_to_wgs84:function(t){if(1===this.datum_type)t.x+=this.datum_params[0],t.y+=this.datum_params[1],t.z+=this.datum_params[2];else if(2===this.datum_type){var e=this.datum_params[0],n=this.datum_params[1],i=this.datum_params[2],r=this.datum_params[3],A=this.datum_params[4],o=this.datum_params[5],a=this.datum_params[6],c=a*(t.x-o*t.y+A*t.z)+e,s=a*(o*t.x+t.y-r*t.z)+n,u=a*(-A*t.x+r*t.y+t.z)+i;t.x=c,t.y=s,t.z=u}},geocentric_from_wgs84:function(t){if(1===this.datum_type)t.x-=this.datum_params[0],t.y-=this.datum_params[1],t.z-=this.datum_params[2];else if(2===this.datum_type){var e=this.datum_params[0],n=this.datum_params[1],i=this.datum_params[2],r=this.datum_params[3],A=this.datum_params[4],o=this.datum_params[5],a=this.datum_params[6],c=(t.x-e)/a,s=(t.y-n)/a,u=(t.z-i)/a;t.x=c+o*s-A*u,t.y=-o*c+s+r*u,t.z=A*c-r*s+u}}},t.exports=i},function(t,e,n){var i=.017453292519943295,r=57.29577951308232,A=n(172),o=n(173),a=n(150),c=n(174);t.exports=function t(e,n,s){function u(t,e){return(1===t.datum.datum_type||2===t.datum.datum_type)&&"WGS84"!==e.datumCode}var g;return Array.isArray(s)&&(s=c(s)),e.datum&&n.datum&&(u(e,n)||u(n,e))&&(g=new a("WGS84"),t(e,g,s),e=g),"enu"!==e.axis&&o(e,!1,s),"longlat"===e.projName?(s.x*=i,s.y*=i):(e.to_meter&&(s.x*=e.to_meter,s.y*=e.to_meter),e.inverse(s)),e.from_greenwich&&(s.x+=e.from_greenwich),s=A(e.datum,n.datum,s),n.from_greenwich&&(s.x-=n.from_greenwich),"longlat"===n.projName?(s.x*=r,s.y*=r):(n.forward(s),n.to_meter&&(s.x/=n.to_meter,s.y/=n.to_meter)),"enu"!==n.axis&&o(n,!0,s),s}},function(t,e){var n=1,i=2;t.exports=function(t,e,r){function A(t){return t===n||t===i}var o,a,c;if(t.compare_datums(e))return r;if(5===t.datum_type||5===e.datum_type)return r;var s=t.a,u=t.es,g=e.a,l=e.es,M=t.datum_type;if(3===M)if(0===this.apply_gridshift(t,0,r))t.a=6378137,t.es=.006694379990141316;else{if(!t.datum_params)return t.a=s,t.es=t.es,r;for(o=1,a=0,c=t.datum_params.length;a<c;a++)o*=t.datum_params[a];if(0===o)return t.a=s,t.es=t.es,r;M=t.datum_params.length>3?i:n}return 3===e.datum_type&&(e.a=6378137,e.es=.006694379990141316),(t.es!==e.es||t.a!==e.a||A(M)||A(e.datum_type))&&(t.geodetic_to_geocentric(r),A(t.datum_type)&&t.geocentric_to_wgs84(r),A(e.datum_type)&&e.geocentric_from_wgs84(r),e.geocentric_to_geodetic(r)),3===e.datum_type&&this.apply_gridshift(e,1,r),t.a=s,t.es=u,e.a=g,e.es=l,r}},function(t,e){t.exports=function(t,e,n){var i,r,A,o=n.x,a=n.y,c=n.z||0;for(A=0;A<3;A++)if(!e||2!==A||void 0!==n.z)switch(0===A?(i=o,r="x"):1===A?(i=a,r="y"):(i=c,r="z"),t.axis[A]){case"e":n[r]=i;break;case"w":n[r]=-i;break;case"n":n[r]=i;break;case"s":n[r]=-i;break;case"u":void 0!==n[r]&&(n.z=i);break;case"d":void 0!==n[r]&&(n.z=-i);break;default:return null}return n}},function(t,e){t.exports=function(t){var e={x:t[0],y:t[1]};return t.length>2&&(e.z=t[2]),t.length>3&&(e.m=t[3]),e}},function(t,e,n){function i(t,e,n){if(!(this instanceof i))return new i(t,e,n);if(Array.isArray(t))this.x=t[0],this.y=t[1],this.z=t[2]||0;else if("object"==typeof t)this.x=t.x,this.y=t.y,this.z=t.z||0;else if("string"==typeof t&&void 0===e){var r=t.split(",");this.x=parseFloat(r[0],10),this.y=parseFloat(r[1],10),this.z=parseFloat(r[2],10)||0}else this.x=t,this.y=e,this.z=n||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}var r=n(176);i.fromMGRS=function(t){return new i(r.toPoint(t))},i.prototype.toMGRS=function(t){return r.forward([this.x,this.y],t)},t.exports=i},function(t,e){function n(t){return t*(Math.PI/180)}function i(t){return t/Math.PI*180}function r(t){var e,i,r,A,a,c,s,u,g,l=t.lat,M=t.lon,h=6378137,d=n(l),f=n(M);g=Math.floor((M+180)/6)+1,180===M&&(g=60),l>=56&&l<64&&M>=3&&M<12&&(g=32),l>=72&&l<84&&(M>=0&&M<9?g=31:M>=9&&M<21?g=33:M>=21&&M<33?g=35:M>=33&&M<42&&(g=37)),e=6*(g-1)-180+3,u=n(e),i=.006739496752268451,r=h/Math.sqrt(1-.00669438*Math.sin(d)*Math.sin(d)),A=Math.tan(d)*Math.tan(d),a=i*Math.cos(d)*Math.cos(d),c=Math.cos(d)*(f-u),s=h*(.9983242984503243*d-.002514607064228144*Math.sin(2*d)+2639046602129982e-21*Math.sin(4*d)-3.418046101696858e-9*Math.sin(6*d));var I=.9996*r*(c+(1-A+a)*c*c*c/6+(5-18*A+A*A+72*a-58*i)*c*c*c*c*c/120)+5e5,E=.9996*(s+r*Math.tan(d)*(c*c/2+(5-A+9*a+4*a*a)*c*c*c*c/24+(61-58*A+A*A+600*a-330*i)*c*c*c*c*c*c/720));return l<0&&(E+=1e7),{northing:Math.round(E),easting:Math.round(I),zoneNumber:g,zoneLetter:o(l)}}function A(t){var e=t.northing,n=t.easting,r=t.zoneLetter,o=t.zoneNumber;if(o<0||o>60)return null;var a,c,s,u,g,l,M,h,d,f,I=6378137,E=(1-Math.sqrt(.99330562))/(1+Math.sqrt(.99330562)),T=n-5e5,N=e;r<"N"&&(N-=1e7),h=6*(o-1)-180+3,a=.006739496752268451,M=N/.9996,d=M/6367449.145945056,f=d+(3*E/2-27*E*E*E/32)*Math.sin(2*d)+(21*E*E/16-55*E*E*E*E/32)*Math.sin(4*d)+151*E*E*E/96*Math.sin(6*d),c=I/Math.sqrt(1-.00669438*Math.sin(f)*Math.sin(f)),s=Math.tan(f)*Math.tan(f),u=a*Math.cos(f)*Math.cos(f),g=.99330562*I/Math.pow(1-.00669438*Math.sin(f)*Math.sin(f),1.5),l=T/(.9996*c);var y=f-c*Math.tan(f)/g*(l*l/2-(5+3*s+10*u-4*u*u-9*a)*l*l*l*l/24+(61+90*s+298*u+45*s*s-252*a-3*u*u)*l*l*l*l*l*l/720);y=i(y);var p=(l-(1+2*s+u)*l*l*l/6+(5-2*u+28*s-3*u*u+8*a+24*s*s)*l*l*l*l*l/120)/Math.cos(f);p=h+i(p);var C;if(t.accuracy){var D=A({northing:t.northing+t.accuracy,easting:t.easting+t.accuracy,zoneLetter:t.zoneLetter,zoneNumber:t.zoneNumber});C={top:D.lat,right:D.lon,bottom:y,left:p}}else C={lat:y,lon:p};return C}function o(t){var e="Z";return 84>=t&&t>=72?e="X":72>t&&t>=64?e="W":64>t&&t>=56?e="V":56>t&&t>=48?e="U":48>t&&t>=40?e="T":40>t&&t>=32?e="S":32>t&&t>=24?e="R":24>t&&t>=16?e="Q":16>t&&t>=8?e="P":8>t&&t>=0?e="N":0>t&&t>=-8?e="M":-8>t&&t>=-16?e="L":-16>t&&t>=-24?e="K":-24>t&&t>=-32?e="J":-32>t&&t>=-40?e="H":-40>t&&t>=-48?e="G":-48>t&&t>=-56?e="F":-56>t&&t>=-64?e="E":-64>t&&t>=-72?e="D":-72>t&&t>=-80&&(e="C"),e}function a(t,e){var n="00000"+t.easting,i="00000"+t.northing;return t.zoneNumber+t.zoneLetter+c(t.easting,t.northing,t.zoneNumber)+n.substr(n.length-5,e)+i.substr(i.length-5,e)}function c(t,e,n){var i=s(n);return u(Math.floor(t/1e5),Math.floor(e/1e5)%20,i)}function s(t){var e=t%d;return 0===e&&(e=d),e}function u(t,e,n){var i=n-1,r=f.charCodeAt(i),A=I.charCodeAt(i),o=r+t-1,a=A+e,c=!1;return o>p&&(o=o-p+E-1,c=!0),(o===T||r<T&&o>T||(o>T||r<T)&&c)&&o++,(o===N||r<N&&o>N||(o>N||r<N)&&c)&&++o===T&&o++,o>p&&(o=o-p+E-1),a>y?(a=a-y+E-1,c=!0):c=!1,(a===T||A<T&&a>T||(a>T||A<T)&&c)&&a++,(a===N||A<N&&a>N||(a>N||A<N)&&c)&&++a===T&&a++,a>y&&(a=a-y+E-1),String.fromCharCode(o)+String.fromCharCode(a)}function g(t){if(t&&0===t.length)throw"MGRSPoint coverting from nothing";for(var e,n=t.length,i=null,r="",A=0;!/[A-Z]/.test(e=t.charAt(A));){if(A>=2)throw"MGRSPoint bad conversion from: "+t;r+=e,A++}var o=parseInt(r,10);if(0===A||A+3>n)throw"MGRSPoint bad conversion from: "+t;var a=t.charAt(A++);if(a<="A"||"B"===a||"Y"===a||a>="Z"||"I"===a||"O"===a)throw"MGRSPoint zone letter "+a+" not handled: "+t;i=t.substring(A,A+=2);for(var c=s(o),u=l(i.charAt(0),c),g=M(i.charAt(1),c);g<h(a);)g+=2e6;var d=n-A;if(d%2!=0)throw"MGRSPoint has to have an even number \nof digits after the zone letter and two 100km letters - front \nhalf for easting meters, second half for \nnorthing meters"+t;var f,I,E,T,N,y=d/2,p=0,C=0;return y>0&&(f=1e5/Math.pow(10,y),I=t.substring(A,A+y),p=parseFloat(I)*f,E=t.substring(A+y),C=parseFloat(E)*f),T=p+u,N=C+g,{easting:T,northing:N,zoneLetter:a,zoneNumber:o,accuracy:f}}function l(t,e){for(var n=f.charCodeAt(e-1),i=1e5,r=!1;n!==t.charCodeAt(0);){if(n++,n===T&&n++,n===N&&n++,n>p){if(r)throw"Bad character: "+t;n=E,r=!0}i+=1e5}return i}function M(t,e){if(t>"V")throw"MGRSPoint given invalid Northing "+t;for(var n=I.charCodeAt(e-1),i=0,r=!1;n!==t.charCodeAt(0);){if(n++,n===T&&n++,n===N&&n++,n>y){if(r)throw"Bad character: "+t;n=E,r=!0}i+=1e5}return i}function h(t){var e;switch(t){case"C":e=11e5;break;case"D":e=2e6;break;case"E":e=28e5;break;case"F":e=37e5;break;case"G":e=46e5;break;case"H":e=55e5;break;case"J":e=64e5;break;case"K":e=73e5;break;case"L":e=82e5;break;case"M":e=91e5;break;case"N":e=0;break;case"P":e=8e5;break;case"Q":e=17e5;break;case"R":e=26e5;break;case"S":e=35e5;break;case"T":e=44e5;break;case"U":e=53e5;break;case"V":e=62e5;break;case"W":e=7e6;break;case"X":e=79e5;break;default:e=-1}if(e>=0)return e;throw"Invalid zone letter: "+t}var d=6,f="AJSAJS",I="AFAFAF",E=65,T=73,N=79,y=86,p=90;e.forward=function(t,e){return e=e||5,a(r({lat:t[1],lon:t[0]}),e)},e.inverse=function(t){var e=A(g(t.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat,e.lon,e.lat]:[e.left,e.bottom,e.right,e.top]},e.toPoint=function(t){var e=A(g(t.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat]:[(e.left+e.right)/2,(e.top+e.bottom)/2]}},function(t,e){t.exports={_args:[["proj4@^2.3.14","/Users/jbeezley/git/geojs2"]],_from:"proj4@>=2.3.14 <3.0.0",_id:"proj4@2.3.14",_inCache:!0,_installable:!0,_location:"/proj4",_nodeVersion:"4.2.6",_npmOperationalInternal:{host:"packages-13-west.internal.npmjs.com",tmp:"tmp/proj4-2.3.14.tgz_1457689264880_0.9409773757215589"},_npmUser:{email:"andreas.hocevar@gmail.com",name:"ahocevar"},_npmVersion:"2.14.12",_phantomChildren:{},_requested:{name:"proj4",raw:"proj4@^2.3.14",rawSpec:"^2.3.14",scope:null,spec:">=2.3.14 <3.0.0",type:"range"},_requiredBy:["#DEV:/"],_resolved:"https://registry.npmjs.org/proj4/-/proj4-2.3.14.tgz",_shasum:"928906144388980c914c5a357fc493aba59a747a",_shrinkwrap:null,_spec:"proj4@^2.3.14",_where:"/Users/jbeezley/git/geojs2",author:"",bugs:{url:"https://github.com/proj4js/proj4js/issues"},contributors:[{email:"madair@dmsolutions.ca",name:"Mike Adair"},{email:"rich@greenwoodmap.com",name:"Richard Greenwood"},{email:"calvin.metcalf@gmail.com",name:"Calvin Metcalf"},{name:"Richard Marsden",url:"http://www.winwaed.com"},{name:"T. Mittan"},{name:"D. Steinwand"},{name:"S. Nelson"}],dependencies:{mgrs:"~0.0.2"},description:"Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another, including datum transformations.",devDependencies:{browserify:"~12.0.1",chai:"~1.8.1",curl:"git://github.com/cujojs/curl.git",grunt:"~0.4.2","grunt-browserify":"~4.0.1","grunt-cli":"~0.1.13","grunt-contrib-connect":"~0.6.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-uglify":"~0.11.1","grunt-mocha-phantomjs":"~0.4.0",istanbul:"~0.2.4",mocha:"~1.17.1",tin:"~0.4.0"},directories:{doc:"docs",test:"test"},dist:{shasum:"928906144388980c914c5a357fc493aba59a747a",tarball:"http://registry.npmjs.org/proj4/-/proj4-2.3.14.tgz"},gitHead:"7619c8a63df1eae5bad0b9ad31ca1d87b0549243",homepage:"https://github.com/proj4js/proj4js#readme",jam:{include:["dist/proj4.js","README.md","AUTHORS","LICENSE.md"],main:"dist/proj4.js"},license:"MIT",main:"lib/index.js",maintainers:[{email:"calvin.metcalf@gmail.com",name:"cwmma"},{email:"andreas.hocevar@gmail.com",name:"ahocevar"}],name:"proj4",optionalDependencies:{},readme:"ERROR: No README data found!",repository:{type:"git",url:"git://github.com/proj4js/proj4js.git"},scripts:{test:"./node_modules/istanbul/lib/cli.js test ./node_modules/mocha/bin/_mocha test/test.js"},version:"2.3.14"}},function(t,e,n){var i=[n(179),n(186),n(187),n(190),n(191),n(192),n(193),n(194),n(195),n(199),n(201),n(202),n(203),n(205),n(206),n(207),n(208),n(209),n(213),n(214),n(215),n(216)];t.exports=function(t){i.forEach(function(e){t.Proj.projections.add(e)})}},function(t,e,n){var i=n(180),r=n(181),A=n(182),o=n(183),a=n(184),c=n(162),s=Math.PI/2,u=n(163),g=n(185);e.init=function(){this.e0=i(this.es),this.e1=r(this.es),this.e2=A(this.es),this.e3=o(this.es),this.ml0=this.a*a(this.e0,this.e1,this.e2,this.e3,this.lat0)},e.forward=function(t){var e,n,i,r=t.x,A=t.y,o=c(r-this.long0),s=Math.sin(A),u=Math.cos(A);if(this.sphere){var g=u*Math.sin(o);if(Math.abs(Math.abs(g)-1)<1e-10)return 93;n=.5*this.a*this.k0*Math.log((1+g)/(1-g)),e=Math.acos(u*Math.cos(o)/Math.sqrt(1-g*g)),A<0&&(e=-e),i=this.a*this.k0*(e-this.lat0)}else{var l=u*o,M=Math.pow(l,2),h=this.ep2*Math.pow(u,2),d=Math.tan(A),f=Math.pow(d,2);e=1-this.es*Math.pow(s,2);var I=this.a/Math.sqrt(e),E=this.a*a(this.e0,this.e1,this.e2,this.e3,A);n=this.k0*I*l*(1+M/6*(1-f+h+M/20*(5-18*f+Math.pow(f,2)+72*h-58*this.ep2)))+this.x0,i=this.k0*(E-this.ml0+I*d*(M*(.5+M/24*(5-f+9*h+4*Math.pow(h,2)+M/30*(61-58*f+Math.pow(f,2)+600*h-330*this.ep2)))))+this.y0}return t.x=n,t.y=i,t},e.inverse=function(t){var e,n,i,r,A,o;if(this.sphere){var a=Math.exp(t.x/(this.a*this.k0)),l=.5*(a-1/a),M=this.lat0+t.y/(this.a*this.k0),h=Math.cos(M);e=Math.sqrt((1-h*h)/(1+l*l)),A=g(e),M<0&&(A=-A),o=0===l&&0===h?this.long0:c(Math.atan2(l,h)+this.long0)}else{var d=t.x-this.x0,f=t.y-this.y0;for(e=(this.ml0+f/this.k0)/this.a,n=e,r=0;!0&&(i=(e+this.e1*Math.sin(2*n)-this.e2*Math.sin(4*n)+this.e3*Math.sin(6*n))/this.e0-n,n+=i,!(Math.abs(i)<=1e-10));r++)if(r>=6)return 95;if(Math.abs(n)<s){var I=Math.sin(n),E=Math.cos(n),T=Math.tan(n),N=this.ep2*Math.pow(E,2),y=Math.pow(N,2),p=Math.pow(T,2),C=Math.pow(p,2);e=1-this.es*Math.pow(I,2);var D=this.a/Math.sqrt(e),x=D*(1-this.es)/e,B=d/(D*this.k0),w=Math.pow(B,2);A=n-D*T*w/x*(.5-w/24*(5+3*p+10*N-4*y-9*this.ep2-w/30*(61+90*p+298*N+45*C-252*this.ep2-3*y))),o=c(this.long0+B*(1-w/6*(1+2*p+N-w/20*(5-2*N+28*p-3*y+8*this.ep2+24*C)))/E)}else A=s*u(f),o=this.long0}return t.x=o,t.y=A,t},e.names=["Transverse_Mercator","Transverse Mercator","tmerc"]},function(t,e){t.exports=function(t){return 1-.25*t*(1+t/16*(3+1.25*t))}},function(t,e){t.exports=function(t){return.375*t*(1+.25*t*(1+.46875*t))}},function(t,e){t.exports=function(t){return.05859375*t*t*(1+.75*t)}},function(t,e){t.exports=function(t){return t*t*t*(35/3072)}},function(t,e){t.exports=function(t,e,n,i,r){return t*r-e*Math.sin(2*r)+n*Math.sin(4*r)-i*Math.sin(6*r)}},function(t,e){t.exports=function(t){return Math.abs(t)>1&&(t=t>1?1:-1),Math.asin(t)}},function(t,e,n){var i=n(179);e.dependsOn="tmerc",e.init=function(){this.zone&&(this.lat0=0,this.long0=.017453292519943295*(6*Math.abs(this.zone)-183),this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,i.init.apply(this),this.forward=i.forward,this.inverse=i.inverse)},e.names=["Universal Transverse Mercator System","utm"]},function(t,e,n){var i=n(188),r=n(162);e.init=function(){i.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))},e.forward=function(t){var e,n,A,o;return t.x=r(t.x-this.long0),i.forward.apply(this,[t]),e=Math.sin(t.y),n=Math.cos(t.y),A=Math.cos(t.x),o=this.k0*this.R2/(1+this.sinc0*e+this.cosc0*n*A),t.x=o*n*Math.sin(t.x),t.y=o*(this.cosc0*e-this.sinc0*n*A),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t},e.inverse=function(t){var e,n,A,o,a;if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,a=Math.sqrt(t.x*t.x+t.y*t.y)){var c=2*Math.atan2(a,this.R2);e=Math.sin(c),n=Math.cos(c),o=Math.asin(n*this.sinc0+t.y*e*this.cosc0/a),A=Math.atan2(t.x*e,a*this.cosc0*n-t.y*this.sinc0*e)}else o=this.phic0,A=0;return t.x=A,t.y=o,i.inverse.apply(this,[t]),t.x=r(t.x+this.long0),t},e.names=["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative"]},function(t,e,n){var i=Math.PI/4,r=n(189),A=Math.PI/2;e.init=function(){var t=Math.sin(this.lat0),e=Math.cos(this.lat0);e*=e,this.rc=Math.sqrt(1-this.es)/(1-this.es*t*t),this.C=Math.sqrt(1+this.es*e*e/(1-this.es)),this.phic0=Math.asin(t/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+i)/(Math.pow(Math.tan(.5*this.lat0+i),this.C)*r(this.e*t,this.ratexp))},e.forward=function(t){var e=t.x,n=t.y;return t.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*n+i),this.C)*r(this.e*Math.sin(n),this.ratexp))-A,t.x=this.C*e,t},e.inverse=function(t){for(var e=t.x/this.C,n=t.y,o=Math.pow(Math.tan(.5*n+i)/this.K,1/this.C),a=20;a>0&&(n=2*Math.atan(o*r(this.e*Math.sin(t.y),-.5*this.e))-A,!(Math.abs(n-t.y)<1e-14));--a)t.y=n;return a?(t.x=e,t.y=n,t):null},e.names=["gauss"]},function(t,e){t.exports=function(t,e){return Math.pow((1-t)/(1+t),e)}},function(t,e,n){var i=Math.PI/2,r=n(163),A=n(161),o=n(164),a=n(165),c=n(162);e.ssfn_=function(t,e,n){return e*=n,Math.tan(.5*(i+t))*Math.pow((1-e)/(1+e),.5*n)},e.init=function(){this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=1e-10&&(this.k0=.5*(1+r(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=1e-10&&(this.lat0>0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=1e-10&&(this.k0=.5*this.cons*A(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/o(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=A(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-i,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))},e.forward=function(t){var e,n,r,A,a,s,u=t.x,g=t.y,l=Math.sin(g),M=Math.cos(g),h=c(u-this.long0);return Math.abs(Math.abs(u-this.long0)-Math.PI)<=1e-10&&Math.abs(g+this.lat0)<=1e-10?(t.x=NaN,t.y=NaN,t):this.sphere?(e=2*this.k0/(1+this.sinlat0*l+this.coslat0*M*Math.cos(h)),t.x=this.a*e*M*Math.sin(h)+this.x0,t.y=this.a*e*(this.coslat0*l-this.sinlat0*M*Math.cos(h))+this.y0,t):(n=2*Math.atan(this.ssfn_(g,l,this.e))-i,A=Math.cos(n),r=Math.sin(n),Math.abs(this.coslat0)<=1e-10?(a=o(this.e,g*this.con,this.con*l),s=2*this.a*this.k0*a/this.cons,t.x=this.x0+s*Math.sin(u-this.long0),t.y=this.y0-this.con*s*Math.cos(u-this.long0),t):(Math.abs(this.sinlat0)<1e-10?(e=2*this.a*this.k0/(1+A*Math.cos(h)),t.y=e*r):(e=2*this.a*this.k0*this.ms1/(this.cosX0*(1+this.sinX0*r+this.cosX0*A*Math.cos(h))),t.y=e*(this.cosX0*r-this.sinX0*A*Math.cos(h))+this.y0),t.x=e*A*Math.sin(h)+this.x0,t))},e.inverse=function(t){t.x-=this.x0,t.y-=this.y0;var e,n,r,A,o,s=Math.sqrt(t.x*t.x+t.y*t.y);if(this.sphere){var u=2*Math.atan(s/(.5*this.a*this.k0));return e=this.long0,(n=this.lat0,s<=1e-10)?(t.x=e,t.y=n,t):(n=Math.asin(Math.cos(u)*this.sinlat0+t.y*Math.sin(u)*this.coslat0/s),e=c(Math.abs(this.coslat0)<1e-10?this.lat0>0?this.long0+Math.atan2(t.x,-1*t.y):this.long0+Math.atan2(t.x,t.y):this.long0+Math.atan2(t.x*Math.sin(u),s*this.coslat0*Math.cos(u)-t.y*this.sinlat0*Math.sin(u))),t.x=e,t.y=n,t)}if(Math.abs(this.coslat0)<=1e-10){if(s<=1e-10)return n=this.lat0,e=this.long0,t.x=e,t.y=n,t;t.x*=this.con,t.y*=this.con,r=s*this.cons/(2*this.a*this.k0),n=this.con*a(this.e,r),e=this.con*c(this.con*this.long0+Math.atan2(t.x,-1*t.y))}else A=2*Math.atan(s*this.cosX0/(2*this.a*this.k0*this.ms1)),e=this.long0,s<=1e-10?o=this.X0:(o=Math.asin(Math.cos(A)*this.sinX0+t.y*Math.sin(A)*this.cosX0/s),e=c(this.long0+Math.atan2(t.x*Math.sin(A),s*this.cosX0*Math.cos(A)-t.y*this.sinX0*Math.sin(A)))),n=-1*a(this.e,Math.tan(.5*(i+o)));return t.x=e,t.y=n,t},e.names=["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"]},function(t,e){e.init=function(){var t=this.lat0;this.lambda0=this.long0;var e=Math.sin(t),n=this.a,i=this.rf,r=1/i,A=2*r-Math.pow(r,2),o=this.e=Math.sqrt(A);this.R=this.k0*n*Math.sqrt(1-A)/(1-A*Math.pow(e,2)),this.alpha=Math.sqrt(1+A/(1-A)*Math.pow(Math.cos(t),4)),this.b0=Math.asin(e/this.alpha);var a=Math.log(Math.tan(Math.PI/4+this.b0/2)),c=Math.log(Math.tan(Math.PI/4+t/2)),s=Math.log((1+o*e)/(1-o*e));this.K=a-this.alpha*c+this.alpha*o/2*s},e.forward=function(t){var e=Math.log(Math.tan(Math.PI/4-t.y/2)),n=this.e/2*Math.log((1+this.e*Math.sin(t.y))/(1-this.e*Math.sin(t.y))),i=-this.alpha*(e+n)+this.K,r=2*(Math.atan(Math.exp(i))-Math.PI/4),A=this.alpha*(t.x-this.lambda0),o=Math.atan(Math.sin(A)/(Math.sin(this.b0)*Math.tan(r)+Math.cos(this.b0)*Math.cos(A))),a=Math.asin(Math.cos(this.b0)*Math.sin(r)-Math.sin(this.b0)*Math.cos(r)*Math.cos(A));return t.y=this.R/2*Math.log((1+Math.sin(a))/(1-Math.sin(a)))+this.y0,t.x=this.R*o+this.x0,t},e.inverse=function(t){for(var e=t.x-this.x0,n=t.y-this.y0,i=e/this.R,r=2*(Math.atan(Math.exp(n/this.R))-Math.PI/4),A=Math.asin(Math.cos(this.b0)*Math.sin(r)+Math.sin(this.b0)*Math.cos(r)*Math.cos(i)),o=Math.atan(Math.sin(i)/(Math.cos(this.b0)*Math.cos(i)-Math.sin(this.b0)*Math.tan(r))),a=this.lambda0+o/this.alpha,c=0,s=A,u=-1e3,g=0;Math.abs(s-u)>1e-7;){if(++g>20)return;c=1/this.alpha*(Math.log(Math.tan(Math.PI/4+A/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(s))/2)),u=s,s=2*Math.atan(Math.exp(c))-Math.PI/2}return t.x=a,t.y=s,t},e.names=["somerc"]},function(t,e,n){var i=n(164),r=n(162),A=n(165),o=Math.PI/2,a=Math.PI/4;e.init=function(){this.no_off=this.no_off||!1,this.no_rot=this.no_rot||!1,isNaN(this.k0)&&(this.k0=1);var t=Math.sin(this.lat0),e=Math.cos(this.lat0),n=this.e*t;this.bl=Math.sqrt(1+this.es/(1-this.es)*Math.pow(e,4)),this.al=this.a*this.bl*this.k0*Math.sqrt(1-this.es)/(1-n*n);var A=i(this.e,this.lat0,t),o=this.bl/e*Math.sqrt((1-this.es)/(1-n*n));o*o<1&&(o=1);var a,c;if(isNaN(this.longc)){var s=i(this.e,this.lat1,Math.sin(this.lat1)),u=i(this.e,this.lat2,Math.sin(this.lat2));this.lat0>=0?this.el=(o+Math.sqrt(o*o-1))*Math.pow(A,this.bl):this.el=(o-Math.sqrt(o*o-1))*Math.pow(A,this.bl);var g=Math.pow(s,this.bl),l=Math.pow(u,this.bl);a=this.el/g,c=.5*(a-1/a);var M=(this.el*this.el-l*g)/(this.el*this.el+l*g),h=(l-g)/(l+g),d=r(this.long1-this.long2);this.long0=.5*(this.long1+this.long2)-Math.atan(M*Math.tan(.5*this.bl*d)/h)/this.bl,this.long0=r(this.long0);var f=r(this.long1-this.long0);this.gamma0=Math.atan(Math.sin(this.bl*f)/c),this.alpha=Math.asin(o*Math.sin(this.gamma0))}else a=this.lat0>=0?o+Math.sqrt(o*o-1):o-Math.sqrt(o*o-1),this.el=a*Math.pow(A,this.bl),c=.5*(a-1/a),this.gamma0=Math.asin(Math.sin(this.alpha)/o),this.long0=this.longc-Math.asin(c*Math.tan(this.gamma0))/this.bl;this.no_off?this.uc=0:this.lat0>=0?this.uc=this.al/this.bl*Math.atan2(Math.sqrt(o*o-1),Math.cos(this.alpha)):this.uc=-1*this.al/this.bl*Math.atan2(Math.sqrt(o*o-1),Math.cos(this.alpha))},e.forward=function(t){var e,n,A,c=t.x,s=t.y,u=r(c-this.long0);if(Math.abs(Math.abs(s)-o)<=1e-10)A=s>0?-1:1,n=this.al/this.bl*Math.log(Math.tan(a+A*this.gamma0*.5)),e=-1*A*o*this.al/this.bl;else{var g=i(this.e,s,Math.sin(s)),l=this.el/Math.pow(g,this.bl),M=.5*(l-1/l),h=.5*(l+1/l),d=Math.sin(this.bl*u),f=(M*Math.sin(this.gamma0)-d*Math.cos(this.gamma0))/h;n=Math.abs(Math.abs(f)-1)<=1e-10?Number.POSITIVE_INFINITY:.5*this.al*Math.log((1-f)/(1+f))/this.bl,e=Math.abs(Math.cos(this.bl*u))<=1e-10?this.al*this.bl*u:this.al*Math.atan2(M*Math.cos(this.gamma0)+d*Math.sin(this.gamma0),Math.cos(this.bl*u))/this.bl}return this.no_rot?(t.x=this.x0+e,t.y=this.y0+n):(e-=this.uc,t.x=this.x0+n*Math.cos(this.alpha)+e*Math.sin(this.alpha),t.y=this.y0+e*Math.cos(this.alpha)-n*Math.sin(this.alpha)),t},e.inverse=function(t){var e,n;this.no_rot?(n=t.y-this.y0,e=t.x-this.x0):(n=(t.x-this.x0)*Math.cos(this.alpha)-(t.y-this.y0)*Math.sin(this.alpha),e=(t.y-this.y0)*Math.cos(this.alpha)+(t.x-this.x0)*Math.sin(this.alpha),e+=this.uc);var i=Math.exp(-1*this.bl*n/this.al),a=.5*(i-1/i),c=.5*(i+1/i),s=Math.sin(this.bl*e/this.al),u=(s*Math.cos(this.gamma0)+a*Math.sin(this.gamma0))/c,g=Math.pow(this.el/Math.sqrt((1+u)/(1-u)),1/this.bl);return Math.abs(u-1)<1e-10?(t.x=this.long0,t.y=o):Math.abs(u+1)<1e-10?(t.x=this.long0,t.y=-1*o):(t.y=A(this.e,g),t.x=r(this.long0-Math.atan2(a*Math.cos(this.gamma0)-s*Math.sin(this.gamma0),Math.cos(this.bl*e/this.al))/this.bl)),t},e.names=["Hotine_Oblique_Mercator","Hotine Oblique Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin","Hotine_Oblique_Mercator_Azimuth_Center","omerc"]},function(t,e,n){var i=n(161),r=n(164),A=Math.PI/2,o=n(163),a=n(162),c=n(165);e.init=function(){if(this.lat2||(this.lat2=this.lat1),this.k0||(this.k0=1),this.x0=this.x0||0,this.y0=this.y0||0,!(Math.abs(this.lat1+this.lat2)<1e-10)){var t=this.b/this.a;this.e=Math.sqrt(1-t*t);var e=Math.sin(this.lat1),n=Math.cos(this.lat1),A=i(this.e,e,n),o=r(this.e,this.lat1,e),a=Math.sin(this.lat2),c=Math.cos(this.lat2),s=i(this.e,a,c),u=r(this.e,this.lat2,a),g=r(this.e,this.lat0,Math.sin(this.lat0));Math.abs(this.lat1-this.lat2)>1e-10?this.ns=Math.log(A/s)/Math.log(o/u):this.ns=e,isNaN(this.ns)&&(this.ns=e),this.f0=A/(this.ns*Math.pow(o,this.ns)),this.rh=this.a*this.f0*Math.pow(g,this.ns),this.title||(this.title="Lambert Conformal Conic")}},e.forward=function(t){var e=t.x,n=t.y;Math.abs(2*Math.abs(n)-Math.PI)<=1e-10&&(n=o(n)*(A-2e-10));var i,c,s=Math.abs(Math.abs(n)-A);if(s>1e-10)i=r(this.e,n,Math.sin(n)),c=this.a*this.f0*Math.pow(i,this.ns);else{if((s=n*this.ns)<=0)return null;c=0}var u=this.ns*a(e-this.long0);return t.x=this.k0*(c*Math.sin(u))+this.x0,t.y=this.k0*(this.rh-c*Math.cos(u))+this.y0,t},e.inverse=function(t){var e,n,i,r,o,s=(t.x-this.x0)/this.k0,u=this.rh-(t.y-this.y0)/this.k0;this.ns>0?(e=Math.sqrt(s*s+u*u),n=1):(e=-Math.sqrt(s*s+u*u),n=-1);var g=0;if(0!==e&&(g=Math.atan2(n*s,n*u)),0!==e||this.ns>0){if(n=1/this.ns,i=Math.pow(e/(this.a*this.f0),n),-9999===(r=c(this.e,i)))return null}else r=-A;return o=a(g/this.ns+this.long0),t.x=o,t.y=r,t},e.names=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_2SP","lcc"]},function(t,e,n){var i=n(162);e.init=function(){this.a=6377397.155,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.4334234309119251),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq},e.forward=function(t){var e,n,r,A,o,a,c,s=t.x,u=t.y,g=i(s-this.long0);return e=Math.pow((1+this.e*Math.sin(u))/(1-this.e*Math.sin(u)),this.alfa*this.e/2),n=2*(Math.atan(this.k*Math.pow(Math.tan(u/2+this.s45),this.alfa)/e)-this.s45),r=-g*this.alfa,A=Math.asin(Math.cos(this.ad)*Math.sin(n)+Math.sin(this.ad)*Math.cos(n)*Math.cos(r)),o=Math.asin(Math.cos(n)*Math.sin(r)/Math.cos(A)),a=this.n*o,c=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(A/2+this.s45),this.n),t.y=c*Math.cos(a)/1,t.x=c*Math.sin(a)/1,this.czech||(t.y*=-1,t.x*=-1),t},e.inverse=function(t){var e,n,i,r,A,o,a,c,s=t.x;t.x=t.y,t.y=s,this.czech||(t.y*=-1,t.x*=-1),o=Math.sqrt(t.x*t.x+t.y*t.y),A=Math.atan2(t.y,t.x),r=A/Math.sin(this.s0),i=2*(Math.atan(Math.pow(this.ro0/o,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),e=Math.asin(Math.cos(this.ad)*Math.sin(i)-Math.sin(this.ad)*Math.cos(i)*Math.cos(r)),n=Math.asin(Math.cos(i)*Math.sin(r)/Math.cos(e)),t.x=this.long0-n/this.alfa,a=e,c=0;var u=0;do{t.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(e/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(a))/(1-this.e*Math.sin(a)),this.e/2))-this.s45),Math.abs(a-t.y)<1e-10&&(c=1),a=t.y,u+=1}while(0===c&&u<15);return u>=15?null:t},e.names=["Krovak","krovak"]},function(t,e,n){var i=n(184),r=n(180),A=n(181),o=n(182),a=n(183),c=n(196),s=n(162),u=n(197),g=n(198),l=Math.PI/2;e.init=function(){this.sphere||(this.e0=r(this.es),this.e1=A(this.es),this.e2=o(this.es),this.e3=a(this.es),this.ml0=this.a*i(this.e0,this.e1,this.e2,this.e3,this.lat0))},e.forward=function(t){var e,n,r=t.x,A=t.y;if(r=s(r-this.long0),this.sphere)e=this.a*Math.asin(Math.cos(A)*Math.sin(r)),n=this.a*(Math.atan2(Math.tan(A),Math.cos(r))-this.lat0);else{var o=Math.sin(A),a=Math.cos(A),u=c(this.a,this.e,o),g=Math.tan(A)*Math.tan(A),l=r*Math.cos(A),M=l*l,h=this.es*a*a/(1-this.es),d=this.a*i(this.e0,this.e1,this.e2,this.e3,A);e=u*l*(1-M*g*(1/6-(8-g+8*h)*M/120)),n=d-this.ml0+u*o/a*M*(.5+(5-g+6*h)*M/24)}return t.x=e+this.x0,t.y=n+this.y0,t},e.inverse=function(t){t.x-=this.x0,t.y-=this.y0;var e,n,i=t.x/this.a,r=t.y/this.a;if(this.sphere){var A=r+this.lat0;e=Math.asin(Math.sin(A)*Math.cos(i)),n=Math.atan2(Math.tan(i),Math.cos(A))}else{var o=this.ml0/this.a+r,a=g(o,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(a)-l)<=1e-10)return t.x=this.long0,t.y=l,r<0&&(t.y*=-1),t;var M=c(this.a,this.e,Math.sin(a)),h=M*M*M/this.a/this.a*(1-this.es),d=Math.pow(Math.tan(a),2),f=i*this.a/M,I=f*f;e=a-M*Math.tan(a)/h*f*f*(.5-(1+3*d)*f*f/24),n=f*(1-I*(d/3+(1+3*d)*d*I/15))/Math.cos(a)}return t.x=s(n+this.long0),t.y=u(e),t},e.names=["Cassini","Cassini_Soldner","cass"]},function(t,e){t.exports=function(t,e,n){var i=e*n;return t/Math.sqrt(1-i*i)}},function(t,e,n){var i=Math.PI/2,r=n(163);t.exports=function(t){return Math.abs(t)<i?t:t-r(t)*Math.PI}},function(t,e){t.exports=function(t,e,n,i,r){var A,o;A=t/e;for(var a=0;a<15;a++)if(o=(t-(e*A-n*Math.sin(2*A)+i*Math.sin(4*A)-r*Math.sin(6*A)))/(e-2*n*Math.cos(2*A)+4*i*Math.cos(4*A)-6*r*Math.cos(6*A)),A+=o,Math.abs(o)<=1e-10)return A;return NaN}},function(t,e,n){var i=Math.PI/2,r=Math.PI/4,A=n(200),o=n(162);e.S_POLE=1,e.N_POLE=2,e.EQUIT=3,e.OBLIQ=4,e.init=function(){var t=Math.abs(this.lat0);if(Math.abs(t-i)<1e-10?this.mode=this.lat0<0?this.S_POLE:this.N_POLE:Math.abs(t)<1e-10?this.mode=this.EQUIT:this.mode=this.OBLIQ,this.es>0){var e;switch(this.qp=A(this.e,1),this.mmf=.5/(1-this.es),this.apa=this.authset(this.es),this.mode){case this.N_POLE:case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),e=Math.sin(this.lat0),this.sinb1=A(this.e,e)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*e*e)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd}}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))},e.forward=function(t){var e,n,a,c,s,u,g,l,M,h,d=t.x,f=t.y;if(d=o(d-this.long0),this.sphere){if(s=Math.sin(f),h=Math.cos(f),a=Math.cos(d),this.mode===this.OBLIQ||this.mode===this.EQUIT){if((n=this.mode===this.EQUIT?1+h*a:1+this.sinph0*s+this.cosph0*h*a)<=1e-10)return null;n=Math.sqrt(2/n),e=n*h*Math.sin(d),n*=this.mode===this.EQUIT?s:this.cosph0*s-this.sinph0*h*a}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(a=-a),Math.abs(f+this.phi0)<1e-10)return null;n=r-.5*f,n=2*(this.mode===this.S_POLE?Math.cos(n):Math.sin(n)),e=n*Math.sin(d),n*=a}}else{switch(g=0,l=0,M=0,a=Math.cos(d),c=Math.sin(d),s=Math.sin(f),u=A(this.e,s),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(g=u/this.qp,l=Math.sqrt(1-g*g)),this.mode){case this.OBLIQ:M=1+this.sinb1*g+this.cosb1*l*a;break;case this.EQUIT:M=1+l*a;break;case this.N_POLE:M=i+f,u=this.qp-u;break;case this.S_POLE:M=f-i,u=this.qp+u}if(Math.abs(M)<1e-10)return null;switch(this.mode){case this.OBLIQ:case this.EQUIT:M=Math.sqrt(2/M),n=this.mode===this.OBLIQ?this.ymf*M*(this.cosb1*g-this.sinb1*l*a):(M=Math.sqrt(2/(1+l*a)))*g*this.ymf,e=this.xmf*M*l*c;break;case this.N_POLE:case this.S_POLE:u>=0?(e=(M=Math.sqrt(u))*c,n=a*(this.mode===this.S_POLE?M:-M)):e=n=0}}return t.x=this.a*e+this.x0,t.y=this.a*n+this.y0,t},e.inverse=function(t){t.x-=this.x0,t.y-=this.y0;var e,n,r,A,a,c,s,u=t.x/this.a,g=t.y/this.a;if(this.sphere){var l,M=0,h=0;if(l=Math.sqrt(u*u+g*g),(n=.5*l)>1)return null;switch(n=2*Math.asin(n),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(h=Math.sin(n),M=Math.cos(n)),this.mode){case this.EQUIT:n=Math.abs(l)<=1e-10?0:Math.asin(g*h/l),u*=h,g=M*l;break;case this.OBLIQ:n=Math.abs(l)<=1e-10?this.phi0:Math.asin(M*this.sinph0+g*h*this.cosph0/l),u*=h*this.cosph0,g=(M-Math.sin(n)*this.sinph0)*l;break;case this.N_POLE:g=-g,n=i-n;break;case this.S_POLE:n-=i}e=0!==g||this.mode!==this.EQUIT&&this.mode!==this.OBLIQ?Math.atan2(u,g):0}else{if(s=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(u/=this.dd,g*=this.dd,(c=Math.sqrt(u*u+g*g))<1e-10)return t.x=0,t.y=this.phi0,t;A=2*Math.asin(.5*c/this.rq),r=Math.cos(A),u*=A=Math.sin(A),this.mode===this.OBLIQ?(s=r*this.sinb1+g*A*this.cosb1/c,a=this.qp*s,g=c*this.cosb1*r-g*this.sinb1*A):(s=g*A/c,a=this.qp*s,g=c*r)}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(g=-g),!(a=u*u+g*g))return t.x=0,t.y=this.phi0,t;s=1-a/this.qp,this.mode===this.S_POLE&&(s=-s)}e=Math.atan2(u,g),n=this.authlat(Math.asin(s),this.apa)}return t.x=o(this.long0+e),t.y=n,t},e.P00=.3333333333333333,e.P01=.17222222222222222,e.P02=.10257936507936508,e.P10=.06388888888888888,e.P11=.0664021164021164,e.P20=.016415012942191543,e.authset=function(t){var e,n=[];return n[0]=t*this.P00,e=t*t,n[0]+=e*this.P01,n[1]=e*this.P10,e*=t,n[0]+=e*this.P02,n[1]+=e*this.P11,n[2]=e*this.P20,n},e.authlat=function(t,e){var n=t+t;return t+e[0]*Math.sin(n)+e[1]*Math.sin(n+n)+e[2]*Math.sin(n+n+n)},e.names=["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"]},function(t,e){t.exports=function(t,e){var n;return t>1e-7?(n=t*e,(1-t*t)*(e/(1-n*n)-.5/t*Math.log((1-n)/(1+n)))):2*e}},function(t,e,n){var i=n(161),r=n(200),A=n(162),o=n(185);e.init=function(){Math.abs(this.lat1+this.lat2)<1e-10||(this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e3=Math.sqrt(this.es),this.sin_po=Math.sin(this.lat1),this.cos_po=Math.cos(this.lat1),this.t1=this.sin_po,this.con=this.sin_po,this.ms1=i(this.e3,this.sin_po,this.cos_po),this.qs1=r(this.e3,this.sin_po,this.cos_po),this.sin_po=Math.sin(this.lat2),this.cos_po=Math.cos(this.lat2),this.t2=this.sin_po,this.ms2=i(this.e3,this.sin_po,this.cos_po),this.qs2=r(this.e3,this.sin_po,this.cos_po),this.sin_po=Math.sin(this.lat0),this.cos_po=Math.cos(this.lat0),this.t3=this.sin_po,this.qs0=r(this.e3,this.sin_po,this.cos_po),Math.abs(this.lat1-this.lat2)>1e-10?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)},e.forward=function(t){var e=t.x,n=t.y;this.sin_phi=Math.sin(n),this.cos_phi=Math.cos(n);var i=r(this.e3,this.sin_phi,this.cos_phi),o=this.a*Math.sqrt(this.c-this.ns0*i)/this.ns0,a=this.ns0*A(e-this.long0),c=o*Math.sin(a)+this.x0,s=this.rh-o*Math.cos(a)+this.y0;return t.x=c,t.y=s,t},e.inverse=function(t){var e,n,i,r,o,a;return t.x-=this.x0,t.y=this.rh-t.y+this.y0,this.ns0>=0?(e=Math.sqrt(t.x*t.x+t.y*t.y),i=1):(e=-Math.sqrt(t.x*t.x+t.y*t.y),i=-1),r=0,0!==e&&(r=Math.atan2(i*t.x,i*t.y)),i=e*this.ns0/this.a,this.sphere?a=Math.asin((this.c-i*i)/(2*this.ns0)):(n=(this.c-i*i)/this.ns0,a=this.phi1z(this.e3,n)),o=A(r/this.ns0+this.long0),t.x=o,t.y=a,t},e.phi1z=function(t,e){var n,i,r,A,a,c=o(.5*e);if(t<1e-10)return c;for(var s=t*t,u=1;u<=25;u++)if(n=Math.sin(c),i=Math.cos(c),r=t*n,A=1-r*r,a=.5*A*A/i*(e/(1-s)-n/A+.5/t*Math.log((1-r)/(1+r))),c+=a,Math.abs(a)<=1e-7)return c;return null},e.names=["Albers_Conic_Equal_Area","Albers","aea"]},function(t,e,n){var i=n(162),r=n(185);e.init=function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0),this.infinity_dist=1e3*this.a,this.rc=1},e.forward=function(t){var e,n,r,A,o,a,c,s,u=t.x,g=t.y;return r=i(u-this.long0),e=Math.sin(g),n=Math.cos(g),A=Math.cos(r),a=this.sin_p14*e+this.cos_p14*n*A,o=1,a>0||Math.abs(a)<=1e-10?(c=this.x0+this.a*o*n*Math.sin(r)/a,s=this.y0+this.a*o*(this.cos_p14*e-this.sin_p14*n*A)/a):(c=this.x0+this.infinity_dist*n*Math.sin(r),s=this.y0+this.infinity_dist*(this.cos_p14*e-this.sin_p14*n*A)),t.x=c,t.y=s,t},e.inverse=function(t){var e,n,A,o,a,c;return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,(e=Math.sqrt(t.x*t.x+t.y*t.y))?(o=Math.atan2(e,this.rc),n=Math.sin(o),A=Math.cos(o),c=r(A*this.sin_p14+t.y*n*this.cos_p14/e),a=Math.atan2(t.x*n,e*this.cos_p14*A-t.y*this.sin_p14*n),a=i(this.long0+a)):(c=this.phic0,a=0),t.x=a,t.y=c,t},e.names=["gnom"]},function(t,e,n){var i=n(162),r=n(200),A=n(161),o=n(204);e.init=function(){this.sphere||(this.k0=A(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))},e.forward=function(t){var e,n,A=t.x,o=t.y,a=i(A-this.long0);if(this.sphere)e=this.x0+this.a*a*Math.cos(this.lat_ts),n=this.y0+this.a*Math.sin(o)/Math.cos(this.lat_ts);else{var c=r(this.e,Math.sin(o));e=this.x0+this.a*this.k0*a,n=this.y0+this.a*c*.5/this.k0}return t.x=e,t.y=n,t},e.inverse=function(t){t.x-=this.x0,t.y-=this.y0;var e,n;return this.sphere?(e=i(this.long0+t.x/this.a/Math.cos(this.lat_ts)),n=Math.asin(t.y/this.a*Math.cos(this.lat_ts))):(n=o(this.e,2*t.y*this.k0/this.a),e=i(this.long0+t.x/(this.a*this.k0))),t.x=e,t.y=n,t},e.names=["cea"]},function(t,e){var n=Math.PI/2;t.exports=function(t,e){var i=1-(1-t*t)/(2*t)*Math.log((1-t)/(1+t));if(Math.abs(Math.abs(e)-i)<1e-6)return e<0?-1*n:n;for(var r,A,o,a,c=Math.asin(.5*e),s=0;s<30;s++)if(A=Math.sin(c),o=Math.cos(c),a=t*A,r=Math.pow(1-a*a,2)/(2*o)*(e/(1-t*t)-A/(1-a*a)+.5/t*Math.log((1-a)/(1+a))),c+=r,Math.abs(r)<=1e-10)return c;return NaN}},function(t,e,n){var i=n(162),r=n(197);e.init=function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)},e.forward=function(t){var e=t.x,n=t.y,A=i(e-this.long0),o=r(n-this.lat0);return t.x=this.x0+this.a*A*this.rc,t.y=this.y0+this.a*o,t},e.inverse=function(t){var e=t.x,n=t.y;return t.x=i(this.long0+(e-this.x0)/(this.a*this.rc)),t.y=r(this.lat0+(n-this.y0)/this.a),t},e.names=["Equirectangular","Equidistant_Cylindrical","eqc"]},function(t,e,n){var i=n(180),r=n(181),A=n(182),o=n(183),a=n(162),c=n(197),s=n(184),u=n(196);e.init=function(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=i(this.es),this.e1=r(this.es),this.e2=A(this.es),this.e3=o(this.es),this.ml0=this.a*s(this.e0,this.e1,this.e2,this.e3,this.lat0)},e.forward=function(t){var e,n,i,r=t.x,A=t.y,o=a(r-this.long0);if(i=o*Math.sin(A),this.sphere)Math.abs(A)<=1e-10?(e=this.a*o,n=-1*this.a*this.lat0):(e=this.a*Math.sin(i)/Math.tan(A),n=this.a*(c(A-this.lat0)+(1-Math.cos(i))/Math.tan(A)));else if(Math.abs(A)<=1e-10)e=this.a*o,n=-1*this.ml0;else{var g=u(this.a,this.e,Math.sin(A))/Math.tan(A);e=g*Math.sin(i),n=this.a*s(this.e0,this.e1,this.e2,this.e3,A)-this.ml0+g*(1-Math.cos(i))}return t.x=e+this.x0,t.y=n+this.y0,t},e.inverse=function(t){var e,n,i,r,A,o,c,u,g;if(i=t.x-this.x0,r=t.y-this.y0,this.sphere)if(Math.abs(r+this.a*this.lat0)<=1e-10)e=a(i/this.a+this.long0),n=0;else{o=this.lat0+r/this.a,c=i*i/this.a/this.a+o*o,u=o;var l;for(A=20;A;--A)if(l=Math.tan(u),g=-1*(o*(u*l+1)-u-.5*(u*u+c)*l)/((u-o)/l-1),u+=g,Math.abs(g)<=1e-10){n=u;break}e=a(this.long0+Math.asin(i*Math.tan(u)/this.a)/Math.sin(n))}else if(Math.abs(r+this.ml0)<=1e-10)n=0,e=a(this.long0+i/this.a);else{o=(this.ml0+r)/this.a,c=i*i/this.a/this.a+o*o,u=o;var M,h,d,f,I;for(A=20;A;--A)if(I=this.e*Math.sin(u),M=Math.sqrt(1-I*I)*Math.tan(u),h=this.a*s(this.e0,this.e1,this.e2,this.e3,u),d=this.e0-2*this.e1*Math.cos(2*u)+4*this.e2*Math.cos(4*u)-6*this.e3*Math.cos(6*u),f=h/this.a,g=(o*(M*f+1)-f-.5*M*(f*f+c))/(this.es*Math.sin(2*u)*(f*f+c-2*o*f)/(4*M)+(o-f)*(M*d-2/Math.sin(2*u))-d),u-=g,Math.abs(g)<=1e-10){n=u;break}M=Math.sqrt(1-this.es*Math.pow(Math.sin(n),2))*Math.tan(n),e=a(this.long0+Math.asin(i*M/this.a)/Math.sin(n))}return t.x=e,t.y=n,t},e.names=["Polyconic","poly"]},function(t,e){e.iterations=1,e.init=function(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013},e.forward=function(t){var e,n=t.x,i=t.y,r=i-this.lat0,A=n-this.long0,o=r/484813681109536e-20*1e-5,a=A,c=1,s=0;for(e=1;e<=10;e++)c*=o,s+=this.A[e]*c;var u,g,l=s,M=a,h=1,d=0,f=0,I=0;for(e=1;e<=6;e++)u=h*l-d*M,g=d*l+h*M,h=u,d=g,f=f+this.B_re[e]*h-this.B_im[e]*d,I=I+this.B_im[e]*h+this.B_re[e]*d;return t.x=I*this.a+this.x0,t.y=f*this.a+this.y0,t},e.inverse=function(t){var e,n,i,r=t.x,A=t.y,o=r-this.x0,a=A-this.y0,c=a/this.a,s=o/this.a,u=1,g=0,l=0,M=0;for(e=1;e<=6;e++)n=u*c-g*s,i=g*c+u*s,u=n,g=i,l=l+this.C_re[e]*u-this.C_im[e]*g,M=M+this.C_im[e]*u+this.C_re[e]*g;for(var h=0;h<this.iterations;h++){var d,f,I=l,E=M,T=c,N=s;for(e=2;e<=6;e++)d=I*l-E*M,f=E*l+I*M,I=d,E=f,T+=(e-1)*(this.B_re[e]*I-this.B_im[e]*E),N+=(e-1)*(this.B_im[e]*I+this.B_re[e]*E);I=1,E=0;var y=this.B_re[1],p=this.B_im[1];for(e=2;e<=6;e++)d=I*l-E*M,f=E*l+I*M,I=d,E=f,y+=e*(this.B_re[e]*I-this.B_im[e]*E),p+=e*(this.B_im[e]*I+this.B_re[e]*E);var C=y*y+p*p;l=(T*y+N*p)/C,M=(N*y-T*p)/C}var D=l,x=M,B=1,w=0;for(e=1;e<=9;e++)B*=D,w+=this.D[e]*B;var m=this.lat0+484813681109536e-20*w*1e5,Q=this.long0+x;return t.x=Q,t.y=m,t},e.names=["New_Zealand_Map_Grid","nzmg"]},function(t,e,n){var i=n(162);e.init=function(){},e.forward=function(t){var e=t.x,n=t.y,r=i(e-this.long0),A=this.x0+this.a*r,o=this.y0+this.a*Math.log(Math.tan(Math.PI/4+n/2.5))*1.25;return t.x=A,t.y=o,t},e.inverse=function(t){t.x-=this.x0,t.y-=this.y0;var e=i(this.long0+t.x/this.a),n=2.5*(Math.atan(Math.exp(.8*t.y/this.a))-Math.PI/4);return t.x=e,t.y=n,t},e.names=["Miller_Cylindrical","mill"]},function(t,e,n){var i=n(162),r=n(197),A=n(210),o=n(211),a=n(212),c=Math.PI/2,s=n(185);e.init=function(){this.sphere?(this.n=1,this.m=0,this.es=0,this.C_y=Math.sqrt((this.m+1)/this.n),this.C_x=this.C_y/(this.m+1)):this.en=A(this.es)},e.forward=function(t){var e,n,r=t.x,A=t.y;if(r=i(r-this.long0),this.sphere){if(this.m)for(var a=this.n*Math.sin(A),c=20;c;--c){var s=(this.m*A+Math.sin(A)-a)/(this.m+Math.cos(A));if(A-=s,Math.abs(s)<1e-10)break}else A=1!==this.n?Math.asin(this.n*Math.sin(A)):A;e=this.a*this.C_x*r*(this.m+Math.cos(A)),n=this.a*this.C_y*A}else{var u=Math.sin(A),g=Math.cos(A);n=this.a*o(A,u,g,this.en),e=this.a*r*g/Math.sqrt(1-this.es*u*u)}return t.x=e,t.y=n,t},e.inverse=function(t){var e,n,A,o;return t.x-=this.x0,A=t.x/this.a,t.y-=this.y0,e=t.y/this.a,this.sphere?(e/=this.C_y,A/=this.C_x*(this.m+Math.cos(e)),this.m?e=s((this.m*e+Math.sin(e))/this.n):1!==this.n&&(e=s(Math.sin(e)/this.n)),A=i(A+this.long0),e=r(e)):(e=a(t.y/this.a,this.es,this.en),o=Math.abs(e),o<c?(o=Math.sin(e),n=this.long0+t.x*Math.sqrt(1-this.es*o*o)/(this.a*Math.cos(e)),A=i(n)):o-1e-10<c&&(A=this.long0)),t.x=A,t.y=e,t},e.names=["Sinusoidal","sinu"]},function(t,e){var n=.01068115234375;t.exports=function(t){var e=[];e[0]=1-t*(.25+t*(.046875+t*(.01953125+t*n))),e[1]=t*(.75-t*(.046875+t*(.01953125+t*n)));var i=t*t;return e[2]=i*(.46875-t*(.013020833333333334+.007120768229166667*t)),i*=t,e[3]=i*(.3645833333333333-.005696614583333333*t),e[4]=i*t*.3076171875,e}},function(t,e){t.exports=function(t,e,n,i){return n*=e,e*=e,i[0]*t-n*(i[1]+e*(i[2]+e*(i[3]+e*i[4])))}},function(t,e,n){var i=n(211);t.exports=function(t,e,n){for(var r=1/(1-e),A=t,o=20;o;--o){var a=Math.sin(A),c=1-e*a*a;if(c=(i(A,a,Math.cos(A),n)-t)*(c*Math.sqrt(c))*r,A-=c,Math.abs(c)<1e-10)return A}return A}},function(t,e,n){var i=n(162);e.init=function(){},e.forward=function(t){for(var e=t.x,n=t.y,r=i(e-this.long0),A=n,o=Math.PI*Math.sin(n),a=0;!0;a++){var c=-(A+Math.sin(A)-o)/(1+Math.cos(A));if(A+=c,Math.abs(c)<1e-10)break}A/=2,Math.PI/2-Math.abs(n)<1e-10&&(r=0);var s=.900316316158*this.a*r*Math.cos(A)+this.x0,u=1.4142135623731*this.a*Math.sin(A)+this.y0;return t.x=s,t.y=u,t},e.inverse=function(t){var e,n;t.x-=this.x0,t.y-=this.y0,n=t.y/(1.4142135623731*this.a),Math.abs(n)>.999999999999&&(n=.999999999999),e=Math.asin(n);var r=i(this.long0+t.x/(.900316316158*this.a*Math.cos(e)));r<-Math.PI&&(r=-Math.PI),r>Math.PI&&(r=Math.PI),n=(2*e+Math.sin(2*e))/Math.PI,Math.abs(n)>1&&(n=1);var A=Math.asin(n);return t.x=r,t.y=A,t},e.names=["Mollweide","moll"]},function(t,e,n){var i=n(180),r=n(181),A=n(182),o=n(183),a=n(161),c=n(184),s=n(162),u=n(197),g=n(198);e.init=function(){Math.abs(this.lat1+this.lat2)<1e-10||(this.lat2=this.lat2||this.lat1,this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=i(this.es),this.e1=r(this.es),this.e2=A(this.es),this.e3=o(this.es),this.sinphi=Math.sin(this.lat1),this.cosphi=Math.cos(this.lat1),this.ms1=a(this.e,this.sinphi,this.cosphi),this.ml1=c(this.e0,this.e1,this.e2,this.e3,this.lat1),Math.abs(this.lat1-this.lat2)<1e-10?this.ns=this.sinphi:(this.sinphi=Math.sin(this.lat2),this.cosphi=Math.cos(this.lat2),this.ms2=a(this.e,this.sinphi,this.cosphi),this.ml2=c(this.e0,this.e1,this.e2,this.e3,this.lat2),this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1)),this.g=this.ml1+this.ms1/this.ns,this.ml0=c(this.e0,this.e1,this.e2,this.e3,this.lat0),this.rh=this.a*(this.g-this.ml0))},e.forward=function(t){var e,n=t.x,i=t.y;if(this.sphere)e=this.a*(this.g-i);else{var r=c(this.e0,this.e1,this.e2,this.e3,i);e=this.a*(this.g-r)}var A=this.ns*s(n-this.long0),o=this.x0+e*Math.sin(A),a=this.y0+this.rh-e*Math.cos(A);return t.x=o,t.y=a,t},e.inverse=function(t){t.x-=this.x0,t.y=this.rh-t.y+this.y0;var e,n,i,r;this.ns>=0?(n=Math.sqrt(t.x*t.x+t.y*t.y),e=1):(n=-Math.sqrt(t.x*t.x+t.y*t.y),e=-1);var A=0;if(0!==n&&(A=Math.atan2(e*t.x,e*t.y)),this.sphere)return r=s(this.long0+A/this.ns),i=u(this.g-n/this.a),t.x=r,t.y=i,t;var o=this.g-n/this.a;return i=g(o,this.e0,this.e1,this.e2,this.e3),r=s(this.long0+A/this.ns),t.x=r,t.y=i,t},e.names=["Equidistant_Conic","eqdc"]},function(t,e,n){var i=n(162),r=Math.PI/2,A=n(185);e.init=function(){this.R=this.a},e.forward=function(t){var e,n,o=t.x,a=t.y,c=i(o-this.long0);Math.abs(a)<=1e-10&&(e=this.x0+this.R*c,n=this.y0);var s=A(2*Math.abs(a/Math.PI));(Math.abs(c)<=1e-10||Math.abs(Math.abs(a)-r)<=1e-10)&&(e=this.x0,n=a>=0?this.y0+Math.PI*this.R*Math.tan(.5*s):this.y0+Math.PI*this.R*-Math.tan(.5*s));var u=.5*Math.abs(Math.PI/c-c/Math.PI),g=u*u,l=Math.sin(s),M=Math.cos(s),h=M/(l+M-1),d=h*h,f=h*(2/l-1),I=f*f,E=Math.PI*this.R*(u*(h-I)+Math.sqrt(g*(h-I)*(h-I)-(I+g)*(d-I)))/(I+g);c<0&&(E=-E),e=this.x0+E;var T=g+h;return E=Math.PI*this.R*(f*T-u*Math.sqrt((I+g)*(g+1)-T*T))/(I+g),n=a>=0?this.y0+E:this.y0-E,t.x=e,t.y=n,t},e.inverse=function(t){var e,n,r,A,o,a,c,s,u,g,l,M,h;return t.x-=this.x0,t.y-=this.y0,l=Math.PI*this.R,r=t.x/l,A=t.y/l,o=r*r+A*A,a=-Math.abs(A)*(1+o),c=a-2*A*A+r*r,s=-2*a+1+2*A*A+o*o,h=A*A/s+(2*c*c*c/s/s/s-9*a*c/s/s)/27,u=(a-c*c/3/s)/s,g=2*Math.sqrt(-u/3),l=3*h/u/g,Math.abs(l)>1&&(l=l>=0?1:-1),M=Math.acos(l)/3,n=t.y>=0?(-g*Math.cos(M+Math.PI/3)-c/3/s)*Math.PI:-(-g*Math.cos(M+Math.PI/3)-c/3/s)*Math.PI,e=Math.abs(r)<1e-10?this.long0:i(this.long0+Math.PI*(o-1+Math.sqrt(1+2*(r*r-A*A)+o*o))/2/r),t.x=e,t.y=n,t},e.names=["Van_der_Grinten_I","VanDerGrinten","vandg"]},function(t,e,n){var i=n(162),r=Math.PI/2,A=n(184),o=n(180),a=n(181),c=n(182),s=n(183),u=n(196),g=n(185),l=n(198);e.init=function(){this.sin_p12=Math.sin(this.lat0),this.cos_p12=Math.cos(this.lat0)},e.forward=function(t){var e,n,g,l,M,h,d,f,I,E,T,N,y,p,C,D,x,B,w,m,Q,v,j,L=t.x,S=t.y,Y=Math.sin(t.y),b=Math.cos(t.y),O=i(L-this.long0);return this.sphere?Math.abs(this.sin_p12-1)<=1e-10?(t.x=this.x0+this.a*(r-S)*Math.sin(O),t.y=this.y0-this.a*(r-S)*Math.cos(O),t):Math.abs(this.sin_p12+1)<=1e-10?(t.x=this.x0+this.a*(r+S)*Math.sin(O),t.y=this.y0+this.a*(r+S)*Math.cos(O),t):(B=this.sin_p12*Y+this.cos_p12*b*Math.cos(O),D=Math.acos(B),x=D/Math.sin(D),t.x=this.x0+this.a*x*b*Math.sin(O),t.y=this.y0+this.a*x*(this.cos_p12*Y-this.sin_p12*b*Math.cos(O)),t):(e=o(this.es),n=a(this.es),g=c(this.es),l=s(this.es),Math.abs(this.sin_p12-1)<=1e-10?(M=this.a*A(e,n,g,l,r),h=this.a*A(e,n,g,l,S),t.x=this.x0+(M-h)*Math.sin(O),t.y=this.y0-(M-h)*Math.cos(O),t):Math.abs(this.sin_p12+1)<=1e-10?(M=this.a*A(e,n,g,l,r),h=this.a*A(e,n,g,l,S),t.x=this.x0+(M+h)*Math.sin(O),t.y=this.y0+(M+h)*Math.cos(O),t):(d=Y/b,f=u(this.a,this.e,this.sin_p12),I=u(this.a,this.e,Y),E=Math.atan((1-this.es)*d+this.es*f*this.sin_p12/(I*b)),T=Math.atan2(Math.sin(O),this.cos_p12*Math.tan(E)-this.sin_p12*Math.cos(O)),w=0===T?Math.asin(this.cos_p12*Math.sin(E)-this.sin_p12*Math.cos(E)):Math.abs(Math.abs(T)-Math.PI)<=1e-10?-Math.asin(this.cos_p12*Math.sin(E)-this.sin_p12*Math.cos(E)):Math.asin(Math.sin(O)*Math.cos(E)/Math.sin(T)),N=this.e*this.sin_p12/Math.sqrt(1-this.es),y=this.e*this.cos_p12*Math.cos(T)/Math.sqrt(1-this.es),p=N*y,C=y*y,m=w*w,Q=m*w,v=Q*w,j=v*w,D=f*w*(1-m*C*(1-C)/6+Q/8*p*(1-2*C)+v/120*(C*(4-7*C)-3*N*N*(1-7*C))-j/48*p),t.x=this.x0+D*Math.sin(T),t.y=this.y0+D*Math.cos(T),t))},e.inverse=function(t){t.x-=this.x0,t.y-=this.y0;var e,n,M,h,d,f,I,E,T,N,y,p,C,D,x,B,w,m,Q,v,j,L,S;if(this.sphere){if((e=Math.sqrt(t.x*t.x+t.y*t.y))>2*r*this.a)return;return n=e/this.a,M=Math.sin(n),h=Math.cos(n),d=this.long0,Math.abs(e)<=1e-10?f=this.lat0:(f=g(h*this.sin_p12+t.y*M*this.cos_p12/e),I=Math.abs(this.lat0)-r,d=i(Math.abs(I)<=1e-10?this.lat0>=0?this.long0+Math.atan2(t.x,-t.y):this.long0-Math.atan2(-t.x,t.y):this.long0+Math.atan2(t.x*M,e*this.cos_p12*h-t.y*this.sin_p12*M))),t.x=d,t.y=f,t}return E=o(this.es),T=a(this.es),N=c(this.es),y=s(this.es),Math.abs(this.sin_p12-1)<=1e-10?(p=this.a*A(E,T,N,y,r),e=Math.sqrt(t.x*t.x+t.y*t.y),C=p-e,f=l(C/this.a,E,T,N,y),d=i(this.long0+Math.atan2(t.x,-1*t.y)),t.x=d,t.y=f,t):Math.abs(this.sin_p12+1)<=1e-10?(p=this.a*A(E,T,N,y,r),e=Math.sqrt(t.x*t.x+t.y*t.y),C=e-p,f=l(C/this.a,E,T,N,y),d=i(this.long0+Math.atan2(t.x,t.y)),t.x=d,t.y=f,t):(e=Math.sqrt(t.x*t.x+t.y*t.y),B=Math.atan2(t.x,t.y),D=u(this.a,this.e,this.sin_p12),w=Math.cos(B),m=this.e*this.cos_p12*w,Q=-m*m/(1-this.es),v=3*this.es*(1-Q)*this.sin_p12*this.cos_p12*w/(1-this.es),j=e/D,L=j-Q*(1+Q)*Math.pow(j,3)/6-v*(1+3*Q)*Math.pow(j,4)/24,S=1-Q*L*L/2-j*L*L*L/6,x=Math.asin(this.sin_p12*Math.cos(L)+this.cos_p12*Math.sin(L)*w),d=i(this.long0+Math.asin(Math.sin(B)*Math.sin(L)/Math.cos(x))),f=Math.atan((1-this.es*S*this.sin_p12/Math.sin(x))*Math.tan(x)/(1-this.es)),t.x=d,t.y=f,t)},e.names=["Azimuthal_Equidistant","aeqd"]},function(t,e,n){var i=n(4),r=n(5),A=function(t){"use strict";function e(t,e){return("wheel"===t||u.buttons[t])&&!!u.modifiers.alt==!!e.alt&&!!u.modifiers.meta==!!e.meta&&!!u.modifiers.shift==!!e.shift&&!!u.modifiers.ctrl==!!e.ctrl}function i(t){var e=t.x,n=t.y;return Math.sqrt(e*e+n*n)}function o(t,e){e=e<=0?30:e;var n=a(),r=i(t),A=t.x/r,o=t.y/r;return r*=Math.exp(-T.momentum.drag*e),i(n)*e+r<T.momentum.minSpeed?null:(r>0?(A*=r,o*=r):(A=0,o=0),{x:A-n.x*e,y:o-n.y*e})}function a(){var t,e,n,i;if(!T.spring.enabled)return{x:0,y:0};var r=N.map().maxBounds(void 0,null),A=N.map().gcsToDisplay({x:r.left,y:r.top},null),o=N.map().gcsToDisplay({x:r.right,y:r.bottom},null),a=T.spring.springConstant,c=N.map().node().width(),s=N.map().node().height();return t=a*Math.max(0,A.x),e=a*Math.max(0,c-o.x),n=a*Math.max(0,A.y)/2,i=a*Math.max(0,s-o.y)/2,{x:t-e,y:n-i}}function c(){function t(t,e){var o,a=N.map();n=e,A+=t,void 0===r&&(i=r=a.zoom()),r+=t,a&&Math.abs(A)>=1&&T.discreteZoom&&!T.zoomAnimation.enabled&&(o=Math.round(A+a.zoom()),A=A+a.zoom()-o,a.zoom(o,n))}function e(){var t,e=N.map();e&&(T.zoomAnimation.enabled?(t=r,T.discreteZoom&&(t=Math.round(t))===i&&r!==i&&(t=i+(r>i?1:-1)),e.transitionCancel("debounced_zoom.zoom"),e.transition({zoom:t,zoomOrigin:n,duration:T.zoomAnimation.duration,ease:T.zoomAnimation.ease,done:function(t){t=t||{},t.next||t.cancel&&!((""+t.source).search(/\.zoom$/)<0)||(r=void 0),T.discreteZoom&&t.cancel&&t.transition&&t.transition.end&&(""+t.source).search(/\.zoom$/)<0&&e.zoom(t.transition.end.zoom,t.transition.end.zoomOrigin)}})):(t=A+e.zoom(),T.discreteZoom&&(t=Math.round(t)),e.zoom(t,n))),A=0}var n,i,r,A=0,o=400;return!0!==T.discreteZoom&&T.discreteZoom>0&&(o=T.discreteZoom),(!0===T.discreteZoom||T.discreteZoom>0)&&!T.zoomAnimation.enabled?E(o,!1,e,t):function(n,i){(n||void 0!==r)&&(t(n,i),e())}}function s(){function t(t){var e,n;C||(i!==M&&(i={kind:"wheel",scroll:{x:0,y:0}},M=i),t.preventDefault(),t.deltaFactor=1,1===t.originalEvent.deltaMode?t.deltaFactor=40:2===t.originalEvent.deltaMode&&(t.deltaFactor=d(window).height()),e=t.originalEvent.deltaX||0,n=t.originalEvent.deltaY||0,e=e*T.wheelScaleX*t.deltaFactor/120,n=n*T.wheelScaleY*t.deltaFactor/120,i.scroll.x+=e,i.scroll.y+=n)}function n(t){var n,r;if(i===M){if(N._getMouseModifiers(t),T.panWheelEnabled&&e("wheel",T.panWheelModifiers)?r="pan":T.zoomWheelEnabled&&e("wheel",T.zoomWheelModifiers)?r="zoom":T.rotateWheelEnabled&&e("wheel",T.rotateWheelModifiers)&&(r="rotate"),r){var A=N.map().transitionCancel("wheel."+r);switch(A|=N.cancel("momentum",!0),A&&(u.geo=N.map().displayToGcs(u.map)),r){case"pan":N.map().pan({x:M.scroll.x,y:M.scroll.y});break;case"zoom":n=-M.scroll.y,x(n,u);break;case"rotate":N.map().rotation(N.map().rotation()+M.scroll.y*T.rotateWheelScale,u)}}M={}}}var i={};return T.throttle>0?I(T.throttle,!1,n,t):function(e){t(e),n(e)}}if(!(this instanceof A))return new A(t);r.call(this);var u,g,l,M,h,d=n(1),f=n(125),I=n(120).throttle,E=n(120).debounce,T=t||{},N=this,y=null,p=null,C=!1,D=!1,x=function(){};return T=d.extend(!0,{},{throttle:30,discreteZoom:!1,panMoveButton:"left",panMoveModifiers:{},zoomMoveButton:"right",zoomMoveModifiers:{},rotateMoveButton:"left",rotateMoveModifiers:{ctrl:!0},panWheelEnabled:!1,panWheelModifiers:{},zoomWheelEnabled:!0,zoomWheelModifiers:{},rotateWheelEnabled:!0,rotateWheelModifiers:{ctrl:!0},wheelScaleX:1,wheelScaleY:1,zoomScale:1,rotateWheelScale:6*Math.PI/180,selectionButton:"left",selectionModifiers:{shift:!0},momentum:{enabled:!0,maxSpeed:2.5,minSpeed:.01,stopTime:250,drag:.01,actions:["pan","zoom"]},spring:{enabled:!1,springConstant:5e-5},click:{enabled:!0,buttons:{left:!0,right:!0,middle:!0},duration:0,cancelOnMove:!0},zoomAnimation:{enabled:!0,duration:500,ease:function(t){return(2-t)*t}}},T),u={page:{x:0,y:0},map:{x:0,y:0},buttons:{left:!1,right:!1,middle:!1},modifiers:{alt:!1,ctrl:!1,shift:!1,meta:!1},time:new Date,deltaTime:1,velocity:{x:0,y:0}},g={},l={},M={},this._connectEvents=function(){return T.map?(N._disconnectEvents(),h=d(T.map.node()),N._handleMouseWheel=s(),x=c(),h.on("wheel.geojs",N._handleMouseWheel),h.on("mousemove.geojs",N._handleMouseMove),h.on("mousedown.geojs",N._handleMouseDown),h.on("mouseup.geojs",N._handleMouseUp),h.on("dragstart",function(){return!1}),"right"!==T.panMoveButton&&"right"!==T.zoomMoveButton&&"right"!==T.rotateMoveButton&&"right"!==T.selectionButton||h.on("contextmenu.geojs",function(){return!1}),N):N},this._disconnectEvents=function(){return h&&(h.off(".geojs"),h=null),N._handleMouseWheel=function(){},x=function(){},N},this.map=function(t){return void 0!==t?(T.map=t,N._connectEvents(),N):T.map},this.options=function(t){return void 0===t?d.extend({},T):(d.extend(T,t),this._connectEvents(),N)},this._getMousePosition=function(t){var e,n,i=h.offset();n=(new Date).valueOf(),e=n-u.time,u.time=n,u.deltaTime=e,u.velocity={x:(t.pageX-u.page.x)/e,y:(t.pageY-u.page.y)/e},u.page={x:t.pageX,y:t.pageY},u.map={x:t.pageX-i.left,y:t.pageY-i.top};try{u.geo=N.map().displayToGcs(u.map)}catch(t){u.geo=null}},this._getMouseButton=function(t){1===t.which?u.buttons.left="mouseup"!==t.type:3===t.which?u.buttons.right="mouseup"!==t.type:2===t.which&&(u.buttons.middle="mouseup"!==t.type)},this._getMouseModifiers=function(t){u.modifiers.alt=t.altKey,u.modifiers.ctrl=t.ctrlKey,u.modifiers.meta=t.metaKey,u.modifiers.shift=t.shiftKey},this._getSelection=function(){var t=l.origin,e=N.mouse(),n=N.map(),i={},r={};return i.upperLeft={x:Math.min(t.map.x,e.map.x),y:Math.min(t.map.y,e.map.y)},i.lowerRight={x:Math.max(t.map.x,e.map.x),y:Math.max(t.map.y,e.map.y)},i.upperRight={x:i.lowerRight.x,y:i.upperLeft.y},i.lowerLeft={x:i.upperLeft.x,y:i.lowerRight.y},r.upperLeft=n.displayToGcs(i.upperLeft),r.lowerRight=n.displayToGcs(i.lowerRight),r.upperRight=n.displayToGcs(i.upperRight),r.lowerLeft=n.displayToGcs(i.lowerLeft),p.origin([i.lowerLeft.x,i.lowerLeft.y,0]),p.upperLeft([i.upperLeft.x,i.upperLeft.y,0]),p.lowerRight([i.lowerRight.x,i.lowerRight.y,0]),p.draw(),{display:i,gcs:r,mouse:e,origin:d.extend({},l.origin)}},this.cancel=function(t,e){var n;return n=t?l.action===t:!!l.action,n&&(e||(M={}),l={}),n},this._handleMouseDown=function(t){var n=null;C||(N._getMousePosition(t),N._getMouseButton(t),N._getMouseModifiers(t),!T.click.enabled||u.buttons.left&&!T.click.buttons.left||u.buttons.right&&!T.click.buttons.right||u.buttons.middle&&!T.click.buttons.middle||(D=!0,T.click.duration>0&&window.setTimeout(function(){D=!1},T.click.duration)),e(T.panMoveButton,T.panMoveModifiers)?n="pan":e(T.zoomMoveButton,T.zoomMoveModifiers)?n="zoom":e(T.rotateMoveButton,T.rotateMoveModifiers)?n="rotate":e(T.selectionButton,T.selectionModifiers)&&(n="select"),N.map().transitionCancel("_handleMouseDown."+n),N.cancel("momentum"),u.velocity={x:0,y:0},n&&(M={kind:"move"},l={action:n,origin:d.extend(!0,{},u),delta:{x:0,y:0}},"select"===n&&(y&&(y.clear(),N.map().deleteLayer(y),y=null),y=N.map().createLayer("feature",{renderer:"d3"}),p=y.createFeature("plane"),p.style({screenCoordinates:!0,fillOpacity:function(){return.25}}),N.map().geoTrigger(f.brushstart,N._getSelection())),T.throttle>0?d(document).on("mousemove.geojs",I(T.throttle,N._handleMouseMoveDocument)):d(document).on("mousemove.geojs",N._handleMouseMoveDocument),d(document).on("mouseup.geojs",N._handleMouseUpDocument)))},this._handleMouseMove=function(t){C||l.action||(T.click.cancelOnMove&&(D=!1),N._getMousePosition(t),N._getMouseButton(t),N._getMouseModifiers(t),D||N.map().geoTrigger(f.mousemove,N.mouse()))},this._handleMouseMoveDocument=function(t){var e,n,i;if(N.map()&&!C&&"move"===M.kind&&(N._getMousePosition(t),N._getMouseButton(t),N._getMouseModifiers(t),T.click.cancelOnMove&&(D=!1),!D)){if(!l.action)return void console.log("WARNING: Invalid state in mapInteractor.");if(e=u.map.x-l.origin.map.x-l.delta.x,n=u.map.y-l.origin.map.y-l.delta.y,l.delta.x+=e,l.delta.y+=n,"pan"===l.action)N.map().pan({x:e,y:n});else if("zoom"===l.action)x(-n*T.zoomScale/120,l);else if("rotate"===l.action){var r,A;void 0===l.origin.rotation&&(r=l.origin.map.x-N.map().size().width/2,A=l.origin.map.y-N.map().size().height/2,l.origin.rotation=N.map().rotation()-Math.atan2(A,r)),r=u.map.x-N.map().size().width/2,A=u.map.y-N.map().size().height/2,N.map().rotation(l.origin.rotation+Math.atan2(A,r))}else"select"===l.action&&(i=N._getSelection(),N.map().geoTrigger(f.brush,i));t.preventDefault()}},this._handleMouseUpDocument=function(t){var e,n;if(!C&&(M={},D=!1,N._getMouseButton(t),N._getMouseModifiers(t),d(document).off(".geojs"),u.buttons.right&&t.preventDefault(),"select"===l.action&&(e=N._getSelection(),y.clear(),N.map().deleteLayer(y),y=null,p=null,N.map().geoTrigger(f.brushend,e)),n=l.action,l={},T.momentum.enabled&&d.inArray(n,T.momentum.actions)>=0)){var i=(new Date).valueOf(),r=i-u.time+u.deltaTime;i-u.time<T.momentum.stopTime?(u.velocity.x=u.velocity.x*u.deltaTime/r,u.velocity.y=u.velocity.y*u.deltaTime/r,u.deltaTime=r):u.velocity.x=u.velocity.y=0,N.springBack(!0,n)}},this._handleMouseUp=function(t){C||D&&N._handleMouseClick(t)},this._handleMouseClick=function(t){N._getMouseButton(t),N._getMouseModifiers(t),N.cancel("pan"),d(document).off(".geojs"),D=!1,N.map().geoTrigger(f.mouseclick,N.mouse())},this._handleMouseWheel=function(){},this.springBack=function(t,e){"momentum"!==l.action&&(t||(u.velocity={x:0,y:0}),l.origAction=e,l.action="momentum",l.origin=N.mouse(),l.start=new Date,l.handler=function(){var t,e,n,r;if(r=Math.min(u.deltaTime,30),"momentum"===l.action&&N.map()&&!N.map().transition()){if(n=l.start.valueOf(),l.start=new Date,!(t=o(u.velocity,l.start-n)))return void(l={});switch(e=i(t),e>T.momentum.maxSpeed&&(e=T.momentum.maxSpeed/e,t.x=t.x*e,t.y=t.y*e),isFinite(t.x)&&isFinite(t.y)||(t.x=0,t.y=0),u.velocity.x=t.x,u.velocity.y=t.y,l.origAction){case"zoom":var A=u.velocity.y*r;x(-A*T.zoomScale/120,l);break;default:N.map().pan({x:u.velocity.x*r,y:u.velocity.y*r})}l.handler&&window.requestAnimationFrame(l.handler)}},l.handler&&window.requestAnimationFrame(l.handler))},this._handleDoubleClick=function(){},this.destroy=function(){N._disconnectEvents(),N.map(null)},this.mouse=function(){return d.extend(!0,{},u)},this.keyboard=function(){return d.extend(!0,{},g)},this.state=function(){return d.extend(!0,{},l)},this.pause=function(t){return void 0===t?C:(C=!!t,N)},this.simulateEvent=function(t,e){var n,i,r,A;if(!N.map())return N;i=e.page||{},e.map&&(r=h.offset(),i.x=e.map.x+r.left,i.y=e.map.y+r.top),"left"===e.button?A=1:"right"===e.button?A=3:"middle"===e.button&&(A=2),e.modifiers=e.modifiers||[],e.wheelDelta=e.wheelDelta||{},n=d.Event(t,{pageX:i.x,pageY:i.y,which:A,altKey:e.modifiers.indexOf("alt")>=0,ctrlKey:e.modifiers.indexOf("ctrl")>=0,metaKey:e.modifiers.indexOf("meta")>=0,shiftKey:e.modifiers.indexOf("shift")>=0,originalEvent:{deltaX:e.wheelDelta.x,deltaY:e.wheelDelta.y,deltaMode:e.wheelMode,preventDefault:function(){},stopPropagation:function(){},stopImmediatePropagation:function(){}}}),h.trigger(n)},this._connectEvents(),this};i(A,r),t.exports=A},function(t,e,n){var i=n(4),r=n(131).registerLayer,A=n(130),o=function(t){"use strict";var e=n(131).createWidget;if(t.renderer="dom",t.sticky=!1,!(this instanceof o))return new o(t);A.call(this,t);var i=this,r=this._exit;this.createWidget=function(t,n){var r=e(t,i,n);return n&&"parent"in n||i.addChild(r),r._init(n),i.modified(),r},this.deleteWidget=function(t){return t._exit(),i.removeChild(t),i.modified(),i},this._exit=function(){i.children().forEach(function(t){i.deleteWidget(t)}),r()}};i(o,A),r("ui",o),t.exports=o},function(t,e,n){t.exports=function(){"use strict";var t=n(1),e=n(4),i=n(220),r=n(131),A=function(t){var e=n(142);if(!(this instanceof A))return new A(t);void 0!==t.mapOpacity&&void 0===t.opacity&&(t.opacity=t.mapOpacity),i.call(this,t),this.mapOpacity=this.opacity,this._getTile=function(t,n){var i=n||t;return e({index:t,size:{x:this._options.tileWidth,y:this._options.tileHeight},queue:this._queue,url:this._options.url(i.x,i.y,i.level||0,this._options.subdomains)})}.bind(this)};return A.defaults=t.extend({},i.defaults,{minLevel:0,maxLevel:18,tileOverlap:0,tileWidth:256,tileHeight:256,tileOffset:function(t){var e=256*Math.pow(2,t-1);return{x:e,y:e}},wrapX:!0,wrapY:!1,url:"http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",attribution:'Tile data &copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'}),e(A,i),r.registerLayer("osm",A),A}()},function(t,e,n){t.exports=function(){"use strict";function t(t,e){return(t%e+e)%e}function e(e,n,i){return i[t(e+n,i.length)]}function i(t){return function(n,i,r,A){return t.replace("{s}",e(n,i,A)).replace("{z}",r).replace("{x}",n).replace("{y}",i)}}var r=n(4),A=n(137),o=function(e){var r=n(1),a=n(125),c=n(147),s=n(221),u=n(138),g=n(131).adjustLayerForRenderer,l=n(143);if(!(this instanceof o))return new o(e);if(A.call(this,e),e=r.extend(!0,{},this.constructor.defaults,e||{}),e.cacheSize||(e.cacheSize=e.keepLower?600:200),"string"===r.type(e.subdomains)&&(e.subdomains=e.subdomains.split("")),e.baseUrl){var M=e.baseUrl;M&&"/"!==M.charAt(M.length-1)&&(M+="/"),e.url=M+"{z}/{x}/{y}."+(e.imageFormat||"png")}e.originalUrl=e.url,"string"===r.type(e.url)&&(e.url=i(e.url));var h,d=this._init,f=this._exit,I=[];this._options=r.extend(!0,{},e),this.attribution(e.attribution),this._activeTiles={},this._tileTree={},this._cache=s({size:e.cacheSize}),this._queue=u({size:6,track:e.cacheSize,needed:function(t){return t===this.cache.get(t.toString(),!0)}.bind(this)});var E={};return Object.defineProperty(this,"options",{get:function(){return r.extend({},this._options)}}),Object.defineProperty(this,"cache",{get:function(){return this._cache}}),Object.defineProperty(this,"activeTiles",{get:function(){return r.extend({},this._activeTiles)}}),this.tilesAtZoom=function(t){if(this._options.tilesAtZoom)return this._options.tilesAtZoom.call(this,t);var e=Math.pow(2,t);return{x:e,y:e}},this.isValid=function(t){return this._options.minLevel<=t.level&&t.level<=this._options.maxLevel&&(!!(this._options.wrapX||0<=t.x&&t.x<=this.tilesAtZoom(t.level).x-1)&&!!(this._options.wrapY||0<=t.y&&t.y<=this.tilesAtZoom(t.level).y-1))},this._origin=function(t){var e,n,i=this.toLevel(this.toLocal(this.map().origin()),t),r=this._options;return e={x:Math.floor(i.x/r.tileWidth),y:Math.floor(i.y/r.tileHeight)},n={x:i.x-r.tileWidth*e.x,y:i.y-r.tileHeight*e.y},{index:e,offset:n}},this._tileBounds=function(t){var e=this._origin(t.index.level);return t.bounds(e.index,e.offset)},this.tileAtPoint=function(t,e){var n=this._origin(e),i=this.map();t=this.displayToLevel(i.gcsToDisplay(t,null),e),isNaN(t.x)&&(t.x=0),isNaN(t.y)&&(t.y=0);var r=this._tileOffset(e);return r&&(t.x+=r.x,t.y+=r.y),{x:Math.floor(n.index.x+(n.offset.x+t.x)/this._options.tileWidth),y:Math.floor(n.index.y+(n.offset.y+t.y)/this._options.tileHeight)}},this.gcsTileBounds=function(t,e){var n=t.index?t:l({index:t,size:{x:this._options.tileWidth,y:this._options.tileHeight},url:""}),i=this._tileOffset(n.index.level),r=n.bounds({x:0,y:0},i),A=this.map(),o=A.unitsPerPixel(n.index.level),a=[{x:r.left*o,y:this._topDown()*r.top*o},{x:r.right*o,y:this._topDown()*r.bottom*o}];return e=null===e?A.gcs():void 0===e?A.ingcs():e,e!==A.gcs()&&(a=c.transformCoordinates(e,A.gcs(),a)),{left:a[0].x,top:a[0].y,right:a[1].x,bottom:a[1].y}},this._getTile=function(t,e){var n=e||t;return l({index:t,size:{x:this._options.tileWidth,y:this._options.tileHeight},queue:this._queue,url:this._options.url(n.x,n.y,n.level||0,this._options.subdomains)})},this._getTileCached=function(t,e,n){var i=this.cache.get(this._tileHash(t));return null===i&&(i=this._getTile(t,e),this.cache.add(i,this.remove.bind(this),n)),i},this._tileHash=function(t){return[t.level||0,t.y,t.x].join("_")},this._getTileRange=function(t,e){var n=[this.tileAtPoint({x:e.left,y:e.top},t),this.tileAtPoint({x:e.right,y:e.top},t),this.tileAtPoint({x:e.left,y:e.bottom},t),this.tileAtPoint({x:e.right,y:e.bottom},t)];return{start:{x:Math.min(n[0].x,n[1].x,n[2].x,n[3].x),y:Math.min(n[0].y,n[1].y,n[2].y,n[3].y)},end:{x:Math.max(n[0].x,n[1].x,n[2].x,n[3].x),y:Math.max(n[0].y,n[1].y,n[2].y,n[3].y)}}},this._getTiles=function(e,n,i,A){var o,a,c,s,u,g,l,M,h,d,f,E=[],T=!1,N=this._options.keepLower?this._options.minLevel:e;for(e<N&&(e=N),f=N;f<=e&&(l=this._getTileRange(f,n),u=l.start,g=l.end,s=this.tilesAtZoom(f),this._options.wrapX||(u.x=Math.min(Math.max(u.x,0),s.x-1),g.x=Math.min(Math.max(g.x,0),s.x-1),f===N&&this._options.keepLower&&(u.x=0,g.x=s.x-1)),this._options.wrapY||(u.y=Math.min(Math.max(u.y,0),s.y-1),g.y=Math.min(Math.max(g.y,0),s.y-1),f===N&&this._options.keepLower&&(u.y=0,g.y=s.y-1)),!(this._options.gcs&&this._options.gcs!==this.map().gcs()&&f!==N&&(g.x+1-u.x)*(g.y+1-u.y)>this.map().size().width*this.map().size().height/this._options.tileWidth/this._options.tileHeight*16));f+=1)for(o=u.x;o<=g.x;o+=1)for(a=u.y;a<=g.y;a+=1)c={level:f,x:o,y:a},M={level:f,x:o,y:a},this._options.wrapX&&(M.x=t(M.x,s.x)),this._options.wrapY&&(M.y=t(M.y,s.y)),this.isValid(M)&&(A&&E.length<I.length&&(d=I[E.length],T=T||c.level!==d.level||c.x!==d.x||c.y!==d.y),E.push({index:c,source:M}));if(A){if(!T&&E.length===I.length)return;I.splice(0,I.length),r.each(E,function(t,e){I.push(e.index)})}if(i){h={x:(u.x+g.x)/2,y:(u.y+g.y)/2,level:e,bottomLevel:e};for(var y=Math.max(g.x-u.x,g.y-u.y)+1;y>=1;y/=2)h.bottomLevel-=1;E.sort(this._loadMetric(h)),this._queue&&this._queue.batch(!0)}for(this.cache.size<E.length&&(console.log("Increasing cache size to "+E.length),this.cache.size=E.length),o=0;o<E.length;o+=1)E[o]=this._getTileCached(E[o].index,E[o].source,!0);return this.cache.purge(this.remove.bind(this)),E},this.prefetch=function(t,e){var n;return n=this._getTiles(t,e,!0),r.when.apply(r,n.map(function(t){return t.fetch()}))},this._loadMetric=function(t){return function(e,n){var i,r,A,o,a,c,s;return e=e.index||e,n=n.index||n,e.level!==n.level?t.bottomLevel&&e.level>=t.bottomLevel!=n.level>=t.bottomLevel?e.level>=t.bottomLevel?-1:1:e.level-n.level:(s=Math.pow(2,e.level-t.level),a=(t.x+.5)*s-.5,c=(t.y+.5)*s-.5,A=e.x-a,o=e.y-c,i=A*A+o*o,A=n.x-a,o=n.y-c,r=A*A+o*o,i-r)}},this.fromLevel=function(t,e){var n=Math.pow(2,-e);return{x:t.x*n,y:t.y*n}},this.toLevel=function(t,e){var n=Math.pow(2,e);return{x:t.x*n,y:t.y*n}},this.drawTile=function(t){var e=t.toString();this._activeTiles.hasOwnProperty(e)?this._moveToTop(t):this._drawTile(t),this._activeTiles[e]=t},this._drawTile=function(t){if(null!==this.renderer())throw new Error("This draw method is not valid on renderer managed layers.");var e=r(this._getSubLayer(t.index.level)),n=this._tileBounds(t),i=this._options.animationDuration,A=r('<div class="geo-tile-container"/>').attr("tile-reference",t.toString());A.append(t.image),A.css({position:"absolute",left:n.left-parseInt(e.attr("offsetx")||0,10)+"px",top:n.top-parseInt(e.attr("offsety")||0,10)+"px"}),i>0&&t.fadeIn(i),e.append(A),t.catch(function(){console.warn("Could not load tile at "+t.toString()),this._remove(t)}.bind(this))},this.remove=function(t){var e=t.toString(),n=this._activeTiles[e];return n instanceof l&&this._remove(n),delete this._activeTiles[e],n},this._remove=function(t){t.image&&(t.image.parentElement?r(t.image.parentElement).remove():console.log("No parent element to remove "+t.toString(),t),r(t.image).remove())},this._moveToTop=function(t){r.noop(t)},this._getViewBounds=function(){var t=this.map(),e=t.zoom(),n=this._options.tileRounding(e),i=Math.pow(2,e-n),r=t.size(),A=this.displayToLevel({x:0,y:0}),o=this.displayToLevel({x:r.width,y:0}),a=this.displayToLevel({x:0,y:r.height}),c=this.displayToLevel({x:r.width,y:r.height});return{level:n,scale:i,left:Math.min(A.x,o.x,a.x,c.x),right:Math.max(A.x,o.x,a.x,c.x),top:Math.min(A.y,o.y,a.y,c.y),bottom:Math.max(A.y,o.y,a.y,c.y)}},this._purge=function(t,e,n){var i,r;if(!this._updating){n||(n=this._getViewBounds());for(r in this._activeTiles)i=this._activeTiles[r],this._canPurge(i,n,t,e)&&this.remove(i);return this}},this.clear=function(){var t,e=[];for(t in this._activeTiles)e.push(this.remove(t));return this._tileTree={},I=[],e},this.reset=function(){this.clear(),this._cache.clear()},this.toLocal=function(t,e){var n=this.map(),i=n.unitsPerPixel(void 0===e?n.zoom():e);return{x:t.x/i,y:this._topDown()*t.y/i}},this.fromLocal=function(t,e){var n=this.map(),i=n.unitsPerPixel(void 0===e?n.zoom():e);return{x:t.x*i,y:this._topDown()*t.y*i}},this._topDown=function(){return this._options.topDown?1:-1},this._getSubLayer=function(t){if(this.canvas()){var e=this.canvas().find("div[data-tile-layer="+t.toFixed()+"]").get(0);return e||(e=r('<div class=geo-tile-layer data-tile-layer="'+t.toFixed()+'"/>').css({"transform-origin":"0px 0px","line-height":0,"font-size":0}).get(0),this.canvas().append(e)),e}},this._updateSubLayers=function(t,e){var n=this.canvas(),i=parseInt(n.attr("lastlevel"),10),A=parseInt(n.attr("lastoffsetx")||0,10),o=parseInt(n.attr("lastoffsety")||0,10);if(i===t&&Math.abs(A-e.left)<65536&&Math.abs(o-e.top)<65536)return{x:A,y:o};var a=this.map(),c=this._tileOffset(t),s=parseInt((e.left+e.right-a.size().width)/2+c.x,10),u=parseInt((e.top+e.bottom-a.size().height)/2+c.y,10);return n.find(".geo-tile-layer").each(function(e,n){var i=r(n),A=parseInt(i.data("tileLayer"),10);i.css("transform","scale("+Math.pow(2,t-A)+")");var o=parseInt(s/Math.pow(2,t-A),10),a=parseInt(u/Math.pow(2,t-A),10),c=o-parseInt(i.attr("offsetx")||0,10),g=a-parseInt(i.attr("offsety")||0,10);i.attr({offsetx:o,offsety:a}),i.find(".geo-tile-container").each(function(t,e){r(e).css({left:parseInt(r(e).css("left"),10)-c+"px",top:parseInt(r(e).css("top"),10)-g+"px"})})}),n.attr({lastoffsetx:s,lastoffsety:u,lastlevel:t}),{x:s,y:u}},this._update=function(t){if(!t||!t.event||t.event.event!==a.zoom&&t.event.event!==a.rotate){var e,n=this.map(),i=n.bounds(void 0,null);if(this._updateSubLayers){var A=n.zoom(),o=this._options.tileRounding(A),c=this._getViewBounds(),s=this._updateSubLayers(o,c)||{x:0,y:0},u=this._tileOffset(o);if(null===this.renderer()){var g=Math.pow(2,A-o),l=n.rotation(),M=-u.x+-(c.left+c.right)/2+s.x,d=-u.y+-(c.bottom+c.top)/2+s.y,f=(M+n.size().width/2)*g,I=(d+n.size().height/2)*g;this.canvas().css({"transform-origin":-M+"px "+-d+"px"});var E="translate("+f+"px,"+I+"px)scale("+g+")";l&&(E+="rotate("+180*l/Math.PI+"deg)"),this.canvas().css("transform",E)}this.canvas().attr({scale:Math.pow(2,A-o),dx:-u.x+-(c.left+c.right)/2,dy:-u.y+-(c.bottom+c.top)/2,offsetx:s.x,offsety:s.y,rotation:n.rotation()})}e=this._getTiles(o,i,!0,!0),void 0!==e&&(this._tileTree={},e.forEach(function(t){if(t.fetched())this.drawTile(t),this._setTileTree(t);else if(t._queued){var e=this._queue?this._queue.get(t):-1;e>=0&&this._queue.add(t)}else t.then(function(){if(!h&&t===this.cache.get(t.toString())){var e=n.zoom(),i=this._options.tileRounding(e),r=this._getViewBounds();if(this._canPurge(t,r,i))return void this.remove(t);this.drawTile(t),this._setTileTree(t)}}.bind(this)),this.addPromise(t),t._queued=!0}.bind(this)),r.when.apply(r,e).done(function(){var t=this.map(),e=t.zoom(),n=this._options.tileRounding(e);this._purge(n,!0)}.bind(this)))}},this._setTileTree=function(t){if(!this._options.keepLower){var e=t.index;this._tileTree[e.level]=this._tileTree[e.level]||{},this._tileTree[e.level][e.x]=this._tileTree[e.level][e.x]||{},this._tileTree[e.level][e.x][e.y]=t}},this._getTileTree=function(t){return((this._tileTree[t.level]||{})[t.x]||{})[t.y]||null},this._isCovered=function(t){var e=t.index.level,n=t.index.x,i=t.index.y,r=[];return(r=this._getTileTree({level:e-1,x:Math.floor(n/2),y:Math.floor(i/2)}))?[r]:(r=[this._getTileTree({level:e+1,x:2*n,y:2*i}),this._getTileTree({level:e+1,x:2*n+1,y:2*i}),this._getTileTree({level:e+1,x:2*n,y:2*i+1}),this._getTileTree({level:e+1,x:2*n+1,y:2*i+1})],r.every(function(t){return null!==t})?r:null)},this._outOfBounds=function(t,e){var n=this._tileOffset(t.index.level),i=1;return t.index.level!==e.level&&(i=Math.pow(2,(e.level||0)-(t.index.level||0))),(t.bottom-n.y)*i<e.top||(t.left-n.x)*i>e.right||(t.top-n.y)*i>e.bottom||(t.right-n.x)*i<e.left},this._canPurge=function(t,e,n,i){if(this._options.keepLower){if((n=n||0)<t.index.level&&t.index.level!==this._options.minLevel)return!0;if(t.index.level===this._options.minLevel&&!this._options.wrapX&&!this._options.wrapY)return!1}else if((i||this._isCovered(t))&&n!==t.index.level)return!0;return!!e&&this._outOfBounds(t,e)},this.displayToLevel=function(t,e){var n=this.map(),i=n.zoom(),r=this._options.tileRounding(i),A=n.unitsPerPixel(void 0===e?r:e);if(void 0===t){var o=n.size();t={x:o.width/2,y:o.height/2}}var a=n.displayToGcs(t,this._options.gcs||null);return{x:a.x/A,y:this._topDown()*a.y/A}},this.url=function(t){return void 0===t?this._options.originalUrl:t===this._options.originalUrl?this:(this._options.originalUrl=t,"string"===r.type(t)&&(t=i(t)),this._options.url=t,this.reset(),this.map().draw(),this)},this.subdomains=function(t){return void 0===t?this._options.subdomains:(t&&("string"===r.type(t)&&(t=t.indexOf(",")>=0?t.split(","):t.split("")),this._options.subdomains=t,this.reset(),this.map().draw()),this)},this._tileOffset=function(t){return void 0===E[t]&&(E[t]=this._options.tileOffset(t)),E[t]},this._init=function(){var t;if(d.apply(this,arguments),null===this.renderer())for(t=0;t<=this._options.maxLevel;t+=1)this._getSubLayer(t);return this},this._exit=function(){return this.reset(),f.apply(this,arguments),h=!0,this},g("tile",this),this};return o.defaults={minLevel:0,maxLevel:18,tileOverlap:0,tileWidth:256,tileHeight:256,wrapX:!0,wrapY:!1,url:null,subdomains:"abc",tileOffset:function(t){return{x:0,y:0}},topDown:!1,keepLower:!0,tileRounding:Math.round,attribution:"",animationDuration:0},r(o,A),o}()},function(t,e){t.exports=function(){"use strict";var t=function(e){return this instanceof t?(e=e||{},this._size=e.size||64,Object.defineProperty(this,"size",{get:function(){return this._size},set:function(t){for(;this._atime.length>t;)this.remove(this._atime[this._atime.length-1]);this._size=t}}),Object.defineProperty(this,"length",{get:function(){return this._atime.length}}),this._access=function(t){return this._atime.indexOf(t)},this.remove=function(t){var e="string"==typeof t?t:t.toString();return e in this._cache&&(this._atime.splice(this._access(e),1),delete this._cache[e],!0)},this.clear=function(){return this._cache={},this._atime=[],this},this.get=function(t,e){return(t="string"==typeof t?t:t.toString())in this._cache?(e||(this._atime.splice(this._access(t),1),this._atime.unshift(t)),this._cache[t]):null},this.add=function(t,e,n){this.remove(t);var i=t.toString();this._cache[i]=t,this._atime.unshift(i),n||this.purge(e)},this.purge=function(t){for(var e;this._atime.length>this.size;){e=this._atime.pop();var n=this._cache[e];t&&t(n),delete this._cache[e]}},this.clear(),this):new t(e)};return t}()},function(t,e,n){var i=n(1),r=n(4),A=n(127),o=function(t){"use strict";if(!(this instanceof o))return new o(t);t=t||{},A.call(this,t);var e=this,n=void 0===t.position?[]:t.position,r=this._init;return this.position=function(t){return void 0===t?n:(n=t,e.dataTime().modified(),e.modified(),e)},this._init=function(t){r.call(e,t);var A=i.extend({},{strokeWidth:function(){return 1},strokeColor:function(){return{r:1,g:1,b:1}}},void 0===t.style?{}:t.style);e.style(A),n&&e.dataTime().modified()},this._init(t),this};r(o,A),t.exports=o},function(t,e,n){var i=n(4),r=n(224),A=function(t){"use strict";if(!(this instanceof A))return new A(t);t=t||{},t.ul=void 0===t.ul?[0,1,0]:t.ul,t.lr=void 0===t.lr?[1,0,0]:t.lr,t.depth=void 0===t.depth?0:t.depth,r.call(this,t);var e=this,n=[t.ul.x,t.lr.y,t.depth],i=[t.ul.x,t.ul.y,t.depth],o=[t.lr.x,t.lr.y,t.depth],a=t.depth,c=void 0===t.drawOnAsyncResourceLoad,s=this._init;return this.origin=function(t){if(void 0===t)return n;if(t instanceof Array){if(t.length>3||t.length<2)throw"Origin point requires point in 2 or 3 dimension";n=t.slice(0),2===n.length&&(n[2]=a)}return e.dataTime().modified(),e.modified(),e},this.upperLeft=function(t){if(void 0===t)return i;if(t instanceof Array){if(t.length>3||t.length<2)throw"Upper left point requires point in 2 or 3 dimension";i=t.slice(0),2===i.length&&(i[2]=a)}return e.dataTime().modified(),e.modified(),e},this.lowerRight=function(t){if(void 0===t)return o;if(t instanceof Array){if(t.length>3||t.length<2)throw"Lower right point requires point in 2 or 3 dimension";o=t.slice(0),2===o.length&&(o[2]=a),e.dataTime().modified()}return e.dataTime().modified(),e.modified(),e},this.drawOnAsyncResourceLoad=function(t){return void 0===t?c:(c=t,e)},this._init=function(t){var n=null;s.call(e,t),n=e.style(),void 0===n.image&&(n.image=null),e.style(n)},this._init(t),this};i(A,r),t.exports=A},function(t,e,n){var i=n(1),r=n(4),A=n(127),o=function(t){"use strict";function e(){var t=s.position(),e=s.polygon();l=s.data().map(function(n,i){var r,A,o=e(n);return r=(o.outer||[]).map(function(e,r){return t.call(s,e,r,n,i)}),A=(o.inner||[]).map(function(e){return(e||[]).map(function(e,r){return t.call(s,e,r,n,i)})}),{outer:r,inner:A}})}if(!(this instanceof o))return new o(t);t=t||{},A.call(this,t);var r,a,c=n(120),s=this,u=this._init,g=this.data,l={outer:[],inner:[]};return a=void 0===t.polygon?function(t){return t}:t.polygon,r=void 0===t.position?function(t){return t}:t.position,this.data=function(t){var n=g(t);return void 0!==t&&e(),n},this.polygon=function(t){return void 0===t?a:(a=t,s.dataTime().modified(),s.modified(),e(),s)},this.position=function(t){return void 0===t?r:(r=t,s.dataTime().modified(),s.modified(),e(),s)},this.pointSearch=function(t){var e=[],n=[],i=s.data();return l.forEach(function(r,A){c.pointInPolygon(t,r.outer,r.inner)&&(n.push(A),e.push(i[A]))}),{index:n,found:e}},this._init=function(t){u.call(s,t);var e=i.extend({},{fillColor:{r:0,g:.5,b:.5},fillOpacity:1},void 0===t.style?{}:t.style);s.style(e),r&&s.dataTime().modified()},this._init(t),this};r(o,A),t.exports=o},function(t,e,n){var i=n(4),r=n(127),A=function(t){"use strict";if(!(this instanceof A))return new A(t);t=t||{},r.call(this,t);var e=n(1),i=n(129),o=n(124),a=n(125),c=n(120),s=n(226),u=this,g=this._init,l=null,M=i(),h=this.data,d=0,f=t.clustering,I=null,E=[],T=null,N=!1;return this.clustering=function(t){return void 0===t?f:(f&&!t?(I=null,f=!1,h(E),E=null):!f&&t&&(f=!0,u._clusterData()),u)},this._clusterData=function(){if(f){var t=!0===f?{radius:.01}:f,e=u.position();I=new o(t,u.layer().width(),u.layer().height()),E.forEach(function(t,n){var i=c.normalizeCoordinates(e(t,n));i.index=n,I.addPoint(i)}),T=null,u._handleZoom(u.layer().map().zoom())}},this._handleZoom=function(t){var e=Math.floor(t);if(f&&e!==T){T=e;var n=I.points(e).map(function(t){return E[t.index]});I.clusters(e).forEach(function(t){t.__cluster=!0,t.__data=[],t.obj.each(function(e){t.__data.push(E[e.index])}),n.push(t)}),N=!0,u.data(n),u.layer().map().draw()}},this.position=function(t){return void 0===t?u.style("position"):(t=c.ensureFunction(t),u.style("position",function(e,n){return e.__cluster?e:t(e,n)}),u.dataTime().modified(),u.modified(),u)},this._updateRangeTree=function(){if(!(M.getMTime()>=u.dataTime().getMTime())){var t,e,n=u.style.get("radius"),i=u.style.get("stroke"),r=u.style.get("strokeWidth");e=u.position(),d=0,t=u.data().map(function(t,A){var o=e(t);return o.idx=A,d=Math.max(d,n(t,A)+(i(t,A)?r(t,A):0)),o}),l=new s.RangeTree(t),M.modified()}},this.pointSearch=function(t){var e,n,i,r,A,o,a,c=[],g=[],M=[],h=u.style.get("stroke"),f=u.style.get("strokeWidth"),I=u.style.get("radius");return u.selectionAPI()?(i=u.data())&&i.length?(A=u.layer().map(),o=A.gcsToDisplay(t),a=[A.displayToGcs({x:o.x-d,y:o.y-d}),A.displayToGcs({x:o.x+d,y:o.y-d}),A.displayToGcs({x:o.x-d,y:o.y+d}),A.displayToGcs({x:o.x+d,y:o.y+d})],e={x:Math.min(a[0].x,a[1].x,a[2].x,a[3].x),y:Math.min(a[0].y,a[1].y,a[2].y,a[3].y)},n={x:Math.max(a[0].x,a[1].x,a[2].x,a[3].x),y:Math.max(a[0].y,a[1].y,a[2].y,a[3].y)},r=new s.Box(s.vect(e.x,e.y),s.vect(n.x,n.y)),u._updateRangeTree(),l.search(r).forEach(function(t){c.push(t.idx)}),c.forEach(function(t){var e,n,r,a,c=i[t],s=u.position()(c,t);r=I(i[t],t),r+=h(i[t],t)?f(i[t],t):0,a=r*r,s=A.gcsToDisplay(s),e=s.x-o.x,n=s.y-o.y,e*e+n*n<=a&&(g.push(c),M.push(t))}),{data:g,index:M}):{found:[],index:[]}:[]},this.boxSearch=function(t,e){var n=u.position(),i=[];return u.data().forEach(function(r,A){var o=n(r);o.x>=t.x&&o.x<=e.x&&o.y>=t.y&&o.y<=e.y&&i.push(A)}),i},this.data=function(t){return void 0===t?h():(f&&!N?(E=t,u._clusterData()):h(t),N=!1,u)},this._boundingBox=function(t){var e,n;return e=u.position()(t),e=u.layer().map().gcsToDisplay(e),n=u.style().radius(t),{min:{x:e.x-n,y:e.y-n},max:{x:e.x+n,y:e.y+n}}},this._init=function(t){g.call(u,t);var n=e.extend({},{radius:5,stroke:!0,strokeColor:{r:.851,g:.604,b:0},strokeWidth:1.25,strokeOpacity:1,fillColor:{r:1,g:.839,b:.439},fill:!0,fillOpacity:.8,sprites:!1,sprites_image:null,position:function(t){return t}},void 0===t.style?{}:t.style);void 0!==t.position&&(n.position=t.position),u.style(n),u.dataTime().modified(),u.geoOn(a.zoom,function(t){u._handleZoom(t.zoomLevel)})},u};A.create=function(t,e,n){"use strict";return n.type="point",r.create(t,n)},i(A,r),t.exports=A},function(t,e){/**
+ * @license
+ * Includes several support classes adapted from wigglemaps.
+ *
+ * https://github.com/dotskapes/wigglemaps
+ *
+ * Copyright 2013 Preston and Krejci (dotSkapes Virtual Lab)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+!function(){"use strict";function e(t,e){return new o(t,e)}var n=function(t,e,r,A){this.data=t[A],this.left=null,this.right=null,e!==A&&(this.left=new n(t,e,A-1,parseInt((e+(A-1))/2,10))),r!==A&&(this.right=new n(t,A+1,r,parseInt((r+(A+1))/2,10))),this.elem=t,this.start=e,this.end=r,this.subtree=null,this.search=i},i=function(t,e){var n=this,i=function(t,e,i){return t.y_in(n.subtree[e])&&t.y_in(n.subtree[i])},r=function(t,e,A,o,a){if(i(e,A,o))for(var c=A;c<=o;c++)t.push(n.subtree[c]);else e.y_in(n.subtree[a])&&t.push(n.subtree[a]),e.y_left(n.subtree[a])?a!==o&&r(t,e,a+1,o,parseInt((o+(a+1))/2,10)):e.x_right(n.subtree[a])?a!==A&&r(t,e,A,a-1,parseInt((A+(a-1))/2,10)):(a!==o&&r(t,e,a+1,o,parseInt((o+(a+1))/2,10)),a!==A&&r(t,e,A,a-1,parseInt((A+(a-1))/2,10)))};if(function(t){return t.x_in(n.elem[n.start])&&t.x_in(n.elem[n.end])}(e))return this.subtree||(this.subtree=this.elem.slice(this.start,this.end+1),this.subtree.sort(function(t,e){return t.y-e.y})),void r(t,e,0,this.subtree.length-1,parseInt((this.subtree.length-1)/2,10));e.contains(this.data)&&t.push(this.data),e.x_left(this.data)?this.right&&this.right.search(t,e):e.x_right(this.data)?this.left&&this.left.search(t,e):(this.left&&this.left.search(t,e),this.right&&this.right.search(t,e))},r=function(t){t.sort(function(t,e){return t.x-e.x}),t.length>0?this.root=new n(t,0,t.length-1,parseInt((t.length-1)/2,10)):this.root=null,this.search=function(t){if(!this.root)return[];var e=t.clone(),n=[];return this.root.search(n,e),n}},A=function(t,n){this.min=t.clone(),this.max=n.clone(),this.contains=function(e){return t.x<=e.x&&n.x>=e.x&&t.y<=e.y&&n.y>=e.y},this.x_in=function(e){return t.x<=e.x&&n.x>=e.x},this.x_left=function(e){return t.x>=e.x},this.x_right=function(t){return n.x<=t.x},this.y_in=function(e){return t.y<=e.y&&n.y>=e.y},this.y_left=function(e){return t.y>=e.y},this.y_right=function(t){return n.y<=t.y},this.area=function(){return(this.max.x-this.min.x)*(this.max.y-this.min.y)},this.height=function(){return this.max.y-this.min.y},this.width=function(){return this.max.x-this.min.x},this.vertex=function(t){switch(t){case 0:return this.min.clone();case 1:return new e(this.max.x,this.min.y);case 2:return this.max.clone();case 3:return new e(this.min.x,this.max.y);default:throw"Index out of bounds: "+t}},this.intersects=function(t){for(var n=0;n<4;n++)for(var i=0;i<4;i++)if(e.intersects(this.vertex(n),this.vertex((n+1)%4),t.vertex(i),t.vertex((i+1)%4)))return!0;return!!(this.contains(t.min)&&this.contains(t.max)&&this.contains(new e(t.min.x,t.max.y))&&this.contains(new e(t.max.x,t.min.y)))||!!(t.contains(this.min)&&t.contains(this.max)&&t.contains(new e(this.min.x,this.max.y))&&t.contains(new e(this.max.x,this.min.y)))},this.union=function(t){this.min.x=Math.min(this.min.x,t.min.x),this.min.y=Math.min(this.min.y,t.min.y),this.max.x=Math.max(this.max.x,t.max.x),this.max.y=Math.max(this.max.y,t.max.y)},this.centroid=function(){return new e((this.max.x+this.min.x)/2,(this.max.y+this.min.y)/2)},this.clone=function(){return new A(t,n)}},o=function(t,e){this.x=t,this.y=e,this.add=function(t){return this.x+=t.x,this.y+=t.y,this},this.sub=function(t){return this.x-=t.x,this.y-=t.y,this},this.scale=function(t){return this.x*=t,this.y*=t,this},this.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},this.normalize=function(){var t=this.length();return 0===t?this:(this.x/=t,this.y/=t,this)},this.div=function(t){return this.x/=t.x,this.y/=t.y,this},this.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},this.zero=function(t){return t=t||0,this.length()<=t},this.dot=function(t){return this.x*t.x+this.y*t.y},this.cross=function(t){return this.x*t.y-this.y*t.x},this.rotate=function(t){var e=Math.cos(t),n=Math.sin(t);return xp=e*this.x-n*this.y,yp=n*this.x+e*this.y,this.x=xp,this.y=yp,this},this.clone=function(){return new o(this.x,this.y)},this.array=function(){return[this.x,this.y]}};e.scale=function(t,e){return t.clone().scale(e)},e.add=function(t,e){return t.clone().add(e)},e.sub=function(t,e){return t.clone().sub(e)},e.dist=function(t,e){return t.clone().sub(e).length()},e.dir=function(t,e){return t.clone().sub(e).normalize()},e.dot=function(t,e){return t.x*e.x+t.y*e.y},e.cross=function(t,e){return t.x*e.y-t.y*e.x},e.left=function(t,n,i,r){r||(r=0);var A=e.sub(n,t),o=e.sub(i,t);return e.cross(A,o)>=-r},e.intersects=function(t,n,i,r,A){return A||(A=0),e.left(t,n,i,A)!=e.left(t,n,r,A)&&e.left(i,r,n,A)!=e.left(i,r,t,A)},e.intersect2dt=function(t,e,n,i){var r=t.x*(i.y-n.y)+e.x*(n.y-i.y)+i.x*(e.y-t.y)+n.x*(t.y-e.y);if(0===r)return 1/0;t.x,i.y,n.y,n.x,t.y,i.y,i.x,n.y,t.y;return-(t.x*(n.y-e.y)+e.x*(t.y-n.y)+n.x*(e.y-t.y))/r},e.intersect2dpos=function(t,n,i,r){var A=t.x*(r.y-i.y)+n.x*(i.y-r.y)+r.x*(n.y-t.y)+i.x*(t.y-n.y);if(0===A)return 1/0;var o=t.x*(r.y-i.y)+i.x*(t.y-r.y)+r.x*(i.y-t.y),a=o/A,c=e.sub(n,t);return c.scale(a),e.add(t,c)},e.rotate=function(t,n){var i=Math.cos(n),r=Math.sin(n);return xp=i*t.x-r*t.y,yp=r*t.x+i*t.y,new e(xp,yp)},e.normalize=function(t){return t.clone().normalize()},t.exports={Box:A,vect:e,RangeTree:r}}()},function(t,e,n){var i=n(1),r=n(4),A=n(127),o=function(t){"use strict";var e=n(147),r=n(120);if(!(this instanceof o))return new o(t);t=t||{},A.call(this,t);var a,c,s=this,u=this._init,g=[];return this._objectListStart=function(t){i.each(t,function(t,e){e.used=!1})},this._objectListGet=function(t,e){for(var n=0;n<t.length;n+=1)if(t[n].entry===e)return t[n].used=!0,t[n].value},this._objectListAdd=function(t,e,n){t.push({entry:e,value:n,used:!0})},this._objectListEnd=function(t){for(var e=t.length-1;e>=0;e-=1)t[e].used||t.splice(e,1)},this.pointSearch=function(t){var n,A=[],o=[],a=s.data(),u=[{},{},{},{}],g=[{},{},{},{}],l=s.layer().map(),M=[0,1,2,0],h=[1,2,3,1];return t=e.transformCoordinates(l.ingcs(),l.gcs(),t),c||this._generateQuads(),i.each([c.clrQuads,c.imgQuads],function(e,i){i.forEach(function(e,i){for(n=0;n<M.length;n+=1)u[n].x=e.pos[3*M[n]],u[n].y=e.pos[3*M[n]+1],u[n].z=e.pos[3*M[n]+2],g[n].x=e.pos[3*h[n]],g[n].y=e.pos[3*h[n]+1],g[n].z=e.pos[3*h[n]+2];(r.pointInPolygon(t,u)||r.pointInPolygon(t,g))&&(o.push(e.idx),A.push(a[e.idx]))})}),{index:o,found:A}},this.position=function(t){return void 0===t?s.style("position"):(s.style("position",r.ensureFunction(t)),s.dataTime().modified(),s.modified(),s)},this._positionToQuad=function(t,n,r,A){var o=t.call(s,r,A);if(o.ll&&o.ur||o.ul&&o.lr){var a=s.gcs(),c=s.layer().map().gcs(),u={};return i.each(["ll","lr","ul","ur"],function(t,i){void 0!==o[i]&&(u[i]={},void 0===o[i].x?u[i]=[o[i][0],o[i][1],o[i][2]]:u[i]=[o[i].x,o[i].y,o[i].z],void 0===u[i][2]&&(u[i][2]=n.call(s,r,A)),a!==c&&(u[i]=e.transformCoordinates(a,c,u[i])))}),u.ll=u.ll||[u.ul[0],u.lr[1],(u.ul[2]+u.lr[2])/2],u.lr=u.lr||[u.ur[0],u.ll[1],(u.ur[2]+u.ll[2])/2],u.ur=u.ur||[u.lr[0],u.ul[1],(u.lr[2]+u.ul[2])/2],u.ul=u.ul||[u.ll[0],u.ur[1],(u.ll[2]+u.ur[2])/2],u}},this._generateQuads=function(){var t,e,n=s.position(),A=r.ensureFunction(s.style("image")),o=r.ensureFunction(s.style("color")),u=r.ensureFunction(s.style("depth")),l=r.ensureFunction(s.style("opacity")),M=r.ensureFunction(s.style("drawOnAsyncResourceLoaded")),h=r.ensureFunction(s.style("previewColor")),d=r.ensureFunction(s.style("previewImage")),f=s.data(),I=[],E=[],T=[0,0,0];return s._objectListStart(g),i.each(f,function(c,f){if(f._cachedQuad)return e=f._cachedQuad.diag2,(void 0===t||f._cachedQuad.diag2&&f._cachedQuad.diag2<t)&&(T=f._cachedQuad.ll,t=f._cachedQuad.diag2),f._cachedQuad.clrquad&&I.push(f._cachedQuad.clrquad),void(f._cachedQuad.imgquad&&E.push(f._cachedQuad.imgquad));var N,y,p,C,D,x,B,w,m={};if(C=s._positionToQuad(n,u,f,c),x=l.call(s,f,c),void 0!==C&&x){if(e=Math.pow(C.ll[0]-C.ur[0],2)+Math.pow(C.ll[1]-C.ur[1],2)+Math.pow(C.ll[2]-C.ur[0],2)+Math.pow(C.lr[0]-C.ur[0],2)+Math.pow(C.lr[1]-C.ur[1],2)+Math.pow(C.lr[2]-C.ur[0],2),m.diag2=e,m.ll=C.ll,(void 0===t||e&&e<t)&&(T=C.ll,t=e),C=[C.ll[0],C.ll[1],C.ll[2],C.lr[0],C.lr[1],C.lr[2],C.ul[0],C.ul[1],C.ul[2],C.ur[0],C.ur[1],C.ur[2]],D=A.call(s,f,c)){if(y=s._objectListGet(g,D),void 0===y&&(D instanceof Image?y=D:(y=new Image,y.src=D),s._objectListAdd(g,D,y)),N={idx:c,pos:C,opacity:x},y.complete&&y.naturalWidth&&y.naturalHeight)N.image=y;else if(B=void 0,w=d.call(s,f,c),w&&w instanceof Image&&w.complete&&w.naturalWidth&&w.naturalHeight?N.image=w:(B=h.call(s,f,c),null===B&&(B=void 0),void 0!==B&&(N.color=r.convertColor(B),I.push(N),m.keep=!1)),M.call(s,f,c))p=y.onload,y.onload=function(){if(void 0!==B&&i.inArray(N,I)>=0&&I.splice(i.inArray(N,I),1),N.image=y,s.dataTime().modified(),s.modified(),s._update(),s.layer().draw(),p)return p.apply(this,arguments)};else if(void 0===B&&!N.image)return;E.push(N),m.imgquad=N}else N={idx:c,pos:C,opacity:x,color:r.convertColor(o.call(s,f,c))},I.push(N),m.clrquad=N;!1!==a&&!1!==m.keep&&(f._cachedQuad=m)}}),s._objectListEnd(g),c={clrQuads:I,imgQuads:E,origin:T}},this._init=function(t){t=t||{},u.call(s,t),a=!1!==t.cacheQuads;var e=i.extend({},{color:{r:1,g:1,b:1},opacity:1,depth:0,drawOnAsyncResourceLoaded:!0,previewColor:null,previewImage:null,image:function(t){return t.image},position:function(t){return t}},void 0===t.style?{}:t.style);void 0!==t.position&&(e.position=r.ensureFunction(t.position)),s.style(e),s.dataTime().modified()},s};o.create=function(t,e){"use strict";return e=e||{},e.type="quad",A.create(t,e)},r(o,A),t.exports=o},function(t,e,n){var i=n(1),r=n(4),A=n(127),o=function(t){"use strict";if(!(this instanceof o))return new o(t);t=t||{},A.call(this,t);var e,n,r,a,c=this,s=this._init;return e=t.position||function(t){return t},n=t.intensity||function(t){return 1},r=t.maxIntensity||null,a=t.minIntensity?t.minIntensity:null,this.maxIntensity=function(t){return void 0===t?r:(r=t,c.dataTime().modified(),c.modified(),c)},this.minIntensity=function(t){return void 0===t?a:(a=t,c.dataTime().modified(),c.modified(),c)},this.position=function(t){return void 0===t?e:(e=t,c.dataTime().modified(),c.modified(),c)},this.intensity=function(t){return void 0===t?n:(n=t,c.dataTime().modified(),c.modified(),c)},this._init=function(t){s.call(c,t);var n=i.extend({},{opacity:.1,radius:10,blurRadius:10,color:{0:{r:0,g:0,b:0,a:0},.25:{r:0,g:0,b:1,a:.5},.5:{r:0,g:1,b:1,a:.6},.75:{r:1,g:1,b:0,a:.7},1:{r:1,g:0,b:0,a:.8}}},void 0===t.style?{}:t.style);c.style(n),e&&c.dataTime().modified()},this._build=function(){var t=c.data(),e=null;return r&&a||t.forEach(function(t){e=c.intensity()(t),r||a?(e>r&&(r=e),e<a&&(a=e)):r=a=e}),c.buildTime().modified(),c},this._init(t),this};r(o,A),t.exports=o},function(t,e,n){var i=n(4),r=n(127),A=function(t){"use strict";if(!(this instanceof A))return new A(t);var e=n(1);t=t||{},r.call(this,t);var i=this,o=this._init,a=this.style;this.origin=function(t){return void 0===t?a("origin"):(a("origin",t),i.dataTime().modified(),i.modified(),i)},this.delta=function(t){return void 0===t?a("delta"):(a("delta",t),i.dataTime().modified(),i.modified(),i)},this._init=function(t){o.call(i,t);var n=e.extend({},{strokeColor:"black",strokeWidth:2,strokeOpacity:1,originStyle:"none",endStyle:"arrow",origin:{x:0,y:0,z:0},delta:function(t){return t},scale:null},void 0===t.style?{}:t.style);void 0!==t.origin&&(n.origin=t.origin),i.style(n),i.dataTime().modified()}};i(A,r),t.exports=A},function(t,e,n){t.exports="0.9.1"},function(t,e,n){t.exports="787d983116b809a7cff8eceba0a43a555c0581a9"},function(t,e,n){n(125).d3={rescale:n(233)},t.exports={graphFeature:n(234),lineFeature:n(235),object:n(236),pathFeature:n(238),planeFeature:n(239),pointFeature:n(240),renderer:n(241),tileLayer:n(242),uniqueID:n(237),vectorFeature:n(243)}},function(t,e){t.exports="geo_d3_rescale"},function(t,e,n){var i=n(4),r=n(131).registerFeature,A=n(141),o=function(t){"use strict";var e=this;return this instanceof o?(A.call(this,t),this.select=function(){var t=e.renderer(),n={},i=e.nodeFeature(),r=e.linkFeatures();return n.nodes=t.select(i._d3id()),n.links=r.map(function(e){return t.select(e._d3id())}),n},this):new o(t)};i(o,A),r("d3","graph",o),t.exports=o},function(t,e,n){var i=n(4),r=n(131).registerFeature,A=n(145),o=function(t){"use strict";if(!(this instanceof o))return new o(t);var e=n(132),i=n(236),r=n(129),a=n(120);t=t||{},A.call(this,t),i.call(this);var c=this,s=this._init,u=r(),g=this._update;return this._init=function(t){return s.call(c,t),c},this._build=function(){var t=c.data()||[],n=c.style(),i=c.renderer(),r=c.position(),A=e.svg.line().x(function(t){return c.featureGcsToDisplay(t).x}).y(function(t){return c.featureGcsToDisplay(t).y});return g.call(c),n.fill=function(){return!1},t.forEach(function(t,e){var o,s,u=c.line()(t,e),g={};for(s in n)n.hasOwnProperty(s)&&(g[s]=function(n){return a.isFunction(n)?function(){return n(u[0],0,t,e)}:n}(n[s]));o={data:[u.map(function(n,i){return r(n,i,t,e)})],append:"path",attributes:{d:A},id:c._d3id()+e,classes:["d3LineFeature","d3SubLine-"+e],style:g},i._drawFeatures(o)}),u.modified(),c.updateTime().modified(),c},this._update=function(){return g.call(c),c.getMTime()>=u.getMTime()&&c._build(),c},this._init(t),this};i(o,A),r("d3","line",o),t.exports=o},function(t,e,n){var i=n(4),r=n(128),A=function(t){"use strict";var e=n(5),i=n(237);if(!(this instanceof e))return new A(t);r.call(this);var o="d3-"+i(),a=this._exit,c=this,s=this.draw;return this._d3id=function(){return o},this.select=function(){return c.renderer().select(c._d3id())},this.draw=function(){return c._update(),s(),c},this._exit=function(){c.renderer()._removeFeature(c._d3id()),a()},this};i(A,r),t.exports=A},function(t,e){var n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",i=function(){var t,e=[];for(e.length=8,t=0;t<8;t+=1)e[t]=n.charAt(Math.floor(Math.random()*n.length));return e.join("")};t.exports=i},function(t,e,n){var i=n(4),r=n(131).registerFeature,A=n(222),o=function(t){"use strict";if(!(this instanceof o))return new o(t);var e=n(1),i=n(132),r=n(236),a=n(129);t=t||{},A.call(this,t),r.call(this);var c=this,s=this._init,u=a(),g=this._update,l={};return l.style={},this._init=function(t){return s.call(c,t),c},this._build=function(){var t,n,r=c.data()||[],A=c.style();return g.call(c),n=function(t){var e={source:t.source,target:t.target};return i.svg.diagonal()(e)},t=[],r.forEach(function(e,n){var i,A;n<r.length-1&&(i=e,A=r[n+1],t.push({source:c.featureGcsToDisplay(i),target:c.featureGcsToDisplay(A)}))}),l.data=t,l.attributes={d:n},l.id=c._d3id(),l.append="path",l.classes=["d3PathFeature"],l.style=e.extend({fill:function(){return!1},fillColor:function(){return{r:0,g:0,b:0}}},A),c.renderer()._drawFeatures(l),u.modified(),c.updateTime().modified(),c},this._update=function(){return g.call(c),c.dataTime().getMTime()>=u.getMTime()&&c._build(),c},this._init(t),this};i(o,A),r("d3","path",o),t.exports=o},function(t,e,n){var i=n(4),r=n(131).registerFeature,A=n(223),o=function(t){"use strict";function e(t){return Array.isArray(t)?{x:t[0],y:t[1]}:t}if(!(this instanceof o))return new o(t);var i=n(236),r=n(129);A.call(this,t),i.call(this);var a=this,c={},s=this._update,u=this._init,g=r();return this._build=function(){var t=e(a.upperLeft()),n=e(a.lowerRight()),i=a.renderer(),r=a.style();return delete r.fill_color,delete r.color,delete r.opacity,c.id=a._d3id(),c.style=r,c.attributes={x:t.x,y:t.y,width:Math.abs(n.x-t.x),height:Math.abs(n.y-t.y),reference:r.reference},r.image?(c.append="image",c.attributes["xlink:href"]=r.image):c.append="rect",c.data=[0],c.classes=["d3PlaneFeature"],r.parentId&&(c.parentId=r.parentId),i._drawFeatures(c),g.modified(),a},this._update=function(){return s.call(a),a.dataTime().getMTime()>=g.getMTime()&&a._build(),a},this._init=function(t){return u.call(a,t||{}),a.style({stroke:function(){return!1},fill:function(){return!0},fillColor:function(){return{r:.3,g:.3,b:.3}},fillOpacity:function(){return.5}}),a},this._init(),this};i(o,A),r("d3","plane",o),t.exports=o},function(t,e,n){var i=n(4),r=n(131).registerFeature,A=n(225),o=function(t){"use strict";if(!(this instanceof o))return new o(t);var e=n(236),i=n(129);t=t||{},A.call(this,t),e.call(this);var r=this,a=this._init,c=this._update,s=i(),u={};return this._init=function(t){return a.call(r,t),r},this._build=function(){var t=r.data(),e=r.style.get(),n=r.renderer(),i=r.position();return c.call(r),t||(t=[]),u.id=r._d3id(),u.data=t,u.append="circle",u.attributes={r:n._convertScale(e.radius),cx:function(t){return r.featureGcsToDisplay(i(t)).x},cy:function(t){return r.featureGcsToDisplay(i(t)).y}},u.style=e,u.classes=["d3PointFeature"],r.renderer()._drawFeatures(u),s.modified(),r.updateTime().modified(),r},this._update=function(){return c.call(r),r.getMTime()>=s.getMTime()&&r._build(),r},this._init(t),this};i(o,A),r("d3","point",o),t.exports=o},function(t,e,n){var i=n(4),r=n(131).registerRenderer,A=n(136),o=function(t){"use strict";function e(t,e){var n;for(n in e)e.hasOwnProperty(n)&&t.attr(n,e[n])}function i(t,e){function n(){return e.fill.apply(h,arguments)?null:"none"}function i(){return e.stroke.apply(h,arguments)?null:"none"}var r,A,o;for(r in e)e.hasOwnProperty(r)&&(o=null,A=null,"strokeColor"===r?(A="stroke",o=h._convertColor(e[r],e.stroke)):"stroke"===r&&e[r]&&!e.hasOwnProperty("strokeColor")?(A="stroke",o=i):"strokeWidth"===r?(A="stroke-width",o=h._convertScale(e[r])):"strokeOpacity"===r?(A="stroke-opacity",o=e[r]):"fillColor"===r?(A="fill",o=h._convertColor(e[r],e.fill)):"fill"!==r||e.hasOwnProperty("fillColor")?"fillOpacity"===r&&(A="fill-opacity",o=e[r]):(A="fill",o=n),A&&t.style(A,o))}function r(t){return t?C.select(".group-"+t):C.select(".group-"+h._d3id())}function a(){var t=h.layer(),e=t.map(),n=e.size().width,i=e.size().height;if(E=n,T=i,!E||!T)throw"Map layer has size 0";N=Math.pow(n*n+i*i,.5),I={upperLeft:e.displayToGcs({x:0,y:0},null),lowerRight:e.displayToGcs({x:n,y:i},null),center:e.displayToGcs({x:n/2,y:i/2},null)}}var c=n(132),s=n(236),u=n(120),g=n(125),l=n(233);if(!(this instanceof o))return new o(t);A.call(this,t);var M=this._exit;s.call(this,t),t=t||{};var h=this,d=null,f={},I=null,E=null,T=null,N=null,y=1,p={dx:0,dy:0,rx:0,ry:0,rotation:0},C=null,D=null;return this._convertColor=function(t,e){return t=u.ensureFunction(t),e=e||function(){return!0},function(){var n="none";return e.apply(h,arguments)&&(n=t.apply(h,arguments),n.hasOwnProperty("r")&&n.hasOwnProperty("g")&&n.hasOwnProperty("b")&&(n=c.rgb(255*n.r,255*n.g,255*n.b))),n}},this._convertPosition=function(t){return t=u.ensureFunction(t),function(){return h.layer().map().worldToDisplay(t.apply(h,arguments))}},this._convertScale=function(t){return t=u.ensureFunction(t),function(){return t.apply(h,arguments)/y}},this._setTransform=function(){if(I||a(),d){var t,e,n,i,A,o,c=h.layer(),s=c.map(),u=s.gcsToDisplay(I.upperLeft,null),g=s.gcsToDisplay(I.lowerRight,null),l=s.gcsToDisplay(I.center,null),M=r(),f=h.canvas();null!==f.attr("scale")?(n=parseFloat(f.attr("scale")||1),A=parseFloat(f.attr("dx")||0)+parseFloat(f.attr("offsetx")||0),o=parseFloat(f.attr("dy")||0)+parseFloat(f.attr("offsety")||0),i=parseFloat(f.attr("rotation")||0),t=n*A+s.size().width/2,e=n*o+s.size().height/2):(n=Math.sqrt(Math.pow(g.y-u.y,2)+Math.pow(g.x-u.x,2))/N,i=s.rotation(),A=-E/2,o=-T/2,t=n*A+l.x,e=n*o+l.y);var C="matrix("+[n,0,0,n,t,e].join()+")";i&&(C+=" rotate("+[180*i/Math.PI,-A,-o].join()+")"),M.attr("transform",C),y=n,p.dx=t,p.dy=e,p.rx=A,p.ry=o,p.rotation=i}},this.baseToLocal=function(t){if(t={x:(t.x-p.dx)/y,y:(t.y-p.dy)/y},p.rotation){var e=Math.sin(-p.rotation),n=Math.cos(-p.rotation),i=t.x+p.rx,r=t.y+p.ry;t={x:i*n-r*e-p.rx,y:i*e+r*n-p.ry}}return t},this.localToBase=function(t){if(p.rotation){var e=Math.sin(p.rotation),n=Math.cos(p.rotation),i=t.x+p.rx,r=t.y+p.ry;t={x:i*n-r*e-p.rx,y:i*e+r*n-p.ry}}return t={x:t.x*y+p.dx,y:t.y*y+p.dy}},this._init=function(t){if(!h.canvas()){var e;t.widget=t.widget||!1,C="d3Parent"in t?c.select(t.d3Parent).append("svg"):c.select(h.layer().node().get(0)).append("svg"),D=C.append("defs");var n=D.append("filter").attr("id","geo-highlight").attr("x","-100%").attr("y","-100%").attr("width","300%").attr("height","300%");n.append("feMorphology").attr("operator","dilate").attr("radius",2).attr("in","SourceAlpha").attr("result","dilateOut"),n.append("feGaussianBlur").attr("stdDeviation",5).attr("in","dilateOut").attr("result","blurOut"),n.append("feColorMatrix").attr("type","matrix").attr("values","-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0").attr("in","blurOut").attr("result","invertOut"),n.append("feBlend").attr("in","SourceGraphic").attr("in2","invertOut").attr("mode","normal"),t.widget||(e=C.append("g")),n=D.append("filter").attr("id","geo-blur").attr("x","-100%").attr("y","-100%").attr("width","300%").attr("height","300%"),n.append("feGaussianBlur").attr("stdDeviation",20).attr("in","SourceGraphic"),d=h.layer().sticky(),C.attr("class",h._d3id()),C.attr("width",h.layer().node().width()),C.attr("height",h.layer().node().height()),t.widget?h.canvas(C):(e.attr("class","group-"+h._d3id()),h.canvas(e))}h._setTransform()},this.api=function(){return"d3"},this.scaleFactor=function(){return y},this._resize=function(t,e,n,i){I||a(),C.attr("width",n),C.attr("height",i),h._setTransform(),h.layer().geoTrigger(g.d3Rescale,{scale:y},!0)},this._update=function(){},this._exit=function(){f={},h.canvas().remove(),C.remove(),C=void 0,D.remove(),D=void 0,M()},this._definitions=function(){return D},this._drawFeatures=function(t){return f[t.id]={data:t.data,index:t.dataIndex,style:t.style,attributes:t.attributes,classes:t.classes,append:t.append,parentId:t.parentId},h.__render(t.id,t.parentId)},this.__render=function(t,n){var r;if(void 0===t){for(r in f)f.hasOwnProperty(r)&&h.__render(r);return h}var A=f[t].data,o=f[t].index,a=f[t].style,c=f[t].attributes,s=f[t].classes,u=f[t].append,g=h.select(t,n).data(A,o);return g.enter().append(u),g.exit().remove(),e(g,c),g.attr("class",s.concat([t]).join(" ")),i(g,a),h},this.select=function(t,e){return r(e).selectAll("."+t)},this._removeFeature=function(t){return h.select(t).remove(),delete f[t],h},this.draw=function(){},this.layer().geoOn(g.pan,h._setTransform),this.layer().geoOn(g.rotate,h._setTransform),this.layer().geoOn(g.zoom,function(){h._setTransform(),h.__render(),h.layer().geoTrigger(l,{scale:y},!0)}),this.layer().geoOn(g.resize,function(t){h._resize(t.x,t.y,t.width,t.height)}),this._init(t),this};i(o,A),r("d3",o),function(){"use strict";o.supported=function(){return!!n.m[132]},o.fallback=function(){return null}}(),t.exports=o},function(t,e,n){var i=n(131).registerLayerAdjustment,r=function(){"use strict";var t=this,e=this._update,i=this._init,r=n(1),A=n(237);this._drawTile=function(e){var n=t._tileBounds(e),i=t._getSubLayer(e.index.level),r=parseInt(i.attr("offsetx")||0,10),A=parseInt(i.attr("offsety")||0,10);e.feature=t.createFeature("plane",{drawOnAsyncResourceLoad:!0}).origin([n.left-r,n.top-A]).upperLeft([n.left-r,n.top-A]).lowerRight([n.right-r,n.bottom-A]).style({image:e._url,opacity:1,reference:e.toString(),parentId:i.attr("data-tile-layer-id")}),e.feature.geoTrigger=void 0,e.feature._update(),t.draw()},this._getSubLayer=function(e){var n=t.canvas().select('g[data-tile-layer="'+e.toFixed()+'"]');if(n.empty()){n=t.canvas().append("g");var i=A();n.classed("group-"+i,!0),n.classed("geo-tile-layer",!0),n.attr("data-tile-layer",e.toFixed()),n.attr("data-tile-layer-id",i)}return n},this._updateSubLayers=function(e,n){var i=t.canvas(),A=parseInt(i.attr("lastlevel"),10),o=parseInt(i.attr("lastoffsetx")||0,10),a=parseInt(i.attr("lastoffsety")||0,10);if(A===e&&Math.abs(o-n.left)<65536&&Math.abs(a-n.top)<65536)return{x:o,y:a};var c=this._tileOffset(e),s=parseInt(n.left,10)+c.x,u=parseInt(n.top,10)+c.y,g=t.cache._cache;return r.each(i.selectAll(".geo-tile-layer")[0],function(n,i){var A=parseInt(r(i).attr("data-tile-layer"),10),o=Math.pow(2,e-A);i=t._getSubLayer(A),i.attr("transform","matrix("+[o,0,0,o,0,0].join()+")");var a=parseInt(s/Math.pow(2,e-A),10),c=parseInt(u/Math.pow(2,e-A),10),l=a-parseInt(i.attr("offsetx")||0,10),M=c-parseInt(i.attr("offsety")||0,10);i.attr({offsetx:a,offsety:c}),r.each(g,function(t,e){if(e._index.level===A&&e.feature){var n=e.feature,i=n.origin(),r=n.upperLeft(),o=n.lowerRight();n.origin([i[0]-l,i[1]-M,i[2]]),n.upperLeft([r[0]-l,r[1]-M,r[2]]),n.lowerRight([o[0]-l,o[1]-M,o[2]]),n._update()}})}),i.attr({lastoffsetx:s,lastoffsety:u,lastlevel:e}),{x:s,y:u}},this._init=function(){var e;for(i.apply(t,arguments),e=0;e<=t._options.maxLevel;e+=1)t._getSubLayer(e)},this._update=function(){e.apply(t,arguments),t.renderer()._setTransform()},this._remove=function(e){e.feature&&(t.deleteFeature(e.feature),e.feature=null),e.image&&r(e.image).remove()}};i("d3","tile",r),t.exports=r},function(t,e,n){var i=n(4),r=n(131).registerFeature,A=n(229),o=function(t){"use strict";function e(t,e,n){return s._d3id()+"_marker_"+e+"_"+n}function i(t,n,i,r,A){var o={arrow:{attrs:{class:"geo-vector-arrow geo-vector-marker",viewBox:"0 0 10 10",refX:"1",refY:"5",markerHeight:"5",markerWidth:"5",orient:"auto"},path:"M 0 0 L 10 5 L 0 10 z"},point:{attrs:{class:"geo-vector-point geo-vector-marker",viewBox:"0 0 12 12",refX:"6",refY:"6",markerHeight:"8",markerWidth:"8",orient:"auto"},path:"M 6 3 A 3 3 0 1 1 5.99999 3 Z"},bar:{attrs:{class:"geo-vector-bar geo-vector-marker",viewBox:"0 0 10 10",refX:"0",refY:"5",markerHeight:"6",markerWidth:"6",orient:"auto"},path:"M 0 0 L 2 0 L 2 10 L 0 10 z"},wedge:{attrs:{class:"geo-vector-wedge geo-vector-marker",viewBox:"0 0 10 10",refX:"10",refY:"5",markerHeight:"5",markerWidth:"5",orient:"auto"},path:"M 0 0 L 1 0 L 10 5 L 1 10 L 0 10 L 9 5 L 0 0"}},a=s.renderer()._definitions().selectAll("g.marker-group#"+s._d3id()).data(t.length?[1]:[]);a.enter().append("g").attr("id",s._d3id).attr("class","marker-group"),a.exit().remove();var u=t.reduce(function(t,e,n){var i=o[A(e,n)],a=o[r(e,n)];return i&&t.push({data:e,dataIndex:n,head:!0}),a&&t.push({data:e,dataIndex:n,head:!1}),t},[]),g=a.selectAll("marker.geo-vector-marker").data(u);g.enter().append("marker").append("path");var l=s.renderer();g.each(function(t){var e=c.select(this),n=t.head?o[A(t.data,t.dataIndex)]:o[r(t.data,t.dataIndex)];Object.keys(n.attrs).map(function(t){e.attr(t,n.attrs[t])})}).attr("id",function(t){return e(t.data,t.dataIndex,t.head?"head":"tail")}).style("stroke",function(t){return l._convertColor(n)(t.data,t.dataIndex)}).style("fill",function(t){return l._convertColor(n)(t.data,t.dataIndex)}).style("opacity",function(t){return i(t.data,t.dataIndex)}).select("path").attr("d",function(t){return t.head?o[A(t.data,t.dataIndex)].path:o[r(t.data,t.dataIndex)].path}),g.exit().remove()}if(!(this instanceof o))return new o(t);var r=n(236),a=n(129),c=n(132);t=t||{},A.call(this,t),r.call(this);var s=this,u=this._init,g=this._exit,l=this._update,M=a(),h={};return this._init=function(t){return u.call(s,t),s},this._build=function(){function t(){return u/A.scaleFactor()}var n=s.data(),r=s.style.get(),A=s.renderer(),o=s.origin(),a=s.delta(),c=[],u=s.style("scale"),g=Number.NEGATIVE_INFINITY;return l.call(s),n||(n=[]),c=n.map(function(t,e){var n=s.featureGcsToDisplay(o(t,e)),i=a(t,e);return g=Math.max(g,i.x*i.x+i.y*i.y),{x1:n.x,y1:n.y,dx:i.x,dy:-i.y}}),g=Math.sqrt(g),u||(u=75/g),h.id=s._d3id(),h.data=n,h.append="line",h.attributes={x1:function(t,e){return c[e].x1},y1:function(t,e){return c[e].y1},x2:function(e,n){return c[n].x1+t()*c[n].dx},y2:function(e,n){return c[n].y1+t()*c[n].dy},"marker-start":function(t,n){return"url(#"+e(t,n,"tail")+")"},"marker-end":function(t,n){return"url(#"+e(t,n,"head")+")"}},h.style={stroke:function(){return!0},strokeColor:r.strokeColor,strokeWidth:r.strokeWidth,strokeOpacity:r.strokeOpacity,originStyle:r.originStyle,endStyle:r.endStyle},h.classes=["d3VectorFeature"],i(n,r.strokeColor,r.strokeOpacity,r.originStyle,r.endStyle),s.renderer()._drawFeatures(h),M.modified(),s.updateTime().modified(),s},this._update=function(){return l.call(s),s.getMTime()>=M.getMTime()?s._build():i(h.data,h.style.strokeColor,h.style.strokeOpacity,h.style.originStyle,h.style.endStyle),s},this._exit=function(){g.call(s),h={},i([],null,null,null,null)},this._init(t),this};i(o,A),r("d3","vector",o),t.exports=o},function(t,e,n){t.exports={choroplethFeature:n(245),contourFeature:n(246),ellipsoid:n(247),geomFeature:n(248),lineFeature:n(249),planeFeature:n(250),pointFeature:n(251),polygonFeature:n(252),quadFeature:n(254),tileLayer:n(255),vglRenderer:n(256)}},function(t,e,n){var i=n(4),r=n(131).registerFeature,A=n(126),o=function(t){"use strict";function e(){return n.createChoropleth()}if(!(this instanceof o))return new o(t);t=t||{},A.call(this,t);var n=this,i=null,r=this._exit,a=this._init,c=this._update;return this._init=function(t){a.call(n,t)},this._build=function(){return n.buildTime().modified(),i=e()},this._update=function(){c.call(n),(n.dataTime().getMTime()>=n.buildTime().getMTime()||n.updateTime().getMTime()<=n.getMTime())&&(n._wipePolygons(),n._build()),n.updateTime().modified()},this._wipePolygons=function(){i&&i.map(function(t){return t._exit()}),i=null},this._exit=function(){n._wipePolygons(),r()},this._init(t),this};i(o,A),r("vgl","choropleth",o),t.exports=o},function(t,e,n){var i=n(4),r=n(131).registerFeature,A=n(134),o=function(t){"use strict";function e(){var t=["#ifdef GL_ES"," precision highp float;","#endif","attribute vec3 pos;","attribute float value;","attribute float opacity;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","varying float valueVar;","varying float opacityVar;","void main(void)","{"," vec4 scrPos = projectionMatrix * modelViewMatrix * vec4(pos.xy, 0, 1);"," if (scrPos.w != 0.0) {"," scrPos = scrPos / scrPos.w;"," }"," valueVar = value;"," opacityVar = opacity;"," gl_Position = scrPos;","}"].join("\n"),e=new a.shader(a.GL.VERTEX_SHADER);return e.setShaderSource(t),e}function i(){var t=["#ifdef GL_ES"," precision highp float;","#endif","uniform vec4 minColor;","uniform vec4 maxColor;","uniform float steps;","uniform bool stepped;","uniform sampler2D sampler2d;","varying float valueVar;","varying float opacityVar;","void main () {"," vec4 clr;"," if (valueVar < 0.0) {"," clr = minColor;"," } else if (valueVar > steps) {"," clr = maxColor;"," } else {"," float step;"," if (stepped) {"," step = floor(valueVar) + 0.5;"," if (step > steps) {"," step = steps - 0.5;"," }"," } else {"," step = valueVar;"," }"," clr = texture2D(sampler2d, vec2(step / steps, 0.0));"," }"," gl_FragColor = vec4(clr.rgb, clr.a * opacityVar);","}"].join("\n"),e=new a.shader(a.GL.FRAGMENT_SHADER);return e.setShaderSource(t),e}function r(){var t,e,n,i,r,A,o,a,g=u.createContours(),l=g.elements.length,h=[],N=M.geometryData();for(f.set([g.minColor.r,g.minColor.g,g.minColor.b,g.minColor.a]),I.set([g.maxColor.r,g.maxColor.g,g.maxColor.b,g.maxColor.a]),E.set(g.colorMap.length),T.set(g.stepped),t=0;t<g.colorMap.length;t+=1)h.push(255*g.colorMap[t].r),h.push(255*g.colorMap[t].g),h.push(255*g.colorMap[t].b),h.push(255*g.colorMap[t].a);for(d.setColorTable(h),g.pos=c.transformCoordinates(u.gcs(),u.layer().map().gcs(),g.pos,3),r=s.getGeomBuffer(N,"pos",3*l),A=s.getGeomBuffer(N,"opacity",l),o=s.getGeomBuffer(N,"value",l),t=e=0;t<l;t+=1,e+=3)n=g.elements[t],i=3*n,r[e]=g.pos[i],r[e+1]=g.pos[i+1],r[e+2]=g.pos[i+2],A[t]=g.opacity[n],o[t]=g.value[n];a=N.primitive(0).indices(),a instanceof Uint16Array&&a.length===l||(a=new Uint16Array(l),N.primitive(0).setIndices(a)),N.boundsDirty(!0),M.modified(),M.boundsDirtyTimestamp().modified()}if(!(this instanceof o))return new o(t);t=t||{},A.call(this,t);var a=n(6),c=n(147),s=n(120),u=this,g=this._exit,l=null,M=null,h=null,d=null,f=null,I=null,E=null,T=null,N=void 0!==t.dynamicDraw&&t.dynamicDraw,y=this._init,p=this._update;return this._init=function(t){var n=a.blend(),r=a.shaderProgram(),A=a.material(),o=a.lookupTable(),c=a.geometryData(),s=new a.modelViewUniform("modelViewMatrix"),g=new a.projectionUniform("projectionMatrix"),p=new a.uniform(a.GL.INT,"sampler2d"),C=e(),D=i(),x=a.vertexAttribute("pos"),B=a.vertexAttribute("value"),w=a.vertexAttribute("opacity"),m=a.sourceDataP3fv({name:"pos"}),Q=a.sourceDataAnyfv(1,a.vertexAttributeKeysIndexed.One,{name:"value"}),v=a.sourceDataAnyfv(1,a.vertexAttributeKeysIndexed.Two,{name:"opacity"}),j=new a.triangles;y.call(u,t),M=a.mapper({dynamicDraw:N}),r.addVertexAttribute(x,a.vertexAttributeKeys.Position),r.addVertexAttribute(B,a.vertexAttributeKeysIndexed.One),r.addVertexAttribute(w,a.vertexAttributeKeysIndexed.Two),r.addUniform(s),r.addUniform(g),f=new a.uniform(a.GL.FLOAT_VEC4,"minColor"),r.addUniform(f),I=new a.uniform(a.GL.FLOAT_VEC4,"maxColor"),r.addUniform(I),E=new a.uniform(a.GL.FLOAT,"steps"),r.addUniform(E),T=new a.uniform(a.GL.BOOL,"stepped"),r.addUniform(T),r.addShader(D),r.addShader(C),r.addUniform(p),o.setTextureUnit(7),p.set(7),h=A,h.addAttribute(r),h.addAttribute(n),d=o,h.addAttribute(d),l=a.actor(),l.setMaterial(h),l.setMapper(M),c.addSource(m),c.addSource(Q),c.addSource(v),c.addPrimitive(j),M.setGeometryData(c)},this._build=function(){l&&u.renderer().contextRenderer().removeActor(l),r(),u.renderer().contextRenderer().addActor(l),u.buildTime().modified()},this._update=function(){p.call(u),(u.dataTime().getMTime()>=u.buildTime().getMTime()||u.updateTime().getMTime()<=u.getMTime())&&u._build(),l.setVisible(u.visible()),l.material().setBinNumber(u.bin()),u.updateTime().modified()},this._exit=function(){u.renderer().contextRenderer().removeActor(l),g()},this._init(t),this};i(o,A),r("vgl","contour",o),t.exports=o},function(t,e,n){var i=function(t,e,r){"use strict";if(!(this instanceof i))return new i(t,e,r);var A=n(6),o=n(120),a=n(58);if(t=A.defaultValue(t,0),e=A.defaultValue(e,0),r=A.defaultValue(r,0),t<0||e<0||r<0)return console.log("[error] Al radii components must be greater than zero");var c=this,s=[t,e,r],u=[t*t,e*e,r*r],g=Math.min(t,e,r),l=Math.max(t,e,r);return this.radii=function(){return s},this.radiiSquared=function(){return u},this.maximumRadius=function(){return l},this.minimumRadius=function(){return g},this.computeGeodeticSurfaceNormal=function(t,e){if(void 0===t||void 0===e)throw"[error] Valid latitude and longitude is required";var n=Math.cos(t),i=o.vec3AsArray();return i[0]=n*Math.cos(e),i[1]=n*Math.sin(e),i[2]=Math.sin(t),a.normalize(i,i),i},this.transformPoint=function(t,e,n){t*=Math.PI/180,e*=Math.PI/180;var i=c.computeGeodeticSurfaceNormal(t,e),r=o.vec3AsArray(),A=Math.sqrt(a.dot(i,r)),s=o.vec3AsArray();return a.multiply(r,u,i),a.scale(r,r,1/A),a.scale(i,i,n),a.add(s,i,r),s},this.transformGeometry=function(t){if(!t)throw"[error] Failed to transform to cartesian. Invalid geometry.";var e=t.sourceData(A.vertexAttributeKeys.Position),n=e.data(),i=e.attributeNumberOfComponents(A.vertexAttributeKeys.Position),r=e.attributeStride(A.vertexAttributeKeys.Position),s=e.attributeOffset(A.vertexAttributeKeys.Position),g=e.sizeOfAttributeDataType(A.vertexAttributeKeys.Position),l=null,M=n.length*(1/i),h=null,d=null,f=0,I=o.vec3AsArray(),E=o.vec3AsArray();if(r/=g,s/=g,3!==i)throw"[error] Requires positions with three components";for(f=0;f<M;f+=1)l=f*r+s,n[l]=n[l]*(Math.PI/180),n[l+1]=n[l+1]*(Math.PI/180),d=c.computeGeodeticSurfaceNormal(n[l+1],n[l]),a.multiply(I,u,d),h=Math.sqrt(a.dot(d,I)),a.scale(I,I,1/h),a.scale(d,d,n[l+2]),a.add(E,d,I),n[l]=E[0],n[l+1]=E[1],n[l+2]=E[2]},c};t.exports=i},function(t,e,n){var i=n(4),r=n(140),A=function(t){"use strict";if(!(this instanceof A))return new A(t);var e=n(6);t=t||{},r.call(this,t);var i=this,o=t.geom||null,a=e.actor(),c=e.mapper(),s=null,u=null,g=t.color||[1,1,1],l=null;return this._build=function(){var t=i.style();null!==o&&(u=o.sourceData(e.vertexAttributeKeys.Scalar),g=o.sourceData(e.vertexAttributeKeys.Color),c.setGeometryData(o)),i.setMapper(c),void 0!==t.point_sprites&&t.point_sprites&&void 0!==t.point_sprites_image&&t.point_sprites_image,u?g instanceof e.lookupTable?(g.updateRange(u.scalarRange()),s=e.utils.createColorMappedMaterial(g)):(g=e.lookupTable(),g.updateRange(u.scalarRange()),s=e.utils.createColorMappedMaterial(g)):s=g?e.utils.createColorMaterial():e.utils.createSolidColorMaterial(),a.setMaterial(s)},this._update=function(){l&&l.getMTime()<i.getMTime()?g instanceof e.lookupTable&&e.utils.updateColorMappedMaterial(i.material(),i.style.color):(l=e.timestamp(),l.modified())},this.geometry=function(t){return void 0===t?o:(o=t,i.modified(),i)},this};i(A,r),t.exports=A},function(t,e,n){var i=n(4),r=n(131).registerFeature,A=n(145),o=function(t){"use strict";function e(){var t=["#ifdef GL_ES"," precision highp float;","#endif","attribute vec3 pos;","attribute vec3 prev;","attribute vec3 next;","attribute float offset;","attribute vec3 strokeColor;","attribute float strokeOpacity;","attribute float strokeWidth;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform float pixelWidth;","uniform float aspect;","varying vec3 strokeColorVar;","varying float strokeWidthVar;","varying float strokeOpacityVar;","void main(void)","{"," if (strokeOpacity < 0.0) {"," gl_Position = vec4(2, 2, 0, 1);"," return;"," }"," const float PI = 3.14159265358979323846264;"," vec4 worldPos = projectionMatrix * modelViewMatrix * vec4(pos.xyz, 1);"," if (worldPos.w != 0.0) {"," worldPos = worldPos/worldPos.w;"," }"," vec4 worldNext = projectionMatrix * modelViewMatrix * vec4(next.xyz, 1);"," if (worldNext.w != 0.0) {"," worldNext = worldNext/worldNext.w;"," }"," vec4 worldPrev = projectionMatrix* modelViewMatrix * vec4(prev.xyz, 1);"," if (worldPrev.w != 0.0) {"," worldPrev = worldPrev/worldPrev.w;"," }"," strokeColorVar = strokeColor;"," strokeWidthVar = strokeWidth;"," strokeOpacityVar = strokeOpacity;"," vec2 deltaNext = worldNext.xy - worldPos.xy;"," vec2 deltaPrev = worldPos.xy - worldPrev.xy;"," float angleNext = 0.0, anglePrev = 0.0;"," if (deltaNext.xy != vec2(0.0, 0.0))"," angleNext = atan(deltaNext.y / aspect, deltaNext.x);"," if (deltaPrev.xy == vec2(0.0, 0.0)) anglePrev = angleNext;"," else anglePrev = atan(deltaPrev.y / aspect, deltaPrev.x);"," if (deltaNext.xy == vec2(0.0, 0.0)) angleNext = anglePrev;"," float angle = (anglePrev + angleNext) / 2.0;"," float cosAngle = cos(anglePrev - angle);"," if (cosAngle < 0.1) { cosAngle = sign(cosAngle) * 1.0; angle = 0.0; }"," float distance = (offset * strokeWidth * pixelWidth) /"," cosAngle;"," worldPos.x += distance * sin(angle);"," worldPos.y -= distance * cos(angle) * aspect;"," gl_Position = worldPos;","}"].join("\n"),e=new a.shader(a.GL.VERTEX_SHADER);return e.setShaderSource(t),e}function i(){var t=["#ifdef GL_ES"," precision highp float;","#endif","varying vec3 strokeColorVar;","varying float strokeWidthVar;","varying float strokeOpacityVar;","void main () {"," gl_FragColor = vec4 (strokeColorVar, strokeOpacityVar);","}"].join("\n"),e=new a.shader(a.GL.FRAGMENT_SHADER);return e.setShaderSource(t),e}function r(){var t,e,n,i,r,A,o,a,g,l,h,d,f,I,E,T,N,y,p,C,D=u.data(),x=0,B=[{},{}],w=[],m=u.position(),Q=u.style.get("strokeWidth"),v=u.style.get("strokeColor"),j=u.style.get("strokeOpacity"),L=u.featureVertices(),S=M.geometryData();for(t=0;t<D.length;t+=1)for(A=u.line()(D[t],t),x+=A.length-1,e=0;e<A.length;e+=1)g=m(A[e],e,A,t),w.push(g.x),w.push(g.y),w.push(g.z||0);for(w=c.transformCoordinates(u.gcs(),u.layer().map().gcs(),w,3),r=x*L.length,h=s.getGeomBuffer(S,"pos",3*r),d=s.getGeomBuffer(S,"next",3*r),f=s.getGeomBuffer(S,"prev",3*r),I=s.getGeomBuffer(S,"offset",r),T=s.getGeomBuffer(S,"strokeWidth",r),N=s.getGeomBuffer(S,"strokeColor",3*r),y=s.getGeomBuffer(S,"strokeOpacity",r),E=S.primitive(0).indices(),E instanceof Uint16Array&&E.length===r||(E=new Uint16Array(r),S.primitive(0).setIndices(E)),t=l=p=C=0;t<D.length;t+=1)for(A=u.line()(D[t],t),e=0;e<A.length;e+=1,l+=3)if(o=A[e],e&&(a=B[0],B[0]=B[1],B[1]=a),B[1].pos=l,B[1].prev=l-(e?3:0),B[1].next=l+(e+1<A.length?3:0),B[1].strokeWidth=Q(o,e,A,t),B[1].strokeColor=v(o,e,A,t),B[1].strokeOpacity=j(o,e,A,t),e)for(n=0;n<L.length;n+=1,p+=1,C+=3)i=B[L[n][0]],h[C]=w[i.pos],h[C+1]=w[i.pos+1],h[C+2]=w[i.pos+2],f[C]=w[i.prev],f[C+1]=w[i.prev+1],f[C+2]=w[i.prev+2],d[C]=w[i.next],d[C+1]=w[i.next+1],d[C+2]=w[i.next+2],I[p]=L[n][1],T[p]=i.strokeWidth,N[C]=i.strokeColor.r,N[C+1]=i.strokeColor.g,N[C+2]=i.strokeColor.b,y[p]=i.strokeOpacity;S.boundsDirty(!0),M.modified(),M.boundsDirtyTimestamp().modified()}if(!(this instanceof o))return new o(t);t=t||{},A.call(this,t);var a=n(6),c=n(147),s=n(120),u=this,g=this._exit,l=null,M=null,h=null,d=null,f=null,I=void 0!==t.dynamicDraw&&t.dynamicDraw,E=this._init,T=this._update;return this.featureVertices=function(){return[[0,1],[1,-1],[0,-1],[0,1],[1,1],[1,-1]]},this.verticesPerFeature=function(){return u.featureVertices().length},this._init=function(t){var n=a.shaderProgram(),r=e(),A=i(),o=a.vertexAttribute("pos"),c=a.vertexAttribute("prev"),s=a.vertexAttribute("next"),g=a.vertexAttribute("offset"),T=a.vertexAttribute("strokeWidth"),N=a.vertexAttribute("strokeColor"),y=a.vertexAttribute("strokeOpacity"),p=new a.modelViewUniform("modelViewMatrix"),C=new a.projectionUniform("projectionMatrix"),D=a.geometryData(),x=a.sourceDataP3fv({name:"pos"}),B=a.sourceDataAnyfv(3,a.vertexAttributeKeysIndexed.Four,{name:"prev"}),w=a.sourceDataAnyfv(3,a.vertexAttributeKeysIndexed.Five,{name:"next"}),m=a.sourceDataAnyfv(1,a.vertexAttributeKeysIndexed.Six,{name:"offset"}),Q=a.sourceDataAnyfv(1,a.vertexAttributeKeysIndexed.One,{name:"strokeWidth"}),v=a.sourceDataAnyfv(3,a.vertexAttributeKeysIndexed.Two,{name:"strokeColor"}),j=a.sourceDataAnyfv(1,a.vertexAttributeKeysIndexed.Three,{name:"strokeOpacity"}),L=a.triangles();d=new a.floatUniform("pixelWidth",1/u.renderer().width()),f=new a.floatUniform("aspect",u.renderer().width()/u.renderer().height()),E.call(u,t),h=a.material(),M=a.mapper({dynamicDraw:I}),n.addVertexAttribute(o,a.vertexAttributeKeys.Position),n.addVertexAttribute(T,a.vertexAttributeKeysIndexed.One),n.addVertexAttribute(N,a.vertexAttributeKeysIndexed.Two),n.addVertexAttribute(y,a.vertexAttributeKeysIndexed.Three),n.addVertexAttribute(c,a.vertexAttributeKeysIndexed.Four),n.addVertexAttribute(s,a.vertexAttributeKeysIndexed.Five),n.addVertexAttribute(g,a.vertexAttributeKeysIndexed.Six),n.addUniform(p),n.addUniform(C),n.addUniform(d),n.addUniform(f),n.addShader(A),n.addShader(r),h.addAttribute(n),h.addAttribute(a.blend()),l=a.actor(),l.setMaterial(h),l.setMapper(M),D.addSource(x),D.addSource(B),D.addSource(w),D.addSource(Q),D.addSource(v),D.addSource(j),D.addSource(m),D.addPrimitive(L),M.setGeometryData(D)},this.actors=function(){return l?[l]:[]},this._build=function(){l&&u.renderer().contextRenderer().removeActor(l),r(),u.renderer().contextRenderer().addActor(l),u.buildTime().modified()},this._update=function(){T.call(u),(u.dataTime().getMTime()>=u.buildTime().getMTime()||u.updateTime().getMTime()<=u.getMTime())&&u._build(),d.set(1/u.renderer().width()),f.set(u.renderer().width()/u.renderer().height()),l.setVisible(u.visible()),l.material().setBinNumber(u.bin()),u.updateTime().modified()},this._exit=function(){u.renderer().contextRenderer().removeActor(l),g()},this._init(t),this};i(o,A),r("vgl","line",o),t.exports=o},function(t,e,n){var i=n(4),r=n(131).registerFeature,A=n(223),o=function(t){"use strict";if(!(this instanceof o))return new o(t);A.call(this,t);var e=n(147),i=n(6),r=this,a=this._exit,c=null,s=void 0===t.onload?null:t.onload;return this.coords=function(){return[r.origin(),r.upperLeft(),r.lowerRight()]},this._build=function(){var t=r.origin(),n=r.upperLeft(),A=r.lowerRight(),o=r.style().image,a=null,u=null,g=r.gcs(),l=r.layer().map().gcs();g!==l&&(t=e.transformCoordinates(g,l,t),n=e.transformCoordinates(g,l,n),A=e.transformCoordinates(g,l,A)),r.buildTime().modified(),c&&r.renderer().contextRenderer().removeActor(c),o&&o instanceof Image?a=o:o&&(a=new Image,a.src=o),a?(c=i.utils.createTexturePlane(t[0],t[1],t[2],A[0],A[1],A[2],n[0],n[1],n[2],!0),c.material().shaderProgram().uniform("opacity").set(void 0!==r.style().opacity?r.style().opacity:1),u=i.texture(),r.visible(!1),r.renderer().contextRenderer().addActor(c),a.complete&&a.naturalWidth&&a.naturalHeight?(u.setImage(a),c.material().addAttribute(u),r.visible(!0),s&&s.call(r)):a.onload=function(){u.setImage(a),c.material().addAttribute(u),r.visible(!0),s&&s.call(r),r.drawOnAsyncResourceLoad()&&(r._update(),r.layer().draw())}):(c=i.utils.createPlane(t[0],t[1],t[2],n[0],n[1],n[2],A[0],A[1],A[2]),c.material().shaderProgram().uniform("opacity").set(void 0!==r.style().opacity?r.style().opacity:1),r.renderer().contextRenderer().addActor(c))},this._update=function(){r.buildTime().getMTime()<=r.dataTime().getMTime()&&r._build(),r.updateTime().getMTime()<=r.getMTime()&&(c.setVisible(r.visible()),c.material().setBinNumber(r.bin()),c.material().shaderProgram().uniform("opacity").set(void 0!==r.style().opacity?r.style().opacity:1)),r.updateTime().modified()},this._exit=function(){r.renderer().contextRenderer().removeActor(c),a()},this};i(o,A),r("vgl","plane",o),t.exports=o},function(t,e,n){var i=n(4),r=n(131).registerFeature,A=n(225),o=function(t){"use strict";function e(){var t=new c.shader(c.GL.VERTEX_SHADER);return t.setShaderSource(y),t}function i(){var t=new c.shader(c.GL.FRAGMENT_SHADER);return t.setShaderSource(p),t}function r(t,e,n,i){var r;switch(E){case"triangle":r=[t,e-2*i,t-n*Math.sqrt(3),e+i,t+n*Math.sqrt(3),e+i];break;case"sprite":r=[t,e];break;default:r=[t-n,e+i,t-n,e-i,t+n,e+i,t-n,e-i,t+n,e-i,t+n,e+i]}return r}function a(){var t,e,n,i,A,o,a,c,l,M,d,f,I,T,N,y,p,C,D,x,B,w,m,Q,v,j,L,S,Y,b,O,z,U,F,k,R,G,H=g.data().length,J=r(0,0,1,1),P=new Array(3*H),X=g.verticesPerFeature(),V=g.data(),W=h.geometryData();for(A=g.position(),M=g.style.get("radius"),I=g.style.get("stroke"),y=g.style.get("strokeWidth"),D=g.style.get("strokeOpacity"),w=g.style.get("strokeColor"),v=g.style.get("fill"),S=g.style.get("fillOpacity"),O=g.style.get("fillColor"),t=R=0;t<H;t+=1,R+=3)i=A(V[t]),P[R]=i.x,P[R+1]=i.y,P[R+2]=i.z||0,G=G||P[R+2];if(P=s.transformCoordinates(g.gcs(),g.layer().map().gcs(),P,3),!G&&g.gcs()!==g.layer().map().gcs())for(t=R=0;t<H;t+=1,R+=3)P[R+2]=0;for(n=u.getGeomBuffer(W,"pos",X*H*3),"sprite"!==E&&(o=u.getGeomBuffer(W,"unit",X*H*2)),c=u.getGeomBuffer(W,"rad",X*H),d=u.getGeomBuffer(W,"stroke",X*H),T=u.getGeomBuffer(W,"strokeWidth",X*H),p=u.getGeomBuffer(W,"strokeOpacity",X*H),x=u.getGeomBuffer(W,"strokeColor",X*H*3),m=u.getGeomBuffer(W,"fill",X*H),j=u.getGeomBuffer(W,"fillOpacity",X*H),Y=u.getGeomBuffer(W,"fillColor",X*H*3),a=W.primitive(0).indices(),a instanceof Uint16Array&&a.length===X*H||(a=new Uint16Array(X*H),W.primitive(0).setIndices(a)),t=U=F=k=R=0;t<H;t+=1,R+=3){if(z=V[t],"sprite"!==E)for(e=0;e<J.length;e+=1,k+=1)o[k]=J[e];for(l=M(z),f=I(z)?1:0,N=y(z),C=D(z),B=w(z),Q=v(z)?1:0,L=S(z),b=O(z),e=0;e<X;e+=1,U+=1,F+=3)n[F]=P[R],n[F+1]=P[R+1],n[F+2]=P[R+2],c[U]=l,d[U]=f,T[U]=N,p[U]=C,x[F]=B.r,x[F+1]=B.g,x[F+2]=B.b,m[U]=Q,j[U]=L,Y[F]=b.r,Y[F+1]=b.g,Y[F+2]=b.b}W.boundsDirty(!0),h.modified(),h.boundsDirtyTimestamp().modified()}if(!(this instanceof o))return new o(t);t=t||{},A.call(this,t);var c=n(6),s=n(147),u=n(120),g=this,l=this._exit,M=null,h=null,d=null,f=null,I=void 0!==t.dynamicDraw&&t.dynamicDraw,E="sprite",T=this._init,N=this._update,y=null,p=null;return"triangle"!==t.primitiveShape&&"square"!==t.primitiveShape&&"sprite"!==t.primitiveShape||(E=t.primitiveShape),y=["#ifdef GL_ES"," precision highp float;","#endif","attribute vec3 pos;","attribute float rad;","attribute vec3 fillColor;","attribute vec3 strokeColor;","attribute float fillOpacity;","attribute float strokeWidth;","attribute float strokeOpacity;","attribute float fill;","attribute float stroke;","uniform float pixelWidth;","uniform float aspect;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","varying vec4 fillColorVar;","varying vec4 strokeColorVar;","varying float radiusVar;","varying float strokeWidthVar;","varying float fillVar;","varying float strokeVar;"],"sprite"!==E&&(y=y.concat(["attribute vec2 unit;","varying vec3 unitVar;"])),y.push.apply(y,["void main(void)","{"," strokeWidthVar = strokeWidth;"," // No stroke or fill implies nothing to draw"," if (stroke < 1.0 || strokeWidth <= 0.0 || strokeOpacity <= 0.0) {"," strokeVar = 0.0;"," strokeWidthVar = 0.0;"," }"," else"," strokeVar = 1.0;"," if (fill < 1.0 || rad <= 0.0 || fillOpacity <= 0.0)"," fillVar = 0.0;"," else"," fillVar = 1.0;"," if (fillVar == 0.0 && strokeVar == 0.0) {"," gl_Position = vec4(2, 2, 0, 1);"," return;"," }"," fillColorVar = vec4 (fillColor, fillOpacity);"," strokeColorVar = vec4 (strokeColor, strokeOpacity);"," radiusVar = rad;"]),"sprite"===E?y.push.apply(y,[" gl_Position = (projectionMatrix * modelViewMatrix * vec4(pos, 1.0)).xyzw;"," gl_PointSize = 2.0 * (rad + strokeWidthVar); ","}"]):y.push.apply(y,[" unitVar = vec3 (unit, 1.0);"," vec4 p = (projectionMatrix * modelViewMatrix * vec4(pos, 1.0)).xyzw;"," if (p.w != 0.0) {"," p = p / p.w;"," }"," p += (rad + strokeWidthVar) * "," vec4 (unit.x * pixelWidth, unit.y * pixelWidth * aspect, 0.0, 1.0);"," gl_Position = vec4(p.xyz, 1.0);","}"]),y=y.join("\n"),p=["#ifdef GL_ES"," precision highp float;","#endif","uniform float aspect;","varying vec4 fillColorVar;","varying vec4 strokeColorVar;","varying float radiusVar;","varying float strokeWidthVar;","varying float fillVar;","varying float strokeVar;"],"sprite"!==E&&p.push("varying vec3 unitVar;"),p.push.apply(p,["void main () {"," vec4 strokeColor, fillColor;"," float endStep;"," // No stroke or fill implies nothing to draw"," if (fillVar == 0.0 && strokeVar == 0.0)"," discard;"]),"sprite"===E?p.push(" float rad = 2.0 * length (gl_PointCoord - vec2(0.5));"):p.push(" float rad = length (unitVar.xy);"),p.push.apply(p,[" if (rad > 1.0)"," discard;"," // If there is no stroke, the fill region should transition to nothing"," if (strokeVar == 0.0) {"," strokeColor = vec4 (fillColorVar.rgb, 0.0);"," endStep = 1.0;"," } else {"," strokeColor = strokeColorVar;"," endStep = radiusVar / (radiusVar + strokeWidthVar);"," }"," // Likewise, if there is no fill, the stroke should transition to nothing"," if (fillVar == 0.0)"," fillColor = vec4 (strokeColor.rgb, 0.0);"," else"," fillColor = fillColorVar;"," // Distance to antialias over"," float antialiasDist = 3.0 / (2.0 * radiusVar);"," if (rad < endStep) {"," float step = smoothstep (endStep - antialiasDist, endStep, rad);"," gl_FragColor = mix (fillColor, strokeColor, step);"," } else {"," float step = smoothstep (1.0 - antialiasDist, 1.0, rad);"," gl_FragColor = mix (strokeColor, vec4 (strokeColor.rgb, 0.0), step);"," }","}"]),p=p.join("\n"),this.actors=function(){return M?[M]:[]},this.verticesPerFeature=function(){return r(0,0,1,1).length/2},this._init=function(){var n=c.shaderProgram(),r=e(),A=i(),o=c.vertexAttribute("pos"),a=c.vertexAttribute("unit"),s=c.vertexAttribute("rad"),u=c.vertexAttribute("strokeWidth"),l=c.vertexAttribute("fillColor"),N=c.vertexAttribute("fill"),y=c.vertexAttribute("strokeColor"),p=c.vertexAttribute("stroke"),C=c.vertexAttribute("fillOpacity"),D=c.vertexAttribute("strokeOpacity"),x=new c.modelViewUniform("modelViewMatrix"),B=new c.projectionUniform("projectionMatrix"),w=c.material(),m=c.blend(),Q=c.geometryData(),v=c.sourceDataP3fv({name:"pos"}),j=c.sourceDataAnyfv(2,c.vertexAttributeKeysIndexed.One,{name:"unit"}),L=c.sourceDataAnyfv(1,c.vertexAttributeKeysIndexed.Two,{name:"rad"}),S=c.sourceDataAnyfv(1,c.vertexAttributeKeysIndexed.Three,{name:"strokeWidth"}),Y=c.sourceDataAnyfv(3,c.vertexAttributeKeysIndexed.Four,{name:"fillColor"}),b=c.sourceDataAnyfv(1,c.vertexAttributeKeysIndexed.Five,{name:"fill"}),O=c.sourceDataAnyfv(3,c.vertexAttributeKeysIndexed.Six,{name:"strokeColor"}),z=c.sourceDataAnyfv(1,c.vertexAttributeKeysIndexed.Seven,{name:"stroke"}),U=c.sourceDataAnyfv(1,c.vertexAttributeKeysIndexed.Eight,{name:"fillOpacity"}),F=c.sourceDataAnyfv(1,c.vertexAttributeKeysIndexed.Nine,{name:"strokeOpacity"}),k=new c.triangles;"sprite"===E&&(k=new c.points),d=new c.floatUniform("pixelWidth",2/g.renderer().width()),f=new c.floatUniform("aspect",g.renderer().width()/g.renderer().height()),T.call(g,t),h=c.mapper({dynamicDraw:I}),n.addVertexAttribute(o,c.vertexAttributeKeys.Position),"sprite"!==E&&n.addVertexAttribute(a,c.vertexAttributeKeysIndexed.One),n.addVertexAttribute(s,c.vertexAttributeKeysIndexed.Two),n.addVertexAttribute(u,c.vertexAttributeKeysIndexed.Three),n.addVertexAttribute(l,c.vertexAttributeKeysIndexed.Four),n.addVertexAttribute(N,c.vertexAttributeKeysIndexed.Five),n.addVertexAttribute(y,c.vertexAttributeKeysIndexed.Six),n.addVertexAttribute(p,c.vertexAttributeKeysIndexed.Seven),n.addVertexAttribute(C,c.vertexAttributeKeysIndexed.Eight),n.addVertexAttribute(D,c.vertexAttributeKeysIndexed.Nine),n.addUniform(d),n.addUniform(f),n.addUniform(x),n.addUniform(B),n.addShader(A),n.addShader(r),w.addAttribute(n),w.addAttribute(m),M=c.actor(),M.setMaterial(w),M.setMapper(h),Q.addSource(v),Q.addSource(j),Q.addSource(L),Q.addSource(S),Q.addSource(Y),Q.addSource(b),Q.addSource(O),Q.addSource(z),Q.addSource(U),Q.addSource(F),Q.addPrimitive(k),h.setGeometryData(Q)},this._build=function(){M&&g.renderer().contextRenderer().removeActor(M),a(),g.renderer().contextRenderer().addActor(M),g.renderer().contextRenderer().render(),g.buildTime().modified()},this._update=function(){N.call(g),(g.dataTime().getMTime()>=g.buildTime().getMTime()||g.updateTime().getMTime()<g.getMTime())&&g._build(),d.set(2/g.renderer().width()),f.set(g.renderer().width()/g.renderer().height()),M.setVisible(g.visible()),M.material().setBinNumber(g.bin()),g.updateTime().modified()},this._exit=function(){g.renderer().contextRenderer().removeActor(M),l()},g._init(),this};i(o,A),r("vgl","point",o),t.exports=o},function(t,e,n){var i=n(4),r=n(131).registerFeature,A=n(224),o=function(t){"use strict";function e(){var t=["attribute vec3 pos;","attribute vec3 fillColor;","attribute float fillOpacity;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform float pixelWidth;","varying vec3 fillColorVar;","varying float fillOpacityVar;","void main(void)","{"," vec4 clipPos = projectionMatrix * modelViewMatrix * vec4(pos.xyz, 1);"," if (clipPos.w != 0.0) {"," clipPos = clipPos/clipPos.w;"," }"," fillColorVar = fillColor;"," fillOpacityVar = fillOpacity;"," gl_Position = clipPos;","}"].join("\n"),e=new a.shader(a.GL.VERTEX_SHADER);return e.setShaderSource(t),e}function i(){var t=["#ifdef GL_ES"," precision highp float;","#endif","varying vec3 fillColorVar;","varying float fillOpacityVar;","void main () {"," gl_FragColor = vec4 (fillColorVar, fillOpacityVar);","}"].join("\n"),e=new a.shader(a.GL.FRAGMENT_SHADER);return e.setShaderSource(t),e}function r(){var t,e=null,n=null,i=null,r=a.DataBuffers(1024),A=a.sourceDataP3fv(),o=a.sourceDataAnyfv(3,a.vertexAttributeKeysIndexed.Two),g=a.sourceDataAnyfv(1,a.vertexAttributeKeysIndexed.Three),l=a.triangles(),h=a.geometryData(),d=[],f=u.gcs(),I=u.layer().map().gcs();e=u.position(),n=u.style.get("fillColor"),i=u.style.get("fillOpacity"),r.create("pos",3),r.create("indices",1),r.create("fillColor",3),r.create("fillOpacity",1),u.data().forEach(function(A,o){function a(t,n){var i=e(t,n,A,o);return[i.x,i.y,i.z||0]}var g,l,M,h,E,T,N;for(g=u.polygon()(A,o),g.outer=g.outer||[],g.inner=g.inner||[],l=[(g.outer||[]).map(a)],(g.inner||[]).forEach(function(t){l.push(t.map(a))}),l=c.flatten(l),l.vertices=s.transformCoordinates(f,I,l.vertices,l.dimensions),d=c(l.vertices,l.holes,l.dimensions),M=d.length,h=r.alloc(d.length),E=0;E<M;E+=1)N=3*d[E],T=l.vertices.slice(3*d[E],N+3),r.write("pos",T,h+E,1),r.write("indices",[E],h+E,1),t=n(T,E,A,o),r.write("fillColor",[t.r,t.g,t.b],h+E,1),r.write("fillOpacity",[i(T,E,A,o)],h+E,1)}),A.pushBack(r.get("pos")),h.addSource(A),o.pushBack(r.get("fillColor")),h.addSource(o),g.pushBack(r.get("fillOpacity")),h.addSource(g),l.setIndices(r.get("indices")),h.addPrimitive(l),M.setGeometryData(h)}if(!(this instanceof o))return new o(t);t=t||{},A.call(this,t);var a=n(6),c=n(253),s=n(147),u=this,g=this._exit,l=a.actor(),M=a.mapper(),h=a.material(),d=this._init,f=this._update;return this._init=function(t){var n=a.blend(),r=a.shaderProgram(),A=a.vertexAttribute("pos"),o=a.vertexAttribute("fillColor"),c=a.vertexAttribute("fillOpacity"),s=new a.modelViewUniform("modelViewMatrix"),g=new a.projectionUniform("projectionMatrix"),f=e(),I=i();d.call(u,t),r.addVertexAttribute(A,a.vertexAttributeKeys.Position),r.addVertexAttribute(o,a.vertexAttributeKeysIndexed.Two),r.addVertexAttribute(c,a.vertexAttributeKeysIndexed.Three),r.addUniform(s),r.addUniform(g),r.addShader(I),r.addShader(f),h.addAttribute(r),h.addAttribute(n),l.setMapper(M),l.setMaterial(h)},this._build=function(){l&&u.renderer().contextRenderer().removeActor(l),r(),u.renderer().contextRenderer().addActor(l),u.buildTime().modified()},this._update=function(){f.call(u),(u.dataTime().getMTime()>=u.buildTime().getMTime()||u.updateTime().getMTime()<=u.getMTime())&&u._build(),l.setVisible(u.visible()),l.material().setBinNumber(u.bin()),u.updateTime().modified()},this._exit=function(){u.renderer().contextRenderer().removeActor(l),g()},this._init(t),this};i(o,A),r("vgl","polygon",o),t.exports=o},function(t,e){"use strict";function n(t,e,n){n=n||2;var r=e&&e.length,o=r?e[0]*n:t.length,a=i(t,0,o,n,!0),c=[];if(!a)return c;var s,g,l,M,h,d,f;if(r&&(a=u(t,e,a,n)),t.length>80*n){s=l=t[0],g=M=t[1];for(var I=n;I<o;I+=n)h=t[I],d=t[I+1],h<s&&(s=h),d<g&&(g=d),h>l&&(l=h),d>M&&(M=d);f=Math.max(l-s,M-g)}return A(a,c,n,s,g,f),c}function i(t,e,n,i,r){var A,o;if(r===v(t,e,n,i)>0)for(A=e;A<n;A+=i)o=w(A,t[A],t[A+1],o);else for(A=n-i;A>=e;A-=i)o=w(A,t[A],t[A+1],o);return o&&y(o,o.next)&&(m(o),o=o.next),o}function r(t,e){if(!t)return t;e||(e=t);var n,i=t;do{if(n=!1,i.steiner||!y(i,i.next)&&0!==N(i.prev,i,i.next))i=i.next;else{if(m(i),(i=e=i.prev)===i.next)return null;n=!0}}while(n||i!==e);return e}function A(t,e,n,i,u,g,l){if(t){!l&&g&&h(t,i,u,g);for(var M,d,f=t;t.prev!==t.next;)if(M=t.prev,d=t.next,g?a(t,i,u,g):o(t))e.push(M.i/n),e.push(t.i/n),e.push(d.i/n),m(t),t=d.next,f=d.next;else if((t=d)===f){l?1===l?(t=c(t,e,n),A(t,e,n,i,u,g,2)):2===l&&s(t,e,n,i,u,g):A(r(t),e,n,i,u,g,1);break}}}function o(t){var e=t.prev,n=t,i=t.next;if(N(e,n,i)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(E(e.x,e.y,n.x,n.y,i.x,i.y,r.x,r.y)&&N(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function a(t,e,n,i){var r=t.prev,A=t,o=t.next;if(N(r,A,o)>=0)return!1;for(var a=r.x<A.x?r.x<o.x?r.x:o.x:A.x<o.x?A.x:o.x,c=r.y<A.y?r.y<o.y?r.y:o.y:A.y<o.y?A.y:o.y,s=r.x>A.x?r.x>o.x?r.x:o.x:A.x>o.x?A.x:o.x,u=r.y>A.y?r.y>o.y?r.y:o.y:A.y>o.y?A.y:o.y,g=f(a,c,e,n,i),l=f(s,u,e,n,i),M=t.nextZ;M&&M.z<=l;){if(M!==t.prev&&M!==t.next&&E(r.x,r.y,A.x,A.y,o.x,o.y,M.x,M.y)&&N(M.prev,M,M.next)>=0)return!1;M=M.nextZ}for(M=t.prevZ;M&&M.z>=g;){if(M!==t.prev&&M!==t.next&&E(r.x,r.y,A.x,A.y,o.x,o.y,M.x,M.y)&&N(M.prev,M,M.next)>=0)return!1;M=M.prevZ}return!0}function c(t,e,n){var i=t;do{var r=i.prev,A=i.next.next;!y(r,A)&&p(r,i,i.next,A)&&D(r,A)&&D(A,r)&&(e.push(r.i/n),e.push(i.i/n),e.push(A.i/n),m(i),m(i.next),i=t=A),i=i.next}while(i!==t);return i}function s(t,e,n,i,o,a){var c=t;do{for(var s=c.next.next;s!==c.prev;){if(c.i!==s.i&&T(c,s)){var u=B(c,s);return c=r(c,c.next),u=r(u,u.next),A(c,e,n,i,o,a),void A(u,e,n,i,o,a)}s=s.next}c=c.next}while(c!==t)}function u(t,e,n,A){var o,a,c,s,u,M=[];for(o=0,a=e.length;o<a;o++)c=e[o]*A,s=o<a-1?e[o+1]*A:t.length,u=i(t,c,s,A,!1),u===u.next&&(u.steiner=!0),M.push(I(u));for(M.sort(g),o=0;o<M.length;o++)l(M[o],n),n=r(n,n.next);return n}function g(t,e){return t.x-e.x}function l(t,e){if(e=M(t,e)){var n=B(e,t);r(n,n.next)}}function M(t,e){var n,i=e,r=t.x,A=t.y,o=-1/0;do{if(A<=i.y&&A>=i.next.y){var a=i.x+(A-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(a<=r&&a>o){if(o=a,a===r){if(A===i.y)return i;if(A===i.next.y)return i.next}n=i.x<i.next.x?i:i.next}}i=i.next}while(i!==e);if(!n)return null;if(r===o)return n.prev;var c,s=n,u=n.x,g=n.y,l=1/0;for(i=n.next;i!==s;)r>=i.x&&i.x>=u&&E(A<g?r:o,A,u,g,A<g?o:r,A,i.x,i.y)&&((c=Math.abs(A-i.y)/(r-i.x))<l||c===l&&i.x>n.x)&&D(i,t)&&(n=i,l=c),i=i.next;return n}function h(t,e,n,i){var r=t;do{null===r.z&&(r.z=f(r.x,r.y,e,n,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,d(r)}function d(t){var e,n,i,r,A,o,a,c,s=1;do{for(n=t,t=null,A=null,o=0;n;){for(o++,i=n,a=0,e=0;e<s&&(a++,i=i.nextZ);e++);for(c=s;a>0||c>0&&i;)0===a?(r=i,i=i.nextZ,c--):0!==c&&i?n.z<=i.z?(r=n,n=n.nextZ,a--):(r=i,i=i.nextZ,c--):(r=n,n=n.nextZ,a--),A?A.nextZ=r:t=r,r.prevZ=A,A=r;n=i}A.nextZ=null,s*=2}while(o>1);return t}function f(t,e,n,i,r){return t=32767*(t-n)/r,e=32767*(e-i)/r,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1}function I(t){var e=t,n=t;do{e.x<n.x&&(n=e),e=e.next}while(e!==t);return n}function E(t,e,n,i,r,A,o,a){return(r-o)*(e-a)-(t-o)*(A-a)>=0&&(t-o)*(i-a)-(n-o)*(e-a)>=0&&(n-o)*(A-a)-(r-o)*(i-a)>=0}function T(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!C(t,e)&&D(t,e)&&D(e,t)&&x(t,e)}function N(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function p(t,e,n,i){return!!(y(t,e)&&y(n,i)||y(t,i)&&y(n,e))||N(t,e,n)>0!=N(t,e,i)>0&&N(n,i,t)>0!=N(n,i,e)>0}function C(t,e){var n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&p(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}function D(t,e){return N(t.prev,t,t.next)<0?N(t,e,t.next)>=0&&N(t,t.prev,e)>=0:N(t,e,t.prev)<0||N(t,t.next,e)<0}function x(t,e){var n=t,i=!1,r=(t.x+e.x)/2,A=(t.y+e.y)/2;do{n.y>A!=n.next.y>A&&r<(n.next.x-n.x)*(A-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next}while(n!==t);return i}function B(t,e){var n=new Q(t.i,t.x,t.y),i=new Q(e.i,e.x,e.y),r=t.next,A=e.prev;return t.next=e,e.prev=t,n.next=r,r.prev=n,i.next=n,n.prev=i,A.next=i,i.prev=A,i}function w(t,e,n,i){var r=new Q(t,e,n);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function m(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Q(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function v(t,e,n,i){for(var r=0,A=e,o=n-i;A<n;A+=i)r+=(t[o]-t[A])*(t[A+1]+t[o+1]),o=A;return r}t.exports=n,n.deviation=function(t,e,n,i){var r=e&&e.length,A=r?e[0]*n:t.length,o=Math.abs(v(t,0,A,n));if(r)for(var a=0,c=e.length;a<c;a++){var s=e[a]*n,u=a<c-1?e[a+1]*n:t.length;o-=Math.abs(v(t,s,u,n))}var g=0;for(a=0;a<i.length;a+=3){var l=i[a]*n,M=i[a+1]*n,h=i[a+2]*n;g+=Math.abs((t[l]-t[h])*(t[M+1]-t[l+1])-(t[l]-t[M])*(t[h+1]-t[l+1]))}return 0===o&&0===g?0:Math.abs((g-o)/o)},n.flatten=function(t){for(var e=t[0][0].length,n={vertices:[],holes:[],dimensions:e},i=0,r=0;r<t.length;r++){for(var A=0;A<t[r].length;A++)for(var o=0;o<e;o++)n.vertices.push(t[r][A][o]);r>0&&(i+=t[r-1].length,n.holes.push(i))}return n}},function(t,e,n){var i=n(4),r=n(131).registerFeature,A=n(227),o=function(t){"use strict";function e(t){var e=t.m_context,n=!1;l.imgQuads.length&&((!s||s.length<12*l.imgQuads.length||!T.imgQuadsPosition)&&(T.imgQuadsPosition&&e.deleteBuffer(T.imgQuadsPosition),T.imgQuadsPosition=e.createBuffer(),s=new Float32Array(12*Math.max(128,2*l.imgQuads.length)),n=!0),M.each(l.imgQuads,function(t,e){for(var n=0;n<12;n+=1)s[12*t+n]=e.pos[n]-l.origin[n%3]}),e.bindBuffer(h.GL.ARRAY_BUFFER,T.imgQuadsPosition),n?e.bufferData(h.GL.ARRAY_BUFFER,s,h.GL.DYNAMIC_DRAW):e.bufferSubData(h.GL.ARRAY_BUFFER,0,s)),N.modified()}function i(t){var e=t.m_context,n=!1;l.clrQuads.length&&((!u||u.length<12*l.clrQuads.length||!T.clrQuadsPosition)&&(T.imgQuadsPosition&&e.deleteBuffer(T.clrQuadsPosition),T.clrQuadsPosition=e.createBuffer(),u=new Float32Array(12*Math.max(128,2*l.clrQuads.length)),n=!0),M.each(l.clrQuads,function(t,e){for(var n=0;n<12;n+=1)u[12*t+n]=e.pos[n]-l.origin[n%3]}),e.bindBuffer(h.GL.ARRAY_BUFFER,T.clrQuadsPosition),n?e.bufferData(h.GL.ARRAY_BUFFER,u,h.GL.DYNAMIC_DRAW):e.bufferSubData(h.GL.ARRAY_BUFFER,0,u)),y.modified()}if(!(this instanceof o))return new o(t);A.call(this,t);var r,a,c,s,u,g,l,M=n(1),h=n(6),d=this,f=this._exit,I=this._init,E=this._update,T={},N=h.timestamp(),y=h.timestamp(),p=["attribute vec3 vertexPosition;","attribute vec3 textureCoord;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","varying highp vec3 iTextureCoord;","void main(void) {"," gl_Position = projectionMatrix * modelViewMatrix * vec4(vertexPosition, 1.0);"," iTextureCoord = textureCoord;","}"].join("\n"),C=["attribute vec3 vertexPosition;","uniform vec3 vertexColor;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","varying mediump vec3 iVertexColor;","varying highp vec3 iTextureCoord;","void main(void) {"," gl_Position = projectionMatrix * modelViewMatrix * vec4(vertexPosition, 1.0);"," iVertexColor = vertexColor;","}"].join("\n");return this._build=function(){var t,e,n,i,A;d.position()&&(l=this._generateQuads(),l.imgQuads.length&&!a&&(d.visible(!1),t=new h.mapper({dynamicDraw:!0}),a=new h.actor,a.setMapper(t),e=new h.material,n=new h.shaderProgram,n.addVertexAttribute(new h.vertexAttribute("vertexPosition"),h.vertexAttributeKeys.Position),n.addVertexAttribute(new h.vertexAttribute("textureCoord"),h.vertexAttributeKeys.TextureCoordinate),r=new h.modelViewOriginUniform("modelViewMatrix",l.origin),n.addUniform(r),n.addUniform(new h.projectionUniform("projectionMatrix")),n.addUniform(new h.floatUniform("opacity",1)),n.addShader(h.getCachedShader(h.GL.VERTEX_SHADER,h.GL,p)),n.addShader(h.utils.createRgbaTextureFragmentShader(h.GL)),e.addAttribute(n),e.addAttribute(new h.blend),A=new h.geometryData,s=void 0,i=new h.sourceDataT2fv,i.pushBack([0,0,1,0,0,1,1,1]),A.addSource(i),t.setGeometryData(A),a.setMaterial(e),t.s_render=t.render,t.render=d._renderImageQuads,d.renderer().contextRenderer().addActor(a),d.visible(!0)),l.clrQuads.length&&!c&&(d.visible(!1),t=new h.mapper({dynamicDraw:!0}),c=new h.actor,c.setMapper(t),e=new h.material,n=new h.shaderProgram,n.addVertexAttribute(new h.vertexAttribute("vertexPosition"),h.vertexAttributeKeys.Position),g=new h.modelViewOriginUniform("modelViewMatrix",l.origin),n.addUniform(g),n.addUniform(new h.projectionUniform("projectionMatrix")),n.addUniform(new h.floatUniform("opacity",1)),n.addUniform(new h.uniform(h.GL.FLOAT_VEC3,"vertexColor")),n.addShader(h.getCachedShader(h.GL.VERTEX_SHADER,h.GL,C)),n.addShader(h.utils.createFragmentShader(h.GL)),e.addAttribute(n),e.addAttribute(new h.blend),A=new h.geometryData,u=void 0,t.setGeometryData(A),c.setMaterial(e),t.s_render=t.render,t.render=d._renderColorQuads,d.renderer().contextRenderer().addActor(c),d.visible(!0)),r&&r.setOrigin(l.origin),g&&g.setOrigin(l.origin),d.buildTime().modified())},this._updateTextures=function(){var t;M.each(l.imgQuads,function(e,n){n.image&&(n.image._texture?n.texture=n.image._texture:(t=new h.texture,t.setImage(n.image),n.texture=n.image._texture=t))})},this._renderColorQuads=function(t){if(l.clrQuads.length){var e=this;(e.getMTime()>y.getMTime()||d.dataTime().getMTime()>y.getMTime()||t.m_contextChanged||!u||12*l.clrQuads.length>u.length)&&i(t),e.s_render(t);var n,r=t.m_context,A=1;r.bindBuffer(h.GL.ARRAY_BUFFER,T.clrQuadsPosition),M.each(l.clrQuads,function(e,i){i.opacity!==A&&(A=i.opacity,r.uniform1fv(t.m_material.shaderProgram().uniformLocation("opacity"),new Float32Array([A]))),n&&n.r===i.color.r&&n.g===i.color.g&&n.b===i.color.b||(n=i.color,r.uniform3fv(t.m_material.shaderProgram().uniformLocation("vertexColor"),new Float32Array([n.r,n.g,n.b]))),r.bindBuffer(h.GL.ARRAY_BUFFER,T.clrQuadsPosition),r.vertexAttribPointer(h.vertexAttributeKeys.Position,3,h.GL.FLOAT,!1,12,12*e*4),r.enableVertexAttribArray(h.vertexAttributeKeys.Position),r.drawArrays(h.GL.TRIANGLE_STRIP,0,4)}),r.bindBuffer(h.GL.ARRAY_BUFFER,null)}},this._renderImageQuads=function(t){if(l.imgQuads.length){var n=this;(n.getMTime()>N.getMTime()||d.dataTime().getMTime()>N.getMTime()||t.m_contextChanged||!s||12*l.imgQuads.length>s.length)&&e(t),n.s_render(t);var i=t.m_context,r=1;d._updateTextures(),i.bindBuffer(h.GL.ARRAY_BUFFER,T.imgQuadsPosition),M.each(l.imgQuads,function(e,n){n.image&&(n.texture.bind(t),n.opacity!==r&&(r=n.opacity,i.uniform1fv(t.m_material.shaderProgram().uniformLocation("opacity"),new Float32Array([r]))),i.bindBuffer(h.GL.ARRAY_BUFFER,T.imgQuadsPosition),i.vertexAttribPointer(h.vertexAttributeKeys.Position,3,h.GL.FLOAT,!1,12,12*e*4),i.enableVertexAttribArray(h.vertexAttributeKeys.Position),i.drawArrays(h.GL.TRIANGLE_STRIP,0,4),n.texture.undoBind(t))}),i.bindBuffer(h.GL.ARRAY_BUFFER,null)}},this._update=function(){E.call(d),(d.buildTime().getMTime()<=d.dataTime().getMTime()||d.updateTime().getMTime()<d.getMTime())&&d._build(),c&&(c.setVisible(d.visible()),c.material().setBinNumber(d.bin())),a&&(a.setVisible(d.visible()),a.material().setBinNumber(d.bin())),d.updateTime().modified()},this._init=function(){I.call(d,t)},this._exit=function(){a&&(d.renderer().contextRenderer().removeActor(a),a=null),c&&(d.renderer().contextRenderer().removeActor(c),c=null),f.call(d)},d._init(t),this};i(o,A),r("vgl","quad",o),t.exports=o},function(t,e,n){var i=n(131).registerLayerAdjustment,r=function(){"use strict";var t,e=this,n=this._init,i=this._exit,r=0,A=[];this._drawTile=function(n){if(t){var i=this._tileBounds(n),o=n.index.level||0,a=this._tileOffset(o),c={};c.ul=this.fromLocal(this.fromLevel({x:i.left-a.x,y:i.top-a.y},o),0),c.ll=this.fromLocal(this.fromLevel({x:i.left-a.x,y:i.bottom-a.y},o),0),c.ur=this.fromLocal(this.fromLevel({x:i.right-a.x,y:i.top-a.y},o),0),c.lr=this.fromLocal(this.fromLevel({x:i.right-a.x,y:i.bottom-a.y},o),0),c.ul.z=c.ll.z=c.ur.z=c.lr.z=1e-5*o,r+=1,c.id=r,n.quadId=c.id,c.image=n.image,A.push(c),t.data(A),t._update(),e.draw()}},this._remove=function(n){if(void 0!==n.quadId&&t){for(var i=0;i<A.length;i+=1)if(A[i].id===n.quadId){A.splice(i,1);break}t.data(A),t._update(),e.draw()}},this._exit=function(){e.deleteFeature(t),t=null,A=[],i.apply(e,arguments)},this._init=function(){n.apply(e,arguments),t=this.createFeature("quad",{previewColor:e._options.previewColor,previewImage:e._options.previewImage}),t.geoTrigger=void 0,t.gcs(e._options.gcs||e.map().gcs()),t.data(A),t._update()},this._getSubLayer=function(){},this._updateSubLayer=void 0};i("vgl","tile",r),t.exports=r},function(t,e,n){var i=n(4),r=n(131).registerRenderer,A=n(136),o=function(t){"use strict";if(!(this instanceof o))return new o(t);t=t||{},A.call(this,t);var e,i=n(1),r=n(6),a=n(8),c=n(120),s=n(125),u=this,g=null,l=null,M=0,h=0,d=null,f=this._init,I=this._exit;return this.width=function(){return M},this.height=function(){return h},this.contextRenderer=function(){return g},this.api=function(){return"vgl"},this._init=function(){if(u.initialized())return u;f.call(u);var e=i(document.createElement("canvas"));e.attr("class","webgl-canvas"),i(u.layer().node().get(0)).append(e),l=r.viewer(e.get(0),t.options),l.init(),g=l.renderWindow().activeRenderer(),g.setResetScene(!1),l.renderWindow().renderers().length>0&&g.setLayer(l.renderWindow().renderers().length),u.canvas(e);var n=u.layer().map(),A=n.size();return u._resize(0,0,A.width,A.height),u},this._resize=function(t,e,n,i){var r=l.renderWindow();return M=n,h=i,u.canvas().attr("width",n),u.canvas().attr("height",i),r.positionAndResize(t,e,n,i),u._updateRendererCamera(),u._render(),u},this._render=function(){return null===d&&(d=window.requestAnimationFrame(this._renderFrame)),u},this._renderFrame=function(){d=null,l.render()},this._exit=function(){u.canvas().remove(),l.exit(),I()},this._updateRendererCamera=function(){var t=l.renderWindow(),n=u.layer().map(),i=n.camera(),r=n.rotation()||0,A=i.view,o=i.projectionMatrix;o[15]&&(o=a.scale(c.mat4AsArray(),o,[1,1,-1])),o=a.translate(c.mat4AsArray(),o,[0,0,i.constructor.bounds.far]);var s=Math.PI/2,g=r%s,M=Math.min(Math.abs(g),Math.abs(g-s))<1e-5;t.renderers().forEach(function(t){var r=t.camera();c.compareArrays(A,r.viewMatrix())&&c.compareArrays(o,r.projectionMatrix())&&e===n.zoom()||(e=n.zoom(),r.setViewMatrix(A,!0),r.setProjectionMatrix(o),o[1]||o[2]||o[3]||o[4]||o[6]||o[7]||o[8]||o[9]||o[11]||1!==o[15]||!M||parseFloat(e.toFixed(6))!==parseFloat(e.toFixed(0))?r.viewAlignment=function(){return null}:r.viewAlignment=function(){var t={roundx:2/i.viewport.width,roundy:2/i.viewport.height};return t.dx=i.viewport.width%2?.5*t.roundx:0,t.dy=i.viewport.height%2?.5*t.roundy:0,t})})},u.layer().geoOn(s.pan,function(t){u._updateRendererCamera()}),u.layer().geoOn(s.zoom,function(t){u._updateRendererCamera()}),u.layer().geoOn(s.rotate,function(t){u._updateRendererCamera()}),u.layer().geoOn(s.parallelprojection,function(t){var e,n=u.contextRenderer(),i=u.layer();t.geo&&t.geo._triggeredBy!==i&&(n&&n.camera()||console.log("Parallel projection event triggered on unconnected VGL renderer."),e=n.camera(),e.setEnableParallelProjection(t.parallelProjection),u._updateRendererCamera())}),this};i(o,A),r("vgl",o),function(){"use strict";var t;o.supported=function(){if(void 0===t){var e,n;try{e=document.createElement("canvas"),n=e.getContext("webgl")||e.getContext("experimental-webgl"),n.getSupportedExtensions(),t=!0}catch(e){console.error("No webGL support"),t=!1}e=void 0,n=void 0,void 0}return t},o.fallback=function(){return null}}(),t.exports=o},function(t,e,n){t.exports={canvasRenderer:n(258),quadFeature:n(259),heatmapFeature:n(260),tileLayer:n(261)}},function(t,e,n){var i=n(4),r=n(131).registerRenderer,A=n(136),o=function(t){"use strict";var e=n(1);if(!(this instanceof o))return new o(t);t=t||{},A.call(this,t);var i=this,r=null,a=this._init,c=this._exit;return this.api=function(){return"canvas"},this._init=function(){if(i.initialized())return i;a.call(i);var t=e(document.createElement("canvas"));i.context2d=t[0].getContext("2d"),t.attr("class","canvas-canvas"),e(i.layer().node().get(0)).append(t),i.canvas(t);var n=i.layer().map(),r=n.size();return i._resize(0,0,r.width,r.height),i},this._resize=function(t,e,n,r){return i.canvas().attr("width",n),i.canvas().attr("height",r),i._render(),i},this._render=function(){return null===r&&(r=window.requestAnimationFrame(function(){r=null;var t=i.layer(),e=t.map(),n=e.camera(),A=n._viewport;i.context2d.setTransform(1,0,0,1,0,0),i.context2d.clearRect(0,0,A.width,A.height);for(var o=t.features(),a=0;a<o.length;a+=1)o[a]._renderOnCanvas(i.context2d,e)})),i},this._exit=function(){i.canvas().remove(),c()},this};i(o,A),r("canvas",o),function(){"use strict";var t;o.supported=function(){if(void 0===t){var e;try{e=document.createElement("canvas"),t=!(!e.getContext||!e.getContext("2d"))}catch(e){t=!1}e=void 0}return t},o.fallback=function(){return null}}(),t.exports=o},function(t,e,n){var i=n(4),r=n(131).registerFeature,A=n(227),o=function(t){"use strict";if(!(this instanceof o))return new o(t);A.call(this,t);var e,i=n(1),r=this,a=this._exit,c=this._init,s=this._update;return this._build=function(){r.position()&&(e=this._generateQuads(),e.imgQuads&&e.imgQuads.sort(function(t,e){return t.pos[2]-e.pos[2]}),r.buildTime().modified())},this._renderColorQuads=function(t){},this._renderImageQuads=function(t,n){if(e.imgQuads.length){var r=t.globalAlpha,A=r;i.each(e.imgQuads,function(e,i){if(i.image){var r=i.image.width,o=i.image.height,a=n.gcsToDisplay({x:i.pos[0],y:i.pos[1]},null),c=n.gcsToDisplay({x:i.pos[9],y:i.pos[10]},null),s=n.gcsToDisplay({x:i.pos[6],y:i.pos[7]},null);t.setTransform((c.x-s.x)/r,(c.y-s.y)/o,(a.x-s.x)/r,(a.y-s.y)/o,s.x,s.y),i.opacity!==A&&(A=i.opacity,t.globalAlpha=A),t.drawImage(i.image,0,0)}}),A!==r&&(t.globalAlpha=r)}},this._renderOnCanvas=function(t,e){this._renderImageQuads(t,e),this._renderColorQuads(t,e)},this._update=function(){s.call(r),(r.buildTime().getMTime()<=r.dataTime().getMTime()||r.updateTime().getMTime()<r.getMTime())&&r._build(),r.updateTime().modified()},this._init=function(){c.call(r,t)},this._exit=function(){a.call(r)},r._init(t),this};i(o,A),r("canvas","quad",o),t.exports=o},function(t,e,n){var i=n(4),r=n(131).registerFeature,A=n(228),o=function(t){"use strict";if(!(this instanceof o))return new o(t);A.call(this,t);var e=this,n=this._exit,i=this._init,r=this._update;return this._convertColor=function(t){var e;return t.hasOwnProperty("r")&&t.hasOwnProperty("g")&&t.hasOwnProperty("b")&&t.hasOwnProperty("a")&&(e="rgba("+255*t.r+","+255*t.g+","+255*t.b+","+t.a+")"),e},this._computeGradient=function(){var t,n,i,r,A;if(!e._grad){t=document.createElement("canvas"),i=t.getContext("2d"),r=i.createLinearGradient(0,0,0,256),A=e.style("color"),t.width=1,t.height=256;for(n in A)r.addColorStop(n,e._convertColor(A[n]));i.fillStyle=r,i.fillRect(0,0,1,256),e._grad=i.getImageData(0,0,1,256).data}return e},this._createCircle=function(){var t,n,i,r,A;return e._circle||(t=e._circle=document.createElement("canvas"),n=t.getContext("2d"),i=e.style("radius"),A=e.style("blurRadius"),r=A+i,t.width=t.height=2*r,n.shadowOffsetX=n.shadowOffsetY=2*r,n.shadowBlur=A,n.shadowColor="black",n.beginPath(),n.arc(-r,-r,i,0,2*Math.PI,!0),n.closePath(),n.fill(),e._circle=t),e},this._colorize=function(t,n){var i,r;for(i=0;i<t.length;i+=4)(r=4*t[i+3])&&(t[i]=n[r],t[i+1]=n[r+1],t[i+2]=n[r+2],t[i+3]=e.style("opacity")*n[r+3])},this._renderOnCanvas=function(t,n){var i,r,A,o,a=e.data()||[],c=e.style("radius")+e.style("blurRadius");return e._createCircle(),e._computeGradient(),a.forEach(function(n){i=e.layer().map().gcsToDisplay(e.position()(n)),r=(e.intensity()(n)-e.minIntensity())/(e.maxIntensity()-e.minIntensity()),t.globalAlpha=r<.01?.01:r,t.drawImage(e._circle,i.x-c,i.y-c)}),A=e.layer().canvas()[0],o=t.getImageData(0,0,A.width,A.height),e._colorize(o.data,e._grad),t.putImageData(o,0,0),e},this._init=function(){return i.call(e,t),e},this._update=function(){return r.call(e),(e.buildTime().getMTime()<=e.dataTime().getMTime()||e.updateTime().getMTime()<e.getMTime())&&e._build(),e.updateTime().modified(),e},this._exit=function(){n.call(e)},e._init(t),this};i(o,A),r("canvas","heatmap",o),t.exports=o},function(t,e,n){var i=n(131).registerLayerAdjustment,r=function(){"use strict";var t,e=this,n=this._init,i=this._exit,r=0,A=[];this._drawTile=function(n){if(t){var i=this._tileBounds(n),o=n.index.level||0,a=this._tileOffset(o),c={};c.ul=this.fromLocal(this.fromLevel({x:i.left-a.x,y:i.top-a.y},o),0),c.ll=this.fromLocal(this.fromLevel({x:i.left-a.x,y:i.bottom-a.y},o),0),c.ur=this.fromLocal(this.fromLevel({x:i.right-a.x,y:i.top-a.y},o),0),c.lr=this.fromLocal(this.fromLevel({x:i.right-a.x,y:i.bottom-a.y},o),0),c.ul.z=c.ll.z=c.ur.z=c.lr.z=1e-5*o,r+=1,c.id=r,n.quadId=c.id,c.image=n.image,A.push(c),t.data(A),t._update(),e.draw()}},this._remove=function(n){if(void 0!==n.quadId&&t){for(var i=0;i<A.length;i+=1)if(A[i].id===n.quadId){A.splice(i,1);break}t.data(A),t._update(),e.draw()}},this._exit=function(){e.deleteFeature(t),t=null,A=[],i.apply(e,arguments)},this._init=function(){n.apply(e,arguments),t=this.createFeature("quad",{previewColor:e._options.previewColor,previewImage:e._options.previewImage}),t.geoTrigger=void 0,t.gcs(e._options.gcs||e.map().gcs()),t.data(A),t._update()},this._getSubLayer=function(){},this._updateSubLayer=void 0};i("canvas","tile",r),t.exports=r},function(t,e,n){t.exports={domWidget:n(263),legendWidget:n(265),sliderWidget:n(267),svgWidget:n(266),uiLayer:n(218),widget:n(264)}},function(t,e,n){var i=n(264),r=n(4),A=n(131).registerWidget,o=function(t){"use strict";if(!(this instanceof o))return new o(t);i.call(this,t);var e=this;return this._init=function(){t.hasOwnProperty("parent")&&t.parent.addChild(e),e._createCanvas(),e._appendChild(),e.canvas().addEventListener("mousedown",function(t){t.stopPropagation()}),e.reposition()},this._createCanvas=function(){e.canvas(document.createElement(t.el||"div"))},this};r(o,i),A("dom","dom",o),t.exports=o},function(t,e,n){var i=n(4),r=n(128),A=function(t){"use strict";if(!(this instanceof A))return new A(t);r.call(this,t);var e=n(125),i=n(131).createFeature,o=this,a=this._exit,c=t.layer,s=null;if(t.position=void 0===t.position?{left:0,top:0}:t.position,void 0!==t.parent&&!(t.parent instanceof A))throw"Parent must be of type geo.gui.widget";this._init=function(){o.modified()},this._exit=function(){o.children().forEach(function(t){o._deleteFeature(t)}),o.layer().geoOff(e.pan,o.repositionEvent),o.parentCanvas().removeChild(o.canvas()),a()},this._createFeature=function(t,e){var n=i(t,o,o.renderer(),e);return o.addChild(n),o.modified(),n},this._deleteFeature=function(t){return o.removeChild(t),t._exit(),o},this.layer=function(){return c},this._createCanvas=function(){throw"Must be defined in derived classes"},this.canvas=function(t){if(void 0===t)return s;s=t},this._appendChild=function(){o.parentCanvas().appendChild(o.canvas())},this.parentCanvas=function(){return void 0===o.parent?o.layer().canvas():o.parent().canvas()},this.position=function(e){if(void 0!==e)return t.position=e,this.reposition(),this;var n;return t&&t.hasOwnProperty("position")&&t.position.hasOwnProperty("x")&&t.position.hasOwnProperty("y")?(n=o.layer().map().gcsToDisplay(t.position),{left:n.x,top:n.y}):t.position},this.reposition=function(t){t=t||o.position(),o.canvas().style.position="absolute";for(var e in t)t.hasOwnProperty(e)&&(o.canvas().style[e]=t[e]+"px")},this.repositionEvent=function(){return o.reposition()},this.isInViewport=function(){var t=o.position(),e=o.layer();return t.left>=0&&t.top>=0&&t.left<=e.width()&&t.top<=e.height()},t&&t.hasOwnProperty("position")&&t.position.hasOwnProperty("x")&&t.position.hasOwnProperty("y")&&this.layer().geoOn(e.pan,o.repositionEvent)};i(A,r),t.exports=A},function(t,e,n){var i=n(266),r=n(4),A=n(131).registerWidget,o=function(t){"use strict";if(!(this instanceof o))return new o(t);i.call(this,t);var e=n(132),r=n(125),A=this,a=[],c=null,s=null,u=null,g=this._createCanvas,l=this._appendChild;this.categories=function(t){return void 0===t?a.slice():(a=t.slice().map(function(t){return"line"===t.type&&(t.style.fill=!1,t.style.stroke=!0),t}),A.draw(),A)},this.size=function(){var t,n=1,i=e.select(A.canvas()).append("text").style("opacity",1e-6);return a.forEach(function(t){i.text(t.name),n=Math.max(n,i.node().getBBox().width)}),i.remove(),t=20*(a.length+1),{width:n+50,height:t}},this.draw=function(){function t(t){t.style("fill",function(t){return t.style.fill||void 0===t.style.fill?t.style.fillColor:"none"}).style("fill-opacity",function(t){return void 0===t.style.fillOpacity?1:t.style.fillOpacity}).style("stroke",function(t){return t.style.stroke||void 0===t.style.stroke?t.style.strokeColor:"none"}).style("stroke-opacity",function(t){return void 0===t.style.strokeOpacity?1:t.style.strokeOpacity}).style("stroke-width",function(t){return void 0===t.style.strokeWidth?1.5:t.style.strokeWidth})}A._init(),u.attr("height",A.size().height+24).style("display",null);var e=A._scale(),n=s.selectAll("g.geo-label").data(a,function(t){return t.name}),i=n.enter().append("g").attr("class","geo-label").attr("transform",function(t,n){return"translate(0,"+e.y(n)+")"});return t(i.filter(function(t){return"point"!==t.type&&"line"!==t.type}).append("rect").attr("x",0).attr("y",-6).attr("rx",5).attr("ry",5).attr("width",40).attr("height",12)),t(i.filter(function(t){return"point"===t.type}).append("circle").attr("cx",20).attr("cy",0).attr("r",6)),t(i.filter(function(t){return"line"===t.type}).append("line").attr("x1",0).attr("y1",0).attr("x2",40).attr("y2",0)),i.append("text").attr("x","50px").attr("y",0).attr("dy","0.3em").text(function(t){return t.name}),A.reposition(),A},this._scale=function(){return{x:e.scale.linear().domain([0,1]).range([0,A.size().width]),y:e.scale.linear().domain([0,a.length-1]).range([6,A.size().height-6])}},this._init=function(){c||(g(),l());var t=A.size().width+24+4,n=A.size().height+24+4;c&&c.remove(),e.select(A.canvas()).attr("width",t).attr("height",n),c=e.select(A.canvas()).append("g"),s=c.append("g").attr("transform","translate("+[14,14]+")"),u=s.append("rect").attr("x",-12).attr("y",-12).attr("width",t-4).attr("height",n-4).attr("rx",3).attr("ry",3).style({stroke:"black","stroke-width":"1.5px",fill:"white","fill-opacity":.75,display:"none"}),s.on("mousedown",function(){e.event.stopPropagation()}),s.on("mouseover",function(){u.transition().duration(250).style("fill-opacity",1)}),s.on("mouseout",function(){u.transition().duration(250).style("fill-opacity",.75)}),A.reposition()},this.geoOn(r.resize,function(){A.draw()})};r(o,i),A("dom","legend",o),t.exports=o},function(t,e,n){var i=n(263),r=n(4),A=n(131).registerWidget,o=function(t){"use strict";if(!(this instanceof o))return new o(t);i.call(this,t);var e=n(241),r=this,A=null;return this._init=function(t){var e;t.hasOwnProperty("parent")&&(t.parent.addChild(r),e=t.parent.canvas()),r._createCanvas(e),r.canvas().addEventListener("mousedown",function(t){t.stopPropagation()}),r.reposition()},this._createCanvas=function(t){var n={layer:r.layer(),widget:!0};t&&(n.d3Parent=t),A=e(n),r.canvas(A.canvas()[0][0])},this};r(o,i),A("dom","svg",o),t.exports=o},function(t,e,n){var i=n(266),r=n(4),A=n(131).registerWidget,o=function(t){"use strict";function e(t,e,n,i,r){var A=e.append("g"),o=r/1024;return A.append("g").append("g").attr("transform","translate("+n+","+i+") scale("+o+") translate(-512,-512)").append("path").attr("d",t).attr("class","geo-glyphicon"),A}if(!(this instanceof o))return new o(t);i.call(this,t);var r,A,a,c,s,u,g,l,M,h=n(132),d=n(125),f=this,I=this._exit,E=this._createCanvas,T=this._appendChild;u="M512 81.92c-237.568 0-430.080 192.614-430.080 430.080 0 237.568 192.563 430.080 430.080 430.080s430.080-192.563 430.080-430.080c0-237.517-192.563-430.080-430.080-430.080zM564.326 564.326v206.182h-104.653v-206.182h-206.234v-104.653h206.182v-206.234h104.704v206.182h206.182v104.704h-206.182z",g="M512 81.92c-237.568 0-430.080 192.614-430.080 430.080 0 237.568 192.563 430.080 430.080 430.080s430.080-192.563 430.080-430.080c0-237.517-192.563-430.080-430.080-430.080zM770.56 459.674v104.704h-517.12v-104.704h517.12z",M={white:"#f4f4f4",black:"#505050"},this._init=function(){function t(t,e){var n=A.invert(h.mouse(f.layer().node()[0])[1]),r=i.zoomRange();n=(1-n)*(r.max-r.min)+r.min,e?i.transition({zoom:n,ease:h.ease("cubic-in-out"),duration:500,done:f._update()}):(i.zoom(n),f._update()),t.stopPropagation()}E(),T(),f.reposition();var n=h.select(f.canvas()),i=f.layer().map();r=h.scale.linear().domain([-4,4]).range([40,60]),A=h.scale.linear().domain([0,1]).range([60,160]),n=n.append("g").classed("geo-ui-slider",!0),l=n,a=n.append("g"),a.append("circle").datum({fill:"white",stroke:null}).classed("geo-zoom-in",!0).attr("cx",r(0)).attr("cy",A(0)-20+2).attr("r",10).style({cursor:"pointer"}).on("click",function(){var t=i.zoom();i.transition({zoom:t+1,ease:h.ease("cubic-in-out"),duration:500})}).on("mousedown",function(){h.event.stopPropagation()}),e(u,a,r(0),A(0)-20+2,25).style("cursor","pointer").style("pointer-events","none").select("path").datum({fill:"black",stroke:null}),c=n.append("g"),c.append("circle").datum({fill:"white",stroke:null}).classed("geo-zoom-out",!0).attr("cx",r(0)).attr("cy",A(1)+20-2).attr("r",10).style({cursor:"pointer"}).on("click",function(){var t=i.zoom();i.transition({zoom:t-1,ease:h.ease("cubic-in-out"),duration:500})}).on("mousedown",function(){h.event.stopPropagation()}),e(g,c,r(0),A(1)+20-2,25).style("cursor","pointer").style("pointer-events","none").select("path").datum({fill:"black",stroke:null}),n.append("rect").datum({fill:"white",stroke:"black"}).classed("geo-zoom-track",!0).attr("x",r(0)-20/6).attr("y",A(0)).attr("rx",2).attr("ry",2).attr("width",20/3).attr("height",100).style({cursor:"pointer"}).on("click",function(){t(h.event,!0)}),s=n.append("rect").datum({fill:"black",stroke:null}).classed("geo-zoom-nub",!0).attr("x",r(-4)).attr("y",A(.5)-5).attr("rx",3).attr("ry",3).attr("width",20).attr("height",10).style({cursor:"pointer"}).on("mousedown",function(){h.select(document).on("mousemove.geo.slider",function(){t(h.event)}),h.select(document).on("mouseup.geo.slider",function(){t(h.event),h.select(document).on(".geo.slider",null)}),h.event.stopPropagation()});var o=function(){h.select(this).attr("filter","url(#geo-highlight)"),l.selectAll("rect,path,circle").transition().duration(100).style("fill",function(t){return t.fill||null}).style("stroke",function(t){return t.stroke||null})},I=function(){h.select(this).attr("filter",null),l.selectAll("circle,rect,path").transition().duration(100).style("fill",function(t){return M[t.fill]||null}).style("stroke",function(t){return M[t.stroke]||null})};l.selectAll("*").on("mouseover",o).on("mouseout",I),f.layer().geoOn(d.zoom,function(){f._update()}),I(),f._update()},this._exit=function(){l.remove(),f.layer().geoOff(d.zoom),I()},this._update=function(t){var e=f.layer().map(),n=e.zoomRange(),i=e.zoom(),r=h.scale.linear();t=t||{},i=t.value||i,r.domain([n.min,n.max]).range([1,0]).clamp(!0),s.attr("y",A(r(i))-5)}};r(o,i),A("dom","slider",o),t.exports=o}])})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s=n(20),u=i(s),g=n(323),l=i(g),M=n(13),h=i(M),d=n(103),f=function(t,e){var n=5;if(e){var i=(0,d.minmax)(t.map(function(t){return t[e]})),r=u.default.scale.linear().domain([i.min,i.max]).range([3,19]);n=function(t){return r(t[e])}}return n},I=function(t,e){var n="red",i="darkred";if(e&&t.length>0){var r=void 0,A=void 0,o=c(t[0][e]);if(void 0===o||"string"===o)r=u.default.scale.category10(),A="black";else{var a=(0,d.minmax)(t.map(function(t){return t[e]})),s=u.default.rgb("#ef6a62"),g=u.default.rgb("#67a9cf"),l=s.darker(),M=g.darker();r=u.default.scale.linear().domain([a.min,a.max]).range([s,g]),A=u.default.scale.linear().domain([a.min,a.max]).range([l,M])}n=function(t){return r(t[e])},i="black"===A?"black":function(t){return A(t[e])}}return{fillTransform:n,strokeTransform:i}},E=function(t){function e(t,n){r(this,e);var i=A(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t)),o=n.width||600,a=n.height||600;t.style.width=o+"px",t.style.height=a+"px";var c=f(n.data,n.size),s=I(n.data,n.color),u=s.fillTransform,g=s.strokeTransform;n.layers=[],null!==n.tileUrl&&n.layers.push({type:"osm",url:n.tileUrl}),n.layers.push({type:"feature",features:[{name:"feature1",type:"point",x:n.longitude,y:n.latitude,style:{radius:c,fillColor:u,strokeColor:g},data:n.data}]}),n.center=n.center||{};var M={x:n.center.longitude||0,y:n.center.latitude||0},h=Object.assign({map:{zoom:n.zoom,center:M}},n);return i.geojs=new l.default(i.el,h),i.options=n,i}return o(e,t),a(e,null,[{key:"options",get:function(){return[{name:"data",type:"table",format:"objectlist"},{name:"latitude",type:"string",format:"text",domain:{mode:"field",from:"data",fieldTypes:["number"]}},{name:"longitude",type:"string",format:"text",domain:{mode:"field",from:"data",fieldTypes:["number"]}},{name:"color",type:"string",format:"text",optional:!0,domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}},{name:"size",type:"string",format:"text",optional:!0,domain:{mode:"field",from:"data",fieldTypes:["number","integer","boolean"]}}]}}]),a(e,[{key:"render",value:function(){this.geojs.render()}},{key:"update",value:function(t){var e=this,n=this.geojs.layers[1],i=new Set;if(["longitude","latitude","color","size"].forEach(function(n){t[n]&&(i.add(n),e.options[n]=t[n])}),(i.has("longitude")||i.has("latitude"))&&n.position(function(t){return{x:t[e.options.longitude],y:t[e.options.latitude]}}),i.has("size")&&n.style("radius",f(this.options.data,this.options.size)),i.has("color")){var r=I(this.options.data,this.options.color),A=r.fillTransform,o=r.strokeTransform;n.style("fillColor",A).style("strokeColor",o)}return i.size>0&&n.modified(),Promise.resolve(this)}}]),e}(h.default);e.default=E},function(t,e,n){"use strict";var i=n(30),r=function(t){return t&&t.__esModule?t:{default:t}}(i),A=n(639);r.default.register(A.Glo,"Glo")},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Glo=void 0;var i=n(640),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.Glo=r.default},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(e,"__esModule",{value:!0});var c=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),s=n(13),u=i(s),g=n(20),l=i(g),M=n(641),h=i(M),d=function(t,e,n){t.glo.node_attr(a({},e,n)),t.glo.color_nodes_by(e)},f=function(t){function e(t,n){var i=n.nodes,o=n.edges,a=n.width,c=void 0===a?960:a,s=n.height,u=void 0===s?540:s;r(this,e);var g=A(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.default.select(g.el).selectAll("*").remove(),g.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),g.svg.setAttribute("width",c),g.svg.setAttribute("height",u),g.el.appendChild(g.svg),g.glo=new h.default.GLO(l.default.select(g.svg)).nodes(i).edges(o),g}return o(e,t),c(e,[{key:"render",value:function(){this.drawn||(this.glo.draw(),this.drawn=!0)}},{key:"colorNodesDiscrete",value:function(t){d(this,t,"discrete")}},{key:"colorNodesContinuous",value:function(t){d(this,t,"continuous")}},{key:"colorNodesDefault",value:function(){this.glo.color_nodes_by_constant()}},{key:"sizeNodes",value:function(t){this.glo.node_attr(a({},t,"continuous")),this.glo.size_nodes_by(t)}},{key:"sizeNodesDefault",value:function(){this.glo.size_nodes_by_constant()}},{key:"distributeNodes",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;null===e?this.glo.evenly_distribute_nodes_on(t):this.glo.evenly_distribute_nodes_on(t,{by:e})}},{key:"positionNodes",value:function(t,e){this.glo.node_attr(a({},e,"continuous")),this.glo.position_nodes_on(t,e)}},{key:"forceDirected",value:function(){this.glo.apply_force_directed_algorithm_to_nodes()}},{key:"showEdges",value:function(){this.glo.show_all_edges()}},{key:"hideEdges",value:function(){this.glo.hide_edges()}},{key:"fadeEdges",value:function(){this.glo.show_edges_as_faded()}},{key:"solidEdges",value:function(){this.hideEdges(),this.showEdges()}},{key:"incidentEdges",value:function(){this.glo.show_incident_edges()}},{key:"curvedEdges",value:function(){this.glo.display_edges_as_curved_lines()}},{key:"straightEdges",value:function(){this.glo.display_edges_as_straight_lines()}}]),e}(u.default);e.default=f},function(t,e,n){"use strict";function i(t,e){return{rho:Math.sqrt(t*t+e*e),theta:Math.atan2(e,t)}}function r(t,e){return{x:t*Math.cos(e),y:t*Math.sin(e)}}function A(t){console.log(t)}function o(t){A("TODO: "+t)}function a(t){o(t)}var c=n(57),s=n(324),u=u||{};u.Coordinates=function(t,e,n,i){return Array.isArray(t)?(this._x=d3.min(t),this._width=d3.max(t)-this._x,this._y=d3.min(e),this._height=d3.max(e)-this._y,this):(this._x=t,this._y=e,this._width=n,this._height=i,this)},u.Coordinates.prototype.clone=function(){return new u.Coordinates(this._x,this._y,this._width,this._height)},u.Coordinates.prototype.bounding_box_area=function(t,e){var n=d3.min(t),i=d3.min(e);return(d3.max(t)-n)*(d3.max(e)-i)},u.Coordinates.prototype.map_x=function(t){return this.x()+t},u.Coordinates.prototype.map_y=function(t){return this.y()+t},u.Coordinates.prototype.x=function(t){return t?(this._x=t,this):this._x},u.Coordinates.prototype.y=function(t){return t?(this._y=t,this):this._y},u.Coordinates.prototype.width=function(t){return t?(this.old_width=this.width(),this._width=t,this):this._width},u.Coordinates.prototype.height=function(t){return t?(this._height=t,this):this._height},u.Coordinates.prototype.area=function(){return this.width()*this.height()},u.Coordinates.prototype.top=function(){return this.map_y(0)},u.Coordinates.prototype.bottom=function(){return this.map_y(this.height())},u.Coordinates.prototype.middle=function(){return this.map_y(this.height()/2)},u.Coordinates.prototype.left=function(){return this.map_x(0)},u.Coordinates.prototype.center=function(){return this.map_x(this.width()/2)},u.Coordinates.prototype.right=function(){return this.map_x(this.width())},u.NodeGroup=function(t,e,n){if(this.nodes=t,this.gen=e,void 0===n||0==n){var i=this,r=this.nodes.map(function(t){return t.x_list[i.gen.gen_id]}),A=this.nodes.map(function(t){return t.y_list[i.gen.gen_id]});this.coordinates=new u.Coordinates(r,A)}return this},u.NodeGroup.prototype.clone=function(t){var e=this,n=new u.NodeGroup(e.nodes,t,!0);return n.coordinates=e.coordinates.clone(),e.x_scale&&(n.x_scale=e.x_scale.copy()),e.y_scale&&(n.y_scale=e.y_scale.copy()),e.rho_scale&&(n.rho_scale=e.rho_scale.copy()),e.theta_scale&&(n.theta_scale=e.theta_scale.copy()),n},u.NodeGroup.prototype.update_coordinates=function(){o("update_coordinates")},u.NodeGroup.prototype.rho_shift=function(t,e){var n=this,A=t.x_list[n.gen.gen_id],o=t.y_list[n.gen.gen_id],a=A-n.coordinates.center(),c=o-n.coordinates.middle(),s=i(a,c);s.rho=e;var u=r(s.rho,s.theta);return u.x+=n.coordinates.center(),u.y+=n.coordinates.middle(),u},u.NodeGroup.prototype.theta_shift=function(t,e){var n=this,A=t.x_list[n.gen.gen_id],o=t.y_list[n.gen.gen_id],a=A-n.coordinates.center(),c=o-n.coordinates.middle(),s=i(a,c);s.theta=e;var u=r(s.rho,s.theta);return u.x+=n.coordinates.center(),u.y+=n.coordinates.middle(),u},u.NodeGroup.prototype.position_on=function(t,e){return c.isNumber(e)?this.position_by_constant(t,e):this.position_by_attr(t,e),this},u.NodeGroup.prototype.position_by_attr=function(t,e){var n=this.gen.canvas.glo.node_attr()[e];if("continuous"==n)this.position_by_continuous(t,e);else{if("discrete"!=n&&"color"!=n)throw"Undefined Attribute Error";this.position_by_discrete(t,e)}return this},u.NodeGroup.prototype.position_by_continuous=function(t,e){var n=this,i=d3.scale.linear().domain(d3.extent(this.nodes.map(function(t){return t[e]})));return"x"==t&&(this.x_scale=i.range([this.coordinates.left(),this.coordinates.right()]),this.nodes.forEach(function(t){t.x_list[n.gen.gen_id]=i(t[e])})),"y"==t&&(this.y_scale=i.range([this.coordinates.bottom(),this.coordinates.top()]),this.nodes.forEach(function(t){t.y_list[n.gen.gen_id]=i(t[e])})),"rho"==t&&(this.rho_scale=i.range([1,Math.min(this.coordinates.width(),this.coordinates.height())/2]),this.nodes.forEach(function(t){t.rho_list[n.gen.gen_id]=i(t[e]);var r=n.rho_shift(t,t.rho_list[n.gen.gen_id]);t.x_list[n.gen.gen_id]=r.x,t.y_list[n.gen.gen_id]=r.y})),"theta"==t&&(this.theta_scale=i.range([3*Math.PI/2,7*Math.PI/2]),this.nodes.forEach(function(t){t.x_list[n.gen_id]==n.coordinates.center()&&t.y_list[n.gen_id]==n.coordinates.middle()&&(t.x_list[n.gen_id]=n.coordinates.center()+1e-4,t.y_list[n.gen_id]=n.coordinates.middle()+1e-4),t.theta_list[n.gen.gen_id]=i(t[e]);var r=n.theta_shift(t,t.theta_list[n.gen.gen_id]);t.x_list[n.gen.gen_id]=r.x,t.y_list[n.gen.gen_id]=r.y})),this.gen.update(),this},u.NodeGroup.prototype.position_by_discrete=function(t,e){var n=this,i=d3.scale.ordinal().domain(this.nodes.map(function(t){return t[e]}).sort(function(t,e){return c.isNumber(t)?t-e:t.localeCompare(e)}));return"x"==t&&(this.x_scale=i.rangePoints([this.coordinates.left(),this.coordinates.right()],this.gen.discrete_range_padding),this.nodes.forEach(function(t){t.x_list[n.gen.gen_id]=i(t[e])})),"y"==t&&(this.y_scale=i.rangePoints([this.coordinates.bottom(),this.coordinates.top()],this.gen.discrete_range_padding),this.nodes.forEach(function(t){t.y_list[n.gen.gen_id]=i(t[e])})),"rho"==t&&(this.rho_scale=i.rangePoints([1,Math.min(this.coordinates.width(),this.coordinates.height())/2],this.gen.discrete_range_padding),this.nodes.forEach(function(t){t.rho_list[n.gen.gen_id]=i(t[e]);var r=n.rho_shift(t,t.rho_list[n.gen.gen_id]);t.x_list[n.gen.gen_id]=r.x,t.y_list[n.gen.gen_id]=r.y})),"theta"==t&&(this.theta_scale=i.rangePoints([3*Math.PI/2,7*Math.PI/2],this.gen.discrete_range_padding),this.nodes.forEach(function(t){t.x_list[n.gen_id]==n.coordinates.center()&&t.y_list[n.gen_id]==n.coordinates.middle()&&(t.x_list[n.gen_id]=n.coordinates.center()+1e-4,t.y_list[n.gen_id]=n.coordinates.middle()+1e-4),t.theta_list[n.gen.gen_id]=i(t[e]);var r=n.theta_shift(t,t.theta_list[n.gen.gen_id]);t.x_list[n.gen.gen_id]=r.x,t.y_list[n.gen.gen_id]=r.y})),this.gen.update(),this},u.NodeGroup.prototype.position_by_preset_constant=function(t){var e;if("x"==t)e=this.coordinates.center();else if("y"==t)e=this.coordinates.middle();else if("rho"==t)e=Math.min(this.coordinates.width(),this.coordinates.height())/2*.95;else{if("theta"!=t)throw"Unsupported Axis: "+t;e=90}return this.position_by_constant(t,e),this},u.NodeGroup.prototype.position_by_constant=function(t,e){var n=this,i=d3.scale.linear();return"x"==t&&(this.x_scale=i,this.nodes.forEach(function(t){t.x_list[n.gen.gen_id]=e})),"y"==t&&(this.y_scale=i,this.nodes.forEach(function(t){t.y_list[n.gen.gen_id]=e})),"rho"==t&&(this.rho_scale=i,this.nodes.forEach(function(t){t.rho_list[n.gen.gen_id]=e;var i=n.rho_shift(t,t.rho_list[n.gen.gen_id]);t.x_list[n.gen.gen_id]=i.x,t.y_list[n.gen.gen_id]=i.y})),"theta"==t&&(this.theta_scale=i,this.nodes.forEach(function(t){t.x_list[n.gen_id]==n.coordinates.center()&&t.y_list[n.gen_id]==n.coordinates.middle()&&(t.x_list[n.gen_id]=n.coordinates.center()+1e-4,t.y_list[n.gen_id]=n.coordinates.middle()+1e-4),t.theta_list[n.gen.gen_id]=e*(Math.PI/180);var i=n.theta_shift(t,t.theta_list[n.gen.gen_id]);t.x_list[n.gen.gen_id]=i.x,t.y_list[n.gen.gen_id]=i.y})),this.gen.update(),this},u.NodeGroup.prototype.distribute=function(t,e,n){var i=this;void 0!==e&&null!=e||(e="id");var r=!1;void 0!==n&&void 0!==n.invert&&(r=n.invert),i.nodes.sort(function(t,n){var i;return i=c.isNumber(t[e])?t[e]-n[e]:t[e].localeCompare(n[e]),0==i&&(i=t.id-n.id),r&&(i*=-1),i}).forEach(function(t,e){t.index=e});var A=d3.scale.ordinal().domain(c.range(i.nodes.length));return"x"==t&&(this.x_scale=A.rangePoints([this.coordinates.left(),this.coordinates.right()],this.gen.discrete_range_padding),this.nodes.forEach(function(t){t.x_list[i.gen.gen_id]=A(t.index)})),"y"==t&&(this.y_scale=A.rangePoints([this.coordinates.bottom(),this.coordinates.top()],this.gen.discrete_range_padding),this.nodes.forEach(function(t){t.y_list[i.gen.gen_id]=A(t.index)})),"rho"==t&&(this.rho_scale=A.rangePoints([1,Math.min(this.coordinates.width(),this.coordinates.height())/2],this.gen.discrete_range_padding),this.nodes.forEach(function(t){t.rho_list[i.gen.gen_id]=A(t.index);var e=i.rho_shift(t,t.rho_list[i.gen.gen_id]);t.x_list[i.gen.gen_id]=e.x,t.y_list[i.gen.gen_id]=e.y})),"theta"==t&&(this.theta_scale=A.rangePoints([3*Math.PI/2,7*Math.PI/2],this.gen.discrete_range_padding),this.nodes.forEach(function(t){t.x_list[i.gen_id]==i.coordinates.center()&&t.y_list[i.gen_id]==i.coordinates.middle()&&(t.x_list[i.gen_id]=i.coordinates.center()+1e-4,t.y_list[i.gen_id]=i.coordinates.middle()+1e-4),t.theta_list[i.gen.gen_id]=A(t.index);var e=i.theta_shift(t,t.theta_list[i.gen.gen_id]);t.x_list[i.gen.gen_id]=e.x,t.y_list[i.gen.gen_id]=e.y})),this.gen.update(),this},u.NodeGroup.prototype._group_by=function(t){var e=new Map;return this.nodes.forEach(function(n){e[n[t]]||(e[n[t]]=[]),e[n[t]].push(n)}),e},u.NodeGroup.prototype.distribute_on_within=function(t,e,n,i){var r=this;void 0===n&&(n="id");var A=!1;void 0!==i&&void 0!==i.invert&&(A=i.invert);var o=this._group_by(e);for(var a in o){var s=o[a];s.sort(function(t,e){var i;return i=c.isNumber(t[n])?t[n]-e[n]:t[n].localeCompare(e[n]),0==i&&(i=t.id-e.id),1==A&&(i*=-1),i}).forEach(function(t,e){t.index=e});var u=d3.scale.ordinal().domain(c.range(s.length));"x"==t&&(u.rangePoints([this.coordinates.left(),this.coordinates.right()],this.gen.discrete_range_padding),s.forEach(function(t){t.x_list[r.gen.gen_id]=u(t.index)})),"y"==t&&(u.rangePoints([this.coordinates.bottom(),this.coordinates.top()],this.gen.discrete_range_padding),s.forEach(function(t){t.y_list[r.gen.gen_id]=u(t.index)})),"rho"==t&&(rho_scale=u.rangePoints([1,Math.min(this.coordinates.width(),this.coordinates.height())/2],this.gen.discrete_range_padding),this.nodes.forEach(function(t){t.rho_list[r.gen.gen_id]=u(t.index);var e=r.rho_shift(t,t.rho_list[r.gen.gen_id]);t.x_list[r.gen.gen_id]=e.x,t.y_list[r.gen.gen_id]=e.y})),"theta"==t&&(theta_scale=u.rangePoints([3*Math.PI/2,7*Math.PI/2],this.gen.discrete_range_padding),s.forEach(function(t){t.theta_list[r.gen.gen_id]=u(t.index);var e=r.theta_shift(t,t.theta_list[r.gen.gen_id]);t.x_list[r.gen.gen_id]=e.x,t.y_list[r.gen.gen_id]=e.y}))}return this.gen.update(),this},u.NodeGroup.prototype.align=function(t){var e=this;return"top"==t&&this.nodes.forEach(function(t){t.y_list[e.gen.gen_id]=e.coordinates.top()-e.gen.default_r}),"middle"==t&&this.nodes.forEach(function(t){t.y_list[e.gen.gen_id]=e.coordinates.middle()}),"bottom"==t&&this.nodes.forEach(function(t){t.y_list[e.gen.gen_id]=e.coordinates.bottom()+e.gen.default_r}),"left"==t&&this.nodes.forEach(function(t){t.x_list[e.gen.gen_id]=e.coordinates.left()-e.gen.default_r}),"center"==t&&this.nodes.forEach(function(t){t.x_list[e.gen.gen_id]=e.coordinates.center()}),"right"==t&&this.nodes.forEach(function(t){t.x_list[e.gen.gen_id]=e.coordinates.right()+e.gen.default_r}),this.gen.update(),this},u.Canvas=function(t,e,n,i,r){return this.glo=t,this._width=e,this._height=n,this._x_offset=i||0,this._y_offset=r||0,this._x_buffer=10,this._y_buffer=20,this.node_generations=new Map,this.edge_generations=new Map,this._show_x_axis=!1,this._show_y_axis=!1,this.id=this.glo._next_canvas_id(),this.glo.canvases.set(this.id,this),this.glo.active_canvas(this.id),this},u.Canvas.prototype.y_axis_width=35,u.Canvas.prototype.x_axis_height=15,u.Canvas.prototype.extra_x=function(){return 2*this._x_buffer+this.y_axis_width},u.Canvas.prototype.extra_y=function(){return 2*this._y_buffer+this.x_axis_width},u.Canvas.prototype.scale=function(t,e){if("x"!=t&&"y"!=t)throw"Invalid axis to scale canvas: "+t;var n=this.left(),i=this.right(),r=this.top(),A=this.bottom();return"x"==t&&this.width(this.width()*e),"y"==t&&this.height(this.height()*e),this.node_generations.values().forEach(function(t){t.scale(n,i,r,A,this.left(),this.right(),this.top(),this.bottom())}),this},u.Canvas.prototype.unscale=function(t){return void 0===t?(this._scale_x=1,this._scale_y=1,this.redraw(),this):(this["_scale_"+t]=1,this.redraw(),this)},u.Canvas.prototype.redraw=function(){},u.Canvas.prototype.width=function(t){return t?(this._width=t,this):this._width},u.Canvas.prototype.canvas_width=function(){return this.width()-2*this.x_buffer()-this.y_axis_width},u.Canvas.prototype.canvas_height=function(){return this.height()-2*this.y_buffer()-this.x_axis_height},u.Canvas.prototype.height=function(t){return t?(this._height=t,this):this._height},u.Canvas.prototype.active_node_generation=function(t){return t?(this._active_node_generation=t,this):this._active_node_generation},u.Canvas.prototype.active_edge_generation=function(t){return t?(this._active_edge_generation=t,this):this._active_edge_generation},u.Canvas.prototype.show_x_axis=function(t){return void 0===t?this._show_x_axis:(this._show_x_axis=t,this.update_axes(),this)},u.Canvas.prototype.show_y_axis=function(t){return void 0===t?this._show_y_axis:(this._show_y_axis=t,this.update_axes(),this)},u.Canvas.prototype.x_axis_gen=function(t){return void 0===t?this._x_axis_gen:(this._x_axis_gen=t,this.update_axes(),this)},u.Canvas.prototype.y_axis_gen=function(t){return void 0===t?this._y_axis_gen:(this._y_axis_gen=t,this.update_axes(),this)},u.Canvas.prototype.update_axes=function(){return 1==this.show_x_axis()?this.draw_x_axis():this.x_axis_g.html(""),1==this.show_y_axis()?this.draw_y_axis():this.y_axis_g.html(""),this},u.Canvas.prototype.x_buffer=function(t){return t?(this._x_buffer=t,this):this._x_buffer},u.Canvas.prototype.y_buffer=function(t){return t?(this._y_buffer=t,this):this._y_buffer},u.Canvas.prototype.x_offset=function(t){return t?(this._x_offset=t,this):this._x_offset},u.Canvas.prototype.y_offset=function(t){return t?(this._y_offset=t,this):this._y_offset},u.Canvas.prototype.top=function(){return this.y_buffer()},u.Canvas.prototype.bottom=function(){return this.height()-this.y_buffer()-this.x_axis_height},u.Canvas.prototype.middle=function(){return(this.height()-2*this.y_buffer()-this.x_axis_height)/2},u.Canvas.prototype.left=function(){return this.y_axis_width+this.x_buffer()},u.Canvas.prototype.center=function(){return this.y_axis_width+this.x_buffer()+(this.width()-this.y_axis_width-2*this.x_buffer())/2},u.Canvas.prototype.right=function(){return this.width()-this.x_buffer()},u.Canvas.prototype._draw_debug_markers=function(){this.chart.append("circle").attr("cx",this.center()).attr("cy",this.middle()).attr("r",3).style("fill","blue"),this.chart.append("line").attr("x1",this.left()).attr("x2",this.left()).attr("y1",this.bottom()).attr("y2",this.top()).style("stroke","blue").style("stroke-width",1),this.chart.append("line").attr("x1",this.left()).attr("x2",this.right()).attr("y1",this.bottom()).attr("y2",this.bottom()).style("stroke","blue").style("stroke-width",1)},u.Canvas.prototype.clone=function(t,e){var n=this,i=new u.Canvas(n.glo,n.width(),n.height(),t,e);i.init_empty();var r=new Map,A=new Map;return n.node_generations.values().forEach(function(t){var e=t.clone(i);r.set(t.gen_id,e)}),n.edge_generations.values().forEach(function(t){var e=t.clone(i);A.set(t.gen_id,e),e.source_generation(r.get(e.source_generation().gen_id)),e.target_generation(r.get(e.target_generation().gen_id))}),i.active_node_generation(r.get(n.active_node_generation().gen_id)),i.active_edge_generation(A.get(n.active_edge_generation().gen_id)),i.x_axis_gen(r.get(n.x_axis_gen().gen_id)),i.y_axis_gen(r.get(n.y_axis_gen().gen_id)),i.show_x_axis(n.show_x_axis()),i.show_y_axis(n.show_y_axis()),i},u.Canvas.prototype.init=function(){this.chart=this.glo.svg.append("g").attr("transform","translate("+this.x_offset()+","+this.y_offset()+")"),this.x_axis_g=this.chart.append("g").attr("class","x axis").attr("transform","translate(0,"+this.bottom()+")"),this.y_axis_g=this.chart.append("g").attr("class","y axis").attr("transform","translate("+(this.x_buffer()+this.y_axis_width)+",0)");var t=new u.EdgeGeneration(this,this.glo.edges(),!1);t.init_svg(),this.active_edge_generation(t);var e=new u.NodeGeneration(this,this.glo.nodes(),!1);return e.init_svg().init_props().init_draw(),this.active_node_generation(e),this.x_axis_gen(e),this.y_axis_gen(e),t.source_generation(e).target_generation(e).init_props().init_draw(),this},u.Canvas.prototype.update_chart=function(){this.chart.attr("transform","translate("+this.x_offset()+","+this.y_offset()+")")},u.Canvas.prototype.init_empty=function(){return this.chart=this.glo.svg.append("g").attr("transform","translate("+this.x_offset()+","+this.y_offset()+")"),this.x_axis_g=this.chart.append("g").attr("class","x axis").attr("transform","translate(0,"+this.bottom()+")"),this.y_axis_g=this.chart.append("g").attr("class","y axis").attr("transform","translate("+(this.x_buffer()+this.y_axis_width)+",0)"),this},u.Canvas.prototype.draw_x_axis=function(){var t=d3.svg.axis().scale(this.x_axis_gen().x_scale).orient("bottom");return this.x_axis_g.call(t),this},u.Canvas.prototype.draw_y_axis=function(){var t=d3.svg.axis().scale(this.y_axis_gen().y_scale).orient("left");return this.y_axis_g.call(t),this},u.Canvas.prototype.partition=function(t,e){var n=this,i=n.width(),r=n.height();n.scale(t,1/e);for(var A=1;A<e;A++){var o=0,a=0;"x"==t&&(o=n.x_offset()+i/e*A,a=n.y_offset()),"y"==t&&(o=n.x_offset(),a=n.y_offset()+r/e*A);n.clone(o,a)}},u.NodeGeneration=function(t,e,n){return this.canvas=t,this.nodes=e,this.is_aggregated=n||!1,this.gen_id=this.canvas.glo._next_node_gen(),this.canvas.node_generations.set(this.gen_id,this),this.edge_generation_listeners=new Set,this.default_x_scale=d3.scale.linear().range([this.canvas.left(),this.canvas.right()]).domain([0,1]),this.default_y_scale=d3.scale.linear().range([this.canvas.bottom(),this.canvas.top()]).domain([0,1]),this.x_scale=this.default_x_scale.copy(),this.y_scale=this.default_y_scale.copy(),this.group_by_map=new Map,this._highlight_neighbors=!1,this},u.NodeGeneration.prototype.default_r=5,u.NodeGeneration.prototype.default_fill="#333",u.NodeGeneration.prototype.max_r=45,u.NodeGeneration.prototype.min_r=2,u.NodeGeneration.prototype.discrete_range_padding=1,u.NodeGeneration.prototype.get_group_by_groups=function(t){var e;if(this.group_by_map.has(t))e=this.group_by_map.get(t);else{e=new Map;var n=this.nodes.map(function(e){return e[t]});for(var i in n)i=n[i],nodes=this.nodes.filter(function(e){return e[t]==i}),node_group=new u.NodeGroup(nodes,this),e.set(i,node_group);this.group_by_map.set(t,e)}return e},u.NodeGeneration.prototype.scale=function(t,e,n,i,r,A,o,a){var c=this,s=d3.scale.linear().domain([t,e]).range([r,A]),u=d3.scale.linear().domain([i,n]).range([a,o]);return c.nodes.forEach(function(t){t.x_list[c.gen_id]=s(t.x_list[c.gen_id]),t.y_list[c.gen_id]=u(t.y_list[c.gen_id])}),c.x_scale.range([r,A]),c.y_scale.range([a,o]),c.group_by_map.values().forEach(function(t){t.values().forEach(function(t){t.coordinates.x(s(t.coordinates.x())),t.coordinates.y(u(t.coordinates.y())),t.coordinates.width(s(t.coordinates.right())-s(t.coordinates.left())),t.coordinates.height(u(t.coordinates.bottom())-u(t.coordinates.top()))})}),this.canvas.update_axes(),c.update(),c},u.NodeGeneration.prototype.clone=function(t){void 0===t&&(t=this.canvas);var e=this,n=new u.NodeGeneration(t,this.nodes,this.is_aggregated);if(n.nodes.forEach(function(t){t.x_list[n.gen_id]=t.x_list[e.gen_id],t.y_list[n.gen_id]=t.y_list[e.gen_id],t.r_list[n.gen_id]=t.r_list[e.gen_id],t.rho_list[n.gen_id]=t.rho_list[e.gen_id],t.theta_list[n.gen_id]=t.theta_list[e.gen_id],t.fill_list[n.gen_id]=t.fill_list[e.gen_id]}),n.x_scale=e.x_scale.copy(),n.y_scale=e.y_scale.copy(),n.group_by_map=new Map,e.group_by_map.entries().forEach(function(t){var e=t[0],i=t[1],r=new Map;i.forEach(function(t){var e=t[0],i=t[1];r.set(e,i.clone(n))}),n.group_by_map.set(e,r)}),this.is_aggregated){var i=this.aggregate_source_generation.clone(t);n.aggregate_source_generation=i,i.aggregate_target_generation=n,i.has_aggregate=!0,n.aggregate_node_map=new Map,this.aggregate_node_map.forEach(function(t){var e=t[0],i=t[1];n.aggregate_node_map.set(e,i)})}return n.init_svg().init_draw().is_displayed(e.is_displayed()).highlight_neighbors(e.highlight_neighbors()).update(),n.canvas.active_node_generation(n),n},u.NodeGeneration.prototype.is_displayed=function(t){return void 0===t?this._is_displayed:(this._is_displayed=t,0==this._is_displayed?this.node_g.style("display","none"):this.node_g.style("display",null),this)},u.NodeGeneration.prototype.deaggregate=function(){if(!this.is_aggregated)return this;var t=this,e=this.aggregate_source_generation;return t.node_g.remove(),t.canvas.node_generations.delete(t.gen_id),t.canvas.x_axis_gen()==t&&t.canvas.x_axis_gen(e),t.canvas.y_axis_gen()==t&&t.canvas.y_axis_gen(e),t.canvas.active_node_generation(e),e.has_aggregate=!1,delete t.aggregate_target_generation,e.highlight_neighbors(t.highlight_neighbors()),e.is_displayed(!0),e.update(),e},u.NodeGeneration.prototype.get_root_source_gen=function(){return this.is_aggregated?this.aggregate_source_generation.get_root_source_gen():this},u.NodeGeneration.prototype.get_leaf_target_gen=function(){return this.has_aggregate?this.aggregate_target_generation.get_leaf_target_gen():this},u.NodeGeneration.prototype.aggregate=function(t,e){var n,i=this;if("sum"==e.toLowerCase())n=d3.sum;else if("mean"==e.toLowerCase())n=d3.mean;else{if("median"!=e.toLowerCase())throw"Unrecognized aggregation method. Not aggregating.";n=d3.median}var r;r="string"==typeof t?function(t,e){return t[e]}:function(t,e){var n="";for(var i in e)i=e[i],n+=t[i]+"&";return n};var A=new Map;this.nodes.forEach(function(e){var n=r(e,t);A[n]||(A[n]=[]),A[n].push(e)});var o=new Map;for(var a in A){var c=A[a],s={};s.x_list=new Map,s.y_list=new Map,s.r_list=new Map,s.rho_list=new Map,s.theta_list=new Map,s.hover_value=!1,s.in_hover_value=!1,s.out_hover_value=!1,s.fill_list=new Map,s.label=a.slice(0,-1),o.set(a,s)}var g=[].concat(o.values()),l=new u.NodeGeneration(this.canvas,g,!0);l.aggregate_node_map=new Map,l.aggregate_source_generation=this,this.aggregate_target_generation=l,this.has_aggregate=!0,l.x_scale=this.x_scale.copy(),l.y_scale=this.y_scale.copy();var M=0;for(var a in A){var c=A[a],s=o.get(a);l.aggregate_node_map.set(s,c),s.id=M++,s.x_list[l.gen_id]=n(c.map(function(t){return t.x_list[i.gen_id]})),s.y_list[l.gen_id]=n(c.map(function(t){return t.y_list[i.gen_id]})),s.r_list[l.gen_id]=n(c.map(function(t){return t.r_list[i.gen_id]})),s.rho_list[l.gen_id]=n(c.map(function(t){return t.rho_list[i.gen_id]})),s.theta_list[l.gen_id]=n(c.map(function(t){return t.theta_list[i.gen_id]})),s.fill_list[l.gen_id]=c[0].fill_list[this.gen_id];var h=this.canvas.glo.node_attr();for(var d in h)"continuous"==h[d]?s[d]=n(c.map(function(t){return t[d]})):s[d]=c[0][d];s.count=d3.sum(c.map(function(t){return t.count})),s.degree=d3.sum(c.map(function(t){return t.degree})),s.in_degree=d3.sum(c.map(function(t){return t.in_degree}))}return this.canvas.active_node_generation(l),this.canvas.x_axis_gen()==this&&this.canvas.x_axis_gen(l),this.canvas.y_axis_gen()==this&&this.canvas.y_axis_gen(l),l.init_svg().init_draw().is_displayed(i.is_displayed()).highlight_neighbors(i.highlight_neighbors()).update(),this.is_displayed(!1),l},u.NodeGeneration.prototype.select=function(t){return this.node_g.select(t)},u.NodeGeneration.prototype.selectAll=function(t){return this.node_g.selectAll(t)},u.NodeGeneration.prototype.update_all=function(){this.canvas.glo.update_all_node_generations()},u.NodeGeneration.prototype.update=function(){var t=this;return this.is_aggregated&&(this.aggregate_node_map.forEach(function(e){var n=e[0],i=e[1];n.hover_value=!1,n.in_hover_value=!1,n.out_hover_value=!1;for(var r in i)r=i[r],r.x_list[t.aggregate_source_generation.gen_id]=n.x_list[t.gen_id],r.y_list[t.aggregate_source_generation.gen_id]=n.y_list[t.gen_id],n.hover_value=n.hover_value||r.hover_value,n.in_hover_value=n.in_hover_value||r.in_hover_value,n.out_hover_value=n.out_hover_value||r.out_hover_value}),this.aggregate_source_generation.x_scale=this.x_scale.copy(),this.aggregate_source_generation.y_scale=this.y_scale.copy(),this.aggregate_source_generation.update()),this.node_glyphs.transition().attr("cx",function(e){return e.x_list[t.gen_id]}).attr("cy",function(e){return e.y_list[t.gen_id]}).attr("r",function(e){return e.r_list[t.gen_id]}).attr("fill",function(e){return e.fill_list[t.gen_id]}),this.node_glyphs.attr("stroke",function(e){return 1==e.hover_value?"black":1!=t.highlight_neighbors()||1!=e.in_hover_value&&1!=e.out_hover_value?"white":"black"}).attr("stroke-width",function(t){return 1==t.hover_value?3:1}),this.edge_generation_listeners.forEach(function(t){t.update()}),this},u.NodeGeneration.prototype.highlight_neighbors=function(t){return void 0===t?this._highlight_neighbors:(this._highlight_neighbors=t,this)},u.NodeGeneration.prototype.add_listener=function(t){this.edge_generation_listeners.add(t)},u.NodeGeneration.prototype.remove_listener=function(t){this.edge_generation_listeners.delete(t)},u.NodeGeneration.prototype.init_svg=function(){return this.node_g=this.canvas.chart.append("g").classed("nodeg",!0),this.node_glyphs=this.node_g.selectAll(".node").data(this.nodes,function(t){return t.id}),this.node_glyphs.enter().append("circle").classed("node",!0).classed("gen-"+this.gen_id,!0).attr("nodeid",function(t){return t.id}),this},u.NodeGeneration.prototype.init_props=function(){var t=this;return this.is_displayed(!0),this.nodes.forEach(function(e){e.r_list[t.gen_id]=t.default_r,e.x_list[t.gen_id]=t.canvas.center(),e.y_list[t.gen_id]=t.canvas.middle(),e.rho_list[t.gen_id]=0,e.theta_list[t.gen_id]=Math.PI/2,e.fill_list[t.gen_id]=t.default_fill,e.hover_value=!1,e.in_hover_value=!1,e.out_hover_value=!1}),this},u.NodeGeneration.prototype.down_propagate_hover=function(){return this.is_aggregated&&this.aggregate_node_map.forEach(function(t){var e=t[0],n=t[1];for(var i in n)i=n[i],i.hover_value=e.hover_value}),this},u.NodeGeneration.prototype.init_draw=function(){var t=this;return this.node_glyphs.attr("r",function(e){return e.r_list[t.gen_id]}).attr("cx",function(e){return e.x_list[t.gen_id]}).attr("cy",function(e){return e.y_list[t.gen_id]}).attr("fill",function(e){return e.fill_list[t.gen_id]}).on("mouseover",function(e){e.hover_value=!0,t.is_aggregated?t.aggregate_node_map.get(e).forEach(function(t){t.out_edges.forEach(function(t){t.target.in_hover_value=!0}),t.in_edges.forEach(function(t){t.source.out_hover_value=!0})}):(e.out_edges.forEach(function(t){t.target.in_hover_value=!0}),e.in_edges.forEach(function(t){t.source.out_hover_value=!0})),t.down_propagate_hover(),t.update(),t.update_all()}).on("mouseout",function(e){e.hover_value=!1,t.is_aggregated?t.aggregate_node_map.get(e).forEach(function(t){t.out_edges.forEach(function(t){t.target.in_hover_value=!1}),t.in_edges.forEach(function(t){t.source.out_hover_value=!1})}):(e.out_edges.forEach(function(t){t.target.in_hover_value=!1}),e.in_edges.forEach(function(t){t.source.out_hover_value=!1})),t.down_propagate_hover(),t.update(),t.update_all()}).append("title").text(function(t){return t.label}),this},u.NodeGeneration.prototype.size_by_preset_constant=function(){var t=this;return this.nodes.forEach(function(e){e.r_list[t.gen_id]=t.default_r}),this.update(),this},u.NodeGeneration.prototype.size_by_constant=function(t){var e=this;return this.nodes.forEach(function(n){n.r_list[e.gen_id]=t}),this.update(),this},u.NodeGeneration.prototype.size_by=function(t){var e=this.canvas.glo.node_attr()[t];if("continuous"==e)this.size_by_continuous(t);else{if("discrete"!=e)throw"Unrecognized Type Error";this.size_by_discrete(t)}return this},u.NodeGeneration.prototype.size_by_discrete=function(t){var e=this,n=d3.scale.ordinal().domain(this.nodes.map(function(e){return e[t]}).sort(function(t,e){return c.isNumber(t)?t-e:t.localeCompare(e)}));return this.r_scale=n.rangePoints([this.min_r,this.max_r]),this.nodes.forEach(function(i){i.r_list[e.gen_id]=n(i[t])}),this.update(),this},u.NodeGeneration.prototype.size_by_continuous=function(t){var e,n,i=this,r=function(e){return Math.PI*Math.sqrt(e[t])},A=d3.extent(this.nodes.map(function(t){return r(t)}));e=A[0]<this.max_r?Math.max(this.min_r,A[0]):this.min_r,n=A[1]>this.min_r?Math.min(this.max_r,A[1]):this.max_r;var o=d3.scale.linear().domain(A).range([e,n]);return this.nodes.forEach(function(t){t.r_list[i.gen_id]=o(r(t))}),this.r_scale=o,this.update(),this},u.NodeGeneration.prototype.color_by_preset_constant=function(){var t=this;return this.nodes.forEach(function(e){e.fill_list[t.gen_id]=t.default_fill}),this.update(),this},u.NodeGeneration.prototype.color_by_constant=function(t){var e=this;return this.nodes.forEach(function(n){n.fill_list[e.gen_id]=t}),this.update(),this},u.NodeGeneration.prototype.color_by=function(t){var e=this.canvas.glo.node_attr()[t];if("color"==e)this.color_by_color_attr(t);else if("continuous"==e)this.color_by_continuous(t);else{if("discrete"!=e)throw"Unrecognized Type Error";this.color_by_discrete(t)}return this},u.NodeGeneration.prototype.color_by_continuous=function(t){var e=this,n=d3.extent(this.nodes.map(function(e){return e[t]})),i=d3.scale.linear();return n[0]<0&&n[1]>=0?i.domain([n[0],0,n[1]]).range(["red","#FDFDFD","#000"]):n[0]>=0?i.domain(n).range(["#FDFDFD","#000"]):i.domain(n).range(["red","#FDFDFD"]),this.nodes.forEach(function(n){n.fill_list[e.gen_id]=i(n[t])}),this.fill_scale=i,this.update(),this},u.NodeGeneration.prototype.color_by_discrete=function(t){var e=this,n=d3.scale.category10();return this.nodes.forEach(function(i){i.fill_list[e.gen_id]=n(i[t])}),this.fill_scale=n,this.update(),this},u.NodeGeneration.prototype.color_by_color_attr=function(t){var e=this;return this.nodes.forEach(function(n){n.fill_list[e.gen_id]=n[t]}),this.update(),this},u.NodeGeneration.prototype.apply_force_directed=function(t){var e=this;e.nodes.forEach(function(t){t.x=e.canvas.center(),t.y=e.canvas.middle()});var n=(s.d3adaptor().size([e.canvas.canvas_width(),e.canvas.canvas_height()]).nodes(e.nodes).links(t).on("tick",function(){e.nodes.forEach(function(t){t.x_list[e.gen_id]=t.x,t.y_list[e.gen_id]=t.y}),e.update()}).on("end",function(){console.log("Force-Directed Finished")}).start(10,15,20),d3.scale.linear().range([this.canvas.left(),this.canvas.right()]).domain([0,1]));this.x_scale=n;var i=d3.scale.linear().range([this.canvas.bottom(),this.canvas.top()]).domain([0,1]);return this.y_scale=i,this.set_axes("rho"),this},u.NodeGeneration.prototype.rho_shift=function(t,e){var n=this,A=t.x_list[n.gen_id],o=t.y_list[n.gen_id],a=A-n.canvas.center(),c=o-n.canvas.middle(),s=i(a,c);s.rho=e;var u=r(s.rho,s.theta);return u.x+=n.canvas.center(),u.y+=n.canvas.middle(),u},u.NodeGeneration.prototype.theta_shift=function(t,e){var n=this,A=t.x_list[n.gen_id],o=t.y_list[n.gen_id],a=A-n.canvas.center(),c=o-n.canvas.middle(),s=i(a,c);s.theta=e;var u=r(s.rho,s.theta);return u.x+=n.canvas.center(),u.y+=n.canvas.middle(),u},u.NodeGeneration.prototype.position_on=function(t,e,n){if(void 0!==n&&void 0!==n.group_by){return this.get_group_by_groups(n.group_by).forEach(function(n){n.position_on(t,e)}),this}return c.isNumber(e)?this.position_by_constant(t,e):this.position_by_attr(t,e),this},u.NodeGeneration.prototype.position_by_attr=function(t,e,n){if(void 0!==n&&void 0!==n.group_by){return this.get_group_by_groups(n.group_by).forEach(function(n){n.position_by_attr(t,e)}),this}var i=this.canvas.glo.node_attr()[e];if("continuous"==i)this.position_by_continuous(t,e);else{if("discrete"!=i&&"color"!=i)throw"Undefined Attribute Error";this.position_by_discrete(t,e)}return this},u.NodeGeneration.prototype.position_by_continuous=function(t,e,n){if(void 0!==n&&void 0!==n.group_by){return this.get_group_by_groups(n.group_by).forEach(function(n){n.position_by_continuous(t,e)}),this}var i=this,r=d3.scale.linear().domain(d3.extent(this.nodes.map(function(t){return t[e]})));return"x"==t&&(this.x_scale=r.range([this.canvas.left(),this.canvas.right()]),this.nodes.forEach(function(t){t.x_list[i.gen_id]=r(t[e])})),"y"==t&&(this.y_scale=r.range([this.canvas.bottom(),this.canvas.top()]),this.nodes.forEach(function(t){t.y_list[i.gen_id]=r(t[e])})),"rho"==t&&(this.rho_scale=r.range([1,Math.min(this.canvas.canvas_width(),this.canvas.canvas_height())/2]),this.nodes.forEach(function(t){t.rho_list[i.gen_id]=r(t[e]);var n=i.rho_shift(t,t.rho_list[i.gen_id]);t.x_list[i.gen_id]=n.x,t.y_list[i.gen_id]=n.y})),"theta"==t&&(this.theta_scale=r.range([3*Math.PI/2,7*Math.PI/2]),this.nodes.forEach(function(t){t.x_list[i.gen_id]-i.canvas.center()<.001&&t.y_list[i.gen_id]-i.canvas.middle()<.001&&(t.x_list[i.gen_id]=i.canvas.center()+1e-4,t.y_list[i.gen_id]=i.canvas.middle()+1e-4),t.theta_list[i.gen_id]=r(t[e]);var n=i.theta_shift(t,t.theta_list[i.gen_id]);t.x_list[i.gen_id]=n.x,t.y_list[i.gen_id]=n.y})),this.set_axes(t),this.update(),this},u.NodeGeneration.prototype.position_by_discrete=function(t,e,n){if(void 0!==n&&void 0!==n.group_by){return this.get_group_by_groups(n.group_by).forEach(function(n){n.position_by_discrete(t,e)}),this}var i=this,r=d3.scale.ordinal().domain(this.nodes.map(function(t){return t[e]}).sort(function(t,e){return c.isNumber(t)?t-e:t.localeCompare(e)}));return"x"==t&&(this.x_scale=r.rangePoints([this.canvas.left(),this.canvas.right()],this.discrete_range_padding),this.nodes.forEach(function(t){t.x_list[i.gen_id]=r(t[e])})),"y"==t&&(this.y_scale=r.rangePoints([this.canvas.bottom(),this.canvas.top()],this.discrete_range_padding),this.nodes.forEach(function(t){t.y_list[i.gen_id]=r(t[e])})),"rho"==t&&(this.rho_scale=r.rangePoints([1,Math.min(this.canvas.canvas_width(),this.canvas.canvas_height())/2],this.discrete_range_padding),this.nodes.forEach(function(t){t.rho_list[i.gen_id]=r(t[e]);var n=i.rho_shift(t,t.rho_list[i.gen_id]);t.x_list[i.gen_id]=n.x,t.y_list[i.gen_id]=n.y})),"theta"==t&&(this.theta_scale=r.rangePoints([3*Math.PI/2,7*Math.PI/2],this.discrete_range_padding),this.nodes.forEach(function(t){t.x_list[i.gen_id]-i.canvas.center()<.001&&t.y_list[i.gen_id]-i.canvas.middle()<.001&&(t.x_list[i.gen_id]=i.canvas.center()+1e-4,t.y_list[i.gen_id]=i.canvas.middle()+1e-4),t.theta_list[i.gen_id]=r(t[e]);var n=i.theta_shift(t,t.theta_list[i.gen_id]);t.x_list[i.gen_id]=n.x,t.y_list[i.gen_id]=n.y})),this.set_axes(t),this.update(),this},u.NodeGeneration.prototype.position_by_preset_constant=function(t,e){if(void 0!==e&&void 0!==e.group_by){return this.get_group_by_groups(e.group_by).forEach(function(e){e.position_by_preset_constant(t)}),this}var n;if("x"==t)n=this.canvas.center();else if("y"==t)n=this.canvas.middle();else if("rho"==t)n=Math.min(this.canvas.canvas_width(),this.canvas.canvas_height())/2*.95;else{if("theta"!=t)throw"Unsupported Axis: "+t;n=90}return this.position_by_constant(t,n),this},u.NodeGeneration.prototype.position_by_constant=function(t,e,n){if(void 0!==n&&void 0!==n.group_by){return this.get_group_by_groups(n.group_by).forEach(function(n){n.position_by_constant(t,e)}),this}var i=this,r=d3.scale.linear();return"x"==t&&(this.x_scale=r,this.nodes.forEach(function(t){t.x_list[i.gen_id]=e})),"y"==t&&(this.y_scale=r,this.nodes.forEach(function(t){t.y_list[i.gen_id]=e})),"rho"==t&&(this.rho_scale=r,this.nodes.forEach(function(t){t.rho_list[i.gen_id]=e;var n=i.rho_shift(t,t.rho_list[i.gen_id]);t.x_list[i.gen_id]=n.x,t.y_list[i.gen_id]=n.y})),"theta"==t&&(this.theta_scale=r,this.nodes.forEach(function(t){t.x_list[i.gen_id]-i.canvas.center()<.001&&t.y_list[i.gen_id]-i.canvas.middle()<.001&&(t.x_list[i.gen_id]=i.canvas.center()+1e-4,t.y_list[i.gen_id]=i.canvas.middle()+1e-4),t.theta_list[i.gen_id]=e*(Math.PI/180);var n=i.theta_shift(t,t.theta_list[i.gen_id]);t.x_list[i.gen_id]=n.x,t.y_list[i.gen_id]=n.y})),this.set_axes(t),this.update(),this},u.NodeGeneration.prototype.stack=function(t,e){if(void 0!==e&&void 0!==e.group_by){return this.get_group_by_groups(e.group_by).forEach(function(n){n.position_by_preset_constant(t,e)}),this}var n,i=this;n=void 0===e||void 0===e.by?"id":e.by;var r=!1;void 0!==e&&1!=typeof e.invert||(r=!0),i.nodes.sort(function(t,e){var i;return i=c.isNumber(t[n])?t[n]-e[n]:t[n].localeCompare(e[n]),0==i&&(i=t.id-e.id),1==r&&(i*=-1),i}).forEach(function(t,e){t.index=e});var A,o,a=d3.scale.ordinal().domain(c.range(i.nodes.length)),s=2*i.nodes.length*i.default_r;return"top"==t&&(A="y",o=i.canvas.top()+i.default_r,endpoint=o+a.rangePoints([o,o+s],0),i.y_axis=a),"bottom"==t&&(A="y",o=i.canvas.bottom()-i.default_r,a.rangePoints([o,o-s],0),i.y_axis=a),"left"==t&&(A="x",o=i.canvas.left()+i.default_r,a.rangePoints([o,o+s],0),i.x_axis=a),"right"==t&&(A="x",o=i.canvas.right()-i.default_r,a.rangePoints([o,o-s],0),i.x_axis=a),i.nodes.forEach(function(t,e){t[A+"_list"][i.gen_id]=a(e)}),this.set_axes(A),i.update(),i},u.NodeGeneration.prototype.distribute=function(t,e,n){if(void 0!==n&&void 0!==n.group_by){return this.get_group_by_groups(n.group_by).forEach(function(i){e?i.distribute(t,e,n):i.distribute(t,null,n)}),this}var i=this;void 0!==e&&null!=e||(e="id");var r=!1;void 0!==n&&void 0!==n.invert&&(r=n.invert),i.nodes.sort(function(t,n){var i;return i=c.isNumber(t[e])?t[e]-n[e]:t[e].localeCompare(n[e]),0==i&&(i=t.id-n.id),r&&(i*=-1),i}).forEach(function(t,e){t.index=e});var A=d3.scale.ordinal().domain(c.range(i.nodes.length));return"x"==t&&(this.x_scale=A.rangePoints([this.canvas.left(),this.canvas.right()],this.discrete_range_padding),this.nodes.forEach(function(t){t.x_list[i.gen_id]=A(t.index)})),"y"==t&&(this.y_scale=A.rangePoints([this.canvas.bottom(),this.canvas.top()],this.discrete_range_padding),this.nodes.forEach(function(t){t.y_list[i.gen_id]=A(t.index)})),"rho"==t&&(this.rho_scale=A.rangePoints([1,Math.min(this.canvas.canvas_width(),this.canvas.canvas_height())/2],this.discrete_range_padding),this.nodes.forEach(function(t){t.rho_list[i.gen_id]=A(t.index);var e=i.rho_shift(t,t.rho_list[i.gen_id]);t.x_list[i.gen_id]=e.x,t.y_list[i.gen_id]=e.y})),"theta"==t&&(this.theta_scale=A.rangePoints([3*Math.PI/2,7*Math.PI/2],this.discrete_range_padding),this.nodes.forEach(function(t){t.x_list[i.gen_id]-i.canvas.center()<.001&&t.y_list[i.gen_id]-i.canvas.middle()<.001&&(t.x_list[i.gen_id]=i.canvas.center()+1e-4,t.y_list[i.gen_id]=i.canvas.middle()+1e-4),t.theta_list[i.gen_id]=A(t.index);var e=i.theta_shift(t,t.theta_list[i.gen_id]);t.x_list[i.gen_id]=e.x,t.y_list[i.gen_id]=e.y})),this.set_axes(t),this.update(),this},u.NodeGeneration.prototype.set_axes=function(t){return"x"==t&&this.canvas.x_axis_gen(this),"y"==t&&this.canvas.y_axis_gen(this),"rho"!=t&&"theta"!=t||(this.x_scale=this.default_x_scale.copy(),this.y_scale=this.default_y_scale.copy(),this.canvas.update_axes()),this},u.NodeGeneration.prototype._group_by=function(t){var e=new Map;return this.nodes.forEach(function(n){e[n[t]]||(e[n[t]]=[]),e[n[t]].push(n)}),e},u.NodeGeneration.prototype.stack_within=function(t,e,n){if(void 0!==n&&void 0!==n.group_by){var i=this.get_group_by_groups(n.group_by);return i.forEach(function(t){t.distribute_on_within(o,e,r,n)}),this}var r,A=this;r=void 0===n||void 0===n.by?"id":n.by,invert=!1,void 0!==n&&void 0!==n.invert&&(invert=n.invert);var o,a,i=this._group_by(e),s=d3.scale.ordinal().domain(c.range(A.nodes.length)),u=2*A.nodes.length*A.default_r;"top"==t&&(o="y",a=A.canvas.top()+A.default_r,endpoint=a+s.rangePoints([a,a+u],0)),"bottom"==t&&(o="y",a=A.canvas.bottom()-A.default_r,s.rangePoints([a,a-u],0)),"left"==t&&(o="x",a=A.canvas.left()+A.default_r,s.rangePoints([a,a+u],0)),"right"==t&&(o="x",a=A.canvas.right()-A.default_r,s.rangePoints([a,a-u],0));for(var g in i){var l=i[g];l.sort(function(t,e){var n;return n=c.isNumber(t[r])?t[r]-e[r]:t[r].localeCompare(e[r]),0==n&&(n=t.id-e.id),1==invert&&(n*=-1),n}).forEach(function(t,e){t.index=e}),l.forEach(function(t){t[o+"_list"][A.gen_id]=s(t.index)})}if("x"==o){var M=d3.scale.linear().range([this.canvas.left(),this.canvas.right()]).domain([0,1]);this.x_scale=M,this.canvas.x_axis_gen()==this&&this.canvas.x_axis_gen(this)}if("y"==o){var h=d3.scale.linear().range([this.canvas.bottom(),this.canvas.top()]).domain([0,1]);this.y_scale=h,this.canvas.y_axis_gen()==this&&this.canvas.y_axis_gen(this)}return this.update(),this},u.NodeGeneration.prototype.distribute_on_within=function(t,e,n,i){if(void 0!==i&&void 0!==i.group_by){var r=this.get_group_by_groups(i.group_by);return r.forEach(function(i){i.distribute_on_within(t,e,n)}),this}var A=this;void 0!==n&&null!=n||(n="id");var r=this._group_by(e);for(var o in r){var a=r[o];a.sort(function(t,e){var i;return i=c.isNumber(t[n])?t[n]-e[n]:t[n].localeCompare(e[n]),0==i?t.id-e.id:i}).forEach(function(t,e){t.index=e});var s=d3.scale.ordinal().domain(c.range(a.length));"x"==t&&(s.rangePoints([this.canvas.left(),this.canvas.right()],this.discrete_range_padding),a.forEach(function(t){t.x_list[A.gen_id]=s(t.index)})),"y"==t&&(s.rangePoints([this.canvas.bottom(),this.canvas.top()],this.discrete_range_padding),a.forEach(function(t){t.y_list[A.gen_id]=s(t.index)})),"rho"==t&&(rho_scale=s.rangePoints([1,Math.min(this.canvas.canvas_width(),this.canvas.canvas_height())/2],this.discrete_range_padding),a.forEach(function(t){t.rho_list[A.gen_id]=s(t.index);var e=A.rho_shift(t,t.rho_list[A.gen_id]);t.x_list[A.gen_id]=e.x,t.y_list[A.gen_id]=e.y})),"theta"==t&&(theta_scale=s.rangePoints([3*Math.PI/2,7*Math.PI/2],this.discrete_range_padding),a.forEach(function(t){t.x_list[A.gen_id]-A.canvas.center()<.001&&t.y_list[A.gen_id]-A.canvas.middle()<.001&&(t.x_list[A.gen_id]=A.canvas.center()+1e-4,t.y_list[A.gen_id]=A.canvas.middle()+1e-4),t.theta_list[A.gen_id]=s(t.index);var e=A.theta_shift(t,t.theta_list[A.gen_id]);t.x_list[A.gen_id]=e.x,t.y_list[A.gen_id]=e.y}))}if("x"==t){var u=d3.scale.linear().range([this.canvas.left(),this.canvas.right()]).domain([0,1]);this.x_scale=u,this.canvas.x_axis_gen()==this&&this.canvas.x_axis_gen(this)}if("y"==t){var g=d3.scale.linear().range([this.canvas.bottom(),this.canvas.top()]).domain([0,1]);this.y_scale=g,this.canvas.y_axis_gen()==this&&this.canvas.y_axis_gen(this)}return this.update(),this},u.NodeGeneration.prototype.align=function(t,e){if(void 0!==e&&void 0!==e.group_by){return this.get_group_by_groups(e.group_by).forEach(function(e){e.align(t)}),this}var n=this;return"top"==t&&this.nodes.forEach(function(t){t.y_list[n.gen_id]=n.canvas.top()-2*n.default_r}),"middle"==t&&this.nodes.forEach(function(t){t.y_list[n.gen_id]=n.canvas.middle()}),"bottom"==t&&this.nodes.forEach(function(t){t.y_list[n.gen_id]=n.canvas.bottom()+2*n.default_r}),"left"==t&&this.nodes.forEach(function(t){t.x_list[n.gen_id]=n.canvas.left()-2*n.default_r}),"center"==t&&this.nodes.forEach(function(t){t.x_list[n.gen_id]=n.canvas.center()}),"right"==t&&this.nodes.forEach(function(t){t.x_list[n.gen_id]=n.canvas.right()+2*n.default_r}),"top"!=t&&"middle"!=t&&"bottom"!=t||this.canvas.y_axis_gen(this),"left"!=t&&"center"!=t&&"right"!=t||this.canvas.x_axis_gen(this),this.update(),this},u.EdgeGeneration=function(t,e,n){return this.canvas=t,this.edges=e,this.is_aggregated=n||!1,this.gen_id=this.canvas.glo._next_edge_gen(),this.canvas.edge_generations.set(this.gen_id,this),this._edge_format="straight_lines",this._show_mode="show_all_edges",this._is_displayed=!0,this},u.EdgeGeneration.prototype.default_stroke_width=2,u.EdgeGeneration.prototype.default_stroke="black",u.EdgeGeneration.prototype.default_opacity=.5,u.EdgeGeneration.prototype.min_stroke_width=1,u.EdgeGeneration.prototype.max_stroke_width=50,u.EdgeGeneration.prototype.max_link_curve_r=11,u.EdgeGeneration.prototype.source_generation=function(t){return t?(this._source_generation&&this._source_generation.gen_id!=this._target_generation.gen_id&&this._source_generation.remove_listener(this),this._source_generation=t.get_root_source_gen(),this._source_generation.add_listener(this),this.update(),this):this._source_generation},u.EdgeGeneration.prototype.target_generation=function(t){return t?(this._target_generation&&this._target_generation.gen_id!=this._source_generation.gen_id&&this._target_generation.remove_listener(this),this._target_generation=t.get_root_source_gen(),this._target_generation.add_listener(this),this.update(),this):this._target_generation},u.EdgeGeneration.prototype.update=function(){var t=this;if(void 0===this.edge_glyphs)return this;var e=Math.min(this.canvas.canvas_width(),this.canvas.canvas_height());return this.max_link_curve_r=.5*Math.sqrt(e),this.hscale=d3.scale.linear().range([3,this.max_link_curve_r]).domain([0,e]),this.is_aggregated&&(this.aggregate_edge_map.forEach(function(e){var n=e[0],i=e[1];i.forEach(function(e){e=i[e],e.show_mode_list[t.aggregate_source_generation.gen_id]=n.show_mode_list[t.gen_id],e.edge_format_list[t.aggregate_source_generation.gen_id]=n.edge_format_list[t.gen_id]})}),this.aggregate_source_generation.source_generation(this.source_generation()),this.aggregate_source_generation.target_generation(this.target_generation())),this.edge_glyphs.transition().each(function(e){t[e.show_mode_list[t.gen_id]](e),t[e.edge_format_list[t.gen_id]+"_fill"](e)}).attr("d",function(e){return t[e.edge_format_list[t.gen_id]](e)}).style("fill",function(e){return e.fill_list[t.gen_id]}).style("stroke-width",function(e){return e.stroke_width_list[t.gen_id]}).style("stroke",function(e){return e.stroke_list[t.gen_id]}),this.edge_glyphs.style("display",function(e){return e.display_list[t.gen_id]}).style("opacity",function(e){return e.opacity_list[t.gen_id]}),this},u.EdgeGeneration.prototype.color_by_preset_constant=function(){var t=this;return this.edges.forEach(function(e){e.color_list[t.gen_id]=t.default_stroke}),this.update(),this},u.EdgeGeneration.prototype.color_by_constant=function(t){var e=this;return this.edges.forEach(function(n){n.color_list[e.gen_id]=t}),this.update(),this},u.EdgeGeneration.prototype.color_by=function(t){var e;if("color"==(e="source"==t||"target"==t?"color":this.canvas.glo.edge_attr()[t]))this.color_by_color_attr(t);else if("continuous"==e)this.color_by_continuous(t);else{if("discrete"!=e)throw"Unrecognized Type Error";this.color_by_discrete(t)}return this},u.EdgeGeneration.prototype.color_by_continuous=function(t){var e=this,n=d3.extent(this.edges.map(function(e){return e[t]})),i=d3.scale.linear();return n[0]<=0&&n[1]>=0?i.domain([n[0],0,n[1]]).range(["red","white","black"]):n[0]>0?i.domain(n).range(["white","black"]):i.domain(n).range(["red","white"]),this.edges.forEach(function(n){n.color_list[e.gen_id]=i(n[t])}),this.color_scale=i,this.update(),this},u.EdgeGeneration.prototype.color_by_discrete=function(t){var e=this,n=d3.scale.category10();return this.edges.forEach(function(i){i.color_list[e.gen_id]=n(i[t])}),this.color_scale=n,this.update(),this},u.EdgeGeneration.prototype.color_by_color_attr=function(t){var e=this;return"source"==t||"target"==t?this.edges.forEach(function(n){n.color_list[e.gen_id]=n[t].fill_list[e[t+"_generation"]().gen_id]}):this.edges.forEach(function(n){n.color_list[e.gen_id]=n[t]}),this.update(),this},u.EdgeGeneration.prototype.size_by_preset_constant=function(t){var e=this;return this.edges.forEach(function(t){t.stroke_width_list[e.gen_id]=e.default_stroke_width}),this.update(),this},u.EdgeGeneration.prototype.size_by_constant=function(t){var e=this;return this.edges.forEach(function(n){n.stroke_width_list[e.gen_id]=t}),this.update(),this},u.EdgeGeneration.prototype.size_by=function(t){var e=this.canvas.glo.edge_attr()[t];if("continuous"==e)this.size_by_continuous(t);else{if("discrete"!=e)throw"Unrecognized Type Error";this.size_by_discrete(t)}return this},u.EdgeGeneration.prototype.size_by_discrete=function(t){var e=this,n=d3.scale.ordinal().domain(this.edges.map(function(e){return e[t]}).sort(function(t,e){return c.isNumber(t)?t-e:t.localeCompare(e)}));return this.stroke_width_scale=n.rangePoints([this.min_stroke_width,this.max_stroke_width]),this.edges.forEach(function(i){i.stroke_width_list[e.gen_id]=n(i[t])}),this.update(),this},u.EdgeGeneration.prototype.size_by_continuous=function(t){var e=this,n=d3.extent(this.edges.map(function(e){return e[t]})),i=d3.scale.linear().domain(n).range([this.min_stroke_width,this.max_stroke_width]);return this.edges.forEach(function(n){n.stroke_width_list[e.gen_id]=i(n[t])}),this.stroke_width_scale=i,this.update(),this},u.EdgeGeneration.prototype.is_displayed=function(t){return void 0===t?this._is_displayed:(this._is_displayed=t,0==this._is_displayed?this.edge_g.style("display","none"):this.edge_g.style("display",null),this)},u.EdgeGeneration.prototype.clone=function(t){void 0===t&&(t=this.canvas);var e=this,n=new u.EdgeGeneration(t,this.edges,this.is_aggregated);if(n.edges.forEach(function(t){t.stroke_width_list[n.gen_id]=t.stroke_width_list[e.gen_id],t.display_list[n.gen_id]=t.display_list[e.gen_id],t.color_list[n.gen_id]=t.color_list[e.gen_id],t.stroke_list[n.gen_id]=t.stroke_list[e.gen_id],t.fill_list[n.gen_id]=t.fill_list[e.gen_id],t.edge_format_list[n.gen_id]=t.edge_format_list[e.gen_id],t.show_mode_list[n.gen_id]=t.show_mode_list[e.gen_id]}),n.source_generation(e.source_generation()),n.target_generation(e.target_generation()),this.is_aggregated){var i=this.aggregate_source_generation.clone(t);n.aggregate_source_generation=i,n.aggregate_edge_map=new Map,this.aggregate_edge_map.forEach(function(t){var e=t[0],i=t[1];n.aggregate_edge_map.set(e,i)})}return n.init_svg().init_draw().is_displayed(e.is_displayed()).update(),n.canvas.active_edge_generation(n),n},u.EdgeGeneration.prototype.deaggregate=function(){if(!this.is_aggregated)return this;var t=this,e=this.aggregate_source_generation;return t.edge_g.remove(),t.canvas.edge_generations.delete(t.gen_id),t.canvas.active_edge_generation(e),e.is_displayed(!0),e.update(),e},u.EdgeGeneration.prototype.get_root_source_gen=function(){return this.is_aggregated?this.aggregate_source_generation.get_root_source_gen():this},u.EdgeGeneration.prototype.aggregate=function(t,e){var n,i=this;if("sum"==e.toLowerCase())n=d3.sum;else if("mean"==e.toLowerCase())n=d3.mean;else{if("median"!=e.toLowerCase())throw"Unrecognized aggregation method. Not aggregating.";n=d3.median}var r;r="string"==typeof t?function(t,e){return e.startsWith("source.")?t.source[e.substr(6)]:e.startsWith("target.")?t.target[e.substr(6)]:t[e]}:function(t,e){var n="";for(var i in e){i=e[i];var r;r=i.startsWith("source.")?t.source[i.substr(7)]:i.startsWith("target.")?t.target[i.substr(7)]:t[i],n+=r+"&"}return n};var A=new Map;this.edges.forEach(function(e){var n=r(e,t);A[n]||(A[n]=[]),A[n].push(e)});var o=new Map;for(var a in A){var c=A[a],s={};s.color_list=new Map,s.stroke_list=new Map,s.stroke_width_list=new Map,s.display_list=new Map,s.fill_list=new Map,s.opacity_list=new Map,s.show_mode_list=new Map,s.edge_format_list=new Map,s.startx=function(t){return this.source.x_list[t.source_generation().gen_id]},s.starty=function(t){return this.source.y_list[t.source_generation().gen_id]},s.endx=function(t){return this.target.x_list[t.target_generation().gen_id]},s.endy=function(t){return this.target.y_list[t.target_generation().gen_id]},o.set(a,s)}var g=[].concat(o.values()),l=new u.EdgeGeneration(this.canvas,g,!0);l.aggregate_edge_map=new Map,l.aggregate_source_generation=this;var M=0;for(var a in A){var c=A[a],s=o.get(a);l.aggregate_edge_map.set(s,c),s.id=M++,s.stroke_width_list[l.gen_id]=n(c.map(function(t){return t.stroke_width_list[i.gen_id]})),s.display_list[l.gen_id]=c[0].display_list[i.gen_id],s.stroke_list[l.gen_id]=c[0].stroke_list[i.gen_id],s.fill_list[l.gen_id]=c[0].fill_list[i.gen_id],s.color_list[l.gen_id]=c[0].color_list[i.gen_id],s.edge_format_list[l.gen_id]=c[0].edge_format_list[i.gen_id],s.show_mode_list[l.gen_id]=c[0].show_mode_list[i.gen_id],s.source=c[0].source,s.target=c[0].target;var h=this.canvas.glo.edge_attr();for(var d in h)"continuous"==h[d]?s[d]=n(c.map(function(t){return t[d]})):s[d]=c[0][d];s.count=d3.sum(c.map(function(t){return t.count}))}return l.source_generation(i.source_generation()),l.target_generation(i.target_generation()),this.canvas.active_edge_generation(l),l.init_svg().init_draw().is_displayed(i.is_displayed()).update(),i.is_displayed(!1),l},u.EdgeGeneration.prototype.init_svg=function(){return this.edge_g=this.canvas.chart.insert("g",":first-child").classed("edgeg",!0),this.edge_glyphs=this.edge_g.selectAll(".edge").data(this.edges,function(t){return t.id}),this},u.EdgeGeneration.prototype.init_props=function(){var t=this;return this.edges.forEach(function(e){e.stroke_width_list[t.gen_id]=t.default_stroke_width,e.stroke_list[t.gen_id]=t.default_stroke,e.color_list[t.gen_id]=t.default_stroke,e.display_list[t.gen_id]=null,e.fill_list[t.gen_id]="none",e.show_mode_list[t.gen_id]="show_all_edges",e.edge_format_list[t.gen_id]="straight_lines"}),this},u.EdgeGeneration.prototype.init_draw=function(){var t=this;return this.edge_glyphs.enter().append("svg:path").classed("edge",!0).classed("edgegen-"+this.gen_id,!0).on("mouseover",function(e){t.source_generation().select('[nodeid="'+e.source.id+'"]').attr("fill",function(e){return d3.rgb(e.fill_list[t.source_generation().gen_id]).brighter()}),t.target_generation().select('[nodeid="'+e.target.id+'"]').attr("fill",function(e){return d3.rgb(e.fill_list[t.target_generation().gen_id]).brighter()})}).on("mouseout",function(e){t.source_generation().select('[nodeid="'+e.source.id+'"]').attr("fill",function(e){return e.fill_list[t.source_generation().gen_id]}),t.target_generation().select('[nodeid="'+e.target.id+'"]').attr("fill",function(e){return e.fill_list[t.target_generation().gen_id]})}),this.edge_glyphs.style("fill",function(e){return e.fill_list[t.gen_id]}).style("stroke-width",function(e){return e.stroke_width_list[t.gen_id]}).style("stroke",function(e){return e.stroke_list[t.gen_id]}).style("display",function(e){return e.display_list[t.gen_id]}).attr("d",function(t){}),this},u.EdgeGeneration.prototype.internal_external_edges=function(t){var e=[],n=[];return this.edges.forEach(function(i){i.source[t]==i.target[t]?e.push(i):n.push(i)}),{internal:e,external:n}},u.EdgeGeneration.prototype.edge_format=function(t,e){var n=this;if(void 0===t)throw"Still asking for global edge_format";if(this._edge_format=t,void 0!==e&&void 0!==e.group_by){return n.internal_external_edges(e.group_by).internal.forEach(function(e){e.edge_format_list[n.gen_id]=t}),this.update(),this}return this.edges.forEach(function(e){e.edge_format_list[n.gen_id]=t}),this.update(),this},u.EdgeGeneration.prototype.squares=function(t){var e=this,n=Math.min(e.canvas.canvas_width(),e.canvas.canvas_height()),i=Math.max(e.target_generation().get_leaf_target_gen().nodes.length,e.source_generation().get_leaf_target_gen().nodes.length),r=n/i,A=r/2,o="M";return o+=""+(t.endx(e)-A),o+=",",o+=""+(t.starty(e)-A),o+=" l",o+=""+r,o+=",",o+="0",o+=" l",o+="0",o+=",",o+=""+r,o+=" l",o+="-"+r,o+=",",o+="0",o+=" z"},u.EdgeGeneration.prototype.squares_fill=function(t){var e=this;t.fill_list[e.gen_id]=t.color_list[e.gen_id],t.stroke_list[e.gen_id]=null},u.EdgeGeneration.prototype.straight_lines=function(t){var e=this,n="M"+t.startx(e)+","+t.starty(e);return n+=" Q"+(t.endx(e)+t.startx(e))/2+","+(t.endy(e)+t.starty(e))/2+" ",n+=t.endx(e)+","+t.endy(e)},u.EdgeGeneration.prototype.straight_lines_fill=function(t){var e=this;t.stroke_list[e.gen_id]=t.color_list[e.gen_id],t.fill_list[e.gen_id]="none"},u.EdgeGeneration.prototype.curved_lines=function(t){var e,n,i=this,r="M"+t.startx(i)+","+t.starty(i),A=(t.endx(i)+t.startx(i))/2,o=(t.endy(i)+t.starty(i))/2,a=Math.abs(t.endx(i)-t.startx(i))+Math.abs(t.endy(i)-t.starty(i)),c=i.hscale(a),s=Math.abs(t.endy(i)-t.starty(i)),u=Math.abs(t.endx(i)-t.startx(i));e=s/(s+u)*c,n=-u/(s+u)*c,0==s&&0==u&&(e=0,n=0);return n*=t.startx(i)<t.endx(i)?-1:1,e*=t.starty(i)<t.endy(i)?-1:1,r+=" Q"+(A+e*c)+","+(o+n*c)+" ",r+=t.endx(i)+","+t.endy(i)},u.EdgeGeneration.prototype.curved_lines_fill=function(t){var e=this;t.stroke_list[e.gen_id]=t.color_list[e.gen_id],t.fill_list[e.gen_id]="none"},u.EdgeGeneration.prototype.clear_directional_gradient=function(t){return t.style("stroke",function(t){return null}),this},u.EdgeGeneration.prototype.directional_gradient=function(t){var e=this;return t.each(function(t){t.endx(e).toFixed(12)==t.startx(e).toFixed(12)&&(t.endy(e)<t.starty(e)?t.stroke_list[e.gen_id]="url(#up)":t.stroke_list[e.gen_id]="url(#down)"),t.endy(e).toFixed(12)==t.starty(e).toFixed(12)&&(t.endx(e)<t.startx(e)?t.stroke_list[e.gen_id]="url(#right)":t.stroke_list[e.gen_id]="url(#left)"),t.endx(e).toFixed(12)<t.startx(e).toFixed(12)?t.endy(e)<t.starty(e)?t.stroke_list[e.gen_id]="url(#nxny)":t.stroke_list[e.gen_id]="url(#nxpy)":t.endy(e).toFixed(12)<t.starty(e).toFixed(12)?t.stroke_list[e.gen_id]="url(#pxny)":t.stroke_list[e.gen_id]="url(#pxpy)"}),this},u.EdgeGeneration.prototype.show_mode=function(t,e){var n=this;if(void 0===t)throw"Still asking for global show_mode";if(this._show_mode=t,void 0!==e&&void 0!==e.group_by){return n.internal_external_edges(e.group_by).internal.forEach(function(e){e.show_mode_list[n.gen_id]=t}),this.update(),this}return this.edges.forEach(function(e){e.show_mode_list[n.gen_id]=t}),this.update(),this},u.EdgeGeneration.prototype.show_all_edges=function(t){var e=this;t.display_list[e.gen_id]=null,t.opacity_list[e.gen_id]=e.default_opacity},u.EdgeGeneration.prototype.show_faded_edges=function(t){var e=this;t.display_list[e.gen_id]=null,t.opacity_list[e.gen_id]=.05},u.EdgeGeneration.prototype.show_incident_edges=function(t){var e=this,n=t.source.hover_value,i=t.target.hover_value;t.display_list[e.gen_id]=n||i?null:"none",t.opacity_list[e.gen_id]=e.default_opacity},u.EdgeGeneration.prototype.show_faded_and_incident_edges=function(t){var e=this,n=t.source.hover_value,i=t.target.hover_value;t.display_list[e.gen_id]=null,t.opacity_list[e.gen_id]=n||i?e.default_opacity:.05},u.EdgeGeneration.prototype.hide_edges=function(t){var e=this;t.display_list[e.gen_id]="none",t.opacity_list[e.gen_id]=e.default_opacity},u.GLO=function(t){return this.svg=t,this._width=parseInt(t.style("width")),this._height=parseInt(t.style("height")),this.node_gen_counter=0,this.edge_gen_counter=0,this.canvas_id_counter=0,this.canvases=new Map,new u.Canvas(this,this.width(),this.height()),this.transition_duration=500,this},u.GLO.prototype.width=function(t){return t?(this._width=t,this):this._width},u.GLO.prototype.height=function(t){return t?(this._height=t,this):this._height},u.GLO.prototype.active_canvas=function(t){return void 0===t?this.canvases.get(this._active_canvas):(this._active_canvas=t,this)},u.GLO.prototype.active_canvas_set=function(){var t=new Set;return t.add(this.active_canvas()),t},u.GLO.prototype.correct_node_gens=function(t){if(void 0!==t){if(void 0!==t.all_canvases&&1==t.all_canvases)return void 0!==t.all_gens&&1==t.all_gens?this.all_node_generations():this.all_active_node_generations();if(void 0!==t.all_gens&&1==t.all_gens)return this.current_node_generations()}return this.active_node_generation()},u.GLO.prototype.correct_edge_gens=function(t){if(void 0!==t){if(void 0!==t.all_canvases&&1==t.all_canvases)return void 0!==t.all_gens&&1==t.all_gens?this.all_edge_generations():this.all_active_edge_generations();if(void 0!==t.all_gens&&1==t.all_gens)return this.current_edge_generations()}return this.active_edge_generation()},u.GLO.prototype.correct_canvases=function(t){return void 0!==t&&void 0!==t.all_canvases&&1==t.all_canvases?new Set(this.canvases.values()):this.active_canvas_set()},u.GLO.prototype.all_active_node_generations=function(){var t=new Set;return this.canvases.forEach(function(e){t.add(e.active_node_generation())}),t},u.GLO.prototype.all_active_edge_generations=function(){var t=new Set;return this.canvases.forEach(function(e){t.add(e.active_edge_generation())}),t},u.GLO.prototype.all_node_generations=function(){var t=new Set;return this.canvases.forEach(function(e){e.node_generations.forEach(function(e){t.add(e)})}),t},u.GLO.prototype.all_edge_generations=function(){var t=new Set;return this.canvases.forEach(function(e){e.edge_generations.forEach(function(e){t.add(e)})}),t},u.GLO.prototype.active_node_generation=function(){var t=new Set;return t.add(this.active_canvas().active_node_generation()),t},u.GLO.prototype.active_edge_generation=function(){var t=new Set;return t.add(this.active_canvas().active_edge_generation()),t},u.GLO.prototype.current_node_generations=function(){return new Set(this.active_canvas().node_generations.values())},u.GLO.prototype.current_edge_generations=function(){return new Set(this.active_canvas().edge_generations.values())},u.GLO.prototype._next_node_gen=function(){return this.node_gen_counter++},u.GLO.prototype._next_edge_gen=function(){return this.edge_gen_counter++},u.GLO.prototype._next_canvas_id=function(){return this.canvas_id_counter++},u.GLO.prototype.update_all_node_generations=function(){return this.canvases.forEach(function(t,e){t.node_generations.forEach(function(t,e){t.update()})}),this},u.GLO.prototype.nodes=function(t){return t?(this._nodes=t,this):this._nodes},u.GLO.prototype.edges=function(t){return t?(this._edges=t,this):this._edges},u.GLO.prototype.node_attr=function(t){return t?(this._node_attr=t,this._node_attr.count="continuous",this._node_attr.degree="continuous",this._node_attr.in_degree="continuous",this._node_attr.out_degree="continuous",this):this._node_attr},u.GLO.prototype.edge_attr=function(t){return t?(this._edge_attr=t,this._edge_attr.count="continuous",this):this._edge_attr},u.GLO.prototype.draw=function(){return this._init_graph(),this._init_directional_gradients(),this.canvases.get(0).init(),this},u.GLO.prototype._init_graph=function(){var t=this.nodes(),e=this.edges();for(var n in e)n=e[n],n.source=t[n.source],n.target=t[n.target],n.stroke_list=new Map,n.stroke_width_list=new Map,n.fill_list=new Map,n.color_list=new Map,n.opacity_list=new Map,n.display_list=new Map,n.show_mode_list=new Map,n.edge_format_list=new Map,n.startx=function(t){return this.source.x_list[t.source_generation().gen_id]},n.starty=function(t){return this.source.y_list[t.source_generation().gen_id]},n.endx=function(t){return this.target.x_list[t.target_generation().gen_id]},n.endy=function(t){return this.target.y_list[t.target_generation().gen_id]},n.count=1;return t.forEach(function(t){t.in_edges=[],t.out_edges=[],t.x_list=new Map,t.y_list=new Map,t.r_list=new Map,t.rho_list=new Map,t.theta_list=new Map,t.hover_value=!1,t.in_hover_value=!1,t.out_hover_value=!1,t.fill_list=new Map,t.count=1}),e.forEach(function(t){t.target.in_edges.push(t),t.source.out_edges.push(t)}),t.forEach(function(t){t.degree=t.in_edges.length+t.out_edges.length,t.in_degree=t.in_edges.length,t.out_degree=t.out_edges.length}),this},u.GLO.prototype._init_directional_gradients=function(){var t=this.svg.append("svg:defs");t.append("svg:marker").attr("id","arrow").attr("viewBox","0 -5 10 10").attr("refX",5).attr("refY",0).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").attr("fill","none").attr("stroke","black").attr("opacity",.45).append("svg:path").attr("d","M0,-1L4,0L0,1");var e=t.append("svg:linearGradient").attr("id","nxny").attr("x1","0%").attr("x2","100%").attr("y1","0%").attr("y2","100%");e.append("stop").attr("offset","0%").style("stop-opacity",0).style("stop-color","black"),e.append("stop").attr("offset","100%").style("stop-opacity",1).style("stop-color","black");var e=t.append("svg:linearGradient").attr("id","nxpy").attr("x1","0%").attr("x2","100%").attr("y1","100%").attr("y2","0%");e.append("stop").attr("offset","0%").style("stop-opacity",0).style("stop-color","black"),e.append("stop").attr("offset","100%").style("stop-opacity",1).style("stop-color","black");var e=t.append("svg:linearGradient").attr("id","pxny").attr("x1","100%").attr("x2","0%").attr("y1","0%").attr("y2","100%");e.append("stop").attr("offset","0%").style("stop-opacity",0).style("stop-color","black"),e.append("stop").attr("offset","100%").style("stop-opacity",1).style("stop-color","black");var e=t.append("svg:linearGradient").attr("id","pxpy").attr("x1","100%").attr("x2","0%").attr("y1","100%").attr("y2","0%");e.append("stop").attr("offset","0%").style("stop-opacity",0).style("stop-color","black"),e.append("stop").attr("offset","100%").style("stop-opacity",1).style("stop-color","black");var e=t.append("svg:linearGradient").attr("id","down").attr("gradientUnits","userSpaceOnUse").attr("x1","0%").attr("x2","0%").attr("y1","100%").attr("y2","0%");e.append("stop").attr("offset","0%").style("stop-opacity",0).style("stop-color","black"),e.append("stop").attr("offset","100%").style("stop-opacity",1).style("stop-color","black");var e=t.append("svg:linearGradient").attr("id","up").attr("gradientUnits","userSpaceOnUse").attr("x1","0%").attr("x2","0%").attr("y1","0%").attr("y2","100%");e.append("stop").attr("offset","0%").style("stop-opacity",0).style("stop-color","black"),e.append("stop").attr("offset","100%").style("stop-opacity",1).style("stop-color","black");var e=t.append("svg:linearGradient").attr("id","right").attr("gradientUnits","userSpaceOnUse").attr("x1","0%").attr("x2","100%").attr("y1","0%").attr("y2","0%");e.append("stop").attr("offset","0%").style("stop-opacity",0).style("stop-color","black"),e.append("stop").attr("offset","100%").style("stop-opacity",1).style("stop-color","black");var e=t.append("svg:linearGradient").attr("id","left").attr("gradientUnits","userSpaceOnUse").attr("x1","100%").attr("x2","0%").attr("y1","0%").attr("y2","0%");e.append("stop").attr("offset","0%").style("stop-opacity",0).style("stop-color","black"),e.append("stop").attr("offset","100%").style("stop-opacity",1).style("stop-color","black")},u.GLO.prototype.aggregate_edges_by=function(t,e,n){return this.correct_edge_gens(n).forEach(function(n){n.aggregate(t,e)}),this},u.GLO.prototype.deaggregate_edges=function(t){return this.correct_edge_gens(t).forEach(function(t){t.deaggregate()}),this},u.GLO.prototype.aggregate_nodes_by=function(t,e,n){return this.correct_node_gens(n).forEach(function(n){n.aggregate(t,e)}),this},u.GLO.prototype.deaggregate_nodes=function(t){return this.correct_node_gens(t).forEach(function(t){t.deaggregate()}),this},u.GLO.prototype.align_edges=function(t,e){return o("align_edges"),this},u.GLO.prototype.align_nodes=function(t,e){return this.correct_node_gens(e).forEach(function(n){n.align(t,e)}),this},u.GLO.prototype.position_edges_by=function(t,e,n){return o("position_edges_by"),this},u.GLO.prototype.position_nodes_on=function(t,e,n){return n&&n.invert&&a("Invert flag for position (done for distribute)"),this.correct_node_gens(n).forEach(function(i){i.position_on(t,e,n)}),this};u.GLO.prototype.position_nodes_by_constant_on=function(t,e){return this.correct_node_gens(e).forEach(function(n){n.position_by_preset_constant(t,e)}),this},u.GLO.prototype.position_nodes_evenly_stacked=function(t,e){return a("position_nodes_evenly_stacked --- group_by"),e&&e.within?(this.correct_node_gens(e).forEach(function(n){n.stack_within(t,e.within,e)}),this):(this.correct_node_gens(e).forEach(function(n){n.stack(t,e)}),this)},u.GLO.prototype.evenly_distribute_edges_on=function(t,e){return o("evenly_distribute_edges_on"),this},u.GLO.prototype.evenly_distribute_nodes_on=function(t,e){return e&&e.within?(this.correct_node_gens(e).forEach(function(n){e&&e.by?n.distribute_on_within(t,e.within,e.by,e):n.distribute_on_within(t,e.within,null,e)}),this):(this.correct_node_gens(e).forEach(function(n){e&&e.by?n.distribute(t,e.by,e):n.distribute(t,null,e)}),this)},u.GLO.prototype.apply_force_directed_algorithm_to_nodes=function(t){var e=this;return this.correct_node_gens(t).forEach(function(t){t.apply_force_directed(e.edges())}),this},u.GLO.prototype.clone_edges=function(t){return this.correct_edge_gens(t).forEach(function(t){t.clone()}),this},u.GLO.prototype.clone_nodes=function(t){return this.correct_node_gens(t).forEach(function(t){t.clone()}),this},u.GLO.prototype.select_edge_generation=function(t,e){void 0!==e?e.all_canvases=!1:e={all_canvases:!1};var n=this.active_canvas().edge_generations.get(t);return this.active_canvas().active_edge_generation(n),this},u.GLO.prototype.select_node_generation=function(t,e){void 0!==e?e.all_canvases=!1:e={all_canvases:!1};var n=this.active_canvas().node_generations.get(t);return this.active_canvas().active_node_generation(n),this},u.GLO.prototype.set_source_generation=function(t,e){void 0!==e?e.all_canvases=!1:e={all_canvases:!1};var n=this.active_canvas().node_generations.get(t);return this.correct_edge_gens(e).forEach(function(t){t.source_generation(n)}),this},u.GLO.prototype.set_target_generation=function(t,e){void 0!==e?e.all_canvases=!1:e={all_canvases:!1};var n=this.active_canvas().node_generations.get(t);return this.correct_edge_gens(e).forEach(function(t){t.target_generation(n)}),this},u.GLO.prototype.remove_edge_generation=function(t,e){return o("remove_edge_generation"),this},u.GLO.prototype.remove_node_generation=function(t,e){return o("remove_node_generation"),this},u.GLO.prototype.remove_all_cloned_edges=function(t){return o("remove_all_cloned_edges"),this},u.GLO.prototype.remove_all_cloned_nodes=function(t){return o("remove_all_cloned_nodes"),this},u.GLO.prototype.show_convex_hulls=function(t){return o("show_convex_hulls"),this},u.GLO.prototype.hide_convex_hulls=function(t){return o("hide_convex_hulls"),this},u.GLO.prototype.show_all_edges=function(t){return this.correct_edge_gens(t).forEach(function(e){e.show_mode("show_all_edges",t)}),this},u.GLO.prototype.show_edges_as_faded=function(t){return this.correct_edge_gens(t).forEach(function(e){e.show_mode("show_faded_edges",t)}),this},u.GLO.prototype.show_edges_as_solid=function(t){return o("show_edges_as_solid"),this},u.GLO.prototype.show_faded_and_incident_edges=function(t){return this.correct_edge_gens(t).forEach(function(e){e.show_mode("show_faded_and_incident_edges",t)}),this},u.GLO.prototype.show_incident_edges=function(t){return this.correct_edge_gens(t).forEach(function(e){e.show_mode("show_incident_edges",t)}),this},u.GLO.prototype.hide_edges=function(t){return this.correct_edge_gens(t).forEach(function(e){e.show_mode("hide_edges",t)}),this},u.GLO.prototype.display_edges_as_bars=function(t){return o("display_edges_as_bars"),this},u.GLO.prototype.display_edges_as_curved_lines=function(t){return this.correct_edge_gens(t).forEach(function(e){e.edge_format("curved_lines",t)}),this},u.GLO.prototype.show_edges_as_in_out_links=function(t){return o("show_edges_as_in_out_links. Falling back to show incident edges"),this.show_incident_edges(t),this},u.GLO.prototype.display_edges_as_squares=function(t){return this.correct_edge_gens(t).forEach(function(e){e.edge_format("squares",t)}),this},u.GLO.prototype.display_edges_as_straight_lines=function(t){return this.correct_edge_gens(t).forEach(function(e){e.edge_format("straight_lines",t)}),this},u.GLO.prototype.display_edges_as_right_angles=function(t){return o("display_edges_as_right_angles"),this},u.GLO.prototype.display_edges_as_labels=function(t,e){return o("display_edges_as_labels"),this},u.GLO.prototype.display_nodes_as_bars=function(t){return o("display_nodes_as_bars"),this},u.GLO.prototype.display_nodes_as_circles=function(t){return o("display_nodes_as_circles"),this},u.GLO.prototype.display_nodes_as_labels=function(t,e){return o("display_nodes_as_labels"),this},u.GLO.prototype.size_edges_by=function(t,e){return a("size edges by multiple attrs"),a("size square edges"),this.correct_edge_gens(e).forEach(function(e){e.size_by(t)}),this},u.GLO.prototype.size_edges_by_constant=function(t,e){return this.correct_edge_gens(e).forEach(function(t){t.size_by_preset_constant()}),this},u.GLO.prototype.size_nodes_by=function(t,e){return this.correct_node_gens(e).forEach(function(e){e.size_by(t)}),this},u.GLO.prototype.size_nodes_by_constant=function(t){return this.correct_node_gens(t).forEach(function(t){t.size_by_preset_constant()}),this},u.GLO.prototype.rotate_nodes=function(t,e){return o("rotate_nodes"),this},u.GLO.prototype.set_edge_waypoint_edge_generation=function(t,e){return o("set_edge_waypoint_edge_generation"),this},u.GLO.prototype.remove_all_edge_waypoints=function(t){return o("remove_all_edge_waypoints"),this},u.GLO.prototype.color_edges_by=function(t,e){return a("color_edges_by Multiple Attributes"),this.correct_edge_gens(e).forEach(function(e){e.color_by(t)}),this},u.GLO.prototype.color_edges_by_two=function(t,e){o("color edges by two")},u.GLO.prototype.color_edges_by_constant=function(t){return this.correct_edge_gens(t).forEach(function(t){t.color_by_preset_constant()}),this},u.GLO.prototype.color_nodes_by=function(t,e){return this.correct_node_gens(e).forEach(function(e){e.color_by(t)}),this},u.GLO.prototype.color_nodes_by_constant=function(t){return this.correct_node_gens(t).forEach(function(t){t.color_by_preset_constant()}),this},u.GLO.prototype.color_convex_hulls_by=function(t,e){return o("color_convex_hulls_by"),this},u.GLO.prototype.color_convex_hulls_by_constant=function(t,e){return o("color_convex_hulls_by_constant"),this},u.GLO.prototype.partition_on=function(t,e){var n;return n=void 0!==e&&void 0!==e.parts?1*e.parts:2,this.correct_canvases(e).forEach(function(e){e.partition(t,n)}),this},u.GLO.prototype.filter_partition_on=function(t,e){return o("filter_partition_on"),this},u.GLO.prototype.select_canvas=function(t,e){return this.active_canvas(t),this},u.GLO.prototype.select_column=function(t,e){return o("select_column"),this},u.GLO.prototype.select_row=function(t,e){return o("select_row"),this},u.GLO.prototype.remove_canvas=function(t,e){return o("remove_canvas"),this},u.GLO.prototype.remove_all_partitions=function(t){return o("remove_all_partitions"),this},u.GLO.prototype.show_meta_axis=function(t,e){return o("show_meta_axis"),this},u.GLO.prototype.hide_meta_axis=function(t,e){return o("hide_meta_axis"),this},u.GLO.prototype.show_axis=function(t,e){return this.correct_canvases(e).forEach(function(e){if("x"==t)e.show_x_axis(!0);else{if("y"!=t)throw"Invalid axis for showing. Only x and y permitted.";e.show_y_axis(!0)}}),this},u.GLO.prototype.hide_axis=function(t,e){return this.correct_canvases(e).forEach(function(e){if("x"==t)e.show_x_axis(!1);else{if("y"!=t)throw"Invalid axis for showing. Only x and y permitted.";e.show_y_axis(!1)}}),this},u.GLO.prototype.highlight_neighbors=function(t){return this.correct_node_gens(t).forEach(function(t){t.highlight_neighbors(!0)}),this},u.GLO.prototype.highlight_in_out_neighbors=function(t){return o("highlight_in_out_neighbors"),this},u.GLO.prototype.stop_highlighting=function(t){return this.correct_node_gens(t).forEach(function(t){t.highlight_neighbors(!1)}),this},u.GLO.prototype.Technique_Force_Directed=function(){return this.display_nodes_as_circles(),this.display_edges_as_straight_lines(),this.show_all_edges(),this.size_nodes_by_constant(),this.size_edges_by_constant(),this.color_edges_by_constant(),this.color_nodes_by_constant(),this.apply_force_directed_algorithm_to_nodes(),this},u.GLO.prototype.Technique_Matrix_Plot=function(t,e,n){return null==t&&(t=void 0),this.color_nodes_by_constant(),this.size_nodes_by_constant(),this.evenly_distribute_nodes_on("y",{by:t,invert:!0}),this.align_nodes("left"),this.display_nodes_as_labels(n),this.clone_nodes(),this.rotate_nodes(90),this.align_nodes("top"),this.evenly_distribute_nodes_on("x",{by:t}),this.set_target_generation(1),this.display_edges_as_squares(),this.show_all_edges(),this.size_edges_by_constant(),this.color_edges_by(e),this},u.GLO.prototype.Technique_Cluster_Circles=function(t,e){return void 0===e&&(e=void 0),this.display_nodes_as_circles(),this.show_all_edges(),this.display_edges_as_straight_lines(),this.color_edges_by_constant(),this.color_nodes_by_constant(),this.size_nodes_by_constant(),this.size_edges_by_constant(),this.evenly_distribute_nodes_on("theta",{by:t}),this.position_nodes_by_constant_on("rho"),this.evenly_distribute_nodes_on("theta",{by:e,group_by:t}),this.position_nodes_by_constant_on("rho",{group_by:t}),this},u.GLO.prototype.Technique_Circle_Graph=function(t){return this.display_nodes_as_circles(),this.show_all_edges(),this.display_edges_as_straight_lines(),this.color_edges_by_constant(),this.color_nodes_by_constant(),this.size_edges_by_constant(),this.size_nodes_by_constant(),this.evenly_distribute_nodes_on("theta",{by:t}),this.position_nodes_by_constant_on("rho"),this},u.GLO.prototype.Technique_GeneVis_A=function(t){return this.display_nodes_as_circles(),this.hide_edges(),this.position_nodes_on("theta",t),this.position_nodes_by_constant_on("rho"),this.size_nodes_by_constant(),this.color_nodes_by_constant(),this},u.GLO.prototype.Technique_GeneVis_B=function(t,e){return this.display_nodes_as_circles(),this.size_nodes_by_constant(),this.color_nodes_by_constant(),this.display_nodes_as_circles(),this.show_all_edges(),this.display_edges_as_curved_lines(),this.size_edges_by_constant(),this.color_edges_by_constant(),this.position_nodes_on("y",t),this.position_nodes_on("x",e),this},u.GLO.prototype.Technique_Arc_Diagram=function(t,e,n){return this.display_nodes_as_circles(),this.size_nodes_by_constant(),this.color_nodes_by(e),this.display_edges_as_curved_lines(),this.size_edges_by_constant(),this.color_edges_by(n),this.show_all_edges(),this.align_nodes("middle"),this.evenly_distribute_nodes_on("x",{by:t}),this},u.GLO.prototype.Technique_Matrix_Browser=function(){o("Matrix_Browswer")},u.GLO.prototype.Technique_Matrix_With_Bars=function(){o("Matrix_With_Bars")},u.GLO.prototype.Technique_Matrix_Explorer=function(t,e,n,i){return this.size_nodes_by_constant(),this.size_edges_by_constant(),this.color_nodes_by_constant(),this.show_all_edges(),this.partition_on("x"),this.display_nodes_as_bars(),this.evenly_distribute_nodes_on("y",{by:t,invert:!0}),this.align_nodes("left"),this.size_nodes_by(i),this.clone_nodes(),this.size_nodes_by_constant(),this.display_nodes_as_labels(n),this.select_node_generation(1),this.clone_nodes(),this.rotate_nodes(90),this.align_nodes("top"),this.evenly_distribute_nodes_on("x",{by:t}),this.clone_nodes(),this.size_nodes_by_constant(),this.display_nodes_as_labels(i),this.set_target_generation(4),this.display_edges_as_squares(),this.color_edges_by(e),this.select_canvas(0),this.size_nodes_by(i),this.size_edges_by(e),this.display_edges_as_straight_lines(),this.color_edges_by_constant(),this.apply_force_directed_algorithm_to_nodes(),this},u.GLO.prototype.Technique_NetLens=function(){o("Netlens")},u.GLO.prototype.Technique_Semantic_Substrates=function(t,e){return this.display_nodes_as_circles(),this.color_nodes_by(t),this.show_incident_edges(),this.size_nodes_by(e),this.size_edges_by_constant(),this.color_edges_by("target"),this.position_nodes_on("y",t),this.show_axis("y"),this.evenly_distribute_nodes_on("x",{within:t}),this.display_edges_as_curved_lines(),this},u.GLO.prototype.Technique_PivotGraph=function(t,e,n,i,r,A){return void 0!==i&&null!=i||(i="count"),void 0!==r&&null!=r||(r="count"),void 0!==A&&null!=A||(A="in_degree"),this.display_nodes_as_circles(),this.show_all_edges(),this.aggregate_nodes_by([t,e],n),this.size_nodes_by(i),this.color_nodes_by(A),this.aggregate_edges_by(["source."+t,"source."+e,"target."+t,"target."+e],n),this.display_edges_as_curved_lines(),this.size_edges_by(r),this.color_edges_by(r),this.position_nodes_on("y",t),this.position_nodes_on("x",e),this.show_axis("x"),this.show_axis("y"),this},u.GLO.prototype.Technique_MatLink=function(t,e,n){return null==t&&(t=void 0),this.color_nodes_by_constant(),this.size_nodes_by_constant(),this.display_nodes_as_labels(n),this.evenly_distribute_nodes_on("y",{by:t,invert:!0}),this.align_nodes("left"),this.display_edges_as_curved_lines(),this.color_edges_by_constant(),this.show_faded_and_incident_edges(),this.clone_nodes(),this.clone_edges(),this.set_source_generation(1),this.set_target_generation(1),this.clone_edges(),this.rotate_nodes(90),this.align_nodes("top"),this.evenly_distribute_nodes_on("x",{by:t}),this.set_source_generation(0),this.display_edges_as_squares(),this.show_all_edges(),this.size_edges_by_constant(),this.color_edges_by_constant(),this},u.GLO.prototype.Technique_ListView=function(t,e,n){return null==e&&(e=void 0),this.display_nodes_as_labels(n),this.size_nodes_by_constant(),this.size_edges_by_constant(),this.color_edges_by_constant(),this.color_nodes_by_constant(),this.position_nodes_on("x",t),this.position_nodes_evenly_stacked("bottom",{by:e,within:t}),this.display_edges_as_straight_lines(),this.show_faded_and_incident_edges(),this.hide_edges({group_by:t}),this.show_axis("x"),this.clone_edges(),this.display_edges_as_curved_lines(),this.hide_edges(),this.show_faded_and_incident_edges({group_by:t}),this},u.GLO.prototype.Techniques_Edge_Label_Centric=function(){TOOD("Edge Label Centric")},u.GLO.prototype.Technique_Honeycomb=function(t,e,n,i){null==i&&(i=void 0);var r=[];return Array.isArray(t)?t.forEach(function(t){r.push("source."+t),r.push("target."+t)}):(r.push("source."+t),r.push("target."+t)),this.show_all_edges(),this.color_nodes_by_constant(),this.size_nodes_by_constant(),this.aggregate_nodes_by(t,e),this.display_nodes_as_labels("label"),this.align_nodes("left"),this.evenly_distribute_nodes_on("y",{by:i,invert:!0}),this.clone_nodes(),this.align_nodes("top"),this.evenly_distribute_nodes_on("x",{by:i}),this.set_target_generation(3),this.aggregate_edges_by(r,e),this.display_edges_as_squares(),this.color_edges_by(n),this.size_edges_by_constant(),this},u.GLO.prototype.Technique_GraphDice_Segment=function(t,e,n){return this.display_nodes_as_circles(),this.position_nodes_on("x",t),this.position_nodes_on("y",e),this.size_nodes_by(n),this.color_nodes_by_constant(),this.display_edges_as_curved_lines(),this.show_all_edges(),this.size_edges_by_constant(),this.color_edges_by_constant(),this.show_axis("x"),this.show_axis("y"),this},u.GLO.prototype.Technique_GraphDice_3x3=function(t,e,n){return this.display_nodes_as_circles(),this.show_all_edges(),this.color_nodes_by_constant(),this.color_edges_by_constant(),this.size_nodes_by_constant(),this.size_edges_by_constant(),this.position_nodes_on("x",t),this.position_nodes_on("y",t),this.display_edges_as_curved_lines(),this.partition_on("x",{parts:3}),this.select_canvas(1),this.position_nodes_on("x",e),this.select_canvas(2),this.position_nodes_on("x",n),this.partition_on("y",{parts:3,all_canvases:!0}),this.select_canvas(3),this.position_nodes_on("y",e),this.select_canvas(5),this.position_nodes_on("y",e),this.select_canvas(7),this.position_nodes_on("y",e),this.select_canvas(4),this.position_nodes_on("y",n),this.select_canvas(6),this.position_nodes_on("y",n),this.select_canvas(8),this.position_nodes_on("y",n),this},u.GLO.prototype.Technique_GMap=function(){return o("GMap"),this},u.GLO.prototype.Technique_Attribute_Matrix=function(){return o("Attribute_Matrix"),this},u.GLO.prototype.Technique_Sankey_Diagram=function(){return o("Sankey Diagram"),this},u.GLO.prototype.Technique_EdgeMap_A=function(t,e){return this.display_nodes_as_circles(),this.size_nodes_by(t),this.size_edges_by_constant(),this.color_nodes_by(e),this.color_edges_by("source"),this.display_edges_as_curved_lines(),this.show_edges_as_in_out_links(),this.highlight_neighbors(),this.apply_force_directed_algorithm_to_nodes(),this},u.GLO.prototype.Technique_EdgeMap_B=function(t,e,n){return this.display_nodes_as_circles(),this.size_nodes_by(e),this.size_edges_by_constant(),this.color_nodes_by(n),this.color_edges_by("source"),this.display_edges_as_curved_lines(),this.show_edges_as_in_out_links(),this.align_nodes("middle"),this.evenly_distribute_nodes_on("x",{by:t}),this},u.GLO.prototype.Technique_Hive_Plot=function(t,e){return this.display_nodes_as_circles(),this.size_nodes_by_constant(),this.size_edges_by_constant(),this.color_edges_by_constant(),this.color_nodes_by(t),this.position_nodes_on("theta",t),this.position_nodes_on("rho",e),this.display_edges_as_curved_lines(),this.show_all_edges(),this},u.GLO.prototype.Technique_Hive_Panel_2x3=function(t,e,n,i,r){return this.display_nodes_as_circles(),this.size_nodes_by_constant(),this.size_edges_by_constant(),this.color_nodes_by(t),this.display_edges_as_curved_lines(),this.show_faded_and_incident_edges(),this.position_nodes_on("theta",t),this.position_nodes_on("rho",n),this.partition_on("x",{parts:3}),this.select_canvas(0),this.position_nodes_on("rho",n),this.select_canvas(1),this.position_nodes_on("rho",i),this.select_canvas(2),this.position_nodes_on("rho",r),this.partition_on("y",{parts:2,all_canvases:!0}),this.select_canvas(3),this.position_nodes_on("theta",e),this.select_canvas(4),this.position_nodes_on("theta",e),this.select_canvas(5),this.position_nodes_on("theta",e),this.color_edges_by("source",{all_canvases:!0}),this},u.GLO.prototype.Technique_Scatternet=function(t,e,n){return this.display_nodes_as_circles(),this.display_edges_as_straight_lines(),this.size_nodes_by_constant(),this.size_edges_by_constant(),this.color_edges_by_constant(),this.color_nodes_by(n),this.position_nodes_on("x",t),this.position_nodes_on("y",e),this.show_axis("x"),this.show_axis("y"),this.show_incident_edges(),this.highlight_neighbors(),this},u.GLO.prototype.Technique_Citevis=function(t,e,n){return null==n&&(n=void 0),this.display_nodes_as_circles(),this.hide_edges(),this.highlight_neighbors(),this.size_nodes_by_constant(),this.position_nodes_on("y",t),this.show_axis("y"),this.position_nodes_evenly_stacked("left",{by:n,within:t,invert:!0}),this.color_nodes_by(e),this},u.GLO.prototype.Technique_DOSA=function(t,e,n){return this.display_nodes_as_circles(),this.color_nodes_by(t),this.color_edges_by("target"),this.size_nodes_by_constant(),this.size_edges_by_constant(),this.position_nodes_on("x",e),this.position_nodes_on("y",n),this.display_edges_as_curved_lines(),this.partition_on("x"),this.aggregate_nodes_by(t,"mean"),this.aggregate_edges_by(["source."+t,"target."+t],"mean"),this.size_nodes_by("count"),this.size_edges_by("count"),this},u.GLO.prototype.Technique_NodeTrix=function(t,e,n,i){return this.color_nodes_by(n),this.size_nodes_by_constant(),this.size_edges_by_constant(),this.color_edges_by(i),this.display_edges_as_curved_lines(),this.position_nodes_by_constant_on("rho"),this.evenly_distribute_nodes_on("theta",{by:t}),this.position_nodes_by_constant_on("rho",{group_by:t}),this.evenly_distribute_nodes_on("theta",{group_by:t}),this.display_nodes_as_labels(e),this.align_nodes("left",{group_by:t}),this.evenly_distribute_nodes_on("y",{group_by:t,invert:!0}),this.clone_nodes(),this.align_nodes("right",{group_by:t}),this.clone_nodes(),this.rotate_nodes(90),this.evenly_distribute_nodes_on("x",{group_by:t}),this.align_nodes("top",{group_by:t}),this.set_target_generation(2),this.clone_nodes(),this.align_nodes("bottom",{group_by:t}),this.display_edges_as_curved_lines(),this.display_edges_as_squares({group_by:t}),this};t.exports=u},function(t,e,n){"use strict";function i(t){return new o(t)}var r=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var A=n(104),o=function(t){function e(e){var n=t.call(this)||this,i=e;return i.trigger&&(n.trigger=i.trigger),i.kick&&(n.kick=i.kick),i.drag&&(n.drag=i.drag),i.on&&(n.on=i.on),n.dragstart=n.dragStart=A.Layout.dragStart,n.dragend=n.dragEnd=A.Layout.dragEnd,n}return r(e,t),e.prototype.trigger=function(t){},e.prototype.kick=function(){},e.prototype.drag=function(){},e.prototype.on=function(t,e){return this},e}(A.Layout);e.LayoutAdaptor=o,e.adaptor=i},function(t,e,n){"use strict";function i(t){return!t||r(t)?new A.D3StyleLayoutAdaptor:new o.D3StyleLayoutAdaptor(t)}function r(t){var e=/^3\./;return t.version&&null!==t.version.match(e)}Object.defineProperty(e,"__esModule",{value:!0});var A=n(644),o=n(645);e.d3adaptor=i},function(t,e,n){"use strict";function i(){return new o}var r=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var A=n(104),o=function(t){function e(){var e=t.call(this)||this;e.event=d3.dispatch(A.EventType[A.EventType.start],A.EventType[A.EventType.tick],A.EventType[A.EventType.end]);var n=e;return e.drag=function(){if(!t)var t=d3.behavior.drag().origin(A.Layout.dragOrigin).on("dragstart.d3adaptor",A.Layout.dragStart).on("drag.d3adaptor",function(t){A.Layout.drag(t,d3.event),n.resume()}).on("dragend.d3adaptor",A.Layout.dragEnd);if(!arguments.length)return t;this.call(t)},e}return r(e,t),e.prototype.trigger=function(t){var e={type:A.EventType[t.type],alpha:t.alpha,stress:t.stress};this.event[e.type](e)},e.prototype.kick=function(){var e=this;d3.timer(function(){return t.prototype.tick.call(e)})},e.prototype.on=function(t,e){return"string"==typeof t?this.event.on(t,e):this.event.on(A.EventType[t],e),this},e}(A.Layout);e.D3StyleLayoutAdaptor=o,e.d3adaptor=i},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var r=n(104),A=function(t){function e(e){var n=t.call(this)||this;n.d3Context=e,n.event=e.dispatch(r.EventType[r.EventType.start],r.EventType[r.EventType.tick],r.EventType[r.EventType.end]);var i=n;return n.drag=function(){if(!t)var t=e.drag().subject(r.Layout.dragOrigin).on("start.d3adaptor",r.Layout.dragStart).on("drag.d3adaptor",function(t){r.Layout.drag(t,e.event),i.resume()}).on("end.d3adaptor",r.Layout.dragEnd);if(!arguments.length)return t;arguments[0].call(t)},n}return i(e,t),e.prototype.trigger=function(t){var e={type:r.EventType[t.type],alpha:t.alpha,stress:t.stress};this.event.call(e.type,e)},e.prototype.kick=function(){var e=this,n=this.d3Context.timer(function(){return t.prototype.tick.call(e)&&n.stop()})},e.prototype.on=function(t,e){return"string"==typeof t?this.event.on(t,e):this.event.on(r.EventType[t],e),this},e}(r.Layout);e.D3StyleLayoutAdaptor=A},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(141),r=n(217),A=n(105),o=n(216),a=function(){function t(t,e){this.source=t,this.target=e}return t.prototype.actualLength=function(t){var e=this;return Math.sqrt(t.reduce(function(t,n){var i=n[e.target]-n[e.source];return t+i*i},0))},t}();e.Link3D=a;var c=function(){function t(t,e,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===n&&(n=0),this.x=t,this.y=e,this.z=n}return t}();e.Node3D=c;var s=function(){function t(e,n,i){void 0===i&&(i=1);var r=this;this.nodes=e,this.links=n,this.idealLinkLength=i,this.constraints=null,this.useJaccardLinkLengths=!0,this.result=new Array(t.k);for(var A=0;A<t.k;++A)this.result[A]=new Array(e.length);e.forEach(function(e,n){for(var i=0,A=t.dims;i<A.length;i++){var o=A[i];void 0===e[o]&&(e[o]=Math.random())}r.result[0][n]=e.x,r.result[1][n]=e.y,r.result[2][n]=e.z})}return t.prototype.linkLength=function(t){return t.actualLength(this.result)},t.prototype.start=function(t){var e=this;void 0===t&&(t=100);var n=this.nodes.length,a=new u;this.useJaccardLinkLengths&&o.jaccardLinkLengths(this.links,a,1.5),this.links.forEach(function(t){return t.length*=e.idealLinkLength});var c=new i.Calculator(n,this.links,function(t){return t.source},function(t){return t.target},function(t){return t.length}).DistanceMatrix(),s=r.Descent.createSquareMatrix(n,function(t,e){return c[t][e]}),g=r.Descent.createSquareMatrix(n,function(){return 2});this.links.forEach(function(t){var e=t.source,n=t.target;return g[e][n]=g[n][e]=1}),this.descent=new r.Descent(this.result,s),this.descent.threshold=.001,this.descent.G=g,this.constraints&&(this.descent.project=new A.Projection(this.nodes,null,null,this.constraints).projectFunctions());for(var l=0;l<this.nodes.length;l++){var M=this.nodes[l];M.fixed&&this.descent.locks.add(l,[M.x,M.y,M.z])}return this.descent.run(t),this},t.prototype.tick=function(){this.descent.locks.clear();for(var t=0;t<this.nodes.length;t++){var e=this.nodes[t];e.fixed&&this.descent.locks.add(t,[e.x,e.y,e.z])}return this.descent.rungeKutta()},t.dims=["x","y","z"],t.k=t.dims.length,t}();e.Layout3D=s;var u=function(){function t(){}return t.prototype.getSourceIndex=function(t){return t.source},t.prototype.getTargetIndex=function(t){return t.target},t.prototype.getLength=function(t){return t.length},t.prototype.setLength=function(t,e){t.length=e},t}()},function(t,e,n){"use strict";function i(t,e,n,i){return t.cola.start(0,0,0,10,!1),r(t.cola.nodes(),t.cola.groups(),n,i).routeEdges(t.powerGraph.powerEdges,e,function(t){return t.source.routerNode.id},function(t){return t.target.routerNode.id})}function r(t,e,n,i){t.forEach(function(t){t.routerNode={name:t.name,bounds:t.bounds.inflate(-n)}}),e.forEach(function(e){e.routerNode={bounds:e.bounds.inflate(-i),children:(void 0!==e.groups?e.groups.map(function(e){return t.length+e.id}):[]).concat(void 0!==e.leaves?e.leaves.map(function(t){return t.index}):[])}});var r=t.concat(e).map(function(t,e){return t.routerNode.id=e,t.routerNode});return new a.GridRouter(r,{getChildren:function(t){return t.children},getBounds:function(t){return t.bounds}},n-i)}function A(t,e,n){var i;t.nodes.forEach(function(t,e){return t.index=e}),(new o.Layout).avoidOverlaps(!1).nodes(t.nodes).links(t.links).powerGraphGroups(function(t){i=t,i.groups.forEach(function(t){return t.padding=n})});var r=t.nodes.length,A=[],a=t.nodes.slice(0);return a.forEach(function(t,e){return t.index=e}),i.groups.forEach(function(t){var e=t.index=t.id+r;a.push(t),void 0!==t.leaves&&t.leaves.forEach(function(t){return A.push({source:e,target:t.index})}),void 0!==t.groups&&t.groups.forEach(function(t){return A.push({source:e,target:t.id+r})})}),i.powerEdges.forEach(function(t){A.push({source:t.source.index,target:t.target.index})}),(new o.Layout).size(e).nodes(a).links(A).avoidOverlaps(!1).linkDistance(30).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(100,0,0,0,!1),{cola:(new o.Layout).convergenceThreshold(.001).size(e).avoidOverlaps(!0).nodes(t.nodes).links(t.links).groupCompactness(1e-4).linkDistance(30).symmetricDiffLinkLengths(5).powerGraphGroups(function(t){i=t,i.groups.forEach(function(t){t.padding=n})}).start(50,0,100,0,!1),powerGraph:i}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(104),a=n(330);e.gridify=i,e.powerGraphGridLayout=A},function(t,e,n){"use strict";var i=n(30),r=function(t){return t&&t.__esModule?t:{default:t}}(i),A=n(649);r.default.register(A.LineUp,"LineUp")},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LineUp=void 0;var i=n(650),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.LineUp=r.default},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(13),s=i(c),u=n(48),g=i(u),l=n(219),M=i(l),h=n(20),d=i(h),f=n(672),I=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(f);n(673),n(676),n(225);var E=function(t){function e(t,n){r(this,e);var i=A(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t)),o=n.width||800,a=n.height||600;return t.style.width=o+"px",t.style.height=a+"px",i.options=n,i.lineUpConfig={interaction:{tooltips:!1},renderingOptions:{animation:void 0===n.animation||n.animation,histograms:void 0===n.histograms||n.histograms,stacked:void 0!==n.stacked&&n.stacked},body:{mode:"separate",rowPadding:0},manipulative:!0},i.lineupInstances={},i.lineupColumns={},i.lineupRankWidth=50,i}return o(e,t),a(e,null,[{key:"options",get:function(){return[{name:"data",type:"table",format:"objectlist"},{name:"fields",type:"string_list",format:"string_list",domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}},{name:"stacked",type:"boolean",format:"boolean",optional:!0},{name:"histograms",type:"boolean",format:"boolean",optional:!0},{name:"animation",type:"boolean",format:"boolean",optional:!0}]}}]),a(e,[{key:"lineupGetColumnWidth",value:function(t,e,n){var i=e.width||0,r=e.column||e.type;this.lineupColumns&&this.lineupColumns[t]&&this.lineupColumns[t][r]&&(i=this.lineupColumns[t][r]+n);var A=i<n?0:i-n;return"rank"===e&&(A=this.lineupRankWidth),e.widthBasis=A,e.widthFixed=n,e.widthBasis}},{key:"createLineupAdjustWidth",value:function(t,e,n,i){var r=0,A=0,o=0,a=void 0,c=void 0,s=(0,g.default)(t)[0].getBoundingClientRect().width-2*i-30,u=n.dataspec.layout.primary;for(a=0;a<u.length;a+=1)if(u[a].children)for(c=0;c<u[a].children.length;c+=1)o+=1,A+=this.lineupGetColumnWidth(e,u[a].children[c],i);else{if("rank"===u[a].type){r=this.lineupRankWidth+i;continue}o+=1,A+=this.lineupGetColumnWidth(e,u[a],i)}var l=s-o*i-r;l-=o+(r?1:0);var M=l/A;for(a=0;a<u.length;a+=1)if(u[a].children)for(c=0;c<u[a].children.length;c+=1)u[a].children[c].width=i+u[a].children[c].widthBasis*M;else u[a].width=i+u[a].widthBasis*M,"rank"===u[a].type&&(u[a].width=this.lineupRankWidth+i);return M}},{key:"createLineup",value:function(t,e,n,i,r,A,o){var a=this,c={};c.name=e,c.dataspec=n,delete c.dataspec.file,delete c.dataspec.separator,c.dataspec.data=i,c.storage=I.createLocalStorage(i,I.deriveColors(n.columns));var s=(r?r.config:g.default.extend({},this.lineUpConfig))||{};s.renderingOptions||(s.renderingOptions={});var u=s.renderingOptions.animation;s.renderingOptions.animation=!1;var l=this.createLineupAdjustWidth(t,e,c,5);if((0,g.default)(t).empty(),r=I.create(c.storage,d.default.select(t),this.lineUpConfig),r.restore(n),s=r.config,r.header.dragHandler.on("dragend.lineupWidget",function(t){a.lineupDragColumnEnd(e,t)}),r["column-scale"]=l,r["column-fixed"]=5,r["lineup-key"]=e,(0,g.default)(t).attr("lineup-key",e),A){var M=void 0;g.default.each(r.data.getRankings(),function(t,e){g.default.each(e.flatColumns,function(t,e){e.label===A&&(M=e.id)})}),r.sortBy(void 0!==M?M:A)}r.changeRenderingOption("animation",u);var h=function(){for(var e=0;e<n.columns.length;e+=1)if(n.columns[e].description){var i=n.columns[e].label||n.columns[e].column;(0,g.default)("title",(0,g.default)(t+' .lu-header text.headerLabel:contains("'+i+'")').parent()).text(i+": "+n.columns[e].description)}};return o&&(r.on("selectionChanged.lineupWidget",null),r.on("selectionChanged.lineupWidget",function(t){o(i[t])})),window.setTimeout(h,1),window.setTimeout(h,1e3),this.lineupInstances[e]=r,r}},{key:"lineupDragColumnEnd",value:function(t){var e=void 0,n=void 0;this.lineupColumns[t]||(this.lineupColumns[t]={});var i=this.lineupColumns[t],r=this.lineupInstances[t].dump().rankings[0].columns,A=this.lineupInstances[t]["column-scale"],o=this.lineupInstances[t]["column-fixed"];for(e=0;e<r.length;e+=1)if(r[e].children)for(n=0;n<r[e].children.length;n+=1)i[r[e].children[n].desc.split("@")[1]]=(r[e].children[n].width-o)/A;else i[r[e].desc.label?"rank":r[e].desc.split("@")[1]]=(r[e].width-o)/A}},{key:"render",value:function(){var t=g.default.extend(!0,[],this.options.data);if(t&&0!==t.length){var e={primaryKey:"__index",columns:[],layout:{primary:[{type:"rank",width:this.lineupRankWidth}]}},n={type:"stacked",label:"Combined",children:[]},i=l.type.inferAll(t),r=this.options.fields?this.options.fields:Object.keys(i),A=!0,o=!1,a=void 0;try{for(var c,s=r[Symbol.iterator]();!(A=(c=s.next()).done);A=!0){(function(){var r=c.value;if(!(r in i))return"continue";var A=i[r];"integer"!==A&&"date"!==A||(A="number");var o={column:r,type:A};"number"===A&&(o.domain=M.default.extent(t,function(t){return t[r]})),e.columns.push(o);var a={column:r,width:200};"number"===A||"boolean"===A?n.children.push(a):e.layout.primary.push(a)})()}}catch(t){o=!0,a=t}finally{try{!A&&s.return&&s.return()}finally{if(o)throw a}}n.children.length&&e.layout.primary.push(n),t.forEach(function(t,e){t.__index=e});this.createLineup(this.el,"main",e,t,this.lineupInstances.main,"Combined")}}}]),e}(s.default);e.default=E},function(t,e,n){"use strict";function i(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===t[e-2]?2:"="===t[e-1]?1:0}function r(t){return 3*t.length/4-i(t)}function A(t){var e,n,r,A,o,a=t.length;A=i(t),o=new g(3*a/4-A),n=A>0?a-4:a;var c=0;for(e=0;e<n;e+=4)r=u[t.charCodeAt(e)]<<18|u[t.charCodeAt(e+1)]<<12|u[t.charCodeAt(e+2)]<<6|u[t.charCodeAt(e+3)],o[c++]=r>>16&255,o[c++]=r>>8&255,o[c++]=255&r;return 2===A?(r=u[t.charCodeAt(e)]<<2|u[t.charCodeAt(e+1)]>>4,o[c++]=255&r):1===A&&(r=u[t.charCodeAt(e)]<<10|u[t.charCodeAt(e+1)]<<4|u[t.charCodeAt(e+2)]>>2,o[c++]=r>>8&255,o[c++]=255&r),o}function o(t){return s[t>>18&63]+s[t>>12&63]+s[t>>6&63]+s[63&t]}function a(t,e,n){for(var i,r=[],A=e;A<n;A+=3)i=(t[A]<<16)+(t[A+1]<<8)+t[A+2],r.push(o(i));return r.join("")}function c(t){for(var e,n=t.length,i=n%3,r="",A=[],o=0,c=n-i;o<c;o+=16383)A.push(a(t,o,o+16383>c?c:o+16383));return 1===i?(e=t[n-1],r+=s[e>>2],r+=s[e<<4&63],r+="=="):2===i&&(e=(t[n-2]<<8)+t[n-1],r+=s[e>>10],r+=s[e>>4&63],r+=s[e<<2&63],r+="="),A.push(r),A.join("")}e.byteLength=r,e.toByteArray=A,e.fromByteArray=c;for(var s=[],u=[],g="undefined"!=typeof Uint8Array?Uint8Array:Array,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",M=0,h=l.length;M<h;++M)s[M]=l[M],u[l.charCodeAt(M)]=M;u["-".charCodeAt(0)]=62,u["_".charCodeAt(0)]=63},function(t,e){e.read=function(t,e,n,i,r){var A,o,a=8*r-i-1,c=(1<<a)-1,s=c>>1,u=-7,g=n?r-1:0,l=n?-1:1,M=t[e+g];for(g+=l,A=M&(1<<-u)-1,M>>=-u,u+=a;u>0;A=256*A+t[e+g],g+=l,u-=8);for(o=A&(1<<-u)-1,A>>=-u,u+=i;u>0;o=256*o+t[e+g],g+=l,u-=8);if(0===A)A=1-s;else{if(A===c)return o?NaN:1/0*(M?-1:1);o+=Math.pow(2,i),A-=s}return(M?-1:1)*o*Math.pow(2,A-i)},e.write=function(t,e,n,i,r,A){var o,a,c,s=8*A-r-1,u=(1<<s)-1,g=u>>1,l=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,M=i?0:A-1,h=i?1:-1,d=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-o))<1&&(o--,c*=2),e+=o+g>=1?l/c:l*Math.pow(2,1-g),e*c>=2&&(o++,c/=2),o+g>=u?(a=0,o=u):o+g>=1?(a=(e*c-1)*Math.pow(2,r),o+=g):(a=e*Math.pow(2,g-1)*Math.pow(2,r),o=0));r>=8;t[n+M]=255&a,M+=h,a/=256,r-=8);for(o=o<<r|a,s+=r;s>0;t[n+M]=255&o,M+=h,o/=256,s-=8);t[n+M-h]|=128*d}},function(t,e){var n={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},function(t,e){t.exports={_args:[[{raw:"datalib@^1.7.3",scope:null,escapedName:"datalib",name:"datalib",rawSpec:"^1.7.3",spec:">=1.7.3 <2.0.0",type:"range"},"/home/ubuntu/candela"]],_from:"datalib@>=1.7.3 <2.0.0",_id:"datalib@1.8.0",_inCache:!0,_location:"/datalib",_nodeVersion:"8.1.4",_npmOperationalInternal:{host:"s3://npm-registry-packages",tmp:"tmp/datalib-1.8.0.tgz_1499875338086_0.27735740947537124"},_npmUser:{name:"jheer",email:"jeffrey.heer@gmail.com"},_npmVersion:"5.0.3",_phantomChildren:{},_requested:{raw:"datalib@^1.7.3",scope:null,escapedName:"datalib",name:"datalib",rawSpec:"^1.7.3",spec:">=1.7.3 <2.0.0",type:"range"},_requiredBy:["/"],_resolved:"https://registry.npmjs.org/datalib/-/datalib-1.8.0.tgz",_shasum:"1fa56888b13be51b344898f7a8d0191e2221fbbf",_shrinkwrap:null,_spec:"datalib@^1.7.3",_where:"/home/ubuntu/candela",author:{name:"Jeffrey Heer",url:"http://idl.cs.washington.edu"},browser:{buffer:!1,fs:!1,http:!1,request:!1,"sync-request":!1,url:!1},bugs:{url:"https://github.com/vega/datalib/issues"},contributors:[{name:"Michael Correll",url:"http://pages.cs.wisc.edu/~mcorrell/"},{name:"Ryan Russell",url:"https://github.com/RussellSprouts"}],dependencies:{"d3-dsv":"0.1","d3-format":"0.4","d3-time":"0.1","d3-time-format":"0.2",request:"^2.67.0","sync-request":"^2.1.0",topojson:"^1.6.19"},description:"JavaScript utilites for loading, summarizing and working with data.",devDependencies:{browserify:"^12.0.1",chai:"^3.4.1",istanbul:"latest",jshint:"^2.9.1-rc1",mocha:"^2.3.4","uglify-js":"^2.6.1"},directories:{},dist:{integrity:"sha512-5ytWXzDzLdd1FYhUHjwRVdgtak7wLvzijSBrECo8jw1eski5IIINPng+lunLZ5HT14pFEjTY9FgxlWm7w8SZ2A==",shasum:"1fa56888b13be51b344898f7a8d0191e2221fbbf",tarball:"https://registry.npmjs.org/datalib/-/datalib-1.8.0.tgz"},gitHead:"5233c20588d5fe0bdf986b253c2d47cf8d7beba7",homepage:"https://github.com/vega/datalib#readme",keywords:["data","table","statistics","parse","csv","tsv","json","utility"],license:"BSD-3-Clause",main:"src/index.js",maintainers:[{name:"jheer",email:"jeffrey.heer@gmail.com"}],name:"datalib",optionalDependencies:{},readme:"ERROR: No README data found!",repository:{type:"git",url:"git+ssh://git@github.com/vega/datalib.git"},scripts:{build:"browserify src/index.js -d -s dl -o datalib.js",cover:"TZ=America/Los_Angeles istanbul cover _mocha -- --recursive test/",deploy:"npm run test && scripts/deploy.sh",lint:"jshint src/",postbuild:"uglifyjs datalib.js -c -m -o datalib.min.js",test:"npm run lint && TZ=America/Los_Angeles mocha --recursive test/"},version:"1.8.0"}},function(t,e){},function(t,e){},function(t,e){},function(t,e){},function(t,e,n){var i=n(660);t.exports={json:n(220),topojson:n(662),treejson:n(663),dsv:i,csv:i.delimiter(","),tsv:i.delimiter("\t")}},function(t,e,n){function i(t,e){if(t){var n=e.header;t=(n?n.join(e.delimiter)+"\n":"")+t}return A.dsv(e.delimiter).parse(t)}var r=n(16),A=n(661);i.delimiter=function(t){var e={delimiter:t};return function(t,n){return i(t,n?r.extend(n,e):e)}},t.exports=i},function(t,e,n){!function(t,n){n(e)}(0,function(t){"use strict";function e(t){return new A(t)}function n(t){return new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}")}function i(t,e){var i=n(t);return function(n,r){return e(i(n),r,t)}}function r(t){var e=Object.create(null),n=[];return t.forEach(function(t){for(var i in t)i in e||n.push(e[i]=i)}),n}function A(t){function e(e){return e.map(A).join(t)}function A(t){return o.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}var o=new RegExp('["'+t+"\n]"),a=t.charCodeAt(0);this.parse=function(t,e){var r,A,o=this.parseRows(t,function(t,o){if(r)return r(t,o-1);A=t,r=e?i(t,e):n(t)});return o.columns=A,o},this.parseRows=function(t,e){function n(){if(u>=s)return o;if(r)return r=!1,A;var e,n=u;if(34===t.charCodeAt(n)){for(var i=n;i++<s;)if(34===t.charCodeAt(i)){if(34!==t.charCodeAt(i+1))break;++i}return u=i+2,e=t.charCodeAt(i+1),13===e?(r=!0,10===t.charCodeAt(i+2)&&++u):10===e&&(r=!0),t.slice(n+1,i).replace(/""/g,'"')}for(;u<s;){var c=1;if(10===(e=t.charCodeAt(u++)))r=!0;else if(13===e)r=!0,10===t.charCodeAt(u)&&(++u,++c);else if(e!==a)continue;return t.slice(n,u-c)}return t.slice(n)}for(var i,r,A={},o={},c=[],s=t.length,u=0,g=0;(i=n())!==o;){for(var l=[];i!==A&&i!==o;)l.push(i),i=n();e&&null==(l=e(l,g++))||c.push(l)}return c},this.format=function(e,n){return null==n&&(n=r(e)),[n.map(A).join(t)].concat(e.map(function(e){return n.map(function(t){return A(e[t])}).join(t)})).join("\n")},this.formatRows=function(t){return t.map(e).join("\n")}}e.prototype=A.prototype;var o=e(","),a=e("\t");t.version="0.1.14",t.dsv=e,t.csv=o,t.tsv=a})},function(t,e,n){var i=n(220),r=function(t,e){var n=r.topojson;if(null==n)throw Error("TopoJSON library not loaded.");var A,o=i(t,e);if(e&&e.feature){if(A=o.objects[e.feature])return n.feature(o,A).features;throw Error("Invalid TopoJSON object: "+e.feature)}if(e&&e.mesh){if(A=o.objects[e.mesh])return[n.mesh(o,o.objects[e.mesh])];throw Error("Invalid TopoJSON object: "+e.mesh)}throw Error("Missing TopoJSON feature or mesh parameter.")};r.topojson=n(334),t.exports=r},function(t,e,n){function i(t,e){function n(t,e){t[r]=e,A.push(t);var o=t[i];if(o)for(var a=0;a<o.length;++a)n(o[a],t)}var i=e&&e.children||"children",r=e&&e.parent||"parent",A=[];return n(t,null),A.root=t,A}var r=n(220);t.exports=function(t,e){return i(r(t,e),e)}},function(t,e,n){!function(t,i){i(e,n(222))}(0,function(t,e){"use strict";function n(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function i(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function r(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}function A(t){function e(t,e){return function(n){var i,r,A,o=[],a=-1,c=0,s=t.length;for(n instanceof Date||(n=new Date(+n));++a<s;)37===t.charCodeAt(a)&&(o.push(t.slice(c,a)),null!=(r=tt[i=t.charAt(++a)])?i=t.charAt(++a):r="e"===i?" ":"0",(A=e[i])&&(i=A(n,r)),o.push(i),c=a+1);return o.push(t.slice(c,a)),o.join("")}}function A(t,e){return function(n){var A=r(1900);if(o(A,t,n+="",0)!=n.length)return null;if("p"in A&&(A.H=A.H%12+12*A.p),"W"in A||"U"in A){"w"in A||(A.w="W"in A?1:0);var a="Z"in A?i(r(A.y)).getUTCDay():e(r(A.y)).getDay();A.m=0,A.d="W"in A?(A.w+6)%7+7*A.W-(a+5)%7:A.w+7*A.U-(a+6)%7}return"Z"in A?(A.H+=A.Z/100|0,A.M+=A.Z%100,i(A)):e(A)}}function o(t,e,n,i){for(var r,A,o=0,a=e.length,c=n.length;o<a;){if(i>=c)return-1;if(37===(r=e.charCodeAt(o++))){if(r=e.charAt(o++),!(A=zt[r in tt?e.charAt(o++):r])||(i=A(t,n,i))<0)return-1}else if(r!=n.charCodeAt(i++))return-1}return i}function a(t,e,n){var i=xt.exec(e.slice(n));return i?(t.p=Bt[i[0].toLowerCase()],n+i[0].length):-1}function $(t,e,n){var i=Qt.exec(e.slice(n));return i?(t.w=vt[i[0].toLowerCase()],n+i[0].length):-1}function et(t,e,n){var i=wt.exec(e.slice(n));return i?(t.w=mt[i[0].toLowerCase()],n+i[0].length):-1}function nt(t,e,n){var i=St.exec(e.slice(n));return i?(t.m=Yt[i[0].toLowerCase()],n+i[0].length):-1}function it(t,e,n){var i=jt.exec(e.slice(n));return i?(t.m=Lt[i[0].toLowerCase()],n+i[0].length):-1}function rt(t,e,n){return o(t,It,e,n)}function At(t,e,n){return o(t,Et,e,n)}function ot(t,e,n){return o(t,Tt,e,n)}function at(t){return pt[t.getDay()]}function ct(t){return yt[t.getDay()]}function st(t){return Dt[t.getMonth()]}function ut(t){return Ct[t.getMonth()]}function gt(t){return Nt[+(t.getHours()>=12)]}function lt(t){return pt[t.getUTCDay()]}function Mt(t){return yt[t.getUTCDay()]}function ht(t){return Dt[t.getUTCMonth()]}function dt(t){return Ct[t.getUTCMonth()]}function ft(t){return Nt[+(t.getUTCHours()>=12)]}var It=t.dateTime,Et=t.date,Tt=t.time,Nt=t.periods,yt=t.days,pt=t.shortDays,Ct=t.months,Dt=t.shortMonths,xt=c(Nt),Bt=s(Nt),wt=c(yt),mt=s(yt),Qt=c(pt),vt=s(pt),jt=c(Ct),Lt=s(Ct),St=c(Dt),Yt=s(Dt),bt={a:at,A:ct,b:st,B:ut,c:null,d:D,e:D,H:x,I:B,j:w,L:m,m:Q,M:v,p:gt,S:j,U:L,w:S,W:Y,x:null,X:null,y:b,Y:O,Z:z,"%":q},Ot={a:lt,A:Mt,b:ht,B:dt,c:null,d:U,e:U,H:F,I:k,j:R,L:G,m:H,M:J,p:ft,S:P,U:X,w:V,W:W,x:null,X:null,y:_,Y:Z,Z:K,"%":q},zt={a:$,A:et,b:nt,B:it,c:rt,d:I,e:I,H:T,I:T,j:E,L:p,m:f,M:N,p:a,S:y,U:g,w:u,W:l,x:At,X:ot,y:h,Y:M,Z:d,"%":C};return bt.x=e(Et,bt),bt.X=e(Tt,bt),bt.c=e(It,bt),Ot.x=e(Et,Ot),Ot.X=e(Tt,Ot),Ot.c=e(It,Ot),{format:function(t){var i=e(t+="",bt);return i.parse=A(t,n),i.toString=function(){return t},i},utcFormat:function(t){var n=e(t+="",Ot);return n.parse=A(t,i),n.toString=function(){return t},n}}}function o(t,e,n){var i=t<0?"-":"",r=(i?-t:t)+"",A=r.length;return i+(A<n?new Array(n-A+1).join(e)+r:r)}function a(t){return t.replace(it,"\\$&")}function c(t){return new RegExp("^(?:"+t.map(a).join("|")+")","i")}function s(t){for(var e={},n=-1,i=t.length;++n<i;)e[t[n].toLowerCase()]=n;return e}function u(t,e,n){var i=et.exec(e.slice(n,n+1));return i?(t.w=+i[0],n+i[0].length):-1}function g(t,e,n){var i=et.exec(e.slice(n));return i?(t.U=+i[0],n+i[0].length):-1}function l(t,e,n){var i=et.exec(e.slice(n));return i?(t.W=+i[0],n+i[0].length):-1}function M(t,e,n){var i=et.exec(e.slice(n,n+4));return i?(t.y=+i[0],n+i[0].length):-1}function h(t,e,n){var i=et.exec(e.slice(n,n+2));return i?(t.y=+i[0]+(+i[0]>68?1900:2e3),n+i[0].length):-1}function d(t,e,n){var i=/^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(e.slice(n,n+6));return i?(t.Z=i[1]?0:-(i[2]+(i[3]||"00")),n+i[0].length):-1}function f(t,e,n){var i=et.exec(e.slice(n,n+2));return i?(t.m=i[0]-1,n+i[0].length):-1}function I(t,e,n){var i=et.exec(e.slice(n,n+2));return i?(t.d=+i[0],n+i[0].length):-1}function E(t,e,n){var i=et.exec(e.slice(n,n+3));return i?(t.m=0,t.d=+i[0],n+i[0].length):-1}function T(t,e,n){var i=et.exec(e.slice(n,n+2));return i?(t.H=+i[0],n+i[0].length):-1}function N(t,e,n){var i=et.exec(e.slice(n,n+2));return i?(t.M=+i[0],n+i[0].length):-1}function y(t,e,n){var i=et.exec(e.slice(n,n+2));return i?(t.S=+i[0],n+i[0].length):-1}function p(t,e,n){var i=et.exec(e.slice(n,n+3));return i?(t.L=+i[0],n+i[0].length):-1}function C(t,e,n){var i=nt.exec(e.slice(n,n+1));return i?n+i[0].length:-1}function D(t,e){return o(t.getDate(),e,2)}function x(t,e){return o(t.getHours(),e,2)}function B(t,e){return o(t.getHours()%12||12,e,2)}function w(t,n){return o(1+e.day.count(e.year(t),t),n,3)}function m(t,e){return o(t.getMilliseconds(),e,3)}function Q(t,e){return o(t.getMonth()+1,e,2)}function v(t,e){return o(t.getMinutes(),e,2)}function j(t,e){return o(t.getSeconds(),e,2)}function L(t,n){return o(e.sunday.count(e.year(t),t),n,2)}function S(t){return t.getDay()}function Y(t,n){return o(e.monday.count(e.year(t),t),n,2)}function b(t,e){return o(t.getFullYear()%100,e,2)}function O(t,e){return o(t.getFullYear()%1e4,e,4)}function z(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+o(e/60|0,"0",2)+o(e%60,"0",2)}function U(t,e){return o(t.getUTCDate(),e,2)}function F(t,e){return o(t.getUTCHours(),e,2)}function k(t,e){return o(t.getUTCHours()%12||12,e,2)}function R(t,n){return o(1+e.utcDay.count(e.utcYear(t),t),n,3)}function G(t,e){return o(t.getUTCMilliseconds(),e,3)}function H(t,e){return o(t.getUTCMonth()+1,e,2)}function J(t,e){return o(t.getUTCMinutes(),e,2)}function P(t,e){return o(t.getUTCSeconds(),e,2)}function X(t,n){return o(e.utcSunday.count(e.utcYear(t),t),n,2)}function V(t){return t.getUTCDay()}function W(t,n){return o(e.utcMonday.count(e.utcYear(t),t),n,2)}function _(t,e){return o(t.getUTCFullYear()%100,e,2)}function Z(t,e){return o(t.getUTCFullYear()%1e4,e,4)}function K(){return"+0000"}function q(){return"%"}function $(t){return t.toISOString()}var tt={"-":"",_:" ",0:"0"},et=/^\s*\d+/,nt=/^%/,it=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,rt=A({dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),At=A({dateTime:"%A, %e de %B de %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],shortDays:["dg.","dl.","dt.","dc.","dj.","dv.","ds."],months:["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre"],shortMonths:["gen.","febr.","març","abr.","maig","juny","jul.","ag.","set.","oct.","nov.","des."]}),ot=A({dateTime:"%A, der %e. %B %Y, %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],shortDays:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],shortMonths:["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"]}),at=A({dateTime:"%A, der %e. %B %Y, %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],shortDays:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],shortMonths:["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"]}),ct=A({dateTime:"%a %b %e %X %Y",date:"%Y-%m-%d",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),st=A({dateTime:"%a %e %b %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),ut=A({dateTime:"%A, %e de %B de %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],shortDays:["dom","lun","mar","mié","jue","vie","sáb"],months:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],shortMonths:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"]}),gt=A({dateTime:"%A, %-d. %Bta %Y klo %X",date:"%-d.%-m.%Y",time:"%H:%M:%S",periods:["a.m.","p.m."],days:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"],shortDays:["Su","Ma","Ti","Ke","To","Pe","La"],months:["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu"],shortMonths:["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"]}),lt=A({dateTime:"%a %e %b %Y %X",date:"%Y-%m-%d",time:"%H:%M:%S",periods:["",""],days:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],shortDays:["dim","lun","mar","mer","jeu","ven","sam"],months:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],shortMonths:["jan","fév","mar","avr","mai","jui","jul","aoû","sep","oct","nov","déc"]}),Mt=A({dateTime:"%A, le %e %B %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],shortDays:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],months:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],shortMonths:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."]}),ht=A({dateTime:"%A, %e ב%B %Y %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת"],shortDays:["א׳","ב׳","ג׳","ד׳","ה׳","ו׳","ש׳"],months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],shortMonths:["ינו׳","פבר׳","מרץ","אפר׳","מאי","יוני","יולי","אוג׳","ספט׳","אוק׳","נוב׳","דצמ׳"]}),dt=A({dateTime:"%Y. %B %-e., %A %X",date:"%Y. %m. %d.",time:"%H:%M:%S",periods:["de.","du."],days:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],shortDays:["V","H","K","Sze","Cs","P","Szo"],months:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],shortMonths:["jan.","feb.","már.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec."]}),ft=A({dateTime:"%A %e %B %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],shortDays:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],shortMonths:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"]}),It=A({dateTime:"%Y %b %e %a %X",date:"%Y/%m/%d",time:"%H:%M:%S",periods:["AM","PM"],days:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],shortDays:["日","月","火","水","木","金","土"],months:["睦月","如月","弥生","卯月","皐月","水無月","文月","葉月","長月","神無月","霜月","師走"],shortMonths:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]}),Et=A({dateTime:"%Y/%m/%d %a %X",date:"%Y/%m/%d",time:"%H:%M:%S",periods:["오전","오후"],days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],shortDays:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],shortMonths:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"]}),Tt=A({dateTime:"%A, %e %B %Y г. %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["недела","понеделник","вторник","среда","четврток","петок","сабота"],shortDays:["нед","пон","вто","сре","чет","пет","саб"],months:["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември"],shortMonths:["јан","фев","мар","апр","мај","јун","јул","авг","сеп","окт","ное","дек"]}),Nt=A({dateTime:"%a %e %B %Y %T",date:"%d-%m-%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],shortDays:["zo","ma","di","wo","do","vr","za"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],shortMonths:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"]}),yt=A({dateTime:"%A, %e %B %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],shortDays:["Niedz.","Pon.","Wt.","Śr.","Czw.","Pt.","Sob."],months:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],shortMonths:["Stycz.","Luty","Marz.","Kwie.","Maj","Czerw.","Lipc.","Sierp.","Wrz.","Paźdz.","Listop.","Grudz."]}),pt=A({dateTime:"%A, %e de %B de %Y. %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],shortDays:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],shortMonths:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"]}),Ct=A({dateTime:"%A, %e %B %Y г. %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],shortDays:["вс","пн","вт","ср","чт","пт","сб"],months:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],shortMonths:["янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек"]}),Dt=A({dateTime:"%A den %d %B %Y %X",date:"%Y-%m-%d",time:"%H:%M:%S",periods:["fm","em"],days:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],shortDays:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],shortMonths:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"]}),xt=A({dateTime:"%a %b %e %X %Y",date:"%Y/%-m/%-d",time:"%H:%M:%S",periods:["上午","下午"],days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],shortDays:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],shortMonths:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]});$.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},$.toString=function(){return"%Y-%m-%dT%H:%M:%S.%LZ"};var Bt=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?$:rt.utcFormat("%Y-%m-%dT%H:%M:%S.%LZ"),wt=rt.format,mt=rt.utcFormat;t.version="0.2.1",t.format=wt,t.utcFormat=mt,t.locale=A,t.localeCaEs=At,t.localeDeCh=ot,t.localeDeDe=at,t.localeEnCa=ct,t.localeEnGb=st,t.localeEnUs=rt,t.localeEsEs=ut,t.localeFiFi=gt,t.localeFrCa=lt,t.localeFrFr=Mt,t.localeHeIl=ht,t.localeHuHu=dt,t.localeItIt=ft,t.localeJaJp=It,t.localeKoKr=Et,t.localeMkMk=Tt,t.localeNlNl=Nt,t.localePlPl=yt,t.localePtBr=pt,t.localeRuRu=Ct,t.localeSvSe=Dt,t.localeZhCn=xt,t.isoFormat=Bt})},function(t,e,n){!function(t,n){n(e)}(0,function(t){"use strict";function e(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,i=t.slice(0,n);return[i.length>1?i[0]+i.slice(2):i,+t.slice(n+1)]}function n(t){return t=e(Math.abs(t)),t?t[1]:NaN}function i(t,e){return function(n,i){for(var r=n.length,A=[],o=0,a=t[0],c=0;r>0&&a>0&&(c+a+1>i&&(a=Math.max(1,i-c)),A.push(n.substring(r-=a,r+a)),!((c+=a+1)>i));)a=t[o=(o+1)%t.length];return A.reverse().join(e)}}function r(t,n){var i=e(t,n);if(!i)return t+"";var r=i[0],A=i[1],o=A-(h=3*Math.max(-8,Math.min(8,Math.floor(A/3))))+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+e(t,Math.max(0,n+o-1))[0]}function A(t,n){var i=e(t,n);if(!i)return t+"";var r=i[0],A=i[1];return A<0?"0."+new Array(-A).join("0")+r:r.length>A+1?r.slice(0,A+1)+"."+r.slice(A+1):r+new Array(A-r.length+2).join("0")}function o(t,e){t=t.toPrecision(e);t:for(var n,i=t.length,r=1,A=-1;r<i;++r)switch(t[r]){case".":A=n=r;break;case"0":0===A&&(A=r),n=r;break;case"e":break t;default:A>0&&(A=0)}return A>0?t.slice(0,A)+t.slice(n+1):t}function a(t){return new c(t)}function c(t){if(!(e=f.exec(t)))throw new Error("invalid format: "+t);var e,n=e[1]||" ",i=e[2]||">",r=e[3]||"-",A=e[4]||"",o=!!e[5],a=e[6]&&+e[6],c=!!e[7],s=e[8]&&+e[8].slice(1),u=e[9]||"";"n"===u?(c=!0,u="g"):d[u]||(u=""),(o||"0"===n&&"="===i)&&(o=!0,n="0",i="="),this.fill=n,this.align=i,this.sign=r,this.symbol=A,this.zero=o,this.width=a,this.comma=c,this.precision=s,this.type=u}function s(t){return t}function u(t){function e(t){t=a(t);var e=t.fill,n=t.align,i=t.sign,r=t.symbol,s=t.zero,u=t.width,g=t.comma,l=t.precision,M=t.type,f="$"===r?o[0]:"#"===r&&/[boxX]/.test(M)?"0"+M.toLowerCase():"",E="$"===r?o[1]:/[%p]/.test(M)?"%":"",T=d[M],N=!M||/[defgprs%]/.test(M);return l=null==l?M?6:12:/[gprs]/.test(M)?Math.max(1,Math.min(21,l)):Math.max(0,Math.min(20,l)),function(t){var r=f,o=E;if("c"===M)o=T(t)+o,t="";else{t=+t;var a=(t<0||1/t<0)&&(t*=-1,!0);if(t=T(t,l),a){var d,y=-1,p=t.length;for(a=!1;++y<p;)if(48<(d=t.charCodeAt(y))&&d<58||"x"===M&&96<d&&d<103||"X"===M&&64<d&&d<71){a=!0;break}}if(r=(a?"("===i?i:"-":"-"===i||"("===i?"":i)+r,o=o+("s"===M?I[8+h/3]:"")+(a&&"("===i?")":""),N)for(var d,y=-1,p=t.length;++y<p;)if(48>(d=t.charCodeAt(y))||d>57){o=(46===d?c+t.slice(y+1):t.slice(y))+o,t=t.slice(0,y);break}}g&&!s&&(t=A(t,1/0));var C=r.length+t.length+o.length,D=C<u?new Array(u-C+1).join(e):"";switch(g&&s&&(t=A(D+t,D.length?u-o.length:1/0),D=""),n){case"<":return r+t+o+D;case"=":return r+D+t+o;case"^":return D.slice(0,C=D.length>>1)+r+t+o+D.slice(C)}return D+r+t+o}}function r(t,i){var r=e((t=a(t),t.type="f",t)),A=3*Math.max(-8,Math.min(8,Math.floor(n(i)/3))),o=Math.pow(10,-A),c=I[8+A/3];return function(t){return r(o*t)+c}}var A=t.grouping&&t.thousands?i(t.grouping,t.thousands):s,o=t.currency,c=t.decimal;return{format:e,formatPrefix:r}}function g(t){return Math.max(0,-n(Math.abs(t)))}function l(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(n(e)/3)))-n(Math.abs(t)))}function M(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,n(e)-n(t))+1}var h,d={"":o,"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return A(100*t,e)},r:A,s:r,X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},f=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;c.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+this.type};var I=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],E=u({decimal:".",thousands:",",grouping:[3],currency:["$",""]}),T=u({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),N=u({decimal:",",thousands:" ",grouping:[3],currency:[""," Kč"]}),y=u({decimal:",",thousands:"'",grouping:[3],currency:[""," CHF"]}),p=u({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),C=u({decimal:".",thousands:",",grouping:[3],currency:["$",""]}),D=u({decimal:".",thousands:",",grouping:[3],currency:["£",""]}),x=u({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),B=u({decimal:",",thousands:" ",grouping:[3],currency:[""," €"]}),w=u({decimal:",",thousands:" ",grouping:[3],currency:["","$"]}),m=u({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),Q=u({decimal:".",thousands:",",grouping:[3],currency:["₪",""]}),v=u({decimal:",",thousands:" ",grouping:[3],currency:[""," Ft"]}),j=u({decimal:",",thousands:".",grouping:[3],currency:["€",""]}),L=u({decimal:".",thousands:",",grouping:[3],currency:["","円"]}),S=u({decimal:".",thousands:",",grouping:[3],currency:["₩",""]}),Y=u({decimal:",",thousands:".",grouping:[3],currency:[""," ден."]}),b=u({decimal:",",thousands:".",grouping:[3],currency:["€ ",""]}),O=u({decimal:",",thousands:".",grouping:[3],currency:["","zł"]}),z=u({decimal:",",thousands:".",grouping:[3],currency:["R$",""]}),U=u({decimal:",",thousands:" ",grouping:[3],currency:[""," руб."]}),F=u({decimal:",",thousands:" ",grouping:[3],currency:["","SEK"]}),k=u({decimal:".",thousands:",",grouping:[3],currency:["¥",""]}),R=E.format,G=E.formatPrefix;t.version="0.4.2",t.format=R,t.formatPrefix=G,t.locale=u,t.localeCaEs=T,t.localeCsCz=N,t.localeDeCh=y,t.localeDeDe=p,t.localeEnCa=C,t.localeEnGb=D,t.localeEnUs=E,t.localeEsEs=x,t.localeFiFi=B,t.localeFrCa=w,t.localeFrFr=m,t.localeHeIl=Q,t.localeHuHu=v,t.localeItIt=j,t.localeJaJp=L,t.localeKoKr=S,t.localeMkMk=Y,t.localeNlNl=b,t.localePlPl=O,t.localePtBr=z,t.localeRuRu=U,t.localeSvSe=F,t.localeZhCn=k,t.formatSpecifier=a,t.precisionFixed=g,t.precisionPrefix=l,t.precisionRound=M})},function(t,e,n){function i(t){return function(e){var n=o.extend({init:"",add:"",rem:"",idx:0},t);return n.out=e||t.name,n}}function r(t,e){function n(t,i){function r(e){t[e]||n(t,t[e]=a[e]())}return i.req&&i.req.forEach(r),e&&i.str&&i.str.forEach(r),t}var i=t.reduce(n,t.reduce(function(t,e){return t[e.name]=e,t},{}));return o.vals(i).sort(function(t,e){return t.idx-e.idx})}function A(t,e,i,A){var a=r(t,e),c="this.cell = cell; this.tuple = t; this.valid = 0; this.missing = 0;",s="if (v==null) this.missing++; if (!this.isValid(v)) return; ++this.valid;",u="if (v==null) this.missing--; if (!this.isValid(v)) return; --this.valid;",g="var t = this.tuple; var cell = this.cell;";return a.forEach(function(t){t.idx<0?(c=t.init+c,s=t.add+s,u=t.rem+u):(c+=t.init,s+=t.add,u+=t.rem)}),t.slice().sort(function(t,e){return t.idx-e.idx}).forEach(function(t){g+="this.assign(t,'"+t.out+"',"+t.set+");"}),g+="return t;",c=Function("cell","t",c),c.prototype.assign=A,c.prototype.add=Function("t","var v = this.get(t);"+s),c.prototype.rem=Function("t","var v = this.get(t);"+u),c.prototype.set=Function(g),c.prototype.get=i,c.prototype.distinct=n(108).count.distinct,c.prototype.isValid=o.isValid,c.fields=t.map(o.$("out")),c}var o=n(16),a={values:i({name:"values",init:"cell.collect = true;",set:"cell.data.values()",idx:-1}),count:i({name:"count",set:"cell.num"}),missing:i({name:"missing",set:"this.missing"}),valid:i({name:"valid",set:"this.valid"}),sum:i({name:"sum",init:"this.sum = 0;",add:"this.sum += v;",rem:"this.sum -= v;",set:"this.sum"}),mean:i({name:"mean",init:"this.mean = 0;",add:"var d = v - this.mean; this.mean += d / this.valid;",rem:"var d = v - this.mean; this.mean -= this.valid ? d / this.valid : this.mean;",set:"this.mean"}),average:i({name:"average",set:"this.mean",req:["mean"],idx:1}),variance:i({name:"variance",init:"this.dev = 0;",add:"this.dev += d * (v - this.mean);",rem:"this.dev -= d * (v - this.mean);",set:"this.valid > 1 ? this.dev / (this.valid-1) : 0",req:["mean"],idx:1}),variancep:i({name:"variancep",set:"this.valid > 1 ? this.dev / this.valid : 0",req:["variance"],idx:2}),stdev:i({name:"stdev",set:"this.valid > 1 ? Math.sqrt(this.dev / (this.valid-1)) : 0",req:["variance"],idx:2}),stdevp:i({name:"stdevp",set:"this.valid > 1 ? Math.sqrt(this.dev / this.valid) : 0",req:["variance"],idx:2}),stderr:i({name:"stderr",set:"this.valid > 1 ? Math.sqrt(this.dev / (this.valid * (this.valid-1))) : 0",req:["variance"],idx:2}),median:i({name:"median",set:"cell.data.q2(this.get)",req:["values"],idx:3}),q1:i({name:"q1",set:"cell.data.q1(this.get)",req:["values"],idx:3}),q3:i({name:"q3",set:"cell.data.q3(this.get)",req:["values"],idx:3}),distinct:i({name:"distinct",set:"this.distinct(cell.data.values(), this.get)",req:["values"],idx:3}),argmin:i({name:"argmin",add:"if (v < this.min) this.argmin = t;",rem:"if (v <= this.min) this.argmin = null;",set:"this.argmin = this.argmin || cell.data.argmin(this.get)",req:["min"],str:["values"],idx:3}),argmax:i({name:"argmax",add:"if (v > this.max) this.argmax = t;",rem:"if (v >= this.max) this.argmax = null;",set:"this.argmax = this.argmax || cell.data.argmax(this.get)",req:["max"],str:["values"],idx:3}),min:i({name:"min",init:"this.min = +Infinity;",add:"if (v < this.min) this.min = v;",rem:"if (v <= this.min) this.min = NaN;",set:"this.min = (isNaN(this.min) ? cell.data.min(this.get) : this.min)",str:["values"],idx:4}),max:i({name:"max",init:"this.max = -Infinity;",add:"if (v > this.max) this.max = v;",rem:"if (v >= this.max) this.max = NaN;",set:"this.max = (isNaN(this.max) ? cell.data.max(this.get) : this.max)",str:["values"],idx:4}),modeskew:i({name:"modeskew",set:"this.dev===0 ? 0 : (this.mean - cell.data.q2(this.get)) / Math.sqrt(this.dev/(this.valid-1))",req:["mean","variance","median"],idx:5})};a.create=A,t.exports=a},function(t,e,n){function i(t){this._add=[],this._rem=[],this._key=t||null,this._last=null}var r=n(16),A=n(108),o="__dl_rem__",a=i.prototype;a.add=function(t){this._add.push(t)},a.rem=function(t){this._rem.push(t)},a.values=function(){if(this._get=null,0===this._rem.length)return this._add;var t,e,n,i,a=this._add,c=this._rem,s=this._key,u=Array(a.length-c.length);if(r.isObject(c[0]))if(s)for(i=r.toMap(c,s),t=0,e=0,n=a.length;t<n;++t)i.hasOwnProperty(s(a[t]))||(u[e++]=a[t]);else{for(t=0,n=c.length;t<n;++t)c[t][o]=1;for(t=0,e=0,n=a.length;t<n;++t)a[t][o]||(u[e++]=a[t]);for(t=0,n=c.length;t<n;++t)delete c[t][o]}else for(i=A.count.map(c),t=0,e=0,n=a.length;t<n;++t)i[a[t]]>0?i[a[t]]-=1:u[e++]=a[t];return this._rem=[],this._add=u},a.extent=function(t){if(this._get!==t||!this._ext){var e=this.values(),n=A.extent.index(e,t);this._ext=[e[n[0]],e[n[1]]],this._get=t}return this._ext},a.argmin=function(t){return this.extent(t)[0]},a.argmax=function(t){return this.extent(t)[1]},a.min=function(t){var e=this.extent(t)[0];return null!=e?t(e):1/0},a.max=function(t){var e=this.extent(t)[1];return null!=e?t(e):-1/0},a.quartile=function(t){return this._get===t&&this._q||(this._q=A.quartile(this.values(),t),this._get=t),this._q},a.q1=function(t){return this.quartile(t)[0]},a.q2=function(t){return this.quartile(t)[1]},a.q3=function(t){return this.quartile(t)[2]},t.exports=i},function(t,e,n){var i=n(16),r=n(335);t.exports=function(){var t=[].reduce.call(arguments,function(t,e){return t.concat(i.array(e))},[]);return(new r).groupby(t).summarize({"*":"values"})}},function(t,e,n){var i=n(16),r=n(224),A=r.utc,o=t.exports;o.$year=i.$func("year",r.year.unit),o.$month=i.$func("month",r.months.unit),o.$date=i.$func("date",r.dates.unit),o.$day=i.$func("day",r.weekdays.unit),o.$hour=i.$func("hour",r.hours.unit),o.$minute=i.$func("minute",r.minutes.unit),o.$second=i.$func("second",r.seconds.unit),o.$utcYear=i.$func("utcYear",A.year.unit),o.$utcMonth=i.$func("utcMonth",A.months.unit),o.$utcDate=i.$func("utcDate",A.dates.unit),o.$utcDay=i.$func("utcDay",A.weekdays.unit),o.$utcHour=i.$func("utcHour",A.hours.unit),o.$utcMinute=i.$func("utcMinute",A.minutes.unit),o.$utcSecond=i.$func("utcSecond",A.seconds.unit)},function(t,e,n){var i=n(16),r=n(332),A=n(333);t.exports=i.keys(A.formats).reduce(function(t,e){return t[e]=function(t,n,o){i.isString(t)&&(t={url:t}),2===arguments.length&&i.isFunction(n)&&(o=n,n=void 0),n=i.extend({parse:"auto"},n),n.type=e;var a=r(t,o?function(t,e){if(t)return void o(t,null);try{e=A(e,n),o(null,e)}catch(t){o(t,null)}}:void 0);if(!o)return A(a,n)},t},{})},function(t,e,n){function i(t,e){e=a.extend({separator:" ",minwidth:8,maxwidth:15},e);var n=e.fields||a.keys(t[0]),i=c.all(t);if(e.start||e.limit){var r=e.start||0,A=e.limit?r+e.limit:t.length;t=t.slice(r,A)}var o=n.map(function(n){var r=g[i[n]]||"",A=u("{{"+n+r+"}}"),o=s.max(t,function(t){return A(t).length});return o=Math.max(Math.min(n.length,e.minwidth),o),e.maxwidth>0?Math.min(o,e.maxwidth):o}),M=n.map(function(t,e){return a.truncate(a.pad(t,o[e],"center"),o[e])}).join(e.separator),h=u(n.map(function(t,e){return"{{"+t+(g[i[t]]||"")+"|pad:"+o[e]+","+(l[i[t]]||"right")+"|truncate:"+o[e]+"}}"}).join(e.separator));return M+"\n"+t.map(h).join("\n")}function r(t){t=t?t.__summary__?t:s.summary(t):this;var e,n,i=[];for(e=0,n=t.length;e<n;++e)i.push("-- "+t[e].field+" --"),"string"===t[e].type||t[e].distinct<10?i.push(o(t[e])):i.push(A(t[e])),i.push("");return i.join("\n")}function A(t){return["valid: "+t.valid,"missing: "+t.missing,"distinct: "+t.distinct,"min: "+t.min,"max: "+t.max,"median: "+t.median,"mean: "+t.mean,"stdev: "+t.stdev,"modeskew: "+t.modeskew].join("\n")}function o(t){var e=["valid: "+t.valid,"missing: "+t.missing,"distinct: "+t.distinct,"top values: "],n=t.unique,i=a.keys(n).sort(function(t,e){return n[e]-n[t]}).slice(0,6).map(function(t){return" '"+t+"' ("+n[t]+")"});return e.concat(i).join("\n")}var a=n(16),c=n(107),s=n(108),u=n(338);t.exports={table:i,summary:r};var g={date:'|time:"%m/%d/%Y %H:%M:%S"',number:'|number:".4f"',integer:'|number:"d"'},l={number:"left",integer:"left"}},function(t,e,n){/*! lineupjs - v1.1.1 - 2017
+* https://github.com/Caleydo/lineupjs
+* Copyright (c) 2017 Caleydo Team; Licensed BSD-3-Clause*/
+!function(e,i){t.exports=i(n(20))}(0,function(t){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=78)}([function(e,n){e.exports=t},function(t,e,n){"use strict";function i(t,e,n){void 0===e&&(e=100),void 0===n&&(n=this);var i=-1;return function(){for(var r=[],A=0;A<arguments.length;A++)r[A]=arguments[A];i>=0&&(clearTimeout(i),i=-1),r.unshift(null===n?this:n),i=setTimeout(t.bind.apply(t,r),e)}}function r(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var n=null,i=0,A=t;i<A.length;i++){var o=A[i],a=Object.keys(o);if(null!==n)for(var c=0,s=a;c<s.length;c++){var u=s[c],g=o[u];Object.prototype.toString.call(g)===y&&Object.getPrototypeOf(g)===Object.prototype?(void 0===n[u]&&(n[u]={}),n[u]=r(n[u],g)):Array.isArray(g)?(void 0===n[u]&&(n[u]=[]),n[u]=g.concat(n[u])):n[u]=g}else n=o}return n}function A(t){var e=t.getBoundingClientRect();return{left:e.left+window.pageXOffset,top:e.top+window.pageYOffset,width:e.width,height:e.height}}function o(t,e){var n=t.dataTransfer.types;return"function"==typeof n.indexOf?e.some(function(t){return n.indexOf(t)>=0}):"function"==typeof n.includes?e.some(function(t){return n.includes(t)}):"function"==typeof n.contains&&e.some(function(t){return n.contains(t)})}function a(t){var e=t.dataTransfer;return t.ctrlKey&&null!=e.effectAllowed.match(/copy/gi)||null==e.effectAllowed.match(/move/gi)}function c(t){var e=t.dataTransfer;a(t)?e.dropEffect="copy":e.dropEffect="move"}function s(t,e){return function(i){i.on("dragenter",function(){if(o(E.event,t))return n.i(E.select)(this).classed("drag_over",!0),!1;n.i(E.select)(this).classed("drag_over",!1)}).on("dragover",function(){var e=E.event;if(o(e,t))return e.preventDefault(),c(e),n.i(E.select)(this).classed("drag_over",!0),!1}).on("dragleave",function(){n.i(E.select)(this).classed("drag_over",!1)}).on("drop",function(i){var r=E.event;if(r.preventDefault(),n.i(E.select)(this).classed("drag_over",!1),o(r,t)){var A={};return t.forEach(function(t){var e=r.dataTransfer.getData(t);""!==e&&(A[t]=e)}),e(A,i,a(r))}})}}function u(t,e,n){return void 0===e&&(e={}),void 0===n&&(n={}),Object.keys(e).forEach(function(n){return t.setAttribute(n,String(e[n]))}),Object.keys(n).forEach(function(e){return t.style.setProperty(e,n[e])}),t}function g(t,e,n){Array.prototype.slice.call(t.querySelectorAll(e)).forEach(n)}function l(t){return t.font="10pt FontAwesome",t.measureText("").width}function M(t,e){var n=t.font,i=l(t);t.font=e;var r="abcdefghijklmnopqrstuvwxyz",A=r+r.toUpperCase()+"0123456789",o={maxLetterWidth:t.measureText("M").width,avgLetterWidth:t.measureText(A).width/A.length,ellipsisWidth:t.measureText(C).width,spinnerWidth:i};return t.font=n,o}function h(t,e,n,i,r,A){var o=function(e){return t.fillText(e,n,i,r)};if(A.maxLetterWidth*e.length<=r||r<=A.ellipsisWidth||0===e.length)return o(e);if(t.measureText(e).width<=r)return o(e);for(var a=r-A.ellipsisWidth,c=0,s=e.length-1,u=Math.min(s,Math.floor(r/A.avgLetterWidth));c<s;){var g=a-t.measureText(e.substring(0,u+1)).width;if(g<0)s=u-1;else{if(!(g>0))break;c=u+1}u=Math.floor((s+c)/2)}return o(e.substring(0,c+1)+C)}function d(t,e,n){var i=document.querySelector("div.lu-overlay#O"+t);return i||(i=document.createElement("div"),i.classList.add("lu-overlay"),i.id="O"+t,document.querySelector(".lu-body").appendChild(i)),i.style.display="block",i.style.left=e+"px",i.style.top=n+"px",i}function f(){g(document.querySelector("div.lu-body"),"div.lu-overlay",function(t){return t.style.display=null})}function I(t,e,n){function i(e,n){var i=t.childElementCount<=n?null:t.childNodes[n];return null!=i&&i.getAttribute("data-column-id")===e.column.id&&i.getAttribute("data-renderer")===e.column.getRendererType()}if(void 0===n&&(n="svg"),0===t.childElementCount)return t.innerHTML=e.map(function(t){return t.renderer.template}).join(""),void e.forEach(function(e,n){var i=t.childNodes[n];i.setAttribute("data-column-id",e.column.id),i.setAttribute("data-renderer",e.column.getRendererType())});if(!e.every(i)){var r=new Set(e.map(function(t){return t.column.id+"@"+t.column.getRendererType()}));Array.prototype.slice.call(t.childNodes).forEach(function(e){var n=e.getAttribute("data-column-id"),i=e.getAttribute("data-renderer"),A=n+"@"+i;r.has(A)||t.removeChild(e)});var A="svg"===n?document.createElementNS("http://www.w3.org/2000/svg","g"):document.createElement("div");e.forEach(function(e){var n=t.querySelector('[data-column-id="'+e.column.id+'"]');n||(A.innerHTML=e.renderer.template,n=A.childNodes[0],n.setAttribute("data-column-id",e.column.id),n.setAttribute("data-renderer",e.column.getRendererType())),t.appendChild(n)})}}var E=n(0);n.n(E);e.d=i,n.d(e,"c",function(){return N}),e.a=r,e.m=A,n.d(e,"b",function(){return p}),e.l=s,e.h=u,e.j=g,e.f=M,e.g=h,e.k=d,e.e=f,e.i=I;var T=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},N=function(){function t(){this.listeners=E.dispatch.apply(void 0,this.createEventList());var t=this;this.forwarder=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];t.fire.apply(t,[this.type].concat(e))}}return t.prototype.on=function(t,e){var n=this;return arguments.length>1?(Array.isArray(t)?t.forEach(function(t){return n.listeners.on(t,e)}):this.listeners.on(t,e),this):this.listeners.on(t)},t.prototype.createEventList=function(){return[]},t.prototype.fire=function(t){for(var e=this,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];var r=function(t){var i={source:e,type:t,args:n};e.listeners[t].apply(i,n)};Array.isArray(t)?t.forEach(r.bind(this)):r(t)},t.prototype.forward=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];t.on(e,this.forwarder)},t.prototype.unforward=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];t.on(e,null)},t}(),y="[object Object]",p=function(t){function e(e,i,o){void 0===o&&(o={});var a=t.call(this)||this;return a.container=e,a.content=i,a.options={topShift:function(){return 0},backupRows:5,rowHeight:10},a.prevScrollTop=0,a.shift=0,r(a.options,o),n.i(E.select)(e).on("scroll.scroller",function(){return a.onScroll()}),a.prevScrollTop=e.scrollTop,a.shift=A(i).top-A(e).top,a}return T(e,t),e.prototype.createEventList=function(){return t.prototype.createEventList.call(this).concat([e.EVENT_REDRAW,e.EVENT_SCROLL])},e.prototype.scrollIntoView=function(t,e,n,i){var r=this.selectImpl(t,e,i,0);if(!(r.from<=n&&n<=r.to)){var A=i(n)-10,o=this.container.scrollHeight-this.container.clientHeight;this.container.scrollTop=Math.max(0,Math.min(o,A))}},e.prototype.select=function(t,e,n){return this.selectImpl(t,e,n,this.options.backupRows)},e.prototype.selectImpl=function(t,e,n,i){var r,A=this.container.scrollTop-this.shift-this.options.topShift(),o=A+this.container.clientHeight,a=0;if(A>0){for(a=Math.round(A/this.options.rowHeight);a>=t&&n(a+1)>A;)a--;a-=i}for(r=Math.round(o/this.options.rowHeight);r<=e&&n(r-1)<o;)r++;return r+=i,{from:Math.max(a,t),to:Math.min(r,e)}},e.prototype.onScroll=function(){var t=this.container.scrollTop,n=this.container.scrollLeft;this.fire(e.EVENT_SCROLL,t,n),Math.abs(this.prevScrollTop-t)>=this.options.rowHeight*this.options.backupRows&&(this.prevScrollTop=t,this.fire(e.EVENT_REDRAW))},e.prototype.destroy=function(){n.i(E.select)(this.container).on("scroll.scroller",null)},e}(N);p.EVENT_SCROLL="scroll",p.EVENT_REDRAW="redraw";var C="…"},function(t,e,n){"use strict";function i(t){return t.replace(/[\s!#$%&'()*+,.\/:;<=>?@\[\\\]\^`{|}~]/g,"_")}var r=n(1);e.b=i;var A=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=function(t){function e(n,r){var A=t.call(this)||this;return A.desc=r,A.width=100,A.parent=null,A.compressed=!1,A.uid=i(n),A.rendererInfo={rendererType:A.desc.rendererType||A.desc.type,rendererList:[]},A.cssClass=r.cssClass||"",A.metadata={label:r.label||A.id,description:r.description||"",color:r.color||(""!==A.cssClass?null:e.DEFAULT_COLOR)},A}return A(e,t),Object.defineProperty(e.prototype,"id",{get:function(){return this.uid},enumerable:!0,configurable:!0}),e.prototype.assignNewId=function(t){this.uid=i(t())},Object.defineProperty(e.prototype,"label",{get:function(){return this.metadata.label},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"description",{get:function(){return this.metadata.description},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"color",{get:function(){return this.metadata.color},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"headerCssClass",{get:function(){return this.desc.type},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fqid",{get:function(){return this.parent?this.parent.fqid+"_"+this.id:this.id},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fqpath",{get:function(){return this.parent?this.parent.fqpath+"@"+this.parent.indexOf(this):""},enumerable:!0,configurable:!0}),e.prototype.createEventList=function(){return t.prototype.createEventList.call(this).concat([e.EVENT_WIDTH_CHANGED,e.EVENT_FILTER_CHANGED,e.EVENT_LABEL_CHANGED,e.EVENT_METADATA_CHANGED,e.EVENT_COMPRESS_CHANGED,e.EVENT_ADD_COLUMN,e.EVENT_REMOVE_COLUMN,e.EVENT_RENDERER_TYPE_CHANGED,e.EVENT_SORTMETHOD_CHANGED,e.EVENT_DIRTY,e.EVENT_DIRTY_HEADER,e.EVENT_DIRTY_VALUES])},e.prototype.getWidth=function(){return this.width},e.prototype.isHidden=function(){return this.width<=0},e.prototype.hide=function(){return this.setWidth(0)},e.prototype.setCompressed=function(t){this.compressed!==t&&this.fire([e.EVENT_COMPRESS_CHANGED,e.EVENT_DIRTY_HEADER,e.EVENT_DIRTY_VALUES,e.EVENT_DIRTY],this.compressed,this.compressed=t)},e.prototype.getCompressed=function(){return this.compressed},e.prototype.flatten=function(t,n,i,r){void 0===i&&(i=0),void 0===r&&(r=0);var A=this.compressed?e.COMPRESSED_WIDTH:this.getWidth();return t.push({col:this,offset:n,width:A}),A},e.prototype.setWidth=function(t){this.width!==t&&this.fire([e.EVENT_WIDTH_CHANGED,e.EVENT_DIRTY_HEADER,e.EVENT_DIRTY_VALUES,e.EVENT_DIRTY],this.width,this.width=t)},e.prototype.setWidthImpl=function(t){this.width=t},e.prototype.setMetaData=function(t){if(t.label!==this.label||this.color!==t.color||this.description!==t.description){var n=this.color===t.color?[e.EVENT_LABEL_CHANGED,e.EVENT_METADATA_CHANGED,e.EVENT_DIRTY_HEADER,e.EVENT_DIRTY]:[e.EVENT_LABEL_CHANGED,e.EVENT_METADATA_CHANGED,e.EVENT_DIRTY_HEADER,e.EVENT_DIRTY_VALUES,e.EVENT_DIRTY],i=this.getMetaData();this.metadata={label:t.label,color:t.color,description:t.description},this.fire(n,i,this.getMetaData())}},e.prototype.getMetaData=function(){return{label:this.label,color:this.color,description:this.description}},e.prototype.sortByMe=function(t){void 0===t&&(t=!1);var e=this.findMyRanker();return!!e&&e.sortBy(this,t)},e.prototype.toggleMySorting=function(){var t=this.findMyRanker();return!!t&&t.toggleSorting(this)},e.prototype.removeMe=function(){return!!this.parent&&this.parent.remove(this)},e.prototype.insertAfterMe=function(t){return!!this.parent&&null!=this.parent.insertAfter(t,this)},e.prototype.findMyRanker=function(){return this.parent?this.parent.findMyRanker():null},e.prototype.dump=function(t){var n={id:this.id,desc:t(this.desc),width:this.width,compressed:this.compressed};return this.label!==(this.desc.label||this.id)&&(n.label=this.label),this.color!==(this.desc.color||e.DEFAULT_COLOR)&&this.color&&(n.color=this.color),this.getRendererType()!==this.desc.type&&(n.rendererType=this.getRendererType()),n},e.prototype.restore=function(t,e){this.width=t.width||this.width,this.metadata={label:t.label||this.label,color:t.color||this.color,description:this.description},this.compressed=!0===t.compressed,t.rendererType&&(this.rendererInfo.rendererType=t.rendererType)},e.prototype.getLabel=function(t,e){return""+this.getValue(t,e)},e.prototype.getValue=function(t,e){return""},e.prototype.compare=function(t,e,n,i){return 0},e.prototype.isFiltered=function(){return!1},e.prototype.filter=function(t,e){return null!==t},e.prototype.getRendererType=function(){return this.rendererInfo.rendererType},e.prototype.setRendererType=function(t){t!==this.rendererInfo.rendererType&&this.fire([e.EVENT_RENDERER_TYPE_CHANGED,e.EVENT_DIRTY_VALUES,e.EVENT_DIRTY],this.rendererInfo.rendererType,this.rendererInfo.rendererType=t)},e.prototype.getRendererList=function(){return this.rendererInfo.rendererList},e.prototype.setRendererList=function(t){this.rendererInfo.rendererList=t},e.prototype.toSortingDesc=function(t){return t(this.desc)},e}(r.c);e.a=o,o.DEFAULT_COLOR="#C1C1C1",o.FLAT_ALL_COLUMNS=-1,o.COMPRESSED_WIDTH=16,o.EVENT_WIDTH_CHANGED="widthChanged",o.EVENT_FILTER_CHANGED="filterChanged",o.EVENT_LABEL_CHANGED="labelChanged",o.EVENT_METADATA_CHANGED="metaDataChanged",o.EVENT_COMPRESS_CHANGED="compressChanged",o.EVENT_ADD_COLUMN="addColumn",o.EVENT_REMOVE_COLUMN="removeColumn",o.EVENT_DIRTY="dirty",o.EVENT_DIRTY_HEADER="dirtyHeader",o.EVENT_DIRTY_VALUES="dirtyValues",o.EVENT_RENDERER_TYPE_CHANGED="rendererTypeChanged",o.EVENT_SORTMETHOD_CHANGED="sortMethodChanged"},function(t,e,n){"use strict";var i=n(2),r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},A=function(t){function e(e,n){var i=t.call(this,e,n)||this;return i.accessor=n.accessor||function(){return null},i.loaded=!0!==n.lazyLoaded,i}return r(e,t),e.prototype.getLabel=function(t,e){return this.isLoaded()?""+this.getValue(t,e):""},e.prototype.getRaw=function(t,e){return this.isLoaded()?this.accessor(t,e,this.id,this.desc,this.findMyRanker()):null},e.prototype.getValue=function(t,e){return this.getRaw(t,e)},e.prototype.isLoaded=function(){return this.loaded},e.prototype.setLoaded=function(t){this.loaded!==t&&this.fire([i.a.EVENT_DIRTY_HEADER,i.a.EVENT_DIRTY_VALUES,i.a.EVENT_DIRTY],this.loaded,this.loaded=t)},e.prototype.getRendererType=function(){return this.isLoaded()?t.prototype.getRendererType.call(this):e.RENDERER_LOADING},e}(i.a);e.a=A,A.RENDERER_LOADING="loading"},function(t,e,n){"use strict";var i=n(1),r=n(0),A=(n.n(r),function(){function t(t,e){this.attachment=t,this.title=e}return t.prototype.sortByName=function(t){return function(e,n){var i=e[t],r=n[t];return i.toLowerCase()<r.toLowerCase()?-1:i.toLowerCase()>r.toLowerCase()?1:0}},t.prototype.makePopup=function(t){function e(){o.style({left:this.parentElement.offsetLeft+r.event.dx+"px",top:this.parentElement.offsetTop+r.event.dy+"px"})}var A=n.i(i.m)(this.attachment.node()),o=n.i(r.select)("body").append("div").attr({class:"lu-popup2"}).style({left:A.left+"px",top:A.top+"px"}).html(this.dialogForm(t));o.select("span.lu-popup-title").call(r.behavior.drag().on("drag",e)),o.on("keydown",function(){27===r.event.which&&o.remove()});var a=o.select("input[autofocus]").node();return a&&a.focus(),o},t.prototype.makeSortPopup=function(t){var e=n.i(i.m)(this.attachment.node());return n.i(r.select)("body").append("div").attr({class:"lu-popup2"}).style({left:e.left+"px",top:e.top+"px"}).html(this.sortDialogForm(t))},t.prototype.dialogForm=function(t,e){return void 0===e&&(e=!0),'<span style="font-weight: bold" class="lu-popup-title">'+this.title+'</span>\n <form onsubmit="return false">\n '+t+"\n "+(e?'<button type = "submit" class="ok fa fa-check" title="ok"></button><button type = "reset" class="cancel fa fa-times" title="cancel"></button><button type = "button" class="reset fa fa-undo" title="reset"></button></form>':"")+"\n </form>"},t.prototype.sortDialogForm=function(t){return this.dialogForm(t,!1)},t.prototype.hidePopupOnClickOutside=function(t,e){n.i(r.select)("body").on("click",function(){var i=r.event.target;e.filter(function(){return this===i}).empty()&&(t.remove(),n.i(r.select)(this).on("click",null))})},t}());e.a=A},function(t,e,n){"use strict";function i(t){return t instanceof g.a&&"function"==typeof t.getNumber||!(t instanceof g.a)&&null!=t.type.match(/(number|stack|ordinal)/)}function r(t){return void 0===t||null==t||isNaN(t)||""===t||"NA"===t||"string"==typeof t&&"na"===t.toLowerCase()}function A(t,e){return isNaN(t)?isNaN(e)?0:1:isNaN(e)?-1:t-e}function o(t){switch(void 0===t&&(t="linear"),t){case"log":return u.scale.log().clamp(!0);case"sqrt":return u.scale.sqrt().clamp(!0);case"pow1.1":return u.scale.pow().exponent(1.1).clamp(!0);case"pow2":return u.scale.pow().exponent(2).clamp(!0);case"pow3":return u.scale.pow().exponent(3).clamp(!0);default:return u.scale.linear().clamp(!0)}}function a(t,e){return t.length===e.length&&t.every(function(t,n){return t===e[n]})}function c(t,e){return"log"===e&&0===t[0]&&(t[0]=1e-7),t}function s(t){if("script"===t.type){var e=new d;return e.restore(t),e}var n=new h;return n.restore(t),n}var u=n(0),g=(n.n(u),n(2)),l=n(3);e.a=i,e.c=A,n.d(e,"d",function(){return h}),n.d(e,"e",function(){return d}),e.f=s;var M=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},h=function(){function t(t,e,n){void 0===t&&(t=[0,1]),void 0===e&&(e="linear"),void 0===n&&(n=[0,1]),this.type=e,this.s=o(e).domain(c(t,this.type)).range(n)}return Object.defineProperty(t.prototype,"domain",{get:function(){return this.s.domain()},set:function(t){this.s.domain(c(t,this.type))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"range",{get:function(){return this.s.range()},set:function(t){this.s.range(t)},enumerable:!0,configurable:!0}),t.prototype.apply=function(t){return this.s(t)},Object.defineProperty(t.prototype,"scaleType",{get:function(){return this.type},enumerable:!0,configurable:!0}),t.prototype.dump=function(){return{type:this.type,domain:this.domain,range:this.range}},t.prototype.eq=function(e){if(!(e instanceof t))return!1;var n=e;return n.type===this.type&&a(this.domain,n.domain)&&a(this.range,n.range)},t.prototype.restore=function(t){this.type=t.type,this.s=o(t.type).domain(t.domain).range(t.range)},t.prototype.clone=function(){return new t(this.domain,this.type,this.range)},t}(),d=function(){function t(t,e){void 0===t&&(t=[0,1]),void 0===e&&(e="return this.linear(value,this.value_min,this.value_max);"),this.domain=t,this._code=e,this.f=new Function("value",e)}return Object.defineProperty(t.prototype,"code",{get:function(){return this._code},set:function(t){this._code!==t&&(this._code=t,this.f=new Function("value",t))},enumerable:!0,configurable:!0}),t.prototype.apply=function(t){var e=this.domain[0],n=this.domain[this.domain.length-1],i=this.f.call({value_min:e,value_max:n,value_range:n-e,value_domain:this.domain.slice(),linear:function(t,e,n){return(t-e)/(n-e)}},t);return"number"==typeof i?Math.max(Math.min(i,1),0):NaN},t.prototype.dump=function(){return{type:"script",code:this.code}},t.prototype.eq=function(e){return e instanceof t&&e.code===this.code},t.prototype.restore=function(t){this.code=t.code},t.prototype.clone=function(){return new t(this.domain,this.code)},t}(),f=function(t){function e(i,r){var A=t.call(this,i,r)||this;A.missingValue=0,A.currentFilter=e.noFilter(),A.numberFormat=n.i(u.format)(".3n"),r.map?A.mapping=s(r.map):r.domain&&(A.mapping=new h(r.domain,"linear",r.range||[0,1])),A.original=A.mapping.clone(),r.numberFormat&&(A.numberFormat=n.i(u.format)(r.numberFormat));var o=[{type:"number",label:"Bar"},{type:"circle",label:"Circle"}];return A.setRendererList(o),A}return M(e,t),e.prototype.dump=function(e){var n=t.prototype.dump.call(this,e);return n.map=this.mapping.dump(),n.filter=this.currentFilter,n.missingValue=this.missingValue,n},e.prototype.restore=function(e,i){t.prototype.restore.call(this,e,i),e.map?this.mapping=s(e.map):e.domain&&(this.mapping=new h(e.domain,"linear",e.range||[0,1])),e.currentFilter&&(this.currentFilter=e.currentFilter),e.missingValue&&(this.missingValue=e.missingValue),e.numberFormat&&(this.numberFormat=n.i(u.format)(e.numberFormat))},e.prototype.createEventList=function(){return t.prototype.createEventList.call(this).concat([e.EVENT_MAPPING_CHANGED])},e.prototype.getLabel=function(e,n){if(this.desc.numberFormat){var i=this.getRawValue(e,n);return isNaN(i)?"NaN":this.numberFormat(i)}var r=t.prototype.getValue.call(this,e,n);return"number"==typeof r?this.numberFormat(+r):String(r)},e.prototype.getRawValue=function(e,n){var i=t.prototype.getValue.call(this,e,n);return r(i)?this.missingValue:+i},e.prototype.getValue=function(t,e){var n=this.getRawValue(t,e);return isNaN(n)?n:this.mapping.apply(n)},e.prototype.getNumber=function(t,e){return this.getValue(t,e)},e.prototype.compare=function(t,e,n,i){return A(this.getValue(t,n),this.getValue(e,i))},e.prototype.getOriginalMapping=function(){return this.original.clone()},e.prototype.getMapping=function(){return this.mapping.clone()},e.prototype.setMapping=function(t){this.mapping.eq(t)||this.fire([e.EVENT_MAPPING_CHANGED,g.a.EVENT_DIRTY_VALUES,g.a.EVENT_DIRTY],this.mapping.clone(),this.mapping=t)},e.prototype.isFiltered=function(){return this.currentFilter.filterMissing||isFinite(this.currentFilter.min)||isFinite(this.currentFilter.max)},Object.defineProperty(e.prototype,"filterMin",{get:function(){return this.currentFilter.min},set:function(t){var e=this.getFilter();this.currentFilter.min=isNaN(t)?-1/0:t,this.fire([g.a.EVENT_FILTER_CHANGED,g.a.EVENT_DIRTY_VALUES,g.a.EVENT_DIRTY],e,this.getFilter())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"filterMax",{get:function(){return this.currentFilter.max},set:function(t){var e=this.getFilter();this.currentFilter.max=isNaN(t)?1/0:t,this.fire([g.a.EVENT_FILTER_CHANGED,g.a.EVENT_DIRTY_VALUES,g.a.EVENT_DIRTY],e,this.getFilter())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"filterMissing",{get:function(){return this.currentFilter.filterMissing},set:function(t){var e=this.getFilter();this.currentFilter.filterMissing=t,this.fire([g.a.EVENT_FILTER_CHANGED,g.a.EVENT_DIRTY_VALUES,g.a.EVENT_DIRTY],e,this.getFilter())},enumerable:!0,configurable:!0}),e.prototype.getFilter=function(){return{min:this.currentFilter.min,max:this.currentFilter.max,filterMissing:this.currentFilter.filterMissing}},e.prototype.setFilter=function(t){if(void 0===t&&(t={min:-1/0,max:1/0,filterMissing:!1}),this.currentFilter.min!==t.min||this.currentFilter.max!==t.max||this.currentFilter.filterMissing!==t.filterMissing){var e=this.getFilter();this.currentFilter.min=isNaN(t.min)?-1/0:t.min,this.currentFilter.max=isNaN(t.max)?1/0:t.max,this.currentFilter.filterMissing=t.filterMissing,this.fire([g.a.EVENT_FILTER_CHANGED,g.a.EVENT_DIRTY_VALUES,g.a.EVENT_DIRTY],e,this.getFilter())}},e.prototype.filter=function(e,n){if(!this.isFiltered())return!0;var i=t.prototype.getValue.call(this,e,n);if(r(i))return!this.filterMissing;var A=+i;return!(isFinite(this.currentFilter.min)&&A<this.currentFilter.min||isFinite(this.currentFilter.max)&&A>this.currentFilter.max)},e.prototype.getRendererType=function(){return this.getCompressed()?e.COMPRESSED_RENDERER:t.prototype.getRendererType.call(this)},e}(l.a);e.b=f,f.EVENT_MAPPING_CHANGED="mappingChanged",f.COMPRESSED_RENDERER="heatmap",f.noFilter=function(){return{min:-1/0,max:1/0,filterMissing:!1}}},function(t,e,n){"use strict";var i=n(2),r=n(3),A=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=function(t){function e(e,n){var i=t.call(this,e,n)||this;return i.currentFilter=null,i._alignment="left",i.setWidthImpl(200),i._alignment=n.alignment||"left",i}return A(e,t),Object.defineProperty(e.prototype,"alignment",{get:function(){return this._alignment},enumerable:!0,configurable:!0}),e.prototype.getValue=function(e,n){var i=t.prototype.getValue.call(this,e,n);return void 0===i||null==i?"":String(i)},e.prototype.dump=function(e){var n=t.prototype.dump.call(this,e);return this.currentFilter instanceof RegExp?n.filter="REGEX:"+this.currentFilter.source:n.filter=this.currentFilter,n.alignment=this.alignment,n},e.prototype.restore=function(e,n){t.prototype.restore.call(this,e,n),e.filter&&"REGEX:"===e.filter.slice(0,6)?this.currentFilter=new RegExp(e.filter.slice(6)):this.currentFilter=e.filter||null,this._alignment=e.alignment||this._alignment},e.prototype.isFiltered=function(){return null!=this.currentFilter},e.prototype.filter=function(t,n){if(!this.isFiltered())return!0;var i=this.getLabel(t,n),r=this.currentFilter;return r===e.FILTER_MISSING?null!=i&&""!==i.trim():"string"==typeof r&&r.length>0?i&&i.toLowerCase().indexOf(r.toLowerCase())>=0:!(r instanceof RegExp)||i&&r.test(i)},e.prototype.getFilter=function(){return this.currentFilter},e.prototype.setFilter=function(t){""===t&&(t=null),this.currentFilter!==t&&this.fire([i.a.EVENT_FILTER_CHANGED,i.a.EVENT_DIRTY_VALUES,i.a.EVENT_DIRTY],this.currentFilter,this.currentFilter=t)},e.prototype.compare=function(t,e,n,i){var r,A;return""===(r=this.getValue(t,n))?""===this.getValue(e,i)?0:1:""===(A=this.getValue(e,i))?-1:r.localeCompare(A)},e}(r.a);e.a=o,o.FILTER_MISSING="__FILTER_MISSING"},function(t,e,n){"use strict";function i(t,e){return e[t.getRendererType()]||x}function r(t,e,n){var r=i(t,e);return(r.createSVG?r.createSVG.bind(r):x.createSVG.bind(r))(t,n)}function A(t,e,n){var r=i(t,e);return(r.createHTML?r.createHTML.bind(r):x.createHTML.bind(r))(t,n)}function o(t,e,n){var r=i(t,e);return(r.createCanvas?r.createCanvas.bind(r):x.createCanvas.bind(r))(t,n)}Object.defineProperty(e,"__esModule",{value:!0});var a=n(56),c=n(28),s=n(68),u=n(64),g=n(61),l=n(55),M=n(54),h=n(67),d=n(58),f=n(63),I=n(66),E=n(70),T=n(65),N=n(59),y=n(57),p=n(62),C=n(69),D=n(60);n.d(e,"defaultCellRenderer",function(){return x}),n.d(e,"renderers",function(){return w}),e.createSVG=r,e.createHTML=A,e.createCanvas=o;var x=new c.a,B=new a.a(!1,function(t,e,n){return n.getColor(t,e)}),w={rank:new c.a("rank","right"),boolean:new c.a("boolean","center"),number:new a.a,ordinal:new a.a(!0,function(t,e,n){return n.getColor(t,e)}),string:new s.a,selection:new u.a,heatmap:new D.a,link:new g.a,annotate:new l.a,actions:new M.a,stack:new h.a,nested:new h.a(!1),categorical:new d.a,max:B,min:B,mean:B,script:B,multiValue:new f.a,threshold:new C.a,sparkline:new I.a,verticalbar:new E.a,set:new T.a,circle:new N.a,boxplot:new y.a,loading:new p.a}},function(t,e,n){"use strict";var i=n(12),r=n(16),A=n(15),o=n(1),a=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},c=function(t){function e(e){void 0===e&&(e={});var r=t.call(this)||this;return r.rankings=[],r.selection=new Set,r.uid=0,r.createHelper=function(t){var e=r.fromDescRef(t.desc),n=null;if(e&&e.type){r.fixDesc(t.desc);n=new(0,r.columnTypes[e.type])(t.id,e),n.restore(t,r.createHelper)}return n},r.columnTypes=n.i(o.a)(n.i(i.models)(),e.columnTypes||{}),r.multiSelections=!1!==e.multiSelection,r}return a(e,t),e.prototype.createEventList=function(){return t.prototype.createEventList.call(this).concat([e.EVENT_ADD_COLUMN,e.EVENT_REMOVE_COLUMN,e.EVENT_ADD_RANKING,e.EVENT_REMOVE_RANKING,e.EVENT_DIRTY,e.EVENT_DIRTY_HEADER,e.EVENT_DIRTY_VALUES,e.EVENT_ORDER_CHANGED,e.EVENT_SELECTION_CHANGED,e.EVENT_ADD_DESC,e.EVENT_JUMP_TO_NEAREST])},e.prototype.pushRanking=function(t){var e=this.cloneRanking(t);return this.insertRanking(e),e},e.prototype.takeSnapshot=function(t){var e=this.cloneRanking();return e.push(this.clone(t)),this.insertRanking(e),e},e.prototype.insertRanking=function(t,i){void 0===i&&(i=this.rankings.length),this.rankings.splice(i,0,t),this.forward(t,r.a.EVENT_ADD_COLUMN+".provider",r.a.EVENT_REMOVE_COLUMN+".provider",r.a.EVENT_DIRTY+".provider",r.a.EVENT_DIRTY_HEADER+".provider",r.a.EVENT_ORDER_CHANGED+".provider",r.a.EVENT_DIRTY_VALUES+".provider");var A=this;t.on(r.a.EVENT_DIRTY_ORDER+".provider",n.i(o.d)(function(){A.triggerReorder(this.source)},100,null)),this.fire([e.EVENT_ADD_RANKING,e.EVENT_DIRTY_HEADER,e.EVENT_DIRTY_VALUES,e.EVENT_DIRTY],t,i),this.triggerReorder(t)},e.prototype.triggerReorder=function(t){this.sort(t).then(function(e){return t.setOrder(e)})},e.prototype.removeRanking=function(t){var n=this.rankings.indexOf(t);return!(n<0)&&(this.unforward(t,r.a.EVENT_ADD_COLUMN+".provider",r.a.EVENT_REMOVE_COLUMN+".provider",r.a.EVENT_DIRTY+".provider",r.a.EVENT_DIRTY_HEADER+".provider",r.a.EVENT_ORDER_CHANGED+".provider",r.a.EVENT_DIRTY_VALUES+".provider"),this.rankings.splice(n,1),t.on(r.a.EVENT_DIRTY_ORDER+".provider",null),this.cleanUpRanking(t),this.fire([e.EVENT_REMOVE_RANKING,e.EVENT_DIRTY_HEADER,e.EVENT_DIRTY_VALUES,e.EVENT_DIRTY],t,n),!0)},e.prototype.clearRankings=function(){var t=this;this.rankings.forEach(function(e){t.unforward(e,r.a.EVENT_ADD_COLUMN+".provider",r.a.EVENT_REMOVE_COLUMN+".provider",r.a.EVENT_DIRTY+".provider",r.a.EVENT_DIRTY_HEADER+".provider",r.a.EVENT_ORDER_CHANGED+".provider",r.a.EVENT_DIRTY_VALUES+".provider"),e.on(r.a.EVENT_DIRTY_ORDER+".provider",null),t.cleanUpRanking(e)}),this.rankings=[],this.fire([e.EVENT_REMOVE_RANKING,e.EVENT_DIRTY_HEADER,e.EVENT_DIRTY_VALUES,e.EVENT_DIRTY],null)},e.prototype.getRankings=function(){return this.rankings.slice()},e.prototype.getLastRanking=function(){return this.rankings[this.rankings.length-1]},e.prototype.cleanUpRanking=function(t){},e.prototype.push=function(t,e){var n=this.create(e);return n?(t.push(n),n):null},e.prototype.insert=function(t,e,n){var i=this.create(n);return i?(t.insert(i,e),i):null},e.prototype.nextId=function(){return"col"+this.uid++},e.prototype.fixDesc=function(t){var e=this;"rank"===t.type?t.accessor=this.rankAccessor.bind(this):"selection"===t.type&&(t.accessor=function(t,n){return e.isSelected(n)},t.setter=function(t,n,i){return i?e.select(n):e.deselect(n)})},e.prototype.create=function(t){this.fixDesc(t);var e=this.columnTypes[t.type];return e?new e(this.nextId(),t):null},e.prototype.clone=function(t){var e=this.dumpColumn(t);return this.restoreColumn(e)},e.prototype.restoreColumn=function(t){var e=this,n=function(t){var i=e.fromDescRef(t.desc),r=e.columnTypes[i.type];e.fixDesc(i);var A=new r("",i);return A.restore(t,n),A.assignNewId(e.nextId.bind(e)),A};return n(t)},e.prototype.find=function(t){for(var e="string"==typeof t?function(e){return e.id===t}:t,n=0,i=this.rankings;n<i.length;n++){var r=i[n],A=r.find(e);if(A)return A}return null},e.prototype.dump=function(){var t=this;return{uid:this.uid,selection:this.getSelection(),rankings:this.rankings.map(function(e){return e.dump(t.toDescRef)})}},e.prototype.dumpColumn=function(t){return t.dump(this.toDescRef)},e.prototype.toDescRef=function(t){return t},e.prototype.fromDescRef=function(t){return t},e.prototype.restoreRanking=function(t){var e=this.cloneRanking();e.restore(t,this.createHelper),e.children.some(function(t){return t instanceof A.a})||e.insert(this.create(n.i(i.createRankDesc)()),0);var r=this.nextId.bind(this);return e.children.forEach(function(t){return t.assignNewId(r)}),e},e.prototype.restore=function(t){var e=this;this.clearRankings(),this.uid=t.uid||0,t.selection&&t.selection.forEach(function(t){return e.selection.add(t)}),t.rankings&&t.rankings.forEach(function(t){var r=e.cloneRanking();r.restore(t,e.createHelper),r.children.some(function(t){return t instanceof A.a})||r.insert(e.create(n.i(i.createRankDesc)()),0),e.insertRanking(r)}),t.layout&&Object.keys(t.layout).forEach(function(n){e.deriveRanking(t.layout[n])});var r=this.nextId.bind(this);this.rankings.forEach(function(t){t.children.forEach(function(t){return t.assignNewId(r)})})},e.prototype.deriveDefault=function(){var t=this;if(!(this.rankings.length>0)){var e=this.pushRanking();this.getColumns().forEach(function(r){n.i(i.isSupportType)(r)||t.push(e,r)})}},e.prototype.deriveRanking=function(t){var e=this,r=this.cloneRanking();r.clear();var o=function(t){switch(t.type){case"rank":return e.create(n.i(i.createRankDesc)());case"selection":return e.create(n.i(i.createSelectionDesc)());case"actions":var r=e.create(n.i(i.createActionDesc)(t.label||"actions"));return r.restore(t,null),r;case"stacked":var A=e.create(n.i(i.createStackDesc)(t.label||"Combined"));return(t.children||[]).forEach(function(t){var e=o(t);e&&A.push(e)}),A;default:var a=e.findDesc(t.column);if(a){var c=e.create(a);return t.label=t.label||a.label||a.column,c.restore(t,null),c}return null}};return t.forEach(function(t){var e=o(t);e&&r.push(e)}),r.children.some(function(t){return t instanceof A.a})||r.insert(this.create(n.i(i.createRankDesc)()),0),this.insertRanking(r),r},e.prototype.isSelected=function(t){return this.selection.has(t)},e.prototype.select=function(t){this.selection.has(t)||(!this.multiSelections&&this.selection.size>0&&(this.selection=new Set),this.selection.add(t),this.fire(e.EVENT_SELECTION_CHANGED,this.getSelection()))},e.prototype.jumpToNearest=function(t){0!==t.length&&this.fire(e.EVENT_JUMP_TO_NEAREST,t)},e.prototype.selectAll=function(t){var n=this;t.every(function(t){return n.selection.has(t)})||(this.multiSelections||(this.selection=new Set,t=t.slice(0,1)),t.forEach(function(t){n.selection.add(t)}),this.fire(e.EVENT_SELECTION_CHANGED,this.getSelection()))},e.prototype.setSelection=function(t){var e=this;this.selection.size===t.length&&t.every(function(t){return e.selection.has(t)})||(this.selection=new Set,this.selectAll(t))},e.prototype.toggleSelection=function(t,e){return void 0===e&&(e=!1),this.isSelected(t)?(e?this.deselect(t):this.clearSelection(),!1):(e?this.select(t):this.setSelection([t]),!0)},e.prototype.deselect=function(t){this.selection.has(t)&&(this.selection.delete(t),this.fire(e.EVENT_SELECTION_CHANGED,this.getSelection()))},e.prototype.selectedRows=function(){return 0===this.selection.size?Promise.resolve([]):this.view(this.getSelection())},e.prototype.getSelection=function(){var t=[];return this.selection.forEach(function(e){return t.push(e)}),t.sort(),t},e.prototype.clearSelection=function(){0!==this.selection.size&&(this.selection=new Set,this.fire(e.EVENT_SELECTION_CHANGED,[],!1))},e.prototype.exportTable=function(t,e){function r(t,r){return!e.quote||r&&n.i(i.isNumberColumn)(r)?t:e.quoteChar+t+e.quoteChar}void 0===e&&(e={}),e=n.i(o.a)({separator:"\t",newline:"\n",header:!0,quote:!1,quoteChar:'"',filter:function(t){return!n.i(i.isSupportType)(t)}},e);var A=t.flatColumns.filter(function(t){return e.filter(t.desc)}),a=t.getOrder();return this.view(a).then(function(t){var n=[];return e.header&&n.push(A.map(function(t){return r(t.label)}).join(e.separator)),t.forEach(function(t,i){n.push(A.map(function(e){return r(e.getLabel(t,a[i]),e)}).join(e.separator))}),n.join(e.newline)})},e}(o.c);c.EVENT_SELECTION_CHANGED="selectionChanged",c.EVENT_ADD_COLUMN=r.a.EVENT_ADD_COLUMN,c.EVENT_REMOVE_COLUMN=r.a.EVENT_REMOVE_COLUMN,c.EVENT_ADD_RANKING="addRanking",c.EVENT_REMOVE_RANKING="removeRanking",c.EVENT_DIRTY=r.a.EVENT_DIRTY,c.EVENT_DIRTY_HEADER=r.a.EVENT_DIRTY_HEADER,c.EVENT_DIRTY_VALUES=r.a.EVENT_DIRTY_VALUES,c.EVENT_ORDER_CHANGED=r.a.EVENT_ORDER_CHANGED,c.EVENT_ADD_DESC="addDesc",c.EVENT_JUMP_TO_NEAREST="jumpToNearest",e.a=c},function(t,e,n){"use strict";var i=n(4),r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},A=function(t){function e(e,n,i){var r=t.call(this,n,i)||this;return r.column=e,r}return r(e,t),e.prototype.markFiltered=function(t){void 0===t&&(t=!1),this.attachment.classed("filtered",t)},e}(i.a);e.a=A},function(t,e,n){"use strict";function i(t){return"function"==typeof t.getCollapsed}var r=n(2);e.a=i;var A=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=function(t){function e(e,n){var i=t.call(this,e,n)||this;return i._children=[],i}return A(e,t),e.prototype.assignNewId=function(e){t.prototype.assignNewId.call(this,e),this._children.forEach(function(t){return t.assignNewId(e)})},Object.defineProperty(e.prototype,"children",{get:function(){return this._children.slice()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"length",{get:function(){return this._children.length},enumerable:!0,configurable:!0}),e.prototype.flatten=function(t,e,n,i){void 0===n&&(n=0),void 0===i&&(i=0);var A=0;return(0===n||n<=r.a.FLAT_ALL_COLUMNS)&&(A=this.getCompressed()?r.a.COMPRESSED_WIDTH:this.getWidth(),t.push({col:this,offset:e,width:A}),0===n)?A:(this._children.forEach(function(A){(!A.isHidden()||n<=r.a.FLAT_ALL_COLUMNS)&&A.flatten(t,e,n-1,i)}),A)},e.prototype.dump=function(e){var n=t.prototype.dump.call(this,e);return n.children=this._children.map(function(t){return t.dump(e)}),n},e.prototype.restore=function(e,n){var i=this;e.children.map(function(t){var e=n(t);e&&i.push(e)}),t.prototype.restore.call(this,e,n)},e.prototype.insert=function(t,e){return this._children.splice(e,0,t),this.insertImpl(t,e)},e.prototype.insertImpl=function(t,e){return t.parent=this,this.forward(t,r.a.EVENT_DIRTY_HEADER+".combine",r.a.EVENT_DIRTY_VALUES+".combine",r.a.EVENT_DIRTY+".combine",r.a.EVENT_FILTER_CHANGED+".combine"),this.fire([r.a.EVENT_ADD_COLUMN,r.a.EVENT_DIRTY_HEADER,r.a.EVENT_DIRTY_VALUES,r.a.EVENT_DIRTY],t,e),t},e.prototype.push=function(t){return this.insert(t,this._children.length)},e.prototype.at=function(t){return this._children[t]},e.prototype.indexOf=function(t){return this._children.indexOf(t)},e.prototype.insertAfter=function(t,e){var n=this.indexOf(e);return n<0?null:this.insert(t,n+1)},e.prototype.remove=function(t){var e=this._children.indexOf(t);return!(e<0)&&(this._children.splice(e,1),this.removeImpl(t))},e.prototype.removeImpl=function(t){return t.parent=null,this.unforward(t,r.a.EVENT_DIRTY_HEADER+".combine",r.a.EVENT_DIRTY_VALUES+".combine",r.a.EVENT_DIRTY+".combine",r.a.EVENT_FILTER_CHANGED+".combine"),this.fire([r.a.EVENT_REMOVE_COLUMN,r.a.EVENT_DIRTY_HEADER,r.a.EVENT_DIRTY_VALUES,r.a.EVENT_DIRTY],t),!0},e.prototype.getColor=function(t,e){return this.color},e.prototype.isFiltered=function(){return this._children.some(function(t){return t.isFiltered()})},e.prototype.filter=function(t,e){return this._children.every(function(n){return n.filter(t,e)})},e.prototype.toSortingDesc=function(t){return this._children.map(function(e){return e.toSortingDesc(t)})},e}(r.a);e.b=o},function(t,e,n){"use strict";var i=n(0),r=(n.n(i),n(10)),A=n(5),o=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},a=function(t){function e(e,r){var A=t.call(this,e,r)||this;return A.missingValue=0,A.numberFormat=n.i(i.format)(".3n"),r.numberFormat&&(A.numberFormat=n.i(i.format)(r.numberFormat)),A}return o(e,t),e.prototype.dump=function(e){var n=t.prototype.dump.call(this,e);return n.missingValue=this.missingValue,n},e.prototype.restore=function(e,r){e.missingValue&&(this.missingValue=e.missingValue),e.numberFormat&&(this.numberFormat=n.i(i.format)(e.numberFormat)),t.prototype.restore.call(this,e,r)},e.prototype.insert=function(e,i){return n.i(A.a)(e)?t.prototype.insert.call(this,e,i):null},e.prototype.getLabel=function(t,e){if(!this.isLoaded())return"";var n=this.getValue(t,e);return""+("number"==typeof n?this.numberFormat(n):n)},e.prototype.getValue=function(t,e){if(!this.isLoaded())return null;var n=this.compute(t,e);return void 0===n||null==n||isNaN(n)?this.missingValue:n},e.prototype.isLoaded=function(){return this._children.every(function(t){return t.isLoaded()})},e.prototype.compute=function(t,e){return NaN},e.prototype.getNumber=function(t,e){return this.getValue(t,e)},e.prototype.compare=function(t,e,i,r){return n.i(A.c)(this.getValue(t,i),this.getValue(e,r))},e.prototype.getRendererType=function(){return A.b.prototype.getRendererType.call(this)},e}(r.b);e.a=a},function(t,e,n){"use strict";function i(t,e){void 0===e&&(e={});var i=function(t){function e(e,n){var i=t.call(this,e,n)||this;return"function"==typeof i.init&&i.init.apply(i,[].slice.apply(arguments)),i}return v(e,t),e.prototype.init=function(){},e}(a.a);return i.prototype.toString=function(){return t},i.prototype=n.i(o.a)(i.prototype,e),i}function r(t){return void 0===t&&(t="actions"),{type:"actions",label:t}}function A(){return{number:c.b,string:s.a,link:C.a,stack:u.a,rank:I.a,boolean:l.a,categorical:M.a,ordinal:N.a,actions:p.a,annotate:g.a,selection:E.a,max:d.a,min:h.a,mean:f.a,script:T.a,nested:y.a,multiValue:x.a,set:D.a,boxplot:B.a}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(1),a=n(3),c=n(5),s=n(6),u=n(18),g=n(48),l=n(49),M=n(14),h=n(26),d=n(24),f=n(25),I=n(15),E=n(20),T=n(17),N=n(50),y=n(27),p=n(51),C=n(23),D=n(53),x=n(19),B=n(13),w=n(2);n.d(e,"Column",function(){return w.a});var m=n(10);n.d(e,"CompositeColumn",function(){return m.b}),n.d(e,"createMappingFunction",function(){return c.f}),n.d(e,"ScaleMappingFunction",function(){return c.d}),n.d(e,"ScriptMappingFunction",function(){return c.e}),n.d(e,"isNumberColumn",function(){return c.a}),n.d(e,"isCategoricalColumn",function(){return M.b});var Q=n(16);n.d(e,"Ranking",function(){return Q.a}),n.d(e,"isSupportType",function(){return Q.b}),n.d(e,"createMinDesc",function(){return h.b}),n.d(e,"createMaxDesc",function(){return d.b}),n.d(e,"createMeanDesc",function(){return f.b}),n.d(e,"createRankDesc",function(){return I.b}),n.d(e,"createSelectionDesc",function(){return E.b}),n.d(e,"createScriptDesc",function(){return T.b}),n.d(e,"createNestedDesc",function(){return y.b}),n.d(e,"createStackDesc",function(){return u.b}),e.defineColumn=i,e.createActionDesc=r,e.models=A;var v=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}},function(t,e,n){"use strict";function i(t,e,n,i,r){var A=t.getBoxPlotData(e,i),o=t.getBoxPlotData(n,r);if(null===A)return null===o?0:1;if(null===o)return-1;var a=t.getSortMethod();return A[a]-o[a]}var r=n(3),A=n(2);n.d(e,"b",function(){return a}),e.c=i;var o=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},a={min:"min",max:"max",median:"median",q1:"q1",q3:"q3"},c=function(t){function e(e,n){var i=t.call(this,e,n)||this;return i.domain=n.domain||[0,100],i.sort=n.sort||a.min,i}return o(e,t),e.prototype.compare=function(t,e,n,r){return i(this,t,e,n,r)},e.prototype.getDomain=function(){return this.domain},e.prototype.getBoxPlotData=function(t,e){return this.getValue(t,e)},e.prototype.getSortMethod=function(){return this.sort},e.prototype.setSortMethod=function(t){this.sort!==t&&(this.fire([A.a.EVENT_SORTMETHOD_CHANGED],this.sort,this.sort=t),this.findMyRanker().getSortCriteria().col!==this&&this.sortByMe())},e.prototype.dump=function(e){var n=t.prototype.dump.call(this,e);return n.sortMethod=this.getSortMethod(),n},e.prototype.restore=function(e,n){t.prototype.restore.call(this,e,n),e.sortMethod&&(this.sort=e.sortMethod)},e}(r.a);e.a=c},function(t,e,n){"use strict";function i(t){return t instanceof a.a&&"function"==typeof t.getCategories||!(t instanceof a.a)&&null!=t.type.match(/(categorical|ordinal)/)}function r(t,e){return t===e||null!==t&&null!==e&&(t.filterMissing===e.filterMissing&&typeof t.filter==typeof e.filter&&(Array.isArray(t.filter)?A(t.filter,e.filter):String(t.filter)===String(e.filter)))}function A(t,e){var n=null!=t?t.length:0;return n===(null!=e?e.length:0)&&(0===n||t.every(function(t,n){return t===e[n]}))}var o=n(0),a=(n.n(o),n(2)),c=n(3),s=n(6);e.b=i;var u=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},g=function(t){function e(e,n){var i=t.call(this,e,n)||this;return i.colors=o.scale.category10(),i.catLabels=new Map,i.currentFilter=null,i.separator=";",i.separator=n.separator||i.separator,i.initCategories(n),i}return u(e,t),e.prototype.initCategories=function(t){if(t.categories){var e=[],n=this.colors.range().slice(),i=new Map;t.categories.forEach(function(t,r){"string"==typeof t?e.push(t):(e.push(t.name||t.value),t.label&&i.set(t.name,t.label),t.color&&(n[r]=t.color))}),this.catLabels=i,this.colors.domain(e).range(n)}},Object.defineProperty(e.prototype,"categories",{get:function(){return this.colors.domain()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"categoryColors",{get:function(){return this.colors.range()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"categoryLabels",{get:function(){var t=this;return null===this.catLabels||0===this.catLabels.size?this.categories:this.categories.map(function(e){return t.catLabels.has(e)?t.catLabels.get(e):e})},enumerable:!0,configurable:!0}),e.prototype.colorOf=function(t){return this.colors(t)},e.prototype.getLabel=function(t,e){return null===this.catLabels||0===this.catLabels.size?""+s.a.prototype.getValue.call(this,t,e):this.getLabels(t,e).join(this.separator)},e.prototype.getFirstLabel=function(t,e){var n=this.getLabels(t,e);return n.length>0?n[0]:null},e.prototype.getLabels=function(t,e){var n=this,i=s.a.prototype.getValue.call(this,t,e),r=i?i.split(this.separator):[];return function(t){return null===n.catLabels||0===n.catLabels.size?t:t.map(function(t){return n.catLabels.has(t)?n.catLabels.get(t):t})}(r)},e.prototype.getValue=function(t,e){var n=this.getValues(t,e);return n.length>0?n[0]:null},e.prototype.getValues=function(t,e){var n=s.a.prototype.getValue.call(this,t,e);return n?n.split(this.separator):[]},e.prototype.getCategories=function(t,e){return this.getValues(t,e)},e.prototype.getColor=function(t,e){var n=this.getValue(t,e);return null===n||""===n?null:this.colors(n)},e.prototype.getColors=function(t,e){return this.getCategories(t,e).map(this.colors)},e.prototype.dump=function(e){var n=t.prototype.dump.call(this,e);return n.filter=this.currentFilter,n.colors={domain:this.colors.domain(),range:this.colors.range(),separator:this.separator},null!==this.catLabels&&0!==this.catLabels.size&&(n.labels=this.catLabels.entries()),n},e.prototype.restore=function(e,n){var i=this;if(t.prototype.restore.call(this,e,n),"filter"in e){var r=e.filter;"string"==typeof r||Array.isArray(r)?this.currentFilter={filter:r,filterMissing:!1}:this.currentFilter=r}else this.currentFilter=null;e.colors&&this.colors.domain(e.colors.domain).range(e.colors.range),e.labels&&(this.catLabels=new Map,e.labels.forEach(function(t){return i.catLabels.set(t.key,t.value)})),this.separator=e.separator||this.separator},e.prototype.isFiltered=function(){return null!=this.currentFilter},e.prototype.filter=function(t,e){if(!this.isFiltered())return!0;var n=this.getCategories(t,e),i=this.currentFilter.filter;return(!this.currentFilter.filterMissing||0!==n.length)&&n.every(function(t){return Array.isArray(i)&&i.length>0?i.indexOf(t)>=0:"string"==typeof i&&i.length>0?t&&t.toLowerCase().indexOf(i.toLowerCase())>=0:!(i instanceof RegExp)||null!=t&&t.match(i).length>0})},e.prototype.getFilter=function(){return this.currentFilter},e.prototype.setFilter=function(t){r(this.currentFilter,t)||this.fire([a.a.EVENT_FILTER_CHANGED,a.a.EVENT_DIRTY_VALUES,a.a.EVENT_DIRTY],this.currentFilter,this.currentFilter=t)},e.prototype.compare=function(t,e,i,r){for(var A=this.getValues(t,i),a=this.getValues(e,r),c=0;c<Math.min(A.length,a.length);++c){var s=n.i(o.ascending)(A[c],a[c]);if(0!==s)return s}return A.length-a.length},e}(c.a);e.a=g},function(t,e,n){"use strict";function i(t){return void 0===t&&(t="Rank"),{type:"rank",label:t}}var r=n(3);e.b=i;var A=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=function(t){function e(e,n){var i=t.call(this,e,n)||this;return i.setWidthImpl(50),i}return A(e,t),e}(r.a);e.a=o},function(t,e,n){"use strict";function i(t){return["rank","selection","actions"].indexOf(t.type)>=0}var r=n(2),A=n(6),o=n(1);e.b=i;var a=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},c=function(t){function e(i){var A=t.call(this)||this;return A.id=i,A.sortColumn=null,A.ascending=!1,A.columns=[],A.comparator=function(t,e,n,i){if(null===A.sortColumn)return 0;var r=A.sortColumn.compare(t,e,n,i);return A.ascending?r:-r},A.dirtyOrder=function(){A.fire([e.EVENT_DIRTY_ORDER,e.EVENT_DIRTY_VALUES,e.EVENT_DIRTY],A.getSortCriteria())},A.order=[],A.id=n.i(r.b)(i),A}return a(e,t),e.prototype.createEventList=function(){return t.prototype.createEventList.call(this).concat([e.EVENT_WIDTH_CHANGED,e.EVENT_FILTER_CHANGED,e.EVENT_LABEL_CHANGED,e.EVENT_COMPRESS_CHANGED,e.EVENT_ADD_COLUMN,e.EVENT_REMOVE_COLUMN,e.EVENT_DIRTY,e.EVENT_DIRTY_HEADER,e.EVENT_DIRTY_VALUES,e.EVENT_SORT_CRITERIA_CHANGED,e.EVENT_DIRTY_ORDER,e.EVENT_ORDER_CHANGED])},e.prototype.assignNewId=function(t){this.id=n.i(r.b)(t()),this.columns.forEach(function(e){return e.assignNewId(t)})},e.prototype.setOrder=function(t){this.fire([e.EVENT_ORDER_CHANGED,e.EVENT_DIRTY_VALUES,e.EVENT_DIRTY],this.order,this.order=t)},e.prototype.getOrder=function(){return this.order},e.prototype.dump=function(t){var e={};return e.columns=this.columns.map(function(e){return e.dump(t)}),e.sortColumn={asc:this.ascending},this.sortColumn&&(e.sortColumn.sortBy=this.sortColumn.id),e},e.prototype.restore=function(t,e){var n=this;if(this.clear(),t.columns.map(function(t){var i=e(t);i&&n.push(i)}),t.sortColumn&&(this.ascending=t.sortColumn.asc,t.sortColumn.sortBy)){var i=this.columns.filter(function(e){return e.id===t.sortColumn.sortBy});this.sortBy(0===i.length?null:i[0],t.sortColumn.asc)}},e.prototype.flatten=function(t,e,n,i){void 0===n&&(n=0),void 0===i&&(i=0);var A=e;return(n>0||n<=r.a.FLAT_ALL_COLUMNS)&&this.columns.forEach(function(e){(!e.isHidden()||n<=r.a.FLAT_ALL_COLUMNS)&&(A+=e.flatten(t,A,n-1,i)+i)}),A-e},e.prototype.getSortCriteria=function(){return{col:this.sortColumn,asc:this.ascending}},e.prototype.toggleSorting=function(t){return this.sortColumn===t?this.sortBy(t,!this.ascending):this.sortBy(t)},e.prototype.setSortCriteria=function(t){return this.sortBy(t.col,t.asc)},e.prototype.sortBy=function(t,n){if(void 0===n&&(n=!1),null!==t&&t.findMyRanker()!==this)return!1;if(this.sortColumn===t&&this.ascending===n)return!0;this.sortColumn&&(this.sortColumn.on(r.a.EVENT_DIRTY_VALUES+".order",null),this.sortColumn.on(r.a.EVENT_SORTMETHOD_CHANGED+".order",null));var i=this.getSortCriteria();return this.sortColumn=t,this.sortColumn&&(this.sortColumn.on(r.a.EVENT_DIRTY_VALUES+".order",this.dirtyOrder),this.sortColumn.on(r.a.EVENT_SORTMETHOD_CHANGED+".order",this.dirtyOrder)),this.ascending=n,this.fire([e.EVENT_SORT_CRITERIA_CHANGED,e.EVENT_DIRTY_ORDER,e.EVENT_DIRTY_HEADER,e.EVENT_DIRTY_VALUES,e.EVENT_DIRTY],i,this.getSortCriteria()),!0},Object.defineProperty(e.prototype,"children",{get:function(){return this.columns.slice()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"length",{get:function(){return this.columns.length},enumerable:!0,configurable:!0}),e.prototype.insert=function(t,n){return void 0===n&&(n=this.columns.length),this.columns.splice(n,0,t),t.parent=this,this.forward(t,r.a.EVENT_DIRTY_VALUES+".ranking",r.a.EVENT_DIRTY_HEADER+".ranking",r.a.EVENT_DIRTY+".ranking",r.a.EVENT_FILTER_CHANGED+".ranking"),t.on(e.EVENT_FILTER_CHANGED+".order",this.dirtyOrder),this.fire([e.EVENT_ADD_COLUMN,e.EVENT_DIRTY_HEADER,e.EVENT_DIRTY_VALUES,e.EVENT_DIRTY],t,n),null!==this.sortColumn||i(t.desc)||this.sortBy(t,t instanceof A.a),t},Object.defineProperty(e.prototype,"fqpath",{get:function(){return""},enumerable:!0,configurable:!0}),e.prototype.findByPath=function(t){for(var e=this,n=t.split("@").map(Number).slice(1);n.length>0;){var i=n.shift();e=e.at(i)}return e},e.prototype.indexOf=function(t){return this.columns.indexOf(t)},e.prototype.at=function(t){return this.columns[t]},e.prototype.insertAfter=function(t,e){var n=this.columns.indexOf(e);return n<0?null:this.insert(t,n+1)},e.prototype.push=function(t){return this.insert(t)},e.prototype.remove=function(t){var n=this.columns.indexOf(t);if(n<0)return!1;if(this.unforward(t,r.a.EVENT_DIRTY_VALUES+".ranking",r.a.EVENT_DIRTY_HEADER+".ranking",r.a.EVENT_DIRTY+".ranking",r.a.EVENT_FILTER_CHANGED+".ranking"),this.sortColumn===t){var A=this.columns.filter(function(e){return e!==t&&!i(e.desc)})[0];this.sortBy(A||null)}return t.parent=null,this.columns.splice(n,1),this.fire([e.EVENT_REMOVE_COLUMN,e.EVENT_DIRTY_HEADER,e.EVENT_DIRTY_VALUES,e.EVENT_DIRTY],t,n),!0},e.prototype.clear=function(){var t=this;0!==this.columns.length&&(this.sortColumn=null,this.columns.forEach(function(e){t.unforward(e,r.a.EVENT_DIRTY_VALUES+".ranking",r.a.EVENT_DIRTY_HEADER+".ranking",r.a.EVENT_DIRTY+".ranking",r.a.EVENT_FILTER_CHANGED+".ranking"),e.parent=null}),this.columns.length=0,this.fire([e.EVENT_REMOVE_COLUMN,e.EVENT_DIRTY_HEADER,e.EVENT_DIRTY_VALUES,e.EVENT_DIRTY],null))},Object.defineProperty(e.prototype,"flatColumns",{get:function(){var t=[];return this.flatten(t,0,r.a.FLAT_ALL_COLUMNS),t.map(function(t){return t.col})},enumerable:!0,configurable:!0}),e.prototype.find=function(t){for(var e="string"==typeof t?function(e){return e.id===t}:t,n=this.flatColumns,i=0,r=n;i<r.length;i++){var A=r[i];if(e(A))return A}return null},e.prototype.toSortingDesc=function(t){var e=function(e){return null===e?null:e.toSortingDesc(t)}(this.sortColumn);return null===e?null:{id:e,asc:this.ascending}},e.prototype.isFiltered=function(){return this.columns.some(function(t){return t.isFiltered()})},e.prototype.filter=function(t,e){return this.columns.every(function(n){return n.filter(t,e)})},e.prototype.findMyRanker=function(){return this},Object.defineProperty(e.prototype,"fqid",{get:function(){return this.id},enumerable:!0,configurable:!0}),e}(o.c);e.a=c,c.EVENT_WIDTH_CHANGED=r.a.EVENT_WIDTH_CHANGED,c.EVENT_FILTER_CHANGED=r.a.EVENT_FILTER_CHANGED,c.EVENT_LABEL_CHANGED=r.a.EVENT_LABEL_CHANGED,c.EVENT_COMPRESS_CHANGED=r.a.EVENT_COMPRESS_CHANGED,c.EVENT_ADD_COLUMN=r.a.EVENT_ADD_COLUMN,c.EVENT_REMOVE_COLUMN=r.a.EVENT_REMOVE_COLUMN,c.EVENT_DIRTY=r.a.EVENT_DIRTY,c.EVENT_DIRTY_HEADER=r.a.EVENT_DIRTY_HEADER,c.EVENT_DIRTY_VALUES=r.a.EVENT_DIRTY_VALUES,c.EVENT_SORT_CRITERIA_CHANGED="sortCriteriaChanged",c.EVENT_DIRTY_ORDER="dirtyOrder",c.EVENT_ORDER_CHANGED="orderChanged"},function(t,e,n){"use strict";function i(t){return void 0===t&&(t="script"),{type:"script",label:t,script:a.DEFAULT_SCRIPT}}var r=n(2),A=n(11);e.b=i;var o=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},a=function(t){function e(n,i){var r=t.call(this,n,i)||this;return r.script=e.DEFAULT_SCRIPT,r.f=null,r.script=i.script||r.script,r}return o(e,t),e.prototype.createEventList=function(){return t.prototype.createEventList.call(this).concat([e.EVENT_SCRIPT_CHANGED])},e.prototype.setScript=function(t){this.script!==t&&(this.f=null,this.fire([e.EVENT_SCRIPT_CHANGED,r.a.EVENT_DIRTY_VALUES,r.a.EVENT_DIRTY],this.script,this.script=t))},e.prototype.getScript=function(){return this.script},e.prototype.dump=function(e){var n=t.prototype.dump.call(this,e);return n.script=this.script,n},e.prototype.restore=function(e,n){this.script=e.script||this.script,t.prototype.restore.call(this,e,n)},e.prototype.compute=function(t,e){return null==this.f&&(this.f=new Function("children","values",this.script)),this.f.call(this,this._children,this._children.map(function(n){return n.getValue(t,e)}))},e.prototype.toSortingDesc=function(t){return{code:this.script,operands:this._children.map(function(e){return e.toSortingDesc(t)})}},e}(A.a);e.a=a,a.EVENT_SCRIPT_CHANGED="scriptChanged",a.DEFAULT_SCRIPT="return Math.max.apply(Math,values)"},function(t,e,n){"use strict";function i(t){return void 0===t&&(t="Combined"),{type:"stack",label:t}}var r=n(11),A=n(2);e.b=i;var o=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},a=function(t){function e(e,n){var i=t.call(this,e,n)||this;i.collapsed=!1;var r=i;return i.adaptChange=function(t,e){r.adaptWidthChange(this.source,t,e)},i}return o(e,t),e.prototype.createEventList=function(){return t.prototype.createEventList.call(this).concat([e.EVENT_COLLAPSE_CHANGED,e.EVENT_WEIGHTS_CHANGED])},e.prototype.setCollapsed=function(t){this.collapsed!==t&&this.fire([e.EVENT_COLLAPSE_CHANGED,A.a.EVENT_DIRTY_HEADER,A.a.EVENT_DIRTY_VALUES,A.a.EVENT_DIRTY],this.collapsed,this.collapsed=t)},e.prototype.getCollapsed=function(){return this.collapsed},e.prototype.flatten=function(t,e,n,i){void 0===n&&(n=0),void 0===i&&(i=0);var r=null,o=n<=A.a.FLAT_ALL_COLUMNS?this._children:this._children.filter(function(t){return!t.isHidden()});if(0===n||n<=A.a.FLAT_ALL_COLUMNS){var a=this.getCompressed()?A.a.COMPRESSED_WIDTH:this.getWidth();if(this.collapsed||this.getCompressed()||(a+=(o.length-1)*i),t.push(r={col:this,offset:e,width:a}),0===n)return a}var c=e;return o.forEach(function(e){c+=e.flatten(t,c,n-1,i)+i}),r&&(r.width=c-e-i),c-e-i},e.prototype.dump=function(e){var n=t.prototype.dump.call(this,e);return n.collapsed=this.collapsed,n},e.prototype.restore=function(e,n){this.collapsed=!0===e.collapsed,t.prototype.restore.call(this,e,n)},e.prototype.insert=function(e,n,i){return void 0===i&&(i=NaN),isNaN(i)||e.setWidth(i/(1-i)*this.getWidth()),e.on(A.a.EVENT_WIDTH_CHANGED+".stack",this.adaptChange),t.prototype.setWidth.call(this,0===this.length?e.getWidth():this.getWidth()+e.getWidth()),t.prototype.insert.call(this,e,n)},e.prototype.push=function(t,e){return void 0===e&&(e=NaN),this.insert(t,this.length,e)},e.prototype.insertAfter=function(t,e,n){void 0===n&&(n=NaN);var i=this.indexOf(e);return i<0?null:this.insert(t,i+1,n)},e.prototype.adaptWidthChange=function(t,n,i){if(n!==i){var r=this.getWeights(),o=this.getWidth(),a=(i-n)/o,c=n/o,s=(1-c-a)/(1-c);this._children.forEach(function(e){e===t||e.setWidthImpl(e.getWidth()*s)}),this.fire([e.EVENT_WEIGHTS_CHANGED,A.a.EVENT_DIRTY_HEADER,A.a.EVENT_DIRTY_VALUES,A.a.EVENT_DIRTY],r,this.getWeights())}},e.prototype.getWeights=function(){var t=this.getWidth();return this._children.map(function(e){return e.getWidth()/t})},e.prototype.setWeights=function(t){var n,i=this.getWeights(),r=t.length-this.length;if(r<0)if((n=t.reduce(function(t,e){return t+e},0))<=1)for(var o=0;o<-r;++o)t.push(1/-r*(1-n));else if(n<=100)for(var o=0;o<-r;++o)t.push(1/-r*(100-n));t=t.slice(0,this.length),n=t.reduce(function(t,e){return t+e},0)/this.getWidth(),t=t.map(function(t){return t/n}),this._children.forEach(function(e,n){e.setWidthImpl(t[n])}),this.fire([e.EVENT_WEIGHTS_CHANGED,A.a.EVENT_DIRTY_HEADER,A.a.EVENT_DIRTY_VALUES,A.a.EVENT_DIRTY],i,t)},e.prototype.removeImpl=function(e){return e.on(A.a.EVENT_WIDTH_CHANGED+".stack",null),t.prototype.setWidth.call(this,1===this.length?100:this.getWidth()-e.getWidth()),t.prototype.removeImpl.call(this,e)},e.prototype.setWidth=function(e){var n=e/this.getWidth();this._children.forEach(function(t){t.setWidthImpl(t.getWidth()*n)}),t.prototype.setWidth.call(this,e)},e.prototype.compute=function(t,e){var n=this.getWidth();return this._children.reduce(function(i,r){return i+r.getValue(t,e)*(r.getWidth()/n)},0)},e.prototype.rendererType=function(){return this.getCollapsed()&&this.isLoaded()?e.COLLAPSED_RENDERER:t.prototype.getRendererType.call(this)},e.prototype.toSortingDesc=function(t){var e=this.getWeights();return this._children.map(function(n,i){return{weight:e[i],id:n.toSortingDesc(t)}})},e}(r.a);e.a=a,a.EVENT_COLLAPSE_CHANGED="collapseChanged",a.EVENT_WEIGHTS_CHANGED="weightsChanged",a.COLLAPSED_RENDERER="number"},function(t,e,n){"use strict";var i=n(0),r=(n.n(i),n(3)),A=n(2),o=n(13),a=n(1);n.d(e,"b",function(){return s});var c=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},s=n.i(a.a)({mean:"mean"},o.b),u=function(){function t(t){this.values=t,this._sorted=null}return Object.defineProperty(t.prototype,"sorted",{get:function(){return null===this._sorted&&(this._sorted=this.values.slice().sort(i.ascending)),this._sorted},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"min",{get:function(){return Math.min.apply(Math,this.values)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"max",{get:function(){return Math.max.apply(Math,this.values)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"median",{get:function(){return n.i(i.median)(this.sorted)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"q1",{get:function(){return n.i(i.quantile)(this.sorted,.25)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"q3",{get:function(){return n.i(i.quantile)(this.sorted,.75)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"mean",{get:function(){return n.i(i.mean)(this.values)},enumerable:!0,configurable:!0}),t}(),g=function(t){function e(e,n){var i=t.call(this,e,n)||this;i.domain=n.domain||[0,100],i.dataLength=n.dataLength,i.threshold=n.threshold||0,i.colorRange=n.colorRange||["blue","red"],i.sort=n.sort||s.min;var r=[{type:"multiValue",label:"Heatmap"},{type:"boxplot",label:"Boxplot"},{type:"sparkline",label:"Sparkline"},{type:"threshold",label:"Threshold"},{type:"verticalbar",label:"VerticalBar"}];return i.setRendererList(r),i}return c(e,t),e.prototype.getColorValues=function(){if(this.colorRange.length>2)return this.colorRange.slice();return[this.colorRange[0],"white",this.colorRange[1]]},e.prototype.compare=function(t,e,i,r){return n.i(o.c)(this,t,e,i,r)},e.prototype.getColorScale=function(){var t=i.scale.linear(),e=this.getColorValues();return this.domain[0]<0?t.domain([this.domain[0],0,this.domain[1]]).range(e):t.domain([this.domain[0],this.domain[1]]).range(e),t},e.prototype.getNumber=function(t,e){return this.getValue(t,e)},e.prototype.calculateCellDimension=function(t){return t/this.dataLength},e.prototype.getSparklineScale=function(){var t=i.scale.linear(),e=i.scale.linear();return{xScale:t.domain([0,this.dataLength-1]),yScale:e.domain(this.domain)}},e.prototype.getDomain=function(){return this.domain},e.prototype.getThreshold=function(){return this.threshold},e.prototype.getVerticalBarScale=function(){return i.scale.linear().domain(this.domain)},e.prototype.getBoxPlotData=function(t,e){var n=this.getValue(t,e);return null===n?null:new u(n)},e.prototype.getSortMethod=function(){return this.sort},e.prototype.setSortMethod=function(t){this.sort!==t&&(this.fire([A.a.EVENT_SORTMETHOD_CHANGED],this.sort,this.sort=t),this.findMyRanker().getSortCriteria().col!==this&&this.sortByMe())},e.prototype.dump=function(e){var n=t.prototype.dump.call(this,e);return n.sortMethod=this.getSortMethod(),n},e.prototype.restore=function(e,n){t.prototype.restore.call(this,e,n),e.sortMethod&&(this.sort=e.sortMethod)},e}(r.a);e.a=g},function(t,e,n){"use strict";function i(t){return void 0===t&&(t="S"),{type:"selection",label:t}}var r=n(0),A=(n.n(r),n(3));e.b=i;var o=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},a=function(t){function e(e,n){var i=t.call(this,e,n)||this;return i.setCompressed(!0),i}return o(e,t),e.prototype.createEventList=function(){return t.prototype.createEventList.call(this).concat([e.EVENT_SELECT])},e.prototype.setValue=function(t,e,n){return this.getValue(t,e)===n||this.setImpl(t,e,n)},e.prototype.setImpl=function(t,n,i){return this.desc.setter&&this.desc.setter(t,n,i),this.fire(e.EVENT_SELECT,t,i),!0},e.prototype.toggleValue=function(t,e){var n=this.getValue(t,e);return this.setImpl(t,e,!n),!n},e.prototype.compare=function(t,e,i,A){return n.i(r.ascending)(this.getValue(t,i),this.getValue(e,A))},e}(A.a);e.a=a,a.EVENT_SELECT="select"},function(t,e,n){"use strict";var i,r=n(0),A=(n.n(r),n(1)),o=n(12),a=n(2),c=n(10),s=n(8),u=n(7),g=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)};!function(t){t[t.DIRTY=0]="DIRTY",t[t.SCROLLED=1]="SCROLLED"}(i||(i={}));var l=function(t){function e(e,i,o,a,c){void 0===c&&(c={});var s=t.call(this)||this;return s.data=e,s.slicer=o,s.options={rowHeight:20,rowPadding:1,rowBarPadding:1,idPrefix:"",slopeWidth:150,columnPadding:5,stacked:!0,animation:!1,animationDuration:1e3,renderers:n.i(A.a)({},u.renderers),meanLine:!1,actions:[],freezeCols:0},s.histCache=new Map,n.i(A.a)(s.options,c),s.$node=r.select(i).append(a).classed("lu-body",!0),s.changeDataStorage(e),s}return g(e,t),e.prototype.createEventList=function(){return t.prototype.createEventList.call(this).concat([e.EVENT_HOVER_CHANGED,e.EVENT_RENDER_FINISHED])},Object.defineProperty(e.prototype,"node",{get:function(){return this.$node.node()},enumerable:!0,configurable:!0}),e.prototype.setOption=function(t,e){this.options[t]=e},e.prototype.changeDataStorage=function(t){this.data&&this.data.on([s.a.EVENT_DIRTY_VALUES+".bodyRenderer",s.a.EVENT_SELECTION_CHANGED+".bodyRenderer"],null),this.data=t,t.on(s.a.EVENT_DIRTY_VALUES+".bodyRenderer",n.i(A.d)(this.update.bind(this),1)),t.on(s.a.EVENT_SELECTION_CHANGED+".bodyRenderer",n.i(A.d)(this.drawSelection.bind(this),1))},e.prototype.showMeanLine=function(t){return this.options.meanLine&&n.i(o.isNumberColumn)(t)&&!t.getCompressed()&&t.parent instanceof o.Ranking},e.prototype.fireFinished=function(){this.fire(e.EVENT_RENDER_FINISHED,this)},e.prototype.createContext=function(t,e){function n(t,e){if(t in r)return r[t];if(t.indexOf(".")>0){var n=t.substring(0,t.indexOf("."));if(t=t.substring(t.indexOf(".")+1),n in r&&t in r[n])return r[n][t]}return e}var i=this,r=this.options;return{cellY:function(e){return(e+t)*i.options.rowHeight},cellPrevY:function(e){return(e+t)*i.options.rowHeight},idPrefix:r.idPrefix,option:n,rowHeight:function(){return r.rowHeight-r.rowPadding},renderer:function(t){return e(t,r.renderers,this)}}},e.prototype.select=function(t,e){return void 0===e&&(e=!1),this.data.toggleSelection(t,e)},e.prototype.fakeHover=function(t){this.mouseOver(t,!0)},e.prototype.mouseOver=function(t,n){void 0===n&&(n=!0),this.fire(e.EVENT_HOVER_CHANGED,n?t:-1)},e.prototype.scrolled=function(){return this.update(i.SCROLLED)},e.prototype.update=function(t){var e=this;void 0===t&&(t=i.DIRTY);var A=this.data.getRankings(),o=r.max(A,function(t){return t.getOrder().length})||0,s=this.options.rowHeight*o,u=this.slicer(0,o,function(t){return t*e.options.rowHeight}),g=function(t){return 0===u.from&&t.length<=u.to?t:t.slice(u.from,Math.min(t.length,u.to))},l=this.createContextImpl(u.from),M=A.map(function(t){return g(t.getOrder())}),h=this.data.fetch(M),d=this.options.columnPadding,f=0,I=A.map(function(t,i){var r=t.children.filter(function(t){return!t.isHidden()}),A=f,o=0,s=r.map(function(t){var e=o;return o+=(t.getCompressed()?a.a.COMPRESSED_WIDTH:t.getWidth())+d,!n.i(c.a)(t)||t.getCollapsed()||t.getCompressed()||(o+=d*(t.length-1)),{column:t,renderer:l.renderer(t),shift:e}});f+=o,f+=e.options.slopeWidth;var u=s.slice(0,e.options.freezeCols);return{id:t.id,ranking:t,order:M[i],shift:A,width:o,frozen:u,frozenWidth:Math.max.apply(Math,u.map(function(t){return t.shift+t.column.getWidth()})),columns:s.slice(e.options.freezeCols),data:h[i]}});return f-=this.options.slopeWidth,this.updateImpl(I,l,f,s,t).then(this.fireFinished.bind(this))},e}(A.c);l.EVENT_HOVER_CHANGED="hoverChanged",l.EVENT_RENDER_FINISHED="renderFinished",e.a=l},function(t,e,n){"use strict";function i(t){var e=s.scale.category10().range().slice();return t.forEach(function(t){switch(t.type){case"number":t.color=e.shift()}}),t}var r=n(8),A=n(7),o=n(31),a=n(21),c=n(1),s=n(0);n.n(s);e.b=i;var u=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},g=function(t){function e(i,a,u){void 0===u&&(u={});var g=t.call(this)||this;return g.data=a,g.config={idPrefix:Math.random().toString(36).slice(-8).substr(0,3),header:{headerHeight:20,headerHistogramHeight:40,autoRotateLabels:!1,rotationHeight:50,rotationDegree:-20,rankingButtons:o.dummyRankingButtonHook,linkTemplates:[]},htmlLayout:{},renderingOptions:{stacked:!0,animation:!0,histograms:!1,meanLine:!1},body:{renderer:"svg",rowHeight:18,rowPadding:1,rowBarPadding:1,visibleRowsOnly:!0,backupScrollRows:4,animationDuration:1e3,freezeCols:0,actions:[]},svgLayout:{},manipulative:!0,pool:!1,renderers:n.i(c.a)({},A.renderers)},g.body=null,g.header=null,g.pools=[],g.contentScroller=null,g.isUpdateInitialized=!1,g.$container=i instanceof s.selection?i:n.i(s.select)(i),g.$container=g.$container.append("div").classed("lu",!0),g.config.svgLayout=g.config.body,g.config.htmlLayout=g.config.header,n.i(c.a)(g.config,u),g.data.on(r.a.EVENT_SELECTION_CHANGED+".main",g.triggerSelection.bind(g)),g.data.on(r.a.EVENT_JUMP_TO_NEAREST+".main",g.jumpToNearest.bind(g)),g.header=new o.HeaderRenderer(a,g.node,n.i(c.a)({},g.config.header,{idPrefix:g.config.idPrefix,manipulative:g.config.manipulative,histograms:g.config.renderingOptions.histograms,freezeCols:g.config.body.freezeCols})),g.body=n.i(o.createBodyRenderer)(g.config.body.renderer,a,g.node,g.slice.bind(g),n.i(c.a)({},g.config.body,{meanLine:g.config.renderingOptions.meanLine,animation:g.config.renderingOptions.animation,stacked:g.config.renderingOptions.stacked,idPrefix:g.config.idPrefix,renderers:g.config.renderers})),g.body.histCache=g.header.sharedHistCache,g.forward(g.body,e.EVENT_HOVER_CHANGED),g.config.pool&&g.config.manipulative&&g.addPool(new o.PoolRenderer(a,g.node,g.config)),g.config.body.visibleRowsOnly&&(g.contentScroller=new c.b(g.$container.node(),g.body.node,{backupRows:g.config.body.backupScrollRows,rowHeight:g.config.body.rowHeight,topShift:function(){return g.header.currentHeight()}}),g.contentScroller.on(c.b.EVENT_SCROLL,function(t,e){g.header.$node.style("transform","translate(0px, "+t+"px)"),g.config.body.freezeCols>0&&(g.header.updateFreeze(e),g.body.updateFreeze(e))}),g.contentScroller.on(c.b.EVENT_REDRAW,g.body.scrolled.bind(g.body))),g}return u(e,t),e.prototype.createEventList=function(){return t.prototype.createEventList.call(this).concat([e.EVENT_HOVER_CHANGED,e.EVENT_SELECTION_CHANGED,e.EVENT_MULTISELECTION_CHANGED,e.EVENT_UPDATE_START,e.EVENT_UPDATE_FINISHED])},e.prototype.addPool=function(t,e){return void 0===e&&(e=this.config),t instanceof o.PoolRenderer?this.pools.push(t):this.pools.push(new o.PoolRenderer(this.data,t,e)),this.pools[this.pools.length-1]},Object.defineProperty(e.prototype,"node",{get:function(){return this.$container.node()},enumerable:!0,configurable:!0}),e.prototype.slice=function(t,e,n){return this.contentScroller?this.contentScroller.select(t,e,n):{from:t,to:e}},e.prototype.destroy=function(){this.pools.forEach(function(t){return t.remove()}),this.$container.remove(),this.contentScroller&&this.contentScroller.destroy()},e.prototype.sortBy=function(t,e){void 0===e&&(e=!1);var n=this.data.find(t);return n&&n.sortByMe(e),null!==n},e.prototype.dump=function(){return this.data.dump()},e.prototype.changeDataStorage=function(t,e){this.data&&this.data.on([r.a.EVENT_SELECTION_CHANGED+".main",r.a.EVENT_JUMP_TO_NEAREST+".main"],null),this.data=t,e&&this.data.restore(e),this.data.on(r.a.EVENT_SELECTION_CHANGED+".main",this.triggerSelection.bind(this)),this.data.on(r.a.EVENT_JUMP_TO_NEAREST+".main",this.jumpToNearest.bind(this)),this.header.changeDataStorage(t),this.body.changeDataStorage(t),this.pools.forEach(function(e){return e.changeDataStorage(t)}),this.update()},e.prototype.triggerSelection=function(t){this.fire(e.EVENT_SELECTION_CHANGED,t.length>0?t[0]:-1),this.fire(e.EVENT_MULTISELECTION_CHANGED,t)},e.prototype.jumpToNearest=function(t){var e=this,n=this.data.getRankings()[0];if(0!==t.length&&void 0!==n){var i=n.getOrder(),r=t.map(function(t){return i.indexOf(t)}).sort(function(t,e){return t-e});if(this.contentScroller)this.contentScroller.scrollIntoView(0,i.length,r[0],function(t){return t*e.config.body.rowHeight});else{this.$container.node().scrollTop=r[0]*this.config.body.rowHeight}setTimeout(function(){e.body.fakeHover(i[r[0]])},100)}},e.prototype.restore=function(t){this.changeDataStorage(this.data,t)},e.prototype.update=function(){var t=this,n=this.isUpdateInitialized?1:3;this.isUpdateInitialized=!0,this.fire(e.EVENT_UPDATE_START),this.header.update(),this.body.update(),this.pools.forEach(function(t){return t.update()}),this.body.on(a.a.EVENT_RENDER_FINISHED+".main",function(){0===(n-=1)&&t.fire(e.EVENT_UPDATE_FINISHED)})},e.prototype.changeRenderingOption=function(t,e){this.config.renderingOptions[t]=e,"animation"!==t&&"stacked"!==t||(this.body.setOption(t,e),this.body.update())},e}(c.c);e.a=g,g.EVENT_HOVER_CHANGED=a.a.EVENT_HOVER_CHANGED,g.EVENT_SELECTION_CHANGED=r.a.EVENT_SELECTION_CHANGED,g.EVENT_MULTISELECTION_CHANGED="multiSelectionChanged",g.EVENT_UPDATE_START="updateStart",g.EVENT_UPDATE_FINISHED="updateFinished"},function(t,e,n){"use strict";var i=n(2),r=n(6),A=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=function(t){function e(e,n){var i=t.call(this,e,n)||this;return i.link=null,i.link=n.link,i}return A(e,t),Object.defineProperty(e.prototype,"headerCssClass",{get:function(){return null==this.link?"link":"link link_pattern"},enumerable:!0,configurable:!0}),e.prototype.createEventList=function(){return t.prototype.createEventList.call(this).concat([e.EVENT_LINK_CHANGED])},e.prototype.setLink=function(t){t!=this.link&&this.fire([e.EVENT_LINK_CHANGED,i.a.EVENT_DIRTY_HEADER,i.a.EVENT_DIRTY_VALUES,i.a.EVENT_DIRTY],this.link,this.link=t)},e.prototype.getLink=function(){return this.link||""},e.prototype.dump=function(e){var n=t.prototype.dump.call(this,e);return this.link!=this.desc.link&&(n.link=this.link),n},e.prototype.restore=function(e,n){t.prototype.restore.call(this,e,n),e.link&&(this.link=e.link)},e.prototype.getLabel=function(e,n){var i=t.prototype.getRaw.call(this,e,n);return i&&i.alt?i.alt:""+i},e.prototype.isLink=function(e,n){if(this.link)return!0;var i=t.prototype.getRaw.call(this,e,n);return i&&null!=i.href},e.prototype.getValue=function(e,n){var i=t.prototype.getRaw.call(this,e,n);return i&&i.href?i.href:this.link?this.link.replace(/\$1/g,i||""):i},e}(r.a);e.a=o,o.EVENT_LINK_CHANGED="linkChanged"},function(t,e,n){"use strict";function i(t){return void 0===t&&(t="Max"),{type:"max",label:t}}var r=n(0),A=(n.n(r),n(11));e.b=i;var o=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.getColor=function(t,e){var n=this._children;if(0===n.length)return this.color;for(var i=0,r=n[0].getValue(t,e),A=1;A<n.length;++A){var o=n[A].getValue(t,e);o>r&&(i=A,r=o)}return n[i].color},e.prototype.compute=function(t,e){return n.i(r.max)(this._children,function(n){return n.getValue(t,e)})},e.prototype.toSortingDesc=function(t){return{operation:"max",operands:this._children.map(function(e){return e.toSortingDesc(t)})}},e}(A.a);e.a=a},function(t,e,n){"use strict";function i(t){return void 0===t&&(t="Mean"),{type:"mean",label:t}}var r=n(0),A=(n.n(r),n(11));e.b=i;var o=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.compute=function(t,e){return n.i(r.mean)(this._children,function(n){return n.getValue(t,e)})},e.prototype.toSortingDesc=function(t){return{operation:"avg",operands:this._children.map(function(e){return e.toSortingDesc(t)})}},e}(A.a);e.a=a},function(t,e,n){"use strict";function i(t){return void 0===t&&(t="Min"),{type:"min",label:t}}var r=n(0),A=(n.n(r),n(11));e.b=i;var o=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.getColor=function(t,e){var n=this._children;if(0===n.length)return this.color;for(var i=0,r=n[0].getValue(t,e),A=1;A<n.length;++A){var o=n[A].getValue(t,e);o<r&&(i=A,r=o),A++}return n[i].color},e.prototype.compute=function(t,e){return n.i(r.min)(this._children,function(n){return n.getValue(t,e)})},e.prototype.toSortingDesc=function(t){return{operation:"min",operands:this._children.map(function(e){return e.toSortingDesc(t)})}},e}(A.a);e.a=a},function(t,e,n){"use strict";function i(t){return void 0===t&&(t="Nested"),{type:"nested",label:t}}var r=n(52);e.b=i;var A=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return A(e,t),e.prototype.compare=function(t,e,n,i){for(var r=this.children,A=0,o=r;A<o.length;A++){var a=o[A],c=a.compare(t,e,n,i);if(0!==c)return c}return 0},e.prototype.getLabel=function(t,e){return this.children.map(function(n){return n.getLabel(t,e)}).join(";")},e.prototype.getValue=function(t,e){return this.children.map(function(n){return n.getValue(t,e)}).join(";")},e}(r.a);e.a=o},function(t,e,n){"use strict";var i=n(1);n.d(e,"a",function(){return r});var r=function(){function t(t,e){void 0===t&&(t="text"),void 0===e&&(e="left"),this.textClass=t,this.align=e,this.textClass=t,this.align=e}return t.prototype.createSVG=function(t,e){var r=this;return{template:'<text class="'+this.textClass+'" clip-path="url(#cp'+e.idPrefix+"clipCol"+t.id+')"></text>',update:function(e,A){var o=2;"right"===r.align?o=t.getWidth()-5:"center"===r.align&&(o=.5*t.getWidth()),n.i(i.h)(e,{x:o}),e.textContent=t.getLabel(A.v,A.dataIndex)}}},t.prototype.createHTML=function(t,e){return{template:'<div class="'+this.textClass+" "+this.align+'"></div>',update:function(e,r){n.i(i.h)(e,{},{width:t.getWidth()+"px"}),e.textContent=t.getLabel(r.v,r.dataIndex)}}},t.prototype.createCanvas=function(t,e){var r=this;return function(A,o){var a=A.textAlign;A.textAlign=r.align;var c=t.getWidth(),s=0;"center"===r.align?s=c/2:"right"===r.align&&(s=c),n.i(i.g)(A,t.getLabel(o.v,o.dataIndex),s,0,c,e.textHints),A.textAlign=a}},t}()},function(t,e,n){"use strict";var i=n(0),r=(n.n(i),n(1)),A=n(21),o=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},a=function(t){function e(e,n,i,r,A){void 0===A&&(A={});var o=t.call(this,e,n,i,r.root,A)||this;return o.domMapping=r,o.currentFreezeLeft=0,o}return o(e,t),e.prototype.animated=function(t){return this.options.animationDuration>0&&this.options.animation?t.transition().duration(this.options.animationDuration):t},e.prototype.renderRankings=function(t,e,A,o){var a=this,c=this,s=this.domMapping,u=this.domMapping.g,g=t.selectAll(u+".ranking").data(e,function(t){return t.id}),l=g.enter().append(u).attr("class","ranking").call(s.transform,function(t){return[t.shift,0]});l.append(u).attr("class","rows"),l.append(u).attr("class","meanlines").attr("clip-path","url(#c"+this.options.idPrefix+"Freeze)"),this.animated(g).call(s.transform,function(t,e){return[t.shift,0]});var M=[],h=g.select(u+".rows").selectAll(u+".row").data(function(t){return t.order},String),d=h.enter().append(u).attr("class","row");d.call(s.transform,function(t,e){return[0,A.cellPrevY(e)]}),d.append(s.bg).attr("class","bg"),d.on("mouseenter",function(t){return a.mouseOver(t,!0)}).on("mouseleave",function(t){return a.mouseOver(t,!1)}).on("click",function(t){return a.select(t,i.event.ctrlKey)});var f=function(t,e){n.i(r.i)(t,e),e.forEach(function(e,n){var i=t.childNodes[n];s.translate(i,e.shift,0)})};d.append(u).attr("class","cols").attr("clip-path","url(#c"+this.options.idPrefix+"Freeze)").each(function(t,n,i){f(this,e[i].columns)}),d.append(u).attr("class","frozen").call(this.domMapping.transform,function(){return[a.currentFreezeLeft,0]}).each(function(t,n,i){f(this,e[i].frozen)}),h.attr("class",function(t,e){return"row "+(e%2==0?"even":"")}).attr("data-data-index",function(t){return t}).classed("selected",function(t){return a.data.isSelected(t)}),this.animated(h).call(s.transform,function(t,e){return[0,A.cellY(e)]}),h.select(s.bg).attr("class","bg").call(s.updateBG,function(t,n,i){return[e[i].width,A.rowHeight(n)]});var I=function(t,e,i,A){return e.data[i].then(function(e){n.i(r.i)(t,A),A.forEach(function(n,r){var A=t.childNodes[r];s.translate(A,n.shift,0),n.renderer.update(A,e,i)})})};h.select(u+".cols").each(function(t,n,i){M.push(I(this,e[i],n,e[i].columns))});var E=0===e.length||0===e[0].frozen.length?0:i.max(e[0].frozen,function(t){return t.shift+t.column.getWidth()});h.select(u+".frozen").each(function(t,n,i){s.setSize(this,E,c.options.rowHeight),M.push(I(this,e[i],n,e[i].frozen))}),h.exit().remove();var T=g.select(u+".meanlines").selectAll(s.meanLine+".meanline").data(function(t){return t.columns.filter(function(t){return a.showMeanLine(t.column)})});return T.enter().append(s.meanLine).attr("class","meanline"),T.each(function(t){var e=c.histCache.get(t.column.id),n=i.select(this);e&&e.then(function(e){var i=t.shift+t.column.getWidth()*e.mean;s.updateMeanLine(n,isNaN(i)?0:i,o)})}),T.exit().remove(),g.exit().remove(),Promise.all(M)},e.prototype.select=function(e,n){void 0===n&&(n=!1);var i=t.prototype.select.call(this,e,n);return this.$node.selectAll('[data-data-index="'+e+'"]').classed("selected",i),i},e.prototype.drawSelection=function(){var t=this.data.getSelection();if(n.i(r.j)(this.node,".selected",function(t){return t.classList.remove("selected")}),0!==t.length){var e=t.map(function(t){return"[data-data-index='"+t+"']"}).join(",");n.i(r.j)(this.node,e,function(t){return t.classList.add("selected")})}},e.prototype.mouseOver=function(e,i){function A(t){t.classList.add("hover")}void 0===i&&(i=!0),t.prototype.mouseOver.call(this,e,i),n.i(r.j)(this.node,".hover",function(t){return t.classList.remove("hover")}),i&&n.i(r.j)(this.node,"[data-data-index='"+e+"']",A)},e.prototype.renderSlopeGraphs=function(t,e,n,i){var r=this,A=e.slice(1).map(function(t,n){return{left:e[n].order,left_i:n,right:t.order,right_i:n+1}}),o=t.selectAll(this.domMapping.slopes+".slopegraph").data(A);o.enter().append(this.domMapping.slopes).attr("class","slopegraph"),o.call(this.domMapping.updateSlopes,this.options.slopeWidth,i,function(t,n){return e[n+1].shift-r.options.slopeWidth});var a=o.selectAll("line.slope").data(function(t){var e=new Map;return t.right.forEach(function(t,n){return e.set(t,n)}),t.left.map(function(t,n){return{dataIndex:t,lpos:n,rpos:e.get(t)}}).filter(function(t){return null!=t.rpos})});a.enter().append("line").attr({class:"slope",x2:this.options.slopeWidth}).on("mouseenter",function(t){return r.mouseOver(t.dataIndex,!0)}).on("mouseleave",function(t){return r.mouseOver(t.dataIndex,!1)}),a.attr("data-data-index",function(t){return t.dataIndex}),a.attr({y1:function(t){return.5*n.rowHeight(t.lpos)+n.cellY(t.lpos)},y2:function(t){return.5*n.rowHeight(t.rpos)+n.cellY(t.rpos)}}),a.exit().remove(),o.exit().remove()},e.prototype.updateFreeze=function(t){var e=this;n.i(r.j)(this.node,this.domMapping.g+".row .frozen",function(n){e.domMapping.translate(n,t,0)});var i=this.node.querySelector("clipPath#c"+this.options.idPrefix+"Freeze");i&&this.domMapping.translate(i,t,0),this.currentFreezeLeft=t},e.prototype.createContextImpl=function(t){return this.createContext(t,this.domMapping.creator)},e.prototype.updateImpl=function(t,e,n,i,r){this.domMapping.setSize(this.node,Math.max(0,n),i);var A=this.$node.select(this.domMapping.g+".body");return A.empty()&&(A=this.$node.append(this.domMapping.g).classed("body",!0)),this.renderSlopeGraphs(A,t,e,i),this.updateClipPaths(t,e,i),this.renderRankings(A,t,e,i)},e}(A.a);e.a=a},function(t,e,n){"use strict";function i(t){var e=t.label;return null!=t.description&&""!==t.description&&(e+="\n"+t.description),e}function r(){return null}function A(t){return!n.i(g.a)(t)||t.getCollapsed()||t.getCompressed()?1:1+Math.max.apply(Math,t.children.map(A))}var o=n(0),a=(n.n(o),n(1)),c=n(2),s=n(6),u=n(16),g=n(10),l=n(5),M=n(14),h=n(15),d=n(18),f=n(23),I=n(17),E=n(8),T=n(19),N=n(13),y=n(43),p=n(40),C=n(38),D=n(41),x=n(46),B=n(44),w=n(45),m=n(35),Q=n(36),v=n(39),j=n(37),L=n(42);e.c=i,e.b=r;var S=function(){function t(t,e,i){var A=this;this.data=t,this.options={idPrefix:"",slopeWidth:150,columnPadding:5,headerHistogramHeight:40,headerHeight:20,manipulative:!0,histograms:!1,filters:{string:w.a,boolean:m.a,categorical:Q.a,number:v.a,ordinal:j.a},linkTemplates:[],searchAble:function(t){return t instanceof s.a},sortOnLabel:!0,autoRotateLabels:!1,rotationHeight:50,rotationDegree:-20,freezeCols:0,rankingButtons:r},this.histCache=new Map,this.dragHandler=o.behavior.drag().on("dragstart",function(){o.select(this).classed("dragging",!0),o.event.sourceEvent.stopPropagation(),o.event.sourceEvent.preventDefault()}).on("drag",function(t){var e=Math.max(o.mouse(this.parentNode)[0],2);t.setWidth(e),o.event.sourceEvent.stopPropagation(),o.event.sourceEvent.preventDefault()}).on("dragend",function(){o.select(this).classed("dragging",!1),o.event.sourceEvent.stopPropagation(),o.event.sourceEvent.preventDefault()}),this.dropHandler=n.i(a.l)(["application/caleydo-lineup-column-ref","application/caleydo-lineup-column"],function(t,e,n){var i=null;if("application/caleydo-lineup-column-ref"in t){var r=t["application/caleydo-lineup-column-ref"];i=A.data.find(r),n?i=A.data.clone(i):i.removeMe()}else{var o=JSON.parse(t["application/caleydo-lineup-column"]);i=A.data.create(A.data.fromDescRef(o))}return e instanceof c.a?null!=e.insertAfterMe(i):null!==A.data.getLastRanking().push(i)}),n.i(a.a)(this.options,i),this.$node=o.select(e).append("div").classed("lu-header",!0),this.$node.append("div").classed("drop",!0).call(this.dropHandler),this.changeDataStorage(t)}return t.prototype.changeDataStorage=function(t){var e=this;this.data&&this.data.on([E.a.EVENT_DIRTY_HEADER+".headerRenderer",E.a.EVENT_ORDER_CHANGED+".headerRenderer",E.a.EVENT_SELECTION_CHANGED+".headerRenderer"],null),this.data=t,t.on(E.a.EVENT_DIRTY_HEADER+".headerRenderer",n.i(a.d)(this.update.bind(this),1)),this.options.histograms&&(t.on(E.a.EVENT_ORDER_CHANGED+".headerRenderer",function(){e.updateHist(),e.update()}),t.on(E.a.EVENT_SELECTION_CHANGED+".headerRenderer",n.i(a.d)(this.drawSelection.bind(this),1)))},Object.defineProperty(t.prototype,"sharedHistCache",{get:function(){return this.histCache},enumerable:!0,configurable:!0}),t.prototype.currentHeight=function(){return parseInt(this.$node.style("height"),10)},t.prototype.updateHist=function(){var t=this;this.data.getRankings().forEach(function(e){var i=e.getOrder(),r=e.flatColumns,A=null==i?null:t.data.stats(i);r.filter(function(t){return t instanceof l.b&&!t.isHidden()}).forEach(function(e){t.histCache.set(e.id,null===A?null:A.stats(e))}),r.filter(function(t){return n.i(M.b)(t)&&!t.isHidden()}).forEach(function(e){t.histCache.set(e.id,null===A?null:A.hist(e))})})},t.prototype.drawSelection=function(){var t=this;if(this.options.histograms){var e=this.$node.node();n.i(a.j)(e,"div.bar",function(t){return t.classList.remove("selected")});var i=this.data.getSelection();i.length<=0||this.data.view(i).then(function(r){t.data.getRankings().forEach(function(t){var A=t.flatColumns;A.filter(function(t){return t instanceof l.b&&!t.isHidden()}).forEach(function(t){var n=[].slice.call(e.querySelectorAll('div.header[data-id="'+t.id+'"] div.bar'));r.forEach(function(e,r){for(var A=t.getValue(e,i[r]),o=1;o<n.length;++o){var a=n[o];if(a.dataset.x>A){n[o-1].classList.add("selected");break}if(o===n.length-1){a.classList.add("selected");break}}})}),A.filter(function(t){return n.i(M.b)(t)&&!t.isHidden()}).forEach(function(t){var n=e.querySelector('div.header[data-id="'+t.id+'"]');r.forEach(function(e,r){(t.getCategories(e,i[r])||[]).forEach(function(t){n.querySelector('div.bar[data-cat="'+t+'"]').classList.add("selected")})})})})})}},t.prototype.renderRankingButtons=function(t,e){var n=this.$node.selectAll("div.rankingbuttons").data(t);n.enter().append("div").classed("rankingbuttons",!0).call(this.options.rankingButtons),n.style("left",function(t,n){return e[n]+"px"}),n.exit().remove()},t.prototype.update=function(){var t=this,e=this,n=this.data.getRankings(),i=[],a=[],c=0;n.forEach(function(e){c+=e.flatten(i,c,1,t.options.columnPadding)+t.options.slopeWidth,a.push(c-t.options.slopeWidth)}),c-=this.options.slopeWidth,this.$node.select("div.drop").style("width",c+"px");var s=i.map(function(t){return t.col});this.options.histograms&&0===this.histCache.size&&n.length>0&&this.updateHist(),this.renderColumns(s,i),this.options.rankingButtons!==r&&this.renderRankingButtons(n,a);var u=Math.max.apply(Math,s.map(A)),g=(this.options.histograms?this.options.headerHistogramHeight:this.options.headerHeight)+(u-1)*this.options.headerHeight;if(this.options.autoRotateLabels){var l=!1;this.$node.selectAll("div.header").style("height",g+"px").select("div.lu-label").each(function(t){this.querySelector("span.lu-label").offsetWidth>t.getWidth()+30?(o.select(this).style("transform","rotate("+e.options.rotationDegree+"deg)"),l=!0):o.select(this).style("transform",null)}),this.$node.selectAll("div.header").style("margin-top",l?this.options.rotationHeight+"px":null),g+=l?this.options.rotationHeight:0}this.$node.style("height",g+"px")},t.prototype.createToolbar=function(t){var e=this,i=this.data,r=this,A=t.filter(function(t){return!(t instanceof h.a)});A.append("i").attr("class","fa fa-pencil-square-o").attr("title","Rename").on("click",function(t){new p.a(t,o.select(this.parentNode.parentNode)).openDialog(),o.event.stopPropagation()}),A.append("i").attr("class","fa fa-code-fork").attr("title","Generate Snapshot").on("click",function(t){i.takeSnapshot(t),o.event.stopPropagation()}),t.filter(function(t){return t instanceof T.a||t instanceof N.a}).append("i").attr("class","fa fa-sort").attr("title","Sort By").on("click",function(t){new B.a(t,o.select(this.parentNode.parentNode)).openDialog(),o.event.stopPropagation()}),t.filter(function(t){return t.getRendererList().length>1}).append("i").attr("class","fa fa-exchange").attr("title","Change Visualization").on("click",function(t){new D.a(t,o.select(this.parentNode.parentNode)).openDialog(),o.event.stopPropagation()}),t.filter(function(t){return t instanceof f.a}).append("i").attr("class","fa fa-external-link").attr("title","Edit Link Pattern").on("click",function(t){new C.a(t,o.select(this.parentNode.parentNode),r.options.idPrefix,[].concat(t.desc.templates||[],r.options.linkTemplates)).openDialog(),o.event.stopPropagation()}),t.filter(function(t){return t instanceof I.a}).append("i").attr("class","fa fa-gears").attr("title","Edit Combine Script").on("click",function(t){new L.a(t,o.select(this.parentNode.parentNode)).openDialog(),o.event.stopPropagation()}),t.filter(function(t){return e.options.filters.hasOwnProperty(t.desc.type)}).append("i").attr("class","fa fa-filter").attr("title","Filter").on("click",function(t){var n=o.event.target;new e.options.filters[t.desc.type](t,o.select(n.parentNode),"",i,r.options.idPrefix).openDialog(),o.event.stopPropagation()}),t.filter(function(t){return e.options.searchAble(t)}).append("i").attr("class","fa fa-search").attr("title","Search").on("click",function(t){new y.a(t,o.select(this.parentNode.parentNode),i).openDialog(),o.event.stopPropagation()}),t.filter(function(t){return t instanceof d.a}).append("i").attr("class","fa fa-tasks").attr("title","Edit Weights").on("click",function(t){new x.a(t,o.select(this.parentNode.parentNode)).openDialog(),o.event.stopPropagation()}),A.append("i").attr("class","fa").classed("fa-toggle-left",function(t){return!t.getCompressed()}).classed("fa-toggle-right",function(t){return t.getCompressed()}).attr("title","(Un)Collapse").on("click",function(t){t.setCompressed(!t.getCompressed()),o.select(this).classed("fa-toggle-left",!t.getCompressed()).classed("fa-toggle-right",t.getCompressed()),o.event.stopPropagation()}),t.filter(function(t){return n.i(g.a)(t)}).append("i").attr("class","fa").classed("fa-compress",function(t){return!t.getCollapsed()}).classed("fa-expand",function(t){return t.getCollapsed()}).attr("title","Compress/Expand").on("click",function(t){t.setCollapsed(!t.getCollapsed()),o.select(this).classed("fa-compress",!t.getCollapsed()).classed("fa-expand",t.getCollapsed()),o.event.stopPropagation()}),t.append("i").attr("class","fa fa-times").attr("title","Hide").on("click",function(t){t instanceof h.a?(i.removeRanking(t.findMyRanker()),0===i.getRankings().length&&i.pushRanking()):t.removeMe(),o.event.stopPropagation()})},t.prototype.updateFreeze=function(t){var e=this.options.freezeCols;this.$node.selectAll("div.header").style("z-index",function(t,n){return n<e?1:null}).style("transform",function(n,i){return i<e?"translate("+t+"px,0)":null})},t.prototype.renderColumns=function(t,e,r,A){var c=this;void 0===r&&(r=this.$node),void 0===A&&(A="header");var s=this,h=r.selectAll("div."+A).data(t,function(t){return t.id}),f=h.enter().append("div").attr("class",A).on("click",function(t){var e=o.event;c.options.manipulative&&!e.defaultPrevented&&e.currentTarget===e.target&&t.toggleMySorting()}),I=f.append("div").classed("lu-label",!0).on("click",function(t){var e=o.event;c.options.manipulative&&!e.defaultPrevented&&t.toggleMySorting()}).on("dragstart",function(t){var e=o.event;e.dataTransfer.effectAllowed="copyMove",e.dataTransfer.setData("text/plain",t.label),e.dataTransfer.setData("application/caleydo-lineup-column-ref",t.id);var i=JSON.stringify(c.data.toDescRef(t.desc));e.dataTransfer.setData("application/caleydo-lineup-column",i),n.i(l.a)(t)&&(e.dataTransfer.setData("application/caleydo-lineup-column-number",i),e.dataTransfer.setData("application/caleydo-lineup-column-number-ref",t.id))});I.append("i").attr("class","fa fa sort_indicator"),I.append("span").classed("lu-label",!0).attr({draggable:this.options.manipulative}),this.options.manipulative&&(f.append("div").classed("handle",!0).call(this.dragHandler).style("width",this.options.columnPadding+"px").call(this.dropHandler),f.append("div").classed("toolbar",!0).call(this.createToolbar.bind(this))),this.options.histograms&&f.append("div").classed("histogram",!0),h.style({width:function(t,n){return e[n].width+c.options.columnPadding+"px"},left:function(t,n){return e[n].offset+"px"},"background-color":function(t){return t.color}}),h.attr({class:function(t){return A+" "+(t.cssClass||"")+" "+(t.getCompressed()?"compressed":"")+" "+t.headerCssClass+" "+(c.options.autoRotateLabels?"rotateable":"")+" "+(t.isFiltered()?"filtered":"")},title:function(t){return i(t)},"data-id":function(t){return t.id}}),h.select("i.sort_indicator").attr("class",function(t){var e=t.findMyRanker();return e&&e.getSortCriteria().col===t?"sort_indicator fa fa-sort-"+(e.getSortCriteria().asc?"asc":"desc"):"sort_indicator fa"}),h.select("span.lu-label").text(function(t){return t.label});var E=function(t,e){if("application/caleydo-lineup-column-number-ref"in t){var n=t["application/caleydo-lineup-column-number-ref"],i=c.data.find(n);return e?i=c.data.clone(i):i&&i.removeMe(),i}var r=JSON.parse(t["application/caleydo-lineup-column-number"]);return c.data.create(c.data.fromDescRef(r))};h.filter(function(t){return n.i(g.a)(t)}).each(function(t){if(t.getCollapsed()||t.getCompressed())o.select(this).selectAll("div."+A+"_i").remove();else{var e=[];t.flatten(e,0,1,s.options.columnPadding);var n=e.map(function(t){return t.col});s.renderColumns(n,e,o.select(this),A+("_i"!==A.substr(A.length-2)?"_i":""))}}).select("div.lu-label").call(n.i(a.l)(["application/caleydo-lineup-column-number-ref","application/caleydo-lineup-column-number"],function(t,e,n){var i=E(t,n);return null!=e.push(i)})),h.filter(function(t){return t.parent instanceof u.a&&n.i(l.a)(t)&&!n.i(g.a)(t)}).select("div.lu-label").call(n.i(a.l)(["application/caleydo-lineup-column-number-ref","application/caleydo-lineup-column-number"],function(t,e,i){var r=E(t,i),A=e.findMyRanker(),o=A.indexOf(e),a=c.data.create(n.i(d.b)());return e.removeMe(),a.push(e),a.push(r),null!=A.insert(a,o)})),this.options.histograms&&(h.filter(function(t){return n.i(M.b)(t)}).each(function(t){var e=o.select(this).select("div.histogram"),n=s.histCache.get(t.id);n&&n.then(function(n){var i=e.selectAll("div.bar").data(n.hist);i.enter().append("div").classed("bar",!0);var r=o.scale.ordinal().domain(t.categories).rangeBands([0,100],.1),A=o.scale.linear().domain([0,n.maxBin]).range([0,100]);i.style({left:function(t){return r(t.cat)+"%"},width:function(t){return r.rangeBand()+"%"},top:function(t){return 100-A(t.y)+"%"},height:function(t){return A(t.y)+"%"},"background-color":function(e){return t.colorOf(e.cat)}}).attr({title:function(t){return t.cat+": "+t.y},"data-cat":function(t){return t.cat}}),i.exit().remove()})}),h.filter(function(t){return t instanceof l.b}).each(function(t){var e=o.select(this).select("div.histogram"),n=s.histCache.get(t.id);n&&n.then(function(t){var n=e.selectAll("div.bar").data(t.hist);n.enter().append("div").classed("bar",!0);var i=o.scale.ordinal().domain(o.range(t.hist.length).map(String)).rangeBands([0,100],.1),r=o.scale.linear().domain([0,t.maxBin]).range([0,100]);n.style({left:function(t,e){return i(String(e))+"%"},width:function(t,e){return i.rangeBand()+"%"},top:function(t){return 100-r(t.y)+"%"},height:function(t){return r(t.y)+"%"}}).attr({title:function(t,e){return"Bin "+e+": "+t.y},"data-x":function(t){return t.x}}),n.exit().remove();var A=e.select("div.mean");A.empty()&&(A=e.append("div").classed("mean",!0)),A.style("left",100*t.mean+"%")})})),h.exit().remove()},t}();e.a=S},function(t,e,n){"use strict";function i(t,e,n,i,a){switch(void 0===t&&(t="svg"),void 0===a&&(a={}),t){case"svg":return new r.a(e,n,i,a);case"html":return new A.a(e,n,i,a);case"canvas":return new o.a(e,n,i,a);default:return new r.a(e,n,i,a)}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(74),A=n(72),o=n(71),a=n(30);n.d(e,"HeaderRenderer",function(){return a.a}),n.d(e,"dummyRankingButtonHook",function(){return a.b});var c=n(73);n.d(e,"PoolRenderer",function(){return c.a}),e.createBodyRenderer=i},function(t,e){},function(t,e,n){"use strict";function i(t){return"string"==typeof t&&t.indexOf(".")>=0}function r(t,e){var n=function(t,e){return void 0===t?t:/\d+/.test(e)?t[+e]:t[e]};return t.split(".").reduce(n,e)}function A(t,e,n,A){var o=A.column;return i(o)?r(o,t):t[o]}var o=n(12),a=n(16),c=n(8),s=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},u=function(t){function e(e,n){void 0===e&&(e=[]),void 0===n&&(n={});var i=t.call(this,n)||this;return i.columns=e,i.rankingIndex=0,i.ranks=new Map,e.forEach(function(t){t.accessor=t.accessor||A,t.label=t.label||t.column}),i}return s(e,t),e.prototype.rankAccessor=function(t,e,n,i,r){return this.ranks[r.id].indexOf(e)+1},e.prototype.cloneRanking=function(t){var e=this,i=this.nextRankingId(),r=new a.a(i);return t?(this.ranks[i]=this.ranks[t.id],t.children.forEach(function(t){e.push(r,t.desc)})):r.push(this.create(n.i(o.createRankDesc)())),r},e.prototype.cleanUpRanking=function(t){delete this.ranks[t.id]},e.prototype.sort=function(t){var e=this;return this.sortImpl(t).then(function(n){return e.ranks[t.id]=n,n})},e.prototype.pushDesc=function(t){var e=t;e.accessor=e.accessor||A,e.label=t.label||e.column,this.columns.push(t),this.fire(c.a.EVENT_ADD_DESC,e)},e.prototype.getColumns=function(){return this.columns.slice()},e.prototype.findDesc=function(t){return this.columns.filter(function(e){return e.column===t})[0]},e.prototype.toDescRef=function(t){return t.column?t.type+"@"+t.column:t},e.prototype.fromDescRef=function(t){return"string"==typeof t?this.columns.filter(function(e){return e.type+"@"+e.column===t})[0]:t},e.prototype.restore=function(e){t.prototype.restore.call(this,e),this.rankingIndex=1+Math.max.apply(Math,this.getRankings().map(function(t){return+t.id.substring(4)}))},e.prototype.nextRankingId=function(){return"rank"+this.rankingIndex++},e}(c.a);e.a=u},function(t,e,n){"use strict";function i(t,e,n,i){if(0===t.length)return{min:NaN,max:NaN,mean:NaN,count:0,maxBin:0,hist:[]};var r=function(t,i){return n(t,e[i])},A=a.layout.histogram().value(r);i&&A.range(function(){return i});var o=a.extent(t,r),c=A(t);return{min:o[0],max:o[1],mean:a.mean(t,r),count:t.length,maxBin:a.max(c,function(t){return t.y}),hist:c}}function r(t,e,n,i){var r=new Map;i.forEach(function(t){return r.set(t,0)}),t.forEach(function(t,i){var A=n(t,e[i]);null!=A&&A.forEach(function(t){r.set(t,(r.get(t)||0)+1)})});var A=[];return r.forEach(function(t,e){return A.push({cat:e,y:t})}),{maxBin:Math.max.apply(Math,A.map(function(t){return t.y})),hist:A}}var A=n(2),o=n(1),a=n(0),c=(n.n(a),n(33)),s=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},u=function(t){function e(e,i,r){void 0===i&&(i=[]),void 0===r&&(r={});var A=t.call(this,i,r)||this;A._data=e,A.options={filterGlobally:!1},n.i(o.a)(A.options,r);var a=A;return A.reorderAll=function(){var t=this.source;a.getRankings().forEach(function(e){e!==t&&e.dirtyOrder()})},A}return s(e,t),Object.defineProperty(e.prototype,"data",{get:function(){return this._data},enumerable:!0,configurable:!0}),e.prototype.setData=function(t){this._data=t,this.reorderAll()},e.prototype.clearData=function(){this.setData([])},e.prototype.appendData=function(t){(e=this._data).push.apply(e,t),this.reorderAll();var e},e.prototype.cloneRanking=function(e){var n=t.prototype.cloneRanking.call(this,e);return this.options.filterGlobally&&n.on(A.a.EVENT_FILTER_CHANGED+".reorderAll",this.reorderAll),n},e.prototype.cleanUpRanking=function(e){this.options.filterGlobally&&e.on(A.a.EVENT_FILTER_CHANGED+".reorderAll",null),t.prototype.cleanUpRanking.call(this,e)},e.prototype.sortImpl=function(t){if(0===this._data.length)return Promise.resolve([]);var e=this._data.map(function(t,e){return{row:t,i:e}});if(this.options.filterGlobally){var n=this.getRankings().filter(function(t){return t.isFiltered()});n.length>0&&(e=e.filter(function(t){return n.every(function(e){return e.filter(t.row,t.i)})}))}else t.isFiltered()&&(e=e.filter(function(e){return t.filter(e.row,e.i)}));return e.sort(function(e,n){return t.comparator(e.row,n.row,e.i,n.i)}),Promise.resolve(e.map(function(t){return t.i}))},e.prototype.viewRaw=function(t){var e=this;this._data.length;return t.map(function(t){return e._data[t]})},e.prototype.view=function(t){return Promise.resolve(this.viewRaw(t))},e.prototype.fetch=function(t){var e=this;this._data.length;return t.map(function(t){return t.map(function(t){return Promise.resolve({v:e._data[t],dataIndex:t})})})},e.prototype.stats=function(t){var e=this,n=null,A=function(){return null===n&&(n=e.viewRaw(t)),n};return{stats:function(e){return Promise.resolve(i(A(),t,e.getNumber.bind(e),[0,1]))},hist:function(e){return Promise.resolve(r(A(),t,e.getCategories.bind(e),e.categories))}}},e.prototype.mappingSample=function(t){var e=this,n=this._data.length;if(n<=500)return Promise.resolve(this._data.map(t.getRawValue.bind(t)));for(var i=[],r=0;r<500;++r){for(var A=Math.floor(Math.random()*(n-1));i.indexOf(A)>=0;)A=Math.floor(Math.random()*(n-1));i.push(A)}return Promise.resolve(i.map(function(n){return t.getRawValue(e.data[n],n)}))},e.prototype.searchAndJump=function(t,e){var n=this;t="string"==typeof t?t.toLowerCase():t;var i="string"==typeof t?function(e){return e.toLowerCase().indexOf(t)>=0}:t.test.bind(t),r=a.range(this._data.length).filter(function(t){return i(e.getLabel(n._data[t],t))});this.jumpToNearest(r)},e}(c.a);e.a=u},function(t,e,n){"use strict";var i=n(9),r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},A=function(t){function e(e,n,i){return void 0===i&&(i="Filter"),t.call(this,e,n,i)||this}return r(e,t),e.prototype.openDialog=function(){function t(){var t=i.select('input[type="radio"][value="true"]').property("checked"),e=i.select('input[type="radio"][value="false"]').property("checked");r(!!t||!e&&null)}var e=this,n=this.column.getFilter(),i=this.makePopup('<label><input type="radio" name="boolean_check" value="null" '+(null===n?'checked="checked"':"")+'>No Filter</label><br>\n <label><input type="radio" name="boolean_check" value="true" '+(!0===n?'checked="checked"':"")+'>True</label><br>\n <label><input type="radio" name="boolean_check" value="false" '+(!1===n?'checked="checked"':"")+">False</label>\n <br>"),r=function(t){e.markFiltered(null!==t),e.column.setFilter(t)};i.selectAll('input[type="radio"]').on("change",t),i.select(".cancel").on("click",function(){r(n),i.remove()}),i.select(".reset").on("click",function(){var t=null===n?"null":String(n);i.selectAll('input[type="radio"]').property("checked",function(){return this.value===t}),r(null)}),i.select(".ok").on("click",function(){t(),i.remove()})},e}(i.a);e.a=A},function(t,e,n){"use strict";var i=n(9),r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},A=function(t){function e(e,n,i){return void 0===i&&(i="Filter"),t.call(this,e,n,i)||this}return r(e,t),e.prototype.openDialog=function(){function t(){u.select(".checkmark").html(function(t){return'<i class="fa fa-'+(t.isChecked?"check-":"")+'square-o"></i>'}),u.select(".datalabel").style("opacity",function(t){return t.isChecked?"1.0":".8"})}function e(){o.select(".selectAll").html(function(t){return'<i class="fa fa-'+(l?"check-":"")+'square-o"></i>'}),o.select("thead").on("click",function(){l=!l,s.forEach(function(t){return t.isChecked=l}),t(),e()})}var n=this,i=this.column.getFilter()||{filter:[],filterMissing:!1},r=i.filter||[],A=i.filterMissing,o=this.makePopup('<div class="selectionTable"><table><thead><th class="selectAll"></th><th>Category</th></thead><tbody></tbody></table></div>\n <label><input class="lu_filter_missing" type="checkbox" '+(A?'checked="checked"':"")+">Filter Missing</label><br>"),a=this.column.categoryColors,c=this.column.categoryLabels,s=this.column.categories.map(function(t,e){return{cat:t,label:c[e],isChecked:0===r.length||r.indexOf(t)>=0,color:a[e]}}).sort(this.sortByName("label")),u=o.select("tbody").selectAll("tr").data(s),g=u.enter().append("tr");g.append("td").attr("class","checkmark"),g.append("td").attr("class","datalabel").text(function(t){return t.label}),g.on("click",function(e){e.isChecked=!e.isChecked,t()}),t();var l=!0;e();var M=function(t,e){var i=null===t&&!1===e;n.markFiltered(!i),n.column.setFilter(i?null:{filter:t,filterMissing:e})};o.select(".cancel").on("click",function(){M(r,A),o.remove()}),o.select(".reset").on("click",function(){s.forEach(function(t){return t.isChecked=!0}),t(),M(null,null)}),o.select(".ok").on("click",function(){var t=s.filter(function(t){return t.isChecked}).map(function(t){return t.cat});t.length===s.length&&(t=null);var e=o.select('input[type="checkbox"].lu_filter_missing').property("checked");M(t,e),o.remove()})},e}(i.a);e.a=A},function(t,e,n){"use strict";var i=n(9),r=n(0),A=(n.n(r),this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=function(t){function e(e,n,i){return void 0===i&&(i="Edit Categorical Mapping"),t.call(this,e,n,i)||this}return A(e,t),e.prototype.openDialog=function(){function t(){M.select(".checkmark").html(function(t){return'<i class="fa fa-'+(t.isChecked?"check-":"")+'square-o"></i>'}),M.select(".bar").transition().style("width",function(t){return a(t.range)+"px"}),M.select(".datalabel").style("opacity",function(t){return t.isChecked?"1.0":".8"})}function e(){c.select(".selectAll").html(function(t){return'<i class="fa fa-'+(d?"check-":"")+'square-o"></i>'}),c.select("thead").on("click",function(){d=!d,l.forEach(function(t){return t.isChecked=d}),t(),e()})}var n=this,i=this.column.getFilter()||{filter:[],filterMissing:!1},A=i.filter,o=i.filterMissing,a=r.scale.linear().domain([0,100]).range([0,120]),c=this.makePopup('<div class="selectionTable"><table><thead><th class="selectAll"></th><th colspan="2">Scale</th><th>Category</th></thead><tbody></tbody></table></div>\n <label><input class="lu_filter_missing" type="checkbox" '+(o?'checked="checked"':"")+">Filter Missing</label><br>"),s=this.column.getScale().range,u=this.column.categoryColors,g=this.column.categoryLabels,l=this.column.categories.map(function(t,e){return{cat:t,label:g[e],isChecked:0===A.length||A.indexOf(t)>=0,range:100*s[e],color:u[e]}}).sort(this.sortByName("label")),M=c.select("tbody").selectAll("tr").data(l),h=M.enter().append("tr");h.append("td").attr("class","checkmark").on("click",function(e){e.isChecked=!e.isChecked,t()}),h.append("td").append("input").attr({type:"number",value:function(t){return t.range},min:0,max:100,size:5}).on("input",function(e){e.range=+this.value,t()}),h.append("td").append("div").attr("class","bar").style("background-color",function(t){return t.color}),h.append("td").attr("class","datalabel").text(function(t){return t.label}),t();var d=!0;e();var f=function(t,e){var i=null===t&&!1===e;n.markFiltered(!i),n.column.setFilter(i?null:{filter:t,filterMissing:e})};c.select(".cancel").on("click",function(){f(A,o),n.column.setMapping(s),c.remove()}),c.select(".reset").on("click",function(){l.forEach(function(t){t.isChecked=!0,t.range=50}),t(),f(null,null),n.column.setMapping(l.map(function(){return 1}))}),c.select(".ok").on("click",function(){var t=l.filter(function(t){return t.isChecked}).map(function(t){return t.cat});t.length===l.length&&(t=null);var e=c.select('input[type="checkbox"].lu_filter_missing').property("checked");f(t,e),n.column.setMapping(l.map(function(t){return t.range/100})),c.remove()})},e}(i.a);e.a=o},function(t,e,n){"use strict";var i=n(4),r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},A=function(t){function e(e,n,i,r,A){void 0===r&&(r=[]),void 0===A&&(A="Edit Link ($ as Placeholder)");var o=t.call(this,n,A)||this;return o.column=e,o.idPrefix=i,o.templates=r,o}return r(e,t),e.prototype.openDialog=function(){var t='<input \n type="text"\n size="15"\n value="'+this.column.getLink()+'"\n required="required"\n autofocus="autofocus"\n '+(this.templates.length>0?'list="ui'+this.idPrefix+'lineupPatternList"':"")+"\n ><br>";this.templates.length>0&&(t+='<datalist id="ui${idPrefix}lineupPatternList">'+this.templates.map(function(t){return'<option value="'+t+'">'})+"</datalist>");var e=this.makePopup(t),n=this;e.select(".ok").on("click",function(){var t=e.select('input[type="text"]').property("value");n.column.setLink(t),e.remove()}),e.select(".cancel").on("click",function(){e.remove()})},e}(i.a);e.a=A},function(t,e,n){"use strict";var i=n(9),r=n(5),A=n(1),o=n(0),a=(n.n(o),n(47)),c=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},s=function(t){function e(e,n,i,r,A){void 0===i&&(i="Change Mapping");var o=t.call(this,e,n,i)||this;return o.data=r,o.idPrefix=A,o}return c(e,t),e.prototype.openDialog=function(){var t=this,e=n.i(A.m)(this.attachment.node()),i=this.column.getOriginalMapping(),c=this.column.getFilter(),s=this.column.getMapping(),u=s.clone(),g=c,l=n.i(o.select)("body").append("div").attr({class:"lu-popup"}).style({left:e.left+"px",top:e.top+"px"}).html(this.dialogForm('<div class="mappingArea"></div>')),M=function(e,n){u=e,g=n,t.markFiltered(!e.eq(i)||c.min!==n.min||c.max!==n.min||c.filterMissing!==n.filterMissing),t.column.setMapping(e),t.column.setFilter(n)},h={idPrefix:this.idPrefix,callback:M,triggerCallback:"dragend"},d=this.data.mappingSample(this.column),f=new a.a(l.select(".mappingArea").node(),u,i,g,d,h);l.select(".ok").on("click",function(){M(f.scale,f.filter),l.remove()}),l.select(".cancel").on("click",function(){t.column.setMapping(s),t.markFiltered(!s.eq(i)),l.remove()}),l.select(".reset").on("click",function(){s=i,u=s.clone(),c=r.b.noFilter(),g=c,M(u,g),l.selectAll(".mappingArea *").remove(),f=new a.a(l.select(".mappingArea").node(),u,i,g,d,h)})},e}(i.a);e.a=s},function(t,e,n){"use strict";var i=n(4),r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},A=function(t){function e(e,n,i){void 0===i&&(i="Rename Column");var r=t.call(this,n,i)||this;return r.column=e,r}return r(e,t),e.prototype.openDialog=function(){var t=this,e=this.makePopup('\n <input type="text" size="15" value="'+this.column.label+'" required="required" autofocus="autofocus"><br>\n <input type="color" size="15" value="'+this.column.color+'" required="required"><br>\n <textarea rows="5">'+this.column.description+"</textarea><br>");e.select(".ok").on("click",function(){var n=e.select('input[type="text"]').property("value"),i=e.select('input[type="color"]').property("value"),r=e.select("textarea").property("value");t.column.setMetaData({label:n,color:i,description:r}),e.remove()}),e.select(".cancel").on("click",function(){e.remove()})},e}(i.a);e.a=A},function(t,e,n){"use strict";var i=n(4),r=n(0),A=(n.n(r),this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=function(t){function e(e,n,i){void 0===i&&(i="Change Visualization");var r=t.call(this,n,i)||this;return r.column=e,r}return A(e,t),e.prototype.openDialog=function(){var t=this,e=this.column.getRendererType(),n=this.column.getRendererList(),i=this.makeSortPopup(n.map(function(t){return'<input type="radio" name="renderertype" value='+t.type+" "+(e===t.type?"checked":"")+"> "+t.label+"<br>"}).join("\n")),A=r.selectAll('input[name="renderertype"]');A.on("change",function(){var e=r.event.target,n=e.value;t.column.setRendererType(n)}),this.hidePopupOnClickOutside(i,A)},e}(i.a);e.a=o},function(t,e,n){"use strict";var i=n(4),r=n(17),A=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=function(t){function e(e,n,i){void 0===i&&(i="Edit Script");var r=t.call(this,n,i)||this;return r.column=e,r}return A(e,t),e.prototype.openDialog=function(){var t=this,e=this.column.getScript(),n=this.makePopup('Parameters: <code>values: number[], children: Column[]</code><br>\n <textarea autofocus="true" rows="5" autofocus="autofocus" style="width: 95%;">'+this.column.getScript()+"</textarea><br>"),i=function(e){t.column.setScript(e)},A=function(){var t=n.select("textarea").property("value");i(t)};n.select(".cancel").on("click",function(){n.select("textarea").property("value",e),i(e),n.remove()}),n.select(".reset").on("click",function(){n.select("textarea").property("value",r.a.DEFAULT_SCRIPT),i(r.a.DEFAULT_SCRIPT)}),n.select(".ok").on("click",function(){A(),n.remove()})},e}(i.a);e.a=o},function(t,e,n){"use strict";var i=n(4),r=n(0),A=(n.n(r),this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=function(t){function e(e,n,i,r){void 0===r&&(r="Search");var A=t.call(this,n,r)||this;return A.column=e,A.provider=i,A}return A(e,t),e.prototype.openDialog=function(){var t=this,e=this.makePopup('<input type="text" size="15" value="" required="required" autofocus="autofocus"><br><label><input type="checkbox">RegExp</label><br>');e.select('input[type="text"]').on("input",function(){var n=r.event.target,i=n.value;if(i.length>=3){e.select('input[type="checkbox"]').property("checked")&&(i=new RegExp(i)),t.provider.searchAndJump(i,t.column)}});var n=function(){var n=e.select('input[type="text"]').property("value"),i=e.select('input[type="text"]').property("checked");n.length>0&&(i&&(n=new RegExp(n)),t.provider.searchAndJump(n,t.column)),e.remove()};e.select('input[type="checkbox"]').on("change",n),e.select(".ok").on("click",n),e.select(".cancel").on("click",function(){e.remove()})},e}(i.a);e.a=o},function(t,e,n){"use strict";var i=n(4),r=n(13),A=n(19),o=n(0),a=(n.n(o),this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),c=function(t){function e(e,n,i){void 0===i&&(i="Change Sort Criteria");var r=t.call(this,n,i)||this;return r.column=e,r}return a(e,t),e.prototype.openDialog=function(){var t=this,e=this.column.getSortMethod(),i=Object.keys(this.column instanceof A.a?A.b:r.b),a=this.makeSortPopup(i.map(function(t){return'<input type="radio" name="multivaluesort" value='+t+" "+(e===t?"checked":"")+" > "+(t.slice(0,1).toUpperCase()+t.slice(1))+" <br>"}).join("\n")),c=n.i(o.selectAll)("input[name=multivaluesort]");c.on("change",function(){var e=o.event.target,n=e.value;t.column.setSortMethod(n)}),this.hidePopupOnClickOutside(a,c)},e}(i.a);e.a=c},function(t,e,n){"use strict";var i=n(6),r=n(9),A=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=function(t){function e(e,n,i){return void 0===i&&(i="Filter"),t.call(this,e,n,i)||this}return A(e,t),e.prototype.openDialog=function(){function t(t){var e=A.select('input[type="text"]').property("value");if(A.select('input[type="checkbox"].lu_filter_missing').property("checked")&&""===e&&(e=i.a.FILTER_MISSING),""===e)return void o(e);if(e.length>=3||t){A.select('input[type="checkbox"]:first-of-type').property("checked")&&e!==i.a.FILTER_MISSING&&(e=new RegExp(e)),o(e)}}var e=this,n=this.column.getFilter()||"",r=n===i.a.FILTER_MISSING;r&&(n="");var A=this.makePopup('<input type="text" placeholder="containing..." autofocus="true" size="15" value="'+(n instanceof RegExp?n.source:n)+'" autofocus="autofocus">\n <br><label><input type="checkbox" '+(n instanceof RegExp?'checked="checked"':"")+'>RegExp</label><br><label><input class="lu_filter_missing" type="checkbox" '+(r?'checked="checked"':"")+">Filter Missing</label>\n <br>"),o=function(t){e.markFiltered(t&&""!==t),e.column.setFilter(t)};A.selectAll('input[type="checkbox"]').on("change",t),A.select('input[type="text"]').on("input",t),A.select(".cancel").on("click",function(){A.select('input[type="text"]').property("value",n||""),A.select('input[type="checkbox"]:first-of-type').property("checked",n instanceof RegExp?"checked":null),A.select('input[type="checkbox"].lu_filter_missing').property("checked",r?"checked":null),o(n),A.remove()}),A.select(".reset").on("click",function(){A.select('input[type="text"]').property("value",""),A.selectAll('input[type="checkbox"]').property("checked",null),o(null)}),A.select(".ok").on("click",function(){t(!0),A.remove()})},e}(r.a);e.a=o},function(t,e,n){"use strict";var i=n(4),r=n(0),A=(n.n(r),this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=function(t){function e(e,n,i){void 0===i&&(i="Edit Weights");var r=t.call(this,n,i)||this;return r.column=e,r}return A(e,t),e.prototype.openDialog=function(){function t(){a.select(".bar").transition().style("width",function(t){return A(t.weight)+"px"})}var e=this,n=this.column.getWeights(),i=this.column.children.map(function(t,e){return{col:t,weight:100*n[e]}}),A=r.scale.linear().domain([0,100]).range([0,120]),o=this.makePopup("<table></table>"),a=o.select("table").selectAll("tr").data(i),c=a.enter().append("tr");c.append("td").append("input").attr({type:"number",value:function(t){return t.weight},min:0,max:100,size:5}).on("input",function(e){e.weight=+this.value,t()}),c.append("td").append("div").attr("class",function(t){return"bar "+t.col.cssClass}).style("background-color",function(t){return t.col.color}),c.append("td").text(function(t){return t.col.label}),t(),o.select(".cancel").on("click",function(){e.column.setWeights(n),o.remove()}),o.select(".reset").on("click",function(){i.forEach(function(t,e){return t.weight=100*n[e]}),a.select("input").property("value",function(t){return t.weight}),t()}),o.select(".ok").on("click",function(){e.column.setWeights(i.map(function(t){return t.weight})),o.remove()})},e}(i.a);e.a=o},function(t,e,n){"use strict";function i(t,e,n){return Math.max(Math.min(t,n),e)}function r(t){var e=new Set;t.forEach(function(t){return e.add(t)});var n=[];return e.forEach(function(t){return n.push(t)}),n}var A=n(0),o=(n.n(A),n(1)),a=n(5),c=function(){function t(t,e,i,r,a,c){this.parent=t,this.scale=e,this.original=i,this.oldFilter=r,this.dataPromise=a,this.options={idPrefix:"",width:370,height:225,padding_hor:7,padding_ver:7,filter_height:20,radius:5,callback:function(){},callbackThisArg:null,triggerCallback:"change"},n.i(o.a)(this.options,c),this.scale=e.clone(),this.build(n.i(A.select)(t))}return Object.defineProperty(t.prototype,"filter",{get:function(){return this.computeFilter()},enumerable:!0,configurable:!0}),t.prototype.build=function(t){function e(){E.attr({x1:function(t){return I(M.scale.apply(t))},x2:f}).style("visibility",function(t){var e=M.scale.domain;return t<e[0]||t>e[e.length-1]?"hidden":null})}function o(t){return A.behavior.drag().on("dragstart",function(){n.i(A.select)(this).classed("dragging",!0).attr("r",1.1*l.radius)}).on("drag",t).on("dragend",function(){n.i(A.select)(this).classed("dragging",!1).attr("r",l.radius),u(!0)})}function c(){function r(){T.sort(function(t,e){return t.r-e.r});var t=M.scale;t.domain=T.map(function(t){return t.r}),t.range=T.map(function(t){return t.n}),e()}function s(t){T.length<=2||(T.splice(t,1),r(),c())}function u(t){var e=i(t,0,h);T.push({n:I.invert(e),r:f.invert(e)}),r(),c()}if(M.scale instanceof a.d){var g=M.scale,E=g.domain,N=g.range;T=E.map(function(t,e){return{r:t,n:N[e]}}),t.selectAll("rect.adder").on("click",function(){u(n.i(A.mouse)(t.select("svg > g").node())[0])});var y=t.select("g.mappings").selectAll("g.mapping").data(T),p=y.enter().append("g").classed("mapping",!0).on("contextmenu",function(t,e){A.event.preventDefault(),A.event.stopPropagation(),s(e)});p.append("line").attr({y1:0,y2:d}).call(o(function(t){var e=A.event.dx,o=i(I(t.n)+e,0,h),a=i(f(t.r)+e,0,h);t.n=I.invert(o),t.r=f.invert(a),n.i(A.select)(this).attr("x1",o).attr("x2",a),n.i(A.select)(this.parentElement).select("circle.normalized").attr("cx",o),n.i(A.select)(this.parentElement).select("circle.raw").attr("cx",a),r()})),p.append("circle").classed("normalized",!0).attr("r",l.radius).call(o(function(t){var e=i(A.event.x,0,h);t.n=I.invert(e),n.i(A.select)(this).attr("cx",e),n.i(A.select)(this.parentElement).select("line").attr("x1",e),r()})),p.append("circle").classed("raw",!0).attr("r",l.radius).attr("cy",d).call(o(function(t){var e=i(A.event.x,0,h);t.r=f.invert(e),n.i(A.select)(this).attr("cx",e),n.i(A.select)(this.parentElement).select("line").attr("x2",e),r()})),y.select("line").attr({x1:function(t){return I(t.n)},x2:function(t){return f(t.r)}}),y.select("circle.normalized").attr("cx",function(t){return I(t.n)}),y.select("circle.raw").attr("cx",function(t){return f(t.r)}),y.exit().remove()}}function s(){if(!(M.scale instanceof a.e))return void t.select("div.script").style("display","none");t.select("div.script").style("display",null);var n=M.scale,i=t.select("textarea").text(n.code);t.select("div.script").select("button").on("click",function(){n.code=i.property("value"),e(),u()})}function u(t){void 0===t&&(t=!1),t&&"dragend"!==l.triggerCallback||l.callback.call(l.callbackThisArg,M.scale.clone(),M.filter)}function g(){var n=f.domain();t.select("input.raw_min").property("value",n[0]),t.select("input.raw_max").property("value",n[1]),e(),c()}var l=this.options,M=this;t=t.append("div").classed("lugui-me",!0);var h=l.width-2*l.padding_hor,d=l.height-2*l.padding_ver-l.filter_height;t.node().innerHTML='<form onsubmit="return false">\n <div style="text-align: center"><label for="me'+l.idPrefix+'mapping_type">Mapping Type: <select id="me'+l.idPrefix+'mapping_type">\n <option value="linear">Linear</option>\n <option value="linear_invert">Invert</option>\n <option value="linear_abs">Absolute</option>\n <option value="log">Log</option>\n <option value="pow1.1">Pow 1.1</option>\n <option value="pow2">Pow 2</option>\n <option value="pow3">Pow 3</option>\n <option value="sqrt">Sqrt</option>\n <option value="script">Custom Script</option>\n </select>\n </label></div>\n <div class="mapping_area">\n <div>\n <span>0</span>\n <input type="text" class="raw_min" id="me'+l.idPrefix+'raw_min" value="0"><label for="me'+l.idPrefix+'raw_min">Min</label>\n </div>\n <svg width="'+l.width+'" height="'+l.height+'">\n <line y1="'+l.padding_ver+'" y2="'+l.padding_ver+'" x1="'+l.padding_hor+'" x2="'+(h+l.padding_hor)+'" stroke="black"></line>\n <rect class="adder" x="'+l.padding_hor+'" width="'+h+'" height="10"></rect>\n <line y1="'+(l.height-l.filter_height-5)+'" y2="'+(l.height-l.filter_height-5)+'" x1="'+l.padding_hor+'" x2="'+(h+l.padding_hor)+'" stroke="black"></line>\n <rect class="adder" x="'+l.padding_hor+'" width="'+h+'" height="10" y="'+(l.height-l.filter_height-10)+'"></rect>\n <g transform="translate('+l.padding_hor+","+l.padding_ver+')">\n <g class="samples">\n \n </g>\n <g class="mappings">\n \n </g>\n <g class="filter" transform="translate(0,'+(l.height-l.filter_height-10)+')">\n <g class="left_filter" transform="translate(0,0)">\n <path d="M0,0L4,7L-4,7z"></path>\n <rect x="-4" y="7" width="40" height="13" rx="2" ry="2"></rect>\n <text y="10" x="4" text-anchor="start">&gt; 0</text>\n </g>\n <g class="right_filter" transform="translate('+h+',0)">\n <path d="M0,0L4,7L-4,7z"></path>\n <rect x="-36" y="7" width="40" height="13" rx="2" ry="2"></rect>\n <text y="10" x="3" text-anchor="end">&lt; 1</text>\n </g>\n </g>\n </g>\n </svg>\n <div>\n <span>1</span>\n <input type="text" class="raw_max" id="me'+l.idPrefix+'raw_max" value="1"><label for="me'+l.idPrefix+'raw_max">Max</label>\n </div>\n </div>\n <div>\n Extras: <label><input type="checkbox" id="me'+l.idPrefix+'filterMissing" '+(this.oldFilter.filterMissing?'checked="checked"':"")+'>Filter Missing Values</label>\n </div>\n <div class="script" style="/* display: none; */">\n <label for="me'+l.idPrefix+'script_code">Custom Script</label><button>Apply</button>\n <textarea id="me'+l.idPrefix+'script_code">\n </textarea>\n </div>\n </form>';var f=A.scale.linear().domain([Math.min(this.scale.domain[0],this.original.domain[0]),Math.max(this.scale.domain[this.scale.domain.length-1],this.original.domain[this.original.domain.length-1])]).range([0,h]),I=A.scale.linear().domain([0,1]).range([0,h]);t.select("input.raw_min").property("value",f.domain()[0]).on("blur",function(){var t=f.domain();t[0]=parseFloat(this.value),f.domain(t);var e=M.scale.domain;e[0]=t[0],M.scale.domain=e,g(),u()}),t.select("input.raw_max").property("value",f.domain()[1]).on("blur",function(){var t=f.domain();t[1]=parseFloat(this.value),f.domain(t);var e=M.scale.domain;e[e.length-1]=t[1],M.scale.domain=e,g(),u()}),t.select('input[type="checkbox"]').on("change",function(){u()});var E=t.select("g.samples").selectAll("line").data([]);this.dataPromise.then(function(t){t=r(t),E=E.data(t),E.enter().append("line").attr({x1:function(t){return I(M.scale.apply(t))},y1:0,x2:f,y2:d}).style("visibility",function(t){var e=M.scale.domain;return t<e[0]||t>e[e.length-1]?"hidden":null})});var T=[];c(),s();var N=isFinite(this.oldFilter.min)?f(this.oldFilter.min):0,y=isFinite(this.oldFilter.max)?f(this.oldFilter.max):h,p=function(t,e){return isFinite(t)?(0===e?">":"<")+t.toFixed(1):"any"};t.selectAll("g.left_filter, g.right_filter").data([this.oldFilter.min,this.oldFilter.max]).attr("transform",function(t,e){return"translate("+(0===e?N:y)+",0)"}).call(o(function(t,e){var r=i(A.event.x,0,h),o=f.invert(r),a=r<=0&&0===e?-1/0:r>=h&&1===e?1/0:o;n.i(A.select)(this).datum(a).attr("transform","translate("+r+",0)").select("text").text(p(a,e))})).select("text").text(p),this.computeFilter=function(){return{min:parseFloat(t.select("g.left_filter").datum()),max:parseFloat(t.select("g.right_filter").datum()),filterMissing:t.select('input[type="checkbox"]').property("checked")}},g(),t.select("select").on("change",function(){var t=this.value;if("linear_invert"===t)M.scale=new a.d(f.domain(),"linear",[1,0]);else if("linear_abs"===t){var n=f.domain();M.scale=new a.d([n[0],(n[1]-n[0])/2,n[1]],"linear",[1,0,1])}else M.scale="script"===t?new a.e(f.domain()):new a.d(f.domain(),t);e(),c(),s(),u()}).property("selectedIndex",function(){var t="script";return M.scale instanceof a.d&&(t=M.scale.scaleType),["linear","linear_invert","linear_abs","log","pow1.1","pow2","pow3","sqrt","script"].indexOf(t)})},t}();e.a=c},function(t,e,n){"use strict";var i=n(2),r=n(6),A=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=function(t){function e(e,n){var i=t.call(this,e,n)||this;return i.annotations=new Map,i}return A(e,t),e.prototype.createEventList=function(){return t.prototype.createEventList.call(this).concat([e.EVENT_VALUE_CHANGED])},e.prototype.getValue=function(e,n){return this.annotations.has(n)?this.annotations.get(n):t.prototype.getValue.call(this,e,n)},e.prototype.dump=function(e){var n=t.prototype.dump.call(this,e);return n.annotations={},this.annotations.forEach(function(t,e){n.annotations[e]=t}),n},e.prototype.restore=function(e,n){var i=this;t.prototype.restore.call(this,e,n),e.annotations&&Object.keys(e.annotations).forEach(function(t){i.annotations.set(Number(t),e.annotations[t])})},e.prototype.setValue=function(t,n,r){var A=this.getValue(t,n);return A===r||(""===r||null==r?this.annotations.delete(n):this.annotations.set(n,r),this.fire([e.EVENT_VALUE_CHANGED,i.a.EVENT_DIRTY_VALUES,i.a.EVENT_DIRTY],n,A,r),!0)},e}(r.a);e.a=o,o.EVENT_VALUE_CHANGED="valueChanged"},function(t,e,n){"use strict";var i=n(0),r=(n.n(i),n(2)),A=n(3),o=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},a=function(t){function e(e,n){var i=t.call(this,e,n)||this;return i.currentFilter=null,i.trueMarker="X",i.falseMarker="",i.setWidthImpl(30),i.trueMarker=n.trueMarker||i.trueMarker,i.falseMarker=n.falseMarker||i.falseMarker,i}return o(e,t),e.prototype.getValue=function(e,n){var i=t.prototype.getValue.call(this,e,n);return void 0!==i&&null!=i&&(!0===i||"true"===i||"yes"===i||"x"===i)},e.prototype.getLabel=function(t,e){return this.getValue(t,e)?this.trueMarker:this.falseMarker},e.prototype.dump=function(e){var n=t.prototype.dump.call(this,e);return null!==this.currentFilter&&(n.filter=this.currentFilter),n},e.prototype.restore=function(e,n){t.prototype.restore.call(this,e,n),void 0!==e.filter&&(this.currentFilter=e.filter)},e.prototype.isFiltered=function(){return null!==this.currentFilter},e.prototype.filter=function(t,e){return!this.isFiltered()||this.getValue(t,e)===this.currentFilter},e.prototype.getFilter=function(){return this.currentFilter},e.prototype.setFilter=function(t){this.currentFilter!==t&&this.fire([r.a.EVENT_FILTER_CHANGED,r.a.EVENT_DIRTY_VALUES,r.a.EVENT_DIRTY],this.currentFilter,this.currentFilter=t)},e.prototype.compare=function(t,e,r,A){return n.i(i.ascending)(this.getValue(t,r),this.getValue(e,A))},e}(A.a);e.a=a},function(t,e,n){"use strict";var i=n(0),r=(n.n(i),n(2)),A=n(3),o=n(14),a=n(5),c=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},s=function(t){function e(e,n){var r=t.call(this,e,n)||this;if(r.colors=i.scale.category10(),r.catLabels=new Map,r.scale=i.scale.ordinal().rangeRoundPoints([0,1]),r.currentFilter=null,r.separator=";",r.combiner=i.max,r.separator=n.separator||r.separator,o.a.prototype.initCategories.call(r,n),r.scale.domain(r.colors.domain()),n.categories){var A=n.categories.map(function(t){return"string"!=typeof t&&"number"==typeof t.value?t.value:.5});r.scale.range(A)}return r}return c(e,t),e.prototype.createEventList=function(){return t.prototype.createEventList.call(this).concat([e.EVENT_MAPPING_CHANGED])},Object.defineProperty(e.prototype,"categories",{get:function(){return this.colors.domain().slice()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"categoryColors",{get:function(){return this.colors.range().slice()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"categoryLabels",{get:function(){var t=this;return null===this.catLabels||0===this.catLabels.size?this.categories:this.categories.map(function(e){return t.catLabels.has(e)?t.catLabels.get(e):e})},enumerable:!0,configurable:!0}),e.prototype.colorOf=function(t){return this.colors(t)},e.prototype.getLabel=function(t,e){return o.a.prototype.getLabel.call(this,t,e)},e.prototype.getFirstLabel=function(t,e){return o.a.prototype.getFirstLabel.call(this,t,e)},e.prototype.getLabels=function(t,e){return o.a.prototype.getLabels.call(this,t,e)},e.prototype.getValue=function(t,e){var n=this.getValues(t,e);return n.length>0?this.combiner(n):0},e.prototype.getValues=function(t,e){return o.a.prototype.getValues.call(this,t,e).map(this.scale)},e.prototype.getCategories=function(t,e){return o.a.prototype.getValues.call(this,t,e)},e.prototype.getNumber=function(t,e){return this.getValue(t,e)},e.prototype.getColor=function(t,e){var n=this.getValues(t,e),r=this.getColors(t,e);return this.combiner===i.max?r.slice(1).reduce(function(t,e,i){return n[i+1]>t.v?{c:e,v:n[i+1]}:t},{c:r[0],v:n[0]}).c:this.combiner===i.min?r.slice(1).reduce(function(t,e,i){return n[i+1]<t.v?{c:e,v:n[i+1]}:t},{c:r[0],v:n[0]}).c:r[0]||null},e.prototype.getColors=function(t,e){return o.a.prototype.getColors.call(this,t,e)},e.prototype.dump=function(t){var e=o.a.prototype.dump.call(this,t);return e.scale={domain:this.scale.domain(),range:this.scale.range(),separator:this.separator},e},e.prototype.restore=function(t,e){o.a.prototype.restore.call(this,t,e),t.scale&&this.scale.domain(t.scale.domain).range(t.scale.range),this.separator=t.separator||this.separator},e.prototype.getScale=function(){return{domain:this.scale.domain(),range:this.scale.range()}},e.prototype.getMapping=function(){return this.scale.range().slice()},e.prototype.setMapping=function(t){var n=this.getScale();this.scale.range(t),this.fire([e.EVENT_MAPPING_CHANGED,r.a.EVENT_DIRTY_VALUES,r.a.EVENT_DIRTY],n,this.getScale())},e.prototype.isFiltered=function(){return null!=this.currentFilter},e.prototype.filter=function(t,e){return o.a.prototype.filter.call(this,t,e)},e.prototype.getFilter=function(){return this.currentFilter},e.prototype.setFilter=function(t){return o.a.prototype.setFilter.call(this,t)},e.prototype.compare=function(t,e,n,i){return a.b.prototype.compare.call(this,t,e,n,i)},e.prototype.getRendererType=function(){return a.b.prototype.getRendererType.call(this)},e}(A.a);e.a=s,s.EVENT_MAPPING_CHANGED=a.b.EVENT_MAPPING_CHANGED},function(t,e,n){"use strict";var i=n(2),r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},A=function(t){function e(e,n){return t.call(this,e,n)||this}return r(e,t),e.prototype.getLabel=function(t){return""},e.prototype.getValue=function(t){return""},e.prototype.compare=function(t,e){return 0},e}(i.a);e.a=A},function(t,e,n){"use strict";var i=n(10),r=n(2),A=n(18),o=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},a=function(t){function e(e,n){var i=t.call(this,e,n)||this;i.collapsed=!1;var r=i;return i.adaptChange=function(t,e){r.adaptWidthChange(t,e)},i}return o(e,t),e.prototype.createEventList=function(){return t.prototype.createEventList.call(this).concat([e.EVENT_COLLAPSE_CHANGED])},e.prototype.setCollapsed=function(t){this.collapsed!==t&&this.fire([A.a.EVENT_COLLAPSE_CHANGED,r.a.EVENT_DIRTY_HEADER,r.a.EVENT_DIRTY_VALUES,r.a.EVENT_DIRTY],this.collapsed,this.collapsed=t)},e.prototype.getCollapsed=function(){return this.collapsed},e.prototype.dump=function(e){var n=t.prototype.dump.call(this,e);return n.collapsed=this.collapsed,n},e.prototype.restore=function(e,n){this.collapsed=!0===e.collapsed,t.prototype.restore.call(this,e,n)},e.prototype.flatten=function(t,e,n,i){return void 0===n&&(n=0),void 0===i&&(i=0),A.a.prototype.flatten.call(this,t,e,n,i)},e.prototype.insert=function(e,n){return e.on(r.a.EVENT_WIDTH_CHANGED+".stack",this.adaptChange),t.prototype.setWidth.call(this,0===this.length?e.getWidth():this.getWidth()+e.getWidth()),t.prototype.insert.call(this,e,n)},e.prototype.adaptWidthChange=function(e,n){e!==n&&t.prototype.setWidth.call(this,this.getWidth()+(n-e))},e.prototype.removeImpl=function(e){return e.on(r.a.EVENT_WIDTH_CHANGED+".stack",null),t.prototype.setWidth.call(this,1===this.length?100:this.getWidth()-e.getWidth()),t.prototype.removeImpl.call(this,e)},e.prototype.setWidth=function(e){var n=this.length/this.getWidth();this._children.forEach(function(t){t.setWidthImpl(t.getWidth()*n)}),t.prototype.setWidth.call(this,e)},e.prototype.getrendererType=function(){return this.getCollapsed()?e.EVENT_COLLAPSE_CHANGED:t.prototype.getRendererType.call(this)},e}(i.b);e.a=a,a.EVENT_COLLAPSE_CHANGED=A.a.EVENT_COLLAPSE_CHANGED},function(t,e,n){"use strict";var i=n(3),r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},A=function(t){function e(e,n){var i=t.call(this,e,n)||this;return i.dataLength=n.dataLength,i}return r(e,t),e.prototype.compare=function(t,e,n,i){var r=this.getBinaryValue(t,n),A=this.getBinaryValue(e,i);return null===r?null===A?0:1:null===A?-1:r.filter(function(t){return t}).length-A.filter(function(t){return t}).length},e.prototype.cellDimension=function(){return this.getWidth()/this.dataLength},e.prototype.getBinaryValue=function(t,n){return this.getValue(t,n).map(function(t){return t===e.IN_GROUP})},e.prototype.getNumber=function(t,e){return this.getValue(t,e)},e}(i.a);e.a=A,A.IN_GROUP=1},function(t,e,n){"use strict";var i=n(1),r=function(){function t(){}return t.prototype.createSVG=function(t,e){var r=e.option("actions",[]);return{template:"<text class='actions hoverOnly fa'>"+r.map(function(t){return"<tspan>"+t.icon+"</tspan>"}).join("")+"</text>",update:function(t,e){n.i(i.j)(t,"tspan",function(t,n){t.onclick=function(t){t.preventDefault(),t.stopPropagation(),r[n].action(e.v,e.dataIndex)}})}}},t.prototype.createHTML=function(t,e){var r=e.option("actions",[]);return{template:"<div class='actions hoverOnly'>"+r.map(function(t){return"<span title='"+t.name+"' class='fa'>"+t.icon+"</span>"}).join("")+"</div>",update:function(t,e){n.i(i.j)(t,"span",function(t,n){t.onclick=function(t){t.preventDefault(),t.stopPropagation(),r[n].action(e.v,e.dataIndex)}})}}},t.prototype.createCanvas=function(t,e){var r=e.option("actions",[]);return function(A,o,a,c,s){if(e.hovered(o.dataIndex)){var u=n.i(i.k)(e.idPrefix+t.id,c,s);u.style.width=t.getWidth()+"px",u.classList.add("actions"),u.innerHTML=r.map(function(t){return"<span title='"+t.name+"' class='fa'>"+t.icon+"</span>"}).join(""),n.i(i.j)(u,"span",function(t,e){t.onclick=function(t){t.preventDefault(),t.stopPropagation(),r[e].action(o.v,o.dataIndex)}})}}},t}();e.a=r},function(t,e,n){"use strict";var i=n(1),r=function(){function t(){}return t.prototype.createSVG=function(t,e){return{template:"<g class='annotations'>\n <text class='notHoverOnly text' clip-path='url(#cp"+e.idPrefix+"clipCol"+t.id+")'></text>\n <foreignObject class='hoverOnly' x='-2' y='-2'>\n <input type='text'>\n </foreignObject>\n </g>",update:function(n,i,r){var A=n.querySelector("foreignObject *");A.onchange=function(){t.setValue(i.v,i.dataIndex,A.value)},A.onclick=function(t){t.stopPropagation()},A.style.width=t.getWidth()+"px",A.value=t.getLabel(i.v,i.dataIndex),n.querySelector("text").textContent=t.getLabel(i.v,i.dataIndex);var o=n.querySelector("foreignObject");o.setAttribute("width",String(t.getWidth())),o.setAttribute("height",String(e.rowHeight(r)))}}},t.prototype.createHTML=function(t){return{template:"<div class='annotations text'>\n <input type='text' class='hoverOnly'>\n <span class='text notHoverOnly'></span>\n </div>",update:function(e,n){var i=e.querySelector("input");i.onchange=function(){t.setValue(n.v,n.dataIndex,i.value)},i.onclick=function(t){t.stopPropagation()},e.style.width=i.style.width=t.getWidth()+"px",i.value=t.getLabel(n.v,n.dataIndex),e.querySelector("span").textContent=t.getLabel(n.v,n.dataIndex)}}},t.prototype.createCanvas=function(t,e){return function(r,A,o,a,c){if(e.hovered(A.dataIndex)){var s=n.i(i.k)(e.idPrefix+t.id,a,c);s.style.width=t.getWidth()+"px",s.innerHTML="<input type='text' value='"+t.getValue(A.v,A.dataIndex)+"' style='width:"+t.getWidth()+"px'>";var u=s.childNodes[0];u.onchange=function(){t.setValue(A.v,A.dataIndex,u.value)},u.onclick=function(t){t.stopPropagation()}}else n.i(i.g)(r,t.getLabel(A.v,A.dataIndex),0,0,t.getWidth(),e.textHints)}},t}();e.a=r},function(t,e,n){"use strict";var i=n(1),r=function(){function t(t,e){void 0===t&&(t=!1),void 0===e&&(e=function(t,e,n){return n.color}),this.renderValue=t,this.colorOf=e}return t.prototype.createSVG=function(t,e){var r=this,A=e.option("rowBarTopPadding",e.option("rowBarPadding",1)),o=e.option("rowBarBottomPadding",e.option("rowBarPadding",1));return{template:"<g class='bar'>\n <rect class='"+t.cssClass+"' y='"+A+"' style='fill: "+t.color+"'>\n <title></title>\n </rect>\n <text class='number "+(this.renderValue?"":"hoverOnly")+"' clip-path='url(#cp"+e.idPrefix+"clipCol"+t.id+")'></text>\n </g>",update:function(a,c,s){a.querySelector("rect title").textContent=t.getLabel(c.v,c.dataIndex);var u=t.getWidth()*t.getValue(c.v,c.dataIndex);n.i(i.h)(a.querySelector("rect"),{y:A,width:isNaN(u)?0:u,height:e.rowHeight(s)-(A+o)},{fill:r.colorOf(c.v,s,t)}),n.i(i.h)(a.querySelector("text"),{}).textContent=t.getLabel(c.v,c.dataIndex)}}},t.prototype.createHTML=function(t,e){var r=this,A=e.option("rowBarTopPadding",e.option("rowBarPadding",1)),o=e.option("rowBarBottomPadding",e.option("rowBarPadding",1));return{template:"<div class='bar' style='top:"+A+"px; background-color: "+t.color+"'>\n <span class='number "+(this.renderValue?"":"hoverOnly")+"'></span>\n </div>",update:function(a,c,s){var u=t.getWidth()*t.getValue(c.v,c.dataIndex);n.i(i.h)(a,{title:t.getLabel(c.v,c.dataIndex)},{width:(isNaN(u)?0:u)+"px",height:e.rowHeight(s)-(A+o)+"px",top:A+"px","background-color":r.colorOf(c.v,s,t)}),a.querySelector("span").textContent=t.getLabel(c.v,c.dataIndex)}}},t.prototype.createCanvas=function(t,e){var r=this,A=e.option("rowBarTopPadding",e.option("rowBarPadding",1)),o=e.option("rowBarBottomPadding",e.option("rowBarPadding",1));return function(a,c,s){a.fillStyle=r.colorOf(c.v,s,t);var u=t.getWidth()*t.getValue(c.v,c.dataIndex);a.fillRect(0,A,isNaN(u)?0:u,e.rowHeight(s)-(A+o)),(r.renderValue||e.hovered(c.dataIndex)||e.selected(c.dataIndex))&&(a.fillStyle=e.option("style.text","black"),n.i(i.g)(a,t.getLabel(c.v,c.dataIndex),1,0,t.getWidth()-1,e.textHints))}},t}();e.a=r},function(t,e,n){"use strict";var i=n(1),r=n(0),A=(n.n(r),function(){function t(){}return t.prototype.createSVG=function(t,e){var A=t.getSortMethod(),o=2.5*e.option("rowBarPadding",1),a=t.getDomain(),c=r.scale.linear().domain(a).range([0,t.getWidth()]),s=t.findMyRanker().getSortCriteria().col===t;return{template:"<g class='boxplotcell'>\n <rect class='boxplotrect' y='"+o+"'></rect>\n <path class='boxplotallpath'></path>\n <path class='boxplotsortpath' style='display: none'></path>\n </g>",update:function(r,a,u){var g=t.getBoxPlotData(a.v,a.dataIndex),l=e.rowHeight(u),M={min:c(g.min),median:c(g.median),q1:c(g.q1),q3:c(g.q3),max:c(g.max)};n.i(i.h)(r.querySelector("rect"),{x:M.q1,width:M.q3-M.q1,height:l-2*o});var h=l-o,d=(l-o)/2,f="M"+M.min+","+d+"L"+M.q1+","+d+"M"+M.min+","+o+"L"+M.min+","+h+"M"+M.median+","+o+"L"+M.median+","+h+"M"+M.q3+","+d+"L"+M.max+","+d+"M"+M.max+","+o+"L"+M.max+","+h;n.i(i.h)(r.querySelector("path.boxplotallpath"),{d:f}),n.i(i.h)(r.querySelector("path.boxplotsortpath"),{d:"M"+M[A]+","+o+"L"+M[A]+","+h},{display:s?null:"none"})}}},t.prototype.createCanvas=function(t,e){var i=t.getSortMethod(),A=2.5*e.option("rowBarPadding",1),o=t.getDomain(),a=r.scale.linear().domain([n.i(r.min)(o),n.i(r.max)(o)]).range([0,t.getWidth()]),c=t.findMyRanker().getSortCriteria().col===t;return function(n,r,o){var s=e.rowHeight(o),u=t.getBoxPlotData(r.v,r.dataIndex),g={min:a(u.min),median:a(u.median),q1:a(u.q1),q3:a(u.q3),max:a(u.max)},l=g.min,M=g.max,h=g.median,d=g.q3,f=g.q1;n.fillStyle="#e0e0e0",n.strokeStyle="black",n.beginPath(),n.rect(f,A,d-f,s-2*A),n.fill(),n.stroke();var I=s-A,E=(s-A)/2;n.strokeStyle="black",n.fillStyle="#e0e0e0",n.beginPath(),n.moveTo(l,E),n.lineTo(f,E),n.moveTo(l,A),n.lineTo(l,I),n.moveTo(h,A),n.lineTo(h,I),n.moveTo(d,E),n.lineTo(M,E),n.moveTo(M,A),n.lineTo(M,I),n.stroke(),n.fill(),c&&(n.strokeStyle="red",n.fillStyle="#ff0700",n.beginPath(),n.moveTo(g[i],A),n.lineTo(g[i],I),n.stroke(),n.fill())}},t}());e.a=A},function(t,e,n){"use strict";var i=n(1),r=function(){function t(t){void 0===t&&(t="cat"),this.textClass=t,this.textClass=t}return t.prototype.createSVG=function(t,e){var r=e.option("rowBarPadding",1);return{template:"<g class='"+this.textClass+"'>\n <text clip-path='url(#cp"+e.idPrefix+"clipCol"+t.id+")'></text>\n <rect y='"+r+"'></rect>\n </g>",update:function(A,o,a){var c=Math.min(.3*t.getWidth(),Math.max(e.rowHeight(a)-2*r,0));n.i(i.h)(A.querySelector("rect"),{width:c,height:c},{fill:t.getColor(o.v,o.dataIndex)}),n.i(i.h)(A.querySelector("text"),{x:c+2*r}).textContent=t.getLabel(o.v,o.dataIndex)}}},t.prototype.createHTML=function(t,e){var r=e.option("rowBarPadding",1);return{template:"<div class='"+this.textClass+"'>\n <div></div>\n <span></span>\n </div>",update:function(A,o,a){var c=Math.min(.3*t.getWidth(),Math.max(e.rowHeight(a)-2*r,0));n.i(i.h)(A,{},{width:t.getWidth()+"px"}),n.i(i.h)(A.querySelector("div"),{},{width:c+"px",height:c+"px","background-color":t.getColor(o.v,o.dataIndex)}),n.i(i.h)(A.querySelector("span"),{}).textContent=t.getLabel(o.v,o.dataIndex)}}},t.prototype.createCanvas=function(t,e){var r=e.option("rowBarPadding",1);return function(A,o,a){var c=Math.min(.3*t.getWidth(),Math.max(e.rowHeight(a)-2*r,0));A.fillStyle=t.getColor(o.v,o.dataIndex),A.fillRect(0,0,c,c),A.fillStyle=e.option("style.text","black"),n.i(i.g)(A,t.getLabel(o.v,o.dataIndex),c+2,0,t.getWidth()-c-2,e.textHints)}},t}();e.a=r},function(t,e,n){"use strict";var i=n(1),r=function(){function t(t,e){void 0===t&&(t=!1),void 0===e&&(e=function(t,e,n){return n.color}),this.renderValue=t,this.colorOf=e,this.renderValue=t}return t.prototype.createSVG=function(t,e){e.option("rowBarPadding",1);return{template:"<g class='bar'>\n <circle class='"+t.cssClass+"' style='fill: "+t.color+"'>\n <title></title>\n </circle>\n <text class='number "+(this.renderValue?"":"hoverOnly")+"' clip-path='url(#cp"+e.idPrefix+"clipCol"+t.id+")'></text>\n </g>",update:function(r,A,o){var a=t.getValue(A.v,A.dataIndex);n.i(i.h)(r.querySelector("circle"),{cy:e.rowHeight(o)/2,cx:t.getWidth()/2,r:e.rowHeight(o)/2*a}),n.i(i.h)(r.querySelector("text"),{}).textContent=a}}},t.prototype.createCanvas=function(t,e){var r=this;return function(A,o,a){var c=e.rowHeight(a)/2,s=t.getWidth()/2;A.fillStyle=r.colorOf(o.v,a,t),A.strokeStyle=r.colorOf(o.v,a,t),A.beginPath(),A.arc(s,c,e.rowHeight(a)/2*t.getValue(o.v,o.dataIndex),0,2*Math.PI),A.fill(),A.stroke(),(r.renderValue||e.hovered(o.dataIndex)||e.selected(o.dataIndex))&&(A.fillStyle=e.option("style.text","black"),n.i(i.g)(A,t.getLabel(o.v,o.dataIndex),1,0,t.getWidth()-1,e.textHints))}},t}();e.a=r},function(t,e,n){"use strict";var i=n(2),r=n(1),A=n(0),o=(n.n(A),function(){function t(){}return t.toHeatMapColor=function(t,e,r){var o=r.getNumber(t,e);isNaN(o)&&(o=0);var a=n.i(A.hsl)(r.color||i.a.DEFAULT_COLOR);return a.l=o,a.toString()},t.prototype.createSVG=function(e,i){var A=i.option("rowBarPadding",1);return{template:"<rect class='heatmap "+e.cssClass+"' y='"+A+"' style='fill: "+e.color+"'>\n <title></title>\n </rect>",update:function(o,a,c){o.querySelector("title").textContent=e.getLabel(a.v,a.dataIndex);var s=i.rowHeight(c)-2*A;n.i(r.h)(o,{y:A,width:s,height:s},{fill:t.toHeatMapColor(a.v,a.dataIndex,e)})}}},t.prototype.createHTML=function(e,i){var A=i.option("rowBarPadding",1);return{template:"<div class='heatmap "+e.cssClass+"' style='background-color: "+e.color+"; top: "+A+"'></div>",update:function(o,a,c){var s=i.rowHeight(c)-2*A;n.i(r.h)(o,{title:e.getLabel(a.v,a.dataIndex)},{width:s+"px",height:s+"px",top:A+"px","background-color":t.toHeatMapColor(a.v,a.dataIndex,e)})}}},t.prototype.createCanvas=function(e,n){var i=n.option("rowBarPadding",1);return function(r,A,o){var a=n.rowHeight(o)-2*i;r.fillStyle=t.toHeatMapColor(A.v,A.dataIndex,e),r.fillRect(i,i,a,a)}},t}());e.a=o},function(t,e,n){"use strict";var i=n(1),r=function(){function t(){}return t.prototype.createSVG=function(t,e){return{template:"<text class='link text' clip-path='url(#cp"+e.idPrefix+"clipCol"+t.id+")'></text>",update:function(e,n){e.innerHTML=t.isLink(n.v,n.dataIndex)?"<a class='link' xlink:href='"+t.getValue(n.v,n.dataIndex)+"' target='_blank'>"+t.getLabel(n.v,n.dataIndex)+"</a>":t.getLabel(n.v,n.dataIndex)}}},t.prototype.createHTML=function(t){return{template:"<div class='link text'></div>",update:function(e,n){e.style.width=t.getWidth()+"px",e.innerHTML=t.isLink(n.v,n.dataIndex)?"<a class='link' href='"+t.getValue(n.v,n.dataIndex)+"' target='_blank'>"+t.getLabel(n.v,n.dataIndex)+"</a>":t.getLabel(n.v,n.dataIndex)}}},t.prototype.createCanvas=function(t,e){return function(r,A,o,a,c){if(!t.isLink(A.v,A.dataIndex))return void n.i(i.g)(r,t.getLabel(A.v,A.dataIndex),0,0,t.getWidth(),e.textHints);if(e.hovered(A.dataIndex)){var s=n.i(i.k)(e.idPrefix+t.id,a,c);s.style.width=t.getWidth()+"px",s.innerHTML="<a class='link' href='"+t.getValue(A.v,A.dataIndex)+"' target='_blank'>"+t.getLabel(A.v,A.dataIndex)+"</a>"}else{var u=r.fillStyle;r.fillStyle=e.option("style.link",e.option("style.text","black")),n.i(i.g)(r,t.getLabel(A.v,A.dataIndex),0,0,t.getWidth(),e.textHints),r.fillStyle=u}}},t}();e.a=r},function(t,e,n){"use strict";var i=n(1),r=function(){function t(){}return t.prototype.createSVG=function(t){return{template:"<text class='loading'><tspan class='fa'></tspan>Loading…</text>",update:function(){}}},t.prototype.createHTML=function(t){return{template:"<div class='loading'><i class='fa fa-spinner fa-pulse'></i><div>Loading…</div></div>",update:function(){}}},t.prototype.createCanvas=function(t,e){var r=Date.now()%360;return function(A,o,a){n.i(i.g)(A,"Loading…",10,0,t.getWidth()-10,e.textHints);var c=(r+45*a)*(Math.PI/180);A.save(),A.font="10pt FontAwesome",A.textAlign="center";var s=.5*(e.rowHeight(a)-e.textHints.spinnerWidth);A.translate(2,s+.5*e.textHints.spinnerWidth),A.rotate(c),A.translate(0,.5*-e.textHints.spinnerWidth),A.fillText("",0,0),A.restore()}},t}();e.a=r},function(t,e,n){"use strict";var i=n(0),r=(n.n(i),function(){function t(){}return t.prototype.createSVG=function(t,e){var r=t.calculateCellDimension(t.getWidth()),A=t.getColorScale(),o=e.option("rowBarPadding",1);return{template:'<g class="heatmapcell"></g>',update:function(a,c,s){var u=n.i(i.select)(a).selectAll("rect").data(t.getValue(c.v,c.dataIndex));u.enter().append("rect").attr({y:o,width:r,height:e.rowHeight(s)}),u.attr({x:function(t,e){return e*r},fill:A}),u.exit().remove()}}},t.prototype.createHTML=function(t,e){var r=t.calculateCellDimension(t.getWidth()),A=e.option("rowBarPadding",1),o=t.getColorScale();return{template:'<div class="heatmapcell" style="top:'+A+'px;"></div>',update:function(A,a,c){var s=n.i(i.select)(A),u=s.selectAll("div").data(t.getValue(a.v,a.dataIndex));u.enter().append("div").style({widht:r+"px",height:e.rowHeight(c)+"px"}),u.style({"background-color":o,left:function(t,e){return e*r+"px"}})}}},t.prototype.createCanvas=function(t,e){var n=t.calculateCellDimension(t.getWidth()),i=e.option("rowBarPadding",1),r=t.getColorScale();return function(A,o,a){var c=t.getValue(o.v,o.dataIndex),s=e.rowHeight(a);c.forEach(function(t,e){var o=e*n;A.beginPath(),A.fillStyle=String(r(t)),A.fillRect(o,i,n,s)})}},t}());e.a=r},function(t,e,n){"use strict";var i=n(1),r=function(){function t(){}return t.prototype.createSVG=function(t){return{template:"<text class='selection fa'><tspan class='selectionOnly'></tspan><tspan class='notSelectionOnly'></tspan></text>",update:function(e,n){e.onclick=function(e){e.preventDefault(),e.stopPropagation(),t.toggleValue(n.v,n.dataIndex)}}}},t.prototype.createHTML=function(t){return{template:"<div class='selection fa'></div>",update:function(e,n){e.onclick=function(e){e.preventDefault(),e.stopPropagation(),t.toggleValue(n.v,n.dataIndex)}}}},t.prototype.createCanvas=function(t,e){return function(r,A){var o=r.font;r.font="10pt FontAwesome",n.i(i.g)(r,t.getValue(A.v,A.dataIndex)?"":"",0,0,t.getWidth(),e.textHints),r.font=o}},t}();e.a=r},function(t,e,n){"use strict";var i=n(1),r=n(0),A=(n.n(r),function(){function t(){}return t.setPathCalculate=function(t,e){var n=[];return t.forEach(function(t,e){return t?n.push(e):-1}),{left:n[0]*e+e/2,right:n[n.length-1]*e+e/2}},t.prototype.createSVG=function(e,A){var o=e.cellDimension();return{template:"<g class='upsetcell'><path class='upsetpath'></path></g>",update:function(a,c,s){var u=A.rowHeight(s),g=e.getBinaryValue(c.v,c.dataIndex),l=g.some(function(t){return t}),M=n.i(r.select)(a).selectAll("circle").data(g);M.enter().append("circle"),M.attr({cy:function(t,e){return u/2},cx:function(t,e){return e*o+o/2},r:o/4,class:function(t){return t?"setcircle":"setcircleOpacity"}}),M.exit().remove();var h="";if(l){var d=t.setPathCalculate(g,o);h="M"+d.left+","+u/2+"L"+d.right+","+u/2}n.i(i.h)(a.querySelector("path"),{d:h})}}},t.prototype.createCanvas=function(e,n){var i=e.cellDimension();return function(r,A,o){var a=e.getBinaryValue(A.v,A.dataIndex),c=a.some(function(t){return t}),s=n.rowHeight(o),u=s/3;if(r.save(),r.fillStyle="black",r.strokeStyle="black",c){var g=c?t.setPathCalculate(a,i):null;r.beginPath(),r.moveTo(g.left,s/2),r.lineTo(g.right,s/2),r.fill(),r.stroke()}a.forEach(function(t,e){var n=s/2,A=e*i+i/2;r.beginPath(),r.globalAlpha=t?1:.1,r.arc(A,n,u,0,2*Math.PI),r.fill(),r.stroke()}),r.restore()}},t}());e.a=A},function(t,e,n){"use strict";var i=n(1),r=n(0),A=(n.n(r),function(){function t(){}return t.prototype.createSVG=function(t,e){var A=t.getSparklineScale(),o=A.xScale.range([0,t.getWidth()]),a=A.yScale,c=r.svg.line().x(function(t,e){return o(e)}).y(a).interpolate("linear");return{template:"<path class='sparklinecell'></path>",update:function(r,A,o){a.range([e.rowHeight(o),0]),n.i(i.h)(r,{d:c(t.getValue(A.v,A.dataIndex))})}}},t.prototype.createCanvas=function(t,e){var n=t.getSparklineScale(),i=n.xScale.range([0,t.getWidth()]),r=n.yScale;return function(n,A,o){var a,c,s=t.getValue(A.v,A.dataIndex);r.range([e.rowHeight(o),0]),n.strokeStyle="black",n.fillStyle="black",s.forEach(function(t,e){n.beginPath(),n.moveTo(a,c),a=i(e),c=r(t),n.lineTo(a,c),n.stroke(),n.fill()})}},t}());e.a=A},function(t,e,n){"use strict";var i=n(1),r=function(){function t(t){void 0===t&&(t=!0),this.nestingPossible=t}return t.prototype.createData=function(t,e){var n=this.nestingPossible&&e.option("stacked",!0),i=e.option("columnPadding",0),r=0;return t.children.map(function(t){var A=r;return r+=t.getWidth(),r+=n?0:i,{column:t,shift:A,stacked:n,renderer:e.renderer(t)}})},t.prototype.createSVG=function(t,e){var r=this.createData(t,e);return{template:"<g class='stack component"+e.option("stackLevel",0)+"'>"+r.map(function(t){return t.renderer.template}).join("")+"</g>",update:function(t,e,A){var o=0;n.i(i.i)(t,r),r.forEach(function(n,i){var r=t.childNodes[i];r.setAttribute("transform","translate("+(n.shift-o)+",0)"),n.renderer.update(r,e,A),n.stacked&&(o+=n.column.getWidth()*(1-n.column.getValue(e.v,e.dataIndex)))})}}},t.prototype.createHTML=function(t,e){var r=this.createData(t,e);return{template:"<div class='stack component"+e.option("stackLevel",0)+"'>"+r.map(function(t){return t.renderer.template}).join("")+"</div>",update:function(t,e,A){var o=0;n.i(i.i)(t,r,"html"),r.forEach(function(n,i){var r=t.childNodes[i];r.style.transform="translate("+(n.shift-o)+"px,0)",n.renderer.update(r,e,A),n.stacked&&(o+=n.column.getWidth()*(1-n.column.getValue(e.v,e.dataIndex)))})}}},t.prototype.createCanvas=function(t,e){var n=this.createData(t,e);return function(t,e,i,r,A){var o=0;n.forEach(function(n){var a=n.shift-o;t.translate(a,0),n.renderer(t,e,i,r+a,A),t.translate(-a,0),n.stacked&&(o+=n.column.getWidth()*(1-n.column.getValue(e.v,e.dataIndex)))})}},t}();e.a=r},function(t,e,n){"use strict";var i=n(28),r=function(){function t(){this.alignments={left:new i.a,right:new i.a("text_right","right"),center:new i.a("text_center","center")}}return t.prototype.createSVG=function(t,e){return this.alignments[t.alignment].createSVG(t,e)},t.prototype.createHTML=function(t,e){return this.alignments[t.alignment].createHTML(t,e)},t.prototype.createCanvas=function(t,e){return this.alignments[t.alignment].createCanvas(t,e)},t}();e.a=r},function(t,e,n){"use strict";var i=n(0),r=(n.n(i),function(){function t(){}return t.prototype.createSVG=function(t,e){var r=t.calculateCellDimension(t.getWidth()),A=t.getThreshold(),o=t.getColorScale().range();return{template:"<g class='thresholdcell'></g>",update:function(a,c,s){var u=e.rowHeight(s),g=n.i(i.select)(a).selectAll("rect").data(t.getValue(c.v,c.dataIndex));g.enter().append("rect"),g.attr({y:function(t,e){return t<A?u/2:0},x:function(t,e){return e*r},width:r,height:function(t,e){return u/2},fill:function(t){return t<A?o[0]:o[2]}}),g.exit().remove()}}},t.prototype.createCanvas=function(t,e){var n=t.calculateCellDimension(t.getWidth()),i=t.getThreshold(),r=t.getColorScale().range();return function(A,o,a){var c=t.getValue(o.v,o.dataIndex),s=e.rowHeight(a);c.forEach(function(t,e){A.beginPath();var o=e*n,a=t<i?s/2:0;A.fillStyle=t<i?r[0]:r[2],A.fillRect(o,a,n,s/2)})}},t}());e.a=r},function(t,e,n){"use strict";var i=n(0),r=(n.n(i),function(){function t(){}return t.verticalBarScale=function(t,e,n,i){return t[0]<e?n.range([0,i/2]):n.range([0,i])},t.verticalBarYpos=function(t,e,n,i,r){return t[0]<e?n<e?r/2:r/2-i(n):r-i(n)},t.verticalBarHeight=function(t,e,n,i,r){return t[0]<e?r/2-i(n):i(n)},t.prototype.createSVG=function(e,r){var A=e.getColorScale(),o=e.calculateCellDimension(e.getWidth()),a=e.getVerticalBarScale(),c=e.getThreshold(),s=e.getDomain();return{template:"<g class='verticalbarcell'></g>",update:function(u,g,l){var M=r.rowHeight(l),h=t.verticalBarScale(s,c,a,M),d=n.i(i.select)(u).selectAll("rect").data(e.getValue(g.v,g.dataIndex));d.enter().append("rect").attr("width",o),d.attr({y:function(e){return t.verticalBarYpos(s,c,e,h,M)},x:function(t,e){return e*o},height:function(e){return t.verticalBarHeight(s,c,e,h,M)},fill:A}),d.exit().remove()}}},t.prototype.createCanvas=function(e,n){var i=e.getColorScale(),r=e.calculateCellDimension(e.getWidth()),A=e.getVerticalBarScale(),o=e.getThreshold(),a=e.getDomain();return function(c,s,u){var g=e.getValue(s.v,s.dataIndex),l=n.rowHeight(u),M=t.verticalBarScale(a,o,A,l);g.forEach(function(e,n){var A=n*r,s=t.verticalBarYpos(a,o,e,M,l);c.fillStyle=String(i(e)),c.fillRect(A,s,r,t.verticalBarHeight(a,o,e,M,l))})}},t}());e.a=r},function(t,e,n){"use strict";var i=n(0),r=(n.n(i),n(1)),A=n(20),o=n(7),a=n(21),c=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},s=function(t){function e(i,A,o,a){void 0===a&&(a={});var c=t.call(this,i,A,o,"div",n.i(r.a)({},e.CUSTOM_OPTIONS,a))||this;return c.currentFreezeLeft=0,c.currentHover=-1,c.lastShifts=[],c.$node.append("canvas"),c.initInteraction(),c}return c(e,t),e.prototype.columnUnderMouse=function(t){for(var e=0,n=this.lastShifts;e<n.length;e++){var i=n[e];if(i.shift<=t&&t<i.shift+i.column.getWidth())return i.column}return null},e.prototype.rowUnderMouse=function(t){var e=this.options.rowHeight;return Math.floor((t+1)/e)},e.prototype.itemUnderMouse=function(t){var e=this.rowUnderMouse(t[1]);if(e<0)return null;var n=this.columnUnderMouse(t[0]);return null===n?null:{dataIndex:n.findMyRanker().getOrder()[e],column:n}},e.prototype.initInteraction=function(){var t=this;this.$node.on("selectstart",function(){return i.event.preventDefault()}),this.$node.on("mousemove",function(){var e=n.i(i.mouse)(t.node),r=t.itemUnderMouse(e);t.mouseOver(r?r.dataIndex:-1)}),this.$node.on("mouseenter",function(){t.mouseOver(-1,!1)}),this.$node.on("mouseleave",function(){t.mouseOver(-1,!1)}),this.$node.on("click",function(){var e=n.i(i.mouse)(t.node),r=t.itemUnderMouse(e);r&&t.select(r.dataIndex,i.event.ctrlKey||r.column instanceof A.a)})},e.prototype.style=function(t){return(this.options.style||{})[t]},e.prototype.select=function(e,n){void 0===n&&(n=!1);var i=t.prototype.select.call(this,e,n);return this.update(),i},e.prototype.drawSelection=function(){this.update()},e.prototype.updateFreeze=function(t){this.currentFreezeLeft=t,this.update()},e.prototype.mouseOver=function(e,i){void 0===i&&(i=!0),i!==(this.currentHover===e)&&(this.currentHover=e,t.prototype.mouseOver.call(this,e,e>=0),(!i||e<0)&&n.i(r.e)(),this.update())},e.prototype.isHovered=function(t){return this.currentHover===t},e.prototype.renderRow=function(t,e,n,i,r){var A=i.dataIndex,o=n.shift,a=e.cellY(r);t.translate(o,a),r%2==0&&(t.fillStyle=this.style("bg"),t.fillRect(0,0,n.width,e.rowHeight(r)),t.fillStyle=this.style("text")),this.data.isSelected(A)?(t.strokeStyle=this.style("selection"),t.strokeRect(0,0,n.width,e.rowHeight(r))):this.isHovered(A)&&(t.strokeStyle=this.style("hover"),t.strokeRect(0,0,n.width,e.rowHeight(r))),t.save();var c=this.currentFreezeLeft<n.shift?0:Math.min(this.currentFreezeLeft-n.shift,n.width-n.frozenWidth);n.frozenWidth>0&&c>0&&(t.rect(o+c+n.frozenWidth,0,n.width,e.rowHeight(r)),t.clip()),n.columns.forEach(function(e){t.save(),t.translate(e.shift,0),e.renderer(t,i,r,o+e.shift,a),t.restore()}),t.restore(),t.translate(c,0),o+=c,n.frozen.forEach(function(e){t.save(),t.translate(e.shift,0),e.renderer(t,i,r,o+e.shift,a),t.restore()}),t.translate(-o,-a)},e.prototype.renderMeanlines=function(t,e,n){var i=this,r=e.columns.filter(function(t){return i.showMeanLine(t.column)});return Promise.all(r.map(function(e){var r=i.histCache.get(e.column.id);if(r)return r.then(function(r){var A=e.shift+e.column.getWidth()*r.mean;isNaN(A)||(t.strokeStyle=i.style("meanLine"),t.beginPath(),t.moveTo(A,0),t.lineTo(A,n),t.stroke())})}))},e.prototype.renderRankings=function(t,e,n,i){var r=this,A=this.renderRow.bind(this,t,n),o=Promise.all.bind(Promise);return o(e.map(function(e){var n=e.data;return o(n.map(function(t,n){return t.then(function(t){return A(e,t,n)})})).then(function(){return r.renderMeanlines(t,e,i)})}))},e.prototype.renderSlopeGraphs=function(t,e,n){var i=this,r=e.slice(1).map(function(t,n){return{left:e[n].order,left_i:n,right:t.order,right_i:n+1}});t.save(),t.strokeStyle=this.style("slope"),r.forEach(function(r,A){t.save(),t.translate(e[A+1].shift-i.options.slopeWidth,0);var o=new Map;r.right.forEach(function(t,e){o.set(t,e)}),r.left.map(function(t,e){return{dataIndex:t,lpos:e,rpos:o.get(t)}}).filter(function(t){return null!=t.rpos}).forEach(function(e){var r=i.data.isSelected(e.dataIndex),A=i.isHovered(e.dataIndex);r?t.strokeStyle=i.style("selection"):A&&(t.strokeStyle=i.style("hover")),t.beginPath(),t.moveTo(0,.5*n.rowHeight(e.lpos)+n.cellY(e.lpos)),t.lineTo(i.options.slopeWidth,.5*n.rowHeight(e.rpos)+n.cellY(e.rpos)),t.stroke(),(r||A)&&(t.strokeStyle=i.style("slope"))}),t.restore()}),t.restore()},e.prototype.createContextImpl=function(t){var e=this,n=this.createContext(t,o.createCanvas);return n.hovered=this.isHovered.bind(this),n.selected=function(t){return e.data.isSelected(t)},n},e.prototype.computeShifts=function(t){var e=this,n=[];return t.forEach(function(t){var i=t.shift;n.push.apply(n,t.frozen.map(function(t){return{column:t.column,shift:t.shift+i+e.currentFreezeLeft}})),n.push.apply(n,t.columns.map(function(t){return{column:t.column,shift:t.shift+i}}))}),n},e.prototype.updateImpl=function(t,e,i,A,o){var a=this.$node.select("canvas"),c=Math.max(e.cellY(0)-20,0),s=Math.min(e.cellY(Math.max.apply(Math,t.map(function(t){return t.order.length})))+20,A);this.$node.style({width:Math.max(0,i)+"px",height:A+"px"}),a.attr({width:Math.max(0,i),height:s-c}).style("margin-top",c+"px"),this.lastShifts=this.computeShifts(t);var u=a.node().getContext("2d");return u.save(),u.font=this.style("font"),u.textBaseline="top",u.fillStyle=this.style("text"),u.clearRect(0,0,u.canvas.width,u.canvas.height),e.textHints=n.i(r.f)(u,this.style("font")),u.translate(0,-c),this.renderSlopeGraphs(u,t,e),this.renderRankings(u,t,e,A).then(function(){u.restore()})},e}(a.a);e.a=s,s.CUSTOM_OPTIONS={style:{text:"black",font:'10pt "Helvetica Neue", Helvetica, Arial, sans-serif',slope:"darkgray",link:"blue",selection:"#ffa500",hover:"#e5e5e5",bg:"#f7f7f7",meanLine:"darkgray"}}},function(t,e,n){"use strict";var i=n(7),r=n(29),A=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o={root:"div",g:"div",setSize:function(t,e,n){t.style.width=e+"px",t.style.height=n+"px"},bg:"div",updateBG:function(t,e){t.style({height:function(t,n,i){return e(t,n,i)[1]+"px"},width:function(t,n,i){return e(t,n,i)[0]+"px"}})},meanLine:"div",updateMeanLine:function(t,e,n){t.style("left",e+"px").style("height",n+"px")},slopes:"svg",updateSlopes:function(t,e,n,i){t.attr("width",e).attr("height",n).style("left",function(t,e){return i(t,e)+"px"})},creator:i.createHTML,translate:function(t,e,n){return t.style.transform="translate("+e+"px,"+n+"px)"},transform:function(t,e){t.style("transform",function(t,n){var i=e(t,n);return"translate("+i[0]+"px,"+i[1]+"px)"})}},a=function(t){function e(e,n,i,r){return void 0===r&&(r={}),t.call(this,e,n,i,o,r)||this}return A(e,t),e.prototype.updateClipPaths=function(t,e,n){},e}(r.a);e.a=a},function(t,e,n){"use strict";var i=n(0),r=(n.n(i),n(1)),A=n(12),o=n(8),a=n(30),c=function(){function t(t){this.desc=t,this.used=0}return t}(),s=function(){function t(t,e,A){void 0===A&&(A={}),this.data=t,this.options={layout:"vertical",elemWidth:100,elemHeight:40,width:100,height:500,additionalDesc:[],hideUsed:!0,addAtEndOnClick:!1},n.i(r.a)(this.options,A),this.$node=n.i(i.select)(e).append("div").classed("lu-pool",!0),this.changeDataStorage(t)}return t.prototype.changeDataStorage=function(t){var e=this;if(this.data&&this.data.on([o.a.EVENT_ADD_COLUMN+".pool",o.a.EVENT_REMOVE_COLUMN+".pool",o.a.EVENT_ADD_RANKING+".pool",o.a.EVENT_REMOVE_RANKING+".pool",o.a.EVENT_ADD_DESC+".pool"],null),this.data=t,this.entries=t.getColumns().concat(this.options.additionalDesc).map(function(t){return new c(t)}),t.on(o.a.EVENT_ADD_DESC+".pool",function(t){e.entries.push(new c(t)),e.update()}),this.options.hideUsed){var n=this;t.on([o.a.EVENT_ADD_COLUMN+".pool",o.a.EVENT_REMOVE_COLUMN+".pool"],function(t){var e=t.desc,i="addColumn"===this.type?1:-1;n.entries.some(function(t){return t.desc===e&&(t.used+=i,!0)}),n.update()}),t.on([o.a.EVENT_ADD_RANKING+".pool",o.a.EVENT_REMOVE_RANKING+".pool"],function(t){var e=t.flatColumns.map(function(t){return t.desc}),i="addRanking"===this.type?1:-1;n.entries.some(function(t){return!(e.indexOf(t.desc)<0)&&(t.used+=i,!0)}),n.update()}),t.getRankings().forEach(function(t){var e=t.flatColumns.map(function(t){return t.desc});n.entries.some(function(t){if(e.indexOf(t.desc)<0)return!1;t.used+=1})})}},t.prototype.remove=function(){this.$node.remove(),this.data&&this.data.on([o.a.EVENT_ADD_COLUMN+".pool",o.a.EVENT_REMOVE_COLUMN+".pool","addRanking.pool","removeRanking.pool","addDesc.pool"],null)},t.prototype.update=function(){var t=this,e=this.data,r=this.entries.filter(function(t){return 0===t.used}).map(function(t){return t.desc}),o=this.$node.selectAll("div.header").data(r),c=o.enter().append("div").attr({class:"header",draggable:!0}).on("dragstart",function(t){var r=i.event;r.dataTransfer.effectAllowed="copyMove",r.dataTransfer.setData("text/plain",t.label),r.dataTransfer.setData("application/caleydo-lineup-column",JSON.stringify(e.toDescRef(t))),n.i(A.isNumberColumn)(t)&&r.dataTransfer.setData("application/caleydo-lineup-column-number",JSON.stringify(e.toDescRef(t)))}).style({width:this.options.elemWidth+"px",height:this.options.elemHeight+"px"});switch(this.options.addAtEndOnClick&&c.on("click",function(e){t.data.push(t.data.getLastRanking(),e)}),c.append("span").classed("label",!0).text(function(t){return t.label}),o.attr("class",function(t){return"header "+(t.cssClass||"")+" "+t.type}),o.style({transform:function(e,n){var i=t.layout(n);return"translate("+i.x+"px,"+i.y+"px)"},"background-color":function(t){var e=t;return e.cssClass?null:e.color||A.Column.DEFAULT_COLOR}}),o.attr({title:function(t){return n.i(a.c)(t)}}),o.select("span").text(function(t){return t.label}),o.exit().remove(),this.options.layout){case"horizontal":this.$node.style({width:this.options.elemWidth*r.length+"px",height:this.options.elemHeight+"px"});break;case"grid":var s=n.i(i.round)(this.options.width/this.options.elemWidth,0);this.$node.style({width:s*this.options.elemWidth+"px",height:Math.ceil(r.length/s)*this.options.elemHeight+"px"});break;default:this.$node.style({width:this.options.elemWidth+"px",height:this.options.elemHeight*r.length+"px"})}},t.prototype.layout=function(t){switch(this.options.layout){case"horizontal":return{x:t*this.options.elemWidth,y:0};case"grid":var e=n.i(i.round)(this.options.width/this.options.elemWidth,0);return{x:t%e*this.options.elemWidth,y:Math.floor(t/e)*this.options.elemHeight};default:return{x:0,y:t*this.options.elemHeight}}},t}();e.a=s},function(t,e,n){"use strict";var i=n(0),r=(n.n(i),n(7)),A=n(29),o=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},a={svg:{root:"svg",g:"g",setSize:function(t,e,n){t.setAttribute("width",String(e)),t.setAttribute("height",String(n))},bg:"rect",updateBG:function(t,e){t.attr({height:function(t,n,i){return e(t,n,i)[1]},width:function(t,n,i){return e(t,n,i)[0]}})},meanLine:"line",updateMeanLine:function(t,e,n){t.attr("x1",1+e).attr("x2",1+e).attr("y2",n)},slopes:"g",updateSlopes:function(t,e,n,i){t.attr("transform",function(t,e){return"translate("+i(t,e)+",0)"})},creator:r.createSVG,translate:function(t,e,n){return t.setAttribute("transform","translate("+e+","+n+")")},transform:function(t,e){t.attr("transform",function(t,n){var i=e(t,n);return"translate("+i[0]+","+i[1]+")"})}}},c=function(t){function e(e,n,i,r){return void 0===r&&(r={}),t.call(this,e,n,i,a.svg,r)||this}return o(e,t),e.prototype.updateClipPathsImpl=function(t,e,n){var i=this.$node.select("defs.body");i.empty()&&(i=this.$node.append("defs").classed("body",!0));var r=i.selectAll(function(){return this.getElementsByTagName("clipPath")}).data(t,function(t){return t.id});r.enter().append("clipPath").attr("id",function(t){return"cp"+e.idPrefix+"clipCol"+t.id}).append("rect").attr("y",0),r.exit().remove(),r.select("rect").attr({x:0,width:function(t){return Math.max(t.getWidth()-5,0)},height:n})},e.prototype.updateClipPaths=function(t,e,r){var A=this,o=[],a=0;t.forEach(function(t){var e=t.ranking.flatten(o,a,2,A.options.columnPadding);a+=e+A.options.slopeWidth}),this.updateClipPathsImpl(o.map(function(t){return t.col}),e,r);var c=this.$node.select("clipPath#c"+e.idPrefix+"Freeze");c.empty()&&(c=this.$node.append("clipPath").attr("id","c"+e.idPrefix+"Freeze").append("rect").attr({y:0,width:2e4,height:r}));var s=0===t.length||0===t[0].frozen.length?0:n.i(i.max)(t[0].frozen,function(t){return t.shift+t.column.getWidth()});c.select("rect").attr({x:s,height:r,transform:"translate("+this.currentFreezeLeft+",0)"})},e}(A.a);e.a=c},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(8);n.d(e,"DataProvider",function(){return i.a});var r=n(34);n.d(e,"LocalDataProvider",function(){return r.a});var A=n(77);n.d(e,"RemoteDataProvider",function(){return A.a})},,function(t,e,n){"use strict";var i=n(1),r=n(33),A=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=function(t){function e(e,r,A){void 0===r&&(r=[]),void 0===A&&(A={});var o=t.call(this,r,A)||this;return o.server=e,o.options={maxCacheSize:1e3},o.cache=new Map,n.i(i.a)(o.options,A),o}return A(e,t),e.prototype.sortImpl=function(t){var e=t.toSortingDesc(function(t){return t.column});return this.server.sort(e)},e.prototype.loadFromServer=function(t){return this.server.view(t).then(function(e){return e.map(function(e,n){return{v:e,dataIndex:t[n]}})})},e.prototype.view=function(t){if(0===t.length)return Promise.resolve([]);var e=this.fetch([t])[0];return Promise.all(e).then(function(t){return t.map(function(t){return t.v})})},e.prototype.computeMissing=function(t){var e=new Set,n=e.add.bind(e);t.forEach(function(t){return t.forEach(n)}),this.cache.forEach(function(t,n){return e.delete(n)}),this.cache.size,e.size,this.options.maxCacheSize;var i=[];return e.forEach(i.push.bind(i)),i},e.prototype.loadInCache=function(t){var e=this;if(0!==t.length){var n=this.loadFromServer(t);t.forEach(function(i,r){var A=t[r];e.cache.set(A,n.then(function(t){return{v:t[r],dataIndex:A}}))})}},e.prototype.fetch=function(t){var e=this,n=this.computeMissing(t);return this.loadInCache(n),t.map(function(t){return t.map(function(t){return e.cache.get(t)})})},e.prototype.mappingSample=function(t){return this.server.mappingSample(t.desc.column)},e.prototype.searchAndJump=function(t,e){var n=this;this.server.search(t,e.desc.column).then(function(t){n.jumpToNearest(t)})},e.prototype.stats=function(t){return this.server.stats(t)},e}(r.a);e.a=o},function(t,e,n){"use strict";function i(t,e,n){return void 0===n&&(n={}),new a.LocalDataProvider(t,e,n)}function r(t,e,n){return void 0===n&&(n={}),new u.a(e,t,n)}Object.defineProperty(e,"__esModule",{value:!0});var A=n(32),o=(n.n(A),n(12)),a=n(75),c=n(7),s=n(31),u=n(22);n.d(e,"deriveColors",function(){return u.b}),n.d(e,"model",function(){return g}),n.d(e,"provider",function(){return l}),n.d(e,"renderer",function(){return M}),n.d(e,"ui",function(){return h}),e.createLocalStorage=i,e.create=r;var g=o,l=a,M=c,h=s}])})},function(t,e,n){var i=n(674);"string"==typeof i&&(i=[[t.i,i,""]]);var r={};r.transform=void 0;n(90)(i,r);i.locals&&(t.exports=i.locals)},function(t,e,n){e=t.exports=n(89)(void 0),e.push([t.i,'/*! lineupjs - v1.1.1 - 2017\n* https://github.com/Caleydo/lineupjs\n* Copyright (c) 2017 Caleydo Team; Licensed BSD-3-Clause*/\n\n/*! lineupjs - v1.1.1 - 2017\n* https://github.com/Caleydo/lineupjs\n* Copyright (c) 2017 Caleydo Team; Licensed BSD-3-Clause*/.lugui-me{margin-bottom:5px;clear:both}.lugui-me .raw_max,.lugui-me .raw_min{width:3em;display:block}.lugui-me .mapping_area{display:flex;align-items:stretch}.lugui-me .mapping_area>div{display:flex;flex-direction:column}.lugui-me .mapping_area>div>span:first-of-type{flex-grow:1}.lugui-me svg{z-index:1;position:relative}.lugui-me svg>rect{fill:#fff;opacity:0}.lugui-me svg g.samples line{stroke:#000;opacity:.5}.lugui-me svg g.mapping:hover{cursor:ew-resize}.lugui-me svg g.mapping:hover line{stroke:#0000cf}.lugui-me svg g.mapping:hover circle{fill:#0000cf}.lugui-me svg g.mapping line{stroke:blue}.lugui-me svg g.mapping circle{fill:blue}.lugui-me svg g.filter text{font-size:8pt;alignment-baseline:hanging}.lugui-me svg g.filter path{fill:gray}.lugui-me svg g.filter rect{fill:#fff;stroke:gray;stroke-width:1}.lugui-me svg g.filter>g{cursor:pointer;cursor:-webkit-drag}.lugui-me svg g.filter>g:hover path{fill:#a9a9a9}.lugui-me svg g.filter>g:hover rect{stroke:#a9a9a9}.lugui-me div.script{clear:both}.lugui-me div.script textarea{height:4em;width:98%;font-size:8pt;display:block}.lu-popup{position:absolute;dominant-baseline:central;text-anchor:middle}.lu-popup .ok{position:absolute;right:10px}.lu-popup,.lu-popup2{background-color:hsla(0,0%,100%,.9);position:absolute;padding:2px;box-shadow:5px 5px 3px #888;z-index:9;font-size:8pt;clear:right}.lu-popup2 input,.lu-popup input{font-size:8pt}.lu-popup2 .selectionTable,.lu-popup .selectionTable{background:#fff;overflow-x:auto;overflow-y:auto;max-height:50vh}.lu-popup2 .selectionTable td,.lu-popup2 .selectionTable th,.lu-popup .selectionTable td,.lu-popup .selectionTable th{white-space:nowrap;padding:1px 5px 1px 3px;cursor:pointer}.lu-popup2 .selectionTable th,.lu-popup .selectionTable th{border-bottom:1px solid #c1c1c1}.lu-popup2 .selectionTable table,.lu-popup .selectionTable table{width:95%;border:0}.lu-popup2 .selectionTable tr:hover,.lu-popup .selectionTable tr:hover{background-color:#add8e6}.lu-popup2 .lu-popup-title,.lu-popup .lu-popup-title{cursor:pointer;cursor:-webkit-grab}.lu-popup2 *{margin:0}.lu-popup2 .ok{float:right}.lu-popup2 div.bar{height:1em}.lu-tooltip{background-color:#fff;min-width:200px;position:absolute;z-index:3;font-size:9pt;text-align:left;padding:2px}.lu-tooltip table{width:100%;border-collapse:collapse}.lu-tooltip tbody th{width:100px}.lu-tooltip td,.lu-tooltip th{border:1px solid #000}.lu-pool div.header{border:2px outset #fff;position:absolute}.lu-pool div.header:hover{border-color:#e5e5e5}.lu,.lu-pool{position:relative}.lu-pool div.lu-header,.lu div.lu-header{position:relative;z-index:1}.lu-pool [draggable],.lu [draggable]{cursor:pointer;cursor:-webkit-grab}.lu-pool div.lu-header,.lu-pool div.lu-pool,.lu div.lu-header,.lu div.lu-pool{position:relative}.lu-pool div.lu-header .drop,.lu-pool div.lu-pool .drop,.lu div.lu-header .drop,.lu div.lu-pool .drop{width:100%;height:100%;position:absolute;background-color:#fff}.lu-pool div.lu-header .drop.drag_over,.lu-pool div.lu-pool .drop.drag_over,.lu div.lu-header .drop.drag_over,.lu div.lu-pool .drop.drag_over{background-color:#979797}.lu-pool div.lu-header div.toolbar,.lu div.lu-header div.toolbar{display:none;position:absolute;text-align:right;right:5px;top:0;border-radius:3px 0 0 3px;cursor:auto;background:#6d6c6c;z-index:1}.lu-pool div.lu-header div.header.drag_over div.lu-label,.lu div.lu-header div.header.drag_over div.lu-label{color:#979797}.lu-pool div.lu-header div.header.compressed div.histogram,.lu-pool div.lu-header div.header.compressed div.toolbar i:not(.fa-toggle-right),.lu div.lu-header div.header.compressed div.histogram,.lu div.lu-header div.header.compressed div.toolbar i:not(.fa-toggle-right){display:none}.lu-pool div.lu-header div.header div.histogram,.lu div.lu-header div.header div.histogram{position:absolute;left:0;right:5px;top:40%;height:60%;display:none}.lu-pool div.lu-header div.header div.histogram>div.bar,.lu div.lu-header div.header div.histogram>div.bar{position:absolute;background-color:#fff;opacity:.5}.lu-pool div.lu-header div.header div.histogram>div.bar.selected,.lu div.lu-header div.header div.histogram>div.bar.selected{opacity:1}.lu-pool div.lu-header div.header div.histogram>div.bar:hover,.lu div.lu-header div.header div.histogram>div.bar:hover{opacity:.7}.lu-pool div.lu-header div.header div.histogram div.mean,.lu div.lu-header div.header div.histogram div.mean{position:absolute;height:100%;width:1px;border-left:1px solid #000}.lu-pool div.lu-header div.header div.lu-label,.lu div.lu-header div.header div.lu-label{position:relative;background:inherit;transform-origin:left top;text-overflow:ellipsis;overflow-x:hidden}.lu-pool div.lu-header div.header span.lu-label,.lu div.lu-header div.header span.lu-label{background:inherit}.lu-pool div.lu-header div.header i.sort_indicator,.lu div.lu-header div.header i.sort_indicator{position:absolute;left:1px;top:1px;font-size:8pt}.lu-pool div.lu-header div.header div.handle,.lu div.lu-header div.header div.handle{position:absolute;right:0;height:100%;top:0;background-color:#fff;display:inline-block;cursor:col-resize}.lu-pool div.lu-header div.header div.handle.drag_over,.lu div.lu-header div.header div.handle.drag_over{background-color:#979797}.lu-pool div.lu-header div.toolbar i,.lu div.lu-header div.toolbar i{font-size:8pt;padding:1px 2px;cursor:pointer}.lu-pool div.lu-header div.toolbar i:hover,.lu div.lu-header div.toolbar i:hover{color:#00008b}.lu-pool div.lu-header div.rankingbuttons,.lu div.lu-header div.rankingbuttons{position:absolute;display:inline-block;height:100%;font-size:90%}.lu-pool div.lu-header div.header,.lu-pool div.lu-header div.header_i,.lu div.lu-header div.header,.lu div.lu-header div.header_i{position:absolute;display:inline-block;overflow:hidden;color:#fff;text-align:center;height:100%;font-size:90%}.lu-pool div.lu-header div.header.filtered>div.toolbar i.fa-filter,.lu-pool div.lu-header div.header_i.filtered>div.toolbar i.fa-filter,.lu div.lu-header div.header.filtered>div.toolbar i.fa-filter,.lu div.lu-header div.header_i.filtered>div.toolbar i.fa-filter{color:#00008b}.lu-pool div.lu-header div.header:not(.compressed):hover>div.toolbar,.lu-pool div.lu-header div.header_i:not(.compressed):hover>div.toolbar,.lu div.lu-header div.header:not(.compressed):hover>div.toolbar,.lu div.lu-header div.header_i:not(.compressed):hover>div.toolbar{display:block;padding:7px}.lu-pool div.lu-header div.header:not(.compressed):hover>div.toolbar i,.lu-pool div.lu-header div.header_i:not(.compressed):hover>div.toolbar i,.lu div.lu-header div.header:not(.compressed):hover>div.toolbar i,.lu div.lu-header div.header_i:not(.compressed):hover>div.toolbar i{display:none}.lu-pool div.lu-header div.header:not(.compressed):hover>div.toolbar:before,.lu-pool div.lu-header div.header_i:not(.compressed):hover>div.toolbar:before,.lu div.lu-header div.header:not(.compressed):hover>div.toolbar:before,.lu div.lu-header div.header_i:not(.compressed):hover>div.toolbar:before{z-index:-1;content:"\\F0C9";font-family:FontAwesome,sans-serif;font-size:7pt;padding:1px 2px 1px 1px;position:absolute;top:0;right:0;bottom:-5px;left:-5px}.lu-pool div.lu-header div.header:not(.compressed):hover>div.toolbar:hover,.lu-pool div.lu-header div.header_i:not(.compressed):hover>div.toolbar:hover,.lu div.lu-header div.header:not(.compressed):hover>div.toolbar:hover,.lu div.lu-header div.header_i:not(.compressed):hover>div.toolbar:hover{padding:0 10px 0 5px}.lu-pool div.lu-header div.header:not(.compressed):hover>div.toolbar:hover:before,.lu-pool div.lu-header div.header_i:not(.compressed):hover>div.toolbar:hover:before,.lu div.lu-header div.header:not(.compressed):hover>div.toolbar:hover:before,.lu div.lu-header div.header_i:not(.compressed):hover>div.toolbar:hover:before{content:""}.lu-pool div.lu-header div.header:not(.compressed):hover>div.toolbar:hover i,.lu-pool div.lu-header div.header_i:not(.compressed):hover>div.toolbar:hover i,.lu div.lu-header div.header:not(.compressed):hover>div.toolbar:hover i,.lu div.lu-header div.header_i:not(.compressed):hover>div.toolbar:hover i{display:inline-block}.lu-pool div.lu-header div.header.categorical div.histogram,.lu-pool div.lu-header div.header.compressed:hover>div.toolbar,.lu-pool div.lu-header div.header.number div.histogram,.lu-pool div.lu-header div.header.ordinal div.histogram,.lu-pool div.lu-header div.header_i.categorical div.histogram,.lu-pool div.lu-header div.header_i.compressed:hover>div.toolbar,.lu-pool div.lu-header div.header_i.number div.histogram,.lu-pool div.lu-header div.header_i.ordinal div.histogram,.lu div.lu-header div.header.categorical div.histogram,.lu div.lu-header div.header.compressed:hover>div.toolbar,.lu div.lu-header div.header.number div.histogram,.lu div.lu-header div.header.ordinal div.histogram,.lu div.lu-header div.header_i.categorical div.histogram,.lu div.lu-header div.header_i.compressed:hover>div.toolbar,.lu div.lu-header div.header_i.number div.histogram,.lu div.lu-header div.header_i.ordinal div.histogram{display:block}.lu-pool div.lu-header div.header.rotateable,.lu-pool div.lu-header div.header_i.rotateable,.lu div.lu-header div.header.rotateable,.lu div.lu-header div.header_i.rotateable{overflow:visible;white-space:nowrap}.lu-pool div.lu-header div.header_i,.lu div.lu-header div.header_i{top:50%;height:50%}.lu .lu-body .hover .notHoverOnly,.lu .lu-body .hoverOnly{display:none}.lu .lu-body .hover .hoverOnly{display:block}.lu .lu-body .selectionOnly{display:none}.lu .lu-body .selected .hoverOnly,.lu .lu-body .selected .selectionOnly{display:block}.lu .lu-body .selected .notHoverOnly,.lu .lu-body .selected .notSelectionOnly{display:none}.lu .lu-body input{padding:0;margin:0;font-size:10pt;pointer-events:all}.lu .lu-body line.slope{stroke:#a9a9a9;stroke-width:2;shape-rendering:geometricPrecision}.lu .lu-body line.slope.hover{stroke:#e5e5e5}.lu .lu-body line.slope.selected{stroke:orange}.lu div.lu-body{font-size:10pt;position:relative}.lu div.lu-body div,.lu div.lu-body svg{position:absolute;padding:0;margin:0}.lu div.lu-body div.cat,.lu div.lu-body div.text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu div.lu-body div.text.text_center{text-align:center}.lu div.lu-body div.loading div{display:inline}.lu div.lu-body div.row div.bg{background-color:transparent;border:1px solid transparent}.lu div.lu-body div.row.even div.bg{background-color:#f7f7f7}.lu div.lu-body div.row.selected div.bg{border:1px solid orange}.lu div.lu-body div.row.hover div.bg{border:1px solid #e5e5e5}.lu div.lu-body div.row.hover .bar,.lu div.lu-body div.row.selected .bar{opacity:.5}.lu div.lu-body div.row.hover .bar span,.lu div.lu-body div.row.selected .bar span{opacity:1}.lu div.lu-body div.row div.selection:before{content:"\\F096"}.lu div.lu-body div.row.selected div.selection:before{content:"\\F046"}.lu div.lu-body div.row div.cat div{position:relative;display:inline-block}.lu svg.lu-body text,.lu svg.lu-body tspan{dominant-baseline:text-before-edge}.lu svg.lu-body text{font-size:10pt}.lu svg.lu-body text.selection{cursor:pointer}.lu svg.lu-body text.selection:hover{color:#00008b}.lu svg.lu-body text.actions tspan{cursor:pointer}.lu svg.lu-body text.actions tspan:hover{color:#00008b}.lu svg.lu-body text.rank,.lu svg.lu-body text.text_right{text-anchor:end}.lu svg.lu-body text.text_center{text-anchor:middle}.lu svg.lu-body foreignObject{padding:0;margin:0;pointer-events:all}.lu svg.lu-body .cat rect{fill:transparent}.lu svg.lu-body line.meanline{stroke:#a9a9a9;stroke-width:1}.lu svg.lu-body .sparklinecell{stroke:#000}.lu svg.lu-body .boxplotallpath,.lu svg.lu-body .boxplotline,.lu svg.lu-body .boxplotrect{stroke:#000;fill:#e0e0e0}.lu svg.lu-body .boxplotsortpath{stroke:#ff0700;fill:#e0e0e0}.lu svg.lu-body .setcircle{stroke:#000;fill:#000}.lu svg.lu-body .setcircleOpacity{stroke:#000;fill:#000;opacity:.1}.lu svg.lu-body .upsetpath{stroke:#000;fill:#000}.lu svg.lu-body g.row rect.bg{fill:transparent}.lu svg.lu-body g.row.even rect.bg{fill:#f7f7f7}.lu svg.lu-body g.row.selected rect.bg{stroke:orange;stroke-width:1}.lu svg.lu-body g.row.hover rect.bg{fill:#e5e5e5}.lu svg.lu-body g.row.hover .bar rect,.lu svg.lu-body g.row.selected .bar rect{opacity:.5}.lu div.lu-body div.lu-overlay{position:absolute;display:none;padding:0;margin:0;z-index:1}.lu div.lu-body div.lu-overlay.actions span{cursor:pointer}.lu div.lu-body div.lu-overlay.actions span:hover{color:#00008b}',""])},function(t,e){t.exports=function(t){var e="undefined"!=typeof window&&window.location;if(!e)throw new Error("fixUrls requires window.location");if(!t||"string"!=typeof t)return t;var n=e.protocol+"//"+e.host,i=n+e.pathname.replace(/\/[^\/]*$/,"/");return t.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(t,e){var r=e.trim().replace(/^"(.*)"$/,function(t,e){return e}).replace(/^'(.*)'$/,function(t,e){return e});if(/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/)/i.test(r))return t;var A;return A=0===r.indexOf("//")?r:0===r.indexOf("/")?n+r:i+r.replace(/^\.\//,""),"url("+JSON.stringify(A)+")"})}},function(t,e,n){var i=n(677);"string"==typeof i&&(i=[[t.i,i,""]]);var r={};r.transform=void 0;n(90)(i,r);i.locals&&(t.exports=i.locals)},function(t,e,n){e=t.exports=n(89)(void 0),e.push([t.i,"div.lu{position:absolute;left:0;top:0;right:0;bottom:0;padding:0;overflow:auto}div.lu .header.stack .header_i .toolbar .fa.fa-toggle-left{display:none}",""])},function(t,e,n){var i=n(679);"string"==typeof i&&(i=[[t.i,i,""]]);n(687)(i,{});i.locals&&(t.exports=i.locals)},function(t,e,n){e=t.exports=n(680)(),e.push([t.i,'.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-fw{width:1.28571429em;text-align:center}.fa-glass:before{content:"\\F000"}.fa-music:before{content:"\\F001"}.fa-search:before{content:"\\F002"}.fa-envelope-o:before{content:"\\F003"}.fa-heart:before{content:"\\F004"}.fa-star:before{content:"\\F005"}.fa-star-o:before{content:"\\F006"}.fa-user:before{content:"\\F007"}.fa-film:before{content:"\\F008"}.fa-th-large:before{content:"\\F009"}.fa-th:before{content:"\\F00A"}.fa-th-list:before{content:"\\F00B"}.fa-check:before{content:"\\F00C"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\\F00D"}.fa-search-plus:before{content:"\\F00E"}.fa-search-minus:before{content:"\\F010"}.fa-power-off:before{content:"\\F011"}.fa-signal:before{content:"\\F012"}.fa-cog:before,.fa-gear:before{content:"\\F013"}.fa-trash-o:before{content:"\\F014"}.fa-home:before{content:"\\F015"}.fa-file-o:before{content:"\\F016"}.fa-clock-o:before{content:"\\F017"}.fa-road:before{content:"\\F018"}.fa-download:before{content:"\\F019"}.fa-arrow-circle-o-down:before{content:"\\F01A"}.fa-arrow-circle-o-up:before{content:"\\F01B"}.fa-inbox:before{content:"\\F01C"}.fa-play-circle-o:before{content:"\\F01D"}.fa-repeat:before,.fa-rotate-right:before{content:"\\F01E"}.fa-refresh:before{content:"\\F021"}.fa-list-alt:before{content:"\\F022"}.fa-lock:before{content:"\\F023"}.fa-flag:before{content:"\\F024"}.fa-headphones:before{content:"\\F025"}.fa-volume-off:before{content:"\\F026"}.fa-volume-down:before{content:"\\F027"}.fa-volume-up:before{content:"\\F028"}.fa-qrcode:before{content:"\\F029"}.fa-barcode:before{content:"\\F02A"}.fa-tag:before{content:"\\F02B"}.fa-tags:before{content:"\\F02C"}.fa-book:before{content:"\\F02D"}.fa-bookmark:before{content:"\\F02E"}.fa-print:before{content:"\\F02F"}.fa-camera:before{content:"\\F030"}.fa-font:before{content:"\\F031"}.fa-bold:before{content:"\\F032"}.fa-italic:before{content:"\\F033"}.fa-text-height:before{content:"\\F034"}.fa-text-width:before{content:"\\F035"}.fa-align-left:before{content:"\\F036"}.fa-align-center:before{content:"\\F037"}.fa-align-right:before{content:"\\F038"}.fa-align-justify:before{content:"\\F039"}.fa-list:before{content:"\\F03A"}.fa-dedent:before,.fa-outdent:before{content:"\\F03B"}.fa-indent:before{content:"\\F03C"}.fa-video-camera:before{content:"\\F03D"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\\F03E"}.fa-pencil:before{content:"\\F040"}.fa-map-marker:before{content:"\\F041"}.fa-adjust:before{content:"\\F042"}.fa-tint:before{content:"\\F043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\\F044"}.fa-share-square-o:before{content:"\\F045"}.fa-check-square-o:before{content:"\\F046"}.fa-arrows:before{content:"\\F047"}.fa-step-backward:before{content:"\\F048"}.fa-fast-backward:before{content:"\\F049"}.fa-backward:before{content:"\\F04A"}.fa-play:before{content:"\\F04B"}.fa-pause:before{content:"\\F04C"}.fa-stop:before{content:"\\F04D"}.fa-forward:before{content:"\\F04E"}.fa-fast-forward:before{content:"\\F050"}.fa-step-forward:before{content:"\\F051"}.fa-eject:before{content:"\\F052"}.fa-chevron-left:before{content:"\\F053"}.fa-chevron-right:before{content:"\\F054"}.fa-plus-circle:before{content:"\\F055"}.fa-minus-circle:before{content:"\\F056"}.fa-times-circle:before{content:"\\F057"}.fa-check-circle:before{content:"\\F058"}.fa-question-circle:before{content:"\\F059"}.fa-info-circle:before{content:"\\F05A"}.fa-crosshairs:before{content:"\\F05B"}.fa-times-circle-o:before{content:"\\F05C"}.fa-check-circle-o:before{content:"\\F05D"}.fa-ban:before{content:"\\F05E"}.fa-arrow-left:before{content:"\\F060"}.fa-arrow-right:before{content:"\\F061"}.fa-arrow-up:before{content:"\\F062"}.fa-arrow-down:before{content:"\\F063"}.fa-mail-forward:before,.fa-share:before{content:"\\F064"}.fa-expand:before{content:"\\F065"}.fa-compress:before{content:"\\F066"}.fa-plus:before{content:"\\F067"}.fa-minus:before{content:"\\F068"}.fa-asterisk:before{content:"\\F069"}.fa-exclamation-circle:before{content:"\\F06A"}.fa-gift:before{content:"\\F06B"}.fa-leaf:before{content:"\\F06C"}.fa-fire:before{content:"\\F06D"}.fa-eye:before{content:"\\F06E"}.fa-eye-slash:before{content:"\\F070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\\F071"}.fa-plane:before{content:"\\F072"}.fa-calendar:before{content:"\\F073"}.fa-random:before{content:"\\F074"}.fa-comment:before{content:"\\F075"}.fa-magnet:before{content:"\\F076"}.fa-chevron-up:before{content:"\\F077"}.fa-chevron-down:before{content:"\\F078"}.fa-retweet:before{content:"\\F079"}.fa-shopping-cart:before{content:"\\F07A"}.fa-folder:before{content:"\\F07B"}.fa-folder-open:before{content:"\\F07C"}.fa-arrows-v:before{content:"\\F07D"}.fa-arrows-h:before{content:"\\F07E"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\\F080"}.fa-twitter-square:before{content:"\\F081"}.fa-facebook-square:before{content:"\\F082"}.fa-camera-retro:before{content:"\\F083"}.fa-key:before{content:"\\F084"}.fa-cogs:before,.fa-gears:before{content:"\\F085"}.fa-comments:before{content:"\\F086"}.fa-thumbs-o-up:before{content:"\\F087"}.fa-thumbs-o-down:before{content:"\\F088"}.fa-star-half:before{content:"\\F089"}.fa-heart-o:before{content:"\\F08A"}.fa-sign-out:before{content:"\\F08B"}.fa-linkedin-square:before{content:"\\F08C"}.fa-thumb-tack:before{content:"\\F08D"}.fa-external-link:before{content:"\\F08E"}.fa-sign-in:before{content:"\\F090"}.fa-trophy:before{content:"\\F091"}.fa-github-square:before{content:"\\F092"}.fa-upload:before{content:"\\F093"}.fa-lemon-o:before{content:"\\F094"}.fa-phone:before{content:"\\F095"}.fa-square-o:before{content:"\\F096"}.fa-bookmark-o:before{content:"\\F097"}.fa-phone-square:before{content:"\\F098"}.fa-twitter:before{content:"\\F099"}.fa-facebook-f:before,.fa-facebook:before{content:"\\F09A"}.fa-github:before{content:"\\F09B"}.fa-unlock:before{content:"\\F09C"}.fa-credit-card:before{content:"\\F09D"}.fa-feed:before,.fa-rss:before{content:"\\F09E"}.fa-hdd-o:before{content:"\\F0A0"}.fa-bullhorn:before{content:"\\F0A1"}.fa-bell:before{content:"\\F0F3"}.fa-certificate:before{content:"\\F0A3"}.fa-hand-o-right:before{content:"\\F0A4"}.fa-hand-o-left:before{content:"\\F0A5"}.fa-hand-o-up:before{content:"\\F0A6"}.fa-hand-o-down:before{content:"\\F0A7"}.fa-arrow-circle-left:before{content:"\\F0A8"}.fa-arrow-circle-right:before{content:"\\F0A9"}.fa-arrow-circle-up:before{content:"\\F0AA"}.fa-arrow-circle-down:before{content:"\\F0AB"}.fa-globe:before{content:"\\F0AC"}.fa-wrench:before{content:"\\F0AD"}.fa-tasks:before{content:"\\F0AE"}.fa-filter:before{content:"\\F0B0"}.fa-briefcase:before{content:"\\F0B1"}.fa-arrows-alt:before{content:"\\F0B2"}.fa-group:before,.fa-users:before{content:"\\F0C0"}.fa-chain:before,.fa-link:before{content:"\\F0C1"}.fa-cloud:before{content:"\\F0C2"}.fa-flask:before{content:"\\F0C3"}.fa-cut:before,.fa-scissors:before{content:"\\F0C4"}.fa-copy:before,.fa-files-o:before{content:"\\F0C5"}.fa-paperclip:before{content:"\\F0C6"}.fa-floppy-o:before,.fa-save:before{content:"\\F0C7"}.fa-square:before{content:"\\F0C8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\\F0C9"}.fa-list-ul:before{content:"\\F0CA"}.fa-list-ol:before{content:"\\F0CB"}.fa-strikethrough:before{content:"\\F0CC"}.fa-underline:before{content:"\\F0CD"}.fa-table:before{content:"\\F0CE"}.fa-magic:before{content:"\\F0D0"}.fa-truck:before{content:"\\F0D1"}.fa-pinterest:before{content:"\\F0D2"}.fa-pinterest-square:before{content:"\\F0D3"}.fa-google-plus-square:before{content:"\\F0D4"}.fa-google-plus:before{content:"\\F0D5"}.fa-money:before{content:"\\F0D6"}.fa-caret-down:before{content:"\\F0D7"}.fa-caret-up:before{content:"\\F0D8"}.fa-caret-left:before{content:"\\F0D9"}.fa-caret-right:before{content:"\\F0DA"}.fa-columns:before{content:"\\F0DB"}.fa-sort:before,.fa-unsorted:before{content:"\\F0DC"}.fa-sort-desc:before,.fa-sort-down:before{content:"\\F0DD"}.fa-sort-asc:before,.fa-sort-up:before{content:"\\F0DE"}.fa-envelope:before{content:"\\F0E0"}.fa-linkedin:before{content:"\\F0E1"}.fa-rotate-left:before,.fa-undo:before{content:"\\F0E2"}.fa-gavel:before,.fa-legal:before{content:"\\F0E3"}.fa-dashboard:before,.fa-tachometer:before{content:"\\F0E4"}.fa-comment-o:before{content:"\\F0E5"}.fa-comments-o:before{content:"\\F0E6"}.fa-bolt:before,.fa-flash:before{content:"\\F0E7"}.fa-sitemap:before{content:"\\F0E8"}.fa-umbrella:before{content:"\\F0E9"}.fa-clipboard:before,.fa-paste:before{content:"\\F0EA"}.fa-lightbulb-o:before{content:"\\F0EB"}.fa-exchange:before{content:"\\F0EC"}.fa-cloud-download:before{content:"\\F0ED"}.fa-cloud-upload:before{content:"\\F0EE"}.fa-user-md:before{content:"\\F0F0"}.fa-stethoscope:before{content:"\\F0F1"}.fa-suitcase:before{content:"\\F0F2"}.fa-bell-o:before{content:"\\F0A2"}.fa-coffee:before{content:"\\F0F4"}.fa-cutlery:before{content:"\\F0F5"}.fa-file-text-o:before{content:"\\F0F6"}.fa-building-o:before{content:"\\F0F7"}.fa-hospital-o:before{content:"\\F0F8"}.fa-ambulance:before{content:"\\F0F9"}.fa-medkit:before{content:"\\F0FA"}.fa-fighter-jet:before{content:"\\F0FB"}.fa-beer:before{content:"\\F0FC"}.fa-h-square:before{content:"\\F0FD"}.fa-plus-square:before{content:"\\F0FE"}.fa-angle-double-left:before{content:"\\F100"}.fa-angle-double-right:before{content:"\\F101"}.fa-angle-double-up:before{content:"\\F102"}.fa-angle-double-down:before{content:"\\F103"}.fa-angle-left:before{content:"\\F104"}.fa-angle-right:before{content:"\\F105"}.fa-angle-up:before{content:"\\F106"}.fa-angle-down:before{content:"\\F107"}.fa-desktop:before{content:"\\F108"}.fa-laptop:before{content:"\\F109"}.fa-tablet:before{content:"\\F10A"}.fa-mobile-phone:before,.fa-mobile:before{content:"\\F10B"}.fa-circle-o:before{content:"\\F10C"}.fa-quote-left:before{content:"\\F10D"}.fa-quote-right:before{content:"\\F10E"}.fa-spinner:before{content:"\\F110"}.fa-circle:before{content:"\\F111"}.fa-mail-reply:before,.fa-reply:before{content:"\\F112"}.fa-github-alt:before{content:"\\F113"}.fa-folder-o:before{content:"\\F114"}.fa-folder-open-o:before{content:"\\F115"}.fa-smile-o:before{content:"\\F118"}.fa-frown-o:before{content:"\\F119"}.fa-meh-o:before{content:"\\F11A"}.fa-gamepad:before{content:"\\F11B"}.fa-keyboard-o:before{content:"\\F11C"}.fa-flag-o:before{content:"\\F11D"}.fa-flag-checkered:before{content:"\\F11E"}.fa-terminal:before{content:"\\F120"}.fa-code:before{content:"\\F121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\\F122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\\F123"}.fa-location-arrow:before{content:"\\F124"}.fa-crop:before{content:"\\F125"}.fa-code-fork:before{content:"\\F126"}.fa-chain-broken:before,.fa-unlink:before{content:"\\F127"}.fa-question:before{content:"\\F128"}.fa-info:before{content:"\\F129"}.fa-exclamation:before{content:"\\F12A"}.fa-superscript:before{content:"\\F12B"}.fa-subscript:before{content:"\\F12C"}.fa-eraser:before{content:"\\F12D"}.fa-puzzle-piece:before{content:"\\F12E"}.fa-microphone:before{content:"\\F130"}.fa-microphone-slash:before{content:"\\F131"}.fa-shield:before{content:"\\F132"}.fa-calendar-o:before{content:"\\F133"}.fa-fire-extinguisher:before{content:"\\F134"}.fa-rocket:before{content:"\\F135"}.fa-maxcdn:before{content:"\\F136"}.fa-chevron-circle-left:before{content:"\\F137"}.fa-chevron-circle-right:before{content:"\\F138"}.fa-chevron-circle-up:before{content:"\\F139"}.fa-chevron-circle-down:before{content:"\\F13A"}.fa-html5:before{content:"\\F13B"}.fa-css3:before{content:"\\F13C"}.fa-anchor:before{content:"\\F13D"}.fa-unlock-alt:before{content:"\\F13E"}.fa-bullseye:before{content:"\\F140"}.fa-ellipsis-h:before{content:"\\F141"}.fa-ellipsis-v:before{content:"\\F142"}.fa-rss-square:before{content:"\\F143"}.fa-play-circle:before{content:"\\F144"}.fa-ticket:before{content:"\\F145"}.fa-minus-square:before{content:"\\F146"}.fa-minus-square-o:before{content:"\\F147"}.fa-level-up:before{content:"\\F148"}.fa-level-down:before{content:"\\F149"}.fa-check-square:before{content:"\\F14A"}.fa-pencil-square:before{content:"\\F14B"}.fa-external-link-square:before{content:"\\F14C"}.fa-share-square:before{content:"\\F14D"}.fa-compass:before{content:"\\F14E"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\\F150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\\F151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\\F152"}.fa-eur:before,.fa-euro:before{content:"\\F153"}.fa-gbp:before{content:"\\F154"}.fa-dollar:before,.fa-usd:before{content:"\\F155"}.fa-inr:before,.fa-rupee:before{content:"\\F156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\\F157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\\F158"}.fa-krw:before,.fa-won:before{content:"\\F159"}.fa-bitcoin:before,.fa-btc:before{content:"\\F15A"}.fa-file:before{content:"\\F15B"}.fa-file-text:before{content:"\\F15C"}.fa-sort-alpha-asc:before{content:"\\F15D"}.fa-sort-alpha-desc:before{content:"\\F15E"}.fa-sort-amount-asc:before{content:"\\F160"}.fa-sort-amount-desc:before{content:"\\F161"}.fa-sort-numeric-asc:before{content:"\\F162"}.fa-sort-numeric-desc:before{content:"\\F163"}.fa-thumbs-up:before{content:"\\F164"}.fa-thumbs-down:before{content:"\\F165"}.fa-youtube-square:before{content:"\\F166"}.fa-youtube:before{content:"\\F167"}.fa-xing:before{content:"\\F168"}.fa-xing-square:before{content:"\\F169"}.fa-youtube-play:before{content:"\\F16A"}.fa-dropbox:before{content:"\\F16B"}.fa-stack-overflow:before{content:"\\F16C"}.fa-instagram:before{content:"\\F16D"}.fa-flickr:before{content:"\\F16E"}.fa-adn:before{content:"\\F170"}.fa-bitbucket:before{content:"\\F171"}.fa-bitbucket-square:before{content:"\\F172"}.fa-tumblr:before{content:"\\F173"}.fa-tumblr-square:before{content:"\\F174"}.fa-long-arrow-down:before{content:"\\F175"}.fa-long-arrow-up:before{content:"\\F176"}.fa-long-arrow-left:before{content:"\\F177"}.fa-long-arrow-right:before{content:"\\F178"}.fa-apple:before{content:"\\F179"}.fa-windows:before{content:"\\F17A"}.fa-android:before{content:"\\F17B"}.fa-linux:before{content:"\\F17C"}.fa-dribbble:before{content:"\\F17D"}.fa-skype:before{content:"\\F17E"}.fa-foursquare:before{content:"\\F180"}.fa-trello:before{content:"\\F181"}.fa-female:before{content:"\\F182"}.fa-male:before{content:"\\F183"}.fa-gittip:before,.fa-gratipay:before{content:"\\F184"}.fa-sun-o:before{content:"\\F185"}.fa-moon-o:before{content:"\\F186"}.fa-archive:before{content:"\\F187"}.fa-bug:before{content:"\\F188"}.fa-vk:before{content:"\\F189"}.fa-weibo:before{content:"\\F18A"}.fa-renren:before{content:"\\F18B"}.fa-pagelines:before{content:"\\F18C"}.fa-stack-exchange:before{content:"\\F18D"}.fa-arrow-circle-o-right:before{content:"\\F18E"}.fa-arrow-circle-o-left:before{content:"\\F190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\\F191"}.fa-dot-circle-o:before{content:"\\F192"}.fa-wheelchair:before{content:"\\F193"}.fa-vimeo-square:before{content:"\\F194"}.fa-try:before,.fa-turkish-lira:before{content:"\\F195"}.fa-plus-square-o:before{content:"\\F196"}.fa-space-shuttle:before{content:"\\F197"}.fa-slack:before{content:"\\F198"}.fa-envelope-square:before{content:"\\F199"}.fa-wordpress:before{content:"\\F19A"}.fa-openid:before{content:"\\F19B"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\\F19C"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\\F19D"}.fa-yahoo:before{content:"\\F19E"}.fa-google:before{content:"\\F1A0"}.fa-reddit:before{content:"\\F1A1"}.fa-reddit-square:before{content:"\\F1A2"}.fa-stumbleupon-circle:before{content:"\\F1A3"}.fa-stumbleupon:before{content:"\\F1A4"}.fa-delicious:before{content:"\\F1A5"}.fa-digg:before{content:"\\F1A6"}.fa-pied-piper-pp:before{content:"\\F1A7"}.fa-pied-piper-alt:before{content:"\\F1A8"}.fa-drupal:before{content:"\\F1A9"}.fa-joomla:before{content:"\\F1AA"}.fa-language:before{content:"\\F1AB"}.fa-fax:before{content:"\\F1AC"}.fa-building:before{content:"\\F1AD"}.fa-child:before{content:"\\F1AE"}.fa-paw:before{content:"\\F1B0"}.fa-spoon:before{content:"\\F1B1"}.fa-cube:before{content:"\\F1B2"}.fa-cubes:before{content:"\\F1B3"}.fa-behance:before{content:"\\F1B4"}.fa-behance-square:before{content:"\\F1B5"}.fa-steam:before{content:"\\F1B6"}.fa-steam-square:before{content:"\\F1B7"}.fa-recycle:before{content:"\\F1B8"}.fa-automobile:before,.fa-car:before{content:"\\F1B9"}.fa-cab:before,.fa-taxi:before{content:"\\F1BA"}.fa-tree:before{content:"\\F1BB"}.fa-spotify:before{content:"\\F1BC"}.fa-deviantart:before{content:"\\F1BD"}.fa-soundcloud:before{content:"\\F1BE"}.fa-database:before{content:"\\F1C0"}.fa-file-pdf-o:before{content:"\\F1C1"}.fa-file-word-o:before{content:"\\F1C2"}.fa-file-excel-o:before{content:"\\F1C3"}.fa-file-powerpoint-o:before{content:"\\F1C4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\\F1C5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\\F1C6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\\F1C7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\\F1C8"}.fa-file-code-o:before{content:"\\F1C9"}.fa-vine:before{content:"\\F1CA"}.fa-codepen:before{content:"\\F1CB"}.fa-jsfiddle:before{content:"\\F1CC"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\\F1CD"}.fa-circle-o-notch:before{content:"\\F1CE"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\\F1D0"}.fa-empire:before,.fa-ge:before{content:"\\F1D1"}.fa-git-square:before{content:"\\F1D2"}.fa-git:before{content:"\\F1D3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\\F1D4"}.fa-tencent-weibo:before{content:"\\F1D5"}.fa-qq:before{content:"\\F1D6"}.fa-wechat:before,.fa-weixin:before{content:"\\F1D7"}.fa-paper-plane:before,.fa-send:before{content:"\\F1D8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\\F1D9"}.fa-history:before{content:"\\F1DA"}.fa-circle-thin:before{content:"\\F1DB"}.fa-header:before{content:"\\F1DC"}.fa-paragraph:before{content:"\\F1DD"}.fa-sliders:before{content:"\\F1DE"}.fa-share-alt:before{content:"\\F1E0"}.fa-share-alt-square:before{content:"\\F1E1"}.fa-bomb:before{content:"\\F1E2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\\F1E3"}.fa-tty:before{content:"\\F1E4"}.fa-binoculars:before{content:"\\F1E5"}.fa-plug:before{content:"\\F1E6"}.fa-slideshare:before{content:"\\F1E7"}.fa-twitch:before{content:"\\F1E8"}.fa-yelp:before{content:"\\F1E9"}.fa-newspaper-o:before{content:"\\F1EA"}.fa-wifi:before{content:"\\F1EB"}.fa-calculator:before{content:"\\F1EC"}.fa-paypal:before{content:"\\F1ED"}.fa-google-wallet:before{content:"\\F1EE"}.fa-cc-visa:before{content:"\\F1F0"}.fa-cc-mastercard:before{content:"\\F1F1"}.fa-cc-discover:before{content:"\\F1F2"}.fa-cc-amex:before{content:"\\F1F3"}.fa-cc-paypal:before{content:"\\F1F4"}.fa-cc-stripe:before{content:"\\F1F5"}.fa-bell-slash:before{content:"\\F1F6"}.fa-bell-slash-o:before{content:"\\F1F7"}.fa-trash:before{content:"\\F1F8"}.fa-copyright:before{content:"\\F1F9"}.fa-at:before{content:"\\F1FA"}.fa-eyedropper:before{content:"\\F1FB"}.fa-paint-brush:before{content:"\\F1FC"}.fa-birthday-cake:before{content:"\\F1FD"}.fa-area-chart:before{content:"\\F1FE"}.fa-pie-chart:before{content:"\\F200"}.fa-line-chart:before{content:"\\F201"}.fa-lastfm:before{content:"\\F202"}.fa-lastfm-square:before{content:"\\F203"}.fa-toggle-off:before{content:"\\F204"}.fa-toggle-on:before{content:"\\F205"}.fa-bicycle:before{content:"\\F206"}.fa-bus:before{content:"\\F207"}.fa-ioxhost:before{content:"\\F208"}.fa-angellist:before{content:"\\F209"}.fa-cc:before{content:"\\F20A"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\\F20B"}.fa-meanpath:before{content:"\\F20C"}.fa-buysellads:before{content:"\\F20D"}.fa-connectdevelop:before{content:"\\F20E"}.fa-dashcube:before{content:"\\F210"}.fa-forumbee:before{content:"\\F211"}.fa-leanpub:before{content:"\\F212"}.fa-sellsy:before{content:"\\F213"}.fa-shirtsinbulk:before{content:"\\F214"}.fa-simplybuilt:before{content:"\\F215"}.fa-skyatlas:before{content:"\\F216"}.fa-cart-plus:before{content:"\\F217"}.fa-cart-arrow-down:before{content:"\\F218"}.fa-diamond:before{content:"\\F219"}.fa-ship:before{content:"\\F21A"}.fa-user-secret:before{content:"\\F21B"}.fa-motorcycle:before{content:"\\F21C"}.fa-street-view:before{content:"\\F21D"}.fa-heartbeat:before{content:"\\F21E"}.fa-venus:before{content:"\\F221"}.fa-mars:before{content:"\\F222"}.fa-mercury:before{content:"\\F223"}.fa-intersex:before,.fa-transgender:before{content:"\\F224"}.fa-transgender-alt:before{content:"\\F225"}.fa-venus-double:before{content:"\\F226"}.fa-mars-double:before{content:"\\F227"}.fa-venus-mars:before{content:"\\F228"}.fa-mars-stroke:before{content:"\\F229"}.fa-mars-stroke-v:before{content:"\\F22A"}.fa-mars-stroke-h:before{content:"\\F22B"}.fa-neuter:before{content:"\\F22C"}.fa-genderless:before{content:"\\F22D"}.fa-facebook-official:before{content:"\\F230"}.fa-pinterest-p:before{content:"\\F231"}.fa-whatsapp:before{content:"\\F232"}.fa-server:before{content:"\\F233"}.fa-user-plus:before{content:"\\F234"}.fa-user-times:before{content:"\\F235"}.fa-bed:before,.fa-hotel:before{content:"\\F236"}.fa-viacoin:before{content:"\\F237"}.fa-train:before{content:"\\F238"}.fa-subway:before{content:"\\F239"}.fa-medium:before{content:"\\F23A"}.fa-y-combinator:before,.fa-yc:before{content:"\\F23B"}.fa-optin-monster:before{content:"\\F23C"}.fa-opencart:before{content:"\\F23D"}.fa-expeditedssl:before{content:"\\F23E"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:"\\F240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\\F241"}.fa-battery-2:before,.fa-battery-half:before{content:"\\F242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\\F243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\\F244"}.fa-mouse-pointer:before{content:"\\F245"}.fa-i-cursor:before{content:"\\F246"}.fa-object-group:before{content:"\\F247"}.fa-object-ungroup:before{content:"\\F248"}.fa-sticky-note:before{content:"\\F249"}.fa-sticky-note-o:before{content:"\\F24A"}.fa-cc-jcb:before{content:"\\F24B"}.fa-cc-diners-club:before{content:"\\F24C"}.fa-clone:before{content:"\\F24D"}.fa-balance-scale:before{content:"\\F24E"}.fa-hourglass-o:before{content:"\\F250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\\F251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\\F252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\\F253"}.fa-hourglass:before{content:"\\F254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\\F255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\\F256"}.fa-hand-scissors-o:before{content:"\\F257"}.fa-hand-lizard-o:before{content:"\\F258"}.fa-hand-spock-o:before{content:"\\F259"}.fa-hand-pointer-o:before{content:"\\F25A"}.fa-hand-peace-o:before{content:"\\F25B"}.fa-trademark:before{content:"\\F25C"}.fa-registered:before{content:"\\F25D"}.fa-creative-commons:before{content:"\\F25E"}.fa-gg:before{content:"\\F260"}.fa-gg-circle:before{content:"\\F261"}.fa-tripadvisor:before{content:"\\F262"}.fa-odnoklassniki:before{content:"\\F263"}.fa-odnoklassniki-square:before{content:"\\F264"}.fa-get-pocket:before{content:"\\F265"}.fa-wikipedia-w:before{content:"\\F266"}.fa-safari:before{content:"\\F267"}.fa-chrome:before{content:"\\F268"}.fa-firefox:before{content:"\\F269"}.fa-opera:before{content:"\\F26A"}.fa-internet-explorer:before{content:"\\F26B"}.fa-television:before,.fa-tv:before{content:"\\F26C"}.fa-contao:before{content:"\\F26D"}.fa-500px:before{content:"\\F26E"}.fa-amazon:before{content:"\\F270"}.fa-calendar-plus-o:before{content:"\\F271"}.fa-calendar-minus-o:before{content:"\\F272"}.fa-calendar-times-o:before{content:"\\F273"}.fa-calendar-check-o:before{content:"\\F274"}.fa-industry:before{content:"\\F275"}.fa-map-pin:before{content:"\\F276"}.fa-map-signs:before{content:"\\F277"}.fa-map-o:before{content:"\\F278"}.fa-map:before{content:"\\F279"}.fa-commenting:before{content:"\\F27A"}.fa-commenting-o:before{content:"\\F27B"}.fa-houzz:before{content:"\\F27C"}.fa-vimeo:before{content:"\\F27D"}.fa-black-tie:before{content:"\\F27E"}.fa-fonticons:before{content:"\\F280"}.fa-reddit-alien:before{content:"\\F281"}.fa-edge:before{content:"\\F282"}.fa-credit-card-alt:before{content:"\\F283"}.fa-codiepie:before{content:"\\F284"}.fa-modx:before{content:"\\F285"}.fa-fort-awesome:before{content:"\\F286"}.fa-usb:before{content:"\\F287"}.fa-product-hunt:before{content:"\\F288"}.fa-mixcloud:before{content:"\\F289"}.fa-scribd:before{content:"\\F28A"}.fa-pause-circle:before{content:"\\F28B"}.fa-pause-circle-o:before{content:"\\F28C"}.fa-stop-circle:before{content:"\\F28D"}.fa-stop-circle-o:before{content:"\\F28E"}.fa-shopping-bag:before{content:"\\F290"}.fa-shopping-basket:before{content:"\\F291"}.fa-hashtag:before{content:"\\F292"}.fa-bluetooth:before{content:"\\F293"}.fa-bluetooth-b:before{content:"\\F294"}.fa-percent:before{content:"\\F295"}.fa-gitlab:before{content:"\\F296"}.fa-wpbeginner:before{content:"\\F297"}.fa-wpforms:before{content:"\\F298"}.fa-envira:before{content:"\\F299"}.fa-universal-access:before{content:"\\F29A"}.fa-wheelchair-alt:before{content:"\\F29B"}.fa-question-circle-o:before{content:"\\F29C"}.fa-blind:before{content:"\\F29D"}.fa-audio-description:before{content:"\\F29E"}.fa-volume-control-phone:before{content:"\\F2A0"}.fa-braille:before{content:"\\F2A1"}.fa-assistive-listening-systems:before{content:"\\F2A2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\\F2A3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\\F2A4"}.fa-glide:before{content:"\\F2A5"}.fa-glide-g:before{content:"\\F2A6"}.fa-sign-language:before,.fa-signing:before{content:"\\F2A7"}.fa-low-vision:before{content:"\\F2A8"}.fa-viadeo:before{content:"\\F2A9"}.fa-viadeo-square:before{content:"\\F2AA"}.fa-snapchat:before{content:"\\F2AB"}.fa-snapchat-ghost:before{content:"\\F2AC"}.fa-snapchat-square:before{content:"\\F2AD"}.fa-pied-piper:before{content:"\\F2AE"}.fa-first-order:before{content:"\\F2B0"}.fa-yoast:before{content:"\\F2B1"}.fa-themeisle:before{content:"\\F2B2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\\F2B3"}.fa-fa:before,.fa-font-awesome:before{content:"\\F2B4"}.fa-handshake-o:before{content:"\\F2B5"}.fa-envelope-open:before{content:"\\F2B6"}.fa-envelope-open-o:before{content:"\\F2B7"}.fa-linode:before{content:"\\F2B8"}.fa-address-book:before{content:"\\F2B9"}.fa-address-book-o:before{content:"\\F2BA"}.fa-address-card:before,.fa-vcard:before{content:"\\F2BB"}.fa-address-card-o:before,.fa-vcard-o:before{content:"\\F2BC"}.fa-user-circle:before{content:"\\F2BD"}.fa-user-circle-o:before{content:"\\F2BE"}.fa-user-o:before{content:"\\F2C0"}.fa-id-badge:before{content:"\\F2C1"}.fa-drivers-license:before,.fa-id-card:before{content:"\\F2C2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\\F2C3"}.fa-quora:before{content:"\\F2C4"}.fa-free-code-camp:before{content:"\\F2C5"}.fa-telegram:before{content:"\\F2C6"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:"\\F2C7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\\F2C8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\\F2C9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\\F2CA"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\\F2CB"}.fa-shower:before{content:"\\F2CC"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:"\\F2CD"}.fa-podcast:before{content:"\\F2CE"}.fa-window-maximize:before{content:"\\F2D0"}.fa-window-minimize:before{content:"\\F2D1"}.fa-window-restore:before{content:"\\F2D2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\\F2D3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\\F2D4"}.fa-bandcamp:before{content:"\\F2D5"}.fa-grav:before{content:"\\F2D6"}.fa-etsy:before{content:"\\F2D7"}.fa-imdb:before{content:"\\F2D8"}.fa-ravelry:before{content:"\\F2D9"}.fa-eercast:before{content:"\\F2DA"}.fa-microchip:before{content:"\\F2DB"}.fa-snowflake-o:before{content:"\\F2DC"}.fa-superpowers:before{content:"\\F2DD"}.fa-wpexplorer:before{content:"\\F2DE"}.fa-meetup:before{content:"\\F2E0"}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}@font-face{font-family:FontAwesome;src:url('+n(681)+");src:url("+n(682)+'?#iefix&v=4.7.0) format("embedded-opentype"),url('+n(683)+') format("woff2"),url('+n(684)+') format("woff"),url('+n(685)+') format("truetype"),url('+n(686)+'#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}',""])},function(t,e){t.exports=function(){var t=[];return t.toString=function(){for(var t=[],e=0;e<this.length;e++){var n=this[e];n[2]?t.push("@media "+n[2]+"{"+n[1]+"}"):t.push(n[1])}return t.join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var i={},r=0;r<this.length;r++){var A=this[r][0];"number"==typeof A&&(i[A]=!0)}for(r=0;r<e.length;r++){var o=e[r];"number"==typeof o[0]&&i[o[0]]||(n&&!o[2]?o[2]=n:n&&(o[2]="("+o[2]+") and ("+n+")"),t.push(o))}},t}},function(t,e){t.exports="data:application/vnd.ms-fontobject;base64,bocCAKyGAgABAAIAAAAAAAAAAAAAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAWXjPkAAAAAAAAAAAAAAAAAAAAAAAABYARgBvAG4AdABBAHcAZQBzAG8AbQBlAAAADgBSAGUAZwB1AGwAYQByAAAAJABWAGUAcgBzAGkAbwBuACAANAAuADcALgAwACAAMgAwADEANgAAABYARgBvAG4AdABBAHcAZQBzAG8AbQBlAAAAAAAAAQAAAA0AgAADAFBGRlRNa75HuQAChpAAAAAcR0RFRgLwAAQAAoZwAAAAIE9TLzKIMnpAAAABWAAAAGBjbWFwCr86fwAADKgAAALyZ2FzcP//AAMAAoZoAAAACGdseWaP965NAAAarAACTLxoZWFkEInlLQAAANwAAAA2aGhlYQ8DCrUAAAEUAAAAJGhtdHhFeRiFAAABuAAACvBsb2NhAvWiXAAAD5wAAAsQbWF4cAMsAhwAAAE4AAAAIG5hbWXjl4usAAJnaAAABIZwb3N0r4+boQACa/AAABp1AAEAAAAEAcuQz3hZXw889QALBwAAAAAA1DPNMgAAAADUM80y////AAkBBgAAAAAIAAIAAQAAAAAAAQAABgD/AAAACQD/////CQEAAQAAAAAAAAAAAAAAAAAAArUAAQAAAsMCGQAnAAAAAAACAAAAAQABAAAAQAAAAAAAAAADBmkBkAAFAAAEjAQzAAAAhgSMBDMAAAJzAAABigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABweXJzAEAAIPUABgD/AAAABgABAAAAAAEAAAAAAAAAAAAAACAAAQOAAHAAAAAAAlUAAAHAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAABdBgAAAAaAAAAHAAAABwAAAAaAAAAGgAAABQAAAAeAAAAGgAAABwAAAAcAAAAHAAB5BYAAbgaAAAAGgAAABgAAAAcAAAAGAAAABYAAAAaAABoGAAAABgAAAAeAADIGgAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABwAAAASAAAAHAABABoAAAAMAAAAEgAAABoAAAAWAAAAHAAAABgAAAAeAAAAGgAAKBQAAAAaAAAAHgAAABoAAAAWAAAAEAAAABwAAAAYAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAeAAAAGAAAABAAAAAYAAAAEAAAABwAAAAaAAAAGgAAABwAAAAQAAAAHAAAABoAAegWAAAAGAAAABgAAAAaAAAAHAAAABAAAAAYCAAEFAACaBQAAWgYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAABABgAAAAaAADUGgAA1BwAAAAYAAAAGAAANBYAAAAWAAAAGgAB6BgAAAAYAAAAHAAAABYAAAAcAAAAHAAAABwAAEAWAAAAGgAAABwAAAAcAAAAGAAAABwAAWgcAAFoHgAAABoAAAAaAAAAHgAAAAwAAQAcAAAAIAAAABgAAAAYAAAAHAAAABwAAAAeAAAAHAAAABgAAAAYAAAADgAAABwAAAAaAAAAGAAAABIAAAAcAAAAGAAAABoAAAAYAAAAGgAAABgAAAAWAAAAFgAAABQAAAAYAAAAGgAAsBAAAXwYAAAAGgAAAB4AAAAWAAAAGAAAABwAAAAcAAEAGAAACBwAAAAcAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABoAAFQcAAAAFgAAFBwAAAAYAAAAHgAAABoAAEAeAAAAGgABzBwAAAQcAAAAFgAAEBgAAAAYAAAAGAAAABwAAAAcAAA8HAAAABgAAAAaAAAAGgAAbBwAAQAYAAAAGAAAABgAAAAkAAAAHgAAABAAAAAQAAAACgABAAoAAAAaAAAAEAAAABAAAAAQAAAAHAAAABgAAAAYAAAAHAAAoBwAAAAcAAAAHAAAAA4AAAQcAAAAGgAAABwAAAAQAAAAHAAAAB4AAAAeAAAAFgAAABYAAAAcAAAAHAABAB4AAAAWAAAAGAAAABYAAAAWAAAAHgABABwAAAAeAAAAGgABABgAAAAYAAAAEAAAtBAAADQSAAE0EgABNAoAALQKAAA0EgABNBIAATQeAAAAHgAAABIAAAAMAAAAGAAAABoAAAAaAAAAHAABABgAAAAcAAAAGgAAABoAAAAeAAAAHAAAABwAAAAYAAAAGAAAABgAAAAeAAAAHgAAABwAAQAcAAEAGgAANB4AALQcAAAAGgAACBYAAAgaAAAAEAAAABoAAAAQAAGACgAAAAoAAYgYAAAUGAAAFB4AAAQaAAAAEgAAABYAADQUAAAAGgAAABYAAAwaAACQHAAAABgAAAAYAAAAGAAAABgAAAAWAAAAHAAAMBwAAAASAAAAGAAAABYAAAAGAAAAGAAAABgAAAAcAADYGAAAABYAAAAQAAAMEAAADBgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAEAAAABAAAAAQAADQDggAABAMABAUAAAAHAAAABQAAOAYAAAAGAAAABoAAIgaAACIHAAAiBwAAIgYAACIGAAAiBoAAAAaAAAAGAAAABgAAGwWAAAUGAAAABwAAAAcAAEAGAAALBgAAAAYAAAAGAAAABYAAAAYAAAAEAABEBgAAAAMAAAMDAAADBwAAQAcAAAAFgAAABoAAAAWAAAAGAAALBgAAAAYAAAAFAAAsBgAAAAUAAAAEAAAABgAAAAcAACwGAAAABwAAQAaAACAHgP//BwAAAAYAAAAFgAAABQAAFQYAAAAGAAAABgAAAAYAAAAGgAAABgAAAASAAAAFgAAACIAAAAaAAAAGAAAABwAAAAcAAAAIAAAACQAAAAYAAG0GAAAABwAAAAYAAAAGAAAAB4AAAAYAAAAIAAAABgAAAAf2ACkGAAAABgAAAAYAAAAHAAAABgAAAAUAAEAGgAAAAwAAQAcAAAAJAAAACAAAAAYAAAAHAAAABgAAAAcAABAIAAAACAAAAAYAACAGAAAABAAAAAkAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAJwcAAAAIAAAABwAAAAcAACAHAAATBwAAAAYAAAAHAABEBgAAAAUAADkHAAASCAAAAAcAAAAHAAAABgAAAAYAAAAHAAA+BQAAGAYAAAAGAAAABgAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAGQcAAGQGAABZCAAAAAgAACoHAAAABgAACQcAACcJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAIAAAOCAAADgWAAAAGAAAABgAAAAcAAAAHAAAABwAAAAgAAAAHAAAACAAAAAcAAAAGAAAACAAAAAgAAAAJAAAABgAAAAgAAAAFAAALCAAAAAYAAAAGAAAABgAAAAgAAAAGAAAABgAAAAgAAAAIAAAABgAAAAgAAAAIAAAABoAAAAaAAAAIAAAACAAAEwYAAAAJAAAABgAAAAcAAAAFAAACBgAAAAUAAAAGAAACBwAAAAcA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AaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHfAeAB4QHiAeMB5AHlAeYB5wHoAekB6gHrAewB7QHuAe8B8AHxAfIB8wH0AfUB9gH3AfgB+QH6AfsB/AH9Af4B/wIAAgECAgIDAgQCBQIGAgcCCAAiAgkCCgILAgwCDQIOAg8CEAIRAhICEwIUAhUCFgIXAhgCGQIaAhsCHAIdAh4CHwIgAiECIgIjAiQCJQImAicCKAIpAioCKwIsAi0CLgIvAjACMQIyAjMCNAI1AjYCNwI4AjkCOgI7AjwCPQI+Aj8CQAJBAkICQwJEAkUCRgJHAkgCSQJKAksCTAJNAk4CTwJQAlECUgJTANICVAJVAlYCVwJYAlkCWgJbAlwCXQJeAl8CYAJhAmICYwJkAmUCZgJnAmgCaQJqAmsCbAJtAm4CbwJwAnECcgJzAnQCdQJ2AncCeAJ5AnoCewJ8An0CfgJ/AoACgQKCAoMChAKFAoYChwKIAokCigKLAowCjQKOAo8CkAKRApICkwKUApUClgKXApgCmQKaApsCnAKdAp4CnwKgAqECogKjAqQCpQKmAqcCqAKpAqoCqwKsAq0CrgKvArACsQKyArMCtAK1ArYCtwK4ArkCugK7ArwCvQK+Ar8CwALBAsICwwLEAsUCxgLHAsgCyQLKAssCzALNAs4CzwLQAtEC0gLTAtQC1QLWAtcC2ALZAtoC2wLcAt0C3gLfAuAC4QLiAuMC5ALlAuYC5wLoAukC6gLrAuwC7QLuAu8C8ALxAvIC8wL0AvUC9gL3AvgC+QL6AvsC/AL9Av4C/wMAAwEDAgMDAwQDBQMGAwcDCAMJAwoDCwMMAw0DDgMPAxADEQMSAxMDFAMVAxYDFwMYAxkDGgMbAxwDHQMeAx8DIAMhAyIDIwMkAyUDJgMnAygDKQMqAysDLAMtAy4DLwMwAzEDMgMzAzQDNQM2AzcDOAM5AzoDOwM8Az0DPgM/A0ADQQNCA0MDRANFA0YDRwNIA0kDSgNLA0wDTQNOA08DUANRA1IDUwNUA1UDVgNXA1gDWQNaA1sDXANdA14DXwNgA2EDYgNjA2QDZQNmA2cDaANpA2oDawNsA20DbgNvA3ADcQNyA3MDdAN1A3YDdwN4A3kDegN7A3wDfQN+A38DgAOBA4IDgwOEA4UDhgOHA4gDiQOKA4sDjAONA44DjwOQA5EDkgOTA5QDlQOWA5cDmAOZA5oDmwOcA50DngOfA6ADoQOiA6MDpAOlA6YDpwOoA6kDqgOrA6wDrQOuA68DsAOxAJQFZ2xhc3MFbXVzaWMGc2VhcmNoCGVudmVsb3BlBWhlYXJ0BHN0YXIKc3Rhcl9lbXB0eQR1c2VyBGZpbG0IdGhfbGFyZ2UCdGgHdGhfbGlzdAJvawZyZW1vdmUHem9vbV9pbgh6b29tX291dANvZmYGc2lnbmFsA2NvZwV0cmFzaARob21lCGZpbGVfYWx0BHRpbWUEcm9hZAxkb3dubG9hZF9hbHQIZG93bmxvYWQGdXBsb2FkBWluYm94C3BsYXlfY2lyY2xlBnJlcGVhdAdyZWZyZXNoCGxpc3RfYWx0BGxvY2sEZmxhZwpoZWFkcGhvbmVzCnZvbHVtZV9vZmYLdm9sdW1lX2Rvd24Jdm9sdW1lX3VwBnFyY29kZQdiYXJjb2RlA3RhZwR0YWdzBGJvb2sIYm9va21hcmsFcHJpbnQGY2FtZXJhBGZvbnQEYm9sZAZpdGFsaWMLdGV4dF9oZWlnaHQKdGV4dF93aWR0aAphbGlnbl9sZWZ0DGFsaWduX2NlbnRlcgthbGlnbl9yaWdodA1hbGlnbl9qdXN0aWZ5BGxpc3QLaW5kZW50X2xlZnQMaW5kZW50X3JpZ2h0DmZhY2V0aW1lX3ZpZGVvB3BpY3R1cmUGcGVuY2lsCm1hcF9tYXJrZXIGYWRqdXN0BHRpbnQEZWRpdAVzaGFyZQVjaGVjawRtb3ZlDXN0ZXBfYmFja3dhcmQNZmFzdF9iYWNrd2FyZAhiYWNrd2FyZARwbGF5BXBhdXNlBHN0b3AHZm9yd2FyZAxmYXN0X2ZvcndhcmQMc3RlcF9mb3J3YXJkBWVqZWN0DGNoZXZyb25fbGVmdA1jaGV2cm9uX3JpZ2h0CXBsdXNfc2lnbgptaW51c19zaWduC3JlbW92ZV9zaWduB29rX3NpZ24NcXVlc3Rpb25fc2lnbglpbmZvX3NpZ24Kc2NyZWVuc2hvdA1yZW1vdmVfY2lyY2xlCW9rX2NpcmNsZQpiYW5fY2lyY2xlCmFycm93X2xlZnQLYXJyb3dfcmlnaHQIYXJyb3dfdXAKYXJyb3dfZG93bglzaGFyZV9hbHQLcmVzaXplX2Z1bGwMcmVzaXplX3NtYWxsEGV4Y2xhbWF0aW9uX3NpZ24EZ2lmdARsZWFmBGZpcmUIZXllX29wZW4JZXllX2Nsb3NlDHdhcm5pbmdfc2lnbgVwbGFuZQhjYWxlbmRhcgZyYW5kb20HY29tbWVudAZtYWduZXQKY2hldnJvbl91cAxjaGV2cm9uX2Rvd24HcmV0d2VldA1zaG9wcGluZ19jYXJ0DGZvbGRlcl9jbG9zZQtmb2xkZXJfb3Blbg9yZXNpemVfdmVydGljYWwRcmVzaXplX2hvcml6b250YWwJYmFyX2NoYXJ0DHR3aXR0ZXJfc2lnbg1mYWNlYm9va19zaWduDGNhbWVyYV9yZXRybwNrZXkEY29ncwhjb21tZW50cw10aHVtYnNfdXBfYWx0D3RodW1ic19kb3duX2FsdAlzdGFyX2hhbGYLaGVhcnRfZW1wdHkHc2lnbm91dA1saW5rZWRpbl9zaWduB3B1c2hwaW4NZXh0ZXJuYWxfbGluawZzaWduaW4GdHJvcGh5C2dpdGh1Yl9zaWduCnVwbG9hZF9hbHQFbGVtb24FcGhvbmULY2hlY2tfZW1wdHkOYm9va21hcmtfZW1wdHkKcGhvbmVfc2lnbgd0d2l0dGVyCGZhY2Vib29rBmdpdGh1YgZ1bmxvY2sLY3JlZGl0X2NhcmQDcnNzA2hkZAhidWxsaG9ybgRiZWxsC2NlcnRpZmljYXRlCmhhbmRfcmlnaHQJaGFuZF9sZWZ0B2hhbmRfdXAJaGFuZF9kb3duEWNpcmNsZV9hcnJvd19sZWZ0EmNpcmNsZV9hcnJvd19yaWdodA9jaXJjbGVfYXJyb3dfdXARY2lyY2xlX2Fycm93X2Rvd24FZ2xvYmUGd3JlbmNoBXRhc2tzBmZpbHRlcglicmllZmNhc2UKZnVsbHNjcmVlbgVncm91cARsaW5rBWNsb3VkBmJlYWtlcgNjdXQEY29weQpwYXBlcl9jbGlwBHNhdmUKc2lnbl9ibGFuawdyZW9yZGVyAnVsAm9sDXN0cmlrZXRocm91Z2gJdW5kZXJsaW5lBXRhYmxlBW1hZ2ljBXRydWNrCXBpbnRlcmVzdA5waW50ZXJlc3Rfc2lnbhBnb29nbGVfcGx1c19zaWduC2dvb2dsZV9wbHVzBW1vbmV5CmNhcmV0X2Rvd24IY2FyZXRfdXAKY2FyZXRfbGVmdAtjYXJldF9yaWdodAdjb2x1bW5zBHNvcnQJc29ydF9kb3duB3NvcnRfdXAMZW52ZWxvcGVfYWx0CGxpbmtlZGluBHVuZG8FbGVnYWwJZGFzaGJvYXJkC2NvbW1lbnRfYWx0DGNvbW1lbnRzX2FsdARib2x0B3NpdGVtYXAIdW1icmVsbGEFcGFzdGUKbGlnaHRfYnVsYghleGNoYW5nZQ5jbG91ZF9kb3dubG9hZAxjbG91ZF91cGxvYWQHdXNlcl9tZAtzdGV0aG9zY29wZQhzdWl0Y2FzZQhiZWxsX2FsdAZjb2ZmZWUEZm9vZA1maWxlX3RleHRfYWx0CGJ1aWxkaW5nCGhvc3BpdGFsCWFtYnVsYW5jZQZtZWRraXQLZmlnaHRlcl9qZXQEYmVlcgZoX3NpZ24EZjBmZRFkb3VibGVfYW5nbGVfbGVmdBJkb3VibGVfYW5nbGVfcmlnaHQPZG91YmxlX2FuZ2xlX3VwEWRvdWJsZV9hbmdsZV9kb3duCmFuZ2xlX2xlZnQLYW5nbGVfcmlnaHQIYW5nbGVfdXAKYW5nbGVfZG93bgdkZXNrdG9wBmxhcHRvcAZ0YWJsZXQMbW9iaWxlX3Bob25lDGNpcmNsZV9ibGFuawpxdW90ZV9sZWZ0C3F1b3RlX3JpZ2h0B3NwaW5uZXIGY2lyY2xlBXJlcGx5CmdpdGh1Yl9hbHQQZm9sZGVyX2Nsb3NlX2FsdA9mb2xkZXJfb3Blbl9hbHQKZXhwYW5kX2FsdAxjb2xsYXBzZV9hbHQFc21pbGUFZnJvd24DbWVoB2dhbWVwYWQIa2V5Ym9hcmQIZmxhZ19hbHQOZmxhZ19jaGVja2VyZWQIdGVybWluYWwEY29kZQlyZXBseV9hbGwPc3Rhcl9oYWxmX2VtcHR5DmxvY2F0aW9uX2Fycm93BGNyb3AJY29kZV9mb3JrBnVubGluawRfMjc5C2V4Y2xhbWF0aW9uC3N1cGVyc2NyaXB0CXN1YnNjcmlwdARfMjgzDHB1enpsZV9waWVjZQptaWNyb3Bob25lDm1pY3JvcGhvbmVfb2ZmBnNoaWVsZA5jYWxlbmRhcl9lbXB0eRFmaXJlX2V4dGluZ3Vpc2hlcgZyb2NrZXQGbWF4Y2RuEWNoZXZyb25fc2lnbl9sZWZ0EmNoZXZyb25fc2lnbl9yaWdodA9jaGV2cm9uX3NpZ25fdXARY2hldnJvbl9zaWduX2Rvd24FaHRtbDUEY3NzMwZhbmNob3IKdW5sb2NrX2FsdAhidWxsc2V5ZRNlbGxpcHNpc19ob3Jpem9udGFsEWVsbGlwc2lzX3ZlcnRpY2FsBF8zMDMJcGxheV9zaWduBnRpY2tldA5taW51c19zaWduX2FsdAtjaGVja19taW51cwhsZXZlbF91cApsZXZlbF9kb3duCmNoZWNrX3NpZ24JZWRpdF9zaWduBF8zMTIKc2hhcmVfc2lnbgdjb21wYXNzCGNvbGxhcHNlDGNvbGxhcHNlX3RvcARfMzE3A2V1cgNnYnADdXNkA2lucgNqcHkDcnViA2tydwNidGMEZmlsZQlmaWxlX3RleHQQc29ydF9ieV9hbHBoYWJldARfMzI5EnNvcnRfYnlfYXR0cmlidXRlcxZzb3J0X2J5X2F0dHJpYnV0ZXNfYWx0DXNvcnRfYnlfb3JkZXIRc29ydF9ieV9vcmRlcl9hbHQEXzMzNARfMzM1DHlvdXR1YmVfc2lnbgd5b3V0dWJlBHhpbmcJeGluZ19zaWduDHlvdXR1YmVfcGxheQdkcm9wYm94DXN0YWNrZXhjaGFuZ2UJaW5zdGFncmFtBmZsaWNrcgNhZG4EZjE3MQ5iaXRidWNrZXRfc2lnbgZ0dW1ibHILdHVtYmxyX3NpZ24PbG9uZ19hcnJvd19kb3duDWxvbmdfYXJyb3dfdXAPbG9uZ19hcnJvd19sZWZ0EGxvbmdfYXJyb3dfcmlnaHQHd2luZG93cwdhbmRyb2lkBWxpbnV4B2RyaWJibGUFc2t5cGUKZm91cnNxdWFyZQZ0cmVsbG8GZmVtYWxlBG1hbGUGZ2l0dGlwA3N1bgRfMzY2B2FyY2hpdmUDYnVnAnZrBXdlaWJvBnJlbnJlbgRfMzcyDnN0YWNrX2V4Y2hhbmdlBF8zNzQVYXJyb3dfY2lyY2xlX2FsdF9sZWZ0BF8zNzYOZG90X2NpcmNsZV9hbHQEXzM3OAx2aW1lb19zcXVhcmUEXzM4MA1wbHVzX3NxdWFyZV9vBF8zODIEXzM4MwRfMzg0BF8zODUEXzM4NgRfMzg3BF8zODgEXzM4OQd1bmlGMUEwBGYxYTEEXzM5MgRfMzkzBGYxYTQEXzM5NQRfMzk2BF8zOTcEXzM5OARfMzk5BF80MDAEZjFhYgRfNDAyBF80MDMEXzQwNAd1bmlGMUIxBF80MDYEXzQwNwRfNDA4BF80MDkEXzQxMARfNDExBF80MTIEXzQxMwRfNDE0BF80MTUEXzQxNgRfNDE3BF80MTgEXzQxOQd1bmlGMUMwB3VuaUYxQzEEXzQyMgRfNDIzBF80MjQEXzQyNQRfNDI2BF80MjcEXzQyOARfNDI5BF80MzAEXzQzMQRfNDMyBF80MzMEXzQzNAd1bmlGMUQwB3VuaUYxRDEHdW5pRjFEMgRfNDM4BF80MzkHdW5pRjFENQd1bmlGMUQ2B3VuaUYxRDcEXzQ0MwRfNDQ0BF80NDUEXzQ0NgRfNDQ3BF80NDgEXzQ0OQd1bmlGMUUwBF80NTEEXzQ1MgRfNDUzBF80NTQEXzQ1NQRfNDU2BF80NTcEXzQ1OARfNDU5BF80NjAEXzQ2MQRfNDYyBF80NjMEXzQ2NAd1bmlGMUYwBF80NjYEXzQ2NwRmMWYzBF80NjkEXzQ3MARfNDcxBF80NzIEXzQ3MwRfNDc0BF80NzUEXzQ3NgRmMWZjBF80NzgEXzQ3OQRfNDgwBF80ODEEXzQ4MgRfNDgzBF80ODQEXzQ4NQRfNDg2BF80ODcEXzQ4OARfNDg5BF80OTAEXzQ5MQRfNDkyBF80OTMEXzQ5NARmMjEwBF80OTYEZjIxMgRfNDk4BF80OTkEXzUwMARfNTAxBF81MDIEXzUwMwRfNTA0BF81MDUEXzUwNgRfNTA3BF81MDgEXzUwOQV2ZW51cwRfNTExBF81MTIEXzUxMwRfNTE0BF81MTUEXzUxNgRfNTE3BF81MTgEXzUxOQRfNTIwBF81MjEEXzUyMgRfNTIzBF81MjQEXzUyNQRfNTI2BF81MjcEXzUyOARfNTI5BF81MzAEXzUzMQRfNTMyBF81MzMEXzUzNARfNTM1BF81MzYEXzUzNwRfNTM4BF81MzkEXzU0MARfNTQxBF81NDIEXzU0MwRfNTQ0BF81NDUEXzU0NgRfNTQ3BF81NDgEXzU0OQRfNTUwBF81NTEEXzU1MgRfNTUzBF81NTQEXzU1NQRfNTU2BF81NTcEXzU1OARfNTU5BF81NjAEXzU2MQRfNTYyBF81NjMEXzU2NARfNTY1BF81NjYEXzU2NwRfNTY4BF81NjkEZjI2MARmMjYxBF81NzIEZjI2MwRfNTc0BF81NzUEXzU3NgRfNTc3BF81NzgEXzU3OQRfNTgwBF81ODEEXzU4MgRfNTgzBF81ODQEXzU4NQRfNTg2BF81ODcEXzU4OARfNTg5BF81OTAEXzU5MQRfNTkyBF81OTMEXzU5NARfNTk1BF81OTYEXzU5NwRfNTk4BGYyN2UHdW5pRjI4MAd1bmlGMjgxBF82MDIEXzYwMwRfNjA0B3VuaUYyODUHdW5pRjI4NgRfNjA3BF82MDgEXzYwOQRfNjEwBF82MTEEXzYxMgRfNjEzBF82MTQEXzYxNQRfNjE2BF82MTcEXzYxOARfNjE5BF82MjAEXzYyMQRfNjIyBF82MjMEXzYyNARfNjI1BF82MjYEXzYyNwRfNjI4BF82MjkHdW5pRjJBMAd1bmlGMkExB3VuaUYyQTIHdW5pRjJBMwd1bmlGMkE0B3VuaUYyQTUHdW5pRjJBNgd1bmlGMkE3B3VuaUYyQTgHdW5pRjJBOQd1bmlGMkFBB3VuaUYyQUIHdW5pRjJBQwd1bmlGMkFEB3VuaUYyQUUHdW5pRjJCMAd1bmlGMkIxB3VuaUYyQjIHdW5pRjJCMwd1bmlGMkI0B3VuaUYyQjUHdW5pRjJCNgd1bmlGMkI3B3VuaUYyQjgHdW5pRjJCOQd1bmlGMkJBB3VuaUYyQkIHdW5pRjJCQwd1bmlGMkJEB3VuaUYyQkUHdW5pRjJDMAd1bmlGMkMxB3VuaUYyQzIHdW5pRjJDMwd1bmlGMkM0B3VuaUYyQzUHdW5pRjJDNgd1bmlGMkM3B3VuaUYyQzgHdW5pRjJDOQd1bmlGMkNBB3VuaUYyQ0IHdW5pRjJDQwd1bmlGMkNEB3VuaUYyQ0UHdW5pRjJEMAd1bmlGMkQxB3VuaUYyRDIHdW5pRjJEMwd1bmlGMkQ0B3VuaUYyRDUHdW5pRjJENgd1bmlGMkQ3B3VuaUYyRDgHdW5pRjJEOQd1bmlGMkRBB3VuaUYyREIHdW5pRjJEQwd1bmlGMkREB3VuaUYyREUHdW5pRjJFMAd1bmlGMkUxB3VuaUYyRTIHdW5pRjJFMwd1bmlGMkU0B3VuaUYyRTUHdW5pRjJFNgd1bmlGMkU3BF82OTgHdW5pRjJFOQd1bmlGMkVBB3VuaUYyRUIHdW5pRjJFQwd1bmlGMkVEB3VuaUYyRUUAAAAAAAAB//8AAgABAAAADgAAABgAAAAAAAIAAQABAsIAAQAEAAAAAgAAAAAAAQAAAADMPaLPAAAAAMtPPDAAAAAA1DFouQ=="},function(t,e){t.exports="data:application/vnd.ms-fontobject;base64,bocCAKyGAgABAAIAAAAAAAAAAAAAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAWXjPkAAAAAAAAAAAAAAAAAAAAAAAABYARgBvAG4AdABBAHcAZQBzAG8AbQBlAAAADgBSAGUAZwB1AGwAYQByAAAAJABWAGUAcgBzAGkAbwBuACAANAAuADcALgAwACAAMgAwADEANgAAABYARgBvAG4AdABBAHcAZQBzAG8AbQBlAAAAAAAAAQAAAA0AgAADAFBGRlRNa75HuQAChpAAAAAcR0RFRgLwAAQAAoZwAAAAIE9TLzKIMnpAAAABWAAAAGBjbWFwCr86fwAADKgAAALyZ2FzcP//AAMAAoZoAAAACGdseWaP965NAAAarAACTLxoZWFkEInlLQAAANwAAAA2aGhlYQ8DCrUAAAEUAAAAJGhtdHhFeRiFAAABuAAACvBsb2NhAvWiXAAAD5wAAAsQbWF4cAMsAhwAAAE4AAAAIG5hbWXjl4usAAJnaAAABIZwb3N0r4+boQACa/AAABp1AAEAAAAEAcuQz3hZXw889QALBwAAAAAA1DPNMgAAAADUM80y////AAkBBgAAAAAIAAIAAQAAAAAAAQAABgD/AAAACQD/////CQEAAQAAAAAAAAAAAAAAAAAAArUAAQAAAsMCGQAnAAAAAAACAAAAAQABAAAAQAAAAAAAAAADBmkBkAAFAAAEjAQzAAAAhgSMBDMAAAJzAAABigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABweXJzAEAAIPUABgD/AAAABgABAAAAAAEAAAAAAAAAAAAAACAAAQOAAHAAAAAAAlUAAAHAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAABdBgAAAAaAAAAHAAAABwAAAAaAAAAGgAAABQAAAAeAAAAGgAAABwAAAAcAAAAHAAB5BYAAbgaAAAAGgAAABgAAAAcAAAAGAAAABYAAAAaAABoGAAAABgAAAAeAADIGgAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABwAAAASAAAAHAABABoAAAAMAAAAEgAAABoAAAAWAAAAHAAAABgAAAAeAAAAGgAAKBQAAAAaAAAAHgAAABoAAAAWAAAAEAAAABwAAAAYAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAeAAAAGAAAABAAAAAYAAAAEAAAABwAAAAaAAAAGgAAABwAAAAQAAAAHAAAABoAAegWAAAAGAAAABgAAAAaAAAAHAAAABAAAAAYCAAEFAACaBQAAWgYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAABABgAAAAaAADUGgAA1BwAAAAYAAAAGAAANBYAAAAWAAAAGgAB6BgAAAAYAAAAHAAAABYAAAAcAAAAHAAAABwAAEAWAAAAGgAAABwAAAAcAAAAGAAAABwAAWgcAAFoHgAAABoAAAAaAAAAHgAAAAwAAQAcAAAAIAAAABgAAAAYAAAAHAAAABwAAAAeAAAAHAAAABgAAAAYAAAADgAAABwAAAAaAAAAGAAAABIAAAAcAAAAGAAAABoAAAAYAAAAGgAAABgAAAAWAAAAFgAAABQAAAAYAAAAGgAAsBAAAXwYAAAAGgAAAB4AAAAWAAAAGAAAABwAAAAcAAEAGAAACBwAAAAcAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABoAAFQcAAAAFgAAFBwAAAAYAAAAHgAAABoAAEAeAAAAGgABzBwAAAQcAAAAFgAAEBgAAAAYAAAAGAAAABwAAAAcAAA8HAAAABgAAAAaAAAAGgAAbBwAAQAYAAAAGAAAABgAAAAkAAAAHgAAABAAAAAQAAAACgABAAoAAAAaAAAAEAAAABAAAAAQAAAAHAAAABgAAAAYAAAAHAAAoBwAAAAcAAAAHAAAAA4AAAQcAAAAGgAAABwAAAAQAAAAHAAAAB4AAAAeAAAAFgAAABYAAAAcAAAAHAABAB4AAAAWAAAAGAAAABYAAAAWAAAAHgABABwAAAAeAAAAGgABABgAAAAYAAAAEAAAtBAAADQSAAE0EgABNAoAALQKAAA0EgABNBIAATQeAAAAHgAAABIAAAAMAAAAGAAAABoAAAAaAAAAHAABABgAAAAcAAAAGgAAABoAAAAeAAAAHAAAABwAAAAYAAAAGAAAABgAAAAeAAAAHgAAABwAAQAcAAEAGgAANB4AALQcAAAAGgAACBYAAAgaAAAAEAAAABoAAAAQAAGACgAAAAoAAYgYAAAUGAAAFB4AAAQaAAAAEgAAABYAADQUAAAAGgAAABYAAAwaAACQHAAAABgAAAAYAAAAGAAAABgAAAAWAAAAHAAAMBwAAAASAAAAGAAAABYAAAAGAAAAGAAAABgAAAAcAADYGAAAABYAAAAQAAAMEAAADBgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAEAAAABAAAAAQAADQDggAABAMABAUAAAAHAAAABQAAOAYAAAAGAAAABoAAIgaAACIHAAAiBwAAIgYAACIGAAAiBoAAAAaAAAAGAAAABgAAGwWAAAUGAAAABwAAAAcAAEAGAAALBgAAAAYAAAAGAAAABYAAAAYAAAAEAABEBgAAAAMAAAMDAAADBwAAQAcAAAAFgAAABoAAAAWAAAAGAAALBgAAAAYAAAAFAAAsBgAAAAUAAAAEAAAABgAAAAcAACwGAAAABwAAQAaAACAHgP//BwAAAAYAAAAFgAAABQAAFQYAAAAGAAAABgAAAAYAAAAGgAAABgAAAASAAAAFgAAACIAAAAaAAAAGAAAABwAAAAcAAAAIAAAACQAAAAYAAG0GAAAABwAAAAYAAAAGAAAAB4AAAAYAAAAIAAAABgAAAAf2ACkGAAAABgAAAAYAAAAHAAAABgAAAAUAAEAGgAAAAwAAQAcAAAAJAAAACAAAAAYAAAAHAAAABgAAAAcAABAIAAAACAAAAAYAACAGAAAABAAAAAkAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAJwcAAAAIAAAABwAAAAcAACAHAAATBwAAAAYAAAAHAABEBgAAAAUAADkHAAASCAAAAAcAAAAHAAAABgAAAAYAAAAHAAA+BQAAGAYAAAAGAAAABgAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAGQcAAGQGAABZCAAAAAgAACoHAAAABgAACQcAACcJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAIAAAOCAAADgWAAAAGAAAABgAAAAcAAAAHAAAABwAAAAgAAAAHAAAACAAAAAcAAAAGAAAACAAAAAgAAAAJAAAABgAAAAgAAAAFAAALCAAAAAYAAAAGAAAABgAAAAgAAAAGAAAABgAAAAgAAAAIAAAABgAAAAgAAAAIAAAABoAAAAaAAAAIAAAACAAAEwYAAAAJAAAABgAAAAcAAAAFAAACBgAAAAUAAAAGAAACBwAAAAcA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AaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHfAeAB4QHiAeMB5AHlAeYB5wHoAekB6gHrAewB7QHuAe8B8AHxAfIB8wH0AfUB9gH3AfgB+QH6AfsB/AH9Af4B/wIAAgECAgIDAgQCBQIGAgcCCAAiAgkCCgILAgwCDQIOAg8CEAIRAhICEwIUAhUCFgIXAhgCGQIaAhsCHAIdAh4CHwIgAiECIgIjAiQCJQImAicCKAIpAioCKwIsAi0CLgIvAjACMQIyAjMCNAI1AjYCNwI4AjkCOgI7AjwCPQI+Aj8CQAJBAkICQwJEAkUCRgJHAkgCSQJKAksCTAJNAk4CTwJQAlECUgJTANICVAJVAlYCVwJYAlkCWgJbAlwCXQJeAl8CYAJhAmICYwJkAmUCZgJnAmgCaQJqAmsCbAJtAm4CbwJwAnECcgJzAnQCdQJ2AncCeAJ5AnoCewJ8An0CfgJ/AoACgQKCAoMChAKFAoYChwKIAokCigKLAowCjQKOAo8CkAKRApICkwKUApUClgKXApgCmQKaApsCnAKdAp4CnwKgAqECogKjAqQCpQKmAqcCqAKpAqoCqwKsAq0CrgKvArACsQKyArMCtAK1ArYCtwK4ArkCugK7ArwCvQK+Ar8CwALBAsICwwLEAsUCxgLHAsgCyQLKAssCzALNAs4CzwLQAtEC0gLTAtQC1QLWAtcC2ALZAtoC2wLcAt0C3gLfAuAC4QLiAuMC5ALlAuYC5wLoAukC6gLrAuwC7QLuAu8C8ALxAvIC8wL0AvUC9gL3AvgC+QL6AvsC/AL9Av4C/wMAAwEDAgMDAwQDBQMGAwcDCAMJAwoDCwMMAw0DDgMPAxADEQMSAxMDFAMVAxYDFwMYAxkDGgMbAxwDHQMeAx8DIAMhAyIDIwMkAyUDJgMnAygDKQMqAysDLAMtAy4DLwMwAzEDMgMzAzQDNQM2AzcDOAM5AzoDOwM8Az0DPgM/A0ADQQNCA0MDRANFA0YDRwNIA0kDSgNLA0wDTQNOA08DUANRA1IDUwNUA1UDVgNXA1gDWQNaA1sDXANdA14DXwNgA2EDYgNjA2QDZQNmA2cDaANpA2oDawNsA20DbgNvA3ADcQNyA3MDdAN1A3YDdwN4A3kDegN7A3wDfQN+A38DgAOBA4IDgwOEA4UDhgOHA4gDiQOKA4sDjAONA44DjwOQA5EDkgOTA5QDlQOWA5cDmAOZA5oDmwOcA50DngOfA6ADoQOiA6MDpAOlA6YDpwOoA6kDqgOrA6wDrQOuA68DsAOxAJQFZ2xhc3MFbXVzaWMGc2VhcmNoCGVudmVsb3BlBWhlYXJ0BHN0YXIKc3Rhcl9lbXB0eQR1c2VyBGZpbG0IdGhfbGFyZ2UCdGgHdGhfbGlzdAJvawZyZW1vdmUHem9vbV9pbgh6b29tX291dANvZmYGc2lnbmFsA2NvZwV0cmFzaARob21lCGZpbGVfYWx0BHRpbWUEcm9hZAxkb3dubG9hZF9hbHQIZG93bmxvYWQGdXBsb2FkBWluYm94C3BsYXlfY2lyY2xlBnJlcGVhdAdyZWZyZXNoCGxpc3RfYWx0BGxvY2sEZmxhZwpoZWFkcGhvbmVzCnZvbHVtZV9vZmYLdm9sdW1lX2Rvd24Jdm9sdW1lX3VwBnFyY29kZQdiYXJjb2RlA3RhZwR0YWdzBGJvb2sIYm9va21hcmsFcHJpbnQGY2FtZXJhBGZvbnQEYm9sZAZpdGFsaWMLdGV4dF9oZWlnaHQKdGV4dF93aWR0aAphbGlnbl9sZWZ0DGFsaWduX2NlbnRlcgthbGlnbl9yaWdodA1hbGlnbl9qdXN0aWZ5BGxpc3QLaW5kZW50X2xlZnQMaW5kZW50X3JpZ2h0DmZhY2V0aW1lX3ZpZGVvB3BpY3R1cmUGcGVuY2lsCm1hcF9tYXJrZXIGYWRqdXN0BHRpbnQEZWRpdAVzaGFyZQVjaGVjawRtb3ZlDXN0ZXBfYmFja3dhcmQNZmFzdF9iYWNrd2FyZAhiYWNrd2FyZARwbGF5BXBhdXNlBHN0b3AHZm9yd2FyZAxmYXN0X2ZvcndhcmQMc3RlcF9mb3J3YXJkBWVqZWN0DGNoZXZyb25fbGVmdA1jaGV2cm9uX3JpZ2h0CXBsdXNfc2lnbgptaW51c19zaWduC3JlbW92ZV9zaWduB29rX3NpZ24NcXVlc3Rpb25fc2lnbglpbmZvX3NpZ24Kc2NyZWVuc2hvdA1yZW1vdmVfY2lyY2xlCW9rX2NpcmNsZQpiYW5fY2lyY2xlCmFycm93X2xlZnQLYXJyb3dfcmlnaHQIYXJyb3dfdXAKYXJyb3dfZG93bglzaGFyZV9hbHQLcmVzaXplX2Z1bGwMcmVzaXplX3NtYWxsEGV4Y2xhbWF0aW9uX3NpZ24EZ2lmdARsZWFmBGZpcmUIZXllX29wZW4JZXllX2Nsb3NlDHdhcm5pbmdfc2lnbgVwbGFuZQhjYWxlbmRhcgZyYW5kb20HY29tbWVudAZtYWduZXQKY2hldnJvbl91cAxjaGV2cm9uX2Rvd24HcmV0d2VldA1zaG9wcGluZ19jYXJ0DGZvbGRlcl9jbG9zZQtmb2xkZXJfb3Blbg9yZXNpemVfdmVydGljYWwRcmVzaXplX2hvcml6b250YWwJYmFyX2NoYXJ0DHR3aXR0ZXJfc2lnbg1mYWNlYm9va19zaWduDGNhbWVyYV9yZXRybwNrZXkEY29ncwhjb21tZW50cw10aHVtYnNfdXBfYWx0D3RodW1ic19kb3duX2FsdAlzdGFyX2hhbGYLaGVhcnRfZW1wdHkHc2lnbm91dA1saW5rZWRpbl9zaWduB3B1c2hwaW4NZXh0ZXJuYWxfbGluawZzaWduaW4GdHJvcGh5C2dpdGh1Yl9zaWduCnVwbG9hZF9hbHQFbGVtb24FcGhvbmULY2hlY2tfZW1wdHkOYm9va21hcmtfZW1wdHkKcGhvbmVfc2lnbgd0d2l0dGVyCGZhY2Vib29rBmdpdGh1YgZ1bmxvY2sLY3JlZGl0X2NhcmQDcnNzA2hkZAhidWxsaG9ybgRiZWxsC2NlcnRpZmljYXRlCmhhbmRfcmlnaHQJaGFuZF9sZWZ0B2hhbmRfdXAJaGFuZF9kb3duEWNpcmNsZV9hcnJvd19sZWZ0EmNpcmNsZV9hcnJvd19yaWdodA9jaXJjbGVfYXJyb3dfdXARY2lyY2xlX2Fycm93X2Rvd24FZ2xvYmUGd3JlbmNoBXRhc2tzBmZpbHRlcglicmllZmNhc2UKZnVsbHNjcmVlbgVncm91cARsaW5rBWNsb3VkBmJlYWtlcgNjdXQEY29weQpwYXBlcl9jbGlwBHNhdmUKc2lnbl9ibGFuawdyZW9yZGVyAnVsAm9sDXN0cmlrZXRocm91Z2gJdW5kZXJsaW5lBXRhYmxlBW1hZ2ljBXRydWNrCXBpbnRlcmVzdA5waW50ZXJlc3Rfc2lnbhBnb29nbGVfcGx1c19zaWduC2dvb2dsZV9wbHVzBW1vbmV5CmNhcmV0X2Rvd24IY2FyZXRfdXAKY2FyZXRfbGVmdAtjYXJldF9yaWdodAdjb2x1bW5zBHNvcnQJc29ydF9kb3duB3NvcnRfdXAMZW52ZWxvcGVfYWx0CGxpbmtlZGluBHVuZG8FbGVnYWwJZGFzaGJvYXJkC2NvbW1lbnRfYWx0DGNvbW1lbnRzX2FsdARib2x0B3NpdGVtYXAIdW1icmVsbGEFcGFzdGUKbGlnaHRfYnVsYghleGNoYW5nZQ5jbG91ZF9kb3dubG9hZAxjbG91ZF91cGxvYWQHdXNlcl9tZAtzdGV0aG9zY29wZQhzdWl0Y2FzZQhiZWxsX2FsdAZjb2ZmZWUEZm9vZA1maWxlX3RleHRfYWx0CGJ1aWxkaW5nCGhvc3BpdGFsCWFtYnVsYW5jZQZtZWRraXQLZmlnaHRlcl9qZXQEYmVlcgZoX3NpZ24EZjBmZRFkb3VibGVfYW5nbGVfbGVmdBJkb3VibGVfYW5nbGVfcmlnaHQPZG91YmxlX2FuZ2xlX3VwEWRvdWJsZV9hbmdsZV9kb3duCmFuZ2xlX2xlZnQLYW5nbGVfcmlnaHQIYW5nbGVfdXAKYW5nbGVfZG93bgdkZXNrdG9wBmxhcHRvcAZ0YWJsZXQMbW9iaWxlX3Bob25lDGNpcmNsZV9ibGFuawpxdW90ZV9sZWZ0C3F1b3RlX3JpZ2h0B3NwaW5uZXIGY2lyY2xlBXJlcGx5CmdpdGh1Yl9hbHQQZm9sZGVyX2Nsb3NlX2FsdA9mb2xkZXJfb3Blbl9hbHQKZXhwYW5kX2FsdAxjb2xsYXBzZV9hbHQFc21pbGUFZnJvd24DbWVoB2dhbWVwYWQIa2V5Ym9hcmQIZmxhZ19hbHQOZmxhZ19jaGVja2VyZWQIdGVybWluYWwEY29kZQlyZXBseV9hbGwPc3Rhcl9oYWxmX2VtcHR5DmxvY2F0aW9uX2Fycm93BGNyb3AJY29kZV9mb3JrBnVubGluawRfMjc5C2V4Y2xhbWF0aW9uC3N1cGVyc2NyaXB0CXN1YnNjcmlwdARfMjgzDHB1enpsZV9waWVjZQptaWNyb3Bob25lDm1pY3JvcGhvbmVfb2ZmBnNoaWVsZA5jYWxlbmRhcl9lbXB0eRFmaXJlX2V4dGluZ3Vpc2hlcgZyb2NrZXQGbWF4Y2RuEWNoZXZyb25fc2lnbl9sZWZ0EmNoZXZyb25fc2lnbl9yaWdodA9jaGV2cm9uX3NpZ25fdXARY2hldnJvbl9zaWduX2Rvd24FaHRtbDUEY3NzMwZhbmNob3IKdW5sb2NrX2FsdAhidWxsc2V5ZRNlbGxpcHNpc19ob3Jpem9udGFsEWVsbGlwc2lzX3ZlcnRpY2FsBF8zMDMJcGxheV9zaWduBnRpY2tldA5taW51c19zaWduX2FsdAtjaGVja19taW51cwhsZXZlbF91cApsZXZlbF9kb3duCmNoZWNrX3NpZ24JZWRpdF9zaWduBF8zMTIKc2hhcmVfc2lnbgdjb21wYXNzCGNvbGxhcHNlDGNvbGxhcHNlX3RvcARfMzE3A2V1cgNnYnADdXNkA2lucgNqcHkDcnViA2tydwNidGMEZmlsZQlmaWxlX3RleHQQc29ydF9ieV9hbHBoYWJldARfMzI5EnNvcnRfYnlfYXR0cmlidXRlcxZzb3J0X2J5X2F0dHJpYnV0ZXNfYWx0DXNvcnRfYnlfb3JkZXIRc29ydF9ieV9vcmRlcl9hbHQEXzMzNARfMzM1DHlvdXR1YmVfc2lnbgd5b3V0dWJlBHhpbmcJeGluZ19zaWduDHlvdXR1YmVfcGxheQdkcm9wYm94DXN0YWNrZXhjaGFuZ2UJaW5zdGFncmFtBmZsaWNrcgNhZG4EZjE3MQ5iaXRidWNrZXRfc2lnbgZ0dW1ibHILdHVtYmxyX3NpZ24PbG9uZ19hcnJvd19kb3duDWxvbmdfYXJyb3dfdXAPbG9uZ19hcnJvd19sZWZ0EGxvbmdfYXJyb3dfcmlnaHQHd2luZG93cwdhbmRyb2lkBWxpbnV4B2RyaWJibGUFc2t5cGUKZm91cnNxdWFyZQZ0cmVsbG8GZmVtYWxlBG1hbGUGZ2l0dGlwA3N1bgRfMzY2B2FyY2hpdmUDYnVnAnZrBXdlaWJvBnJlbnJlbgRfMzcyDnN0YWNrX2V4Y2hhbmdlBF8zNzQVYXJyb3dfY2lyY2xlX2FsdF9sZWZ0BF8zNzYOZG90X2NpcmNsZV9hbHQEXzM3OAx2aW1lb19zcXVhcmUEXzM4MA1wbHVzX3NxdWFyZV9vBF8zODIEXzM4MwRfMzg0BF8zODUEXzM4NgRfMzg3BF8zODgEXzM4OQd1bmlGMUEwBGYxYTEEXzM5MgRfMzkzBGYxYTQEXzM5NQRfMzk2BF8zOTcEXzM5OARfMzk5BF80MDAEZjFhYgRfNDAyBF80MDMEXzQwNAd1bmlGMUIxBF80MDYEXzQwNwRfNDA4BF80MDkEXzQxMARfNDExBF80MTIEXzQxMwRfNDE0BF80MTUEXzQxNgRfNDE3BF80MTgEXzQxOQd1bmlGMUMwB3VuaUYxQzEEXzQyMgRfNDIzBF80MjQEXzQyNQRfNDI2BF80MjcEXzQyOARfNDI5BF80MzAEXzQzMQRfNDMyBF80MzMEXzQzNAd1bmlGMUQwB3VuaUYxRDEHdW5pRjFEMgRfNDM4BF80MzkHdW5pRjFENQd1bmlGMUQ2B3VuaUYxRDcEXzQ0MwRfNDQ0BF80NDUEXzQ0NgRfNDQ3BF80NDgEXzQ0OQd1bmlGMUUwBF80NTEEXzQ1MgRfNDUzBF80NTQEXzQ1NQRfNDU2BF80NTcEXzQ1OARfNDU5BF80NjAEXzQ2MQRfNDYyBF80NjMEXzQ2NAd1bmlGMUYwBF80NjYEXzQ2NwRmMWYzBF80NjkEXzQ3MARfNDcxBF80NzIEXzQ3MwRfNDc0BF80NzUEXzQ3NgRmMWZjBF80NzgEXzQ3OQRfNDgwBF80ODEEXzQ4MgRfNDgzBF80ODQEXzQ4NQRfNDg2BF80ODcEXzQ4OARfNDg5BF80OTAEXzQ5MQRfNDkyBF80OTMEXzQ5NARmMjEwBF80OTYEZjIxMgRfNDk4BF80OTkEXzUwMARfNTAxBF81MDIEXzUwMwRfNTA0BF81MDUEXzUwNgRfNTA3BF81MDgEXzUwOQV2ZW51cwRfNTExBF81MTIEXzUxMwRfNTE0BF81MTUEXzUxNgRfNTE3BF81MTgEXzUxOQRfNTIwBF81MjEEXzUyMgRfNTIzBF81MjQEXzUyNQRfNTI2BF81MjcEXzUyOARfNTI5BF81MzAEXzUzMQRfNTMyBF81MzMEXzUzNARfNTM1BF81MzYEXzUzNwRfNTM4BF81MzkEXzU0MARfNTQxBF81NDIEXzU0MwRfNTQ0BF81NDUEXzU0NgRfNTQ3BF81NDgEXzU0OQRfNTUwBF81NTEEXzU1MgRfNTUzBF81NTQEXzU1NQRfNTU2BF81NTcEXzU1OARfNTU5BF81NjAEXzU2MQRfNTYyBF81NjMEXzU2NARfNTY1BF81NjYEXzU2NwRfNTY4BF81NjkEZjI2MARmMjYxBF81NzIEZjI2MwRfNTc0BF81NzUEXzU3NgRfNTc3BF81NzgEXzU3OQRfNTgwBF81ODEEXzU4MgRfNTgzBF81ODQEXzU4NQRfNTg2BF81ODcEXzU4OARfNTg5BF81OTAEXzU5MQRfNTkyBF81OTMEXzU5NARfNTk1BF81OTYEXzU5NwRfNTk4BGYyN2UHdW5pRjI4MAd1bmlGMjgxBF82MDIEXzYwMwRfNjA0B3VuaUYyODUHdW5pRjI4NgRfNjA3BF82MDgEXzYwOQRfNjEwBF82MTEEXzYxMgRfNjEzBF82MTQEXzYxNQRfNjE2BF82MTcEXzYxOARfNjE5BF82MjAEXzYyMQRfNjIyBF82MjMEXzYyNARfNjI1BF82MjYEXzYyNwRfNjI4BF82MjkHdW5pRjJBMAd1bmlGMkExB3VuaUYyQTIHdW5pRjJBMwd1bmlGMkE0B3VuaUYyQTUHdW5pRjJBNgd1bmlGMkE3B3VuaUYyQTgHdW5pRjJBOQd1bmlGMkFBB3VuaUYyQUIHdW5pRjJBQwd1bmlGMkFEB3VuaUYyQUUHdW5pRjJCMAd1bmlGMkIxB3VuaUYyQjIHdW5pRjJCMwd1bmlGMkI0B3VuaUYyQjUHdW5pRjJCNgd1bmlGMkI3B3VuaUYyQjgHdW5pRjJCOQd1bmlGMkJBB3VuaUYyQkIHdW5pRjJCQwd1bmlGMkJEB3VuaUYyQkUHdW5pRjJDMAd1bmlGMkMxB3VuaUYyQzIHdW5pRjJDMwd1bmlGMkM0B3VuaUYyQzUHdW5pRjJDNgd1bmlGMkM3B3VuaUYyQzgHdW5pRjJDOQd1bmlGMkNBB3VuaUYyQ0IHdW5pRjJDQwd1bmlGMkNEB3VuaUYyQ0UHdW5pRjJEMAd1bmlGMkQxB3VuaUYyRDIHdW5pRjJEMwd1bmlGMkQ0B3VuaUYyRDUHdW5pRjJENgd1bmlGMkQ3B3VuaUYyRDgHdW5pRjJEOQd1bmlGMkRBB3VuaUYyREIHdW5pRjJEQwd1bmlGMkREB3VuaUYyREUHdW5pRjJFMAd1bmlGMkUxB3VuaUYyRTIHdW5pRjJFMwd1bmlGMkU0B3VuaUYyRTUHdW5pRjJFNgd1bmlGMkU3BF82OTgHdW5pRjJFOQd1bmlGMkVBB3VuaUYyRUIHdW5pRjJFQwd1bmlGMkVEB3VuaUYyRUUAAAAAAAAB//8AAgABAAAADgAAABgAAAAAAAIAAQABAsIAAQAEAAAAAgAAAAAAAQAAAADMPaLPAAAAAMtPPDAAAAAA1DFouQ=="},function(t,e){t.exports="data:application/font-woff2;base64,d09GMgABAAAAAS1oAA0AAAAChpgAAS0OAAQBywAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cGiAGYACFchEIComZKIe2WAE2AiQDlXALlhAABCAFiQYHtHVbUglyR2H3kYQqug2BJ+096zq1GibTzT1ytyoKAhnlGvH2XQR0B9xFqm6jsv/////kpDFG2w7cQODV9Pt8rYoUCGaTbZJgmyTYkaFAZFtCUREkKFtVPCsorbhAUNA1HuRggbAO2j72UBAaO+EokdExs/1s2/5o1Kiiwimf3Fl5lPJKaenrF62Fznwl24G3XqwUR4KiM7gSbp6V6LraldwKxM2QRIqecFxZciCUTN9Q9A6NG4N0pSnLEZjvE6c2UsJeIlMLTH7xWVLXQ1hSFQmKNIGO5kb6eVxbv+g3bqHirnwdc+C7jHEeo027jiVLyf8XLtu6DiwL+oT3+EzQdP8n9hCQyU0dLBEVY/eIK2L6xNeH50/9c/le2CSFhtd6Lgf1bcWgDPxoJmdi3vDhdu2H8wEOySeKDzajOrC7w/Nz622jYowx2KhtMCLHghqwvypWjKiNHqNjoyQsMEFUUFS0MRID+/SsPAvtO+3z0mAQ5rYn8UgOP/Fzzqk6kQ9ORJ+o/KkQSRGkJIwEVBSLW4GCYjSKEc38f+rs7yyvzrzX772jYmw2kboLSUzpaX3bjCbgNOOUbSwnyxbL8yO916Wzf1J3AaJidcC2LEuWC8YGm+J2iwPbCG1fLcDA5lxIi537jkhI/qrzk+oHxsI/mJbTbfMLOVCIrdgpOedKqIYkxr2InOex9Dj46Mfazs5+uTvEchWNbr89JBEatR+UTmRkbhshJ66m8OM7s/SsOJm8J9lOpu0eIX8tGAZKGcq20y7g2PqR7livPQwsEgQOkJseImA6GKL/Gw8JCSB7je+e3OC8EstLISefAKEtRkiUnAmJIyR+m1pfhLmdEBK1A041VlU4RsivHKKOJRRQ1Pvdq9rb+wYIDIZDcAgCJARRGaK0u9oQnXKs7KLKvZvuumu7a9obpzPZtxPROlIRJR4QtoEye/SH3qn1kh1oJbspOMkR9gD48QEPGApJTEuQNnb0I+37s+7+Biw70KY2h6BOmjLOaHa3Dw4I/u9/zf7rDE9Pkad0IxaFBuJ4VInvqkJmAp2ehHFeFiOcrp+WP3v+NWKKSeLgJS1XWpDruWKkQaMTDF7kMc3ZbjUZ+a7pitemTlGdWSf65t3NEpYE/JFTBNwYH6YhdCIgBmBiM+n3JZMH9O8zNbsCFNFmdjurndXObM6s7jmcOmpnZj9ncpv1cP94nyCAD3wS/CAkCCBlEpQcEpRaFCjFFCR3KFpyU5DodiubWtkcz9Zx9k2i7B6b7s3q3ZltPyZzW/bldJlTklNqjqc5nK/j9z+tfNrqDfHwxT5HDswGLBBiRNW3Xqn0ql6px90bOmyKM469TkGaYKs1C5wyNrMBTPlwU/IJQd+nL1XrCsLWmLS8s7QnOVy0p9WGdLiFEK8h3/b2+rca/RuBbAAGhSBQTVK0mpA5boAKzWAVEhMoyhBA0iBIeSlN0mRNyg2QHDXp1KQTSCfSkZoc8m1TPPro23Ema7wpXM97O+4xxcNt+QebONt74YvVWIQx3S0zx5qQkSmCQiiEkSz7JfWTELC2to0ExAsFBd3923efb36+mHTt8EhXOGyQ1FoRCXKk47//PWWzGuzfMSvmBwUvyY4xVz/WsHLuEg44OVBMxtIBPnVvOSDFGDEgdMOYq8N1Y6edke7EQLP5XUsUEFLvf2JO/7uSdvuTtNQaqqgouCKKg3nrvbt7HAxjrv+P5vNzY3qmGSaucDWn5QShLGqzbiCia07EIYMug25e9/hVdR8AQHz8GD92tT73B7kdudwckXIYVWHcSFIgCxqPEPq51/jVkQCT80kNRInfy4tRv71+cOkKgNyNOzu4bvn5jUwYFyShdPkJOgloRkNZoe3eVE+gRk4dTn59F/ExImCzqPyf2GHPB8sozT9IIBGXlocfxFyWzeV1yjATTNS19fEnte26vb7NlFBibm1Pv5jrtt39jb8CGEpsiz8CAQie5XOr5wWIMCwOOIx4yULy+va+QhnH5ZFGiRAUn1/fG1JpWh34/7fUfmUjFWqwEbF3/WhPYyomRjYMrFlxwZIFe4l9P8nzPvd1Hvu2LvM0Ds5oJQVnlGAEpybX5yC4yxIpqaxSNRjlSIx9saf/y6Swa9yp2xyQJ0qZ3k+/AEmI2xO2nV/vs38FkXFPYifWSMefAEJZRU2jAxw2yHaEgTWqEE5KDeUVAU+ITgcaRgtOeCgxkjoBXLrfq0Pga45joGI4BVH0CRNk4RhbTBQoZWwcKzJ1Le7QYdaYZKKONTuiTiTU9iKiSKqPEKtTRrpv6zJpqCKK2VyzaAQ3SYz2oDxTQ08CrRm4lsiQSKAe4kV3IQEuH9fp/SFCUxJDqmcexJ2JY+MOueRzKtWnc4koNW2UPXHGyoplovvxWZELJOtcPhBmTjiAcZeMeOojdgqlNnVt7wngGZ2wYNtOTS1KAFz0EEa3x3LpRAKAHrVa0zCTByMn6qWIbuwR0kdqTILahlgUG8qMokGqnfFnWXOZKrJZytwHx17ZtZg7ItgdJGhifz25FhnPmxOYMN52SDyXVnZ/gWObXwBcWYoD7KPodztkQhYCg4sDToOEMxshJM7n57Tn4t5JfFCYIH4TJhPkA2TFLsgDG9Sw6QItYQfz+mEZCSsrwhOSOboubVL46TTjY3mvnrkji1XVwkZX7gh1vQ3cCRdpL/Ccr5RmfoA03fBsg+sOWFP0OcOEG/cxRZ3wvTNAkP3aaxOI3BVAFycjo7y2Y6y92W7qqSC68RXvU187rCX77kmK0MEru/gu80wa2EMCeLHr7h4evvrqhrF3CdrNVtuCgIG6qOGkwMP5RXhmfkhgvekwH7whZJToQFF7T2gxiRcXsUjBtkbDq9V6cxqNN/Pdibazxpx0D3J2zOip0mudu4ZoZVMzt9uHdpk5hHF8q0+C75dLKZVVXPKWQdIlo7m7AsRvHntsPIbbS7j/up3NjqKkjmmzj/FI60eASYV6nT02mldXbzDr2Qt8Fd4lQfcaamREKSENgKlwd67I7l+Cs+s7uPGm22OXRCPp/8uBTZDA3k56nPIFtwRwsF6PQ0R43sJ4aimENU/IOfsNoWDR0kVEWO548Y0g3ZJHVcjA7cuvDsSZqgSp79baiZwuJQ23v7bOiLF+DOPx+j3/CBoWQxNvpikNRoQ388rnJFqk/Si3Z8Hrb0Ktpw3bxpzAQN7lJvLD2mXuewbq4uWOo6AIbKCwZopfxlJ4mU5bp10MrpsHOGAtM5lztKbBknt/UGoB3hm4V3VjOe+FuK6phBtbPh3qLZ8uRKLcjln6H/ebFQ+AHmSHDM/C2AeisisYXnuTrrlD7veJsW3gxNnwLKaxQE48spAd2tnQ+PKJrx9/Di6NlFbx5k3w2hFT7CvTXESeK6LaUqJ80Ta1C+IncVxU4N0CppXzHB45h0SEBlg8fyTtcImA3gciu+mFppL8JJvStwveLPlwH7tz+aVU084a3f6vYrv/1E5rSZEeX+ahYNXmCkboiB/qV5OfVv+UJdnRdwitfqmkxETUkNnCy90q87N4afIeuHlbclqqhwCZW1MltEeb3BhzYEY844WjhbOsIKLBVosr/vMhK62W9/WKuNiNizl5n2vFwWZikTgy3gZz3n1sO1spZSTE+IlUnYaWa62DkuApmnaPtqk5rAGE4xune9N1E/J1j3SPyN6zQEXj9D58Q/baPFw0JQiXUnbhDKW26eXE6Kra9EDXukPMOFyR+H4pFCNrfL65LmHrb6q62gO6MDBHlHEwHRQl8fzwE6GZaHCLqboNTP+c3iKMKz6O7Oa1JaoLXk3LiphOmnPTyAZxjrQ9lRKwD77u5eSmhrBLETRy5y0q7+cl6NpoI9clO3BQ6aaUaNZDPffO+traDZca5SYUKaliYYTGS0z4QL/5nuR0uiGifjLtU11yWWy6WjbQM9GeSt5vtJhPo1b1O7loJmdPNZJSVIgvffnB0sZ7rqXyFxdBWtImhxlT8+LZdNjK+ZzPAwvNrwHpolDq60OhpBSiMBMItLZELPtwYnDQt9R6KacgXYBJ9z4aAA5RXEJswSK6l14zUj5y/Sr7uwRDPsAeHoOn4Rd4UFW6eh6tfVkRPQIP9cyVFrx99dC2xxCaGQrnDRw2LWAvIkgLCm+FJpJEl0kw/0UyWGGJlS0fqXsONcCBmTwNLH2U0RNgYDb6x+0YkGppounYaW08VXVqWala+moOQlxAjGfLM0VqZnCW+JifOrra7eoQV9vHrp+62d+zjpyUznClxLMzYW+v+xGBMYhkYYv4IJwDt92rpf2ImUqC17I/IGrOcTeuvk3D5s5mZplZtWbLHNRzAh6wGySbnAmElUj9kRTmrGyllvW5v8CIlyglLptyBuPSdz8D8r5tPX4LgnmyY1mRYmcpPMtXhCAvVngW2muptJIk5/OPDELwcn7xhgGn0/A5E942jTDRJv6ZX3ZNAFnCJYST0p175kV/iTY8w+mVx8Lt2yWLJas0rYuO36BP3kDv807h+QihgqoiWrcY309Ee3UzUw+Mx1eLTbCVUqftM3M8w/UZp5HYsw2jgKbxsFxJDjCNqy6gxS0y3a3sz+OErTuvCeyDMNUOtn1Oqy9i9fYajk57hEmZs3xiX3LEZfidX3BTaYPjyhQPPhIn3HesNfzb+lJGLNGHiCUeU1mWhLvGV2ijNkxfaeyDoz2am75pMfEz/llJN064Q3CNScnwxJS+wxIoD6hyr769MKvde2qJGfe6hXKLS7yemeXQom8pbNnE9IczbmG/VDF/XKfDSRlFKOltvfeyvd+Dm5PCRPRs+qx/ZbOzx+Ykw4Xfd1ieiMxVrPwoQJWErvdN9WEibqwOLOQqdkezHZYcicyoE3i5iq4+lUfZDFOCEYOA7r1nwMyJIpRRy3akYhQwKnrbyFBF9HnByYmMPzevJBMLwY7Y8CWeHYlHh9LR5HDJZFnIJmbiByHt+8dhNpSOfKgIKb8OO3U3I8IzyTSQbUrEs9v4Cm/39olP+HCtyIGidjhqoOqZ/HgoS8svWtxkuwOKj3jJxYP9bTdW0V9cp2bXTOU3DHCbWPN6Fh7shUg3vi2rDpa1LCgxS0hirWWQqCxyLRkco6ARcKFMy+/G7aAzPeZUmALGMql0kTLZvFiWazqptLX/CFqANcDPcwWJDnAOiNJTc1SruAUa1es6Ll21t0QilECw9S22RbfMkQYhEJQTQY3wkTK6ybYt8EYZfbHLkoAyQseDko1RGpnVF+AFKXTFw6d82iM0hHzcXPfjqIDwyGC3ZmMQLLafI9QHZ4npMTrZLdYWq6G5dHkXINtd+4eY4OQyr1p+ArGEAC4p4+mu8/Sz1wLHjODWHrWh3CVSpUuNmKu/KHmQAmCROJa2QxrXx9aN+rfL93qTuh2KSy1OjgyE8wEO9WBeK6b1i55uCKKoizO528+0GP4C5fSAnRaVVIHyM4J0UeHYo6kGCDQ8PjpKMMOIJeXdkVphYmDovQPqds2s/IZh9lQvWgEC+hScYd6dx9CTSWkJm1cxkBb88f2DX6mQED4pw/qXvkgilIr54+lwkusLg3w3bRRGtV5az81+ZosRFzBK8epeAMlJkRfcM1a5IekYpdx70zxlzC89znBg2tcM3nGtngA4XvbU2dPBSzjM60/NOfZ3MNPqWpC0fB6K3AR2P5FuwxQJ4Awzl4FmgSH9y9+30X6V/FSKIB+n5B37wcryIErTm6X7hAcRHN811wvBcKaPFLpWCbzfM4fLq7jF1/MPLj3G8czugS19p9xbzmflUuE1q/Od827so0I44ZH3g5kzLrsI0jgUCVlnoSMw3ya4va9ThC8uZmdcChpF4mbnfQ6QyCxrh6KU6ZNn/AYU+yQDuT9YWZMHKo/6lKm6Ebwxr5BwrZdFKL/X6/JSU5KkUbqYdJ7uAzYsoFHjalwI8OM8CC9dTq5z+80dpTvNJwwYSFhdjkWYMh45kIdkpmtZ/Q3ZapCOwlI20dTt9wNREiGYygDq7vcgVoa7mQolIggVXtBgl04zT/KMog/6hoOsW/EddjrgyoQ62ehe2pxy17/nEUDq0uwKjUbFX67XEeUBCE5jzELSF/H9wzhwo1xpr6K11zfP7otn5a0DKu6P0c39LINDq50awg7hW4c2tFSSP7q6tRaFJfJ6+8VAAQYYakFwQk418J4iNFSepeD0IpZ9MHVK9IePnpbInH4z9h7ZDtF7fQJ1V/aM4O5Nkx5q+jnILYJdE/WrnRGZJ2xTsiAv8FI+PKUr50+fldvYH2VCI5VCY9Ia2cAC6GpMXBESo8QtvlpolVvX+kk8jar8D/GEGHGodt5+lmtdm0fDztVURL8/U6nL2dYvGsYt1Ncl3ZKJlNnoNwyI/nemaXxDFstJocRx8XdjqIBXAZsUeAyasSDPDC83BIF4rIJITy+u5bUd8G9dkZ4PlEddinmP34Pr/If7I4WHHzepj2LN4ySTdMccqlLbJCAGvpjpf13jtGE3G81Go9Gur7KPLG4hcsvfSXwywBC847g46pJ4/zbnmWdTpmixCbKTUl5ek0Qu+HiKTdFNUz/mvJ4nR/oj/H7hK52susTsCHY0imQhRnlU3DnxLbJmVmE3aPtCrssXNP6rn5boFyypMrzGicT9FSZ2VEhNcXDwNBQ/AlJctL2yqr5YYTyR2DQQ7pYcQE1prEjURF++6AmbRRFnqs9SiXmxTZrT0WxU/tigSt2uDauWeQ9jys4imUhK9CwgNop19i/atJviDq2dBMAPi5TpiXmOAJdWy9nmbkpu259IXFDFUqNCZHzTFDS5X+iOJGvunMvGwMYuuZp3EuqWyhvCmRQBSaBwU739JOT8HJZ8fWrO1vQ5yNrkpOkTw/4RoW2HfIMx0d+Ynre3/G6+OTODOb4fAevurJDUNXECU/p8hpufeFftORPa3OzN6kKyllZaIbqZuMttp0sv+0xuO2mr7nWz7STmFSrOdDMQ1s22E4zXQH0AFLCktEJ79Vnv4rjkn9SRlBR6qzJK53VA32H3FlwZTfuJhw5SN2+z8xhkeuigFaigm2Wz8jfeLyQ0XV6Vwb8ya4ocaCSMEz0cJQCJ5THuSedC0tiDIIPPSHwIAvhOLlvJTVwLTJeM+2La7drpMU1n5vIaOp1OVi5fMLEALJ4rFuEsuKRo3XQ3tGw4jXN+SVZeDU7ly7xN8rLDf/jYkWrk3NmDLaIJb9yuxa9R5MFvEFttf4igauk9cgOc/G0+8X56NCRNmuEXG316INXvm4BzAItoIiKeh+x1N7dWe1LDu92mALhPES2ehUQ5VtbZpWeGScqOS+xMZ9u2QhD/VA+o81C1J4dLF8/KzKbvCg5xVwWE1pLzM2W2s6USBP9w5IYmkJaI25KJ5kyLGGhws6qn1U6DYVOuowx3+aEKJpjU4oU7ZSiHLC0CN3bKeKMtv9t3JFepF89uWPNVn56HhbiJ6vfGdDiJmxG1kZkDWecRiro/S02fY3S7WdiDvnAq1YeO+okFi+It7YQc7svQkWZMrHzCW25MiuecDX00iXs12RjpoKCjM+GnjB0VC4huirCUJCQsK6NETgfUhC1I7VY+mNdIpo6Y2vlPc1wItwX/lS3RO8BXNgBO+JVNid04sp1GaZWR1Du+jaU3GWvzMrE2JQLWkswPHGFdLDohjcqy2r1FLB2f3ntVhP4BC25hd7ux+YVOZ6GGLq3ySQc5cjpqoIQV/5KMGrA8SRNFtTHwYCRgTGJyx5KEgded6s5dEeV44h05PVIZdiYqUTXogAQwen8e88v4eTyI4AHqg2BNfPbUmZpkT4bZpWlaruMZxSSu7hm7KyMeS0jIRgqNw+nE6u2+gwCnjgnuyBj4iR+njyktCb4GOk0ky3ljoK5FwCVBaZWSBTJdlpgIzGzltqiQiRyaGc04hkkavHmy0gVaF0dKs4MaogauXNUeMhrWmVhiGL9Mvvbwn0nCQS39R3JSACHNMKAToNtMK8BRaKpT81nU0hPX8lO/Nf1fHtgopQYOcG9GmqdUiYcRryNrHE7bvupsfHKHbgazZNdIoAceltx5E9uK5vnu5Mgm24YXeONwsMH34eVb6RY4RxqG/tlkdKyirKOxeuywg9mmBgk4tLRCva5LUCJAMmWMZQPmlAuseeYeeOenHtpqvbicBpVKS8KIaMFYxaxC7H3qEaY2CPnDov+1YD+1aRCRKrxbOWUrYtFWTO9hTM2ZE7Omn+lkDAJCWXAus8+ICsZuXDTs57OFxqSK3B6NZOwRPHeg31ciBgXP0z8gnye5TyUSj2EBMhlO/zkfi60sud+fobYP6iGbxeJ/LtN5f5da+a8l8jT2VcT1XvrLdaDPhuJnoCkCTSWWAOdD9c4aVumpB5qeyk0hetQmkJ287dl8FkTCLKZp9X5SLCWx+nxPIr772Qzkzx1oXDMrf6Py/GGrvRqc4ucEgIOeBYjQaTiTgh5cFCQDITGZTIrlYTZztg16EitNwlKtYufSF18Ka+C1dstqxN3pjRtV+K/oo5ItgsNqWPpHdB+VC5i/wKaVYph+iMuawJMb6pa6d3TR+a2KzZ2nUxJrUNYy/4ygKD1jdnTzoiKeWzOZyRcmtq1o6kROBYgIPbfyiI6LUMmb9EG0RxSS+cInE1/oUiOoxk06LtfsEZ8zgAnF7tZ0Sn4XnOQzend4IMCU2DuYN7rpAk+kHAs4nMlZKQrJRFNF+K6E3y+ApBPUzDeXaQ/gDI0hd3nKNsDqtCSgE404RTDqVGHejPt8QAjG/w1n+urXD/EuO23JHQe07zngOcFz3UhyTB43JqqkB5KRjjMbQnME4I58W28QASYSb3XaU2f31a0Yrit7oUFFv9/la1riCaQiTuKKZOoZNYOiOpqYSVa1otqKlT6rRu1irEuFx86oZikqY5amRzU888xDoJgAn5UuZ/QVXQSo669rlpIKGbalgRcgQTDjvi2+09mjFqapdn8EhlQguAUGD2Q0SyioFsVZcWCyqpsodd3leyy9OjAqJHwy7A6DmosvBEm6yyyTYEW8hujYFPF4UBuusyNxhLCvz8xgAJvgL+s66oDI0tPWJzuN2YlWBocRRCnLtAzOC3LJ/OOP9jg5vneifVsB+oZGrIjLCOui+d6cF863Dpy+oR0r5dLCmmieS0jeXODHmlWKjh2o5KyCSsBWJHBVapl8YzDL7tx7r97HTPPrQavaP+hW5j2nNI3y71O6GcW0dGD1xcZkmf+Jb/zZZKViBlVQBpQXzALwSqV4E9FnpK5KUvhynU+Fuc9zCfMdxsGRodoYNE13mKncHg0P6CIi9jQUMvfh6OBgTcQa8US6L04hidV2gjPVubfygeEujBVmK5NAeE+XVshx6ptqXtdD36qpS22u958RLOKxOEgEOYxaqKw8JrhvtoUfKNFA/7BrqfEe39ZNNZvzH42hXbFNhbhVMgw9EHZwQjZEWGpgqXKq8jz1d5XGMeaZWdA61SDnb5E8vwA5ojuMAZ34jkbA1fqTJBw7Mtac12q0sRD63rrseCwWEssayoGdQwTFUsSJdBgWuLASJIMcVkpmHsFmiMU5xykAr2GZOVCJqybg+NHFNk9vvtYDF2ypPJ3U8+ICGfIZ72RzPSMBM8VzFo+1UC3QYkSg1PwijQ/sWzqwd8m6Xmr5idOBu9BRZWpgjIuXVHGSBT2i+rGUSCajb48boRtrxIlMRN5XoU/7hsL5lOvKKkozc1sZzjadajHwQNnYbnI8rs6+24eGI4nN0kAJiDC/m2MGCaKdHwWZP++1nTwyikTV06YJv+h9r7BUc83ZU8790CLiC1LNCq6VpC59329a3s0Y44f5Rm8qmJWn3ZeHtv+3lrU63fTWG8GTvME3ye33SMLy5I2aDqV4obRdxdvHYRk2HnY17RJS/aDMvmUxh+0kWEyFm7rDCkqJYWGaERPdhizG8+yEkMwaIjMtz0fkIRzLpTizt/I4CnzgVDpT3lCTjAIfuLb18XAcTVKuWd5i9Oale+8ru0/9ZdubMvby12cFp6nTda7n91Y9+lU+LcUBa2I2VZ8SkpLQqXBa4k290E+oYP+y3CRX6ETBeRuOEbnxQd+7o1vANAWN/GGR/Ep/P65mRD89l++RiWSwryhLROS0sTrinEQeky9b5SOif/UkQQzF+yNLSC4ROpWeeD8l5ttW9HK3FUABW0IkzH2eY/FvGOGT21M2YExQZk0myZSAm0E8OooHrnaQnsOaClHSflDfGxB3oZLvW+vtKwj3nhStkYaP+wFgK2qjIFbfxyuPnlIq4wG2tXWjbH8hFA6j/up8/isnr0tZ/jabNrbNXwbrlnVk0n1fA4es3Fv/eXXbmJVqjqUAsLtvJMbjWT2geWpSnBFpKYsWmQZikNSLTGFEKL1Y/VXKd0kIq9q7WoAWJPQ3Atq77jkaufomf5nWNFrD3dYnjJNERp/13RBbTl3FfuZkGEQ/VvD2F1GVV6HNzbKBfXZTPsFODgNt98nDKwNT3nHwuA5IsP9h//rKVSH3zpKv5oYaF4naV2JfK6WrjZnoVfT+T12KXhu/7Aj8bDUHOQlAxeQx5id/6+DZQZ9e/oNt7KoS/ckRsm+xEjqbwTm416OjcxkOmy0T3QBOOhq7EZiAdEQBLcZ6a1O36mq1YTTtn3JjtH96D0b727sg3r/hhHj/2naI9zdbALzDpEM4liM3tnA13yuzhrMgHOJ+HSqFYkpKWdx61rN3K/y1zdkC7xAtyOpwmS9MzExbY2fY99HNbvRsY7iTYf9QiYbUy0irRue/Aru+myR90jlgf6Ohy9YYsJFcCoL0Dzgz5hJZbfAxYj6/fsa9Sq752IKvz4/J/HlCcz0ikobozMNm7Sh6S4kFHPdNf8UijRoISGDlxncItWO9RWSF6jpiOK42KAI5sBiJPO8QyWP/bI3dmB4vhb0W/BBrnZtn6gxHpLS9jAGRsMna4F4CRVNFKTXWR+tfXr2Pa9+HC/J2ib/VzJrTEX1UM/87NvEMIFd2FVRDUF+g9tBr88LqjC5fZbzg0ZROStNMAHtUySGzijaTaj5o+Jww3Qy6I+eG3dlbr+rjl5qpwIbMS8MBsXqTLP4h2hMziKbSMpjnBoG2OjZkPh2lBWhpbUXWXMw98EgMutQcWit7NpysQFfKyq8mEWxDJxLCLJIQEdByWCAUEgchFRo4nyhc48ytMpgtwVA4Dmjo70AOkhRDNAuajTx+s6EG2e5aN2olKQxl/rTF62VGy/xwWuonMTWxC9NeNhpCg80FyDO4bmOZbyMUfrqIwsKycZivUttAIdWh99AgesNe3UtzXVTeQINUTrNUIIUsUypAATfQE9kXQ76vicSr28mFmA/2k5JMDp2oaVGGTpUcLITECSM65c5S0aq7iKVq+JIXFzmXBRXiMYAtglmZl1DHTsK/AIpcJrl5TDiv07nN94kmMMtjksF2CBTwxolcjsCKofJKtUHKzTuk8lE7HJVdhYn9SbRNOAnZc68CqtgUTWb0P9SwBxyhSRIYmrJyG7tyIdJLhjnRjzhw2X1Rv+y9jYvnZ/sthCoPc221fsVYBtdQGjBk+E1eCLXwP0TFGGRJgm08hqhwO6F/BnmOBiwi26amNq3kdspwB1RcXspu9Nv3vn8FM22kPjikZUOu8dxOfRCtzertY8Og5tmtJHM327wT+pwj1bU8U0YtQbqnoBTkhvl6rNLiibETzwqAQoEJKnu4BjZjZx2Jh7FUeq1HB1gfMiuTgs322Rn/YQe2nDCbARuGpP8HO+YcIJ1FRWFHmGTxzpgABte/wFvvqk0AvKsG4QquafAbntMPZ/TSOkKIW8QJVfq5rRIzvRlKOd0NMAjKD5pJBr4yJwlvq/2T0BYSXGWgJTReNX2jhrYeAuY1gtQLHf0g0jA9B/MTDZ7BSsd9bX8f5BN5sBImqaipzyKR/i5j1oIJVrvxfWXnSt/a6zo0MnFgR8xP9KabLRMUlfKcr8HjLUKUi+6ZSpdGuOlZw9u+ojN8/8V8KcnkDorg8wasuur2SUfuzMFhvukPnqIIK+8qve90dFARYu/2gu9B3R0YRG8/BEMQjqFntHTztPXQO/K4xEnLXUcdhZgyUkU8XpVtSzOUrPcUpyvhE6w73w2aW4uqFsszy9r5jxlbMbC8wb15hHa4hY8KFyN/D6rccN88atRpQ9NhZuZ+XOcbR6QDQ6U0G+7C3mR1YnQgQqBLl8L10LFRbb0TPc5hm6abVHE8rfZeeufYofGvKMveuZZHflHbvFpvTxj41mPnhuCUD3I+UqV7Yrq5NKb3y3ZNnXGEsxGDbCk8i1aUe8Sb5pmQsTJQmQD6VBmAJx1E2AwKVnS7ApC8zvIVnYdvUK1hVZLJ4zZgiKAB/yLCgYFRZe9dawRhLd9ePHhqnzzkRy7b2dV+raW21+vF6fQ127m9269d01b6Hb5gOM+mvo4Rl/glub27ctceeaN20fQOAhgCm/OSnDvj23Bj/xn3heq1HP3om/zK091gAJvZmL110pnB7RY5cbnvcRCbRanEf6kZ0rnmzexCxRnS5xUUpwfbNtjHkQNht2XcwbZF9dirT+JZlPqtx5EjOnnrEnAcAoAQxukvIS8cpb81c5GnllUnISDgf+sifIeNpULjoaqoCuMPdFwbj1QjGeLz0tKdTY4kKzJuX8Xk3iCRur5i09ocHOJepyb1sZCSqpmPyGUXw+kUaZkbpmPgSeo9FRWE+gV1JUUWpqOMyK3z1pMfCs3K02ZqsGHYuNaQoJPOzUXA053gE+KrX9FlAvac4ChyffKebW85Gbr7VVA2ekgkZ7A0BPHZujapUPP3QEDiWA0oMc3OmM0Af+F4XwlKeb17lTPa5hMDrScsvoPx403rMW6b2BWFPnbwT+r0htWzhv34xGr+3xKY1rByzTHjZjRjc7pfJXYlbJPjS99aTmmSK1b47jPfJ7ekxNTgfueU606bTeBHQEjv5B1C7mIr0/3K7qd23VZGcUAYm92xdUtanWiqcEDs7UUw9/iBv+R1YYGXzvJTWGSE7oVVuJOYS33Ur9I4R4FYx0sCGWlJBKyC7aMlmgvH+4MABxl1UimxRZ7gkkktqNqWOJzGfA4xB9YSy0cSgM6e4OZmNuvIgO49IRZLwEY2klFmHltYsRXS2n7AEPSXX4/gaqJcXurNi14Ua4WUmp1gk4j++UT4tXP1BQUGR11+luOkm3kTB28QAgGKfY5/0TsraSWLCBpOfYdRvJwwv+X+1KXtVb/JdSlNtt1bxlpgIp83DbniGg4/L1tD5HvMbPGCKfIkGE1yifXAmnxeugSRCWGZu+K3EAP+pzqIoM0i6daKndthCcJsAvI+G95oAMfheaJ/gBRh0c57njI+r/5DUK6JkLBMxQ8QIJpqP9FuCHRn5Z7Y010DphbhU4i4+Ph74bVV04cFkSgns7Vi56MnZo/mZzDTg93qGJXETFBBpU10ZBUHzCnjszLDuuNZIdZ2AI4mYG+Fr/4yElBbCxudYd6UhLs1+8AMU4d8IyuAsgE3SgWkigojG8i4zF+r1WRVqaQ2I1YZRK6GwJtCIkuD99Z8ohq4wMEZFoApAm+Q0BCqdGv9bAOa5sgsrhT7bBHooesP81Uf7CnduWWYNYE8QboIsB5cMJzrnl/sN9jZ9u1efnvYJA1xUoLOsGaTEwH761AKEGEaIWaXtPkWWFWDsrNoWBvyomzbvV7B8ToonwNtoD+SxUA9Ymhnmd1PzZZ7LZNp0DqSJ7RBFYs4P2fC8HpIRnowERD3Ww9EI+OQQYwZLvbguiUntoB3rT0yDzMapMm4t51aJ/KhSHiGk6q77psmB0mdkjTQMUnvnUpppK2/m2XoepTaG8zTzY+X/W/i2bSbj3uDqYH+sGnnw584HQkwW8tLuC/uAx9uKu2oYTXzEdLt4bCJEOosYwKQmKzo+5gYsRLXK5rVQb63B0JEcmxEb7ifEfEiJB9UaNpUF7WZiqI55q4kxuWyo+n+J/fy9rz44RAwVognfOMizwWSmOLrgPShHArAkddTlkEPSiGU1Y/fkdI2xkY2UlyKNhRcv7s5tAgXLfhfPabBUbMiOUlXLlwuDnpta3rLRs21VfR4Dzw539DJkaokxjdp/EZT6e/P4f7Kp2LfgkD+26jqlH36z3XlAfRv9qH+z768Ed7Rqg8HEGq9ND2k7v6646VvZVVLC+Z4ZOlXmOu7uDFuRKVYzfWY5XmWIo2u6TXlgJjAyoKC1xSV1UsBlewX0fukvxQtpG83QiK04BLEmykemKV1Vwzi0R9FwWg5rBABwGIpGlDkJS6WJIRHnMEoQCgWkRHxdaPWUo0b7GZMVCAGz6obSjYN6c7qKQ9IKnnT3/EL6J89ztLMUQsvq93S2HVJLr0IujyP2++QwRgslrByI4J5BHy+AwZsyTxg+sZR+QfqPcT71PnrqUYkG+ir0kGSdOmYjTLa7JRkNgFjzPOCV8el5IejNH72Je92G2IZ/GH/0JVfQ9Wu41nebIfMqM52GnGkGoBzECRtOrBH3/TjXLxXW/azqbNDCRnlbPH0fQ/TUsVenzJKqUk23lj8bDmh6K898f/7gxGMYHQH/dOR7xUv9ReUGYNQrNlqZXMinKlfrA1MGY3Ed6dtq8t+wKZYFLrizU77Fk3vMXi/1RZ/qtmbIwK46k5telMP740lYreWHyzv8uOgxb2bfrJCne4JYP857/VWdTZVqn3Wukemfx0MrHXxbot3T761A68csOccZnNDl1wcgbIIvRzP/tvPZ/0atBOHuP65s1aX686mro9Am7b94qw6ql9gYyt98f3+TJU80Vu0kCNVq9YqH3zQ5q26W5PbW+Wnmeu61KdvuMrJvAK5v1w9R1L4SywhWzyLvkjjP46FO4U54fjGBYE6kdRJzaMrvsxh/pj5Ib+37SqPyD8jkidH0AfjPZ/txFE2FZssGuNny20mO7aHiNTz187rudlY5pWFMPL14Qr5wB+Akw6d7AuPO3FXqXHNJ6s0jK5JC/AMQ7Vn7dzxzoNZrWDGE34dYDZpeBEwDk9HuhlnYM7u3lt+k+A/TkPgUUDq+MiENuaQTs6BhKqeQX1qwI5CYfPBHDPtxaUp6hXDz8u0OnG6SasA7a+ewR1nWr4IMs92GmxmLN8Q0KOizn9Zv/OH0a7s3WLUqeoc+Z4Z2Vhvw0kSxJfLnN1YqIGiDl8nAcQS8sM19ccVXRpKhLj8MlDSCDkysKhDzYn61P8M/UDxmaZDpaCG+ZsYNhRFn2XRAEJAiwsG6KzfQZE5lN+HwwLn5se06HkGXQD1BUjxCQeJAy0c4CDbYraoOQ3R8E8e9RkwDHV3p6xJ4sjxpgI3SqZ4lcWrMq/zXMoZVmY9blaRVoCrpNAiIzmTrNZ2OHgK+7ZtFQ8UcEFo9tMT6HnikTOCu3BRCQ4l5NB0Xq+R2CB8g8KCXZ1ZQjhqQ9esbsQjBybLyYcL7vy98Mq0dqzLklChPhWWTwN/oamnBJOTrwOJebVVQXQy0F+34P3u8dHuAwvybjUzZSqDgzG7k5N29BWwtN4oS19ItXZWy8qJM30SByzVxkG0Q+BVxo3YghKUQ3UImavJdA6s+WnOLV25YOYFztbp+RvMN4RdUuYPDSF6c7JO+5Z0owSKkSa+xcyJzIRrKbzOU0ylzfSbD4TMua55ETeCqiS0sM+lREquTh/KZOXsIonU+X85HOkK5jMxIEnNF5daKF4oDWx3Ng0v9UCOWYpCjl7e2Nl9sE9UfjljvmPC8o5d+ZqVe+Ipy9197rlEOO0kE3sT+/DeE8d5Y5YsEsqkgHv2dEG6VzN6EEhJuqttw/BExjTcpFUE/dpUM2SmD0nSDp3zRJIpDRKM4EnbrI0uAWTrfulbDC37S5ZeMoBaYwyT2grdOP2Ddb4sWem0XlzZX6as1IHBX/gr2hdjSqXaHCSjXDI6WlfmDNVi1EKg7Xc919pbMSdOA59ZVno0kx47s/wol2Z6TqfEf+BVgfNmKH9w1pngIXjXI4OX4LbPTKk9IxbFi1TlaG4F02KL5GHLsyLWxSzMVOJcb9QhgvBAQHNOJabWGHwKlcfndOjkWGq7CWobs9MJv1FvNbr9ip0amLmz7W+PZUYDKRlvEPn0gZAg6znLt8864WgqJ2NK5fXlrY+YvFvO2XsSyIQGTmalbnqZXThGEb8v6qcbfJK6Mcp27Qz/Z0DUSjqxWczv1bZOddo6omTq5mhIrKLw9m8Kofi/u3S8TZDGYISEUsyNv1L092nBOnxO219QIqCi/YhCQLC5tMggbWBhnvWLojpN/QuL0AISCWMyy8WoPMgVpv3Yk7SWVQiPT41TApJcnYEAJWFcQQW6cOf0DOT46oSv8rG9ZcZc5shBkqypqZsuzLB7p9brrHeGx79+PGRYSWjB/VJOvWdrGnbg5m/ce26m1JyifY3X7h5IfGWsaVaVV6mh2BzHP6HMHCPNKEs6tLkHbR1gEe8m5kz+eF5GrpIBKyel3QOZ6x7G2Jxa5oWJspTFjxoeMT9e6wdFDgSmKKDdnR74ROCpyHXkiRbyNq/hVMKY7/uQE+3BoUxTjrs2T7Fhbe/aZOsHypkOeccy+ND6mXySXthTEt5L8KS9fSqMMkwvxZgEKRnPAGgIfvebwvJcMe3JIA1EucyFjPfoJKYY1TGTRy/OlW+pgDADXgzq2/qH+198cSzBrQx8q/xg/ty3BwYqevB8lKbGJ+x1HHN2FYNqKB9x4KtSq4l6TD7RzTb/jrqZv4gJ+Bw7CHMygxTFi2D4sYVXi2D9VHlQ92eoAWVlMBaH9wwR7fQwMOp9L8eUvI07aFt0R/lEuzXWXkW/xiPjaPfIjTpmPwn7BXUzejDv2o7vJOpUqKieXlTPQWh6BRKXCZd4CuhJew+B3TUbpujO3cCMi/gn5HLC/BmlSwqAm3qObyBs1qI8up7VTmyyjJ0QZqinTX8qzH7QVcqPh1fz2l+fBD8HlnYeOyhBgBmFqM262lLDXv8gM7c9NtI2PTLmbut+fWOvvRUHkE83k1gMhpXgZLqsAUoZ1nyP3kxQnN6dfg/Nhan68TiaK1FE7PTgXK/U5tKtC8OtU8MXXKc991XZdswNTeSFmh5jImH7q0s7z0GuHBY91KjEmqmUudZrgQFKhE6AcJvoTSVBUmDR2Yg72PkoE/u9hzXDEFeavds9tQiLhlkgnWct5F4IdjSB0Fh/rtmJ+oVK2EDu1z34Y8czxer87H3KKikSCHWS1sr/Yhu8VLkTRpobJ9N8uU4zl8G55kXf3gCyzjmJu9qqKTGQ0CESR9savfdrOJKtNpRE7wp+SK+4vUdwwAQlqEZ6M+4ywcRNGt9KomFa3tY/q2ON4G4wnik/i2jhBE4XgMB1ns8fmgWyHf4LbTMfSI5+ssEf28oxckT8J72s1tcx+57gx9V/kUtynXSbcwFK1EoPc76j2fazpn++1rhV1wXMz831BRCeMrT1FHJeoCtoTnpnlrFsMCdcHC9lkdt0WNSQ03adbCDJaudjbX0hUdYdz7yO43Qj1OZ6iLYjXRbb1dofoR/PldfeT5zR14dqReE6kyMJ9zaBbjo8kU7nEM3RdcdpsaaN4RjJe4V63hgPtdcxyp6k6v7jo+tVVsnybP0MK9Fhwk7wwler5I3JaLvLKU+nMnltRWzZpK9B1tU3H6Slq1lRcPAV9gaxZkKsijw4ip+FuzsCxh8Fj+X0lvgnZ0tSNW6Z9swG5r0LwVRACa5uvCq2F4MhPRZhNX+JnqyioYOIsFp+Q1eX0VBeRFgtWGanauj8ToDFsRC9cTT/TxIGwUlAFfnoU9IS+sD7ffJYaC/tPtwsYpbj5/M4ObXJ9O4tOkd8BVcFkZIp3d5i3x/7Qcfq+DVHk948KtmV29o6xJ+jBiEUXWdqfqtPB98m/4tVh07rork419sgrviU5YcTZ/EMXQctVxpXfyhX7IdOSbwzusMaTtLGDmdy454zfLeSbQ3ybY2gJz1bbpTtnqxNLD/mjCSwCNFIRK6TRLItrttPGD81dQhYrV3Lk+wU0zP6Eh83+T6rFyrmh3eAAWc/mqiVKiGS6fj6SnlUokALVbNnztN6xdFJ8bqVz18XpAaFN9Im8lx0jBB/8EguH1nxWuYoNFkn62TCDNdUhw2RRrjSc7wt7HF5umGtEjcb0w1bjYQ2N0smw0qILyTgsWMvw9R4jBD3vVsXxAGhgOG2jw47f/fEqqJ6MRpGdvinXUeEJ9qP6lGvQlNPwgP7iQ6V5bvt6f3QhiTQARN5mSjeE/BUU5P8LRgeO5ZoxbF6vswRVJrIJUTho9d0cwSgiCKJiT3qZ3dVEoF1RD9ioRgkGh5aFnL8Oej3R7zO6zyZjCb8w5FhPMV2NZ+TMNFdGWYlUxfyiQieYR9/birx1+vYip2dHbNv0Lxi2s79gjhwSjmfwYLY4qCawieYLXPOQIZy0PDrhIW8qVSwuqVBWIGkBkkM0Vw4bV17g09mC5VgIxzK1hNYs1ReZroZNffUJycb2ezE7NAYFvhXyjLPtyB2xXNF4lx/nu2IURhztZ4omcuQQEHoFGpSFB4qWuj8GbDlYZGIzLPoHFNsAdGWolKMW8vcnGS8Kimdyam7nMAMUOTCosS9SHQYo2/9vDWc9DiJyS6Ewl3AaMtcc+DQhtiL4QvaAxDm1z8Y9VZz8djoaC1VgyeJI0X2Z/KJum1d9MQyTmpXbBn2cm2pWs3jEpejw8MjMuf2QkUYNzVeXoekA2E0B9oExXdVqe1LyydnP2dlk3/I3xMyMTPO5ue4zMe4m29g1NdsS3pQNl6XIIgk9yQ5ToqQFItXdmcy+UgCz4+Tr+ZDUu/fnGE3Rg6hL+O58TPxXDit+61GhFy5L3oMUMzvLz/9vewe6Afup+n1e3jW49O8912vD7O+uwD5iesXL7QXXjn6QDdjo3/epQ4aRxs8SBdvfpdGivIhzDaUOoZqmSqar05i2mxOebqJ18NDxGNHodxkMltkN4ZXNF3TCtE1wDRpzTKppsEqGoDdaNHv+3C5HCqCHR45287W+W1Zbdi3ih63a2giEsmLxYqjV94LIfmoQfCKYW762UqufOtW1064Y3yHdarbH+9qK60n+h3T0Bk3tBgVjsgUC7jk0igndGNuVoTjZBOqG1VjngyM6vcpkEnilbXA4xs4KCn1S98PGc6WOdtVJ9ccGLSP1brBGmqE5j9W16RAQpIdT89F4BBHDRks4GNDpCJRW2K4JN/1FTkZdGTShok9lORYpiDgZEyDkOoXTf/l6c2LCLKCaN3ps36IyfjKbKNjji4U5s/Qtpx06HHVDD9ZJ3sSJ96I6kHkY1Px/VaBTRj2JalrRJgNrHvGpu0YWOQ93jrrxip8pM28ZSLu7tHa5uV+wORPdgk7r0dfUhrPnv30XLzU3EeRJDQ8FKuJaWXFZjN/vdLGUGi0SLb7YjDS6DbEjlW6vpIYt3P7wbK0TNOonxqXqFEe83xfUObRyufcM8Uwnn+Zucv2G0QerebiQ77TBEjvoaEcounGLH9BMV4n3000i5Ibi+jkAttdJe1FSjUzzuiVgg0rzapCUB/JXiRSusZSCkRCK8lNLe2yCbFzAtrgYoxSDIhWRmVQBZ87N4u6gq5J+ROrb5fbbbXCXqzUTaWK/Ypr3wzFKytfm5WioMBbOUuekhHGEthXpINSugN2CxB/26etFxQ/ZshxMsoFc6rhnn2/WAS5QHmaZquzqrrCydoWxUjKLz33mJsb+8rWr4xBfiD+rDAG1cycCPUZeHJhoSBHRL92q2y/AFGsrulaXFyRRCxolWm/SuIUGV0mKEEvjSJGYtwXE4Bh0caavggNDIjpbTKjbF2C5Yl4JOz7kuhFNXjNw5AxeLWTe5mQ1wUBueFBhTE+XjKf4OZflsbCQmWaO2KWon7z1oMpx86MMrNqgIvQIA6VcvE4XSeHN9rzsA31i4nJIGKMQ99ox/pU5sVkl4fumLUM/SkEpisLkonFB21EKbL11S41hzHRLRQArvwbznxZefXxkuAqEgGxum+N2qQc8kwTIKQG3/I0QeWluT0CCsTx9lSDmLhAfMxYJKYVaRpuLkvcSXzuUoQCoPdA31CChv7mQIWR3FCP470cKrGWG4phspfD9QS2a0AMztufjA+Vf6+jlJftPUmahAngPZtsF5vBAbuOW7ypvNeSIsRo7Fgwj1HSnAhmAaf7y5Lc4u2Olvdj3B48HSM5YHxjT30kbwE+ZalYPIxgLPpvvpARqV+x6EuJMwvnDIyNjoMVcJZ7WRKxBYeV4R5BblvtGTmrTdsIDalUKCEivqgGP1qwXQODaQVFxG2yC8Sewj7VJ5aGmeV7R8h0nRqvIKrXKhF+pvzrmnm5letgiSerQfs/2ZgjAfzUKQK3EG/GKCTi9ePIiduVTJ+N1Px2WU8xbx28nPNfPOwvx5C4AU3KKLmAtBRXf+iv6JeRUZEnXuobIzD6TXyXM314N3SRyTyIzmH+1kC+zLsAy0idbI8xxz6BwB6fJiAuE9Rt83aimiEq4PQpJPN6n9xtcsfYdL2FtBUoiDoesLeDR4gcR4diZVamd6JpJEO+TzH0+BAgkNDbY+da3FrsPEdjPHqs/kCxOgOrSi3A1cTfX2DoqQM4gKGZfg6A2oaIDORNFooJp6kD6CkNdUWNtLORAnNZMfKNjEK1ozcW1zR33zDrR5fTNYnBeo3CBUEwH+980KCWn1un5ECcxFb3z9yf7P2fUc0WcV5AVwGcci2O/dJVjJ5P7bcD2f7FJDkn58hJQmpmYDUNmyIU0aYOWXjI+Frv9CCBVe5PLyY4M9/cLMg4zg5rrDLi+h4mp74gJ5k/mmVFdockzhnVTGCPQhCJJbY9s1SHvWZ0RjXlr744kS7Fzxu/PDE9Po4wy0fGIAg3AgF6QEp5lq9+wuVwKWcf1Cxn7dlZG0wuJLksH6sF9yCXxi3ePKB/axfO+dL5e85/efxjKjCuMsYvcTGntc7h8rvBq6KTEr9nwg/ruhaBg+DkSxa+lfFNJsBSPOgO5cc3eEPmnnlbTfSWypsNI826+QCOo+dEGHlhuf6pM1yup3dmnndyyBFGPEeaVz7ZxLi/t00Ts10LXLOoTvjYHrBzsVfdjWSdPNOh+9IAg1flALydCKowNjTf/nQH1ci079B28Mi7MD7UrwzMBIjv0DsgBAi9kylmryOvKgmiMjwC+w5o/c0g9x9+J0IYwnesC5IPum2iSC/iGZy90+y3A5Cv4XdxTbAdD/AUydj2b+5nDBMQG0MpzLU2N9sj5YhCxlOQ+D5fLRVbzcRMfFK+Us/xkMvRbBRRg33uHFxUvkgpCp85RmGxuyJe4GKmQTqR3bNRNLG7JyDKPb1zTwkPoQMQw/EngxsZQAIumujZWSY4egqKLGk3FRqytaPq/TN52ME7jYHrVX1wL99JnwwB6/8LeFb5eNbeaWz4Rr1axepmm//L+WhY2mOHmNTsHi5iDOjqQiqsfCa/4o98Z6u3ZS/Ka8h1u/52XF9Ih7aenmKCoAwH+mTZcOFHm74v60GaffPACOOsrCfs93jInK7Vi+G5O9ZF8N3Y6QrLIVe43N/oBAeAaszMe6rtnNlaSSTfer57T94UcK8eO+d4phKwPde6mHHee/3T9aD1yTX6bDK4M0+ODOU9ARn5QO0TaoZqIwwT+EdZv1STbqE++SberA6vzSODz0NCz6n/ekwedXm1+d1sf1MfAu9hvWGXpe4wx0xUdoLAM5biLIwyCuVzZFQBcudVfUXdA5Wc3WwAMeC3eqJgWA9hKmh7H5pxGml1VeNc3hoWqiJM/rrQtED5VJXWWNlSVYe+RgNn9l1z5cTdF0XBzhSzNatWMN/LWKzSFi/G73XrtcZrunqFnUL1vCcH2YPASrp4GRuizOffHAnmSXrz7gGA0jf6ipH1jZLSWf6GzpXtMXS0v7Z5r4i3zppffYGhfLR4beNbBMB4Akp9evxs88j+RJvXVpf7hnLz12NzZHNxunblW5HjtyYRjo5gn29Vtn+4vmzrPwc8HGrbQ/QhCU9lEnFCDpO2PZlK3FycHmCexExyseWtiOFkMU1oHfdvq3fR0blLaQbqxKPqZIqVKjteGNKLyxi/JLW1eEix7xjHVbizVWBdR7VrQ63qhoLm7PezAwaasf1PmO1RU4VDleJ3k2+PFgtnfuEfeUc4UO+Ze3tIrr8uJPX7F98VNsUhFhF9CBxkNCxxHz7kYBaABGxstVVNQlKTuVBlAoYy5kGNMVKEueJI/HG84WwIQpBRv6amJNJXoyWJx2Lit2hCibL5DsOaVhxAKD/8HR22f0b3CJ5BmFF9PEdE9DIcwho6rA9lQJBm1CQiA40XOOK998iNRvqXpplm8+u3NWC86nupFcCCDEv09XV23Fymz1jntSuYn/IMdghqE4XgtgJeND3ezzAzT5ODKODp+r7aMC1Jh41mS9H1UqARyMdvsJuCT6i8zWnjMhMGwinYhgcUs0fyx54KWDzREseYZcds5+oabaPFU81coOf2h1DM3CEh+m947iTDKwwXiQiDBD5kbO3F4CuM551iipsQ4U5JTQMWw2RUIisYDoLGjLmwGG8w7cVgxBg4OcH+18/8XHw1IN6j9LvYpijH+pOgi5LYeQvxaqVxlBltKLLs94Dm0zxcR5EJFd4y1wfp8WRUnhjzUJyXMK/06CSIp7Zuz+UfQKEKAsSSIQHXWAy/47qVn5aWHI3TTumDxhlr1bOteGlraZD23vOcf92dzajRmyIwP85eMuW2WEbnjSx7c8Dmcl9lEEBWrvoVksHxknmfZ4iSFP4aEwzOTspf52n0CI6X+3cCcb07WNrIHEVEg6Bcoa1iMRoeR6OSKLakEI2KUnPXwJKqVMXL3fQ8G1zaiVH++ZECMnRUCYM7l58LYJLV3FsbB9kssOpBa76jS6PqYkRsI+NiOM0sXZlpXKybsf58a0OJ2eXQeExxfnIW3QrUzoY+fIt6zIy7D0KK3MPJYZ/oYsT3P2HfEPCAh2EOZzO8MKDoDtLjKAlq6twiRrVBKu1736PLZLRdxZkrWEjmlHrAc//Z1vcL5QtaqQJT6eJMHQ/gDnU6p5nLheEp0tKywN1uuEocjkVCD25TvvbsD7Q+xKbxAhOT+sLNCW39aCzyUs37593SVIp+fek5LAmQL4Klp77i+7WvLu6EAuH9qkiAfoUhxeCFy2DS1wJF+bsPvBh4GfsU+BRP+duWINsbbQR3AUmwbOqntNGRVXqdevZrKr0qfG3lmcoCKgsuP/31937l/L4NyOVj6/i5wAJocNfTP2XNWZdduSpIfMybMc/0kfnIZT+pVjsJ2KcJDjIRmlBRVoi8kmxXNm0cNU8RpDMbJwPbXv2iqxx4ExLgLKjSuRuzYSlU7JnzpWVV+65zMTCr29kWhGZ0ORcTgPyAw/4c/FS7rnvSIbCKTMCn0UDvT0yOl9V0x70hyQ76uV7jTCF0reZpIPakll64+TpDEvjMUu7WCYK9mfBLnP0NEj8yVMnqWXj/26lGcSMdMIWKsAo88r0Wr2jRrc76mvXDKZkG9a4ba2VzuWG9VJNs1fENeIO1qsn/ATm08b3SZI/JJSv+s2I4WP1ayiDryDtnnQN2OAxuFzeTz7vU2GGTgCa9XhyKwdRvnGJ7dwlPT+ED+xU3v2rPr7fYss6ewAXDLOl+ovNXWRa+8Ni7ccOOep0bsI6zVm/Ou+lnxic1wo33KKvqItWlDMMK/kGW04MGW506lNNQv/F8udOSKz6k8iPRBjI/JE1uZL116sCoZdFTn0oln4yt/hJl2J5+nf1Vn3GX1fEYmgq83rPZ0oh62QVSbuDQvyw3hAWLy7Ho9xK199HFxT5gF8UVBgrNL+t1RhJnh4cTT2cpUOeVSvSFXClYG78EayBWRiLx6ANcdPbX2Mpy0gIj8th3RV2zcxqsOlmgI26HmjjBgAtMbSI2RBuL2gqOHFYAG8ShrkhgUSDgr6Kq4KjSr+6tURdrRwzT/10B8jwykk6IP52RpOBVDefQJuQZ8nyGYZW5vQJfR9yPsX2bZGmfIZA6YMi+BeWF0cEbofj1WwTtXCxZqcRdSrO6/hnpz7nfkIisxMOsfru2l08QEZOeHN5BJT6dC7bxmQRd1eQTMlCZbDVwuOBPk8PRkAj2gVvKgDRPQJ/CoREsAMcA0qyKh4MtgywZmTS9HexYN58tIz+QM5K4BH97Hh+L/akWTc6H30O/jTHOOKMVYb2vHlkps02/ImvqE61h5l89NKdKcU2F5T+izG5oNo5rih3JnJgQnVD/GiAQCZoyoDuJMwyzZ4I0AR7VjVrQptOpp0da7GsobY0McLZ2q+umDHJpWhFGzX2KuItpOskv6/uaEB2MY3pQn8V1VsVROUWN0iYnzC/sC4eRduWc8q35BDyAMobf9NuK3vaMFoXpWVEpgmouGs34SE6s+6LaFzExmXPN1cqXremS59iL4HvmDZ2lJ3yta4OqbFSrJe8x8uqqix1Dpc/dZ/ZRVUpb7ifyxFX62JT7zJ2X1rZ7vzgx6SAfio1ypW6a7+Ka0rmFEs19HbrOCgU6ExEALMTQudz3NhpYN6Sfru+sZqzBGmWbJwUNB05NGaEVMnB8gjTZ9HA2BZC2AlZu65OBcCZTPchbLSDfnvHgv36dTmrGSZ6wnFn1L2NgWUFxNpot/YtZrjMwI1Z+GmgHc4b+RVBUO6F1HZfwYjbW+IZXRCPFB04xbz7BGeopzpip/0MbeDSMJLUvaghsMfcKeZcu2C+brfIsl+7yjVJy1/njltD3W1lFKkcQ0JXiS20v/Xw3/cfu/Avv/N9TSbjqglPGl7hxpkbV1+ONufiMqDb9zBUFOgVj5vpWcwfCC0DY6neagCvaa/8xgcRjzRzP9WHDreLpyf6k4XceMAs6WTXNUbQiCsCK6p8rFmciEiUqHqMyGgHpdMv1mmCNR6WQ3bSlDcBmOmhOM+wWM8YWXgWGfjxQEANN+r9aAMsEKneC+cbP1tKQ8kkwoBZwISJggVBT5gILTOgDFTYLCjasT9zUE3sDJri8rWAoiQLbhZITBb+5TXELtGFQyAbM2Nk9UJvrWl9do95wdvVXkX97ba9oOg31VQx1BiwKQemHajn0XverKu+l1QQ3I+3AQ69mpQWcXbcRjBAUZ3KLe05ZvLK0IDWsjxTEHiSgT4AIZf4NR27FxnOY4SSKjFwG72n7YONE1tjZ0e0/tN++BTvyAOrod9zM6zVVgnhqfu60zKbW3LWGqqf01p2fPod506nf9uApHNJvKWwq3u6RSPAtHZY7+8j0AwMr2XyRGNIrW6WKLdnYFVpHrhNY+WZ+PEaJhsRfzvTMneEc9/2Of3IdvWZeBRBSzAW+Dd+CizQvKSuO2DFMYTFQFUV2fhqSOitMPo4STcZllWI3DzWkt9NbCd5IbxZ9cBADaTh/8TsdYH+UJJA3vZh+71l3ojT35VJ5cAZKknOIoqoDgr3gwYeGAn3YISpZZtd+kbDxsOqmV/mBXbRUS1YY4DBGefnabIMbiSQimc9c1vnCQRq7g0U//qLUBFcNLN1bYvISHjBx+eYQ0y77fJfMeLVaHo0vysuBBMGV/12S8NVQKjQaA5QkKiiTlMGJCBlSN9EBtEygJr6i4BLlYGdvEFTckS4ZoiScVsyHiWgWtVXuTPBIbqhlvvppX60igZPYA2/fgQD9FrdlKm1i7p3kRDKao5Z1e/T0Ht250YgN37ZcG5+oie/Yv+ip7ITZ7VqnRMfcmsb0Cnboev4OMVVshxDgUmwtd2syVvl42dWRO53YgDT9MDCFPdSReI9+3r3aqwMD0dcMbzICUtttf9SUuNc9f970X3+d0XLXH/uWWiaW158vfxvfuKedr6GrKOfNW83hQ3voJWJbZgOFLuHMPE5jMEcyuNq8aqv3fkiS5WlEUJzCY2Xef3w6UNw3acUvcRiX1dct2o+nG81/+lzsYtE3UvQ+r1xsJH3tVhG1+ILL99qGH1X2n8gdKkIz/WyUDhRSUGbrCdFkA68nDr76zTxqxsEOFEWt7MLLH3j8C/ezfcQ2Zq1z0BcoxLBTyMsb7mV+ATSeBFXY4OgpEdNDMeVpi3MlQ/WscqMaSCL3M9jmDtrYgx4pCZSLTFvY6NOpKcxtagwUpQHmA1XthhsD29mcIvz+xdlJiadSC/C3xjbNVzOulm5QpdfRSI2HtdXfmzVRN3Nc6kC/jhNTd5WvrlJoFMaE+GVx6tyNRzA/3r1+/NiRWhs+1Q7e1gJHTO7u5dvRxWMBW8Nk/U4KjSVDOYtYpTz6Ue3tXmn5u9rvi3AsVSDIkRQXCx9Uw4n2fpHtVa4yFygnd3zWL5qrQjMUAMLqsdfo50oILLt0Cuoe3PGsV2dMTiTyIFvIVuP8Dnzevpl2wGgwWJ1Y/gzp7JrP0Dzbao5o5/mcthmJajDQzntyTE5ts63mW1tMHvYzU7EkWQiDEfel8cqIE34N34elf5KRS56wuq3xGN0h1VFFKNiLmpOLw9lQOiZ/l/l7r8a806w0c8WTiYVXTDNBjDaFUg0RaXYtFTcFUxA6n0yxM62wZQaa8e65PV6qi4mvGaLFpjTLs780BsJPQ9/pUn7ckIyFTkswK2MkJjOWTbH81ul1PDqlIhVak5ToACydisduMk6WxtTORUeWEOvRJVfVqSFgEN0DNNmJwof6Gw+6X9rOHGDV6oB9tC7xS3Hf9MV+m0rHa6andLnKa832U8N5KssNs8r7KfdJjPlrJFHuhoze9oZy1XEziVSUtX8pQQpSc/7IPVtEuApqORxxqu/idh5/z0Pcbm8D4p1LUh4yhnbfKcbN1DFknGN9RJkyazw5P8BdDjvEOP2hf/q6QlIpePbLoztI02m0fXvNNzSezcoXNM+PWxbECwzeOmeaVgctfUC4IN2hGl/XgEpQehels4/6h42VWDuXKWFESs0/pY+cXBUjWJLB7HLpmud38G2+yc3+QfPQjjJcqQ3dPRHmNjlqiVLwC0xtiqGLAi5JwmVH47X8oFKwJ5yIdvckmAlQ0Bk+NWgMXwqAqgFj1dKgV64/vIYr+sLgAPX/vPfjYN6Dz4eyI0O9gJfLCBjFQuqb6VcnQqvDfrOrgs39Y+FiDQAT0v7v2jV+fWDw1UHWRSgSKHKiG3sybWU1+xQKdD5gdrPDAwPvZAIsDHAqPa7Plca8ARgn2OG5ByBvjiTdpao7ZvJgosyi2Px0sbnJn0qvJN/746pIH/7lWuUABBJLlcPUioOxHM9rA8ArEEwBbe2tFN7f71IyHqTlrjH0LLBx4cfD9YiVh0Ye7wvBo3CSzLktl71KJWLH6x+glc89Z/VW9aONXol5gZC9fs8Xw9e89RUwfi1Qx8/Xqnv8xptCovjGMliyWto/6whvRyF4zW4uytt9Ja59TxtvCV++P2K4G0rcEuGJ506++XYbsiRibDt66c5ghiZLq4d4Xl0iEZLlFcNkmA8rEeRnCwFlSTKA+a+LBPYg8oEUQiPwKGlqTk4+U3dGwQxXANMMoXyXA2K4GAn+AojAV/lvV15ccRMajz+/pjE+BEIATNAvPdFpUv/bLL7r+ODIY3lrV74YWinHQlW8oI7Wa2p51Rs0WP71x0vD5iwNM/EK7kYAAvvlvDkY4nBL63WOr7DVt4MLl4zZcZBA95yYT0F2/nlHNPD6kMve3i4sbbmjI0QiXszRo4cBOGykUVr1pTH184Kr0EOUrp/oXKs0b0rcqIzo7Z6KD5WmoIUdk/1kRDbnaFumvHwamddM0Rxd1Vb4foEuhtc6tukOjMYSzNQweioFGBz6GRWaSFjXLIDPv883n5F6rvZV9FFOvGUuNyQ6uobFLs3KMNajTb3larkT6zn/F2eqC3sy2qxDjRv+G6tPGb2i5aK40/v/kE7ZmH/DQC6L1FfUMQVEsQd6HFsQwbDiW7BNJVbmNexyITQmVZlyqw1z4qA3JXl/AOdO2UooP6VuWW2JHiJUE/pDjU1tcvsuBO6Y3bR7YlNOVIwd7F0qGX3okht2YKqkmPuilTHqXkid5e6L03aTTm/uVduGQVM2V5lP2YllC1so2s5CEQPlos2dHoV0bzFiz6sVWkiC57x70cD1pH7LToB9Vh3Li9m5AG+ykhU8iz4jx/2ib6rw7r5URkQi7xslN+8zrqzXLvUoPxW+ZreSg4rl5l3f0vVgIfWcwLH8wL+8MSVV7/RxTDronKeoz7h8kgT7QDgn8xcrrvVWqLZXHnXboIKdMH+LC8t9ICtUL4nuUW7pE6DibBDqnn6GY7vye5dwq/5h7T2m6KNWOiN2bfjpfpDiyDHugc/tkPZ0CTCNU1BIgV22L8hq4mcvIbuSiBt7LxujYyDlap3Q98lokYXiW+M9khBV1fpAyo1xi0lnNs5Nlq3/+h+XlW1x6fslWTjsvmRjf9VgIheN2liRdK6k5QGznROkrz6dFwciA7f7e+KFxXJpuMUU6VCdTz/7rDA9hi+/ObPSRgHtE24eVn2mT1lbEtWcDxu9ta8iSe7ZCul7R0V6CWAp04dyyhLswR22T29L8f9ZAuq6p/5T7+nHApU0AzugpbuUvuu31B5MJ/SxuaI+4bBj6MThkk5AGZW94KrxOCDhF8qLinvsgpV6FGL2BDgFX3gIVuLU8NPc2igeWCJdzpSsxJtNNnf+LKRm6GdmlNMrzZwpVKrVShtVCHQ+DS3oXXp9AxuGb6MqkW1HB8W2H5YxiVPNHYw8u7G6u9u15Yf8tyaqhRU6F5eZUYN68Ujt4Wq6vWwapmr+uUwB7hwN2EYs+//B8PiPYehZqiInTMushsm0pbJiSnB79ryXNq3Vq+akDmiT5tFdE7+NEG2qDf1F0j2uC9J+kupmobvaBEZ2HIrf6odFu2BFV2luFnV44DghR1ZZ5z8/N0te9hUrm1syt5bdJV+sbXfkunPDWrXq6U1aP9x24myes5M5o7lmpIhPygzPexz5sqossyc5qy8bfRUADVR95cwb68rnNtneVut6w7T/dlUSuVvi0WRUHixfdepWyu2j5EXNK0IWOoF44uFhj1kuTDSNct1QyzHyIhGtoW6v72pbKVhz1hE1NI31AdsgyTRz5VPKNt3Bq6LyDHuZKAUsiWtXqocQ+wqrOhpEbaoz/Iiwji8K8FTFKt0f1wWpeiepMR62b/EnM/8Y+G+Kd3zQixSlqT3KWYc8EAoEYZ5EqG2CHj9GX6NZM+dmAl63TBKVZutmJxoVQNQYJk03t0Ywe4KM55USR6eKsVTIQsTRztMvrx9muNV6cWP4XS5MLkkRsm5eHr2k2dJXoWuU1ijtEGgait1jpCHInPrrrnziiiXYPyXA0Fz9hDbdFVHGwLRuKrmZMMAC5LMnGKsZJ4qNjtNXrmjEqeOfPfsA7sWdTJYa3ENnCFIE8ZuZjImmOVbulOrnjqvYm0GlENOaVL9R9a55zAXEjSZp/dmjaPWc41FKLCP2fGTpqboFes3K8aJ8eVlItMjn7tF7qkZJEiWZrE/YEegUghZSRJIm1mvqJ84JF/WRKKis/fFr1c23X9x14VhUBYGwNINK3RRvrYHddMeggPUdYBJYs3/oC+zziGwE2i+E3i3d1KmqrK7BGQoUVEJJaqLUmy8DnQqC+ErAbjAspsSnWELE991Vup5I1Wgd1xdGZagCJQzWNo4lDNQvEsbBtcYCFDomekxssRlkS1S19AqxXrxHds2KosoPU0E0ijrkRMEESYEG+d4Dr8qvkfDoPLgLliEulDE/Hm5U5Z7gGch6HQdo1JPlsLUMn1qIQuQYqvKpF5bO74evQ24W0u6XtR/57kmdngD4j7OJfgMr2+9zAm2mOLlUf7DFPWYhY7comksbSPeK6oNTrcvoSDchTPBTvy5ExAI054sk/tl+Xcva2bRhvEfpAppzr2kISzeQwOAif2TPuH2/rIm1mnyfe52p2NywUZI33nItD8odeaf7x+CIzIJ6qxVSYVbOXQh2NHS8lp6gj4u/sAUy+gjt5AT6wi3mx+iuqFlEjtuMGe1T2ECqJV/RQihG1hPj3UhrZX8lJgQ1+9U9J7wbakYsp/f7mLpH9fRvV/gQOeg7/Cjv2qSQwfdY0DN6YPdmnU2D1Dy1ft8x6sv5YlL0NnSm6BQwbL111kaaqb5JahHLr/vjyx5Kb6uIScxxqLm2xLQQKIUbrmN/A8eYx1XvyED0uqvb0R3RoiMCZc0mm7FWlbP3qczzeSgY+gnye8ynS3Wkz+GYV0sTZQGUkFoKXj4od0RJphmS2xIV37l9eMjeCv7axrriNbxnWYBHMqYcMg/I0/smi/P7ngzTc8+DIXEZgMpcCaHBnrysjI4ZQ91QJVWLDWZi6xP1BfdTta/l2ie1SIVMYmnMLJxzteRGA8C59DbkBKauN9+8ROQK5qZnHcyjb0dhKWroUy0mnT43lNJ5xs/nFR5DQ86WCGniXQBNUhyToLsMQfEajzCZ8AwNS2aTtEY9eguMxmcEZ4oDr3RmmzcXS3ggkFvQEuWrHwxMXi5bs6bUrT7zWtEBY/sZN+QWEweNhTM2/hZjHs2XmddxzAeyd6y5KkND+VY8t/wOXSlFjR3DOZqfKajPm8owbJRTTesfLiT0YkFTmOqWSGliEyV67LJx3ZNWEAPdzxvet8qAGDfk9is44Pp7ClziSKZB4VoeACNblzjEBaQwnirGDNFyH1stnHN3G27beFAr7pSoSEVs+xmH5VkuL91rNncZS2KuP/s41jhH9kkHAS7fC3WhAZa3ct68mWw5jw9Fad6c+AESooaZYIYigsaDnpGPyIefy7rz9iZ2ocxJzNsE1aJ1KkpcW9VeA2VuBvRRBSVqCT97625XK5sQszELgrJagNjcQ6vyCRbSJK/XM/evIdvuNur3laP+L6VTR8cgQKk0zowdGUW4IcNSGmSeHjhoZz+D00p+EY8QorJ1PwtaaaG/RBiDhzSj7Ut7aiUYKYgnGbcFeJrpTWH+/1l2a0V0gixs1gTFAf0TYzrJw3fhhVhrfHwy85yFEuskwi5FeYY9HwZ4kscqLUxNmrlfFr6273hDg9PTewXAdNPniDQCLp+mPBmgBFDwcvHNmZnhEXO5Mbm8L5wW1U4dOLB1daK9LtO/U6pfcoRqq124XK2lmmF2XpXkG6Kp4XP281ERiJ4MWsWc9S3F1ESMAHW1U90PGI1nizaDhA+Gsnske+YWcg+mMtrP8AD+NfM+tvgbhSwJk4doD2OmGxZisUrWis8/JHtvdZVvPs2o/qR2Q2yhkii2wjzcLzDnePsoDkQnf2HUp9hSmTDc3yLgb0CahqikPk4ImznfllG5XbbiqBp9uLcAM4EoiyB6Hl4pKNKuZbQIfUUxF1wEAt9wGp1CgCh5+5VmzLcTxUjw8c/IWYTEL0hJ/o0AOyz/p5QIccKrPZWn/ARk1sZ/PHpssGhpIGZ8QZfRZsBnXXlcxegPOmXU5P3OfY8fi8fVrxPnRq7ZTbEuTRelLUzaQ6PkRYhm6bqsv6x17eJcUSgUS43bhKBSaq2ruVL7EseP0e8vtfBbzQS3dQ5UT2IOpItEOxND2LdjAo1Fu5a9RcZUU3HD3fxoM2SU2y17BfxmWHAWxMPwNqetaA9dornbVqNIYTM8rdXcAHaZ1EpAWKbi6b7n9s1NxHpkUspMYgWjM6KRL5gC9AiYh7hkeqgil/jzP9SAAx9n2jpEX6Ud0cJQqL43va3CX9mgy1NjFX2+FaGWwv/fqPTKlfwwkCT5nTACpaBz+7vgm01HJV77lljiyQM1093+VG47m73APiYCEVSmBDzljRaZKTMIU2ZWMfPl2pMnrP3UdmiSyspE5vSk/AvuboYkNG6rtbcn3HJ9YhIw7+RE23hv/FbqC8ED0PxVnUpnSR8YTv6JnKd9BrLWNIO7LxLBG+6KfN+lXJTsJE2VjHmBuyKZaqZ9BWqPuQDokcNpCH9i0/kh1A9O070QU0K2dvNDOa53cJ03ferKNbH9+KyEHnEy6NGq4MbStAD3VcONuyzr1em8gRtJnRb1ff877d1ZzZzInZRESm1b8Pbl0E+srXPepSRGbOVYio5+pj0vXxi74VPpTOyx7BdKxNPdJqjHXigNcXd2I+vjvwke7+qSjvv/LtFQ39nlFjpiQvixZhpWiDJxy2duidmZC6+LBWw4VtOFuLRi0eW0MBeDYUctT1RsTz1BjGaTsVfsT9etT0qf/h17m9XMkc2yuWfG8CBrGTqH4fntSf7nM+TPKnoQFeabQSQR/4fzlb3Mimu+UA3JYObms271Rkd4KetH/1JQRSW9NcRc/X23rtoSwLypM9u1UnV1m94IV+ctzOjxH5n+mN/6MtQU1Ob7ufr0pUeJohL+qw+dkov0Gg4lds1vTf/dzWsgeAeG70L4dUaO6U4314JrVikxMvBkQiEINA354K4uCpKKTpEDOE8sZr36pxKcfzJUaVYNdYux5MRk20zyru16eaf5G8p1mGfR8MKSzDumGUtz3ycPXqSnEqB5K4MaN1VVT52o+0KZ+NC26iutJLQlT7s5ZWzVpSqR2mNAqokFRokE9WM2FGdnBfRNVX9f2X4xZoSmdr1WuzUNiRDzLVYNm9wwHY8YwSAXKV9E8Xu989SzYjEbGZYjUXzmg2ueOT2tP4f35FBvmcGeY9Zzux8fgyQm8RadfdNCb1dUh+IiTcIMp7w9oER5JCxJnNcITgEs2oaxCXeZA0nNePtFjY8RpzaQvXjgbqFD1EMfLaH4HJksnc+V0trMslkNOt15pX6xzMqdyxfYjKiOPVmiB8PinmPPLFR4ZaFxVaJr5+DdKk/r5lRx9FyxRRzYB6yAKoTiLwDYki+Jqk5T5H9VHmY67PWJlmKN/D/VxKunSNJ0AyTZtlVmdYeGZEgihRqkJLYya1EMzC+Lrc9XF2lY+/7NGk4b7rbOeA0csHI2/Zy6X3l7PzLCF9q9zfNDfnuT7tp11TjlmRt8hg7cgRy5U2aV6Svjou97BpbqMxeYMGC7dxdiY0Pz1Q+RUdj0K3rGqlxUn38tDxzpH3v4Xd4Co86+NtXRrsJjkT/COJZafnyCJsRlE/McrkSdljlxV5MyUixZK5a9E7h5PGBPd+9BmmJ6Nny2Xdw6cafkWt9PF/dW1mdN8dLMpWljzGtKyzAFwD0snvqJ8szSNNosYW0i0x2IGqb0UkMj+NssY+EMZqKsGspaHjZSY0e9xaI6uikRH2WMCQn9msJlSRe9Fhvdcg82LuoQ9Fo7l81QsCtP0ymI0yQWXMF3SaJW7MIoaO/2YHq0eyXPZnC6+3hsCX3opRpvn9FuG3INsZU3miXTp/8cuHueH68NmxPheAOqbaEdpwa9MW/QkrP0aYPxcROw5CASStbK3E+arydWIYmZIrcSsD2JJBUKDdGXNITC+EtTuivqkcLKJlra25mDkSek5oalWY4O4NBe2xa3BWW+BQLM5n7///d94pYshcJ4JyJzo2/frmSxx/2xH6PfvX17Lgjna+jIyFRKWTtmZuqW74WO12qnS1aSuBy8Qu8r0fZqxdwBHXFNrldMryKbG2X1L53Xtrvfu1lmmf2M9Hh3okn18jpr65FJ6+hxLoaHx7IInGRMV2lt7vy4s10eAMmX9cLH+10NZs/iuCmCQuHqe2yy1ru3wR1g7oyxymrWfqPeht7przvEgTt+rTexxS16QcHv2NdYwSeszg50Yp+N2ByDV0/VLpjLHyQA9AZHUzBSyeQTEWGhESPlUbje/gj9UModT8l82lBbqpsMhuP5JWBDEilj/5rFwCIX1s29ZEQxyn94cF9zKjXFYWM8m3Yf+shQCx/b7GObcWB7RDiGU2h2EJLskGkg+/rOVwPZCafzd/pwa+7g5lISfBj2vRpPmjIvbtBAkjZN4bIAzVLo1atCfKkQmFwVVW6hpAtew2yvc93CBbQ9EFt7rJcepUEDrgU/svEMekpfEFI2AgSt/lNBg+W/4wm/jPqPoLX8b5io/3dutpb7fuHhnkdLDyv3KHVoS7k32QMB+uEULLkHBg/OFudIgQz/4rqUx/nIEYdRuNsvsJosv6e/Wov0eZIoTlro/Yz2eQqIi/u6yae1s+b2ZSt1zmitQ748xi/vLHMJd3movyPxatfYSefwwKbor7Wfe/HSjhL+tPrJLNm/8iXupYPOYAVTIls7tN39X35gGyE+7F363I4TKs7adF04Spl1G9e3D811T8ENidUO1aFIPoiKCGjvTGtxN2fiErhSMhb2LMqqkboYWl3GfKCQJKxDWqWs5G0Nttbu9K3D8nGiFwNYAaeBCZxMclP5j99LYh+fzO2Znv6XEtMlSL6JhS+6zswad40+D0ebOcIofPJ27XYP86BObk52WA1OCtCAYHC70scOwxnRKwPJeyiku3UDXB+cIHMEjLtRyPqzcAuHDt2oM7mZccVckvbNn5zoJBIZ0e+1p4o7UdhTxZl6wQ6JW2psCYo2bpggBjiFRFTkG3216bnjlKj2UIpFAgklgbpCV/D+r9itFhSOWasadxeFty7A7R3R4rTliSGhnL2nLxResm1kU1p+aj24KlFnZP3iqI7RMHTDxhyxXYafBQWigcNxFsEt7i5Qp0pCcJbqMQng2KvgxGF0/2yJL/qD8XnycNf5ccZ7fsfR+FRPSNMFjKY29wTX+7QdCXWFTqL/o3dZuXzD9gpBmFZyz+x3RAhoNEtrlhai8cErDeEvvkANQNXGTx6c+wf9GZS+SvzsAVpCMVuHP2x7+UrVivyjrRtxpDlQdq1vAFk2x0NKsIK6uIP3qf3MDtLJ5yS1t5RIYDcGRWmNr6gpKmVLwaPYglkIOH+pl3tWu6KrKWKn0AxwTnYvQdkl5YI73XUdaIcod8yDvGx9oirRNMt5fHVWOgcm4CpQO0zxGFHumfPzZyp9T77NVzsTeFS/Ibi62PZGglsMpfmtb+kNbJWIvir6GrCntMBLBgGVhEuH4lV2tty8xozZq05ZNJskR2QrhDOVJEvAVlrRGL4OuEYmEUZ1Uvalai5HTpus25bKNca0yghyZRkTdnYWnxl2pfz6BcisMk366kNbzCnPGHzI3wFlR3liEBine/gp2rsDjr2QLhVJe2zaMaem/KBDwAaXZYVzWuh0EY3DaNHGybuRUsOmAUdwxsMVNz+9uCinZLHGV4RePbcNCAqgxNkm9WbwVgO78c2eB7dpz58SXBu0h5FHF871mjYk3gWwJJK4dVA9B2/ndTg3v9QeveydW54lPmA8FQ6eLvfLJMdNdNOXtkIpR6pqU65R4+bGVWT8YI7oU7YiuKcfM7eZHcm9hX1N17GzVAt0aD/0FzefsQbtXZvh0PeE8pdpokVI5RWJn3rFn/3lfBWnLZ/BGRTVdGSGp7/bkSz9OstEzweaG5KpFtBqN2zB3QREADbZpxct/IaPArfUwSunfVpVNJ9erud4T7XdvJ2fZsX82FEeSPgbFBALjcLqVTsiSXv3KZHcMYUEjVrAsPgaLvXYF8UH4ZQSQPOImzLzhJapYgMrcbp681bwmwuBc17GPp8fHq8EAlZbxbWl78UtHxg1zna+gKG08V3omq6Wl9pjpvsi/I0iZoj5xFyl36yv45w8jNuLY3kerZgjtsVRap82ZHJ/IwGnyJGzgt4USu3LNGwSGvJPFgbu38YoeQ6HFu9O9c19JG2ODFuaBC3LfPOT1Igq/REdlFPxilz30ZyN/uiHiUAS/wvLQArd4KQIqGllJ5ptgp8ncSSdtBJzJ0IDmn+BxuCpu0GpuWTzKfbwLgaIKgn5X3m2jiN6XxcZ0Ktf7g/P8fR7vRPqX2GsXz0r5IqS04zPnidQ9Ny6dw1H1Eru1mwui7r9cqhx+1rIdh9EKJ1EQxkYR48m40Pp2LHDIRGh8pOvPZLHo3o0hYKKdiijJDsDvHsGiBsyGhQUIECPaceY/HXf7gdwY9JFwxTsChoJaGgACXPkzz4NE4HWTLZe66Jm79q7d74NVFfen7b/B1LZDcwvX7lJHqrEpsRNJ0J/Lp602CxQmi3o+kjKain9/iVQf/m9vvREcDLbyF7tXneNYEvWq4FL6ANQYT7Ovu+rpWrPqGfq+Cn9S1P809m8Eu5kR0ZZR8wkkxWqlRX4WGCIDDclktKAY7JLkdpRFk+5G8GPgSJC1aEbQpUnq+i2XhAu62Ai8IY7ykd/ogbT/4DIbGXUkq1PXmyJgzqZURmhPuw0NWUbFvgaPVs3JHq9pwWDtH8M4Wm/5UbwXCpC9A4UJ8edxkGWDAVrb94CuJDnTUZjvMDdEL6EhacCFzN8gNOsJXbxoj4h0hy0r13YwoCln9j2iSchCfAe7306eGmJFy/qeGNSsV4BV6WLSav2hrbf4UP675um33rk819gfmP+oppWpu9GdmaPXTVPbhT7rEOC8j/F3dK3ujesOaGfJ12mL2d9oeeC1oNpBIHeVUnIg6muT5J0Ftrwvq3MkgbCP83Va4zn5xcCOtLI1dBb+dw+VFNpw/ShEKAEmJucHEU8N/caRS3vTgnYkHc7521ECI2vddbH5FvFHerKxdMGesQrOarJZ19QGk8kH97LVVlOlIFbuyNqraLc+w9JJvXD0zOWXGU0boXP1xGFKR1SdmN46y/0VtJDxD/dS/WHnYmbZ3sfR7n6WPmSsrYiYhes4yjjNs4LvMqbvXy6qfbyCVLwctFJnMngJsAtTtWx3M/5Kqc/joYyQnBFWVAL0RdbAKTdLv+ghXI//WdPowFokr8vJWzkr/1ST7gTRbwNumYdIE49ZCb+dV9xYsA/DFjCsILcE2YEOtjMSi+sC5N9Pyh1iza+i6PPUJgi+LNMftdpVi3fZzHt6FlCHGeCBgkUmBzcGBT8DP7spH0XSKRLMqA0Bem1lnIpCKnbocgjfHRpCOtAQKMdhkrmUhhbxRnEaw14ppPJD9hjAgNFXvHg7A7ySTLfuLBkVm+VcVDNH4e5a1phMtvXSIIvjhs9KLhjW2xXJWnWG7gfo7djWACCY4gPwaNoUMZxt9PpNokSGWP8TfI/vgt9H2lTaIdSbdDoXR750BU2O/Son5aN2j8nr6zyBINCfWfF2U2rbfTux57r7MtDaix2tJzP1LGvoD6J+qcPl0fwwBZ/kit6WWw/R+jcpip7grESLuxtN+RBx1SqXjFE5SKlO1KOVXLwoBCEImJo+KYObHF3JJKx1C9neb5Sv21acIclFIswQs4Vz50jNP9iwejoXHEwbu0ICe5OXU2JPL5x64jOTpfU9XvUiIbNaMxA/vwxP7vbfot0+fLA6sI2zZzY2sFUnbhrp47VzIYPHtKZGQ/Sh/tcTQgA5XzAdCAQ0zVPPDQ+IEoO532+3hks/1EdclEqza/2m0FcFSf1KXkFetQnhh0TS2TYrgZEjfZXZGm8QGd6dScxXBV9u15xwefPSTwGPmVe1mgpyFEqHrn0FGx6rX9CgGw/C2fc+bIB1PeKi8oDzUfW7lqbGhqCvjBgErMH5X773QfqkzmjPCE6BJWIziuSqXjboyIicKpbhVfFffePFSLiWXzKkpGqPvcvaWUrVbZyrx9Xl+nRV3M2CpRn7SqdRH3seoF5bivhiIV3VdOL1onrzWapFA9HvwMlIam7iExbI/6DItFoMplmbWj/0nxGcWJ9KpVIiAipI3qctLEfblbLtICZXfZ4QSCYMY2uoqVtAbepH2uxCgnXglYSEHw9CMRAuz2FwU9CB7B6xlC8ZPPAyTVWcmwkAL2h0VrVhDiQu4O0OF7Pj5hxcCg6QTZKNVBZMgkJw6hWHpm1DidHlInOzHBl5uGdrVy2qmhqkxYfHQ6i0nChMWGEjsp3xcqTU7lBAwgkE9N8vUjB9UUjN9GH1dLgtNx8/tBwst4cKurKxAqbB2DlRF1a85SMQi2SgFw2yxNpVw94zIhHjQT6kPr+7w5HR5IQoNeufo1ZukqpvlQ3TXFewui6I4Iwgafk2MO1cYe+BBrz18vqYoswmktWb3TxWw2KGdWWbREOXudrIBdrtLotZMtw2t2ff/+vXgxK9N1k9jOix92VRhoTj0bPVObPutuXnTlvk1xT4wI45wMZ0XFrEOoigQLPg3hMXzqv+BxQnIpMaMClMCHc3mnLjA7UF3vo6DgbtTq5nvN6RQ0EIBiuT3n6q4sv0JjgbA0sKfO0R76G8ueNxXHO8lG2FJgbUhnzDmCBsFwVC0r5PluLGwCUpqFpcCbVgEChrPGtGq6xDa6pACSviQU6wRBROLKioEJ0OkBgez68p4UWJ/th596ddTkH5+n+9zkQ8J4noAEIqUweEvlj0LjKxJFIaJH0ZM2e8ofr4VlHj2aZqQEEtqvBEtbfL58JTuYCPfD4U2a7MFSrO1dKJsMgxkmcCzK4tPL6AuwzMZEA22vDiXJgyNR9spJBzLau/Jm+qxOBg9T862QIhLyUQB0MXHEtEJ45KNZC7KwsdhHRo60SQUxYwnGqSFupIclm5IUtdHz475/ZBIluuVDOpFIDXrBiwuzV+MNHT59mhQA9K6WMpOVo/rSwV/BEO0tm3ngxgsheFwtVq12SM6BAavxLOHtW2y4gIms1AoEPHRGw0f5opUfCvrVwQ+m5krMq+TYEBmmq01Mr0L+4dTQ0OTXqZGqQKwyGnUtrudJOcelCpRkCBZRN8IgTDisrP3sHxjITTYObTkp/VvF1EPw5MNEkI2RWnC/VLCmRzw1BazCUxoJeG4yHgflGHJTfm80FwNzcbrECi/f7upQ8JaIRnEqtwJz3jHZxACScm+oen8nor2QJQOR3d/W4P50E5VLA/RhzkApEMatGEy2gX/FFMX39emPjkRbGnVqMGWjQ9FvcER4HlMbPJMP9nSYFAERXeBgmZmXFJentIH4pCX6OEoNYTLd0y5vd0oWWjkoGS90vLyiXRlsMmEtZPTvKH8rYlWL/+peDfiRWZLhdmqI42tx81PcaAoFiStMWKTp2IP/6oxgzUoZSl1G0jwR9y7rkf0/tDNYJawbFVVDEwYt9s59TVpWv/QzMf3h/cwBRynJvr7GfMx6j/3rnkDKJRhCkjNL6J9avo9jdbk4/8B7XeyJd9TEWQisfxNW1pQ3jsDsqqwqK7dFlT13C3dYtztJOfrW/+DL1zJzyo3UlbMUoWr6tu6OdYn+hOU2ZaF1aHw4zJymiFDmgI4c+zCrXAzxjjDvaHNSafWw+4qf7Jfspt1ZgEGxlWRfuLjUq0A/ZD6VEfuotDIn2B2Q1SuHGWvUhUQO1udOmp15mAVCAoy9mar4LgVTKWJESogRYJihmIQiIw51eE/KYZy9qPAmzL9rH66WDUydK1pM14VZeCf6V+t+fv55exBltvHugjwYyvqw7oqUNMGk3BCQB4A8HFibiqbX+07WOjY2rj1hFT1PoH8B4xjUOHsexvdmKdCKOFWiqEYh2569fQ9oWg+VTlZu9fkEkujyGQAvRAbzlHmaKXDtTzGGMKZqmNkPR0V+d3t/OigxnMCg0aS1rwhM8BQojNXSLXENDo6sZaPU+DDuPIWC2CJCpqAsgM6rzLdcABTaVaHQPiURdG+lTsGVOh6jq6w2NfYN9jY2LqOYird7OzxMjUW6Tt7IWumBGOp/DGRAEPhWhNzkkbFbazGV+zMvHzIgWShBh+iWTiXF+1tyjs8u0r6deD2yHQ7H0swMNZisvDq4Luf7htGVCYbvoEzztuie0IFwqAEbzmUPbO62NfByEYw23htqAmE66f/ZmviHg//lMMml+gTxbDcXYxe1w64QIJprRlUG+a27ubrqQcr7ti6f97Okbbia7Zhd/dhxuam6ULc3oMh/cNSgh7NHyovTV3cRyQ36H5IpEBLKXzSJgXFSfJ2oJvsxQYJIwaRrcT82a551G7GtyZu11yZn3otqpalwnrx4zgyFCuklFbN9RP6bzbTEyPFS/p/MSUuekpXzAWH3f9ecL73aFq2bpKrc/X4hLfElZ9d7E+6OShXu9JW1gKhA13ES7pNFgjIdOgZ85JCOTY72HpAzYFKAFGHrhS4vKzxeEdLHYgB8LZIK6a9iB3TfzB+xbgzOoA3qiGdyQLJ6mwb1iPPcafFM8l37Yui1WRYlsD8ykqgLtaUFAT1u22C41PsRwUfWlpeJliz6W4VLHd+fYqkTnLtuL0N7kDVhOI7EnTqKkympqAaKR0L40F9UhBpmxdEtfveKTy2alUoDAIUDmo7xDEpRKLagSamHJHkgq9s0M4/uNgZ1O7stwtEB3l1a0Wzu73Q3d6uKehHPsccLl0UiKpGyBttqcQbs/1P55rQkiumr9IYDkhNY8f9xVtD/daL3lwOV/pmvhpzGxpm9h3rv429Zl6f04U4CcMffQneSLhLYEjCHT87riOZNohdhJDRiH1kKO6woHETlLq29fKABbAWYZMLe4iG8h/AuFkvkzMR2eQ7e+wTtYDpZJaCSlyYDnprlAhMVAMFdsDR/dEV2GJilzNvDgqDR38aRZkDNjLvzjTQJnC168FMgx0sfpuU+zcXMjTXPxgjNaTkxNafZ98PDGDaE5jX9Vgn6H6LN4fnsWriQ2ugicqANG1cmsUa9Fae4yV3aGWRRGpgxB2+eeVhBsqAsUuAbt1uQEVkRYZXLiKLTAsFq6ZZ6S682wkBYzKdvKXHQAGor5NVxe4SJy8hnQqOdzswrcd+4dUOQ1jqpmN6FO30skZrPIXnF7sCJMjZ3cXa+IGXpgQPiVRFFol8wE5jZmsp0WlRx+aKtHqTXGdVUEN0fk8O3ruMQVfvcKwbjj9S6IIzPxUBMLjvpUVsohvB9uf6yv79qYBVBmNqDViT5s2zYJOUDd0pb3ppkej6UC4DXPmjYy8vl0QDcKnuFMjs4yCR321xcgdPz17SfUr8BiSMrk79S8AYh3EsvmV2by8bfJijc9zNv8Lj1ieA0lBWQ/Dbp/we6NYbPKyyCSOeBl/3CQp4u9SI/SqQxLyOX3XPCQxduP+52EnoSMJKCwmOObQyWWMKiWHMHmDcnGygXmgwGd3W50dqO8OoC1Tchg4bORQoSN22FzcJMmCykCIi0ScWODo6oJm5NAqUnix+jzYmvc2RS5nanMBTNlUJwWRjjdAYlabVVMKNkRKHFQMDW/GW4ZJ7ylwUP4x8JWibWKacC1qpvaEpOhjmqV0PDJvwRYP3HpZ14605vAW1tQsFY4qZwZsguhnzakANo9ScmJKAi1YwbNR5aaFdtAqRUXveBMYiFst2wF3MY436xNdtr5+p12VmL1cd9+FdzSEi+k2s0lx0lpH4iFwLbSgs+h1qNU8509+iFCs4MEUAZTBjqmbZ11rHaL0AQFUASfyHPPz6XvO6e/F6bPWgR8cywWR4UPyzrgxnBI9oqvZ9npVhV1gKMXWghSPmbmzECd4gBlFOKLrkBGwzw2482y4C4dBZO6TIEN1hAvgSmTWJQLBDMiTE4+lF6CbQvUFJh3J9bB5RWVqT7b+tQbXONDPOvxhUP9S2Jgnigu9u511sHWsJqBpdZUnhgnyCCCb+/VBvNNR/SYex14uCQKdgasG/o57wqrfOieRrCNyXjKyoBhEEBRSdvWp/Mn7X89z3p8Uflv2PxeQuxm0/+iLLNaZvpX+gE05qkjnQgHNJPOeYFJrAeVmDkj2/Q1DA5a2q0ORQyn2ebAMh0H4rdwkyfG2xZCh6R+u6X2VbhqfRUa26MQV3dF/WDuCQ0RbfcnP+gWIaxAIACAg0MgMkPZHvnRAHBjrcQIbBPdu0/Fodgfeyi+QzIOyeBrQ4mD8dFrgfYnjFWYIq4W6UM/CL8MVPJRXpDuDNqduKRrS/HmbcUzzult7OokutudFoEAjh/NrrC0XeA8aSgAUSZ3bGRtWd0xnyAPc7voM+yVaE8BSqal//E6nE6JSaKVN07B2CSpehbauLr0CyMjHARvdDR6z4q5cOPk6amanDCPpGv+eOUMyKxVqre2GM/DnEZ+Oih8tkK5jvyUy27p6W3GCWBOCy2rlY9kzf5snZ05oy8ZXFTMJjGJzMIDvhcBOZtWPHZuHwYDtzp9O0Ir14cOZN5TjlxIoBHaCAzJbDUU7SBqi6imZmVfiIzW6eZOzIFhxDi/gnx8Z/WAwHjM1FdGjGnwyCURQ89GASPt9k1rp4wxl+j0sREGnndKJSKDEVzTvjfF28MXpFINGBnr3Da9O5R7PLFVS5E5YNw7JOrRvrU84bt7YvFhKk13ZtSxurOoT1/uZ6gyww8O+UUXBmqJXVYRFgHk1zTyWJUMKo/pZ+9TMIxL97yIY/7rjkGkgVQa7VD53Y+4YH6PZT+hFkb6W766brpqWMxu2LHbVZSVNVogGxq8IqCSDnCIc3OZtNY0MdhAt4TPAQaU1hBHacA8StvEPHumyXrT5QGfDgveok3WfaAMYZvPIUJlOuHcjW+5YC2TQ1zYLnlrrBr+JAP27IJleMezgE7wSJUBHtLokCiBy8hfjKO9nQEhy0tGs6vXCG90dlfV2Hct5cRztEwA0j6JzF05YvOwCYhKbhKZKXNunHRf8vIZ618PeEVLrZRElAYgpbxCCZkkZ1mYQb9WPh9nJJUlTNAwTCPu43sbJs6dmJZGdA9k61zApVCUEz2c0hthNOLKDY8fDzginDzcnYqLc/xMXl5O39zyRWOcx3a5rO1ILV8+6Zfyp/HWi9ja+AI7fCuHY6nIIYupBL+2v97qCzi+H08v0i7op4TB90puxji8Jqgs7BGBliXrc/N0kF02KAtrB5ZINvEMiUZxIyjbiVuWeZeMj6Z7+8EwKJNe4MoL1r/BYtb469ejrMWsDgODkoDkFxQA3NoLnZ39tJEmZobOekNxSYnPEhAV3TzOnCSSqygoaFzSRUTpQ9H0HwEdFa3dHNzz6WNf6Hj2L8GDRYIuOuQc/fxpXvjGK4rOn54xfxjXpsnz0oJKaTRAYGyHeBBO70wk5pCYNsPSVJeqxRIunZY/0OqP5A80B10MjVikMWh8fWc4PDHIpDwL7kBLAo2aLxbH9aIvC+Ol0TXtcAHIf9ecym/r6JF0kq5whxBhIGrppXTgYkWREpwLRal59rcm0KY0YNivEYm9tSTSTIcEnfkiq4V/reeDSnZpvgzBbO4AaqNaJT0nKb6WOJYYZeaIFMjhYDj8VMrhx+wqj03nOPWbuy6sgIe7jdZ3uH4PyeL1XChIlHSkdgtyqyJqRG+9RxBHDeaYaQP+soRsA0hljIYlaWEmObNkibbPHGQ+8/wOLWkNt2xNEu6+3LDZFqFUQe+UJLacVkhHfOez7AqIFyTHDwsL6vk6HccSMVIMFXNc8FogFCSRUGrX24e9j13Zi8Zn2Dhg57CGIBb7et+S8qTLVtRYjxkVo92VeLpydFgvoEHRcNcytA8IXlsxflJ77wjrmqyXGbK8yYeiOmsOQxFVEic1bpiQHCWhJ9dDWAJQMDZHg9uukftsW+k8lhtOg3NjT0ZlUfrKLZJnaSTzGFJO6BOy/W8ZN9JXepoNX3S6uSI/6no8UdXrbCa1kUIsNeylIvp9ElzZEdtpXpN8fcPwsaJSn5y92BnotGwPO38kiYzRu/knZHh34fJBKsbNujEPX3fwZiRvcpd3plalFSQKyOlUHdtIBmn58wP68tNMFtviFvzkbFYHY1ygp7y+N08L7IqaDrf0xblShkQp113u+LyMQu7RAdPktj0zlejpcUbJTU3J6MiThkLK/Ge3ydjbCq1PTVv61LBgEhD0rVdbcELOiXQMu98Cacpc9vFg3nsZWOrR8S8p08apY0S7Uqf/UHZ67ot4n+6mNDlIE4Zfn8HZh4Uj6boxovkm0+tQwi/W1dahp9Umrn9VnKh1jqjgKZbvbDn20K32OiHlfcmRvD1b8hIqspk7p62yAYR1e7C0sQPrLhqklnARveIi6iHq4gYs/rx8HHYOqw9uThmbSwwT7TYzdQBkPoP2NoyXBLvPeS9IFqJ93BMekvHRkYMCe3FMgR2c8SSS8g0K55zgLcTE9GGhj1uO/vlzdAvdblOMbjKOxJ/gQKF/ku4a0beKjQ+/Dg+PjHhITnDBoonH47XeEB7SMvHQ4wgmBOHpCzMDCafxhPORzcDGZoz3eOMPKef6DBEBV1AnaII3ZvI+kdoglgJzIag7FfxwgdUmUf2xt85jDk4fBD5PZ2RI90XeMXUJEHuEzF7L2q/8VuR98ejjMttA50rKSAWVU+EWHvYUPiF+9RabTOleZBsQCZjmcsDSNS/nHZBHeU4PV/4ILfVgBaSxG+LkyZpMSgOeiz2p1ChSpVYyw8iP7E07vjqLLc/sQQgwPBnIpAlMwwcxTDxGKNJK7q30FEwOhu5DbKhZ9/bDTo/8A1837QA6KpVcOM2P3ncIoOoLDWQ1J0yy38/lpu71SPdzNU0gnjJJRI4lnrZXUFxweXKifoWD0o3pKXFOMAfFRfd8KYko9UAB/NYoIjuRSkdakCGjo5dVpdssV0yKI0XXrNJFtq2EhxwYmU81Lkv6wZGxkab5mVNsc28CjMV6iWSSEzfj6dOzOyUFbjyPDzX/Ko8UD/fZaXW4jrY/b4yTbUmWlyJtkPcuHecUWEzz3vfGRqWRtbWRjhly4sf1cwzqlgu9n/m0jg04syGiyMt7TpNjxnnZl6PtBIr5TmaA5zLj/SH8bhsiNWhVxEb4hkon0GSEQgDEMuXyc3Y1Ed4J1tfli/DKQ6FyEz5+GC6BrBy13KQQiWtnx89MaW5O8WSbkI/zvXUnrfLS42ZdoR7xtUL7cxRMt7dByQE1U4do1Uujduacdm4tyl9lvDkQZfVWByJtk68HiUISOu9HA86rvnjWY/VaWAquvslvGhvp2nn+5fkA8sJIEEtnVJwcfmNOB8K4F+3iAIdPWks63GLcQQeAJTlDCV2dw2/yFcqXF5i5yNV32zGN3SkbKKN0uJhesj+xgXWAxqaYAy0UQQGduoo5rxmLowCn6TlO1tmEHUyt9sG9I9pBMll12unh4b01x8YvXx4fPWYScWwUysdq9sbl3oeIvxG+y6E/dfb9QXKpWpmaFs0C0V3TQetYIBRf1XbvTQ+8jzFWHJa/JhlQXO/qHcU2WKOTMuvrnW035KWxW2zSjye7HkGpyVE2UrsLUwvtUX3r65StU4fsZX+V7O9THFxELXdMclRDXbnTjm9ybHm93YJYpc3bSl5mb+6jDC2K6Qvwy7CHlSiVWDPTUj5c1iPqlgk54haJVlDppZhR1ZDbkR4sHmH5ZaTP5KZYmyO/KoXf52dW7FRucfmPzUdMlyiYwlop02+ETfPBaY7lISNa0RgEykgFLoPQJPGJyYBX+vW0oK9csHCpuBXQKsi29Y0LFy8PlJUuZ77SeSA5k+9MMpeBGnCnKNEjWi0paY7BuPO13WrrtNJq1K0ZPR8avDBik/PyG2BuozDgYV2cazKTSSm6WO1F2zhmlm5Esc63uyU4kkNTLt5v2hWLxJsY9k5n3yd/ZN1wrS2d2UqTPWG6ir1ZPGzc7MegDKNPGllkYslIbF9MAUMKBl4bXcfK0h3Rbw6q8cfgjz6rybnYqKj8TmuxWQmlkdS1PYGa1MPj9RdmhedOpazsA0jOXpW5A5/OGZ9m46g8lpcfiSh84kXT5ChTTLXXXPmfij6cdcI0D3ZkTpfpvvV+tEhO8gCrW7FuRMTMymVoL9qIKDKpMaJoZV/KlFFuVj2RQ+T28JKo+Uj/HBt/RY3vZxtpfqclqkKl4zE1/sbgY3rFlQt2DYE+YetZgPElsWW+JmMhoIkVcElCDcs40LNdfkEtbKE2NMMxpZiSLxWwW1wSXFoIDEn1ClQ00BxXufnwYWE4J2z6iHhSWazfTpJl+wDGajM63O0tBjpHkNs2F+UZdtPhYWQkJGCDTSzclEP09r4EevAztyFxhjGTmPeP4F3Ti9kX324jeI61Qg6NyufGwGxduL5Lw163D3QOlfS51sITX0BZ0PwXdeycZ1P6tWuu513QAk/GpJcmdjr1mB9Og9th+kwZ2BFld8mLnvUtaFl9Oh6owXhpIE+5BSCVinh8K16Lw7GyQ3EBJYR/A+a4XXtbWxse2HEimgnceEBMB9Z1cNWUHdXDarvqgwsL3NYtAd3oo1s9yX+LwPWT2KayXAzxZYmLanFb/iXvHLNeV6WHlBoZJ+JIatN5wmPq9CVKOIoYSW14lcLlPehDL/pdLibBdzTNRN7DLMaYF84Tyhwz+bnqlCK2epYUn4NgxVWpkBbqwQ18TTofM1FjIZNfx6Pl8VcoARhXaoeQ0/lx69ZT8iNmKEc0R96XST60p9TgheRu1dqERZIGDvzZqf/3jfJehJuSgOaXy5eL2jxEJD5u8UhHW8cWTYknyUPUJpLHuCdv+HJVbQgFgByKxhH7zU7Lz92+f3dKAT+JEuU2l1xBPIiPTsG29w5aSzUSokTBKZj8he8dSGk9F4Jp2XFsUwXO1TqcQhoytiZ5WZHtXhvZBhdi2K51feYQWStsf2P8vlrbbUzH1SU5pBXjpnPBxsyqWe9P8jHp37pZRDIOTLYKv/2/yqIl+KL1YxUrN50HVpRfLnJzSXENcBvXqfC55bogPhAEyWJH7E56lcW9MrJxlliT/UT5Sa7WYYr2ltonSP8QVoNUoq3snLyZnx+VRcl0j3z62ke1M5YoDW9PdHJKbA+XEnMCPOU71fLcMylZUfnogWBnd4c4BSJvvSbv3zc+F+5j0a2CiF6i9UAmC+bRdOpUkwcSfWe7HLEkgn2I7LAwaLpovRMpiEdU+gG+AMdzlON5NHLsxwANIBQAf2/qDU3ySDsLzqZ36n58qiAhKOvv8vfP+Qv2htngthn3YWTYByIJuZEL2y1zUWcj4iwxTbAWnHyvrS+pdc1o9lKUsdMtxy5rJEf4SyzdhTFhFT1hq/yMWVDHQcYscZQlIRHW/wpPTgUVenZONtdepcYDPvDuxqxB6XbcSodG8NO9zSmwyQovnZmK3qpszJKpQjNHTRmcrydbGJAaLG5cFr7njFwda97Row1tMQWlaG20b7U+IdMa9Lvw1WpNMEMgPKbp5//zB+WftYC5345cvby7u5G+YEt/fAdfeE70ERFgx4CcuJ5wVx0dSgzoDGpITPZND6k8lOpflJKJPQf5f5+qkEMFFKiKBk1AB1fehc4l6om3Frj9x4aC9OGTZhSXf6OOJeSnTW7YcOahC1oA1DP9QD4n9k288GQN/lm6LEIEVLOXdbHCSvU6+QMbg+bYbz6vtWJeHdW54ciRkt6LR3iOul9X62DPBEgMBI+SIj20z5+j/gF6Jj3eBQgcQP4l04xI2fPYcWmTeBewREi6WHjPauqEr0sBIBZ8QAAEUVQWsMZQqOQrBxjjOnUe7rJj3X3Qnr1UspvLC6HwhUI1jNqoygI4MYLWaMipqqqcp2G3mUZ19lhMY1uhbk7XqHh0Tt9Em1jYxSoRTjgEAv3wxtzhw3M3HgIWiRV8+PYYhs0yDX+QBVJ7Pn03OPjYLsfhuUeOnQTVeRHVgrCfT2fBI/hRDpaRmnHzJ6BnEgrPZpKquBLCBxhL+FmItGCyOY9o8zLqwoTJNtr9JH2THq4OHiCXgyjDVD+777IYfUGtYPcPNxvUBTiU6IAYTBlIRlISA4lHigoLRf1GSghYdyFTw0vScoYdjgAE3kBFS2H63DLL9ie+6bHKjJQldlvYn1s3voIfU65Gs2q8AehqhhSHWzXoaKFNBnQsobnhXv+h0mkj2uFDb6+0znHCp/tap2Xo5vOavXSsv2XjGVdp/pW3h+5wX9d0qP9eKj6yuLH5Vmxo8fkXWppRo2pYB6fPHELf46iqgjmpcQI31kD5GbGLgq+4J7QS0O0WHuOe4fodq1s9ZR4cicRIK17Rl7rF3uphL/VHhRM2jHrVPPA2KXnQtoflREjkd0bLz/PjE3bl+voybka9KSXDZPjz7wO57i6dKeEIFMbblVA2XsO3cgmN4wR7qmj3yDyKTMo/s0loLqe3mI60ZGh0WySd5R7jFl0J7OKyZsWYsDkmNC7aOwDmczuPQoyvlf32ChKaa/b1Gdzm9fWVfs8+qGopz7B5IlTL4528ar1NVRuBAulkzoJNvN2xrbRb/4RE8Wc0D3saK+HdnR+pjAKhFzqqPIM5cakCtwH+Qc9/FAIFf6EVdwcJTH27xUE9wqM2Exuv26BldvjdQXURlCtV+l//H/ZR3jNm3j+f5OKVG1K3XJcIMAVSxgAYfw2kUl4g8yz3mOtW0XeF3FeiGx0Vgn+y7jLiYEEJH+V2qUepPDkLD5PKNG5YO6E/uwuJP/KnGyp1VjD7q+S00+0De1sBNCKuEMPOgiy2F8TughUacdO8sec87OeSUkuaK4IIB98dhms1yFd4Y0bshPAYUAhP/H8fPSrC8KU7RRL7gwWZ1RhEg36/zzoX1AmSbVxBtr5w+LLa/cvrGVxYWKcIZLf/q/Urv0gOazb7/1pi3uzfV3NYDOSsL9TNAyRfuq1RhBMS8YRaX5epvWhokEz1dXzXxhA4+Q0JwtbkWpSmwtR98UlIwjrGi29LfbuMCsxhLy3Va6PzeFZxMMQCwnLKzn9MQ5Bf4IQIFEQQNmgm6LuTU6VxfXDfqPI9mhi4fjM4vhCh8V54jlPfoWO+qNU4VW0RsfdlfjewuLYe9JlWVVrHOvR2xq8L5Ftt6T6FvxOAP9MN0QjgcBt99F8G4fkQZ0sGQt30ofrDXwol61+kZz33SWh8Lt2lxIXy/lYOXjHkk7owCSJ7k5Y3hoNthnPQOcgP6pums/TRQuD17E6elEnBE3CHzGl7Cl1KrCDqEPY6TbiqpdJ55CWJxXWG59UGAL/6R+YEzf9W1oGhArUL5tIBawJrPG8pGs57PB1P8UdK16WheENOajMty6obqu/xEFctNxczOYofQsaSKFQKYNpQDB6qr4hYH+m+aYqRC3cIUeU65Z3XwdvwgDbjuCkSIlMRICMTFrct6I8MCI8sriJ2CQj1hFzuGupkfm4VsJEycnIyT2K7NoJbllSB1tIKUhgPq0tjy1nz54qL+K80Y12RPrQUpI0GjHB54KfmgWoGcDoaBEddr1rQ6NjIJBIwCov0+l/qTitNN/pZMhhsFQpAB3iH6jYHcZ3hCbedNJ/V3zU5T9TQopx9EVSTkHL8ZjX6nzL/axYgdAGq37K6fbtwxFVc0nVyupu3sXNWbLjXqoVhh/W83rKODX1Wbdrxx34z/2dtho3NLBhcN219lS2OwYQq45oQLEVIm3ED5yRZeLg9DkUVmPz+X1YnnvZD6hmyUplph05Etfo59QOdkS8AC0MZYrKzwdj4eJ2hQDhgwTJJzKosIfHRwgNm3YSybkXx8zjeYvH6KxJRkJQy7KqY671DWl4/R/f4Vmbi7PbnoLGyBPsXKELr4Ell8/wrFIk5rRbuOg1BDA4Lw/Wc7wr/vHaopdTQNNRSQrdIINd659Gzeex8/3gbvq6c1qPbVz+ARRv7Ehp0tNBGTw7P3JThk2Me+5Q99ZoxReUkVihU85Ka18F9C+arclkYDqMhSBxoUSEuRi8NZBCe9vTVq0e0g54w/+/U0TtqFwc4NnQd/sDE6qrFFq7s0Ak43NV55PgL31FHtP0vWrWQYTMGPQYKy8/0T4Gqh8Jf1dikSpqZUNeSokmxUnOjWj2OkHzavEEjkYysrIzwDiORc3Xr7uabuzsu6+ndGga7+i50itepOupLFklUJxeBNpgalcptN5jSIvI67xrs4r5zBwPFYhLHcdd5TOJAWixZrwliZ5iO3cUswf6/bp8G+4mYew5PuDtdk8mqIV/jIj1jF/jTugKGmoJkaWqbMqRH7EK/WLUkgOO14Hypqxd/adshsaGCKm5U7gElmwIT+zvPFSrqxfbkXjPOL2PtrrlFwJ8Tc58INPa6QwN3TGp9KRmx+eI8KIaeWXBId+Ld81eLXpL9SEyMLQt2y9twhPnEkUABd97E0J9wxcy5nVX6S7iXwKE+Meu3gPHETMu+qWbiBDBwidDOjpcbPdRf64zxnyELCTn+ccZburrBxq2u+XSELWNcDdUJQNVx8V2ykuBDQUq0r3DNUGFvfB55qWxO3uqRew9GhvMqM7NG0PjLeEx/VHaitNAw1JtWLJGQu+Te+/PUakj1QShcyfTUeOIH+vufvgd4dFC9DfWvqlKlXqnX5eUAU7/vaCKRSLDG/UpuI19wvy7CJK2yAhmNczLwaajx+0LM5ubxe1TRdVpLC3Rc1EwaSYcZJb7t8SqaC4y/UPg9Fnv5YuAiVbhRhyJW01J9CT5agtbxitIMpYHFik6xs1bdrgLpLftKyexoAgzPg+HNDcNeqdnVwQwRjDuSpkZRw9QsKivorSL1ItUwMCm2Ojs6VpSnElA4KmUoN9JKbJe9joubMG9IZV7GiuLleSWBYLyTHTSnx1nSW2VYFn2yNkv8SgXLqYSREswAAF4jPMmdyQjPSd9fL+6uMjMtQLFsszSWy/tgyuxQ4j0B5ksmPS4p6c3VnFh2TKqIxWaxb9kLnYtCR13ero0W0isC8ovm2IJQebjQSY5uqVZg5mstflOMxWTQ7RFk/QLYY1W3ly7aZ8aXJ90gMU6K/fWtMFAh9AAIoc6vgodIle2oXUhmsBKeD1u0WsJ4yx3ixQVcLsIgkeCAvSuiXF8WNBNimKZPdq8a/4KKkiO7rvaxiMV2IYJszAQs1Hg87BpEE3hJTgItRhOC7GUsL4lcbYLe02S0UHmYEsRJcoaDx5AmJIoRRxu8S/FLthaE1ocxxHESl3pHnyGvo7K1QQXtu8ARuTM4rRHMjc0EOTdVO8i0VmXmZyCw6d2MHr9Mu/jOkG+cdHCSUjxzmuVrMARV4C0LgqLAgrDmnD1DmMsBvkOxnp7R9hxXakGcsrUM2k9pw+2fjKWSaWwwBxhHdGM9B1SjCax1NZ082YTxhfonTYo+IwWOqw3uQadEiBaiw+S2hRCiKehtgyLHm/EZWCEQDi3ql86cYb5SHpWqgrmZX630kX0pO807NhPF79CfsiiOjm861pT8cUNe/fnHle2p+63btemtQT2OevkaT+8HYsoJhWSEfvjKxdvb+7aN1+5oepduL0p+mMeqxaR6U+gsSoKmSiMyxa3D8xBpC+H/Wn5fontju4weXW8HlmJSOvR2Ouuj4vY/ZT8JdFpd1rjf1aDfZ9WqTWsO6hYUJo56ep9xsx/lJcNVQ1dcWd7au2Vz9baGN2l2ouQHuaxal2TvCBoUEZ9UqRZW5qxRzEOOHCRtBMSMa8BpDN13tMa/BRIj8+avOw/N+MyLyQklectHH604QDU6eXEptKisfOKMrE7d5z39tMbsxd1C1oHFXlz+qVP5OF0HAuv1ql2aP3u8oHJX+bXy0lt/Ley5K1cPGKRx2SleMtX43/3HLcjMG0tLoBQwZzSJTNK87iZP+bJTULxk7eACncWeLW2yFYAFxz73uN3zgIdu7HgbylF5WeW0jgBi4RziiXmmQxJRmgibzsf6QQDPGZMpCJiPQsvrRGA8YJKI7JnB1xizsbLwBem//jeeyQeRuyVmIqVZiRaTFY37PraS2dCoR13cVH3qX/Pi+p3D6shUGMQsYX/S7N9eJnjUoKuR5yx2pTSYRXBX8MK2n/JThEEU/U7v4oWtCGdq3ineyeziJqqKZJkADLo1C7g0rX/k/ijaBAjn5CTB/eNzROJC3aZ4nfBPn2gRqlhRn8xM4rJ3mAWKYO0fcY5uHVDuiHNUoRdz29UnQMdUesC9LO0yH8zoSrUqbmreiPs0X5h9M7m4F52cu9eZx2rF0qstqyVp+ajypb3pCoDytwG9wlCST/OkRj+PrWtqU9sj7QcER/on68pwG/Yx5o4dvUrDGG3qYgba9s3VYVvvMu+x5T9rS3EBHKeyIYyIQC1eWTk39yqdlm8w8IGRacVN0mzkPfXfuvy2tO2qv6WS9r4o6Tdnqby/X6vfx5nHBFfl2KOk0y4u+40KjA5wzdse6GukjAOfrgvuIw+s8/j4wWNdBkDg+QPul5KNcQOLb5pzFl2sdkuOwGld00MVKx2aSzbWCy3tLydTosvoe1aq4UYjcAXGpnVPJuHlZx70eompdfLgdJKqeGVMlC6KqHbec9xNZu/Rn0Av484p9nWVsO/IG0HjKRswIdu9+AApL1m4CKLGXyRtVT9Tf14V3glHcdEB2ssTyFbEi2oudt3W8VVIofMwwcptx5XW2CozEqi8h9BiB3QzgKPaySjhzyRGI7HEUINoelqYsrJvEbYU2lyiyGT55rKgcG0cTJF+9kwMag4TYhDLbRBtS+XQxwmocXNO8bYiUV9RaDnRCS2RG9vjs59DVc8DAdGf/Y9P6j3ehvZ51DXxhNEMWWvI7dQfisNOLmUcdZtprSN1ueXakuCgoLmtknDVDCqT2CGh9ENf37szjNVR2nCDYXoEbaZnGuctloyZCbkt5Ynz9AcAAmsKCziJq1oHxMPojqcWlllQlGTMH02qnLHxYFRHvLXQHGjRpF06q2T41NBWTs12AmOqVzp3mRPrjXxr0oEuOtOrHo1P3dqRc4B3HCBwAFQSytIfDIC2JXrOgdmHwSrsMCnYDOoeQQcmM6+SE1BQUV9pLt4tWukh4Y3R9r0l0VR09qj4ZjPra9e03iu08LT/ZoPQ3TaLneO1B6ULq9U2bVDQ0Y9INLHXhxiFwzL+1fwKsXVtTUPNpQbnoXBtKlnLrauL0jkOAcJfu53y4hVKEVvE8/O6Ljm01ybz4SxygEi4ad+DOMmFoO9hws3WyN8Zl1u/Th6YbrP+PI5DcnhMte9y+Uoy4nZjGBT+5D54zQn8nO7WEeRKHoIjdeOkB7c6blmTFp2YfRps9HrC06606V5ZO5625LF6tOqzF9OJrDHAYDd6g3Yvmphf55yTsMoOe5DPGz0nVIcgYErZvF0YAvjIh1XLAilLe3b7W6WEFLDVnXmsYNctMC3TP52awV6Cmv/HW8ltAw9TxpAewj35A08jX0StrZ1xyHEajm1SHzAOzRrC0ymVCmmiYhFKnbF9587t+Dzdd/hv4mGBARk2ulue9oG7XkSF3hyEWnpgr6uc4My2LkTmS8/yp3/NGj1isQUJm8bi7mKIAOSdbK3esnftl4JN4hia0wY3ZBjWhqWjCIWAFYDtI3dRXSGw9tjLmJgU82cxfUJK2jmJhvrEwtSO8Umu8z1DVlKNuSXOTNVNVaJdQyj1KyNP9zFRrmRqyjK+uX4SJsdCJ9mpcL7ZY/BR3hw0zBsxI7CWmnEdyrhMj8nMrq5Mm+KekhYIm4YZDkdadCpqGJYeSbZg6BbbUbWijS/QAkhKZX/WbLnoh9If6LGOlZuUeFswlESj1owxwsBTVEuJYWbUO6IM+NkzYBdMmLB95I172KdKESY1s4CxxNnqSoRet/z1tEe9j4ahhusm9faeeK3usiVuhnEjI+lHs6E3lqT/cCgvOPmEndfKtkobR3nRG772ONE/lqT/sMgrPkkItKWu+I8Q5YWLV+K7VNxtCkFqmPcvYogHpoizWUZOR/91F2P+BPe1jlyuwYuIzzrraSW6luFmVSxwF+aCSeyNcCD/ll55tuuVHwj3QsBjeMIyitDsG/fKFg1WYuCnNk4Bv2QL1tmN05lUgOTmnWwUxleGe3TEiFR78JboUxEeL6VRlVn+pUv9jhXVN7fkIxKuu3AWUWNHb5He8Gf7UaCARz9lPIDztOgFdBmG/edKoPjprDi3M9dZtbXeqPxGXjqezIrjfO6Oypo4YHJ94FHnwWhG6TTV66K6aiKzOmuiMjtro84uLO8m/tZ621RJRrdUefg9nUuZwjvCcHICJNzRsoA4Zl+bk1RJH1ZbhYpbAbLFumD2wuYuTg8wzlW4qeM4SQBZnpcNx0Q1D5U39m8tChwh8212OamPHFwvtUtSmZ2x4iH9Hoz/Nv+IDIFi6R7JXLUrJ0nnZS+xnWH2ykZ6G823EPu1e+2L8/BQfPO1d43DNGVqLaWgdMLboF7CXN9TS9crJ7xK5vtSm4JT9I4AHWaZ8A7I5oIDNL6W1JYrxmX50Mci04PWahpckfPKjOBFzS4CxT5wtubtlyHNXOy+9UL14LjDfXbahk4hByJmxeu641KLMHLWR8Dfu8AqudD9HyCtxvaVjS9KleTz4jYbmE2a/vFu/+vKfourfX0YPPHtjh1vE+Gw4JjnbM+4+3Dv/L1mJe3e/xBuft3YV9VY7lXhvGwRQSG5y40h06vC/f0462lEKrl6EjPJ2UC4hUVZb8oFStJO8UM4ZqQEt5IsA+NSHRIJnMaPg23Wd/CsRRsOwfEoyWn9d0yMBd9l7uM363jQrLvy0zLt50x6AKwgQqIIwSzkJxpcbkBP3qRsC+/3/xhvPGmRveNZVcjXyqOWOoc4lt5w7IB1o4ha5RM487kmPuZzNFBjWKFZ+xOWxd/P7wvlEY99dPKscI8ttAmJjnlDHCbqH4N6pbHKCg5aYDehKao8aZ8dqaI2T2dndH94vApoVEm6H3cxYe5yzMzeMztlrhceu5nlMHT+0Ov8Hv1Zc212y1lF9o3ewxp7Ka5LHpKS9lkbaAH0ox0mjduRx7aF9xtYnu7W4bE+VCmrMP9qSqL52NevjyQ3CqC/k6KA27dvEsFVY2uXsXfx1Fk7OKC2PszrgPErZ9E2dyYkHdE+3oJ1y+u27vo+G8IK3VZa68GISrQFo5EatLhngsu/5T2K/oM+T4sB5Wnptl1AnMkB/+VRWdb3hvmn99hP2uba8r/Sxr0MQUmuTiVGKJ3gmgRZ/jnMOaPeStVDCDTOUUBK/bi2OaDhda4zcD0FgjBBo4oxCrjkLF4Z9T4FhCi12khSqdRCeI21TNSHiGotGPDt72HacDOt//s3dWID8E5WNHwHEXWHoOegi2FsZQyNmnoIovaoSkDq1TX6q+J5uEMXB41RQFJScYJP+aewPC8d5CbxHUlHJgItcEBfUy+7bW6m9b/YwgNjppBaNTv1PHkECRjjyxgv6aqeUJbIZX8g4J22+oGtAvCiBJTTB5ZQLldr9FmJRDTOATztH0GK+qXTF6aQTseslZppxUSV9g5OJH/CNyDt9y6GINIry8BnHEmcZ6HGOrUjP+G4pFB1R5cXcSs1PCiTGc/ari1Iu0pEnxuvuOBVMSZn7LvOviNZuQIYI33Eg5CJBy2Uc6MVPEmayrmNYM57NsKBcNhTpPuadUHrnG1tFotHg3A8EO2Z3Ppz+E9pYzACyraCdb8Y+AWdlJxmHsI1byMPrJKckh/a1S7vb12FbK48KH9J69WWK9AgWxRELZax0xJkofEEv3Ed6p274SkZyzxVUHF5b1FeNDlLHJsSIwkqwb/xJV7+5vaPIlYfdoQcKi3C5upz2XkxIk6kIcM0xgjwXFUk0Z/Ki1utzMBNfYHfkU++f3ICPZn1Sy2RBwqJvzgySeWt/t4rkQjKKLEdWWRtaK+mxZCInAVMYaC8JFWZVJeuCvaUQ/coBg8Evtrlih2OHScgSCgEeA4IGcsVtQr2AwPKPZ6qPFhVl65RlKTKA4nCBUwOKUZNi4deqz6GwryFcMXeGIXvMQPMQriParAqvQ4IGU/ygO18T7EODBQsgu4Civ2R7jDJ37CvyrkC0L3ziCwcde6JgMPohPzAwgq0SHP+EjW93sSy2cpSpdXqKKWH8/WNK6TQRrtMxx8/RmgjfkoX9PK9MQ/1lJaWAhwLlLShEHApTyLNLUrIEv1xEA2bAsmDN8d1NpXXKNuEor/3q+z/7pYhUECB6gg+GsOBMZQKAKQmFBknjnMzrdmHhlgs6zlZgxd8v3Maq9NByENFdnDGfMy6JRSYswQzuDcff5RfKnhD6+Y4zwo8oyKMHxsnIkfBtfHn0iEH3cKjxBCk51b167Op4HPAJjw2RC1tno/Bm6GLDoF0rnSeeuhxNf63Im33jK+8Suvc7H1f/CheDr1t7SdWoLObm3MS3gLbtEb3PhIPfSpz1lbJFdOHAxYisKagzPdt/Le3rQbv/Pyo1Rb0qTlvcai5p7rR+XvBlG+skCEMPA6if113B79AYQ7wI2GMxOm5WddZfWnBopTEfCPScu/SXPYG8omXSQwClF/fmYlXK9vLIu2Rjv/cTtyegjCXfJfnpzmnOOjWvQouxXlmkKS4CO9u7P5zy6EA6GKYv85+HXAqNUUjAfIFcwrLdk7eOT7QY8nk6LNRR9Uh64DDmscPgTj+/NCKkXmzNiaqygy9LTKzflH7lssAgVv0YeG5lpjr0L4pNdUf4+PZ6V9bl5F6719pHu90quXzYijfrR4aT6SNPehDL/rJ4JwM7Q6wGVA0PwwPOeZUyywC7jEAoq/VrNIUhjnRzSL1Zr3gyVDurKZdU7v12x/UnH8oHzB2NPtzz0oHc2K1mW5Rt3vp7PwGfc0MI8FApP3y9+7Jj6DxnxmYVdnB+xO9pl6+nFIrGIEvNvcnChKkl5AZi4sRyEtop/ct7d9G+HOBNZNY/rTellj8eVhR9zOI1f4H0ukNgLid7VdL/YrUYiKNqCbLw6LRe9Zb7W0TlnDb2hpaor7i1rYvyrKWw1pby9taLWwk3k6KZZRXSFcGz03IXxjRClbTp+R45nOT5ICxWA0p5NYcH5lvwUMmqTbZbJhrdElwiaFdAC5AP3caU7mehmiXcy3ihiThOezobrFQWwO2n/j1sI5wg1mP07JH5vUfOvWlr/X1mUXrdNHX5+4DYia4PA2YRehf6/HRcNEwSnR6H8BYDKetQrSy9awuUvbt+vUKLkXC4sSOoJR1LTBPU0LDvhhtCeLb1ceinKDx4pPsGgdddpQW32SdYLd/y8OdWBn/UP/gnOL6m1sNF4zqVu5D0zRPEJGMkbWQv/cwJnrNzXWgwDTGJtEQ1EWhypkndNlB7vbNQsG1Jdorh0TLjkccf35B7XjWHvC8Q1BLWqoAl24WrJ/nvlJnvLx4wivO9BtpfBu4b/HKnOLxkjist2+cF3FKs2ADnBTr/EcU3OF+DIaJyZVvIFAK5zgQsHkPdXGC66K12cIIzPrW8JCgtfqZp42Nn5nVjD3Gtp8Tm1TcwrduMnCtErm/YUEdL+FGWw1dK3BetrVGtRebxCjK8/3CP8msM2dnAfOz9dkOBOxRKbQBw8TEirUORExtNPeYRzu/Pzgx11vRq9RU2D4gPbFROBrjE6opypLeNcGoY2srZ2RSvvYAhogdwxJBfIZ25Oz9Yequa0Jjev/t5VuV6clDOJReJ7PVpIbUz08HgFMwt4MqICmbNXKP63yfgMikipNezD/4en23W/CiwIFTVwdV970e9huxBOxUfRqBjT9M18D2+Q5VzV67wIzNfRhMCdI2aLg42w3uYuKNx45F2rACbrwvhE0B0dlBhQ4E7DbK4uv7tpM2TWsUPOnMdTmNbzUpP3GpCSPGMDE5daNBLsptWAIWqWnIqvJmZ8ZRfxqTt7pXb/H+Z61AxusYdaw7wwnJbxcjCJalzPUmj280jhFPkTpvbtP0TV6pnaI7Pp7ncoIwti4nmn0XvClY9eQMIqI5mbpP5wywiot+qS43QDO8tPLxmr9ffkkq+o+VYPqFDuvWo8GxEnGtFMHKXgxRKFSGlc8D2ATfoDH3YGAGwvN3Mo2+3sZ1raTgr9WTBa/XBdijCMvaxTAGEoxG77UoemM8uchtTKloY/L1LXATFIY6knxtA+neLseiuVZmaEri6k34fpog7VvQtbR9/PRyisoyiwS4fvzooHd6SgWQOtWNe+lzCRCeMxH293jUutcsR7cgnU1LZLyasHYXJWLtsW++g38H1nwC4Pyt2mw2pXoJXmFDRzt6Vmy4DiB8X/XDD6b9beCvt0WpWlFsnO5aHOvuPme36RBzU2+YrL9sB5sDh/NQj+SuGzj/Q+g0PkAVmo/ygGUxYhTPgh/cHZzgCSAO/sx60Nf34EYIXbU1tgNRxoOML1kN4XZBZkfbVxJKO/+oPd55dxZAvFK/2+X+cboZXAMSa0swezJ0du0wBj0idw0wf8RO3heUA/W8cg2vRO5u2gaDSmAzxDf5JS8twyqdUp7ugC5VK/xbbK9RnYY3SMIWf8HX8zB4G/gve8eGAXGwkME4PjZGsr4OJzAqCEdc8lHbYdckOwOeaIlmFABFQtf8p5lDErqWhLctYBkwgd0BKfCPg3mUW2jKkZH2E7/EVuqVCkgynnBDihm0eFG1UMKl8Og5mhI+Jnpn4YCtjyqVK2vJvIQnxRS/yldfpH5J+bWOwVBnX/cQQ097YvHizsyWiaOqYdW387ZOycgg8ND0Cqf7fkEnDpUvAknZ5e2Mn2+ymfXqHyKnDNrcrBoqMHcCp8G587CB645LGqNPTHiL+4lpMcBNKn/LgHrcl7F7mSCbbc1lSrohLE8n9qhaMk6KbQ7CDwbiOqi0jtyiKkfHYOD0eF1z0rYjZkRcmBD9AfK6FaPERkmCnUh38+1dEquqAJJJC/uikT+4NyMVyIJViS7xNXc1ya7OUj83+9YXkA+u5DAckTq9M6m/bhMBcCY5JudWdXCwHbSkQUZzkBSbjBtVYztJfbshXI8YrlV2whu05X2ohAFigr8PmXo6zc3OOXke3CEgUtnU2NfOvpPuk978qcoKTkApiTDfl0RkOyhBsFhytFtC+RJO/mEdHyuW43vHzT9YgYcT/t8vp6pK2r3VnHbW3bbDNvZs0qRnjLSHTyW6pcFQCijFL1arzSDqag6E/j5NVI3yYzc0YsmkXux+XuwoKXnHFEm9isfY0IRlN2EneIxVJHU4lZHmL6Gc4pz0TvLOqCcWbrrgzmjotJGeNTHb6Bk7vl5uNIs4677fllPNcc9GO+IgSngOiaTcyvBd8F3m5v5ZIO4d1k1HLVdNqMbVX8kJSw/jpsfpVqRnR2cXx+Tj0z6Eld1XJvrCGRlpvSYN+wzJmdujzro1y1iYbrwT1hdGPmdsYdHip7KPMMPmEcJ4KXuT5RviONzcfT47fM7EOQlpuCA3P8TJa07BvBvOwVe2vabm/xbis/wg+dVB8vJQ+UVq9odw5aZZ0nLSitIT8h2SShbhEnAYN8N+VqG72sC3OOC0y2+fP5ej2u+7y9f+6yCHq9rnrfwzI0pGCTtTbDYQUUGAaRLdf6sEpPEFQ98P7GZ/VDBZ8nceAsJJ+/e0K37UHrRbl7BrQh2xBeKTNNExTPmoW6Eq88Y7L2rT+kwBQU0wWOV9Pv0QsbmksvUu5HTYunUVyMN0H2qNssRpWo246jbE7KEp4xCxpHUR7B5k+Jr4buOu/ATAuZWrv55/P5S02crKFe4Kg3xuNG9au/M4SNsvo9Bo1SGr3QQGfYNJPqnXFh/e/N9k/uQJ5H9f4xUIWfYzo3JEkHdjNtNa+bXPS+UF2Kz498ZBHr87+J9UyfidBQEgR1gZS2I07nAAOkk56Ottjcp7Iz97/8dYJfalQ7CHS0074YzrwgBFjSh7dlQSNgtMYZtZfcZq40+TjNGtVPbQsr9gEHUgsbkAhJXtu8sfSsTa24P1MmaEMfbfRJrp464vn00a/OhSjTGzQ2KHFiBAIw/EXiR5SCK2YwPhJRvfgBvkwJDiLhNNdL7YQpvJbDcg6pTVXoSnyF1dXb0qlwK/CBAYEmXCZ14xOo6zCXYidKq8xTLt5T1NQGZd5026zJ9EX5zxd2B00Zj87wKGwf+mbZ2sqpXIdR5Kd6UiQmibloW0TzuTGxv81r0ELoSFd4kzLMNlSvtWS20ExEMyTEMUedOdT9gHEUz9gVWVe8ovXCKI5vHvS7EJaIGekKoJv2J4GlqIv+tMUhK+mrppvU/HKD3utnzS7aT8x1Z9iLop8LXXvp3gW1sB6R/aUPZbz/Pu8W4dzPPkMuw2WRedS6qVCb9VGEwTmn0DklcZMCR/2oNSOqCnDKVPAP0zSWq6KM6SH1LWhUqNgAvwkSmnndQW+e23prGxBfsGSJtJ+4PZbpxTtyjLZ5hL6nALpajvMptcn4+mDm9O3e+BHXlh6Lua9q/BnjiUJ+SQ2nC2DrElG3/XAUurRUWpZ08YxVs6KszXuBAAzw9wupjis4cEV94f3vr8GcfIRsvkdPi1IQNX5W/j9tqngiKyy7IiQ9aAb4jFb77lQq1K5mSGlzsnS82S4F9f9vqeaKF26ivb85MXDAyBZMCBA7bkyN6NiosgJwF/l6ych5KGVpSv4bhtrBmzDqpJLl7Fy4UJwbweON/wQp/jr3N/rWaJRzDY/jjj1bwasirKriC8mRTqqZCtEVTSlYSjY74bszaIc374B6DuAkppbbAXFumxFqR4WX6t6lbTKYlJurfGmxWvwCsI1OEeaBf884HKzpzFO131nkWexNAcQgFB0JAFUZmJbCKUVdXaf4bwtSzeQ+wp/hDkJ2abQ3vcS0SGXdpwIygcBV7xzt8eFbrlefcOcz28mRg9Vbncam8Wbv4Q8GxWZRT2dcn4aUorJM/aZMVV3SO6O/W2BU/r7ZwKCT85rzKcC5U81zuycT5vCVSvcqQeeCbWClu1uyct0nimcKgwaqdb8DszDpxJd+mKDry1gDZOPzubsTxtJyqMeETX/T8kQeDKgvEaOA+JZiIiMMbvu8paSfk7jKMgX9+iVRJjR2uoIskMBiOYKwtRRQn6oHAPm1hkC3zErcynxiF4M6NmMvb5W9D0RoOH18lL4BHBb2EAneYMrUt+ttu3Uqk2CdxZw2Nq/NM8hJdMXegXgyWh0hHSVFPLtlLnT42eV8O2YmO7wqPHZdBQhH2OUwwCFr2uvBBcFvXcCh7e4ftUhB/d9tF14aQgaMGMudCra6a7LngIBvt/ewfI6AjfE3paCUoOVG+MO8c45s1IyxCviQ6Ay1AfXkVzVAoSJ0ucQMHkBu7PBPcMCoR09oFC8yVGauRkQ9N/g9fXqgYWDW+xHaOuhkBYViuuF+PqsHouBZMHVK0UBPMiISKmxhuN1MNCw56y4AK6zEbziy5+i1+HHJlhY6hhCxs7odgADRD0OyUjCU82kEyb9z1CDR5kWJiZ4W/awAoI9N+hvHPq7+VMniEuiEEynVL3IA8gmzQKoxmpmII6HWe1X40qW3QEl4j0Uypdjr82FewsgRtPObszA6ak47bfNf632JYjXqGebIMb6YFtvBcEk1vKZaKF0J++qAVXqAoHPeg2OHXHULwb3aTkX5fnDdnHTe7UcIIiB0uOfXEUndxmGW6OVn0UW+BboCFxqGWLrqMqYGcgaWbN8qB8FlTsEdsvXAt3hEcz6wmVuXpD6lVsco65s+K6zs0TUUjkJHH+fXJglpP6b2ceqtWaZ8lPM8sZPemqxPq6K+V/G7wb3Pke9sa7gd97AATfTp9iAdzzLXCpZ1ty7zqm9I+Dva/r7JbwfkRmGiywFSGzPqERqUsGmqOaOVlSMrrwdvFy+UQz78Qn+grD+JkPS7Zn1YI/aD/Lcl/61PhLJgxgdM2h8Z+eiajO7Xk3hdQmLp8+/XT1AfR15zSY35vNFEe3Crnu3TroXhZNinB2hO932rTcWXp+HNqH1bH3Tdmq5SHBUlebZMU7syP03wleg3oc18qIg7TwxQZRFanbDHRco1d5ArtcFE9KFzE0vsc6NdJcsv4M8JdTWFSFt90g3ZMSHJr5Z+d2tx5WOY9Va1gsbbZpTbJc6ui2/g/G7ihujp4+RZ1JD6EgYbu370nnaYVfFB+TvSyDmNrix+ofKPcNFTsuc54psD01nkGeSZ7pKNzLd1ihZ6d9NFmTlLGRRHDENJesexrqanEoUQrMt1pKslWNWmaxS7H1KsV4AEN+cCLSEjKvrHKDI+skIQ6MSh6GHeR6WgVZ0S4OoF58EmjQ/X2gnch6jsAbslhh444VSaeLqEWqWGfQdF40q1J7/rNmFBqKTMkRedN/cAjR4ZqayQYAMd6ofLBPBw3eFDLb4DXeIgwM8nTJVeOSQenel/KVQPb/EXX7G1Lkof1QGgROtljGMaJaTgaB/v8vqNyov3im9v2qlUlRr8OXBwaWw18DBI55NpBFS/iqoaUgL7y6oRG198cgY3VElm+/uoA31aSvCdD8B9Yd23wy/NBW5vxD5QvOZitIjL0KtTpgvnef+QFp8sR52/9+d2u45ZPWdEDLNE9FXSz7PLv6/8nNpj8Pc+YSoWIYMS2rhA3ySr+S38NBnLSnqIzS8f5BMuDSLT2GyXTt7LmZQ8LDtcyN4H868MAPCumdQmGzOwX1VxfpkkNFos6eFnL/5XvnYMkmicQsHyf023T/3ewVjopbOMEXceGJde74Ci0ox0rsXbuYNA2o2vOZsuvKuTWr5/Bhefy3Cmho+lmx/Zm4Lu/+yzSdB2omsLYakzTf8oK2YfYcovYLg3HLJyiaC4U14JcVEx2E8rgUcxqKWMNH9GpXQpnsht5+rZKFyWNtCNu2GIwv/ZkuATYdymH/XxtBNbz9+ys9ZLzc4ww+xLlfLhnuqmjPz8joOHRC4XO46DDED0hKxh+KbJzhoWxbVUg09nYuCbvKPl3GKAprjDkuoCBVlEE6LEEtFay/xnfmhXnKsJDSicvxVuBqVlUMnF6+mIF9sHx3f1RIwdOYLB8DQXHIMDss81pEKq7cI3ufvK1szEg34NViHlJY7zBDgcdkzXVC0aL1NdJkqD3NVrBcVD2bUTMAE4s3bwvtcRNBzJBB+4zrT/z8Bmzu3L+in+ch+617X3VEDEdfk63Ocmv2r9+YVJRemJCifVfQbykYLjgamJispXxnVw9QlUNl7kqfvfaceO42TrLT/v8H3x8ow352B/xfmTuizp4Oqv7gUz8Ii5mLVyMYTfzLv9/XXorbf1PpyBahz21H/w0bzrhKf5/tUTUwBwYg5ZlpujylJiuuyDsXHoXxVj30S65yVYS8CpwfZQ+TtoOg5sQj9gKnLMsQdKyeRqRqw6uqws6TGphVsgTJfE4ndUyk4sMcodF4pYcmiikKqTZ3cnJvR+agNAEXDbG+3kzbUre6CWdulIhaYZ+jucCUI3QrFTLkPmlmIQh/Es+lvRwRKce++T4wJCbbywRxpMC82O1xSllckqfaSQLWUyily6Q3uF4cKw+tJ9XA1hmDxHeU2ZrqemUMAo0h+GWVhi3L4c/dmXuYhWG6BY53HAPPhMT8GCCk7b1LHCKrSmQNweYdTHkiRonN1bsP41CMABxuiCkPh9C289z1DHeXLVlVuP82TPo4Irgh0aH/Gd58zkYV/Go9Y/ToyKDswIDs4IFFne32yM5S+tDDeiH5PKtuVRc8pFFjquaM5/Da8Pf3byvx/C1gKHzJjSCHyO6hTyzwinQcCxZjUtKHE5/Thq6eBYovauRu7UA8l1GgZ9gamxir+fc09Pw2n6GfVz1ajdqSkjmZrp00Y0uottYme57b3n3uOCNa81jzHu1XVRdVK+n8UUfO0flR89zG3+QzLOTrL+AlikVvnKMCjt/D3ocOFNW86A7n9JVkzTd6fQQNIx1Pt3R7eUQiM+GsC7vC9EuezmSulfAge0N1N/2QJ9INGkMpboQwex7PNKxrpq2QKHwJdSg1/ZV1KSLrfLYUViD+lFdyFJ6c8GWuFPFu3X9uk97rWFeETx6ke4+EkkJ1mVdVhwYfqZIsMkwhjSiLS324ouSK9j3v86OGCbJb/01QKeJzMvHbbKI2JeAYag0jXEp/ZzFhXhw5UewaHx4XLpn92EbOLwr2Cnl8eKTk+CaOPnrUfCUlTqmIe5AGObS1Y9eJUydJ5iPm+sDcsyaRUUa+5YxutuC5lZISGaEMIRpKxoRlA5llkW8cfSzd0FjWTTBj7H8Cczld6ZjDZQMwOHX4eKzk48Hevv1C5KaCwOJAaH5UJMUlCj/uzy0m7Lk9pd3ERXObAqZuz6jb7GYnJIL20IRgOeXPd6ej3+X7dsiSnN+W09LiJHNOebE3etSv6TMuyYlBuz6F8mO+n/KxLHaZ/EHo4sU/cC0/2vUj/kfOdsunpmhtLN0UUXaWpkeiPUvUvgmG/268a0BwKoM7cvTeUfv8s3ecWroq2pP4x6TN5vQg+jPOvZPVpXdS8gEthWBRelzv06eNdukAgWP0jzyAcwgAibjQKil/4sbfJW3nv2dO3Kbuuq1JebJ+I+flK1Vg7re5foJVj87t8q/njatsJ+N/LQdxEvQnEomE1qOi1QGP22gmyZoCLNhCv0wTpAfAPK9n5E1JTX8JANmnAOX7jhIYCOHOwkBuZuAAhlyg+H3BtGQeHG+YwoeJjO2MWxc2W65CJKy6OS23nlJd1YKT4gYGVM197XUSQSSbK8Fl0qIUNMZrAPq7jnYn7+rp/J+WXksIzuzSyhwYNg1hOzhkLXgrtdXhSgdfhnUVXzIMzqJHrwEHynIDZT0dnT/A3PvbKLb9/QOBihN3h5QbLy+UKMcCX2C9Nfp3zi+eLys6WH23WvxY1sIucnXIkFGWgJeBVybtA9xlVXM/f4F68H9Og9J8amoEGl/ITXczMYfkxxEfDyNxFkpbdf9XRvB4+dSOsH0IB9p5fU2Fcr0uKXLovjEriRu1FykJ86VRbrUifEQfwlUXKV44czbc/u0M/WOrxCP7kg+oQew7fZcvC98Ko8IJzxu50j/vG9ZLf+TwgM64xLvsR5+f+k1n3Wm9oA85XiMw88872I6XEkpiGIuP6piZ2Nr2I7I8n+jrTet6fR50dW3+uGv7jnCHlmFTFqyYrp7TFiAy83AYLkFeUzGeXy53Rx9hbyU3rixTVVeplNWVCjfnbWS0JUX2PSzbUIXe6qlb0rDT5YqaqvXtbIrt5/FLkD0zuj5oOnBaN3/Xnx+7Z37/3iPvitQ7HHhEr3Tb30+7pv582d500rp91NUmWTn95+cUusaucGJ1VVtdkInxmFS6otjOuSPC4apV1kZvf375FnnO1aWqpWrYzGBh7rLq5YXLfqouOxUmXFVCwUSuyAgZvZM84aIS8ANqwJrBNXmk0YNv5Slduo3vsSy9hLYr6F3HKtFEjKw4ObvFvOKa9hWmoG1Tit1UpUnM9jniurkD4+zbIqr+rcRfS0tnaMXwJsNcXmE9pAsSWIanHhDG/SiJHHVg7rMdpW1nTxssi9OJhgJofYH7kt55qAYkmQPbkhKkJAzfRcb7W9PpYpLH5gyzXB3aish4bH5bxfC+ANHTbDqyDumIvPYstRKz3c1nA59caoEbEa1nWRPqCY6IJwe0HOUmZinhi0dMfJ/GrSrhhxxR29xwcqWjg37uGjvOWvG0kn/DSV2s3Q0hPPlhUH9Ct0nu8w5iuENVeNCPHA72/UVn/8ZDf/8opjwVf2e3ZO/b19Cgck17TFfSrkcHaBI3/DmzV/dGyZwsc1IGhcvflXpIN9J6z5nMRnJjSEv8//ga328ZU67h40ZhMBnDFq16soGVaMdDqhzO1zorBi+hna/V0q39Wy1XmMAgcAKUBMDQMxR26O1cdXHHR0cr1JtEWCnd4J4DJ9YG47cmTet1GcaX08ObfkWtvN6IjFd/F3Cn9ts1AkrZcEfVoNPS9LQwzOqMX9XUjaqOAN9xV//EmJSYCn9dNZh4DJIAyfagnhbg+THLeXXSJuanDq84SMiPJxOf/juk0kC7PFHudvU4uYSMrb51Vqw8Hua3yaZFWSkWK5nvdG65sXzO37LVS7X0lQzUH93ptdUzKonLFqjqItv8tgL23qsjIxv6HvC42w2S0I5O2WkiTUOjRphawXVUCArdwYOmN/TtEOp5XD330Ya+0ZFjBJUPWFkkKuZe2klO62jucRwFwYdoyTyHsOyHotLqHFu3AOethpG1JcGJxVVZ9s5B7kf0OJxtG16O0HMfrbJ1F9bCtpOTJDYJecA3WVZQs9++1MDQAwL2dEbzKGp/kTqor8HauOcVJGoaGsHC76CFltF7dyVwaBHsQrZMkd0e8Vw9QJIiMB24i+E0KVUWEKoMd/EEJyCqT6p3HjQHysr1Ix/imfBOPnGiptmY7O4Lrz7E6jBTfNtfQWWRZ648Msw4EP1ArSvpsTWUCTP7Z0twOtbp8KxFB+pM3v9Cdv9Lr66LiWr7OuK97iomeoWU3eCp+jDiDlYgCz4Ooc1HtFgd/kNKo+pJ8k+y90VysgOy8OMQE1ff7cYC7WKVJJ9XK8JeapLJkqz7+/b1z5b2nhCIhTbgHUjTWCMxOAuNy4w1mJEV1gMUl9SLovSW2WCi1qmOd0euVRfKAyzwt5/+MDMJj6Cr7Kv02ufMtTELwdBRmSbIHqKcZzshj9BddppY5ut+MJxh9rkLuZvB1QmP+Fy9TYG4/KGGRjRDJmjimSCNVtTTvtOXfI6sruaAmXc56qN9wZw5jS+17UiGFFm8tKWaMermlcuatVcFhSjUdTJpZxZv1H05qH4hVjcb1judOkipCfN4x5fXE34I47K/p4oPdgVX3Niy+2qhyw37d48kGeLEa8qqZZq+iDFaXp1XJFPXK8S80ZosqS2rM63WByHsY23umWgW/Lo5lY6boSUGIFEqOyWBX5YP7gCoOIhGViiz1fiGm3P437dmzDgUZPWbnRefEJzYtGdtNUBAN1bWibXJISmR3sJeYKzWI22ME9yKpbu+h0exa4IhvQbjBnnDdeiophmz5NQoK8tx/tE63sKt0UTdiTUvgMtijbN3Ge2e6/DyifnUyGIrGe1iDxaf+OGOgZrtu9c2zn3rSK/Qm4dtJJyadGXWMS0exJsK7vy1vLsIR11pudyY8KiZ4Lkku7pROm4acHnr/nOGx6mJ6ULZ4HE4+aZ/SK9yLTuhLWP/Tr8q75qNpRJys0pdFWPE8vPo/UfWG1n5zu11Y3lVa9t1DNTKGL9EUaAaKY2fOjRenJ6tSzx851hFld6aLhRIeKNy5LqeqWrJ+M6axqHxhgX74y2bXf3JZVU2pf+jeKxia64XE+QeoF9sb58Y0+Kwr3V2prhvTA6UekEr1CRe0pVcd+oCJT7qW6FQoI9HPKqamakyGpXT4vaPPL1Vx+Tlju53sJWcmK4rPdynVPMyYnfdoHd4tr2f8grIYXmZI0fl5cGo53TGcyvHc6rkisrK8Q+WW/KrVdFZMYvNbh4spiwopzSc92MkoVXMU5nrOZORnULnjCXFWv1Iq1xS6LcV1671whlt6FlahCxd4UtIklvaRbcQw7/H5C9sO99mvesSCuifJIA2qMIhW2FChXLv69ZkB7da9QyMzFbPem/ZkogEgW7QSO+l9qUdS7BWFlWFJbbOD9LDKUeSjkKZJL5FN1xm/FnWtVTkru24xwr1Bktn3t/JtzuiNxvvIHevqUJo/in5a4XNzTSyjZf/6Vzzs3I8wnp1wat0q1Plb9f5PygYI60IIqQqR4SZDLYdugc8Sz++JwM8aevz+JxUP/qZmu9abQ1syxUVlNex/n9rpsawQ9LrZLUJQNJQtkrqixoe+vWUrHVVuSA3IkMIKokAqKbJbM5lvNUQgPFBtUkY5pDgyBHlzK5CWnxH1X4Q25nnB9ngUba+AqzvZWMpWEio3yMPu8CV+pVrhrqe6eYzpJNLVsMgPVsS3fTy41jAX8bH35Dm/e/pVx/WQ2+nmP/YRqt4tiMpyIF0OOatNutdm+VIr853MywRa3mrlNGheK28woHKLEGG17cJZeKpyyOGhS/U6P1023N1rJ0j+pzCOImz5+bL4fk7Z8yXDJ3aXcf+HFuHf2RgFMZvs65BgQhsiPsYZyO3IG/9QN5eHvPRdkkOo0O1uYYS4c8X4GvP4xFyAoj8a4hNcAsW1dSA4fNLnY3ObW4OSvg2pNHNIcQJe4V6UUlWTp5ygXJFzlqWunDktdJXpXcoW3ka+R35q7INKgpO+UP5U8UOgyF/IX/D2KNj1O6QhKP+wsItca290B5Vd0r7PWoswhvwBZ3Q2Ou90GwAHu2xW15zTe4c5HXnizvXm86nvzp94b3SnPUJ8QlxZ/vhuQa2+84X4mNOaJv7lP1Uwn921ylXm+NkwskZ7V3HXccdKknZHccdxhKcbr6kD8HlTfM6xTKx0rGBdXjkdoc+6w+nqhmLRqGsbuNEIeokAVOreDiQoDutisTPO8UoupMApX4bDapXb3W6XBjLHQdIdNoqR8SeDnbKOqrTW+O+TNdymN4toKupefxH0G0Ka4MtNksXvz2COQHYRD65R2v2vuIOm2FEGO5sOeA8at0bVZgUcq+dADcLjKzg9Gq0uSrtBk5spbvAFI+TFyk4wRFqkDKU0GLi6VPLwB4tYYqbc/Pv6DRkICwZpgFgBII4BgEbHmowX0ZDKrgSNqUUp4kqv1skX1wgcSc7GEMybETWSdL5Ez0j4hfxOt5WcC0oX5vpSGHMuSSkJD13vyMWbQZDKkHhMUqLGdVQuSWac+BkKqc61OElCX3ouuvRNKpBUjjuvMQFBoWZk/h6H8O4p8HHwD2BP0V1LHEtEReutdijgYLDzMO3pa71LCGWcI/iTtD+mTq+C9rFkDXZ7LlWgEk0qpSihj8+qypLMoPNFIvtSjhPc/zTHr+PsvVQIuWBmRPzYk7bJa4NvhYEcO4GeGPIzE6SJmEIeY17f02LbMaqBzMeI0yNbU7MlSbVPhjs9LM0dxLNENjVmd6owxeGlhh8M5Hg5JbafSutZdX/fYfo/qbhjfj6X4PIENcsvixBy0zo43W0W5manPkdz7JRSjXaJ3qZlQ+aQE7Unc9azImnRUTOQKMoUFZkbJOsXDhO6SYsnLApSV22ZKvmpE7z/s/eWRY4K7vKnupfuwZ3oATO++z/deKliuw41yP75CvzMQJk7ThzNoGSA/Wex6wbfeWjrwyf4tH0VXmL8mZjkMGZuCvK1PshKY3IprPeMZu3Fb5b57JO67D06td9M8euSUes23Vdjtt4ft5ehcqUmDQKnZmbcWTp5pgDuFsePpQse+yuMSPxXjOq70lE75vrPetxBySxJfKgyaXC8zpBKoHeQ2cKC1LJwcRADJVClIZI/Y6YQOQhHlRu/ZsV2ne2bOLNy63wFdhhCBSxXe7N88msssMR9AN6NRObC7XSGPEIe3rfFsXxMdIEUiaAj2yeXFfRn5T7Z4LwmACSRUnZkXQphx6iCIQ4kFKoVHAqA1lNm9qLm0ZmUr44VpdZwmJKaXIWNUbEjQlONGWsZ0glpzyQ2bylDYS8CG6KasxjKnaEnTzhp7wVIC/vq+PiVfbbamFvLmxHBYvlknZBs3ZQwAKy8gTYoIRaq2qqifvqObdJZEHg53bqxok8n48Lak/v6zO1r2oaD4k1z0to9GkDTXR8sgaoB2Vu3yo9LUEAQorzmAVR9fiV8B7XjS58pyI/qePDj3O57p3YXFre5fsbJdL+G2eS83QyXkyQIztLnjA+O7Ifw84hkJMS+VNTSdXH/AQhIa/VB0iHPqBT1RTOfLxCvs+1xbUeUU6vCCwkqxYsSu/LLAGtn3nzYY4+QaLwAvciVAfgU+iDTZ3P1g5Llr7+0e0HIsNJ7KuInCupOzul07zopVvv6eE1kK0qXuWeMSGJ3TsAbcktLT93Yl5lmaJDaehPFXvlKoKdA9lO+EMv+o3vLk1/43Mn+M4LH7UMtvTQZit2mlP4J+vMmIgMgQIKVOtrT/RIjEyWxFTacFKkj3MZhyMyBByUWd/WFECwMrzmgU73Nl5Umr8pdVvMFT40KG4j4xEqd5/CskpintLd/64kyKSV1kYP+lR4TTMEEywiJg303LR5ts9XbRvCAQLHwIHODOeq/mshb78gqoQJ5Rb6LAsSy5LSZb6qjaw2mUeMR1xyXVUyJbboOMxXSO+F5bAKQ/3ZHKLEUW/lqKOWKbOfwCrpW3piwzLlbqOu/LXNtKguQ0w/m9xn+p9s0zLbXPWUI6cuV5iq8llg6R0eV0eBwT5yOPSOphPuZTEbirrP+u5qrslC883j/fMN/9VVlZi/cTilYHsfbF9kPEPJaB1qrGiwu3zRdvtvHePQTDmmocDf+xdnigat8eSHhKhiyCW8JreyaMgg3njA1kygrSl7CxcoZm/2m3/sUJtIGZbrnsd+bBeWkx3x2DiiIC1z6rQzuyghzd/dQ2sZYquFw2VykQpBx0XSSNXz0Iptx3G12KDMrpB4ghm2wCs5JlaeHMtITGHEAsoOsvXn4GpLIyMwY5Vlo8VbYWJozUD2Lzna8+Tx3Ep5HDGeTUv8uzrkNWKcb06+S8JUkr9oHnfa59hRHpfGF38JurAp5Z2B3SgKvWmYx7YXJnA5kZyQmJzdHkajZPdJgMD2U/CferHV1KKl5wLWdXGbFxVn3t206VZE0Vr0JmD/V546Ou0qwv5e6yHdVsYA/3B9nYWZn/lhExmB55XrLD8Mt/DnOJDQEBYH5pmb/EuGnl+Vr7U3zGfiPwTQcpsRVy5V5VvW5BzFY+o+mOc5KVy+PK26/rFywS4tlQ8HXogNoEJ0UkDku82TxmadBDjxd/HRBQE8X0nI7oLArRgFYc7At8LGnxAYzKIE+LMowYERQ5tVggPcLymrXFLWDn773h+CP37bqArDv7dkWgzr7ata25VHxpCD3hgRkYD7cmfCD9nxt0pwX/0ifftJZc/1Z6asuq69zJIWNi0XBEfuO5vRy+IOSwvGPqkBJG7fHN7W7fgMyiv/skzBW4CRb90ioE6fPvSJjfG2r2Xr0FmRZhqCm0Mtm70CXFF6hPQlgexzZewdHWe0p4OsQJ+5Je2p8PP5ByAWSfPF/rZe2IStvM/8i9jzuSrN06yIlRzl7B5E54AGmDySrcP1iuUhqtgw6U8hDfR3IfWVhqnennv7f8EbwLxE61Oa4+zTci6g+n6n//5Ctnrj5iuFH0Ia6m1B6ir2K3m9rwv7HdkoawDDyBP49XfrX+0zZNwf3uIWVq67ef7U+TQv3LrC31mtgJloc5J2hHpK3gUw72HhFHA2Gzefmli93jaknq/FCZ7pecVuAc5vFaP/m31sp4ZrAfKDjm6ecjcKeXloEN1EpWJLpfRT609SNXClOB/spy5UrGFbDKuRWbtoS0hDSl1jQLkv5YlzAS0dYM+8uKKLRbaOYaRHa6ZZcpoByoeFSzzzRcPBCGWOm1fwVgOQUlCthfx0rEcrJO+N0LT3ILSK8eVSsJNioM3Nhx5Q4MdURVtq0oWPDd4O9Oi9EBgqsYW1TlW2plqa8nsBplY8ytX3jvS2DK0cUfHmyv7grdh3/CqTP5vTgzdO6pUMc/tPo4IUCWqTJIAwYNux+8GXLxwOkU6cSx2fXc+rkl0NaVo/Oxo6d4iB2f4fPILG9Ien9dP6N9KGw9KHlR+836a02agfblbud2znfUTFyUGEJfx5do+YBIgrhHckLMbIWGwbDz7dL2r9HTHDJw8kWacQRp2XD/Vc/IMoCP34yEHQg+pdeO/BafFaa5Cw4yQ1oOwFVdyIiD8DWqq1Tv4DOjXcWr+/AQJD5gUnWurcpMp9HxR3oafafkhF494BrVZOJ/NPOqlSxf0YqHxKJawSFNihGALM1EMuXuC5x9qO5WDL2mfNkCgzIbaPYQ2MWzDJmA4QwrsAI6CoY11qodsbKZiBYBIb79Jyc0ohpSpqtgUSE2P1CGZgFJS9b8sr5g2u7+0dGRkbO214qLy4eP+BILUcMjxzxhU11fqOQINIVMJ9ia9ejeBQgcg6FXV7/R6sUCe11+3Z+C+1uq0+PQ19CEpLb6ublRkNYQrlqepYTua6LeEEvku6AzsUeExAQB3BtomUYR2L8CwE4onIEaiqzHVdHc+6qZ1VLFn2O0ntYdjLr6wlFnnLwlwJiBzAI7kyIqBkucERiWFF3rU+UJV+rz9uxaB2XXdaxO/MWdesAs7vjrGw8IC3YSmI5t4znTN0MtDx4+8P961U/v3bt01O7/g2Pe2cP0PdudPekIEHZP99MfAZeSI59WdW4BUOysuaIVoxA7FxeibfV7qxd5WNLWajUpwIhEN8Sw/CPh0Owf6oJ99jdwBBP2A2JCzYfEPDa9md7eQw6S0+XPcjqMu9yPfC1e+f9DVLHO+wTGnSVG9t8cxcW9qpTkpYdY596pW1B9uhGJJ4/cbDW0A0q3WrCatnhvf38vuhAOJAwB2L/Cv6IoAFk1IuE0FTkFSbK64HOFMHgJmxM3IKUCxx3ZVWXoRmBboA3dNimfbanV1kfGuwChp4dFEL3MOkPaITOuIIBHFDL9G+30v6NuQ5QM4RzKa0/zjbg40pr+M2Bm3Va4/Pix+FEnp7iXb9tbXFQxIL6+1HE636H9Z228ygZPi8hQ1sQxGIyIfnYJdoFpaVcoCxpK78AC66U6ceRttt7tilPjLtkYi6lW78mVyPeQqWvNkzw2vYGpA0M2KRP++C7HPNTmqXhuTph/pUhYgSmeYl0mG/KbT59jKfELJ9HjcK/brqIEmUnewKfUE2bYUibyeCaUxJjB2eSQ81+bx54JfjPwCBhIeBfK/WVWUth9KizGhi6+c9z6oGE9uxX9ICKieAe52IEGidHjNyvOrQB7N5IjqWVUA+53HC23xK2f8h7Pm1gJX2146675jtp7Q3MhBazp28zQldgnAfGyV9BY4ZgCxyCeRUD4OW5cSBZbN12jEndA6EzJZY+23k2alYJDpEbD6AT8Xy6uoFHvP+7YVLWB1bkju29OGENEXLaCHIQkGty99qF68TWsk8fDpmsRuhogOsXgOLT5vvaDWtgAFhlSD18PyAhK/5S7KTqb3lhHUbkIWdpC9iA3qsdJqAd36bOGkk+ahvb6PvdLJeBDNRP3LV7UzListmrPdvy80ISQ9uz/VI2BWZzR1p2XFVZ2fqjeUp04emFGke9S0aYav9dWnMyzQsYXueIG6+WSSwuJv5SO1rShlj1M5KCAE4QIl0MUGSeY/q+6U4o1JRziko5w3BcXL+PLXC6asnVMT/lDJRVUW+81SIqIcUvxeiDNSrCp7p0ipEPCEElBLipZhg8pSrBbldkjBe36IrPcer9apJfAlevhJP/WF4o7snl+OJRNBUUxJSPD2eTysSXy7Fy+OoirEHowi4u2T1lyfy5Ql0bPw5ibqnZTWm5CzGmRJPdicHegV6uHvEU8Jd8heqpnjjC70IqttqCkRdgR3DoktxbyIKqY+nTX6rEBOK/jf38LsqADXXrwjl/O0WU4VwuUWNy/FCPldWLUoo8vS4WVdafl3PXtUFzG8fUOU2ewqeW6XE6T08b3oRUQ8lHq/BCGeEZngLGfcQjwc+kgXyAN/KpMMFxpTal4vyiT76ohn5gh3hIcH+iEMFsC/hORegmYZree55mXKtTCs+O6OaypKxmK+1W+Mv8LH4CQXPZvdu65AD2j7RTzwLgzHoIxRyycp5F+p3hQAZNzAiAaKQE9hhwRpZTYC4MH9JYr44SF4tcuRprQ1hDAWb3rRCjOKQADeRTjmzIbX4Z0kgMuuDBGlPQh+5rAu6KnvIqiG9JrpG3BBzqMFToZ/v4ehtdNMqVsbqkWNofLWSyqKMJhBFPaOtRQSWK4LTQkqgJlEiL3HCZJHlIos4WW7Z/aO2hIAknjoQ7+8ZpIpXBrt8DqY4nYuaYcElCeNGjoLlqOvW7n69XNfa2Opc4yDKBLAFgQc9D/bpoXfAjhbluJnkIqrkaao04Mh9QpWpVzOZ36zu4+5bbzRZZrnMIosd/tLSMzEDRH9v2pS9wHLBXUODqoRwz7xBeWywomvJN1MgTK7NasGqDfVA2T79+XP6Jf/x6jDbKXURtUG6IN05/YgtXnsaI3j4L6HepkxbFmDiMC+tliiJ3D/CqFnNKYbYm2EKjHdJe+KtZM1kQwgxr5W22d347dqQ2kfwjGSFEmqJvDyW44DxGvKkUq/rMPAqZVlDsU5zSSh+LuS4EUQ8gZ9vdQ93z6ov259FUJtxAtz3e4IL22PbiVgkNgLj4usfE9Bp3eCLRQYA8+z3mII8qC22jYC1b+VtcO9W8xcFdFjX+2LRS73Nu/kOkaUXL9Vtamj16KhvqecyLDtXnsyBzHi/SZZnxq3YjDkwc9n0UfCmThNP8gz3IKFIHlAEsjHomP4nvAFnS6QsLcjezCL4ejLx89eY2m2ltIRxEgpaiShFepJRTmWWc0SkEhEcq6M91YY77AcsY6tQmF8iYnB5sR4HSQxrPMaJdJIsX4LwQqWmjuot93GSmJcgoOzckC6YX7YVBtPW/69oiyJ72Bj5Z/JH2xFqrt3nFOF5EAbhwhWthzshWIw7isYbg/wWQwpIqJIqZ/ZyLZD+OzJJO7KB8GTj+lSS11jqxCUSXN1mF1Ss9weVm8eaUnOg3235EMct7i8sjh3LwjtVsL1Vstvf+bEQxHYte4Wnkz2Vbk8JOYIAnfJrgB8RVa7rlZCdqu7ikxIeBO6LEuH/KPpuF2R6tklp/hMM/sNQX+2tDaZrrZBhihW3NmQ+Kjuf7wIJ2rvre5VW2uDV/nHQzVOCB/0b6ocCW5hC7k/vbF15V57pTVJawSQuqd0lmJKb+K+ncWoitsyZsd0u7905Ku23q6cHFKudSCruOpxIqMlmY6FFcN/mUrWWb6W+uVEjImjV4nRMwslcl1aXCbCowU9m9dri2s/AlH0FPVFdr5pMvaXxvkivl3ybPGznmCWKy0PTNgdo/yVgdDSoNXvbKc9EvBck70Odgr1XMk2FsuqgRpeYy0SFq5dwjpeY/lZJNGVAlCC0DImsRyL5wZ3GwgVTs119s6fbhfONgviWTchi5EbcKb1LdN24z3+VGpqymU1xOSVxG2Mrj4+iObqxusBzZvgK0baynPmmYhiSIRPzdIpPZa0NyV43dXzPUK3c44H6kF5nLWoS0YooQpQJcQ0FAjf/fsbUxhA/Vlx4XaJvRoZvZyaedzVPp9Zv6ywzlduqbExU/Z/Ww7XcGYZObgX5VWB6p1xU5OzD5GQaka1T9OnpXPqva8be+ytdKFBYnNHxmPR4JTKKul/K5Z6Y5zJnQP5FwJ+XyWeGpEhqu8t06U3t+w6JTRHqNvZGTr4N22NeusoF8NmyvO2t8mOR1eusfy1K4ETUX8cFLivxoUxRbIFPkQMIwmTlAGB1k7unH7w7qeHWplX9Yu1omCvoEX1PkF3m5rPx7sHwEw7aicO1IcwZf2JomAnF/OIf0wYSjsd5Mi/2JH0tNAO+rZAtAoH3Eqii2xx9luAZfJB+XMfPL23p2ojPscAEIF6EJDIDns2U4jUj3Oe+wFwPgVBcgmtYs7QOjL90eE2sKcaVFE9sBsApXvhWOWYr+xR0c41qvBHayMuXIyPz867CgXj16tU/Z+FCG+X/mFB8wUN2Dd62sRNx0z8vuSbttdX7yuiS7Ah5dLtnIrlnJ10Rq09JafBX6XZkFewWjS+/H5r2zW7fELDy8SnQ+TCk++tQI1gyP/lCx4azEakpizUL45NzYvJie3SqY4Z6Y843+1XrFEEZH/3UkjEpIaLYKL2Nk5FT+c7xLIQXNJDyH+RI+EOOJG5wPyTBPYLHAmlbnu5+xdeJq50PtaPBWViWhQPEQSOTXzCCFpKoipZqhSUdFyNKyfM4X6W8mWYu5+/EyOEtzopexi7g1icKjGR1wf7s4oPQeAgsPXL/7pyyI5FlsZO2pYHyKkFazcrdhcUTW1Mqawyh9bXE7LSA9OhITr0EF1SysiX5RZ2EHZUW+XaMQYLmyGOKUt9ZlDaA4gBk68y7q1ncsgGlABsUhw4C/PTK74Efio1HJgf/GWMDiDzj9G+el5Am4mzzd3WMvT9MSFqUs5RunI2rTSlEL/NVnHHWsju/G/a8O+oPBQ2P7I+M7gy8xvZnHo23sxGbuN0pAcrR3aKqn6WM/7m3eQ53fF5+ZN9sA68WJsm+QOPjwVMKCP1s1ocHFxwGxs6NcrhTHu9aHrYuYn6I6wrFEH6OlGV5+XllveK/xWb6H2n9tokIUwff1cDUkURUupUXnpWVTRXiGMkAgU8l5SwlEWQsf+5M9D3OQv2pLYOCMeo7LIKPe+p9F4Qs0pzcPa2/c4/eboyJPce6T0k79iR/qu7ScPLtwidpJmuMH9w3rtn6vUcu7vaxEub9jboP3fbNdPQAFDDqG3IFtegNJx2t/GJcOYOqcn+R2+4NbGdqT9zaLXIM3P6SbPEDYxLF7IvDN2ljbSvTIRWrRJdd1fSJzmExPdGkNXGBi2wGf44PrQ5s79sG1aOjJRGVkbQa0pH9asQJR/dkVArCD3YCL6P0+Qn1iCP27I8fqb1O3r7VXsEMeJOc7EKuOsbB3FcYqdq8yY8ImBukRdF2UjRxzwNVPXpqVWRBUksW1l3kldDUFO+5aGwh1VeZn9h1Qujrog1tDyhjD9rnJwpIAmWOqHTt3BVve1KWfSRvRRRi+7E/mcPZFYHLrO6jQaEPeRWzZtv+mrFDL86fnHvd1rN1N3rkko8djxqT0FhHtnahstX+2tstVz6/ua1ffplrz6OUyPGPiJSU7r+qdu5yyJtpgiYhryopgbMIHXJJ9ezSYkDl7KqWJU010J1zkyFOm73rPdUzaMQlYIEdVTMGso6P9XlWfAyOjeRwiA8I02ssNq7W1a2KXSt7E/b0xkXOl1zAE9Re2dMEytYDeW7blC4qHVF6lU1Ps/PVv//pEETvEe7dJ+xUlf9TXKIwmFdVJzX7lL46mSPhaM6FQRUlykVat8qcNWK10pyrFDZNLvtecefV7dO22ljX2yiSpgIxhafYXWyH7tQoNBccoqdB1OaY4o3Sou3bi8DCAhOtVlhrdile25rcbjbjq2WlCFGifu6AcWDrYTRFpJuVrdTbbBHZWnshnrPO3mWn2bkQCAzCUruWZm2lhHfFoRd8tfjaTvZ3AGRheyVR9Aljn3nY0WeR/VKznqCcxUE5eu+gWLUHQk6efDX52ZGzEYdPnPs0OV937JzOOaW1kKCvuxAcLgeZ6OWi/2btb/qxKPsbRN/mmVwTAxxFUGydnH6LULyEy6JBqyel98ePbZ2ypMMgEHzF1inMXcuNg9oxj988fGApe9nt+Hk/y0o7fMaT5RU97djIBH9KN7axTeXl/U1Bvr3vfndl+4KkjUj4rWJezb4r5s402PeW9VQbs+KJMRrnurLRs+onWk5XUqhmEMMdWqZ4qZINUrfNHq99HpMIzPfUzR6rRdfaonVewPetfdsNmaywF/891rwz5LFDQexsQ1zjoydFDs6pKdcui2IuLfrH90dC/LTunNiE8u5IQXxaRYd5jMut03nxSOfcOv8M+ySNhhMniliF9nYfyTMmu3nzAlZRSi+5uf+aSV7p08XbCeonNFrv/1lbGX0+/MSTbhafnNjrxNGt5hnFo3boq/5Ub+R3KPJreMeC1SDP8tS/rV5nV3rbvLhyxjFrDX1QY/AuZvrFnen2EvtMQOS3XoMt3dA38HBqhG+psbuccs2k8PpE4ra0C3BwS3TygcIDchT6j1V9yiRnbUp0kEFQg7TDdq3dywwcaBMq2bLlzZst97X9WtB2JsVkSKtqfDS3UMYOOaDz+7HeP11df3oFdxsY2+4CIBEAgAgad/j/o0yb4Q8HmMDaes0gesCF6R64oNCpIdX4LgUrJyx6nGI4++4Ig6cPKt+uJIve6obOas6GLIK1N+piQ+aFARXj65Jvni/a913BRaxoKx66ErcjUE6qGcg6DR/SxzyfROJTEF9TNBA7Ds7WTEcfrK6Z3e+z7FZf/SFHs6k4l4jKnCWw9wIdrWdxXbB3WLncwhsYElx6C12IQpdXsPsMh86713r97FRT+Xag9GzTyvDwyhCFhla4KyP6iuGhnKq1p6UGtwLmFfofDPJMIPSUvhW+V/+n/rrPmz3ddTUO0mYehl3qWTrdNXRncThoxKIpo6qhqCup2zweNWSstFCvOjnbP3R1biThrntgHOf7HlmsEKu0PyHFJl3cs5LfcKNhgYa7UrIcPNTSsaVua33LRHB6YXdZgdYk1noV+jqh35OJSBl67ObVERuD769kWZwQR2qxYe9yzT7x7/dxzbhFQMrYR+OsNI3eE5u/2ivugPzU2+2TArfzNXyo2SLDRUCfn+Lgz+I4H/14j3k+18FYA3FJp6YzJeU0Jo2VxVVl0aN4jN6cKx/WG1ZbCle4Dj/SJP5VjKSLmTepiuxInZXskDKx3JjubQqHJhrnrnt9tDMD8X2dvfeM1/WiHZZgUgdVBc7VPX1paSr2oyJROrPrLCAhOKnzoDaL3KRQpSfgVJRzpOvWcnZ3pqyDTRIAREtPeO/byWluTYInXFenrQltRpOI2WaKUIKqT8QcVqYNCbvmXISz08pgvg6V45ETJX7ySsL5SnZDbaI4j2sddjm9BUWKt2fdZnaeR9mhzncy77Ew8STbLadc5rTGSZhNRDecTxbbutLjrXJV+gzKFDpR2oObMTw70gktq5jrOhjheuuv+l4l8XGQvEK+WkuKUUTr6MZ7BdKXlnjHb2UltCpwDNcOFjd8tS10PF7deNij0GJU/u0qbgyV5X3O25lv0MrLntco890B77Syg6cE19pctp+nXijvHlpuxNEzoGaC8bFapCwyy+2HOoOnr6oiuhfQbrtAe/O21Tgspi2iXriddxJRs7eDUh7rk+Dt0EV+p3/q6wsFwCc+0RVAXlW2Pv+S3Vc1C4DAJTMjWIk19AYi37bnuLXobXd/DK636CMs6H8ssUP1OOmWhZ1Xjs9PPcS74oYY3Ej3Gzfr4z3OtsXMGjor0Q3hk54oTuWsPM3CbiJdO9ms4UQKCgorh019BLVZYNbnKkwQl+d2bCAAi3HBqoeeWmaj/LZ1Jq3KLX+Yo0E4s02y+9TugMAQHLfm6tbKNnUKdBMQMml75jXwleL+BMZrEL4c9/kNCcF2QL6+5dlKZx12OzFwaLcCBFACddoyW+twjAe/Q5GVVW2jlwqpXkiFv26qfDrMfeXq9EoIdKAeON3hMkWepLCebD3rVS2706196NXbEJMwFRPkxHOpCS4+Uf0WoKYaz3inoFSu5hkWYTck7m0S+n0ciTthw7//bWsuxDTTHtznN6rxtgO4S3Tdi5RC+3v8EN7PH/OeuVo9o5F/+yv4SaEX+qbh5Jf3d/T96ZNvTqkur5BS8SJrrk81aLK8FWG5vUOVS5AwG0+viv0fUKskhC+7e3HLdVvBEtbAX2brXyIukHfkeSTsOCkib1iIOzPANFon5PKTokcmnqz0b9nsNRug8mfIrAlb5O2RgnCueKMkflZsWXnSP0E6p08wTy4/SXbCewWx134MbJZ6XSXyvuB4gfnVpK4xn0cy9bINza8e9zRgCzF3+aGzuQ9e+A6xIkL2ftnOPNeOa9Vo+jql+78m9TlEg8mXH/zZQAnxuoFJuMjiNDzsbJxDIu1gv8g25/ylwd43FtCLley9gHvvlYXtpz1WnyuvlQ1gl+FUA/h/D1UQMOuUjqCxcypPyo8bEu28sHRqjeHUeegyls+gisJ8KgUoVHfYbKlktsVi4m5RL8jLN1pbm2l9D5pow61tXombV6NMtm2nP+QBLC9va2sCWMVGdAa7FQKHthO7sSudLc/ke1aaqrpYN4xORmQM9xT9F84zOcTIkYVWvdF7B1yPFKhvzBSsbx/9yv2XNyoPHzrEXssuZp3iPWf2o60KOzp1UFuwdZ0rz1rq5QdQBMnuz7jldX4oe5y5tLfLzcr9nghSpPzuypHQsyWkP85M2OEnbaNPI43IABs4tHgKgPQPJBpOPsB8kt+WXh65qh95fnIH2xaJj9eu25l81ix5La5u+79REemg35ZC007PIm4P9/wGjSU7VHPTA5URQtatZuwgPTPoRVhYmTekVxcN+cZzFAnslP8SmGkqKCorIkFDLsLV2qUY7bgrnTqPgp/TV1JebZFTUU3DwJ8YeiuDDC6lIO5zU9rmECHaRl3++2JaeEy3fU7I4k6PCoEBJOvQcGd2nYdFngzpbUF+RK+MglBoI+OiLuQwa7PDD8jjsqfEb+K3bo1/8z/vzdatbP8PjYkvFU94v/kkXZMM10yiYBouXCimUACCKzpyanvUeH1jT/ru6/0jViCiBvsdzKUpnToMz+5moJ6oKMO98lEe6vAgHPTHgN4qqcpbw9W1n5Ks4X7ELWBo+MAxKTq/iMMFhtKZnBi3wm4PQC3Izt2B2ic+YxMosp/x788+LKapsZFVMI4uUZ/ur3/u2y+MpHNVKrZrot6RUjEmJjt7nD08pB4JUQGlFrWQZMOFUhUYJaSVHaWxUq8JwKS9xeKnRkAiEonO+HqGhkVHMeNN6308KjpR3xU1CYPVeleawaML1Z+okPhEFosO10tqfh/cB1++8P8fDB7zz/8MgcJbI6nXx8zhELxaBrfu2i/AhBA5WE1Gnajbh3sS4MHcN/L+HgLImZCxnNqp5PTP4hu3K4oFaIazw8P/c0RmISEv18XaecbZC3vcuPTQPfXuZzA8iRXM7ynlOKA0sAdU7E3Kpnpqt15LIhnDfwPiJEyfK8rcj78hXqWGXCqS/GQlXMH/JR6gik65GMxzu+TGJITNy/haG5aUOsu8GASNhiaFLBPAdAwnVdx9lH60I87O4gq9XBHosumA9MmduIwvIS3sbVnCVvNCLUVpOMm3OazQyTI8x8hTfk4JS9upxHDTJ4fDgqCHB4AqkRXWnNZ3Y1dG3/Zjpx6onks/wlpBShDZxrqlcDfUt7zzYiDRaYf49stLTNJgXcfrZ8mOcCRsKYdx/Au5osGx0o1WsUIfpkOPKmPvgPxLr2lyen8hkTPo2oe2HLazfDDj30azig1g9Adam0IEmVFenvZ6fSIh1alNj674ciILv1veGVKyjBrvkcBNP+3H8A+GuCATvR83luwL4QmHZExkHEgrWNPp91Rwnbu29ZcfO52M37tXtc/P2zOPhms+avqnV12gW/cFAfrRgpdRVH74Bzc5tUWdPJtyBZWjo2pPAj7CM69T0aeKQjCPbiv5D1xxxFxYaB3AO2VkkYfgSeZ49uU25T7xpyChoVhDp/2gVh1yAZNwTqZGrxOVS+98OTlRUOeY9hpiYS39fgokFQKRRxZuWJCAPzphLnABZi4fHgILIcKuQ+FmiACE34RaDyT53O+A+r4XCurh1t2eXNiJara0q41ydtJimzH65MBGNAsKJUIgEAgfuUINayK9crIsHSSn9CTsyf1ciTdLla013nP3825fxAy+0Sv19bGjFXa1vacgivJQJJLPqTPML6GlGHi+HT5KgoZhdy/L8lTOabtY6oZGkU6thylAH9fMHh7UhUH8oQL1pEskcj76R9duYwlR7lJdDaG/XWVcFUMgEHcQXurKus0A8JGer1c23qp9TEJ8+ejSsZmoszYx851SDA200XBuPZKHDB0MYhCUHT5Aawaz/hZEtlLX18aMQgzAPGTrFkTMT0ud595nekrrMoVtbwW/3XpNbgVF531FS0fAV5Tkt5RIoUODCWmnovMzs7UFPAVJPu1NGVH7gZuCboVo4O6pHjXrMK0WcWI5agtDX8B+UOpv1vXwYa2ZyoDAMfCUPmLXqYqR09xp1naG/5s2Mxl1XwicyTtmah4DuC8xJ3mwGTm3RDibYdEgBa26bisWLlrA8hhmcf+5PsFaDszD81SQmhbOn86sBPVzNqfq6csaDdfuH+2gd6NWDB+sQCn4weoIgfbgdxcxqBH+u7Ng0mjvCQOmfFp3spCLqob3VbP/afO3Dx5hrn97+F3nsv4iqpcQNQuIWPcgr033oURYZmx8Ns9ipskzz9JaHz1joWT4x4YvwOJiV0/80MXi2mcWxEwgFQsM2MOBXrAMftCHb5Q7THif1DBlt18IylqakiyZkLtDw7XdtyX3IpjECIe5ESgbe8EWmsw+1O05gjYHP8LBgwSlA5i8Bfz774XpQ4eOYAYZGS+HoMZ9vUfXKBABBj8EpAARlAyaWmm0Fwm5Nv1t/fK5CXZ7TK/HM+xaq1tho5B4t8rZ+iewOTYSIae0MbYysRcn6XC9wMjNpeZbpMuUxh4pzSmxTEDGmVZ+K3KYnq4yn9XKkQdra4O1OfIDWu3mCTBOR7uFhssygzVy2WFRShYLDsMjzv1/K44WWsEsqk+o6c9o7U8N6Dr6GtZYFQc9YKdPv+YwiMEMjhTfixwcjLxXPPJOHcw7wMp7W7O+Hpz8HNNlMMVet0fnyM7drMAteww6viYc3Jb1VqEWGU8ePXRdhvO8tcfR9jTGj0tGfTFRrFcBUMp54hNAT6V+a/fxplvvK4G5Y58RDATAFESZxsr3t95A+Y1rLL8VVULUI8WxJtZyQ4y4ZdYs5C9hdFsQWE9k69Saey3+QPJhC6QUGWlgIFHuvC+wDaIGqUKCWO4YSfVIVYgsfaPIpF20C095qiyuqt7t9LkbdEdkCBS3ip8uQOeH676EjKwA9n3v24D57hrHDzlTrVUSr1cAgSFPyhqi0pWk6WBowLo/my+YPZ+k8wog8G/H+SL3mRoGjzo4gvhBNgJWS8YjppFYrh+2iKCJSXH0cY9LhY7t3Hks0biDOl5QQXUQft/d8luwAbk1oIDfPItgZJGZbDJ12Nod/3YNNp01YtL9C5nHra2wgUvT93br/O3RFo9vC4iAiq7LDZ1vE6OZCknRkKU4EIroEDCK6MhNjPz57Ql/U3/J2BcSTh/2/AWW1CZR/SXCwtn4trZ4Wx4iuqU6hnbLRQhiDkrak/UwkJRLIpBg5Ed/Xrqk4CHx3L71FDMjR7LMx/2LV1SgYvhBw70nmvL47zQUSc7DSW++oTX1S0CzZCnGu6JIOWVXGplgnKNwklvL8Sc67fFxzlx93gGOxzQ97rBARDd/4FrA8xOZd7YWWTXl5p7e6RswFDaT/77TmM3q0JKBILQqKQOz6OyA83q3RxbqUzwBLkY5IufgQ2HOIXqErqOKW75+xVA+mpLdtGMDkdhaQv+PYsw0bB4QwpLZn+Pdc5+d65vUs9y7WYkWp4FqKEqVtNWcG7I6iHFabyU5IiCMFZ/J4oVdYyw6t1pyFfSgUEE80wVAcBHEL44i+5zG1A2fj2fLXb9bdRGzb8VXnCi+Qce4M2FJg0wcL7EIjyleasGLXxPZ7nMTk8c7kV8TIv6ArdUUS5VZtQkJbRHEhJoiuG9q6c09MUj2nmbGzqQ7RiDP2Q1VXFY+s/Afe8DFOVljNkqcP3jezIBX8zBNLaulN9IaH9iZnqLuSHJWqDIKt5EUHUnqtO48++AI6+LmKLfc5rkVBu0PnA01dXl3akJ0hcv/5RyKBkGRsK/Wj28XD4b1XGUbM1nhjvq1TFzuyrprbCNz/3PQy3+UDsuvzBsURxMO6GL/L2vm0MRCWjCW8nIVzkS5aIVE2BpxOeH+V+vzn9J6s0MdjB04IECsyRMA00MX6gU0kYS24pzxFYouN6PCVZt7X6dc0RCAj199IyF8epQoMTK4T4ePna8EurFk2UD6Qz/5eDfuC04uP3mTanZHQ/T9AuXSjIq5IgX7ypoUWbxsQ6pgvYbIMusnJRLG9+yAYltp3Ks2h4npaExGkgqtGUhPXb3+hIbe56MNjU0VneHuItvcVe3SMZ9Q4NUKD1sQ8h65jTmvsqTIEwb7/ZbSwlisnQ0UuXxV7q+16sNC2PG5HInpIFN+enwuwjT80+9UUL6Dey71pWI5jnDeecwtvn4AXnqsswr6XPrWQBVKqMpYYG7uYhBEV3BrDjlfYywaOrEy41lhARGIykbOvNKm160UYtQxuvr2RExj9mH1dSLSnVTpVAyTNytvdv0EeqAf04DGoww8jm7Lc2lEdx7ZoS+zxaMHw/qbsfDVEzNtVy7JezIrB9inrO7LdJIXYvCAlcVKnYIElmPXCwQi6r3LBTkLxc7D5MqTGZui8wu50zjjbMmtQLWc0aTMpCWuPmnw6xb6jgWnTxfg9AECx8CB3tnfFPZ+l9l9JLno+mZ9Zabz512m1LcOu+85k6Q5eTKpNldM4rr/+Ld15VMLTXb6icbacaHSOXTZKWlH14nj6DCmzu+HNvjypadHCS0wSeUAI8gXGXXgyRMxl419xa1bY7QCwZN6qZShNhJXxYEhLXBpPxZLoaSknDj+J2C4UENycrvx7BnTE8fPcFz8jZtCO/lrFskDaf6FfjjU369JiId7J9FEBYnxg9HyyqrxnErgEyJhbUAhr0KVtlPSgrGx/CCPPx8fe77jHQHmxYIaa33upE1xuleFxc5X3iwvv/UboFIrT9jsQ/1bEsb8kVl3M3xjf/jNwvzkaz19C1G+/7bbYztZqTTA5eIZ+/bOzBWHB/tlZDZuqn+R7ZP72q9sY2Dj1yy9yanfpEAVBw83aU2PkT2Zy+JHc56tNGcD6ueFJdZyR44Gpt1w9EjqqkMcAwg1cL4js4JTL9qdKpGm5AnPk10FNvIPgx8cfRf8TuB4/py87buhy/e9vI2Ly0VyrlA/U3LK7mK3/Y9P1hx7FlGArXCJydhoKky1/tQWD2LO/e+OzPxZDFPrbssNL/tCWvw7C33WbX45Ybk0spkdrKItwmisW4cLstf06c2OH8+tlkokxTGzBZgATscmzXwnu2PH5KylL8q66ef8JuGnpbMspxq5L545NOydCuKzZ4eRKRleRAYUgg4Ixy+tFVAiuNyIRWTTvQsfJh0IUyOW1QJwS6DI74BEHpjbAUT8pAr7yJoL/PDqGk2IOULWxTRH4R7zZUDxZo5+3rs7A2F+t1dPawrXQ0wB6PGOIFSG55V8oDuW3XboKeKQs2FIFpK3DJbAufB6rj1seU76FKJTXvrrBt94R4fprzAYqgVm38Z4IWW4A8a4Lpo5labA4lwoCgf/KG5vQWlP+UB1dDopk1PYUNZVNr8mKr3f9kLydvXd7XAMRn6zW8XDwRq6o0AOiwiH4RxdHNzP7UqBFRiYYTDIyGRUpXjNilqt0KELjZjkcRwwLo5XMnbhzffCMWhkjS1DWvGkv1bVQUC1R4TDsXxnO+7lPRlF1hg0yidLPPxArbp8CIuYNF6AcQl85Vzlf/uGVhUf4u0bnzFwoA8lW8YjU9Tv4CPsRumL+uL3z9gjsqgtpkOkSfHazO3Mpb4rXBYpLO1XeXnyOiPs33Pt91GlvKiY5VBePPHy30X+L+tQmJ6slE55h4S684j/356SPymB6GXA/VP9kn9iOglqHnelbmGmjdLuXLhUx/ddbj4ssuZKeqO7jUYgIuepvKLGuTAtvMnhaIsAh5b6y3HztLMoQj/W6eZaCHspsrHLNnuzb6uNm92U7pjaMldDwQbddMuLgt1ngjXzVDi+w/aOsL4sK0/NZTAbSFXg3LoHt3ZSckHWRI8Nmac2kYYS28WZqf8hFugCBIZEKW46qZ9uYwmlYYvqtT0ytt2r7+odd3M59E/dWdhWQF6N41hJ+wN7K4sS6vsL1SOW52Kfrp6J7beqV/UWG6B5FSsCQCUNsaowLrl7uid+e2SEetJy7dMvEd3bjmzzf56/5Z1Mjf4YKmLb2WTSXwe9v6ASnA5FY71m/9fu4RVhkyLDc9i14i0J+512BRTnJJUOOTWGXdwmLKfMi99QF6zLTK5Z4d8kOPDAoD720g/RPfjCW8fWd9w8BioJQxh+ziQCXJilnlnJWTf/m1ckWeGTf7GsXpCcceJGJUWF1tnXQdMUVxOyUakUN8p71fDordFFSDKHQwbmKUPaG451zZS85/oSLnc5QcVZFMiTkkuasRLW/4GcuGPq65nryeflZArRScyjlzzlGwzxjtfjHXeClBpUUE7lkP0Id2Kyj7vUobyisiJ+SKfQNsg2yl8CEN4wd25ES0FBTo6R3mU5uL7O0hip02lGVmcEtD/8+KwPwiPA0d58n8/n2uDWvF4OMqV8iMWae+iEQSbwWBCEfLTjrFtRaFmIXqGQy29HfL6d4SNXKoOKZmVgLcbeo6xcBgcWAIU2xmn1hcu6ry50dS9e7bLRHnn8+eC1a0GolPXtyQUCHp+vL+HLmYLUNZnsbtFu1556110x59raWlvPnW9tFVY5NQ/LhQhf4TbjnAllXuVewc8hTeXqGxkGzU2x/elIoQjRh1Z4XW0k79rVj5FLSk3PDzRGLauXGG9R60Mbnaq22jLRx+2zBrozcS+DVJ9dvSnxHRY8Ni5qeG+/L3xDQV6mW2NC6jKp43xBCbl7b3/QMa2VS3vxBjJBFWBPrfEMG0Y4u8I7p9UnIL6LORIEEsaAQGJSw13ulKPKt9FxLFbabxefPCrwkvr4bL0RXpTcq7UYUWNUpIpfFJEUNT8ks1XYEDBfOdeKIGbJ0SkW/AMchhJDwsUF16WVtCmnjAvz15nohFCmWyJxLDaZF8YKFrqo3TxzHlqNbU52Lg2DsoEuJ6Drug0f1JyWEbnf1fx9OYm1UMyCvCQN/LnIaD/69+rLgxsyPffzgisLLsUjRz13T5OZHEc+hCPMYcgA5uqbAGNkJKBcHsfZgIfunfi17927+orhZ+O1ebRaumeL63aMYp+899S3YXoCOBape8ibfQ5CaNJBt3ttRAP+hq6FhS6DHPQnKku4208baWs7op1EIJYjmROBgJ0cri8AaJCGkLo7k0Aa/+DCsQ0h9Nsr/9qrDswtshZjnGtuLvrL73YZliQ/OovviaaB79yX38XA/mLHe98TzWF6A8BLwMPq3qNkmUdreVbWtrzBhada+a/NpTq3zCdajhVzZ5suArsBT1wXLyvfafsuhKU1aso+KKGOCz2C/z7yCMt2Hgrb9Hc9N1yDNL4f2eDfiHnx+n4p2MlxGU5LAQIXAnOpc37yOX88otgLaw2c4Ld7ZAGGpt/Wb/nDnjuftcda6I2EsATmQcRSiTSndnLDrU3NgZbRsvkSyoCel4sm8l8+tXA8YVwmEN1SFvNfcZ+/zW8NQFgiUF1UVd4web/ovnYZ4Ha0C3fW6v2ldMpd5VXVlxbtad8LhzwVQ9Pi8WmueD1jMXY3OYooZvkK7E3qa/PahDqTJ9qqCrtJ6ooMlQb3YHx5zgg5RO28pvE1km6O8FUOOrpDKy8+OVXHRigjZUmUfJVLIbra4dCSk2wwqKQzNrHZbsdMR5dlKjZOZQ0vy4wa7dSO18WqamrVmuN3+rSt82X1xTdyfNGCkOCElOTWlJTW5OQEmajorp7s3Q2DQeqaWs1TqkNyCtaUQuNJm7JudIfa1n61Lc0jWuNWu3+72sh2+tYdG0yyrEIBG3L5pyI5xZc1ntjDOeAegDhWBr7quHisB2jqX2ReyzqTfHhtVwEon7d+q98N+k3qeYErpSkjEiXKgrWZH3X9qoWdgn7er74W+4fRiYsqt/Skt8VLE6OUWI6Dr+88+M/RZ6v7NwB8YBCAzdrWehKwxkgwlRy0z2lrWZg9MscWFuTh7/vlbg1f+9d1/1i//kdXVtK5jo6zgVldL0s8Su5UZG4Wnbi4WbPt5vVKTTZA4Ody3Y2cG/NO+2Jqvu/TRB04tXwgzcIn5CteDrdqjYt0fYzzB/vOgbRiRkFHxIqQpL3Mg/npoi+vnWOWRKc7J2a0e3OIKXmxwBgn+gn5SzE3tPqTReXTbfromLfSlNN/G2vhPCP6BOv9r+HqqI9T1PhJuMBWkDrgCcdl8PgbOB5amSh0IGm790A+BvY4W4TmwOs0WEzv/fD7h3uiwEou/hfKFC4KNXxFvM9eXXPSnWOdQxF+6eEbB9gSTED+IT3hSaUUF3V/euptDprKkF6920lVOpQQgOmYZP+Nw92MEmEOP2EyaAIvkLDEae55xTvY124GUbqJ+OdvINjvkJMoi/6B+dEbJgufPVg7Ldk/j3ZrQ8op/J+dCxtmbTnZ3NKfRfOV7GZeHRqi8IUtTdeWSsvnPe40byxxl8uSoWlegVhcbFjes9zbk4aRl5cPey06f66dsuXD++3951Z7FOIP2j8/9SbcDvMqX2n48K+SXaLFokC3kMHjVH4R3DkZe8zsHVW0cK38Tf3ZWB3XkKEFavrEyVPpm6lXOjrv0UBWFJNW2b6vqj0tvb19X2X7m+N5DgN7isSOnV6/Zx7UaWbnaOhqonIPltSuDJ3y1zAoicd3FDkws46ke+ZU1ixPVOE8fg2KisgMERKOPs+3WBhWWBXQF50YsDi8s150zqqs8byZxC+tmKSnhnkKt0YeJsCRJFpMxO0DpOTIjyFECOLmxgfKSG7LgzjhbbHJHhK31uhMupD5tzqPZO1KBCeqIQZjXD/TPMa2fcQcv45AfeHfHc4A3snazubR3YEKIgIn4Xx8yzL5X32w+FcJMzqY5OupB6B9NilYtC646YKIl0mTAp+rZYxtBsWbzQBb0DrenRe35nKIbayMTCNoZCCYlmNeb6WAEaYAoDvRNuHA4Yph1Pghbaz3GLXTTNpTiYUd4wo+lm7Eyk4tuubwAGon3DkYQlD5Qt/fIjfVJRwipszPSp889IuT4Q4FFFqnr98pjAp9pwZCCeJbAVP9hIr59GfUk2QlgZGjHDcN2U+yC02gEBRtZvGbWo1kUT/B8qc4a5Se0OcNsLM4VuKAGtBqV7u7e3raAAqTNRu5etWEkZTx/39mZjIhD4Nd80rFGDe6/Jft5TPG3wECQ8aFMlAHt+/01iyoTXeIj8e5n9fWKimpqTVI2On58xigwCUBIHOCOdKPdO5J8VQLSObJJwUIiQ5+HKMGaWOH3UsBFtscIrp+WLDrPX5LSKBe6SFP/AAEGXEm/grkIooaXq748n9TOWMqbGB0yeqBMTK6MspRhWQW+QxAGsC/2Vox0E6W/6NbCjr+qJCsSFzBzHTchtAC4xrog0Nll1OsU/BSfEQWyw4V4pBYRUN5ZOmDaHDhOUAGADwo+Sv589/43cgkzJk0psDFOy4ZOeuMiyk1mfdkp2UZpXPXt3okAb+y3/5Vm9dmH+rd0NJ7f/7lPCbddgjSJJQIouli8ilLv4ELV/OJ5FT/sczy3xISUro4WcFqk6X5J6m8P39LXkdXgdh7mG8OJTju84z51WR3tQejssN/tc1K6wcGZ9xN/HoJMy6cijdTzVv9Xqhuhz/B1KMD0AGKbL7ezUM5oFhkvxPSQz8cBJLLNXsv9sLtlczsey/u29V7wiDDFjJEe0QNded3b4zpr8Xq/8ynD+AbgpAN9IH8f0McaptjhuuU+dhU3CPImgzbEwa9rut5K0yR80B3Mcjw/enR9Z1jwEDPXd3pP+ylfP6dw0sM9os5r4NkzFixg4nb22Uscoz3ujc1NYXnz+u8vNDZkJjR11xcNUGz1OsJ3jeKCYFb881C/n64tcHRYukFjXMcz153+UUeKWBzT3LRjyll3qYFbENa3EBLZ/6xnt+dnb96juYvbWmxTSkbunwZRBHfUp3Rv5OvPaWoyi/sDvx8ugTHcHpXpFBDPMH8eNl1Hz0oOZYWbTht2Iq3LUxXrrAubjqxWn135p2gNroKd+CCJCKdBdlPNabwdIg1/77pjMDlTtaB9DsmzKLtpQMgJ3xeMN/86gzV9VKrLvJUKHwkcIL5yLKbGKfLIb6FTTrADXRvVMSmS/6ZlE1IJ4LSHZO6lelPiot8MrU2Tq8174lrIDFKLdkxEepZWXP1uh1WaVXbOG8Y+QTCZllwyXMbsCqVbAnJL9ZFdnMySqriL4A/HXywt8W4g0akYi3RVkFjRu/rOqLUwcxs6mzN73vnsbsT+xUuS/T5vk0oGDZNWRdXv9UsM7oeq3cMl5eXRWPCqRlRneHBi+wbPAqRqdhDVD/fbPw3VVq23xz3rYoq0RrMewRFjfJpcENUtDS+Yylm2SgxLwb2CFoRLPFPoKIQLAu8yFSaZUXW+8YWQ5X60GvYlhIc980SS/ws8Q5LSDqnJsjwIxtI97EA6UQ1bXJIr/HB4z8zsVHfRiKtv7xE09CJj6TCNtjxisW3UM8+uN/iCSG8FVVxhnXyLu/dZtxj517ktHTd78CAWKxcWlrjSrOwOQBWXa3QsdmIKw9882bv5HGBLMTn0o/x5UGuXy/lhJjlKCPrIDqUzpOJlWuAUdxuz8t+Q6EKmZubmhY8r8+zTfdmjYHJpaYkBDw7E4Xl65QOZY+i5M7apDEYHSWJiWnL89FFVQ5n8XEqO/OPUubmMT1YjsNoV2CHVlXYcje3784uWRIiznH3pgJ5zVezKJ8DTazuJp/+cbT+z4j3lwdi8r7+FSn/Yw+AtvLW1UFuat5J21c0eaUamXQH0p3XMaja7FHKFgLcg4p/7Gr2CTYDyxyM91chaO5kNxcXN/KLIk64vK/LtPj0jjruQ/FNXAB0hLtpMXKxqFseP9CDb8x7441URXq9crIJ4zarF+NrP1q6/KxRW7vr3zfPL4yIwIoZyFb/ey7XCD3VrtwishUrm6r20zk96yBL00xlLGBT6Qyyd805b1fNocmT/GzG2goduBlf1NJHl9eGYVKSMLqYZcPiydIaX8eBH3X2ibYDNQWTy1gyhexrnj4WCKaZ01u3On+CBRL+a+HRly83OvNZw5KU9PQrVy4xQWTWD2U7wWbt85009riJrY1ZLpTK2+ZIOqboAV6ew8rKzrhgIho8nUjkp/xXn932RyGXdbhNxywZHeqmWkBMFFQ33WNDg8LdEq/ejobAkgq5Ht4+0Rw3JTG1sCRFNZSaOkSWa1CpvOCNhYwycqITQIimg9j7NX+FE7b9qpLdlSuKWoX6mBKrZn2kykfGDQs3m5rijFIdPbk0R09i+udUy7eyCn+548+OkwcjX/t3qwxUYdKzpmr6pqN0vcNbmsz9jMn6SL8JgS0EeXOJ7uJHsGQYyBNomUF1LlqRNTROXr4Dsvrr67NS4dOyE0fbMlHRkfX6XEkWh5gfvd4+GfOOXXocUM/F4Nc96D4nO7S9cpvL6pg/vjhExXhbazVqkzRJCLpUp1UJs1frMLAqq6OnqhZo2qzYRmel/UxSZ/pYLM3H3GNBjCGK7+zmKvzsfSWT5AtzFfdZfPp7BMhGu93r5yuR/M51Xfgk2F9vSaxyEisHc8W6Gf12OL2Y7rmoc7vnf4+WUoKo3D8sJRhfirknTiwXgzgrIMvZBLFrxKfxRt9nZC8kW4Y1lw4nnK5azsehHimVm7QaQeJ7UJOg6A17rTJk/tZm3KXpt0MoqIO/UVWZZzHOcvlcO+JI+YsIYr7NFWLXCwfPhPSF/x+u4B6Uo2UrbEmPItwi99OcpJUNrH8uvD8Ik6k+aWvt59HlVjJZ1nIULo/CNunRi888GtxPRn1L3+VsY8YrJKcjy6cIe8mYCjZTsDnSkHW00+bhZITp0WD77ukqtBLZlQRYz+y51TXcPfr8Zefo9L8Sb3U3fv801C3SeP3IZrnLJp9827xj5a3/o7c7wrylLLta7Zxf3aXDJmvjr6nC/entC1wm9a9jd0bwCJFjFuugrjfqHofYlP78zldLxfeLXdp9UYFZpzrS3EgMEkE9ci9LdVdU0hY3/bLMVm9ppQGwnvngrcztO+QH1Y2MvRwYK6wZ3ZZPP2WTvo+/6sptiyvXOVeWp/8qhjOti9UGTaqTdT0CF5u7LfhaUinCx+fAhohRiXYhRRCgUWG4KDmXFVArQnbHe0DUBUUcEjWWKhNxrV0/rNMf/8nPdlOS2A6JIVfjkLjENxkUZyHaToyC58KjSXK4hldPsOa8xwTUh2QWbWKDrpJX0EK7lL5NxCHjuP31KkmYsD4FdNMzPFobq/FvxtkzMFjguf6fhoMWBn+9mNynAP4/i3mcpQtJPbg1YNW8pTTcav1NLIqPQ3mqPfBv3YmvVHBHWMrORm/8tM1+Vf5vjLQGmitabUfR7P56LfVWGC2Sloo7H3rtaY+mm8qBQKU1GX5jOHvut5n28u5u1lBM41See5D+oCvTPB35VDTqjuxC4+Yt3L5bpUBBptJkL3lAZbbzQfcqbcVoyZuWiDAz6A5OPuc5oSDzM/foRKDWy5O1f5geHIbKrAjv3+oGHqOD0eB5AuwqH3srDO5JGfRmRCQCNXe/CBiUoKJbRQaLRxOmZZOGTN9lvnVygEjy4LoPyecCMYydEbQblR+8VP9+zqcddFd5d7MkdnNqGBKsZjIo/WTo2+9G12dda1N6IX6gJ10eOjQFYASJbHlpMZ9ZyriAwDd58witVOGjxCkSSUrR8pt1i80glrKlvl7EwgPVsxKDxLeYJ15EoR/ndtLU0NH3g9NJd057KyQ+x3wM8tTYv/N67EZk+RfeGZzeYQztHrqRzOaiBE+832JETB/Re8ys97VvwL6dPDV8/8qQloAtREmfoN+aa/mt13nrtUJvV8Ur92+Vy8le6MQnXk4/8cHoIBY9OFx8N3JwMOJ+SXHAC4dYvPaKmuyq+rOjyjOtCliUntpkeXrArGyZyckwrUUYmAtwKfXbSxWMZK0eykLElCyLROVLhKELzp5rg7n9bf/x7j9eJIcMZlJkOU0iUajIJfjrp8ao0aNm9Eiqx8Onh13pOV9S3PlVm7BBcfN9PNzY+YTWPYBe8cZGLdqL1Faau/K8BuyavVZxvirEnaovf3PcAHKUmuf83QcPpLDrzRl1IWBE69ze8ltJ63f4PSkJRWuKdt4aq9ZryL9nb3X9U5QsYPnn69EqDuezozqIC2c8hE63o4mRz74ke9ap2pdtmL7flZ3Luzo3bcpMzJ1WUKgJifkPhFpvnXjjhvRc2WInQ/jaTH16cSE9FUV3ogpoOKqYk3SKklvBRjNYY4TV4VhydfAuvSQES3zYM4pik9M4pfWZcgWl0our/ds/TRx6Yt6oqkEf49SnP8prK1GzGeoQPYpKWjtU+Gdy+b9dTRoTe0PUfUJLxNQVJjCfjEZ+fqJZ6+M6jVBdmlzI5ApCtoySVKQqJrH9LEYfn3UE9FW3eZem42BIgf1usw1uHrGaDQtG/uPAfMpLj2xuhtF4wIoZXC7ljfCY3kh8rsPSSW2OLMVpXbMmGqcBK0OKuTnz+KcbRA5aiYbogTeDK+b7Z/2PkMdEc8HuPpyphfABngSGiuSz1gxtYph/fHvshntxgE91eWXih9qsKCs3BN/kb8qIejAn8CMysVZRB7Ke2MeXFE2GRbOvfZ4KHB+rh0xL7zTUCNZ+9kmJOp3WsseMNSdK0GU5d3NlPntoUJmKZ42LFpQsq4hmIaZr5cvY5ZyfXtjCxoaM6Gx8wHf8dXzDkd+sujxl1PISzZvU+AbUnXx3WkBP4mkaUMnyrgmAbPQGbnPRHZ5TDI/WlLmhpEzOyRZ8kvvGQnLK4CVJlNCgo3XWoTtF28xSLI77xU1qN6ubl2x9vi1bwc4SgGAU5HD24frB/MmuvBgw2YEudZ8Pw0kWInURQ0MRNqdMAJmZFblOf+XmLZJKHaVizDtChCHBIJrpfimLmIrmNGRukmROajdzmie2RQlvjjlK448LCW4wiJKQcNwzngM7k76168yd0TAVNypdFPhS3Ye1xonoBUPXHPsg3Jk8P9zBf5A0+qShPxi2e3SacauesqqzosD4G57GYtdY4bAf0N2wH3+88/GBEGUPEOHCbfU3t5YJlwl35L92uUOof7Js5Pz1V4Zq3G0MJ+Z8W2S2HPY+yRumpkSRUZN4BTNDa99wFim7nPNlDq+ejUM+qOXUniQe2jJmPeHk/ObxOkjK+mg12qIIEqH6aEbs/JzhTLYsQJi+OpyQn6OyGEWYsn43geZCVj9RI5GYvDNRQeYu0ZjarJDueFftdWrNVAOCYTccYE66IqMqjGtLYlnAy0pEHLU6Cp6JFCxU+rO/zjNzccglzYMhTI5vDAQSb1CMTbxafjhfHkJV655ovTJ8pfVIFECVh4TzvfJt4q1Fal08FK/WbR/IGO67CXdGyYe7fOohW6PKJKwF5lGLpSPPevWWmOsAVN4a1p5O6Mo2EoQJCe/oro6hSA8dTmIhG2InFnLIVuHKxSFSBZVuHq8mPne+id13/qy72h6YuKoppHJSGWDyPjxcuud88aZhAJEgCcEQkCuPjlF/27lvo+7wvj1/AmIkSmiTmdySIkHkuISjdXU/+QQEXB7vnsRoRyHuNxXKy70mSz6qrnA1MKtFmasq5dTafiM+xKRSlD5wOCXfHXH8m3v/zX3LIwu78nCHidPEcZPNv8ZmT0dbcFZhoOZyEU7gdsj/CkBgSJRy6nK3nVVIa5rOrXx6rJhnLHT/8FGy8ODsza3oTmL8Bw60KeXtWRjEMEfffXdzPZd/PxEx/V0G+M6fHi4659Pm0VgMAYnv07sko8wcVrfejdqBc3fXBS+M4kCtQAEF6u7ee1csfXbinKUi1Lh60AP01NZFSR8HSUuQHVXtAIHFj0llm1AAkWCJm2ZxmDTqkoA8RXS0XHwPNDpDKHoPHW2oO24JlGloHTA3mLkVMSiLWFj/Yj7ZeV0lXfC6IJoILRwi1ZM5EeFzh+Z6EBhSaRGVIA3Zqh/TjeufpDETjCGkU2rxMw33x16spy1TYFk5AASEnB+xBIAlzKXKkoE+ojKXLr4tfbdw0bfp8zf3uV4W5i1SuNUy6VXvs1vi8vcOS1aPH161to+7avHQXRLuTueJhR6BYY7GIn36trot6ex89rL6srogax/dMmH6Al6moJ6UIWIpLUS00hUqNQ/PN2hv2dGg++iCSv7y0j9czrZuPBr0b//xUZv+tDBepjA2niUGZ/IVPinAZt7HVcwqNwXdwsdV6P2c/ye5f4hNJCvrz/3GNl83CdSkoPofWdUHfGr19POMwWlw+v9Vese1QZDbE6rI+8/W8o+0DlvSDAyTki4QYAj0ewxmuyJb6qiDo/ac30gxN9Ywg651IGVlybJIuWsukr7CYTA80WJHUdBKaZkluZFfyish19PofVf3atuRdShHa2bi3EVzRpgvo3LZAXl5xSOKWH812kaZzxNI4sauNRD7nxpZy2WZ6jg88jEeZ+2cqBqYfWZQq33VLC2mXl+KStrGHs+3Jn0k8ds2x3bGuNvupAKx/2XX/tbEb5Ewr4seP+sfCgF71GTCluEiAOL2KwaVFD2Z+JK+KqfaY4wUearieHnLWiWtPXZTI0PG6TkKcCI4KuxeHVp4xN03U9bNijvP2cX6c7y5uF8ilcyvab/XIyfJKyrHcTIaE0kF0h6UeWwlC5eKRY64pKNeW8aJ+IU3sDhBrC0C0xY0HPPji7L8Lqv4QdN1HkbqjUVPWpph3hg7UjNHBdVG5+TGGBjpfhQDI5HCnhjoiVS6XVx7amehV/SMD1gHswh+9jwMm3BEbbFFyt2t4vTtUYYajke9DEMEGw/y8Ij45z1wiSRzQ6tUIruRjFkftHVHP9zWMXrLoHir/GkBtXaRNTroaKxg0giH5LqfI58qHZCQkZqMLPe6oxjrkmYGEPgjFT4zZbNUde2T1HUrKO+BbIU608sqb9h3xuTQ/gP6UZP75cqRj9NHd0W/Aq04+IXxsHeum6+/VZWy1Zv8buunD0uMLbcg2wvNjkuhTe2y43KGOb9drWF5+rYr9NAytrbecCvSue4frLqoeKSXP+RfUXv4jCjHtg47fwrdLRchmOQxRlIbOW7/FGaLDPchrdCa2scPmqoR65E/buv4COaMCgAgYwNEJD1LjrZuLFCJWWf+yxp4cc/NqdEnQ/HQBiAK3n3WR+ElM0NnrVH505xjDiTWbvclbGNm6KxVy4ygTuq3Dl723qQeugijTYYt7idLVrzPms05uHmR82XyerFiUQOmvsi1oRCzxo94VONS0FGml6Y1fg1enY11OWcR5vAz/xxmIMx7ia4mI1SKiHXTSJ1/BDglFfim3TJ08ik69U4j44dzmj8/JZLrqD8wNaUSp7bS0Zm0VCqtA1K7A6xn0ylT15B5GiLSh1NB3LvK6Yyqrxcpcf73pVLTSz1XEJdIxBKQnT2wvC4oPL/Uyz5Mff8szhk38Oaxq83GjhqXuFCnnp8gf3PtKx7mZkkCvdBYXGiWj547c8ZiKfS9LlYA4a/TxKYs7NV8cFX3/JnpWVm1GA21rn3SMNOQVKR6FvutcdpNnmVScAz8CxHAzxYtTgJTXCDgwC7jXfALk+35SIdkj3YHx2nfZEs5fe9kcXqBD+LiS8oQNfNuWCBlh+cQ/DViRr+gwTapyo1th0PK1EA75T+3e++IrlIsbLA93vqahnDE/WWZ8Igo7xavRk0t39djFsQ8uzoLR8jQnRtuyNHllooF3uYU29wmGFLGYVJWztV6FCovg9K0VJkj85xINgisgPGh7HbZ9K202yPKD0ndKNfh2+lWIVHSoITNGEfn8H/p34SdBBcreMRtMmszqKYDGLvhelXmMzXVsKcDhfeyMm8amX5HcYjrcpR2IA8EwbO+gvMPKuMNpbVb1ZLhQ+qsW346620mld0k3gc0aWql70I4rzR8l7r62I1wSNzmcp8b19UrxrpRKana+9iCmUneCvI8RG0eaN3OCWyzuUge4zdJeQyqQ47lF2qz+c/8vfxBR6FAG7DEyl7kclUEZTWQ9sO0Y/pHGyNbIUPJIkoD6VTcu3I3K0wDVcq7+pB8Je8jToBNtzbVdD8SJrKD+EL98K1EvW/6hTvlBjw+ydBnskilUwfL6q5iYS11aS2BH8Zs/6Hb9Pgv0L7QMKZcTct9S/g/5EZkRJOWez3IezwH1I0ff+XvCIpe0aCS74w78IoV93x4u92LCZca8vldHTk0avvM3BsRRhFh+qFm33wSxmxcFhu8UbMhjnI1ufQzTN0fYxs2mj9h42H2ucM132ONzUd8ry34AcfAh9lsc17X86vEOJolyxc2deCbT4bnOeNRuL7HnwuXjm5YSXiv/Y3yNHBh3L0aZr3Ott32S37KPxwrMnlJBWIporE75ij5GuVK/JGOzpXQRki66pH48c7YK+CEKjEmIsmw4eHJjayw3VACxmHOJSdvBpFmP70clYRjT8pPwUsL5Owd38I4nFZ66uxNlYzDqZFjZ4jO1qcT9Rw2WV999wnbDm/8lG288/8remdUfO6FVlE/J6n1EY7pmSKReKYYF+RSjztnT17UTNvEODvU3nHG3N5hsIffmGytTGKMTFz6V3fIPmuw+YZ+W2d3a+PxBTrb0T4EMn1ai0Kfe52jVxMKLPKRd70m2lOuIGvXyxYXYUCW1LjzP7k2PjOjobaRbj0pP3vAMvjcAaWEyu7w9IaaxkgyHSwLKXGTwkgIYAz6vt6VujNqa1TEnkIZHvqYyD+SEt5RbSQl3Cn6kJT04X1iVdpxX+WxY75xWQkthBvX1MsTCF/MMdOBvilq1j8VqKeHRT03PqfjLTnkNuVsn5AEky6qmyBz8ZaCeCLhaOCWgo1jvre4W8DPeZ67N4c/rE4NLf4WsYDVErQYoiBU5PEQS8340sUFgvT3N/cEOeV8sdGweBh6lGrSZ21oHORJ9263SN9vkmcp64h2h6rZftoW9e+zG+sNQ/87EEyaSnHtnRp1C/Ob0nCvBf1tV+c8Ffe2s8uXPRdsKyiEbENQ/PEZnm0tl1tJs0j3SEsohZN8TFFr4GcPgcKqP0P4RRFCeLi/fVFO4CLN8Tu2sEZOVbGKY0UP7KlcazVF4UcK0L3IEl5Kdtg8hCuXp0RrvQuFz3KuS+xDrU4Nf713wrkqrnuM8cF/wva4q8+a8ak+6AYWjWqh42j4/8OJvVd+f3uvfPRrm8O/q88kBmH/Pbmx/sjjZ/Ux2WkPeufdwINm0oZNrItts6UGIAHrDPDRH3pg0vusMBpYEP8qtMsrR+N/qG4a0dEgP0oPHQzrPgPIBgBbU3SBZLA+KReNEgNgemRNH5G4tCvIOYLBrixaJywgxK8+GRBjdX1uwKptxJDYTumQPZl6OAEkEVIC1aPMM/JjDLGoFzEBTUUQrMRLpFm9JLe2jYuj0/CG2ASh1A016grkXRxZPHqIKLCNs7upOh7PT2LqTqi9QZtFjAM12KUsu44vngHQDgcALaSx3kQM2cqw5gGyAROtc1WEMgpizEM9h4eVKLBGyXNVAdc7y48oLvMV5CaJ70DDtxE/S5YqFwHYlcoxpPy4RTyHCg+JfGfXPLQlDnUiCpOwmgRrQ/BEGSXKq5HNcIB6Rald72g/pCpks1BnyFz7HhFSCkTbxIcA6lW6JEbAoybRaajmqYfxr1o+Xj0VeNyg5ohLSFVOeRiPnKqIeFW0wfYEcZrmWckCyPhkKtVnZ+ttAm5MFbglroNyFuSwvCHaQJTUWiITxvKcWx4iKPLNmHBm6s9rrpYbInaHguAbJA6+z4E5Jn9Mm0m0URyhke/gVvw6vr2yV0la1GuKN+YC41RUviHMWJs1MlGpqNxJwenBZSiLWoQFpoZQm/gEFQpip8V9TEzdz7DfOtYuJ6/PAoEYVBIvDIlriFMWLYs+qsGcbKyRVBLREsc10X1UBNdyAwWK6iPEZeQop/xTnEePnDoWridXEW2aUCAAOPnhn29WlVbH9b/QHRrujjdTfyqqigIXNuKLq4OSLYL/qDdrw0ngNVB8Led30Q+YheBTnFiq0cntvegtEmek1fILYCgI2lSsj3pJfygTahLbYVqSY16Udy6ZljivmhRnLclmVpnC9qxdaGz2My55T4V1HOIyJvba2/euF7qlBzhFQUR8THxa2jO4yaGl0NEy1l3p25H1NexLcU+fW6HYtNy1LAQf1YQ+3WsqmdXEatYetA5zzq2aCSqN3tGufFztD0FbCpbHVO+uywULialPzN09Na5AJ/0P4dLWepzmAj1dWihDG0cGRenfZhFNtu04HZRH8oNXh8lQK3GxTkWAt23vRjA24zhaOhJiN7nPxS2MGtCsm7Qlf8Z7mM1DaMcZsKPvhDGd9150xd5tLFKsqR9cjwXoSOIMVAGjWiN4sOOuvYmXyGDf7FmzJ+7c97J9P7G89p4YfQGj7GlvdTjMS9jWUDHrwvIIu73jpZnlpIZDsrnKAJoev+3i2+uwwJJakSKzOAaNs6yn1thAeNcKGMK1Lc9gYJxQaox9Nkxsl1Ka+fv0VVzu+4M2WwzN0UNarbefu4hO3CId9MgqWbPRG/U9Hh0zQ5PIvjPF8/SW2qOB3Xh+r9AS+yxjH2UbvUcHip4UCzuXLDXOUj5Vs3fmiDbUvLRTQVI3fARhcffpdQSH8F7Y2oEYO1ayYNu8PK6uVpH2vfGS76BW00jJqkUt6jPiEo90OcmFaJYRhkfrO8bhmn4ZE1bobjxyAS3LpdbmyO5/E4iGVsTWP8AligNhc1L9MbeUPjqXmISZe9h+25R4/Qg5OtY3Ttv7K20x3d7W42Y3NWQZRxdyz8d62e+XWkbdrCg6298lt1CfFgo58ruoR6yGYZx4TEngA3JsMn2J0do+Fk2sbj/Wz0v7d0Uv2ROSOlTjQNcCv1lft8fvk2Hu7u9eTwD6BU1FXjOgCb+Ij5hPp5BcELjQA4GTnMCBl3MKDV/mDF6cyTkcJC0X8JGRUeYOrck1jKV5uQ4nrcttsNMPcwcS6cnnutGBDQLDY9x24VYg5QRJqIm0wt+HnCETP+YcSYTmAtkkN8rcoepcw7NkW64jha7LbUig4dyBzvSz/+5Gf8beJjgc7yQQKrWksAD2cMrWdyzmhI/saGkbaMyndN8tBiw2EcMAaTCyqg5JHOleryxgj8WaBjek8Ht+qjVR/FILPD9PyIpjJVOHkIoomqBEPBEb00PJk86s4sfu1yqZBgKichqc9/xXL748NfOZSVSYh64s/XmLH1Do/wn58vU0nU1ev1bLv7fXj6+rZT8x5E0c9/xCT8NQuq08cUJUfavXGDZaCXwHLjx/o5sMHDNwyEfLMnGvWm/duZhwfFVOYlVxa+jEd35trBW5OWDGTJZF1UVAS2F9lsohDCwFtIwvipABcLegmTeKlfVii60gXd4Q4UcTtXvgyO2xkLOwTzG+GFIx3NkNO8SNjORB0dz2Jpq9pHUdwrNGqpwAP4dtCcL+xhrCnV2A6xwxm+v30gzPmxS+R2cf/drD2euPvvz/SVmkleW4xoMR+yNKsqJqumFatuN6ACJMKONCen4QRnGitLFplhdlVTdt1w/jNC/rth/ndT/v5wBAEBgChcERSBQag8XhCUQSmUKl0RlMFpvD5fEFwjB9Kr5YIpXJFUqVWqPV6Q1Gk9litdkdTpfbx+PrBUAIRlAMJ0iKZliOF0RJVlRNN0zLdlzPD8IoTtIsL8qqbtquH8ZpXtZtP87rft7f3w/CKE7SLC/Kqm7argcQYUIZF1JpY90wTvOybvtxXvfzfj+xqHlk9ew9IxQ/pKJquhHK37Rsx/V8AIRgBMVwguTxBUKRWELRDCuVyRVKlVqj1ekNRpPZYrXZHU6X2+P1cQAgCAyBwuAIJAqNweLwBCIpAKBQaXQGk8XmcHl8gVAklkhlcoVSpdZodXqD0WS2WG12h9Pl9vH4egFAEBgChcERSBQag8XhCUQSmUKlWZ7OYLLYHC6PLxCKxBKpTK5QqtQarU5vMJrMFqvN7nC63B6vnz9fIBSJJVKZXKFUqTVanR4AIRhBMZwgKZphOYPRZLZYbXaH0+X2eH1+hAllXEiljXUemxUD07Jdbsfj9Sm/FgARJpRxIT0/CKM4UdrYNMuLsqqbtuuHcZqXdduP87qf93MACMEIiuEESdEMy/GCKMmKqumGadmO6/lBGMVJmuVFWdVN2/XDOM3Luu3Hed2f5/sCIAQjKIYTJEUzLMcLoiQrqqYbpmU7rucHYRQnaZYXZVU3bdcfzi8hmNVtKWhyWXpimv4zGu0z3lOOSGBdQcJNeDFBsq6APl2BiPo1nWqBnV4dRuVptVRcPzhFfNOVibFfk2XV729Ie1WOj8Sg/adU6SZMoS0z4FFXzW69ktSkAhF1Bf7rtQerjk21/pGIv/oqCtult6Oq7qK2q0Tc1iseiCW7ajvoYuDNrqAHJyBZD7I+DSjYn5Y0ju4LF3fzXXwX9B/4rC+ZwvuGSlcjyKQAxvVaY2E3xMGeiJK7Qic4OnvefSCR2k4d7PUkgjilb5KYE1F8V4G/nvwg0G1Pbky3FCn4jFFeIR1XnLBDTTiHfTpOj2jbkWMmNNmdcbZvkH+/pl/u1kCWeN6JGwH7yZC7xTUFsu+GyNoNUbcrFJYGdO8qXNoBwV0Di3cJ1PpDIcNX0cNeIoB5d8bebv7Q8geFwuaXEWXsqy/r+NxSqj2YYL8atu4qpeKGNWL9Sq4E0feSnXqvA013WqqB+B5OCWjdwQz+UAgOUZk3f960FNbhFoQtveKQnKFF0t9n9ryPnAHZQ6UyOcryKljf3X8TxvfuWUu4VWvEJgVE8g8Dje0IXMw0nqqA/F3NB2F/d48tng41xCZfa0TwiUDGO4ONr0kxZrXNq7N7zkOKW8WPWX1FqQOBeBVk9VPPOcmHiNz9QPR+srokHu+XYINL/NxQuKPzBZhLfcj0kso9BZJ3dheN1f5aUgo/ULqpaHunJbCev1pkz5nmJx+2YmmmEQGDeXMtS2hPlMO8nvYaANUXLvzmIFt/NC8lMHmVXdR8FOEfKIWU54+rRJ33zgVCy4AonkSN0xXrurnyHSLxY8Xln2Z3hog4sbVOZ6JQF5Rt+5Ech3pk7m8MKsSiajZo6YluzmlbAdB912lZCkzo2bHxRY5m/Dnd8xplRro446Nk/cejk9dP86Jrn0CXcJTC7esjHUJc+xmp5CcCTW8G/j20KQWnDXXEkEW9Qj466s36NlFsb4WbqswVlDa19JBdp1oqIKQp5A3LuGvJARHWv/iQ9cHpIN0vhmQ/NhzuDVHXG9LIN0SQf9Z4qvbj4ydleTrzyh9L/e+6FUNhTYHbvdVUJv11Zs/rVIHJBOPMeF+Br76aF7pX/kTFKXs16lBKN5tBtgWGzO+3DIMyg7p3V5ZxlPtvLUO072cqk9Lf1Nl0G2X/DfSXitfEagteIt1+7zToeztmby29V/I/g5Mqd6NX5DG4e8XLEvN81cT28WupLlG4WiLG/ApY8i30kuhKyP6SL36tGebPDJj9D9zbtY9kcLiRO/EAPFeusQLF8TTVTdRTvPUPL9zyK6lFbpPrtdbYtOYw7TuYjj23606q9dEde5gzjf2rpCG/USk5XT0kfZOa6N61ydXMMuMPl8UXm0scvaJQEx1nKNurUFmRKWvn5o+aoGYTCJMsrn36ZUsC/NRmaNQYwA8jD+m1KoMzV+CLqq1BK/y4hOrbCHh2/KBmZRa3mCsR+yvcLJixZlRy7n5q67jxKQnyh7pbVBZuks3h6Crj7Y80cMjvhV2n97pXMceznyUMtma0pzUqef7wxufv91cbCeOK9AlAWdg5fpn86arqw4v34djJhJhUFzXYWM/Zs2lfjhdxIyD+Gjud/N0P64XKSygdrTU2rTlM+w5GUcwAL/x/Usby70wDsKFFRSZSC3qnxE/8RRtLvtAtnVF9WZcOawV23eDlDQiF7aSbsM7xpgHhcXNPG0xj90cZpA8yye6jvxBo0sncBbtu4qq7pyA6YAgIoNalo+Eki5rykX/Yx5g3VdGschyUsMtfSv9RIXdKhZeiqYeqOjb11c5t0Oe6j2gZ9SWw62KftjS0ErDP3wmSVIdN1P6uXwKjM1xqwnqZ6kZzMWf2LhH8YwWOYp2MR5tkPzJSWWABb+3SO8TU9reGqzJ1o5gluXuZuF5yf7kpYCvwducdFbXbs52L4AX50d0390ZzPYkfoNlDdUPwvXveQy7VPRtaOGtWwFllBIaSGdhg9tSuX1mJ6pOjVXVA0GnAhFIbfDqRgAUUXtB5r9Qlq5iL9YJ9LtOAH1Q0T4e9wgMuXXFxpVotdi4bd+muZYj1ab3aw38bkb+0wOZv+465OsL6G+ZmLx4xSXxG3WLithPj2UTSWP+P4uUHQ0WszT97nv+LVfstTnj+5PO5MIt3ipaNNtt+VRy9fn0uePiokJ7v+WPZ02bsniEBFbE293i9PuJ9ngMAAAALV0FEPGnb6zP88rbXtCmPPvR8UcS3jeZ+2vqKlIYOhYpYm7G7QwLe7fz43s7vfcLz3zxBjz4UoKLlA9fvzxmFNmMOAFTE2sw7a63d9psjNy57N2Ou6qI4nARUxNr83dP9X5vj/Mw0gIpYm7E7QgIqYm3G7ozpIyIiIiqllFJKKUVERERExMzMzMybPzmqpzfN1sd0M1prrWeBExERERER0YGoaHr2ir8c/beM/nQm3q93Lo7D4VmbTvnLi9W+GbtnSEBFrM3YHSEBFbE2j4329RZ+GWKVct20wZ/IetvJXURERERERERmZmZmZmZmVlVVVVVVVVWzabq6e3r7ppOcf4Q2vU5krQEA"},function(t,e){t.exports="data:application/font-woff;base64,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"},function(t,e){t.exports="data:application/x-font-ttf;base64,AAEAAAANAIAAAwBQRkZUTWu+R7kAAoaQAAAAHEdERUYC8AAEAAKGcAAAACBPUy8yiDJ6QAAAAVgAAABgY21hcAq/On8AAAyoAAAC8mdhc3D//wADAAKGaAAAAAhnbHlmj/euTQAAGqwAAky8aGVhZBCJ5S0AAADcAAAANmhoZWEPAwq1AAABFAAAACRobXR4RXkYhQAAAbgAAArwbG9jYQL1olwAAA+cAAALEG1heHADLAIcAAABOAAAACBuYW1l45eLrAACZ2gAAASGcG9zdK+Pm6EAAmvwAAAadQABAAAABAHLkM94WV8PPPUACwcAAAAAANQzzTIAAAAA1DPNMv///wAJAQYAAAAACAACAAEAAAAAAAEAAAYA/wAAAAkA/////wkBAAEAAAAAAAAAAAAAAAAAAAK1AAEAAALDAhkAJwAAAAAAAgAAAAEAAQAAAEAAAAAAAAAAAwZpAZAABQAABIwEMwAAAIYEjAQzAAACcwAAAYoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHlycwBAACD1AAYA/wAAAAYAAQAAAAABAAAAAAAAAAAAAAAgAAEDgABwAAAAAAJVAAABwAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAXQYAAAAGgAAABwAAAAcAAAAGgAAABoAAAAUAAAAHgAAABoAAAAcAAAAHAAAABwAAeQWAAG4GgAAABoAAAAYAAAAHAAAABgAAAAWAAAAGgAAaBgAAAAYAAAAHgAAyBoAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAcAAAAEgAAABwAAQAaAAAADAAAABIAAAAaAAAAFgAAABwAAAAYAAAAHgAAABoAACgUAAAAGgAAAB4AAAAaAAAAFgAAABAAAAAcAAAAGAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHgAAABgAAAAQAAAAGAAAABAAAAAcAAAAGgAAABoAAAAcAAAAEAAAABwAAAAaAAHoFgAAABgAAAAYAAAAGgAAABwAAAAQAAAAGAgABBQAAmgUAAFoGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAQAYAAAAGgAA1BoAANQcAAAAGAAAABgAADQWAAAAFgAAABoAAegYAAAAGAAAABwAAAAWAAAAHAAAABwAAAAcAABAFgAAABoAAAAcAAAAHAAAABgAAAAcAAFoHAABaB4AAAAaAAAAGgAAAB4AAAAMAAEAHAAAACAAAAAYAAAAGAAAABwAAAAcAAAAHgAAABwAAAAYAAAAGAAAAA4AAAAcAAAAGgAAABgAAAASAAAAHAAAABgAAAAaAAAAGAAAABoAAAAYAAAAFgAAABYAAAAUAAAAGAAAABoAALAQAAF8GAAAABoAAAAeAAAAFgAAABgAAAAcAAAAHAABABgAAAgcAAAAHAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAaAABUHAAAABYAABQcAAAAGAAAAB4AAAAaAABAHgAAABoAAcwcAAAEHAAAABYAABAYAAAAGAAAABgAAAAcAAAAHAAAPBwAAAAYAAAAGgAAABoAAGwcAAEAGAAAABgAAAAYAAAAJAAAAB4AAAAQAAAAEAAAAAoAAQAKAAAAGgAAABAAAAAQAAAAEAAAABwAAAAYAAAAGAAAABwAAKAcAAAAHAAAABwAAAAOAAAEHAAAABoAAAAcAAAAEAAAABwAAAAeAAAAHgAAABYAAAAWAAAAHAAAABwAAQAeAAAAFgAAABgAAAAWAAAAFgAAAB4AAQAcAAAAHgAAABoAAQAYAAAAGAAAABAAALQQAAA0EgABNBIAATQKAAC0CgAANBIAATQSAAE0HgAAAB4AAAASAAAADAAAABgAAAAaAAAAGgAAABwAAQAYAAAAHAAAABoAAAAaAAAAHgAAABwAAAAcAAAAGAAAABgAAAAYAAAAHgAAAB4AAAAcAAEAHAABABoAADQeAAC0HAAAABoAAAgWAAAIGgAAABAAAAAaAAAAEAABgAoAAAAKAAGIGAAAFBgAABQeAAAEGgAAABIAAAAWAAA0FAAAABoAAAAWAAAMGgAAkBwAAAAYAAAAGAAAABgAAAAYAAAAFgAAABwAADAcAAAAEgAAABgAAAAWAAAABgAAABgAAAAYAAAAHAAA2BgAAAAWAAAAEAAADBAAAAwYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABAAAAAQAAAAEAAA0A4IAAAQDAAQFAAAABwAAAAUAADgGAAAABgAAAAaAACIGgAAiBwAAIgcAACIGAAAiBgAAIgaAAAAGgAAABgAAAAYAABsFgAAFBgAAAAcAAAAHAABABgAACwYAAAAGAAAABgAAAAWAAAAGAAAABAAARAYAAAADAAADAwAAAwcAAEAHAAAABYAAAAaAAAAFgAAABgAACwYAAAAGAAAABQAALAYAAAAFAAAABAAAAAYAAAAHAAAsBgAAAAcAAEAGgAAgB4D//wcAAAAGAAAABYAAAAUAABUGAAAABgAAAAYAAAAGAAAABoAAAAYAAAAEgAAABYAAAAiAAAAGgAAABgAAAAcAAAAHAAAACAAAAAkAAAAGAABtBgAAAAcAAAAGAAAABgAAAAeAAAAGAAAACAAAAAYAAAAH9gApBgAAAAYAAAAGAAAABwAAAAYAAAAFAABABoAAAAMAAEAHAAAACQAAAAgAAAAGAAAABwAAAAYAAAAHAAAQCAAAAAgAAAAGAAAgBgAAAAQAAAAJAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAACcHAAAACAAAAAcAAAAHAAAgBwAAEwcAAAAGAAAABwAARAYAAAAFAAA5BwAAEggAAAAHAAAABwAAAAYAAAAGAAAABwAAPgUAABgGAAAABgAAAAYAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAABkHAABkBgAAWQgAAAAIAAAqBwAAAAYAAAkHAAAnCQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACAAADggAAA4FgAAABgAAAAYAAAAHAAAABwAAAAcAAAAIAAAABwAAAAgAAAAHAAAABgAAAAgAAAAIAAAACQAAAAYAAAAIAAAABQAACwgAAAAGAAAABgAAAAYAAAAIAAAABgAAAAYAAAAIAAAACAAAAAYAAAAIAAAACAAAAAaAAAAGgAAACAAAAAgAABMGAAAACQAAAAYAAAAHAAAABQAAAgYAAAAFAAAABgAAAgcAAAAHAAACB4AAAQgAAAYGAAAABQAAAggAAAQFAAAABQAAAAcAAAAHAAAABgAAAAUAAAAGAAAABwAAAAgAAAAIAAAACAAAAAYAAAAGAAAABgAAAAcAAAAGAAAACPgAVAkAAAAHAAAACQAAAAkAAAAJAAAACQAAAAkAAAAFAAAABAAAAAgAAAAJAAAABgAAAAYAAAAJAAAACQAAAAcAAAAJAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABwAAAAcAAAAIAAAA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AAD8uAAA/QwAAP1gAAD9tAAA/ggAAP64AAD/CAABABQAAQW0AAEG9AABB/gAAQjQAAEJZAABChAAAQqYAAELGAABDAQAAQykAAENLAABDgAAAQ+IAAERLAABEaAAARLMAAETOAABE+QAARSQAAEVKAABFaQAARZYAAEW/AABF8AAARiEAAEZeAABGnwAARtUAAEc1AABHUAAAR3UAAEekAABHwQAAR98AAEgpAABIcAAASJ4AAEjCAABI2wAASQEAAEkzAABJ2gAASjoAAEqTAABLFQAAS5MAAExdAABMfQAATLgAAEzMAABM7AAATSoAAE1dAABNlQAATckAAE4DAABOUgAAToQAAE68AABO5AAATyEAAE82AABP1gAAUAcAAFBwAABQsgAAUPIAAFEnAABRUgAAUZIAAFHcAABSEgAAUl4AAFKIAABSuQAAUvUAAFMoAABTRgAAU5AAAFQQAABUaAAAVLgAAFTRAABVCAAAVVMAAFWYAABVtQAAVdYAAFYNAABWKAAAVoEAAFaiAABW2QAAVvgAAFcfAABXdgAAV6gAAFglAABYUgAAWG8AAFi8AABY1gAAWSsAAFldAABZmgAAWfcAAFotAABaVwAAWp4AAFuhAABcEAAAXPgAAF2EAABd8gAAXiQAAF5iAABeowAAXtoAAF8jAABfRwAAX2kAAF/XAABf5gAAX/4AAGAbAABgXQAAYKQAAGDNAABg6QAAYTIAAGFsAABhqQAAYh0AAGJjAABijgAAYs4AAGLoAABjkwAAY6oAAGPVAABkBAAAZEUAAGTkAABlBQAAZUEAAGV/AABlvgAAZegAAGZfAABmsgAAZwQAAGdCAABndgAAZ58AAGfGAABn+gAAaDEAAGiDAABozQAAaR4AAGlsAABpoAAAadMAAGoHAABqJAAAajsAAGo7AABqOwAAalYAAGqKAABqyAAAavMAAGsrAABragAAa4gAAGuiAABrwQAAa+oAAGwQAABsIgAAba8AAG3bAABuOAAAbl0AAG6BAABupQAAbskAAG7pAABvAgAAbx4AAG9TAABvkwAAb6kAAG/IAABwEgAAcEYAAHBxAABwwQAAcPkAAHEoAABxVQAAcYoAAHG7AAByAwAAckMAAHKiAABy6AAAcz4AAHOHAABz5QAAdBsAAHRZAAB0twAAdNQAAHT+AAB1YQAAdZ4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AgoCCwIMAg0CDgIPAhACEQISAhMCFAIVAhYCFwIYAhkCGgIbAhwCHQIeAh8CIAIhAiICIwIkAiUCJgInAigCKQIqAisCLAItAi4CLwIwAjECMgIzAjQCNQI2AjcCOAI5AjoCOwI8Aj0CPgI/AkACQQJCAkMCRAJFAkYCRwJIAkkCSgJLAkwCTQJOAk8CUAJRAlICUwDSAlQCVQJWAlcCWAJZAloCWwJcAl0CXgJfAmACYQJiAmMCZAJlAmYCZwJoAmkCagJrAmwCbQJuAm8CcAJxAnICcwJ0AnUCdgJ3AngCeQJ6AnsCfAJ9An4CfwKAAoECggKDAoQChQKGAocCiAKJAooCiwKMAo0CjgKPApACkQKSApMClAKVApYClwKYApkCmgKbApwCnQKeAp8CoAKhAqICowKkAqUCpgKnAqgCqQKqAqsCrAKtAq4CrwKwArECsgKzArQCtQK2ArcCuAK5AroCuwK8Ar0CvgK/AsACwQLCAsMCxALFAsYCxwLIAskCygLLAswCzQLOAs8C0ALRAtIC0wLUAtUC1gLXAtgC2QLaAtsC3ALdAt4C3wLgAuEC4gLjAuQC5QLmAucC6ALpAuoC6wLsAu0C7gLvAvAC8QLyAvMC9AL1AvYC9wL4AvkC+gL7AvwC/QL+Av8DAAMBAwIDAwMEAwUDBgMHAwgDCQMKAwsDDAMNAw4DDwMQAxEDEgMTAxQDFQMWAxcDGAMZAxoDGwMcAx0DHgMfAyADIQMiAyMDJAMlAyYDJwMoAykDKgMrAywDLQMuAy8DMAMxAzIDMwM0AzUDNgM3AzgDOQM6AzsDPAM9Az4DPwNAA0EDQgNDA0QDRQNGA0cDSANJA0oDSwNMA00DTgNPA1ADUQNSA1MDVANVA1YDVwNYA1kDWgNbA1wDXQNeA18DYANhA2IDYwNkA2UDZgNnA2gDaQNqA2sDbANtA24DbwNwA3EDcgNzA3QDdQN2A3cDeAN5A3oDewN8A30DfgN/A4ADgQOCA4MDhAOFA4YDhwOIA4kDigOLA4wDjQOOA48DkAORA5IDkwOUA5UDlgOXA5gDmQOaA5sDnAOdA54DnwOgA6EDogOjA6QDpQOmA6cDqAOpA6oDqwOsA60DrgOvA7ADsQCUBWdsYXNzBW11c2ljBnNlYXJjaAhlbnZlbG9wZQVoZWFydARzdGFyCnN0YXJfZW1wdHkEdXNlcgRmaWxtCHRoX2xhcmdlAnRoB3RoX2xpc3QCb2sGcmVtb3ZlB3pvb21faW4Iem9vbV9vdXQDb2ZmBnNpZ25hbANjb2cFdHJhc2gEaG9tZQhmaWxlX2FsdAR0aW1lBHJvYWQMZG93bmxvYWRfYWx0CGRvd25sb2FkBnVwbG9hZAVpbmJveAtwbGF5X2NpcmNsZQZyZXBlYXQHcmVmcmVzaAhsaXN0X2FsdARsb2NrBGZsYWcKaGVhZHBob25lcwp2b2x1bWVfb2ZmC3ZvbHVtZV9kb3duCXZvbHVtZV91cAZxcmNvZGUHYmFyY29kZQN0YWcEdGFncwRib29rCGJvb2ttYXJrBXByaW50BmNhbWVyYQRmb250BGJvbGQGaXRhbGljC3RleHRfaGVpZ2h0CnRleHRfd2lkdGgKYWxpZ25fbGVmdAxhbGlnbl9jZW50ZXILYWxpZ25fcmlnaHQNYWxpZ25fanVzdGlmeQRsaXN0C2luZGVudF9sZWZ0DGluZGVudF9yaWdodA5mYWNldGltZV92aWRlbwdwaWN0dXJlBnBlbmNpbAptYXBfbWFya2VyBmFkanVzdAR0aW50BGVkaXQFc2hhcmUFY2hlY2sEbW92ZQ1zdGVwX2JhY2t3YXJkDWZhc3RfYmFja3dhcmQIYmFja3dhcmQEcGxheQVwYXVzZQRzdG9wB2ZvcndhcmQMZmFzdF9mb3J3YXJkDHN0ZXBfZm9yd2FyZAVlamVjdAxjaGV2cm9uX2xlZnQNY2hldnJvbl9yaWdodAlwbHVzX3NpZ24KbWludXNfc2lnbgtyZW1vdmVfc2lnbgdva19zaWduDXF1ZXN0aW9uX3NpZ24JaW5mb19zaWduCnNjcmVlbnNob3QNcmVtb3ZlX2NpcmNsZQlva19jaXJjbGUKYmFuX2NpcmNsZQphcnJvd19sZWZ0C2Fycm93X3JpZ2h0CGFycm93X3VwCmFycm93X2Rvd24Jc2hhcmVfYWx0C3Jlc2l6ZV9mdWxsDHJlc2l6ZV9zbWFsbBBleGNsYW1hdGlvbl9zaWduBGdpZnQEbGVhZgRmaXJlCGV5ZV9vcGVuCWV5ZV9jbG9zZQx3YXJuaW5nX3NpZ24FcGxhbmUIY2FsZW5kYXIGcmFuZG9tB2NvbW1lbnQGbWFnbmV0CmNoZXZyb25fdXAMY2hldnJvbl9kb3duB3JldHdlZXQNc2hvcHBpbmdfY2FydAxmb2xkZXJfY2xvc2ULZm9sZGVyX29wZW4PcmVzaXplX3ZlcnRpY2FsEXJlc2l6ZV9ob3Jpem9udGFsCWJhcl9jaGFydAx0d2l0dGVyX3NpZ24NZmFjZWJvb2tfc2lnbgxjYW1lcmFfcmV0cm8Da2V5BGNvZ3MIY29tbWVudHMNdGh1bWJzX3VwX2FsdA90aHVtYnNfZG93bl9hbHQJc3Rhcl9oYWxmC2hlYXJ0X2VtcHR5B3NpZ25vdXQNbGlua2VkaW5fc2lnbgdwdXNocGluDWV4dGVybmFsX2xpbmsGc2lnbmluBnRyb3BoeQtnaXRodWJfc2lnbgp1cGxvYWRfYWx0BWxlbW9uBXBob25lC2NoZWNrX2VtcHR5DmJvb2ttYXJrX2VtcHR5CnBob25lX3NpZ24HdHdpdHRlcghmYWNlYm9vawZnaXRodWIGdW5sb2NrC2NyZWRpdF9jYXJkA3JzcwNoZGQIYnVsbGhvcm4EYmVsbAtjZXJ0aWZpY2F0ZQpoYW5kX3JpZ2h0CWhhbmRfbGVmdAdoYW5kX3VwCWhhbmRfZG93bhFjaXJjbGVfYXJyb3dfbGVmdBJjaXJjbGVfYXJyb3dfcmlnaHQPY2lyY2xlX2Fycm93X3VwEWNpcmNsZV9hcnJvd19kb3duBWdsb2JlBndyZW5jaAV0YXNrcwZmaWx0ZXIJYnJpZWZjYXNlCmZ1bGxzY3JlZW4FZ3JvdXAEbGluawVjbG91ZAZiZWFrZXIDY3V0BGNvcHkKcGFwZXJfY2xpcARzYXZlCnNpZ25fYmxhbmsHcmVvcmRlcgJ1bAJvbA1zdHJpa2V0aHJvdWdoCXVuZGVybGluZQV0YWJsZQVtYWdpYwV0cnVjawlwaW50ZXJlc3QOcGludGVyZXN0X3NpZ24QZ29vZ2xlX3BsdXNfc2lnbgtnb29nbGVfcGx1cwVtb25leQpjYXJldF9kb3duCGNhcmV0X3VwCmNhcmV0X2xlZnQLY2FyZXRfcmlnaHQHY29sdW1ucwRzb3J0CXNvcnRfZG93bgdzb3J0X3VwDGVudmVsb3BlX2FsdAhsaW5rZWRpbgR1bmRvBWxlZ2FsCWRhc2hib2FyZAtjb21tZW50X2FsdAxjb21tZW50c19hbHQEYm9sdAdzaXRlbWFwCHVtYnJlbGxhBXBhc3RlCmxpZ2h0X2J1bGIIZXhjaGFuZ2UOY2xvdWRfZG93bmxvYWQMY2xvdWRfdXBsb2FkB3VzZXJfbWQLc3RldGhvc2NvcGUIc3VpdGNhc2UIYmVsbF9hbHQGY29mZmVlBGZvb2QNZmlsZV90ZXh0X2FsdAhidWlsZGluZwhob3NwaXRhbAlhbWJ1bGFuY2UGbWVka2l0C2ZpZ2h0ZXJfamV0BGJlZXIGaF9zaWduBGYwZmURZG91YmxlX2FuZ2xlX2xlZnQSZG91YmxlX2FuZ2xlX3JpZ2h0D2RvdWJsZV9hbmdsZV91cBFkb3VibGVfYW5nbGVfZG93bgphbmdsZV9sZWZ0C2FuZ2xlX3JpZ2h0CGFuZ2xlX3VwCmFuZ2xlX2Rvd24HZGVza3RvcAZsYXB0b3AGdGFibGV0DG1vYmlsZV9waG9uZQxjaXJjbGVfYmxhbmsKcXVvdGVfbGVmdAtxdW90ZV9yaWdodAdzcGlubmVyBmNpcmNsZQVyZXBseQpnaXRodWJfYWx0EGZvbGRlcl9jbG9zZV9hbHQPZm9sZGVyX29wZW5fYWx0CmV4cGFuZF9hbHQMY29sbGFwc2VfYWx0BXNtaWxlBWZyb3duA21laAdnYW1lcGFkCGtleWJvYXJkCGZsYWdfYWx0DmZsYWdfY2hlY2tlcmVkCHRlcm1pbmFsBGNvZGUJcmVwbHlfYWxsD3N0YXJfaGFsZl9lbXB0eQ5sb2NhdGlvbl9hcnJvdwRjcm9wCWNvZGVfZm9yawZ1bmxpbmsEXzI3OQtleGNsYW1hdGlvbgtzdXBlcnNjcmlwdAlzdWJzY3JpcHQEXzI4MwxwdXp6bGVfcGllY2UKbWljcm9waG9uZQ5taWNyb3Bob25lX29mZgZzaGllbGQOY2FsZW5kYXJfZW1wdHkRZmlyZV9leHRpbmd1aXNoZXIGcm9ja2V0Bm1heGNkbhFjaGV2cm9uX3NpZ25fbGVmdBJjaGV2cm9uX3NpZ25fcmlnaHQPY2hldnJvbl9zaWduX3VwEWNoZXZyb25fc2lnbl9kb3duBWh0bWw1BGNzczMGYW5jaG9yCnVubG9ja19hbHQIYnVsbHNleWUTZWxsaXBzaXNfaG9yaXpvbnRhbBFlbGxpcHNpc192ZXJ0aWNhbARfMzAzCXBsYXlfc2lnbgZ0aWNrZXQObWludXNfc2lnbl9hbHQLY2hlY2tfbWludXMIbGV2ZWxfdXAKbGV2ZWxfZG93bgpjaGVja19zaWduCWVkaXRfc2lnbgRfMzEyCnNoYXJlX3NpZ24HY29tcGFzcwhjb2xsYXBzZQxjb2xsYXBzZV90b3AEXzMxNwNldXIDZ2JwA3VzZANpbnIDanB5A3J1YgNrcncDYnRjBGZpbGUJZmlsZV90ZXh0EHNvcnRfYnlfYWxwaGFiZXQEXzMyORJzb3J0X2J5X2F0dHJpYnV0ZXMWc29ydF9ieV9hdHRyaWJ1dGVzX2FsdA1zb3J0X2J5X29yZGVyEXNvcnRfYnlfb3JkZXJfYWx0BF8zMzQEXzMzNQx5b3V0dWJlX3NpZ24HeW91dHViZQR4aW5nCXhpbmdfc2lnbgx5b3V0dWJlX3BsYXkHZHJvcGJveA1zdGFja2V4Y2hhbmdlCWluc3RhZ3JhbQZmbGlja3IDYWRuBGYxNzEOYml0YnVja2V0X3NpZ24GdHVtYmxyC3R1bWJscl9zaWduD2xvbmdfYXJyb3dfZG93bg1sb25nX2Fycm93X3VwD2xvbmdfYXJyb3dfbGVmdBBsb25nX2Fycm93X3JpZ2h0B3dpbmRvd3MHYW5kcm9pZAVsaW51eAdkcmliYmxlBXNreXBlCmZvdXJzcXVhcmUGdHJlbGxvBmZlbWFsZQRtYWxlBmdpdHRpcANzdW4EXzM2NgdhcmNoaXZlA2J1ZwJ2awV3ZWlibwZyZW5yZW4EXzM3Mg5zdGFja19leGNoYW5nZQRfMzc0FWFycm93X2NpcmNsZV9hbHRfbGVmdARfMzc2DmRvdF9jaXJjbGVfYWx0BF8zNzgMdmltZW9fc3F1YXJlBF8zODANcGx1c19zcXVhcmVfbwRfMzgyBF8zODMEXzM4NARfMzg1BF8zODYEXzM4NwRfMzg4BF8zODkHdW5pRjFBMARmMWExBF8zOTIEXzM5MwRmMWE0BF8zOTUEXzM5NgRfMzk3BF8zOTgEXzM5OQRfNDAwBGYxYWIEXzQwMgRfNDAzBF80MDQHdW5pRjFCMQRfNDA2BF80MDcEXzQwOARfNDA5BF80MTAEXzQxMQRfNDEyBF80MTMEXzQxNARfNDE1BF80MTYEXzQxNwRfNDE4BF80MTkHdW5pRjFDMAd1bmlGMUMxBF80MjIEXzQyMwRfNDI0BF80MjUEXzQyNgRfNDI3BF80MjgEXzQyOQRfNDMwBF80MzEEXzQzMgRfNDMzBF80MzQHdW5pRjFEMAd1bmlGMUQxB3VuaUYxRDIEXzQzOARfNDM5B3VuaUYxRDUHdW5pRjFENgd1bmlGMUQ3BF80NDMEXzQ0NARfNDQ1BF80NDYEXzQ0NwRfNDQ4BF80NDkHdW5pRjFFMARfNDUxBF80NTIEXzQ1MwRfNDU0BF80NTUEXzQ1NgRfNDU3BF80NTgEXzQ1OQRfNDYwBF80NjEEXzQ2MgRfNDYzBF80NjQHdW5pRjFGMARfNDY2BF80NjcEZjFmMwRfNDY5BF80NzAEXzQ3MQRfNDcyBF80NzMEXzQ3NARfNDc1BF80NzYEZjFmYwRfNDc4BF80NzkEXzQ4MARfNDgxBF80ODIEXzQ4MwRfNDg0BF80ODUEXzQ4NgRfNDg3BF80ODgEXzQ4OQRfNDkwBF80OTEEXzQ5MgRfNDkzBF80OTQEZjIxMARfNDk2BGYyMTIEXzQ5OARfNDk5BF81MDAEXzUwMQRfNTAyBF81MDMEXzUwNARfNTA1BF81MDYEXzUwNwRfNTA4BF81MDkFdmVudXMEXzUxMQRfNTEyBF81MTMEXzUxNARfNTE1BF81MTYEXzUxNwRfNTE4BF81MTkEXzUyMARfNTIxBF81MjIEXzUyMwRfNTI0BF81MjUEXzUyNgRfNTI3BF81MjgEXzUyOQRfNTMwBF81MzEEXzUzMgRfNTMzBF81MzQEXzUzNQRfNTM2BF81MzcEXzUzOARfNTM5BF81NDAEXzU0MQRfNTQyBF81NDMEXzU0NARfNTQ1BF81NDYEXzU0NwRfNTQ4BF81NDkEXzU1MARfNTUxBF81NTIEXzU1MwRfNTU0BF81NTUEXzU1NgRfNTU3BF81NTgEXzU1OQRfNTYwBF81NjEEXzU2MgRfNTYzBF81NjQEXzU2NQRfNTY2BF81NjcEXzU2OARfNTY5BGYyNjAEZjI2MQRfNTcyBGYyNjMEXzU3NARfNTc1BF81NzYEXzU3NwRfNTc4BF81NzkEXzU4MARfNTgxBF81ODIEXzU4MwRfNTg0BF81ODUEXzU4NgRfNTg3BF81ODgEXzU4OQRfNTkwBF81OTEEXzU5MgRfNTkzBF81OTQEXzU5NQRfNTk2BF81OTcEXzU5OARmMjdlB3VuaUYyODAHdW5pRjI4MQRfNjAyBF82MDMEXzYwNAd1bmlGMjg1B3VuaUYyODYEXzYwNwRfNjA4BF82MDkEXzYxMARfNjExBF82MTIEXzYxMwRfNjE0BF82MTUEXzYxNgRfNjE3BF82MTgEXzYxOQRfNjIwBF82MjEEXzYyMgRfNjIzBF82MjQEXzYyNQRfNjI2BF82MjcEXzYyOARfNjI5B3VuaUYyQTAHdW5pRjJBMQd1bmlGMkEyB3VuaUYyQTMHdW5pRjJBNAd1bmlGMkE1B3VuaUYyQTYHdW5pRjJBNwd1bmlGMkE4B3VuaUYyQTkHdW5pRjJBQQd1bmlGMkFCB3VuaUYyQUMHdW5pRjJBRAd1bmlGMkFFB3VuaUYyQjAHdW5pRjJCMQd1bmlGMkIyB3VuaUYyQjMHdW5pRjJCNAd1bmlGMkI1B3VuaUYyQjYHdW5pRjJCNwd1bmlGMkI4B3VuaUYyQjkHdW5pRjJCQQd1bmlGMkJCB3VuaUYyQkMHdW5pRjJCRAd1bmlGMkJFB3VuaUYyQzAHdW5pRjJDMQd1bmlGMkMyB3VuaUYyQzMHdW5pRjJDNAd1bmlGMkM1B3VuaUYyQzYHdW5pRjJDNwd1bmlGMkM4B3VuaUYyQzkHdW5pRjJDQQd1bmlGMkNCB3VuaUYyQ0MHdW5pRjJDRAd1bmlGMkNFB3VuaUYyRDAHdW5pRjJEMQd1bmlGMkQyB3VuaUYyRDMHdW5pRjJENAd1bmlGMkQ1B3VuaUYyRDYHdW5pRjJENwd1bmlGMkQ4B3VuaUYyRDkHdW5pRjJEQQd1bmlGMkRCB3VuaUYyREMHdW5pRjJERAd1bmlGMkRFB3VuaUYyRTAHdW5pRjJFMQd1bmlGMkUyB3VuaUYyRTMHdW5pRjJFNAd1bmlGMkU1B3VuaUYyRTYHdW5pRjJFNwRfNjk4B3VuaUYyRTkHdW5pRjJFQQd1bmlGMkVCB3VuaUYyRUMHdW5pRjJFRAd1bmlGMkVFAAAAAAAAAf//AAIAAQAAAA4AAAAYAAAAAAACAAEAAQLCAAEABAAAAAIAAAAAAAEAAAAAzD2izwAAAADLTzwwAAAAANQxaLk="},function(t,e){t.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPHN2Zz4KPG1ldGFkYXRhPgpDcmVhdGVkIGJ5IEZvbnRGb3JnZSAyMDEyMDczMSBhdCBNb24gT2N0IDI0IDE3OjM3OjQwIDIwMTYKIEJ5ICwsLApDb3B5cmlnaHQgRGF2ZSBHYW5keSAyMDE2LiBBbGwgcmlnaHRzIHJlc2VydmVkLgo8L21ldGFkYXRhPgo8ZGVmcz4KPGZvbnQgaWQ9IkZvbnRBd2Vzb21lIiBob3Jpei1hZHYteD0iMTUzNiIgPgogIDxmb250LWZhY2UgCiAgICBmb250LWZhbWlseT0iRm9udEF3ZXNvbWUiCiAgICBmb250LXdlaWdodD0iNDAwIgogICAgZm9udC1zdHJldGNoPSJub3JtYWwiCiAgICB1bml0cy1wZXItZW09IjE3OTIiCiAgICBwYW5vc2UtMT0iMCAwIDAgMCAwIDAgMCAwIDAgMCIKICAgIGFzY2VudD0iMTUzNiIKICAgIGRlc2NlbnQ9Ii0yNTYiCiAgICBiYm94PSItMS4wMjA4MyAtMjU2Ljk2MiAyMzA0LjYgMTUzNy4wMiIKICAgIHVuZGVybGluZS10aGlja25lc3M9IjAiCiAgICB1bmRlcmxpbmUtcG9zaXRpb249IjAiCiAgICB1bmljb2RlLXJhbmdlPSJVKzAwMjAtRjUwMCIKICAvPgo8bWlzc2luZy1nbHlwaCBob3Jpei1hZHYteD0iODk2IiAKZD0iTTIyNCAxMTJoNDQ4djEzMTJoLTQ0OHYtMTMxMnpNMTEyIDB2MTUzNmg2NzJ2LTE1MzZoLTY3MnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iLm5vdGRlZiIgaG9yaXotYWR2LXg9Ijg5NiIgCmQ9Ik0yMjQgMTEyaDQ0OHYxMzEyaC00NDh2LTEzMTJ6TTExMiAwdjE1MzZoNjcydi0xNTM2aC02NzJ6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Ii5udWxsIiBob3Jpei1hZHYteD0iMCIgCiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Im5vbm1hcmtpbmdyZXR1cm4iIGhvcml6LWFkdi14PSI1OTciIAogLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJzcGFjZSIgdW5pY29kZT0iICIgaG9yaXotYWR2LXg9IjQ0OCIgCiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImRpZXJlc2lzIiB1bmljb2RlPSImI3hhODsiIGhvcml6LWFkdi14PSIxNzkyIiAKIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iY29weXJpZ2h0IiB1bmljb2RlPSImI3hhOTsiIGhvcml6LWFkdi14PSIxNzkyIiAKIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icmVnaXN0ZXJlZCIgdW5pY29kZT0iJiN4YWU7IiBob3Jpei1hZHYteD0iMTc5MiIgCiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImFjdXRlIiB1bmljb2RlPSImI3hiNDsiIGhvcml6LWFkdi14PSIxNzkyIiAKIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iQUUiIHVuaWNvZGU9IiYjeGM2OyIgaG9yaXotYWR2LXg9IjE3OTIiIAogLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJPc2xhc2giIHVuaWNvZGU9IiYjeGQ4OyIgaG9yaXotYWR2LXg9IjE3OTIiIAogLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ0cmFkZW1hcmsiIHVuaWNvZGU9IiYjeDIxMjI7IiBob3Jpei1hZHYteD0iMTc5MiIgCiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImluZmluaXR5IiB1bmljb2RlPSImI3gyMjFlOyIgaG9yaXotYWR2LXg9IjE3OTIiIAogLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJub3RlcXVhbCIgdW5pY29kZT0iJiN4MjI2MDsiIGhvcml6LWFkdi14PSIxNzkyIiAKIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZ2xhc3MiIHVuaWNvZGU9IiYjeGYwMDA7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xNjk5IDEzNTBxMCAtMzUgLTQzIC03OGwtNjMyIC02MzJ2LTc2OGgzMjBxMjYgMCA0NSAtMTl0MTkgLTQ1dC0xOSAtNDV0LTQ1IC0xOWgtODk2cS0yNiAwIC00NSAxOXQtMTkgNDV0MTkgNDV0NDUgMTloMzIwdjc2OGwtNjMyIDYzMnEtNDMgNDMgLTQzIDc4cTAgMjMgMTggMzYuNXQzOCAxNy41dDQzIDRoMTQwOHEyMyAwIDQzIC00dDM4IC0xNy41dDE4IC0zNi41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJtdXNpYyIgdW5pY29kZT0iJiN4ZjAwMTsiIApkPSJNMTUzNiAxMzEydi0xMTIwcTAgLTUwIC0zNCAtODl0LTg2IC02MC41dC0xMDMuNSAtMzJ0LTk2LjUgLTEwLjV0LTk2LjUgMTAuNXQtMTAzLjUgMzJ0LTg2IDYwLjV0LTM0IDg5dDM0IDg5dDg2IDYwLjV0MTAzLjUgMzJ0OTYuNSAxMC41cTEwNSAwIDE5MiAtMzl2NTM3bC03NjggLTIzN3YtNzA5cTAgLTUwIC0zNCAtODl0LTg2IC02MC41dC0xMDMuNSAtMzJ0LTk2LjUgLTEwLjV0LTk2LjUgMTAuNXQtMTAzLjUgMzJ0LTg2IDYwLjV0LTM0IDg5CnQzNCA4OXQ4NiA2MC41dDEwMy41IDMydDk2LjUgMTAuNXExMDUgMCAxOTIgLTM5djk2N3EwIDMxIDE5IDU2LjV0NDkgMzUuNWw4MzIgMjU2cTEyIDQgMjggNHE0MCAwIDY4IC0yOHQyOCAtNjh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InNlYXJjaCIgdW5pY29kZT0iJiN4ZjAwMjsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTExNTIgNzA0cTAgMTg1IC0xMzEuNSAzMTYuNXQtMzE2LjUgMTMxLjV0LTMxNi41IC0xMzEuNXQtMTMxLjUgLTMxNi41dDEzMS41IC0zMTYuNXQzMTYuNSAtMTMxLjV0MzE2LjUgMTMxLjV0MTMxLjUgMzE2LjV6TTE2NjQgLTEyOHEwIC01MiAtMzggLTkwdC05MCAtMzhxLTU0IDAgLTkwIDM4bC0zNDMgMzQycS0xNzkgLTEyNCAtMzk5IC0xMjRxLTE0MyAwIC0yNzMuNSA1NS41dC0yMjUgMTUwdC0xNTAgMjI1dC01NS41IDI3My41CnQ1NS41IDI3My41dDE1MCAyMjV0MjI1IDE1MHQyNzMuNSA1NS41dDI3My41IC01NS41dDIyNSAtMTUwdDE1MCAtMjI1dDU1LjUgLTI3My41cTAgLTIyMCAtMTI0IC0zOTlsMzQzIC0zNDNxMzcgLTM3IDM3IC05MHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZW52ZWxvcGUiIHVuaWNvZGU9IiYjeGYwMDM7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xNjY0IDMydjc2OHEtMzIgLTM2IC02OSAtNjZxLTI2OCAtMjA2IC00MjYgLTMzOHEtNTEgLTQzIC04MyAtNjd0LTg2LjUgLTQ4LjV0LTEwMi41IC0yNC41aC0xaC0xcS00OCAwIC0xMDIuNSAyNC41dC04Ni41IDQ4LjV0LTgzIDY3cS0xNTggMTMyIC00MjYgMzM4cS0zNyAzMCAtNjkgNjZ2LTc2OHEwIC0xMyA5LjUgLTIyLjV0MjIuNSAtOS41aDE0NzJxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXpNMTY2NCAxMDgzdjExdjEzLjV0LTAuNSAxMwp0LTMgMTIuNXQtNS41IDl0LTkgNy41dC0xNCAyLjVoLTE0NzJxLTEzIDAgLTIyLjUgLTkuNXQtOS41IC0yMi41cTAgLTE2OCAxNDcgLTI4NHExOTMgLTE1MiA0MDEgLTMxN3E2IC01IDM1IC0yOS41dDQ2IC0zNy41dDQ0LjUgLTMxLjV0NTAuNSAtMjcuNXQ0MyAtOWgxaDFxMjAgMCA0MyA5dDUwLjUgMjcuNXQ0NC41IDMxLjV0NDYgMzcuNXQzNSAyOS41cTIwOCAxNjUgNDAxIDMxN3E1NCA0MyAxMDAuNSAxMTUuNXQ0Ni41IDEzMS41egpNMTc5MiAxMTIwdi0xMDg4cTAgLTY2IC00NyAtMTEzdC0xMTMgLTQ3aC0xNDcycS02NiAwIC0xMTMgNDd0LTQ3IDExM3YxMDg4cTAgNjYgNDcgMTEzdDExMyA0N2gxNDcycTY2IDAgMTEzIC00N3Q0NyAtMTEzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJoZWFydCIgdW5pY29kZT0iJiN4ZjAwNDsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTg5NiAtMTI4cS0yNiAwIC00NCAxOGwtNjI0IDYwMnEtMTAgOCAtMjcuNSAyNnQtNTUuNSA2NS41dC02OCA5Ny41dC01My41IDEyMXQtMjMuNSAxMzhxMCAyMjAgMTI3IDM0NHQzNTEgMTI0cTYyIDAgMTI2LjUgLTIxLjV0MTIwIC01OHQ5NS41IC02OC41dDc2IC02OHEzNiAzNiA3NiA2OHQ5NS41IDY4LjV0MTIwIDU4dDEyNi41IDIxLjVxMjI0IDAgMzUxIC0xMjR0MTI3IC0zNDRxMCAtMjIxIC0yMjkgLTQ1MGwtNjIzIC02MDAKcS0xOCAtMTggLTQ0IC0xOHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ic3RhciIgdW5pY29kZT0iJiN4ZjAwNTsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTE2NjQgODg5cTAgLTIyIC0yNiAtNDhsLTM2MyAtMzU0bDg2IC01MDBxMSAtNyAxIC0yMHEwIC0yMSAtMTAuNSAtMzUuNXQtMzAuNSAtMTQuNXEtMTkgMCAtNDAgMTJsLTQ0OSAyMzZsLTQ0OSAtMjM2cS0yMiAtMTIgLTQwIC0xMnEtMjEgMCAtMzEuNSAxNC41dC0xMC41IDM1LjVxMCA2IDIgMjBsODYgNTAwbC0zNjQgMzU0cS0yNSAyNyAtMjUgNDhxMCAzNyA1NiA0Nmw1MDIgNzNsMjI1IDQ1NXExOSA0MSA0OSA0MXQ0OSAtNDFsMjI1IC00NTUKbDUwMiAtNzNxNTYgLTkgNTYgLTQ2eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJzdGFyX2VtcHR5IiB1bmljb2RlPSImI3hmMDA2OyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNMTEzNyA1MzJsMzA2IDI5N2wtNDIyIDYybC0xODkgMzgybC0xODkgLTM4MmwtNDIyIC02MmwzMDYgLTI5N2wtNzMgLTQyMWwzNzggMTk5bDM3NyAtMTk5ek0xNjY0IDg4OXEwIC0yMiAtMjYgLTQ4bC0zNjMgLTM1NGw4NiAtNTAwcTEgLTcgMSAtMjBxMCAtNTAgLTQxIC01MHEtMTkgMCAtNDAgMTJsLTQ0OSAyMzZsLTQ0OSAtMjM2cS0yMiAtMTIgLTQwIC0xMnEtMjEgMCAtMzEuNSAxNC41dC0xMC41IDM1LjVxMCA2IDIgMjBsODYgNTAwCmwtMzY0IDM1NHEtMjUgMjcgLTI1IDQ4cTAgMzcgNTYgNDZsNTAyIDczbDIyNSA0NTVxMTkgNDEgNDkgNDF0NDkgLTQxbDIyNSAtNDU1bDUwMiAtNzNxNTYgLTkgNTYgLTQ2eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1c2VyIiB1bmljb2RlPSImI3hmMDA3OyIgaG9yaXotYWR2LXg9IjEyODAiIApkPSJNMTI4MCAxMzdxMCAtMTA5IC02Mi41IC0xODd0LTE1MC41IC03OGgtODU0cS04OCAwIC0xNTAuNSA3OHQtNjIuNSAxODdxMCA4NSA4LjUgMTYwLjV0MzEuNSAxNTJ0NTguNSAxMzF0OTQgODl0MTM0LjUgMzQuNXExMzEgLTEyOCAzMTMgLTEyOHQzMTMgMTI4cTc2IDAgMTM0LjUgLTM0LjV0OTQgLTg5dDU4LjUgLTEzMXQzMS41IC0xNTJ0OC41IC0xNjAuNXpNMTAyNCAxMDI0cTAgLTE1OSAtMTEyLjUgLTI3MS41dC0yNzEuNSAtMTEyLjUKdC0yNzEuNSAxMTIuNXQtMTEyLjUgMjcxLjV0MTEyLjUgMjcxLjV0MjcxLjUgMTEyLjV0MjcxLjUgLTExMi41dDExMi41IC0yNzEuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZmlsbSIgdW5pY29kZT0iJiN4ZjAwODsiIGhvcml6LWFkdi14PSIxOTIwIiAKZD0iTTM4NCAtNjR2MTI4cTAgMjYgLTE5IDQ1dC00NSAxOWgtMTI4cS0yNiAwIC00NSAtMTl0LTE5IC00NXYtMTI4cTAgLTI2IDE5IC00NXQ0NSAtMTloMTI4cTI2IDAgNDUgMTl0MTkgNDV6TTM4NCAzMjB2MTI4cTAgMjYgLTE5IDQ1dC00NSAxOWgtMTI4cS0yNiAwIC00NSAtMTl0LTE5IC00NXYtMTI4cTAgLTI2IDE5IC00NXQ0NSAtMTloMTI4cTI2IDAgNDUgMTl0MTkgNDV6TTM4NCA3MDR2MTI4cTAgMjYgLTE5IDQ1dC00NSAxOWgtMTI4CnEtMjYgMCAtNDUgLTE5dC0xOSAtNDV2LTEyOHEwIC0yNiAxOSAtNDV0NDUgLTE5aDEyOHEyNiAwIDQ1IDE5dDE5IDQ1ek0xNDA4IC02NHY1MTJxMCAyNiAtMTkgNDV0LTQ1IDE5aC03NjhxLTI2IDAgLTQ1IC0xOXQtMTkgLTQ1di01MTJxMCAtMjYgMTkgLTQ1dDQ1IC0xOWg3NjhxMjYgMCA0NSAxOXQxOSA0NXpNMzg0IDEwODh2MTI4cTAgMjYgLTE5IDQ1dC00NSAxOWgtMTI4cS0yNiAwIC00NSAtMTl0LTE5IC00NXYtMTI4cTAgLTI2IDE5IC00NQp0NDUgLTE5aDEyOHEyNiAwIDQ1IDE5dDE5IDQ1ek0xNzkyIC02NHYxMjhxMCAyNiAtMTkgNDV0LTQ1IDE5aC0xMjhxLTI2IDAgLTQ1IC0xOXQtMTkgLTQ1di0xMjhxMCAtMjYgMTkgLTQ1dDQ1IC0xOWgxMjhxMjYgMCA0NSAxOXQxOSA0NXpNMTQwOCA3MDR2NTEycTAgMjYgLTE5IDQ1dC00NSAxOWgtNzY4cS0yNiAwIC00NSAtMTl0LTE5IC00NXYtNTEycTAgLTI2IDE5IC00NXQ0NSAtMTloNzY4cTI2IDAgNDUgMTl0MTkgNDV6TTE3OTIgMzIwdjEyOApxMCAyNiAtMTkgNDV0LTQ1IDE5aC0xMjhxLTI2IDAgLTQ1IC0xOXQtMTkgLTQ1di0xMjhxMCAtMjYgMTkgLTQ1dDQ1IC0xOWgxMjhxMjYgMCA0NSAxOXQxOSA0NXpNMTc5MiA3MDR2MTI4cTAgMjYgLTE5IDQ1dC00NSAxOWgtMTI4cS0yNiAwIC00NSAtMTl0LTE5IC00NXYtMTI4cTAgLTI2IDE5IC00NXQ0NSAtMTloMTI4cTI2IDAgNDUgMTl0MTkgNDV6TTE3OTIgMTA4OHYxMjhxMCAyNiAtMTkgNDV0LTQ1IDE5aC0xMjhxLTI2IDAgLTQ1IC0xOQp0LTE5IC00NXYtMTI4cTAgLTI2IDE5IC00NXQ0NSAtMTloMTI4cTI2IDAgNDUgMTl0MTkgNDV6TTE5MjAgMTI0OHYtMTM0NHEwIC02NiAtNDcgLTExM3QtMTEzIC00N2gtMTYwMHEtNjYgMCAtMTEzIDQ3dC00NyAxMTN2MTM0NHEwIDY2IDQ3IDExM3QxMTMgNDdoMTYwMHE2NiAwIDExMyAtNDd0NDcgLTExM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idGhfbGFyZ2UiIHVuaWNvZGU9IiYjeGYwMDk7IiBob3Jpei1hZHYteD0iMTY2NCIgCmQ9Ik03NjggNTEydi0zODRxMCAtNTIgLTM4IC05MHQtOTAgLTM4aC01MTJxLTUyIDAgLTkwIDM4dC0zOCA5MHYzODRxMCA1MiAzOCA5MHQ5MCAzOGg1MTJxNTIgMCA5MCAtMzh0MzggLTkwek03NjggMTI4MHYtMzg0cTAgLTUyIC0zOCAtOTB0LTkwIC0zOGgtNTEycS01MiAwIC05MCAzOHQtMzggOTB2Mzg0cTAgNTIgMzggOTB0OTAgMzhoNTEycTUyIDAgOTAgLTM4dDM4IC05MHpNMTY2NCA1MTJ2LTM4NHEwIC01MiAtMzggLTkwdC05MCAtMzgKaC01MTJxLTUyIDAgLTkwIDM4dC0zOCA5MHYzODRxMCA1MiAzOCA5MHQ5MCAzOGg1MTJxNTIgMCA5MCAtMzh0MzggLTkwek0xNjY0IDEyODB2LTM4NHEwIC01MiAtMzggLTkwdC05MCAtMzhoLTUxMnEtNTIgMCAtOTAgMzh0LTM4IDkwdjM4NHEwIDUyIDM4IDkwdDkwIDM4aDUxMnE1MiAwIDkwIC0zOHQzOCAtOTB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InRoIiB1bmljb2RlPSImI3hmMDBhOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNNTEyIDI4OHYtMTkycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMzIwcS00MCAwIC02OCAyOHQtMjggNjh2MTkycTAgNDAgMjggNjh0NjggMjhoMzIwcTQwIDAgNjggLTI4dDI4IC02OHpNNTEyIDgwMHYtMTkycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMzIwcS00MCAwIC02OCAyOHQtMjggNjh2MTkycTAgNDAgMjggNjh0NjggMjhoMzIwcTQwIDAgNjggLTI4dDI4IC02OHpNMTE1MiAyODh2LTE5MnEwIC00MCAtMjggLTY4dC02OCAtMjhoLTMyMApxLTQwIDAgLTY4IDI4dC0yOCA2OHYxOTJxMCA0MCAyOCA2OHQ2OCAyOGgzMjBxNDAgMCA2OCAtMjh0MjggLTY4ek01MTIgMTMxMnYtMTkycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMzIwcS00MCAwIC02OCAyOHQtMjggNjh2MTkycTAgNDAgMjggNjh0NjggMjhoMzIwcTQwIDAgNjggLTI4dDI4IC02OHpNMTE1MiA4MDB2LTE5MnEwIC00MCAtMjggLTY4dC02OCAtMjhoLTMyMHEtNDAgMCAtNjggMjh0LTI4IDY4djE5MnEwIDQwIDI4IDY4dDY4IDI4CmgzMjBxNDAgMCA2OCAtMjh0MjggLTY4ek0xNzkyIDI4OHYtMTkycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMzIwcS00MCAwIC02OCAyOHQtMjggNjh2MTkycTAgNDAgMjggNjh0NjggMjhoMzIwcTQwIDAgNjggLTI4dDI4IC02OHpNMTE1MiAxMzEydi0xOTJxMCAtNDAgLTI4IC02OHQtNjggLTI4aC0zMjBxLTQwIDAgLTY4IDI4dC0yOCA2OHYxOTJxMCA0MCAyOCA2OHQ2OCAyOGgzMjBxNDAgMCA2OCAtMjh0MjggLTY4ek0xNzkyIDgwMHYtMTkyCnEwIC00MCAtMjggLTY4dC02OCAtMjhoLTMyMHEtNDAgMCAtNjggMjh0LTI4IDY4djE5MnEwIDQwIDI4IDY4dDY4IDI4aDMyMHE0MCAwIDY4IC0yOHQyOCAtNjh6TTE3OTIgMTMxMnYtMTkycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMzIwcS00MCAwIC02OCAyOHQtMjggNjh2MTkycTAgNDAgMjggNjh0NjggMjhoMzIwcTQwIDAgNjggLTI4dDI4IC02OHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idGhfbGlzdCIgdW5pY29kZT0iJiN4ZjAwYjsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTUxMiAyODh2LTE5MnEwIC00MCAtMjggLTY4dC02OCAtMjhoLTMyMHEtNDAgMCAtNjggMjh0LTI4IDY4djE5MnEwIDQwIDI4IDY4dDY4IDI4aDMyMHE0MCAwIDY4IC0yOHQyOCAtNjh6TTUxMiA4MDB2LTE5MnEwIC00MCAtMjggLTY4dC02OCAtMjhoLTMyMHEtNDAgMCAtNjggMjh0LTI4IDY4djE5MnEwIDQwIDI4IDY4dDY4IDI4aDMyMHE0MCAwIDY4IC0yOHQyOCAtNjh6TTE3OTIgMjg4di0xOTJxMCAtNDAgLTI4IC02OHQtNjggLTI4aC05NjAKcS00MCAwIC02OCAyOHQtMjggNjh2MTkycTAgNDAgMjggNjh0NjggMjhoOTYwcTQwIDAgNjggLTI4dDI4IC02OHpNNTEyIDEzMTJ2LTE5MnEwIC00MCAtMjggLTY4dC02OCAtMjhoLTMyMHEtNDAgMCAtNjggMjh0LTI4IDY4djE5MnEwIDQwIDI4IDY4dDY4IDI4aDMyMHE0MCAwIDY4IC0yOHQyOCAtNjh6TTE3OTIgODAwdi0xOTJxMCAtNDAgLTI4IC02OHQtNjggLTI4aC05NjBxLTQwIDAgLTY4IDI4dC0yOCA2OHYxOTJxMCA0MCAyOCA2OHQ2OCAyOApoOTYwcTQwIDAgNjggLTI4dDI4IC02OHpNMTc5MiAxMzEydi0xOTJxMCAtNDAgLTI4IC02OHQtNjggLTI4aC05NjBxLTQwIDAgLTY4IDI4dC0yOCA2OHYxOTJxMCA0MCAyOCA2OHQ2OCAyOGg5NjBxNDAgMCA2OCAtMjh0MjggLTY4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJvayIgdW5pY29kZT0iJiN4ZjAwYzsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE2NzEgOTcwcTAgLTQwIC0yOCAtNjhsLTcyNCAtNzI0bC0xMzYgLTEzNnEtMjggLTI4IC02OCAtMjh0LTY4IDI4bC0xMzYgMTM2bC0zNjIgMzYycS0yOCAyOCAtMjggNjh0MjggNjhsMTM2IDEzNnEyOCAyOCA2OCAyOHQ2OCAtMjhsMjk0IC0yOTVsNjU2IDY1N3EyOCAyOCA2OCAyOHQ2OCAtMjhsMTM2IC0xMzZxMjggLTI4IDI4IC02OHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icmVtb3ZlIiB1bmljb2RlPSImI3hmMDBkOyIgaG9yaXotYWR2LXg9IjE0MDgiIApkPSJNMTI5OCAyMTRxMCAtNDAgLTI4IC02OGwtMTM2IC0xMzZxLTI4IC0yOCAtNjggLTI4dC02OCAyOGwtMjk0IDI5NGwtMjk0IC0yOTRxLTI4IC0yOCAtNjggLTI4dC02OCAyOGwtMTM2IDEzNnEtMjggMjggLTI4IDY4dDI4IDY4bDI5NCAyOTRsLTI5NCAyOTRxLTI4IDI4IC0yOCA2OHQyOCA2OGwxMzYgMTM2cTI4IDI4IDY4IDI4dDY4IC0yOGwyOTQgLTI5NGwyOTQgMjk0cTI4IDI4IDY4IDI4dDY4IC0yOGwxMzYgLTEzNnEyOCAtMjggMjggLTY4CnQtMjggLTY4bC0yOTQgLTI5NGwyOTQgLTI5NHEyOCAtMjggMjggLTY4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ6b29tX2luIiB1bmljb2RlPSImI3hmMDBlOyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNMTAyNCA3MzZ2LTY0cTAgLTEzIC05LjUgLTIyLjV0LTIyLjUgLTkuNWgtMjI0di0yMjRxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC02NHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djIyNGgtMjI0cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2NjRxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWgyMjR2MjI0cTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoNjRxMTMgMCAyMi41IC05LjV0OS41IC0yMi41di0yMjRoMjI0CnExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6TTExNTIgNzA0cTAgMTg1IC0xMzEuNSAzMTYuNXQtMzE2LjUgMTMxLjV0LTMxNi41IC0xMzEuNXQtMTMxLjUgLTMxNi41dDEzMS41IC0zMTYuNXQzMTYuNSAtMTMxLjV0MzE2LjUgMTMxLjV0MTMxLjUgMzE2LjV6TTE2NjQgLTEyOHEwIC01MyAtMzcuNSAtOTAuNXQtOTAuNSAtMzcuNXEtNTQgMCAtOTAgMzhsLTM0MyAzNDJxLTE3OSAtMTI0IC0zOTkgLTEyNHEtMTQzIDAgLTI3My41IDU1LjUKdC0yMjUgMTUwdC0xNTAgMjI1dC01NS41IDI3My41dDU1LjUgMjczLjV0MTUwIDIyNXQyMjUgMTUwdDI3My41IDU1LjV0MjczLjUgLTU1LjV0MjI1IC0xNTB0MTUwIC0yMjV0NTUuNSAtMjczLjVxMCAtMjIwIC0xMjQgLTM5OWwzNDMgLTM0M3EzNyAtMzcgMzcgLTkweiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ6b29tX291dCIgdW5pY29kZT0iJiN4ZjAxMDsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTEwMjQgNzM2di02NHEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTU3NnEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djY0cTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoNTc2cTEzIDAgMjIuNSAtOS41dDkuNSAtMjIuNXpNMTE1MiA3MDRxMCAxODUgLTEzMS41IDMxNi41dC0zMTYuNSAxMzEuNXQtMzE2LjUgLTEzMS41dC0xMzEuNSAtMzE2LjV0MTMxLjUgLTMxNi41dDMxNi41IC0xMzEuNXQzMTYuNSAxMzEuNXQxMzEuNSAzMTYuNXoKTTE2NjQgLTEyOHEwIC01MyAtMzcuNSAtOTAuNXQtOTAuNSAtMzcuNXEtNTQgMCAtOTAgMzhsLTM0MyAzNDJxLTE3OSAtMTI0IC0zOTkgLTEyNHEtMTQzIDAgLTI3My41IDU1LjV0LTIyNSAxNTB0LTE1MCAyMjV0LTU1LjUgMjczLjV0NTUuNSAyNzMuNXQxNTAgMjI1dDIyNSAxNTB0MjczLjUgNTUuNXQyNzMuNSAtNTUuNXQyMjUgLTE1MHQxNTAgLTIyNXQ1NS41IC0yNzMuNXEwIC0yMjAgLTEyNCAtMzk5bDM0MyAtMzQzcTM3IC0zNyAzNyAtOTB6CiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJvZmYiIHVuaWNvZGU9IiYjeGYwMTE7IiAKZD0iTTE1MzYgNjQwcTAgLTE1NiAtNjEgLTI5OHQtMTY0IC0yNDV0LTI0NSAtMTY0dC0yOTggLTYxdC0yOTggNjF0LTI0NSAxNjR0LTE2NCAyNDV0LTYxIDI5OHEwIDE4MiA4MC41IDM0M3QyMjYuNSAyNzBxNDMgMzIgOTUuNSAyNXQ4My41IC01MHEzMiAtNDIgMjQuNSAtOTQuNXQtNDkuNSAtODQuNXEtOTggLTc0IC0xNTEuNSAtMTgxdC01My41IC0yMjhxMCAtMTA0IDQwLjUgLTE5OC41dDEwOS41IC0xNjMuNXQxNjMuNSAtMTA5LjUKdDE5OC41IC00MC41dDE5OC41IDQwLjV0MTYzLjUgMTA5LjV0MTA5LjUgMTYzLjV0NDAuNSAxOTguNXEwIDEyMSAtNTMuNSAyMjh0LTE1MS41IDE4MXEtNDIgMzIgLTQ5LjUgODQuNXQyNC41IDk0LjVxMzEgNDMgODQgNTB0OTUgLTI1cTE0NiAtMTA5IDIyNi41IC0yNzB0ODAuNSAtMzQzek04OTYgMTQwOHYtNjQwcTAgLTUyIC0zOCAtOTB0LTkwIC0zOHQtOTAgMzh0LTM4IDkwdjY0MHEwIDUyIDM4IDkwdDkwIDM4dDkwIC0zOHQzOCAtOTB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InNpZ25hbCIgdW5pY29kZT0iJiN4ZjAxMjsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTI1NiA5NnYtMTkycTAgLTE0IC05IC0yM3QtMjMgLTloLTE5MnEtMTQgMCAtMjMgOXQtOSAyM3YxOTJxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMgLTl0OSAtMjN6TTY0MCAyMjR2LTMyMHEwIC0xNCAtOSAtMjN0LTIzIC05aC0xOTJxLTE0IDAgLTIzIDl0LTkgMjN2MzIwcTAgMTQgOSAyM3QyMyA5aDE5MnExNCAwIDIzIC05dDkgLTIzek0xMDI0IDQ4MHYtNTc2cTAgLTE0IC05IC0yM3QtMjMgLTloLTE5MnEtMTQgMCAtMjMgOXQtOSAyMwp2NTc2cTAgMTQgOSAyM3QyMyA5aDE5MnExNCAwIDIzIC05dDkgLTIzek0xNDA4IDg2NHYtOTYwcTAgLTE0IC05IC0yM3QtMjMgLTloLTE5MnEtMTQgMCAtMjMgOXQtOSAyM3Y5NjBxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMgLTl0OSAtMjN6TTE3OTIgMTM3NnYtMTQ3MnEwIC0xNCAtOSAtMjN0LTIzIC05aC0xOTJxLTE0IDAgLTIzIDl0LTkgMjN2MTQ3MnEwIDE0IDkgMjN0MjMgOWgxOTJxMTQgMCAyMyAtOXQ5IC0yM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iY29nIiB1bmljb2RlPSImI3hmMDEzOyIgCmQ9Ik0xMDI0IDY0MHEwIDEwNiAtNzUgMTgxdC0xODEgNzV0LTE4MSAtNzV0LTc1IC0xODF0NzUgLTE4MXQxODEgLTc1dDE4MSA3NXQ3NSAxODF6TTE1MzYgNzQ5di0yMjJxMCAtMTIgLTggLTIzdC0yMCAtMTNsLTE4NSAtMjhxLTE5IC01NCAtMzkgLTkxcTM1IC01MCAxMDcgLTEzOHExMCAtMTIgMTAgLTI1dC05IC0yM3EtMjcgLTM3IC05OSAtMTA4dC05NCAtNzFxLTEyIDAgLTI2IDlsLTEzOCAxMDhxLTQ0IC0yMyAtOTEgLTM4CnEtMTYgLTEzNiAtMjkgLTE4NnEtNyAtMjggLTM2IC0yOGgtMjIycS0xNCAwIC0yNC41IDguNXQtMTEuNSAyMS41bC0yOCAxODRxLTQ5IDE2IC05MCAzN2wtMTQxIC0xMDdxLTEwIC05IC0yNSAtOXEtMTQgMCAtMjUgMTFxLTEyNiAxMTQgLTE2NSAxNjhxLTcgMTAgLTcgMjNxMCAxMiA4IDIzcTE1IDIxIDUxIDY2LjV0NTQgNzAuNXEtMjcgNTAgLTQxIDk5bC0xODMgMjdxLTEzIDIgLTIxIDEyLjV0LTggMjMuNXYyMjJxMCAxMiA4IDIzdDE5IDEzCmwxODYgMjhxMTQgNDYgMzkgOTJxLTQwIDU3IC0xMDcgMTM4cS0xMCAxMiAtMTAgMjRxMCAxMCA5IDIzcTI2IDM2IDk4LjUgMTA3LjV0OTQuNSA3MS41cTEzIDAgMjYgLTEwbDEzOCAtMTA3cTQ0IDIzIDkxIDM4cTE2IDEzNiAyOSAxODZxNyAyOCAzNiAyOGgyMjJxMTQgMCAyNC41IC04LjV0MTEuNSAtMjEuNWwyOCAtMTg0cTQ5IC0xNiA5MCAtMzdsMTQyIDEwN3E5IDkgMjQgOXExMyAwIDI1IC0xMHExMjkgLTExOSAxNjUgLTE3MHE3IC04IDcgLTIyCnEwIC0xMiAtOCAtMjNxLTE1IC0yMSAtNTEgLTY2LjV0LTU0IC03MC41cTI2IC01MCA0MSAtOThsMTgzIC0yOHExMyAtMiAyMSAtMTIuNXQ4IC0yMy41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ0cmFzaCIgdW5pY29kZT0iJiN4ZjAxNDsiIGhvcml6LWFkdi14PSIxNDA4IiAKZD0iTTUxMiA4MDB2LTU3NnEwIC0xNCAtOSAtMjN0LTIzIC05aC02NHEtMTQgMCAtMjMgOXQtOSAyM3Y1NzZxMCAxNCA5IDIzdDIzIDloNjRxMTQgMCAyMyAtOXQ5IC0yM3pNNzY4IDgwMHYtNTc2cTAgLTE0IC05IC0yM3QtMjMgLTloLTY0cS0xNCAwIC0yMyA5dC05IDIzdjU3NnEwIDE0IDkgMjN0MjMgOWg2NHExNCAwIDIzIC05dDkgLTIzek0xMDI0IDgwMHYtNTc2cTAgLTE0IC05IC0yM3QtMjMgLTloLTY0cS0xNCAwIC0yMyA5dC05IDIzdjU3NgpxMCAxNCA5IDIzdDIzIDloNjRxMTQgMCAyMyAtOXQ5IC0yM3pNMTE1MiA3NnY5NDhoLTg5NnYtOTQ4cTAgLTIyIDcgLTQwLjV0MTQuNSAtMjd0MTAuNSAtOC41aDgzMnEzIDAgMTAuNSA4LjV0MTQuNSAyN3Q3IDQwLjV6TTQ4MCAxMTUyaDQ0OGwtNDggMTE3cS03IDkgLTE3IDExaC0zMTdxLTEwIC0yIC0xNyAtMTF6TTE0MDggMTEyMHYtNjRxMCAtMTQgLTkgLTIzdC0yMyAtOWgtOTZ2LTk0OHEwIC04MyAtNDcgLTE0My41dC0xMTMgLTYwLjVoLTgzMgpxLTY2IDAgLTExMyA1OC41dC00NyAxNDEuNXY5NTJoLTk2cS0xNCAwIC0yMyA5dC05IDIzdjY0cTAgMTQgOSAyM3QyMyA5aDMwOWw3MCAxNjdxMTUgMzcgNTQgNjN0NzkgMjZoMzIwcTQwIDAgNzkgLTI2dDU0IC02M2w3MCAtMTY3aDMwOXExNCAwIDIzIC05dDkgLTIzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJob21lIiB1bmljb2RlPSImI3hmMDE1OyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNMTQwOCA1NDR2LTQ4MHEwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTM4NHYzODRoLTI1NnYtMzg0aC0zODRxLTI2IDAgLTQ1IDE5dC0xOSA0NXY0ODBxMCAxIDAuNSAzdDAuNSAzbDU3NSA0NzRsNTc1IC00NzRxMSAtMiAxIC02ek0xNjMxIDYxM2wtNjIgLTc0cS04IC05IC0yMSAtMTFoLTNxLTEzIDAgLTIxIDdsLTY5MiA1NzdsLTY5MiAtNTc3cS0xMiAtOCAtMjQgLTdxLTEzIDIgLTIxIDExbC02MiA3NHEtOCAxMCAtNyAyMy41dDExIDIxLjUKbDcxOSA1OTlxMzIgMjYgNzYgMjZ0NzYgLTI2bDI0NCAtMjA0djE5NXEwIDE0IDkgMjN0MjMgOWgxOTJxMTQgMCAyMyAtOXQ5IC0yM3YtNDA4bDIxOSAtMTgycTEwIC04IDExIC0yMS41dC03IC0yMy41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJmaWxlX2FsdCIgdW5pY29kZT0iJiN4ZjAxNjsiIApkPSJNMTQ2OCAxMTU2cTI4IC0yOCA0OCAtNzZ0MjAgLTg4di0xMTUycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTM0NHEtNDAgMCAtNjggMjh0LTI4IDY4djE2MDBxMCA0MCAyOCA2OHQ2OCAyOGg4OTZxNDAgMCA4OCAtMjB0NzYgLTQ4ek0xMDI0IDE0MDB2LTM3NmgzNzZxLTEwIDI5IC0yMiA0MWwtMzEzIDMxM3EtMTIgMTIgLTQxIDIyek0xNDA4IC0xMjh2MTAyNGgtNDE2cS00MCAwIC02OCAyOHQtMjggNjh2NDE2aC03Njh2LTE1MzZoMTI4MHoKIiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InRpbWUiIHVuaWNvZGU9IiYjeGYwMTc7IiAKZD0iTTg5NiA5OTJ2LTQ0OHEwIC0xNCAtOSAtMjN0LTIzIC05aC0zMjBxLTE0IDAgLTIzIDl0LTkgMjN2NjRxMCAxNCA5IDIzdDIzIDloMjI0djM1MnEwIDE0IDkgMjN0MjMgOWg2NHExNCAwIDIzIC05dDkgLTIzek0xMzEyIDY0MHEwIDE0OCAtNzMgMjczdC0xOTggMTk4dC0yNzMgNzN0LTI3MyAtNzN0LTE5OCAtMTk4dC03MyAtMjczdDczIC0yNzN0MTk4IC0xOTh0MjczIC03M3QyNzMgNzN0MTk4IDE5OHQ3MyAyNzN6TTE1MzYgNjQwCnEwIC0yMDkgLTEwMyAtMzg1LjV0LTI3OS41IC0yNzkuNXQtMzg1LjUgLTEwM3QtMzg1LjUgMTAzdC0yNzkuNSAyNzkuNXQtMTAzIDM4NS41dDEwMyAzODUuNXQyNzkuNSAyNzkuNXQzODUuNSAxMDN0Mzg1LjUgLTEwM3QyNzkuNSAtMjc5LjV0MTAzIC0zODUuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icm9hZCIgdW5pY29kZT0iJiN4ZjAxODsiIGhvcml6LWFkdi14PSIxOTIwIiAKZD0iTTExMTEgNTQwdjRsLTI0IDMyMHEtMSAxMyAtMTEgMjIuNXQtMjMgOS41aC0xODZxLTEzIDAgLTIzIC05LjV0LTExIC0yMi41bC0yNCAtMzIwdi00cS0xIC0xMiA4IC0yMHQyMSAtOGgyNDRxMTIgMCAyMSA4dDggMjB6TTE4NzAgNzNxMCAtNzMgLTQ2IC03M2gtNzA0cTEzIDAgMjIgOS41dDggMjIuNWwtMjAgMjU2cS0xIDEzIC0xMSAyMi41dC0yMyA5LjVoLTI3MnEtMTMgMCAtMjMgLTkuNXQtMTEgLTIyLjVsLTIwIC0yNTYKcS0xIC0xMyA4IC0yMi41dDIyIC05LjVoLTcwNHEtNDYgMCAtNDYgNzNxMCA1NCAyNiAxMTZsNDE3IDEwNDRxOCAxOSAyNiAzM3QzOCAxNGgzMzlxLTEzIDAgLTIzIC05LjV0LTExIC0yMi41bC0xNSAtMTkycS0xIC0xNCA4IC0yM3QyMiAtOWgxNjZxMTMgMCAyMiA5dDggMjNsLTE1IDE5MnEtMSAxMyAtMTEgMjIuNXQtMjMgOS41aDMzOXEyMCAwIDM4IC0xNHQyNiAtMzNsNDE3IC0xMDQ0cTI2IC02MiAyNiAtMTE2eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJkb3dubG9hZF9hbHQiIHVuaWNvZGU9IiYjeGYwMTk7IiBob3Jpei1hZHYteD0iMTY2NCIgCmQ9Ik0xMjgwIDE5MnEwIDI2IC0xOSA0NXQtNDUgMTl0LTQ1IC0xOXQtMTkgLTQ1dDE5IC00NXQ0NSAtMTl0NDUgMTl0MTkgNDV6TTE1MzYgMTkycTAgMjYgLTE5IDQ1dC00NSAxOXQtNDUgLTE5dC0xOSAtNDV0MTkgLTQ1dDQ1IC0xOXQ0NSAxOXQxOSA0NXpNMTY2NCA0MTZ2LTMyMHEwIC00MCAtMjggLTY4dC02OCAtMjhoLTE0NzJxLTQwIDAgLTY4IDI4dC0yOCA2OHYzMjBxMCA0MCAyOCA2OHQ2OCAyOGg0NjVsMTM1IC0xMzYKcTU4IC01NiAxMzYgLTU2dDEzNiA1NmwxMzYgMTM2aDQ2NHE0MCAwIDY4IC0yOHQyOCAtNjh6TTEzMzkgOTg1cTE3IC00MSAtMTQgLTcwbC00NDggLTQ0OHEtMTggLTE5IC00NSAtMTl0LTQ1IDE5bC00NDggNDQ4cS0zMSAyOSAtMTQgNzBxMTcgMzkgNTkgMzloMjU2djQ0OHEwIDI2IDE5IDQ1dDQ1IDE5aDI1NnEyNiAwIDQ1IC0xOXQxOSAtNDV2LTQ0OGgyNTZxNDIgMCA1OSAtMzl6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImRvd25sb2FkIiB1bmljb2RlPSImI3hmMDFhOyIgCmQ9Ik0xMTIwIDYwOHEwIC0xMiAtMTAgLTI0bC0zMTkgLTMxOXEtMTEgLTkgLTIzIC05dC0yMyA5bC0zMjAgMzIwcS0xNSAxNiAtNyAzNXE4IDIwIDMwIDIwaDE5MnYzNTJxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMgLTl0OSAtMjN2LTM1MmgxOTJxMTQgMCAyMyAtOXQ5IC0yM3pNNzY4IDExODRxLTE0OCAwIC0yNzMgLTczdC0xOTggLTE5OHQtNzMgLTI3M3Q3MyAtMjczdDE5OCAtMTk4dDI3MyAtNzN0MjczIDczdDE5OCAxOTh0NzMgMjczCnQtNzMgMjczdC0xOTggMTk4dC0yNzMgNzN6TTE1MzYgNjQwcTAgLTIwOSAtMTAzIC0zODUuNXQtMjc5LjUgLTI3OS41dC0zODUuNSAtMTAzdC0zODUuNSAxMDN0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3QzODUuNSAtMTAzdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1cGxvYWQiIHVuaWNvZGU9IiYjeGYwMWI7IiAKZD0iTTExMTggNjYwcS04IC0yMCAtMzAgLTIwaC0xOTJ2LTM1MnEwIC0xNCAtOSAtMjN0LTIzIC05aC0xOTJxLTE0IDAgLTIzIDl0LTkgMjN2MzUyaC0xOTJxLTE0IDAgLTIzIDl0LTkgMjNxMCAxMiAxMCAyNGwzMTkgMzE5cTExIDkgMjMgOXQyMyAtOWwzMjAgLTMyMHExNSAtMTYgNyAtMzV6TTc2OCAxMTg0cS0xNDggMCAtMjczIC03M3QtMTk4IC0xOTh0LTczIC0yNzN0NzMgLTI3M3QxOTggLTE5OHQyNzMgLTczdDI3MyA3M3QxOTggMTk4CnQ3MyAyNzN0LTczIDI3M3QtMTk4IDE5OHQtMjczIDczek0xNTM2IDY0MHEwIC0yMDkgLTEwMyAtMzg1LjV0LTI3OS41IC0yNzkuNXQtMzg1LjUgLTEwM3QtMzg1LjUgMTAzdC0yNzkuNSAyNzkuNXQtMTAzIDM4NS41dDEwMyAzODUuNXQyNzkuNSAyNzkuNXQzODUuNSAxMDN0Mzg1LjUgLTEwM3QyNzkuNSAtMjc5LjV0MTAzIC0zODUuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW5ib3giIHVuaWNvZGU9IiYjeGYwMWM7IiAKZD0iTTEwMjMgNTc2aDMxNnEtMSAzIC0yLjUgOC41dC0yLjUgNy41bC0yMTIgNDk2aC03MDhsLTIxMiAtNDk2cS0xIC0zIC0yLjUgLTguNXQtMi41IC03LjVoMzE2bDk1IC0xOTJoMzIwek0xNTM2IDU0NnYtNDgycTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtMTQwOHEtMjYgMCAtNDUgMTl0LTE5IDQ1djQ4MnEwIDYyIDI1IDEyM2wyMzggNTUycTEwIDI1IDM2LjUgNDJ0NTIuNSAxN2g4MzJxMjYgMCA1Mi41IC0xN3QzNi41IC00MmwyMzggLTU1MgpxMjUgLTYxIDI1IC0xMjN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InBsYXlfY2lyY2xlIiB1bmljb2RlPSImI3hmMDFkOyIgCmQ9Ik0xMTg0IDY0MHEwIC0zNyAtMzIgLTU1bC01NDQgLTMyMHEtMTUgLTkgLTMyIC05cS0xNiAwIC0zMiA4cS0zMiAxOSAtMzIgNTZ2NjQwcTAgMzcgMzIgNTZxMzMgMTggNjQgLTFsNTQ0IC0zMjBxMzIgLTE4IDMyIC01NXpNMTMxMiA2NDBxMCAxNDggLTczIDI3M3QtMTk4IDE5OHQtMjczIDczdC0yNzMgLTczdC0xOTggLTE5OHQtNzMgLTI3M3Q3MyAtMjczdDE5OCAtMTk4dDI3MyAtNzN0MjczIDczdDE5OCAxOTh0NzMgMjczek0xNTM2IDY0MApxMCAtMjA5IC0xMDMgLTM4NS41dC0yNzkuNSAtMjc5LjV0LTM4NS41IC0xMDN0LTM4NS41IDEwM3QtMjc5LjUgMjc5LjV0LTEwMyAzODUuNXQxMDMgMzg1LjV0Mjc5LjUgMjc5LjV0Mzg1LjUgMTAzdDM4NS41IC0xMDN0Mjc5LjUgLTI3OS41dDEwMyAtMzg1LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InJlcGVhdCIgdW5pY29kZT0iJiN4ZjAxZTsiIApkPSJNMTUzNiAxMjgwdi00NDhxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC00NDhxLTQyIDAgLTU5IDQwcS0xNyAzOSAxNCA2OWwxMzggMTM4cS0xNDggMTM3IC0zNDkgMTM3cS0xMDQgMCAtMTk4LjUgLTQwLjV0LTE2My41IC0xMDkuNXQtMTA5LjUgLTE2My41dC00MC41IC0xOTguNXQ0MC41IC0xOTguNXQxMDkuNSAtMTYzLjV0MTYzLjUgLTEwOS41dDE5OC41IC00MC41cTExOSAwIDIyNSA1MnQxNzkgMTQ3cTcgMTAgMjMgMTJxMTUgMCAyNSAtOQpsMTM3IC0xMzhxOSAtOCA5LjUgLTIwLjV0LTcuNSAtMjIuNXEtMTA5IC0xMzIgLTI2NCAtMjA0LjV0LTMyNyAtNzIuNXEtMTU2IDAgLTI5OCA2MXQtMjQ1IDE2NHQtMTY0IDI0NXQtNjEgMjk4dDYxIDI5OHQxNjQgMjQ1dDI0NSAxNjR0Mjk4IDYxcTE0NyAwIDI4NC41IC01NS41dDI0NC41IC0xNTYuNWwxMzAgMTI5cTI5IDMxIDcwIDE0cTM5IC0xNyAzOSAtNTl6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InJlZnJlc2giIHVuaWNvZGU9IiYjeGYwMjE7IiAKZD0iTTE1MTEgNDgwcTAgLTUgLTEgLTdxLTY0IC0yNjggLTI2OCAtNDM0LjV0LTQ3OCAtMTY2LjVxLTE0NiAwIC0yODIuNSA1NXQtMjQzLjUgMTU3bC0xMjkgLTEyOXEtMTkgLTE5IC00NSAtMTl0LTQ1IDE5dC0xOSA0NXY0NDhxMCAyNiAxOSA0NXQ0NSAxOWg0NDhxMjYgMCA0NSAtMTl0MTkgLTQ1dC0xOSAtNDVsLTEzNyAtMTM3cTcxIC02NiAxNjEgLTEwMnQxODcgLTM2cTEzNCAwIDI1MCA2NXQxODYgMTc5cTExIDE3IDUzIDExNwpxOCAyMyAzMCAyM2gxOTJxMTMgMCAyMi41IC05LjV0OS41IC0yMi41ek0xNTM2IDEyODB2LTQ0OHEwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTQ0OHEtMjYgMCAtNDUgMTl0LTE5IDQ1dDE5IDQ1bDEzOCAxMzhxLTE0OCAxMzcgLTM0OSAxMzdxLTEzNCAwIC0yNTAgLTY1dC0xODYgLTE3OXEtMTEgLTE3IC01MyAtMTE3cS04IC0yMyAtMzAgLTIzaC0xOTlxLTEzIDAgLTIyLjUgOS41dC05LjUgMjIuNXY3cTY1IDI2OCAyNzAgNDM0LjV0NDgwIDE2Ni41CnExNDYgMCAyODQgLTU1LjV0MjQ1IC0xNTYuNWwxMzAgMTI5cTE5IDE5IDQ1IDE5dDQ1IC0xOXQxOSAtNDV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Imxpc3RfYWx0IiB1bmljb2RlPSImI3hmMDIyOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMzg0IDM1MnYtNjRxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC02NHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djY0cTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoNjRxMTMgMCAyMi41IC05LjV0OS41IC0yMi41ek0zODQgNjA4di02NHEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTY0cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2NjRxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWg2NHExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6Ck0zODQgODY0di02NHEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTY0cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2NjRxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWg2NHExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6TTE1MzYgMzUydi02NHEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTk2MHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djY0cTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoOTYwcTEzIDAgMjIuNSAtOS41dDkuNSAtMjIuNXoKTTE1MzYgNjA4di02NHEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTk2MHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djY0cTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoOTYwcTEzIDAgMjIuNSAtOS41dDkuNSAtMjIuNXpNMTUzNiA4NjR2LTY0cTAgLTEzIC05LjUgLTIyLjV0LTIyLjUgLTkuNWgtOTYwcS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2NjRxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWg5NjBxMTMgMCAyMi41IC05LjUKdDkuNSAtMjIuNXpNMTY2NCAxNjB2ODMycTAgMTMgLTkuNSAyMi41dC0yMi41IDkuNWgtMTQ3MnEtMTMgMCAtMjIuNSAtOS41dC05LjUgLTIyLjV2LTgzMnEwIC0xMyA5LjUgLTIyLjV0MjIuNSAtOS41aDE0NzJxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXpNMTc5MiAxMjQ4di0xMDg4cTAgLTY2IC00NyAtMTEzdC0xMTMgLTQ3aC0xNDcycS02NiAwIC0xMTMgNDd0LTQ3IDExM3YxMDg4cTAgNjYgNDcgMTEzdDExMyA0N2gxNDcycTY2IDAgMTEzIC00Nwp0NDcgLTExM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ibG9jayIgdW5pY29kZT0iJiN4ZjAyMzsiIGhvcml6LWFkdi14PSIxMTUyIiAKZD0iTTMyMCA3NjhoNTEydjE5MnEwIDEwNiAtNzUgMTgxdC0xODEgNzV0LTE4MSAtNzV0LTc1IC0xODF2LTE5MnpNMTE1MiA2NzJ2LTU3NnEwIC00MCAtMjggLTY4dC02OCAtMjhoLTk2MHEtNDAgMCAtNjggMjh0LTI4IDY4djU3NnEwIDQwIDI4IDY4dDY4IDI4aDMydjE5MnEwIDE4NCAxMzIgMzE2dDMxNiAxMzJ0MzE2IC0xMzJ0MTMyIC0zMTZ2LTE5MmgzMnE0MCAwIDY4IC0yOHQyOCAtNjh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImZsYWciIHVuaWNvZGU9IiYjeGYwMjQ7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0zMjAgMTI4MHEwIC03MiAtNjQgLTExMHYtMTI2NnEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTY0cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2MTI2NnEtNjQgMzggLTY0IDExMHEwIDUzIDM3LjUgOTAuNXQ5MC41IDM3LjV0OTAuNSAtMzcuNXQzNy41IC05MC41ek0xNzkyIDEyMTZ2LTc2M3EwIC0yNSAtMTIuNSAtMzguNXQtMzkuNSAtMjcuNXEtMjE1IC0xMTYgLTM2OSAtMTE2cS02MSAwIC0xMjMuNSAyMnQtMTA4LjUgNDgKdC0xMTUuNSA0OHQtMTQyLjUgMjJxLTE5MiAwIC00NjQgLTE0NnEtMTcgLTkgLTMzIC05cS0yNiAwIC00NSAxOXQtMTkgNDV2NzQycTAgMzIgMzEgNTVxMjEgMTQgNzkgNDNxMjM2IDEyMCA0MjEgMTIwcTEwNyAwIDIwMCAtMjl0MjE5IC04OHEzOCAtMTkgODggLTE5cTU0IDAgMTE3LjUgMjF0MTEwIDQ3dDg4IDQ3dDU0LjUgMjFxMjYgMCA0NSAtMTl0MTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJoZWFkcGhvbmVzIiB1bmljb2RlPSImI3hmMDI1OyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNMTY2NCA2NTBxMCAtMTY2IC02MCAtMzE0bC0yMCAtNDlsLTE4NSAtMzNxLTIyIC04MyAtOTAuNSAtMTM2LjV0LTE1Ni41IC01My41di0zMnEwIC0xNCAtOSAtMjN0LTIzIC05aC02NHEtMTQgMCAtMjMgOXQtOSAyM3Y1NzZxMCAxNCA5IDIzdDIzIDloNjRxMTQgMCAyMyAtOXQ5IC0yM3YtMzJxNzEgMCAxMzAgLTM1LjV0OTMgLTk1LjVsNjggMTJxMjkgOTUgMjkgMTkzcTAgMTQ4IC04OCAyNzl0LTIzNi41IDIwOXQtMzE1LjUgNzgKdC0zMTUuNSAtNzh0LTIzNi41IC0yMDl0LTg4IC0yNzlxMCAtOTggMjkgLTE5M2w2OCAtMTJxMzQgNjAgOTMgOTUuNXQxMzAgMzUuNXYzMnEwIDE0IDkgMjN0MjMgOWg2NHExNCAwIDIzIC05dDkgLTIzdi01NzZxMCAtMTQgLTkgLTIzdC0yMyAtOWgtNjRxLTE0IDAgLTIzIDl0LTkgMjN2MzJxLTg4IDAgLTE1Ni41IDUzLjV0LTkwLjUgMTM2LjVsLTE4NSAzM2wtMjAgNDlxLTYwIDE0OCAtNjAgMzE0cTAgMTUxIDY3IDI5MXQxNzkgMjQyLjUKdDI2NiAxNjMuNXQzMjAgNjF0MzIwIC02MXQyNjYgLTE2My41dDE3OSAtMjQyLjV0NjcgLTI5MXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idm9sdW1lX29mZiIgdW5pY29kZT0iJiN4ZjAyNjsiIGhvcml6LWFkdi14PSI3NjgiIApkPSJNNzY4IDExODR2LTEwODhxMCAtMjYgLTE5IC00NXQtNDUgLTE5dC00NSAxOWwtMzMzIDMzM2gtMjYycS0yNiAwIC00NSAxOXQtMTkgNDV2Mzg0cTAgMjYgMTkgNDV0NDUgMTloMjYybDMzMyAzMzNxMTkgMTkgNDUgMTl0NDUgLTE5dDE5IC00NXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idm9sdW1lX2Rvd24iIHVuaWNvZGU9IiYjeGYwMjc7IiBob3Jpei1hZHYteD0iMTE1MiIgCmQ9Ik03NjggMTE4NHYtMTA4OHEwIC0yNiAtMTkgLTQ1dC00NSAtMTl0LTQ1IDE5bC0zMzMgMzMzaC0yNjJxLTI2IDAgLTQ1IDE5dC0xOSA0NXYzODRxMCAyNiAxOSA0NXQ0NSAxOWgyNjJsMzMzIDMzM3ExOSAxOSA0NSAxOXQ0NSAtMTl0MTkgLTQ1ek0xMTUyIDY0MHEwIC03NiAtNDIuNSAtMTQxLjV0LTExMi41IC05My41cS0xMCAtNSAtMjUgLTVxLTI2IDAgLTQ1IDE4LjV0LTE5IDQ1LjVxMCAyMSAxMiAzNS41dDI5IDI1dDM0IDIzdDI5IDM2CnQxMiA1Ni41dC0xMiA1Ni41dC0yOSAzNnQtMzQgMjN0LTI5IDI1dC0xMiAzNS41cTAgMjcgMTkgNDUuNXQ0NSAxOC41cTE1IDAgMjUgLTVxNzAgLTI3IDExMi41IC05M3Q0Mi41IC0xNDJ6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InZvbHVtZV91cCIgdW5pY29kZT0iJiN4ZjAyODsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTc2OCAxMTg0di0xMDg4cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOXQtNDUgMTlsLTMzMyAzMzNoLTI2MnEtMjYgMCAtNDUgMTl0LTE5IDQ1djM4NHEwIDI2IDE5IDQ1dDQ1IDE5aDI2MmwzMzMgMzMzcTE5IDE5IDQ1IDE5dDQ1IC0xOXQxOSAtNDV6TTExNTIgNjQwcTAgLTc2IC00Mi41IC0xNDEuNXQtMTEyLjUgLTkzLjVxLTEwIC01IC0yNSAtNXEtMjYgMCAtNDUgMTguNXQtMTkgNDUuNXEwIDIxIDEyIDM1LjV0MjkgMjV0MzQgMjN0MjkgMzYKdDEyIDU2LjV0LTEyIDU2LjV0LTI5IDM2dC0zNCAyM3QtMjkgMjV0LTEyIDM1LjVxMCAyNyAxOSA0NS41dDQ1IDE4LjVxMTUgMCAyNSAtNXE3MCAtMjcgMTEyLjUgLTkzdDQyLjUgLTE0MnpNMTQwOCA2NDBxMCAtMTUzIC04NSAtMjgyLjV0LTIyNSAtMTg4LjVxLTEzIC01IC0yNSAtNXEtMjcgMCAtNDYgMTl0LTE5IDQ1cTAgMzkgMzkgNTlxNTYgMjkgNzYgNDRxNzQgNTQgMTE1LjUgMTM1LjV0NDEuNSAxNzMuNXQtNDEuNSAxNzMuNQp0LTExNS41IDEzNS41cS0yMCAxNSAtNzYgNDRxLTM5IDIwIC0zOSA1OXEwIDI2IDE5IDQ1dDQ1IDE5cTEzIDAgMjYgLTVxMTQwIC01OSAyMjUgLTE4OC41dDg1IC0yODIuNXpNMTY2NCA2NDBxMCAtMjMwIC0xMjcgLTQyMi41dC0zMzggLTI4My41cS0xMyAtNSAtMjYgLTVxLTI2IDAgLTQ1IDE5dC0xOSA0NXEwIDM2IDM5IDU5cTcgNCAyMi41IDEwLjV0MjIuNSAxMC41cTQ2IDI1IDgyIDUxcTEyMyA5MSAxOTIgMjI3dDY5IDI4OXQtNjkgMjg5CnQtMTkyIDIyN3EtMzYgMjYgLTgyIDUxcS03IDQgLTIyLjUgMTAuNXQtMjIuNSAxMC41cS0zOSAyMyAtMzkgNTlxMCAyNiAxOSA0NXQ0NSAxOXExMyAwIDI2IC01cTIxMSAtOTEgMzM4IC0yODMuNXQxMjcgLTQyMi41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJxcmNvZGUiIHVuaWNvZGU9IiYjeGYwMjk7IiBob3Jpei1hZHYteD0iMTQwOCIgCmQ9Ik0zODQgMzg0di0xMjhoLTEyOHYxMjhoMTI4ek0zODQgMTE1MnYtMTI4aC0xMjh2MTI4aDEyOHpNMTE1MiAxMTUydi0xMjhoLTEyOHYxMjhoMTI4ek0xMjggMTI5aDM4NHYzODNoLTM4NHYtMzgzek0xMjggODk2aDM4NHYzODRoLTM4NHYtMzg0ek04OTYgODk2aDM4NHYzODRoLTM4NHYtMzg0ek02NDAgNjQwdi02NDBoLTY0MHY2NDBoNjQwek0xMTUyIDEyOHYtMTI4aC0xMjh2MTI4aDEyOHpNMTQwOCAxMjh2LTEyOGgtMTI4djEyOGgxMjh6Ck0xNDA4IDY0MHYtMzg0aC0zODR2MTI4aC0xMjh2LTM4NGgtMTI4djY0MGgzODR2LTEyOGgxMjh2MTI4aDEyOHpNNjQwIDE0MDh2LTY0MGgtNjQwdjY0MGg2NDB6TTE0MDggMTQwOHYtNjQwaC02NDB2NjQwaDY0MHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYmFyY29kZSIgdW5pY29kZT0iJiN4ZjAyYTsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTYzIDBoLTYzdjE0MDhoNjN2LTE0MDh6TTEyNiAxaC0zMnYxNDA3aDMydi0xNDA3ek0yMjAgMWgtMzF2MTQwN2gzMXYtMTQwN3pNMzc3IDFoLTMxdjE0MDdoMzF2LTE0MDd6TTUzNCAxaC02MnYxNDA3aDYydi0xNDA3ek02NjAgMWgtMzF2MTQwN2gzMXYtMTQwN3pNNzIzIDFoLTMxdjE0MDdoMzF2LTE0MDd6TTc4NiAxaC0zMXYxNDA3aDMxdi0xNDA3ek05NDMgMWgtNjN2MTQwN2g2M3YtMTQwN3pNMTEwMCAxaC02M3YxNDA3aDYzdi0xNDA3egpNMTIyNiAxaC02M3YxNDA3aDYzdi0xNDA3ek0xMzUyIDFoLTYzdjE0MDdoNjN2LTE0MDd6TTE0NDYgMWgtNjN2MTQwN2g2M3YtMTQwN3pNMTYzNSAxaC05NHYxNDA3aDk0di0xNDA3ek0xNjk4IDFoLTMydjE0MDdoMzJ2LTE0MDd6TTE3OTIgMGgtNjN2MTQwOGg2M3YtMTQwOHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idGFnIiB1bmljb2RlPSImI3hmMDJiOyIgCmQ9Ik00NDggMTA4OHEwIDUzIC0zNy41IDkwLjV0LTkwLjUgMzcuNXQtOTAuNSAtMzcuNXQtMzcuNSAtOTAuNXQzNy41IC05MC41dDkwLjUgLTM3LjV0OTAuNSAzNy41dDM3LjUgOTAuNXpNMTUxNSA1MTJxMCAtNTMgLTM3IC05MGwtNDkxIC00OTJxLTM5IC0zNyAtOTEgLTM3cS01MyAwIC05MCAzN2wtNzE1IDcxNnEtMzggMzcgLTY0LjUgMTAxdC0yNi41IDExN3Y0MTZxMCA1MiAzOCA5MHQ5MCAzOGg0MTZxNTMgMCAxMTcgLTI2LjV0MTAyIC02NC41Cmw3MTUgLTcxNHEzNyAtMzkgMzcgLTkxeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ0YWdzIiB1bmljb2RlPSImI3hmMDJjOyIgaG9yaXotYWR2LXg9IjE5MjAiIApkPSJNNDQ4IDEwODhxMCA1MyAtMzcuNSA5MC41dC05MC41IDM3LjV0LTkwLjUgLTM3LjV0LTM3LjUgLTkwLjV0MzcuNSAtOTAuNXQ5MC41IC0zNy41dDkwLjUgMzcuNXQzNy41IDkwLjV6TTE1MTUgNTEycTAgLTUzIC0zNyAtOTBsLTQ5MSAtNDkycS0zOSAtMzcgLTkxIC0zN3EtNTMgMCAtOTAgMzdsLTcxNSA3MTZxLTM4IDM3IC02NC41IDEwMXQtMjYuNSAxMTd2NDE2cTAgNTIgMzggOTB0OTAgMzhoNDE2cTUzIDAgMTE3IC0yNi41dDEwMiAtNjQuNQpsNzE1IC03MTRxMzcgLTM5IDM3IC05MXpNMTg5OSA1MTJxMCAtNTMgLTM3IC05MGwtNDkxIC00OTJxLTM5IC0zNyAtOTEgLTM3cS0zNiAwIC01OSAxNHQtNTMgNDVsNDcwIDQ3MHEzNyAzNyAzNyA5MHEwIDUyIC0zNyA5MWwtNzE1IDcxNHEtMzggMzggLTEwMiA2NC41dC0xMTcgMjYuNWgyMjRxNTMgMCAxMTcgLTI2LjV0MTAyIC02NC41bDcxNSAtNzE0cTM3IC0zOSAzNyAtOTF6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImJvb2siIHVuaWNvZGU9IiYjeGYwMmQ7IiBob3Jpei1hZHYteD0iMTY2NCIgCmQ9Ik0xNjM5IDEwNThxNDAgLTU3IDE4IC0xMjlsLTI3NSAtOTA2cS0xOSAtNjQgLTc2LjUgLTEwNy41dC0xMjIuNSAtNDMuNWgtOTIzcS03NyAwIC0xNDguNSA1My41dC05OS41IDEzMS41cS0yNCA2NyAtMiAxMjdxMCA0IDMgMjd0NCAzN3ExIDggLTMgMjEuNXQtMyAxOS41cTIgMTEgOCAyMXQxNi41IDIzLjV0MTYuNSAyMy41cTIzIDM4IDQ1IDkxLjV0MzAgOTEuNXEzIDEwIDAuNSAzMHQtMC41IDI4cTMgMTEgMTcgMjh0MTcgMjMKcTIxIDM2IDQyIDkydDI1IDkwcTEgOSAtMi41IDMydDAuNSAyOHE0IDEzIDIyIDMwLjV0MjIgMjIuNXExOSAyNiA0Mi41IDg0LjV0MjcuNSA5Ni41cTEgOCAtMyAyNS41dC0yIDI2LjVxMiA4IDkgMTh0MTggMjN0MTcgMjFxOCAxMiAxNi41IDMwLjV0MTUgMzV0MTYgMzZ0MTkuNSAzMnQyNi41IDIzLjV0MzYgMTEuNXQ0Ny41IC01LjVsLTEgLTNxMzggOSA1MSA5aDc2MXE3NCAwIDExNCAtNTZ0MTggLTEzMGwtMjc0IC05MDYKcS0zNiAtMTE5IC03MS41IC0xNTMuNXQtMTI4LjUgLTM0LjVoLTg2OXEtMjcgMCAtMzggLTE1cS0xMSAtMTYgLTEgLTQzcTI0IC03MCAxNDQgLTcwaDkyM3EyOSAwIDU2IDE1LjV0MzUgNDEuNWwzMDAgOTg3cTcgMjIgNSA1N3EzOCAtMTUgNTkgLTQzek01NzUgMTA1NnEtNCAtMTMgMiAtMjIuNXQyMCAtOS41aDYwOHExMyAwIDI1LjUgOS41dDE2LjUgMjIuNWwyMSA2NHE0IDEzIC0yIDIyLjV0LTIwIDkuNWgtNjA4cS0xMyAwIC0yNS41IC05LjUKdC0xNi41IC0yMi41ek00OTIgODAwcS00IC0xMyAyIC0yMi41dDIwIC05LjVoNjA4cTEzIDAgMjUuNSA5LjV0MTYuNSAyMi41bDIxIDY0cTQgMTMgLTIgMjIuNXQtMjAgOS41aC02MDhxLTEzIDAgLTI1LjUgLTkuNXQtMTYuNSAtMjIuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYm9va21hcmsiIHVuaWNvZGU9IiYjeGYwMmU7IiBob3Jpei1hZHYteD0iMTI4MCIgCmQ9Ik0xMTY0IDE0MDhxMjMgMCA0NCAtOXEzMyAtMTMgNTIuNSAtNDF0MTkuNSAtNjJ2LTEyODlxMCAtMzQgLTE5LjUgLTYydC01Mi41IC00MXEtMTkgLTggLTQ0IC04cS00OCAwIC04MyAzMmwtNDQxIDQyNGwtNDQxIC00MjRxLTM2IC0zMyAtODMgLTMzcS0yMyAwIC00NCA5cS0zMyAxMyAtNTIuNSA0MXQtMTkuNSA2MnYxMjg5cTAgMzQgMTkuNSA2MnQ1Mi41IDQxcTIxIDkgNDQgOWgxMDQ4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJwcmludCIgdW5pY29kZT0iJiN4ZjAyZjsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTM4NCAwaDg5NnYyNTZoLTg5NnYtMjU2ek0zODQgNjQwaDg5NnYzODRoLTE2MHEtNDAgMCAtNjggMjh0LTI4IDY4djE2MGgtNjQwdi02NDB6TTE1MzYgNTc2cTAgMjYgLTE5IDQ1dC00NSAxOXQtNDUgLTE5dC0xOSAtNDV0MTkgLTQ1dDQ1IC0xOXQ0NSAxOXQxOSA0NXpNMTY2NCA1NzZ2LTQxNnEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTIyNHYtMTYwcTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtOTYwcS00MCAwIC02OCAyOHQtMjggNjgKdjE2MGgtMjI0cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2NDE2cTAgNzkgNTYuNSAxMzUuNXQxMzUuNSA1Ni41aDY0djU0NHEwIDQwIDI4IDY4dDY4IDI4aDY3MnE0MCAwIDg4IC0yMHQ3NiAtNDhsMTUyIC0xNTJxMjggLTI4IDQ4IC03NnQyMCAtODh2LTI1Nmg2NHE3OSAwIDEzNS41IC01Ni41dDU2LjUgLTEzNS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjYW1lcmEiIHVuaWNvZGU9IiYjeGYwMzA7IiBob3Jpei1hZHYteD0iMTkyMCIgCmQ9Ik05NjAgODY0cTExOSAwIDIwMy41IC04NC41dDg0LjUgLTIwMy41dC04NC41IC0yMDMuNXQtMjAzLjUgLTg0LjV0LTIwMy41IDg0LjV0LTg0LjUgMjAzLjV0ODQuNSAyMDMuNXQyMDMuNSA4NC41ek0xNjY0IDEyODBxMTA2IDAgMTgxIC03NXQ3NSAtMTgxdi04OTZxMCAtMTA2IC03NSAtMTgxdC0xODEgLTc1aC0xNDA4cS0xMDYgMCAtMTgxIDc1dC03NSAxODF2ODk2cTAgMTA2IDc1IDE4MXQxODEgNzVoMjI0bDUxIDEzNgpxMTkgNDkgNjkuNSA4NC41dDEwMy41IDM1LjVoNTEycTUzIDAgMTAzLjUgLTM1LjV0NjkuNSAtODQuNWw1MSAtMTM2aDIyNHpNOTYwIDEyOHExODUgMCAzMTYuNSAxMzEuNXQxMzEuNSAzMTYuNXQtMTMxLjUgMzE2LjV0LTMxNi41IDEzMS41dC0zMTYuNSAtMTMxLjV0LTEzMS41IC0zMTYuNXQxMzEuNSAtMzE2LjV0MzE2LjUgLTEzMS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJmb250IiB1bmljb2RlPSImI3hmMDMxOyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNNzI1IDk3N2wtMTcwIC00NTBxMzMgMCAxMzYuNSAtMnQxNjAuNSAtMnExOSAwIDU3IDJxLTg3IDI1MyAtMTg0IDQ1MnpNMCAtMTI4bDIgNzlxMjMgNyA1NiAxMi41dDU3IDEwLjV0NDkuNSAxNC41dDQ0LjUgMjl0MzEgNTAuNWwyMzcgNjE2bDI4MCA3MjRoNzVoNTNxOCAtMTQgMTEgLTIxbDIwNSAtNDgwcTMzIC03OCAxMDYgLTI1Ny41dDExNCAtMjc0LjVxMTUgLTM0IDU4IC0xNDQuNXQ3MiAtMTY4LjVxMjAgLTQ1IDM1IC01NwpxMTkgLTE1IDg4IC0yOS41dDg0IC0yMC41cTYgLTM4IDYgLTU3cTAgLTUgLTAuNSAtMTMuNXQtMC41IC0xMi41cS02MyAwIC0xOTAgOHQtMTkxIDhxLTc2IDAgLTIxNSAtN3QtMTc4IC04cTAgNDMgNCA3OGwxMzEgMjhxMSAwIDEyLjUgMi41dDE1LjUgMy41dDE0LjUgNC41dDE1IDYuNXQxMSA4dDkgMTF0Mi41IDE0cTAgMTYgLTMxIDk2LjV0LTcyIDE3Ny41dC00MiAxMDBsLTQ1MCAycS0yNiAtNTggLTc2LjUgLTE5NS41dC01MC41IC0xNjIuNQpxMCAtMjIgMTQgLTM3LjV0NDMuNSAtMjQuNXQ0OC41IC0xMy41dDU3IC04LjV0NDEgLTRxMSAtMTkgMSAtNThxMCAtOSAtMiAtMjdxLTU4IDAgLTE3NC41IDEwdC0xNzQuNSAxMHEtOCAwIC0yNi41IC00dC0yMS41IC00cS04MCAtMTQgLTE4OCAtMTR6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImJvbGQiIHVuaWNvZGU9IiYjeGYwMzI7IiBob3Jpei1hZHYteD0iMTQwOCIgCmQ9Ik01NTUgMTVxNzQgLTMyIDE0MCAtMzJxMzc2IDAgMzc2IDMzNXEwIDExNCAtNDEgMTgwcS0yNyA0NCAtNjEuNSA3NHQtNjcuNSA0Ni41dC04MC41IDI1dC04NCAxMC41dC05NC41IDJxLTczIDAgLTEwMSAtMTBxMCAtNTMgLTAuNSAtMTU5dC0wLjUgLTE1OHEwIC04IC0xIC02Ny41dC0wLjUgLTk2LjV0NC41IC04My41dDEyIC02Ni41ek01NDEgNzYxcTQyIC03IDEwOSAtN3E4MiAwIDE0MyAxM3QxMTAgNDQuNXQ3NC41IDg5LjV0MjUuNSAxNDIKcTAgNzAgLTI5IDEyMi41dC03OSA4MnQtMTA4IDQzLjV0LTEyNCAxNHEtNTAgMCAtMTMwIC0xM3EwIC01MCA0IC0xNTF0NCAtMTUycTAgLTI3IC0wLjUgLTgwdC0wLjUgLTc5cTAgLTQ2IDEgLTY5ek0wIC0xMjhsMiA5NHExNSA0IDg1IDE2dDEwNiAyN3E3IDEyIDEyLjUgMjd0OC41IDMzLjV0NS41IDMyLjV0MyAzNy41dDAuNSAzNHYzNS41djMwcTAgOTgyIC0yMiAxMDI1cS00IDggLTIyIDE0LjV0LTQ0LjUgMTF0LTQ5LjUgN3QtNDguNSA0LjUKdC0zMC41IDNsLTQgODNxOTggMiAzNDAgMTEuNXQzNzMgOS41cTIzIDAgNjggLTAuNXQ2OCAtMC41cTcwIDAgMTM2LjUgLTEzdDEyOC41IC00MnQxMDggLTcxdDc0IC0xMDQuNXQyOCAtMTM3LjVxMCAtNTIgLTE2LjUgLTk1LjV0LTM5IC03MnQtNjQuNSAtNTcuNXQtNzMgLTQ1dC04NCAtNDBxMTU0IC0zNSAyNTYuNSAtMTM0dDEwMi41IC0yNDhxMCAtMTAwIC0zNSAtMTc5LjV0LTkzLjUgLTEzMC41dC0xMzggLTg1LjV0LTE2My41IC00OC41CnQtMTc2IC0xNHEtNDQgMCAtMTMyIDN0LTEzMiAzcS0xMDYgMCAtMzA3IC0xMXQtMjMxIC0xMnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaXRhbGljIiB1bmljb2RlPSImI3hmMDMzOyIgaG9yaXotYWR2LXg9IjEwMjQiIApkPSJNMCAtMTI2bDE3IDg1cTIyIDcgNjEuNSAxNi41dDcyIDE5dDU5LjUgMjMuNXEyOCAzNSA0MSAxMDFxMSA3IDYyIDI4OXQxMTQgNTQzLjV0NTIgMjk2LjV2MjVxLTI0IDEzIC01NC41IDE4LjV0LTY5LjUgOHQtNTggNS41bDE5IDEwM3EzMyAtMiAxMjAgLTYuNXQxNDkuNSAtN3QxMjAuNSAtMi41cTQ4IDAgOTguNSAyLjV0MTIxIDd0OTguNSA2LjVxLTUgLTM5IC0xOSAtODlxLTMwIC0xMCAtMTAxLjUgLTI4LjV0LTEwOC41IC0zMy41CnEtOCAtMTkgLTE0IC00Mi41dC05IC00MHQtNy41IC00NS41dC02LjUgLTQycS0yNyAtMTQ4IC04Ny41IC00MTkuNXQtNzcuNSAtMzU1LjVxLTIgLTkgLTEzIC01OHQtMjAgLTkwdC0xNiAtODMuNXQtNiAtNTcuNWwxIC0xOHExNyAtNCAxODUgLTMxcS0zIC00NCAtMTYgLTk5cS0xMSAwIC0zMi41IC0xLjV0LTMyLjUgLTEuNXEtMjkgMCAtODcgMTB0LTg2IDEwcS0xMzggMiAtMjA2IDJxLTUxIDAgLTE0MyAtOXQtMTIxIC0xMXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idGV4dF9oZWlnaHQiIHVuaWNvZGU9IiYjeGYwMzQ7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xNzQ0IDEyOHEzMyAwIDQyIC0xOC41dC0xMSAtNDQuNWwtMTI2IC0xNjJxLTIwIC0yNiAtNDkgLTI2dC00OSAyNmwtMTI2IDE2MnEtMjAgMjYgLTExIDQ0LjV0NDIgMTguNWg4MHYxMDI0aC04MHEtMzMgMCAtNDIgMTguNXQxMSA0NC41bDEyNiAxNjJxMjAgMjYgNDkgMjZ0NDkgLTI2bDEyNiAtMTYycTIwIC0yNiAxMSAtNDQuNXQtNDIgLTE4LjVoLTgwdi0xMDI0aDgwek04MSAxNDA3bDU0IC0yN3ExMiAtNSAyMTEgLTVxNDQgMCAxMzIgMgp0MTMyIDJxMzYgMCAxMDcuNSAtMC41dDEwNy41IC0wLjVoMjkzcTYgMCAyMSAtMC41dDIwLjUgMHQxNiAzdDE3LjUgOXQxNSAxNy41bDQyIDFxNCAwIDE0IC0wLjV0MTQgLTAuNXEyIC0xMTIgMiAtMzM2cTAgLTgwIC01IC0xMDlxLTM5IC0xNCAtNjggLTE4cS0yNSA0NCAtNTQgMTI4cS0zIDkgLTExIDQ4dC0xNC41IDczLjV0LTcuNSAzNS41cS02IDggLTEyIDEyLjV0LTE1LjUgNnQtMTMgMi41dC0xOCAwLjV0LTE2LjUgLTAuNQpxLTE3IDAgLTY2LjUgMC41dC03NC41IDAuNXQtNjQgLTJ0LTcxIC02cS05IC04MSAtOCAtMTM2cTAgLTk0IDIgLTM4OHQyIC00NTVxMCAtMTYgLTIuNSAtNzEuNXQwIC05MS41dDEyLjUgLTY5cTQwIC0yMSAxMjQgLTQyLjV0MTIwIC0zNy41cTUgLTQwIDUgLTUwcTAgLTE0IC0zIC0yOWwtMzQgLTFxLTc2IC0yIC0yMTggOHQtMjA3IDEwcS01MCAwIC0xNTEgLTl0LTE1MiAtOXEtMyA1MSAtMyA1MnY5cTE3IDI3IDYxLjUgNDN0OTguNSAyOXQ3OCAyNwpxMTkgNDIgMTkgMzgzcTAgMTAxIC0zIDMwM3QtMyAzMDN2MTE3cTAgMiAwLjUgMTUuNXQwLjUgMjV0LTEgMjUuNXQtMyAyNHQtNSAxNHEtMTEgMTIgLTE2MiAxMnEtMzMgMCAtOTMgLTEydC04MCAtMjZxLTE5IC0xMyAtMzQgLTcyLjV0LTMxLjUgLTExMXQtNDIuNSAtNTMuNXEtNDIgMjYgLTU2IDQ0djM4M3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idGV4dF93aWR0aCIgdW5pY29kZT0iJiN4ZjAzNTsiIApkPSJNODEgMTQwN2w1NCAtMjdxMTIgLTUgMjExIC01cTQ0IDAgMTMyIDJ0MTMyIDJxNzAgMCAyNDYuNSAxdDMwNC41IDAuNXQyNDcgLTQuNXEzMyAtMSA1NiAzMWw0MiAxcTQgMCAxNCAtMC41dDE0IC0wLjVxMiAtMTEyIDIgLTMzNnEwIC04MCAtNSAtMTA5cS0zOSAtMTQgLTY4IC0xOHEtMjUgNDQgLTU0IDEyOHEtMyA5IC0xMSA0Ny41dC0xNSA3My41dC03IDM2cS0xMCAxMyAtMjcgMTlxLTUgMiAtNjYgMnEtMzAgMCAtOTMgMXQtMTAzIDEKdC05NCAtMnQtOTYgLTdxLTkgLTgxIC04IC0xMzZsMSAtMTUydjUycTAgLTU1IDEgLTE1NHQxLjUgLTE4MHQwLjUgLTE1M3EwIC0xNiAtMi41IC03MS41dDAgLTkxLjV0MTIuNSAtNjlxNDAgLTIxIDEyNCAtNDIuNXQxMjAgLTM3LjVxNSAtNDAgNSAtNTBxMCAtMTQgLTMgLTI5bC0zNCAtMXEtNzYgLTIgLTIxOCA4dC0yMDcgMTBxLTUwIDAgLTE1MSAtOXQtMTUyIC05cS0zIDUxIC0zIDUydjlxMTcgMjcgNjEuNSA0M3Q5OC41IDI5dDc4IDI3CnE3IDE2IDExLjUgNzR0NiAxNDUuNXQxLjUgMTU1dC0wLjUgMTUzLjV0LTAuNSA4OXEwIDcgLTIuNSAyMS41dC0yLjUgMjIuNXEwIDcgMC41IDQ0dDEgNzN0MCA3Ni41dC0zIDY3LjV0LTYuNSAzMnEtMTEgMTIgLTE2MiAxMnEtNDEgMCAtMTYzIC0xMy41dC0xMzggLTI0LjVxLTE5IC0xMiAtMzQgLTcxLjV0LTMxLjUgLTExMS41dC00Mi41IC01NHEtNDIgMjYgLTU2IDQ0djM4M3pNMTMxMCAxMjVxMTIgMCA0MiAtMTkuNXQ1Ny41IC00MS41CnQ1OS41IC00OXQzNiAtMzBxMjYgLTIxIDI2IC00OXQtMjYgLTQ5cS00IC0zIC0zNiAtMzB0LTU5LjUgLTQ5dC01Ny41IC00MS41dC00MiAtMTkuNXEtMTMgMCAtMjAuNSAxMC41dC0xMCAyOC41dC0yLjUgMzMuNXQxLjUgMzN0MS41IDE5LjVoLTEwMjRxMCAtMiAxLjUgLTE5LjV0MS41IC0zM3QtMi41IC0zMy41dC0xMCAtMjguNXQtMjAuNSAtMTAuNXEtMTIgMCAtNDIgMTkuNXQtNTcuNSA0MS41dC01OS41IDQ5dC0zNiAzMHEtMjYgMjEgLTI2IDQ5CnQyNiA0OXE0IDMgMzYgMzB0NTkuNSA0OXQ1Ny41IDQxLjV0NDIgMTkuNXExMyAwIDIwLjUgLTEwLjV0MTAgLTI4LjV0Mi41IC0zMy41dC0xLjUgLTMzdC0xLjUgLTE5LjVoMTAyNHEwIDIgLTEuNSAxOS41dC0xLjUgMzN0Mi41IDMzLjV0MTAgMjguNXQyMC41IDEwLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImFsaWduX2xlZnQiIHVuaWNvZGU9IiYjeGYwMzY7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xNzkyIDE5MnYtMTI4cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtMTY2NHEtMjYgMCAtNDUgMTl0LTE5IDQ1djEyOHEwIDI2IDE5IDQ1dDQ1IDE5aDE2NjRxMjYgMCA0NSAtMTl0MTkgLTQ1ek0xNDA4IDU3NnYtMTI4cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtMTI4MHEtMjYgMCAtNDUgMTl0LTE5IDQ1djEyOHEwIDI2IDE5IDQ1dDQ1IDE5aDEyODBxMjYgMCA0NSAtMTl0MTkgLTQ1ek0xNjY0IDk2MHYtMTI4cTAgLTI2IC0xOSAtNDUKdC00NSAtMTloLTE1MzZxLTI2IDAgLTQ1IDE5dC0xOSA0NXYxMjhxMCAyNiAxOSA0NXQ0NSAxOWgxNTM2cTI2IDAgNDUgLTE5dDE5IC00NXpNMTI4MCAxMzQ0di0xMjhxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0xMTUycS0yNiAwIC00NSAxOXQtMTkgNDV2MTI4cTAgMjYgMTkgNDV0NDUgMTloMTE1MnEyNiAwIDQ1IC0xOXQxOSAtNDV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImFsaWduX2NlbnRlciIgdW5pY29kZT0iJiN4ZjAzNzsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE3OTIgMTkydi0xMjhxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0xNjY0cS0yNiAwIC00NSAxOXQtMTkgNDV2MTI4cTAgMjYgMTkgNDV0NDUgMTloMTY2NHEyNiAwIDQ1IC0xOXQxOSAtNDV6TTE0MDggNTc2di0xMjhxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC04OTZxLTI2IDAgLTQ1IDE5dC0xOSA0NXYxMjhxMCAyNiAxOSA0NXQ0NSAxOWg4OTZxMjYgMCA0NSAtMTl0MTkgLTQ1ek0xNjY0IDk2MHYtMTI4cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOQpoLTE0MDhxLTI2IDAgLTQ1IDE5dC0xOSA0NXYxMjhxMCAyNiAxOSA0NXQ0NSAxOWgxNDA4cTI2IDAgNDUgLTE5dDE5IC00NXpNMTI4MCAxMzQ0di0xMjhxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC02NDBxLTI2IDAgLTQ1IDE5dC0xOSA0NXYxMjhxMCAyNiAxOSA0NXQ0NSAxOWg2NDBxMjYgMCA0NSAtMTl0MTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJhbGlnbl9yaWdodCIgdW5pY29kZT0iJiN4ZjAzODsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE3OTIgMTkydi0xMjhxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0xNjY0cS0yNiAwIC00NSAxOXQtMTkgNDV2MTI4cTAgMjYgMTkgNDV0NDUgMTloMTY2NHEyNiAwIDQ1IC0xOXQxOSAtNDV6TTE3OTIgNTc2di0xMjhxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0xMjgwcS0yNiAwIC00NSAxOXQtMTkgNDV2MTI4cTAgMjYgMTkgNDV0NDUgMTloMTI4MHEyNiAwIDQ1IC0xOXQxOSAtNDV6TTE3OTIgOTYwdi0xMjhxMCAtMjYgLTE5IC00NQp0LTQ1IC0xOWgtMTUzNnEtMjYgMCAtNDUgMTl0LTE5IDQ1djEyOHEwIDI2IDE5IDQ1dDQ1IDE5aDE1MzZxMjYgMCA0NSAtMTl0MTkgLTQ1ek0xNzkyIDEzNDR2LTEyOHEwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTExNTJxLTI2IDAgLTQ1IDE5dC0xOSA0NXYxMjhxMCAyNiAxOSA0NXQ0NSAxOWgxMTUycTI2IDAgNDUgLTE5dDE5IC00NXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYWxpZ25fanVzdGlmeSIgdW5pY29kZT0iJiN4ZjAzOTsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE3OTIgMTkydi0xMjhxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0xNjY0cS0yNiAwIC00NSAxOXQtMTkgNDV2MTI4cTAgMjYgMTkgNDV0NDUgMTloMTY2NHEyNiAwIDQ1IC0xOXQxOSAtNDV6TTE3OTIgNTc2di0xMjhxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0xNjY0cS0yNiAwIC00NSAxOXQtMTkgNDV2MTI4cTAgMjYgMTkgNDV0NDUgMTloMTY2NHEyNiAwIDQ1IC0xOXQxOSAtNDV6TTE3OTIgOTYwdi0xMjhxMCAtMjYgLTE5IC00NQp0LTQ1IC0xOWgtMTY2NHEtMjYgMCAtNDUgMTl0LTE5IDQ1djEyOHEwIDI2IDE5IDQ1dDQ1IDE5aDE2NjRxMjYgMCA0NSAtMTl0MTkgLTQ1ek0xNzkyIDEzNDR2LTEyOHEwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTE2NjRxLTI2IDAgLTQ1IDE5dC0xOSA0NXYxMjhxMCAyNiAxOSA0NXQ0NSAxOWgxNjY0cTI2IDAgNDUgLTE5dDE5IC00NXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ibGlzdCIgdW5pY29kZT0iJiN4ZjAzYTsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTI1NiAyMjR2LTE5MnEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTE5MnEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djE5MnEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDE5MnExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6TTI1NiA2MDh2LTE5MnEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTE5MnEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djE5MnEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDE5MnExMyAwIDIyLjUgLTkuNQp0OS41IC0yMi41ek0yNTYgOTkydi0xOTJxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC0xOTJxLTEzIDAgLTIyLjUgOS41dC05LjUgMjIuNXYxOTJxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWgxOTJxMTMgMCAyMi41IC05LjV0OS41IC0yMi41ek0xNzkyIDIyNHYtMTkycTAgLTEzIC05LjUgLTIyLjV0LTIyLjUgLTkuNWgtMTM0NHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djE5MnEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDEzNDQKcTEzIDAgMjIuNSAtOS41dDkuNSAtMjIuNXpNMjU2IDEzNzZ2LTE5MnEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTE5MnEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djE5MnEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDE5MnExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6TTE3OTIgNjA4di0xOTJxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC0xMzQ0cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2MTkycTAgMTMgOS41IDIyLjUKdDIyLjUgOS41aDEzNDRxMTMgMCAyMi41IC05LjV0OS41IC0yMi41ek0xNzkyIDk5MnYtMTkycTAgLTEzIC05LjUgLTIyLjV0LTIyLjUgLTkuNWgtMTM0NHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djE5MnEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDEzNDRxMTMgMCAyMi41IC05LjV0OS41IC0yMi41ek0xNzkyIDEzNzZ2LTE5MnEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTEzNDRxLTEzIDAgLTIyLjUgOS41dC05LjUgMjIuNXYxOTIKcTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoMTM0NHExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImluZGVudF9sZWZ0IiB1bmljb2RlPSImI3hmMDNiOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMzg0IDk5MnYtNTc2cTAgLTEzIC05LjUgLTIyLjV0LTIyLjUgLTkuNXEtMTQgMCAtMjMgOWwtMjg4IDI4OHEtOSA5IC05IDIzdDkgMjNsMjg4IDI4OHE5IDkgMjMgOXExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6TTE3OTIgMjI0di0xOTJxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC0xNzI4cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2MTkycTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoMTcyOHExMyAwIDIyLjUgLTkuNQp0OS41IC0yMi41ek0xNzkyIDYwOHYtMTkycTAgLTEzIC05LjUgLTIyLjV0LTIyLjUgLTkuNWgtMTA4OHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djE5MnEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDEwODhxMTMgMCAyMi41IC05LjV0OS41IC0yMi41ek0xNzkyIDk5MnYtMTkycTAgLTEzIC05LjUgLTIyLjV0LTIyLjUgLTkuNWgtMTA4OHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djE5MnEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDEwODgKcTEzIDAgMjIuNSAtOS41dDkuNSAtMjIuNXpNMTc5MiAxMzc2di0xOTJxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC0xNzI4cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2MTkycTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoMTcyOHExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImluZGVudF9yaWdodCIgdW5pY29kZT0iJiN4ZjAzYzsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTM1MiA3MDRxMCAtMTQgLTkgLTIzbC0yODggLTI4OHEtOSAtOSAtMjMgLTlxLTEzIDAgLTIyLjUgOS41dC05LjUgMjIuNXY1NzZxMCAxMyA5LjUgMjIuNXQyMi41IDkuNXExNCAwIDIzIC05bDI4OCAtMjg4cTkgLTkgOSAtMjN6TTE3OTIgMjI0di0xOTJxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC0xNzI4cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2MTkycTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoMTcyOHExMyAwIDIyLjUgLTkuNQp0OS41IC0yMi41ek0xNzkyIDYwOHYtMTkycTAgLTEzIC05LjUgLTIyLjV0LTIyLjUgLTkuNWgtMTA4OHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djE5MnEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDEwODhxMTMgMCAyMi41IC05LjV0OS41IC0yMi41ek0xNzkyIDk5MnYtMTkycTAgLTEzIC05LjUgLTIyLjV0LTIyLjUgLTkuNWgtMTA4OHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djE5MnEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDEwODgKcTEzIDAgMjIuNSAtOS41dDkuNSAtMjIuNXpNMTc5MiAxMzc2di0xOTJxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC0xNzI4cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2MTkycTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoMTcyOHExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImZhY2V0aW1lX3ZpZGVvIiB1bmljb2RlPSImI3hmMDNkOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTc5MiAxMTg0di0xMDg4cTAgLTQyIC0zOSAtNTlxLTEzIC01IC0yNSAtNXEtMjcgMCAtNDUgMTlsLTQwMyA0MDN2LTE2NnEwIC0xMTkgLTg0LjUgLTIwMy41dC0yMDMuNSAtODQuNWgtNzA0cS0xMTkgMCAtMjAzLjUgODQuNXQtODQuNSAyMDMuNXY3MDRxMCAxMTkgODQuNSAyMDMuNXQyMDMuNSA4NC41aDcwNHExMTkgMCAyMDMuNSAtODQuNXQ4NC41IC0yMDMuNXYtMTY1bDQwMyA0MDJxMTggMTkgNDUgMTlxMTIgMCAyNSAtNQpxMzkgLTE3IDM5IC01OXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icGljdHVyZSIgdW5pY29kZT0iJiN4ZjAzZTsiIGhvcml6LWFkdi14PSIxOTIwIiAKZD0iTTY0MCA5NjBxMCAtODAgLTU2IC0xMzZ0LTEzNiAtNTZ0LTEzNiA1NnQtNTYgMTM2dDU2IDEzNnQxMzYgNTZ0MTM2IC01NnQ1NiAtMTM2ek0xNjY0IDU3NnYtNDQ4aC0xNDA4djE5MmwzMjAgMzIwbDE2MCAtMTYwbDUxMiA1MTJ6TTE3NjAgMTI4MGgtMTYwMHEtMTMgMCAtMjIuNSAtOS41dC05LjUgLTIyLjV2LTEyMTZxMCAtMTMgOS41IC0yMi41dDIyLjUgLTkuNWgxNjAwcTEzIDAgMjIuNSA5LjV0OS41IDIyLjV2MTIxNgpxMCAxMyAtOS41IDIyLjV0LTIyLjUgOS41ek0xOTIwIDEyNDh2LTEyMTZxMCAtNjYgLTQ3IC0xMTN0LTExMyAtNDdoLTE2MDBxLTY2IDAgLTExMyA0N3QtNDcgMTEzdjEyMTZxMCA2NiA0NyAxMTN0MTEzIDQ3aDE2MDBxNjYgMCAxMTMgLTQ3dDQ3IC0xMTN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InBlbmNpbCIgdW5pY29kZT0iJiN4ZjA0MDsiIApkPSJNMzYzIDBsOTEgOTFsLTIzNSAyMzVsLTkxIC05MXYtMTA3aDEyOHYtMTI4aDEwN3pNODg2IDkyOHEwIDIyIC0yMiAyMnEtMTAgMCAtMTcgLTdsLTU0MiAtNTQycS03IC03IC03IC0xN3EwIC0yMiAyMiAtMjJxMTAgMCAxNyA3bDU0MiA1NDJxNyA3IDcgMTd6TTgzMiAxMTIwbDQxNiAtNDE2bC04MzIgLTgzMmgtNDE2djQxNnpNMTUxNSAxMDI0cTAgLTUzIC0zNyAtOTBsLTE2NiAtMTY2bC00MTYgNDE2bDE2NiAxNjVxMzYgMzggOTAgMzgKcTUzIDAgOTEgLTM4bDIzNSAtMjM0cTM3IC0zOSAzNyAtOTF6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Im1hcF9tYXJrZXIiIHVuaWNvZGU9IiYjeGYwNDE7IiBob3Jpei1hZHYteD0iMTAyNCIgCmQ9Ik03NjggODk2cTAgMTA2IC03NSAxODF0LTE4MSA3NXQtMTgxIC03NXQtNzUgLTE4MXQ3NSAtMTgxdDE4MSAtNzV0MTgxIDc1dDc1IDE4MXpNMTAyNCA4OTZxMCAtMTA5IC0zMyAtMTc5bC0zNjQgLTc3NHEtMTYgLTMzIC00Ny41IC01MnQtNjcuNSAtMTl0LTY3LjUgMTl0LTQ2LjUgNTJsLTM2NSA3NzRxLTMzIDcwIC0zMyAxNzlxMCAyMTIgMTUwIDM2MnQzNjIgMTUwdDM2MiAtMTUwdDE1MCAtMzYyeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJhZGp1c3QiIHVuaWNvZGU9IiYjeGYwNDI7IiAKZD0iTTc2OCA5NnYxMDg4cS0xNDggMCAtMjczIC03M3QtMTk4IC0xOTh0LTczIC0yNzN0NzMgLTI3M3QxOTggLTE5OHQyNzMgLTczek0xNTM2IDY0MHEwIC0yMDkgLTEwMyAtMzg1LjV0LTI3OS41IC0yNzkuNXQtMzg1LjUgLTEwM3QtMzg1LjUgMTAzdC0yNzkuNSAyNzkuNXQtMTAzIDM4NS41dDEwMyAzODUuNXQyNzkuNSAyNzkuNXQzODUuNSAxMDN0Mzg1LjUgLTEwM3QyNzkuNSAtMjc5LjV0MTAzIC0zODUuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idGludCIgdW5pY29kZT0iJiN4ZjA0MzsiIGhvcml6LWFkdi14PSIxMDI0IiAKZD0iTTUxMiAzODRxMCAzNiAtMjAgNjlxLTEgMSAtMTUuNSAyMi41dC0yNS41IDM4dC0yNSA0NHQtMjEgNTAuNXEtNCAxNiAtMjEgMTZ0LTIxIC0xNnEtNyAtMjMgLTIxIC01MC41dC0yNSAtNDR0LTI1LjUgLTM4dC0xNS41IC0yMi41cS0yMCAtMzMgLTIwIC02OXEwIC01MyAzNy41IC05MC41dDkwLjUgLTM3LjV0OTAuNSAzNy41dDM3LjUgOTAuNXpNMTAyNCA1MTJxMCAtMjEyIC0xNTAgLTM2MnQtMzYyIC0xNTB0LTM2MiAxNTB0LTE1MCAzNjIKcTAgMTQ1IDgxIDI3NXE2IDkgNjIuNSA5MC41dDEwMSAxNTF0OTkuNSAxNzh0ODMgMjAxLjVxOSAzMCAzNCA0N3Q1MSAxN3Q1MS41IC0xN3QzMy41IC00N3EyOCAtOTMgODMgLTIwMS41dDk5LjUgLTE3OHQxMDEgLTE1MXQ2Mi41IC05MC41cTgxIC0xMjcgODEgLTI3NXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZWRpdCIgdW5pY29kZT0iJiN4ZjA0NDsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTg4OCAzNTJsMTE2IDExNmwtMTUyIDE1MmwtMTE2IC0xMTZ2LTU2aDk2di05Nmg1NnpNMTMyOCAxMDcycS0xNiAxNiAtMzMgLTFsLTM1MCAtMzUwcS0xNyAtMTcgLTEgLTMzdDMzIDFsMzUwIDM1MHExNyAxNyAxIDMzek0xNDA4IDQ3OHYtMTkwcTAgLTExOSAtODQuNSAtMjAzLjV0LTIwMy41IC04NC41aC04MzJxLTExOSAwIC0yMDMuNSA4NC41dC04NC41IDIwMy41djgzMnEwIDExOSA4NC41IDIwMy41dDIwMy41IDg0LjVoODMyCnE2MyAwIDExNyAtMjVxMTUgLTcgMTggLTIzcTMgLTE3IC05IC0yOWwtNDkgLTQ5cS0xNCAtMTQgLTMyIC04cS0yMyA2IC00NSA2aC04MzJxLTY2IDAgLTExMyAtNDd0LTQ3IC0xMTN2LTgzMnEwIC02NiA0NyAtMTEzdDExMyAtNDdoODMycTY2IDAgMTEzIDQ3dDQ3IDExM3YxMjZxMCAxMyA5IDIybDY0IDY0cTE1IDE1IDM1IDd0MjAgLTI5ek0xMzEyIDEyMTZsMjg4IC0yODhsLTY3MiAtNjcyaC0yODh2Mjg4ek0xNzU2IDEwODRsLTkyIC05MgpsLTI4OCAyODhsOTIgOTJxMjggMjggNjggMjh0NjggLTI4bDE1MiAtMTUycTI4IC0yOCAyOCAtNjh0LTI4IC02OHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ic2hhcmUiIHVuaWNvZGU9IiYjeGYwNDU7IiBob3Jpei1hZHYteD0iMTY2NCIgCmQ9Ik0xNDA4IDU0N3YtMjU5cTAgLTExOSAtODQuNSAtMjAzLjV0LTIwMy41IC04NC41aC04MzJxLTExOSAwIC0yMDMuNSA4NC41dC04NC41IDIwMy41djgzMnEwIDExOSA4NC41IDIwMy41dDIwMy41IDg0LjVoMjU1djBxMTMgMCAyMi41IC05LjV0OS41IC0yMi41cTAgLTI3IC0yNiAtMzJxLTc3IC0yNiAtMTMzIC02MHEtMTAgLTQgLTE2IC00aC0xMTJxLTY2IDAgLTExMyAtNDd0LTQ3IC0xMTN2LTgzMnEwIC02NiA0NyAtMTEzdDExMyAtNDdoODMyCnE2NiAwIDExMyA0N3Q0NyAxMTN2MjE0cTAgMTkgMTggMjlxMjggMTMgNTQgMzdxMTYgMTYgMzUgOHEyMSAtOSAyMSAtMjl6TTE2NDUgMTA0M2wtMzg0IC0zODRxLTE4IC0xOSAtNDUgLTE5cS0xMiAwIC0yNSA1cS0zOSAxNyAtMzkgNTl2MTkyaC0xNjBxLTMyMyAwIC00MzggLTEzMXEtMTE5IC0xMzcgLTc0IC00NzNxMyAtMjMgLTIwIC0zNHEtOCAtMiAtMTIgLTJxLTE2IDAgLTI2IDEzcS0xMCAxNCAtMjEgMzF0LTM5LjUgNjguNXQtNDkuNSA5OS41CnQtMzguNSAxMTR0LTE3LjUgMTIycTAgNDkgMy41IDkxdDE0IDkwdDI4IDg4dDQ3IDgxLjV0NjguNSA3NHQ5NC41IDYxLjV0MTI0LjUgNDguNXQxNTkuNSAzMC41dDE5Ni41IDExaDE2MHYxOTJxMCA0MiAzOSA1OXExMyA1IDI1IDVxMjYgMCA0NSAtMTlsMzg0IC0zODRxMTkgLTE5IDE5IC00NXQtMTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjaGVjayIgdW5pY29kZT0iJiN4ZjA0NjsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTE0MDggNjA2di0zMThxMCAtMTE5IC04NC41IC0yMDMuNXQtMjAzLjUgLTg0LjVoLTgzMnEtMTE5IDAgLTIwMy41IDg0LjV0LTg0LjUgMjAzLjV2ODMycTAgMTE5IDg0LjUgMjAzLjV0MjAzLjUgODQuNWg4MzJxNjMgMCAxMTcgLTI1cTE1IC03IDE4IC0yM3EzIC0xNyAtOSAtMjlsLTQ5IC00OXEtMTAgLTEwIC0yMyAtMTBxLTMgMCAtOSAycS0yMyA2IC00NSA2aC04MzJxLTY2IDAgLTExMyAtNDd0LTQ3IC0xMTN2LTgzMgpxMCAtNjYgNDcgLTExM3QxMTMgLTQ3aDgzMnE2NiAwIDExMyA0N3Q0NyAxMTN2MjU0cTAgMTMgOSAyMmw2NCA2NHExMCAxMCAyMyAxMHE2IDAgMTIgLTNxMjAgLTggMjAgLTI5ek0xNjM5IDEwOTVsLTgxNCAtODE0cS0yNCAtMjQgLTU3IC0yNHQtNTcgMjRsLTQzMCA0MzBxLTI0IDI0IC0yNCA1N3QyNCA1N2wxMTAgMTEwcTI0IDI0IDU3IDI0dDU3IC0yNGwyNjMgLTI2M2w2NDcgNjQ3cTI0IDI0IDU3IDI0dDU3IC0yNGwxMTAgLTExMApxMjQgLTI0IDI0IC01N3QtMjQgLTU3eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJtb3ZlIiB1bmljb2RlPSImI3hmMDQ3OyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTc5MiA2NDBxMCAtMjYgLTE5IC00NWwtMjU2IC0yNTZxLTE5IC0xOSAtNDUgLTE5dC00NSAxOXQtMTkgNDV2MTI4aC0zODR2LTM4NGgxMjhxMjYgMCA0NSAtMTl0MTkgLTQ1dC0xOSAtNDVsLTI1NiAtMjU2cS0xOSAtMTkgLTQ1IC0xOXQtNDUgMTlsLTI1NiAyNTZxLTE5IDE5IC0xOSA0NXQxOSA0NXQ0NSAxOWgxMjh2Mzg0aC0zODR2LTEyOHEwIC0yNiAtMTkgLTQ1dC00NSAtMTl0LTQ1IDE5bC0yNTYgMjU2cS0xOSAxOSAtMTkgNDUKdDE5IDQ1bDI1NiAyNTZxMTkgMTkgNDUgMTl0NDUgLTE5dDE5IC00NXYtMTI4aDM4NHYzODRoLTEyOHEtMjYgMCAtNDUgMTl0LTE5IDQ1dDE5IDQ1bDI1NiAyNTZxMTkgMTkgNDUgMTl0NDUgLTE5bDI1NiAtMjU2cTE5IC0xOSAxOSAtNDV0LTE5IC00NXQtNDUgLTE5aC0xMjh2LTM4NGgzODR2MTI4cTAgMjYgMTkgNDV0NDUgMTl0NDUgLTE5bDI1NiAtMjU2cTE5IC0xOSAxOSAtNDV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InN0ZXBfYmFja3dhcmQiIHVuaWNvZGU9IiYjeGYwNDg7IiBob3Jpei1hZHYteD0iMTAyNCIgCmQ9Ik05NzkgMTM5NXExOSAxOSAzMiAxM3QxMyAtMzJ2LTE0NzJxMCAtMjYgLTEzIC0zMnQtMzIgMTNsLTcxMCA3MTBxLTkgOSAtMTMgMTl2LTY3OHEwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTEyOHEtMjYgMCAtNDUgMTl0LTE5IDQ1djE0MDhxMCAyNiAxOSA0NXQ0NSAxOWgxMjhxMjYgMCA0NSAtMTl0MTkgLTQ1di02NzhxNCAxMCAxMyAxOXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZmFzdF9iYWNrd2FyZCIgdW5pY29kZT0iJiN4ZjA0OTsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE3NDcgMTM5NXExOSAxOSAzMiAxM3QxMyAtMzJ2LTE0NzJxMCAtMjYgLTEzIC0zMnQtMzIgMTNsLTcxMCA3MTBxLTkgOSAtMTMgMTl2LTcxMHEwIC0yNiAtMTMgLTMydC0zMiAxM2wtNzEwIDcxMHEtOSA5IC0xMyAxOXYtNjc4cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtMTI4cS0yNiAwIC00NSAxOXQtMTkgNDV2MTQwOHEwIDI2IDE5IDQ1dDQ1IDE5aDEyOHEyNiAwIDQ1IC0xOXQxOSAtNDV2LTY3OHE0IDEwIDEzIDE5bDcxMCA3MTAKcTE5IDE5IDMyIDEzdDEzIC0zMnYtNzEwcTQgMTAgMTMgMTl6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImJhY2t3YXJkIiB1bmljb2RlPSImI3hmMDRhOyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNMTYxOSAxMzk1cTE5IDE5IDMyIDEzdDEzIC0zMnYtMTQ3MnEwIC0yNiAtMTMgLTMydC0zMiAxM2wtNzEwIDcxMHEtOSA5IC0xMyAxOXYtNzEwcTAgLTI2IC0xMyAtMzJ0LTMyIDEzbC03MTAgNzEwcS0xOSAxOSAtMTkgNDV0MTkgNDVsNzEwIDcxMHExOSAxOSAzMiAxM3QxMyAtMzJ2LTcxMHE0IDEwIDEzIDE5eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJwbGF5IiB1bmljb2RlPSImI3hmMDRiOyIgaG9yaXotYWR2LXg9IjE0MDgiIApkPSJNMTM4NCA2MDlsLTEzMjggLTczOHEtMjMgLTEzIC0zOS41IC0zdC0xNi41IDM2djE0NzJxMCAyNiAxNi41IDM2dDM5LjUgLTNsMTMyOCAtNzM4cTIzIC0xMyAyMyAtMzF0LTIzIC0zMXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icGF1c2UiIHVuaWNvZGU9IiYjeGYwNGM7IiAKZD0iTTE1MzYgMTM0NHYtMTQwOHEwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTUxMnEtMjYgMCAtNDUgMTl0LTE5IDQ1djE0MDhxMCAyNiAxOSA0NXQ0NSAxOWg1MTJxMjYgMCA0NSAtMTl0MTkgLTQ1ek02NDAgMTM0NHYtMTQwOHEwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTUxMnEtMjYgMCAtNDUgMTl0LTE5IDQ1djE0MDhxMCAyNiAxOSA0NXQ0NSAxOWg1MTJxMjYgMCA0NSAtMTl0MTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJzdG9wIiB1bmljb2RlPSImI3hmMDRkOyIgCmQ9Ik0xNTM2IDEzNDR2LTE0MDhxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0xNDA4cS0yNiAwIC00NSAxOXQtMTkgNDV2MTQwOHEwIDI2IDE5IDQ1dDQ1IDE5aDE0MDhxMjYgMCA0NSAtMTl0MTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJmb3J3YXJkIiB1bmljb2RlPSImI3hmMDRlOyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNNDUgLTExNXEtMTkgLTE5IC0zMiAtMTN0LTEzIDMydjE0NzJxMCAyNiAxMyAzMnQzMiAtMTNsNzEwIC03MTBxOSAtOSAxMyAtMTl2NzEwcTAgMjYgMTMgMzJ0MzIgLTEzbDcxMCAtNzEwcTE5IC0xOSAxOSAtNDV0LTE5IC00NWwtNzEwIC03MTBxLTE5IC0xOSAtMzIgLTEzdC0xMyAzMnY3MTBxLTQgLTEwIC0xMyAtMTl6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImZhc3RfZm9yd2FyZCIgdW5pY29kZT0iJiN4ZjA1MDsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTQ1IC0xMTVxLTE5IC0xOSAtMzIgLTEzdC0xMyAzMnYxNDcycTAgMjYgMTMgMzJ0MzIgLTEzbDcxMCAtNzEwcTkgLTkgMTMgLTE5djcxMHEwIDI2IDEzIDMydDMyIC0xM2w3MTAgLTcxMHE5IC05IDEzIC0xOXY2NzhxMCAyNiAxOSA0NXQ0NSAxOWgxMjhxMjYgMCA0NSAtMTl0MTkgLTQ1di0xNDA4cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtMTI4cS0yNiAwIC00NSAxOXQtMTkgNDV2Njc4cS00IC0xMCAtMTMgLTE5bC03MTAgLTcxMApxLTE5IC0xOSAtMzIgLTEzdC0xMyAzMnY3MTBxLTQgLTEwIC0xMyAtMTl6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InN0ZXBfZm9yd2FyZCIgdW5pY29kZT0iJiN4ZjA1MTsiIGhvcml6LWFkdi14PSIxMDI0IiAKZD0iTTQ1IC0xMTVxLTE5IC0xOSAtMzIgLTEzdC0xMyAzMnYxNDcycTAgMjYgMTMgMzJ0MzIgLTEzbDcxMCAtNzEwcTkgLTkgMTMgLTE5djY3OHEwIDI2IDE5IDQ1dDQ1IDE5aDEyOHEyNiAwIDQ1IC0xOXQxOSAtNDV2LTE0MDhxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0xMjhxLTI2IDAgLTQ1IDE5dC0xOSA0NXY2NzhxLTQgLTEwIC0xMyAtMTl6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImVqZWN0IiB1bmljb2RlPSImI3hmMDUyOyIgaG9yaXotYWR2LXg9IjE1MzgiIApkPSJNMTQgNTU3bDcxMCA3MTBxMTkgMTkgNDUgMTl0NDUgLTE5bDcxMCAtNzEwcTE5IC0xOSAxMyAtMzJ0LTMyIC0xM2gtMTQ3MnEtMjYgMCAtMzIgMTN0MTMgMzJ6TTE0NzMgMGgtMTQwOHEtMjYgMCAtNDUgMTl0LTE5IDQ1djI1NnEwIDI2IDE5IDQ1dDQ1IDE5aDE0MDhxMjYgMCA0NSAtMTl0MTkgLTQ1di0yNTZxMCAtMjYgLTE5IC00NXQtNDUgLTE5eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjaGV2cm9uX2xlZnQiIHVuaWNvZGU9IiYjeGYwNTM7IiBob3Jpei1hZHYteD0iMTI4MCIgCmQ9Ik0xMTcxIDEyMzVsLTUzMSAtNTMxbDUzMSAtNTMxcTE5IC0xOSAxOSAtNDV0LTE5IC00NWwtMTY2IC0xNjZxLTE5IC0xOSAtNDUgLTE5dC00NSAxOWwtNzQyIDc0MnEtMTkgMTkgLTE5IDQ1dDE5IDQ1bDc0MiA3NDJxMTkgMTkgNDUgMTl0NDUgLTE5bDE2NiAtMTY2cTE5IC0xOSAxOSAtNDV0LTE5IC00NXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iY2hldnJvbl9yaWdodCIgdW5pY29kZT0iJiN4ZjA1NDsiIGhvcml6LWFkdi14PSIxMjgwIiAKZD0iTTExMDcgNjU5bC03NDIgLTc0MnEtMTkgLTE5IC00NSAtMTl0LTQ1IDE5bC0xNjYgMTY2cS0xOSAxOSAtMTkgNDV0MTkgNDVsNTMxIDUzMWwtNTMxIDUzMXEtMTkgMTkgLTE5IDQ1dDE5IDQ1bDE2NiAxNjZxMTkgMTkgNDUgMTl0NDUgLTE5bDc0MiAtNzQycTE5IC0xOSAxOSAtNDV0LTE5IC00NXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icGx1c19zaWduIiB1bmljb2RlPSImI3hmMDU1OyIgCmQ9Ik0xMjE2IDU3NnYxMjhxMCAyNiAtMTkgNDV0LTQ1IDE5aC0yNTZ2MjU2cTAgMjYgLTE5IDQ1dC00NSAxOWgtMTI4cS0yNiAwIC00NSAtMTl0LTE5IC00NXYtMjU2aC0yNTZxLTI2IDAgLTQ1IC0xOXQtMTkgLTQ1di0xMjhxMCAtMjYgMTkgLTQ1dDQ1IC0xOWgyNTZ2LTI1NnEwIC0yNiAxOSAtNDV0NDUgLTE5aDEyOHEyNiAwIDQ1IDE5dDE5IDQ1djI1NmgyNTZxMjYgMCA0NSAxOXQxOSA0NXpNMTUzNiA2NDBxMCAtMjA5IC0xMDMgLTM4NS41CnQtMjc5LjUgLTI3OS41dC0zODUuNSAtMTAzdC0zODUuNSAxMDN0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3QzODUuNSAtMTAzdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJtaW51c19zaWduIiB1bmljb2RlPSImI3hmMDU2OyIgCmQ9Ik0xMjE2IDU3NnYxMjhxMCAyNiAtMTkgNDV0LTQ1IDE5aC03NjhxLTI2IDAgLTQ1IC0xOXQtMTkgLTQ1di0xMjhxMCAtMjYgMTkgLTQ1dDQ1IC0xOWg3NjhxMjYgMCA0NSAxOXQxOSA0NXpNMTUzNiA2NDBxMCAtMjA5IC0xMDMgLTM4NS41dC0yNzkuNSAtMjc5LjV0LTM4NS41IC0xMDN0LTM4NS41IDEwM3QtMjc5LjUgMjc5LjV0LTEwMyAzODUuNXQxMDMgMzg1LjV0Mjc5LjUgMjc5LjV0Mzg1LjUgMTAzdDM4NS41IC0xMDN0Mjc5LjUgLTI3OS41CnQxMDMgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJyZW1vdmVfc2lnbiIgdW5pY29kZT0iJiN4ZjA1NzsiIApkPSJNMTE0OSA0MTRxMCAyNiAtMTkgNDVsLTE4MSAxODFsMTgxIDE4MXExOSAxOSAxOSA0NXEwIDI3IC0xOSA0NmwtOTAgOTBxLTE5IDE5IC00NiAxOXEtMjYgMCAtNDUgLTE5bC0xODEgLTE4MWwtMTgxIDE4MXEtMTkgMTkgLTQ1IDE5cS0yNyAwIC00NiAtMTlsLTkwIC05MHEtMTkgLTE5IC0xOSAtNDZxMCAtMjYgMTkgLTQ1bDE4MSAtMTgxbC0xODEgLTE4MXEtMTkgLTE5IC0xOSAtNDVxMCAtMjcgMTkgLTQ2bDkwIC05MHExOSAtMTkgNDYgLTE5CnEyNiAwIDQ1IDE5bDE4MSAxODFsMTgxIC0xODFxMTkgLTE5IDQ1IC0xOXEyNyAwIDQ2IDE5bDkwIDkwcTE5IDE5IDE5IDQ2ek0xNTM2IDY0MHEwIC0yMDkgLTEwMyAtMzg1LjV0LTI3OS41IC0yNzkuNXQtMzg1LjUgLTEwM3QtMzg1LjUgMTAzdC0yNzkuNSAyNzkuNXQtMTAzIDM4NS41dDEwMyAzODUuNXQyNzkuNSAyNzkuNXQzODUuNSAxMDN0Mzg1LjUgLTEwM3QyNzkuNSAtMjc5LjV0MTAzIC0zODUuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ib2tfc2lnbiIgdW5pY29kZT0iJiN4ZjA1ODsiIApkPSJNMTI4NCA4MDJxMCAyOCAtMTggNDZsLTkxIDkwcS0xOSAxOSAtNDUgMTl0LTQ1IC0xOWwtNDA4IC00MDdsLTIyNiAyMjZxLTE5IDE5IC00NSAxOXQtNDUgLTE5bC05MSAtOTBxLTE4IC0xOCAtMTggLTQ2cTAgLTI3IDE4IC00NWwzNjIgLTM2MnExOSAtMTkgNDUgLTE5cTI3IDAgNDYgMTlsNTQzIDU0M3ExOCAxOCAxOCA0NXpNMTUzNiA2NDBxMCAtMjA5IC0xMDMgLTM4NS41dC0yNzkuNSAtMjc5LjV0LTM4NS41IC0xMDN0LTM4NS41IDEwMwp0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3QzODUuNSAtMTAzdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJxdWVzdGlvbl9zaWduIiB1bmljb2RlPSImI3hmMDU5OyIgCmQ9Ik04OTYgMTYwdjE5MnEwIDE0IC05IDIzdC0yMyA5aC0xOTJxLTE0IDAgLTIzIC05dC05IC0yM3YtMTkycTAgLTE0IDkgLTIzdDIzIC05aDE5MnExNCAwIDIzIDl0OSAyM3pNMTE1MiA4MzJxMCA4OCAtNTUuNSAxNjN0LTEzOC41IDExNnQtMTcwIDQxcS0yNDMgMCAtMzcxIC0yMTNxLTE1IC0yNCA4IC00MmwxMzIgLTEwMHE3IC02IDE5IC02cTE2IDAgMjUgMTJxNTMgNjggODYgOTJxMzQgMjQgODYgMjRxNDggMCA4NS41IC0yNnQzNy41IC01OQpxMCAtMzggLTIwIC02MXQtNjggLTQ1cS02MyAtMjggLTExNS41IC04Ni41dC01Mi41IC0xMjUuNXYtMzZxMCAtMTQgOSAtMjN0MjMgLTloMTkycTE0IDAgMjMgOXQ5IDIzcTAgMTkgMjEuNSA0OS41dDU0LjUgNDkuNXEzMiAxOCA0OSAyOC41dDQ2IDM1dDQ0LjUgNDh0MjggNjAuNXQxMi41IDgxek0xNTM2IDY0MHEwIC0yMDkgLTEwMyAtMzg1LjV0LTI3OS41IC0yNzkuNXQtMzg1LjUgLTEwM3QtMzg1LjUgMTAzdC0yNzkuNSAyNzkuNQp0LTEwMyAzODUuNXQxMDMgMzg1LjV0Mjc5LjUgMjc5LjV0Mzg1LjUgMTAzdDM4NS41IC0xMDN0Mjc5LjUgLTI3OS41dDEwMyAtMzg1LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImluZm9fc2lnbiIgdW5pY29kZT0iJiN4ZjA1YTsiIApkPSJNMTAyNCAxNjB2MTYwcTAgMTQgLTkgMjN0LTIzIDloLTk2djUxMnEwIDE0IC05IDIzdC0yMyA5aC0zMjBxLTE0IDAgLTIzIC05dC05IC0yM3YtMTYwcTAgLTE0IDkgLTIzdDIzIC05aDk2di0zMjBoLTk2cS0xNCAwIC0yMyAtOXQtOSAtMjN2LTE2MHEwIC0xNCA5IC0yM3QyMyAtOWg0NDhxMTQgMCAyMyA5dDkgMjN6TTg5NiAxMDU2djE2MHEwIDE0IC05IDIzdC0yMyA5aC0xOTJxLTE0IDAgLTIzIC05dC05IC0yM3YtMTYwcTAgLTE0IDkgLTIzCnQyMyAtOWgxOTJxMTQgMCAyMyA5dDkgMjN6TTE1MzYgNjQwcTAgLTIwOSAtMTAzIC0zODUuNXQtMjc5LjUgLTI3OS41dC0zODUuNSAtMTAzdC0zODUuNSAxMDN0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3QzODUuNSAtMTAzdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJzY3JlZW5zaG90IiB1bmljb2RlPSImI3hmMDViOyIgCmQ9Ik0xMTk3IDUxMmgtMTA5cS0yNiAwIC00NSAxOXQtMTkgNDV2MTI4cTAgMjYgMTkgNDV0NDUgMTloMTA5cS0zMiAxMDggLTExMi41IDE4OC41dC0xODguNSAxMTIuNXYtMTA5cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtMTI4cS0yNiAwIC00NSAxOXQtMTkgNDV2MTA5cS0xMDggLTMyIC0xODguNSAtMTEyLjV0LTExMi41IC0xODguNWgxMDlxMjYgMCA0NSAtMTl0MTkgLTQ1di0xMjhxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0xMDkKcTMyIC0xMDggMTEyLjUgLTE4OC41dDE4OC41IC0xMTIuNXYxMDlxMCAyNiAxOSA0NXQ0NSAxOWgxMjhxMjYgMCA0NSAtMTl0MTkgLTQ1di0xMDlxMTA4IDMyIDE4OC41IDExMi41dDExMi41IDE4OC41ek0xNTM2IDcwNHYtMTI4cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtMTQzcS0zNyAtMTYxIC0xNTQuNSAtMjc4LjV0LTI3OC41IC0xNTQuNXYtMTQzcTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtMTI4cS0yNiAwIC00NSAxOXQtMTkgNDV2MTQzCnEtMTYxIDM3IC0yNzguNSAxNTQuNXQtMTU0LjUgMjc4LjVoLTE0M3EtMjYgMCAtNDUgMTl0LTE5IDQ1djEyOHEwIDI2IDE5IDQ1dDQ1IDE5aDE0M3EzNyAxNjEgMTU0LjUgMjc4LjV0Mjc4LjUgMTU0LjV2MTQzcTAgMjYgMTkgNDV0NDUgMTloMTI4cTI2IDAgNDUgLTE5dDE5IC00NXYtMTQzcTE2MSAtMzcgMjc4LjUgLTE1NC41dDE1NC41IC0yNzguNWgxNDNxMjYgMCA0NSAtMTl0MTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJyZW1vdmVfY2lyY2xlIiB1bmljb2RlPSImI3hmMDVjOyIgCmQ9Ik0xMDk3IDQ1N2wtMTQ2IC0xNDZxLTEwIC0xMCAtMjMgLTEwdC0yMyAxMGwtMTM3IDEzN2wtMTM3IC0xMzdxLTEwIC0xMCAtMjMgLTEwdC0yMyAxMGwtMTQ2IDE0NnEtMTAgMTAgLTEwIDIzdDEwIDIzbDEzNyAxMzdsLTEzNyAxMzdxLTEwIDEwIC0xMCAyM3QxMCAyM2wxNDYgMTQ2cTEwIDEwIDIzIDEwdDIzIC0xMGwxMzcgLTEzN2wxMzcgMTM3cTEwIDEwIDIzIDEwdDIzIC0xMGwxNDYgLTE0NnExMCAtMTAgMTAgLTIzdC0xMCAtMjMKbC0xMzcgLTEzN2wxMzcgLTEzN3ExMCAtMTAgMTAgLTIzdC0xMCAtMjN6TTEzMTIgNjQwcTAgMTQ4IC03MyAyNzN0LTE5OCAxOTh0LTI3MyA3M3QtMjczIC03M3QtMTk4IC0xOTh0LTczIC0yNzN0NzMgLTI3M3QxOTggLTE5OHQyNzMgLTczdDI3MyA3M3QxOTggMTk4dDczIDI3M3pNMTUzNiA2NDBxMCAtMjA5IC0xMDMgLTM4NS41dC0yNzkuNSAtMjc5LjV0LTM4NS41IC0xMDN0LTM4NS41IDEwM3QtMjc5LjUgMjc5LjV0LTEwMyAzODUuNQp0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3QzODUuNSAtMTAzdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJva19jaXJjbGUiIHVuaWNvZGU9IiYjeGYwNWQ7IiAKZD0iTTExNzEgNzIzbC00MjIgLTQyMnEtMTkgLTE5IC00NSAtMTl0LTQ1IDE5bC0yOTQgMjk0cS0xOSAxOSAtMTkgNDV0MTkgNDVsMTAyIDEwMnExOSAxOSA0NSAxOXQ0NSAtMTlsMTQ3IC0xNDdsMjc1IDI3NXExOSAxOSA0NSAxOXQ0NSAtMTlsMTAyIC0xMDJxMTkgLTE5IDE5IC00NXQtMTkgLTQ1ek0xMzEyIDY0MHEwIDE0OCAtNzMgMjczdC0xOTggMTk4dC0yNzMgNzN0LTI3MyAtNzN0LTE5OCAtMTk4dC03MyAtMjczdDczIC0yNzN0MTk4IC0xOTgKdDI3MyAtNzN0MjczIDczdDE5OCAxOTh0NzMgMjczek0xNTM2IDY0MHEwIC0yMDkgLTEwMyAtMzg1LjV0LTI3OS41IC0yNzkuNXQtMzg1LjUgLTEwM3QtMzg1LjUgMTAzdC0yNzkuNSAyNzkuNXQtMTAzIDM4NS41dDEwMyAzODUuNXQyNzkuNSAyNzkuNXQzODUuNSAxMDN0Mzg1LjUgLTEwM3QyNzkuNSAtMjc5LjV0MTAzIC0zODUuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYmFuX2NpcmNsZSIgdW5pY29kZT0iJiN4ZjA1ZTsiIApkPSJNMTMxMiA2NDNxMCAxNjEgLTg3IDI5NWwtNzU0IC03NTNxMTM3IC04OSAyOTcgLTg5cTExMSAwIDIxMS41IDQzLjV0MTczLjUgMTE2LjV0MTE2IDE3NC41dDQzIDIxMi41ek0zMTMgMzQ0bDc1NSA3NTRxLTEzNSA5MSAtMzAwIDkxcS0xNDggMCAtMjczIC03M3QtMTk4IC0xOTl0LTczIC0yNzRxMCAtMTYyIDg5IC0yOTl6TTE1MzYgNjQzcTAgLTE1NyAtNjEgLTMwMHQtMTYzLjUgLTI0NnQtMjQ1IC0xNjR0LTI5OC41IC02MXQtMjk4LjUgNjEKdC0yNDUgMTY0dC0xNjMuNSAyNDZ0LTYxIDMwMHQ2MSAyOTkuNXQxNjMuNSAyNDUuNXQyNDUgMTY0dDI5OC41IDYxdDI5OC41IC02MXQyNDUgLTE2NHQxNjMuNSAtMjQ1LjV0NjEgLTI5OS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvd19sZWZ0IiB1bmljb2RlPSImI3hmMDYwOyIgCmQ9Ik0xNTM2IDY0MHYtMTI4cTAgLTUzIC0zMi41IC05MC41dC04NC41IC0zNy41aC03MDRsMjkzIC0yOTRxMzggLTM2IDM4IC05MHQtMzggLTkwbC03NSAtNzZxLTM3IC0zNyAtOTAgLTM3cS01MiAwIC05MSAzN2wtNjUxIDY1MnEtMzcgMzcgLTM3IDkwcTAgNTIgMzcgOTFsNjUxIDY1MHEzOCAzOCA5MSAzOHE1MiAwIDkwIC0zOGw3NSAtNzRxMzggLTM4IDM4IC05MXQtMzggLTkxbC0yOTMgLTI5M2g3MDRxNTIgMCA4NC41IC0zNy41CnQzMi41IC05MC41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvd19yaWdodCIgdW5pY29kZT0iJiN4ZjA2MTsiIApkPSJNMTQ3MiA1NzZxMCAtNTQgLTM3IC05MWwtNjUxIC02NTFxLTM5IC0zNyAtOTEgLTM3cS01MSAwIC05MCAzN2wtNzUgNzVxLTM4IDM4IC0zOCA5MXQzOCA5MWwyOTMgMjkzaC03MDRxLTUyIDAgLTg0LjUgMzcuNXQtMzIuNSA5MC41djEyOHEwIDUzIDMyLjUgOTAuNXQ4NC41IDM3LjVoNzA0bC0yOTMgMjk0cS0zOCAzNiAtMzggOTB0MzggOTBsNzUgNzVxMzggMzggOTAgMzhxNTMgMCA5MSAtMzhsNjUxIC02NTFxMzcgLTM1IDM3IC05MHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3dfdXAiIHVuaWNvZGU9IiYjeGYwNjI7IiBob3Jpei1hZHYteD0iMTY2NCIgCmQ9Ik0xNjExIDU2NXEwIC01MSAtMzcgLTkwbC03NSAtNzVxLTM4IC0zOCAtOTEgLTM4cS01NCAwIC05MCAzOGwtMjk0IDI5M3YtNzA0cTAgLTUyIC0zNy41IC04NC41dC05MC41IC0zMi41aC0xMjhxLTUzIDAgLTkwLjUgMzIuNXQtMzcuNSA4NC41djcwNGwtMjk0IC0yOTNxLTM2IC0zOCAtOTAgLTM4dC05MCAzOGwtNzUgNzVxLTM4IDM4IC0zOCA5MHEwIDUzIDM4IDkxbDY1MSA2NTFxMzUgMzcgOTAgMzdxNTQgMCA5MSAtMzdsNjUxIC02NTEKcTM3IC0zOSAzNyAtOTF6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImFycm93X2Rvd24iIHVuaWNvZGU9IiYjeGYwNjM7IiBob3Jpei1hZHYteD0iMTY2NCIgCmQ9Ik0xNjExIDcwNHEwIC01MyAtMzcgLTkwbC02NTEgLTY1MnEtMzkgLTM3IC05MSAtMzdxLTUzIDAgLTkwIDM3bC02NTEgNjUycS0zOCAzNiAtMzggOTBxMCA1MyAzOCA5MWw3NCA3NXEzOSAzNyA5MSAzN3E1MyAwIDkwIC0zN2wyOTQgLTI5NHY3MDRxMCA1MiAzOCA5MHQ5MCAzOGgxMjhxNTIgMCA5MCAtMzh0MzggLTkwdi03MDRsMjk0IDI5NHEzNyAzNyA5MCAzN3E1MiAwIDkxIC0zN2w3NSAtNzVxMzcgLTM5IDM3IC05MXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ic2hhcmVfYWx0IiB1bmljb2RlPSImI3hmMDY0OyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTc5MiA4OTZxMCAtMjYgLTE5IC00NWwtNTEyIC01MTJxLTE5IC0xOSAtNDUgLTE5dC00NSAxOXQtMTkgNDV2MjU2aC0yMjRxLTk4IDAgLTE3NS41IC02dC0xNTQgLTIxLjV0LTEzMyAtNDIuNXQtMTA1LjUgLTY5LjV0LTgwIC0xMDF0LTQ4LjUgLTEzOC41dC0xNy41IC0xODFxMCAtNTUgNSAtMTIzcTAgLTYgMi41IC0yMy41dDIuNSAtMjYuNXEwIC0xNSAtOC41IC0yNXQtMjMuNSAtMTBxLTE2IDAgLTI4IDE3cS03IDkgLTEzIDIyCnQtMTMuNSAzMHQtMTAuNSAyNHEtMTI3IDI4NSAtMTI3IDQ1MXEwIDE5OSA1MyAzMzNxMTYyIDQwMyA4NzUgNDAzaDIyNHYyNTZxMCAyNiAxOSA0NXQ0NSAxOXQ0NSAtMTlsNTEyIC01MTJxMTkgLTE5IDE5IC00NXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icmVzaXplX2Z1bGwiIHVuaWNvZGU9IiYjeGYwNjU7IiAKZD0iTTc1NSA0ODBxMCAtMTMgLTEwIC0yM2wtMzMyIC0zMzJsMTQ0IC0xNDRxMTkgLTE5IDE5IC00NXQtMTkgLTQ1dC00NSAtMTloLTQ0OHEtMjYgMCAtNDUgMTl0LTE5IDQ1djQ0OHEwIDI2IDE5IDQ1dDQ1IDE5dDQ1IC0xOWwxNDQgLTE0NGwzMzIgMzMycTEwIDEwIDIzIDEwdDIzIC0xMGwxMTQgLTExNHExMCAtMTAgMTAgLTIzek0xNTM2IDEzNDR2LTQ0OHEwIC0yNiAtMTkgLTQ1dC00NSAtMTl0LTQ1IDE5bC0xNDQgMTQ0bC0zMzIgLTMzMgpxLTEwIC0xMCAtMjMgLTEwdC0yMyAxMGwtMTE0IDExNHEtMTAgMTAgLTEwIDIzdDEwIDIzbDMzMiAzMzJsLTE0NCAxNDRxLTE5IDE5IC0xOSA0NXQxOSA0NXQ0NSAxOWg0NDhxMjYgMCA0NSAtMTl0MTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJyZXNpemVfc21hbGwiIHVuaWNvZGU9IiYjeGYwNjY7IiAKZD0iTTc2OCA1NzZ2LTQ0OHEwIC0yNiAtMTkgLTQ1dC00NSAtMTl0LTQ1IDE5bC0xNDQgMTQ0bC0zMzIgLTMzMnEtMTAgLTEwIC0yMyAtMTB0LTIzIDEwbC0xMTQgMTE0cS0xMCAxMCAtMTAgMjN0MTAgMjNsMzMyIDMzMmwtMTQ0IDE0NHEtMTkgMTkgLTE5IDQ1dDE5IDQ1dDQ1IDE5aDQ0OHEyNiAwIDQ1IC0xOXQxOSAtNDV6TTE1MjMgMTI0OHEwIC0xMyAtMTAgLTIzbC0zMzIgLTMzMmwxNDQgLTE0NHExOSAtMTkgMTkgLTQ1dC0xOSAtNDUKdC00NSAtMTloLTQ0OHEtMjYgMCAtNDUgMTl0LTE5IDQ1djQ0OHEwIDI2IDE5IDQ1dDQ1IDE5dDQ1IC0xOWwxNDQgLTE0NGwzMzIgMzMycTEwIDEwIDIzIDEwdDIzIC0xMGwxMTQgLTExNHExMCAtMTAgMTAgLTIzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJwbHVzIiB1bmljb2RlPSImI3hmMDY3OyIgaG9yaXotYWR2LXg9IjE0MDgiIApkPSJNMTQwOCA4MDB2LTE5MnEwIC00MCAtMjggLTY4dC02OCAtMjhoLTQxNnYtNDE2cTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTkycS00MCAwIC02OCAyOHQtMjggNjh2NDE2aC00MTZxLTQwIDAgLTY4IDI4dC0yOCA2OHYxOTJxMCA0MCAyOCA2OHQ2OCAyOGg0MTZ2NDE2cTAgNDAgMjggNjh0NjggMjhoMTkycTQwIDAgNjggLTI4dDI4IC02OHYtNDE2aDQxNnE0MCAwIDY4IC0yOHQyOCAtNjh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Im1pbnVzIiB1bmljb2RlPSImI3hmMDY4OyIgaG9yaXotYWR2LXg9IjE0MDgiIApkPSJNMTQwOCA4MDB2LTE5MnEwIC00MCAtMjggLTY4dC02OCAtMjhoLTEyMTZxLTQwIDAgLTY4IDI4dC0yOCA2OHYxOTJxMCA0MCAyOCA2OHQ2OCAyOGgxMjE2cTQwIDAgNjggLTI4dDI4IC02OHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYXN0ZXJpc2siIHVuaWNvZGU9IiYjeGYwNjk7IiBob3Jpei1hZHYteD0iMTY2NCIgCmQ9Ik0xNDgyIDQ4NnE0NiAtMjYgNTkuNSAtNzcuNXQtMTIuNSAtOTcuNWwtNjQgLTExMHEtMjYgLTQ2IC03Ny41IC01OS41dC05Ny41IDEyLjVsLTI2NiAxNTN2LTMwN3EwIC01MiAtMzggLTkwdC05MCAtMzhoLTEyOHEtNTIgMCAtOTAgMzh0LTM4IDkwdjMwN2wtMjY2IC0xNTNxLTQ2IC0yNiAtOTcuNSAtMTIuNXQtNzcuNSA1OS41bC02NCAxMTBxLTI2IDQ2IC0xMi41IDk3LjV0NTkuNSA3Ny41bDI2NiAxNTRsLTI2NiAxNTQKcS00NiAyNiAtNTkuNSA3Ny41dDEyLjUgOTcuNWw2NCAxMTBxMjYgNDYgNzcuNSA1OS41dDk3LjUgLTEyLjVsMjY2IC0xNTN2MzA3cTAgNTIgMzggOTB0OTAgMzhoMTI4cTUyIDAgOTAgLTM4dDM4IC05MHYtMzA3bDI2NiAxNTNxNDYgMjYgOTcuNSAxMi41dDc3LjUgLTU5LjVsNjQgLTExMHEyNiAtNDYgMTIuNSAtOTcuNXQtNTkuNSAtNzcuNWwtMjY2IC0xNTR6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImV4Y2xhbWF0aW9uX3NpZ24iIHVuaWNvZGU9IiYjeGYwNmE7IiAKZD0iTTc2OCAxNDA4cTIwOSAwIDM4NS41IC0xMDN0Mjc5LjUgLTI3OS41dDEwMyAtMzg1LjV0LTEwMyAtMzg1LjV0LTI3OS41IC0yNzkuNXQtMzg1LjUgLTEwM3QtMzg1LjUgMTAzdC0yNzkuNSAyNzkuNXQtMTAzIDM4NS41dDEwMyAzODUuNXQyNzkuNSAyNzkuNXQzODUuNSAxMDN6TTg5NiAxNjF2MTkwcTAgMTQgLTkgMjMuNXQtMjIgOS41aC0xOTJxLTEzIDAgLTIzIC0xMHQtMTAgLTIzdi0xOTBxMCAtMTMgMTAgLTIzdDIzIC0xMGgxOTIKcTEzIDAgMjIgOS41dDkgMjMuNXpNODk0IDUwNWwxOCA2MjFxMCAxMiAtMTAgMThxLTEwIDggLTI0IDhoLTIyMHEtMTQgMCAtMjQgLThxLTEwIC02IC0xMCAtMThsMTcgLTYyMXEwIC0xMCAxMCAtMTcuNXQyNCAtNy41aDE4NXExNCAwIDIzLjUgNy41dDEwLjUgMTcuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZ2lmdCIgdW5pY29kZT0iJiN4ZjA2YjsiIApkPSJNOTI4IDE4MHY1NnY0Njh2MTkyaC0zMjB2LTE5MnYtNDY4di01NnEwIC0yNSAxOCAtMzguNXQ0NiAtMTMuNWgxOTJxMjggMCA0NiAxMy41dDE4IDM4LjV6TTQ3MiAxMDI0aDE5NWwtMTI2IDE2MXEtMjYgMzEgLTY5IDMxcS00MCAwIC02OCAtMjh0LTI4IC02OHQyOCAtNjh0NjggLTI4ek0xMTYwIDExMjBxMCA0MCAtMjggNjh0LTY4IDI4cS00MyAwIC02OSAtMzFsLTEyNSAtMTYxaDE5NHE0MCAwIDY4IDI4dDI4IDY4ek0xNTM2IDg2NHYtMzIwCnEwIC0xNCAtOSAtMjN0LTIzIC05aC05NnYtNDE2cTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTA4OHEtNDAgMCAtNjggMjh0LTI4IDY4djQxNmgtOTZxLTE0IDAgLTIzIDl0LTkgMjN2MzIwcTAgMTQgOSAyM3QyMyA5aDQ0MHEtOTMgMCAtMTU4LjUgNjUuNXQtNjUuNSAxNTguNXQ2NS41IDE1OC41dDE1OC41IDY1LjVxMTA3IDAgMTY4IC03N2wxMjggLTE2NWwxMjggMTY1cTYxIDc3IDE2OCA3N3E5MyAwIDE1OC41IC02NS41dDY1LjUgLTE1OC41CnQtNjUuNSAtMTU4LjV0LTE1OC41IC02NS41aDQ0MHExNCAwIDIzIC05dDkgLTIzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJsZWFmIiB1bmljb2RlPSImI3hmMDZjOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTI4MCA4MzJxMCAyNiAtMTkgNDV0LTQ1IDE5cS0xNzIgMCAtMzE4IC00OS41dC0yNTkuNSAtMTM0dC0yMzUuNSAtMjE5LjVxLTE5IC0yMSAtMTkgLTQ1cTAgLTI2IDE5IC00NXQ0NSAtMTlxMjQgMCA0NSAxOXEyNyAyNCA3NCA3MXQ2NyA2NnExMzcgMTI0IDI2OC41IDE3NnQzMTMuNSA1MnEyNiAwIDQ1IDE5dDE5IDQ1ek0xNzkyIDEwMzBxMCAtOTUgLTIwIC0xOTNxLTQ2IC0yMjQgLTE4NC41IC0zODN0LTM1Ny41IC0yNjgKcS0yMTQgLTEwOCAtNDM4IC0xMDhxLTE0OCAwIC0yODYgNDdxLTE1IDUgLTg4IDQydC05NiAzN3EtMTYgMCAtMzkuNSAtMzJ0LTQ1IC03MHQtNTIuNSAtNzB0LTYwIC0zMnEtNDMgMCAtNjMuNSAxNy41dC00NS41IDU5LjVxLTIgNCAtNiAxMXQtNS41IDEwdC0zIDkuNXQtMS41IDEzLjVxMCAzNSAzMSA3My41dDY4IDY1LjV0NjggNTZ0MzEgNDhxMCA0IC0xNCAzOHQtMTYgNDRxLTkgNTEgLTkgMTA0cTAgMTE1IDQzLjUgMjIwdDExOSAxODQuNQp0MTcwLjUgMTM5dDIwNCA5NS41cTU1IDE4IDE0NSAyNS41dDE3OS41IDl0MTc4LjUgNnQxNjMuNSAyNHQxMTMuNSA1Ni41bDI5LjUgMjkuNXQyOS41IDI4dDI3IDIwdDM2LjUgMTZ0NDMuNSA0LjVxMzkgMCA3MC41IC00NnQ0Ny41IC0xMTJ0MjQgLTEyNHQ4IC05NnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZmlyZSIgdW5pY29kZT0iJiN4ZjA2ZDsiIGhvcml6LWFkdi14PSIxNDA4IiAKZD0iTTE0MDggLTE2MHYtNjRxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC0xMzQ0cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2NjRxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWgxMzQ0cTEzIDAgMjIuNSAtOS41dDkuNSAtMjIuNXpNMTE1MiA4OTZxMCAtNzggLTI0LjUgLTE0NHQtNjQgLTExMi41dC04Ny41IC04OHQtOTYgLTc3LjV0LTg3LjUgLTcydC02NCAtODEuNXQtMjQuNSAtOTYuNXEwIC05NiA2NyAtMjI0bC00IDFsMSAtMQpxLTkwIDQxIC0xNjAgODN0LTEzOC41IDEwMHQtMTEzLjUgMTIyLjV0LTcyLjUgMTUwLjV0LTI3LjUgMTg0cTAgNzggMjQuNSAxNDR0NjQgMTEyLjV0ODcuNSA4OHQ5NiA3Ny41dDg3LjUgNzJ0NjQgODEuNXQyNC41IDk2LjVxMCA5NCAtNjYgMjI0bDMgLTFsLTEgMXE5MCAtNDEgMTYwIC04M3QxMzguNSAtMTAwdDExMy41IC0xMjIuNXQ3Mi41IC0xNTAuNXQyNy41IC0xODR6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImV5ZV9vcGVuIiB1bmljb2RlPSImI3hmMDZlOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTY2NCA1NzZxLTE1MiAyMzYgLTM4MSAzNTNxNjEgLTEwNCA2MSAtMjI1cTAgLTE4NSAtMTMxLjUgLTMxNi41dC0zMTYuNSAtMTMxLjV0LTMxNi41IDEzMS41dC0xMzEuNSAzMTYuNXEwIDEyMSA2MSAyMjVxLTIyOSAtMTE3IC0zODEgLTM1M3ExMzMgLTIwNSAzMzMuNSAtMzI2LjV0NDM0LjUgLTEyMS41dDQzNC41IDEyMS41dDMzMy41IDMyNi41ek05NDQgOTYwcTAgMjAgLTE0IDM0dC0zNCAxNHEtMTI1IDAgLTIxNC41IC04OS41CnQtODkuNSAtMjE0LjVxMCAtMjAgMTQgLTM0dDM0IC0xNHQzNCAxNHQxNCAzNHEwIDg2IDYxIDE0N3QxNDcgNjFxMjAgMCAzNCAxNHQxNCAzNHpNMTc5MiA1NzZxMCAtMzQgLTIwIC02OXEtMTQwIC0yMzAgLTM3Ni41IC0zNjguNXQtNDk5LjUgLTEzOC41dC00OTkuNSAxMzl0LTM3Ni41IDM2OHEtMjAgMzUgLTIwIDY5dDIwIDY5cTE0MCAyMjkgMzc2LjUgMzY4dDQ5OS41IDEzOXQ0OTkuNSAtMTM5dDM3Ni41IC0zNjhxMjAgLTM1IDIwIC02OXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZXllX2Nsb3NlIiB1bmljb2RlPSImI3hmMDcwOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNNTU1IDIwMWw3OCAxNDFxLTg3IDYzIC0xMzYgMTU5dC00OSAyMDNxMCAxMjEgNjEgMjI1cS0yMjkgLTExNyAtMzgxIC0zNTNxMTY3IC0yNTggNDI3IC0zNzV6TTk0NCA5NjBxMCAyMCAtMTQgMzR0LTM0IDE0cS0xMjUgMCAtMjE0LjUgLTg5LjV0LTg5LjUgLTIxNC41cTAgLTIwIDE0IC0zNHQzNCAtMTR0MzQgMTR0MTQgMzRxMCA4NiA2MSAxNDd0MTQ3IDYxcTIwIDAgMzQgMTR0MTQgMzR6TTEzMDcgMTE1MXEwIC03IC0xIC05CnEtMTA2IC0xODkgLTMxNiAtNTY3dC0zMTUgLTU2NmwtNDkgLTg5cS0xMCAtMTYgLTI4IC0xNnEtMTIgMCAtMTM0IDcwcS0xNiAxMCAtMTYgMjhxMCAxMiA0NCA4N3EtMTQzIDY1IC0yNjMuNSAxNzN0LTIwOC41IDI0NXEtMjAgMzEgLTIwIDY5dDIwIDY5cTE1MyAyMzUgMzgwIDM3MXQ0OTYgMTM2cTg5IDAgMTgwIC0xN2w1NCA5N3ExMCAxNiAyOCAxNnE1IDAgMTggLTZ0MzEgLTE1LjV0MzMgLTE4LjV0MzEuNSAtMTguNXQxOS41IC0xMS41CnExNiAtMTAgMTYgLTI3ek0xMzQ0IDcwNHEwIC0xMzkgLTc5IC0yNTMuNXQtMjA5IC0xNjQuNWwyODAgNTAycTggLTQ1IDggLTg0ek0xNzkyIDU3NnEwIC0zNSAtMjAgLTY5cS0zOSAtNjQgLTEwOSAtMTQ1cS0xNTAgLTE3MiAtMzQ3LjUgLTI2N3QtNDE5LjUgLTk1bDc0IDEzMnEyMTIgMTggMzkyLjUgMTM3dDMwMS41IDMwN3EtMTE1IDE3OSAtMjgyIDI5NGw2MyAxMTJxOTUgLTY0IDE4Mi41IC0xNTN0MTQ0LjUgLTE4NHEyMCAtMzQgMjAgLTY5egoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0id2FybmluZ19zaWduIiB1bmljb2RlPSImI3hmMDcxOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTAyNCAxNjF2MTkwcTAgMTQgLTkuNSAyMy41dC0yMi41IDkuNWgtMTkycS0xMyAwIC0yMi41IC05LjV0LTkuNSAtMjMuNXYtMTkwcTAgLTE0IDkuNSAtMjMuNXQyMi41IC05LjVoMTkycTEzIDAgMjIuNSA5LjV0OS41IDIzLjV6TTEwMjIgNTM1bDE4IDQ1OXEwIDEyIC0xMCAxOXEtMTMgMTEgLTI0IDExaC0yMjBxLTExIDAgLTI0IC0xMXEtMTAgLTcgLTEwIC0yMWwxNyAtNDU3cTAgLTEwIDEwIC0xNi41dDI0IC02LjVoMTg1CnExNCAwIDIzLjUgNi41dDEwLjUgMTYuNXpNMTAwOCAxNDY5bDc2OCAtMTQwOHEzNSAtNjMgLTIgLTEyNnEtMTcgLTI5IC00Ni41IC00NnQtNjMuNSAtMTdoLTE1MzZxLTM0IDAgLTYzLjUgMTd0LTQ2LjUgNDZxLTM3IDYzIC0yIDEyNmw3NjggMTQwOHExNyAzMSA0NyA0OXQ2NSAxOHQ2NSAtMTh0NDcgLTQ5eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJwbGFuZSIgdW5pY29kZT0iJiN4ZjA3MjsiIGhvcml6LWFkdi14PSIxNDA4IiAKZD0iTTEzNzYgMTM3NnE0NCAtNTIgMTIgLTE0OHQtMTA4IC0xNzJsLTE2MSAtMTYxbDE2MCAtNjk2cTUgLTE5IC0xMiAtMzNsLTEyOCAtOTZxLTcgLTYgLTE5IC02cS00IDAgLTcgMXEtMTUgMyAtMjEgMTZsLTI3OSA1MDhsLTI1OSAtMjU5bDUzIC0xOTRxNSAtMTcgLTggLTMxbC05NiAtOTZxLTkgLTkgLTIzIC05aC0ycS0xNSAyIC0yNCAxM2wtMTg5IDI1MmwtMjUyIDE4OXEtMTEgNyAtMTMgMjNxLTEgMTMgOSAyNWw5NiA5N3E5IDkgMjMgOQpxNiAwIDggLTFsMTk0IC01M2wyNTkgMjU5bC01MDggMjc5cS0xNCA4IC0xNyAyNHEtMiAxNiA5IDI3bDEyOCAxMjhxMTQgMTMgMzAgOGw2NjUgLTE1OWwxNjAgMTYwcTc2IDc2IDE3MiAxMDh0MTQ4IC0xMnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iY2FsZW5kYXIiIHVuaWNvZGU9IiYjeGYwNzM7IiBob3Jpei1hZHYteD0iMTY2NCIgCmQ9Ik0xMjggLTEyOGgyODh2Mjg4aC0yODh2LTI4OHpNNDgwIC0xMjhoMzIwdjI4OGgtMzIwdi0yODh6TTEyOCAyMjRoMjg4djMyMGgtMjg4di0zMjB6TTQ4MCAyMjRoMzIwdjMyMGgtMzIwdi0zMjB6TTEyOCA2MDhoMjg4djI4OGgtMjg4di0yODh6TTg2NCAtMTI4aDMyMHYyODhoLTMyMHYtMjg4ek00ODAgNjA4aDMyMHYyODhoLTMyMHYtMjg4ek0xMjQ4IC0xMjhoMjg4djI4OGgtMjg4di0yODh6TTg2NCAyMjRoMzIwdjMyMGgtMzIwdi0zMjB6Ck01MTIgMTA4OHYyODhxMCAxMyAtOS41IDIyLjV0LTIyLjUgOS41aC02NHEtMTMgMCAtMjIuNSAtOS41dC05LjUgLTIyLjV2LTI4OHEwIC0xMyA5LjUgLTIyLjV0MjIuNSAtOS41aDY0cTEzIDAgMjIuNSA5LjV0OS41IDIyLjV6TTEyNDggMjI0aDI4OHYzMjBoLTI4OHYtMzIwek04NjQgNjA4aDMyMHYyODhoLTMyMHYtMjg4ek0xMjQ4IDYwOGgyODh2Mjg4aC0yODh2LTI4OHpNMTI4MCAxMDg4djI4OHEwIDEzIC05LjUgMjIuNXQtMjIuNSA5LjVoLTY0CnEtMTMgMCAtMjIuNSAtOS41dC05LjUgLTIyLjV2LTI4OHEwIC0xMyA5LjUgLTIyLjV0MjIuNSAtOS41aDY0cTEzIDAgMjIuNSA5LjV0OS41IDIyLjV6TTE2NjQgMTE1MnYtMTI4MHEwIC01MiAtMzggLTkwdC05MCAtMzhoLTE0MDhxLTUyIDAgLTkwIDM4dC0zOCA5MHYxMjgwcTAgNTIgMzggOTB0OTAgMzhoMTI4djk2cTAgNjYgNDcgMTEzdDExMyA0N2g2NHE2NiAwIDExMyAtNDd0NDcgLTExM3YtOTZoMzg0djk2cTAgNjYgNDcgMTEzdDExMyA0NwpoNjRxNjYgMCAxMTMgLTQ3dDQ3IC0xMTN2LTk2aDEyOHE1MiAwIDkwIC0zOHQzOCAtOTB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InJhbmRvbSIgdW5pY29kZT0iJiN4ZjA3NDsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTY2NiAxMDU1cS02MCAtOTIgLTEzNyAtMjczcS0yMiA0NSAtMzcgNzIuNXQtNDAuNSA2My41dC01MSA1Ni41dC02MyAzNXQtODEuNSAxNC41aC0yMjRxLTE0IDAgLTIzIDl0LTkgMjN2MTkycTAgMTQgOSAyM3QyMyA5aDIyNHEyNTAgMCA0MTAgLTIyNXpNMTc5MiAyNTZxMCAtMTQgLTkgLTIzbC0zMjAgLTMyMHEtOSAtOSAtMjMgLTlxLTEzIDAgLTIyLjUgOS41dC05LjUgMjIuNXYxOTJxLTMyIDAgLTg1IC0wLjV0LTgxIC0xdC03MyAxCnQtNzEgNXQtNjQgMTAuNXQtNjMgMTguNXQtNTggMjguNXQtNTkgNDB0LTU1IDUzLjV0LTU2IDY5LjVxNTkgOTMgMTM2IDI3M3EyMiAtNDUgMzcgLTcyLjV0NDAuNSAtNjMuNXQ1MSAtNTYuNXQ2MyAtMzV0ODEuNSAtMTQuNWgyNTZ2MTkycTAgMTQgOSAyM3QyMyA5cTEyIDAgMjQgLTEwbDMxOSAtMzE5cTkgLTkgOSAtMjN6TTE3OTIgMTE1MnEwIC0xNCAtOSAtMjNsLTMyMCAtMzIwcS05IC05IC0yMyAtOXEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41CnYxOTJoLTI1NnEtNDggMCAtODcgLTE1dC02OSAtNDV0LTUxIC02MS41dC00NSAtNzcuNXEtMzIgLTYyIC03OCAtMTcxcS0yOSAtNjYgLTQ5LjUgLTExMXQtNTQgLTEwNXQtNjQgLTEwMHQtNzQgLTgzdC05MCAtNjguNXQtMTA2LjUgLTQydC0xMjggLTE2LjVoLTIyNHEtMTQgMCAtMjMgOXQtOSAyM3YxOTJxMCAxNCA5IDIzdDIzIDloMjI0cTQ4IDAgODcgMTV0NjkgNDV0NTEgNjEuNXQ0NSA3Ny41cTMyIDYyIDc4IDE3MXEyOSA2NiA0OS41IDExMQp0NTQgMTA1dDY0IDEwMHQ3NCA4M3Q5MCA2OC41dDEwNi41IDQydDEyOCAxNi41aDI1NnYxOTJxMCAxNCA5IDIzdDIzIDlxMTIgMCAyNCAtMTBsMzE5IC0zMTlxOSAtOSA5IC0yM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iY29tbWVudCIgdW5pY29kZT0iJiN4ZjA3NTsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE3OTIgNjQwcTAgLTE3NCAtMTIwIC0zMjEuNXQtMzI2IC0yMzN0LTQ1MCAtODUuNXEtNzAgMCAtMTQ1IDhxLTE5OCAtMTc1IC00NjAgLTI0MnEtNDkgLTE0IC0xMTQgLTIycS0xNyAtMiAtMzAuNSA5dC0xNy41IDI5djFxLTMgNCAtMC41IDEydDIgMTB0NC41IDkuNWw2IDl0NyA4LjV0OCA5cTcgOCAzMSAzNC41dDM0LjUgMzh0MzEgMzkuNXQzMi41IDUxdDI3IDU5dDI2IDc2cS0xNTcgODkgLTI0Ny41IDIyMHQtOTAuNSAyODEKcTAgMTMwIDcxIDI0OC41dDE5MSAyMDQuNXQyODYgMTM2LjV0MzQ4IDUwLjVxMjQ0IDAgNDUwIC04NS41dDMyNiAtMjMzdDEyMCAtMzIxLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Im1hZ25ldCIgdW5pY29kZT0iJiN4ZjA3NjsiIApkPSJNMTUzNiA3MDR2LTEyOHEwIC0yMDEgLTk4LjUgLTM2MnQtMjc0IC0yNTEuNXQtMzk1LjUgLTkwLjV0LTM5NS41IDkwLjV0LTI3NCAyNTEuNXQtOTguNSAzNjJ2MTI4cTAgMjYgMTkgNDV0NDUgMTloMzg0cTI2IDAgNDUgLTE5dDE5IC00NXYtMTI4cTAgLTUyIDIzLjUgLTkwdDUzLjUgLTU3dDcxIC0zMHQ2NCAtMTN0NDQgLTJ0NDQgMnQ2NCAxM3Q3MSAzMHQ1My41IDU3dDIzLjUgOTB2MTI4cTAgMjYgMTkgNDV0NDUgMTloMzg0CnEyNiAwIDQ1IC0xOXQxOSAtNDV6TTUxMiAxMzQ0di0zODRxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0zODRxLTI2IDAgLTQ1IDE5dC0xOSA0NXYzODRxMCAyNiAxOSA0NXQ0NSAxOWgzODRxMjYgMCA0NSAtMTl0MTkgLTQ1ek0xNTM2IDEzNDR2LTM4NHEwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTM4NHEtMjYgMCAtNDUgMTl0LTE5IDQ1djM4NHEwIDI2IDE5IDQ1dDQ1IDE5aDM4NHEyNiAwIDQ1IC0xOXQxOSAtNDV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImNoZXZyb25fdXAiIHVuaWNvZGU9IiYjeGYwNzc7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xNjgzIDIwNWwtMTY2IC0xNjVxLTE5IC0xOSAtNDUgLTE5dC00NSAxOWwtNTMxIDUzMWwtNTMxIC01MzFxLTE5IC0xOSAtNDUgLTE5dC00NSAxOWwtMTY2IDE2NXEtMTkgMTkgLTE5IDQ1LjV0MTkgNDUuNWw3NDIgNzQxcTE5IDE5IDQ1IDE5dDQ1IC0xOWw3NDIgLTc0MXExOSAtMTkgMTkgLTQ1LjV0LTE5IC00NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjaGV2cm9uX2Rvd24iIHVuaWNvZGU9IiYjeGYwNzg7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xNjgzIDcyOGwtNzQyIC03NDFxLTE5IC0xOSAtNDUgLTE5dC00NSAxOWwtNzQyIDc0MXEtMTkgMTkgLTE5IDQ1LjV0MTkgNDUuNWwxNjYgMTY1cTE5IDE5IDQ1IDE5dDQ1IC0xOWw1MzEgLTUzMWw1MzEgNTMxcTE5IDE5IDQ1IDE5dDQ1IC0xOWwxNjYgLTE2NXExOSAtMTkgMTkgLTQ1LjV0LTE5IC00NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJyZXR3ZWV0IiB1bmljb2RlPSImI3hmMDc5OyIgaG9yaXotYWR2LXg9IjE5MjAiIApkPSJNMTI4MCAzMnEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTk2MHEtOCAwIC0xMy41IDJ0LTkgN3QtNS41IDh0LTMgMTEuNXQtMSAxMS41djEzdjExdjE2MHY0MTZoLTE5MnEtMjYgMCAtNDUgMTl0LTE5IDQ1cTAgMjQgMTUgNDFsMzIwIDM4NHExOSAyMiA0OSAyMnQ0OSAtMjJsMzIwIC0zODRxMTUgLTE3IDE1IC00MXEwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTE5MnYtMzg0aDU3NnExNiAwIDI1IC0xMWwxNjAgLTE5MnE3IC0xMCA3IC0yMQp6TTE5MjAgNDQ4cTAgLTI0IC0xNSAtNDFsLTMyMCAtMzg0cS0yMCAtMjMgLTQ5IC0yM3QtNDkgMjNsLTMyMCAzODRxLTE1IDE3IC0xNSA0MXEwIDI2IDE5IDQ1dDQ1IDE5aDE5MnYzODRoLTU3NnEtMTYgMCAtMjUgMTJsLTE2MCAxOTJxLTcgOSAtNyAyMHEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDk2MHE4IDAgMTMuNSAtMnQ5IC03dDUuNSAtOHQzIC0xMS41dDEgLTExLjV2LTEzdi0xMXYtMTYwdi00MTZoMTkycTI2IDAgNDUgLTE5dDE5IC00NXoKIiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InNob3BwaW5nX2NhcnQiIHVuaWNvZGU9IiYjeGYwN2E7IiBob3Jpei1hZHYteD0iMTY2NCIgCmQ9Ik02NDAgMHEwIC01MiAtMzggLTkwdC05MCAtMzh0LTkwIDM4dC0zOCA5MHQzOCA5MHQ5MCAzOHQ5MCAtMzh0MzggLTkwek0xNTM2IDBxMCAtNTIgLTM4IC05MHQtOTAgLTM4dC05MCAzOHQtMzggOTB0MzggOTB0OTAgMzh0OTAgLTM4dDM4IC05MHpNMTY2NCAxMDg4di01MTJxMCAtMjQgLTE2LjUgLTQyLjV0LTQwLjUgLTIxLjVsLTEwNDQgLTEyMnExMyAtNjAgMTMgLTcwcTAgLTE2IC0yNCAtNjRoOTIwcTI2IDAgNDUgLTE5dDE5IC00NQp0LTE5IC00NXQtNDUgLTE5aC0xMDI0cS0yNiAwIC00NSAxOXQtMTkgNDVxMCAxMSA4IDMxLjV0MTYgMzZ0MjEuNSA0MHQxNS41IDI5LjVsLTE3NyA4MjNoLTIwNHEtMjYgMCAtNDUgMTl0LTE5IDQ1dDE5IDQ1dDQ1IDE5aDI1NnExNiAwIDI4LjUgLTYuNXQxOS41IC0xNS41dDEzIC0yNC41dDggLTI2dDUuNSAtMjkuNXQ0LjUgLTI2aDEyMDFxMjYgMCA0NSAtMTl0MTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJmb2xkZXJfY2xvc2UiIHVuaWNvZGU9IiYjeGYwN2I7IiBob3Jpei1hZHYteD0iMTY2NCIgCmQ9Ik0xNjY0IDkyOHYtNzA0cTAgLTkyIC02NiAtMTU4dC0xNTggLTY2aC0xMjE2cS05MiAwIC0xNTggNjZ0LTY2IDE1OHY5NjBxMCA5MiA2NiAxNTh0MTU4IDY2aDMyMHE5MiAwIDE1OCAtNjZ0NjYgLTE1OHYtMzJoNjcycTkyIDAgMTU4IC02NnQ2NiAtMTU4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJmb2xkZXJfb3BlbiIgdW5pY29kZT0iJiN4ZjA3YzsiIGhvcml6LWFkdi14PSIxOTIwIiAKZD0iTTE4NzkgNTg0cTAgLTMxIC0zMSAtNjZsLTMzNiAtMzk2cS00MyAtNTEgLTEyMC41IC04Ni41dC0xNDMuNSAtMzUuNWgtMTA4OHEtMzQgMCAtNjAuNSAxM3QtMjYuNSA0M3EwIDMxIDMxIDY2bDMzNiAzOTZxNDMgNTEgMTIwLjUgODYuNXQxNDMuNSAzNS41aDEwODhxMzQgMCA2MC41IC0xM3QyNi41IC00M3pNMTUzNiA5Mjh2LTE2MGgtODMycS05NCAwIC0xOTcgLTQ3LjV0LTE2NCAtMTE5LjVsLTMzNyAtMzk2bC01IC02cTAgNCAtMC41IDEyLjUKdC0wLjUgMTIuNXY5NjBxMCA5MiA2NiAxNTh0MTU4IDY2aDMyMHE5MiAwIDE1OCAtNjZ0NjYgLTE1OHYtMzJoNTQ0cTkyIDAgMTU4IC02NnQ2NiAtMTU4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJyZXNpemVfdmVydGljYWwiIHVuaWNvZGU9IiYjeGYwN2Q7IiBob3Jpei1hZHYteD0iNzY4IiAKZD0iTTcwNCAxMjE2cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtMTI4di0xMDI0aDEyOHEyNiAwIDQ1IC0xOXQxOSAtNDV0LTE5IC00NWwtMjU2IC0yNTZxLTE5IC0xOSAtNDUgLTE5dC00NSAxOWwtMjU2IDI1NnEtMTkgMTkgLTE5IDQ1dDE5IDQ1dDQ1IDE5aDEyOHYxMDI0aC0xMjhxLTI2IDAgLTQ1IDE5dC0xOSA0NXQxOSA0NWwyNTYgMjU2cTE5IDE5IDQ1IDE5dDQ1IC0xOWwyNTYgLTI1NnExOSAtMTkgMTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJyZXNpemVfaG9yaXpvbnRhbCIgdW5pY29kZT0iJiN4ZjA3ZTsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE3OTIgNjQwcTAgLTI2IC0xOSAtNDVsLTI1NiAtMjU2cS0xOSAtMTkgLTQ1IC0xOXQtNDUgMTl0LTE5IDQ1djEyOGgtMTAyNHYtMTI4cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOXQtNDUgMTlsLTI1NiAyNTZxLTE5IDE5IC0xOSA0NXQxOSA0NWwyNTYgMjU2cTE5IDE5IDQ1IDE5dDQ1IC0xOXQxOSAtNDV2LTEyOGgxMDI0djEyOHEwIDI2IDE5IDQ1dDQ1IDE5dDQ1IC0xOWwyNTYgLTI1NnExOSAtMTkgMTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJiYXJfY2hhcnQiIHVuaWNvZGU9IiYjeGYwODA7IiBob3Jpei1hZHYteD0iMjA0OCIgCmQ9Ik02NDAgNjQwdi01MTJoLTI1NnY1MTJoMjU2ek0xMDI0IDExNTJ2LTEwMjRoLTI1NnYxMDI0aDI1NnpNMjA0OCAwdi0xMjhoLTIwNDh2MTUzNmgxMjh2LTE0MDhoMTkyMHpNMTQwOCA4OTZ2LTc2OGgtMjU2djc2OGgyNTZ6TTE3OTIgMTI4MHYtMTE1MmgtMjU2djExNTJoMjU2eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ0d2l0dGVyX3NpZ24iIHVuaWNvZGU9IiYjeGYwODE7IiAKZD0iTTEyODAgOTI2cS01NiAtMjUgLTEyMSAtMzRxNjggNDAgOTMgMTE3cS02NSAtMzggLTEzNCAtNTFxLTYxIDY2IC0xNTMgNjZxLTg3IDAgLTE0OC41IC02MS41dC02MS41IC0xNDguNXEwIC0yOSA1IC00OHEtMTI5IDcgLTI0MiA2NXQtMTkyIDE1NXEtMjkgLTUwIC0yOSAtMTA2cTAgLTExNCA5MSAtMTc1cS00NyAxIC0xMDAgMjZ2LTJxMCAtNzUgNTAgLTEzMy41dDEyMyAtNzIuNXEtMjkgLTggLTUxIC04cS0xMyAwIC0zOSA0CnEyMSAtNjMgNzQuNSAtMTA0dDEyMS41IC00MnEtMTE2IC05MCAtMjYxIC05MHEtMjYgMCAtNTAgM3ExNDggLTk0IDMyMiAtOTRxMTEyIDAgMjEwIDM1LjV0MTY4IDk1dDEyMC41IDEzN3Q3NSAxNjJ0MjQuNSAxNjguNXEwIDE4IC0xIDI3cTYzIDQ1IDEwNSAxMDl6TTE1MzYgMTEyMHYtOTYwcTAgLTExOSAtODQuNSAtMjAzLjV0LTIwMy41IC04NC41aC05NjBxLTExOSAwIC0yMDMuNSA4NC41dC04NC41IDIwMy41djk2MHEwIDExOSA4NC41IDIwMy41CnQyMDMuNSA4NC41aDk2MHExMTkgMCAyMDMuNSAtODQuNXQ4NC41IC0yMDMuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZmFjZWJvb2tfc2lnbiIgdW5pY29kZT0iJiN4ZjA4MjsiIApkPSJNMTI0OCAxNDA4cTExOSAwIDIwMy41IC04NC41dDg0LjUgLTIwMy41di05NjBxMCAtMTE5IC04NC41IC0yMDMuNXQtMjAzLjUgLTg0LjVoLTE4OHY1OTVoMTk5bDMwIDIzMmgtMjI5djE0OHEwIDU2IDIzLjUgODR0OTEuNSAyOGwxMjIgMXYyMDdxLTYzIDkgLTE3OCA5cS0xMzYgMCAtMjE3LjUgLTgwdC04MS41IC0yMjZ2LTE3MWgtMjAwdi0yMzJoMjAwdi01OTVoLTUzMnEtMTE5IDAgLTIwMy41IDg0LjV0LTg0LjUgMjAzLjV2OTYwCnEwIDExOSA4NC41IDIwMy41dDIwMy41IDg0LjVoOTYweiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjYW1lcmFfcmV0cm8iIHVuaWNvZGU9IiYjeGYwODM7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik05MjggNzA0cTAgMTQgLTkgMjN0LTIzIDlxLTY2IDAgLTExMyAtNDd0LTQ3IC0xMTNxMCAtMTQgOSAtMjN0MjMgLTl0MjMgOXQ5IDIzcTAgNDAgMjggNjh0NjggMjhxMTQgMCAyMyA5dDkgMjN6TTExNTIgNTc0cTAgLTEwNiAtNzUgLTE4MXQtMTgxIC03NXQtMTgxIDc1dC03NSAxODF0NzUgMTgxdDE4MSA3NXQxODEgLTc1dDc1IC0xODF6TTEyOCAwaDE1MzZ2MTI4aC0xNTM2di0xMjh6TTEyODAgNTc0cTAgMTU5IC0xMTIuNSAyNzEuNQp0LTI3MS41IDExMi41dC0yNzEuNSAtMTEyLjV0LTExMi41IC0yNzEuNXQxMTIuNSAtMjcxLjV0MjcxLjUgLTExMi41dDI3MS41IDExMi41dDExMi41IDI3MS41ek0yNTYgMTIxNmgzODR2MTI4aC0zODR2LTEyOHpNMTI4IDEwMjRoMTUzNnYxMTh2MTM4aC04MjhsLTY0IC0xMjhoLTY0NHYtMTI4ek0xNzkyIDEyODB2LTEyODBxMCAtNTMgLTM3LjUgLTkwLjV0LTkwLjUgLTM3LjVoLTE1MzZxLTUzIDAgLTkwLjUgMzcuNXQtMzcuNSA5MC41djEyODAKcTAgNTMgMzcuNSA5MC41dDkwLjUgMzcuNWgxNTM2cTUzIDAgOTAuNSAtMzcuNXQzNy41IC05MC41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJrZXkiIHVuaWNvZGU9IiYjeGYwODQ7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik04MzIgMTAyNHEwIDgwIC01NiAxMzZ0LTEzNiA1NnQtMTM2IC01NnQtNTYgLTEzNnEwIC00MiAxOSAtODNxLTQxIDE5IC04MyAxOXEtODAgMCAtMTM2IC01NnQtNTYgLTEzNnQ1NiAtMTM2dDEzNiAtNTZ0MTM2IDU2dDU2IDEzNnEwIDQyIC0xOSA4M3E0MSAtMTkgODMgLTE5cTgwIDAgMTM2IDU2dDU2IDEzNnpNMTY4MyAzMjBxMCAtMTcgLTQ5IC02NnQtNjYgLTQ5cS05IDAgLTI4LjUgMTZ0LTM2LjUgMzN0LTM4LjUgNDB0LTI0LjUgMjYKbC05NiAtOTZsMjIwIC0yMjBxMjggLTI4IDI4IC02OHEwIC00MiAtMzkgLTgxdC04MSAtMzlxLTQwIDAgLTY4IDI4bC02NzEgNjcxcS0xNzYgLTEzMSAtMzY1IC0xMzFxLTE2MyAwIC0yNjUuNSAxMDIuNXQtMTAyLjUgMjY1LjVxMCAxNjAgOTUgMzEzdDI0OCAyNDh0MzEzIDk1cTE2MyAwIDI2NS41IC0xMDIuNXQxMDIuNSAtMjY1LjVxMCAtMTg5IC0xMzEgLTM2NWwzNTUgLTM1NWw5NiA5NnEtMyAzIC0yNiAyNC41dC00MCAzOC41dC0zMyAzNi41CnQtMTYgMjguNXEwIDE3IDQ5IDY2dDY2IDQ5cTEzIDAgMjMgLTEwcTYgLTYgNDYgLTQ0LjV0ODIgLTc5LjV0ODYuNSAtODZ0NzMgLTc4dDI4LjUgLTQxeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjb2dzIiB1bmljb2RlPSImI3hmMDg1OyIgaG9yaXotYWR2LXg9IjE5MjAiIApkPSJNODk2IDY0MHEwIDEwNiAtNzUgMTgxdC0xODEgNzV0LTE4MSAtNzV0LTc1IC0xODF0NzUgLTE4MXQxODEgLTc1dDE4MSA3NXQ3NSAxODF6TTE2NjQgMTI4cTAgNTIgLTM4IDkwdC05MCAzOHQtOTAgLTM4dC0zOCAtOTBxMCAtNTMgMzcuNSAtOTAuNXQ5MC41IC0zNy41dDkwLjUgMzcuNXQzNy41IDkwLjV6TTE2NjQgMTE1MnEwIDUyIC0zOCA5MHQtOTAgMzh0LTkwIC0zOHQtMzggLTkwcTAgLTUzIDM3LjUgLTkwLjV0OTAuNSAtMzcuNQp0OTAuNSAzNy41dDM3LjUgOTAuNXpNMTI4MCA3MzF2LTE4NXEwIC0xMCAtNyAtMTkuNXQtMTYgLTEwLjVsLTE1NSAtMjRxLTExIC0zNSAtMzIgLTc2cTM0IC00OCA5MCAtMTE1cTcgLTExIDcgLTIwcTAgLTEyIC03IC0xOXEtMjMgLTMwIC04Mi41IC04OS41dC03OC41IC01OS41cS0xMSAwIC0yMSA3bC0xMTUgOTBxLTM3IC0xOSAtNzcgLTMxcS0xMSAtMTA4IC0yMyAtMTU1cS03IC0yNCAtMzAgLTI0aC0xODZxLTExIDAgLTIwIDcuNXQtMTAgMTcuNQpsLTIzIDE1M3EtMzQgMTAgLTc1IDMxbC0xMTggLTg5cS03IC03IC0yMCAtN3EtMTEgMCAtMjEgOHEtMTQ0IDEzMyAtMTQ0IDE2MHEwIDkgNyAxOXExMCAxNCA0MSA1M3Q0NyA2MXEtMjMgNDQgLTM1IDgybC0xNTIgMjRxLTEwIDEgLTE3IDkuNXQtNyAxOS41djE4NXEwIDEwIDcgMTkuNXQxNiAxMC41bDE1NSAyNHExMSAzNSAzMiA3NnEtMzQgNDggLTkwIDExNXEtNyAxMSAtNyAyMHEwIDEyIDcgMjBxMjIgMzAgODIgODl0NzkgNTlxMTEgMCAyMSAtNwpsMTE1IC05MHEzNCAxOCA3NyAzMnExMSAxMDggMjMgMTU0cTcgMjQgMzAgMjRoMTg2cTExIDAgMjAgLTcuNXQxMCAtMTcuNWwyMyAtMTUzcTM0IC0xMCA3NSAtMzFsMTE4IDg5cTggNyAyMCA3cTExIDAgMjEgLThxMTQ0IC0xMzMgMTQ0IC0xNjBxMCAtOCAtNyAtMTlxLTEyIC0xNiAtNDIgLTU0dC00NSAtNjBxMjMgLTQ4IDM0IC04MmwxNTIgLTIzcTEwIC0yIDE3IC0xMC41dDcgLTE5LjV6TTE5MjAgMTk4di0xNDBxMCAtMTYgLTE0OSAtMzEKcS0xMiAtMjcgLTMwIC01MnE1MSAtMTEzIDUxIC0xMzhxMCAtNCAtNCAtN3EtMTIyIC03MSAtMTI0IC03MXEtOCAwIC00NiA0N3QtNTIgNjhxLTIwIC0yIC0zMCAtMnQtMzAgMnEtMTQgLTIxIC01MiAtNjh0LTQ2IC00N3EtMiAwIC0xMjQgNzFxLTQgMyAtNCA3cTAgMjUgNTEgMTM4cS0xOCAyNSAtMzAgNTJxLTE0OSAxNSAtMTQ5IDMxdjE0MHEwIDE2IDE0OSAzMXExMyAyOSAzMCA1MnEtNTEgMTEzIC01MSAxMzhxMCA0IDQgN3E0IDIgMzUgMjAKdDU5IDM0dDMwIDE2cTggMCA0NiAtNDYuNXQ1MiAtNjcuNXEyMCAyIDMwIDJ0MzAgLTJxNTEgNzEgOTIgMTEybDYgMnE0IDAgMTI0IC03MHE0IC0zIDQgLTdxMCAtMjUgLTUxIC0xMzhxMTcgLTIzIDMwIC01MnExNDkgLTE1IDE0OSAtMzF6TTE5MjAgMTIyMnYtMTQwcTAgLTE2IC0xNDkgLTMxcS0xMiAtMjcgLTMwIC01MnE1MSAtMTEzIDUxIC0xMzhxMCAtNCAtNCAtN3EtMTIyIC03MSAtMTI0IC03MXEtOCAwIC00NiA0N3QtNTIgNjgKcS0yMCAtMiAtMzAgLTJ0LTMwIDJxLTE0IC0yMSAtNTIgLTY4dC00NiAtNDdxLTIgMCAtMTI0IDcxcS00IDMgLTQgN3EwIDI1IDUxIDEzOHEtMTggMjUgLTMwIDUycS0xNDkgMTUgLTE0OSAzMXYxNDBxMCAxNiAxNDkgMzFxMTMgMjkgMzAgNTJxLTUxIDExMyAtNTEgMTM4cTAgNCA0IDdxNCAyIDM1IDIwdDU5IDM0dDMwIDE2cTggMCA0NiAtNDYuNXQ1MiAtNjcuNXEyMCAyIDMwIDJ0MzAgLTJxNTEgNzEgOTIgMTEybDYgMnE0IDAgMTI0IC03MApxNCAtMyA0IC03cTAgLTI1IC01MSAtMTM4cTE3IC0yMyAzMCAtNTJxMTQ5IC0xNSAxNDkgLTMxeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjb21tZW50cyIgdW5pY29kZT0iJiN4ZjA4NjsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE0MDggNzY4cTAgLTEzOSAtOTQgLTI1N3QtMjU2LjUgLTE4Ni41dC0zNTMuNSAtNjguNXEtODYgMCAtMTc2IDE2cS0xMjQgLTg4IC0yNzggLTEyOHEtMzYgLTkgLTg2IC0xNmgtM3EtMTEgMCAtMjAuNSA4dC0xMS41IDIxcS0xIDMgLTEgNi41dDAuNSA2LjV0MiA2bDIuNSA1dDMuNSA1LjV0NCA1dDQuNSA1dDQgNC41cTUgNiAyMyAyNXQyNiAyOS41dDIyLjUgMjl0MjUgMzguNXQyMC41IDQ0cS0xMjQgNzIgLTE5NSAxNzd0LTcxIDIyNApxMCAxMzkgOTQgMjU3dDI1Ni41IDE4Ni41dDM1My41IDY4LjV0MzUzLjUgLTY4LjV0MjU2LjUgLTE4Ni41dDk0IC0yNTd6TTE3OTIgNTEycTAgLTEyMCAtNzEgLTIyNC41dC0xOTUgLTE3Ni41cTEwIC0yNCAyMC41IC00NHQyNSAtMzguNXQyMi41IC0yOXQyNiAtMjkuNXQyMyAtMjVxMSAtMSA0IC00LjV0NC41IC01dDQgLTV0My41IC01LjVsMi41IC01dDIgLTZ0MC41IC02LjV0LTEgLTYuNXEtMyAtMTQgLTEzIC0yMnQtMjIgLTcKcS01MCA3IC04NiAxNnEtMTU0IDQwIC0yNzggMTI4cS05MCAtMTYgLTE3NiAtMTZxLTI3MSAwIC00NzIgMTMycTU4IC00IDg4IC00cTE2MSAwIDMwOSA0NXQyNjQgMTI5cTEyNSA5MiAxOTIgMjEydDY3IDI1NHEwIDc3IC0yMyAxNTJxMTI5IC03MSAyMDQgLTE3OHQ3NSAtMjMweiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ0aHVtYnNfdXBfYWx0IiB1bmljb2RlPSImI3hmMDg3OyIgCmQ9Ik0yNTYgMTkycTAgMjYgLTE5IDQ1dC00NSAxOXQtNDUgLTE5dC0xOSAtNDV0MTkgLTQ1dDQ1IC0xOXQ0NSAxOXQxOSA0NXpNMTQwOCA3NjhxMCA1MSAtMzkgODkuNXQtODkgMzguNWgtMzUycTAgNTggNDggMTU5LjV0NDggMTYwLjVxMCA5OCAtMzIgMTQ1dC0xMjggNDdxLTI2IC0yNiAtMzggLTg1dC0zMC41IC0xMjUuNXQtNTkuNSAtMTA5LjVxLTIyIC0yMyAtNzcgLTkxcS00IC01IC0yMyAtMzB0LTMxLjUgLTQxdC0zNC41IC00Mi41CnQtNDAgLTQ0dC0zOC41IC0zNS41dC00MCAtMjd0LTM1LjUgLTloLTMydi02NDBoMzJxMTMgMCAzMS41IC0zdDMzIC02LjV0MzggLTExdDM1IC0xMS41dDM1LjUgLTEyLjV0MjkgLTEwLjVxMjExIC03MyAzNDIgLTczaDEyMXExOTIgMCAxOTIgMTY3cTAgMjYgLTUgNTZxMzAgMTYgNDcuNSA1Mi41dDE3LjUgNzMuNXQtMTggNjlxNTMgNTAgNTMgMTE5cTAgMjUgLTEwIDU1LjV0LTI1IDQ3LjVxMzIgMSA1My41IDQ3dDIxLjUgODF6TTE1MzYgNzY5CnEwIC04OSAtNDkgLTE2M3E5IC0zMyA5IC02OXEwIC03NyAtMzggLTE0NHEzIC0yMSAzIC00M3EwIC0xMDEgLTYwIC0xNzhxMSAtMTM5IC04NSAtMjE5LjV0LTIyNyAtODAuNWgtMzZoLTkzcS05NiAwIC0xODkuNSAyMi41dC0yMTYuNSA2NS41cS0xMTYgNDAgLTEzOCA0MGgtMjg4cS01MyAwIC05MC41IDM3LjV0LTM3LjUgOTAuNXY2NDBxMCA1MyAzNy41IDkwLjV0OTAuNSAzNy41aDI3NHEzNiAyNCAxMzcgMTU1cTU4IDc1IDEwNyAxMjgKcTI0IDI1IDM1LjUgODUuNXQzMC41IDEyNi41dDYyIDEwOHEzOSAzNyA5MCAzN3E4NCAwIDE1MSAtMzIuNXQxMDIgLTEwMS41dDM1IC0xODZxMCAtOTMgLTQ4IC0xOTJoMTc2cTEwNCAwIDE4MCAtNzZ0NzYgLTE3OXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idGh1bWJzX2Rvd25fYWx0IiB1bmljb2RlPSImI3hmMDg4OyIgCmQ9Ik0yNTYgMTA4OHEwIDI2IC0xOSA0NXQtNDUgMTl0LTQ1IC0xOXQtMTkgLTQ1dDE5IC00NXQ0NSAtMTl0NDUgMTl0MTkgNDV6TTE0MDggNTEycTAgMzUgLTIxLjUgODF0LTUzLjUgNDdxMTUgMTcgMjUgNDcuNXQxMCA1NS41cTAgNjkgLTUzIDExOXExOCAzMSAxOCA2OXEwIDM3IC0xNy41IDczLjV0LTQ3LjUgNTIuNXE1IDMwIDUgNTZxMCA4NSAtNDkgMTI2dC0xMzYgNDFoLTEyOHEtMTMxIDAgLTM0MiAtNzNxLTUgLTIgLTI5IC0xMC41CnQtMzUuNSAtMTIuNXQtMzUgLTExLjV0LTM4IC0xMXQtMzMgLTYuNXQtMzEuNSAtM2gtMzJ2LTY0MGgzMnExNiAwIDM1LjUgLTl0NDAgLTI3dDM4LjUgLTM1LjV0NDAgLTQ0dDM0LjUgLTQyLjV0MzEuNSAtNDF0MjMgLTMwcTU1IC02OCA3NyAtOTFxNDEgLTQzIDU5LjUgLTEwOS41dDMwLjUgLTEyNS41dDM4IC04NXE5NiAwIDEyOCA0N3QzMiAxNDVxMCA1OSAtNDggMTYwLjV0LTQ4IDE1OS41aDM1MnE1MCAwIDg5IDM4LjV0MzkgODkuNXoKTTE1MzYgNTExcTAgLTEwMyAtNzYgLTE3OXQtMTgwIC03NmgtMTc2cTQ4IC05OSA0OCAtMTkycTAgLTExOCAtMzUgLTE4NnEtMzUgLTY5IC0xMDIgLTEwMS41dC0xNTEgLTMyLjVxLTUxIDAgLTkwIDM3cS0zNCAzMyAtNTQgODJ0LTI1LjUgOTAuNXQtMTcuNSA4NC41dC0zMSA2NHEtNDggNTAgLTEwNyAxMjdxLTEwMSAxMzEgLTEzNyAxNTVoLTI3NHEtNTMgMCAtOTAuNSAzNy41dC0zNy41IDkwLjV2NjQwcTAgNTMgMzcuNSA5MC41dDkwLjUgMzcuNQpoMjg4cTIyIDAgMTM4IDQwcTEyOCA0NCAyMjMgNjZ0MjAwIDIyaDExMnExNDAgMCAyMjYuNSAtNzl0ODUuNSAtMjE2di01cTYwIC03NyA2MCAtMTc4cTAgLTIyIC0zIC00M3EzOCAtNjcgMzggLTE0NHEwIC0zNiAtOSAtNjlxNDkgLTczIDQ5IC0xNjN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InN0YXJfaGFsZiIgdW5pY29kZT0iJiN4ZjA4OTsiIGhvcml6LWFkdi14PSI4OTYiIApkPSJNODMyIDE1MDR2LTEzMzlsLTQ0OSAtMjM2cS0yMiAtMTIgLTQwIC0xMnEtMjEgMCAtMzEuNSAxNC41dC0xMC41IDM1LjVxMCA2IDIgMjBsODYgNTAwbC0zNjQgMzU0cS0yNSAyNyAtMjUgNDhxMCAzNyA1NiA0Nmw1MDIgNzNsMjI1IDQ1NXExOSA0MSA0OSA0MXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaGVhcnRfZW1wdHkiIHVuaWNvZGU9IiYjeGYwOGE7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xNjY0IDk0MHEwIDgxIC0yMS41IDE0M3QtNTUgOTguNXQtODEuNSA1OS41dC05NCAzMXQtOTggOHQtMTEyIC0yNS41dC0xMTAuNSAtNjR0LTg2LjUgLTcydC02MCAtNjEuNXEtMTggLTIyIC00OSAtMjJ0LTQ5IDIycS0yNCAyOCAtNjAgNjEuNXQtODYuNSA3MnQtMTEwLjUgNjR0LTExMiAyNS41dC05OCAtOHQtOTQgLTMxdC04MS41IC01OS41dC01NSAtOTguNXQtMjEuNSAtMTQzcTAgLTE2OCAxODcgLTM1NWw1ODEgLTU2MGw1ODAgNTU5CnExODggMTg4IDE4OCAzNTZ6TTE3OTIgOTQwcTAgLTIyMSAtMjI5IC00NTBsLTYyMyAtNjAwcS0xOCAtMTggLTQ0IC0xOHQtNDQgMThsLTYyNCA2MDJxLTEwIDggLTI3LjUgMjZ0LTU1LjUgNjUuNXQtNjggOTcuNXQtNTMuNSAxMjF0LTIzLjUgMTM4cTAgMjIwIDEyNyAzNDR0MzUxIDEyNHE2MiAwIDEyNi41IC0yMS41dDEyMCAtNTh0OTUuNSAtNjguNXQ3NiAtNjhxMzYgMzYgNzYgNjh0OTUuNSA2OC41dDEyMCA1OHQxMjYuNSAyMS41CnEyMjQgMCAzNTEgLTEyNHQxMjcgLTM0NHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ic2lnbm91dCIgdW5pY29kZT0iJiN4ZjA4YjsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTY0MCA5NnEwIC00IDEgLTIwdDAuNSAtMjYuNXQtMyAtMjMuNXQtMTAgLTE5LjV0LTIwLjUgLTYuNWgtMzIwcS0xMTkgMCAtMjAzLjUgODQuNXQtODQuNSAyMDMuNXY3MDRxMCAxMTkgODQuNSAyMDMuNXQyMDMuNSA4NC41aDMyMHExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjVxMCAtNCAxIC0yMHQwLjUgLTI2LjV0LTMgLTIzLjV0LTEwIC0xOS41dC0yMC41IC02LjVoLTMyMHEtNjYgMCAtMTEzIC00N3QtNDcgLTExM3YtNzA0CnEwIC02NiA0NyAtMTEzdDExMyAtNDdoMjg4aDExaDEzdDExLjUgLTF0MTEuNSAtM3Q4IC01LjV0NyAtOXQyIC0xMy41ek0xNTY4IDY0MHEwIC0yNiAtMTkgLTQ1bC01NDQgLTU0NHEtMTkgLTE5IC00NSAtMTl0LTQ1IDE5dC0xOSA0NXYyODhoLTQ0OHEtMjYgMCAtNDUgMTl0LTE5IDQ1djM4NHEwIDI2IDE5IDQ1dDQ1IDE5aDQ0OHYyODhxMCAyNiAxOSA0NXQ0NSAxOXQ0NSAtMTlsNTQ0IC01NDRxMTkgLTE5IDE5IC00NXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ibGlua2VkaW5fc2lnbiIgdW5pY29kZT0iJiN4ZjA4YzsiIApkPSJNMjM3IDEyMmgyMzF2Njk0aC0yMzF2LTY5NHpNNDgzIDEwMzBxLTEgNTIgLTM2IDg2dC05MyAzNHQtOTQuNSAtMzR0LTM2LjUgLTg2cTAgLTUxIDM1LjUgLTg1LjV0OTIuNSAtMzQuNWgxcTU5IDAgOTUgMzQuNXQzNiA4NS41ek0xMDY4IDEyMmgyMzF2Mzk4cTAgMTU0IC03MyAyMzN0LTE5MyA3OXEtMTM2IDAgLTIwOSAtMTE3aDJ2MTAxaC0yMzFxMyAtNjYgMCAtNjk0aDIzMXYzODhxMCAzOCA3IDU2cTE1IDM1IDQ1IDU5LjV0NzQgMjQuNQpxMTE2IDAgMTE2IC0xNTd2LTM3MXpNMTUzNiAxMTIwdi05NjBxMCAtMTE5IC04NC41IC0yMDMuNXQtMjAzLjUgLTg0LjVoLTk2MHEtMTE5IDAgLTIwMy41IDg0LjV0LTg0LjUgMjAzLjV2OTYwcTAgMTE5IDg0LjUgMjAzLjV0MjAzLjUgODQuNWg5NjBxMTE5IDAgMjAzLjUgLTg0LjV0ODQuNSAtMjAzLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InB1c2hwaW4iIHVuaWNvZGU9IiYjeGYwOGQ7IiBob3Jpei1hZHYteD0iMTE1MiIgCmQ9Ik00ODAgNjcydjQ0OHEwIDE0IC05IDIzdC0yMyA5dC0yMyAtOXQtOSAtMjN2LTQ0OHEwIC0xNCA5IC0yM3QyMyAtOXQyMyA5dDkgMjN6TTExNTIgMzIwcTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtNDI5bC01MSAtNDgzcS0yIC0xMiAtMTAuNSAtMjAuNXQtMjAuNSAtOC41aC0xcS0yNyAwIC0zMiAyN2wtNzYgNDg1aC00MDRxLTI2IDAgLTQ1IDE5dC0xOSA0NXEwIDEyMyA3OC41IDIyMS41dDE3Ny41IDk4LjV2NTEycS01MiAwIC05MCAzOAp0LTM4IDkwdDM4IDkwdDkwIDM4aDY0MHE1MiAwIDkwIC0zOHQzOCAtOTB0LTM4IC05MHQtOTAgLTM4di01MTJxOTkgMCAxNzcuNSAtOTguNXQ3OC41IC0yMjEuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZXh0ZXJuYWxfbGluayIgdW5pY29kZT0iJiN4ZjA4ZTsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE0MDggNjA4di0zMjBxMCAtMTE5IC04NC41IC0yMDMuNXQtMjAzLjUgLTg0LjVoLTgzMnEtMTE5IDAgLTIwMy41IDg0LjV0LTg0LjUgMjAzLjV2ODMycTAgMTE5IDg0LjUgMjAzLjV0MjAzLjUgODQuNWg3MDRxMTQgMCAyMyAtOXQ5IC0yM3YtNjRxMCAtMTQgLTkgLTIzdC0yMyAtOWgtNzA0cS02NiAwIC0xMTMgLTQ3dC00NyAtMTEzdi04MzJxMCAtNjYgNDcgLTExM3QxMTMgLTQ3aDgzMnE2NiAwIDExMyA0N3Q0NyAxMTN2MzIwCnEwIDE0IDkgMjN0MjMgOWg2NHExNCAwIDIzIC05dDkgLTIzek0xNzkyIDE0NzJ2LTUxMnEwIC0yNiAtMTkgLTQ1dC00NSAtMTl0LTQ1IDE5bC0xNzYgMTc2bC02NTIgLTY1MnEtMTAgLTEwIC0yMyAtMTB0LTIzIDEwbC0xMTQgMTE0cS0xMCAxMCAtMTAgMjN0MTAgMjNsNjUyIDY1MmwtMTc2IDE3NnEtMTkgMTkgLTE5IDQ1dDE5IDQ1dDQ1IDE5aDUxMnEyNiAwIDQ1IC0xOXQxOSAtNDV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InNpZ25pbiIgdW5pY29kZT0iJiN4ZjA5MDsiIApkPSJNMTE4NCA2NDBxMCAtMjYgLTE5IC00NWwtNTQ0IC01NDRxLTE5IC0xOSAtNDUgLTE5dC00NSAxOXQtMTkgNDV2Mjg4aC00NDhxLTI2IDAgLTQ1IDE5dC0xOSA0NXYzODRxMCAyNiAxOSA0NXQ0NSAxOWg0NDh2Mjg4cTAgMjYgMTkgNDV0NDUgMTl0NDUgLTE5bDU0NCAtNTQ0cTE5IC0xOSAxOSAtNDV6TTE1MzYgOTkydi03MDRxMCAtMTE5IC04NC41IC0yMDMuNXQtMjAzLjUgLTg0LjVoLTMyMHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41CnEwIDQgLTEgMjB0LTAuNSAyNi41dDMgMjMuNXQxMCAxOS41dDIwLjUgNi41aDMyMHE2NiAwIDExMyA0N3Q0NyAxMTN2NzA0cTAgNjYgLTQ3IDExM3QtMTEzIDQ3aC0yODhoLTExaC0xM3QtMTEuNSAxdC0xMS41IDN0LTggNS41dC03IDl0LTIgMTMuNXEwIDQgLTEgMjB0LTAuNSAyNi41dDMgMjMuNXQxMCAxOS41dDIwLjUgNi41aDMyMHExMTkgMCAyMDMuNSAtODQuNXQ4NC41IC0yMDMuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idHJvcGh5IiB1bmljb2RlPSImI3hmMDkxOyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNNDU4IDY1M3EtNzQgMTYyIC03NCAzNzFoLTI1NnYtOTZxMCAtNzggOTQuNSAtMTYydDIzNS41IC0xMTN6TTE1MzYgOTI4djk2aC0yNTZxMCAtMjA5IC03NCAtMzcxcTE0MSAyOSAyMzUuNSAxMTN0OTQuNSAxNjJ6TTE2NjQgMTA1NnYtMTI4cTAgLTcxIC00MS41IC0xNDN0LTExMiAtMTMwdC0xNzMgLTk3LjV0LTIxNS41IC00NC41cS00MiAtNTQgLTk1IC05NXEtMzggLTM0IC01Mi41IC03Mi41dC0xNC41IC04OS41cTAgLTU0IDMwLjUgLTkxCnQ5Ny41IC0zN3E3NSAwIDEzMy41IC00NS41dDU4LjUgLTExNC41di02NHEwIC0xNCAtOSAtMjN0LTIzIC05aC04MzJxLTE0IDAgLTIzIDl0LTkgMjN2NjRxMCA2OSA1OC41IDExNC41dDEzMy41IDQ1LjVxNjcgMCA5Ny41IDM3dDMwLjUgOTFxMCA1MSAtMTQuNSA4OS41dC01Mi41IDcyLjVxLTUzIDQxIC05NSA5NXEtMTEzIDUgLTIxNS41IDQ0LjV0LTE3MyA5Ny41dC0xMTIgMTMwdC00MS41IDE0M3YxMjhxMCA0MCAyOCA2OHQ2OCAyOGgyODh2OTYKcTAgNjYgNDcgMTEzdDExMyA0N2g1NzZxNjYgMCAxMTMgLTQ3dDQ3IC0xMTN2LTk2aDI4OHE0MCAwIDY4IC0yOHQyOCAtNjh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImdpdGh1Yl9zaWduIiB1bmljb2RlPSImI3hmMDkyOyIgCmQ9Ik01MTkgMzM2cTQgNiAtMyAxM3EtOSA3IC0xNCAycS00IC02IDMgLTEzcTkgLTcgMTQgLTJ6TTQ5MSAzNzdxLTUgNyAtMTIgNHEtNiAtNCAwIC0xMnE3IC04IDEyIC01cTYgNCAwIDEzek00NTAgNDE3cTIgNCAtNSA4cS03IDIgLTggLTJxLTMgLTUgNCAtOHE4IC0yIDkgMnpNNDcxIDM5NHEyIDEgMS41IDQuNXQtMy41IDUuNXEtNiA3IC0xMCAzdDEgLTExcTYgLTYgMTEgLTJ6TTU1NyAzMTlxMiA3IC05IDExcS05IDMgLTEzIC00CnEtMiAtNyA5IC0xMXE5IC0zIDEzIDR6TTU5OSAzMTZxMCA4IC0xMiA4cS0xMCAwIC0xMCAtOHQxMSAtOHQxMSA4ek02MzggMzIzcS0yIDcgLTEzIDV0LTkgLTlxMiAtOCAxMiAtNnQxMCAxMHpNMTI4MCA2NDBxMCAyMTIgLTE1MCAzNjJ0LTM2MiAxNTB0LTM2MiAtMTUwdC0xNTAgLTM2MnEwIC0xNjcgOTggLTMwMC41dDI1MiAtMTg1LjVxMTggLTMgMjYuNSA1dDguNSAyMHEwIDUyIC0xIDk1cS02IC0xIC0xNS41IC0yLjV0LTM1LjUgLTJ0LTQ4IDQKdC00My41IDIwdC0yOS41IDQxLjVxLTIzIDU5IC01NyA3NHEtMiAxIC00LjUgMy41bC04IDh0LTcgOS41dDQgNy41dDE5LjUgMy41cTYgMCAxNSAtMnQzMCAtMTUuNXQzMyAtMzUuNXExNiAtMjggMzcuNSAtNDJ0NDMuNSAtMTR0MzggMy41dDMwIDkuNXE3IDQ3IDMzIDY5cS00OSA2IC04NiAxOC41dC03MyAzOXQtNTUuNSA3NnQtMTkuNSAxMTkuNXEwIDc5IDUzIDEzN3EtMjQgNjIgNSAxMzZxMTkgNiA1NC41IC03LjV0NjAuNSAtMjkuNWwyNiAtMTYKcTU4IDE3IDEyOCAxN3QxMjggLTE3cTExIDcgMjguNSAxOHQ1NS41IDI2dDU3IDlxMjkgLTc0IDUgLTEzNnE1MyAtNTggNTMgLTEzN3EwIC01NyAtMTQgLTEwMC41dC0zNS41IC03MHQtNTMuNSAtNDQuNXQtNjIuNSAtMjZ0LTY4LjUgLTEycTM1IC0zMSAzNSAtOTVxMCAtNDAgLTAuNSAtODl0LTAuNSAtNTFxMCAtMTIgOC41IC0yMHQyNi41IC01cTE1NCA1MiAyNTIgMTg1LjV0OTggMzAwLjV6TTE1MzYgMTEyMHYtOTYwCnEwIC0xMTkgLTg0LjUgLTIwMy41dC0yMDMuNSAtODQuNWgtOTYwcS0xMTkgMCAtMjAzLjUgODQuNXQtODQuNSAyMDMuNXY5NjBxMCAxMTkgODQuNSAyMDMuNXQyMDMuNSA4NC41aDk2MHExMTkgMCAyMDMuNSAtODQuNXQ4NC41IC0yMDMuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idXBsb2FkX2FsdCIgdW5pY29kZT0iJiN4ZjA5MzsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTEyODAgNjRxMCAyNiAtMTkgNDV0LTQ1IDE5dC00NSAtMTl0LTE5IC00NXQxOSAtNDV0NDUgLTE5dDQ1IDE5dDE5IDQ1ek0xNTM2IDY0cTAgMjYgLTE5IDQ1dC00NSAxOXQtNDUgLTE5dC0xOSAtNDV0MTkgLTQ1dDQ1IC0xOXQ0NSAxOXQxOSA0NXpNMTY2NCAyODh2LTMyMHEwIC00MCAtMjggLTY4dC02OCAtMjhoLTE0NzJxLTQwIDAgLTY4IDI4dC0yOCA2OHYzMjBxMCA0MCAyOCA2OHQ2OCAyOGg0MjdxMjEgLTU2IDcwLjUgLTkyCnQxMTAuNSAtMzZoMjU2cTYxIDAgMTEwLjUgMzZ0NzAuNSA5Mmg0MjdxNDAgMCA2OCAtMjh0MjggLTY4ek0xMzM5IDkzNnEtMTcgLTQwIC01OSAtNDBoLTI1NnYtNDQ4cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtMjU2cS0yNiAwIC00NSAxOXQtMTkgNDV2NDQ4aC0yNTZxLTQyIDAgLTU5IDQwcS0xNyAzOSAxNCA2OWw0NDggNDQ4cTE4IDE5IDQ1IDE5dDQ1IC0xOWw0NDggLTQ0OHEzMSAtMzAgMTQgLTY5eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJsZW1vbiIgdW5pY29kZT0iJiN4ZjA5NDsiIApkPSJNMTQwNyA3MTBxMCA0NCAtNyAxMTMuNXQtMTggOTYuNXEtMTIgMzAgLTE3IDQ0dC05IDM2LjV0LTQgNDguNXEwIDIzIDUgNjguNXQ1IDY3LjVxMCAzNyAtMTAgNTVxLTQgMSAtMTMgMXEtMTkgMCAtNTggLTQuNXQtNTkgLTQuNXEtNjAgMCAtMTc2IDI0dC0xNzUgMjRxLTQzIDAgLTk0LjUgLTExLjV0LTg1IC0yMy41dC04OS41IC0zNHEtMTM3IC01NCAtMjAyIC0xMDNxLTk2IC03MyAtMTU5LjUgLTE4OS41dC04OCAtMjM2dC0yNC41IC0yNDguNQpxMCAtNDAgMTIuNSAtMTIwdDEyLjUgLTEyMXEwIC0yMyAtMTEgLTY2LjV0LTExIC02NS41dDEyIC0zNi41dDM0IC0xNC41cTI0IDAgNzIuNSAxMXQ3My41IDExcTU3IDAgMTY5LjUgLTE1LjV0MTY5LjUgLTE1LjVxMTgxIDAgMjg0IDM2cTEyOSA0NSAyMzUuNSAxNTIuNXQxNjYgMjQ1LjV0NTkuNSAyNzV6TTE1MzUgNzEycTAgLTE2NSAtNzAgLTMyNy41dC0xOTYgLTI4OHQtMjgxIC0xODAuNXEtMTI0IC00NCAtMzI2IC00NApxLTU3IDAgLTE3MCAxNC41dC0xNjkgMTQuNXEtMjQgMCAtNzIuNSAtMTQuNXQtNzMuNSAtMTQuNXEtNzMgMCAtMTIzLjUgNTUuNXQtNTAuNSAxMjguNXEwIDI0IDExIDY4dDExIDY3cTAgNDAgLTEyLjUgMTIwLjV0LTEyLjUgMTIxLjVxMCAxMTEgMTggMjE3LjV0NTQuNSAyMDkuNXQxMDAuNSAxOTR0MTUwIDE1NnE3OCA1OSAyMzIgMTIwcTE5NCA3OCAzMTYgNzhxNjAgMCAxNzUuNSAtMjR0MTczLjUgLTI0cTE5IDAgNTcgNXQ1OCA1CnE4MSAwIDExOCAtNTAuNXQzNyAtMTM0LjVxMCAtMjMgLTUgLTY4dC01IC02OHEwIC0xMyAyIC0yNXQzLjUgLTE2LjV0Ny41IC0yMC41dDggLTIwcTE2IC00MCAyNSAtMTE4LjV0OSAtMTM2LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InBob25lIiB1bmljb2RlPSImI3hmMDk1OyIgaG9yaXotYWR2LXg9IjE0MDgiIApkPSJNMTQwOCAyOTZxMCAtMjcgLTEwIC03MC41dC0yMSAtNjguNXEtMjEgLTUwIC0xMjIgLTEwNnEtOTQgLTUxIC0xODYgLTUxcS0yNyAwIC01MyAzLjV0LTU3LjUgMTIuNXQtNDcgMTQuNXQtNTUuNSAyMC41dC00OSAxOHEtOTggMzUgLTE3NSA4M3EtMTI3IDc5IC0yNjQgMjE2dC0yMTYgMjY0cS00OCA3NyAtODMgMTc1cS0zIDkgLTE4IDQ5dC0yMC41IDU1LjV0LTE0LjUgNDd0LTEyLjUgNTcuNXQtMy41IDUzcTAgOTIgNTEgMTg2CnE1NiAxMDEgMTA2IDEyMnEyNSAxMSA2OC41IDIxdDcwLjUgMTBxMTQgMCAyMSAtM3ExOCAtNiA1MyAtNzZxMTEgLTE5IDMwIC01NHQzNSAtNjMuNXQzMSAtNTMuNXEzIC00IDE3LjUgLTI1dDIxLjUgLTM1LjV0NyAtMjguNXEwIC0yMCAtMjguNSAtNTB0LTYyIC01NXQtNjIgLTUzdC0yOC41IC00NnEwIC05IDUgLTIyLjV0OC41IC0yMC41dDE0IC0yNHQxMS41IC0xOXE3NiAtMTM3IDE3NCAtMjM1dDIzNSAtMTc0cTIgLTEgMTkgLTExLjV0MjQgLTE0CnQyMC41IC04LjV0MjIuNSAtNXExOCAwIDQ2IDI4LjV0NTMgNjJ0NTUgNjJ0NTAgMjguNXExNCAwIDI4LjUgLTd0MzUuNSAtMjEuNXQyNSAtMTcuNXEyNSAtMTUgNTMuNSAtMzF0NjMuNSAtMzV0NTQgLTMwcTcwIC0zNSA3NiAtNTNxMyAtNyAzIC0yMXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2tfZW1wdHkiIHVuaWNvZGU9IiYjeGYwOTY7IiBob3Jpei1hZHYteD0iMTQwOCIgCmQ9Ik0xMTIwIDEyODBoLTgzMnEtNjYgMCAtMTEzIC00N3QtNDcgLTExM3YtODMycTAgLTY2IDQ3IC0xMTN0MTEzIC00N2g4MzJxNjYgMCAxMTMgNDd0NDcgMTEzdjgzMnEwIDY2IC00NyAxMTN0LTExMyA0N3pNMTQwOCAxMTIwdi04MzJxMCAtMTE5IC04NC41IC0yMDMuNXQtMjAzLjUgLTg0LjVoLTgzMnEtMTE5IDAgLTIwMy41IDg0LjV0LTg0LjUgMjAzLjV2ODMycTAgMTE5IDg0LjUgMjAzLjV0MjAzLjUgODQuNWg4MzIKcTExOSAwIDIwMy41IC04NC41dDg0LjUgLTIwMy41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJib29rbWFya19lbXB0eSIgdW5pY29kZT0iJiN4ZjA5NzsiIGhvcml6LWFkdi14PSIxMjgwIiAKZD0iTTExNTIgMTI4MGgtMTAyNHYtMTI0Mmw0MjMgNDA2bDg5IDg1bDg5IC04NWw0MjMgLTQwNnYxMjQyek0xMTY0IDE0MDhxMjMgMCA0NCAtOXEzMyAtMTMgNTIuNSAtNDF0MTkuNSAtNjJ2LTEyODlxMCAtMzQgLTE5LjUgLTYydC01Mi41IC00MXEtMTkgLTggLTQ0IC04cS00OCAwIC04MyAzMmwtNDQxIDQyNGwtNDQxIC00MjRxLTM2IC0zMyAtODMgLTMzcS0yMyAwIC00NCA5cS0zMyAxMyAtNTIuNSA0MXQtMTkuNSA2MnYxMjg5CnEwIDM0IDE5LjUgNjJ0NTIuNSA0MXEyMSA5IDQ0IDloMTA0OHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icGhvbmVfc2lnbiIgdW5pY29kZT0iJiN4ZjA5ODsiIApkPSJNMTI4MCAzNDNxMCAxMSAtMiAxNnQtMTggMTYuNXQtNDAuNSAyNXQtNDcuNSAyNi41dC00NS41IDI1dC0yOC41IDE1cS01IDMgLTE5IDEzdC0yNSAxNXQtMjEgNXEtMTUgMCAtMzYuNSAtMjAuNXQtMzkuNSAtNDV0LTM4LjUgLTQ1dC0zMy41IC0yMC41cS03IDAgLTE2LjUgMy41dC0xNS41IDYuNXQtMTcgOS41dC0xNCA4LjVxLTk5IDU1IC0xNzAgMTI2LjV0LTEyNyAxNzAuNXEtMiAzIC04LjUgMTR0LTkuNSAxN3QtNi41IDE1LjUKdC0zLjUgMTYuNXEwIDEzIDIwLjUgMzMuNXQ0NSAzOC41dDQ1IDM5LjV0MjAuNSAzNi41cTAgMTAgLTUgMjF0LTE1IDI1dC0xMyAxOXEtMyA2IC0xNSAyOC41dC0yNSA0NS41dC0yNi41IDQ3LjV0LTI1IDQwLjV0LTE2LjUgMTh0LTE2IDJxLTQ4IDAgLTEwMSAtMjJxLTQ2IC0yMSAtODAgLTk0LjV0LTM0IC0xMzAuNXEwIC0xNiAyLjUgLTM0dDUgLTMwLjV0OSAtMzN0MTAgLTI5LjV0MTIuNSAtMzN0MTEgLTMwcTYwIC0xNjQgMjE2LjUgLTMyMC41CnQzMjAuNSAtMjE2LjVxNiAtMiAzMCAtMTF0MzMgLTEyLjV0MjkuNSAtMTB0MzMgLTl0MzAuNSAtNXQzNCAtMi41cTU3IDAgMTMwLjUgMzR0OTQuNSA4MHEyMiA1MyAyMiAxMDF6TTE1MzYgMTEyMHYtOTYwcTAgLTExOSAtODQuNSAtMjAzLjV0LTIwMy41IC04NC41aC05NjBxLTExOSAwIC0yMDMuNSA4NC41dC04NC41IDIwMy41djk2MHEwIDExOSA4NC41IDIwMy41dDIwMy41IDg0LjVoOTYwcTExOSAwIDIwMy41IC04NC41dDg0LjUgLTIwMy41egoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idHdpdHRlciIgdW5pY29kZT0iJiN4ZjA5OTsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTE2MjAgMTEyOHEtNjcgLTk4IC0xNjIgLTE2N3ExIC0xNCAxIC00MnEwIC0xMzAgLTM4IC0yNTkuNXQtMTE1LjUgLTI0OC41dC0xODQuNSAtMjEwLjV0LTI1OCAtMTQ2dC0zMjMgLTU0LjVxLTI3MSAwIC00OTYgMTQ1cTM1IC00IDc4IC00cTIyNSAwIDQwMSAxMzhxLTEwNSAyIC0xODggNjQuNXQtMTE0IDE1OS41cTMzIC01IDYxIC01cTQzIDAgODUgMTFxLTExMiAyMyAtMTg1LjUgMTExLjV0LTczLjUgMjA1LjV2NHE2OCAtMzggMTQ2IC00MQpxLTY2IDQ0IC0xMDUgMTE1dC0zOSAxNTRxMCA4OCA0NCAxNjNxMTIxIC0xNDkgMjk0LjUgLTIzOC41dDM3MS41IC05OS41cS04IDM4IC04IDc0cTAgMTM0IDk0LjUgMjI4LjV0MjI4LjUgOTQuNXExNDAgMCAyMzYgLTEwMnExMDkgMjEgMjA1IDc4cS0zNyAtMTE1IC0xNDIgLTE3OHE5MyAxMCAxODYgNTB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImZhY2Vib29rIiB1bmljb2RlPSImI3hmMDlhOyIgaG9yaXotYWR2LXg9IjEwMjQiIApkPSJNOTU5IDE1MjR2LTI2NGgtMTU3cS04NiAwIC0xMTYgLTM2dC0zMCAtMTA4di0xODloMjkzbC0zOSAtMjk2aC0yNTR2LTc1OWgtMzA2djc1OWgtMjU1djI5NmgyNTV2MjE4cTAgMTg2IDEwNCAyODguNXQyNzcgMTAyLjVxMTQ3IDAgMjI4IC0xMnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZ2l0aHViIiB1bmljb2RlPSImI3hmMDliOyIgCmQ9Ik03NjggMTQwOHEyMDkgMCAzODUuNSAtMTAzdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41cTAgLTI1MSAtMTQ2LjUgLTQ1MS41dC0zNzguNSAtMjc3LjVxLTI3IC01IC00MCA3dC0xMyAzMHEwIDMgMC41IDc2LjV0MC41IDEzNC41cTAgOTcgLTUyIDE0MnE1NyA2IDEwMi41IDE4dDk0IDM5dDgxIDY2LjV0NTMgMTA1dDIwLjUgMTUwLjVxMCAxMTkgLTc5IDIwNnEzNyA5MSAtOCAyMDRxLTI4IDkgLTgxIC0xMXQtOTIgLTQ0bC0zOCAtMjQKcS05MyAyNiAtMTkyIDI2dC0xOTIgLTI2cS0xNiAxMSAtNDIuNSAyN3QtODMuNSAzOC41dC04NSAxMy41cS00NSAtMTEzIC04IC0yMDRxLTc5IC04NyAtNzkgLTIwNnEwIC04NSAyMC41IC0xNTB0NTIuNSAtMTA1dDgwLjUgLTY3dDk0IC0zOXQxMDIuNSAtMThxLTM5IC0zNiAtNDkgLTEwM3EtMjEgLTEwIC00NSAtMTV0LTU3IC01dC02NS41IDIxLjV0LTU1LjUgNjIuNXEtMTkgMzIgLTQ4LjUgNTJ0LTQ5LjUgMjRsLTIwIDNxLTIxIDAgLTI5IC00LjUKdC01IC0xMS41dDkgLTE0dDEzIC0xMmw3IC01cTIyIC0xMCA0My41IC0zOHQzMS41IC01MWwxMCAtMjNxMTMgLTM4IDQ0IC02MS41dDY3IC0zMHQ2OS41IC03dDU1LjUgMy41bDIzIDRxMCAtMzggMC41IC04OC41dDAuNSAtNTQuNXEwIC0xOCAtMTMgLTMwdC00MCAtN3EtMjMyIDc3IC0zNzguNSAyNzcuNXQtMTQ2LjUgNDUxLjVxMCAyMDkgMTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3pNMjkxIDMwNXEzIDcgLTcgMTIKcS0xMCAzIC0xMyAtMnEtMyAtNyA3IC0xMnE5IC02IDEzIDJ6TTMyMiAyNzFxNyA1IC0yIDE2cS0xMCA5IC0xNiAzcS03IC01IDIgLTE2cTEwIC0xMCAxNiAtM3pNMzUyIDIyNnE5IDcgMCAxOXEtOCAxMyAtMTcgNnEtOSAtNSAwIC0xOHQxNyAtN3pNMzk0IDE4NHE4IDggLTQgMTlxLTEyIDEyIC0yMCAzcS05IC04IDQgLTE5cTEyIC0xMiAyMCAtM3pNNDUxIDE1OXEzIDExIC0xMyAxNnEtMTUgNCAtMTkgLTd0MTMgLTE1cTE1IC02IDE5IDZ6Ck01MTQgMTU0cTAgMTMgLTE3IDExcS0xNiAwIC0xNiAtMTFxMCAtMTMgMTcgLTExcTE2IDAgMTYgMTF6TTU3MiAxNjRxLTIgMTEgLTE4IDlxLTE2IC0zIC0xNCAtMTV0MTggLTh0MTQgMTR6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVubG9jayIgdW5pY29kZT0iJiN4ZjA5YzsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTE2NjQgOTYwdi0yNTZxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC02NHEtMjYgMCAtNDUgMTl0LTE5IDQ1djI1NnEwIDEwNiAtNzUgMTgxdC0xODEgNzV0LTE4MSAtNzV0LTc1IC0xODF2LTE5Mmg5NnE0MCAwIDY4IC0yOHQyOCAtNjh2LTU3NnEwIC00MCAtMjggLTY4dC02OCAtMjhoLTk2MHEtNDAgMCAtNjggMjh0LTI4IDY4djU3NnEwIDQwIDI4IDY4dDY4IDI4aDY3MnYxOTJxMCAxODUgMTMxLjUgMzE2LjV0MzE2LjUgMTMxLjUKdDMxNi41IC0xMzEuNXQxMzEuNSAtMzE2LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImNyZWRpdF9jYXJkIiB1bmljb2RlPSImI3hmMDlkOyIgaG9yaXotYWR2LXg9IjE5MjAiIApkPSJNMTc2MCAxNDA4cTY2IDAgMTEzIC00N3Q0NyAtMTEzdi0xMjE2cTAgLTY2IC00NyAtMTEzdC0xMTMgLTQ3aC0xNjAwcS02NiAwIC0xMTMgNDd0LTQ3IDExM3YxMjE2cTAgNjYgNDcgMTEzdDExMyA0N2gxNjAwek0xNjAgMTI4MHEtMTMgMCAtMjIuNSAtOS41dC05LjUgLTIyLjV2LTIyNGgxNjY0djIyNHEwIDEzIC05LjUgMjIuNXQtMjIuNSA5LjVoLTE2MDB6TTE3NjAgMHExMyAwIDIyLjUgOS41dDkuNSAyMi41djYwOGgtMTY2NHYtNjA4CnEwIC0xMyA5LjUgLTIyLjV0MjIuNSAtOS41aDE2MDB6TTI1NiAxMjh2MTI4aDI1NnYtMTI4aC0yNTZ6TTY0MCAxMjh2MTI4aDM4NHYtMTI4aC0zODR6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InJzcyIgdW5pY29kZT0iJiN4ZjA5ZTsiIGhvcml6LWFkdi14PSIxNDA4IiAKZD0iTTM4NCAxOTJxMCAtODAgLTU2IC0xMzZ0LTEzNiAtNTZ0LTEzNiA1NnQtNTYgMTM2dDU2IDEzNnQxMzYgNTZ0MTM2IC01NnQ1NiAtMTM2ek04OTYgNjlxMiAtMjggLTE3IC00OHEtMTggLTIxIC00NyAtMjFoLTEzNXEtMjUgMCAtNDMgMTYuNXQtMjAgNDEuNXEtMjIgMjI5IC0xODQuNSAzOTEuNXQtMzkxLjUgMTg0LjVxLTI1IDIgLTQxLjUgMjB0LTE2LjUgNDN2MTM1cTAgMjkgMjEgNDdxMTcgMTcgNDMgMTdoNXExNjAgLTEzIDMwNiAtODAuNQp0MjU5IC0xODEuNXExMTQgLTExMyAxODEuNSAtMjU5dDgwLjUgLTMwNnpNMTQwOCA2N3EyIC0yNyAtMTggLTQ3cS0xOCAtMjAgLTQ2IC0yMGgtMTQzcS0yNiAwIC00NC41IDE3LjV0LTE5LjUgNDIuNXEtMTIgMjE1IC0xMDEgNDA4LjV0LTIzMS41IDMzNnQtMzM2IDIzMS41dC00MDguNSAxMDJxLTI1IDEgLTQyLjUgMTkuNXQtMTcuNSA0My41djE0M3EwIDI4IDIwIDQ2cTE4IDE4IDQ0IDE4aDNxMjYyIC0xMyA1MDEuNSAtMTIwdDQyNS41IC0yOTQKcTE4NyAtMTg2IDI5NCAtNDI1LjV0MTIwIC01MDEuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaGRkIiB1bmljb2RlPSImI3hmMGEwOyIgCmQ9Ik0xMDQwIDMyMHEwIC0zMyAtMjMuNSAtNTYuNXQtNTYuNSAtMjMuNXQtNTYuNSAyMy41dC0yMy41IDU2LjV0MjMuNSA1Ni41dDU2LjUgMjMuNXQ1Ni41IC0yMy41dDIzLjUgLTU2LjV6TTEyOTYgMzIwcTAgLTMzIC0yMy41IC01Ni41dC01Ni41IC0yMy41dC01Ni41IDIzLjV0LTIzLjUgNTYuNXQyMy41IDU2LjV0NTYuNSAyMy41dDU2LjUgLTIzLjV0MjMuNSAtNTYuNXpNMTQwOCAxNjB2MzIwcTAgMTMgLTkuNSAyMi41dC0yMi41IDkuNQpoLTEyMTZxLTEzIDAgLTIyLjUgLTkuNXQtOS41IC0yMi41di0zMjBxMCAtMTMgOS41IC0yMi41dDIyLjUgLTkuNWgxMjE2cTEzIDAgMjIuNSA5LjV0OS41IDIyLjV6TTE3OCA2NDBoMTE4MGwtMTU3IDQ4MnEtNCAxMyAtMTYgMjEuNXQtMjYgOC41aC03ODJxLTE0IDAgLTI2IC04LjV0LTE2IC0yMS41ek0xNTM2IDQ4MHYtMzIwcTAgLTY2IC00NyAtMTEzdC0xMTMgLTQ3aC0xMjE2cS02NiAwIC0xMTMgNDd0LTQ3IDExM3YzMjBxMCAyNSAxNiA3NQpsMTk3IDYwNnExNyA1MyA2MyA4NnQxMDEgMzNoNzgycTU1IDAgMTAxIC0zM3Q2MyAtODZsMTk3IC02MDZxMTYgLTUwIDE2IC03NXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYnVsbGhvcm4iIHVuaWNvZGU9IiYjeGYwYTE7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xNjY0IDg5NnE1MyAwIDkwLjUgLTM3LjV0MzcuNSAtOTAuNXQtMzcuNSAtOTAuNXQtOTAuNSAtMzcuNXYtMzg0cTAgLTUyIC0zOCAtOTB0LTkwIC0zOHEtNDE3IDM0NyAtODEyIDM4MHEtNTggLTE5IC05MSAtNjZ0LTMxIC0xMDAuNXQ0MCAtOTIuNXEtMjAgLTMzIC0yMyAtNjUuNXQ2IC01OHQzMy41IC01NXQ0OCAtNTB0NjEuNSAtNTAuNXEtMjkgLTU4IC0xMTEuNSAtODN0LTE2OC41IC0xMS41dC0xMzIgNTUuNXEtNyAyMyAtMjkuNSA4Ny41CnQtMzIgOTQuNXQtMjMgODl0LTE1IDEwMXQzLjUgOTguNXQyMiAxMTAuNWgtMTIycS02NiAwIC0xMTMgNDd0LTQ3IDExM3YxOTJxMCA2NiA0NyAxMTN0MTEzIDQ3aDQ4MHE0MzUgMCA4OTYgMzg0cTUyIDAgOTAgLTM4dDM4IC05MHYtMzg0ek0xNTM2IDI5MnY5NTRxLTM5NCAtMzAyIC03NjggLTM0M3YtMjcwcTM3NyAtNDIgNzY4IC0zNDF6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImJlbGwiIHVuaWNvZGU9IiYjeGYwYTI7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik05MTIgLTE2MHEwIDE2IC0xNiAxNnEtNTkgMCAtMTAxLjUgNDIuNXQtNDIuNSAxMDEuNXEwIDE2IC0xNiAxNnQtMTYgLTE2cTAgLTczIDUxLjUgLTEyNC41dDEyNC41IC01MS41cTE2IDAgMTYgMTZ6TTI0NiAxMjhoMTMwMHEtMjY2IDMwMCAtMjY2IDgzMnEwIDUxIC0yNCAxMDV0LTY5IDEwM3QtMTIxLjUgODAuNXQtMTY5LjUgMzEuNXQtMTY5LjUgLTMxLjV0LTEyMS41IC04MC41dC02OSAtMTAzdC0yNCAtMTA1cTAgLTUzMiAtMjY2IC04MzJ6Ck0xNzI4IDEyOHEwIC01MiAtMzggLTkwdC05MCAtMzhoLTQ0OHEwIC0xMDYgLTc1IC0xODF0LTE4MSAtNzV0LTE4MSA3NXQtNzUgMTgxaC00NDhxLTUyIDAgLTkwIDM4dC0zOCA5MHE1MCA0MiA5MSA4OHQ4NSAxMTkuNXQ3NC41IDE1OC41dDUwIDIwNnQxOS41IDI2MHEwIDE1MiAxMTcgMjgyLjV0MzA3IDE1OC41cS04IDE5IC04IDM5cTAgNDAgMjggNjh0NjggMjh0NjggLTI4dDI4IC02OHEwIC0yMCAtOCAtMzlxMTkwIC0yOCAzMDcgLTE1OC41CnQxMTcgLTI4Mi41cTAgLTEzOSAxOS41IC0yNjB0NTAgLTIwNnQ3NC41IC0xNTguNXQ4NSAtMTE5LjV0OTEgLTg4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjZXJ0aWZpY2F0ZSIgdW5pY29kZT0iJiN4ZjBhMzsiIApkPSJNMTM3NiA2NDBsMTM4IC0xMzVxMzAgLTI4IDIwIC03MHEtMTIgLTQxIC01MiAtNTFsLTE4OCAtNDhsNTMgLTE4NnExMiAtNDEgLTE5IC03MHEtMjkgLTMxIC03MCAtMTlsLTE4NiA1M2wtNDggLTE4OHEtMTAgLTQwIC01MSAtNTJxLTEyIC0yIC0xOSAtMnEtMzEgMCAtNTEgMjJsLTEzNSAxMzhsLTEzNSAtMTM4cS0yOCAtMzAgLTcwIC0yMHEtNDEgMTEgLTUxIDUybC00OCAxODhsLTE4NiAtNTNxLTQxIC0xMiAtNzAgMTlxLTMxIDI5IC0xOSA3MApsNTMgMTg2bC0xODggNDhxLTQwIDEwIC01MiA1MXEtMTAgNDIgMjAgNzBsMTM4IDEzNWwtMTM4IDEzNXEtMzAgMjggLTIwIDcwcTEyIDQxIDUyIDUxbDE4OCA0OGwtNTMgMTg2cS0xMiA0MSAxOSA3MHEyOSAzMSA3MCAxOWwxODYgLTUzbDQ4IDE4OHExMCA0MSA1MSA1MXE0MSAxMiA3MCAtMTlsMTM1IC0xMzlsMTM1IDEzOXEyOSAzMCA3MCAxOXE0MSAtMTAgNTEgLTUxbDQ4IC0xODhsMTg2IDUzcTQxIDEyIDcwIC0xOXEzMSAtMjkgMTkgLTcwCmwtNTMgLTE4NmwxODggLTQ4cTQwIC0xMCA1MiAtNTFxMTAgLTQyIC0yMCAtNzB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImhhbmRfcmlnaHQiIHVuaWNvZGU9IiYjeGYwYTQ7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0yNTYgMTkycTAgMjYgLTE5IDQ1dC00NSAxOXQtNDUgLTE5dC0xOSAtNDV0MTkgLTQ1dDQ1IC0xOXQ0NSAxOXQxOSA0NXpNMTY2NCA3NjhxMCA1MSAtMzkgODkuNXQtODkgMzguNWgtNTc2cTAgMjAgMTUgNDguNXQzMyA1NXQzMyA2OHQxNSA4NC41cTAgNjcgLTQ0LjUgOTcuNXQtMTE1LjUgMzAuNXEtMjQgMCAtOTAgLTEzOXEtMjQgLTQ0IC0zNyAtNjVxLTQwIC02NCAtMTEyIC0xNDVxLTcxIC04MSAtMTAxIC0xMDYKcS02OSAtNTcgLTE0MCAtNTdoLTMydi02NDBoMzJxNzIgMCAxNjcgLTMydDE5My41IC02NHQxNzkuNSAtMzJxMTg5IDAgMTg5IDE2N3EwIDI2IC01IDU2cTMwIDE2IDQ3LjUgNTIuNXQxNy41IDczLjV0LTE4IDY5cTUzIDUwIDUzIDExOXEwIDI1IC0xMCA1NS41dC0yNSA0Ny41aDMzMXE1MiAwIDkwIDM4dDM4IDkwek0xNzkyIDc2OXEwIC0xMDUgLTc1LjUgLTE4MXQtMTgwLjUgLTc2aC0xNjlxLTQgLTYyIC0zNyAtMTE5cTMgLTIxIDMgLTQzCnEwIC0xMDEgLTYwIC0xNzhxMSAtMTM5IC04NSAtMjE5LjV0LTIyNyAtODAuNXEtMTMzIDAgLTMyMiA2OXEtMTY0IDU5IC0yMjMgNTloLTI4OHEtNTMgMCAtOTAuNSAzNy41dC0zNy41IDkwLjV2NjQwcTAgNTMgMzcuNSA5MC41dDkwLjUgMzcuNWgyODhxMTAgMCAyMS41IDQuNXQyMy41IDE0dDIyLjUgMTh0MjQgMjIuNXQyMC41IDIxLjV0MTkgMjEuNXQxNCAxN3E2NSA3NCAxMDAgMTI5cTEzIDIxIDMzIDYydDM3IDcydDQwLjUgNjN0NTUgNDkuNQp0NjkuNSAxNy41cTEyNSAwIDIwNi41IC02N3Q4MS41IC0xODlxMCAtNjggLTIyIC0xMjhoMzc0cTEwNCAwIDE4MCAtNzZ0NzYgLTE3OXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaGFuZF9sZWZ0IiB1bmljb2RlPSImI3hmMGE1OyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTM3NiAxMjhoMzJ2NjQwaC0zMnEtMzUgMCAtNjcuNSAxMnQtNjIuNSAzN3QtNTAgNDZ0LTQ5IDU0cS04IDkgLTEyIDE0cS03MiA4MSAtMTEyIDE0NXEtMTQgMjIgLTM4IDY4cS0xIDMgLTEwLjUgMjIuNXQtMTguNSAzNnQtMjAgMzUuNXQtMjEuNSAzMC41dC0xOC41IDExLjVxLTcxIDAgLTExNS41IC0zMC41dC00NC41IC05Ny41cTAgLTQzIDE1IC04NC41dDMzIC02OHQzMyAtNTV0MTUgLTQ4LjVoLTU3NnEtNTAgMCAtODkgLTM4LjUKdC0zOSAtODkuNXEwIC01MiAzOCAtOTB0OTAgLTM4aDMzMXEtMTUgLTE3IC0yNSAtNDcuNXQtMTAgLTU1LjVxMCAtNjkgNTMgLTExOXEtMTggLTMyIC0xOCAtNjl0MTcuNSAtNzMuNXQ0Ny41IC01Mi41cS00IC0yNCAtNCAtNTZxMCAtODUgNDguNSAtMTI2dDEzNS41IC00MXE4NCAwIDE4MyAzMnQxOTQgNjR0MTY3IDMyek0xNjY0IDE5MnEwIDI2IC0xOSA0NXQtNDUgMTl0LTQ1IC0xOXQtMTkgLTQ1dDE5IC00NXQ0NSAtMTl0NDUgMTl0MTkgNDV6Ck0xNzkyIDc2OHYtNjQwcTAgLTUzIC0zNy41IC05MC41dC05MC41IC0zNy41aC0yODhxLTU5IDAgLTIyMyAtNTlxLTE5MCAtNjkgLTMxNyAtNjlxLTE0MiAwIC0yMzAgNzcuNXQtODcgMjE3LjVsMSA1cS02MSA3NiAtNjEgMTc4cTAgMjIgMyA0M3EtMzMgNTcgLTM3IDExOWgtMTY5cS0xMDUgMCAtMTgwLjUgNzZ0LTc1LjUgMTgxcTAgMTAzIDc2IDE3OXQxODAgNzZoMzc0cS0yMiA2MCAtMjIgMTI4cTAgMTIyIDgxLjUgMTg5dDIwNi41IDY3CnEzOCAwIDY5LjUgLTE3LjV0NTUgLTQ5LjV0NDAuNSAtNjN0MzcgLTcydDMzIC02MnEzNSAtNTUgMTAwIC0xMjlxMiAtMyAxNCAtMTd0MTkgLTIxLjV0MjAuNSAtMjEuNXQyNCAtMjIuNXQyMi41IC0xOHQyMy41IC0xNHQyMS41IC00LjVoMjg4cTUzIDAgOTAuNSAtMzcuNXQzNy41IC05MC41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJoYW5kX3VwIiB1bmljb2RlPSImI3hmMGE2OyIgCmQ9Ik0xMjgwIC02NHEwIDI2IC0xOSA0NXQtNDUgMTl0LTQ1IC0xOXQtMTkgLTQ1dDE5IC00NXQ0NSAtMTl0NDUgMTl0MTkgNDV6TTE0MDggNzAwcTAgMTg5IC0xNjcgMTg5cS0yNiAwIC01NiAtNXEtMTYgMzAgLTUyLjUgNDcuNXQtNzMuNSAxNy41dC02OSAtMThxLTUwIDUzIC0xMTkgNTNxLTI1IDAgLTU1LjUgLTEwdC00Ny41IC0yNXYzMzFxMCA1MiAtMzggOTB0LTkwIDM4cS01MSAwIC04OS41IC0zOXQtMzguNSAtODl2LTU3NgpxLTIwIDAgLTQ4LjUgMTV0LTU1IDMzdC02OCAzM3QtODQuNSAxNXEtNjcgMCAtOTcuNSAtNDQuNXQtMzAuNSAtMTE1LjVxMCAtMjQgMTM5IC05MHE0NCAtMjQgNjUgLTM3cTY0IC00MCAxNDUgLTExMnE4MSAtNzEgMTA2IC0xMDFxNTcgLTY5IDU3IC0xNDB2LTMyaDY0MHYzMnEwIDcyIDMyIDE2N3Q2NCAxOTMuNXQzMiAxNzkuNXpNMTUzNiA3MDVxMCAtMTMzIC02OSAtMzIycS01OSAtMTY0IC01OSAtMjIzdi0yODhxMCAtNTMgLTM3LjUgLTkwLjUKdC05MC41IC0zNy41aC02NDBxLTUzIDAgLTkwLjUgMzcuNXQtMzcuNSA5MC41djI4OHEwIDEwIC00LjUgMjEuNXQtMTQgMjMuNXQtMTggMjIuNXQtMjIuNSAyNHQtMjEuNSAyMC41dC0yMS41IDE5dC0xNyAxNHEtNzQgNjUgLTEyOSAxMDBxLTIxIDEzIC02MiAzM3QtNzIgMzd0LTYzIDQwLjV0LTQ5LjUgNTV0LTE3LjUgNjkuNXEwIDEyNSA2NyAyMDYuNXQxODkgODEuNXE2OCAwIDEyOCAtMjJ2Mzc0cTAgMTA0IDc2IDE4MHQxNzkgNzYKcTEwNSAwIDE4MSAtNzUuNXQ3NiAtMTgwLjV2LTE2OXE2MiAtNCAxMTkgLTM3cTIxIDMgNDMgM3ExMDEgMCAxNzggLTYwcTEzOSAxIDIxOS41IC04NXQ4MC41IC0yMjd6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImhhbmRfZG93biIgdW5pY29kZT0iJiN4ZjBhNzsiIApkPSJNMTQwOCA1NzZxMCA4NCAtMzIgMTgzdC02NCAxOTR0LTMyIDE2N3YzMmgtNjQwdi0zMnEwIC0zNSAtMTIgLTY3LjV0LTM3IC02Mi41dC00NiAtNTB0LTU0IC00OXEtOSAtOCAtMTQgLTEycS04MSAtNzIgLTE0NSAtMTEycS0yMiAtMTQgLTY4IC0zOHEtMyAtMSAtMjIuNSAtMTAuNXQtMzYgLTE4LjV0LTM1LjUgLTIwdC0zMC41IC0yMS41dC0xMS41IC0xOC41cTAgLTcxIDMwLjUgLTExNS41dDk3LjUgLTQ0LjVxNDMgMCA4NC41IDE1dDY4IDMzCnQ1NSAzM3Q0OC41IDE1di01NzZxMCAtNTAgMzguNSAtODl0ODkuNSAtMzlxNTIgMCA5MCAzOHQzOCA5MHYzMzFxNDYgLTM1IDEwMyAtMzVxNjkgMCAxMTkgNTNxMzIgLTE4IDY5IC0xOHQ3My41IDE3LjV0NTIuNSA0Ny41cTI0IC00IDU2IC00cTg1IDAgMTI2IDQ4LjV0NDEgMTM1LjV6TTEyODAgMTM0NHEwIDI2IC0xOSA0NXQtNDUgMTl0LTQ1IC0xOXQtMTkgLTQ1dDE5IC00NXQ0NSAtMTl0NDUgMTl0MTkgNDV6TTE1MzYgNTgwCnEwIC0xNDIgLTc3LjUgLTIzMHQtMjE3LjUgLTg3bC01IDFxLTc2IC02MSAtMTc4IC02MXEtMjIgMCAtNDMgM3EtNTQgLTMwIC0xMTkgLTM3di0xNjlxMCAtMTA1IC03NiAtMTgwLjV0LTE4MSAtNzUuNXEtMTAzIDAgLTE3OSA3NnQtNzYgMTgwdjM3NHEtNTQgLTIyIC0xMjggLTIycS0xMjEgMCAtMTg4LjUgODEuNXQtNjcuNSAyMDYuNXEwIDM4IDE3LjUgNjkuNXQ0OS41IDU1dDYzIDQwLjV0NzIgMzd0NjIgMzNxNTUgMzUgMTI5IDEwMApxMyAyIDE3IDE0dDIxLjUgMTl0MjEuNSAyMC41dDIyLjUgMjR0MTggMjIuNXQxNCAyMy41dDQuNSAyMS41djI4OHEwIDUzIDM3LjUgOTAuNXQ5MC41IDM3LjVoNjQwcTUzIDAgOTAuNSAtMzcuNXQzNy41IC05MC41di0yODhxMCAtNTkgNTkgLTIyM3E2OSAtMTkwIDY5IC0zMTd6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImNpcmNsZV9hcnJvd19sZWZ0IiB1bmljb2RlPSImI3hmMGE4OyIgCmQ9Ik0xMjgwIDU3NnYxMjhxMCAyNiAtMTkgNDV0LTQ1IDE5aC01MDJsMTg5IDE4OXExOSAxOSAxOSA0NXQtMTkgNDVsLTkxIDkxcS0xOCAxOCAtNDUgMTh0LTQ1IC0xOGwtMzYyIC0zNjJsLTkxIC05MXEtMTggLTE4IC0xOCAtNDV0MTggLTQ1bDkxIC05MWwzNjIgLTM2MnExOCAtMTggNDUgLTE4dDQ1IDE4bDkxIDkxcTE4IDE4IDE4IDQ1dC0xOCA0NWwtMTg5IDE4OWg1MDJxMjYgMCA0NSAxOXQxOSA0NXpNMTUzNiA2NDAKcTAgLTIwOSAtMTAzIC0zODUuNXQtMjc5LjUgLTI3OS41dC0zODUuNSAtMTAzdC0zODUuNSAxMDN0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3QzODUuNSAtMTAzdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjaXJjbGVfYXJyb3dfcmlnaHQiIHVuaWNvZGU9IiYjeGYwYTk7IiAKZD0iTTEyODUgNjQwcTAgMjcgLTE4IDQ1bC05MSA5MWwtMzYyIDM2MnEtMTggMTggLTQ1IDE4dC00NSAtMThsLTkxIC05MXEtMTggLTE4IC0xOCAtNDV0MTggLTQ1bDE4OSAtMTg5aC01MDJxLTI2IDAgLTQ1IC0xOXQtMTkgLTQ1di0xMjhxMCAtMjYgMTkgLTQ1dDQ1IC0xOWg1MDJsLTE4OSAtMTg5cS0xOSAtMTkgLTE5IC00NXQxOSAtNDVsOTEgLTkxcTE4IC0xOCA0NSAtMTh0NDUgMThsMzYyIDM2Mmw5MSA5MXExOCAxOCAxOCA0NXpNMTUzNiA2NDAKcTAgLTIwOSAtMTAzIC0zODUuNXQtMjc5LjUgLTI3OS41dC0zODUuNSAtMTAzdC0zODUuNSAxMDN0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3QzODUuNSAtMTAzdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjaXJjbGVfYXJyb3dfdXAiIHVuaWNvZGU9IiYjeGYwYWE7IiAKZD0iTTEyODQgNjQxcTAgMjcgLTE4IDQ1bC0zNjIgMzYybC05MSA5MXEtMTggMTggLTQ1IDE4dC00NSAtMThsLTkxIC05MWwtMzYyIC0zNjJxLTE4IC0xOCAtMTggLTQ1dDE4IC00NWw5MSAtOTFxMTggLTE4IDQ1IC0xOHQ0NSAxOGwxODkgMTg5di01MDJxMCAtMjYgMTkgLTQ1dDQ1IC0xOWgxMjhxMjYgMCA0NSAxOXQxOSA0NXY1MDJsMTg5IC0xODlxMTkgLTE5IDQ1IC0xOXQ0NSAxOWw5MSA5MXExOCAxOCAxOCA0NXpNMTUzNiA2NDAKcTAgLTIwOSAtMTAzIC0zODUuNXQtMjc5LjUgLTI3OS41dC0zODUuNSAtMTAzdC0zODUuNSAxMDN0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3QzODUuNSAtMTAzdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjaXJjbGVfYXJyb3dfZG93biIgdW5pY29kZT0iJiN4ZjBhYjsiIApkPSJNMTI4NCA2MzlxMCAyNyAtMTggNDVsLTkxIDkxcS0xOCAxOCAtNDUgMTh0LTQ1IC0xOGwtMTg5IC0xODl2NTAycTAgMjYgLTE5IDQ1dC00NSAxOWgtMTI4cS0yNiAwIC00NSAtMTl0LTE5IC00NXYtNTAybC0xODkgMTg5cS0xOSAxOSAtNDUgMTl0LTQ1IC0xOWwtOTEgLTkxcS0xOCAtMTggLTE4IC00NXQxOCAtNDVsMzYyIC0zNjJsOTEgLTkxcTE4IC0xOCA0NSAtMTh0NDUgMThsOTEgOTFsMzYyIDM2MnExOCAxOCAxOCA0NXpNMTUzNiA2NDAKcTAgLTIwOSAtMTAzIC0zODUuNXQtMjc5LjUgLTI3OS41dC0zODUuNSAtMTAzdC0zODUuNSAxMDN0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3QzODUuNSAtMTAzdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJnbG9iZSIgdW5pY29kZT0iJiN4ZjBhYzsiIApkPSJNNzY4IDE0MDhxMjA5IDAgMzg1LjUgLTEwM3QyNzkuNSAtMjc5LjV0MTAzIC0zODUuNXQtMTAzIC0zODUuNXQtMjc5LjUgLTI3OS41dC0zODUuNSAtMTAzdC0zODUuNSAxMDN0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3pNMTA0MiA4ODdxLTIgLTEgLTkuNSAtOS41dC0xMy41IC05LjVxMiAwIDQuNSA1dDUgMTF0My41IDdxNiA3IDIyIDE1cTE0IDYgNTIgMTJxMzQgOCA1MSAtMTEKcS0yIDIgOS41IDEzdDE0LjUgMTJxMyAyIDE1IDQuNXQxNSA3LjVsMiAyMnEtMTIgLTEgLTE3LjUgN3QtNi41IDIxcTAgLTIgLTYgLThxMCA3IC00LjUgOHQtMTEuNSAtMXQtOSAtMXEtMTAgMyAtMTUgNy41dC04IDE2LjV0LTQgMTVxLTIgNSAtOS41IDExdC05LjUgMTBxLTEgMiAtMi41IDUuNXQtMyA2LjV0LTQgNS41dC01LjUgMi41dC03IC01dC03LjUgLTEwdC00LjUgLTVxLTMgMiAtNiAxLjV0LTQuNSAtMXQtNC41IC0zdC01IC0zLjUKcS0zIC0yIC04LjUgLTN0LTguNSAtMnExNSA1IC0xIDExcS0xMCA0IC0xNiAzcTkgNCA3LjUgMTJ0LTguNSAxNGg1cS0xIDQgLTguNSA4LjV0LTE3LjUgOC41dC0xMyA2cS04IDUgLTM0IDkuNXQtMzMgMC41cS01IC02IC00LjUgLTEwLjV0NCAtMTR0My41IC0xMi41cTEgLTYgLTUuNSAtMTN0LTYuNSAtMTJxMCAtNyAxNCAtMTUuNXQxMCAtMjEuNXEtMyAtOCAtMTYgLTE2dC0xNiAtMTJxLTUgLTggLTEuNSAtMTguNXQxMC41IC0xNi41CnEyIC0yIDEuNSAtNHQtMy41IC00LjV0LTUuNSAtNHQtNi41IC0zLjVsLTMgLTJxLTExIC01IC0yMC41IDZ0LTEzLjUgMjZxLTcgMjUgLTE2IDMwcS0yMyA4IC0yOSAtMXEtNSAxMyAtNDEgMjZxLTI1IDkgLTU4IDRxNiAxIDAgMTVxLTcgMTUgLTE5IDEycTMgNiA0IDE3LjV0MSAxMy41cTMgMTMgMTIgMjNxMSAxIDcgOC41dDkuNSAxMy41dDAuNSA2cTM1IC00IDUwIDExcTUgNSAxMS41IDE3dDEwLjUgMTdxOSA2IDE0IDUuNXQxNC41IC01LjUKdDE0LjUgLTVxMTQgLTEgMTUuNSAxMXQtNy41IDIwcTEyIC0xIDMgMTdxLTQgNyAtOCA5cS0xMiA0IC0yNyAtNXEtOCAtNCAyIC04cS0xIDEgLTkuNSAtMTAuNXQtMTYuNSAtMTcuNXQtMTYgNXEtMSAxIC01LjUgMTMuNXQtOS41IDEzLjVxLTggMCAtMTYgLTE1cTMgOCAtMTEgMTV0LTI0IDhxMTkgMTIgLTggMjdxLTcgNCAtMjAuNSA1dC0xOS41IC00cS01IC03IC01LjUgLTExLjV0NSAtOHQxMC41IC01LjV0MTEuNSAtNHQ4LjUgLTMKcTE0IC0xMCA4IC0xNHEtMiAtMSAtOC41IC0zLjV0LTExLjUgLTQuNXQtNiAtNHEtMyAtNCAwIC0xNHQtMiAtMTRxLTUgNSAtOSAxNy41dC03IDE2LjVxNyAtOSAtMjUgLTZsLTEwIDFxLTQgMCAtMTYgLTJ0LTIwLjUgLTF0LTEzLjUgOHEtNCA4IDAgMjBxMSA0IDQgMnEtNCAzIC0xMSA5LjV0LTEwIDguNXEtNDYgLTE1IC05NCAtNDFxNiAtMSAxMiAxcTUgMiAxMyA2LjV0MTAgNS41cTM0IDE0IDQyIDdsNSA1cTE0IC0xNiAyMCAtMjUKcS03IDQgLTMwIDFxLTIwIC02IC0yMiAtMTJxNyAtMTIgNSAtMThxLTQgMyAtMTEuNSAxMHQtMTQuNSAxMXQtMTUgNXEtMTYgMCAtMjIgLTFxLTE0NiAtODAgLTIzNSAtMjIycTcgLTcgMTIgLThxNCAtMSA1IC05dDIuNSAtMTF0MTEuNSAzcTkgLTggMyAtMTlxMSAxIDQ0IC0yN3ExOSAtMTcgMjEgLTIxcTMgLTExIC0xMCAtMThxLTEgMiAtOSA5dC05IDRxLTMgLTUgMC41IC0xOC41dDEwLjUgLTEyLjVxLTcgMCAtOS41IC0xNnQtMi41IC0zNS41CnQtMSAtMjMuNWwyIC0xcS0zIC0xMiA1LjUgLTM0LjV0MjEuNSAtMTkuNXEtMTMgLTMgMjAgLTQzcTYgLTggOCAtOXEzIC0yIDEyIC03LjV0MTUgLTEwdDEwIC0xMC41cTQgLTUgMTAgLTIyLjV0MTQgLTIzLjVxLTIgLTYgOS41IC0yMHQxMC41IC0yM3EtMSAwIC0yLjUgLTF0LTIuNSAtMXEzIC03IDE1LjUgLTE0dDE1LjUgLTEzcTEgLTMgMiAtMTB0MyAtMTF0OCAtMnEyIDIwIC0yNCA2MnEtMTUgMjUgLTE3IDI5cS0zIDUgLTUuNSAxNS41CnQtNC41IDE0LjVxMiAwIDYgLTEuNXQ4LjUgLTMuNXQ3LjUgLTR0MiAtM3EtMyAtNyAyIC0xNy41dDEyIC0xOC41dDE3IC0xOXQxMiAtMTNxNiAtNiAxNCAtMTkuNXQwIC0xMy41cTkgMCAyMCAtMTAuNXQxNyAtMTkuNXE1IC04IDggLTI2dDUgLTI0cTIgLTcgOC41IC0xMy41dDEyLjUgLTkuNWwxNiAtOHQxMyAtN3E1IC0yIDE4LjUgLTEwLjV0MjEuNSAtMTEuNXExMCAtNCAxNiAtNHQxNC41IDIuNXQxMy41IDMuNXExNSAyIDI5IC0xNXQyMSAtMjEKcTM2IC0xOSA1NSAtMTFxLTIgLTEgMC41IC03LjV0OCAtMTUuNXQ5IC0xNC41dDUuNSAtOC41cTUgLTYgMTggLTE1dDE4IC0xNXE2IDQgNyA5cS0zIC04IDcgLTIwdDE4IC0xMHExNCAzIDE0IDMycS0zMSAtMTUgLTQ5IDE4cTAgMSAtMi41IDUuNXQtNCA4LjV0LTIuNSA4LjV0MCA3LjV0NSAzcTkgMCAxMCAzLjV0LTIgMTIuNXQtNCAxM3EtMSA4IC0xMSAyMHQtMTIgMTVxLTUgLTkgLTE2IC04dC0xNiA5cTAgLTEgLTEuNSAtNS41dC0xLjUgLTYuNQpxLTEzIDAgLTE1IDFxMSAzIDIuNSAxNy41dDMuNSAyMi41cTEgNCA1LjUgMTJ0Ny41IDE0LjV0NCAxMi41dC00LjUgOS41dC0xNy41IDIuNXEtMTkgLTEgLTI2IC0yMHEtMSAtMyAtMyAtMTAuNXQtNSAtMTEuNXQtOSAtN3EtNyAtMyAtMjQgLTJ0LTI0IDVxLTEzIDggLTIyLjUgMjl0LTkuNSAzN3EwIDEwIDIuNSAyNi41dDMgMjV0LTUuNSAyNC41cTMgMiA5IDkuNXQxMCAxMC41cTIgMSA0LjUgMS41dDQuNSAwdDQgMS41dDMgNnEtMSAxIC00IDMKcS0zIDMgLTQgM3E3IC0zIDI4LjUgMS41dDI3LjUgLTEuNXExNSAtMTEgMjIgMnEwIDEgLTIuNSA5LjV0LTAuNSAxMy41cTUgLTI3IDI5IC05cTMgLTMgMTUuNSAtNXQxNy41IC01cTMgLTIgNyAtNS41dDUuNSAtNC41dDUgMC41dDguNSA2LjVxMTAgLTE0IDEyIC0yNHExMSAtNDAgMTkgLTQ0cTcgLTMgMTEgLTJ0NC41IDkuNXQwIDE0dC0xLjUgMTIuNWwtMSA4djE4bC0xIDhxLTE1IDMgLTE4LjUgMTJ0MS41IDE4LjV0MTUgMTguNXExIDEgOCAzLjUKdDE1LjUgNi41dDEyLjUgOHEyMSAxOSAxNSAzNXE3IDAgMTEgOXEtMSAwIC01IDN0LTcuNSA1dC00LjUgMnE5IDUgMiAxNnE1IDMgNy41IDExdDcuNSAxMHE5IC0xMiAyMSAtMnE4IDggMSAxNnE1IDcgMjAuNSAxMC41dDE4LjUgOS41cTcgLTIgOCAydDEgMTJ0MyAxMnE0IDUgMTUgOXQxMyA1bDE3IDExcTMgNCAwIDRxMTggLTIgMzEgMTFxMTAgMTEgLTYgMjBxMyA2IC0zIDkuNXQtMTUgNS41cTMgMSAxMS41IDAuNXQxMC41IDEuNQpxMTUgMTAgLTcgMTZxLTE3IDUgLTQzIC0xMnpNODc5IDEwcTIwNiAzNiAzNTEgMTg5cS0zIDMgLTEyLjUgNC41dC0xMi41IDMuNXEtMTggNyAtMjQgOHExIDcgLTIuNSAxM3QtOCA5dC0xMi41IDh0LTExIDdxLTIgMiAtNyA2dC03IDUuNXQtNy41IDQuNXQtOC41IDJ0LTEwIC0xbC0zIC0xcS0zIC0xIC01LjUgLTIuNXQtNS41IC0zdC00IC0zdDAgLTIuNXEtMjEgMTcgLTM2IDIycS01IDEgLTExIDUuNXQtMTAuNSA3dC0xMCAxLjV0LTExLjUgLTcKcS01IC01IC02IC0xNXQtMiAtMTNxLTcgNSAwIDE3LjV0MiAxOC41cS0zIDYgLTEwLjUgNC41dC0xMiAtNC41dC0xMS41IC04LjV0LTkgLTYuNXQtOC41IC01LjV0LTguNSAtNy41cS0zIC00IC02IC0xMnQtNSAtMTFxLTIgNCAtMTEuNSA2LjV0LTkuNSA1LjVxMiAtMTAgNCAtMzV0NSAtMzhxNyAtMzEgLTEyIC00OHEtMjcgLTI1IC0yOSAtNDBxLTQgLTIyIDEyIC0yNnEwIC03IC04IC0yMC41dC03IC0yMS41cTAgLTYgMiAtMTZ6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9IndyZW5jaCIgdW5pY29kZT0iJiN4ZjBhZDsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTM4NCA2NHEwIDI2IC0xOSA0NXQtNDUgMTl0LTQ1IC0xOXQtMTkgLTQ1dDE5IC00NXQ0NSAtMTl0NDUgMTl0MTkgNDV6TTEwMjggNDg0bC02ODIgLTY4MnEtMzcgLTM3IC05MCAtMzdxLTUyIDAgLTkxIDM3bC0xMDYgMTA4cS0zOCAzNiAtMzggOTBxMCA1MyAzOCA5MWw2ODEgNjgxcTM5IC05OCAxMTQuNSAtMTczLjV0MTczLjUgLTExNC41ek0xNjYyIDkxOXEwIC0zOSAtMjMgLTEwNnEtNDcgLTEzNCAtMTY0LjUgLTIxNy41CnQtMjU4LjUgLTgzLjVxLTE4NSAwIC0zMTYuNSAxMzEuNXQtMTMxLjUgMzE2LjV0MTMxLjUgMzE2LjV0MzE2LjUgMTMxLjVxNTggMCAxMjEuNSAtMTYuNXQxMDcuNSAtNDYuNXExNiAtMTEgMTYgLTI4dC0xNiAtMjhsLTI5MyAtMTY5di0yMjRsMTkzIC0xMDdxNSAzIDc5IDQ4LjV0MTM1LjUgODF0NzAuNSAzNS41cTE1IDAgMjMuNSAtMTB0OC41IC0yNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idGFza3MiIHVuaWNvZGU9IiYjeGYwYWU7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xMDI0IDEyOGg2NDB2MTI4aC02NDB2LTEyOHpNNjQwIDY0MGgxMDI0djEyOGgtMTAyNHYtMTI4ek0xMjgwIDExNTJoMzg0djEyOGgtMzg0di0xMjh6TTE3OTIgMzIwdi0yNTZxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0xNjY0cS0yNiAwIC00NSAxOXQtMTkgNDV2MjU2cTAgMjYgMTkgNDV0NDUgMTloMTY2NHEyNiAwIDQ1IC0xOXQxOSAtNDV6TTE3OTIgODMydi0yNTZxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0xNjY0cS0yNiAwIC00NSAxOQp0LTE5IDQ1djI1NnEwIDI2IDE5IDQ1dDQ1IDE5aDE2NjRxMjYgMCA0NSAtMTl0MTkgLTQ1ek0xNzkyIDEzNDR2LTI1NnEwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTE2NjRxLTI2IDAgLTQ1IDE5dC0xOSA0NXYyNTZxMCAyNiAxOSA0NXQ0NSAxOWgxNjY0cTI2IDAgNDUgLTE5dDE5IC00NXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZmlsdGVyIiB1bmljb2RlPSImI3hmMGIwOyIgaG9yaXotYWR2LXg9IjE0MDgiIApkPSJNMTQwMyAxMjQxcTE3IC00MSAtMTQgLTcwbC00OTMgLTQ5M3YtNzQycTAgLTQyIC0zOSAtNTlxLTEzIC01IC0yNSAtNXEtMjcgMCAtNDUgMTlsLTI1NiAyNTZxLTE5IDE5IC0xOSA0NXY0ODZsLTQ5MyA0OTNxLTMxIDI5IC0xNCA3MHExNyAzOSA1OSAzOWgxMjgwcTQyIDAgNTkgLTM5eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJicmllZmNhc2UiIHVuaWNvZGU9IiYjeGYwYjE7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik02NDAgMTI4MGg1MTJ2MTI4aC01MTJ2LTEyOHpNMTc5MiA2NDB2LTQ4MHEwIC02NiAtNDcgLTExM3QtMTEzIC00N2gtMTQ3MnEtNjYgMCAtMTEzIDQ3dC00NyAxMTN2NDgwaDY3MnYtMTYwcTAgLTI2IDE5IC00NXQ0NSAtMTloMzIwcTI2IDAgNDUgMTl0MTkgNDV2MTYwaDY3MnpNMTAyNCA2NDB2LTEyOGgtMjU2djEyOGgyNTZ6TTE3OTIgMTEyMHYtMzg0aC0xNzkydjM4NHEwIDY2IDQ3IDExM3QxMTMgNDdoMzUydjE2MHEwIDQwIDI4IDY4CnQ2OCAyOGg1NzZxNDAgMCA2OCAtMjh0MjggLTY4di0xNjBoMzUycTY2IDAgMTEzIC00N3Q0NyAtMTEzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJmdWxsc2NyZWVuIiB1bmljb2RlPSImI3hmMGIyOyIgCmQ9Ik0xMjgzIDk5NWwtMzU1IC0zNTVsMzU1IC0zNTVsMTQ0IDE0NHEyOSAzMSA3MCAxNHEzOSAtMTcgMzkgLTU5di00NDhxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC00NDhxLTQyIDAgLTU5IDQwcS0xNyAzOSAxNCA2OWwxNDQgMTQ0bC0zNTUgMzU1bC0zNTUgLTM1NWwxNDQgLTE0NHEzMSAtMzAgMTQgLTY5cS0xNyAtNDAgLTU5IC00MGgtNDQ4cS0yNiAwIC00NSAxOXQtMTkgNDV2NDQ4cTAgNDIgNDAgNTlxMzkgMTcgNjkgLTE0bDE0NCAtMTQ0CmwzNTUgMzU1bC0zNTUgMzU1bC0xNDQgLTE0NHEtMTkgLTE5IC00NSAtMTlxLTEyIDAgLTI0IDVxLTQwIDE3IC00MCA1OXY0NDhxMCAyNiAxOSA0NXQ0NSAxOWg0NDhxNDIgMCA1OSAtNDBxMTcgLTM5IC0xNCAtNjlsLTE0NCAtMTQ0bDM1NSAtMzU1bDM1NSAzNTVsLTE0NCAxNDRxLTMxIDMwIC0xNCA2OXExNyA0MCA1OSA0MGg0NDhxMjYgMCA0NSAtMTl0MTkgLTQ1di00NDhxMCAtNDIgLTM5IC01OXEtMTMgLTUgLTI1IC01cS0yNiAwIC00NSAxOXoKIiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Imdyb3VwIiB1bmljb2RlPSImI3hmMGMwOyIgaG9yaXotYWR2LXg9IjE5MjAiIApkPSJNNTkzIDY0MHEtMTYyIC01IC0yNjUgLTEyOGgtMTM0cS04MiAwIC0xMzggNDAuNXQtNTYgMTE4LjVxMCAzNTMgMTI0IDM1M3E2IDAgNDMuNSAtMjF0OTcuNSAtNDIuNXQxMTkgLTIxLjVxNjcgMCAxMzMgMjNxLTUgLTM3IC01IC02NnEwIC0xMzkgODEgLTI1NnpNMTY2NCAzcTAgLTEyMCAtNzMgLTE4OS41dC0xOTQgLTY5LjVoLTg3NHEtMTIxIDAgLTE5NCA2OS41dC03MyAxODkuNXEwIDUzIDMuNSAxMDMuNXQxNCAxMDl0MjYuNSAxMDguNQp0NDMgOTcuNXQ2MiA4MXQ4NS41IDUzLjV0MTExLjUgMjBxMTAgMCA0MyAtMjEuNXQ3MyAtNDh0MTA3IC00OHQxMzUgLTIxLjV0MTM1IDIxLjV0MTA3IDQ4dDczIDQ4dDQzIDIxLjVxNjEgMCAxMTEuNSAtMjB0ODUuNSAtNTMuNXQ2MiAtODF0NDMgLTk3LjV0MjYuNSAtMTA4LjV0MTQgLTEwOXQzLjUgLTEwMy41ek02NDAgMTI4MHEwIC0xMDYgLTc1IC0xODF0LTE4MSAtNzV0LTE4MSA3NXQtNzUgMTgxdDc1IDE4MXQxODEgNzV0MTgxIC03NQp0NzUgLTE4MXpNMTM0NCA4OTZxMCAtMTU5IC0xMTIuNSAtMjcxLjV0LTI3MS41IC0xMTIuNXQtMjcxLjUgMTEyLjV0LTExMi41IDI3MS41dDExMi41IDI3MS41dDI3MS41IDExMi41dDI3MS41IC0xMTIuNXQxMTIuNSAtMjcxLjV6TTE5MjAgNjcxcTAgLTc4IC01NiAtMTE4LjV0LTEzOCAtNDAuNWgtMTM0cS0xMDMgMTIzIC0yNjUgMTI4cTgxIDExNyA4MSAyNTZxMCAyOSAtNSA2NnE2NiAtMjMgMTMzIC0yM3E1OSAwIDExOSAyMS41dDk3LjUgNDIuNQp0NDMuNSAyMXExMjQgMCAxMjQgLTM1M3pNMTc5MiAxMjgwcTAgLTEwNiAtNzUgLTE4MXQtMTgxIC03NXQtMTgxIDc1dC03NSAxODF0NzUgMTgxdDE4MSA3NXQxODEgLTc1dDc1IC0xODF6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImxpbmsiIHVuaWNvZGU9IiYjeGYwYzE7IiBob3Jpei1hZHYteD0iMTY2NCIgCmQ9Ik0xNDU2IDMyMHEwIDQwIC0yOCA2OGwtMjA4IDIwOHEtMjggMjggLTY4IDI4cS00MiAwIC03MiAtMzJxMyAtMyAxOSAtMTguNXQyMS41IC0yMS41dDE1IC0xOXQxMyAtMjUuNXQzLjUgLTI3LjVxMCAtNDAgLTI4IC02OHQtNjggLTI4cS0xNSAwIC0yNy41IDMuNXQtMjUuNSAxM3QtMTkgMTV0LTIxLjUgMjEuNXQtMTguNSAxOXEtMzMgLTMxIC0zMyAtNzNxMCAtNDAgMjggLTY4bDIwNiAtMjA3cTI3IC0yNyA2OCAtMjdxNDAgMCA2OCAyNgpsMTQ3IDE0NnEyOCAyOCAyOCA2N3pNNzUzIDEwMjVxMCA0MCAtMjggNjhsLTIwNiAyMDdxLTI4IDI4IC02OCAyOHEtMzkgMCAtNjggLTI3bC0xNDcgLTE0NnEtMjggLTI4IC0yOCAtNjdxMCAtNDAgMjggLTY4bDIwOCAtMjA4cTI3IC0yNyA2OCAtMjdxNDIgMCA3MiAzMXEtMyAzIC0xOSAxOC41dC0yMS41IDIxLjV0LTE1IDE5dC0xMyAyNS41dC0zLjUgMjcuNXEwIDQwIDI4IDY4dDY4IDI4cTE1IDAgMjcuNSAtMy41dDI1LjUgLTEzdDE5IC0xNQp0MjEuNSAtMjEuNXQxOC41IC0xOXEzMyAzMSAzMyA3M3pNMTY0OCAzMjBxMCAtMTIwIC04NSAtMjAzbC0xNDcgLTE0NnEtODMgLTgzIC0yMDMgLTgzcS0xMjEgMCAtMjA0IDg1bC0yMDYgMjA3cS04MyA4MyAtODMgMjAzcTAgMTIzIDg4IDIwOWwtODggODhxLTg2IC04OCAtMjA4IC04OHEtMTIwIDAgLTIwNCA4NGwtMjA4IDIwOHEtODQgODQgLTg0IDIwNHQ4NSAyMDNsMTQ3IDE0NnE4MyA4MyAyMDMgODNxMTIxIDAgMjA0IC04NWwyMDYgLTIwNwpxODMgLTgzIDgzIC0yMDNxMCAtMTIzIC04OCAtMjA5bDg4IC04OHE4NiA4OCAyMDggODhxMTIwIDAgMjA0IC04NGwyMDggLTIwOHE4NCAtODQgODQgLTIwNHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iY2xvdWQiIHVuaWNvZGU9IiYjeGYwYzI7IiBob3Jpei1hZHYteD0iMTkyMCIgCmQ9Ik0xOTIwIDM4NHEwIC0xNTkgLTExMi41IC0yNzEuNXQtMjcxLjUgLTExMi41aC0xMDg4cS0xODUgMCAtMzE2LjUgMTMxLjV0LTEzMS41IDMxNi41cTAgMTMyIDcxIDI0MS41dDE4NyAxNjMuNXEtMiAyOCAtMiA0M3EwIDIxMiAxNTAgMzYydDM2MiAxNTBxMTU4IDAgMjg2LjUgLTg4dDE4Ny41IC0yMzBxNzAgNjIgMTY2IDYycTEwNiAwIDE4MSAtNzV0NzUgLTE4MXEwIC03NSAtNDEgLTEzOHExMjkgLTMwIDIxMyAtMTM0LjV0ODQgLTIzOS41egoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYmVha2VyIiB1bmljb2RlPSImI3hmMGMzOyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNMTUyNyA4OHE1NiAtODkgMjEuNSAtMTUyLjV0LTE0MC41IC02My41aC0xMTUycS0xMDYgMCAtMTQwLjUgNjMuNXQyMS41IDE1Mi41bDUwMyA3OTN2Mzk5aC02NHEtMjYgMCAtNDUgMTl0LTE5IDQ1dDE5IDQ1dDQ1IDE5aDUxMnEyNiAwIDQ1IC0xOXQxOSAtNDV0LTE5IC00NXQtNDUgLTE5aC02NHYtMzk5ek03NDggODEzbC0yNzIgLTQyOWg3MTJsLTI3MiA0MjlsLTIwIDMxdjM3djM5OWgtMTI4di0zOTl2LTM3eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjdXQiIHVuaWNvZGU9IiYjeGYwYzQ7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik05NjAgNjQwcTI2IDAgNDUgLTE5dDE5IC00NXQtMTkgLTQ1dC00NSAtMTl0LTQ1IDE5dC0xOSA0NXQxOSA0NXQ0NSAxOXpNMTI2MCA1NzZsNTA3IC0zOThxMjggLTIwIDI1IC01NnEtNSAtMzUgLTM1IC01MWwtMTI4IC02NHEtMTMgLTcgLTI5IC03cS0xNyAwIC0zMSA4bC02OTAgMzg3bC0xMTAgLTY2cS04IC00IC0xMiAtNXExNCAtNDkgMTAgLTk3cS03IC03NyAtNTYgLTE0Ny41dC0xMzIgLTEyMy41cS0xMzIgLTg0IC0yNzcgLTg0CnEtMTM2IDAgLTIyMiA3OHEtOTAgODQgLTc5IDIwN3E3IDc2IDU2IDE0N3QxMzEgMTI0cTEzMiA4NCAyNzggODRxODMgMCAxNTEgLTMxcTkgMTMgMjIgMjJsMTIyIDczbC0xMjIgNzNxLTEzIDkgLTIyIDIycS02OCAtMzEgLTE1MSAtMzFxLTE0NiAwIC0yNzggODRxLTgyIDUzIC0xMzEgMTI0dC01NiAxNDdxLTUgNTkgMTUuNSAxMTN0NjMuNSA5M3E4NSA3OSAyMjIgNzlxMTQ1IDAgMjc3IC04NHE4MyAtNTIgMTMyIC0xMjN0NTYgLTE0OApxNCAtNDggLTEwIC05N3E0IC0xIDEyIC01bDExMCAtNjZsNjkwIDM4N3ExNCA4IDMxIDhxMTYgMCAyOSAtN2wxMjggLTY0cTMwIC0xNiAzNSAtNTFxMyAtMzYgLTI1IC01NnpNNTc5IDgzNnE0NiA0MiAyMSAxMDh0LTEwNiAxMTdxLTkyIDU5IC0xOTIgNTlxLTc0IDAgLTExMyAtMzZxLTQ2IC00MiAtMjEgLTEwOHQxMDYgLTExN3E5MiAtNTkgMTkyIC01OXE3NCAwIDExMyAzNnpNNDk0IDkxcTgxIDUxIDEwNiAxMTd0LTIxIDEwOApxLTM5IDM2IC0xMTMgMzZxLTEwMCAwIC0xOTIgLTU5cS04MSAtNTEgLTEwNiAtMTE3dDIxIC0xMDhxMzkgLTM2IDExMyAtMzZxMTAwIDAgMTkyIDU5ek02NzIgNzA0bDk2IC01OHYxMXEwIDM2IDMzIDU2bDE0IDhsLTc5IDQ3bC0yNiAtMjZxLTMgLTMgLTEwIC0xMXQtMTIgLTEycS0yIC0yIC00IC0zLjV0LTMgLTIuNXpNODk2IDQ4MGw5NiAtMzJsNzM2IDU3NmwtMTI4IDY0bC03NjggLTQzMXYtMTEzbC0xNjAgLTk2bDkgLThxMiAtMiA3IC02CnE0IC00IDExIC0xMnQxMSAtMTJsMjYgLTI2ek0xNjAwIDY0bDEyOCA2NGwtNTIwIDQwOGwtMTc3IC0xMzhxLTIgLTMgLTEzIC03eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjb3B5IiB1bmljb2RlPSImI3hmMGM1OyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTY5NiAxMTUycTQwIDAgNjggLTI4dDI4IC02OHYtMTIxNnEwIC00MCAtMjggLTY4dC02OCAtMjhoLTk2MHEtNDAgMCAtNjggMjh0LTI4IDY4djI4OGgtNTQ0cS00MCAwIC02OCAyOHQtMjggNjh2NjcycTAgNDAgMjAgODh0NDggNzZsNDA4IDQwOHEyOCAyOCA3NiA0OHQ4OCAyMGg0MTZxNDAgMCA2OCAtMjh0MjggLTY4di0zMjhxNjggNDAgMTI4IDQwaDQxNnpNMTE1MiA5MzlsLTI5OSAtMjk5aDI5OXYyOTl6TTUxMiAxMzIzbC0yOTkgLTI5OQpoMjk5djI5OXpNNzA4IDY3NmwzMTYgMzE2djQxNmgtMzg0di00MTZxMCAtNDAgLTI4IC02OHQtNjggLTI4aC00MTZ2LTY0MGg1MTJ2MjU2cTAgNDAgMjAgODh0NDggNzZ6TTE2NjQgLTEyOHYxMTUyaC0zODR2LTQxNnEwIC00MCAtMjggLTY4dC02OCAtMjhoLTQxNnYtNjQwaDg5NnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icGFwZXJfY2xpcCIgdW5pY29kZT0iJiN4ZjBjNjsiIGhvcml6LWFkdi14PSIxNDA4IiAKZD0iTTE0MDQgMTUxcTAgLTExNyAtNzkgLTE5NnQtMTk2IC03OXEtMTM1IDAgLTIzNSAxMDBsLTc3NyA3NzZxLTExMyAxMTUgLTExMyAyNzFxMCAxNTkgMTEwIDI3MHQyNjkgMTExcTE1OCAwIDI3MyAtMTEzbDYwNSAtNjA2cTEwIC0xMCAxMCAtMjJxMCAtMTYgLTMwLjUgLTQ2LjV0LTQ2LjUgLTMwLjVxLTEzIDAgLTIzIDEwbC02MDYgNjA3cS03OSA3NyAtMTgxIDc3cS0xMDYgMCAtMTc5IC03NXQtNzMgLTE4MXEwIC0xMDUgNzYgLTE4MQpsNzc2IC03NzdxNjMgLTYzIDE0NSAtNjNxNjQgMCAxMDYgNDJ0NDIgMTA2cTAgODIgLTYzIDE0NWwtNTgxIDU4MXEtMjYgMjQgLTYwIDI0cS0yOSAwIC00OCAtMTl0LTE5IC00OHEwIC0zMiAyNSAtNTlsNDEwIC00MTBxMTAgLTEwIDEwIC0yMnEwIC0xNiAtMzEgLTQ3dC00NyAtMzFxLTEyIDAgLTIyIDEwbC00MTAgNDEwcS02MyA2MSAtNjMgMTQ5cTAgODIgNTcgMTM5dDEzOSA1N3E4OCAwIDE0OSAtNjNsNTgxIC01ODFxMTAwIC05OCAxMDAgLTIzNQp6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InNhdmUiIHVuaWNvZGU9IiYjeGYwYzc7IiAKZD0iTTM4NCAwaDc2OHYzODRoLTc2OHYtMzg0ek0xMjgwIDBoMTI4djg5NnEwIDE0IC0xMCAzOC41dC0yMCAzNC41bC0yODEgMjgxcS0xMCAxMCAtMzQgMjB0LTM5IDEwdi00MTZxMCAtNDAgLTI4IC02OHQtNjggLTI4aC01NzZxLTQwIDAgLTY4IDI4dC0yOCA2OHY0MTZoLTEyOHYtMTI4MGgxMjh2NDE2cTAgNDAgMjggNjh0NjggMjhoODMycTQwIDAgNjggLTI4dDI4IC02OHYtNDE2ek04OTYgOTI4djMyMHEwIDEzIC05LjUgMjIuNXQtMjIuNSA5LjUKaC0xOTJxLTEzIDAgLTIyLjUgLTkuNXQtOS41IC0yMi41di0zMjBxMCAtMTMgOS41IC0yMi41dDIyLjUgLTkuNWgxOTJxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXpNMTUzNiA4OTZ2LTkyOHEwIC00MCAtMjggLTY4dC02OCAtMjhoLTEzNDRxLTQwIDAgLTY4IDI4dC0yOCA2OHYxMzQ0cTAgNDAgMjggNjh0NjggMjhoOTI4cTQwIDAgODggLTIwdDc2IC00OGwyODAgLTI4MHEyOCAtMjggNDggLTc2dDIwIC04OHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ic2lnbl9ibGFuayIgdW5pY29kZT0iJiN4ZjBjODsiIApkPSJNMTUzNiAxMTIwdi05NjBxMCAtMTE5IC04NC41IC0yMDMuNXQtMjAzLjUgLTg0LjVoLTk2MHEtMTE5IDAgLTIwMy41IDg0LjV0LTg0LjUgMjAzLjV2OTYwcTAgMTE5IDg0LjUgMjAzLjV0MjAzLjUgODQuNWg5NjBxMTE5IDAgMjAzLjUgLTg0LjV0ODQuNSAtMjAzLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InJlb3JkZXIiIHVuaWNvZGU9IiYjeGYwYzk7IiAKZD0iTTE1MzYgMTkydi0xMjhxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0xNDA4cS0yNiAwIC00NSAxOXQtMTkgNDV2MTI4cTAgMjYgMTkgNDV0NDUgMTloMTQwOHEyNiAwIDQ1IC0xOXQxOSAtNDV6TTE1MzYgNzA0di0xMjhxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0xNDA4cS0yNiAwIC00NSAxOXQtMTkgNDV2MTI4cTAgMjYgMTkgNDV0NDUgMTloMTQwOHEyNiAwIDQ1IC0xOXQxOSAtNDV6TTE1MzYgMTIxNnYtMTI4cTAgLTI2IC0xOSAtNDUKdC00NSAtMTloLTE0MDhxLTI2IDAgLTQ1IDE5dC0xOSA0NXYxMjhxMCAyNiAxOSA0NXQ0NSAxOWgxNDA4cTI2IDAgNDUgLTE5dDE5IC00NXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idWwiIHVuaWNvZGU9IiYjeGYwY2E7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0zODQgMTI4cTAgLTgwIC01NiAtMTM2dC0xMzYgLTU2dC0xMzYgNTZ0LTU2IDEzNnQ1NiAxMzZ0MTM2IDU2dDEzNiAtNTZ0NTYgLTEzNnpNMzg0IDY0MHEwIC04MCAtNTYgLTEzNnQtMTM2IC01NnQtMTM2IDU2dC01NiAxMzZ0NTYgMTM2dDEzNiA1NnQxMzYgLTU2dDU2IC0xMzZ6TTE3OTIgMjI0di0xOTJxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC0xMjE2cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2MTkycTAgMTMgOS41IDIyLjUKdDIyLjUgOS41aDEyMTZxMTMgMCAyMi41IC05LjV0OS41IC0yMi41ek0zODQgMTE1MnEwIC04MCAtNTYgLTEzNnQtMTM2IC01NnQtMTM2IDU2dC01NiAxMzZ0NTYgMTM2dDEzNiA1NnQxMzYgLTU2dDU2IC0xMzZ6TTE3OTIgNzM2di0xOTJxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC0xMjE2cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2MTkycTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoMTIxNnExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6Ck0xNzkyIDEyNDh2LTE5MnEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTEyMTZxLTEzIDAgLTIyLjUgOS41dC05LjUgMjIuNXYxOTJxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWgxMjE2cTEzIDAgMjIuNSAtOS41dDkuNSAtMjIuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ib2wiIHVuaWNvZGU9IiYjeGYwY2I7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0zODEgLTg0cTAgLTgwIC01NC41IC0xMjZ0LTEzNS41IC00NnEtMTA2IDAgLTE3MiA2Nmw1NyA4OHE0OSAtNDUgMTA2IC00NXEyOSAwIDUwLjUgMTQuNXQyMS41IDQyLjVxMCA2NCAtMTA1IDU2bC0yNiA1NnE4IDEwIDMyLjUgNDMuNXQ0Mi41IDU0dDM3IDM4LjV2MXEtMTYgMCAtNDguNSAtMXQtNDguNSAtMXYtNTNoLTEwNnYxNTJoMzMzdi04OGwtOTUgLTExNXE1MSAtMTIgODEgLTQ5dDMwIC04OHpNMzgzIDU0M3YtMTU5aC0zNjIKcS02IDM2IC02IDU0cTAgNTEgMjMuNSA5M3Q1Ni41IDY4dDY2IDQ3LjV0NTYuNSA0My41dDIzLjUgNDVxMCAyNSAtMTQuNSAzOC41dC0zOS41IDEzLjVxLTQ2IDAgLTgxIC01OGwtODUgNTlxMjQgNTEgNzEuNSA3OS41dDEwNS41IDI4LjVxNzMgMCAxMjMgLTQxLjV0NTAgLTExMi41cTAgLTUwIC0zNCAtOTEuNXQtNzUgLTY0LjV0LTc1LjUgLTUwLjV0LTM1LjUgLTUyLjVoMTI3djYwaDEwNXpNMTc5MiAyMjR2LTE5MnEwIC0xMyAtOS41IC0yMi41CnQtMjIuNSAtOS41aC0xMjE2cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2MTkycTAgMTQgOSAyM3QyMyA5aDEyMTZxMTMgMCAyMi41IC05LjV0OS41IC0yMi41ek0zODQgMTEyM3YtOTloLTMzNXY5OWgxMDdxMCA0MSAwLjUgMTIxLjV0MC41IDEyMS41djEyaC0ycS04IC0xNyAtNTAgLTU0bC03MSA3NmwxMzYgMTI3aDEwNnYtNDA0aDEwOHpNMTc5MiA3MzZ2LTE5MnEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTEyMTYKcS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2MTkycTAgMTQgOSAyM3QyMyA5aDEyMTZxMTMgMCAyMi41IC05LjV0OS41IC0yMi41ek0xNzkyIDEyNDh2LTE5MnEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTEyMTZxLTEzIDAgLTIyLjUgOS41dC05LjUgMjIuNXYxOTJxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWgxMjE2cTEzIDAgMjIuNSAtOS41dDkuNSAtMjIuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ic3RyaWtldGhyb3VnaCIgdW5pY29kZT0iJiN4ZjBjYzsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE3NjAgNjQwcTE0IDAgMjMgLTl0OSAtMjN2LTY0cTAgLTE0IC05IC0yM3QtMjMgLTloLTE3MjhxLTE0IDAgLTIzIDl0LTkgMjN2NjRxMCAxNCA5IDIzdDIzIDloMTcyOHpNNDgzIDcwNHEtMjggMzUgLTUxIDgwcS00OCA5OCAtNDggMTg4cTAgMTgxIDEzNCAzMDlxMTMzIDEyNyAzOTMgMTI3cTUwIDAgMTY3IC0xOXE2NiAtMTIgMTc3IC00OHExMCAtMzggMjEgLTExOHExNCAtMTIzIDE0IC0xODNxMCAtMTggLTUgLTQ1bC0xMiAtM2wtODQgNgpsLTE0IDJxLTUwIDE0OSAtMTAzIDIwNXEtODggOTEgLTIxMCA5MXEtMTE0IDAgLTE4MiAtNTlxLTY3IC01OCAtNjcgLTE0NnEwIC03MyA2NiAtMTQwdDI3OSAtMTI5cTY5IC0yMCAxNzMgLTY2cTU4IC0yOCA5NSAtNTJoLTc0M3pNOTkwIDQ0OGg0MTFxNyAtMzkgNyAtOTJxMCAtMTExIC00MSAtMjEycS0yMyAtNTYgLTcxIC0xMDRxLTM3IC0zNSAtMTA5IC04MXEtODAgLTQ4IC0xNTMgLTY2cS04MCAtMjEgLTIwMyAtMjFxLTExNCAwIC0xOTUgMjMKbC0xNDAgNDBxLTU3IDE2IC03MiAyOHEtOCA4IC04IDIydjEzcTAgMTA4IC0yIDE1NnEtMSAzMCAwIDY4bDIgMzd2NDRsMTAyIDJxMTUgLTM0IDMwIC03MXQyMi41IC01NnQxMi41IC0yN3EzNSAtNTcgODAgLTk0cTQzIC0zNiAxMDUgLTU3cTU5IC0yMiAxMzIgLTIycTY0IDAgMTM5IDI3cTc3IDI2IDEyMiA4NnE0NyA2MSA0NyAxMjlxMCA4NCAtODEgMTU3cS0zNCAyOSAtMTM3IDcxeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmRlcmxpbmUiIHVuaWNvZGU9IiYjeGYwY2Q7IiAKZD0iTTQ4IDEzMTNxLTM3IDIgLTQ1IDRsLTMgODhxMTMgMSA0MCAxcTYwIDAgMTEyIC00cTEzMiAtNyAxNjYgLTdxODYgMCAxNjggM3ExMTYgNCAxNDYgNXE1NiAwIDg2IDJsLTEgLTE0bDIgLTY0di05cS02MCAtOSAtMTI0IC05cS02MCAwIC03OSAtMjVxLTEzIC0xNCAtMTMgLTEzMnEwIC0xMyAwLjUgLTMyLjV0MC41IC0yNS41bDEgLTIyOWwxNCAtMjgwcTYgLTEyNCA1MSAtMjAycTM1IC01OSA5NiAtOTJxODggLTQ3IDE3NyAtNDcKcTEwNCAwIDE5MSAyOHE1NiAxOCA5OSA1MXE0OCAzNiA2NSA2NHEzNiA1NiA1MyAxMTRxMjEgNzMgMjEgMjI5cTAgNzkgLTMuNSAxMjh0LTExIDEyMi41dC0xMy41IDE1OS41bC00IDU5cS01IDY3IC0yNCA4OHEtMzQgMzUgLTc3IDM0bC0xMDAgLTJsLTE0IDNsMiA4Nmg4NGwyMDUgLTEwcTc2IC0zIDE5NiAxMGwxOCAtMnE2IC0zOCA2IC01MXEwIC03IC00IC0zMXEtNDUgLTEyIC04NCAtMTNxLTczIC0xMSAtNzkgLTE3cS0xNSAtMTUgLTE1IC00MQpxMCAtNyAxLjUgLTI3dDEuNSAtMzFxOCAtMTkgMjIgLTM5NnE2IC0xOTUgLTE1IC0zMDRxLTE1IC03NiAtNDEgLTEyMnEtMzggLTY1IC0xMTIgLTEyM3EtNzUgLTU3IC0xODIgLTg5cS0xMDkgLTMzIC0yNTUgLTMzcS0xNjcgMCAtMjg0IDQ2cS0xMTkgNDcgLTE3OSAxMjJxLTYxIDc2IC04MyAxOTVxLTE2IDgwIC0xNiAyMzd2MzMzcTAgMTg4IC0xNyAyMTNxLTI1IDM2IC0xNDcgMzl6TTE1MzYgLTk2djY0cTAgMTQgLTkgMjN0LTIzIDloLTE0NzIKcS0xNCAwIC0yMyAtOXQtOSAtMjN2LTY0cTAgLTE0IDkgLTIzdDIzIC05aDE0NzJxMTQgMCAyMyA5dDkgMjN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InRhYmxlIiB1bmljb2RlPSImI3hmMGNlOyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNNTEyIDE2MHYxOTJxMCAxNCAtOSAyM3QtMjMgOWgtMzIwcS0xNCAwIC0yMyAtOXQtOSAtMjN2LTE5MnEwIC0xNCA5IC0yM3QyMyAtOWgzMjBxMTQgMCAyMyA5dDkgMjN6TTUxMiA1NDR2MTkycTAgMTQgLTkgMjN0LTIzIDloLTMyMHEtMTQgMCAtMjMgLTl0LTkgLTIzdi0xOTJxMCAtMTQgOSAtMjN0MjMgLTloMzIwcTE0IDAgMjMgOXQ5IDIzek0xMDI0IDE2MHYxOTJxMCAxNCAtOSAyM3QtMjMgOWgtMzIwcS0xNCAwIC0yMyAtOXQtOSAtMjMKdi0xOTJxMCAtMTQgOSAtMjN0MjMgLTloMzIwcTE0IDAgMjMgOXQ5IDIzek01MTIgOTI4djE5MnEwIDE0IC05IDIzdC0yMyA5aC0zMjBxLTE0IDAgLTIzIC05dC05IC0yM3YtMTkycTAgLTE0IDkgLTIzdDIzIC05aDMyMHExNCAwIDIzIDl0OSAyM3pNMTAyNCA1NDR2MTkycTAgMTQgLTkgMjN0LTIzIDloLTMyMHEtMTQgMCAtMjMgLTl0LTkgLTIzdi0xOTJxMCAtMTQgOSAtMjN0MjMgLTloMzIwcTE0IDAgMjMgOXQ5IDIzek0xNTM2IDE2MHYxOTIKcTAgMTQgLTkgMjN0LTIzIDloLTMyMHEtMTQgMCAtMjMgLTl0LTkgLTIzdi0xOTJxMCAtMTQgOSAtMjN0MjMgLTloMzIwcTE0IDAgMjMgOXQ5IDIzek0xMDI0IDkyOHYxOTJxMCAxNCAtOSAyM3QtMjMgOWgtMzIwcS0xNCAwIC0yMyAtOXQtOSAtMjN2LTE5MnEwIC0xNCA5IC0yM3QyMyAtOWgzMjBxMTQgMCAyMyA5dDkgMjN6TTE1MzYgNTQ0djE5MnEwIDE0IC05IDIzdC0yMyA5aC0zMjBxLTE0IDAgLTIzIC05dC05IC0yM3YtMTkyCnEwIC0xNCA5IC0yM3QyMyAtOWgzMjBxMTQgMCAyMyA5dDkgMjN6TTE1MzYgOTI4djE5MnEwIDE0IC05IDIzdC0yMyA5aC0zMjBxLTE0IDAgLTIzIC05dC05IC0yM3YtMTkycTAgLTE0IDkgLTIzdDIzIC05aDMyMHExNCAwIDIzIDl0OSAyM3pNMTY2NCAxMjQ4di0xMDg4cTAgLTY2IC00NyAtMTEzdC0xMTMgLTQ3aC0xMzQ0cS02NiAwIC0xMTMgNDd0LTQ3IDExM3YxMDg4cTAgNjYgNDcgMTEzdDExMyA0N2gxMzQ0cTY2IDAgMTEzIC00N3Q0NyAtMTEzCnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ibWFnaWMiIHVuaWNvZGU9IiYjeGYwZDA7IiBob3Jpei1hZHYteD0iMTY2NCIgCmQ9Ik0xMTkwIDk1NWwyOTMgMjkzbC0xMDcgMTA3bC0yOTMgLTI5M3pNMTYzNyAxMjQ4cTAgLTI3IC0xOCAtNDVsLTEyODYgLTEyODZxLTE4IC0xOCAtNDUgLTE4dC00NSAxOGwtMTk4IDE5OHEtMTggMTggLTE4IDQ1dDE4IDQ1bDEyODYgMTI4NnExOCAxOCA0NSAxOHQ0NSAtMThsMTk4IC0xOThxMTggLTE4IDE4IC00NXpNMjg2IDE0MzhsOTggLTMwbC05OCAtMzBsLTMwIC05OGwtMzAgOThsLTk4IDMwbDk4IDMwbDMwIDk4ek02MzYgMTI3NgpsMTk2IC02MGwtMTk2IC02MGwtNjAgLTE5NmwtNjAgMTk2bC0xOTYgNjBsMTk2IDYwbDYwIDE5NnpNMTU2NiA3OThsOTggLTMwbC05OCAtMzBsLTMwIC05OGwtMzAgOThsLTk4IDMwbDk4IDMwbDMwIDk4ek05MjYgMTQzOGw5OCAtMzBsLTk4IC0zMGwtMzAgLTk4bC0zMCA5OGwtOTggMzBsOTggMzBsMzAgOTh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InRydWNrIiB1bmljb2RlPSImI3hmMGQxOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNNjQwIDEyOHEwIDUyIC0zOCA5MHQtOTAgMzh0LTkwIC0zOHQtMzggLTkwdDM4IC05MHQ5MCAtMzh0OTAgMzh0MzggOTB6TTI1NiA2NDBoMzg0djI1NmgtMTU4cS0xMyAwIC0yMiAtOWwtMTk1IC0xOTVxLTkgLTkgLTkgLTIydi0zMHpNMTUzNiAxMjhxMCA1MiAtMzggOTB0LTkwIDM4dC05MCAtMzh0LTM4IC05MHQzOCAtOTB0OTAgLTM4dDkwIDM4dDM4IDkwek0xNzkyIDEyMTZ2LTEwMjRxMCAtMTUgLTQgLTI2LjV0LTEzLjUgLTE4LjUKdC0xNi41IC0xMS41dC0yMy41IC02dC0yMi41IC0ydC0yNS41IDB0LTIyLjUgMC41cTAgLTEwNiAtNzUgLTE4MXQtMTgxIC03NXQtMTgxIDc1dC03NSAxODFoLTM4NHEwIC0xMDYgLTc1IC0xODF0LTE4MSAtNzV0LTE4MSA3NXQtNzUgMTgxaC02NHEtMyAwIC0yMi41IC0wLjV0LTI1LjUgMHQtMjIuNSAydC0yMy41IDZ0LTE2LjUgMTEuNXQtMTMuNSAxOC41dC00IDI2LjVxMCAyNiAxOSA0NXQ0NSAxOXYzMjBxMCA4IC0wLjUgMzV0MCAzOAp0Mi41IDM0LjV0Ni41IDM3dDE0IDMwLjV0MjIuNSAzMGwxOTggMTk4cTE5IDE5IDUwLjUgMzJ0NTguNSAxM2gxNjB2MTkycTAgMjYgMTkgNDV0NDUgMTloMTAyNHEyNiAwIDQ1IC0xOXQxOSAtNDV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InBpbnRlcmVzdCIgdW5pY29kZT0iJiN4ZjBkMjsiIApkPSJNMTUzNiA2NDBxMCAtMjA5IC0xMDMgLTM4NS41dC0yNzkuNSAtMjc5LjV0LTM4NS41IC0xMDNxLTExMSAwIC0yMTggMzJxNTkgOTMgNzggMTY0cTkgMzQgNTQgMjExcTIwIC0zOSA3MyAtNjcuNXQxMTQgLTI4LjVxMTIxIDAgMjE2IDY4LjV0MTQ3IDE4OC41dDUyIDI3MHEwIDExNCAtNTkuNSAyMTR0LTE3Mi41IDE2M3QtMjU1IDYzcS0xMDUgMCAtMTk2IC0yOXQtMTU0LjUgLTc3dC0xMDkgLTExMC41dC02NyAtMTI5LjV0LTIxLjUgLTEzNApxMCAtMTA0IDQwIC0xODN0MTE3IC0xMTFxMzAgLTEyIDM4IDIwcTIgNyA4IDMxdDggMzBxNiAyMyAtMTEgNDNxLTUxIDYxIC01MSAxNTFxMCAxNTEgMTA0LjUgMjU5LjV0MjczLjUgMTA4LjVxMTUxIDAgMjM1LjUgLTgydDg0LjUgLTIxM3EwIC0xNzAgLTY4LjUgLTI4OXQtMTc1LjUgLTExOXEtNjEgMCAtOTggNDMuNXQtMjMgMTA0LjVxOCAzNSAyNi41IDkzLjV0MzAgMTAzdDExLjUgNzUuNXEwIDUwIC0yNyA4M3QtNzcgMzMKcS02MiAwIC0xMDUgLTU3dC00MyAtMTQycTAgLTczIDI1IC0xMjJsLTk5IC00MThxLTE3IC03MCAtMTMgLTE3N3EtMjA2IDkxIC0zMzMgMjgxdC0xMjcgNDIzcTAgMjA5IDEwMyAzODUuNXQyNzkuNSAyNzkuNXQzODUuNSAxMDN0Mzg1LjUgLTEwM3QyNzkuNSAtMjc5LjV0MTAzIC0zODUuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icGludGVyZXN0X3NpZ24iIHVuaWNvZGU9IiYjeGYwZDM7IiAKZD0iTTEyNDggMTQwOHExMTkgMCAyMDMuNSAtODQuNXQ4NC41IC0yMDMuNXYtOTYwcTAgLTExOSAtODQuNSAtMjAzLjV0LTIwMy41IC04NC41aC03MjVxODUgMTIyIDEwOCAyMTBxOSAzNCA1MyAyMDlxMjEgLTM5IDczLjUgLTY3dDExMi41IC0yOHExODEgMCAyOTUuNSAxNDcuNXQxMTQuNSAzNzMuNXEwIDg0IC0zNSAxNjIuNXQtOTYuNSAxMzl0LTE1Mi41IDk3dC0xOTcgMzYuNXEtMTA0IDAgLTE5NC41IC0yOC41dC0xNTMgLTc2LjUKdC0xMDcuNSAtMTA5LjV0LTY2LjUgLTEyOHQtMjEuNSAtMTMyLjVxMCAtMTAyIDM5LjUgLTE4MHQxMTYuNSAtMTEwcTEzIC01IDIzLjUgMHQxNC41IDE5cTEwIDQ0IDE1IDYxcTYgMjMgLTExIDQycS01MCA2MiAtNTAgMTUwcTAgMTUwIDEwMy41IDI1Ni41dDI3MC41IDEwNi41cTE0OSAwIDIzMi41IC04MXQ4My41IC0yMTBxMCAtMTY4IC02Ny41IC0yODZ0LTE3My41IC0xMThxLTYwIDAgLTk3IDQzLjV0LTIzIDEwMy41cTggMzQgMjYuNSA5Mi41CnQyOS41IDEwMnQxMSA3NC41cTAgNDkgLTI2LjUgODEuNXQtNzUuNSAzMi41cS02MSAwIC0xMDMuNSAtNTYuNXQtNDIuNSAtMTM5LjVxMCAtNzIgMjQgLTEyMWwtOTggLTQxNHEtMjQgLTEwMCAtNyAtMjU0aC0xODNxLTExOSAwIC0yMDMuNSA4NC41dC04NC41IDIwMy41djk2MHEwIDExOSA4NC41IDIwMy41dDIwMy41IDg0LjVoOTYweiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJnb29nbGVfcGx1c19zaWduIiB1bmljb2RlPSImI3hmMGQ0OyIgCmQ9Ik05MTcgNjMxcTAgMjYgLTYgNjRoLTM2MnYtMTMyaDIxN3EtMyAtMjQgLTE2LjUgLTUwdC0zNy41IC01M3QtNjYuNSAtNDQuNXQtOTYuNSAtMTcuNXEtOTkgMCAtMTY5IDcxdC03MCAxNzF0NzAgMTcxdDE2OSA3MXE5MiAwIDE1MyAtNTlsMTA0IDEwMXEtMTA4IDEwMCAtMjU3IDEwMHEtMTYwIDAgLTI3MiAtMTEyLjV0LTExMiAtMjcxLjV0MTEyIC0yNzEuNXQyNzIgLTExMi41cTE2NSAwIDI2Ni41IDEwNXQxMDEuNSAyNzB6TTEyNjIgNTg1CmgxMDl2MTEwaC0xMDl2MTEwaC0xMTB2LTExMGgtMTEwdi0xMTBoMTEwdi0xMTBoMTEwdjExMHpNMTUzNiAxMTIwdi05NjBxMCAtMTE5IC04NC41IC0yMDMuNXQtMjAzLjUgLTg0LjVoLTk2MHEtMTE5IDAgLTIwMy41IDg0LjV0LTg0LjUgMjAzLjV2OTYwcTAgMTE5IDg0LjUgMjAzLjV0MjAzLjUgODQuNWg5NjBxMTE5IDAgMjAzLjUgLTg0LjV0ODQuNSAtMjAzLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Imdvb2dsZV9wbHVzIiB1bmljb2RlPSImI3hmMGQ1OyIgaG9yaXotYWR2LXg9IjIzMDQiIApkPSJNMTQzNyA2MjNxMCAtMjA4IC04NyAtMzcwLjV0LTI0OCAtMjU0dC0zNjkgLTkxLjVxLTE0OSAwIC0yODUgNTh0LTIzNCAxNTZ0LTE1NiAyMzR0LTU4IDI4NXQ1OCAyODV0MTU2IDIzNHQyMzQgMTU2dDI4NSA1OHEyODYgMCA0OTEgLTE5MmwtMTk5IC0xOTFxLTExNyAxMTMgLTI5MiAxMTNxLTEyMyAwIC0yMjcuNSAtNjJ0LTE2NS41IC0xNjguNXQtNjEgLTIzMi41dDYxIC0yMzIuNXQxNjUuNSAtMTY4LjV0MjI3LjUgLTYyCnE4MyAwIDE1Mi41IDIzdDExNC41IDU3LjV0NzguNSA3OC41dDQ5IDgzdDIxLjUgNzRoLTQxNnYyNTJoNjkycTEyIC02MyAxMiAtMTIyek0yMzA0IDc0NXYtMjEwaC0yMDl2LTIwOWgtMjEwdjIwOWgtMjA5djIxMGgyMDl2MjA5aDIxMHYtMjA5aDIwOXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ibW9uZXkiIHVuaWNvZGU9IiYjeGYwZDY7IiBob3Jpei1hZHYteD0iMTkyMCIgCmQ9Ik03NjggMzg0aDM4NHY5NmgtMTI4djQ0OGgtMTE0bC0xNDggLTEzN2w3NyAtODBxNDIgMzcgNTUgNTdoMnYtMjg4aC0xMjh2LTk2ek0xMjgwIDY0MHEwIC03MCAtMjEgLTE0MnQtNTkuNSAtMTM0dC0xMDEuNSAtMTAxdC0xMzggLTM5dC0xMzggMzl0LTEwMS41IDEwMXQtNTkuNSAxMzR0LTIxIDE0MnQyMSAxNDJ0NTkuNSAxMzR0MTAxLjUgMTAxdDEzOCAzOXQxMzggLTM5dDEwMS41IC0xMDF0NTkuNSAtMTM0dDIxIC0xNDJ6TTE3OTIgMzg0CnY1MTJxLTEwNiAwIC0xODEgNzV0LTc1IDE4MWgtMTE1MnEwIC0xMDYgLTc1IC0xODF0LTE4MSAtNzV2LTUxMnExMDYgMCAxODEgLTc1dDc1IC0xODFoMTE1MnEwIDEwNiA3NSAxODF0MTgxIDc1ek0xOTIwIDEyMTZ2LTExNTJxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0xNzkycS0yNiAwIC00NSAxOXQtMTkgNDV2MTE1MnEwIDI2IDE5IDQ1dDQ1IDE5aDE3OTJxMjYgMCA0NSAtMTl0MTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjYXJldF9kb3duIiB1bmljb2RlPSImI3hmMGQ3OyIgaG9yaXotYWR2LXg9IjEwMjQiIApkPSJNMTAyNCA4MzJxMCAtMjYgLTE5IC00NWwtNDQ4IC00NDhxLTE5IC0xOSAtNDUgLTE5dC00NSAxOWwtNDQ4IDQ0OHEtMTkgMTkgLTE5IDQ1dDE5IDQ1dDQ1IDE5aDg5NnEyNiAwIDQ1IC0xOXQxOSAtNDV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImNhcmV0X3VwIiB1bmljb2RlPSImI3hmMGQ4OyIgaG9yaXotYWR2LXg9IjEwMjQiIApkPSJNMTAyNCAzMjBxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC04OTZxLTI2IDAgLTQ1IDE5dC0xOSA0NXQxOSA0NWw0NDggNDQ4cTE5IDE5IDQ1IDE5dDQ1IC0xOWw0NDggLTQ0OHExOSAtMTkgMTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjYXJldF9sZWZ0IiB1bmljb2RlPSImI3hmMGQ5OyIgaG9yaXotYWR2LXg9IjY0MCIgCmQ9Ik02NDAgMTA4OHYtODk2cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOXQtNDUgMTlsLTQ0OCA0NDhxLTE5IDE5IC0xOSA0NXQxOSA0NWw0NDggNDQ4cTE5IDE5IDQ1IDE5dDQ1IC0xOXQxOSAtNDV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImNhcmV0X3JpZ2h0IiB1bmljb2RlPSImI3hmMGRhOyIgaG9yaXotYWR2LXg9IjY0MCIgCmQ9Ik01NzYgNjQwcTAgLTI2IC0xOSAtNDVsLTQ0OCAtNDQ4cS0xOSAtMTkgLTQ1IC0xOXQtNDUgMTl0LTE5IDQ1djg5NnEwIDI2IDE5IDQ1dDQ1IDE5dDQ1IC0xOWw0NDggLTQ0OHExOSAtMTkgMTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjb2x1bW5zIiB1bmljb2RlPSImI3hmMGRiOyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNMTYwIDBoNjA4djExNTJoLTY0MHYtMTEyMHEwIC0xMyA5LjUgLTIyLjV0MjIuNSAtOS41ek0xNTM2IDMydjExMjBoLTY0MHYtMTE1Mmg2MDhxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXpNMTY2NCAxMjQ4di0xMjE2cTAgLTY2IC00NyAtMTEzdC0xMTMgLTQ3aC0xMzQ0cS02NiAwIC0xMTMgNDd0LTQ3IDExM3YxMjE2cTAgNjYgNDcgMTEzdDExMyA0N2gxMzQ0cTY2IDAgMTEzIC00N3Q0NyAtMTEzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJzb3J0IiB1bmljb2RlPSImI3hmMGRjOyIgaG9yaXotYWR2LXg9IjEwMjQiIApkPSJNMTAyNCA0NDhxMCAtMjYgLTE5IC00NWwtNDQ4IC00NDhxLTE5IC0xOSAtNDUgLTE5dC00NSAxOWwtNDQ4IDQ0OHEtMTkgMTkgLTE5IDQ1dDE5IDQ1dDQ1IDE5aDg5NnEyNiAwIDQ1IC0xOXQxOSAtNDV6TTEwMjQgODMycTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtODk2cS0yNiAwIC00NSAxOXQtMTkgNDV0MTkgNDVsNDQ4IDQ0OHExOSAxOSA0NSAxOXQ0NSAtMTlsNDQ4IC00NDhxMTkgLTE5IDE5IC00NXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ic29ydF9kb3duIiB1bmljb2RlPSImI3hmMGRkOyIgaG9yaXotYWR2LXg9IjEwMjQiIApkPSJNMTAyNCA0NDhxMCAtMjYgLTE5IC00NWwtNDQ4IC00NDhxLTE5IC0xOSAtNDUgLTE5dC00NSAxOWwtNDQ4IDQ0OHEtMTkgMTkgLTE5IDQ1dDE5IDQ1dDQ1IDE5aDg5NnEyNiAwIDQ1IC0xOXQxOSAtNDV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InNvcnRfdXAiIHVuaWNvZGU9IiYjeGYwZGU7IiBob3Jpei1hZHYteD0iMTAyNCIgCmQ9Ik0xMDI0IDgzMnEwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTg5NnEtMjYgMCAtNDUgMTl0LTE5IDQ1dDE5IDQ1bDQ0OCA0NDhxMTkgMTkgNDUgMTl0NDUgLTE5bDQ0OCAtNDQ4cTE5IC0xOSAxOSAtNDV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImVudmVsb3BlX2FsdCIgdW5pY29kZT0iJiN4ZjBlMDsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE3OTIgODI2di03OTRxMCAtNjYgLTQ3IC0xMTN0LTExMyAtNDdoLTE0NzJxLTY2IDAgLTExMyA0N3QtNDcgMTEzdjc5NHE0NCAtNDkgMTAxIC04N3EzNjIgLTI0NiA0OTcgLTM0NXE1NyAtNDIgOTIuNSAtNjUuNXQ5NC41IC00OHQxMTAgLTI0LjVoMWgxcTUxIDAgMTEwIDI0LjV0OTQuNSA0OHQ5Mi41IDY1LjVxMTcwIDEyMyA0OTggMzQ1cTU3IDM5IDEwMCA4N3pNMTc5MiAxMTIwcTAgLTc5IC00OSAtMTUxdC0xMjIgLTEyMwpxLTM3NiAtMjYxIC00NjggLTMyNXEtMTAgLTcgLTQyLjUgLTMwLjV0LTU0IC0zOHQtNTIgLTMyLjV0LTU3LjUgLTI3dC01MCAtOWgtMWgtMXEtMjMgMCAtNTAgOXQtNTcuNSAyN3QtNTIgMzIuNXQtNTQgMzh0LTQyLjUgMzAuNXEtOTEgNjQgLTI2MiAxODIuNXQtMjA1IDE0Mi41cS02MiA0MiAtMTE3IDExNS41dC01NSAxMzYuNXEwIDc4IDQxLjUgMTMwdDExOC41IDUyaDE0NzJxNjUgMCAxMTIuNSAtNDd0NDcuNSAtMTEzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJsaW5rZWRpbiIgdW5pY29kZT0iJiN4ZjBlMTsiIApkPSJNMzQ5IDkxMXYtOTkxaC0zMzB2OTkxaDMzMHpNMzcwIDEyMTdxMSAtNzMgLTUwLjUgLTEyMnQtMTM1LjUgLTQ5aC0ycS04MiAwIC0xMzIgNDl0LTUwIDEyMnEwIDc0IDUxLjUgMTIyLjV0MTM0LjUgNDguNXQxMzMgLTQ4LjV0NTEgLTEyMi41ek0xNTM2IDQ4OHYtNTY4aC0zMjl2NTMwcTAgMTA1IC00MC41IDE2NC41dC0xMjYuNSA1OS41cS02MyAwIC0xMDUuNSAtMzQuNXQtNjMuNSAtODUuNXEtMTEgLTMwIC0xMSAtODF2LTU1M2gtMzI5CnEyIDM5OSAyIDY0N3QtMSAyOTZsLTEgNDhoMzI5di0xNDRoLTJxMjAgMzIgNDEgNTZ0NTYuNSA1MnQ4NyA0My41dDExNC41IDE1LjVxMTcxIDAgMjc1IC0xMTMuNXQxMDQgLTMzMi41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmRvIiB1bmljb2RlPSImI3hmMGUyOyIgCmQ9Ik0xNTM2IDY0MHEwIC0xNTYgLTYxIC0yOTh0LTE2NCAtMjQ1dC0yNDUgLTE2NHQtMjk4IC02MXEtMTcyIDAgLTMyNyA3Mi41dC0yNjQgMjA0LjVxLTcgMTAgLTYuNSAyMi41dDguNSAyMC41bDEzNyAxMzhxMTAgOSAyNSA5cTE2IC0yIDIzIC0xMnE3MyAtOTUgMTc5IC0xNDd0MjI1IC01MnExMDQgMCAxOTguNSA0MC41dDE2My41IDEwOS41dDEwOS41IDE2My41dDQwLjUgMTk4LjV0LTQwLjUgMTk4LjV0LTEwOS41IDE2My41CnQtMTYzLjUgMTA5LjV0LTE5OC41IDQwLjVxLTk4IDAgLTE4OCAtMzUuNXQtMTYwIC0xMDEuNWwxMzcgLTEzOHEzMSAtMzAgMTQgLTY5cS0xNyAtNDAgLTU5IC00MGgtNDQ4cS0yNiAwIC00NSAxOXQtMTkgNDV2NDQ4cTAgNDIgNDAgNTlxMzkgMTcgNjkgLTE0bDEzMCAtMTI5cTEwNyAxMDEgMjQ0LjUgMTU2LjV0Mjg0LjUgNTUuNXExNTYgMCAyOTggLTYxdDI0NSAtMTY0dDE2NCAtMjQ1dDYxIC0yOTh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImxlZ2FsIiB1bmljb2RlPSImI3hmMGUzOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTc3MSAwcTAgLTUzIC0zNyAtOTBsLTEwNyAtMTA4cS0zOSAtMzcgLTkxIC0zN3EtNTMgMCAtOTAgMzdsLTM2MyAzNjRxLTM4IDM2IC0zOCA5MHEwIDUzIDQzIDk2bC0yNTYgMjU2bC0xMjYgLTEyNnEtMTQgLTE0IC0zNCAtMTR0LTM0IDE0cTIgLTIgMTIuNSAtMTJ0MTIuNSAtMTN0MTAgLTExLjV0MTAgLTEzLjV0NiAtMTMuNXQ1LjUgLTE2LjV0MS41IC0xOHEwIC0zOCAtMjggLTY4cS0zIC0zIC0xNi41IC0xOHQtMTkgLTIwLjUKdC0xOC41IC0xNi41dC0yMiAtMTUuNXQtMjIgLTl0LTI2IC00LjVxLTQwIDAgLTY4IDI4bC00MDggNDA4cS0yOCAyOCAtMjggNjhxMCAxMyA0LjUgMjZ0OSAyMnQxNS41IDIydDE2LjUgMTguNXQyMC41IDE5dDE4IDE2LjVxMzAgMjggNjggMjhxMTAgMCAxOCAtMS41dDE2LjUgLTUuNXQxMy41IC02dDEzLjUgLTEwdDExLjUgLTEwdDEzIC0xMi41dDEyIC0xMi41cS0xNCAxNCAtMTQgMzR0MTQgMzRsMzQ4IDM0OHExNCAxNCAzNCAxNHQzNCAtMTQKcS0yIDIgLTEyLjUgMTJ0LTEyLjUgMTN0LTEwIDExLjV0LTEwIDEzLjV0LTYgMTMuNXQtNS41IDE2LjV0LTEuNSAxOHEwIDM4IDI4IDY4cTMgMyAxNi41IDE4dDE5IDIwLjV0MTguNSAxNi41dDIyIDE1LjV0MjIgOXQyNiA0LjVxNDAgMCA2OCAtMjhsNDA4IC00MDhxMjggLTI4IDI4IC02OHEwIC0xMyAtNC41IC0yNnQtOSAtMjJ0LTE1LjUgLTIydC0xNi41IC0xOC41dC0yMC41IC0xOXQtMTggLTE2LjVxLTMwIC0yOCAtNjggLTI4CnEtMTAgMCAtMTggMS41dC0xNi41IDUuNXQtMTMuNSA2dC0xMy41IDEwdC0xMS41IDEwdC0xMyAxMi41dC0xMiAxMi41cTE0IC0xNCAxNCAtMzR0LTE0IC0zNGwtMTI2IC0xMjZsMjU2IC0yNTZxNDMgNDMgOTYgNDNxNTIgMCA5MSAtMzdsMzYzIC0zNjNxMzcgLTM5IDM3IC05MXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZGFzaGJvYXJkIiB1bmljb2RlPSImI3hmMGU0OyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMzg0IDM4NHEwIDUzIC0zNy41IDkwLjV0LTkwLjUgMzcuNXQtOTAuNSAtMzcuNXQtMzcuNSAtOTAuNXQzNy41IC05MC41dDkwLjUgLTM3LjV0OTAuNSAzNy41dDM3LjUgOTAuNXpNNTc2IDgzMnEwIDUzIC0zNy41IDkwLjV0LTkwLjUgMzcuNXQtOTAuNSAtMzcuNXQtMzcuNSAtOTAuNXQzNy41IC05MC41dDkwLjUgLTM3LjV0OTAuNSAzNy41dDM3LjUgOTAuNXpNMTAwNCAzNTFsMTAxIDM4MnE2IDI2IC03LjUgNDguNXQtMzguNSAyOS41CnQtNDggLTYuNXQtMzAgLTM5LjVsLTEwMSAtMzgycS02MCAtNSAtMTA3IC00My41dC02MyAtOTguNXEtMjAgLTc3IDIwIC0xNDZ0MTE3IC04OXQxNDYgMjB0ODkgMTE3cTE2IDYwIC02IDExN3QtNzIgOTF6TTE2NjQgMzg0cTAgNTMgLTM3LjUgOTAuNXQtOTAuNSAzNy41dC05MC41IC0zNy41dC0zNy41IC05MC41dDM3LjUgLTkwLjV0OTAuNSAtMzcuNXQ5MC41IDM3LjV0MzcuNSA5MC41ek0xMDI0IDEwMjRxMCA1MyAtMzcuNSA5MC41CnQtOTAuNSAzNy41dC05MC41IC0zNy41dC0zNy41IC05MC41dDM3LjUgLTkwLjV0OTAuNSAtMzcuNXQ5MC41IDM3LjV0MzcuNSA5MC41ek0xNDcyIDgzMnEwIDUzIC0zNy41IDkwLjV0LTkwLjUgMzcuNXQtOTAuNSAtMzcuNXQtMzcuNSAtOTAuNXQzNy41IC05MC41dDkwLjUgLTM3LjV0OTAuNSAzNy41dDM3LjUgOTAuNXpNMTc5MiAzODRxMCAtMjYxIC0xNDEgLTQ4M3EtMTkgLTI5IC01NCAtMjloLTE0MDJxLTM1IDAgLTU0IDI5CnEtMTQxIDIyMSAtMTQxIDQ4M3EwIDE4MiA3MSAzNDh0MTkxIDI4NnQyODYgMTkxdDM0OCA3MXQzNDggLTcxdDI4NiAtMTkxdDE5MSAtMjg2dDcxIC0zNDh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImNvbW1lbnRfYWx0IiB1bmljb2RlPSImI3hmMGU1OyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNODk2IDExNTJxLTIwNCAwIC0zODEuNSAtNjkuNXQtMjgyIC0xODcuNXQtMTA0LjUgLTI1NXEwIC0xMTIgNzEuNSAtMjEzLjV0MjAxLjUgLTE3NS41bDg3IC01MGwtMjcgLTk2cS0yNCAtOTEgLTcwIC0xNzJxMTUyIDYzIDI3NSAxNzFsNDMgMzhsNTcgLTZxNjkgLTggMTMwIC04cTIwNCAwIDM4MS41IDY5LjV0MjgyIDE4Ny41dDEwNC41IDI1NXQtMTA0LjUgMjU1dC0yODIgMTg3LjV0LTM4MS41IDY5LjV6TTE3OTIgNjQwCnEwIC0xNzQgLTEyMCAtMzIxLjV0LTMyNiAtMjMzdC00NTAgLTg1LjVxLTcwIDAgLTE0NSA4cS0xOTggLTE3NSAtNDYwIC0yNDJxLTQ5IC0xNCAtMTE0IC0yMmgtNXEtMTUgMCAtMjcgMTAuNXQtMTYgMjcuNXYxcS0zIDQgLTAuNSAxMnQyIDEwdDQuNSA5LjVsNiA5dDcgOC41dDggOXE3IDggMzEgMzQuNXQzNC41IDM4dDMxIDM5LjV0MzIuNSA1MXQyNyA1OXQyNiA3NnEtMTU3IDg5IC0yNDcuNSAyMjB0LTkwLjUgMjgxcTAgMTc0IDEyMCAzMjEuNQp0MzI2IDIzM3Q0NTAgODUuNXQ0NTAgLTg1LjV0MzI2IC0yMzN0MTIwIC0zMjEuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iY29tbWVudHNfYWx0IiB1bmljb2RlPSImI3hmMGU2OyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNNzA0IDExNTJxLTE1MyAwIC0yODYgLTUydC0yMTEuNSAtMTQxdC03OC41IC0xOTFxMCAtODIgNTMgLTE1OHQxNDkgLTEzMmw5NyAtNTZsLTM1IC04NHEzNCAyMCA2MiAzOWw0NCAzMWw1MyAtMTBxNzggLTE0IDE1MyAtMTRxMTUzIDAgMjg2IDUydDIxMS41IDE0MXQ3OC41IDE5MXQtNzguNSAxOTF0LTIxMS41IDE0MXQtMjg2IDUyek03MDQgMTI4MHExOTEgMCAzNTMuNSAtNjguNXQyNTYuNSAtMTg2LjV0OTQgLTI1N3QtOTQgLTI1Nwp0LTI1Ni41IC0xODYuNXQtMzUzLjUgLTY4LjVxLTg2IDAgLTE3NiAxNnEtMTI0IC04OCAtMjc4IC0xMjhxLTM2IC05IC04NiAtMTZoLTNxLTExIDAgLTIwLjUgOHQtMTEuNSAyMXEtMSAzIC0xIDYuNXQwLjUgNi41dDIgNmwyLjUgNXQzLjUgNS41dDQgNXQ0LjUgNXQ0IDQuNXE1IDYgMjMgMjV0MjYgMjkuNXQyMi41IDI5dDI1IDM4LjV0MjAuNSA0NHEtMTI0IDcyIC0xOTUgMTc3dC03MSAyMjRxMCAxMzkgOTQgMjU3dDI1Ni41IDE4Ni41CnQzNTMuNSA2OC41ek0xNTI2IDExMXExMCAtMjQgMjAuNSAtNDR0MjUgLTM4LjV0MjIuNSAtMjl0MjYgLTI5LjV0MjMgLTI1cTEgLTEgNCAtNC41dDQuNSAtNXQ0IC01dDMuNSAtNS41bDIuNSAtNXQyIC02dDAuNSAtNi41dC0xIC02LjVxLTMgLTE0IC0xMyAtMjJ0LTIyIC03cS01MCA3IC04NiAxNnEtMTU0IDQwIC0yNzggMTI4cS05MCAtMTYgLTE3NiAtMTZxLTI3MSAwIC00NzIgMTMycTU4IC00IDg4IC00cTE2MSAwIDMwOSA0NXQyNjQgMTI5CnExMjUgOTIgMTkyIDIxMnQ2NyAyNTRxMCA3NyAtMjMgMTUycTEyOSAtNzEgMjA0IC0xNzh0NzUgLTIzMHEwIC0xMjAgLTcxIC0yMjQuNXQtMTk1IC0xNzYuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYm9sdCIgdW5pY29kZT0iJiN4ZjBlNzsiIGhvcml6LWFkdi14PSI4OTYiIApkPSJNODg1IDk3MHExOCAtMjAgNyAtNDRsLTU0MCAtMTE1N3EtMTMgLTI1IC00MiAtMjVxLTQgMCAtMTQgMnEtMTcgNSAtMjUuNSAxOXQtNC41IDMwbDE5NyA4MDhsLTQwNiAtMTAxcS00IC0xIC0xMiAtMXEtMTggMCAtMzEgMTFxLTE4IDE1IC0xMyAzOWwyMDEgODI1cTQgMTQgMTYgMjN0MjggOWgzMjhxMTkgMCAzMiAtMTIuNXQxMyAtMjkuNXEwIC04IC01IC0xOGwtMTcxIC00NjNsMzk2IDk4cTggMiAxMiAycTE5IDAgMzQgLTE1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJzaXRlbWFwIiB1bmljb2RlPSImI3hmMGU4OyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTc5MiAyODh2LTMyMHEwIC00MCAtMjggLTY4dC02OCAtMjhoLTMyMHEtNDAgMCAtNjggMjh0LTI4IDY4djMyMHEwIDQwIDI4IDY4dDY4IDI4aDk2djE5MmgtNTEydi0xOTJoOTZxNDAgMCA2OCAtMjh0MjggLTY4di0zMjBxMCAtNDAgLTI4IC02OHQtNjggLTI4aC0zMjBxLTQwIDAgLTY4IDI4dC0yOCA2OHYzMjBxMCA0MCAyOCA2OHQ2OCAyOGg5NnYxOTJoLTUxMnYtMTkyaDk2cTQwIDAgNjggLTI4dDI4IC02OHYtMzIwCnEwIC00MCAtMjggLTY4dC02OCAtMjhoLTMyMHEtNDAgMCAtNjggMjh0LTI4IDY4djMyMHEwIDQwIDI4IDY4dDY4IDI4aDk2djE5MnEwIDUyIDM4IDkwdDkwIDM4aDUxMnYxOTJoLTk2cS00MCAwIC02OCAyOHQtMjggNjh2MzIwcTAgNDAgMjggNjh0NjggMjhoMzIwcTQwIDAgNjggLTI4dDI4IC02OHYtMzIwcTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtOTZ2LTE5Mmg1MTJxNTIgMCA5MCAtMzh0MzggLTkwdi0xOTJoOTZxNDAgMCA2OCAtMjh0MjggLTY4CnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW1icmVsbGEiIHVuaWNvZGU9IiYjeGYwZTk7IiBob3Jpei1hZHYteD0iMTY2NCIgCmQ9Ik04OTYgNzA4di01ODBxMCAtMTA0IC03NiAtMTgwdC0xODAgLTc2dC0xODAgNzZ0LTc2IDE4MHEwIDI2IDE5IDQ1dDQ1IDE5dDQ1IC0xOXQxOSAtNDVxMCAtNTAgMzkgLTg5dDg5IC0zOXQ4OSAzOXQzOSA4OXY1ODBxMzMgMTEgNjQgMTF0NjQgLTExek0xNjY0IDY4MXEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVxLTExIDAgLTIzIDEwcS00OSA0NiAtOTMgNjl0LTEwMiAyM3EtNjggMCAtMTI4IC0zN3QtMTAzIC05NwpxLTcgLTEwIC0xNy41IC0yOHQtMTQuNSAtMjRxLTExIC0xNyAtMjggLTE3cS0xOCAwIC0yOSAxN3EtNCA2IC0xNC41IDI0dC0xNy41IDI4cS00MyA2MCAtMTAyLjUgOTd0LTEyNy41IDM3dC0xMjcuNSAtMzd0LTEwMi41IC05N3EtNyAtMTAgLTE3LjUgLTI4dC0xNC41IC0yNHEtMTEgLTE3IC0yOSAtMTdxLTE3IDAgLTI4IDE3cS00IDYgLTE0LjUgMjR0LTE3LjUgMjhxLTQzIDYwIC0xMDMgOTd0LTEyOCAzN3EtNTggMCAtMTAyIC0yM3QtOTMgLTY5CnEtMTIgLTEwIC0yMyAtMTBxLTEzIDAgLTIyLjUgOS41dC05LjUgMjIuNXEwIDUgMSA3cTQ1IDE4MyAxNzIuNSAzMTkuNXQyOTggMjA0LjV0MzYwLjUgNjhxMTQwIDAgMjc0LjUgLTQwdDI0Ni41IC0xMTMuNXQxOTQuNSAtMTg3dDExNS41IC0yNTEuNXExIC0yIDEgLTd6TTg5NiAxNDA4di05OHEtNDIgMiAtNjQgMnQtNjQgLTJ2OThxMCAyNiAxOSA0NXQ0NSAxOXQ0NSAtMTl0MTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJwYXN0ZSIgdW5pY29kZT0iJiN4ZjBlYTsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTc2OCAtMTI4aDg5NnY2NDBoLTQxNnEtNDAgMCAtNjggMjh0LTI4IDY4djQxNmgtMzg0di0xMTUyek0xMDI0IDEzMTJ2NjRxMCAxMyAtOS41IDIyLjV0LTIyLjUgOS41aC03MDRxLTEzIDAgLTIyLjUgLTkuNXQtOS41IC0yMi41di02NHEwIC0xMyA5LjUgLTIyLjV0MjIuNSAtOS41aDcwNHExMyAwIDIyLjUgOS41dDkuNSAyMi41ek0xMjgwIDY0MGgyOTlsLTI5OSAyOTl2LTI5OXpNMTc5MiA1MTJ2LTY3MnEwIC00MCAtMjggLTY4dC02OCAtMjgKaC05NjBxLTQwIDAgLTY4IDI4dC0yOCA2OHYxNjBoLTU0NHEtNDAgMCAtNjggMjh0LTI4IDY4djEzNDRxMCA0MCAyOCA2OHQ2OCAyOGgxMDg4cTQwIDAgNjggLTI4dDI4IC02OHYtMzI4cTIxIC0xMyAzNiAtMjhsNDA4IC00MDhxMjggLTI4IDQ4IC03NnQyMCAtODh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImxpZ2h0X2J1bGIiIHVuaWNvZGU9IiYjeGYwZWI7IiBob3Jpei1hZHYteD0iMTAyNCIgCmQ9Ik03MzYgOTYwcTAgLTEzIC05LjUgLTIyLjV0LTIyLjUgLTkuNXQtMjIuNSA5LjV0LTkuNSAyMi41cTAgNDYgLTU0IDcxdC0xMDYgMjVxLTEzIDAgLTIyLjUgOS41dC05LjUgMjIuNXQ5LjUgMjIuNXQyMi41IDkuNXE1MCAwIDk5LjUgLTE2dDg3IC01NHQzNy41IC05MHpNODk2IDk2MHEwIDcyIC0zNC41IDEzNHQtOTAgMTAxLjV0LTEyMyA2MnQtMTM2LjUgMjIuNXQtMTM2LjUgLTIyLjV0LTEyMyAtNjJ0LTkwIC0xMDEuNXQtMzQuNSAtMTM0CnEwIC0xMDEgNjggLTE4MHExMCAtMTEgMzAuNSAtMzN0MzAuNSAtMzNxMTI4IC0xNTMgMTQxIC0yOThoMjI4cTEzIDE0NSAxNDEgMjk4cTEwIDExIDMwLjUgMzN0MzAuNSAzM3E2OCA3OSA2OCAxODB6TTEwMjQgOTYwcTAgLTE1NSAtMTAzIC0yNjhxLTQ1IC00OSAtNzQuNSAtODd0LTU5LjUgLTk1LjV0LTM0IC0xMDcuNXE0NyAtMjggNDcgLTgycTAgLTM3IC0yNSAtNjRxMjUgLTI3IDI1IC02NHEwIC01MiAtNDUgLTgxcTEzIC0yMyAxMyAtNDcKcTAgLTQ2IC0zMS41IC03MXQtNzcuNSAtMjVxLTIwIC00NCAtNjAgLTcwdC04NyAtMjZ0LTg3IDI2dC02MCA3MHEtNDYgMCAtNzcuNSAyNXQtMzEuNSA3MXEwIDI0IDEzIDQ3cS00NSAyOSAtNDUgODFxMCAzNyAyNSA2NHEtMjUgMjcgLTI1IDY0cTAgNTQgNDcgODJxLTQgNTAgLTM0IDEwNy41dC01OS41IDk1LjV0LTc0LjUgODdxLTEwMyAxMTMgLTEwMyAyNjhxMCA5OSA0NC41IDE4NC41dDExNyAxNDJ0MTY0IDg5dDE4Ni41IDMyLjUKdDE4Ni41IC0zMi41dDE2NCAtODl0MTE3IC0xNDJ0NDQuNSAtMTg0LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImV4Y2hhbmdlIiB1bmljb2RlPSImI3hmMGVjOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTc5MiAzNTJ2LTE5MnEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTEzNzZ2LTE5MnEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVxLTEyIDAgLTI0IDEwbC0zMTkgMzIwcS05IDkgLTkgMjJxMCAxNCA5IDIzbDMyMCAzMjBxOSA5IDIzIDlxMTMgMCAyMi41IC05LjV0OS41IC0yMi41di0xOTJoMTM3NnExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6TTE3OTIgODk2cTAgLTE0IC05IC0yM2wtMzIwIC0zMjBxLTkgLTkgLTIzIC05CnEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djE5MmgtMTM3NnEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djE5MnEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDEzNzZ2MTkycTAgMTQgOSAyM3QyMyA5cTEyIDAgMjQgLTEwbDMxOSAtMzE5cTkgLTkgOSAtMjN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImNsb3VkX2Rvd25sb2FkIiB1bmljb2RlPSImI3hmMGVkOyIgaG9yaXotYWR2LXg9IjE5MjAiIApkPSJNMTI4MCA2MDhxMCAxNCAtOSAyM3QtMjMgOWgtMjI0djM1MnEwIDEzIC05LjUgMjIuNXQtMjIuNSA5LjVoLTE5MnEtMTMgMCAtMjIuNSAtOS41dC05LjUgLTIyLjV2LTM1MmgtMjI0cS0xMyAwIC0yMi41IC05LjV0LTkuNSAtMjIuNXEwIC0xNCA5IC0yM2wzNTIgLTM1MnE5IC05IDIzIC05dDIzIDlsMzUxIDM1MXExMCAxMiAxMCAyNHpNMTkyMCAzODRxMCAtMTU5IC0xMTIuNSAtMjcxLjV0LTI3MS41IC0xMTIuNWgtMTA4OApxLTE4NSAwIC0zMTYuNSAxMzEuNXQtMTMxLjUgMzE2LjVxMCAxMzAgNzAgMjQwdDE4OCAxNjVxLTIgMzAgLTIgNDNxMCAyMTIgMTUwIDM2MnQzNjIgMTUwcTE1NiAwIDI4NS41IC04N3QxODguNSAtMjMxcTcxIDYyIDE2NiA2MnExMDYgMCAxODEgLTc1dDc1IC0xODFxMCAtNzYgLTQxIC0xMzhxMTMwIC0zMSAyMTMuNSAtMTM1LjV0ODMuNSAtMjM4LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImNsb3VkX3VwbG9hZCIgdW5pY29kZT0iJiN4ZjBlZTsiIGhvcml6LWFkdi14PSIxOTIwIiAKZD0iTTEyODAgNjcycTAgMTQgLTkgMjNsLTM1MiAzNTJxLTkgOSAtMjMgOXQtMjMgLTlsLTM1MSAtMzUxcS0xMCAtMTIgLTEwIC0yNHEwIC0xNCA5IC0yM3QyMyAtOWgyMjR2LTM1MnEwIC0xMyA5LjUgLTIyLjV0MjIuNSAtOS41aDE5MnExMyAwIDIyLjUgOS41dDkuNSAyMi41djM1MmgyMjRxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXpNMTkyMCAzODRxMCAtMTU5IC0xMTIuNSAtMjcxLjV0LTI3MS41IC0xMTIuNWgtMTA4OApxLTE4NSAwIC0zMTYuNSAxMzEuNXQtMTMxLjUgMzE2LjVxMCAxMzAgNzAgMjQwdDE4OCAxNjVxLTIgMzAgLTIgNDNxMCAyMTIgMTUwIDM2MnQzNjIgMTUwcTE1NiAwIDI4NS41IC04N3QxODguNSAtMjMxcTcxIDYyIDE2NiA2MnExMDYgMCAxODEgLTc1dDc1IC0xODFxMCAtNzYgLTQxIC0xMzhxMTMwIC0zMSAyMTMuNSAtMTM1LjV0ODMuNSAtMjM4LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVzZXJfbWQiIHVuaWNvZGU9IiYjeGYwZjA7IiBob3Jpei1hZHYteD0iMTQwOCIgCmQ9Ik0zODQgMTkycTAgLTI2IC0xOSAtNDV0LTQ1IC0xOXQtNDUgMTl0LTE5IDQ1dDE5IDQ1dDQ1IDE5dDQ1IC0xOXQxOSAtNDV6TTE0MDggMTMxcTAgLTEyMSAtNzMgLTE5MHQtMTk0IC02OWgtODc0cS0xMjEgMCAtMTk0IDY5dC03MyAxOTBxMCA2OCA1LjUgMTMxdDI0IDEzOHQ0Ny41IDEzMi41dDgxIDEwM3QxMjAgNjAuNXEtMjIgLTUyIC0yMiAtMTIwdi0yMDNxLTU4IC0yMCAtOTMgLTcwdC0zNSAtMTExcTAgLTgwIDU2IC0xMzZ0MTM2IC01Ngp0MTM2IDU2dDU2IDEzNnEwIDYxIC0zNS41IDExMXQtOTIuNSA3MHYyMDNxMCA2MiAyNSA5M3ExMzIgLTEwNCAyOTUgLTEwNHQyOTUgMTA0cTI1IC0zMSAyNSAtOTN2LTY0cS0xMDYgMCAtMTgxIC03NXQtNzUgLTE4MXYtODlxLTMyIC0yOSAtMzIgLTcxcTAgLTQwIDI4IC02OHQ2OCAtMjh0NjggMjh0MjggNjhxMCA0MiAtMzIgNzF2ODlxMCA1MiAzOCA5MHQ5MCAzOHQ5MCAtMzh0MzggLTkwdi04OXEtMzIgLTI5IC0zMiAtNzFxMCAtNDAgMjggLTY4CnQ2OCAtMjh0NjggMjh0MjggNjhxMCA0MiAtMzIgNzF2ODlxMCA2OCAtMzQuNSAxMjcuNXQtOTMuNSA5My41cTAgMTAgMC41IDQyLjV0MCA0OHQtMi41IDQxLjV0LTcgNDd0LTEzIDQwcTY4IC0xNSAxMjAgLTYwLjV0ODEgLTEwM3Q0Ny41IC0xMzIuNXQyNCAtMTM4dDUuNSAtMTMxek0xMDg4IDEwMjRxMCAtMTU5IC0xMTIuNSAtMjcxLjV0LTI3MS41IC0xMTIuNXQtMjcxLjUgMTEyLjV0LTExMi41IDI3MS41dDExMi41IDI3MS41dDI3MS41IDExMi41CnQyNzEuNSAtMTEyLjV0MTEyLjUgLTI3MS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJzdGV0aG9zY29wZSIgdW5pY29kZT0iJiN4ZjBmMTsiIGhvcml6LWFkdi14PSIxNDA4IiAKZD0iTTEyODAgODMycTAgMjYgLTE5IDQ1dC00NSAxOXQtNDUgLTE5dC0xOSAtNDV0MTkgLTQ1dDQ1IC0xOXQ0NSAxOXQxOSA0NXpNMTQwOCA4MzJxMCAtNjIgLTM1LjUgLTExMXQtOTIuNSAtNzB2LTM5NXEwIC0xNTkgLTEzMS41IC0yNzEuNXQtMzE2LjUgLTExMi41dC0zMTYuNSAxMTIuNXQtMTMxLjUgMjcxLjV2MTMycS0xNjQgMjAgLTI3NCAxMjh0LTExMCAyNTJ2NTEycTAgMjYgMTkgNDV0NDUgMTlxNiAwIDE2IC0ycTE3IDMwIDQ3IDQ4CnQ2NSAxOHE1MyAwIDkwLjUgLTM3LjV0MzcuNSAtOTAuNXQtMzcuNSAtOTAuNXQtOTAuNSAtMzcuNXEtMzMgMCAtNjQgMTh2LTQwMnEwIC0xMDYgOTQgLTE4MXQyMjYgLTc1dDIyNiA3NXQ5NCAxODF2NDAycS0zMSAtMTggLTY0IC0xOHEtNTMgMCAtOTAuNSAzNy41dC0zNy41IDkwLjV0MzcuNSA5MC41dDkwLjUgMzcuNXEzNSAwIDY1IC0xOHQ0NyAtNDhxMTAgMiAxNiAycTI2IDAgNDUgLTE5dDE5IC00NXYtNTEycTAgLTE0NCAtMTEwIC0yNTIKdC0yNzQgLTEyOHYtMTMycTAgLTEwNiA5NCAtMTgxdDIyNiAtNzV0MjI2IDc1dDk0IDE4MXYzOTVxLTU3IDIxIC05Mi41IDcwdC0zNS41IDExMXEwIDgwIDU2IDEzNnQxMzYgNTZ0MTM2IC01NnQ1NiAtMTM2eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJzdWl0Y2FzZSIgdW5pY29kZT0iJiN4ZjBmMjsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTY0MCAxMTUyaDUxMnYxMjhoLTUxMnYtMTI4ek0yODggMTE1MnYtMTI4MGgtNjRxLTkyIDAgLTE1OCA2NnQtNjYgMTU4djgzMnEwIDkyIDY2IDE1OHQxNTggNjZoNjR6TTE0MDggMTE1MnYtMTI4MGgtMTAyNHYxMjgwaDEyOHYxNjBxMCA0MCAyOCA2OHQ2OCAyOGg1NzZxNDAgMCA2OCAtMjh0MjggLTY4di0xNjBoMTI4ek0xNzkyIDkyOHYtODMycTAgLTkyIC02NiAtMTU4dC0xNTggLTY2aC02NHYxMjgwaDY0cTkyIDAgMTU4IC02Ngp0NjYgLTE1OHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYmVsbF9hbHQiIHVuaWNvZGU9IiYjeGYwZjM7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik05MTIgLTE2MHEwIDE2IC0xNiAxNnEtNTkgMCAtMTAxLjUgNDIuNXQtNDIuNSAxMDEuNXEwIDE2IC0xNiAxNnQtMTYgLTE2cTAgLTczIDUxLjUgLTEyNC41dDEyNC41IC01MS41cTE2IDAgMTYgMTZ6TTE3MjggMTI4cTAgLTUyIC0zOCAtOTB0LTkwIC0zOGgtNDQ4cTAgLTEwNiAtNzUgLTE4MXQtMTgxIC03NXQtMTgxIDc1dC03NSAxODFoLTQ0OHEtNTIgMCAtOTAgMzh0LTM4IDkwcTUwIDQyIDkxIDg4dDg1IDExOS41dDc0LjUgMTU4LjUKdDUwIDIwNnQxOS41IDI2MHEwIDE1MiAxMTcgMjgyLjV0MzA3IDE1OC41cS04IDE5IC04IDM5cTAgNDAgMjggNjh0NjggMjh0NjggLTI4dDI4IC02OHEwIC0yMCAtOCAtMzlxMTkwIC0yOCAzMDcgLTE1OC41dDExNyAtMjgyLjVxMCAtMTM5IDE5LjUgLTI2MHQ1MCAtMjA2dDc0LjUgLTE1OC41dDg1IC0xMTkuNXQ5MSAtODh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImNvZmZlZSIgdW5pY29kZT0iJiN4ZjBmNDsiIGhvcml6LWFkdi14PSIxOTIwIiAKZD0iTTE2NjQgODk2cTAgODAgLTU2IDEzNnQtMTM2IDU2aC02NHYtMzg0aDY0cTgwIDAgMTM2IDU2dDU2IDEzNnpNMCAxMjhoMTc5MnEwIC0xMDYgLTc1IC0xODF0LTE4MSAtNzVoLTEyODBxLTEwNiAwIC0xODEgNzV0LTc1IDE4MXpNMTg1NiA4OTZxMCAtMTU5IC0xMTIuNSAtMjcxLjV0LTI3MS41IC0xMTIuNWgtNjR2LTMycTAgLTkyIC02NiAtMTU4dC0xNTggLTY2aC03MDRxLTkyIDAgLTE1OCA2NnQtNjYgMTU4djczNnEwIDI2IDE5IDQ1CnQ0NSAxOWgxMTUycTE1OSAwIDI3MS41IC0xMTIuNXQxMTIuNSAtMjcxLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImZvb2QiIHVuaWNvZGU9IiYjeGYwZjU7IiBob3Jpei1hZHYteD0iMTQwOCIgCmQ9Ik02NDAgMTQ3MnYtNjQwcTAgLTYxIC0zNS41IC0xMTF0LTkyLjUgLTcwdi03NzlxMCAtNTIgLTM4IC05MHQtOTAgLTM4aC0xMjhxLTUyIDAgLTkwIDM4dC0zOCA5MHY3NzlxLTU3IDIwIC05Mi41IDcwdC0zNS41IDExMXY2NDBxMCAyNiAxOSA0NXQ0NSAxOXQ0NSAtMTl0MTkgLTQ1di00MTZxMCAtMjYgMTkgLTQ1dDQ1IC0xOXQ0NSAxOXQxOSA0NXY0MTZxMCAyNiAxOSA0NXQ0NSAxOXQ0NSAtMTl0MTkgLTQ1di00MTZxMCAtMjYgMTkgLTQ1CnQ0NSAtMTl0NDUgMTl0MTkgNDV2NDE2cTAgMjYgMTkgNDV0NDUgMTl0NDUgLTE5dDE5IC00NXpNMTQwOCAxNDcydi0xNjAwcTAgLTUyIC0zOCAtOTB0LTkwIC0zOGgtMTI4cS01MiAwIC05MCAzOHQtMzggOTB2NTEyaC0yMjRxLTEzIDAgLTIyLjUgOS41dC05LjUgMjIuNXY4MDBxMCAxMzIgOTQgMjI2dDIyNiA5NGgyNTZxMjYgMCA0NSAtMTl0MTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJmaWxlX3RleHRfYWx0IiB1bmljb2RlPSImI3hmMGY2OyIgCmQ9Ik0xNDY4IDExNTZxMjggLTI4IDQ4IC03NnQyMCAtODh2LTExNTJxMCAtNDAgLTI4IC02OHQtNjggLTI4aC0xMzQ0cS00MCAwIC02OCAyOHQtMjggNjh2MTYwMHEwIDQwIDI4IDY4dDY4IDI4aDg5NnE0MCAwIDg4IC0yMHQ3NiAtNDh6TTEwMjQgMTQwMHYtMzc2aDM3NnEtMTAgMjkgLTIyIDQxbC0zMTMgMzEzcS0xMiAxMiAtNDEgMjJ6TTE0MDggLTEyOHYxMDI0aC00MTZxLTQwIDAgLTY4IDI4dC0yOCA2OHY0MTZoLTc2OHYtMTUzNmgxMjgwegpNMzg0IDczNnEwIDE0IDkgMjN0MjMgOWg3MDRxMTQgMCAyMyAtOXQ5IC0yM3YtNjRxMCAtMTQgLTkgLTIzdC0yMyAtOWgtNzA0cS0xNCAwIC0yMyA5dC05IDIzdjY0ek0xMTIwIDUxMnExNCAwIDIzIC05dDkgLTIzdi02NHEwIC0xNCAtOSAtMjN0LTIzIC05aC03MDRxLTE0IDAgLTIzIDl0LTkgMjN2NjRxMCAxNCA5IDIzdDIzIDloNzA0ek0xMTIwIDI1NnExNCAwIDIzIC05dDkgLTIzdi02NHEwIC0xNCAtOSAtMjN0LTIzIC05aC03MDQKcS0xNCAwIC0yMyA5dC05IDIzdjY0cTAgMTQgOSAyM3QyMyA5aDcwNHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYnVpbGRpbmciIHVuaWNvZGU9IiYjeGYwZjc7IiBob3Jpei1hZHYteD0iMTQwOCIgCmQ9Ik0zODQgMjI0di02NHEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTY0cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2NjRxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWg2NHExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6TTM4NCA0ODB2LTY0cTAgLTEzIC05LjUgLTIyLjV0LTIyLjUgLTkuNWgtNjRxLTEzIDAgLTIyLjUgOS41dC05LjUgMjIuNXY2NHEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDY0cTEzIDAgMjIuNSAtOS41dDkuNSAtMjIuNXoKTTY0MCA0ODB2LTY0cTAgLTEzIC05LjUgLTIyLjV0LTIyLjUgLTkuNWgtNjRxLTEzIDAgLTIyLjUgOS41dC05LjUgMjIuNXY2NHEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDY0cTEzIDAgMjIuNSAtOS41dDkuNSAtMjIuNXpNMzg0IDczNnYtNjRxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC02NHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djY0cTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoNjRxMTMgMCAyMi41IC05LjV0OS41IC0yMi41egpNMTE1MiAyMjR2LTY0cTAgLTEzIC05LjUgLTIyLjV0LTIyLjUgLTkuNWgtNjRxLTEzIDAgLTIyLjUgOS41dC05LjUgMjIuNXY2NHEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDY0cTEzIDAgMjIuNSAtOS41dDkuNSAtMjIuNXpNODk2IDQ4MHYtNjRxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC02NHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djY0cTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoNjRxMTMgMCAyMi41IC05LjV0OS41IC0yMi41egpNNjQwIDczNnYtNjRxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC02NHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djY0cTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoNjRxMTMgMCAyMi41IC05LjV0OS41IC0yMi41ek0zODQgOTkydi02NHEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTY0cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2NjRxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWg2NHExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6Ck0xMTUyIDQ4MHYtNjRxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC02NHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djY0cTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoNjRxMTMgMCAyMi41IC05LjV0OS41IC0yMi41ek04OTYgNzM2di02NHEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTY0cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2NjRxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWg2NHExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6Ck02NDAgOTkydi02NHEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTY0cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2NjRxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWg2NHExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6TTM4NCAxMjQ4di02NHEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTY0cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2NjRxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWg2NHExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6Ck0xMTUyIDczNnYtNjRxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC02NHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djY0cTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoNjRxMTMgMCAyMi41IC05LjV0OS41IC0yMi41ek04OTYgOTkydi02NHEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTY0cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2NjRxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWg2NHExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6Ck02NDAgMTI0OHYtNjRxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC02NHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djY0cTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoNjRxMTMgMCAyMi41IC05LjV0OS41IC0yMi41ek0xMTUyIDk5MnYtNjRxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC02NHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djY0cTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoNjRxMTMgMCAyMi41IC05LjV0OS41IC0yMi41egpNODk2IDEyNDh2LTY0cTAgLTEzIC05LjUgLTIyLjV0LTIyLjUgLTkuNWgtNjRxLTEzIDAgLTIyLjUgOS41dC05LjUgMjIuNXY2NHEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDY0cTEzIDAgMjIuNSAtOS41dDkuNSAtMjIuNXpNMTE1MiAxMjQ4di02NHEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTY0cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2NjRxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWg2NHExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6Ck04OTYgLTEyOGgzODR2MTUzNmgtMTE1MnYtMTUzNmgzODR2MjI0cTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoMzIwcTEzIDAgMjIuNSAtOS41dDkuNSAtMjIuNXYtMjI0ek0xNDA4IDE0NzJ2LTE2NjRxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0xMjgwcS0yNiAwIC00NSAxOXQtMTkgNDV2MTY2NHEwIDI2IDE5IDQ1dDQ1IDE5aDEyODBxMjYgMCA0NSAtMTl0MTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJob3NwaXRhbCIgdW5pY29kZT0iJiN4ZjBmODsiIGhvcml6LWFkdi14PSIxNDA4IiAKZD0iTTM4NCAyMjR2LTY0cTAgLTEzIC05LjUgLTIyLjV0LTIyLjUgLTkuNWgtNjRxLTEzIDAgLTIyLjUgOS41dC05LjUgMjIuNXY2NHEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDY0cTEzIDAgMjIuNSAtOS41dDkuNSAtMjIuNXpNMzg0IDQ4MHYtNjRxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC02NHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djY0cTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoNjRxMTMgMCAyMi41IC05LjV0OS41IC0yMi41egpNNjQwIDQ4MHYtNjRxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC02NHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djY0cTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoNjRxMTMgMCAyMi41IC05LjV0OS41IC0yMi41ek0zODQgNzM2di02NHEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTY0cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2NjRxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWg2NHExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6Ck0xMTUyIDIyNHYtNjRxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC02NHEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djY0cTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoNjRxMTMgMCAyMi41IC05LjV0OS41IC0yMi41ek04OTYgNDgwdi02NHEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTY0cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2NjRxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWg2NHExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6Ck02NDAgNzM2di02NHEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTY0cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2NjRxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWg2NHExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6TTExNTIgNDgwdi02NHEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTY0cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2NjRxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWg2NHExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6Ck04OTYgNzM2di02NHEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTY0cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2NjRxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWg2NHExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6TTExNTIgNzM2di02NHEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTY0cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2NjRxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWg2NHExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6Ck04OTYgLTEyOGgzODR2MTE1MmgtMjU2di0zMnEwIC00MCAtMjggLTY4dC02OCAtMjhoLTQ0OHEtNDAgMCAtNjggMjh0LTI4IDY4djMyaC0yNTZ2LTExNTJoMzg0djIyNHEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDMyMHExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV2LTIyNHpNODk2IDEwNTZ2MzIwcTAgMTMgLTkuNSAyMi41dC0yMi41IDkuNWgtNjRxLTEzIDAgLTIyLjUgLTkuNXQtOS41IC0yMi41di05NmgtMTI4djk2cTAgMTMgLTkuNSAyMi41CnQtMjIuNSA5LjVoLTY0cS0xMyAwIC0yMi41IC05LjV0LTkuNSAtMjIuNXYtMzIwcTAgLTEzIDkuNSAtMjIuNXQyMi41IC05LjVoNjRxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXY5NmgxMjh2LTk2cTAgLTEzIDkuNSAtMjIuNXQyMi41IC05LjVoNjRxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXpNMTQwOCAxMDg4di0xMjgwcTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtMTI4MHEtMjYgMCAtNDUgMTl0LTE5IDQ1djEyODBxMCAyNiAxOSA0NXQ0NSAxOWgzMjAKdjI4OHEwIDQwIDI4IDY4dDY4IDI4aDQ0OHE0MCAwIDY4IC0yOHQyOCAtNjh2LTI4OGgzMjBxMjYgMCA0NSAtMTl0MTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJhbWJ1bGFuY2UiIHVuaWNvZGU9IiYjeGYwZjk7IiBob3Jpei1hZHYteD0iMTkyMCIgCmQ9Ik02NDAgMTI4cTAgNTMgLTM3LjUgOTAuNXQtOTAuNSAzNy41dC05MC41IC0zNy41dC0zNy41IC05MC41dDM3LjUgLTkwLjV0OTAuNSAtMzcuNXQ5MC41IDM3LjV0MzcuNSA5MC41ek0yNTYgNjQwaDM4NHYyNTZoLTE1OHEtMTQgLTIgLTIyIC05bC0xOTUgLTE5NXEtNyAtMTIgLTkgLTIydi0zMHpNMTUzNiAxMjhxMCA1MyAtMzcuNSA5MC41dC05MC41IDM3LjV0LTkwLjUgLTM3LjV0LTM3LjUgLTkwLjV0MzcuNSAtOTAuNXQ5MC41IC0zNy41CnQ5MC41IDM3LjV0MzcuNSA5MC41ek0xNjY0IDgwMHYxOTJxMCAxNCAtOSAyM3QtMjMgOWgtMjI0djIyNHEwIDE0IC05IDIzdC0yMyA5aC0xOTJxLTE0IDAgLTIzIC05dC05IC0yM3YtMjI0aC0yMjRxLTE0IDAgLTIzIC05dC05IC0yM3YtMTkycTAgLTE0IDkgLTIzdDIzIC05aDIyNHYtMjI0cTAgLTE0IDkgLTIzdDIzIC05aDE5MnExNCAwIDIzIDl0OSAyM3YyMjRoMjI0cTE0IDAgMjMgOXQ5IDIzek0xOTIwIDEzNDR2LTExNTIKcTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtMTkycTAgLTEwNiAtNzUgLTE4MXQtMTgxIC03NXQtMTgxIDc1dC03NSAxODFoLTM4NHEwIC0xMDYgLTc1IC0xODF0LTE4MSAtNzV0LTE4MSA3NXQtNzUgMTgxaC0xMjhxLTI2IDAgLTQ1IDE5dC0xOSA0NXQxOSA0NXQ0NSAxOXY0MTZxMCAyNiAxMyA1OHQzMiA1MWwxOTggMTk4cTE5IDE5IDUxIDMydDU4IDEzaDE2MHYzMjBxMCAyNiAxOSA0NXQ0NSAxOWgxMTUycTI2IDAgNDUgLTE5dDE5IC00NXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ibWVka2l0IiB1bmljb2RlPSImI3hmMGZhOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTI4MCA0MTZ2MTkycTAgMTQgLTkgMjN0LTIzIDloLTIyNHYyMjRxMCAxNCAtOSAyM3QtMjMgOWgtMTkycS0xNCAwIC0yMyAtOXQtOSAtMjN2LTIyNGgtMjI0cS0xNCAwIC0yMyAtOXQtOSAtMjN2LTE5MnEwIC0xNCA5IC0yM3QyMyAtOWgyMjR2LTIyNHEwIC0xNCA5IC0yM3QyMyAtOWgxOTJxMTQgMCAyMyA5dDkgMjN2MjI0aDIyNHExNCAwIDIzIDl0OSAyM3pNNjQwIDExNTJoNTEydjEyOGgtNTEydi0xMjh6TTI1NiAxMTUydi0xMjgwaC0zMgpxLTkyIDAgLTE1OCA2NnQtNjYgMTU4djgzMnEwIDkyIDY2IDE1OHQxNTggNjZoMzJ6TTE0NDAgMTE1MnYtMTI4MGgtMTA4OHYxMjgwaDE2MHYxNjBxMCA0MCAyOCA2OHQ2OCAyOGg1NzZxNDAgMCA2OCAtMjh0MjggLTY4di0xNjBoMTYwek0xNzkyIDkyOHYtODMycTAgLTkyIC02NiAtMTU4dC0xNTggLTY2aC0zMnYxMjgwaDMycTkyIDAgMTU4IC02NnQ2NiAtMTU4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJmaWdodGVyX2pldCIgdW5pY29kZT0iJiN4ZjBmYjsiIGhvcml6LWFkdi14PSIxOTIwIiAKZD0iTTE5MjAgNTc2cS0xIC0zMiAtMjg4IC05NmwtMzUyIC0zMmwtMjI0IC02NGgtNjRsLTI5MyAtMzUyaDY5cTI2IDAgNDUgLTQuNXQxOSAtMTEuNXQtMTkgLTExLjV0LTQ1IC00LjVoLTk2aC0xNjBoLTY0djMyaDY0djQxNmgtMTYwbC0xOTIgLTIyNGgtOTZsLTMyIDMydjE5MmgzMnYzMmgxMjh2OGwtMTkyIDI0djEyOGwxOTIgMjR2OGgtMTI4djMyaC0zMnYxOTJsMzIgMzJoOTZsMTkyIC0yMjRoMTYwdjQxNmgtNjR2MzJoNjRoMTYwaDk2CnEyNiAwIDQ1IC00LjV0MTkgLTExLjV0LTE5IC0xMS41dC00NSAtNC41aC02OWwyOTMgLTM1Mmg2NGwyMjQgLTY0bDM1MiAtMzJxMTI4IC0yOCAyMDAgLTUydDgwIC0zNHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYmVlciIgdW5pY29kZT0iJiN4ZjBmYzsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTY0MCA2NDB2Mzg0aC0yNTZ2LTI1NnEwIC01MyAzNy41IC05MC41dDkwLjUgLTM3LjVoMTI4ek0xNjY0IDE5MnYtMTkyaC0xMTUydjE5MmwxMjggMTkyaC0xMjhxLTE1OSAwIC0yNzEuNSAxMTIuNXQtMTEyLjUgMjcxLjV2MzIwbC02NCA2NGwzMiAxMjhoNDgwbDMyIDEyOGg5NjBsMzIgLTE5MmwtNjQgLTMydi04MDB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Imhfc2lnbiIgdW5pY29kZT0iJiN4ZjBmZDsiIApkPSJNMTI4MCAxOTJ2ODk2cTAgMjYgLTE5IDQ1dC00NSAxOWgtMTI4cS0yNiAwIC00NSAtMTl0LTE5IC00NXYtMzIwaC01MTJ2MzIwcTAgMjYgLTE5IDQ1dC00NSAxOWgtMTI4cS0yNiAwIC00NSAtMTl0LTE5IC00NXYtODk2cTAgLTI2IDE5IC00NXQ0NSAtMTloMTI4cTI2IDAgNDUgMTl0MTkgNDV2MzIwaDUxMnYtMzIwcTAgLTI2IDE5IC00NXQ0NSAtMTloMTI4cTI2IDAgNDUgMTl0MTkgNDV6TTE1MzYgMTEyMHYtOTYwCnEwIC0xMTkgLTg0LjUgLTIwMy41dC0yMDMuNSAtODQuNWgtOTYwcS0xMTkgMCAtMjAzLjUgODQuNXQtODQuNSAyMDMuNXY5NjBxMCAxMTkgODQuNSAyMDMuNXQyMDMuNSA4NC41aDk2MHExMTkgMCAyMDMuNSAtODQuNXQ4NC41IC0yMDMuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZjBmZSIgdW5pY29kZT0iJiN4ZjBmZTsiIApkPSJNMTI4MCA1NzZ2MTI4cTAgMjYgLTE5IDQ1dC00NSAxOWgtMzIwdjMyMHEwIDI2IC0xOSA0NXQtNDUgMTloLTEyOHEtMjYgMCAtNDUgLTE5dC0xOSAtNDV2LTMyMGgtMzIwcS0yNiAwIC00NSAtMTl0LTE5IC00NXYtMTI4cTAgLTI2IDE5IC00NXQ0NSAtMTloMzIwdi0zMjBxMCAtMjYgMTkgLTQ1dDQ1IC0xOWgxMjhxMjYgMCA0NSAxOXQxOSA0NXYzMjBoMzIwcTI2IDAgNDUgMTl0MTkgNDV6TTE1MzYgMTEyMHYtOTYwCnEwIC0xMTkgLTg0LjUgLTIwMy41dC0yMDMuNSAtODQuNWgtOTYwcS0xMTkgMCAtMjAzLjUgODQuNXQtODQuNSAyMDMuNXY5NjBxMCAxMTkgODQuNSAyMDMuNXQyMDMuNSA4NC41aDk2MHExMTkgMCAyMDMuNSAtODQuNXQ4NC41IC0yMDMuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZG91YmxlX2FuZ2xlX2xlZnQiIHVuaWNvZGU9IiYjeGYxMDA7IiBob3Jpei1hZHYteD0iMTAyNCIgCmQ9Ik02MjcgMTYwcTAgLTEzIC0xMCAtMjNsLTUwIC01MHEtMTAgLTEwIC0yMyAtMTB0LTIzIDEwbC00NjYgNDY2cS0xMCAxMCAtMTAgMjN0MTAgMjNsNDY2IDQ2NnExMCAxMCAyMyAxMHQyMyAtMTBsNTAgLTUwcTEwIC0xMCAxMCAtMjN0LTEwIC0yM2wtMzkzIC0zOTNsMzkzIC0zOTNxMTAgLTEwIDEwIC0yM3pNMTAxMSAxNjBxMCAtMTMgLTEwIC0yM2wtNTAgLTUwcS0xMCAtMTAgLTIzIC0xMHQtMjMgMTBsLTQ2NiA0NjZxLTEwIDEwIC0xMCAyMwp0MTAgMjNsNDY2IDQ2NnExMCAxMCAyMyAxMHQyMyAtMTBsNTAgLTUwcTEwIC0xMCAxMCAtMjN0LTEwIC0yM2wtMzkzIC0zOTNsMzkzIC0zOTNxMTAgLTEwIDEwIC0yM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZG91YmxlX2FuZ2xlX3JpZ2h0IiB1bmljb2RlPSImI3hmMTAxOyIgaG9yaXotYWR2LXg9IjEwMjQiIApkPSJNNTk1IDU3NnEwIC0xMyAtMTAgLTIzbC00NjYgLTQ2NnEtMTAgLTEwIC0yMyAtMTB0LTIzIDEwbC01MCA1MHEtMTAgMTAgLTEwIDIzdDEwIDIzbDM5MyAzOTNsLTM5MyAzOTNxLTEwIDEwIC0xMCAyM3QxMCAyM2w1MCA1MHExMCAxMCAyMyAxMHQyMyAtMTBsNDY2IC00NjZxMTAgLTEwIDEwIC0yM3pNOTc5IDU3NnEwIC0xMyAtMTAgLTIzbC00NjYgLTQ2NnEtMTAgLTEwIC0yMyAtMTB0LTIzIDEwbC01MCA1MHEtMTAgMTAgLTEwIDIzdDEwIDIzCmwzOTMgMzkzbC0zOTMgMzkzcS0xMCAxMCAtMTAgMjN0MTAgMjNsNTAgNTBxMTAgMTAgMjMgMTB0MjMgLTEwbDQ2NiAtNDY2cTEwIC0xMCAxMCAtMjN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImRvdWJsZV9hbmdsZV91cCIgdW5pY29kZT0iJiN4ZjEwMjsiIGhvcml6LWFkdi14PSIxMTUyIiAKZD0iTTEwNzUgMjI0cTAgLTEzIC0xMCAtMjNsLTUwIC01MHEtMTAgLTEwIC0yMyAtMTB0LTIzIDEwbC0zOTMgMzkzbC0zOTMgLTM5M3EtMTAgLTEwIC0yMyAtMTB0LTIzIDEwbC01MCA1MHEtMTAgMTAgLTEwIDIzdDEwIDIzbDQ2NiA0NjZxMTAgMTAgMjMgMTB0MjMgLTEwbDQ2NiAtNDY2cTEwIC0xMCAxMCAtMjN6TTEwNzUgNjA4cTAgLTEzIC0xMCAtMjNsLTUwIC01MHEtMTAgLTEwIC0yMyAtMTB0LTIzIDEwbC0zOTMgMzkzbC0zOTMgLTM5MwpxLTEwIC0xMCAtMjMgLTEwdC0yMyAxMGwtNTAgNTBxLTEwIDEwIC0xMCAyM3QxMCAyM2w0NjYgNDY2cTEwIDEwIDIzIDEwdDIzIC0xMGw0NjYgLTQ2NnExMCAtMTAgMTAgLTIzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJkb3VibGVfYW5nbGVfZG93biIgdW5pY29kZT0iJiN4ZjEwMzsiIGhvcml6LWFkdi14PSIxMTUyIiAKZD0iTTEwNzUgNjcycTAgLTEzIC0xMCAtMjNsLTQ2NiAtNDY2cS0xMCAtMTAgLTIzIC0xMHQtMjMgMTBsLTQ2NiA0NjZxLTEwIDEwIC0xMCAyM3QxMCAyM2w1MCA1MHExMCAxMCAyMyAxMHQyMyAtMTBsMzkzIC0zOTNsMzkzIDM5M3ExMCAxMCAyMyAxMHQyMyAtMTBsNTAgLTUwcTEwIC0xMCAxMCAtMjN6TTEwNzUgMTA1NnEwIC0xMyAtMTAgLTIzbC00NjYgLTQ2NnEtMTAgLTEwIC0yMyAtMTB0LTIzIDEwbC00NjYgNDY2cS0xMCAxMCAtMTAgMjMKdDEwIDIzbDUwIDUwcTEwIDEwIDIzIDEwdDIzIC0xMGwzOTMgLTM5M2wzOTMgMzkzcTEwIDEwIDIzIDEwdDIzIC0xMGw1MCAtNTBxMTAgLTEwIDEwIC0yM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYW5nbGVfbGVmdCIgdW5pY29kZT0iJiN4ZjEwNDsiIGhvcml6LWFkdi14PSI2NDAiIApkPSJNNjI3IDk5MnEwIC0xMyAtMTAgLTIzbC0zOTMgLTM5M2wzOTMgLTM5M3ExMCAtMTAgMTAgLTIzdC0xMCAtMjNsLTUwIC01MHEtMTAgLTEwIC0yMyAtMTB0LTIzIDEwbC00NjYgNDY2cS0xMCAxMCAtMTAgMjN0MTAgMjNsNDY2IDQ2NnExMCAxMCAyMyAxMHQyMyAtMTBsNTAgLTUwcTEwIC0xMCAxMCAtMjN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImFuZ2xlX3JpZ2h0IiB1bmljb2RlPSImI3hmMTA1OyIgaG9yaXotYWR2LXg9IjY0MCIgCmQ9Ik01OTUgNTc2cTAgLTEzIC0xMCAtMjNsLTQ2NiAtNDY2cS0xMCAtMTAgLTIzIC0xMHQtMjMgMTBsLTUwIDUwcS0xMCAxMCAtMTAgMjN0MTAgMjNsMzkzIDM5M2wtMzkzIDM5M3EtMTAgMTAgLTEwIDIzdDEwIDIzbDUwIDUwcTEwIDEwIDIzIDEwdDIzIC0xMGw0NjYgLTQ2NnExMCAtMTAgMTAgLTIzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJhbmdsZV91cCIgdW5pY29kZT0iJiN4ZjEwNjsiIGhvcml6LWFkdi14PSIxMTUyIiAKZD0iTTEwNzUgMzUycTAgLTEzIC0xMCAtMjNsLTUwIC01MHEtMTAgLTEwIC0yMyAtMTB0LTIzIDEwbC0zOTMgMzkzbC0zOTMgLTM5M3EtMTAgLTEwIC0yMyAtMTB0LTIzIDEwbC01MCA1MHEtMTAgMTAgLTEwIDIzdDEwIDIzbDQ2NiA0NjZxMTAgMTAgMjMgMTB0MjMgLTEwbDQ2NiAtNDY2cTEwIC0xMCAxMCAtMjN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImFuZ2xlX2Rvd24iIHVuaWNvZGU9IiYjeGYxMDc7IiBob3Jpei1hZHYteD0iMTE1MiIgCmQ9Ik0xMDc1IDgwMHEwIC0xMyAtMTAgLTIzbC00NjYgLTQ2NnEtMTAgLTEwIC0yMyAtMTB0LTIzIDEwbC00NjYgNDY2cS0xMCAxMCAtMTAgMjN0MTAgMjNsNTAgNTBxMTAgMTAgMjMgMTB0MjMgLTEwbDM5MyAtMzkzbDM5MyAzOTNxMTAgMTAgMjMgMTB0MjMgLTEwbDUwIC01MHExMCAtMTAgMTAgLTIzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJkZXNrdG9wIiB1bmljb2RlPSImI3hmMTA4OyIgaG9yaXotYWR2LXg9IjE5MjAiIApkPSJNMTc5MiA1NDR2ODMycTAgMTMgLTkuNSAyMi41dC0yMi41IDkuNWgtMTYwMHEtMTMgMCAtMjIuNSAtOS41dC05LjUgLTIyLjV2LTgzMnEwIC0xMyA5LjUgLTIyLjV0MjIuNSAtOS41aDE2MDBxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXpNMTkyMCAxMzc2di0xMDg4cTAgLTY2IC00NyAtMTEzdC0xMTMgLTQ3aC01NDRxMCAtMzcgMTYgLTc3LjV0MzIgLTcxdDE2IC00My41cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtNTEycS0yNiAwIC00NSAxOQp0LTE5IDQ1cTAgMTQgMTYgNDR0MzIgNzB0MTYgNzhoLTU0NHEtNjYgMCAtMTEzIDQ3dC00NyAxMTN2MTA4OHEwIDY2IDQ3IDExM3QxMTMgNDdoMTYwMHE2NiAwIDExMyAtNDd0NDcgLTExM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ibGFwdG9wIiB1bmljb2RlPSImI3hmMTA5OyIgaG9yaXotYWR2LXg9IjE5MjAiIApkPSJNNDE2IDI1NnEtNjYgMCAtMTEzIDQ3dC00NyAxMTN2NzA0cTAgNjYgNDcgMTEzdDExMyA0N2gxMDg4cTY2IDAgMTEzIC00N3Q0NyAtMTEzdi03MDRxMCAtNjYgLTQ3IC0xMTN0LTExMyAtNDdoLTEwODh6TTM4NCAxMTIwdi03MDRxMCAtMTMgOS41IC0yMi41dDIyLjUgLTkuNWgxMDg4cTEzIDAgMjIuNSA5LjV0OS41IDIyLjV2NzA0cTAgMTMgLTkuNSAyMi41dC0yMi41IDkuNWgtMTA4OHEtMTMgMCAtMjIuNSAtOS41dC05LjUgLTIyLjV6Ck0xNzYwIDE5MmgxNjB2LTk2cTAgLTQwIC00NyAtNjh0LTExMyAtMjhoLTE2MDBxLTY2IDAgLTExMyAyOHQtNDcgNjh2OTZoMTYwaDE2MDB6TTEwNDAgOTZxMTYgMCAxNiAxNnQtMTYgMTZoLTE2MHEtMTYgMCAtMTYgLTE2dDE2IC0xNmgxNjB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InRhYmxldCIgdW5pY29kZT0iJiN4ZjEwYTsiIGhvcml6LWFkdi14PSIxMTUyIiAKZD0iTTY0MCAxMjhxMCAyNiAtMTkgNDV0LTQ1IDE5dC00NSAtMTl0LTE5IC00NXQxOSAtNDV0NDUgLTE5dDQ1IDE5dDE5IDQ1ek0xMDI0IDI4OHY5NjBxMCAxMyAtOS41IDIyLjV0LTIyLjUgOS41aC04MzJxLTEzIDAgLTIyLjUgLTkuNXQtOS41IC0yMi41di05NjBxMCAtMTMgOS41IC0yMi41dDIyLjUgLTkuNWg4MzJxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXpNMTE1MiAxMjQ4di0xMDg4cTAgLTY2IC00NyAtMTEzdC0xMTMgLTQ3aC04MzIKcS02NiAwIC0xMTMgNDd0LTQ3IDExM3YxMDg4cTAgNjYgNDcgMTEzdDExMyA0N2g4MzJxNjYgMCAxMTMgLTQ3dDQ3IC0xMTN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Im1vYmlsZV9waG9uZSIgdW5pY29kZT0iJiN4ZjEwYjsiIGhvcml6LWFkdi14PSI3NjgiIApkPSJNNDY0IDEyOHEwIDMzIC0yMy41IDU2LjV0LTU2LjUgMjMuNXQtNTYuNSAtMjMuNXQtMjMuNSAtNTYuNXQyMy41IC01Ni41dDU2LjUgLTIzLjV0NTYuNSAyMy41dDIzLjUgNTYuNXpNNjcyIDI4OHY3MDRxMCAxMyAtOS41IDIyLjV0LTIyLjUgOS41aC01MTJxLTEzIDAgLTIyLjUgLTkuNXQtOS41IC0yMi41di03MDRxMCAtMTMgOS41IC0yMi41dDIyLjUgLTkuNWg1MTJxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXpNNDgwIDExMzYKcTAgMTYgLTE2IDE2aC0xNjBxLTE2IDAgLTE2IC0xNnQxNiAtMTZoMTYwcTE2IDAgMTYgMTZ6TTc2OCAxMTUydi0xMDI0cTAgLTUyIC0zOCAtOTB0LTkwIC0zOGgtNTEycS01MiAwIC05MCAzOHQtMzggOTB2MTAyNHEwIDUyIDM4IDkwdDkwIDM4aDUxMnE1MiAwIDkwIC0zOHQzOCAtOTB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImNpcmNsZV9ibGFuayIgdW5pY29kZT0iJiN4ZjEwYzsiIApkPSJNNzY4IDExODRxLTE0OCAwIC0yNzMgLTczdC0xOTggLTE5OHQtNzMgLTI3M3Q3MyAtMjczdDE5OCAtMTk4dDI3MyAtNzN0MjczIDczdDE5OCAxOTh0NzMgMjczdC03MyAyNzN0LTE5OCAxOTh0LTI3MyA3M3pNMTUzNiA2NDBxMCAtMjA5IC0xMDMgLTM4NS41dC0yNzkuNSAtMjc5LjV0LTM4NS41IC0xMDN0LTM4NS41IDEwM3QtMjc5LjUgMjc5LjV0LTEwMyAzODUuNXQxMDMgMzg1LjV0Mjc5LjUgMjc5LjV0Mzg1LjUgMTAzdDM4NS41IC0xMDMKdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJxdW90ZV9sZWZ0IiB1bmljb2RlPSImI3hmMTBkOyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNNzY4IDU3NnYtMzg0cTAgLTgwIC01NiAtMTM2dC0xMzYgLTU2aC0zODRxLTgwIDAgLTEzNiA1NnQtNTYgMTM2djcwNHEwIDEwNCA0MC41IDE5OC41dDEwOS41IDE2My41dDE2My41IDEwOS41dDE5OC41IDQwLjVoNjRxMjYgMCA0NSAtMTl0MTkgLTQ1di0xMjhxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC02NHEtMTA2IDAgLTE4MSAtNzV0LTc1IC0xODF2LTMycTAgLTQwIDI4IC02OHQ2OCAtMjhoMjI0cTgwIDAgMTM2IC01NnQ1NiAtMTM2egpNMTY2NCA1NzZ2LTM4NHEwIC04MCAtNTYgLTEzNnQtMTM2IC01NmgtMzg0cS04MCAwIC0xMzYgNTZ0LTU2IDEzNnY3MDRxMCAxMDQgNDAuNSAxOTguNXQxMDkuNSAxNjMuNXQxNjMuNSAxMDkuNXQxOTguNSA0MC41aDY0cTI2IDAgNDUgLTE5dDE5IC00NXYtMTI4cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtNjRxLTEwNiAwIC0xODEgLTc1dC03NSAtMTgxdi0zMnEwIC00MCAyOCAtNjh0NjggLTI4aDIyNHE4MCAwIDEzNiAtNTZ0NTYgLTEzNnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icXVvdGVfcmlnaHQiIHVuaWNvZGU9IiYjeGYxMGU7IiBob3Jpei1hZHYteD0iMTY2NCIgCmQ9Ik03NjggMTIxNnYtNzA0cTAgLTEwNCAtNDAuNSAtMTk4LjV0LTEwOS41IC0xNjMuNXQtMTYzLjUgLTEwOS41dC0xOTguNSAtNDAuNWgtNjRxLTI2IDAgLTQ1IDE5dC0xOSA0NXYxMjhxMCAyNiAxOSA0NXQ0NSAxOWg2NHExMDYgMCAxODEgNzV0NzUgMTgxdjMycTAgNDAgLTI4IDY4dC02OCAyOGgtMjI0cS04MCAwIC0xMzYgNTZ0LTU2IDEzNnYzODRxMCA4MCA1NiAxMzZ0MTM2IDU2aDM4NHE4MCAwIDEzNiAtNTZ0NTYgLTEzNnpNMTY2NCAxMjE2CnYtNzA0cTAgLTEwNCAtNDAuNSAtMTk4LjV0LTEwOS41IC0xNjMuNXQtMTYzLjUgLTEwOS41dC0xOTguNSAtNDAuNWgtNjRxLTI2IDAgLTQ1IDE5dC0xOSA0NXYxMjhxMCAyNiAxOSA0NXQ0NSAxOWg2NHExMDYgMCAxODEgNzV0NzUgMTgxdjMycTAgNDAgLTI4IDY4dC02OCAyOGgtMjI0cS04MCAwIC0xMzYgNTZ0LTU2IDEzNnYzODRxMCA4MCA1NiAxMzZ0MTM2IDU2aDM4NHE4MCAwIDEzNiAtNTZ0NTYgLTEzNnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ic3Bpbm5lciIgdW5pY29kZT0iJiN4ZjExMDsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTUyNiAxNDJxMCAtNTMgLTM3LjUgLTkwLjV0LTkwLjUgLTM3LjVxLTUyIDAgLTkwIDM4dC0zOCA5MHEwIDUzIDM3LjUgOTAuNXQ5MC41IDM3LjV0OTAuNSAtMzcuNXQzNy41IC05MC41ek0xMDI0IC02NHEwIC01MyAtMzcuNSAtOTAuNXQtOTAuNSAtMzcuNXQtOTAuNSAzNy41dC0zNy41IDkwLjV0MzcuNSA5MC41dDkwLjUgMzcuNXQ5MC41IC0zNy41dDM3LjUgLTkwLjV6TTMyMCA2NDBxMCAtNTMgLTM3LjUgLTkwLjV0LTkwLjUgLTM3LjUKdC05MC41IDM3LjV0LTM3LjUgOTAuNXQzNy41IDkwLjV0OTAuNSAzNy41dDkwLjUgLTM3LjV0MzcuNSAtOTAuNXpNMTUyMiAxNDJxMCAtNTIgLTM4IC05MHQtOTAgLTM4cS01MyAwIC05MC41IDM3LjV0LTM3LjUgOTAuNXQzNy41IDkwLjV0OTAuNSAzNy41dDkwLjUgLTM3LjV0MzcuNSAtOTAuNXpNNTU4IDExMzhxMCAtNjYgLTQ3IC0xMTN0LTExMyAtNDd0LTExMyA0N3QtNDcgMTEzdDQ3IDExM3QxMTMgNDd0MTEzIC00N3Q0NyAtMTEzegpNMTcyOCA2NDBxMCAtNTMgLTM3LjUgLTkwLjV0LTkwLjUgLTM3LjV0LTkwLjUgMzcuNXQtMzcuNSA5MC41dDM3LjUgOTAuNXQ5MC41IDM3LjV0OTAuNSAtMzcuNXQzNy41IC05MC41ek0xMDg4IDEzNDRxMCAtODAgLTU2IC0xMzZ0LTEzNiAtNTZ0LTEzNiA1NnQtNTYgMTM2dDU2IDEzNnQxMzYgNTZ0MTM2IC01NnQ1NiAtMTM2ek0xNjE4IDExMzhxMCAtOTMgLTY2IC0xNTguNXQtMTU4IC02NS41cS05MyAwIC0xNTguNSA2NS41dC02NS41IDE1OC41CnEwIDkyIDY1LjUgMTU4dDE1OC41IDY2cTkyIDAgMTU4IC02NnQ2NiAtMTU4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjaXJjbGUiIHVuaWNvZGU9IiYjeGYxMTE7IiAKZD0iTTE1MzYgNjQwcTAgLTIwOSAtMTAzIC0zODUuNXQtMjc5LjUgLTI3OS41dC0zODUuNSAtMTAzdC0zODUuNSAxMDN0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3QzODUuNSAtMTAzdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJyZXBseSIgdW5pY29kZT0iJiN4ZjExMjsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE3OTIgNDE2cTAgLTE2NiAtMTI3IC00NTFxLTMgLTcgLTEwLjUgLTI0dC0xMy41IC0zMHQtMTMgLTIycS0xMiAtMTcgLTI4IC0xN3EtMTUgMCAtMjMuNSAxMHQtOC41IDI1cTAgOSAyLjUgMjYuNXQyLjUgMjMuNXE1IDY4IDUgMTIzcTAgMTAxIC0xNy41IDE4MXQtNDguNSAxMzguNXQtODAgMTAxdC0xMDUuNSA2OS41dC0xMzMgNDIuNXQtMTU0IDIxLjV0LTE3NS41IDZoLTIyNHYtMjU2cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOXQtNDUgMTkKbC01MTIgNTEycS0xOSAxOSAtMTkgNDV0MTkgNDVsNTEyIDUxMnExOSAxOSA0NSAxOXQ0NSAtMTl0MTkgLTQ1di0yNTZoMjI0cTcxMyAwIDg3NSAtNDAzcTUzIC0xMzQgNTMgLTMzM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZ2l0aHViX2FsdCIgdW5pY29kZT0iJiN4ZjExMzsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTY0MCAzMjBxMCAtNDAgLTEyLjUgLTgydC00MyAtNzZ0LTcyLjUgLTM0dC03Mi41IDM0dC00MyA3NnQtMTIuNSA4MnQxMi41IDgydDQzIDc2dDcyLjUgMzR0NzIuNSAtMzR0NDMgLTc2dDEyLjUgLTgyek0xMjgwIDMyMHEwIC00MCAtMTIuNSAtODJ0LTQzIC03NnQtNzIuNSAtMzR0LTcyLjUgMzR0LTQzIDc2dC0xMi41IDgydDEyLjUgODJ0NDMgNzZ0NzIuNSAzNHQ3Mi41IC0zNHQ0MyAtNzZ0MTIuNSAtODJ6TTE0NDAgMzIwCnEwIDEyMCAtNjkgMjA0dC0xODcgODRxLTQxIDAgLTE5NSAtMjFxLTcxIC0xMSAtMTU3IC0xMXQtMTU3IDExcS0xNTIgMjEgLTE5NSAyMXEtMTE4IDAgLTE4NyAtODR0LTY5IC0yMDRxMCAtODggMzIgLTE1My41dDgxIC0xMDN0MTIyIC02MHQxNDAgLTI5LjV0MTQ5IC03aDE2OHE4MiAwIDE0OSA3dDE0MCAyOS41dDEyMiA2MHQ4MSAxMDN0MzIgMTUzLjV6TTE2NjQgNDk2cTAgLTIwNyAtNjEgLTMzMXEtMzggLTc3IC0xMDUuNSAtMTMzdC0xNDEgLTg2CnQtMTcwIC00Ny41dC0xNzEuNSAtMjJ0LTE2NyAtNC41cS03OCAwIC0xNDIgM3QtMTQ3LjUgMTIuNXQtMTUyLjUgMzB0LTEzNyA1MS41dC0xMjEgODF0LTg2IDExNXEtNjIgMTIzIC02MiAzMzFxMCAyMzcgMTM2IDM5NnEtMjcgODIgLTI3IDE3MHEwIDExNiA1MSAyMThxMTA4IDAgMTkwIC0zOS41dDE4OSAtMTIzLjVxMTQ3IDM1IDMwOSAzNXExNDggMCAyODAgLTMycTEwNSA4MiAxODcgMTIxdDE4OSAzOXE1MSAtMTAyIDUxIC0yMTgKcTAgLTg3IC0yNyAtMTY4cTEzNiAtMTYwIDEzNiAtMzk4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJmb2xkZXJfY2xvc2VfYWx0IiB1bmljb2RlPSImI3hmMTE0OyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNMTUzNiAyMjR2NzA0cTAgNDAgLTI4IDY4dC02OCAyOGgtNzA0cS00MCAwIC02OCAyOHQtMjggNjh2NjRxMCA0MCAtMjggNjh0LTY4IDI4aC0zMjBxLTQwIDAgLTY4IC0yOHQtMjggLTY4di05NjBxMCAtNDAgMjggLTY4dDY4IC0yOGgxMjE2cTQwIDAgNjggMjh0MjggNjh6TTE2NjQgOTI4di03MDRxMCAtOTIgLTY2IC0xNTh0LTE1OCAtNjZoLTEyMTZxLTkyIDAgLTE1OCA2NnQtNjYgMTU4djk2MHEwIDkyIDY2IDE1OHQxNTggNjZoMzIwCnE5MiAwIDE1OCAtNjZ0NjYgLTE1OHYtMzJoNjcycTkyIDAgMTU4IC02NnQ2NiAtMTU4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJmb2xkZXJfb3Blbl9hbHQiIHVuaWNvZGU9IiYjeGYxMTU7IiBob3Jpei1hZHYteD0iMTkyMCIgCmQ9Ik0xNzgxIDYwNXEwIDM1IC01MyAzNWgtMTA4OHEtNDAgMCAtODUuNSAtMjEuNXQtNzEuNSAtNTIuNWwtMjk0IC0zNjNxLTE4IC0yNCAtMTggLTQwcTAgLTM1IDUzIC0zNWgxMDg4cTQwIDAgODYgMjJ0NzEgNTNsMjk0IDM2M3ExOCAyMiAxOCAzOXpNNjQwIDc2OGg3Njh2MTYwcTAgNDAgLTI4IDY4dC02OCAyOGgtNTc2cS00MCAwIC02OCAyOHQtMjggNjh2NjRxMCA0MCAtMjggNjh0LTY4IDI4aC0zMjBxLTQwIDAgLTY4IC0yOHQtMjggLTY4CnYtODUzbDI1NiAzMTVxNDQgNTMgMTE2IDg3LjV0MTQwIDM0LjV6TTE5MDkgNjA1cTAgLTYyIC00NiAtMTIwbC0yOTUgLTM2M3EtNDMgLTUzIC0xMTYgLTg3LjV0LTE0MCAtMzQuNWgtMTA4OHEtOTIgMCAtMTU4IDY2dC02NiAxNTh2OTYwcTAgOTIgNjYgMTU4dDE1OCA2NmgzMjBxOTIgMCAxNTggLTY2dDY2IC0xNTh2LTMyaDU0NHE5MiAwIDE1OCAtNjZ0NjYgLTE1OHYtMTYwaDE5MnE1NCAwIDk5IC0yNC41dDY3IC03MC41cTE1IC0zMiAxNSAtNjh6CiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJleHBhbmRfYWx0IiB1bmljb2RlPSImI3hmMTE2OyIgaG9yaXotYWR2LXg9IjE3OTIiIAogLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjb2xsYXBzZV9hbHQiIHVuaWNvZGU9IiYjeGYxMTc7IiBob3Jpei1hZHYteD0iMTc5MiIgCiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InNtaWxlIiB1bmljb2RlPSImI3hmMTE4OyIgCmQ9Ik0xMTM0IDQ2MXEtMzcgLTEyMSAtMTM4IC0xOTV0LTIyOCAtNzR0LTIyOCA3NHQtMTM4IDE5NXEtOCAyNSA0IDQ4LjV0MzggMzEuNXEyNSA4IDQ4LjUgLTR0MzEuNSAtMzhxMjUgLTgwIDkyLjUgLTEyOS41dDE1MS41IC00OS41dDE1MS41IDQ5LjV0OTIuNSAxMjkuNXE4IDI2IDMyIDM4dDQ5IDR0MzcgLTMxLjV0NCAtNDguNXpNNjQwIDg5NnEwIC01MyAtMzcuNSAtOTAuNXQtOTAuNSAtMzcuNXQtOTAuNSAzNy41dC0zNy41IDkwLjUKdDM3LjUgOTAuNXQ5MC41IDM3LjV0OTAuNSAtMzcuNXQzNy41IC05MC41ek0xMTUyIDg5NnEwIC01MyAtMzcuNSAtOTAuNXQtOTAuNSAtMzcuNXQtOTAuNSAzNy41dC0zNy41IDkwLjV0MzcuNSA5MC41dDkwLjUgMzcuNXQ5MC41IC0zNy41dDM3LjUgLTkwLjV6TTE0MDggNjQwcTAgMTMwIC01MSAyNDguNXQtMTM2LjUgMjA0dC0yMDQgMTM2LjV0LTI0OC41IDUxdC0yNDguNSAtNTF0LTIwNCAtMTM2LjV0LTEzNi41IC0yMDR0LTUxIC0yNDguNQp0NTEgLTI0OC41dDEzNi41IC0yMDR0MjA0IC0xMzYuNXQyNDguNSAtNTF0MjQ4LjUgNTF0MjA0IDEzNi41dDEzNi41IDIwNHQ1MSAyNDguNXpNMTUzNiA2NDBxMCAtMjA5IC0xMDMgLTM4NS41dC0yNzkuNSAtMjc5LjV0LTM4NS41IC0xMDN0LTM4NS41IDEwM3QtMjc5LjUgMjc5LjV0LTEwMyAzODUuNXQxMDMgMzg1LjV0Mjc5LjUgMjc5LjV0Mzg1LjUgMTAzdDM4NS41IC0xMDN0Mjc5LjUgLTI3OS41dDEwMyAtMzg1LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImZyb3duIiB1bmljb2RlPSImI3hmMTE5OyIgCmQ9Ik0xMTM0IDMwN3E4IC0yNSAtNCAtNDguNXQtMzcgLTMxLjV0LTQ5IDR0LTMyIDM4cS0yNSA4MCAtOTIuNSAxMjkuNXQtMTUxLjUgNDkuNXQtMTUxLjUgLTQ5LjV0LTkyLjUgLTEyOS41cS04IC0yNiAtMzEuNSAtMzh0LTQ4LjUgLTRxLTI2IDggLTM4IDMxLjV0LTQgNDguNXEzNyAxMjEgMTM4IDE5NXQyMjggNzR0MjI4IC03NHQxMzggLTE5NXpNNjQwIDg5NnEwIC01MyAtMzcuNSAtOTAuNXQtOTAuNSAtMzcuNXQtOTAuNSAzNy41CnQtMzcuNSA5MC41dDM3LjUgOTAuNXQ5MC41IDM3LjV0OTAuNSAtMzcuNXQzNy41IC05MC41ek0xMTUyIDg5NnEwIC01MyAtMzcuNSAtOTAuNXQtOTAuNSAtMzcuNXQtOTAuNSAzNy41dC0zNy41IDkwLjV0MzcuNSA5MC41dDkwLjUgMzcuNXQ5MC41IC0zNy41dDM3LjUgLTkwLjV6TTE0MDggNjQwcTAgMTMwIC01MSAyNDguNXQtMTM2LjUgMjA0dC0yMDQgMTM2LjV0LTI0OC41IDUxdC0yNDguNSAtNTF0LTIwNCAtMTM2LjV0LTEzNi41IC0yMDQKdC01MSAtMjQ4LjV0NTEgLTI0OC41dDEzNi41IC0yMDR0MjA0IC0xMzYuNXQyNDguNSAtNTF0MjQ4LjUgNTF0MjA0IDEzNi41dDEzNi41IDIwNHQ1MSAyNDguNXpNMTUzNiA2NDBxMCAtMjA5IC0xMDMgLTM4NS41dC0yNzkuNSAtMjc5LjV0LTM4NS41IC0xMDN0LTM4NS41IDEwM3QtMjc5LjUgMjc5LjV0LTEwMyAzODUuNXQxMDMgMzg1LjV0Mjc5LjUgMjc5LjV0Mzg1LjUgMTAzdDM4NS41IC0xMDN0Mjc5LjUgLTI3OS41dDEwMyAtMzg1LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Im1laCIgdW5pY29kZT0iJiN4ZjExYTsiIApkPSJNMTE1MiA0NDhxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC02NDBxLTI2IDAgLTQ1IDE5dC0xOSA0NXQxOSA0NXQ0NSAxOWg2NDBxMjYgMCA0NSAtMTl0MTkgLTQ1ek02NDAgODk2cTAgLTUzIC0zNy41IC05MC41dC05MC41IC0zNy41dC05MC41IDM3LjV0LTM3LjUgOTAuNXQzNy41IDkwLjV0OTAuNSAzNy41dDkwLjUgLTM3LjV0MzcuNSAtOTAuNXpNMTE1MiA4OTZxMCAtNTMgLTM3LjUgLTkwLjV0LTkwLjUgLTM3LjV0LTkwLjUgMzcuNQp0LTM3LjUgOTAuNXQzNy41IDkwLjV0OTAuNSAzNy41dDkwLjUgLTM3LjV0MzcuNSAtOTAuNXpNMTQwOCA2NDBxMCAxMzAgLTUxIDI0OC41dC0xMzYuNSAyMDR0LTIwNCAxMzYuNXQtMjQ4LjUgNTF0LTI0OC41IC01MXQtMjA0IC0xMzYuNXQtMTM2LjUgLTIwNHQtNTEgLTI0OC41dDUxIC0yNDguNXQxMzYuNSAtMjA0dDIwNCAtMTM2LjV0MjQ4LjUgLTUxdDI0OC41IDUxdDIwNCAxMzYuNXQxMzYuNSAyMDR0NTEgMjQ4LjV6TTE1MzYgNjQwCnEwIC0yMDkgLTEwMyAtMzg1LjV0LTI3OS41IC0yNzkuNXQtMzg1LjUgLTEwM3QtMzg1LjUgMTAzdC0yNzkuNSAyNzkuNXQtMTAzIDM4NS41dDEwMyAzODUuNXQyNzkuNSAyNzkuNXQzODUuNSAxMDN0Mzg1LjUgLTEwM3QyNzkuNSAtMjc5LjV0MTAzIC0zODUuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZ2FtZXBhZCIgdW5pY29kZT0iJiN4ZjExYjsiIGhvcml6LWFkdi14PSIxOTIwIiAKZD0iTTgzMiA0NDh2MTI4cTAgMTQgLTkgMjN0LTIzIDloLTE5MnYxOTJxMCAxNCAtOSAyM3QtMjMgOWgtMTI4cS0xNCAwIC0yMyAtOXQtOSAtMjN2LTE5MmgtMTkycS0xNCAwIC0yMyAtOXQtOSAtMjN2LTEyOHEwIC0xNCA5IC0yM3QyMyAtOWgxOTJ2LTE5MnEwIC0xNCA5IC0yM3QyMyAtOWgxMjhxMTQgMCAyMyA5dDkgMjN2MTkyaDE5MnExNCAwIDIzIDl0OSAyM3pNMTQwOCAzODRxMCA1MyAtMzcuNSA5MC41dC05MC41IDM3LjV0LTkwLjUgLTM3LjUKdC0zNy41IC05MC41dDM3LjUgLTkwLjV0OTAuNSAtMzcuNXQ5MC41IDM3LjV0MzcuNSA5MC41ek0xNjY0IDY0MHEwIDUzIC0zNy41IDkwLjV0LTkwLjUgMzcuNXQtOTAuNSAtMzcuNXQtMzcuNSAtOTAuNXQzNy41IC05MC41dDkwLjUgLTM3LjV0OTAuNSAzNy41dDM3LjUgOTAuNXpNMTkyMCA1MTJxMCAtMjEyIC0xNTAgLTM2MnQtMzYyIC0xNTBxLTE5MiAwIC0zMzggMTI4aC0yMjBxLTE0NiAtMTI4IC0zMzggLTEyOHEtMjEyIDAgLTM2MiAxNTAKdC0xNTAgMzYydDE1MCAzNjJ0MzYyIDE1MGg4OTZxMjEyIDAgMzYyIC0xNTB0MTUwIC0zNjJ6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImtleWJvYXJkIiB1bmljb2RlPSImI3hmMTFjOyIgaG9yaXotYWR2LXg9IjE5MjAiIApkPSJNMzg0IDM2OHYtOTZxMCAtMTYgLTE2IC0xNmgtOTZxLTE2IDAgLTE2IDE2djk2cTAgMTYgMTYgMTZoOTZxMTYgMCAxNiAtMTZ6TTUxMiA2MjR2LTk2cTAgLTE2IC0xNiAtMTZoLTIyNHEtMTYgMCAtMTYgMTZ2OTZxMCAxNiAxNiAxNmgyMjRxMTYgMCAxNiAtMTZ6TTM4NCA4ODB2LTk2cTAgLTE2IC0xNiAtMTZoLTk2cS0xNiAwIC0xNiAxNnY5NnEwIDE2IDE2IDE2aDk2cTE2IDAgMTYgLTE2ek0xNDA4IDM2OHYtOTZxMCAtMTYgLTE2IC0xNgpoLTg2NHEtMTYgMCAtMTYgMTZ2OTZxMCAxNiAxNiAxNmg4NjRxMTYgMCAxNiAtMTZ6TTc2OCA2MjR2LTk2cTAgLTE2IC0xNiAtMTZoLTk2cS0xNiAwIC0xNiAxNnY5NnEwIDE2IDE2IDE2aDk2cTE2IDAgMTYgLTE2ek02NDAgODgwdi05NnEwIC0xNiAtMTYgLTE2aC05NnEtMTYgMCAtMTYgMTZ2OTZxMCAxNiAxNiAxNmg5NnExNiAwIDE2IC0xNnpNMTAyNCA2MjR2LTk2cTAgLTE2IC0xNiAtMTZoLTk2cS0xNiAwIC0xNiAxNnY5NnEwIDE2IDE2IDE2Cmg5NnExNiAwIDE2IC0xNnpNODk2IDg4MHYtOTZxMCAtMTYgLTE2IC0xNmgtOTZxLTE2IDAgLTE2IDE2djk2cTAgMTYgMTYgMTZoOTZxMTYgMCAxNiAtMTZ6TTEyODAgNjI0di05NnEwIC0xNiAtMTYgLTE2aC05NnEtMTYgMCAtMTYgMTZ2OTZxMCAxNiAxNiAxNmg5NnExNiAwIDE2IC0xNnpNMTY2NCAzNjh2LTk2cTAgLTE2IC0xNiAtMTZoLTk2cS0xNiAwIC0xNiAxNnY5NnEwIDE2IDE2IDE2aDk2cTE2IDAgMTYgLTE2ek0xMTUyIDg4MHYtOTYKcTAgLTE2IC0xNiAtMTZoLTk2cS0xNiAwIC0xNiAxNnY5NnEwIDE2IDE2IDE2aDk2cTE2IDAgMTYgLTE2ek0xNDA4IDg4MHYtOTZxMCAtMTYgLTE2IC0xNmgtOTZxLTE2IDAgLTE2IDE2djk2cTAgMTYgMTYgMTZoOTZxMTYgMCAxNiAtMTZ6TTE2NjQgODgwdi0zNTJxMCAtMTYgLTE2IC0xNmgtMjI0cS0xNiAwIC0xNiAxNnY5NnEwIDE2IDE2IDE2aDExMnYyNDBxMCAxNiAxNiAxNmg5NnExNiAwIDE2IC0xNnpNMTc5MiAxMjh2ODk2aC0xNjY0di04OTYKaDE2NjR6TTE5MjAgMTAyNHYtODk2cTAgLTUzIC0zNy41IC05MC41dC05MC41IC0zNy41aC0xNjY0cS01MyAwIC05MC41IDM3LjV0LTM3LjUgOTAuNXY4OTZxMCA1MyAzNy41IDkwLjV0OTAuNSAzNy41aDE2NjRxNTMgMCA5MC41IC0zNy41dDM3LjUgLTkwLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImZsYWdfYWx0IiB1bmljb2RlPSImI3hmMTFkOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTY2NCA0OTF2NjE2cS0xNjkgLTkxIC0zMDYgLTkxcS04MiAwIC0xNDUgMzJxLTEwMCA0OSAtMTg0IDc2LjV0LTE3OCAyNy41cS0xNzMgMCAtNDAzIC0xMjd2LTU5OXEyNDUgMTEzIDQzMyAxMTNxNTUgMCAxMDMuNSAtNy41dDk4IC0yNnQ3NyAtMzF0ODIuNSAtMzkuNWwyOCAtMTRxNDQgLTIyIDEwMSAtMjJxMTIwIDAgMjkzIDkyek0zMjAgMTI4MHEwIC0zNSAtMTcuNSAtNjR0LTQ2LjUgLTQ2di0xMjY2cTAgLTE0IC05IC0yM3QtMjMgLTkKaC02NHEtMTQgMCAtMjMgOXQtOSAyM3YxMjY2cS0yOSAxNyAtNDYuNSA0NnQtMTcuNSA2NHEwIDUzIDM3LjUgOTAuNXQ5MC41IDM3LjV0OTAuNSAtMzcuNXQzNy41IC05MC41ek0xNzkyIDEyMTZ2LTc2M3EwIC0zOSAtMzUgLTU3cS0xMCAtNSAtMTcgLTlxLTIxOCAtMTE2IC0zNjkgLTExNnEtODggMCAtMTU4IDM1bC0yOCAxNHEtNjQgMzMgLTk5IDQ4dC05MSAyOXQtMTE0IDE0cS0xMDIgMCAtMjM1LjUgLTQ0dC0yMjguNSAtMTAyCnEtMTUgLTkgLTMzIC05cS0xNiAwIC0zMiA4cS0zMiAxOSAtMzIgNTZ2NzQycTAgMzUgMzEgNTVxMzUgMjEgNzguNSA0Mi41dDExNCA1MnQxNTIuNSA0OS41dDE1NSAxOXExMTIgMCAyMDkgLTMxdDIwOSAtODZxMzggLTE5IDg5IC0xOXExMjIgMCAzMTAgMTEycTIyIDEyIDMxIDE3cTMxIDE2IDYyIC0ycTMxIC0yMCAzMSAtNTV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImZsYWdfY2hlY2tlcmVkIiB1bmljb2RlPSImI3hmMTFlOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNODMyIDUzNnYxOTJxLTE4MSAtMTYgLTM4NCAtMTE3di0xODVxMjA1IDk2IDM4NCAxMTB6TTgzMiA5NTR2MTk3cS0xNzIgLTggLTM4NCAtMTI2di0xODlxMjE1IDExMSAzODQgMTE4ek0xNjY0IDQ5MXYxODRxLTIzNSAtMTE2IC0zODQgLTcxdjIyNHEtMjAgNiAtMzkgMTVxLTUgMyAtMzMgMTd0LTM0LjUgMTd0LTMxLjUgMTV0LTM0LjUgMTUuNXQtMzIuNSAxM3QtMzYgMTIuNXQtMzUgOC41dC0zOS41IDcuNXQtMzkuNSA0dC00NCAyCnEtMjMgMCAtNDkgLTN2LTIyMmgxOXExMDIgMCAxOTIuNSAtMjl0MTk3LjUgLTgycTE5IC05IDM5IC0xNXYtMTg4cTQyIC0xNyA5MSAtMTdxMTIwIDAgMjkzIDkyek0xNjY0IDkxOHYxODlxLTE2OSAtOTEgLTMwNiAtOTFxLTQ1IDAgLTc4IDh2LTE5NnExNDggLTQyIDM4NCA5MHpNMzIwIDEyODBxMCAtMzUgLTE3LjUgLTY0dC00Ni41IC00NnYtMTI2NnEwIC0xNCAtOSAtMjN0LTIzIC05aC02NHEtMTQgMCAtMjMgOXQtOSAyM3YxMjY2CnEtMjkgMTcgLTQ2LjUgNDZ0LTE3LjUgNjRxMCA1MyAzNy41IDkwLjV0OTAuNSAzNy41dDkwLjUgLTM3LjV0MzcuNSAtOTAuNXpNMTc5MiAxMjE2di03NjNxMCAtMzkgLTM1IC01N3EtMTAgLTUgLTE3IC05cS0yMTggLTExNiAtMzY5IC0xMTZxLTg4IDAgLTE1OCAzNWwtMjggMTRxLTY0IDMzIC05OSA0OHQtOTEgMjl0LTExNCAxNHEtMTAyIDAgLTIzNS41IC00NHQtMjI4LjUgLTEwMnEtMTUgLTkgLTMzIC05cS0xNiAwIC0zMiA4CnEtMzIgMTkgLTMyIDU2djc0MnEwIDM1IDMxIDU1cTM1IDIxIDc4LjUgNDIuNXQxMTQgNTJ0MTUyLjUgNDkuNXQxNTUgMTlxMTEyIDAgMjA5IC0zMXQyMDkgLTg2cTM4IC0xOSA4OSAtMTlxMTIyIDAgMzEwIDExMnEyMiAxMiAzMSAxN3EzMSAxNiA2MiAtMnEzMSAtMjAgMzEgLTU1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ0ZXJtaW5hbCIgdW5pY29kZT0iJiN4ZjEyMDsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTU4NSA1NTNsLTQ2NiAtNDY2cS0xMCAtMTAgLTIzIC0xMHQtMjMgMTBsLTUwIDUwcS0xMCAxMCAtMTAgMjN0MTAgMjNsMzkzIDM5M2wtMzkzIDM5M3EtMTAgMTAgLTEwIDIzdDEwIDIzbDUwIDUwcTEwIDEwIDIzIDEwdDIzIC0xMGw0NjYgLTQ2NnExMCAtMTAgMTAgLTIzdC0xMCAtMjN6TTE2NjQgOTZ2LTY0cTAgLTE0IC05IC0yM3QtMjMgLTloLTk2MHEtMTQgMCAtMjMgOXQtOSAyM3Y2NHEwIDE0IDkgMjN0MjMgOWg5NjBxMTQgMCAyMyAtOQp0OSAtMjN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImNvZGUiIHVuaWNvZGU9IiYjeGYxMjE7IiBob3Jpei1hZHYteD0iMTkyMCIgCmQ9Ik02MTcgMTM3bC01MCAtNTBxLTEwIC0xMCAtMjMgLTEwdC0yMyAxMGwtNDY2IDQ2NnEtMTAgMTAgLTEwIDIzdDEwIDIzbDQ2NiA0NjZxMTAgMTAgMjMgMTB0MjMgLTEwbDUwIC01MHExMCAtMTAgMTAgLTIzdC0xMCAtMjNsLTM5MyAtMzkzbDM5MyAtMzkzcTEwIC0xMCAxMCAtMjN0LTEwIC0yM3pNMTIwOCAxMjA0bC0zNzMgLTEyOTFxLTQgLTEzIC0xNS41IC0xOS41dC0yMy41IC0yLjVsLTYyIDE3cS0xMyA0IC0xOS41IDE1LjV0LTIuNSAyNC41CmwzNzMgMTI5MXE0IDEzIDE1LjUgMTkuNXQyMy41IDIuNWw2MiAtMTdxMTMgLTQgMTkuNSAtMTUuNXQyLjUgLTI0LjV6TTE4NjUgNTUzbC00NjYgLTQ2NnEtMTAgLTEwIC0yMyAtMTB0LTIzIDEwbC01MCA1MHEtMTAgMTAgLTEwIDIzdDEwIDIzbDM5MyAzOTNsLTM5MyAzOTNxLTEwIDEwIC0xMCAyM3QxMCAyM2w1MCA1MHExMCAxMCAyMyAxMHQyMyAtMTBsNDY2IC00NjZxMTAgLTEwIDEwIC0yM3QtMTAgLTIzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJyZXBseV9hbGwiIHVuaWNvZGU9IiYjeGYxMjI7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik02NDAgNDU0di03MHEwIC00MiAtMzkgLTU5cS0xMyAtNSAtMjUgLTVxLTI3IDAgLTQ1IDE5bC01MTIgNTEycS0xOSAxOSAtMTkgNDV0MTkgNDVsNTEyIDUxMnEyOSAzMSA3MCAxNHEzOSAtMTcgMzkgLTU5di02OWwtMzk3IC0zOThxLTE5IC0xOSAtMTkgLTQ1dDE5IC00NXpNMTc5MiA0MTZxMCAtNTggLTE3IC0xMzMuNXQtMzguNSAtMTM4dC00OCAtMTI1dC00MC41IC05MC41bC0yMCAtNDBxLTggLTE3IC0yOCAtMTdxLTYgMCAtOSAxCnEtMjUgOCAtMjMgMzRxNDMgNDAwIC0xMDYgNTY1cS02NCA3MSAtMTcwLjUgMTEwLjV0LTI2Ny41IDUyLjV2LTI1MXEwIC00MiAtMzkgLTU5cS0xMyAtNSAtMjUgLTVxLTI3IDAgLTQ1IDE5bC01MTIgNTEycS0xOSAxOSAtMTkgNDV0MTkgNDVsNTEyIDUxMnEyOSAzMSA3MCAxNHEzOSAtMTcgMzkgLTU5di0yNjJxNDExIC0yOCA1OTkgLTIyMXExNjkgLTE3MyAxNjkgLTUwOXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ic3Rhcl9oYWxmX2VtcHR5IiB1bmljb2RlPSImI3hmMTIzOyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNMTE4NiA1NzlsMjU3IDI1MGwtMzU2IDUybC02NiAxMGwtMzAgNjBsLTE1OSAzMjJ2LTk2M2w1OSAtMzFsMzE4IC0xNjhsLTYwIDM1NWwtMTIgNjZ6TTE2MzggODQxbC0zNjMgLTM1NGw4NiAtNTAwcTUgLTMzIC02IC01MS41dC0zNCAtMTguNXEtMTcgMCAtNDAgMTJsLTQ0OSAyMzZsLTQ0OSAtMjM2cS0yMyAtMTIgLTQwIC0xMnEtMjMgMCAtMzQgMTguNXQtNiA1MS41bDg2IDUwMGwtMzY0IDM1NHEtMzIgMzIgLTIzIDU5LjV0NTQgMzQuNQpsNTAyIDczbDIyNSA0NTVxMjAgNDEgNDkgNDFxMjggMCA0OSAtNDFsMjI1IC00NTVsNTAyIC03M3E0NSAtNyA1NCAtMzQuNXQtMjQgLTU5LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImxvY2F0aW9uX2Fycm93IiB1bmljb2RlPSImI3hmMTI0OyIgaG9yaXotYWR2LXg9IjE0MDgiIApkPSJNMTQwMSAxMTg3bC02NDAgLTEyODBxLTE3IC0zNSAtNTcgLTM1cS01IDAgLTE1IDJxLTIyIDUgLTM1LjUgMjIuNXQtMTMuNSAzOS41djU3NmgtNTc2cS0yMiAwIC0zOS41IDEzLjV0LTIyLjUgMzUuNXQ0IDQydDI5IDMwbDEyODAgNjQwcTEzIDcgMjkgN3EyNyAwIDQ1IC0xOXExNSAtMTQgMTguNSAtMzQuNXQtNi41IC0zOS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjcm9wIiB1bmljb2RlPSImI3hmMTI1OyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNNTU3IDI1Nmg1OTV2NTk1ek01MTIgMzAxbDU5NSA1OTVoLTU5NXYtNTk1ek0xNjY0IDIyNHYtMTkycTAgLTE0IC05IC0yM3QtMjMgLTloLTIyNHYtMjI0cTAgLTE0IC05IC0yM3QtMjMgLTloLTE5MnEtMTQgMCAtMjMgOXQtOSAyM3YyMjRoLTg2NHEtMTQgMCAtMjMgOXQtOSAyM3Y4NjRoLTIyNHEtMTQgMCAtMjMgOXQtOSAyM3YxOTJxMCAxNCA5IDIzdDIzIDloMjI0djIyNHEwIDE0IDkgMjN0MjMgOWgxOTJxMTQgMCAyMyAtOXQ5IC0yMwp2LTIyNGg4NTFsMjQ2IDI0N3ExMCA5IDIzIDl0MjMgLTlxOSAtMTAgOSAtMjN0LTkgLTIzbC0yNDcgLTI0NnYtODUxaDIyNHExNCAwIDIzIC05dDkgLTIzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjb2RlX2ZvcmsiIHVuaWNvZGU9IiYjeGYxMjY7IiBob3Jpei1hZHYteD0iMTAyNCIgCmQ9Ik0yODggNjRxMCA0MCAtMjggNjh0LTY4IDI4dC02OCAtMjh0LTI4IC02OHQyOCAtNjh0NjggLTI4dDY4IDI4dDI4IDY4ek0yODggMTIxNnEwIDQwIC0yOCA2OHQtNjggMjh0LTY4IC0yOHQtMjggLTY4dDI4IC02OHQ2OCAtMjh0NjggMjh0MjggNjh6TTkyOCAxMDg4cTAgNDAgLTI4IDY4dC02OCAyOHQtNjggLTI4dC0yOCAtNjh0MjggLTY4dDY4IC0yOHQ2OCAyOHQyOCA2OHpNMTAyNCAxMDg4cTAgLTUyIC0yNiAtOTYuNXQtNzAgLTY5LjUKcS0yIC0yODcgLTIyNiAtNDE0cS02NyAtMzggLTIwMyAtODFxLTEyOCAtNDAgLTE2OS41IC03MXQtNDEuNSAtMTAwdi0yNnE0NCAtMjUgNzAgLTY5LjV0MjYgLTk2LjVxMCAtODAgLTU2IC0xMzZ0LTEzNiAtNTZ0LTEzNiA1NnQtNTYgMTM2cTAgNTIgMjYgOTYuNXQ3MCA2OS41djgyMHEtNDQgMjUgLTcwIDY5LjV0LTI2IDk2LjVxMCA4MCA1NiAxMzZ0MTM2IDU2dDEzNiAtNTZ0NTYgLTEzNnEwIC01MiAtMjYgLTk2LjV0LTcwIC02OS41di00OTcKcTU0IDI2IDE1NCA1N3E1NSAxNyA4Ny41IDI5LjV0NzAuNSAzMXQ1OSAzOS41dDQwLjUgNTF0MjggNjkuNXQ4LjUgOTEuNXEtNDQgMjUgLTcwIDY5LjV0LTI2IDk2LjVxMCA4MCA1NiAxMzZ0MTM2IDU2dDEzNiAtNTZ0NTYgLTEzNnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5saW5rIiB1bmljb2RlPSImI3hmMTI3OyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNNDM5IDI2NWwtMjU2IC0yNTZxLTExIC05IC0yMyAtOXQtMjMgOXEtOSAxMCAtOSAyM3Q5IDIzbDI1NiAyNTZxMTAgOSAyMyA5dDIzIC05cTkgLTEwIDkgLTIzdC05IC0yM3pNNjA4IDIyNHYtMzIwcTAgLTE0IC05IC0yM3QtMjMgLTl0LTIzIDl0LTkgMjN2MzIwcTAgMTQgOSAyM3QyMyA5dDIzIC05dDkgLTIzek0zODQgNDQ4cTAgLTE0IC05IC0yM3QtMjMgLTloLTMyMHEtMTQgMCAtMjMgOXQtOSAyM3Q5IDIzdDIzIDloMzIwCnExNCAwIDIzIC05dDkgLTIzek0xNjQ4IDMyMHEwIC0xMjAgLTg1IC0yMDNsLTE0NyAtMTQ2cS04MyAtODMgLTIwMyAtODNxLTEyMSAwIC0yMDQgODVsLTMzNCAzMzVxLTIxIDIxIC00MiA1NmwyMzkgMThsMjczIC0yNzRxMjcgLTI3IDY4IC0yNy41dDY4IDI2LjVsMTQ3IDE0NnEyOCAyOCAyOCA2N3EwIDQwIC0yOCA2OGwtMjc0IDI3NWwxOCAyMzlxMzUgLTIxIDU2IC00MmwzMzYgLTMzNnE4NCAtODYgODQgLTIwNHpNMTAzMSAxMDQ0bC0yMzkgLTE4CmwtMjczIDI3NHEtMjggMjggLTY4IDI4cS0zOSAwIC02OCAtMjdsLTE0NyAtMTQ2cS0yOCAtMjggLTI4IC02N3EwIC00MCAyOCAtNjhsMjc0IC0yNzRsLTE4IC0yNDBxLTM1IDIxIC01NiA0MmwtMzM2IDMzNnEtODQgODYgLTg0IDIwNHEwIDEyMCA4NSAyMDNsMTQ3IDE0NnE4MyA4MyAyMDMgODNxMTIxIDAgMjA0IC04NWwzMzQgLTMzNXEyMSAtMjEgNDIgLTU2ek0xNjY0IDk2MHEwIC0xNCAtOSAtMjN0LTIzIC05aC0zMjBxLTE0IDAgLTIzIDkKdC05IDIzdDkgMjN0MjMgOWgzMjBxMTQgMCAyMyAtOXQ5IC0yM3pNMTEyMCAxNTA0di0zMjBxMCAtMTQgLTkgLTIzdC0yMyAtOXQtMjMgOXQtOSAyM3YzMjBxMCAxNCA5IDIzdDIzIDl0MjMgLTl0OSAtMjN6TTE1MjcgMTM1M2wtMjU2IC0yNTZxLTExIC05IC0yMyAtOXQtMjMgOXEtOSAxMCAtOSAyM3Q5IDIzbDI1NiAyNTZxMTAgOSAyMyA5dDIzIC05cTkgLTEwIDkgLTIzdC05IC0yM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icXVlc3Rpb24iIHVuaWNvZGU9IiYjeGYxMjg7IiBob3Jpei1hZHYteD0iMTAyNCIgCmQ9Ik03MDQgMjgwdi0yNDBxMCAtMTYgLTEyIC0yOHQtMjggLTEyaC0yNDBxLTE2IDAgLTI4IDEydC0xMiAyOHYyNDBxMCAxNiAxMiAyOHQyOCAxMmgyNDBxMTYgMCAyOCAtMTJ0MTIgLTI4ek0xMDIwIDg4MHEwIC01NCAtMTUuNSAtMTAxdC0zNSAtNzYuNXQtNTUgLTU5LjV0LTU3LjUgLTQzLjV0LTYxIC0zNS41cS00MSAtMjMgLTY4LjUgLTY1dC0yNy41IC02N3EwIC0xNyAtMTIgLTMyLjV0LTI4IC0xNS41aC0yNDBxLTE1IDAgLTI1LjUgMTguNQp0LTEwLjUgMzcuNXY0NXEwIDgzIDY1IDE1Ni41dDE0MyAxMDguNXE1OSAyNyA4NCA1NnQyNSA3NnEwIDQyIC00Ni41IDc0dC0xMDcuNSAzMnEtNjUgMCAtMTA4IC0yOXEtMzUgLTI1IC0xMDcgLTExNXEtMTMgLTE2IC0zMSAtMTZxLTEyIDAgLTI1IDhsLTE2NCAxMjVxLTEzIDEwIC0xNS41IDI1dDUuNSAyOHExNjAgMjY2IDQ2NCAyNjZxODAgMCAxNjEgLTMxdDE0NiAtODN0MTA2IC0xMjcuNXQ0MSAtMTU4LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il8yNzkiIHVuaWNvZGU9IiYjeGYxMjk7IiBob3Jpei1hZHYteD0iNjQwIiAKZD0iTTY0MCAxOTJ2LTEyOHEwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTUxMnEtMjYgMCAtNDUgMTl0LTE5IDQ1djEyOHEwIDI2IDE5IDQ1dDQ1IDE5aDY0djM4NGgtNjRxLTI2IDAgLTQ1IDE5dC0xOSA0NXYxMjhxMCAyNiAxOSA0NXQ0NSAxOWgzODRxMjYgMCA0NSAtMTl0MTkgLTQ1di01NzZoNjRxMjYgMCA0NSAtMTl0MTkgLTQ1ek01MTIgMTM0NHYtMTkycTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtMjU2cS0yNiAwIC00NSAxOXQtMTkgNDV2MTkyCnEwIDI2IDE5IDQ1dDQ1IDE5aDI1NnEyNiAwIDQ1IC0xOXQxOSAtNDV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImV4Y2xhbWF0aW9uIiB1bmljb2RlPSImI3hmMTJhOyIgaG9yaXotYWR2LXg9IjY0MCIgCmQ9Ik01MTIgMjg4di0yMjRxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0yNTZxLTI2IDAgLTQ1IDE5dC0xOSA0NXYyMjRxMCAyNiAxOSA0NXQ0NSAxOWgyNTZxMjYgMCA0NSAtMTl0MTkgLTQ1ek01NDIgMTM0NGwtMjggLTc2OHEtMSAtMjYgLTIwLjUgLTQ1dC00NS41IC0xOWgtMjU2cS0yNiAwIC00NS41IDE5dC0yMC41IDQ1bC0yOCA3NjhxLTEgMjYgMTcuNSA0NXQ0NC41IDE5aDMyMHEyNiAwIDQ0LjUgLTE5dDE3LjUgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJzdXBlcnNjcmlwdCIgdW5pY29kZT0iJiN4ZjEyYjsiIApkPSJNODk3IDE2N3YtMTY3aC0yNDhsLTE1OSAyNTJsLTI0IDQycS04IDkgLTExIDIxaC0zcS0xIC0zIC0yLjUgLTYuNXQtMy41IC04dC0zIC02LjVxLTEwIC0yMCAtMjUgLTQ0bC0xNTUgLTI1MGgtMjU4djE2N2gxMjhsMTk3IDI5MWwtMTg1IDI3MmgtMTM3djE2OGgyNzZsMTM5IC0yMjhxMiAtNCAyMyAtNDJxOCAtOSAxMSAtMjFoM3EzIDkgMTEgMjFsMjUgNDJsMTQwIDIyOGgyNTd2LTE2OGgtMTI1bC0xODQgLTI2N2wyMDQgLTI5NmgxMDl6Ck0xNTM0IDg0NnYtMjA2aC01MTRsLTMgMjdxLTQgMjggLTQgNDZxMCA2NCAyNiAxMTd0NjUgODYuNXQ4NCA2NXQ4NCA1NC41dDY1IDU0dDI2IDY0cTAgMzggLTI5LjUgNjIuNXQtNzAuNSAyNC41cS01MSAwIC05NyAtMzlxLTE0IC0xMSAtMzYgLTM4bC0xMDUgOTJxMjYgMzcgNjMgNjZxODMgNjUgMTg4IDY1cTExMCAwIDE3OCAtNTkuNXQ2OCAtMTU4LjVxMCAtNTYgLTI0LjUgLTEwM3QtNjIgLTc2LjV0LTgxLjUgLTU4LjV0LTgyIC01MC41CnQtNjUuNSAtNTEuNXQtMzAuNSAtNjNoMjMydjgwaDEyNnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ic3Vic2NyaXB0IiB1bmljb2RlPSImI3hmMTJjOyIgCmQ9Ik04OTcgMTY3di0xNjdoLTI0OGwtMTU5IDI1MmwtMjQgNDJxLTggOSAtMTEgMjFoLTNxLTEgLTMgLTIuNSAtNi41dC0zLjUgLTh0LTMgLTYuNXEtMTAgLTIwIC0yNSAtNDRsLTE1NSAtMjUwaC0yNTh2MTY3aDEyOGwxOTcgMjkxbC0xODUgMjcyaC0xMzd2MTY4aDI3NmwxMzkgLTIyOHEyIC00IDIzIC00MnE4IC05IDExIC0yMWgzcTMgOSAxMSAyMWwyNSA0MmwxNDAgMjI4aDI1N3YtMTY4aC0xMjVsLTE4NCAtMjY3bDIwNCAtMjk2aDEwOXoKTTE1MzYgLTUwdi0yMDZoLTUxNGwtNCAyN3EtMyA0NSAtMyA0NnEwIDY0IDI2IDExN3Q2NSA4Ni41dDg0IDY1dDg0IDU0LjV0NjUgNTR0MjYgNjRxMCAzOCAtMjkuNSA2Mi41dC03MC41IDI0LjVxLTUxIDAgLTk3IC0zOXEtMTQgLTExIC0zNiAtMzhsLTEwNSA5MnEyNiAzNyA2MyA2NnE4MCA2NSAxODggNjVxMTEwIDAgMTc4IC01OS41dDY4IC0xNTguNXEwIC02NiAtMzQuNSAtMTE4LjV0LTg0IC04NnQtOTkuNSAtNjIuNXQtODcgLTYzdC00MSAtNzMKaDIzMnY4MGgxMjZ6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il8yODMiIHVuaWNvZGU9IiYjeGYxMmQ7IiBob3Jpei1hZHYteD0iMTkyMCIgCmQ9Ik04OTYgMTI4bDMzNiAzODRoLTc2OGwtMzM2IC0zODRoNzY4ek0xOTA5IDEyMDVxMTUgLTM0IDkuNSAtNzEuNXQtMzAuNSAtNjUuNWwtODk2IC0xMDI0cS0zOCAtNDQgLTk2IC00NGgtNzY4cS0zOCAwIC02OS41IDIwLjV0LTQ3LjUgNTQuNXEtMTUgMzQgLTkuNSA3MS41dDMwLjUgNjUuNWw4OTYgMTAyNHEzOCA0NCA5NiA0NGg3NjhxMzggMCA2OS41IC0yMC41dDQ3LjUgLTU0LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InB1enpsZV9waWVjZSIgdW5pY29kZT0iJiN4ZjEyZTsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTE2NjQgNDM4cTAgLTgxIC00NC41IC0xMzV0LTEyMy41IC01NHEtNDEgMCAtNzcuNSAxNy41dC01OSAzOHQtNTYuNSAzOHQtNzEgMTcuNXEtMTEwIDAgLTExMCAtMTI0cTAgLTM5IDE2IC0xMTV0MTUgLTExNXYtNXEtMjIgMCAtMzMgLTFxLTM0IC0zIC05Ny41IC0xMS41dC0xMTUuNSAtMTMuNXQtOTggLTVxLTYxIDAgLTEwMyAyNi41dC00MiA4My41cTAgMzcgMTcuNSA3MXQzOCA1Ni41dDM4IDU5dDE3LjUgNzcuNXEwIDc5IC01NCAxMjMuNQp0LTEzNSA0NC41cS04NCAwIC0xNDMgLTQ1LjV0LTU5IC0xMjcuNXEwIC00MyAxNSAtODN0MzMuNSAtNjQuNXQzMy41IC01M3QxNSAtNTAuNXEwIC00NSAtNDYgLTg5cS0zNyAtMzUgLTExNyAtMzVxLTk1IDAgLTI0NSAyNHEtOSAyIC0yNy41IDR0LTI3LjUgNGwtMTMgMnEtMSAwIC0zIDFxLTIgMCAtMiAxdjEwMjRxMiAtMSAxNy41IC0zLjV0MzQgLTV0MjEuNSAtMy41cTE1MCAtMjQgMjQ1IC0yNHE4MCAwIDExNyAzNXE0NiA0NCA0NiA4OQpxMCAyMiAtMTUgNTAuNXQtMzMuNSA1M3QtMzMuNSA2NC41dC0xNSA4M3EwIDgyIDU5IDEyNy41dDE0NCA0NS41cTgwIDAgMTM0IC00NC41dDU0IC0xMjMuNXEwIC00MSAtMTcuNSAtNzcuNXQtMzggLTU5dC0zOCAtNTYuNXQtMTcuNSAtNzFxMCAtNTcgNDIgLTgzLjV0MTAzIC0yNi41cTY0IDAgMTgwIDE1dDE2MyAxN3YtMnEtMSAtMiAtMy41IC0xNy41dC01IC0zNHQtMy41IC0yMS41cS0yNCAtMTUwIC0yNCAtMjQ1cTAgLTgwIDM1IC0xMTcKcTQ0IC00NiA4OSAtNDZxMjIgMCA1MC41IDE1dDUzIDMzLjV0NjQuNSAzMy41dDgzIDE1cTgyIDAgMTI3LjUgLTU5dDQ1LjUgLTE0M3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ibWljcm9waG9uZSIgdW5pY29kZT0iJiN4ZjEzMDsiIGhvcml6LWFkdi14PSIxMTUyIiAKZD0iTTExNTIgODMydi0xMjhxMCAtMjIxIC0xNDcuNSAtMzg0LjV0LTM2NC41IC0xODcuNXYtMTMyaDI1NnEyNiAwIDQ1IC0xOXQxOSAtNDV0LTE5IC00NXQtNDUgLTE5aC02NDBxLTI2IDAgLTQ1IDE5dC0xOSA0NXQxOSA0NXQ0NSAxOWgyNTZ2MTMycS0yMTcgMjQgLTM2NC41IDE4Ny41dC0xNDcuNSAzODQuNXYxMjhxMCAyNiAxOSA0NXQ0NSAxOXQ0NSAtMTl0MTkgLTQ1di0xMjhxMCAtMTg1IDEzMS41IC0zMTYuNXQzMTYuNSAtMTMxLjUKdDMxNi41IDEzMS41dDEzMS41IDMxNi41djEyOHEwIDI2IDE5IDQ1dDQ1IDE5dDQ1IC0xOXQxOSAtNDV6TTg5NiAxMjE2di01MTJxMCAtMTMyIC05NCAtMjI2dC0yMjYgLTk0dC0yMjYgOTR0LTk0IDIyNnY1MTJxMCAxMzIgOTQgMjI2dDIyNiA5NHQyMjYgLTk0dDk0IC0yMjZ6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Im1pY3JvcGhvbmVfb2ZmIiB1bmljb2RlPSImI3hmMTMxOyIgaG9yaXotYWR2LXg9IjE0MDgiIApkPSJNMjcxIDU5MWwtMTAxIC0xMDFxLTQyIDEwMyAtNDIgMjE0djEyOHEwIDI2IDE5IDQ1dDQ1IDE5dDQ1IC0xOXQxOSAtNDV2LTEyOHEwIC01MyAxNSAtMTEzek0xMzg1IDExOTNsLTM2MSAtMzYxdi0xMjhxMCAtMTMyIC05NCAtMjI2dC0yMjYgLTk0cS01NSAwIC0xMDkgMTlsLTk2IC05NnE5NyAtNTEgMjA1IC01MXExODUgMCAzMTYuNSAxMzEuNXQxMzEuNSAzMTYuNXYxMjhxMCAyNiAxOSA0NXQ0NSAxOXQ0NSAtMTl0MTkgLTQ1di0xMjgKcTAgLTIyMSAtMTQ3LjUgLTM4NC41dC0zNjQuNSAtMTg3LjV2LTEzMmgyNTZxMjYgMCA0NSAtMTl0MTkgLTQ1dC0xOSAtNDV0LTQ1IC0xOWgtNjQwcS0yNiAwIC00NSAxOXQtMTkgNDV0MTkgNDV0NDUgMTloMjU2djEzMnEtMTI1IDEzIC0yMzUgODFsLTI1NCAtMjU0cS0xMCAtMTAgLTIzIC0xMHQtMjMgMTBsLTgyIDgycS0xMCAxMCAtMTAgMjN0MTAgMjNsMTIzNCAxMjM0cTEwIDEwIDIzIDEwdDIzIC0xMGw4MiAtODJxMTAgLTEwIDEwIC0yMwp0LTEwIC0yM3pNMTAwNSAxMzI1bC02MjEgLTYyMXY1MTJxMCAxMzIgOTQgMjI2dDIyNiA5NHExMDIgMCAxODQuNSAtNTl0MTE2LjUgLTE1MnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ic2hpZWxkIiB1bmljb2RlPSImI3hmMTMyOyIgaG9yaXotYWR2LXg9IjEyODAiIApkPSJNMTA4OCA1NzZ2NjQwaC00NDh2LTExMzdxMTE5IDYzIDIxMyAxMzdxMjM1IDE4NCAyMzUgMzYwek0xMjgwIDEzNDR2LTc2OHEwIC04NiAtMzMuNSAtMTcwLjV0LTgzIC0xNTB0LTExOCAtMTI3LjV0LTEyNi41IC0xMDN0LTEyMSAtNzcuNXQtODkuNSAtNDkuNXQtNDIuNSAtMjBxLTEyIC02IC0yNiAtNnQtMjYgNnEtMTYgNyAtNDIuNSAyMHQtODkuNSA0OS41dC0xMjEgNzcuNXQtMTI2LjUgMTAzdC0xMTggMTI3LjV0LTgzIDE1MAp0LTMzLjUgMTcwLjV2NzY4cTAgMjYgMTkgNDV0NDUgMTloMTE1MnEyNiAwIDQ1IC0xOXQxOSAtNDV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImNhbGVuZGFyX2VtcHR5IiB1bmljb2RlPSImI3hmMTMzOyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNMTI4IC0xMjhoMTQwOHYxMDI0aC0xNDA4di0xMDI0ek01MTIgMTA4OHYyODhxMCAxNCAtOSAyM3QtMjMgOWgtNjRxLTE0IDAgLTIzIC05dC05IC0yM3YtMjg4cTAgLTE0IDkgLTIzdDIzIC05aDY0cTE0IDAgMjMgOXQ5IDIzek0xMjgwIDEwODh2Mjg4cTAgMTQgLTkgMjN0LTIzIDloLTY0cS0xNCAwIC0yMyAtOXQtOSAtMjN2LTI4OHEwIC0xNCA5IC0yM3QyMyAtOWg2NHExNCAwIDIzIDl0OSAyM3pNMTY2NCAxMTUydi0xMjgwCnEwIC01MiAtMzggLTkwdC05MCAtMzhoLTE0MDhxLTUyIDAgLTkwIDM4dC0zOCA5MHYxMjgwcTAgNTIgMzggOTB0OTAgMzhoMTI4djk2cTAgNjYgNDcgMTEzdDExMyA0N2g2NHE2NiAwIDExMyAtNDd0NDcgLTExM3YtOTZoMzg0djk2cTAgNjYgNDcgMTEzdDExMyA0N2g2NHE2NiAwIDExMyAtNDd0NDcgLTExM3YtOTZoMTI4cTUyIDAgOTAgLTM4dDM4IC05MHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZmlyZV9leHRpbmd1aXNoZXIiIHVuaWNvZGU9IiYjeGYxMzQ7IiBob3Jpei1hZHYteD0iMTQwOCIgCmQ9Ik01MTIgMTM0NHEwIDI2IC0xOSA0NXQtNDUgMTl0LTQ1IC0xOXQtMTkgLTQ1dDE5IC00NXQ0NSAtMTl0NDUgMTl0MTkgNDV6TTE0MDggMTM3NnYtMzIwcTAgLTE2IC0xMiAtMjVxLTggLTcgLTIwIC03cS00IDAgLTcgMWwtNDQ4IDk2cS0xMSAyIC0xOCAxMXQtNyAyMGgtMjU2di0xMDJxMTExIC0yMyAxODMuNSAtMTExdDcyLjUgLTIwM3YtODAwcTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtNTEycS0yNiAwIC00NSAxOXQtMTkgNDV2ODAwCnEwIDEwNiA2Mi41IDE5MC41dDE2MS41IDExNC41djExMWgtMzJxLTU5IDAgLTExNSAtMjMuNXQtOTEuNSAtNTN0LTY2IC02Ni41dC00MC41IC01My41dC0xNCAtMjQuNXEtMTcgLTM1IC01NyAtMzVxLTE2IDAgLTI5IDdxLTIzIDEyIC0zMS41IDM3dDMuNSA0OXE1IDEwIDE0LjUgMjZ0MzcuNSA1My41dDYwLjUgNzB0ODUgNjd0MTA4LjUgNTIuNXEtMjUgNDIgLTI1IDg2cTAgNjYgNDcgMTEzdDExMyA0N3QxMTMgLTQ3dDQ3IC0xMTMKcTAgLTMzIC0xNCAtNjRoMzAycTAgMTEgNyAyMHQxOCAxMWw0NDggOTZxMyAxIDcgMXExMiAwIDIwIC03cTEyIC05IDEyIC0yNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0icm9ja2V0IiB1bmljb2RlPSImI3hmMTM1OyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNMTQ0MCAxMDg4cTAgNDAgLTI4IDY4dC02OCAyOHQtNjggLTI4dC0yOCAtNjh0MjggLTY4dDY4IC0yOHQ2OCAyOHQyOCA2OHpNMTY2NCAxMzc2cTAgLTI0OSAtNzUuNSAtNDMwLjV0LTI1My41IC0zNjAuNXEtODEgLTgwIC0xOTUgLTE3NmwtMjAgLTM3OXEtMiAtMTYgLTE2IC0yNmwtMzg0IC0yMjRxLTcgLTQgLTE2IC00cS0xMiAwIC0yMyA5bC02NCA2NHEtMTMgMTQgLTggMzJsODUgMjc2bC0yODEgMjgxbC0yNzYgLTg1cS0zIC0xIC05IC0xCnEtMTQgMCAtMjMgOWwtNjQgNjRxLTE3IDE5IC01IDM5bDIyNCAzODRxMTAgMTQgMjYgMTZsMzc5IDIwcTk2IDExNCAxNzYgMTk1cTE4OCAxODcgMzU4IDI1OHQ0MzEgNzFxMTQgMCAyNCAtOS41dDEwIC0yMi41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJtYXhjZG4iIHVuaWNvZGU9IiYjeGYxMzY7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xNzQ1IDc2M2wtMTY0IC03NjNoLTMzNGwxNzggODMycTEzIDU2IC0xNSA4OHEtMjcgMzMgLTgzIDMzaC0xNjlsLTIwNCAtOTUzaC0zMzRsMjA0IDk1M2gtMjg2bC0yMDQgLTk1M2gtMzM0bDIwNCA5NTNsLTE1MyAzMjdoMTI3NnExMDEgMCAxODkuNSAtNDAuNXQxNDcuNSAtMTEzLjVxNjAgLTczIDgxIC0xNjguNXQwIC0xOTQuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iY2hldnJvbl9zaWduX2xlZnQiIHVuaWNvZGU9IiYjeGYxMzc7IiAKZD0iTTkwOSAxNDFsMTAyIDEwMnExOSAxOSAxOSA0NXQtMTkgNDVsLTMwNyAzMDdsMzA3IDMwN3ExOSAxOSAxOSA0NXQtMTkgNDVsLTEwMiAxMDJxLTE5IDE5IC00NSAxOXQtNDUgLTE5bC00NTQgLTQ1NHEtMTkgLTE5IC0xOSAtNDV0MTkgLTQ1bDQ1NCAtNDU0cTE5IC0xOSA0NSAtMTl0NDUgMTl6TTE1MzYgNjQwcTAgLTIwOSAtMTAzIC0zODUuNXQtMjc5LjUgLTI3OS41dC0zODUuNSAtMTAzdC0zODUuNSAxMDN0LTI3OS41IDI3OS41CnQtMTAzIDM4NS41dDEwMyAzODUuNXQyNzkuNSAyNzkuNXQzODUuNSAxMDN0Mzg1LjUgLTEwM3QyNzkuNSAtMjc5LjV0MTAzIC0zODUuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iY2hldnJvbl9zaWduX3JpZ2h0IiB1bmljb2RlPSImI3hmMTM4OyIgCmQ9Ik03MTcgMTQxbDQ1NCA0NTRxMTkgMTkgMTkgNDV0LTE5IDQ1bC00NTQgNDU0cS0xOSAxOSAtNDUgMTl0LTQ1IC0xOWwtMTAyIC0xMDJxLTE5IC0xOSAtMTkgLTQ1dDE5IC00NWwzMDcgLTMwN2wtMzA3IC0zMDdxLTE5IC0xOSAtMTkgLTQ1dDE5IC00NWwxMDIgLTEwMnExOSAtMTkgNDUgLTE5dDQ1IDE5ek0xNTM2IDY0MHEwIC0yMDkgLTEwMyAtMzg1LjV0LTI3OS41IC0yNzkuNXQtMzg1LjUgLTEwM3QtMzg1LjUgMTAzdC0yNzkuNSAyNzkuNQp0LTEwMyAzODUuNXQxMDMgMzg1LjV0Mjc5LjUgMjc5LjV0Mzg1LjUgMTAzdDM4NS41IC0xMDN0Mjc5LjUgLTI3OS41dDEwMyAtMzg1LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImNoZXZyb25fc2lnbl91cCIgdW5pY29kZT0iJiN4ZjEzOTsiIApkPSJNMTE2NSAzOTdsMTAyIDEwMnExOSAxOSAxOSA0NXQtMTkgNDVsLTQ1NCA0NTRxLTE5IDE5IC00NSAxOXQtNDUgLTE5bC00NTQgLTQ1NHEtMTkgLTE5IC0xOSAtNDV0MTkgLTQ1bDEwMiAtMTAycTE5IC0xOSA0NSAtMTl0NDUgMTlsMzA3IDMwN2wzMDcgLTMwN3ExOSAtMTkgNDUgLTE5dDQ1IDE5ek0xNTM2IDY0MHEwIC0yMDkgLTEwMyAtMzg1LjV0LTI3OS41IC0yNzkuNXQtMzg1LjUgLTEwM3QtMzg1LjUgMTAzdC0yNzkuNSAyNzkuNQp0LTEwMyAzODUuNXQxMDMgMzg1LjV0Mjc5LjUgMjc5LjV0Mzg1LjUgMTAzdDM4NS41IC0xMDN0Mjc5LjUgLTI3OS41dDEwMyAtMzg1LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImNoZXZyb25fc2lnbl9kb3duIiB1bmljb2RlPSImI3hmMTNhOyIgCmQ9Ik04MTMgMjM3bDQ1NCA0NTRxMTkgMTkgMTkgNDV0LTE5IDQ1bC0xMDIgMTAycS0xOSAxOSAtNDUgMTl0LTQ1IC0xOWwtMzA3IC0zMDdsLTMwNyAzMDdxLTE5IDE5IC00NSAxOXQtNDUgLTE5bC0xMDIgLTEwMnEtMTkgLTE5IC0xOSAtNDV0MTkgLTQ1bDQ1NCAtNDU0cTE5IC0xOSA0NSAtMTl0NDUgMTl6TTE1MzYgNjQwcTAgLTIwOSAtMTAzIC0zODUuNXQtMjc5LjUgLTI3OS41dC0zODUuNSAtMTAzdC0zODUuNSAxMDN0LTI3OS41IDI3OS41CnQtMTAzIDM4NS41dDEwMyAzODUuNXQyNzkuNSAyNzkuNXQzODUuNSAxMDN0Mzg1LjUgLTEwM3QyNzkuNSAtMjc5LjV0MTAzIC0zODUuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaHRtbDUiIHVuaWNvZGU9IiYjeGYxM2I7IiBob3Jpei1hZHYteD0iMTQwOCIgCmQ9Ik0xMTMwIDkzOWwxNiAxNzVoLTg4NGw0NyAtNTM0aDYxMmwtMjIgLTIyOGwtMTk3IC01M2wtMTk2IDUzbC0xMyAxNDBoLTE3NWwyMiAtMjc4bDM2MiAtMTAwaDR2MWwzNTkgOTlsNTAgNTQ0aC02NDRsLTE1IDE4MWg2NzR6TTAgMTQwOGgxNDA4bC0xMjggLTE0MzhsLTU3OCAtMTYybC01NzQgMTYyeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjc3MzIiB1bmljb2RlPSImI3hmMTNjOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMjc1IDE0MDhoMTUwNWwtMjY2IC0xMzMzbC04MDQgLTI2N2wtNjk4IDI2N2w3MSAzNTZoMjk3bC0yOSAtMTQ3bDQyMiAtMTYxbDQ4NiAxNjFsNjggMzM5aC0xMjA4bDU4IDI5N2gxMjA5bDM4IDE5MWgtMTIwOHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYW5jaG9yIiB1bmljb2RlPSImI3hmMTNkOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNOTYwIDEyODBxMCAyNiAtMTkgNDV0LTQ1IDE5dC00NSAtMTl0LTE5IC00NXQxOSAtNDV0NDUgLTE5dDQ1IDE5dDE5IDQ1ek0xNzkyIDM1MnYtMzUycTAgLTIyIC0yMCAtMzBxLTggLTIgLTEyIC0ycS0xMiAwIC0yMyA5bC05MyA5M3EtMTE5IC0xNDMgLTMxOC41IC0yMjYuNXQtNDI5LjUgLTgzLjV0LTQyOS41IDgzLjV0LTMxOC41IDIyNi41bC05MyAtOTNxLTkgLTkgLTIzIC05cS00IDAgLTEyIDJxLTIwIDggLTIwIDMwdjM1MgpxMCAxNCA5IDIzdDIzIDloMzUycTIyIDAgMzAgLTIwcTggLTE5IC03IC0zNWwtMTAwIC0xMDBxNjcgLTkxIDE4OS41IC0xNTMuNXQyNzEuNSAtODIuNXY2NDdoLTE5MnEtMjYgMCAtNDUgMTl0LTE5IDQ1djEyOHEwIDI2IDE5IDQ1dDQ1IDE5aDE5MnYxNjNxLTU4IDM0IC05MyA5Mi41dC0zNSAxMjguNXEwIDEwNiA3NSAxODF0MTgxIDc1dDE4MSAtNzV0NzUgLTE4MXEwIC03MCAtMzUgLTEyOC41dC05MyAtOTIuNXYtMTYzaDE5MnEyNiAwIDQ1IC0xOQp0MTkgLTQ1di0xMjhxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0xOTJ2LTY0N3ExNDkgMjAgMjcxLjUgODIuNXQxODkuNSAxNTMuNWwtMTAwIDEwMHEtMTUgMTYgLTcgMzVxOCAyMCAzMCAyMGgzNTJxMTQgMCAyMyAtOXQ5IC0yM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5sb2NrX2FsdCIgdW5pY29kZT0iJiN4ZjEzZTsiIGhvcml6LWFkdi14PSIxMTUyIiAKZD0iTTEwNTYgNzY4cTQwIDAgNjggLTI4dDI4IC02OHYtNTc2cTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtOTYwcS00MCAwIC02OCAyOHQtMjggNjh2NTc2cTAgNDAgMjggNjh0NjggMjhoMzJ2MzIwcTAgMTg1IDEzMS41IDMxNi41dDMxNi41IDEzMS41dDMxNi41IC0xMzEuNXQxMzEuNSAtMzE2LjVxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC02NHEtMjYgMCAtNDUgMTl0LTE5IDQ1cTAgMTA2IC03NSAxODF0LTE4MSA3NXQtMTgxIC03NXQtNzUgLTE4MQp2LTMyMGg3MzZ6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImJ1bGxzZXllIiB1bmljb2RlPSImI3hmMTQwOyIgCmQ9Ik0xMDI0IDY0MHEwIC0xMDYgLTc1IC0xODF0LTE4MSAtNzV0LTE4MSA3NXQtNzUgMTgxdDc1IDE4MXQxODEgNzV0MTgxIC03NXQ3NSAtMTgxek0xMTUyIDY0MHEwIDE1OSAtMTEyLjUgMjcxLjV0LTI3MS41IDExMi41dC0yNzEuNSAtMTEyLjV0LTExMi41IC0yNzEuNXQxMTIuNSAtMjcxLjV0MjcxLjUgLTExMi41dDI3MS41IDExMi41dDExMi41IDI3MS41ek0xMjgwIDY0MHEwIC0yMTIgLTE1MCAtMzYydC0zNjIgLTE1MHQtMzYyIDE1MAp0LTE1MCAzNjJ0MTUwIDM2MnQzNjIgMTUwdDM2MiAtMTUwdDE1MCAtMzYyek0xNDA4IDY0MHEwIDEzMCAtNTEgMjQ4LjV0LTEzNi41IDIwNHQtMjA0IDEzNi41dC0yNDguNSA1MXQtMjQ4LjUgLTUxdC0yMDQgLTEzNi41dC0xMzYuNSAtMjA0dC01MSAtMjQ4LjV0NTEgLTI0OC41dDEzNi41IC0yMDR0MjA0IC0xMzYuNXQyNDguNSAtNTF0MjQ4LjUgNTF0MjA0IDEzNi41dDEzNi41IDIwNHQ1MSAyNDguNXpNMTUzNiA2NDAKcTAgLTIwOSAtMTAzIC0zODUuNXQtMjc5LjUgLTI3OS41dC0zODUuNSAtMTAzdC0zODUuNSAxMDN0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3QzODUuNSAtMTAzdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJlbGxpcHNpc19ob3Jpem9udGFsIiB1bmljb2RlPSImI3hmMTQxOyIgaG9yaXotYWR2LXg9IjE0MDgiIApkPSJNMzg0IDgwMHYtMTkycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTkycS00MCAwIC02OCAyOHQtMjggNjh2MTkycTAgNDAgMjggNjh0NjggMjhoMTkycTQwIDAgNjggLTI4dDI4IC02OHpNODk2IDgwMHYtMTkycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTkycS00MCAwIC02OCAyOHQtMjggNjh2MTkycTAgNDAgMjggNjh0NjggMjhoMTkycTQwIDAgNjggLTI4dDI4IC02OHpNMTQwOCA4MDB2LTE5MnEwIC00MCAtMjggLTY4dC02OCAtMjhoLTE5MgpxLTQwIDAgLTY4IDI4dC0yOCA2OHYxOTJxMCA0MCAyOCA2OHQ2OCAyOGgxOTJxNDAgMCA2OCAtMjh0MjggLTY4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJlbGxpcHNpc192ZXJ0aWNhbCIgdW5pY29kZT0iJiN4ZjE0MjsiIGhvcml6LWFkdi14PSIzODQiIApkPSJNMzg0IDI4OHYtMTkycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTkycS00MCAwIC02OCAyOHQtMjggNjh2MTkycTAgNDAgMjggNjh0NjggMjhoMTkycTQwIDAgNjggLTI4dDI4IC02OHpNMzg0IDgwMHYtMTkycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTkycS00MCAwIC02OCAyOHQtMjggNjh2MTkycTAgNDAgMjggNjh0NjggMjhoMTkycTQwIDAgNjggLTI4dDI4IC02OHpNMzg0IDEzMTJ2LTE5MnEwIC00MCAtMjggLTY4dC02OCAtMjhoLTE5MgpxLTQwIDAgLTY4IDI4dC0yOCA2OHYxOTJxMCA0MCAyOCA2OHQ2OCAyOGgxOTJxNDAgMCA2OCAtMjh0MjggLTY4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfMzAzIiB1bmljb2RlPSImI3hmMTQzOyIgCmQ9Ik01MTIgMjU2cTAgNTMgLTM3LjUgOTAuNXQtOTAuNSAzNy41dC05MC41IC0zNy41dC0zNy41IC05MC41dDM3LjUgLTkwLjV0OTAuNSAtMzcuNXQ5MC41IDM3LjV0MzcuNSA5MC41ek04NjMgMTYycS0xMyAyMzMgLTE3Ni41IDM5Ni41dC0zOTYuNSAxNzYuNXEtMTQgMSAtMjQgLTl0LTEwIC0yM3YtMTI4cTAgLTEzIDguNSAtMjJ0MjEuNSAtMTBxMTU0IC0xMSAyNjQgLTEyMXQxMjEgLTI2NHExIC0xMyAxMCAtMjEuNXQyMiAtOC41aDEyOApxMTMgMCAyMyAxMHQ5IDI0ek0xMjQ3IDE2MXEtNSAxNTQgLTU2IDI5Ny41dC0xMzkuNSAyNjB0LTIwNSAyMDV0LTI2MCAxMzkuNXQtMjk3LjUgNTZxLTE0IDEgLTIzIC05cS0xMCAtMTAgLTEwIC0yM3YtMTI4cTAgLTEzIDkgLTIydDIyIC0xMHEyMDQgLTcgMzc4IC0xMTEuNXQyNzguNSAtMjc4LjV0MTExLjUgLTM3OHExIC0xMyAxMCAtMjJ0MjIgLTloMTI4cTEzIDAgMjMgMTBxMTEgOSA5IDIzek0xNTM2IDExMjB2LTk2MApxMCAtMTE5IC04NC41IC0yMDMuNXQtMjAzLjUgLTg0LjVoLTk2MHEtMTE5IDAgLTIwMy41IDg0LjV0LTg0LjUgMjAzLjV2OTYwcTAgMTE5IDg0LjUgMjAzLjV0MjAzLjUgODQuNWg5NjBxMTE5IDAgMjAzLjUgLTg0LjV0ODQuNSAtMjAzLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InBsYXlfc2lnbiIgdW5pY29kZT0iJiN4ZjE0NDsiIApkPSJNNzY4IDE0MDhxMjA5IDAgMzg1LjUgLTEwM3QyNzkuNSAtMjc5LjV0MTAzIC0zODUuNXQtMTAzIC0zODUuNXQtMjc5LjUgLTI3OS41dC0zODUuNSAtMTAzdC0zODUuNSAxMDN0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3pNMTE1MiA1ODVxMzIgMTggMzIgNTV0LTMyIDU1bC01NDQgMzIwcS0zMSAxOSAtNjQgMXEtMzIgLTE5IC0zMiAtNTZ2LTY0MHEwIC0zNyAzMiAtNTYKcTE2IC04IDMyIC04cTE3IDAgMzIgOXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idGlja2V0IiB1bmljb2RlPSImI3hmMTQ1OyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTAyNCAxMDg0bDMxNiAtMzE2bC01NzIgLTU3MmwtMzE2IDMxNnpNODEzIDEwNWw2MTggNjE4cTE5IDE5IDE5IDQ1dC0xOSA0NWwtMzYyIDM2MnEtMTggMTggLTQ1IDE4dC00NSAtMThsLTYxOCAtNjE4cS0xOSAtMTkgLTE5IC00NXQxOSAtNDVsMzYyIC0zNjJxMTggLTE4IDQ1IC0xOHQ0NSAxOHpNMTcwMiA3NDJsLTkwNyAtOTA4cS0zNyAtMzcgLTkwLjUgLTM3dC05MC41IDM3bC0xMjYgMTI2cTU2IDU2IDU2IDEzNnQtNTYgMTM2CnQtMTM2IDU2dC0xMzYgLTU2bC0xMjUgMTI2cS0zNyAzNyAtMzcgOTAuNXQzNyA5MC41bDkwNyA5MDZxMzcgMzcgOTAuNSAzN3Q5MC41IC0zN2wxMjUgLTEyNXEtNTYgLTU2IC01NiAtMTM2dDU2IC0xMzZ0MTM2IC01NnQxMzYgNTZsMTI2IC0xMjVxMzcgLTM3IDM3IC05MC41dC0zNyAtOTAuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ibWludXNfc2lnbl9hbHQiIHVuaWNvZGU9IiYjeGYxNDY7IiAKZD0iTTEyODAgNTc2djEyOHEwIDI2IC0xOSA0NXQtNDUgMTloLTg5NnEtMjYgMCAtNDUgLTE5dC0xOSAtNDV2LTEyOHEwIC0yNiAxOSAtNDV0NDUgLTE5aDg5NnEyNiAwIDQ1IDE5dDE5IDQ1ek0xNTM2IDExMjB2LTk2MHEwIC0xMTkgLTg0LjUgLTIwMy41dC0yMDMuNSAtODQuNWgtOTYwcS0xMTkgMCAtMjAzLjUgODQuNXQtODQuNSAyMDMuNXY5NjBxMCAxMTkgODQuNSAyMDMuNXQyMDMuNSA4NC41aDk2MHExMTkgMCAyMDMuNSAtODQuNQp0ODQuNSAtMjAzLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImNoZWNrX21pbnVzIiB1bmljb2RlPSImI3hmMTQ3OyIgaG9yaXotYWR2LXg9IjE0MDgiIApkPSJNMTE1MiA3MzZ2LTY0cTAgLTE0IC05IC0yM3QtMjMgLTloLTgzMnEtMTQgMCAtMjMgOXQtOSAyM3Y2NHEwIDE0IDkgMjN0MjMgOWg4MzJxMTQgMCAyMyAtOXQ5IC0yM3pNMTI4MCAyODh2ODMycTAgNjYgLTQ3IDExM3QtMTEzIDQ3aC04MzJxLTY2IDAgLTExMyAtNDd0LTQ3IC0xMTN2LTgzMnEwIC02NiA0NyAtMTEzdDExMyAtNDdoODMycTY2IDAgMTEzIDQ3dDQ3IDExM3pNMTQwOCAxMTIwdi04MzJxMCAtMTE5IC04NC41IC0yMDMuNQp0LTIwMy41IC04NC41aC04MzJxLTExOSAwIC0yMDMuNSA4NC41dC04NC41IDIwMy41djgzMnEwIDExOSA4NC41IDIwMy41dDIwMy41IDg0LjVoODMycTExOSAwIDIwMy41IC04NC41dDg0LjUgLTIwMy41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJsZXZlbF91cCIgdW5pY29kZT0iJiN4ZjE0ODsiIGhvcml6LWFkdi14PSIxMDI0IiAKZD0iTTEwMTggOTMzcS0xOCAtMzcgLTU4IC0zN2gtMTkydi04NjRxMCAtMTQgLTkgLTIzdC0yMyAtOWgtNzA0cS0yMSAwIC0yOSAxOHEtOCAyMCA0IDM1bDE2MCAxOTJxOSAxMSAyNSAxMWgzMjB2NjQwaC0xOTJxLTQwIDAgLTU4IDM3cS0xNyAzNyA5IDY4bDMyMCAzODRxMTggMjIgNDkgMjJ0NDkgLTIybDMyMCAtMzg0cTI3IC0zMiA5IC02OHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ibGV2ZWxfZG93biIgdW5pY29kZT0iJiN4ZjE0OTsiIGhvcml6LWFkdi14PSIxMDI0IiAKZD0iTTMyIDEyODBoNzA0cTEzIDAgMjIuNSAtOS41dDkuNSAtMjMuNXYtODYzaDE5MnE0MCAwIDU4IC0zN3QtOSAtNjlsLTMyMCAtMzg0cS0xOCAtMjIgLTQ5IC0yMnQtNDkgMjJsLTMyMCAzODRxLTI2IDMxIC05IDY5cTE4IDM3IDU4IDM3aDE5MnY2NDBoLTMyMHEtMTQgMCAtMjUgMTFsLTE2MCAxOTJxLTEzIDE0IC00IDM0cTkgMTkgMjkgMTl6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImNoZWNrX3NpZ24iIHVuaWNvZGU9IiYjeGYxNGE7IiAKZD0iTTY4NSAyMzdsNjE0IDYxNHExOSAxOSAxOSA0NXQtMTkgNDVsLTEwMiAxMDJxLTE5IDE5IC00NSAxOXQtNDUgLTE5bC00NjcgLTQ2N2wtMjExIDIxMXEtMTkgMTkgLTQ1IDE5dC00NSAtMTlsLTEwMiAtMTAycS0xOSAtMTkgLTE5IC00NXQxOSAtNDVsMzU4IC0zNThxMTkgLTE5IDQ1IC0xOXQ0NSAxOXpNMTUzNiAxMTIwdi05NjBxMCAtMTE5IC04NC41IC0yMDMuNXQtMjAzLjUgLTg0LjVoLTk2MHEtMTE5IDAgLTIwMy41IDg0LjUKdC04NC41IDIwMy41djk2MHEwIDExOSA4NC41IDIwMy41dDIwMy41IDg0LjVoOTYwcTExOSAwIDIwMy41IC04NC41dDg0LjUgLTIwMy41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJlZGl0X3NpZ24iIHVuaWNvZGU9IiYjeGYxNGI7IiAKZD0iTTQwNCA0MjhsMTUyIC0xNTJsLTUyIC01MmgtNTZ2OTZoLTk2djU2ek04MTggODE4cTE0IC0xMyAtMyAtMzBsLTI5MSAtMjkxcS0xNyAtMTcgLTMwIC0zcS0xNCAxMyAzIDMwbDI5MSAyOTFxMTcgMTcgMzAgM3pNNTQ0IDEyOGw1NDQgNTQ0bC0yODggMjg4bC01NDQgLTU0NHYtMjg4aDI4OHpNMTE1MiA3MzZsOTIgOTJxMjggMjggMjggNjh0LTI4IDY4bC0xNTIgMTUycS0yOCAyOCAtNjggMjh0LTY4IC0yOGwtOTIgLTkyek0xNTM2IDExMjAKdi05NjBxMCAtMTE5IC04NC41IC0yMDMuNXQtMjAzLjUgLTg0LjVoLTk2MHEtMTE5IDAgLTIwMy41IDg0LjV0LTg0LjUgMjAzLjV2OTYwcTAgMTE5IDg0LjUgMjAzLjV0MjAzLjUgODQuNWg5NjBxMTE5IDAgMjAzLjUgLTg0LjV0ODQuNSAtMjAzLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il8zMTIiIHVuaWNvZGU9IiYjeGYxNGM7IiAKZD0iTTEyODAgNjA4djQ4MHEwIDI2IC0xOSA0NXQtNDUgMTloLTQ4MHEtNDIgMCAtNTkgLTM5cS0xNyAtNDEgMTQgLTcwbDE0NCAtMTQ0bC01MzQgLTUzNHEtMTkgLTE5IC0xOSAtNDV0MTkgLTQ1bDEwMiAtMTAycTE5IC0xOSA0NSAtMTl0NDUgMTlsNTM0IDUzNGwxNDQgLTE0NHExOCAtMTkgNDUgLTE5cTEyIDAgMjUgNXEzOSAxNyAzOSA1OXpNMTUzNiAxMTIwdi05NjBxMCAtMTE5IC04NC41IC0yMDMuNXQtMjAzLjUgLTg0LjVoLTk2MApxLTExOSAwIC0yMDMuNSA4NC41dC04NC41IDIwMy41djk2MHEwIDExOSA4NC41IDIwMy41dDIwMy41IDg0LjVoOTYwcTExOSAwIDIwMy41IC04NC41dDg0LjUgLTIwMy41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJzaGFyZV9zaWduIiB1bmljb2RlPSImI3hmMTRkOyIgCmQ9Ik0xMDA1IDQzNWwzNTIgMzUycTE5IDE5IDE5IDQ1dC0xOSA0NWwtMzUyIDM1MnEtMzAgMzEgLTY5IDE0cS00MCAtMTcgLTQwIC01OXYtMTYwcS0xMTkgMCAtMjE2IC0xOS41dC0xNjIuNSAtNTF0LTExNCAtNzl0LTc2LjUgLTk1LjV0LTQ0LjUgLTEwOXQtMjEuNSAtMTExLjV0LTUgLTExMC41cTAgLTE4MSAxNjcgLTQwNHExMSAtMTIgMjUgLTEycTcgMCAxMyAzcTIyIDkgMTkgMzNxLTQ0IDM1NCA2MiA0NzNxNDYgNTIgMTMwIDc1LjUKdDIyNCAyMy41di0xNjBxMCAtNDIgNDAgLTU5cTEyIC01IDI0IC01cTI2IDAgNDUgMTl6TTE1MzYgMTEyMHYtOTYwcTAgLTExOSAtODQuNSAtMjAzLjV0LTIwMy41IC04NC41aC05NjBxLTExOSAwIC0yMDMuNSA4NC41dC04NC41IDIwMy41djk2MHEwIDExOSA4NC41IDIwMy41dDIwMy41IDg0LjVoOTYwcTExOSAwIDIwMy41IC04NC41dDg0LjUgLTIwMy41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJjb21wYXNzIiB1bmljb2RlPSImI3hmMTRlOyIgCmQ9Ik02NDAgNDQ4bDI1NiAxMjhsLTI1NiAxMjh2LTI1NnpNMTAyNCAxMDM5di01NDJsLTUxMiAtMjU2djU0MnpNMTMxMiA2NDBxMCAxNDggLTczIDI3M3QtMTk4IDE5OHQtMjczIDczdC0yNzMgLTczdC0xOTggLTE5OHQtNzMgLTI3M3Q3MyAtMjczdDE5OCAtMTk4dDI3MyAtNzN0MjczIDczdDE5OCAxOTh0NzMgMjczek0xNTM2IDY0MHEwIC0yMDkgLTEwMyAtMzg1LjV0LTI3OS41IC0yNzkuNXQtMzg1LjUgLTEwM3QtMzg1LjUgMTAzCnQtMjc5LjUgMjc5LjV0LTEwMyAzODUuNXQxMDMgMzg1LjV0Mjc5LjUgMjc5LjV0Mzg1LjUgMTAzdDM4NS41IC0xMDN0Mjc5LjUgLTI3OS41dDEwMyAtMzg1LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImNvbGxhcHNlIiB1bmljb2RlPSImI3hmMTUwOyIgCmQ9Ik0xMTQ1IDg2MXExOCAtMzUgLTUgLTY2bC0zMjAgLTQ0OHEtMTkgLTI3IC01MiAtMjd0LTUyIDI3bC0zMjAgNDQ4cS0yMyAzMSAtNSA2NnExNyAzNSA1NyAzNWg2NDBxNDAgMCA1NyAtMzV6TTEyODAgMTYwdjk2MHEwIDEzIC05LjUgMjIuNXQtMjIuNSA5LjVoLTk2MHEtMTMgMCAtMjIuNSAtOS41dC05LjUgLTIyLjV2LTk2MHEwIC0xMyA5LjUgLTIyLjV0MjIuNSAtOS41aDk2MHExMyAwIDIyLjUgOS41dDkuNSAyMi41ek0xNTM2IDExMjAKdi05NjBxMCAtMTE5IC04NC41IC0yMDMuNXQtMjAzLjUgLTg0LjVoLTk2MHEtMTE5IDAgLTIwMy41IDg0LjV0LTg0LjUgMjAzLjV2OTYwcTAgMTE5IDg0LjUgMjAzLjV0MjAzLjUgODQuNWg5NjBxMTE5IDAgMjAzLjUgLTg0LjV0ODQuNSAtMjAzLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImNvbGxhcHNlX3RvcCIgdW5pY29kZT0iJiN4ZjE1MTsiIApkPSJNMTE0NSA0MTlxLTE3IC0zNSAtNTcgLTM1aC02NDBxLTQwIDAgLTU3IDM1cS0xOCAzNSA1IDY2bDMyMCA0NDhxMTkgMjcgNTIgMjd0NTIgLTI3bDMyMCAtNDQ4cTIzIC0zMSA1IC02NnpNMTI4MCAxNjB2OTYwcTAgMTMgLTkuNSAyMi41dC0yMi41IDkuNWgtOTYwcS0xMyAwIC0yMi41IC05LjV0LTkuNSAtMjIuNXYtOTYwcTAgLTEzIDkuNSAtMjIuNXQyMi41IC05LjVoOTYwcTEzIDAgMjIuNSA5LjV0OS41IDIyLjV6TTE1MzYgMTEyMHYtOTYwCnEwIC0xMTkgLTg0LjUgLTIwMy41dC0yMDMuNSAtODQuNWgtOTYwcS0xMTkgMCAtMjAzLjUgODQuNXQtODQuNSAyMDMuNXY5NjBxMCAxMTkgODQuNSAyMDMuNXQyMDMuNSA4NC41aDk2MHExMTkgMCAyMDMuNSAtODQuNXQ4NC41IC0yMDMuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzMxNyIgdW5pY29kZT0iJiN4ZjE1MjsiIApkPSJNMTA4OCA2NDBxMCAtMzMgLTI3IC01MmwtNDQ4IC0zMjBxLTMxIC0yMyAtNjYgLTVxLTM1IDE3IC0zNSA1N3Y2NDBxMCA0MCAzNSA1N3EzNSAxOCA2NiAtNWw0NDggLTMyMHEyNyAtMTkgMjcgLTUyek0xMjgwIDE2MHY5NjBxMCAxNCAtOSAyM3QtMjMgOWgtOTYwcS0xNCAwIC0yMyAtOXQtOSAtMjN2LTk2MHEwIC0xNCA5IC0yM3QyMyAtOWg5NjBxMTQgMCAyMyA5dDkgMjN6TTE1MzYgMTEyMHYtOTYwcTAgLTExOSAtODQuNSAtMjAzLjUKdC0yMDMuNSAtODQuNWgtOTYwcS0xMTkgMCAtMjAzLjUgODQuNXQtODQuNSAyMDMuNXY5NjBxMCAxMTkgODQuNSAyMDMuNXQyMDMuNSA4NC41aDk2MHExMTkgMCAyMDMuNSAtODQuNXQ4NC41IC0yMDMuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZXVyIiB1bmljb2RlPSImI3hmMTUzOyIgaG9yaXotYWR2LXg9IjEwMjQiIApkPSJNOTc2IDIyOWwzNSAtMTU5cTMgLTEyIC0zIC0yMi41dC0xNyAtMTQuNWwtNSAtMXEtNCAtMiAtMTAuNSAtMy41dC0xNiAtNC41dC0yMS41IC01LjV0LTI1LjUgLTV0LTMwIC01dC0zMy41IC00LjV0LTM2LjUgLTN0LTM4LjUgLTFxLTIzNCAwIC00MDkgMTMwLjV0LTIzOCAzNTEuNWgtOTVxLTEzIDAgLTIyLjUgOS41dC05LjUgMjIuNXYxMTNxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWg2NnEtMiA1NyAxIDEwNWgtNjdxLTE0IDAgLTIzIDkKdC05IDIzdjExNHEwIDE0IDkgMjN0MjMgOWg5OHE2NyAyMTAgMjQzLjUgMzM4dDQwMC41IDEyOHExMDIgMCAxOTQgLTIzcTExIC0zIDIwIC0xNXE2IC0xMSAzIC0yNGwtNDMgLTE1OXEtMyAtMTMgLTE0IC0xOS41dC0yNCAtMi41bC00IDFxLTQgMSAtMTEuNSAyLjVsLTE3LjUgMy41dC0yMi41IDMuNXQtMjYgM3QtMjkgMi41dC0yOS41IDFxLTEyNiAwIC0yMjYgLTY0dC0xNTAgLTE3Nmg0NjhxMTYgMCAyNSAtMTJxMTAgLTEyIDcgLTI2CmwtMjQgLTExNHEtNSAtMjYgLTMyIC0yNmgtNDg4cS0zIC0zNyAwIC0xMDVoNDU5cTE1IDAgMjUgLTEycTkgLTEyIDYgLTI3bC0yNCAtMTEycS0yIC0xMSAtMTEgLTE4LjV0LTIwIC03LjVoLTM4N3E0OCAtMTE3IDE0OS41IC0xODUuNXQyMjguNSAtNjguNXExOCAwIDM2IDEuNXQzMy41IDMuNXQyOS41IDQuNXQyNC41IDV0MTguNSA0LjVsMTIgM2w1IDJxMTMgNSAyNiAtMnExMiAtNyAxNSAtMjF6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImdicCIgdW5pY29kZT0iJiN4ZjE1NDsiIGhvcml6LWFkdi14PSIxMDI0IiAKZD0iTTEwMjAgMzk5di0zNjdxMCAtMTQgLTkgLTIzdC0yMyAtOWgtOTU2cS0xNCAwIC0yMyA5dC05IDIzdjE1MHEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDk3djM4M2gtOTVxLTE0IDAgLTIzIDkuNXQtOSAyMi41djEzMXEwIDE0IDkgMjN0MjMgOWg5NXYyMjNxMCAxNzEgMTIzLjUgMjgydDMxNC41IDExMXExODUgMCAzMzUgLTEyNXE5IC04IDEwIC0yMC41dC03IC0yMi41bC0xMDMgLTEyN3EtOSAtMTEgLTIyIC0xMnEtMTMgLTIgLTIzIDcKcS01IDUgLTI2IDE5dC02OSAzMnQtOTMgMThxLTg1IDAgLTEzNyAtNDd0LTUyIC0xMjN2LTIxNWgzMDVxMTMgMCAyMi41IC05dDkuNSAtMjN2LTEzMXEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTMwNXYtMzc5aDQxNHYxODFxMCAxMyA5IDIyLjV0MjMgOS41aDE2MnExNCAwIDIzIC05LjV0OSAtMjIuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idXNkIiB1bmljb2RlPSImI3hmMTU1OyIgaG9yaXotYWR2LXg9IjEwMjQiIApkPSJNOTc4IDM1MXEwIC0xNTMgLTk5LjUgLTI2My41dC0yNTguNSAtMTM2LjV2LTE3NXEwIC0xNCAtOSAtMjN0LTIzIC05aC0xMzVxLTEzIDAgLTIyLjUgOS41dC05LjUgMjIuNXYxNzVxLTY2IDkgLTEyNy41IDMxdC0xMDEuNSA0NC41dC03NCA0OHQtNDYuNSAzNy41dC0xNy41IDE4cS0xNyAyMSAtMiA0MWwxMDMgMTM1cTcgMTAgMjMgMTJxMTUgMiAyNCAtOWwyIC0ycTExMyAtOTkgMjQzIC0xMjVxMzcgLTggNzQgLThxODEgMCAxNDIuNSA0Mwp0NjEuNSAxMjJxMCAyOCAtMTUgNTN0LTMzLjUgNDJ0LTU4LjUgMzcuNXQtNjYgMzJ0LTgwIDMyLjVxLTM5IDE2IC02MS41IDI1dC02MS41IDI2LjV0LTYyLjUgMzF0LTU2LjUgMzUuNXQtNTMuNSA0Mi41dC00My41IDQ5dC0zNS41IDU4dC0yMSA2Ni41dC04LjUgNzhxMCAxMzggOTggMjQydDI1NSAxMzR2MTgwcTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoMTM1cTE0IDAgMjMgLTl0OSAtMjN2LTE3NnE1NyAtNiAxMTAuNSAtMjN0ODcgLTMzLjUKdDYzLjUgLTM3LjV0MzkgLTI5dDE1IC0xNHExNyAtMTggNSAtMzhsLTgxIC0xNDZxLTggLTE1IC0yMyAtMTZxLTE0IC0zIC0yNyA3cS0zIDMgLTE0LjUgMTJ0LTM5IDI2LjV0LTU4LjUgMzJ0LTc0LjUgMjZ0LTg1LjUgMTEuNXEtOTUgMCAtMTU1IC00M3QtNjAgLTExMXEwIC0yNiA4LjUgLTQ4dDI5LjUgLTQxLjV0MzkuNSAtMzN0NTYgLTMxdDYwLjUgLTI3dDcwIC0yNy41cTUzIC0yMCA4MSAtMzEuNXQ3NiAtMzV0NzUuNSAtNDIuNXQ2MiAtNTAKdDUzIC02My41dDMxLjUgLTc2LjV0MTMgLTk0eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpbnIiIHVuaWNvZGU9IiYjeGYxNTY7IiBob3Jpei1hZHYteD0iODk4IiAKZD0iTTg5OCAxMDY2di0xMDJxMCAtMTQgLTkgLTIzdC0yMyAtOWgtMTY4cS0yMyAtMTQ0IC0xMjkgLTIzNHQtMjc2IC0xMTBxMTY3IC0xNzggNDU5IC01MzZxMTQgLTE2IDQgLTM0cS04IC0xOCAtMjkgLTE4aC0xOTVxLTE2IDAgLTI1IDEycS0zMDYgMzY3IC00OTggNTcxcS05IDkgLTkgMjJ2MTI3cTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoMTEycTEzMiAwIDIxMi41IDQzdDEwMi41IDEyNWgtNDI3cS0xNCAwIC0yMyA5dC05IDIzdjEwMgpxMCAxNCA5IDIzdDIzIDloNDEzcS01NyAxMTMgLTI2OCAxMTNoLTE0NXEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djEzM3EwIDE0IDkgMjN0MjMgOWg4MzJxMTQgMCAyMyAtOXQ5IC0yM3YtMTAycTAgLTE0IC05IC0yM3QtMjMgLTloLTIzM3E0NyAtNjEgNjQgLTE0NGgxNzFxMTQgMCAyMyAtOXQ5IC0yM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ianB5IiB1bmljb2RlPSImI3hmMTU3OyIgaG9yaXotYWR2LXg9IjEwMjciIApkPSJNNjAzIDBoLTE3MnEtMTMgMCAtMjIuNSA5dC05LjUgMjN2MzMwaC0yODhxLTEzIDAgLTIyLjUgOXQtOS41IDIzdjEwM3EwIDEzIDkuNSAyMi41dDIyLjUgOS41aDI4OHY4NWgtMjg4cS0xMyAwIC0yMi41IDl0LTkuNSAyM3YxMDRxMCAxMyA5LjUgMjIuNXQyMi41IDkuNWgyMTRsLTMyMSA1NzhxLTggMTYgMCAzMnExMCAxNiAyOCAxNmgxOTRxMTkgMCAyOSAtMThsMjE1IC00MjVxMTkgLTM4IDU2IC0xMjVxMTAgMjQgMzAuNSA2OHQyNy41IDYxCmwxOTEgNDIwcTggMTkgMjkgMTloMTkxcTE3IDAgMjcgLTE2cTkgLTE0IDEgLTMxbC0zMTMgLTU3OWgyMTVxMTMgMCAyMi41IC05LjV0OS41IC0yMi41di0xMDRxMCAtMTQgLTkuNSAtMjN0LTIyLjUgLTloLTI5MHYtODVoMjkwcTEzIDAgMjIuNSAtOS41dDkuNSAtMjIuNXYtMTAzcTAgLTE0IC05LjUgLTIzdC0yMi41IC05aC0yOTB2LTMzMHEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InJ1YiIgdW5pY29kZT0iJiN4ZjE1ODsiIGhvcml6LWFkdi14PSIxMjgwIiAKZD0iTTEwNDMgOTcxcTAgMTAwIC02NSAxNjJ0LTE3MSA2MmgtMzIwdi00NDhoMzIwcTEwNiAwIDE3MSA2MnQ2NSAxNjJ6TTEyODAgOTcxcTAgLTE5MyAtMTI2LjUgLTMxNXQtMzI2LjUgLTEyMmgtMzQwdi0xMThoNTA1cTE0IDAgMjMgLTl0OSAtMjN2LTEyOHEwIC0xNCAtOSAtMjN0LTIzIC05aC01MDV2LTE5MnEwIC0xNCAtOS41IC0yM3QtMjIuNSAtOWgtMTY3cS0xNCAwIC0yMyA5dC05IDIzdjE5MmgtMjI0cS0xNCAwIC0yMyA5dC05IDIzdjEyOApxMCAxNCA5IDIzdDIzIDloMjI0djExOGgtMjI0cS0xNCAwIC0yMyA5dC05IDIzdjE0OXEwIDEzIDkgMjIuNXQyMyA5LjVoMjI0djYyOXEwIDE0IDkgMjN0MjMgOWg1MzlxMjAwIDAgMzI2LjUgLTEyMnQxMjYuNSAtMzE1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJrcnciIHVuaWNvZGU9IiYjeGYxNTk7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik01MTQgMzQxbDgxIDI5OWgtMTU5bDc1IC0zMDBxMSAtMSAxIC0zdDEgLTNxMCAxIDAuNSAzLjV0MC41IDMuNXpNNjMwIDc2OGwzNSAxMjhoLTI5MmwzMiAtMTI4aDIyNXpNODIyIDc2OGgxMzlsLTM1IDEyOGgtNzB6TTEyNzEgMzQwbDc4IDMwMGgtMTYybDgxIC0yOTlxMCAtMSAwLjUgLTMuNXQxLjUgLTMuNXEwIDEgMC41IDN0MC41IDN6TTEzODIgNzY4bDMzIDEyOGgtMjk3bDM0IC0xMjhoMjMwek0xNzkyIDczNnYtNjRxMCAtMTQgLTkgLTIzCnQtMjMgLTloLTIxM2wtMTY0IC02MTZxLTcgLTI0IC0zMSAtMjRoLTE1OXEtMjQgMCAtMzEgMjRsLTE2NiA2MTZoLTIwOWwtMTY3IC02MTZxLTcgLTI0IC0zMSAtMjRoLTE1OXEtMTEgMCAtMTkuNSA3dC0xMC41IDE3bC0xNjAgNjE2aC0yMDhxLTE0IDAgLTIzIDl0LTkgMjN2NjRxMCAxNCA5IDIzdDIzIDloMTc1bC0zMyAxMjhoLTE0MnEtMTQgMCAtMjMgOXQtOSAyM3Y2NHEwIDE0IDkgMjN0MjMgOWgxMDlsLTg5IDM0NHEtNSAxNSA1IDI4CnExMCAxMiAyNiAxMmgxMzdxMjYgMCAzMSAtMjRsOTAgLTM2MGgzNTlsOTcgMzYwcTcgMjQgMzEgMjRoMTI2cTI0IDAgMzEgLTI0bDk4IC0zNjBoMzY1bDkzIDM2MHE1IDI0IDMxIDI0aDEzN3ExNiAwIDI2IC0xMnExMCAtMTMgNSAtMjhsLTkxIC0zNDRoMTExcTE0IDAgMjMgLTl0OSAtMjN2LTY0cTAgLTE0IC05IC0yM3QtMjMgLTloLTE0NWwtMzQgLTEyOGgxNzlxMTQgMCAyMyAtOXQ5IC0yM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYnRjIiB1bmljb2RlPSImI3hmMTVhOyIgaG9yaXotYWR2LXg9IjEyODAiIApkPSJNMTE2NyA4OTZxMTggLTE4MiAtMTMxIC0yNThxMTE3IC0yOCAxNzUgLTEwM3Q0NSAtMjE0cS03IC03MSAtMzIuNSAtMTI1dC02NC41IC04OXQtOTcgLTU4LjV0LTEyMS41IC0zNC41dC0xNDUuNSAtMTV2LTI1NWgtMTU0djI1MXEtODAgMCAtMTIyIDF2LTI1MmgtMTU0djI1NXEtMTggMCAtNTQgMC41dC01NSAwLjVoLTIwMGwzMSAxODNoMTExcTUwIDAgNTggNTF2NDAyaDE2cS02IDEgLTE2IDF2Mjg3cS0xMyA2OCAtODkgNjhoLTExMXYxNjQKbDIxMiAtMXE2NCAwIDk3IDF2MjUyaDE1NHYtMjQ3cTgyIDIgMTIyIDJ2MjQ1aDE1NHYtMjUycTc5IC03IDE0MCAtMjIuNXQxMTMgLTQ1dDgyLjUgLTc4dDM2LjUgLTExNC41ek05NTIgMzUxcTAgMzYgLTE1IDY0dC0zNyA0NnQtNTcuNSAzMC41dC02NS41IDE4LjV0LTc0IDl0LTY5IDN0LTY0LjUgLTF0LTQ3LjUgLTF2LTMzOHE4IDAgMzcgLTAuNXQ0OCAtMC41dDUzIDEuNXQ1OC41IDR0NTcgOC41dDU1LjUgMTR0NDcuNSAyMXQzOS41IDMwCnQyNC41IDQwdDkuNSA1MXpNODgxIDgyN3EwIDMzIC0xMi41IDU4LjV0LTMwLjUgNDJ0LTQ4IDI4dC01NSAxNi41dC02MS41IDh0LTU4IDIuNXQtNTQgLTF0LTM5LjUgLTAuNXYtMzA3cTUgMCAzNC41IC0wLjV0NDYuNSAwdDUwIDJ0NTUgNS41dDUxLjUgMTF0NDguNSAxOC41dDM3IDI3dDI3IDM4LjV0OSA1MXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZmlsZSIgdW5pY29kZT0iJiN4ZjE1YjsiIApkPSJNMTAyNCAxMDI0djQ3MnEyMiAtMTQgMzYgLTI4bDQwOCAtNDA4cTE0IC0xNCAyOCAtMzZoLTQ3MnpNODk2IDk5MnEwIC00MCAyOCAtNjh0NjggLTI4aDU0NHYtMTA1NnEwIC00MCAtMjggLTY4dC02OCAtMjhoLTEzNDRxLTQwIDAgLTY4IDI4dC0yOCA2OHYxNjAwcTAgNDAgMjggNjh0NjggMjhoODAwdi01NDR6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImZpbGVfdGV4dCIgdW5pY29kZT0iJiN4ZjE1YzsiIApkPSJNMTQ2OCAxMDYwcTE0IC0xNCAyOCAtMzZoLTQ3MnY0NzJxMjIgLTE0IDM2IC0yOHpNOTkyIDg5Nmg1NDR2LTEwNTZxMCAtNDAgLTI4IC02OHQtNjggLTI4aC0xMzQ0cS00MCAwIC02OCAyOHQtMjggNjh2MTYwMHEwIDQwIDI4IDY4dDY4IDI4aDgwMHYtNTQ0cTAgLTQwIDI4IC02OHQ2OCAtMjh6TTExNTIgMTYwdjY0cTAgMTQgLTkgMjN0LTIzIDloLTcwNHEtMTQgMCAtMjMgLTl0LTkgLTIzdi02NHEwIC0xNCA5IC0yM3QyMyAtOWg3MDQKcTE0IDAgMjMgOXQ5IDIzek0xMTUyIDQxNnY2NHEwIDE0IC05IDIzdC0yMyA5aC03MDRxLTE0IDAgLTIzIC05dC05IC0yM3YtNjRxMCAtMTQgOSAtMjN0MjMgLTloNzA0cTE0IDAgMjMgOXQ5IDIzek0xMTUyIDY3MnY2NHEwIDE0IC05IDIzdC0yMyA5aC03MDRxLTE0IDAgLTIzIC05dC05IC0yM3YtNjRxMCAtMTQgOSAtMjN0MjMgLTloNzA0cTE0IDAgMjMgOXQ5IDIzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJzb3J0X2J5X2FscGhhYmV0IiB1bmljb2RlPSImI3hmMTVkOyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNMTE5MSAxMTI4aDE3N2wtNzIgMjE4bC0xMiA0N3EtMiAxNiAtMiAyMGgtNGwtMyAtMjBxMCAtMSAtMy41IC0xOHQtNy41IC0yOXpNNzM2IDk2cTAgLTEyIC0xMCAtMjRsLTMxOSAtMzE5cS0xMCAtOSAtMjMgLTlxLTEyIDAgLTIzIDlsLTMyMCAzMjBxLTE1IDE2IC03IDM1cTggMjAgMzAgMjBoMTkydjEzNzZxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMgLTl0OSAtMjN2LTEzNzZoMTkycTE0IDAgMjMgLTl0OSAtMjN6TTE1NzIgLTIzCnYtMjMzaC01ODR2OTBsMzY5IDUyOXExMiAxOCAyMSAyN2wxMSA5djNxLTIgMCAtNi41IC0wLjV0LTcuNSAtMC41cS0xMiAtMyAtMzAgLTNoLTIzMnYtMTE1aC0xMjB2MjI5aDU2N3YtODlsLTM2OSAtNTMwcS02IC04IC0yMSAtMjZsLTExIC0xMXYtMmwxNCAycTkgMiAzMCAyaDI0OHYxMTloMTIxek0xNjYxIDg3NHYtMTA2aC0yODh2MTA2aDc1bC00NyAxNDRoLTI0M2wtNDcgLTE0NGg3NXYtMTA2aC0yODd2MTA2aDcwbDIzMCA2NjJoMTYyCmwyMzAgLTY2Mmg3MHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzMyOSIgdW5pY29kZT0iJiN4ZjE1ZTsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTExOTEgMTA0aDE3N2wtNzIgMjE4bC0xMiA0N3EtMiAxNiAtMiAyMGgtNGwtMyAtMjBxMCAtMSAtMy41IC0xOHQtNy41IC0yOXpNNzM2IDk2cTAgLTEyIC0xMCAtMjRsLTMxOSAtMzE5cS0xMCAtOSAtMjMgLTlxLTEyIDAgLTIzIDlsLTMyMCAzMjBxLTE1IDE2IC03IDM1cTggMjAgMzAgMjBoMTkydjEzNzZxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMgLTl0OSAtMjN2LTEzNzZoMTkycTE0IDAgMjMgLTl0OSAtMjN6TTE2NjEgLTE1MAp2LTEwNmgtMjg4djEwNmg3NWwtNDcgMTQ0aC0yNDNsLTQ3IC0xNDRoNzV2LTEwNmgtMjg3djEwNmg3MGwyMzAgNjYyaDE2MmwyMzAgLTY2Mmg3MHpNMTU3MiAxMDAxdi0yMzNoLTU4NHY5MGwzNjkgNTI5cTEyIDE4IDIxIDI3bDExIDl2M3EtMiAwIC02LjUgLTAuNXQtNy41IC0wLjVxLTEyIC0zIC0zMCAtM2gtMjMydi0xMTVoLTEyMHYyMjloNTY3di04OWwtMzY5IC01MzBxLTYgLTggLTIxIC0yNmwtMTEgLTEwdi0zbDE0IDNxOSAxIDMwIDFoMjQ4CnYxMTloMTIxeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJzb3J0X2J5X2F0dHJpYnV0ZXMiIHVuaWNvZGU9IiYjeGYxNjA7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik03MzYgOTZxMCAtMTIgLTEwIC0yNGwtMzE5IC0zMTlxLTEwIC05IC0yMyAtOXEtMTIgMCAtMjMgOWwtMzIwIDMyMHEtMTUgMTYgLTcgMzVxOCAyMCAzMCAyMGgxOTJ2MTM3NnEwIDE0IDkgMjN0MjMgOWgxOTJxMTQgMCAyMyAtOXQ5IC0yM3YtMTM3NmgxOTJxMTQgMCAyMyAtOXQ5IC0yM3pNMTc5MiAtMzJ2LTE5MnEwIC0xNCAtOSAtMjN0LTIzIC05aC04MzJxLTE0IDAgLTIzIDl0LTkgMjN2MTkycTAgMTQgOSAyM3QyMyA5aDgzMgpxMTQgMCAyMyAtOXQ5IC0yM3pNMTYwMCA0ODB2LTE5MnEwIC0xNCAtOSAtMjN0LTIzIC05aC02NDBxLTE0IDAgLTIzIDl0LTkgMjN2MTkycTAgMTQgOSAyM3QyMyA5aDY0MHExNCAwIDIzIC05dDkgLTIzek0xNDA4IDk5MnYtMTkycTAgLTE0IC05IC0yM3QtMjMgLTloLTQ0OHEtMTQgMCAtMjMgOXQtOSAyM3YxOTJxMCAxNCA5IDIzdDIzIDloNDQ4cTE0IDAgMjMgLTl0OSAtMjN6TTEyMTYgMTUwNHYtMTkycTAgLTE0IC05IC0yM3QtMjMgLTloLTI1NgpxLTE0IDAgLTIzIDl0LTkgMjN2MTkycTAgMTQgOSAyM3QyMyA5aDI1NnExNCAwIDIzIC05dDkgLTIzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJzb3J0X2J5X2F0dHJpYnV0ZXNfYWx0IiB1bmljb2RlPSImI3hmMTYxOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTIxNiAtMzJ2LTE5MnEwIC0xNCAtOSAtMjN0LTIzIC05aC0yNTZxLTE0IDAgLTIzIDl0LTkgMjN2MTkycTAgMTQgOSAyM3QyMyA5aDI1NnExNCAwIDIzIC05dDkgLTIzek03MzYgOTZxMCAtMTIgLTEwIC0yNGwtMzE5IC0zMTlxLTEwIC05IC0yMyAtOXEtMTIgMCAtMjMgOWwtMzIwIDMyMHEtMTUgMTYgLTcgMzVxOCAyMCAzMCAyMGgxOTJ2MTM3NnEwIDE0IDkgMjN0MjMgOWgxOTJxMTQgMCAyMyAtOXQ5IC0yM3YtMTM3NmgxOTIKcTE0IDAgMjMgLTl0OSAtMjN6TTE0MDggNDgwdi0xOTJxMCAtMTQgLTkgLTIzdC0yMyAtOWgtNDQ4cS0xNCAwIC0yMyA5dC05IDIzdjE5MnEwIDE0IDkgMjN0MjMgOWg0NDhxMTQgMCAyMyAtOXQ5IC0yM3pNMTYwMCA5OTJ2LTE5MnEwIC0xNCAtOSAtMjN0LTIzIC05aC02NDBxLTE0IDAgLTIzIDl0LTkgMjN2MTkycTAgMTQgOSAyM3QyMyA5aDY0MHExNCAwIDIzIC05dDkgLTIzek0xNzkyIDE1MDR2LTE5MnEwIC0xNCAtOSAtMjN0LTIzIC05aC04MzIKcS0xNCAwIC0yMyA5dC05IDIzdjE5MnEwIDE0IDkgMjN0MjMgOWg4MzJxMTQgMCAyMyAtOXQ5IC0yM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ic29ydF9ieV9vcmRlciIgdW5pY29kZT0iJiN4ZjE2MjsiIApkPSJNMTM0NiAyMjNxMCA2MyAtNDQgMTE2dC0xMDMgNTNxLTUyIDAgLTgzIC0zN3QtMzEgLTk0dDM2LjUgLTk1dDEwNC41IC0zOHE1MCAwIDg1IDI3dDM1IDY4ek03MzYgOTZxMCAtMTIgLTEwIC0yNGwtMzE5IC0zMTlxLTEwIC05IC0yMyAtOXEtMTIgMCAtMjMgOWwtMzIwIDMyMHEtMTUgMTYgLTcgMzVxOCAyMCAzMCAyMGgxOTJ2MTM3NnEwIDE0IDkgMjN0MjMgOWgxOTJxMTQgMCAyMyAtOXQ5IC0yM3YtMTM3NmgxOTJxMTQgMCAyMyAtOXQ5IC0yMwp6TTE0ODYgMTY1cTAgLTYyIC0xMyAtMTIxLjV0LTQxIC0xMTR0LTY4IC05NS41dC05OC41IC02NS41dC0xMjcuNSAtMjQuNXEtNjIgMCAtMTA4IDE2cS0yNCA4IC00MiAxNWwzOSAxMTNxMTUgLTcgMzEgLTExcTM3IC0xMyA3NSAtMTNxODQgMCAxMzQuNSA1OC41dDY2LjUgMTQ1LjVoLTJxLTIxIC0yMyAtNjEuNSAtMzd0LTg0LjUgLTE0cS0xMDYgMCAtMTczIDcxLjV0LTY3IDE3Mi41cTAgMTA1IDcyIDE3OHQxODEgNzNxMTIzIDAgMjA1IC05NC41CnQ4MiAtMjUyLjV6TTE0NTYgODgydi0xMTRoLTQ2OXYxMTRoMTY3djQzMnEwIDcgMC41IDE5dDAuNSAxN3YxNmgtMmwtNyAtMTJxLTggLTEzIC0yNiAtMzFsLTYyIC01OGwtODIgODZsMTkyIDE4NWgxMjN2LTY1NGgxNjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InNvcnRfYnlfb3JkZXJfYWx0IiB1bmljb2RlPSImI3hmMTYzOyIgCmQ9Ik0xMzQ2IDEyNDdxMCA2MyAtNDQgMTE2dC0xMDMgNTNxLTUyIDAgLTgzIC0zN3QtMzEgLTk0dDM2LjUgLTk1dDEwNC41IC0zOHE1MCAwIDg1IDI3dDM1IDY4ek03MzYgOTZxMCAtMTIgLTEwIC0yNGwtMzE5IC0zMTlxLTEwIC05IC0yMyAtOXEtMTIgMCAtMjMgOWwtMzIwIDMyMHEtMTUgMTYgLTcgMzVxOCAyMCAzMCAyMGgxOTJ2MTM3NnEwIDE0IDkgMjN0MjMgOWgxOTJxMTQgMCAyMyAtOXQ5IC0yM3YtMTM3NmgxOTJxMTQgMCAyMyAtOQp0OSAtMjN6TTE0NTYgLTE0MnYtMTE0aC00Njl2MTE0aDE2N3Y0MzJxMCA3IDAuNSAxOXQwLjUgMTd2MTZoLTJsLTcgLTEycS04IC0xMyAtMjYgLTMxbC02MiAtNThsLTgyIDg2bDE5MiAxODVoMTIzdi02NTRoMTY1ek0xNDg2IDExODlxMCAtNjIgLTEzIC0xMjEuNXQtNDEgLTExNHQtNjggLTk1LjV0LTk4LjUgLTY1LjV0LTEyNy41IC0yNC41cS02MiAwIC0xMDggMTZxLTI0IDggLTQyIDE1bDM5IDExM3ExNSAtNyAzMSAtMTFxMzcgLTEzIDc1IC0xMwpxODQgMCAxMzQuNSA1OC41dDY2LjUgMTQ1LjVoLTJxLTIxIC0yMyAtNjEuNSAtMzd0LTg0LjUgLTE0cS0xMDYgMCAtMTczIDcxLjV0LTY3IDE3Mi41cTAgMTA1IDcyIDE3OHQxODEgNzNxMTIzIDAgMjA1IC05NC41dDgyIC0yNTIuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzMzNCIgdW5pY29kZT0iJiN4ZjE2NDsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTI1NiAxOTJxMCAyNiAtMTkgNDV0LTQ1IDE5cS0yNyAwIC00NS41IC0xOXQtMTguNSAtNDVxMCAtMjcgMTguNSAtNDUuNXQ0NS41IC0xOC41cTI2IDAgNDUgMTguNXQxOSA0NS41ek00MTYgNzA0di02NDBxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0yODhxLTI2IDAgLTQ1IDE5dC0xOSA0NXY2NDBxMCAyNiAxOSA0NXQ0NSAxOWgyODhxMjYgMCA0NSAtMTl0MTkgLTQ1ek0xNjAwIDcwNHEwIC04NiAtNTUgLTE0OXExNSAtNDQgMTUgLTc2CnEzIC03NiAtNDMgLTEzN3ExNyAtNTYgMCAtMTE3cS0xNSAtNTcgLTU0IC05NHE5IC0xMTIgLTQ5IC0xODFxLTY0IC03NiAtMTk3IC03OGgtMzZoLTc2aC0xN3EtNjYgMCAtMTQ0IDE1LjV0LTEyMS41IDI5dC0xMjAuNSAzOS41cS0xMjMgNDMgLTE1OCA0NHEtMjYgMSAtNDUgMTkuNXQtMTkgNDQuNXY2NDFxMCAyNSAxOCA0My41dDQzIDIwLjVxMjQgMiA3NiA1OXQxMDEgMTIxcTY4IDg3IDEwMSAxMjBxMTggMTggMzEgNDh0MTcuNSA0OC41CnQxMy41IDYwLjVxNyAzOSAxMi41IDYxdDE5LjUgNTJ0MzQgNTBxMTkgMTkgNDUgMTlxNDYgMCA4Mi41IC0xMC41dDYwIC0yNnQ0MCAtNDAuNXQyNCAtNDV0MTIgLTUwdDUgLTQ1dDAuNSAtMzlxMCAtMzggLTkuNSAtNzZ0LTE5IC02MHQtMjcuNSAtNTZxLTMgLTYgLTEwIC0xOHQtMTEgLTIydC04IC0yNGgyNzdxNzggMCAxMzUgLTU3dDU3IC0xMzV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il8zMzUiIHVuaWNvZGU9IiYjeGYxNjU7IiBob3Jpei1hZHYteD0iMTY2NCIgCmQ9Ik0yNTYgOTYwcTAgLTI2IC0xOSAtNDV0LTQ1IC0xOXEtMjcgMCAtNDUuNSAxOXQtMTguNSA0NXEwIDI3IDE4LjUgNDUuNXQ0NS41IDE4LjVxMjYgMCA0NSAtMTguNXQxOSAtNDUuNXpNNDE2IDQ0OHY2NDBxMCAyNiAtMTkgNDV0LTQ1IDE5aC0yODhxLTI2IDAgLTQ1IC0xOXQtMTkgLTQ1di02NDBxMCAtMjYgMTkgLTQ1dDQ1IC0xOWgyODhxMjYgMCA0NSAxOXQxOSA0NXpNMTU0NSA1OTdxNTUgLTYxIDU1IC0xNDlxLTEgLTc4IC01Ny41IC0xMzUKdC0xMzQuNSAtNTdoLTI3N3E0IC0xNCA4IC0yNHQxMSAtMjJ0MTAgLTE4cTE4IC0zNyAyNyAtNTd0MTkgLTU4LjV0MTAgLTc2LjVxMCAtMjQgLTAuNSAtMzl0LTUgLTQ1dC0xMiAtNTB0LTI0IC00NXQtNDAgLTQwLjV0LTYwIC0yNnQtODIuNSAtMTAuNXEtMjYgMCAtNDUgMTlxLTIwIDIwIC0zNCA1MHQtMTkuNSA1MnQtMTIuNSA2MXEtOSA0MiAtMTMuNSA2MC41dC0xNy41IDQ4LjV0LTMxIDQ4cS0zMyAzMyAtMTAxIDEyMHEtNDkgNjQgLTEwMSAxMjEKdC03NiA1OXEtMjUgMiAtNDMgMjAuNXQtMTggNDMuNXY2NDFxMCAyNiAxOSA0NC41dDQ1IDE5LjVxMzUgMSAxNTggNDRxNzcgMjYgMTIwLjUgMzkuNXQxMjEuNSAyOXQxNDQgMTUuNWgxN2g3NmgzNnExMzMgLTIgMTk3IC03OHE1OCAtNjkgNDkgLTE4MXEzOSAtMzcgNTQgLTk0cTE3IC02MSAwIC0xMTdxNDYgLTYxIDQzIC0xMzdxMCAtMzIgLTE1IC03NnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ieW91dHViZV9zaWduIiB1bmljb2RlPSImI3hmMTY2OyIgCmQ9Ik05MTkgMjMzdjE1N3EwIDUwIC0yOSA1MHEtMTcgMCAtMzMgLTE2di0yMjRxMTYgLTE2IDMzIC0xNnEyOSAwIDI5IDQ5ek0xMTAzIDM1NWg2NnYzNHEwIDUxIC0zMyA1MXQtMzMgLTUxdi0zNHpNNTMyIDYyMXYtNzBoLTgwdi00MjNoLTc0djQyM2gtNzh2NzBoMjMyek03MzMgNDk1di0zNjdoLTY3djQwcS0zOSAtNDUgLTc2IC00NXEtMzMgMCAtNDIgMjhxLTYgMTcgLTYgNTR2MjkwaDY2di0yNzBxMCAtMjQgMSAtMjZxMSAtMTUgMTUgLTE1CnEyMCAwIDQyIDMxdjI4MGg2N3pNOTg1IDM4NHYtMTQ2cTAgLTUyIC03IC03M3EtMTIgLTQyIC01MyAtNDJxLTM1IDAgLTY4IDQxdi0zNmgtNjd2NDkzaDY3di0xNjFxMzIgNDAgNjggNDBxNDEgMCA1MyAtNDJxNyAtMjEgNyAtNzR6TTEyMzYgMjU1di05cTAgLTI5IC0yIC00M3EtMyAtMjIgLTE1IC00MHEtMjcgLTQwIC04MCAtNDBxLTUyIDAgLTgxIDM4cS0yMSAyNyAtMjEgODZ2MTI5cTAgNTkgMjAgODZxMjkgMzggODAgMzh0NzggLTM4CnEyMSAtMjkgMjEgLTg2di03NmgtMTMzdi02NXEwIC01MSAzNCAtNTFxMjQgMCAzMCAyNnEwIDEgMC41IDd0MC41IDE2LjV2MjEuNWg2OHpNNzg1IDEwNzl2LTE1NnEwIC01MSAtMzIgLTUxdC0zMiA1MXYxNTZxMCA1MiAzMiA1MnQzMiAtNTJ6TTEzMTggMzY2cTAgMTc3IC0xOSAyNjBxLTEwIDQ0IC00MyA3My41dC03NiAzNC41cS0xMzYgMTUgLTQxMiAxNXEtMjc1IDAgLTQxMSAtMTVxLTQ0IC01IC03Ni41IC0zNC41dC00Mi41IC03My41CnEtMjAgLTg3IC0yMCAtMjYwcTAgLTE3NiAyMCAtMjYwcTEwIC00MyA0Mi41IC03M3Q3NS41IC0zNXExMzcgLTE1IDQxMiAtMTV0NDEyIDE1cTQzIDUgNzUuNSAzNXQ0Mi41IDczcTIwIDg0IDIwIDI2MHpNNTYzIDEwMTdsOTAgMjk2aC03NWwtNTEgLTE5NWwtNTMgMTk1aC03OHE3IC0yMyAyMyAtNjlsMjQgLTY5cTM1IC0xMDMgNDYgLTE1OHYtMjAxaDc0djIwMXpNODUyIDkzNnYxMzBxMCA1OCAtMjEgODdxLTI5IDM4IC03OCAzOApxLTUxIDAgLTc4IC0zOHEtMjEgLTI5IC0yMSAtODd2LTEzMHEwIC01OCAyMSAtODdxMjcgLTM4IDc4IC0zOHE0OSAwIDc4IDM4cTIxIDI3IDIxIDg3ek0xMDMzIDgxNmg2N3YzNzBoLTY3di0yODNxLTIyIC0zMSAtNDIgLTMxcS0xNSAwIC0xNiAxNnEtMSAyIC0xIDI2djI3MmgtNjd2LTI5M3EwIC0zNyA2IC01NXExMSAtMjcgNDMgLTI3cTM2IDAgNzcgNDV2LTQwek0xNTM2IDExMjB2LTk2MHEwIC0xMTkgLTg0LjUgLTIwMy41dC0yMDMuNSAtODQuNQpoLTk2MHEtMTE5IDAgLTIwMy41IDg0LjV0LTg0LjUgMjAzLjV2OTYwcTAgMTE5IDg0LjUgMjAzLjV0MjAzLjUgODQuNWg5NjBxMTE5IDAgMjAzLjUgLTg0LjV0ODQuNSAtMjAzLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InlvdXR1YmUiIHVuaWNvZGU9IiYjeGYxNjc7IiAKZD0iTTk3MSAyOTJ2LTIxMXEwIC02NyAtMzkgLTY3cS0yMyAwIC00NSAyMnYzMDFxMjIgMjIgNDUgMjJxMzkgMCAzOSAtNjd6TTEzMDkgMjkxdi00NmgtOTB2NDZxMCA2OCA0NSA2OHQ0NSAtNjh6TTM0MyA1MDloMTA3djk0aC0zMTJ2LTk0aDEwNXYtNTY5aDEwMHY1Njl6TTYzMSAtNjBoODl2NDk0aC04OXYtMzc4cS0zMCAtNDIgLTU3IC00MnEtMTggMCAtMjEgMjFxLTEgMyAtMSAzNXYzNjRoLTg5di0zOTFxMCAtNDkgOCAtNzMKcTEyIC0zNyA1OCAtMzdxNDggMCAxMDIgNjF2LTU0ek0xMDYwIDg4djE5N3EwIDczIC05IDk5cS0xNyA1NiAtNzEgNTZxLTUwIDAgLTkzIC01NHYyMTdoLTg5di02NjNoODl2NDhxNDUgLTU1IDkzIC01NXE1NCAwIDcxIDU1cTkgMjcgOSAxMDB6TTEzOTggOTh2MTNoLTkxcTAgLTUxIC0yIC02MXEtNyAtMzYgLTQwIC0zNnEtNDYgMCAtNDYgNjl2ODdoMTc5djEwM3EwIDc5IC0yNyAxMTZxLTM5IDUxIC0xMDYgNTFxLTY4IDAgLTEwNyAtNTEKcS0yOCAtMzcgLTI4IC0xMTZ2LTE3M3EwIC03OSAyOSAtMTE2cTM5IC01MSAxMDggLTUxcTcyIDAgMTA4IDUzcTE4IDI3IDIxIDU0cTIgOSAyIDU4ek03OTAgMTAxMXYyMTBxMCA2OSAtNDMgNjl0LTQzIC02OXYtMjEwcTAgLTcwIDQzIC03MHQ0MyA3MHpNMTUwOSAyNjBxMCAtMjM0IC0yNiAtMzUwcS0xNCAtNTkgLTU4IC05OXQtMTAyIC00NnEtMTg0IC0yMSAtNTU1IC0yMXQtNTU1IDIxcS01OCA2IC0xMDIuNSA0NnQtNTcuNSA5OQpxLTI2IDExMiAtMjYgMzUwcTAgMjM0IDI2IDM1MHExNCA1OSA1OCA5OXQxMDMgNDdxMTgzIDIwIDU1NCAyMHQ1NTUgLTIwcTU4IC03IDEwMi41IC00N3Q1Ny41IC05OXEyNiAtMTEyIDI2IC0zNTB6TTUxMSAxNTM2aDEwMmwtMTIxIC0zOTl2LTI3MWgtMTAwdjI3MXEtMTQgNzQgLTYxIDIxMnEtMzcgMTAzIC02NSAxODdoMTA2bDcxIC0yNjN6TTg4MSAxMjAzdi0xNzVxMCAtODEgLTI4IC0xMThxLTM4IC01MSAtMTA2IC01MXEtNjcgMCAtMTA1IDUxCnEtMjggMzggLTI4IDExOHYxNzVxMCA4MCAyOCAxMTdxMzggNTEgMTA1IDUxcTY4IDAgMTA2IC01MXEyOCAtMzcgMjggLTExN3pNMTIxNiAxMzY1di00OTloLTkxdjU1cS01MyAtNjIgLTEwMyAtNjJxLTQ2IDAgLTU5IDM3cS04IDI0IC04IDc1djM5NGg5MXYtMzY3cTAgLTMzIDEgLTM1cTMgLTIyIDIxIC0yMnEyNyAwIDU3IDQzdjM4MWg5MXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ieGluZyIgdW5pY29kZT0iJiN4ZjE2ODsiIGhvcml6LWFkdi14PSIxNDA4IiAKZD0iTTU5NyA4NjlxLTEwIC0xOCAtMjU3IC00NTZxLTI3IC00NiAtNjUgLTQ2aC0yMzlxLTIxIDAgLTMxIDE3dDAgMzZsMjUzIDQ0OHExIDAgMCAxbC0xNjEgMjc5cS0xMiAyMiAtMSAzN3E5IDE1IDMyIDE1aDIzOXE0MCAwIDY2IC00NXpNMTQwMyAxNTExcTExIC0xNiAwIC0zN2wtNTI4IC05MzR2LTFsMzM2IC02MTVxMTEgLTIwIDEgLTM3cS0xMCAtMTUgLTMyIC0xNWgtMjM5cS00MiAwIC02NiA0NWwtMzM5IDYyMnExOCAzMiA1MzEgOTQyCnEyNSA0NSA2NCA0NWgyNDFxMjIgMCAzMSAtMTV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Inhpbmdfc2lnbiIgdW5pY29kZT0iJiN4ZjE2OTsiIApkPSJNNjg1IDc3MXEwIDEgLTEyNiAyMjJxLTIxIDM0IC01MiAzNGgtMTg0cS0xOCAwIC0yNiAtMTFxLTcgLTEyIDEgLTI5bDEyNSAtMjE2di0xbC0xOTYgLTM0NnEtOSAtMTQgMCAtMjhxOCAtMTMgMjQgLTEzaDE4NXEzMSAwIDUwIDM2ek0xMzA5IDEyNjhxLTcgMTIgLTI0IDEyaC0xODdxLTMwIDAgLTQ5IC0zNWwtNDExIC03MjlxMSAtMiAyNjIgLTQ4MXEyMCAtMzUgNTIgLTM1aDE4NHExOCAwIDI1IDEycTggMTMgLTEgMjhsLTI2MCA0NzZ2MQpsNDA5IDcyM3E4IDE2IDAgMjh6TTE1MzYgMTEyMHYtOTYwcTAgLTExOSAtODQuNSAtMjAzLjV0LTIwMy41IC04NC41aC05NjBxLTExOSAwIC0yMDMuNSA4NC41dC04NC41IDIwMy41djk2MHEwIDExOSA4NC41IDIwMy41dDIwMy41IDg0LjVoOTYwcTExOSAwIDIwMy41IC04NC41dDg0LjUgLTIwMy41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ5b3V0dWJlX3BsYXkiIHVuaWNvZGU9IiYjeGYxNmE7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik03MTEgNDA4bDQ4NCAyNTBsLTQ4NCAyNTN2LTUwM3pNODk2IDEyNzBxMTY4IDAgMzI0LjUgLTQuNXQyMjkuNSAtOS41bDczIC00cTEgMCAxNyAtMS41dDIzIC0zdDIzLjUgLTQuNXQyOC41IC04dDI4IC0xM3QzMSAtMTkuNXQyOSAtMjYuNXE2IC02IDE1LjUgLTE4LjV0MjkgLTU4LjV0MjYuNSAtMTAxcTggLTY0IDEyLjUgLTEzNi41dDUuNSAtMTEzLjV2LTQwdi0xMzZxMSAtMTQ1IC0xOCAtMjkwcS03IC01NSAtMjUgLTk5LjV0LTMyIC02MS41CmwtMTQgLTE3cS0xNCAtMTUgLTI5IC0yNi41dC0zMSAtMTl0LTI4IC0xMi41dC0yOC41IC04dC0yNCAtNC41dC0yMyAtM3QtMTYuNSAtMS41cS0yNTEgLTE5IC02MjcgLTE5cS0yMDcgMiAtMzU5LjUgNi41dC0yMDAuNSA3LjVsLTQ5IDRsLTM2IDRxLTM2IDUgLTU0LjUgMTB0LTUxIDIxdC01Ni41IDQxcS02IDYgLTE1LjUgMTguNXQtMjkgNTguNXQtMjYuNSAxMDFxLTggNjQgLTEyLjUgMTM2LjV0LTUuNSAxMTMuNXY0MHYxMzYKcS0xIDE0NSAxOCAyOTBxNyA1NSAyNSA5OS41dDMyIDYxLjVsMTQgMTdxMTQgMTUgMjkgMjYuNXQzMSAxOS41dDI4IDEzdDI4LjUgOHQyMy41IDQuNXQyMyAzdDE3IDEuNXEyNTEgMTggNjI3IDE4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJkcm9wYm94IiB1bmljb2RlPSImI3hmMTZiOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNNDAyIDgyOWw0OTQgLTMwNWwtMzQyIC0yODVsLTQ5MCAzMTl6TTEzODggMjc0di0xMDhsLTQ5MCAtMjkzdi0xbC0xIDFsLTEgLTF2MWwtNDg5IDI5M3YxMDhsMTQ3IC05NmwzNDIgMjg0djJsMSAtMWwxIDF2LTJsMzQzIC0yODR6TTU1NCAxNDE4bDM0MiAtMjg1bC00OTQgLTMwNGwtMzM4IDI3MHpNMTM5MCA4MjlsMzM4IC0yNzFsLTQ4OSAtMzE5bC0zNDMgMjg1ek0xMjM5IDE0MThsNDg5IC0zMTlsLTMzOCAtMjcwbC00OTQgMzA0eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJzdGFja2V4Y2hhbmdlIiB1bmljb2RlPSImI3hmMTZjOyIgCmQ9Ik0xMjg5IC05NmgtMTExOHY0ODBoLTE2MHYtNjQwaDE0Mzh2NjQwaC0xNjB2LTQ4MHpNMzQ3IDQyOGwzMyAxNTdsNzgzIC0xNjVsLTMzIC0xNTZ6TTQ1MCA4MDJsNjcgMTQ2bDcyNSAtMzM5bC02NyAtMTQ1ek02NTEgMTE1OGwxMDIgMTIzbDYxNCAtNTEzbC0xMDIgLTEyM3pNMTA0OCAxNTM2bDQ3NyAtNjQxbC0xMjggLTk2bC00NzcgNjQxek0zMzAgNjV2MTU5aDgwMHYtMTU5aC04MDB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Imluc3RhZ3JhbSIgdW5pY29kZT0iJiN4ZjE2ZDsiIApkPSJNMTAyNCA2NDBxMCAxMDYgLTc1IDE4MXQtMTgxIDc1dC0xODEgLTc1dC03NSAtMTgxdDc1IC0xODF0MTgxIC03NXQxODEgNzV0NzUgMTgxek0xMTYyIDY0MHEwIC0xNjQgLTExNSAtMjc5dC0yNzkgLTExNXQtMjc5IDExNXQtMTE1IDI3OXQxMTUgMjc5dDI3OSAxMTV0Mjc5IC0xMTV0MTE1IC0yNzl6TTEyNzAgMTA1MHEwIC0zOCAtMjcgLTY1dC02NSAtMjd0LTY1IDI3dC0yNyA2NXQyNyA2NXQ2NSAyN3Q2NSAtMjd0MjcgLTY1ek03NjggMTI3MApxLTcgMCAtNzYuNSAwLjV0LTEwNS41IDB0LTk2LjUgLTN0LTEwMyAtMTB0LTcxLjUgLTE4LjVxLTUwIC0yMCAtODggLTU4dC01OCAtODhxLTExIC0yOSAtMTguNSAtNzEuNXQtMTAgLTEwM3QtMyAtOTYuNXQwIC0xMDUuNXQwLjUgLTc2LjV0LTAuNSAtNzYuNXQwIC0xMDUuNXQzIC05Ni41dDEwIC0xMDN0MTguNSAtNzEuNXEyMCAtNTAgNTggLTg4dDg4IC01OHEyOSAtMTEgNzEuNSAtMTguNXQxMDMgLTEwdDk2LjUgLTN0MTA1LjUgMHQ3Ni41IDAuNQp0NzYuNSAtMC41dDEwNS41IDB0OTYuNSAzdDEwMyAxMHQ3MS41IDE4LjVxNTAgMjAgODggNTh0NTggODhxMTEgMjkgMTguNSA3MS41dDEwIDEwM3QzIDk2LjV0MCAxMDUuNXQtMC41IDc2LjV0MC41IDc2LjV0MCAxMDUuNXQtMyA5Ni41dC0xMCAxMDN0LTE4LjUgNzEuNXEtMjAgNTAgLTU4IDg4dC04OCA1OHEtMjkgMTEgLTcxLjUgMTguNXQtMTAzIDEwdC05Ni41IDN0LTEwNS41IDB0LTc2LjUgLTAuNXpNMTUzNiA2NDBxMCAtMjI5IC01IC0zMTcKcS0xMCAtMjA4IC0xMjQgLTMyMnQtMzIyIC0xMjRxLTg4IC01IC0zMTcgLTV0LTMxNyA1cS0yMDggMTAgLTMyMiAxMjR0LTEyNCAzMjJxLTUgODggLTUgMzE3dDUgMzE3cTEwIDIwOCAxMjQgMzIydDMyMiAxMjRxODggNSAzMTcgNXQzMTcgLTVxMjA4IC0xMCAzMjIgLTEyNHQxMjQgLTMyMnE1IC04OCA1IC0zMTd6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImZsaWNrciIgdW5pY29kZT0iJiN4ZjE2ZTsiIApkPSJNMTI0OCAxNDA4cTExOSAwIDIwMy41IC04NC41dDg0LjUgLTIwMy41di05NjBxMCAtMTE5IC04NC41IC0yMDMuNXQtMjAzLjUgLTg0LjVoLTk2MHEtMTE5IDAgLTIwMy41IDg0LjV0LTg0LjUgMjAzLjV2OTYwcTAgMTE5IDg0LjUgMjAzLjV0MjAzLjUgODQuNWg5NjB6TTY5OCA2NDBxMCA4OCAtNjIgMTUwdC0xNTAgNjJ0LTE1MCAtNjJ0LTYyIC0xNTB0NjIgLTE1MHQxNTAgLTYydDE1MCA2MnQ2MiAxNTB6TTEyNjIgNjQwcTAgODggLTYyIDE1MAp0LTE1MCA2MnQtMTUwIC02MnQtNjIgLTE1MHQ2MiAtMTUwdDE1MCAtNjJ0MTUwIDYydDYyIDE1MHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYWRuIiB1bmljb2RlPSImI3hmMTcwOyIgCmQ9Ik03NjggOTE0bDIwMSAtMzA2aC00MDJ6TTExMzMgMzg0aDk0bC00NTkgNjkxbC00NTkgLTY5MWg5NGwxMDQgMTYwaDUyMnpNMTUzNiA2NDBxMCAtMjA5IC0xMDMgLTM4NS41dC0yNzkuNSAtMjc5LjV0LTM4NS41IC0xMDN0LTM4NS41IDEwM3QtMjc5LjUgMjc5LjV0LTEwMyAzODUuNXQxMDMgMzg1LjV0Mjc5LjUgMjc5LjV0Mzg1LjUgMTAzdDM4NS41IC0xMDN0Mjc5LjUgLTI3OS41dDEwMyAtMzg1LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImYxNzEiIHVuaWNvZGU9IiYjeGYxNzE7IiBob3Jpei1hZHYteD0iMTQwOCIgCmQ9Ik04MTUgNjc3cTggLTYzIC01MC41IC0xMDF0LTExMS41IC02cS0zOSAxNyAtNTMuNSA1OHQtMC41IDgydDUyIDU4cTM2IDE4IDcyLjUgMTJ0NjQgLTM1LjV0MjcuNSAtNjcuNXpNOTI2IDY5OHEtMTQgMTA3IC0xMTMgMTY0dC0xOTcgMTNxLTYzIC0yOCAtMTAwLjUgLTg4LjV0LTM0LjUgLTEyOS41cTQgLTkxIDc3LjUgLTE1NXQxNjUuNSAtNTZxOTEgOCAxNTIgODR0NTAgMTY4ek0xMTY1IDEyNDBxLTIwIDI3IC01NiA0NC41dC01OCAyMgp0LTcxIDEyLjVxLTI5MSA0NyAtNTY2IC0ycS00MyAtNyAtNjYgLTEydC01NSAtMjJ0LTUwIC00M3EzMCAtMjggNzYgLTQ1LjV0NzMuNSAtMjJ0ODcuNSAtMTEuNXEyMjggLTI5IDQ0OCAtMXE2MyA4IDg5LjUgMTJ0NzIuNSAyMS41dDc1IDQ2LjV6TTEyMjIgMjA1cS04IC0yNiAtMTUuNSAtNzYuNXQtMTQgLTg0dC0yOC41IC03MHQtNTggLTU2LjVxLTg2IC00OCAtMTg5LjUgLTcxLjV0LTIwMiAtMjJ0LTIwMS41IDE4LjVxLTQ2IDggLTgxLjUgMTgKdC03Ni41IDI3dC03MyA0My41dC01MiA2MS41cS0yNSA5NiAtNTcgMjkybDYgMTZsMTggOXEyMjMgLTE0OCA1MDYuNSAtMTQ4dDUwNy41IDE0OHEyMSAtNiAyNCAtMjN0LTUgLTQ1dC04IC0zN3pNMTQwMyAxMTY2cS0yNiAtMTY3IC0xMTEgLTY1NXEtNSAtMzAgLTI3IC01NnQtNDMuNSAtNDB0LTU0LjUgLTMxcS0yNTIgLTEyNiAtNjEwIC04OHEtMjQ4IDI3IC0zOTQgMTM5cS0xNSAxMiAtMjUuNSAyNi41dC0xNyAzNXQtOSAzNHQtNiAzOS41CnQtNS41IDM1cS05IDUwIC0yNi41IDE1MHQtMjggMTYxLjV0LTIzLjUgMTQ3LjV0LTIyIDE1OHEzIDI2IDE3LjUgNDguNXQzMS41IDM3LjV0NDUgMzB0NDYgMjIuNXQ0OCAxOC41cTEyNSA0NiAzMTMgNjRxMzc5IDM3IDY3NiAtNTBxMTU1IC00NiAyMTUgLTEyMnExNiAtMjAgMTYuNSAtNTF0LTUuNSAtNTR6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImJpdGJ1Y2tldF9zaWduIiB1bmljb2RlPSImI3hmMTcyOyIgCmQ9Ik04NDggNjY2cTAgNDMgLTQxIDY2dC03NyAxcS00MyAtMjAgLTQyLjUgLTcyLjV0NDMuNSAtNzAuNXEzOSAtMjMgODEgNHQzNiA3MnpNOTI4IDY4MnE4IC02NiAtMzYgLTEyMXQtMTEwIC02MXQtMTE5IDQwdC01NiAxMTNxLTIgNDkgMjUuNSA5M3Q3Mi41IDY0cTcwIDMxIDE0MS41IC0xMHQ4MS41IC0xMTh6TTExMDAgMTA3M3EtMjAgLTIxIC01My41IC0zNHQtNTMgLTE2dC02My41IC04cS0xNTUgLTIwIC0zMjQgMHEtNDQgNiAtNjMgOS41CnQtNTIuNSAxNnQtNTQuNSAzMi41cTEzIDE5IDM2IDMxdDQwIDE1LjV0NDcgOC41cTE5OCAzNSA0MDggMXEzMyAtNSA1MSAtOC41dDQzIC0xNnQzOSAtMzEuNXpNMTE0MiAzMjdxMCA3IDUuNSAyNi41dDMgMzJ0LTE3LjUgMTYuNXEtMTYxIC0xMDYgLTM2NSAtMTA2dC0zNjYgMTA2bC0xMiAtNmwtNSAtMTJxMjYgLTE1NCA0MSAtMjEwcTQ3IC04MSAyMDQgLTEwOHEyNDkgLTQ2IDQyOCA1M3EzNCAxOSA0OSA1MS41dDIyLjUgODUuNXQxMi41IDcxegpNMTI3MiAxMDIwcTkgNTMgLTggNzVxLTQzIDU1IC0xNTUgODhxLTIxNiA2MyAtNDg3IDM2cS0xMzIgLTEyIC0yMjYgLTQ2cS0zOCAtMTUgLTU5LjUgLTI1dC00NyAtMzR0LTI5LjUgLTU0cTggLTY4IDE5IC0xMzh0MjkgLTE3MXQyNCAtMTM3cTEgLTUgNSAtMzF0NyAtMzZ0MTIgLTI3dDIyIC0yOHExMDUgLTgwIDI4NCAtMTAwcTI1OSAtMjggNDQwIDYzcTI0IDEzIDM5LjUgMjN0MzEgMjl0MTkuNSA0MHE0OCAyNjcgODAgNDczek0xNTM2IDExMjAKdi05NjBxMCAtMTE5IC04NC41IC0yMDMuNXQtMjAzLjUgLTg0LjVoLTk2MHEtMTE5IDAgLTIwMy41IDg0LjV0LTg0LjUgMjAzLjV2OTYwcTAgMTE5IDg0LjUgMjAzLjV0MjAzLjUgODQuNWg5NjBxMTE5IDAgMjAzLjUgLTg0LjV0ODQuNSAtMjAzLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InR1bWJsciIgdW5pY29kZT0iJiN4ZjE3MzsiIGhvcml6LWFkdi14PSIxMDI0IiAKZD0iTTk0NCAyMDdsODAgLTIzN3EtMjMgLTM1IC0xMTEgLTY2dC0xNzcgLTMycS0xMDQgLTIgLTE5MC41IDI2dC0xNDIuNSA3NHQtOTUgMTA2dC01NS41IDEyMHQtMTYuNSAxMTh2NTQ0aC0xNjh2MjE1cTcyIDI2IDEyOSA2OS41dDkxIDkwdDU4IDEwMnQzNCA5OXQxNSA4OC41cTEgNSA0LjUgOC41dDcuNSAzLjVoMjQ0di00MjRoMzMzdi0yNTJoLTMzNHYtNTE4cTAgLTMwIDYuNSAtNTZ0MjIuNSAtNTIuNXQ0OS41IC00MS41dDgxLjUgLTE0CnE3OCAyIDEzNCAyOXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idHVtYmxyX3NpZ24iIHVuaWNvZGU9IiYjeGYxNzQ7IiAKZD0iTTExMzYgNzVsLTYyIDE4M3EtNDQgLTIyIC0xMDMgLTIycS0zNiAtMSAtNjIgMTAuNXQtMzguNSAzMS41dC0xNy41IDQwLjV0LTUgNDMuNXYzOThoMjU3djE5NGgtMjU2djMyNmgtMTg4cS04IDAgLTkgLTEwcS01IC00NCAtMTcuNSAtODd0LTM5IC05NXQtNzcgLTk1dC0xMTguNSAtNjh2LTE2NWgxMzB2LTQxOHEwIC01NyAyMS41IC0xMTV0NjUgLTExMXQxMjEgLTg1LjV0MTc2LjUgLTMwLjVxNjkgMSAxMzYuNSAyNXQ4NS41IDUwegpNMTUzNiAxMTIwdi05NjBxMCAtMTE5IC04NC41IC0yMDMuNXQtMjAzLjUgLTg0LjVoLTk2MHEtMTE5IDAgLTIwMy41IDg0LjV0LTg0LjUgMjAzLjV2OTYwcTAgMTE5IDg0LjUgMjAzLjV0MjAzLjUgODQuNWg5NjBxMTE5IDAgMjAzLjUgLTg0LjV0ODQuNSAtMjAzLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImxvbmdfYXJyb3dfZG93biIgdW5pY29kZT0iJiN4ZjE3NTsiIGhvcml6LWFkdi14PSI3NjgiIApkPSJNNzY1IDIzN3E4IC0xOSAtNSAtMzVsLTM1MCAtMzg0cS0xMCAtMTAgLTIzIC0xMHEtMTQgMCAtMjQgMTBsLTM1NSAzODRxLTEzIDE2IC01IDM1cTkgMTkgMjkgMTloMjI0djEyNDhxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMgLTl0OSAtMjN2LTEyNDhoMjI0cTIxIDAgMjkgLTE5eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJsb25nX2Fycm93X3VwIiB1bmljb2RlPSImI3hmMTc2OyIgaG9yaXotYWR2LXg9Ijc2OCIgCmQ9Ik03NjUgMTA0M3EtOSAtMTkgLTI5IC0xOWgtMjI0di0xMjQ4cTAgLTE0IC05IC0yM3QtMjMgLTloLTE5MnEtMTQgMCAtMjMgOXQtOSAyM3YxMjQ4aC0yMjRxLTIxIDAgLTI5IDE5dDUgMzVsMzUwIDM4NHExMCAxMCAyMyAxMHExNCAwIDI0IC0xMGwzNTUgLTM4NHExMyAtMTYgNSAtMzV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImxvbmdfYXJyb3dfbGVmdCIgdW5pY29kZT0iJiN4ZjE3NzsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE3OTIgNzM2di0xOTJxMCAtMTQgLTkgLTIzdC0yMyAtOWgtMTI0OHYtMjI0cTAgLTIxIC0xOSAtMjl0LTM1IDVsLTM4NCAzNTBxLTEwIDEwIC0xMCAyM3EwIDE0IDEwIDI0bDM4NCAzNTRxMTYgMTQgMzUgNnExOSAtOSAxOSAtMjl2LTIyNGgxMjQ4cTE0IDAgMjMgLTl0OSAtMjN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImxvbmdfYXJyb3dfcmlnaHQiIHVuaWNvZGU9IiYjeGYxNzg7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xNzI4IDY0M3EwIC0xNCAtMTAgLTI0bC0zODQgLTM1NHEtMTYgLTE0IC0zNSAtNnEtMTkgOSAtMTkgMjl2MjI0aC0xMjQ4cS0xNCAwIC0yMyA5dC05IDIzdjE5MnEwIDE0IDkgMjN0MjMgOWgxMjQ4djIyNHEwIDIxIDE5IDI5dDM1IC01bDM4NCAtMzUwcTEwIC0xMCAxMCAtMjN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImFwcGxlIiB1bmljb2RlPSImI3hmMTc5OyIgaG9yaXotYWR2LXg9IjE0MDgiIApkPSJNMTM5MyAzMjFxLTM5IC0xMjUgLTEyMyAtMjUwcS0xMjkgLTE5NiAtMjU3IC0xOTZxLTQ5IDAgLTE0MCAzMnEtODYgMzIgLTE1MSAzMnEtNjEgMCAtMTQyIC0zM3EtODEgLTM0IC0xMzIgLTM0cS0xNTIgMCAtMzAxIDI1OXEtMTQ3IDI2MSAtMTQ3IDUwM3EwIDIyOCAxMTMgMzc0cTExMyAxNDQgMjg0IDE0NHE3MiAwIDE3NyAtMzBxMTA0IC0zMCAxMzggLTMwcTQ1IDAgMTQzIDM0cTEwMiAzNCAxNzMgMzRxMTE5IDAgMjEzIC02NQpxNTIgLTM2IDEwNCAtMTAwcS03OSAtNjcgLTExNCAtMTE4cS02NSAtOTQgLTY1IC0yMDdxMCAtMTI0IDY5IC0yMjN0MTU4IC0xMjZ6TTEwMTcgMTQ5NHEwIC02MSAtMjkgLTEzNnEtMzAgLTc1IC05MyAtMTM4cS01NCAtNTQgLTEwOCAtNzJxLTM3IC0xMSAtMTA0IC0xN3EzIDE0OSA3OCAyNTdxNzQgMTA3IDI1MCAxNDhxMSAtMyAyLjUgLTExdDIuNSAtMTFxMCAtNCAwLjUgLTEwdDAuNSAtMTB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9IndpbmRvd3MiIHVuaWNvZGU9IiYjeGYxN2E7IiBob3Jpei1hZHYteD0iMTY2NCIgCmQ9Ik02ODIgNTMwdi02NTFsLTY4MiA5NHY1NTdoNjgyek02ODIgMTI3M3YtNjU5aC02ODJ2NTY1ek0xNjY0IDUzMHYtNzg2bC05MDcgMTI1djY2MWg5MDd6TTE2NjQgMTQwOHYtNzk0aC05MDd2NjY5eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJhbmRyb2lkIiB1bmljb2RlPSImI3hmMTdiOyIgaG9yaXotYWR2LXg9IjE0MDgiIApkPSJNNDkzIDEwNTNxMTYgMCAyNy41IDExLjV0MTEuNSAyNy41dC0xMS41IDI3LjV0LTI3LjUgMTEuNXQtMjcgLTExLjV0LTExIC0yNy41dDExIC0yNy41dDI3IC0xMS41ek05MTUgMTA1M3ExNiAwIDI3IDExLjV0MTEgMjcuNXQtMTEgMjcuNXQtMjcgMTEuNXQtMjcuNSAtMTEuNXQtMTEuNSAtMjcuNXQxMS41IC0yNy41dDI3LjUgLTExLjV6TTEwMyA4NjlxNDIgMCA3MiAtMzB0MzAgLTcydi00MzBxMCAtNDMgLTI5LjUgLTczdC03Mi41IC0zMAp0LTczIDMwdC0zMCA3M3Y0MzBxMCA0MiAzMCA3MnQ3MyAzMHpNMTE2MyA4NTB2LTY2NnEwIC00NiAtMzIgLTc4dC03NyAtMzJoLTc1di0yMjdxMCAtNDMgLTMwIC03M3QtNzMgLTMwdC03MyAzMHQtMzAgNzN2MjI3aC0xMzh2LTIyN3EwIC00MyAtMzAgLTczdC03MyAtMzBxLTQyIDAgLTcyIDMwdC0zMCA3M2wtMSAyMjdoLTc0cS00NiAwIC03OCAzMnQtMzIgNzh2NjY2aDkxOHpNOTMxIDEyNTVxMTA3IC01NSAxNzEgLTE1My41dDY0IC0yMTUuNQpoLTkyNXEwIDExNyA2NCAyMTUuNXQxNzIgMTUzLjVsLTcxIDEzMXEtNyAxMyA1IDIwcTEzIDYgMjAgLTZsNzIgLTEzMnE5NSA0MiAyMDEgNDJ0MjAxIC00Mmw3MiAxMzJxNyAxMiAyMCA2cTEyIC03IDUgLTIwek0xNDA4IDc2N3YtNDMwcTAgLTQzIC0zMCAtNzN0LTczIC0zMHEtNDIgMCAtNzIgMzB0LTMwIDczdjQzMHEwIDQzIDMwIDcyLjV0NzIgMjkuNXE0MyAwIDczIC0yOS41dDMwIC03Mi41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJsaW51eCIgdW5pY29kZT0iJiN4ZjE3YzsiIApkPSJNNjYzIDExMjVxLTExIC0xIC0xNS41IC0xMC41dC04LjUgLTkuNXEtNSAtMSAtNSA1cTAgMTIgMTkgMTVoMTB6TTc1MCAxMTExcS00IC0xIC0xMS41IDYuNXQtMTcuNSA0LjVxMjQgMTEgMzIgLTJxMyAtNiAtMyAtOXpNMzk5IDY4NHEtNCAxIC02IC0zdC00LjUgLTEyLjV0LTUuNSAtMTMuNXQtMTAgLTEzcS0xMCAtMTEgLTEgLTEycTQgLTEgMTIuNSA3dDEyLjUgMThxMSAzIDIgN3QyIDZ0MS41IDQuNXQwLjUgNHYzdC0xIDIuNXQtMyAyegpNMTI1NCAzMjVxMCAxOCAtNTUgNDJxNCAxNSA3LjUgMjcuNXQ1IDI2dDMgMjEuNXQwLjUgMjIuNXQtMSAxOS41dC0zLjUgMjJ0LTQgMjAuNXQtNSAyNXQtNS41IDI2LjVxLTEwIDQ4IC00NyAxMDN0LTcyIDc1cTI0IC0yMCA1NyAtODNxODcgLTE2MiA1NCAtMjc4cS0xMSAtNDAgLTUwIC00MnEtMzEgLTQgLTM4LjUgMTguNXQtOCA4My41dC0xMS41IDEwN3EtOSAzOSAtMTkuNSA2OXQtMTkuNSA0NS41dC0xNS41IDI0LjV0LTEzIDE1dC03LjUgNwpxLTE0IDYyIC0zMSAxMDN0LTI5LjUgNTZ0LTIzLjUgMzN0LTE1IDQwcS00IDIxIDYgNTMuNXQ0LjUgNDkuNXQtNDQuNSAyNXEtMTUgMyAtNDQuNSAxOHQtMzUuNSAxNnEtOCAxIC0xMSAyNnQ4IDUxdDM2IDI3cTM3IDMgNTEgLTMwdDQgLTU4cS0xMSAtMTkgLTIgLTI2LjV0MzAgLTAuNXExMyA0IDEzIDM2djM3cS01IDMwIC0xMy41IDUwdC0yMSAzMC41dC0yMy41IDE1dC0yNyA3LjVxLTEwNyAtOCAtODkgLTEzNHEwIC0xNSAtMSAtMTUKcS05IDkgLTI5LjUgMTAuNXQtMzMgLTAuNXQtMTUuNSA1cTEgNTcgLTE2IDkwdC00NSAzNHEtMjcgMSAtNDEuNSAtMjcuNXQtMTYuNSAtNTkuNXEtMSAtMTUgMy41IC0zN3QxMyAtMzcuNXQxNS41IC0xMy41cTEwIDMgMTYgMTRxNCA5IC03IDhxLTcgMCAtMTUuNSAxNC41dC05LjUgMzMuNXEtMSAyMiA5IDM3dDM0IDE0cTE3IDAgMjcgLTIxdDkuNSAtMzl0LTEuNSAtMjJxLTIyIC0xNSAtMzEgLTI5cS04IC0xMiAtMjcuNSAtMjMuNQp0LTIwLjUgLTEyLjVxLTEzIC0xNCAtMTUuNSAtMjd0Ny41IC0xOHExNCAtOCAyNSAtMTkuNXQxNiAtMTl0MTguNSAtMTN0MzUuNSAtNi41cTQ3IC0yIDEwMiAxNXEyIDEgMjMgN3QzNC41IDEwLjV0MjkuNSAxM3QyMSAxNy41cTkgMTQgMjAgOHE1IC0zIDYuNSAtOC41dC0zIC0xMnQtMTYuNSAtOS41cS0yMCAtNiAtNTYuNSAtMjEuNXQtNDUuNSAtMTkuNXEtNDQgLTE5IC03MCAtMjNxLTI1IC01IC03OSAycS0xMCAyIC05IC0ydDE3IC0xOQpxMjUgLTIzIDY3IC0yMnExNyAxIDM2IDd0MzYgMTR0MzMuNSAxNy41dDMwIDE3dDI0LjUgMTJ0MTcuNSAyLjV0OC41IC0xMXEwIC0yIC0xIC00LjV0LTQgLTV0LTYgLTQuNXQtOC41IC01dC05IC00LjV0LTEwIC01dC05LjUgLTQuNXEtMjggLTE0IC02Ny41IC00NHQtNjYuNSAtNDN0LTQ5IC0xcS0yMSAxMSAtNjMgNzNxLTIyIDMxIC0yNSAyMnEtMSAtMyAtMSAtMTBxMCAtMjUgLTE1IC01Ni41dC0yOS41IC01NS41dC0yMSAtNTh0MTEuNSAtNjMKcS0yMyAtNiAtNjIuNSAtOTB0LTQ3LjUgLTE0MXEtMiAtMTggLTEuNSAtNjl0LTUuNSAtNTlxLTggLTI0IC0yOSAtM3EtMzIgMzEgLTM2IDk0cS0yIDI4IDQgNTZxNCAxOSAtMSAxOHEtMiAtMSAtNCAtNXEtMzYgLTY1IDEwIC0xNjZxNSAtMTIgMjUgLTI4dDI0IC0yMHEyMCAtMjMgMTA0IC05MC41dDkzIC03Ni41cTE2IC0xNSAxNy41IC0zOHQtMTQgLTQzdC00NS41IC0yM3E4IC0xNSAyOSAtNDQuNXQyOCAtNTR0NyAtNzAuNXE0NiAyNCA3IDkyCnEtNCA4IC0xMC41IDE2dC05LjUgMTJ0LTIgNnEzIDUgMTMgOS41dDIwIC0yLjVxNDYgLTUyIDE2NiAtMzZxMTMzIDE1IDE3NyA4N3EyMyAzOCAzNCAzMHExMiAtNiAxMCAtNTJxLTEgLTI1IC0yMyAtOTJxLTkgLTIzIC02IC0zNy41dDI0IC0xNS41cTMgMTkgMTQuNSA3N3QxMy41IDkwcTIgMjEgLTYuNSA3My41dC03LjUgOTd0MjMgNzAuNXExNSAxOCA1MSAxOHExIDM3IDM0LjUgNTN0NzIuNSAxMC41dDYwIC0yMi41ek02MjYgMTE1MgpxMyAxNyAtMi41IDMwdC0xMS41IDE1cS05IDIgLTkgLTdxMiAtNSA1IC02cTEwIDAgNyAtMTVxLTMgLTIwIDggLTIwcTMgMCAzIDN6TTEwNDUgOTU1cS0yIDggLTYuNSAxMS41dC0xMyA1dC0xNC41IDUuNXEtNSAzIC05LjUgOHQtNyA4dC01LjUgNi41dC00IDR0LTQgLTEuNXEtMTQgLTE2IDcgLTQzLjV0MzkgLTMxLjVxOSAtMSAxNC41IDh0My41IDIwek04NjcgMTE2OHEwIDExIC01IDE5LjV0LTExIDEyLjV0LTkgM3EtNiAwIC04IC0ydDAgLTQKdDUgLTNxMTQgLTQgMTggLTMxcTAgLTMgOCAycTIgMiAyIDN6TTkyMSAxNDAxcTAgMiAtMi41IDV0LTkgN3QtOS41IDZxLTE1IDE1IC0yNCAxNXEtOSAtMSAtMTEuNSAtNy41dC0xIC0xM3QtMC41IC0xMi41cS0xIC00IC02IC0xMC41dC02IC05dDMgLTguNXE0IC0zIDggMHQxMSA5dDE1IDlxMSAxIDkgMXQxNSAydDkgN3pNMTQ4NiA2MHEyMCAtMTIgMzEgLTI0LjV0MTIgLTI0dC0yLjUgLTIyLjV0LTE1LjUgLTIydC0yMy41IC0xOS41CnQtMzAgLTE4LjV0LTMxLjUgLTE2LjV0LTMyIC0xNS41dC0yNyAtMTNxLTM4IC0xOSAtODUuNSAtNTZ0LTc1LjUgLTY0cS0xNyAtMTYgLTY4IC0xOS41dC04OSAxNC41cS0xOCA5IC0yOS41IDIzLjV0LTE2LjUgMjUuNXQtMjIgMTkuNXQtNDcgOS41cS00NCAxIC0xMzAgMXEtMTkgMCAtNTcgLTEuNXQtNTggLTIuNXEtNDQgLTEgLTc5LjUgLTE1dC01My41IC0zMHQtNDMuNSAtMjguNXQtNTMuNSAtMTEuNXEtMjkgMSAtMTExIDMxdC0xNDYgNDMKcS0xOSA0IC01MSA5LjV0LTUwIDl0LTM5LjUgOS41dC0zMy41IDE0LjV0LTE3IDE5LjVxLTEwIDIzIDcgNjYuNXQxOCA1NC41cTEgMTYgLTQgNDB0LTEwIDQyLjV0LTQuNSAzNi41dDEwLjUgMjdxMTQgMTIgNTcgMTR0NjAgMTJxMzAgMTggNDIgMzV0MTIgNTFxMjEgLTczIC0zMiAtMTA2cS0zMiAtMjAgLTgzIC0xNXEtMzQgMyAtNDMgLTEwcS0xMyAtMTUgNSAtNTdxMiAtNiA4IC0xOHQ4LjUgLTE4dDQuNSAtMTd0MSAtMjJxMCAtMTUgLTE3IC00OQp0LTE0IC00OHEzIC0xNyAzNyAtMjZxMjAgLTYgODQuNSAtMTguNXQ5OS41IC0yMC41cTI0IC02IDc0IC0yMnQ4Mi41IC0yM3Q1NS41IC00cTQzIDYgNjQuNSAyOHQyMyA0OHQtNy41IDU4LjV0LTE5IDUydC0yMCAzNi41cS0xMjEgMTkwIC0xNjkgMjQycS02OCA3NCAtMTEzIDQwcS0xMSAtOSAtMTUgMTVxLTMgMTYgLTIgMzhxMSAyOSAxMCA1MnQyNCA0N3QyMiA0MnE4IDIxIDI2LjUgNzJ0MjkuNSA3OHQzMCA2MXQzOSA1NApxMTEwIDE0MyAxMjQgMTk1cS0xMiAxMTIgLTE2IDMxMHEtMiA5MCAyNCAxNTEuNXQxMDYgMTA0LjVxMzkgMjEgMTA0IDIxcTUzIDEgMTA2IC0xMy41dDg5IC00MS41cTU3IC00MiA5MS41IC0xMjEuNXQyOS41IC0xNDcuNXEtNSAtOTUgMzAgLTIxNHEzNCAtMTEzIDEzMyAtMjE4cTU1IC01OSA5OS41IC0xNjN0NTkuNSAtMTkxcTggLTQ5IDUgLTg0LjV0LTEyIC01NS41dC0yMCAtMjJxLTEwIC0yIC0yMy41IC0xOXQtMjcgLTM1LjUKdC00MC41IC0zMy41dC02MSAtMTRxLTE4IDEgLTMxLjUgNXQtMjIuNSAxMy41dC0xMy41IDE1LjV0LTExLjUgMjAuNXQtOSAxOS41cS0yMiAzNyAtNDEgMzB0LTI4IC00OXQ3IC05N3EyMCAtNzAgMSAtMTk1cS0xMCAtNjUgMTggLTEwMC41dDczIC0zM3Q4NSAzNS41cTU5IDQ5IDg5LjUgNjYuNXQxMDMuNSA0Mi41cTUzIDE4IDc3IDM2LjV0MTguNSAzNC41dC0yNSAyOC41dC01MS41IDIzLjVxLTMzIDExIC00OS41IDQ4dC0xNSA3Mi41CnQxNS41IDQ3LjVxMSAtMzEgOCAtNTYuNXQxNC41IC00MC41dDIwLjUgLTI4LjV0MjEgLTE5dDIxLjUgLTEzdDE2LjUgLTkuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZHJpYmJsZSIgdW5pY29kZT0iJiN4ZjE3ZDsiIApkPSJNMTAyNCAzNnEtNDIgMjQxIC0xNDAgNDk4aC0ybC0yIC0xcS0xNiAtNiAtNDMgLTE2LjV0LTEwMSAtNDl0LTEzNyAtODJ0LTEzMSAtMTE0LjV0LTEwMyAtMTQ4bC0xNSAxMXExODQgLTE1MCA0MTggLTE1MHExMzIgMCAyNTYgNTJ6TTgzOSA2NDNxLTIxIDQ5IC01MyAxMTFxLTMxMSAtOTMgLTY3MyAtOTNxLTEgLTcgLTEgLTIxcTAgLTEyNCA0NCAtMjM2LjV0MTI0IC0yMDEuNXE1MCA4OSAxMjMuNSAxNjYuNXQxNDIuNSAxMjQuNXQxMzAuNSA4MQp0OTkuNSA0OGwzNyAxM3E0IDEgMTMgMy41dDEzIDQuNXpNNzMyIDg1NXEtMTIwIDIxMyAtMjQ0IDM3OHEtMTM4IC02NSAtMjM0IC0xODZ0LTEyOCAtMjcycTMwMiAwIDYwNiA4MHpNMTQxNiA1MzZxLTIxMCA2MCAtNDA5IDI5cTg3IC0yMzkgMTI4IC00NjlxMTExIDc1IDE4NSAxODkuNXQ5NiAyNTAuNXpNNjExIDEyNzdxLTEgMCAtMiAtMXExIDEgMiAxek0xMjAxIDExMzJxLTE4NSAxNjQgLTQzMyAxNjRxLTc2IDAgLTE1NSAtMTkKcTEzMSAtMTcwIDI0NiAtMzgycTY5IDI2IDEzMCA2MC41dDk2LjUgNjEuNXQ2NS41IDU3dDM3LjUgNDAuNXpNMTQyNCA2NDdxLTMgMjMyIC0xNDkgNDEwbC0xIC0xcS05IC0xMiAtMTkgLTI0LjV0LTQzLjUgLTQ0LjV0LTcxIC02MC41dC0xMDAgLTY1dC0xMzEuNSAtNjQuNXEyNSAtNTMgNDQgLTk1cTIgLTUgNi41IC0xN3Q3LjUgLTE3cTM2IDUgNzQuNSA3dDczLjUgMnQ2OSAtMS41dDY0IC00dDU2LjUgLTUuNXQ0OCAtNi41dDM2LjUgLTYKdDI1IC00LjV6TTE1MzYgNjQwcTAgLTIwOSAtMTAzIC0zODUuNXQtMjc5LjUgLTI3OS41dC0zODUuNSAtMTAzdC0zODUuNSAxMDN0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3QzODUuNSAtMTAzdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJza3lwZSIgdW5pY29kZT0iJiN4ZjE3ZTsiIApkPSJNMTE3MyA0NzNxMCA1MCAtMTkuNSA5MS41dC00OC41IDY4LjV0LTczIDQ5dC04Mi41IDM0dC04Ny41IDIzbC0xMDQgMjRxLTMwIDcgLTQ0IDEwLjV0LTM1IDExLjV0LTMwIDE2dC0xNi41IDIxdC03LjUgMzBxMCA3NyAxNDQgNzdxNDMgMCA3NyAtMTJ0NTQgLTI4LjV0MzggLTMzLjV0NDAgLTI5dDQ4IC0xMnE0NyAwIDc1LjUgMzJ0MjguNSA3N3EwIDU1IC01NiA5OS41dC0xNDIgNjcuNXQtMTgyIDIzcS02OCAwIC0xMzIgLTE1LjUKdC0xMTkuNSAtNDd0LTg5IC04N3QtMzMuNSAtMTI4LjVxMCAtNjEgMTkgLTEwNi41dDU2IC03NS41dDgwIC00OC41dDEwMyAtMzIuNWwxNDYgLTM2cTkwIC0yMiAxMTIgLTM2cTMyIC0yMCAzMiAtNjBxMCAtMzkgLTQwIC02NC41dC0xMDUgLTI1LjVxLTUxIDAgLTkxLjUgMTZ0LTY1IDM4LjV0LTQ1LjUgNDV0LTQ2IDM4LjV0LTU0IDE2cS01MCAwIC03NS41IC0zMHQtMjUuNSAtNzVxMCAtOTIgMTIyIC0xNTcuNXQyOTEgLTY1LjUKcTczIDAgMTQwIDE4LjV0MTIyLjUgNTMuNXQ4OC41IDkzLjV0MzMgMTMxLjV6TTE1MzYgMjU2cTAgLTE1OSAtMTEyLjUgLTI3MS41dC0yNzEuNSAtMTEyLjVxLTEzMCAwIC0yMzQgODBxLTc3IC0xNiAtMTUwIC0xNnEtMTQzIDAgLTI3My41IDU1LjV0LTIyNSAxNTB0LTE1MCAyMjV0LTU1LjUgMjczLjVxMCA3MyAxNiAxNTBxLTgwIDEwNCAtODAgMjM0cTAgMTU5IDExMi41IDI3MS41dDI3MS41IDExMi41cTEzMCAwIDIzNCAtODAKcTc3IDE2IDE1MCAxNnExNDMgMCAyNzMuNSAtNTUuNXQyMjUgLTE1MHQxNTAgLTIyNXQ1NS41IC0yNzMuNXEwIC03MyAtMTYgLTE1MHE4MCAtMTA0IDgwIC0yMzR6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImZvdXJzcXVhcmUiIHVuaWNvZGU9IiYjeGYxODA7IiBob3Jpei1hZHYteD0iMTI4MCIgCmQ9Ik0xMDAwIDExMDJsMzcgMTk0cTUgMjMgLTkgNDB0LTM1IDE3aC03MTJxLTIzIDAgLTM4LjUgLTE3dC0xNS41IC0zN3YtMTEwMXEwIC03IDYgLTFsMjkxIDM1MnEyMyAyNiAzOCAzMy41dDQ4IDcuNWgyMzlxMjIgMCAzNyAxNC41dDE4IDI5LjVxMjQgMTMwIDM3IDE5MXE0IDIxIC0xMS41IDQwdC0zNi41IDE5aC0yOTRxLTI5IDAgLTQ4IDE5dC0xOSA0OHY0MnEwIDI5IDE5IDQ3LjV0NDggMTguNWgzNDZxMTggMCAzNSAxMy41dDIwIDI5LjV6Ck0xMjI3IDEzMjRxLTE1IC03MyAtNTMuNSAtMjY2LjV0LTY5LjUgLTM1MHQtMzUgLTE3My41cS02IC0yMiAtOSAtMzIuNXQtMTQgLTMyLjV0LTI0LjUgLTMzdC0zOC41IC0yMXQtNTggLTEwaC0yNzFxLTEzIDAgLTIyIC0xMHEtOCAtOSAtNDI2IC00OTRxLTIyIC0yNSAtNTguNSAtMjguNXQtNDguNSA1LjVxLTU1IDIyIC01NSA5OHYxNDEwcTAgNTUgMzggMTAyLjV0MTIwIDQ3LjVoODg4cTk1IDAgMTI3IC01M3QxMCAtMTU5ek0xMjI3IDEzMjQKbC0xNTggLTc5MHE0IDE3IDM1IDE3My41dDY5LjUgMzUwdDUzLjUgMjY2LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InRyZWxsbyIgdW5pY29kZT0iJiN4ZjE4MTsiIApkPSJNNzA0IDE5MnYxMDI0cTAgMTQgLTkgMjN0LTIzIDloLTQ4MHEtMTQgMCAtMjMgLTl0LTkgLTIzdi0xMDI0cTAgLTE0IDkgLTIzdDIzIC05aDQ4MHExNCAwIDIzIDl0OSAyM3pNMTM3NiA1NzZ2NjQwcTAgMTQgLTkgMjN0LTIzIDloLTQ4MHEtMTQgMCAtMjMgLTl0LTkgLTIzdi02NDBxMCAtMTQgOSAtMjN0MjMgLTloNDgwcTE0IDAgMjMgOXQ5IDIzek0xNTM2IDEzNDR2LTE0MDhxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0xNDA4CnEtMjYgMCAtNDUgMTl0LTE5IDQ1djE0MDhxMCAyNiAxOSA0NXQ0NSAxOWgxNDA4cTI2IDAgNDUgLTE5dDE5IC00NXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZmVtYWxlIiB1bmljb2RlPSImI3hmMTgyOyIgaG9yaXotYWR2LXg9IjEyODAiIApkPSJNMTI4MCA0ODBxMCAtNDAgLTI4IC02OHQtNjggLTI4cS01MSAwIC04MCA0M2wtMjI3IDM0MWgtNDV2LTEzMmwyNDcgLTQxMXE5IC0xNSA5IC0zM3EwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTE5MnYtMjcycTAgLTQ2IC0zMyAtNzl0LTc5IC0zM2gtMTYwcS00NiAwIC03OSAzM3QtMzMgNzl2MjcyaC0xOTJxLTI2IDAgLTQ1IDE5dC0xOSA0NXEwIDE4IDkgMzNsMjQ3IDQxMXYxMzJoLTQ1bC0yMjcgLTM0MXEtMjkgLTQzIC04MCAtNDMKcS00MCAwIC02OCAyOHQtMjggNjhxMCAyOSAxNiA1M2wyNTYgMzg0cTczIDEwNyAxNzYgMTA3aDM4NHExMDMgMCAxNzYgLTEwN2wyNTYgLTM4NHExNiAtMjQgMTYgLTUzek04NjQgMTI4MHEwIC05MyAtNjUuNSAtMTU4LjV0LTE1OC41IC02NS41dC0xNTguNSA2NS41dC02NS41IDE1OC41dDY1LjUgMTU4LjV0MTU4LjUgNjUuNXQxNTguNSAtNjUuNXQ2NS41IC0xNTguNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ibWFsZSIgdW5pY29kZT0iJiN4ZjE4MzsiIGhvcml6LWFkdi14PSIxMDI0IiAKZD0iTTEwMjQgODMydi00MTZxMCAtNDAgLTI4IC02OHQtNjggLTI4dC02OCAyOHQtMjggNjh2MzUyaC02NHYtOTEycTAgLTQ2IC0zMyAtNzl0LTc5IC0zM3QtNzkgMzN0LTMzIDc5djQ2NGgtNjR2LTQ2NHEwIC00NiAtMzMgLTc5dC03OSAtMzN0LTc5IDMzdC0zMyA3OXY5MTJoLTY0di0zNTJxMCAtNDAgLTI4IC02OHQtNjggLTI4dC02OCAyOHQtMjggNjh2NDE2cTAgODAgNTYgMTM2dDEzNiA1Nmg2NDBxODAgMCAxMzYgLTU2dDU2IC0xMzZ6Ck03MzYgMTI4MHEwIC05MyAtNjUuNSAtMTU4LjV0LTE1OC41IC02NS41dC0xNTguNSA2NS41dC02NS41IDE1OC41dDY1LjUgMTU4LjV0MTU4LjUgNjUuNXQxNTguNSAtNjUuNXQ2NS41IC0xNTguNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZ2l0dGlwIiB1bmljb2RlPSImI3hmMTg0OyIgCmQ9Ik03NzMgMjM0bDM1MCA0NzNxMTYgMjIgMjQuNSA1OXQtNiA4NXQtNjEuNSA3OXEtNDAgMjYgLTgzIDI1LjV0LTczLjUgLTE3LjV0LTU0LjUgLTQ1cS0zNiAtNDAgLTk2IC00MHEtNTkgMCAtOTUgNDBxLTI0IDI4IC01NC41IDQ1dC03My41IDE3LjV0LTg0IC0yNS41cS00NiAtMzEgLTYwLjUgLTc5dC02IC04NXQyNC41IC01OXpNMTUzNiA2NDBxMCAtMjA5IC0xMDMgLTM4NS41dC0yNzkuNSAtMjc5LjV0LTM4NS41IC0xMDN0LTM4NS41IDEwMwp0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3QzODUuNSAtMTAzdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJzdW4iIHVuaWNvZGU9IiYjeGYxODU7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xNDcyIDY0MHEwIDExNyAtNDUuNSAyMjMuNXQtMTIzIDE4NHQtMTg0IDEyM3QtMjIzLjUgNDUuNXQtMjIzLjUgLTQ1LjV0LTE4NCAtMTIzdC0xMjMgLTE4NHQtNDUuNSAtMjIzLjV0NDUuNSAtMjIzLjV0MTIzIC0xODR0MTg0IC0xMjN0MjIzLjUgLTQ1LjV0MjIzLjUgNDUuNXQxODQgMTIzdDEyMyAxODR0NDUuNSAyMjMuNXpNMTc0OCAzNjNxLTQgLTE1IC0yMCAtMjBsLTI5MiAtOTZ2LTMwNnEwIC0xNiAtMTMgLTI2cS0xNSAtMTAgLTI5IC00CmwtMjkyIDk0bC0xODAgLTI0OHEtMTAgLTEzIC0yNiAtMTN0LTI2IDEzbC0xODAgMjQ4bC0yOTIgLTk0cS0xNCAtNiAtMjkgNHEtMTMgMTAgLTEzIDI2djMwNmwtMjkyIDk2cS0xNiA1IC0yMCAyMHEtNSAxNyA0IDI5bDE4MCAyNDhsLTE4MCAyNDhxLTkgMTMgLTQgMjlxNCAxNSAyMCAyMGwyOTIgOTZ2MzA2cTAgMTYgMTMgMjZxMTUgMTAgMjkgNGwyOTIgLTk0bDE4MCAyNDhxOSAxMiAyNiAxMnQyNiAtMTJsMTgwIC0yNDhsMjkyIDk0CnExNCA2IDI5IC00cTEzIC0xMCAxMyAtMjZ2LTMwNmwyOTIgLTk2cTE2IC01IDIwIC0yMHE1IC0xNiAtNCAtMjlsLTE4MCAtMjQ4bDE4MCAtMjQ4cTkgLTEyIDQgLTI5eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfMzY2IiB1bmljb2RlPSImI3hmMTg2OyIgCmQ9Ik0xMjYyIDIzM3EtNTQgLTkgLTExMCAtOXEtMTgyIDAgLTMzNyA5MHQtMjQ1IDI0NXQtOTAgMzM3cTAgMTkyIDEwNCAzNTdxLTIwMSAtNjAgLTMyOC41IC0yMjl0LTEyNy41IC0zODRxMCAtMTMwIDUxIC0yNDguNXQxMzYuNSAtMjA0dDIwNCAtMTM2LjV0MjQ4LjUgLTUxcTE0NCAwIDI3My41IDYxLjV0MjIwLjUgMTcxLjV6TTE0NjUgMzE4cS05NCAtMjAzIC0yODMuNSAtMzI0LjV0LTQxMy41IC0xMjEuNXEtMTU2IDAgLTI5OCA2MQp0LTI0NSAxNjR0LTE2NCAyNDV0LTYxIDI5OHEwIDE1MyA1Ny41IDI5Mi41dDE1NiAyNDEuNXQyMzUuNSAxNjQuNXQyOTAgNjguNXE0NCAyIDYxIC0zOXExOCAtNDEgLTE1IC03MnEtODYgLTc4IC0xMzEuNSAtMTgxLjV0LTQ1LjUgLTIxOC41cTAgLTE0OCA3MyAtMjczdDE5OCAtMTk4dDI3MyAtNzNxMTE4IDAgMjI4IDUxcTQxIDE4IDcyIC0xM3ExNCAtMTQgMTcuNSAtMzR0LTQuNSAtMzh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImFyY2hpdmUiIHVuaWNvZGU9IiYjeGYxODc7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xMDg4IDcwNHEwIDI2IC0xOSA0NXQtNDUgMTloLTI1NnEtMjYgMCAtNDUgLTE5dC0xOSAtNDV0MTkgLTQ1dDQ1IC0xOWgyNTZxMjYgMCA0NSAxOXQxOSA0NXpNMTY2NCA4OTZ2LTk2MHEwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTE0MDhxLTI2IDAgLTQ1IDE5dC0xOSA0NXY5NjBxMCAyNiAxOSA0NXQ0NSAxOWgxNDA4cTI2IDAgNDUgLTE5dDE5IC00NXpNMTcyOCAxMzQ0di0yNTZxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0xNTM2CnEtMjYgMCAtNDUgMTl0LTE5IDQ1djI1NnEwIDI2IDE5IDQ1dDQ1IDE5aDE1MzZxMjYgMCA0NSAtMTl0MTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJidWciIHVuaWNvZGU9IiYjeGYxODg7IiBob3Jpei1hZHYteD0iMTY2NCIgCmQ9Ik0xNjMyIDU3NnEwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTIyNHEwIC0xNzEgLTY3IC0yOTBsMjA4IC0yMDlxMTkgLTE5IDE5IC00NXQtMTkgLTQ1cS0xOCAtMTkgLTQ1IC0xOXQtNDUgMTlsLTE5OCAxOTdxLTUgLTUgLTE1IC0xM3QtNDIgLTI4LjV0LTY1IC0zNi41dC04MiAtMjl0LTk3IC0xM3Y4OTZoLTEyOHYtODk2cS01MSAwIC0xMDEuNSAxMy41dC04NyAzM3QtNjYgMzl0LTQzLjUgMzIuNWwtMTUgMTRsLTE4MyAtMjA3CnEtMjAgLTIxIC00OCAtMjFxLTI0IDAgLTQzIDE2cS0xOSAxOCAtMjAuNSA0NC41dDE1LjUgNDYuNWwyMDIgMjI3cS01OCAxMTQgLTU4IDI3NGgtMjI0cS0yNiAwIC00NSAxOXQtMTkgNDV0MTkgNDV0NDUgMTloMjI0djI5NGwtMTczIDE3M3EtMTkgMTkgLTE5IDQ1dDE5IDQ1dDQ1IDE5dDQ1IC0xOWwxNzMgLTE3M2g4NDRsMTczIDE3M3ExOSAxOSA0NSAxOXQ0NSAtMTl0MTkgLTQ1dC0xOSAtNDVsLTE3MyAtMTczdi0yOTRoMjI0cTI2IDAgNDUgLTE5CnQxOSAtNDV6TTExNTIgMTE1MmgtNjQwcTAgMTMzIDkzLjUgMjI2LjV0MjI2LjUgOTMuNXQyMjYuNSAtOTMuNXQ5My41IC0yMjYuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idmsiIHVuaWNvZGU9IiYjeGYxODk7IiBob3Jpei1hZHYteD0iMTkyMCIgCmQ9Ik0xOTE3IDEwMTZxMjMgLTY0IC0xNTAgLTI5NHEtMjQgLTMyIC02NSAtODVxLTQwIC01MSAtNTUgLTcydC0zMC41IC00OS41dC0xMiAtNDJ0MTMgLTM0LjV0MzIuNSAtNDN0NTcgLTUzcTQgLTIgNSAtNHExNDEgLTEzMSAxOTEgLTIyMXEzIC01IDYuNSAtMTIuNXQ3IC0yNi41dC0wLjUgLTM0dC0yNSAtMjcuNXQtNTkgLTEyLjVsLTI1NiAtNHEtMjQgLTUgLTU2IDV0LTUyIDIybC0yMCAxMnEtMzAgMjEgLTcwIDY0dC02OC41IDc3LjV0LTYxIDU4CnQtNTYuNSAxNS41cS0zIC0xIC04IC0zLjV0LTE3IC0xNC41dC0yMS41IC0yOS41dC0xNyAtNTJ0LTYuNSAtNzcuNXEwIC0xNSAtMy41IC0yNy41dC03LjUgLTE4LjVsLTQgLTVxLTE4IC0xOSAtNTMgLTIyaC0xMTVxLTcxIC00IC0xNDYgMTYuNXQtMTMxLjUgNTN0LTEwMyA2NnQtNzAuNSA1Ny41bC0yNSAyNHEtMTAgMTAgLTI3LjUgMzB0LTcxLjUgOTF0LTEwNiAxNTF0LTEyMi41IDIxMXQtMTMwLjUgMjcycS02IDE2IC02IDI3dDMgMTZsNCA2CnExNSAxOSA1NyAxOWwyNzQgMnExMiAtMiAyMyAtNi41dDE2IC04LjVsNSAtM3ExNiAtMTEgMjQgLTMycTIwIC01MCA0NiAtMTAzLjV0NDEgLTgxLjVsMTYgLTI5cTI5IC02MCA1NiAtMTA0dDQ4LjUgLTY4LjV0NDEuNSAtMzguNXQzNCAtMTR0MjcgNXEyIDEgNSA1dDEyIDIydDEzLjUgNDd0OS41IDgxdDAgMTI1cS0yIDQwIC05IDczdC0xNCA0NmwtNiAxMnEtMjUgMzQgLTg1IDQzcS0xMyAyIDUgMjRxMTYgMTkgMzggMzBxNTMgMjYgMjM5IDI0CnE4MiAtMSAxMzUgLTEzcTIwIC01IDMzLjUgLTEzLjV0MjAuNSAtMjR0MTAuNSAtMzJ0My41IC00NS41dC0xIC01NXQtMi41IC03MC41dC0xLjUgLTgyLjVxMCAtMTEgLTEgLTQydC0wLjUgLTQ4dDMuNSAtNDAuNXQxMS41IC0zOXQyMi41IC0yNC41cTggLTIgMTcgLTR0MjYgMTF0MzggMzQuNXQ1MiA2N3Q2OCAxMDcuNXE2MCAxMDQgMTA3IDIyNXE0IDEwIDEwIDE3LjV0MTEgMTAuNWw0IDNsNSAyLjV0MTMgM3QyMCAwLjVsMjg4IDIKcTM5IDUgNjQgLTIuNXQzMSAtMTYuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0id2VpYm8iIHVuaWNvZGU9IiYjeGYxOGE7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik02NzUgMjUycTIxIDM0IDExIDY5dC00NSA1MHEtMzQgMTQgLTczIDF0LTYwIC00NnEtMjIgLTM0IC0xMyAtNjguNXQ0MyAtNTAuNXQ3NC41IC0yLjV0NjIuNSA0Ny41ek03NjkgMzczcTggMTMgMy41IDI2LjV0LTE3LjUgMTguNXEtMTQgNSAtMjguNSAtMC41dC0yMS41IC0xOC41cS0xNyAtMzEgMTMgLTQ1cTE0IC01IDI5IDAuNXQyMiAxOC41ek05NDMgMjY2cS00NSAtMTAyIC0xNTggLTE1MHQtMjI0IC0xMgpxLTEwNyAzNCAtMTQ3LjUgMTI2LjV0Ni41IDE4Ny41cTQ3IDkzIDE1MS41IDEzOXQyMTAuNSAxOXExMTEgLTI5IDE1OC41IC0xMTkuNXQyLjUgLTE5MC41ek0xMjU1IDQyNnEtOSA5NiAtODkgMTcwdC0yMDguNSAxMDl0LTI3NC41IDIxcS0yMjMgLTIzIC0zNjkuNSAtMTQxLjV0LTEzMi41IC0yNjQuNXE5IC05NiA4OSAtMTcwdDIwOC41IC0xMDl0Mjc0LjUgLTIxcTIyMyAyMyAzNjkuNSAxNDEuNXQxMzIuNSAyNjQuNXpNMTU2MyA0MjIKcTAgLTY4IC0zNyAtMTM5LjV0LTEwOSAtMTM3dC0xNjguNSAtMTE3LjV0LTIyNiAtODN0LTI3MC41IC0zMXQtMjc1IDMzLjV0LTI0MC41IDkzdC0xNzEuNSAxNTF0LTY1IDE5OS41cTAgMTE1IDY5LjUgMjQ1dDE5Ny41IDI1OHExNjkgMTY5IDM0MS41IDIzNnQyNDYuNSAtN3E2NSAtNjQgMjAgLTIwOXEtNCAtMTQgLTEgLTIwdDEwIC03dDE0LjUgMC41dDEzLjUgMy41bDYgMnExMzkgNTkgMjQ2IDU5dDE1MyAtNjFxNDUgLTYzIDAgLTE3OApxLTIgLTEzIC00LjUgLTIwdDQuNSAtMTIuNXQxMiAtNy41dDE3IC02cTU3IC0xOCAxMDMgLTQ3dDgwIC04MS41dDM0IC0xMTYuNXpNMTQ4OSAxMDQ2cTQyIC00NyA1NC41IC0xMDguNXQtNi41IC0xMTcuNXEtOCAtMjMgLTI5LjUgLTM0dC00NC41IC00cS0yMyA4IC0zNCAyOS41dC00IDQ0LjVxMjAgNjMgLTI0IDExMXQtMTA3IDM1cS0yNCAtNSAtNDUgOHQtMjUgMzdxLTUgMjQgOCA0NC41dDM3IDI1LjVxNjAgMTMgMTE5IC01LjV0MTAxIC02NS41egpNMTY3MCAxMjA5cTg3IC05NiAxMTIuNSAtMjIyLjV0LTEzLjUgLTI0MS41cS05IC0yNyAtMzQgLTQwdC01MiAtNHQtNDAgMzR0LTUgNTJxMjggODIgMTAgMTcydC04MCAxNThxLTYyIDY5IC0xNDggOTUuNXQtMTczIDguNXEtMjggLTYgLTUyIDkuNXQtMzAgNDMuNXQ5LjUgNTEuNXQ0My41IDI5LjVxMTIzIDI2IDI0NCAtMTEuNXQyMDggLTEzNC41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJyZW5yZW4iIHVuaWNvZGU9IiYjeGYxOGI7IiAKZD0iTTExMzMgLTM0cS0xNzEgLTk0IC0zNjggLTk0cS0xOTYgMCAtMzY3IDk0cTEzOCA4NyAyMzUuNSAyMTF0MTMxLjUgMjY4cTM1IC0xNDQgMTMyLjUgLTI2OHQyMzUuNSAtMjExek02MzggMTM5NHYtNDg1cTAgLTI1MiAtMTI2LjUgLTQ1OS41dC0zMzAuNSAtMzA2LjVxLTE4MSAyMTUgLTE4MSA0OTVxMCAxODcgODMuNSAzNDkuNXQyMjkuNSAyNjkuNXQzMjUgMTM3ek0xNTM2IDYzOHEwIC0yODAgLTE4MSAtNDk1CnEtMjA0IDk5IC0zMzAuNSAzMDYuNXQtMTI2LjUgNDU5LjV2NDg1cTE3OSAtMzAgMzI1IC0xMzd0MjI5LjUgLTI2OS41dDgzLjUgLTM0OS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfMzcyIiB1bmljb2RlPSImI3hmMThjOyIgaG9yaXotYWR2LXg9IjE0MDgiIApkPSJNMTQwMiA0MzNxLTMyIC04MCAtNzYgLTEzOHQtOTEgLTg4LjV0LTk5IC00Ni41dC0xMDEuNSAtMTQuNXQtOTYuNSA4LjV0LTg2LjUgMjJ0LTY5LjUgMjcuNXQtNDYgMjIuNWwtMTcgMTBxLTExMyAtMjI4IC0yODkuNSAtMzU5LjV0LTM4NC41IC0xMzIuNXEtMTkgMCAtMzIgMTN0LTEzIDMydDEzIDMxLjV0MzIgMTIuNXExNzMgMSAzMjIuNSAxMDcuNXQyNTEuNSAyOTQuNXEtMzYgLTE0IC03MiAtMjN0LTgzIC0xM3QtOTEgMi41dC05MyAyOC41CnQtOTIgNTl0LTg0LjUgMTAwdC03NC41IDE0NnExMTQgNDcgMjE0IDU3dDE2Ny41IC03LjV0MTI0LjUgLTU2LjV0ODguNSAtNzd0NTYuNSAtODJxNTMgMTMxIDc5IDI5MXEtNyAtMSAtMTggLTIuNXQtNDYuNSAtMi41dC02OS41IDAuNXQtODEuNSAxMHQtODguNSAyM3QtODQgNDIuNXQtNzUgNjV0LTU0LjUgOTQuNXQtMjguNSAxMjcuNXE3MCAyOCAxMzMuNSAzNi41dDExMi41IC0xdDkyIC0zMHQ3My41IC01MHQ1NiAtNjF0NDIgLTYzdDI3LjUgLTU2CnQxNiAtMzkuNWw0IC0xNnExMiAxMjIgMTIgMTk1cS04IDYgLTIxLjUgMTZ0LTQ5IDQ0LjV0LTYzLjUgNzEuNXQtNTQgOTN0LTMzIDExMi41dDEyIDEyN3Q3MCAxMzguNXE3MyAtMjUgMTI3LjUgLTYxLjV0ODQuNSAtNzYuNXQ0OCAtODV0MjAuNSAtODl0LTAuNSAtODUuNXQtMTMgLTc2LjV0LTE5IC02MnQtMTcgLTQybC03IC0xNXExIC00IDEgLTUwdC0xIC03MnEzIDcgMTAgMTguNXQzMC41IDQzdDUwLjUgNTh0NzEgNTUuNXQ5MS41IDQ0LjUKdDExMiAxNC41dDEzMi41IC0yNHEtMiAtNzggLTIxLjUgLTE0MS41dC01MCAtMTA0LjV0LTY5LjUgLTcxLjV0LTgxLjUgLTQ1LjV0LTg0LjUgLTI0dC04MCAtOS41dC02Ny41IDF0LTQ2LjUgNC41bC0xNyAzcS0yMyAtMTQ3IC03MyAtMjgzcTYgNyAxOCAxOC41dDQ5LjUgNDF0NzcuNSA1Mi41dDk5LjUgNDJ0MTE3LjUgMjB0MTI5IC0yMy41dDEzNyAtNzcuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ic3RhY2tfZXhjaGFuZ2UiIHVuaWNvZGU9IiYjeGYxOGQ7IiBob3Jpei1hZHYteD0iMTI4MCIgCmQ9Ik0xMjU5IDI4M3YtNjZxMCAtODUgLTU3LjUgLTE0NC41dC0xMzguNSAtNTkuNWgtNTdsLTI2MCAtMjY5djI2OWgtNTI5cS04MSAwIC0xMzguNSA1OS41dC01Ny41IDE0NC41djY2aDEyMzh6TTEyNTkgNjA5di0yNTVoLTEyMzh2MjU1aDEyMzh6TTEyNTkgOTM3di0yNTVoLTEyMzh2MjU1aDEyMzh6TTEyNTkgMTA3N3YtNjdoLTEyMzh2NjdxMCA4NCA1Ny41IDE0My41dDEzOC41IDU5LjVoODQ2cTgxIDAgMTM4LjUgLTU5LjV0NTcuNSAtMTQzLjV6CiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfMzc0IiB1bmljb2RlPSImI3hmMThlOyIgCmQ9Ik0xMTUyIDY0MHEwIC0xNCAtOSAtMjNsLTMyMCAtMzIwcS05IC05IC0yMyAtOXEtMTMgMCAtMjIuNSA5LjV0LTkuNSAyMi41djE5MmgtMzUycS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2MTkycTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoMzUydjE5MnEwIDE0IDkgMjN0MjMgOXExMiAwIDI0IC0xMGwzMTkgLTMxOXE5IC05IDkgLTIzek0xMzEyIDY0MHEwIDE0OCAtNzMgMjczdC0xOTggMTk4dC0yNzMgNzN0LTI3MyAtNzN0LTE5OCAtMTk4CnQtNzMgLTI3M3Q3MyAtMjczdDE5OCAtMTk4dDI3MyAtNzN0MjczIDczdDE5OCAxOTh0NzMgMjczek0xNTM2IDY0MHEwIC0yMDkgLTEwMyAtMzg1LjV0LTI3OS41IC0yNzkuNXQtMzg1LjUgLTEwM3QtMzg1LjUgMTAzdC0yNzkuNSAyNzkuNXQtMTAzIDM4NS41dDEwMyAzODUuNXQyNzkuNSAyNzkuNXQzODUuNSAxMDN0Mzg1LjUgLTEwM3QyNzkuNSAtMjc5LjV0MTAzIC0zODUuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3dfY2lyY2xlX2FsdF9sZWZ0IiB1bmljb2RlPSImI3hmMTkwOyIgCmQ9Ik0xMTUyIDczNnYtMTkycTAgLTEzIC05LjUgLTIyLjV0LTIyLjUgLTkuNWgtMzUydi0xOTJxMCAtMTQgLTkgLTIzdC0yMyAtOXEtMTIgMCAtMjQgMTBsLTMxOSAzMTlxLTkgOSAtOSAyM3Q5IDIzbDMyMCAzMjBxOSA5IDIzIDlxMTMgMCAyMi41IC05LjV0OS41IC0yMi41di0xOTJoMzUycTEzIDAgMjIuNSAtOS41dDkuNSAtMjIuNXpNMTMxMiA2NDBxMCAxNDggLTczIDI3M3QtMTk4IDE5OHQtMjczIDczdC0yNzMgLTczdC0xOTggLTE5OAp0LTczIC0yNzN0NzMgLTI3M3QxOTggLTE5OHQyNzMgLTczdDI3MyA3M3QxOTggMTk4dDczIDI3M3pNMTUzNiA2NDBxMCAtMjA5IC0xMDMgLTM4NS41dC0yNzkuNSAtMjc5LjV0LTM4NS41IC0xMDN0LTM4NS41IDEwM3QtMjc5LjUgMjc5LjV0LTEwMyAzODUuNXQxMDMgMzg1LjV0Mjc5LjUgMjc5LjV0Mzg1LjUgMTAzdDM4NS41IC0xMDN0Mjc5LjUgLTI3OS41dDEwMyAtMzg1LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il8zNzYiIHVuaWNvZGU9IiYjeGYxOTE7IiAKZD0iTTEwMjQgOTYwdi02NDBxMCAtMjYgLTE5IC00NXQtNDUgLTE5cS0yMCAwIC0zNyAxMmwtNDQ4IDMyMHEtMjcgMTkgLTI3IDUydDI3IDUybDQ0OCAzMjBxMTcgMTIgMzcgMTJxMjYgMCA0NSAtMTl0MTkgLTQ1ek0xMjgwIDE2MHY5NjBxMCAxMyAtOS41IDIyLjV0LTIyLjUgOS41aC05NjBxLTEzIDAgLTIyLjUgLTkuNXQtOS41IC0yMi41di05NjBxMCAtMTMgOS41IC0yMi41dDIyLjUgLTkuNWg5NjBxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXoKTTE1MzYgMTEyMHYtOTYwcTAgLTExOSAtODQuNSAtMjAzLjV0LTIwMy41IC04NC41aC05NjBxLTExOSAwIC0yMDMuNSA4NC41dC04NC41IDIwMy41djk2MHEwIDExOSA4NC41IDIwMy41dDIwMy41IDg0LjVoOTYwcTExOSAwIDIwMy41IC04NC41dDg0LjUgLTIwMy41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJkb3RfY2lyY2xlX2FsdCIgdW5pY29kZT0iJiN4ZjE5MjsiIApkPSJNMTAyNCA2NDBxMCAtMTA2IC03NSAtMTgxdC0xODEgLTc1dC0xODEgNzV0LTc1IDE4MXQ3NSAxODF0MTgxIDc1dDE4MSAtNzV0NzUgLTE4MXpNNzY4IDExODRxLTE0OCAwIC0yNzMgLTczdC0xOTggLTE5OHQtNzMgLTI3M3Q3MyAtMjczdDE5OCAtMTk4dDI3MyAtNzN0MjczIDczdDE5OCAxOTh0NzMgMjczdC03MyAyNzN0LTE5OCAxOTh0LTI3MyA3M3pNMTUzNiA2NDBxMCAtMjA5IC0xMDMgLTM4NS41dC0yNzkuNSAtMjc5LjUKdC0zODUuNSAtMTAzdC0zODUuNSAxMDN0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3QzODUuNSAtMTAzdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfMzc4IiB1bmljb2RlPSImI3hmMTkzOyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNMTAyMyAzNDlsMTAyIC0yMDRxLTU4IC0xNzkgLTIxMCAtMjkwdC0zMzkgLTExMXEtMTU2IDAgLTI4OC41IDc3LjV0LTIxMCAyMTB0LTc3LjUgMjg4LjVxMCAxODEgMTA0LjUgMzMwdDI3NC41IDIxMWwxNyAtMTMxcS0xMjIgLTU0IC0xOTUgLTE2NS41dC03MyAtMjQ0LjVxMCAtMTg1IDEzMS41IC0zMTYuNXQzMTYuNSAtMTMxLjVxMTI2IDAgMjMyLjUgNjV0MTY1IDE3NS41dDQ5LjUgMjM2LjV6TTE1NzEgMjQ5bDU4IC0xMTRsLTI1NiAtMTI4CnEtMTMgLTcgLTI5IC03cS00MCAwIC01NyAzNWwtMjM5IDQ3N2gtNDcycS0yNCAwIC00Mi41IDE2LjV0LTIxLjUgNDAuNWwtOTYgNzc5cS0yIDE3IDYgNDJxMTQgNTEgNTcgODIuNXQ5NyAzMS41cTY2IDAgMTEzIC00N3Q0NyAtMTEzcTAgLTY5IC01MiAtMTE3LjV0LTEyMCAtNDEuNWwzNyAtMjg5aDQyM3YtMTI4aC00MDdsMTYgLTEyOGg0NTVxNDAgMCA1NyAtMzVsMjI4IC00NTV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InZpbWVvX3NxdWFyZSIgdW5pY29kZT0iJiN4ZjE5NDsiIApkPSJNMTI5MiA4OThxMTAgMjE2IC0xNjEgMjIycS0yMzEgOCAtMzEyIC0yNjFxNDQgMTkgODIgMTlxODUgMCA3NCAtOTZxLTQgLTU3IC03NCAtMTY3dC0xMDUgLTExMHEtNDMgMCAtODIgMTY5cS0xMyA1NCAtNDUgMjU1cS0zMCAxODkgLTE2MCAxNzdxLTU5IC03IC0xNjQgLTEwMGwtODEgLTcybC04MSAtNzJsNTIgLTY3cTc2IDUyIDg3IDUycTU3IDAgMTA3IC0xNzlxMTUgLTU1IDQ1IC0xNjQuNXQ0NSAtMTY0LjVxNjggLTE3OSAxNjQgLTE3OQpxMTU3IDAgMzgzIDI5NHEyMjAgMjgzIDIyNiA0NDR6TTE1MzYgMTEyMHYtOTYwcTAgLTExOSAtODQuNSAtMjAzLjV0LTIwMy41IC04NC41aC05NjBxLTExOSAwIC0yMDMuNSA4NC41dC04NC41IDIwMy41djk2MHEwIDExOSA4NC41IDIwMy41dDIwMy41IDg0LjVoOTYwcTExOSAwIDIwMy41IC04NC41dDg0LjUgLTIwMy41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfMzgwIiB1bmljb2RlPSImI3hmMTk1OyIgaG9yaXotYWR2LXg9IjExNTIiIApkPSJNMTE1MiA3MDRxMCAtMTkxIC05NC41IC0zNTN0LTI1Ni41IC0yNTYuNXQtMzUzIC05NC41aC0xNjBxLTE0IDAgLTIzIDl0LTkgMjN2NjExbC0yMTUgLTY2cS0zIC0xIC05IC0xcS0xMCAwIC0xOSA2cS0xMyAxMCAtMTMgMjZ2MTI4cTAgMjMgMjMgMzFsMjMzIDcxdjkzbC0yMTUgLTY2cS0zIC0xIC05IC0xcS0xMCAwIC0xOSA2cS0xMyAxMCAtMTMgMjZ2MTI4cTAgMjMgMjMgMzFsMjMzIDcxdjI1MHEwIDE0IDkgMjN0MjMgOWgxNjAKcTE0IDAgMjMgLTl0OSAtMjN2LTE4MWwzNzUgMTE2cTE1IDUgMjggLTV0MTMgLTI2di0xMjhxMCAtMjMgLTIzIC0zMWwtMzkzIC0xMjF2LTkzbDM3NSAxMTZxMTUgNSAyOCAtNXQxMyAtMjZ2LTEyOHEwIC0yMyAtMjMgLTMxbC0zOTMgLTEyMXYtNDg3cTE4OCAxMyAzMTggMTUxdDEzMCAzMjhxMCAxNCA5IDIzdDIzIDloMTYwcTE0IDAgMjMgLTl0OSAtMjN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InBsdXNfc3F1YXJlX28iIHVuaWNvZGU9IiYjeGYxOTY7IiBob3Jpei1hZHYteD0iMTQwOCIgCmQ9Ik0xMTUyIDczNnYtNjRxMCAtMTQgLTkgLTIzdC0yMyAtOWgtMzUydi0zNTJxMCAtMTQgLTkgLTIzdC0yMyAtOWgtNjRxLTE0IDAgLTIzIDl0LTkgMjN2MzUyaC0zNTJxLTE0IDAgLTIzIDl0LTkgMjN2NjRxMCAxNCA5IDIzdDIzIDloMzUydjM1MnEwIDE0IDkgMjN0MjMgOWg2NHExNCAwIDIzIC05dDkgLTIzdi0zNTJoMzUycTE0IDAgMjMgLTl0OSAtMjN6TTEyODAgMjg4djgzMnEwIDY2IC00NyAxMTN0LTExMyA0N2gtODMyCnEtNjYgMCAtMTEzIC00N3QtNDcgLTExM3YtODMycTAgLTY2IDQ3IC0xMTN0MTEzIC00N2g4MzJxNjYgMCAxMTMgNDd0NDcgMTEzek0xNDA4IDExMjB2LTgzMnEwIC0xMTkgLTg0LjUgLTIwMy41dC0yMDMuNSAtODQuNWgtODMycS0xMTkgMCAtMjAzLjUgODQuNXQtODQuNSAyMDMuNXY4MzJxMCAxMTkgODQuNSAyMDMuNXQyMDMuNSA4NC41aDgzMnExMTkgMCAyMDMuNSAtODQuNXQ4NC41IC0yMDMuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzM4MiIgdW5pY29kZT0iJiN4ZjE5NzsiIGhvcml6LWFkdi14PSIyMTc2IiAKZD0iTTYyMCA0MTZxLTExMCAtNjQgLTI2OCAtNjRoLTEyOHY2NGgtNjRxLTEzIDAgLTIyLjUgMjMuNXQtOS41IDU2LjVxMCAyNCA3IDQ5cS01OCAyIC05Ni41IDEwLjV0LTM4LjUgMjAuNXQzOC41IDIwLjV0OTYuNSAxMC41cS03IDI1IC03IDQ5cTAgMzMgOS41IDU2LjV0MjIuNSAyMy41aDY0djY0aDEyOHExNTggMCAyNjggLTY0aDExMTNxNDIgLTcgMTA2LjUgLTE4dDgwLjUgLTE0cTg5IC0xNSAxNTAgLTQwLjV0ODMuNSAtNDcuNXQyMi41IC00MAp0LTIyLjUgLTQwdC04My41IC00Ny41dC0xNTAgLTQwLjVxLTE2IC0zIC04MC41IC0xNHQtMTA2LjUgLTE4aC0xMTEzek0xNzM5IDY2OHE1MyAtMzYgNTMgLTkydC01MyAtOTJsODEgLTMwcTY4IDQ4IDY4IDEyMnQtNjggMTIyek02MjUgNDAwaDEwMTVxLTIxNyAtMzggLTQ1NiAtODBxLTU3IDAgLTExMyAtMjR0LTgzIC00OGwtMjggLTI0bC0yODggLTI4OHEtMjYgLTI2IC03MC41IC00NXQtODkuNSAtMTloLTk2bC05MyA0NjRoMjkKcTE1NyAwIDI3MyA2NHpNMzUyIDgxNmgtMjlsOTMgNDY0aDk2cTQ2IDAgOTAgLTE5dDcwIC00NWwyODggLTI4OHE0IC00IDExIC0xMC41dDMwLjUgLTIzdDQ4LjUgLTI5dDYxLjUgLTIzdDcyLjUgLTEwLjVsNDU2IC04MGgtMTAxNXEtMTE2IDY0IC0yNzMgNjR6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il8zODMiIHVuaWNvZGU9IiYjeGYxOTg7IiBob3Jpei1hZHYteD0iMTY2NCIgCmQ9Ik0xNTE5IDc2MHE2MiAwIDEwMy41IC00MC41dDQxLjUgLTEwMS41cTAgLTk3IC05MyAtMTMwbC0xNzIgLTU5bDU2IC0xNjdxNyAtMjEgNyAtNDdxMCAtNTkgLTQyIC0xMDJ0LTEwMSAtNDNxLTQ3IDAgLTg1LjUgMjd0LTUzLjUgNzJsLTU1IDE2NWwtMzEwIC0xMDZsNTUgLTE2NHE4IC0yNCA4IC00N3EwIC01OSAtNDIgLTEwMnQtMTAyIC00M3EtNDcgMCAtODUgMjd0LTUzIDcybC01NSAxNjNsLTE1MyAtNTNxLTI5IC05IC01MCAtOQpxLTYxIDAgLTEwMS41IDQwdC00MC41IDEwMXEwIDQ3IDI3LjUgODV0NzEuNSA1M2wxNTYgNTNsLTEwNSAzMTNsLTE1NiAtNTRxLTI2IC04IC00OCAtOHEtNjAgMCAtMTAxIDQwLjV0LTQxIDEwMC41cTAgNDcgMjcuNSA4NXQ3MS41IDUzbDE1NyA1M2wtNTMgMTU5cS04IDI0IC04IDQ3cTAgNjAgNDIgMTAyLjV0MTAyIDQyLjVxNDcgMCA4NSAtMjd0NTMgLTcybDU0IC0xNjBsMzEwIDEwNWwtNTQgMTYwcS04IDI0IC04IDQ3cTAgNTkgNDIuNSAxMDIKdDEwMS41IDQzcTQ3IDAgODUuNSAtMjcuNXQ1My41IC03MS41bDUzIC0xNjFsMTYyIDU1cTIxIDYgNDMgNnE2MCAwIDEwMi41IC0zOS41dDQyLjUgLTk4LjVxMCAtNDUgLTMwIC04MS41dC03NCAtNTEuNWwtMTU3IC01NGwxMDUgLTMxNmwxNjQgNTZxMjQgOCA0NiA4ek03MjUgNDk4bDMxMCAxMDVsLTEwNSAzMTVsLTMxMCAtMTA3eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfMzg0IiB1bmljb2RlPSImI3hmMTk5OyIgCmQ9Ik0xMjQ4IDE0MDhxMTE5IDAgMjAzLjUgLTg0LjV0ODQuNSAtMjAzLjV2LTk2MHEwIC0xMTkgLTg0LjUgLTIwMy41dC0yMDMuNSAtODQuNWgtOTYwcS0xMTkgMCAtMjAzLjUgODQuNXQtODQuNSAyMDMuNXY5NjBxMCAxMTkgODQuNSAyMDMuNXQyMDMuNSA4NC41aDk2MHpNMTI4MCAzNTJ2NDM2cS0zMSAtMzUgLTY0IC01NXEtMzQgLTIyIC0xMzIuNSAtODV0LTE1MS41IC05OXEtOTggLTY5IC0xNjQgLTY5djB2MHEtNjYgMCAtMTY0IDY5CnEtNDcgMzIgLTE0MiA5Mi41dC0xNDIgOTIuNXEtMTIgOCAtMzMgMjd0LTMxIDI3di00MzZxMCAtNDAgMjggLTY4dDY4IC0yOGg4MzJxNDAgMCA2OCAyOHQyOCA2OHpNMTI4MCA5MjVxMCA0MSAtMjcuNSA3MHQtNjguNSAyOWgtODMycS00MCAwIC02OCAtMjh0LTI4IC02OHEwIC0zNyAzMC41IC03Ni41dDY3LjUgLTY0LjVxNDcgLTMyIDEzNy41IC04OXQxMjkuNSAtODNxMyAtMiAxNyAtMTEuNXQyMSAtMTR0MjEgLTEzdDIzLjUgLTEzCnQyMS41IC05LjV0MjIuNSAtNy41dDIwLjUgLTIuNXQyMC41IDIuNXQyMi41IDcuNXQyMS41IDkuNXQyMy41IDEzdDIxIDEzdDIxIDE0dDE3IDExLjVsMjY3IDE3NHEzNSAyMyA2Ni41IDYyLjV0MzEuNSA3My41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfMzg1IiB1bmljb2RlPSImI3hmMTlhOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTI3IDY0MHEwIDE2MyA2NyAzMTNsMzY3IC0xMDA1cS0xOTYgOTUgLTMxNSAyODF0LTExOSA0MTF6TTE0MTUgNjc5cTAgLTE5IC0yLjUgLTM4LjV0LTEwIC00OS41dC0xMS41IC00NHQtMTcuNSAtNTl0LTE3LjUgLTU4bC03NiAtMjU2bC0yNzggODI2cTQ2IDMgODggOHExOSAyIDI2IDE4LjV0LTIuNSAzMXQtMjguNSAxMy41bC0yMDUgLTEwcS03NSAxIC0yMDIgMTBxLTEyIDEgLTIwLjUgLTV0LTExLjUgLTE1dC0xLjUgLTE4LjV0OSAtMTYuNQp0MTkuNSAtOGw4MCAtOGwxMjAgLTMyOGwtMTY4IC01MDRsLTI4MCA4MzJxNDYgMyA4OCA4cTE5IDIgMjYgMTguNXQtMi41IDMxdC0yOC41IDEzLjVsLTIwNSAtMTBxLTcgMCAtMjMgMC41dC0yNiAwLjVxMTA1IDE2MCAyNzQuNSAyNTMuNXQzNjcuNSA5My41cTE0NyAwIDI4MC41IC01M3QyMzguNSAtMTQ5aC0xMHEtNTUgMCAtOTIgLTQwLjV0LTM3IC05NS41cTAgLTEyIDIgLTI0dDQgLTIxLjV0OCAtMjN0OSAtMjF0MTIgLTIyLjV0MTIuNSAtMjEKdDE0LjUgLTI0dDE0IC0yM3E2MyAtMTA3IDYzIC0yMTJ6TTkwOSA1NzNsMjM3IC02NDdxMSAtNiA1IC0xMXEtMTI2IC00NCAtMjU1IC00NHEtMTEyIDAgLTIxNyAzMnpNMTU3MCAxMDA5cTk1IC0xNzQgOTUgLTM2OXEwIC0yMDkgLTEwNCAtMzg1LjV0LTI3OSAtMjc4LjVsMjM1IDY3OHE1OSAxNjkgNTkgMjc2cTAgNDIgLTYgNzl6TTg5NiAxNTM2cTE4MiAwIDM0OCAtNzF0Mjg2IC0xOTF0MTkxIC0yODZ0NzEgLTM0OHQtNzEgLTM0OHQtMTkxIC0yODYKdC0yODYgLTE5MXQtMzQ4IC03MXQtMzQ4IDcxdC0yODYgMTkxdC0xOTEgMjg2dC03MSAzNDh0NzEgMzQ4dDE5MSAyODZ0Mjg2IDE5MXQzNDggNzF6TTg5NiAtMjE1cTE3MyAwIDMzMS41IDY4dDI3MyAxODIuNXQxODIuNSAyNzN0NjggMzMxLjV0LTY4IDMzMS41dC0xODIuNSAyNzN0LTI3MyAxODIuNXQtMzMxLjUgNjh0LTMzMS41IC02OHQtMjczIC0xODIuNXQtMTgyLjUgLTI3M3QtNjggLTMzMS41dDY4IC0zMzEuNXQxODIuNSAtMjczCnQyNzMgLTE4Mi41dDMzMS41IC02OHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzM4NiIgdW5pY29kZT0iJiN4ZjE5YjsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTEwODYgMTUzNnYtMTUzNmwtMjcyIC0xMjhxLTIyOCAyMCAtNDE0IDEwMnQtMjkzIDIwOC41dC0xMDcgMjcyLjVxMCAxNDAgMTAwLjUgMjYzLjV0Mjc1IDIwNS41dDM5MS41IDEwOHYtMTcycS0yMTcgLTM4IC0zNTYuNSAtMTUwdC0xMzkuNSAtMjU1cTAgLTE1MiAxNTQuNSAtMjY3dDM4OC41IC0xNDV2MTM2MHpNMTc1NSA5NTRsMzcgLTM5MGwtNTI1IDExNGwxNDcgODNxLTExOSA3MCAtMjgwIDk5djE3MnEyNzcgLTMzIDQ4MSAtMTU3eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfMzg3IiB1bmljb2RlPSImI3hmMTljOyIgaG9yaXotYWR2LXg9IjIwNDgiIApkPSJNOTYwIDE1MzZsOTYwIC0zODR2LTEyOGgtMTI4cTAgLTI2IC0yMC41IC00NXQtNDguNSAtMTloLTE1MjZxLTI4IDAgLTQ4LjUgMTl0LTIwLjUgNDVoLTEyOHYxMjh6TTI1NiA4OTZoMjU2di03NjhoMTI4djc2OGgyNTZ2LTc2OGgxMjh2NzY4aDI1NnYtNzY4aDEyOHY3NjhoMjU2di03NjhoNTlxMjggMCA0OC41IC0xOXQyMC41IC00NXYtNjRoLTE2NjR2NjRxMCAyNiAyMC41IDQ1dDQ4LjUgMTloNTl2NzY4ek0xODUxIC02NApxMjggMCA0OC41IC0xOXQyMC41IC00NXYtMTI4aC0xOTIwdjEyOHEwIDI2IDIwLjUgNDV0NDguNSAxOWgxNzgyeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfMzg4IiB1bmljb2RlPSImI3hmMTlkOyIgaG9yaXotYWR2LXg9IjIzMDQiIApkPSJNMTc3NCA3MDBsMTggLTMxNnE0IC02OSAtODIgLTEyOHQtMjM1IC05My41dC0zMjMgLTM0LjV0LTMyMyAzNC41dC0yMzUgOTMuNXQtODIgMTI4bDE4IDMxNmw1NzQgLTE4MXEyMiAtNyA0OCAtN3Q0OCA3ek0yMzA0IDEwMjRxMCAtMjMgLTIyIC0zMWwtMTEyMCAtMzUycS00IC0xIC0xMCAtMXQtMTAgMWwtNjUyIDIwNnEtNDMgLTM0IC03MSAtMTExLjV0LTM0IC0xNzguNXE2MyAtMzYgNjMgLTEwOXEwIC02OSAtNTggLTEwN2w1OCAtNDMzCnEyIC0xNCAtOCAtMjVxLTkgLTExIC0yNCAtMTFoLTE5MnEtMTUgMCAtMjQgMTFxLTEwIDExIC04IDI1bDU4IDQzM3EtNTggMzggLTU4IDEwN3EwIDczIDY1IDExMXExMSAyMDcgOTggMzMwbC0zMzMgMTA0cS0yMiA4IC0yMiAzMXQyMiAzMWwxMTIwIDM1MnE0IDEgMTAgMXQxMCAtMWwxMTIwIC0zNTJxMjIgLTggMjIgLTMxeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfMzg5IiB1bmljb2RlPSImI3hmMTllOyIgCmQ9Ik04NTkgNTc5bDEzIC03MDdxLTYyIDExIC0xMDUgMTFxLTQxIDAgLTEwNSAtMTFsMTMgNzA3cS00MCA2OSAtMTY4LjUgMjk1LjV0LTIxNi41IDM3NC41dC0xODEgMjg3cTU4IC0xNSAxMDggLTE1cTQ0IDAgMTExIDE1cTYzIC0xMTEgMTMzLjUgLTIyOS41dDE2NyAtMjc2LjV0MTM4LjUgLTIyN3EzNyA2MSAxMDkuNSAxNzcuNXQxMTcuNSAxOTB0MTA1IDE3NnQxMDcgMTg5LjVxNTQgLTE0IDEwNyAtMTRxNTYgMCAxMTQgMTR2MApxLTI4IC0zOSAtNjAgLTg4LjV0LTQ5LjUgLTc4LjV0LTU2LjUgLTk2dC00OSAtODRxLTE0NiAtMjQ4IC0zNTMgLTYxMHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjFBMCIgdW5pY29kZT0iJiN4ZjFhMDsiIApkPSJNNzY4IDc1MGg3MjVxMTIgLTY3IDEyIC0xMjhxMCAtMjE3IC05MSAtMzg3LjV0LTI1OS41IC0yNjYuNXQtMzg2LjUgLTk2cS0xNTcgMCAtMjk5IDYwLjV0LTI0NSAxNjMuNXQtMTYzLjUgMjQ1dC02MC41IDI5OXQ2MC41IDI5OXQxNjMuNSAyNDV0MjQ1IDE2My41dDI5OSA2MC41cTMwMCAwIDUxNSAtMjAxbC0yMDkgLTIwMXEtMTIzIDExOSAtMzA2IDExOXEtMTI5IDAgLTIzOC41IC02NXQtMTczLjUgLTE3Ni41dC02NCAtMjQzLjUKdDY0IC0yNDMuNXQxNzMuNSAtMTc2LjV0MjM4LjUgLTY1cTg3IDAgMTYwIDI0dDEyMCA2MHQ4MiA4MnQ1MS41IDg3dDIyLjUgNzhoLTQzNnYyNjR6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImYxYTEiIHVuaWNvZGU9IiYjeGYxYTE7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xMDk1IDM2OXExNiAtMTYgMCAtMzFxLTYyIC02MiAtMTk5IC02MnQtMTk5IDYycS0xNiAxNSAwIDMxcTYgNiAxNSA2dDE1IC02cTQ4IC00OSAxNjkgLTQ5cTEyMCAwIDE2OSA0OXE2IDYgMTUgNnQxNSAtNnpNNzg4IDU1MHEwIC0zNyAtMjYgLTYzdC02MyAtMjZ0LTYzLjUgMjZ0LTI2LjUgNjNxMCAzOCAyNi41IDY0dDYzLjUgMjZ0NjMgLTI2LjV0MjYgLTYzLjV6TTExODMgNTUwcTAgLTM3IC0yNi41IC02M3QtNjMuNSAtMjZ0LTYzIDI2CnQtMjYgNjN0MjYgNjMuNXQ2MyAyNi41dDYzLjUgLTI2dDI2LjUgLTY0ek0xNDM0IDY3MHEwIDQ5IC0zNSA4NHQtODUgMzV0LTg2IC0zNnEtMTMwIDkwIC0zMTEgOTZsNjMgMjgzbDIwMCAtNDVxMCAtMzcgMjYgLTYzdDYzIC0yNnQ2My41IDI2LjV0MjYuNSA2My41dC0yNi41IDYzLjV0LTYzLjUgMjYuNXEtNTQgMCAtODAgLTUwbC0yMjEgNDlxLTE5IDUgLTI1IC0xNmwtNjkgLTMxMnEtMTgwIC03IC0zMDkgLTk3cS0zNSAzNyAtODcgMzcKcS01MCAwIC04NSAtMzV0LTM1IC04NHEwIC0zNSAxOC41IC02NHQ0OS41IC00NHEtNiAtMjcgLTYgLTU2cTAgLTE0MiAxNDAgLTI0M3QzMzcgLTEwMXExOTggMCAzMzggMTAxdDE0MCAyNDNxMCAzMiAtNyA1N3EzMCAxNSA0OCA0My41dDE4IDYzLjV6TTE3OTIgNjQwcTAgLTE4MiAtNzEgLTM0OHQtMTkxIC0yODZ0LTI4NiAtMTkxdC0zNDggLTcxdC0zNDggNzF0LTI4NiAxOTF0LTE5MSAyODZ0LTcxIDM0OHQ3MSAzNDh0MTkxIDI4NnQyODYgMTkxCnQzNDggNzF0MzQ4IC03MXQyODYgLTE5MXQxOTEgLTI4NnQ3MSAtMzQ4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfMzkyIiB1bmljb2RlPSImI3hmMWEyOyIgCmQ9Ik05MzkgNDA3cTEzIC0xMyAwIC0yNnEtNTMgLTUzIC0xNzEgLTUzdC0xNzEgNTNxLTEzIDEzIDAgMjZxNSA2IDEzIDZ0MTMgLTZxNDIgLTQyIDE0NSAtNDJ0MTQ1IDQycTUgNiAxMyA2dDEzIC02ek02NzYgNTYzcTAgLTMxIC0yMyAtNTR0LTU0IC0yM3QtNTQgMjN0LTIzIDU0cTAgMzIgMjIuNSA1NC41dDU0LjUgMjIuNXQ1NC41IC0yMi41dDIyLjUgLTU0LjV6TTEwMTQgNTYzcTAgLTMxIC0yMyAtNTR0LTU0IC0yM3QtNTQgMjN0LTIzIDU0CnEwIDMyIDIyLjUgNTQuNXQ1NC41IDIyLjV0NTQuNSAtMjIuNXQyMi41IC01NC41ek0xMjI5IDY2NnEwIDQyIC0zMCA3MnQtNzMgMzBxLTQyIDAgLTczIC0zMXEtMTEzIDc4IC0yNjcgODJsNTQgMjQzbDE3MSAtMzlxMSAtMzIgMjMuNSAtNTR0NTMuNSAtMjJxMzIgMCA1NC41IDIyLjV0MjIuNSA1NC41dC0yMi41IDU0LjV0LTU0LjUgMjIuNXEtNDggMCAtNjkgLTQzbC0xODkgNDJxLTE3IDUgLTIxIC0xM2wtNjAgLTI2OHEtMTU0IC02IC0yNjUgLTgzCnEtMzAgMzIgLTc0IDMycS00MyAwIC03MyAtMzB0LTMwIC03MnEwIC0zMCAxNiAtNTV0NDIgLTM4cS01IC0yNSAtNSAtNDhxMCAtMTIyIDEyMCAtMjA4LjV0Mjg5IC04Ni41cTE3MCAwIDI5MCA4Ni41dDEyMCAyMDguNXEwIDI1IC02IDQ5cTI1IDEzIDQwLjUgMzcuNXQxNS41IDU0LjV6TTE1MzYgMTEyMHYtOTYwcTAgLTExOSAtODQuNSAtMjAzLjV0LTIwMy41IC04NC41aC05NjBxLTExOSAwIC0yMDMuNSA4NC41dC04NC41IDIwMy41djk2MApxMCAxMTkgODQuNSAyMDMuNXQyMDMuNSA4NC41aDk2MHExMTkgMCAyMDMuNSAtODQuNXQ4NC41IC0yMDMuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzM5MyIgdW5pY29kZT0iJiN4ZjFhMzsiIApkPSJNODY2IDY5N2w5MCAyN3Y2MnEwIDc5IC01OCAxMzV0LTEzOCA1NnQtMTM4IC01NS41dC01OCAtMTM0LjV2LTI4M3EwIC0yMCAtMTQgLTMzLjV0LTMzIC0xMy41dC0zMi41IDEzLjV0LTEzLjUgMzMuNXYxMjBoLTE1MXYtMTIycTAgLTgyIDU3LjUgLTEzOXQxMzkuNSAtNTdxODEgMCAxMzguNSA1Ni41dDU3LjUgMTM2LjV2MjgwcTAgMTkgMTMuNSAzM3QzMy41IDE0cTE5IDAgMzIuNSAtMTR0MTMuNSAtMzN2LTU0ek0xMTk5IDUwMnYxMjJoLTE1MAp2LTEyNnEwIC0yMCAtMTMuNSAtMzMuNXQtMzMuNSAtMTMuNXEtMTkgMCAtMzIuNSAxNHQtMTMuNSAzM3YxMjNsLTkwIC0yNmwtNjAgMjh2LTEyM3EwIC04MCA1OCAtMTM3dDEzOSAtNTd0MTM4LjUgNTd0NTcuNSAxMzl6TTE1MzYgNjQwcTAgLTIwOSAtMTAzIC0zODUuNXQtMjc5LjUgLTI3OS41dC0zODUuNSAtMTAzdC0zODUuNSAxMDN0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwMwp0Mzg1LjUgLTEwM3QyNzkuNSAtMjc5LjV0MTAzIC0zODUuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZjFhNCIgdW5pY29kZT0iJiN4ZjFhNDsiIGhvcml6LWFkdi14PSIxOTIwIiAKZD0iTTEwNjIgODI0djExOHEwIDQyIC0zMCA3MnQtNzIgMzB0LTcyIC0zMHQtMzAgLTcydi02MTJxMCAtMTc1IC0xMjYgLTI5OXQtMzAzIC0xMjRxLTE3OCAwIC0zMDMuNSAxMjUuNXQtMTI1LjUgMzAzLjV2MjY2aDMyOHYtMjYycTAgLTQzIDMwIC03Mi41dDcyIC0yOS41dDcyIDI5LjV0MzAgNzIuNXY2MjBxMCAxNzEgMTI2LjUgMjkydDMwMS41IDEyMXExNzYgMCAzMDIgLTEyMnQxMjYgLTI5NHYtMTM2bC0xOTUgLTU4ek0xNTkyIDYwMmgzMjgKdi0yNjZxMCAtMTc4IC0xMjUuNSAtMzAzLjV0LTMwMy41IC0xMjUuNXEtMTc3IDAgLTMwMyAxMjQuNXQtMTI2IDMwMC41djI2OGwxMzEgLTYxbDE5NSA1OHYtMjcwcTAgLTQyIDMwIC03MS41dDcyIC0yOS41dDcyIDI5LjV0MzAgNzEuNXYyNzV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il8zOTUiIHVuaWNvZGU9IiYjeGYxYTU7IiAKZD0iTTE0NzIgMTYwdjQ4MGgtNzA0djcwNGgtNDgwcS05MyAwIC0xNTguNSAtNjUuNXQtNjUuNSAtMTU4LjV2LTQ4MGg3MDR2LTcwNGg0ODBxOTMgMCAxNTguNSA2NS41dDY1LjUgMTU4LjV6TTE1MzYgMTEyMHYtOTYwcTAgLTExOSAtODQuNSAtMjAzLjV0LTIwMy41IC04NC41aC05NjBxLTExOSAwIC0yMDMuNSA4NC41dC04NC41IDIwMy41djk2MHEwIDExOSA4NC41IDIwMy41dDIwMy41IDg0LjVoOTYwcTExOSAwIDIwMy41IC04NC41CnQ4NC41IC0yMDMuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzM5NiIgdW5pY29kZT0iJiN4ZjFhNjsiIGhvcml6LWFkdi14PSIyMDQ4IiAKZD0iTTMyOCAxMjU0aDIwNHYtOTgzaC01MzJ2Njk3aDMyOHYyODZ6TTMyOCA0MzV2MzY5aC0xMjN2LTM2OWgxMjN6TTYxNCA5Njh2LTY5N2gyMDV2Njk3aC0yMDV6TTYxNCAxMjU0di0yMDRoMjA1djIwNGgtMjA1ek05MDEgOTY4aDUzM3YtOTQyaC01MzN2MTYzaDMyOHY4MmgtMzI4djY5N3pNMTIyOSA0MzV2MzY5aC0xMjN2LTM2OWgxMjN6TTE1MTYgOTY4aDUzMnYtOTQyaC01MzJ2MTYzaDMyN3Y4MmgtMzI3djY5N3pNMTg0MyA0MzV2MzY5aC0xMjMKdi0zNjloMTIzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfMzk3IiB1bmljb2RlPSImI3hmMWE3OyIgCmQ9Ik0xMDQ2IDUxNnEwIC02NCAtMzggLTEwOXQtOTEgLTQ1cS00MyAwIC03MCAxNXYyNzdxMjggMTcgNzAgMTdxNTMgMCA5MSAtNDUuNXQzOCAtMTA5LjV6TTcwMyA5NDRxMCAtNjQgLTM4IC0xMDkuNXQtOTEgLTQ1LjVxLTQzIDAgLTcwIDE1djI3N3EyOCAxNyA3MCAxN3E1MyAwIDkxIC00NXQzOCAtMTA5ek0xMjY1IDUxM3EwIDEzNCAtODggMjI5dC0yMTMgOTVxLTIwIDAgLTM5IC0zcS0yMyAtNzggLTc4IC0xMzZxLTg3IC05NSAtMjExIC0xMDEKdi02MzZsMjExIDQxdjIwNnE1MSAtMTkgMTE3IC0xOXExMjUgMCAyMTMgOTV0ODggMjI5ek05MjIgOTQwcTAgMTM0IC04OC41IDIyOXQtMjEzLjUgOTVxLTc0IDAgLTE0MSAtMzZoLTE4NnYtODQwbDIxMSA0MXYyMDZxNTUgLTE5IDExNiAtMTlxMTI1IDAgMjEzLjUgOTV0ODguNSAyMjl6TTE1MzYgMTEyMHYtOTYwcTAgLTExOSAtODQuNSAtMjAzLjV0LTIwMy41IC04NC41aC05NjBxLTExOSAwIC0yMDMuNSA4NC41dC04NC41IDIwMy41djk2MApxMCAxMTkgODQuNSAyMDMuNXQyMDMuNSA4NC41aDk2MHExMTkgMCAyMDMuNSAtODQuNXQ4NC41IC0yMDMuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzM5OCIgdW5pY29kZT0iJiN4ZjFhODsiIGhvcml6LWFkdi14PSIyMDM4IiAKZD0iTTEyMjIgNjA3cTc1IDMgMTQzLjUgLTIwLjV0MTE4IC01OC41dDEwMSAtOTQuNXQ4NCAtMTA4dDc1LjUgLTEyMC41cTMzIC01NiA3OC41IC0xMDl0NzUuNSAtODAuNXQ5OSAtODguNXEtNDggLTMwIC0xMDguNSAtNTcuNXQtMTM4LjUgLTU5dC0xMTQgLTQ3LjVxLTQ0IDM3IC03NCAxMTV0LTQzLjUgMTY0LjV0LTMzIDE4MC41dC00Mi41IDE2OC41dC03Mi41IDEyM3QtMTIyLjUgNDguNWwtMTAgLTJsLTYgLTRxNCAtNSAxMyAtMTQKcTYgLTUgMjggLTIzLjV0MjUuNSAtMjJ0MTkgLTE4dDE4IC0yMC41dDExLjUgLTIxdDEwLjUgLTI3LjV0NC41IC0zMXQ0IC00MC41bDEgLTMzcTEgLTI2IC0yLjUgLTU3LjV0LTcuNSAtNTJ0LTEyLjUgLTU4LjV0LTExLjUgLTUzcS0zNSAxIC0xMDEgLTkuNXQtOTggLTEwLjVxLTM5IDAgLTcyIDEwcS0yIDE2IC0yIDQ3cTAgNzQgMyA5NnEyIDEzIDMxLjUgNDEuNXQ1NyA1OXQyNi41IDUxLjVxLTI0IDIgLTQzIC0yNApxLTM2IC01MyAtMTExLjUgLTk5LjV0LTEzNi41IC00Ni41cS0yNSAwIC03NS41IDYzdC0xMDYuNSAxMzkuNXQtODQgOTYuNXEtNiA0IC0yNyAzMHEtNDgyIC0xMTIgLTUxMyAtMTEycS0xNiAwIC0yOCAxMXQtMTIgMjdxMCAxNSA4LjUgMjYuNXQyMi41IDE0LjVsNDg2IDEwNnEtOCAxNCAtOCAyNXQ1LjUgMTcuNXQxNiAxMS41dDIwIDd0MjMgNC41dDE4LjUgNC41cTQgMSAxNS41IDcuNXQxNy41IDYuNXExNSAwIDI4IC0xNnQyMCAtMzMKcTE2MyAzNyAxNzIgMzdxMTcgMCAyOS41IC0xMXQxMi41IC0yOHEwIC0xNSAtOC41IC0yNnQtMjMuNSAtMTRsLTE4MiAtNDBsLTEgLTE2cS0xIC0yNiA4MS41IC0xMTcuNXQxMDQuNSAtOTEuNXE0NyAwIDExOSA4MHQ3MiAxMjlxMCAzNiAtMjMuNSA1M3QtNTEgMTguNXQtNTEgMTEuNXQtMjMuNSAzNHEwIDE2IDEwIDM0bC02OCAxOXE0MyA0NCA0MyAxMTdxMCAyNiAtNSA1OHE4MiAxNiAxNDQgMTZxNDQgMCA3MS41IC0xLjV0NDguNSAtOC41CnQzMSAtMTMuNXQyMC41IC0yNC41dDE1LjUgLTMzLjV0MTcgLTQ3LjV0MjQgLTYwbDUwIDI1cS0zIC00MCAtMjMgLTYwdC00Mi41IC0yMXQtNDAgLTYuNXQtMTYuNSAtMjAuNXpNMTI4MiA4NDJxLTUgNSAtMTMuNSAxNS41dC0xMiAxNC41dC0xMC41IDExLjV0LTEwIDEwLjVsLTggOHQtOC41IDcuNXQtOCA1dC04LjUgNC41cS03IDMgLTE0LjUgNXQtMjAuNSAyLjV0LTIyIDAuNWgtMzIuNWgtMzcuNXEtMTI2IDAgLTIxNyAtNDMKcTE2IDMwIDM2IDQ2LjV0NTQgMjkuNXQ2NS41IDM2dDQ2IDM2LjV0NTAgNTV0NDMuNSA1MC41cTEyIC05IDI4IC0zMS41dDMyIC0zNi41dDM4IC0xM2wxMiAxdi03NmwyMiAtMXEyNDcgOTUgMzcxIDE5MHEyOCAyMSA1MCAzOXQ0Mi41IDM3LjV0MzMgMzF0MjkuNSAzNHQyNCAzMXQyNC41IDM3dDIzIDM4dDI3IDQ3LjV0MjkuNSA1M2w3IDlxLTIgLTUzIC00MyAtMTM5cS03OSAtMTY1IC0yMDUgLTI2NHQtMzA2IC0xNDJxLTE0IC0zIC00MiAtNy41CnQtNTAgLTkuNXQtMzkgLTE0cTMgLTE5IDI0LjUgLTQ2dDIxLjUgLTM0cTAgLTExIC0yNiAtMzB6TTEwNjEgLTc5cTM5IDI2IDEzMS41IDQ3LjV0MTQ2LjUgMjEuNXE5IDAgMjIuNSAtMTUuNXQyOCAtNDIuNXQyNiAtNTB0MjQgLTUxdDE0LjUgLTMzcS0xMjEgLTQ1IC0yNDQgLTQ1cS02MSAwIC0xMjUgMTF6TTgyMiA1NjhsNDggMTJsMTA5IC0xNzdsLTczIC00OHpNMTMyMyA1MXEzIC0xNSAzIC0xNnEwIC03IC0xNy41IC0xNC41dC00NiAtMTMKdC01NCAtOS41dC01My41IC03LjV0LTMyIC00LjVsLTcgNDNxMjEgMiA2MC41IDguNXQ3MiAxMHQ2MC41IDMuNWgxNHpNODY2IDY3OWwtOTYgLTIwbC02IDE3cTEwIDEgMzIuNSA3dDM0LjUgNnExOSAwIDM1IC0xMHpNMTA2MSA0NWgzMWwxMCAtODNsLTQxIC0xMnY5NXpNMTk1MCAxNTM1djF2LTF6TTE5NTAgMTUzNWwtMSAtNWwtMiAtMmwxIDN6TTE5NTAgMTUzNWwxIDF6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il8zOTkiIHVuaWNvZGU9IiYjeGYxYTk7IiAKZD0iTTExNjcgLTUwcS01IDE5IC0yNCA1cS0zMCAtMjIgLTg3IC0zOXQtMTMxIC0xN3EtMTI5IDAgLTE5MyA0OXEtNSA0IC0xMyA0cS0xMSAwIC0yNiAtMTJxLTcgLTYgLTcuNSAtMTZ0Ny41IC0yMHEzNCAtMzIgODcuNSAtNDZ0MTAyLjUgLTEyLjV0OTkgNC41cTQxIDQgODQuNSAyMC41dDY1IDMwdDI4LjUgMjAuNXExMiAxMiA3IDI5ek0xMTI4IDY1cS0xOSA0NyAtMzkgNjFxLTIzIDE1IC03NiAxNXEtNDcgMCAtNzEgLTEwCnEtMjkgLTEyIC03OCAtNTZxLTI2IC0yNCAtMTIgLTQ0cTkgLTggMTcuNSAtNC41dDMxLjUgMjMuNXEzIDIgMTAuNSA4LjV0MTAuNSA4LjV0MTAgN3QxMS41IDd0MTIuNSA1dDE1IDQuNXQxNi41IDIuNXQyMC41IDFxMjcgMCA0NC41IC03LjV0MjMgLTE0LjV0MTMuNSAtMjJxMTAgLTE3IDEyLjUgLTIwdDEyLjUgMXEyMyAxMiAxNCAzNHpNMTQ4MyAzNDZxMCAyMiAtNSA0NC41dC0xNi41IDQ1dC0zNCAzNi41dC01Mi41IDE0CnEtMzMgMCAtOTcgLTQxLjV0LTEyOSAtODMuNXQtMTAxIC00MnEtMjcgLTEgLTYzLjUgMTl0LTc2IDQ5dC04My41IDU4dC0xMDAgNDl0LTExMSAxOXEtMTE1IC0xIC0xOTcgLTc4LjV0LTg0IC0xNzguNXEtMiAtMTEyIDc0IC0xNjRxMjkgLTIwIDYyLjUgLTI4LjV0MTAzLjUgLTguNXE1NyAwIDEzMiAzMi41dDEzNCA3MXQxMjAgNzAuNXQ5MyAzMXEyNiAtMSA2NSAtMzEuNXQ3MS41IC02N3Q2OCAtNjcuNXQ1NS41IC0zMnEzNSAtMyA1OC41IDE0CnQ1NS41IDYzcTI4IDQxIDQyLjUgMTAxdDE0LjUgMTA2ek0xNTM2IDUwNnEwIC0xNjQgLTYyIC0zMDQuNXQtMTY2IC0yMzZ0LTI0Mi41IC0xNDkuNXQtMjkwLjUgLTU0dC0yOTMgNTcuNXQtMjQ3LjUgMTU3dC0xNzAuNSAyNDEuNXQtNjQgMzAycTAgODkgMTkuNSAxNzIuNXQ0OSAxNDUuNXQ3MC41IDExOC41dDc4LjUgOTR0NzguNSA2OS41dDY0LjUgNDYuNXQ0Mi41IDI0LjVxMTQgOCA1MSAyNi41dDU0LjUgMjguNXQ0OCAzMHQ2MC41IDQ0CnEzNiAyOCA1OCA3Mi41dDMwIDEyNS41cTEyOSAtMTU1IDE4NiAtMTkzcTQ0IC0yOSAxMzAgLTY4dDEyOSAtNjZxMjEgLTEzIDM5IC0yNXQ2MC41IC00Ni41dDc2IC03MC41dDc1IC05NXQ2OSAtMTIydDQ3IC0xNDguNXQxOS41IC0xNzcuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQwMCIgdW5pY29kZT0iJiN4ZjFhYTsiIApkPSJNMTA3MCA0NjNsLTE2MCAtMTYwbC0xNTEgLTE1MmwtMzAgLTMwcS02NSAtNjQgLTE1MS41IC04N3QtMTcxLjUgLTJxLTE2IC03MCAtNzIgLTExNXQtMTI5IC00NXEtODUgMCAtMTQ1IDYwLjV0LTYwIDE0NS41cTAgNzIgNDQuNSAxMjh0MTEzLjUgNzJxLTIyIDg2IDEgMTczdDg4IDE1MmwxMiAxMmwxNTEgLTE1MmwtMTEgLTExcS0zNyAtMzcgLTM3IC04OXQzNyAtOTBxMzcgLTM3IDg5IC0zN3Q4OSAzN2wzMCAzMGwxNTEgMTUybDE2MSAxNjB6Ck03MjkgMTE0NWwxMiAtMTJsLTE1MiAtMTUybC0xMiAxMnEtMzcgMzcgLTg5IDM3dC04OSAtMzd0LTM3IC04OS41dDM3IC04OS41bDI5IC0yOWwxNTIgLTE1MmwxNjAgLTE2MGwtMTUxIC0xNTJsLTE2MSAxNjBsLTE1MSAxNTJsLTMwIDMwcS02OCA2NyAtOTAgMTU5LjV0NSAxNzkuNXEtNzAgMTUgLTExNSA3MXQtNDUgMTI5cTAgODUgNjAgMTQ1LjV0MTQ1IDYwLjVxNzYgMCAxMzMuNSAtNDl0NjkuNSAtMTIzcTg0IDIwIDE2OS41IC0zLjUKdDE0OS41IC04Ny41ek0xNTM2IDc4cTAgLTg1IC02MCAtMTQ1LjV0LTE0NSAtNjAuNXEtNzQgMCAtMTMxIDQ3dC03MSAxMThxLTg2IC0yOCAtMTc5LjUgLTZ0LTE2MS41IDkwbC0xMSAxMmwxNTEgMTUybDEyIC0xMnEzNyAtMzcgODkgLTM3dDg5IDM3dDM3IDg5dC0zNyA4OWwtMzAgMzBsLTE1MiAxNTJsLTE2MCAxNjBsMTUyIDE1MmwxNjAgLTE2MGwxNTIgLTE1MmwyOSAtMzBxNjQgLTY0IDg3LjUgLTE1MC41dDIuNSAtMTcxLjUKcTc2IC0xMSAxMjYuNSAtNjguNXQ1MC41IC0xMzQuNXpNMTUzNCAxMjAycTAgLTc3IC01MSAtMTM1dC0xMjcgLTY5cTI2IC04NSAzIC0xNzYuNXQtOTAgLTE1OC41bC0xMiAtMTJsLTE1MSAxNTJsMTIgMTJxMzcgMzcgMzcgODl0LTM3IDg5dC04OSAzN3QtODkgLTM3bC0zMCAtMzBsLTE1MiAtMTUybC0xNjAgLTE2MGwtMTUyIDE1MmwxNjEgMTYwbDE1MiAxNTJsMjkgMzBxNjcgNjcgMTU5IDg5LjV0MTc4IC0zLjVxMTEgNzUgNjguNSAxMjYKdDEzNS41IDUxcTg1IDAgMTQ1IC02MC41dDYwIC0xNDUuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZjFhYiIgdW5pY29kZT0iJiN4ZjFhYjsiIApkPSJNNjU0IDQ1OHEtMSAtMyAtMTIuNSAwLjV0LTMxLjUgMTEuNWwtMjAgOXEtNDQgMjAgLTg3IDQ5cS03IDUgLTQxIDMxLjV0LTM4IDI4LjVxLTY3IC0xMDMgLTEzNCAtMTgxcS04MSAtOTUgLTEwNSAtMTEwcS00IC0yIC0xOS41IC00dC0xOC41IDBxNiA0IDgyIDkycTIxIDI0IDg1LjUgMTE1dDc4LjUgMTE4cTE3IDMwIDUxIDk4LjV0MzYgNzcuNXEtOCAxIC0xMTAgLTMzcS04IC0yIC0yNy41IC03LjV0LTM0LjUgLTkuNXQtMTcgLTUKcS0yIC0yIC0yIC0xMC41dC0xIC05LjVxLTUgLTEwIC0zMSAtMTVxLTIzIC03IC00NyAwcS0xOCA0IC0yOCAyMXEtNCA2IC01IDIzcTYgMiAyNC41IDV0MjkuNSA2cTU4IDE2IDEwNSAzMnExMDAgMzUgMTAyIDM1cTEwIDIgNDMgMTkuNXQ0NCAyMS41cTkgMyAyMS41IDh0MTQuNSA1LjV0NiAtMC41cTIgLTEyIC0xIC0zM3EwIC0yIC0xMi41IC0yN3QtMjYuNSAtNTMuNXQtMTcgLTMzLjVxLTI1IC01MCAtNzcgLTEzMWw2NCAtMjgKcTEyIC02IDc0LjUgLTMydDY3LjUgLTI4cTQgLTEgMTAuNSAtMjUuNXQ0LjUgLTMwLjV6TTQ0OSA5NDRxMyAtMTUgLTQgLTI4cS0xMiAtMjMgLTUwIC0zOHEtMzAgLTEyIC02MCAtMTJxLTI2IDMgLTQ5IDI2cS0xNCAxNSAtMTggNDFsMSAzcTMgLTMgMTkuNSAtNXQyNi41IDB0NTggMTZxMzYgMTIgNTUgMTRxMTcgMCAyMSAtMTd6TTExNDcgODE1bDYzIC0yMjdsLTEzOSA0MnpNMzkgMTVsNjk0IDIzMnYxMDMybC02OTQgLTIzM3YtMTAzMXoKTTEyODAgMzMybDEwMiAtMzFsLTE4MSA2NTdsLTEwMCAzMWwtMjE2IC01MzZsMTAyIC0zMWw0NSAxMTBsMjExIC02NXpNNzc3IDEyOTRsNTczIC0xODR2Mzgwek0xMDg4IC0yOWwxNTggLTEzbC01NCAtMTYwbC00MCA2NnEtMTMwIC04MyAtMjc2IC0xMDhxLTU4IC0xMiAtOTEgLTEyaC04NHEtNzkgMCAtMTk5LjUgMzl0LTE4My41IDg1cS04IDcgLTggMTZxMCA4IDUgMTMuNXQxMyA1LjVxNCAwIDE4IC03LjV0MzAuNSAtMTYuNXQyMC41IC0xMQpxNzMgLTM3IDE1OS41IC02MS41dDE1Ny41IC0yNC41cTk1IDAgMTY3IDE0LjV0MTU3IDUwLjVxMTUgNyAzMC41IDE1LjV0MzQgMTl0MjguNSAxNi41ek0xNTM2IDEwNTB2LTEwNzlsLTc3NCAyNDZxLTE0IC02IC0zNzUgLTEyNy41dC0zNjggLTEyMS41cS0xMyAwIC0xOCAxM3EwIDEgLTEgM3YxMDc4cTMgOSA0IDEwcTUgNiAyMCAxMXExMDcgMzYgMTQ5IDUwdjM4NGw1NTggLTE5OHEyIDAgMTYwLjUgNTV0MzE2IDEwOC41dDE2MS41IDUzLjUKcTIwIDAgMjAgLTIxdi00MTh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80MDIiIHVuaWNvZGU9IiYjeGYxYWM7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0yODggMTE1MnE2NiAwIDExMyAtNDd0NDcgLTExM3YtMTA4OHEwIC02NiAtNDcgLTExM3QtMTEzIC00N2gtMTI4cS02NiAwIC0xMTMgNDd0LTQ3IDExM3YxMDg4cTAgNjYgNDcgMTEzdDExMyA0N2gxMjh6TTE2NjQgOTg5cTU4IC0zNCA5MyAtOTN0MzUgLTEyOHYtNzY4cTAgLTEwNiAtNzUgLTE4MXQtMTgxIC03NWgtODY0cS02NiAwIC0xMTMgNDd0LTQ3IDExM3YxNTM2cTAgNDAgMjggNjh0NjggMjhoNjcycTQwIDAgODggLTIwdDc2IC00OApsMTUyIC0xNTJxMjggLTI4IDQ4IC03NnQyMCAtODh2LTE2M3pNOTI4IDB2MTI4cTAgMTQgLTkgMjN0LTIzIDloLTEyOHEtMTQgMCAtMjMgLTl0LTkgLTIzdi0xMjhxMCAtMTQgOSAtMjN0MjMgLTloMTI4cTE0IDAgMjMgOXQ5IDIzek05MjggMjU2djEyOHEwIDE0IC05IDIzdC0yMyA5aC0xMjhxLTE0IDAgLTIzIC05dC05IC0yM3YtMTI4cTAgLTE0IDkgLTIzdDIzIC05aDEyOHExNCAwIDIzIDl0OSAyM3pNOTI4IDUxMnYxMjhxMCAxNCAtOSAyMwp0LTIzIDloLTEyOHEtMTQgMCAtMjMgLTl0LTkgLTIzdi0xMjhxMCAtMTQgOSAtMjN0MjMgLTloMTI4cTE0IDAgMjMgOXQ5IDIzek0xMTg0IDB2MTI4cTAgMTQgLTkgMjN0LTIzIDloLTEyOHEtMTQgMCAtMjMgLTl0LTkgLTIzdi0xMjhxMCAtMTQgOSAtMjN0MjMgLTloMTI4cTE0IDAgMjMgOXQ5IDIzek0xMTg0IDI1NnYxMjhxMCAxNCAtOSAyM3QtMjMgOWgtMTI4cS0xNCAwIC0yMyAtOXQtOSAtMjN2LTEyOHEwIC0xNCA5IC0yM3QyMyAtOWgxMjgKcTE0IDAgMjMgOXQ5IDIzek0xMTg0IDUxMnYxMjhxMCAxNCAtOSAyM3QtMjMgOWgtMTI4cS0xNCAwIC0yMyAtOXQtOSAtMjN2LTEyOHEwIC0xNCA5IC0yM3QyMyAtOWgxMjhxMTQgMCAyMyA5dDkgMjN6TTE0NDAgMHYxMjhxMCAxNCAtOSAyM3QtMjMgOWgtMTI4cS0xNCAwIC0yMyAtOXQtOSAtMjN2LTEyOHEwIC0xNCA5IC0yM3QyMyAtOWgxMjhxMTQgMCAyMyA5dDkgMjN6TTE0NDAgMjU2djEyOHEwIDE0IC05IDIzdC0yMyA5aC0xMjgKcS0xNCAwIC0yMyAtOXQtOSAtMjN2LTEyOHEwIC0xNCA5IC0yM3QyMyAtOWgxMjhxMTQgMCAyMyA5dDkgMjN6TTE0NDAgNTEydjEyOHEwIDE0IC05IDIzdC0yMyA5aC0xMjhxLTE0IDAgLTIzIC05dC05IC0yM3YtMTI4cTAgLTE0IDkgLTIzdDIzIC05aDEyOHExNCAwIDIzIDl0OSAyM3pNMTUzNiA4OTZ2MjU2aC0xNjBxLTQwIDAgLTY4IDI4dC0yOCA2OHYxNjBoLTY0MHYtNTEyaDg5NnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQwMyIgdW5pY29kZT0iJiN4ZjFhZDsiIApkPSJNMTM0NCAxNTM2cTI2IDAgNDUgLTE5dDE5IC00NXYtMTY2NHEwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTEyODBxLTI2IDAgLTQ1IDE5dC0xOSA0NXYxNjY0cTAgMjYgMTkgNDV0NDUgMTloMTI4MHpNNTEyIDEyNDh2LTY0cTAgLTE0IDkgLTIzdDIzIC05aDY0cTE0IDAgMjMgOXQ5IDIzdjY0cTAgMTQgLTkgMjN0LTIzIDloLTY0cS0xNCAwIC0yMyAtOXQtOSAtMjN6TTUxMiA5OTJ2LTY0cTAgLTE0IDkgLTIzdDIzIC05aDY0cTE0IDAgMjMgOQp0OSAyM3Y2NHEwIDE0IC05IDIzdC0yMyA5aC02NHEtMTQgMCAtMjMgLTl0LTkgLTIzek01MTIgNzM2di02NHEwIC0xNCA5IC0yM3QyMyAtOWg2NHExNCAwIDIzIDl0OSAyM3Y2NHEwIDE0IC05IDIzdC0yMyA5aC02NHEtMTQgMCAtMjMgLTl0LTkgLTIzek01MTIgNDgwdi02NHEwIC0xNCA5IC0yM3QyMyAtOWg2NHExNCAwIDIzIDl0OSAyM3Y2NHEwIDE0IC05IDIzdC0yMyA5aC02NHEtMTQgMCAtMjMgLTl0LTkgLTIzek0zODQgMTYwdjY0CnEwIDE0IC05IDIzdC0yMyA5aC02NHEtMTQgMCAtMjMgLTl0LTkgLTIzdi02NHEwIC0xNCA5IC0yM3QyMyAtOWg2NHExNCAwIDIzIDl0OSAyM3pNMzg0IDQxNnY2NHEwIDE0IC05IDIzdC0yMyA5aC02NHEtMTQgMCAtMjMgLTl0LTkgLTIzdi02NHEwIC0xNCA5IC0yM3QyMyAtOWg2NHExNCAwIDIzIDl0OSAyM3pNMzg0IDY3MnY2NHEwIDE0IC05IDIzdC0yMyA5aC02NHEtMTQgMCAtMjMgLTl0LTkgLTIzdi02NHEwIC0xNCA5IC0yM3QyMyAtOWg2NApxMTQgMCAyMyA5dDkgMjN6TTM4NCA5Mjh2NjRxMCAxNCAtOSAyM3QtMjMgOWgtNjRxLTE0IDAgLTIzIC05dC05IC0yM3YtNjRxMCAtMTQgOSAtMjN0MjMgLTloNjRxMTQgMCAyMyA5dDkgMjN6TTM4NCAxMTg0djY0cTAgMTQgLTkgMjN0LTIzIDloLTY0cS0xNCAwIC0yMyAtOXQtOSAtMjN2LTY0cTAgLTE0IDkgLTIzdDIzIC05aDY0cTE0IDAgMjMgOXQ5IDIzek04OTYgLTk2djE5MnEwIDE0IC05IDIzdC0yMyA5aC0zMjBxLTE0IDAgLTIzIC05CnQtOSAtMjN2LTE5MnEwIC0xNCA5IC0yM3QyMyAtOWgzMjBxMTQgMCAyMyA5dDkgMjN6TTg5NiA0MTZ2NjRxMCAxNCAtOSAyM3QtMjMgOWgtNjRxLTE0IDAgLTIzIC05dC05IC0yM3YtNjRxMCAtMTQgOSAtMjN0MjMgLTloNjRxMTQgMCAyMyA5dDkgMjN6TTg5NiA2NzJ2NjRxMCAxNCAtOSAyM3QtMjMgOWgtNjRxLTE0IDAgLTIzIC05dC05IC0yM3YtNjRxMCAtMTQgOSAtMjN0MjMgLTloNjRxMTQgMCAyMyA5dDkgMjN6TTg5NiA5Mjh2NjQKcTAgMTQgLTkgMjN0LTIzIDloLTY0cS0xNCAwIC0yMyAtOXQtOSAtMjN2LTY0cTAgLTE0IDkgLTIzdDIzIC05aDY0cTE0IDAgMjMgOXQ5IDIzek04OTYgMTE4NHY2NHEwIDE0IC05IDIzdC0yMyA5aC02NHEtMTQgMCAtMjMgLTl0LTkgLTIzdi02NHEwIC0xNCA5IC0yM3QyMyAtOWg2NHExNCAwIDIzIDl0OSAyM3pNMTE1MiAxNjB2NjRxMCAxNCAtOSAyM3QtMjMgOWgtNjRxLTE0IDAgLTIzIC05dC05IC0yM3YtNjRxMCAtMTQgOSAtMjN0MjMgLTloNjQKcTE0IDAgMjMgOXQ5IDIzek0xMTUyIDQxNnY2NHEwIDE0IC05IDIzdC0yMyA5aC02NHEtMTQgMCAtMjMgLTl0LTkgLTIzdi02NHEwIC0xNCA5IC0yM3QyMyAtOWg2NHExNCAwIDIzIDl0OSAyM3pNMTE1MiA2NzJ2NjRxMCAxNCAtOSAyM3QtMjMgOWgtNjRxLTE0IDAgLTIzIC05dC05IC0yM3YtNjRxMCAtMTQgOSAtMjN0MjMgLTloNjRxMTQgMCAyMyA5dDkgMjN6TTExNTIgOTI4djY0cTAgMTQgLTkgMjN0LTIzIDloLTY0cS0xNCAwIC0yMyAtOQp0LTkgLTIzdi02NHEwIC0xNCA5IC0yM3QyMyAtOWg2NHExNCAwIDIzIDl0OSAyM3pNMTE1MiAxMTg0djY0cTAgMTQgLTkgMjN0LTIzIDloLTY0cS0xNCAwIC0yMyAtOXQtOSAtMjN2LTY0cTAgLTE0IDkgLTIzdDIzIC05aDY0cTE0IDAgMjMgOXQ5IDIzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDA0IiB1bmljb2RlPSImI3hmMWFlOyIgaG9yaXotYWR2LXg9IjEyODAiIApkPSJNMTE4OCA5ODhsLTI5MiAtMjkydi04MjRxMCAtNDYgLTMzIC03OXQtNzkgLTMzdC03OSAzM3QtMzMgNzl2Mzg0aC02NHYtMzg0cTAgLTQ2IC0zMyAtNzl0LTc5IC0zM3QtNzkgMzN0LTMzIDc5djgyNGwtMjkyIDI5MnEtMjggMjggLTI4IDY4dDI4IDY4cTI5IDI4IDY4LjUgMjh0NjcuNSAtMjhsMjI4IC0yMjhoMzY4bDIyOCAyMjhxMjggMjggNjggMjh0NjggLTI4cTI4IC0yOSAyOCAtNjguNXQtMjggLTY3LjV6TTg2NCAxMTUyCnEwIC05MyAtNjUuNSAtMTU4LjV0LTE1OC41IC02NS41dC0xNTguNSA2NS41dC02NS41IDE1OC41dDY1LjUgMTU4LjV0MTU4LjUgNjUuNXQxNTguNSAtNjUuNXQ2NS41IC0xNTguNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjFCMSIgdW5pY29kZT0iJiN4ZjFiMDsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTc4MCAxMDY0cTAgLTYwIC0xOSAtMTEzLjV0LTYzIC05Mi41dC0xMDUgLTM5cS03NiAwIC0xMzggNTcuNXQtOTIgMTM1LjV0LTMwIDE1MXEwIDYwIDE5IDExMy41dDYzIDkyLjV0MTA1IDM5cTc3IDAgMTM4LjUgLTU3LjV0OTEuNSAtMTM1dDMwIC0xNTEuNXpNNDM4IDU4MXEwIC04MCAtNDIgLTEzOXQtMTE5IC01OXEtNzYgMCAtMTQxLjUgNTUuNXQtMTAwLjUgMTMzLjV0LTM1IDE1MnEwIDgwIDQyIDEzOS41dDExOSA1OS41CnE3NiAwIDE0MS41IC01NS41dDEwMC41IC0xMzR0MzUgLTE1Mi41ek04MzIgNjA4cTExOCAwIDI1NSAtOTcuNXQyMjkgLTIzN3Q5MiAtMjU0LjVxMCAtNDYgLTE3IC03Ni41dC00OC41IC00NXQtNjQuNSAtMjB0LTc2IC01LjVxLTY4IDAgLTE4Ny41IDQ1dC0xODIuNSA0NXEtNjYgMCAtMTkyLjUgLTQ0LjV0LTIwMC41IC00NC41cS0xODMgMCAtMTgzIDE0NnEwIDg2IDU2IDE5MS41dDEzOS41IDE5Mi41dDE4Ny41IDE0NnQxOTMgNTl6TTEwNzEgODE5CnEtNjEgMCAtMTA1IDM5dC02MyA5Mi41dC0xOSAxMTMuNXEwIDc0IDMwIDE1MS41dDkxLjUgMTM1dDEzOC41IDU3LjVxNjEgMCAxMDUgLTM5dDYzIC05Mi41dDE5IC0xMTMuNXEwIC03MyAtMzAgLTE1MXQtOTIgLTEzNS41dC0xMzggLTU3LjV6TTE1MDMgOTIzcTc3IDAgMTE5IC01OS41dDQyIC0xMzkuNXEwIC03NCAtMzUgLTE1MnQtMTAwLjUgLTEzMy41dC0xNDEuNSAtNTUuNXEtNzcgMCAtMTE5IDU5dC00MiAxMzlxMCA3NCAzNSAxNTIuNQp0MTAwLjUgMTM0dDE0MS41IDU1LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80MDYiIHVuaWNvZGU9IiYjeGYxYjE7IiBob3Jpei1hZHYteD0iNzY4IiAKZD0iTTcwNCAxMDA4cTAgLTE0NSAtNTcgLTI0My41dC0xNTIgLTEzNS41bDQ1IC04MjFxMiAtMjYgLTE2IC00NXQtNDQgLTE5aC0xOTJxLTI2IDAgLTQ0IDE5dC0xNiA0NWw0NSA4MjFxLTk1IDM3IC0xNTIgMTM1LjV0LTU3IDI0My41cTAgMTI4IDQyLjUgMjQ5LjV0MTE3LjUgMjAwdDE2MCA3OC41dDE2MCAtNzguNXQxMTcuNSAtMjAwdDQyLjUgLTI0OS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDA3IiB1bmljb2RlPSImI3hmMWIyOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNODk2IC05M2w2NDAgMzQ5djYzNmwtNjQwIC0yMzN2LTc1MnpNODMyIDc3Mmw2OTggMjU0bC02OTggMjU0bC02OTggLTI1NHpNMTY2NCAxMDI0di03NjhxMCAtMzUgLTE4IC02NXQtNDkgLTQ3bC03MDQgLTM4NHEtMjggLTE2IC02MSAtMTZ0LTYxIDE2bC03MDQgMzg0cS0zMSAxNyAtNDkgNDd0LTE4IDY1djc2OHEwIDQwIDIzIDczdDYxIDQ3bDcwNCAyNTZxMjIgOCA0NCA4dDQ0IC04bDcwNCAtMjU2cTM4IC0xNCA2MSAtNDd0MjMgLTczegoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQwOCIgdW5pY29kZT0iJiN4ZjFiMzsiIGhvcml6LWFkdi14PSIyMzA0IiAKZD0iTTY0MCAtOTZsMzg0IDE5MnYzMTRsLTM4NCAtMTY0di0zNDJ6TTU3NiAzNThsNDA0IDE3M2wtNDA0IDE3M2wtNDA0IC0xNzN6TTE2NjQgLTk2bDM4NCAxOTJ2MzE0bC0zODQgLTE2NHYtMzQyek0xNjAwIDM1OGw0MDQgMTczbC00MDQgMTczbC00MDQgLTE3M3pNMTE1MiA2NTFsMzg0IDE2NXYyNjZsLTM4NCAtMTY0di0yNjd6TTEwODggMTAzMGw0NDEgMTg5bC00NDEgMTg5bC00NDEgLTE4OXpNMjE3NiA1MTJ2LTQxNnEwIC0zNiAtMTkgLTY3CnQtNTIgLTQ3bC00NDggLTIyNHEtMjUgLTE0IC01NyAtMTR0LTU3IDE0bC00NDggMjI0cS00IDIgLTcgNHEtMiAtMiAtNyAtNGwtNDQ4IC0yMjRxLTI1IC0xNCAtNTcgLTE0dC01NyAxNGwtNDQ4IDIyNHEtMzMgMTYgLTUyIDQ3dC0xOSA2N3Y0MTZxMCAzOCAyMS41IDcwdDU2LjUgNDhsNDM0IDE4NnY0MDBxMCAzOCAyMS41IDcwdDU2LjUgNDhsNDQ4IDE5MnEyMyAxMCA1MCAxMHQ1MCAtMTBsNDQ4IC0xOTJxMzUgLTE2IDU2LjUgLTQ4dDIxLjUgLTcwCnYtNDAwbDQzNCAtMTg2cTM2IC0xNiA1NyAtNDh0MjEgLTcweiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDA5IiB1bmljb2RlPSImI3hmMWI0OyIgaG9yaXotYWR2LXg9IjIwNDgiIApkPSJNMTg0OCAxMTk3aC01MTF2LTEyNGg1MTF2MTI0ek0xNTk2IDc3MXEtOTAgMCAtMTQ2IC01Mi41dC02MiAtMTQyLjVoNDA4cS0xOCAxOTUgLTIwMCAxOTV6TTE2MTIgMTg2cTYzIDAgMTIyIDMydDc2IDg3aDIyMXEtMTAwIC0zMDcgLTQyNyAtMzA3cS0yMTQgMCAtMzQwLjUgMTMydC0xMjYuNSAzNDdxMCAyMDggMTMwLjUgMzQ1LjV0MzM2LjUgMTM3LjVxMTM4IDAgMjQwLjUgLTY4dDE1MyAtMTc5dDUwLjUgLTI0OHEwIC0xNyAtMiAtNDdoLTY1OApxMCAtMTExIDU3LjUgLTE3MS41dDE2Ni41IC02MC41ek0yNzcgMjM2aDI5NnEyMDUgMCAyMDUgMTY3cTAgMTgwIC0xOTkgMTgwaC0zMDJ2LTM0N3pNMjc3IDc3M2gyODFxNzggMCAxMjMuNSAzNi41dDQ1LjUgMTEzLjVxMCAxNDQgLTE5MCAxNDRoLTI2MHYtMjk0ek0wIDEyODJoNTk0cTg3IDAgMTU1IC0xNHQxMjYuNSAtNDcuNXQ5MCAtOTYuNXQzMS41IC0xNTRxMCAtMTgxIC0xNzIgLTI2M3ExMTQgLTMyIDE3MiAtMTE1dDU4IC0yMDQKcTAgLTc1IC0yNC41IC0xMzYuNXQtNjYgLTEwMy41dC05OC41IC03MXQtMTIxIC00MnQtMTM0IC0xM2gtNjExdjEyNjB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80MTAiIHVuaWNvZGU9IiYjeGYxYjU7IiAKZD0iTTEyNDggMTQwOHExMTkgMCAyMDMuNSAtODQuNXQ4NC41IC0yMDMuNXYtOTYwcTAgLTExOSAtODQuNSAtMjAzLjV0LTIwMy41IC04NC41aC05NjBxLTExOSAwIC0yMDMuNSA4NC41dC04NC41IDIwMy41djk2MHEwIDExOSA4NC41IDIwMy41dDIwMy41IDg0LjVoOTYwek00OTkgMTA0MWgtMzcxdi03ODdoMzgycTExNyAwIDE5NyA1Ny41dDgwIDE3MC41cTAgMTU4IC0xNDMgMjAwcTEwNyA1MiAxMDcgMTY0cTAgNTcgLTE5LjUgOTYuNQp0LTU2LjUgNjAuNXQtNzkgMjkuNXQtOTcgOC41ek00NzcgNzIzaC0xNzZ2MTg0aDE2M3ExMTkgMCAxMTkgLTkwcTAgLTk0IC0xMDYgLTk0ek00ODYgMzg4aC0xODV2MjE3aDE4OXExMjQgMCAxMjQgLTExM3EwIC0xMDQgLTEyOCAtMTA0ek0xMTM2IDM1NnEtNjggMCAtMTA0IDM4dC0zNiAxMDdoNDExcTEgMTAgMSAzMHEwIDEzMiAtNzQuNSAyMjAuNXQtMjAzLjUgODguNXEtMTI4IDAgLTIxMCAtODZ0LTgyIC0yMTZxMCAtMTM1IDc5IC0yMTcKdDIxMyAtODJxMjA1IDAgMjY3IDE5MWgtMTM4cS0xMSAtMzQgLTQ3LjUgLTU0dC03NS41IC0yMHpNMTEyNiA3MjJxMTEzIDAgMTI0IC0xMjJoLTI1NHE0IDU2IDM5IDg5dDkxIDMzek05NjQgOTg4aDMxOXYtNzdoLTMxOXY3N3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQxMSIgdW5pY29kZT0iJiN4ZjFiNjsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE1ODIgOTU0cTAgLTEwMSAtNzEuNSAtMTcyLjV0LTE3Mi41IC03MS41dC0xNzIuNSA3MS41dC03MS41IDE3Mi41dDcxLjUgMTcyLjV0MTcyLjUgNzEuNXQxNzIuNSAtNzEuNXQ3MS41IC0xNzIuNXpNODEyIDIxMnEwIDEwNCAtNzMgMTc3dC0xNzcgNzNxLTI3IDAgLTU0IC02bDEwNCAtNDJxNzcgLTMxIDEwOS41IC0xMDYuNXQxLjUgLTE1MS41cS0zMSAtNzcgLTEwNyAtMTA5dC0xNTIgLTFxLTIxIDggLTYyIDI0LjV0LTYxIDI0LjUKcTMyIC02MCA5MSAtOTYuNXQxMzAgLTM2LjVxMTA0IDAgMTc3IDczdDczIDE3N3pNMTY0MiA5NTNxMCAxMjYgLTg5LjUgMjE1LjV0LTIxNS41IDg5LjVxLTEyNyAwIC0yMTYuNSAtODkuNXQtODkuNSAtMjE1LjVxMCAtMTI3IDg5LjUgLTIxNnQyMTYuNSAtODlxMTI2IDAgMjE1LjUgODl0ODkuNSAyMTZ6TTE3OTIgOTUzcTAgLTE4OSAtMTMzLjUgLTMyMnQtMzIxLjUgLTEzM2wtNDM3IC0zMTlxLTEyIC0xMjkgLTEwOSAtMjE4dC0yMjkgLTg5CnEtMTIxIDAgLTIxNCA3NnQtMTE4IDE5MmwtMjMwIDkydjQyOWwzODkgLTE1N3E3OSA0OCAxNzMgNDhxMTMgMCAzNSAtMmwyODQgNDA3cTIgMTg3IDEzNS41IDMxOXQzMjAuNSAxMzJxMTg4IDAgMzIxLjUgLTEzMy41dDEzMy41IC0zMjEuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQxMiIgdW5pY29kZT0iJiN4ZjFiNzsiIApkPSJNMTI0MiA4ODlxMCA4MCAtNTcgMTM2LjV0LTEzNyA1Ni41dC0xMzYuNSAtNTd0LTU2LjUgLTEzNnEwIC04MCA1Ni41IC0xMzYuNXQxMzYuNSAtNTYuNXQxMzcgNTYuNXQ1NyAxMzYuNXpNNjMyIDMwMXEwIC04MyAtNTggLTE0MC41dC0xNDAgLTU3LjVxLTU2IDAgLTEwMyAyOXQtNzIgNzdxNTIgLTIwIDk4IC00MHE2MCAtMjQgMTIwIDEuNXQ4NSA4Ni41cTI0IDYwIC0xLjUgMTIwdC04Ni41IDg0bC04MiAzM3EyMiA1IDQyIDUKcTgyIDAgMTQwIC01Ny41dDU4IC0xNDAuNXpNMTUzNiAxMTIwdi05NjBxMCAtMTE5IC04NC41IC0yMDMuNXQtMjAzLjUgLTg0LjVoLTk2MHEtMTE5IDAgLTIwMy41IDg0LjV0LTg0LjUgMjAzLjV2MTUzbDE3MiAtNjlxMjAgLTkyIDkzLjUgLTE1MnQxNjguNSAtNjBxMTA0IDAgMTgxIDcwdDg3IDE3M2wzNDUgMjUycTE1MCAwIDI1NS41IDEwNS41dDEwNS41IDI1NC41cTAgMTUwIC0xMDUuNSAyNTUuNXQtMjU1LjUgMTA1LjUKcS0xNDggMCAtMjUzIC0xMDQuNXQtMTA3IC0yNTIuNWwtMjI1IC0zMjJxLTkgMSAtMjggMXEtNzUgMCAtMTM3IC0zN2wtMjk3IDExOXY0NjhxMCAxMTkgODQuNSAyMDMuNXQyMDMuNSA4NC41aDk2MHExMTkgMCAyMDMuNSAtODQuNXQ4NC41IC0yMDMuNXpNMTI4OSA4ODdxMCAtMTAwIC03MSAtMTcwLjV0LTE3MSAtNzAuNXQtMTcwLjUgNzAuNXQtNzAuNSAxNzAuNXQ3MC41IDE3MXQxNzAuNSA3MXExMDEgMCAxNzEuNSAtNzAuNXQ3MC41IC0xNzEuNXoKIiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80MTMiIHVuaWNvZGU9IiYjeGYxYjg7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik04MzYgMzY3bC0xNSAtMzY4bC0yIC0yMmwtNDIwIDI5cS0zNiAzIC02NyAzMS41dC00NyA2NS41cS0xMSAyNyAtMTQuNSA1NXQ0IDY1dDEyIDU1dDIxLjUgNjR0MTkgNTNxNzggLTEyIDUwOSAtMjh6TTQ0OSA5NTNsMTgwIC0zNzlsLTE0NyA5MnEtNjMgLTcyIC0xMTEuNSAtMTQ0LjV0LTcyLjUgLTEyNXQtMzkuNSAtOTQuNXQtMTguNSAtNjNsLTQgLTIxbC0xOTAgMzU3cS0xNyAyNiAtMTggNTZ0NiA0N2w4IDE4cTM1IDYzIDExNCAxODgKbC0xNDAgODZ6TTE2ODAgNDM2bC0xODggLTM1OXEtMTIgLTI5IC0zNi41IC00Ni41dC00My41IC0yMC41bC0xOCAtNHEtNzEgLTcgLTIxOSAtMTJsOCAtMTY0bC0yMzAgMzY3bDIxMSAzNjJsNyAtMTczcTE3MCAtMTYgMjgzIC01dDE3MCAzM3pNODk1IDEzNjBxLTQ3IC02MyAtMjY1IC00MzVsLTMxNyAxODdsLTE5IDEybDIyNSAzNTZxMjAgMzEgNjAgNDV0ODAgMTBxMjQgLTIgNDguNSAtMTJ0NDIgLTIxdDQxLjUgLTMzdDM2IC0zNC41CnQzNiAtMzkuNXQzMiAtMzV6TTE1NTAgMTA1M2wyMTIgLTM2M3ExOCAtMzcgMTIuNSAtNzZ0LTI3LjUgLTc0cS0xMyAtMjAgLTMzIC0zN3QtMzggLTI4dC00OC41IC0yMnQtNDcgLTE2dC01MS41IC0xNHQtNDYgLTEycS0zNCA3MiAtMjY1IDQzNmwzMTMgMTk1ek0xNDA3IDEyNzlsMTQyIDgzbC0yMjAgLTM3M2wtNDE5IDIwbDE1MSA4NnEtMzQgODkgLTc1IDE2NnQtNzUuNSAxMjMuNXQtNjQuNSA4MHQtNDcgNDYuNWwtMTcgMTNsNDA1IC0xCnEzMSAzIDU4IC0xMC41dDM5IC0yOC41bDExIC0xNXEzOSAtNjEgMTEyIC0xOTB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80MTQiIHVuaWNvZGU9IiYjeGYxYjk7IiBob3Jpei1hZHYteD0iMjA0OCIgCmQ9Ik00ODAgNDQ4cTAgNjYgLTQ3IDExM3QtMTEzIDQ3dC0xMTMgLTQ3dC00NyAtMTEzdDQ3IC0xMTN0MTEzIC00N3QxMTMgNDd0NDcgMTEzek01MTYgNzY4aDEwMTZsLTg5IDM1N3EtMiA4IC0xNCAxNy41dC0yMSA5LjVoLTc2OHEtOSAwIC0yMSAtOS41dC0xNCAtMTcuNXpNMTg4OCA0NDhxMCA2NiAtNDcgMTEzdC0xMTMgNDd0LTExMyAtNDd0LTQ3IC0xMTN0NDcgLTExM3QxMTMgLTQ3dDExMyA0N3Q0NyAxMTN6TTIwNDggNTQ0di0zODQKcTAgLTE0IC05IC0yM3QtMjMgLTloLTk2di0xMjhxMCAtODAgLTU2IC0xMzZ0LTEzNiAtNTZ0LTEzNiA1NnQtNTYgMTM2djEyOGgtMTAyNHYtMTI4cTAgLTgwIC01NiAtMTM2dC0xMzYgLTU2dC0xMzYgNTZ0LTU2IDEzNnYxMjhoLTk2cS0xNCAwIC0yMyA5dC05IDIzdjM4NHEwIDkzIDY1LjUgMTU4LjV0MTU4LjUgNjUuNWgyOGwxMDUgNDE5cTIzIDk0IDEwNCAxNTcuNXQxNzkgNjMuNWg3NjhxOTggMCAxNzkgLTYzLjV0MTA0IC0xNTcuNQpsMTA1IC00MTloMjhxOTMgMCAxNTguNSAtNjUuNXQ2NS41IC0xNTguNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQxNSIgdW5pY29kZT0iJiN4ZjFiYTsiIGhvcml6LWFkdi14PSIyMDQ4IiAKZD0iTTE4MjQgNjQwcTkzIDAgMTU4LjUgLTY1LjV0NjUuNSAtMTU4LjV2LTM4NHEwIC0xNCAtOSAtMjN0LTIzIC05aC05NnYtNjRxMCAtODAgLTU2IC0xMzZ0LTEzNiAtNTZ0LTEzNiA1NnQtNTYgMTM2djY0aC0xMDI0di02NHEwIC04MCAtNTYgLTEzNnQtMTM2IC01NnQtMTM2IDU2dC01NiAxMzZ2NjRoLTk2cS0xNCAwIC0yMyA5dC05IDIzdjM4NHEwIDkzIDY1LjUgMTU4LjV0MTU4LjUgNjUuNWgyOGwxMDUgNDE5cTIzIDk0IDEwNCAxNTcuNQp0MTc5IDYzLjVoMTI4djIyNHEwIDE0IDkgMjN0MjMgOWg0NDhxMTQgMCAyMyAtOXQ5IC0yM3YtMjI0aDEyOHE5OCAwIDE3OSAtNjMuNXQxMDQgLTE1Ny41bDEwNSAtNDE5aDI4ek0zMjAgMTYwcTY2IDAgMTEzIDQ3dDQ3IDExM3QtNDcgMTEzdC0xMTMgNDd0LTExMyAtNDd0LTQ3IC0xMTN0NDcgLTExM3QxMTMgLTQ3ek01MTYgNjQwaDEwMTZsLTg5IDM1N3EtMiA4IC0xNCAxNy41dC0yMSA5LjVoLTc2OHEtOSAwIC0yMSAtOS41dC0xNCAtMTcuNXoKTTE3MjggMTYwcTY2IDAgMTEzIDQ3dDQ3IDExM3QtNDcgMTEzdC0xMTMgNDd0LTExMyAtNDd0LTQ3IC0xMTN0NDcgLTExM3QxMTMgLTQ3eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDE2IiB1bmljb2RlPSImI3hmMWJiOyIgCmQ9Ik0xNTA0IDY0cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtNDYycTEgLTE3IDYgLTg3LjV0NSAtMTA4LjVxMCAtMjUgLTE4IC00Mi41dC00MyAtMTcuNWgtMzIwcS0yNSAwIC00MyAxNy41dC0xOCA0Mi41cTAgMzggNSAxMDguNXQ2IDg3LjVoLTQ2MnEtMjYgMCAtNDUgMTl0LTE5IDQ1dDE5IDQ1bDQwMiA0MDNoLTIyOXEtMjYgMCAtNDUgMTl0LTE5IDQ1dDE5IDQ1bDQwMiA0MDNoLTE5N3EtMjYgMCAtNDUgMTl0LTE5IDQ1dDE5IDQ1bDM4NCAzODQKcTE5IDE5IDQ1IDE5dDQ1IC0xOWwzODQgLTM4NHExOSAtMTkgMTkgLTQ1dC0xOSAtNDV0LTQ1IC0xOWgtMTk3bDQwMiAtNDAzcTE5IC0xOSAxOSAtNDV0LTE5IC00NXQtNDUgLTE5aC0yMjlsNDAyIC00MDNxMTkgLTE5IDE5IC00NXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQxNyIgdW5pY29kZT0iJiN4ZjFiYzsiIApkPSJNMTEyNyAzMjZxMCAzMiAtMzAgNTFxLTE5MyAxMTUgLTQ0NyAxMTVxLTEzMyAwIC0yODcgLTM0cS00MiAtOSAtNDIgLTUycTAgLTIwIDEzLjUgLTM0LjV0MzUuNSAtMTQuNXE1IDAgMzcgOHExMzIgMjcgMjQzIDI3cTIyNiAwIDM5NyAtMTAzcTE5IC0xMSAzMyAtMTFxMTkgMCAzMyAxMy41dDE0IDM0LjV6TTEyMjMgNTQxcTAgNDAgLTM1IDYxcS0yMzcgMTQxIC01NDggMTQxcS0xNTMgMCAtMzAzIC00MnEtNDggLTEzIC00OCAtNjQKcTAgLTI1IDE3LjUgLTQyLjV0NDIuNSAtMTcuNXE3IDAgMzcgOHExMjIgMzMgMjUxIDMzcTI3OSAwIDQ4OCAtMTI0cTI0IC0xMyAzOCAtMTNxMjUgMCA0Mi41IDE3LjV0MTcuNSA0Mi41ek0xMzMxIDc4OXEwIDQ3IC00MCA3MHEtMTI2IDczIC0yOTMgMTEwLjV0LTM0MyAzNy41cS0yMDQgMCAtMzY0IC00N3EtMjMgLTcgLTM4LjUgLTI1LjV0LTE1LjUgLTQ4LjVxMCAtMzEgMjAuNSAtNTJ0NTEuNSAtMjFxMTEgMCA0MCA4cTEzMyAzNyAzMDcgMzcKcTE1OSAwIDMwOS41IC0zNHQyNTMuNSAtOTVxMjEgLTEyIDQwIC0xMnEyOSAwIDUwLjUgMjAuNXQyMS41IDUxLjV6TTE1MzYgNjQwcTAgLTIwOSAtMTAzIC0zODUuNXQtMjc5LjUgLTI3OS41dC0zODUuNSAtMTAzdC0zODUuNSAxMDN0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3QzODUuNSAtMTAzdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDE4IiB1bmljb2RlPSImI3hmMWJkOyIgaG9yaXotYWR2LXg9IjEwMjQiIApkPSJNMTAyNCAxMjMzbC0zMDMgLTU4MmwyNCAtMzFoMjc5di00MTVoLTUwN2wtNDQgLTMwbC0xNDIgLTI3M2wtMzAgLTMwaC0zMDF2MzAzbDMwMyA1ODNsLTI0IDMwaC0yNzl2NDE1aDUwN2w0NCAzMGwxNDIgMjczbDMwIDMwaDMwMXYtMzAzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDE5IiB1bmljb2RlPSImI3hmMWJlOyIgaG9yaXotYWR2LXg9IjIzMDQiIApkPSJNNzg0IDE2NGwxNiAyNDFsLTE2IDUyM3EtMSAxMCAtNy41IDE3dC0xNi41IDdxLTkgMCAtMTYgLTd0LTcgLTE3bC0xNCAtNTIzbDE0IC0yNDFxMSAtMTAgNy41IC0xNi41dDE1LjUgLTYuNXEyMiAwIDI0IDIzek0xMDgwIDE5M2wxMSAyMTFsLTEyIDU4NnEwIDE2IC0xMyAyNHEtOCA1IC0xNiA1dC0xNiAtNXEtMTMgLTggLTEzIC0yNGwtMSAtNmwtMTAgLTU3OXEwIC0xIDExIC0yMzZ2LTFxMCAtMTAgNiAtMTdxOSAtMTEgMjMgLTExCnExMSAwIDIwIDlxOSA3IDkgMjB6TTM1IDUzM2wyMCAtMTI4bC0yMCAtMTI2cS0yIC05IC05IC05dC05IDlsLTE3IDEyNmwxNyAxMjhxMiA5IDkgOXQ5IC05ek0xMjEgNjEybDI2IC0yMDdsLTI2IC0yMDNxLTIgLTkgLTEwIC05cS05IDAgLTkgMTBsLTIzIDIwMmwyMyAyMDdxMCA5IDkgOXE4IDAgMTAgLTl6TTQwMSAxNTl6TTIxMyA2NTBsMjUgLTI0NWwtMjUgLTIzN3EwIC0xMSAtMTEgLTExcS0xMCAwIC0xMiAxMWwtMjEgMjM3bDIxIDI0NQpxMiAxMiAxMiAxMnExMSAwIDExIC0xMnpNMzA3IDY1N2wyMyAtMjUybC0yMyAtMjQ0cS0yIC0xMyAtMTQgLTEzcS0xMyAwIC0xMyAxM2wtMjEgMjQ0bDIxIDI1MnEwIDEzIDEzIDEzcTEyIDAgMTQgLTEzek00MDEgNjM5bDIxIC0yMzRsLTIxIC0yNDZxLTIgLTE2IC0xNiAtMTZxLTYgMCAtMTAuNSA0LjV0LTQuNSAxMS41bC0yMCAyNDZsMjAgMjM0cTAgNiA0LjUgMTAuNXQxMC41IDQuNXExNCAwIDE2IC0xNXpNNzg0IDE2NHpNNDk1IDc4NQpsMjEgLTM4MGwtMjEgLTI0NnEwIC03IC01IC0xMi41dC0xMiAtNS41cS0xNiAwIC0xOCAxOGwtMTggMjQ2bDE4IDM4MHEyIDE4IDE4IDE4cTcgMCAxMiAtNS41dDUgLTEyLjV6TTU4OSA4NzFsMTkgLTQ2OGwtMTkgLTI0NHEwIC04IC01LjUgLTEzLjV0LTEzLjUgLTUuNXEtMTggMCAtMjAgMTlsLTE2IDI0NGwxNiA0NjhxMiAxOSAyMCAxOXE4IDAgMTMuNSAtNS41dDUuNSAtMTMuNXpNNjg3IDkxMWwxOCAtNTA2bC0xOCAtMjQyCnEtMiAtMjEgLTIyIC0yMXEtMTkgMCAtMjEgMjFsLTE2IDI0MmwxNiA1MDZxMCA5IDYuNSAxNS41dDE0LjUgNi41cTkgMCAxNSAtNi41dDcgLTE1LjV6TTEwNzkgMTY5djB2MHYwek04ODEgOTE1bDE1IC01MTBsLTE1IC0yMzlxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41dC0xNyA3dC04IDE4bC0xNCAyMzlsMTQgNTEwcTAgMTEgNy41IDE4dDE3LjUgN3QxNy41IC03dDcuNSAtMTh6TTk4MCA4OTZsMTQgLTQ5MmwtMTQgLTIzNgpxMCAtMTEgLTggLTE5dC0xOSAtOHQtMTkgOHQtOSAxOWwtMTIgMjM2bDEyIDQ5MnExIDEyIDkgMjB0MTkgOHQxOC41IC04dDguNSAtMjB6TTExOTIgNDA0bC0xNCAtMjMxdjBxMCAtMTMgLTkgLTIydC0yMiAtOXQtMjIgOXQtMTAgMjJsLTYgMTE0bC02IDExN2wxMiA2MzZ2M3EyIDE1IDEyIDI0cTkgNyAyMCA3cTggMCAxNSAtNXExNCAtOCAxNiAtMjZ6TTIzMDQgNDIzcTAgLTExNyAtODMgLTE5OS41dC0yMDAgLTgyLjVoLTc4NgpxLTEzIDIgLTIyIDExdC05IDIydjg5OXEwIDIzIDI4IDMzcTg1IDM0IDE4MSAzNHExOTUgMCAzMzggLTEzMS41dDE2MCAtMzIzLjVxNTMgMjIgMTEwIDIycTExNyAwIDIwMCAtODN0ODMgLTIwMXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjFDMCIgdW5pY29kZT0iJiN4ZjFjMDsiIApkPSJNNzY4IDc2OHEyMzcgMCA0NDMgNDN0MzI1IDEyN3YtMTcwcTAgLTY5IC0xMDMgLTEyOHQtMjgwIC05My41dC0zODUgLTM0LjV0LTM4NSAzNC41dC0yODAgOTMuNXQtMTAzIDEyOHYxNzBxMTE5IC04NCAzMjUgLTEyN3Q0NDMgLTQzek03NjggMHEyMzcgMCA0NDMgNDN0MzI1IDEyN3YtMTcwcTAgLTY5IC0xMDMgLTEyOHQtMjgwIC05My41dC0zODUgLTM0LjV0LTM4NSAzNC41dC0yODAgOTMuNXQtMTAzIDEyOHYxNzBxMTE5IC04NCAzMjUgLTEyNwp0NDQzIC00M3pNNzY4IDM4NHEyMzcgMCA0NDMgNDN0MzI1IDEyN3YtMTcwcTAgLTY5IC0xMDMgLTEyOHQtMjgwIC05My41dC0zODUgLTM0LjV0LTM4NSAzNC41dC0yODAgOTMuNXQtMTAzIDEyOHYxNzBxMTE5IC04NCAzMjUgLTEyN3Q0NDMgLTQzek03NjggMTUzNnEyMDggMCAzODUgLTM0LjV0MjgwIC05My41dDEwMyAtMTI4di0xMjhxMCAtNjkgLTEwMyAtMTI4dC0yODAgLTkzLjV0LTM4NSAtMzQuNXQtMzg1IDM0LjV0LTI4MCA5My41CnQtMTAzIDEyOHYxMjhxMCA2OSAxMDMgMTI4dDI4MCA5My41dDM4NSAzNC41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMUMxIiB1bmljb2RlPSImI3hmMWMxOyIgCmQ9Ik0xNDY4IDExNTZxMjggLTI4IDQ4IC03NnQyMCAtODh2LTExNTJxMCAtNDAgLTI4IC02OHQtNjggLTI4aC0xMzQ0cS00MCAwIC02OCAyOHQtMjggNjh2MTYwMHEwIDQwIDI4IDY4dDY4IDI4aDg5NnE0MCAwIDg4IC0yMHQ3NiAtNDh6TTEwMjQgMTQwMHYtMzc2aDM3NnEtMTAgMjkgLTIyIDQxbC0zMTMgMzEzcS0xMiAxMiAtNDEgMjJ6TTE0MDggLTEyOHYxMDI0aC00MTZxLTQwIDAgLTY4IDI4dC0yOCA2OHY0MTZoLTc2OHYtMTUzNmgxMjgwegpNODk0IDQ2NXEzMyAtMjYgODQgLTU2cTU5IDcgMTE3IDdxMTQ3IDAgMTc3IC00OXExNiAtMjIgMiAtNTJxMCAtMSAtMSAtMmwtMiAtMnYtMXEtNiAtMzggLTcxIC0zOHEtNDggMCAtMTE1IDIwdC0xMzAgNTNxLTIyMSAtMjQgLTM5MiAtODNxLTE1MyAtMjYyIC0yNDIgLTI2MnEtMTUgMCAtMjggN2wtMjQgMTJxLTEgMSAtNiA1cS0xMCAxMCAtNiAzNnE5IDQwIDU2IDkxLjV0MTMyIDk2LjVxMTQgOSAyMyAtNnEyIC0yIDIgLTRxNTIgODUgMTA3IDE5NwpxNjggMTM2IDEwNCAyNjJxLTI0IDgyIC0zMC41IDE1OS41dDYuNSAxMjcuNXExMSA0MCA0MiA0MGgyMWgxcTIzIDAgMzUgLTE1cTE4IC0yMSA5IC02OHEtMiAtNiAtNCAtOHExIC0zIDEgLTh2LTMwcS0yIC0xMjMgLTE0IC0xOTJxNTUgLTE2NCAxNDYgLTIzOHpNMzE4IDU0cTUyIDI0IDEzNyAxNThxLTUxIC00MCAtODcuNSAtODR0LTQ5LjUgLTc0ek03MTYgOTc0cS0xNSAtNDIgLTIgLTEzMnExIDcgNyA0NHEwIDMgNyA0M3ExIDQgNCA4CnEtMSAxIC0xIDJxLTEgMiAtMSAzcS0xIDIyIC0xMyAzNnEwIC0xIC0xIC0ydi0yek01OTIgMzEzcTEzNSA1NCAyODQgODFxLTIgMSAtMTMgOS41dC0xNiAxMy41cS03NiA2NyAtMTI3IDE3NnEtMjcgLTg2IC04MyAtMTk3cS0zMCAtNTYgLTQ1IC04M3pNMTIzOCAzMjlxLTI0IDI0IC0xNDAgMjRxNzYgLTI4IDEyNCAtMjhxMTQgMCAxOCAxcTAgMSAtMiAzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDIyIiB1bmljb2RlPSImI3hmMWMyOyIgCmQ9Ik0xNDY4IDExNTZxMjggLTI4IDQ4IC03NnQyMCAtODh2LTExNTJxMCAtNDAgLTI4IC02OHQtNjggLTI4aC0xMzQ0cS00MCAwIC02OCAyOHQtMjggNjh2MTYwMHEwIDQwIDI4IDY4dDY4IDI4aDg5NnE0MCAwIDg4IC0yMHQ3NiAtNDh6TTEwMjQgMTQwMHYtMzc2aDM3NnEtMTAgMjkgLTIyIDQxbC0zMTMgMzEzcS0xMiAxMiAtNDEgMjJ6TTE0MDggLTEyOHYxMDI0aC00MTZxLTQwIDAgLTY4IDI4dC0yOCA2OHY0MTZoLTc2OHYtMTUzNmgxMjgwegpNMjMzIDc2OHYtMTA3aDcwbDE2NCAtNjYxaDE1OWwxMjggNDg1cTcgMjAgMTAgNDZxMiAxNiAyIDI0aDRsMyAtMjRxMSAtMyAzLjUgLTIwdDUuNSAtMjZsMTI4IC00ODVoMTU5bDE2NCA2NjFoNzB2MTA3aC0zMDB2LTEwN2g5MGwtOTkgLTQzOHEtNSAtMjAgLTcgLTQ2bC0yIC0yMWgtNHEwIDMgLTAuNSA2LjV0LTEuNSA4dC0xIDYuNXEtMSA1IC00IDIxdC01IDI1bC0xNDQgNTQ1aC0xMTRsLTE0NCAtNTQ1cS0yIC05IC00LjUgLTI0LjUKdC0zLjUgLTIxLjVsLTQgLTIxaC00bC0yIDIxcS0yIDI2IC03IDQ2bC05OSA0MzhoOTB2MTA3aC0zMDB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80MjMiIHVuaWNvZGU9IiYjeGYxYzM7IiAKZD0iTTE0NjggMTE1NnEyOCAtMjggNDggLTc2dDIwIC04OHYtMTE1MnEwIC00MCAtMjggLTY4dC02OCAtMjhoLTEzNDRxLTQwIDAgLTY4IDI4dC0yOCA2OHYxNjAwcTAgNDAgMjggNjh0NjggMjhoODk2cTQwIDAgODggLTIwdDc2IC00OHpNMTAyNCAxNDAwdi0zNzZoMzc2cS0xMCAyOSAtMjIgNDFsLTMxMyAzMTNxLTEyIDEyIC00MSAyMnpNMTQwOCAtMTI4djEwMjRoLTQxNnEtNDAgMCAtNjggMjh0LTI4IDY4djQxNmgtNzY4di0xNTM2aDEyODB6Ck00MjkgMTA2di0xMDZoMjgxdjEwNmgtNzVsMTAzIDE2MXE1IDcgMTAgMTYuNXQ3LjUgMTMuNXQzLjUgNGgycTEgLTQgNSAtMTBxMiAtNCA0LjUgLTcuNXQ2IC04dDYuNSAtOC41bDEwNyAtMTYxaC03NnYtMTA2aDI5MXYxMDZoLTY4bC0xOTIgMjczbDE5NSAyODJoNjd2MTA3aC0yNzl2LTEwN2g3NGwtMTAzIC0xNTlxLTQgLTcgLTEwIC0xNi41dC05IC0xMy41bC0yIC0zaC0ycS0xIDQgLTUgMTBxLTYgMTEgLTE3IDIzbC0xMDYgMTU5aDc2djEwNwpoLTI5MHYtMTA3aDY4bDE4OSAtMjcybC0xOTQgLTI4M2gtNjh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80MjQiIHVuaWNvZGU9IiYjeGYxYzQ7IiAKZD0iTTE0NjggMTE1NnEyOCAtMjggNDggLTc2dDIwIC04OHYtMTE1MnEwIC00MCAtMjggLTY4dC02OCAtMjhoLTEzNDRxLTQwIDAgLTY4IDI4dC0yOCA2OHYxNjAwcTAgNDAgMjggNjh0NjggMjhoODk2cTQwIDAgODggLTIwdDc2IC00OHpNMTAyNCAxNDAwdi0zNzZoMzc2cS0xMCAyOSAtMjIgNDFsLTMxMyAzMTNxLTEyIDEyIC00MSAyMnpNMTQwOCAtMTI4djEwMjRoLTQxNnEtNDAgMCAtNjggMjh0LTI4IDY4djQxNmgtNzY4di0xNTM2aDEyODB6Ck00MTYgMTA2di0xMDZoMzI3djEwNmgtOTN2MTY3aDEzN3E3NiAwIDExOCAxNXE2NyAyMyAxMDYuNSA4N3QzOS41IDE0NnEwIDgxIC0zNyAxNDF0LTEwMCA4N3EtNDggMTkgLTEzMCAxOWgtMzY4di0xMDdoOTJ2LTU1NWgtOTJ6TTc2OSAzODZoLTExOXYyNjhoMTIwcTUyIDAgODMgLTE4cTU2IC0zMyA1NiAtMTE1cTAgLTg5IC02MiAtMTIwcS0zMSAtMTUgLTc4IC0xNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQyNSIgdW5pY29kZT0iJiN4ZjFjNTsiIApkPSJNMTQ2OCAxMTU2cTI4IC0yOCA0OCAtNzZ0MjAgLTg4di0xMTUycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTM0NHEtNDAgMCAtNjggMjh0LTI4IDY4djE2MDBxMCA0MCAyOCA2OHQ2OCAyOGg4OTZxNDAgMCA4OCAtMjB0NzYgLTQ4ek0xMDI0IDE0MDB2LTM3NmgzNzZxLTEwIDI5IC0yMiA0MWwtMzEzIDMxM3EtMTIgMTIgLTQxIDIyek0xNDA4IC0xMjh2MTAyNGgtNDE2cS00MCAwIC02OCAyOHQtMjggNjh2NDE2aC03Njh2LTE1MzZoMTI4MHoKTTEyODAgMzIwdi0zMjBoLTEwMjR2MTkybDE5MiAxOTJsMTI4IC0xMjhsMzg0IDM4NHpNNDQ4IDUxMnEtODAgMCAtMTM2IDU2dC01NiAxMzZ0NTYgMTM2dDEzNiA1NnQxMzYgLTU2dDU2IC0xMzZ0LTU2IC0xMzZ0LTEzNiAtNTZ6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80MjYiIHVuaWNvZGU9IiYjeGYxYzY7IiAKZD0iTTY0MCAxMTUydjEyOGgtMTI4di0xMjhoMTI4ek03NjggMTAyNHYxMjhoLTEyOHYtMTI4aDEyOHpNNjQwIDg5NnYxMjhoLTEyOHYtMTI4aDEyOHpNNzY4IDc2OHYxMjhoLTEyOHYtMTI4aDEyOHpNMTQ2OCAxMTU2cTI4IC0yOCA0OCAtNzZ0MjAgLTg4di0xMTUycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTM0NHEtNDAgMCAtNjggMjh0LTI4IDY4djE2MDBxMCA0MCAyOCA2OHQ2OCAyOGg4OTZxNDAgMCA4OCAtMjB0NzYgLTQ4ek0xMDI0IDE0MDAKdi0zNzZoMzc2cS0xMCAyOSAtMjIgNDFsLTMxMyAzMTNxLTEyIDEyIC00MSAyMnpNMTQwOCAtMTI4djEwMjRoLTQxNnEtNDAgMCAtNjggMjh0LTI4IDY4djQxNmgtMTI4di0xMjhoLTEyOHYxMjhoLTUxMnYtMTUzNmgxMjgwek03ODEgNTkzbDEwNyAtMzQ5cTggLTI3IDggLTUycTAgLTgzIC03Mi41IC0xMzcuNXQtMTgzLjUgLTU0LjV0LTE4My41IDU0LjV0LTcyLjUgMTM3LjVxMCAyNSA4IDUycTIxIDYzIDEyMCAzOTZ2MTI4aDEyOHYtMTI4aDc5CnEyMiAwIDM5IC0xM3QyMyAtMzR6TTY0MCAxMjhxNTMgMCA5MC41IDE5dDM3LjUgNDV0LTM3LjUgNDV0LTkwLjUgMTl0LTkwLjUgLTE5dC0zNy41IC00NXQzNy41IC00NXQ5MC41IC0xOXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQyNyIgdW5pY29kZT0iJiN4ZjFjNzsiIApkPSJNMTQ2OCAxMTU2cTI4IC0yOCA0OCAtNzZ0MjAgLTg4di0xMTUycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTM0NHEtNDAgMCAtNjggMjh0LTI4IDY4djE2MDBxMCA0MCAyOCA2OHQ2OCAyOGg4OTZxNDAgMCA4OCAtMjB0NzYgLTQ4ek0xMDI0IDE0MDB2LTM3NmgzNzZxLTEwIDI5IC0yMiA0MWwtMzEzIDMxM3EtMTIgMTIgLTQxIDIyek0xNDA4IC0xMjh2MTAyNGgtNDE2cS00MCAwIC02OCAyOHQtMjggNjh2NDE2aC03Njh2LTE1MzZoMTI4MHoKTTYyMCA2ODZxMjAgLTggMjAgLTMwdi01NDRxMCAtMjIgLTIwIC0zMHEtOCAtMiAtMTIgLTJxLTEyIDAgLTIzIDlsLTE2NiAxNjdoLTEzMXEtMTQgMCAtMjMgOXQtOSAyM3YxOTJxMCAxNCA5IDIzdDIzIDloMTMxbDE2NiAxNjdxMTYgMTUgMzUgN3pNMTAzNyAtM3EzMSAwIDUwIDI0cTEyOSAxNTkgMTI5IDM2M3QtMTI5IDM2M3EtMTYgMjEgLTQzIDI0dC00NyAtMTRxLTIxIC0xNyAtMjMuNSAtNDMuNXQxNC41IC00Ny41CnExMDAgLTEyMyAxMDAgLTI4MnQtMTAwIC0yODJxLTE3IC0yMSAtMTQuNSAtNDcuNXQyMy41IC00Mi41cTE4IC0xNSA0MCAtMTV6TTgyNiAxNDVxMjcgMCA0NyAyMHE4NyA5MyA4NyAyMTl0LTg3IDIxOXEtMTggMTkgLTQ1IDIwdC00NiAtMTd0LTIwIC00NC41dDE4IC00Ni41cTUyIC01NyA1MiAtMTMxdC01MiAtMTMxcS0xOSAtMjAgLTE4IC00Ni41dDIwIC00NC41cTIwIC0xNyA0NCAtMTd6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80MjgiIHVuaWNvZGU9IiYjeGYxYzg7IiAKZD0iTTE0NjggMTE1NnEyOCAtMjggNDggLTc2dDIwIC04OHYtMTE1MnEwIC00MCAtMjggLTY4dC02OCAtMjhoLTEzNDRxLTQwIDAgLTY4IDI4dC0yOCA2OHYxNjAwcTAgNDAgMjggNjh0NjggMjhoODk2cTQwIDAgODggLTIwdDc2IC00OHpNMTAyNCAxNDAwdi0zNzZoMzc2cS0xMCAyOSAtMjIgNDFsLTMxMyAzMTNxLTEyIDEyIC00MSAyMnpNMTQwOCAtMTI4djEwMjRoLTQxNnEtNDAgMCAtNjggMjh0LTI4IDY4djQxNmgtNzY4di0xNTM2aDEyODB6Ck03NjggNzY4cTUyIDAgOTAgLTM4dDM4IC05MHYtMzg0cTAgLTUyIC0zOCAtOTB0LTkwIC0zOGgtMzg0cS01MiAwIC05MCAzOHQtMzggOTB2Mzg0cTAgNTIgMzggOTB0OTAgMzhoMzg0ek0xMjYwIDc2NnEyMCAtOCAyMCAtMzB2LTU3NnEwIC0yMiAtMjAgLTMwcS04IC0yIC0xMiAtMnEtMTQgMCAtMjMgOWwtMjY1IDI2NnY5MGwyNjUgMjY2cTkgOSAyMyA5cTQgMCAxMiAtMnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQyOSIgdW5pY29kZT0iJiN4ZjFjOTsiIApkPSJNMTQ2OCAxMTU2cTI4IC0yOCA0OCAtNzZ0MjAgLTg4di0xMTUycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTM0NHEtNDAgMCAtNjggMjh0LTI4IDY4djE2MDBxMCA0MCAyOCA2OHQ2OCAyOGg4OTZxNDAgMCA4OCAtMjB0NzYgLTQ4ek0xMDI0IDE0MDB2LTM3NmgzNzZxLTEwIDI5IC0yMiA0MWwtMzEzIDMxM3EtMTIgMTIgLTQxIDIyek0xNDA4IC0xMjh2MTAyNGgtNDE2cS00MCAwIC02OCAyOHQtMjggNjh2NDE2aC03Njh2LTE1MzZoMTI4MHoKTTQ4MCA3NjhxOCAxMSAyMSAxMi41dDI0IC02LjVsNTEgLTM4cTExIC04IDEyLjUgLTIxdC02LjUgLTI0bC0xODIgLTI0M2wxODIgLTI0M3E4IC0xMSA2LjUgLTI0dC0xMi41IC0yMWwtNTEgLTM4cS0xMSAtOCAtMjQgLTYuNXQtMjEgMTIuNWwtMjI2IDMwMXEtMTQgMTkgMCAzOHpNMTI4MiA0NjdxMTQgLTE5IDAgLTM4bC0yMjYgLTMwMXEtOCAtMTEgLTIxIC0xMi41dC0yNCA2LjVsLTUxIDM4cS0xMSA4IC0xMi41IDIxdDYuNSAyNGwxODIgMjQzCmwtMTgyIDI0M3EtOCAxMSAtNi41IDI0dDEyLjUgMjFsNTEgMzhxMTEgOCAyNCA2LjV0MjEgLTEyLjV6TTY2MiA2cS0xMyAyIC0yMC41IDEzdC01LjUgMjRsMTM4IDgzMXEyIDEzIDEzIDIwLjV0MjQgNS41bDYzIC0xMHExMyAtMiAyMC41IC0xM3Q1LjUgLTI0bC0xMzggLTgzMXEtMiAtMTMgLTEzIC0yMC41dC0yNCAtNS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDMwIiB1bmljb2RlPSImI3hmMWNhOyIgCmQ9Ik0xNDk3IDcwOXYtMTk4cS0xMDEgLTIzIC0xOTggLTIzcS02NSAtMTM2IC0xNjUuNSAtMjcxdC0xODEuNSAtMjE1LjV0LTEyOCAtMTA2LjVxLTgwIC00NSAtMTYyIDNxLTI4IDE3IC02MC41IDQzLjV0LTg1IDgzLjV0LTEwMi41IDEyOC41dC0xMDcuNSAxODR0LTEwNS41IDI0NHQtOTEuNSAzMTQuNXQtNzAuNSAzOTBoMjgzcTI2IC0yMTggNzAgLTM5OC41dDEwNC41IC0zMTd0MTIxLjUgLTIzNS41dDE0MCAtMTk1cTE2OSAxNjkgMjg3IDQwNgpxLTE0MiA3MiAtMjIzIDIyMHQtODEgMzMzcTAgMTkyIDEwNCAzMTQuNXQyODQgMTIyLjVxMTc4IDAgMjczIC0xMDUuNXQ5NSAtMjk3LjVxMCAtMTU5IC01OCAtMjg2cS03IC0xIC0xOS41IC0zdC00NiAtMnQtNjMgNnQtNjIgMjUuNXQtNTAuNSA1MS41cTMxIDEwMyAzMSAxODRxMCA4NyAtMjkgMTMydC03OSA0NXEtNTMgMCAtODUgLTQ5LjV0LTMyIC0xNDAuNXEwIC0xODYgMTA1IC0yOTMuNXQyNjcgLTEwNy41cTYyIDAgMTIxIDE0eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDMxIiB1bmljb2RlPSImI3hmMWNiOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMjE2IDM2N2w2MDMgLTQwMnYzNTlsLTMzNCAyMjN6TTE1NCA1MTFsMTkzIDEyOWwtMTkzIDEyOXYtMjU4ek05NzMgLTM1bDYwMyA0MDJsLTI2OSAxODBsLTMzNCAtMjIzdi0zNTl6TTg5NiA0NThsMjcyIDE4MmwtMjcyIDE4MmwtMjcyIC0xODJ6TTQ4NSA3MzNsMzM0IDIyM3YzNTlsLTYwMyAtNDAyek0xNDQ1IDY0MGwxOTMgLTEyOXYyNTh6TTEzMDcgNzMzbDI2OSAxODBsLTYwMyA0MDJ2LTM1OXpNMTc5MiA5MTN2LTU0NgpxMCAtNDEgLTM0IC02NGwtODE5IC01NDZxLTIxIC0xMyAtNDMgLTEzdC00MyAxM2wtODE5IDU0NnEtMzQgMjMgLTM0IDY0djU0NnEwIDQxIDM0IDY0bDgxOSA1NDZxMjEgMTMgNDMgMTN0NDMgLTEzbDgxOSAtNTQ2cTM0IC0yMyAzNCAtNjR6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80MzIiIHVuaWNvZGU9IiYjeGYxY2M7IiBob3Jpei1hZHYteD0iMjA0OCIgCmQ9Ik0xODAwIDc2NHExMTEgLTQ2IDE3OS41IC0xNDUuNXQ2OC41IC0yMjEuNXEwIC0xNjQgLTExOCAtMjgwLjV0LTI4NSAtMTE2LjVxLTQgMCAtMTEuNSAwLjV0LTEwLjUgMC41aC0xMjA5aC0xaC0yaC01cS0xNzAgMTAgLTI4OCAxMjUuNXQtMTE4IDI4MC41cTAgMTEwIDU1IDIwM3QxNDcgMTQ3cS0xMiAzOSAtMTIgODJxMCAxMTUgODIgMTk2dDE5OSA4MXE5NSAwIDE3MiAtNThxNzUgMTU0IDIyMi41IDI0OHQzMjYuNSA5NApxMTY2IDAgMzA2IC04MC41dDIyMS41IC0yMTguNXQ4MS41IC0zMDFxMCAtNiAtMC41IC0xOHQtMC41IC0xOHpNNDY4IDQ5OHEwIC0xMjIgODQgLTE5M3QyMDggLTcxcTEzNyAwIDI0MCA5OXEtMTYgMjAgLTQ3LjUgNTYuNXQtNDMuNSA1MC41cS02NyAtNjUgLTE0NCAtNjVxLTU1IDAgLTkzLjUgMzMuNXQtMzguNSA4Ny41cTAgNTMgMzguNSA4N3Q5MS41IDM0cTQ0IDAgODQuNSAtMjF0NzMgLTU1dDY1IC03NXQ2OSAtODJ0NzcgLTc1dDk3IC01NQp0MTIxLjUgLTIxcTEyMSAwIDIwNC41IDcxLjV0ODMuNSAxOTAuNXEwIDEyMSAtODQgMTkydC0yMDcgNzFxLTE0MyAwIC0yNDEgLTk3bDkzIC0xMDhxNjYgNjQgMTQyIDY0cTUyIDAgOTIgLTMzdDQwIC04NHEwIC01NyAtMzcgLTkxLjV0LTk0IC0zNC41cS00MyAwIC04Mi41IDIxdC03MiA1NXQtNjUuNSA3NXQtNjkuNSA4MnQtNzcuNSA3NXQtOTYuNSA1NXQtMTE4LjUgMjFxLTEyMiAwIC0yMDcgLTcwLjV0LTg1IC0xODkuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQzMyIgdW5pY29kZT0iJiN4ZjFjZDsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTg5NiAxNTM2cTE4MiAwIDM0OCAtNzF0Mjg2IC0xOTF0MTkxIC0yODZ0NzEgLTM0OHQtNzEgLTM0OHQtMTkxIC0yODZ0LTI4NiAtMTkxdC0zNDggLTcxdC0zNDggNzF0LTI4NiAxOTF0LTE5MSAyODZ0LTcxIDM0OHQ3MSAzNDh0MTkxIDI4NnQyODYgMTkxdDM0OCA3MXpNODk2IDE0MDhxLTE5MCAwIC0zNjEgLTkwbDE5NCAtMTk0cTgyIDI4IDE2NyAyOHQxNjcgLTI4bDE5NCAxOTRxLTE3MSA5MCAtMzYxIDkwek0yMTggMjc5bDE5NCAxOTQKcS0yOCA4MiAtMjggMTY3dDI4IDE2N2wtMTk0IDE5NHEtOTAgLTE3MSAtOTAgLTM2MXQ5MCAtMzYxek04OTYgLTEyOHExOTAgMCAzNjEgOTBsLTE5NCAxOTRxLTgyIC0yOCAtMTY3IC0yOHQtMTY3IDI4bC0xOTQgLTE5NHExNzEgLTkwIDM2MSAtOTB6TTg5NiAyNTZxMTU5IDAgMjcxLjUgMTEyLjV0MTEyLjUgMjcxLjV0LTExMi41IDI3MS41dC0yNzEuNSAxMTIuNXQtMjcxLjUgLTExMi41dC0xMTIuNSAtMjcxLjV0MTEyLjUgLTI3MS41CnQyNzEuNSAtMTEyLjV6TTEzODAgNDczbDE5NCAtMTk0cTkwIDE3MSA5MCAzNjF0LTkwIDM2MWwtMTk0IC0xOTRxMjggLTgyIDI4IC0xNjd0LTI4IC0xNjd6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80MzQiIHVuaWNvZGU9IiYjeGYxY2U7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xNzYwIDY0MHEwIC0xNzYgLTY4LjUgLTMzNnQtMTg0IC0yNzUuNXQtMjc1LjUgLTE4NHQtMzM2IC02OC41dC0zMzYgNjguNXQtMjc1LjUgMTg0dC0xODQgMjc1LjV0LTY4LjUgMzM2cTAgMjEzIDk3IDM5OC41dDI2NSAzMDUuNXQzNzQgMTUxdi0yMjhxLTIyMSAtNDUgLTM2Ni41IC0yMjF0LTE0NS41IC00MDZxMCAtMTMwIDUxIC0yNDguNXQxMzYuNSAtMjA0dDIwNCAtMTM2LjV0MjQ4LjUgLTUxdDI0OC41IDUxdDIwNCAxMzYuNQp0MTM2LjUgMjA0dDUxIDI0OC41cTAgMjMwIC0xNDUuNSA0MDZ0LTM2Ni41IDIyMXYyMjhxMjA2IC0zMSAzNzQgLTE1MXQyNjUgLTMwNS41dDk3IC0zOTguNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjFEMCIgdW5pY29kZT0iJiN4ZjFkMDsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE5IDY2MnE4IDIxNyAxMTYgNDA2dDMwNSAzMThoNXEwIC0xIC0xIC0zcS04IC04IC0yOCAtMzMuNXQtNTIgLTc2LjV0LTYwIC0xMTAuNXQtNDQuNSAtMTM1LjV0LTE0IC0xNTAuNXQzOSAtMTU3LjV0MTA4LjUgLTE1NHE1MCAtNTAgMTAyIC02OS41dDkwLjUgLTExLjV0NjkuNSAyMy41dDQ3IDMyLjVsMTYgMTZxMzkgNTEgNTMgMTE2LjV0Ni41IDEyMi41dC0yMSAxMDd0LTI2LjUgODBsLTE0IDI5cS0xMCAyNSAtMzAuNSA0OS41dC00MyA0MQp0LTQzLjUgMjkuNXQtMzUgMTlsLTEzIDZsMTA0IDExNXEzOSAtMTcgNzggLTUydDU5IC02MWwxOSAtMjdxMSA0OCAtMTguNSAxMDMuNXQtNDAuNSA4Ny41bC0yMCAzMWwxNjEgMTgzbDE2MCAtMTgxcS0zMyAtNDYgLTUyLjUgLTEwMi41dC0yMi41IC05MC41bC00IC0zM3EyMiAzNyA2MS41IDcyLjV0NjcuNSA1Mi41bDI4IDE3bDEwMyAtMTE1cS00NCAtMTQgLTg1IC01MHQtNjAgLTY1bC0xOSAtMjlxLTMxIC01NiAtNDggLTEzMy41dC03IC0xNzAKdDU3IC0xNTYuNXEzMyAtNDUgNzcuNSAtNjAuNXQ4NSAtNS41dDc2IDI2LjV0NTcuNSAzMy41bDIxIDE2cTYwIDUzIDk2LjUgMTE1dDQ4LjUgMTIxLjV0MTAgMTIxLjV0LTE4IDExOHQtMzcgMTA3LjV0LTQ1LjUgOTN0LTQ1IDcydC0zNC41IDQ3LjVsLTEzIDE3cS0xNCAxMyAtNyAxM2wxMCAtM3E0MCAtMjkgNjIuNSAtNDZ0NjIgLTUwdDY0IC01OHQ1OC41IC02NXQ1NS41IC03N3Q0NS41IC04OHQzOCAtMTAzdDIzLjUgLTExN3QxMC41IC0xMzYKcTMgLTI1OSAtMTA4IC00NjV0LTMxMiAtMzIxdC00NTYgLTExNXEtMTg1IDAgLTM1MSA3NHQtMjgzLjUgMTk4dC0xODQgMjkzdC02MC41IDM1M3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjFEMSIgdW5pY29kZT0iJiN4ZjFkMTsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTg3NCAtMTAydi02NnEtMjA4IDYgLTM4NSAxMDkuNXQtMjgzIDI3NS41bDU4IDM0cTI5IC00OSA3MyAtOTlsNjUgNTdxMTQ4IC0xNjggMzY4IC0yMTJsLTE3IC04NnE2NSAtMTIgMTIxIC0xM3pNMjc2IDQyOGwtODMgLTI4cTIyIC02MCA0OSAtMTEybC01NyAtMzNxLTk4IDE4MCAtOTggMzg1dDk4IDM4NWw1NyAtMzNxLTMwIC01NiAtNDkgLTExMmw4MiAtMjhxLTM1IC0xMDAgLTM1IC0yMTJxMCAtMTA5IDM2IC0yMTJ6TTE1MjggMjUxCmw1OCAtMzRxLTEwNiAtMTcyIC0yODMgLTI3NS41dC0zODUgLTEwOS41djY2cTU2IDEgMTIxIDEzbC0xNyA4NnEyMjAgNDQgMzY4IDIxMmw2NSAtNTdxNDQgNTAgNzMgOTl6TTEzNzcgODA1bC0yMzMgLTgwcTE0IC00MiAxNCAtODV0LTE0IC04NWwyMzIgLTgwcS0zMSAtOTIgLTk4IC0xNjlsLTE4NSAxNjJxLTU3IC02NyAtMTQ3IC04NWw0OCAtMjQxcS01MiAtMTAgLTk4IC0xMHQtOTggMTBsNDggMjQxcS05MCAxOCAtMTQ3IDg1bC0xODUgLTE2MgpxLTY3IDc3IC05OCAxNjlsMjMyIDgwcS0xNCA0MiAtMTQgODV0MTQgODVsLTIzMyA4MHEzMyA5MyA5OSAxNjlsMTg1IC0xNjJxNTkgNjggMTQ3IDg2bC00OCAyNDBxNDQgMTAgOTggMTB0OTggLTEwbC00OCAtMjQwcTg4IC0xOCAxNDcgLTg2bDE4NSAxNjJxNjYgLTc2IDk5IC0xNjl6TTg3NCAxNDQ4di02NnEtNjUgLTIgLTEyMSAtMTNsMTcgLTg2cS0yMjAgLTQyIC0zNjggLTIxMWwtNjUgNTZxLTM4IC00MiAtNzMgLTk4bC01NyAzMwpxMTA2IDE3MiAyODIgMjc1LjV0Mzg1IDEwOS41ek0xNzA1IDY0MHEwIC0yMDUgLTk4IC0zODVsLTU3IDMzcTI3IDUyIDQ5IDExMmwtODMgMjhxMzYgMTAzIDM2IDIxMnEwIDExMiAtMzUgMjEybDgyIDI4cS0xOSA1NiAtNDkgMTEybDU3IDMzcTk4IC0xODAgOTggLTM4NXpNMTU4NSAxMDYzbC01NyAtMzNxLTM1IDU2IC03MyA5OGwtNjUgLTU2cS0xNDggMTY5IC0zNjggMjExbDE3IDg2cS01NiAxMSAtMTIxIDEzdjY2cTIwOSAtNiAzODUgLTEwOS41CnQyODIgLTI3NS41ek0xNzQ4IDY0MHEwIDE3MyAtNjcuNSAzMzF0LTE4MS41IDI3MnQtMjcyIDE4MS41dC0zMzEgNjcuNXQtMzMxIC02Ny41dC0yNzIgLTE4MS41dC0xODEuNSAtMjcydC02Ny41IC0zMzF0NjcuNSAtMzMxdDE4MS41IC0yNzJ0MjcyIC0xODEuNXQzMzEgLTY3LjV0MzMxIDY3LjV0MjcyIDE4MS41dDE4MS41IDI3MnQ2Ny41IDMzMXpNMTc5MiA2NDBxMCAtMTgyIC03MSAtMzQ4dC0xOTEgLTI4NnQtMjg2IC0xOTF0LTM0OCAtNzEKdC0zNDggNzF0LTI4NiAxOTF0LTE5MSAyODZ0LTcxIDM0OHQ3MSAzNDh0MTkxIDI4NnQyODYgMTkxdDM0OCA3MXQzNDggLTcxdDI4NiAtMTkxdDE5MSAtMjg2dDcxIC0zNDh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYxRDIiIHVuaWNvZGU9IiYjeGYxZDI7IiAKZD0iTTU4MiAyMjhxMCAtNjYgLTkzIC02NnEtMTA3IDAgLTEwNyA2M3EwIDY0IDk4IDY0cTEwMiAwIDEwMiAtNjF6TTU0NiA2OTRxMCAtODUgLTc0IC04NXEtNzcgMCAtNzcgODRxMCA5MCA3NyA5MHEzNiAwIDU1IC0yNS41dDE5IC02My41ek03MTIgNzY5djEyNXEtNzggLTI5IC0xMzUgLTI5cS01MCAyOSAtMTEwIDI5cS04NiAwIC0xNDUgLTU3dC01OSAtMTQzcTAgLTUwIDI5LjUgLTEwMnQ3My41IC02N3YtM3EtMzggLTE3IC0zOCAtODUKcTAgLTUzIDQxIC03N3YtM3EtMTEzIC0zNyAtMTEzIC0xMzlxMCAtNDUgMjAgLTc4LjV0NTQgLTUxdDcyIC0yNS41dDgxIC04cTIyNCAwIDIyNCAxODhxMCA2NyAtNDggOTl0LTEyNiA0NnEtMjcgNSAtNTEuNSAyMC41dC0yNC41IDM5LjVxMCA0NCA0OSA1MnE3NyAxNSAxMjIgNzB0NDUgMTM0cTAgMjQgLTEwIDUycTM3IDkgNDkgMTN6TTc3MSAzNTBoMTM3cS0yIDI3IC0yIDgydjM4N3EwIDQ2IDIgNjloLTEzN3EzIC0yMyAzIC03MXYtMzkyCnEwIC01MCAtMyAtNzV6TTEyODAgMzY2djEyMXEtMzAgLTIxIC02OCAtMjFxLTUzIDAgLTUzIDgydjIyNWg1MnE5IDAgMjYuNSAtMXQyNi41IC0xdjExN2gtMTA1cTAgODIgMyAxMDJoLTE0MHE0IC0yNCA0IC01NXYtNDdoLTYwdi0xMTdxMzYgMyAzNyAzcTMgMCAxMSAtMC41dDEyIC0wLjV2LTJoLTJ2LTIxN3EwIC0zNyAyLjUgLTY0dDExLjUgLTU2LjV0MjQuNSAtNDguNXQ0My41IC0zMXQ2NiAtMTJxNjQgMCAxMDggMjR6TTkyNCAxMDcyCnEwIDM2IC0yNCA2My41dC02MCAyNy41dC02MC41IC0yN3QtMjQuNSAtNjRxMCAtMzYgMjUgLTYyLjV0NjAgLTI2LjV0NTkuNSAyN3QyNC41IDYyek0xNTM2IDExMjB2LTk2MHEwIC0xMTkgLTg0LjUgLTIwMy41dC0yMDMuNSAtODQuNWgtOTYwcS0xMTkgMCAtMjAzLjUgODQuNXQtODQuNSAyMDMuNXY5NjBxMCAxMTkgODQuNSAyMDMuNXQyMDMuNSA4NC41aDk2MHExMTkgMCAyMDMuNSAtODQuNXQ4NC41IC0yMDMuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQzOCIgdW5pY29kZT0iJiN4ZjFkMzsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTU5NSAyMnEwIDEwMCAtMTY1IDEwMHEtMTU4IDAgLTE1OCAtMTA0cTAgLTEwMSAxNzIgLTEwMXExNTEgMCAxNTEgMTA1ek01MzYgNzc3cTAgNjEgLTMwIDEwMnQtODkgNDFxLTEyNCAwIC0xMjQgLTE0NXEwIC0xMzUgMTI0IC0xMzVxMTE5IDAgMTE5IDEzN3pNODA1IDExMDF2LTIwMnEtMzYgLTEyIC03OSAtMjJxMTYgLTQzIDE2IC04NHEwIC0xMjcgLTczIC0yMTYuNXQtMTk3IC0xMTIuNXEtNDAgLTggLTU5LjUgLTI3dC0xOS41IC01OApxMCAtMzEgMjIuNSAtNTEuNXQ1OCAtMzJ0NzguNSAtMjJ0ODYgLTI1LjV0NzguNSAtMzcuNXQ1OCAtNjR0MjIuNSAtOTguNXEwIC0zMDQgLTM2MyAtMzA0cS02OSAwIC0xMzAgMTIuNXQtMTE2IDQxdC04Ny41IDgydC0zMi41IDEyNy41cTAgMTY1IDE4MiAyMjV2NHEtNjcgNDEgLTY3IDEyNnEwIDEwOSA2MyAxMzd2NHEtNzIgMjQgLTExOS41IDEwOC41dC00Ny41IDE2NS41cTAgMTM5IDk1IDIzMS41dDIzNSA5Mi41cTk2IDAgMTc4IC00NwpxOTggMCAyMTggNDd6TTExMjMgMjIwaC0yMjJxNCA0NSA0IDEzNHY2MDlxMCA5NCAtNCAxMjhoMjIycS00IC0zMyAtNCAtMTI0di02MTNxMCAtODkgNCAtMTM0ek0xNzI0IDQ0MnYtMTk2cS03MSAtMzkgLTE3NCAtMzlxLTYyIDAgLTEwNyAyMHQtNzAgNTB0LTM5LjUgNzh0LTE4LjUgOTJ0LTQgMTAzdjM1MWgydjRxLTcgMCAtMTkgMXQtMTggMXEtMjEgMCAtNTkgLTZ2MTkwaDk2djc2cTAgNTQgLTYgODloMjI3cS02IC00MSAtNiAtMTY1aDE3MQp2LTE5MHEtMTUgMCAtNDMuNSAydC00Mi41IDJoLTg1di0zNjVxMCAtMTMxIDg3IC0xMzFxNjEgMCAxMDkgMzN6TTExNDggMTM4OXEwIC01OCAtMzkgLTEwMS41dC05NiAtNDMuNXEtNTggMCAtOTggNDMuNXQtNDAgMTAxLjVxMCA1OSAzOS41IDEwM3Q5OC41IDQ0cTU4IDAgOTYuNSAtNDQuNXQzOC41IC0xMDIuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQzOSIgdW5pY29kZT0iJiN4ZjFkNDsiIApkPSJNODA5IDUzMmwyNjYgNDk5aC0xMTJsLTE1NyAtMzEycS0yNCAtNDggLTQ0IC05MmwtNDIgOTJsLTE1NSAzMTJoLTEyMGwyNjMgLTQ5M3YtMzI0aDEwMXYzMTh6TTE1MzYgMTEyMHYtOTYwcTAgLTExOSAtODQuNSAtMjAzLjV0LTIwMy41IC04NC41aC05NjBxLTExOSAwIC0yMDMuNSA4NC41dC04NC41IDIwMy41djk2MHEwIDExOSA4NC41IDIwMy41dDIwMy41IDg0LjVoOTYwcTExOSAwIDIwMy41IC04NC41dDg0LjUgLTIwMy41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMUQ1IiB1bmljb2RlPSImI3hmMWQ1OyIgaG9yaXotYWR2LXg9IjEyODAiIApkPSJNODQyIDk2NHEwIC04MCAtNTcgLTEzNi41dC0xMzYgLTU2LjVxLTYwIDAgLTExMSAzNXEtNjIgLTY3IC0xMTUgLTE0NnEtMjQ3IC0zNzEgLTIwMiAtODU5cTEgLTIyIC0xMi41IC0zOC41dC0zNC41IC0xOC41aC01cS0yMCAwIC0zNSAxMy41dC0xNyAzMy41cS0xNCAxMjYgLTMuNSAyNDcuNXQyOS41IDIxN3Q1NCAxODZ0NjkgMTU1LjV0NzQgMTI1cTYxIDkwIDEzMiAxNjVxLTE2IDM1IC0xNiA3N3EwIDgwIDU2LjUgMTM2LjV0MTM2LjUgNTYuNQp0MTM2LjUgLTU2LjV0NTYuNSAtMTM2LjV6TTEyMjMgOTUzcTAgLTE1OCAtNzggLTI5MnQtMjEyLjUgLTIxMnQtMjkyLjUgLTc4cS02NCAwIC0xMzEgMTRxLTIxIDUgLTMyLjUgMjMuNXQtNi41IDM5LjVxNSAyMCAyMyAzMS41dDM5IDcuNXE1MSAtMTMgMTA4IC0xM3E5NyAwIDE4NiAzOHQxNTMgMTAydDEwMiAxNTN0MzggMTg2dC0zOCAxODZ0LTEwMiAxNTN0LTE1MyAxMDJ0LTE4NiAzOHQtMTg2IC0zOHQtMTUzIC0xMDJ0LTEwMiAtMTUzCnQtMzggLTE4NnEwIC0xMTQgNTIgLTIxOHExMCAtMjAgMy41IC00MHQtMjUuNSAtMzB0LTM5LjUgLTN0LTMwLjUgMjZxLTY0IDEyMyAtNjQgMjY1cTAgMTE5IDQ2LjUgMjI3dDEyNC41IDE4NnQxODYgMTI0dDIyNiA0NnExNTggMCAyOTIuNSAtNzh0MjEyLjUgLTIxMi41dDc4IC0yOTIuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjFENiIgdW5pY29kZT0iJiN4ZjFkNjsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTI3MCA3MzBxLTggMTkgLTggNTJxMCAyMCAxMSA0OXQyNCA0NXEtMSAyMiA3LjUgNTN0MjIuNSA0M3EwIDEzOSA5Mi41IDI4OC41dDIxNy41IDIwOS41cTEzOSA2NiAzMjQgNjZxMTMzIDAgMjY2IC01NXE0OSAtMjEgOTAgLTQ4dDcxIC01NnQ1NSAtNjh0NDIgLTc0dDMyLjUgLTg0LjV0MjUuNSAtODkuNXQyMiAtOThsMSAtNXE1NSAtODMgNTUgLTE1MHEwIC0xNCAtOSAtNDB0LTkgLTM4cTAgLTEgMS41IC0zLjV0My41IC01dDIgLTMuNQpxNzcgLTExNCAxMjAuNSAtMjE0LjV0NDMuNSAtMjA4LjVxMCAtNDMgLTE5LjUgLTEwMHQtNTUuNSAtNTdxLTkgMCAtMTkuNSA3LjV0LTE5IDE3LjV0LTE5IDI2dC0xNiAyNi41dC0xMy41IDI2dC05IDE3LjVxLTEgMSAtMyAxbC01IC00cS01OSAtMTU0IC0xMzIgLTIyM3EyMCAtMjAgNjEuNSAtMzguNXQ2OSAtNDEuNXQzNS41IC02NXEtMiAtNCAtNCAtMTZ0LTcgLTE4cS02NCAtOTcgLTMwMiAtOTdxLTUzIDAgLTExMC41IDl0LTk4IDIwCnQtMTA0LjUgMzBxLTE1IDUgLTIzIDdxLTE0IDQgLTQ2IDQuNXQtNDAgMS41cS00MSAtNDUgLTEyNy41IC02NXQtMTY4LjUgLTIwcS0zNSAwIC02OSAxLjV0LTkzIDl0LTEwMSAyMC41dC03NC41IDQwdC0zMi41IDY0cTAgNDAgMTAgNTkuNXQ0MSA0OC41cTExIDIgNDAuNSAxM3Q0OS41IDEycTQgMCAxNCAycTIgMiAyIDRsLTIgM3EtNDggMTEgLTEwOCAxMDUuNXQtNzMgMTU2LjVsLTUgM3EtNCAwIC0xMiAtMjBxLTE4IC00MSAtNTQuNSAtNzQuNQp0LTc3LjUgLTM3LjVoLTFxLTQgMCAtNiA0LjV0LTUgNS41cS0yMyA1NCAtMjMgMTAwcTAgMjc1IDI1MiA0NjZ6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYxRDciIHVuaWNvZGU9IiYjeGYxZDc7IiBob3Jpei1hZHYteD0iMjA0OCIgCmQ9Ik01ODAgMTA3NXEwIDQxIC0yNSA2NnQtNjYgMjVxLTQzIDAgLTc2IC0yNS41dC0zMyAtNjUuNXEwIC0zOSAzMyAtNjQuNXQ3NiAtMjUuNXE0MSAwIDY2IDI0LjV0MjUgNjUuNXpNMTMyMyA1NjhxMCAyOCAtMjUuNSA1MHQtNjUuNSAyMnEtMjcgMCAtNDkuNSAtMjIuNXQtMjIuNSAtNDkuNXEwIC0yOCAyMi41IC01MC41dDQ5LjUgLTIyLjVxNDAgMCA2NS41IDIydDI1LjUgNTF6TTEwODcgMTA3NXEwIDQxIC0yNC41IDY2dC02NS41IDI1CnEtNDMgMCAtNzYgLTI1LjV0LTMzIC02NS41cTAgLTM5IDMzIC02NC41dDc2IC0yNS41cTQxIDAgNjUuNSAyNC41dDI0LjUgNjUuNXpNMTcyMiA1NjhxMCAyOCAtMjYgNTB0LTY1IDIycS0yNyAwIC00OS41IC0yMi41dC0yMi41IC00OS41cTAgLTI4IDIyLjUgLTUwLjV0NDkuNSAtMjIuNXEzOSAwIDY1IDIydDI2IDUxek0xNDU2IDk2NXEtMzEgNCAtNzAgNHEtMTY5IDAgLTMxMSAtNzd0LTIyMy41IC0yMDguNXQtODEuNSAtMjg3LjUKcTAgLTc4IDIzIC0xNTJxLTM1IC0zIC02OCAtM3EtMjYgMCAtNTAgMS41dC01NSA2LjV0LTQ0LjUgN3QtNTQuNSAxMC41dC01MCAxMC41bC0yNTMgLTEyN2w3MiAyMThxLTI5MCAyMDMgLTI5MCA0OTBxMCAxNjkgOTcuNSAzMTF0MjY0IDIyMy41dDM2My41IDgxLjVxMTc2IDAgMzMyLjUgLTY2dDI2MiAtMTgyLjV0MTM2LjUgLTI2MC41ek0yMDQ4IDQwNHEwIC0xMTcgLTY4LjUgLTIyMy41dC0xODUuNSAtMTkzLjVsNTUgLTE4MWwtMTk5IDEwOQpxLTE1MCAtMzcgLTIxOCAtMzdxLTE2OSAwIC0zMTEgNzAuNXQtMjIzLjUgMTkxLjV0LTgxLjUgMjY0dDgxLjUgMjY0dDIyMy41IDE5MS41dDMxMSA3MC41cTE2MSAwIDMwMyAtNzAuNXQyMjcuNSAtMTkydDg1LjUgLTI2My41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDQzIiB1bmljb2RlPSImI3hmMWQ4OyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTc2NCAxNTI1cTMzIC0yNCAyNyAtNjRsLTI1NiAtMTUzNnEtNSAtMjkgLTMyIC00NXEtMTQgLTggLTMxIC04cS0xMSAwIC0yNCA1bC00NTMgMTg1bC0yNDIgLTI5NXEtMTggLTIzIC00OSAtMjNxLTEzIDAgLTIyIDRxLTE5IDcgLTMwLjUgMjMuNXQtMTEuNSAzNi41djM0OWw4NjQgMTA1OWwtMTA2OSAtOTI1bC0zOTUgMTYycS0zNyAxNCAtNDAgNTVxLTIgNDAgMzIgNTlsMTY2NCA5NjBxMTUgOSAzMiA5cTIwIDAgMzYgLTExeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDQ0IiB1bmljb2RlPSImI3hmMWQ5OyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTc2NCAxNTI1cTMzIC0yNCAyNyAtNjRsLTI1NiAtMTUzNnEtNSAtMjkgLTMyIC00NXEtMTQgLTggLTMxIC04cS0xMSAwIC0yNCA1bC01MjcgMjE1bC0yOTggLTMyN3EtMTggLTIxIC00NyAtMjFxLTE0IDAgLTIzIDRxLTE5IDcgLTMwIDIzLjV0LTExIDM2LjV2NDUybC00NzIgMTkzcS0zNyAxNCAtNDAgNTVxLTMgMzkgMzIgNTlsMTY2NCA5NjBxMzUgMjEgNjggLTJ6TTE0MjIgMjZsMjIxIDEzMjNsLTE0MzQgLTgyN2wzMzYgLTEzNwpsODYzIDYzOWwtNDc4IC03OTd6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80NDUiIHVuaWNvZGU9IiYjeGYxZGE7IiAKZD0iTTE1MzYgNjQwcTAgLTE1NiAtNjEgLTI5OHQtMTY0IC0yNDV0LTI0NSAtMTY0dC0yOTggLTYxcS0xNzIgMCAtMzI3IDcyLjV0LTI2NCAyMDQuNXEtNyAxMCAtNi41IDIyLjV0OC41IDIwLjVsMTM3IDEzOHExMCA5IDI1IDlxMTYgLTIgMjMgLTEycTczIC05NSAxNzkgLTE0N3QyMjUgLTUycTEwNCAwIDE5OC41IDQwLjV0MTYzLjUgMTA5LjV0MTA5LjUgMTYzLjV0NDAuNSAxOTguNXQtNDAuNSAxOTguNXQtMTA5LjUgMTYzLjUKdC0xNjMuNSAxMDkuNXQtMTk4LjUgNDAuNXEtOTggMCAtMTg4IC0zNS41dC0xNjAgLTEwMS41bDEzNyAtMTM4cTMxIC0zMCAxNCAtNjlxLTE3IC00MCAtNTkgLTQwaC00NDhxLTI2IDAgLTQ1IDE5dC0xOSA0NXY0NDhxMCA0MiA0MCA1OXEzOSAxNyA2OSAtMTRsMTMwIC0xMjlxMTA3IDEwMSAyNDQuNSAxNTYuNXQyODQuNSA1NS41cTE1NiAwIDI5OCAtNjF0MjQ1IC0xNjR0MTY0IC0yNDV0NjEgLTI5OHpNODk2IDkyOHYtNDQ4cTAgLTE0IC05IC0yMwp0LTIzIC05aC0zMjBxLTE0IDAgLTIzIDl0LTkgMjN2NjRxMCAxNCA5IDIzdDIzIDloMjI0djM1MnEwIDE0IDkgMjN0MjMgOWg2NHExNCAwIDIzIC05dDkgLTIzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDQ2IiB1bmljb2RlPSImI3hmMWRiOyIgCmQ9Ik03NjggMTI4MHEtMTMwIDAgLTI0OC41IC01MXQtMjA0IC0xMzYuNXQtMTM2LjUgLTIwNHQtNTEgLTI0OC41dDUxIC0yNDguNXQxMzYuNSAtMjA0dDIwNCAtMTM2LjV0MjQ4LjUgLTUxdDI0OC41IDUxdDIwNCAxMzYuNXQxMzYuNSAyMDR0NTEgMjQ4LjV0LTUxIDI0OC41dC0xMzYuNSAyMDR0LTIwNCAxMzYuNXQtMjQ4LjUgNTF6TTE1MzYgNjQwcTAgLTIwOSAtMTAzIC0zODUuNXQtMjc5LjUgLTI3OS41dC0zODUuNSAtMTAzdC0zODUuNSAxMDMKdC0yNzkuNSAyNzkuNXQtMTAzIDM4NS41dDEwMyAzODUuNXQyNzkuNSAyNzkuNXQzODUuNSAxMDN0Mzg1LjUgLTEwM3QyNzkuNSAtMjc5LjV0MTAzIC0zODUuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQ0NyIgdW5pY29kZT0iJiN4ZjFkYzsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE2ODIgLTEyOHEtNDQgMCAtMTMyLjUgMy41dC0xMzMuNSAzLjVxLTQ0IDAgLTEzMiAtMy41dC0xMzIgLTMuNXEtMjQgMCAtMzcgMjAuNXQtMTMgNDUuNXEwIDMxIDE3IDQ2dDM5IDE3dDUxIDd0NDUgMTVxMzMgMjEgMzMgMTQwbC0xIDM5MXEwIDIxIC0xIDMxcS0xMyA0IC01MCA0aC02NzVxLTM4IDAgLTUxIC00cS0xIC0xMCAtMSAtMzFsLTEgLTM3MXEwIC0xNDIgMzcgLTE2NHExNiAtMTAgNDggLTEzdDU3IC0zLjV0NDUgLTE1CnQyMCAtNDUuNXEwIC0yNiAtMTIuNSAtNDh0LTM2LjUgLTIycS00NyAwIC0xMzkuNSAzLjV0LTEzOC41IDMuNXEtNDMgMCAtMTI4IC0zLjV0LTEyNyAtMy41cS0yMyAwIC0zNS41IDIxdC0xMi41IDQ1cTAgMzAgMTUuNSA0NXQzNiAxNy41dDQ3LjUgNy41dDQyIDE1cTMzIDIzIDMzIDE0M2wtMSA1N3Y4MTNxMCAzIDAuNSAyNnQwIDM2LjV0LTEuNSAzOC41dC0zLjUgNDJ0LTYuNSAzNi41dC0xMSAzMS41dC0xNiAxOHEtMTUgMTAgLTQ1IDEydC01MyAyCnQtNDEgMTR0LTE4IDQ1cTAgMjYgMTIgNDh0MzYgMjJxNDYgMCAxMzguNSAtMy41dDEzOC41IC0zLjVxNDIgMCAxMjYuNSAzLjV0MTI2LjUgMy41cTI1IDAgMzcuNSAtMjJ0MTIuNSAtNDhxMCAtMzAgLTE3IC00My41dC0zOC41IC0xNC41dC00OS41IC00dC00MyAtMTNxLTM1IC0yMSAtMzUgLTE2MGwxIC0zMjBxMCAtMjEgMSAtMzJxMTMgLTMgMzkgLTNoNjk5cTI1IDAgMzggM3ExIDExIDEgMzJsMSAzMjBxMCAxMzkgLTM1IDE2MApxLTE4IDExIC01OC41IDEyLjV0LTY2IDEzdC0yNS41IDQ5LjVxMCAyNiAxMi41IDQ4dDM3LjUgMjJxNDQgMCAxMzIgLTMuNXQxMzIgLTMuNXE0MyAwIDEyOSAzLjV0MTI5IDMuNXEyNSAwIDM3LjUgLTIydDEyLjUgLTQ4cTAgLTMwIC0xNy41IC00NHQtNDAgLTE0LjV0LTUxLjUgLTN0LTQ0IC0xMi41cS0zNSAtMjMgLTM1IC0xNjFsMSAtOTQzcTAgLTExOSAzNCAtMTQwcTE2IC0xMCA0NiAtMTMuNXQ1My41IC00LjV0NDEuNSAtMTUuNXQxOCAtNDQuNQpxMCAtMjYgLTEyIC00OHQtMzYgLTIyeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDQ4IiB1bmljb2RlPSImI3hmMWRkOyIgaG9yaXotYWR2LXg9IjEyODAiIApkPSJNMTI3OCAxMzQ3di03M3EwIC0yOSAtMTguNSAtNjF0LTQyLjUgLTMycS01MCAwIC01NCAtMXEtMjYgLTYgLTMyIC0zMXEtMyAtMTEgLTMgLTY0di0xMTUycTAgLTI1IC0xOCAtNDN0LTQzIC0xOGgtMTA4cS0yNSAwIC00MyAxOHQtMTggNDN2MTIxOGgtMTQzdi0xMjE4cTAgLTI1IC0xNy41IC00M3QtNDMuNSAtMThoLTEwOHEtMjYgMCAtNDMuNSAxOHQtMTcuNSA0M3Y0OTZxLTE0NyAxMiAtMjQ1IDU5cS0xMjYgNTggLTE5MiAxNzkKcS02NCAxMTcgLTY0IDI1OXEwIDE2NiA4OCAyODZxODggMTE4IDIwOSAxNTlxMTExIDM3IDQxNyAzN2g0NzlxMjUgMCA0MyAtMTh0MTggLTQzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDQ5IiB1bmljb2RlPSImI3hmMWRlOyIgCmQ9Ik0zNTIgMTI4di0xMjhoLTM1MnYxMjhoMzUyek03MDQgMjU2cTI2IDAgNDUgLTE5dDE5IC00NXYtMjU2cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtMjU2cS0yNiAwIC00NSAxOXQtMTkgNDV2MjU2cTAgMjYgMTkgNDV0NDUgMTloMjU2ek04NjQgNjQwdi0xMjhoLTg2NHYxMjhoODY0ek0yMjQgMTE1MnYtMTI4aC0yMjR2MTI4aDIyNHpNMTUzNiAxMjh2LTEyOGgtNzM2djEyOGg3MzZ6TTU3NiAxMjgwcTI2IDAgNDUgLTE5dDE5IC00NXYtMjU2CnEwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTI1NnEtMjYgMCAtNDUgMTl0LTE5IDQ1djI1NnEwIDI2IDE5IDQ1dDQ1IDE5aDI1NnpNMTIxNiA3NjhxMjYgMCA0NSAtMTl0MTkgLTQ1di0yNTZxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0yNTZxLTI2IDAgLTQ1IDE5dC0xOSA0NXYyNTZxMCAyNiAxOSA0NXQ0NSAxOWgyNTZ6TTE1MzYgNjQwdi0xMjhoLTIyNHYxMjhoMjI0ek0xNTM2IDExNTJ2LTEyOGgtODY0djEyOGg4NjR6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYxRTAiIHVuaWNvZGU9IiYjeGYxZTA7IiAKZD0iTTEyMTYgNTEycTEzMyAwIDIyNi41IC05My41dDkzLjUgLTIyNi41dC05My41IC0yMjYuNXQtMjI2LjUgLTkzLjV0LTIyNi41IDkzLjV0LTkzLjUgMjI2LjVxMCAxMiAyIDM0bC0zNjAgMTgwcS05MiAtODYgLTIxOCAtODZxLTEzMyAwIC0yMjYuNSA5My41dC05My41IDIyNi41dDkzLjUgMjI2LjV0MjI2LjUgOTMuNXExMjYgMCAyMTggLTg2bDM2MCAxODBxLTIgMjIgLTIgMzRxMCAxMzMgOTMuNSAyMjYuNXQyMjYuNSA5My41CnQyMjYuNSAtOTMuNXQ5My41IC0yMjYuNXQtOTMuNSAtMjI2LjV0LTIyNi41IC05My41cS0xMjYgMCAtMjE4IDg2bC0zNjAgLTE4MHEyIC0yMiAyIC0zNHQtMiAtMzRsMzYwIC0xODBxOTIgODYgMjE4IDg2eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDUxIiB1bmljb2RlPSImI3hmMWUxOyIgCmQ9Ik0xMjgwIDM0MXEwIDg4IC02Mi41IDE1MXQtMTUwLjUgNjNxLTg0IDAgLTE0NSAtNThsLTI0MSAxMjBxMiAxNiAyIDIzdC0yIDIzbDI0MSAxMjBxNjEgLTU4IDE0NSAtNThxODggMCAxNTAuNSA2M3Q2Mi41IDE1MXQtNjIuNSAxNTAuNXQtMTUwLjUgNjIuNXQtMTUxIC02Mi41dC02MyAtMTUwLjVxMCAtNyAyIC0yM2wtMjQxIC0xMjBxLTYyIDU3IC0xNDUgNTdxLTg4IDAgLTE1MC41IC02Mi41dC02Mi41IC0xNTAuNXQ2Mi41IC0xNTAuNQp0MTUwLjUgLTYyLjVxODMgMCAxNDUgNTdsMjQxIC0xMjBxLTIgLTE2IC0yIC0yM3EwIC04OCA2MyAtMTUwLjV0MTUxIC02Mi41dDE1MC41IDYyLjV0NjIuNSAxNTAuNXpNMTUzNiAxMTIwdi05NjBxMCAtMTE5IC04NC41IC0yMDMuNXQtMjAzLjUgLTg0LjVoLTk2MHEtMTE5IDAgLTIwMy41IDg0LjV0LTg0LjUgMjAzLjV2OTYwcTAgMTE5IDg0LjUgMjAzLjV0MjAzLjUgODQuNWg5NjBxMTE5IDAgMjAzLjUgLTg0LjV0ODQuNSAtMjAzLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80NTIiIHVuaWNvZGU9IiYjeGYxZTI7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik01NzEgOTQ3cS0xMCAyNSAtMzQgMzV0LTQ5IDBxLTEwOCAtNDQgLTE5MSAtMTI3dC0xMjcgLTE5MXEtMTAgLTI1IDAgLTQ5dDM1IC0zNHExMyAtNSAyNCAtNXE0MiAwIDYwIDQwcTM0IDg0IDk4LjUgMTQ4LjV0MTQ4LjUgOTguNXEyNSAxMSAzNSAzNXQwIDQ5ek0xNTEzIDEzMDNsNDYgLTQ2bC0yNDQgLTI0M2w2OCAtNjhxMTkgLTE5IDE5IC00NS41dC0xOSAtNDUuNWwtNjQgLTY0cTg5IC0xNjEgODkgLTM0M3EwIC0xNDMgLTU1LjUgLTI3My41CnQtMTUwIC0yMjV0LTIyNSAtMTUwdC0yNzMuNSAtNTUuNXQtMjczLjUgNTUuNXQtMjI1IDE1MHQtMTUwIDIyNXQtNTUuNSAyNzMuNXQ1NS41IDI3My41dDE1MCAyMjV0MjI1IDE1MHQyNzMuNSA1NS41cTE4MiAwIDM0MyAtODlsNjQgNjRxMTkgMTkgNDUuNSAxOXQ0NS41IC0xOWw2OCAtNjh6TTE1MjEgMTM1OXEtMTAgLTEwIC0yMiAtMTBxLTEzIDAgLTIzIDEwbC05MSA5MHEtOSAxMCAtOSAyM3Q5IDIzcTEwIDkgMjMgOXQyMyAtOWw5MCAtOTEKcTEwIC05IDEwIC0yMi41dC0xMCAtMjIuNXpNMTc1MSAxMTI5cS0xMSAtOSAtMjMgLTl0LTIzIDlsLTkwIDkxcS0xMCA5IC0xMCAyMi41dDEwIDIyLjVxOSAxMCAyMi41IDEwdDIyLjUgLTEwbDkxIC05MHE5IC0xMCA5IC0yM3QtOSAtMjN6TTE3OTIgMTMxMnEwIC0xNCAtOSAtMjN0LTIzIC05aC05NnEtMTQgMCAtMjMgOXQtOSAyM3Q5IDIzdDIzIDloOTZxMTQgMCAyMyAtOXQ5IC0yM3pNMTYwMCAxNTA0di05NnEwIC0xNCAtOSAtMjN0LTIzIC05CnQtMjMgOXQtOSAyM3Y5NnEwIDE0IDkgMjN0MjMgOXQyMyAtOXQ5IC0yM3pNMTc1MSAxNDQ5bC05MSAtOTBxLTEwIC0xMCAtMjIgLTEwcS0xMyAwIC0yMyAxMHEtMTAgOSAtMTAgMjIuNXQxMCAyMi41bDkwIDkxcTEwIDkgMjMgOXQyMyAtOXE5IC0xMCA5IC0yM3QtOSAtMjN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80NTMiIHVuaWNvZGU9IiYjeGYxZTM7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik02MDkgNzIwbDI4NyAyMDhsMjg3IC0yMDhsLTEwOSAtMzM2aC0zNTV6TTg5NiAxNTM2cTE4MiAwIDM0OCAtNzF0Mjg2IC0xOTF0MTkxIC0yODZ0NzEgLTM0OHQtNzEgLTM0OHQtMTkxIC0yODZ0LTI4NiAtMTkxdC0zNDggLTcxdC0zNDggNzF0LTI4NiAxOTF0LTE5MSAyODZ0LTcxIDM0OHQ3MSAzNDh0MTkxIDI4NnQyODYgMTkxdDM0OCA3MXpNMTUxNSAxODZxMTQ5IDIwMyAxNDkgNDU0djNsLTEwMiAtODlsLTI0MCAyMjRsNjMgMzIzCmwxMzQgLTEycS0xNTAgMjA2IC0zODkgMjgybDUzIC0xMjRsLTI4NyAtMTU5bC0yODcgMTU5bDUzIDEyNHEtMjM5IC03NiAtMzg5IC0yODJsMTM1IDEybDYyIC0zMjNsLTI0MCAtMjI0bC0xMDIgODl2LTNxMCAtMjUxIDE0OSAtNDU0bDMwIDEzMmwzMjYgLTQwbDEzOSAtMjk4bC0xMTYgLTY5cTExNyAtMzkgMjQwIC0zOXQyNDAgMzlsLTExNiA2OWwxMzkgMjk4bDMyNiA0MHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQ1NCIgdW5pY29kZT0iJiN4ZjFlNDsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTQ0OCAyMjR2LTE5MnEwIC0xNCAtOSAtMjN0LTIzIC05aC0xOTJxLTE0IDAgLTIzIDl0LTkgMjN2MTkycTAgMTQgOSAyM3QyMyA5aDE5MnExNCAwIDIzIC05dDkgLTIzek0yNTYgNjA4di0xOTJxMCAtMTQgLTkgLTIzdC0yMyAtOWgtMTkycS0xNCAwIC0yMyA5dC05IDIzdjE5MnEwIDE0IDkgMjN0MjMgOWgxOTJxMTQgMCAyMyAtOXQ5IC0yM3pNODMyIDIyNHYtMTkycTAgLTE0IC05IC0yM3QtMjMgLTloLTE5MnEtMTQgMCAtMjMgOXQtOSAyMwp2MTkycTAgMTQgOSAyM3QyMyA5aDE5MnExNCAwIDIzIC05dDkgLTIzek02NDAgNjA4di0xOTJxMCAtMTQgLTkgLTIzdC0yMyAtOWgtMTkycS0xNCAwIC0yMyA5dC05IDIzdjE5MnEwIDE0IDkgMjN0MjMgOWgxOTJxMTQgMCAyMyAtOXQ5IC0yM3pNNjYgNzY4cS0yOCAwIC00NyAxOXQtMTkgNDZ2MTI5aDUxNHYtMTI5cTAgLTI3IC0xOSAtNDZ0LTQ2IC0xOWgtMzgzek0xMjE2IDIyNHYtMTkycTAgLTE0IC05IC0yM3QtMjMgLTloLTE5MgpxLTE0IDAgLTIzIDl0LTkgMjN2MTkycTAgMTQgOSAyM3QyMyA5aDE5MnExNCAwIDIzIC05dDkgLTIzek0xMDI0IDYwOHYtMTkycTAgLTE0IC05IC0yM3QtMjMgLTloLTE5MnEtMTQgMCAtMjMgOXQtOSAyM3YxOTJxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMgLTl0OSAtMjN6TTE2MDAgMjI0di0xOTJxMCAtMTQgLTkgLTIzdC0yMyAtOWgtMTkycS0xNCAwIC0yMyA5dC05IDIzdjE5MnEwIDE0IDkgMjN0MjMgOWgxOTJxMTQgMCAyMyAtOXQ5IC0yMwp6TTE0MDggNjA4di0xOTJxMCAtMTQgLTkgLTIzdC0yMyAtOWgtMTkycS0xNCAwIC0yMyA5dC05IDIzdjE5MnEwIDE0IDkgMjN0MjMgOWgxOTJxMTQgMCAyMyAtOXQ5IC0yM3pNMTc5MiAxMDE2di0xM2gtNTE0djEwcTAgMTA0IC0zODIgMTAycS0zODIgLTEgLTM4MiAtMTAydi0xMGgtNTE0djEzcTAgMTcgOC41IDQzdDM0IDY0dDY1LjUgNzUuNXQxMTAuNSA3NnQxNjAgNjcuNXQyMjQgNDcuNXQyOTMuNSAxOC41dDI5MyAtMTguNXQyMjQgLTQ3LjUKdDE2MC41IC02Ny41dDExMC41IC03NnQ2NS41IC03NS41dDM0IC02NHQ4LjUgLTQzek0xNzkyIDYwOHYtMTkycTAgLTE0IC05IC0yM3QtMjMgLTloLTE5MnEtMTQgMCAtMjMgOXQtOSAyM3YxOTJxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMgLTl0OSAtMjN6TTE3OTIgOTYydi0xMjlxMCAtMjcgLTE5IC00NnQtNDYgLTE5aC0zODRxLTI3IDAgLTQ2IDE5dC0xOSA0NnYxMjloNTE0eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDU1IiB1bmljb2RlPSImI3hmMWU1OyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNNzA0IDEyMTZ2LTc2OHEwIC0yNiAtMTkgLTQ1dC00NSAtMTl2LTU3NnEwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTUxMnEtMjYgMCAtNDUgMTl0LTE5IDQ1djUxMmwyNDkgODczcTcgMjMgMzEgMjNoNDI0ek0xMDI0IDEyMTZ2LTcwNGgtMjU2djcwNGgyNTZ6TTE3OTIgMzIwdi01MTJxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC01MTJxLTI2IDAgLTQ1IDE5dC0xOSA0NXY1NzZxLTI2IDAgLTQ1IDE5dC0xOSA0NXY3NjhoNDI0cTI0IDAgMzEgLTIzegpNNzM2IDE1MDR2LTIyNGgtMzUydjIyNHEwIDE0IDkgMjN0MjMgOWgyODhxMTQgMCAyMyAtOXQ5IC0yM3pNMTQwOCAxNTA0di0yMjRoLTM1MnYyMjRxMCAxNCA5IDIzdDIzIDloMjg4cTE0IDAgMjMgLTl0OSAtMjN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80NTYiIHVuaWNvZGU9IiYjeGYxZTY7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xNzU1IDEwODNxMzcgLTM4IDM3IC05MC41dC0zNyAtOTAuNWwtNDAxIC00MDBsMTUwIC0xNTBsLTE2MCAtMTYwcS0xNjMgLTE2MyAtMzg5LjUgLTE4Ni41dC00MTEuNSAxMDAuNWwtMzYyIC0zNjJoLTE4MXYxODFsMzYyIDM2MnEtMTI0IDE4NSAtMTAwLjUgNDExLjV0MTg2LjUgMzg5LjVsMTYwIDE2MGwxNTAgLTE1MGw0MDAgNDAxcTM4IDM3IDkxIDM3dDkwIC0zN3QzNyAtOTAuNXQtMzcgLTkwLjVsLTQwMCAtNDAxbDIzNCAtMjM0Cmw0MDEgNDAwcTM4IDM3IDkxIDM3dDkwIC0zN3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQ1NyIgdW5pY29kZT0iJiN4ZjFlNzsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTg3MyA3OTZxMCAtODMgLTYzLjUgLTE0Mi41dC0xNTIuNSAtNTkuNXQtMTUyLjUgNTkuNXQtNjMuNSAxNDIuNXEwIDg0IDYzLjUgMTQzdDE1Mi41IDU5dDE1Mi41IC01OXQ2My41IC0xNDN6TTEzNzUgNzk2cTAgLTgzIC02MyAtMTQyLjV0LTE1MyAtNTkuNXEtODkgMCAtMTUyLjUgNTkuNXQtNjMuNSAxNDIuNXEwIDg0IDYzLjUgMTQzdDE1Mi41IDU5cTkwIDAgMTUzIC01OXQ2MyAtMTQzek0xNjAwIDYxNnY2NjdxMCA4NyAtMzIgMTIzLjUKdC0xMTEgMzYuNWgtMTExMnEtODMgMCAtMTEyLjUgLTM0dC0yOS41IC0xMjZ2LTY3M3E0MyAtMjMgODguNSAtNDB0ODEgLTI4dDgxIC0xOC41dDcxIC0xMXQ3MCAtNHQ1OC41IC0wLjV0NTYuNSAydDQ0LjUgMnE2OCAxIDk1IC0yN3E2IC02IDEwIC05cTI2IC0yNSA2MSAtNTFxNyA5MSAxMTggODdxNSAwIDM2LjUgLTEuNXQ0MyAtMnQ0NS41IC0xdDUzIDF0NTQuNSA0LjV0NjEgOC41dDYyIDEzLjV0NjcgMTkuNXQ2Ny41IDI3dDcyIDM0LjV6Ck0xNzYzIDYyMXEtMTIxIC0xNDkgLTM3MiAtMjUycTg0IC0yODUgLTIzIC00NjVxLTY2IC0xMTMgLTE4MyAtMTQ4cS0xMDQgLTMyIC0xODIgMTVxLTg2IDUxIC04MiAxNjRsLTEgMzI2djFxLTggMiAtMjQuNSA2dC0yMy41IDVsLTEgLTMzOHE0IC0xMTQgLTgzIC0xNjRxLTc5IC00NyAtMTgzIC0xNXEtMTE3IDM2IC0xODIgMTUwcS0xMDUgMTgwIC0yMiA0NjNxLTI1MSAxMDMgLTM3MiAyNTJxLTI1IDM3IC00IDYzdDYwIC0xcTQgLTIgMTEuNSAtNwp0MTAuNSAtOHY2OTRxMCA3MiA0NyAxMjN0MTE0IDUxaDEyNTdxNjcgMCAxMTQgLTUxdDQ3IC0xMjN2LTY5NGwyMSAxNXEzOSAyNyA2MCAxdC00IC02M3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQ1OCIgdW5pY29kZT0iJiN4ZjFlODsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTg5NiAxMTAydi00MzRoLTE0NXY0MzRoMTQ1ek0xMjk0IDExMDJ2LTQzNGgtMTQ1djQzNGgxNDV6TTEyOTQgMzQybDI1MyAyNTR2Nzk1aC0xMTk0di0xMDQ5aDMyNnYtMjE3bDIxNyAyMTdoMzk4ek0xNjkyIDE1MzZ2LTEwMTNsLTQzNCAtNDM0aC0zMjZsLTIxNyAtMjE3aC0yMTd2MjE3aC0zOTh2MTE1OGwxMDkgMjg5aDE0ODN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80NTkiIHVuaWNvZGU9IiYjeGYxZTk7IiAKZD0iTTc3MyAyMTd2LTEyN3EtMSAtMjkyIC02IC0zMDVxLTEyIC0zMiAtNTEgLTQwcS01NCAtOSAtMTgxLjUgMzh0LTE2Mi41IDg5cS0xMyAxNSAtMTcgMzZxLTEgMTIgNCAyNnE0IDEwIDM0IDQ3dDE4MSAyMTZxMSAwIDYwIDcwcTE1IDE5IDM5LjUgMjQuNXQ0OS41IC0zLjVxMjQgLTEwIDM3LjUgLTI5dDEyLjUgLTQyek02MjQgNDY4cS0zIC01NSAtNTIgLTcwbC0xMjAgLTM5cS0yNzUgLTg4IC0yOTIgLTg4cS0zNSAyIC01NCAzNgpxLTEyIDI1IC0xNyA3NXEtOCA3NiAxIDE2Ni41dDMwIDEyNC41dDU2IDMycTEzIDAgMjAyIC03N3E3MSAtMjkgMTE1IC00N2w4NCAtMzRxMjMgLTkgMzUuNSAtMzAuNXQxMS41IC00OC41ek0xNDUwIDE3MXEtNyAtNTQgLTkxLjUgLTE2MXQtMTM1LjUgLTEyN3EtMzcgLTE0IC02MyA3cS0xNCAxMCAtMTg0IDI4N2wtNDcgNzdxLTE0IDIxIC0xMS41IDQ2dDE5LjUgNDZxMzUgNDMgODMgMjZxMSAtMSAxMTkgLTQwcTIwMyAtNjYgMjQyIC03OS41CnQ0NyAtMjAuNXEyOCAtMjIgMjIgLTYxek03NzggODAzcTUgLTEwMiAtNTQgLTEyMnEtNTggLTE3IC0xMTQgNzFsLTM3OCA1OThxLTggMzUgMTkgNjJxNDEgNDMgMjA3LjUgODkuNXQyMjQuNSAzMS41cTQwIC0xMCA0OSAtNDVxMyAtMTggMjIgLTMwNS41dDI0IC0zNzkuNXpNMTQ0MCA2OTVxMyAtMzkgLTI2IC01OXEtMTUgLTEwIC0zMjkgLTg2cS02NyAtMTUgLTkxIC0yM2wxIDJxLTIzIC02IC00NiA0dC0zNyAzMnEtMzAgNDcgMCA4NwpxMSAxIDc1IDEwMnExMjUgMTcxIDE1MCAyMDR0MzQgMzlxMjggMTkgNjUgMnE0OCAtMjMgMTIzIC0xMzMuNXQ4MSAtMTY3LjV2LTN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80NjAiIHVuaWNvZGU9IiYjeGYxZWE7IiBob3Jpei1hZHYteD0iMjA0OCIgCmQ9Ik0xMDI0IDEwMjRoLTM4NHYtMzg0aDM4NHYzODR6TTExNTIgMzg0di0xMjhoLTY0MHYxMjhoNjQwek0xMTUyIDExNTJ2LTY0MGgtNjQwdjY0MGg2NDB6TTE3OTIgMzg0di0xMjhoLTUxMnYxMjhoNTEyek0xNzkyIDY0MHYtMTI4aC01MTJ2MTI4aDUxMnpNMTc5MiA4OTZ2LTEyOGgtNTEydjEyOGg1MTJ6TTE3OTIgMTE1MnYtMTI4aC01MTJ2MTI4aDUxMnpNMjU2IDE5MnY5NjBoLTEyOHYtOTYwcTAgLTI2IDE5IC00NXQ0NSAtMTl0NDUgMTkKdDE5IDQ1ek0xOTIwIDE5MnYxMDg4aC0xNTM2di0xMDg4cTAgLTMzIC0xMSAtNjRoMTQ4M3EyNiAwIDQ1IDE5dDE5IDQ1ek0yMDQ4IDE0MDh2LTEyMTZxMCAtODAgLTU2IC0xMzZ0LTEzNiAtNTZoLTE2NjRxLTgwIDAgLTEzNiA1NnQtNTYgMTM2djEwODhoMjU2djEyOGgxNzkyeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDYxIiB1bmljb2RlPSImI3hmMWViOyIgaG9yaXotYWR2LXg9IjIwNDgiIApkPSJNMTAyNCAxM3EtMjAgMCAtOTMgNzMuNXQtNzMgOTMuNXEwIDMyIDYyLjUgNTR0MTAzLjUgMjJ0MTAzLjUgLTIydDYyLjUgLTU0cTAgLTIwIC03MyAtOTMuNXQtOTMgLTczLjV6TTEyOTQgMjg0cS0yIDAgLTQwIDI1dC0xMDEuNSA1MHQtMTI4LjUgMjV0LTEyOC41IC0yNXQtMTAxIC01MHQtNDAuNSAtMjVxLTE4IDAgLTkzLjUgNzV0LTc1LjUgOTNxMCAxMyAxMCAyM3E3OCA3NyAxOTYgMTIxdDIzMyA0NHQyMzMgLTQ0dDE5NiAtMTIxCnExMCAtMTAgMTAgLTIzcTAgLTE4IC03NS41IC05M3QtOTMuNSAtNzV6TTE1NjcgNTU2cS0xMSAwIC0yMyA4cS0xMzYgMTA1IC0yNTIgMTU0LjV0LTI2OCA0OS41cS04NSAwIC0xNzAuNSAtMjJ0LTE0OSAtNTN0LTExMy41IC02MnQtNzkgLTUzdC0zMSAtMjJxLTE3IDAgLTkyIDc1dC03NSA5M3EwIDEyIDEwIDIycTEzMiAxMzIgMzIwIDIwNXQzODAgNzN0MzgwIC03M3QzMjAgLTIwNXExMCAtMTAgMTAgLTIycTAgLTE4IC03NSAtOTN0LTkyIC03NXoKTTE4MzggODI3cS0xMSAwIC0yMiA5cS0xNzkgMTU3IC0zNzEuNSAyMzYuNXQtNDIwLjUgNzkuNXQtNDIwLjUgLTc5LjV0LTM3MS41IC0yMzYuNXEtMTEgLTkgLTIyIC05cS0xNyAwIC05Mi41IDc1dC03NS41IDkzcTAgMTMgMTAgMjNxMTg3IDE4NiA0NDUgMjg4dDUyNyAxMDJ0NTI3IC0xMDJ0NDQ1IC0yODhxMTAgLTEwIDEwIC0yM3EwIC0xOCAtNzUuNSAtOTN0LTkyLjUgLTc1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDYyIiB1bmljb2RlPSImI3hmMWVjOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMzg0IDBxMCA1MyAtMzcuNSA5MC41dC05MC41IDM3LjV0LTkwLjUgLTM3LjV0LTM3LjUgLTkwLjV0MzcuNSAtOTAuNXQ5MC41IC0zNy41dDkwLjUgMzcuNXQzNy41IDkwLjV6TTc2OCAwcTAgNTMgLTM3LjUgOTAuNXQtOTAuNSAzNy41dC05MC41IC0zNy41dC0zNy41IC05MC41dDM3LjUgLTkwLjV0OTAuNSAtMzcuNXQ5MC41IDM3LjV0MzcuNSA5MC41ek0zODQgMzg0cTAgNTMgLTM3LjUgOTAuNXQtOTAuNSAzNy41dC05MC41IC0zNy41CnQtMzcuNSAtOTAuNXQzNy41IC05MC41dDkwLjUgLTM3LjV0OTAuNSAzNy41dDM3LjUgOTAuNXpNMTE1MiAwcTAgNTMgLTM3LjUgOTAuNXQtOTAuNSAzNy41dC05MC41IC0zNy41dC0zNy41IC05MC41dDM3LjUgLTkwLjV0OTAuNSAtMzcuNXQ5MC41IDM3LjV0MzcuNSA5MC41ek03NjggMzg0cTAgNTMgLTM3LjUgOTAuNXQtOTAuNSAzNy41dC05MC41IC0zNy41dC0zNy41IC05MC41dDM3LjUgLTkwLjV0OTAuNSAtMzcuNXQ5MC41IDM3LjUKdDM3LjUgOTAuNXpNMzg0IDc2OHEwIDUzIC0zNy41IDkwLjV0LTkwLjUgMzcuNXQtOTAuNSAtMzcuNXQtMzcuNSAtOTAuNXQzNy41IC05MC41dDkwLjUgLTM3LjV0OTAuNSAzNy41dDM3LjUgOTAuNXpNMTE1MiAzODRxMCA1MyAtMzcuNSA5MC41dC05MC41IDM3LjV0LTkwLjUgLTM3LjV0LTM3LjUgLTkwLjV0MzcuNSAtOTAuNXQ5MC41IC0zNy41dDkwLjUgMzcuNXQzNy41IDkwLjV6TTc2OCA3NjhxMCA1MyAtMzcuNSA5MC41dC05MC41IDM3LjUKdC05MC41IC0zNy41dC0zNy41IC05MC41dDM3LjUgLTkwLjV0OTAuNSAtMzcuNXQ5MC41IDM3LjV0MzcuNSA5MC41ek0xNTM2IDB2Mzg0cTAgNTIgLTM4IDkwdC05MCAzOHQtOTAgLTM4dC0zOCAtOTB2LTM4NHEwIC01MiAzOCAtOTB0OTAgLTM4dDkwIDM4dDM4IDkwek0xMTUyIDc2OHEwIDUzIC0zNy41IDkwLjV0LTkwLjUgMzcuNXQtOTAuNSAtMzcuNXQtMzcuNSAtOTAuNXQzNy41IC05MC41dDkwLjUgLTM3LjV0OTAuNSAzNy41dDM3LjUgOTAuNXoKTTE1MzYgMTA4OHYyNTZxMCAyNiAtMTkgNDV0LTQ1IDE5aC0xMjgwcS0yNiAwIC00NSAtMTl0LTE5IC00NXYtMjU2cTAgLTI2IDE5IC00NXQ0NSAtMTloMTI4MHEyNiAwIDQ1IDE5dDE5IDQ1ek0xNTM2IDc2OHEwIDUzIC0zNy41IDkwLjV0LTkwLjUgMzcuNXQtOTAuNSAtMzcuNXQtMzcuNSAtOTAuNXQzNy41IC05MC41dDkwLjUgLTM3LjV0OTAuNSAzNy41dDM3LjUgOTAuNXpNMTY2NCAxNDA4di0xNTM2cTAgLTUyIC0zOCAtOTB0LTkwIC0zOApoLTE0MDhxLTUyIDAgLTkwIDM4dC0zOCA5MHYxNTM2cTAgNTIgMzggOTB0OTAgMzhoMTQwOHE1MiAwIDkwIC0zOHQzOCAtOTB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80NjMiIHVuaWNvZGU9IiYjeGYxZWQ7IiAKZD0iTTE1MTkgODkwcTE4IC04NCAtNCAtMjA0cS04NyAtNDQ0IC01NjUgLTQ0NGgtNDRxLTI1IDAgLTQ0IC0xNi41dC0yNCAtNDIuNWwtNCAtMTlsLTU1IC0zNDZsLTIgLTE1cS01IC0yNiAtMjQuNSAtNDIuNXQtNDQuNSAtMTYuNWgtMjUxcS0yMSAwIC0zMyAxNXQtOSAzNnE5IDU2IDI2LjUgMTY4dDI2LjUgMTY4dDI3IDE2Ny41dDI3IDE2Ny41cTUgMzcgNDMgMzdoMTMxcTEzMyAtMiAyMzYgMjFxMTc1IDM5IDI4NyAxNDRxMTAyIDk1IDE1NSAyNDYKcTI0IDcwIDM1IDEzM3ExIDYgMi41IDcuNXQzLjUgMXQ2IC0zLjVxNzkgLTU5IDk4IC0xNjJ6TTEzNDcgMTE3MnEwIC0xMDcgLTQ2IC0yMzZxLTgwIC0yMzMgLTMwMiAtMzE1cS0xMTMgLTQwIC0yNTIgLTQycTAgLTEgLTkwIC0xbC05MCAxcS0xMDAgMCAtMTE4IC05NnEtMiAtOCAtODUgLTUzMHEtMSAtMTAgLTEyIC0xMGgtMjk1cS0yMiAwIC0zNi41IDE2LjV0LTExLjUgMzguNWwyMzIgMTQ3MXE1IDI5IDI3LjUgNDh0NTEuNSAxOWg1OTgKcTM0IDAgOTcuNSAtMTN0MTExLjUgLTMycTEwNyAtNDEgMTYzLjUgLTEyM3Q1Ni41IC0xOTZ6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80NjQiIHVuaWNvZGU9IiYjeGYxZWU7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik00NDEgODY0cTMzIDAgNTIgLTI2cTI2NiAtMzY0IDM2MiAtNzc0aC00NDZxLTEyNyA0NDEgLTM2NyA3NDlxLTEyIDE2IC0zIDMzLjV0MjkgMTcuNWgzNzN6TTEwMDAgNTA3cS00OSAtMTk5IC0xMjUgLTM5M3EtNzkgMzEwIC0yNTYgNTk0cTQwIDIyMSA0NCA0NDlxMjExIC0zNDAgMzM3IC02NTB6TTEwOTkgMTIxNnEyMzUgLTMyNCAzODQuNSAtNjk4LjV0MTg0LjUgLTc3My41aC00NTFxLTQxIDY2NSAtNTUzIDE0NzJoNDM1ek0xNzkyIDY0MApxMCAtNDI0IC0xMDEgLTgxMnEtNjcgNTYwIC0zNTkgMTA4M3EtMjUgMzAxIC0xMDYgNTg0cS00IDE2IDUuNSAyOC41dDI1LjUgMTIuNWgzNTlxMjEgMCAzOC41IC0xM3QyMi41IC0zM3ExMTUgLTQwOSAxMTUgLTg1MHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjFGMCIgdW5pY29kZT0iJiN4ZjFmMDsiIGhvcml6LWFkdi14PSIyMzA0IiAKZD0iTTE5NzUgNTQ2aC0xMzhxMTQgMzcgNjYgMTc5bDMgOXE0IDEwIDEwIDI2dDkgMjZsMTIgLTU1ek01MzEgNjExbC01OCAyOTVxLTExIDU0IC03NSA1NGgtMjY4bC0yIC0xM3EzMTEgLTc5IDQwMyAtMzM2ek03MTAgOTYwbC0xNjIgLTQzOGwtMTcgODlxLTI2IDcwIC04NSAxMjkuNXQtMTMxIDg4LjVsMTM1IC01MTBoMTc1bDI2MSA2NDFoLTE3NnpNODQ5IDMxOGgxNjZsMTA0IDY0MmgtMTY2ek0xNjE3IDk0NHEtNjkgMjcgLTE0OSAyNwpxLTEyMyAwIC0yMDEgLTU5dC03OSAtMTUzcS0xIC0xMDIgMTQ1IC0xNzRxNDggLTIzIDY3IC00MXQxOSAtMzlxMCAtMzAgLTMwIC00NnQtNjkgLTE2cS04NiAwIC0xNTYgMzNsLTIyIDExbC0yMyAtMTQ0cTc0IC0zNCAxODUgLTM0cTEzMCAtMSAyMDguNSA1OXQ4MC41IDE2MHEwIDEwNiAtMTQwIDE3NHEtNDkgMjUgLTcxIDQydC0yMiAzOHEwIDIyIDI0LjUgMzguNXQ3MC41IDE2LjVxNzAgMSAxMjQgLTI0bDE1IC04ek0yMDQyIDk2MGgtMTI4CnEtNjUgMCAtODcgLTU0bC0yNDYgLTU4OGgxNzRsMzUgOTZoMjEycTUgLTIyIDIwIC05NmgxNTR6TTIzMDQgMTI4MHYtMTI4MHEwIC01MiAtMzggLTkwdC05MCAtMzhoLTIwNDhxLTUyIDAgLTkwIDM4dC0zOCA5MHYxMjgwcTAgNTIgMzggOTB0OTAgMzhoMjA0OHE1MiAwIDkwIC0zOHQzOCAtOTB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80NjYiIHVuaWNvZGU9IiYjeGYxZjE7IiBob3Jpei1hZHYteD0iMjMwNCIgCmQ9Ik0xMTE5IDExOTVxLTEyOCA4NSAtMjgxIDg1cS0xMDMgMCAtMTk3LjUgLTQwLjV0LTE2Mi41IC0xMDguNXQtMTA4LjUgLTE2MnQtNDAuNSAtMTk3cTAgLTEwNCA0MC41IC0xOTh0MTA4LjUgLTE2MnQxNjIgLTEwOC41dDE5OCAtNDAuNXExNTMgMCAyODEgODVxLTEzMSAxMDcgLTE3OCAyNjUuNXQwLjUgMzE2LjV0MTc3LjUgMjY1ek0xMTUyIDExNzFxLTEyNiAtOTkgLTE3MiAtMjQ5LjV0LTAuNSAtMzAwLjV0MTcyLjUgLTI0OQpxMTI3IDk5IDE3Mi41IDI0OXQtMC41IDMwMC41dC0xNzIgMjQ5LjV6TTExODUgMTE5NXExMzAgLTEwNyAxNzcuNSAtMjY1LjV0MC41IC0zMTd0LTE3OCAtMjY0LjVxMTI4IC04NSAyODEgLTg1cTEwNCAwIDE5OCA0MC41dDE2MiAxMDguNXQxMDguNSAxNjJ0NDAuNSAxOThxMCAxMDMgLTQwLjUgMTk3dC0xMDguNSAxNjJ0LTE2Mi41IDEwOC41dC0xOTcuNSA0MC41cS0xNTMgMCAtMjgxIC04NXpNMTkyNiA0NzNoN3YzaC0xN3YtM2g3di0xN2gzdjE3egpNMTk1NSA0NTZoNHYyMGgtNWwtNiAtMTNsLTYgMTNoLTV2LTIwaDN2MTVsNiAtMTNoNGw1IDEzdi0xNXpNMTk0NyAxNnYtMmgtMmgtM3YzaDNoMnYtMXpNMTk0NyA3aDNsLTQgNWgybDEgMXExIDEgMSAzdC0xIDNsLTEgMWgtM2gtNnYtMTNoM3Y1aDF6TTY4NSA3NXEwIDE5IDExIDMxdDMwIDEycTE4IDAgMjkgLTEyLjV0MTEgLTMwLjVxMCAtMTkgLTExIC0zMXQtMjkgLTEycS0xOSAwIC0zMCAxMnQtMTEgMzF6TTExNTggMTE5cTMwIDAgMzUgLTMyCmgtNzBxNSAzMiAzNSAzMnpNMTUxNCA3NXEwIDE5IDExIDMxdDI5IDEydDI5LjUgLTEyLjV0MTEuNSAtMzAuNXEwIC0xOSAtMTEgLTMxdC0zMCAtMTJxLTE4IDAgLTI5IDEydC0xMSAzMXpNMTc4NiA3NXEwIDE4IDExLjUgMzAuNXQyOS41IDEyLjV0MjkuNSAtMTIuNXQxMS41IC0zMC41cTAgLTE5IC0xMS41IC0zMXQtMjkuNSAtMTJ0LTI5LjUgMTIuNXQtMTEuNSAzMC41ek0xOTQ0IDNxLTIgMCAtNCAxcS0xIDAgLTMgMnQtMiAzcS0xIDIgLTEgNApxMCAzIDEgNHEwIDIgMiA0bDEgMXEyIDAgMiAxcTIgMSA0IDFxMyAwIDQgLTFsNCAtMmwyIC00di0xcTEgLTIgMSAtM2wtMSAtMXYtM3QtMSAtMWwtMSAtMnEtMiAtMiAtNCAtMnEtMSAtMSAtNCAtMXpNNTk5IDdoMzB2ODVxMCAyNCAtMTQuNSAzOC41dC0zOS41IDE1LjVxLTMyIDAgLTQ3IC0yNHEtMTQgMjQgLTQ1IDI0cS0yNCAwIC0zOSAtMjB2MTZoLTMwdi0xMzVoMzB2NzVxMCAzNiAzMyAzNnEzMCAwIDMwIC0zNnYtNzVoMjl2NzUKcTAgMzYgMzMgMzZxMzAgMCAzMCAtMzZ2LTc1ek03NjUgN2gyOXY2OHY2N2gtMjl2LTE2cS0xNyAyMCAtNDMgMjBxLTI5IDAgLTQ4IC0yMHQtMTkgLTUxdDE5IC01MXQ0OCAtMjBxMjggMCA0MyAyMHYtMTd6TTk0MyA0OHEwIDM0IC00NyA0MGwtMTQgMnEtMjMgNCAtMjMgMTRxMCAxNSAyNSAxNXEyMyAwIDQzIC0xMWwxMiAyNHEtMjIgMTQgLTU1IDE0cS0yNiAwIC00MSAtMTJ0LTE1IC0zMnEwIC0zMyA0NyAtMzlsMTMgLTJxMjQgLTQgMjQgLTE0CnEwIC0xNyAtMzEgLTE3cS0yNSAwIC00NSAxNGwtMTMgLTIzcTI1IC0xNyA1OCAtMTdxMjkgMCA0NS41IDEydDE2LjUgMzJ6TTEwNzMgMTRsLTggMjVxLTEzIC03IC0yNiAtN3EtMTkgMCAtMTkgMjJ2NjFoNDh2MjdoLTQ4djQxaC0zMHYtNDFoLTI4di0yN2gyOHYtNjFxMCAtNTAgNDcgLTUwcTIxIDAgMzYgMTB6TTExNTkgMTQ2cS0yOSAwIC00OCAtMjB0LTE5IC01MXEwIC0zMiAxOS41IC01MS41dDQ5LjUgLTE5LjVxMzMgMCA1NSAxOWwtMTQgMjIKcS0xOCAtMTUgLTM5IC0xNXEtMzQgMCAtNDEgMzNoMTAxdjEycTAgMzIgLTE4IDUxLjV0LTQ2IDE5LjV6TTEzMTggMTQ2cS0yMyAwIC0zNSAtMjB2MTZoLTMwdi0xMzVoMzB2NzZxMCAzNSAyOSAzNXExMCAwIDE4IC00bDkgMjhxLTkgNCAtMjEgNHpNMTM0OCA3NXEwIC0zMSAxOS41IC01MXQ1Mi41IC0yMHEyOSAwIDQ4IDE2bC0xNCAyNHEtMTggLTEzIC0zNSAtMTJxLTE4IDAgLTI5LjUgMTJ0LTExLjUgMzF0MTEuNSAzMXQyOS41IDEyCnExOSAwIDM1IC0xMmwxNCAyNHEtMjAgMTYgLTQ4IDE2cS0zMyAwIC01Mi41IC0yMHQtMTkuNSAtNTF6TTE1OTMgN2gzMHY2OHY2N2gtMzB2LTE2cS0xNSAyMCAtNDIgMjBxLTI5IDAgLTQ4LjUgLTIwdC0xOS41IC01MXQxOS41IC01MXQ0OC41IC0yMHEyOCAwIDQyIDIwdi0xN3pNMTcyNiAxNDZxLTIzIDAgLTM1IC0yMHYxNmgtMjl2LTEzNWgyOXY3NnEwIDM1IDI5IDM1cTEwIDAgMTggLTRsOSAyOHEtOCA0IC0yMSA0ek0xODY2IDdoMjl2Njh2MTIyCmgtMjl2LTcxcS0xNSAyMCAtNDMgMjB0LTQ3LjUgLTIwLjV0LTE5LjUgLTUwLjV0MTkuNSAtNTAuNXQ0Ny41IC0yMC41cTI5IDAgNDMgMjB2LTE3ek0xOTQ0IDI3bC0yIC0xaC0zcS0yIC0xIC00IC0zcS0zIC0xIC0zIC00cS0xIC0yIC0xIC02cTAgLTMgMSAtNXEwIC0yIDMgLTRxMiAtMiA0IC0zdDUgLTFxNCAwIDYgMXEwIDEgMiAybDIgMXExIDEgMyA0cTEgMiAxIDVxMCA0IC0xIDZxLTEgMSAtMyA0cTAgMSAtMiAybC0yIDFxLTEgMCAtMyAwLjUKdC0zIDAuNXpNMjMwNCAxMjgwdi0xMjgwcTAgLTUyIC0zOCAtOTB0LTkwIC0zOGgtMjA0OHEtNTIgMCAtOTAgMzh0LTM4IDkwdjEyODBxMCA1MiAzOCA5MHQ5MCAzOGgyMDQ4cTUyIDAgOTAgLTM4dDM4IC05MHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQ2NyIgdW5pY29kZT0iJiN4ZjFmMjsiIGhvcml6LWFkdi14PSIyMzA0IiAKZD0iTTMxMyA3NTlxMCAtNTEgLTM2IC04NHEtMjkgLTI2IC04OSAtMjZoLTE3djIyMGgxN3E2MSAwIDg5IC0yN3EzNiAtMzEgMzYgLTgzek0yMDg5IDgyNHEwIC01MiAtNjQgLTUyaC0xOXYxMDFoMjBxNjMgMCA2MyAtNDl6TTM4MCA3NTlxMCA3NCAtNTAgMTIwLjV0LTEyOSA0Ni41aC05NXYtMzMzaDk1cTc0IDAgMTE5IDM4cTYwIDUxIDYwIDEyOHpNNDEwIDU5M2g2NXYzMzNoLTY1di0zMzN6TTczMCA2OTRxMCA0MCAtMjAuNSA2MnQtNzUuNSA0MgpxLTI5IDEwIC0zOS41IDE5dC0xMC41IDIzcTAgMTYgMTMuNSAyNi41dDM0LjUgMTAuNXEyOSAwIDUzIC0yN2wzNCA0NHEtNDEgMzcgLTk4IDM3cS00NCAwIC03NCAtMjcuNXQtMzAgLTY3LjVxMCAtMzUgMTggLTU1LjV0NjQgLTM2LjVxMzcgLTEzIDQ1IC0xOXExOSAtMTIgMTkgLTM0cTAgLTIwIC0xNCAtMzMuNXQtMzYgLTEzLjVxLTQ4IDAgLTcxIDQ0bC00MiAtNDBxNDQgLTY0IDExNSAtNjRxNTEgMCA4MyAzMC41dDMyIDc5LjV6TTEwMDggNjA0CnY3N3EtMzcgLTM3IC03OCAtMzdxLTQ5IDAgLTgwLjUgMzIuNXQtMzEuNSA4Mi41cTAgNDggMzEuNSA4MS41dDc3LjUgMzMuNXE0MyAwIDgxIC0zOHY3N3EtNDAgMjAgLTgwIDIwcS03NCAwIC0xMjUuNSAtNTAuNXQtNTEuNSAtMTIzLjV0NTEgLTEyMy41dDEyNSAtNTAuNXE0MiAwIDgxIDE5ek0yMjQwIDB2NTI3cS02NSAtNDAgLTE0NC41IC04NHQtMjM3LjUgLTExN3QtMzI5LjUgLTEzNy41dC00MTcuNSAtMTM0LjV0LTUwNCAtMTE4aDE1NjkKcTI2IDAgNDUgMTl0MTkgNDV6TTEzODkgNzU3cTAgNzUgLTUzIDEyOHQtMTI4IDUzdC0xMjggLTUzdC01MyAtMTI4dDUzIC0xMjh0MTI4IC01M3QxMjggNTN0NTMgMTI4ek0xNTQxIDU4NGwxNDQgMzQyaC03MWwtOTAgLTIyNGwtODkgMjI0aC03MWwxNDIgLTM0MmgzNXpNMTcxNCA1OTNoMTg0djU2aC0xMTl2OTBoMTE1djU2aC0xMTV2NzRoMTE5djU3aC0xODR2LTMzM3pNMjEwNSA1OTNoODBsLTEwNSAxNDBxNzYgMTYgNzYgOTRxMCA0NyAtMzEgNzMKdC04NyAyNmgtOTd2LTMzM2g2NXYxMzNoOXpNMjMwNCAxMjc0di0xMjY4cTAgLTU2IC0zOC41IC05NXQtOTMuNSAtMzloLTIwNDBxLTU1IDAgLTkzLjUgMzl0LTM4LjUgOTV2MTI2OHEwIDU2IDM4LjUgOTV0OTMuNSAzOWgyMDQwcTU1IDAgOTMuNSAtMzl0MzguNSAtOTV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImYxZjMiIHVuaWNvZGU9IiYjeGYxZjM7IiBob3Jpei1hZHYteD0iMjMwNCIgCmQ9Ik0xMTkgODU0aDg5bC00NSAxMDh6TTc0MCAzMjhsNzQgNzlsLTcwIDc5aC0xNjN2LTQ5aDE0MnYtNTVoLTE0MnYtNTRoMTU5ek04OTggNDA2bDk5IC0xMTB2MjE3ek0xMTg2IDQ1M3EwIDMzIC00MCAzM2gtODR2LTY5aDgzcTQxIDAgNDEgMzZ6TTE0NzUgNDU3cTAgMjkgLTQyIDI5aC04MnYtNjFoODFxNDMgMCA0MyAzMnpNMTE5NyA5MjNxMCAyOSAtNDIgMjloLTgydi02MGg4MXE0MyAwIDQzIDMxek0xNjU2IDg1NGg4OWwtNDQgMTA4egpNNjk5IDEwMDl2LTI3MWgtNjZ2MjEybC05NCAtMjEyaC01N2wtOTQgMjEydi0yMTJoLTEzMmwtMjUgNjBoLTEzNWwtMjUgLTYwaC03MGwxMTYgMjcxaDk2bDExMCAtMjU3djI1N2gxMDZsODUgLTE4NGw3NyAxODRoMTA4ek0xMjU1IDQ1M3EwIC0yMCAtNS41IC0zNXQtMTQgLTI1dC0yMi41IC0xNi41dC0yNiAtMTB0LTMxLjUgLTQuNXQtMzEuNSAtMXQtMzIuNSAwLjV0LTI5LjUgMC41di05MWgtMTI2bC04MCA5MGwtODMgLTkwaC0yNTZ2MjcxaDI2MApsODAgLTg5bDgyIDg5aDIwN3ExMDkgMCAxMDkgLTg5ek05NjQgNzk0di01NmgtMjE3djI3MWgyMTd2LTU3aC0xNTJ2LTQ5aDE0OHYtNTVoLTE0OHYtNTRoMTUyek0yMzA0IDIzNXYtMjI5cTAgLTU1IC0zOC41IC05NC41dC05My41IC0zOS41aC0yMDQwcS01NSAwIC05My41IDM5LjV0LTM4LjUgOTQuNXY2NzhoMTExbDI1IDYxaDU1bDI1IC02MWgyMTh2NDZsMTkgLTQ2aDExM2wyMCA0N3YtNDdoNTQxdjk5bDEwIDFxMTAgMCAxMCAtMTR2LTg2aDI3OQp2MjNxMjMgLTEyIDU1IC0xOHQ1Mi41IC02LjV0NjMgMC41dDUxLjUgMWwyNSA2MWg1NmwyNSAtNjFoMjI3djU4bDM0IC01OGgxODJ2Mzc4aC0xODB2LTQ0bC0yNSA0NGgtMTg1di00NGwtMjMgNDRoLTI0OXEtNjkgMCAtMTA5IC0yMnYyMmgtMTcydi0yMnEtMjQgMjIgLTczIDIyaC02MjhsLTQzIC05N2wtNDMgOTdoLTE5OHYtNDRsLTIyIDQ0aC0xNjlsLTc4IC0xNzl2MzkxcTAgNTUgMzguNSA5NC41dDkzLjUgMzkuNWgyMDQwCnE1NSAwIDkzLjUgLTM5LjV0MzguNSAtOTQuNXYtNjc4aC0xMjBxLTUxIDAgLTgxIC0yMnYyMmgtMTc3cS01NSAwIC03OCAtMjJ2MjJoLTMxNnYtMjJxLTMxIDIyIC04NyAyMmgtMjA5di0yMnEtMjMgMjIgLTkxIDIyaC0yMzRsLTU0IC01OGwtNTAgNThoLTM0OXYtMzc4aDM0M2w1NSA1OWw1MiAtNTloMjExdjg5aDIxcTU5IDAgOTAgMTN2LTEwMmgxNzR2OTloOHE4IDAgMTAgLTJ0MiAtMTB2LTg3aDUyOXE1NyAwIDg4IDI0di0yNGgxNjgKcTYwIDAgOTUgMTd6TTE1NDYgNDY5cTAgLTIzIC0xMiAtNDN0LTM0IC0yOXEyNSAtOSAzNCAtMjZ0OSAtNDZ2LTU0aC02NXY0NXEwIDMzIC0xMiA0My41dC00NiAxMC41aC02OXYtOTloLTY1djI3MWgxNTRxNDggMCA3NyAtMTV0MjkgLTU4ek0xMjY5IDkzNnEwIC0yNCAtMTIuNSAtNDR0LTMzLjUgLTI5cTI2IC05IDM0LjUgLTI1LjV0OC41IC00Ni41di01M2gtNjVxMCA5IDAuNSAyNi41dDAgMjV0LTMgMTguNXQtOC41IDE2dC0xNy41IDguNQp0LTI5LjUgMy41aC03MHYtOThoLTY0djI3MWwxNTMgLTFxNDkgMCA3OCAtMTQuNXQyOSAtNTcuNXpNMTc5OCAzMjd2LTU2aC0yMTZ2MjcxaDIxNnYtNTZoLTE1MXYtNDloMTQ4di01NWgtMTQ4di01NHpNMTM3MiAxMDA5di0yNzFoLTY2djI3MWg2NnpNMjA2NSAzNTdxMCAtODYgLTEwMiAtODZoLTEyNnY1OGgxMjZxMzQgMCAzNCAyNXEwIDE2IC0xNyAyMXQtNDEuNSA1dC00OS41IDMuNXQtNDIgMjIuNXQtMTcgNTVxMCAzOSAyNiA2MHQ2NiAyMQpoMTMwdi01N2gtMTE5cS0zNiAwIC0zNiAtMjVxMCAtMTYgMTcuNSAtMjAuNXQ0MiAtNHQ0OSAtMi41dDQyIC0yMS41dDE3LjUgLTU0LjV6TTIzMDQgNDA3di0xMDFxLTI0IC0zNSAtODggLTM1aC0xMjV2NThoMTI1cTMzIDAgMzMgMjVxMCAxMyAtMTIuNSAxOXQtMzEgNS41dC00MCAydC00MCA4dC0zMSAyNHQtMTIuNSA0OC41cTAgMzkgMjYuNSA2MHQ2Ni41IDIxaDEyOXYtNTdoLTExOHEtMzYgMCAtMzYgLTI1cTAgLTIwIDI5IC0yMnQ2OC41IC01CnQ1Ni41IC0yNnpNMjEzOSAxMDA4di0yNzBoLTkybC0xMjIgMjAzdi0yMDNoLTEzMmwtMjYgNjBoLTEzNGwtMjUgLTYwaC03NXEtMTI5IDAgLTEyOSAxMzNxMCAxMzggMTMzIDEzOGg2M3YtNTlxLTcgMCAtMjggMXQtMjguNSAwLjV0LTIzIC0ydC0yMS41IC02LjV0LTE0LjUgLTEzLjV0LTExLjUgLTIzdC0zIC0zMy41cTAgLTM4IDEzLjUgLTU4dDQ5LjUgLTIwaDI5bDkyIDIxM2g5N2wxMDkgLTI1NnYyNTZoOTlsMTE0IC0xODh2MTg4aDY2eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDY5IiB1bmljb2RlPSImI3hmMWY0OyIgaG9yaXotYWR2LXg9IjIzMDQiIApkPSJNNzQ1IDYzMHEwIC0zNyAtMjUuNSAtNjEuNXQtNjIuNSAtMjQuNXEtMjkgMCAtNDYuNSAxNnQtMTcuNSA0NHEwIDM3IDI1IDYyLjV0NjIgMjUuNXEyOCAwIDQ2LjUgLTE2LjV0MTguNSAtNDUuNXpNMTUzMCA3NzlxMCAtNDIgLTIyIC01N3QtNjYgLTE1bC0zMiAtMWwxNyAxMDdxMiAxMSAxMyAxMWgxOHEyMiAwIDM1IC0ydDI1IC0xMi41dDEyIC0zMC41ek0xODgxIDYzMHEwIC0zNiAtMjUuNSAtNjF0LTYxLjUgLTI1cS0yOSAwIC00NyAxNgp0LTE4IDQ0cTAgMzcgMjUgNjIuNXQ2MiAyNS41cTI4IDAgNDYuNSAtMTYuNXQxOC41IC00NS41ek01MTMgODAxcTAgNTkgLTM4LjUgODUuNXQtMTAwLjUgMjYuNWgtMTYwcS0xOSAwIC0yMSAtMTlsLTY1IC00MDhxLTEgLTYgMyAtMTF0MTAgLTVoNzZxMjAgMCAyMiAxOWwxOCAxMTBxMSA4IDcgMTN0MTUgNi41dDE3IDEuNXQxOSAtMXQxNCAtMXE4NiAwIDEzNSA0OC41dDQ5IDEzNC41ek04MjIgNDg5bDQxIDI2MXExIDYgLTMgMTF0LTEwIDVoLTc2CnEtMTQgMCAtMTcgLTMzcS0yNyA0MCAtOTUgNDBxLTcyIDAgLTEyMi41IC01NHQtNTAuNSAtMTI3cTAgLTU5IDM0LjUgLTk0dDkyLjUgLTM1cTI4IDAgNTggMTJ0NDggMzJxLTQgLTEyIC00IC0yMXEwIC0xNiAxMyAtMTZoNjlxMTkgMCAyMiAxOXpNMTI2OSA3NTJxMCA1IC00IDkuNXQtOSA0LjVoLTc3cS0xMSAwIC0xOCAtMTBsLTEwNiAtMTU2bC00NCAxNTBxLTUgMTYgLTIyIDE2aC03NXEtNSAwIC05IC00LjV0LTQgLTkuNXEwIC0yIDE5LjUgLTU5CnQ0MiAtMTIzdDIzLjUgLTcwcS04MiAtMTEyIC04MiAtMTIwcTAgLTEzIDEzIC0xM2g3N3ExMSAwIDE4IDEwbDI1NSAzNjhxMiAyIDIgN3pNMTY0OSA4MDFxMCA1OSAtMzguNSA4NS41dC0xMDAuNSAyNi41aC0xNTlxLTIwIDAgLTIyIC0xOWwtNjUgLTQwOHEtMSAtNiAzIC0xMXQxMCAtNWg4MnExMiAwIDE2IDEzbDE4IDExNnExIDggNyAxM3QxNSA2LjV0MTcgMS41dDE5IC0xdDE0IC0xcTg2IDAgMTM1IDQ4LjV0NDkgMTM0LjV6TTE5NTggNDg5Cmw0MSAyNjFxMSA2IC0zIDExdC0xMCA1aC03NnEtMTQgMCAtMTcgLTMzcS0yNiA0MCAtOTUgNDBxLTcyIDAgLTEyMi41IC01NHQtNTAuNSAtMTI3cTAgLTU5IDM0LjUgLTk0dDkyLjUgLTM1cTI5IDAgNTkgMTJ0NDcgMzJxMCAtMSAtMiAtOXQtMiAtMTJxMCAtMTYgMTMgLTE2aDY5cTE5IDAgMjIgMTl6TTIxNzYgODk4djFxMCAxNCAtMTMgMTRoLTc0cS0xMSAwIC0xMyAtMTFsLTY1IC00MTZsLTEgLTJxMCAtNSA0IC05LjV0MTAgLTQuNWg2NgpxMTkgMCAyMSAxOXpNMzkyIDc2NHEtNSAtMzUgLTI2IC00NnQtNjAgLTExbC0zMyAtMWwxNyAxMDdxMiAxMSAxMyAxMWgxOXE0MCAwIDU4IC0xMS41dDEyIC00OC41ek0yMzA0IDEyODB2LTEyODBxMCAtNTIgLTM4IC05MHQtOTAgLTM4aC0yMDQ4cS01MiAwIC05MCAzOHQtMzggOTB2MTI4MHEwIDUyIDM4IDkwdDkwIDM4aDIwNDhxNTIgMCA5MCAtMzh0MzggLTkweiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDcwIiB1bmljb2RlPSImI3hmMWY1OyIgaG9yaXotYWR2LXg9IjIzMDQiIApkPSJNMTU5NyA2MzNxMCAtNjkgLTIxIC0xMDZxLTE5IC0zNSAtNTIgLTM1cS0yMyAwIC00MSA5djIyNHEyOSAzMCA1NyAzMHE1NyAwIDU3IC0xMjJ6TTIwMzUgNjY5aC0xMTBxNiA5OCA1NiA5OHE1MSAwIDU0IC05OHpNNDc2IDUzNHEwIDU5IC0zMyA5MS41dC0xMDEgNTcuNXEtMzYgMTMgLTUyIDI0dC0xNiAyNXEwIDI2IDM4IDI2cTU4IDAgMTI0IC0zM2wxOCAxMTJxLTY3IDMyIC0xNDkgMzJxLTc3IDAgLTEyMyAtMzhxLTQ4IC0zOSAtNDggLTEwOQpxMCAtNTggMzIuNSAtOTAuNXQ5OS41IC01Ni41cTM5IC0xNCA1NC41IC0yNS41dDE1LjUgLTI3LjVxMCAtMzEgLTQ4IC0zMXEtMjkgMCAtNzAgMTIuNXQtNzIgMzAuNWwtMTggLTExM3E3MiAtNDEgMTY4IC00MXE4MSAwIDEyOSAzN3E1MSA0MSA1MSAxMTd6TTc3MSA3NDlsMTkgMTExaC05NnYxMzVsLTEyOSAtMjFsLTE4IC0xMTRsLTQ2IC04bC0xNyAtMTAzaDYydi0yMTlxMCAtODQgNDQgLTEyMHEzOCAtMzAgMTExIC0zMHEzMiAwIDc5IDExdjExOApxLTMyIC03IC00NCAtN3EtNDIgMCAtNDIgNTB2MTk3aDc3ek0xMDg3IDcyNHYxMzlxLTE1IDMgLTI4IDNxLTMyIDAgLTU1LjUgLTE2dC0zMy41IC00NmwtMTAgNTZoLTEzMXYtNDcxaDE1MHYzMDZxMjYgMzEgODIgMzFxMTYgMCAyNiAtMnpNMTEyNCAzODloMTUwdjQ3MWgtMTUwdi00NzF6TTE3NDYgNjM4cTAgMTIyIC00NSAxNzlxLTQwIDUyIC0xMTEgNTJxLTY0IDAgLTExNyAtNTZsLTggNDdoLTEzMnYtNjQ1bDE1MCAyNXYxNTEKcTM2IC0xMSA2OCAtMTFxODMgMCAxMzQgNTZxNjEgNjUgNjEgMjAyek0xMjc4IDk4NnEwIDMzIC0yMyA1NnQtNTYgMjN0LTU2IC0yM3QtMjMgLTU2dDIzIC01Ni41dDU2IC0yMy41dDU2IDIzLjV0MjMgNTYuNXpNMjE3NiA2MjlxMCAxMTMgLTQ4IDE3NnEtNTAgNjQgLTE0NCA2NHEtOTYgMCAtMTUxLjUgLTY2dC01NS41IC0xODBxMCAtMTI4IDYzIC0xODhxNTUgLTU1IDE2MSAtNTVxMTAxIDAgMTYwIDQwbC0xNiAxMDNxLTU3IC0zMSAtMTI4IC0zMQpxLTQzIDAgLTYzIDE5cS0yMyAxOSAtMjggNjZoMjQ4cTIgMTQgMiA1MnpNMjMwNCAxMjgwdi0xMjgwcTAgLTUyIC0zOCAtOTB0LTkwIC0zOGgtMjA0OHEtNTIgMCAtOTAgMzh0LTM4IDkwdjEyODBxMCA1MiAzOCA5MHQ5MCAzOGgyMDQ4cTUyIDAgOTAgLTM4dDM4IC05MHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQ3MSIgdW5pY29kZT0iJiN4ZjFmNjsiIGhvcml6LWFkdi14PSIyMDQ4IiAKZD0iTTE1NTggNjg0cTYxIC0zNTYgMjk4IC01NTZxMCAtNTIgLTM4IC05MHQtOTAgLTM4aC00NDhxMCAtMTA2IC03NSAtMTgxdC0xODEgLTc1dC0xODAuNSA3NC41dC03NS41IDE4MC41ek0xMDI0IC0xNzZxMTYgMCAxNiAxNnQtMTYgMTZxLTU5IDAgLTEwMS41IDQyLjV0LTQyLjUgMTAxLjVxMCAxNiAtMTYgMTZ0LTE2IC0xNnEwIC03MyA1MS41IC0xMjQuNXQxMjQuNSAtNTEuNXpNMjAyNiAxNDI0cTggLTEwIDcuNSAtMjMuNXQtMTAuNSAtMjIuNQpsLTE4NzIgLTE2MjJxLTEwIC04IC0yMy41IC03dC0yMS41IDExbC04NCA5NnEtOCAxMCAtNy41IDIzLjV0MTAuNSAyMS41bDE4NiAxNjFxLTE5IDMyIC0xOSA2NnE1MCA0MiA5MSA4OHQ4NSAxMTkuNXQ3NC41IDE1OC41dDUwIDIwNnQxOS41IDI2MHEwIDE1MiAxMTcgMjgyLjV0MzA3IDE1OC41cS04IDE5IC04IDM5cTAgNDAgMjggNjh0NjggMjh0NjggLTI4dDI4IC02OHEwIC0yMCAtOCAtMzlxMTI0IC0xOCAyMTkgLTgyLjV0MTQ4IC0xNTcuNQpsNDE4IDM2M3ExMCA4IDIzLjUgN3QyMS41IC0xMXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQ3MiIgdW5pY29kZT0iJiN4ZjFmNzsiIGhvcml6LWFkdi14PSIyMDQ4IiAKZD0iTTEwNDAgLTE2MHEwIDE2IC0xNiAxNnEtNTkgMCAtMTAxLjUgNDIuNXQtNDIuNSAxMDEuNXEwIDE2IC0xNiAxNnQtMTYgLTE2cTAgLTczIDUxLjUgLTEyNC41dDEyNC41IC01MS41cTE2IDAgMTYgMTZ6TTUwMyAzMTVsODc3IDc2MHEtNDIgODggLTEzMi41IDE0Ni41dC0yMjMuNSA1OC41cS05MyAwIC0xNjkuNSAtMzEuNXQtMTIxLjUgLTgwLjV0LTY5IC0xMDN0LTI0IC0xMDVxMCAtMzg0IC0xMzcgLTY0NXpNMTg1NiAxMjgKcTAgLTUyIC0zOCAtOTB0LTkwIC0zOGgtNDQ4cTAgLTEwNiAtNzUgLTE4MXQtMTgxIC03NXQtMTgwLjUgNzQuNXQtNzUuNSAxODAuNWwxNDkgMTI5aDc1N3EtMTY2IDE4NyAtMjI3IDQ1OWwxMTEgOTdxNjEgLTM1NiAyOTggLTU1NnpNMTk0MiAxNTIwbDg0IC05NnE4IC0xMCA3LjUgLTIzLjV0LTEwLjUgLTIyLjVsLTE4NzIgLTE2MjJxLTEwIC04IC0yMy41IC03dC0yMS41IDExbC04NCA5NnEtOCAxMCAtNy41IDIzLjV0MTAuNSAyMS41bDE4NiAxNjEKcS0xOSAzMiAtMTkgNjZxNTAgNDIgOTEgODh0ODUgMTE5LjV0NzQuNSAxNTguNXQ1MCAyMDZ0MTkuNSAyNjBxMCAxNTIgMTE3IDI4Mi41dDMwNyAxNTguNXEtOCAxOSAtOCAzOXEwIDQwIDI4IDY4dDY4IDI4dDY4IC0yOHQyOCAtNjhxMCAtMjAgLTggLTM5cTEyNCAtMTggMjE5IC04Mi41dDE0OCAtMTU3LjVsNDE4IDM2M3ExMCA4IDIzLjUgN3QyMS41IC0xMXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQ3MyIgdW5pY29kZT0iJiN4ZjFmODsiIGhvcml6LWFkdi14PSIxNDA4IiAKZD0iTTUxMiAxNjB2NzA0cTAgMTQgLTkgMjN0LTIzIDloLTY0cS0xNCAwIC0yMyAtOXQtOSAtMjN2LTcwNHEwIC0xNCA5IC0yM3QyMyAtOWg2NHExNCAwIDIzIDl0OSAyM3pNNzY4IDE2MHY3MDRxMCAxNCAtOSAyM3QtMjMgOWgtNjRxLTE0IDAgLTIzIC05dC05IC0yM3YtNzA0cTAgLTE0IDkgLTIzdDIzIC05aDY0cTE0IDAgMjMgOXQ5IDIzek0xMDI0IDE2MHY3MDRxMCAxNCAtOSAyM3QtMjMgOWgtNjRxLTE0IDAgLTIzIC05dC05IC0yM3YtNzA0CnEwIC0xNCA5IC0yM3QyMyAtOWg2NHExNCAwIDIzIDl0OSAyM3pNNDgwIDExNTJoNDQ4bC00OCAxMTdxLTcgOSAtMTcgMTFoLTMxN3EtMTAgLTIgLTE3IC0xMXpNMTQwOCAxMTIwdi02NHEwIC0xNCAtOSAtMjN0LTIzIC05aC05NnYtOTQ4cTAgLTgzIC00NyAtMTQzLjV0LTExMyAtNjAuNWgtODMycS02NiAwIC0xMTMgNTguNXQtNDcgMTQxLjV2OTUyaC05NnEtMTQgMCAtMjMgOXQtOSAyM3Y2NHEwIDE0IDkgMjN0MjMgOWgzMDlsNzAgMTY3CnExNSAzNyA1NCA2M3Q3OSAyNmgzMjBxNDAgMCA3OSAtMjZ0NTQgLTYzbDcwIC0xNjdoMzA5cTE0IDAgMjMgLTl0OSAtMjN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80NzQiIHVuaWNvZGU9IiYjeGYxZjk7IiAKZD0iTTExNTAgNDYydi0xMDlxMCAtNTAgLTM2LjUgLTg5dC05NCAtNjAuNXQtMTE4IC0zMi41dC0xMTcuNSAtMTFxLTIwNSAwIC0zNDIuNSAxMzl0LTEzNy41IDM0NnEwIDIwMyAxMzYgMzM5dDMzOSAxMzZxMzQgMCA3NS41IC00LjV0OTMgLTE4dDkyLjUgLTM0dDY5IC01Ni41dDI4IC04MXYtMTA5cTAgLTE2IC0xNiAtMTZoLTExOHEtMTYgMCAtMTYgMTZ2NzBxMCA0MyAtNjUuNSA2Ny41dC0xMzcuNSAyNC41cS0xNDAgMCAtMjI4LjUgLTkxLjUKdC04OC41IC0yMzcuNXEwIC0xNTEgOTEuNSAtMjQ5LjV0MjMzLjUgLTk4LjVxNjggMCAxMzggMjR0NzAgNjZ2NzBxMCA3IDQuNSAxMS41dDEwLjUgNC41aDExOXE2IDAgMTEgLTQuNXQ1IC0xMS41ek03NjggMTI4MHEtMTMwIDAgLTI0OC41IC01MXQtMjA0IC0xMzYuNXQtMTM2LjUgLTIwNHQtNTEgLTI0OC41dDUxIC0yNDguNXQxMzYuNSAtMjA0dDIwNCAtMTM2LjV0MjQ4LjUgLTUxdDI0OC41IDUxdDIwNCAxMzYuNXQxMzYuNSAyMDR0NTEgMjQ4LjUKdC01MSAyNDguNXQtMTM2LjUgMjA0dC0yMDQgMTM2LjV0LTI0OC41IDUxek0xNTM2IDY0MHEwIC0yMDkgLTEwMyAtMzg1LjV0LTI3OS41IC0yNzkuNXQtMzg1LjUgLTEwM3QtMzg1LjUgMTAzdC0yNzkuNSAyNzkuNXQtMTAzIDM4NS41dDEwMyAzODUuNXQyNzkuNSAyNzkuNXQzODUuNSAxMDN0Mzg1LjUgLTEwM3QyNzkuNSAtMjc5LjV0MTAzIC0zODUuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQ3NSIgdW5pY29kZT0iJiN4ZjFmYTsiIApkPSJNOTcyIDc2MXEwIDEwOCAtNTMuNSAxNjl0LTE0Ny41IDYxcS02MyAwIC0xMjQgLTMwLjV0LTExMCAtODQuNXQtNzkuNSAtMTM3dC0zMC41IC0xODBxMCAtMTEyIDUzLjUgLTE3M3QxNTAuNSAtNjFxOTYgMCAxNzYgNjYuNXQxMjIuNSAxNjZ0NDIuNSAyMDMuNXpNMTUzNiA2NDBxMCAtMTExIC0zNyAtMTk3dC05OC41IC0xMzV0LTEzMS41IC03NC41dC0xNDUgLTI3LjVxLTYgMCAtMTUuNSAtMC41dC0xNi41IC0wLjVxLTk1IDAgLTE0MiA1MwpxLTI4IDMzIC0zMyA4M3EtNTIgLTY2IC0xMzEuNSAtMTEwdC0xNzMuNSAtNDRxLTE2MSAwIC0yNDkuNSA5NS41dC04OC41IDI2OS41cTAgMTU3IDY2IDI5MHQxNzkgMjEwLjV0MjQ2IDc3LjVxODcgMCAxNTUgLTM1LjV0MTA2IC05OS41bDIgMTlsMTEgNTZxMSA2IDUuNSAxMnQ5LjUgNmgxMThxNSAwIDEzIC0xMXE1IC01IDMgLTE2bC0xMjAgLTYxNHEtNSAtMjQgLTUgLTQ4cTAgLTM5IDEyLjUgLTUydDQ0LjUgLTEzcTI4IDEgNTcgNS41dDczIDI0CnQ3NyA1MHQ1NyA4OS41dDI0IDEzN3EwIDI5MiAtMTc0IDQ2NnQtNDY2IDE3NHEtMTMwIDAgLTI0OC41IC01MXQtMjA0IC0xMzYuNXQtMTM2LjUgLTIwNHQtNTEgLTI0OC41dDUxIC0yNDguNXQxMzYuNSAtMjA0dDIwNCAtMTM2LjV0MjQ4LjUgLTUxcTIyOCAwIDQwNSAxNDRxMTEgOSAyNCA4dDIxIC0xMmw0MSAtNDlxOCAtMTIgNyAtMjRxLTIgLTEzIC0xMiAtMjJxLTEwMiAtODMgLTIyNy41IC0xMjh0LTI1OC41IC00NXEtMTU2IDAgLTI5OCA2MQp0LTI0NSAxNjR0LTE2NCAyNDV0LTYxIDI5OHQ2MSAyOTh0MTY0IDI0NXQyNDUgMTY0dDI5OCA2MXEzNDQgMCA1NTYgLTIxMnQyMTIgLTU1NnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQ3NiIgdW5pY29kZT0iJiN4ZjFmYjsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE2OTggMTQ0MnE5NCAtOTQgOTQgLTIyNi41dC05NCAtMjI1LjVsLTIyNSAtMjIzbDEwNCAtMTA0cTEwIC0xMCAxMCAtMjN0LTEwIC0yM2wtMjEwIC0yMTBxLTEwIC0xMCAtMjMgLTEwdC0yMyAxMGwtMTA1IDEwNWwtNjAzIC02MDNxLTM3IC0zNyAtOTAgLTM3aC0yMDNsLTI1NiAtMTI4bC02NCA2NGwxMjggMjU2djIwM3EwIDUzIDM3IDkwbDYwMyA2MDNsLTEwNSAxMDVxLTEwIDEwIC0xMCAyM3QxMCAyM2wyMTAgMjEwcTEwIDEwIDIzIDEwCnQyMyAtMTBsMTA0IC0xMDRsMjIzIDIyNXE5MyA5NCAyMjUuNSA5NHQyMjYuNSAtOTR6TTUxMiA2NGw1NzYgNTc2bC0xOTIgMTkybC01NzYgLTU3NnYtMTkyaDE5MnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZjFmYyIgdW5pY29kZT0iJiN4ZjFmYzsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE2MTUgMTUzNnE3MCAwIDEyMi41IC00Ni41dDUyLjUgLTExNi41cTAgLTYzIC00NSAtMTUxcS0zMzIgLTYyOSAtNDY1IC03NTJxLTk3IC05MSAtMjE4IC05MXEtMTI2IDAgLTIxNi41IDkyLjV0LTkwLjUgMjE5LjVxMCAxMjggOTIgMjEybDYzOCA1NzlxNTkgNTQgMTMwIDU0ek03MDYgNTAycTM5IC03NiAxMDYuNSAtMTMwdDE1MC41IC03NmwxIC03MXE0IC0yMTMgLTEyOS41IC0zNDd0LTM0OC41IC0xMzRxLTEyMyAwIC0yMTggNDYuNQp0LTE1Mi41IDEyNy41dC04Ni41IDE4M3QtMjkgMjIwcTcgLTUgNDEgLTMwdDYyIC00NC41dDU5IC0zNi41dDQ2IC0xN3E0MSAwIDU1IDM3cTI1IDY2IDU3LjUgMTEyLjV0NjkuNSA3NnQ4OCA0Ny41dDEwMyAyNS41dDEyNSAxMC41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDc4IiB1bmljb2RlPSImI3hmMWZkOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTc5MiAxMjh2LTM4NGgtMTc5MnYzODRxNDUgMCA4NSAxNHQ1OSAyNy41dDQ3IDM3LjVxMzAgMjcgNTEuNSAzOHQ1Ni41IDExcTI0IDAgNDQgLTd0MzEgLTE1dDMzIC0yN3EyOSAtMjUgNDcgLTM4dDU4IC0yN3Q4NiAtMTRxNDUgMCA4NSAxNC41dDU4IDI3dDQ4IDM3LjVxMjEgMTkgMzIuNSAyN3QzMSAxNXQ0My41IDdxMzUgMCA1Ni41IC0xMXQ1MS41IC0zOHEyOCAtMjQgNDcgLTM3LjV0NTkgLTI3LjV0ODUgLTE0dDg1IDE0dDU5IDI3LjUKdDQ3IDM3LjVxMzAgMjcgNTEuNSAzOHQ1Ni41IDExcTM0IDAgNTUuNSAtMTF0NTEuNSAtMzhxMjggLTI0IDQ3IC0zNy41dDU5IC0yNy41dDg1IC0xNHpNMTc5MiA0NDh2LTE5MnEtMjQgMCAtNDQgN3QtMzEgMTV0LTMzIDI3cS0yOSAyNSAtNDcgMzh0LTU4IDI3dC04NSAxNHEtNDYgMCAtODYgLTE0dC01OCAtMjd0LTQ3IC0zOHEtMjIgLTE5IC0zMyAtMjd0LTMxIC0xNXQtNDQgLTdxLTM1IDAgLTU2LjUgMTF0LTUxLjUgMzhxLTI5IDI1IC00NyAzOAp0LTU4IDI3dC04NiAxNHEtNDUgMCAtODUgLTE0LjV0LTU4IC0yN3QtNDggLTM3LjVxLTIxIC0xOSAtMzIuNSAtMjd0LTMxIC0xNXQtNDMuNSAtN3EtMzUgMCAtNTYuNSAxMXQtNTEuNSAzOHEtMjggMjQgLTQ3IDM3LjV0LTU5IDI3LjV0LTg1IDE0cS00NiAwIC04NiAtMTR0LTU4IC0yN3QtNDcgLTM4cS0zMCAtMjcgLTUxLjUgLTM4dC01Ni41IC0xMXYxOTJxMCA4MCA1NiAxMzZ0MTM2IDU2aDY0djQ0OGgyNTZ2LTQ0OGgyNTZ2NDQ4aDI1NnYtNDQ4CmgyNTZ2NDQ4aDI1NnYtNDQ4aDY0cTgwIDAgMTM2IC01NnQ1NiAtMTM2ek01MTIgMTMxMnEwIC03NyAtMzYgLTExOC41dC05MiAtNDEuNXEtNTMgMCAtOTAuNSAzNy41dC0zNy41IDkwLjVxMCAyOSA5LjUgNTF0MjMuNSAzNHQzMSAyOHQzMSAzMS41dDIzLjUgNDQuNXQ5LjUgNjdxMzggMCA4MyAtNzR0NDUgLTE1MHpNMTAyNCAxMzEycTAgLTc3IC0zNiAtMTE4LjV0LTkyIC00MS41cS01MyAwIC05MC41IDM3LjV0LTM3LjUgOTAuNQpxMCAyOSA5LjUgNTF0MjMuNSAzNHQzMSAyOHQzMSAzMS41dDIzLjUgNDQuNXQ5LjUgNjdxMzggMCA4MyAtNzR0NDUgLTE1MHpNMTUzNiAxMzEycTAgLTc3IC0zNiAtMTE4LjV0LTkyIC00MS41cS01MyAwIC05MC41IDM3LjV0LTM3LjUgOTAuNXEwIDI5IDkuNSA1MXQyMy41IDM0dDMxIDI4dDMxIDMxLjV0MjMuNSA0NC41dDkuNSA2N3EzOCAwIDgzIC03NHQ0NSAtMTUweiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDc5IiB1bmljb2RlPSImI3hmMWZlOyIgaG9yaXotYWR2LXg9IjIwNDgiIApkPSJNMjA0OCAwdi0xMjhoLTIwNDh2MTUzNmgxMjh2LTE0MDhoMTkyMHpNMTY2NCAxMDI0bDI1NiAtODk2aC0xNjY0djU3Nmw0NDggNTc2bDU3NiAtNTc2eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDgwIiB1bmljb2RlPSImI3hmMjAwOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNNzY4IDY0Nmw1NDYgLTU0NnEtMTA2IC0xMDggLTI0Ny41IC0xNjh0LTI5OC41IC02MHEtMjA5IDAgLTM4NS41IDEwM3QtMjc5LjUgMjc5LjV0LTEwMyAzODUuNXQxMDMgMzg1LjV0Mjc5LjUgMjc5LjV0Mzg1LjUgMTAzdi03NjJ6TTk1NSA2NDBoNzczcTAgLTE1NyAtNjAgLTI5OC41dC0xNjggLTI0Ny41ek0xNjY0IDc2OGgtNzY4djc2OHEyMDkgMCAzODUuNSAtMTAzdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDgxIiB1bmljb2RlPSImI3hmMjAxOyIgaG9yaXotYWR2LXg9IjIwNDgiIApkPSJNMjA0OCAwdi0xMjhoLTIwNDh2MTUzNmgxMjh2LTE0MDhoMTkyMHpNMTkyMCAxMjQ4di00MzVxMCAtMjEgLTE5LjUgLTI5LjV0LTM1LjUgNy41bC0xMjEgMTIxbC02MzMgLTYzM3EtMTAgLTEwIC0yMyAtMTB0LTIzIDEwbC0yMzMgMjMzbC00MTYgLTQxNmwtMTkyIDE5Mmw1ODUgNTg1cTEwIDEwIDIzIDEwdDIzIC0xMGwyMzMgLTIzM2w0NjQgNDY0bC0xMjEgMTIxcS0xNiAxNiAtNy41IDM1LjV0MjkuNSAxOS41aDQzNXExNCAwIDIzIC05CnQ5IC0yM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQ4MiIgdW5pY29kZT0iJiN4ZjIwMjsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTEyOTIgODMycTAgLTYgMTAgLTQxcTEwIC0yOSAyNSAtNDkuNXQ0MSAtMzR0NDQgLTIwdDU1IC0xNi41cTMyNSAtOTEgMzI1IC0zMzJxMCAtMTQ2IC0xMDUuNSAtMjQyLjV0LTI1NC41IC05Ni41cS01OSAwIC0xMTEuNSAxOC41dC05MS41IDQ1LjV0LTc3IDc0LjV0LTYzIDg3LjV0LTUzLjUgMTAzLjV0LTQzLjUgMTAzdC0zOS41IDEwNi41dC0zNS41IDk1cS0zMiA4MSAtNjEuNSAxMzMuNXQtNzMuNSA5Ni41dC0xMDQgNjR0LTE0MiAyMApxLTk2IDAgLTE4MyAtNTUuNXQtMTM4IC0xNDQuNXQtNTEgLTE4NXEwIC0xNjAgMTA2LjUgLTI3OS41dDI2My41IC0xMTkuNXExNzcgMCAyNTggOTVxNTYgNjMgODMgMTE2bDg0IC0xNTJxLTE1IC0zNCAtNDQgLTcwbDEgLTFxLTEzMSAtMTUyIC0zODggLTE1MnEtMTQ3IDAgLTI2OS41IDc5dC0xOTAuNSAyMDcuNXQtNjggMjc0LjVxMCAxMDUgNDMuNSAyMDZ0MTE2IDE3Ni41dDE3MiAxMjEuNXQyMDQuNSA0NnE4NyAwIDE1OSAtMTl0MTIzLjUgLTUwCnQ5NSAtODB0NzIuNSAtOTl0NTguNSAtMTE3dDUwLjUgLTEyNC41dDUwIC0xMzAuNXQ1NSAtMTI3cTk2IC0yMDAgMjMzIC0yMDBxODEgMCAxMzguNSA0OC41dDU3LjUgMTI4LjVxMCA0MiAtMTkgNzJ0LTUwLjUgNDZ0LTcyLjUgMzEuNXQtODQuNSAyN3QtODcuNSAzNHQtODEgNTJ0LTY1IDgydC0zOSAxMjIuNXEtMyAxNiAtMyAzM3EwIDExMCA4Ny41IDE5MnQxOTguNSA3OHE3OCAtMyAxMjAuNSAtMTQuNXQ5MC41IC01My41aC0xCnExMiAtMTEgMjMgLTI0LjV0MjYgLTM2dDE5IC0yNy41bC0xMjkgLTk5cS0yNiA0OSAtNTQgNzB2MXEtMjMgMjEgLTk3IDIxcS00OSAwIC04NCAtMzN0LTM1IC04M3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQ4MyIgdW5pY29kZT0iJiN4ZjIwMzsiIApkPSJNMTQzMiA0ODRxMCAxNzMgLTIzNCAyMzlxLTM1IDEwIC01MyAxNi41dC0zOCAyNXQtMjkgNDYuNXEwIDIgLTIgOC41dC0zIDEydC0xIDcuNXEwIDM2IDI0LjUgNTkuNXQ2MC41IDIzLjVxNTQgMCA3MSAtMTVoLTFxMjAgLTE1IDM5IC01MWw5MyA3MXEtMzkgNTQgLTQ5IDY0cS0zMyAyOSAtNjcuNSAzOXQtODUuNSAxMHEtODAgMCAtMTQyIC01Ny41dC02MiAtMTM3LjVxMCAtNyAyIC0yM3ExNiAtOTYgNjQuNSAtMTQwdDE0OC41IC03MwpxMjkgLTggNDkgLTE1LjV0NDUgLTIxLjV0MzguNSAtMzQuNXQxMy41IC00Ni41di01cTEgLTU4IC00MC41IC05M3QtMTAwLjUgLTM1cS05NyAwIC0xNjcgMTQ0cS0yMyA0NyAtNTEuNSAxMjEuNXQtNDggMTI1LjV0LTU0IDExMC41dC03NCA5NS41dC0xMDMuNSA2MC41dC0xNDcgMjQuNXEtMTAxIDAgLTE5MiAtNTZ0LTE0NCAtMTQ4dC01MCAtMTkydi0xcTQgLTEwOCA1MC41IC0xOTl0MTMzLjUgLTE0Ny41dDE5NiAtNTYuNXExODYgMCAyNzkgMTEwCnEyMCAyNyAzMSA1MWwtNjAgMTA5cS00MiAtODAgLTk5IC0xMTZ0LTE0NiAtMzZxLTExNSAwIC0xOTEgODd0LTc2IDIwNHEwIDEwNSA4MiAxODl0MTg2IDg0cTExMiAwIDE3MCAtNTMuNXQxMDQgLTE3Mi41cTggLTIxIDI1LjUgLTY4LjV0MjguNSAtNzYuNXQzMS41IC03NC41dDM4LjUgLTc0dDQ1LjUgLTYyLjV0NTUuNSAtNTMuNXQ2NiAtMzN0ODAgLTEzLjVxMTA3IDAgMTgzIDY5LjV0NzYgMTc0LjV6TTE1MzYgMTEyMHYtOTYwCnEwIC0xMTkgLTg0LjUgLTIwMy41dC0yMDMuNSAtODQuNWgtOTYwcS0xMTkgMCAtMjAzLjUgODQuNXQtODQuNSAyMDMuNXY5NjBxMCAxMTkgODQuNSAyMDMuNXQyMDMuNSA4NC41aDk2MHExMTkgMCAyMDMuNSAtODQuNXQ4NC41IC0yMDMuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQ4NCIgdW5pY29kZT0iJiN4ZjIwNDsiIGhvcml6LWFkdi14PSIyMDQ4IiAKZD0iTTExNTIgNjQwcTAgMTA0IC00MC41IDE5OC41dC0xMDkuNSAxNjMuNXQtMTYzLjUgMTA5LjV0LTE5OC41IDQwLjV0LTE5OC41IC00MC41dC0xNjMuNSAtMTA5LjV0LTEwOS41IC0xNjMuNXQtNDAuNSAtMTk4LjV0NDAuNSAtMTk4LjV0MTA5LjUgLTE2My41dDE2My41IC0xMDkuNXQxOTguNSAtNDAuNXQxOTguNSA0MC41dDE2My41IDEwOS41dDEwOS41IDE2My41dDQwLjUgMTk4LjV6TTE5MjAgNjQwcTAgMTA0IC00MC41IDE5OC41CnQtMTA5LjUgMTYzLjV0LTE2My41IDEwOS41dC0xOTguNSA0MC41aC0zODZxMTE5IC05MCAxODguNSAtMjI0dDY5LjUgLTI4OHQtNjkuNSAtMjg4dC0xODguNSAtMjI0aDM4NnExMDQgMCAxOTguNSA0MC41dDE2My41IDEwOS41dDEwOS41IDE2My41dDQwLjUgMTk4LjV6TTIwNDggNjQwcTAgLTEzMCAtNTEgLTI0OC41dC0xMzYuNSAtMjA0dC0yMDQgLTEzNi41dC0yNDguNSAtNTFoLTc2OHEtMTMwIDAgLTI0OC41IDUxdC0yMDQgMTM2LjUKdC0xMzYuNSAyMDR0LTUxIDI0OC41dDUxIDI0OC41dDEzNi41IDIwNHQyMDQgMTM2LjV0MjQ4LjUgNTFoNzY4cTEzMCAwIDI0OC41IC01MXQyMDQgLTEzNi41dDEzNi41IC0yMDR0NTEgLTI0OC41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDg1IiB1bmljb2RlPSImI3hmMjA1OyIgaG9yaXotYWR2LXg9IjIwNDgiIApkPSJNMCA2NDBxMCAxMzAgNTEgMjQ4LjV0MTM2LjUgMjA0dDIwNCAxMzYuNXQyNDguNSA1MWg3NjhxMTMwIDAgMjQ4LjUgLTUxdDIwNCAtMTM2LjV0MTM2LjUgLTIwNHQ1MSAtMjQ4LjV0LTUxIC0yNDguNXQtMTM2LjUgLTIwNHQtMjA0IC0xMzYuNXQtMjQ4LjUgLTUxaC03NjhxLTEzMCAwIC0yNDguNSA1MXQtMjA0IDEzNi41dC0xMzYuNSAyMDR0LTUxIDI0OC41ek0xNDA4IDEyOHExMDQgMCAxOTguNSA0MC41dDE2My41IDEwOS41CnQxMDkuNSAxNjMuNXQ0MC41IDE5OC41dC00MC41IDE5OC41dC0xMDkuNSAxNjMuNXQtMTYzLjUgMTA5LjV0LTE5OC41IDQwLjV0LTE5OC41IC00MC41dC0xNjMuNSAtMTA5LjV0LTEwOS41IC0xNjMuNXQtNDAuNSAtMTk4LjV0NDAuNSAtMTk4LjV0MTA5LjUgLTE2My41dDE2My41IC0xMDkuNXQxOTguNSAtNDAuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQ4NiIgdW5pY29kZT0iJiN4ZjIwNjsiIGhvcml6LWFkdi14PSIyMzA0IiAKZD0iTTc2MiAzODRoLTMxNHEtNDAgMCAtNTcuNSAzNXQ2LjUgNjdsMTg4IDI1MXEtNjUgMzEgLTEzNyAzMXEtMTMyIDAgLTIyNiAtOTR0LTk0IC0yMjZ0OTQgLTIyNnQyMjYgLTk0cTExNSAwIDIwMyA3Mi41dDExMSAxODMuNXpNNTc2IDUxMmgxODZxLTE4IDg1IC03NSAxNDh6TTEwNTYgNTEybDI4OCAzODRoLTQ4MGwtOTkgLTEzMnExMDUgLTEwMyAxMjYgLTI1MmgxNjV6TTIxNzYgNDQ4cTAgMTMyIC05NCAyMjZ0LTIyNiA5NApxLTYwIDAgLTEyMSAtMjRsMTc0IC0yNjBxMTUgLTIzIDEwIC00OXQtMjcgLTQwcS0xNSAtMTEgLTM2IC0xMXEtMzUgMCAtNTMgMjlsLTE3NCAyNjBxLTkzIC05NSAtOTMgLTIyNXEwIC0xMzIgOTQgLTIyNnQyMjYgLTk0dDIyNiA5NHQ5NCAyMjZ6TTIzMDQgNDQ4cTAgLTE4NSAtMTMxLjUgLTMxNi41dC0zMTYuNSAtMTMxLjV0LTMxNi41IDEzMS41dC0xMzEuNSAzMTYuNXEwIDk3IDM5LjUgMTgzLjV0MTA5LjUgMTQ5LjVsLTY1IDk4bC0zNTMgLTQ2OQpxLTE4IC0yNiAtNTEgLTI2aC0xOTdxLTIzIC0xNjQgLTE0OSAtMjc0dC0yOTQgLTExMHEtMTg1IDAgLTMxNi41IDEzMS41dC0xMzEuNSAzMTYuNXQxMzEuNSAzMTYuNXQzMTYuNSAxMzEuNXExMTQgMCAyMTUgLTU1bDEzNyAxODNoLTIyNHEtMjYgMCAtNDUgMTl0LTE5IDQ1dDE5IDQ1dDQ1IDE5aDM4NHYtMTI4aDQzNWwtODUgMTI4aC0yMjJxLTI2IDAgLTQ1IDE5dC0xOSA0NXQxOSA0NXQ0NSAxOWgyNTZxMzMgMCA1MyAtMjhsMjY3IC00MDAKcTkxIDQ0IDE5MiA0NHExODUgMCAzMTYuNSAtMTMxLjV0MTMxLjUgLTMxNi41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDg3IiB1bmljb2RlPSImI3hmMjA3OyIgCmQ9Ik0zODQgMzIwcTAgNTMgLTM3LjUgOTAuNXQtOTAuNSAzNy41dC05MC41IC0zNy41dC0zNy41IC05MC41dDM3LjUgLTkwLjV0OTAuNSAtMzcuNXQ5MC41IDM3LjV0MzcuNSA5MC41ek0xNDA4IDMyMHEwIDUzIC0zNy41IDkwLjV0LTkwLjUgMzcuNXQtOTAuNSAtMzcuNXQtMzcuNSAtOTAuNXQzNy41IC05MC41dDkwLjUgLTM3LjV0OTAuNSAzNy41dDM3LjUgOTAuNXpNMTM2MiA3MTZsLTcyIDM4NHEtNSAyMyAtMjIuNSAzNy41dC00MC41IDE0LjUKaC05MThxLTIzIDAgLTQwLjUgLTE0LjV0LTIyLjUgLTM3LjVsLTcyIC0zODRxLTUgLTMwIDE0IC01M3Q0OSAtMjNoMTA2MnEzMCAwIDQ5IDIzdDE0IDUzek0xMTM2IDEzMjhxMCAyMCAtMTQgMzR0LTM0IDE0aC02NDBxLTIwIDAgLTM0IC0xNHQtMTQgLTM0dDE0IC0zNHQzNCAtMTRoNjQwcTIwIDAgMzQgMTR0MTQgMzR6TTE1MzYgNjAzdi02MDNoLTEyOHYtMTI4cTAgLTUzIC0zNy41IC05MC41dC05MC41IC0zNy41dC05MC41IDM3LjUKdC0zNy41IDkwLjV2MTI4aC03Njh2LTEyOHEwIC01MyAtMzcuNSAtOTAuNXQtOTAuNSAtMzcuNXQtOTAuNSAzNy41dC0zNy41IDkwLjV2MTI4aC0xMjh2NjAzcTAgMTEyIDI1IDIyM2wxMDMgNDU0cTkgNzggOTcuNSAxMzd0MjMwIDg5dDMxMi41IDMwdDMxMi41IC0zMHQyMzAgLTg5dDk3LjUgLTEzN2wxMDUgLTQ1NHEyMyAtMTAyIDIzIC0yMjN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80ODgiIHVuaWNvZGU9IiYjeGYyMDg7IiBob3Jpei1hZHYteD0iMjA0OCIgCmQ9Ik0xNDYzIDcwNHEwIC0zNSAtMjUgLTYwLjV0LTYxIC0yNS41aC03MDJxLTM2IDAgLTYxIDI1LjV0LTI1IDYwLjV0MjUgNjAuNXQ2MSAyNS41aDcwMnEzNiAwIDYxIC0yNS41dDI1IC02MC41ek0xNjc3IDcwNHEwIDg2IC0yMyAxNzBoLTk4MnEtMzYgMCAtNjEgMjV0LTI1IDYwcTAgMzYgMjUgNjF0NjEgMjVoOTA4cS04OCAxNDMgLTIzNSAyMjd0LTMyMCA4NHEtMTc3IDAgLTMyNy41IC04Ny41dC0yMzggLTIzNy41dC04Ny41IC0zMjcKcTAgLTg2IDIzIC0xNzBoOTgycTM2IDAgNjEgLTI1dDI1IC02MHEwIC0zNiAtMjUgLTYxdC02MSAtMjVoLTkwOHE4OCAtMTQzIDIzNS41IC0yMjd0MzIwLjUgLTg0cTEzMiAwIDI1MyA1MS41dDIwOCAxMzl0MTM5IDIwOHQ1MiAyNTMuNXpNMjA0OCA5NTlxMCAtMzUgLTI1IC02MHQtNjEgLTI1aC0xMzFxMTcgLTg1IDE3IC0xNzBxMCAtMTY3IC02NS41IC0zMTkuNXQtMTc1LjUgLTI2M3QtMjYyLjUgLTE3NnQtMzE5LjUgLTY1LjUKcS0yNDYgMCAtNDQ4LjUgMTMzdC0zMDEuNSAzNTBoLTE4OXEtMzYgMCAtNjEgMjV0LTI1IDYxcTAgMzUgMjUgNjB0NjEgMjVoMTMycS0xNyA4NSAtMTcgMTcwcTAgMTY3IDY1LjUgMzE5LjV0MTc1LjUgMjYzdDI2Mi41IDE3NnQzMjAuNSA2NS41cTI0NSAwIDQ0Ny41IC0xMzN0MzAxLjUgLTM1MGgxODhxMzYgMCA2MSAtMjV0MjUgLTYxeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDg5IiB1bmljb2RlPSImI3hmMjA5OyIgaG9yaXotYWR2LXg9IjEyODAiIApkPSJNOTUzIDExNThsLTExNCAtMzI4bDExNyAtMjFxMTY1IDQ1MSAxNjUgNTE4cTAgNTYgLTM4IDU2cS01NyAwIC0xMzAgLTIyNXpNNjU0IDQ3MWwzMyAtODhxMzcgNDIgNzEgNjdsLTMzIDUuNXQtMzguNSA3dC0zMi41IDguNXpNMzYyIDEzNjdxMCAtOTggMTU5IC01MjFxMTcgMTAgNDkgMTBxMTUgMCA3NSAtNWwtMTIxIDM1MXEtNzUgMjIwIC0xMjMgMjIwcS0xOSAwIC0yOSAtMTcuNXQtMTAgLTM3LjV6TTI4MyA2MDhxMCAtMzYgNTEuNSAtMTE5CnQxMTcuNSAtMTUzdDEwMCAtNzBxMTQgMCAyNS41IDEzdDExLjUgMjdxMCAyNCAtMzIgMTAycS0xMyAzMiAtMzIgNzJ0LTQ3LjUgODl0LTYxLjUgODF0LTYyIDMycS0yMCAwIC00NS41IC0yN3QtMjUuNSAtNDd6TTEyNSAyNzNxMCAtNDEgMjUgLTEwNHE1OSAtMTQ1IDE4My41IC0yMjd0MjgxLjUgLTgycTIyNyAwIDM4MiAxNzBxMTUyIDE2OSAxNTIgNDI3cTAgNDMgLTEgNjd0LTExLjUgNjJ0LTMwLjUgNTZxLTU2IDQ5IC0yMTEuNSA3NS41CnQtMjcwLjUgMjYuNXEtMzcgMCAtNDkgLTExcS0xMiAtNSAtMTIgLTM1cTAgLTM0IDIxLjUgLTYwdDU1LjUgLTQwdDc3LjUgLTIzLjV0ODcuNSAtMTEuNXQ4NSAtNHQ3MCAwaDIzcTI0IDAgNDAgLTE5cTE1IC0xOSAxOSAtNTVxLTI4IC0yOCAtOTYgLTU0cS02MSAtMjIgLTkzIC00NnEtNjQgLTQ2IC0xMDguNSAtMTE0dC00NC41IC0xMzdxMCAtMzEgMTguNSAtODguNXQxOC41IC04Ny41bC0zIC0xMnEtNCAtMTIgLTQgLTE0CnEtMTM3IDEwIC0xNDYgMjE2cS04IC0yIC00MSAtMnEyIC03IDIgLTIxcTAgLTUzIC00MC41IC04OS41dC05NC41IC0zNi41cS04MiAwIC0xNjYuNSA3OHQtODQuNSAxNTlxMCAzNCAzMyA2N3E1MiAtNjQgNjAgLTc2cTc3IC0xMDQgMTMzIC0xMDRxMTIgMCAyNi41IDguNXQxNC41IDIwLjVxMCAzNCAtODcuNSAxNDV0LTExNi41IDExMXEtNDMgMCAtNzAgLTQ0LjV0LTI3IC05MC41ek0xMSAyNjRxMCAxMDEgNDIuNSAxNjN0MTM2LjUgODgKcS0yOCA3NCAtMjggMTA0cTAgNjIgNjEgMTIzdDEyMiA2MXEyOSAwIDcwIC0xNXEtMTYzIDQ2MiAtMTYzIDU2N3EwIDgwIDQxIDEzMC41dDExOSA1MC41cTEzMSAwIDMyNSAtNTgxcTYgLTE3IDggLTIzcTYgMTYgMjkgNzkuNXQ0My41IDExOC41dDU0IDEyNy41dDY0LjUgMTIzdDcwLjUgODYuNXQ3Ni41IDM2cTcxIDAgMTEyIC00OXQ0MSAtMTIycTAgLTEwOCAtMTU5IC01NTBxNjEgLTE1IDEwMC41IC00NnQ1OC41IC03OHQyNiAtOTMuNQp0NyAtMTEwLjVxMCAtMTUwIC00NyAtMjgwdC0xMzIgLTIyNXQtMjExIC0xNTB0LTI3OCAtNTVxLTExMSAwIC0yMjMgNDJxLTE0OSA1NyAtMjU4IDE5MS41dC0xMDkgMjg2LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80OTAiIHVuaWNvZGU9IiYjeGYyMGE7IiBob3Jpei1hZHYteD0iMjA0OCIgCmQ9Ik03ODUgNTI4aDIwN3EtMTQgLTE1OCAtOTguNSAtMjQ4LjV0LTIxNC41IC05MC41cS0xNjIgMCAtMjU0LjUgMTE2dC05Mi41IDMxNnEwIDE5NCA5MyAzMTEuNXQyMzMgMTE3LjVxMTQ4IDAgMjMyIC04N3Q5NyAtMjQ3aC0yMDNxLTUgNjQgLTM1LjUgOTl0LTgxLjUgMzVxLTU3IDAgLTg4LjUgLTYwLjV0LTMxLjUgLTE3Ny41cTAgLTQ4IDUgLTg0dDE4IC02OS41dDQwIC01MS41dDY2IC0xOHE5NSAwIDEwOSAxMzl6TTE0OTcgNTI4aDIwNgpxLTE0IC0xNTggLTk4IC0yNDguNXQtMjE0IC05MC41cS0xNjIgMCAtMjU0LjUgMTE2dC05Mi41IDMxNnEwIDE5NCA5MyAzMTEuNXQyMzMgMTE3LjVxMTQ4IDAgMjMyIC04N3Q5NyAtMjQ3aC0yMDRxLTQgNjQgLTM1IDk5dC04MSAzNXEtNTcgMCAtODguNSAtNjAuNXQtMzEuNSAtMTc3LjVxMCAtNDggNSAtODR0MTggLTY5LjV0MzkuNSAtNTEuNXQ2NS41IC0xOHE0OSAwIDc2LjUgMzh0MzMuNSAxMDF6TTE4NTYgNjQ3cTAgMjA3IC0xNS41IDMwNwp0LTYwLjUgMTYxcS02IDggLTEzLjUgMTR0LTIxLjUgMTV0LTE2IDExcS04NiA2MyAtNjk3IDYzcS02MjUgMCAtNzEwIC02M3EtNSAtNCAtMTcuNSAtMTEuNXQtMjEgLTE0dC0xNC41IC0xNC41cS00NSAtNjAgLTYwIC0xNTkuNXQtMTUgLTMwOC41cTAgLTIwOCAxNSAtMzA3LjV0NjAgLTE2MC41cTYgLTggMTUgLTE1dDIwLjUgLTE0dDE3LjUgLTEycTQ0IC0zMyAyMzkuNSAtNDl0NDcwLjUgLTE2cTYxMCAwIDY5NyA2NXE1IDQgMTcgMTF0MjAuNSAxNAp0MTMuNSAxNnE0NiA2MCA2MSAxNTl0MTUgMzA5ek0yMDQ4IDE0MDh2LTE1MzZoLTIwNDh2MTUzNmgyMDQ4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDkxIiB1bmljb2RlPSImI3hmMjBiOyIgCmQ9Ik05OTIgOTEydi00OTZxMCAtMTQgLTkgLTIzdC0yMyAtOWgtMTYwcS0xNCAwIC0yMyA5dC05IDIzdjQ5NnEwIDExMiAtODAgMTkydC0xOTIgODBoLTI3MnYtMTE1MnEwIC0xNCAtOSAtMjN0LTIzIC05aC0xNjBxLTE0IDAgLTIzIDl0LTkgMjN2MTM0NHEwIDE0IDkgMjN0MjMgOWg0NjRxMTM1IDAgMjQ5IC02Ni41dDE4MC41IC0xODAuNXQ2Ni41IC0yNDl6TTEzNzYgMTM3NnYtODgwcTAgLTEzNSAtNjYuNSAtMjQ5dC0xODAuNSAtMTgwLjUKdC0yNDkgLTY2LjVoLTQ2NHEtMTQgMCAtMjMgOXQtOSAyM3Y5NjBxMCAxNCA5IDIzdDIzIDloMTYwcTE0IDAgMjMgLTl0OSAtMjN2LTc2OGgyNzJxMTEyIDAgMTkyIDgwdDgwIDE5MnY4ODBxMCAxNCA5IDIzdDIzIDloMTYwcTE0IDAgMjMgLTl0OSAtMjN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80OTIiIHVuaWNvZGU9IiYjeGYyMGM7IiAKZD0iTTEzMTEgNjk0di0xMTRxMCAtMjQgLTEzLjUgLTM4dC0zNy41IC0xNGgtMjAycS0yNCAwIC0zOCAxNHQtMTQgMzh2MTE0cTAgMjQgMTQgMzh0MzggMTRoMjAycTI0IDAgMzcuNSAtMTR0MTMuNSAtMzh6TTgyMSA0NjR2MjUwcTAgNTMgLTMyLjUgODUuNXQtODUuNSAzMi41aC0xMzNxLTY4IDAgLTk2IC01MnEtMjggNTIgLTk2IDUyaC0xMzBxLTUzIDAgLTg1LjUgLTMyLjV0LTMyLjUgLTg1LjV2LTI1MHEwIC0yMiAyMSAtMjJoNTUKcTIyIDAgMjIgMjJ2MjMwcTAgMjQgMTMuNSAzOHQzOC41IDE0aDk0cTI0IDAgMzggLTE0dDE0IC0zOHYtMjMwcTAgLTIyIDIxIC0yMmg1NHEyMiAwIDIyIDIydjIzMHEwIDI0IDE0IDM4dDM4IDE0aDk3cTI0IDAgMzcuNSAtMTR0MTMuNSAtMzh2LTIzMHEwIC0yMiAyMiAtMjJoNTVxMjEgMCAyMSAyMnpNMTQxMCA1NjB2MTU0cTAgNTMgLTMzIDg1LjV0LTg2IDMyLjVoLTI2NHEtNTMgMCAtODYgLTMyLjV0LTMzIC04NS41di00MTAKcTAgLTIxIDIyIC0yMWg1NXEyMSAwIDIxIDIxdjE4MHEzMSAtNDIgOTQgLTQyaDE5MXE1MyAwIDg2IDMyLjV0MzMgODUuNXpNMTUzNiAxMTc2di0xMDcycTAgLTk2IC02OCAtMTY0dC0xNjQgLTY4aC0xMDcycS05NiAwIC0xNjQgNjh0LTY4IDE2NHYxMDcycTAgOTYgNjggMTY0dDE2NCA2OGgxMDcycTk2IDAgMTY0IC02OHQ2OCAtMTY0eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDkzIiB1bmljb2RlPSImI3hmMjBkOyIgCmQ9Ik05MTUgNDUwaC0yOTRsMTQ3IDU1MXpNMTAwMSAxMjhoMzExbC0zMjQgMTAyNGgtNDQwbC0zMjQgLTEwMjRoMzExbDM4MyAzMTR6TTE1MzYgMTEyMHYtOTYwcTAgLTExOCAtODUgLTIwM3QtMjAzIC04NWgtOTYwcS0xMTggMCAtMjAzIDg1dC04NSAyMDN2OTYwcTAgMTE4IDg1IDIwM3QyMDMgODVoOTYwcTExOCAwIDIwMyAtODV0ODUgLTIwM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzQ5NCIgdW5pY29kZT0iJiN4ZjIwZTsiIGhvcml6LWFkdi14PSIyMDQ4IiAKZD0iTTIwNDggNjQxcTAgLTIxIC0xMyAtMzYuNXQtMzMgLTE5LjVsLTIwNSAtMzU2cTMgLTkgMyAtMThxMCAtMjAgLTEyLjUgLTM1LjV0LTMyLjUgLTE5LjVsLTE5MyAtMzM3cTMgLTggMyAtMTZxMCAtMjMgLTE2LjUgLTQwdC00MC41IC0xN3EtMjUgMCAtNDEgMThoLTQwMHEtMTcgLTIwIC00MyAtMjB0LTQzIDIwaC0zOTlxLTE3IC0yMCAtNDMgLTIwcS0yMyAwIC00MCAxNi41dC0xNyA0MC41cTAgOCA0IDIwbC0xOTMgMzM1CnEtMjAgNCAtMzIuNSAxOS41dC0xMi41IDM1LjVxMCA5IDMgMThsLTIwNiAzNTZxLTIwIDUgLTMyLjUgMjAuNXQtMTIuNSAzNS41cTAgMjEgMTMuNSAzNi41dDMzLjUgMTkuNWwxOTkgMzQ0cTAgMSAtMC41IDN0LTAuNSAzcTAgMzYgMzQgNTFsMjA5IDM2M3EtNCAxMCAtNCAxOHEwIDI0IDE3IDQwLjV0NDAgMTYuNXEyNiAwIDQ0IC0yMWgzOTZxMTYgMjEgNDMgMjF0NDMgLTIxaDM5OHExOCAyMSA0NCAyMXEyMyAwIDQwIC0xNi41dDE3IC00MC41CnEwIC02IC00IC0xOGwyMDcgLTM1OHEyMyAtMSAzOSAtMTcuNXQxNiAtMzguNXEwIC0xMyAtNyAtMjdsMTg3IC0zMjRxMTkgLTQgMzEuNSAtMTkuNXQxMi41IC0zNS41ek0xMDYzIC0xNThoMzg5bC0zNDIgMzU0aC0xNDNsLTM0MiAtMzU0aDM2MHExOCAxNiAzOSAxNnQzOSAtMTZ6TTExMiA2NTRxMSAtNCAxIC0xM3EwIC0xMCAtMiAtMTVsMjA4IC0zNjBsMTUgLTZsMTg4IDE5OXYzNDdsLTE4NyAxOTRxLTEzIC04IC0yOSAtMTB6TTk4NiAxNDM4CmgtMzg4bDE5MCAtMjAwbDU1NCAyMDBoLTI4MHEtMTYgLTE2IC0zOCAtMTZ0LTM4IDE2ek0xNjg5IDIyNnExIDYgNSAxMWwtNjQgNjhsLTE3IC03OWg3NnpNMTU4MyAyMjZsMjIgMTA1bC0yNTIgMjY2bC0yOTYgLTMwN2w2MyAtNjRoNDYzek0xNDk1IC0xNDJsMTYgMjhsNjUgMzEwaC00MjdsMzMzIC0zNDNxOCA0IDEzIDV6TTU3OCAtMTU4aDVsMzQyIDM1NGgtMzczdi0zMzVsNCAtNnExNCAtNSAyMiAtMTN6TTU1MiAyMjZoNDAybDY0IDY2CmwtMzA5IDMyMWwtMTU3IC0xNjZ2LTIyMXpNMzU5IDIyNmgxNjN2MTg5bC0xNjggLTE3N3E0IC04IDUgLTEyek0zNTggMTA1MXEwIC0xIDAuNSAtMnQwLjUgLTJxMCAtMTYgLTggLTI5bDE3MSAtMTc3djI2OXpNNTUyIDExMjF2LTMxMWwxNTMgLTE1N2wyOTcgMzE0bC0yMjMgMjM2ek01NTYgMTQyNWwtNCAtOHYtMjY0bDIwNSA3NGwtMTkxIDIwMXEtNiAtMiAtMTAgLTN6TTE0NDcgMTQzOGgtMTZsLTYyMSAtMjI0bDIxMyAtMjI1ek0xMDIzIDk0NgpsLTI5NyAtMzE1bDMxMSAtMzE5bDI5NiAzMDd6TTY4OCA2MzRsLTEzNiAxNDF2LTI4NHpNMTAzOCAyNzBsLTQyIC00NGg4NXpNMTM3NCA2MThsMjM4IC0yNTFsMTMyIDYyNGwtMyA1bC0xIDF6TTE3MTggMTAxOHEtOCAxMyAtOCAyOXYybC0yMTYgMzc2cS01IDEgLTEzIDVsLTQzNyAtNDYzbDMxMCAtMzI3ek01MjIgMTE0MnYyMjNsLTE2MyAtMjgyek01MjIgMTk2aC0xNjNsMTYzIC0yODN2Mjgzek0xNjA3IDE5NmwtNDggLTIyN2wxMzAgMjI3aC04Mgp6TTE3MjkgMjY2bDIwNyAzNjFxLTIgMTAgLTIgMTRxMCAxIDMgMTZsLTE3MSAyOTZsLTEyOSAtNjEybDc3IC04MnE1IDMgMTUgN3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iZjIxMCIgdW5pY29kZT0iJiN4ZjIxMDsiIApkPSJNMCA4NTZxMCAxMzEgOTEuNSAyMjYuNXQyMjIuNSA5NS41aDc0MmwzNTIgMzU4di0xNDcwcTAgLTEzMiAtOTEuNSAtMjI3dC0yMjIuNSAtOTVoLTc4MHEtMTMxIDAgLTIyMi41IDk1dC05MS41IDIyN3Y3OTB6TTEyMzIgMTAybC0xNzYgMTgwdjQyNXEwIDQ2IC0zMiA3OXQtNzggMzNoLTQ4NHEtNDYgMCAtNzggLTMzdC0zMiAtNzl2LTQ5MnEwIC00NiAzMi41IC03OS41dDc3LjUgLTMzLjVoNzcweiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNDk2IiB1bmljb2RlPSImI3hmMjExOyIgCmQ9Ik05MzQgMTM4NnEtMzE3IC0xMjEgLTU1NiAtMzYyLjV0LTM1OCAtNTYwLjVxLTIwIDg5IC0yMCAxNzZxMCAyMDggMTAyLjUgMzg0LjV0Mjc4LjUgMjc5dDM4NCAxMDIuNXE4MiAwIDE2OSAtMTl6TTEyMDMgMTI2N3E5MyAtNjUgMTY0IC0xNTVxLTM4OSAtMTEzIC02NzQuNSAtNDAwLjV0LTM5Ni41IC02NzYuNXEtOTMgNzIgLTE1NSAxNjJxMTEyIDM4NiAzOTUgNjcxdDY2NyAzOTl6TTQ3MCAtNjdxMTE1IDM1NiAzNzkuNSA2MjJ0NjE5LjUgMzg0CnE0MCAtOTIgNTQgLTE5NXEtMjkyIC0xMjAgLTUxNiAtMzQ1dC0zNDMgLTUxOHEtMTAzIDE0IC0xOTQgNTJ6TTE1MzYgLTEyNXEtMTkzIDUwIC0zNjcgMTE1cS0xMzUgLTg0IC0yOTAgLTEwN3ExMDkgMjA1IDI3NCAzNzAuNXQzNjkgMjc1LjVxLTIxIC0xNTIgLTEwMSAtMjg0cTY1IC0xNzUgMTE1IC0zNzB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImYyMTIiIHVuaWNvZGU9IiYjeGYyMTI7IiBob3Jpei1hZHYteD0iMjA0OCIgCmQ9Ik0xODkzIDExNDRsMTU1IC0xMjcycS0xMzEgMCAtMjU3IDU3cS0yMDAgOTEgLTM5MyA5MXEtMjI2IDAgLTM3NCAtMTQ4cS0xNDggMTQ4IC0zNzQgMTQ4cS0xOTMgMCAtMzkzIC05MXEtMTI4IC01NyAtMjUyIC01N2gtNWwxNTUgMTI3MnEyMjQgMTI3IDQ4MiAxMjdxMjMzIDAgMzg3IC0xMDZxMTU0IDEwNiAzODcgMTA2cTI1OCAwIDQ4MiAtMTI3ek0xMzk4IDE1N3ExMjkgMCAyMzIgLTI4LjV0MjYwIC05My41bC0xMjQgMTAyMQpxLTE3MSA3OCAtMzY4IDc4cS0yMjQgMCAtMzc0IC0xNDFxLTE1MCAxNDEgLTM3NCAxNDFxLTE5NyAwIC0zNjggLTc4bC0xMjQgLTEwMjFxMTA1IDQzIDE2NS41IDY1dDE0OC41IDM5LjV0MTc4IDE3LjVxMjAyIDAgMzc0IC0xMDhxMTcyIDEwOCAzNzQgMTA4ek0xNDM4IDE5MWwtNTUgOTA3cS0yMTEgLTQgLTM1OSAtMTU1cS0xNTIgMTU1IC0zNzQgMTU1cS0xNzYgMCAtMzM2IC02NmwtMTE0IC05NDFxMTI0IDUxIDIyOC41IDc2dDIyMS41IDI1CnEyMDkgMCAzNzQgLTEwMnExNzIgMTA3IDM3NCAxMDJ6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80OTgiIHVuaWNvZGU9IiYjeGYyMTM7IiBob3Jpei1hZHYteD0iMjA0OCIgCmQ9Ik0xNTAwIDE2NXY3MzNxMCAyMSAtMTUgMzZ0LTM1IDE1aC05M3EtMjAgMCAtMzUgLTE1dC0xNSAtMzZ2LTczM3EwIC0yMCAxNSAtMzV0MzUgLTE1aDkzcTIwIDAgMzUgMTV0MTUgMzV6TTEyMTYgMTY1djUzMXEwIDIwIC0xNSAzNXQtMzUgMTVoLTEwMXEtMjAgMCAtMzUgLTE1dC0xNSAtMzV2LTUzMXEwIC0yMCAxNSAtMzV0MzUgLTE1aDEwMXEyMCAwIDM1IDE1dDE1IDM1ek05MjQgMTY1djQyOXEwIDIwIC0xNSAzNXQtMzUgMTVoLTEwMQpxLTIwIDAgLTM1IC0xNXQtMTUgLTM1di00MjlxMCAtMjAgMTUgLTM1dDM1IC0xNWgxMDFxMjAgMCAzNSAxNXQxNSAzNXpNNjMyIDE2NXYzNjJxMCAyMCAtMTUgMzV0LTM1IDE1aC0xMDFxLTIwIDAgLTM1IC0xNXQtMTUgLTM1di0zNjJxMCAtMjAgMTUgLTM1dDM1IC0xNWgxMDFxMjAgMCAzNSAxNXQxNSAzNXpNMjA0OCAzMTFxMCAtMTY2IC0xMTggLTI4NHQtMjg0IC0xMThoLTEyNDRxLTE2NiAwIC0yODQgMTE4dC0xMTggMjg0CnEwIDExNiA2MyAyMTQuNXQxNjggMTQ4LjVxLTEwIDM0IC0xMCA3M3EwIDExMyA4MC41IDE5My41dDE5My41IDgwLjVxMTAyIDAgMTgwIC02N3E0NSAxODMgMTk0IDMwMHQzMzggMTE3cTE0OSAwIDI3NSAtNzMuNXQxOTkuNSAtMTk5LjV0NzMuNSAtMjc1cTAgLTY2IC0xNCAtMTIycTEzNSAtMzMgMjIxIC0xNDIuNXQ4NiAtMjQ3LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il80OTkiIHVuaWNvZGU9IiYjeGYyMTQ7IiAKZD0iTTAgMTUzNmgxNTM2di0xMzkybC03NzYgLTMzOGwtNzYwIDMzOHYxMzkyek0xNDM2IDIwOXY5MjZoLTEzMzZ2LTkyNmw2NjEgLTI5NHpNMTQzNiAxMjM1djIwMWgtMTMzNnYtMjAxaDEzMzZ6TTE4MSA5Mzd2LTExNWgtMzd2MTE1aDM3ek0xODEgNzg5di0xMTVoLTM3djExNWgzN3pNMTgxIDY0MXYtMTE1aC0zN3YxMTVoMzd6TTE4MSA0OTN2LTExNWgtMzd2MTE1aDM3ek0xODEgMzQ1di0xMTVoLTM3djExNWgzN3pNMjA3IDIwMmwxNSAzNApsMTA1IC00N2wtMTUgLTMzek0zNDMgMTQybDE1IDM0bDEwNSAtNDZsLTE1IC0zNHpNNDc4IDgybDE1IDM0bDEwNSAtNDZsLTE1IC0zNHpNNjE0IDIzbDE1IDMzbDEwNCAtNDZsLTE1IC0zNHpNNzk3IDEwbDEwNSA0NmwxNSAtMzNsLTEwNSAtNDd6TTkzMiA3MGwxMDUgNDZsMTUgLTM0bC0xMDUgLTQ2ek0xMDY4IDEzMGwxMDUgNDZsMTUgLTM0bC0xMDUgLTQ2ek0xMjAzIDE4OWwxMDUgNDdsMTUgLTM0bC0xMDUgLTQ2ek0yNTkgMTM4OXYtMzZoLTExNAp2MzZoMTE0ek00MjEgMTM4OXYtMzZoLTExNXYzNmgxMTV6TTU4MyAxMzg5di0zNmgtMTE1djM2aDExNXpNNzQ0IDEzODl2LTM2aC0xMTR2MzZoMTE0ek05MDYgMTM4OXYtMzZoLTExNHYzNmgxMTR6TTEwNjggMTM4OXYtMzZoLTExNXYzNmgxMTV6TTEyMzAgMTM4OXYtMzZoLTExNXYzNmgxMTV6TTEzOTEgMTM4OXYtMzZoLTExNHYzNmgxMTR6TTE4MSAxMDQ5di03OWgtMzd2MTE1aDExNXYtMzZoLTc4ek00MjEgMTA4NXYtMzZoLTExNXYzNmgxMTV6Ck01ODMgMTA4NXYtMzZoLTExNXYzNmgxMTV6TTc0NCAxMDg1di0zNmgtMTE0djM2aDExNHpNOTA2IDEwODV2LTM2aC0xMTR2MzZoMTE0ek0xMDY4IDEwODV2LTM2aC0xMTV2MzZoMTE1ek0xMjMwIDEwODV2LTM2aC0xMTV2MzZoMTE1ek0xMzU1IDk3MHY3OWgtNzh2MzZoMTE1di0xMTVoLTM3ek0xMzU1IDgyMnYxMTVoMzd2LTExNWgtMzd6TTEzNTUgNjc0djExNWgzN3YtMTE1aC0zN3pNMTM1NSA1MjZ2MTE1aDM3di0xMTVoLTM3ek0xMzU1IDM3OAp2MTE1aDM3di0xMTVoLTM3ek0xMzU1IDIzMHYxMTVoMzd2LTExNWgtMzd6TTc2MCAyNjVxLTEyOSAwIC0yMjEgOTEuNXQtOTIgMjIxLjVxMCAxMjkgOTIgMjIxdDIyMSA5MnExMzAgMCAyMjEuNSAtOTJ0OTEuNSAtMjIxcTAgLTEzMCAtOTEuNSAtMjIxLjV0LTIyMS41IC05MS41ek01OTUgNjQ2cTAgLTM2IDE5LjUgLTU2LjV0NDkuNSAtMjV0NjQgLTd0NjQgLTJ0NDkuNSAtOXQxOS41IC0zMC41cTAgLTQ5IC0xMTIgLTQ5cS05NyAwIC0xMjMgNTEKaC0zbC0zMSAtNjNxNjcgLTQyIDE2MiAtNDJxMjkgMCA1Ni41IDV0NTUuNSAxNnQ0NS41IDMzdDE3LjUgNTNxMCA0NiAtMjcuNSA2OS41dC02Ny41IDI3dC03OS41IDN0LTY3IDV0LTI3LjUgMjUuNXEwIDIxIDIwLjUgMzN0NDAuNSAxNXQ0MSAzcTM0IDAgNzAuNSAtMTF0NTEuNSAtMzRoM2wzMCA1OHEtMyAxIC0yMSA4LjV0LTIyLjUgOXQtMTkuNSA3dC0yMiA3dC0yMCA0LjV0LTI0IDR0LTIzIDFxLTI5IDAgLTU2LjUgLTV0LTU0IC0xNi41CnQtNDMgLTM0dC0xNi41IC01My41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTAwIiB1bmljb2RlPSImI3hmMjE1OyIgaG9yaXotYWR2LXg9IjIwNDgiIApkPSJNODYzIDUwNHEwIDExMiAtNzkuNSAxOTEuNXQtMTkxLjUgNzkuNXQtMTkxIC03OS41dC03OSAtMTkxLjV0NzkgLTE5MXQxOTEgLTc5dDE5MS41IDc5dDc5LjUgMTkxek0xNzI2IDUwNXEwIDExMiAtNzkgMTkxdC0xOTEgNzl0LTE5MS41IC03OXQtNzkuNSAtMTkxcTAgLTExMyA3OS41IC0xOTJ0MTkxLjUgLTc5dDE5MSA3OS41dDc5IDE5MS41ek0yMDQ4IDEzMTR2LTEzNDhxMCAtNDQgLTMxLjUgLTc1LjV0LTc2LjUgLTMxLjVoLTE4MzIKcS00NSAwIC03Ni41IDMxLjV0LTMxLjUgNzUuNXYxMzQ4cTAgNDQgMzEuNSA3NS41dDc2LjUgMzEuNWg0MzFxNDQgMCA3NiAtMzEuNXQzMiAtNzUuNXYtMTYxaDc1NHYxNjFxMCA0NCAzMiA3NS41dDc2IDMxLjVoNDMxcTQ1IDAgNzYuNSAtMzEuNXQzMS41IC03NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTAxIiB1bmljb2RlPSImI3hmMjE2OyIgaG9yaXotYWR2LXg9IjIwNDgiIApkPSJNMTQzMCA5NTN6TTE2OTAgNzQ5cTE0OCAwIDI1MyAtOTguNXQxMDUgLTI0NC41cTAgLTE1NyAtMTA5IC0yNjEuNXQtMjY3IC0xMDQuNXEtODUgMCAtMTYyIDI3LjV0LTEzOCA3My41dC0xMTggMTA2dC0xMDkgMTI2dC0xMDMuNSAxMzIuNXQtMTA4LjUgMTI2LjV0LTExNyAxMDZ0LTEzNiA3My41dC0xNTkgMjcuNXEtMTU0IDAgLTI1MS41IC05MS41dC05Ny41IC0yNDQuNXEwIC0xNTcgMTA0IC0yNTB0MjYzIC05M3ExMDAgMCAyMDggMzcuNQp0MTkzIDk4LjVxNSA0IDIxIDE4LjV0MzAgMjR0MjIgOS41cTE0IDAgMjQuNSAtMTAuNXQxMC41IC0yNC41cTAgLTI0IC02MCAtNzdxLTEwMSAtODggLTIzNC41IC0xNDJ0LTI2MC41IC01NHEtMTMzIDAgLTI0NS41IDU4dC0xODAgMTY1dC02Ny41IDI0MXEwIDIwNSAxNDEuNSAzNDF0MzQ3LjUgMTM2cTEyMCAwIDIyNi41IC00My41dDE4NS41IC0xMTN0MTUxLjUgLTE1M3QxMzkgLTE2Ny41dDEzMy41IC0xNTMuNXQxNDkuNSAtMTEzCnQxNzIuNSAtNDMuNXExMDIgMCAxNjguNSA2MS41dDY2LjUgMTYyLjVxMCA5NSAtNjQuNSAxNTl0LTE1OS41IDY0cS0zMCAwIC04MS41IC0xOC41dC02OC41IC0xOC41cS0yMCAwIC0zNS41IDE1dC0xNS41IDM1cTAgMTggOC41IDU3dDguNSA1OXEwIDE1OSAtMTA3LjUgMjYzdC0yNjYuNSAxMDRxLTU4IDAgLTExMS41IC0xOC41dC04NCAtNDAuNXQtNTUuNSAtNDAuNXQtMzMgLTE4LjVxLTE1IDAgLTI1LjUgMTAuNXQtMTAuNSAyNS41CnEwIDE5IDI1IDQ2cTU5IDY3IDE0NyAxMDMuNXQxODIgMzYuNXExOTEgMCAzMTggLTEyNS41dDEyNyAtMzE1LjVxMCAtMzcgLTQgLTY2cTU3IDE1IDExNSAxNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzUwMiIgdW5pY29kZT0iJiN4ZjIxNzsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTEyMTYgODMycTAgMjYgLTE5IDQ1dC00NSAxOWgtMTI4djEyOHEwIDI2IC0xOSA0NXQtNDUgMTl0LTQ1IC0xOXQtMTkgLTQ1di0xMjhoLTEyOHEtMjYgMCAtNDUgLTE5dC0xOSAtNDV0MTkgLTQ1dDQ1IC0xOWgxMjh2LTEyOHEwIC0yNiAxOSAtNDV0NDUgLTE5dDQ1IDE5dDE5IDQ1djEyOGgxMjhxMjYgMCA0NSAxOXQxOSA0NXpNNjQwIDBxMCAtNTMgLTM3LjUgLTkwLjV0LTkwLjUgLTM3LjV0LTkwLjUgMzcuNXQtMzcuNSA5MC41CnQzNy41IDkwLjV0OTAuNSAzNy41dDkwLjUgLTM3LjV0MzcuNSAtOTAuNXpNMTUzNiAwcTAgLTUzIC0zNy41IC05MC41dC05MC41IC0zNy41dC05MC41IDM3LjV0LTM3LjUgOTAuNXQzNy41IDkwLjV0OTAuNSAzNy41dDkwLjUgLTM3LjV0MzcuNSAtOTAuNXpNMTY2NCAxMDg4di01MTJxMCAtMjQgLTE2IC00Mi41dC00MSAtMjEuNWwtMTA0NCAtMTIycTEgLTcgNC41IC0yMS41dDYgLTI2LjV0Mi41IC0yMnEwIC0xNiAtMjQgLTY0aDkyMApxMjYgMCA0NSAtMTl0MTkgLTQ1dC0xOSAtNDV0LTQ1IC0xOWgtMTAyNHEtMjYgMCAtNDUgMTl0LTE5IDQ1cTAgMTQgMTEgMzkuNXQyOS41IDU5LjV0MjAuNSAzOGwtMTc3IDgyM2gtMjA0cS0yNiAwIC00NSAxOXQtMTkgNDV0MTkgNDV0NDUgMTloMjU2cTE2IDAgMjguNSAtNi41dDIwIC0xNS41dDEzIC0yNC41dDcuNSAtMjYuNXQ1LjUgLTI5LjV0NC41IC0yNS41aDEyMDFxMjYgMCA0NSAtMTl0MTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTAzIiB1bmljb2RlPSImI3hmMjE4OyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNMTI4MCA4MzJxMCAyNiAtMTkgNDV0LTQ1IDE5dC00NSAtMTlsLTE0NyAtMTQ2djI5M3EwIDI2IC0xOSA0NXQtNDUgMTl0LTQ1IC0xOXQtMTkgLTQ1di0yOTNsLTE0NyAxNDZxLTE5IDE5IC00NSAxOXQtNDUgLTE5dC0xOSAtNDV0MTkgLTQ1bDI1NiAtMjU2cTE5IC0xOSA0NSAtMTl0NDUgMTlsMjU2IDI1NnExOSAxOSAxOSA0NXpNNjQwIDBxMCAtNTMgLTM3LjUgLTkwLjV0LTkwLjUgLTM3LjV0LTkwLjUgMzcuNXQtMzcuNSA5MC41CnQzNy41IDkwLjV0OTAuNSAzNy41dDkwLjUgLTM3LjV0MzcuNSAtOTAuNXpNMTUzNiAwcTAgLTUzIC0zNy41IC05MC41dC05MC41IC0zNy41dC05MC41IDM3LjV0LTM3LjUgOTAuNXQzNy41IDkwLjV0OTAuNSAzNy41dDkwLjUgLTM3LjV0MzcuNSAtOTAuNXpNMTY2NCAxMDg4di01MTJxMCAtMjQgLTE2IC00Mi41dC00MSAtMjEuNWwtMTA0NCAtMTIycTEgLTcgNC41IC0yMS41dDYgLTI2LjV0Mi41IC0yMnEwIC0xNiAtMjQgLTY0aDkyMApxMjYgMCA0NSAtMTl0MTkgLTQ1dC0xOSAtNDV0LTQ1IC0xOWgtMTAyNHEtMjYgMCAtNDUgMTl0LTE5IDQ1cTAgMTQgMTEgMzkuNXQyOS41IDU5LjV0MjAuNSAzOGwtMTc3IDgyM2gtMjA0cS0yNiAwIC00NSAxOXQtMTkgNDV0MTkgNDV0NDUgMTloMjU2cTE2IDAgMjguNSAtNi41dDIwIC0xNS41dDEzIC0yNC41dDcuNSAtMjYuNXQ1LjUgLTI5LjV0NC41IC0yNS41aDEyMDFxMjYgMCA0NSAtMTl0MTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTA0IiB1bmljb2RlPSImI3hmMjE5OyIgaG9yaXotYWR2LXg9IjIwNDgiIApkPSJNMjEyIDc2OGw2MjMgLTY2NWwtMzAwIDY2NWgtMzIzek0xMDI0IC00bDM0OSA3NzJoLTY5OHpNNTM4IDg5NmwyMDQgMzg0aC0yNjJsLTI4OCAtMzg0aDM0NnpNMTIxMyAxMDNsNjIzIDY2NWgtMzIzek02ODMgODk2aDY4MmwtMjA0IDM4NGgtMjc0ek0xNTEwIDg5NmgzNDZsLTI4OCAzODRoLTI2MnpNMTY1MSAxMzgybDM4NCAtNTEycTE0IC0xOCAxMyAtNDEuNXQtMTcgLTQwLjVsLTk2MCAtMTAyNHEtMTggLTIwIC00NyAtMjB0LTQ3IDIwCmwtOTYwIDEwMjRxLTE2IDE3IC0xNyA0MC41dDEzIDQxLjVsMzg0IDUxMnExOCAyNiA1MSAyNmgxMTUycTMzIDAgNTEgLTI2eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTA1IiB1bmljb2RlPSImI3hmMjFhOyIgaG9yaXotYWR2LXg9IjIwNDgiIApkPSJNMTgxMSAtMTlxMTkgMTkgNDUgMTl0NDUgLTE5bDEyOCAtMTI4bC05MCAtOTBsLTgzIDgzbC04MyAtODNxLTE4IC0xOSAtNDUgLTE5dC00NSAxOWwtODMgODNsLTgzIC04M3EtMTkgLTE5IC00NSAtMTl0LTQ1IDE5bC04MyA4M2wtODMgLTgzcS0xOSAtMTkgLTQ1IC0xOXQtNDUgMTlsLTgzIDgzbC04MyAtODNxLTE5IC0xOSAtNDUgLTE5dC00NSAxOWwtODMgODNsLTgzIC04M3EtMTkgLTE5IC00NSAtMTl0LTQ1IDE5bC04MyA4M2wtODMgLTgzCnEtMTkgLTE5IC00NSAtMTl0LTQ1IDE5bC04MyA4M2wtODMgLTgzcS0xOSAtMTkgLTQ1IC0xOXQtNDUgMTlsLTEyOCAxMjhsOTAgOTBsODMgLTgzbDgzIDgzcTE5IDE5IDQ1IDE5dDQ1IC0xOWw4MyAtODNsODMgODNxMTkgMTkgNDUgMTl0NDUgLTE5bDgzIC04M2w4MyA4M3ExOSAxOSA0NSAxOXQ0NSAtMTlsODMgLTgzbDgzIDgzcTE5IDE5IDQ1IDE5dDQ1IC0xOWw4MyAtODNsODMgODNxMTkgMTkgNDUgMTl0NDUgLTE5bDgzIC04M2w4MyA4MwpxMTkgMTkgNDUgMTl0NDUgLTE5bDgzIC04M3pNMjM3IDE5cS0xOSAtMTkgLTQ1IC0xOXQtNDUgMTlsLTEyOCAxMjhsOTAgOTBsODMgLTgybDgzIDgycTE5IDE5IDQ1IDE5dDQ1IC0xOWw4MyAtODJsNjQgNjR2MjkzbC0yMTAgMzE0cS0xNyAyNiAtNyA1Ni41dDQwIDQwLjVsMTc3IDU4djI5OWgxMjh2MTI4aDI1NnYxMjhoMjU2di0xMjhoMjU2di0xMjhoMTI4di0yOTlsMTc3IC01OHEzMCAtMTAgNDAgLTQwLjV0LTcgLTU2LjVsLTIxMCAtMzE0CnYtMjkzbDE5IDE4cTE5IDE5IDQ1IDE5dDQ1IC0xOWw4MyAtODJsODMgODJxMTkgMTkgNDUgMTl0NDUgLTE5bDEyOCAtMTI4bC05MCAtOTBsLTgzIDgzbC04MyAtODNxLTE4IC0xOSAtNDUgLTE5dC00NSAxOWwtODMgODNsLTgzIC04M3EtMTkgLTE5IC00NSAtMTl0LTQ1IDE5bC04MyA4M2wtODMgLTgzcS0xOSAtMTkgLTQ1IC0xOXQtNDUgMTlsLTgzIDgzbC04MyAtODNxLTE5IC0xOSAtNDUgLTE5dC00NSAxOWwtODMgODNsLTgzIC04MwpxLTE5IC0xOSAtNDUgLTE5dC00NSAxOWwtODMgODNsLTgzIC04M3EtMTkgLTE5IC00NSAtMTl0LTQ1IDE5bC04MyA4M3pNNjQwIDExNTJ2LTEyOGwzODQgMTI4bDM4NCAtMTI4djEyOGgtMTI4djEyOGgtNTEydi0xMjhoLTEyOHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzUwNiIgdW5pY29kZT0iJiN4ZjIxYjsiIApkPSJNNTc2IDBsOTYgNDQ4bC05NiAxMjhsLTEyOCA2NHpNODMyIDBsMTI4IDY0MGwtMTI4IC02NGwtOTYgLTEyOHpNOTkyIDEwMTBxLTIgNCAtNCA2cS0xMCA4IC05NiA4cS03MCAwIC0xNjcgLTE5cS03IC0yIC0yMSAtMnQtMjEgMnEtOTcgMTkgLTE2NyAxOXEtODYgMCAtOTYgLThxLTIgLTIgLTQgLTZxMiAtMTggNCAtMjdxMiAtMyA3LjUgLTYuNXQ3LjUgLTEwLjVxMiAtNCA3LjUgLTIwLjV0NyAtMjAuNXQ3LjUgLTE3dDguNSAtMTd0OSAtMTQKdDEyIC0xMy41dDE0IC05LjV0MTcuNSAtOHQyMC41IC00dDI0LjUgLTJxMzYgMCA1OSAxMi41dDMyLjUgMzB0MTQuNSAzNC41dDExLjUgMjkuNXQxNy41IDEyLjVoMTJxMTEgMCAxNy41IC0xMi41dDExLjUgLTI5LjV0MTQuNSAtMzQuNXQzMi41IC0zMHQ1OSAtMTIuNXExMyAwIDI0LjUgMnQyMC41IDR0MTcuNSA4dDE0IDkuNXQxMiAxMy41dDkgMTR0OC41IDE3dDcuNSAxN3Q3IDIwLjV0Ny41IDIwLjVxMiA3IDcuNSAxMC41dDcuNSA2LjUKcTIgOSA0IDI3ek0xNDA4IDEzMXEwIC0xMjEgLTczIC0xOTB0LTE5NCAtNjloLTg3NHEtMTIxIDAgLTE5NCA2OXQtNzMgMTkwcTAgNjEgNC41IDExOHQxOSAxMjUuNXQzNy41IDEyMy41dDYzLjUgMTAzLjV0OTMuNSA3NC41bC05MCAyMjBoMjE0cS0yMiA2NCAtMjIgMTI4cTAgMTIgMiAzMnEtMTk0IDQwIC0xOTQgOTZxMCA1NyAyMTAgOTlxMTcgNjIgNTEuNSAxMzR0NzAuNSAxMTRxMzIgMzcgNzYgMzdxMzAgMCA4NCAtMzF0ODQgLTMxdDg0IDMxCnQ4NCAzMXE0NCAwIDc2IC0zN3EzNiAtNDIgNzAuNSAtMTE0dDUxLjUgLTEzNHEyMTAgLTQyIDIxMCAtOTlxMCAtNTYgLTE5NCAtOTZxNyAtODEgLTIwIC0xNjBoMjE0bC04MiAtMjI1cTYzIC0zMyAxMDcuNSAtOTYuNXQ2NS41IC0xNDMuNXQyOSAtMTUxLjV0OCAtMTQ4LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81MDciIHVuaWNvZGU9IiYjeGYyMWM7IiBob3Jpei1hZHYteD0iMjMwNCIgCmQ9Ik0yMzAxIDUwMHExMiAtMTAzIC0yMiAtMTk4LjV0LTk5IC0xNjMuNXQtMTU4LjUgLTEwNnQtMTk2LjUgLTMxcS0xNjEgMTEgLTI3OS41IDEyNXQtMTM0LjUgMjc0cS0xMiAxMTEgMjcuNSAyMTAuNXQxMTguNSAxNzAuNWwtNzEgMTA3cS05NiAtODAgLTE1MSAtMTk0dC01NSAtMjQ0cTAgLTI3IC0xOC41IC00Ni41dC00NS41IC0xOS41aC0yNTZoLTY5cS0yMyAtMTY0IC0xNDkgLTI3NHQtMjk0IC0xMTBxLTE4NSAwIC0zMTYuNSAxMzEuNQp0LTEzMS41IDMxNi41dDEzMS41IDMxNi41dDMxNi41IDEzMS41cTc2IDAgMTUyIC0yN2wyNCA0NXEtMTIzIDExMCAtMzA0IDExMGgtNjRxLTI2IDAgLTQ1IDE5dC0xOSA0NXQxOSA0NXQ0NSAxOWgxMjhxNzggMCAxNDUgLTEzLjV0MTE2LjUgLTM4LjV0NzEuNSAtMzkuNXQ1MSAtMzYuNWg1MTJoMTE1bC04NSAxMjhoLTIyMnEtMzAgMCAtNDkgMjIuNXQtMTQgNTIuNXE0IDIzIDIzIDM4dDQzIDE1aDI1M3EzMyAwIDUzIC0yOGw3MCAtMTA1CmwxMTQgMTE0cTE5IDE5IDQ2IDE5aDEwMXEyNiAwIDQ1IC0xOXQxOSAtNDV2LTEyOHEwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTE3OWwxMTUgLTE3MnExMzEgNjMgMjc1IDM2cTE0MyAtMjYgMjQ0IC0xMzQuNXQxMTggLTI1My41ek00NDggMTI4cTExNSAwIDIwMyA3Mi41dDExMSAxODMuNWgtMzE0cS0zNSAwIC01NSAzMXEtMTggMzIgLTEgNjNsMTQ3IDI3N3EtNDcgMTMgLTkxIDEzcS0xMzIgMCAtMjI2IC05NHQtOTQgLTIyNnQ5NCAtMjI2CnQyMjYgLTk0ek0xODU2IDEyOHExMzIgMCAyMjYgOTR0OTQgMjI2dC05NCAyMjZ0LTIyNiA5NHEtNjAgMCAtMTIxIC0yNGwxNzQgLTI2MHExNSAtMjMgMTAgLTQ5dC0yNyAtNDBxLTE1IC0xMSAtMzYgLTExcS0zNSAwIC01MyAyOWwtMTc0IDI2MHEtOTMgLTk1IC05MyAtMjI1cTAgLTEzMiA5NCAtMjI2dDIyNiAtOTR6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81MDgiIHVuaWNvZGU9IiYjeGYyMWQ7IiAKZD0iTTE0MDggMHEwIC02MyAtNjEuNSAtMTEzLjV0LTE2NCAtODF0LTIyNSAtNDZ0LTI1My41IC0xNS41dC0yNTMuNSAxNS41dC0yMjUgNDZ0LTE2NCA4MXQtNjEuNSAxMTMuNXEwIDQ5IDMzIDg4LjV0OTEgNjYuNXQxMTggNDQuNXQxMzEgMjkuNXEyNiA1IDQ4IC0xMC41dDI2IC00MS41cTUgLTI2IC0xMC41IC00OHQtNDEuNSAtMjZxLTU4IC0xMCAtMTA2IC0yMy41dC03Ni41IC0yNS41dC00OC41IC0yMy41dC0yNy41IC0xOS41dC04LjUgLTEyCnEzIC0xMSAyNyAtMjYuNXQ3MyAtMzN0MTE0IC0zMi41dDE2MC41IC0yNXQyMDEuNSAtMTB0MjAxLjUgMTB0MTYwLjUgMjV0MTE0IDMzdDczIDMzLjV0MjcgMjcuNXEtMSA0IC04LjUgMTF0LTI3LjUgMTl0LTQ4LjUgMjMuNXQtNzYuNSAyNXQtMTA2IDIzLjVxLTI2IDQgLTQxLjUgMjZ0LTEwLjUgNDhxNCAyNiAyNiA0MS41dDQ4IDEwLjVxNzEgLTEyIDEzMSAtMjkuNXQxMTggLTQ0LjV0OTEgLTY2LjV0MzMgLTg4LjV6TTEwMjQgODk2di0zODQKcTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtNjR2LTM4NHEwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTI1NnEtMjYgMCAtNDUgMTl0LTE5IDQ1djM4NGgtNjRxLTI2IDAgLTQ1IDE5dC0xOSA0NXYzODRxMCA1MyAzNy41IDkwLjV0OTAuNSAzNy41aDM4NHE1MyAwIDkwLjUgLTM3LjV0MzcuNSAtOTAuNXpNOTI4IDEyODBxMCAtOTMgLTY1LjUgLTE1OC41dC0xNTguNSAtNjUuNXQtMTU4LjUgNjUuNXQtNjUuNSAxNTguNXQ2NS41IDE1OC41dDE1OC41IDY1LjUKdDE1OC41IC02NS41dDY1LjUgLTE1OC41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTA5IiB1bmljb2RlPSImI3hmMjFlOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTI4MCA1MTJoMzA1cS01IC02IC0xMCAtMTAuNXQtOSAtNy41bC0zIC00bC02MjMgLTYwMHEtMTggLTE4IC00NCAtMTh0LTQ0IDE4bC02MjQgNjAycS01IDIgLTIxIDIwaDM2OXEyMiAwIDM5LjUgMTMuNXQyMi41IDM0LjVsNzAgMjgxbDE5MCAtNjY3cTYgLTIwIDIzIC0zM3QzOSAtMTNxMjEgMCAzOCAxM3QyMyAzM2wxNDYgNDg1bDU2IC0xMTJxMTggLTM1IDU3IC0zNXpNMTc5MiA5NDBxMCAtMTQ1IC0xMDMgLTMwMGgtMzY5bC0xMTEgMjIxCnEtOCAxNyAtMjUuNSAyN3QtMzYuNSA4cS00NSAtNSAtNTYgLTQ2bC0xMjkgLTQzMGwtMTk2IDY4NnEtNiAyMCAtMjMuNSAzM3QtMzkuNSAxM3QtMzkgLTEzLjV0LTIyIC0zNC41bC0xMTYgLTQ2NGgtNDIzcS0xMDMgMTU1IC0xMDMgMzAwcTAgMjIwIDEyNyAzNDR0MzUxIDEyNHE2MiAwIDEyNi41IC0yMS41dDEyMCAtNTh0OTUuNSAtNjguNXQ3NiAtNjhxMzYgMzYgNzYgNjh0OTUuNSA2OC41dDEyMCA1OHQxMjYuNSAyMS41cTIyNCAwIDM1MSAtMTI0CnQxMjcgLTM0NHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idmVudXMiIHVuaWNvZGU9IiYjeGYyMjE7IiBob3Jpei1hZHYteD0iMTI4MCIgCmQ9Ik0xMTUyIDk2MHEwIC0yMjEgLTE0Ny41IC0zODQuNXQtMzY0LjUgLTE4Ny41di0yNjBoMjI0cTE0IDAgMjMgLTl0OSAtMjN2LTY0cTAgLTE0IC05IC0yM3QtMjMgLTloLTIyNHYtMjI0cTAgLTE0IC05IC0yM3QtMjMgLTloLTY0cS0xNCAwIC0yMyA5dC05IDIzdjIyNGgtMjI0cS0xNCAwIC0yMyA5dC05IDIzdjY0cTAgMTQgOSAyM3QyMyA5aDIyNHYyNjBxLTE1MCAxNiAtMjcxLjUgMTAzdC0xODYgMjI0dC01Mi41IDI5MgpxMTEgMTM0IDgwLjUgMjQ5dDE4MiAxODh0MjQ1LjUgODhxMTcwIDE5IDMxOSAtNTR0MjM2IC0yMTJ0ODcgLTMwNnpNMTI4IDk2MHEwIC0xODUgMTMxLjUgLTMxNi41dDMxNi41IC0xMzEuNXQzMTYuNSAxMzEuNXQxMzEuNSAzMTYuNXQtMTMxLjUgMzE2LjV0LTMxNi41IDEzMS41dC0zMTYuNSAtMTMxLjV0LTEzMS41IC0zMTYuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzUxMSIgdW5pY29kZT0iJiN4ZjIyMjsiIApkPSJNMTQ3MiAxNDA4cTI2IDAgNDUgLTE5dDE5IC00NXYtNDE2cTAgLTE0IC05IC0yM3QtMjMgLTloLTY0cS0xNCAwIC0yMyA5dC05IDIzdjI2MmwtMzgyIC0zODNxMTI2IC0xNTYgMTI2IC0zNTlxMCAtMTE3IC00NS41IC0yMjMuNXQtMTIzIC0xODR0LTE4NCAtMTIzdC0yMjMuNSAtNDUuNXQtMjIzLjUgNDUuNXQtMTg0IDEyM3QtMTIzIDE4NHQtNDUuNSAyMjMuNXQ0NS41IDIyMy41dDEyMyAxODR0MTg0IDEyM3QyMjMuNSA0NS41CnEyMDMgMCAzNTkgLTEyNmwzODIgMzgyaC0yNjFxLTE0IDAgLTIzIDl0LTkgMjN2NjRxMCAxNCA5IDIzdDIzIDloNDE2ek01NzYgMHExODUgMCAzMTYuNSAxMzEuNXQxMzEuNSAzMTYuNXQtMTMxLjUgMzE2LjV0LTMxNi41IDEzMS41dC0zMTYuNSAtMTMxLjV0LTEzMS41IC0zMTYuNXQxMzEuNSAtMzE2LjV0MzE2LjUgLTEzMS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTEyIiB1bmljb2RlPSImI3hmMjIzOyIgaG9yaXotYWR2LXg9IjEyODAiIApkPSJNODMwIDEyMjBxMTQ1IC03MiAyMzMuNSAtMjEwLjV0ODguNSAtMzA1LjVxMCAtMjIxIC0xNDcuNSAtMzg0LjV0LTM2NC41IC0xODcuNXYtMTMyaDk2cTE0IDAgMjMgLTl0OSAtMjN2LTY0cTAgLTE0IC05IC0yM3QtMjMgLTloLTk2di05NnEwIC0xNCAtOSAtMjN0LTIzIC05aC02NHEtMTQgMCAtMjMgOXQtOSAyM3Y5NmgtOTZxLTE0IDAgLTIzIDl0LTkgMjN2NjRxMCAxNCA5IDIzdDIzIDloOTZ2MTMycS0yMTcgMjQgLTM2NC41IDE4Ny41CnQtMTQ3LjUgMzg0LjVxMCAxNjcgODguNSAzMDUuNXQyMzMuNSAyMTAuNXEtMTY1IDk2IC0yMjggMjczcS02IDE2IDMuNSAyOS41dDI2LjUgMTMuNWg2OXEyMSAwIDI5IC0yMHE0NCAtMTA2IDE0MCAtMTcxdDIxNCAtNjV0MjE0IDY1dDE0MCAxNzFxOCAyMCAzNyAyMGg2MXExNyAwIDI2LjUgLTEzLjV0My41IC0yOS41cS02MyAtMTc3IC0yMjggLTI3M3pNNTc2IDI1NnExODUgMCAzMTYuNSAxMzEuNXQxMzEuNSAzMTYuNXQtMTMxLjUgMzE2LjUKdC0zMTYuNSAxMzEuNXQtMzE2LjUgLTEzMS41dC0xMzEuNSAtMzE2LjV0MTMxLjUgLTMxNi41dDMxNi41IC0xMzEuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzUxMyIgdW5pY29kZT0iJiN4ZjIyNDsiIApkPSJNMTAyNCAxNTA0cTAgMTQgOSAyM3QyMyA5aDI4OHEyNiAwIDQ1IC0xOXQxOSAtNDV2LTI4OHEwIC0xNCAtOSAtMjN0LTIzIC05aC02NHEtMTQgMCAtMjMgOXQtOSAyM3YxMzRsLTI1NCAtMjU1cTEyNiAtMTU4IDEyNiAtMzU5cTAgLTIyMSAtMTQ3LjUgLTM4NC41dC0zNjQuNSAtMTg3LjV2LTEzMmg5NnExNCAwIDIzIC05dDkgLTIzdi02NHEwIC0xNCAtOSAtMjN0LTIzIC05aC05NnYtOTZxMCAtMTQgLTkgLTIzdC0yMyAtOWgtNjQKcS0xNCAwIC0yMyA5dC05IDIzdjk2aC05NnEtMTQgMCAtMjMgOXQtOSAyM3Y2NHEwIDE0IDkgMjN0MjMgOWg5NnYxMzJxLTE0OSAxNiAtMjcwLjUgMTAzdC0xODYuNSAyMjMuNXQtNTMgMjkxLjVxMTYgMjA0IDE2MCAzNTMuNXQzNDcgMTcyLjVxMTE4IDE0IDIyOCAtMTl0MTk4IC0xMDNsMjU1IDI1NGgtMTM0cS0xNCAwIC0yMyA5dC05IDIzdjY0ek01NzYgMjU2cTE4NSAwIDMxNi41IDEzMS41dDEzMS41IDMxNi41dC0xMzEuNSAzMTYuNQp0LTMxNi41IDEzMS41dC0zMTYuNSAtMTMxLjV0LTEzMS41IC0zMTYuNXQxMzEuNSAtMzE2LjV0MzE2LjUgLTEzMS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTE0IiB1bmljb2RlPSImI3hmMjI1OyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTI4MCAxNTA0cTAgMTQgOSAyM3QyMyA5aDI4OHEyNiAwIDQ1IC0xOXQxOSAtNDV2LTI4OHEwIC0xNCAtOSAtMjN0LTIzIC05aC02NHEtMTQgMCAtMjMgOXQtOSAyM3YxMzRsLTI1NCAtMjU1cTEyNiAtMTU4IDEyNiAtMzU5cTAgLTIyMSAtMTQ3LjUgLTM4NC41dC0zNjQuNSAtMTg3LjV2LTEzMmg5NnExNCAwIDIzIC05dDkgLTIzdi02NHEwIC0xNCAtOSAtMjN0LTIzIC05aC05NnYtOTZxMCAtMTQgLTkgLTIzdC0yMyAtOWgtNjQKcS0xNCAwIC0yMyA5dC05IDIzdjk2aC05NnEtMTQgMCAtMjMgOXQtOSAyM3Y2NHEwIDE0IDkgMjN0MjMgOWg5NnYxMzJxLTIxNyAyNCAtMzY0LjUgMTg3LjV0LTE0Ny41IDM4NC41cTAgMjAxIDEyNiAzNTlsLTUyIDUzbC0xMDEgLTExMXEtOSAtMTAgLTIyIC0xMC41dC0yMyA3LjVsLTQ4IDQ0cS0xMCA4IC0xMC41IDIxLjV0OC41IDIzLjVsMTA1IDExNWwtMTExIDExMnYtMTM0cTAgLTE0IC05IC0yM3QtMjMgLTloLTY0cS0xNCAwIC0yMyA5CnQtOSAyM3YyODhxMCAyNiAxOSA0NXQ0NSAxOWgyODhxMTQgMCAyMyAtOXQ5IC0yM3YtNjRxMCAtMTQgLTkgLTIzdC0yMyAtOWgtMTMzbDEwNiAtMTA3bDg2IDk0cTkgMTAgMjIgMTAuNXQyMyAtNy41bDQ4IC00NHExMCAtOCAxMC41IC0yMS41dC04LjUgLTIzLjVsLTkwIC05OWw1NyAtNTZxMTU4IDEyNiAzNTkgMTI2dDM1OSAtMTI2bDI1NSAyNTRoLTEzNHEtMTQgMCAtMjMgOXQtOSAyM3Y2NHpNODMyIDI1NnExODUgMCAzMTYuNSAxMzEuNQp0MTMxLjUgMzE2LjV0LTEzMS41IDMxNi41dC0zMTYuNSAxMzEuNXQtMzE2LjUgLTEzMS41dC0xMzEuNSAtMzE2LjV0MTMxLjUgLTMxNi41dDMxNi41IC0xMzEuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzUxNSIgdW5pY29kZT0iJiN4ZjIyNjsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE3OTAgMTAwN3ExMiAtMTU1IC01Mi41IC0yOTJ0LTE4NiAtMjI0dC0yNzEuNSAtMTAzdi0yNjBoMjI0cTE0IDAgMjMgLTl0OSAtMjN2LTY0cTAgLTE0IC05IC0yM3QtMjMgLTloLTIyNHYtMjI0cTAgLTE0IC05IC0yM3QtMjMgLTloLTY0cS0xNCAwIC0yMyA5dC05IDIzdjIyNGgtNTEydi0yMjRxMCAtMTQgLTkgLTIzdC0yMyAtOWgtNjRxLTE0IDAgLTIzIDl0LTkgMjN2MjI0aC0yMjRxLTE0IDAgLTIzIDl0LTkgMjN2NjRxMCAxNCA5IDIzCnQyMyA5aDIyNHYyNjBxLTE1MCAxNiAtMjcxLjUgMTAzdC0xODYgMjI0dC01Mi41IDI5MnExNyAyMDYgMTY0LjUgMzU2LjV0MzUyLjUgMTY5LjVxMjA2IDIxIDM3NyAtOTRxMTcxIDExNSAzNzcgOTRxMjA1IC0xOSAzNTIuNSAtMTY5LjV0MTY0LjUgLTM1Ni41ek04OTYgNjQ3cTEyOCAxMzEgMTI4IDMxM3QtMTI4IDMxM3EtMTI4IC0xMzEgLTEyOCAtMzEzdDEyOCAtMzEzek01NzYgNTEycTExNSAwIDIxOCA1N3EtMTU0IDE2NSAtMTU0IDM5MQpxMCAyMjQgMTU0IDM5MXEtMTAzIDU3IC0yMTggNTdxLTE4NSAwIC0zMTYuNSAtMTMxLjV0LTEzMS41IC0zMTYuNXQxMzEuNSAtMzE2LjV0MzE2LjUgLTEzMS41ek0xMTUyIDEyOHYyNjBxLTEzNyAxNSAtMjU2IDk0cS0xMTkgLTc5IC0yNTYgLTk0di0yNjBoNTEyek0xMjE2IDUxMnExODUgMCAzMTYuNSAxMzEuNXQxMzEuNSAzMTYuNXQtMTMxLjUgMzE2LjV0LTMxNi41IDEzMS41cS0xMTUgMCAtMjE4IC01N3ExNTQgLTE2NyAxNTQgLTM5MQpxMCAtMjI2IC0xNTQgLTM5MXExMDMgLTU3IDIxOCAtNTd6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81MTYiIHVuaWNvZGU9IiYjeGYyMjc7IiBob3Jpei1hZHYteD0iMTkyMCIgCmQ9Ik0xNTM2IDExMjBxMCAxNCA5IDIzdDIzIDloMjg4cTI2IDAgNDUgLTE5dDE5IC00NXYtMjg4cTAgLTE0IC05IC0yM3QtMjMgLTloLTY0cS0xNCAwIC0yMyA5dC05IDIzdjEzNGwtMjU0IC0yNTVxNzYgLTk1IDEwNy41IC0yMTR0OS41IC0yNDdxLTMxIC0xODIgLTE2NiAtMzEydC0zMTggLTE1NnEtMjEwIC0yOSAtMzg0LjUgODB0LTI0MS41IDMwMHEtMTE3IDYgLTIyMSA1Ny41dC0xNzcuNSAxMzN0LTExMy41IDE5Mi41dC0zMiAyMzAKcTkgMTM1IDc4IDI1MnQxODIgMTkxLjV0MjQ4IDg5LjVxMTE4IDE0IDIyNy41IC0xOXQxOTguNSAtMTAzbDI1NSAyNTRoLTEzNHEtMTQgMCAtMjMgOXQtOSAyM3Y2NHEwIDE0IDkgMjN0MjMgOWgyODhxMjYgMCA0NSAtMTl0MTkgLTQ1di0yODhxMCAtMTQgLTkgLTIzdC0yMyAtOWgtNjRxLTE0IDAgLTIzIDl0LTkgMjN2MTM0bC0yNTQgLTI1NXE1OSAtNzQgOTMgLTE2OXExODIgLTkgMzI4IC0xMjRsMjU1IDI1NGgtMTM0cS0xNCAwIC0yMyA5CnQtOSAyM3Y2NHpNMTAyNCA3MDRxMCAyMCAtNCA1OHEtMTYyIC0yNSAtMjcxIC0xNTB0LTEwOSAtMjkycTAgLTIwIDQgLTU4cTE2MiAyNSAyNzEgMTUwdDEwOSAyOTJ6TTEyOCA3MDRxMCAtMTY4IDExMSAtMjk0dDI3NiAtMTQ5cS0zIDI5IC0zIDU5cTAgMjEwIDEzNSAzNjkuNXQzMzggMTk2LjVxLTUzIDEyMCAtMTYzLjUgMTkzdC0yNDUuNSA3M3EtMTg1IDAgLTMxNi41IC0xMzEuNXQtMTMxLjUgLTMxNi41ek0xMDg4IC0xMjgKcTE4NSAwIDMxNi41IDEzMS41dDEzMS41IDMxNi41cTAgMTY4IC0xMTEgMjk0dC0yNzYgMTQ5cTMgLTI4IDMgLTU5cTAgLTIxMCAtMTM1IC0zNjkuNXQtMzM4IC0xOTYuNXE1MyAtMTIwIDE2My41IC0xOTN0MjQ1LjUgLTczeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTE3IiB1bmljb2RlPSImI3hmMjI4OyIgaG9yaXotYWR2LXg9IjIwNDgiIApkPSJNMTY2NCAxNTA0cTAgMTQgOSAyM3QyMyA5aDI4OHEyNiAwIDQ1IC0xOXQxOSAtNDV2LTI4OHEwIC0xNCAtOSAtMjN0LTIzIC05aC02NHEtMTQgMCAtMjMgOXQtOSAyM3YxMzRsLTI1NCAtMjU1cTc2IC05NSAxMDcuNSAtMjE0dDkuNSAtMjQ3cS0zMiAtMTgwIC0xNjQuNSAtMzEwdC0zMTMuNSAtMTU3cS0yMjMgLTM0IC00MDkgOTBxLTExNyAtNzggLTI1NiAtOTN2LTEzMmg5NnExNCAwIDIzIC05dDkgLTIzdi02NHEwIC0xNCAtOSAtMjMKdC0yMyAtOWgtOTZ2LTk2cTAgLTE0IC05IC0yM3QtMjMgLTloLTY0cS0xNCAwIC0yMyA5dC05IDIzdjk2aC05NnEtMTQgMCAtMjMgOXQtOSAyM3Y2NHEwIDE0IDkgMjN0MjMgOWg5NnYxMzJxLTE1NSAxNyAtMjc5LjUgMTA5LjV0LTE4NyAyMzcuNXQtMzkuNSAzMDdxMjUgMTg3IDE1OS41IDMyMi41dDMyMC41IDE2NC41cTIyNCAzNCA0MTAgLTkwcTE0NiA5NyAzMjAgOTdxMjAxIDAgMzU5IC0xMjZsMjU1IDI1NGgtMTM0cS0xNCAwIC0yMyA5CnQtOSAyM3Y2NHpNODk2IDM5MXExMjggMTMxIDEyOCAzMTN0LTEyOCAzMTNxLTEyOCAtMTMxIC0xMjggLTMxM3QxMjggLTMxM3pNMTI4IDcwNHEwIC0xODUgMTMxLjUgLTMxNi41dDMxNi41IC0xMzEuNXExMTcgMCAyMTggNTdxLTE1NCAxNjcgLTE1NCAzOTF0MTU0IDM5MXEtMTAxIDU3IC0yMTggNTdxLTE4NSAwIC0zMTYuNSAtMTMxLjV0LTEzMS41IC0zMTYuNXpNMTIxNiAyNTZxMTg1IDAgMzE2LjUgMTMxLjV0MTMxLjUgMzE2LjUKdC0xMzEuNSAzMTYuNXQtMzE2LjUgMTMxLjVxLTExNyAwIC0yMTggLTU3cTE1NCAtMTY3IDE1NCAtMzkxdC0xNTQgLTM5MXExMDEgLTU3IDIxOCAtNTd6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81MTgiIHVuaWNvZGU9IiYjeGYyMjk7IiAKZD0iTTE0NzIgMTQwOHEyNiAwIDQ1IC0xOXQxOSAtNDV2LTQxNnEwIC0xNCAtOSAtMjN0LTIzIC05aC02NHEtMTQgMCAtMjMgOXQtOSAyM3YyNjJsLTIxMyAtMjE0bDE0MCAtMTQwcTkgLTEwIDkgLTIzdC05IC0yMmwtNDYgLTQ2cS05IC05IC0yMiAtOXQtMjMgOWwtMTQwIDE0MWwtNzggLTc5cTEyNiAtMTU2IDEyNiAtMzU5cTAgLTExNyAtNDUuNSAtMjIzLjV0LTEyMyAtMTg0dC0xODQgLTEyM3QtMjIzLjUgLTQ1LjV0LTIyMy41IDQ1LjUKdC0xODQgMTIzdC0xMjMgMTg0dC00NS41IDIyMy41dDQ1LjUgMjIzLjV0MTIzIDE4NHQxODQgMTIzdDIyMy41IDQ1LjVxMjAzIDAgMzU5IC0xMjZsNzggNzhsLTE3MiAxNzJxLTkgMTAgLTkgMjN0OSAyMmw0NiA0NnE5IDkgMjIgOXQyMyAtOWwxNzIgLTE3MmwyMTMgMjEzaC0yNjFxLTE0IDAgLTIzIDl0LTkgMjN2NjRxMCAxNCA5IDIzdDIzIDloNDE2ek01NzYgMHExODUgMCAzMTYuNSAxMzEuNXQxMzEuNSAzMTYuNXQtMTMxLjUgMzE2LjUKdC0zMTYuNSAxMzEuNXQtMzE2LjUgLTEzMS41dC0xMzEuNSAtMzE2LjV0MTMxLjUgLTMxNi41dDMxNi41IC0xMzEuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzUxOSIgdW5pY29kZT0iJiN4ZjIyYTsiIGhvcml6LWFkdi14PSIxMjgwIiAKZD0iTTY0MCA4OTJxMjE3IC0yNCAzNjQuNSAtMTg3LjV0MTQ3LjUgLTM4NC41cTAgLTE2NyAtODcgLTMwNnQtMjM2IC0yMTJ0LTMxOSAtNTRxLTEzMyAxNSAtMjQ1LjUgODh0LTE4MiAxODh0LTgwLjUgMjQ5cS0xMiAxNTUgNTIuNSAyOTJ0MTg2IDIyNHQyNzEuNSAxMDN2MTMyaC0xNjBxLTE0IDAgLTIzIDl0LTkgMjN2NjRxMCAxNCA5IDIzdDIzIDloMTYwdjE2NWwtOTIgLTkycS0xMCAtOSAtMjMgLTl0LTIyIDlsLTQ2IDQ2cS05IDkgLTkgMjIKdDkgMjNsMjAyIDIwMXExOSAxOSA0NSAxOXQ0NSAtMTlsMjAyIC0yMDFxOSAtMTAgOSAtMjN0LTkgLTIybC00NiAtNDZxLTkgLTkgLTIyIC05dC0yMyA5bC05MiA5MnYtMTY1aDE2MHExNCAwIDIzIC05dDkgLTIzdi02NHEwIC0xNCAtOSAtMjN0LTIzIC05aC0xNjB2LTEzMnpNNTc2IC0xMjhxMTg1IDAgMzE2LjUgMTMxLjV0MTMxLjUgMzE2LjV0LTEzMS41IDMxNi41dC0zMTYuNSAxMzEuNXQtMzE2LjUgLTEzMS41dC0xMzEuNSAtMzE2LjUKdDEzMS41IC0zMTYuNXQzMTYuNSAtMTMxLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81MjAiIHVuaWNvZGU9IiYjeGYyMmI7IiBob3Jpei1hZHYteD0iMjA0OCIgCmQ9Ik0xOTAxIDYyMXExOSAtMTkgMTkgLTQ1dC0xOSAtNDVsLTI5NCAtMjk0cS05IC0xMCAtMjIuNSAtMTB0LTIyLjUgMTBsLTQ1IDQ1cS0xMCA5IC0xMCAyMi41dDEwIDIyLjVsMTg1IDE4NWgtMjk0di0yMjRxMCAtMTQgLTkgLTIzdC0yMyAtOWgtNjRxLTE0IDAgLTIzIDl0LTkgMjN2MjI0aC0xMzJxLTI0IC0yMTcgLTE4Ny41IC0zNjQuNXQtMzg0LjUgLTE0Ny41cS0xNjcgMCAtMzA2IDg3dC0yMTIgMjM2dC01NCAzMTlxMTUgMTMzIDg4IDI0NS41CnQxODggMTgydDI0OSA4MC41cTE1NSAxMiAyOTIgLTUyLjV0MjI0IC0xODZ0MTAzIC0yNzEuNWgxMzJ2MjI0cTAgMTQgOSAyM3QyMyA5aDY0cTE0IDAgMjMgLTl0OSAtMjN2LTIyNGgyOTRsLTE4NSAxODVxLTEwIDkgLTEwIDIyLjV0MTAgMjIuNWw0NSA0NXE5IDEwIDIyLjUgMTB0MjIuNSAtMTB6TTU3NiAxMjhxMTg1IDAgMzE2LjUgMTMxLjV0MTMxLjUgMzE2LjV0LTEzMS41IDMxNi41dC0zMTYuNSAxMzEuNXQtMzE2LjUgLTEzMS41CnQtMTMxLjUgLTMxNi41dDEzMS41IC0zMTYuNXQzMTYuNSAtMTMxLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81MjEiIHVuaWNvZGU9IiYjeGYyMmM7IiBob3Jpei1hZHYteD0iMTI4MCIgCmQ9Ik0xMTUyIDk2MHEwIC0yMjEgLTE0Ny41IC0zODQuNXQtMzY0LjUgLTE4Ny41di02MTJxMCAtMTQgLTkgLTIzdC0yMyAtOWgtNjRxLTE0IDAgLTIzIDl0LTkgMjN2NjEycS0yMTcgMjQgLTM2NC41IDE4Ny41dC0xNDcuNSAzODQuNXEwIDExNyA0NS41IDIyMy41dDEyMyAxODR0MTg0IDEyM3QyMjMuNSA0NS41dDIyMy41IC00NS41dDE4NCAtMTIzdDEyMyAtMTg0dDQ1LjUgLTIyMy41ek01NzYgNTEycTE4NSAwIDMxNi41IDEzMS41CnQxMzEuNSAzMTYuNXQtMTMxLjUgMzE2LjV0LTMxNi41IDEzMS41dC0zMTYuNSAtMTMxLjV0LTEzMS41IC0zMTYuNXQxMzEuNSAtMzE2LjV0MzE2LjUgLTEzMS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTIyIiB1bmljb2RlPSImI3hmMjJkOyIgaG9yaXotYWR2LXg9IjEyODAiIApkPSJNMTAyNCA1NzZxMCAxODUgLTEzMS41IDMxNi41dC0zMTYuNSAxMzEuNXQtMzE2LjUgLTEzMS41dC0xMzEuNSAtMzE2LjV0MTMxLjUgLTMxNi41dDMxNi41IC0xMzEuNXQzMTYuNSAxMzEuNXQxMzEuNSAzMTYuNXpNMTE1MiA1NzZxMCAtMTE3IC00NS41IC0yMjMuNXQtMTIzIC0xODR0LTE4NCAtMTIzdC0yMjMuNSAtNDUuNXQtMjIzLjUgNDUuNXQtMTg0IDEyM3QtMTIzIDE4NHQtNDUuNSAyMjMuNXQ0NS41IDIyMy41dDEyMyAxODR0MTg0IDEyMwp0MjIzLjUgNDUuNXQyMjMuNSAtNDUuNXQxODQgLTEyM3QxMjMgLTE4NHQ0NS41IC0yMjMuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzUyMyIgdW5pY29kZT0iJiN4ZjIyZTsiIGhvcml6LWFkdi14PSIxNzkyIiAKIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzUyNCIgdW5pY29kZT0iJiN4ZjIyZjsiIGhvcml6LWFkdi14PSIxNzkyIiAKIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzUyNSIgdW5pY29kZT0iJiN4ZjIzMDsiIApkPSJNMTQ1MSAxNDA4cTM1IDAgNjAgLTI1dDI1IC02MHYtMTM2NnEwIC0zNSAtMjUgLTYwdC02MCAtMjVoLTM5MXY1OTVoMTk5bDMwIDIzMmgtMjI5djE0OHEwIDU2IDIzLjUgODR0OTEuNSAyOGwxMjIgMXYyMDdxLTYzIDkgLTE3OCA5cS0xMzYgMCAtMjE3LjUgLTgwdC04MS41IC0yMjZ2LTE3MWgtMjAwdi0yMzJoMjAwdi01OTVoLTczNXEtMzUgMCAtNjAgMjV0LTI1IDYwdjEzNjZxMCAzNSAyNSA2MHQ2MCAyNWgxMzY2eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTI2IiB1bmljb2RlPSImI3hmMjMxOyIgaG9yaXotYWR2LXg9IjEyODAiIApkPSJNMCA5MzlxMCAxMDggMzcuNSAyMDMuNXQxMDMuNSAxNjYuNXQxNTIgMTIzdDE4NSA3OHQyMDIgMjZxMTU4IDAgMjk0IC02Ni41dDIyMSAtMTkzLjV0ODUgLTI4N3EwIC05NiAtMTkgLTE4OHQtNjAgLTE3N3QtMTAwIC0xNDkuNXQtMTQ1IC0xMDN0LTE4OSAtMzguNXEtNjggMCAtMTM1IDMydC05NiA4OHEtMTAgLTM5IC0yOCAtMTEyLjV0LTIzLjUgLTk1dC0yMC41IC03MXQtMjYgLTcxdC0zMiAtNjIuNXQtNDYgLTc3LjV0LTYyIC04Ni41CmwtMTQgLTVsLTkgMTBxLTE1IDE1NyAtMTUgMTg4cTAgOTIgMjEuNSAyMDYuNXQ2Ni41IDI4Ny41dDUyIDIwM3EtMzIgNjUgLTMyIDE2OXEwIDgzIDUyIDE1NnQxMzIgNzNxNjEgMCA5NSAtNDAuNXQzNCAtMTAyLjVxMCAtNjYgLTQ0IC0xOTF0LTQ0IC0xODdxMCAtNjMgNDUgLTEwNC41dDEwOSAtNDEuNXE1NSAwIDEwMiAyNXQ3OC41IDY4dDU2IDk1dDM4IDExMC41dDIwIDExMXQ2LjUgOTkuNXEwIDE3MyAtMTA5LjUgMjY5LjV0LTI4NS41IDk2LjUKcS0yMDAgMCAtMzM0IC0xMjkuNXQtMTM0IC0zMjguNXEwIC00NCAxMi41IC04NXQyNyAtNjV0MjcgLTQ1LjV0MTIuNSAtMzAuNXEwIC0yOCAtMTUgLTczdC0zNyAtNDVxLTIgMCAtMTcgM3EtNTEgMTUgLTkwLjUgNTZ0LTYxIDk0LjV0LTMyLjUgMTA4dC0xMSAxMDYuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzUyNyIgdW5pY29kZT0iJiN4ZjIzMjsiIApkPSJNOTg1IDU2MnExMyAwIDk3LjUgLTQ0dDg5LjUgLTUzcTIgLTUgMiAtMTVxMCAtMzMgLTE3IC03NnEtMTYgLTM5IC03MSAtNjUuNXQtMTAyIC0yNi41cS01NyAwIC0xOTAgNjJxLTk4IDQ1IC0xNzAgMTE4dC0xNDggMTg1cS03MiAxMDcgLTcxIDE5NHY4cTMgOTEgNzQgMTU4cTI0IDIyIDUyIDIycTYgMCAxOCAtMS41dDE5IC0xLjVxMTkgMCAyNi41IC02LjV0MTUuNSAtMjcuNXE4IC0yMCAzMyAtODh0MjUgLTc1cTAgLTIxIC0zNC41IC01Ny41CnQtMzQuNSAtNDYuNXEwIC03IDUgLTE1cTM0IC03MyAxMDIgLTEzN3E1NiAtNTMgMTUxIC0xMDFxMTIgLTcgMjIgLTdxMTUgMCA1NCA0OC41dDUyIDQ4LjV6TTc4MiAzMnExMjcgMCAyNDMuNSA1MHQyMDAuNSAxMzR0MTM0IDIwMC41dDUwIDI0My41dC01MCAyNDMuNXQtMTM0IDIwMC41dC0yMDAuNSAxMzR0LTI0My41IDUwdC0yNDMuNSAtNTB0LTIwMC41IC0xMzR0LTEzNCAtMjAwLjV0LTUwIC0yNDMuNXEwIC0yMDMgMTIwIC0zNjhsLTc5IC0yMzMKbDI0MiA3N3ExNTggLTEwNCAzNDUgLTEwNHpNNzgyIDE0MTRxMTUzIDAgMjkyLjUgLTYwdDI0MC41IC0xNjF0MTYxIC0yNDAuNXQ2MCAtMjkyLjV0LTYwIC0yOTIuNXQtMTYxIC0yNDAuNXQtMjQwLjUgLTE2MXQtMjkyLjUgLTYwcS0xOTUgMCAtMzY1IDk0bC00MTcgLTEzNGwxMzYgNDA1cS0xMDggMTc4IC0xMDggMzg5cTAgMTUzIDYwIDI5Mi41dDE2MSAyNDAuNXQyNDAuNSAxNjF0MjkyLjUgNjB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81MjgiIHVuaWNvZGU9IiYjeGYyMzM7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xMjggMTI4aDEwMjR2MTI4aC0xMDI0di0xMjh6TTEyOCA2NDBoMTAyNHYxMjhoLTEwMjR2LTEyOHpNMTY5NiAxOTJxMCA0MCAtMjggNjh0LTY4IDI4dC02OCAtMjh0LTI4IC02OHQyOCAtNjh0NjggLTI4dDY4IDI4dDI4IDY4ek0xMjggMTE1MmgxMDI0djEyOGgtMTAyNHYtMTI4ek0xNjk2IDcwNHEwIDQwIC0yOCA2OHQtNjggMjh0LTY4IC0yOHQtMjggLTY4dDI4IC02OHQ2OCAtMjh0NjggMjh0MjggNjh6TTE2OTYgMTIxNgpxMCA0MCAtMjggNjh0LTY4IDI4dC02OCAtMjh0LTI4IC02OHQyOCAtNjh0NjggLTI4dDY4IDI4dDI4IDY4ek0xNzkyIDM4NHYtMzg0aC0xNzkydjM4NGgxNzkyek0xNzkyIDg5NnYtMzg0aC0xNzkydjM4NGgxNzkyek0xNzkyIDE0MDh2LTM4NGgtMTc5MnYzODRoMTc5MnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzUyOSIgdW5pY29kZT0iJiN4ZjIzNDsiIGhvcml6LWFkdi14PSIyMDQ4IiAKZD0iTTcwNCA2NDBxLTE1OSAwIC0yNzEuNSAxMTIuNXQtMTEyLjUgMjcxLjV0MTEyLjUgMjcxLjV0MjcxLjUgMTEyLjV0MjcxLjUgLTExMi41dDExMi41IC0yNzEuNXQtMTEyLjUgLTI3MS41dC0yNzEuNSAtMTEyLjV6TTE2NjQgNTEyaDM1MnExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV2LTE5MnEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVoLTM1MnYtMzUycTAgLTEzIC05LjUgLTIyLjV0LTIyLjUgLTkuNWgtMTkycS0xMyAwIC0yMi41IDkuNQp0LTkuNSAyMi41djM1MmgtMzUycS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2MTkycTAgMTMgOS41IDIyLjV0MjIuNSA5LjVoMzUydjM1MnEwIDEzIDkuNSAyMi41dDIyLjUgOS41aDE5MnExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV2LTM1MnpNOTI4IDI4OHEwIC01MiAzOCAtOTB0OTAgLTM4aDI1NnYtMjM4cS02OCAtNTAgLTE3MSAtNTBoLTg3NHEtMTIxIDAgLTE5NCA2OXQtNzMgMTkwcTAgNTMgMy41IDEwMy41dDE0IDEwOXQyNi41IDEwOC41CnQ0MyA5Ny41dDYyIDgxdDg1LjUgNTMuNXQxMTEuNSAyMHExOSAwIDM5IC0xN3E3OSAtNjEgMTU0LjUgLTkxLjV0MTY0LjUgLTMwLjV0MTY0LjUgMzAuNXQxNTQuNSA5MS41cTIwIDE3IDM5IDE3cTEzMiAwIDIxNyAtOTZoLTIyM3EtNTIgMCAtOTAgLTM4dC0zOCAtOTB2LTE5MnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzUzMCIgdW5pY29kZT0iJiN4ZjIzNTsiIGhvcml6LWFkdi14PSIyMDQ4IiAKZD0iTTcwNCA2NDBxLTE1OSAwIC0yNzEuNSAxMTIuNXQtMTEyLjUgMjcxLjV0MTEyLjUgMjcxLjV0MjcxLjUgMTEyLjV0MjcxLjUgLTExMi41dDExMi41IC0yNzEuNXQtMTEyLjUgLTI3MS41dC0yNzEuNSAtMTEyLjV6TTE3ODEgMzIwbDI0OSAtMjQ5cTkgLTkgOSAtMjNxMCAtMTMgLTkgLTIybC0xMzYgLTEzNnEtOSAtOSAtMjIgLTlxLTE0IDAgLTIzIDlsLTI0OSAyNDlsLTI0OSAtMjQ5cS05IC05IC0yMyAtOXEtMTMgMCAtMjIgOWwtMTM2IDEzNgpxLTkgOSAtOSAyMnEwIDE0IDkgMjNsMjQ5IDI0OWwtMjQ5IDI0OXEtOSA5IC05IDIzcTAgMTMgOSAyMmwxMzYgMTM2cTkgOSAyMiA5cTE0IDAgMjMgLTlsMjQ5IC0yNDlsMjQ5IDI0OXE5IDkgMjMgOXExMyAwIDIyIC05bDEzNiAtMTM2cTkgLTkgOSAtMjJxMCAtMTQgLTkgLTIzek0xMjgzIDMyMGwtMTgxIC0xODFxLTM3IC0zNyAtMzcgLTkxcTAgLTUzIDM3IC05MGw4MyAtODNxLTIxIC0zIC00NCAtM2gtODc0cS0xMjEgMCAtMTk0IDY5CnQtNzMgMTkwcTAgNTMgMy41IDEwMy41dDE0IDEwOXQyNi41IDEwOC41dDQzIDk3LjV0NjIgODF0ODUuNSA1My41dDExMS41IDIwcTE5IDAgMzkgLTE3cTE1NCAtMTIyIDMxOSAtMTIydDMxOSAxMjJxMjAgMTcgMzkgMTdxMjggMCA1NyAtNnEtMjggLTI3IC00MSAtNTB0LTEzIC01NnEwIC01NCAzNyAtOTF6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81MzEiIHVuaWNvZGU9IiYjeGYyMzY7IiBob3Jpei1hZHYteD0iMjA0OCIgCmQ9Ik0yNTYgNTEyaDE3MjhxMjYgMCA0NSAtMTl0MTkgLTQ1di00NDhoLTI1NnYyNTZoLTE1MzZ2LTI1NmgtMjU2djEyMTZxMCAyNiAxOSA0NXQ0NSAxOWgxMjhxMjYgMCA0NSAtMTl0MTkgLTQ1di03MDR6TTgzMiA4MzJxMCAxMDYgLTc1IDE4MXQtMTgxIDc1dC0xODEgLTc1dC03NSAtMTgxdDc1IC0xODF0MTgxIC03NXQxODEgNzV0NzUgMTgxek0yMDQ4IDU3NnY2NHEwIDE1OSAtMTEyLjUgMjcxLjV0LTI3MS41IDExMi41aC03MDQKcS0yNiAwIC00NSAtMTl0LTE5IC00NXYtMzg0aDExNTJ6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81MzIiIHVuaWNvZGU9IiYjeGYyMzc7IiAKZD0iTTE1MzYgMTUzNmwtMTkyIC00NDhoMTkydi0xOTJoLTI3NGwtNTUgLTEyOGgzMjl2LTE5MmgtNDExbC0zNTcgLTgzMmwtMzU3IDgzMmgtNDExdjE5MmgzMjlsLTU1IDEyOGgtMjc0djE5MmgxOTJsLTE5MiA0NDhoMjU2bDMyMyAtNzY4aDM3OGwzMjMgNzY4aDI1NnpNNzY4IDMyMGwxMDggMjU2aC0yMTZ6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81MzMiIHVuaWNvZGU9IiYjeGYyMzg7IiAKZD0iTTEwODggMTUzNnExODUgMCAzMTYuNSAtOTMuNXQxMzEuNSAtMjI2LjV2LTg5NnEwIC0xMzAgLTEyNS41IC0yMjJ0LTMwNS41IC05N2wyMTMgLTIwMnExNiAtMTUgOCAtMzV0LTMwIC0yMGgtMTA1NnEtMjIgMCAtMzAgMjB0OCAzNWwyMTMgMjAycS0xODAgNSAtMzA1LjUgOTd0LTEyNS41IDIyMnY4OTZxMCAxMzMgMTMxLjUgMjI2LjV0MzE2LjUgOTMuNWg2NDB6TTc2OCAxOTJxODAgMCAxMzYgNTZ0NTYgMTM2dC01NiAxMzZ0LTEzNiA1Ngp0LTEzNiAtNTZ0LTU2IC0xMzZ0NTYgLTEzNnQxMzYgLTU2ek0xMzQ0IDc2OHY1MTJoLTExNTJ2LTUxMmgxMTUyeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTM0IiB1bmljb2RlPSImI3hmMjM5OyIgCmQ9Ik0xMDg4IDE1MzZxMTg1IDAgMzE2LjUgLTkzLjV0MTMxLjUgLTIyNi41di04OTZxMCAtMTMwIC0xMjUuNSAtMjIydC0zMDUuNSAtOTdsMjEzIC0yMDJxMTYgLTE1IDggLTM1dC0zMCAtMjBoLTEwNTZxLTIyIDAgLTMwIDIwdDggMzVsMjEzIDIwMnEtMTgwIDUgLTMwNS41IDk3dC0xMjUuNSAyMjJ2ODk2cTAgMTMzIDEzMS41IDIyNi41dDMxNi41IDkzLjVoNjQwek0yODggMjI0cTY2IDAgMTEzIDQ3dDQ3IDExM3QtNDcgMTEzdC0xMTMgNDcKdC0xMTMgLTQ3dC00NyAtMTEzdDQ3IC0xMTN0MTEzIC00N3pNNzA0IDc2OHY1MTJoLTU0NHYtNTEyaDU0NHpNMTI0OCAyMjRxNjYgMCAxMTMgNDd0NDcgMTEzdC00NyAxMTN0LTExMyA0N3QtMTEzIC00N3QtNDcgLTExM3Q0NyAtMTEzdDExMyAtNDd6TTE0MDggNzY4djUxMmgtNTc2di01MTJoNTc2eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTM1IiB1bmljb2RlPSImI3hmMjNhOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNNTk3IDExMTV2LTExNzNxMCAtMjUgLTEyLjUgLTQyLjV0LTM2LjUgLTE3LjVxLTE3IDAgLTMzIDhsLTQ2NSAyMzNxLTIxIDEwIC0zNS41IDMzLjV0LTE0LjUgNDYuNXYxMTQwcTAgMjAgMTAgMzR0MjkgMTRxMTQgMCA0NCAtMTVsNTExIC0yNTZxMyAtMyAzIC01ek02NjEgMTAxNGw1MzQgLTg2NmwtNTM0IDI2NnY2MDB6TTE3OTIgOTk2di0xMDU0cTAgLTI1IC0xNCAtNDAuNXQtMzggLTE1LjV0LTQ3IDEzbC00NDEgMjIwek0xNzg5IDExMTYKcTAgLTMgLTI1Ni41IC00MTkuNXQtMzAwLjUgLTQ4Ny41bC0zOTAgNjM0bDMyNCA1MjdxMTcgMjggNTIgMjhxMTQgMCAyNiAtNmw1NDEgLTI3MHE0IC0yIDQgLTZ6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81MzYiIHVuaWNvZGU9IiYjeGYyM2I7IiAKZD0iTTgwOSA1MzJsMjY2IDQ5OWgtMTEybC0xNTcgLTMxMnEtMjQgLTQ4IC00NCAtOTJsLTQyIDkybC0xNTUgMzEyaC0xMjBsMjYzIC00OTN2LTMyNGgxMDF2MzE4ek0xNTM2IDE0MDh2LTE1MzZoLTE1MzZ2MTUzNmgxNTM2eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTM3IiB1bmljb2RlPSImI3hmMjNjOyIgaG9yaXotYWR2LXg9IjIyOTYiIApkPSJNNDc4IC0xMzlxLTggLTE2IC0yNyAtMzQuNXQtMzcgLTI1LjVxLTI1IC05IC01MS41IDMuNXQtMjguNSAzMS41cS0xIDIyIDQwIDU1dDY4IDM4cTIzIDQgMzQgLTIxLjV0MiAtNDYuNXpNMTgxOSAtMTM5cTcgLTE2IDI2IC0zNC41dDM4IC0yNS41cTI1IC05IDUxLjUgMy41dDI3LjUgMzEuNXEyIDIyIC0zOS41IDU1dC02OC41IDM4cS0yMiA0IC0zMyAtMjEuNXQtMiAtNDYuNXpNMTg2NyAtMzBxMTMgLTI3IDU2LjUgLTU5LjV0NzcuNSAtNDEuNQpxNDUgLTEzIDgyIDQuNXQzNyA1MC41cTAgNDYgLTY3LjUgMTAwLjV0LTExNS41IDU5LjVxLTQwIDUgLTYzLjUgLTM3LjV0LTYuNSAtNzYuNXpNNDI4IC0zMHEtMTMgLTI3IC01NiAtNTkuNXQtNzcgLTQxLjVxLTQ1IC0xMyAtODIgNC41dC0zNyA1MC41cTAgNDYgNjcuNSAxMDAuNXQxMTUuNSA1OS41cTQwIDUgNjMgLTM3LjV0NiAtNzYuNXpNMTE1OCAxMDk0aDFxLTQxIDAgLTc2IC0xNXEyNyAtOCA0NCAtMzAuNXQxNyAtNDkuNQpxMCAtMzUgLTI3IC02MHQtNjUgLTI1cS01MiAwIC04MCA0M3EtNSAtMjMgLTUgLTQycTAgLTc0IDU2IC0xMjYuNXQxMzUgLTUyLjVxODAgMCAxMzYgNTIuNXQ1NiAxMjYuNXQtNTYgMTI2LjV0LTEzNiA1Mi41ek0xNDYyIDEzMTJxLTk5IDEwOSAtMjIwLjUgMTMxLjV0LTI0NS41IC00NC41cTI3IDYwIDgyLjUgOTYuNXQxMTggMzkuNXQxMjEuNSAtMTd0OTkuNSAtNzQuNXQ0NC41IC0xMzEuNXpNMjIxMiA3M3E4IC0xMSAtMTEgLTQyCnE3IC0yMyA3IC00MHExIC01NiAtNDQuNSAtMTEyLjV0LTEwOS41IC05MS41dC0xMTggLTM3cS00OCAtMiAtOTIgMjEuNXQtNjYgNjUuNXEtNjg3IC0yNSAtMTI1OSAwcS0yMyAtNDEgLTY2LjUgLTY1dC05Mi41IC0yMnEtODYgMyAtMTc5LjUgODAuNXQtOTIuNSAxNjAuNXEyIDIyIDcgNDBxLTE5IDMxIC0xMSA0MnE2IDEwIDMxIDFxMTQgMjIgNDEgNTFxLTcgMjkgMiAzOHExMSAxMCAzOSAtNHEyOSAyMCA1OSAzNHEwIDI5IDEzIDM3CnEyMyAxMiA1MSAtMTZxMzUgNSA2MSAtMnExOCAtNCAzOCAtMTl2NzNxLTExIDAgLTE4IDJxLTUzIDEwIC05NyA0NC41dC01NSA4Ny41cS05IDM4IDAgODFxMTUgNjIgOTMgOTVxMiAxNyAxOSAzNS41dDM2IDIzLjV0MzMgLTcuNXQxOSAtMzAuNWgxM3E0NiAtNSA2MCAtMjNxMyAtMyA1IC03cTEwIDEgMzAuNSAzLjV0MzAuNSAzLjVxLTE1IDExIC0zMCAxN3EtMjMgNDAgLTkxIDQzcTAgNiAxIDEwcS02MiAyIC0xMTguNSAxOC41dC04NC41IDQ3LjUKcS0zMiAzNiAtNDIuNSA5MnQtMi41IDExMnExNiAxMjYgOTAgMTc5cTIzIDE2IDUyIDQuNXQzMiAtNDAuNXEwIC0xIDEuNSAtMTR0Mi41IC0yMXQzIC0yMHQ1LjUgLTE5dDguNSAtMTBxMjcgLTE0IDc2IC0xMnE0OCA0NiA5OCA3NHEtNDAgNCAtMTYyIC0xNGw0NyA0NnE2MSA1OCAxNjMgMTExcTE0NSA3MyAyODIgODZxLTIwIDggLTQxIDE1LjV0LTQ3IDE0dC00Mi41IDEwLjV0LTQ3LjUgMTF0LTQzIDEwcTU5NSAxMjYgOTA0IC0xMzkKcTk4IC04NCAxNTggLTIyMnE4NSAtMTAgMTIxIDloMXE1IDMgOC41IDEwdDUuNSAxOXQzIDE5LjV0MyAyMS41bDEgMTRxMyAyOCAzMiA0MHQ1MiAtNXE3MyAtNTIgOTEgLTE3OHE3IC01NyAtMy41IC0xMTN0LTQyLjUgLTkxcS0yOCAtMzIgLTgzLjUgLTQ4LjV0LTExNS41IC0xOC41di0xMHEtNzEgLTIgLTk1IC00M3EtMTQgLTUgLTMxIC0xN3ExMSAtMSAzMiAtMy41dDMwIC0zLjVxMSA1IDUgOHExNiAxOCA2MCAyM2gxM3E1IDE4IDE5IDMwdDMzIDgKdDM2IC0yM3QxOSAtMzZxNzkgLTMyIDkzIC05NXE5IC00MCAxIC04MXEtMTIgLTUzIC01NiAtODh0LTk3IC00NHEtMTAgLTIgLTE3IC0ycTAgLTQ5IC0xIC03M3EyMCAxNSAzOCAxOXEyNiA3IDYxIDJxMjggMjggNTEgMTZxMTQgLTkgMTQgLTM3cTMzIC0xNiA1OSAtMzRxMjcgMTMgMzggNHExMCAtMTAgMiAtMzhxMjggLTMwIDQxIC01MXEyMyA4IDMxIC0xek0xOTM3IDEwMjVxMCAtMjkgLTkgLTU0cTgyIC0zMiAxMTIgLTEzMgpxNCAzNyAtOS41IDk4LjV0LTQxLjUgOTAuNXEtMjAgMTkgLTM2IDE3dC0xNiAtMjB6TTE4NTkgOTI1cTM1IC00MiA0Ny41IC0xMDguNXQtMC41IC0xMjQuNXE2NyAxMyA5NyA0NXExMyAxNCAxOCAyOHEtMyA2NCAtMzEgMTE0LjV0LTc5IDY2LjVxLTE1IC0xNSAtNTIgLTIxek0xODIyIDkyMXEtMzAgMCAtNDQgMXE0MiAtMTE1IDUzIC0yMzlxMjEgMCA0MyAzcTE2IDY4IDEgMTM1dC01MyAxMDB6TTI1OCA4MzlxMzAgMTAwIDExMiAxMzIKcS05IDI1IC05IDU0cTAgMTggLTE2LjUgMjB0LTM1LjUgLTE3cS0yOCAtMjkgLTQxLjUgLTkwLjV0LTkuNSAtOTguNXpNMjk0IDczN3EyOSAtMzEgOTcgLTQ1cS0xMyA1OCAtMC41IDEyNC41dDQ3LjUgMTA4LjV2MHEtMzcgNiAtNTIgMjFxLTUxIC0xNiAtNzguNSAtNjZ0LTMxLjUgLTExNXE5IC0xNyAxOCAtMjh6TTQ3MSA2ODNxMTQgMTI0IDczIDIzNXEtMTkgLTQgLTU1IC0xOGwtNDUgLTE5djFxLTQ2IC04OSAtMjAgLTE5NnEyNSAtMyA0NyAtM3oKTTE0MzQgNjQ0cTggLTM4IDE2LjUgLTEwOC41dDExLjUgLTg5LjVxMyAtMTggOS41IC0yMS41dDIzLjUgNC41cTQwIDIwIDYyIDg1LjV0MjMgMTI1LjVxLTI0IDIgLTE0NiA0ek0xMTUyIDEyODVxLTExNiAwIC0xOTkgLTgyLjV0LTgzIC0xOTguNXEwIC0xMTcgODMgLTE5OS41dDE5OSAtODIuNXQxOTkgODIuNXQ4MyAxOTkuNXEwIDExNiAtODMgMTk4LjV0LTE5OSA4Mi41ek0xMzgwIDY0NnEtMTA1IDIgLTIxMSAwdjFxLTEgLTI3IDIuNSAtODYKdDEzLjUgLTY2cTI5IC0xNCA5My41IC0xNC41dDk1LjUgMTAuNXE5IDMgMTEgMzl0LTAuNSA2OS41dC00LjUgNDYuNXpNMTExMiA0NDdxOCA0IDkuNSA0OHQtMC41IDg4dC00IDYzdjFxLTIxMiAtMyAtMjE0IC0zcS00IC0yMCAtNyAtNjJ0MCAtODN0MTQgLTQ2cTM0IC0xNSAxMDEgLTE2dDEwMSAxMHpNNzE4IDYzNnEtMTYgLTU5IDQuNSAtMTE4LjV0NzcuNSAtODQuNXExNSAtOCAyNCAtNXQxMiAyMXEzIDE2IDggOTB0MTAgMTAzCnEtNjkgLTIgLTEzNiAtNnpNNTkxIDUxMHEzIC0yMyAtMzQgLTM2cTEzMiAtMTQxIDI3MS41IC0yNDB0MzA1LjUgLTE1NHExNzIgNDkgMzEwLjUgMTQ2dDI5My41IDI1MHEtMzMgMTMgLTMwIDM0cTAgMiAwLjUgMy41dDEuNSAzdDEgMi41djF2LTFxLTE3IDIgLTUwIDUuNXQtNDggNC41cS0yNiAtOTAgLTgyIC0xMzJxLTUxIC0zOCAtODIgMXEtNSA2IC05IDE0cS03IDEzIC0xNyA2MnEtMiAtNSAtNSAtOXQtNy41IC03dC04IC01LjV0LTkuNSAtNApsLTEwIC0yLjV0LTEyIC0ybC0xMiAtMS41dC0xMy41IC0xdC0xMy41IC0wLjVxLTEwNiAtOSAtMTYzIDExcS00IC0xNyAtMTAgLTI2LjV0LTIxIC0xNXQtMjMgLTd0LTM2IC0zLjVxLTYgLTEgLTkgLTFxLTE3OSAtMTcgLTIwMyA0MHEtMiAtNjMgLTU2IC01NHEtNDcgOCAtOTEgNTRxLTEyIDEzIC0yMCAyNnEtMTcgMjkgLTI2IDY1cS01OCAtNiAtODcgLTEwcTEgLTIgNCAtMTB6TTUwNyAtMTE4cTMgMTQgMyAzMHEtMTcgNzEgLTUxIDEzMAp0LTczIDcwcS00MSAxMiAtMTAxLjUgLTE0LjV0LTEwNC41IC04MHQtMzkgLTEwNy41cTM1IC01MyAxMDAgLTkzdDExOSAtNDJxNTEgLTIgOTQgMjh0NTMgNzl6TTUxMCA1M3EyMyAtNjMgMjcgLTExOXExOTUgMTEzIDM5MiAxNzRxLTk4IDUyIC0xODAuNSAxMjB0LTE3OS41IDE2NXEtNiAtNCAtMjkgLTEzcTAgLTEgLTEgLTR0LTEgLTVxMzEgLTE4IDIyIC0zN3EtMTIgLTIzIC01NiAtMzRxLTEwIC0xMyAtMjkgLTI0aC0xcS0yIC04MyAxIC0xNTAKcTE5IC0zNCAzNSAtNzN6TTU3OSAtMTEzcTUzMiAtMjEgMTE0NSAwcS0yNTQgMTQ3IC00MjggMTk2cS03NiAtMzUgLTE1NiAtNTdxLTggLTMgLTE2IDBxLTY1IDIxIC0xMjkgNDlxLTIwOCAtNjAgLTQxNiAtMTg4aC0xdi0xcTEgMCAxIDF6TTE3NjMgLTY3cTQgNTQgMjggMTIwcTE0IDM4IDMzIDcxbC0xIC0xcTMgNzcgMyAxNTNxLTE1IDggLTMwIDI1cS00MiA5IC01NiAzM3EtOSAyMCAyMiAzOHEtMiA0IC0yIDlxLTE2IDQgLTI4IDEyCnEtMjA0IC0xOTAgLTM4MyAtMjg0cTE5OCAtNTkgNDE0IC0xNzZ6TTIxNTUgLTkwcTUgNTQgLTM5IDEwNy41dC0xMDQgODB0LTEwMiAxNC41cS0zOCAtMTEgLTcyLjUgLTcwLjV0LTUxLjUgLTEyOS41cTAgLTE2IDMgLTMwcTEwIC00OSA1MyAtNzl0OTQgLTI4cTU0IDIgMTE5IDQydDEwMCA5M3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzUzOCIgdW5pY29kZT0iJiN4ZjIzZDsiIGhvcml6LWFkdi14PSIyMzA0IiAKZD0iTTE1MjQgLTI1cTAgLTY4IC00OCAtMTE2dC0xMTYgLTQ4dC0xMTYuNSA0OHQtNDguNSAxMTZ0NDguNSAxMTYuNXQxMTYuNSA0OC41dDExNiAtNDguNXQ0OCAtMTE2LjV6TTc3NSAtMjVxMCAtNjggLTQ4LjUgLTExNnQtMTE2LjUgLTQ4dC0xMTYgNDh0LTQ4IDExNnQ0OCAxMTYuNXQxMTYgNDguNXQxMTYuNSAtNDguNXQ0OC41IC0xMTYuNXpNMCAxNDY5cTU3IC02MCAxMTAuNSAtMTA0LjV0MTIxIC04MnQxMzYgLTYzdDE2NiAtNDUuNQp0MjAwIC0zMS41dDI1MCAtMTguNXQzMDQgLTkuNXQzNzIuNSAtMi41cTEzOSAwIDI0NC41IC01dDE4MSAtMTYuNXQxMjQgLTI3LjV0NzEgLTM5LjV0MjQgLTUxLjV0LTE5LjUgLTY0dC01Ni41IC03Ni41dC04OS41IC05MXQtMTE2IC0xMDQuNXQtMTM5IC0xMTlxLTE4NSAtMTU3IC0yODYgLTI0N3EyOSA1MSA3Ni41IDEwOXQ5NCAxMDUuNXQ5NC41IDk4LjV0ODMgOTEuNXQ1NCA4MC41dDEzIDcwdC00NS41IDU1LjV0LTExNi41IDQxdC0yMDQgMjMuNQp0LTMwNCA1cS0xNjggLTIgLTMxNCA2dC0yNTYgMjN0LTIwNC41IDQxdC0xNTkuNSA1MS41dC0xMjIuNSA2Mi41dC05MS41IDY2LjV0LTY4IDcxLjV0LTUwLjUgNjkuNXQtNDAgNjh0LTM2LjUgNTkuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzUzOSIgdW5pY29kZT0iJiN4ZjIzZTsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTg5NiAxNDcycS0xNjkgMCAtMzIzIC02NnQtMjY1LjUgLTE3Ny41dC0xNzcuNSAtMjY1LjV0LTY2IC0zMjN0NjYgLTMyM3QxNzcuNSAtMjY1LjV0MjY1LjUgLTE3Ny41dDMyMyAtNjZ0MzIzIDY2dDI2NS41IDE3Ny41dDE3Ny41IDI2NS41dDY2IDMyM3QtNjYgMzIzdC0xNzcuNSAyNjUuNXQtMjY1LjUgMTc3LjV0LTMyMyA2NnpNODk2IDE1MzZxMTgyIDAgMzQ4IC03MXQyODYgLTE5MXQxOTEgLTI4NnQ3MSAtMzQ4dC03MSAtMzQ4CnQtMTkxIC0yODZ0LTI4NiAtMTkxdC0zNDggLTcxdC0zNDggNzF0LTI4NiAxOTF0LTE5MSAyODZ0LTcxIDM0OHQ3MSAzNDh0MTkxIDI4NnQyODYgMTkxdDM0OCA3MXpNNDk2IDcwNHExNiAwIDE2IC0xNnYtNDgwcTAgLTE2IC0xNiAtMTZoLTMycS0xNiAwIC0xNiAxNnY0ODBxMCAxNiAxNiAxNmgzMnpNODk2IDY0MHE1MyAwIDkwLjUgLTM3LjV0MzcuNSAtOTAuNXEwIC0zNSAtMTcuNSAtNjR0LTQ2LjUgLTQ2di0xMTRxMCAtMTQgLTkgLTIzCnQtMjMgLTloLTY0cS0xNCAwIC0yMyA5dC05IDIzdjExNHEtMjkgMTcgLTQ2LjUgNDZ0LTE3LjUgNjRxMCA1MyAzNy41IDkwLjV0OTAuNSAzNy41ek04OTYgMTQwOHEyMDkgMCAzODUuNSAtMTAzdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41dC0xMDMgLTM4NS41dC0yNzkuNSAtMjc5LjV0LTM4NS41IC0xMDN0LTM4NS41IDEwM3QtMjc5LjUgMjc5LjV0LTEwMyAzODUuNXQxMDMgMzg1LjV0Mjc5LjUgMjc5LjV0Mzg1LjUgMTAzek01NDQgOTI4di05NgpxMCAtMTQgOSAtMjN0MjMgLTloNjRxMTQgMCAyMyA5dDkgMjN2OTZxMCA5MyA2NS41IDE1OC41dDE1OC41IDY1LjV0MTU4LjUgLTY1LjV0NjUuNSAtMTU4LjV2LTk2cTAgLTE0IDkgLTIzdDIzIC05aDY0cTE0IDAgMjMgOXQ5IDIzdjk2cTAgMTQ2IC0xMDMgMjQ5dC0yNDkgMTAzdC0yNDkgLTEwM3QtMTAzIC0yNDl6TTE0MDggMTkydjUxMnEwIDI2IC0xOSA0NXQtNDUgMTloLTg5NnEtMjYgMCAtNDUgLTE5dC0xOSAtNDV2LTUxMgpxMCAtMjYgMTkgLTQ1dDQ1IC0xOWg4OTZxMjYgMCA0NSAxOXQxOSA0NXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzU0MCIgdW5pY29kZT0iJiN4ZjI0MDsiIGhvcml6LWFkdi14PSIyMzA0IiAKZD0iTTE5MjAgMTAyNHYtNzY4aC0xNjY0djc2OGgxNjY0ek0yMDQ4IDQ0OGgxMjh2Mzg0aC0xMjh2Mjg4cTAgMTQgLTkgMjN0LTIzIDloLTE4NTZxLTE0IDAgLTIzIC05dC05IC0yM3YtOTYwcTAgLTE0IDkgLTIzdDIzIC05aDE4NTZxMTQgMCAyMyA5dDkgMjN2Mjg4ek0yMzA0IDgzMnYtMzg0cTAgLTUzIC0zNy41IC05MC41dC05MC41IC0zNy41di0xNjBxMCAtNjYgLTQ3IC0xMTN0LTExMyAtNDdoLTE4NTZxLTY2IDAgLTExMyA0N3QtNDcgMTEzCnY5NjBxMCA2NiA0NyAxMTN0MTEzIDQ3aDE4NTZxNjYgMCAxMTMgLTQ3dDQ3IC0xMTN2LTE2MHE1MyAwIDkwLjUgLTM3LjV0MzcuNSAtOTAuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzU0MSIgdW5pY29kZT0iJiN4ZjI0MTsiIGhvcml6LWFkdi14PSIyMzA0IiAKZD0iTTI1NiAyNTZ2NzY4aDEyODB2LTc2OGgtMTI4MHpNMjE3NiA5NjBxNTMgMCA5MC41IC0zNy41dDM3LjUgLTkwLjV2LTM4NHEwIC01MyAtMzcuNSAtOTAuNXQtOTAuNSAtMzcuNXYtMTYwcTAgLTY2IC00NyAtMTEzdC0xMTMgLTQ3aC0xODU2cS02NiAwIC0xMTMgNDd0LTQ3IDExM3Y5NjBxMCA2NiA0NyAxMTN0MTEzIDQ3aDE4NTZxNjYgMCAxMTMgLTQ3dDQ3IC0xMTN2LTE2MHpNMjE3NiA0NDh2Mzg0aC0xMjh2Mjg4cTAgMTQgLTkgMjN0LTIzIDkKaC0xODU2cS0xNCAwIC0yMyAtOXQtOSAtMjN2LTk2MHEwIC0xNCA5IC0yM3QyMyAtOWgxODU2cTE0IDAgMjMgOXQ5IDIzdjI4OGgxMjh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81NDIiIHVuaWNvZGU9IiYjeGYyNDI7IiBob3Jpei1hZHYteD0iMjMwNCIgCmQ9Ik0yNTYgMjU2djc2OGg4OTZ2LTc2OGgtODk2ek0yMTc2IDk2MHE1MyAwIDkwLjUgLTM3LjV0MzcuNSAtOTAuNXYtMzg0cTAgLTUzIC0zNy41IC05MC41dC05MC41IC0zNy41di0xNjBxMCAtNjYgLTQ3IC0xMTN0LTExMyAtNDdoLTE4NTZxLTY2IDAgLTExMyA0N3QtNDcgMTEzdjk2MHEwIDY2IDQ3IDExM3QxMTMgNDdoMTg1NnE2NiAwIDExMyAtNDd0NDcgLTExM3YtMTYwek0yMTc2IDQ0OHYzODRoLTEyOHYyODhxMCAxNCAtOSAyM3QtMjMgOQpoLTE4NTZxLTE0IDAgLTIzIC05dC05IC0yM3YtOTYwcTAgLTE0IDkgLTIzdDIzIC05aDE4NTZxMTQgMCAyMyA5dDkgMjN2Mjg4aDEyOHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzU0MyIgdW5pY29kZT0iJiN4ZjI0MzsiIGhvcml6LWFkdi14PSIyMzA0IiAKZD0iTTI1NiAyNTZ2NzY4aDUxMnYtNzY4aC01MTJ6TTIxNzYgOTYwcTUzIDAgOTAuNSAtMzcuNXQzNy41IC05MC41di0zODRxMCAtNTMgLTM3LjUgLTkwLjV0LTkwLjUgLTM3LjV2LTE2MHEwIC02NiAtNDcgLTExM3QtMTEzIC00N2gtMTg1NnEtNjYgMCAtMTEzIDQ3dC00NyAxMTN2OTYwcTAgNjYgNDcgMTEzdDExMyA0N2gxODU2cTY2IDAgMTEzIC00N3Q0NyAtMTEzdi0xNjB6TTIxNzYgNDQ4djM4NGgtMTI4djI4OHEwIDE0IC05IDIzdC0yMyA5CmgtMTg1NnEtMTQgMCAtMjMgLTl0LTkgLTIzdi05NjBxMCAtMTQgOSAtMjN0MjMgLTloMTg1NnExNCAwIDIzIDl0OSAyM3YyODhoMTI4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTQ0IiB1bmljb2RlPSImI3hmMjQ0OyIgaG9yaXotYWR2LXg9IjIzMDQiIApkPSJNMjE3NiA5NjBxNTMgMCA5MC41IC0zNy41dDM3LjUgLTkwLjV2LTM4NHEwIC01MyAtMzcuNSAtOTAuNXQtOTAuNSAtMzcuNXYtMTYwcTAgLTY2IC00NyAtMTEzdC0xMTMgLTQ3aC0xODU2cS02NiAwIC0xMTMgNDd0LTQ3IDExM3Y5NjBxMCA2NiA0NyAxMTN0MTEzIDQ3aDE4NTZxNjYgMCAxMTMgLTQ3dDQ3IC0xMTN2LTE2MHpNMjE3NiA0NDh2Mzg0aC0xMjh2Mjg4cTAgMTQgLTkgMjN0LTIzIDloLTE4NTZxLTE0IDAgLTIzIC05dC05IC0yMwp2LTk2MHEwIC0xNCA5IC0yM3QyMyAtOWgxODU2cTE0IDAgMjMgOXQ5IDIzdjI4OGgxMjh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81NDUiIHVuaWNvZGU9IiYjeGYyNDU7IiBob3Jpei1hZHYteD0iMTI4MCIgCmQ9Ik0xMTMzIDQ5M3EzMSAtMzAgMTQgLTY5cS0xNyAtNDAgLTU5IC00MGgtMzgybDIwMSAtNDc2cTEwIC0yNSAwIC00OXQtMzQgLTM1bC0xNzcgLTc1cS0yNSAtMTAgLTQ5IDB0LTM1IDM0bC0xOTEgNDUybC0zMTIgLTMxMnEtMTkgLTE5IC00NSAtMTlxLTEyIDAgLTI0IDVxLTQwIDE3IC00MCA1OXYxNTA0cTAgNDIgNDAgNTlxMTIgNSAyNCA1cTI3IDAgNDUgLTE5eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTQ2IiB1bmljb2RlPSImI3hmMjQ2OyIgaG9yaXotYWR2LXg9IjEwMjQiIApkPSJNODMyIDE0MDhxLTMyMCAwIC0zMjAgLTIyNHYtNDE2aDEyOHYtMTI4aC0xMjh2LTU0NHEwIC0yMjQgMzIwIC0yMjRoNjR2LTEyOGgtNjRxLTI3MiAwIC0zODQgMTQ2cS0xMTIgLTE0NiAtMzg0IC0xNDZoLTY0djEyOGg2NHEzMjAgMCAzMjAgMjI0djU0NGgtMTI4djEyOGgxMjh2NDE2cTAgMjI0IC0zMjAgMjI0aC02NHYxMjhoNjRxMjcyIDAgMzg0IC0xNDZxMTEyIDE0NiAzODQgMTQ2aDY0di0xMjhoLTY0eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTQ3IiB1bmljb2RlPSImI3hmMjQ3OyIgaG9yaXotYWR2LXg9IjIwNDgiIApkPSJNMjA0OCAxMTUyaC0xMjh2LTEwMjRoMTI4di0zODRoLTM4NHYxMjhoLTEyODB2LTEyOGgtMzg0djM4NGgxMjh2MTAyNGgtMTI4djM4NGgzODR2LTEyOGgxMjgwdjEyOGgzODR2LTM4NHpNMTc5MiAxNDA4di0xMjhoMTI4djEyOGgtMTI4ek0xMjggMTQwOHYtMTI4aDEyOHYxMjhoLTEyOHpNMjU2IC0xMjh2MTI4aC0xMjh2LTEyOGgxMjh6TTE2NjQgMHYxMjhoMTI4djEwMjRoLTEyOHYxMjhoLTEyODB2LTEyOGgtMTI4di0xMDI0aDEyOHYtMTI4CmgxMjgwek0xOTIwIC0xMjh2MTI4aC0xMjh2LTEyOGgxMjh6TTEyODAgODk2aDM4NHYtNzY4aC04OTZ2MjU2aC0zODR2NzY4aDg5NnYtMjU2ek01MTIgNTEyaDY0MHY1MTJoLTY0MHYtNTEyek0xNTM2IDI1NnY1MTJoLTI1NnYtMzg0aC0zODR2LTEyOGg2NDB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81NDgiIHVuaWNvZGU9IiYjeGYyNDg7IiBob3Jpei1hZHYteD0iMjMwNCIgCmQ9Ik0yMzA0IDc2OGgtMTI4di02NDBoMTI4di0zODRoLTM4NHYxMjhoLTg5NnYtMTI4aC0zODR2Mzg0aDEyOHYxMjhoLTM4NHYtMTI4aC0zODR2Mzg0aDEyOHY2NDBoLTEyOHYzODRoMzg0di0xMjhoODk2djEyOGgzODR2LTM4NGgtMTI4di0xMjhoMzg0djEyOGgzODR2LTM4NHpNMjA0OCAxMDI0di0xMjhoMTI4djEyOGgtMTI4ek0xNDA4IDE0MDh2LTEyOGgxMjh2MTI4aC0xMjh6TTEyOCAxNDA4di0xMjhoMTI4djEyOGgtMTI4ek0yNTYgMjU2CnYxMjhoLTEyOHYtMTI4aDEyOHpNMTUzNiAzODRoLTEyOHYtMTI4aDEyOHYxMjh6TTM4NCAzODRoODk2djEyOGgxMjh2NjQwaC0xMjh2MTI4aC04OTZ2LTEyOGgtMTI4di02NDBoMTI4di0xMjh6TTg5NiAtMTI4djEyOGgtMTI4di0xMjhoMTI4ek0yMTc2IC0xMjh2MTI4aC0xMjh2LTEyOGgxMjh6TTIwNDggMTI4djY0MGgtMTI4djEyOGgtMzg0di0zODRoMTI4di0zODRoLTM4NHYxMjhoLTM4NHYtMTI4aDEyOHYtMTI4aDg5NnYxMjhoMTI4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTQ5IiB1bmljb2RlPSImI3hmMjQ5OyIgCmQ9Ik0xMDI0IDI4OHYtNDE2aC05MjhxLTQwIDAgLTY4IDI4dC0yOCA2OHYxMzQ0cTAgNDAgMjggNjh0NjggMjhoMTM0NHE0MCAwIDY4IC0yOHQyOCAtNjh2LTkyOGgtNDE2cS00MCAwIC02OCAtMjh0LTI4IC02OHpNMTE1MiAyNTZoMzgxcS0xNSAtODIgLTY1IC0xMzJsLTE4NCAtMTg0cS01MCAtNTAgLTEzMiAtNjV2MzgxeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTUwIiB1bmljb2RlPSImI3hmMjRhOyIgCmQ9Ik0xNDAwIDI1NmgtMjQ4di0yNDhxMjkgMTAgNDEgMjJsMTg1IDE4NXExMiAxMiAyMiA0MXpNMTEyMCAzODRoMjg4djg5NmgtMTI4MHYtMTI4MGg4OTZ2Mjg4cTAgNDAgMjggNjh0NjggMjh6TTE1MzYgMTMxMnYtMTAyNHEwIC00MCAtMjAgLTg4dC00OCAtNzZsLTE4NCAtMTg0cS0yOCAtMjggLTc2IC00OHQtODggLTIwaC0xMDI0cS00MCAwIC02OCAyOHQtMjggNjh2MTM0NHEwIDQwIDI4IDY4dDY4IDI4aDEzNDRxNDAgMCA2OCAtMjh0MjggLTY4CnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzU1MSIgdW5pY29kZT0iJiN4ZjI0YjsiIGhvcml6LWFkdi14PSIyMzA0IiAKZD0iTTE5NTEgNTM4cTAgLTI2IC0xNS41IC00NC41dC0zOC41IC0yMy41cS04IC0yIC0xOCAtMmgtMTUzdjE0MGgxNTNxMTAgMCAxOCAtMnEyMyAtNSAzOC41IC0yMy41dDE1LjUgLTQ0LjV6TTE5MzMgNzUxcTAgLTI1IC0xNSAtNDJ0LTM4IC0yMXEtMyAtMSAtMTUgLTFoLTEzOXYxMjloMTM5cTMgMCA4LjUgLTAuNXQ2LjUgLTAuNXEyMyAtNCAzOCAtMjEuNXQxNSAtNDIuNXpNNzI4IDU4N3YzMDhoLTIyOHYtMzA4cTAgLTU4IC0zOCAtOTQuNQp0LTEwNSAtMzYuNXEtMTA4IDAgLTIyOSA1OXYtMTEycTUzIC0xNSAxMjEgLTIzdDEwOSAtOWw0MiAtMXEzMjggMCAzMjggMjE3ek0xNDQyIDQwM3YxMTNxLTk5IC01MiAtMjAwIC01OXEtMTA4IC04IC0xNjkgNDF0LTYxIDE0MnQ2MSAxNDJ0MTY5IDQxcTEwMSAtNyAyMDAgLTU4djExMnEtNDggMTIgLTEwMCAxOS41dC04MCA5LjVsLTI4IDJxLTEyNyA2IC0yMTguNSAtMTR0LTE0MC41IC02MHQtNzEgLTg4dC0yMiAtMTA2dDIyIC0xMDZ0NzEgLTg4CnQxNDAuNSAtNjB0MjE4LjUgLTE0cTEwMSA0IDIwOCAzMXpNMjE3NiA1MThxMCA1NCAtNDMgODguNXQtMTA5IDM5LjV2M3E1NyA4IDg5IDQxLjV0MzIgNzkuNXEwIDU1IC00MSA4OHQtMTA3IDM2cS0zIDAgLTEyIDAuNXQtMTQgMC41aC00NTV2LTUxMGg0OTFxNzQgMCAxMjEuNSAzNi41dDQ3LjUgOTYuNXpNMjMwNCAxMjgwdi0xMjgwcTAgLTUyIC0zOCAtOTB0LTkwIC0zOGgtMjA0OHEtNTIgMCAtOTAgMzh0LTM4IDkwdjEyODBxMCA1MiAzOCA5MAp0OTAgMzhoMjA0OHE1MiAwIDkwIC0zOHQzOCAtOTB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81NTIiIHVuaWNvZGU9IiYjeGYyNGM7IiBob3Jpei1hZHYteD0iMjMwNCIgCmQ9Ik04NTggMjk1djY5M3EtMTA2IC00MSAtMTcyIC0xMzUuNXQtNjYgLTIxMS41dDY2IC0yMTEuNXQxNzIgLTEzNC41ek0xMzYyIDY0MXEwIDExNyAtNjYgMjExLjV0LTE3MiAxMzUuNXYtNjk0cTEwNiA0MSAxNzIgMTM1LjV0NjYgMjExLjV6TTE1NzcgNjQxcTAgLTE1OSAtNzguNSAtMjk0dC0yMTMuNSAtMjEzLjV0LTI5NCAtNzguNXEtMTE5IDAgLTIyNy41IDQ2LjV0LTE4NyAxMjV0LTEyNSAxODd0LTQ2LjUgMjI3LjVxMCAxNTkgNzguNSAyOTQKdDIxMy41IDIxMy41dDI5NCA3OC41dDI5NCAtNzguNXQyMTMuNSAtMjEzLjV0NzguNSAtMjk0ek0xOTYwIDYzNHEwIDEzOSAtNTUuNSAyNjEuNXQtMTQ3LjUgMjA1LjV0LTIxMy41IDEzMXQtMjUyLjUgNDhoLTMwMXEtMTc2IDAgLTMyMy41IC04MXQtMjM1IC0yMzB0LTg3LjUgLTMzNXEwIC0xNzEgODcgLTMxNy41dDIzNiAtMjMxLjV0MzIzIC04NWgzMDFxMTI5IDAgMjUxLjUgNTAuNXQyMTQuNSAxMzV0MTQ3LjUgMjAyLjV0NTUuNSAyNDZ6Ck0yMzA0IDEyODB2LTEyODBxMCAtNTIgLTM4IC05MHQtOTAgLTM4aC0yMDQ4cS01MiAwIC05MCAzOHQtMzggOTB2MTI4MHEwIDUyIDM4IDkwdDkwIDM4aDIwNDhxNTIgMCA5MCAtMzh0MzggLTkweiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTUzIiB1bmljb2RlPSImI3hmMjRkOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTY2NCAtOTZ2MTA4OHEwIDEzIC05LjUgMjIuNXQtMjIuNSA5LjVoLTEwODhxLTEzIDAgLTIyLjUgLTkuNXQtOS41IC0yMi41di0xMDg4cTAgLTEzIDkuNSAtMjIuNXQyMi41IC05LjVoMTA4OHExMyAwIDIyLjUgOS41dDkuNSAyMi41ek0xNzkyIDk5MnYtMTA4OHEwIC02NiAtNDcgLTExM3QtMTEzIC00N2gtMTA4OHEtNjYgMCAtMTEzIDQ3dC00NyAxMTN2MTA4OHEwIDY2IDQ3IDExM3QxMTMgNDdoMTA4OHE2NiAwIDExMyAtNDd0NDcgLTExMwp6TTE0MDggMTM3NnYtMTYwaC0xMjh2MTYwcTAgMTMgLTkuNSAyMi41dC0yMi41IDkuNWgtMTA4OHEtMTMgMCAtMjIuNSAtOS41dC05LjUgLTIyLjV2LTEwODhxMCAtMTMgOS41IC0yMi41dDIyLjUgLTkuNWgxNjB2LTEyOGgtMTYwcS02NiAwIC0xMTMgNDd0LTQ3IDExM3YxMDg4cTAgNjYgNDcgMTEzdDExMyA0N2gxMDg4cTY2IDAgMTEzIC00N3Q0NyAtMTEzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTU0IiB1bmljb2RlPSImI3hmMjRlOyIgaG9yaXotYWR2LXg9IjIzMDQiIApkPSJNMTcyOCAxMDg4bC0zODQgLTcwNGg3Njh6TTQ0OCAxMDg4bC0zODQgLTcwNGg3Njh6TTEyNjkgMTI4MHEtMTQgLTQwIC00NS41IC03MS41dC03MS41IC00NS41di0xMjkxaDYwOHExNCAwIDIzIC05dDkgLTIzdi02NHEwIC0xNCAtOSAtMjN0LTIzIC05aC0xMzQ0cS0xNCAwIC0yMyA5dC05IDIzdjY0cTAgMTQgOSAyM3QyMyA5aDYwOHYxMjkxcS00MCAxNCAtNzEuNSA0NS41dC00NS41IDcxLjVoLTQ5MXEtMTQgMCAtMjMgOXQtOSAyM3Y2NApxMCAxNCA5IDIzdDIzIDloNDkxcTIxIDU3IDcwIDkyLjV0MTExIDM1LjV0MTExIC0zNS41dDcwIC05Mi41aDQ5MXExNCAwIDIzIC05dDkgLTIzdi02NHEwIC0xNCAtOSAtMjN0LTIzIC05aC00OTF6TTEwODggMTI2NHEzMyAwIDU2LjUgMjMuNXQyMy41IDU2LjV0LTIzLjUgNTYuNXQtNTYuNSAyMy41dC01Ni41IC0yMy41dC0yMy41IC01Ni41dDIzLjUgLTU2LjV0NTYuNSAtMjMuNXpNMjE3NiAzODRxMCAtNzMgLTQ2LjUgLTEzMXQtMTE3LjUgLTkxCnQtMTQ0LjUgLTQ5LjV0LTEzOS41IC0xNi41dC0xMzkuNSAxNi41dC0xNDQuNSA0OS41dC0xMTcuNSA5MXQtNDYuNSAxMzFxMCAxMSAzNSA4MXQ5MiAxNzQuNXQxMDcgMTk1LjV0MTAyIDE4NHQ1NiAxMDBxMTggMzMgNTYgMzN0NTYgLTMzcTQgLTcgNTYgLTEwMHQxMDIgLTE4NHQxMDcgLTE5NS41dDkyIC0xNzQuNXQzNSAtODF6TTg5NiAzODRxMCAtNzMgLTQ2LjUgLTEzMXQtMTE3LjUgLTkxdC0xNDQuNSAtNDkuNXQtMTM5LjUgLTE2LjUKdC0xMzkuNSAxNi41dC0xNDQuNSA0OS41dC0xMTcuNSA5MXQtNDYuNSAxMzFxMCAxMSAzNSA4MXQ5MiAxNzQuNXQxMDcgMTk1LjV0MTAyIDE4NHQ1NiAxMDBxMTggMzMgNTYgMzN0NTYgLTMzcTQgLTcgNTYgLTEwMHQxMDIgLTE4NHQxMDcgLTE5NS41dDkyIC0xNzQuNXQzNSAtODF6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81NTUiIHVuaWNvZGU9IiYjeGYyNTA7IiAKZD0iTTE0MDggMTQwOHEwIC0yNjEgLTEwNi41IC00NjEuNXQtMjY2LjUgLTMwNi41cTE2MCAtMTA2IDI2Ni41IC0zMDYuNXQxMDYuNSAtNDYxLjVoOTZxMTQgMCAyMyAtOXQ5IC0yM3YtNjRxMCAtMTQgLTkgLTIzdC0yMyAtOWgtMTQ3MnEtMTQgMCAtMjMgOXQtOSAyM3Y2NHEwIDE0IDkgMjN0MjMgOWg5NnEwIDI2MSAxMDYuNSA0NjEuNXQyNjYuNSAzMDYuNXEtMTYwIDEwNiAtMjY2LjUgMzA2LjV0LTEwNi41IDQ2MS41aC05NnEtMTQgMCAtMjMgOQp0LTkgMjN2NjRxMCAxNCA5IDIzdDIzIDloMTQ3MnExNCAwIDIzIC05dDkgLTIzdi02NHEwIC0xNCAtOSAtMjN0LTIzIC05aC05NnpNODc0IDcwMHE3NyAyOSAxNDkgOTIuNXQxMjkuNSAxNTIuNXQ5Mi41IDIxMHQzNSAyNTNoLTEwMjRxMCAtMTMyIDM1IC0yNTN0OTIuNSAtMjEwdDEyOS41IC0xNTIuNXQxNDkgLTkyLjVxMTkgLTcgMzAuNSAtMjMuNXQxMS41IC0zNi41dC0xMS41IC0zNi41dC0zMC41IC0yMy41cS03NyAtMjkgLTE0OSAtOTIuNQp0LTEyOS41IC0xNTIuNXQtOTIuNSAtMjEwdC0zNSAtMjUzaDEwMjRxMCAxMzIgLTM1IDI1M3QtOTIuNSAyMTB0LTEyOS41IDE1Mi41dC0xNDkgOTIuNXEtMTkgNyAtMzAuNSAyMy41dC0xMS41IDM2LjV0MTEuNSAzNi41dDMwLjUgMjMuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzU1NiIgdW5pY29kZT0iJiN4ZjI1MTsiIApkPSJNMTQwOCAxNDA4cTAgLTI2MSAtMTA2LjUgLTQ2MS41dC0yNjYuNSAtMzA2LjVxMTYwIC0xMDYgMjY2LjUgLTMwNi41dDEwNi41IC00NjEuNWg5NnExNCAwIDIzIC05dDkgLTIzdi02NHEwIC0xNCAtOSAtMjN0LTIzIC05aC0xNDcycS0xNCAwIC0yMyA5dC05IDIzdjY0cTAgMTQgOSAyM3QyMyA5aDk2cTAgMjYxIDEwNi41IDQ2MS41dDI2Ni41IDMwNi41cS0xNjAgMTA2IC0yNjYuNSAzMDYuNXQtMTA2LjUgNDYxLjVoLTk2cS0xNCAwIC0yMyA5CnQtOSAyM3Y2NHEwIDE0IDkgMjN0MjMgOWgxNDcycTE0IDAgMjMgLTl0OSAtMjN2LTY0cTAgLTE0IC05IC0yM3QtMjMgLTloLTk2ek0xMjgwIDE0MDhoLTEwMjRxMCAtNjYgOSAtMTI4aDEwMDZxOSA2MSA5IDEyOHpNMTI4MCAtMTI4cTAgMTMwIC0zNCAyNDkuNXQtOTAuNSAyMDh0LTEyNi41IDE1MnQtMTQ2IDk0LjVoLTIzMHEtNzYgLTMxIC0xNDYgLTk0LjV0LTEyNi41IC0xNTJ0LTkwLjUgLTIwOHQtMzQgLTI0OS41aDEwMjR6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81NTciIHVuaWNvZGU9IiYjeGYyNTI7IiAKZD0iTTE0MDggMTQwOHEwIC0yNjEgLTEwNi41IC00NjEuNXQtMjY2LjUgLTMwNi41cTE2MCAtMTA2IDI2Ni41IC0zMDYuNXQxMDYuNSAtNDYxLjVoOTZxMTQgMCAyMyAtOXQ5IC0yM3YtNjRxMCAtMTQgLTkgLTIzdC0yMyAtOWgtMTQ3MnEtMTQgMCAtMjMgOXQtOSAyM3Y2NHEwIDE0IDkgMjN0MjMgOWg5NnEwIDI2MSAxMDYuNSA0NjEuNXQyNjYuNSAzMDYuNXEtMTYwIDEwNiAtMjY2LjUgMzA2LjV0LTEwNi41IDQ2MS41aC05NnEtMTQgMCAtMjMgOQp0LTkgMjN2NjRxMCAxNCA5IDIzdDIzIDloMTQ3MnExNCAwIDIzIC05dDkgLTIzdi02NHEwIC0xNCAtOSAtMjN0LTIzIC05aC05NnpNMTI4MCAxNDA4aC0xMDI0cTAgLTIwNiA4NSAtMzg0aDg1NHE4NSAxNzggODUgMzg0ek0xMjIzIDE5MnEtNTQgMTQxIC0xNDUuNSAyNDEuNXQtMTk0LjUgMTQyLjVoLTIzMHEtMTAzIC00MiAtMTk0LjUgLTE0Mi41dC0xNDUuNSAtMjQxLjVoOTEweiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTU4IiB1bmljb2RlPSImI3hmMjUzOyIgCmQ9Ik0xNDA4IDE0MDhxMCAtMjYxIC0xMDYuNSAtNDYxLjV0LTI2Ni41IC0zMDYuNXExNjAgLTEwNiAyNjYuNSAtMzA2LjV0MTA2LjUgLTQ2MS41aDk2cTE0IDAgMjMgLTl0OSAtMjN2LTY0cTAgLTE0IC05IC0yM3QtMjMgLTloLTE0NzJxLTE0IDAgLTIzIDl0LTkgMjN2NjRxMCAxNCA5IDIzdDIzIDloOTZxMCAyNjEgMTA2LjUgNDYxLjV0MjY2LjUgMzA2LjVxLTE2MCAxMDYgLTI2Ni41IDMwNi41dC0xMDYuNSA0NjEuNWgtOTZxLTE0IDAgLTIzIDkKdC05IDIzdjY0cTAgMTQgOSAyM3QyMyA5aDE0NzJxMTQgMCAyMyAtOXQ5IC0yM3YtNjRxMCAtMTQgLTkgLTIzdC0yMyAtOWgtOTZ6TTg3NCA3MDBxNzcgMjkgMTQ5IDkyLjV0MTI5LjUgMTUyLjV0OTIuNSAyMTB0MzUgMjUzaC0xMDI0cTAgLTEzMiAzNSAtMjUzdDkyLjUgLTIxMHQxMjkuNSAtMTUyLjV0MTQ5IC05Mi41cTE5IC03IDMwLjUgLTIzLjV0MTEuNSAtMzYuNXQtMTEuNSAtMzYuNXQtMzAuNSAtMjMuNXEtMTM3IC01MSAtMjQ0IC0xOTYKaDcwMHEtMTA3IDE0NSAtMjQ0IDE5NnEtMTkgNyAtMzAuNSAyMy41dC0xMS41IDM2LjV0MTEuNSAzNi41dDMwLjUgMjMuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzU1OSIgdW5pY29kZT0iJiN4ZjI1NDsiIApkPSJNMTUwNCAtNjRxMTQgMCAyMyAtOXQ5IC0yM3YtMTI4cTAgLTE0IC05IC0yM3QtMjMgLTloLTE0NzJxLTE0IDAgLTIzIDl0LTkgMjN2MTI4cTAgMTQgOSAyM3QyMyA5aDE0NzJ6TTEzMCAwcTMgNTUgMTYgMTA3dDMwIDk1dDQ2IDg3dDUzLjUgNzZ0NjQuNSA2OS41dDY2IDYwdDcwLjUgNTV0NjYuNSA0Ny41dDY1IDQzcS00MyAyOCAtNjUgNDN0LTY2LjUgNDcuNXQtNzAuNSA1NXQtNjYgNjB0LTY0LjUgNjkuNXQtNTMuNSA3NnQtNDYgODcKdC0zMCA5NXQtMTYgMTA3aDEyNzZxLTMgLTU1IC0xNiAtMTA3dC0zMCAtOTV0LTQ2IC04N3QtNTMuNSAtNzZ0LTY0LjUgLTY5LjV0LTY2IC02MHQtNzAuNSAtNTV0LTY2LjUgLTQ3LjV0LTY1IC00M3E0MyAtMjggNjUgLTQzdDY2LjUgLTQ3LjV0NzAuNSAtNTV0NjYgLTYwdDY0LjUgLTY5LjV0NTMuNSAtNzZ0NDYgLTg3dDMwIC05NXQxNiAtMTA3aC0xMjc2ek0xNTA0IDE1MzZxMTQgMCAyMyAtOXQ5IC0yM3YtMTI4cTAgLTE0IC05IC0yM3QtMjMgLTkKaC0xNDcycS0xNCAwIC0yMyA5dC05IDIzdjEyOHEwIDE0IDkgMjN0MjMgOWgxNDcyeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTYwIiB1bmljb2RlPSImI3hmMjU1OyIgCmQ9Ik03NjggMTE1MnEtNTMgMCAtOTAuNSAtMzcuNXQtMzcuNSAtOTAuNXYtMTI4aC0zMnY5M3EwIDQ4IC0zMiA4MS41dC04MCAzMy41cS00NiAwIC03OSAtMzN0LTMzIC03OXYtNDI5bC0zMiAzMHYxNzJxMCA0OCAtMzIgODEuNXQtODAgMzMuNXEtNDYgMCAtNzkgLTMzdC0zMyAtNzl2LTIyNHEwIC00NyAzNSAtODJsMzEwIC0yOTZxMzkgLTM5IDM5IC0xMDJxMCAtMjYgMTkgLTQ1dDQ1IC0xOWg2NDBxMjYgMCA0NSAxOXQxOSA0NXYyNQpxMCA0MSAxMCA3N2wxMDggNDM2cTEwIDM2IDEwIDc3djI0NnEwIDQ4IC0zMiA4MS41dC04MCAzMy41cS00NiAwIC03OSAtMzN0LTMzIC03OXYtMzJoLTMydjEyNXEwIDQwIC0yNSA3Mi41dC02NCA0MC41cS0xNCAyIC0yMyAycS00NiAwIC03OSAtMzN0LTMzIC03OXYtMTI4aC0zMnYxMjJxMCA1MSAtMzIuNSA4OS41dC04Mi41IDQzLjVxLTUgMSAtMTMgMXpNNzY4IDEyODBxODQgMCAxNDkgLTUwcTU3IDM0IDEyMyAzNHE1OSAwIDExMSAtMjcKdDg2IC03NnEyNyA3IDU5IDdxMTAwIDAgMTcwIC03MS41dDcwIC0xNzEuNXYtMjQ2cTAgLTUxIC0xMyAtMTA4bC0xMDkgLTQzNnEtNiAtMjQgLTYgLTcxcTAgLTgwIC01NiAtMTM2dC0xMzYgLTU2aC02NDBxLTg0IDAgLTEzOCA1OC41dC01NCAxNDIuNWwtMzA4IDI5NnEtNzYgNzMgLTc2IDE3NXYyMjRxMCA5OSA3MC41IDE2OS41dDE2OS41IDcwLjVxMTEgMCAxNiAtMXE2IDk1IDc1LjUgMTYwdDE2NC41IDY1cTUyIDAgOTggLTIxCnE3MiA2OSAxNzQgNjl6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81NjEiIHVuaWNvZGU9IiYjeGYyNTY7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik04ODAgMTQwOHEtNDYgMCAtNzkgLTMzdC0zMyAtNzl2LTY1NmgtMzJ2NTI4cTAgNDYgLTMzIDc5dC03OSAzM3QtNzkgLTMzdC0zMyAtNzl2LTUyOHYtMjU2bC0xNTQgMjA1cS0zOCA1MSAtMTAyIDUxcS01MyAwIC05MC41IC0zNy41dC0zNy41IC05MC41cTAgLTQzIDI2IC03N2wzODQgLTUxMnEzOCAtNTEgMTAyIC01MWg2ODhxMzQgMCA2MSAyMnQzNCA1Nmw3NiA0MDVxNSAzMiA1IDU5djQ5OHEwIDQ2IC0zMyA3OXQtNzkgMzN0LTc5IC0zMwp0LTMzIC03OXYtMjcyaC0zMnY1MjhxMCA0NiAtMzMgNzl0LTc5IDMzdC03OSAtMzN0LTMzIC03OXYtNTI4aC0zMnY2NTZxMCA0NiAtMzMgNzl0LTc5IDMzek04ODAgMTUzNnE2OCAwIDEyNS41IC0zNS41dDg4LjUgLTk2LjVxMTkgNCA0MiA0cTk5IDAgMTY5LjUgLTcwLjV0NzAuNSAtMTY5LjV2LTE3cTEwNSA2IDE4MC41IC02NHQ3NS41IC0xNzV2LTQ5OHEwIC00MCAtOCAtODNsLTc2IC00MDRxLTE0IC03OSAtNzYuNSAtMTMxdC0xNDMuNSAtNTIKaC02ODhxLTYwIDAgLTExNC41IDI3LjV0LTkwLjUgNzQuNWwtMzg0IDUxMnEtNTEgNjggLTUxIDE1NHEwIDEwNiA3NSAxODF0MTgxIDc1cTc4IDAgMTI4IC0zNHY0MzRxMCA5OSA3MC41IDE2OS41dDE2OS41IDcwLjVxMjMgMCA0MiAtNHEzMSA2MSA4OC41IDk2LjV0MTI1LjUgMzUuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzU2MiIgdW5pY29kZT0iJiN4ZjI1NzsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTEwNzMgLTEyOGgtMTc3cS0xNjMgMCAtMjI2IDE0MXEtMjMgNDkgLTIzIDEwMnY1cS02MiAzMCAtOTguNSA4OC41dC0zNi41IDEyNy41cTAgMzggNSA0OGgtMjYxcS0xMDYgMCAtMTgxIDc1dC03NSAxODF0NzUgMTgxdDE4MSA3NWgxMTNsLTQ0IDE3cS03NCAyOCAtMTE5LjUgOTMuNXQtNDUuNSAxNDUuNXEwIDEwNiA3NSAxODF0MTgxIDc1cTQ2IDAgOTEgLTE3bDYyOCAtMjM5aDQwMXExMDYgMCAxODEgLTc1dDc1IC0xODF2LTY2OApxMCAtODggLTU0IC0xNTcuNXQtMTQwIC05MC41bC0zMzkgLTg1cS05MiAtMjMgLTE4NiAtMjN6TTEwMjQgNTgzbC0xNTUgLTcxbC0xNjMgLTc0cS0zMCAtMTQgLTQ4IC00MS41dC0xOCAtNjAuNXEwIC00NiAzMyAtNzl0NzkgLTMzcTI2IDAgNDYgMTBsMzM4IDE1NHEtNDkgMTAgLTgwLjUgNTB0LTMxLjUgOTB2NTV6TTEzNDQgMjcycTAgNDYgLTMzIDc5dC03OSAzM3EtMjYgMCAtNDYgLTEwbC0yOTAgLTEzMnEtMjggLTEzIC0zNyAtMTcKdC0zMC41IC0xN3QtMjkuNSAtMjMuNXQtMTYgLTI5dC04IC00MC41cTAgLTUwIDMxLjUgLTgydDgxLjUgLTMycTIwIDAgMzggOWwzNTIgMTYwcTMwIDE0IDQ4IDQxLjV0MTggNjAuNXpNMTExMiAxMDI0bC02NTAgMjQ4cS0yNCA4IC00NiA4cS01MyAwIC05MC41IC0zNy41dC0zNy41IC05MC41cTAgLTQwIDIyLjUgLTczdDU5LjUgLTQ3bDUyNiAtMjAwdi02NGgtNjQwcS01MyAwIC05MC41IC0zNy41dC0zNy41IC05MC41dDM3LjUgLTkwLjUKdDkwLjUgLTM3LjVoNTM1bDIzMyAxMDZ2MTk4cTAgNjMgNDYgMTA2bDExMSAxMDJoLTY5ek0xMDczIDBxODIgMCAxNTUgMTlsMzM5IDg1cTQzIDExIDcwIDQ1LjV0MjcgNzguNXY2NjhxMCA1MyAtMzcuNSA5MC41dC05MC41IDM3LjVoLTMwOGwtMTM2IC0xMjZxLTM2IC0zMyAtMzYgLTgydi0yOTZxMCAtNDYgMzMgLTc3dDc5IC0zMXQ3OSAzNXQzMyA4MXYyMDhoMzJ2LTIwOHEwIC03MCAtNTcgLTExNHE1MiAtOCA4Ni41IC00OC41dDM0LjUgLTkzLjUKcTAgLTQyIC0yMyAtNzh0LTYxIC01M2wtMzEwIC0xNDFoOTF6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81NjMiIHVuaWNvZGU9IiYjeGYyNTg7IiBob3Jpei1hZHYteD0iMjA0OCIgCmQ9Ik0xMTUxIDE1MzZxNjEgMCAxMTYgLTI4dDkxIC03N2w1NzIgLTc4MXExMTggLTE1OSAxMTggLTM1OXYtMzU1cTAgLTgwIC01NiAtMTM2dC0xMzYgLTU2aC0zODRxLTgwIDAgLTEzNiA1NnQtNTYgMTM2djE3N2wtMjg2IDE0M2gtNTQ2cS04MCAwIC0xMzYgNTZ0LTU2IDEzNnYzMnEwIDExOSA4NC41IDIwMy41dDIwMy41IDg0LjVoNDIwbDQyIDEyOGgtNjg2cS0xMDAgMCAtMTczLjUgNjcuNXQtODEuNSAxNjYuNXEtNjUgNzkgLTY1IDE4MnYzMgpxMCA4MCA1NiAxMzZ0MTM2IDU2aDk1OXpNMTkyMCAtNjR2MzU1cTAgMTU3IC05MyAyODRsLTU3MyA3ODFxLTM5IDUyIC0xMDMgNTJoLTk1OXEtMjYgMCAtNDUgLTE5dC0xOSAtNDVxMCAtMzIgMS41IC00OS41dDkuNSAtNDAuNXQyNSAtNDNxMTAgMzEgMzUuNSA1MHQ1Ni41IDE5aDgzMnYtMzJoLTgzMnEtMjYgMCAtNDUgLTE5dC0xOSAtNDVxMCAtNDQgMyAtNThxOCAtNDQgNDQgLTczdDgxIC0yOWg2NDBoOTFxNDAgMCA2OCAtMjh0MjggLTY4CnEwIC0xNSAtNSAtMzBsLTY0IC0xOTJxLTEwIC0yOSAtMzUgLTQ3LjV0LTU2IC0xOC41aC00NDNxLTY2IDAgLTExMyAtNDd0LTQ3IC0xMTN2LTMycTAgLTI2IDE5IC00NXQ0NSAtMTloNTYxcTE2IDAgMjkgLTdsMzE3IC0xNThxMjQgLTEzIDM4LjUgLTM2dDE0LjUgLTUwdi0xOTdxMCAtMjYgMTkgLTQ1dDQ1IC0xOWgzODRxMjYgMCA0NSAxOXQxOSA0NXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzU2NCIgdW5pY29kZT0iJiN4ZjI1OTsiIGhvcml6LWFkdi14PSIyMDQ4IiAKZD0iTTQ1OSAtMjU2cS03NyAwIC0xMzcuNSA0Ny41dC03OS41IDEyMi41bC0xMDEgNDAxcS0xMyA1NyAtMTMgMTA4cTAgNDUgLTUgNjdsLTExNiA0NzdxLTcgMjcgLTcgNTdxMCA5MyA2MiAxNjF0MTU1IDc4cTE3IDg1IDgyLjUgMTM5dDE1Mi41IDU0cTgzIDAgMTQ4IC01MS41dDg1IC0xMzIuNWw4MyAtMzQ4bDEwMyA0MjhxMjAgODEgODUgMTMyLjV0MTQ4IDUxLjVxODkgMCAxNTUuNSAtNTcuNXQ4MC41IC0xNDQuNXE5MiAtMTAgMTUyIC03OQp0NjAgLTE2MnEwIC0yNCAtNyAtNTlsLTEyMyAtNTEycTEwIDcgMzcuNSAyOC41dDM4LjUgMjkuNXQzNSAyM3Q0MSAyMC41dDQxLjUgMTF0NDkuNSA1LjVxMTA1IDAgMTgwIC03NHQ3NSAtMTc5cTAgLTYyIC0yOC41IC0xMTh0LTc4LjUgLTk0bC01MDcgLTM4MHEtNjggLTUxIC0xNTMgLTUxaC02OTR6TTExMDQgMTQwOHEtMzggMCAtNjguNSAtMjR0LTM5LjUgLTYybC0xNjQgLTY4MmgtMTI3bC0xNDUgNjAycS05IDM4IC0zOS41IDYydC02OC41IDI0CnEtNDggMCAtODAgLTMzdC0zMiAtODBxMCAtMTUgMyAtMjhsMTMyIC01NDdoLTI2bC05OSA0MDhxLTkgMzcgLTQwIDYyLjV0LTY5IDI1LjVxLTQ3IDAgLTgwIC0zM3QtMzMgLTc5cTAgLTE0IDMgLTI2bDExNiAtNDc4cTcgLTI4IDkgLTg2dDEwIC04OGwxMDAgLTQwMXE4IC0zMiAzNCAtNTIuNXQ1OSAtMjAuNWg2OTRxNDIgMCA3NiAyNmw1MDcgMzc5cTU2IDQzIDU2IDExMHEwIDUyIC0zNy41IDg4LjV0LTg5LjUgMzYuNXEtNDMgMCAtNzcgLTI2CmwtMzA3IC0yMzB2MjI3cTAgNCAzMiAxMzh0NjggMjgydDM5IDE2MXE0IDE4IDQgMjlxMCA0NyAtMzIgODF0LTc5IDM0cS0zOSAwIC02OS41IC0yNHQtMzkuNSAtNjJsLTExNiAtNDgyaC0yNmwxNTAgNjI0cTMgMTQgMyAyOHEwIDQ4IC0zMS41IDgydC03OS41IDM0eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTY1IiB1bmljb2RlPSImI3hmMjVhOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNNjQwIDE0MDhxLTUzIDAgLTkwLjUgLTM3LjV0LTM3LjUgLTkwLjV2LTUxMnYtMzg0bC0xNTEgMjAycS00MSA1NCAtMTA3IDU0cS01MiAwIC04OSAtMzh0LTM3IC05MHEwIC00MyAyNiAtNzdsMzg0IC01MTJxMzggLTUxIDEwMiAtNTFoNzE4cTIyIDAgMzkuNSAxMy41dDIyLjUgMzQuNWw5MiAzNjhxMjQgOTYgMjQgMTk0djIxN3EwIDQxIC0yOCA3MXQtNjggMzB0LTY4IC0yOHQtMjggLTY4aC0zMnY2MXEwIDQ4IC0zMiA4MS41dC04MCAzMy41CnEtNDYgMCAtNzkgLTMzdC0zMyAtNzl2LTY0aC0zMnY5MHEwIDU1IC0zNyA5NC41dC05MSAzOS41cS01MyAwIC05MC41IC0zNy41dC0zNy41IC05MC41di05NmgtMzJ2NTcwcTAgNTUgLTM3IDk0LjV0LTkxIDM5LjV6TTY0MCAxNTM2cTEwNyAwIDE4MS41IC03Ny41dDc0LjUgLTE4NC41di0yMjBxMjIgMiAzMiAycTk5IDAgMTczIC02OXE0NyAyMSA5OSAyMXExMTMgMCAxODQgLTg3cTI3IDcgNTYgN3E5NCAwIDE1OSAtNjcuNXQ2NSAtMTYxLjUKdi0yMTdxMCAtMTE2IC0yOCAtMjI1bC05MiAtMzY4cS0xNiAtNjQgLTY4IC0xMDQuNXQtMTE4IC00MC41aC03MThxLTYwIDAgLTExNC41IDI3LjV0LTkwLjUgNzQuNWwtMzg0IDUxMnEtNTEgNjggLTUxIDE1NHEwIDEwNSA3NC41IDE4MC41dDE3OS41IDc1LjVxNzEgMCAxMzAgLTM1djU0N3EwIDEwNiA3NSAxODF0MTgxIDc1ek03NjggMTI4djM4NGgtMzJ2LTM4NGgzMnpNMTAyNCAxMjh2Mzg0aC0zMnYtMzg0aDMyek0xMjgwIDEyOHYzODRoLTMyCnYtMzg0aDMyeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTY2IiB1bmljb2RlPSImI3hmMjViOyIgCmQ9Ik0xMjg4IDg4OXE2MCAwIDEwNyAtMjNxMTQxIC02MyAxNDEgLTIyNnYtMTc3cTAgLTk0IC0yMyAtMTg2bC04NSAtMzM5cS0yMSAtODYgLTkwLjUgLTE0MHQtMTU3LjUgLTU0aC02NjhxLTEwNiAwIC0xODEgNzV0LTc1IDE4MXY0MDFsLTIzOSA2MjhxLTE3IDQ1IC0xNyA5MXEwIDEwNiA3NSAxODF0MTgxIDc1cTgwIDAgMTQ1LjUgLTQ1LjV0OTMuNSAtMTE5LjVsMTcgLTQ0djExM3EwIDEwNiA3NSAxODF0MTgxIDc1dDE4MSAtNzV0NzUgLTE4MQp2LTI2MXEyNyA1IDQ4IDVxNjkgMCAxMjcuNSAtMzYuNXQ4OC41IC05OC41ek0xMDcyIDg5NnEtMzMgMCAtNjAuNSAtMTh0LTQxLjUgLTQ4bC03NCAtMTYzbC03MSAtMTU1aDU1cTUwIDAgOTAgLTMxLjV0NTAgLTgwLjVsMTU0IDMzOHExMCAyMCAxMCA0NnEwIDQ2IC0zMyA3OXQtNzkgMzN6TTEyOTMgNzYxcS0yMiAwIC00MC41IC04dC0yOSAtMTZ0LTIzLjUgLTI5LjV0LTE3IC0zMC41dC0xNyAtMzdsLTEzMiAtMjkwcS0xMCAtMjAgLTEwIC00NgpxMCAtNDYgMzMgLTc5dDc5IC0zM3EzMyAwIDYwLjUgMTh0NDEuNSA0OGwxNjAgMzUycTkgMTggOSAzOHEwIDUwIC0zMiA4MS41dC04MiAzMS41ek0xMjggMTEyMHEwIC0yMiA4IC00NmwyNDggLTY1MHYtNjlsMTAyIDExMXE0MyA0NiAxMDYgNDZoMTk4bDEwNiAyMzN2NTM1cTAgNTMgLTM3LjUgOTAuNXQtOTAuNSAzNy41dC05MC41IC0zNy41dC0zNy41IC05MC41di02NDBoLTY0bC0yMDAgNTI2cS0xNCAzNyAtNDcgNTkuNXQtNzMgMjIuNQpxLTUzIDAgLTkwLjUgLTM3LjV0LTM3LjUgLTkwLjV6TTExODAgLTEyOHE0NCAwIDc4LjUgMjd0NDUuNSA3MGw4NSAzMzlxMTkgNzMgMTkgMTU1djkxbC0xNDEgLTMxMHEtMTcgLTM4IC01MyAtNjF0LTc4IC0yM3EtNTMgMCAtOTMuNSAzNC41dC00OC41IDg2LjVxLTQ0IC01NyAtMTE0IC01N2gtMjA4djMyaDIwOHE0NiAwIDgxIDMzdDM1IDc5dC0zMSA3OXQtNzcgMzNoLTI5NnEtNDkgMCAtODIgLTM2bC0xMjYgLTEzNnYtMzA4CnEwIC01MyAzNy41IC05MC41dDkwLjUgLTM3LjVoNjY4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTY3IiB1bmljb2RlPSImI3hmMjVjOyIgaG9yaXotYWR2LXg9IjE5NzMiIApkPSJNODU3IDk5MnYtMTE3cTAgLTEzIC05LjUgLTIydC0yMi41IC05aC0yOTh2LTgxMnEwIC0xMyAtOSAtMjIuNXQtMjIgLTkuNWgtMTM1cS0xMyAwIC0yMi41IDl0LTkuNSAyM3Y4MTJoLTI5N3EtMTMgMCAtMjIuNSA5dC05LjUgMjJ2MTE3cTAgMTQgOSAyM3QyMyA5aDc5M3ExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV6TTE4OTUgOTk1bDc3IC05NjFxMSAtMTMgLTggLTI0cS0xMCAtMTAgLTIzIC0xMGgtMTM0cS0xMiAwIC0yMSA4LjUKdC0xMCAyMC41bC00NiA1ODhsLTE4OSAtNDI1cS04IC0xOSAtMjkgLTE5aC0xMjBxLTIwIDAgLTI5IDE5bC0xODggNDI3bC00NSAtNTkwcS0xIC0xMiAtMTAgLTIwLjV0LTIxIC04LjVoLTEzNXEtMTMgMCAtMjMgMTBxLTkgMTAgLTkgMjRsNzggOTYxcTEgMTIgMTAgMjAuNXQyMSA4LjVoMTQycTIwIDAgMjkgLTE5bDIyMCAtNTIwcTEwIC0yNCAyMCAtNTFxMyA3IDkuNSAyNC41dDEwLjUgMjYuNWwyMjEgNTIwcTkgMTkgMjkgMTloMTQxCnExMyAwIDIyIC04LjV0MTAgLTIwLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81NjgiIHVuaWNvZGU9IiYjeGYyNWQ7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xMDQyIDgzM3EwIDg4IC02MCAxMjFxLTMzIDE4IC0xMTcgMThoLTEyM3YtMjgxaDE2MnE2NiAwIDEwMiAzN3QzNiAxMDV6TTEwOTQgNTQ4bDIwNSAtMzczcTggLTE3IC0xIC0zMXEtOCAtMTYgLTI3IC0xNmgtMTUycS0yMCAwIC0yOCAxN2wtMTk0IDM2NWgtMTU1di0zNTBxMCAtMTQgLTkgLTIzdC0yMyAtOWgtMTM0cS0xNCAwIC0yMyA5dC05IDIzdjk2MHEwIDE0IDkgMjN0MjMgOWgyOTRxMTI4IDAgMTkwIC0yNHE4NSAtMzEgMTM0IC0xMDkKdDQ5IC0xODBxMCAtOTIgLTQyLjUgLTE2NS41dC0xMTUuNSAtMTA5LjVxNiAtMTAgOSAtMTZ6TTg5NiAxMzc2cS0xNTAgMCAtMjg2IC01OC41dC0yMzQuNSAtMTU3dC0xNTcgLTIzNC41dC01OC41IC0yODZ0NTguNSAtMjg2dDE1NyAtMjM0LjV0MjM0LjUgLTE1N3QyODYgLTU4LjV0Mjg2IDU4LjV0MjM0LjUgMTU3dDE1NyAyMzQuNXQ1OC41IDI4NnQtNTguNSAyODZ0LTE1NyAyMzQuNXQtMjM0LjUgMTU3dC0yODYgNTguNXpNMTc5MiA2NDAKcTAgLTE4MiAtNzEgLTM0OHQtMTkxIC0yODZ0LTI4NiAtMTkxdC0zNDggLTcxdC0zNDggNzF0LTI4NiAxOTF0LTE5MSAyODZ0LTcxIDM0OHQ3MSAzNDh0MTkxIDI4NnQyODYgMTkxdDM0OCA3MXQzNDggLTcxdDI4NiAtMTkxdDE5MSAtMjg2dDcxIC0zNDh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81NjkiIHVuaWNvZGU9IiYjeGYyNWU7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik02MDUgMzAzcTE1MyAwIDI1NyAxMDRxMTQgMTggMyAzNmwtNDUgODJxLTYgMTMgLTI0IDE3cS0xNiAyIC0yNyAtMTFsLTQgLTNxLTQgLTQgLTExLjUgLTEwdC0xNy41IC0xMy41dC0yMy41IC0xNC41dC0yOC41IC0xM3QtMzMuNSAtOS41dC0zNy41IC0zLjVxLTc2IDAgLTEyNSA1MHQtNDkgMTI3cTAgNzYgNDggMTI1LjV0MTIyIDQ5LjVxMzcgMCA3MS41IC0xNHQ1MC41IC0yOGwxNiAtMTRxMTEgLTExIDI2IC0xMHExNiAyIDI0IDE0bDUzIDc4CnExMyAyMCAtMiAzOXEtMyA0IC0xMSAxMnQtMzAgMjMuNXQtNDguNSAyOHQtNjcuNSAyMi41dC04NiAxMHEtMTQ4IDAgLTI0NiAtOTYuNXQtOTggLTI0MC41cTAgLTE0NiA5NyAtMjQxLjV0MjQ3IC05NS41ek0xMjM1IDMwM3ExNTMgMCAyNTcgMTA0cTE0IDE4IDQgMzZsLTQ1IDgycS04IDE0IC0yNSAxN3EtMTYgMiAtMjcgLTExbC00IC0zcS00IC00IC0xMS41IC0xMHQtMTcuNSAtMTMuNXQtMjMuNSAtMTQuNXQtMjguNSAtMTN0LTMzLjUgLTkuNQp0LTM3LjUgLTMuNXEtNzYgMCAtMTI1IDUwdC00OSAxMjdxMCA3NiA0OCAxMjUuNXQxMjIgNDkuNXEzNyAwIDcxLjUgLTE0dDUwLjUgLTI4bDE2IC0xNHExMSAtMTEgMjYgLTEwcTE2IDIgMjQgMTRsNTMgNzhxMTMgMjAgLTIgMzlxLTMgNCAtMTEgMTJ0LTMwIDIzLjV0LTQ4LjUgMjh0LTY3LjUgMjIuNXQtODYgMTBxLTE0NyAwIC0yNDUuNSAtOTYuNXQtOTguNSAtMjQwLjVxMCAtMTQ2IDk3IC0yNDEuNXQyNDcgLTk1LjV6TTg5NiAxMzc2CnEtMTUwIDAgLTI4NiAtNTguNXQtMjM0LjUgLTE1N3QtMTU3IC0yMzQuNXQtNTguNSAtMjg2dDU4LjUgLTI4NnQxNTcgLTIzNC41dDIzNC41IC0xNTd0Mjg2IC01OC41dDI4NiA1OC41dDIzNC41IDE1N3QxNTcgMjM0LjV0NTguNSAyODZ0LTU4LjUgMjg2dC0xNTcgMjM0LjV0LTIzNC41IDE1N3QtMjg2IDU4LjV6TTg5NiAxNTM2cTE4MiAwIDM0OCAtNzF0Mjg2IC0xOTF0MTkxIC0yODZ0NzEgLTM0OHQtNzEgLTM0OHQtMTkxIC0yODZ0LTI4NiAtMTkxCnQtMzQ4IC03MXQtMzQ4IDcxdC0yODYgMTkxdC0xOTEgMjg2dC03MSAzNDh0NzEgMzQ4dDE5MSAyODZ0Mjg2IDE5MXQzNDggNzF6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImYyNjAiIHVuaWNvZGU9IiYjeGYyNjA7IiBob3Jpei1hZHYteD0iMjA0OCIgCmQ9Ik03MzYgNzM2bDM4NCAtMzg0bC0zODQgLTM4NGwtNjcyIDY3Mmw2NzIgNjcybDE2OCAtMTY4bC05NiAtOTZsLTcyIDcybC00ODAgLTQ4MGw0ODAgLTQ4MGwxOTMgMTkzbC0yODkgMjg3ek0xMzEyIDEzMTJsNjcyIC02NzJsLTY3MiAtNjcybC0xNjggMTY4bDk2IDk2bDcyIC03Mmw0ODAgNDgwbC00ODAgNDgwbC0xOTMgLTE5M2wyODkgLTI4N2wtOTYgLTk2bC0zODQgMzg0eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJmMjYxIiB1bmljb2RlPSImI3hmMjYxOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNNzE3IDE4MmwyNzEgMjcxbC0yNzkgMjc5bC04OCAtODhsMTkyIC0xOTFsLTk2IC05NmwtMjc5IDI3OWwyNzkgMjc5bDQwIC00MGw4NyA4N2wtMTI3IDEyOGwtNDU0IC00NTR6TTEwNzUgMTkwbDQ1NCA0NTRsLTQ1NCA0NTRsLTI3MSAtMjcxbDI3OSAtMjc5bDg4IDg4bC0xOTIgMTkxbDk2IDk2bDI3OSAtMjc5bC0yNzkgLTI3OWwtNDAgNDBsLTg3IC04OHpNMTc5MiA2NDBxMCAtMTgyIC03MSAtMzQ4dC0xOTEgLTI4NnQtMjg2IC0xOTEKdC0zNDggLTcxdC0zNDggNzF0LTI4NiAxOTF0LTE5MSAyODZ0LTcxIDM0OHQ3MSAzNDh0MTkxIDI4NnQyODYgMTkxdDM0OCA3MXQzNDggLTcxdDI4NiAtMTkxdDE5MSAtMjg2dDcxIC0zNDh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81NzIiIHVuaWNvZGU9IiYjeGYyNjI7IiBob3Jpei1hZHYteD0iMjMwNCIgCmQ9Ik02NTEgNTM5cTAgLTM5IC0yNy41IC02Ni41dC02NS41IC0yNy41cS0zOSAwIC02Ni41IDI3LjV0LTI3LjUgNjYuNXEwIDM4IDI3LjUgNjUuNXQ2Ni41IDI3LjVxMzggMCA2NS41IC0yNy41dDI3LjUgLTY1LjV6TTE4MDUgNTQwcTAgLTM5IC0yNy41IC02Ni41dC02Ni41IC0yNy41dC02Ni41IDI3LjV0LTI3LjUgNjYuNXQyNy41IDY2dDY2LjUgMjd0NjYuNSAtMjd0MjcuNSAtNjZ6TTc2NSA1MzlxMCA3OSAtNTYuNSAxMzZ0LTEzNi41IDU3CnQtMTM2LjUgLTU2LjV0LTU2LjUgLTEzNi41dDU2LjUgLTEzNi41dDEzNi41IC01Ni41dDEzNi41IDU2LjV0NTYuNSAxMzYuNXpNMTkxOCA1NDBxMCA4MCAtNTYuNSAxMzYuNXQtMTM2LjUgNTYuNXEtNzkgMCAtMTM2IC01Ni41dC01NyAtMTM2LjV0NTYuNSAtMTM2LjV0MTM2LjUgLTU2LjV0MTM2LjUgNTYuNXQ1Ni41IDEzNi41ek04NTAgNTM5cTAgLTExNiAtODEuNSAtMTk3LjV0LTE5Ni41IC04MS41cS0xMTYgMCAtMTk3LjUgODJ0LTgxLjUgMTk3CnQ4MiAxOTYuNXQxOTcgODEuNXQxOTYuNSAtODEuNXQ4MS41IC0xOTYuNXpNMjAwNCA1NDBxMCAtMTE1IC04MS41IC0xOTYuNXQtMTk3LjUgLTgxLjVxLTExNSAwIC0xOTYuNSA4MS41dC04MS41IDE5Ni41dDgxLjUgMTk2LjV0MTk2LjUgODEuNXExMTYgMCAxOTcuNSAtODEuNXQ4MS41IC0xOTYuNXpNMTA0MCA1MzdxMCAxOTEgLTEzNS41IDMyNi41dC0zMjYuNSAxMzUuNXEtMTI1IDAgLTIzMSAtNjJ0LTE2OCAtMTY4LjV0LTYyIC0yMzEuNQp0NjIgLTIzMS41dDE2OCAtMTY4LjV0MjMxIC02MnExOTEgMCAzMjYuNSAxMzUuNXQxMzUuNSAzMjYuNXpNMTcwOCAxMTEwcS0yNTQgMTExIC01NTYgMTExcS0zMTkgMCAtNTczIC0xMTBxMTE3IDAgMjIzIC00NS41dDE4Mi41IC0xMjIuNXQxMjIgLTE4M3Q0NS41IC0yMjNxMCAxMTUgNDMuNSAyMTkuNXQxMTggMTgwLjV0MTc3LjUgMTIzdDIxNyA1MHpNMjE4NyA1MzdxMCAxOTEgLTEzNSAzMjYuNXQtMzI2IDEzNS41dC0zMjYuNSAtMTM1LjUKdC0xMzUuNSAtMzI2LjV0MTM1LjUgLTMyNi41dDMyNi41IC0xMzUuNXQzMjYgMTM1LjV0MTM1IDMyNi41ek0xOTIxIDExMDNoMzgzcS00NCAtNTEgLTc1IC0xMTQuNXQtNDAgLTExNC41cTExMCAtMTUxIDExMCAtMzM3cTAgLTE1NiAtNzcgLTI4OHQtMjA5IC0yMDguNXQtMjg3IC03Ni41cS0xMzMgMCAtMjQ5IDU2dC0xOTYgMTU1cS00NyAtNTYgLTEyOSAtMTc5cS0xMSAyMiAtNTMuNSA4Mi41dC03NC41IDk3LjUKcS04MCAtOTkgLTE5Ni41IC0xNTUuNXQtMjQ5LjUgLTU2LjVxLTE1NSAwIC0yODcgNzYuNXQtMjA5IDIwOC41dC03NyAyODhxMCAxODYgMTEwIDMzN3EtOSA1MSAtNDAgMTE0LjV0LTc1IDExNC41aDM2NXExNDkgMTAwIDM1NSAxNTYuNXQ0MzIgNTYuNXEyMjQgMCA0MjEgLTU2dDM0OCAtMTU3eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJmMjYzIiB1bmljb2RlPSImI3hmMjYzOyIgaG9yaXotYWR2LXg9IjEyODAiIApkPSJNNjQwIDYyOXEtMTg4IDAgLTMyMSAxMzN0LTEzMyAzMjBxMCAxODggMTMzIDMyMXQzMjEgMTMzdDMyMSAtMTMzdDEzMyAtMzIxcTAgLTE4NyAtMTMzIC0zMjB0LTMyMSAtMTMzek02NDAgMTMwNnEtOTIgMCAtMTU3LjUgLTY1LjV0LTY1LjUgLTE1OC41cTAgLTkyIDY1LjUgLTE1Ny41dDE1Ny41IC02NS41dDE1Ny41IDY1LjV0NjUuNSAxNTcuNXEwIDkzIC02NS41IDE1OC41dC0xNTcuNSA2NS41ek0xMTYzIDU3NHExMyAtMjcgMTUgLTQ5LjUKdC00LjUgLTQwLjV0LTI2LjUgLTM4LjV0LTQyLjUgLTM3dC02MS41IC00MS41cS0xMTUgLTczIC0zMTUgLTk0bDczIC03MmwyNjcgLTI2N3EzMCAtMzEgMzAgLTc0dC0zMCAtNzNsLTEyIC0xM3EtMzEgLTMwIC03NCAtMzB0LTc0IDMwcS02NyA2OCAtMjY3IDI2OGwtMjY3IC0yNjhxLTMxIC0zMCAtNzQgLTMwdC03MyAzMGwtMTIgMTNxLTMxIDMwIC0zMSA3M3QzMSA3NGwyNjcgMjY3bDcyIDcycS0yMDMgMjEgLTMxNyA5NApxLTM5IDI1IC02MS41IDQxLjV0LTQyLjUgMzd0LTI2LjUgMzguNXQtNC41IDQwLjV0MTUgNDkuNXExMCAyMCAyOCAzNXQ0MiAyMnQ1NiAtMnQ2NSAtMzVxNSAtNCAxNSAtMTF0NDMgLTI0LjV0NjkgLTMwLjV0OTIgLTI0dDExMyAtMTFxOTEgMCAxNzQgMjUuNXQxMjAgNTAuNWwzOCAyNXEzMyAyNiA2NSAzNXQ1NiAydDQyIC0yMnQyOCAtMzV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81NzQiIHVuaWNvZGU9IiYjeGYyNjQ7IiAKZD0iTTkyNyA5NTZxMCAtNjYgLTQ2LjUgLTExMi41dC0xMTIuNSAtNDYuNXQtMTEyLjUgNDYuNXQtNDYuNSAxMTIuNXQ0Ni41IDExMi41dDExMi41IDQ2LjV0MTEyLjUgLTQ2LjV0NDYuNSAtMTEyLjV6TTExNDEgNTkzcS0xMCAyMCAtMjggMzJ0LTQ3LjUgOS41dC02MC41IC0yNy41cS0xMCAtOCAtMjkgLTIwdC04MSAtMzJ0LTEyNyAtMjB0LTEyNCAxOHQtODYgMzZsLTI3IDE4cS0zMSAyNSAtNjAuNSAyNy41dC00Ny41IC05LjV0LTI4IC0zMgpxLTIyIC00NSAtMiAtNzQuNXQ4NyAtNzMuNXE4MyAtNTMgMjI2IC02N2wtNTEgLTUycS0xNDIgLTE0MiAtMTkxIC0xOTBxLTIyIC0yMiAtMjIgLTUyLjV0MjIgLTUyLjVsOSAtOXEyMiAtMjIgNTIuNSAtMjJ0NTIuNSAyMmwxOTEgMTkxcTExNCAtMTE1IDE5MSAtMTkxcTIyIC0yMiA1Mi41IC0yMnQ1Mi41IDIybDkgOXEyMiAyMiAyMiA1Mi41dC0yMiA1Mi41bC0xOTEgMTkwbC01MiA1MnExNDEgMTQgMjI1IDY3cTY3IDQ0IDg3IDczLjV0LTIgNzQuNQp6TTEwOTIgOTU2cTAgMTM0IC05NSAyMjl0LTIyOSA5NXQtMjI5IC05NXQtOTUgLTIyOXQ5NSAtMjI5dDIyOSAtOTV0MjI5IDk1dDk1IDIyOXpNMTUzNiAxMTIwdi05NjBxMCAtMTE5IC04NC41IC0yMDMuNXQtMjAzLjUgLTg0LjVoLTk2MHEtMTE5IDAgLTIwMy41IDg0LjV0LTg0LjUgMjAzLjV2OTYwcTAgMTE5IDg0LjUgMjAzLjV0MjAzLjUgODQuNWg5NjBxMTE5IDAgMjAzLjUgLTg0LjV0ODQuNSAtMjAzLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81NzUiIHVuaWNvZGU9IiYjeGYyNjU7IiBob3Jpei1hZHYteD0iMTcyMCIgCmQ9Ik0xNTY1IDE0MDhxNjUgMCAxMTAgLTQ1LjV0NDUgLTExMC41di01MTlxMCAtMTc2IC02OCAtMzM2dC0xODIuNSAtMjc1dC0yNzQgLTE4Mi41dC0zMzQuNSAtNjcuNXEtMTc2IDAgLTMzNS41IDY3LjV0LTI3NC41IDE4Mi41dC0xODMgMjc1dC02OCAzMzZ2NTE5cTAgNjQgNDYgMTEwdDExMCA0NmgxNDA5ek04NjEgMzQ0cTQ3IDAgODIgMzNsNDA0IDM4OHEzNyAzNSAzNyA4NXEwIDQ5IC0zNC41IDgzLjV0LTgzLjUgMzQuNXEtNDcgMCAtODIgLTMzCmwtMzIzIC0zMTBsLTMyMyAzMTBxLTM1IDMzIC04MSAzM3EtNDkgMCAtODMuNSAtMzQuNXQtMzQuNSAtODMuNXEwIC01MSAzNiAtODVsNDA1IC0zODhxMzMgLTMzIDgxIC0zM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzU3NiIgdW5pY29kZT0iJiN4ZjI2NjsiIGhvcml6LWFkdi14PSIyMzA0IiAKZD0iTTE0OTQgLTEwM2wtMjk1IDY5NXEtMjUgLTQ5IC0xNTguNSAtMzA1LjV0LTE5OC41IC0zODkuNXEtMSAtMSAtMjcuNSAtMC41dC0yNi41IDEuNXEtODIgMTkzIC0yNTUuNSA1ODd0LTI1OS41IDU5NnEtMjEgNTAgLTY2LjUgMTA3LjV0LTEwMy41IDEwMC41dC0xMDIgNDNxMCA1IC0wLjUgMjR0LTAuNSAyN2g1ODN2LTUwcS0zOSAtMiAtNzkuNSAtMTZ0LTY2LjUgLTQzdC0xMCAtNjRxMjYgLTU5IDIxNi41IC00OTl0MjM1LjUgLTU0MApxMzEgNjEgMTQwIDI2Ni41dDEzMSAyNDcuNXEtMTkgMzkgLTEyNiAyODF0LTEzNiAyOTVxLTM4IDY5IC0yMDEgNzF2NTBsNTEzIC0xdi00N3EtNjAgLTIgLTkzLjUgLTI1dC0xMi41IC02OXEzMyAtNzAgODcgLTE4OS41dDg2IC0xODcuNXExMTAgMjE0IDE3MyAzNjNxMjQgNTUgLTEwIDc5LjV0LTEyOSAyNi41cTEgNyAxIDI1djI0cTY0IDAgMTcwLjUgMC41dDE4MCAxdDkyLjUgMC41di00OXEtNjIgLTIgLTExOSAtMzN0LTkwIC04MQpsLTIxMyAtNDQycTEzIC0zMyAxMjcuNSAtMjkwdDEyMS41IC0yNzRsNDQxIDEwMTdxLTE0IDM4IC00OS41IDYyLjV0LTY1IDMxLjV0LTU1LjUgOHY1MGw0NjAgLTRsMSAtMmwtMSAtNDRxLTEzOSAtNCAtMjAxIC0xNDVxLTUyNiAtMTIxNiAtNTU5IC0xMjkxaC00OXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzU3NyIgdW5pY29kZT0iJiN4ZjI2NzsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTk0OSA2NDNxMCAtMjYgLTE2LjUgLTQ1dC00MS41IC0xOXEtMjYgMCAtNDUgMTYuNXQtMTkgNDEuNXEwIDI2IDE3IDQ1dDQyIDE5dDQ0IC0xNi41dDE5IC00MS41ek05NjQgNTg1bDM1MCA1ODFxLTkgLTggLTY3LjUgLTYyLjV0LTEyNS41IC0xMTYuNXQtMTM2LjUgLTEyN3QtMTE3IC0xMTAuNXQtNTAuNSAtNTEuNWwtMzQ5IC01ODBxNyA3IDY3IDYydDEyNiAxMTYuNXQxMzYgMTI3dDExNyAxMTF0NTAgNTAuNXpNMTYxMSA2NDAKcTAgLTIwMSAtMTA0IC0zNzFxLTMgMiAtMTcgMTF0LTI2LjUgMTYuNXQtMTYuNSA3LjVxLTEzIDAgLTEzIC0xM3EwIC0xMCA1OSAtNDRxLTc0IC0xMTIgLTE4NC41IC0xOTAuNXQtMjQxLjUgLTExMC41bC0xNiA2N3EtMSAxMCAtMTUgMTBxLTUgMCAtOCAtNS41dC0yIC05LjVsMTYgLTY4cS03MiAtMTUgLTE0NiAtMTVxLTE5OSAwIC0zNzIgMTA1cTEgMiAxMyAyMC41dDIxLjUgMzMuNXQ5LjUgMTlxMCAxMyAtMTMgMTNxLTYgMCAtMTcgLTE0LjUKdC0yMi41IC0zNC41dC0xMy41IC0yM3EtMTEzIDc1IC0xOTIgMTg3LjV0LTExMCAyNDQuNWw2OSAxNXExMCAzIDEwIDE1cTAgNSAtNS41IDh0LTEwLjUgMmwtNjggLTE1cS0xNCA3MiAtMTQgMTM5cTAgMjA2IDEwOSAzNzlxMiAtMSAxOC41IC0xMnQzMCAtMTl0MTcuNSAtOHExMyAwIDEzIDEycTAgNiAtMTIuNSAxNS41dC0zMi41IDIxLjVsLTIwIDEycTc3IDExMiAxODkgMTg5dDI0NCAxMDdsMTUgLTY3cTIgLTEwIDE1IC0xMHE1IDAgOCA1LjUKdDIgMTAuNWwtMTUgNjZxNzEgMTMgMTM0IDEzcTIwNCAwIDM3OSAtMTA5cS0zOSAtNTYgLTM5IC02NXEwIC0xMyAxMiAtMTNxMTEgMCA0OCA2NHExMTEgLTc1IDE4Ny41IC0xODZ0MTA3LjUgLTI0MWwtNTYgLTEycS0xMCAtMiAtMTAgLTE2cTAgLTUgNS41IC04dDkuNSAtMmw1NyAxM3ExNCAtNzIgMTQgLTE0MHpNMTY5NiA2NDBxMCAxNjMgLTYzLjUgMzExdC0xNzAuNSAyNTV0LTI1NSAxNzAuNXQtMzExIDYzLjV0LTMxMSAtNjMuNQp0LTI1NSAtMTcwLjV0LTE3MC41IC0yNTV0LTYzLjUgLTMxMXQ2My41IC0zMTF0MTcwLjUgLTI1NXQyNTUgLTE3MC41dDMxMSAtNjMuNXQzMTEgNjMuNXQyNTUgMTcwLjV0MTcwLjUgMjU1dDYzLjUgMzExek0xNzkyIDY0MHEwIC0xODIgLTcxIC0zNDh0LTE5MSAtMjg2dC0yODYgLTE5MXQtMzQ4IC03MXQtMzQ4IDcxdC0yODYgMTkxdC0xOTEgMjg2dC03MSAzNDh0NzEgMzQ4dDE5MSAyODZ0Mjg2IDE5MXQzNDggNzF0MzQ4IC03MXQyODYgLTE5MQp0MTkxIC0yODZ0NzEgLTM0OHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzU3OCIgdW5pY29kZT0iJiN4ZjI2ODsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTg5MyAxNTM2cTI0MCAyIDQ1MSAtMTIwcTIzMiAtMTM0IDM1MiAtMzcybC03NDIgMzlxLTE2MCA5IC0yOTQgLTc0LjV0LTE4NSAtMjI5LjVsLTI3NiA0MjRxMTI4IDE1OSAzMTEgMjQ1LjV0MzgzIDg3LjV6TTE0NiAxMTMxbDMzNyAtNjYzcTcyIC0xNDMgMjExIC0yMTd0MjkzIC00NWwtMjMwIC00NTFxLTIxMiAzMyAtMzg1IDE1Ny41dC0yNzIuNSAzMTZ0LTk5LjUgNDExLjVxMCAyNjcgMTQ2IDQ5MXpNMTczMiA5NjIKcTU4IC0xNTAgNTkuNSAtMzEwLjV0LTQ4LjUgLTMwNnQtMTUzIC0yNzJ0LTI0NiAtMjA5LjVxLTIzMCAtMTMzIC00OTggLTExOWw0MDUgNjIzcTg4IDEzMSA4Mi41IDI5MC41dC0xMDYuNSAyNzcuNXpNODk2IDk0MnExMjUgMCAyMTMuNSAtODguNXQ4OC41IC0yMTMuNXQtODguNSAtMjEzLjV0LTIxMy41IC04OC41dC0yMTMuNSA4OC41dC04OC41IDIxMy41dDg4LjUgMjEzLjV0MjEzLjUgODguNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzU3OSIgdW5pY29kZT0iJiN4ZjI2OTsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTkwMyAtMjU2cS0yODMgMCAtNTA0LjUgMTUwLjV0LTMyOS41IDM5OC41cS01OCAxMzEgLTY3IDMwMXQyNiAzMzIuNXQxMTEgMzEydDE3OSAyNDIuNWwtMTEgLTI4MXExMSAxNCA2OCAxNS41dDcwIC0xNS41cTQyIDgxIDE2MC41IDEzOHQyMzQuNSA1OXEtNTQgLTQ1IC0xMTkuNSAtMTQ4LjV0LTU4LjUgLTE2My41cTI1IC04IDYyLjUgLTEzLjV0NjMgLTcuNXQ2OCAtNHQ1MC41IC0zcTE1IC01IDkuNSAtNDUuNXQtMzAuNSAtNzUuNQpxLTUgLTcgLTE2LjUgLTE4LjV0LTU2LjUgLTM1LjV0LTEwMSAtMzRsMTUgLTE4OWwtMTM5IDY3cS0xOCAtNDMgLTcuNSAtODEuNXQzNiAtNjYuNXQ2NS41IC00MS41dDgxIC02LjVxNTEgOSA5OCAzNC41dDgzLjUgNDV0NzMuNSAxNy41cTYxIC00IDg5LjUgLTMzdDE5LjUgLTY1cS0xIC0yIC0yLjUgLTUuNXQtOC41IC0xMi41dC0xOCAtMTUuNXQtMzEuNSAtMTAuNXQtNDYuNSAtMXEtNjAgLTk1IC0xNDQuNSAtMTM1LjV0LTIwOS41IC0yOS41CnE3NCAtNjEgMTYyLjUgLTgyLjV0MTY4LjUgLTZ0MTU0LjUgNTJ0MTI4IDg3LjV0ODAuNSAxMDRxNDMgOTEgMzkgMTkyLjV0LTM3LjUgMTg4LjV0LTc4LjUgMTI1cTg3IC0zOCAxMzcgLTc5LjV0NzcgLTExMi41cTE1IDE3MCAtNTcuNSAzNDN0LTIwOS41IDI4NHEyNjUgLTc3IDQxMiAtMjc5LjV0MTUxIC01MTcuNXEyIC0xMjcgLTQwLjUgLTI1NXQtMTIzLjUgLTIzOHQtMTg5IC0xOTZ0LTI0Ny41IC0xMzUuNXQtMjg4LjUgLTQ5LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81ODAiIHVuaWNvZGU9IiYjeGYyNmE7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xNDkzIDEzMDhxLTE2NSAxMTAgLTM1OSAxMTBxLTE1NSAwIC0yOTMgLTczdC0yNDAgLTIwMHEtNzUgLTkzIC0xMTkuNSAtMjE4dC00OC41IC0yNjZ2LTQycTQgLTE0MSA0OC41IC0yNjZ0MTE5LjUgLTIxOHExMDIgLTEyNyAyNDAgLTIwMHQyOTMgLTczcTE5NCAwIDM1OSAxMTBxLTEyMSAtMTA4IC0yNzQuNSAtMTY4dC0zMjIuNSAtNjBxLTI5IDAgLTQzIDFxLTE3NSA4IC0zMzMgODJ0LTI3MiAxOTN0LTE4MSAyODF0LTY3IDMzOQpxMCAxODIgNzEgMzQ4dDE5MSAyODZ0Mjg2IDE5MXQzNDggNzFoM3ExNjggLTEgMzIwLjUgLTYwLjV0MjczLjUgLTE2Ny41ek0xNzkyIDY0MHEwIC0xOTIgLTc3IC0zNjIuNXQtMjEzIC0yOTYuNXEtMTA0IC02MyAtMjIyIC02M3EtMTM3IDAgLTI1NSA4NHExNTQgNTYgMjUzLjUgMjMzdDk5LjUgNDA1cTAgMjI3IC05OSA0MDR0LTI1MyAyMzRxMTE5IDgzIDI1NCA4M3ExMTkgMCAyMjYgLTY1cTEzNSAtMTI1IDIxMC41IC0yOTV0NzUuNSAtMzYxegoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzU4MSIgdW5pY29kZT0iJiN4ZjI2YjsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE3OTIgNTk5cTAgLTU2IC03IC0xMDRoLTExNTFxMCAtMTQ2IDEwOS41IC0yNDQuNXQyNTcuNSAtOTguNXE5OSAwIDE4NS41IDQ2LjV0MTM2LjUgMTMwLjVoNDIzcS01NiAtMTU5IC0xNzAuNSAtMjgxdC0yNjcuNSAtMTg4LjV0LTMyMSAtNjYuNXEtMTg3IDAgLTM1NiA4M3EtMjI4IC0xMTYgLTM5NCAtMTE2cS0yMzcgMCAtMjM3IDI2M3EwIDExNSA0NSAyNzVxMTcgNjAgMTA5IDIyOXExOTkgMzYwIDQ3NSA2MDYKcS0xODQgLTc5IC00MjcgLTM1NHE2MyAyNzQgMjgzLjUgNDQ5LjV0NTAxLjUgMTc1LjVxMzAgMCA0NSAtMXEyNTUgMTE3IDQzMyAxMTdxNjQgMCAxMTYgLTEzdDk0LjUgLTQwLjV0NjYuNSAtNzYuNXQyNCAtMTE1cTAgLTExNiAtNzUgLTI4NnExMDEgLTE4MiAxMDEgLTM5MHpNMTcyMiAxMjM5cTAgODMgLTUzIDEzMnQtMTM3IDQ5cS0xMDggMCAtMjU0IC03MHExMjEgLTQ3IDIyMi41IC0xMzEuNXQxNzAuNSAtMTk1LjVxNTEgMTM1IDUxIDIxNnoKTTEyOCAycTAgLTg2IDQ4LjUgLTEzMi41dDEzNC41IC00Ni41cTExNSAwIDI2NiA4M3EtMTIyIDcyIC0yMTMuNSAxODN0LTEzNy41IDI0NXEtOTggLTIwNSAtOTggLTMzMnpNNjMyIDcxNWg3MjhxLTUgMTQyIC0xMTMgMjM3dC0yNTEgOTVxLTE0NCAwIC0yNTEuNSAtOTV0LTExMi41IC0yMzd6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81ODIiIHVuaWNvZGU9IiYjeGYyNmM7IiBob3Jpei1hZHYteD0iMjA0OCIgCmQ9Ik0xNzkyIDI4OHY5NjBxMCAxMyAtOS41IDIyLjV0LTIyLjUgOS41aC0xNjAwcS0xMyAwIC0yMi41IC05LjV0LTkuNSAtMjIuNXYtOTYwcTAgLTEzIDkuNSAtMjIuNXQyMi41IC05LjVoMTYwMHExMyAwIDIyLjUgOS41dDkuNSAyMi41ek0xOTIwIDEyNDh2LTk2MHEwIC02NiAtNDcgLTExM3QtMTEzIC00N2gtNzM2di0xMjhoMzUycTE0IDAgMjMgLTl0OSAtMjN2LTY0cTAgLTE0IC05IC0yM3QtMjMgLTloLTgzMnEtMTQgMCAtMjMgOXQtOSAyMwp2NjRxMCAxNCA5IDIzdDIzIDloMzUydjEyOGgtNzM2cS02NiAwIC0xMTMgNDd0LTQ3IDExM3Y5NjBxMCA2NiA0NyAxMTN0MTEzIDQ3aDE2MDBxNjYgMCAxMTMgLTQ3dDQ3IC0xMTN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81ODMiIHVuaWNvZGU9IiYjeGYyNmQ7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xMzggMTQwOGgxOTdxLTcwIC02NCAtMTI2IC0xNDlxLTM2IC01NiAtNTkgLTExNXQtMzAgLTEyNS41dC04LjUgLTEyMHQxMC41IC0xMzJ0MjEgLTEyNnQyOCAtMTM2LjVxNCAtMTkgNiAtMjhxNTEgLTIzOCA4MSAtMzI5cTU3IC0xNzEgMTUyIC0yNzVoLTI3MnEtNDggMCAtODIgMzR0LTM0IDgydjEzMDRxMCA0OCAzNCA4MnQ4MiAzNHpNMTM0NiAxNDA4aDMwOHE0OCAwIDgyIC0zNHQzNCAtODJ2LTEzMDRxMCAtNDggLTM0IC04MnQtODIgLTM0CmgtMTc4cTIxMiAyMTAgMTk2IDU2NWwtNDY5IC0xMDFxLTIgLTQ1IC0xMiAtODJ0LTMxIC03MnQtNTkuNSAtNTkuNXQtOTMuNSAtMzYuNXEtMTIzIC0yNiAtMTk5IDQwcS0zMiAyNyAtNTMgNjF0LTUxLjUgMTI5dC02NC41IDI1OHEtMzUgMTYzIC00NS41IDI2M3QtNS41IDEzOXQyMyA3N3EyMCA0MSA2Mi41IDczdDEwMi41IDQ1cTQ1IDEyIDgzLjUgNi41dDY3IC0xN3Q1NCAtMzV0NDMgLTQ4dDM0LjUgLTU2LjVsNDY4IDEwMApxLTY4IDE3NSAtMTgwIDI4N3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzU4NCIgdW5pY29kZT0iJiN4ZjI2ZTsiIApkPSJNMTQwMSAtMTFsLTYgLTZxLTExMyAtMTEzIC0yNTkgLTE3NXEtMTU0IC02NCAtMzE3IC02NHEtMTY1IDAgLTMxNyA2NHEtMTQ4IDYzIC0yNTkgMTc1cS0xMTMgMTEyIC0xNzUgMjU4cS00MiAxMDMgLTU0IDE4OXEtNCAyOCA0OCAzNnE1MSA4IDU2IC0yMHExIC0xIDEgLTRxMTggLTkwIDQ2IC0xNTlxNTAgLTEyNCAxNTIgLTIyNnE5OCAtOTggMjI2IC0xNTJxMTMyIC01NiAyNzYgLTU2cTE0MyAwIDI3NiA1NnExMjggNTUgMjI1IDE1Mmw2IDYKcTEwIDEwIDI1IDZxMTIgLTMgMzMgLTIycTM2IC0zNyAxNyAtNTh6TTkyOSA2MDRsLTY2IC02Nmw2MyAtNjNxMjEgLTIxIC03IC00OXEtMTcgLTE3IC0zMiAtMTdxLTEwIDAgLTE5IDEwbC02MiA2MWwtNjYgLTY2cS01IC01IC0xNSAtNXEtMTUgMCAtMzEgMTZsLTIgMnEtMTggMTUgLTE4IDI5cTAgNyA4IDE3bDY2IDY1bC02NiA2NnEtMTYgMTYgMTQgNDVxMTggMTggMzEgMThxNiAwIDEzIC01bDY1IC02Nmw2NSA2NXExOCAxNyA0OCAtMTMKcTI3IC0yNyAxMSAtNDR6TTE0MDAgNTQ3cTAgLTExOCAtNDYgLTIyOHEtNDUgLTEwNSAtMTI2IC0xODZxLTgwIC04MCAtMTg3IC0xMjZ0LTIyOCAtNDZ0LTIyOCA0NnQtMTg3IDEyNnEtODIgODIgLTEyNSAxODZxLTE1IDMzIC0xNSA0MGgtMXEtOSAyNyA0MyA0NHE1MCAxNiA2MCAtMTJxMzcgLTk5IDk3IC0xNjdoMXYzMzl2MnEzIDEzNiAxMDIgMjMycTEwNSAxMDMgMjUzIDEwM3ExNDcgMCAyNTEgLTEwM3QxMDQgLTI0OQpxMCAtMTQ3IC0xMDQuNSAtMjUxdC0yNTAuNSAtMTA0cS01OCAwIC0xMTIgMTZxLTI4IDExIC0xMyA2MXExNiA1MSA0NCA0M2wxNCAtM3ExNCAtMyAzMyAtNnQzMCAtM3ExMDQgMCAxNzYgNzEuNXQ3MiAxNzQuNXEwIDEwMSAtNzIgMTcxcS03MSA3MSAtMTc1IDcxcS0xMDcgMCAtMTc4IC04MHEtNjQgLTcyIC02NCAtMTYwdi00MTNxMTEwIC02NyAyNDIgLTY3cTk2IDAgMTg1IDM2LjV0MTU2IDEwMy41dDEwMy41IDE1NXQzNi41IDE4MwpxMCAxOTggLTE0MSAzMzlxLTE0MCAxNDAgLTMzOSAxNDBxLTIwMCAwIC0zNDAgLTE0MHEtNTMgLTUzIC03NyAtODdsLTIgLTJxLTggLTExIC0xMyAtMTUuNXQtMjEuNSAtOS41dC0zOC41IDNxLTIxIDUgLTM2LjUgMTYuNXQtMTUuNSAyNi41djY4MHEwIDE1IDEwLjUgMjYuNXQyNy41IDExLjVoODc3cTMwIDAgMzAgLTU1dC0zMCAtNTVoLTgxMXYtNDgzaDFxNDAgNDIgMTAyIDg0dDEwOCA2MXExMDkgNDYgMjMxIDQ2cTEyMSAwIDIyOCAtNDYKdDE4NyAtMTI2cTgxIC04MSAxMjYgLTE4NnE0NiAtMTEyIDQ2IC0yMjl6TTEzNjkgMTEyOHE5IC04IDkgLTE4dC01LjUgLTE4dC0xNi41IC0yMXEtMjYgLTI2IC0zOSAtMjZxLTkgMCAtMTYgN3EtMTA2IDkxIC0yMDcgMTMzcS0xMjggNTYgLTI3NiA1NnEtMTMzIDAgLTI2MiAtNDlxLTI3IC0xMCAtNDUgMzdxLTkgMjUgLTggMzhxMyAxNiAxNiAyMHExMzAgNTcgMjk5IDU3cTE2NCAwIDMxNiAtNjRxMTM3IC01OCAyMzUgLTE1MnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzU4NSIgdW5pY29kZT0iJiN4ZjI3MDsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE1NTEgNjBxMTUgNiAyNiAzdDExIC0xNy41dC0xNSAtMzMuNXEtMTMgLTE2IC00NCAtNDMuNXQtOTUuNSAtNjh0LTE0MSAtNzR0LTE4OCAtNTh0LTIyOS41IC0yNC41cS0xMTkgMCAtMjM4IDMxdC0yMDkgNzYuNXQtMTcyLjUgMTA0dC0xMzIuNSAxMDV0LTg0IDg3LjVxLTggOSAtMTAgMTYuNXQxIDEydDggN3QxMS41IDJ0MTEuNSAtNC41cTE5MiAtMTE3IDMwMCAtMTY2cTM4OSAtMTc2IDc5OSAtOTBxMTkwIDQwIDM5MSAxMzV6Ck0xNzU4IDE3NXExMSAtMTYgMi41IC02OS41dC0yOC41IC0xMDIuNXEtMzQgLTgzIC04NSAtMTI0cS0xNyAtMTQgLTI2IC05dDAgMjRxMjEgNDUgNDQuNSAxMjEuNXQ2LjUgOTguNXEtNSA3IC0xNS41IDExLjV0LTI3IDZ0LTI5LjUgMi41dC0zNSAwdC0zMS41IC0ydC0zMSAtM3QtMjIuNSAtMnEtNiAtMSAtMTMgLTEuNXQtMTEgLTF0LTguNSAtMXQtNyAtMC41aC01LjVoLTQuNXQtMyAwLjV0LTIgMS41bC0xLjUgM3EtNiAxNiA0NyA0MHQxMDMgMzAKcTQ2IDcgMTA4IDF0NzYgLTI0ek0xMzY0IDYxOHEwIC0zMSAxMy41IC02NHQzMiAtNTh0MzcuNSAtNDZ0MzMgLTMybDEzIC0xMWwtMjI3IC0yMjRxLTQwIDM3IC03OSA3NS41dC01OCA1OC41bC0xOSAyMHEtMTEgMTEgLTI1IDMzcS0zOCAtNTkgLTk3LjUgLTEwMi41dC0xMjcuNSAtNjMuNXQtMTQwIC0yM3QtMTM3LjUgMjF0LTExNy41IDY1LjV0LTgzIDExM3QtMzEgMTYyLjVxMCA4NCAyOCAxNTR0NzIgMTE2LjV0MTA2LjUgODN0MTIyLjUgNTcKdDEzMCAzNC41dDExOS41IDE4LjV0OTkuNSA2LjV2MTI3cTAgNjUgLTIxIDk3cS0zNCA1MyAtMTIxIDUzcS02IDAgLTE2LjUgLTF0LTQwLjUgLTEydC01NiAtMjkuNXQtNTYgLTU5LjV0LTQ4IC05NmwtMjk0IDI3cTAgNjAgMjIgMTE5dDY3IDExM3QxMDggOTV0MTUxLjUgNjUuNXQxOTAuNSAyNC41cTEwMCAwIDE4MSAtMjV0MTI5LjUgLTYxLjV0ODEgLTgzdDQ1IC04NnQxMi41IC03My41di01ODl6TTY5MiA1OTdxMCAtODYgNzAgLTEzMwpxNjYgLTQ0IDEzOSAtMjJxODQgMjUgMTE0IDEyM3ExNCA0NSAxNCAxMDF2MTYycS01OSAtMiAtMTExIC0xMnQtMTA2LjUgLTMzLjV0LTg3IC03MXQtMzIuNSAtMTE0LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81ODYiIHVuaWNvZGU9IiYjeGYyNzE7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xNTM2IDEyODBxNTIgMCA5MCAtMzh0MzggLTkwdi0xMjgwcTAgLTUyIC0zOCAtOTB0LTkwIC0zOGgtMTQwOHEtNTIgMCAtOTAgMzh0LTM4IDkwdjEyODBxMCA1MiAzOCA5MHQ5MCAzOGgxMjh2OTZxMCA2NiA0NyAxMTN0MTEzIDQ3aDY0cTY2IDAgMTEzIC00N3Q0NyAtMTEzdi05NmgzODR2OTZxMCA2NiA0NyAxMTN0MTEzIDQ3aDY0cTY2IDAgMTEzIC00N3Q0NyAtMTEzdi05NmgxMjh6TTExNTIgMTM3NnYtMjg4cTAgLTE0IDkgLTIzdDIzIC05Cmg2NHExNCAwIDIzIDl0OSAyM3YyODhxMCAxNCAtOSAyM3QtMjMgOWgtNjRxLTE0IDAgLTIzIC05dC05IC0yM3pNMzg0IDEzNzZ2LTI4OHEwIC0xNCA5IC0yM3QyMyAtOWg2NHExNCAwIDIzIDl0OSAyM3YyODhxMCAxNCAtOSAyM3QtMjMgOWgtNjRxLTE0IDAgLTIzIC05dC05IC0yM3pNMTUzNiAtMTI4djEwMjRoLTE0MDh2LTEwMjRoMTQwOHpNODk2IDQ0OGgyMjRxMTQgMCAyMyAtOXQ5IC0yM3YtNjRxMCAtMTQgLTkgLTIzdC0yMyAtOWgtMjI0CnYtMjI0cTAgLTE0IC05IC0yM3QtMjMgLTloLTY0cS0xNCAwIC0yMyA5dC05IDIzdjIyNGgtMjI0cS0xNCAwIC0yMyA5dC05IDIzdjY0cTAgMTQgOSAyM3QyMyA5aDIyNHYyMjRxMCAxNCA5IDIzdDIzIDloNjRxMTQgMCAyMyAtOXQ5IC0yM3YtMjI0eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTg3IiB1bmljb2RlPSImI3hmMjcyOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTE1MiA0MTZ2LTY0cTAgLTE0IC05IC0yM3QtMjMgLTloLTU3NnEtMTQgMCAtMjMgOXQtOSAyM3Y2NHEwIDE0IDkgMjN0MjMgOWg1NzZxMTQgMCAyMyAtOXQ5IC0yM3pNMTI4IC0xMjhoMTQwOHYxMDI0aC0xNDA4di0xMDI0ek01MTIgMTA4OHYyODhxMCAxNCAtOSAyM3QtMjMgOWgtNjRxLTE0IDAgLTIzIC05dC05IC0yM3YtMjg4cTAgLTE0IDkgLTIzdDIzIC05aDY0cTE0IDAgMjMgOXQ5IDIzek0xMjgwIDEwODh2Mjg4cTAgMTQgLTkgMjMKdC0yMyA5aC02NHEtMTQgMCAtMjMgLTl0LTkgLTIzdi0yODhxMCAtMTQgOSAtMjN0MjMgLTloNjRxMTQgMCAyMyA5dDkgMjN6TTE2NjQgMTE1MnYtMTI4MHEwIC01MiAtMzggLTkwdC05MCAtMzhoLTE0MDhxLTUyIDAgLTkwIDM4dC0zOCA5MHYxMjgwcTAgNTIgMzggOTB0OTAgMzhoMTI4djk2cTAgNjYgNDcgMTEzdDExMyA0N2g2NHE2NiAwIDExMyAtNDd0NDcgLTExM3YtOTZoMzg0djk2cTAgNjYgNDcgMTEzdDExMyA0N2g2NHE2NiAwIDExMyAtNDcKdDQ3IC0xMTN2LTk2aDEyOHE1MiAwIDkwIC0zOHQzOCAtOTB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81ODgiIHVuaWNvZGU9IiYjeGYyNzM7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xMTExIDE1MWwtNDYgLTQ2cS05IC05IC0yMiAtOXQtMjMgOWwtMTg4IDE4OWwtMTg4IC0xODlxLTEwIC05IC0yMyAtOXQtMjIgOWwtNDYgNDZxLTkgOSAtOSAyMnQ5IDIzbDE4OSAxODhsLTE4OSAxODhxLTkgMTAgLTkgMjN0OSAyMmw0NiA0NnE5IDkgMjIgOXQyMyAtOWwxODggLTE4OGwxODggMTg4cTEwIDkgMjMgOXQyMiAtOWw0NiAtNDZxOSAtOSA5IC0yMnQtOSAtMjNsLTE4OCAtMTg4bDE4OCAtMTg4cTkgLTEwIDkgLTIzdC05IC0yMnoKTTEyOCAtMTI4aDE0MDh2MTAyNGgtMTQwOHYtMTAyNHpNNTEyIDEwODh2Mjg4cTAgMTQgLTkgMjN0LTIzIDloLTY0cS0xNCAwIC0yMyAtOXQtOSAtMjN2LTI4OHEwIC0xNCA5IC0yM3QyMyAtOWg2NHExNCAwIDIzIDl0OSAyM3pNMTI4MCAxMDg4djI4OHEwIDE0IC05IDIzdC0yMyA5aC02NHEtMTQgMCAtMjMgLTl0LTkgLTIzdi0yODhxMCAtMTQgOSAtMjN0MjMgLTloNjRxMTQgMCAyMyA5dDkgMjN6TTE2NjQgMTE1MnYtMTI4MApxMCAtNTIgLTM4IC05MHQtOTAgLTM4aC0xNDA4cS01MiAwIC05MCAzOHQtMzggOTB2MTI4MHEwIDUyIDM4IDkwdDkwIDM4aDEyOHY5NnEwIDY2IDQ3IDExM3QxMTMgNDdoNjRxNjYgMCAxMTMgLTQ3dDQ3IC0xMTN2LTk2aDM4NHY5NnEwIDY2IDQ3IDExM3QxMTMgNDdoNjRxNjYgMCAxMTMgLTQ3dDQ3IC0xMTN2LTk2aDEyOHE1MiAwIDkwIC0zOHQzOCAtOTB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81ODkiIHVuaWNvZGU9IiYjeGYyNzQ7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xMzAzIDU3MmwtNTEyIC01MTJxLTEwIC05IC0yMyAtOXQtMjMgOWwtMjg4IDI4OHEtOSAxMCAtOSAyM3Q5IDIybDQ2IDQ2cTkgOSAyMiA5dDIzIC05bDIyMCAtMjIwbDQ0NCA0NDRxMTAgOSAyMyA5dDIyIC05bDQ2IC00NnE5IC05IDkgLTIydC05IC0yM3pNMTI4IC0xMjhoMTQwOHYxMDI0aC0xNDA4di0xMDI0ek01MTIgMTA4OHYyODhxMCAxNCAtOSAyM3QtMjMgOWgtNjRxLTE0IDAgLTIzIC05dC05IC0yM3YtMjg4cTAgLTE0IDkgLTIzCnQyMyAtOWg2NHExNCAwIDIzIDl0OSAyM3pNMTI4MCAxMDg4djI4OHEwIDE0IC05IDIzdC0yMyA5aC02NHEtMTQgMCAtMjMgLTl0LTkgLTIzdi0yODhxMCAtMTQgOSAtMjN0MjMgLTloNjRxMTQgMCAyMyA5dDkgMjN6TTE2NjQgMTE1MnYtMTI4MHEwIC01MiAtMzggLTkwdC05MCAtMzhoLTE0MDhxLTUyIDAgLTkwIDM4dC0zOCA5MHYxMjgwcTAgNTIgMzggOTB0OTAgMzhoMTI4djk2cTAgNjYgNDcgMTEzdDExMyA0N2g2NHE2NiAwIDExMyAtNDcKdDQ3IC0xMTN2LTk2aDM4NHY5NnEwIDY2IDQ3IDExM3QxMTMgNDdoNjRxNjYgMCAxMTMgLTQ3dDQ3IC0xMTN2LTk2aDEyOHE1MiAwIDkwIC0zOHQzOCAtOTB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81OTAiIHVuaWNvZGU9IiYjeGYyNzU7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik00NDggMTUzNnEyNiAwIDQ1IC0xOXQxOSAtNDV2LTg5MWw1MzYgNDI5cTE3IDE0IDQwIDE0cTI2IDAgNDUgLTE5dDE5IC00NXYtMzc5bDUzNiA0MjlxMTcgMTQgNDAgMTRxMjYgMCA0NSAtMTl0MTkgLTQ1di0xMTUycTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtMTY2NHEtMjYgMCAtNDUgMTl0LTE5IDQ1djE2NjRxMCAyNiAxOSA0NXQ0NSAxOWgzODR6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81OTEiIHVuaWNvZGU9IiYjeGYyNzY7IiBob3Jpei1hZHYteD0iMTAyNCIgCmQ9Ik01MTIgNDQ4cTY2IDAgMTI4IDE1di02NTVxMCAtMjYgLTE5IC00NXQtNDUgLTE5aC0xMjhxLTI2IDAgLTQ1IDE5dC0xOSA0NXY2NTVxNjIgLTE1IDEyOCAtMTV6TTUxMiAxNTM2cTIxMiAwIDM2MiAtMTUwdDE1MCAtMzYydC0xNTAgLTM2MnQtMzYyIC0xNTB0LTM2MiAxNTB0LTE1MCAzNjJ0MTUwIDM2MnQzNjIgMTUwek01MTIgMTMxMnExNCAwIDIzIDl0OSAyM3QtOSAyM3QtMjMgOXEtMTQ2IDAgLTI0OSAtMTAzdC0xMDMgLTI0OQpxMCAtMTQgOSAtMjN0MjMgLTl0MjMgOXQ5IDIzcTAgMTE5IDg0LjUgMjAzLjV0MjAzLjUgODQuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzU5MiIgdW5pY29kZT0iJiN4ZjI3NzsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE3NDUgMTIzOXExMCAtMTAgMTAgLTIzdC0xMCAtMjNsLTE0MSAtMTQxcS0yOCAtMjggLTY4IC0yOGgtMTM0NHEtMjYgMCAtNDUgMTl0LTE5IDQ1djI1NnEwIDI2IDE5IDQ1dDQ1IDE5aDU3NnY2NHEwIDI2IDE5IDQ1dDQ1IDE5aDEyOHEyNiAwIDQ1IC0xOXQxOSAtNDV2LTY0aDUxMnE0MCAwIDY4IC0yOHpNNzY4IDMyMGgyNTZ2LTUxMnEwIC0yNiAtMTkgLTQ1dC00NSAtMTloLTEyOHEtMjYgMCAtNDUgMTl0LTE5IDQ1djUxMnpNMTYwMCA3NjgKcTI2IDAgNDUgLTE5dDE5IC00NXYtMjU2cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtMTM0NHEtNDAgMCAtNjggMjhsLTE0MSAxNDFxLTEwIDEwIC0xMCAyM3QxMCAyM2wxNDEgMTQxcTI4IDI4IDY4IDI4aDUxMnYxOTJoMjU2di0xOTJoNTc2eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNTkzIiB1bmljb2RlPSImI3hmMjc4OyIgaG9yaXotYWR2LXg9IjIwNDgiIApkPSJNMjAyMCAxNTI1cTI4IC0yMCAyOCAtNTN2LTE0MDhxMCAtMjAgLTExIC0zNnQtMjkgLTIzbC02NDAgLTI1NnEtMjQgLTExIC00OCAwbC02MTYgMjQ2bC02MTYgLTI0NnEtMTAgLTUgLTI0IC01cS0xOSAwIC0zNiAxMXEtMjggMjAgLTI4IDUzdjE0MDhxMCAyMCAxMSAzNnQyOSAyM2w2NDAgMjU2cTI0IDExIDQ4IDBsNjE2IC0yNDZsNjE2IDI0NnEzMiAxMyA2MCAtNnpNNzM2IDEzOTB2LTEyNzBsNTc2IC0yMzB2MTI3MHpNMTI4IDExNzMKdi0xMjcwbDU0NCAyMTd2MTI3MHpNMTkyMCAxMDd2MTI3MGwtNTQ0IC0yMTd2LTEyNzB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81OTQiIHVuaWNvZGU9IiYjeGYyNzk7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik01MTIgMTUzNnExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV2LTE0NzJxMCAtMjAgLTE3IC0yOGwtNDgwIC0yNTZxLTcgLTQgLTE1IC00cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2MTQ3MnEwIDIwIDE3IDI4bDQ4MCAyNTZxNyA0IDE1IDR6TTE3NjAgMTUzNnExMyAwIDIyLjUgLTkuNXQ5LjUgLTIyLjV2LTE0NzJxMCAtMjAgLTE3IC0yOGwtNDgwIC0yNTZxLTcgLTQgLTE1IC00cS0xMyAwIC0yMi41IDkuNXQtOS41IDIyLjV2MTQ3MgpxMCAyMCAxNyAyOGw0ODAgMjU2cTcgNCAxNSA0ek02NDAgMTUzNnE4IDAgMTQgLTNsNTEyIC0yNTZxMTggLTEwIDE4IC0yOXYtMTQ3MnEwIC0xMyAtOS41IC0yMi41dC0yMi41IC05LjVxLTggMCAtMTQgM2wtNTEyIDI1NnEtMTggMTAgLTE4IDI5djE0NzJxMCAxMyA5LjUgMjIuNXQyMi41IDkuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzU5NSIgdW5pY29kZT0iJiN4ZjI3YTsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTY0MCA2NDBxMCA1MyAtMzcuNSA5MC41dC05MC41IDM3LjV0LTkwLjUgLTM3LjV0LTM3LjUgLTkwLjV0MzcuNSAtOTAuNXQ5MC41IC0zNy41dDkwLjUgMzcuNXQzNy41IDkwLjV6TTEwMjQgNjQwcTAgNTMgLTM3LjUgOTAuNXQtOTAuNSAzNy41dC05MC41IC0zNy41dC0zNy41IC05MC41dDM3LjUgLTkwLjV0OTAuNSAtMzcuNXQ5MC41IDM3LjV0MzcuNSA5MC41ek0xNDA4IDY0MHEwIDUzIC0zNy41IDkwLjV0LTkwLjUgMzcuNQp0LTkwLjUgLTM3LjV0LTM3LjUgLTkwLjV0MzcuNSAtOTAuNXQ5MC41IC0zNy41dDkwLjUgMzcuNXQzNy41IDkwLjV6TTE3OTIgNjQwcTAgLTE3NCAtMTIwIC0zMjEuNXQtMzI2IC0yMzN0LTQ1MCAtODUuNXEtMTEwIDAgLTIxMSAxOHEtMTczIC0xNzMgLTQzNSAtMjI5cS01MiAtMTAgLTg2IC0xM3EtMTIgLTEgLTIyIDZ0LTEzIDE4cS00IDE1IDIwIDM3cTUgNSAyMy41IDIxLjV0MjUuNSAyMy41dDIzLjUgMjUuNXQyNCAzMS41dDIwLjUgMzcKdDIwIDQ4dDE0LjUgNTcuNXQxMi41IDcyLjVxLTE0NiA5MCAtMjI5LjUgMjE2LjV0LTgzLjUgMjY5LjVxMCAxNzQgMTIwIDMyMS41dDMyNiAyMzN0NDUwIDg1LjV0NDUwIC04NS41dDMyNiAtMjMzdDEyMCAtMzIxLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81OTYiIHVuaWNvZGU9IiYjeGYyN2I7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik02NDAgNjQwcTAgLTUzIC0zNy41IC05MC41dC05MC41IC0zNy41dC05MC41IDM3LjV0LTM3LjUgOTAuNXQzNy41IDkwLjV0OTAuNSAzNy41dDkwLjUgLTM3LjV0MzcuNSAtOTAuNXpNMTAyNCA2NDBxMCAtNTMgLTM3LjUgLTkwLjV0LTkwLjUgLTM3LjV0LTkwLjUgMzcuNXQtMzcuNSA5MC41dDM3LjUgOTAuNXQ5MC41IDM3LjV0OTAuNSAtMzcuNXQzNy41IC05MC41ek0xNDA4IDY0MHEwIC01MyAtMzcuNSAtOTAuNXQtOTAuNSAtMzcuNQp0LTkwLjUgMzcuNXQtMzcuNSA5MC41dDM3LjUgOTAuNXQ5MC41IDM3LjV0OTAuNSAtMzcuNXQzNy41IC05MC41ek04OTYgMTE1MnEtMjA0IDAgLTM4MS41IC02OS41dC0yODIgLTE4Ny41dC0xMDQuNSAtMjU1cTAgLTExMiA3MS41IC0yMTMuNXQyMDEuNSAtMTc1LjVsODcgLTUwbC0yNyAtOTZxLTI0IC05MSAtNzAgLTE3MnExNTIgNjMgMjc1IDE3MWw0MyAzOGw1NyAtNnE2OSAtOCAxMzAgLThxMjA0IDAgMzgxLjUgNjkuNXQyODIgMTg3LjUKdDEwNC41IDI1NXQtMTA0LjUgMjU1dC0yODIgMTg3LjV0LTM4MS41IDY5LjV6TTE3OTIgNjQwcTAgLTE3NCAtMTIwIC0zMjEuNXQtMzI2IC0yMzN0LTQ1MCAtODUuNXEtNzAgMCAtMTQ1IDhxLTE5OCAtMTc1IC00NjAgLTI0MnEtNDkgLTE0IC0xMTQgLTIyaC01cS0xNSAwIC0yNyAxMC41dC0xNiAyNy41djFxLTMgNCAtMC41IDEydDIgMTB0NC41IDkuNWw2IDl0NyA4LjV0OCA5cTcgOCAzMSAzNC41dDM0LjUgMzh0MzEgMzkuNXQzMi41IDUxCnQyNyA1OXQyNiA3NnEtMTU3IDg5IC0yNDcuNSAyMjB0LTkwLjUgMjgxcTAgMTMwIDcxIDI0OC41dDE5MSAyMDQuNXQyODYgMTM2LjV0MzQ4IDUwLjV0MzQ4IC01MC41dDI4NiAtMTM2LjV0MTkxIC0yMDQuNXQ3MSAtMjQ4LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81OTciIHVuaWNvZGU9IiYjeGYyN2M7IiBob3Jpei1hZHYteD0iMTAyNCIgCmQ9Ik01MTIgMzQ1bDUxMiAyOTV2LTU5MWwtNTEyIC0yOTZ2NTkyek0wIDY0MHYtNTkxbDUxMiAyOTZ6TTUxMiAxNTI3di01OTFsLTUxMiAtMjk2djU5MXpNNTEyIDkzNmw1MTIgMjk1di01OTF6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il81OTgiIHVuaWNvZGU9IiYjeGYyN2Q7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xNzA5IDEwMThxLTEwIC0yMzYgLTMzMiAtNjUxcS0zMzMgLTQzMSAtNTYyIC00MzFxLTE0MiAwIC0yNDAgMjYzcS00NCAxNjAgLTEzMiA0ODJxLTcyIDI2MiAtMTU3IDI2MnEtMTggMCAtMTI3IC03NmwtNzcgOThxMjQgMjEgMTA4IDk2LjV0MTMwIDExNS41cTE1NiAxMzggMjQxIDE0NnE5NSA5IDE1MyAtNTUuNXQ4MSAtMjAzLjVxNDQgLTI4NyA2NiAtMzczcTU1IC0yNDkgMTIwIC0yNDlxNTEgMCAxNTQgMTYxcTEwMSAxNjEgMTA5IDI0NgpxMTMgMTM5IC0xMDkgMTM5cS01NyAwIC0xMjEgLTI2cTEyMCAzOTMgNDU5IDM4MnEyNTEgLTggMjM2IC0zMjZ6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9ImYyN2UiIHVuaWNvZGU9IiYjeGYyN2U7IiAKZD0iTTAgMTQwOGgxNTM2di0xNTM2aC0xNTM2djE1MzZ6TTEwODUgMjkzbC0yMjEgNjMxbDIyMSAyOTdoLTYzNGwyMjEgLTI5N2wtMjIxIC02MzFsMzE3IC0zMDR6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyODAiIHVuaWNvZGU9IiYjeGYyODA7IiAKZD0iTTAgMTQwOGgxNTM2di0xNTM2aC0xNTM2djE1MzZ6TTkwOCAxMDg4bC0xMiAtMzNsNzUgLTgzbC0zMSAtMTE0bDI1IC0yNWwxMDcgNTdsMTA3IC01N2wyNSAyNWwtMzEgMTE0bDc1IDgzbC0xMiAzM2gtOTVsLTUzIDk2aC0zMmwtNTMgLTk2aC05NXpNNjQxIDkyNXEzMiAwIDQ0LjUgLTE2dDExLjUgLTYzbDE3NCAyMXEwIDU1IC0xNy41IDkyLjV0LTUwLjUgNTZ0LTY5IDI1LjV0LTg1IDdxLTEzMyAwIC0xOTkgLTU3LjV0LTY2IC0xODIuNXYtNzIKaC05NnYtMTI4aDc2cTIwIDAgMjAgLTh2LTM4MnEwIC0xNCAtNSAtMjB0LTE4IC03bC03MyAtN3YtODhoNDQ4djg2bC0xNDkgMTRxLTYgMSAtOC41IDEuNXQtMy41IDIuNXQtMC41IDR0MSA3dDAuNSAxMHYzODdoMTkxbDM4IDEyOGgtMjMxcS02IDAgLTIgNnQ0IDl2ODBxMCAyNyAxLjUgNDAuNXQ3LjUgMjh0MTkuNSAyMHQzNi41IDUuNXpNMTI0OCA5NnY4NmwtNTQgOXEtNyAxIC05LjUgMi41dC0yLjUgM3QxIDcuNXQxIDEydjUyMGgtMjc1CmwtMjMgLTEwMWw4MyAtMjJxMjMgLTcgMjMgLTI3di0zNzBxMCAtMTQgLTYgLTE4LjV0LTIwIC02LjVsLTcwIC05di04NmgzNTJ6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyODEiIHVuaWNvZGU9IiYjeGYyODE7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xNzkyIDY5MHEwIC01OCAtMjkuNSAtMTA1LjV0LTc5LjUgLTcyLjVxMTIgLTQ2IDEyIC05NnEwIC0xNTUgLTEwNi41IC0yODd0LTI5MC41IC0yMDguNXQtNDAwIC03Ni41dC0zOTkuNSA3Ni41dC0yOTAgMjA4LjV0LTEwNi41IDI4N3EwIDQ3IDExIDk0cS01MSAyNSAtODIgNzMuNXQtMzEgMTA2LjVxMCA4MiA1OCAxNDAuNXQxNDEgNTguNXE4NSAwIDE0NSAtNjNxMjE4IDE1MiA1MTUgMTYybDExNiA1MjFxMyAxMyAxNSAyMXQyNiA1CmwzNjkgLTgxcTE4IDM3IDU0IDU5LjV0NzkgMjIuNXE2MiAwIDEwNiAtNDMuNXQ0NCAtMTA1LjV0LTQ0IC0xMDZ0LTEwNiAtNDR0LTEwNS41IDQzLjV0LTQzLjUgMTA1LjVsLTMzNCA3NGwtMTA0IC00NzJxMzAwIC05IDUxOSAtMTYwcTU4IDYxIDE0MyA2MXE4MyAwIDE0MSAtNTguNXQ1OCAtMTQwLjV6TTQxOCA0OTFxMCAtNjIgNDMuNSAtMTA2dDEwNS41IC00NHQxMDYgNDR0NDQgMTA2dC00NCAxMDUuNXQtMTA2IDQzLjVxLTYxIDAgLTEwNSAtNDQKdC00NCAtMTA1ek0xMjI4IDEzNnExMSAxMSAxMSAyNnQtMTEgMjZxLTEwIDEwIC0yNSAxMHQtMjYgLTEwcS00MSAtNDIgLTEyMSAtNjJ0LTE2MCAtMjB0LTE2MCAyMHQtMTIxIDYycS0xMSAxMCAtMjYgMTB0LTI1IC0xMHEtMTEgLTEwIC0xMSAtMjUuNXQxMSAtMjYuNXE0MyAtNDMgMTE4LjUgLTY4dDEyMi41IC0yOS41dDkxIC00LjV0OTEgNC41dDEyMi41IDI5LjV0MTE4LjUgNjh6TTEyMjUgMzQxcTYyIDAgMTA1LjUgNDR0NDMuNSAxMDYKcTAgNjEgLTQ0IDEwNXQtMTA1IDQ0cS02MiAwIC0xMDYgLTQzLjV0LTQ0IC0xMDUuNXQ0NCAtMTA2dDEwNiAtNDR6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il82MDIiIHVuaWNvZGU9IiYjeGYyODI7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik02OSA3NDFoMXExNiAxMjYgNTguNSAyNDEuNXQxMTUgMjE3dDE2Ny41IDE3NnQyMjMuNSAxMTcuNXQyNzYuNSA0M3EyMzEgMCA0MTQgLTEwNS41dDI5NCAtMzAzLjVxMTA0IC0xODcgMTA0IC00NDJ2LTE4OGgtMTEyNXExIC0xMTEgNTMuNSAtMTkyLjV0MTM2LjUgLTEyMi41dDE4OS41IC01N3QyMTMgLTN0MjA4IDQ2LjV0MTczLjUgODQuNXYtMzc3cS05MiAtNTUgLTIyOS41IC05MnQtMzEyLjUgLTM4dC0zMTYgNTMKcS0xODkgNzMgLTMxMS41IDI0OXQtMTI0LjUgMzcycS0zIDI0MiAxMTEgNDEydDMyNSAyNjhxLTQ4IC02MCAtNzggLTEyNS41dC00NiAtMTU5LjVoNjM1cTggNzcgLTggMTQwdC00NyAxMDEuNXQtNzAuNSA2Ni41dC04MC41IDQxdC03NSAyMC41dC01NiA4LjVsLTIyIDFxLTEzNSAtNSAtMjU5LjUgLTQ0LjV0LTIyMy41IC0xMDQuNXQtMTc2IC0xNDAuNXQtMTM4IC0xNjMuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzYwMyIgdW5pY29kZT0iJiN4ZjI4MzsiIGhvcml6LWFkdi14PSIyMzA0IiAKZD0iTTAgMzJ2NjA4aDIzMDR2LTYwOHEwIC02NiAtNDcgLTExM3QtMTEzIC00N2gtMTk4NHEtNjYgMCAtMTEzIDQ3dC00NyAxMTN6TTY0MCAyNTZ2LTEyOGgzODR2MTI4aC0zODR6TTI1NiAyNTZ2LTEyOGgyNTZ2MTI4aC0yNTZ6TTIxNDQgMTQwOHE2NiAwIDExMyAtNDd0NDcgLTExM3YtMjI0aC0yMzA0djIyNHEwIDY2IDQ3IDExM3QxMTMgNDdoMTk4NHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzYwNCIgdW5pY29kZT0iJiN4ZjI4NDsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE1ODQgMjQ2bC0yMTggMTExcS03NCAtMTIwIC0xOTYuNSAtMTg5dC0yNjMuNSAtNjlxLTE0NyAwIC0yNzEgNzJ0LTE5NiAxOTZ0LTcyIDI3MHEwIDExMCA0Mi41IDIwOS41dDExNSAxNzJ0MTcyIDExNXQyMDkuNSA0Mi41cTEzMSAwIDI0Ny41IC02MC41dDE5Mi41IC0xNjguNWwyMTUgMTI1cS0xMTAgMTY5IC0yODYuNSAyNjV0LTM3OC41IDk2cS0xNjEgMCAtMzA4IC02M3QtMjUzIC0xNjl0LTE2OSAtMjUzdC02MyAtMzA4dDYzIC0zMDgKdDE2OSAtMjUzdDI1MyAtMTY5dDMwOCAtNjNxMjEzIDAgMzk3LjUgMTA3dDI5MC41IDI5MnpNMTAzMCA2NDNsNjkzIC0zNTJxLTExNiAtMjUzIC0zMzQuNSAtNDAwdC00OTIuNSAtMTQ3cS0xODIgMCAtMzQ4IDcxdC0yODYgMTkxdC0xOTEgMjg2dC03MSAzNDh0NzEgMzQ4dDE5MSAyODZ0Mjg2IDE5MXQzNDggNzFxMjYwIDAgNDcwLjUgLTEzMy41dDMzNS41IC0zNjYuNXpNMTU0MyA2NDBoLTM5di0xNjBoLTk2djM1MmgxMzZxMzIgMCA1NC41IC0yMAp0MjguNSAtNDh0MSAtNTZ0LTI3LjUgLTQ4dC01Ny41IC0yMHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjI4NSIgdW5pY29kZT0iJiN4ZjI4NTsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE0MjcgODI3bC02MTQgMzg2bDkyIDE1MWg4NTV6TTQwNSA1NjJsLTE4NCAxMTZ2ODU4bDExODMgLTc0M3pNMTQyNCA2OTdsMTQ3IC05NXYtODU4bC01MzIgMzM1ek0xMzg3IDcxOGwtNTAwIC04MDJoLTg1NWwzNTYgNTcxeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMjg2IiB1bmljb2RlPSImI3hmMjg2OyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNNjQwIDUyOHYyMjRxMCAxNiAtMTYgMTZoLTk2cS0xNiAwIC0xNiAtMTZ2LTIyNHEwIC0xNiAxNiAtMTZoOTZxMTYgMCAxNiAxNnpNMTE1MiA1Mjh2MjI0cTAgMTYgLTE2IDE2aC05NnEtMTYgMCAtMTYgLTE2di0yMjRxMCAtMTYgMTYgLTE2aDk2cTE2IDAgMTYgMTZ6TTE2NjQgNDk2di03NTJoLTY0MHYzMjBxMCA4MCAtNTYgMTM2dC0xMzYgNTZ0LTEzNiAtNTZ0LTU2IC0xMzZ2LTMyMGgtNjQwdjc1MnEwIDE2IDE2IDE2aDk2CnExNiAwIDE2IC0xNnYtMTEyaDEyOHY2MjRxMCAxNiAxNiAxNmg5NnExNiAwIDE2IC0xNnYtMTEyaDEyOHYxMTJxMCAxNiAxNiAxNmg5NnExNiAwIDE2IC0xNnYtMTEyaDEyOHYxMTJxMCA2IDIuNSA5LjV0OC41IDV0OS41IDJ0MTEuNSAwdDkgLTAuNXYzOTFxLTMyIDE1IC0zMiA1MHEwIDIzIDE2LjUgMzl0MzguNSAxNnQzOC41IC0xNnQxNi41IC0zOXEwIC0zNSAtMzIgLTUwdi0xN3E0NSAxMCA4MyAxMHEyMSAwIDU5LjUgLTcuNXQ1NC41IC03LjUKcTE3IDAgNDcgNy41dDM3IDcuNXExNiAwIDE2IC0xNnYtMjEwcTAgLTE1IC0zNSAtMjEuNXQtNjIgLTYuNXEtMTggMCAtNTQuNSA3LjV0LTU1LjUgNy41cS00MCAwIC05MCAtMTJ2LTEzM3ExIDAgOSAwLjV0MTEuNSAwdDkuNSAtMnQ4LjUgLTV0Mi41IC05LjV2LTExMmgxMjh2MTEycTAgMTYgMTYgMTZoOTZxMTYgMCAxNiAtMTZ2LTExMmgxMjh2MTEycTAgMTYgMTYgMTZoOTZxMTYgMCAxNiAtMTZ2LTYyNGgxMjh2MTEycTAgMTYgMTYgMTZoOTYKcTE2IDAgMTYgLTE2eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNjA3IiB1bmljb2RlPSImI3hmMjg3OyIgaG9yaXotYWR2LXg9IjIzMDQiIApkPSJNMjI4OCA3MzFxMTYgLTggMTYgLTI3dC0xNiAtMjdsLTMyMCAtMTkycS04IC01IC0xNiAtNXEtOSAwIC0xNiA0cS0xNiAxMCAtMTYgMjh2MTI4aC04NThxMzcgLTU4IDgzIC0xNjVxMTYgLTM3IDI0LjUgLTU1dDI0IC00OXQyNyAtNDd0MjcgLTM0dDMxLjUgLTI2dDMzIC04aDk2djk2cTAgMTQgOSAyM3QyMyA5aDMyMHExNCAwIDIzIC05dDkgLTIzdi0zMjBxMCAtMTQgLTkgLTIzdC0yMyAtOWgtMzIwcS0xNCAwIC0yMyA5dC05IDIzdjk2aC05NgpxLTMyIDAgLTYxIDEwdC01MSAyMy41dC00NSA0MC41dC0zNyA0NnQtMzMuNSA1N3QtMjguNSA1Ny41dC0yOCA2MC41cS0yMyA1MyAtMzcgODEuNXQtMzYgNjV0LTQ0LjUgNTMuNXQtNDYuNSAxN2gtMzYwcS0yMiAtODQgLTkxIC0xMzh0LTE1NyAtNTRxLTEwNiAwIC0xODEgNzV0LTc1IDE4MXQ3NSAxODF0MTgxIDc1cTg4IDAgMTU3IC01NHQ5MSAtMTM4aDEwNHEyNCAwIDQ2LjUgMTd0NDQuNSA1My41dDM2IDY1dDM3IDgxLjVxMTkgNDEgMjggNjAuNQp0MjguNSA1Ny41dDMzLjUgNTd0MzcgNDZ0NDUgNDAuNXQ1MSAyMy41dDYxIDEwaDEwN3EyMSA1NyA3MCA5Mi41dDExMSAzNS41cTgwIDAgMTM2IC01NnQ1NiAtMTM2dC01NiAtMTM2dC0xMzYgLTU2cS02MiAwIC0xMTEgMzUuNXQtNzAgOTIuNWgtMTA3cS0xNyAwIC0zMyAtOHQtMzEuNSAtMjZ0LTI3IC0zNHQtMjcgLTQ3dC0yNCAtNDl0LTI0LjUgLTU1cS00NiAtMTA3IC04MyAtMTY1aDExMTR2MTI4cTAgMTggMTYgMjh0MzIgLTF6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il82MDgiIHVuaWNvZGU9IiYjeGYyODg7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xMTUwIDc3NHEwIC01NiAtMzkuNSAtOTV0LTk1LjUgLTM5aC0yNTN2MjY5aDI1M3E1NiAwIDk1LjUgLTM5LjV0MzkuNSAtOTUuNXpNMTMyOSA3NzRxMCAxMzAgLTkxLjUgMjIydC0yMjIuNSA5MmgtNDMzdi04OTZoMTgwdjI2OWgyNTNxMTMwIDAgMjIyIDkxLjV0OTIgMjIxLjV6TTE3OTIgNjQwcTAgLTE4MiAtNzEgLTM0OHQtMTkxIC0yODZ0LTI4NiAtMTkxdC0zNDggLTcxdC0zNDggNzF0LTI4NiAxOTF0LTE5MSAyODZ0LTcxIDM0OAp0NzEgMzQ4dDE5MSAyODZ0Mjg2IDE5MXQzNDggNzF0MzQ4IC03MXQyODYgLTE5MXQxOTEgLTI4NnQ3MSAtMzQ4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNjA5IiB1bmljb2RlPSImI3hmMjg5OyIgaG9yaXotYWR2LXg9IjIzMDQiIApkPSJNMTY0NSA0MzhxMCA1OSAtMzQgMTA2LjV0LTg3IDY4LjVxLTcgLTQ1IC0yMyAtOTJxLTcgLTI0IC0yNy41IC0zOHQtNDQuNSAtMTRxLTEyIDAgLTI0IDNxLTMxIDEwIC00NSAzOC41dC00IDU4LjVxMjMgNzEgMjMgMTQzcTAgMTIzIC02MSAyMjcuNXQtMTY2IDE2NS41dC0yMjggNjFxLTEzNCAwIC0yNDcgLTczdC0xNjcgLTE5NHExMDggLTI4IDE4OCAtMTA2cTIyIC0yMyAyMiAtNTV0LTIyIC01NHQtNTQgLTIydC01NSAyMgpxLTc1IDc1IC0xODAgNzVxLTEwNiAwIC0xODEgLTc0LjV0LTc1IC0xODAuNXQ3NSAtMTgwLjV0MTgxIC03NC41aDEwNDZxNzkgMCAxMzQuNSA1NS41dDU1LjUgMTMzLjV6TTE3OTggNDM4cTAgLTE0MiAtMTAwLjUgLTI0MnQtMjQyLjUgLTEwMGgtMTA0NnEtMTY5IDAgLTI4OSAxMTkuNXQtMTIwIDI4OC41cTAgMTUzIDEwMCAyNjd0MjQ5IDEzNnE2MiAxODQgMjIxIDI5OHQzNTQgMTE0cTIzNSAwIDQwOC41IC0xNTguNXQxOTYuNSAtMzg5LjUKcTExNiAtMjUgMTkyLjUgLTExOC41dDc2LjUgLTIxNC41ek0yMDQ4IDQzOHEwIC0xNzUgLTk3IC0zMTlxLTIzIC0zMyAtNjQgLTMzcS0yNCAwIC00MyAxM3EtMjYgMTcgLTMyIDQ4LjV0MTIgNTcuNXE3MSAxMDQgNzEgMjMzdC03MSAyMzNxLTE4IDI2IC0xMiA1N3QzMiA0OXQ1Ny41IDExLjV0NDkuNSAtMzIuNXE5NyAtMTQyIDk3IC0zMTh6TTIzMDQgNDM4cTAgLTI0NCAtMTM0IC00NDNxLTIzIC0zNCAtNjQgLTM0cS0yMyAwIC00MiAxMwpxLTI2IDE4IC0zMi41IDQ5dDExLjUgNTdxMTA4IDE2NCAxMDggMzU4cTAgMTk1IC0xMDggMzU3cS0xOCAyNiAtMTEuNSA1Ny41dDMyLjUgNDguNXEyNiAxOCA1NyAxMnQ0OSAtMzNxMTM0IC0xOTggMTM0IC00NDJ6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il82MTAiIHVuaWNvZGU9IiYjeGYyOGE7IiAKZD0iTTE1MDAgLTEzcTAgLTg5IC02MyAtMTUyLjV0LTE1MyAtNjMuNXQtMTUzLjUgNjMuNXQtNjMuNSAxNTIuNXEwIDkwIDYzLjUgMTUzLjV0MTUzLjUgNjMuNXQxNTMgLTYzLjV0NjMgLTE1My41ek0xMjY3IDI2OHEtMTE1IC0xNSAtMTkyLjUgLTEwMi41dC03Ny41IC0yMDUuNXEwIC03NCAzMyAtMTM4cS0xNDYgLTc4IC0zNzkgLTc4cS0xMDkgMCAtMjAxIDIxdC0xNTMuNSA1NC41dC0xMTAuNSA3Ni41dC03NiA4NXQtNDQuNSA4Mwp0LTIzLjUgNjYuNXQtNiAzOS41cTAgMTkgNC41IDQyLjV0MTguNSA1NnQzNi41IDU4dDY0IDQzLjV0OTQuNSAxOHQ5NCAtMTcuNXQ2MyAtNDF0MzUuNSAtNTN0MTcuNSAtNDl0NCAtMzMuNXEwIC0zNCAtMjMgLTgxcTI4IC0yNyA4MiAtNDJ0OTMgLTE3bDQwIC0xcTExNSAwIDE5MCA1MXQ3NSAxMzNxMCAyNiAtOSA0OC41dC0zMS41IDQ0LjV0LTQ5LjUgNDF0LTc0IDQ0dC05My41IDQ3LjV0LTExOS41IDU2LjVxLTI4IDEzIC00MyAyMApxLTExNiA1NSAtMTg3IDEwMHQtMTIyLjUgMTAydC03MiAxMjUuNXQtMjAuNSAxNjIuNXEwIDc4IDIwLjUgMTUwdDY2IDEzNy41dDExMi41IDExNHQxNjYuNSA3N3QyMjEuNSAyOC41cTEyMCAwIDIyMCAtMjZ0MTY0LjUgLTY3dDEwOS41IC05NHQ2NCAtMTA1LjV0MTkgLTEwMy41cTAgLTQ2IC0xNSAtODIuNXQtMzYuNSAtNTh0LTQ4LjUgLTM2dC00OSAtMTkuNXQtMzkgLTVoLThoLTMydC0zOSA1dC00NCAxNHQtNDEgMjh0LTM3IDQ2dC0yNCA3MC41CnQtMTAgOTcuNXEtMTUgMTYgLTU5IDI1LjV0LTgxIDEwLjVsLTM3IDFxLTY4IDAgLTExNy41IC0zMXQtNzAuNSAtNzB0LTIxIC03NnEwIC0yNCA1IC00M3QyNCAtNDZ0NTMgLTUxdDk3IC01My41dDE1MCAtNTguNXE3NiAtMjUgMTM4LjUgLTUzLjV0MTA5IC01NS41dDgzIC01OXQ2MC41IC01OS41dDQxIC02Mi41dDI2LjUgLTYydDE0LjUgLTYzLjV0NiAtNjJ0MSAtNjIuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzYxMSIgdW5pY29kZT0iJiN4ZjI4YjsiIApkPSJNNzA0IDM1MnY1NzZxMCAxNCAtOSAyM3QtMjMgOWgtMjU2cS0xNCAwIC0yMyAtOXQtOSAtMjN2LTU3NnEwIC0xNCA5IC0yM3QyMyAtOWgyNTZxMTQgMCAyMyA5dDkgMjN6TTExNTIgMzUydjU3NnEwIDE0IC05IDIzdC0yMyA5aC0yNTZxLTE0IDAgLTIzIC05dC05IC0yM3YtNTc2cTAgLTE0IDkgLTIzdDIzIC05aDI1NnExNCAwIDIzIDl0OSAyM3pNMTUzNiA2NDBxMCAtMjA5IC0xMDMgLTM4NS41dC0yNzkuNSAtMjc5LjV0LTM4NS41IC0xMDMKdC0zODUuNSAxMDN0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3QzODUuNSAtMTAzdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNjEyIiB1bmljb2RlPSImI3hmMjhjOyIgCmQ9Ik03NjggMTQwOHEyMDkgMCAzODUuNSAtMTAzdDI3OS41IC0yNzkuNXQxMDMgLTM4NS41dC0xMDMgLTM4NS41dC0yNzkuNSAtMjc5LjV0LTM4NS41IC0xMDN0LTM4NS41IDEwM3QtMjc5LjUgMjc5LjV0LTEwMyAzODUuNXQxMDMgMzg1LjV0Mjc5LjUgMjc5LjV0Mzg1LjUgMTAzek03NjggOTZxMTQ4IDAgMjczIDczdDE5OCAxOTh0NzMgMjczdC03MyAyNzN0LTE5OCAxOTh0LTI3MyA3M3QtMjczIC03M3QtMTk4IC0xOTh0LTczIC0yNzMKdDczIC0yNzN0MTk4IC0xOTh0MjczIC03M3pNODY0IDMyMHEtMTQgMCAtMjMgOXQtOSAyM3Y1NzZxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMgLTl0OSAtMjN2LTU3NnEwIC0xNCAtOSAtMjN0LTIzIC05aC0xOTJ6TTQ4MCAzMjBxLTE0IDAgLTIzIDl0LTkgMjN2NTc2cTAgMTQgOSAyM3QyMyA5aDE5MnExNCAwIDIzIC05dDkgLTIzdi01NzZxMCAtMTQgLTkgLTIzdC0yMyAtOWgtMTkyeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNjEzIiB1bmljb2RlPSImI3hmMjhkOyIgCmQ9Ik0xMDg4IDM1MnY1NzZxMCAxNCAtOSAyM3QtMjMgOWgtNTc2cS0xNCAwIC0yMyAtOXQtOSAtMjN2LTU3NnEwIC0xNCA5IC0yM3QyMyAtOWg1NzZxMTQgMCAyMyA5dDkgMjN6TTE1MzYgNjQwcTAgLTIwOSAtMTAzIC0zODUuNXQtMjc5LjUgLTI3OS41dC0zODUuNSAtMTAzdC0zODUuNSAxMDN0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3QzODUuNSAtMTAzdDI3OS41IC0yNzkuNQp0MTAzIC0zODUuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzYxNCIgdW5pY29kZT0iJiN4ZjI4ZTsiIApkPSJNNzY4IDE0MDhxMjA5IDAgMzg1LjUgLTEwM3QyNzkuNSAtMjc5LjV0MTAzIC0zODUuNXQtMTAzIC0zODUuNXQtMjc5LjUgLTI3OS41dC0zODUuNSAtMTAzdC0zODUuNSAxMDN0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41dDI3OS41IDI3OS41dDM4NS41IDEwM3pNNzY4IDk2cTE0OCAwIDI3MyA3M3QxOTggMTk4dDczIDI3M3QtNzMgMjczdC0xOTggMTk4dC0yNzMgNzN0LTI3MyAtNzN0LTE5OCAtMTk4dC03MyAtMjczCnQ3MyAtMjczdDE5OCAtMTk4dDI3MyAtNzN6TTQ4MCAzMjBxLTE0IDAgLTIzIDl0LTkgMjN2NTc2cTAgMTQgOSAyM3QyMyA5aDU3NnExNCAwIDIzIC05dDkgLTIzdi01NzZxMCAtMTQgLTkgLTIzdC0yMyAtOWgtNTc2eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNjE1IiB1bmljb2RlPSImI3hmMjkwOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTc1NyAxMjhsMzUgLTMxM3EzIC0yOCAtMTYgLTUwcS0xOSAtMjEgLTQ4IC0yMWgtMTY2NHEtMjkgMCAtNDggMjFxLTE5IDIyIC0xNiA1MGwzNSAzMTNoMTcyMnpNMTY2NCA5NjdsODYgLTc3NWgtMTcwOGw4NiA3NzVxMyAyNCAyMSA0MC41dDQzIDE2LjVoMjU2di0xMjhxMCAtNTMgMzcuNSAtOTAuNXQ5MC41IC0zNy41dDkwLjUgMzcuNXQzNy41IDkwLjV2MTI4aDM4NHYtMTI4cTAgLTUzIDM3LjUgLTkwLjV0OTAuNSAtMzcuNQp0OTAuNSAzNy41dDM3LjUgOTAuNXYxMjhoMjU2cTI1IDAgNDMgLTE2LjV0MjEgLTQwLjV6TTEyODAgMTE1MnYtMjU2cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOXQtNDUgMTl0LTE5IDQ1djI1NnEwIDEwNiAtNzUgMTgxdC0xODEgNzV0LTE4MSAtNzV0LTc1IC0xODF2LTI1NnEwIC0yNiAtMTkgLTQ1dC00NSAtMTl0LTQ1IDE5dC0xOSA0NXYyNTZxMCAxNTkgMTEyLjUgMjcxLjV0MjcxLjUgMTEyLjV0MjcxLjUgLTExMi41dDExMi41IC0yNzEuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzYxNiIgdW5pY29kZT0iJiN4ZjI5MTsiIGhvcml6LWFkdi14PSIyMDQ4IiAKZD0iTTE5MjAgNzY4cTUzIDAgOTAuNSAtMzcuNXQzNy41IC05MC41dC0zNy41IC05MC41dC05MC41IC0zNy41aC0xNWwtMTE1IC02NjJxLTggLTQ2IC00NCAtNzZ0LTgyIC0zMGgtMTI4MHEtNDYgMCAtODIgMzB0LTQ0IDc2bC0xMTUgNjYyaC0xNXEtNTMgMCAtOTAuNSAzNy41dC0zNy41IDkwLjV0MzcuNSA5MC41dDkwLjUgMzcuNWgxNzkyek00ODUgLTMycTI2IDIgNDMuNSAyMi41dDE1LjUgNDYuNWwtMzIgNDE2cS0yIDI2IC0yMi41IDQzLjUKdC00Ni41IDE1LjV0LTQzLjUgLTIyLjV0LTE1LjUgLTQ2LjVsMzIgLTQxNnEyIC0yNSAyMC41IC00MnQ0My41IC0xN2g1ek04OTYgMzJ2NDE2cTAgMjYgLTE5IDQ1dC00NSAxOXQtNDUgLTE5dC0xOSAtNDV2LTQxNnEwIC0yNiAxOSAtNDV0NDUgLTE5dDQ1IDE5dDE5IDQ1ek0xMjgwIDMydjQxNnEwIDI2IC0xOSA0NXQtNDUgMTl0LTQ1IC0xOXQtMTkgLTQ1di00MTZxMCAtMjYgMTkgLTQ1dDQ1IC0xOXQ0NSAxOXQxOSA0NXpNMTYzMiAyN2wzMiA0MTYKcTIgMjYgLTE1LjUgNDYuNXQtNDMuNSAyMi41dC00Ni41IC0xNS41dC0yMi41IC00My41bC0zMiAtNDE2cS0yIC0yNiAxNS41IC00Ni41dDQzLjUgLTIyLjVoNXEyNSAwIDQzLjUgMTd0MjAuNSA0MnpNNDc2IDEyNDRsLTkzIC00MTJoLTEzMmwxMDEgNDQxcTE5IDg4IDg5IDE0My41dDE2MCA1NS41aDE2N3EwIDI2IDE5IDQ1dDQ1IDE5aDM4NHEyNiAwIDQ1IC0xOXQxOSAtNDVoMTY3cTkwIDAgMTYwIC01NS41dDg5IC0xNDMuNWwxMDEgLTQ0MQpoLTEzMmwtOTMgNDEycS0xMSA0NCAtNDUuNSA3MnQtNzkuNSAyOGgtMTY3cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtMzg0cS0yNiAwIC00NSAxOXQtMTkgNDVoLTE2N3EtNDUgMCAtNzkuNSAtMjh0LTQ1LjUgLTcyeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNjE3IiB1bmljb2RlPSImI3hmMjkyOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNOTkxIDUxMmw2NCAyNTZoLTI1NGwtNjQgLTI1NmgyNTR6TTE3NTkgMTAxNmwtNTYgLTIyNHEtNyAtMjQgLTMxIC0yNGgtMzI3bC02NCAtMjU2aDMxMXExNSAwIDI1IC0xMnExMCAtMTQgNiAtMjhsLTU2IC0yMjRxLTUgLTI0IC0zMSAtMjRoLTMyN2wtODEgLTMyOHEtNyAtMjQgLTMxIC0yNGgtMjI0cS0xNiAwIC0yNiAxMnEtOSAxMiAtNiAyOGw3OCAzMTJoLTI1NGwtODEgLTMyOHEtNyAtMjQgLTMxIC0yNGgtMjI1cS0xNSAwIC0yNSAxMgpxLTkgMTIgLTYgMjhsNzggMzEyaC0zMTFxLTE1IDAgLTI1IDEycS05IDEyIC02IDI4bDU2IDIyNHE3IDI0IDMxIDI0aDMyN2w2NCAyNTZoLTMxMXEtMTUgMCAtMjUgMTJxLTEwIDE0IC02IDI4bDU2IDIyNHE1IDI0IDMxIDI0aDMyN2w4MSAzMjhxNyAyNCAzMiAyNGgyMjRxMTUgMCAyNSAtMTJxOSAtMTIgNiAtMjhsLTc4IC0zMTJoMjU0bDgxIDMyOHE3IDI0IDMyIDI0aDIyNHExNSAwIDI1IC0xMnE5IC0xMiA2IC0yOGwtNzggLTMxMmgzMTEKcTE1IDAgMjUgLTEycTkgLTEyIDYgLTI4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNjE4IiB1bmljb2RlPSImI3hmMjkzOyIgCmQ9Ik04NDEgNDgzbDE0OCAtMTQ4bC0xNDkgLTE0OXpNODQwIDEwOTRsMTQ5IC0xNDlsLTE0OCAtMTQ4ek03MTAgLTEzMGw0NjQgNDY0bC0zMDYgMzA2bDMwNiAzMDZsLTQ2NCA0NjR2LTYxMWwtMjU1IDI1NWwtOTMgLTkzbDMyMCAtMzIxbC0zMjAgLTMyMWw5MyAtOTNsMjU1IDI1NXYtNjExek0xNDI5IDY0MHEwIC0yMDkgLTMyIC0zNjUuNXQtODcuNSAtMjU3dC0xNDAuNSAtMTYyLjV0LTE4MS41IC04Ni41dC0yMTkuNSAtMjQuNQp0LTIxOS41IDI0LjV0LTE4MS41IDg2LjV0LTE0MC41IDE2Mi41dC04Ny41IDI1N3QtMzIgMzY1LjV0MzIgMzY1LjV0ODcuNSAyNTd0MTQwLjUgMTYyLjV0MTgxLjUgODYuNXQyMTkuNSAyNC41dDIxOS41IC0yNC41dDE4MS41IC04Ni41dDE0MC41IC0xNjIuNXQ4Ny41IC0yNTd0MzIgLTM2NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNjE5IiB1bmljb2RlPSImI3hmMjk0OyIgaG9yaXotYWR2LXg9IjEwMjQiIApkPSJNNTk2IDExM2wxNzMgMTcybC0xNzMgMTcydi0zNDR6TTU5NiA4MjNsMTczIDE3MmwtMTczIDE3MnYtMzQ0ek02MjggNjQwbDM1NiAtMzU2bC01MzkgLTU0MHY3MTFsLTI5NyAtMjk2bC0xMDggMTA4bDM3MiAzNzNsLTM3MiAzNzNsMTA4IDEwOGwyOTcgLTI5NnY3MTFsNTM5IC01NDB6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il82MjAiIHVuaWNvZGU9IiYjeGYyOTU7IiAKZD0iTTEyODAgMjU2cTAgNTIgLTM4IDkwdC05MCAzOHQtOTAgLTM4dC0zOCAtOTB0MzggLTkwdDkwIC0zOHQ5MCAzOHQzOCA5MHpNNTEyIDEwMjRxMCA1MiAtMzggOTB0LTkwIDM4dC05MCAtMzh0LTM4IC05MHQzOCAtOTB0OTAgLTM4dDkwIDM4dDM4IDkwek0xNTM2IDI1NnEwIC0xNTkgLTExMi41IC0yNzEuNXQtMjcxLjUgLTExMi41dC0yNzEuNSAxMTIuNXQtMTEyLjUgMjcxLjV0MTEyLjUgMjcxLjV0MjcxLjUgMTEyLjV0MjcxLjUgLTExMi41CnQxMTIuNSAtMjcxLjV6TTE0NDAgMTM0NHEwIC0yMCAtMTMgLTM4bC0xMDU2IC0xNDA4cS0xOSAtMjYgLTUxIC0yNmgtMTYwcS0yNiAwIC00NSAxOXQtMTkgNDVxMCAyMCAxMyAzOGwxMDU2IDE0MDhxMTkgMjYgNTEgMjZoMTYwcTI2IDAgNDUgLTE5dDE5IC00NXpNNzY4IDEwMjRxMCAtMTU5IC0xMTIuNSAtMjcxLjV0LTI3MS41IC0xMTIuNXQtMjcxLjUgMTEyLjV0LTExMi41IDI3MS41dDExMi41IDI3MS41dDI3MS41IDExMi41CnQyNzEuNSAtMTEyLjV0MTEyLjUgLTI3MS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNjIxIiB1bmljb2RlPSImI3hmMjk2OyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTA0IDgzMGw3OTIgLTEwMTVsLTg2OCA2MzBxLTE4IDEzIC0yNSAzNC41dDAgNDIuNWwxMDEgMzA4djB6TTU2NiA4MzBoNjYwbC0zMzAgLTEwMTV2MHpNMzY4IDE0NDJsMTk4IC02MTJoLTQ2MmwxOTggNjEycTggMjMgMzMgMjN0MzMgLTIzek0xNjg4IDgzMGwxMDEgLTMwOHE3IC0yMSAwIC00Mi41dC0yNSAtMzQuNWwtODY4IC02MzBsNzkyIDEwMTV2MHpNMTY4OCA4MzBoLTQ2MmwxOTggNjEycTggMjMgMzMgMjN0MzMgLTIzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNjIyIiB1bmljb2RlPSImI3hmMjk3OyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMzg0IDcwNGgxNjB2MjI0aC0xNjB2LTIyNHpNMTIyMSAzNzJ2OTJxLTEwNCAtMzYgLTI0MyAtMzhxLTEzNSAtMSAtMjU5LjUgNDYuNXQtMjIwLjUgMTIyLjVsMSAtOTZxODggLTgwIDIxMiAtMTI4LjV0MjcyIC00Ny41cTEyOSAwIDIzOCA0OXpNNjQwIDcwNGg2NDB2MjI0aC02NDB2LTIyNHpNMTc5MiA3MzZxMCAtMTg3IC05OSAtMzUycTg5IC0xMDIgODkgLTIyOXEwIC0xNTcgLTEyOS41IC0yNjh0LTMxMy41IC0xMTEKcS0xMjIgMCAtMjI1IDUyLjV0LTE2MSAxNDAuNXEtMTkgLTEgLTU3IC0xdC01NyAxcS01OCAtODggLTE2MSAtMTQwLjV0LTIyNSAtNTIuNXEtMTg0IDAgLTMxMy41IDExMXQtMTI5LjUgMjY4cTAgMTI3IDg5IDIyOXEtOTkgMTY1IC05OSAzNTJxMCAyMDkgMTIwIDM4NS41dDMyNi41IDI3OS41dDQ0OS41IDEwM3Q0NDkuNSAtMTAzdDMyNi41IC0yNzkuNXQxMjAgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNjIzIiB1bmljb2RlPSImI3hmMjk4OyIgCmQ9Ik01MTUgNjI1di0xMjhoLTI1MnYxMjhoMjUyek01MTUgODgwdi0xMjdoLTI1MnYxMjdoMjUyek0xMjczIDM2OXYtMTI4aC0zNDF2MTI4aDM0MXpNMTI3MyA2MjV2LTEyOGgtNjcydjEyOGg2NzJ6TTEyNzMgODgwdi0xMjdoLTY3MnYxMjdoNjcyek0xNDA4IDIwdjEyNDBxMCA4IC02IDE0dC0xNCA2aC0zMmwtMzc4IC0yNTZsLTIxMCAxNzFsLTIxMCAtMTcxbC0zNzggMjU2aC0zMnEtOCAwIC0xNCAtNnQtNiAtMTR2LTEyNDBxMCAtOCA2IC0xNAp0MTQgLTZoMTI0MHE4IDAgMTQgNnQ2IDE0ek01NTMgMTEzMGwxODUgMTUwaC00MDZ6TTk4MyAxMTMwbDIyMSAxNTBoLTQwNnpNMTUzNiAxMjYwdi0xMjQwcTAgLTYyIC00MyAtMTA1dC0xMDUgLTQzaC0xMjQwcS02MiAwIC0xMDUgNDN0LTQzIDEwNXYxMjQwcTAgNjIgNDMgMTA1dDEwNSA0M2gxMjQwcTYyIDAgMTA1IC00M3Q0MyAtMTA1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNjI0IiB1bmljb2RlPSImI3hmMjk5OyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNODk2IDcyMHEtMTA0IDE5NiAtMTYwIDI3OHEtMTM5IDIwMiAtMzQ3IDMxOHEtMzQgMTkgLTcwIDM2cS04OSA0MCAtOTQgMzJ0MzQgLTM4bDM5IC0zMXE2MiAtNDMgMTEyLjUgLTkzLjV0OTQuNSAtMTE2LjV0NzAuNSAtMTEzdDcwLjUgLTEzMXE5IC0xNyAxMyAtMjVxNDQgLTg0IDg0IC0xNTN0OTggLTE1NHQxMTUuNSAtMTUwdDEzMSAtMTIzLjV0MTQ4LjUgLTkwLjVxMTUzIC02NiAxNTQgLTYwcTEgMyAtNDkgMzdxLTUzIDM2IC04MSA1NwpxLTc3IDU4IC0xNzkgMjExdC0xODUgMzEwek01NDkgMTc3cS03NiA2MCAtMTMyLjUgMTI1dC05OCAxNDMuNXQtNzEgMTU0LjV0LTU4LjUgMTg2dC01MiAyMDl0LTYwLjUgMjUydC03Ni41IDI4OXEyNzMgMCA0OTcuNSAtMzZ0Mzc5IC05MnQyNzEgLTE0NC41dDE4NS41IC0xNzIuNXQxMTAgLTE5OC41dDU2IC0xOTkuNXQxMi41IC0xOTguNXQtOS41IC0xNzN0LTIwIC0xNDMuNXQtMTMgLTEwN2wzMjMgLTMyN2gtMTA0bC0yODEgMjg1CnEtMjIgLTIgLTkxLjUgLTE0dC0xMjEuNSAtMTl0LTEzOCAtNnQtMTYwLjUgMTd0LTE2Ny41IDU5dC0xNzkgMTExeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNjI1IiB1bmljb2RlPSImI3hmMjlhOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTM3NCA4NzlxLTYgMjYgLTI4LjUgMzkuNXQtNDguNSA3LjVxLTI2MSAtNjIgLTQwMSAtNjJ0LTQwMSA2MnEtMjYgNiAtNDguNSAtNy41dC0yOC41IC0zOS41dDcuNSAtNDguNXQzOS41IC0yOC41cTE5NCAtNDYgMzAzIC01OHEtMiAtMTU4IC0xNS41IC0yNjl0LTI2LjUgLTE1NS41dC00MSAtMTE1LjVsLTkgLTIxcS0xMCAtMjUgMSAtNDl0MzYgLTM0cTkgLTQgMjMgLTRxNDQgMCA2MCA0MWw4IDIwcTU0IDEzOSA3MSAyNTloNDIKcTE3IC0xMjAgNzEgLTI1OWw4IC0yMHExNiAtNDEgNjAgLTQxcTE0IDAgMjMgNHEyNSAxMCAzNiAzNHQxIDQ5bC05IDIxcS0yOCA3MSAtNDEgMTE1LjV0LTI2LjUgMTU1LjV0LTE1LjUgMjY5cTEwOSAxMiAzMDMgNThxMjYgNiAzOS41IDI4LjV0Ny41IDQ4LjV6TTEwMjQgMTAyNHEwIDUzIC0zNy41IDkwLjV0LTkwLjUgMzcuNXQtOTAuNSAtMzcuNXQtMzcuNSAtOTAuNXQzNy41IC05MC41dDkwLjUgLTM3LjV0OTAuNSAzNy41dDM3LjUgOTAuNXoKTTE2MDAgNjQwcTAgLTE0MyAtNTUuNSAtMjczLjV0LTE1MCAtMjI1dC0yMjUgLTE1MHQtMjczLjUgLTU1LjV0LTI3My41IDU1LjV0LTIyNSAxNTB0LTE1MCAyMjV0LTU1LjUgMjczLjV0NTUuNSAyNzMuNXQxNTAgMjI1dDIyNSAxNTB0MjczLjUgNTUuNXQyNzMuNSAtNTUuNXQyMjUgLTE1MHQxNTAgLTIyNXQ1NS41IC0yNzMuNXpNODk2IDE0MDhxLTE1NiAwIC0yOTggLTYxdC0yNDUgLTE2NHQtMTY0IC0yNDV0LTYxIC0yOTh0NjEgLTI5OAp0MTY0IC0yNDV0MjQ1IC0xNjR0Mjk4IC02MXQyOTggNjF0MjQ1IDE2NHQxNjQgMjQ1dDYxIDI5OHQtNjEgMjk4dC0xNjQgMjQ1dC0yNDUgMTY0dC0yOTggNjF6TTE3OTIgNjQwcTAgLTE4MiAtNzEgLTM0OHQtMTkxIC0yODZ0LTI4NiAtMTkxdC0zNDggLTcxdC0zNDggNzF0LTI4NiAxOTF0LTE5MSAyODZ0LTcxIDM0OHQ3MSAzNDh0MTkxIDI4NnQyODYgMTkxdDM0OCA3MXQzNDggLTcxdDI4NiAtMTkxdDE5MSAtMjg2dDcxIC0zNDh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il82MjYiIHVuaWNvZGU9IiYjeGYyOWI7IiAKZD0iTTE0MzggNzIzcTM0IC0zNSAyOSAtODJsLTQ0IC01NTFxLTQgLTQyIC0zNC41IC03MHQtNzEuNSAtMjhxLTYgMCAtOSAxcS00NCAzIC03Mi41IDM2LjV0LTI1LjUgNzcuNWwzNSA0MjlsLTE0MyAtOHE1NSAtMTEzIDU1IC0yNDBxMCAtMjE2IC0xNDggLTM3MmwtMTM3IDEzN3E5MSAxMDEgOTEgMjM1cTAgMTQ1IC0xMDIuNSAyNDh0LTI0Ny41IDEwM3EtMTM0IDAgLTIzNiAtOTJsLTEzNyAxMzhxMTIwIDExNCAyODQgMTQxbDI2NCAzMDAKbC0xNDkgODdsLTE4MSAtMTYxcS0zMyAtMzAgLTc3IC0yNy41dC03MyAzNS41dC0yNi41IDc3dDM0LjUgNzNsMjM5IDIxM3EyNiAyMyA2MCAyNi41dDY0IC0xNC41bDQ4OCAtMjgzcTM2IC0yMSA0OCAtNjhxMTcgLTY3IC0yNiAtMTE3bC0yMDUgLTIzMmwzNzEgMjBxNDkgMyA4MyAtMzJ6TTEyNDAgMTE4MHEtNzQgMCAtMTI2IDUydC01MiAxMjZ0NTIgMTI2dDEyNiA1MnQxMjYuNSAtNTJ0NTIuNSAtMTI2dC01Mi41IC0xMjZ0LTEyNi41IC01MnoKTTYxMyAtNjJxMTA2IDAgMTk2IDYxbDEzOSAtMTM5cS0xNDYgLTExNiAtMzM1IC0xMTZxLTE0OCAwIC0yNzMuNSA3M3QtMTk4LjUgMTk4dC03MyAyNzNxMCAxODggMTE2IDMzNmwxMzkgLTEzOXEtNjAgLTg4IC02MCAtMTk3cTAgLTE0NSAxMDIuNSAtMjQ3LjV0MjQ3LjUgLTEwMi41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJfNjI3IiB1bmljb2RlPSImI3hmMjljOyIgCmQ9Ik04ODAgMzM2di0xNjBxMCAtMTQgLTkgLTIzdC0yMyAtOWgtMTYwcS0xNCAwIC0yMyA5dC05IDIzdjE2MHEwIDE0IDkgMjN0MjMgOWgxNjBxMTQgMCAyMyAtOXQ5IC0yM3pNMTEzNiA4MzJxMCAtNTAgLTE1IC05MHQtNDUuNSAtNjl0LTUyIC00NHQtNTkuNSAtMzZxLTMyIC0xOCAtNDYuNSAtMjh0LTI2IC0yNHQtMTEuNSAtMjl2LTMycTAgLTE0IC05IC0yM3QtMjMgLTloLTE2MHEtMTQgMCAtMjMgOXQtOSAyM3Y2OHEwIDM1IDEwLjUgNjQuNQp0MjQgNDcuNXQzOSAzNS41dDQxIDI1LjV0NDQuNSAyMXE1MyAyNSA3NSA0M3QyMiA0OXEwIDQyIC00My41IDcxLjV0LTk1LjUgMjkuNXEtNTYgMCAtOTUgLTI3cS0yOSAtMjAgLTgwIC04M3EtOSAtMTIgLTI1IC0xMnEtMTEgMCAtMTkgNmwtMTA4IDgycS0xMCA3IC0xMiAyMHQ1IDIzcTEyMiAxOTIgMzQ5IDE5MnExMjkgMCAyMzguNSAtODkuNXQxMDkuNSAtMjE0LjV6TTc2OCAxMjgwcS0xMzAgMCAtMjQ4LjUgLTUxdC0yMDQgLTEzNi41CnQtMTM2LjUgLTIwNHQtNTEgLTI0OC41dDUxIC0yNDguNXQxMzYuNSAtMjA0dDIwNCAtMTM2LjV0MjQ4LjUgLTUxdDI0OC41IDUxdDIwNCAxMzYuNXQxMzYuNSAyMDR0NTEgMjQ4LjV0LTUxIDI0OC41dC0xMzYuNSAyMDR0LTIwNCAxMzYuNXQtMjQ4LjUgNTF6TTE1MzYgNjQwcTAgLTIwOSAtMTAzIC0zODUuNXQtMjc5LjUgLTI3OS41dC0zODUuNSAtMTAzdC0zODUuNSAxMDN0LTI3OS41IDI3OS41dC0xMDMgMzg1LjV0MTAzIDM4NS41CnQyNzkuNSAyNzkuNXQzODUuNSAxMDN0Mzg1LjUgLTEwM3QyNzkuNSAtMjc5LjV0MTAzIC0zODUuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iXzYyOCIgdW5pY29kZT0iJiN4ZjI5ZDsiIGhvcml6LWFkdi14PSIxNDA4IiAKZD0iTTM2NiAxMjI1cS02NCAwIC0xMTAgNDUuNXQtNDYgMTEwLjVxMCA2NCA0NiAxMDkuNXQxMTAgNDUuNXQxMDkuNSAtNDUuNXQ0NS41IC0xMDkuNXEwIC02NSAtNDUuNSAtMTEwLjV0LTEwOS41IC00NS41ek05MTcgNTgzcTAgLTUwIC0zMCAtNjcuNXQtNjMuNSAtNi41dC00Ny41IDM0bC0zNjcgNDM4cS03IDEyIC0xNCAxNS41dC0xMSAxLjVsLTMgLTNxLTcgLTggNCAtMjFsMTIyIC0xMzlsMSAtMzU0bC0xNjEgLTQ1NwpxLTY3IC0xOTIgLTkyIC0yMzRxLTE1IC0yNiAtMjggLTMycS01MCAtMjYgLTEwMyAtMXEtMjkgMTMgLTQxLjUgNDN0LTkuNSA1N3EyIDE3IDE5NyA2MThsNSA0MTZsLTg1IC0xNjRsMzUgLTIyMnE0IC0yNCAtMSAtNDJ0LTE0IC0yNy41dC0xOSAtMTZ0LTE3IC03LjVsLTcgLTJxLTE5IC0zIC0zNC41IDN0LTI0IDE2dC0xNCAyMnQtNy41IDE5LjV0LTIgOS41bC00NiAyOTlsMjExIDM4MXEyMyAzNCAxMTMgMzRxNzUgMCAxMDcgLTQwbDQyNCAtNTIxCnE3IC01IDE0IC0xN2wzIC0zbC0xIC0xcTcgLTEzIDcgLTI5ek01MTQgNDMzcTQzIC0xMTMgODguNSAtMjI1dDY5LjUgLTE2OGwyNCAtNTVxMzYgLTkzIDQyIC0xMjVxMTEgLTcwIC0zNiAtOTdxLTM1IC0yMiAtNjYgLTE2dC01MSAyMnQtMjkgMzVoLTFxLTYgMTYgLTggMjVsLTEyNCAzNTF6TTEzMzggLTE1OXEzMSAtNDkgMzEgLTU3cTAgLTUgLTMgLTdxLTkgLTUgLTE0LjUgMC41dC0xNS41IDI2dC0xNiAzMC41cS0xMTQgMTcyIC00MjMgNjYxCnEzIC0xIDcgMXQ3IDRsMyAycTExIDkgMTEgMTd6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il82MjkiIHVuaWNvZGU9IiYjeGYyOWU7IiBob3Jpei1hZHYteD0iMjMwNCIgCmQ9Ik01MDQgNTQyaDE3MWwtMSAyNjV6TTE1MzAgNjQxcTAgODcgLTUwLjUgMTQwdC0xNDYuNSA1M2gtNTR2LTM4OGg1MnE5MSAwIDE0NSA1N3Q1NCAxMzh6TTk1NiAxMDE4bDEgLTc1NnEwIC0xNCAtOS41IC0yNHQtMjMuNSAtMTBoLTIxNnEtMTQgMCAtMjMuNSAxMHQtOS41IDI0djYyaC0yOTFsLTU1IC04MXEtMTAgLTE1IC0yOCAtMTVoLTI2N3EtMjEgMCAtMzAuNSAxOHQzLjUgMzVsNTU2IDc1N3E5IDE0IDI3IDE0aDMzMnExNCAwIDI0IC0xMAp0MTAgLTI0ek0xNzgzIDY0MXEwIC0xOTMgLTEyNS41IC0zMDN0LTMyNC41IC0xMTBoLTI3MHEtMTQgMCAtMjQgMTB0LTEwIDI0djc1NnEwIDE0IDEwIDI0dDI0IDEwaDI2OHEyMDAgMCAzMjYgLTEwOXQxMjYgLTMwMnpNMTkzOSA2NDBxMCAtMTEgLTAuNSAtMjl0LTggLTcxLjV0LTIxLjUgLTEwMnQtNDQuNSAtMTA4dC03My41IC0xMDIuNWgtNTFxMzggNDUgNjYuNSAxMDQuNXQ0MS41IDExMnQyMSA5OHQ5IDcyLjVsMSAyN3EwIDggLTAuNSAyMi41CnQtNy41IDYwdC0yMCA5MS41dC00MSAxMTEuNXQtNjYgMTI0LjVoNDNxNDEgLTQ3IDcyIC0xMDd0NDUuNSAtMTExLjV0MjMgLTk2dDEwLjUgLTcwLjV6TTIxMjMgNjQwcTAgLTExIC0wLjUgLTI5dC04IC03MS41dC0yMS41IC0xMDJ0LTQ1IC0xMDh0LTc0IC0xMDIuNWgtNTFxMzggNDUgNjYuNSAxMDQuNXQ0MS41IDExMnQyMSA5OHQ5IDcyLjVsMSAyN3EwIDggLTAuNSAyMi41dC03LjUgNjB0LTE5LjUgOTEuNXQtNDAuNSAxMTEuNXQtNjYgMTI0LjUKaDQzcTQxIC00NyA3MiAtMTA3dDQ1LjUgLTExMS41dDIzIC05NnQxMC41IC03MC41ek0yMzA0IDY0MHEwIC0xMSAtMC41IC0yOXQtOCAtNzEuNXQtMjEuNSAtMTAydC00NC41IC0xMDh0LTczLjUgLTEwMi41aC01MXEzOCA0NSA2NiAxMDQuNXQ0MSAxMTJ0MjEgOTh0OSA3Mi41bDEgMjdxMCA4IC0wLjUgMjIuNXQtNy41IDYwdC0xOS41IDkxLjV0LTQwLjUgMTExLjV0LTY2IDEyNC41aDQzcTQxIC00NyA3MiAtMTA3dDQ1LjUgLTExMS41dDIzIC05Ngp0OS41IC03MC41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMkEwIiB1bmljb2RlPSImI3hmMmEwOyIgaG9yaXotYWR2LXg9IjE0MDgiIApkPSJNNjE3IC0xNTNxMCAxMSAtMTMgNTh0LTMxIDEwN3QtMjAgNjlxLTEgNCAtNSAyNi41dC04LjUgMzZ0LTEzLjUgMjEuNXEtMTUgMTQgLTUxIDE0cS0yMyAwIC03MCAtNS41dC03MSAtNS41cS0zNCAwIC00NyAxMXEtNiA1IC0xMSAxNS41dC03LjUgMjB0LTYuNSAyNHQtNSAxOC41cS0zNyAxMjggLTM3IDI1NXQzNyAyNTVxMSA0IDUgMTguNXQ2LjUgMjR0Ny41IDIwdDExIDE1LjVxMTMgMTEgNDcgMTFxMjQgMCA3MSAtNS41dDcwIC01LjUKcTM2IDAgNTEgMTRxOSA4IDEzLjUgMjEuNXQ4LjUgMzZ0NSAyNi41cTIgOSAyMCA2OXQzMSAxMDd0MTMgNThxMCAyMiAtNDMuNSA1Mi41dC03NS41IDQyLjVxLTIwIDggLTQ1IDhxLTM0IDAgLTk4IC0xOHEtNTcgLTE3IC05Ni41IC00MC41dC03MSAtNjZ0LTQ2IC03MHQtNDUuNSAtOTQuNXEtNiAtMTIgLTkgLTE5cS00OSAtMTA3IC02OCAtMjE2dC0xOSAtMjQ0dDE5IC0yNDR0NjggLTIxNnE1NiAtMTIyIDgzIC0xNjFxNjMgLTkxIDE3OSAtMTI3Cmw2IC0ycTY0IC0xOCA5OCAtMThxMjUgMCA0NSA4cTMyIDEyIDc1LjUgNDIuNXQ0My41IDUyLjV6TTc3NiA3NjBxLTI2IDAgLTQ1IDE5dC0xOSA0NS41dDE5IDQ1LjVxMzcgMzcgMzcgOTBxMCA1MiAtMzcgOTFxLTE5IDE5IC0xOSA0NXQxOSA0NXQ0NSAxOXQ0NSAtMTlxNzUgLTc1IDc1IC0xODF0LTc1IC0xODFxLTIxIC0xOSAtNDUgLTE5ek05NTcgNTc5cS0yNyAwIC00NSAxOXEtMTkgMTkgLTE5IDQ1dDE5IDQ1cTExMiAxMTQgMTEyIDI3Mgp0LTExMiAyNzJxLTE5IDE5IC0xOSA0NXQxOSA0NXQ0NSAxOXQ0NSAtMTlxMTUwIC0xNTAgMTUwIC0zNjJ0LTE1MCAtMzYycS0xOCAtMTkgLTQ1IC0xOXpNMTEzOCAzOThxLTI3IDAgLTQ1IDE5cS0xOSAxOSAtMTkgNDV0MTkgNDVxOTAgOTEgMTM4LjUgMjA4dDQ4LjUgMjQ1dC00OC41IDI0NXQtMTM4LjUgMjA4cS0xOSAxOSAtMTkgNDV0MTkgNDV0NDUgMTl0NDUgLTE5cTEwOSAtMTA5IDE2NyAtMjQ5dDU4IC0yOTR0LTU4IC0yOTR0LTE2NyAtMjQ5CnEtMTggLTE5IC00NSAtMTl6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyQTEiIHVuaWNvZGU9IiYjeGYyYTE7IiBob3Jpei1hZHYteD0iMjE3NiIgCmQ9Ik0xOTIgMzUycS02NiAwIC0xMTMgLTQ3dC00NyAtMTEzdDQ3IC0xMTN0MTEzIC00N3QxMTMgNDd0NDcgMTEzdC00NyAxMTN0LTExMyA0N3pNNzA0IDM1MnEtNjYgMCAtMTEzIC00N3QtNDcgLTExM3Q0NyAtMTEzdDExMyAtNDd0MTEzIDQ3dDQ3IDExM3QtNDcgMTEzdC0xMTMgNDd6TTcwNCA4NjRxLTY2IDAgLTExMyAtNDd0LTQ3IC0xMTN0NDcgLTExM3QxMTMgLTQ3dDExMyA0N3Q0NyAxMTN0LTQ3IDExM3QtMTEzIDQ3ek0xNDcyIDM1MgpxLTY2IDAgLTExMyAtNDd0LTQ3IC0xMTN0NDcgLTExM3QxMTMgLTQ3dDExMyA0N3Q0NyAxMTN0LTQ3IDExM3QtMTEzIDQ3ek0xOTg0IDM1MnEtNjYgMCAtMTEzIC00N3QtNDcgLTExM3Q0NyAtMTEzdDExMyAtNDd0MTEzIDQ3dDQ3IDExM3QtNDcgMTEzdC0xMTMgNDd6TTE0NzIgODY0cS02NiAwIC0xMTMgLTQ3dC00NyAtMTEzdDQ3IC0xMTN0MTEzIC00N3QxMTMgNDd0NDcgMTEzdC00NyAxMTN0LTExMyA0N3pNMTk4NCA4NjQKcS02NiAwIC0xMTMgLTQ3dC00NyAtMTEzdDQ3IC0xMTN0MTEzIC00N3QxMTMgNDd0NDcgMTEzdC00NyAxMTN0LTExMyA0N3pNMTk4NCAxMzc2cS02NiAwIC0xMTMgLTQ3dC00NyAtMTEzdDQ3IC0xMTN0MTEzIC00N3QxMTMgNDd0NDcgMTEzdC00NyAxMTN0LTExMyA0N3pNMzg0IDE5MnEwIC04MCAtNTYgLTEzNnQtMTM2IC01NnQtMTM2IDU2dC01NiAxMzZ0NTYgMTM2dDEzNiA1NnQxMzYgLTU2dDU2IC0xMzZ6TTg5NiAxOTJxMCAtODAgLTU2IC0xMzYKdC0xMzYgLTU2dC0xMzYgNTZ0LTU2IDEzNnQ1NiAxMzZ0MTM2IDU2dDEzNiAtNTZ0NTYgLTEzNnpNMzg0IDcwNHEwIC04MCAtNTYgLTEzNnQtMTM2IC01NnQtMTM2IDU2dC01NiAxMzZ0NTYgMTM2dDEzNiA1NnQxMzYgLTU2dDU2IC0xMzZ6TTg5NiA3MDRxMCAtODAgLTU2IC0xMzZ0LTEzNiAtNTZ0LTEzNiA1NnQtNTYgMTM2dDU2IDEzNnQxMzYgNTZ0MTM2IC01NnQ1NiAtMTM2ek0zODQgMTIxNnEwIC04MCAtNTYgLTEzNnQtMTM2IC01Ngp0LTEzNiA1NnQtNTYgMTM2dDU2IDEzNnQxMzYgNTZ0MTM2IC01NnQ1NiAtMTM2ek0xNjY0IDE5MnEwIC04MCAtNTYgLTEzNnQtMTM2IC01NnQtMTM2IDU2dC01NiAxMzZ0NTYgMTM2dDEzNiA1NnQxMzYgLTU2dDU2IC0xMzZ6TTg5NiAxMjE2cTAgLTgwIC01NiAtMTM2dC0xMzYgLTU2dC0xMzYgNTZ0LTU2IDEzNnQ1NiAxMzZ0MTM2IDU2dDEzNiAtNTZ0NTYgLTEzNnpNMjE3NiAxOTJxMCAtODAgLTU2IC0xMzZ0LTEzNiAtNTZ0LTEzNiA1Ngp0LTU2IDEzNnQ1NiAxMzZ0MTM2IDU2dDEzNiAtNTZ0NTYgLTEzNnpNMTY2NCA3MDRxMCAtODAgLTU2IC0xMzZ0LTEzNiAtNTZ0LTEzNiA1NnQtNTYgMTM2dDU2IDEzNnQxMzYgNTZ0MTM2IC01NnQ1NiAtMTM2ek0yMTc2IDcwNHEwIC04MCAtNTYgLTEzNnQtMTM2IC01NnQtMTM2IDU2dC01NiAxMzZ0NTYgMTM2dDEzNiA1NnQxMzYgLTU2dDU2IC0xMzZ6TTE2NjQgMTIxNnEwIC04MCAtNTYgLTEzNnQtMTM2IC01NnQtMTM2IDU2dC01NiAxMzYKdDU2IDEzNnQxMzYgNTZ0MTM2IC01NnQ1NiAtMTM2ek0yMTc2IDEyMTZxMCAtODAgLTU2IC0xMzZ0LTEzNiAtNTZ0LTEzNiA1NnQtNTYgMTM2dDU2IDEzNnQxMzYgNTZ0MTM2IC01NnQ1NiAtMTM2eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMkEyIiB1bmljb2RlPSImI3hmMmEyOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTI4IC0xOTJxMCAtMjYgLTE5IC00NXQtNDUgLTE5dC00NSAxOXQtMTkgNDV0MTkgNDV0NDUgMTl0NDUgLTE5dDE5IC00NXpNMzIwIDBxMCAtMjYgLTE5IC00NXQtNDUgLTE5dC00NSAxOXQtMTkgNDV0MTkgNDV0NDUgMTl0NDUgLTE5dDE5IC00NXpNMzY1IDM2NWwyNTYgLTI1NmwtOTAgLTkwbC0yNTYgMjU2ek03MDQgMzg0cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOXQtNDUgMTl0LTE5IDQ1dDE5IDQ1dDQ1IDE5dDQ1IC0xOXQxOSAtNDV6Ck0xNDExIDcwNHEwIC01OSAtMTEuNSAtMTA4LjV0LTM3LjUgLTkzLjV0LTQ0IC02Ny41dC01MyAtNjQuNXEtMzEgLTM1IC00NS41IC01NHQtMzMuNSAtNTB0LTI2LjUgLTY0dC03LjUgLTc0cTAgLTE1OSAtMTEyLjUgLTI3MS41dC0yNzEuNSAtMTEyLjVxLTI2IDAgLTQ1IDE5dC0xOSA0NXQxOSA0NXQ0NSAxOXExMDYgMCAxODEgNzV0NzUgMTgxcTAgNTcgMTEuNSAxMDUuNXQzNyA5MXQ0My41IDY2LjV0NTIgNjNxNDAgNDYgNTkuNSA3Mgp0MzcuNSA3NC41dDE4IDEwMy41cTAgMTg1IC0xMzEuNSAzMTYuNXQtMzE2LjUgMTMxLjV0LTMxNi41IC0xMzEuNXQtMTMxLjUgLTMxNi41cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOXQtNDUgMTl0LTE5IDQ1cTAgMTE3IDQ1LjUgMjIzLjV0MTIzIDE4NHQxODQgMTIzdDIyMy41IDQ1LjV0MjIzLjUgLTQ1LjV0MTg0IC0xMjN0MTIzIC0xODR0NDUuNSAtMjIzLjV6TTg5NiA1NzZxMCAtMjYgLTE5IC00NXQtNDUgLTE5dC00NSAxOXQtMTkgNDV0MTkgNDUKdDQ1IDE5dDQ1IC0xOXQxOSAtNDV6TTExODQgNzA0cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOXQtNDUgMTl0LTE5IDQ1cTAgOTMgLTY1LjUgMTU4LjV0LTE1OC41IDY1LjVxLTkyIDAgLTE1OCAtNjUuNXQtNjYgLTE1OC41cTAgLTI2IC0xOSAtNDV0LTQ1IC0xOXQtNDUgMTl0LTE5IDQ1cTAgMTQ2IDEwMyAyNDl0MjQ5IDEwM3QyNDkgLTEwM3QxMDMgLTI0OXpNMTU3OCA5OTNxMTAgLTI1IC0xIC00OXQtMzYgLTM0cS05IC00IC0yMyAtNApxLTE5IDAgLTM1LjUgMTF0LTIzLjUgMzBxLTY4IDE3OCAtMjI0IDI5NXEtMjEgMTYgLTI1IDQydDEyIDQ3cTE3IDIxIDQzIDI1dDQ3IC0xMnExODMgLTEzNyAyNjYgLTM1MXpNMTc4OCAxMDc0cTkgLTI1IC0xLjUgLTQ5dC0zNS41IC0zNHEtMTEgLTQgLTIzIC00cS00NCAwIC02MCA0MXEtOTIgMjM4IC0yOTcgMzkzcS0yMiAxNiAtMjUuNSA0MnQxMi41IDQ3cTE2IDIyIDQyIDI1LjV0NDcgLTEyLjVxMjM1IC0xNzUgMzQxIC00NDl6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyQTMiIHVuaWNvZGU9IiYjeGYyYTM7IiBob3Jpei1hZHYteD0iMjMwNCIgCmQ9Ik0xMDMyIDU3NnEtNTkgMiAtODQgNTVxLTE3IDM0IC00OCA1My41dC02OCAxOS41cS01MyAwIC05MC41IC0zNy41dC0zNy41IC05MC41cTAgLTU2IDM2IC04OWwxMCAtOHEzNCAtMzEgODIgLTMxcTM3IDAgNjggMTkuNXQ0OCA1My41cTI1IDUzIDg0IDU1ek0xNjAwIDcwNHEwIDU2IC0zNiA4OWwtMTAgOHEtMzQgMzEgLTgyIDMxcS0zNyAwIC02OCAtMTkuNXQtNDggLTUzLjVxLTI1IC01MyAtODQgLTU1cTU5IC0yIDg0IC01NQpxMTcgLTM0IDQ4IC01My41dDY4IC0xOS41cTUzIDAgOTAuNSAzNy41dDM3LjUgOTAuNXpNMTE3NCA5MjVxLTE3IC0zNSAtNTUgLTQ4dC03MyA0cS02MiAzMSAtMTM0IDMxcS01MSAwIC05OSAtMTdxMyAwIDkuNSAwLjV0OS41IDAuNXE5MiAwIDE3MC41IC01MHQxMTguNSAtMTMzcTE3IC0zNiAzLjUgLTczLjV0LTQ5LjUgLTU0LjVxLTE4IC05IC0zOSAtOXEyMSAwIDM5IC05cTM2IC0xNyA0OS41IC01NC41dC0zLjUgLTczLjUKcS00MCAtODMgLTExOC41IC0xMzN0LTE3MC41IC01MGgtNnEtMTYgMiAtNDQgNGwtMjkwIDI3bC0yMzkgLTEyMHEtMTQgLTcgLTI5IC03cS00MCAwIC01NyAzNWwtMTYwIDMyMHEtMTEgMjMgLTQgNDcuNXQyOSAzNy41bDIwOSAxMTlsMTQ4IDI2N3ExNyAxNTUgOTEuNSAyOTEuNXQxOTUuNSAyMzYuNXEzMSAyNSA3MC41IDIxLjV0NjQuNSAtMzQuNXQyMS41IC03MHQtMzQuNSAtNjVxLTcwIC01OSAtMTE3IC0xMjhxMTIzIDg0IDI2NyAxMDEKcTQwIDUgNzEuNSAtMTl0MzUuNSAtNjRxNSAtNDAgLTE5IC03MS41dC02NCAtMzUuNXEtODQgLTEwIC0xNTkgLTU1cTQ2IDEwIDk5IDEwcTExNSAwIDIxOCAtNTBxMzYgLTE4IDQ5IC01NS41dC01IC03My41ek0yMTM3IDEwODVsMTYwIC0zMjBxMTEgLTIzIDQgLTQ3LjV0LTI5IC0zNy41bC0yMDkgLTExOWwtMTQ4IC0yNjdxLTE3IC0xNTUgLTkxLjUgLTI5MS41dC0xOTUuNSAtMjM2LjVxLTI2IC0yMiAtNjEgLTIycS00NSAwIC03NCAzNQpxLTI1IDMxIC0yMS41IDcwdDM0LjUgNjVxNzAgNTkgMTE3IDEyOHEtMTIzIC04NCAtMjY3IC0xMDFxLTQgLTEgLTEyIC0xcS0zNiAwIC02My41IDI0dC0zMS41IDYwcS01IDQwIDE5IDcxLjV0NjQgMzUuNXE4NCAxMCAxNTkgNTVxLTQ2IC0xMCAtOTkgLTEwcS0xMTUgMCAtMjE4IDUwcS0zNiAxOCAtNDkgNTUuNXQ1IDczLjVxMTcgMzUgNTUgNDh0NzMgLTRxNjIgLTMxIDEzNCAtMzFxNTEgMCA5OSAxN3EtMyAwIC05LjUgLTAuNXQtOS41IC0wLjUKcS05MiAwIC0xNzAuNSA1MHQtMTE4LjUgMTMzcS0xNyAzNiAtMy41IDczLjV0NDkuNSA1NC41cTE4IDkgMzkgOXEtMjEgMCAtMzkgOXEtMzYgMTcgLTQ5LjUgNTQuNXQzLjUgNzMuNXE0MCA4MyAxMTguNSAxMzN0MTcwLjUgNTBoNmgxcTE0IC0yIDQyIC00bDI5MSAtMjdsMjM5IDEyMHExNCA3IDI5IDdxNDAgMCA1NyAtMzV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyQTQiIHVuaWNvZGU9IiYjeGYyYTQ7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xMDU2IDcwNHEwIC0yNiAxOSAtNDV0NDUgLTE5dDQ1IDE5dDE5IDQ1cTAgMTQ2IC0xMDMgMjQ5dC0yNDkgMTAzdC0yNDkgLTEwM3QtMTAzIC0yNDlxMCAtMjYgMTkgLTQ1dDQ1IC0xOXQ0NSAxOXQxOSA0NXEwIDkzIDY2IDE1OC41dDE1OCA2NS41dDE1OCAtNjUuNXQ2NiAtMTU4LjV6TTgzNSAxMjgwcS0xMTcgMCAtMjIzLjUgLTQ1LjV0LTE4NCAtMTIzdC0xMjMgLTE4NHQtNDUuNSAtMjIzLjVxMCAtMjYgMTkgLTQ1dDQ1IC0xOXQ0NSAxOQp0MTkgNDVxMCAxODUgMTMxLjUgMzE2LjV0MzE2LjUgMTMxLjV0MzE2LjUgLTEzMS41dDEzMS41IC0zMTYuNXEwIC01NSAtMTggLTEwMy41dC0zNy41IC03NC41dC01OS41IC03MnEtMzQgLTM5IC01MiAtNjN0LTQzLjUgLTY2LjV0LTM3IC05MXQtMTEuNSAtMTA1LjVxMCAtMTA2IC03NSAtMTgxdC0xODEgLTc1cS0yNiAwIC00NSAtMTl0LTE5IC00NXQxOSAtNDV0NDUgLTE5cTE1OSAwIDI3MS41IDExMi41dDExMi41IDI3MS41cTAgNDEgNy41IDc0CnQyNi41IDY0dDMzLjUgNTB0NDUuNSA1NHEzNSA0MSA1MyA2NC41dDQ0IDY3LjV0MzcuNSA5My41dDExLjUgMTA4LjVxMCAxMTcgLTQ1LjUgMjIzLjV0LTEyMyAxODR0LTE4NCAxMjN0LTIyMy41IDQ1LjV6TTU5MSA1NjFsMjI2IC0yMjZsLTU3OSAtNTc5cS0xMiAtMTIgLTI5IC0xMnQtMjkgMTJsLTE2OCAxNjhxLTEyIDEyIC0xMiAyOXQxMiAyOXpNMTYxMiAxNTI0bDE2OCAtMTY4cTEyIC0xMiAxMiAtMjl0LTEyIC0zMGwtMjMzIC0yMzMKbC0yNiAtMjVsLTcxIC03MXEtNjYgMTUzIC0xOTUgMjU4bDkxIDkxbDIwNyAyMDdxMTMgMTIgMzAgMTJ0MjkgLTEyeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMkE1IiB1bmljb2RlPSImI3hmMmE1OyIgCmQ9Ik04NjYgMTAyMXEwIC0yNyAtMTMgLTk0cS0xMSAtNTAgLTMxLjUgLTE1MHQtMzAuNSAtMTUwcS0yIC0xMSAtNC41IC0xMi41dC0xMy41IC0yLjVxLTIwIC0yIC0zMSAtMnEtNTggMCAtODQgNDkuNXQtMjYgMTEzLjVxMCA4OCAzNSAxNzR0MTAzIDEyNHEyOCAxNCA1MSAxNHEyOCAwIDM2LjUgLTE2LjV0OC41IC00Ny41ek0xMzUyIDU5N3EwIDE0IC0zOSA3NS41dC01MiA2Ni41cS0yMSA4IC0zNCA4cS05MSAwIC0yMjYgLTc3bC0yIDIKcTMgMjIgMjcuNSAxMzV0MjQuNSAxNzhxMCAyMzMgLTI0MiAyMzNxLTI0IDAgLTY4IC02cS05NCAtMTcgLTE2OC41IC04OS41dC0xMTEuNSAtMTY2LjV0LTM3IC0xODlxMCAtMTQ2IDgwLjUgLTIyNXQyMjcuNSAtNzlxMjUgMCAyNSAtM3QtMSAtNXEtNCAtMzQgLTI2IC0xMTdxLTE0IC01MiAtNTEuNSAtMTAxdC04Mi41IC00OXEtNDIgMCAtNDIgNDdxMCAyNCAxMC41IDQ3LjV0MjUgMzkuNXQyOS41IDI4LjV0MjYgMjB0MTEgOC41cTAgMyAtNyAxMApxLTI0IDIyIC01OC41IDM2LjV0LTY1LjUgMTQuNXEtMzUgMCAtNjMuNSAtMzR0LTQxIC03NXQtMTIuNSAtNzVxMCAtODggNTEuNSAtMTQydDEzOC41IC01NHE4MiAwIDE1NSA1M3QxMTcuNSAxMjZ0NjUuNSAxNTNxNiAyMiAxNS41IDY2LjV0MTQuNSA2Ni41cTMgMTIgMTQgMThxMTE4IDYwIDIyNyA2MHE0OCAwIDEyNyAtMThxMSAtMSA0IC0xcTUgMCA5LjUgNC41dDQuNSA4LjV6TTE1MzYgMTEyMHYtOTYwcTAgLTExOSAtODQuNSAtMjAzLjUKdC0yMDMuNSAtODQuNWgtOTYwcS0xMTkgMCAtMjAzLjUgODQuNXQtODQuNSAyMDMuNXY5NjBxMCAxMTkgODQuNSAyMDMuNXQyMDMuNSA4NC41aDk2MHExMTkgMCAyMDMuNSAtODQuNXQ4NC41IC0yMDMuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjJBNiIgdW5pY29kZT0iJiN4ZjJhNjsiIGhvcml6LWFkdi14PSIxNTM1IiAKZD0iTTc0NCAxMjMxcTAgMjQgLTIgMzguNXQtOC41IDMwdC0yMSAyM3QtMzcuNSA3LjVxLTM5IDAgLTc4IC0yM3EtMTA1IC01OCAtMTU5IC0xOTAuNXQtNTQgLTI2OS41cTAgLTQ0IDguNSAtODUuNXQyNi41IC04MC41dDUyLjUgLTYyLjV0ODEuNSAtMjMuNXE0IDAgMTggLTAuNXQyMCAwdDE2IDN0MTUgOC41dDcgMTZxMTYgNzcgNDggMjMxLjV0NDggMjMxLjVxMTkgOTEgMTkgMTQ2ek0xNDk4IDU3NXEwIC03IC03LjUgLTEzLjV0LTE1LjUgLTYuNQpsLTYgMXEtMjIgMyAtNjIgMTF0LTcyIDEyLjV0LTYzIDQuNXEtMTY3IDAgLTM1MSAtOTNxLTE1IC04IC0yMSAtMjdxLTEwIC0zNiAtMjQuNSAtMTA1LjV0LTIyLjUgLTEwMC41cS0yMyAtOTEgLTcwIC0xNzkuNXQtMTEyLjUgLTE2NC41dC0xNTQuNSAtMTIzdC0xODUgLTQ3cS0xMzUgMCAtMjE0LjUgODMuNXQtNzkuNSAyMTkuNXEwIDUzIDE5LjUgMTE3dDYzIDExNi41dDk3LjUgNTIuNXEzOCAwIDEyMCAtMzMuNXQ4MyAtNjEuNQpxMCAtMSAtMTYuNSAtMTIuNXQtMzkuNSAtMzF0LTQ2IC00NC41dC0zOSAtNjF0LTE2IC03NHEwIC0zMyAxNi41IC01M3Q0OC41IC0yMHE0NSAwIDg1IDMxLjV0NjYuNSA3OHQ0OCAxMDUuNXQzMi41IDEwN3QxNiA5MHY5cTAgMiAtMy41IDMuNXQtOC41IDEuNWgtMTB0LTEwIC0wLjV0LTYgLTAuNXEtMjI3IDAgLTM1MiAxMjIuNXQtMTI1IDM0OC41cTAgMTA4IDM0LjUgMjIxdDk2IDIxMHQxNTYgMTY3LjV0MjA0LjUgODkuNXE1MiA5IDEwNiA5CnEzNzQgMCAzNzQgLTM2MHEwIC05OCAtMzggLTI3M3QtNDMgLTIxMWwzIC0zcTEwMSA1NyAxODIuNSA4OHQxNjcuNSAzMXEyMiAwIDUzIC0xM3ExOSAtNyA4MCAtMTAyLjV0NjEgLTExNi41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMkE3IiB1bmljb2RlPSImI3hmMmE3OyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNODMxIDg2M3EzMiAwIDU5IC0xOGwyMjIgLTE0OHE2MSAtNDAgMTEwIC05N2wxNDYgLTE3MHE0MCAtNDYgMjkgLTEwNmwtNzIgLTQxM3EtNiAtMzIgLTI5LjUgLTUzLjV0LTU1LjUgLTI1LjVsLTUyNyAtNTZsLTM1MiAtMzJoLTlxLTM5IDAgLTY3LjUgMjh0LTI4LjUgNjhxMCAzNyAyNyA2NHQ2NSAzMmwyNjAgMzJoLTQ0OHEtNDEgMCAtNjkuNSAzMHQtMjYuNSA3MXEyIDM5IDMyIDY1dDY5IDI2bDQ0MiAxbC01MjEgNjRxLTQxIDUgLTY2IDM3CnQtMTkgNzNxNiAzNSAzNC41IDU3LjV0NjUuNSAyMi41aDEwbDQ4MSAtNjBsLTM1MSA5NHEtMzggMTAgLTYyIDQxLjV0LTE4IDY4LjVxNiAzNiAzMyA1OC41dDYyIDIyLjVxNiAwIDIwIC0ybDQ0OCAtOTZsMjE3IC0zN3ExIDAgMyAtMC41dDMgLTAuNXEyMyAwIDMwLjUgMjN0LTEyLjUgMzZsLTE4NiAxMjVxLTM1IDIzIC00MiA2My41dDE4IDczLjVxMjcgMzggNzYgMzh6TTc2MSA2NjFsMTg2IC0xMjVsLTIxOCAzN2wtNSAybC0zNiAzOApsLTIzOCAyNjJxLTEgMSAtMi41IDMuNXQtMi41IDMuNXEtMjQgMzEgLTE4LjUgNzB0MzcuNSA2NHEzMSAyMyA2OCAxNy41dDY0IC0zMy41bDE0MiAtMTQ3cS0yIC0xIC01IC0zLjV0LTQgLTQuNXEtMzIgLTQ1IC0yMyAtOTl0NTUgLTg1ek0xNjQ4IDExMTVsMTUgLTI2NnE0IC03MyAtMTEgLTE0N2wtNDggLTIxOXEtMTIgLTU5IC02NyAtODdsLTEwNiAtNTRxMiA2MiAtMzkgMTA5bC0xNDYgMTcwcS01MyA2MSAtMTE3IDEwM2wtMjIyIDE0OApxLTM0IDIzIC03NiAyM3EtNTEgMCAtODggLTM3bC0yMzUgMzEycS0yNSAzMyAtMTggNzMuNXQ0MSA2My41cTMzIDIyIDcxLjUgMTR0NjIuNSAtNDBsMjY2IC0zNTJsLTI2MiA0NTVxLTIxIDM1IC0xMC41IDc1dDQ3LjUgNTlxMzUgMTggNzIuNSA2dDU3LjUgLTQ2bDI0MSAtNDIwbC0xMzYgMzM3cS0xNSAzNSAtNC41IDc0dDQ0LjUgNTZxMzcgMTkgNzYgNnQ1NiAtNTFsMTkzIC00MTVsMTAxIC0xOTZxOCAtMTUgMjMgLTE3LjV0MjcgNy41dDExIDI2CmwtMTIgMjI0cS0yIDQxIDI2IDcxdDY5IDMxcTM5IDAgNjcgLTI4LjV0MzAgLTY3LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyQTgiIHVuaWNvZGU9IiYjeGYyYTg7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0zMzUgMTgwcS0yIDAgLTYgMnEtODYgNTcgLTE2OC41IDE0NXQtMTM5LjUgMTgwcS0yMSAzMCAtMjEgNjlxMCA5IDIgMTl0NCAxOHQ3IDE4dDguNSAxNnQxMC41IDE3dDEwIDE1dDEyIDE1LjV0MTEgMTQuNXExODQgMjUxIDQ1MiAzNjVxLTExMCAxOTggLTExMCAyMTFxMCAxOSAxNyAyOXExMTYgNjQgMTI4IDY0cTE4IDAgMjggLTE2bDEyNCAtMjI5cTkyIDE5IDE5MiAxOXEyNjYgMCA0OTcuNSAtMTM3LjV0Mzc4LjUgLTM2OS41CnEyMCAtMzEgMjAgLTY5dC0yMCAtNjlxLTkxIC0xNDIgLTIxOC41IC0yNTMuNXQtMjc4LjUgLTE3NS41cTExMCAtMTk4IDExMCAtMjExcTAgLTIwIC0xNyAtMjlxLTExNiAtNjQgLTEyNyAtNjRxLTE5IDAgLTI5IDE2bC0xMjQgMjI5bC02NCAxMTlsLTQ0NCA4MjBsNyA3cS01OCAtMjQgLTk5IC00N3EzIC01IDEyNyAtMjM0dDI0MyAtNDQ5dDExOSAtMjIzcTAgLTcgLTkgLTlxLTEzIC0zIC03MiAtM3EtNTcgMCAtNjAgN2wtNDU2IDg0MQpxLTM5IC0yOCAtODIgLTY4cTI0IC00MyAyMTQgLTM5My41dDE5MCAtMzU0LjVxMCAtMTAgLTExIC0xMHEtMTQgMCAtODIuNSAyMnQtNzIuNSAyOGwtMTA2IDE5N2wtMjI0IDQxM3EtNDQgLTUzIC03OCAtMTA2cTIgLTMgMTggLTI1dDIzIC0zNGwxNzYgLTMyN3EwIC0xMCAtMTAgLTEwek0xMTY1IDI4Mmw0OSAtOTFxMjczIDExMSA0NTAgMzg1cS0xODAgMjc3IC00NTkgMzg5cTY3IC02NCAxMDMgLTE0OC41dDM2IC0xNzYuNQpxMCAtMTA2IC00NyAtMjAwLjV0LTEzMiAtMTU3LjV6TTg0OCA4OTZxMCAtMjAgMTQgLTM0dDM0IC0xNHE4NiAwIDE0NyAtNjF0NjEgLTE0N3EwIC0yMCAxNCAtMzR0MzQgLTE0dDM0IDE0dDE0IDM0cTAgMTI2IC04OSAyMTV0LTIxNSA4OXEtMjAgMCAtMzQgLTE0dC0xNCAtMzR6TTEyMTQgOTYxbC05IDRsNyAtN3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjJBOSIgdW5pY29kZT0iJiN4ZjJhOTsiIGhvcml6LWFkdi14PSIxMjgwIiAKZD0iTTEwNTAgNDMwcTAgLTIxNSAtMTQ3IC0zNzRxLTE0OCAtMTYxIC0zNzggLTE2MXEtMjMyIDAgLTM3OCAxNjFxLTE0NyAxNTkgLTE0NyAzNzRxMCAxNDcgNjggMjcwLjV0MTg5IDE5Ni41dDI2OCA3M3E5NiAwIDE4MiAtMzFxLTMyIC02MiAtMzkgLTEyNnEtNjYgMjggLTE0MyAyOHEtMTY3IDAgLTI4MC41IC0xMjN0LTExMy41IC0yOTFxMCAtMTcwIDExMi41IC0yODguNXQyODEuNSAtMTE4LjV0MjgxIDExOC41dDExMiAyODguNQpxMCA4OSAtMzIgMTY2cTY2IDEzIDEyMyA0OXE0MSAtOTggNDEgLTIxMnpNODQ2IDYxOXEwIC0xOTIgLTc5LjUgLTM0NXQtMjM4LjUgLTI1M2wtMTQgLTFxLTI5IDAgLTYyIDVxODMgMzIgMTQ2LjUgMTAyLjV0OTkuNSAxNTQuNXQ1OC41IDE4OXQzMCAxOTIuNXQ3LjUgMTc4LjVxMCA2OSAtMyAxMDNxNTUgLTE2MCA1NSAtMzI2ek03OTEgOTQ3di0ycS03MyAyMTQgLTIwNiA0NDBxODggLTU5IDE0Mi41IC0xODYuNXQ2My41IC0yNTEuNXoKTTEwMzUgNzQ0cS04MyAwIC0xNjAgNzVxMjE4IDEyMCAyOTAgMjQ3cTE5IDM3IDIxIDU2cS00MiAtOTQgLTEzOS41IC0xNjYuNXQtMjA0LjUgLTk3LjVxLTM1IDU0IC0zNSAxMTNxMCAzNyAxNyA3OXQ0MyA2OHE0NiA0NCAxNTcgNzRxNTkgMTYgMTA2IDU4LjV0NzQgMTAwLjVxNzQgLTEwNSA3NCAtMjUzcTAgLTEwOSAtMjQgLTE3MHEtMzIgLTc3IC04OC41IC0xMzAuNXQtMTMwLjUgLTUzLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyQUEiIHVuaWNvZGU9IiYjeGYyYWE7IiAKZD0iTTEwNTAgNDk1cTAgNzggLTI4IDE0N3EtNDEgLTI1IC04NSAtMzRxMjIgLTUwIDIyIC0xMTRxMCAtMTE3IC03NyAtMTk4LjV0LTE5MyAtODEuNXQtMTkzLjUgODEuNXQtNzcuNSAxOTguNXEwIDExNSA3OCAxOTkuNXQxOTMgODQuNXE1MyAwIDk4IC0xOXE0IDQzIDI3IDg3cS02MCAyMSAtMTI1IDIxcS0xNTQgMCAtMjU3LjUgLTEwOC41dC0xMDMuNSAtMjYzLjV0MTAzLjUgLTI2MXQyNTcuNSAtMTA2dDI1Ny41IDEwNi41dDEwMy41IDI2MC41egpNODcyIDg1MHEyIC0yNCAyIC03MXEwIC02MyAtNSAtMTIzdC0yMC41IC0xMzIuNXQtNDAuNSAtMTMwdC02OC41IC0xMDZ0LTEwMC41IC03MC41cTIxIC0zIDQyIC0zaDEwcTIxOSAxMzkgMjE5IDQxMXEwIDExNiAtMzggMjI1ek04NzIgODUwcS00IDgwIC00NCAxNzEuNXQtOTggMTMwLjVxOTIgLTE1NiAxNDIgLTMwMnpNMTIwNyA5NTVxMCAxMDIgLTUxIDE3NHEtNDEgLTg2IC0xMjQgLTEwOXEtNjkgLTE5IC0xMDkgLTUzLjV0LTQwIC05OS41CnEwIC00MCAyNCAtNzdxNzQgMTcgMTQwLjUgNjd0OTUuNSAxMTVxLTQgLTUyIC03NC41IC0xMTEuNXQtMTM4LjUgLTk3LjVxNTIgLTUyIDExMCAtNTJxNTEgMCA5MCAzN3Q2MCA5MHExNyA0MiAxNyAxMTd6TTE1MzYgMTEyMHYtOTYwcTAgLTExOSAtODQuNSAtMjAzLjV0LTIwMy41IC04NC41aC05NjBxLTExOSAwIC0yMDMuNSA4NC41dC04NC41IDIwMy41djk2MHEwIDExOSA4NC41IDIwMy41dDIwMy41IDg0LjVoOTYwcTExOSAwIDIwMy41IC04NC41CnQ4NC41IC0yMDMuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjJBQiIgdW5pY29kZT0iJiN4ZjJhYjsiIApkPSJNMTI3OSAzODhxMCAyMiAtMjIgMjdxLTY3IDE1IC0xMTggNTl0LTgwIDEwOHEtNyAxOSAtNyAyNXEwIDE1IDE5LjUgMjZ0NDMgMTd0NDMgMjAuNXQxOS41IDM2LjVxMCAxOSAtMTguNSAzMS41dC0zOC41IDEyLjVxLTEyIDAgLTMyIC04dC0zMSAtOHEtNCAwIC0xMiAycTUgOTUgNSAxMTRxMCA3OSAtMTcgMTE0cS0zNiA3OCAtMTAzIDEyMS41dC0xNTIgNDMuNXEtMTk5IDAgLTI3NSAtMTY1cS0xNyAtMzUgLTE3IC0xMTRxMCAtMTkgNSAtMTE0CnEtNCAtMiAtMTQgLTJxLTEyIDAgLTMyIDcuNXQtMzAgNy41cS0yMSAwIC0zOC41IC0xMnQtMTcuNSAtMzJxMCAtMjEgMTkuNSAtMzUuNXQ0MyAtMjAuNXQ0MyAtMTd0MTkuNSAtMjZxMCAtNiAtNyAtMjVxLTY0IC0xMzggLTE5OCAtMTY3cS0yMiAtNSAtMjIgLTI3cTAgLTQ2IDEzNyAtNjhxMiAtNSA2IC0yNnQxMS41IC0zMC41dDIzLjUgLTkuNXExMiAwIDM3LjUgNC41dDM5LjUgNC41cTM1IDAgNjcgLTE1dDU0IC0zMi41dDU3LjUgLTMyLjUKdDc2LjUgLTE1cTQzIDAgNzkgMTV0NTcuNSAzMi41dDUzLjUgMzIuNXQ2NyAxNXExNCAwIDM5LjUgLTR0MzguNSAtNHExNiAwIDIzIDEwdDExIDMwdDYgMjVxMTM3IDIyIDEzNyA2OHpNMTUzNiA2NDBxMCAtMjA5IC0xMDMgLTM4NS41dC0yNzkuNSAtMjc5LjV0LTM4NS41IC0xMDN0LTM4NS41IDEwM3QtMjc5LjUgMjc5LjV0LTEwMyAzODUuNXQxMDMgMzg1LjV0Mjc5LjUgMjc5LjV0Mzg1LjUgMTAzdDM4NS41IC0xMDN0Mjc5LjUgLTI3OS41CnQxMDMgLTM4NS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMkFDIiB1bmljb2RlPSImI3hmMmFjOyIgaG9yaXotYWR2LXg9IjE2NjQiIApkPSJNODQ4IDE0MDhxMTM0IDEgMjQwLjUgLTY4LjV0MTYzLjUgLTE5Mi41cTI3IC01OCAyNyAtMTc5cTAgLTQ3IC05IC0xOTFxMTQgLTcgMjggLTdxMTggMCA1MSAxMy41dDUxIDEzLjVxMjkgMCA1NiAtMTh0MjcgLTQ2cTAgLTMyIC0zMS41IC01NHQtNjkgLTMxLjV0LTY5IC0yOXQtMzEuNSAtNDcuNXEwIC0xNSAxMiAtNDNxMzcgLTgyIDEwMi41IC0xNTB0MTQ0LjUgLTEwMXEyOCAtMTIgODAgLTIzcTI4IC02IDI4IC0zNQpxMCAtNzAgLTIxOSAtMTAzcS03IC0xMSAtMTEgLTM5dC0xNCAtNDYuNXQtMzMgLTE4LjVxLTIwIDAgLTYyIDYuNXQtNjQgNi41cS0zNyAwIC02MiAtNXEtMzIgLTUgLTYzIC0yMi41dC01OCAtMzh0LTU4IC00MC41dC03NiAtMzMuNXQtOTkgLTEzLjVxLTUyIDAgLTk2LjUgMTMuNXQtNzUgMzMuNXQtNTcuNSA0MC41dC01OCAzOHQtNjIgMjIuNXEtMjYgNSAtNjMgNXEtMjQgMCAtNjUuNSAtNy41dC01OC41IC03LjVxLTI1IDAgLTM1IDE4LjUKdC0xNCA0Ny41dC0xMSA0MHEtMjE5IDMzIC0yMTkgMTAzcTAgMjkgMjggMzVxNTIgMTEgODAgMjNxNzggMzIgMTQ0LjUgMTAxdDEwMi41IDE1MHExMiAyOCAxMiA0M3EwIDI4IC0zMS41IDQ3LjV0LTY5LjUgMjkuNXQtNjkuNSAzMS41dC0zMS41IDUyLjVxMCAyNyAyNiA0NS41dDU1IDE4LjVxMTUgMCA0OCAtMTN0NTMgLTEzcTE4IDAgMzIgN3EtOSAxNDIgLTkgMTkwcTAgMTIyIDI3IDE4MHE2NCAxMzcgMTcyIDE5OHQyNjQgNjN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyQUQiIHVuaWNvZGU9IiYjeGYyYWQ7IiAKZD0iTTEyODAgMzg4cTAgMjIgLTIyIDI3cS02NyAxNCAtMTE4IDU4dC04MCAxMDlxLTcgMTQgLTcgMjVxMCAxNSAxOS41IDI2dDQyLjUgMTd0NDIuNSAyMC41dDE5LjUgMzYuNXEwIDE5IC0xOC41IDMxLjV0LTM4LjUgMTIuNXEtMTEgMCAtMzEgLTh0LTMyIC04cS00IDAgLTEyIDJxNSA2MyA1IDExNXEwIDc4IC0xNyAxMTRxLTM2IDc4IC0xMDIuNSAxMjEuNXQtMTUyLjUgNDMuNXEtMTk4IDAgLTI3NSAtMTY1cS0xOCAtMzggLTE4IC0xMTUKcTAgLTM4IDYgLTExNHEtMTAgLTIgLTE1IC0ycS0xMSAwIC0zMS41IDh0LTMwLjUgOHEtMjAgMCAtMzcuNSAtMTIuNXQtMTcuNSAtMzIuNXEwIC0yMSAxOS41IC0zNS41dDQyLjUgLTIwLjV0NDIuNSAtMTd0MTkuNSAtMjZxMCAtMTEgLTcgLTI1cS02NCAtMTM4IC0xOTggLTE2N3EtMjIgLTUgLTIyIC0yN3EwIC00NyAxMzggLTY5cTIgLTUgNiAtMjZ0MTEgLTMwLjV0MjMgLTkuNXExMyAwIDM4LjUgNXQzOC41IDVxMzUgMCA2Ny41IC0xNQp0NTQuNSAtMzIuNXQ1Ny41IC0zMi41dDc2LjUgLTE1cTQzIDAgNzkgMTV0NTcuNSAzMi41dDU0IDMyLjV0NjcuNSAxNXExMyAwIDM5IC00LjV0MzkgLTQuNXExNSAwIDIyLjUgOS41dDExLjUgMzF0NSAyNC41cTEzOCAyMiAxMzggNjl6TTE1MzYgMTEyMHYtOTYwcTAgLTExOSAtODQuNSAtMjAzLjV0LTIwMy41IC04NC41aC05NjBxLTExOSAwIC0yMDMuNSA4NC41dC04NC41IDIwMy41djk2MHEwIDExOSA4NC41IDIwMy41dDIwMy41IDg0LjVoOTYwCnExMTkgMCAyMDMuNSAtODQuNXQ4NC41IC0yMDMuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjJBRSIgdW5pY29kZT0iJiN4ZjJhZTsiIGhvcml6LWFkdi14PSIyMzA0IiAKZD0iTTIzMDQgMTUzNnEtNjkgLTQ2IC0xMjUgLTkydC04OSAtODF0LTU5LjUgLTcxLjV0LTM3LjUgLTU3LjV0LTIyIC00NC41dC0xNCAtMjkuNXEtMTAgLTE4IC0zNS41IC0xMzYuNXQtNDguNSAtMTY0LjVxLTE1IC0yOSAtNTAgLTYwLjV0LTY3LjUgLTUwLjV0LTcyLjUgLTQxdC00OCAtMjhxLTQ3IC0zMSAtMTUxIC0yMzFxLTM0MSAxNCAtNjMwIC0xNThxLTkyIC01MyAtMzAzIC0xNzlxNDcgMTYgODYgMzF0NTUgMjJsMTUgNwpxNzEgMjcgMTYzIDY0LjV0MTMzLjUgNTMuNXQxMDggMzQuNXQxNDIuNSAzMS41cTE4NiAzMSA0NjUgLTdxMSAwIDEwIC0zcTExIC02IDE0IC0xN3QtMyAtMjJsLTE5NCAtMzQ1cS0xNSAtMjkgLTQ3IC0yMnEtMTI4IDI0IC0zNTQgMjRxLTE0NiAwIC00MDIgLTQ0LjV0LTM5MiAtNDYuNXEtODIgLTEgLTE0OSAxM3QtMTA3IDM3dC02MSA0MHQtMzMgMzRsLTEgMXYycTAgNiA2IDZxMTM4IDAgMzcxIDU1cTE5MiAzNjYgMzc0LjUgNTI0dDM4My41IDE1OApxNSAwIDE0LjUgLTAuNXQzOCAtNXQ1NSAtMTJ0NjEuNSAtMjQuNXQ2MyAtMzkuNXQ1NCAtNTl0NDAgLTgyLjVsMTAyIDE3N3EyIDQgMjEgNDIuNXQ0NC41IDg2LjV0NjEgMTA5LjV0ODQgMTMzLjV0MTAwLjUgMTM3cTY2IDgyIDEyOCAxNDEuNXQxMjEuNSA5Ni41dDkyLjUgNTMuNXQ4OCAzOS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMkIwIiB1bmljb2RlPSImI3hmMmIwOyIgCmQ9Ik0xMzIyIDY0MHEwIC00NSAtNSAtNzZsLTIzNiAxNGwyMjQgLTc4cS0xOSAtNzMgLTU4IC0xNDFsLTIxNCAxMDNsMTc3IC0xNThxLTQ0IC02MSAtMTA3IC0xMDhsLTE1NyAxNzhsMTAzIC0yMTVxLTYxIC0zNyAtMTQwIC01OWwtNzkgMjI4bDE0IC0yNDBxLTM4IC02IC03NiAtNnQtNzYgNmwxNCAyMzhsLTc4IC0yMjZxLTc0IDE5IC0xNDAgNTlsMTAzIDIxNWwtMTU3IC0xNzhxLTU5IDQzIC0xMDggMTA4bDE3OCAxNThsLTIxNCAtMTA0CnEtMzkgNjkgLTU4IDE0MWwyMjQgNzlsLTIzNyAtMTRxLTUgNDIgLTUgNzZxMCAzNSA1IDc3bDIzOCAtMTRsLTIyNSA3OXExOSA3MyA1OCAxNDBsMjE0IC0xMDRsLTE3NyAxNTlxNDYgNjEgMTA3IDEwOGwxNTggLTE3OGwtMTAzIDIxNXE2NyAzOSAxNDAgNThsNzcgLTIyNGwtMTMgMjM2cTM2IDYgNzUgNnEzOCAwIDc2IC02bC0xNCAtMjM3bDc4IDIyNXE3NCAtMTkgMTQwIC01OWwtMTAzIC0yMTRsMTU4IDE3OHE2MSAtNDcgMTA3IC0xMDgKbC0xNzcgLTE1OWwyMTMgMTA0cTM3IC02MiA1OCAtMTQxbC0yMjQgLTc4bDIzNyAxNHE1IC0zMSA1IC03N3pNMTM1MiA2NDBxMCAxNjAgLTc4LjUgMjk1LjV0LTIxMyAyMTR0LTI5Mi41IDc4LjVxLTExOSAwIC0yMjcgLTQ2LjV0LTE4Ni41IC0xMjV0LTEyNC41IC0xODcuNXQtNDYgLTIyOXEwIC0xMTkgNDYgLTIyOHQxMjQuNSAtMTg3LjV0MTg2LjUgLTEyNXQyMjcgLTQ2LjVxMTU4IDAgMjkyLjUgNzguNXQyMTMgMjE0dDc4LjUgMjk0LjV6Ck0xNDI1IDEwMjN2LTc2NmwtNjU3IC0zODNsLTY1NyAzODN2NzY2bDY1NyAzODN6TTc2OCAtMTgzbDcwOCA0MTJ2ODIzbC03MDggNDExbC03MDggLTQxMXYtODIzek0xNTM2IDEwODh2LTg5NmwtNzY4IC00NDhsLTc2OCA0NDh2ODk2bDc2OCA0NDh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyQjEiIHVuaWNvZGU9IiYjeGYyYjE7IiBob3Jpei1hZHYteD0iMTY2NCIgCmQ9Ik0zMzkgMTMxOGg2OTFsLTI2IC03MmgtNjY1cS0xMTAgMCAtMTg4LjUgLTc5dC03OC41IC0xODl2LTc3MXEwIC05NSA2MC41IC0xNjkuNXQxNTMuNSAtOTMuNXEyMyAtNSA5OCAtNXYtNzJoLTQ1cS0xNDAgMCAtMjM5LjUgMTAwdC05OS41IDI0MHY3NzFxMCAxNDAgOTkuNSAyNDB0MjM5LjUgMTAwek0xMTkwIDE1MzZoMjQ3bC00ODIgLTEyOTRxLTIzIC02MSAtNDAuNSAtMTAzLjV0LTQ1IC05OHQtNTQgLTkzLjV0LTY0LjUgLTc4LjUKdC03OS41IC02NXQtOTUuNSAtNDF0LTExNiAtMTguNXYxOTVxMTYzIDI2IDIyMCAxODJxMjAgNTIgMjAgMTA1cTAgNTQgLTIwIDEwNmwtMjg1IDczM2gyMjhsMTg3IC01ODV6TTE2NjQgOTc4di0xMTExaC03OTVxMzcgNTUgNDUgNzNoNjc4djEwMzhxMCA4NSAtNDkuNSAxNTV0LTEyOS41IDk5bDI1IDY3cTEwMSAtMzQgMTYzLjUgLTEyMy41dDYyLjUgLTE5Ny41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMkIyIiB1bmljb2RlPSImI3hmMmIyOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNODUyIDEyMjdxMCAtMjkgLTE3IC01Mi41dC00NSAtMjMuNXQtNDUgMjMuNXQtMTcgNTIuNXQxNyA1Mi41dDQ1IDIzLjV0NDUgLTIzLjV0MTcgLTUyLjV6TTY4OCAtMTQ5djExNHEwIDMwIC0yMC41IDUxLjV0LTUwLjUgMjEuNXQtNTAgLTIxLjV0LTIwIC01MS41di0xMTRxMCAtMzAgMjAuNSAtNTJ0NDkuNSAtMjJxMzAgMCA1MC41IDIydDIwLjUgNTJ6TTg2MCAtMTQ5djExNHEwIDMwIC0yMCA1MS41dC01MCAyMS41dC01MC41IC0yMS41CnQtMjAuNSAtNTEuNXYtMTE0cTAgLTMwIDIwLjUgLTUydDUwLjUgLTIycTI5IDAgNDkuNSAyMnQyMC41IDUyek0xMDM0IC0xNDl2MTE0cTAgMzAgLTIwLjUgNTEuNXQtNTAuNSAyMS41dC01MC41IC0yMS41dC0yMC41IC01MS41di0xMTRxMCAtMzAgMjAuNSAtNTJ0NTAuNSAtMjJ0NTAuNSAyMnQyMC41IDUyek0xMjA4IC0xNDl2MTE0cTAgMzAgLTIwLjUgNTEuNXQtNTAuNSAyMS41dC01MC41IC0yMS41dC0yMC41IC01MS41di0xMTQKcTAgLTMwIDIwLjUgLTUydDUwLjUgLTIydDUwLjUgMjJ0MjAuNSA1MnpNMTQ3NiA1MzVxLTg0IC0xNjAgLTIzMiAtMjU5LjV0LTMyMyAtOTkuNXEtMTIzIDAgLTIyOS41IDUxLjV0LTE3OC41IDEzN3QtMTEzIDE5Ny41dC00MSAyMzJxMCA4OCAyMSAxNzRxLTEwNCAtMTc1IC0xMDQgLTM5MHEwIC0xNjIgNjUgLTMxMnQxODUgLTI1MXEzMCA1NyA5MSA1N3E1NiAwIDg2IC01MHEzMiA1MCA4NyA1MHE1NiAwIDg2IC01MHEzMiA1MCA4NyA1MHQ4NyAtNTAKcTMwIDUwIDg2IDUwcTI4IDAgNTIuNSAtMTUuNXQzNy41IC00MC41cTExMiA5NCAxNzcgMjMxLjV0NzMgMjg3LjV6TTEzMjYgNTY0cTAgNzUgLTcyIDc1cS0xNyAwIC00NyAtNnEtOTUgLTE5IC0xNDkgLTE5cS0yMjYgMCAtMjI2IDI0M3EwIDg2IDMwIDIwNHEtODMgLTEyNyAtODMgLTI3NXEwIC0xNTAgODkgLTI2MC41dDIzNSAtMTEwLjVxMTExIDAgMjEwIDcwcTEzIDQ4IDEzIDc5ek04ODQgMTIyM3EwIDUwIC0zMiA4OS41dC04MSAzOS41CnQtODEgLTM5LjV0LTMyIC04OS41cTAgLTUxIDMxLjUgLTkwLjV0ODEuNSAtMzkuNXQ4MS41IDM5LjV0MzEuNSA5MC41ek0xNTEzIDg4NHEwIDk2IC0zNy41IDE3OXQtMTEzIDEzN3QtMTczLjUgNTRxLTc3IDAgLTE0OSAtMzV0LTEyNyAtOTRxLTQ4IC0xNTkgLTQ4IC0yNjhxMCAtMTA0IDQ1LjUgLTE1N3QxNDcuNSAtNTNxNTMgMCAxNDIgMTlxMzYgNiA1MyA2cTUxIDAgNzcuNSAtMjh0MjYuNSAtODBxMCAtMjYgLTQgLTQ2CnE3NSA2OCAxMTcuNSAxNjUuNXQ0Mi41IDIwMC41ek0xNzkyIDY2N3EwIC0xMTEgLTMzLjUgLTI0OS41dC05My41IC0yMDQuNXEtNTggLTY0IC0xOTUgLTE0Mi41dC0yMjggLTEwNC41bC00IC0xdi0xMTRxMCAtNDMgLTI5LjUgLTc1dC03Mi41IC0zMnEtNTYgMCAtODYgNTBxLTMyIC01MCAtODcgLTUwdC04NyA1MHEtMzAgLTUwIC04NiAtNTBxLTU1IDAgLTg3IDUwcS0zMCAtNTAgLTg2IC01MHEtNDcgMCAtNzUgMzMuNXQtMjggODEuNQpxLTkwIC02OCAtMTk4IC02OHEtMTE4IDAgLTIxMSA4MHE1NCAxIDEwNiAyMHEtMTEzIDMxIC0xODIgMTI3cTMyIC03IDcxIC03cTg5IDAgMTY0IDQ2cS0xOTIgMTkyIC0yNDAgMzA2cS0yNCA1NiAtMjQgMTYwcTAgNTcgOSAxMjUuNXQzMS41IDE0Ni41dDU1IDE0MXQ4Ni41IDEwNXQxMjAgNDJxNTkgMCA4MSAtNTJxMTkgMjkgNDIgNTRxMiAzIDEyIDEzdDEzIDE2cTEwIDE1IDIzIDM4dDI1IDQydDI4IDM5cTg3IDExMSAyMTEuNSAxNzcKdDI2MC41IDY2cTM1IDAgNjIgLTRxNTkgNjQgMTQ2IDY0cTgzIDAgMTQwIC01N3E1IC01IDUgLTEycTAgLTUgLTYgLTEzLjV0LTEyLjUgLTE2dC0xNiAtMTdsLTEwLjUgLTEwLjVxMTcgLTYgMzYgLTE4dDE5IC0yNHEwIC02IC0xNiAtMjVxMTU3IC0xMzggMTk3IC0zNzhxMjUgMzAgNjAgMzBxNDUgMCAxMDAgLTQ5cTkwIC04MCA5MCAtMjc5eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMkIzIiB1bmljb2RlPSImI3hmMmIzOyIgCmQ9Ik05MTcgNjMxcTAgMzMgLTYgNjRoLTM2MnYtMTMyaDIxN3EtMTIgLTc2IC03NC41IC0xMjAuNXQtMTQyLjUgLTQ0LjVxLTk5IDAgLTE2OSA3MS41dC03MCAxNzAuNXQ3MCAxNzAuNXQxNjkgNzEuNXE5MyAwIDE1MyAtNTlsMTA0IDEwMXEtMTA4IDEwMCAtMjU3IDEwMHEtMTYwIDAgLTI3MiAtMTEyLjV0LTExMiAtMjcxLjV0MTEyIC0yNzEuNXQyNzIgLTExMi41cTE2NSAwIDI2Ni41IDEwNXQxMDEuNSAyNzB6TTEyNjIgNTg1aDEwOXYxMTAKaC0xMDl2MTEwaC0xMTB2LTExMGgtMTEwdi0xMTBoMTEwdi0xMTBoMTEwdjExMHpNMTUzNiA2NDBxMCAtMjA5IC0xMDMgLTM4NS41dC0yNzkuNSAtMjc5LjV0LTM4NS41IC0xMDN0LTM4NS41IDEwM3QtMjc5LjUgMjc5LjV0LTEwMyAzODUuNXQxMDMgMzg1LjV0Mjc5LjUgMjc5LjV0Mzg1LjUgMTAzdDM4NS41IC0xMDN0Mjc5LjUgLTI3OS41dDEwMyAtMzg1LjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyQjQiIHVuaWNvZGU9IiYjeGYyYjQ7IiAKZD0iTTE1MzYgMTAyNHYtODM5cTAgLTQ4IC00OSAtNjJxLTE3NCAtNTIgLTMzOCAtNTJxLTczIDAgLTIxNS41IDI5LjV0LTIyNy41IDI5LjVxLTE2NCAwIC0zNzAgLTQ4di0zMzhoLTE2MHYxMzY4cS02MyAyNSAtMTAxIDgxdC0zOCAxMjRxMCA5MSA2NCAxNTV0MTU1IDY0dDE1NSAtNjR0NjQgLTE1NXEwIC02OCAtMzggLTEyNHQtMTAxIC04MXYtNjhxMTkwIDQ0IDM0MyA0NHE5OSAwIDE5OCAtMTVxMTQgLTIgMTExLjUgLTIyLjV0MTQ5LjUgLTIwLjUKcTc3IDAgMTY1IDE4cTExIDIgODAgMjF0ODkgMTlxMjYgMCA0NSAtMTl0MTkgLTQ1eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMkI1IiB1bmljb2RlPSImI3hmMmI1OyIgaG9yaXotYWR2LXg9IjIzMDQiIApkPSJNMTkyIDM4NHE0MCAwIDU2IDMydDAgNjR0LTU2IDMydC01NiAtMzJ0MCAtNjR0NTYgLTMyek0xNjY1IDQ0MnEtMTAgMTMgLTM4LjUgNTB0LTQxLjUgNTR0LTM4IDQ5dC00Mi41IDUzdC00MC41IDQ3dC00NSA0OWwtMTI1IC0xNDBxLTgzIC05NCAtMjA4LjUgLTkydC0yMDUuNSA5OHEtNTcgNjkgLTU2LjUgMTU4dDU4LjUgMTU3bDE3NyAyMDZxLTIyIDExIC01MSAxNi41dC00Ny41IDZ0LTU2LjUgLTAuNXQtNDkgLTFxLTkyIDAgLTE1OCAtNjYKbC0xNTggLTE1OGgtMTU1di01NDRxNSAwIDIxIDAuNXQyMiAwdDE5LjUgLTJ0MjAuNSAtNC41dDE3LjUgLTguNXQxOC41IC0xMy41bDI5NyAtMjkycTExNSAtMTExIDIyNyAtMTExcTc4IDAgMTI1IDQ3cTU3IC0yMCAxMTIuNSA4dDcyLjUgODVxNzQgLTYgMTI3IDQ0cTIwIDE4IDM2IDQ1LjV0MTQgNTAuNXExMCAtMTAgNDMgLTEwcTQzIDAgNzcgMjF0NDkuNSA1M3QxMiA3MS41dC0zMC41IDczLjV6TTE4MjQgMzg0aDk2djUxMmgtOTNsLTE1NyAxODAKcS02NiA3NiAtMTY5IDc2aC0xNjdxLTg5IDAgLTE0NiAtNjdsLTIwOSAtMjQzcS0yOCAtMzMgLTI4IC03NXQyNyAtNzVxNDMgLTUxIDExMCAtNTJ0MTExIDQ5bDE5MyAyMThxMjUgMjMgNTMuNSAyMS41dDQ3IC0yN3Q4LjUgLTU2LjVxMTYgLTE5IDU2IC02M3Q2MCAtNjhxMjkgLTM2IDgyLjUgLTEwNS41dDY0LjUgLTg0LjVxNTIgLTY2IDYwIC0xNDB6TTIxMTIgMzg0cTQwIDAgNTYgMzJ0MCA2NHQtNTYgMzJ0LTU2IC0zMnQwIC02NHQ1NiAtMzJ6Ck0yMzA0IDk2MHYtNjQwcTAgLTI2IC0xOSAtNDV0LTQ1IC0xOWgtNDM0cS0yNyAtNjUgLTgyIC0xMDYuNXQtMTI1IC01MS41cS0zMyAtNDggLTgwLjUgLTgxLjV0LTEwMi41IC00NS41cS00MiAtNTMgLTEwNC41IC04MS41dC0xMjguNSAtMjQuNXEtNjAgLTM0IC0xMjYgLTM5LjV0LTEyNy41IDE0dC0xMTcgNTMuNXQtMTAzLjUgODFsLTI4NyAyODJoLTM1OHEtMjYgMCAtNDUgMTl0LTE5IDQ1djY3MnEwIDI2IDE5IDQ1dDQ1IDE5aDQyMQpxMTQgMTQgNDcgNDh0NDcuNSA0OHQ0NCA0MHQ1MC41IDM3LjV0NTEgMjUuNXQ2MiAxOS41dDY4IDUuNWgxMTdxOTkgMCAxODEgLTU2cTgyIDU2IDE4MSA1NmgxNjdxMzUgMCA2NyAtNnQ1Ni41IC0xNC41dDUxLjUgLTI2LjV0NDQuNSAtMzF0NDMgLTM5LjV0MzkgLTQydDQxIC00OHQ0MS41IC00OC41aDM1NXEyNiAwIDQ1IC0xOXQxOSAtNDV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyQjYiIHVuaWNvZGU9IiYjeGYyYjY7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xNzkyIDg4MnYtOTc4cTAgLTY2IC00NyAtMTEzdC0xMTMgLTQ3aC0xNDcycS02NiAwIC0xMTMgNDd0LTQ3IDExM3Y5NzhxMCAxNSAxMSAyNHE4IDcgMzkgMzQuNXQ0MS41IDM2dDQ1LjUgMzcuNXQ3MCA1NS41dDk2IDczdDE0My41IDEwN3QxOTIuNSAxNDAuNXE1IDQgNTIuNSA0MHQ3MS41IDUyLjV0NjQgMzV0NjkgMTguNXQ2OSAtMTguNXQ2NSAtMzUuNXQ3MSAtNTJ0NTIgLTQwcTExMCAtODAgMTkyLjUgLTE0MC41dDE0My41IC0xMDcKdDk2IC03M3Q3MCAtNTUuNXQ0NS41IC0zNy41dDQxLjUgLTM2dDM5IC0zNC41cTExIC05IDExIC0yNHpNMTIyOCAyOTdxMjYzIDE5MSAzNDUgMjUycTExIDggMTIuNSAyMC41dC02LjUgMjMuNWwtMzggNTJxLTggMTEgLTIxIDEyLjV0LTI0IC02LjVxLTIzMSAtMTY5IC0zNDMgLTI1MHEtNSAtMyAtNTIgLTM5dC03MS41IC01Mi41dC02NC41IC0zNXQtNjkgLTE4LjV0LTY5IDE4LjV0LTY0LjUgMzV0LTcxLjUgNTIuNXQtNTIgMzkKcS0xODYgMTM0IC0zNDMgMjUwcS0xMSA4IC0yNCA2LjV0LTIxIC0xMi41bC0zOCAtNTJxLTggLTExIC02LjUgLTIzLjV0MTIuNSAtMjAuNXE4MiAtNjEgMzQ1IC0yNTJxMTAgLTggNTAgLTM4dDY1IC00N3Q2NCAtMzkuNXQ3Ny41IC0zMy41dDc1LjUgLTExdDc1LjUgMTF0NzkgMzQuNXQ2NC41IDM5LjV0NjUgNDcuNXQ0OCAzNi41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMkI3IiB1bmljb2RlPSImI3hmMmI3OyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTQ3NCA2MjNsMzkgLTUxcTggLTExIDYuNSAtMjMuNXQtMTEuNSAtMjAuNXEtNDMgLTM0IC0xMjYuNSAtOTguNXQtMTQ2LjUgLTExM3QtNjcgLTUxLjVxLTM5IC0zMiAtNjAgLTQ4dC02MC41IC00MXQtNzYuNSAtMzYuNXQtNzQgLTExLjVoLTFoLTFxLTM3IDAgLTc0IDExLjV0LTc2IDM2LjV0LTYxIDQxLjV0LTYwIDQ3LjVxLTUgNCAtNjUgNTAuNXQtMTQzLjUgMTExdC0xMjIuNSA5NC41cS0xMSA4IC0xMi41IDIwLjV0Ni41IDIzLjUKbDM3IDUycTggMTEgMjEuNSAxM3QyNC41IC03cTk0IC03MyAzMDYgLTIzNnE1IC00IDQzLjUgLTM1dDYwLjUgLTQ2LjV0NTYuNSAtMzIuNXQ1OC41IC0xN2gxaDFxMjQgMCA1OC41IDE3dDU2LjUgMzIuNXQ2MC41IDQ2LjV0NDMuNSAzNXEyNTggMTk4IDMxMyAyNDJxMTEgOCAyNCA2LjV0MjEgLTEyLjV6TTE2NjQgLTk2djkyOHEtOTAgODMgLTE1OSAxMzlxLTkxIDc0IC0zODkgMzA0cS0zIDIgLTQzIDM1dC02MSA0OHQtNTYgMzIuNXQtNTkgMTcuNQpoLTFoLTFxLTI0IDAgLTU5IC0xNy41dC01NiAtMzIuNXQtNjEgLTQ4dC00MyAtMzVxLTIxNSAtMTY2IC0zMTUuNSAtMjQ1LjV0LTEyOS41IC0xMDR0LTgyIC03NC41cS0xNCAtMTIgLTIxIC0xOXYtOTI4cTAgLTEzIDkuNSAtMjIuNXQyMi41IC05LjVoMTQ3MnExMyAwIDIyLjUgOS41dDkuNSAyMi41ek0xNzkyIDgzMnYtOTI4cTAgLTY2IC00NyAtMTEzdC0xMTMgLTQ3aC0xNDcycS02NiAwIC0xMTMgNDd0LTQ3IDExM3Y5MjhxMCA1NiA0MSA5NApxMTIzIDExNCAzNTAgMjkwLjV0MjMzIDE4MS41cTM2IDMwIDU5IDQ3LjV0NjEuNSA0MnQ3NiAzNi41dDc0LjUgMTJoMWgxcTM3IDAgNzQuNSAtMTJ0NzYgLTM2LjV0NjEuNSAtNDJ0NTkgLTQ3LjVxNDMgLTM2IDE1NiAtMTIydDIyNiAtMTc3dDIwMSAtMTczcTQxIC0zOCA0MSAtOTR6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyQjgiIHVuaWNvZGU9IiYjeGYyYjg7IiAKZD0iTTMzMCAxbDIwMiAtMjE0bC0zNCAyMzZsLTIxNiAyMTN6TTU1NiAtMjI1bDI3NCAyMThsLTExIDI0NWwtMzAwIC0yMTV6TTI0NSA0MTNsMjI3IC0yMTNsLTQ4IDMyN2wtMjQ1IDIwNHpNNDk1IDE4OWwzMTcgMjE0bC0xNCAzMjRsLTM1MiAtMjAwek04NDMgMTc4bDk1IC04MGwtMiAyMzlsLTEwMyA3OXEwIC0xIDEgLTguNXQwIC0xMnQtNSAtNy41bC03OCAtNTJsODUgLTcwcTcgLTYgNyAtODh6TTEzOCA5MzBsMjU2IC0yMDBsLTY4IDQ2NQpsLTI3OSAxNzN6TTExNzMgMjY3bDE1IDIzNGwtMjMwIC0xNjRsMiAtMjQwek00MTcgNzIybDM3MyAxOTRsLTE5IDQ0MWwtNDIzIC0xNjN6TTEyNzAgMzU3bDIwIDIzM2wtMjI2IDE0MmwtMiAtMTA1bDE0NCAtOTVxNiAtNCA0IC05bC03IC0xMTl6TTE0NjEgNDk2bDMwIDIyMmwtMTc5IC0xMjhsLTIwIC0yMjh6TTEyNzMgMzI5bC03MSA0OWwtOCAtMTE3cTAgLTUgLTQgLThsLTIzNCAtMTg3cS03IC01IC0xNCAwbC05OCA4M2w3IC0xNjEKcTAgLTUgLTQgLThsLTI5MyAtMjM0cS00IC0yIC02IC0ycS04IDIgLTggM2wtMjI4IDI0MnEtNCA0IC01OSAyNzdxLTIgNyA1IDExbDYxIDM3cS05NCA4NiAtOTUgOTJsLTcyIDM1MXEtMiA3IDYgMTJsOTQgNDVxLTEzMyAxMDAgLTEzNSAxMDhsLTk2IDQ2NnEtMiAxMCA3IDEzbDQzMyAxMzVxNSAwIDggLTFsMzE3IC0xNTNxNiAtNCA2IC05bDIwIC00NjNxMCAtNyAtNiAtMTBsLTExOCAtNjFsMTI2IC04NXE1IC0yIDUgLThsNSAtMTIzbDEyMSA3NApxNSA0IDExIDBsODQgLTU2bDMgMTEwcTAgNiA1IDlsMjA2IDEyNnE2IDMgMTEgMGwyNDUgLTEzNXE0IC00IDUgLTd0LTYuNSAtNjB0LTE3LjUgLTEyNC41dC0xMCAtNzAuNXEwIC01IC00IC03bC0xOTEgLTE1M3EtNiAtNSAtMTMgMHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjJCOSIgdW5pY29kZT0iJiN4ZjJiOTsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTEyMDEgMjk4cTAgNTcgLTUuNSAxMDd0LTIxIDEwMC41dC0zOS41IDg2dC02NCA1OHQtOTEgMjIuNXEtNiAtNCAtMzMuNSAtMjAuNXQtNDIuNSAtMjQuNXQtNDAuNSAtMjB0LTQ5IC0xN3QtNDYuNSAtNXQtNDYuNSA1dC00OSAxN3QtNDAuNSAyMHQtNDIuNSAyNC41dC0zMy41IDIwLjVxLTUxIDAgLTkxIC0yMi41dC02NCAtNTh0LTM5LjUgLTg2dC0yMSAtMTAwLjV0LTUuNSAtMTA3cTAgLTczIDQyIC0xMjEuNXQxMDMgLTQ4LjVoNTc2CnE2MSAwIDEwMyA0OC41dDQyIDEyMS41ek0xMDI4IDg5MnEwIDEwOCAtNzYuNSAxODR0LTE4My41IDc2dC0xODMuNSAtNzZ0LTc2LjUgLTE4NHEwIC0xMDcgNzYuNSAtMTgzdDE4My41IC03NnQxODMuNSA3NnQ3Ni41IDE4M3pNMTY2NCAzNTJ2LTE5MnEwIC0xNCAtOSAtMjN0LTIzIC05aC05NnYtMjI0cTAgLTY2IC00NyAtMTEzdC0xMTMgLTQ3aC0xMjE2cS02NiAwIC0xMTMgNDd0LTQ3IDExM3YxNDcycTAgNjYgNDcgMTEzdDExMyA0N2gxMjE2CnE2NiAwIDExMyAtNDd0NDcgLTExM3YtMjI0aDk2cTE0IDAgMjMgLTl0OSAtMjN2LTE5MnEwIC0xNCAtOSAtMjN0LTIzIC05aC05NnYtMTI4aDk2cTE0IDAgMjMgLTl0OSAtMjN2LTE5MnEwIC0xNCAtOSAtMjN0LTIzIC05aC05NnYtMTI4aDk2cTE0IDAgMjMgLTl0OSAtMjN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyQkEiIHVuaWNvZGU9IiYjeGYyYmE7IiBob3Jpei1hZHYteD0iMTY2NCIgCmQ9Ik0xMDI4IDg5MnEwIC0xMDcgLTc2LjUgLTE4M3QtMTgzLjUgLTc2dC0xODMuNSA3NnQtNzYuNSAxODNxMCAxMDggNzYuNSAxODR0MTgzLjUgNzZ0MTgzLjUgLTc2dDc2LjUgLTE4NHpNOTgwIDY3MnE0NiAwIDgyLjUgLTE3dDYwIC00Ny41dDM5LjUgLTY3dDI0IC04MXQxMS41IC04Mi41dDMuNSAtNzlxMCAtNjcgLTM5LjUgLTExOC41dC0xMDUuNSAtNTEuNWgtNTc2cS02NiAwIC0xMDUuNSA1MS41dC0zOS41IDExOC41cTAgNDggNC41IDkzLjUKdDE4LjUgOTguNXQzNi41IDkxLjV0NjMgNjQuNXQ5My41IDI2aDVxNyAtNCAzMiAtMTkuNXQzNS41IC0yMXQzMyAtMTd0MzcgLTE2dDM1IC05dDM5LjUgLTQuNXQzOS41IDQuNXQzNSA5dDM3IDE2dDMzIDE3dDM1LjUgMjF0MzIgMTkuNXpNMTY2NCA5MjhxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC05NnYtMTI4aDk2cTEzIDAgMjIuNSAtOS41dDkuNSAtMjIuNXYtMTkycTAgLTEzIC05LjUgLTIyLjV0LTIyLjUgLTkuNWgtOTZ2LTEyOGg5NgpxMTMgMCAyMi41IC05LjV0OS41IC0yMi41di0xOTJxMCAtMTMgLTkuNSAtMjIuNXQtMjIuNSAtOS41aC05NnYtMjI0cTAgLTY2IC00NyAtMTEzdC0xMTMgLTQ3aC0xMjE2cS02NiAwIC0xMTMgNDd0LTQ3IDExM3YxNDcycTAgNjYgNDcgMTEzdDExMyA0N2gxMjE2cTY2IDAgMTEzIC00N3Q0NyAtMTEzdi0yMjRoOTZxMTMgMCAyMi41IC05LjV0OS41IC0yMi41di0xOTJ6TTE0MDggLTk2djE0NzJxMCAxMyAtOS41IDIyLjV0LTIyLjUgOS41aC0xMjE2CnEtMTMgMCAtMjIuNSAtOS41dC05LjUgLTIyLjV2LTE0NzJxMCAtMTMgOS41IC0yMi41dDIyLjUgLTkuNWgxMjE2cTEzIDAgMjIuNSA5LjV0OS41IDIyLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyQkIiIHVuaWNvZGU9IiYjeGYyYmI7IiBob3Jpei1hZHYteD0iMjA0OCIgCmQ9Ik0xMDI0IDQwNXEwIDY0IC05IDExNy41dC0yOS41IDEwM3QtNjAuNSA3OHQtOTcgMjguNXEtNiAtNCAtMzAgLTE4dC0zNy41IC0yMS41dC0zNS41IC0xNy41dC00MyAtMTQuNXQtNDIgLTQuNXQtNDIgNC41dC00MyAxNC41dC0zNS41IDE3LjV0LTM3LjUgMjEuNXQtMzAgMThxLTU3IDAgLTk3IC0yOC41dC02MC41IC03OHQtMjkuNSAtMTAzdC05IC0xMTcuNXQzNyAtMTA2LjV0OTEgLTQyLjVoNTEycTU0IDAgOTEgNDIuNXQzNyAxMDYuNXoKTTg2NyA5MjVxMCA5NCAtNjYuNSAxNjAuNXQtMTYwLjUgNjYuNXQtMTYwLjUgLTY2LjV0LTY2LjUgLTE2MC41dDY2LjUgLTE2MC41dDE2MC41IC02Ni41dDE2MC41IDY2LjV0NjYuNSAxNjAuNXpNMTc5MiA0MTZ2NjRxMCAxNCAtOSAyM3QtMjMgOWgtNTc2cS0xNCAwIC0yMyAtOXQtOSAtMjN2LTY0cTAgLTE0IDkgLTIzdDIzIC05aDU3NnExNCAwIDIzIDl0OSAyM3pNMTc5MiA2NzZ2NTZxMCAxNSAtMTAuNSAyNS41dC0yNS41IDEwLjVoLTU2OApxLTE1IDAgLTI1LjUgLTEwLjV0LTEwLjUgLTI1LjV2LTU2cTAgLTE1IDEwLjUgLTI1LjV0MjUuNSAtMTAuNWg1NjhxMTUgMCAyNS41IDEwLjV0MTAuNSAyNS41ek0xNzkyIDkyOHY2NHEwIDE0IC05IDIzdC0yMyA5aC01NzZxLTE0IDAgLTIzIC05dC05IC0yM3YtNjRxMCAtMTQgOSAtMjN0MjMgLTloNTc2cTE0IDAgMjMgOXQ5IDIzek0yMDQ4IDEyNDh2LTEyMTZxMCAtNjYgLTQ3IC0xMTN0LTExMyAtNDdoLTM1MnY5NnEwIDE0IC05IDIzdC0yMyA5CmgtNjRxLTE0IDAgLTIzIC05dC05IC0yM3YtOTZoLTc2OHY5NnEwIDE0IC05IDIzdC0yMyA5aC02NHEtMTQgMCAtMjMgLTl0LTkgLTIzdi05NmgtMzUycS02NiAwIC0xMTMgNDd0LTQ3IDExM3YxMjE2cTAgNjYgNDcgMTEzdDExMyA0N2gxNzI4cTY2IDAgMTEzIC00N3Q0NyAtMTEzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMkJDIiB1bmljb2RlPSImI3hmMmJjOyIgaG9yaXotYWR2LXg9IjIwNDgiIApkPSJNMTAyNCA0MDVxMCAtNjQgLTM3IC0xMDYuNXQtOTEgLTQyLjVoLTUxMnEtNTQgMCAtOTEgNDIuNXQtMzcgMTA2LjV0OSAxMTcuNXQyOS41IDEwM3Q2MC41IDc4dDk3IDI4LjVxNiAtNCAzMCAtMTh0MzcuNSAtMjEuNXQzNS41IC0xNy41dDQzIC0xNC41dDQyIC00LjV0NDIgNC41dDQzIDE0LjV0MzUuNSAxNy41dDM3LjUgMjEuNXQzMCAxOHE1NyAwIDk3IC0yOC41dDYwLjUgLTc4dDI5LjUgLTEwM3Q5IC0xMTcuNXpNODY3IDkyNQpxMCAtOTQgLTY2LjUgLTE2MC41dC0xNjAuNSAtNjYuNXQtMTYwLjUgNjYuNXQtNjYuNSAxNjAuNXQ2Ni41IDE2MC41dDE2MC41IDY2LjV0MTYwLjUgLTY2LjV0NjYuNSAtMTYwLjV6TTE3OTIgNDgwdi02NHEwIC0xNCAtOSAtMjN0LTIzIC05aC01NzZxLTE0IDAgLTIzIDl0LTkgMjN2NjRxMCAxNCA5IDIzdDIzIDloNTc2cTE0IDAgMjMgLTl0OSAtMjN6TTE3OTIgNzMydi01NnEwIC0xNSAtMTAuNSAtMjUuNXQtMjUuNSAtMTAuNWgtNTY4CnEtMTUgMCAtMjUuNSAxMC41dC0xMC41IDI1LjV2NTZxMCAxNSAxMC41IDI1LjV0MjUuNSAxMC41aDU2OHExNSAwIDI1LjUgLTEwLjV0MTAuNSAtMjUuNXpNMTc5MiA5OTJ2LTY0cTAgLTE0IC05IC0yM3QtMjMgLTloLTU3NnEtMTQgMCAtMjMgOXQtOSAyM3Y2NHEwIDE0IDkgMjN0MjMgOWg1NzZxMTQgMCAyMyAtOXQ5IC0yM3pNMTkyMCAzMnYxMjE2cTAgMTMgLTkuNSAyMi41dC0yMi41IDkuNWgtMTcyOHEtMTMgMCAtMjIuNSAtOS41CnQtOS41IC0yMi41di0xMjE2cTAgLTEzIDkuNSAtMjIuNXQyMi41IC05LjVoMzUydjk2cTAgMTQgOSAyM3QyMyA5aDY0cTE0IDAgMjMgLTl0OSAtMjN2LTk2aDc2OHY5NnEwIDE0IDkgMjN0MjMgOWg2NHExNCAwIDIzIC05dDkgLTIzdi05NmgzNTJxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXpNMjA0OCAxMjQ4di0xMjE2cTAgLTY2IC00NyAtMTEzdC0xMTMgLTQ3aC0xNzI4cS02NiAwIC0xMTMgNDd0LTQ3IDExM3YxMjE2cTAgNjYgNDcgMTEzCnQxMTMgNDdoMTcyOHE2NiAwIDExMyAtNDd0NDcgLTExM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjJCRCIgdW5pY29kZT0iJiN4ZjJiZDsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE1MjMgMTk3cS0yMiAxNTUgLTg3LjUgMjU3LjV0LTE4NC41IDExOC41cS02NyAtNzQgLTE1OS41IC0xMTUuNXQtMTk1LjUgLTQxLjV0LTE5NS41IDQxLjV0LTE1OS41IDExNS41cS0xMTkgLTE2IC0xODQuNSAtMTE4LjV0LTg3LjUgLTI1Ny41cTEwNiAtMTUwIDI3MSAtMjM3LjV0MzU2IC04Ny41dDM1NiA4Ny41dDI3MSAyMzcuNXpNMTI4MCA4OTZxMCAxNTkgLTExMi41IDI3MS41dC0yNzEuNSAxMTIuNXQtMjcxLjUgLTExMi41CnQtMTEyLjUgLTI3MS41dDExMi41IC0yNzEuNXQyNzEuNSAtMTEyLjV0MjcxLjUgMTEyLjV0MTEyLjUgMjcxLjV6TTE3OTIgNjQwcTAgLTE4MiAtNzEgLTM0Ny41dC0xOTAuNSAtMjg2dC0yODUuNSAtMTkxLjV0LTM0OSAtNzFxLTE4MiAwIC0zNDggNzF0LTI4NiAxOTF0LTE5MSAyODZ0LTcxIDM0OHQ3MSAzNDh0MTkxIDI4NnQyODYgMTkxdDM0OCA3MXQzNDggLTcxdDI4NiAtMTkxdDE5MSAtMjg2dDcxIC0zNDh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyQkUiIHVuaWNvZGU9IiYjeGYyYmU7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik04OTYgMTUzNnExODIgMCAzNDggLTcxdDI4NiAtMTkxdDE5MSAtMjg2dDcxIC0zNDhxMCAtMTgxIC03MC41IC0zNDd0LTE5MC41IC0yODZ0LTI4NiAtMTkxLjV0LTM0OSAtNzEuNXQtMzQ5IDcxdC0yODUuNSAxOTEuNXQtMTkwLjUgMjg2dC03MSAzNDcuNXQ3MSAzNDh0MTkxIDI4NnQyODYgMTkxdDM0OCA3MXpNMTUxNSAxODVxMTQ5IDIwNSAxNDkgNDU1cTAgMTU2IC02MSAyOTh0LTE2NCAyNDV0LTI0NSAxNjR0LTI5OCA2MXQtMjk4IC02MQp0LTI0NSAtMTY0dC0xNjQgLTI0NXQtNjEgLTI5OHEwIC0yNTAgMTQ5IC00NTVxNjYgMzI3IDMwNiAzMjdxMTMxIC0xMjggMzEzIC0xMjh0MzEzIDEyOHEyNDAgMCAzMDYgLTMyN3pNMTI4MCA4MzJxMCAxNTkgLTExMi41IDI3MS41dC0yNzEuNSAxMTIuNXQtMjcxLjUgLTExMi41dC0xMTIuNSAtMjcxLjV0MTEyLjUgLTI3MS41dDI3MS41IC0xMTIuNXQyNzEuNSAxMTIuNXQxMTIuNSAyNzEuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjJDMCIgdW5pY29kZT0iJiN4ZjJjMDsiIApkPSJNMTIwMSA3NTJxNDcgLTE0IDg5LjUgLTM4dDg5IC03M3Q3OS41IC0xMTUuNXQ1NSAtMTcydDIyIC0yMzYuNXEwIC0xNTQgLTEwMCAtMjYzLjV0LTI0MSAtMTA5LjVoLTg1NHEtMTQxIDAgLTI0MSAxMDkuNXQtMTAwIDI2My41cTAgMTMxIDIyIDIzNi41dDU1IDE3MnQ3OS41IDExNS41dDg5IDczdDg5LjUgMzhxLTc5IDEyNSAtNzkgMjcycTAgMTA0IDQwLjUgMTk4LjV0MTA5LjUgMTYzLjV0MTYzLjUgMTA5LjV0MTk4LjUgNDAuNQp0MTk4LjUgLTQwLjV0MTYzLjUgLTEwOS41dDEwOS41IC0xNjMuNXQ0MC41IC0xOTguNXEwIC0xNDcgLTc5IC0yNzJ6TTc2OCAxNDA4cS0xNTkgMCAtMjcxLjUgLTExMi41dC0xMTIuNSAtMjcxLjV0MTEyLjUgLTI3MS41dDI3MS41IC0xMTIuNXQyNzEuNSAxMTIuNXQxMTIuNSAyNzEuNXQtMTEyLjUgMjcxLjV0LTI3MS41IDExMi41ek0xMTk1IC0xMjhxODggMCAxNTAuNSA3MS41dDYyLjUgMTczLjVxMCAyMzkgLTc4LjUgMzc3dC0yMjUuNSAxNDUKcS0xNDUgLTEyNyAtMzM2IC0xMjd0LTMzNiAxMjdxLTE0NyAtNyAtMjI1LjUgLTE0NXQtNzguNSAtMzc3cTAgLTEwMiA2Mi41IC0xNzMuNXQxNTAuNSAtNzEuNWg4NTR6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyQzEiIHVuaWNvZGU9IiYjeGYyYzE7IiBob3Jpei1hZHYteD0iMTI4MCIgCmQ9Ik0xMDI0IDI3OHEwIC02NCAtMzcgLTEwN3QtOTEgLTQzaC01MTJxLTU0IDAgLTkxIDQzdC0zNyAxMDd0OSAxMTh0MjkuNSAxMDR0NjEgNzguNXQ5Ni41IDI4LjVxODAgLTc1IDE4OCAtNzV0MTg4IDc1cTU2IDAgOTYuNSAtMjguNXQ2MSAtNzguNXQyOS41IC0xMDR0OSAtMTE4ek04NzAgNzk3cTAgLTk0IC02Ny41IC0xNjAuNXQtMTYyLjUgLTY2LjV0LTE2Mi41IDY2LjV0LTY3LjUgMTYwLjV0NjcuNSAxNjAuNXQxNjIuNSA2Ni41CnQxNjIuNSAtNjYuNXQ2Ny41IC0xNjAuNXpNMTE1MiAtOTZ2MTM3NmgtMTAyNHYtMTM3NnEwIC0xMyA5LjUgLTIyLjV0MjIuNSAtOS41aDk2MHExMyAwIDIyLjUgOS41dDkuNSAyMi41ek0xMjgwIDEzNzZ2LTE0NzJxMCAtNjYgLTQ3IC0xMTN0LTExMyAtNDdoLTk2MHEtNjYgMCAtMTEzIDQ3dC00NyAxMTN2MTQ3MnEwIDY2IDQ3IDExM3QxMTMgNDdoMzUydi05NnEwIC0xNCA5IC0yM3QyMyAtOWgxOTJxMTQgMCAyMyA5dDkgMjN2OTZoMzUyCnE2NiAwIDExMyAtNDd0NDcgLTExM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjJDMiIgdW5pY29kZT0iJiN4ZjJjMjsiIGhvcml6LWFkdi14PSIyMDQ4IiAKZD0iTTg5NiAzMjRxMCA1NCAtNy41IDEwMC41dC0yNC41IDkwdC01MSA2OC41dC04MSAyNXEtNjQgLTY0IC0xNTYgLTY0dC0xNTYgNjRxLTQ3IDAgLTgxIC0yNXQtNTEgLTY4LjV0LTI0LjUgLTkwdC03LjUgLTEwMC41cTAgLTU1IDMxLjUgLTkzLjV0NzUuNSAtMzguNWg0MjZxNDQgMCA3NS41IDM4LjV0MzEuNSA5My41ek03NjggNzY4cTAgODAgLTU2IDEzNnQtMTM2IDU2dC0xMzYgLTU2dC01NiAtMTM2dDU2IC0xMzZ0MTM2IC01NnQxMzYgNTYKdDU2IDEzNnpNMTc5MiAyODh2NjRxMCAxNCAtOSAyM3QtMjMgOWgtNzA0cS0xNCAwIC0yMyAtOXQtOSAtMjN2LTY0cTAgLTE0IDkgLTIzdDIzIC05aDcwNHExNCAwIDIzIDl0OSAyM3pNMTQwOCA1NDR2NjRxMCAxNCAtOSAyM3QtMjMgOWgtMzIwcS0xNCAwIC0yMyAtOXQtOSAtMjN2LTY0cTAgLTE0IDkgLTIzdDIzIC05aDMyMHExNCAwIDIzIDl0OSAyM3pNMTc5MiA1NDR2NjRxMCAxNCAtOSAyM3QtMjMgOWgtMTkycS0xNCAwIC0yMyAtOXQtOSAtMjMKdi02NHEwIC0xNCA5IC0yM3QyMyAtOWgxOTJxMTQgMCAyMyA5dDkgMjN6TTE3OTIgODAwdjY0cTAgMTQgLTkgMjN0LTIzIDloLTcwNHEtMTQgMCAtMjMgLTl0LTkgLTIzdi02NHEwIC0xNCA5IC0yM3QyMyAtOWg3MDRxMTQgMCAyMyA5dDkgMjN6TTEyOCAxMTUyaDE3OTJ2OTZxMCAxNCAtOSAyM3QtMjMgOWgtMTcyOHEtMTQgMCAtMjMgLTl0LTkgLTIzdi05NnpNMjA0OCAxMjQ4di0xMjE2cTAgLTY2IC00NyAtMTEzdC0xMTMgLTQ3aC0xNzI4CnEtNjYgMCAtMTEzIDQ3dC00NyAxMTN2MTIxNnEwIDY2IDQ3IDExM3QxMTMgNDdoMTcyOHE2NiAwIDExMyAtNDd0NDcgLTExM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjJDMyIgdW5pY29kZT0iJiN4ZjJjMzsiIGhvcml6LWFkdi14PSIyMDQ4IiAKZD0iTTg5NiAzMjRxMCAtNTUgLTMxLjUgLTkzLjV0LTc1LjUgLTM4LjVoLTQyNnEtNDQgMCAtNzUuNSAzOC41dC0zMS41IDkzLjVxMCA1NCA3LjUgMTAwLjV0MjQuNSA5MHQ1MSA2OC41dDgxIDI1cTY0IC02NCAxNTYgLTY0dDE1NiA2NHE0NyAwIDgxIC0yNXQ1MSAtNjguNXQyNC41IC05MHQ3LjUgLTEwMC41ek03NjggNzY4cTAgLTgwIC01NiAtMTM2dC0xMzYgLTU2dC0xMzYgNTZ0LTU2IDEzNnQ1NiAxMzZ0MTM2IDU2dDEzNiAtNTZ0NTYgLTEzNnoKTTE3OTIgMzUydi02NHEwIC0xNCAtOSAtMjN0LTIzIC05aC03MDRxLTE0IDAgLTIzIDl0LTkgMjN2NjRxMCAxNCA5IDIzdDIzIDloNzA0cTE0IDAgMjMgLTl0OSAtMjN6TTE0MDggNjA4di02NHEwIC0xNCAtOSAtMjN0LTIzIC05aC0zMjBxLTE0IDAgLTIzIDl0LTkgMjN2NjRxMCAxNCA5IDIzdDIzIDloMzIwcTE0IDAgMjMgLTl0OSAtMjN6TTE3OTIgNjA4di02NHEwIC0xNCAtOSAtMjN0LTIzIC05aC0xOTJxLTE0IDAgLTIzIDl0LTkgMjN2NjQKcTAgMTQgOSAyM3QyMyA5aDE5MnExNCAwIDIzIC05dDkgLTIzek0xNzkyIDg2NHYtNjRxMCAtMTQgLTkgLTIzdC0yMyAtOWgtNzA0cS0xNCAwIC0yMyA5dC05IDIzdjY0cTAgMTQgOSAyM3QyMyA5aDcwNHExNCAwIDIzIC05dDkgLTIzek0xOTIwIDMydjExMjBoLTE3OTJ2LTExMjBxMCAtMTMgOS41IC0yMi41dDIyLjUgLTkuNWgxNzI4cTEzIDAgMjIuNSA5LjV0OS41IDIyLjV6TTIwNDggMTI0OHYtMTIxNnEwIC02NiAtNDcgLTExM3QtMTEzIC00NwpoLTE3MjhxLTY2IDAgLTExMyA0N3QtNDcgMTEzdjEyMTZxMCA2NiA0NyAxMTN0MTEzIDQ3aDE3MjhxNjYgMCAxMTMgLTQ3dDQ3IC0xMTN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyQzQiIHVuaWNvZGU9IiYjeGYyYzQ7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xMjU1IDc0OXEwIDMxOCAtMTA1IDQ3NC41dC0zMzAgMTU2LjVxLTIyMiAwIC0zMjYgLTE1N3QtMTA0IC00NzRxMCAtMzE2IDEwNCAtNDcxLjV0MzI2IC0xNTUuNXE3NCAwIDEzMSAxN3EtMjIgNDMgLTM5IDczdC00NCA2NXQtNTMuNSA1Ni41dC02MyAzNnQtNzcuNSAxNC41cS00NiAwIC03OSAtMTZsLTQ5IDk3cTEwNSA5MSAyNzYgOTFxMTMyIDAgMjE1LjUgLTU0dDE1MC41IC0xNTVxNjcgMTQ5IDY3IDQwMnpNMTY0NSAxMTdoMTE3CnEzIC0yNyAtMiAtNjd0LTI2LjUgLTk1dC01OCAtMTAwLjV0LTEwNyAtNzh0LTE2Mi41IC0zMi41cS03MSAwIC0xMzAuNSAxOXQtMTA1LjUgNTZ0LTc5IDc4dC02NiA5NnEtOTcgLTI3IC0yMDUgLTI3cS0xNTAgMCAtMjkyLjUgNTh0LTI1MyAxNTguNXQtMTc4IDI0OXQtNjcuNSAzMTcuNXEwIDE3MCA2Ny41IDMxOS41dDE3OC41IDI1MC41dDI1My41IDE1OXQyOTEuNSA1OHExMjEgMCAyMzguNSAtMzZ0MjE3IC0xMDZ0MTc2IC0xNjQuNQp0MTE5LjUgLTIxOXQ0MyAtMjYxLjVxMCAtMTkwIC04MC41IC0zNDcuNXQtMjE4LjUgLTI2NC41cTQ3IC03MCA5My41IC0xMDYuNXQxMDQuNSAtMzYuNXE2MSAwIDk0IDM3LjV0MzggODUuNXoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjJDNSIgdW5pY29kZT0iJiN4ZjJjNTsiIGhvcml6LWFkdi14PSIyMzA0IiAKZD0iTTQ1MyAtMTAxcTAgLTIxIC0xNiAtMzcuNXQtMzcgLTE2LjVxLTEgMCAtMTMgM3EtNjMgMTUgLTE2MiAxNDBxLTIyNSAyODQgLTIyNSA2NzZxMCAzNDEgMjEzIDYxNHEzOSA1MSA5NSAxMDMuNXQ5NCA1Mi41cTE5IDAgMzUgLTEzLjV0MTYgLTMyLjVxMCAtMjcgLTYzIC05MHEtOTggLTEwMiAtMTQ3IC0xODRxLTExOSAtMTk5IC0xMTkgLTQ0OXEwIC0yODEgMTIzIC00OTFxNTAgLTg1IDEzNiAtMTczcTIgLTMgMTQuNSAtMTZ0MTkuNSAtMjEKdDE3IC0yMC41dDE0LjUgLTIzLjV0NC41IC0yMXpNMTc5NiAzM3EwIC0yOSAtMTcuNSAtNDguNXQtNDYuNSAtMTkuNWgtMTA4MXEtMjYgMCAtNDUgMTl0LTE5IDQ1cTAgMjkgMTcuNSA0OC41dDQ2LjUgMTkuNWgxMDgxcTI2IDAgNDUgLTE5dDE5IC00NXpNMTU4MSA2NDRxMCAtMTM0IC02NyAtMjMzcS0yNSAtMzggLTY5LjUgLTc4LjV0LTgzLjUgLTYwLjVxLTE2IC0xMCAtMjcgLTEwcS03IDAgLTE1IDZ0LTggMTJxMCA5IDE5IDMwdDQyIDQ2CnQ0MiA2Ny41dDE5IDg4LjVxMCA3NiAtMzUgMTMwcS0yOSA0MiAtNDYgNDJxLTMgMCAtMyAtNXEwIC0xMiA3LjUgLTM1LjV0Ny41IC0zNi41cTAgLTIyIC0yMS41IC0zNXQtNDQuNSAtMTNxLTY2IDAgLTY2IDc2cTAgMTUgMS41IDQ0dDEuNSA0NHEwIDI1IC0xMCA0NnEtMTMgMjUgLTQyIDUzLjV0LTUxIDI4LjVxLTUgMCAtNyAtMC41dC0zLjUgLTIuNXQtMS41IC02cTAgLTIgMTYgLTI2dDE2IC01NHEwIC0zNyAtMTkgLTY4dC00NiAtNTQKdC01My41IC00NnQtNDUuNSAtNTR0LTE5IC02OHEwIC05OCA0MiAtMTYwcTI5IC00MyA3OSAtNjNxMTYgLTUgMTcgLTEwcTEgLTIgMSAtNXEwIC0xNiAtMTggLTE2cS02IDAgLTMzIDExcS0xMTkgNDMgLTE5NSAxMzkuNXQtNzYgMjE4LjVxMCA1NSAyNC41IDExNS41dDYwIDExNXQ3MC41IDEwOC41dDU5LjUgMTEzLjV0MjQuNSAxMTEuNXEwIDUzIC0yNSA5NHEtMjkgNDggLTU2IDY0cS0xOSA5IC0xOSAyMXEwIDIwIDQxIDIwcTUwIDAgMTEwIC0yOQpxNDEgLTE5IDcxIC00NC41dDQ5LjUgLTUxdDMzLjUgLTYyLjV0MjIgLTY5dDE2IC04MHEwIC0xIDMgLTE3LjV0NC41IC0yNXQ1LjUgLTI1dDkgLTI3dDExIC0yMS41dDE0LjUgLTE2LjV0MTguNSAtNS41cTIzIDAgMzcgMTR0MTQgMzdxMCAyNSAtMjAgNjd0LTIwIDUydDEwIDEwcTI3IDAgOTMgLTcwcTcyIC03NiAxMDIuNSAtMTU2dDMwLjUgLTE4NnpNMjMwNCA2MTVxMCAtMjc0IC0xMzggLTUwM3EtMTkgLTMyIC00OCAtNzJ0LTY4IC04Ni41CnQtODEgLTc3dC03NCAtMzAuNXEtMTYgMCAtMzEgMTUuNXQtMTUgMzEuNXEwIDE1IDI5IDUwLjV0NjguNSA3N3Q0OC41IDUyLjVxMTgzIDIzMCAxODMgNTMxcTAgMTMxIC0yMC41IDIzNXQtNzIuNSAyMTFxLTU4IDExOSAtMTYzIDIyOHEtMiAzIC0xMyAxMy41dC0xNi41IDE2LjV0LTE1IDE3LjV0LTE1IDIwdC05LjUgMTguNXQtNCAxOXEwIDE5IDE2IDM1LjV0MzUgMTYuNXE3MCAwIDE5NiAtMTY5cTk4IC0xMzEgMTQ2IC0yNzN0NjAgLTMxNApxMiAtNDIgMiAtNjR6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyQzYiIHVuaWNvZGU9IiYjeGYyYzY7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xMTg5IDIyOWwxNDcgNjkzcTkgNDQgLTEwLjUgNjN0LTUxLjUgN2wtODY0IC0zMzNxLTI5IC0xMSAtMzkuNSAtMjV0LTIuNSAtMjYuNXQzMiAtMTkuNWwyMjEgLTY5bDUxMyAzMjNxMjEgMTQgMzIgNnE3IC01IC00IC0xNWwtNDE1IC0zNzV2MHYwbC0xNiAtMjI4cTIzIDAgNDUgMjJsMTA4IDEwNGwyMjQgLTE2NXE2NCAtMzYgODEgMzh6TTE3OTIgNjQwcTAgLTE4MiAtNzEgLTM0OHQtMTkxIC0yODZ0LTI4NiAtMTkxdC0zNDggLTcxCnQtMzQ4IDcxdC0yODYgMTkxdC0xOTEgMjg2dC03MSAzNDh0NzEgMzQ4dDE5MSAyODZ0Mjg2IDE5MXQzNDggNzF0MzQ4IC03MXQyODYgLTE5MXQxOTEgLTI4NnQ3MSAtMzQ4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMkM3IiB1bmljb2RlPSImI3hmMmM3OyIgaG9yaXotYWR2LXg9IjEwMjQiIApkPSJNNjQwIDE5MnEwIC04MCAtNTYgLTEzNnQtMTM2IC01NnQtMTM2IDU2dC01NiAxMzZxMCA2MCAzNSAxMTB0OTMgNzF2OTA3aDEyOHYtOTA3cTU4IC0yMSA5MyAtNzF0MzUgLTExMHpNNzY4IDE5MnEwIDc3IC0zNCAxNDR0LTk0IDExMnY3NjhxMCA4MCAtNTYgMTM2dC0xMzYgNTZ0LTEzNiAtNTZ0LTU2IC0xMzZ2LTc2OHEtNjAgLTQ1IC05NCAtMTEydC0zNCAtMTQ0cTAgLTEzMyA5My41IC0yMjYuNXQyMjYuNSAtOTMuNXQyMjYuNSA5My41CnQ5My41IDIyNi41ek04OTYgMTkycTAgLTE4NSAtMTMxLjUgLTMxNi41dC0zMTYuNSAtMTMxLjV0LTMxNi41IDEzMS41dC0xMzEuNSAzMTYuNXEwIDE4MiAxMjggMzEzdjcxMXEwIDEzMyA5My41IDIyNi41dDIyNi41IDkzLjV0MjI2LjUgLTkzLjV0OTMuNSAtMjI2LjV2LTcxMXExMjggLTEzMSAxMjggLTMxM3pNMTAyNCA3Njh2LTEyOGgtMTkydjEyOGgxOTJ6TTEwMjQgMTAyNHYtMTI4aC0xOTJ2MTI4aDE5MnpNMTAyNCAxMjgwdi0xMjhoLTE5Mgp2MTI4aDE5MnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjJDOCIgdW5pY29kZT0iJiN4ZjJjODsiIGhvcml6LWFkdi14PSIxMDI0IiAKZD0iTTY0MCAxOTJxMCAtODAgLTU2IC0xMzZ0LTEzNiAtNTZ0LTEzNiA1NnQtNTYgMTM2cTAgNjAgMzUgMTEwdDkzIDcxdjY1MWgxMjh2LTY1MXE1OCAtMjEgOTMgLTcxdDM1IC0xMTB6TTc2OCAxOTJxMCA3NyAtMzQgMTQ0dC05NCAxMTJ2NzY4cTAgODAgLTU2IDEzNnQtMTM2IDU2dC0xMzYgLTU2dC01NiAtMTM2di03NjhxLTYwIC00NSAtOTQgLTExMnQtMzQgLTE0NHEwIC0xMzMgOTMuNSAtMjI2LjV0MjI2LjUgLTkzLjV0MjI2LjUgOTMuNQp0OTMuNSAyMjYuNXpNODk2IDE5MnEwIC0xODUgLTEzMS41IC0zMTYuNXQtMzE2LjUgLTEzMS41dC0zMTYuNSAxMzEuNXQtMTMxLjUgMzE2LjVxMCAxODIgMTI4IDMxM3Y3MTFxMCAxMzMgOTMuNSAyMjYuNXQyMjYuNSA5My41dDIyNi41IC05My41dDkzLjUgLTIyNi41di03MTFxMTI4IC0xMzEgMTI4IC0zMTN6TTEwMjQgNzY4di0xMjhoLTE5MnYxMjhoMTkyek0xMDI0IDEwMjR2LTEyOGgtMTkydjEyOGgxOTJ6TTEwMjQgMTI4MHYtMTI4aC0xOTIKdjEyOGgxOTJ6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyQzkiIHVuaWNvZGU9IiYjeGYyYzk7IiBob3Jpei1hZHYteD0iMTAyNCIgCmQ9Ik02NDAgMTkycTAgLTgwIC01NiAtMTM2dC0xMzYgLTU2dC0xMzYgNTZ0LTU2IDEzNnEwIDYwIDM1IDExMHQ5MyA3MXYzOTVoMTI4di0zOTVxNTggLTIxIDkzIC03MXQzNSAtMTEwek03NjggMTkycTAgNzcgLTM0IDE0NHQtOTQgMTEydjc2OHEwIDgwIC01NiAxMzZ0LTEzNiA1NnQtMTM2IC01NnQtNTYgLTEzNnYtNzY4cS02MCAtNDUgLTk0IC0xMTJ0LTM0IC0xNDRxMCAtMTMzIDkzLjUgLTIyNi41dDIyNi41IC05My41dDIyNi41IDkzLjUKdDkzLjUgMjI2LjV6TTg5NiAxOTJxMCAtMTg1IC0xMzEuNSAtMzE2LjV0LTMxNi41IC0xMzEuNXQtMzE2LjUgMTMxLjV0LTEzMS41IDMxNi41cTAgMTgyIDEyOCAzMTN2NzExcTAgMTMzIDkzLjUgMjI2LjV0MjI2LjUgOTMuNXQyMjYuNSAtOTMuNXQ5My41IC0yMjYuNXYtNzExcTEyOCAtMTMxIDEyOCAtMzEzek0xMDI0IDc2OHYtMTI4aC0xOTJ2MTI4aDE5MnpNMTAyNCAxMDI0di0xMjhoLTE5MnYxMjhoMTkyek0xMDI0IDEyODB2LTEyOGgtMTkyCnYxMjhoMTkyeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMkNBIiB1bmljb2RlPSImI3hmMmNhOyIgaG9yaXotYWR2LXg9IjEwMjQiIApkPSJNNjQwIDE5MnEwIC04MCAtNTYgLTEzNnQtMTM2IC01NnQtMTM2IDU2dC01NiAxMzZxMCA2MCAzNSAxMTB0OTMgNzF2MTM5aDEyOHYtMTM5cTU4IC0yMSA5MyAtNzF0MzUgLTExMHpNNzY4IDE5MnEwIDc3IC0zNCAxNDR0LTk0IDExMnY3NjhxMCA4MCAtNTYgMTM2dC0xMzYgNTZ0LTEzNiAtNTZ0LTU2IC0xMzZ2LTc2OHEtNjAgLTQ1IC05NCAtMTEydC0zNCAtMTQ0cTAgLTEzMyA5My41IC0yMjYuNXQyMjYuNSAtOTMuNXQyMjYuNSA5My41CnQ5My41IDIyNi41ek04OTYgMTkycTAgLTE4NSAtMTMxLjUgLTMxNi41dC0zMTYuNSAtMTMxLjV0LTMxNi41IDEzMS41dC0xMzEuNSAzMTYuNXEwIDE4MiAxMjggMzEzdjcxMXEwIDEzMyA5My41IDIyNi41dDIyNi41IDkzLjV0MjI2LjUgLTkzLjV0OTMuNSAtMjI2LjV2LTcxMXExMjggLTEzMSAxMjggLTMxM3pNMTAyNCA3Njh2LTEyOGgtMTkydjEyOGgxOTJ6TTEwMjQgMTAyNHYtMTI4aC0xOTJ2MTI4aDE5MnpNMTAyNCAxMjgwdi0xMjhoLTE5Mgp2MTI4aDE5MnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjJDQiIgdW5pY29kZT0iJiN4ZjJjYjsiIGhvcml6LWFkdi14PSIxMDI0IiAKZD0iTTY0MCAxOTJxMCAtODAgLTU2IC0xMzZ0LTEzNiAtNTZ0LTEzNiA1NnQtNTYgMTM2cTAgNzkgNTYgMTM1LjV0MTM2IDU2LjV0MTM2IC01Ni41dDU2IC0xMzUuNXpNNzY4IDE5MnEwIDc3IC0zNCAxNDR0LTk0IDExMnY3NjhxMCA4MCAtNTYgMTM2dC0xMzYgNTZ0LTEzNiAtNTZ0LTU2IC0xMzZ2LTc2OHEtNjAgLTQ1IC05NCAtMTEydC0zNCAtMTQ0cTAgLTEzMyA5My41IC0yMjYuNXQyMjYuNSAtOTMuNXQyMjYuNSA5My41dDkzLjUgMjI2LjV6Ck04OTYgMTkycTAgLTE4NSAtMTMxLjUgLTMxNi41dC0zMTYuNSAtMTMxLjV0LTMxNi41IDEzMS41dC0xMzEuNSAzMTYuNXEwIDE4MiAxMjggMzEzdjcxMXEwIDEzMyA5My41IDIyNi41dDIyNi41IDkzLjV0MjI2LjUgLTkzLjV0OTMuNSAtMjI2LjV2LTcxMXExMjggLTEzMSAxMjggLTMxM3pNMTAyNCA3Njh2LTEyOGgtMTkydjEyOGgxOTJ6TTEwMjQgMTAyNHYtMTI4aC0xOTJ2MTI4aDE5MnpNMTAyNCAxMjgwdi0xMjhoLTE5MnYxMjhoMTkyeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMkNDIiB1bmljb2RlPSImI3hmMmNjOyIgaG9yaXotYWR2LXg9IjE5MjAiIApkPSJNMTQzMyAxMjg3cTEwIC0xMCAxMCAtMjN0LTEwIC0yM2wtNjI2IC02MjZxLTEwIC0xMCAtMjMgLTEwdC0yMyAxMGwtODIgODJxLTEwIDEwIC0xMCAyM3QxMCAyM2w0NCA0NHEtNzIgOTEgLTgxLjUgMjA3dDQ2LjUgMjE1cS03NCA3MSAtMTc2IDcxcS0xMDYgMCAtMTgxIC03NXQtNzUgLTE4MXYtMTI4MGgtMjU2djEyODBxMCAxMDQgNDAuNSAxOTguNXQxMDkuNSAxNjMuNXQxNjMuNSAxMDkuNXQxOTguNSA0MC41cTEwNiAwIDIwMSAtNDEKdDE2NiAtMTE1cTk0IDM5IDE5NyAyNC41dDE4NSAtNzkuNWw0NCA0NHExMCAxMCAyMyAxMHQyMyAtMTB6TTEzNDQgMTAyNHEyNiAwIDQ1IC0xOXQxOSAtNDV0LTE5IC00NXQtNDUgLTE5dC00NSAxOXQtMTkgNDV0MTkgNDV0NDUgMTl6TTE2MDAgODk2cS0yNiAwIC00NSAxOXQtMTkgNDV0MTkgNDV0NDUgMTl0NDUgLTE5dDE5IC00NXQtMTkgLTQ1dC00NSAtMTl6TTE4NTYgMTAyNHEyNiAwIDQ1IC0xOXQxOSAtNDV0LTE5IC00NXQtNDUgLTE5CnQtNDUgMTl0LTE5IDQ1dDE5IDQ1dDQ1IDE5ek0xMjE2IDg5NnEyNiAwIDQ1IC0xOXQxOSAtNDV0LTE5IC00NXQtNDUgLTE5dC00NSAxOXQtMTkgNDV0MTkgNDV0NDUgMTl6TTE0MDggODMycTAgMjYgMTkgNDV0NDUgMTl0NDUgLTE5dDE5IC00NXQtMTkgLTQ1dC00NSAtMTl0LTQ1IDE5dC0xOSA0NXpNMTcyOCA4OTZxMjYgMCA0NSAtMTl0MTkgLTQ1dC0xOSAtNDV0LTQ1IC0xOXQtNDUgMTl0LTE5IDQ1dDE5IDQ1dDQ1IDE5ek0xMDg4IDc2OApxMjYgMCA0NSAtMTl0MTkgLTQ1dC0xOSAtNDV0LTQ1IC0xOXQtNDUgMTl0LTE5IDQ1dDE5IDQ1dDQ1IDE5ek0xMzQ0IDY0MHEtMjYgMCAtNDUgMTl0LTE5IDQ1dDE5IDQ1dDQ1IDE5dDQ1IC0xOXQxOSAtNDV0LTE5IC00NXQtNDUgLTE5ek0xNjAwIDc2OHEyNiAwIDQ1IC0xOXQxOSAtNDV0LTE5IC00NXQtNDUgLTE5dC00NSAxOXQtMTkgNDV0MTkgNDV0NDUgMTl6TTEyMTYgNTEycS0yNiAwIC00NSAxOXQtMTkgNDV0MTkgNDV0NDUgMTl0NDUgLTE5CnQxOSAtNDV0LTE5IC00NXQtNDUgLTE5ek0xNDcyIDY0MHEyNiAwIDQ1IC0xOXQxOSAtNDV0LTE5IC00NXQtNDUgLTE5dC00NSAxOXQtMTkgNDV0MTkgNDV0NDUgMTl6TTEwODggNTEycTI2IDAgNDUgLTE5dDE5IC00NXQtMTkgLTQ1dC00NSAtMTl0LTQ1IDE5dC0xOSA0NXQxOSA0NXQ0NSAxOXpNMTM0NCA1MTJxMjYgMCA0NSAtMTl0MTkgLTQ1dC0xOSAtNDV0LTQ1IC0xOXQtNDUgMTl0LTE5IDQ1dDE5IDQ1dDQ1IDE5ek0xMjE2IDM4NApxMjYgMCA0NSAtMTl0MTkgLTQ1dC0xOSAtNDV0LTQ1IC0xOXQtNDUgMTl0LTE5IDQ1dDE5IDQ1dDQ1IDE5ek0xMDg4IDI1NnEyNiAwIDQ1IC0xOXQxOSAtNDV0LTE5IC00NXQtNDUgLTE5dC00NSAxOXQtMTkgNDV0MTkgNDV0NDUgMTl6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyQ0QiIHVuaWNvZGU9IiYjeGYyY2Q7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xNjY0IDQ0OHYtMTkycTAgLTE2OSAtMTI4IC0yODZ2LTE5NHEwIC0xNCAtOSAtMjN0LTIzIC05aC02NHEtMTQgMCAtMjMgOXQtOSAyM3YxMThxLTYzIC0yMiAtMTI4IC0yMmgtNzY4cS02NSAwIC0xMjggMjJ2LTExMHEwIC0xNyAtOS41IC0yOC41dC0yMi41IC0xMS41aC02NHEtMTMgMCAtMjIuNSAxMS41dC05LjUgMjguNXYxODZxLTEyOCAxMTcgLTEyOCAyODZ2MTkyaDE1MzZ6TTcwNCA4NjRxMCAtMTQgLTkgLTIzdC0yMyAtOXQtMjMgOQp0LTkgMjN0OSAyM3QyMyA5dDIzIC05dDkgLTIzek03NjggOTI4cTAgLTE0IC05IC0yM3QtMjMgLTl0LTIzIDl0LTkgMjN0OSAyM3QyMyA5dDIzIC05dDkgLTIzek03MDQgOTkycTAgLTE0IC05IC0yM3QtMjMgLTl0LTIzIDl0LTkgMjN0OSAyM3QyMyA5dDIzIC05dDkgLTIzek04MzIgOTkycTAgLTE0IC05IC0yM3QtMjMgLTl0LTIzIDl0LTkgMjN0OSAyM3QyMyA5dDIzIC05dDkgLTIzek03NjggMTA1NnEwIC0xNCAtOSAtMjN0LTIzIC05dC0yMyA5CnQtOSAyM3Q5IDIzdDIzIDl0MjMgLTl0OSAtMjN6TTcwNCAxMTIwcTAgLTE0IC05IC0yM3QtMjMgLTl0LTIzIDl0LTkgMjN0OSAyM3QyMyA5dDIzIC05dDkgLTIzek0xNzkyIDYwOHYtNjRxMCAtMTQgLTkgLTIzdC0yMyAtOWgtMTcyOHEtMTQgMCAtMjMgOXQtOSAyM3Y2NHEwIDE0IDkgMjN0MjMgOWg5NnY2NDBxMCAxMDYgNzUgMTgxdDE4MSA3NXExMDggMCAxODQgLTc4cTQ2IDE5IDk4IDEydDkzIC0zOWwyMiAyMnExMSAxMSAyMiAwbDQyIC00MgpxMTEgLTExIDAgLTIybC0zMTQgLTMxNHEtMTEgLTExIC0yMiAwbC00MiA0MnEtMTEgMTEgMCAyMmwyMiAyMnEtMzYgNDYgLTQwLjUgMTA0dDIzLjUgMTA4cS0zNyAzNSAtODggMzVxLTUzIDAgLTkwLjUgLTM3LjV0LTM3LjUgLTkwLjV2LTY0MGgxNTA0cTE0IDAgMjMgLTl0OSAtMjN6TTg5NiAxMDU2cTAgLTE0IC05IC0yM3QtMjMgLTl0LTIzIDl0LTkgMjN0OSAyM3QyMyA5dDIzIC05dDkgLTIzek04MzIgMTEyMHEwIC0xNCAtOSAtMjN0LTIzIC05CnQtMjMgOXQtOSAyM3Q5IDIzdDIzIDl0MjMgLTl0OSAtMjN6TTc2OCAxMTg0cTAgLTE0IC05IC0yM3QtMjMgLTl0LTIzIDl0LTkgMjN0OSAyM3QyMyA5dDIzIC05dDkgLTIzek05NjAgMTEyMHEwIC0xNCAtOSAtMjN0LTIzIC05dC0yMyA5dC05IDIzdDkgMjN0MjMgOXQyMyAtOXQ5IC0yM3pNODk2IDExODRxMCAtMTQgLTkgLTIzdC0yMyAtOXQtMjMgOXQtOSAyM3Q5IDIzdDIzIDl0MjMgLTl0OSAtMjN6TTgzMiAxMjQ4cTAgLTE0IC05IC0yMwp0LTIzIC05dC0yMyA5dC05IDIzdDkgMjN0MjMgOXQyMyAtOXQ5IC0yM3pNMTAyNCAxMTg0cTAgLTE0IC05IC0yM3QtMjMgLTl0LTIzIDl0LTkgMjN0OSAyM3QyMyA5dDIzIC05dDkgLTIzek05NjAgMTI0OHEwIC0xNCAtOSAtMjN0LTIzIC05dC0yMyA5dC05IDIzdDkgMjN0MjMgOXQyMyAtOXQ5IC0yM3pNMTA4OCAxMjQ4cTAgLTE0IC05IC0yM3QtMjMgLTl0LTIzIDl0LTkgMjN0OSAyM3QyMyA5dDIzIC05dDkgLTIzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMkNFIiB1bmljb2RlPSImI3hmMmNlOyIgCmQ9Ik05OTQgMzQ0cTAgLTg2IC0xNyAtMTk3cS0zMSAtMjE1IC01NSAtMzEzcS0yMiAtOTAgLTE1MiAtOTB0LTE1MiA5MHEtMjQgOTggLTU1IDMxM3EtMTcgMTEwIC0xNyAxOTdxMCAxNjggMjI0IDE2OHQyMjQgLTE2OHpNMTUzNiA3NjhxMCAtMjQwIC0xMzQgLTQzNHQtMzUwIC0yODBxLTggLTMgLTE1IDN0LTYgMTVxNyA0OCAxMCA2NnE0IDMyIDYgNDdxMSA5IDkgMTJxMTU5IDgxIDI1NS41IDIzNHQ5Ni41IDMzN3EwIDE4MCAtOTEgMzMwLjUKdC0yNDcgMjM0LjV0LTMzNyA3NHEtMTI0IC03IC0yMzcgLTYxdC0xOTMuNSAtMTQwLjV0LTEyOCAtMjAydC00Ni41IC0yNDAuNXExIC0xODQgOTkgLTMzNi41dDI1NyAtMjMxLjVxNyAtMyA5IC0xMnEzIC0yMSA2IC00NXExIC05IDUgLTMyLjV0NiAtMzUuNXExIC05IC02LjUgLTE1dC0xNS41IC0ycS0xNDggNTggLTI2MSAxNjkuNXQtMTczLjUgMjY0dC01Mi41IDMxOS41cTcgMTQzIDY2IDI3My41dDE1NC41IDIyN3QyMjUgMTU3LjV0MjcyLjUgNzAKcTE2NCAxMCAzMTUuNSAtNDYuNXQyNjEgLTE2MC41dDE3NSAtMjUwLjV0NjUuNSAtMzA4LjV6TTk5NCA4MDBxMCAtOTMgLTY1LjUgLTE1OC41dC0xNTguNSAtNjUuNXQtMTU4LjUgNjUuNXQtNjUuNSAxNTguNXQ2NS41IDE1OC41dDE1OC41IDY1LjV0MTU4LjUgLTY1LjV0NjUuNSAtMTU4LjV6TTEyODIgNzY4cTAgLTEyMiAtNTMuNSAtMjI4LjV0LTE0Ni41IC0xNzcuNXEtOCAtNiAtMTYgLTJ0LTEwIDE0cS02IDUyIC0yOSA5MnEtNyAxMCAzIDIwCnE1OCA1NCA5MSAxMjd0MzMgMTU1cTAgMTExIC01OC41IDIwNHQtMTU3LjUgMTQxLjV0LTIxMiAzNi41cS0xMzMgLTE1IC0yMjkgLTExM3QtMTA5IC0yMzFxLTEwIC05MiAyMy41IC0xNzZ0OTguNSAtMTQ0cTEwIC0xMCAzIC0yMHEtMjQgLTQxIC0yOSAtOTNxLTIgLTkgLTEwIC0xM3QtMTYgMnEtOTUgNzQgLTE0OC41IDE4M3QtNTEuNSAyMzRxMyAxMzEgNjkgMjQ0dDE3NyAxODEuNXQyNDEgNzQuNXExNDQgNyAyNjggLTYwdDE5Ni41IC0xODcuNQp0NzIuNSAtMjYzLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyRDAiIHVuaWNvZGU9IiYjeGYyZDA7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0yNTYgMTI4aDEyODB2NzY4aC0xMjgwdi03Njh6TTE3OTIgMTI0OHYtMTIxNnEwIC02NiAtNDcgLTExM3QtMTEzIC00N2gtMTQ3MnEtNjYgMCAtMTEzIDQ3dC00NyAxMTN2MTIxNnEwIDY2IDQ3IDExM3QxMTMgNDdoMTQ3MnE2NiAwIDExMyAtNDd0NDcgLTExM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjJEMSIgdW5pY29kZT0iJiN4ZjJkMTsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTE3OTIgMjI0di0xOTJxMCAtNjYgLTQ3IC0xMTN0LTExMyAtNDdoLTE0NzJxLTY2IDAgLTExMyA0N3QtNDcgMTEzdjE5MnEwIDY2IDQ3IDExM3QxMTMgNDdoMTQ3MnE2NiAwIDExMyAtNDd0NDcgLTExM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjJEMiIgdW5pY29kZT0iJiN4ZjJkMjsiIGhvcml6LWFkdi14PSIyMDQ4IiAKZD0iTTI1NiAwaDc2OHY1MTJoLTc2OHYtNTEyek0xMjgwIDUxMmg1MTJ2NzY4aC03Njh2LTI1Nmg5NnE2NiAwIDExMyAtNDd0NDcgLTExM3YtMzUyek0yMDQ4IDEzNzZ2LTk2MHEwIC02NiAtNDcgLTExM3QtMTEzIC00N2gtNjA4di0zNTJxMCAtNjYgLTQ3IC0xMTN0LTExMyAtNDdoLTk2MHEtNjYgMCAtMTEzIDQ3dC00NyAxMTN2OTYwcTAgNjYgNDcgMTEzdDExMyA0N2g2MDh2MzUycTAgNjYgNDcgMTEzdDExMyA0N2g5NjBxNjYgMCAxMTMgLTQ3CnQ0NyAtMTEzeiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMkQzIiB1bmljb2RlPSImI3hmMmQzOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTE3NSAyMTVsMTQ2IDE0NnExMCAxMCAxMCAyM3QtMTAgMjNsLTIzMyAyMzNsMjMzIDIzM3ExMCAxMCAxMCAyM3QtMTAgMjNsLTE0NiAxNDZxLTEwIDEwIC0yMyAxMHQtMjMgLTEwbC0yMzMgLTIzM2wtMjMzIDIzM3EtMTAgMTAgLTIzIDEwdC0yMyAtMTBsLTE0NiAtMTQ2cS0xMCAtMTAgLTEwIC0yM3QxMCAtMjNsMjMzIC0yMzNsLTIzMyAtMjMzcS0xMCAtMTAgLTEwIC0yM3QxMCAtMjNsMTQ2IC0xNDZxMTAgLTEwIDIzIC0xMHQyMyAxMApsMjMzIDIzM2wyMzMgLTIzM3ExMCAtMTAgMjMgLTEwdDIzIDEwek0xNzkyIDEyNDh2LTEyMTZxMCAtNjYgLTQ3IC0xMTN0LTExMyAtNDdoLTE0NzJxLTY2IDAgLTExMyA0N3QtNDcgMTEzdjEyMTZxMCA2NiA0NyAxMTN0MTEzIDQ3aDE0NzJxNjYgMCAxMTMgLTQ3dDQ3IC0xMTN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyRDQiIHVuaWNvZGU9IiYjeGYyZDQ7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xMjU3IDQyNWwtMTQ2IC0xNDZxLTEwIC0xMCAtMjMgLTEwdC0yMyAxMGwtMTY5IDE2OWwtMTY5IC0xNjlxLTEwIC0xMCAtMjMgLTEwdC0yMyAxMGwtMTQ2IDE0NnEtMTAgMTAgLTEwIDIzdDEwIDIzbDE2OSAxNjlsLTE2OSAxNjlxLTEwIDEwIC0xMCAyM3QxMCAyM2wxNDYgMTQ2cTEwIDEwIDIzIDEwdDIzIC0xMGwxNjkgLTE2OWwxNjkgMTY5cTEwIDEwIDIzIDEwdDIzIC0xMGwxNDYgLTE0NnExMCAtMTAgMTAgLTIzdC0xMCAtMjMKbC0xNjkgLTE2OWwxNjkgLTE2OXExMCAtMTAgMTAgLTIzdC0xMCAtMjN6TTI1NiAxMjhoMTI4MHYxMDI0aC0xMjgwdi0xMDI0ek0xNzkyIDEyNDh2LTEyMTZxMCAtNjYgLTQ3IC0xMTN0LTExMyAtNDdoLTE0NzJxLTY2IDAgLTExMyA0N3QtNDcgMTEzdjEyMTZxMCA2NiA0NyAxMTN0MTEzIDQ3aDE0NzJxNjYgMCAxMTMgLTQ3dDQ3IC0xMTN6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyRDUiIHVuaWNvZGU9IiYjeGYyZDU7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xMDcwIDM1OGwzMDYgNTY0aC02NTRsLTMwNiAtNTY0aDY1NHpNMTc5MiA2NDBxMCAtMTgyIC03MSAtMzQ4dC0xOTEgLTI4NnQtMjg2IC0xOTF0LTM0OCAtNzF0LTM0OCA3MXQtMjg2IDE5MXQtMTkxIDI4NnQtNzEgMzQ4dDcxIDM0OHQxOTEgMjg2dDI4NiAxOTF0MzQ4IDcxdDM0OCAtNzF0Mjg2IC0xOTF0MTkxIC0yODZ0NzEgLTM0OHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjJENiIgdW5pY29kZT0iJiN4ZjJkNjsiIGhvcml6LWFkdi14PSIxNzk0IiAKZD0iTTEyOTEgMTA2MHEtMTUgMTcgLTM1IDguNXQtMjYgLTI4LjV0NSAtMzhxMTQgLTE3IDQwIC0xNC41dDM0IDIwLjV0LTE4IDUyek04OTUgODE0cS04IC04IC0xOS41IC04dC0xOC41IDhxLTggOCAtOCAxOXQ4IDE4cTcgOCAxOC41IDh0MTkuNSAtOHE3IC03IDcgLTE4dC03IC0xOXpNMTA2MCA3NDBsLTM1IC0zNXEtMTIgLTEzIC0yOS41IC0xM3QtMzAuNSAxM2wtMzggMzhxLTEyIDEzIC0xMiAzMHQxMiAzMGwzNSAzNXExMiAxMiAyOS41IDEyCnQzMC41IC0xMmwzOCAtMzlxMTIgLTEyIDEyIC0yOS41dC0xMiAtMjkuNXpNOTUxIDg3MHEtNyAtOCAtMTguNSAtOHQtMTkuNSA4cS03IDggLTcgMTl0NyAxOXE4IDggMTkgOHQxOSAtOHQ4IC0xOXQtOCAtMTl6TTEzNTQgOTY4cS0zNCAtNjQgLTEwNy41IC04NS41dC0xMjcuNSAxNi41cS0zOCAyOCAtNjEgNjYuNXQtMjEgODcuNXQzOSA5MnQ3NS41IDUzdDcwLjUgLTV0NzAgLTUxcTIgLTIgMTMgLTEyLjV0MTQuNSAtMTMuNXQxMyAtMTMuNQp0MTIuNSAtMTUuNXQxMCAtMTUuNXQ4LjUgLTE4dDQgLTE4LjV0MSAtMjF0LTUgLTIydC05LjUgLTI0ek0xNTU1IDQ4NnEzIDIwIC04LjUgMzQuNXQtMjcuNSAyMS41dC0zMyAxN3QtMjMgMjBxLTQwIDcxIC04NCA5OC41dC0xMTMgMTEuNXExOSAxMyA0MCAxOC41dDMzIDQuNWwxMiAtMXEyIDQ1IC0zNCA5MHE2IDIwIDYuNSA0MC41dC0yLjUgMzAuNWwtMyAxMHE0MyAyNCA3MSA2NXQzNCA5MXExMCA4NCAtNDMgMTUwLjV0LTEzNyA3Ni41CnEtNjAgNyAtMTE0IC0xOC41dC04MiAtNzQuNXEtMzAgLTUxIC0zMy41IC0xMDF0MTQuNSAtODd0NDMuNSAtNjR0NTYuNSAtNDJxLTQ1IDQgLTg4IDM2dC01NyA4OHEtMjggMTA4IDMyIDIyMnEtMTYgMjEgLTI5IDMycS01MCAwIC04OSAtMTlxMTkgMjQgNDIgMzd0MzYgMTRsMTMgMXEwIDUwIC0xMyA3OHEtMTAgMjEgLTMyLjUgMjguNXQtNDcgLTMuNXQtMzcuNSAtNDBxMiA0IDQgN3EtNyAtMjggLTYuNSAtNzUuNXQxOSAtMTE3dDQ4LjUgLTEyMi41CnEtMjUgLTE0IC00NyAtMzZxLTM1IC0xNiAtODUuNSAtNzAuNXQtODQuNSAtMTAxLjVsLTMzIC00NnEtOTAgLTM0IC0xODEgLTEyNS41dC03NSAtMTYyLjVxMSAtMTYgMTEgLTI3cS0xNSAtMTIgLTMwIC0zMHEtMjEgLTI1IC0yMSAtNTR0MjEuNSAtNDB0NjMuNSA2cTQxIDE5IDc3IDQ5LjV0NTUgNjAuNXEtMiAyIC02LjUgNXQtMjAuNSA3LjV0LTMzIDMuNXEyMyA1IDUxIDEyLjV0NDAgMTB0MjcuNSA2dDI2IDR0MjMuNSAwLjVxMTQgLTcgMjIgMzQKcTcgMzcgNyA5MHEwIDEwMiAtNDAgMTUwcTEwNiAtMTAzIDEwMSAtMjE5cS0xIC0yOSAtMTUgLTUwdC0yNyAtMjdsLTEzIC02cS00IC03IC0xOSAtMzJ0LTI2IC00NS41dC0yNi41IC01MnQtMjUgLTYxdC0xNyAtNjN0LTYuNSAtNjYuNXQxMCAtNjNxLTM1IDU0IC0zNyA4MHEtMjIgLTI0IC0zNC41IC0zOXQtMzMuNSAtNDJ0LTMwLjUgLTQ2dC0xNi41IC00MXQtMC41IC0zOHQyNS41IC0yN3E0NSAtMjUgMTQ0IDY0dDE5MC41IDIyMS41CnQxMjIuNSAyMjguNXE4NiA1MiAxNDUgMTE1LjV0ODYgMTE5LjVxNDcgLTkzIDE1NCAtMTc4cTEwNCAtODMgMTY3IC04MHEzOSAyIDQ2IDQzek0xNzk0IDY0MHEwIC0xODIgLTcxIC0zNDh0LTE5MSAtMjg2dC0yODYuNSAtMTkxdC0zNDguNSAtNzF0LTM0OC41IDcxdC0yODYuNSAxOTF0LTE5MSAyODZ0LTcxIDM0OHQ3MSAzNDh0MTkxIDI4NnQyODYuNSAxOTF0MzQ4LjUgNzF0MzQ4LjUgLTcxdDI4Ni41IC0xOTF0MTkxIC0yODZ0NzEgLTM0OHoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjJENyIgdW5pY29kZT0iJiN4ZjJkNzsiIApkPSJNNTE4IDEzNTN2LTY1NXExMDMgLTEgMTkxLjUgMS41dDEyNS41IDUuNWwzNyAzcTY4IDIgOTAuNSAyNC41dDM5LjUgOTQuNWwzMyAxNDJoMTAzbC0xNCAtMzIybDcgLTMxOWgtMTAzbC0yOSAxMjdxLTE1IDY4IC00NSA5M3QtODQgMjZxLTg3IDggLTM1MiA4di01NTZxMCAtNzggNDMuNSAtMTE1LjV0MTMzLjUgLTM3LjVoMzU3cTM1IDAgNTkuNSAydDU1IDcuNXQ1NCAxOHQ0OC41IDMydDQ2IDUwLjV0MzkgNzNsOTMgMjE2aDg5CnEtNiAtMzcgLTMxLjUgLTI1MnQtMzAuNSAtMjc2cS0xNDYgNSAtMjYzLjUgOHQtMTYyLjUgNGgtNDRoLTYyOGwtMzc2IC0xMnYxMDJsMTI3IDI1cTY3IDEzIDkxLjUgMzd0MjUuNSA3OWw4IDY0M3EzIDQwMiAtOCA2NDVxLTIgNjEgLTI1LjUgODR0LTkxLjUgMzZsLTEyNyAyNHYxMDJsMzc2IC0xMmg3MDJxMTM5IDAgMzc0IDI3cS02IC02OCAtMTQgLTE5NC41dC0xMiAtMjE5LjVsLTUgLTkyaC05M2wtMzIgMTI0cS0zMSAxMjEgLTc0IDE3OS41CnQtMTEzIDU4LjVoLTU0OHEtMjggMCAtMzUuNSAtOC41dC03LjUgLTMwLjV6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyRDgiIHVuaWNvZGU9IiYjeGYyZDg7IiAKZD0iTTkyMiA3Mzl2LTE4MnEwIC00IDAuNSAtMTV0MCAtMTVsLTEuNSAtMTJ0LTMuNSAtMTEuNXQtNi41IC03LjV0LTExIC01LjV0LTE2IC0xLjV2MzA5cTkgMCAxNiAtMXQxMSAtNXQ2LjUgLTUuNXQzLjUgLTkuNXQxIC0xMC41di0xMy41di0xNHpNMTIzOCA2NDN2LTEyMXEwIC0xIDAuNSAtMTIuNXQwIC0xNS41dC0yLjUgLTExLjV0LTcuNSAtMTAuNXQtMTMuNSAtM3EtOSAwIC0xNCA5cS00IDEwIC00IDE2NXY3djguNXY5dDEuNSA4LjVsMy41IDcKdDUgNS41dDggMS41cTYgMCAxMCAtMS41dDYuNSAtNC41dDQgLTZ0MiAtOC41dDAuNSAtOHYtOS41di05ek0xODAgNDA3aDEyMnY0NzJoLTEyMnYtNDcyek02MTQgNDA3aDEwNnY0NzJoLTE1OWwtMjggLTIyMXEtMjAgMTQ4IC0zMiAyMjFoLTE1OHYtNDcyaDEwN3YzMTJsNDUgLTMxMmg3Nmw0MyAzMTl2LTMxOXpNMTAzOSA3MTJxMCA2NyAtNSA5MHEtMyAxNiAtMTEgMjguNXQtMTcgMjAuNXQtMjUgMTR0LTI2LjUgOC41dC0zMSA0dC0yOSAxLjUKaC0yOS41aC0xMmgtOTF2LTQ3Mmg1NnExNjkgLTEgMTk3IDI0LjV0MjUgMTgwLjVxLTEgNjIgLTEgMTAwek0xMzU2IDUxNXYxMzNxMCAyOSAtMiA0NXQtOS41IDMzLjV0LTI0LjUgMjV0LTQ2IDcuNXEtNDYgMCAtNzcgLTM0djE1NGgtMTE3di00NzJoMTEwbDcgMzBxMzAgLTM2IDc3IC0zNnE1MCAwIDY2IDMwLjV0MTYgODMuNXpNMTUzNiAxMjQ4di0xMjE2cTAgLTY2IC00NyAtMTEzdC0xMTMgLTQ3aC0xMjE2cS02NiAwIC0xMTMgNDd0LTQ3IDExMwp2MTIxNnEwIDY2IDQ3IDExM3QxMTMgNDdoMTIxNnE2NiAwIDExMyAtNDd0NDcgLTExM3oiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjJEOSIgdW5pY29kZT0iJiN4ZjJkOTsiIGhvcml6LWFkdi14PSIyMTc2IiAKZD0iTTExNDMgLTE5N3EtNiAxIC0xMSA0cS0xMyA4IC0zNiAyM3QtODYgNjV0LTExNi41IDEwNC41dC0xMTIgMTQwdC04OS41IDE3Mi41cS0xNyAzIC0xNzUgMzdxNjYgLTIxMyAyMzUgLTM2MnQzOTEgLTE4NHpNNTAyIDQwOWwxNjggLTI4cS0yNSA3NiAtNDEgMTY3LjV0LTE5IDE0NS41bC00IDUzcS04NCAtODIgLTEyMSAtMjI0cTUgLTY1IDE3IC0xMTR6TTYxMiAxMDE4cS00MyAtNjQgLTc3IC0xNDhxNDQgNDYgNzQgNjh6TTIwNDkgNTg0CnEwIDE2MSAtNjIgMzA3dC0xNjcuNSAyNTJ0LTI1MC41IDE2OC41dC0zMDQgNjIuNXEtMTQ3IDAgLTI4MSAtNTIuNXQtMjQwIC0xNDguNXEtMzAgLTU4IC00NSAtMTYwcTYwIDUxIDE0MyA4My41dDE1OC41IDQzdDE0MyAxMy41dDEwOC41IC0xbDQwIC0zcTMzIC0xIDUzIC0xNS41dDI0LjUgLTMzdDYuNSAtMzd0LTEgLTI4LjVxLTEyNiAxMSAtMjI3LjUgMC41dC0xODMgLTQzLjV0LTE0Mi41IC03MS41dC0xMzEgLTk4LjUKcTQgLTM2IDExLjUgLTkyLjV0MzUuNSAtMTc4dDYyIC0xNzkuNXExMjMgLTYgMjQ3LjUgMTQuNXQyMTQuNSA1My41dDE2Mi41IDY3dDEwOS41IDU5bDM3IDI0cTIyIDE2IDM5LjUgMjAuNXQzMC41IC01dDE3IC0zNC41cTE0IC05NyAtMzkgLTEyMXEtMjA4IC05NyAtNDY3IC0xMzRxLTEzNSAtMjAgLTMxNyAtMTZxNDEgLTk2IDExMCAtMTc2LjV0MTM3IC0xMjd0MTMwLjUgLTc5dDEwMS41IC00My41bDM5IC0xMnExNDMgLTIzIDI2MyAxNQpxMTk1IDk5IDMxNCAyODl0MTE5IDQxOHpNMjEyMyA2MjFxLTE0IC0xMzUgLTQwIC0yMTJxLTcwIC0yMDggLTE4MS41IC0zNDYuNXQtMzE4LjUgLTI1My41cS00OCAtMzMgLTgyIC00NHEtNzIgLTI2IC0xNjMgLTE2cS0zNiAtMyAtNzMgLTNxLTI4MyAwIC01MDQuNSAxNzN0LTI5NS41IDQ0MnEtMSAwIC00IDAuNXQtNSAwLjVxLTYgLTUwIDIuNSAtMTEyLjV0MjYgLTExNXQzNiAtOTh0MzEuNSAtNzEuNWwxNCAtMjZxOCAtMTIgNTQgLTgyCnEtNzEgMzggLTEyNC41IDEwNi41dC03OC41IDE0MHQtMzkuNSAxMzd0LTE3LjUgMTA3LjVsLTIgNDJxLTUgMiAtMzMuNSAxMi41dC00OC41IDE4dC01MyAyMC41dC01Ny41IDI1dC01MCAyNS41dC00Mi41IDI3dC0yNSAyNS41cTE5IC0xMCA1MC41IC0yNS41dDExMyAtNDUuNXQxNDUuNSAtMzhsMiAzMnExMSAxNDkgOTQgMjkwcTQxIDIwMiAxNzYgMzY1cTI4IDExNSA4MSAyMTRxMTUgMjggMzIgNDV0NDkgMzJxMTU4IDc0IDMwMy41IDEwNAp0MzAyIDExdDMwNi41IC05N3EyMjAgLTExNSAzMzMgLTMzNnQ4NyAtNDc0eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMkRBIiB1bmljb2RlPSImI3hmMmRhOyIgaG9yaXotYWR2LXg9IjE3OTIiIApkPSJNMTM0MSA3NTJxMjkgNDQgLTYuNSAxMjkuNXQtMTIxLjUgMTQyLjVxLTU4IDM5IC0xMjUuNSA1My41dC0xMTggNC41dC02OC41IC0zN3EtMTIgLTIzIC00LjUgLTI4dDQyLjUgLTEwcTIzIC0zIDM4LjUgLTV0NDQuNSAtOS41dDU2IC0xNy41cTM2IC0xMyA2Ny41IC0zMS41dDUzIC0zN3Q0MCAtMzguNXQzMC41IC0zOHQyMiAtMzQuNXQxNi41IC0yOC41dDEyIC0xOC41dDEwLjUgLTZ0MTEgOS41ek0xNzA0IDE3OApxLTUyIC0xMjcgLTE0OC41IC0yMjB0LTIxNC41IC0xNDEuNXQtMjUzIC02MC41dC0yNjYgMTMuNXQtMjUxIDkxdC0yMTAgMTYxLjV0LTE0MS41IDIzNS41dC00Ni41IDMwMy41cTEgNDEgOC41IDg0LjV0MTIuNSA2NHQyNCA4MC41dDIzIDczcS01MSAtMjA4IDEgLTM5N3QxNzMgLTMxOHQyOTEgLTIwNnQzNDYgLTgzdDM0OSA3NC41dDI4OSAyNDQuNXEyMCAyNyAxOCAxNHEwIC00IC00IC0xNHpNMTQ2NSA2MjdxMCAtMTA0IC00MC41IC0xOTkKdC0xMDguNSAtMTY0dC0xNjIgLTEwOS41dC0xOTggLTQwLjV0LTE5OCA0MC41dC0xNjIgMTA5LjV0LTEwOC41IDE2NHQtNDAuNSAxOTl0NDAuNSAxOTl0MTA4LjUgMTY0dDE2MiAxMDkuNXQxOTggNDAuNXQxOTggLTQwLjV0MTYyIC0xMDkuNXQxMDguNSAtMTY0dDQwLjUgLTE5OXpNMTc1MiA5MTVxLTY1IDE0NyAtMTgwLjUgMjUxdC0yNTMgMTUzLjV0LTI5MiA1My41dC0zMDEgLTM2LjV0LTI3NS41IC0xMjl0LTIyMCAtMjExLjV0LTEzMSAtMjk3CnQtMTAgLTM3M3EtNDkgMTYxIC01MS41IDMxMS41dDM1LjUgMjcyLjV0MTA5IDIyN3QxNjUuNSAxODAuNXQyMDcgMTI2dDIzMiA3MXQyNDIuNSA5dDIzNiAtNTR0MjE2IC0xMjQuNXQxNzggLTE5N3EzMyAtNTAgNjIgLTEyMXQzMSAtMTEyek0xNjkwIDU3M3ExMiAyNDQgLTEzNi41IDQxNnQtMzk2LjUgMjQwcS04IDAgLTEwIDV0MjQgOHExMjUgLTQgMjMwIC01MHQxNzMgLTEyMHQxMTYgLTE2OC41dDU4LjUgLTE5OXQtMSAtMjA4CnQtNjEuNSAtMTk3LjV0LTEyMi41IC0xNjd0LTE4NSAtMTE3LjV0LTI0OC41IC00Ni41cTEwOCAzMCAyMDEuNSA4MHQxNzQgMTIzdDEyOS41IDE3Ni41dDU1IDIyNS41eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMkRCIiB1bmljb2RlPSImI3hmMmRiOyIgCmQ9Ik0xOTIgMjU2di0xMjhoLTExMnEtMTYgMCAtMTYgMTZ2MTZoLTQ4cS0xNiAwIC0xNiAxNnYzMnEwIDE2IDE2IDE2aDQ4djE2cTAgMTYgMTYgMTZoMTEyek0xOTIgNTEydi0xMjhoLTExMnEtMTYgMCAtMTYgMTZ2MTZoLTQ4cS0xNiAwIC0xNiAxNnYzMnEwIDE2IDE2IDE2aDQ4djE2cTAgMTYgMTYgMTZoMTEyek0xOTIgNzY4di0xMjhoLTExMnEtMTYgMCAtMTYgMTZ2MTZoLTQ4cS0xNiAwIC0xNiAxNnYzMnEwIDE2IDE2IDE2aDQ4djE2CnEwIDE2IDE2IDE2aDExMnpNMTkyIDEwMjR2LTEyOGgtMTEycS0xNiAwIC0xNiAxNnYxNmgtNDhxLTE2IDAgLTE2IDE2djMycTAgMTYgMTYgMTZoNDh2MTZxMCAxNiAxNiAxNmgxMTJ6TTE5MiAxMjgwdi0xMjhoLTExMnEtMTYgMCAtMTYgMTZ2MTZoLTQ4cS0xNiAwIC0xNiAxNnYzMnEwIDE2IDE2IDE2aDQ4djE2cTAgMTYgMTYgMTZoMTEyek0xMjgwIDE0NDB2LTE0NzJxMCAtNDAgLTI4IC02OHQtNjggLTI4aC04MzJxLTQwIDAgLTY4IDI4CnQtMjggNjh2MTQ3MnEwIDQwIDI4IDY4dDY4IDI4aDgzMnE0MCAwIDY4IC0yOHQyOCAtNjh6TTE1MzYgMjA4di0zMnEwIC0xNiAtMTYgLTE2aC00OHYtMTZxMCAtMTYgLTE2IC0xNmgtMTEydjEyOGgxMTJxMTYgMCAxNiAtMTZ2LTE2aDQ4cTE2IDAgMTYgLTE2ek0xNTM2IDQ2NHYtMzJxMCAtMTYgLTE2IC0xNmgtNDh2LTE2cTAgLTE2IC0xNiAtMTZoLTExMnYxMjhoMTEycTE2IDAgMTYgLTE2di0xNmg0OHExNiAwIDE2IC0xNnpNMTUzNiA3MjB2LTMyCnEwIC0xNiAtMTYgLTE2aC00OHYtMTZxMCAtMTYgLTE2IC0xNmgtMTEydjEyOGgxMTJxMTYgMCAxNiAtMTZ2LTE2aDQ4cTE2IDAgMTYgLTE2ek0xNTM2IDk3NnYtMzJxMCAtMTYgLTE2IC0xNmgtNDh2LTE2cTAgLTE2IC0xNiAtMTZoLTExMnYxMjhoMTEycTE2IDAgMTYgLTE2di0xNmg0OHExNiAwIDE2IC0xNnpNMTUzNiAxMjMydi0zMnEwIC0xNiAtMTYgLTE2aC00OHYtMTZxMCAtMTYgLTE2IC0xNmgtMTEydjEyOGgxMTJxMTYgMCAxNiAtMTZ2LTE2Cmg0OHExNiAwIDE2IC0xNnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjJEQyIgdW5pY29kZT0iJiN4ZjJkYzsiIGhvcml6LWFkdi14PSIxNjY0IiAKZD0iTTE1NjYgNDE5bC0xNjcgLTMzbDE4NiAtMTA3cTIzIC0xMyAyOS41IC0zOC41dC02LjUgLTQ4LjVxLTE0IC0yMyAtMzkgLTI5LjV0LTQ4IDYuNWwtMTg2IDEwNmw1NSAtMTYwcTEzIC0zOCAtMTIgLTYzLjV0LTYwLjUgLTIwLjV0LTQ4LjUgNDJsLTEwMiAzMDBsLTI3MSAxNTZ2LTMxM2wyMDggLTIzOHExNiAtMTggMTcgLTM5dC0xMSAtMzYuNXQtMjguNSAtMjV0LTM3IC01LjV0LTM2LjUgMjJsLTExMiAxMjh2LTIxNHEwIC0yNiAtMTkgLTQ1CnQtNDUgLTE5dC00NSAxOXQtMTkgNDV2MjE0bC0xMTIgLTEyOHEtMTYgLTE4IC0zNi41IC0yMnQtMzcgNS41dC0yOC41IDI1dC0xMSAzNi41dDE3IDM5bDIwOCAyMzh2MzEzbC0yNzEgLTE1NmwtMTAyIC0zMDBxLTEzIC0zNyAtNDguNSAtNDJ0LTYwLjUgMjAuNXQtMTIgNjMuNWw1NSAxNjBsLTE4NiAtMTA2cS0yMyAtMTMgLTQ4IC02LjV0LTM5IDI5LjVxLTEzIDIzIC02LjUgNDguNXQyOS41IDM4LjVsMTg2IDEwN2wtMTY3IDMzCnEtMjkgNiAtNDIgMjl0LTguNSA0Ni41dDI1LjUgNDB0NTAgMTAuNWwzMTAgLTYybDI3MSAxNTdsLTI3MSAxNTdsLTMxMCAtNjJxLTQgLTEgLTEzIC0xcS0yNyAwIC00NCAxOHQtMTkgNDB0MTEgNDN0NDAgMjZsMTY3IDMzbC0xODYgMTA3cS0yMyAxMyAtMjkuNSAzOC41dDYuNSA0OC41dDM5IDMwdDQ4IC03bDE4NiAtMTA2bC01NSAxNjBxLTEzIDM4IDEyIDYzLjV0NjAuNSAyMC41dDQ4LjUgLTQybDEwMiAtMzAwbDI3MSAtMTU2djMxMwpsLTIwOCAyMzhxLTE2IDE4IC0xNyAzOXQxMSAzNi41dDI4LjUgMjV0MzcgNS41dDM2LjUgLTIybDExMiAtMTI4djIxNHEwIDI2IDE5IDQ1dDQ1IDE5dDQ1IC0xOXQxOSAtNDV2LTIxNGwxMTIgMTI4cTE2IDE4IDM2LjUgMjJ0MzcgLTUuNXQyOC41IC0yNXQxMSAtMzYuNXQtMTcgLTM5bC0yMDggLTIzOHYtMzEzbDI3MSAxNTZsMTAyIDMwMHExMyAzNyA0OC41IDQydDYwLjUgLTIwLjV0MTIgLTYzLjVsLTU1IC0xNjBsMTg2IDEwNgpxMjMgMTMgNDggNi41dDM5IC0yOS41cTEzIC0yMyA2LjUgLTQ4LjV0LTI5LjUgLTM4LjVsLTE4NiAtMTA3bDE2NyAtMzNxMjcgLTUgNDAgLTI2dDExIC00M3QtMTkgLTQwdC00NCAtMThxLTkgMCAtMTMgMWwtMzEwIDYybC0yNzEgLTE1N2wyNzEgLTE1N2wzMTAgNjJxMjkgNiA1MCAtMTAuNXQyNS41IC00MHQtOC41IC00Ni41dC00MiAtMjl6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyREQiIHVuaWNvZGU9IiYjeGYyZGQ7IiBob3Jpei1hZHYteD0iMTc5MiIgCmQ9Ik0xNDczIDYwN3E3IDExOCAtMzMgMjI2LjV0LTExMyAxODl0LTE3NyAxMzF0LTIyMSA1Ny41cS0xMTYgNyAtMjI1LjUgLTMydC0xOTIgLTExMC41dC0xMzUgLTE3NXQtNTkuNSAtMjIwLjVxLTcgLTExOCAzMyAtMjI2LjV0MTEzIC0xODl0MTc3LjUgLTEzMXQyMjEuNSAtNTcuNXExNTUgLTkgMjkzIDU5dDIyNCAxOTUuNXQ5NCAyODMuNXpNMTc5MiAxNTM2bC0zNDkgLTM0OHExMjAgLTExNyAxODAuNSAtMjcydDUwLjUgLTMyMQpxLTExIC0xODMgLTEwMiAtMzM5dC0yNDEgLTI1NS41dC0zMzIgLTEyNC41bC05OTkgLTEzMmwzNDcgMzQ3cS0xMjAgMTE2IC0xODAuNSAyNzEuNXQtNTAuNSAzMjEuNXExMSAxODQgMTAyIDM0MHQyNDEuNSAyNTUuNXQzMzIuNSAxMjQuNXExNjcgMjIgNTAwIDY2dDUwMCA2NnoiIC8+CiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjJERSIgdW5pY29kZT0iJiN4ZjJkZTsiIGhvcml6LWFkdi14PSIxNzkyIiAKZD0iTTk0OCA1MDhsMTYzIC0zMjloLTUxbC0xNzUgMzUwbC0xNzEgLTM1MGgtNDlsMTc5IDM3NGwtNzggMzNsMjEgNDlsMjQwIC0xMDJsLTIxIC01MHpNNTYzIDExMDBsMzA0IC0xMzBsLTEzMCAtMzA0bC0zMDQgMTMwek05MDcgOTE1bDI0MCAtMTAzbC0xMDMgLTIzOWwtMjM5IDEwMnpNMTE4OCA3NjVsMTkxIC04MWwtODIgLTE5MGwtMTkwIDgxek0xNjgwIDY0MHEwIDE1OSAtNjIgMzA0dC0xNjcuNSAyNTAuNXQtMjUwLjUgMTY3LjV0LTMwNCA2Mgp0LTMwNCAtNjJ0LTI1MC41IC0xNjcuNXQtMTY3LjUgLTI1MC41dC02MiAtMzA0dDYyIC0zMDR0MTY3LjUgLTI1MC41dDI1MC41IC0xNjcuNXQzMDQgLTYydDMwNCA2MnQyNTAuNSAxNjcuNXQxNjcuNSAyNTAuNXQ2MiAzMDR6TTE3OTIgNjQwcTAgLTE4MiAtNzEgLTM0OHQtMTkxIC0yODZ0LTI4NiAtMTkxdC0zNDggLTcxdC0zNDggNzF0LTI4NiAxOTF0LTE5MSAyODZ0LTcxIDM0OHQ3MSAzNDh0MTkxIDI4NnQyODYgMTkxdDM0OCA3MXQzNDggLTcxCnQyODYgLTE5MXQxOTEgLTI4NnQ3MSAtMzQ4eiIgLz4KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMkUwIiB1bmljb2RlPSImI3hmMmUwOyIgaG9yaXotYWR2LXg9IjE5MjAiIApkPSJNMTMzNCAzMDJxLTQgMjQgLTI3LjUgMzR0LTQ5LjUgMTAuNXQtNDguNSAxMi41dC0yNS41IDM4cS01IDQ3IDMzIDEzOS41dDc1IDE4MXQzMiAxMjcuNXEtMTQgMTAxIC0xMTcgMTAzcS00NSAxIC03NSAtMTZsLTMgLTJsLTUgLTIuNXQtNC41IC0ydC01IC0ydC01IC0wLjV0LTYgMS41dC02IDMuNXQtNi41IDVxLTMgMiAtOSA4LjV0LTkgOXQtOC41IDcuNXQtOS41IDcuNXQtOS41IDUuNXQtMTEgNC41dC0xMS41IDIuNXEtMzAgNSAtNDggLTMKdC00NSAtMzFxLTEgLTEgLTkgLTguNXQtMTIuNSAtMTF0LTE1IC0xMHQtMTYuNSAtNS41dC0xNyAzcS01NCAyNyAtODQgNDBxLTQxIDE4IC05NCAtNXQtNzYgLTY1cS0xNiAtMjggLTQxIC05OC41dC00My41IC0xMzIuNXQtNDAgLTEzNHQtMjEuNSAtNzNxLTIyIC02OSAxOC41IC0xMTl0MTEwLjUgLTQ2cTMwIDIgNTAuNSAxNXQzOC41IDQ2cTcgMTMgNzkgMTk5LjV0NzcgMTk0LjVxNiAxMSAyMS41IDE4dDI5LjUgMHEyNyAtMTUgMjEgLTUzCnEtMiAtMTggLTUxIC0xMzkuNXQtNTAgLTEzMi41cS02IC0zOCAxOS41IC01Ni41dDYwLjUgLTd0NTUgNDkuNXE0IDggNDUuNSA5MnQ4MS41IDE2My41dDQ2IDg4LjVxMjAgMjkgNDEgMjhxMjkgMCAyNSAtMzhxLTIgLTE2IC02NS41IC0xNDcuNXQtNzAuNSAtMTU5LjVxLTEyIC01MyAxMyAtMTAzdDc0IC03NHExNyAtOSA1MSAtMTUuNXQ3MS41IC04dDYyLjUgMTR0MjAgNDguNXpNMzgzIDg2cTMgLTE1IC01IC0yNy41dC0yMyAtMTUuNQpxLTE0IC0zIC0yNi41IDV0LTE1LjUgMjNxLTMgMTQgNSAyN3QyMiAxNnQyNyAtNXQxNiAtMjN6TTk1MyAtMTc3cTEyIC0xNyA4LjUgLTM3LjV0LTIwLjUgLTMyLjV0LTM3LjUgLTh0LTMyLjUgMjFxLTExIDE3IC03LjUgMzcuNXQyMC41IDMyLjV0MzcuNSA4dDMxLjUgLTIxek0xNzcgNjM1cS0xOCAtMjcgLTQ5LjUgLTMzdC01Ny41IDEzcS0yNiAxOCAtMzIgNTB0MTIgNThxMTggMjcgNDkuNSAzM3Q1Ny41IC0xMnEyNiAtMTkgMzIgLTUwLjUKdC0xMiAtNTguNXpNMTQ2NyAtNDJxMTkgLTI4IDEzIC02MS41dC0zNCAtNTIuNXQtNjAuNSAtMTN0LTUxLjUgMzR0LTEzIDYxdDMzIDUzcTI4IDE5IDYwLjUgMTN0NTIuNSAtMzR6TTE1NzkgNTYycTY5IC0xMTMgNDIuNSAtMjQ0LjV0LTEzNC41IC0yMDcuNXEtOTAgLTYzIC0xOTkgLTYwcS0yMCAtODAgLTg0LjUgLTEyN3QtMTQzLjUgLTQ0LjV0LTE0MCA1Ny41cS0xMiAtOSAtMTMgLTEwcS0xMDMgLTcxIC0yMjUgLTQ4LjV0LTE5MyAxMjYuNQpxLTUwIDczIC01MyAxNjRxLTgzIDE0IC0xNDIuNSA3MC41dC04MC41IDEyOHQtMiAxNTJ0ODEgMTM4LjVxLTM2IDYwIC0zOCAxMjh0MjQuNSAxMjV0NzkuNSA5OC41dDEyMSA1MC41cTMyIDg1IDk5IDE0OHQxNDYuNSA5MS41dDE2OCAxN3QxNTkuNSAtNjYuNXE3MiAyMSAxNDAgMTcuNXQxMjguNSAtMzZ0MTA0LjUgLTgwdDY3LjUgLTExNXQxNy41IC0xNDAuNXE1MiAtMTYgODcgLTU3dDQ1LjUgLTg5dC01LjUgLTk5LjV0LTU4IC04Ny41egpNNDU1IDEyMjJxMTQgLTIwIDkuNSAtNDQuNXQtMjQuNSAtMzguNXEtMTkgLTE0IC00My41IC05LjV0LTM3LjUgMjQuNXEtMTQgMjAgLTkuNSA0NC41dDI0LjUgMzguNXExOSAxNCA0My41IDkuNXQzNy41IC0yNC41ek02MTQgMTUwM3E0IC0xNiAtNSAtMzAuNXQtMjYgLTE4LjV0LTMxIDUuNXQtMTggMjYuNXEtMyAxNyA2LjUgMzF0MjUuNSAxOHExNyA0IDMxIC01LjV0MTcgLTI2LjV6TTE4MDAgNTU1cTQgLTIwIC02LjUgLTM3dC0zMC41IC0yMQpxLTE5IC00IC0zNiA2LjV0LTIxIDMwLjV0Ni41IDM3dDMwLjUgMjJxMjAgNCAzNi41IC03LjV0MjAuNSAtMzAuNXpNMTEzNiAxNDQ4cTE2IC0yNyA4LjUgLTU4LjV0LTM1LjUgLTQ3LjVxLTI3IC0xNiAtNTcuNSAtOC41dC00Ni41IDM0LjVxLTE2IDI4IC04LjUgNTl0MzQuNSA0OHQ1OCA5dDQ3IC0zNnpNMTg4MiA3OTJxNCAtMTUgLTQgLTI3LjV0LTIzIC0xNi41cS0xNSAtMyAtMjcuNSA1LjV0LTE1LjUgMjIuNXEtMyAxNSA1IDI4dDIzIDE2CnExNCAzIDI2LjUgLTV0MTUuNSAtMjN6TTE2OTEgMTAzM3ExNSAtMjIgMTAuNSAtNDl0LTI2LjUgLTQzcS0yMiAtMTUgLTQ5IC0xMHQtNDIgMjd0LTEwIDQ5dDI3IDQzdDQ4LjUgMTF0NDEuNSAtMjh6IiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyRTEiIHVuaWNvZGU9IiYjeGYyZTE7IiBob3Jpei1hZHYteD0iMTc5MiIgCiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyRTIiIHVuaWNvZGU9IiYjeGYyZTI7IiBob3Jpei1hZHYteD0iMTc5MiIgCiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyRTMiIHVuaWNvZGU9IiYjeGYyZTM7IiBob3Jpei1hZHYteD0iMTc5MiIgCiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyRTQiIHVuaWNvZGU9IiYjeGYyZTQ7IiBob3Jpei1hZHYteD0iMTc5MiIgCiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyRTUiIHVuaWNvZGU9IiYjeGYyZTU7IiBob3Jpei1hZHYteD0iMTc5MiIgCiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyRTYiIHVuaWNvZGU9IiYjeGYyZTY7IiBob3Jpei1hZHYteD0iMTc5MiIgCiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyRTciIHVuaWNvZGU9IiYjeGYyZTc7IiBob3Jpei1hZHYteD0iMTc5MiIgCiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Il82OTgiIHVuaWNvZGU9IiYjeGYyZTg7IiBob3Jpei1hZHYteD0iMTc5MiIgCiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyRTkiIHVuaWNvZGU9IiYjeGYyZTk7IiBob3Jpei1hZHYteD0iMTc5MiIgCiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyRUEiIHVuaWNvZGU9IiYjeGYyZWE7IiBob3Jpei1hZHYteD0iMTc5MiIgCiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyRUIiIHVuaWNvZGU9IiYjeGYyZWI7IiBob3Jpei1hZHYteD0iMTc5MiIgCiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyRUMiIHVuaWNvZGU9IiYjeGYyZWM7IiBob3Jpei1hZHYteD0iMTc5MiIgCiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyRUQiIHVuaWNvZGU9IiYjeGYyZWQ7IiBob3Jpei1hZHYteD0iMTc5MiIgCiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9InVuaUYyRUUiIHVuaWNvZGU9IiYjeGYyZWU7IiBob3Jpei1hZHYteD0iMTc5MiIgCiAvPgogICAgPGdseXBoIGdseXBoLW5hbWU9Imxlc3NlcXVhbCIgdW5pY29kZT0iJiN4ZjUwMDsiIGhvcml6LWFkdi14PSIxNzkyIiAKIC8+CiAgPC9mb250Pgo8L2RlZnM+PC9zdmc+Cg=="},function(t,e){function n(t,e){for(var n=0;n<t.length;n++){var i=t[n],r=l[i.id];if(r){r.refs++;for(var A=0;A<r.parts.length;A++)r.parts[A](i.parts[A]);for(;A<i.parts.length;A++)r.parts.push(c(i.parts[A],e))}else{for(var o=[],A=0;A<i.parts.length;A++)o.push(c(i.parts[A],e));l[i.id]={id:i.id,refs:1,parts:o}}}}function i(t){for(var e=[],n={},i=0;i<t.length;i++){var r=t[i],A=r[0],o=r[1],a=r[2],c=r[3],s={css:o,media:a,sourceMap:c};n[A]?n[A].parts.push(s):e.push(n[A]={id:A,parts:[s]})}return e}function r(t,e){var n=d(),i=E[E.length-1];if("top"===t.insertAt)i?i.nextSibling?n.insertBefore(e,i.nextSibling):n.appendChild(e):n.insertBefore(e,n.firstChild),E.push(e);else{if("bottom"!==t.insertAt)throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.");n.appendChild(e)}}function A(t){t.parentNode.removeChild(t);var e=E.indexOf(t);e>=0&&E.splice(e,1)}function o(t){var e=document.createElement("style");return e.type="text/css",r(t,e),e}function a(t){var e=document.createElement("link");return e.rel="stylesheet",r(t,e),e}function c(t,e){var n,i,r;if(e.singleton){var c=I++;n=f||(f=o(e)),i=s.bind(null,n,c,!1),r=s.bind(null,n,c,!0)}else t.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=a(e),i=g.bind(null,n),r=function(){A(n),n.href&&URL.revokeObjectURL(n.href)}):(n=o(e),i=u.bind(null,n),r=function(){A(n)});return i(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;i(t=e)}else r()}}function s(t,e,n,i){var r=n?"":i.css;if(t.styleSheet)t.styleSheet.cssText=T(e,r);else{var A=document.createTextNode(r),o=t.childNodes;o[e]&&t.removeChild(o[e]),o.length?t.insertBefore(A,o[e]):t.appendChild(A)}}function u(t,e){var n=e.css,i=e.media;if(i&&t.setAttribute("media",i),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}function g(t,e){var n=e.css,i=e.sourceMap;i&&(n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");var r=new Blob([n],{type:"text/css"}),A=t.href;t.href=URL.createObjectURL(r),A&&URL.revokeObjectURL(A)}var l={},M=function(t){var e;return function(){return void 0===e&&(e=t.apply(this,arguments)),e}},h=M(function(){return/msie [6-9]\b/.test(self.navigator.userAgent.toLowerCase())}),d=M(function(){return document.head||document.getElementsByTagName("head")[0]}),f=null,I=0,E=[];t.exports=function(t,e){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");e=e||{},void 0===e.singleton&&(e.singleton=h()),void 0===e.insertAt&&(e.insertAt="bottom");var r=i(t);return n(r,e),function(t){for(var A=[],o=0;o<r.length;o++){var a=r[o],c=l[a.id];c.refs--,A.push(c)}if(t){n(i(t),e)}for(var o=0;o<A.length;o++){var c=A[o];if(0===c.refs){for(var s=0;s<c.parts.length;s++)c.parts[s]();delete l[c.id]}}}};var T=function(){var t=[];return function(e,n){return t[e]=n,t.filter(Boolean).join("\n")}}()},function(t,e,n){"use strict";var i=n(30),r=function(t){return t&&t.__esModule?t:{default:t}}(i),A=n(689),o=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(A);Object.entries(o).forEach(function(t){return r.default.registerMixin(t[1],t[0])})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.VegaView=e.Resize=e.InitSize=e.Events=e.AutoResize=void 0;var r=n(690),A=i(r),o=n(340),a=i(o),c=n(341),s=i(c),u=n(339),g=i(u),l=n(58),M=i(l);e.AutoResize=A.default,e.Events=a.default,e.InitSize=s.default,e.Resize=g.default,e.VegaView=M.default},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=n(339),c=i(a),s=n(341),u=i(s),g=function(t){return function(t){function e(){var t;r(this,e);for(var n=arguments.length,i=Array(n),o=0;o<n;o++)i[o]=arguments[o];var a=A(this,(t=e.__proto__||Object.getPrototypeOf(e)).call.apply(t,[this].concat(i)));return a.on("resize",function(t,e){a.width=t,a.height=e,a.render()}),a}return o(e,t),e}((0,c.default)((0,u.default)(t)))};e.default=g},function(t,e){!function(){function t(t){var e=t.__resizeTriggers__,n=e.firstElementChild,i=e.lastElementChild,r=n.firstElementChild;i.scrollLeft=i.scrollWidth,i.scrollTop=i.scrollHeight,r.style.width=n.offsetWidth+1+"px",r.style.height=n.offsetHeight+1+"px",n.scrollLeft=n.scrollWidth,n.scrollTop=n.scrollHeight}function e(t){return t.offsetWidth!=t.__resizeLast__.width||t.offsetHeight!=t.__resizeLast__.height}function n(n){var i=this;t(this),this.__resizeRAF__&&a(this.__resizeRAF__),this.__resizeRAF__=o(function(){e(i)&&(i.__resizeLast__.width=i.offsetWidth,i.__resizeLast__.height=i.offsetHeight,i.__resizeListeners__.forEach(function(t){t.call(i,n)}))})}function i(){if(!A){var t=(I||"")+".resize-triggers { "+(E||"")+'visibility: hidden; opacity: 0; } .resize-triggers, .resize-triggers > div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',e=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t)),e.appendChild(n),A=!0}}var r=document.attachEvent,A=!1;if(!r){var o=function(){var t=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(t){return window.setTimeout(t,20)};return function(e){return t(e)}}(),a=function(){var t=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.clearTimeout;return function(e){return t(e)}}(),c=!1,s="",u="animationstart",g="Webkit Moz O ms".split(" "),l="webkitAnimationStart animationstart oAnimationStart MSAnimationStart".split(" "),M="",h=document.createElement("fakeelement");if(void 0!==h.style.animationName&&(c=!0),!1===c)for(var d=0;d<g.length;d++)if(void 0!==h.style[g[d]+"AnimationName"]){M=g[d],M+"Animation",s="-"+M.toLowerCase()+"-",u=l[d],c=!0;break}var f="resizeanim",I="@"+s+"keyframes "+f+" { from { opacity: 0; } to { opacity: 0; } } ",E=s+"animation: 1ms "+f+"; "}window.addResizeListener=function(e,A){r?e.attachEvent("onresize",A):(e.__resizeTriggers__||("static"==getComputedStyle(e).position&&(e.style.position="relative"),i(),e.__resizeLast__={},e.__resizeListeners__=[],(e.__resizeTriggers__=document.createElement("div")).className="resize-triggers",e.__resizeTriggers__.innerHTML='<div class="expand-trigger"><div></div></div><div class="contract-trigger"></div>',e.appendChild(e.__resizeTriggers__),t(e),e.addEventListener("scroll",n,!0),u&&e.__resizeTriggers__.addEventListener(u,function(n){n.animationName==f&&t(e)})),e.__resizeListeners__.push(A))},window.removeResizeListener=function(t,e){r?t.detachEvent("onresize",e):(t.__resizeListeners__.splice(t.__resizeListeners__.indexOf(e),1),t.__resizeListeners__.length||(t.removeEventListener("scroll",n),t.__resizeTriggers__=!t.removeChild(t.__resizeTriggers__)))}}()},function(t,e,n){(function(e){var i=e.telegraph;n(693),t.exports=telegraph,i?e.telegraph=i:delete e.telegraph}).call(e,n(106))},function(t,e){telegraph=function(t){"use strict";t=t||{};var e={};return t.on=function(n,i,r){return(e[n]=e[n]||[])[r?"unshift":"push"](i),t},t.once=function(e,n,i){function r(){n.apply(t.off(e,r),arguments)}return r.h=n,t.on(e,r,i)},t.off=function(n,i){if(void 0===n)return e={},t;for(var r=i?e[n]||[]:[],A=0;A<r.length;A++)r[A]!==i&&r[A].h!==i||r.splice(A--,1);return r.length||delete e[n],t},t.emit=function(n){for(var i=e[n]&&e[n].slice()||[],r=i.slice.call(arguments,1),A=0;A<i.length;++A)if(!1===i[A].apply(t,r))return!1;return!0},t}},function(t,e,n){e.parse=n(695),e.stringify=n(696)},function(t,e){var n,i,r,A,o={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},a=function(t){throw{name:"SyntaxError",message:t,at:n,text:r}},c=function(t){return t&&t!==i&&a("Expected '"+t+"' instead of '"+i+"'"),i=r.charAt(n),n+=1,i},s=function(){var t,e="";for("-"===i&&(e="-",c("-"));i>="0"&&i<="9";)e+=i,c();if("."===i)for(e+=".";c()&&i>="0"&&i<="9";)e+=i;if("e"===i||"E"===i)for(e+=i,c(),"-"!==i&&"+"!==i||(e+=i,c());i>="0"&&i<="9";)e+=i,c();if(t=+e,isFinite(t))return t;a("Bad number")},u=function(){var t,e,n,r="";if('"'===i)for(;c();){if('"'===i)return c(),r;if("\\"===i)if(c(),"u"===i){for(n=0,e=0;e<4&&(t=parseInt(c(),16),isFinite(t));e+=1)n=16*n+t;r+=String.fromCharCode(n)}else{if("string"!=typeof o[i])break;r+=o[i]}else r+=i}a("Bad string")},g=function(){for(;i&&i<=" ";)c()},l=function(){switch(i){case"t":return c("t"),c("r"),c("u"),c("e"),!0;case"f":return c("f"),c("a"),c("l"),c("s"),c("e"),!1;case"n":return c("n"),c("u"),c("l"),c("l"),null}a("Unexpected '"+i+"'")},M=function(){var t=[];if("["===i){if(c("["),g(),"]"===i)return c("]"),t;for(;i;){if(t.push(A()),g(),"]"===i)return c("]"),t;c(","),g()}}a("Bad array")},h=function(){var t,e={};if("{"===i){if(c("{"),g(),"}"===i)return c("}"),e;for(;i;){if(t=u(),g(),c(":"),Object.hasOwnProperty.call(e,t)&&a('Duplicate key "'+t+'"'),e[t]=A(),g(),"}"===i)return c("}"),e;c(","),g()}}a("Bad object")};A=function(){switch(g(),i){case"{":return h();case"[":return M();case'"':return u();case"-":return s();default:return i>="0"&&i<="9"?s():l()}},t.exports=function(t,e){var o;return r=t,n=0,i=" ",o=A(),g(),i&&a("Syntax error"),"function"==typeof e?function t(n,i){var r,A,o=n[i];if(o&&"object"==typeof o)for(r in o)Object.prototype.hasOwnProperty.call(o,r)&&(A=t(o,r),void 0!==A?o[r]=A:delete o[r]);return e.call(n,i,o)}({"":o},""):o}},function(t,e){function n(t){return a.lastIndex=0,a.test(t)?'"'+t.replace(a,function(t){var e=c[t];return"string"==typeof e?e:"\\u"+("0000"+t.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+t+'"'}function i(t,e){var a,c,s,u,g,l=r,M=e[t];switch(M&&"object"==typeof M&&"function"==typeof M.toJSON&&(M=M.toJSON(t)),"function"==typeof o&&(M=o.call(e,t,M)),typeof M){case"string":return n(M);case"number":return isFinite(M)?String(M):"null";case"boolean":case"null":return String(M);case"object":if(!M)return"null";if(r+=A,g=[],"[object Array]"===Object.prototype.toString.apply(M)){for(u=M.length,a=0;a<u;a+=1)g[a]=i(a,M)||"null";return s=0===g.length?"[]":r?"[\n"+r+g.join(",\n"+r)+"\n"+l+"]":"["+g.join(",")+"]",r=l,s}if(o&&"object"==typeof o)for(u=o.length,a=0;a<u;a+=1)"string"==typeof(c=o[a])&&(s=i(c,M))&&g.push(n(c)+(r?": ":":")+s);else for(c in M)Object.prototype.hasOwnProperty.call(M,c)&&(s=i(c,M))&&g.push(n(c)+(r?": ":":")+s);return s=0===g.length?"{}":r?"{\n"+r+g.join(",\n"+r)+"\n"+l+"}":"{"+g.join(",")+"}",r=l,s}}var r,A,o,a=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,c={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};t.exports=function(t,e,n){var a;if(r="",A="","number"==typeof n)for(a=0;a<n;a+=1)A+=" ";else"string"==typeof n&&(A=n);if(o=e,e&&"function"!=typeof e&&("object"!=typeof e||"number"!=typeof e.length))throw new Error("JSON.stringify");return i("",{"":t})}},function(t,e,n){"use strict";function i(t,e,n){var i=[e].concat([].slice.call(n));console[t].apply(console,i)}n.d(e,"d",function(){return r}),n.d(e,"b",function(){return A}),n.d(e,"e",function(){return o}),n.d(e,"c",function(){return a}),n.d(e,"a",function(){return c});var r=0,A=1,o=2,a=3,c=4;e.f=function(t){var e=t||r;return{level:function(t){return arguments.length?(e=+t,this):e},error:function(){return e>=A&&i("error","ERROR",arguments),this},warn:function(){return e>=o&&i("warn","WARN",arguments),this},info:function(){return e>=a&&i("log","INFO",arguments),this},debug:function(){return e>=c&&i("log","DEBUG",arguments),this}}}},function(t,e,n){"use strict";function i(t){return function(e){return t*Math.exp(e)}}function r(t){return function(e){return Math.log(t*e)}}function A(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function o(t,e,n,i){var r=n(t[0]),A=n(Object(d.a)(t)),o=(A-r)*e;return[i(r-o),i(A-o)]}function a(t,e){return o(t,e,f.a,h.c)}function c(t,e){var n=Math.sign(t[0]);return o(t,e,r(n),i(n))}function s(t,e,n){return o(t,e,A(n),A(1/n))}function u(t,e,n,i,r){var A=i(t[0]),o=i(Object(d.a)(t)),a=null!=e?i(e):(A+o)/2;return[r(a+(A-a)*n),r(a+(o-a)*n)]}function g(t,e,n){return u(t,e,n,f.a,h.c)}function l(t,e,n){var A=Math.sign(t[0]);return u(t,e,n,r(A),i(A))}function M(t,e,n,i){return u(t,e,n,A(i),A(1/i))}e.a=a,e.b=c,e.c=s,e.d=g,e.e=l,e.f=M;var h=n(345),d=n(350),f=n(351)},function(t,e,n){"use strict";var i=n(109),r=n(227),A=n(228),o=n(142),a=n(143);e.a=function(t,e){var n,c,s,u,g,l,M,h,d,f=[],I=(t=Object(r.a)(t)).map(function(t,e){return null==t?null:(f.push(e),Object(A.a)(t)?t:Object(o.a)(t).map(a.a).join("]["))}),E=f.length-1,T=Object(r.a)(e),N="var u,v;return ";if(E<0)return null;for(c=0;c<=E;++c)n=f[c],s=I[n],Object(A.a)(s)?(l="f"+n,u="(u=this."+l+"(a))",g="(v=this."+l+"(b))",(M=M||{})[l]=s):(u="(u=a["+s+"])",g="(v=b["+s+"])"),l="((v=v instanceof Date?+v:v),(u=u instanceof Date?+u:u))","descending"!==T[n]?(d=1,h=-1):(d=-1,h=1),N+="("+u+"<"+g+"||u==null)&&v!=null?"+h+":(u>v||v==null)&&u!=null?"+d+":"+l+"!==u&&v===v?"+h+":v!==v&&u===u?"+d+(n<E?":":":0");return s=Function("a","b",N+";"),M&&(s=s.bind(M)),t=t.reduce(function(t,e){return Object(A.a)(e)?(Object(i.a)(e)||[]).forEach(function(e){t[e]=1}):null!=e&&(t[e+""]=1),t},{}),Object(i.c)(s,Object.keys(t))}},function(t,e,n){"use strict";var i=n(228);e.a=function(t){return Object(i.a)(t)?t:function(){return t}}},function(t,e,n){"use strict";e.a=function(t,e){function n(){e(r),i=r=null}var i,r;return function(e){r=e,i&&clearTimeout(i),i=setTimeout(n,t)}}},function(t,e,n){"use strict";e.a=function(t){for(var e,n,i=1,r=arguments.length;i<r;++i){e=arguments[i];for(n in e)t[n]=e[n]}return t}},function(t,e,n){"use strict";e.a=function(t,e){var n,i,r,A,o,a=-1,c=t.length;if(null==e){for(;++a<c;)if(null!=(i=t[a])&&i>=i){n=r=i;break}for(A=o=a;++a<c;)null!=(i=t[a])&&(n>i&&(n=i,A=a),r<i&&(r=i,o=a))}else{for(;++a<c;)if(null!=(i=e(t[a],a,t))&&i>=i){n=r=i;break}for(A=o=a;++a<c;)null!=(i=e(t[a],a,t))&&(n>i&&(n=i,A=a),r<i&&(r=i,o=a))}return[A,o]}},function(t,e,n){"use strict";var i={};e.a=function(t){function e(t){return A.hasOwnProperty(t)&&A[t]!==i}var n,r,A={};return n={size:0,empty:0,object:A,has:e,get:function(t){return e(t)?A[t]:void 0},set:function(t,r){return e(t)||(++n.size,A[t]===i&&--n.empty),A[t]=r,this},delete:function(t){return e(t)&&(--n.size,++n.empty,A[t]=i),this},clear:function(){n.size=n.empty=0,n.object=A={}},test:function(t){return arguments.length?(r=t,n):r},clean:function(){var t,e,o={},a=0;for(t in A)(e=A[t])===i||r&&r(e)||(o[t]=e,++a);n.size=a,n.empty=0,n.object=A=o}},t&&Object.keys(t).forEach(function(e){n.set(e,t[e])}),n}},function(t,e,n){"use strict";e.a=function(t,e){var n=t.prototype=Object.create(e.prototype);return n.constructor=t,n}},function(t,e,n){"use strict";e.a=function(t){return"boolean"==typeof t}},function(t,e,n){"use strict";e.a=function(t){return"[object RegExp]"===Object.prototype.toString.call(t)}},function(t,e,n){"use strict";var i=n(109),r=n(227),A=n(142),o=n(143);e.a=function(t){t=t?Object(r.a)(t):t;var e=t&&t.length?Function("_","return ''+"+t.map(function(t){return"_["+Object(A.a)(t).map(o.a).join("][")+"]"}).join("+'|'+")+";"):function(){return""};return Object(i.c)(e,t,"key")}},function(t,e,n){"use strict";e.a=function(t,e,n,i){var r=e.length,A=n.length;if(!A)return e;if(!r)return n;for(var o=i||new e.constructor(r+A),a=0,c=0,s=0;a<r&&c<A;++s)o[s]=t(e[a],n[c])>0?n[c++]:e[a++];for(;a<r;++a,++s)o[s]=e[a];for(;c<A;++c,++s)o[s]=n[c];return o}},function(t,e,n){"use strict";var i=n(354);e.a=function(t,e,n,r){var A=n||" ",o=t+"",a=e-o.length;return a<=0?o:"left"===r?Object(i.a)(A,a)+o:"center"===r?Object(i.a)(A,~~(a/2))+o+Object(i.a)(A,Math.ceil(a/2)):o+Object(i.a)(A,a)}},function(t,e,n){"use strict";e.a=function(t){return null==t||""===t?null:!(!t||"false"===t||"0"===t)&&!!t}},function(t,e,n){"use strict";function i(t){return Object(A.a)(t)?t:Object(r.a)(t)?t:Date.parse(t)}var r=n(352),A=n(353);e.a=function(t,e){return e=e||i,null==t||""===t?null:e(t)}},function(t,e,n){"use strict";e.a=function(t){return null==t||""===t?null:t+""}},function(t,e,n){"use strict";e.a=function(t){for(var e={},n=0,i=t.length;n<i;++n)e[t[n]]=1;return e}},function(t,e,n){"use strict";e.a=function(t,e,n,i){var r=null!=i?i:"…",A=t+"",o=A.length,a=Math.max(0,e-r.length);return o<=e?A:"left"===n?r+A.slice(o-a):"center"===n?A.slice(0,Math.ceil(a/2))+r+A.slice(o-~~(a/2)):A.slice(0,a)+r}},function(t,e,n){"use strict";e.a=function(t,e,n){if(t){var i,r=0,A=t.length;if(e)for(;r<A;++r)(i=e(t[r]))&&n(i,r,t);else t.forEach(n)}}},function(t,e,n){"use strict";function i(t){return!!t.type}function r(t){return s.__assign({},t,{encoding:g.reduce(t.encoding,function(t,n,i){return f.indexOf(i)>-1?t[i]=n:h.warn(h.message.incompatibleChannel(i,e.BOXPLOT)),t},{})})}function A(t,e){t=r(t);var n=t.mark,A=(t.encoding,t.selection),a=s.__rest(t,["mark","encoding","selection"]),g=void 0;i(n)&&n.extent&&u.isNumber(n.extent)&&(g=n.extent);var l=o(t),M=c(t,l,g),h=M.transform,f=M.continuousAxisChannelDef,I=M.continuousAxis,E=M.encodingWithoutContinuousAxis,T=(E.color,E.size),N=s.__rest(E,["color","size"]),y=T?{size:T}:d.getMarkSpecificConfigMixins(e.box,"size"),p={};return f.scale&&(p.scale=f.scale),f.axis&&(p.axis=f.axis),s.__assign({},a,{transform:h,layer:[{mark:{type:"rule",style:"boxWhisker"},encoding:s.__assign((C={},C[I]=s.__assign({field:"lowerWhisker",type:f.type},p),C[I+"2"]={field:"lowerBox",type:f.type},C),N,d.getMarkSpecificConfigMixins(e.boxWhisker,"color"))},{mark:{type:"rule",style:"boxWhisker"},encoding:s.__assign((D={},D[I]={field:"upperBox",type:f.type},D[I+"2"]={field:"upperWhisker",type:f.type},D),N,d.getMarkSpecificConfigMixins(e.boxWhisker,"color"))},s.__assign({},A?{selection:A}:{},{mark:{type:"bar",style:"box"},encoding:s.__assign((x={},x[I]={field:"lowerBox",type:f.type},x[I+"2"]={field:"upperBox",type:f.type},x),E,E.color?{}:d.getMarkSpecificConfigMixins(e.box,"color"),y)}),{mark:{type:"tick",style:"boxMid"},encoding:s.__assign((B={},B[I]={field:"midBox",type:f.type},B),N,d.getMarkSpecificConfigMixins(e.boxMid,"color"),y)}]});var C,D,x,B}function o(t){var n=t.mark,r=t.encoding;s.__rest(t,["mark","encoding"]);if(M.isFieldDef(r.x)&&M.isContinuous(r.x)){if(M.isFieldDef(r.y)&&M.isContinuous(r.y)){if(void 0===r.x.aggregate&&r.y.aggregate===e.BOXPLOT)return"vertical";if(void 0===r.y.aggregate&&r.x.aggregate===e.BOXPLOT)return"horizontal";if(r.x.aggregate===e.BOXPLOT&&r.y.aggregate===e.BOXPLOT)throw new Error("Both x and y cannot have aggregate");return i(n)&&n.orient?n.orient:"vertical"}return"horizontal"}if(M.isFieldDef(r.y)&&M.isContinuous(r.y))return"vertical";throw new Error("Need a valid continuous axis for boxplots")}function a(t,n){var i,r,A=(t.mark,t.encoding);s.__rest(t,["mark","encoding"]);if("vertical"===n?(r="y",i=A.y):(r="x",i=A.x),i&&i.aggregate){var o=i.aggregate,a=s.__rest(i,["aggregate"]);o!==e.BOXPLOT&&h.warn("Continuous axis should not have customized aggregation function "+o),i=a}return{continuousAxisChannelDef:i,continuousAxis:r}}function c(t,n,i){var r=a(t,n),A=r.continuousAxisChannelDef,o=r.continuousAxis,c=t.encoding,s=void 0===i,u=[{aggregate:"q1",field:A.field,as:"lowerBox"},{aggregate:"q3",field:A.field,as:"upperBox"},{aggregate:"median",field:A.field,as:"midBox"}],g=[];s?(u.push({aggregate:"min",field:A.field,as:"lowerWhisker"}),u.push({aggregate:"max",field:A.field,as:"upperWhisker"})):g=[{calculate:"datum.upperBox - datum.lowerBox",as:"IQR"},{calculate:"datum.lowerBox - datum.IQR * "+i,as:"lowerWhisker"},{calculate:"datum.upperBox + datum.IQR * "+i,as:"lowerWhisker"}];var h=[],d=[],f=[],I={};return l.forEach(c,function(t,n){if(n!==o)if(M.isFieldDef(t)){if(t.aggregate&&t.aggregate!==e.BOXPLOT)u.push({aggregate:t.aggregate,field:t.field,as:M.field(t)});else if(void 0===t.aggregate){var i=M.field(t),r=t.bin;if(r){var A=t.field;d.push({bin:r,field:A,as:i})}else if(t.timeUnit){var a=t.timeUnit,s=t.field;f.push({timeUnit:a,field:s,as:i})}h.push(i)}I[n]={field:M.field(t),type:t.type}}else I[n]=c[n]}),{transform:[].concat(d,f,[{summarize:u,groupby:h}],g),continuousAxisChannelDef:A,continuousAxis:o,encodingWithoutContinuousAxis:I}}Object.defineProperty(e,"__esModule",{value:!0});var s=n(3),u=n(0),g=n(32),l=n(32),M=n(9),h=n(4),d=n(718);e.BOXPLOT="box-plot",e.isBoxPlotDef=i,e.BOXPLOT_STYLES=["boxWhisker","box","boxMid"],e.VL_ONLY_BOXPLOT_CONFIG_PROPERTY_INDEX={box:["size","color"],boxWhisker:["color"],boxMid:["color"]};var f=["x","y","color","detail","opacity","size"];e.filterUnsupportedChannels=r,e.normalizeBoxPlot=A},function(t,e,n){"use strict";function i(t,e){var n=t[e];return void 0!==n?(i={},i[e]={value:n},i):{};var i}Object.defineProperty(e,"__esModule",{value:!0}),e.getMarkSpecificConfigMixins=i},function(t,e,n){"use strict";function i(t){var e=(t.mark,t.selection,t.encoding),n=r.__rest(t,["mark","selection","encoding"]),i=(e.size,r.__rest(e,["size"])),A=(e.x2,e.y2,r.__rest(e,["x2","y2"])),o=(A.x,A.y,r.__rest(A,["x","y"]));if(!e.x2&&!e.y2)throw new Error("Neither x2 or y2 provided");return r.__assign({},n,{layer:[{mark:"rule",encoding:i},{mark:"tick",encoding:A},{mark:"tick",encoding:e.x2?r.__assign({x:e.x2,y:e.y},o):r.__assign({x:e.x,y:e.y2},o)}]})}Object.defineProperty(e,"__esModule",{value:!0});var r=n(3);e.ERRORBAR="error-bar",e.normalizeErrorBar=i},function(t,e,n){"use strict";function i(t,e){void 0===e&&(e={}),e.logger&&s.set(e.logger),e.fieldTitle&&c.setTitleFormatter(e.fieldTitle);try{var n=a.initConfig(l.mergeDeep({},e.config,t.config)),i=u.normalize(t,n),o=g.normalizeAutoSize(t.autosize,n.autosize,u.isLayerSpec(i)||u.isUnitSpec(i)),h=M.buildModel(i,null,"",void 0,void 0,n,"fit"===o.type);return h.parse(),d.optimizeDataflow(h.component.data),A(h,r(t,n,o))}finally{e.logger&&s.reset(),e.fieldTitle&&c.resetTitleFormatter()}}function r(t,e,n){return o.__assign({autosize:1===l.keys(n).length&&n.type?n.type:n},g.extractTopLevelProperties(e),g.extractTopLevelProperties(t))}function A(t,e){var n=t.config?a.stripAndRedirectConfig(t.config):void 0,i=t.assembleTitle(),r=t.assembleGroupStyle(),A=t.assembleLayoutSignals();return A=A.filter(function(t){return"width"!==t.name&&"height"!==t.name||void 0===t.value||(e[t.name]=+t.value,!1)}),{spec:o.__assign({$schema:"https://vega.github.io/schema/vega/v3.0.json"},t.description?{description:t.description}:{},e,i?{title:i}:{},r?{style:r}:{},{data:[].concat(t.assembleSelectionData([]),h.assembleRootData(t.component.data))},t.assembleGroup(A.concat(t.assembleSelectionTopLevelSignals([]))),n?{config:n}:{})}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(3),a=n(355),c=n(9),s=n(4),u=n(113),g=n(722),l=n(2),M=n(145),h=n(372),d=n(363);e.compile=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.VL_ONLY_GUIDE_CONFIG=["shortTimeLabels"]},function(t,e,n){"use strict";function i(t){return a.isString(t)?{type:t}:t||{}}function r(t,e,n){void 0===n&&(n=!0);var r=o.__assign({type:"pad"},i(e),i(t));return"fit"===r.type&&(n||(c.warn(c.message.FIT_NON_SINGLE),r.type="pad")),r}function A(t){return s.reduce(function(e,n){return t&&void 0!==t[n]&&(e[n]=t[n]),e},{})}Object.defineProperty(e,"__esModule",{value:!0});var o=n(3),a=n(723),c=n(4);e.normalizeAutoSize=r;var s=["background","padding"];e.extractTopLevelProperties=A},function(t,e,n){(function(t,i){function r(t,n){var i={seen:[],stylize:o};return arguments.length>=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),d(n)?i.showHidden=n:n&&e._extend(i,n),y(i.showHidden)&&(i.showHidden=!1),y(i.depth)&&(i.depth=2),y(i.colors)&&(i.colors=!1),y(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=A),c(i,t,i.depth)}function A(t,e){var n=r.styles[e];return n?"["+r.colors[n][0]+"m"+t+"["+r.colors[n][1]+"m":t}function o(t,e){return t}function a(t){var e={};return t.forEach(function(t,n){e[t]=!0}),e}function c(t,n,i){if(t.customInspect&&n&&B(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var r=n.inspect(i,t);return T(r)||(r=c(t,r,i)),r}var A=s(t,n);if(A)return A;var o=Object.keys(n),d=a(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(n)),x(n)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return u(n);if(0===o.length){if(B(n)){var f=n.name?": "+n.name:"";return t.stylize("[Function"+f+"]","special")}if(p(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(D(n))return t.stylize(Date.prototype.toString.call(n),"date");if(x(n))return u(n)}var I="",E=!1,N=["{","}"];if(h(n)&&(E=!0,N=["[","]"]),B(n)){I=" [Function"+(n.name?": "+n.name:"")+"]"}if(p(n)&&(I=" "+RegExp.prototype.toString.call(n)),D(n)&&(I=" "+Date.prototype.toUTCString.call(n)),x(n)&&(I=" "+u(n)),0===o.length&&(!E||0==n.length))return N[0]+I+N[1];if(i<0)return p(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special");t.seen.push(n);var y;return y=E?g(t,n,i,d,o):o.map(function(e){return l(t,n,i,d,e,E)}),t.seen.pop(),M(y,I,N)}function s(t,e){if(y(e))return t.stylize("undefined","undefined");if(T(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}return E(e)?t.stylize(""+e,"number"):d(e)?t.stylize(""+e,"boolean"):f(e)?t.stylize("null","null"):void 0}function u(t){return"["+Error.prototype.toString.call(t)+"]"}function g(t,e,n,i,r){for(var A=[],o=0,a=e.length;o<a;++o)j(e,String(o))?A.push(l(t,e,n,i,String(o),!0)):A.push("");return r.forEach(function(r){r.match(/^\d+$/)||A.push(l(t,e,n,i,r,!0))}),A}function l(t,e,n,i,r,A){var o,a,s;if(s=Object.getOwnPropertyDescriptor(e,r)||{value:e[r]},s.get?a=s.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):s.set&&(a=t.stylize("[Setter]","special")),j(i,r)||(o="["+r+"]"),a||(t.seen.indexOf(s.value)<0?(a=f(n)?c(t,s.value,null):c(t,s.value,n-1),a.indexOf("\n")>-1&&(a=A?a.split("\n").map(function(t){return" "+t}).join("\n").substr(2):"\n"+a.split("\n").map(function(t){return" "+t}).join("\n"))):a=t.stylize("[Circular]","special")),y(o)){if(A&&r.match(/^\d+$/))return a;o=JSON.stringify(""+r),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+a}function M(t,e,n){var i=0;return t.reduce(function(t,e){return i++,e.indexOf("\n")>=0&&i++,t+e.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1]:n[0]+e+" "+t.join(", ")+" "+n[1]}function h(t){return Array.isArray(t)}function d(t){return"boolean"==typeof t}function f(t){return null===t}function I(t){return null==t}function E(t){return"number"==typeof t}function T(t){return"string"==typeof t}function N(t){return"symbol"==typeof t}function y(t){return void 0===t}function p(t){return C(t)&&"[object RegExp]"===m(t)}function C(t){return"object"==typeof t&&null!==t}function D(t){return C(t)&&"[object Date]"===m(t)}function x(t){return C(t)&&("[object Error]"===m(t)||t instanceof Error)}function B(t){return"function"==typeof t}function w(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t}function m(t){return Object.prototype.toString.call(t)}function Q(t){return t<10?"0"+t.toString(10):t.toString(10)}function v(){var t=new Date,e=[Q(t.getHours()),Q(t.getMinutes()),Q(t.getSeconds())].join(":");return[t.getDate(),b[t.getMonth()],e].join(" ")}function j(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var L=/%[sdj%]/g;e.format=function(t){if(!T(t)){for(var e=[],n=0;n<arguments.length;n++)e.push(r(arguments[n]));return e.join(" ")}for(var n=1,i=arguments,A=i.length,o=String(t).replace(L,function(t){if("%%"===t)return"%";if(n>=A)return t;switch(t){case"%s":return String(i[n++]);case"%d":return Number(i[n++]);case"%j":try{return JSON.stringify(i[n++])}catch(t){return"[Circular]"}default:return t}}),a=i[n];n<A;a=i[++n])f(a)||!C(a)?o+=" "+a:o+=" "+r(a);return o},e.deprecate=function(n,r){function A(){if(!o){if(i.throwDeprecation)throw new Error(r);i.traceDeprecation?console.trace(r):console.error(r),o=!0}return n.apply(this,arguments)}if(y(t.process))return function(){return e.deprecate(n,r).apply(this,arguments)};if(!0===i.noDeprecation)return n;var o=!1;return A};var S,Y={};e.debuglog=function(t){if(y(S)&&(S=i.env.NODE_DEBUG||""),t=t.toUpperCase(),!Y[t])if(new RegExp("\\b"+t+"\\b","i").test(S)){var n=i.pid;Y[t]=function(){var i=e.format.apply(e,arguments);console.error("%s %d: %s",t,n,i)}}else Y[t]=function(){};return Y[t]},e.inspect=r,r.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},r.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=h,e.isBoolean=d,e.isNull=f,e.isNullOrUndefined=I,e.isNumber=E,e.isString=T,e.isSymbol=N,e.isUndefined=y,e.isRegExp=p,e.isObject=C,e.isDate=D,e.isError=x,e.isFunction=B,e.isPrimitive=w,e.isBuffer=n(725);var b=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];e.log=function(){console.log("%s - %s",v(),e.format.apply(e,arguments))},e.inherits=n(726),e._extend=function(t,e){if(!e||!C(e))return t;for(var n=Object.keys(e),i=n.length;i--;)t[n[i]]=e[n[i]];return t}}).call(e,n(106),n(724))},function(t,e){function n(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function r(t){if(u===setTimeout)return setTimeout(t,0);if((u===n||!u)&&setTimeout)return u=setTimeout,setTimeout(t,0);try{return u(t,0)}catch(e){try{return u.call(null,t,0)}catch(e){return u.call(this,t,0)}}}function A(t){if(g===clearTimeout)return clearTimeout(t);if((g===i||!g)&&clearTimeout)return g=clearTimeout,clearTimeout(t);try{return g(t)}catch(e){try{return g.call(null,t)}catch(e){return g.call(this,t)}}}function o(){d&&M&&(d=!1,M.length?h=M.concat(h):f=-1,h.length&&a())}function a(){if(!d){var t=r(o);d=!0;for(var e=h.length;e;){for(M=h,h=[];++f<e;)M&&M[f].run();f=-1,e=h.length}M=null,d=!1,A(t)}}function c(t,e){this.fun=t,this.array=e}function s(){}var u,g,l=t.exports={};!function(){try{u="function"==typeof setTimeout?setTimeout:n}catch(t){u=n}try{g="function"==typeof clearTimeout?clearTimeout:i}catch(t){g=i}}();var M,h=[],d=!1,f=-1;l.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];h.push(new c(t,e)),1!==h.length||d||r(a)},c.prototype.run=function(){this.fun.apply(null,this.array)},l.title="browser",l.browser=!0,l.env={},l.argv=[],l.version="",l.versions={},l.on=s,l.addListener=s,l.once=s,l.off=s,l.removeListener=s,l.removeAllListeners=s,l.emit=s,l.prependListener=s,l.prependOnceListener=s,l.listeners=function(t){return[]},l.binding=function(t){throw new Error("process.binding is not supported")},l.cwd=function(){return"/"},l.chdir=function(t){throw new Error("process.chdir is not supported")},l.umask=function(){return 0}},function(t,e){t.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},function(t,e){"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(4),A=n(113),o=n(357),a=n(145),c=n(115),s=function(t){function e(e,n,i,o,c){var s=t.call(this,e,n,i,c,e.resolve)||this;return s.type="concat",e.resolve&&e.resolve.axis&&("shared"===e.resolve.axis.x||"shared"===e.resolve.axis.y)&&r.warn(r.message.CONCAT_CANNOT_SHARE_AXIS),s.isVConcat=A.isVConcatSpec(e),s.children=(A.isVConcatSpec(e)?e.vconcat:e.hconcat).map(function(t,e){return a.buildModel(t,s,s.getName("concat_"+e),void 0,o,c,!1)}),s}return i.__extends(e,t),e.prototype.parseLayoutSize=function(){c.parseConcatLayoutSize(this)},e.prototype.parseAxisGroup=function(){return null},e.prototype.assembleLayout=function(){return i.__assign({padding:{row:10,column:10},offset:10},this.isVConcat?{columns:1}:{},{bounds:"full",align:"each"})},e}(o.BaseConcatModel);e.ConcatModel=s},function(t,e,n){"use strict";function i(t){return g.hasOwnProperty(t)}function r(t,e,n,i,r){for(var A,o=0,a=t.length;e<a;++e){if(A=t[e],!o&&A===n)return e;r&&r.indexOf(A)>=0?--o:i&&i.indexOf(A)>=0&&++o}return e}function A(t){for(var e=[],n=0,i=t.length,A=0;A<i;)A=r(t,A,E,M+d,h+f),e.push(t.substring(n,A).trim()),n=++A;if(0===e.length)throw"Empty event selector: "+t;return e}function o(t){return"["===t[0]?a(t):c(t)}function a(t){var e,n,i=t.length,a=1;if((a=r(t,a,h,M,h))===i)throw"Empty between selector: "+t;if(e=A(t.substring(1,a)),2!==e.length)throw"Between selector must have two elements: "+t;if(t=t.slice(a+1).trim(),t[0]!==N)throw"Expected '>' after between selector: "+t;return e=e.map(o),n=o(t.slice(1).trim()),n.between?{between:e,stream:n}:(n.between=e,n)}function c(t){var e,n,A={source:u},o=[],a=[0,0],c=0,g=0,l=t.length,E=0;if(t[l-1]===f){if(!((E=t.lastIndexOf(d))>=0))throw"Unmatched right brace: "+t;try{a=s(t.substring(E+1,l-1))}catch(e){throw"Invalid throttle specification: "+t}t=t.slice(0,E).trim(),l=t.length,E=0}if(!l)throw t;if(t[0]===T&&(c=++E),e=r(t,E,I),e<l&&(o.push(t.substring(g,e).trim()),g=E=++e),(E=r(t,E,M))===l)o.push(t.substring(g,l).trim());else if(o.push(t.substring(g,E).trim()),n=[],(g=++E)===l)throw"Unmatched left bracket: "+t;for(;E<l;){if((E=r(t,E,h))===l)throw"Unmatched left bracket: "+t;if(n.push(t.substring(g,E).trim()),E<l-1&&t[++E]!==M)throw"Expected left bracket: "+t;g=++E}if(!(l=o.length)||y.test(o[l-1]))throw"Invalid event selector: "+t;return l>1?(A.type=o[1],c?A.markname=o[0].slice(1):i(o[0])?A.marktype=o[0]:A.source=o[0]):A.type=o[0],"!"===A.type.slice(-1)&&(A.consume=!0,A.type=A.type.slice(0,-1)),null!=n&&(A.filter=n),a[0]&&(A.throttle=a[0]),a[1]&&(A.debounce=a[1]),A}function s(t){var e=t.split(E);if(!t.length||e.length>2)throw t;return e.map(function(e){var n=+e;if(n!==n)throw t;return n})}e.a=function(t,e,n){return u=e||l,g=n||p,A(t.trim()).map(o)};var u,g,l="view",M="[",h="]",d="{",f="}",I=":",E=",",T="@",N=">",y=/[[\]{}]/,p={"*":1,arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1}},function(t,e,n){"use strict";function i(t){return function(e,n){return n[t]&&e.push(n[t].combine()),e}}function r(t){return[].concat(t.x?[].concat(t.x.reduce(A,[]),t.x.reduce(o,[])):[],t.y?[].concat(t.y.reduce(A,[]),t.y.reduce(o,[])):[])}Object.defineProperty(e,"__esModule",{value:!0});var A=i("main"),o=i("grid");e.assembleAxes=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(39),A=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Split);e.LegendComponent=A},function(t,e,n){"use strict";function i(t,e,n,i,r){if("gradient"!==r){var A={},g=n.mark();switch(g){case u.BAR:case u.TICK:case u.TEXT:A.shape={value:"square"};break;case u.CIRCLE:case u.SQUARE:A.shape={value:g};break;case u.POINT:case u.LINE:case u.AREA:}var d=n.markDef.filled,f=i===c.COLOR?l.without(u.FILL_STROKE_CONFIG,[d?"fill":"stroke","strokeDash","strokeDashOffset"]):u.FILL_STROKE_CONFIG;if(f=l.without(f,["strokeDash","strokeDashOffset"]),M.applyMarkConfig(A,n,f),i!==c.COLOR){var I=h.color(n);I.fill&&(I.fill.field||"transparent"===I.fill.value)&&delete I.fill,I.stroke&&(I.stroke.field||"transparent"===I.stroke.value)&&delete I.stroke,A=a.__assign({},A,I)}if(i!==c.SHAPE){var E=n.encoding.shape;s.isValueDef(E)&&(A.shape={value:E.value})}if(i!==c.OPACITY){var T=o(n.encoding.opacity);T&&(A.opacity={value:T})}return A=a.__assign({},A,e),l.keys(A).length>0?A:void 0}}function r(t,e,n,i,r){var A={};if("gradient"===r){var c=o(n.encoding.opacity);c&&(A.opacity={value:c})}return A=a.__assign({},A,e),l.keys(A).length>0?A:void 0}function A(t,e,n,i,r){var A=n.legend(i),o=n.config,c={};if(s.isTimeFieldDef(t)){var u=n.getScaleComponent(i).get("type")===g.ScaleType.UTC;e=a.__assign({text:{signal:M.timeFormatExpression("datum.value",t.timeUnit,A.format,o.legend.shortTimeLabels,o.timeFormat,u)}},e)}return c=a.__assign({},c,e),l.keys(c).length>0?c:void 0}function o(t){if(s.isValueDef(t))return s.hasConditionValueDef(t)?Math.max(t.condition.value,t.value):t.value}Object.defineProperty(e,"__esModule",{value:!0});var a=n(3),c=n(7),s=n(9),u=n(31),g=n(11),l=n(2),M=n(23),h=n(50);e.symbols=i,e.gradient=r,e.labels=A},function(t,e,n){"use strict";function i(t){var e=t.values;return e&&o.isDateTime(e[0])?e.map(function(t){return{signal:o.dateTimeExpr(t,!0)}}):e}function r(t,e,n){if(e===A.COLOR&&("quantitative"===t&&!a.isBinScale(n)||"temporal"===t&&c.contains(["time","utc"],n)))return"gradient"}Object.defineProperty(e,"__esModule",{value:!0});var A=n(7),o=n(66),a=n(11),c=n(2);e.values=i,e.type=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(50);e.area={vgMark:"area",encodeEntry:function(t){return i.__assign({},r.pointPosition("x",t,"zeroOrMin"),r.pointPosition("y",t,"zeroOrMin"),r.pointPosition2(t,"zeroOrMin"),r.color(t),r.text(t,"tooltip"),r.nonPosition("opacity",t),r.markDefProperties(t.markDef,["orient","interpolate","tension"]))}}},function(t,e,n){"use strict";function i(t,e){var n=t.config,i=t.width,r=t.markDef.orient,a=t.encoding.size,u=t.encoding.x,l=t.scaleName(c.X),d=t.getScaleComponent(c.X);if("horizontal"===r)return o.__assign({},M.pointPosition("x",t,"zeroOrMin"),M.pointPosition2(t,"zeroOrMin"));if(s.isFieldDef(u)){var f=d.get("type");if(u.bin&&!a&&!g.hasDiscreteDomain(f))return M.binnedPosition(u,"x",t.scaleName("x"),n.bar.binSpacing,d.get("reverse"));if(f===g.ScaleType.BAND)return M.bandPosition(u,"x",t)}return M.centeredBandPosition("x",t,o.__assign({},h.mid(i)),A(l,d,n))}function r(t,e){var n=t.config,i=t.encoding,r=t.height,a=t.markDef.orient,u=i.size,l=i.y,d=t.scaleName(c.Y),f=t.getScaleComponent(c.Y);if("vertical"===a)return o.__assign({},M.pointPosition("y",t,"zeroOrMin"),M.pointPosition2(t,"zeroOrMin"));if(s.isFieldDef(l)){var I=f.get("type");if(l.bin&&!u&&!g.hasDiscreteDomain(I))return M.binnedPosition(l,"y",t.scaleName("y"),n.bar.binSpacing,f.get("reverse"));if(I===g.ScaleType.BAND)return M.bandPosition(l,"y",t)}return M.centeredBandPosition("y",t,h.mid(r),A(d,f,n))}function A(t,e,n){if(n.bar.discreteBandSize)return{value:n.bar.discreteBandSize};if(e){var i=e.get("type");if(i!==g.ScaleType.POINT)return i===g.ScaleType.BAND?h.band(t):{value:n.bar.continuousBandSize};var r=e.get("range");if(l.isVgRangeStep(r)&&a.isNumber(r.step))return{value:r.step-1};u.warn(u.message.BAR_WITH_POINT_SCALE_AND_RANGESTEP_NULL)}return n.scale.rangeStep&&null!==n.scale.rangeStep?{value:n.scale.rangeStep-1}:{value:20}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(3),a=n(0),c=n(7),s=n(9),u=n(4),g=n(11),l=n(38),M=n(50),h=n(68);e.bar={vgMark:"rect",encodeEntry:function(t){var e=t.stack;return o.__assign({},i(t,e),r(t,e),M.color(t),M.text(t,"tooltip"),M.nonPosition("opacity",t))}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(50),A=n(68);e.line={vgMark:"line",encodeEntry:function(t){var e=t.width,n=t.height;return i.__assign({},r.pointPosition("x",t,A.mid(e)),r.pointPosition("y",t,A.mid(n)),r.color(t),r.text(t,"tooltip"),r.nonPosition("opacity",t),r.nonPosition("size",t,{vgChannel:"strokeWidth"}),r.markDefProperties(t.markDef,["interpolate","tension"]))}}},function(t,e,n){"use strict";function i(t,e){var n=t.config,i=t.width,o=t.height;return A.__assign({},a.pointPosition("x",t,c.mid(i)),a.pointPosition("y",t,c.mid(o)),a.color(t),a.text(t,"tooltip"),a.nonPosition("size",t),r(t,n,e),a.nonPosition("opacity",t))}function r(t,e,n){return n?{shape:{value:n}}:a.nonPosition("shape",t,{defaultValue:o.getMarkConfig("shape",t.markDef,e)})}Object.defineProperty(e,"__esModule",{value:!0});var A=n(3),o=n(23),a=n(50),c=n(68);e.shapeMixins=r,e.point={vgMark:"symbol",encodeEntry:function(t){return i(t)}},e.circle={vgMark:"symbol",encodeEntry:function(t){return i(t,"circle")}},e.square={vgMark:"symbol",encodeEntry:function(t){return i(t,"square")}}},function(t,e,n){"use strict";function i(t){var e=t.encoding.x,n=t.encoding.x2,i=t.getScaleComponent(o.X),r=i?i.get("type"):void 0;if(a.isFieldDef(e)&&e.bin&&!n)return g.binnedPosition(e,"x",t.scaleName("x"),0,i.get("reverse"));if(a.isFieldDef(e)&&i&&u.hasDiscreteDomain(r)){if(r===u.ScaleType.BAND)return g.bandPosition(e,"x",t);throw new Error(c.message.scaleTypeNotWorkWithMark(s.RECT,r))}return A.__assign({},g.pointPosition("x",t,"zeroOrMax"),g.pointPosition2(t,"zeroOrMin","x2"))}function r(t){var e=t.encoding.y,n=t.encoding.y2,i=t.getScaleComponent(o.Y),r=i?i.get("type"):void 0;if(a.isFieldDef(e)&&e.bin&&!n)return g.binnedPosition(e,"y",t.scaleName("y"),0,i.get("reverse"));if(a.isFieldDef(e)&&i&&u.hasDiscreteDomain(r)){if(r===u.ScaleType.BAND)return g.bandPosition(e,"y",t);throw new Error(c.message.scaleTypeNotWorkWithMark(s.RECT,r))}return A.__assign({},g.pointPosition("y",t,"zeroOrMax"),g.pointPosition2(t,"zeroOrMin","y2"))}Object.defineProperty(e,"__esModule",{value:!0});var A=n(3),o=n(7),a=n(9),c=n(4),s=n(31),u=n(11),g=n(50);e.rect={vgMark:"rect",encodeEntry:function(t){return A.__assign({},i(t),r(t),g.color(t),g.text(t,"tooltip"),g.nonPosition("opacity",t))}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(50),A=n(68);e.rule={vgMark:"rule",encodeEntry:function(t){var e=(t.config,t.markDef),n=t.width,o=t.height,a=e.orient;return t.encoding.x||t.encoding.y?i.__assign({},r.pointPosition("x",t,"horizontal"===a?"zeroOrMin":A.mid(n)),r.pointPosition("y",t,"vertical"===a?"zeroOrMin":A.mid(o)),r.pointPosition2(t,"zeroOrMax"),r.color(t),r.text(t,"tooltip"),r.nonPosition("opacity",t),r.nonPosition("size",t,{vgChannel:"strokeWidth"})):{}}}},function(t,e,n){"use strict";function i(t,e){return c.isFieldDef(e)&&e.type===s.QUANTITATIVE?{field:{group:"width"},offset:-5}:{value:t.scale.textXRangeStep/2}}function r(t,e,n){if(void 0===u.getMarkConfig("align",t,n))return a.channelHasField(e,o.X)?"center":"right"}Object.defineProperty(e,"__esModule",{value:!0});var A=n(3),o=n(7),a=n(32),c=n(9),s=n(49),u=n(23),g=n(50),l=n(68);e.text={vgMark:"text",encodeEntry:function(t){var e=t.config,n=t.encoding,o=t.height,a=n.text;return A.__assign({},g.pointPosition("x",t,i(e,a)),g.pointPosition("y",t,l.mid(o)),g.text(t),g.color(t),g.text(t,"tooltip"),g.nonPosition("opacity",t),g.nonPosition("size",t,{vgChannel:"fontSize"}),g.valueIfDefined("align",r(t.markDef,n,e)))}}},function(t,e,n){"use strict";function i(t){var e=t.config,n=t.markDef.orient,i=t.getScaleComponent("horizontal"===n?"x":"y");if(void 0!==e.tick.bandSize)return e.tick.bandSize;var r=i?i.get("range"):void 0,o=r&&A.isVgRangeStep(r)?r.step:e.scale.rangeStep;if("number"!=typeof o)throw new Error("Function does not handle non-numeric rangeStep");return o/1.5}Object.defineProperty(e,"__esModule",{value:!0});var r=n(3),A=n(38),o=n(50),a=n(68);e.tick={vgMark:"rect",encodeEntry:function(t){var e=t.config,n=t.markDef,A=t.width,c=t.height,s=n.orient,u="horizontal"===s?"width":"height",g="horizontal"===s?"height":"width";return r.__assign({},o.pointPosition("x",t,a.mid(A),"xc"),o.pointPosition("y",t,a.mid(c),"yc"),o.nonPosition("size",t,{defaultValue:i(t),vgChannel:u}),(l={},l[g]={value:e.tick.thickness},l),o.color(t),o.nonPosition("opacity",t));var l}}},function(t,e,n){"use strict";function i(t){return u.isLayerModel(t)||u.isConcatModel(t)||u.isRepeatModel(t)?t.children.reduce(function(t,e){return t.concat(i(e))},r(t)):r(t)}function r(t){return c.keys(t.component.scales).reduce(function(e,n){var i=t.component.scales[n];if(i.merged)return e;var r=i.combine(),a=r.domainRaw,c=r.range,s=r.name,u=r.type,M=(r.domainRaw,r.range,o.__rest(r,["name","type","domainRaw","range"]));return c=A(c,s,t,n),a&&g.isRawSelectionDomain(a)&&(a=g.selectionScaleDomain(t,a)),e.push(o.__assign({name:s,type:u,domain:l.assembleDomain(t,n)},a?{domainRaw:a}:{},{range:c},M)),e},[])}function A(t,e,n,i){if("x"===i||"y"===i){if(s.isVgRangeStep(t))return{step:{signal:e+"_step"}};if(a.isArray(t)&&2===t.length){var r=t[0],A=t[1];if(0===r&&s.isVgSignalRef(A))return[0,{signal:n.getSizeName(A.signal)}];if(s.isVgSignalRef(r)&&0===A)return[{signal:n.getSizeName(r.signal)},0]}}return t}Object.defineProperty(e,"__esModule",{value:!0});var o=n(3),a=n(0),c=n(2),s=n(38),u=n(18),g=n(21),l=n(114);e.assembleScales=i,e.assembleScalesForModel=r,e.assembleScaleRange=A},function(t,e,n){"use strict";function i(t){function e(n){if(!(n instanceof g.SourceNode)){var i=n.parent;t(n)&&e(i)}}return e}function r(t){var e=t.parent;if(t instanceof u.ParseNode){if(e instanceof g.SourceNode)return!1;if(e.numChildren()>1)return!0;if(e instanceof u.ParseNode)e.merge(t);else{if(c.hasIntersection(e.producedFields(),t.dependentFields()))return!0;t.swapWithParent()}}return!0}function A(t){return!(t instanceof s.OutputNode||t.numChildren()>0)&&(t.remove(),!0)}function o(t){var e={};return i(function(t){if(t instanceof l.TimeUnitNode){var n=t.producedFields();c.keys(n).every(function(t){return!!e[t]})?t.remove():e=a.__assign({},e,n)}return!0})(t)}Object.defineProperty(e,"__esModule",{value:!0});var a=n(3),c=n(2),s=n(22),u=n(236),g=n(153),l=n(154);e.iterateFromLeaves=i,e.moveParseUp=r,e.removeUnusedSubtrees=A,e.removeDuplicateTimeUnits=o},function(t,e,n){"use strict";function i(t){r(t),d.parseScaleDomain(t);for(var e=0,n=s.NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES;e<n.length;e++){var i=n[e];f.parseScaleProperty(t,i)}I.parseScaleRange(t)}function r(t){g.isUnitModel(t)?t.component.scales=A(t):t.component.scales=o(t)}function A(t){var e=t.encoding,n=t.config,i=t.mark();return a.SCALE_CHANNELS.reduce(function(r,A){var o,a={},s=e[A];if(c.isFieldDef(s)?(o=s,a=s.scale||{}):c.isConditionalDef(s)&&c.isFieldDef(s.condition)?(o=s.condition,a=s.condition.scale||{}):"x"===A?o=c.getFieldDef(e.x2):"y"===A&&(o=c.getFieldDef(e.y2)),o){var u=a.type,g=E.scaleType(a.type,A,o,i,n.scale);r[A]=new h.ScaleComponent(t.scaleName(A+"",!0),{value:g,explicit:u===g})}return r},{})}function o(t){for(var e=t.component.scales={},n={},i=t.component.resolve,A=0,o=t.children;A<o.length;A++){var a=o[A];!function(e){r(e),u.keys(e.component.scales).forEach(function(r){if(i.scale[r]=i.scale[r]||l.defaultScaleResolve(r,t),"shared"===i.scale[r]){var A=n[r],o=e.component.scales[r].getWithExplicit("type");A?s.scaleCompatible(A.value,o.value)?n[r]=M.mergeValuesWithExplicit(A,o,"type","scale",T):(i.scale[r]="independent",delete n[r]):n[r]=o}})}(a)}return u.keys(n).forEach(function(i){var r=t.scaleName(i,!0),A=n[i];e[i]=new h.ScaleComponent(r,A);for(var o=0,a=t.children;o<a.length;o++){var c=a[o],s=c.component.scales[i];s&&(c.renameScale(s.get("name"),r),s.merged=!0)}}),e}Object.defineProperty(e,"__esModule",{value:!0});var a=n(7),c=n(9),s=n(11),u=n(2),g=n(18),l=n(151),M=n(39),h=n(744),d=n(114),f=n(364),I=n(365),E=n(745);e.parseScale=i,e.parseScaleCore=r;var T=M.tieBreakByComparing(function(t,e){return s.scaleTypePrecedence(t)-s.scaleTypePrecedence(e)})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(39),A=function(t){function e(e,n){var i=t.call(this,{},{name:e})||this;return i.merged=!1,i.domains=[],i.setWithExplicit("type",n),i}return i.__extends(e,t),e}(r.Split);e.ScaleComponent=A},function(t,e,n){"use strict";function i(t,e,n,i,s){var u=r(e,n,i,s);return o.isScaleChannel(e)?void 0!==t?c.channelSupportScaleType(e,t)?A(t,n)?t:(a.warn(a.message.scaleTypeNotWorkWithFieldDef(t,u)),u):(a.warn(a.message.scaleTypeNotWorkWithChannel(e,t,u)),u):u:null}function r(t,e,n,i){switch(e.type){case"nominal":case"ordinal":if("color"===t||"discrete"===o.rangeType(t))return"shape"===t&&"ordinal"===e.type&&a.warn(a.message.discreteChannelCannotEncode(t,"ordinal")),"ordinal";if(g.contains(["x","y"],t)){if("rect"===n)return"band";if("bar"===n)return"band"}return"point";case"temporal":return"color"===t?"sequential":"discrete"===o.rangeType(t)?(a.warn(a.message.discreteChannelCannotEncode(t,"temporal")),"ordinal"):"time";case"quantitative":return"color"===t?e.bin?"bin-ordinal":"sequential":"discrete"===o.rangeType(t)?(a.warn(a.message.discreteChannelCannotEncode(t,"quantitative")),"ordinal"):e.bin&&"x"!==t&&"y"!==t?"bin-linear":"linear"}throw new Error(a.message.invalidFieldType(e.type))}function A(t,e){var n=e.type;return l.contains([u.Type.ORDINAL,u.Type.NOMINAL],n)?void 0===t||s.hasDiscreteDomain(t):n===u.Type.TEMPORAL?l.contains([c.ScaleType.TIME,c.ScaleType.UTC,c.ScaleType.SEQUENTIAL,void 0],t):n!==u.Type.QUANTITATIVE||(e.bin?l.contains([c.ScaleType.BIN_LINEAR,c.ScaleType.BIN_ORDINAL,c.ScaleType.LINEAR],t):l.contains([c.ScaleType.LOG,c.ScaleType.POW,c.ScaleType.SQRT,c.ScaleType.QUANTILE,c.ScaleType.QUANTIZE,c.ScaleType.LINEAR,c.ScaleType.SEQUENTIAL,void 0],t))}Object.defineProperty(e,"__esModule",{value:!0});var o=n(7),a=n(4),c=n(11),s=n(11),u=n(49),g=n(2),l=n(2);e.scaleType=i,e.fieldDefMatchScaleType=A},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=n(366),A=n(21),o={predicate:"vlSingle",scaleDomain:"vlSingleDomain",signals:r.default.signals,topLevelSignals:function(t,e,n){var r=n.filter(function(t){return t.name===e.name}),o="data("+i.stringValue(e.name+A.STORE)+")",a=o+"[0].values";return r.length?n:n.concat({name:e.name,update:o+".length && {"+e.project.map(function(t,e){return t.field+": "+a+"["+e+"]"}).join(", ")+"}"})},modifyExpr:function(t,e){return e.name+A.TUPLE+", "+("global"===e.resolve?"true":"{unit: "+A.unitName(t)+"}")}};e.default=o},function(t,e,n){"use strict";function i(t,e){for(var n in g)g[n].has(t)&&e(g[n])}Object.defineProperty(e,"__esModule",{value:!0});var r=n(748),A=n(239),o=n(749),a=n(155),c=n(750),s=n(751),u=n(752),g={project:o.default,toggle:c.default,scales:a.default,translate:s.default,zoom:u.default,inputs:r.default,nearest:A.default};e.forEachTransform=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=n(21),A=n(239),o={has:function(t){return"single"===t.type&&"global"===t.resolve&&t.bind&&"scales"!==t.bind},topLevelSignals:function(t,e,n){var r=e.name,o=e.project,a=e.bind,c=A.default.has(e)?"(item().isVoronoi ? datum.datum : datum)":"datum";return o.forEach(function(t){var A=i.varName(r+"_"+t.field);n.filter(function(t){return t.name===A}).length||n.unshift({name:A,value:"",on:[{events:e.events,update:"datum && item().mark.marktype !== 'group' ? "+c+"["+i.stringValue(t.field)+"] : null"}],bind:a[t.field]||a[t.channel]||a})}),n},signals:function(t,e,n){var A=e.name,o=e.project,a=n.filter(function(t){return t.name===A+r.TUPLE})[0],c=o.map(function(t){return i.stringValue(t.field)}).join(", "),s=o.map(function(t){return i.varName(A+"_"+t.field)});return a.update=s.join(" && ")+" ? {fields: ["+c+"], values: ["+s.join(", ")+"]} : null",delete a.value,delete a.on,n}};e.default=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(4),r=n(2),A=n(154),o={has:function(t){return void 0!==t.fields||void 0!==t.encodings},parse:function(t,e,n){var o={},a={};(e.fields||[]).forEach(function(t){return o[t]=null}),(e.encodings||[]).forEach(function(e){var n=t.fieldDef(e);if(n)if(n.timeUnit){var r=t.field(e);o[r]=e,a[r]={as:r,field:n.field,timeUnit:n.timeUnit}}else o[n.field]=e;else i.warn(i.message.cannotProjectOnChannelWithoutField(e))});var c=n.project||(n.project=[]);for(var s in o)o.hasOwnProperty(s)&&c.push({field:s,channel:o[s]});var u=n.fields||(n.fields={});c.filter(function(t){return t.channel}).forEach(function(t){return u[t.channel]=t.field}),r.keys(a).length&&(n.timeUnit=new A.TimeUnitNode(a))}};e.default=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(21),r={has:function(t){return"multi"===t.type&&t.toggle},signals:function(t,e,n){return n.concat({name:e.name+"_toggle",value:!1,on:[{events:e.events,update:e.toggle}]})},modifyExpr:function(t,e,n){var r=e.name+i.TUPLE,A=e.name+"_toggle";return A+" ? null : "+r+", "+("global"===e.resolve?A+" ? null : true, ":A+" ? null : {unit: "+i.unitName(t)+"}, ")+A+" ? "+r+" : null"}};e.default=r},function(t,e,n){"use strict";function i(t,e,n,i,r){var o=e.name,g=c.default.has(e),l=r.filter(function(t){return t.name===a.channelSignalName(e,n,g?"data":"visual")})[0],M=o+s,h=o+u,d=t.getSizeSignalRef(i).signal,f=t.getScaleComponent(n),I=f.get("type"),E=g&&n===A.X?"-":"",T=M+".extent_"+n,N=""+E+h+"."+n+" / "+(g?""+d:"span("+T+")"),y=g?"log"===I?"panLog":"pow"===I?"panPow":"panLinear":"panLinear",p=y+"("+T+", "+N+(g&&"pow"===I?", "+(f.get("exponent")||1):"")+")";l.on.push({events:{signal:h},update:g?p:"clampRange("+p+", 0, "+d+")"})}Object.defineProperty(e,"__esModule",{value:!0});var r=n(148),A=n(7),o=n(238),a=n(21),c=n(155),s="_translate_anchor",u="_translate_delta",g={has:function(t){return"interval"===t.type&&t.translate},signals:function(t,e,n){var g=e.name,l=c.default.has(e),M=g+s,h=a.positionalProjections(e),d=h.x,f=h.y,I=r.selector(e.translate,"scope");return l||(I=I.map(function(t){return t.between[0].markname=g+o.BRUSH,t})),n.push({name:M,value:{},on:[{events:I.map(function(t){return t.between[0]}),update:"{x: x(unit), y: y(unit)"+(null!==d?", extent_x: "+(l?c.domain(t,A.X):"slice("+a.channelSignalName(e,"x","visual")+")"):"")+(null!==f?", extent_y: "+(l?c.domain(t,A.Y):"slice("+a.channelSignalName(e,"y","visual")+")"):"")+"}"}]},{name:g+u,value:{},on:[{events:I,update:"{x: "+M+".x - x(unit), y: "+M+".y - y(unit)}"}]}),null!==d&&i(t,e,A.X,"width",n),null!==f&&i(t,e,A.Y,"height",n),n}};e.default=g},function(t,e,n){"use strict";function i(t,e,n,i,r){var A=e.name,o=s.default.has(e),a=r.filter(function(t){return t.name===c.channelSignalName(e,n,o?"data":"visual")})[0],l=t.getSizeSignalRef(i).signal,M=t.getScaleComponent(n),h=M.get("type"),d=o?s.domain(t,n):a.name,f=A+g,I=""+A+u+"."+n,E=o?"log"===h?"zoomLog":"pow"===h?"zoomPow":"zoomLinear":"zoomLinear",T=E+"("+d+", "+I+", "+f+(o&&"pow"===h?", "+(M.get("exponent")||1):"")+")";a.on.push({events:{signal:f},update:o?T:"clampRange("+T+", 0, "+l+")"})}Object.defineProperty(e,"__esModule",{value:!0});var r=n(148),A=n(7),o=n(2),a=n(238),c=n(21),s=n(155),u="_zoom_anchor",g="_zoom_delta",l={has:function(t){return"interval"===t.type&&t.zoom},signals:function(t,e,n){var l=e.name,M=s.default.has(e),h=l+g,d=c.positionalProjections(e),f=d.x,I=d.y,E=o.stringValue(t.scaleName(A.X)),T=o.stringValue(t.scaleName(A.Y)),N=r.selector(e.zoom,"scope");return M||(N=N.map(function(t){return t.markname=l+a.BRUSH,t})),n.push({name:l+u,on:[{events:N,update:M?"{"+[E?"x: invert("+E+", x(unit))":"",T?"y: invert("+T+", y(unit))":""].filter(function(t){return!!t}).join(", ")+"}":"{x: x(unit), y: y(unit)}"}]},{name:h,on:[{events:N,force:!0,update:"pow(1.001, event.deltaY * pow(16, event.deltaMode))"}]}),null!==f&&i(t,e,"x","width",n),null!==I&&i(t,e,"y","height",n),n}};e.default=l},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(7),A=n(32),o=n(9),a=n(4),c=n(11),s=n(2),u=n(38),g=n(145),l=n(372),M=n(146),h=n(358),d=n(115),f=n(18),I=n(373),E=n(151),T=n(114),N=function(t){function e(e,n,i,r,A){var o=t.call(this,e,n,i,A,e.resolve)||this;o.type="facet",o.child=g.buildModel(e.spec,o,o.getName("child"),void 0,r,A,!1),o.children=[o.child];var a=I.replaceRepeaterInFacet(e.facet,r);return o.facet=o.initFacet(a),o}return i.__extends(e,t),e.prototype.initFacet=function(t){return A.reduce(t,function(t,e,n){return s.contains([r.ROW,r.COLUMN],n)?void 0===e.field?(a.warn(a.message.emptyFieldDef(e,n)),t):(t[n]=o.normalize(e,n),t):(a.warn(a.message.incompatibleChannel(n,"facet")),t)},{})},e.prototype.channelHasField=function(t){return!!this.facet[t]},e.prototype.fieldDef=function(t){return this.facet[t]},e.prototype.parseData=function(){this.component.data=M.parseData(this),this.child.parseData()},e.prototype.parseLayoutSize=function(){d.parseChildrenLayoutSize(this)},e.prototype.parseSelection=function(){this.child.parseSelection(),this.component.selection=this.child.component.selection},e.prototype.parseMarkGroup=function(){this.child.parseMarkGroup()},e.prototype.parseAxisAndHeader=function(){this.child.parseAxisAndHeader(),this.parseHeader("column"),this.parseHeader("row"),this.mergeChildAxis("x"),this.mergeChildAxis("y")},e.prototype.parseHeader=function(t){if(this.channelHasField(t)){var e=this.facet[t],n=e.header||{},i=void 0!==n.title?n.title:o.title(e,this.config);this.child.component.layoutHeaders[t].title&&(i+=" / "+this.child.component.layoutHeaders[t].title,this.child.component.layoutHeaders[t].title=null),this.component.layoutHeaders[t]={title:i,facetFieldDef:e,header:[this.makeHeaderComponent(t,!0)]}}},e.prototype.makeHeaderComponent=function(t,e){var n="row"===t?"height":"width";return{labels:e,sizeSignal:this.child.component.layoutSize.get(n)?this.child.getSizeSignalRef(n):void 0,axes:[]}},e.prototype.mergeChildAxis=function(t){var e=this.child;if(e.component.axes[t]){var n=this.component,i=n.layoutHeaders,r=n.resolve;if(r.axis[t]=E.parseGuideResolve(r,t),"shared"===r.axis[t])for(var A="x"===t?"column":"row",o=i[A],a=0,c=e.component.axes[t];a<c.length;a++){var s=c[a],u=s.main,g=h.getHeaderType(u.get("orient"));o[g]=o[g]||[this.makeHeaderComponent(A,!1)],o[g][0].axes.push(u.combine()),delete s.main}}},e.prototype.assembleSelectionTopLevelSignals=function(t){return this.child.assembleSelectionTopLevelSignals(t)},e.prototype.assembleSelectionSignals=function(){return this.child.assembleSelectionSignals(),[]},e.prototype.assembleSelectionData=function(t){return this.child.assembleSelectionData(t)},e.prototype.getLayoutBandMixins=function(t){for(var e={},n="header"===t?"headerBand":"footerBand",i=0,r=["row","column"];i<r.length;i++){var A=r[i],o=this.component.layoutHeaders[A],a=o[t];if(a&&a[0]){var c="row"===A?"height":"width";this.child.component.layoutSize.get(c)||(e[n]=e[n]||{},e[n][A]=.5)}}return e},e.prototype.assembleLayout=function(){var t=this.channelHasField("column")?this.columnDistinctSignal():1;return i.__assign({padding:{row:10,column:10}},this.getLayoutBandMixins("header"),this.getLayoutBandMixins("footer"),{offset:10,columns:t,bounds:"full",align:"all"})},e.prototype.assembleLayoutSignals=function(){return this.child.assembleLayoutSignals()},e.prototype.columnDistinctSignal=function(){if(!(this.parent&&this.parent instanceof e)){return{signal:"length(data('"+this.getName("column_domain")+"'))"}}},e.prototype.assembleGroup=function(n){return this.parent&&this.parent instanceof e?i.__assign({},this.channelHasField("column")?{encode:{update:{columns:{field:o.field(this.facet.column,{prefix:"distinct"})}}}}:{},t.prototype.assembleGroup.call(this,n)):t.prototype.assembleGroup.call(this,n)},e.prototype.getCardinalityAggregateForChild=function(){var t=[],n=[];if(this.child instanceof e)this.child.channelHasField("column")&&(t.push(o.field(this.child.facet.column)),n.push("distinct"));else for(var i=0,r=["x","y"];i<r.length;i++){var A=r[i],s=this.child.component.scales[A];if(s&&!s.merged){var g=s.get("type"),l=s.get("range");if(c.hasDiscreteDomain(g)&&u.isVgRangeStep(l)){var M=T.assembleDomain(this.child,A),h=T.getFieldFromDomain(M);h?(t.push(h),n.push("distinct")):a.warn("Unknown field for ${channel}. Cannot calculate view size.")}}}return t.length?{fields:t,ops:n}:void 0},e.prototype.assembleMarks=function(){var t=this,e=t.child,n=t.facet,A=this.component.data.facetRoot,o=l.assembleFacetData(A),a=this.channelHasField(r.ROW),c=this.channelHasField(r.COLUMN),s=e.assembleLayoutSize(),u={};a&&c&&(u.aggregate={cross:!0});var g=this.getCardinalityAggregateForChild();g&&(u.aggregate=i.__assign({},u.aggregate,g));var M=e.assembleTitle(),h=e.assembleGroupStyle();return[i.__assign({name:this.getName("cell"),type:"group"},M?{title:M}:{},h?{style:h}:{},{from:{facet:i.__assign({name:A.name,data:A.data,groupby:[].concat(a?[this.field(r.ROW)]:[],c?[this.field(r.COLUMN)]:[])},u)},sort:{field:[].concat(a?[this.field(r.ROW,{expr:"datum"})]:[],c?[this.field(r.COLUMN,{expr:"datum"})]:[]),order:[].concat(a?[n.row.sort||"ascending"]:[],c?[n.column.sort||"ascending"]:[])}},o.length>0?{data:o}:{},s?{encode:{update:s}}:{},e.assembleGroup())]},e.prototype.getMapping=function(){return this.facet},e}(f.ModelWithField);e.FacetModel=N},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(4),A=n(113),o=n(2),a=n(374),c=n(146),s=n(150),u=n(115),g=n(359),l=n(18),M=n(21),h=n(376),d=function(t){function e(n,o,a,c,s,u,g){var l=t.call(this,n,o,a,u,n.resolve)||this;l.type="layer";var M=i.__assign({},c,n.width?{width:n.width}:{},n.height?{height:n.height}:{});return l.initSize(M),l.children=n.layer.map(function(t,n){if(A.isLayerSpec(t))return new e(t,l,l.getName("layer_"+n),M,s,u,g);if(A.isUnitSpec(t))return new h.UnitModel(t,l,l.getName("layer_"+n),M,s,u,g);throw new Error(r.message.INVALID_SPEC)}),l}return i.__extends(e,t),e.prototype.parseData=function(){this.component.data=c.parseData(this);for(var t=0,e=this.children;t<e.length;t++){e[t].parseData()}},e.prototype.parseLayoutSize=function(){u.parseLayerLayoutSize(this)},e.prototype.parseSelection=function(){var t=this;this.component.selection={};for(var e=0,n=this.children;e<n.length;e++){var i=n[e];!function(e){e.parseSelection(),o.keys(e.component.selection).forEach(function(n){t.component.selection[n]=e.component.selection[n]})}(i)}},e.prototype.parseMarkGroup=function(){for(var t=0,e=this.children;t<e.length;t++){e[t].parseMarkGroup()}},e.prototype.parseAxisAndHeader=function(){a.parseLayerAxis(this)},e.prototype.assembleSelectionTopLevelSignals=function(t){return this.children.reduce(function(t,e){return e.assembleSelectionTopLevelSignals(t)},t)},e.prototype.assembleSelectionSignals=function(){return this.children.reduce(function(t,e){return t.concat(e.assembleSelectionSignals())},[])},e.prototype.assembleLayoutSignals=function(){return this.children.reduce(function(t,e){return t.concat(e.assembleLayoutSignals())},s.assembleLayoutSignals(this))},e.prototype.assembleSelectionData=function(t){return this.children.reduce(function(t,e){return e.assembleSelectionData(t)},[])},e.prototype.assembleTitle=function(){var e=t.prototype.assembleTitle.call(this);if(e)return e;for(var n=0,i=this.children;n<i.length;n++){if(e=i[n].assembleTitle())return e}},e.prototype.assembleLayout=function(){return null},e.prototype.assembleMarks=function(){return M.assembleLayerSelectionMarks(this,o.flatten(this.children.map(function(t){return t.assembleMarks()})))},e.prototype.assembleLegends=function(){return this.children.reduce(function(t,e){return t.concat(e.assembleLegends())},g.assembleLegends(this))},e}(l.Model);e.LayerModel=d},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(39),A=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Split);e.AxisComponentPart=A},function(t,e,n){"use strict";function i(t,e,n,i){var a=t.fieldDef(e)||("x"===e?t.fieldDef("x2"):"y"===e?t.fieldDef("y2"):void 0),u=t.axis(e),h=t.config,d={};if(c.isTimeFieldDef(a)){var f=t.getScaleComponent(e).get("type")===s.ScaleType.UTC;d.text={signal:l.timeFormatExpression("datum.value",a.timeUnit,u.format,h.axis.shortTimeLabels,h.timeFormat,f)}}var I=M.getAxisConfig("labelAngle",t.config,e,i,t.getScaleComponent(e).get("type"));if(void 0===I&&(I=r(u,e,a))&&(d.angle={value:I}),void 0!==I&&"x"===e){var E=A(I,i);E&&(d.align={value:E}),g.contains([90,270],I)&&(d.baseline={value:"middle"})}return d=o.__assign({},d,n),0===g.keys(d).length?void 0:d}function r(t,e,n){return void 0!==t.labelAngle?(t.labelAngle%360+360)%360:e===a.X&&g.contains([u.NOMINAL,u.ORDINAL],n.type)?270:void 0}function A(t,e){if(t>0){if(t%360>180)return"top"===e?"left":"right";if(t%360<180)return"top"===e?"right":"left"}else if(t<0)return A(t%360+360,e)}Object.defineProperty(e,"__esModule",{value:!0});var o=n(3),a=n(7),c=n(9),s=n(11),u=n(49),g=n(2),l=n(23),M=n(375);e.labels=i,e.labelAngle=r,e.labelAlign=A},function(t,e,n){"use strict";function i(t,e,n,i){return!n&&e[t]}function r(t,e){return!E.hasDiscreteDomain(t)&&!e.bin}function A(t,e,n){if(n){var i="x"===e?"y":"x";if(t.getScaleComponent(i))return t.scaleName(i)}}function o(t,e,n,i){return void 0!==e.labelOverlap?e.labelOverlap:"nominal"!==t.type?"log"!==i||"greedy":void 0}function a(t,e){return e?0:t}function c(t){switch(t){case h.X:return"bottom";case h.Y:return"left"}throw new Error(I.message.INVALID_CHANNEL_FOR_AXIS)}function s(t,e,n,i){if(!E.hasDiscreteDomain(n)&&"log"!==n&&!N.contains(["month","hours","day","quarter"],e.timeUnit))return e.bin?{signal:"min(ceil("+i.signal+"/40), "+e.bin.maxbins+")"}:{signal:"ceil("+i.signal+"/40)"}}function u(t,e,n){var i=f.title(e,n);return t?N.truncate(i,t):i}function g(t,e,n){var i=t.values;if(t.values&&d.isDateTime(i[0]))return i.map(function(t){return{signal:d.dateTimeExpr(t,!0)}});if(!i&&n.bin&&n.type===T.QUANTITATIVE){var r=e.getName(M.binToString(n.bin)+"_"+n.field+"_bins");return{signal:"sequence("+r+".start, "+r+".stop + "+r+".step, "+r+".step)"}}return i}function l(t){return t?0:1}Object.defineProperty(e,"__esModule",{value:!0});var M=n(111),h=n(7),d=n(66),f=n(9),I=n(4),E=n(11),T=n(49),N=n(2);e.domainAndTicks=i,e.domain=i,e.ticks=i,e.grid=r,e.gridScale=A,e.labelOverlap=o,e.minMaxExtent=a,e.orient=c,e.tickCount=s,e.title=u,e.values=g,e.zindex=l},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(357),A=n(145),o=n(115),a=function(t){function e(e,n,i,r,A){var o=t.call(this,e,n,i,A,e.resolve)||this;return o.type="repeat",o.repeat=e.repeat,o.children=o._initChildren(e,o.repeat,r,A),o}return i.__extends(e,t),e.prototype._initChildren=function(t,e,n,i){for(var r=[],o=e.row||[n?n.row:null],a=e.column||[n?n.column:null],c=0,s=o;c<s.length;c++)for(var u=s[c],g=0,l=a;g<l.length;g++){var M=l[g],h=(u?"_"+u:"")+(M?"_"+M:""),d={row:u,column:M};r.push(A.buildModel(t.spec,this,this.getName("child"+h),void 0,d,i,!1))}return r},e.prototype.parseLayoutSize=function(){o.parseRepeatLayoutSize(this)},e.prototype.assembleLayout=function(){return{padding:{row:10,column:10},offset:10,columns:this.repeat&&this.repeat.column?this.repeat.column.length:1,bounds:"full",align:"all"}},e}(r.BaseConcatModel);e.RepeatModel=a},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0})},function(t,e,n){"use strict";function i(t,n,i){void 0===n&&(n=e.DEFAULT_REQUIRED_CHANNEL_MAP),void 0===i&&(i=e.DEFAULT_SUPPORTED_CHANNEL_TYPE);var o=r.isMarkDef(t.mark)?t.mark.type:t.mark,a=t.encoding,c=n[o],s=i[o];for(var u in c)if(!(c[u]in a))return'Missing encoding channel "'+c[u]+'" for mark "'+o+'"';for(var g in a)if(!s[g])return'Encoding channel "'+g+'" is not supported by mark type "'+o+'"';return o!==A.BAR||a.x||a.y?null:"Missing both x and y for bar"}Object.defineProperty(e,"__esModule",{value:!0});var r=n(31),A=n(31),o=n(2);e.DEFAULT_REQUIRED_CHANNEL_MAP={text:["text"],line:["x","y"],area:["x","y"]},e.DEFAULT_SUPPORTED_CHANNEL_TYPE={bar:o.toSet(["row","column","x","y","size","color","detail"]),line:o.toSet(["row","column","x","y","color","detail"]),area:o.toSet(["row","column","x","y","color","detail"]),tick:o.toSet(["row","column","x","y","color","detail"]),circle:o.toSet(["row","column","x","y","color","size","detail"]),square:o.toSet(["row","column","x","y","color","size","detail"]),point:o.toSet(["row","column","x","y","color","size","detail","shape"]),text:o.toSet(["row","column","size","color","text"])},e.getEncodingMappingError=i},function(t,e){t.exports={name:"vega-lite",author:'Jeffrey Heer, Dominik Moritz, Kanit "Ham" Wongsuphasawat',version:"2.0.0-rc4",collaborators:["Kanit Wongsuphasawat <kanitw@gmail.com> (http://kanitw.yellowpigz.com)","Dominik Moritz <domoritz@cs.washington.edu> (https://www.domoritz.de)","Jeffrey Heer <jheer@uw.edu> (http://jheer.org)"],homepage:"https://vega.github.io/vega-lite/",description:"Vega-lite provides a higher-level grammar for visual analysis, comparable to ggplot or Tableau, that generates complete Vega specifications.",main:"build/src/index.js",types:"typings/vega-lite.d.ts",bin:{vl2png:"./bin/vl2png",vl2svg:"./bin/vl2svg",vl2vg:"./bin/vl2vg"},directories:{test:"test"},scripts:{pretsc:"mkdir -p build && rm -rf build/*/** && cp package.json build/",tsc:"tsc",prebuild:"mkdir -p build/site build/test-gallery",build:"npm run build:only","build:only":"npm run tsc && cp package.json build && browserify src/index.ts -p tsify -d -s vl | exorcist build/vega-lite.js.map > build/vega-lite.js",postbuild:"node node_modules/uglify-js/bin/uglifyjs build/vega-lite.js -cm --source-map content=build/vega-lite.js.map,filename=build/vega-lite.min.js.map -o build/vega-lite.min.js && npm run schema","build:examples":"npm run data && npm run build:only && npm run build:examples-only","build:examples-only":"TZ=America/Los_Angeles ./scripts/build-examples.sh && rm -f examples/specs/normalized/*.vl.json && scripts/build-normalized-examples","build:example":"./scripts/build-example.sh","build:toc":"bundle exec jekyll build -q && scripts/generate-toc","build:site":"browserify site/static/main.ts -p [tsify -p site] -d | exorcist build/site/main.js.map > build/site/main.js","build:versions":"scripts/update-version.sh","build:test-gallery":"browserify test-gallery/main.ts -p [tsify -p test-gallery] -d > build/test-gallery/main.js","check:examples":"scripts/check-examples.sh","check:schema":"scripts/check-schema.sh",clean:"rm -rf build && rm -f vega-lite.* & find -E src test site examples -regex '.*\\.(js|js.map|d.ts)' -delete",data:"rsync -r node_modules/vega-datasets/data/* data",link:"npm link && npm link vega-lite",deploy:"scripts/deploy.sh","deploy:gh":"scripts/deploy-gh.sh","deploy:schema":"scripts/deploy-schema.sh",prestart:"npm run data && npm run build && scripts/index-examples",start:"nodemon -x 'npm run build:test-gallery' & browser-sync start --server --files 'build/test-gallery/main.js' --index 'test-gallery/index.html'",poststart:"rm examples/all-examples.json",preschema:"npm run prebuild",schema:"ts-json-schema-generator --path tsconfig.json --type TopLevelExtendedSpec > build/vega-lite-schema.json && npm run renameschema && cp build/vega-lite-schema.json _data/",renameschema:"scripts/rename-schema.sh",presite:"npm run build && npm run data && npm run build:site && npm run build:toc && npm run build:versions",site:"bundle exec jekyll serve",lint:"tslint --project tsconfig.json -c tslint.json --type-check",test:"npm run build:only && npm run test:only && npm run test:runtime && npm run lint",posttest:"npm run schema && npm run data && npm run mocha:examples","test:nocompile":"npm run test:only && npm run test:runtime && npm run lint && npm run mocha:examples","test:only":"nyc --reporter=html --reporter=text-summary npm run mocha:test","test:runtime":"TZ=America/Los_Angeles wdio wdio.conf.js","test:runtime:generate":"rm -Rf test-runtime/resources && VL_GENERATE_TESTS=true npm run test:runtime","test:debug":"npm run tsc && mocha --recursive --debug-brk --inspect build/test","test:debug-examples":"npm run tsc && npm run schema && mocha --recursive --debug-brk --inspect build/examples","mocha:test":"mocha --require source-map-support/register --reporter dot --recursive build/test","mocha:examples":"mocha --require source-map-support/register --reporter dot --recursive build/examples",codecov:"nyc report --reporter=json && codecov -f coverage/*.json","watch:build":"watchify src/index.ts -p tsify -v -d -s vl -o 'exorcist build/vega-lite.js.map > build/vega-lite.js'","watch:tsc":"npm run tsc -- -w","watch:test":"nodemon -x 'npm test'",watch:"nodemon -x 'npm run build && npm run test:nocompile' # already ran schema in build"},repository:{type:"git",url:"https://github.com/vega/vega-lite.git"},license:"BSD-3-Clause",bugs:{url:"https://github.com/vega/vega-lite/issues"},devDependencies:{"@types/chai":"^4.0.2","@types/d3":"^4.11.0","@types/highlight.js":"^9.1.10","@types/json-stable-stringify":"^1.0.32","@types/mkdirp":"^0.5.0","@types/mocha":"^2.2.43","@types/node":"^8.0.34","@types/webdriverio":"^4.8.6",ajv:"^5.2.3","browser-sync":"^2.18.13",browserify:"^14.4.0","browserify-shim":"^3.8.14",chai:"^4.1.0",cheerio:"^1.0.0-rc.2",chromedriver:"^2.33.1",codecov:"^2.3.1",d3:"^4.11.0",exorcist:"^1.0.0","highlight.js":"^9.12.0",mkdirp:"^0.5.1",mocha:"^4.0.1",nodemon:"^1.11.0",nyc:"^11.1.0","source-map-support":"^0.5.0","ts-json-schema-generator":"^0.12.0","ts-node":"^3.2.1",tsify:"^3.0.1",tslint:"5.4.3","tslint-eslint-rules":"^4.1.1",typescript:"^2.4.2","uglify-js":"^3.0.27",vega:"^3.0.0","vega-datasets":"vega/vega-datasets#gh-pages","vega-embed":"^3.0.0-beta.20","vega-tooltip":"^0.4.2",watchify:"^3.9.0","wdio-chromedriver-service":"^0.1.0","wdio-dot-reporter":"0.0.9","wdio-mocha-framework":"^0.5.10","wdio-static-server-service":"^1.0.1",webdriverio:"^4.8.0","yaml-front-matter":"^3.4.0"},dependencies:{"json-stable-stringify":"^1.0.1",tslib:"^1.8.0","vega-event-selector":"^2.0.0","vega-util":"^1.5.0",yargs:"^9.0.1"}}},function(t,e,n){"use strict";function i(t){var e=/\/schema\/([\w-]+)\/([\w\.\-]+)\.json$/g,n=e.exec(t).slice(1,3);return{library:n[0],version:n[1]}}Object.defineProperty(e,"__esModule",{value:!0}),e.default=i},function(t,e,n){"use strict";function i(t,e){return void 0===e&&(e={showAllFields:!0}),A(t,g(e)),{destroy:function(){t.removeEventListener("mouseover.tooltipInit"),t.removeEventListener("mousemove.tooltipUpdate"),t.removeEventListener("mouseout.tooltipRemove"),o()}}}function r(t,e,n){return void 0===n&&(n={showAllFields:!0}),n=d.supplementOptions(g(n),e),A(t,n),{destroy:function(){t.removeEventListener("mouseover.tooltipInit"),t.removeEventListener("mousemove.tooltipUpdate"),t.removeEventListener("mouseout.tooltipRemove"),o()}}}function A(t,e){t.addEventListener("mouseover.tooltipInit",function(t,n){u(n)&&(o(),I=window.setTimeout(function(){a(t,n,e)},e.delay||M.DELAY))}),t.addEventListener("mousemove.tooltipUpdate",function(t,n){u(n)&&E&&c(t,n,e)}),t.addEventListener("mouseout.tooltipRemove",function(t,n){u(n)&&(o(),E&&s(t,n,e))})}function o(){window.clearTimeout(I),I=void 0}function a(t,e,n){var i=f.getTooltipPlaceholder(),r=h.getTooltipData(e,n);r&&0!==r.length&&(f.bindData(i,r),f.updatePosition(t,n),f.updateColorTheme(n),l.select("#vis-tooltip").style("visibility","visible"),E=!0,n.onAppear&&n.onAppear(t,e))}function c(t,e,n){u(e)&&(f.updatePosition(t,n),n.onMove&&n.onMove(t,e))}function s(t,e,n){u(e)&&(l.select("#vis-tooltip").style("visibility","hidden"),E=!1,f.clearData(),f.clearColorTheme(),f.clearPosition(),n.onDisappear&&n.onDisappear(t,e))}function u(t){return!(!t||!t.datum)&&!t.datum._facetID}function g(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}Object.defineProperty(e,"__esModule",{value:!0});var l=n(14),M=n(764),h=n(765),d=n(791),f=n(792),I=void 0,E=!1;e.vega=i,e.vegaLite=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DELAY=100},function(t,e,n){"use strict";function i(t,e){if("group"!==t.mark.marktype){var n={};for(var i in t.datum)t.datum.hasOwnProperty(i)&&(n[i]=t.datum[i]);return a(n,["_id","_prev","width","height","count_start","count_end","layout_start","layout_mid","layout_end","layout_path","layout_x","layout_y"]),c(n,e.fields),s(n,e.fields),u(t.mark.marktype,n),!0===e.showAllFields?o(n,e):r(n,e)}}function r(t,e){var n=[];return e.fields.forEach(function(e){var i=e.title?e.title:e.field,r=A(t,e.field);if(void 0!==r){var o=g.customFormat(r,e.formatType,e.format)||g.autoFormat(r);n.push({title:i,value:o})}}),n}function A(t,e){var n,i=e.split("."),r=i[0];return i.shift(),t[r]&&(n=t[r],i.forEach(function(t){n=n,n[t]&&(n=n[t])})),void 0===n?void console.warn("[Tooltip] Cannot find field "+e+" in data."):n}function o(t,e){var n=[],i={};if(e&&e.fields)for(var r=0,A=e.fields;r<A.length;r++){var o=A[r];i[o.field]=o}for(var a in t)if(t.hasOwnProperty(a)){var c=t[a],s=void 0;s=i[a]&&i[a].title?i[a].title:a;var u=void 0,l=void 0;i[a]&&(u=i[a].formatType,l=i[a].format);var M=g.customFormat(c,u,l)||g.autoFormat(c);n.push({title:s,value:M})}return n}function a(t,e){e.forEach(function(e){delete t[e]})}function c(t,e){e&&e.forEach(function(e){e.removeOriginalTemporalField&&a(t,[e.removeOriginalTemporalField])})}function s(t,e){if(e)return e.forEach(function(e){if(!0===e.bin){var n=e.field,i=n.concat("_start"),r=n.concat("_mid"),A=n.concat("_end"),o=t[i],c=t[A];if(void 0!==o&&void 0!==c){var s=o+"-"+c;t[n]=s}var u=[];u.push(i,r,A),a(t,u)}}),t}function u(t,e){if("line"===t||"area"===t){var n=[];for(var i in e)if(e.hasOwnProperty(i)){var r=e[i];r instanceof Date&&n.push(i)}a(e,n)}}Object.defineProperty(e,"__esModule",{value:!0});var g=n(766);e.getTooltipData=i,e.prepareCustomFieldsData=r,e.getValue=A,e.prepareAllFieldsData=o,e.removeFields=a,e.removeDuplicateTimeFields=c,e.combineBinFields=s,e.dropFieldsForLineArea=u},function(t,e,n){"use strict";function i(t,e,n){if(void 0!==t&&null!==t&&e)switch(e){case"time":return n?s.timeFormat(n)(t):o(t);case"number":return n?a.format(n)(t):A(t);case"string":default:return t}}function r(t){return"number"==typeof t?A(t):t instanceof Date?o(t):t}function A(t){return t%1==0?a.format(",")(t):a.format(",.2f")(t)}function o(t){var e=s.timeFormat(".%L"),n=s.timeFormat(":%S"),i=s.timeFormat("%I:%M"),r=s.timeFormat("%I %p"),A=s.timeFormat("%a %d"),o=s.timeFormat("%b %d"),a=s.timeFormat("%B"),u=s.timeFormat("%Y");return(c.timeSecond(t)<t?e:c.timeMinute(t)<t?n:c.timeHour(t)<t?i:c.timeDay(t)<t?r:c.timeMonth(t)<t?c.timeWeek(t)<t?A:o:c.timeYear(t)<t?a:u)(t)}Object.defineProperty(e,"__esModule",{value:!0});var a=n(91),c=n(116),s=n(92);e.customFormat=i,e.autoFormat=r,e.autoNumberFormat=A,e.autoTimeFormat=o},function(t,e,n){"use strict";function i(t){return r=Object(a.a)(t),A=r.format,o=r.formatPrefix,r}n.d(e,"b",function(){return A}),n.d(e,"c",function(){return o}),e.a=i;var r,A,o,a=n(377);i({decimal:".",thousands:",",grouping:[3],currency:["$",""]})},function(t,e,n){"use strict";e.a=function(t,e){return function(n,i){for(var r=n.length,A=[],o=0,a=t[0],c=0;r>0&&a>0&&(c+a+1>i&&(a=Math.max(1,i-c)),A.push(n.substring(r-=a,r+a)),!((c+=a+1)>i));)a=t[o=(o+1)%t.length];return A.reverse().join(e)}}},function(t,e,n){"use strict";e.a=function(t){return function(e){return e.replace(/[0-9]/g,function(e){return t[+e]})}}},function(t,e,n){"use strict";e.a=function(t,e){t=t.toPrecision(e);t:for(var n,i=t.length,r=1,A=-1;r<i;++r)switch(t[r]){case".":A=n=r;break;case"0":0===A&&(A=r),n=r;break;case"e":break t;default:A>0&&(A=0)}return A>0?t.slice(0,A)+t.slice(n+1):t}},function(t,e,n){"use strict";var i=n(240);e.a=function(t,e){var n=Object(i.a)(t,e);if(!n)return t+"";var r=n[0],A=n[1];return A<0?"0."+new Array(-A).join("0")+r:r.length>A+1?r.slice(0,A+1)+"."+r.slice(A+1):r+new Array(A-r.length+2).join("0")}},function(t,e,n){"use strict";e.a=function(t){return t}},function(t,e,n){"use strict";var i=n(156);e.a=function(t){return Math.max(0,-Object(i.a)(Math.abs(t)))}},function(t,e,n){"use strict";var i=n(156);e.a=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Object(i.a)(e)/3)))-Object(i.a)(Math.abs(t)))}},function(t,e,n){"use strict";var i=n(156);e.a=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Object(i.a)(e)-Object(i.a)(t))+1}},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(24),r=Object(i.a)(function(){},function(t,e){t.setTime(+t+e)},function(t,e){return e-t});r.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Object(i.a)(function(e){e.setTime(Math.floor(e/t)*t)},function(e,n){e.setTime(+e+n*t)},function(e,n){return(n-e)/t}):r:null},e.a=r;var A=r.range},function(t,e,n){"use strict";n.d(e,"b",function(){return o});var i=n(24),r=n(51),A=Object(i.a)(function(t){t.setTime(Math.floor(t/r.d)*r.d)},function(t,e){t.setTime(+t+e*r.d)},function(t,e){return(e-t)/r.d},function(t){return t.getUTCSeconds()});e.a=A;var o=A.range},function(t,e,n){"use strict";n.d(e,"b",function(){return o});var i=n(24),r=n(51),A=Object(i.a)(function(t){t.setTime(Math.floor(t/r.c)*r.c)},function(t,e){t.setTime(+t+e*r.c)},function(t,e){return(e-t)/r.c},function(t){return t.getMinutes()});e.a=A;var o=A.range},function(t,e,n){"use strict";n.d(e,"b",function(){return o});var i=n(24),r=n(51),A=Object(i.a)(function(t){var e=t.getTimezoneOffset()*r.c%r.b;e<0&&(e+=r.b),t.setTime(Math.floor((+t-e)/r.b)*r.b+e)},function(t,e){t.setTime(+t+e*r.b)},function(t,e){return(e-t)/r.b},function(t){return t.getHours()});e.a=A;var o=A.range},function(t,e,n){"use strict";n.d(e,"a",function(){return o});var i=n(24),r=n(51),A=Object(i.a)(function(t){t.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+e)},function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*r.c)/r.a},function(t){return t.getDate()-1});e.b=A;var o=A.range},function(t,e,n){"use strict";function i(t){return Object(r.a)(function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+7*e)},function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*A.c)/A.e})}n.d(e,"g",function(){return o}),n.d(e,"c",function(){return a}),n.d(e,"k",function(){return c}),n.d(e,"m",function(){return s}),n.d(e,"i",function(){return u}),n.d(e,"a",function(){return g}),n.d(e,"e",function(){return l}),n.d(e,"h",function(){return M}),n.d(e,"d",function(){return h}),n.d(e,"l",function(){return d}),n.d(e,"n",function(){return f}),n.d(e,"j",function(){return I}),n.d(e,"b",function(){return E}),n.d(e,"f",function(){return T});var r=n(24),A=n(51),o=i(0),a=i(1),c=i(2),s=i(3),u=i(4),g=i(5),l=i(6),M=o.range,h=a.range,d=c.range,f=s.range,I=u.range,E=g.range,T=l.range},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(24),r=Object(i.a)(function(t){t.setDate(1),t.setHours(0,0,0,0)},function(t,e){t.setMonth(t.getMonth()+e)},function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())},function(t){return t.getMonth()});e.a=r;var A=r.range},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(24),r=Object(i.a)(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t,e){return e.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});r.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Object(i.a)(function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,n){e.setFullYear(e.getFullYear()+n*t)}):null},e.a=r;var A=r.range},function(t,e,n){"use strict";n.d(e,"b",function(){return o});var i=n(24),r=n(51),A=Object(i.a)(function(t){t.setUTCSeconds(0,0)},function(t,e){t.setTime(+t+e*r.c)},function(t,e){return(e-t)/r.c},function(t){return t.getUTCMinutes()});e.a=A;var o=A.range},function(t,e,n){"use strict";n.d(e,"b",function(){return o});var i=n(24),r=n(51),A=Object(i.a)(function(t){t.setUTCMinutes(0,0,0)},function(t,e){t.setTime(+t+e*r.b)},function(t,e){return(e-t)/r.b},function(t){return t.getUTCHours()});e.a=A;var o=A.range},function(t,e,n){"use strict";n.d(e,"b",function(){return o});var i=n(24),r=n(51),A=Object(i.a)(function(t){t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+e)},function(t,e){return(e-t)/r.a},function(t){return t.getUTCDate()-1});e.a=A;var o=A.range},function(t,e,n){"use strict";function i(t){return Object(r.a)(function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+7*e)},function(t,e){return(e-t)/A.e})}n.d(e,"g",function(){return o}),n.d(e,"c",function(){return a}),n.d(e,"k",function(){return c}),n.d(e,"m",function(){return s}),n.d(e,"i",function(){return u}),n.d(e,"a",function(){return g}),n.d(e,"e",function(){return l}),n.d(e,"h",function(){return M}),n.d(e,"d",function(){return h}),n.d(e,"l",function(){return d}),n.d(e,"n",function(){return f}),n.d(e,"j",function(){return I}),n.d(e,"b",function(){return E}),n.d(e,"f",function(){return T});var r=n(24),A=n(51),o=i(0),a=i(1),c=i(2),s=i(3),u=i(4),g=i(5),l=i(6),M=o.range,h=a.range,d=c.range,f=s.range,I=u.range,E=g.range,T=l.range},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(24),r=Object(i.a)(function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCMonth(t.getUTCMonth()+e)},function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())},function(t){return t.getUTCMonth()});e.a=r;var A=r.range},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(24),r=Object(i.a)(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)},function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});r.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Object(i.a)(function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,n){e.setUTCFullYear(e.getUTCFullYear()+n*t)}):null},e.a=r;var A=r.range},function(t,e,n){"use strict";function i(t){var e=new Date(t);return isNaN(e)?null:e}var r=n(382),A=n(241),o=+new Date("2000-01-01T00:00:00.000Z")?i:Object(A.e)(r.b);e.a=o},function(t,e,n){"use strict";function i(t,e){var n=[];return!1!==t.showAllFields?c.spec.fieldDefs(e).forEach(function(i){var A=r(t.fields,i),a=o(A,i,e);n.push(a)}):t.fields&&t.fields.forEach(function(t){var i=A(c.spec.fieldDefs(e),t),r=o(t,i,e);n.push(r)}),t.fields=n,t}function r(t,e){if(e&&t&&!(t.length<=0))if(e.aggregate){for(var n=0,i=t;n<i.length;n++){var r=i[n];if(r.field===e.field&&r.aggregate===e.aggregate)return r}for(var A=0,o=t;A<o.length;A++){var r=o[A];if(r.field===e.field&&!r.aggregate)return r}}else for(var a=0,c=t;a<c.length;a++){var r=c[a];if(r.field===e.field)return r}}function A(t,e){if(e&&e.field&&t)for(var n=0,i=t;n<i.length;n++){var r=i[n];if(r.field===e.field){if(!r.aggregate)return r;if(r.aggregate===e.aggregate||!e.aggregate)return r}}}function o(t,e,n){var i=a({},n.config);if(!t&&!e)return void console.error("[Tooltip] Cannot supplement a field when field and fieldDef are both empty.");!t&&e&&(t={}),t&&!e&&(e={});var r={};if(r.field=e.field?c.fieldDef.field(e):t.field,e.type===s.TEMPORAL&&e.timeUnit){var A=e.field;r.removeOriginalTemporalField=A;for(var o=c.spec.fieldDefs(n),g=0,l=o;g<l.length;g++){var M=l[g];if(M.field===A&&!M.timeUnit){r.removeOriginalTemporalField=void 0;break}}}if(i.countTitle||(i.countTitle=c.config.defaultConfig.countTitle),r.title=t.title?t.title:c.fieldDef.title(e,i),r.formatType=t.formatType?t.formatType:u[e.type],t.format)r.format=t.format;else switch(r.formatType){case"time":r.format=e.timeUnit?c.timeUnit.formatExpression(e.timeUnit,"",!1,!1).split("'")[1]:i.timeFormat||c.config.defaultConfig.timeFormat;break;case"number":r.format=i.numberFormat}return e.bin&&(r.field=r.field.replace("_start","_range"),r.bin=!0,r.formatType="string"),r}var a=this&&this.__assign||Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++){e=arguments[n];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}return t};Object.defineProperty(e,"__esModule",{value:!0});var c=n(342),s=n(49),u={quantitative:"number",temporal:"time",ordinal:void 0,nominal:void 0};e.supplementOptions=i,e.getFieldOption=r,e.getFieldDef=A,e.supplementFieldOption=o},function(t,e,n){"use strict";function i(){return u.select("#vis-tooltip").empty()?u.select("body").append("div").attr("id","vis-tooltip").attr("class","vg-tooltip"):u.select("#vis-tooltip")}function r(t,e){t.selectAll("table").remove();var n=t.append("table").selectAll(".tooltip-row").data(e);n.exit().remove();var i=n.enter().append("tr").attr("class","tooltip-row");i.append("td").attr("class","key").text(function(t){return t.title+":"}),i.append("td").attr("class","value").text(function(t){return t.value})}function A(){u.select("#vis-tooltip").selectAll(".tooltip-row").data([]).exit().remove()}function o(t,e){var n=10,i=10;e&&e.offset&&void 0!==e.offset.x&&null!==e.offset.x&&(n=e.offset.x),e&&e.offset&&void 0!==e.offset.y&&null!==e.offset.y&&(i=e.offset.y),u.select("#vis-tooltip").style("top",function(){var e=this.getBoundingClientRect().height;return t.clientY+e+i<window.innerHeight?t.clientY+i+"px":t.clientY-e-i+"px"}).style("left",function(){var e=this.getBoundingClientRect().width;return t.clientX+e+n<window.innerWidth?t.clientX+n+"px":t.clientX-e-n+"px"})}function a(){u.select("#vis-tooltip").style("top","-9999px").style("left","-9999px")}function c(t){s(),t&&"dark"===t.colorTheme?u.select("#vis-tooltip").classed("dark-theme",!0):u.select("#vis-tooltip").classed("light-theme",!0)}function s(){u.select("#vis-tooltip").classed("dark-theme light-theme",!1)}Object.defineProperty(e,"__esModule",{value:!0});var u=n(14);e.getTooltipPlaceholder=i,e.bindData=r,e.clearData=A,e.updatePosition=o,e.clearPosition=a,e.updateColorTheme=c,e.clearColorTheme=s},function(t,e,n){var i=n(794);"string"==typeof i&&(i=[[t.i,i,""]]);var r={};r.transform=void 0;n(90)(i,r);i.locals&&(t.exports=i.locals)},function(t,e,n){e=t.exports=n(89)(void 0),e.push([t.i,".vg-tooltip{visibility:hidden;padding:6px;border-radius:3px;position:fixed;z-index:2000;font-family:sans-serif;font-size:11px;background-color:hsla(0,0%,100%,.9);border:1px solid #d9d9d9;color:#000}.vg-tooltip td.key,.vg-tooltip td.value{overflow:hidden;text-overflow:ellipsis}.vg-tooltip td.key{color:gray;max-width:150px;text-align:right;padding-right:1px}.vg-tooltip td.value{max-width:200px;text-align:left}.vg-tooltip.dark-theme{background-color:rgba(64,64,64,.9);border:none;color:#fff}.vg-tooltip.dark-theme td.key{color:#bfbfbf}.vg-tooltip.light-theme{background-color:hsla(0,0%,100%,.9);border:1px solid #d9d9d9;color:#000}.vg-tooltip.light-theme td.key{color:gray}",""])},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(0),r=n(1),A=n(826),o=n(880),a=n(936),c=n(1022),s=n(1065),u=n(1089),g=n(1118),l=n(1124),M=n(1129),h=n(1135);n.n(h);n.o(h,"version")&&n.d(e,"version",function(){return h.version});var d=n(70);n.d(e,"bin",function(){return d.a}),n.d(e,"bootstrapCI",function(){return d.b}),n.d(e,"quartiles",function(){return d.c}),n.d(e,"random",function(){return d.d}),n.d(e,"setRandom",function(){return d.j}),n.d(e,"randomInteger",function(){return d.e}),n.d(e,"randomKDE",function(){return d.f}),n.d(e,"randomMixture",function(){return d.g}),n.d(e,"randomNormal",function(){return d.h}),n.d(e,"randomUniform",function(){return d.i}),n.d(e,"accessor",function(){return i.accessor}),n.d(e,"accessorName",function(){return i.accessorName}),n.d(e,"accessorFields",function(){return i.accessorFields}),n.d(e,"id",function(){return i.id}),n.d(e,"identity",function(){return i.identity}),n.d(e,"zero",function(){return i.zero}),n.d(e,"one",function(){return i.one}),n.d(e,"truthy",function(){return i.truthy}),n.d(e,"falsy",function(){return i.falsy}),n.d(e,"logger",function(){return i.logger}),n.d(e,"None",function(){return i.None}),n.d(e,"Error",function(){return i.Error}),n.d(e,"Warn",function(){return i.Warn}),n.d(e,"Info",function(){return i.Info}),n.d(e,"Debug",function(){return i.Debug}),n.d(e,"panLinear",function(){return i.panLinear}),n.d(e,"panLog",function(){return i.panLog}),n.d(e,"panPow",function(){return i.panPow}),n.d(e,"zoomLinear",function(){return i.zoomLinear}),n.d(e,"zoomLog",function(){return i.zoomLog}),n.d(e,"zoomPow",function(){return i.zoomPow}),n.d(e,"array",function(){return i.array}),n.d(e,"compare",function(){return i.compare}),n.d(e,"constant",function(){return i.constant}),n.d(e,"debounce",function(){return i.debounce}),n.d(e,"error",function(){return i.error}),n.d(e,"extend",function(){return i.extend}),n.d(e,"extentIndex",function(){return i.extentIndex}),n.d(e,"fastmap",function(){return i.fastmap}),n.d(e,"field",function(){return i.field}),n.d(e,"inherits",function(){return i.inherits}),n.d(e,"isArray",function(){return i.isArray}),n.d(e,"isBoolean",function(){return i.isBoolean}),n.d(e,"isDate",function(){return i.isDate}),n.d(e,"isFunction",function(){return i.isFunction}),n.d(e,"isNumber",function(){return i.isNumber}),n.d(e,"isObject",function(){return i.isObject}),n.d(e,"isRegExp",function(){return i.isRegExp}),n.d(e,"isString",function(){return i.isString}),n.d(e,"key",function(){return i.key}),n.d(e,"merge",function(){return i.merge}),n.d(e,"pad",function(){return i.pad}),n.d(e,"peek",function(){return i.peek}),n.d(e,"repeat",function(){return i.repeat}),n.d(e,"splitAccessPath",function(){return i.splitAccessPath}),n.d(e,"stringValue",function(){return i.stringValue}),n.d(e,"toBoolean",function(){return i.toBoolean}),n.d(e,"toDate",function(){return i.toDate}),n.d(e,"toNumber",function(){return i.toNumber}),n.d(e,"toString",function(){return i.toString}),n.d(e,"toSet",function(){return i.toSet}),n.d(e,"truncate",function(){return i.truncate}),n.d(e,"visitArray",function(){return i.visitArray});var f=n(69);n.d(e,"loader",function(){return f.d}),n.d(e,"read",function(){return f.e}),n.d(e,"inferType",function(){return f.b}),n.d(e,"inferTypes",function(){return f.c}),n.d(e,"typeParsers",function(){return f.f}),n.d(e,"formats",function(){return f.a});var I=n(54);n.d(e,"Bounds",function(){return I.a}),n.d(e,"Gradient",function(){return I.d}),n.d(e,"GroupItem",function(){return I.e}),n.d(e,"ResourceLoader",function(){return I.k}),n.d(e,"Item",function(){return I.g}),n.d(e,"Scenegraph",function(){return I.o}),n.d(e,"Handler",function(){return I.f}),n.d(e,"Renderer",function(){return I.j}),n.d(e,"CanvasHandler",function(){return I.b}),n.d(e,"CanvasRenderer",function(){return I.c}),n.d(e,"SVGHandler",function(){return I.l}),n.d(e,"SVGRenderer",function(){return I.m}),n.d(e,"SVGStringRenderer",function(){return I.n}),n.d(e,"RenderType",function(){return I.i}),n.d(e,"renderModule",function(){return I.I}),n.d(e,"Marks",function(){return I.h}),n.d(e,"boundContext",function(){return I.p}),n.d(e,"boundStroke",function(){return I.s}),n.d(e,"boundItem",function(){return I.q}),n.d(e,"boundMark",function(){return I.r}),n.d(e,"pathCurves",function(){return I.A}),n.d(e,"pathSymbols",function(){return I.F}),n.d(e,"pathRectangle",function(){return I.D}),n.d(e,"pathTrail",function(){return I.G}),n.d(e,"pathParse",function(){return I.C}),n.d(e,"pathRender",function(){return I.E}),n.d(e,"point",function(){return I.H}),n.d(e,"domCreate",function(){return I.w}),n.d(e,"domFind",function(){return I.x}),n.d(e,"domChild",function(){return I.u}),n.d(e,"domClear",function(){return I.v}),n.d(e,"openTag",function(){return I.z}),n.d(e,"closeTag",function(){return I.t}),n.d(e,"font",function(){return I.y}),n.d(e,"textMetrics",function(){return I.Q}),n.d(e,"resetSVGClipId",function(){return I.J}),n.d(e,"sceneEqual",function(){return I.K}),n.d(e,"pathEqual",function(){return I.B}),n.d(e,"sceneToJSON",function(){return I.N}),n.d(e,"sceneFromJSON",function(){return I.L}),n.d(e,"sceneZOrder",function(){return I.P}),n.d(e,"sceneVisit",function(){return I.O}),n.d(e,"scenePickVisit",function(){return I.M}),n.d(e,"Dataflow",function(){return r.a}),n.d(e,"EventStream",function(){return r.b}),n.d(e,"Parameters",function(){return r.e}),n.d(e,"Pulse",function(){return r.f}),n.d(e,"MultiPulse",function(){return r.c}),n.d(e,"Operator",function(){return r.d}),n.d(e,"Transform",function(){return r.g}),n.d(e,"changeset",function(){return r.h}),n.d(e,"ingest",function(){return r.k}),n.d(e,"isTuple",function(){return r.m}),n.d(e,"definition",function(){return r.i}),n.d(e,"transform",function(){return r.p}),n.d(e,"transforms",function(){return r.q}),n.d(e,"tupleid",function(){return r.r});var E=n(77);n.d(e,"scale",function(){return E.d}),n.d(e,"scheme",function(){return E.f}),n.d(e,"interpolate",function(){return E.b}),n.d(e,"interpolateRange",function(){return E.c}),n.d(e,"timeInterval",function(){return E.g}),n.d(e,"utcInterval",function(){return E.h});var T=n(175);n.d(e,"projection",function(){return T.b});var N=n(1156);n.d(e,"View",function(){return N.a});var y=n(508);n.d(e,"parse",function(){return y.d}),n.d(e,"expressionFunction",function(){return y.a}),n.d(e,"formatLocale",function(){return y.b}),n.d(e,"timeFormatLocale",function(){return y.e});var p=n(526);n.d(e,"runtime",function(){return p.b}),n.d(e,"runtimeContext",function(){return p.a}),Object(i.extend)(r.q,A,o,a,c,s,u,g,l,M)},function(t,e,n){"use strict";function i(){this._log=Object(I.logger)(),this.logLevel(I.Error),this._clock=0,this._rank=0;try{this._loader=Object(f.d)()}catch(t){}this._touched=Object(d.a)(I.id),this._pulses={},this._pulse=null,this._heap=new h.a(function(t,e){return t.qrank-e.qrank}),this._postrun=[]}function r(t){return function(){return this._log[t].apply(this,arguments)}}e.a=i;var A=n(797),o=n(798),a=n(799),c=n(800),s=n(819),u=n(820),g=n(821),l=n(822),M=n(242),h=n(823),d=n(117),f=n(69),I=n(0),E=i.prototype;E.stamp=function(){return this._clock},E.loader=function(t){return arguments.length?(this._loader=t,this):this._loader},E.cleanThreshold=1e4,E.add=A.a,E.connect=o.a,E.rank=u.a,E.rerank=u.b,E.pulse=l.a,E.touch=l.b,E.update=l.c,E.changeset=M.a,E.ingest=c.a,E.request=c.b,E.events=a.a,E.on=s.a,E.run=g.c,E.runAsync=g.e,E.runAfter=g.d,E._enqueue=g.a,E._getPulse=g.b,E.error=r("error"),E.warn=r("warn"),E.info=r("info"),E.debug=r("debug"),E.logLevel=r("level")},function(t,e,n){"use strict";var i=n(157),r=n(0);e.a=function(t,e,n,A){var o,a=1;return t instanceof i.a?o=t:t&&t.prototype instanceof i.a?o=new t:Object(r.isFunction)(t)?o=new i.a(null,t):(a=0,o=new i.a(t,e)),this.rank(o),a&&(A=n,n=e),n&&this.connect(o,o.parameters(n,A)),this.touch(o),o}},function(t,e,n){"use strict";e.a=function(t,e){var n,i,r=t.rank;for(n=0,i=e.length;n<i;++n)if(r<e[n].rank)return void this.rerank(t)}},function(t,e,n){"use strict";var i=n(384),r=n(0);e.a=function(t,e,n,A){var o,a=this,c=Object(i.b)(n,A),s=function(t){t.dataflow=a;try{c.receive(t)}catch(t){a.error(t)}finally{a.run()}};o="string"==typeof t&&"undefined"!=typeof document?document.querySelectorAll(t):Object(r.array)(t);for(var u=0,g=o.length;u<g;++u)o[u].addEventListener(e,s);return c}},function(t,e,n){"use strict";function i(t,e,n){return this.pulse(t,this.changeset().insert(Object(o.e)(e,n)))}function r(t){var e,n,i=new Promise(function(t,i){e=t,n=i});return i.requests=0,i.done=function(){0==--i.requests&&t.runAfter(function(){t._pending=null;try{t.run(),e(t)}catch(t){n(t)}})},t._pending=i}function A(t,e,n){var i=this,A=i._pending||r(i);A.requests+=1,i.loader().load(e,{context:"dataflow"}).then(function(e){i.ingest(t,e,n)},function(t){i.error("Loading failed",e,t)}).catch(function(t){i.error("Data ingestion failed",e,t)}).then(A.done,A.done)}e.a=i,e.b=A;var o=n(69)},function(t,e,n){"use strict";function i(t,e){return Object(u.extend)({},t.options,e)}function r(t,e){var n=this;return n.sanitize(t,e).then(function(t){var i=t.href;return t.localFile?n.file(i):n.http(i,e)})}function A(t,e){return e=i(this,e),new Promise(function(n,i){var r,A,o,a,g={href:null};if(null==t||"string"!=typeof t)return void i("Sanitize failure, invalid URI: "+Object(u.stringValue)(t));A=l.test(t),(a=e.baseURL)&&!A&&(s(t,"/")||"/"===a[a.length-1]||(t="/"+t),t=a+t),o=(r=s(t,M))||"file"===e.mode||"http"!==e.mode&&!A&&c(),r?t=t.slice(M.length):s(t,"//")&&("file"===e.defaultProtocol?(t=t.slice(2),o=!0):t=(e.defaultProtocol||"http")+":"+t),Object.defineProperty(g,"localFile",{value:!!o}),g.href=t,n(g)})}function o(t,e){return e=i(this,e),new Promise(function(n,i){var r,A=Object(g.request)(t);for(r in e.headers)A.header(r,e.headers[r]);h.forEach(function(t){e[t]&&A[t](e[t])}),A.on("error",function(e){i(e||"Error loading URL: "+t)}).on("load",function(t){var e=t&&t.responseText;t&&0!==t.status?n(e):i(e||"Error")}).get()})}function a(t){return new Promise(function(e,n){var i=c();i?i.readFile(t,function(t,i){t?n(t):e(i)}):n("No file system access for "+t)})}function c(){var t=n(812);return t&&Object(u.isFunction)(t.readFile)?t:null}function s(t,e){return null!=t&&0===t.lastIndexOf(e,0)}var u=n(0),g=n(802),l=(n.n(g),/^([A-Za-z]+:)?\/\//),M="file://",h=["mimeType","responseType","user","password"];e.a=function(t){return{options:t||{},sanitize:A,load:r,file:a,http:o}}},function(t,e,n){!function(t,i){i(e,n(45),n(36),n(809))}(0,function(t,e,n,i){"use strict";function r(t){return function(e,n){t(null==e?n:null)}}function A(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}function o(t,e){return function(n){return t(n.responseText,e)}}var a=function(t,i){function o(t){var e,n=M.status;if(!n&&A(M)||n>=200&&n<300||304===n){if(s)try{e=s.call(a,M)}catch(t){return void g.call("error",a,t)}else e=M;g.call("load",a,e)}else g.call("error",a,t)}var a,c,s,u,g=n.dispatch("beforesend","progress","load","error"),l=e.map(),M=new XMLHttpRequest,h=null,d=null,f=0;if("undefined"==typeof XDomainRequest||"withCredentials"in M||!/^(http(s)?:)?\/\//.test(t)||(M=new XDomainRequest),"onload"in M?M.onload=M.onerror=M.ontimeout=o:M.onreadystatechange=function(t){M.readyState>3&&o(t)},M.onprogress=function(t){g.call("progress",a,t)},a={header:function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l.get(t):(null==e?l.remove(t):l.set(t,e+""),a)},mimeType:function(t){return arguments.length?(c=null==t?null:t+"",a):c},responseType:function(t){return arguments.length?(u=t,a):u},timeout:function(t){return arguments.length?(f=+t,a):f},user:function(t){return arguments.length<1?h:(h=null==t?null:t+"",a)},password:function(t){return arguments.length<1?d:(d=null==t?null:t+"",a)},response:function(t){return s=t,a},get:function(t,e){return a.send("GET",t,e)},post:function(t,e){return a.send("POST",t,e)},send:function(e,n,i){return M.open(e,t,!0,h,d),null==c||l.has("accept")||l.set("accept",c+",*/*"),M.setRequestHeader&&l.each(function(t,e){M.setRequestHeader(e,t)}),null!=c&&M.overrideMimeType&&M.overrideMimeType(c),null!=u&&(M.responseType=u),f>0&&(M.timeout=f),null==i&&"function"==typeof n&&(i=n,n=null),null!=i&&1===i.length&&(i=r(i)),null!=i&&a.on("error",i).on("load",function(t){i(null,t)}),g.call("beforesend",a,M),M.send(null==n?null:n),a},abort:function(){return M.abort(),a},on:function(){var t=g.on.apply(g,arguments);return t===g?a:t}},null!=i){if("function"!=typeof i)throw new Error("invalid callback: "+i);return a.get(i)}return a},c=function(t,e){return function(n,i){var r=a(n).mimeType(t).response(e);if(null!=i){if("function"!=typeof i)throw new Error("invalid callback: "+i);return r.get(i)}return r}},s=c("text/html",function(t){return document.createRange().createContextualFragment(t.responseText)}),u=c("application/json",function(t){return JSON.parse(t.responseText)}),g=c("text/plain",function(t){return t.responseText}),l=c("application/xml",function(t){var e=t.responseXML;if(!e)throw new Error("parse error");return e}),M=function(t,e){return function(n,i,r){arguments.length<3&&(r=i,i=null);var A=a(n).mimeType(t);return A.row=function(t){return arguments.length?A.response(o(e,i=t)):i},A.row(i),r?A.get(r):A}},h=M("text/csv",i.csvParse),d=M("text/tab-separated-values",i.tsvParse);t.request=a,t.html=s,t.json=u,t.text=g,t.xml=l,t.csv=h,t.tsv=d,Object.defineProperty(t,"__esModule",{value:!0})})},function(t,e,n){"use strict";function i(){return{}}function r(t,e,n){t[e]=n}function A(){return Object(a.a)()}function o(t,e,n){t.set(e,n)}var a=n(244);e.a=function(){function t(e,i,r,A){if(i>=u.length)return null!=n&&e.sort(n),null!=c?c(e):e;for(var o,s,g,l=-1,M=e.length,h=u[i++],d=Object(a.a)(),f=r();++l<M;)(g=d.get(o=h(s=e[l])+""))?g.push(s):d.set(o,[s]);return d.each(function(e,n){A(f,n,t(e,i,r,A))}),f}function e(t,n){if(++n>u.length)return t;var i,r=g[n-1];return null!=c&&n>=u.length?i=t.entries():(i=[],t.each(function(t,r){i.push({key:r,values:e(t,n)})})),null!=r?i.sort(function(t,e){return r(t.key,e.key)}):i}var n,c,s,u=[],g=[];return s={object:function(e){return t(e,0,i,r)},map:function(e){return t(e,0,A,o)},entries:function(n){return e(t(n,0,A,o),0)},key:function(t){return u.push(t),s},sortKeys:function(t){return g[u.length-1]=t,s},sortValues:function(t){return n=t,s},rollup:function(t){return c=t,s}}}},function(t,e,n){"use strict";function i(){}function r(t,e){var n=new i;if(t instanceof i)t.each(function(t){n.add(t)});else if(t){var r=-1,A=t.length;if(null==e)for(;++r<A;)n.add(t[r]);else for(;++r<A;)n.add(e(t[r],r,t))}return n}var A=n(244),o=A.a.prototype;i.prototype=r.prototype={constructor:i,has:o.has,add:function(t){return t+="",this[A.b+t]=t,this},remove:o.remove,clear:o.clear,values:o.keys,size:o.size,empty:o.empty,each:o.each},e.a=r},function(t,e,n){"use strict";e.a=function(t){var e=[];for(var n in t)e.push(n);return e}},function(t,e,n){"use strict";e.a=function(t){var e=[];for(var n in t)e.push(t[n]);return e}},function(t,e,n){"use strict";e.a=function(t){var e=[];for(var n in t)e.push({key:n,value:t[n]});return e}},function(t,e,n){"use strict";function i(){for(var t,e=0,n=arguments.length,i={};e<n;++e){if(!(t=arguments[e]+"")||t in i)throw new Error("illegal type: "+t);i[t]=[]}return new r(i)}function r(t){this._=t}function A(t,e){return t.trim().split(/^|\s+/).map(function(t){var n="",i=t.indexOf(".");if(i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}})}function o(t,e){for(var n,i=0,r=t.length;i<r;++i)if((n=t[i]).name===e)return n.value}function a(t,e,n){for(var i=0,r=t.length;i<r;++i)if(t[i].name===e){t[i]=c,t=t.slice(0,i).concat(t.slice(i+1));break}return null!=n&&t.push({name:e,value:n}),t}var c={value:function(){}};r.prototype=i.prototype={constructor:r,on:function(t,e){var n,i=this._,r=A(t+"",i),c=-1,s=r.length;{if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++c<s;)if(n=(t=r[c]).type)i[n]=a(i[n],t.name,e);else if(null==e)for(n in i)i[n]=a(i[n],t.name,null);return this}for(;++c<s;)if((n=(t=r[c]).type)&&(n=o(i[n],t.name)))return n}},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new r(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,i,r=new Array(n),A=0;A<n;++A)r[A]=arguments[A+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=this._[t],A=0,n=i.length;A<n;++A)i[A].value.apply(e,r)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var i=this._[t],r=0,A=i.length;r<A;++r)i[r].value.apply(e,n)}},e.a=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(245);n.d(e,"dsvFormat",function(){return i.a});var r=n(810);n.d(e,"csvParse",function(){return r.c}),n.d(e,"csvParseRows",function(){return r.d}),n.d(e,"csvFormat",function(){return r.a}),n.d(e,"csvFormatRows",function(){return r.b});var A=n(811);n.d(e,"tsvParse",function(){return A.c}),n.d(e,"tsvParseRows",function(){return A.d}),n.d(e,"tsvFormat",function(){return A.a}),n.d(e,"tsvFormatRows",function(){return A.b})},function(t,e,n){"use strict";n.d(e,"c",function(){return A}),n.d(e,"d",function(){return o}),n.d(e,"a",function(){return a}),n.d(e,"b",function(){return c});var i=n(245),r=Object(i.a)(","),A=r.parse,o=r.parseRows,a=r.format,c=r.formatRows},function(t,e,n){"use strict";n.d(e,"c",function(){return A}),n.d(e,"d",function(){return o}),n.d(e,"a",function(){return a}),n.d(e,"b",function(){return c});var i=n(245),r=Object(i.a)("\t"),A=r.parse,o=r.parseRows,a=r.format,c=r.formatRows},function(t,e){},function(t,e,n){"use strict";function i(t,e,n){if(t.length){n=n||a.timeParse;var i,A,o,c,s,u,g,l=t.columns||Object.keys(t[0]);for("auto"===e&&(e=Object(r.b)(t,l)),l=Object.keys(e),i=l.map(function(t){var i,A,o=e[t];if(o&&(0===o.indexOf("date:")||0===o.indexOf("utc:")))return i=o.split(/:(.+)?/,2),A=i[1],("'"===A[0]&&"'"===A[A.length-1]||'"'===A[0]&&'"'===A[A.length-1])&&(A=A.slice(1,-1)),"utc"===i[0]?Object(a.utcParse)(A):n(A);if(!r.c[o])throw Error("Illegal format pattern: "+t+":"+o);return r.c[o]}),c=0,u=t.length,g=l.length;c<u;++c)for(A=t[c],s=0;s<g;++s)o=l[s],A[o]=i[s](A[o])}}var r=n(385),A=n(386),o=n(0),a=n(92);e.a=function(t,e,n){e=e||{};var r=Object(A.a)(e.type||"json");return r||Object(o.error)("Unknown data format type: "+e.type),t=r(t,e),e.parse&&i(t,e.parse,n),t.hasOwnProperty("columns")&&delete t.columns,t}},function(t,e,n){"use strict";function i(t){return function(e,n){var i={delimiter:t};return r(e,n?Object(o.extend)(n,i):i)}}function r(t,e){return e.header&&(t=e.header.map(o.stringValue).join(e.delimiter)+"\n"+t),Object(A.a)(e.delimiter).parse(t+"")}e.b=i,e.a=r;var A=n(815),o=n(0)},function(t,e,n){"use strict";var i=n(246);n.d(e,"a",function(){return i.a});n(816),n(817)},function(t,e,n){"use strict";var i=n(246),r=Object(i.a)(",");r.parse,r.parseRows,r.format,r.formatRows},function(t,e,n){"use strict";var i=n(246),r=Object(i.a)("\t");r.parse,r.parseRows,r.format,r.formatRows},function(t,e,n){"use strict";var i=n(387),r=n(334),A=(n.n(r),n(0));e.a=function(t,e){var n,o;return t=Object(i.a)(t,e),e&&(o=e.feature)?(n=t.objects[o])?Object(r.feature)(t,n).features:Object(A.error)("Invalid TopoJSON object: "+o):e&&(o=e.mesh)?(n=t.objects[o])?[Object(r.mesh)(t,n)]:Object(A.error)("Invalid TopoJSON object: "+o):void Object(A.error)("Missing TopoJSON feature or mesh parameter.")}},function(t,e,n){"use strict";function i(t,e,n,i,r,s){var u,g,l=Object(a.extend)({},s,c);Object(a.isFunction)(n)||(n=Object(a.constant)(n)),void 0===i?u=function(e){t.touch(n(e))}:Object(a.isFunction)(i)?(g=new A.a(null,i,r,!1),u=function(e){var i,r=n(e);g.evaluate(e),Object(o.b)(i=g.value)?t.pulse(r,i,s):t.update(r,i,l)}):u=function(e){t.update(n(e),i,l)},e.apply(u)}function r(t,e,n,i,r,o){var c,s;void 0===i?s=n:(c=Object(a.isFunction)(i)?i:Object(a.constant)(i),i=n?function(t,e){var i=c(t,e);return n.skip()?i:n.skip(!0).value=i}:c,s=new A.a(null,i,r,!1),s.modified(o&&o.force),s.rank=0,n&&(s.skip(!0),s.value=n.value,s.targets().add(n))),e.targets().add(s)}var A=n(157),o=n(242),a=n(0),c={skip:!0};e.a=function(t,e,n,o,a){return(t instanceof A.a?r:i)(this,t,e,n,o,a),this}},function(t,e,n){"use strict";function i(t){t.rank=++this._rank}function r(t){for(var e,n,i,r=[t];r.length;)if(this.rank(e=r.pop()),n=e._targets)for(i=n.length;--i>=0;)r.push(e=n[i]),e===t&&Object(A.error)("Cycle detected in dataflow graph.")}e.a=i,e.b=r;var A=n(0)},function(t,e,n){"use strict";function i(t){var e,n,i,r,A=this,o=0,a=A.logLevel();if(A._pending)return A.info("Awaiting requests, delaying dataflow run."),0;if(A._pulse)return A.error("Dataflow invoked recursively. Use the runAfter method to queue invocation."),0;if(!A._touched.length)return A.info("Dataflow invoked, but nothing to do."),0;A._pulse=new c.b(A,++A._clock,t),a>=g.Info&&(i=Date.now(),A.debug("-- START PROPAGATION ("+A._clock+") -----")),A._touched.forEach(function(t){A._enqueue(t,!0)}),A._touched=Object(u.a)(g.id);try{for(;A._heap.size()>0;)e=A._heap.pop(),e.rank===e.qrank?(n=e.run(A._getPulse(e,t)),a>=g.Debug&&A.debug(e.id,n===c.a?"STOP":n,e),n!==c.a&&(A._pulse=n,e._targets&&e._targets.forEach(function(t){A._enqueue(t)})),++o):A._enqueue(e,!0)}catch(t){r=t}if(A._pulses={},A._pulse=null,a>=g.Info&&(i=Date.now()-i,A.info("> Pulse "+A._clock+": "+o+" operators; "+i+"ms")),r&&(A._postrun=[],A.error(r)),A._onrun)try{A._onrun(A,o,r)}catch(t){A.error(t)}if(A._postrun.length){var s=A._postrun;A._postrun=[],s.forEach(function(t){try{t(A)}catch(t){A.error(t)}})}return o}function r(){return this._pending||Promise.resolve(this.run())}function A(t,e){if(this._pulse||e)this._postrun.push(t);else try{t(this)}catch(t){this.error(t)}}function o(t,e){var n=!this._pulses[t.id];n&&(this._pulses[t.id]=this._pulse),(n||e)&&(t.qrank=t.rank,this._heap.push(t))}function a(t,e){var n,i=t.source,r=this._clock;return i&&Object(g.isArray)(i)?(n=i.map(function(t){return t.pulse}),new s.a(this,r,n,e)):(i=i&&i.pulse,n=this._pulses[t.id],i&&i!==c.a&&(i.stamp===r&&n.target!==t?n=i:n.source=i.source),n)}e.c=i,e.e=r,e.d=A,e.a=o,e.b=a;var c=n(158),s=n(388),u=n(117),g=n(0)},function(t,e,n){"use strict";function i(t,e){var n=e||a;return this._pulse?this._enqueue(t):this._touched.add(t),n.skip&&t.skip(!0),this}function r(t,e,n){var i=n||a;return(t.set(e)||i.force)&&this.touch(t,i),this}function A(t,e,n){this.touch(t,n||a);var i=new o.b(this,this._clock+(this._pulse?0:1)),r=t.pulse&&t.pulse.source||[];return i.target=t,this._pulses[t.id]=e.pulse(i,r),this}e.b=i,e.c=r,e.a=A;var o=n(158),a={skip:!1,force:!1}},function(t,e,n){"use strict";function i(t){this.cmp=t,this.nodes=[]}function r(t,e,n,i){var r,A,o;for(r=t[n];n>e&&(o=n-1>>1,A=t[o],i(r,A)<0);)t[n]=A,n=o;return t[n]=r}function A(t,e,n){for(var i,A=e,o=t.length,a=t[e],c=2*e+1;c<o;)i=c+1,i<o&&n(t[c],t[i])>=0&&(c=i),t[e]=t[c],e=c,c=2*e+1;return t[e]=a,r(t,A,e,n)}e.a=i;var o=i.prototype;o.size=function(){return this.nodes.length},o.clear=function(){return this.nodes=[],this},o.peek=function(){return this.nodes[0]},o.push=function(t){var e=this.nodes;return e.push(t),r(e,0,e.length-1,this.cmp)},o.pop=function(){var t,e=this.nodes,n=e.pop();return e.length?(t=e[0],e[0]=n,A(e,0,this.cmp)):t=n,t},o.replace=function(t){var e=this.nodes,n=e[0];return e[0]=t,A(e,0,this.cmp),n},o.pushpop=function(t){var e=this.nodes,n=e[0];return e.length&&this.cmp(n,t)<0&&(e[0]=t,t=n,A(e,0,this.cmp)),t}},function(t,e,n){"use strict";function i(t,e){r.a.call(this,t,null,e)}e.a=i;var r=n(157),A=n(0),o=Object(A.inherits)(i,r.a);o.run=function(t){if(t.stamp<=this.stamp)return t.StopPropagation;var e;return this.skip()?this.skip(!1):e=this.evaluate(t),e=e||t,e!==t.StopPropagation&&(this.pulse=e),this.stamp=t.stamp,e},o.evaluate=function(t){var e=this.marshall(t.stamp),n=this.transform(e,t);return e.clear(),n},o.transform=function(){}},function(t,e,n){"use strict";function i(t){var e=r(t);return e&&e.Definition||null}function r(t){return t=t&&t.toLowerCase(),A.hasOwnProperty(t)?A[t]:null}n.d(e,"c",function(){return A}),e.a=i,e.b=r;var A={}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(389);n.d(e,"aggregate",function(){return i.a});var r=n(849);n.d(e,"bin",function(){return r.a});var A=n(850);n.d(e,"collect",function(){return A.a});var o=n(851);n.d(e,"compare",function(){return o.a});var a=n(852);n.d(e,"countpattern",function(){return a.a});var c=n(853);n.d(e,"cross",function(){return c.a});var s=n(854);n.d(e,"density",function(){return s.a});var u=n(856);n.d(e,"extent",function(){return u.a});var g=n(408);n.d(e,"facet",function(){return g.a});var l=n(857);n.d(e,"field",function(){return l.a});var M=n(858);n.d(e,"filter",function(){return M.a});var h=n(859);n.d(e,"fold",function(){return h.a});var d=n(860);n.d(e,"formula",function(){return d.a});var f=n(861);n.d(e,"generate",function(){return f.a});var I=n(862);n.d(e,"impute",function(){return I.a});var E=n(863);n.d(e,"joinaggregate",function(){return E.a});var T=n(864);n.d(e,"key",function(){return T.a});var N=n(865);n.d(e,"lookup",function(){return N.a});var y=n(866);n.d(e,"multiextent",function(){return y.a});var p=n(867);n.d(e,"multivalues",function(){return p.a});var C=n(868);n.d(e,"params",function(){return C.a});var D=n(869);n.d(e,"prefacet",function(){return D.a});var x=n(870);n.d(e,"project",function(){return x.a});var B=n(871);n.d(e,"proxy",function(){return B.a});var w=n(872);n.d(e,"relay",function(){return w.a});var m=n(873);n.d(e,"sample",function(){return m.a});var Q=n(874);n.d(e,"sequence",function(){return Q.a});var v=n(875);n.d(e,"sieve",function(){return v.a});var j=n(409);n.d(e,"subflow",function(){return j.a});var L=n(876);n.d(e,"tupleindex",function(){return L.a});var S=n(877);n.d(e,"values",function(){return S.a});var Y=n(878);n.d(e,"window",function(){return Y.a})},function(t,e,n){"use strict";e.a=function(t){var e,n,i,r,A,o,a,c,s=t.maxbins||20,u=t.base||10,g=Math.log(u),l=t.divide||[5,2],M=t.extent[0],h=t.extent[1],d=h-M;if(t.step)e=t.step;else if(t.steps){for(A=d/s,o=0,a=t.steps.length;o<a&&t.steps[o]<A;++o);e=t.steps[Math.max(0,o-1)]}else{for(n=Math.ceil(Math.log(s)/g),i=t.minstep||0,e=Math.max(i,Math.pow(u,Math.round(Math.log(d)/g)-n));Math.ceil(d/e)>s;)e*=u;for(o=0,a=l.length;o<a;++o)(A=e/l[o])>=i&&d/A<=s&&(e=A)}return A=Math.log(e),r=A>=0?0:1+~~(-A/g),c=Math.pow(u,-r-1),(t.nice||void 0===t.nice)&&(A=Math.floor(M/e+c)*e,M=M<A?A-e:A,h=Math.ceil(h/e)*e),{start:M,stop:h,step:e}}},function(t,e,n){"use strict";var i=n(392),r=n(71),A=n(10);e.a=function(t,e,n,o){var a,c,s,u,g=Object(i.a)(t,o),l=g.length,M=e;for(s=0,u=Array(M);s<M;++s){for(a=0,c=0;c<l;++c)a+=g[~~(Object(r.a)()*l)];u[s]=a/l}return[Object(A.quantile)(u.sort(A.ascending),n/2),Object(A.quantile)(u,1-n/2)]}},function(t,e,n){"use strict";var i=n(395);e.a=function(t,e,n){var r,A,o,a,c=t.length,s=e.length,u=new Array(c*s);for(null==n&&(n=i.b),r=o=0;r<c;++r)for(a=t[r],A=0;A<s;++A,++o)u[o]=n(a,e[A]);return u}},function(t,e,n){"use strict";e.a=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}},function(t,e,n){"use strict";var i=n(399),r=n(393),A=n(832),o=n(398),a=n(833),c=n(400),s=n(401),u=n(402);e.a=function(){function t(t){var i,A,o=t.length,a=new Array(o);for(i=0;i<o;++i)a[i]=e(t[i],i,t);var u=n(a),l=u[0],M=u[1],h=g(a,l,M);Array.isArray(h)||(h=Object(s.c)(l,M,h),h=Object(c.a)(Math.ceil(l/h)*h,Math.floor(M/h)*h,h));for(var d=h.length;h[0]<=l;)h.shift(),--d;for(;h[d-1]>M;)h.pop(),--d;var f,I=new Array(d+1);for(i=0;i<=d;++i)f=I[i]=[],f.x0=i>0?h[i-1]:l,f.x1=i<d?h[i]:M;for(i=0;i<o;++i)A=a[i],l<=A&&A<=M&&I[Object(r.c)(h,A,0,d)].push(t[i]);return I}var e=a.a,n=o.a,g=u.a;return t.value=function(n){return arguments.length?(e="function"==typeof n?n:Object(A.a)(n),t):e},t.domain=function(e){return arguments.length?(n="function"==typeof e?e:Object(A.a)([e[0],e[1]]),t):n},t.thresholds=function(e){return arguments.length?(g="function"==typeof e?e:Array.isArray(e)?Object(A.a)(i.b.call(e)):Object(A.a)(e),t):g},t}},function(t,e,n){"use strict";e.a=function(t){return function(){return t}}},function(t,e,n){"use strict";e.a=function(t){return t}},function(t,e,n){"use strict";var i=n(399),r=n(93),A=n(118),o=n(247);e.a=function(t,e,n){return t=i.a.call(t,A.a).sort(r.a),Math.ceil((n-e)/(2*(Object(o.a)(t,.75)-Object(o.a)(t,.25))*Math.pow(t.length,-1/3)))}},function(t,e,n){"use strict";var i=n(396);e.a=function(t,e,n){return Math.ceil((n-e)/(3.5*Object(i.a)(t)*Math.pow(t.length,-1/3)))}},function(t,e,n){"use strict";e.a=function(t,e){var n,i,r=t.length,A=-1;if(null==e){for(;++A<r;)if(null!=(n=t[A])&&n>=n)for(i=n;++A<r;)null!=(n=t[A])&&n>i&&(i=n)}else for(;++A<r;)if(null!=(n=e(t[A],A,t))&&n>=n)for(i=n;++A<r;)null!=(n=e(t[A],A,t))&&n>i&&(i=n);return i}},function(t,e,n){"use strict";var i=n(118);e.a=function(t,e){var n,r=t.length,A=r,o=-1,a=0;if(null==e)for(;++o<r;)isNaN(n=Object(i.a)(t[o]))?--A:a+=n;else for(;++o<r;)isNaN(n=Object(i.a)(e(t[o],o,t)))?--A:a+=n;if(A)return a/A}},function(t,e,n){"use strict";var i=n(93),r=n(118),A=n(247);e.a=function(t,e){var n,o=t.length,a=-1,c=[];if(null==e)for(;++a<o;)isNaN(n=Object(r.a)(t[a]))||c.push(n);else for(;++a<o;)isNaN(n=Object(r.a)(e(t[a],a,t)))||c.push(n);return Object(A.a)(c.sort(i.a),.5)}},function(t,e,n){"use strict";e.a=function(t){for(var e,n,i,r=t.length,A=-1,o=0;++A<r;)o+=t[A].length;for(n=new Array(o);--r>=0;)for(i=t[r],e=i.length;--e>=0;)n[--o]=i[e];return n}},function(t,e,n){"use strict";e.a=function(t,e){for(var n=e.length,i=new Array(n);n--;)i[n]=t[e[n]];return i}},function(t,e,n){"use strict";var i=n(93);e.a=function(t,e){if(n=t.length){var n,r,A=0,o=0,a=t[o];for(null==e&&(e=i.a);++A<n;)(e(r=t[A],a)<0||0!==e(a,a))&&(a=r,o=A);return 0===e(a,a)?o:void 0}}},function(t,e,n){"use strict";e.a=function(t,e,n){for(var i,r,A=(null==n?t.length:n)-(e=null==e?0:+e);A;)r=Math.random()*A--|0,i=t[A+e],t[A+e]=t[r+e],t[r+e]=i;return t}},function(t,e,n){"use strict";e.a=function(t,e){var n,i=t.length,r=-1,A=0;if(null==e)for(;++r<i;)(n=+t[r])&&(A+=n);else for(;++r<i;)(n=+e(t[r],r,t))&&(A+=n);return A}},function(t,e,n){"use strict";var i=n(404);e.a=function(){return Object(i.a)(arguments)}},function(t,e,n){"use strict";var i=n(71);e.a=function(t,e){null==e&&(e=t,t=0);var n,r,A,o={};return o.min=function(t){return arguments.length?(n=t||0,A=r-n,o):n},o.max=function(t){return arguments.length?(r=t||0,A=r-n,o):r},o.sample=function(){return n+Math.floor(A*Object(i.a)())},o.pdf=function(t){return t===Math.floor(t)&&t>=n&&t<r?1/A:0},o.cdf=function(t){var e=Math.floor(t);return e<n?0:e>=r?1:(e-n+1)/A},o.icdf=function(t){return t>=0&&t<=1?n-1+Math.floor(t*A):NaN},o.min(t).max(e)}},function(t,e,n){"use strict";function i(t){var e=t.length,n=Object(A.a)(t),i=(n[2]-n[0])/1.34;return 1.06*Math.min(Math.sqrt(Object(a.variance)(t)),i)*Math.pow(e,-.2)}var r=n(406),A=n(405),o=n(71),a=n(10);e.a=function(t,e){var n=Object(r.a)(),A={},a=0;return A.data=function(n){return arguments.length?(t=n,a=n?n.length:0,A.bandwidth(e)):t},A.bandwidth=function(n){return arguments.length?(e=n,!e&&t&&(e=i(t)),A):e},A.sample=function(){return t[~~(Object(o.a)()*a)]+e*n.sample()},A.pdf=function(i){for(var r=0,A=0;A<a;++A)r+=n.pdf((i-t[A])/e);return r/e/a},A.cdf=function(i){for(var r=0,A=0;A<a;++A)r+=n.cdf((i-t[A])/e);return r/a},A.icdf=function(){throw Error("KDE icdf not supported.")},A.data(t)}},function(t,e,n){"use strict";var i=n(71);e.a=function(t,e){function n(t){var e,n=[],i=0;for(e=0;e<o;++e)i+=n[e]=null==t[e]?1:+t[e];for(e=0;e<o;++e)n[e]/=i;return n}var r,A={},o=0;return A.weights=function(t){return arguments.length?(r=n(e=t||[]),A):e},A.distributions=function(n){return arguments.length?(n?(o=n.length,t=n):(o=0,t=[]),A.weights(e)):t},A.sample=function(){for(var e=Object(i.a)(),n=t[o-1],A=r[0],a=0;a<o-1;A+=r[++a])if(e<A){n=t[a];break}return n.sample()},A.pdf=function(e){for(var n=0,i=0;i<o;++i)n+=r[i]*t[i].pdf(e);return n},A.cdf=function(e){for(var n=0,i=0;i<o;++i)n+=r[i]*t[i].cdf(e);return n},A.icdf=function(){throw Error("Mixture icdf not supported.")},A.distributions(t).weights(e)}},function(t,e,n){"use strict";var i=n(71);e.a=function(t,e){null==e&&(e=null==t?1:t,t=0);var n,r,A,o={};return o.min=function(t){return arguments.length?(n=t||0,A=r-n,o):n},o.max=function(t){return arguments.length?(r=t||0,A=r-n,o):r},o.sample=function(){return n+A*Object(i.a)()},o.pdf=function(t){return t>=n&&t<=r?1/A:0},o.cdf=function(t){return t<n?0:t>r?1:(t-n)/A},o.icdf=function(t){return t>=0&&t<=1?n+t*A:NaN},o.min(t).max(e)}},function(t,e,n){"use strict";function i(t){r.g.call(this,null,t)}e.a=i;var r=n(1),A=n(70),o=n(0);i.Definition={type:"Bin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"anchor",type:"number"},{name:"maxbins",type:"number",default:20},{name:"base",type:"number",default:10},{name:"divide",type:"number",array:!0,default:[5,2]},{name:"extent",type:"number",array:!0,length:2,required:!0},{name:"step",type:"number"},{name:"steps",type:"number",array:!0},{name:"minstep",type:"number",default:0},{name:"nice",type:"boolean",default:!0},{name:"name",type:"string"},{name:"as",type:"string",array:!0,length:2,default:["bin0","bin1"]}]};var a=Object(o.inherits)(i,r.g);a.transform=function(t,e){var n,i=this._bins(t),r=i.start,A=i.step,a=t.as||["bin0","bin1"],c=a[0],s=a[1];return t.modified()?(e=e.reflow(!0),n=e.SOURCE):n=e.modified(Object(o.accessorFields)(t.field))?e.ADD_MOD:e.ADD,e.visit(n,function(t){var e=i(t);t[c]=e,t[s]=null==e?null:r+A*(1+(e-r)/A)}),e.modifies(a)},a._bins=function(t){if(this.value&&!t.modified())return this.value;var e,n,i=t.field,r=Object(A.a)(t),a=r.start,c=r.stop,s=r.step;null!=(e=t.anchor)&&(n=e-(a+s*Math.floor((e-a)/s)),a+=n,c+=n);var u=function(t){var e=i(t);return null==e?null:(e=Math.max(a,Math.min(+e,c-s)),a+s*Math.floor((e-a)/s))};return u.start=a,u.stop=c,u.step=s,this.value=Object(o.accessor)(u,Object(o.accessorFields)(i),t.name||"bin_"+Object(o.accessorName)(i))}},function(t,e,n){"use strict";function i(t){A.g.call(this,[],t)}e.a=i;var r=n(407),A=n(1),o=n(0);i.Definition={type:"Collect",metadata:{source:!0},params:[{name:"sort",type:"compare"}]},Object(o.inherits)(i,A.g).transform=function(t,e){var n=e.fork(e.ALL),i=Object(r.a)(A.r,this.value,n.materialize(n.ADD).add),o=t.sort,a=e.changed()||o&&(t.modified("sort")||e.modified(o.fields));return n.visit(n.REM,i.remove),this.modified(a),this.value=n.source=i.data(o,a),n}},function(t,e,n){"use strict";function i(t){A.d.call(this,null,r,t)}function r(t){return this.value&&!t.modified()?this.value:Object(o.compare)(t.fields,t.orders)}e.a=i;var A=n(1),o=n(0);Object(o.inherits)(i,A.d)},function(t,e,n){"use strict";function i(t){A.g.call(this,null,t)}function r(t,e,n){switch(e){case"upper":t=t.toUpperCase();break;case"lower":t=t.toLowerCase()}return t.match(n)}e.a=i;var A=n(1),o=n(0);i.Definition={type:"CountPattern",metadata:{generates:!0,changes:!0},params:[{name:"field",type:"field",required:!0},{name:"case",type:"enum",values:["upper","lower","mixed"],default:"mixed"},{name:"pattern",type:"string",default:'[\\w"]+'},{name:"stopwords",type:"string",default:""},{name:"as",type:"string",array:!0,length:2,default:["text","count"]}]};var a=Object(o.inherits)(i,A.g);a.transform=function(t,e){function n(e){return function(n){for(var i,A=r(c(n),t.case,o)||[],s=0,u=A.length;s<u;++s)a.test(i=A[s])||e(i)}}var i=this._parameterCheck(t,e),A=this._counts,o=this._match,a=this._stop,c=t.field,s=t.as||["text","count"],u=n(function(t){A[t]=1+(A[t]||0)}),g=n(function(t){A[t]-=1});return i?e.visit(e.SOURCE,u):(e.visit(e.ADD,u),e.visit(e.REM,g)),this._finish(e,s)},a._parameterCheck=function(t,e){var n=!1;return!t.modified("stopwords")&&this._stop||(this._stop=new RegExp("^"+(t.stopwords||"")+"$","i"),n=!0),!t.modified("pattern")&&this._match||(this._match=new RegExp(t.pattern||"[\\w']+","g"),n=!0),(t.modified("field")||e.modified(t.field.fields))&&(n=!0),n&&(this._counts={}),n},a._finish=function(t,e){var n,i,r,o=this._counts,a=this._tuples||(this._tuples={}),c=e[0],s=e[1],u=t.fork();for(n in o)i=a[n],r=o[n]||0,!i&&r?(a[n]=i=Object(A.k)({}),i[c]=n,i[s]=r,u.add.push(i)):0===r?(i&&u.rem.push(i),o[n]=null,a[n]=null):i[s]!==r&&(i[s]=r,u.mod.push(i));return u.modifies(e)}},function(t,e,n){"use strict";function i(t){A.g.call(this,null,t)}function r(t,e,n,i){for(var r,o,a=[],c={},s=t.length,u=0;u<s;++u)for(c[e]=o=t[u],r=0;r<s;++r)c[n]=t[r],i(c)&&(a.push(Object(A.k)(c)),c={},c[e]=o);return a}e.a=i;var A=n(1),o=n(0);i.Definition={type:"Cross",metadata:{source:!0,generates:!0,changes:!0},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:!0,length:2,default:["a","b"]}]},Object(o.inherits)(i,A.g).transform=function(t,e){var n=e.fork(e.NO_SOURCE),i=this.value,A=t.as||["a","b"],a=A[0],c=A[1];return!i||e.changed(e.ADD_REM)||t.modified("as")||t.modified("filter")?(i&&(n.rem=i),n.add=this.value=r(e.source,a,c,t.filter||o.truthy)):n.mod=i,n.source=this.value,n.modifies(A)}},function(t,e,n){"use strict";function i(t){o.g.call(this,null,t)}function r(t){return function(){return t.materialize(t.SOURCE).source}}e.a=i;var A=n(855),o=n(1),a=n(0),c=n(10),s=[{key:{function:"normal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"uniform"},params:[{name:"min",type:"number",default:0},{name:"max",type:"number",default:1}]},{key:{function:"kde"},params:[{name:"field",type:"field",required:!0},{name:"from",type:"data"},{name:"bandwidth",type:"number",default:0}]}],u={key:{function:"mixture"},params:[{name:"distributions",type:"param",array:!0,params:s},{name:"weights",type:"number",array:!0}]};i.Definition={type:"Density",metadata:{generates:!0,source:!0},params:[{name:"extent",type:"number",array:!0,length:2},{name:"steps",type:"number",default:100},{name:"method",type:"string",default:"pdf",values:["pdf","cdf"]},{name:"distribution",type:"param",params:s.concat(u)},{name:"as",type:"string",array:!0,default:["value","density"]}]},Object(a.inherits)(i,o.g).transform=function(t,e){var n=e.fork(e.NO_SOURCE|e.NO_FIELDS);if(!this.value||e.changed()||t.modified()){var i=Object(A.a)(t.distribution,r(e)),s=t.method||"pdf";"pdf"!==s&&"cdf"!==s&&Object(a.error)("Invalid density method: "+s),t.extent||i.data||Object(a.error)("Missing density extent parameter."),s=i[s];var u=t.as||["value","density"],g=t.extent||Object(c.extent)(i.data()),l=(g[1]-g[0])/(t.steps||100),M=Object(c.range)(g[0],g[1]+l/2,l).map(function(t){var e={};return e[u[0]]=t,e[u[1]]=s(t),Object(o.k)(e)});this.value&&(n.rem=this.value),this.value=n.add=n.source=M}return n}},function(t,e,n){"use strict";function i(t,e){var n=t[c];o.hasOwnProperty(n)||Object(A.error)("Unknown distribution function: "+n);var r=o[n]();for(var u in t)u===s?r.data((t.from||e()).map(t[u])):u===a?r[u](t[u].map(function(t){return i(t,e)})):typeof r[u]===c&&r[u](t[u]);return r}e.a=i;var r=n(70),A=n(0),o={kde:r.f,mixture:r.g,normal:r.h,uniform:r.i},a="distributions",c="function",s="field"},function(t,e,n){"use strict";function i(t){r.g.call(this,[1/0,-1/0],t)}e.a=i;var r=n(1),A=n(0);i.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:!0}]},Object(A.inherits)(i,r.g).transform=function(t,e){var n,i=this.value,r=t.field,A=i[0],o=i[1],a=e.ADD;n=e.changed()||e.modified(r.fields)||t.modified("field"),n&&(a=e.SOURCE,A=1/0,o=-1/0),e.visit(a,function(t){var e=r(t);null!=e&&(e<A&&(A=e),e>o&&(o=e))}),this.value=[A,o]}},function(t,e,n){"use strict";function i(t){A.d.call(this,null,r,t)}function r(t){return this.value&&!t.modified()?this.value:Object(o.isArray)(t.name)?Object(o.array)(t.name).map(function(t){return Object(o.field)(t)}):Object(o.field)(t.name,t.as)}e.a=i;var A=n(1),o=n(0);Object(o.inherits)(i,A.d)},function(t,e,n){"use strict";function i(t){r.g.call(this,Object(A.fastmap)(),t)}e.a=i;var r=n(1),A=n(0);i.Definition={type:"Filter",metadata:{changes:!0},params:[{name:"expr",type:"expr",required:!0}]},Object(A.inherits)(i,r.g).transform=function(t,e){function n(e){var n=Object(r.r)(e),i=u(e,t),o=A.get(n);i&&o?(A.delete(n),a.push(e)):i||o?g&&i&&!o&&s.push(e):(A.set(n,1),c.push(e))}var i=e.dataflow,A=this.value,o=e.fork(),a=o.add,c=o.rem,s=o.mod,u=t.expr,g=!0;return e.visit(e.REM,function(t){var e=Object(r.r)(t);A.has(e)?A.delete(e):c.push(t)}),e.visit(e.ADD,function(e){u(e,t)?a.push(e):A.set(Object(r.r)(e),1)}),e.visit(e.MOD,n),t.modified()&&(g=!1,e.visit(e.REFLOW,n)),A.empty>i.cleanThreshold&&i.runAfter(A.clean),o}},function(t,e,n){"use strict";function i(t){A.g.call(this,{},t)}function r(t){return t.fields.join("|")}e.a=i;var A=n(1),o=n(0);i.Definition={type:"Fold",metadata:{generates:!0,changes:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0,length:2,default:["key","value"]}]},Object(o.inherits)(i,A.g).transform=function(t,e){function n(t){for(var e,n=a[Object(A.r)(t)]=Array(h),i=0;i<h;++i)e=n[i]=Object(A.j)(t),e[g]=M[i],e[l]=s[i](t),f.add.push(e)}function i(t){for(var e,n=a[Object(A.r)(t)],i=0;i<h;++i)E&1<<i&&(e=Object(A.n)(t,n[i],d),e[g]=M[i],e[l]=s[i](t),f.mod.push(e))}var o,a=this.value,c=t.modified("fields"),s=t.fields,u=t.as||["key","value"],g=u[0],l=u[1],M=s.map(r),h=s.length,d=e.stamp,f=e.fork(e.NO_SOURCE),I=0,E=0;if(c){for(o in a)f.rem.push.apply(f.rem,a[o]);a=this.value={},e.visit(e.SOURCE,n)}else{for(e.visit(e.ADD,n);I<h;++I)e.modified(s[I].fields)&&(E|=1<<I);E&&e.visit(e.MOD,i),e.visit(e.REM,function(t){var e=Object(A.r)(t);f.rem.push.apply(f.rem,a[e]),a[e]=null})}return f.modifies(u)}},function(t,e,n){"use strict";function i(t){r.g.call(this,null,t)}e.a=i;var r=n(1),A=n(0);i.Definition={type:"Formula",metadata:{modifies:!0},params:[{name:"expr",type:"expr",required:!0},{name:"as",type:"string",required:!0},{name:"initonly",type:"boolean"}]},Object(A.inherits)(i,r.g).transform=function(t,e){function n(e){e[r]=i(e,t)}var i=t.expr,r=t.as,A=t.modified(),o=t.initonly?e.ADD:A?e.SOURCE:e.modified(i.fields)?e.ADD_MOD:e.ADD;return A&&(e=e.materialize().reflow(!0)),t.initonly||e.modifies(r),e.visit(o,n)}},function(t,e,n){"use strict";function i(t){r.g.call(this,[],t)}e.a=i;var r=n(1),A=n(0);Object(A.inherits)(i,r.g).transform=function(t,e){var n,i,A,o=this.value,a=e.fork(e.ALL),c=t.size-o.length,s=t.generator;if(c>0){for(n=[];--c>=0;)n.push(A=Object(r.k)(s(t))),o.push(A);a.add=a.add.length?a.materialize(a.ADD).add.concat(n):n}else i=o.slice(0,-c),a.rem=a.rem.length?a.materialize(a.REM).rem.concat(i):i,o=o.slice(-c);return a.source=this.value=o,a}},function(t,e,n){"use strict";function i(t){a.g.call(this,[],t)}function r(t){var e,n=t.method||u.value;if(null!=u[n])return n===u.value?(e=void 0!==t.value?t.value:0,function(){return e}):u[n];Object(c.error)("Unrecognized imputation method: "+n)}function A(t){var e=t.field;return function(t){return t?e(t):NaN}}function o(t,e,n,i){var r,A,o,a,c,s,u,l,M=function(t){return t(l)},h=[],d=i?i.slice():[],f={},I={};for(d.forEach(function(t,e){f[t]=e+1}),a=0,u=t.length;a<u;++a)l=t[a],s=n(l),c=f[s]||(f[s]=d.push(s)),A=(r=e?e.map(M):g)+"",(o=I[A])||(o=I[A]=[],h.push(o),o.values=r),o[c-1]=l;return h.domain=d,h}e.a=i;var a=n(1),c=n(0),s=n(10),u={value:"value",median:s.median,mean:s.mean,min:s.min,max:s.max},g=[];i.Definition={type:"Impute",metadata:{changes:!0},params:[{name:"field",type:"field",required:!0},{name:"key",type:"field",required:!0},{name:"keyvals",array:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"enum",default:"value",values:["value","mean","median","max","min"]},{name:"value",default:0}]},Object(c.inherits)(i,a.g).transform=function(t,e){var n,i,s,u,g,l,M,h,d,f,I=e.fork(e.ALL),E=r(t),T=A(t),N=Object(c.accessorName)(t.field),y=Object(c.accessorName)(t.key),p=(t.groupby||[]).map(c.accessorName),C=o(e.source,t.groupby,t.key,t.keyvals),D=[],x=this.value,B=C.domain.length;for(g=0,h=C.length;g<h;++g)for(n=C[g],s=n.values,i=NaN,M=0;M<B;++M)if(null==n[M]){for(u=C.domain[M],f={_impute:!0},l=0,d=s.length;l<d;++l)f[p[l]]=s[l];f[y]=u,f[N]=isNaN(i)?i=E(n,T):i,D.push(Object(a.k)(f))}return D.length&&(I.add=I.materialize(I.ADD).add.concat(D)),x.length&&(I.rem=I.materialize(I.REM).rem.concat(x)),this.value=D,I}},function(t,e,n){"use strict";function i(t){r.a.call(this,t)}e.a=i;var r=n(389),A=n(159),o=n(0);i.Definition={type:"JoinAggregate",metadata:{modifies:!0},params:[{name:"groupby",type:"field",array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"ops",type:"enum",array:!0,values:A.a},{name:"as",type:"string",null:!0,array:!0},{name:"key",type:"field"}]};var a=Object(o.inherits)(i,r.a);a.transform=function(t,e){var n,i=this,r=t.modified();return i.value&&(r||e.modified(i._inputs))?(n=i.value=r?i.init(t):{},e.visit(e.SOURCE,function(t){i.add(t)})):(n=i.value=i.value||this.init(t),e.visit(e.REM,function(t){i.rem(t)}),e.visit(e.ADD,function(t){i.add(t)})),i.changes(),e.visit(e.SOURCE,function(t){Object(o.extend)(t,n[i.cellkey(t)].tuple)}),e.reflow(r).modifies(this._outputs)},a.changes=function(){var t,e,n=this._adds,i=this._mods;for(t=0,e=this._alen;t<e;++t)this.celltuple(n[t]),n[t]=null;for(t=0,e=this._mlen;t<e;++t)this.celltuple(i[t]),i[t]=null;this._alen=this._mlen=0}},function(t,e,n){"use strict";function i(t){A.d.call(this,null,r,t)}function r(t){return this.value&&!t.modified()?this.value:Object(o.key)(t.fields)}e.a=i;var A=n(1),o=n(0);Object(o.inherits)(i,A.d)},function(t,e,n){"use strict";function i(t){r.g.call(this,{},t)}e.a=i;var r=n(1),A=n(0);i.Definition={type:"Lookup",metadata:{modifies:!0},params:[{name:"index",type:"index",params:[{name:"from",type:"data",required:!0},{name:"key",type:"field",required:!0}]},{name:"values",type:"field",array:!0},{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0},{name:"default",default:null}]},Object(A.inherits)(i,r.g).transform=function(t,e){var n,i,r,o=e,a=t.as,c=t.fields,s=t.index,u=t.values,g=null==t.default?null:t.default,l=t.modified(),M=l?e.SOURCE:e.ADD,h=c.length;return u?(i=u.length,h>1&&!a&&Object(A.error)('Multi-field lookup requires explicit "as" parameter.'),a&&a.length!==h*i&&Object(A.error)('The "as" parameter has too few output field names.'),a=a||u.map(A.accessorName),n=function(t){for(var e,n,r=0,A=0;r<h;++r)if(null==(n=s.get(c[r](t))))for(e=0;e<i;++e,++A)t[a[A]]=g;else for(e=0;e<i;++e,++A)t[a[A]]=u[e](n)}):(a||Object(A.error)("Missing output field names."),n=function(t){for(var e,n=0;n<h;++n)e=s.get(c[n](t)),t[a[n]]=null==e?g:e}),l?o=e.reflow(!0):(r=c.some(function(t){return e.modified(t.fields)}),M|=r?e.MOD:0),e.visit(M,n),o.modifies(a)}},function(t,e,n){"use strict";function i(t){A.d.call(this,null,r,t)}function r(t){if(this.value&&!t.modified())return this.value;var e,n,i,r=1/0,A=-1/0,o=t.extents;for(e=0,n=o.length;e<n;++e)i=o[e],i[0]<r&&(r=i[0]),i[1]>A&&(A=i[1]);return[r,A]}e.a=i;var A=n(1),o=n(0);Object(o.inherits)(i,A.d)},function(t,e,n){"use strict";function i(t){A.d.call(this,null,r,t)}function r(t){return this.value&&!t.modified()?this.value:t.values.reduce(function(t,e){return t.concat(e)},[])}e.a=i;var A=n(1),o=n(0);Object(o.inherits)(i,A.d)},function(t,e,n){"use strict";function i(t){r.g.call(this,null,t)}e.a=i;var r=n(1),A=n(0);Object(A.inherits)(i,r.g),i.prototype.transform=function(t,e){return this.modified(t.modified()),this.value=t,e.fork(e.NO_SOURCE|e.NO_FIELDS)}},function(t,e,n){"use strict";function i(t){r.a.call(this,t)}e.a=i;var r=n(408),A=n(1),o=n(0);Object(o.inherits)(i,r.a).transform=function(t,e){var n=this,i=t.subflow,r=t.field;return(t.modified("field")||r&&e.modified(Object(o.accessorFields)(r)))&&Object(o.error)("PreFacet does not support field modification."),this._targets.active=0,e.visit(e.MOD,function(t){var o=n.subflow(Object(A.r)(t),i,e,t);r?r(t).forEach(function(t){o.mod(t)}):o.mod(t)}),e.visit(e.ADD,function(t){var o=n.subflow(Object(A.r)(t),i,e,t);r?r(t).forEach(function(t){o.add(Object(A.k)(t))}):o.add(t)}),e.visit(e.REM,function(t){var o=n.subflow(Object(A.r)(t),i,e,t);r?r(t).forEach(function(t){o.rem(t)}):o.rem(t)}),e}},function(t,e,n){"use strict";function i(t){o.g.call(this,null,t)}function r(t,e){return t?t.map(function(t,n){return e[n]||Object(a.accessorName)(t)}):null}function A(t,e,n,i){for(var r=0,A=n.length;r<A;++r)e[i[r]]=n[r](t);return e}e.a=i;var o=n(1),a=n(0);i.Definition={type:"Project",metadata:{generates:!0,changes:!0,modifies:!0},params:[{name:"fields",type:"field",array:!0},{name:"as",type:"string",null:!0,array:!0}]},Object(a.inherits)(i,o.g).transform=function(t,e){var n,i,a=t.fields,c=r(t.fields,t.as||[]),s=a?function(t,e){return A(t,e,a,c)}:o.n;return this.value?i=this.value:(e=e.addAll(),i=this.value={}),n=e.fork(),e.visit(e.REM,function(t){var e=Object(o.r)(t);n.rem.push(i[e]),i[e]=null}),e.visit(e.ADD,function(t){var e=s(t,Object(o.k)({}));i[Object(o.r)(t)]=e,n.add.push(e)}),e.visit(e.MOD,function(t){n.mod.push(s(t,i[Object(o.r)(t)]))}),n}},function(t,e,n){"use strict";function i(t){r.g.call(this,null,t)}e.a=i;var r=n(1),A=n(0);Object(A.inherits)(i,r.g).transform=function(t,e){return this.value=t.value,t.modified("value")?e.fork(e.NO_SOURCE|e.NO_FIELDS):e.StopPropagation}},function(t,e,n){"use strict";function i(t){r.g.call(this,null,t)}e.a=i;var r=n(1),A=n(0);Object(A.inherits)(i,r.g).transform=function(t,e){var n,i;return this.value?i=this.value:(n=e=e.addAll(),i=this.value={}),t.derive&&(n=e.fork(),e.visit(e.REM,function(t){var e=Object(r.r)(t);n.rem.push(i[e]),i[e]=null}),e.visit(e.ADD,function(t){var e=Object(r.j)(t);i[Object(r.r)(t)]=e,n.add.push(e)}),e.visit(e.MOD,function(t){n.mod.push(Object(r.n)(t,i[Object(r.r)(t)]))})),n}},function(t,e,n){"use strict";function i(t){r.g.call(this,[],t),this.count=0}e.a=i;var r=n(1),A=n(70),o=n(0);i.Definition={type:"Sample",metadata:{source:!0,changes:!0},params:[{name:"size",type:"number",default:1e3}]},Object(o.inherits)(i,r.g).transform=function(t,e){function n(t){var e,n;c.length<a?c.push(t):(n=~~((s+1)*Object(A.d)()))<c.length&&n>=u&&(e=c[n],g[Object(r.r)(e)]&&i.rem.push(e),c[n]=t),++s}var i=e.fork(),o=t.modified("size"),a=t.size,c=this.value,s=this.count,u=0,g=c.reduce(function(t,e){return t[Object(r.r)(e)]=1,t},{});if(e.rem.length&&(e.visit(e.REM,function(t){var e=Object(r.r)(t);g[e]&&(g[e]=-1,i.rem.push(t)),--s}),c=c.filter(function(t){return-1!==g[Object(r.r)(t)]})),(e.rem.length||o)&&c.length<a&&e.source&&(u=s=c.length,e.visit(e.SOURCE,function(t){g[Object(r.r)(t)]||n(t)}),u=-1),o&&c.length>a){for(var l=0,M=c.length-a;l<M;++l)g[Object(r.r)(c[l])]=-1,i.rem.push(c[l]);c=c.slice(M)}return e.mod.length&&e.visit(e.MOD,function(t){g[Object(r.r)(t)]&&i.mod.push(t)}),e.add.length&&e.visit(e.ADD,n),(e.add.length||u<0)&&(i.add=c.filter(function(t){return!g[Object(r.r)(t)]})),this.count=s,this.value=i.source=c,i}},function(t,e,n){"use strict";function i(t){r.g.call(this,null,t)}e.a=i;var r=n(1),A=n(0),o=n(10);i.Definition={type:"Sequence",metadata:{generates:!0,source:!0},params:[{name:"start",type:"number",required:!0},{name:"stop",type:"number",required:!0},{name:"step",type:"number",default:1}],output:["value"]},Object(A.inherits)(i,r.g).transform=function(t,e){if(!this.value||t.modified()){var n=e.materialize().fork(e.MOD);return n.rem=this.value?e.rem.concat(this.value):e.rem,n.source=this.value=Object(o.range)(t.start,t.stop,t.step||1).map(r.k),n.add=e.add.concat(this.value),n}}},function(t,e,n){"use strict";function i(t){r.g.call(this,null,t),this.modified(!0)}e.a=i;var r=n(1),A=n(0);Object(A.inherits)(i,r.g).transform=function(t,e){return this.value=e.source,e.changed()?e.fork(e.NO_SOURCE|e.NO_FIELDS):e.StopPropagation}},function(t,e,n){"use strict";function i(t){r.g.call(this,Object(A.fastmap)(),t)}e.a=i;var r=n(1),A=n(0);Object(A.inherits)(i,r.g).transform=function(t,e){function n(t){A.set(r(t),t)}var i=e.dataflow,r=t.field,A=this.value,o=!0;return t.modified("field")||e.modified(r.fields)?(A.clear(),e.visit(e.SOURCE,n)):e.changed()?(e.visit(e.REM,function(t){A.delete(r(t))}),e.visit(e.ADD,n)):o=!1,this.modified(o),A.empty>i.cleanThreshold&&i.runAfter(A.clean),e.fork()}},function(t,e,n){"use strict";function i(t){r.g.call(this,null,t)}e.a=i;var r=n(1),A=n(0);Object(A.inherits)(i,r.g).transform=function(t,e){(!this.value||t.modified("field")||t.modified("sort")||e.changed()||t.sort&&e.modified(t.sort.fields))&&(this.value=(t.sort?e.source.slice().sort(t.sort):e.source).map(t.field))}},function(t,e,n){"use strict";function i(t){l.g.call(this,{},t),this._mlen=0,this._mods=[]}function r(t,e,n){var i=n.sort,r=i&&!n.ignorePeers,a=n.frame||[null,0],c=t.data(i),s=c.length,u=0,g=r?Object(h.bisector)(i):null,l={i0:0,i1:0,p0:0,p1:0,index:0,data:c,compare:i||Object(M.constant)(-1)};for(e.init();u<s;++u)A(l,a,u,s),r&&o(l,g),e.update(l,c[u])}function A(t,e,n,i){t.p0=t.i0,t.p1=t.i1,t.i0=null==e[0]?0:Math.max(0,n-Math.abs(e[0])),t.i1=null==e[1]?i:Math.min(i,n+Math.abs(e[1])+1),t.index=n}function o(t,e){var n=t.i0,i=t.i1-1,r=t.compare,A=t.data,o=A.length-1;n>0&&!r(A[n],A[n-1])&&(t.i0=e.left(A,A[n])),i<o&&!r(A[i],A[i+1])&&(t.i1=e.right(A,A[i]))}e.a=i;var a=n(390),c=n(159),s=n(407),u=n(410),g=n(879),l=n(1),M=n(0),h=n(10);i.Definition={type:"Window",metadata:{modifies:!0},params:[{name:"sort",type:"compare"},{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:u.a.concat(c.a)},{name:"params",type:"number",null:!0,array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"frame",type:"number",null:!0,array:!0,length:2,default:[null,0]},{name:"ignorePeers",type:"boolean",default:!1}]};var d=Object(M.inherits)(i,l.g);d.transform=function(t,e){function n(t){return o.group(u(t))}var i,A,o=this,c=o.state,s=t.modified();this.stamp=e.stamp,c&&!s||(c=o.state=new g.a(t));var u=Object(a.a)(t.groupby);for(s||e.modified(c.inputs)?(o.value={},e.visit(e.SOURCE,function(t){n(t).add(t)})):(e.visit(e.REM,function(t){n(t).remove(t)}),e.visit(e.ADD,function(t){n(t).add(t)})),i=0,A=o._mlen;i<A;++i)r(o._mods[i],c,t);return o._mlen=0,o._mods=[],e.reflow(s).modifies(c.outputs)},d.group=function(t){var e=this,n=e.value[t];return n||(n=e.value[t]=Object(s.a)(l.r),n.stamp=-1),n.stamp<e.stamp&&(n.stamp=e.stamp,e._mods[e._mlen++]=n),n}},function(t,e,n){"use strict";function i(t){function e(t){Object(c.array)(Object(c.accessorFields)(t)).forEach(function(t){M[t]=1})}var n=this,i=Object(c.array)(t.ops),o=Object(c.array)(t.fields),s=Object(c.array)(t.params),u=Object(c.array)(t.as),g=n.outputs=[],l=n.windows=[],M={},h={},d=!0,f=[],I=[];e(t.sort),i.forEach(function(t,n){var i=o[n],r=Object(c.accessorName)(i),M=Object(A.d)(t,r,u[n]);if(e(i),g.push(M),a.c.hasOwnProperty(t))l.push(Object(a.b)(t,o[n],s[n],M));else{if(null==i&&"count"!==t&&Object(c.error)("Null aggregate field specified."),"count"===t)return void f.push(M);d=!1;var E=h[r];E||(E=h[r]=[],E.field=i,I.push(E)),E.push(Object(A.c)(t,M))}}),(f.length||I.length)&&(n.cell=r(I,f,d)),n.inputs=Object.keys(M)}function r(t,e,n){t=t.map(function(t){return Object(A.b)(t,t.field)});var i={num:0,agg:null,store:!1,count:e};if(!n)for(var r=t.length,a=i.agg=Array(r),c=0;c<r;++c)a[c]=new t[c](i);if(i.store)var s=i.data=new o.a;return i.add=function(t){if(i.num+=1,!n){s&&s.add(t);for(var e=0;e<r;++e)a[e].add(a[e].get(t),t)}},i.rem=function(t){if(i.num-=1,!n){s&&s.rem(t);for(var e=0;e<r;++e)a[e].rem(a[e].get(t),t)}},i.set=function(t){var r,A;for(s&&s.values(),r=0,A=e.length;r<A;++r)t[e[r]]=i.num;if(!n)for(r=0,A=a.length;r<A;++r)a[r].set(t)},i.init=function(){i.num=0,s&&s.reset();for(var t=0;t<r;++t)a[t].init()},i}e.a=i;var A=n(159),o=n(391),a=n(410),c=n(0),s=i.prototype;s.init=function(){this.windows.forEach(function(t){t.init()}),this.cell&&this.cell.init()},s.update=function(t,e){var n,i=this,r=i.cell,A=i.windows,o=t.data,a=A&&A.length;if(r){for(n=t.p0;n<t.i0;++n)r.rem(o[n]);for(n=t.p1;n<t.i1;++n)r.add(o[n]);r.set(e)}for(n=0;n<a;++n)A[n].update(t,e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(881);n.d(e,"bound",function(){return i.a});var r=n(930);n.d(e,"identifier",function(){return r.a});var A=n(931);n.d(e,"mark",function(){return A.a});var o=n(932);n.d(e,"overlap",function(){return o.a});var a=n(933);n.d(e,"render",function(){return a.a});var c=n(934);n.d(e,"viewlayout",function(){return c.a})},function(t,e,n){"use strict";function i(t){A.g.call(this,null,t)}function r(t,e,n){return e(t.bounds.clear(),t,n)}e.a=i;var A=n(1),o=n(119),a=n(0),c=Object(a.inherits)(i,A.g),s=new o.a;c.transform=function(t,e){var n,i=e.dataflow,A=t.mark,a=A.marktype,c=o.d[a],u=c.bound,g=A.clip,l=A.bounds;return c.nested?(A.items.length&&i.dirty(A.items[0]),l=r(A,u),A.items.forEach(function(t){t.bounds.clear().union(l)})):"group"===a||t.modified()?(e.visit(e.MOD,function(t){i.dirty(t)}),l.clear(),A.items.forEach(function(t){l.union(r(t,u))})):(n=e.changed(e.REM),e.visit(e.ADD,function(t){l.union(r(t,u))}),e.visit(e.MOD,function(t){n=n||l.alignsWith(t.bounds),i.dirty(t),l.union(r(t,u))}),n&&!g&&(l.clear(),A.items.forEach(function(t){l.union(t.bounds)}))),g&&l.intersect(s.set(0,0,A.group.width,A.group.height)),e.modifies("bounds")}},function(t,e,n){"use strict"},function(t,e,n){"use strict";var i=n(160);e.a="undefined"!=typeof Image?Image:i.a&&i.a.Image||null},function(t,e){},function(t,e){},function(t,e,n){"use strict";function i(t){arguments.length?this.root=Object(a.a)(t):(this.root=r({marktype:"group",name:"root",role:"frame"}),this.root.items=[new o.a(this.root)])}function r(t,e){return{bounds:new A.a,clip:!!t.clip,group:e,interactive:!1!==t.interactive,items:[],marktype:t.marktype,name:t.name||void 0,role:t.role||void 0,zindex:t.zindex||0}}var A=n(72),o=n(411),a=n(414),c=i.prototype;c.toJSON=function(t){return Object(a.b)(this.root,t||0)},c.mark=function(t,e,n){e=e||this.root.items[0];var i=r(t,e);return e.items[n]=i,i.zindex&&(i.group.zdirty=!0),i}},function(t,e,n){"use strict";var i=n(60),r=n(253);e.a=Object(r.a)("arc",i.a)},function(t,e,n){"use strict";function i(t){return t.innerRadius}function r(t){return t.outerRadius}function A(t){return t.startAngle}function o(t){return t.endAngle}function a(t){return t&&t.padAngle}function c(t,e,n,i,r,A,o,a){var c=n-t,s=i-e,u=o-r,g=a-A,l=(u*(e-A)-g*(t-r))/(g*c-u*s);return[t+l*c,e+l*s]}function s(t,e,n,i,r,A,o){var a=t-n,c=e-i,s=(o?A:-A)/Object(l.l)(a*a+c*c),u=s*c,g=-s*a,M=t+u,h=e+g,d=n+u,f=i+g,I=(M+d)/2,E=(h+f)/2,T=d-M,N=f-h,y=T*T+N*N,p=r-A,C=M*f-d*h,D=(N<0?-1:1)*Object(l.l)(Object(l.h)(0,p*p*y-C*C)),x=(C*N-T*D)/y,B=(-C*T-N*D)/y,w=(C*N+T*D)/y,m=(-C*T+N*D)/y,Q=x-I,v=B-E,j=w-I,L=m-E;return Q*Q+v*v>j*j+L*L&&(x=w,B=m),{cx:x,cy:B,x01:-u,y01:-g,x11:x*(r/p-1),y11:B*(r/p-1)}}var u=n(40),g=n(74),l=n(120);e.a=function(){function t(){var t,i,r=+e.apply(this,arguments),A=+n.apply(this,arguments),o=d.apply(this,arguments)-l.g,a=f.apply(this,arguments)-l.g,g=Object(l.a)(a-o),T=a>o;if(E||(E=t=Object(u.a)()),A<r&&(i=A,A=r,r=i),A>l.f)if(g>l.m-l.f)E.moveTo(A*Object(l.e)(o),A*Object(l.k)(o)),E.arc(0,0,A,o,a,!T),r>l.f&&(E.moveTo(r*Object(l.e)(a),r*Object(l.k)(a)),E.arc(0,0,r,a,o,T));else{var N,y,p=o,C=a,D=o,x=a,B=g,w=g,m=I.apply(this,arguments)/2,Q=m>l.f&&(h?+h.apply(this,arguments):Object(l.l)(r*r+A*A)),v=Object(l.i)(Object(l.a)(A-r)/2,+M.apply(this,arguments)),j=v,L=v;if(Q>l.f){var S=Object(l.c)(Q/r*Object(l.k)(m)),Y=Object(l.c)(Q/A*Object(l.k)(m));(B-=2*S)>l.f?(S*=T?1:-1,D+=S,x-=S):(B=0,D=x=(o+a)/2),(w-=2*Y)>l.f?(Y*=T?1:-1,p+=Y,C-=Y):(w=0,p=C=(o+a)/2)}var b=A*Object(l.e)(p),O=A*Object(l.k)(p),z=r*Object(l.e)(x),U=r*Object(l.k)(x);if(v>l.f){var F=A*Object(l.e)(C),k=A*Object(l.k)(C),R=r*Object(l.e)(D),G=r*Object(l.k)(D);if(g<l.j){var H=B>l.f?c(b,O,R,G,F,k,z,U):[z,U],J=b-H[0],P=O-H[1],X=F-H[0],V=k-H[1],W=1/Object(l.k)(Object(l.b)((J*X+P*V)/(Object(l.l)(J*J+P*P)*Object(l.l)(X*X+V*V)))/2),_=Object(l.l)(H[0]*H[0]+H[1]*H[1]);j=Object(l.i)(v,(r-_)/(W-1)),L=Object(l.i)(v,(A-_)/(W+1))}}w>l.f?L>l.f?(N=s(R,G,b,O,A,L,T),y=s(F,k,z,U,A,L,T),E.moveTo(N.cx+N.x01,N.cy+N.y01),L<v?E.arc(N.cx,N.cy,L,Object(l.d)(N.y01,N.x01),Object(l.d)(y.y01,y.x01),!T):(E.arc(N.cx,N.cy,L,Object(l.d)(N.y01,N.x01),Object(l.d)(N.y11,N.x11),!T),E.arc(0,0,A,Object(l.d)(N.cy+N.y11,N.cx+N.x11),Object(l.d)(y.cy+y.y11,y.cx+y.x11),!T),E.arc(y.cx,y.cy,L,Object(l.d)(y.y11,y.x11),Object(l.d)(y.y01,y.x01),!T))):(E.moveTo(b,O),E.arc(0,0,A,p,C,!T)):E.moveTo(b,O),r>l.f&&B>l.f?j>l.f?(N=s(z,U,F,k,r,-j,T),y=s(b,O,R,G,r,-j,T),E.lineTo(N.cx+N.x01,N.cy+N.y01),j<v?E.arc(N.cx,N.cy,j,Object(l.d)(N.y01,N.x01),Object(l.d)(y.y01,y.x01),!T):(E.arc(N.cx,N.cy,j,Object(l.d)(N.y01,N.x01),Object(l.d)(N.y11,N.x11),!T),E.arc(0,0,r,Object(l.d)(N.cy+N.y11,N.cx+N.x11),Object(l.d)(y.cy+y.y11,y.cx+y.x11),T),E.arc(y.cx,y.cy,j,Object(l.d)(y.y11,y.x11),Object(l.d)(y.y01,y.x01),!T))):E.arc(0,0,r,x,D,T):E.lineTo(z,U)}else E.moveTo(0,0);if(E.closePath(),t)return E=null,t+""||null}var e=i,n=r,M=Object(g.a)(0),h=null,d=A,f=o,I=a,E=null;return t.centroid=function(){var t=(+e.apply(this,arguments)+ +n.apply(this,arguments))/2,i=(+d.apply(this,arguments)+ +f.apply(this,arguments))/2-l.j/2;return[Object(l.e)(i)*t,Object(l.k)(i)*t]},t.innerRadius=function(n){return arguments.length?(e="function"==typeof n?n:Object(g.a)(+n),t):e},t.outerRadius=function(e){return arguments.length?(n="function"==typeof e?e:Object(g.a)(+e),t):n},t.cornerRadius=function(e){return arguments.length?(M="function"==typeof e?e:Object(g.a)(+e),t):M},t.padRadius=function(e){return arguments.length?(h=null==e?null:"function"==typeof e?e:Object(g.a)(+e),t):h},t.startAngle=function(e){return arguments.length?(d="function"==typeof e?e:Object(g.a)(+e),t):d},t.endAngle=function(e){return arguments.length?(f="function"==typeof e?e:Object(g.a)(+e),t):f},t.padAngle=function(e){return arguments.length?(I="function"==typeof e?e:Object(g.a)(+e),t):I},t.context=function(e){return arguments.length?(E=null==e?null:e,t):E},t}},function(t,e,n){"use strict";function i(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function r(){return new i}var A=Math.PI,o=2*A,a=o-1e-6;i.prototype=r.prototype={constructor:i,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,n,i){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+i)},bezierCurveTo:function(t,e,n,i,r,A){this._+="C"+ +t+","+ +e+","+ +n+","+ +i+","+(this._x1=+r)+","+(this._y1=+A)},arcTo:function(t,e,n,i,r){t=+t,e=+e,n=+n,i=+i,r=+r;var o=this._x1,a=this._y1,c=n-t,s=i-e,u=o-t,g=a-e,l=u*u+g*g;if(r<0)throw new Error("negative radius: "+r);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(l>1e-6)if(Math.abs(g*c-s*u)>1e-6&&r){var M=n-o,h=i-a,d=c*c+s*s,f=M*M+h*h,I=Math.sqrt(d),E=Math.sqrt(l),T=r*Math.tan((A-Math.acos((d+l-f)/(2*I*E)))/2),N=T/E,y=T/I;Math.abs(N-1)>1e-6&&(this._+="L"+(t+N*u)+","+(e+N*g)),this._+="A"+r+","+r+",0,0,"+ +(g*M>u*h)+","+(this._x1=t+y*c)+","+(this._y1=e+y*s)}else this._+="L"+(this._x1=t)+","+(this._y1=e);else;},arc:function(t,e,n,i,r,c){t=+t,e=+e,n=+n;var s=n*Math.cos(i),u=n*Math.sin(i),g=t+s,l=e+u,M=1^c,h=c?i-r:r-i;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+g+","+l:(Math.abs(this._x1-g)>1e-6||Math.abs(this._y1-l)>1e-6)&&(this._+="L"+g+","+l),n&&(h<0&&(h=h%o+o),h>a?this._+="A"+n+","+n+",0,1,"+M+","+(t-s)+","+(e-u)+"A"+n+","+n+",0,1,"+M+","+(this._x1=g)+","+(this._y1=l):h>1e-6&&(this._+="A"+n+","+n+",0,"+ +(h>=A)+","+M+","+(this._x1=t+n*Math.cos(r))+","+(this._y1=e+n*Math.sin(r))))},rect:function(t,e,n,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +i+"h"+-n+"Z"},toString:function(){return this._}},e.a=r},function(t,e,n){"use strict";var i=n(74),r=n(891),A=n(892),o=n(120);e.a=function(){function t(t){var i,r,A,g,l,M=t.length,h=0,d=new Array(M),f=new Array(M),I=+c.apply(this,arguments),E=Math.min(o.m,Math.max(-o.m,s.apply(this,arguments)-I)),T=Math.min(Math.abs(E)/M,u.apply(this,arguments)),N=T*(E<0?-1:1);for(i=0;i<M;++i)(l=f[d[i]=i]=+e(t[i],i,t))>0&&(h+=l);for(null!=n?d.sort(function(t,e){return n(f[t],f[e])}):null!=a&&d.sort(function(e,n){return a(t[e],t[n])}),i=0,A=h?(E-M*N)/h:0;i<M;++i,I=g)r=d[i],l=f[r],g=I+(l>0?l*A:0)+N,f[r]={data:t[r],index:i,value:l,startAngle:I,endAngle:g,padAngle:T};return f}var e=A.a,n=r.a,a=null,c=Object(i.a)(0),s=Object(i.a)(o.m),u=Object(i.a)(0);return t.value=function(n){return arguments.length?(e="function"==typeof n?n:Object(i.a)(+n),t):e},t.sortValues=function(e){return arguments.length?(n=e,a=null,t):n},t.sort=function(e){return arguments.length?(a=e,n=null,t):a},t.startAngle=function(e){return arguments.length?(c="function"==typeof e?e:Object(i.a)(+e),t):c},t.endAngle=function(e){return arguments.length?(s="function"==typeof e?e:Object(i.a)(+e),t):s},t.padAngle=function(e){return arguments.length?(u="function"==typeof e?e:Object(i.a)(+e),t):u},t}},function(t,e,n){"use strict";e.a=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}},function(t,e,n){"use strict";e.a=function(t){return t}},function(t,e,n){"use strict";var i=n(419),r=n(418),A=n(420);e.a=function(){var t=Object(r.a)().curve(i.a),e=t.curve,n=t.lineX0,o=t.lineX1,a=t.lineY0,c=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return Object(A.b)(n())},delete t.lineX0,t.lineEndAngle=function(){return Object(A.b)(o())},delete t.lineX1,t.lineInnerRadius=function(){return Object(A.b)(a())},delete t.lineY0,t.lineOuterRadius=function(){return Object(A.b)(c())},delete t.lineY1,t.curve=function(t){return arguments.length?e(Object(i.b)(t)):e()._curve},t}},function(t,e,n){"use strict";function i(t){return t.source}function r(t){return t.target}function A(t){function e(){var e,i=M.a.call(arguments),r=n.apply(this,i),s=A.apply(this,i);if(c||(c=e=Object(l.a)()),t(c,+o.apply(this,(i[0]=r,i)),+a.apply(this,i),+o.apply(this,(i[0]=s,i)),+a.apply(this,i)),e)return c=null,e+""||null}var n=i,A=r,o=d.a,a=d.b,c=null;return e.source=function(t){return arguments.length?(n=t,e):n},e.target=function(t){return arguments.length?(A=t,e):A},e.x=function(t){return arguments.length?(o="function"==typeof t?t:Object(h.a)(+t),e):o},e.y=function(t){return arguments.length?(a="function"==typeof t?t:Object(h.a)(+t),e):a},e.context=function(t){return arguments.length?(c=null==t?null:t,e):c},e}function o(t,e,n,i,r){t.moveTo(e,n),t.bezierCurveTo(e=(e+i)/2,n,e,r,i,r)}function a(t,e,n,i,r){t.moveTo(e,n),t.bezierCurveTo(e,n=(n+r)/2,i,n,i,r)}function c(t,e,n,i,r){var A=Object(f.a)(e,n),o=Object(f.a)(e,n=(n+r)/2),a=Object(f.a)(i,n),c=Object(f.a)(i,r);t.moveTo(A[0],A[1]),t.bezierCurveTo(o[0],o[1],a[0],a[1],c[0],c[1])}function s(){return A(o)}function u(){return A(a)}function g(){var t=A(c);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}e.a=s,e.c=u,e.b=g;var l=n(40),M=n(422),h=n(74),d=n(249),f=n(421)},function(t,e,n){"use strict";n.d(e,"b",function(){return l});var i=n(40),r=n(423),A=n(424),o=n(425),a=n(426),c=n(427),s=n(428),u=n(429),g=n(74),l=[r.a,A.a,o.a,c.a,a.a,s.a,u.a];e.a=function(){function t(){var t;if(A||(A=t=Object(i.a)()),e.apply(this,arguments).draw(A,+n.apply(this,arguments)),t)return A=null,t+""||null}var e=Object(g.a)(r.a),n=Object(g.a)(64),A=null;return t.type=function(n){return arguments.length?(e="function"==typeof n?n:Object(g.a)(n),t):e},t.size=function(e){return arguments.length?(n="function"==typeof e?e:Object(g.a)(+e),t):n},t.context=function(e){return arguments.length?(A=null==e?null:e,t):A},t}},function(t,e,n){"use strict";function i(t){this._context=t}var r=n(162),A=n(163);i.prototype={areaStart:r.a,areaEnd:r.a,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Object(A.c)(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},e.a=function(t){return new i(t)}},function(t,e,n){"use strict";function i(t){this._context=t}var r=n(163);i.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,i=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,i):this._context.moveTo(n,i);break;case 3:this._point=4;default:Object(r.c)(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},e.a=function(t){return new i(t)}},function(t,e,n){"use strict";function i(t,e){this._basis=new r.a(t),this._beta=e}var r=n(163);i.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var i,r=t[0],A=e[0],o=t[n]-r,a=e[n]-A,c=-1;++c<=n;)i=c/n,this._basis.point(this._beta*t[c]+(1-this._beta)*(r+i*o),this._beta*e[c]+(1-this._beta)*(A+i*a));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}},e.a=function t(e){function n(t){return 1===e?new r.a(t):new i(t,e)}return n.beta=function(e){return t(+e)},n}(.85)},function(t,e,n){"use strict";function i(t,e){this._context=t,this._alpha=e}var r=n(430),A=n(162),o=n(250);i.prototype={areaStart:A.a,areaEnd:A.a,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Object(o.b)(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}},e.a=function t(e){function n(t){return e?new i(t,e):new r.a(t,0)}return n.alpha=function(e){return t(+e)},n}(.5)},function(t,e,n){"use strict";function i(t,e){this._context=t,this._alpha=e}var r=n(431),A=n(250);i.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Object(A.b)(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}},e.a=function t(e){function n(t){return e?new i(t,e):new r.a(t,0)}return n.alpha=function(e){return t(+e)},n}(.5)},function(t,e,n){"use strict";function i(t){this._context=t}var r=n(162);i.prototype={areaStart:r.a,areaEnd:r.a,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}},e.a=function(t){return new i(t)}},function(t,e,n){"use strict";function i(t){return t<0?-1:1}function r(t,e,n){var r=t._x1-t._x0,A=e-t._x1,o=(t._y1-t._y0)/(r||A<0&&-0),a=(n-t._y1)/(A||r<0&&-0),c=(o*A+a*r)/(r+A);return(i(o)+i(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(c))||0}function A(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function o(t,e,n){var i=t._x0,r=t._y0,A=t._x1,o=t._y1,a=(A-i)/3;t._context.bezierCurveTo(i+a,r+a*e,A-a,o-a*n,A,o)}function a(t){this._context=t}function c(t){this._context=new s(t)}function s(t){this._context=t}function u(t){return new a(t)}function g(t){return new c(t)}e.a=u,e.b=g,a.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:o(this,this._t0,A(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,t!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,o(this,A(this,n=r(this,t,e)),n);break;default:o(this,this._t0,n=r(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}},(c.prototype=Object.create(a.prototype)).point=function(t,e){a.prototype.point.call(this,e,t)},s.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,i,r,A){this._context.bezierCurveTo(e,t,i,n,A,r)}}},function(t,e,n){"use strict";function i(t){this._context=t}function r(t){var e,n,i=t.length-1,r=new Array(i),A=new Array(i),o=new Array(i);for(r[0]=0,A[0]=2,o[0]=t[0]+2*t[1],e=1;e<i-1;++e)r[e]=1,A[e]=4,o[e]=4*t[e]+2*t[e+1];for(r[i-1]=2,A[i-1]=7,o[i-1]=8*t[i-1]+t[i],e=1;e<i;++e)n=r[e]/A[e-1],A[e]-=n,o[e]-=n*o[e-1];for(r[i-1]=o[i-1]/A[i-1],e=i-2;e>=0;--e)r[e]=(o[e]-r[e+1])/A[e];for(A[i-1]=(t[i]+r[i-1])/2,e=0;e<i-1;++e)A[e]=2*t[e+1]-r[e+1];return[r,A]}i.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===n)this._context.lineTo(t[1],e[1]);else for(var i=r(t),A=r(e),o=0,a=1;a<n;++o,++a)this._context.bezierCurveTo(i[0][o],A[0][o],i[1][o],A[1][o],t[a],e[a]);(this._line||0!==this._line&&1===n)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}},e.a=function(t){return new i(t)}},function(t,e,n){"use strict";function i(t,e){this._context=t,this._t=e}function r(t){return new i(t,0)}function A(t){return new i(t,1)}e.c=r,e.b=A,i.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}},e.a=function(t){return new i(t,.5)}},function(t,e,n){"use strict";function i(t,e){return t[e]}var r=n(422),A=n(74),o=n(121),a=n(122);e.a=function(){function t(t){var i,r,A=e.apply(this,arguments),o=t.length,a=A.length,u=new Array(a);for(i=0;i<a;++i){for(var g,l=A[i],M=u[i]=new Array(o),h=0;h<o;++h)M[h]=g=[0,+s(t[h],l,h,t)],g.data=t[h];M.key=l}for(i=0,r=n(u);i<a;++i)u[r[i]].index=i;return c(u,r),u}var e=Object(A.a)([]),n=a.a,c=o.a,s=i;return t.keys=function(n){return arguments.length?(e="function"==typeof n?n:Object(A.a)(r.a.call(n)),t):e},t.value=function(e){return arguments.length?(s="function"==typeof e?e:Object(A.a)(+e),t):s},t.order=function(e){return arguments.length?(n=null==e?a.a:"function"==typeof e?e:Object(A.a)(r.a.call(e)),t):n},t.offset=function(e){return arguments.length?(c=null==e?o.a:e,t):c},t}},function(t,e,n){"use strict";var i=n(121);e.a=function(t,e){if((r=t.length)>0){for(var n,r,A,o=0,a=t[0].length;o<a;++o){for(A=n=0;n<r;++n)A+=t[n][o][1]||0;if(A)for(n=0;n<r;++n)t[n][o][1]/=A}Object(i.a)(t,e)}}},function(t,e,n){"use strict";e.a=function(t,e){if((a=t.length)>1)for(var n,i,r,A,o,a,c=0,s=t[e[0]].length;c<s;++c)for(A=o=0,n=0;n<a;++n)(r=(i=t[e[n]][c])[1]-i[0])>=0?(i[0]=A,i[1]=A+=r):r<0?(i[1]=o,i[0]=o+=r):i[0]=A}},function(t,e,n){"use strict";var i=n(121);e.a=function(t,e){if((n=t.length)>0){for(var n,r=0,A=t[e[0]],o=A.length;r<o;++r){for(var a=0,c=0;a<n;++a)c+=t[a][r][1]||0;A[r][1]+=A[r][0]=-c/2}Object(i.a)(t,e)}}},function(t,e,n){"use strict";var i=n(121);e.a=function(t,e){if((A=t.length)>0&&(r=(n=t[e[0]]).length)>0){for(var n,r,A,o=0,a=1;a<r;++a){for(var c=0,s=0,u=0;c<A;++c){for(var g=t[e[c]],l=g[a][1]||0,M=g[a-1][1]||0,h=(l-M)/2,d=0;d<c;++d){var f=t[e[d]];h+=(f[a][1]||0)-(f[a-1][1]||0)}s+=l,u+=h*l}n[a-1][1]+=n[a-1][0]=o,s&&(o-=u/s)}n[a-1][1]+=n[a-1][0]=o,Object(i.a)(t,e)}}},function(t,e,n){"use strict";var i=n(251);e.a=function(t){return Object(i.a)(t).reverse()}},function(t,e,n){"use strict";var i=n(122),r=n(251);e.a=function(t){var e,n,A=t.length,o=t.map(r.b),a=Object(i.a)(t).sort(function(t,e){return o[e]-o[t]}),c=0,s=0,u=[],g=[];for(e=0;e<A;++e)n=a[e],c<s?(c+=o[n],u.push(n)):(s+=o[n],g.push(n));return g.reverse().concat(u)}},function(t,e,n){"use strict";var i=n(122);e.a=function(t){return Object(i.a)(t).reverse()}},function(t,e,n){"use strict";function i(t,e,n,i,r,o,c,s,u){var g=a.call(arguments);if(A[g])return A[g];var l=c*(Math.PI/180),M=Math.sin(l),h=Math.cos(l);n=Math.abs(n),i=Math.abs(i);var d=h*(s-t)*.5+M*(u-e)*.5,f=h*(u-e)*.5-M*(s-t)*.5,I=d*d/(n*n)+f*f/(i*i);I>1&&(I=Math.sqrt(I),n*=I,i*=I);var E=h/n,T=M/n,N=-M/i,y=h/i,p=E*s+T*u,C=N*s+y*u,D=E*t+T*e,x=N*t+y*e,B=(D-p)*(D-p)+(x-C)*(x-C),w=1/B-.25;w<0&&(w=0);var m=Math.sqrt(w);o==r&&(m=-m);var Q=.5*(p+D)-m*(x-C),v=.5*(C+x)+m*(D-p),j=Math.atan2(C-v,p-Q),L=Math.atan2(x-v,D-Q),S=L-j;S<0&&1===o?S+=2*Math.PI:S>0&&0===o&&(S-=2*Math.PI);for(var Y=Math.ceil(Math.abs(S/(.5*Math.PI+.001))),b=[],O=0;O<Y;++O){var z=j+O*S/Y,U=j+(O+1)*S/Y;b[O]=[Q,v,z,U,n,i,M,h]}return A[g]=b}function r(t){var e=a.call(t);if(o[e])return o[e];var n=t[0],i=t[1],r=t[2],A=t[3],c=t[4],s=t[5],u=t[6],g=t[7],l=g*c,M=-u*s,h=u*c,d=g*s,f=Math.cos(r),I=Math.sin(r),E=Math.cos(A),T=Math.sin(A),N=.5*(A-r),y=Math.sin(.5*N),p=8/3*y*y/Math.sin(N),C=n+f-p*I,D=i+I+p*f,x=n+E,B=i+T,w=x+p*T,m=B-p*E;return o[e]=[l*C+M*D,h*C+d*D,l*w+M*m,h*w+d*m,l*x+M*B,h*x+d*B]}e.b=i,e.a=r;var A={},o={},a=[].join},function(t,e,n){"use strict";e.a=function(t,e,n){for(var i=n.width(),r=n.height(),A=n.x1+e.x1*i,o=n.y1+e.y1*r,a=n.x1+e.x2*i,c=n.y1+e.y2*r,s=e.stops,u=0,g=s.length,l=t.createLinearGradient(A,o,a,c);u<g;++u)l.addColorStop(s[u].offset,s[u].color);return l}},function(t,e,n){"use strict";var i=n(60),r=n(256);e.a=Object(r.a)("area",i.b)},function(t,e,n){"use strict";function i(t,e){t("transform",Object(f.a)(e))}function r(t,e){var n=e.stroke?I:0;t("class","background"),t("d",Object(u.d)(null,e,n,n))}function A(t,e,n){t("clip-path",e.clip?Object(d.a)(n,e,e):null)}function o(t,e){if(!e.clip&&e.items)for(var n=e.items,i=0,r=n.length;i<r;++i)t.union(n[i].bounds);return(e.clip||e.width||e.height)&&Object(g.a)(t.add(0,0).add(e.width||0,e.height||0),e),t.translate(e.x||0,e.y||0)}function a(t,e,n){var i=this;Object(l.b)(e,function(e){var r,A,o=e.x||0,a=e.y||0,c=e.width||0,s=e.height||0;t.save(),t.translate(o,a),(e.stroke||e.fill)&&(A=null==e.opacity?1:e.opacity)>0&&(t.beginPath(),r=e.stroke?I:0,Object(u.d)(t,e,r,r),e.fill&&Object(h.a)(t,e,A)&&t.fill(),e.stroke&&Object(M.a)(t,e,A)&&t.stroke()),e.clip&&(t.beginPath(),t.rect(0,0,c,s),t.clip()),n&&n.translate(-o,-a),Object(l.b)(e,function(e){i.draw(t,e,n)}),n&&n.translate(o,a),t.restore()})}function c(t,e,n,i,r,A){if(e.bounds&&!e.bounds.contains(r,A)||!e.items)return null;var o=this;return Object(l.a)(e,function(a){var c,u,g,M;if(!(M=a.bounds)||M.contains(r,A))return u=a.x||0,g=a.y||0,t.save(),t.translate(u,g),u=r-u,g=A-g,c=Object(l.a)(a,function(t){return s(t,u,g)?o.pick(t,n,i,u,g):null}),t.restore(),c||(c=!1!==e.interactive&&(a.fill||a.stroke)&&u>=0&&u<=a.width&&g>=0&&g<=a.height,c?a:null)})}function s(t,e,n){return(!1!==t.interactive||"group"===t.marktype)&&t.bounds&&t.bounds.contains(e,n)}var u=n(60),g=n(75),l=n(52),M=n(168),h=n(254),d=n(170),f=n(169),I=.5;e.a={type:"group",tag:"g",nested:!1,attr:i,bound:o,draw:a,pick:c,background:r,foreground:A}},function(t,e,n){"use strict";function i(t,e){var n=t.image;return n&&n.url===t.url||(n={loaded:!1,width:0,height:0},e.loadImage(t.url).then(function(e){t.image=e,t.image.url=t.url})),n}function r(t,e){return"center"===t?e/2:"right"===t?e:0}function A(t,e){return"middle"===t?e/2:"bottom"===t?e:0}function o(t,e,n){var o=i(e,n),a=e.x||0,c=e.y||0,s=(null!=e.width?e.width:o.width)||0,u=(null!=e.height?e.height:o.height)||0,l=!1===e.aspect?"none":"xMidYMid";a-=r(e.align,s),c-=A(e.baseline,u),t("href",o.src||"","http://www.w3.org/1999/xlink","xlink:href"),t("transform",Object(g.a)(a,c)),t("width",s),t("height",u),t("preserveAspectRatio",l)}function a(t,e){var n=e.image,i=e.x||0,o=e.y||0,a=(null!=e.width?e.width:n&&n.width)||0,c=(null!=e.height?e.height:n&&n.height)||0;return i-=r(e.align,a),o-=A(e.baseline,c),t.set(i,o,i+a,o+c)}function c(t,e,n){var o=this;Object(s.b)(e,function(e){if(!n||n.intersects(e.bounds)){var a,c,s,u,g=i(e,o),l=e.x||0,M=e.y||0,h=(null!=e.width?e.width:g.width)||0,d=(null!=e.height?e.height:g.height)||0;l-=r(e.align,h),M-=A(e.baseline,d),!1!==e.aspect&&(c=g.width/g.height,s=e.width/e.height,c===c&&s===s&&c!==s&&(s<c?(u=h/c,M+=(d-u)/2,d=u):(u=d*c,l+=(h-u)/2,h=u))),g.loaded&&(t.globalAlpha=null!=(a=e.opacity)?a:1,t.drawImage(g,l,M,h,d))}})}var s=n(52),u=n(76),g=n(255);e.a={type:"image",tag:"image",nested:!1,attr:o,bound:a,draw:c,pick:Object(u.b)(),get:i,xOffset:r,yOffset:A}},function(t,e,n){"use strict";var i=n(60),r=n(256);e.a=Object(r.a)("line",i.c)},function(t,e,n){"use strict";function i(t,e){t("transform",Object(l.a)(e)),t("d",e.path)}function r(t,e){var n=e.path;if(null==n)return!0;var i=e.pathCache;i&&i.path===n||((e.pathCache=i=Object(c.a)(n)).path=n),Object(s.a)(t,i,e.x,e.y)}function A(t,e){return r(Object(a.a)(t),e)?t.set(0,0,0,0):Object(o.a)(t,e)}var o=n(75),a=n(166),c=n(165),s=n(252),u=n(167),g=n(76),l=n(169);e.a={type:"path",tag:"path",nested:!1,attr:i,bound:A,draw:Object(u.a)(r),pick:Object(g.c)(r)}},function(t,e,n){"use strict";function i(t,e){t("d",Object(a.d)(null,e))}function r(t,e){var n,i;return Object(o.a)(t.set(n=e.x||0,i=e.y||0,n+e.width||0,i+e.height||0),e)}function A(t,e){t.beginPath(),Object(a.d)(t,e)}var o=n(75),a=n(60),c=n(167),s=n(76);e.a={type:"rect",tag:"path",nested:!1,attr:i,bound:r,draw:Object(c.a)(A),pick:Object(s.c)(A)}},function(t,e,n){"use strict";function i(t,e){t("transform",Object(l.a)(e)),t("x2",null!=e.x2?e.x2-(e.x||0):0),t("y2",null!=e.y2?e.y2-(e.y||0):0)}function r(t,e){var n,i;return Object(c.a)(t.set(n=e.x||0,i=e.y||0,null!=e.x2?e.x2:n,null!=e.y2?e.y2:i),e)}function A(t,e,n){var i,r,A,o;return!(!e.stroke||!Object(g.a)(t,e,n))&&(i=e.x||0,r=e.y||0,A=null!=e.x2?e.x2:i,o=null!=e.y2?e.y2:r,t.beginPath(),t.moveTo(i,r),t.lineTo(A,o),!0)}function o(t,e,n){Object(s.b)(e,function(e){if(!n||n.intersects(e.bounds)){var i=null==e.opacity?1:e.opacity;i&&A(t,e,i)&&t.stroke()}})}function a(t,e,n,i){return!!t.isPointInStroke&&(A(t,e,1)&&t.isPointInStroke(n,i))}var c=n(75),s=n(52),u=n(76),g=n(168),l=n(169);e.a={type:"rule",tag:"line",nested:!1,attr:i,bound:r,draw:o,pick:Object(u.b)(a)}},function(t,e,n){"use strict";var i=n(60),r=n(253);e.a=Object(r.a)("shape",i.e)},function(t,e,n){"use strict";var i=n(60),r=n(253);e.a=Object(r.a)("symbol",i.f)},function(t,e,n){"use strict";function i(t,e){var n,i=e.dx||0,r=(e.dy||0)+Object(c.b)(e),A=e.x||0,o=e.y||0,a=e.angle||0,s=e.radius||0;s&&(n=(e.theta||0)-Math.PI/2,A+=s*Math.cos(n),o+=s*Math.sin(n)),t("text-anchor",h[e.align]||"start"),a?(n=Object(M.a)(A,o)+" rotate("+a+")",(i||r)&&(n+=" "+Object(M.a)(i,r))):n=Object(M.a)(A+i,o+r),t("transform",n)}function r(t,e,n){var i,r,A=c.c.height(e),o=e.align,a=e.radius||0,s=e.x||0,u=e.y||0,g=e.dx||0,l=(e.dy||0)+Object(c.b)(e)-Math.round(.8*A);return a&&(r=(e.theta||0)-Math.PI/2,s+=a*Math.cos(r),u+=a*Math.sin(r)),i=c.c.width(e),"center"===o?g-=i/2:"right"===o&&(g-=i),t.set(g+=s,l+=u,g+i,l+A),e.angle&&!n&&t.rotate(e.angle*Math.PI/180,s,u),t.expand(n||!i?0:1)}function A(t,e,n){Object(s.b)(e,function(e){var i,r,A,o,a,s;n&&!n.intersects(e.bounds)||(s=Object(c.d)(e))&&0!==(i=null==e.opacity?1:e.opacity)&&(t.font=Object(c.a)(e),t.textAlign=e.align||"left",r=e.x||0,A=e.y||0,(o=e.radius)&&(a=(e.theta||0)-Math.PI/2,r+=o*Math.cos(a),A+=o*Math.sin(a)),e.angle&&(t.save(),t.translate(r,A),t.rotate(e.angle*Math.PI/180),r=A=0),r+=e.dx||0,A+=(e.dy||0)+Object(c.b)(e),e.fill&&Object(u.a)(t,e,i)&&t.fillText(s,r,A),e.stroke&&Object(l.a)(t,e,i)&&t.strokeText(s,r,A),e.angle&&t.restore())})}function o(t,e,n,i,A,o){if(e.fontSize<=0)return!1;if(!e.angle)return!0;var a=r(d,e,!0),c=-e.angle*Math.PI/180,s=Math.cos(c),u=Math.sin(c),g=e.x,l=e.y,M=s*A-u*o+(g-g*s+l*u),h=u*A+s*o+(l-g*u-l*s);return a.contains(M,h)}var a=n(72),c=n(171),s=n(52),u=n(254),g=n(76),l=n(168),M=n(255),h={left:"start",center:"middle",right:"end"},d=new a.a;e.a={type:"text",tag:"text",nested:!1,attr:i,bound:r,draw:A,pick:Object(g.b)(o)}},function(t,e,n){"use strict";var i=n(60),r=n(256);e.a=Object(r.a)("trail",i.g)},function(t,e,n){"use strict";e.a=function(t,e){var n=e.group;t.save(),t.beginPath(),t.rect(0,0,n.width||0,n.height||0),t.clip()}},function(t,e,n){"use strict";var i="undefined"!=typeof window?window.devicePixelRatio||1:1;e.a=function(t,e,n,r){var A="undefined"!=typeof HTMLElement&&t instanceof HTMLElement&&null!=t.parentNode,o=t.getContext("2d"),a=A?i:1;return t.width=e*a,t.height=n*a,1!==a&&(t.style.width=e+"px",t.style.height=n+"px"),o.pixelRatio=a,o.setTransform(a,0,0,a,a*r[0],a*r[1]),t}},function(t,e,n){"use strict";var i=n(436),r=n(438),A=n(439),o=n(440),a=n(443),c={};c.canvas=c.png={renderer:r.a,headless:r.a,handler:i.a},c.svg={renderer:o.a,headless:a.a,handler:A.a},c.none={}},function(t,e,n){"use strict";n(165),n(0)},function(t,e,n){"use strict";function i(t){A.g.call(this,0,t)}function r(t){var e=t._signals[a];return e||(t._signals[a]=e=t.add(0)),e}e.a=i;var A=n(1),o=n(0),a=":vega_identifier:";i.Definition={type:"Identifier",metadata:{modifies:!0},params:[{name:"as",type:"string",required:!0}]},Object(o.inherits)(i,A.g).transform=function(t,e){var n=r(e.dataflow),i=n.value,A=t.as;return e.visit(e.ADD,function(t){t[A]||(t[A]=++i)}),n.set(this.value=i),e}},function(t,e,n){"use strict";function i(t){A.g.call(this,null,t)}function r(t){var e=t.groups,n=t.parent;return e&&1===e.size?e.get(Object.keys(e.object)[0]):e&&n?e.lookup(n):null}e.a=i;var A=n(1),o=n(119),a=n(0);Object(a.inherits)(i,A.g).transform=function(t,e){var n=this.value;n||(n=e.dataflow.scenegraph().mark(t.markdef,r(t),t.index),n.group.context=t.context,t.context.group||(t.context.group=n.group),n.source=this,this.value=n);var i="group"===n.marktype?o.b:o.c;return e.visit(e.ADD,function(t){i.call(t,n)}),n.items=e.source,e}},function(t,e,n){"use strict";function i(t){s.g.call(this,null,t)}function r(t,e){return!(t.x2-1<e.x1||t.x1+1>e.x2||t.y2-1<e.y1||t.y1+1>e.y2)}function A(t){for(var e,n=1,i=t.length,A=t[0].bounds;n<i;A=e,++n)if(r(A,e=t[n].bounds))return!0}function o(t){var e=t.bounds;return e.width()>1&&e.height()>1}function a(t,e,n){var i=t.range(),r=new u.a;return e===c.d||e===c.a?r.set(i[0],-1/0,i[1],1/0):r.set(-1/0,i[0],1/0,i[1]),r.expand(n||1),function(t){return r.encloses(t.bounds)}}e.a=i;var c=n(444),s=n(1),u=n(119),g=n(0),l=Object(g.inherits)(i,s.g),M={parity:function(t){return t.filter(function(t,e){return e%2?t.opacity=0:1})},greedy:function(t){var e;return t.filter(function(t,n){return n&&r(e.bounds,t.bounds)?t.opacity=0:(e=t,1)})}};l.transform=function(t,e){var n=M[t.method]||M.parity,i=e.materialize(e.SOURCE).source;if(i){t.sort&&(i=i.slice().sort(t.sort)),"greedy"===t.method&&(i=i.filter(o)),i.forEach(function(t){t.opacity=1});var r=i;if(r.length>=3&&A(r)){e=e.reflow(t.modified()).modifies("opacity");do{r=n(r)}while(r.length>=3&&A(r));r.length<3&&!Object(g.peek)(i).opacity&&(r.length>1&&(Object(g.peek)(r).opacity=0),Object(g.peek)(i).opacity=1)}if(t.boundScale){var c=a(t.boundScale,t.boundOrient,t.boundTolerance);i.forEach(function(t){c(t)||(t.opacity=0)})}return e}}},function(t,e,n){"use strict";function i(t){r.g.call(this,null,t)}e.a=i;var r=n(1),A=n(0);Object(A.inherits)(i,r.g).transform=function(t,e){var n=e.dataflow;if(e.visit(e.ALL,function(t){n.dirty(t)}),e.fields&&e.fields.zindex){var i=e.source&&e.source[0];i&&(i.mark.zdirty=!0)}}},function(t,e,n){"use strict";function i(t){h.g.call(this,null,t)}function r(t,e,n){var i,r,A,a,l,h,f=e.items,E=Math.max(0,e.width||0),T=Math.max(0,e.height||0),N=(new d.a).set(0,0,E,T),v=N.clone(),j=N.clone(),L=N.clone(),S=[];for(l=0,h=f.length;l<h;++l)switch(r=f[l],r.role){case y:v.union(a=c(t,r,E,T)),(o(r)?j:L).union(a);break;case p:i=r;break;case D:S.push(r);break;case C:case x:case B:case w:case m:case Q:j.union(r.bounds),L.union(r.bounds);break;default:N.union(r.bounds)}if(i&&(v.union(a=s(t,i,v)),(o(i)?j:L).union(a)),S.length)for(A={left:0,right:0,top:0,bottom:0,margin:n.legendMargin||8},l=0,h=S.length;l<h;++l)if(a=u(t,S[l],A,j,L,E,T),n.autosize&&n.autosize.type===I){var Y=S[l].items[0].datum.orient;Y===M.b||Y===M.c?N.add(a.x1,0).add(a.x2,0):Y!==M.d&&Y!==M.a||N.add(0,a.y1).add(0,a.y2)}else N.union(a);N.union(j).union(L).union(v),g(t,e,N,n)}function A(t,e,n){return t[e]===n?0:(t[e]=n,1)}function o(t){var e=t.items[0].datum.orient;return e===M.b||e===M.c}function a(t){var e=+t.grid;return[t.ticks?e++:-1,t.labels?e++:-1,e+ +t.domain]}function c(t,e,n,i){var r,o,c=e.items[0],s=c.datum,u=s.orient,g=a(s),l=c.range,h=c.offset,f=c.position,I=c.minExtent,E=c.maxExtent,T=s.title&&c.items[g[2]].items[0],N=c.titlePadding,y=c.bounds,p=0,C=0;switch(j.clear().union(y),y.clear(),(r=g[0])>-1&&y.union(c.items[r].bounds),(r=g[1])>-1&&y.union(c.items[r].bounds),u){case M.d:p=f||0,C=-h,o=Math.max(I,Math.min(E,-y.y1)),T&&(T.auto?(o+=N,T.y=-o,o+=T.bounds.height()):y.union(T.bounds)),y.add(0,-o).add(l,0);break;case M.b:p=-h,C=f||0,o=Math.max(I,Math.min(E,-y.x1)),T&&(T.auto?(o+=N,T.x=-o,o+=T.bounds.width()):y.union(T.bounds)),y.add(-o,0).add(0,l);break;case M.c:p=n+h,C=f||0,o=Math.max(I,Math.min(E,y.x2)),T&&(T.auto?(o+=N,T.x=o,o+=T.bounds.width()):y.union(T.bounds)),y.add(0,0).add(o,l);break;case M.a:p=f||0,C=i+h,o=Math.max(I,Math.min(E,y.y2)),T&&(T.auto?(o+=N,T.y=o,o+=T.bounds.height()):y.union(T.bounds)),y.add(0,0).add(l,o);break;default:p=c.x,C=c.y}return Object(d.e)(y.translate(p,C),c),A(c,"x",p+v)|A(c,"y",C+v)&&(c.bounds=j,t.dirty(c),c.bounds=y,t.dirty(c)),c.mark.bounds.clear().union(y)}function s(t,e,n){var i=e.items[0],r=i.datum,o=r.orient,a=i.offset,c=i.bounds,s=0,u=0;switch(j.clear().union(c),o){case M.d:s=i.x,u=n.y1-a;break;case M.b:s=n.x1-a,u=i.y;break;case M.c:s=n.x2+a,u=i.y;break;case M.a:s=i.x,u=n.y2+a;break;default:s=i.x,u=i.y}return c.translate(s-i.x,u-i.y),A(i,"x",s)|A(i,"y",u)&&(i.bounds=j,t.dirty(i),i.bounds=c,t.dirty(i)),e.bounds.clear().union(c)}function u(t,e,n,i,r,o,a){var c,s,u,g=e.items[0],l=g.datum,h=l.orient,f=g.offset,I=g.bounds,E=0,T=0;switch(h===M.d||h===M.a?(u=r,E=n[h]):h!==M.b&&h!==M.c||(u=i,T=n[h]),j.clear().union(I),I.clear(),g.items.forEach(function(t){I.union(t.bounds)}),c=Math.round(I.width())+2*g.padding-1,s=Math.round(I.height())+2*g.padding-1,h){case M.b:E-=c+f-Math.floor(u.x1),n.left+=s+n.margin;break;case M.c:E+=f+Math.ceil(u.x2),n.right+=s+n.margin;break;case M.d:T-=s+f-Math.floor(u.y1),n.top+=c+n.margin;break;case M.a:T+=f+Math.ceil(u.y2),n.bottom+=c+n.margin;break;case"top-left":E+=f,T+=f;break;case"top-right":E+=o-c-f,T+=f;break;case"bottom-left":E+=f,T+=a-s-f;break;case"bottom-right":E+=o-c-f,T+=a-s-f;break;default:E=g.x,T=g.y}return Object(d.e)(I.set(E,T,E+c,T+s),g),A(g,"x",E)|A(g,"width",c)|A(g,"y",T)|A(g,"height",s)&&(g.bounds=j,t.dirty(g),g.bounds=I,t.dirty(g)),g.mark.bounds.clear().union(I)}function g(t,e,n,i){var r=i.autosize||{},A=r.type,o=t._width,a=t._height,c=t.padding();if(!(t._autosize<1)&&A){var s=Math.max(0,e.width||0),u=Math.max(0,Math.ceil(-n.x1)),g=Math.max(0,Math.ceil(n.x2-s)),l=Math.max(0,e.height||0),M=Math.max(0,Math.ceil(-n.y1)),h=Math.max(0,Math.ceil(n.y2-l));r.contains===N&&(o-=c.left+c.right,a-=c.top+c.bottom),A===T?(u=0,M=0,s=o,l=a):A===I?(s=Math.max(0,o-u-g),l=Math.max(0,a-M-h)):A===E&&(o=s+u+g,a=l+M+h),t._resizeView(o,a,s,l,[u,M],r.resize)}}e.a=i;var l=n(935),M=n(444),h=n(1),d=n(119),f=n(0),I="fit",E="pad",T="none",N="padding",y="axis",p="title",C="frame",D="legend",x="scope",B="row-header",w="row-footer",m="column-header",Q="column-footer",v=.5,j=new d.a;Object(f.inherits)(i,h.g).transform=function(t,e){var n=e.dataflow;return t.mark.items.forEach(function(e){t.layout&&Object(l.a)(n,e,t.layout),r(n,e,t)}),e}},function(t,e,n){"use strict";function i(t){for(var e,n,i=t.items,A=i.length,o=0,a={marks:[],rowheaders:[],rowfooters:[],colheaders:[],colfooters:[],rowtitle:null,coltitle:null};o<A;++o)if(e=i[o],n=e.items,"group"===e.marktype)switch(e.role){case f:case I:break;case E:r(n,a.rowheaders);break;case T:r(n,a.rowfooters);break;case y:r(n,a.colheaders);break;case p:r(n,a.colfooters);break;case N:a.rowtitle=n[0];break;case C:a.coltitle=n[0];break;default:r(n,a.marks)}return a}function r(t,e){for(var n=0,i=t.length;n<i;++n)e.push(t[n])}function A(t){return{x1:0,y1:0,x2:t.width||0,y2:t.height||0}}function o(t){var e=t.bounds.clone();return e.empty()?e.set(0,0,0,0):e.translate(-(t.x||0),-(t.y||0))}function a(t,e){return"x1"===e?t.x||0:"y1"===e?t.y||0:"x2"===e?(t.x||0)+(t.width||0):"y2"===e?(t.y||0)+(t.height||0):void 0}function c(t,e){return t.bounds[e]}function s(t,e,n){var i=Object(h.isObject)(t)?t[e]:t;return null!=i?i:void 0!==n?n:0}function u(t){return t<0?Math.ceil(-t):0}function g(t,e,n){function r(t,e){return Math.floor(Math.min(t,e))}function g(t,e){return Math.ceil(Math.max(t,e))}var h,f,I,E,T,N,y,p,C,D,x,B,w,m=i(e,n),Q=m.marks,v="flush"===n.bounds,j=v?A:o,L=new d.a(0,0,0,0),S=s(n.align,"column"),Y=s(n.align,"row"),b=s(n.padding,"column"),O=s(n.padding,"row"),z=n.offset,U=e.columns||n.columns||Q.length,F=U<0?1:Math.ceil(Q.length/U),k=F*U,R=[],G=[],H=[],J=[],P=Q.length;for(f=0;f<U;++f)G[f]=0;for(f=0;f<F;++f)J[f]=0;for(f=0;f<P;++f)T=j(Q[f]),I=f%U,E=~~(f/U),y=I?Math.ceil(j(Q[f-1]).x2):0,p=E?Math.ceil(j(Q[f-U]).y2):0,G[I]=Math.max(G[I],y),J[E]=Math.max(J[E],p),R.push(b+u(T.x1)),H.push(O+u(T.y1)),t.dirty(Q[f]);for(f=0;f<P;++f)f%U==0&&(R[f]=0),f<U&&(H[f]=0);if("each"===S)for(I=1;I<U;++I){for(w=0,f=I;f<P;f+=U)w<R[f]&&(w=R[f]);for(f=I;f<P;f+=U)R[f]=w+G[I]}else if("all"===S){for(B=0,I=1;I<U;++I)B<G[I]&&(B=G[I]);for(w=0,f=0;f<P;++f)f%U&&w<R[f]&&(w=R[f]);for(f=0;f<P;++f)f%U&&(R[f]=w+B)}else for(I=1;I<U;++I)for(f=I;f<P;f+=U)R[f]+=G[I];if("each"===Y)for(E=1;E<F;++E){for(w=0,f=E*U,h=f+U;f<h;++f)w<H[f]&&(w=H[f]);for(f=E*U;f<h;++f)H[f]=w+J[E]}else if("all"===Y){for(B=0,E=1;E<F;++E)B<J[E]&&(B=J[E]);for(w=0,f=U;f<P;++f)w<H[f]&&(w=H[f]);for(f=U;f<P;++f)H[f]=w+B}else for(E=1;E<F;++E)for(f=E*U,h=f+U;f<h;++f)H[f]+=J[E];for(C=0,f=0;f<P;++f)N=Q[f],y=N.x||0,N.x=C=R[f]+(f%U?C:0),N.bounds.translate(C-y,0);for(I=0;I<U;++I)for(D=0,f=I;f<P;f+=U)N=Q[f],p=N.y||0,N.y=D+=H[f],N.bounds.translate(0,D-p);for(f=0;f<P;++f)Q[f].mark.bounds.clear();for(f=0;f<P;++f)N=Q[f],t.dirty(N),L.union(N.mark.bounds.union(N.bounds));j=v?a:c,x=s(n.headerBand,"row",null),C=l(t,m.rowheaders,Q,U,F,-s(z,"rowHeader"),r,0,j,"x1",0,U,1,x),x=s(n.headerBand,"column",null),D=l(t,m.colheaders,Q,U,U,-s(z,"columnHeader"),r,1,j,"y1",0,1,U,x),x=s(n.footerBand,"row",null),l(t,m.rowfooters,Q,U,F,s(z,"rowFooter"),g,0,j,"x2",U-1,U,1,x),x=s(n.footerBand,"column",null),l(t,m.colfooters,Q,U,U,s(z,"columnFooter"),g,1,j,"y2",k-U,1,U,x),m.rowtitle&&(w=C-s(z,"rowTitle"),x=s(n.titleBand,"row",.5),M(t,m.rowtitle,w,0,L,x)),m.coltitle&&(w=D-s(z,"columnTitle"),x=s(n.titleBand,"column",.5),M(t,m.coltitle,w,1,L,x))}function l(t,e,n,i,r,A,o,a,c,s,u,g,l,M){var h,d,f,I,E,T,N,y,p,C=n.length,D=0,x=0;if(!C)return D;for(h=u;h<C;h+=g)n[h]&&(D=o(D,c(n[h],s)));if(!e.length)return D;for(e.length>r&&(t.warn("Grid headers exceed limit: "+r),e=e.slice(0,r)),D+=A,d=0,I=e.length;d<I;++d)t.dirty(e[d]),e[d].mark.bounds.clear();for(h=u,d=0,I=e.length;d<I;++d,h+=g){for(T=e[d],E=T.mark.bounds,f=h;f>=0&&null==(N=n[f]);f-=l);a?(y=null==M?N.x:Math.round(N.bounds.x1+M*N.bounds.width()),p=D):(y=D,p=null==M?N.y:Math.round(N.bounds.y1+M*N.bounds.height())),E.union(T.bounds.translate(y-(T.x||0),p-(T.y||0))),T.x=y,T.y=p,t.dirty(T),x=o(x,E[s])}return x}function M(t,e,n,i,r,A){if(e){t.dirty(e);var o=n,a=n;i?o=Math.round(r.x1+A*r.width()):a=Math.round(r.y1+A*r.height()),e.bounds.translate(o-(e.x||0),a-(e.y||0)),e.mark.bounds.clear().union(e.bounds),e.x=o,e.y=a,t.dirty(e)}}e.a=g;var h=n(0),d=n(119),f="axis",I="legend",E="row-header",T="row-footer",N="row-title",y="column-header",p="column-footer",C="column-title"},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(937);n.d(e,"axisticks",function(){return i.a});var r=n(1013);n.d(e,"datajoin",function(){return r.a});var A=n(1014);n.d(e,"encode",function(){return A.a});var o=n(1015);n.d(e,"legendentries",function(){return o.a});var a=n(1017);n.d(e,"linkpath",function(){return a.a});var c=n(1018);n.d(e,"pie",function(){return c.a});var s=n(1019);n.d(e,"scale",function(){return s.a});var u=n(1020);n.d(e,"sortitems",function(){return u.a});var g=n(1021);n.d(e,"stack",function(){return g.a});var l=n(123);n.d(e,"validTicks",function(){return l.d})},function(t,e,n){"use strict";function i(t){A.g.call(this,null,t)}e.a=i;var r=n(123),A=n(1),o=n(0);Object(o.inherits)(i,A.g).transform=function(t,e){if(this.value&&!t.modified())return e.StopPropagation;var n=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=this.value,o=t.scale,a=t.count?t.count:t.values?t.values.length:Object(r.a)(o,t.count),c=t.format||Object(r.b)(o,a,t.formatSpecifier),s=t.values?Object(r.d)(o,t.values,a):Object(r.c)(o,a);return i&&(n.rem=i),i=s.map(function(t,e){return Object(A.k)({index:e/(s.length-1),value:t,label:c(t)})}),t.extra&&i.push(Object(A.k)({index:-1,extra:{value:i[0].value},label:""})),n.source=i,n.add=i,this.value=i,n}},function(t,e,n){"use strict";function i(t,e){return function(){var n=e();return n.invertRange||(n.invertRange=n.invert?Object(A.a)(n):n.invertExtent?Object(o.a)(n):void 0),n.type=t,n}}function r(t,e){return arguments.length>1?(g[t]=i(t,e),this):g.hasOwnProperty(t)?g[t]:void 0}e.a=r;var A=n(939),o=n(940),a=n(941),c=n(971),s=n(972),u=n(95),g={identity:u.scaleIdentity,linear:u.scaleLinear,log:u.scaleLog,ordinal:u.scaleOrdinal,pow:u.scalePow,sqrt:u.scaleSqrt,quantile:u.scaleQuantile,quantize:u.scaleQuantize,threshold:u.scaleThreshold,time:u.scaleTime,utc:u.scaleUtc,band:a.a,point:a.b,sequential:s.a,"bin-linear":c.a,"bin-ordinal":c.b};for(var l in g)r(l,g[l])},function(t,e,n){"use strict";e.a=function(t){return function(e){var n,i=e[0],r=e[1];return r<i&&(n=i,i=r,r=n),[t.invert(i),t.invert(r)]}}},function(t,e,n){"use strict";e.a=function(t){return function(e){var n,i,r,A,o=t.range(),a=e[0],c=e[1],s=-1;for(c<a&&(i=a,a=c,c=i),r=0,A=o.length;r<A;++r)o[r]>=a&&o[r]<=c&&(s<0&&(s=r),n=r);if(!(s<0))return a=t.invertExtent(o[s]),c=t.invertExtent(o[n]),[void 0===a[0]?a[1]:a[0],void 0===c[1]?c[0]:c[1]]}}},function(t,e,n){"use strict";function i(){function t(){var t=A().length,i=u[1]<u[0],r=u[i-0],c=u[1-i],d=Object(o.a)(t,l,M);e=(c-r)/(d||1),g&&(e=Math.floor(e)),r+=(c-r-e*(t-l))*h,n=e*(1-l),g&&(r=Math.round(r),n=Math.round(n));var f=Object(a.range)(t).map(function(t){return r+e*t});return s(i?f.reverse():f)}var e,n,r=Object(c.scaleOrdinal)().unknown(void 0),A=r.domain,s=r.range,u=[0,1],g=!1,l=0,M=0,h=.5;return delete r.unknown,r.domain=function(e){return arguments.length?(A(e),t()):A()},r.range=function(e){return arguments.length?(u=[+e[0],+e[1]],t()):u.slice()},r.rangeRound=function(e){return u=[+e[0],+e[1]],g=!0,t()},r.bandwidth=function(){return n},r.step=function(){return e},r.round=function(e){return arguments.length?(g=!!e,t()):g},r.padding=function(e){return arguments.length?(M=Math.max(0,Math.min(1,e)),l=M,t()):l},r.paddingInner=function(e){return arguments.length?(l=Math.max(0,Math.min(1,e)),t()):l},r.paddingOuter=function(e){return arguments.length?(M=Math.max(0,Math.min(1,e)),t()):M},r.align=function(e){return arguments.length?(h=Math.max(0,Math.min(1,e)),t()):h},r.invertRange=function(t){if(null!=t[0]&&null!=t[1]){var e,i,r,o=+t[0],c=+t[1],g=u[1]<u[0],l=g?s().reverse():s(),M=l.length-1;if(o===o&&c===c&&(c<o&&(r=o,o=c,c=r),!(c<l[0]||o>u[1-g])))return e=Math.max(0,Object(a.bisectRight)(l,o)-1),i=o===c?e:Object(a.bisectRight)(l,c)-1,o-l[e]>n+1e-10&&++e,g&&(r=e,e=M-i,i=M-r),e>i?void 0:A().slice(e,i+1)}},r.invert=function(t){var e=r.invertRange([t,t]);return e?e[0]:e},r.copy=function(){return i().domain(A()).range(u).round(g).paddingInner(l).paddingOuter(M).align(h)},t()}function r(t){var e=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,t.copy=function(){return r(e())},t}function A(){return r(i().paddingInner(1))}e.a=i,e.b=A;var o=n(445),a=n(10),c=n(95)},function(t,e,n){"use strict";function i(){function t(){var t=A().length,i=s[1]<s[0],r=s[i-0],a=s[1-i];e=(a-r)/Math.max(1,t-g+2*l),u&&(e=Math.floor(e)),r+=(a-r-e*(t-g))*M,n=e*(1-g),u&&(r=Math.round(r),n=Math.round(n));var h=Object(o.range)(t).map(function(t){return r+e*t});return c(i?h.reverse():h)}var e,n,r=Object(a.a)().unknown(void 0),A=r.domain,c=r.range,s=[0,1],u=!1,g=0,l=0,M=.5;return delete r.unknown,r.domain=function(e){return arguments.length?(A(e),t()):A()},r.range=function(e){return arguments.length?(s=[+e[0],+e[1]],t()):s.slice()},r.rangeRound=function(e){return s=[+e[0],+e[1]],u=!0,t()},r.bandwidth=function(){return n},r.step=function(){return e},r.round=function(e){return arguments.length?(u=!!e,t()):u},r.padding=function(e){return arguments.length?(g=l=Math.max(0,Math.min(1,e)),t()):g},r.paddingInner=function(e){return arguments.length?(g=Math.max(0,Math.min(1,e)),t()):g},r.paddingOuter=function(e){return arguments.length?(l=Math.max(0,Math.min(1,e)),t()):l},r.align=function(e){return arguments.length?(M=Math.max(0,Math.min(1,e)),t()):M},r.copy=function(){return i().domain(A()).range(s).round(u).paddingInner(g).paddingOuter(l).align(M)},t()}function r(t){var e=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return r(e())},t}function A(){return r(i().paddingInner(1))}e.a=i,e.b=A;var o=n(10),a=n(446)},function(t,e,n){"use strict";function i(){function t(t){return+t}var e=[0,1];return t.invert=t,t.domain=t.range=function(n){return arguments.length?(e=r.a.call(n,o.a),t):e.slice()},t.copy=function(){return i().domain(e)},Object(A.b)(t)}e.a=i;var r=n(78),A=n(124),o=n(455)},function(t,e,n){"use strict";function i(t){if(t instanceof A)return new A(t.l,t.a,t.b,t.opacity);if(t instanceof l){var e=t.h*d.a;return new A(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof h.b||(t=Object(h.h)(t));var n=s(t.r),i=s(t.g),r=s(t.b),a=o((.4124564*n+.3575761*i+.1804375*r)/f),c=o((.2126729*n+.7151522*i+.072175*r)/I);return new A(116*c-16,500*(a-c),200*(c-o((.0193339*n+.119192*i+.9503041*r)/E)),t.opacity)}function r(t,e,n,r){return 1===arguments.length?i(t):new A(t,e,n,null==r?1:r)}function A(t,e,n,i){this.l=+t,this.a=+e,this.b=+n,this.opacity=+i}function o(t){return t>p?Math.pow(t,1/3):t/y+T}function a(t){return t>N?t*t*t:y*(t-T)}function c(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function s(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function u(t){if(t instanceof l)return new l(t.h,t.c,t.l,t.opacity);t instanceof A||(t=i(t));var e=Math.atan2(t.b,t.a)*d.b;return new l(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function g(t,e,n,i){return 1===arguments.length?u(t):new l(t,e,n,null==i?1:i)}function l(t,e,n,i){this.h=+t,this.c=+e,this.l=+n,this.opacity=+i}e.a=r,e.b=g;var M=n(262),h=n(261),d=n(447),f=.95047,I=1,E=1.08883,T=4/29,N=6/29,y=3*N*N,p=N*N*N;Object(M.a)(A,r,Object(M.b)(h.a,{brighter:function(t){return new A(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new A(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return t=I*a(t),e=f*a(e),n=E*a(n),new h.b(c(3.2404542*e-1.5371385*t-.4985314*n),c(-.969266*e+1.8760108*t+.041556*n),c(.0556434*e-.2040259*t+1.0572252*n),this.opacity)}})),Object(M.a)(l,g,Object(M.b)(h.a,{brighter:function(t){return new l(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new l(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return i(this).rgb()}}))},function(t,e,n){"use strict";function i(t){if(t instanceof A)return new A(t.h,t.s,t.l,t.opacity);t instanceof a.b||(t=Object(a.h)(t));var e=t.r/255,n=t.g/255,i=t.b/255,r=(f*i+h*e-d*n)/(f+h-d),o=i-r,s=(M*(n-r)-g*o)/l,u=Math.sqrt(s*s+o*o)/(M*r*(1-r)),I=u?Math.atan2(s,o)*c.b-120:NaN;return new A(I<0?I+360:I,u,r,t.opacity)}function r(t,e,n,r){return 1===arguments.length?i(t):new A(t,e,n,null==r?1:r)}function A(t,e,n,i){this.h=+t,this.s=+e,this.l=+n,this.opacity=+i}e.a=r;var o=n(262),a=n(261),c=n(447),s=-.14861,u=1.78277,g=-.29227,l=-.90649,M=1.97294,h=M*l,d=M*u,f=u*g-l*s;Object(o.a)(A,r,Object(o.b)(a.a,{brighter:function(t){return t=null==t?a.c:Math.pow(a.c,t),new A(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?a.d:Math.pow(a.d,t),new A(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*c.a,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),i=Math.cos(t),r=Math.sin(t);return new a.b(255*(e+n*(s*i+u*r)),255*(e+n*(g*i+l*r)),255*(e+n*(M*i)),this.opacity)}}))},function(t,e,n){"use strict";e.a=function(t,e){return t=+t,e-=t,function(n){return Math.round(t+e*n)}}},function(t,e,n){"use strict";function i(t,e,n,i){function A(t){return t.length?t.pop()+" ":""}function o(t,i,A,o,a,c){if(t!==A||i!==o){var s=a.push("translate(",null,e,null,n);c.push({i:s-4,x:Object(r.a)(t,A)},{i:s-2,x:Object(r.a)(i,o)})}else(A||o)&&a.push("translate("+A+e+o+n)}function a(t,e,n,o){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),o.push({i:n.push(A(n)+"rotate(",null,i)-2,x:Object(r.a)(t,e)})):e&&n.push(A(n)+"rotate("+e+i)}function c(t,e,n,o){t!==e?o.push({i:n.push(A(n)+"skewX(",null,i)-2,x:Object(r.a)(t,e)}):e&&n.push(A(n)+"skewX("+e+i)}function s(t,e,n,i,o,a){if(t!==n||e!==i){var c=o.push(A(o)+"scale(",null,",",null,")");a.push({i:c-4,x:Object(r.a)(t,n)},{i:c-2,x:Object(r.a)(e,i)})}else 1===n&&1===i||o.push(A(o)+"scale("+n+","+i+")")}return function(e,n){var i=[],r=[];return e=t(e),n=t(n),o(e.translateX,e.translateY,n.translateX,n.translateY,i,r),a(e.rotate,n.rotate,i,r),c(e.skewX,n.skewX,i,r),s(e.scaleX,e.scaleY,n.scaleX,n.scaleY,i,r),e=n=null,function(t){for(var e,n=-1,A=r.length;++n<A;)i[(e=r[n]).i]=e.x(t);return i.join("")}}}n.d(e,"a",function(){return o}),n.d(e,"b",function(){return a});var r=n(173),A=n(948),o=i(A.a,"px, ","px)","deg)"),a=i(A.b,", ",")",")")},function(t,e,n){"use strict";function i(t){return"none"===t?s.b:(A||(A=document.createElement("DIV"),o=document.documentElement,a=document.defaultView),A.style.transform=t,t=a.getComputedStyle(o.appendChild(A),null).getPropertyValue("transform"),o.removeChild(A),t=t.slice(7,-1).split(","),Object(s.a)(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}function r(t){return null==t?s.b:(c||(c=document.createElementNS("http://www.w3.org/2000/svg","g")),c.setAttribute("transform",t),(t=c.transform.baseVal.consolidate())?(t=t.matrix,Object(s.a)(t.a,t.b,t.c,t.d,t.e,t.f)):s.b)}e.a=i,e.b=r;var A,o,a,c,s=n(949)},function(t,e,n){"use strict";n.d(e,"b",function(){return r});var i=180/Math.PI,r={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};e.a=function(t,e,n,r,A,o){var a,c,s;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(s=t*n+e*r)&&(n-=t*s,r-=e*s),(c=Math.sqrt(n*n+r*r))&&(n/=c,r/=c,s/=c),t*r<e*n&&(t=-t,e=-e,s=-s,a=-a),{translateX:A,translateY:o,rotate:Math.atan2(e,t)*i,skewX:Math.atan(s)*i,scaleX:a,scaleY:c}}},function(t,e,n){"use strict";function i(t){return((t=Math.exp(t))+1/t)/2}function r(t){return((t=Math.exp(t))-1/t)/2}function A(t){return((t=Math.exp(2*t))-1)/(t+1)}var o=Math.SQRT2;e.a=function(t,e){var n,a,c=t[0],s=t[1],u=t[2],g=e[0],l=e[1],M=e[2],h=g-c,d=l-s,f=h*h+d*d;if(f<1e-12)a=Math.log(M/u)/o,n=function(t){return[c+t*h,s+t*d,u*Math.exp(o*t*a)]};else{var I=Math.sqrt(f),E=(M*M-u*u+4*f)/(2*u*2*I),T=(M*M-u*u-4*f)/(2*M*2*I),N=Math.log(Math.sqrt(E*E+1)-E),y=Math.log(Math.sqrt(T*T+1)-T);a=(y-N)/o,n=function(t){var e=t*a,n=i(N),g=u/(2*I)*(n*A(o*e+N)-r(N));return[c+g*h,s+g*d,u*n/i(o*e+N)]}}return n.duration=1e3*a,n}},function(t,e,n){"use strict";function i(t){return function(e,n){var i=t((e=Object(r.d)(e)).h,(n=Object(r.d)(n)).h),o=Object(A.a)(e.s,n.s),a=Object(A.a)(e.l,n.l),c=Object(A.a)(e.opacity,n.opacity);return function(t){return e.h=i(t),e.s=o(t),e.l=a(t),e.opacity=c(t),e+""}}}n.d(e,"b",function(){return o});var r=n(15),A=n(125);e.a=i(A.c);var o=i(A.a)},function(t,e,n){"use strict";function i(t,e){var n=Object(A.a)((t=Object(r.e)(t)).l,(e=Object(r.e)(e)).l),i=Object(A.a)(t.a,e.a),o=Object(A.a)(t.b,e.b),a=Object(A.a)(t.opacity,e.opacity);return function(e){return t.l=n(e),t.a=i(e),t.b=o(e),t.opacity=a(e),t+""}}e.a=i;var r=n(15),A=n(125)},function(t,e,n){"use strict";function i(t){return function(e,n){var i=t((e=Object(r.c)(e)).h,(n=Object(r.c)(n)).h),o=Object(A.a)(e.c,n.c),a=Object(A.a)(e.l,n.l),c=Object(A.a)(e.opacity,n.opacity);return function(t){return e.h=i(t),e.c=o(t),e.l=a(t),e.opacity=c(t),e+""}}}n.d(e,"b",function(){return o});var r=n(15),A=n(125);e.a=i(A.c);var o=i(A.a)},function(t,e,n){"use strict";function i(t){return function e(n){function i(e,i){var o=t((e=Object(r.b)(e)).h,(i=Object(r.b)(i)).h),a=Object(A.a)(e.s,i.s),c=Object(A.a)(e.l,i.l),s=Object(A.a)(e.opacity,i.opacity);return function(t){return e.h=o(t),e.s=a(t),e.l=c(Math.pow(t,n)),e.opacity=s(t),e+""}}return n=+n,i.gamma=e,i}(1)}n.d(e,"a",function(){return o});var r=n(15),A=n(125);e.b=i(A.c);var o=i(A.a)},function(t,e,n){"use strict";e.a=function(t,e){for(var n=new Array(e),i=0;i<e;++i)n[i]=t(i/(e-1));return n}},function(t,e,n){"use strict";var i=n(10),r=n(91);e.a=function(t,e,n){var A,o=t[0],a=t[t.length-1],c=Object(i.tickStep)(o,a,null==e?10:e);switch(n=Object(r.formatSpecifier)(null==n?",f":n),n.type){case"s":var s=Math.max(Math.abs(o),Math.abs(a));return null!=n.precision||isNaN(A=Object(r.precisionPrefix)(c,s))||(n.precision=A),Object(r.formatPrefix)(n,s);case"":case"e":case"g":case"p":case"r":null!=n.precision||isNaN(A=Object(r.precisionRound)(c,Math.max(Math.abs(o),Math.abs(a))))||(n.precision=A-("e"===n.type));break;case"f":case"%":null!=n.precision||isNaN(A=Object(r.precisionFixed)(c))||(n.precision=A-2*("%"===n.type))}return Object(r.format)(n)}},function(t,e,n){"use strict";function i(t,e){return(e=Math.log(e/t))?function(n){return Math.log(n/t)/e}:Object(l.a)(e)}function r(t,e){return t<0?function(n){return-Math.pow(-e,n)*Math.pow(-t,1-n)}:function(n){return Math.pow(e,n)*Math.pow(t,1-n)}}function A(t){return isFinite(t)?+("1e"+t):t<0?0:t}function o(t){return 10===t?A:t===Math.E?Math.exp:function(e){return Math.pow(t,e)}}function a(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),function(e){return Math.log(e)/t})}function c(t){return function(e){return-t(-e)}}function s(){function t(){return l=a(A),d=o(A),n()[0]<0&&(l=c(l),d=c(d)),e}var e=Object(h.b)(i,r).domain([1,10]),n=e.domain,A=10,l=a(10),d=o(10);return e.base=function(e){return arguments.length?(A=+e,t()):A},e.domain=function(e){return arguments.length?(n(e),t()):n()},e.ticks=function(t){var e,i=n(),r=i[0],o=i[i.length-1];(e=o<r)&&(g=r,r=o,o=g);var a,c,s,g=l(r),M=l(o),h=null==t?10:+t,f=[];if(!(A%1)&&M-g<h){if(g=Math.round(g)-1,M=Math.round(M)+1,r>0){for(;g<M;++g)for(c=1,a=d(g);c<A;++c)if(!((s=a*c)<r)){if(s>o)break;f.push(s)}}else for(;g<M;++g)for(c=A-1,a=d(g);c>=1;--c)if(!((s=a*c)<r)){if(s>o)break;f.push(s)}}else f=Object(u.ticks)(g,M,Math.min(M-g,h)).map(d);return e?f.reverse():f},e.tickFormat=function(t,n){if(null==n&&(n=10===A?".0e":","),"function"!=typeof n&&(n=Object(g.format)(n)),t===1/0)return n;null==t&&(t=10);var i=Math.max(1,A*t/e.ticks().length);return function(t){var e=t/d(Math.round(l(t)));return e*A<A-.5&&(e*=A),e<=i?n(t):""}},e.nice=function(){return n(Object(M.a)(n(),{floor:function(t){return d(Math.floor(l(t)))},ceil:function(t){return d(Math.ceil(l(t)))}}))},e.copy=function(){return Object(h.a)(e,s().base(A))},e}e.a=s;var u=n(10),g=n(91),l=n(264),M=n(456),h=n(174)},function(t,e,n){"use strict";function i(t,e){return t<0?-Math.pow(-t,e):Math.pow(t,e)}function r(){function t(t,e){return(e=i(e,n)-(t=i(t,n)))?function(r){return(i(r,n)-t)/e}:Object(o.a)(e)}function e(t,e){return e=i(e,n)-(t=i(t,n)),function(r){return i(t+e*r,1/n)}}var n=1,A=Object(c.b)(t,e),s=A.domain;return A.exponent=function(t){return arguments.length?(n=+t,s(s())):n},A.copy=function(){return Object(c.a)(A,r().exponent(n))},Object(a.b)(A)}function A(){return r().exponent(.5)}e.a=r,e.b=A;var o=n(264),a=n(124),c=n(174)},function(t,e,n){"use strict";function i(){function t(){var t=0,i=Math.max(1,o.length);for(a=new Array(i-1);++t<i;)a[t-1]=Object(r.quantile)(n,t/i);return e}function e(t){if(!isNaN(t=+t))return o[Object(r.bisect)(a,t)]}var n=[],o=[],a=[];return e.invertExtent=function(t){var e=o.indexOf(t);return e<0?[NaN,NaN]:[e>0?a[e-1]:n[0],e<a.length?a[e]:n[n.length-1]]},e.domain=function(e){if(!arguments.length)return n.slice();n=[];for(var i,A=0,o=e.length;A<o;++A)null==(i=e[A])||isNaN(i=+i)||n.push(i);return n.sort(r.ascending),t()},e.range=function(e){return arguments.length?(o=A.b.call(e),t()):o.slice()},e.quantiles=function(){return a.slice()},e.copy=function(){return i().domain(n).range(o)},e}e.a=i;var r=n(10),A=n(78)},function(t,e,n){"use strict";function i(){function t(t){if(t<=t)return u[Object(r.bisect)(s,t,0,c)]}function e(){var e=-1;for(s=new Array(c);++e<c;)s[e]=((e+1)*a-(e-c)*n)/(c+1);return t}var n=0,a=1,c=1,s=[.5],u=[0,1];return t.domain=function(t){return arguments.length?(n=+t[0],a=+t[1],e()):[n,a]},t.range=function(t){return arguments.length?(c=(u=A.b.call(t)).length-1,e()):u.slice()},t.invertExtent=function(t){var e=u.indexOf(t);return e<0?[NaN,NaN]:e<1?[n,s[0]]:e>=c?[s[c-1],a]:[s[e-1],s[e]]},t.copy=function(){return i().domain([n,a]).range(u)},Object(o.b)(t)}e.a=i;var r=n(10),A=n(78),o=n(124)},function(t,e,n){"use strict";function i(){function t(t){if(t<=t)return n[Object(r.bisect)(e,t,0,o)]}var e=[.5],n=[0,1],o=1;return t.domain=function(i){return arguments.length?(e=A.b.call(i),o=Math.min(e.length,n.length-1),t):e.slice()},t.range=function(i){return arguments.length?(n=A.b.call(i),o=Math.min(e.length,n.length-1),t):n.slice()},t.invertExtent=function(t){var i=n.indexOf(t);return[e[i-1],e[i]]},t.copy=function(){return i().domain(e).range(n)},t}e.a=i;var r=n(10),A=n(78)},function(t,e,n){"use strict";var i=n(457),r=n(92),A=n(116);e.a=function(){return Object(i.a)(A.utcYear,A.utcMonth,A.utcWeek,A.utcDay,A.utcHour,A.utcMinute,A.utcSecond,A.utcMillisecond,r.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])}},function(t,e,n){"use strict";var i=n(126);e.a=Object(i.a)("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf")},function(t,e,n){"use strict";var i=n(126);e.a=Object(i.a)("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6")},function(t,e,n){"use strict";var i=n(126);e.a=Object(i.a)("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9")},function(t,e,n){"use strict";var i=n(126);e.a=Object(i.a)("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5")},function(t,e,n){"use strict";var i=n(15),r=n(33);e.a=Object(r.interpolateCubehelixLong)(Object(i.b)(300,.5,0),Object(i.b)(-240,.5,1))},function(t,e,n){"use strict";n.d(e,"c",function(){return A}),n.d(e,"a",function(){return o});var i=n(15),r=n(33),A=Object(r.interpolateCubehelixLong)(Object(i.b)(-100,.75,.35),Object(i.b)(80,1.5,.8)),o=Object(r.interpolateCubehelixLong)(Object(i.b)(260,.75,.35),Object(i.b)(80,1.5,.8)),a=Object(i.b)();e.b=function(t){(t<0||t>1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return a.h=360*t-100,a.s=1.5-1.5*e,a.l=.8-.9*e,a+""}},function(t,e,n){"use strict";function i(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}n.d(e,"c",function(){return A}),n.d(e,"b",function(){return o}),n.d(e,"d",function(){return a});var r=n(126);e.a=i(Object(r.a)("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var A=i(Object(r.a)("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),o=i(Object(r.a)("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),a=i(Object(r.a)("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"))},function(t,e,n){"use strict";function i(t){function e(e){var i=(e-n)/(A-n);return t(o?Math.max(0,Math.min(1,i)):i)}var n=0,A=1,o=!1;return e.domain=function(t){return arguments.length?(n=+t[0],A=+t[1],e):[n,A]},e.clamp=function(t){return arguments.length?(o=!!t,e):o},e.interpolator=function(n){return arguments.length?(t=n,e):t},e.copy=function(){return i(t).domain([n,A]).clamp(o)},Object(r.b)(e)}e.a=i;var r=n(124)},function(t,e,n){"use strict";function i(t){return s.call(t,function(t){return+t})}function r(){function t(t){return n(t)}function e(t){A=i(t),n.domain([A[0],Object(c.peek)(A)])}var n=Object(a.scaleLinear)(),A=[];return t.domain=function(n){return arguments.length?(e(n),t):A.slice()},t.range=function(e){return arguments.length?(n.range(e),t):n.range()},t.rangeRound=function(e){return arguments.length?(n.rangeRound(e),t):n.rangeRound()},t.interpolate=function(e){return arguments.length?(n.interpolate(e),t):n.interpolate()},t.invert=function(t){return n.invert(t)},t.ticks=function(e){var n=A.length,i=~~(n/(e||n));return i<2?t.domain():A.filter(function(t,e){return!(e%i)})},t.tickFormat=function(){return n.tickFormat.apply(n,arguments)},t.copy=function(){return r().domain(t.domain()).range(t.range())},t}function A(){function t(t){return null==t||t!==t?void 0:n[(Object(o.bisect)(e,t)-1)%n.length]}var e=[],n=[];return t.domain=function(n){return arguments.length?(e=i(n),t):e.slice()},t.range=function(e){return arguments.length?(n=u.call(e),t):n.slice()},t.copy=function(){return A().domain(t.domain()).range(t.range())},t}e.a=r,e.b=A;var o=n(10),a=n(95),c=n(0),s=Array.prototype.map,u=Array.prototype.slice},function(t,e,n){"use strict";function i(t){function e(){var t=o.domain();a=t[0],c=Object(r.peek)(t)-a}function n(e){var n=(e-a)/c;return t(s?Math.max(0,Math.min(1,n)):n)}var o=Object(A.scaleLinear)(),a=0,c=1,s=!1;return n.clamp=function(t){return arguments.length?(s=!!t,n):s},n.domain=function(t){return arguments.length?(o.domain(t),e(),n):o.domain()},n.interpolator=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return i().domain(o.domain()).clamp(s).interpolator(t)},n.ticks=function(t){return o.ticks(t)},n.tickFormat=function(t,e){return o.tickFormat(t,e)},n.nice=function(t){return o.nice(t),e(),n},n}e.a=i;var r=n(0),A=n(95)},function(t,e,n){"use strict";function i(t,e){u[t]=o["interpolate"+e],s[t]=o["scheme"+e]}var r=n(974),A=n(95),o=n(975),a=n(33),c=n(0),s={blueorange:r.a},u={category10:A.schemeCategory10,category20:A.schemeCategory20,category20b:A.schemeCategory20b,category20c:A.schemeCategory20c,accent:o.schemeAccent,dark2:o.schemeDark2,paired:o.schemePaired,pastel1:o.schemePastel1,pastel2:o.schemePastel2,set1:o.schemeSet1,set2:o.schemeSet2,set3:o.schemeSet3,tableau10:r.b,tableau20:r.c,viridis:A.interpolateViridis,magma:A.interpolateMagma,inferno:A.interpolateInferno,plasma:A.interpolatePlasma,blueorange:Object(a.interpolateRgbBasis)(Object(c.peek)(r.a))};i("blues","Blues"),i("greens","Greens"),i("greys","Greys"),i("purples","Purples"),i("reds","Reds"),i("oranges","Oranges"),i("brownbluegreen","BrBG"),i("purplegreen","PRGn"),i("pinkyellowgreen","PiYG"),i("purpleorange","PuOr"),i("redblue","RdBu"),i("redgrey","RdGy"),i("redyellowblue","RdYlBu"),i("redyellowgreen","RdYlGn"),i("spectral","Spectral"),i("bluegreen","BuGn"),i("bluepurple","BuPu"),i("greenblue","GnBu"),i("orangered","OrRd"),i("purplebluegreen","PuBuGn"),i("purpleblue","PuBu"),i("purplered","PuRd"),i("redpurple","RdPu"),i("yellowgreenblue","YlGnBu"),i("yellowgreen","YlGn"),i("yelloworangebrown","YlOrBr"),i("yelloworangered","YlOrRd"),e.a=function(t,e){if(arguments.length>1)return u[t]=e,this;var n=t.split("-");return t=n[0],n=+n[1]+1,n&&s.hasOwnProperty(t)?s[t][n-1]:!n&&u.hasOwnProperty(t)?u[t]:void 0}},function(t,e,n){"use strict";function i(t){for(var e=t.length/6|0,n=new Array(e),i=0;i<e;)n[i]="#"+t.slice(6*i,6*++i);return n}n.d(e,"b",function(){return r}),n.d(e,"c",function(){return A}),n.d(e,"a",function(){return o});var r=i("4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac"),A=i("4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5"),o=new Array(3).concat("67a9cff7f7f7f1a340","0571b092c5defdb863e66101","0571b092c5def7f7f7fdb863e66101","2166ac67a9cfd1e5f0fee0b6f1a340b35806","2166ac67a9cfd1e5f0f7f7f7fee0b6f1a340b35806","2166ac4393c392c5ded1e5f0fee0b6fdb863e08214b35806","2166ac4393c392c5ded1e5f0f7f7f7fee0b6fdb863e08214b35806","0530612166ac4393c392c5ded1e5f0fee0b6fdb863e08214b358067f3b08","0530612166ac4393c392c5ded1e5f0f7f7f7fee0b6fdb863e08214b358067f3b08").map(i)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(976);n.d(e,"schemeAccent",function(){return i.a});var r=n(977);n.d(e,"schemeDark2",function(){return r.a});var A=n(978);n.d(e,"schemePaired",function(){return A.a});var o=n(979);n.d(e,"schemePastel1",function(){return o.a});var a=n(980);n.d(e,"schemePastel2",function(){return a.a});var c=n(981);n.d(e,"schemeSet1",function(){return c.a});var s=n(982);n.d(e,"schemeSet2",function(){return s.a});var u=n(983);n.d(e,"schemeSet3",function(){return u.a});var g=n(984);n.d(e,"interpolateBrBG",function(){return g.a}),n.d(e,"schemeBrBG",function(){return g.b});var l=n(985);n.d(e,"interpolatePRGn",function(){return l.a}),n.d(e,"schemePRGn",function(){return l.b});var M=n(986);n.d(e,"interpolatePiYG",function(){return M.a}),n.d(e,"schemePiYG",function(){return M.b});var h=n(987);n.d(e,"interpolatePuOr",function(){return h.a}),n.d(e,"schemePuOr",function(){return h.b});var d=n(988);n.d(e,"interpolateRdBu",function(){return d.a}),n.d(e,"schemeRdBu",function(){return d.b});var f=n(989);n.d(e,"interpolateRdGy",function(){return f.a}),n.d(e,"schemeRdGy",function(){return f.b});var I=n(990);n.d(e,"interpolateRdYlBu",function(){return I.a}),n.d(e,"schemeRdYlBu",function(){return I.b});var E=n(991);n.d(e,"interpolateRdYlGn",function(){return E.a}),n.d(e,"schemeRdYlGn",function(){return E.b});var T=n(992);n.d(e,"interpolateSpectral",function(){return T.a}),n.d(e,"schemeSpectral",function(){return T.b});var N=n(993);n.d(e,"interpolateBuGn",function(){return N.a}),n.d(e,"schemeBuGn",function(){return N.b});var y=n(994);n.d(e,"interpolateBuPu",function(){return y.a}),n.d(e,"schemeBuPu",function(){return y.b});var p=n(995);n.d(e,"interpolateGnBu",function(){return p.a}),n.d(e,"schemeGnBu",function(){return p.b});var C=n(996);n.d(e,"interpolateOrRd",function(){return C.a}),n.d(e,"schemeOrRd",function(){return C.b});var D=n(997);n.d(e,"interpolatePuBuGn",function(){return D.a}),n.d(e,"schemePuBuGn",function(){return D.b});var x=n(998);n.d(e,"interpolatePuBu",function(){return x.a}),n.d(e,"schemePuBu",function(){return x.b});var B=n(999);n.d(e,"interpolatePuRd",function(){return B.a}),n.d(e,"schemePuRd",function(){return B.b});var w=n(1e3);n.d(e,"interpolateRdPu",function(){return w.a}),n.d(e,"schemeRdPu",function(){return w.b});var m=n(1001);n.d(e,"interpolateYlGnBu",function(){return m.a}),n.d(e,"schemeYlGnBu",function(){return m.b});var Q=n(1002);n.d(e,"interpolateYlGn",function(){return Q.a}),n.d(e,"schemeYlGn",function(){return Q.b});var v=n(1003);n.d(e,"interpolateYlOrBr",function(){return v.a}),n.d(e,"schemeYlOrBr",function(){return v.b});var j=n(1004);n.d(e,"interpolateYlOrRd",function(){return j.a}),n.d(e,"schemeYlOrRd",function(){return j.b});var L=n(1005);n.d(e,"interpolateBlues",function(){return L.a}),n.d(e,"schemeBlues",function(){return L.b});var S=n(1006);n.d(e,"interpolateGreens",function(){return S.a}),n.d(e,"schemeGreens",function(){return S.b});var Y=n(1007);n.d(e,"interpolateGreys",function(){return Y.a}),n.d(e,"schemeGreys",function(){return Y.b});var b=n(1008);n.d(e,"interpolatePurples",function(){return b.a}),n.d(e,"schemePurples",function(){return b.b});var O=n(1009);n.d(e,"interpolateReds",function(){return O.a}),n.d(e,"schemeReds",function(){return O.b});var z=n(1010);n.d(e,"interpolateOranges",function(){return z.a}),n.d(e,"schemeOranges",function(){return z.b})},function(t,e,n){"use strict";var i=n(8);e.a=Object(i.a)("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666")},function(t,e,n){"use strict";var i=n(8);e.a=Object(i.a)("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666")},function(t,e,n){"use strict";var i=n(8);e.a=Object(i.a)("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928")},function(t,e,n){"use strict";var i=n(8);e.a=Object(i.a)("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2")},function(t,e,n){"use strict";var i=n(8);e.a=Object(i.a)("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc")},function(t,e,n){"use strict";var i=n(8);e.a=Object(i.a)("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999")},function(t,e,n){"use strict";var i=n(8);e.a=Object(i.a)("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3")},function(t,e,n){"use strict";var i=n(8);e.a=Object(i.a)("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f")},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(8),r=n(12),A=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(i.a);e.a=Object(r.a)(A)},function(t,e,n){"use strict";function i(t,e){var n=e[0],i=Object(c.peek)(e)-n;return function(e){return t(n+e*i)}}function r(t,e,n){var i=n-e;return i?"linear"===t.type||"sequential"===t.type?function(t){return(t-e)/i}:t.copy().domain([e,n]).range([0,1]).interpolate(A):Object(c.constant)(0)}function A(t,e){var n=e-t;return function(e){return t+e*n}}function o(t,e){var n=s[a(t)];return null!=e&&n&&n.gamma?n.gamma(e):n}function a(t){return"interpolate"+t.toLowerCase().split("-").map(function(t){return t[0].toUpperCase()+t.slice(1)}).join("")}e.b=i,e.c=r,e.a=o;var c=n(0),s=n(33)},function(t,e,n){"use strict";function i(t){return o.hasOwnProperty(t)&&o[t]}function r(t){return a.hasOwnProperty(t)&&a[t]}e.a=i,e.b=r;var A=n(116),o={millisecond:A.timeMillisecond,second:A.timeSecond,minute:A.timeMinute,hour:A.timeHour,day:A.timeDay,week:A.timeWeek,month:A.timeMonth,year:A.timeYear},a={millisecond:A.utcMillisecond,second:A.utcSecond,minute:A.utcMinute,hour:A.utcHour,day:A.utcDay,week:A.utcWeek,month:A.utcMonth,year:A.utcYear}},function(t,e,n){"use strict";function i(t){o.g.call(this,null,t)}function r(){return Object(o.k)({})}function A(t){return t.exit}e.a=i;var o=n(1),a=n(0);Object(a.inherits)(i,o.g).transform=function(t,e){var n=e.dataflow,i=e.fork(e.NO_SOURCE|e.NO_FIELDS),c=t.item||r,s=t.key||o.r,u=this.value;return Object(a.isArray)(i.encode)&&(i.encode=null),u||(e=e.addAll(),this.value=u=Object(a.fastmap)().test(A),u.lookup=function(t){return u.get(s(t))}),(t.modified("key")||e.modified(s))&&Object(a.error)("DataJoin does not support modified key function or fields."),e.visit(e.ADD,function(t){var e=s(t),n=u.get(e);n?n.exit?(u.empty--,i.add.push(n)):i.mod.push(n):(u.set(e,n=c(t)),i.add.push(n)),n.datum=t,n.exit=!1}),e.visit(e.MOD,function(t){var e=s(t),n=u.get(e);n&&(n.datum=t,i.mod.push(n))}),e.visit(e.REM,function(t){var e=s(t),n=u.get(e);t!==n.datum||n.exit||(i.rem.push(n),n.exit=!0,++u.empty)}),e.changed(e.ADD_MOD)&&i.modifies("datum"),t.clean&&u.empty>n.cleanThreshold&&n.runAfter(u.clean),i}},function(t,e,n){"use strict";function i(t){r.g.call(this,null,t)}e.a=i;var r=n(1),A=n(0);Object(A.inherits)(i,r.g).transform=function(t,e){var n=e.fork(e.ADD_REM),i=t.encoders,r=e.encode;if(Object(A.isArray)(r)){if(!n.changed()&&!r.every(function(t){return i[t]}))return e.StopPropagation;r=r[0]}var o="enter"===r,a=i.update||A.falsy,c=i.enter||A.falsy,s=i.exit||A.falsy,u=(r&&!o?i[r]:a)||A.falsy;if(e.changed(e.ADD)&&(e.visit(e.ADD,function(e){c(e,t),a(e,t),u!==A.falsy&&u!==a&&u(e,t)}),n.modifies(c.output),n.modifies(a.output),u!==A.falsy&&u!==a&&n.modifies(u.output)),e.changed(e.REM)&&s!==A.falsy&&(e.visit(e.REM,function(e){s(e,t)}),n.modifies(s.output)),o||u!==A.falsy){var g=e.MOD|(t.modified()?e.REFLOW:0);o?(e.visit(g,function(e){var i=c(e,t);(u(e,t)||i)&&n.mod.push(e)}),n.mod.length&&n.modifies(c.output)):e.visit(g,function(e){u(e,t)&&n.mod.push(e)}),n.mod.length&&n.modifies(u.output)}return n.changed()?n:e.StopPropagation}},function(t,e,n){"use strict";function i(t){o.g.call(this,[],t)}e.a=i;var r=n(1016),A=n(123),o=n(1),a=n(77),c=n(0);Object(c.inherits)(i,o.g).transform=function(t,e){if(null!=this.value&&!t.modified())return e.StopPropagation;var n=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=0,s=this.value,u="gradient"===t.type,g=t.scale,l=null==t.count?5:Object(A.a)(g,t.count),M=t.format||Object(A.b)(g,l,t.formatSpecifier),h=t.values||Object(r.b)(g,l,u);if(M=Object(r.a)(g,M),s&&(n.rem=s),u)var d=t.values?g.domain():h,f=Object(a.e)(g,d[0],Object(c.peek)(d));else{var I,E=t.size;Object(c.isFunction)(E)?(t.values||0!==g(h[0])||(h=h.slice(1)),I=h.reduce(function(e,n){return Math.max(e,E(n,t))},0)):E=Object(c.constant)(I=E||8)}return s=h.map(function(e,n){var r=Object(o.k)({index:n,label:M(e,n,h),value:e});return u?r.perc=f(e):(r.offset=I,r.size=E(e,t),r.total=Math.round(i),i+=r.size),r}),n.source=s,n.add=s,this.value=s,n}},function(t,e,n){"use strict";function i(t,e,n){if(n)return t.domain();var i=d[t.type];return i?i(t):Object(M.c)(t,e)}function r(t){var e=t.domain(),n=e[0],i=Object(h.peek)(e),r=t.range().length,A=new Array(r),o=0;for(A[0]=-1/0;++o<r;)A[o]=(o*i-(o-r)*n)/r;return A.max=1/0,A}function A(t){var e=[-1/0].concat(t.quantiles());return e.max=1/0,e}function o(t){var e=[-1/0].concat(t.domain());return e.max=1/0,e}function a(t){var e=t.domain();return e.max=e.pop(),e}function c(t,e){return d[t.type]?s(e):g(e)}function s(t){return function(e,n,i){var r=i[n+1]||i.max||1/0,A=u(e,t),o=u(r,t);return A&&o?A+"–"+o:o?"< "+o:"≥ "+A}}function u(t,e){return isFinite(t)?e(t):null}function g(t){return function(e){return t(e)}}e.b=i,e.a=c;var l=n(259),M=n(123),h=n(0),d={};d[l.i]=A,d[l.j]=r,d[l.m]=o,d[l.b]=a,d[l.c]=a},function(t,e,n){"use strict";function i(t){return t.source.x}function r(t){return t.source.y}function A(t){return t.target.x}function o(t){return t.target.y}function a(t){N.g.call(this,{},t)}function c(t,e,n,i){return"M"+t+","+e+"L"+n+","+i}function s(t,e,n,i){return c(e*Math.cos(t),e*Math.sin(t),i*Math.cos(n),i*Math.sin(n))}function u(t,e,n,i){var r=n-t,A=i-e,o=Math.sqrt(r*r+A*A)/2;return"M"+t+","+e+"A"+o+","+o+" "+180*Math.atan2(A,r)/Math.PI+" 0 1 "+n+","+i}function g(t,e,n,i){return u(e*Math.cos(t),e*Math.sin(t),i*Math.cos(n),i*Math.sin(n))}function l(t,e,n,i){var r=n-t,A=i-e,o=.2*(r+A),a=.2*(A-r);return"M"+t+","+e+"C"+(t+o)+","+(e+a)+" "+(n+a)+","+(i-o)+" "+n+","+i}function M(t,e,n,i){return l(e*Math.cos(t),e*Math.sin(t),i*Math.cos(n),i*Math.sin(n))}function h(t,e,n,i){return"M"+t+","+e+"V"+i+"H"+n}function d(t,e,n,i){return"M"+t+","+e+"H"+n+"V"+i}function f(t,e,n,i){var r=Math.cos(t),A=Math.sin(t),o=Math.cos(n),a=Math.sin(n);return"M"+e*r+","+e*A+"A"+e+","+e+" 0 0,"+((Math.abs(n-t)>Math.PI?n<=t:n>t)?1:0)+" "+e*o+","+e*a+"L"+i*o+","+i*a}function I(t,e,n,i){var r=(t+n)/2;return"M"+t+","+e+"C"+r+","+e+" "+r+","+i+" "+n+","+i}function E(t,e,n,i){var r=(e+i)/2;return"M"+t+","+e+"C"+t+","+r+" "+n+","+r+" "+n+","+i}function T(t,e,n,i){var r=Math.cos(t),A=Math.sin(t),o=Math.cos(n),a=Math.sin(n),c=(e+i)/2;return"M"+e*r+","+e*A+"C"+c*r+","+c*A+" "+c*o+","+c*a+" "+i*o+","+i*a}e.a=a;var N=n(1),y=n(0),p=Object(y.fastmap)({line:c,"line-radial":s,arc:u,"arc-radial":g,curve:l,"curve-radial":M,"orthogonal-horizontal":h,"orthogonal-vertical":d,"orthogonal-radial":f,"diagonal-horizontal":I,"diagonal-vertical":E,"diagonal-radial":T});a.Definition={type:"LinkPath",metadata:{modifies:!0},params:[{name:"sourceX",type:"field",default:"source.x"},{name:"sourceY",type:"field",default:"source.y"},{name:"targetX",type:"field",default:"target.x"},{name:"targetY",type:"field",default:"target.y"},{name:"orient",type:"enum",default:"vertical",values:["horizontal","vertical","radial"]},{name:"shape",type:"enum",default:"line",values:["line","arc","curve","diagonal","orthogonal"]},{name:"as",type:"string",default:"path"}]},Object(y.inherits)(a,N.g).transform=function(t,e){var n=t.sourceX||i,a=t.sourceY||r,c=t.targetX||A,s=t.targetY||o,u=t.as||"path",g=t.orient||"vertical",l=t.shape||"line",M=p.get(l+"-"+g)||p.get(l);return M||Object(y.error)("LinkPath unsupported type: "+t.shape+(t.orient?"-"+t.orient:"")),e.visit(e.SOURCE,function(t){t[u]=M(n(t),a(t),c(t),s(t))}),e.reflow(t.modified()).modifies(u)}},function(t,e,n){"use strict";function i(t){r.g.call(this,null,t)}e.a=i;var r=n(1),A=n(0),o=n(10);i.Definition={type:"Pie",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:!1},{name:"as",type:"string",array:!0,length:2,default:["startAngle","endAngle"]}]},Object(A.inherits)(i,r.g).transform=function(t,e){var n,i,r,a=t.as||["startAngle","endAngle"],c=a[0],s=a[1],u=t.field||A.one,g=t.startAngle||0,l=null!=t.endAngle?t.endAngle:2*Math.PI,M=e.source,h=M.map(u),d=h.length,f=g,I=(l-g)/Object(o.sum)(h),E=Object(o.range)(d);for(t.sort&&E.sort(function(t,e){return h[t]-h[e]}),n=0;n<d;++n)r=h[E[n]],i=M[E[n]],i[c]=f,i[s]=f+=r*I;return this.value=h,e.reflow(t.modified()).modifies(a)}},function(t,e,n){"use strict";function i(t){h.g.call(this,null,t),this.modified(!0)}function r(t,e,n){var i=A(t,e.domainRaw);if(i>-1)return i;var r,a,c=e.domain,s=t.type,u=e.zero||void 0===e.zero&&N[s];return c?(y[s]&&e.padding&&c[0]!==Object(d.peek)(c)&&(c=o(s,c,e.range,e.padding,e.exponent)),(u||null!=e.domainMin||null!=e.domainMax||null!=e.domainMid)&&(r=(c=c.slice()).length-1||1,u&&(c[0]>0&&(c[0]=0),c[r]<0&&(c[r]=0)),null!=e.domainMin&&(c[0]=e.domainMin),null!=e.domainMax&&(c[r]=e.domainMax),null!=e.domainMid&&(a=e.domainMid,(a<c[0]||a>c[r])&&n.warn("Scale domainMid exceeds domain min or max.",a),c.splice(r,0,a))),t.domain(c),e.nice&&t.nice&&t.nice(!0!==e.nice&&Object(M.a)(t,e.nice)||null),c.length):0}function A(t,e){return e?(t.domain(e),e.length):-1}function o(t,e,n,i,r){var A=Math.abs(Object(d.peek)(n)-n[0]),o=A/(A-2*i),a=t===f.e?Object(d.zoomLog)(e,null,o):t===f.l?Object(d.zoomPow)(e,null,o,.5):t===f.h?Object(d.zoomPow)(e,null,o,r):Object(d.zoomLinear)(e,null,o);return e=e.slice(),e[0]=a[0],e[e.length-1]=a[1],e}function a(t,e,n){var i=e.round||!1,r=e.range;if(null!=e.rangeStep)r=c(t.type,e,n);else if(e.scheme){if(r=s(t.type,e,n),Object(d.isFunction)(r))return t.interpolator(r)}else if(r&&t.type===f.k)return t.interpolator(Object(E.interpolateRgbBasis)(g(r,e.reverse)));r&&e.interpolate&&t.interpolate?t.interpolate(Object(I.b)(e.interpolate,e.interpolateGamma)):Object(d.isFunction)(t.round)?t.round(i):Object(d.isFunction)(t.rangeRound)&&t.interpolate(i?E.interpolateRound:E.interpolate),r&&t.range(g(r,e.reverse))}function c(t,e,n){t!==f.a&&t!==f.g&&Object(d.error)("Only band and point scales support rangeStep.");var i=(null!=e.paddingOuter?e.paddingOuter:e.padding)||0,r=t===f.g?1:(null!=e.paddingInner?e.paddingInner:e.padding)||0;return[0,e.rangeStep*Object(I.a)(n,r,i)]}function s(t,e,n){var i,r=e.scheme.toLowerCase(),A=Object(I.f)(r),o=e.schemeExtent;return A||Object(d.error)("Unrecognized scheme name: "+e.scheme),n=t===f.m?n+1:t===f.c?n-1:t===f.i||t===f.j?+e.schemeCount||T:n,t===f.k?u(A,o,e.reverse):!o&&(i=Object(I.f)(r+"-"+n))?i:Object(d.isFunction)(A)?l(u(A,o),n):t===f.f?A:A.slice(0,n)}function u(t,e,n){return Object(d.isFunction)(t)&&(e||n)?Object(I.c)(t,g(e||[0,1],n)):t}function g(t,e){return e?t.slice().reverse():t}function l(t,e){for(var n=new Array(e),i=e-1||1,r=0;r<e;++r)n[r]=t(r/i);return n}e.a=i;var M=n(123),h=n(1),d=n(0),f=n(259),I=n(77),E=n(33),T=5,N=Object(d.toSet)([f.d,f.h,f.l]),y=Object(d.toSet)([f.d,f.e,f.h,f.l,f.n,f.o]),p=Object(d.toSet)(["set","modified","clear","type","scheme","schemeExtent","schemeCount","domain","domainMin","domainMid","domainMax","domainRaw","nice","zero","range","rangeStep","round","reverse","interpolate","interpolateGamma"]);Object(d.inherits)(i,h.g).transform=function(t,e){var n,i=e.dataflow,A=this.value;A&&!t.modified("type")||(this.value=A=Object(I.d)((t.type||f.d).toLowerCase())());for(n in t)if(!p[n]){if("padding"===n&&y[A.type])continue;Object(d.isFunction)(A[n])?A[n](t[n]):i.warn("Unsupported scale property: "+n)}return a(A,t,r(A,t,i)),e.fork(e.NO_SOURCE|e.NO_FIELDS)}},function(t,e,n){"use strict";function i(t){r.g.call(this,null,t)}e.a=i;var r=n(1),A=n(0);Object(A.inherits)(i,r.g).transform=function(t,e){var n=t.modified("sort")||e.changed(e.ADD)||e.modified(t.sort.fields)||e.modified("datum");return n&&e.source.sort(t.sort),this.modified(n),e}},function(t,e,n){"use strict";function i(t){c.g.call(this,null,t)}function r(t,e,n,i,r){for(var A,o=(e-t.sum)/2,a=t.length,c=0;c<a;++c)A=t[c],A[i]=o,A[r]=o+=Math.abs(n(A))}function A(t,e,n,i,r){for(var A,o=1/t.sum,a=0,c=t.length,s=0,u=0;s<c;++s)A=t[s],A[i]=a,A[r]=a=o*(u+=Math.abs(n(A)))}function o(t,e,n,i,r){for(var A,o,a=0,c=0,s=t.length,u=0;u<s;++u)o=t[u],A=n(o),A<0?(o[i]=c,o[r]=c+=A):(o[i]=a,o[r]=a+=A)}function a(t,e,n,i){var r,A,o,a,c,s,u,g,l,M=[],h=function(t){return t(c)};if(null==e)M.push(t.slice());else for(r={},A=0,o=t.length;A<o;++A)c=t[A],s=e.map(h),u=r[s],u||(r[s]=u=[],M.push(u)),u.push(c);for(s=0,l=0,a=M.length;s<a;++s){for(u=M[s],A=0,g=0,o=u.length;A<o;++A)g+=Math.abs(i(u[A]));u.sum=g,g>l&&(l=g),n&&u.sort(n)}return M.max=l,M}e.a=i;var c=n(1),s=n(0);i.Definition={type:"Stack",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"groupby",type:"field",array:!0},{name:"sort",type:"compare"},{name:"offset",type:"enum",default:"zero",values:["zero","center","normalize"]},{name:"as",type:"string",array:!0,length:2,default:["y0","y1"]}]},Object(s.inherits)(i,c.g).transform=function(t,e){var n,i,c,u,g=t.as||["y0","y1"],l=g[0],M=g[1],h=t.field||s.one,d="center"===t.offset?r:"normalize"===t.offset?A:o;for(n=a(e.source,t.groupby,t.sort,h),i=0,c=n.length,u=n.max;i<c;++i)d(n[i],u,h,l,M);return e.reflow(t.modified()).modifies(g)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1023);n.d(e,"contour",function(){return i.a});var r=n(1031);n.d(e,"geojson",function(){return r.a});var A=n(1032);n.d(e,"geopath",function(){return A.a});var o=n(1061);n.d(e,"geopoint",function(){return o.a});var a=n(1062);n.d(e,"geoshape",function(){return a.a});var c=n(1063);n.d(e,"graticule",function(){return c.a});var s=n(1064);n.d(e,"projection",function(){return s.a})},function(t,e,n){"use strict";function i(t){A.g.call(this,null,t)}function r(t){return function(e){for(var n=Object(a.extent)(e),i=n[0],r=n[1]-i,A=[],o=1;o<=t;++o)A.push(i+r*o/(t+1));return A}}e.a=i;var A=n(1),o=n(0),a=n(10),c=n(1024),s=["values","size"],u=["x","y","size","cellSize","bandwidth"];i.Definition={type:"Contour",metadata:{generates:!0,source:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"values",type:"number",array:!0},{name:"x",type:"field"},{name:"y",type:"field"},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number"},{name:"count",type:"number"},{name:"nice",type:"number",default:!1},{name:"thresholds",type:"number",array:!0}]},Object(o.inherits)(i,A.g).transform=function(t,e){if(this.value&&!e.changed()&&!t.modified())return e.StopPropagation;var n,i,o,a=e.fork(e.NO_SOURCE|e.NO_FIELDS),g=t.count||10;return t.values?(n=Object(c.b)(),i=s,o=t.values):(n=Object(c.a)(),i=u,o=e.materialize(e.SOURCE).source),n.thresholds(t.thresholds||(t.nice?g:r(g))),i.forEach(function(e){null!=t[e]&&n[e](t[e])}),this.value&&(a.rem=this.value),this.value=a.source=a.add=n(o).map(A.k),a}},function(t,e,n){"use strict";var i=n(458);n.d(e,"b",function(){return i.a});var r=n(1029);n.d(e,"a",function(){return r.a})},function(t,e,n){"use strict";e.a=function(t,e){return t-e}},function(t,e,n){"use strict";e.a=function(t){for(var e=0,n=t.length,i=t[n-1][1]*t[0][0]-t[n-1][0]*t[0][1];++e<n;)i+=t[e-1][1]*t[e][0]-t[e-1][0]*t[e][1];return i}},function(t,e,n){"use strict";function i(t,e){for(var n=e[0],i=e[1],A=-1,o=0,a=t.length,c=a-1;o<a;c=o++){var s=t[o],u=s[0],g=s[1],l=t[c],M=l[0],h=l[1];if(r(s,l,e))return 0;g>i!=h>i&&n<(M-u)*(i-g)/(h-g)+u&&(A=-A)}return A}function r(t,e,n){var i;return A(t,e,n)&&o(t[i=+(t[0]===e[0])],n[i],e[i])}function A(t,e,n){return(e[0]-t[0])*(n[1]-t[1])==(n[0]-t[0])*(e[1]-t[1])}function o(t,e,n){return t<=e&&e<=n||n<=e&&e<=t}e.a=function(t,e){for(var n,r=-1,A=e.length;++r<A;)if(n=i(t,e[r]))return n;return 0}},function(t,e,n){"use strict";e.a=function(){}},function(t,e,n){"use strict";function i(t){return t[0]}function r(t){return t[1]}var A=n(10),o=n(459),a=n(1030),c=n(460),s=n(458);e.a=function(){function t(t){var n=new Float32Array(N*y),i=new Float32Array(N*y);t.forEach(function(t,e,i){var r=M(t,e,i)+T>>E,A=h(t,e,i)+T>>E;r>=0&&r<N&&A>=0&&A<y&&++n[r+A*N]}),Object(a.a)({width:N,height:y,data:n},{width:N,height:y,data:i},I>>E),Object(a.b)({width:N,height:y,data:i},{width:N,height:y,data:n},I>>E),Object(a.a)({width:N,height:y,data:n},{width:N,height:y,data:i},I>>E),Object(a.b)({width:N,height:y,data:i},{width:N,height:y,data:n},I>>E),Object(a.a)({width:N,height:y,data:n},{width:N,height:y,data:i},I>>E),Object(a.b)({width:N,height:y,data:i},{width:N,height:y,data:n},I>>E);var r=p(n);if(!Array.isArray(r)){var o=Object(A.max)(n);r=Object(A.tickStep)(0,o,r),r=Object(A.range)(0,Math.floor(o/r)*r,r),r.shift()}return Object(s.a)().thresholds(r).size([N,y])(n).map(e)}function e(t){return t.value*=Math.pow(2,-2*E),t.coordinates.forEach(n),t}function n(t){t.forEach(u)}function u(t){t.forEach(g)}function g(t){t[0]=t[0]*Math.pow(2,E)-T,t[1]=t[1]*Math.pow(2,E)-T}function l(){return T=3*I,N=d+2*T>>E,y=f+2*T>>E,t}var M=i,h=r,d=960,f=500,I=20,E=2,T=3*I,N=d+2*T>>E,y=f+2*T>>E,p=Object(c.a)(20);return t.x=function(e){return arguments.length?(M="function"==typeof e?e:Object(c.a)(+e),t):M},t.y=function(e){return arguments.length?(h="function"==typeof e?e:Object(c.a)(+e),t):h},t.size=function(t){if(!arguments.length)return[d,f];var e=Math.ceil(t[0]),n=Math.ceil(t[1]);if(!(e>=0||e>=0))throw new Error("invalid size");return d=e,f=n,l()},t.cellSize=function(t){if(!arguments.length)return 1<<E;if(!((t=+t)>=1))throw new Error("invalid cell size");return E=Math.floor(Math.log(t)/Math.LN2),l()},t.thresholds=function(e){return arguments.length?(p="function"==typeof e?e:Array.isArray(e)?Object(c.a)(o.a.call(e)):Object(c.a)(e),t):p},t.bandwidth=function(t){if(!arguments.length)return Math.sqrt(I*(I+1));if(!((t=+t)>=0))throw new Error("invalid bandwidth");return I=Math.round((Math.sqrt(4*t*t+1)-1)/2),l()},t}},function(t,e,n){"use strict";function i(t,e,n){for(var i=t.width,r=t.height,A=1+(n<<1),o=0;o<r;++o)for(var a=0,c=0;a<i+n;++a)a<i&&(c+=t.data[a+o*i]),a>=n&&(a>=A&&(c-=t.data[a-A+o*i]),e.data[a-n+o*i]=c/Math.min(a+1,i-1+A-a,A))}function r(t,e,n){for(var i=t.width,r=t.height,A=1+(n<<1),o=0;o<i;++o)for(var a=0,c=0;a<r+n;++a)a<r&&(c+=t.data[o+a*i]),a>=n&&(a>=A&&(c-=t.data[o+(a-A)*i]),e.data[o+(a-n)*i]=c/Math.min(a+1,r-1+A-a,A))}e.a=i,e.b=r},function(t,e,n){"use strict";function i(t){A.g.call(this,null,t)}e.a=i;var r=n(461),A=n(1),o=n(0);i.Definition={type:"GeoJSON",metadata:{},params:[{name:"fields",type:"field",array:!0,length:2},{name:"geojson",type:"field"}]},Object(o.inherits)(i,A.g).transform=function(t,e){var n,i=this._features,A=this._points,a=t.fields,c=a&&a[0],s=a&&a[1],u=t.geojson,g=e.ADD;n=t.modified()||e.changed(e.REM)||e.modified(Object(o.accessorFields)(u))||c&&e.modified(Object(o.accessorFields)(c))||s&&e.modified(Object(o.accessorFields)(s)),this.value&&!n||(g=e.SOURCE,this._features=i=[],this._points=A=[]),u&&e.visit(g,function(t){i.push(u(t))}),c&&s&&(e.visit(g,function(t){var e=c(t),n=s(t);null!=e&&null!=n&&(e=+e)===e&&(n=+n)===n&&A.push([e,n])}),i=i.concat({type:r.a,geometry:{type:r.c,coordinates:A}})),this.value={type:r.b,features:i}}},function(t,e,n){"use strict";function i(t){r.g.call(this,null,t)}e.a=i;var r=n(1),A=n(175),o=n(0);i.Definition={type:"GeoPath",metadata:{modifies:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field"},{name:"as",type:"string",default:"path"}]},Object(o.inherits)(i,r.g).transform=function(t,e){function n(t){t[s]=a(c(t))}var i,r=e.fork(e.ALL),a=this.value,c=t.field||o.identity,s=t.as||"path";return!a||t.modified()?(this.value=a=Object(A.a)(t.projection).context(null),r.materialize().reflow().visit(r.SOURCE,n)):(a.context(null),i=c===o.identity||e.modified(c.fields),r.visit(i?r.ADD_MOD:r.ADD,n)),r.modifies(s)}},function(t,e,n){"use strict";function i(t,e){return function n(){var i=e();return i.type=t,i.path=Object(o.m)().projection(i),i.copy=i.copy||function(){var t=n();return c.forEach(function(e){i.hasOwnProperty(e)&&t[e](i[e]())}),t.path.pointRadius(i.path.pointRadius()),t},i}}function r(t,e){return arguments.length>1?(s[t]=i(t,e),this):s.hasOwnProperty(t)?s[t]:null}function A(t){return t&&t.path||a}n.d(e,"c",function(){return c}),e.b=r,e.a=A;var o=n(462),a=Object(o.m)(),c=["clipAngle","clipExtent","scale","translate","center","rotate","parallels","precision","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"],s={albers:o.a,albersusa:o.b,azimuthalequalarea:o.c,azimuthalequidistant:o.d,conicconformal:o.e,conicequalarea:o.f,conicequidistant:o.g,equirectangular:o.h,gnomonic:o.i,mercator:o.k,orthographic:o.l,stereographic:o.n,transversemercator:o.o};for(var u in s)r(u,s[u])},function(t,e,n){"use strict";var i=n(96);n(463),n(127),n(6),n(79),Object(i.a)()},function(t,e,n){"use strict";function i(t,e){t*=Q.r,e*=Q.r;var n=Object(Q.g)(e);r(n*Object(Q.g)(t),n*Object(Q.t)(t),Object(Q.t)(e))}function r(t,e,n){++M,d+=(t-d)/M,f+=(e-f)/M,I+=(n-I)/M}function A(){j.point=o}function o(t,e){t*=Q.r,e*=Q.r;var n=Object(Q.g)(e);B=n*Object(Q.g)(t),w=n*Object(Q.t)(t),m=Object(Q.t)(e),j.point=a,r(B,w,m)}function a(t,e){t*=Q.r,e*=Q.r;var n=Object(Q.g)(e),i=n*Object(Q.g)(t),A=n*Object(Q.t)(t),o=Object(Q.t)(e),a=Object(Q.e)(Object(Q.u)((a=w*o-m*A)*a+(a=m*i-B*o)*a+(a=B*A-w*i)*a),B*i+w*A+m*o);h+=a,E+=a*(B+(B=i)),T+=a*(w+(w=A)),N+=a*(m+(m=o)),r(B,w,m)}function c(){j.point=i}function s(){j.point=g}function u(){l(D,x),j.point=i}function g(t,e){D=t,x=e,t*=Q.r,e*=Q.r,j.point=l;var n=Object(Q.g)(e);B=n*Object(Q.g)(t),w=n*Object(Q.t)(t),m=Object(Q.t)(e),r(B,w,m)}function l(t,e){t*=Q.r,e*=Q.r;var n=Object(Q.g)(e),i=n*Object(Q.g)(t),A=n*Object(Q.t)(t),o=Object(Q.t)(e),a=w*o-m*A,c=m*i-B*o,s=B*A-w*i,u=Object(Q.u)(a*a+c*c+s*s),g=Object(Q.c)(u),l=u&&-g/u;y+=l*a,p+=l*c,C+=l*s,h+=g,E+=g*(B+(B=i)),T+=g*(w+(w=A)),N+=g*(m+(m=o)),r(B,w,m)}var M,h,d,f,I,E,T,N,y,p,C,D,x,B,w,m,Q=n(6),v=n(61),j=(n(79),{sphere:v.a,point:i,lineStart:A,lineEnd:c,polygonStart:function(){j.lineStart=s,j.lineEnd=u},polygonEnd:function(){j.lineStart=A,j.lineEnd=c}})},function(t,e,n){"use strict";e.a=function(t){return function(){return t}}},function(t,e,n){"use strict";e.a=function(t,e,n,i,r,A){var o,a=t[0],c=t[1],s=e[0],u=e[1],g=0,l=1,M=s-a,h=u-c;if(o=n-a,M||!(o>0)){if(o/=M,M<0){if(o<g)return;o<l&&(l=o)}else if(M>0){if(o>l)return;o>g&&(g=o)}if(o=r-a,M||!(o<0)){if(o/=M,M<0){if(o>l)return;o>g&&(g=o)}else if(M>0){if(o<g)return;o<l&&(l=o)}if(o=i-c,h||!(o>0)){if(o/=h,h<0){if(o<g)return;o<l&&(l=o)}else if(h>0){if(o>l)return;o>g&&(g=o)}if(o=A-c,h||!(o<0)){if(o/=h,h<0){if(o>l)return;o>g&&(g=o)}else if(h>0){if(o<g)return;o<l&&(l=o)}return g>0&&(t[0]=a+g*M,t[1]=c+g*h),l<1&&(e[0]=a+l*M,e[1]=c+l*h),!0}}}}}},function(t,e,n){"use strict";n(469),n(470),n(6)},function(t,e,n){"use strict";function i(t,e,n){var i=Object(o.range)(t,e-a.i,n).concat(e);return function(t){return i.map(function(e){return[t,e]})}}function r(t,e,n){var i=Object(o.range)(t,e-a.i,n).concat(e);return function(t){return i.map(function(e){return[e,t]})}}function A(){function t(){return{type:"MultiLineString",coordinates:e()}}function e(){return Object(o.range)(Object(a.f)(s/N)*N,c,N).map(f).concat(Object(o.range)(Object(a.f)(M/y)*y,l,y).map(I)).concat(Object(o.range)(Object(a.f)(A/E)*E,n,E).filter(function(t){return Object(a.a)(t%N)>a.i}).map(h)).concat(Object(o.range)(Object(a.f)(g/T)*T,u,T).filter(function(t){return Object(a.a)(t%y)>a.i}).map(d))}var n,A,c,s,u,g,l,M,h,d,f,I,E=10,T=E,N=90,y=360,p=2.5;return t.lines=function(){return e().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[f(s).concat(I(l).slice(1),f(c).reverse().slice(1),I(M).reverse().slice(1))]}},t.extent=function(e){return arguments.length?t.extentMajor(e).extentMinor(e):t.extentMinor()},t.extentMajor=function(e){return arguments.length?(s=+e[0][0],c=+e[1][0],M=+e[0][1],l=+e[1][1],s>c&&(e=s,s=c,c=e),M>l&&(e=M,M=l,l=e),t.precision(p)):[[s,M],[c,l]]},t.extentMinor=function(e){return arguments.length?(A=+e[0][0],n=+e[1][0],g=+e[0][1],u=+e[1][1],A>n&&(e=A,A=n,n=e),g>u&&(e=g,g=u,u=e),t.precision(p)):[[A,g],[n,u]]},t.step=function(e){return arguments.length?t.stepMajor(e).stepMinor(e):t.stepMinor()},t.stepMajor=function(e){return arguments.length?(N=+e[0],y=+e[1],t):[N,y]},t.stepMinor=function(e){return arguments.length?(E=+e[0],T=+e[1],t):[E,T]},t.precision=function(e){return arguments.length?(p=+e,h=i(g,u,90),d=r(A,n,p),f=i(M,l,90),I=r(s,c,p),t):p},t.extentMajor([[-180,-90+a.i],[180,90-a.i]]).extentMinor([[-180,-80-a.i],[180,80+a.i]])}e.a=A;var o=n(10),a=n(6)},function(t,e,n){"use strict";n(6)},function(t,e,n){"use strict";var i=n(266),r=n(79),A=n(1042),o=n(472),a=n(1043),c=n(1044),s=n(1045),u=n(1046);e.a=function(t,e){function n(t){return t&&("function"==typeof M&&l.pointRadius(+M.apply(this,arguments)),Object(r.a)(t,g(l))),l.result()}var g,l,M=4.5;return n.area=function(t){return Object(r.a)(t,g(A.a)),A.a.result()},n.measure=function(t){return Object(r.a)(t,g(s.a)),s.a.result()},n.bounds=function(t){return Object(r.a)(t,g(o.a)),o.a.result()},n.centroid=function(t){return Object(r.a)(t,g(a.a)),a.a.result()},n.projection=function(e){return arguments.length?(g=null==e?(t=null,i.a):(t=e).stream,n):t},n.context=function(t){return arguments.length?(l=null==t?(e=null,new u.a):new c.a(e=t),"function"!=typeof M&&l.pointRadius(M),n):e},n.pointRadius=function(t){return arguments.length?(M="function"==typeof t?t:(l.pointRadius(+t),+t),n):M},n.projection(t).context(e)}},function(t,e,n){"use strict";function i(){f.point=r}function r(t,e){f.point=A,a=s=t,c=u=e}function A(t,e){d.add(u*t-s*e),s=t,u=e}function o(){A(a,c)}var a,c,s,u,g=n(96),l=n(6),M=n(61),h=Object(g.a)(),d=Object(g.a)(),f={point:M.a,lineStart:M.a,lineEnd:M.a,polygonStart:function(){f.lineStart=i,f.lineEnd=o},polygonEnd:function(){f.lineStart=f.lineEnd=f.point=M.a,h.add(Object(l.a)(d)),d.reset()},result:function(){var t=h/2;return h.reset(),t}};e.a=f},function(t,e,n){"use strict";function i(t,e){I+=t,E+=e,++T}function r(){B.point=A}function A(t,e){B.point=o,i(h=t,d=e)}function o(t,e){var n=t-h,r=e-d,A=Object(f.u)(n*n+r*r);N+=A*(h+t)/2,y+=A*(d+e)/2,p+=A,i(h=t,d=e)}function a(){B.point=i}function c(){B.point=u}function s(){g(l,M)}function u(t,e){B.point=g,i(l=h=t,M=d=e)}function g(t,e){var n=t-h,r=e-d,A=Object(f.u)(n*n+r*r);N+=A*(h+t)/2,y+=A*(d+e)/2,p+=A,A=d*t-h*e,C+=A*(h+t),D+=A*(d+e),x+=3*A,i(h=t,d=e)}var l,M,h,d,f=n(6),I=0,E=0,T=0,N=0,y=0,p=0,C=0,D=0,x=0,B={point:i,lineStart:r,lineEnd:a,polygonStart:function(){B.lineStart=c,B.lineEnd=s},polygonEnd:function(){B.point=i,B.lineStart=r,B.lineEnd=a},result:function(){var t=x?[C/x,D/x]:p?[N/p,y/p]:T?[I/T,E/T]:[NaN,NaN];return I=E=T=N=y=p=C=D=x=0,t}};e.a=B},function(t,e,n){"use strict";function i(t){this._context=t}e.a=i;var r=n(6),A=n(61);i.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,r.w)}},result:A.a}},function(t,e,n){"use strict";function i(t,e){h.point=r,o=c=t,a=s=e}function r(t,e){c-=t,s-=e,M.add(Object(g.u)(c*c+s*s)),c=t,s=e}var A,o,a,c,s,u=n(96),g=n(6),l=n(61),M=Object(u.a)(),h={point:l.a,lineStart:function(){h.point=i},lineEnd:function(){A&&r(o,a),h.point=l.a},polygonStart:function(){A=!0},polygonEnd:function(){A=null},result:function(){var t=+M;return M.reset(),t}};e.a=h},function(t,e,n){"use strict";function i(){this._string=[]}function r(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}e.a=i,i.prototype={_radius:4.5,_circle:r(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=r(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}}},function(t,e,n){"use strict";function i(t){var e,n=NaN,i=NaN,A=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(o,c){var s=o>0?a.o:-a.o,u=Object(a.a)(o-n);Object(a.a)(u-a.o)<a.i?(t.point(n,i=(i+c)/2>0?a.l:-a.l),t.point(A,i),t.lineEnd(),t.lineStart(),t.point(s,i),t.point(o,i),e=0):A!==s&&u>=a.o&&(Object(a.a)(n-A)<a.i&&(n-=A*a.i),Object(a.a)(o-s)<a.i&&(o-=s*a.i),i=r(n,i,o,c),t.point(A,i),t.lineEnd(),t.lineStart(),t.point(s,i),e=0),t.point(n=o,i=c),A=s},lineEnd:function(){t.lineEnd(),n=i=NaN},clean:function(){return 2-e}}}function r(t,e,n,i){var r,A,o=Object(a.t)(t-n);return Object(a.a)(o)>a.i?Object(a.d)((Object(a.t)(e)*(A=Object(a.g)(i))*Object(a.t)(n)-Object(a.t)(i)*(r=Object(a.g)(e))*Object(a.t)(t))/(r*A*o)):(e+i)/2}function A(t,e,n,i){var r;if(null==t)r=n*a.l,i.point(-a.o,r),i.point(0,r),i.point(a.o,r),i.point(a.o,0),i.point(a.o,-r),i.point(0,-r),i.point(-a.o,-r),i.point(-a.o,0),i.point(-a.o,r);else if(Object(a.a)(t[0]-e[0])>a.i){var A=t[0]<e[0]?a.o:-a.o;r=n*A/2,i.point(-A,r),i.point(0,r),i.point(A,r)}else i.point(e[0],e[1])}var o=n(474),a=n(6);e.a=Object(o.a)(function(){return!0},i,A,[-a.o,-a.l])},function(t,e,n){"use strict";var i=n(127),r=n(464),A=n(6),o=n(468),a=n(474);e.a=function(t,e){function n(n,i,A,o){Object(r.a)(o,t,e,A,n,i)}function c(t,e){return Object(A.g)(t)*Object(A.g)(e)>l}function s(t){var e,n,i,r,a;return{lineStart:function(){r=i=!1,a=1},point:function(s,l){var d,f=[s,l],I=c(s,l),E=M?I?0:g(s,l):I?g(s+(s<0?A.o:-A.o),l):0;if(!e&&(r=i=I)&&t.lineStart(),I!==i&&(!(d=u(e,f))||Object(o.a)(e,d)||Object(o.a)(f,d))&&(f[0]+=A.i,f[1]+=A.i,I=c(f[0],f[1])),I!==i)a=0,I?(t.lineStart(),d=u(f,e),t.point(d[0],d[1])):(d=u(e,f),t.point(d[0],d[1]),t.lineEnd()),e=d;else if(h&&e&&M^I){var T;E&n||!(T=u(f,e,!0))||(a=0,M?(t.lineStart(),t.point(T[0][0],T[0][1]),t.point(T[1][0],T[1][1]),t.lineEnd()):(t.point(T[1][0],T[1][1]),t.lineEnd(),t.lineStart(),t.point(T[0][0],T[0][1])))}!I||e&&Object(o.a)(e,f)||t.point(f[0],f[1]),e=f,i=I,n=E},lineEnd:function(){i&&t.lineEnd(),e=null},clean:function(){return a|(r&&i)<<1}}}function u(t,e,n){var r=Object(i.a)(t),o=Object(i.a)(e),a=[1,0,0],c=Object(i.c)(r,o),s=Object(i.d)(c,c),u=c[0],g=s-u*u;if(!g)return!n&&t;var M=l*s/g,h=-l*u/g,d=Object(i.c)(a,c),f=Object(i.f)(a,M),I=Object(i.f)(c,h);Object(i.b)(f,I);var E=d,T=Object(i.d)(f,E),N=Object(i.d)(E,E),y=T*T-N*(Object(i.d)(f,f)-1);if(!(y<0)){var p=Object(A.u)(y),C=Object(i.f)(E,(-T-p)/N);if(Object(i.b)(C,f),C=Object(i.g)(C),!n)return C;var D,x=t[0],B=e[0],w=t[1],m=e[1];B<x&&(D=x,x=B,B=D);var Q=B-x,v=Object(A.a)(Q-A.o)<A.i,j=v||Q<A.i;if(!v&&m<w&&(D=w,w=m,m=D),j?v?w+m>0^C[1]<(Object(A.a)(C[0]-x)<A.i?w:m):w<=C[1]&&C[1]<=m:Q>A.o^(x<=C[0]&&C[0]<=B)){var L=Object(i.f)(E,(-T+p)/N);return Object(i.b)(L,f),[C,Object(i.g)(L)]}}}function g(e,n){var i=M?t:A.o-t,r=0;return e<-i?r|=1:e>i&&(r|=2),n<-i?r|=4:n>i&&(r|=8),r}var l=Object(A.g)(t),M=l>0,h=Object(A.a)(l)>A.i;return Object(a.a)(c,s,n,M?[0,-t]:[-A.o,t-A.o])}},function(t,e,n){"use strict";function i(t){return Object(a.a)({point:function(e,n){e=t(e,n),this.stream.point(e[0],e[1])}})}function r(t,e){function n(i,r,A,a,c,u,g,l,M,h,d,f,I,E){var T=g-i,N=l-r,y=T*T+N*N;if(y>4*e&&I--){var p=a+h,C=c+d,D=u+f,x=Object(o.u)(p*p+C*C+D*D),B=Object(o.c)(D/=x),w=Object(o.a)(Object(o.a)(D)-1)<o.i||Object(o.a)(A-M)<o.i?(A+M)/2:Object(o.e)(C,p),m=t(w,B),Q=m[0],v=m[1],j=Q-i,L=v-r,S=N*j-T*L;(S*S/y>e||Object(o.a)((T*j+N*L)/y-.5)>.3||a*h+c*d+u*f<s)&&(n(i,r,A,a,c,u,Q,v,w,p/=x,C/=x,D,I,E),E.point(Q,v),n(Q,v,w,p,C,D,g,l,M,h,d,f,I,E))}}return function(e){function i(n,i){n=t(n,i),e.point(n[0],n[1])}function r(){T=NaN,D.point=o,e.lineStart()}function o(i,r){var o=Object(A.a)([i,r]),a=t(i,r);n(T,N,E,y,p,C,T=a[0],N=a[1],E=i,y=o[0],p=o[1],C=o[2],c,e),e.point(T,N)}function a(){D.point=i,e.lineEnd()}function s(){r(),D.point=u,D.lineEnd=g}function u(t,e){o(l=t,e),M=T,h=N,d=y,f=p,I=C,D.point=o}function g(){n(T,N,E,y,p,C,M,h,l,d,f,I,c,e),D.lineEnd=a,a()}var l,M,h,d,f,I,E,T,N,y,p,C,D={point:i,lineStart:r,lineEnd:a,polygonStart:function(){e.polygonStart(),D.lineStart=s},polygonEnd:function(){e.polygonEnd(),D.lineStart=r}};return D}}var A=n(127),o=n(6),a=n(177),c=16,s=Object(o.g)(30*o.r);e.a=function(t,e){return+e?r(t,e):i(t)}},function(t,e,n){"use strict";function i(t){function e(t,e){return[t*n,Object(r.t)(e)/n]}var n=Object(r.g)(t);return e.invert=function(t,e){return[t/n,Object(r.c)(e*n)]},e}e.a=i;var r=n(6)},function(t,e,n){"use strict";function i(t){var e=t.length;return{point:function(n,i){for(var r=-1;++r<e;)t[r].point(n,i)},sphere:function(){for(var n=-1;++n<e;)t[n].sphere()},lineStart:function(){for(var n=-1;++n<e;)t[n].lineStart()},lineEnd:function(){for(var n=-1;++n<e;)t[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<e;)t[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<e;)t[n].polygonEnd()}}}var r=n(6),A=n(473),o=n(267),a=n(269);e.a=function(){function t(t){var e=t[0],n=t[1];return l=null,s.point(e,n),l||(u.point(e,n),l)||(g.point(e,n),l)}function e(){return n=c=null,t}var n,c,s,u,g,l,M=Object(A.a)(),h=Object(o.a)().rotate([154,0]).center([-2,58.5]).parallels([55,65]),d=Object(o.a)().rotate([157,0]).center([-3,19.9]).parallels([8,18]),f={point:function(t,e){l=[t,e]}};return t.invert=function(t){var e=M.scale(),n=M.translate(),i=(t[0]-n[0])/e,r=(t[1]-n[1])/e;return(r>=.12&&r<.234&&i>=-.425&&i<-.214?h:r>=.166&&r<.234&&i>=-.214&&i<-.115?d:M).invert(t)},t.stream=function(t){return n&&c===t?n:n=i([M.stream(c=t),h.stream(t),d.stream(t)])},t.precision=function(t){return arguments.length?(M.precision(t),h.precision(t),d.precision(t),e()):M.precision()},t.scale=function(e){return arguments.length?(M.scale(e),h.scale(.35*e),d.scale(e),t.translate(M.translate())):M.scale()},t.translate=function(t){if(!arguments.length)return M.translate();var n=M.scale(),i=+t[0],A=+t[1];return s=M.translate(t).clipExtent([[i-.455*n,A-.238*n],[i+.455*n,A+.238*n]]).stream(f),u=h.translate([i-.307*n,A+.201*n]).clipExtent([[i-.425*n+r.i,A+.12*n+r.i],[i-.214*n-r.i,A+.234*n-r.i]]).stream(f),g=d.translate([i-.205*n,A+.212*n]).clipExtent([[i-.214*n+r.i,A+.166*n+r.i],[i-.115*n-r.i,A+.234*n-r.i]]).stream(f),e()},t.fitExtent=function(e,n){return Object(a.a)(t,e,n)},t.fitSize=function(e,n){return Object(a.b)(t,e,n)},t.scale(1070)}},function(t,e,n){"use strict";var i=n(6),r=n(128),A=n(53),o=Object(r.b)(function(t){return Object(i.u)(2/(1+t))});o.invert=Object(r.a)(function(t){return 2*Object(i.c)(t/2)}),e.a=function(){return Object(A.a)(o).scale(124.75).clipAngle(179.999)}},function(t,e,n){"use strict";var i=n(6),r=n(128),A=n(53),o=Object(r.b)(function(t){return(t=Object(i.b)(t))&&t/Object(i.t)(t)});o.invert=Object(r.a)(function(t){return t}),e.a=function(){return Object(A.a)(o).scale(79.4188).clipAngle(179.999)}},function(t,e,n){"use strict";function i(t){return Object(A.v)((A.l+t)/2)}function r(t,e){function n(t,e){c>0?e<-A.l+A.i&&(e=-A.l+A.i):e>A.l-A.i&&(e=A.l-A.i);var n=c/Object(A.p)(i(e),o);return[n*Object(A.t)(o*t),c-n*Object(A.g)(o*t)]}var r=Object(A.g)(t),o=t===e?Object(A.t)(t):Object(A.n)(r/Object(A.g)(e))/Object(A.n)(i(e)/i(t)),c=r*Object(A.p)(i(t),o)/o;return o?(n.invert=function(t,e){var n=c-e,i=Object(A.s)(o)*Object(A.u)(t*t+n*n);return[Object(A.e)(t,Object(A.a)(n))/o*Object(A.s)(n),2*Object(A.d)(Object(A.p)(c/i,1/o))-A.l]},n):a.c}var A=n(6),o=n(268),a=n(270);e.a=function(){return Object(o.a)(r).scale(109.5).parallels([30,30])}},function(t,e,n){"use strict";function i(t,e){function n(t,e){var n=a-e,i=A*t;return[n*Object(r.t)(i),a-n*Object(r.g)(i)]}var i=Object(r.g)(t),A=t===e?Object(r.t)(t):(i-Object(r.g)(e))/(e-t),a=i/A+t;return Object(r.a)(A)<r.i?o.b:(n.invert=function(t,e){var n=a-e;return[Object(r.e)(t,Object(r.a)(n))/A*Object(r.s)(n),a-Object(r.s)(A)*Object(r.u)(t*t+n*n)]},n)}var r=n(6),A=n(268),o=n(475);e.a=function(){return Object(A.a)(i).scale(131.154).center([0,13.9389])}},function(t,e,n){"use strict";function i(t,e){var n=Object(r.g)(e),i=Object(r.g)(t)*n;return[n*Object(r.t)(t)/i,Object(r.t)(e)/i]}var r=n(6),A=n(128),o=n(53);i.invert=Object(A.a)(r.d),e.a=function(){return Object(o.a)(i).scale(144.049).clipAngle(60)}},function(t,e,n){"use strict";n(265),n(266),n(177),n(269)},function(t,e,n){"use strict";function i(t,e){return[Object(r.g)(e)*Object(r.t)(t),Object(r.t)(e)]}var r=n(6),A=n(128),o=n(53);i.invert=Object(A.a)(r.c),e.a=function(){return Object(o.a)(i).scale(249.5).clipAngle(90+r.i)}},function(t,e,n){"use strict";function i(t,e){var n=Object(r.g)(e),i=1+Object(r.g)(t)*n;return[n*Object(r.t)(t)/i,Object(r.t)(e)/i]}var r=n(6),A=n(128),o=n(53);i.invert=Object(A.a)(function(t){return 2*Object(r.d)(t)}),e.a=function(){return Object(o.a)(i).scale(250).clipAngle(142)}},function(t,e,n){"use strict";function i(t,e){return[Object(r.n)(Object(r.v)((r.l+e)/2)),-t]}var r=n(6),A=n(270);i.invert=function(t,e){return[-e,2*Object(r.d)(Object(r.k)(t))-r.l]},e.a=function(){var t=Object(A.b)(i),e=t.center,n=t.rotate;return t.center=function(t){return arguments.length?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])},t.rotate=function(t){return arguments.length?n([t[0],t[1],t.length>2?t[2]+90:90]):(t=n(),[t[0],t[1],t[2]-90])},n([0,0,90]).scale(159.155)}},function(t,e,n){"use strict";function i(t){r.g.call(this,null,t)}e.a=i;var r=n(1),A=n(0);i.Definition={type:"GeoPoint",metadata:{modifies:!0},params:[{name:"projection",type:"projection",required:!0},{name:"fields",type:"field",array:!0,required:!0,length:2},{name:"as",type:"string",array:!0,length:2,default:["x","y"]}]},Object(A.inherits)(i,r.g).transform=function(t,e){function n(t){var e=r([A(t),o(t)]);e?(t[c]=e[0],t[s]=e[1]):(t[c]=void 0,t[s]=void 0)}var i,r=t.projection,A=t.fields[0],o=t.fields[1],a=t.as||["x","y"],c=a[0],s=a[1];return t.modified()?e=e.materialize().reflow(!0).visit(e.SOURCE,n):(i=e.modified(A.fields)||e.modified(o.fields),e.visit(i?e.ADD_MOD:e.ADD,n)),e.modifies(a)}},function(t,e,n){"use strict";function i(t){A.g.call(this,null,t)}function r(t,e){var n=function(n){return t(e(n))};return n.context=function(e){return t.context(e),n},n}e.a=i;var A=n(1),o=n(175),a=n(0);i.Definition={type:"GeoShape",metadata:{modifies:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field",default:"datum"},{name:"as",type:"string",default:"shape"}]},Object(a.inherits)(i,A.g).transform=function(t,e){var n=e.fork(e.ALL),i=this.value,A=t.field||Object(a.field)("datum"),c=t.as||"shape",s=n.ADD_MOD;return i&&!t.modified()||(this.value=i=r(Object(o.a)(t.projection),A),n.materialize().reflow(),s=n.SOURCE),n.visit(s,function(t){t[c]=i}),n.modifies(c)}},function(t,e,n){"use strict";function i(t){r.g.call(this,[],t),this.generator=Object(o.j)()}e.a=i;var r=n(1),A=n(0),o=n(462);i.Definition={type:"Graticule",metadata:{source:!0,generates:!0,changes:!0},params:[{name:"extent",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMajor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMinor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"step",type:"number",array:!0,length:2},{name:"stepMajor",type:"number",array:!0,length:2,default:[90,360]},{name:"stepMinor",type:"number",array:!0,length:2,default:[10,10]},{name:"precision",type:"number",default:2.5}]},Object(A.inherits)(i,r.g).transform=function(t,e){var n,i=e.fork(),o=this.value,a=this.generator;if(!o.length||t.modified())for(var c in t)Object(A.isFunction)(a[c])&&a[c](t[c]);return n=a(),o.length?i.mod.push(Object(r.o)(o[0],n)):i.add.push(Object(r.k)(n)),o[0]=n,i.source=o,i}},function(t,e,n){"use strict";function i(t){s.g.call(this,null,t),this.modified(!0)}function r(t,e){var n=a(e.fit);e.extent?t.fitExtent(e.extent,n):e.size&&t.fitSize(e.size,n)}function A(t){var e=Object(u.b)((t||"mercator").toLowerCase());return e||Object(g.error)("Unrecognized projection type: "+t),e()}function o(t,e,n){Object(g.isFunction)(t[e])&&t[e](n)}function a(t){return t=Object(g.array)(t),1===t.length?t[0]:{type:c.b,features:t.reduce(function(t,e){return e&&e.type===c.b?t.push.apply(t,e.features):Object(g.isArray)(e)?t.push.apply(t,e):t.push(e),t},[])}}e.a=i;var c=n(461),s=n(1),u=n(175),g=n(0);Object(g.inherits)(i,s.g).transform=function(t,e){var n=this.value;return!n||t.modified("type")?(this.value=n=A(t.type),u.c.forEach(function(e){null!=t[e]&&o(n,e,t[e])})):u.c.forEach(function(e){t.modified(e)&&o(n,e,t[e])}),null!=t.pointRadius&&n.path.pointRadius(t.pointRadius),t.fit&&r(n,t),e.fork(e.NO_SOURCE|e.NO_FIELDS)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1066);n.d(e,"force",function(){return i.a})},function(t,e,n){"use strict";function i(t){u.g.call(this,null,t)}function r(t,e){return function(){t.touch(e).run()}}function A(t,e){var n=Object(l.e)(t),i=!1,r=n.stop,A=n.restart;return n.stopped=function(){return i},n.restart=function(){return i=!1,A()},n.stop=function(){return i=!0,r()},o(n,e,!0).on("end",function(){i=!0})}function o(t,e,n,i){var r,A,o,s,u=Object(g.array)(e.forces);for(r=0,A=d.length;r<A;++r)(o=d[r])!==h&&e.modified(o)&&t[o](e[o]);for(r=0,A=u.length;r<A;++r)s=h+r,(o=n||e.modified(h,r)?c(u[r]):i&&a(u[r],i)?t.force(s):null)&&t.force(s,o);for(A=t.numForces||0;r<A;++r)t.force(h+r,null);return t.numForces=u.length,t}function a(t,e){var n,i;for(n in t)if(Object(g.isFunction)(i=t[n])&&e.modified(Object(g.accessorFields)(i)))return 1;return 0}function c(t){var e,n;M.hasOwnProperty(t.force)||Object(g.error)("Unrecognized force: "+t.force),e=M[t.force]();for(n in t)Object(g.isFunction)(e[n])&&s(e[n],t[n],t);return e}function s(t,e,n){t(Object(g.isFunction)(e)?function(t){return e(t,n)}:e)}e.a=i;var u=n(1),g=n(0),l=n(1067),M={center:l.a,collide:l.b,nbody:l.d,link:l.c,x:l.f,y:l.g},h="forces",d=["alpha","alphaMin","alphaTarget","velocityDecay","forces"],f=["static","iterations"],I=["x","y","vx","vy"];i.Definition={type:"Force",metadata:{modifies:!0},params:[{name:"static",type:"boolean",default:!1},{name:"restart",type:"boolean",default:!1},{name:"iterations",type:"number",default:300},{name:"alpha",type:"number",default:1},{name:"alphaMin",type:"number",default:.001},{name:"alphaTarget",type:"number",default:0},{name:"velocityDecay",type:"number",default:.4},{name:"forces",type:"param",array:!0,params:[{key:{force:"center"},params:[{name:"x",type:"number",default:0},{name:"y",type:"number",default:0}]},{key:{force:"collide"},params:[{name:"radius",type:"number",expr:!0},{name:"strength",type:"number",default:.7},{name:"iterations",type:"number",default:1}]},{key:{force:"nbody"},params:[{name:"strength",type:"number",default:-30},{name:"theta",type:"number",default:.9},{name:"distanceMin",type:"number",default:1},{name:"distanceMax",type:"number"}]},{key:{force:"link"},params:[{name:"links",type:"data"},{name:"id",type:"field"},{name:"distance",type:"number",default:30,expr:!0},{name:"strength",type:"number",expr:!0},{name:"iterations",type:"number",default:1}]},{key:{force:"x"},params:[{name:"strength",type:"number",default:.1},{name:"x",type:"field"}]},{key:{force:"y"},params:[{name:"strength",type:"number",default:.1},{name:"y",type:"field"}]}]},{name:"as",type:"string",array:!0,modify:!1,default:I}]};var E=Object(g.inherits)(i,u.g);E.transform=function(t,e){var n=this.value,i=e.changed(e.ADD_REM),a=t.modified(d),c=t.iterations||300;if(n?(i&&(e.modifies("index"),n.nodes(e.source)),(a||e.changed(e.MOD))&&o(n,t,0,e)):(this.value=n=A(e.source,t),n.on("tick",r(e.dataflow,this)),t.static||(i=!0,n.tick()),e.modifies("index")),a||i||t.modified(f)||e.changed()&&t.restart)if(n.alpha(Math.max(n.alpha(),t.alpha||1)).alphaDecay(1-Math.pow(n.alphaMin(),1/c)),t.static)for(n.stop();--c>=0;)n.tick();else if(n.stopped()&&n.restart(),!i)return e.StopPropagation;return this.finish(t,e)},E.finish=function(t,e){for(var n,i=e.dataflow,r=this._argops,A=0,o=r.length;A<o;++A)if(n=r[A],n.name===h&&"link"===n.op._argval.force)for(var a,c=n.op._argops,s=0,u=c.length;s<u;++s)if("links"===c[s].name&&(a=c[s].op.source)){i.pulse(a,i.changeset().reflow());break}return e.reflow(t.modified()).modifies(I)}},function(t,e,n){"use strict";var i=n(1068);n.d(e,"a",function(){return i.a});var r=n(1069);n.d(e,"b",function(){return r.a});var A=n(1083);n.d(e,"c",function(){return A.a});var o=n(1084);n.d(e,"d",function(){return o.a});var a=n(476);n.d(e,"e",function(){return a.a});var c=n(1087);n.d(e,"f",function(){return c.a});var s=n(1088);n.d(e,"g",function(){return s.a})},function(t,e,n){"use strict";e.a=function(t,e){function n(){var n,r,A=i.length,o=0,a=0;for(n=0;n<A;++n)r=i[n],o+=r.x,a+=r.y;for(o=o/A-t,a=a/A-e,n=0;n<A;++n)r=i[n],r.x-=o,r.y-=a}var i;return null==t&&(t=0),null==e&&(e=0),n.initialize=function(t){i=t},n.x=function(e){return arguments.length?(t=+e,n):t},n.y=function(t){return arguments.length?(e=+t,n):e},n}},function(t,e,n){"use strict";function i(t){return t.x+t.vx}function r(t){return t.y+t.vy}var A=n(129),o=n(271),a=n(130);e.a=function(t){function e(){function t(t,e,n,i,r){var A=t.data,a=t.r,s=d+a;{if(!A)return e>M+s||i<M-s||n>h+s||r<h-s;if(A.index>c.index){var u=M-A.x-A.vx,l=h-A.y-A.vy,I=u*u+l*l;I<s*s&&(0===u&&(u=Object(o.a)(),I+=u*u),0===l&&(l=Object(o.a)(),I+=l*l),I=(s-(I=Math.sqrt(I)))/I*g,c.vx+=(u*=I)*(s=(a*=a)/(f+a)),c.vy+=(l*=I)*s,A.vx-=u*(s=1-s),A.vy-=l*s)}}}for(var e,A,c,M,h,d,f,I=s.length,E=0;E<l;++E)for(A=Object(a.a)(s,i,r).visitAfter(n),e=0;e<I;++e)c=s[e],d=u[c.index],f=d*d,M=c.x+c.vx,h=c.y+c.vy,A.visit(t)}function n(t){if(t.data)return t.r=u[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function c(){if(s){var e,n,i=s.length;for(u=new Array(i),e=0;e<i;++e)n=s[e],u[n.index]=+t(n,e,s)}}var s,u,g=1,l=1;return"function"!=typeof t&&(t=Object(A.a)(null==t?1:+t)),e.initialize=function(t){s=t,c()},e.iterations=function(t){return arguments.length?(l=+t,e):l},e.strength=function(t){return arguments.length?(g=+t,e):g},e.radius=function(n){return arguments.length?(t="function"==typeof n?n:Object(A.a)(+n),c(),e):t},e}},function(t,e,n){"use strict";function i(t,e,n){var i=new r(null==e?f.b:e,null==n?I.b:n,NaN,NaN,NaN,NaN);return null==t?i:i.addAll(t)}function r(t,e,n,i,r,A){this._x=t,this._y=e,this._x0=n,this._y0=i,this._x1=r,this._y1=A,this._root=void 0}function A(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}e.a=i;var o=n(1071),a=n(1072),c=n(1073),s=n(1074),u=n(1075),g=n(1076),l=n(1077),M=n(1078),h=n(1079),d=n(1080),f=n(1081),I=n(1082),E=i.prototype=r.prototype;E.copy=function(){var t,e,n=new r(this._x,this._y,this._x0,this._y0,this._x1,this._y1),i=this._root;if(!i)return n;if(!i.length)return n._root=A(i),n;for(t=[{source:i,target:n._root=new Array(4)}];i=t.pop();)for(var o=0;o<4;++o)(e=i.source[o])&&(e.length?t.push({source:e,target:i.target[o]=new Array(4)}):i.target[o]=A(e));return n},E.add=o.b,E.addAll=o.a,E.cover=a.a,E.data=c.a,E.extent=s.a,E.find=u.a,E.remove=g.a,E.removeAll=g.b,E.root=l.a,E.size=M.a,E.visit=h.a,E.visitAfter=d.a,E.x=f.a,E.y=I.a},function(t,e,n){"use strict";function i(t,e,n,i){if(isNaN(e)||isNaN(n))return t;var r,A,o,a,c,s,u,g,l,M=t._root,h={data:i},d=t._x0,f=t._y0,I=t._x1,E=t._y1;if(!M)return t._root=h,t;for(;M.length;)if((s=e>=(A=(d+I)/2))?d=A:I=A,(u=n>=(o=(f+E)/2))?f=o:E=o,r=M,!(M=M[g=u<<1|s]))return r[g]=h,t;if(a=+t._x.call(null,M.data),c=+t._y.call(null,M.data),e===a&&n===c)return h.next=M,r?r[g]=h:t._root=h,t;do{r=r?r[g]=new Array(4):t._root=new Array(4),(s=e>=(A=(d+I)/2))?d=A:I=A,(u=n>=(o=(f+E)/2))?f=o:E=o}while((g=u<<1|s)==(l=(c>=o)<<1|a>=A));return r[l]=M,r[g]=h,t}function r(t){var e,n,r,A,o=t.length,a=new Array(o),c=new Array(o),s=1/0,u=1/0,g=-1/0,l=-1/0;for(n=0;n<o;++n)isNaN(r=+this._x.call(null,e=t[n]))||isNaN(A=+this._y.call(null,e))||(a[n]=r,c[n]=A,r<s&&(s=r),r>g&&(g=r),A<u&&(u=A),A>l&&(l=A));for(g<s&&(s=this._x0,g=this._x1),l<u&&(u=this._y0,l=this._y1),this.cover(s,u).cover(g,l),n=0;n<o;++n)i(this,a[n],c[n],t[n]);return this}e.a=r,e.b=function(t){var e=+this._x.call(null,t),n=+this._y.call(null,t);return i(this.cover(e,n),e,n,t)}},function(t,e,n){"use strict";e.a=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var n=this._x0,i=this._y0,r=this._x1,A=this._y1;if(isNaN(n))r=(n=Math.floor(t))+1,A=(i=Math.floor(e))+1;else{if(!(n>t||t>r||i>e||e>A))return this;var o,a,c=r-n,s=this._root;switch(a=(e<(i+A)/2)<<1|t<(n+r)/2){case 0:do{o=new Array(4),o[a]=s,s=o}while(c*=2,r=n+c,A=i+c,t>r||e>A);break;case 1:do{o=new Array(4),o[a]=s,s=o}while(c*=2,n=r-c,A=i+c,n>t||e>A);break;case 2:do{o=new Array(4),o[a]=s,s=o}while(c*=2,r=n+c,i=A-c,t>r||i>e);break;case 3:do{o=new Array(4),o[a]=s,s=o}while(c*=2,n=r-c,i=A-c,n>t||i>e)}this._root&&this._root.length&&(this._root=s)}return this._x0=n,this._y0=i,this._x1=r,this._y1=A,this}},function(t,e,n){"use strict";e.a=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t}},function(t,e,n){"use strict";e.a=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}},function(t,e,n){"use strict";var i=n(272);e.a=function(t,e,n){var r,A,o,a,c,s,u,g=this._x0,l=this._y0,M=this._x1,h=this._y1,d=[],f=this._root;for(f&&d.push(new i.a(f,g,l,M,h)),null==n?n=1/0:(g=t-n,l=e-n,M=t+n,h=e+n,n*=n);s=d.pop();)if(!(!(f=s.node)||(A=s.x0)>M||(o=s.y0)>h||(a=s.x1)<g||(c=s.y1)<l))if(f.length){var I=(A+a)/2,E=(o+c)/2;d.push(new i.a(f[3],I,E,a,c),new i.a(f[2],A,E,I,c),new i.a(f[1],I,o,a,E),new i.a(f[0],A,o,I,E)),(u=(e>=E)<<1|t>=I)&&(s=d[d.length-1],d[d.length-1]=d[d.length-1-u],d[d.length-1-u]=s)}else{var T=t-+this._x.call(null,f.data),N=e-+this._y.call(null,f.data),y=T*T+N*N;if(y<n){var p=Math.sqrt(n=y);g=t-p,l=e-p,M=t+p,h=e+p,r=f.data}}return r}},function(t,e,n){"use strict";function i(t){for(var e=0,n=t.length;e<n;++e)this.remove(t[e]);return this}e.b=i,e.a=function(t){if(isNaN(A=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,n,i,r,A,o,a,c,s,u,g,l,M=this._root,h=this._x0,d=this._y0,f=this._x1,I=this._y1;if(!M)return this;if(M.length)for(;;){if((s=A>=(a=(h+f)/2))?h=a:f=a,(u=o>=(c=(d+I)/2))?d=c:I=c,e=M,!(M=M[g=u<<1|s]))return this;if(!M.length)break;(e[g+1&3]||e[g+2&3]||e[g+3&3])&&(n=e,l=g)}for(;M.data!==t;)if(i=M,!(M=M.next))return this;return(r=M.next)&&delete M.next,i?(r?i.next=r:delete i.next,this):e?(r?e[g]=r:delete e[g],(M=e[0]||e[1]||e[2]||e[3])&&M===(e[3]||e[2]||e[1]||e[0])&&!M.length&&(n?n[l]=M:this._root=M),this):(this._root=r,this)}},function(t,e,n){"use strict";e.a=function(){return this._root}},function(t,e,n){"use strict";e.a=function(){var t=0;return this.visit(function(e){if(!e.length)do{++t}while(e=e.next)}),t}},function(t,e,n){"use strict";var i=n(272);e.a=function(t){var e,n,r,A,o,a,c=[],s=this._root;for(s&&c.push(new i.a(s,this._x0,this._y0,this._x1,this._y1));e=c.pop();)if(!t(s=e.node,r=e.x0,A=e.y0,o=e.x1,a=e.y1)&&s.length){var u=(r+o)/2,g=(A+a)/2;(n=s[3])&&c.push(new i.a(n,u,g,o,a)),(n=s[2])&&c.push(new i.a(n,r,g,u,a)),(n=s[1])&&c.push(new i.a(n,u,A,o,g)),(n=s[0])&&c.push(new i.a(n,r,A,u,g))}return this}},function(t,e,n){"use strict";var i=n(272);e.a=function(t){var e,n=[],r=[];for(this._root&&n.push(new i.a(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var A=e.node;if(A.length){var o,a=e.x0,c=e.y0,s=e.x1,u=e.y1,g=(a+s)/2,l=(c+u)/2;(o=A[0])&&n.push(new i.a(o,a,c,g,l)),(o=A[1])&&n.push(new i.a(o,g,c,s,l)),(o=A[2])&&n.push(new i.a(o,a,l,g,u)),(o=A[3])&&n.push(new i.a(o,g,l,s,u))}r.push(e)}for(;e=r.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this}},function(t,e,n){"use strict";function i(t){return t[0]}e.b=i,e.a=function(t){return arguments.length?(this._x=t,this):this._x}},function(t,e,n){"use strict";function i(t){return t[1]}e.b=i,e.a=function(t){return arguments.length?(this._y=t,this):this._y}},function(t,e,n){"use strict";function i(t){return t.index}function r(t,e){var n=t.get(e);if(!n)throw new Error("missing: "+e);return n}var A=n(129),o=n(271),a=n(45);e.a=function(t){function e(t){return 1/Math.min(h[t.source.index],h[t.target.index])}function n(e){for(var n=0,i=t.length;n<T;++n)for(var r,A,a,c,s,u,M,h=0;h<i;++h)r=t[h],A=r.source,a=r.target,c=a.x+a.vx-A.x-A.vx||Object(o.a)(),s=a.y+a.vy-A.y-A.vy||Object(o.a)(),u=Math.sqrt(c*c+s*s),u=(u-l[h])/u*e*g[h],c*=u,s*=u,a.vx-=c*(M=d[h]),a.vy-=s*M,A.vx+=c*(M=1-M),A.vy+=s*M}function c(){if(M){var e,n,i=M.length,A=t.length,o=Object(a.map)(M,f);for(e=0,h=new Array(i);e<A;++e)n=t[e],n.index=e,"object"!=typeof n.source&&(n.source=r(o,n.source)),"object"!=typeof n.target&&(n.target=r(o,n.target)),h[n.source.index]=(h[n.source.index]||0)+1,h[n.target.index]=(h[n.target.index]||0)+1;for(e=0,d=new Array(A);e<A;++e)n=t[e],d[e]=h[n.source.index]/(h[n.source.index]+h[n.target.index]);g=new Array(A),s(),l=new Array(A),u()}}function s(){if(M)for(var e=0,n=t.length;e<n;++e)g[e]=+I(t[e],e,t)}function u(){if(M)for(var e=0,n=t.length;e<n;++e)l[e]=+E(t[e],e,t)}var g,l,M,h,d,f=i,I=e,E=Object(A.a)(30),T=1;return null==t&&(t=[]),n.initialize=function(t){M=t,c()},n.links=function(e){return arguments.length?(t=e,c(),n):t},n.id=function(t){return arguments.length?(f=t,n):f},n.iterations=function(t){return arguments.length?(T=+t,n):T},n.strength=function(t){return arguments.length?(I="function"==typeof t?t:Object(A.a)(+t),s(),n):I},n.distance=function(t){return arguments.length?(E="function"==typeof t?t:Object(A.a)(+t),u(),n):E},n}},function(t,e,n){"use strict";var i=n(129),r=n(271),A=n(130),o=n(476);e.a=function(){function t(t){var e,i=c.length,r=Object(A.a)(c,o.b,o.c).visitAfter(n);for(u=t,e=0;e<i;++e)s=c[e],r.visit(a)}function e(){if(c){var t,e,n=c.length;for(g=new Array(n),t=0;t<n;++t)e=c[t],g[e.index]=+l(e,t,c)}}function n(t){var e,n,i,r,A,o=0;if(t.length){for(i=r=A=0;A<4;++A)(e=t[A])&&(n=e.value)&&(o+=n,i+=n*e.x,r+=n*e.y);t.x=i/o,t.y=r/o}else{e=t,e.x=e.data.x,e.y=e.data.y;do{o+=g[e.data.index]}while(e=e.next)}t.value=o}function a(t,e,n,i){if(!t.value)return!0;var A=t.x-s.x,o=t.y-s.y,a=i-e,c=A*A+o*o;if(a*a/d<c)return c<h&&(0===A&&(A=Object(r.a)(),c+=A*A),0===o&&(o=Object(r.a)(),c+=o*o),c<M&&(c=Math.sqrt(M*c)),s.vx+=A*t.value*u/c,s.vy+=o*t.value*u/c),!0;if(!(t.length||c>=h)){(t.data!==s||t.next)&&(0===A&&(A=Object(r.a)(),c+=A*A),0===o&&(o=Object(r.a)(),c+=o*o),c<M&&(c=Math.sqrt(M*c)));do{t.data!==s&&(a=g[t.data.index]*u/c,s.vx+=A*a,s.vy+=o*a)}while(t=t.next)}}var c,s,u,g,l=Object(i.a)(-30),M=1,h=1/0,d=.81;return t.initialize=function(t){c=t,e()},t.strength=function(n){return arguments.length?(l="function"==typeof n?n:Object(i.a)(+n),e(),t):l},t.distanceMin=function(e){return arguments.length?(M=e*e,t):Math.sqrt(M)},t.distanceMax=function(e){return arguments.length?(h=e*e,t):Math.sqrt(h)},t.theta=function(e){return arguments.length?(d=e*e,t):Math.sqrt(d)},t}},function(t,e,n){"use strict";var i=n(274);e.a=function(t,e,n){var r=new i.a;return e=null==e?0:+e,r.restart(function(n){r.stop(),t(n+e)},e,n),r}},function(t,e,n){"use strict";n(274)},function(t,e,n){"use strict";var i=n(129);e.a=function(t){function e(t){for(var e,n=0,i=r.length;n<i;++n)e=r[n],e.vx+=(o[n]-e.x)*A[n]*t}function n(){if(r){var e,n=r.length;for(A=new Array(n),o=new Array(n),e=0;e<n;++e)A[e]=isNaN(o[e]=+t(r[e],e,r))?0:+a(r[e],e,r)}}var r,A,o,a=Object(i.a)(.1);return"function"!=typeof t&&(t=Object(i.a)(null==t?0:+t)),e.initialize=function(t){r=t,n()},e.strength=function(t){return arguments.length?(a="function"==typeof t?t:Object(i.a)(+t),n(),e):a},e.x=function(r){return arguments.length?(t="function"==typeof r?r:Object(i.a)(+r),n(),e):t},e}},function(t,e,n){"use strict";var i=n(129);e.a=function(t){function e(t){for(var e,n=0,i=r.length;n<i;++n)e=r[n],e.vy+=(o[n]-e.y)*A[n]*t}function n(){if(r){var e,n=r.length;for(A=new Array(n),o=new Array(n),e=0;e<n;++e)A[e]=isNaN(o[e]=+t(r[e],e,r))?0:+a(r[e],e,r)}}var r,A,o,a=Object(i.a)(.1);return"function"!=typeof t&&(t=Object(i.a)(null==t?0:+t)),e.initialize=function(t){r=t,n()},e.strength=function(t){return arguments.length?(a="function"==typeof t?t:Object(i.a)(+t),n(),e):a},e.y=function(r){return arguments.length?(t="function"==typeof r?r:Object(i.a)(+r),n(),e):t},e}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1090);n.d(e,"nest",function(){return i.a});var r=n(1112);n.d(e,"pack",function(){return r.a});var A=n(1113);n.d(e,"partition",function(){return A.a});var o=n(1114);n.d(e,"stratify",function(){return o.a});var a=n(1115);n.d(e,"tree",function(){return a.a});var c=n(1116);n.d(e,"treelinks",function(){return c.a});var s=n(1117);n.d(e,"treemap",function(){return s.a})},function(t,e,n){"use strict";function i(t){A.g.call(this,null,t)}function r(t){return t.values}e.a=i;var A=n(1),o=n(0),a=n(45),c=n(80);i.Definition={type:"Nest",metadata:{treesource:!0,source:!0,generates:!0,changes:!0},params:[{name:"keys",type:"field",array:!0},{name:"key",type:"field"},{name:"generate",type:"boolean"}]},Object(o.inherits)(i,A.g).transform=function(t,e){e.source||Object(o.error)("Nest transform requires an upstream data source.");var n,i,s,u=t.key||A.r,g=t.generate,l=t.modified(),M=g||l?e.fork(e.ALL):e;return(!this.value||l||e.changed())&&(g&&this.value&&(M.materialize(M.REM),this.value.each(function(t){t.children&&M.rem.push(t)})),n=Object(o.array)(t.keys).reduce(function(t,e){return t.key(e),t},Object(a.nest)()).entries(e.source),this.value=i=Object(c.b)({values:n},r),g&&(M.materialize(M.ADD),M.source=M.source.slice(),i.each(function(t){t.children&&(t=Object(A.k)(t.data),M.add.push(t),M.source.push(t))})),s=i.lookup={},i.each(function(t){null!=Object(A.r)(t.data)&&(s[u(t.data)]=t)})),M.source.root=this.value,M}},function(t,e,n){"use strict";function i(t,e){return t.parent===e.parent?1:2}function r(t){return t.reduce(A,0)/t.length}function A(t,e){return t+e.x}function o(t){return 1+t.reduce(a,0)}function a(t,e){return Math.max(t,e.y)}function c(t){for(var e;e=t.children;)t=e[0];return t}function s(t){for(var e;e=t.children;)t=e[e.length-1];return t}e.a=function(){function t(t){var i,u=0;t.eachAfter(function(t){var n=t.children;n?(t.x=r(n),t.y=o(n)):(t.x=i?u+=e(t,i):0,t.y=0,i=t)});var g=c(t),l=s(t),M=g.x-e(g,l)/2,h=l.x+e(l,g)/2;return t.eachAfter(a?function(e){e.x=(e.x-t.x)*n,e.y=(t.y-e.y)*A}:function(e){e.x=(e.x-M)/(h-M)*n,e.y=(1-(t.y?e.y/t.y:1))*A})}var e=i,n=1,A=1,a=!1;return t.separation=function(n){return arguments.length?(e=n,t):e},t.size=function(e){return arguments.length?(a=!1,n=+e[0],A=+e[1],t):a?null:[n,A]},t.nodeSize=function(e){return arguments.length?(a=!0,n=+e[0],A=+e[1],t):a?[n,A]:null},t}},function(t,e,n){"use strict";function i(t){var e=0,n=t.children,i=n&&n.length;if(i)for(;--i>=0;)e+=n[i].value;else e=1;t.value=e}e.a=function(){return this.eachAfter(i)}},function(t,e,n){"use strict";e.a=function(t){var e,n,i,r,A=this,o=[A];do{for(e=o.reverse(),o=[];A=e.pop();)if(t(A),n=A.children)for(i=0,r=n.length;i<r;++i)o.push(n[i])}while(o.length);return this}},function(t,e,n){"use strict";e.a=function(t){for(var e,n,i=this,r=[i];i=r.pop();)if(t(i),e=i.children)for(n=e.length-1;n>=0;--n)r.push(e[n]);return this}},function(t,e,n){"use strict";e.a=function(t){for(var e,n,i,r=this,A=[r],o=[];r=A.pop();)if(o.push(r),e=r.children)for(n=0,i=e.length;n<i;++n)A.push(e[n]);for(;r=o.pop();)t(r);return this}},function(t,e,n){"use strict";e.a=function(t){return this.eachAfter(function(e){for(var n=+t(e.data)||0,i=e.children,r=i&&i.length;--r>=0;)n+=i[r].value;e.value=n})}},function(t,e,n){"use strict";e.a=function(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}},function(t,e,n){"use strict";function i(t,e){if(t===e)return t;var n=t.ancestors(),i=e.ancestors(),r=null;for(t=n.pop(),e=i.pop();t===e;)r=t,t=n.pop(),e=i.pop();return r}e.a=function(t){for(var e=this,n=i(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var A=r.length;t!==n;)r.splice(A,0,t),t=t.parent;return r}},function(t,e,n){"use strict";e.a=function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}},function(t,e,n){"use strict";e.a=function(){var t=[];return this.each(function(e){t.push(e)}),t}},function(t,e,n){"use strict";e.a=function(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}},function(t,e,n){"use strict";e.a=function(){var t=this,e=[];return t.each(function(n){n!==t&&e.push({source:n.parent,target:n})}),e}},function(t,e,n){"use strict";function i(t){return Math.sqrt(t.value)}function r(t){return function(e){e.children||(e.r=Math.max(0,+t(e)||0))}}function A(t,e){return function(n){if(i=n.children){var i,r,A,o=i.length,c=t(n)*e||0;if(c)for(r=0;r<o;++r)i[r].r+=c;if(A=Object(a.b)(i),c)for(r=0;r<o;++r)i[r].r-=c;n.r=A+c}}}function o(t){return function(e){var n=e.parent;e.r*=t,n&&(e.x=n.x+t*e.x,e.y=n.y+t*e.y)}}var a=n(477),c=n(276),s=n(479);e.a=function(){function t(t){return t.x=n/2,t.y=a/2,e?t.eachBefore(r(e)).eachAfter(A(u,.5)).eachBefore(o(1)):t.eachBefore(r(i)).eachAfter(A(s.a,1)).eachAfter(A(u,t.r/Math.min(n,a))).eachBefore(o(Math.min(n,a)/(2*t.r))),t}var e=null,n=1,a=1,u=s.a;return t.radius=function(n){return arguments.length?(e=Object(c.a)(n),t):e},t.size=function(e){return arguments.length?(n=+e[0],a=+e[1],t):[n,a]},t.padding=function(e){return arguments.length?(u="function"==typeof e?e:Object(s.b)(+e),t):u},t}},function(t,e,n){"use strict";function i(t){for(var e,n,i=t.length;i;)n=Math.random()*i--|0,e=t[i],t[i]=t[n],t[n]=e;return t}n.d(e,"b",function(){return r}),e.a=i;var r=Array.prototype.slice},function(t,e,n){"use strict";var i=n(480),r=n(131);e.a=function(){function t(t){var r=t.height+1;return t.x0=t.y0=o,t.x1=n,t.y1=A/r,t.eachBefore(e(A,r)),a&&t.eachBefore(i.a),t}function e(t,e){return function(n){n.children&&Object(r.a)(n,n.x0,t*(n.depth+1)/e,n.x1,t*(n.depth+2)/e);var i=n.x0,A=n.y0,a=n.x1-o,c=n.y1-o;a<i&&(i=a=(i+a)/2),c<A&&(A=c=(A+c)/2),n.x0=i,n.y0=A,n.x1=a,n.y1=c}}var n=1,A=1,o=0,a=!1;return t.round=function(e){return arguments.length?(a=!!e,t):a},t.size=function(e){return arguments.length?(n=+e[0],A=+e[1],t):[n,A]},t.padding=function(e){return arguments.length?(o=+e,t):o},t}},function(t,e,n){"use strict";function i(t){return t.id}function r(t){return t.parentId}var A=n(276),o=n(275),a="$",c={depth:-1},s={};e.a=function(){function t(t){var i,r,A,u,g,l,M,h=t.length,d=new Array(h),f={};for(r=0;r<h;++r)i=t[r],g=d[r]=new o.a(i),null!=(l=e(i,r,t))&&(l+="")&&(M=a+(g.id=l),f[M]=M in f?s:g);for(r=0;r<h;++r)if(g=d[r],null!=(l=n(t[r],r,t))&&(l+="")){if(!(u=f[a+l]))throw new Error("missing: "+l);if(u===s)throw new Error("ambiguous: "+l);u.children?u.children.push(g):u.children=[g],g.parent=u}else{if(A)throw new Error("multiple roots");A=g}if(!A)throw new Error("no root");if(A.parent=c,A.eachBefore(function(t){t.depth=t.parent.depth+1,--h}).eachBefore(o.b),A.parent=null,h>0)throw new Error("cycle");return A}var e=i,n=r;return t.id=function(n){return arguments.length?(e=Object(A.b)(n),t):e},t.parentId=function(e){return arguments.length?(n=Object(A.b)(e),t):n},t}},function(t,e,n){"use strict";function i(t,e){return t.parent===e.parent?1:2}function r(t){var e=t.children;return e?e[0]:t.t}function A(t){var e=t.children;return e?e[e.length-1]:t.t}function o(t,e,n){var i=n/(e.i-t.i);e.c-=i,e.s+=n,t.c+=i,e.z+=n,e.m+=n}function a(t){for(var e,n=0,i=0,r=t.children,A=r.length;--A>=0;)e=r[A],e.z+=n,e.m+=n,n+=e.s+(i+=e.c)}function c(t,e,n){return t.a.parent===e.parent?t.a:n}function s(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function u(t){for(var e,n,i,r,A,o=new s(t,0),a=[o];e=a.pop();)if(i=e._.children)for(e.children=new Array(A=i.length),r=A-1;r>=0;--r)a.push(n=e.children[r]=new s(i[r],r)),n.parent=e;return(o.parent=new s(null,0)).children=[o],o}var g=n(275);s.prototype=Object.create(g.a.prototype),e.a=function(){function t(t){var i=u(t);if(i.eachAfter(e),i.parent.m=-i.z,i.eachBefore(n),d)t.eachBefore(g);else{var r=t,A=t,o=t;t.eachBefore(function(t){t.x<r.x&&(r=t),t.x>A.x&&(A=t),t.depth>o.depth&&(o=t)});var a=r===A?1:l(r,A)/2,c=a-r.x,s=M/(A.x+a+c),f=h/(o.depth||1);t.eachBefore(function(t){t.x=(t.x+c)*s,t.y=t.depth*f})}return t}function e(t){var e=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(e){a(t);var r=(e[0].z+e[e.length-1].z)/2;i?(t.z=i.z+l(t._,i._),t.m=t.z-r):t.z=r}else i&&(t.z=i.z+l(t._,i._));t.parent.A=s(t,i,t.parent.A||n[0])}function n(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t,e,n){if(e){for(var i,a=t,s=t,u=e,g=a.parent.children[0],M=a.m,h=s.m,d=u.m,f=g.m;u=A(u),a=r(a),u&&a;)g=r(g),s=A(s),s.a=t,i=u.z+d-a.z-M+l(u._,a._),i>0&&(o(c(u,t,n),t,i),M+=i,h+=i),d+=u.m,M+=a.m,f+=g.m,h+=s.m;u&&!A(s)&&(s.t=u,s.m+=d-h),a&&!r(g)&&(g.t=a,g.m+=M-f,n=t)}return n}function g(t){t.x*=M,t.y=t.depth*h}var l=i,M=1,h=1,d=null;return t.separation=function(e){return arguments.length?(l=e,t):l},t.size=function(e){return arguments.length?(d=!1,M=+e[0],h=+e[1],t):d?null:[M,h]},t.nodeSize=function(e){return arguments.length?(d=!0,M=+e[0],h=+e[1],t):d?[M,h]:null},t}},function(t,e,n){"use strict";var i=n(480),r=n(277),A=n(276),o=n(479);e.a=function(){function t(t){return t.x0=t.y0=0,t.x1=c,t.y1=s,t.eachBefore(e),u=[0],a&&t.eachBefore(i.a),t}function e(t){var e=u[t.depth],i=t.x0+e,r=t.y0+e,A=t.x1-e,o=t.y1-e;A<i&&(i=A=(i+A)/2),o<r&&(r=o=(r+o)/2),t.x0=i,t.y0=r,t.x1=A,t.y1=o,t.children&&(e=u[t.depth+1]=g(t)/2,i+=d(t)-e,r+=l(t)-e,A-=M(t)-e,o-=h(t)-e,A<i&&(i=A=(i+A)/2),o<r&&(r=o=(r+o)/2),n(t,i,r,A,o))}var n=r.a,a=!1,c=1,s=1,u=[0],g=o.a,l=o.a,M=o.a,h=o.a,d=o.a;return t.round=function(e){return arguments.length?(a=!!e,t):a},t.size=function(e){return arguments.length?(c=+e[0],s=+e[1],t):[c,s]},t.tile=function(e){return arguments.length?(n=Object(A.b)(e),t):n},t.padding=function(e){return arguments.length?t.paddingInner(e).paddingOuter(e):t.paddingInner()},t.paddingInner=function(e){return arguments.length?(g="function"==typeof e?e:Object(o.b)(+e),t):g},t.paddingOuter=function(e){return arguments.length?t.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e):t.paddingTop()},t.paddingTop=function(e){return arguments.length?(l="function"==typeof e?e:Object(o.b)(+e),t):l},t.paddingRight=function(e){return arguments.length?(M="function"==typeof e?e:Object(o.b)(+e),t):M},t.paddingBottom=function(e){return arguments.length?(h="function"==typeof e?e:Object(o.b)(+e),t):h},t.paddingLeft=function(e){return arguments.length?(d="function"==typeof e?e:Object(o.b)(+e),t):d},t}},function(t,e,n){"use strict";e.a=function(t,e,n,i,r){function A(t,e,n,i,r,o,a){if(t>=e-1){var s=c[t];return s.x0=i,s.y0=r,s.x1=o,s.y1=a,void 0}for(var g=u[t],l=n/2+g,M=t+1,h=e-1;M<h;){var d=M+h>>>1;u[d]<l?M=d+1:h=d}l-u[M-1]<u[M]-l&&t+1<M&&--M;var f=u[M]-g,I=n-f;if(o-i>a-r){var E=(i*I+o*f)/n;A(t,M,f,i,r,E,a),A(M,e,I,E,r,o,a)}else{var T=(r*I+a*f)/n;A(t,M,f,i,r,o,T),A(M,e,I,i,T,o,a)}}var o,a,c=t.children,s=c.length,u=new Array(s+1);for(u[0]=a=o=0;o<s;++o)u[o+1]=a+=c[o].value;A(0,s,t.value,e,n,i,r)}},function(t,e,n){"use strict";var i=n(131),r=n(178);e.a=function(t,e,n,A,o){(1&t.depth?r.a:i.a)(t,e,n,A,o)}},function(t,e,n){"use strict";var i=n(131),r=n(178),A=n(277);e.a=function t(e){function n(t,n,o,a,c){if((s=t._squarify)&&s.ratio===e)for(var s,u,g,l,M,h=-1,d=s.length,f=t.value;++h<d;){for(u=s[h],g=u.children,l=u.value=0,M=g.length;l<M;++l)u.value+=g[l].value;u.dice?Object(i.a)(u,n,o,a,o+=(c-o)*u.value/f):Object(r.a)(u,n,o,n+=(a-n)*u.value/f,c),f-=u.value}else t._squarify=s=Object(A.c)(e,t,n,o,a,c),s.ratio=e}return n.ratio=function(e){return t((e=+e)>1?e:1)},n}(A.b)},function(t,e,n){"use strict";function i(t){r.a.call(this,t)}e.a=i;var r=n(179),A=n(0),o=n(80),a=["x","y","r","depth","children"];i.Definition={type:"Pack",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"radius",type:"field",default:null},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:3,default:a}]};var c=Object(A.inherits)(i,r.a);c.layout=o.c,c.params=["size","padding"],c.fields=a},function(t,e,n){"use strict";function i(t){r.a.call(this,t)}e.a=i;var r=n(179),A=n(0),o=n(80),a=["x0","y0","x1","y1","depth","children"];i.Definition={type:"Partition",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:4,default:a}]};var c=Object(A.inherits)(i,r.a);c.layout=o.f,c.params=["size","round","padding"],c.fields=a},function(t,e,n){"use strict";function i(t){r.g.call(this,null,t)}e.a=i;var r=n(1),A=n(0),o=n(80);i.Definition={type:"Stratify",metadata:{treesource:!0},params:[{name:"key",type:"field",required:!0},{name:"parentKey",type:"field",required:!0}]},Object(A.inherits)(i,r.g).transform=function(t,e){e.source||Object(A.error)("Stratify transform requires an upstream data source.");var n,i,r=t.modified();return(!this.value||r||e.changed(e.ADD_REM)||e.modified(t.key.fields)||e.modified(t.parentKey.fields))&&(n=Object(o.g)().id(t.key).parentId(t.parentKey)(e.source),i=n.lookup={},n.each(function(e){i[t.key(e.data)]=e}),this.value=n),e.source.root=this.value,r?e.fork(e.ALL):e}},function(t,e,n){"use strict";function i(t){r.a.call(this,t)}e.a=i;var r=n(179),A=n(0),o=n(80),a={tidy:o.h,cluster:o.a},c=["x","y","depth","children"];i.Definition={type:"Tree",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"tidy",values:["tidy","cluster"]},{name:"size",type:"number",array:!0,length:2},{name:"nodeSize",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:4,default:c}]};var s=Object(A.inherits)(i,r.a);s.layout=function(t){var e=t||"tidy";if(a.hasOwnProperty(e))return a[e]();Object(A.error)("Unrecognized Tree layout method: "+e)},s.params=["size","nodeSize","separation"],s.fields=c},function(t,e,n){"use strict";function i(t){A.g.call(this,{},t)}function r(t){var e;return t.parent&&(e=t.parent.data)&&null!=Object(A.r)(e)&&e}e.a=i;var A=n(1),o=n(0);i.Definition={type:"TreeLinks",metadata:{tree:!0,generates:!0,changes:!0},params:[{name:"key",type:"field"}]},Object(o.inherits)(i,A.g).transform=function(t,e){function n(t){var e=c[t];e&&(u[t]=1,g.mod.push(e))}e.source&&e.source.root||Object(o.error)("TreeLinks transform requires a backing tree data source.");var i=e.source.root,a=i.lookup,c=this.value,s=t.key||A.r,u={},g=e.fork();return e.visit(e.REM,function(t){var e=s(t),n=c[e];n&&(delete c[e],g.rem.push(n))}),e.visit(e.ADD,function(t){var e,n=s(t);(e=r(a[n]))&&(g.add.push(c[n]=Object(A.k)({source:e,target:t})),u[n]=1)}),e.visit(e.MOD,function(t){var e=s(t),i=a[e],r=i.children;if(n(e),r)for(var A=0,o=r.length;A<o;++A)u[e=s(r[A].data)]||n(e)}),g}},function(t,e,n){"use strict";function i(t){r.a.call(this,t)}e.a=i;var r=n(179),A=n(0),o=n(80),a={binary:o.j,dice:o.k,slice:o.m,slicedice:o.n,squarify:o.o,resquarify:o.l},c=["x0","y0","x1","y1","depth","children"];i.Definition={type:"Treemap",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"squarify",values:["squarify","resquarify","binary","dice","slice","slicedice"]},{name:"padding",type:"number",default:0},{name:"paddingInner",type:"number",default:0},{name:"paddingOuter",type:"number",default:0},{name:"paddingTop",type:"number",default:0},{name:"paddingRight",type:"number",default:0},{name:"paddingBottom",type:"number",default:0},{name:"paddingLeft",type:"number",default:0},{name:"ratio",type:"number",default:1.618033988749895},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:4,default:c}]};var s=Object(A.inherits)(i,r.a);s.layout=function(){var t=Object(o.i)();return t.ratio=function(e){var n=t.tile();n.ratio&&t.tile(n.ratio(e))},t.method=function(e){a.hasOwnProperty(e)?t.tile(a[e]):Object(A.error)("Unrecognized Treemap layout method: "+e)},t},s.params=["method","ratio","size","round","padding","paddingInner","paddingOuter","paddingTop","paddingRight","paddingBottom","paddingLeft"],s.fields=c},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1119);n.d(e,"voronoi",function(){return i.a})},function(t,e,n){"use strict";function i(t){r.g.call(this,null,t)}e.a=i;var r=n(1),A=n(0),o=n(481);i.Definition={type:"Voronoi",metadata:{modifies:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"size",type:"number",array:!0,length:2},{name:"extent",type:"array",array:!0,length:2,default:[[-1e5,-1e5],[1e5,1e5]],content:{type:"number",array:!0,length:2}},{name:"as",type:"string",default:"path"}]};var a=[[-1e5,-1e5],[1e5,1e5]];Object(A.inherits)(i,r.g).transform=function(t,e){var n,i,r,A,c=t.as||"path",s=e.source;for(n=Object(o.a)().x(t.x).y(t.y),t.size?n.size(t.size):n.extent(t.extent||a),this.value=n=n(s),i=n.polygons(),r=0,A=s.length;r<A;++r)s[r][c]=i[r]?"M"+i[r].join("L")+"Z":null;return e.reflow(t.modified()).modifies(c)}},function(t,e,n){"use strict";var i=n(1121),r=n(1122),A=n(132);e.a=function(){function t(t){return new A.d(t.map(function(i,r){var o=[Math.round(e(i,r,t)/A.f)*A.f,Math.round(n(i,r,t)/A.f)*A.f];return o.index=r,o.data=i,o}),o)}var e=r.a,n=r.b,o=null;return t.polygons=function(e){return t(e).polygons()},t.links=function(e){return t(e).links()},t.triangles=function(e){return t(e).triangles()},t.x=function(n){return arguments.length?(e="function"==typeof n?n:Object(i.a)(+n),t):e},t.y=function(e){return arguments.length?(n="function"==typeof e?e:Object(i.a)(+e),t):n},t.extent=function(e){return arguments.length?(o=null==e?null:[[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]],t):o&&[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},t.size=function(e){return arguments.length?(o=null==e?null:[[0,0],[+e[0],+e[1]]],t):o&&[o[1][0]-o[0][0],o[1][1]-o[0][1]]},t}},function(t,e,n){"use strict";e.a=function(t){return function(){return t}}},function(t,e,n){"use strict";function i(t){return t[0]}function r(t){return t[1]}e.a=i,e.b=r},function(t,e,n){"use strict";function i(){Object(u.a)(this),this.edge=this.site=this.circle=null}function r(t){var e=d.pop()||new i;return e.site=t,e}function A(t){Object(l.b)(t),h.a.remove(t),d.push(t),Object(u.a)(t)}function o(t){var e=t.circle,n=e.x,i=e.cy,r=[n,i],o=t.P,a=t.N,c=[t];A(t);for(var s=o;s.circle&&Math.abs(n-s.circle.x)<h.f&&Math.abs(i-s.circle.cy)<h.f;)o=s.P,c.unshift(s),A(s),s=o;c.unshift(s),Object(l.b)(s);for(var u=a;u.circle&&Math.abs(n-u.circle.x)<h.f&&Math.abs(i-u.circle.cy)<h.f;)a=u.N,c.push(u),A(u),u=a;c.push(u),Object(l.b)(u);var g,d=c.length;for(g=1;g<d;++g)u=c[g],s=c[g-1],Object(M.d)(u.edge,s.site,u.site,r);s=c[0],u=c[d-1],u.edge=Object(M.c)(s.site,u.site,null,r),Object(l.a)(s),Object(l.a)(u)}function a(t){for(var e,n,i,A,o=t[0],a=t[1],u=h.a._;u;)if((i=c(u,a)-o)>h.f)u=u.L;else{if(!((A=o-s(u,a))>h.f)){i>-h.f?(e=u.P,n=u):A>-h.f?(e=u,n=u.N):e=n=u;break}if(!u.R){e=u;break}u=u.R}Object(g.c)(t);var d=r(t);if(h.a.insert(e,d),e||n){if(e===n)return Object(l.b)(e),n=r(e.site),h.a.insert(d,n),d.edge=n.edge=Object(M.c)(e.site,d.site),Object(l.a)(e),void Object(l.a)(n);if(!n)return void(d.edge=Object(M.c)(e.site,d.site));Object(l.b)(e),Object(l.b)(n);var f=e.site,I=f[0],E=f[1],T=t[0]-I,N=t[1]-E,y=n.site,p=y[0]-I,C=y[1]-E,D=2*(T*C-N*p),x=T*T+N*N,B=p*p+C*C,w=[(C*x-N*B)/D+I,(T*B-p*x)/D+E];Object(M.d)(n.edge,f,y,w),d.edge=Object(M.c)(f,t,null,w),n.edge=Object(M.c)(t,y,null,w),Object(l.a)(e),Object(l.a)(n)}}function c(t,e){var n=t.site,i=n[0],r=n[1],A=r-e;if(!A)return i;var o=t.P;if(!o)return-1/0;n=o.site;var a=n[0],c=n[1],s=c-e;if(!s)return a;var u=a-i,g=1/A-1/s,l=u/s;return g?(-l+Math.sqrt(l*l-2*g*(u*u/(-2*s)-c+s/2+r-A/2)))/g+i:(i+a)/2}function s(t,e){var n=t.N;if(n)return c(n,e);var i=t.site;return i[1]===e?i[0]:1/0}e.b=o,e.a=a;var u=n(278),g=n(482),l=n(483),M=n(279),h=n(132),d=[]},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1125);n.d(e,"wordcloud",function(){return i.a})},function(t,e,n){"use strict";function i(t){o.g.call(this,Object(A.a)(),t)}function r(t,e){for(var n,i=1/0,r=-1/0,A=0,o=e.length;A<o;++A)n=t(e[A]),n<i&&(i=n),n>r&&(r=n);return[i,r]}e.a=i;var A=n(1126),o=n(1),a=n(0),c=n(77),s=n(70),u=["x","y","font","fontSize","fontStyle","fontWeight","angle"],g=["text","font","rotate","fontSize","fontStyle","fontWeight"];i.Definition={type:"Wordcloud",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2},{name:"font",type:"string",expr:!0,default:"sans-serif"},{name:"fontStyle",type:"string",expr:!0,default:"normal"},{name:"fontWeight",type:"string",expr:!0,default:"normal"},{name:"fontSize",type:"number",expr:!0,default:14},{name:"fontSizeRange",type:"number",array:"nullable",default:[10,50]},{name:"rotate",type:"number",expr:!0,default:0},{name:"text",type:"field"},{name:"spiral",type:"string",values:["archimedean","rectangular"]},{name:"padding",type:"number",expr:!0},{name:"as",type:"string",array:!0,length:7,default:u}]},Object(a.inherits)(i,o.g).transform=function(t,e){function n(n){var i=t[n];return Object(a.isFunction)(i)&&e.modified(i.fields)}var i=t.modified();if(i||e.changed(e.ADD_REM)||g.some(n)){var A,o=e.materialize(e.SOURCE).source,l=this.value,M=t.as||u,h=t.fontSize||14;if(Object(a.isFunction)(h)?A=t.fontSizeRange:h=Object(a.constant)(h),A){var d=h,f=Object(c.d)("sqrt")().domain(r(d,o)).range(A);h=function(t){return f(d(t))}}o.forEach(function(t){t[M[0]]=NaN,t[M[1]]=NaN,t[M[3]]=0});for(var I,E,T=l.words(o).text(t.text).size(t.size||[500,500]).padding(t.padding||1).spiral(t.spiral||"archimedean").rotate(t.rotate||0).font(t.font||"sans-serif").fontStyle(t.fontStyle||"normal").fontWeight(t.fontWeight||"normal").fontSize(h).random(s.d).layout(),N=l.size(),y=N[0]>>1,p=N[1]>>1,C=0,D=T.length;C<D;++C)I=T[C],E=I.datum,E[M[0]]=I.x+y,E[M[1]]=I.y+p,E[M[2]]=I.font,E[M[3]]=I.size,E[M[4]]=I.style,E[M[5]]=I.weight,E[M[6]]=I.rotate;return e.reflow(i).modifies(M)}}},function(t,e,n){"use strict";function i(t,e,n,i){if(!e.sprite){var r=t.context,A=t.ratio;r.clearRect(0,0,(M<<5)/A,h/A);var o,a,c,s,u,g=0,d=0,f=0,I=n.length;for(--i;++i<I;){if(e=n[i],r.save(),r.font=e.style+" "+e.weight+" "+~~((e.size+1)/A)+"px "+e.font,o=r.measureText(e.text+"m").width*A,c=e.size<<1,e.rotate){var E=Math.sin(e.rotate*l),T=Math.cos(e.rotate*l),N=o*T,y=o*E,p=c*T,C=c*E;o=Math.max(Math.abs(N+C),Math.abs(N-C))+31>>5<<5,c=~~Math.max(Math.abs(y+p),Math.abs(y-p))}else o=o+31>>5<<5;if(c>f&&(f=c),g+o>=M<<5&&(g=0,d+=f,f=0),d+c>=h)break;r.translate((g+(o>>1))/A,(d+(c>>1))/A),e.rotate&&r.rotate(e.rotate*l),r.fillText(e.text,0,0),e.padding&&(r.lineWidth=2*e.padding,r.strokeText(e.text,0,0)),r.restore(),e.width=o,e.height=c,e.xoff=g,e.yoff=d,e.x1=o>>1,e.y1=c>>1,e.x0=-e.x1,e.y0=-e.y1,e.hasText=!0,g+=o}for(var D=r.getImageData(0,0,(M<<5)/A,h/A).data,x=[];--i>=0;)if(e=n[i],e.hasText){for(o=e.width,a=o>>5,c=e.y1-e.y0,s=0;s<c*a;s++)x[s]=0;if(null==(g=e.xoff))return;d=e.yoff;var B=0,w=-1;for(u=0;u<c;u++){for(s=0;s<o;s++){var m=a*u+(s>>5),Q=D[(d+u)*(M<<5)+(g+s)<<2]?1<<31-s%32:0;x[m]|=Q,B|=Q}B?w=u:(e.y0++,c--,u--,d++)}e.y1=e.y0+w,e.sprite=x.slice(0,(e.y1-e.y0)*a)}}}function r(t,e,n){n>>=5;for(var i,r=t.sprite,A=t.width>>5,o=t.x-(A<<4),a=127&o,c=32-a,s=t.y1-t.y0,u=(t.y+t.y0)*n+(o>>5),g=0;g<s;g++){i=0;for(var l=0;l<=A;l++)if((i<<c|(l<A?(i=r[g*A+l])>>>a:0))&e[u+l])return!0;u+=n}return!1}function A(t,e){var n=t[0],i=t[1];e.x+e.x0<n.x&&(n.x=e.x+e.x0),e.y+e.y0<n.y&&(n.y=e.y+e.y0),e.x+e.x1>i.x&&(i.x=e.x+e.x1),e.y+e.y1>i.y&&(i.y=e.y+e.y1)}function o(t,e){return t.x+t.x1>e[0].x&&t.x+t.x0<e[1].x&&t.y+t.y1>e[0].y&&t.y+t.y0<e[1].y}function a(t){var e=t[0]/t[1];return function(t){return[e*(t*=.1)*Math.cos(t),t*Math.sin(t)]}}function c(t){var e=4*t[0]/t[1],n=0,i=0;return function(t){var r=t<0?-1:1;switch(Math.sqrt(1+4*r*t)-r&3){case 0:n+=e;break;case 1:i+=4;break;case 2:n-=e;break;default:i-=4}return[n,i]}}function s(t){for(var e=[],n=-1;++n<t;)e[n]=0;return e}function u(t){return"function"==typeof t?t:function(){return t}}var g=n(180),l=Math.PI/180,M=64,h=2048;e.a=function(){function t(t){t.width=t.height=1;var e=Math.sqrt(t.getContext("2d").getImageData(0,0,1,1).data.length>>2);t.width=(M<<5)/e,t.height=h/e;var n=t.getContext("2d");return n.fillStyle=n.strokeStyle="red",n.textAlign="center",{context:n,ratio:e}}function e(t,e,n){for(var i,A,a,c=e.x,s=e.y,u=Math.sqrt(N[0]*N[0]+N[1]*N[1]),g=y(N),l=C()<.5?1:-1,M=-l;(i=g(M+=l))&&(A=~~i[0],a=~~i[1],!(Math.min(Math.abs(A),Math.abs(a))>=u));)if(e.x=c+A,e.y=s+a,!(e.x+e.x0<0||e.y+e.y0<0||e.x+e.x1>N[0]||e.y+e.y1>N[1])&&(!n||!r(e,t,N[0]))&&(!n||o(e,n))){for(var h,d=e.sprite,f=e.width>>5,I=N[0]>>5,E=e.x-(f<<4),T=127&E,p=32-T,D=e.y1-e.y0,x=(e.y+e.y0)*I+(E>>5),B=0;B<D;B++){h=0;for(var w=0;w<=f;w++)t[x+w]|=h<<p|(w<f?(h=d[B*f+w])>>>T:0);x+=I}return e.sprite=null,!0}return!1}var n,c,l,f,I,E,T,N=[256,256],y=a,p=[],C=Math.random,D={};return D.layout=function(){for(var r=t(Object(g.a)()),o=s((N[0]>>5)*N[1]),a=null,u=p.length,M=-1,h=[],d=p.map(function(t){return{text:n(t),font:c(t),style:f(t),weight:I(t),rotate:E(t),size:~~l(t),padding:T(t),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:!1,sprite:null,datum:t}}).sort(function(t,e){return e.size-t.size});++M<u;){var y=d[M];y.x=N[0]*(C()+.5)>>1,y.y=N[1]*(C()+.5)>>1,i(r,y,d,M),y.hasText&&e(o,y,a)&&(h.push(y),a?A(a,y):a=[{x:y.x+y.x0,y:y.y+y.y0},{x:y.x+y.x1,y:y.y+y.y1}],y.x-=N[0]>>1,y.y-=N[1]>>1)}return h},D.words=function(t){return arguments.length?(p=t,D):p},D.size=function(t){return arguments.length?(N=[+t[0],+t[1]],D):N},D.font=function(t){return arguments.length?(c=u(t),D):c},D.fontStyle=function(t){return arguments.length?(f=u(t),D):f},D.fontWeight=function(t){return arguments.length?(I=u(t),D):I},D.rotate=function(t){return arguments.length?(E=u(t),D):E},D.text=function(t){return arguments.length?(n=u(t),D):n},D.spiral=function(t){return arguments.length?(y=d[t]||t,D):y},D.fontSize=function(t){return arguments.length?(l=u(t),D):l},D.padding=function(t){return arguments.length?(T=u(t),D):T},D.random=function(t){return arguments.length?(C=t,D):C},D};var d={archimedean:a,rectangular:c}},function(t,e){},function(t,e){},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1130);n.d(e,"crossfilter",function(){return i.a});var r=n(1134);n.d(e,"resolvefilter",function(){return r.a})},function(t,e,n){"use strict";function i(t){a.g.call(this,Object(r.a)(),t),this._indices=null,this._dims=null}e.a=i;var r=n(1131),A=n(1132),o=n(1133),a=n(1),c=n(0);i.Definition={type:"CrossFilter",metadata:{},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"query",type:"array",array:!0,required:!0,content:{type:"number",array:!0,length:2}}]};var s=Object(c.inherits)(i,a.g);s.transform=function(t,e){if(this._dims){return t.modified("fields")||t.fields.some(function(t){return e.modified(t.fields)})?this.reinit(t,e):this.eval(t,e)}return this.init(t,e)},s.init=function(t,e){for(var n,i,r=t.fields,a=t.query,c=this._indices={},s=this._dims=[],u=a.length,g=0;g<u;++g)n=r[g].fname,i=c[n]||(c[n]=Object(o.a)()),s.push(Object(A.a)(i,g,a[g]));return this.eval(t,e)},s.reinit=function(t,e){var n,i,r,a,c,s,u,g,l,M=e.materialize().fork(),h=t.fields,d=t.query,f=this._indices,I=this._dims,E=this.value,T=E.curr(),N=E.prev(),y=E.all(),p=M.rem=M.add,C=M.mod,D=d.length,x={};if(N.set(T),e.rem.length&&(c=this.remove(t,e,M)),e.add.length&&E.add(e.add),e.mod.length)for(s={},a=e.mod,u=0,g=a.length;u<g;++u)s[a[u]._index]=1;for(u=0;u<D;++u)l=h[u],(!I[u]||t.modified("fields",u)||e.modified(l.fields))&&(r=l.fname,(n=x[r])||(f[r]=i=Object(o.a)(),x[r]=n=i.insert(l,e.source,0)),I[u]=Object(A.a)(i,u,d[u]).onAdd(n,T));for(u=0,g=E.data().length;u<g;++u)c[u]||(N[u]!==T[u]?p.push(u):s[u]&&T[u]!==y&&C.push(u));return E.mask=(1<<D)-1,M},s.eval=function(t,e){var n=e.materialize().fork(),i=this._dims.length,r=0;return e.rem.length&&(this.remove(t,e,n),r|=(1<<i)-1),t.modified("query")&&!t.modified("fields")&&(r|=this.update(t,e,n)),e.add.length&&(this.insert(t,e,n),r|=(1<<i)-1),e.mod.length&&(this.modify(e,n),r|=(1<<i)-1),this.value.mask=r,n},s.insert=function(t,e,n){var i,r,A,o=e.add,a=this.value,c=this._dims,s=this._indices,u=t.fields,g={},l=n.add,M=a.size(),h=M+o.length,d=c.length;a.resize(h,d),a.add(o);var f=a.curr(),I=a.prev(),E=a.all();for(i=0;i<d;++i)r=u[i].fname,A=g[r]||(g[r]=s[r].insert(u[i],o,M)),c[i].onAdd(A,f);for(;M<h;++M)I[M]=E,f[M]!==E&&l.push(M)},s.modify=function(t,e){var n,i,r,A=e.mod,o=this.value,a=o.curr(),c=o.all(),s=t.mod;for(n=0,i=s.length;n<i;++n)r=s[n]._index,a[r]!==c&&A.push(r)},s.remove=function(t,e,n){var i,r,A,o,a=this._indices,c=this.value,s=c.curr(),u=c.prev(),g=c.all(),l={},M=n.rem,h=e.rem;for(i=0,r=h.length;i<r;++i)A=h[i]._index,l[A]=1,u[A]=o=s[A],s[A]=g,o!==g&&M.push(A);for(A in a)a[A].remove(r,l);return this.reindex(e,r,l),l},s.reindex=function(t,e,n){var i=this._indices,r=this.value;t.runAfter(function(){var t=r.remove(e,n);for(var A in i)i[A].reindex(t)})},s.update=function(t,e,n){var i,r,A=this._dims,o=t.query,a=e.stamp,c=A.length,s=0;for(n.filters=0,r=0;r<c;++r)t.modified("query",r)&&(i=r,++s);if(1===s)s=A[i].one,this.incrementOne(A[i],o[i],n.add,n.rem);else for(r=0,s=0;r<c;++r)t.modified("query",r)&&(s|=A[r].one,this.incrementAll(A[r],o[r],a,n.add),n.rem=n.add);return s},s.incrementAll=function(t,e,n,i){var r,A,o,a=this.value,c=a.seen(),s=a.curr(),u=a.prev(),g=t.index(),l=t.bisect(t.range),M=t.bisect(e),h=M[0],d=M[1],f=l[0],I=l[1],E=t.one;if(h<f)for(r=h,A=Math.min(f,d);r<A;++r)o=g[r],c[o]!==n&&(u[o]=s[o],c[o]=n,i.push(o)),s[o]^=E;else if(h>f)for(r=f,A=Math.min(h,I);r<A;++r)o=g[r],c[o]!==n&&(u[o]=s[o],c[o]=n,i.push(o)),s[o]^=E;if(d>I)for(r=Math.max(h,I),A=d;r<A;++r)o=g[r],c[o]!==n&&(u[o]=s[o],c[o]=n,i.push(o)),s[o]^=E;else if(d<I)for(r=Math.max(f,d),A=I;r<A;++r)o=g[r],c[o]!==n&&(u[o]=s[o],c[o]=n,i.push(o)),s[o]^=E;t.range=e.slice()},s.incrementOne=function(t,e,n,i){var r,A,o,a=this.value,c=a.curr(),s=t.index(),u=t.bisect(t.range),g=t.bisect(e),l=g[0],M=g[1],h=u[0],d=u[1],f=t.one;if(l<h)for(r=l,A=Math.min(h,M);r<A;++r)o=s[r],c[o]^=f,n.push(o);else if(l>h)for(r=h,A=Math.min(l,d);r<A;++r)o=s[r],c[o]^=f,i.push(o);if(M>d)for(r=Math.max(l,d),A=M;r<A;++r)o=s[r],c[o]^=f,n.push(o);else if(M<d)for(r=Math.max(h,M),A=d;r<A;++r)o=s[r],c[o]^=f,i.push(o);t.range=e.slice()}},function(t,e,n){"use strict";function i(){var t=8,e=[],n=Object(o.b)(0),i=A(0,t),a=A(0,t);return{data:function(){return e},seen:function(){return n=r(n,e.length)},add:function(t){for(var n,i=0,r=e.length,A=t.length;i<A;++i)n=t[i],n._index=r++,e.push(n)},remove:function(t,n){var r,A,o,c=e.length,s=Array(c-t),u=e;for(A=0;!n[A]&&A<c;++A)s[A]=e[A],u[A]=A;for(o=A;A<c;++A)r=e[A],n[A]?u[A]=-1:(u[A]=o,i[o]=i[A],a[o]=a[A],s[o]=r,r._index=o++),i[A]=0;return e=s,u},size:function(){return e.length},curr:function(){return i},prev:function(){return a},reset:function(t){a[t]=i[t]},all:function(){return t<257?255:t<65537?65535:4294967295},set:function(t,e){i[t]|=e},clear:function(t,e){i[t]&=~e},resize:function(e,n){(e>i.length||n>t)&&(t=Math.max(n,t),i=A(e,t,i),a=A(e,t))}}}function r(t,e,n){return t.length>=e?t:(n=n||new t.constructor(e),n.set(t),n)}function A(t,e,n){var i=(e<257?o.c:e<65537?o.a:o.b)(t);return n&&i.set(n),i}e.a=i;var o=n(486)},function(t,e,n){"use strict";e.a=function(t,e,n){var i=1<<e;return{one:i,zero:~i,range:n.slice(),bisect:t.bisect,index:t.index,size:t.size,onAdd:function(t,e){var n,r=this,A=r.bisect(r.range,t.value),o=t.index,a=A[0],c=A[1],s=o.length;for(n=0;n<a;++n)e[o[n]]|=i;for(n=c;n<s;++n)e[o[n]]|=i;return r}}}},function(t,e,n){"use strict";function i(){function t(t,e,n){if(!e.length)return[];var i,a,g,l=u,M=e.length,h=Array(M),d=Object(o.b)(M);for(g=0;g<M;++g)h[g]=t(e[g]),d[g]=g;if(h=r(h,d),l)i=s,a=c,s=Array(l+M),c=Object(o.b)(l+M),A(n,i,a,l,h,d,M,s,c);else{if(n>0)for(g=0;g<M;++g)d[g]+=n;s=h,c=d}return u=l+M,{index:d,value:h}}function e(t,e){var n,i,r,A=u;for(i=0;!e[c[i]]&&i<A;++i);for(r=i;i<A;++i)e[n=c[i]]||(c[r]=n,s[r]=s[i],++r);u=A-t}function n(t){for(var e=0,n=u;e<n;++e)c[e]=t[c[e]]}function i(t,e){var n;return e?n=e.length:(e=s,n=u),[Object(a.bisectLeft)(e,t[0],0,n),Object(a.bisectRight)(e,t[1],0,n)]}var c=Object(o.b)(0),s=[],u=0;return{insert:t,remove:e,bisect:i,reindex:n,index:function(){return c},size:function(){return u}}}function r(t,e){return t.sort.call(e,function(e,n){var i=t[e],r=t[n];return i<r?-1:i>r?1:0}),Object(a.permute)(t,e)}function A(t,e,n,i,r,A,o,a,c){var s,u=0,g=0;for(s=0;u<i&&g<o;++s)e[u]<r[g]?(a[s]=e[u],c[s]=n[u++]):(a[s]=r[g],c[s]=A[g++]+t);for(;u<i;++u,++s)a[s]=e[u],c[s]=n[u];for(;g<o;++g,++s)a[s]=r[g],c[s]=A[g]+t}e.a=i;var o=n(486),a=n(10)},function(t,e,n){"use strict";function i(t){r.g.call(this,null,t)}e.a=i;var r=n(1),A=n(0);i.Definition={type:"ResolveFilter",metadata:{},params:[{name:"ignore",type:"number",required:!0,description:"A bit mask indicating which filters to ignore."},{name:"filter",type:"object",required:!0,description:"Per-tuple filter bitmaps from a CrossFilter transform."}]},Object(A.inherits)(i,r.g).transform=function(t,e){var n=~(t.ignore||0),i=t.filter,r=i.mask;if(0==(r&n))return e.StopPropagation;var A=e.fork(e.ALL),o=i.data(),a=i.curr(),c=i.prev(),s=function(t){return a[t]&n?null:o[t]};return A.filter(A.MOD,s),r&r-1?(A.filter(A.ADD,function(t){var e=a[t]&n;return!e&&e^c[t]&n?o[t]:null}),A.filter(A.REM,function(t){var e=a[t]&n;return!e||e^e^c[t]&n?null:o[t]})):(A.filter(A.ADD,s),A.filter(A.REM,function(t){return(a[t]&n)===r?o[t]:null})),A.filter(A.SOURCE,function(t){return s(t._index)})}},function(t,e){t.exports={_args:[[{raw:"vega@^3.0.0-rc1",scope:null,escapedName:"vega",name:"vega",rawSpec:"^3.0.0-rc1",spec:">=3.0.0-rc1 <4.0.0",type:"range"},"/home/ubuntu/candela"]],_from:"vega@>=3.0.0-rc1 <4.0.0",_id:"vega@3.0.10",_inCache:!0,_location:"/vega",_nodeVersion:"9.3.0",_npmOperationalInternal:{host:"s3://npm-registry-packages",tmp:"tmp/vega-3.0.10.tgz_1516854221774_0.9229192864149809"},_npmUser:{name:"jheer",email:"jeffrey.heer@gmail.com"},_npmVersion:"5.6.0",_phantomChildren:{decamelize:"1.2.0","get-caller-file":"1.0.2","lodash.assign":"4.2.0","os-locale":"1.4.0","read-pkg-up":"1.0.1","require-directory":"2.1.1","require-main-filename":"1.0.1","set-blocking":"2.0.0","string-width":"1.0.2","strip-ansi":"3.0.1","which-module":"1.0.0","wrap-ansi":"2.1.0",y18n:"3.2.1"},_requested:{raw:"vega@^3.0.0-rc1",scope:null,escapedName:"vega",name:"vega",rawSpec:"^3.0.0-rc1",spec:">=3.0.0-rc1 <4.0.0",type:"range"},_requiredBy:["/","/vega-tooltip"],_resolved:"https://registry.npmjs.org/vega/-/vega-3.0.10.tgz",_shasum:"35af3a6224e1c7d67d49ffce5c5282461370f36a",_shrinkwrap:null,_spec:"vega@^3.0.0-rc1",_where:"/home/ubuntu/candela",author:{name:"UW Interactive Data Lab",url:"http://idl.cs.washington.edu"},bin:{vg2png:"./bin/vg2png",vg2svg:"./bin/vg2svg"},browser:{buffer:!1,canvas:!1,"canvas-prebuilt":!1,fs:!1},bugs:{url:"https://github.com/vega/vega/issues"},contributors:[{name:"Jeffrey Heer",url:"http://idl.cs.washington.edu"},{name:"Arvind Satyanarayan",url:"http://arvindsatya.com"},{name:"Ryan Russell",url:"https://github.com/RussellSprouts"},{name:"Emily Gu",url:"https://github.com/emilygu"},{name:"Dominik Moritz",url:"https://www.domoritz.de"}],dependencies:{canvas:"^1.6","canvas-prebuilt":"^1.6","vega-crossfilter":"2","vega-dataflow":"3","vega-encode":"2","vega-expression":"2","vega-force":"2","vega-geo":"^2.1","vega-hierarchy":"^2.1","vega-loader":"2","vega-parser":"^2.4","vega-projection":"1","vega-runtime":"2","vega-scale":"^2.1","vega-scenegraph":"^2.2","vega-statistics":"^1.2","vega-transforms":"^1.1","vega-util":"^1.6","vega-view":"^2.1","vega-view-transforms":"^1.1","vega-voronoi":"2","vega-wordcloud":"^2.1",yargs:"4"},description:"The Vega visualization grammar.",devDependencies:{eslint:"4",rollup:"0.43","rollup-plugin-json":"2","rollup-plugin-node-resolve":"3",tape:"4",tv4:"1","uglify-js":"3","vega-datasets":"1"},directories:{},dist:{integrity:"sha512-Ol9tq4sn2yo3DkOt8pjgqCyxJcOsdvO5ZKEDSzCPf3iyQXSAXbbARn+TcOguelPBgnyYBOtyfrZFo5TJNDzRjg==",shasum:"35af3a6224e1c7d67d49ffce5c5282461370f36a",tarball:"https://registry.npmjs.org/vega/-/vega-3.0.10.tgz"},gitHead:"d4270499b112a072d9869bbdebddbbb10ac9e70d",homepage:"https://github.com/vega/vega#readme","jsnext:main":"index",keywords:["vega","visualization","interaction","dataflow","grammar","data","d3"],license:"BSD-3-Clause",main:"build/vega.js",maintainers:[{name:"jheer",email:"jeffrey.heer@gmail.com"},{name:"arvindsatya1",email:"arvindsatya1@gmail.com"}],module:"index",name:"vega",optionalDependencies:{canvas:"^1.6","canvas-prebuilt":"^1.6"},readme:"ERROR: No README data found!",repository:{type:"git",url:"git+https://github.com/vega/vega.git"},scripts:{build:"npm run rollup && bin/rollup -e",data:"rsync -r node_modules/vega-datasets/data/* docs/data",postbuild:"uglifyjs build/vega.js -c -m -o build/vega.min.js && uglifyjs build/vega-core.js -c -m -o build/vega-core.min.js",postpublish:"git push && git push --tags && zip -j build/vega.zip -- LICENSE README.md build/vega-schema.json build/vega.js build/vega.min.js build/vega-core.js build/vega-core.min.js && bin/deploy-schema.sh",prebuild:"rm -rf build && mkdir build",prepublish:"npm run test && npm run build",pretest:"npm run prebuild && npm run rollup",rollup:"bin/rollup && bin/schema > build/vega-schema.json",test:"TZ=America/Los_Angeles tape 'test/**/*-test.js' && eslint index.js src test"},version:"3.0.10"}},function(t,e,n){"use strict";var i=0;e.a=function(t,e){var n,r=[];return n={id:"gradient_"+i++,x1:t?t[0]:0,y1:t?t[1]:0,x2:e?e[0]:1,y2:e?e[1]:0,stops:r,stop:function(t,e){return r.push({offset:t,color:e}),n}}}},function(t,e,n){"use strict";function i(t){arguments.length?this.root=Object(a.a)(t):(this.root=r({marktype:"group",name:"root",role:"frame"}),this.root.items=[new o.a(this.root)])}function r(t,e){return{bounds:new A.a,clip:!!t.clip,group:e,interactive:!1!==t.interactive,items:[],marktype:t.marktype,name:t.name||void 0,role:t.role||void 0,zindex:t.zindex||0}}e.a=i;var A=n(81),o=n(487),a=n(490),c=i.prototype;c.toJSON=function(t){return Object(a.b)(this.root,t||0)},c.mark=function(t,e,n){e=e||this.root.items[0];var i=r(t,e);return e.items[n]=i,i.zindex&&(i.group.zdirty=!0),i}},function(t,e,n){"use strict";var i=n(62),r=n(281);e.a=Object(r.a)("arc",i.a)},function(t,e,n){"use strict";function i(t,e,n,i,r,o,c,s,u){var g=a.call(arguments);if(A[g])return A[g];var l=c*(Math.PI/180),M=Math.sin(l),h=Math.cos(l);n=Math.abs(n),i=Math.abs(i);var d=h*(s-t)*.5+M*(u-e)*.5,f=h*(u-e)*.5-M*(s-t)*.5,I=d*d/(n*n)+f*f/(i*i);I>1&&(I=Math.sqrt(I),n*=I,i*=I);var E=h/n,T=M/n,N=-M/i,y=h/i,p=E*s+T*u,C=N*s+y*u,D=E*t+T*e,x=N*t+y*e,B=(D-p)*(D-p)+(x-C)*(x-C),w=1/B-.25;w<0&&(w=0);var m=Math.sqrt(w);o==r&&(m=-m);var Q=.5*(p+D)-m*(x-C),v=.5*(C+x)+m*(D-p),j=Math.atan2(C-v,p-Q),L=Math.atan2(x-v,D-Q),S=L-j;S<0&&1===o?S+=2*Math.PI:S>0&&0===o&&(S-=2*Math.PI);for(var Y=Math.ceil(Math.abs(S/(.5*Math.PI+.001))),b=[],O=0;O<Y;++O){var z=j+O*S/Y,U=j+(O+1)*S/Y;b[O]=[Q,v,z,U,n,i,M,h]}return A[g]=b}function r(t){var e=a.call(t);if(o[e])return o[e];var n=t[0],i=t[1],r=t[2],A=t[3],c=t[4],s=t[5],u=t[6],g=t[7],l=g*c,M=-u*s,h=u*c,d=g*s,f=Math.cos(r),I=Math.sin(r),E=Math.cos(A),T=Math.sin(A),N=.5*(A-r),y=Math.sin(.5*N),p=8/3*y*y/Math.sin(N),C=n+f-p*I,D=i+I+p*f,x=n+E,B=i+T,w=x+p*T,m=B-p*E;return o[e]=[l*C+M*D,h*C+d*D,l*w+M*m,h*w+d*m,l*x+M*B,h*x+d*B]}e.b=i,e.a=r;var A={},o={},a=[].join},function(t,e,n){"use strict";e.a=function(t,e,n){for(var i=n.width(),r=n.height(),A=n.x1+e.x1*i,o=n.y1+e.y1*r,a=n.x1+e.x2*i,c=n.y1+e.y2*r,s=e.stops,u=0,g=s.length,l=t.createLinearGradient(A,o,a,c);u<g;++u)l.addColorStop(s[u].offset,s[u].color);return l}},function(t,e,n){"use strict";var i=n(62),r=n(284);e.a=Object(r.a)("area",i.b)},function(t,e,n){"use strict";function i(t,e){t("transform",Object(f.a)(e))}function r(t,e){var n=e.stroke?I:0;t("class","background"),t("d",Object(u.d)(null,e,n,n))}function A(t,e,n){t("clip-path",e.clip?Object(d.a)(n,e,e):null)}function o(t,e){if(!e.clip&&e.items)for(var n=e.items,i=0,r=n.length;i<r;++i)t.union(n[i].bounds);return(e.clip||e.width||e.height)&&Object(g.a)(t.add(0,0).add(e.width||0,e.height||0),e),t.translate(e.x||0,e.y||0)}function a(t,e,n){var i=this;Object(l.b)(e,function(e){var r,A,o=e.x||0,a=e.y||0,c=e.width||0,s=e.height||0;t.save(),t.translate(o,a),(e.stroke||e.fill)&&(A=null==e.opacity?1:e.opacity)>0&&(t.beginPath(),r=e.stroke?I:0,Object(u.d)(t,e,r,r),e.fill&&Object(h.a)(t,e,A)&&t.fill(),e.stroke&&Object(M.a)(t,e,A)&&t.stroke()),e.clip&&(t.beginPath(),t.rect(0,0,c,s),t.clip()),n&&n.translate(-o,-a),Object(l.b)(e,function(e){i.draw(t,e,n)}),n&&n.translate(o,a),t.restore()})}function c(t,e,n,i,r,A){if(e.bounds&&!e.bounds.contains(r,A)||!e.items)return null;var o=this;return Object(l.a)(e,function(a){var c,u,g,M;if(!(M=a.bounds)||M.contains(r,A))return u=a.x||0,g=a.y||0,t.save(),t.translate(u,g),u=r-u,g=A-g,c=Object(l.a)(a,function(t){return s(t,u,g)?o.pick(t,n,i,u,g):null}),t.restore(),c||(c=!1!==e.interactive&&(a.fill||a.stroke)&&u>=0&&u<=a.width&&g>=0&&g<=a.height,c?a:null)})}function s(t,e,n){return(!1!==t.interactive||"group"===t.marktype)&&t.bounds&&t.bounds.contains(e,n)}var u=n(62),g=n(83),l=n(55),M=n(184),h=n(282),d=n(186),f=n(185),I=.5;e.a={type:"group",tag:"g",nested:!1,attr:i,bound:o,draw:a,pick:c,background:r,foreground:A}},function(t,e,n){"use strict";function i(t,e){var n=t.image;return n&&n.url===t.url||(n={loaded:!1,width:0,height:0},e.loadImage(t.url).then(function(e){t.image=e,t.image.url=t.url})),n}function r(t,e){return"center"===t?e/2:"right"===t?e:0}function A(t,e){return"middle"===t?e/2:"bottom"===t?e:0}function o(t,e,n){var o=i(e,n),a=e.x||0,c=e.y||0,s=(null!=e.width?e.width:o.width)||0,u=(null!=e.height?e.height:o.height)||0,l=!1===e.aspect?"none":"xMidYMid";a-=r(e.align,s),c-=A(e.baseline,u),t("href",o.src||"","http://www.w3.org/1999/xlink","xlink:href"),t("transform",Object(g.a)(a,c)),t("width",s),t("height",u),t("preserveAspectRatio",l)}function a(t,e){var n=e.image,i=e.x||0,o=e.y||0,a=(null!=e.width?e.width:n&&n.width)||0,c=(null!=e.height?e.height:n&&n.height)||0;return i-=r(e.align,a),o-=A(e.baseline,c),t.set(i,o,i+a,o+c)}function c(t,e,n){var o=this;Object(s.b)(e,function(e){if(!n||n.intersects(e.bounds)){var a,c,s,u,g=i(e,o),l=e.x||0,M=e.y||0,h=(null!=e.width?e.width:g.width)||0,d=(null!=e.height?e.height:g.height)||0;l-=r(e.align,h),M-=A(e.baseline,d),!1!==e.aspect&&(c=g.width/g.height,s=e.width/e.height,c===c&&s===s&&c!==s&&(s<c?(u=h/c,M+=(d-u)/2,d=u):(u=d*c,l+=(h-u)/2,h=u))),g.loaded&&(t.globalAlpha=null!=(a=e.opacity)?a:1,t.drawImage(g,l,M,h,d))}})}var s=n(55),u=n(84),g=n(283);e.a={type:"image",tag:"image",nested:!1,attr:o,bound:a,draw:c,pick:Object(u.b)(),get:i,xOffset:r,yOffset:A}},function(t,e,n){"use strict";var i=n(62),r=n(284);e.a=Object(r.a)("line",i.c)},function(t,e,n){"use strict";function i(t,e){t("transform",Object(l.a)(e)),t("d",e.path)}function r(t,e){var n=e.path;if(null==n)return!0;var i=e.pathCache;i&&i.path===n||((e.pathCache=i=Object(c.a)(n)).path=n),Object(s.a)(t,i,e.x,e.y)}function A(t,e){return r(Object(a.a)(t),e)?t.set(0,0,0,0):Object(o.a)(t,e)}var o=n(83),a=n(182),c=n(181),s=n(280),u=n(183),g=n(84),l=n(185);e.a={type:"path",tag:"path",nested:!1,attr:i,bound:A,draw:Object(u.a)(r),pick:Object(g.c)(r)}},function(t,e,n){"use strict";function i(t,e){t("d",Object(a.d)(null,e))}function r(t,e){var n,i;return Object(o.a)(t.set(n=e.x||0,i=e.y||0,n+e.width||0,i+e.height||0),e)}function A(t,e){t.beginPath(),Object(a.d)(t,e)}var o=n(83),a=n(62),c=n(183),s=n(84);e.a={type:"rect",tag:"path",nested:!1,attr:i,bound:r,draw:Object(c.a)(A),pick:Object(s.c)(A)}},function(t,e,n){"use strict";function i(t,e){t("transform",Object(l.a)(e)),t("x2",null!=e.x2?e.x2-(e.x||0):0),t("y2",null!=e.y2?e.y2-(e.y||0):0)}function r(t,e){var n,i;return Object(c.a)(t.set(n=e.x||0,i=e.y||0,null!=e.x2?e.x2:n,null!=e.y2?e.y2:i),e)}function A(t,e,n){var i,r,A,o;return!(!e.stroke||!Object(g.a)(t,e,n))&&(i=e.x||0,r=e.y||0,A=null!=e.x2?e.x2:i,o=null!=e.y2?e.y2:r,t.beginPath(),t.moveTo(i,r),t.lineTo(A,o),!0)}function o(t,e,n){Object(s.b)(e,function(e){if(!n||n.intersects(e.bounds)){var i=null==e.opacity?1:e.opacity;i&&A(t,e,i)&&t.stroke()}})}function a(t,e,n,i){return!!t.isPointInStroke&&(A(t,e,1)&&t.isPointInStroke(n,i))}var c=n(83),s=n(55),u=n(84),g=n(184),l=n(185);e.a={type:"rule",tag:"line",nested:!1,attr:i,bound:r,draw:o,pick:Object(u.b)(a)}},function(t,e,n){"use strict";var i=n(62),r=n(281);e.a=Object(r.a)("shape",i.e)},function(t,e,n){"use strict";var i=n(62),r=n(281);e.a=Object(r.a)("symbol",i.f)},function(t,e,n){"use strict";function i(t,e){var n,i=e.dx||0,r=(e.dy||0)+Object(c.b)(e),A=e.x||0,o=e.y||0,a=e.angle||0,s=e.radius||0;s&&(n=(e.theta||0)-Math.PI/2,A+=s*Math.cos(n),o+=s*Math.sin(n)),t("text-anchor",h[e.align]||"start"),a?(n=Object(M.a)(A,o)+" rotate("+a+")",(i||r)&&(n+=" "+Object(M.a)(i,r))):n=Object(M.a)(A+i,o+r),t("transform",n)}function r(t,e,n){var i,r,A=c.c.height(e),o=e.align,a=e.radius||0,s=e.x||0,u=e.y||0,g=e.dx||0,l=(e.dy||0)+Object(c.b)(e)-Math.round(.8*A);return a&&(r=(e.theta||0)-Math.PI/2,s+=a*Math.cos(r),u+=a*Math.sin(r)),i=c.c.width(e),"center"===o?g-=i/2:"right"===o&&(g-=i),t.set(g+=s,l+=u,g+i,l+A),e.angle&&!n&&t.rotate(e.angle*Math.PI/180,s,u),t.expand(n||!i?0:1)}function A(t,e,n){Object(s.b)(e,function(e){var i,r,A,o,a,s;n&&!n.intersects(e.bounds)||(s=Object(c.d)(e))&&0!==(i=null==e.opacity?1:e.opacity)&&(t.font=Object(c.a)(e),t.textAlign=e.align||"left",r=e.x||0,A=e.y||0,(o=e.radius)&&(a=(e.theta||0)-Math.PI/2,r+=o*Math.cos(a),A+=o*Math.sin(a)),e.angle&&(t.save(),t.translate(r,A),t.rotate(e.angle*Math.PI/180),r=A=0),r+=e.dx||0,A+=(e.dy||0)+Object(c.b)(e),e.fill&&Object(u.a)(t,e,i)&&t.fillText(s,r,A),e.stroke&&Object(l.a)(t,e,i)&&t.strokeText(s,r,A),e.angle&&t.restore())})}function o(t,e,n,i,A,o){if(e.fontSize<=0)return!1;if(!e.angle)return!0;var a=r(d,e,!0),c=-e.angle*Math.PI/180,s=Math.cos(c),u=Math.sin(c),g=e.x,l=e.y,M=s*A-u*o+(g-g*s+l*u),h=u*A+s*o+(l-g*u-l*s);return a.contains(M,h)}var a=n(81),c=n(187),s=n(55),u=n(282),g=n(84),l=n(184),M=n(283),h={left:"start",center:"middle",right:"end"},d=new a.a;e.a={type:"text",tag:"text",nested:!1,attr:i,bound:r,draw:A,pick:Object(g.b)(o)}},function(t,e,n){"use strict";var i=n(62),r=n(284);e.a=Object(r.a)("trail",i.g)},function(t,e,n){"use strict";e.a=function(t,e){var n=e.group;t.save(),t.beginPath(),t.rect(0,0,n.width||0,n.height||0),t.clip()}},function(t,e,n){"use strict";var i="undefined"!=typeof window?window.devicePixelRatio||1:1;e.a=function(t,e,n,r,A){var o="undefined"!=typeof HTMLElement&&t instanceof HTMLElement&&null!=t.parentNode,a=t.getContext("2d"),c=o?i:A;return t.width=e*c,t.height=n*c,o&&1!==c&&(t.style.width=e+"px",t.style.height=n+"px"),a.pixelRatio=c,a.setTransform(c,0,0,c,c*r[0],c*r[1]),t}},function(t,e,n){"use strict";function i(t,e){return t=String(t||"").toLowerCase(),arguments.length>1?(u[t]=e,this):u[t]}n.d(e,"a",function(){return s}),e.b=i;var r=n(498),A=n(500),o=n(501),a=n(502),c=n(505),s={Canvas:"canvas",PNG:"png",SVG:"svg",None:"none"},u={};u.canvas=u.png={renderer:A.a,headless:A.a,handler:r.a},u.svg={renderer:a.a,headless:c.a,handler:o.a},u.none={}},function(t,e,n){"use strict";function i(t,e,n){return t===e||("path"===n?r(t,e):t instanceof Date&&e instanceof Date?+t==+e:Object(a.isNumber)(t)&&Object(a.isNumber)(e)?Math.abs(t-e)<=c:t&&e&&(Object(a.isObject)(t)||Object(a.isObject)(e))?null!=t&&null!=e&&A(t,e):t==e)}function r(t,e){return i(Object(o.a)(t),Object(o.a)(e))}function A(t,e){var n,r,A=Object.keys(t),o=Object.keys(e);if(A.length!==o.length)return!1;for(A.sort(),o.sort(),r=A.length-1;r>=0;r--)if(A[r]!=o[r])return!1;for(r=A.length-1;r>=0;r--)if(n=A[r],!i(t[n],e[n],n))return!1;return typeof t==typeof e}e.b=i,e.a=r;var o=n(181),a=n(0),c=1e-9},function(t,e,n){"use strict";var i=n(1157);n.d(e,"a",function(){return i.a})},function(t,e,n){"use strict";function i(t,e){var n=this;e=e||{},E.a.call(n),n.loader(e.loader||n._loader),n.logLevel(e.logLevel||0),n._el=null,n._renderType=e.renderer||N.i.Canvas,n._scenegraph=new N.o;var i=n._scenegraph.root;n._renderer=null,n._redraw=!0,n._handler=(new N.b).scene(i),n._eventListeners=[],n._preventDefault=!1;var r=Object(d.a)(n,t,e.functions);n._runtime=r,n._signals=r.signals,n._bind=(t.bindings||[]).map(function(t){return{state:null,param:Object(T.extend)({},t)}}),r.root&&r.root.set(i),i.source=r.data.root.input,n.pulse(r.data.root.input,n.changeset().insert(i.items)),n._background=r.background||null,n._eventConfig=Object(a.b)(r.eventConfig),n._width=n.width(),n._height=n.height(),n._viewWidth=Object(f.d)(n,n._width),n._viewHeight=Object(f.c)(n,n._height),n._origin=[0,0],n._resize=0,n._autosize=1,Object(f.a)(n),Object(A.a)(n)}function r(t,e){return t._signals.hasOwnProperty(e)?t._signals[e]:Object(T.error)("Unrecognized signal name: "+Object(T.stringValue)(e))}e.a=i;var A=n(1158),o=n(1159),a=n(1160),c=n(1162),s=n(1163),u=n(1164),g=n(1167),l=n(1168),M=n(1169),h=n(189),d=n(1170),f=n(1225),I=n(1226),E=n(1),T=n(0),N=n(54),y=Object(T.inherits)(i,E.a);y.run=function(t){if(E.a.prototype.run.call(this,t),this._redraw||this._resize)try{this.render()}catch(t){this.error(t)}return this},y.render=function(){return this._renderer&&(this._resize&&(this._resize=0,Object(h.c)(this)),this._renderer.render(this._scenegraph.root)),this._redraw=!1,this},y.dirty=function(t){this._redraw=!0,this._renderer&&this._renderer.dirty(t)},y.container=function(){return this._el},y.scenegraph=function(){return this._scenegraph},y.signal=function(t,e,n){var i=r(this,t);return 1===arguments.length?i.value:this.update(i,e,n)},y.background=function(t){return arguments.length?(this._background=t,this._resize=1,this):this._background},y.width=function(t){return arguments.length?this.signal("width",t):this.signal("width")},y.height=function(t){return arguments.length?this.signal("height",t):this.signal("height")},y.padding=function(t){return arguments.length?this.signal("padding",t):this.signal("padding")},y.autosize=function(t){return arguments.length?this.signal("autosize",t):this.signal("autosize")},y.renderer=function(t){return arguments.length?(Object(N.I)(t)||Object(T.error)("Unrecognized renderer type: "+t),t!==this._renderType&&(this._renderType=t,this._renderer&&(this._renderer=null,this.initialize(this._el))),this):this._renderType},y.loader=function(t){return arguments.length?(t!==this._loader&&(E.a.prototype.loader.call(this,t),this._renderer&&(this._renderer=null,this.initialize(this._el))),this):this._loader},y.resize=function(){return this._autosize=1,this},y._resizeView=f.b,y.addEventListener=function(t,e){return this._handler.on(t,e),this},y.removeEventListener=function(t,e){return this._handler.off(t,e),this},y.addSignalListener=function(t,e){var n=r(this,t),i=function(){e(t,n.value)};return i.handler=e,this.on(n,null,i),this},y.removeSignalListener=function(t,e){var n=r(this,t),i=n._targets||[],A=i.filter(function(t){var n=t._update;return n&&n.handler===e});return A.length&&i.remove(A[0]),this},y.preventDefault=function(t){return arguments.length?(this._preventDefault=t,this):this._preventDefault},y.tooltipHandler=function(t){var e=this._handler;return arguments.length?(e.handleTooltip=t||N.f.prototype.handleTooltip,this):e.handleTooltip},y.events=a.a,y.finalize=s.a,y.hover=c.a,y.data=o.b,y.change=o.a,y.insert=o.c,y.remove=o.d,y.initialize=u.a,y.toImageURL=g.a,y.toCanvas=l.a,y.toSVG=M.a,y.getState=I.a,y.setState=I.b},function(t,e,n){"use strict";function i(t){"undefined"!=typeof document&&document.body&&(document.body.style.cursor=t)}var r=n(0);e.a=function(t){var e=t._signals.cursor;e||(t._signals.cursor=e=t.add({user:"default",item:null})),t.on(t.events("view","mousemove"),e,function(t,n){var i=e.value,A=i?Object(r.isString)(i)?i:i.user:"default",o=n.item&&n.item.cursor||null;return i&&A===i.user&&o==i.item?i:{user:A,item:o}}),t.add(null,function(t){var e=t.cursor,n=this.value;return Object(r.isString)(e)||(n=e.item,e=e.user),i(e&&"default"!==e?e:n||e),n},{cursor:e})}},function(t,e,n){"use strict";function i(t,e){var n=t._runtime.data;return n.hasOwnProperty(e)||Object(s.error)("Unrecognized data set: "+e),n[e]}function r(t){return i(this,t).values.value}function A(t,e){Object(c.l)(e)||Object(s.error)("Second argument to changes must be a changeset.");var n=i(this,t);return n.modified=!0,this.pulse(n.input,e)}function o(t,e){return A.call(this,t,Object(c.h)().insert(e))}function a(t,e){return A.call(this,t,Object(c.h)().remove(e))}e.b=r,e.a=A,e.c=o,e.d=a;var c=n(1),s=n(0)},function(t,e,n){"use strict";function i(t){t=Object(c.extend)({},t);var e=t.defaults;return e&&(Object(c.isArray)(e.prevent)&&(e.prevent=Object(c.toSet)(e.prevent)),Object(c.isArray)(e.allow)&&(e.allow=Object(c.toSet)(e.allow))),t}function r(t,e){var n=t._eventConfig.defaults,i=n&&n.prevent,r=n&&n.allow;return!1!==i&&!0!==r&&(!0===i||!1===r||(i?i[e]:r?!r[e]:t.preventDefault()))}function A(t,e,n){var i,A=this,c=new a.b(n),g=function(n,i){t===s&&r(A,e)&&n.preventDefault();try{c.receive(Object(o.a)(A,n,i))}catch(t){A.error(t)}finally{A.run()}};if(t===s)return A.addEventListener(e,g),c;if(t===u?"undefined"!=typeof window&&(i=[window]):"undefined"!=typeof document&&(i=document.querySelectorAll(t)),!i)return A.warn("Can not resolve event source: "+t),c;for(var l=0,M=i.length;l<M;++l)i[l].addEventListener(e,g);return A._eventListeners.push({type:e,sources:i,handler:g}),c}e.b=i,e.a=A;var o=n(1161),a=n(1),c=n(0),s="view",u="window"},function(t,e,n){"use strict";function i(t,e,n){function i(t){var n,i=o;if(t)for(n=e;n;n=n.mark.group)if(n.mark.name===t){i=n;break}return i&&i.mark&&i.mark.interactive?i:{}}function r(t){if(!t)return n;Object(A.isString)(t)&&(t=i(t));for(var e=n.slice();t;)e[0]-=t.x||0,e[1]-=t.y||0,t=t.mark&&t.mark.group;return e}var o=e?"group"===e.mark.marktype?e:e.mark.group:null;return{view:Object(A.constant)(t),item:Object(A.constant)(e||{}),group:i,xy:r,x:function(t){return r(t)[0]},y:function(t){return r(t)[1]}}}var r=n(189),A=n(0),o=n(54);e.a=function(t,e,n){var A,a,c,s=t._renderer.scene();return s&&(c=Object(r.b)(t),a=e.changedTouches?e.changedTouches[0]:e,A=Object(o.H)(a,s),A[0]-=c[0],A[1]-=c[1]),e.dataflow=t,e.vega=i(t,n,A),e.item=n,e}},function(t,e,n){"use strict";function i(t){return t.item}function r(t){var e=t.item.mark.source;return e.source||e}function A(t){return function(e,n){return n.vega.view().changeset().encode(n.item,t)}}e.a=function(t,e){return t=[t||"hover"],e=[e||"update",t],this.on(this.events("view","mouseover",i),r,A(t)),this.on(this.events("view","mouseout",i),r,A(e)),this}},function(t,e,n){"use strict";e.a=function(){for(var t,e,n=this._eventListeners,i=n.length;--i>=0;)for(e=n[i],t=e.sources.length;--t>=0;)e.sources[t].removeEventListener(e.type,e.handler)}},function(t,e,n){"use strict";function i(t,e){if("string"==typeof e){if("undefined"==typeof document)return t.error("DOM document instance not found."),null;if(!(e=document.querySelector(e)))return t.error("Signal bind element not found: "+e),null}if(e)try{e.innerHTML=""}catch(n){e=null,t.error(n)}return e}var r=n(1165),A=n(506),o=n(507),a=n(1166),c=n(54);e.a=function(t,e){var n,s,u=this,g=u._renderType,l=Object(c.I)(g);return t=u._el=t?i(u,t):null,l||u.error("Unrecognized renderer type: "+g),n=l.handler||c.b,s=t?l.renderer:l.headless,u._renderer=s?Object(o.a)(u,u._renderer,t,s):null,u._handler=Object(a.a)(u,u._handler,t,n),u._redraw=!0,t&&(e=e?i(u,e):t.appendChild(Object(A.a)("div",{class:"vega-bindings"})),u._bind.forEach(function(t){t.param.element&&(t.element=i(u,t.param.element))}),u._bind.forEach(function(t){Object(r.a)(u,t.element||e,t)})),u}},function(t,e,n){"use strict";function i(t,e,n,i){var s=Object(u.a)("div",{class:M});s.appendChild(Object(u.a)("span",{class:h},n.name||n.signal)),e.appendChild(s);var g=r;switch(n.input){case"checkbox":g=A;break;case"select":g=o;break;case"radio":g=a;break;case"range":g=c}g(t,s,n,i)}function r(t,e,n,i){var r=Object(u.a)("input");for(var A in n)"signal"!==A&&"element"!==A&&r.setAttribute("input"===A?"type":A,n[A]);r.setAttribute("name",n.signal),r.value=i,e.appendChild(r),r.addEventListener("input",function(){t.update(r.value)}),t.elements=[r],t.set=function(t){r.value=t}}function A(t,e,n,i){var r={type:"checkbox",name:n.signal};i&&(r.checked=!0);var A=Object(u.a)("input",r);e.appendChild(A),A.addEventListener("change",function(){t.update(A.checked)}),t.elements=[A],t.set=function(t){A.checked=!!t||null}}function o(t,e,n,i){var r=Object(u.a)("select",{name:n.signal});n.options.forEach(function(t){var e={value:t};s(t,i)&&(e.selected=!0),r.appendChild(Object(u.a)("option",e,t+""))}),e.appendChild(r),r.addEventListener("change",function(){t.update(n.options[r.selectedIndex])}),t.elements=[r],t.set=function(t){for(var e=0,i=n.options.length;e<i;++e)if(s(n.options[e],t))return void(r.selectedIndex=e)}}function a(t,e,n,i){var r=Object(u.a)("span",{class:d});e.appendChild(r),t.elements=n.options.map(function(e){var A=f+n.signal+"-"+e,o={id:A,type:"radio",name:n.signal,value:e};s(e,i)&&(o.checked=!0);var a=Object(u.a)("input",o);return a.addEventListener("change",function(){t.update(e)}),r.appendChild(a),r.appendChild(Object(u.a)("label",{for:A},e+"")),a}),t.set=function(e){for(var n=t.elements,i=0,r=n.length;i<r;++i)s(n[i].value,e)&&(n[i].checked=!0)}}function c(t,e,n,i){function r(){s.textContent=c.value,t.update(+c.value)}i=void 0!==i?i:(+n.max+ +n.min)/2;var A=n.min||Math.min(0,+i)||0,o=n.max||Math.max(100,+i)||100,a=n.step||Object(l.tickStep)(A,o,100),c=Object(u.a)("input",{type:"range",name:n.signal,min:A,max:o,step:a});c.value=i;var s=Object(u.a)("label",{},+i);e.appendChild(c),e.appendChild(s),c.addEventListener("input",r),c.addEventListener("change",r),t.elements=[c],t.set=function(t){c.value=t,s.textContent=t}}function s(t,e){return t===e||t+""==e+""}var u=n(506),g=n(0),l=n(10),M="vega-bind",h="vega-bind-name",d="vega-bind-radio",f="vega-option-";e.a=function(t,e,n){if(e){var r=n.param,A=n.state;return A||(A=n.state={elements:null,active:!1,set:null,update:function(e){A.source=!0,t.signal(r.signal,e).run()}},r.debounce&&(A.update=Object(g.debounce)(r.debounce,A.update))),i(A,e,r,t.signal(r.signal)),A.active||(t.on(t._signals[r.signal],null,function(){A.source?A.source=!1:A.set(t.signal(r.signal))}),A.active=!0),A}}},function(t,e,n){"use strict";var i=n(189);e.a=function(t,e,n,r){var A=(new r).scene(t.scenegraph().root).initialize(n,Object(i.b)(t),t);return e&&(A.handleTooltip=e.handleTooltip,e.handlers().forEach(function(t){A.on(t.type,t.handler)})),A}},function(t,e,n){"use strict";function i(t,e){var n=new Blob([t],{type:e});return window.URL.createObjectURL(n)}var r=n(287),A=n(54);e.a=function(t,e){return t!==A.i.Canvas&&t!==A.i.SVG&&t!==A.i.PNG?Promise.reject("Unrecognized image type: "+t):Object(r.a)(this,t,e).then(function(e){return t===A.i.SVG?i(e.svg(),"image/svg+xml"):e.canvas().toDataURL("image/png")})}},function(t,e,n){"use strict";var i=n(287),r=n(54);e.a=function(t){return Object(i.a)(this,r.i.Canvas,t).then(function(t){return t.canvas()})}},function(t,e,n){"use strict";var i=n(287),r=n(54);e.a=function(t){return Object(i.a)(this,r.i.SVG,t).then(function(t){return t.svg()})}},function(t,e,n){"use strict";var i=n(1),r=n(508),A=n(526);e.a=function(t,e,n){var o=n||r.c;return Object(A.b)(e,Object(A.a)(t,i.q,o))}},function(t,e,n){"use strict";var i=n(1172),r=n(524),A=n(525),o=n(0);e.a=function(t,e){return Object(o.isObject)(t)||Object(o.error)("Input Vega specification must be an object."),Object(i.a)(t,new r.a(Object(A.a)([e,t.config]))).toRuntime()}},function(t,e,n){"use strict";function i(t,e){var n,i,f,I,E,T=e.config;return e.background=t.background||T.background,e.eventConfig=T.events,E=Object(g.k)(e.root=e.add(Object(g.j)())),e.addSignal("width",t.width||0),e.addSignal("height",t.height||0),e.addSignal("padding",Object(A.a)(t.padding,T)),e.addSignal("autosize",Object(r.a)(t.autosize,T)),Object(h.array)(t.signals).forEach(function(t){d[t.name]||Object(o.a)(t,e)}),i=e.add(Object(M.d)()),f=Object(c.d)({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},t.encode),f=e.add(Object(M.g)(Object(c.c)(f,s.a,u.g,t.style,e,{pulse:Object(g.k)(i)}))),I=e.add(Object(M.z)({layout:e.objectProperty(t.layout),legendMargin:T.legendMargin,autosize:e.signalRef("autosize"),mark:E,pulse:Object(g.k)(f)})),e.operators.pop(),e.pushState(Object(g.k)(f),Object(g.k)(I),null),Object(a.a)(t,e,!0),e.operators.push(I),n=e.add(Object(M.c)({mark:E,pulse:Object(g.k)(I)})),n=e.add(Object(M.u)({pulse:Object(g.k)(n)})),n=e.add(Object(M.w)({pulse:Object(g.k)(n)})),e.addData("root",new l.a(e,i,i,n)),e}e.a=i;var r=n(1173),A=n(1174),o=n(288),a=n(190),c=n(19),s=n(26),u=n(17),g=n(25),l=n(133),M=n(34),h=n(0),d=Object(h.toSet)(["width","height","padding","autosize"])},function(t,e,n){"use strict";var i=n(0);e.a=function(t,e){return t=t||e.autosize,Object(i.isObject)(t)?t:(t=t||"pad",{type:t})}},function(t,e,n){"use strict";function i(t){return+t||0}function r(t){return{top:t,bottom:t,left:t,right:t}}var A=n(0);e.a=function(t,e){return t=t||e.padding,Object(A.isObject)(t)?{top:i(t.top),bottom:i(t.bottom),left:i(t.left),right:i(t.right)}:r(i(t))}},function(t,e,n){"use strict";function i(t,e){if(!t)throw new Error("ASSERT: "+e)}function r(t){return t>=48&&t<=57}function A(t){return"0123456789abcdefABCDEF".indexOf(t)>=0}function o(t){return"01234567".indexOf(t)>=0}function a(t){return 32===t||9===t||11===t||12===t||160===t||t>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(t)>=0}function c(t){return 10===t||13===t||8232===t||8233===t}function s(t){return 36===t||95===t||t>=65&&t<=90||t>=97&&t<=122||92===t||t>=128&&Pt.test(String.fromCharCode(t))}function u(t){return 36===t||95===t||t>=65&&t<=90||t>=97&&t<=122||t>=48&&t<=57||92===t||t>=128&&Xt.test(String.fromCharCode(t))}function g(){for(var t;ut<gt&&(t=st.charCodeAt(ut),a(t)||c(t));)++ut}function l(t){var e,n,i,r=0;for(n="u"===t?4:2,e=0;e<n;++e)ut<gt&&A(st[ut])?(i=st[ut++],r=16*r+"0123456789abcdef".indexOf(i.toLowerCase())):k({},St,Ht);return String.fromCharCode(r)}function M(){var t,e,n,i;for(t=st[ut],e=0,"}"===t&&k({},St,Ht);ut<gt&&(t=st[ut++],A(t));)e=16*e+"0123456789abcdef".indexOf(t.toLowerCase());return(e>1114111||"}"!==t)&&k({},St,Ht),e<=65535?String.fromCharCode(e):(n=55296+(e-65536>>10),i=56320+(e-65536&1023),String.fromCharCode(n,i))}function h(){var t,e;for(t=st.charCodeAt(ut++),e=String.fromCharCode(t),92===t&&(117!==st.charCodeAt(ut)&&k({},St,Ht),++ut,t=l("u"),t&&"\\"!==t&&s(t.charCodeAt(0))||k({},St,Ht),e=t);ut<gt&&(t=st.charCodeAt(ut),u(t));)++ut,e+=String.fromCharCode(t),92===t&&(e=e.substr(0,e.length-1),117!==st.charCodeAt(ut)&&k({},St,Ht),++ut,t=l("u"),t&&"\\"!==t&&u(t.charCodeAt(0))||k({},St,Ht),e+=t);return e}function d(){var t,e;for(t=ut++;ut<gt;){if(92===(e=st.charCodeAt(ut)))return ut=t,h();if(!u(e))break;++ut}return st.slice(t,ut)}function f(){var t,e,n;return t=ut,e=92===st.charCodeAt(ut)?h():d(),n=1===e.length?ft:Vt.hasOwnProperty(e)?It:"null"===e?Et:"true"===e||"false"===e?ht:ft,{type:n,value:e,start:t,end:ut}}function I(){var t,e,n,i,r=ut,A=st.charCodeAt(ut),o=st[ut];switch(A){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++ut,{type:Nt,value:String.fromCharCode(A),start:r,end:ut};default:if(61===(t=st.charCodeAt(ut+1)))switch(A){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return ut+=2,{type:Nt,value:String.fromCharCode(A)+String.fromCharCode(t),start:r,end:ut};case 33:case 61:return ut+=2,61===st.charCodeAt(ut)&&++ut,{type:Nt,value:st.slice(r,ut),start:r,end:ut}}}return">>>="===(i=st.substr(ut,4))?(ut+=4,{type:Nt,value:i,start:r,end:ut}):">>>"===(n=i.substr(0,3))||"<<="===n||">>="===n?(ut+=3,{type:Nt,value:n,start:r,end:ut}):(e=n.substr(0,2),o===e[1]&&"+-<>&|".indexOf(o)>=0||"=>"===e?(ut+=2,{type:Nt,value:e,start:r,end:ut}):"<>=!+-*%&|^/".indexOf(o)>=0?(++ut,{type:Nt,value:o,start:r,end:ut}):void k({},St,Ht))}function E(t){for(var e="";ut<gt&&A(st[ut]);)e+=st[ut++];return 0===e.length&&k({},St,Ht),s(st.charCodeAt(ut))&&k({},St,Ht),{type:Tt,value:parseInt("0x"+e,16),start:t,end:ut}}function T(t){for(var e="0"+st[ut++];ut<gt&&o(st[ut]);)e+=st[ut++];return(s(st.charCodeAt(ut))||r(st.charCodeAt(ut)))&&k({},St,Ht),{type:Tt,value:parseInt(e,8),octal:!0,start:t,end:ut}}function N(){var t,e,n;if(n=st[ut],i(r(n.charCodeAt(0))||"."===n,"Numeric literal must start with a decimal digit or a decimal point"),e=ut,t="","."!==n){if(t=st[ut++],n=st[ut],"0"===t){if("x"===n||"X"===n)return++ut,E(e);if(o(n))return T(e);n&&r(n.charCodeAt(0))&&k({},St,Ht)}for(;r(st.charCodeAt(ut));)t+=st[ut++];n=st[ut]}if("."===n){for(t+=st[ut++];r(st.charCodeAt(ut));)t+=st[ut++];n=st[ut]}if("e"===n||"E"===n)if(t+=st[ut++],n=st[ut],"+"!==n&&"-"!==n||(t+=st[ut++]),r(st.charCodeAt(ut)))for(;r(st.charCodeAt(ut));)t+=st[ut++];else k({},St,Ht);return s(st.charCodeAt(ut))&&k({},St,Ht),{type:Tt,value:parseFloat(t),start:e,end:ut}}function y(){var t,e,n,r,A="",a=!1;for(t=st[ut],i("'"===t||'"'===t,"String literal must starts with a quote"),e=ut,++ut;ut<gt;){if((n=st[ut++])===t){t="";break}if("\\"===n)if((n=st[ut++])&&c(n.charCodeAt(0)))"\r"===n&&"\n"===st[ut]&&++ut;else switch(n){case"u":case"x":"{"===st[ut]?(++ut,A+=M()):A+=l(n);break;case"n":A+="\n";break;case"r":A+="\r";break;case"t":A+="\t";break;case"b":A+="\b";break;case"f":A+="\f";break;case"v":A+="\v";break;default:o(n)?(r="01234567".indexOf(n),0!==r&&(a=!0),ut<gt&&o(st[ut])&&(a=!0,r=8*r+"01234567".indexOf(st[ut++]),"0123".indexOf(n)>=0&&ut<gt&&o(st[ut])&&(r=8*r+"01234567".indexOf(st[ut++]))),A+=String.fromCharCode(r)):A+=n}else{if(c(n.charCodeAt(0)))break;A+=n}}return""!==t&&k({},St,Ht),{type:yt,value:A,octal:a,start:e,end:ut}}function p(t,e){var n=t;e.indexOf("u")>=0&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}/g,function(t,e){if(parseInt(e,16)<=1114111)return"x";k({},Ft)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(n)}catch(t){k({},Ft)}try{return new RegExp(t,e)}catch(t){return null}}function C(){var t,e,n,r,A;for(t=st[ut],i("/"===t,"Regular expression literal must start with a slash"),e=st[ut++],n=!1,r=!1;ut<gt;)if(t=st[ut++],e+=t,"\\"===t)t=st[ut++],c(t.charCodeAt(0))&&k({},kt),e+=t;else if(c(t.charCodeAt(0)))k({},kt);else if(n)"]"===t&&(n=!1);else{if("/"===t){r=!0;break}"["===t&&(n=!0)}return r||k({},kt),A=e.substr(1,e.length-2),{value:A,literal:e}}function D(){var t,e,n;for(e="",n="";ut<gt&&(t=st[ut],u(t.charCodeAt(0)));)++ut,"\\"===t&&ut<gt?k({},St,Ht):(n+=t,e+=t);return n.search(/[^gimuy]/g)>=0&&k({},Ft,n),{value:n,literal:e}}function x(){var t,e,n,i;return lt=null,g(),t=ut,e=C(),n=D(),i=p(e.value,n.value),{literal:e.literal+n.literal,value:i,regex:{pattern:e.value,flags:n.value},start:t,end:ut}}function B(t){return t.type===ft||t.type===It||t.type===ht||t.type===Et}function w(){var t;return g(),ut>=gt?{type:dt,start:ut,end:ut}:(t=st.charCodeAt(ut),s(t)?f():40===t||41===t||59===t?I():39===t||34===t?y():46===t?r(st.charCodeAt(ut+1))?N():I():r(t)?N():I())}function m(){var t;return t=lt,ut=t.end,lt=w(),ut=t.end,t}function Q(){var t;t=ut,lt=w(),ut=t}function v(t){var e=new Mt.a(pt);return e.elements=t,e}function j(t,e,n){var i=new Mt.a("||"===t||"&&"===t?mt:Ct);return i.operator=t,i.left=e,i.right=n,i}function L(t,e){var n=new Mt.a(Dt);return n.callee=t,n.arguments=e,n}function S(t,e,n){var i=new Mt.a(xt);return i.test=t,i.consequent=e,i.alternate=n,i}function Y(t){var e=new Mt.a(Bt);return e.name=t,e}function b(t){var e=new Mt.a(wt);return e.value=t.value,e.raw=st.slice(t.start,t.end),t.regex&&("//"===e.raw&&(e.raw="/(?:)/"),e.regex=t.regex),e}function O(t,e,n){var i=new Mt.a(Qt);return i.computed="["===t,i.object=e,i.property=n,i.computed||(n.member=!0),i}function z(t){var e=new Mt.a(vt);return e.properties=t,e}function U(t,e,n){var i=new Mt.a(jt);return i.key=e,i.value=n,i.kind=t,i}function F(t,e){var n=new Mt.a(Lt);return n.operator=t,n.argument=e,n.prefix=!0,n}function k(t,e){var n,r=Array.prototype.slice.call(arguments,2),A=e.replace(/%(\d)/g,function(t,e){return i(e<r.length,"Message reference must be in range"),r[e]});throw n=new Error(A),n.index=ut,n.description=A,n}function R(t){t.type===dt&&k(t,Ut),t.type===Tt&&k(t,Yt),t.type===yt&&k(t,bt),t.type===ft&&k(t,Ot),t.type===It&&k(t,zt),k(t,St,t.value)}function G(t){var e=m();e.type===Nt&&e.value===t||R(e)}function H(t){return lt.type===Nt&&lt.value===t}function J(t){return lt.type===It&&lt.value===t}function P(){var t=[];for(ut=lt.start,G("[");!H("]");)H(",")?(m(),t.push(null)):(t.push(ot()),H("]")||G(","));return m(),v(t)}function X(){var t;return ut=lt.start,t=m(),t.type===yt||t.type===Tt?(t.octal&&k(t,Rt),b(t)):Y(t.value)}function V(){var t,e,n,i;return ut=lt.start,t=lt,t.type===ft?(n=X(),G(":"),i=ot(),U("init",n,i)):t.type!==dt&&t.type!==Nt?(e=X(),G(":"),i=ot(),U("init",e,i)):void R(t)}function W(){var t,e,n,i=[],r={},A=String;for(ut=lt.start,G("{");!H("}");)t=V(),e=t.key.type===Bt?t.key.name:A(t.key.value),n="$"+e,Object.prototype.hasOwnProperty.call(r,n)?k({},Gt):r[n]=!0,i.push(t),H("}")||G(",");return G("}"),z(i)}function _(){var t;return G("("),t=at(),G(")"),t}function Z(){var t,e,n;if(H("("))return _();if(H("["))return P();if(H("{"))return W();if(t=lt.type,ut=lt.start,t===ft||Wt[lt.value])n=Y(m().value);else if(t===yt||t===Tt)lt.octal&&k(lt,Rt),n=b(m());else{if(t===It)throw new Error(Jt);t===ht?(e=m(),e.value="true"===e.value,n=b(e)):t===Et?(e=m(),e.value=null,n=b(e)):H("/")||H("/=")?(n=b(x()),Q()):R(m())}return n}function K(){var t=[];if(G("("),!H(")"))for(;ut<gt&&(t.push(ot()),!H(")"));)G(",");return G(")"),t}function q(){var t;return ut=lt.start,t=m(),B(t)||R(t),Y(t.value)}function $(){return G("."),q()}function tt(){var t;return G("["),t=at(),G("]"),t}function et(){var t,e,n;for(t=Z();;)if(H("."))n=$(),t=O(".",t,n);else if(H("("))e=K(),t=L(t,e);else{if(!H("["))break;n=tt(),t=O("[",t,n)}return t}function nt(){var t=et();if(lt.type===Nt&&(H("++")||H("--")))throw new Error(Jt);return t}function it(){var t,e;if(lt.type!==Nt&&lt.type!==It)e=nt();else{if(H("++")||H("--"))throw new Error(Jt);if(H("+")||H("-")||H("~")||H("!"))t=m(),e=it(),e=F(t.value,e);else{if(J("delete")||J("void")||J("typeof"))throw new Error(Jt);e=nt()}}return e}function rt(t){var e=0;if(t.type!==Nt&&t.type!==It)return 0;switch(t.value){case"||":e=1;break;case"&&":e=2;break;case"|":e=3;break;case"^":e=4;break;case"&":e=5;break;case"==":case"!=":case"===":case"!==":e=6;break;case"<":case">":case"<=":case">=":case"instanceof":case"in":e=7;break;case"<<":case">>":case">>>":e=8;break;case"+":case"-":e=9;break;case"*":case"/":case"%":e=11}return e}function At(){var t,e,n,i,r,A,o,a,c,s;if(t=lt,c=it(),i=lt,0===(r=rt(i)))return c;for(i.prec=r,m(),e=[t,lt],o=it(),A=[c,i,o];(r=rt(lt))>0;){for(;A.length>2&&r<=A[A.length-2].prec;)o=A.pop(),a=A.pop().value,c=A.pop(),e.pop(),n=j(a,c,o),A.push(n);i=m(),i.prec=r,A.push(i),e.push(lt),n=it(),A.push(n)}for(s=A.length-1,n=A[s],e.pop();s>1;)e.pop(),n=j(A[s-1].value,A[s-2],n),s-=2;return n}function ot(){var t,e,n;return t=At(),H("?")&&(m(),e=ot(),G(":"),n=ot(),t=S(t,e,n)),t}function at(){var t=ot();if(H(","))throw new Error(Jt);return t}var ct,st,ut,gt,lt,Mt=n(512),ht=1,dt=2,ft=3,It=4,Et=5,Tt=6,Nt=7,yt=8;ct={},ct[ht]="Boolean",ct[dt]="<end>",ct[ft]="Identifier",ct[It]="Keyword",ct[Et]="Null",ct[Tt]="Numeric",ct[Nt]="Punctuator",ct[yt]="String",ct[9]="RegularExpression";var pt="ArrayExpression",Ct="BinaryExpression",Dt="CallExpression",xt="ConditionalExpression",Bt="Identifier",wt="Literal",mt="LogicalExpression",Qt="MemberExpression",vt="ObjectExpression",jt="Property",Lt="UnaryExpression",St="Unexpected token %0",Yt="Unexpected number",bt="Unexpected string",Ot="Unexpected identifier",zt="Unexpected reserved word",Ut="Unexpected end of input",Ft="Invalid regular expression",kt="Invalid regular expression: missing /",Rt="Octal literals are not allowed in strict mode.",Gt="Duplicate data property in object literal not allowed in strict mode",Ht="ILLEGAL",Jt="Disabled.",Pt=new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢲऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞭꞰꞱꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭟꭤꭥꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]"),Xt=new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮ̀-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҃-҇Ҋ-ԯԱ-Ֆՙա-և֑-ׇֽֿׁׂׅׄא-תװ-ײؐ-ؚؠ-٩ٮ-ۓە-ۜ۟-۪ۨ-ۼۿܐ-݊ݍ-ޱ߀-ߵߺࠀ-࠭ࡀ-࡛ࢠ-ࢲࣤ-ॣ०-९ॱ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-ৱਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૯ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍ୖୗଡ଼ଢ଼ୟ-ୣ୦-୯ୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௯ఀ-ఃఅ-ఌఎ-ఐఒ-నప-హఽ-ౄె-ైొ-్ౕౖౘౙౠ-ౣ౦-౯ಁ-ಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೞೠ-ೣ೦-೯ೱೲഁ-ഃഅ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൎൗൠ-ൣ൦-൯ൺ-ൿංඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟ෦-෯ෲෳก-ฺเ-๎๐-๙ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ູົ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟༀ༘༙༠-༩༹༵༷༾-ཇཉ-ཬཱ-྄྆-ྗྙ-ྼ࿆က-၉ၐ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፟ᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-᜔ᜠ-᜴ᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-៓ៗៜ៝០-៩᠋-᠍᠐-᠙ᠠ-ᡷᢀ-ᢪᢰ-ᣵᤀ-ᤞᤠ-ᤫᤰ-᤻᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧙ᨀ-ᨛᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙ᪧ᪰-᪽ᬀ-ᭋ᭐-᭙᭫-᭳ᮀ-᯳ᰀ-᰷᱀-᱉ᱍ-ᱽ᳐-᳔᳒-ᳶ᳸᳹ᴀ-᷵᷼-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‌‍‿⁀⁔ⁱⁿₐ-ₜ⃐-⃥⃜⃡-⃰ℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵿-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〯〱-〵〸-〼ぁ-ゖ゙゚ゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘫꙀ-꙯ꙴ-꙽ꙿ-ꚝꚟ-꛱ꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞭꞰꞱꟷ-ꠧꡀ-ꡳꢀ-꣄꣐-꣙꣠-ꣷꣻ꤀-꤭ꤰ-꥓ꥠ-ꥼꦀ-꧀ꧏ-꧙ꧠ-ꧾꨀ-ꨶꩀ-ꩍ꩐-꩙ꩠ-ꩶꩺ-ꫂꫛ-ꫝꫠ-ꫯꫲ-꫶ꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭟꭤꭥꯀ-ꯪ꯬꯭꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻ︀-️︠-︭︳︴﹍-﹏ﹰ-ﹴﹶ-ﻼ0-9A-Z_a-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]"),Vt={if:1,in:1,do:1,var:1,for:1,new:1,try:1,let:1,this:1,else:1,case:1,void:1,with:1,enum:1,while:1,break:1,catch:1,throw:1,const:1,yield:1,class:1,super:1,return:1,typeof:1,delete:1,switch:1,export:1,import:1,public:1,static:1,default:1,finally:1,extends:1,package:1,private:1,function:1,continue:1,debugger:1,interface:1,protected:1,instanceof:1,implements:1},Wt={if:1,this:1};e.a=function(t){st=t,ut=0,gt=st.length,lt=null,Q();var e=at();if(lt.type!==dt)throw new Error("Unexpect token after expression.");return e}},function(t,e,n){"use strict";var i=n(513),r=n(514),A=n(0);e.a=function(t){function e(t){if(Object(A.isString)(t))return t;var e=f[t.type];return null==e&&Object(A.error)("Unsupported type: "+t.type),e(t)}function n(t){var n={code:e(t),globals:Object.keys(l),fields:Object.keys(M)};return l={},M={},n}t=t||{};var o=t.whitelist?Object(A.toSet)(t.whitelist):{},a=t.blacklist?Object(A.toSet)(t.blacklist):{},c=t.constants||i.a,s=(t.functions||r.a)(e),u=t.globalvar,g=t.fieldvar,l={},M={},h=0,d=Object(A.isFunction)(u)?u:function(t){return u+'["'+t+'"]'},f={Literal:function(t){return t.raw},Identifier:function(t){var e=t.name;return h>0?e:a.hasOwnProperty(e)?Object(A.error)("Illegal identifier: "+e):c.hasOwnProperty(e)?c[e]:o.hasOwnProperty(e)?e:(l[e]=1,d(e))},MemberExpression:function(t){var n=!t.computed,i=e(t.object);n&&(h+=1);var r=e(t.property);return i===g&&(M[r]=1),n&&(h-=1),i+(n?"."+r:"["+r+"]")},CallExpression:function(t){"Identifier"!==t.callee.type&&Object(A.error)("Illegal callee type: "+t.callee.type);var n=t.callee.name,i=t.arguments,r=s.hasOwnProperty(n)&&s[n];return r||Object(A.error)("Unrecognized function: "+n),Object(A.isFunction)(r)?r(i):r+"("+i.map(e).join(",")+")"},ArrayExpression:function(t){return"["+t.elements.map(e).join(",")+"]"},BinaryExpression:function(t){return"("+e(t.left)+t.operator+e(t.right)+")"},UnaryExpression:function(t){return"("+t.operator+e(t.argument)+")"},ConditionalExpression:function(t){return"("+e(t.test)+"?"+e(t.consequent)+":"+e(t.alternate)+")"},LogicalExpression:function(t){return"("+e(t.left)+t.operator+e(t.right)+")"},ObjectExpression:function(t){return"{"+t.properties.map(e).join(",")+"}"},Property:function(t){h+=1;var n=e(t.key);return h-=1,n+":"+e(t.value)}};return n.functions=s,n.constants=c,n}},function(t,e,n){"use strict";function i(t,e,n){var i=t+":"+n,r=f[i];return r&&r[0]===e||(f[i]=r=[e,e(n)]),r[1]}function r(t,e){return i("format",h.format,e)(t)}function A(t,e){return i("timeFormat",d.timeFormat,e)(t)}function o(t,e){return i("utcFormat",d.utcFormat,e)(t)}function a(t,e){return i("timeParse",d.timeParse,e)(t)}function c(t,e){return i("utcParse",d.utcParse,e)(t)}function s(t,e,n){return I.setMonth(t),I.setDate(e),A(I,n)}function u(t){return s(t,1,"%B")}function g(t){return s(t,1,"%b")}function l(t){return s(0,2+t,"%A")}function M(t){return s(0,2+t,"%a")}e.c=r,e.f=A,e.h=o,e.g=a,e.i=c,e.e=u,e.d=g,e.b=l,e.a=M;var h=n(91),d=n(92),f={},I=new Date(2e3,0,1)},function(t,e,n){"use strict";function i(t){return 1+~~(new Date(t).getMonth()/3)}function r(t){return 1+~~(new Date(t).getUTCMonth()/3)}e.a=i,e.b=r},function(t,e,n){"use strict";function i(t,e,n){try{t[e].apply(t,["EXPRESSION"].concat([].slice.call(n)))}catch(e){t.warn(e)}return n[n.length-1]}function r(){return i(this.context.dataflow,"warn",arguments)}function A(){return i(this.context.dataflow,"info",arguments)}function o(){return i(this.context.dataflow,"debug",arguments)}e.c=r,e.b=A,e.a=o},function(t,e,n){"use strict";e.a=function(t){var e=this.context.group,n=!1;if(e)for(;t;){if(t===e){n=!0;break}t=t.mark.group}return n}},function(t,e,n){"use strict";e.a=function(t,e,n){var i,r=t[0],A=t[1];return A<r&&(i=A,A=r,r=i),i=A-r,i>=n-e?[e,n]:[Math.min(Math.max(r,e),n-i),Math.min(Math.max(A,i),n)]}},function(t,e,n){"use strict";function i(t){var e=t.touches,n=e[0].clientX-e[1].clientX,i=e[0].clientY-e[1].clientY;return Math.sqrt(n*n+i*i)}function r(t){var e=t.touches;return Math.atan2(e[0].clientY-e[1].clientY,e[0].clientX-e[1].clientX)}e.b=i,e.a=r},function(t,e,n){"use strict";function i(){return o?o.screen:{}}function r(){return o?[o.innerWidth,o.innerHeight]:[void 0,void 0]}function A(){var t=this.context.dataflow,e=t.container&&t.container();return e?[e.clientWidth,e.clientHeight]:[void 0,void 0]}e.b=i,e.c=r,e.a=A;var o="undefined"!=typeof window&&window||null},function(t,e,n){"use strict";var i=n(0);e.a=function(t,e,n,r,A,o){var a=Math.abs(e-t[0]),c=Math.abs(Object(i.peek)(t)-e);return a<c&&a<=n?r:c<=n?A:o}},function(t,e,n){"use strict";e.a=function(t){return t[t.length-1]-t[0]||0}},function(t,e,n){"use strict";var i=n(54),r=n(77);e.a=function(t,e,n,A){var o=Object(i.d)(e,n),a=t.domain(),c=a[0],s=a[a.length-1],u=Object(r.e)(t,c,s);t.ticks&&(a=t.ticks(+A||15),c!==a[0]&&a.unshift(c),s!==a[a.length-1]&&a.push(s));for(var g=0,l=a.length;g<l;++g)o.stop(u(a[g]),t(a[g]));return o}},function(t,e,n){"use strict";function i(t){return function(e,n,i){var A=Object(r.e)(e,(i||this).context);return A&&A.path[t](n)}}n.d(e,"a",function(){return A}),n.d(e,"b",function(){return o}),n.d(e,"c",function(){return a});var r=n(515),A=i("area"),o=i("bounds"),a=i("centroid")},function(t,e,n){"use strict";function i(t){return t.data}function r(t,e){var n=a.a.call(e,t);return n.root&&n.root.lookup||c}function A(t,e,n){var A=r(t,this),o=A[e],a=A[n];return o&&a?o.path(a).map(i):void 0}function o(t,e){var n=r(t,this)[e];return n?n.ancestors().map(i):void 0}e.b=A,e.a=o;var a=n(290),c={}},function(t,e,n){"use strict";e.a=function(t,e,n){if(t){var i=this.context.dataflow,r=t.mark.source;i.pulse(r,i.changeset().encode(t,e))}return void 0!==n?n:t}},function(t,e,n){"use strict";function i(t,e){return t===e||t!==t&&e!==e||!(!Object(a.isArray)(t)||!Object(a.isArray)(e)||t.length!==e.length)&&r(t,e)}function r(t,e){for(var n=0,r=t.length;n<r;++n)if(!i(t[n],e[n]))return!1;return!0}function A(t){return function(e){for(var n in t)if(!i(e[n],t[n]))return!1;return!0}}var o=n(1),a=n(0);e.a=function(t,e,n,i,r,c){var s,u,g=this.context.dataflow,l=this.context.data[t],M=l.input,h=l.changes,d=g.stamp();if(!1===g._trigger||!(M.value.length||e||i))return 0;if((!h||h.stamp<d)&&(l.changes=h=g.changeset(),h.stamp=d,g.runAfter(function(){l.modified=!0,g.pulse(M,h).run()},!0)),n&&(s=!0===n?a.truthy:Object(a.isArray)(n)||Object(o.m)(n)?n:A(n),h.remove(s)),e&&h.insert(e),i&&(s=A(i),M.value.some(s)?h.remove(s):h.insert(i)),r)for(u in c)h.modify(r,u,c[u]);return 1}},function(t,e,n){"use strict";function i(t,e){for(var n,i=e.fields,r=e.values,A=e.getter||(e.getter=[]),o=i.length,a=0;a<o;++a)if(A[a]=A[a]||Object(T.field)(i[a]),n=A[a](t),Object(T.isDate)(n)&&(n=Object(T.toNumber)(n)),Object(T.isDate)(r[a])&&(r[a]=Object(T.toNumber)(r[a])),e[N+i[a]]){if(Object(T.isDate)(r[a][0])&&(r[a]=r[a].map(T.toNumber)),!Object(I.a)(n,r[a],!0,!1))return!1}else if(n!==r[a])return!1;return!0}function r(t,e){for(var n,i,r,A=e.intervals,o=A.length,a=0;a<o;++a){if(i=A[a].extent,n=A[a].getter||(A[a].getter=Object(T.field)(A[a].field)),r=n(t),!i||i[0]===i[1])return!1;if(Object(T.isDate)(r)&&(r=Object(T.toNumber)(r)),Object(T.isDate)(i[0])&&(i=A[a].extent=i.map(T.toNumber)),Object(T.isNumber)(i[0])&&!Object(I.a)(r,i))return!1;if(Object(T.isString)(i[0])&&i.indexOf(r)<0)return!1}return!0}function A(t,e,n,i){for(var r,A,o,a,c,s=this.context.data[t],u=s?s.values.value:[],g=s?s[C]&&s[C].value:void 0,l=n===y,M=u.length,h=0;h<M;++h)if(r=u[h],g&&l){if(A=A||{},-1===(o=A[a=r.unit]||0))continue;if(c=i(e,r),A[a]=c?-1:++o,c&&1===g.size)return!0;if(!c&&o===g.get(a).count)return!1}else if(c=i(e,r),l^c)return c;return M&&l}function o(t,e,n){return A.call(this,t,e,n,i)}function a(t,e,n){return A.call(this,t,e,n,r)}function c(t,e,n,i){e[0].type!==d.b&&Object(T.error)("First argument to indata must be a string literal.");var r=e[0].value,A=e.length>=2&&e[e.length-1].value,o=E.b+"unit";A!==y||i.hasOwnProperty(o)||(i[o]=n.getData(r).indataRef(n,"unit")),Object(f.b)(t,e,n,i)}function s(t,e,n,i){var r,A,o,a,c,s=this.context.data[t],u=s?s.values.value:[],M=s?s[C]&&s[C].value:void 0,h=u[0],d=0;if(h){for(r=e?h.encodings.length:h.fields.length;d<r;++d)if(e&&h.encodings[d]===e||n&&h.fields[d]===n){A=d,a=h[N+h.fields[d]];break}return M&&1===M.size&&(i=p),M&&i===y?(c=u.reduce(function(t,e){return(t[e.unit]||(t[e.unit]=[])).push({unit:e.unit,value:e.values[A]}),t},{}),o=Object.keys(c).map(function(t){return{unit:t,value:a?l(c[t],p):g(c[t],p)}})):o=u.map(function(t){return{unit:t.unit,value:t.values[A]}}),a?l(o,i):g(o,i)}}function u(t,e,n,i){var r,A,o,a,c,s=this.context.data[t],u=s?s.values.value:[],M=u[0],h=0;if(M){for(r=M.intervals.length;h<r;++h)if(A=M.intervals[h],e&&A.encoding===e||n&&A.field===n){if(!A.extent)return;o=h,c=A.extent.length>2;break}return a=u.reduce(function(t,e){var n=e.intervals[o].extent,i=c?n.map(function(t){return{unit:e.unit,value:t}}):{unit:e.unit,value:n};return c?t.push.apply(t,i):t.push(i),t},[]),c?g(a,i):l(a,i)}}function g(t,e){for(var n,i,r,A,o={},a=0,c={},s=[],u=0,g=t.length;u<g;++u)n=t[u],i=n.unit,A=n.value,o[i]||(o[i]=++a),(r=c[A])||(c[A]=r={value:A,units:{},count:0}),r.units[i]||(r.units[i]=++r.count);for(A in c)r=c[A],e===y&&r.count!==a||s.push(r.value);return s.length?s:void 0}function l(t,e){for(var n,i,r,A,o=e===y?h:M,a=0,c=t.length;a<c;++a)n=t[a].value,Object(T.isDate)(n[0])&&(n=n.map(T.toNumber)),r=n[0],A=n[1],r>A&&(A=n[0],r=n[1]),i=i?o(i,r,A):[r,A];return i&&i.length&&+i[0]!=+i[1]?i:void 0}function M(t,e,n){return t[0]>e&&(t[0]=e),t[1]<n&&(t[1]=n),t}function h(t,e,n){return n<t[0]||t[1]<e?[]:(t[0]<e&&(t[0]=e),t[1]>n&&(t[1]=n),t)}e.d=o,e.a=a,e.c=c,e.e=s,e.b=u;var d=n(289),f=n(290),I=n(516),E=n(191),T=n(0),N="bin_",y="intersect",p="union",C="index:unit"},function(t,e,n){"use strict";var i=n(86),r=n(517),A=n(148),o=n(0),a="var datum=event.item&&event.item.datum;";e.a=function(t,e,n){var c,s=t.events,u=t.update,g=t.encode,l=[],M="";s||Object(o.error)("Signal update missing events specification."),Object(o.isString)(s)&&(s=Object(A.selector)(s)),s=Object(o.array)(s).filter(function(t){return t.signal||t.scale?(l.push(t),0):1}),s.length&&l.push(s.length>1?{merge:s}:s[0]),null!=g&&(u&&Object(o.error)("Signal encode and update are mutually exclusive."),u="encode(item(),"+Object(o.stringValue)(g)+")"),M=Object(o.isString)(u)?Object(i.a)(u,e,a):null!=u.expr?Object(i.a)(u.expr,e,a):null!=u.value?u.value:null!=u.signal?{$expr:"_.value",$params:{value:e.signalRef(u.signal)}}:Object(o.error)("Invalid signal update specification."),c={target:n,update:M},t.force&&(c.options={force:!0}),l.forEach(function(t){t={source:Object(r.a)(t,e)},e.addUpdate(Object(o.extend)(t,c))})}},function(t,e,n){"use strict";function i(t){return m.hasOwnProperty(t)}function r(t){return"quantile"===t}function A(t,e){var n=t.type||"linear";w.hasOwnProperty(n)||Object(D.error)("Unrecognized scale type: "+Object(D.stringValue)(n)),e.addScale(t.name,{type:n,domain:void 0})}function o(t,e){var n,i=e.getScale(t.name).params;i.domain=u(t.domain,t,e),null!=t.range&&(i.range=y(t,e,i)),null!=t.interpolate&&N(t.interpolate,i),null!=t.nice&&T(t.nice,i);for(n in t)i.hasOwnProperty(n)||"name"===n||(i[n]=a(t[n],e))}function a(t,e){return Object(D.isObject)(t)?t.signal?e.signalRef(t.signal):Object(D.error)("Unsupported object: "+Object(D.stringValue)(t)):t}function c(t,e){return t.signal?e.signalRef(t.signal):t.map(function(t){return a(t,e)})}function s(t){Object(D.error)("Can not find data set: "+Object(D.stringValue)(t))}function u(t,e,n){return t?t.signal?n.signalRef(t.signal):(Object(D.isArray)(t)?g:t.fields?M:l)(t,e,n):void(null==e.domainMin&&null==e.domainMax||Object(D.error)("No scale domain defined for domainMin/domainMax to override."))}function g(t,e,n){return t.map(function(t){return a(t,n)})}function l(t,e,n){var A=n.getData(t.data);return A||s(t.data),i(e.type)?A.valuesRef(n,t.field,f(t.sort,!1)):r(e.type)?A.domainRef(n,t.field):A.extentRef(n,t.field)}function M(t,e,n){var A=t.data,o=t.fields.reduce(function(t,e){return e=Object(D.isString)(e)?{data:A,field:e}:Object(D.isArray)(e)||e.signal?h(e,n):e,t.push(e),t},[]);return(i(e.type)?d:r(e.type)?I:E)(t,n,o)}function h(t,e){var n="_:vega:_"+x++,i=Object(C.d)({});if(Object(D.isArray)(t))i.value={$ingest:t};else if(t.signal){var r="setdata("+Object(D.stringValue)(n)+","+t.signal+")";i.params.input=e.signalRef(r)}return e.addDataPipeline(n,[i,Object(C.w)({})]),{data:n,field:"data"}}function d(t,e,n){var i,r,A,o;return i=n.map(function(t){var n=e.getData(t.data);return n||s(t.data),n.countsRef(e,t.field)}),r=e.add(Object(C.a)({groupby:p.h,ops:["sum"],fields:[e.fieldRef("count")],as:["count"],pulse:i})),A=e.add(Object(C.d)({pulse:Object(p.k)(r)})),o=e.add(Object(C.y)({field:p.h,sort:e.sortRef(f(t.sort,!0)),pulse:Object(p.k)(A)})),Object(p.k)(o)}function f(t,e){return t&&(t.field||t.op?t.field||"count"===t.op?e&&t.field?Object(D.error)("Multiple domain scales can not sort by field."):e&&t.op&&"count"!==t.op&&Object(D.error)("Multiple domain scales support op count only."):Object(D.error)("No field provided for sort aggregate op: "+t.op):Object(D.isObject)(t)?t.field="key":t={field:"key"}),t}function I(t,e,n){var i=n.map(function(t){var n=e.getData(t.data);return n||s(t.data),n.domainRef(e,t.field)});return Object(p.k)(e.add(Object(C.n)({values:i})))}function E(t,e,n){var i=n.map(function(t){var n=e.getData(t.data);return n||s(t.data),n.extentRef(e,t.field)});return Object(p.k)(e.add(Object(C.m)({extents:i})))}function T(t,e){e.nice=Object(D.isObject)(t)?{interval:a(t.interval),step:a(t.step)}:a(t)}function N(t,e){e.interpolate=a(t.type||t),null!=t.gamma&&(e.interpolateGamma=a(t.gamma))}function y(t,e,n){var r=t.range,A=e.config.range;if(r.signal)return e.signalRef(r.signal);if(Object(D.isString)(r)){if(A&&A.hasOwnProperty(r))return t=Object(D.extend)({},t,{range:A[r]}),y(t,e,n);"width"===r?r=[0,{signal:"width"}]:"height"===r?r=i(t.type)?[0,{signal:"height"}]:[{signal:"height"},0]:Object(D.error)("Unrecognized scale range value: "+Object(D.stringValue)(r))}else{if(r.scheme)return n.scheme=a(r.scheme,e),r.extent&&(n.schemeExtent=c(r.extent,e)),void(r.count&&(n.schemeCount=a(r.count,e)));if(r.step)return void(n.rangeStep=a(r.step,e));if(i(t.type)&&!Object(D.isArray)(r))return u(r,t,e);Object(D.isArray)(r)||Object(D.error)("Unsupported range type: "+Object(D.stringValue)(r))}return r.map(function(t){return a(t,e)})}e.a=A,e.b=o;var p=n(25),C=n(34),D=n(0),x=0,B=["identity","ordinal","band","point","bin-linear","bin-ordinal","linear","pow","sqrt","log","sequential","time","utc","quantize","quantile","threshold"],w=Object(D.toSet)(B),m=Object(D.toSet)(B.slice(1,6))},function(t,e,n){"use strict";function i(t,e){return Object(r.isArray)(t)?t.map(function(t){return i(t,e)}):Object(r.isObject)(t)?t.signal?e.signalRef(t.signal):Object(r.error)("Unsupported parameter object: "+Object(r.stringValue)(t)):t}var r=n(0);e.a=function(t,e){var n={};for(var r in t)"name"!==r&&(n[r]=i(t[r],e));e.addProjection(t.name,n)}},function(t,e,n){"use strict";function i(t,e,n){var i=A(e,n[1].encode,"fontSize",d.c);if(t.size)return{$expr:"Math.max(Math.ceil(Math.sqrt(_.scale(datum))),"+i+")"};var r=A(e,n[0].encode,"size");return Math.max(Math.ceil(Math.sqrt(r)),i)}function r(t){var e={};return Object(h.a)(e,"fill",t.fillColor)+Object(h.a)(e,"stroke",t.strokeColor)+Object(h.a)(e,"strokeWidth",t.strokeWidth)+Object(h.a)(e,"strokeDash",t.strokeDash)+Object(h.a)(e,"cornerRadius",t.cornerRadius)?e:void 0}function A(t,e,n,i){var r=e&&(e.update&&e.update[n]||e.enter&&e.enter[n]);return+(r?r.value:i&&(r=t.config.style[i])&&r[n])}var o=n(1196),a=n(1203),c=n(1204),s=n(1205),u=n(1206),g=n(521),l=n(194),M=n(17),h=n(19),d=n(29),f=n(25),I=n(34),E=n(0);e.a=function(t,e){var n,T,N,y,p,C,D,x,B=t.type||"symbol",w=e.config.legend,m=t.encode||{},Q=m.legend||{},v=Q.name||void 0,j=!!Q.interactive,L=Q.style,S=t.size||t.shape||t.fill||t.stroke||t.strokeDash||t.opacity;return S||Object(E.error)("Missing valid scale for legend."),n={orient:Object(f.n)(t.orient,w.orient),title:null!=t.title},T=Object(f.k)(e.add(Object(I.d)(null,[n]))),Q=Object(h.d)({enter:r(w),update:{offset:Object(h.b)(Object(f.n)(t.offset,w.offset)),padding:Object(h.b)(Object(f.n)(t.padding,w.padding)),titlePadding:Object(h.b)(Object(f.n)(t.titlePadding,w.titlePadding))}},Q,d.m),C={update:{x:{field:{group:"padding"}},y:{field:{group:"padding"}},entryPadding:Object(h.b)(Object(f.n)(t.entryPadding,w.entryPadding))}},"gradient"===B?(N=Object(f.k)(e.add(Object(I.k)({type:"gradient",scale:e.scaleRef(S),count:e.objectProperty(t.tickCount),values:e.objectProperty(t.values),formatSpecifier:e.property(t.format)}))),x=[Object(o.a)(t,S,w,m.gradient),Object(a.a)(t,w,m.labels,N)]):(N=Object(f.k)(e.add(Object(I.k)(D={scale:e.scaleRef(S),count:e.objectProperty(t.tickCount),values:e.objectProperty(t.values),formatSpecifier:e.property(t.format)}))),x=[Object(s.a)(t,w,m.symbols,N),Object(c.a)(t,w,m.labels,N)],D.size=i(t,e,x)),x=[Object(g.a)(M.h,null,null,T,j,C,x)],n.title&&(p=Object(u.a)(t,w,m.title,T),C.update.y.offset={field:{group:"titlePadding"},offset:A(e,p.encode,"fontSize",d.d)},x.push(p)),y=Object(g.a)(M.k,L,v,T,j,Q,x),t.zindex&&(y.zindex=t.zindex),Object(l.a)(y,e)}},function(t,e,n){"use strict";var i=n(41),r=n(26),A=n(17),o=n(19);e.a=function(t,e,n,a){var c,s,u={value:0},g={};return g.enter=c={opacity:u,x:u,y:u},Object(o.a)(c,"width",n.gradientWidth),Object(o.a)(c,"height",n.gradientHeight),Object(o.a)(c,"stroke",n.gradientStrokeColor),Object(o.a)(c,"strokeWidth",n.gradientStrokeWidth),g.exit={opacity:u},g.update=s={x:u,y:u,fill:{gradient:e},opacity:{value:1}},Object(o.a)(s,"width",n.gradientWidth),Object(o.a)(s,"height",n.gradientHeight),Object(i.a)(r.b,A.i,null,void 0,void 0,g,a)}},function(t,e,n){"use strict";function i(t,e,n,i){var s,u,g,l={},M="var o=item,datum=o.datum,$;";for(s in t)u=t[s],Object(c.isArray)(u)?M+=Object(o.a)(s,u,i,n,l):(g=Object(A.a)(s,u,i,n,l),M+=Object(a.a)("o",s,g));return M+=Object(r.a)(t,e),M+="return 1;",{$expr:M,$fields:Object.keys(l),$output:Object.keys(t)}}e.a=i;var r=n(1198),A=n(192),o=n(1202),a=n(520),c=n(0)},function(t,e,n){"use strict";var i=n(0),r=Object(i.toSet)(["rule"]),A=Object(i.toSet)(["group","image","rect"]);e.a=function(t,e){var n="";return r[e]?n:(t.x2&&(t.x?(A[e]&&(n+="if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"),n+="o.width=o.x2-o.x;"):n+="o.x=o.x2-(o.width||0);"),t.xc&&(n+="o.x=o.xc-(o.width||0)/2;"),t.y2&&(t.y?(A[e]&&(n+="if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"),n+="o.height=o.y2-o.y;"):n+="o.y=o.y2-(o.height||0);"),t.yc&&(n+="o.y=o.yc-(o.height||0)/2;"),n)}},function(t,e,n){"use strict";var i=n(192);e.a=function(t,e,n,r){function A(t,A,o,a){return"this."+t+"("+[Object(i.a)(null,A,e,n,r),Object(i.a)(null,o,e,n,r),Object(i.a)(null,a,e,n,r)].join(",")+").toString()"}return t.c?A("hcl",t.h,t.c,t.l):t.h||t.s?A("hsl",t.h,t.s,t.l):t.l||t.a?A("lab",t.l,t.a,t.b):t.r||t.g||t.b?A("rgb",t.r,t.g,t.b):null}},function(t,e,n){"use strict";var i=n(519),r=n(0);e.a=function(t,e,n,A){return"this.gradient("+Object(i.b)(t.gradient,e,n,A)+","+Object(r.stringValue)(t.start)+","+Object(r.stringValue)(t.stop)+","+Object(r.stringValue)(t.count)+")"}},function(t,e,n){"use strict";var i=n(192),r=n(0);e.a=function(t,e,n,A){return Object(r.isObject)(t)?"("+Object(i.a)(null,t,e,n,A)+")":t}},function(t,e,n){"use strict";var i=n(192),r=n(520),A=n(193);e.a=function(t,e,n,o,a){var c="";return e.forEach(function(e){var r=Object(i.a)(t,e,n,o,a);c+=e.test?Object(A.a)(e.test,n,o,a)+"?"+r+":":r}),Object(r.a)("o",t,c)}},function(t,e,n){"use strict";var i=n(29),r=n(41),A=n(26),o=n(17),a=n(19),c="datum."+i.j+'<=0?"left":datum.'+i.j+'>=1?"right":"center"';e.a=function(t,e,n,s){var u,g,l={value:0},M={};return M.enter=u={opacity:l},Object(a.a)(u,"fill",e.labelColor),Object(a.a)(u,"font",e.labelFont),Object(a.a)(u,"fontSize",e.labelFontSize),Object(a.a)(u,"fontWeight",e.labelFontWeight),Object(a.a)(u,"baseline",e.gradientLabelBaseline),Object(a.a)(u,"limit",e.gradientLabelLimit),M.exit={opacity:l},M.update=g={opacity:{value:1},text:{field:i.f}},u.x=g.x={field:i.j,mult:e.gradientWidth},u.y=g.y={value:e.gradientHeight,offset:e.gradientLabelOffset},u.align=g.align={signal:c},Object(r.a)(A.e,o.j,i.c,i.j,s,M,n)}},function(t,e,n){"use strict";var i=n(29),r=n(41),A=n(26),o=n(17),a=n(19);e.a=function(t,e,n,c){var s,u,g={value:0},l={};return l.enter=s={opacity:g},Object(a.a)(s,"align",e.labelAlign),Object(a.a)(s,"baseline",e.labelBaseline),Object(a.a)(s,"fill",e.labelColor),Object(a.a)(s,"font",e.labelFont),Object(a.a)(s,"fontSize",e.labelFontSize),Object(a.a)(s,"fontWeight",e.labelFontWeight),Object(a.a)(s,"limit",e.labelLimit),l.exit={opacity:g},l.update=u={opacity:{value:1},text:{field:i.f}},s.x=u.x={field:i.i,offset:e.labelOffset},s.y=u.y={field:i.l,mult:.5,offset:{field:i.o,offset:{field:{group:"entryPadding"},mult:{field:i.e}}}},Object(r.a)(A.e,o.j,i.c,i.p,c,l,n)}},function(t,e,n){"use strict";var i=n(29),r=n(41),A=n(26),o=n(17),a=n(19);e.a=function(t,e,n,c){var s,u,g={value:0},l={};return l.enter=s={opacity:g},Object(a.a)(s,"shape",e.symbolType),Object(a.a)(s,"size",e.symbolSize),Object(a.a)(s,"strokeWidth",e.symbolStrokeWidth),t.fill||(Object(a.a)(s,"fill",e.symbolFillColor),Object(a.a)(s,"stroke",e.symbolStrokeColor)),l.exit={opacity:g},l.update=u={opacity:{value:1}},s.x=u.x={field:i.i,mult:.5},s.y=u.y={field:i.l,mult:.5,offset:{field:i.o,offset:{field:{group:"entryPadding"},mult:{field:i.e}}}},i.h.forEach(function(e){t[e]&&(u[e]=s[e]={scale:t[e],field:i.p})}),Object(r.a)(A.d,o.l,null,i.p,c,l,n)}},function(t,e,n){"use strict";var i=n(29),r=n(41),A=n(26),o=n(17),a=n(19);e.a=function(t,e,n,c){var s,u={value:0},g=t.title,l={};return l.enter=s={x:{field:{group:"padding"}},y:{field:{group:"padding"}},opacity:u},Object(a.a)(s,"align",e.titleAlign),Object(a.a)(s,"baseline",e.titleBaseline),Object(a.a)(s,"fill",e.titleColor),Object(a.a)(s,"font",e.titleFont),Object(a.a)(s,"fontSize",e.titleFontSize),Object(a.a)(s,"fontWeight",e.titleFontWeight),Object(a.a)(s,"limit",e.titleLimit),l.exit={opacity:u},l.update={opacity:{value:1},text:g&&g.signal?{signal:g.signal}:{value:g+""}},Object(r.a)(A.e,o.m,i.d,null,c,l,n)}},function(t,e,n){"use strict";var i=n(522);e.a=function(t){return{clip:t.clip||!1,interactive:!1!==t.interactive,marktype:t.type,name:t.name||void 0,role:t.role||Object(i.a)(t),zindex:+t.zindex||void 0}}},function(t,e,n){"use strict";var i=n(291),r=n(25),A=n(34),o=n(0);e.a=function(t,e,n){var a,c,s,u,g;return t?(a=t.facet)&&(e||Object(o.error)("Only group marks can be faceted."),null!=a.field?u=g=Object(r.k)(n.getData(a.data).output):(t.data?g=Object(r.k)(n.getData(t.data).aggregate):(s=Object(i.a)(Object(o.extend)({type:"aggregate",groupby:Object(o.array)(a.groupby)},a.aggregate),n),s.params.key=n.keyRef(a.groupby),s.params.pulse=Object(r.k)(n.getData(a.data).output),u=g=Object(r.k)(n.add(s))),c=n.keyRef(a.groupby,!0))):u=Object(r.k)(n.add(Object(A.d)(null,[{}]))),u||(u=t.$ref?t:Object(r.k)(n.getData(t.data).output)),{key:c,pulse:u,parent:g}}},function(t,e,n){"use strict";var i=n(190),r=n(133),A=n(25),o=n(34),a=n(0);e.a=function(t,e,n){var c,s,u,g,l=t.from.facet,M=l.name,h=Object(A.k)(e.getData(l.data).output);l.name||Object(a.error)("Facet must have a name: "+Object(a.stringValue)(l)),l.data||Object(a.error)("Facet must reference a data set: "+Object(a.stringValue)(l)),l.field?g=e.add(Object(o.q)({field:e.fieldRef(l.field),pulse:h})):l.groupby?g=e.add(Object(o.h)({key:e.keyRef(l.groupby),group:Object(A.k)(e.proxy(n.parent)),pulse:h})):Object(a.error)("Facet must specify groupby or field: "+Object(a.stringValue)(l)),c=e.fork(),s=c.add(Object(o.d)()),u=c.add(Object(o.w)({pulse:Object(A.k)(s)})),c.addData(M,new r.a(c,s,s,u)),c.addSignal("parent",null),g.params.subflow={$subflow:Object(i.a)(t,c).toRuntime()}}},function(t,e,n){"use strict";var i=n(190),r=n(34);e.a=function(t,e,n){var A=e.add(Object(r.q)({pulse:n.pulse})),o=e.fork();o.add(Object(r.w)()),o.addSignal("parent",null),A.params.subflow={$subflow:Object(i.a)(t,o).toRuntime()}}},function(t,e,n){"use strict";function i(t,e,n,i){var o,u,g,M,h,d,f=t.text,I=t.orient||e.orient,E=t.anchor||e.anchor,T=I===r.g||I===r.n?-1:1,N=I===r.n||I===r.a,y={group:N?"width":"height"},p={};return p.enter=o={opacity:{value:0}},Object(s.a)(o,"fill",e.color),Object(s.a)(o,"font",e.font),Object(s.a)(o,"fontSize",e.fontSize),Object(s.a)(o,"fontWeight",e.fontWeight),p.exit={opacity:{value:0}},p.update=u={opacity:{value:1},text:Object(l.isObject)(f)?f:{value:f+""},offset:Object(s.b)((null!=t.offset?t.offset:e.offset)||0)},"start"===E?(h=0,d="left"):"end"===E?(h=1,d="right"):(h=.5,d="center"),g={field:y,mult:h},M=T<0?{value:0}:N?{field:{group:"height"}}:{field:{group:"width"}},N?(u.x=g,u.y=M,u.angle={value:0},u.baseline={value:I===r.n?"bottom":"top"}):(u.x=M,u.y=g,u.angle={value:90*T},u.baseline={value:"bottom"}),u.align={value:d},u.limit={field:y},Object(s.a)(u,"angle",e.angle),Object(s.a)(u,"baseline",e.baseline),Object(s.a)(u,"limit",e.limit),Object(A.a)(a.e,c.p,t.style||r.b,null,i,p,n)}var r=n(29),A=n(41),o=n(194),a=n(26),c=n(17),s=n(19),u=n(25),g=n(34),l=n(0);e.a=function(t,e){t=Object(l.isString)(t)?{text:t}:t;var n,r,A,a=e.config.title,c=Object(l.extend)({},t.encode);return n={orient:null!=t.orient?t.orient:a.orient},r=Object(u.k)(e.add(Object(g.d)(null,[n]))),c.name=t.name,c.interactive=t.interactive,A=i(t,a,c,r),t.zindex&&(A.zindex=t.zindex),Object(o.a)(A,e)}},function(t,e,n){"use strict";function i(t,e){var n=[];t.transform&&t.transform.forEach(function(t){n.push(Object(o.a)(t,e))}),t.on&&t.on.forEach(function(n){Object(a.a)(n,e,t.name)}),e.addDataPipeline(t.name,r(t,e,n))}function r(t,e,n){var i,r,o,a,g,l=[],M=null,h=!1,d=!1;for(t.values?l.push(M=A({$ingest:t.values,$format:t.format})):t.url?l.push(M=A({$request:t.url,$format:t.format})):t.source&&(M=i=Object(u.array)(t.source).map(function(t){return Object(c.k)(e.getData(t).output)}),l.push(null)),r=0,o=n.length;r<o;++r)a=n[r],g=a.metadata,M||g.source||l.push(M=A()),l.push(a),g.generates&&(d=!0),g.modifies&&!d&&(h=!0),g.source?M=a:g.changes&&(M=null);return i&&(o=i.length-1,l[0]=Object(s.t)({derive:h,pulse:o?i:i[0]}),(h||o)&&l.splice(1,0,A())),M||l.push(A()),l.push(Object(s.w)({})),l}function A(t){var e=Object(s.d)({},t);return e.metadata={source:!0},e}e.a=i;var o=n(291),a=n(523),c=n(25),s=n(34),u=n(0)},function(t,e,n){"use strict";var i=n(1214),r=n(1215),A=n(1216),o=n(1217),a=n(1218),c=n(1219),s=n(521),u=n(17),g=n(194),l=n(19),M=n(29),h=n(25),d=n(34);e.a=function(t,e){var n,f,I,E,T,N,y=Object(i.a)(t,e),p=t.encode||{},C=p.axis||{},D=C.name||void 0,x=!!C.interactive,B=C.style;return n={orient:t.orient,ticks:!!Object(h.n)(t.ticks,y.ticks),labels:!!Object(h.n)(t.labels,y.labels),grid:!!Object(h.n)(t.grid,y.grid),domain:!!Object(h.n)(t.domain,y.domain),title:!!Object(h.n)(t.title,!1)},f=Object(h.k)(e.add(Object(d.d)({},[n]))),C=Object(l.d)({update:{range:{signal:'abs(span(range("'+t.scale+'")))'},offset:Object(l.b)(Object(h.n)(t.offset,0)),position:Object(l.b)(Object(h.n)(t.position,0)),titlePadding:Object(l.b)(Object(h.n)(t.titlePadding,y.titlePadding)),minExtent:Object(l.b)(Object(h.n)(t.minExtent,y.minExtent)),maxExtent:Object(l.b)(Object(h.n)(t.maxExtent,y.maxExtent))}},p.axis,M.m),I=Object(h.k)(e.add(Object(d.b)({scale:e.scaleRef(t.scale),extra:y.tickExtra,count:e.objectProperty(t.tickCount),values:e.objectProperty(t.values),formatSpecifier:e.property(t.format)}))),N=[],n.grid&&N.push(Object(A.a)(t,y,p.grid,I)),n.ticks&&(E=Object(h.n)(t.tickSize,y.tickSize),N.push(Object(o.a)(t,y,p.ticks,I,E))),n.labels&&(E=n.ticks?E:0,N.push(Object(a.a)(t,y,p.labels,I,E))),n.domain&&N.push(Object(r.a)(t,y,p.domain,f)),n.title&&N.push(Object(c.a)(t,y,p.title,f)),T=Object(s.a)(u.d,B,D,f,x,C,N),t.zindex&&(T.zindex=t.zindex),Object(g.a)(T,e)}},function(t,e,n){"use strict";var i=n(29),r=n(0);e.a=function(t,e){var n=e.config,A=t.orient,o=A===i.n||A===i.a?n.axisX:n.axisY,a=n["axis"+A[0].toUpperCase()+A.slice(1)],c="band"===e.scaleType(t.scale)&&n.axisBand;return o||a||c?Object(r.extend)({},n.axis,o,a,c):n.axis}},function(t,e,n){"use strict";function i(t,e){return{scale:t.scale,range:e}}var r=n(29),A=n(41),o=n(26),a=n(17),c=n(19);e.a=function(t,e,n,s){var u,g,l,M,h,d=t.orient,f={value:0},I={};return I.enter=u={opacity:f},Object(c.a)(u,"stroke",e.domainColor),Object(c.a)(u,"strokeWidth",e.domainWidth),I.exit={opacity:f},I.update=g={opacity:{value:1}},d===r.n||d===r.a?(l="x",h="y"):(l="y",h="x"),M=l+"2",u[h]=f,g[l]=u[l]=i(t,0),g[M]=u[M]=i(t,1),Object(A.a)(o.c,a.a,null,null,s,I,n)}},function(t,e,n){"use strict";var i=n(29),r=n(41),A=n(26),o=n(17),a=n(19);e.a=function(t,e,n,c){var s,u,g,l,M,h,d,f,I=t.orient,E=t.gridScale,T=I===i.g||I===i.n?1:-1,N=T*t.offset||0,y={value:0},p={};return p.enter=s={opacity:y},Object(a.a)(s,"stroke",e.gridColor),Object(a.a)(s,"strokeWidth",e.gridWidth),Object(a.a)(s,"strokeDash",e.gridDash),p.exit=u={opacity:y},p.update=g={},Object(a.a)(g,"opacity",e.gridOpacity),l={scale:t.scale,field:i.p,band:e.bandPosition,round:e.tickRound,extra:e.tickExtra,offset:e.tickOffset},I===i.n||I===i.a?(M="x",h="y",f="height"):(M="y",h="x",f="width"),d=h+"2",g[M]=s[M]=u[M]=l,E?(s[h]={scale:E,range:0,mult:T,offset:N},g[d]=s[d]={scale:E,range:1,mult:T,offset:N}):(s[h]={value:N},g[d]=s[d]={signal:f,mult:T,offset:N}),Object(r.a)(A.c,o.b,null,i.p,c,p,n)}},function(t,e,n){"use strict";var i=n(29),r=n(41),A=n(26),o=n(17),a=n(19);e.a=function(t,e,n,c,s){var u,g,l,M,h,d=t.orient,f=d===i.g||d===i.n?-1:1,I={value:0},E={};return E.enter=u={opacity:I},Object(a.a)(u,"stroke",e.tickColor),Object(a.a)(u,"strokeWidth",e.tickWidth),E.exit=g={opacity:I},E.update=l={opacity:{value:1}},M=Object(a.b)(s),M.mult=f,h={scale:t.scale,field:i.p,band:e.bandPosition,round:e.tickRound,extra:e.tickExtra,offset:e.tickOffset},d===i.n||d===i.a?(l.y=u.y=I,l.y2=u.y2=M,l.x=u.x=g.x=h):(l.x=u.x=I,l.x2=u.x2=M,l.y=u.y=g.y=h),Object(r.a)(A.c,o.e,null,i.p,c,E,n)}},function(t,e,n){"use strict";function i(t,e,n,i,r){return{signal:'flush(range("'+t+'"), scale("'+t+'", datum.value), '+e+","+n+","+i+","+r+")"}}var r=n(29),A=n(41),o=n(26),a=n(17),c=n(19),s=n(25);e.a=function(t,e,n,u,g){var l,M,h,d,f,I=t.orient,E=I===r.g||I===r.n?-1:1,T=t.scale,N=Object(s.n)(t.labelPadding,e.labelPadding),y=Object(s.n)(t.labelBound,e.labelBound),p=Object(s.n)(t.labelFlush,e.labelFlush),C=null!=p&&!1!==p&&(p=+p)===p,D=+Object(s.n)(t.labelFlushOffset,e.labelFlushOffset),x=Object(s.n)(t.labelOverlap,e.labelOverlap),B={value:0},w={};return w.enter=l={opacity:B},Object(c.a)(l,"angle",e.labelAngle),Object(c.a)(l,"fill",e.labelColor),Object(c.a)(l,"font",e.labelFont),Object(c.a)(l,"fontSize",e.labelFontSize),Object(c.a)(l,"fontWeight",e.labelFontWeight),Object(c.a)(l,"limit",e.labelLimit),w.exit=M={opacity:B},w.update=h={opacity:{value:1},text:{field:r.f}},d=Object(c.b)(g),d.mult=E,d.offset=Object(c.b)(N),d.offset.mult=E,f={scale:T,field:r.p,band:.5,offset:e.tickOffset},I===r.n||I===r.a?(h.y=l.y=d,h.x=l.x=M.x=f,Object(c.a)(h,"align",C?i(T,p,'"left"','"right"','"center"'):"center"),C&&D&&Object(c.a)(h,"dx",i(T,p,-D,D,0)),Object(c.a)(h,"baseline",I===r.n?"bottom":"top")):(h.x=l.x=d,h.y=l.y=M.y=f,Object(c.a)(h,"align",I===r.k?"left":"right"),Object(c.a)(h,"baseline",C?i(T,p,'"bottom"','"top"','"middle"'):"middle"),C&&D&&Object(c.a)(h,"dy",i(T,p,D,-D,0))),t=Object(A.a)(o.e,a.c,r.c,r.p,u,w,n),(x||y)&&(t.overlap={method:x,order:"datum.index",bound:y?{scale:T,orient:I,tolerance:+y}:null}),t}},function(t,e,n){"use strict";var i=n(29),r=n(41),A=n(19),o=n(26),a=n(17);e.a=function(t,e,n,c){var s,u,g,l=t.orient,M=t.title,h=l===i.g||l===i.n?-1:1,d=l===i.n||l===i.a,f={};return f.enter=s={opacity:{value:0}},Object(A.a)(s,"align",e.titleAlign),Object(A.a)(s,"fill",e.titleColor),Object(A.a)(s,"font",e.titleFont),Object(A.a)(s,"fontSize",e.titleFontSize),Object(A.a)(s,"fontWeight",e.titleFontWeight),Object(A.a)(s,"limit",e.titleLimit),f.exit={opacity:{value:0}},f.update=u={opacity:{value:1},text:M&&M.signal?{signal:M.signal}:{value:M+""}},g={scale:t.scale,range:.5},d?(u.x=g,u.angle={value:0},u.baseline={value:l===i.n?"bottom":"top"}):(u.y=g,u.angle={value:90*h},u.baseline={value:"bottom"}),Object(A.a)(u,"angle",e.titleAngle),Object(A.a)(u,"baseline",e.titleBaseline),!Object(A.a)(u,"x",e.titleX)&&d&&!Object(A.e)("x",n)&&(f.enter.auto={value:!0}),!Object(A.a)(u,"y",e.titleY)&&!d&&!Object(A.e)("y",n)&&(f.enter.auto={value:!0}),Object(r.a)(o.e,a.f,i.d,null,c,f,n)}},function(t,e,n){"use strict";function i(t,e){var n,i;t.params&&((n=e.get(t.id))||Object(a.error)("Invalid operator id: "+t.id),i=Object(A.a)(t.params,e),e.dataflow.connect(n,n.parameters(i)))}e.b=i;var r=n(134),A=n(528),o=n(529),a=n(0);e.a=function(t,e){Object(o.c)(t.type)||!t.type?e.operator(t,t.update?Object(r.d)(t.update,e):null):e.transform(t,t.type)}},function(t,e,n){"use strict";var i=n(134),r=n(0);e.a=function(t,e){var n,A=null!=t.filter?Object(i.b)(t.filter,e):void 0,o=null!=t.stream?e.get(t.stream):void 0;t.source?o=e.events(t.source,t.type,A):t.merge&&(n=t.merge.map(e.get.bind(e)),o=n[0].merge.apply(n[0],n.slice(1))),t.between&&(n=t.between.map(e.get.bind(e)),o=o.between(n[0],n[1])),t.filter&&(o=o.filter(A)),null!=t.throttle&&(o=o.throttle(+t.throttle)),null!=t.debounce&&(o=o.debounce(+t.debounce)),null==o&&Object(r.error)("Invalid stream definition: "+JSON.stringify(t)),t.consume&&o.consume(!0),e.stream(t,o)}},function(t,e,n){"use strict";var i=n(134),r=n(528),A=n(0);e.a=function(t,e){var n=e.get(t.source),o=null,a=t.update,c=void 0;n||Object(A.error)("Source not defined: "+t.source),o=t.target&&t.target.$expr?Object(i.b)(t.target.$expr,e):e.get(t.target),a&&a.$expr&&(a.$params&&(c=Object(r.a)(a.$params,e)),a=Object(i.c)(a.$expr,e)),e.update(t,n,o,a,c)}},function(t,e,n){"use strict";function i(t,e,n){this.dataflow=t,this.transforms=e,this.events=t.events.bind(t),this.signals={},this.scales={},this.nodes={},this.data={},this.fn={},n&&(this.functions=Object.create(n),this.functions.context=this)}function r(t){this.dataflow=t.dataflow,this.transforms=t.transforms,this.functions=t.functions,this.events=t.events,this.signals=Object.create(t.signals),this.scales=Object.create(t.scales),this.nodes=Object.create(t.nodes),this.data=Object.create(t.data),this.fn=Object.create(t.fn),t.functions&&(this.functions=Object.create(t.functions),this.functions.context=this)}var A=n(1224),o=n(529);e.a=function(t,e,n){return new i(t,e,n)},i.prototype=r.prototype={fork:function(){var t=new r(this);return(this.subcontext||(this.subcontext=[])).push(t),t},get:function(t){return this.nodes[t]},set:function(t,e){return this.nodes[t]=e},add:function(t,e){var n,i=this,r=i.dataflow;if(i.set(t.id,e),Object(o.b)(t.type)&&(n=t.value)&&(n.$ingest?r.ingest(e,n.$ingest,n.$format):n.$request?r.request(e,n.$request,n.$format):r.pulse(e,r.changeset().insert(n))),t.root&&(i.root=e),t.parent){var A=i.get(t.parent.$ref);A?(r.connect(A,[e]),e.targets().add(A)):(i.unresolved=i.unresolved||[]).push(function(){A=i.get(t.parent.$ref),r.connect(A,[e]),e.targets().add(A)})}if(t.signal&&(i.signals[t.signal]=e),t.scale&&(i.scales[t.scale]=e),t.data)for(var a in t.data)n=i.data[a]||(i.data[a]={}),t.data[a].forEach(function(t){n[t]=e})},resolve:function(){return(this.unresolved||[]).forEach(function(t){t()}),delete this.unresolved,this},operator:function(t,e,n){this.add(t,this.dataflow.add(t.value,e,n,t.react))},transform:function(t,e,n){this.add(t,this.dataflow.add(this.transforms[Object(o.a)(e)],n))},stream:function(t,e){this.set(t.id,e)},update:function(t,e,n,i,r){this.dataflow.on(e,n,i,r,t.options)},getState:A.a,setState:A.b}},function(t,e,n){"use strict";function i(t){var e=this,n={};if(t.signals){var i=n.signals={};Object.keys(e.signals).forEach(function(n){var r=e.signals[n];t.signals(n,r)&&(i[n]=r.value)})}if(t.data){var r=n.data={};Object.keys(e.data).forEach(function(n){var i=e.data[n];t.data(n,i)&&(r[n]=i.input.value)})}return e.subcontext&&!1!==t.recurse&&(n.subcontext=e.subcontext.map(function(e){return e.getState(t)})),n}function r(t){var e=this,n=e.dataflow,i=t.data,r=t.signals;Object.keys(r||{}).forEach(function(t){n.update(e.signals[t],r[t],o)}),Object.keys(i||{}).forEach(function(t){n.pulse(e.data[t].input,n.changeset().remove(A.truthy).insert(i[t]))}),(t.subcontext||[]).forEach(function(t,n){var i=e.subcontext[n];i&&i.setState(t)})}e.a=i,e.b=r;var A=n(0),o={skip:!0}},function(t,e,n){"use strict";function i(t,e){var n=t.autosize(),i=t.padding();return e-(n&&n.contains===a?i.left+i.right:0)}function r(t,e){var n=t.autosize(),i=t.padding();return e-(n&&n.contains===a?i.top+i.bottom:0)}function A(t){function e(){t._autosize=t._resize=1}var n=t._signals,A=n.width,o=n.height,a=n.padding;t._resizeWidth=t.add(null,function(n){t._width=n.size,t._viewWidth=i(t,n.size),e()},{size:A}),t._resizeHeight=t.add(null,function(n){t._height=n.size,t._viewHeight=r(t,n.size),e()},{size:o});var c=t.add(null,e,{pad:a});t._resizeWidth.rank=A.rank+1,t._resizeHeight.rank=o.rank+1,c.rank=a.rank+1}function o(t,e,n,i,r,A){this.runAfter(function(o){var a=0;o._autosize=0,o.width()!==n&&(a=1,o.width(n),o._resizeWidth.skip(!0)),o.height()!==i&&(a=1,o.height(i),o._resizeHeight.skip(!0)),o._viewWidth!==t&&(o._resize=1,o._viewWidth=t),o._viewHeight!==e&&(o._resize=1,o._viewHeight=e),o._origin[0]===r[0]&&o._origin[1]===r[1]||(o._resize=1,o._origin=r),a&&o.run("enter"),A&&o.runAfter(function(){o.resize()})})}e.d=i,e.c=r,e.a=A,e.b=o;var a="padding"},function(t,e,n){"use strict";function i(t){return this._runtime.getState(t||{data:r,signals:A,recurse:!0})}function r(t,e){return e.modified&&Object(c.isArray)(e.input.value)&&t.indexOf("_:vega:_")}function A(t,e){return!("parent"===t||e instanceof a.q.proxy)}function o(t){var e=this;return e._trigger=!1,e._runtime.setState(t),e.run().runAfter(function(){e._trigger=!0}),this}e.a=i,e.b=o;var a=n(1),c=n(0)},function(t,e,n){"use strict";var i=n(30),r=function(t){return t&&t.__esModule?t:{default:t}}(i),A=n(1228);r.default.register(A.OnSet,"OnSet")},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OnSet=void 0;var i=n(1229),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.OnSet=r.default},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(13),s=i(c),u=n(20),g=i(u),l=n(219),M=n(1230),h=i(M),d=function(t){function e(t,n){r(this,e);var i=A(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return i.options=n,i}return o(e,t),a(e,null,[{key:"options",get:function(){return[{name:"data",type:"table",format:"objectlist"},{name:"id",type:"string",format:"text",domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}},{name:"sets",type:"string_list",format:"string_list",domain:{mode:"field",from:"data",fieldTypes:["integer","boolean"]}},{name:"fields",type:"string_list",format:"string_list",domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}}]}}]),a(e,[{key:"render",value:function(){var t=this;if(this.options.id&&(this.options.sets||this.options.fields)){g.default.select(this.el).html(h.default.template);var e=[];if(this.options.data.forEach(function(n){e.push([n[t.options.id]])}),this.options.sets){var n=["1","yes","true"];this.options.data.forEach(function(i,r){t.options.sets.forEach(function(t){var A=(""+i[t]).toLowerCase();-1!==n.indexOf(A)&&e[r].push(t)})})}this.options.fields&&this.options.fields.forEach(function(n){var i=(0,l.unique)(t.options.data,function(t){return t[n]});t.options.data.forEach(function(t,r){i.forEach(function(i){i===t[n]&&e[r].push(n+" "+i)})})});var i="";if(this.options.rowSets)e.forEach(function(t){i+=t.join(",")+"\n"});else{var r={};e.forEach(function(t){t.forEach(function(e,n){0!==n&&(void 0===r[e]&&(r[e]=[e]),r[e].push(t[0]))})}),Object.keys(r).forEach(function(t){i+=r[t].join(",")+"\n"})}window.sessionStorage.setItem("datatype","custom"),window.sessionStorage.setItem("data",i),h.default.main()}}}]),e}(s.default);e.default=d},function(t,e,n){!function(e,n){t.exports=n()}(0,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={exports:{},id:i,loaded:!1};return t[i].call(r.exports,r,r.exports,e),r.loaded=!0,r.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),A=i(r);n(3);var o=n(9),a=i(o);e.default={template:A.default,main:a.default}},function(t,e,n){t.exports='<div class="onset-body">\n <div id="wrapper">\n <div id="header">\n <h2>OnSet</h2>\n <div id="info">\n <div id="element-label"></div>\n <div id="class-label"></div>\n </div>\n </div>\n <div id="content">\n <div id="trash" class="hidden clearfix"><div class="icon"></div><div>Remove</div></div>\n <svg id="canvas">\n </svg>\n <div id="controls" class="no-selection">\n <div id="list-btns">\n <button id="samples-btn" title="Samples">Sets</button>\n <button id="elements-btn" title="Compounds">Elements</button>\n <div id="bands">\n <label for="bands-cb">Similarity</label>\n <input type="checkbox" id="bands-cb"></input>\n </div>\n <div id="metric">\n \x3c!-- <label for="metric-select">Metric</label> --\x3e\n <select id="metric-select" class="invisible">\n <option value="norm">OnSet</option>\n <option value="jaccard">Jaccard</option>\n </select>\n </div>\n <div id="zoom">\n <div id="zoom-out-btn" title="Zoom out">-</div>\n <div id="zoom-level">100%</div>\n <div id="zoom-in-btn" title="Zoom in">+</div>\n </div>\n </div>\n <div id="lists">\n <div id="samples" class="search-list hidden">\n <input class="search" placeholder="Search" />\n <div id="samples-filters" class="clearfix">\n <button class="clear-sort" title="Original order">Def.</button>\n <button class="sort" title="Sort by name" data-sort="name"><span class="fade">A&#8594;Z</span></button>\n <button class="sort" title="Sort by no. of elements" data-sort="count"><span class="fade"><img src="'+n(2)+'" alt="Count"/></span></button>\n </div>\n <div class="list-container">\n <ul class="list"></ul>\n </div>\n <div id="samples-footer" class="clearfix">\n <button id="add-all-btn" title="Add all samples">Add All</button>\n <div id="sample-count">5 samples</div>\n </div>\n </div>\n <div id="elements" class="search-list hidden">\n <input class="search" placeholder="Search" />\n <div class="list-container">\n <ul class="list"></ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n'},function(t,e){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKcAAABkCAYAAADjaiD2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAuOwAALjsBFTsn2QAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAH8SURBVHic7doxalRRGIbh74iCxYClTZaS0gUIbiW9m3AR6YILcA+WZgHpbGIaweKkGNspcude57v4PDDNwPn5ixfOwJkx5ww0enXpBeAUcVJLnNQSJ7XESS1xUkuc1BIntcRJLXFSS5zUEie1xEktcVJLnNQSJ7XESS1xUkuc1BIntcRJrdeXXuClxhiHJFdnjHiacz6stQ/b2V2cST4kuTvj/NckH1fahQ251qklTmqJk1ripJY4qSVOaomTWuKkljipJU5q7fH5cnVjjOscn0WX+Dnn/LLmPhyJ8+g6yeeFZ++TiHMDrnVqiZNa4qSWOKklTmqJk1ripJY4qSVOaomTWuKklrf1jYwx7pO8X3j805zz25r77JE4t/Pu72eJN2susleudWqJk1ripJY4qSVOaomTWuKkljipJU5qiZNani93Yoxxk+RwxojbOeePtfb5F8S5HzdZ/keSJPmeZFdxutapJU5qiZNa4qSWOKklTmqJk1ripJY4qSVOaomTWuKkljipJU5qiZNa/s959DvJ48Kzv058/5jk7cKZf1aed2pmtTHnvPQOLzLGOCS5OmPE05zzYa192M7u4uT/4TcntcRJLXFSS5zUEie1xEktcVJLnNQSJ7XESS1xUkuc1BIntcRJLXFSS5zUEie1xEktcVJLnNQSJ7WeAWxtMATxrL5jAAAAAElFTkSuQmCC"},function(t,e,n){var i=n(4);"string"==typeof i&&(i=[[t.id,i,""]]);n(8)(i,{});i.locals&&(t.exports=i.locals)},function(t,e,n){e=t.exports=n(5)(),e.push([t.id,"/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */\n\n/*\n * What follows is the result of much research on cross-browser styling.\n * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,\n * Kroc Camen, and the H5BP dev community and team.\n */\n\n/* ==========================================================================\n Base styles: opinionated defaults\n ========================================================================== */\n/*\nhtml,\nbutton,\ninput,\nselect,\ntextarea {\n color: #222;\n}\n\nhtml {\n font-size: 1em;\n line-height: 1.4;\n}\n*/\n/*\n * Remove text-shadow in selection highlight: h5bp.com/i\n * These selection rule sets have to be separate.\n * Customize the background color to match your design.\n */\n/*\n::-moz-selection {\n background: #b3d4fc;\n text-shadow: none;\n}\n\n::selection {\n background: #b3d4fc;\n text-shadow: none;\n}\n*/\n/*\n * A better looking default horizontal rule\n */\n/*\nhr {\n display: block;\n height: 1px;\n border: 0;\n border-top: 1px solid #ccc;\n margin: 1em 0;\n padding: 0;\n}\n*/\n/*\n * Remove the gap between images, videos, audio and canvas and the bottom of\n * their containers: h5bp.com/i/440\n */\n/*\naudio,\ncanvas,\nimg,\nvideo {\n vertical-align: middle;\n}\n */\n/*\n * Allow only vertical resizing of textareas.\n */\n/*\ntextarea {\n resize: vertical;\n}\n*/\n\n/* ==========================================================================\n Author's custom styles\n ========================================================================== */\n\n.onset-body {\n height: 100%;\n padding: 0;\n margin: 0;\n}\n\n/* Removes text selection */\n.onset-body .no-selection {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.onset-body #wrapper {\n position: absolute;\n top: 0px;\n bottom: 0px;\n left: 0px;\n right: 0px;\n padding-top: 60px;\n}\n\n.onset-body #header {\n width: 100%;\n height: 60px;\n margin-top: -60px;\n color: #fff;\n background-color: #222;\n}\n\n.onset-body #header h2 {\n float: left;\n width: 240px;\n margin: 0 10px;\n padding: 0;\n line-height: 60px;\n font-weight: normal;\n}\n\n.onset-body #info {\n width: 100%;\n margin-left: -250px;\n text-align: center;\n line-height: 40px;\n}\n\n.onset-body #element-label{\n height: 40px;\n line-height: 45px;\n}\n\n.onset-body #class-label{\n height: 20px;\n line-height: 5px;\n font-size: .8em;\n color: #fff8bf;\n}\n\n.onset-body #content {\n position: relative;\n width: 100%;\n height: 100%;\n background-color: black;\n}\n\n.onset-body #trash {\n width: 84px;\n margin: auto;\n padding: 10px;\n font-size: .8em;\n text-align: center;\n color: #fff;\n}\n\n.onset-body #trash div {\n float: left;\n line-height: 25px;\n vertical-align: middle;\n}\n\n.onset-body #trash div.icon{\n width: 25px;\n height: 25px;\n margin-right: 8px;\n background-image: url("+n(6)+");\n background-size: 25px 25px;\n}\n\n.onset-body #trash.hover {\n background-color: #fff;\n border-bottom-left-radius: 10px;\n border-bottom-right-radius: 10px;\n}\n\n.onset-body #trash.hover div {\n color: #222;\n}\n\n.onset-body #trash.hover div.icon{\n background-image: url("+n(7)+");\n}\n\n.onset-body #controls {\n position: absolute;\n top: 0px;\n right: 0px;\n}\n\n/* Overrides the default OS X (Lion and later) scrollbar behavior to force the \nscrollbar to always show */\n.onset-body #controls ::-webkit-scrollbar{\n -webkit-appearance: none;\n width: 7px;\n}\n.onset-body #controls ::-webkit-scrollbar-thumb{\n border-radius: 4px;\n background-color: rgba(0,0,0,.5);\n -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);\n}\n\n/* Overrides the \"halo\" border around a button that has been clicked */\n.onset-body #controls button:focus {\n outline:none;\n} \n\n.onset-body #controls button::-moz-focus-inner {\n border:0;\n}\n\n.onset-body #controls button {\n position: relative;\n padding: 0;\n margin: 0;\n font-size: 0.8em;\n background: rgb(243,243,243); /* Old browsers */\n background: -moz-linear-gradient(top, rgba(243,243,243,1) 0%, rgba(214,214,214,1) 100%); /* FF3.6+ */\n background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(243,243,243,1)), color-stop(100%,rgba(214,214,214,1))); /* Chrome,Safari4+ */\n background: -webkit-linear-gradient(top, rgba(243,243,243,1) 0%,rgba(214,214,214,1) 100%); /* Chrome10+,Safari5.1+ */\n background: -o-linear-gradient(top, rgba(243,243,243,1) 0%,rgba(214,214,214,1) 100%); /* Opera 11.10+ */\n background: -ms-linear-gradient(top, rgba(243,243,243,1) 0%,rgba(214,214,214,1) 100%); /* IE10+ */\n background: linear-gradient(to bottom, rgba(243,243,243,1) 0%,rgba(214,214,214,1) 100%); /* W3C */\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f3f3f3', endColorstr='#d6d6d6',GradientType=0 ); /* IE6-9 */\n border: 1px solid #9d9d9d;\n}\n\n.onset-body #controls button:hover {\n background: rgb(199,199,199); /* Old browsers */\n background: -moz-linear-gradient(top, rgba(199,199,199,1) 0%, rgba(175,175,175,1) 100%); /* FF3.6+ */\n background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(199,199,199,1)), color-stop(100%,rgba(175,175,175,1))); /* Chrome,Safari4+ */\n background: -webkit-linear-gradient(top, rgba(199,199,199,1) 0%,rgba(175,175,175,1) 100%); /* Chrome10+,Safari5.1+ */\n background: -o-linear-gradient(top, rgba(199,199,199,1) 0%,rgba(175,175,175,1) 100%); /* Opera 11.10+ */\n background: -ms-linear-gradient(top, rgba(199,199,199,1) 0%,rgba(175,175,175,1) 100%); /* IE10+ */\n background: linear-gradient(to bottom, rgba(199,199,199,1) 0%,rgba(175,175,175,1) 100%); /* W3C */\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c7c7c7', endColorstr='#afafaf',GradientType=0 ); /* IE6-9 */\n border: 1px solid #5d5d5d;\n}\n\n.onset-body #controls button:active{\n background: rgb(157,157,157); /* Old browsers */\n background: -moz-linear-gradient(top, rgba(157,157,157,1) 0%, rgba(176,176,176,1) 100%); /* FF3.6+ */\n background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(157,157,157,1)), color-stop(100%,rgba(176,176,176,1))); /* Chrome,Safari4+ */\n background: -webkit-linear-gradient(top, rgba(157,157,157,1) 0%,rgba(176,176,176,1) 100%); /* Chrome10+,Safari5.1+ */\n background: -o-linear-gradient(top, rgba(157,157,157,1) 0%,rgba(176,176,176,1) 100%); /* Opera 11.10+ */\n background: -ms-linear-gradient(top, rgba(157,157,157,1) 0%,rgba(176,176,176,1) 100%); /* IE10+ */\n background: linear-gradient(to bottom, rgba(157,157,157,1) 0%,rgba(176,176,176,1) 100%); /* W3C */\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9d9d9d', endColorstr='#b0b0b0',GradientType=0 ); /* IE6-9 */\n}\n\n.onset-body #controls button.sort.asc .fade,\n.onset-body #controls button.sort.desc .fade {\n opacity: 0.3;\n}\n\n.onset-body #controls button.sort.asc,\n.onset-body #controls button.sort.desc {\n background: none;\n background-color: #7c7c7c;\n border: none;\n}\n\n.onset-body #controls button.sort.desc:hover,\n.onset-body #controls button.sort.asc:hover {\n border: 1px solid #5d5d5d;\n}\n\n.onset-body #controls button.sort.desc:active,\n.onset-body #controls button.sort.asc:active {\n border: 1px solid #bbb;\n}\n\n\n/* Adds a little triangle marker indicating sort direction using a CSS :after\npsuedo-selector trick */\n.onset-body #controls button.sort.asc:after{\n position: absolute;\n width: 0;\n height: 0;\n border-left: 5px solid transparent;\n border-right: 5px solid transparent;\n border-top: 5px solid #fff;\n content: \"\";\n}\n\n.onset-body #controls button.sort.desc:after{\n position: absolute;\n width: 0;\n height: 0;\n border-left: 5px solid transparent;\n border-right: 5px solid transparent;\n border-bottom: 5px solid #fff;\n content: \"\";\n}\n\n.onset-body #controls .search-list {\n width: 190px;\n}\n\n.onset-body #controls .search-list input.search{\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n width: 100%;\n padding: 3px 4px 3px 4px;\n font-size: .8em;\n}\n\n.onset-body #controls .search-list .list-container {\n width: 100%;\n height: 456px;\n overflow-y: scroll;\n background-color: #fff;\n font-size: .75em;\n}\n\n.onset-body #controls .search-list ul.list {\n margin: 0;\n padding: 0;\n}\n\n.onset-body #controls .search-list li {\n position: relative;\n padding: 3px 4px 3px 4px;\n list-style-type: none;\n cursor: default;\n}\n\n.onset-body #samples-btn {\n position: absolute !important;\n top: -50px;\n right: 90px;\n}\n\n.onset-body #elements-btn {\n position: absolute !important;\n top: -50px;\n right: 0px;\n}\n\n.onset-body #lists{\n position: absolute !important;\n right: 0px;\n top: 80px;\n}\n\n\n.onset-body #samples-filters,\n.onset-body #samples-footer {\n background-color: #9c9c9c;\n}\n\n.onset-body #samples-filters button {\n float: left;\n width: 57px;\n height: 30px;\n margin: 4px 3px 4px 3px;\n}\n\n.onset-body #samples-filters button.sort img {\n position: relative;\n left: -1px;\n top: -1px;\n width: 50px;\n height: 30px;\n}\n\n.onset-body #samples-filters button.sort.asc img,\n.onset-body #samples-filters button.sort.desc img {\n left: -1px;\n top: 0px;\n}\n\n.onset-body #samples-filters button.sort.asc:hover img,\n.onset-body #samples-filters button.sort.desc:hover img {\n left: -1px;\n top: -1px;\n}\n\n.onset-body #samples-filters button.sort:after {\n top: 13px;\n left: 23px;\n}\n\n.onset-body #samples-filters button.sort:hover:after {\n top: 12px;\n left: 22px;\n}\n\n.onset-body #samples-footer button {\n float: right;\n width: 80px;\n height: 30px;\n margin: 4px 3px 4px 3px;\n}\n\n.onset-body #sample-count {\n width: 80px;\n margin: 0px 4px 0px 4px;\n line-height: 38px;\n text-align: center;\n vertical-align: middle;\n font-size: .75em;\n}\n\n.onset-body #samples .list li {\n padding: 3px 4px 5px 4px;\n}\n\n.onset-body #samples .list li div.bar {\n position: absolute; \n bottom: 0px;\n left: -4px;\n height: 4px;\n background-color: #d95101;\n}\n\n.onset-body #samples .list li button {\n position: absolute;\n top: 2px;\n right: 4px;\n width: 25px;\n height: 20px;\n font-size: 1em;\n visibility: hidden;\n}\n\n.onset-body #samples .list li button:hover,\n.onset-body #samples-footer #add-all-btn:hover{\n background: rgb(167,199,220); /* Old browsers */\n background: -moz-linear-gradient(top, rgba(167,199,220,1) 0%, rgba(133,178,211,1) 100%); /* FF3.6+ */\n background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(167,199,220,1)), color-stop(100%,rgba(133,178,211,1))); /* Chrome,Safari4+ */\n background: -webkit-linear-gradient(top, rgba(167,199,220,1) 0%,rgba(133,178,211,1) 100%); /* Chrome10+,Safari5.1+ */\n background: -o-linear-gradient(top, rgba(167,199,220,1) 0%,rgba(133,178,211,1) 100%); /* Opera 11.10+ */\n background: -ms-linear-gradient(top, rgba(167,199,220,1) 0%,rgba(133,178,211,1) 100%); /* IE10+ */\n background: linear-gradient(to bottom, rgba(167,199,220,1) 0%,rgba(133,178,211,1) 100%); /* W3C */\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a7c7dc', endColorstr='#85b2d3',GradientType=0 ); /* IE6-9 */\n border: 1px solid #7d7d7d;\n}\n\n.onset-body #samples .list li button:active,\n.onset-body #samples-footer #add-all-btn:active {\n background: rgb(119,160,189); /* Old browsers */\n background: -moz-linear-gradient(top, rgba(119,160,189,1) 0%, rgba(146,179,202,1) 100%); /* FF3.6+ */\n background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(119,160,189,1)), color-stop(100%,rgba(146,179,202,1))); /* Chrome,Safari4+ */\n background: -webkit-linear-gradient(top, rgba(119,160,189,1) 0%,rgba(146,179,202,1) 100%); /* Chrome10+,Safari5.1+ */\n background: -o-linear-gradient(top, rgba(119,160,189,1) 0%,rgba(146,179,202,1) 100%); /* Opera 11.10+ */\n background: -ms-linear-gradient(top, rgba(119,160,189,1) 0%,rgba(146,179,202,1) 100%); /* IE10+ */\n background: linear-gradient(to bottom, rgba(119,160,189,1) 0%,rgba(146,179,202,1) 100%); /* W3C */\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#77a0bd', endColorstr='#92b3ca',GradientType=0 ); /* IE6-9 */\n}\n\n.onset-body #samples .list li:hover button{\n visibility: visible;\n}\n\n.onset-body #controls .search-list li:nth-child(odd) {\n background-color: #eee;\n}\n\n.onset-body #controls .search-list li:hover {\n background-color: #c3d2ec;\n}\n\n.onset-body #list-btns, .onset-body #lists {\n float: right;\n}\n\n.onset-body #list-btns button{\n display: block;\n width: 80px;\n height: 40px;\n margin: 0 10px;\n margin-bottom: 10px;\n}\n\n.onset-body #list-btns label {\n font-size: .8em;\n color: white;\n}\n\n.onset-body #bands {\n position: absolute !important;\n width: 92px;\n top: 0px;\n right: 0px;\n padding-right: 9px;\n padding-bottom: 2px;\n background-color: #222;\n}\n\n.onset-body #bands label,\n.onset-body #metric label {\n margin-left: 11px;\n}\n\n.onset-body #bands-cb {\n margin-left: 8px;\n}\n\n.onset-body #metric {\n position: absolute !important;\n top: 24px;\n right: 0px;\n padding-right: 15px;\n padding-bottom: 0px;\n height: 0px;\n background-color: #333;\n}\n\n.onset-body #metric select{\n width: 70px;\n margin-left: 16px;\n font-size: 0.8em;\n}\n\n.onset-body #zoom {\n position: absolute;\n top: 25px;\n right: 0px;\n width: 101px;\n height: 20px;\n background-color: #222;\n color: #eee; \n line-height: 21px; \n vertical-align: middle;\n text-align: center;\n}\n\n.onset-body #zoom-out-btn {\n float: left;\n width: 19px;\n height: 100%;\n border-right: 1px solid black;\n background-color: #333;\n}\n\n.onset-body #zoom-out-btn.disabled,\n.onset-body #zoom-in-btn.disabled {\n background-color: #222 !important;\n}\n\n.onset-body #zoom-out-btn:hover,\n.onset-body #zoom-in-btn:hover {\n cursor: pointer;\n background-color: #555;\n}\n\n.onset-body #zoom-out-btn:active,\n.onset-body #zoom-in-btn:active {\n background-color: #333;\n}\n\n.onset-body #zoom-level {\n float: left;\n width: 59px;\n height: 100%;\n border-right: 1px solid black;\n font-size: .7em; \n}\n\n.onset-body #zoom-in-btn {\n float: left; \n width: 20px; \n height: 100%; \n background-color: #333;\n}\n\n\n.onset-body #canvas {\n position: absolute;\n top: 0px;\n left: 0px;\n width: 100%;\n height: 100%;\n}\n\n.onset-body #canvas text{\n font-size: .8em;\n font-family: serif;\n}\n\n.onset-body #canvas text:hover{\n cursor: default;\n}\n\n.onset-body #class-label.similar{\n color: #d6e6f8 !important;\n}\n.onset-body rect.pixel.similar{\n fill: #d6e6f8 !important;\n}\n\n.onset-body rect.pixel.hover{\n fill: rgb(255,255,255) !important;\n}\n\n.onset-body rect.pixel.empty{\n fill-opacity: 0.25;\n fill: white !important;\n}\n\n.onset-body rect.pixel.null{\n fill-opacity: 0;\n fill: black;\n}\n\n.onset-body path.band.hover{\n/* stroke: rgb(255,255,255) !important;*/\n}\n\n/* ==========================================================================\n Helper classes\n ========================================================================== */\n\n/*\n * Hide from both screenreaders and browsers: h5bp.com/u\n */\n\n.onset-body .hidden {\n display: none !important;\n visibility: hidden;\n}\n\n/*\n * Hide visually and from screenreaders, but maintain layout\n */\n\n.onset-body .invisible {\n visibility: hidden;\n}\n\n/*\n * Clearfix: contain floats\n *\n * For modern browsers\n * 1. The space content is one way to avoid an Opera bug when the\n * `contenteditable` attribute is included anywhere else in the document.\n * Otherwise it causes space to appear at the top and bottom of elements\n * that receive the `clearfix` class.\n * 2. The use of `table` rather than `block` is only necessary if using\n * `:before` to contain the top-margins of child elements.\n */\n\n.onset-body .clearfix:before,\n.onset-body .clearfix:after {\n content: \" \"; /* 1 */\n display: table; /* 2 */\n}\n\n.onset-body .clearfix:after {\n clear: both;\n}\n\n/*\n * For IE 6/7 only\n * Include this rule to trigger hasLayout and contain floats.\n */\n\n.onset-body .clearfix {\n *zoom: 1;\n}\n",""])},function(t,e){"use strict";t.exports=function(){var t=[];return t.toString=function(){for(var t=[],e=0;e<this.length;e++){var n=this[e];n[2]?t.push("@media "+n[2]+"{"+n[1]+"}"):t.push(n[1])}return t.join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var i={},r=0;r<this.length;r++){var A=this[r][0];"number"==typeof A&&(i[A]=!0)}for(r=0;r<e.length;r++){var o=e[r];"number"==typeof o[0]&&i[o[0]]||(n&&!o[2]?o[2]=n:n&&(o[2]="("+o[2]+") and ("+n+")"),t.push(o))}},t}},function(t,e){t.exports="data:image/png;base64,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"},function(t,e){t.exports="data:image/png;base64,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AESIAAAAIEIEAAAAESIAAACIEAEAAECECAAAACJEAAAAECECAACACBEAAABEiAAAACBCBAAAABEiAAAAiBABAABAhAgAAAAiRAAAABAhAgAAgAgRAAAARIgAAAAgQgQAAAARIgAAAIgQAQAAQIQIAAAAIkQAAAAQIQIAAIAIEQAAAESIAAAAIEIEAAAAESIAAACIEAEAAECECAAAACJEAAAAECECAACACBEAAABEiAAAACBCBAAAABEiAAAAiBABAABAhAgAAAAiRAAAABAhAgAAgAgRAAAARIgAAAAgQgQAAAARIgAAAIgQAQAAQIQIAAAAIkQAAAAQIQIAAIAIEQAAAESIAAAAIEIEAAAAESIAAACIEAEAAECECAAAACJEAAAAECECAACACBEAAABEiAAAACBCBAAAABEiAAAAiBABAABAhAgAAAAiRAAAABAhAgAAgAgRAAAARIgAAAAgQgQAAAARIgAAAIgQAQAAQIQIAAAAIkQAAAAQIQIAAIAIEQAAAESIAAAAIEIEAAAAESIAAACIEAEAAECECAAAACJEAAAAECECAACACBEAAABEiAAAACBCBAAAABEiAAAAiBABAABAhAgAAAAiRAAAABAhAgAAgAgRAAAARIgAAAAgQgQAAAARIgAAAIgQAQAAQIQIAAAAIkQAAAAQIQIAAIAIEQAAAESIAAAAIEIEAAAAESIAAACIEAEAAECECAAAACJEAAAAECECAACACBEAAABEiAAAACBCBAAAABEiAAAAiBABAABAhAgAAAAiRAAAABAhAgAAgAgRAAAARIgAAAAgQgQAAAARIgAAAIgQAQAAQIQIAAAAIkQAAAAQIQIAAIAIEQAAAESIAAAAIEIEAAAAESIAAACIEAEAAECECAAAACJEAAAAECECAACACBEAAABEiAAAACBCBAAAABEiAAAAiBABAABAhAgAAAAiRAAAABAhAgAAgAgRAAAARIgAAAAgQgQAAAARIgAAAIgQAQAAQIQIAAAAIkQAAAAQIQIAAIAIEQAAAESIAAAAIEIEAAAAESIAAACIEAEAAECECAAAACJEAAAAECECAACACBEAAABEiAAAACBCBAAAABEiAAAAiBABAABAhAgAAAAiRAAAABAhAgAAgAgRAAAARIgAAAAgQgQAAAARIgAAAIgQAQAAQIQIAAAAIkQAAAAQIQIAAIAI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"},function(t,e,n){function i(t,e){for(var n=0;n<t.length;n++){var i=t[n],r=M[i.id];if(r){r.refs++;for(var A=0;A<r.parts.length;A++)r.parts[A](i.parts[A]);for(;A<i.parts.length;A++)r.parts.push(s(i.parts[A],e))}else{for(var o=[],A=0;A<i.parts.length;A++)o.push(s(i.parts[A],e));M[i.id]={id:i.id,refs:1,parts:o}}}}function r(t){for(var e=[],n={},i=0;i<t.length;i++){var r=t[i],A=r[0],o=r[1],a=r[2],c=r[3],s={css:o,media:a,sourceMap:c};n[A]?n[A].parts.push(s):e.push(n[A]={id:A,parts:[s]})}return e}function A(t,e){var n=f(),i=T[T.length-1];if("top"===t.insertAt)i?i.nextSibling?n.insertBefore(e,i.nextSibling):n.appendChild(e):n.insertBefore(e,n.firstChild),T.push(e);else{if("bottom"!==t.insertAt)throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.");n.appendChild(e)}}function o(t){t.parentNode.removeChild(t);var e=T.indexOf(t);e>=0&&T.splice(e,1)}function a(t){var e=document.createElement("style");return e.type="text/css",A(t,e),e}function c(t){var e=document.createElement("link");return e.rel="stylesheet",A(t,e),e}function s(t,e){var n,i,r;if(e.singleton){var A=E++;n=I||(I=a(e)),i=u.bind(null,n,A,!1),r=u.bind(null,n,A,!0)}else t.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=c(e),i=l.bind(null,n),r=function(){o(n),n.href&&URL.revokeObjectURL(n.href)}):(n=a(e),i=g.bind(null,n),r=function(){o(n)});return i(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;i(t=e)}else r()}}function u(t,e,n,i){var r=n?"":i.css;if(t.styleSheet)t.styleSheet.cssText=N(e,r);else{var A=document.createTextNode(r),o=t.childNodes;o[e]&&t.removeChild(o[e]),o.length?t.insertBefore(A,o[e]):t.appendChild(A)}}function g(t,e){var n=e.css,i=e.media;if(i&&t.setAttribute("media",i),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}function l(t,e){var n=e.css,i=e.sourceMap;i&&(n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");var r=new Blob([n],{type:"text/css"}),A=t.href;t.href=URL.createObjectURL(r),A&&URL.revokeObjectURL(A)}var M={},h=function(t){var e;return function(){return void 0===e&&(e=t.apply(this,arguments)),e}},d=h(function(){return/msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())}),f=h(function(){return document.head||document.getElementsByTagName("head")[0]}),I=null,E=0,T=[];t.exports=function(t,e){e=e||{},void 0===e.singleton&&(e.singleton=d()),void 0===e.insertAt&&(e.insertAt="bottom");var n=r(t);return i(n,e),function(t){for(var A=[],o=0;o<n.length;o++){var a=n[o],c=M[a.id];c.refs--,A.push(c)}if(t){i(r(t),e)}for(var o=0;o<A.length;o++){var c=A[o];if(0===c.refs){for(var s=0;s<c.parts.length;s++)c.parts[s]();delete M[c.id]}}}};var N=function(){var t=[];return function(e,n){return t[e]=n,t.filter(Boolean).join("\n")}}()},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(){function t(t){return t.expression().count()>1}function e(t,e){var n=I("#canvas","#trash","#bands-cb","#zoom",this).init();f("#controls",this).on("add.case",n.drawPixelLayer).on("mouseenter.element",n.onElementMouseenter).on("mouseenter.element",function(t){n.onGroupMouseenter(i(t))}).on("mouseleave.element",n.onElementMouseleave).on("mouseleave.element",function(t){n.onGroupMouseleave(i(t))}).on("mouseenter.case",n.onCaseMouseenter).on("mouseleave.case",n.onCaseMouseleave).init();document.getElementById("samples-btn").click()}var n=function(t){return t.value},i=function(t){return t.class},r=function(){var t=this.expression().count(),e=this.expression().not();return this.__old__?d3.rgb(239,72,95):e?"#ff983e":1==t?d3.rgb(79,137,207):"OR"===this.operator()?d3.rgb(255,255,0):d3.rgb(156,247,71)},A=function(){return this.expression().not()?"#ff983e":t(this)?d3.rgb(156,247,71):d3.rgb(79,137,207)},u=function(t){var e=d3.rgb(84,84,84);return t.a.faded()||t.b.faded()?d3.interpolateRgb(d3.rgb(0,0,0),e)(.3):e},M=d3.scale.linear().domain([0,1]).range([2,35]).clamp(!0),h=[.05,20],d=d3.scale.pow().domain([0,20]).range(h).clamp(!0).exponent(2.5),f=function(t,e){function n(t,e){for(var n=Array.prototype.slice.call(arguments,2),i=0;i<f[t].length;i++)f[t][i].apply(e,n)}function i(t){var e={valueNames:["name"],page:t.length};a.select(".list").selectAll("li").data(t).enter().append("li").on("mouseenter.el",function(t){n("mouseenter.element",this,t)}).on("mouseleave.el",function(t){n("mouseleave.element",this,t)}).on("click.el",function(t){n("click.element",this,t)}).append("span").classed("name",!0).html(function(t){return t.value});var i=new g.default("elements",e);i.sort("name"),n("populated.elements",d,i),i.on("searchStart",function(){var t=i.matchingItems;n("searched.elements",d,t)})}function r(t){var e={valueNames:["name","count","class"]},i=d3.scale.linear().domain([0,d3.max(t,function(t){return t.set().count()})]).range([0,100]),A=s.select(".list").selectAll("li").data(t),o=A.enter().append("li").on("mouseenter",function(t){n("mouseenter.case",d,t)}).on("mouseleave",function(t){n("mouseleave.case",d,t)});if(o.append("span").classed("name",!0).html(function(t){return t.label()}),o.append("span").classed("count",!0).classed("hidden",!0).html(function(t){return t.set().count()}),o.append("div").classed("bar",!0).style("width",function(t){return i(t.set().count())+"%"}),o.append("button").attr("title","Add").html("+").on("click",function(t){n("add.case",d,t)}),!M){M=new g.default("samples",e),s.select(".clear-sort").on("click",function(e){d3.selectAll("#samples .sort").classed("asc",!1).classed("desc",!1),d3.selectAll("#samples .list li").remove(),r(t)});var a=M.matchingItems,c=a.length+" sample"+(1==a.length?"":"s");u.text(c),M.on("searchComplete",function(){var t=M.matchingItems,e=t.length+" sample"+(1==t.length?"":"s");u.text(e),n("searched.cases",d,t)})}}var A=d3.select(t),o=A.select("#elements-btn"),a=A.select("#elements"),c=A.select("#samples-btn"),s=A.select("#samples"),u=A.select("#sample-count"),l=A.select("#add-all-btn"),M=null,h=e,d={},f={"mouseenter.element":[],"mouseenter.case":[],"mouseleave.element":[],"mouseleave.case":[],"click.element":[],"click.case":[],"add.case":[],"populated.elements":[],"populated.cases":[],"searched.elements":[],"searched.cases":[]};return d.init=function(){return i(h.elements().elements()),r(h.cases()),c.on("click",function(){a.classed("hidden",!0),s.classed("hidden",function(){return!d3.select(this).classed("hidden")})}),o.on("click",function(){s.classed("hidden",!0),a.classed("hidden",function(){return!d3.select(this).classed("hidden")})}),l.on("click",function(){var t=s.select(".list").selectAll("li");t[0].length,t.each(function(t,e){n("add.case",d,t)})}),d},d.on=function(t,e){return f[t].push(e),d},d},I=function(e,i,a,g,f){function I(t){for(var e=d3.mouse(d3.select(L).node()),n=(e[0],e[1],{top:e[1],left:e[0],bottom:e[1],right:e[0]}),i=t.uuid(),r=null,A=0;A<U.length;A++){var o=U[A];if(o.uuid()!==i&&(0,l.rectOverlap)(n,o.boundingRect(J,P))){r=o;break}}null==R&&null!=r?(R=o,z.onLayerOverlapEnter(t,R)):null!=R&&null==r?(z.onLayerOverlapLeave(t,R),R=null):null!=R&&null!=r&&o.uuid()!=R.uuid()&&(z.onLayerOverlapLeave(t,R),R=o,z.onLayerOverlapEnter(t,R))}function E(t){var e=(0,l.rectOverlap)(t.boundingRect(J,P),k);!G&&e?(G=!0,z.onTrashOverlapEnter(t)):G&&!e&&(G=!1,z.onTrashOverlapLeave(t))}function T(){var t=(0,o.default)("#trash"),e=t.offset().left,n=t.position().top,i=t.outerWidth(),r=t.outerHeight();return{top:n,left:e,bottom:n+r,right:e+i,width:i,height:r}}function N(t){for(var e=t.uuid(),n=0;n<U.length;n++)if(U[n].uuid()===e){U.splice(n,1);break}t.remove()}function y(t){t.moveToFront();for(var e=t.uuid(),n=0;n<U.length;n++)if(U[n].uuid()===e){U.splice(n,1),U.unshift(t);break}}function p(t){t.expression().split().forEach(function(t){v(t).render()}),N(t),D()}function C(t){var e=d3.select("#metric"),n=d3.select("#zoom");t?(e.classed("hidden",!1),e.transition().duration(500).style("height","22px").style("padding-bottom","2px").each("end",function(){d3.select(this).select("select").classed("invisible",!1)}),n.transition().duration(500).style("top","49px")):(e.select("select").classed("invisible",!0),e.transition().duration(500).style("height","0px").style("padding-bottom","0px").each("end",function(){d3.select(this).classed("hidden",!0)}),n.transition().duration(500).style("top","25px"))}function D(t){F=m(void 0==t?[]:t),B(),w()}function x(){d3.selectAll("path.band").each(function(t){(t.a.faded()||t.b.faded())&&d3.select(this).moveToBack()}).transition().duration(500).style("stroke",function(t){return u(t)})}function B(){var t=d3.svg.diagonal().source(function(t){return{x:t.a.x()+t.a.width()/2,y:t.a.y()+t.a.height()/2}}).target(function(t){return{x:t.b.x()+t.b.width()/2,y:t.b.y()+t.b.height()/2}}),e=d3.select(L).select("g.bands"),n=e.selectAll("path.band").data(F);n.enter().append("path").classed("band",!0),n.attr("d",t).style("stroke-width",function(t){return M(t.similarity)}).style("stroke",function(t){return u(t)}).style("fill","none").each(function(t){(t.a.faded()||t.b.faded())&&d3.select(this).moveToBack()}).on("mouseenter",z.onBandMouseenter).on("mouseleave",z.onBandMouseleave).on("click",z.onBandClick),n.exit().remove()}function w(){var t=d3.select(L).select("g.masks"),e=t.selectAll("rect.mask").data(U,function(t){return t.uuid()});e.enter().append("svg:rect").attr("id",function(t){return"mask-"+t.uuid()}).classed("mask",!0),e.attr("x",function(t){return t.x()}).attr("y",function(t){return t.y()}).attr("width",function(t){return t.width()}).attr("height",function(t){return t.height()+20}).attr("fill","black"),e.exit().remove()}function m(t){function e(t){var e=t[0].uuid(),n=t[1].uuid(),i=null;return F.forEach(function(t){var r=t.a.uuid(),A=t.b.uuid();if(e===r&&n===A||e===A&&n===r)return void(i=t)}),i}var n=(0,l.combinations)(U,2),i=void 0==t?[]:t,r=[],A=Y.elements(),o=0,a=0,c=0;return n.forEach(function(t){var n=t[0].uuid(),s=t[1].uuid(),u=!0;if(i.forEach(function(t){var e=t.uuid();e!==n&&e!==s||(o+=1,u=!1)}),u){var g=e(t);if(null!=g)return a+=1,void r.push(g)}var l;l=V?t[0].expression().jaccard(t[1].expression(),A):t[0].expression().similarity(t[1].expression(),A),r.push({a:t[0],b:t[1],similarity:l}),c+=1}),Math.max(F.length-r.length,0),r}function Q(){if(X.length<1)return void(j=!1);var t=X[2],e=X[3];X=[],z.onBandMouseleave.call(t,e),U.forEach(function(t){t.highlight(!0),t.highlightGroups(!0)}),j=!0}function v(t){var e=parseInt(U.length/5),n=U.length-5*e,i=20,o=20,a=Y.elements().elements().length;a<400&&(i=Math.ceil(Math.sqrt(a)),o=i);var c=(0,s.PixelLayer)(L+" g.layers").elements(Y.elements().elements()).expression(t).pixelColor(r).labelColor(A).x(214*n+30-P[0]).y(214*e+60-P[1]).rows(i).columns(o).on("mousedown",z.onMousedown).on("mouseup",z.onMouseup).on("mouseenter",z.onMouseEnter).on("mouseleave",z.onMouseLeave).on("mouseenter.pixel",z.onElementMouseenter).on("mouseleave.pixel",z.onElementMouseleave).on("mouseenter.group",z.onGroupMouseenter).on("mouseleave.group",z.onGroupMouseleave).on("dragstart",z.onDragstart).on("drag",z.onDrag).on("dragend",z.onDragend).on("drag.label",z.onLabelDrag).on("change.operator",z.onOperatorChange).on("click.split",z.onSplitClick);return U.unshift(c),c}var j,L=e,S=i,Y=f,b=a,O=g,z={},U=[],F=[],k=null,R=null,G=!1,H=d3.behavior.zoom().scaleExtent(h),J=H.scale(),P=H.translate(),X=[],V=!1;return z.onMousedown=function(){},z.onMouseup=function(){},z.onMouseEnter=function(){},z.onMouseLeave=function(){X.length>=1&&(d3.select("#element-label").html(X[4]),d3.select("#class-label").html(X[5]).classed("similar",!0))},z.onCaseMouseenter=function(t){X.length>=1||(U.forEach(function(e){e.faded()||e.expression().contains(t)||e.fadeOut(.4)}),d3.selectAll("path.band").each(function(t){(t.a.faded()||t.b.faded())&&d3.select(this).moveToBack()}).transition().duration(500).style("stroke",function(t){return t.a.faded()&&t.b.faded()||(t={a:{faded:function(){return!1}},b:{faded:function(){return!1}}}),u(t)}))},z.onCaseMouseleave=function(t){X.length>=1||(U.forEach(function(t){t.faded()&&t.fadeIn()}),d3.selectAll("path.band").each(function(t){(t.a.faded()||t.b.faded())&&d3.select(this).moveToBack()}).transition().duration(500).style("stroke",function(t){return u(t)}))},z.onElementMouseenter=function(t,e,i){if(X.length>=1){if(null==i)return;if(-1==X.indexOf(i.uuid()))return;var r=n(t);return d3.select("#element-label").html(r),X[3].a.selectAll("rect.pixel").classed("hover",function(t){return n(t)===r}),void X[3].b.selectAll("rect.pixel").classed("hover",function(t){return n(t)===r})}var r=n(t),A=d3.select(this).classed("empty");d3.select("#element-label").html(r),A||(d3.selectAll("rect.pixel").classed("hover",function(t){return n(t)===r}),U.forEach(function(e){e.faded()||e.expression().value(t)||e.fadeOut(.4)}),x())},z.onElementMouseleave=function(t,e,n){if(X.length>=1)return null==n?void 0:-1==X.indexOf(n.uuid())?void 0:(d3.select("#element-label").html(""),X[3].a.selectAll("rect.pixel").classed("hover",!1),void X[3].b.selectAll("rect.pixel").classed("hover",!1));d3.select("#element-label").html(""),d3.selectAll("rect.pixel").classed("hover",!1),U.forEach(function(t){t.faded()&&t.fadeIn()}),x()},z.onGroupMouseenter=function(t,e){if(X.length>=1){if(null==e)return;if(-1==X.indexOf(e.uuid()))return}d3.select("#class-label").html(t).classed("similar",!1)},z.onGroupMouseleave=function(t,e){if(X.length>=1){if(null==e)return;if(-1==X.indexOf(e.uuid()))return}d3.select("#class-label").html("").classed("similar",!1)},z.onDragstart=function(){Q(),y(this),d3.select("#trash").classed("hidden",!1)},z.onDrag=function(){d3.event.sourceEvent.stopPropagation(),I(this),E(this),B(),w()},z.onDragend=function(){G?(z.onTrashDrop(this),G=!1):null!=R&&(z.onLayerDrop(this,R),R=null),d3.select("#trash").classed("hidden",!0)},z.onLayerOverlapEnter=function(t,e){t.__old__=t.expression(),e.__old__=e.expression();var n=e.__old__.preview(t.__old__);n.root().operator("AND"),t.expression(n).preview(),e.expression(n).preview()},z.onLayerOverlapLeave=function(t,e){t.expression(t.__old__),e.expression(e.__old__),delete t.__old__,delete e.__old__,t.redraw(),e.redraw()},z.onLayerDrop=function(t,e){z.onLayerOverlapLeave(t,e),e.expression().merge(t.expression(),!1),e.redraw(),N(t),D([e])},z.onTrashOverlapEnter=function(t){d3.select("#trash").classed("hover",!0)},z.onTrashOverlapLeave=function(t){d3.select("#trash").classed("hover",!1)},z.onTrashDrop=function(t){z.onTrashOverlapLeave(t),null!=R&&z.onLayerOverlapLeave(t,R),z.onElementMouseleave(),z.onGroupMouseleave(),R=null,N(t),D()},z.onLabelDrag=function(e){if(t(this)&&!(e.depth>0)){var n,i=e.node;if((0,c.isOperatorNode)(i))n=(0,c.SetExpression)(i,Y.elements());else{var r=(0,c.OperatorNode)("AND");r.addChild(i),n=(0,c.SetExpression)(r,Y.elements())}e.parent.removeChild(i);var A=this.expression();A.flatten(),v(A).x(this.x()).y(this.y()).render(),y(this),this.expression(n).redraw(),D([this])}},z.onSplitClick=function(){p(this)},z.onOperatorChange=function(t){D([this])},z.toggleBands=function(t){Q();var e=d3.select(L).select("g.bands"),n=void 0==t?!e.classed("hidden"):!t;return e.classed("hidden",n),C(t),z},z.onBandMouseenter=function(t){if(!(X.length>=1)){d3.select(this).classed("hover",!0),U.forEach(function(e){var n=e.uuid();n!==t.a.uuid()&&n!==t.b.uuid()&&e.fadeOut()}),x();var e=t.a.asSet(),n=t.b.asSet(),i=e.intersection(n);if(t.a.selectAll("rect.pixel").classed("similar",function(t){return i.has(t)}),t.b.selectAll("rect.pixel").classed("similar",function(t){return i.has(t)}),V){var r=d3.format(".3f");d3.select("#element-label").html("Jaccard similarity: "+r(t.similarity))}else{var A=Y.elements().count(),o=Math.round(t.similarity*A);d3.select("#element-label").html(o+" matched states")}d3.select("#class-label").html(i.count()+" shared elements"),d3.select("#class-label").classed("similar",!0)}},z.onBandMouseleave=function(t){X.length>=1||(d3.select(this).classed("hover",!1),d3.select("#element-label").html(""),d3.select("#class-label").html(""),d3.select("#class-label").classed("similar",!1),U.forEach(function(t){t.fadeIn()}),x(),-1==X.indexOf(t.a)&&t.a.selectAll("rect.pixel").classed("similar",!1),-1==X.indexOf(t.b)&&t.b.selectAll("rect.pixel").classed("similar",!1))},z.onBandClick=function(t){if(!j){var e=d3.select("#element-label").html(),n=d3.select("#class-label").html();X=[t.a.uuid(),t.b.uuid(),this,t,e,n],d3.event.stopPropagation(),U.forEach(function(t){t.highlight(!1),-1==X.indexOf(t.uuid())&&t.highlightGroups(!1)})}},z.onZoomstart=function(){},z.onZoom=function(){d3.select(L+" g.layers").attr("transform","translate("+d3.event.translate+")scale("+d3.event.scale+")"),d3.select(L+" g.masks").attr("transform","translate("+d3.event.translate+")scale("+d3.event.scale+")"),d3.select(L+" g.bands").attr("transform","translate("+d3.event.translate+")scale("+d3.event.scale+")"),J=H.scale(),P=H.translate();var t=d3.select(O);t.select("#zoom-level").html(Math.round(100*J)+"%"),t.select("#zoom-out-btn").classed("disabled",function(t){return h[0]==J}),t.select("#zoom-in-btn").classed("disabled",function(t){return h[1]==J})},z.onZoomend=function(){},z.scale=function(t){return arguments.length?(H.scale(t),J=H.scale(),H.event(d3.select(L)),z):J},z.drawPixelLayer=function(t){Q();var e=(0,c.DataNode)(t),n=(0,c.OperatorNode)("AND"),i=(0,c.SetExpression)(n,Y.elements());n.addChild(e),i.not();v(i).render();D()},z.init=function(){d3.select(S).classed("hidden",!1),k=T(),d3.select(S).classed("hidden",!0);var t=d3.select(L).append("svg:g");t.append("svg:g").classed("bands",!0).classed("hidden",!0),t.append("svg:g").classed("masks",!0),d3.select(L).append("svg:g").classed("layers",!0),H.on("zoomstart",z.onZoomstart).on("zoom",z.onZoom).on("zoomend",z.onZoomend),d3.select(L).call(H),d3.select(b).on("change",function(t){z.toggleBands(this.checked)});return d3.select(O).select("#zoom-in-btn").on("mousedown",function(t){var e=d.invert(J)+1;z.scale(d(e))}),d3.select(O).select("#zoom-out-btn").on("click",function(t){var e=d.invert(J)-1;z.scale(d(e))}),d3.select("#metric select").on("change",function(){var t=this.options[this.selectedIndex].value;V="jaccard"==t,D(U)}),d3.select(L).on("mousedown",Q),z},z},E=sessionStorage.getItem("datatype");if("custom"===E){var T=(0,a.DataSource)().on("success",e);T.loadCustomData(sessionStorage.getItem("data"))}else if("template"===E){var T=(0,a.DataSource)(sessionStorage.getItem("url")).on("success",e);T.loadURL()}}Object.defineProperty(e,"__esModule",{value:!0}),e.default=r;var A=n(10),o=i(A),a=n(12),c=n(13),s=n(15),u=n(16),g=i(u),l=n(14)},function(t,e,n){var i,r;(function(t){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};/*!
+ * jQuery JavaScript Library v2.2.4
+ * http://jquery.com/
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2016-05-20T17:23Z
+ */
+!function(e,i){"object"===n(t)&&"object"===n(t.exports)?t.exports=e.document?i(e,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return i(t)}:i(e)}("undefined"!=typeof window?window:void 0,function(A,o){function a(t){var e=!!t&&"length"in t&&t.length,n=st.type(t);return"function"!==n&&!st.isWindow(t)&&("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function c(t,e,n){if(st.isFunction(e))return st.grep(t,function(t,i){return!!e.call(t,i,t)!==n});if(e.nodeType)return st.grep(t,function(t){return t===e!==n});if("string"==typeof e){if(Tt.test(e))return st.filter(e,t,n);e=st.filter(e,t)}return st.grep(t,function(t){return rt.call(e,t)>-1!==n})}function s(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}function u(t){var e={};return st.each(t.match(Dt)||[],function(t,n){e[n]=!0}),e}function g(){tt.removeEventListener("DOMContentLoaded",g),A.removeEventListener("load",g),st.ready()}function l(){this.expando=st.expando+l.uid++}function M(t,e,n){var i;if(void 0===n&&1===t.nodeType)if(i="data-"+e.replace(jt,"-$&").toLowerCase(),"string"==typeof(n=t.getAttribute(i))){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:vt.test(n)?st.parseJSON(n):n)}catch(t){}Qt.set(t,e,n)}else n=void 0;return n}function h(t,e,n,i){var r,A=1,o=20,a=i?function(){return i.cur()}:function(){return st.css(t,e,"")},c=a(),s=n&&n[3]||(st.cssNumber[e]?"":"px"),u=(st.cssNumber[e]||"px"!==s&&+c)&&St.exec(st.css(t,e));if(u&&u[3]!==s){s=s||u[3],n=n||[],u=+c||1;do{A=A||".5",u/=A,st.style(t,e,u+s)}while(A!==(A=a()/c)&&1!==A&&--o)}return n&&(u=+u||+c||0,r=n[1]?u+(n[1]+1)*n[2]:+n[2],i&&(i.unit=s,i.start=u,i.end=r)),r}function d(t,e){var n=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||"*"):void 0!==t.querySelectorAll?t.querySelectorAll(e||"*"):[];return void 0===e||e&&st.nodeName(t,e)?st.merge([t],n):n}function f(t,e){for(var n=0,i=t.length;n<i;n++)mt.set(t[n],"globalEval",!e||mt.get(e[n],"globalEval"))}function I(t,e,n,i,r){for(var A,o,a,c,s,u,g=e.createDocumentFragment(),l=[],M=0,h=t.length;M<h;M++)if((A=t[M])||0===A)if("object"===st.type(A))st.merge(l,A.nodeType?[A]:A);else if(kt.test(A)){for(o=o||g.appendChild(e.createElement("div")),a=(zt.exec(A)||["",""])[1].toLowerCase(),c=Ft[a]||Ft._default,o.innerHTML=c[1]+st.htmlPrefilter(A)+c[2],u=c[0];u--;)o=o.lastChild;st.merge(l,o.childNodes),o=g.firstChild,o.textContent=""}else l.push(e.createTextNode(A));for(g.textContent="",M=0;A=l[M++];)if(i&&st.inArray(A,i)>-1)r&&r.push(A);else if(s=st.contains(A.ownerDocument,A),o=d(g.appendChild(A),"script"),s&&f(o),n)for(u=0;A=o[u++];)Ut.test(A.type||"")&&n.push(A);return g}function E(){return!0}function T(){return!1}function N(){try{return tt.activeElement}catch(t){}}function y(t,e,i,r,A,o){var a,c;if("object"===(void 0===e?"undefined":n(e))){"string"!=typeof i&&(r=r||i,i=void 0);for(c in e)y(t,c,i,r,e[c],o);return t}if(null==r&&null==A?(A=i,r=i=void 0):null==A&&("string"==typeof i?(A=r,r=void 0):(A=r,r=i,i=void 0)),!1===A)A=T;else if(!A)return t;return 1===o&&(a=A,A=function(t){return st().off(t),a.apply(this,arguments)},A.guid=a.guid||(a.guid=st.guid++)),t.each(function(){st.event.add(this,e,A,r,i)})}function p(t,e){return st.nodeName(t,"table")&&st.nodeName(11!==e.nodeType?e:e.firstChild,"tr")?t.getElementsByTagName("tbody")[0]||t.appendChild(t.ownerDocument.createElement("tbody")):t}function C(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function D(t){var e=Vt.exec(t.type);return e?t.type=e[1]:t.removeAttribute("type"),t}function x(t,e){var n,i,r,A,o,a,c,s;if(1===e.nodeType){if(mt.hasData(t)&&(A=mt.access(t),o=mt.set(e,A),s=A.events)){delete o.handle,o.events={};for(r in s)for(n=0,i=s[r].length;n<i;n++)st.event.add(e,r,s[r][n])}Qt.hasData(t)&&(a=Qt.access(t),c=st.extend({},a),Qt.set(e,c))}}function B(t,e){var n=e.nodeName.toLowerCase();"input"===n&&Ot.test(t.type)?e.checked=t.checked:"input"!==n&&"textarea"!==n||(e.defaultValue=t.defaultValue)}function w(t,e,n,i){e=nt.apply([],e);var r,A,o,a,c,s,u=0,g=t.length,l=g-1,M=e[0],h=st.isFunction(M);if(h||g>1&&"string"==typeof M&&!ct.checkClone&&Xt.test(M))return t.each(function(r){var A=t.eq(r);h&&(e[0]=M.call(this,r,A.html())),w(A,e,n,i)});if(g&&(r=I(e,t[0].ownerDocument,!1,t,i),A=r.firstChild,1===r.childNodes.length&&(r=A),A||i)){for(o=st.map(d(r,"script"),C),a=o.length;u<g;u++)c=r,u!==l&&(c=st.clone(c,!0,!0),a&&st.merge(o,d(c,"script"))),n.call(t[u],c,u);if(a)for(s=o[o.length-1].ownerDocument,st.map(o,D),u=0;u<a;u++)c=o[u],Ut.test(c.type||"")&&!mt.access(c,"globalEval")&&st.contains(s,c)&&(c.src?st._evalUrl&&st._evalUrl(c.src):st.globalEval(c.textContent.replace(Wt,"")))}return t}function m(t,e,n){for(var i,r=e?st.filter(e,t):t,A=0;null!=(i=r[A]);A++)n||1!==i.nodeType||st.cleanData(d(i)),i.parentNode&&(n&&st.contains(i.ownerDocument,i)&&f(d(i,"script")),i.parentNode.removeChild(i));return t}function Q(t,e){var n=st(e.createElement(t)).appendTo(e.body),i=st.css(n[0],"display");return n.detach(),i}function v(t){var e=tt,n=Zt[t];return n||(n=Q(t,e),"none"!==n&&n||(_t=(_t||st("<iframe frameborder='0' width='0' height='0'/>")).appendTo(e.documentElement),e=_t[0].contentDocument,e.write(),e.close(),n=Q(t,e),_t.detach()),Zt[t]=n),n}function j(t,e,n){var i,r,A,o,a=t.style;return n=n||$t(t),o=n?n.getPropertyValue(e)||n[e]:void 0,""!==o&&void 0!==o||st.contains(t.ownerDocument,t)||(o=st.style(t,e)),n&&!ct.pixelMarginRight()&&qt.test(o)&&Kt.test(e)&&(i=a.width,r=a.minWidth,A=a.maxWidth,a.minWidth=a.maxWidth=a.width=o,o=n.width,a.width=i,a.minWidth=r,a.maxWidth=A),void 0!==o?o+"":o}function L(t,e){return{get:function(){return t()?void delete this.get:(this.get=e).apply(this,arguments)}}}function S(t){if(t in oe)return t;for(var e=t[0].toUpperCase()+t.slice(1),n=Ae.length;n--;)if((t=Ae[n]+e)in oe)return t}function Y(t,e,n){var i=St.exec(e);return i?Math.max(0,i[2]-(n||0))+(i[3]||"px"):e}function b(t,e,n,i,r){for(var A=n===(i?"border":"content")?4:"width"===e?1:0,o=0;A<4;A+=2)"margin"===n&&(o+=st.css(t,n+Yt[A],!0,r)),i?("content"===n&&(o-=st.css(t,"padding"+Yt[A],!0,r)),"margin"!==n&&(o-=st.css(t,"border"+Yt[A]+"Width",!0,r))):(o+=st.css(t,"padding"+Yt[A],!0,r),"padding"!==n&&(o+=st.css(t,"border"+Yt[A]+"Width",!0,r)));return o}function O(t,e,n){var i=!0,r="width"===e?t.offsetWidth:t.offsetHeight,A=$t(t),o="border-box"===st.css(t,"boxSizing",!1,A);if(r<=0||null==r){if(r=j(t,e,A),(r<0||null==r)&&(r=t.style[e]),qt.test(r))return r;i=o&&(ct.boxSizingReliable()||r===t.style[e]),r=parseFloat(r)||0}return r+b(t,e,n||(o?"border":"content"),i,A)+"px"}function z(t,e){for(var n,i,r,A=[],o=0,a=t.length;o<a;o++)i=t[o],i.style&&(A[o]=mt.get(i,"olddisplay"),n=i.style.display,e?(A[o]||"none"!==n||(i.style.display=""),""===i.style.display&&bt(i)&&(A[o]=mt.access(i,"olddisplay",v(i.nodeName)))):(r=bt(i),"none"===n&&r||mt.set(i,"olddisplay",r?n:st.css(i,"display"))));for(o=0;o<a;o++)i=t[o],i.style&&(e&&"none"!==i.style.display&&""!==i.style.display||(i.style.display=e?A[o]||"":"none"));return t}function U(t,e,n,i,r){return new U.prototype.init(t,e,n,i,r)}function F(){return A.setTimeout(function(){ae=void 0}),ae=st.now()}function k(t,e){var n,i=0,r={height:t};for(e=e?1:0;i<4;i+=2-e)n=Yt[i],r["margin"+n]=r["padding"+n]=t;return e&&(r.opacity=r.width=t),r}function R(t,e,n){for(var i,r=(J.tweeners[e]||[]).concat(J.tweeners["*"]),A=0,o=r.length;A<o;A++)if(i=r[A].call(n,e,t))return i}function G(t,e,n){var i,r,A,o,a,c,s,u=this,g={},l=t.style,M=t.nodeType&&bt(t),h=mt.get(t,"fxshow");n.queue||(a=st._queueHooks(t,"fx"),null==a.unqueued&&(a.unqueued=0,c=a.empty.fire,a.empty.fire=function(){a.unqueued||c()}),a.unqueued++,u.always(function(){u.always(function(){a.unqueued--,st.queue(t,"fx").length||a.empty.fire()})})),1===t.nodeType&&("height"in e||"width"in e)&&(n.overflow=[l.overflow,l.overflowX,l.overflowY],s=st.css(t,"display"),"inline"===("none"===s?mt.get(t,"olddisplay")||v(t.nodeName):s)&&"none"===st.css(t,"float")&&(l.display="inline-block")),n.overflow&&(l.overflow="hidden",u.always(function(){l.overflow=n.overflow[0],l.overflowX=n.overflow[1],l.overflowY=n.overflow[2]}));for(i in e)if(r=e[i],se.exec(r)){if(delete e[i],A=A||"toggle"===r,r===(M?"hide":"show")){if("show"!==r||!h||void 0===h[i])continue;M=!0}g[i]=h&&h[i]||st.style(t,i)}else s=void 0;if(st.isEmptyObject(g))"inline"===("none"===s?v(t.nodeName):s)&&(l.display=s);else{h?"hidden"in h&&(M=h.hidden):h=mt.access(t,"fxshow",{}),A&&(h.hidden=!M),M?st(t).show():u.done(function(){st(t).hide()}),u.done(function(){var e;mt.remove(t,"fxshow");for(e in g)st.style(t,e,g[e])});for(i in g)o=R(M?h[i]:0,i,u),i in h||(h[i]=o.start,M&&(o.end=o.start,o.start="width"===i||"height"===i?1:0))}}function H(t,e){var n,i,r,A,o;for(n in t)if(i=st.camelCase(n),r=e[i],A=t[n],st.isArray(A)&&(r=A[1],A=t[n]=A[0]),n!==i&&(t[i]=A,delete t[n]),(o=st.cssHooks[i])&&"expand"in o){A=o.expand(A),delete t[i];for(n in A)n in t||(t[n]=A[n],e[n]=r)}else e[i]=r}function J(t,e,n){var i,r,A=0,o=J.prefilters.length,a=st.Deferred().always(function(){delete c.elem}),c=function(){if(r)return!1;for(var e=ae||F(),n=Math.max(0,s.startTime+s.duration-e),i=n/s.duration||0,A=1-i,o=0,c=s.tweens.length;o<c;o++)s.tweens[o].run(A);return a.notifyWith(t,[s,A,n]),A<1&&c?n:(a.resolveWith(t,[s]),!1)},s=a.promise({elem:t,props:st.extend({},e),opts:st.extend(!0,{specialEasing:{},easing:st.easing._default},n),originalProperties:e,originalOptions:n,startTime:ae||F(),duration:n.duration,tweens:[],createTween:function(e,n){var i=st.Tween(t,s.opts,e,n,s.opts.specialEasing[e]||s.opts.easing);return s.tweens.push(i),i},stop:function(e){var n=0,i=e?s.tweens.length:0;if(r)return this;for(r=!0;n<i;n++)s.tweens[n].run(1);return e?(a.notifyWith(t,[s,1,0]),a.resolveWith(t,[s,e])):a.rejectWith(t,[s,e]),this}}),u=s.props;for(H(u,s.opts.specialEasing);A<o;A++)if(i=J.prefilters[A].call(s,t,u,s.opts))return st.isFunction(i.stop)&&(st._queueHooks(s.elem,s.opts.queue).stop=st.proxy(i.stop,i)),i;return st.map(u,R,s),st.isFunction(s.opts.start)&&s.opts.start.call(t,s),st.fx.timer(st.extend(c,{elem:t,anim:s,queue:s.opts.queue})),s.progress(s.opts.progress).done(s.opts.done,s.opts.complete).fail(s.opts.fail).always(s.opts.always)}function P(t){return t.getAttribute&&t.getAttribute("class")||""}function X(t){return function(e,n){"string"!=typeof e&&(n=e,e="*");var i,r=0,A=e.toLowerCase().match(Dt)||[];if(st.isFunction(n))for(;i=A[r++];)"+"===i[0]?(i=i.slice(1)||"*",(t[i]=t[i]||[]).unshift(n)):(t[i]=t[i]||[]).push(n)}}function V(t,e,n,i){function r(a){var c;return A[a]=!0,st.each(t[a]||[],function(t,a){var s=a(e,n,i);return"string"!=typeof s||o||A[s]?o?!(c=s):void 0:(e.dataTypes.unshift(s),r(s),!1)}),c}var A={},o=t===Qe;return r(e.dataTypes[0])||!A["*"]&&r("*")}function W(t,e){var n,i,r=st.ajaxSettings.flatOptions||{};for(n in e)void 0!==e[n]&&((r[n]?t:i||(i={}))[n]=e[n]);return i&&st.extend(!0,t,i),t}function _(t,e,n){for(var i,r,A,o,a=t.contents,c=t.dataTypes;"*"===c[0];)c.shift(),void 0===i&&(i=t.mimeType||e.getResponseHeader("Content-Type"));if(i)for(r in a)if(a[r]&&a[r].test(i)){c.unshift(r);break}if(c[0]in n)A=c[0];else{for(r in n){if(!c[0]||t.converters[r+" "+c[0]]){A=r;break}o||(o=r)}A=A||o}if(A)return A!==c[0]&&c.unshift(A),n[A]}function Z(t,e,n,i){var r,A,o,a,c,s={},u=t.dataTypes.slice();if(u[1])for(o in t.converters)s[o.toLowerCase()]=t.converters[o];for(A=u.shift();A;)if(t.responseFields[A]&&(n[t.responseFields[A]]=e),!c&&i&&t.dataFilter&&(e=t.dataFilter(e,t.dataType)),c=A,A=u.shift())if("*"===A)A=c;else if("*"!==c&&c!==A){if(!(o=s[c+" "+A]||s["* "+A]))for(r in s)if(a=r.split(" "),a[1]===A&&(o=s[c+" "+a[0]]||s["* "+a[0]])){!0===o?o=s[r]:!0!==s[r]&&(A=a[0],u.unshift(a[1]));break}if(!0!==o)if(o&&t.throws)e=o(e);else try{e=o(e)}catch(t){return{state:"parsererror",error:o?t:"No conversion from "+c+" to "+A}}}return{state:"success",data:e}}function K(t,e,i,r){var A;if(st.isArray(e))st.each(e,function(e,A){i||Se.test(t)?r(t,A):K(t+"["+("object"===(void 0===A?"undefined":n(A))&&null!=A?e:"")+"]",A,i,r)});else if(i||"object"!==st.type(e))r(t,e);else for(A in e)K(t+"["+A+"]",e[A],i,r)}function q(t){return st.isWindow(t)?t:9===t.nodeType&&t.defaultView}var $=[],tt=A.document,et=$.slice,nt=$.concat,it=$.push,rt=$.indexOf,At={},ot=At.toString,at=At.hasOwnProperty,ct={},st=function t(e,n){return new t.fn.init(e,n)},ut=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,gt=/^-ms-/,lt=/-([\da-z])/gi,Mt=function(t,e){return e.toUpperCase()};st.fn=st.prototype={jquery:"2.2.4",constructor:st,selector:"",length:0,toArray:function(){return et.call(this)},get:function(t){return null!=t?t<0?this[t+this.length]:this[t]:et.call(this)},pushStack:function(t){var e=st.merge(this.constructor(),t);return e.prevObject=this,e.context=this.context,e},each:function(t){return st.each(this,t)},map:function(t){return this.pushStack(st.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return this.pushStack(et.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){var e=this.length,n=+t+(t<0?e:0);return this.pushStack(n>=0&&n<e?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:it,sort:$.sort,splice:$.splice},st.extend=st.fn.extend=function(){var t,e,i,r,A,o,a=arguments[0]||{},c=1,s=arguments.length,u=!1;for("boolean"==typeof a&&(u=a,a=arguments[c]||{},c++),"object"===(void 0===a?"undefined":n(a))||st.isFunction(a)||(a={}),c===s&&(a=this,c--);c<s;c++)if(null!=(t=arguments[c]))for(e in t)i=a[e],r=t[e],a!==r&&(u&&r&&(st.isPlainObject(r)||(A=st.isArray(r)))?(A?(A=!1,o=i&&st.isArray(i)?i:[]):o=i&&st.isPlainObject(i)?i:{},a[e]=st.extend(u,o,r)):void 0!==r&&(a[e]=r));return a},st.extend({expando:"jQuery"+("2.2.4"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(t){throw new Error(t)},noop:function(){},isFunction:function(t){return"function"===st.type(t)},isArray:Array.isArray,isWindow:function(t){return null!=t&&t===t.window},isNumeric:function(t){var e=t&&t.toString();return!st.isArray(t)&&e-parseFloat(e)+1>=0},isPlainObject:function(t){var e;if("object"!==st.type(t)||t.nodeType||st.isWindow(t))return!1;if(t.constructor&&!at.call(t,"constructor")&&!at.call(t.constructor.prototype||{},"isPrototypeOf"))return!1;for(e in t);return void 0===e||at.call(t,e)},isEmptyObject:function(t){var e;for(e in t)return!1;return!0},type:function(t){return null==t?t+"":"object"===(void 0===t?"undefined":n(t))||"function"==typeof t?At[ot.call(t)]||"object":void 0===t?"undefined":n(t)},globalEval:function(t){var e,n=eval;(t=st.trim(t))&&(1===t.indexOf("use strict")?(e=tt.createElement("script"),e.text=t,tt.head.appendChild(e).parentNode.removeChild(e)):n(t))},camelCase:function(t){return t.replace(gt,"ms-").replace(lt,Mt)},nodeName:function(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()},each:function(t,e){var n,i=0;if(a(t))for(n=t.length;i<n&&!1!==e.call(t[i],i,t[i]);i++);else for(i in t)if(!1===e.call(t[i],i,t[i]))break;return t},trim:function(t){return null==t?"":(t+"").replace(ut,"")},makeArray:function(t,e){var n=e||[];return null!=t&&(a(Object(t))?st.merge(n,"string"==typeof t?[t]:t):it.call(n,t)),n},inArray:function(t,e,n){return null==e?-1:rt.call(e,t,n)},merge:function(t,e){for(var n=+e.length,i=0,r=t.length;i<n;i++)t[r++]=e[i];return t.length=r,t},grep:function(t,e,n){for(var i=[],r=0,A=t.length,o=!n;r<A;r++)!e(t[r],r)!==o&&i.push(t[r]);return i},map:function(t,e,n){var i,r,A=0,o=[];if(a(t))for(i=t.length;A<i;A++)null!=(r=e(t[A],A,n))&&o.push(r);else for(A in t)null!=(r=e(t[A],A,n))&&o.push(r);return nt.apply([],o)},guid:1,proxy:function(t,e){var n,i,r;if("string"==typeof e&&(n=t[e],e=t,t=n),st.isFunction(t))return i=et.call(arguments,2),r=function(){return t.apply(e||this,i.concat(et.call(arguments)))},r.guid=t.guid=t.guid||st.guid++,r},now:Date.now,support:ct}),"function"==typeof Symbol&&(st.fn[Symbol.iterator]=$[Symbol.iterator]),st.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(t,e){At["[object "+e+"]"]=e.toLowerCase()});var ht=/*!
+ * Sizzle CSS Selector Engine v2.2.1
+ * http://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2015-10-17
+ */
+function(t){function e(t,e,n,i){var r,A,o,a,s,g,l,M,h=e&&e.ownerDocument,d=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==d&&9!==d&&11!==d)return n;if(!i&&((e?e.ownerDocument||e:U)!==v&&Q(e),e=e||v,L)){if(11!==d&&(g=dt.exec(t)))if(r=g[1]){if(9===d){if(!(o=e.getElementById(r)))return n;if(o.id===r)return n.push(o),n}else if(h&&(o=h.getElementById(r))&&O(e,o)&&o.id===r)return n.push(o),n}else{if(g[2])return Z.apply(n,e.getElementsByTagName(t)),n;if((r=g[3])&&T.getElementsByClassName&&e.getElementsByClassName)return Z.apply(n,e.getElementsByClassName(r)),n}if(T.qsa&&!H[t+" "]&&(!S||!S.test(t))){if(1!==d)h=e,M=t;else if("object"!==e.nodeName.toLowerCase()){for((a=e.getAttribute("id"))?a=a.replace(It,"\\$&"):e.setAttribute("id",a=z),l=C(t),A=l.length,s=ut.test(a)?"#"+a:"[id='"+a+"']";A--;)l[A]=s+" "+u(l[A]);M=l.join(","),h=ft.test(t)&&c(e.parentNode)||e}if(M)try{return Z.apply(n,h.querySelectorAll(M)),n}catch(t){}finally{a===z&&e.removeAttribute("id")}}}return x(t.replace(At,"$1"),e,n,i)}function n(){function t(n,i){return e.push(n+" ")>N.cacheLength&&delete t[e.shift()],t[n+" "]=i}var e=[];return t}function i(t){return t[z]=!0,t}function r(t){var e=v.createElement("div");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function A(t,e){for(var n=t.split("|"),i=n.length;i--;)N.attrHandle[n[i]]=e}function o(t,e){var n=e&&t,i=n&&1===t.nodeType&&1===e.nodeType&&(~e.sourceIndex||P)-(~t.sourceIndex||P);if(i)return i;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function a(t){return i(function(e){return e=+e,i(function(n,i){for(var r,A=t([],n.length,e),o=A.length;o--;)n[r=A[o]]&&(n[r]=!(i[r]=n[r]))})})}function c(t){return t&&void 0!==t.getElementsByTagName&&t}function s(){}function u(t){for(var e=0,n=t.length,i="";e<n;e++)i+=t[e].value;return i}function g(t,e,n){var i=e.dir,r=n&&"parentNode"===i,A=k++;return e.first?function(e,n,A){for(;e=e[i];)if(1===e.nodeType||r)return t(e,n,A)}:function(e,n,o){var a,c,s,u=[F,A];if(o){for(;e=e[i];)if((1===e.nodeType||r)&&t(e,n,o))return!0}else for(;e=e[i];)if(1===e.nodeType||r){if(s=e[z]||(e[z]={}),c=s[e.uniqueID]||(s[e.uniqueID]={}),(a=c[i])&&a[0]===F&&a[1]===A)return u[2]=a[2];if(c[i]=u,u[2]=t(e,n,o))return!0}}}function l(t){return t.length>1?function(e,n,i){for(var r=t.length;r--;)if(!t[r](e,n,i))return!1;return!0}:t[0]}function M(t,n,i){for(var r=0,A=n.length;r<A;r++)e(t,n[r],i);return i}function h(t,e,n,i,r){for(var A,o=[],a=0,c=t.length,s=null!=e;a<c;a++)(A=t[a])&&(n&&!n(A,i,r)||(o.push(A),s&&e.push(a)));return o}function d(t,e,n,r,A,o){return r&&!r[z]&&(r=d(r)),A&&!A[z]&&(A=d(A,o)),i(function(i,o,a,c){var s,u,g,l=[],d=[],f=o.length,I=i||M(e||"*",a.nodeType?[a]:a,[]),E=!t||!i&&e?I:h(I,l,t,a,c),T=n?A||(i?t:f||r)?[]:o:E;if(n&&n(E,T,a,c),r)for(s=h(T,d),r(s,[],a,c),u=s.length;u--;)(g=s[u])&&(T[d[u]]=!(E[d[u]]=g));if(i){if(A||t){if(A){for(s=[],u=T.length;u--;)(g=T[u])&&s.push(E[u]=g);A(null,T=[],s,c)}for(u=T.length;u--;)(g=T[u])&&(s=A?q(i,g):l[u])>-1&&(i[s]=!(o[s]=g))}}else T=h(T===o?T.splice(f,T.length):T),A?A(null,o,T,c):Z.apply(o,T)})}function f(t){for(var e,n,i,r=t.length,A=N.relative[t[0].type],o=A||N.relative[" "],a=A?1:0,c=g(function(t){return t===e},o,!0),s=g(function(t){return q(e,t)>-1},o,!0),M=[function(t,n,i){var r=!A&&(i||n!==B)||((e=n).nodeType?c(t,n,i):s(t,n,i));return e=null,r}];a<r;a++)if(n=N.relative[t[a].type])M=[g(l(M),n)];else{if(n=N.filter[t[a].type].apply(null,t[a].matches),n[z]){for(i=++a;i<r&&!N.relative[t[i].type];i++);return d(a>1&&l(M),a>1&&u(t.slice(0,a-1).concat({value:" "===t[a-2].type?"*":""})).replace(At,"$1"),n,a<i&&f(t.slice(a,i)),i<r&&f(t=t.slice(i)),i<r&&u(t))}M.push(n)}return l(M)}function I(t,n){var r=n.length>0,A=t.length>0,o=function(i,o,a,c,s){var u,g,l,M=0,d="0",f=i&&[],I=[],E=B,T=i||A&&N.find.TAG("*",s),y=F+=null==E?1:Math.random()||.1,p=T.length;for(s&&(B=o===v||o||s);d!==p&&null!=(u=T[d]);d++){if(A&&u){for(g=0,o||u.ownerDocument===v||(Q(u),a=!L);l=t[g++];)if(l(u,o||v,a)){c.push(u);break}s&&(F=y)}r&&((u=!l&&u)&&M--,i&&f.push(u))}if(M+=d,r&&d!==M){for(g=0;l=n[g++];)l(f,I,o,a);if(i){if(M>0)for(;d--;)f[d]||I[d]||(I[d]=W.call(c));I=h(I)}Z.apply(c,I),s&&!i&&I.length>0&&M+n.length>1&&e.uniqueSort(c)}return s&&(F=y,B=E),f};return r?i(o):o}var E,T,N,y,p,C,D,x,B,w,m,Q,v,j,L,S,Y,b,O,z="sizzle"+1*new Date,U=t.document,F=0,k=0,R=n(),G=n(),H=n(),J=function(t,e){return t===e&&(m=!0),0},P=1<<31,X={}.hasOwnProperty,V=[],W=V.pop,_=V.push,Z=V.push,K=V.slice,q=function(t,e){for(var n=0,i=t.length;n<i;n++)if(t[n]===e)return n;return-1},$="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",tt="[\\x20\\t\\r\\n\\f]",et="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",nt="\\["+tt+"*("+et+")(?:"+tt+"*([*^$|!~]?=)"+tt+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+et+"))|)"+tt+"*\\]",it=":("+et+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+nt+")*)|.*)\\)|)",rt=new RegExp(tt+"+","g"),At=new RegExp("^"+tt+"+|((?:^|[^\\\\])(?:\\\\.)*)"+tt+"+$","g"),ot=new RegExp("^"+tt+"*,"+tt+"*"),at=new RegExp("^"+tt+"*([>+~]|"+tt+")"+tt+"*"),ct=new RegExp("="+tt+"*([^\\]'\"]*?)"+tt+"*\\]","g"),st=new RegExp(it),ut=new RegExp("^"+et+"$"),gt={ID:new RegExp("^#("+et+")"),CLASS:new RegExp("^\\.("+et+")"),TAG:new RegExp("^("+et+"|[*])"),ATTR:new RegExp("^"+nt),PSEUDO:new RegExp("^"+it),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+tt+"*(even|odd|(([+-]|)(\\d*)n|)"+tt+"*(?:([+-]|)"+tt+"*(\\d+)|))"+tt+"*\\)|)","i"),bool:new RegExp("^(?:"+$+")$","i"),needsContext:new RegExp("^"+tt+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+tt+"*((?:-\\d)?\\d*)"+tt+"*\\)|)(?=[^-]|$)","i")},lt=/^(?:input|select|textarea|button)$/i,Mt=/^h\d$/i,ht=/^[^{]+\{\s*\[native \w/,dt=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ft=/[+~]/,It=/'|\\/g,Et=new RegExp("\\\\([\\da-f]{1,6}"+tt+"?|("+tt+")|.)","ig"),Tt=function(t,e,n){var i="0x"+e-65536;return i!==i||n?e:i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},Nt=function(){Q()};try{Z.apply(V=K.call(U.childNodes),U.childNodes),V[U.childNodes.length].nodeType}catch(t){Z={apply:V.length?function(t,e){_.apply(t,K.call(e))}:function(t,e){for(var n=t.length,i=0;t[n++]=e[i++];);t.length=n-1}}}T=e.support={},p=e.isXML=function(t){var e=t&&(t.ownerDocument||t).documentElement;return!!e&&"HTML"!==e.nodeName},Q=e.setDocument=function(t){var e,n,i=t?t.ownerDocument||t:U;return i!==v&&9===i.nodeType&&i.documentElement?(v=i,j=v.documentElement,L=!p(v),(n=v.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Nt,!1):n.attachEvent&&n.attachEvent("onunload",Nt)),T.attributes=r(function(t){return t.className="i",!t.getAttribute("className")}),T.getElementsByTagName=r(function(t){return t.appendChild(v.createComment("")),!t.getElementsByTagName("*").length}),T.getElementsByClassName=ht.test(v.getElementsByClassName),T.getById=r(function(t){return j.appendChild(t).id=z,!v.getElementsByName||!v.getElementsByName(z).length}),T.getById?(N.find.ID=function(t,e){if(void 0!==e.getElementById&&L){var n=e.getElementById(t);return n?[n]:[]}},N.filter.ID=function(t){var e=t.replace(Et,Tt);return function(t){return t.getAttribute("id")===e}}):(delete N.find.ID,N.filter.ID=function(t){var e=t.replace(Et,Tt);return function(t){var n=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}}),N.find.TAG=T.getElementsByTagName?function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):T.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,i=[],r=0,A=e.getElementsByTagName(t);if("*"===t){for(;n=A[r++];)1===n.nodeType&&i.push(n);return i}return A},N.find.CLASS=T.getElementsByClassName&&function(t,e){if(void 0!==e.getElementsByClassName&&L)return e.getElementsByClassName(t)},Y=[],S=[],(T.qsa=ht.test(v.querySelectorAll))&&(r(function(t){j.appendChild(t).innerHTML="<a id='"+z+"'></a><select id='"+z+"-\r\\' msallowcapture=''><option selected=''></option></select>",t.querySelectorAll("[msallowcapture^='']").length&&S.push("[*^$]="+tt+"*(?:''|\"\")"),t.querySelectorAll("[selected]").length||S.push("\\["+tt+"*(?:value|"+$+")"),t.querySelectorAll("[id~="+z+"-]").length||S.push("~="),t.querySelectorAll(":checked").length||S.push(":checked"),t.querySelectorAll("a#"+z+"+*").length||S.push(".#.+[+~]")}),r(function(t){var e=v.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&S.push("name"+tt+"*[*^$|!~]?="),t.querySelectorAll(":enabled").length||S.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),S.push(",.*:")})),(T.matchesSelector=ht.test(b=j.matches||j.webkitMatchesSelector||j.mozMatchesSelector||j.oMatchesSelector||j.msMatchesSelector))&&r(function(t){T.disconnectedMatch=b.call(t,"div"),b.call(t,"[s!='']:x"),Y.push("!=",it)}),S=S.length&&new RegExp(S.join("|")),Y=Y.length&&new RegExp(Y.join("|")),e=ht.test(j.compareDocumentPosition),O=e||ht.test(j.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,i=e&&e.parentNode;return t===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):t.compareDocumentPosition&&16&t.compareDocumentPosition(i)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},J=e?function(t,e){if(t===e)return m=!0,0;var n=!t.compareDocumentPosition-!e.compareDocumentPosition;return n||(n=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1,1&n||!T.sortDetached&&e.compareDocumentPosition(t)===n?t===v||t.ownerDocument===U&&O(U,t)?-1:e===v||e.ownerDocument===U&&O(U,e)?1:w?q(w,t)-q(w,e):0:4&n?-1:1)}:function(t,e){if(t===e)return m=!0,0;var n,i=0,r=t.parentNode,A=e.parentNode,a=[t],c=[e];if(!r||!A)return t===v?-1:e===v?1:r?-1:A?1:w?q(w,t)-q(w,e):0;if(r===A)return o(t,e);for(n=t;n=n.parentNode;)a.unshift(n);for(n=e;n=n.parentNode;)c.unshift(n);for(;a[i]===c[i];)i++;return i?o(a[i],c[i]):a[i]===U?-1:c[i]===U?1:0},v):v},e.matches=function(t,n){return e(t,null,null,n)},e.matchesSelector=function(t,n){if((t.ownerDocument||t)!==v&&Q(t),n=n.replace(ct,"='$1']"),T.matchesSelector&&L&&!H[n+" "]&&(!Y||!Y.test(n))&&(!S||!S.test(n)))try{var i=b.call(t,n);if(i||T.disconnectedMatch||t.document&&11!==t.document.nodeType)return i}catch(t){}return e(n,v,null,[t]).length>0},e.contains=function(t,e){return(t.ownerDocument||t)!==v&&Q(t),O(t,e)},e.attr=function(t,e){(t.ownerDocument||t)!==v&&Q(t);var n=N.attrHandle[e.toLowerCase()],i=n&&X.call(N.attrHandle,e.toLowerCase())?n(t,e,!L):void 0;return void 0!==i?i:T.attributes||!L?t.getAttribute(e):(i=t.getAttributeNode(e))&&i.specified?i.value:null},e.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},e.uniqueSort=function(t){var e,n=[],i=0,r=0;if(m=!T.detectDuplicates,w=!T.sortStable&&t.slice(0),t.sort(J),m){for(;e=t[r++];)e===t[r]&&(i=n.push(r));for(;i--;)t.splice(n[i],1)}return w=null,t},y=e.getText=function(t){var e,n="",i=0,r=t.nodeType;if(r){if(1===r||9===r||11===r){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=y(t)}else if(3===r||4===r)return t.nodeValue}else for(;e=t[i++];)n+=y(e);return n},N=e.selectors={cacheLength:50,createPseudo:i,match:gt,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(Et,Tt),t[3]=(t[3]||t[4]||t[5]||"").replace(Et,Tt),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||e.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&e.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return gt.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&st.test(n)&&(e=C(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(Et,Tt).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=R[t+" "];return e||(e=new RegExp("(^|"+tt+")"+t+"("+tt+"|$)"))&&R(t,function(t){return e.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")})},ATTR:function(t,n,i){return function(r){var A=e.attr(r,t);return null==A?"!="===n:!n||(A+="","="===n?A===i:"!="===n?A!==i:"^="===n?i&&0===A.indexOf(i):"*="===n?i&&A.indexOf(i)>-1:"$="===n?i&&A.slice(-i.length)===i:"~="===n?(" "+A.replace(rt," ")+" ").indexOf(i)>-1:"|="===n&&(A===i||A.slice(0,i.length+1)===i+"-"))}},CHILD:function(t,e,n,i,r){var A="nth"!==t.slice(0,3),o="last"!==t.slice(-4),a="of-type"===e;return 1===i&&0===r?function(t){return!!t.parentNode}:function(e,n,c){var s,u,g,l,M,h,d=A!==o?"nextSibling":"previousSibling",f=e.parentNode,I=a&&e.nodeName.toLowerCase(),E=!c&&!a,T=!1;if(f){if(A){for(;d;){for(l=e;l=l[d];)if(a?l.nodeName.toLowerCase()===I:1===l.nodeType)return!1;h=d="only"===t&&!h&&"nextSibling"}return!0}if(h=[o?f.firstChild:f.lastChild],o&&E){for(l=f,g=l[z]||(l[z]={}),u=g[l.uniqueID]||(g[l.uniqueID]={}),s=u[t]||[],M=s[0]===F&&s[1],T=M&&s[2],l=M&&f.childNodes[M];l=++M&&l&&l[d]||(T=M=0)||h.pop();)if(1===l.nodeType&&++T&&l===e){u[t]=[F,M,T];break}}else if(E&&(l=e,g=l[z]||(l[z]={}),u=g[l.uniqueID]||(g[l.uniqueID]={}),s=u[t]||[],M=s[0]===F&&s[1],T=M),!1===T)for(;(l=++M&&l&&l[d]||(T=M=0)||h.pop())&&((a?l.nodeName.toLowerCase()!==I:1!==l.nodeType)||!++T||(E&&(g=l[z]||(l[z]={}),u=g[l.uniqueID]||(g[l.uniqueID]={}),u[t]=[F,T]),l!==e)););return(T-=r)===i||T%i==0&&T/i>=0}}},PSEUDO:function(t,n){var r,A=N.pseudos[t]||N.setFilters[t.toLowerCase()]||e.error("unsupported pseudo: "+t);return A[z]?A(n):A.length>1?(r=[t,t,"",n],N.setFilters.hasOwnProperty(t.toLowerCase())?i(function(t,e){for(var i,r=A(t,n),o=r.length;o--;)i=q(t,r[o]),t[i]=!(e[i]=r[o])}):function(t){return A(t,0,r)}):A}},pseudos:{not:i(function(t){var e=[],n=[],r=D(t.replace(At,"$1"));return r[z]?i(function(t,e,n,i){for(var A,o=r(t,null,i,[]),a=t.length;a--;)(A=o[a])&&(t[a]=!(e[a]=A))}):function(t,i,A){return e[0]=t,r(e,null,A,n),e[0]=null,!n.pop()}}),has:i(function(t){return function(n){return e(t,n).length>0}}),contains:i(function(t){return t=t.replace(Et,Tt),function(e){return(e.textContent||e.innerText||y(e)).indexOf(t)>-1}}),lang:i(function(t){return ut.test(t||"")||e.error("unsupported lang: "+t),t=t.replace(Et,Tt).toLowerCase(),function(e){var n;do{if(n=L?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(n=n.toLowerCase())===t||0===n.indexOf(t+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===j},focus:function(t){return t===v.activeElement&&(!v.hasFocus||v.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:function(t){return!1===t.disabled},disabled:function(t){return!0===t.disabled},checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!N.pseudos.empty(t)},header:function(t){return Mt.test(t.nodeName)},input:function(t){return lt.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:a(function(){return[0]}),last:a(function(t,e){return[e-1]}),eq:a(function(t,e,n){return[n<0?n+e:n]}),even:a(function(t,e){for(var n=0;n<e;n+=2)t.push(n);return t}),odd:a(function(t,e){for(var n=1;n<e;n+=2)t.push(n);return t}),lt:a(function(t,e,n){for(var i=n<0?n+e:n;--i>=0;)t.push(i);return t}),gt:a(function(t,e,n){for(var i=n<0?n+e:n;++i<e;)t.push(i);return t})}},N.pseudos.nth=N.pseudos.eq;for(E in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})N.pseudos[E]=function(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}(E);for(E in{submit:!0,reset:!0})N.pseudos[E]=function(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}(E);return s.prototype=N.filters=N.pseudos,N.setFilters=new s,C=e.tokenize=function(t,n){var i,r,A,o,a,c,s,u=G[t+" "];if(u)return n?0:u.slice(0);for(a=t,c=[],s=N.preFilter;a;){i&&!(r=ot.exec(a))||(r&&(a=a.slice(r[0].length)||a),c.push(A=[])),i=!1,(r=at.exec(a))&&(i=r.shift(),A.push({value:i,type:r[0].replace(At," ")}),a=a.slice(i.length));for(o in N.filter)!(r=gt[o].exec(a))||s[o]&&!(r=s[o](r))||(i=r.shift(),A.push({value:i,type:o,matches:r}),a=a.slice(i.length));if(!i)break}return n?a.length:a?e.error(t):G(t,c).slice(0)},D=e.compile=function(t,e){var n,i=[],r=[],A=H[t+" "];if(!A){for(e||(e=C(t)),n=e.length;n--;)A=f(e[n]),A[z]?i.push(A):r.push(A);A=H(t,I(r,i)),A.selector=t}return A},x=e.select=function(t,e,n,i){var r,A,o,a,s,g="function"==typeof t&&t,l=!i&&C(t=g.selector||t);if(n=n||[],1===l.length){if(A=l[0]=l[0].slice(0),A.length>2&&"ID"===(o=A[0]).type&&T.getById&&9===e.nodeType&&L&&N.relative[A[1].type]){if(!(e=(N.find.ID(o.matches[0].replace(Et,Tt),e)||[])[0]))return n;g&&(e=e.parentNode),t=t.slice(A.shift().value.length)}for(r=gt.needsContext.test(t)?0:A.length;r--&&(o=A[r],!N.relative[a=o.type]);)if((s=N.find[a])&&(i=s(o.matches[0].replace(Et,Tt),ft.test(A[0].type)&&c(e.parentNode)||e))){if(A.splice(r,1),!(t=i.length&&u(A)))return Z.apply(n,i),n;break}}return(g||D(t,l))(i,e,!L,n,!e||ft.test(t)&&c(e.parentNode)||e),n},T.sortStable=z.split("").sort(J).join("")===z,T.detectDuplicates=!!m,Q(),T.sortDetached=r(function(t){return 1&t.compareDocumentPosition(v.createElement("div"))}),r(function(t){return t.innerHTML="<a href='#'></a>","#"===t.firstChild.getAttribute("href")})||A("type|href|height|width",function(t,e,n){if(!n)return t.getAttribute(e,"type"===e.toLowerCase()?1:2)}),T.attributes&&r(function(t){return t.innerHTML="<input/>",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")})||A("value",function(t,e,n){if(!n&&"input"===t.nodeName.toLowerCase())return t.defaultValue}),r(function(t){return null==t.getAttribute("disabled")})||A($,function(t,e,n){var i;if(!n)return!0===t[e]?e.toLowerCase():(i=t.getAttributeNode(e))&&i.specified?i.value:null}),e}(A);st.find=ht,st.expr=ht.selectors,st.expr[":"]=st.expr.pseudos,st.uniqueSort=st.unique=ht.uniqueSort,st.text=ht.getText,st.isXMLDoc=ht.isXML,st.contains=ht.contains;var dt=function(t,e,n){for(var i=[],r=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(r&&st(t).is(n))break;i.push(t)}return i},ft=function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n},It=st.expr.match.needsContext,Et=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,Tt=/^.[^:#\[\.,]*$/;st.filter=function(t,e,n){var i=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===i.nodeType?st.find.matchesSelector(i,t)?[i]:[]:st.find.matches(t,st.grep(e,function(t){return 1===t.nodeType}))},st.fn.extend({find:function(t){var e,n=this.length,i=[],r=this;if("string"!=typeof t)return this.pushStack(st(t).filter(function(){for(e=0;e<n;e++)if(st.contains(r[e],this))return!0}));for(e=0;e<n;e++)st.find(t,r[e],i);return i=this.pushStack(n>1?st.unique(i):i),i.selector=this.selector?this.selector+" "+t:t,i},filter:function(t){return this.pushStack(c(this,t||[],!1))},not:function(t){return this.pushStack(c(this,t||[],!0))},is:function(t){return!!c(this,"string"==typeof t&&It.test(t)?st(t):t||[],!1).length}});var Nt,yt=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;(st.fn.init=function(t,e,n){var i,r;if(!t)return this;if(n=n||Nt,"string"==typeof t){if(!(i="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:yt.exec(t))||!i[1]&&e)return!e||e.jquery?(e||n).find(t):this.constructor(e).find(t);if(i[1]){if(e=e instanceof st?e[0]:e,st.merge(this,st.parseHTML(i[1],e&&e.nodeType?e.ownerDocument||e:tt,!0)),Et.test(i[1])&&st.isPlainObject(e))for(i in e)st.isFunction(this[i])?this[i](e[i]):this.attr(i,e[i]);return this}return r=tt.getElementById(i[2]),r&&r.parentNode&&(this.length=1,this[0]=r),this.context=tt,this.selector=t,this}return t.nodeType?(this.context=this[0]=t,this.length=1,this):st.isFunction(t)?void 0!==n.ready?n.ready(t):t(st):(void 0!==t.selector&&(this.selector=t.selector,this.context=t.context),st.makeArray(t,this))}).prototype=st.fn,Nt=st(tt);var pt=/^(?:parents|prev(?:Until|All))/,Ct={children:!0,contents:!0,next:!0,prev:!0};st.fn.extend({has:function(t){var e=st(t,this),n=e.length;return this.filter(function(){for(var t=0;t<n;t++)if(st.contains(this,e[t]))return!0})},closest:function(t,e){for(var n,i=0,r=this.length,A=[],o=It.test(t)||"string"!=typeof t?st(t,e||this.context):0;i<r;i++)for(n=this[i];n&&n!==e;n=n.parentNode)if(n.nodeType<11&&(o?o.index(n)>-1:1===n.nodeType&&st.find.matchesSelector(n,t))){A.push(n);break}return this.pushStack(A.length>1?st.uniqueSort(A):A)},index:function(t){return t?"string"==typeof t?rt.call(st(t),this[0]):rt.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(st.uniqueSort(st.merge(this.get(),st(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),st.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return dt(t,"parentNode")},parentsUntil:function(t,e,n){return dt(t,"parentNode",n)},next:function(t){return s(t,"nextSibling")},prev:function(t){return s(t,"previousSibling")},nextAll:function(t){return dt(t,"nextSibling")},prevAll:function(t){return dt(t,"previousSibling")},nextUntil:function(t,e,n){return dt(t,"nextSibling",n)},prevUntil:function(t,e,n){return dt(t,"previousSibling",n)},siblings:function(t){return ft((t.parentNode||{}).firstChild,t)},children:function(t){return ft(t.firstChild)},contents:function(t){return t.contentDocument||st.merge([],t.childNodes)}},function(t,e){st.fn[t]=function(n,i){var r=st.map(this,e,n);return"Until"!==t.slice(-5)&&(i=n),i&&"string"==typeof i&&(r=st.filter(i,r)),this.length>1&&(Ct[t]||st.uniqueSort(r),pt.test(t)&&r.reverse()),this.pushStack(r)}});var Dt=/\S+/g;st.Callbacks=function(t){t="string"==typeof t?u(t):st.extend({},t);var e,n,i,r,A=[],o=[],a=-1,c=function(){for(r=t.once,i=e=!0;o.length;a=-1)for(n=o.shift();++a<A.length;)!1===A[a].apply(n[0],n[1])&&t.stopOnFalse&&(a=A.length,n=!1);t.memory||(n=!1),e=!1,r&&(A=n?[]:"")},s={add:function(){return A&&(n&&!e&&(a=A.length-1,o.push(n)),function e(n){st.each(n,function(n,i){st.isFunction(i)?t.unique&&s.has(i)||A.push(i):i&&i.length&&"string"!==st.type(i)&&e(i)})}(arguments),n&&!e&&c()),this},remove:function(){return st.each(arguments,function(t,e){for(var n;(n=st.inArray(e,A,n))>-1;)A.splice(n,1),n<=a&&a--}),this},has:function(t){return t?st.inArray(t,A)>-1:A.length>0},empty:function(){return A&&(A=[]),this},disable:function(){return r=o=[],A=n="",this},disabled:function(){return!A},lock:function(){return r=o=[],n||(A=n=""),this},locked:function(){return!!r},fireWith:function(t,n){return r||(n=n||[],n=[t,n.slice?n.slice():n],o.push(n),e||c()),this},fire:function(){return s.fireWith(this,arguments),this},fired:function(){return!!i}};return s},st.extend({Deferred:function(t){var e=[["resolve","done",st.Callbacks("once memory"),"resolved"],["reject","fail",st.Callbacks("once memory"),"rejected"],["notify","progress",st.Callbacks("memory")]],n="pending",i={state:function(){return n},always:function(){return r.done(arguments).fail(arguments),this},then:function(){var t=arguments;return st.Deferred(function(n){st.each(e,function(e,A){var o=st.isFunction(t[e])&&t[e];r[A[1]](function(){var t=o&&o.apply(this,arguments);t&&st.isFunction(t.promise)?t.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[A[0]+"With"](this===i?n.promise():this,o?[t]:arguments)})}),t=null}).promise()},promise:function(t){return null!=t?st.extend(t,i):i}},r={};return i.pipe=i.then,st.each(e,function(t,A){var o=A[2],a=A[3];i[A[1]]=o.add,a&&o.add(function(){n=a},e[1^t][2].disable,e[2][2].lock),r[A[0]]=function(){return r[A[0]+"With"](this===r?i:this,arguments),this},r[A[0]+"With"]=o.fireWith}),i.promise(r),t&&t.call(r,r),r},when:function(t){var e,n,i,r=0,A=et.call(arguments),o=A.length,a=1!==o||t&&st.isFunction(t.promise)?o:0,c=1===a?t:st.Deferred(),s=function(t,n,i){return function(r){n[t]=this,i[t]=arguments.length>1?et.call(arguments):r,i===e?c.notifyWith(n,i):--a||c.resolveWith(n,i)}};if(o>1)for(e=new Array(o),n=new Array(o),i=new Array(o);r<o;r++)A[r]&&st.isFunction(A[r].promise)?A[r].promise().progress(s(r,n,e)).done(s(r,i,A)).fail(c.reject):--a;return a||c.resolveWith(i,A),c.promise()}});var xt;st.fn.ready=function(t){return st.ready.promise().done(t),this},st.extend({isReady:!1,readyWait:1,holdReady:function(t){t?st.readyWait++:st.ready(!0)},ready:function(t){(!0===t?--st.readyWait:st.isReady)||(st.isReady=!0,!0!==t&&--st.readyWait>0||(xt.resolveWith(tt,[st]),st.fn.triggerHandler&&(st(tt).triggerHandler("ready"),st(tt).off("ready"))))}}),st.ready.promise=function(t){return xt||(xt=st.Deferred(),"complete"===tt.readyState||"loading"!==tt.readyState&&!tt.documentElement.doScroll?A.setTimeout(st.ready):(tt.addEventListener("DOMContentLoaded",g),A.addEventListener("load",g))),xt.promise(t)},st.ready.promise();var Bt=function t(e,n,i,r,A,o,a){var c=0,s=e.length,u=null==i;if("object"===st.type(i)){A=!0;for(c in i)t(e,n,c,i[c],!0,o,a)}else if(void 0!==r&&(A=!0,st.isFunction(r)||(a=!0),u&&(a?(n.call(e,r),n=null):(u=n,n=function(t,e,n){return u.call(st(t),n)})),n))for(;c<s;c++)n(e[c],i,a?r:r.call(e[c],c,n(e[c],i)));return A?e:u?n.call(e):s?n(e[0],i):o},wt=function(t){return 1===t.nodeType||9===t.nodeType||!+t.nodeType};l.uid=1,l.prototype={register:function(t,e){var n=e||{};return t.nodeType?t[this.expando]=n:Object.defineProperty(t,this.expando,{value:n,writable:!0,configurable:!0}),t[this.expando]},cache:function(t){if(!wt(t))return{};var e=t[this.expando];return e||(e={},wt(t)&&(t.nodeType?t[this.expando]=e:Object.defineProperty(t,this.expando,{value:e,configurable:!0}))),e},set:function(t,e,n){var i,r=this.cache(t);if("string"==typeof e)r[e]=n;else for(i in e)r[i]=e[i];return r},get:function(t,e){return void 0===e?this.cache(t):t[this.expando]&&t[this.expando][e]},access:function(t,e,n){var i;return void 0===e||e&&"string"==typeof e&&void 0===n?(i=this.get(t,e),void 0!==i?i:this.get(t,st.camelCase(e))):(this.set(t,e,n),void 0!==n?n:e)},remove:function(t,e){var n,i,r,A=t[this.expando];if(void 0!==A){if(void 0===e)this.register(t);else{st.isArray(e)?i=e.concat(e.map(st.camelCase)):(r=st.camelCase(e),e in A?i=[e,r]:(i=r,i=i in A?[i]:i.match(Dt)||[])),n=i.length;for(;n--;)delete A[i[n]]}(void 0===e||st.isEmptyObject(A))&&(t.nodeType?t[this.expando]=void 0:delete t[this.expando])}},hasData:function(t){var e=t[this.expando];return void 0!==e&&!st.isEmptyObject(e)}};var mt=new l,Qt=new l,vt=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,jt=/[A-Z]/g;st.extend({hasData:function(t){return Qt.hasData(t)||mt.hasData(t)},data:function(t,e,n){return Qt.access(t,e,n)},removeData:function(t,e){Qt.remove(t,e)},_data:function(t,e,n){return mt.access(t,e,n)},_removeData:function(t,e){mt.remove(t,e)}}),st.fn.extend({data:function(t,e){var i,r,A,o=this[0],a=o&&o.attributes;if(void 0===t){if(this.length&&(A=Qt.get(o),1===o.nodeType&&!mt.get(o,"hasDataAttrs"))){for(i=a.length;i--;)a[i]&&(r=a[i].name,0===r.indexOf("data-")&&(r=st.camelCase(r.slice(5)),M(o,r,A[r])));mt.set(o,"hasDataAttrs",!0)}return A}return"object"===(void 0===t?"undefined":n(t))?this.each(function(){Qt.set(this,t)}):Bt(this,function(e){var n,i;if(o&&void 0===e){if(void 0!==(n=Qt.get(o,t)||Qt.get(o,t.replace(jt,"-$&").toLowerCase())))return n;if(i=st.camelCase(t),void 0!==(n=Qt.get(o,i)))return n;if(void 0!==(n=M(o,i,void 0)))return n}else i=st.camelCase(t),this.each(function(){var n=Qt.get(this,i);Qt.set(this,i,e),t.indexOf("-")>-1&&void 0!==n&&Qt.set(this,t,e)})},null,e,arguments.length>1,null,!0)},removeData:function(t){return this.each(function(){Qt.remove(this,t)})}}),st.extend({queue:function(t,e,n){var i;if(t)return e=(e||"fx")+"queue",i=mt.get(t,e),n&&(!i||st.isArray(n)?i=mt.access(t,e,st.makeArray(n)):i.push(n)),i||[]},dequeue:function(t,e){e=e||"fx";var n=st.queue(t,e),i=n.length,r=n.shift(),A=st._queueHooks(t,e),o=function(){st.dequeue(t,e)};"inprogress"===r&&(r=n.shift(),i--),r&&("fx"===e&&n.unshift("inprogress"),delete A.stop,r.call(t,o,A)),!i&&A&&A.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return mt.get(t,n)||mt.access(t,n,{empty:st.Callbacks("once memory").add(function(){mt.remove(t,[e+"queue",n])})})}}),st.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.length<n?st.queue(this[0],t):void 0===e?this:this.each(function(){var n=st.queue(this,t,e);st._queueHooks(this,t),"fx"===t&&"inprogress"!==n[0]&&st.dequeue(this,t)})},dequeue:function(t){return this.each(function(){st.dequeue(this,t)})},clearQueue:function(t){return this.queue(t||"fx",[])},promise:function(t,e){var n,i=1,r=st.Deferred(),A=this,o=this.length,a=function(){--i||r.resolveWith(A,[A])};for("string"!=typeof t&&(e=t,t=void 0),t=t||"fx";o--;)(n=mt.get(A[o],t+"queueHooks"))&&n.empty&&(i++,n.empty.add(a));return a(),r.promise(e)}});var Lt=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,St=new RegExp("^(?:([+-])=|)("+Lt+")([a-z%]*)$","i"),Yt=["Top","Right","Bottom","Left"],bt=function(t,e){return t=e||t,"none"===st.css(t,"display")||!st.contains(t.ownerDocument,t)},Ot=/^(?:checkbox|radio)$/i,zt=/<([\w:-]+)/,Ut=/^$|\/(?:java|ecma)script/i,Ft={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Ft.optgroup=Ft.option,Ft.tbody=Ft.tfoot=Ft.colgroup=Ft.caption=Ft.thead,Ft.th=Ft.td;var kt=/<|&#?\w+;/;!function(){var t=tt.createDocumentFragment(),e=t.appendChild(tt.createElement("div")),n=tt.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),e.appendChild(n),ct.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",ct.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var Rt=/^key/,Gt=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ht=/^([^.]*)(?:\.(.+)|)/;st.event={global:{},add:function(t,e,n,i,r){var A,o,a,c,s,u,g,l,M,h,d,f=mt.get(t);if(f)for(n.handler&&(A=n,n=A.handler,r=A.selector),n.guid||(n.guid=st.guid++),(c=f.events)||(c=f.events={}),(o=f.handle)||(o=f.handle=function(e){return void 0!==st&&st.event.triggered!==e.type?st.event.dispatch.apply(t,arguments):void 0}),e=(e||"").match(Dt)||[""],s=e.length;s--;)a=Ht.exec(e[s])||[],M=d=a[1],h=(a[2]||"").split(".").sort(),M&&(g=st.event.special[M]||{},M=(r?g.delegateType:g.bindType)||M,g=st.event.special[M]||{},u=st.extend({type:M,origType:d,data:i,handler:n,guid:n.guid,selector:r,needsContext:r&&st.expr.match.needsContext.test(r),namespace:h.join(".")},A),(l=c[M])||(l=c[M]=[],l.delegateCount=0,g.setup&&!1!==g.setup.call(t,i,h,o)||t.addEventListener&&t.addEventListener(M,o)),g.add&&(g.add.call(t,u),u.handler.guid||(u.handler.guid=n.guid)),r?l.splice(l.delegateCount++,0,u):l.push(u),st.event.global[M]=!0)},remove:function(t,e,n,i,r){var A,o,a,c,s,u,g,l,M,h,d,f=mt.hasData(t)&&mt.get(t);if(f&&(c=f.events)){for(e=(e||"").match(Dt)||[""],s=e.length;s--;)if(a=Ht.exec(e[s])||[],M=d=a[1],h=(a[2]||"").split(".").sort(),M){for(g=st.event.special[M]||{},M=(i?g.delegateType:g.bindType)||M,l=c[M]||[],a=a[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),o=A=l.length;A--;)u=l[A],!r&&d!==u.origType||n&&n.guid!==u.guid||a&&!a.test(u.namespace)||i&&i!==u.selector&&("**"!==i||!u.selector)||(l.splice(A,1),u.selector&&l.delegateCount--,g.remove&&g.remove.call(t,u));o&&!l.length&&(g.teardown&&!1!==g.teardown.call(t,h,f.handle)||st.removeEvent(t,M,f.handle),delete c[M])}else for(M in c)st.event.remove(t,M+e[s],n,i,!0);st.isEmptyObject(c)&&mt.remove(t,"handle events")}},dispatch:function(t){t=st.event.fix(t);var e,n,i,r,A,o=[],a=et.call(arguments),c=(mt.get(this,"events")||{})[t.type]||[],s=st.event.special[t.type]||{};if(a[0]=t,t.delegateTarget=this,!s.preDispatch||!1!==s.preDispatch.call(this,t)){for(o=st.event.handlers.call(this,t,c),e=0;(r=o[e++])&&!t.isPropagationStopped();)for(t.currentTarget=r.elem,n=0;(A=r.handlers[n++])&&!t.isImmediatePropagationStopped();)t.rnamespace&&!t.rnamespace.test(A.namespace)||(t.handleObj=A,t.data=A.data,void 0!==(i=((st.event.special[A.origType]||{}).handle||A.handler).apply(r.elem,a))&&!1===(t.result=i)&&(t.preventDefault(),t.stopPropagation()));return s.postDispatch&&s.postDispatch.call(this,t),t.result}},handlers:function(t,e){var n,i,r,A,o=[],a=e.delegateCount,c=t.target;if(a&&c.nodeType&&("click"!==t.type||isNaN(t.button)||t.button<1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&(!0!==c.disabled||"click"!==t.type)){for(i=[],n=0;n<a;n++)A=e[n],r=A.selector+" ",void 0===i[r]&&(i[r]=A.needsContext?st(r,this).index(c)>-1:st.find(r,this,null,[c]).length),i[r]&&i.push(A);i.length&&o.push({elem:c,handlers:i})}return a<e.length&&o.push({elem:this,handlers:e.slice(a)}),o},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(t,e){return null==t.which&&(t.which=null!=e.charCode?e.charCode:e.keyCode),t}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(t,e){var n,i,r,A=e.button;return null==t.pageX&&null!=e.clientX&&(n=t.target.ownerDocument||tt,i=n.documentElement,r=n.body,t.pageX=e.clientX+(i&&i.scrollLeft||r&&r.scrollLeft||0)-(i&&i.clientLeft||r&&r.clientLeft||0),t.pageY=e.clientY+(i&&i.scrollTop||r&&r.scrollTop||0)-(i&&i.clientTop||r&&r.clientTop||0)),t.which||void 0===A||(t.which=1&A?1:2&A?3:4&A?2:0),t}},fix:function(t){if(t[st.expando])return t;var e,n,i,r=t.type,A=t,o=this.fixHooks[r];for(o||(this.fixHooks[r]=o=Gt.test(r)?this.mouseHooks:Rt.test(r)?this.keyHooks:{}),i=o.props?this.props.concat(o.props):this.props,t=new st.Event(A),e=i.length;e--;)n=i[e],t[n]=A[n];return t.target||(t.target=tt),3===t.target.nodeType&&(t.target=t.target.parentNode),o.filter?o.filter(t,A):t},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==N()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===N()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&st.nodeName(this,"input"))return this.click(),!1},_default:function(t){return st.nodeName(t.target,"a")}},beforeunload:{postDispatch:function(t){void 0!==t.result&&t.originalEvent&&(t.originalEvent.returnValue=t.result)}}}},st.removeEvent=function(t,e,n){t.removeEventListener&&t.removeEventListener(e,n)},st.Event=function(t,e){if(!(this instanceof st.Event))return new st.Event(t,e);t&&t.type?(this.originalEvent=t,this.type=t.type,this.isDefaultPrevented=t.defaultPrevented||void 0===t.defaultPrevented&&!1===t.returnValue?E:T):this.type=t,e&&st.extend(this,e),this.timeStamp=t&&t.timeStamp||st.now(),this[st.expando]=!0},st.Event.prototype={constructor:st.Event,isDefaultPrevented:T,isPropagationStopped:T,isImmediatePropagationStopped:T,isSimulated:!1,preventDefault:function(){var t=this.originalEvent;this.isDefaultPrevented=E,t&&!this.isSimulated&&t.preventDefault()},stopPropagation:function(){var t=this.originalEvent;this.isPropagationStopped=E,t&&!this.isSimulated&&t.stopPropagation()},stopImmediatePropagation:function(){var t=this.originalEvent;this.isImmediatePropagationStopped=E,t&&!this.isSimulated&&t.stopImmediatePropagation(),this.stopPropagation()}},st.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(t,e){st.event.special[t]={delegateType:e,bindType:e,handle:function(t){var n,i=this,r=t.relatedTarget,A=t.handleObj;return r&&(r===i||st.contains(i,r))||(t.type=A.origType,n=A.handler.apply(this,arguments),t.type=e),n}}}),st.fn.extend({on:function(t,e,n,i){return y(this,t,e,n,i)},one:function(t,e,n,i){return y(this,t,e,n,i,1)},off:function(t,e,i){var r,A;if(t&&t.preventDefault&&t.handleObj)return r=t.handleObj,st(t.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"===(void 0===t?"undefined":n(t))){for(A in t)this.off(A,e,t[A]);return this}return!1!==e&&"function"!=typeof e||(i=e,e=void 0),!1===i&&(i=T),this.each(function(){st.event.remove(this,t,i,e)})}});var Jt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,Pt=/<script|<style|<link/i,Xt=/checked\s*(?:[^=]|=\s*.checked.)/i,Vt=/^true\/(.*)/,Wt=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;st.extend({htmlPrefilter:function(t){return t.replace(Jt,"<$1></$2>")},clone:function(t,e,n){var i,r,A,o,a=t.cloneNode(!0),c=st.contains(t.ownerDocument,t);if(!(ct.noCloneChecked||1!==t.nodeType&&11!==t.nodeType||st.isXMLDoc(t)))for(o=d(a),A=d(t),i=0,r=A.length;i<r;i++)B(A[i],o[i]);if(e)if(n)for(A=A||d(t),o=o||d(a),i=0,r=A.length;i<r;i++)x(A[i],o[i]);else x(t,a);return o=d(a,"script"),o.length>0&&f(o,!c&&d(t,"script")),a},cleanData:function(t){for(var e,n,i,r=st.event.special,A=0;void 0!==(n=t[A]);A++)if(wt(n)){if(e=n[mt.expando]){if(e.events)for(i in e.events)r[i]?st.event.remove(n,i):st.removeEvent(n,i,e.handle);n[mt.expando]=void 0}n[Qt.expando]&&(n[Qt.expando]=void 0)}}}),st.fn.extend({domManip:w,detach:function(t){return m(this,t,!0)},remove:function(t){return m(this,t)},text:function(t){return Bt(this,function(t){return void 0===t?st.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=t)})},null,t,arguments.length)},append:function(){return w(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){p(this,t).appendChild(t)}})},prepend:function(){return w(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=p(this,t);e.insertBefore(t,e.firstChild)}})},before:function(){return w(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return w(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(st.cleanData(d(t,!1)),t.textContent="");return this},clone:function(t,e){return t=null!=t&&t,e=null==e?t:e,this.map(function(){return st.clone(this,t,e)})},html:function(t){return Bt(this,function(t){var e=this[0]||{},n=0,i=this.length;if(void 0===t&&1===e.nodeType)return e.innerHTML;if("string"==typeof t&&!Pt.test(t)&&!Ft[(zt.exec(t)||["",""])[1].toLowerCase()]){t=st.htmlPrefilter(t);try{for(;n<i;n++)e=this[n]||{},1===e.nodeType&&(st.cleanData(d(e,!1)),e.innerHTML=t);e=0}catch(t){}}e&&this.empty().append(t)},null,t,arguments.length)},replaceWith:function(){var t=[];return w(this,arguments,function(e){var n=this.parentNode;st.inArray(this,t)<0&&(st.cleanData(d(this)),n&&n.replaceChild(e,this))},t)}}),st.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(t,e){st.fn[t]=function(t){for(var n,i=[],r=st(t),A=r.length-1,o=0;o<=A;o++)n=o===A?this:this.clone(!0),st(r[o])[e](n),it.apply(i,n.get());return this.pushStack(i)}});var _t,Zt={HTML:"block",BODY:"block"},Kt=/^margin/,qt=new RegExp("^("+Lt+")(?!px)[a-z%]+$","i"),$t=function(t){var e=t.ownerDocument.defaultView;return e&&e.opener||(e=A),e.getComputedStyle(t)},te=function(t,e,n,i){var r,A,o={};for(A in e)o[A]=t.style[A],t.style[A]=e[A];r=n.apply(t,i||[]);for(A in e)t.style[A]=o[A];return r},ee=tt.documentElement;!function(){function t(){a.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",a.innerHTML="",ee.appendChild(o);var t=A.getComputedStyle(a);e="1%"!==t.top,r="2px"===t.marginLeft,n="4px"===t.width,a.style.marginRight="50%",i="4px"===t.marginRight,ee.removeChild(o)}var e,n,i,r,o=tt.createElement("div"),a=tt.createElement("div");a.style&&(a.style.backgroundClip="content-box",a.cloneNode(!0).style.backgroundClip="",ct.clearCloneStyle="content-box"===a.style.backgroundClip,o.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",o.appendChild(a),st.extend(ct,{pixelPosition:function(){return t(),e},boxSizingReliable:function(){return null==n&&t(),n},pixelMarginRight:function(){return null==n&&t(),i},reliableMarginLeft:function(){return null==n&&t(),r},reliableMarginRight:function(){var t,e=a.appendChild(tt.createElement("div"));return e.style.cssText=a.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",e.style.marginRight=e.style.width="0",a.style.width="1px",ee.appendChild(o),t=!parseFloat(A.getComputedStyle(e).marginRight),ee.removeChild(o),a.removeChild(e),t}}))}();var ne=/^(none|table(?!-c[ea]).+)/,ie={position:"absolute",visibility:"hidden",display:"block"},re={letterSpacing:"0",fontWeight:"400"},Ae=["Webkit","O","Moz","ms"],oe=tt.createElement("div").style;st.extend({cssHooks:{opacity:{get:function(t,e){if(e){var n=j(t,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(t,e,i,r){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var A,o,a,c=st.camelCase(e),s=t.style;if(e=st.cssProps[c]||(st.cssProps[c]=S(c)||c),a=st.cssHooks[e]||st.cssHooks[c],void 0===i)return a&&"get"in a&&void 0!==(A=a.get(t,!1,r))?A:s[e];o=void 0===i?"undefined":n(i),"string"===o&&(A=St.exec(i))&&A[1]&&(i=h(t,e,A),o="number"),null!=i&&i===i&&("number"===o&&(i+=A&&A[3]||(st.cssNumber[c]?"":"px")),ct.clearCloneStyle||""!==i||0!==e.indexOf("background")||(s[e]="inherit"),a&&"set"in a&&void 0===(i=a.set(t,i,r))||(s[e]=i))}},css:function(t,e,n,i){var r,A,o,a=st.camelCase(e);return e=st.cssProps[a]||(st.cssProps[a]=S(a)||a),o=st.cssHooks[e]||st.cssHooks[a],o&&"get"in o&&(r=o.get(t,!0,n)),void 0===r&&(r=j(t,e,i)),"normal"===r&&e in re&&(r=re[e]),""===n||n?(A=parseFloat(r),!0===n||isFinite(A)?A||0:r):r}}),st.each(["height","width"],function(t,e){st.cssHooks[e]={get:function(t,n,i){if(n)return ne.test(st.css(t,"display"))&&0===t.offsetWidth?te(t,ie,function(){return O(t,e,i)}):O(t,e,i)},set:function(t,n,i){var r,A=i&&$t(t),o=i&&b(t,e,i,"border-box"===st.css(t,"boxSizing",!1,A),A);return o&&(r=St.exec(n))&&"px"!==(r[3]||"px")&&(t.style[e]=n,n=st.css(t,e)),Y(t,n,o)}}}),st.cssHooks.marginLeft=L(ct.reliableMarginLeft,function(t,e){if(e)return(parseFloat(j(t,"marginLeft"))||t.getBoundingClientRect().left-te(t,{marginLeft:0},function(){return t.getBoundingClientRect().left}))+"px"}),st.cssHooks.marginRight=L(ct.reliableMarginRight,function(t,e){if(e)return te(t,{display:"inline-block"},j,[t,"marginRight"])}),st.each({margin:"",padding:"",border:"Width"},function(t,e){st.cssHooks[t+e]={expand:function(n){for(var i=0,r={},A="string"==typeof n?n.split(" "):[n];i<4;i++)r[t+Yt[i]+e]=A[i]||A[i-2]||A[0];return r}},Kt.test(t)||(st.cssHooks[t+e].set=Y)}),st.fn.extend({css:function(t,e){return Bt(this,function(t,e,n){var i,r,A={},o=0;if(st.isArray(e)){for(i=$t(t),r=e.length;o<r;o++)A[e[o]]=st.css(t,e[o],!1,i);return A}return void 0!==n?st.style(t,e,n):st.css(t,e)},t,e,arguments.length>1)},show:function(){return z(this,!0)},hide:function(){return z(this)},toggle:function(t){return"boolean"==typeof t?t?this.show():this.hide():this.each(function(){bt(this)?st(this).show():st(this).hide()})}}),st.Tween=U,U.prototype={constructor:U,init:function(t,e,n,i,r,A){this.elem=t,this.prop=n,this.easing=r||st.easing._default,this.options=e,this.start=this.now=this.cur(),this.end=i,this.unit=A||(st.cssNumber[n]?"":"px")},cur:function(){var t=U.propHooks[this.prop];return t&&t.get?t.get(this):U.propHooks._default.get(this)},run:function(t){var e,n=U.propHooks[this.prop];return this.options.duration?this.pos=e=st.easing[this.easing](t,this.options.duration*t,0,1,this.options.duration):this.pos=e=t,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):U.propHooks._default.set(this),this}},U.prototype.init.prototype=U.prototype,U.propHooks={_default:{get:function(t){var e;return 1!==t.elem.nodeType||null!=t.elem[t.prop]&&null==t.elem.style[t.prop]?t.elem[t.prop]:(e=st.css(t.elem,t.prop,""),e&&"auto"!==e?e:0)},set:function(t){st.fx.step[t.prop]?st.fx.step[t.prop](t):1!==t.elem.nodeType||null==t.elem.style[st.cssProps[t.prop]]&&!st.cssHooks[t.prop]?t.elem[t.prop]=t.now:st.style(t.elem,t.prop,t.now+t.unit)}}},U.propHooks.scrollTop=U.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},st.easing={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2},_default:"swing"},st.fx=U.prototype.init,st.fx.step={};var ae,ce,se=/^(?:toggle|show|hide)$/,ue=/queueHooks$/;st.Animation=st.extend(J,{tweeners:{"*":[function(t,e){var n=this.createTween(t,e);return h(n.elem,t,St.exec(e),n),n}]},tweener:function(t,e){st.isFunction(t)?(e=t,t=["*"]):t=t.match(Dt);for(var n,i=0,r=t.length;i<r;i++)n=t[i],J.tweeners[n]=J.tweeners[n]||[],J.tweeners[n].unshift(e)},prefilters:[G],prefilter:function(t,e){e?J.prefilters.unshift(t):J.prefilters.push(t)}}),st.speed=function(t,e,i){var r=t&&"object"===(void 0===t?"undefined":n(t))?st.extend({},t):{complete:i||!i&&e||st.isFunction(t)&&t,duration:t,easing:i&&e||e&&!st.isFunction(e)&&e};return r.duration=st.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in st.fx.speeds?st.fx.speeds[r.duration]:st.fx.speeds._default,null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){st.isFunction(r.old)&&r.old.call(this),r.queue&&st.dequeue(this,r.queue)},r},st.fn.extend({fadeTo:function(t,e,n,i){return this.filter(bt).css("opacity",0).show().end().animate({opacity:e},t,n,i)},animate:function(t,e,n,i){var r=st.isEmptyObject(t),A=st.speed(e,n,i),o=function(){var e=J(this,st.extend({},t),A);(r||mt.get(this,"finish"))&&e.stop(!0)};return o.finish=o,r||!1===A.queue?this.each(o):this.queue(A.queue,o)},stop:function(t,e,n){var i=function(t){var e=t.stop;delete t.stop,e(n)};return"string"!=typeof t&&(n=e,e=t,t=void 0),e&&!1!==t&&this.queue(t||"fx",[]),this.each(function(){var e=!0,r=null!=t&&t+"queueHooks",A=st.timers,o=mt.get(this);if(r)o[r]&&o[r].stop&&i(o[r]);else for(r in o)o[r]&&o[r].stop&&ue.test(r)&&i(o[r]);for(r=A.length;r--;)A[r].elem!==this||null!=t&&A[r].queue!==t||(A[r].anim.stop(n),e=!1,A.splice(r,1));!e&&n||st.dequeue(this,t)})},finish:function(t){return!1!==t&&(t=t||"fx"),this.each(function(){var e,n=mt.get(this),i=n[t+"queue"],r=n[t+"queueHooks"],A=st.timers,o=i?i.length:0;for(n.finish=!0,st.queue(this,t,[]),r&&r.stop&&r.stop.call(this,!0),e=A.length;e--;)A[e].elem===this&&A[e].queue===t&&(A[e].anim.stop(!0),A.splice(e,1));for(e=0;e<o;e++)i[e]&&i[e].finish&&i[e].finish.call(this);delete n.finish})}}),st.each(["toggle","show","hide"],function(t,e){var n=st.fn[e];st.fn[e]=function(t,i,r){return null==t||"boolean"==typeof t?n.apply(this,arguments):this.animate(k(e,!0),t,i,r)}}),st.each({slideDown:k("show"),slideUp:k("hide"),slideToggle:k("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(t,e){st.fn[t]=function(t,n,i){return this.animate(e,t,n,i)}}),st.timers=[],st.fx.tick=function(){var t,e=0,n=st.timers;for(ae=st.now();e<n.length;e++)(t=n[e])()||n[e]!==t||n.splice(e--,1);n.length||st.fx.stop(),ae=void 0},st.fx.timer=function(t){st.timers.push(t),t()?st.fx.start():st.timers.pop()},st.fx.interval=13,st.fx.start=function(){ce||(ce=A.setInterval(st.fx.tick,st.fx.interval))},st.fx.stop=function(){A.clearInterval(ce),ce=null},st.fx.speeds={slow:600,fast:200,_default:400},st.fn.delay=function(t,e){return t=st.fx?st.fx.speeds[t]||t:t,e=e||"fx",this.queue(e,function(e,n){var i=A.setTimeout(e,t);n.stop=function(){A.clearTimeout(i)}})},function(){var t=tt.createElement("input"),e=tt.createElement("select"),n=e.appendChild(tt.createElement("option"));t.type="checkbox",ct.checkOn=""!==t.value,ct.optSelected=n.selected,e.disabled=!0,ct.optDisabled=!n.disabled,t=tt.createElement("input"),t.value="t",t.type="radio",ct.radioValue="t"===t.value}();var ge,le=st.expr.attrHandle;st.fn.extend({attr:function(t,e){return Bt(this,st.attr,t,e,arguments.length>1)},removeAttr:function(t){return this.each(function(){st.removeAttr(this,t)})}}),st.extend({attr:function(t,e,n){var i,r,A=t.nodeType;if(3!==A&&8!==A&&2!==A)return void 0===t.getAttribute?st.prop(t,e,n):(1===A&&st.isXMLDoc(t)||(e=e.toLowerCase(),r=st.attrHooks[e]||(st.expr.match.bool.test(e)?ge:void 0)),void 0!==n?null===n?void st.removeAttr(t,e):r&&"set"in r&&void 0!==(i=r.set(t,n,e))?i:(t.setAttribute(e,n+""),n):r&&"get"in r&&null!==(i=r.get(t,e))?i:(i=st.find.attr(t,e),null==i?void 0:i))},attrHooks:{type:{set:function(t,e){if(!ct.radioValue&&"radio"===e&&st.nodeName(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}},removeAttr:function(t,e){var n,i,r=0,A=e&&e.match(Dt);if(A&&1===t.nodeType)for(;n=A[r++];)i=st.propFix[n]||n,st.expr.match.bool.test(n)&&(t[i]=!1),t.removeAttribute(n)}}),ge={set:function(t,e,n){return!1===e?st.removeAttr(t,n):t.setAttribute(n,n),n}},st.each(st.expr.match.bool.source.match(/\w+/g),function(t,e){var n=le[e]||st.find.attr;le[e]=function(t,e,i){var r,A;return i||(A=le[e],le[e]=r,r=null!=n(t,e,i)?e.toLowerCase():null,le[e]=A),r}});var Me=/^(?:input|select|textarea|button)$/i,he=/^(?:a|area)$/i;st.fn.extend({prop:function(t,e){return Bt(this,st.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each(function(){delete this[st.propFix[t]||t]})}}),st.extend({prop:function(t,e,n){var i,r,A=t.nodeType;if(3!==A&&8!==A&&2!==A)return 1===A&&st.isXMLDoc(t)||(e=st.propFix[e]||e,r=st.propHooks[e]),void 0!==n?r&&"set"in r&&void 0!==(i=r.set(t,n,e))?i:t[e]=n:r&&"get"in r&&null!==(i=r.get(t,e))?i:t[e]},propHooks:{tabIndex:{get:function(t){var e=st.find.attr(t,"tabindex");return e?parseInt(e,10):Me.test(t.nodeName)||he.test(t.nodeName)&&t.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),ct.optSelected||(st.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null},set:function(t){var e=t.parentNode;e&&(e.selectedIndex,e.parentNode&&e.parentNode.selectedIndex)}}),st.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){st.propFix[this.toLowerCase()]=this});var de=/[\t\r\n\f]/g;st.fn.extend({addClass:function(t){var e,n,i,r,A,o,a,c=0;if(st.isFunction(t))return this.each(function(e){st(this).addClass(t.call(this,e,P(this)))});if("string"==typeof t&&t)for(e=t.match(Dt)||[];n=this[c++];)if(r=P(n),i=1===n.nodeType&&(" "+r+" ").replace(de," ")){for(o=0;A=e[o++];)i.indexOf(" "+A+" ")<0&&(i+=A+" ");a=st.trim(i),r!==a&&n.setAttribute("class",a)}return this},removeClass:function(t){var e,n,i,r,A,o,a,c=0;if(st.isFunction(t))return this.each(function(e){st(this).removeClass(t.call(this,e,P(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof t&&t)for(e=t.match(Dt)||[];n=this[c++];)if(r=P(n),i=1===n.nodeType&&(" "+r+" ").replace(de," ")){for(o=0;A=e[o++];)for(;i.indexOf(" "+A+" ")>-1;)i=i.replace(" "+A+" "," ");a=st.trim(i),r!==a&&n.setAttribute("class",a)}return this},toggleClass:function(t,e){var i=void 0===t?"undefined":n(t);return"boolean"==typeof e&&"string"===i?e?this.addClass(t):this.removeClass(t):st.isFunction(t)?this.each(function(n){st(this).toggleClass(t.call(this,n,P(this),e),e)}):this.each(function(){var e,n,r,A;if("string"===i)for(n=0,r=st(this),A=t.match(Dt)||[];e=A[n++];)r.hasClass(e)?r.removeClass(e):r.addClass(e);else void 0!==t&&"boolean"!==i||(e=P(this),e&&mt.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===t?"":mt.get(this,"__className__")||""))})},hasClass:function(t){var e,n,i=0;for(e=" "+t+" ";n=this[i++];)if(1===n.nodeType&&(" "+P(n)+" ").replace(de," ").indexOf(e)>-1)return!0;return!1}});var fe=/\r/g,Ie=/[\x20\t\r\n\f]+/g;st.fn.extend({val:function(t){var e,n,i,r=this[0];{if(arguments.length)return i=st.isFunction(t),this.each(function(n){var r;1===this.nodeType&&(r=i?t.call(this,n,st(this).val()):t,null==r?r="":"number"==typeof r?r+="":st.isArray(r)&&(r=st.map(r,function(t){return null==t?"":t+""})),(e=st.valHooks[this.type]||st.valHooks[this.nodeName.toLowerCase()])&&"set"in e&&void 0!==e.set(this,r,"value")||(this.value=r))});if(r)return(e=st.valHooks[r.type]||st.valHooks[r.nodeName.toLowerCase()])&&"get"in e&&void 0!==(n=e.get(r,"value"))?n:(n=r.value,"string"==typeof n?n.replace(fe,""):null==n?"":n)}}}),st.extend({valHooks:{option:{get:function(t){var e=st.find.attr(t,"value");return null!=e?e:st.trim(st.text(t)).replace(Ie," ")}},select:{get:function(t){for(var e,n,i=t.options,r=t.selectedIndex,A="select-one"===t.type||r<0,o=A?null:[],a=A?r+1:i.length,c=r<0?a:A?r:0;c<a;c++)if(n=i[c],(n.selected||c===r)&&(ct.optDisabled?!n.disabled:null===n.getAttribute("disabled"))&&(!n.parentNode.disabled||!st.nodeName(n.parentNode,"optgroup"))){if(e=st(n).val(),A)return e;o.push(e)}return o},set:function(t,e){for(var n,i,r=t.options,A=st.makeArray(e),o=r.length;o--;)i=r[o],(i.selected=st.inArray(st.valHooks.option.get(i),A)>-1)&&(n=!0);return n||(t.selectedIndex=-1),A}}}}),st.each(["radio","checkbox"],function(){st.valHooks[this]={set:function(t,e){if(st.isArray(e))return t.checked=st.inArray(st(t).val(),e)>-1}},ct.checkOn||(st.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})});var Ee=/^(?:focusinfocus|focusoutblur)$/;st.extend(st.event,{trigger:function(t,e,i,r){var o,a,c,s,u,g,l,M=[i||tt],h=at.call(t,"type")?t.type:t,d=at.call(t,"namespace")?t.namespace.split("."):[];if(a=c=i=i||tt,3!==i.nodeType&&8!==i.nodeType&&!Ee.test(h+st.event.triggered)&&(h.indexOf(".")>-1&&(d=h.split("."),h=d.shift(),d.sort()),u=h.indexOf(":")<0&&"on"+h,t=t[st.expando]?t:new st.Event(h,"object"===(void 0===t?"undefined":n(t))&&t),t.isTrigger=r?2:3,t.namespace=d.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),e=null==e?[t]:st.makeArray(e,[t]),l=st.event.special[h]||{},r||!l.trigger||!1!==l.trigger.apply(i,e))){if(!r&&!l.noBubble&&!st.isWindow(i)){for(s=l.delegateType||h,Ee.test(s+h)||(a=a.parentNode);a;a=a.parentNode)M.push(a),c=a;c===(i.ownerDocument||tt)&&M.push(c.defaultView||c.parentWindow||A)}for(o=0;(a=M[o++])&&!t.isPropagationStopped();)t.type=o>1?s:l.bindType||h,g=(mt.get(a,"events")||{})[t.type]&&mt.get(a,"handle"),g&&g.apply(a,e),(g=u&&a[u])&&g.apply&&wt(a)&&(t.result=g.apply(a,e),!1===t.result&&t.preventDefault());return t.type=h,r||t.isDefaultPrevented()||l._default&&!1!==l._default.apply(M.pop(),e)||!wt(i)||u&&st.isFunction(i[h])&&!st.isWindow(i)&&(c=i[u],c&&(i[u]=null),st.event.triggered=h,i[h](),st.event.triggered=void 0,c&&(i[u]=c)),t.result}},simulate:function(t,e,n){var i=st.extend(new st.Event,n,{type:t,isSimulated:!0});st.event.trigger(i,null,e)}}),st.fn.extend({trigger:function(t,e){return this.each(function(){st.event.trigger(t,e,this)})},triggerHandler:function(t,e){var n=this[0];if(n)return st.event.trigger(t,e,n,!0)}}),st.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(t,e){st.fn[e]=function(t,n){return arguments.length>0?this.on(e,null,t,n):this.trigger(e)}}),st.fn.extend({hover:function(t,e){return this.mouseenter(t).mouseleave(e||t)}}),ct.focusin="onfocusin"in A,ct.focusin||st.each({focus:"focusin",blur:"focusout"},function(t,e){var n=function(t){st.event.simulate(e,t.target,st.event.fix(t))};st.event.special[e]={setup:function(){var i=this.ownerDocument||this,r=mt.access(i,e);r||i.addEventListener(t,n,!0),mt.access(i,e,(r||0)+1)},teardown:function(){var i=this.ownerDocument||this,r=mt.access(i,e)-1;r?mt.access(i,e,r):(i.removeEventListener(t,n,!0),mt.remove(i,e))}}});var Te=A.location,Ne=st.now(),ye=/\?/;st.parseJSON=function(t){return JSON.parse(t+"")},st.parseXML=function(t){var e;if(!t||"string"!=typeof t)return null;try{e=(new A.DOMParser).parseFromString(t,"text/xml")}catch(t){e=void 0}return e&&!e.getElementsByTagName("parsererror").length||st.error("Invalid XML: "+t),e};var pe=/#.*$/,Ce=/([?&])_=[^&]*/,De=/^(.*?):[ \t]*([^\r\n]*)$/gm,xe=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Be=/^(?:GET|HEAD)$/,we=/^\/\//,me={},Qe={},ve="*/".concat("*"),je=tt.createElement("a");je.href=Te.href,st.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Te.href,type:"GET",isLocal:xe.test(Te.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":ve,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":st.parseJSON,"text xml":st.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?W(W(t,st.ajaxSettings),e):W(st.ajaxSettings,t)},ajaxPrefilter:X(me),ajaxTransport:X(Qe),ajax:function(t,e){function i(t,e,n,i){var c,u,l,T,N,p=e;2!==y&&(y=2,s&&A.clearTimeout(s),r=void 0,a=i||"",C.readyState=t>0?4:0,c=t>=200&&t<300||304===t,n&&(T=_(M,C,n)),T=Z(M,T,C,c),c?(M.ifModified&&(N=C.getResponseHeader("Last-Modified"),N&&(st.lastModified[o]=N),(N=C.getResponseHeader("etag"))&&(st.etag[o]=N)),204===t||"HEAD"===M.type?p="nocontent":304===t?p="notmodified":(p=T.state,u=T.data,l=T.error,c=!l)):(l=p,!t&&p||(p="error",t<0&&(t=0))),C.status=t,C.statusText=(e||p)+"",c?f.resolveWith(h,[u,p,C]):f.rejectWith(h,[C,p,l]),C.statusCode(E),E=void 0,g&&d.trigger(c?"ajaxSuccess":"ajaxError",[C,M,c?u:l]),I.fireWith(h,[C,p]),g&&(d.trigger("ajaxComplete",[C,M]),--st.active||st.event.trigger("ajaxStop")))}"object"===(void 0===t?"undefined":n(t))&&(e=t,t=void 0),e=e||{};var r,o,a,c,s,u,g,l,M=st.ajaxSetup({},e),h=M.context||M,d=M.context&&(h.nodeType||h.jquery)?st(h):st.event,f=st.Deferred(),I=st.Callbacks("once memory"),E=M.statusCode||{},T={},N={},y=0,p="canceled",C={readyState:0,getResponseHeader:function(t){var e;if(2===y){if(!c)for(c={};e=De.exec(a);)c[e[1].toLowerCase()]=e[2];e=c[t.toLowerCase()]}return null==e?null:e},getAllResponseHeaders:function(){return 2===y?a:null},setRequestHeader:function(t,e){var n=t.toLowerCase();return y||(t=N[n]=N[n]||t,T[t]=e),this},overrideMimeType:function(t){return y||(M.mimeType=t),this},statusCode:function(t){var e;if(t)if(y<2)for(e in t)E[e]=[E[e],t[e]];else C.always(t[C.status]);return this},abort:function(t){var e=t||p;return r&&r.abort(e),i(0,e),this}};if(f.promise(C).complete=I.add,C.success=C.done,C.error=C.fail,M.url=((t||M.url||Te.href)+"").replace(pe,"").replace(we,Te.protocol+"//"),M.type=e.method||e.type||M.method||M.type,M.dataTypes=st.trim(M.dataType||"*").toLowerCase().match(Dt)||[""],null==M.crossDomain){u=tt.createElement("a");try{u.href=M.url,u.href=u.href,M.crossDomain=je.protocol+"//"+je.host!=u.protocol+"//"+u.host}catch(t){M.crossDomain=!0}}if(M.data&&M.processData&&"string"!=typeof M.data&&(M.data=st.param(M.data,M.traditional)),V(me,M,e,C),2===y)return C;g=st.event&&M.global,g&&0==st.active++&&st.event.trigger("ajaxStart"),M.type=M.type.toUpperCase(),M.hasContent=!Be.test(M.type),o=M.url,M.hasContent||(M.data&&(o=M.url+=(ye.test(o)?"&":"?")+M.data,delete M.data),!1===M.cache&&(M.url=Ce.test(o)?o.replace(Ce,"$1_="+Ne++):o+(ye.test(o)?"&":"?")+"_="+Ne++)),M.ifModified&&(st.lastModified[o]&&C.setRequestHeader("If-Modified-Since",st.lastModified[o]),st.etag[o]&&C.setRequestHeader("If-None-Match",st.etag[o])),(M.data&&M.hasContent&&!1!==M.contentType||e.contentType)&&C.setRequestHeader("Content-Type",M.contentType),C.setRequestHeader("Accept",M.dataTypes[0]&&M.accepts[M.dataTypes[0]]?M.accepts[M.dataTypes[0]]+("*"!==M.dataTypes[0]?", "+ve+"; q=0.01":""):M.accepts["*"]);for(l in M.headers)C.setRequestHeader(l,M.headers[l]);if(M.beforeSend&&(!1===M.beforeSend.call(h,C,M)||2===y))return C.abort();p="abort";for(l in{success:1,error:1,complete:1})C[l](M[l]);if(r=V(Qe,M,e,C)){if(C.readyState=1,g&&d.trigger("ajaxSend",[C,M]),2===y)return C;M.async&&M.timeout>0&&(s=A.setTimeout(function(){C.abort("timeout")},M.timeout));try{y=1,r.send(T,i)}catch(t){if(!(y<2))throw t;i(-1,t)}}else i(-1,"No Transport");return C},getJSON:function(t,e,n){return st.get(t,e,n,"json")},getScript:function(t,e){return st.get(t,void 0,e,"script")}}),st.each(["get","post"],function(t,e){st[e]=function(t,n,i,r){return st.isFunction(n)&&(r=r||i,i=n,n=void 0),st.ajax(st.extend({url:t,type:e,dataType:r,data:n,success:i},st.isPlainObject(t)&&t))}}),st._evalUrl=function(t){return st.ajax({url:t,type:"GET",dataType:"script",async:!1,global:!1,throws:!0})},st.fn.extend({wrapAll:function(t){var e;return st.isFunction(t)?this.each(function(e){st(this).wrapAll(t.call(this,e))}):(this[0]&&(e=st(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t}).append(this)),this)},wrapInner:function(t){return st.isFunction(t)?this.each(function(e){st(this).wrapInner(t.call(this,e))}):this.each(function(){var e=st(this),n=e.contents();n.length?n.wrapAll(t):e.append(t)})},wrap:function(t){var e=st.isFunction(t);return this.each(function(n){st(this).wrapAll(e?t.call(this,n):t)})},unwrap:function(){return this.parent().each(function(){st.nodeName(this,"body")||st(this).replaceWith(this.childNodes)}).end()}}),st.expr.filters.hidden=function(t){return!st.expr.filters.visible(t)},st.expr.filters.visible=function(t){return t.offsetWidth>0||t.offsetHeight>0||t.getClientRects().length>0};var Le=/%20/g,Se=/\[\]$/,Ye=/\r?\n/g,be=/^(?:submit|button|image|reset|file)$/i,Oe=/^(?:input|select|textarea|keygen)/i;st.param=function(t,e){var n,i=[],r=function(t,e){e=st.isFunction(e)?e():null==e?"":e,i[i.length]=encodeURIComponent(t)+"="+encodeURIComponent(e)};if(void 0===e&&(e=st.ajaxSettings&&st.ajaxSettings.traditional),st.isArray(t)||t.jquery&&!st.isPlainObject(t))st.each(t,function(){r(this.name,this.value)});else for(n in t)K(n,t[n],e,r);return i.join("&").replace(Le,"+")},st.fn.extend({serialize:function(){return st.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var t=st.prop(this,"elements");return t?st.makeArray(t):this}).filter(function(){var t=this.type;return this.name&&!st(this).is(":disabled")&&Oe.test(this.nodeName)&&!be.test(t)&&(this.checked||!Ot.test(t))}).map(function(t,e){var n=st(this).val();return null==n?null:st.isArray(n)?st.map(n,function(t){return{name:e.name,value:t.replace(Ye,"\r\n")}}):{name:e.name,value:n.replace(Ye,"\r\n")}}).get()}}),st.ajaxSettings.xhr=function(){try{return new A.XMLHttpRequest}catch(t){}};var ze={0:200,1223:204},Ue=st.ajaxSettings.xhr();ct.cors=!!Ue&&"withCredentials"in Ue,ct.ajax=Ue=!!Ue,st.ajaxTransport(function(t){var e,n;if(ct.cors||Ue&&!t.crossDomain)return{send:function(i,r){var o,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(o in t.xhrFields)a[o]=t.xhrFields[o];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(o in i)a.setRequestHeader(o,i[o]);e=function(t){return function(){e&&(e=n=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,"abort"===t?a.abort():"error"===t?"number"!=typeof a.status?r(0,"error"):r(a.status,a.statusText):r(ze[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=e(),n=a.onerror=e("error"),void 0!==a.onabort?a.onabort=n:a.onreadystatechange=function(){4===a.readyState&&A.setTimeout(function(){e&&n()})},e=e("abort");try{a.send(t.hasContent&&t.data||null)}catch(t){if(e)throw t}},abort:function(){e&&e()}}}),st.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(t){return st.globalEval(t),t}}}),st.ajaxPrefilter("script",function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type="GET")}),st.ajaxTransport("script",function(t){if(t.crossDomain){var e,n;return{send:function(i,r){e=st("<script>").prop({charset:t.scriptCharset,src:t.url}).on("load error",n=function(t){e.remove(),n=null,t&&r("error"===t.type?404:200,t.type)}),tt.head.appendChild(e[0])},abort:function(){n&&n()}}}});var Fe=[],ke=/(=)\?(?=&|$)|\?\?/;st.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var t=Fe.pop()||st.expando+"_"+Ne++;return this[t]=!0,t}}),st.ajaxPrefilter("json jsonp",function(t,e,n){var i,r,o,a=!1!==t.jsonp&&(ke.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&ke.test(t.data)&&"data");if(a||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=st.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(ke,"$1"+i):!1!==t.jsonp&&(t.url+=(ye.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return o||st.error(i+" was not called"),o[0]},t.dataTypes[0]="json",r=A[i],A[i]=function(){o=arguments},n.always(function(){void 0===r?st(A).removeProp(i):A[i]=r,t[i]&&(t.jsonpCallback=e.jsonpCallback,Fe.push(i)),o&&st.isFunction(r)&&r(o[0]),o=r=void 0}),"script"}),st.parseHTML=function(t,e,n){if(!t||"string"!=typeof t)return null;"boolean"==typeof e&&(n=e,e=!1),e=e||tt;var i=Et.exec(t),r=!n&&[];return i?[e.createElement(i[1])]:(i=I([t],e,r),r&&r.length&&st(r).remove(),st.merge([],i.childNodes))};var Re=st.fn.load;st.fn.load=function(t,e,i){if("string"!=typeof t&&Re)return Re.apply(this,arguments);var r,A,o,a=this,c=t.indexOf(" ");return c>-1&&(r=st.trim(t.slice(c)),t=t.slice(0,c)),st.isFunction(e)?(i=e,e=void 0):e&&"object"===(void 0===e?"undefined":n(e))&&(A="POST"),a.length>0&&st.ajax({url:t,type:A||"GET",dataType:"html",data:e}).done(function(t){o=arguments,a.html(r?st("<div>").append(st.parseHTML(t)).find(r):t)}).always(i&&function(t,e){a.each(function(){i.apply(this,o||[t.responseText,e,t])})}),this},st.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(t,e){st.fn[e]=function(t){return this.on(e,t)}}),st.expr.filters.animated=function(t){return st.grep(st.timers,function(e){return t===e.elem}).length},st.offset={setOffset:function(t,e,n){var i,r,A,o,a,c,s,u=st.css(t,"position"),g=st(t),l={};"static"===u&&(t.style.position="relative"),a=g.offset(),A=st.css(t,"top"),c=st.css(t,"left"),s=("absolute"===u||"fixed"===u)&&(A+c).indexOf("auto")>-1,s?(i=g.position(),o=i.top,r=i.left):(o=parseFloat(A)||0,r=parseFloat(c)||0),st.isFunction(e)&&(e=e.call(t,n,st.extend({},a))),null!=e.top&&(l.top=e.top-a.top+o),null!=e.left&&(l.left=e.left-a.left+r),"using"in e?e.using.call(t,l):g.css(l)}},st.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){st.offset.setOffset(this,t,e)});var e,n,i=this[0],r={top:0,left:0},A=i&&i.ownerDocument;if(A)return e=A.documentElement,st.contains(e,i)?(r=i.getBoundingClientRect(),n=q(A),{top:r.top+n.pageYOffset-e.clientTop,left:r.left+n.pageXOffset-e.clientLeft}):r},position:function(){if(this[0]){var t,e,n=this[0],i={top:0,left:0};return"fixed"===st.css(n,"position")?e=n.getBoundingClientRect():(t=this.offsetParent(),e=this.offset(),st.nodeName(t[0],"html")||(i=t.offset()),i.top+=st.css(t[0],"borderTopWidth",!0),i.left+=st.css(t[0],"borderLeftWidth",!0)),{top:e.top-i.top-st.css(n,"marginTop",!0),left:e.left-i.left-st.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent;t&&"static"===st.css(t,"position");)t=t.offsetParent;return t||ee})}}),st.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,e){var n="pageYOffset"===e;st.fn[t]=function(i){return Bt(this,function(t,i,r){var A=q(t);if(void 0===r)return A?A[e]:t[i];A?A.scrollTo(n?A.pageXOffset:r,n?r:A.pageYOffset):t[i]=r},t,i,arguments.length)}}),st.each(["top","left"],function(t,e){st.cssHooks[e]=L(ct.pixelPosition,function(t,n){if(n)return n=j(t,e),qt.test(n)?st(t).position()[e]+"px":n})}),st.each({Height:"height",Width:"width"},function(t,e){st.each({padding:"inner"+t,content:e,"":"outer"+t},function(n,i){st.fn[i]=function(i,r){var A=arguments.length&&(n||"boolean"!=typeof i),o=n||(!0===i||!0===r?"margin":"border");return Bt(this,function(e,n,i){var r;return st.isWindow(e)?e.document.documentElement["client"+t]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+t],r["scroll"+t],e.body["offset"+t],r["offset"+t],r["client"+t])):void 0===i?st.css(e,n,o):st.style(e,n,i,o)},e,A?i:void 0,A,null)}})}),st.fn.extend({bind:function(t,e,n){return this.on(t,null,e,n)},unbind:function(t,e){return this.off(t,null,e)},delegate:function(t,e,n,i){return this.on(e,t,n,i)},undelegate:function(t,e,n){return 1===arguments.length?this.off(t,"**"):this.off(e,t||"**",n)},size:function(){return this.length}}),st.fn.andSelf=st.fn.addBack,i=[],void 0!==(r=function(){return st}.apply(e,i))&&(t.exports=r);var Ge=A.jQuery,He=A.$;return st.noConflict=function(t){return A.$===st&&(A.$=He),t&&A.jQuery===st&&(A.jQuery=Ge),st},o||(A.jQuery=A.$=st),st})}).call(e,n(11)(t))},function(t,e){"use strict";t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataSource=void 0;var i=n(13),r=function(t){function e(t,e){for(var n=Array.prototype.slice.call(arguments,2),i=0;i<g[t].length;i++)g[t][i].apply(e,n)}function n(t){var e=s.elements(),n=t.slice(1).map(function(t){return e.find(t)}).filter(function(t){return void 0!=t||null!=t});return(0,i.DataCase)(t[0],(0,i.Set)(n,r))}function r(t){return t.value}function A(t){t.slice(1).forEach(function(t){""!=t&&(u.has(t)?u.set(t,u.get(t)+1):u.set(t,1))})}var o=null,a=null,c=t,s=(0,i.SetDataSource)(),u=d3.map(),g={success:[],fail:[]};return s.elements=function(){return o},s.cases=function(){return a},s.loadURL=function(t){return u=d3.map(),d3.text(c,function(t,g){if(null==g)return void e("fail",s,t);d3.csv.parseRows(g,A);var l=u.entries().sort(function(t,e){return e.value-t.value}).map(function(t){return{value:t.key.replace("\0",""),fullCount:parseInt(t.value),class:""}});o=(0,i.Set)(l,r),d3.text(c,function(t,i){if(null==i)return void e("fail",s,t);a=d3.csv.parseRows(i,n),e("success",s,o,a)})}),s},s.loadCustomData=function(t){if(u=d3.map(),null==t)return void e("fail",s,err);d3.csv.parseRows(t,A);var c=u.entries().sort(function(t,e){return e.value-t.value}).map(function(t){return{value:t.key.replace("\0",""),fullCount:parseInt(t.value),class:""}});return o=(0,i.Set)(c,r),a=d3.csv.parseRows(t,n),e("success",s,o,a),s},s.on=function(t,e){return g[t].push(e),s},s};e.DataSource=r},function(t,e,n){"use strict";function i(){var t={};return t.elements=function(){throw"NotImplemented"},t.cases=function(){throw"NotImplemented"},t.load=function(t){throw"NotImplemented"},t}function r(t,e){var n={},i=e,A={};return A.add=function(t){return n[i(t)]=t,t},A.has=function(t){return Object.prototype.hasOwnProperty.call(n,i(t))},A.remove=function(t){var e=i(t),r=Object.prototype.hasOwnProperty.call(n,e);return delete n[e],r},A.clear=function(){return n={},!0},A.find=function(t){return n[t]},A.count=function(){var t=0;return A.forEach(function(){t++}),t},A.intersection=function(t){var e=r({},i);return t.forEach(function(t){A.has(t)&&e.add(t)}),e},A.union=function(t){var e=r({},i);return A.forEach(function(t){e.add(t)}),t.forEach(function(t){e.add(t)}),e},A.subtraction=function(t){var e=r({},i);return A.forEach(function(t){e.add(t)}),t.forEach(function(t){e.remove(t)}),e},A.hash=function(){return i},A.elements=function(){var t=[];return A.forEach(function(e){t.push(e)}),t},A.forEach=function(t){for(var e in n)if(n.hasOwnProperty(e)&&!1===t.call(A,n[e]))return},arguments.length<2&&(i=(0,l.isFunction)(t)?t:function(t){return"\0"+t}),(0,l.isArray)(t)&&t.forEach(function(t){A.add(t)}),A}function A(t,e,n){var i=t,A=(0,l.isArray)(e)?r(e):e,o=n||{},a={},c=(0,l.Events)(a,["change"]);return a.label=function(t){return arguments.length?(i=t,c.call("change"),a):i},a.set=function(t){return arguments.length?(A=(0,l.isArray)(t)?r(t):t,c.call("change"),a):A},a.meta=function(t,e){return arguments.length?1==arguments.length?(0,l.isObject)(t)?void(o=t):o[t]:(o[t]=e,c.call("change"),a):o},a}function o(t,e){function n(){M.call("change")}function i(){}var r=t,A=e,c={},M=(0,l.Events)(c,["change"]);return c.root=function(){return r},c.not=function(t){return!(c.count()>1)&&(arguments.length?(r.children()[0].not(t),c):r.children()[0].not())},c.value=function(t){var e=u(t);return r.accept(e),e.value()},c.contains=function(t){return r.contains(t)},c.count=function(){var t=g();return r.accept(t),t.count()},c.jaccard=function(t,e){var n=0,i=0;return e.forEach(function(e){var A,o,a=u(e);if(r.accept(a),A=a.value(),a.reset(),t.accept(a),o=a.value(),(A>0||o>0)&&(i+=1),A>0&&o>0)return void(n+=1)}),parseFloat(n)/i},c.similarity=function(t,e){var n=0;return e.forEach(function(e){var i,A,o=u(e);return r.accept(o),i=o.value(),o.reset(),t.accept(o),A=o.value(),i>0&&A>0?void(n+=1):0==i&&0==A?void(n+=1):void 0}),parseFloat(n)/e.count()},c.split=function(t){var e=void 0!=t&&t,n=[],i=r.split(e),n=[];return i.forEach(function(t,e){var i=null;s(t)?i=t:(i=a("AND"),i.addChild(t)),0==e?(r=i,n.push(c)):n.push(o(i,A))}),n},c.merge=function(t){var e=t.root(),i=t.count()>1;if(M.mute("change"),i){var A=a("AND");A.addChild(r),A.addChild(e),r.removeListener("change",n),r=A,r.on("change",n),c.flatten()}else r.addChild(e.children()[0]);return M.unmute("change"),M.call("change"),c},c.flatten=function(){var t=r.children(),e=[];return M.mute("change"),1==t.length&&s(t[0])?(r.removeListener("change",n),r=t[0],void r.on("change",n)):(t.forEach(function(t){if(s(t)&&1==t.children().length){var n=t.children()[0];return t.removeChild(n),void e.push(n)}e.push(t)}),r.clear(),e.forEach(function(t){r.addChild(t)}),M.unmute("change"),M.call("change"),c)},c.preview=function(t){var e=a(r.operator());r.children().forEach(function(t){e.addChild(t)});var n=o(e,A);return n.merge(t),n},c.accept=function(t){r.accept(t)},r.on("change",n),c.on("change",i),c}function a(t){function e(){A.call("change")}var n=t,i=[],r={},A=(0,l.Events)(r,["change"]);return r.addChild=function(t){return i.push(t),A.call("change"),t.on("change",e),r},r.removeChild=function(t){for(var n=0;n<i.length;n++)if(i[n]===t)return i.splice(n,1),A.call("change"),t.removeListener("change",e),r;return r},r.children=function(){return i.slice(0)},r.clear=function(){return i.forEach(function(t){t.removeListener("change",e)}),i=[],A.call("change"),r},r.operator=function(t){return arguments.length?(n=t,A.call("change"),r):n},r.contains=function(t){for(var e=0;e<i.length;e++)if(i[e].contains(t))return!0;return!1},r.split=function(t){var e=void 0!=t&&t,n=[];return i.forEach(function(t){s(t)&&e?n=[].concat.apply(n,t.split(e)):n.push(t)}),r.clear(),n},r.accept=function(t){t.visitPre(r),i.forEach(function(e){e.accept(t)}),t.visitPost(r)},r}function c(t){var e=t,n={},i=(0,l.Events)(n,["change"]),r=!1;return n.data=function(){return e},n.not=function(t){return arguments.length?(r=t,n):r},n.value=function(t){return r?e.set().has(t)?0:1:e.set().has(t)?1:0},n.contains=function(t){return t.label()===e.label()},n.accept=function(t){t.visitPre(n),t.visitPost(n)},e.on("change",function(){i.call("change")}),n}function s(t){return"[object Function]"===Object.prototype.toString.call(t.operator)}function u(t){var e=t,n={},i=[],r=[[]],A=0,o=0;return n.visitPre=function(t){s(t)&&(i.push(t.operator()),r.push([]))},n.visitPost=function(t){if(s(t)){var n=i.pop(),a=i.pop(),c=r.pop(),u=r.pop();if(n===a)u=u.concat(c);else{var g=0;A=0,c.forEach(function(t){t&&A++,g+=t}),o=c.length-A,"AND"===n?u.push(o>=1?0:1):"OR"===n&&u.push(parseFloat(g)/c.length)}return r.push(u),void i.push(a)}var c=r.pop();return c.push(t.value(e)),void r.push(c)},n.value=function(){return r[0][0]},n.presenceCount=function(){return A},n.absenceCount=function(){return o},n.reset=function(){A=0,o=0,r=[[]]},n}function g(){var t={},e=0;return t.visitPre=function(t){s(t)||e++},t.visitPost=function(t){},t.count=function(){return e},t.reset=function(){e=0},t}Object.defineProperty(e,"__esModule",{value:!0}),e.SetCountCalculator=e.ValueCalculator=e.isOperatorNode=e.DataNode=e.OperatorNode=e.SetExpression=e.DataCase=e.Set=e.SetDataSource=void 0;var l=n(14);e.SetDataSource=i,e.Set=r,e.DataCase=A,e.SetExpression=o,e.OperatorNode=a,e.DataNode=c,e.isOperatorNode=s,e.ValueCalculator=u,e.SetCountCalculator=g},function(t,e,n){"use strict";function i(){for(var t=[],e="0123456789abcdef",n=0;n<36;n++)t[n]=e.substr(Math.floor(16*Math.random()),1);return t[14]="4",t[19]=e.substr(3&t[19]|8,1),t[8]=t[13]=t[18]=t[23]="-",t.join("")}function r(t,e){for(var n;0!=e;)n=e,e=t%e,t=n;return t}function A(t,e){return t*e/r(t,e)}function o(t,e){var e=e,n=t.length,i=[],r=[];if(n<e)return r;i[0]=n+1;for(var A=1;A<=n-e;A++)i[A]=0;for(var o=1,A=n-e+1;A<=n;A++)i[A]=o,o++;i[n+1]=-2;for(var a=[],o=n-e,A=0;A<e;A++)a[A]=t[o],o++;r.push(a.slice(0));for(var A,c,s,u,g,l;!function(){for(c=1;i[c]<=0;)c++;if(0==i[c-1]){for(A=c-1;1!=A;A--)i[A]=-1;i[c]=0,u=l=0,i[1]=1,g=c-1}else{c>1&&(i[c-1]=0);do{c++}while(i[c]>0);for(s=c-1,A=c;0==i[A];)i[A++]=-1;if(-1==i[A])i[A]=i[s],l=i[s]-1,u=A-1,g=s-1,i[s]=-1;else{if(A==i[0])return!0;i[c]=i[A],l=i[A]-1,i[A]=0,u=c-1,g=A-1}}return!1}();)a[l]=t[u],r.push(a.slice(0));return r}function a(t,e){return t.left<e.right&&t.right>e.left&&t.top<e.bottom&&t.bottom>e.top}function c(t,e){var n=0,i=0;return n=e.x-t.x,n*=n,i=e.y-t.y,i*=i,Math.sqrt(n+i)}function s(t){return"[object Array]"===Object.prototype.toString.call(t)}function u(t){return"[object Object]"===Object.prototype.toString.call(t)}function g(t){return"[object Function]"===Object.prototype.toString.call(t)}function l(t,e){var n={},i={},r={};return e.forEach(function(t,e){n[t]=f.default.Callbacks()}),t.on=function(e,i){return n[e].add(i),t},t.removeListener=function(e,i){return n[e].remove(i),t},r.call=function(e){if(!i[e]){var A=Array.prototype.slice.call(arguments,2);return n[e].fireWith(t,A),r}},r.callWith=function(t,e){if(!i[t]){var A=Array.prototype.slice.call(arguments,2);return n[t].fireWith(e,A),r}},r.apply=function(e,A){if(!i[e])return n[e].fireWith(t,A),r},r.applyWith=function(t,e,A){if(!i[t])return n[t].fireWith(e,A),r},r.mute=function(t){i[t]=!0},r.unmute=function(t){i[t]=!1},r}function M(){}function h(t){function e(){for(var e,i=n,r=-1,A=i.length;++r<A;)(e=i[r].on)&&!i[r].muted&&e.apply(this,arguments);return t}var n=[],i=d3.map();return e.on=function(e,r){var A,o=i.get(e);return arguments.length<2?o&&o.on:(o&&(o.on=null,o.muted=!1,n=n.slice(0,A=n.indexOf(o)).concat(n.slice(A+1)),i.remove(e)),r&&n.push(i.set(e,{on:r,muted:!1})),t)},e.mute=function(e,r){if(""==e)for(var A=n,o=-1,a=A.length;++o<a;)A[o].muted=r;else{var o,c=i.get(e);if(arguments.length<2)return c&&c.muted;c&&(c.muted=r)}return t},e}Object.defineProperty(e,"__esModule",{value:!0}),e.mutable_dispatch_event=e.mutable_dispatch=e.Events=e.isFunction=e.isObject=e.isArray=e.pointDistance=e.rectOverlap=e.combinations=e.lcm=e.gcd=e.createUUID=void 0;var d=n(10),f=function(t){return t&&t.__esModule?t:{default:t}}(d);!function(){for(var t,e=function(){},n=["assert","clear","count","debug","dir","dirxml","error","exception","group","groupCollapsed","groupEnd","info","log","markTimeline","profile","profileEnd","table","time","timeEnd","timeStamp","trace","warn"],i=n.length,r=window.console=window.console||{};i--;)t=n[i],r[t]||(r[t]=e)}(),d3.selection.prototype.moveToFront=function(){return this.each(function(){this.parentNode.appendChild(this)})},d3.selection.prototype.moveToBack=function(){return this.each(function(){var t=this.parentNode.firstChild;t&&this.parentNode.insertBefore(this,t)})},d3.dispatch=function(){for(var t=new M,e=-1,n=arguments.length;++e<n;)t[arguments[e]]=h(t);return t},M.prototype.on=function(t,e){var n=t.lastIndexOf("."),i="";if(n>=0&&(i=t.substring(n+1),t=t.substring(0,n)),t)return arguments.length<2?this[t].on(i):this[t].on(i,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(i,null);return this}},M.prototype.mute=function(t,e){var n=t.lastIndexOf("."),i="";if(n>=0&&(i=t.substring(n+1),t=t.substring(0,n)),t)return arguments.length<2?this[t].mute(i):this[t].mute(i,e);if(2===arguments.length){for(t in this)this.hasOwnProperty(t)&&this[t].mute(i,e);return this}},e.createUUID=i,e.gcd=r,e.lcm=A,e.combinations=o,e.rectOverlap=a,e.pointDistance=c,e.isArray=s,e.isObject=u,e.isFunction=g,e.Events=l,e.mutable_dispatch=M,e.mutable_dispatch_event=h},function(t,e,n){"use strict";function i(){var t=0,e=0,n=[],i=[0,1],r=null,A=function i(r){var A=n.indexOf(r);return 0==A?e:A*(i.rangeBand()+t)+e};return A.domain=function(t){return arguments.length?(n=t,r=null,A):n},A.rangeBands=function(n,o,a){return i=n,t=o||0,e=a||0,r=null,A},A.rangeBand=function(){if(null==r){var A=Math.abs(i[1]-i[0]),o=n.length;r=(A-2*e-t*(o-1))/o}return r},A}function r(t){function e(){f&&f.remove(),f=d.append("svg:g").classed("pl",!0),E=f.append("svg:g").classed("outer",!0),I=E.append("svg:g").classed("inner",!0),f.attr("transform","translate("+N.x()+","+N.y()+")"),g();var t=N.borderWidth();I.append("svg:rect").classed("pl-box",!0).attr("width",N.width()).attr("height",N.height()).style("fill-opacity",.5).style("stroke",N.borderColor()).style("stroke-width",N.borderWidth()),I.append("svg:g").classed("pl-pixels",!0).attr("transform","translate(0,0)"),I.append("svg:g").classed("pl-labels",!0).attr("transform","translate("+(0-t)+","+(N.height()-t)+")"),f.on("mouseenter",function(){G||M("mouseenter",N)}).on("mouseleave",function(){G||M("mouseleave",N)}).on("mousedown",function(){M("mousedown",N)}).on("mouseup",function(){M("mouseup",N)}).on("click",function(){M("click",N)}).call(J)}function n(){var t=N.columns(),e=N.rows(),n=e*t,i=N.expression(),r=N.valueAccessor(),A=N.groupAccessor(),o=N.elements().slice(0,n).map(function(t,n){var o=parseInt(n/e),a=n-o*e;return{value:r(t),pixelValue:i.value(t),group:A(t),element:t,row:o,column:a,index:n}}),a=o.length;if(a<n){var c=Array.apply(null,new Array(n-o.length)).map(function(t,n){var i=parseInt((n+a)/e);return{value:null,pixelValue:null,group:"",element:null,row:i,column:n+a-i*e,index:n+a}});o=o.concat(c)}return d3.nest().key(function(t){return t.group}).sortValues(function(t,e){return d3.ascending(t.index,e.index)}).entries(o).map(function(t){return t.tl=t.values[0],t.br=t.values[t.values.length-1],t})}function r(){var t=n(),e=I.select("g.pl-pixels"),i=e.selectAll("g.pixel").data(t,function(t){return t.key});i.enter().append("svg:g").classed("pixel",!0).on("mouseenter",function(t){""===t.key.trim()||G||(k&&d3.select(this).select("rect.pixel-border").classed("invisible",!1),M("mouseenter.group",this,t.key,N))}).on("mouseleave",function(t){""===t.key.trim()||G||(k&&d3.select(this).select("rect.pixel-border").classed("invisible",!0),M("mouseleave.group",this,t.key,N))}).each(function(t){""!=t.key.trim()&&d3.select(this).append("svg:rect").datum(t).classed("pixel-border",!0).classed("invisible",!0)}),c(i),a(i),i.exit().remove()}function a(t){var e=N.width()-N.borderWidth(),n=N.height()-N.borderWidth(),r=N.columns(),A=N.rows(),o=N.pixelGap(),a=N.pixelColor(),c=i().domain(d3.range(r)).rangeBands([0,e],o,4),s=i().domain(d3.range(A)).rangeBands([0,n],o,4),u=t.selectAll("rect.pixel").data(function(t){return t.values});u.enter().append("svg:rect").classed("pixel",!0).classed("null",function(t){return null==t.value}).on("mouseenter",function(t,e){G||null==t.value||(F&&d3.select(this).classed("hover",!0),M("mouseenter.pixel",this,t.element,e,N))}).on("mouseleave",function(t,e){G||null==t.value||(F&&d3.select(this).classed("hover",!1),M("mouseleave.pixel",this,t.element,e,N))}).on("mousedown",function(t,e){null!=t.value&&M("mousedown.pixel",this,t.element,e,N)}).on("mouseup",function(t,e){null!=t.value&&M("mouseup.pixel",this,t.element,e,N)}).on("click",function(t,e){null!=t.value&&M("click.pixel",this,t.element,e,N)}),u.classed("empty",function(t){return 0==t.pixelValue}).attr("width",c.rangeBand()).attr("height",s.rangeBand()).attr("transform",function(t,e){return"translate("+c(t.column)+","+s(t.row)+")"}).style("fill-opacity",function(t){return t.pixelValue>0?1:0}).style("fill",function(t,e){var n=a.call(N,t,e);return d3.interpolateRgb(d3.rgb(0,0,0),n)(t.pixelValue)}),u.exit().remove()}function c(t){var e=N.width()-N.borderWidth(),n=N.height()-N.borderWidth(),r=N.columns(),A=N.rows(),o=N.pixelGap(),a=N.groupWidth(),c=N.groupColor(),s=i().domain(d3.range(r)).rangeBands([0,e],o,4),u=i().domain(d3.range(A)).rangeBands([0,n],o,4);t.select("rect.pixel-border").attr("x",function(t){return s(t.tl.column)-o/2}).attr("y",function(t){return u(t.tl.row)-o/2}).attr("width",function(t){return s(t.br.column)-s(t.tl.column)+o+s.rangeBand()}).attr("height",function(t){return u(t.br.row)-u(t.tl.row)+o+u.rangeBand()}).style("stroke",c).style("stroke-width",a).style("fill-opacity",0)}function s(){u(),l()}function u(){var t=N.width()+2*N.borderWidth(),e=N.borderWidth()+N.pixelGap(),n=N.labelColor(),i=P().width(t).labelHeight(20).gap(2),r=i(N.expression().root()),A=r.length,o=I.select("g.pl-labels"),a=o.selectAll("g.label").data(r),c=a.enter().append("svg:g").classed("label",!0).on("mousedown",function(t){H=t});c.append("svg:rect").classed("label",!0),c.append("svg:text").classed("label",!0),c.append("svg:text").classed("count",!0),c.append("svg:title").text(function(t){return(p.not()?"NOT ":"")+t.label}),a.attr("transform",function(t){return"translate("+t.x+","+t.y+")"}),a.select("rect").attr("width",function(t){return t.dx}).attr("height",function(t){return t.dy}).attr("fill",function(t,e){return n.call(N,t,e)}),a.select("text.label").attr("text-anchor",function(t){return 1==A?"start":"middle"}).attr("x",function(t){return 1==A?e:t.dx/2}).attr("y",15).attr("width",function(t){return.8*t.dx}).text(function(t){return t.label}),a.select("text.count").attr("text-anchor","end").attr("x",t-e).attr("y",15).text(function(t){return t.count}).classed("hidden",function(t){return A>1}),a.select("title").text(function(t){return(p.not()?"NOT ":"")+t.label}),a.exit().remove()}function g(){var t=N.width()+2*N.borderWidth(),e=N.borderWidth(),n=E.append("svg:g").classed("pl-composite-labels",!0).attr("transform","translate("+(0-e)+","+(e-20)+")"),i=n.append("svg:g").classed("operator",!0).classed("hidden",!0).on("click",function(){var t=N.expression().not();1==N.expression().count()?(N.expression().not(!t),N.redraw(),M("change.operator",N,"NOT")):(N.operator("AND"==N.operator()?"OR":"AND"),N.redraw(),M("change.operator",N,N.operator()))});i.append("svg:rect").classed("operator",!0).attr("width",40).attr("height",20),i.append("svg:text").classed("operator",!0).attr("text-anchor","middle").attr("x",20).attr("y",15);var r=n.append("svg:g").classed("count",!0).classed("hidden",!0).attr("transform","translate("+(t-20)+",0)");r.append("svg:rect").classed("count",!0).attr("width",20).attr("height",20),r.append("svg:text").classed("count",!0).attr("text-anchor","middle").attr("x",10).attr("y",15);var A=n.append("svg:g").classed("x",!0).classed("hidden",!0).attr("transform","translate("+(t-e)+",20)").on("click",function(t){M("click.split",N)});A.append("svg:rect").classed("x",!0).attr("width",20).attr("height",20),A.append("svg:text").classed("x",!0).attr("text-anchor","middle").attr("x",10).attr("y",15).text("X")}function l(){var t=N.expression().root().operator(),e=N.expression().count(),n=N.labelColor();if(1==e){var i=E.select("g.operator").classed("hidden",!1);i.select("text").text("NOT"),N.expression().not()?(i.select("rect").style("fill",function(t,e){return n.call(N,t,e)}).style("stroke","none").style("fill-opacity",1).attr("x",0).attr("y",0),i.select("text").style("fill","black")):(i.select("rect").style("stroke",N.borderColor()).style("stroke-width",.5).style("fill","black").style("fill-opacity",.5).attr("x",.5).attr("y",-.5),i.select("text").style("fill",function(t,e){return n.call(N,t,e)})),E.select("g.count").classed("hidden",!0),E.select("g.x").classed("hidden",!0)}else{var i=E.select("g.operator").classed("hidden",function(){return e<=1});i.select("rect").style("stroke","none").style("fill",function(t,e){return n.call(N,t,e)}).style("fill-opacity",1).attr("x",0).attr("y",0),i.select("text").style("fill","black").text(t);var r=E.select("g.count").classed("hidden",!1);r.select("rect").style("fill",function(t,e){return n.call(N,t,e)}),r.select("text").text(e);E.select("g.x").classed("hidden",!1).select("rect").attr("fill",function(t,e){return n.call(N,t,e)})}}function M(t,e){for(var n=Array.prototype.slice.call(arguments,2),i=0;i<R[t].length;i++)R[t][i].apply(e,n)}var h=t,d=d3.select(h),f=null,I=null,E=null,T=(0,A.createUUID)(),N={},y=null,p=null,C=184,D=184,x=0,B=0,w=15,m=15,Q=3,v=function(t,e){return d3.rgb(17,110,220)},j=function(t,e){return d3.rgb(17,110,220)},L=d3.rgb(255,255,255),S=.5,Y=function(t,e){return d3.rgb(255,248,191)},b=1,O=function(t,e){return t.value},z=function(t,e){return t.class},U=!1,F=!0,k=!0,R={dragstart:[],drag:[],dragend:[],mouseenter:[],mouseleave:[],mousedown:[],mouseup:[],click:[],"mouseenter.pixel":[],"mouseleave.pixel":[],"mousedown.pixel":[],"mouseup.pixel":[],"click.pixel":[],"mouseenter.group":[],"mouseleave.group":[],"click.split":[],"drag.label":[],"change.operator":[]},G=!1,H=null,J=d3.behavior.drag().origin(function(){return{x:N.x(),y:N.y()}}).on("dragstart",function(){G=!0,d3.event.sourceEvent.stopPropagation(),M("dragstart",N)}).on("drag",function(t,e){if(N.x(d3.event.x),N.y(d3.event.y),f.attr("transform","translate("+N.x()+","+N.y()+")"),d3.event.sourceEvent.stopPropagation(),M("drag",N),H){var n={parent:H.parent,node:H.node,depth:H.depth};M("drag.label",N,n),H=null}}).on("dragend",function(){G=!1,d3.event.sourceEvent.stopPropagation(),M("dragend",N)}),P=function(){function t(n,A,a,c,s,u){var g=(0,o.isOperatorNode)(n)?n.children():null,l=A?A.children().length-1:null,M=(0,o.isOperatorNode)(n)?null:n.data().set().count(),h=(0,o.isOperatorNode)(n)?n.operator():(n.not()&&l>0?"NOT ":"")+n.data().label(),d={depth:a,node:n,parent:A,label:h,count:M,x:c,y:a*r,dx:s,dy:r};if(a>0&&(d.y+=e),u.push(d),g){var f=i().domain(d3.range(g.length)).rangeBands([0,s],e,0);g.forEach(function(e,i){t(e,n,a+1,f(i)+c,f.rangeBand(),u)})}}var e,n,r,A=function(e){var i=[];return t(e,null,-1,0,n,i),i.shift(),i};return A.gap=function(t){return arguments.length?(e=t,A):e},A.width=function(t){return arguments.length?(n=t,A):n},A.labelHeight=function(t){return arguments.length?(r=t,A):r},A};return N.select=function(t){return f.select(t)},N.selectAll=function(t){return f.selectAll(t)},N.render=function(){return e(),r(),s(),N},N.redraw=function(){return r(),s(),N},N.preview=function(){return r(),N},N.remove=function(){f&&f.remove()},N.moveToFront=function(){f&&f.moveToFront()},N.moveToBack=function(){f&&f.moveToBack()},N.fadeIn=function(t,e){var t=void 0!=t?t:500,e=void 0!=e?e:0;f&&(f.transition().duration(t).delay(e).style("opacity",1),U=!1)},N.fadeOut=function(t,e,n){var t=void 0!=t?t:.5,e=void 0!=e?e:500,n=void 0!=n?n:0;f&&(f.transition().duration(e).delay(n).style("opacity",t),U=!0)},N.faded=function(){return U},N.highlight=function(t){return arguments.length?(F=t,N):F},N.highlightGroups=function(t){return arguments.length?(k=t,N):k},N.elements=function(t){return arguments.length?(y=t,N):y},N.expression=function(t){return arguments.length?(p=t,N):p},N.asSet=function(){var t=N.elements(),e=N.expression(),n=(0,o.Set)({},N.valueAccessor());return t.forEach(function(t){e.value(t)>0&&n.add(t)}),n},N.uuid=function(){return T},N.operator=function(t){return arguments.length?(N.expression().root().operator(t),N):N.expression().root().operator()},N.width=function(t){return arguments.length?(C=t,N):C},N.height=function(t){return arguments.length?(D=t,N):D},N.x=function(t){return arguments.length?(x=t,N):x},N.y=function(t){return arguments.length?(B=t,N):B},N.rows=function(t){return arguments.length?(m=t,N):m},N.columns=function(t){return arguments.length?(w=t,N):w},N.borderWidth=function(t){return arguments.length?(S=t,N):S},N.borderColor=function(t){return arguments.length?(L=t,N):L},N.groupWidth=function(t){return arguments.length?(b=t,N):b},N.groupColor=function(t){return arguments.length?(Y=t,N):Y},N.pixelGap=function(t){return arguments.length?(Q=t,N):Q},N.pixelColor=function(t){return arguments.length?(v=t,N):v},N.labelColor=function(t){return arguments.length?(j=t,N):j},N.valueAccessor=function(t){return arguments.length?(O=t,N):O},N.groupAccessor=function(t){return arguments.length?(z=t,N):z},N.composite=function(){return N.expression().count()>1},N.boundingRect=function(t,e){var n=void 0==t?1:t,i=void 0==e?[0,0]:e,r=N.x()*n+i[0],A=N.y()*n+i[1],o=N.width()*n,a=N.height()*n;return{top:A,left:r,bottom:A+a,right:r+o,height:a,width:o}},N.on=function(t,e){return R[t].push(e),N},N}Object.defineProperty(e,"__esModule",{value:!0}),e.PixelLayer=void 0;var A=n(14),o=n(13);e.PixelLayer=r},function(t,e,n){var i,r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};!function(){function A(t,e,n){var i=A.resolve(t);if(null==i){n=n||t,e=e||"root";var r=new Error('Failed to require "'+n+'" from "'+e+'"');throw r.path=n,r.parent=e,r.require=!0,r}var o=A.modules[i];if(!o._resolving&&!o.exports){var a={};a.exports={},a.client=a.component=!0,o._resolving=!0,o.call(this,a.exports,A.relative(i),a),delete o._resolving,o.exports=a.exports}return o.exports}A.modules={},A.aliases={},A.resolve=function(t){"/"===t.charAt(0)&&(t=t.slice(1));for(var e=[t,t+".js",t+".json",t+"/index.js",t+"/index.json"],n=0;n<e.length;n++){var t=e[n];if(A.modules.hasOwnProperty(t))return t;if(A.aliases.hasOwnProperty(t))return A.aliases[t]}},A.normalize=function(t,e){var n=[];if("."!=e.charAt(0))return e;t=t.split("/"),e=e.split("/");for(var i=0;i<e.length;++i)".."==e[i]?t.pop():"."!=e[i]&&""!=e[i]&&n.push(e[i]);return t.concat(n).join("/")},A.register=function(t,e){A.modules[t]=e},A.alias=function(t,e){if(!A.modules.hasOwnProperty(t))throw new Error('Failed to alias "'+t+'", it does not exist');A.aliases[e]=t},A.relative=function(t){function e(t,e){for(var n=t.length;n--;)if(t[n]===e)return n;return-1}function n(e){return A(n.resolve(e),t,e)}var i=A.normalize(t,"..");return n.resolve=function(n){var r=n.charAt(0);if("/"==r)return n.slice(1);if("."==r)return A.normalize(i,n);var o=t.split("/"),a=e(o,"deps")+1;return a||(a=0),n=o.slice(0,a+1).join("/")+"/deps/"+n},n.exists=function(t){return A.modules.hasOwnProperty(n.resolve(t))},n},A.register("component-classes/index.js",function(t,e,n){function i(t){if(!t)throw new Error("A DOM element reference is required");this.el=t,this.list=t.classList}var r=e("indexof"),A=/\s+/,o=Object.prototype.toString;n.exports=function(t){return new i(t)},i.prototype.add=function(t){if(this.list)return this.list.add(t),this;var e=this.array();return~r(e,t)||e.push(t),this.el.className=e.join(" "),this},i.prototype.remove=function(t){if("[object RegExp]"==o.call(t))return this.removeMatching(t);if(this.list)return this.list.remove(t),this;var e=this.array(),n=r(e,t);return~n&&e.splice(n,1),this.el.className=e.join(" "),this},i.prototype.removeMatching=function(t){for(var e=this.array(),n=0;n<e.length;n++)t.test(e[n])&&this.remove(e[n]);return this},i.prototype.toggle=function(t){return this.list?(this.list.toggle(t),this):(this.has(t)?this.remove(t):this.add(t),this)},i.prototype.array=function(){var t=this.el.className.replace(/^\s+|\s+$/g,""),e=t.split(A);return""===e[0]&&e.shift(),e},i.prototype.has=i.prototype.contains=function(t){return this.list?this.list.contains(t):!!~r(this.array(),t)}}),A.register("segmentio-extend/index.js",function(t,e,n){n.exports=function(t){for(var e,n=Array.prototype.slice.call(arguments,1),i=0;e=n[i];i++)if(e)for(var r in e)t[r]=e[r];return t}}),A.register("component-indexof/index.js",function(t,e,n){n.exports=function(t,e){if(t.indexOf)return t.indexOf(e);for(var n=0;n<t.length;++n)if(t[n]===e)return n;return-1}}),A.register("component-event/index.js",function(t){var e=void 0!==window.addEventListener?"addEventListener":"attachEvent",n=void 0!==window.removeEventListener?"removeEventListener":"detachEvent",i="addEventListener"!==e?"on":"";t.bind=function(t,n,r,A){return t[e](i+n,r,A||!1),r},t.unbind=function(t,e,r,A){return t[n](i+e,r,A||!1),r}}),A.register("timoxley-is-collection/index.js",function(t,e,n){function i(t){return"object"==(void 0===t?"undefined":r(t))&&/^\[object (NodeList)\]$/.test(Object.prototype.toString.call(t))&&t.hasOwnProperty("length")&&(0==t.length||"object"==r(t[0])&&t[0].nodeType>0)}var A=e("type");n.exports=function(t){var e=A(t);if("array"===e)return 1;switch(e){case"arguments":return 2;case"object":if(i(t))return 2;try{if("length"in t&&!t.tagName&&(!t.scrollTo||!t.document)&&!t.apply)return 2}catch(t){}default:return 0}}}),A.register("javve-events/index.js",function(t,e){var n=e("event"),i=e("is-collection");t.bind=function(t,e,r,A){if(i(t)){if(t&&void 0!==t[0])for(var o=0;o<t.length;o++)n.bind(t[o],e,r,A)}else n.bind(t,e,r,A)},t.unbind=function(t,e,r,A){if(i(t)){if(t&&void 0!==t[0])for(var o=0;o<t.length;o++)n.unbind(t[o],e,r,A)}else n.unbind(t,e,r,A)}}),A.register("javve-get-by-class/index.js",function(t,e,n){n.exports=function(){return document.getElementsByClassName?function(t,e,n){return n?t.getElementsByClassName(e)[0]:t.getElementsByClassName(e)}:document.querySelector?function(t,e,n){return n?t.querySelector(e):t.querySelectorAll(e)}:function(t,e,n){var i=[];null==t&&(t=document);for(var r=t.getElementsByTagName("*"),A=r.length,o=new RegExp("(^|\\s)"+e+"(\\s|$)"),a=0,c=0;A>a;a++)if(o.test(r[a].className)){if(n)return r[a];i[c]=r[a],c++}return i}}()}),A.register("javve-get-attribute/index.js",function(t,e,n){n.exports=function(t,e){var n=t.getAttribute&&t.getAttribute(e)||null;if(!n)for(var i=t.attributes,r=i.length,A=0;r>A;A++)void 0!==e[A]&&e[A].nodeName===e&&(n=e[A].nodeValue);return n}}),A.register("javve-natural-sort/index.js",function(t,e,n){n.exports=function(t,e,n){var i,A,o=/(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi,a=/(^[ ]*|[ ]*$)/g,c=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,s=/^0x[0-9a-f]+$/i,u=/^0/,n=n||{},g=function(t){return n.insensitive&&(""+t).toLowerCase()||""+t},l=g(t).replace(a,"")||"",M=g(e).replace(a,"")||"",h=l.replace(o,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0"),d=M.replace(o,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0"),f=parseInt(l.match(s))||1!=h.length&&l.match(c)&&Date.parse(l),I=parseInt(M.match(s))||f&&M.match(c)&&Date.parse(M)||null,E=n.desc?-1:1;if(I){if(I>f)return-1*E;if(f>I)return 1*E}for(var T=0,N=Math.max(h.length,d.length);N>T;T++){if(i=!(h[T]||"").match(u)&&parseFloat(h[T])||h[T]||0,A=!(d[T]||"").match(u)&&parseFloat(d[T])||d[T]||0,isNaN(i)!==isNaN(A))return isNaN(i)?1:-1;if((void 0===i?"undefined":r(i))!=(void 0===A?"undefined":r(A))&&(i+="",A+=""),A>i)return-1*E;if(i>A)return 1*E}return 0}}),A.register("javve-to-string/index.js",function(t,e,n){n.exports=function(t){return t=void 0===t?"":t,t=null===t?"":t,t=t.toString()}}),A.register("component-type/index.js",function(t,e,n){var i=Object.prototype.toString;n.exports=function(t){switch(i.call(t)){case"[object Function]":return"function";case"[object Date]":return"date";case"[object RegExp]":return"regexp";case"[object Arguments]":return"arguments";case"[object Array]":return"array";case"[object String]":return"string"}return null===t?"null":void 0===t?"undefined":t&&1===t.nodeType?"element":t===Object(t)?"object":void 0===t?"undefined":r(t)}}),A.register("list.js/index.js",function(t,e,n){!function(t,i){"use strict";var r=t.document,A=(e("events"),e("get-by-class")),o=e("extend"),a=e("indexof"),c=function(t,n,c){var s,u=this,g=e("./src/item")(u),l=e("./src/add-async")(u),M=e("./src/parse")(u);this.listClass="list",this.searchClass="search",this.sortClass="sort",this.page=200,this.i=1,this.items=[],this.visibleItems=[],this.matchingItems=[],this.searched=!1,this.filtered=!1,this.handlers={updated:[]},this.plugins={},o(this,n),this.listContainer="string"==typeof t?r.getElementById(t):t,this.listContainer&&(this.list=A(this.listContainer,this.listClass,!0),this.templater=e("./src/templater")(u),this.sort=e("./src/sort")(u),this.search=e("./src/search")(u),this.filter=e("./src/filter")(u),s={start:function(t){M(u.list),t!==i&&u.add(t),u.update(),this.plugins()},plugins:function(){for(var t=0;t<u.plugins.length;t++){var e=u.plugins[t];u[e.name]=e,e.init(u)}}},this.add=function(t,e){if(e)return void l(t,e);var n=[],r=!1;t[0]===i&&(t=[t]);for(var A=0,o=t.length;o>A;A++){var a=null;t[A]instanceof g?(a=t[A],a.reload()):(r=u.items.length>u.page,a=new g(t[A],i,r)),u.items.push(a),n.push(a)}return u.update(),n},this.show=function(t,e){return this.i=t,this.page=e,u.update(),u},this.remove=function(t,e,n){for(var i=0,r=0,A=u.items.length;A>r;r++)u.items[r].values()[t]==e&&(u.templater.remove(u.items[r],n),u.items.splice(r,1),A--,r--,i++);return u.update(),i},this.get=function(t,e){for(var n=[],i=0,r=u.items.length;r>i;i++){var A=u.items[i];A.values()[t]==e&&n.push(A)}return n},this.size=function(){return u.items.length},this.clear=function(){return u.templater.clear(),u.items=[],u},this.on=function(t,e){return u.handlers[t].push(e),u},this.off=function(t,e){var n=u.handlers[t],i=a(n,e);return i>-1&&n.splice(i,1),u},this.trigger=function(t){for(var e=u.handlers[t].length;e--;)u.handlers[t][e](u);return u},this.reset={filter:function(){for(var t=u.items,e=t.length;e--;)t[e].filtered=!1;return u},search:function(){for(var t=u.items,e=t.length;e--;)t[e].found=!1;return u}},this.update=function(){var t=u.items,e=t.length;u.visibleItems=[],u.matchingItems=[],u.templater.clear();for(var n=0;e>n;n++)t[n].matching()&&u.matchingItems.length+1>=u.i&&u.visibleItems.length<u.page?(t[n].show(),u.visibleItems.push(t[n]),u.matchingItems.push(t[n])):t[n].matching()?(u.matchingItems.push(t[n]),t[n].hide()):t[n].hide();return u.trigger("updated"),u},s.start(c))};n.exports=c}(window)}),A.register("list.js/src/search.js",function(t,e,n){var i=e("events"),r=e("get-by-class"),A=e("to-string");n.exports=function(t){var e,n,o,a,c={resetList:function(){t.i=1,t.templater.clear(),a=void 0},setOptions:function(t){2==t.length&&t[1]instanceof Array?n=t[1]:2==t.length&&"function"==typeof t[1]?a=t[1]:3==t.length&&(n=t[1],a=t[2])},setColumns:function(){n=void 0===n?c.toArray(t.items[0].values()):n},setSearchString:function(t){t=A(t).toLowerCase(),t=t.replace(/[-[\]{}()*+?.,\\^$|#]/g,"\\$&"),o=t},toArray:function(t){var e=[];for(var n in t)e.push(n);return e}},s={list:function(){for(var e=0,n=t.items.length;n>e;e++)s.item(t.items[e])},item:function(t){t.found=!1;for(var e=0,i=n.length;i>e;e++)if(s.values(t.values(),n[e]))return void(t.found=!0)},values:function(t,n){return!!(t.hasOwnProperty(n)&&(e=A(t[n]).toLowerCase(),""!==o&&e.search(o)>-1))},reset:function(){t.reset.search(),t.searched=!1}},u=function(e){return t.trigger("searchStart"),c.resetList(),c.setSearchString(e),c.setOptions(arguments),c.setColumns(),""===o?s.reset():(t.searched=!0,a?a(o,n):s.list()),t.update(),t.trigger("searchComplete"),t.visibleItems};return t.handlers.searchStart=t.handlers.searchStart||[],t.handlers.searchComplete=t.handlers.searchComplete||[],i.bind(r(t.listContainer,t.searchClass),"keyup",function(t){var e=t.target||t.srcElement;u(e.value)}),u}}),A.register("list.js/src/sort.js",function(t,e,n){var i,r=e("natural-sort"),A=e("classes"),o=e("events"),a=e("get-by-class"),c=e("get-attribute"),s=function(){for(var t=0,e=i.length;e>t;t++)A(i[t]).remove("asc"),A(i[t]).remove("desc")};n.exports=function(t){var e=function(){var e,n={};if(arguments[0].currentTarget||arguments[0].srcElement){var i,o=arguments[0],a=o.currentTarget||o.srcElement;e=c(a,"data-sort"),A(a).has("desc")?(n.desc=!1,i="asc"):A(a).has("asc")?(n.desc=!0,i="desc"):(n.desc=!1,i="asc"),s(),A(a).add(i)}else e=arguments[0],n=arguments[1]||n;n.insensitive=void 0===n.insensitive||n.insensitive,n.sortFunction=n.sortFunction||function(t,i){return r(t.values()[e],i.values()[e],n)},t.trigger("sortStart"),t.items.sort(n.sortFunction),t.update(),t.trigger("sortComplete")};return t.handlers.sortStart=t.handlers.sortStart||[],t.handlers.sortComplete=t.handlers.sortComplete||[],i=a(t.listContainer,t.sortClass),o.bind(i,"click",e),e}}),A.register("list.js/src/item.js",function(t,e,n){n.exports=function(t){return function(e,n,i){var r=this;this._values={},this.found=!1,this.filtered=!1;this.values=function(e,n){if(void 0===e)return r._values;for(var i in e)r._values[i]=e[i];!0!==n&&t.templater.set(r,r.values())},this.show=function(){t.templater.show(r)},this.hide=function(){t.templater.hide(r)},this.matching=function(){return t.filtered&&t.searched&&r.found&&r.filtered||t.filtered&&!t.searched&&r.filtered||!t.filtered&&t.searched&&r.found||!t.filtered&&!t.searched},this.visible=function(){return r.elm.parentNode==t.list},function(e,n,i){if(void 0===n)i?r.values(e,i):r.values(e);else{r.elm=n;var A=t.templater.get(r,e);r.values(A)}}(e,n,i)}}}),A.register("list.js/src/templater.js",function(t,e,n){var i=e("get-by-class"),r=function(t){var e=function(e){if(void 0===e){for(var n=t.list.childNodes,i=0,r=n.length;r>i;i++)if(void 0===n[i].data)return n[i];return null}if(-1!==e.indexOf("<")){var A=document.createElement("div");return A.innerHTML=e,A.firstChild}return document.getElementById(t.item)}(t.item),n=this;this.get=function(t,e){n.create(t);for(var r={},A=0,o=e.length;o>A;A++){var a=i(t.elm,e[A],!0);r[e[A]]=a?a.innerHTML:""}return r},this.set=function(t,e){if(!n.create(t))for(var r in e)if(e.hasOwnProperty(r)){var A=i(t.elm,r,!0);A&&("IMG"===A.tagName&&""!==e[r]?A.src=e[r]:A.innerHTML=e[r])}},this.create=function(t){if(void 0!==t.elm)return!1;var i=e.cloneNode(!0);return i.removeAttribute("id"),t.elm=i,n.set(t,t.values()),!0},this.remove=function(e){t.list.removeChild(e.elm)},this.show=function(e){n.create(e),t.list.appendChild(e.elm)},this.hide=function(e){void 0!==e.elm&&e.elm.parentNode===t.list&&t.list.removeChild(e.elm)},this.clear=function(){if(t.list.hasChildNodes())for(;t.list.childNodes.length>=1;)t.list.removeChild(t.list.firstChild)}};n.exports=function(t){return new r(t)}}),A.register("list.js/src/filter.js",function(t,e,n){n.exports=function(t){return t.handlers.filterStart=t.handlers.filterStart||[],t.handlers.filterComplete=t.handlers.filterComplete||[],function(e){if(t.trigger("filterStart"),t.i=1,t.reset.filter(),void 0===e)t.filtered=!1;else{t.filtered=!0;for(var n=t.items,i=0,r=n.length;r>i;i++){var A=n[i];A.filtered=!!e(A)}}return t.update(),t.trigger("filterComplete"),t.visibleItems}}}),A.register("list.js/src/add-async.js",function(t,e,n){n.exports=function(t){return function(e,n,i){var r=e.splice(0,100);i=i||[],i=i.concat(t.add(r)),e.length>0?setTimeout(function(){addAsync(e,n,i)},10):(t.update(),n(i))}}}),A.register("list.js/src/parse.js",function(t,e,n){n.exports=function(t){var n=e("./item")(t),i=function(t){for(var e=t.childNodes,n=[],i=0,r=e.length;r>i;i++)void 0===e[i].data&&n.push(e[i]);return n},r=function(e,i){for(var r=0,A=e.length;A>r;r++)t.items.push(new n(i,e[r]))},A=function(e,n){var i=e.splice(0,100);r(i,n),e.length>0?setTimeout(function(){init.items.indexAsync(e,n)},10):t.update()};return function(){var e=i(t.list),n=t.valueNames;t.indexAsync?A(e,n):r(e,n)}}}),A.alias("component-classes/index.js","list.js/deps/classes/index.js"),A.alias("component-classes/index.js","classes/index.js"),A.alias("component-indexof/index.js","component-classes/deps/indexof/index.js"),A.alias("segmentio-extend/index.js","list.js/deps/extend/index.js"),A.alias("segmentio-extend/index.js","extend/index.js"),A.alias("component-indexof/index.js","list.js/deps/indexof/index.js"),A.alias("component-indexof/index.js","indexof/index.js"),A.alias("javve-events/index.js","list.js/deps/events/index.js"),A.alias("javve-events/index.js","events/index.js"),A.alias("component-event/index.js","javve-events/deps/event/index.js"),A.alias("timoxley-is-collection/index.js","javve-events/deps/is-collection/index.js"),A.alias("component-type/index.js","timoxley-is-collection/deps/type/index.js"),A.alias("javve-get-by-class/index.js","list.js/deps/get-by-class/index.js"),A.alias("javve-get-by-class/index.js","get-by-class/index.js"),A.alias("javve-get-attribute/index.js","list.js/deps/get-attribute/index.js"),A.alias("javve-get-attribute/index.js","get-attribute/index.js"),A.alias("javve-natural-sort/index.js","list.js/deps/natural-sort/index.js"),A.alias("javve-natural-sort/index.js","natural-sort/index.js"),A.alias("javve-to-string/index.js","list.js/deps/to-string/index.js"),A.alias("javve-to-string/index.js","list.js/deps/to-string/index.js"),A.alias("javve-to-string/index.js","to-string/index.js"),A.alias("javve-to-string/index.js","javve-to-string/index.js"),A.alias("component-type/index.js","list.js/deps/type/index.js"),A.alias("component-type/index.js","type/index.js"),"object"==r(e)?t.exports=A("list.js"):void 0!==(i=function(){return A("list.js")}.call(e,n,e,t))&&(t.exports=i)}()}])})},function(t,e,n){"use strict";var i=n(30),r=function(t){return t&&t.__esModule?t:{default:t}}(i),A=n(1232);r.default.register(A.SentenTree,"SentenTree")},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SentenTree=void 0;var i=n(1233),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.SentenTree=r.default},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function A(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),a=n(13),c=function(t){return t&&t.__esModule?t:{default:t}}(a),s=n(1234),u=function(t){function e(t,n){var A=n.data,o=n.id,a=void 0===o?null:o,c=n.text,u=void 0===c?"text":c,g=n.count,l=void 0===g?"count":g,M=n.graphs,h=void 0===M?3:M;i(this,e);var d=r(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));d.empty(),d.data=A.map(function(t,e){return{id:a?t[a]:e,text:t[u],count:void 0!==t[l]?t[l]:1}});var f=(new s.SentenTreeBuilder).buildModel(d.data);return d.vis=new s.SentenTreeVis(t).data(f.getRenderedGraphs(h)),d}return A(e,t),o(e,null,[{key:"options",get:function(){return[{name:"data",description:"The data table.",type:"table",format:"objectlist"},{name:"id",description:"The field containing the identifier of each row.",type:"string",domain:{mode:"field",from:"data",fieldTypes:["string","integer","number"]}},{name:"text",description:"The field containing the text sample.",type:"string",domain:{mode:"field",from:"data",fieldTypes:["string"]}},{name:"count",description:"The field containing the count for each text sample.",type:"string",domain:{mode:"field",from:"data",fieldTypes:["integer"]}},{name:"graphs",description:"The number of graphs to compute and render.",type:"integer",format:"integer",default:3}]}}]),o(e,[{key:"render",value:function(){}}]),e}(c.default);e.default=u},function(t,e,n){!function(e,i){t.exports=i(n(1235),n(1237),n(1479),n(1481),n(1482))}(0,function(t,e,n,i,r){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=137)}([function(t,e,n){"use strict";function i(t,e){this._groups=t,this._parents=e}function r(){return new i([[document.documentElement]],Y)}var A=n(104),o=n(105),a=n(93),c=n(87),s=n(37),u=n(92),g=n(97),l=n(100),M=n(107),h=n(85),d=n(99),f=n(98),I=n(106),E=n(91),T=n(90),N=n(84),y=n(108),p=n(101),C=n(86),D=n(109),x=n(94),B=n(102),w=n(96),m=n(83),Q=n(95),v=n(103),j=n(88),L=n(18),S=n(89);n.d(e,"c",function(){return Y}),e.b=i;var Y=[null];i.prototype=r.prototype={constructor:i,select:A.a,selectAll:o.a,filter:a.a,data:c.a,enter:s.a,exit:u.a,merge:g.a,order:l.a,sort:M.a,call:h.a,nodes:d.a,node:f.a,size:I.a,empty:E.a,each:T.a,attr:N.a,style:y.a,property:p.a,classed:C.a,text:D.a,html:x.a,raise:B.a,lower:w.a,append:m.a,insert:Q.a,remove:v.a,datum:j.a,on:L.b,dispatch:S.a},e.a=r},function(t,e,n){"use strict";function i(t,e){var n=t.__transition;if(!n||!(n=n[e])||n.state>g)throw new Error("too late");return n}function r(t,e){var n=t.__transition;if(!n||!(n=n[e])||n.state>M)throw new Error("too late");return n}function A(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("too late");return n}function o(t,e,i){function r(t){i.state=l,i.timer.restart(A,i.delay,i.time),i.delay<=t&&A(t-i.delay)}function A(r){var g,f,E,T;if(i.state!==l)return a();for(g in u)if(T=u[g],T.name===i.name){if(T.state===h)return n.i(c.b)(A);T.state===d?(T.state=I,T.timer.stop(),T.on.call("interrupt",t,t.__data__,T.index,T.group),delete u[g]):e>+g&&(T.state=I,T.timer.stop(),delete u[g])}if(n.i(c.b)(function(){i.state===h&&(i.state=d,i.timer.restart(o,i.delay,i.time),o(r))}),i.state=M,i.on.call("start",t,t.__data__,i.index,i.group),i.state===M){for(i.state=h,s=new Array(E=i.tween.length),g=0,f=-1;E>g;++g)(T=i.tween[g].value.call(t,t.__data__,i.index,i.group))&&(s[++f]=T);s.length=f+1}}function o(e){for(var n=e<i.duration?i.ease.call(null,e/i.duration):(i.timer.restart(a),i.state=f,1),r=-1,A=s.length;++r<A;)s[r].call(null,n);i.state===f&&(i.on.call("end",t,t.__data__,i.index,i.group),a())}function a(){i.state=I,i.timer.stop(),delete u[e];for(var n in u)return;delete t.__transition}var s,u=t.__transition;u[e]=i,i.timer=n.i(c.a)(r,0,i.time)}var a=n(55),c=n(40);n.d(e,"d",function(){return l}),n.d(e,"a",function(){return M}),n.d(e,"b",function(){return f}),n.d(e,"c",function(){return I}),e.g=i,e.e=r,e.f=A;var s=n.i(a.a)("start","end","interrupt"),u=[],g=0,l=1,M=2,h=3,d=4,f=5,I=6;e.h=function(t,e,n,i,r,A){var a=t.__transition;if(a){if(n in a)return}else t.__transition={};o(t,n,{name:e,index:i,group:r,on:s,tween:u,time:A.time,delay:A.delay,duration:A.duration,ease:A.ease,timer:null,state:g})}},function(t,e,n){"use strict";var i=(n(14),n(79),n(36));n.d(e,"d",function(){return i.a});var r=(n(80),n(15));n.d(e,"c",function(){return r.a});var A=(n(16),n(81),n(82),n(0));n.d(e,"a",function(){return A.a});var o=n(19);n.d(e,"f",function(){return o.a});var a=n(39);n.d(e,"e",function(){return a.a});var c=(n(110),n(111),n(21));n.d(e,"b",function(){return c.a}),n(18)},function(t,e,n){"use strict";function i(t,e,n,i){this._groups=t,this._parents=e,this._name=n,this._id=i}function r(t){return n.i(o.a)().transition(t)}function A(){return++D}var o=n(2),a=n(119),c=n(120),s=n(121),u=n(122),g=n(123),l=n(124),M=n(125),h=n(126),d=n(127),f=n(128),I=n(129),E=n(130),T=n(131),N=n(132),y=n(133),p=n(134),C=n(8);e.b=i,e.a=r,e.c=A;var D=0,x=o.a.prototype;i.prototype=r.prototype={constructor:i,select:f.a,selectAll:I.a,filter:l.a,merge:M.a,selection:E.a,transition:p.a,call:x.call,nodes:x.nodes,node:x.node,size:x.size,empty:x.empty,each:x.each,on:h.a,attr:a.a,attrTween:c.a,style:T.a,styleTween:N.a,text:y.a,remove:d.a,tween:C.a,delay:s.a,duration:u.a,ease:g.a}},function(t,e,n){"use strict";var i=n(9);n.d(e,"a",function(){return i.a}),n.d(e,"f",function(){return i.h}),n.d(e,"e",function(){return i.g});var r=n(54);n.d(e,"d",function(){return r.b}),n.d(e,"c",function(){return r.a});var A=n(53);n.d(e,"b",function(){return A.a})},function(e){e.exports=t},function(t,e,n){"use strict";function i(t,e){return function(n){return t+n*e}}function r(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(i){return Math.pow(t+i*e,n)}}function A(t,e){var r=e-t;return r?i(t,r>180||-180>r?r-360*Math.round(r/360):r):n.i(c.a)(isNaN(t)?e:t)}function o(t){return 1==(t=+t)?a:function(e,i){return i-e?r(e,i,t):n.i(c.a)(isNaN(e)?i:e)}}function a(t,e){var r=e-t;return r?i(t,r):n.i(c.a)(isNaN(t)?e:t)}var c=n(31);e.b=A,e.c=o,e.a=a},function(t,e){"use strict";e.a=function(t,e){return t=+t,e-=t,function(n){return t+e*n}}},function(t,e,n){"use strict";function i(t,e){var i,r;return function(){var A=n.i(o.e)(this,t),a=A.tween;if(a!==i){r=i=a;for(var c=0,s=r.length;s>c;++c)if(r[c].name===e){r=r.slice(),r.splice(c,1);break}}A.tween=r}}function r(t,e,i){var r,A;if("function"!=typeof i)throw new Error;return function(){var a=n.i(o.e)(this,t),c=a.tween;if(c!==r){A=(r=c).slice();for(var s={name:e,value:i},u=0,g=A.length;g>u;++u)if(A[u].name===e){A[u]=s;break}u===g&&A.push(s)}a.tween=A}}function A(t,e,i){var r=t._id;return t.each(function(){var t=n.i(o.e)(this,r);(t.value||(t.value={}))[e]=i.apply(this,arguments)}),function(t){return n.i(o.f)(t,r).value[e]}}var o=n(1);e.b=A,e.a=function(t,e){var A=this._id;if(t+="",arguments.length<2){for(var a,c=n.i(o.f)(this.node(),A).tween,s=0,u=c.length;u>s;++s)if((a=c[s]).name===t)return a.value;return null}return this.each((null==e?i:r)(A,t,e))}},function(t,e,n){"use strict";function i(){}function r(t){var e;return t=(t+"").trim().toLowerCase(),(e=y.exec(t))?(e=parseInt(e[1],16),new s(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1)):(e=p.exec(t))?A(parseInt(e[1],16)):(e=C.exec(t))?new s(e[1],e[2],e[3],1):(e=D.exec(t))?new s(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=x.exec(t))?o(e[1],e[2],e[3],e[4]):(e=B.exec(t))?o(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=w.exec(t))?u(e[1],e[2]/100,e[3]/100,1):(e=m.exec(t))?u(e[1],e[2]/100,e[3]/100,e[4]):Q.hasOwnProperty(t)?A(Q[t]):"transparent"===t?new s(NaN,NaN,NaN,0):null}function A(t){return new s(t>>16&255,t>>8&255,255&t,1)}function o(t,e,n,i){return 0>=i&&(t=e=n=NaN),new s(t,e,n,i)}function a(t){return t instanceof i||(t=r(t)),t?(t=t.rgb(),new s(t.r,t.g,t.b,t.opacity)):new s}function c(t,e,n,i){return 1===arguments.length?a(t):new s(t,e,n,null==i?1:i)}function s(t,e,n,i){this.r=+t,this.g=+e,this.b=+n,this.opacity=+i}function u(t,e,n,i){return 0>=i?t=e=n=NaN:0>=n||n>=1?t=e=NaN:0>=e&&(t=NaN),new M(t,e,n,i)}function g(t){if(t instanceof M)return new M(t.h,t.s,t.l,t.opacity);if(t instanceof i||(t=r(t)),!t)return new M;if(t instanceof M)return t;t=t.rgb();var e=t.r/255,n=t.g/255,A=t.b/255,o=Math.min(e,n,A),a=Math.max(e,n,A),c=NaN,s=a-o,u=(a+o)/2;return s?(c=e===a?(n-A)/s+6*(A>n):n===a?(A-e)/s+2:(e-n)/s+4,s/=.5>u?a+o:2-a-o,c*=60):s=u>0&&1>u?0:c,new M(c,s,u,t.opacity)}function l(t,e,n,i){return 1===arguments.length?g(t):new M(t,e,n,null==i?1:i)}function M(t,e,n,i){this.h=+t,this.s=+e,this.l=+n,this.opacity=+i}function h(t,e,n){return 255*(60>t?e+(n-e)*t/60:180>t?n:240>t?e+(n-e)*(240-t)/60:e)}var d=n(10);e.d=i,n.d(e,"f",function(){return f}),n.d(e,"e",function(){return I}),e.a=r,e.c=a,e.h=c,e.b=s,e.g=l;var f=.7,I=1/f,E="\\s*([+-]?\\d+)\\s*",T="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",N="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",y=/^#([0-9a-f]{3})$/,p=/^#([0-9a-f]{6})$/,C=new RegExp("^rgb\\("+[E,E,E]+"\\)$"),D=new RegExp("^rgb\\("+[N,N,N]+"\\)$"),x=new RegExp("^rgba\\("+[E,E,E,T]+"\\)$"),B=new RegExp("^rgba\\("+[N,N,N,T]+"\\)$"),w=new RegExp("^hsl\\("+[T,N,N]+"\\)$"),m=new RegExp("^hsla\\("+[T,N,N,T]+"\\)$"),Q={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};n.i(d.a)(i,r,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}}),n.i(d.a)(s,c,n.i(d.b)(i,{brighter:function(t){return t=null==t?I:Math.pow(I,t),new s(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?f:Math.pow(f,t),new s(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var t=this.opacity;return t=isNaN(t)?1:Math.max(0,Math.min(1,t)),(1===t?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}})),n.i(d.a)(M,l,n.i(d.b)(i,{brighter:function(t){return t=null==t?I:Math.pow(I,t),new M(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?f:Math.pow(f,t),new M(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,i=n+(.5>n?n:1-n)*e,r=2*n-i;return new s(h(t>=240?t-240:t+120,r,i),h(t,r,i),h(120>t?t+240:t-120,r,i),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}))},function(t,e){"use strict";function n(t,e){var n=Object.create(t.prototype);for(var i in e)n[i]=e[i];return n}e.b=n,e.a=function(t,e,n){t.prototype=e.prototype=n,n.constructor=t}},function(t,e,n){"use strict";var i=(n(13),n(29),n(12),n(30),n(32),n(7));n.d(e,"b",function(){return i.a});var r=(n(33),n(73),n(35));n.d(e,"d",function(){return r.a});var A=n(75);n.d(e,"a",function(){return A.a}),n.d(e,"e",function(){return A.b});var o=(n(77),n(34));n.d(e,"c",function(){return o.a}),n(70),n(71),n(69),n(68),n(72)},function(t,e){"use strict";function n(t,e,n,i,r){var A=t*t,o=A*t;return((1-3*t+3*A-o)*e+(4-6*A+3*o)*n+(1+3*t+3*A-3*o)*i+o*r)/6}e.b=n,e.a=function(t){var e=t.length-1;return function(i){var r=0>=i?i=0:i>=1?(i=1,e-1):Math.floor(i*e),A=t[r],o=t[r+1],a=r>0?t[r-1]:2*A-o,c=e-1>r?t[r+2]:2*o-A;return n((i-r/e)*e,a,A,o,c)}}},function(t,e,n){"use strict";var i=n(4),r=n(34),A=n(29),o=n(32),a=n(7),c=n(33),s=n(35),u=n(31);e.a=function(t,e){var g,l=typeof e;return null==e||"boolean"===l?n.i(u.a)(e):("number"===l?a.a:"string"===l?(g=n.i(i.a)(e))?(e=g,r.a):s.a:e instanceof i.a?r.a:e instanceof Date?o.a:Array.isArray(e)?A.a:isNaN(e)?c.a:a.a)(t,e)}},function(t,e,n){"use strict";function i(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===o.a&&e.documentElement.namespaceURI===o.a?e.createElement(t):e.createElementNS(n,t)}}function r(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}var A=n(15),o=n(16);e.a=function(t){var e=n.i(A.a)(t);return(e.local?r:i)(e)}},function(t,e,n){"use strict";var i=n(16);e.a=function(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),i.b.hasOwnProperty(e)?{space:i.b[e],local:t}:t}},function(t,e,n){"use strict";n.d(e,"a",function(){return i});var i="http://www.w3.org/1999/xhtml";e.b={svg:"http://www.w3.org/2000/svg",xhtml:i,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}},function(t,e){"use strict";e.a=function(t,e){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var i=n.createSVGPoint();return i.x=e.clientX,i.y=e.clientY,i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var r=t.getBoundingClientRect();return[e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop]}},function(t,e,n){"use strict";function i(t,e,n){return t=r(t,e,n),function(e){var n=e.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||t.call(this,e)}}function r(t,e,n){return function(i){var r=s;s=i;try{t.call(this,this.__data__,e,n)}finally{s=r}}}function A(t){return t.trim().split(/^|\s+/).map(function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}})}function o(t){return function(){var e=this.__on;if(e){for(var n,i=0,r=-1,A=e.length;A>i;++i)n=e[i],t.type&&n.type!==t.type||n.name!==t.name?e[++r]=n:this.removeEventListener(n.type,n.listener,n.capture);++r?e.length=r:delete this.__on}}}function a(t,e,n){var A=c.hasOwnProperty(t.type)?i:r;return function(i,r,o){var a,c=this.__on,s=A(e,r,o);if(c)for(var u=0,g=c.length;g>u;++u)if((a=c[u]).type===t.type&&a.name===t.name)return this.removeEventListener(a.type,a.listener,a.capture),this.addEventListener(a.type,a.listener=s,a.capture=n),void(a.value=e);this.addEventListener(t.type,s,n),a={type:t.type,name:t.name,value:e,listener:s,capture:n},c?c.push(a):this.__on=[a]}}n.d(e,"a",function(){return s});var c={},s=null;if("undefined"!=typeof document){"onmouseenter"in document.documentElement||(c={mouseenter:"mouseover",mouseleave:"mouseout"})}e.b=function(t,e,n){var i,r,c=A(t+""),s=c.length;if(!(arguments.length<2)){for(u=e?a:o,null==n&&(n=!1),i=0;s>i;++i)this.each(u(c[i],e,n));return this}var u=this.node().__on;if(u)for(var g,l=0,M=u.length;M>l;++l)for(i=0,g=u[l];s>i;++i)if((r=c[i]).type===g.type&&r.name===g.name)return g.value}},function(t,e){"use strict";function n(){}e.a=function(t){return null==t?n:function(){return this.querySelector(t)}}},function(t,e,n){"use strict";var i=n(18);e.a=function(){for(var t,e=i.a;t=e.sourceEvent;)e=t;return e}},function(t,e){"use strict";e.a=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}},function(t,e){"use strict";function n(){return E||(y(i),E=N.now()+T)}function i(){E=0}function r(){this._call=this._time=this._next=null}function A(t,e,n){var i=new r;return i.restart(t,e,n),i}function o(){n(),++M;for(var t,e=g;e;)(t=E-e._time)>=0&&e._call.call(null,t),e=e._next;--M}function a(){E=(I=N.now())+T,M=h=0;try{o()}finally{M=0,s(),E=0}}function c(){var t=N.now(),e=t-I;e>f&&(T-=e,I=t)}function s(){for(var t,e,n=g,i=1/0;n;)n._call?(i>n._time&&(i=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:g=e);l=t,u(i)}function u(t){if(!M){h&&(h=clearTimeout(h));var e=t-E;e>24?(1/0>t&&(h=setTimeout(a,e)),d&&(d=clearInterval(d))):(d||(I=E,d=setInterval(c,f)),M=1,y(a))}}e.c=n,e.b=r,e.a=A;var g,l,M=0,h=0,d=0,f=1e3,I=0,E=0,T=0,N="object"==typeof performance&&performance.now?performance:Date,y="function"==typeof requestAnimationFrame?requestAnimationFrame:function(t){setTimeout(t,17)};r.prototype=A.prototype={constructor:r,restart:function(t,e,i){if("function"!=typeof t)throw new TypeError("callback is not a function");i=(null==i?n():+i)+(null==e?0:+e),this._next||l===this||(l?l._next=this:g=this,l=this),this._call=t,this._time=i,u()},stop:function(){this._call&&(this._call=null,this._time=1/0,u())}}},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e,n,i,r){for(var A=-1,o=null,a=0,c=t.words.length,s=0;c>=s;s++)!function(e){var n={};t.DBs.forEach(function(t){for(var i=0===e?0:t.seqIndices[e-1]+1,r=e===c?t.tokens.length:t.seqIndices[e],A={},o=i;r>o;o++){var a=t.tokens[o];A[a]||(A[a]=!0,a in n?n[a]+=t.count:n[a]=t.count)}});var s=null,u=0;(c>0?Object.keys(n):Object.keys(n).filter(function(t){return!r[t].startsWith("#")})).forEach(function(t){var e=n[t];i>e&&e>u&&(s=+t,u=e)}),u>a&&(A=e,o=s,a=u)}(s);var u=null,g=null;if(a>=n){u={size:0,DBs:[]},g={size:0,DBs:[]};for(var l=t.words,M=0;M<t.DBs.length;M++){var h=t.DBs[M],d=0===A?0:h.seqIndices[A-1]+1,f=A===l.length?h.tokens.length:h.seqIndices[A],I=h.tokens.slice(d,f).indexOf(o);0>I?(u.DBs.push(h),u.size+=h.count):(I+=d,h.seqIndices.splice(A,0,I),g.DBs.push(h),g.size+=h.count)}}return{word:o,pos:A,count:a,s0:u,s1:g}}function o(t,e,n,i,r,o,a){t.words&&t.words.length>0&&(t.graph.nodes=t.graph.nodes.concat(t.words),n-=t.words.length);var c=new l.default(function(t,e){return e.size-t.size});c.push(t);for(var s=[];!c.empty()&&n>0;){var u=c.pop(),g=u.graph,M=u.r,d=u.l;if(!M&&!d){var f=A(u,o,i,r,a);M=f.s0,d=f.s1;var I=f.word,E=f.pos,T=f.count;if(i>T)s.push(u);else{g||(g=new h.default(i,r),e.push(g));var N={id:g.totalNodeCnt++,entity:a[I],freq:T,topEntries:d.DBs.slice(0,5),seq:d},y=u.words.slice();y.splice(E,0,N),M.words=u.words,d.words=y,d.newWord=N,M.graph=u.graph,d.graph=g}}d&&(d.graph.nodes.push(d.newWord),n--),u.l=d,u.r=M,d&&c.push(d),M&&M.size>=i&&c.push(M)}return s.concat(c.toArray())}function a(t,e){e.filter(function(e){return t.indexOf(e.graph)>=0}).forEach(function(t){for(var e=t.words,n=t.graph.linkadj,i=0;i<e.length-1;i++){var r=e[i],A=r.id,o=e[i+1].id;A in n||(n[A]={}),o in n[A]?n[A][o]+=t.size:n[A][o]=t.size}e.filter(function(e){return!e.leafSeq||e.leafSeq<t.size}).forEach(function(e){e.leafSeq=t})})}Object.defineProperty(e,"__esModule",{value:!0});var c=function(){function t(t,e){var n=[],i=!0,r=!1,A=void 0;try{for(var o,a=t[Symbol.iterator]();!(i=(o=a.next()).done)&&(n.push(o.value),!e||n.length!==e);i=!0);}catch(t){r=!0,A=t}finally{try{!i&&a.return&&a.return()}finally{if(r)throw A}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),s=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),u=n(5),g=n(44),l=i(g),M=n(48),h=i(M),d=150,f=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r(this,t);var i=e.itemset,A=e.entries;this.tokenizedData=e,this.terms=e.encodeTermWeights(n);var s=e.computeSize();this.supportRange=[Math.max(.001*s,2),s/3];var u=c(this.supportRange,2),g=u[0],l=u[1];this.rootSeq={words:[],newWord:null,graph:null,size:s,DBs:A};var M=[],h=o(this.rootSeq,M,d,g,l,this.terms,i);this.graphs=M.filter(function(t){return t.nodes.length>2}).slice(0,10),a(this.graphs,h)}return s(t,[{key:"updateGraphs",value:function(t){this.graphs.forEach(function(t){return t.clear()});var e=t||this.rootSeq,n=c(this.supportRange,2),i=n[0],r=n[1],A=o(e,this.graphs,d,i,r,this.terms,this.tokenizedData.itemset);return a(this.graphs,A),this}},{key:"size",value:function(){return this.rootSeq.size}},{key:"getRenderedGraphs",value:function(t){var e=1===arguments.length?this.graphs.slice(0,t):this.graphs,n=e.map(function(t){return t.toRenderedGraph()}),i=[u.min(n.map(function(t){return t.freqRange[0]})),u.max(n.map(function(t){return t.freqRange[1]}))],r=0;return n.forEach(function(t){t.globalFreqRange=i,t.nodes.forEach(function(t){t.gid=r,r++})}),n}}]),t}();e.default=f},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),A=n(5),o=["i","me","my","myself","we","our","ours","ourselves","you","your","yours","yourself","yourselves","he","him","his","himself","she","her","hers","herself","it","its","itself","they","them","their","theirs","themselves","what","which","who","whom","this","that","these","those","am","is","are","was","were","be","been","being","have","has","had","having","do","does","did","doing","a","an","the","and","but","if","or","because","as","until","while","of","at","by","for","with","about","against","between","into","through","during","before","after","above","below","to","from","up","down","in","out","on","off","over","under","again","further","then","once","here","there","when","where","why","how","all","any","both","each","few","more","most","other","some","such","nor","only","same","so","than","too","very","s","t","can","will","just","don","should","now"],a=["de","la","y","un","que","en","el","shit","fuck","fucking"],c=["rt","via","amp","http","https","m","re","co"],s=A.uniq(o.concat(a).concat(c)),u=function(){function t(){var e=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=n.includeWords,o=void 0===r?[]:r,a=n.excludeWords,c=void 0===a?[]:a,u=n.includeDefault,g=void 0===u||u;i(this,t),this.stopWords=g?s:[],o&&o.length>0&&(this.stopWords=A.uniq(this.stopWords.concat(o))),c&&c.length>0&&function(){var t=A.keyBy(c,function(t){return t});e.stopWords=e.stopWords.filter(function(e){return!t[e]})}(),this.regex=new RegExp("^("+this.stopWords.join("|")+")$")}return r(t,[{key:"test",value:function(t){return this.regex.test(t)}}]),t}();e.default=u;var g=null;u.getDefault=function(){return g||(g=new u),g}},function(t,e){"use strict";function n(t){var e=[];i.lastIndex=0;for(var n=i.exec(t);null!=n;)e.push(n[0].trim()),n=i.exec(t);return e}Object.defineProperty(e,"__esModule",{value:!0}),e.default=n;var i=/http:\/\/t\.co\/\w+|http:\/\/vine\.co\/\w+|http:\/\/t\.co\w+|http:\/\/vine\.co\w+|http:\/\/t\.\w+|http:\/\/vine\.\w+|http:\/\/\w+|\@\w+|\#\w+|\d+(,\d+)+|\w+(-\w+)*|\$?\d+(\.\d+)?\%?|([A-Z]\.)+/g},function(t,e){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=function(){function t(e,i,r){n(this,t),this.source=e,this.target=i,this.freq=r,this.attachPoints={x1:0,y1:0,x2:1,y2:1}}return i(t,[{key:"getKey",value:function(){return[this.source.id,this.target.id].join(",")}},{key:"isTheOnlyBridge",value:function(){return 1===this.source.rightLinks.length&&1===this.target.leftLinks.length}},{key:"toConstraint",value:function(){var t=this.isTheOnlyBridge()?5:15;return{axis:"x",left:this.source.id,right:this.target.id,gap:(this.source.width+this.target.width)/2+t}}},{key:"toOnlyBridgeConstraint",value:function(){return{type:"alignment",axis:"y",offsets:[{node:this.source.id,offset:0},{node:this.target.id,offset:0}]}}}]),t}();e.default=r},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),A=n(5),o=function(){function t(e){i(this,t),this.data=e,this.leftLinks=[],this.rightLinks=[],this.id=-1,this.x=0,this.y=0,this.width=50,this.height=18}return r(t,[{key:"isLeaf",value:function(){return 0===this.leftLinks.length||0===this.rightLinks.length}},{key:"isLeftLeaf",value:function(){return 0===this.leftLinks.length}},{key:"isRightLeaf",value:function(){return 0===this.rightLinks.length}},{key:"leftEdge",value:function(){return this.x-this.width/2}},{key:"rightEdge",value:function(){return this.x+this.width/2}},{key:"getLeftNodes",value:function(){return this.leftLinks.map(function(t){return t.source})}},{key:"getRightNodes",value:function(){return this.rightLinks.map(function(t){return t.target})}},{key:"createAlignmentConstraints",value:function(t,e){return e.length>1?{type:"alignment",axis:t,offsets:e.map(function(t){return{node:t.id,offset:0}})}:null}},{key:"computeLeftConstraints",value:function(){var t=this.getLeftNodes().filter(function(t){return 1===t.rightLinks.length});return this.createAlignmentConstraints("x",t)}},{key:"computeRightConstraints",value:function(){var t=this.getRightNodes().filter(function(t){return 1===t.leftLinks.length});return this.createAlignmentConstraints("x",t)}},{key:"computeOrderConstraints",value:function(){var t=[];if(this.getRightNodes().length>1)for(var e=this.getRightNodes(),n=1;n<e.length;n++)t.push({axis:"y",left:e[n-1].id,right:e[n].id,gap:5});if(this.getLeftNodes().length>1)for(var i=this.getLeftNodes(),r=1;r<i.length;r++)t.push({axis:"y",left:i[r-1].id,right:i[r].id,gap:5});return t}},{key:"updateAttachPoints",value:function(){var t=this;1===this.leftLinks.length?this.leftLinks[0].attachPoints.y2=this.y:this.leftLinks.length>1&&function(){var e=A.sum(t.leftLinks.map(function(t){return t.strokeWidth})),n=t.y-(e+2*(t.leftLinks.length-1))/2;t.leftLinks.concat().sort(function(t,e){return t.source.y-e.source.y}).forEach(function(t){t.attachPoints.y2=n+t.strokeWidth/2,n+=t.strokeWidth+2})}(),1===this.rightLinks.length?this.rightLinks[0].attachPoints.y1=this.y:this.rightLinks.length>1&&function(){var e=A.sum(t.rightLinks.map(function(t){return t.strokeWidth})),n=t.y-(e+2*(t.rightLinks.length-1))/2;t.rightLinks.concat().sort(function(t,e){return t.target.y-e.target.y}).forEach(function(t){t.attachPoints.y1=n+t.strokeWidth/2,n+=t.strokeWidth+2})}()}},{key:"canMerge",value:function(t){return this.data.entity===t.data.entity}}],[{key:"merge",value:function(e){return new t({id:A.min(e.map(function(t){return t.data.id})),entity:e[0].data.entity,freq:A.sum(e.map(function(t){return t.data.freq})),mergedData:e.map(function(t){return t.data}),topEntries:e.reduce(function(t,e){return t.concat(e.data.topEntries)},[]).slice(0,5)})}}]),t}();e.default=o},function(t,e,n){"use strict";n.d(e,"b",function(){return i}),n.d(e,"a",function(){return r});var i=Math.PI/180,r=180/Math.PI},function(t,e,n){"use strict";var i=n(13);e.a=function(t,e){var r,A=e?e.length:0,o=t?Math.min(A,t.length):0,a=new Array(A),c=new Array(A);for(r=0;o>r;++r)a[r]=n.i(i.a)(t[r],e[r]);for(;A>r;++r)c[r]=e[r];return function(t){for(r=0;o>r;++r)c[r]=a[r](t);return c}}},function(t,e,n){"use strict";var i=n(12);e.a=function(t){var e=t.length;return function(r){var A=Math.floor(((r%=1)<0?++r:r)*e),o=t[(A+e-1)%e],a=t[A%e],c=t[(A+1)%e],s=t[(A+2)%e];return n.i(i.b)((r-A/e)*e,o,a,c,s)}}},function(t,e){"use strict";e.a=function(t){return function(){return t}}},function(t,e){"use strict";e.a=function(t,e){var n=new Date;return t=+t,e-=t,function(i){return n.setTime(t+e*i),n}}},function(t,e,n){"use strict";var i=n(13);e.a=function(t,e){var r,A={},o={};(null===t||"object"!=typeof t)&&(t={}),(null===e||"object"!=typeof e)&&(e={});for(r in e)r in t?A[r]=n.i(i.a)(t[r],e[r]):o[r]=e[r];return function(t){for(r in A)o[r]=A[r](t);return o}}},function(t,e,n){"use strict";function i(t){return function(e){var i,A,o=e.length,a=new Array(o),c=new Array(o),s=new Array(o);for(i=0;o>i;++i)A=n.i(r.f)(e[i]),a[i]=A.r||0,c[i]=A.g||0,s[i]=A.b||0;return a=t(a),c=t(c),s=t(s),A.opacity=1,function(t){return A.r=a(t),A.g=c(t),A.b=s(t),A+""}}}var r=n(4),A=n(12),o=n(30),a=n(6);e.a=function t(e){function i(t,e){var i=A((t=n.i(r.f)(t)).r,(e=n.i(r.f)(e)).r),o=A(t.g,e.g),c=A(t.b,e.b),s=n.i(a.a)(t.opacity,e.opacity);return function(e){return t.r=i(e),t.g=o(e),t.b=c(e),t.opacity=s(e),t+""}}var A=n.i(a.c)(e);return i.gamma=t,i}(1),i(A.a),i(o.a)},function(t,e,n){"use strict";function i(t){return function(){return t}}function r(t){return function(e){return t(e)+""}}var A=n(7),o=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,a=new RegExp(o.source,"g");e.a=function(t,e){var c,s,u,g=o.lastIndex=a.lastIndex=0,l=-1,M=[],h=[];for(t+="",e+="";(c=o.exec(t))&&(s=a.exec(e));)(u=s.index)>g&&(u=e.slice(g,u),M[l]?M[l]+=u:M[++l]=u),(c=c[0])===(s=s[0])?M[l]?M[l]+=s:M[++l]=s:(M[++l]=null,h.push({i:l,x:n.i(A.a)(c,s)})),g=a.lastIndex;return g<e.length&&(u=e.slice(g),M[l]?M[l]+=u:M[++l]=u),M.length<2?h[0]?r(h[0].x):i(e):(e=h.length,function(t){for(var n,i=0;e>i;++i)M[(n=h[i]).i]=n.x(t);return M.join("")})}},function(t,e){"use strict";var n=function(t){return function(){return this.matches(t)}};if("undefined"!=typeof document){var i=document.documentElement;if(!i.matches){var r=i.webkitMatchesSelector||i.msMatchesSelector||i.mozMatchesSelector||i.oMatchesSelector;n=function(t){return function(){return r.call(this,t)}}}}e.a=n},function(t,e,n){"use strict";function i(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}var r=n(38),A=n(0);e.b=i,e.a=function(){return new A.b(this._enter||this._groups.map(r.a),this._parents)},i.prototype={constructor:i,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}}},function(t,e){"use strict";e.a=function(t){return new Array(t.length)}},function(t,e){"use strict";function n(){return[]}e.a=function(t){return null==t?n:function(){return this.querySelectorAll(t)}}},function(t,e,n){"use strict";var i=n(22);n.d(e,"c",function(){return i.c}),n.d(e,"a",function(){return i.a});var r=n(113);n.d(e,"b",function(){return r.a}),n(112)},function(t,e,n){"use strict";var i=n(1);e.a=function(t,e){var n,r,A,o=t.__transition,a=!0;if(o){e=null==e?null:e+"";for(A in o)(n=o[A]).name===e?(r=n.state>i.a&&n.state<i.b,n.state=i.c,n.timer.stop(),r&&n.on.call("interrupt",t,t.__data__,n.index,n.group),delete o[A]):a=!1;a&&delete t.__transition}}},function(t,e,n){"use strict";var i=n(4),r=n(11);e.a=function(t,e){var A;return("number"==typeof e?r.b:e instanceof i.a?r.c:(A=n.i(i.a)(e))?(e=A,r.c):r.d)(t,e)}},function(t){t.exports=e},function(t){t.exports=n},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var A=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),o=n(23),a=i(o),c=n(50),s=i(c),u=n(24),g=i(u),l=n(25),M=i(l),h=function(t){return t},d=function(){function t(){r(this,t),this._tokenize=M.default,this._transformToken=h;var e=g.default.getDefault();this._filterToken=function(t){return!e.test(t)}}return A(t,[{key:"tokenize",value:function(){return 0===arguments.length?this._tokenize:(this._tokenize=arguments.length<=0?void 0:arguments[0],this)}},{key:"transformToken",value:function(){return 0===arguments.length?this._transformToken:(this._transformToken=arguments.length<=0?void 0:arguments[0],this)}},{key:"filterToken",value:function(){return 0===arguments.length?this._filterToken:(this._filterToken=arguments.length<=0?void 0:arguments[0],this)}},{key:"buildTokenizedDataset",value:function(t){var e=this,n=t.map(function(t){return{id:t.id,count:t.count||1,tokens:e._tokenize(t.text).map(e._transformToken).filter(e._filterToken),rawText:t.text}}).filter(function(t){return t.tokens.length>0});return new s.default(n)}},{key:"buildModel",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new a.default(this.buildTokenizedDataset(t),e)}}]),t}();e.default=d},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function A(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),a=function t(e,n,i){null===e&&(e=Function.prototype);var r=Object.getOwnPropertyDescriptor(e,n);if(void 0===r){var A=Object.getPrototypeOf(e);return null===A?void 0:t(A,n,i)}if("value"in r)return r.value;var o=r.get;return void 0===o?void 0:o.call(i)};n(114);var c=n(43),s=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(c),u=n(135),g=n(5),l=n(51),M=function(t){return t&&t.__esModule?t:{default:t}}(l),h=n(52),d=function(t){function e(t,n){i(this,e);var A=r(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,n));return A.layers.create(["link","node"]),A.fontSizeScale=s.scaleSqrt().clamp(!0),A.strokeSizeScale=s.scaleSqrt().domain([1,100]).range([1,6]).clamp(!0),A.layouts=[],A.updatePosition=A.updatePosition.bind(A),A.visualize=A.visualize.bind(A),A.on("data",A.visualize),A.on("options",A.visualize),A}return A(e,t),o(e,null,[{key:"getDefaultOptions",value:function(){return u.helper.deepExtend(a(e.__proto__||Object.getPrototypeOf(e),"getDefaultOptions",this).call(this),{initialWidth:800,initialHeight:200,margin:{left:0,top:0,bottom:0,right:0},fontSize:[10,32],gapBetweenGraph:10})}},{key:"getCustomEventNames",value:function(){return["layoutStart","layoutTick","layoutEnd","nodeMouseenter","nodeMouseleave","nodeMousemove","nodeClick","linkMouseenter","linkMouseleave","linkMousemove","linkClick"]}}]),o(e,[{key:"fontSize",value:function(t){return Math.round(this.fontSizeScale(t.data.freq))+"px"}},{key:"renderNodes",value:function(t){var e=this,n=this.layers.get("node").selectAll("g.graph").data(t);n.exit().remove();var i=n.enter().append("g").classed("graph",!0);this.sNodeGraphs=n.merge(i).attr("transform","translate("+this.getInnerWidth()/2+","+this.getInnerHeight()/2+")");var r=i.selectAll("g").data(function(t){return t.nodes},function(t){return t.id});r.exit().remove(),r.enter().append("g").classed("node",!0).on("click.event",this.dispatchAs("nodeClick")).on("mouseenter.event",this.dispatchAs("nodeMouseenter")).on("mousemove.event",this.dispatchAs("nodeMousemove")).on("mouseleave.event",this.dispatchAs("nodeMouseleave")).append("text").attr("dy",".28em").text(function(t){return t.data.entity}).style("cursor","pointer"),this.sNodes=this.layers.get("node").selectAll("g.node"),this.sNodes.select("text").style("font-size",function(t){return e.fontSize(t)}).style("text-anchor","middle")}},{key:"renderLinks",value:function(t){var e=this,n=this.layers.get("link").selectAll("g.graph").data(t);n.exit().remove();var i=n.enter().append("g").classed("graph",!0);this.sLinkGraphs=n.merge(i).attr("transform","translate("+this.getInnerWidth()/2+","+this.getInnerHeight()/2+")");var r=i.selectAll("path.link").data(function(t){return t.links},function(t){return t.getKey()});r.exit().remove(),r.enter().append("path").classed("link",!0).on("click.event",this.dispatchAs("linkClick")).on("mouseenter.event",this.dispatchAs("linkMouseenter")).on("mousemove.event",this.dispatchAs("linkMousemove")).on("mouseleave.event",this.dispatchAs("linkMouseleave")).style("vector-effect","non-scaling-stroke").style("opacity",.5).style("stroke","#222").style("fill","none"),t.forEach(function(t){t.links.forEach(function(n){n.strokeWidth=Math.round(e.strokeSizeScale(n.freq/t.minSupport))})}),this.sLinks=this.layers.get("link").selectAll("path.link").style("stroke-width",function(t){return t.strokeWidth+"px"}).style("stroke",function(t){return t.isTheOnlyBridge()?"#777":"#FF9800"})}},{key:"updatePosition",value:function(){var t=0,e=0,n=this.options(),i=n.margin,r=n.gapBetweenGraph,A=i.top,o=i.left,a=i.bottom,c=i.right;this.sNodeGraphs.each(function(n){var i=this.getBBox(),A=i.width,o=i.height;e=Math.max(A,e),n.x=-i.x,n.y=-i.y+t,t+=o+r}),this.sNodeGraphs.attr("transform",function(t){return"translate("+t.x+","+t.y+")"}),this.sLinkGraphs.attr("transform",function(t){return"translate("+t.x+","+t.y+")"}),this.dimension([e+o+c,Math.max(0,t-r)+A+a]),this.placeNodes(),this.placeLinks()}},{key:"placeNodes",value:function(){this.sNodes.attr("transform",function(t){return"translate("+t.x+", "+t.y+")"})}},{key:"placeLinks",value:function(){this.data().forEach(function(t){t.nodes.forEach(function(t){t.updateAttachPoints()})}),this.sLinks.attr("d",function(t){var e=[t.source.rightEdge(),t.attachPoints.y1,t.target.leftEdge(),t.attachPoints.y2];return h.diagonal.apply(void 0,e)})}},{key:"visualize",value:function(){if(this.hasData()){var t=this.data();if(t.length>0){var e=this.options(),n=e.fontSize;this.fontSizeScale.domain(t[0].globalFreqRange).range(n)}this.linkLookup=g.keyBy(g.flatMap(t,function(t){return t.links}),function(t){return[t.source.gid,t.target.gid].join(",")}),this.renderNodes(t),this.renderLinks(t),this.sNodes.each(function(t){var e=this.getBBox();t.width=e.width+4,t.height=e.height+4});for(var i=Math.max(t.length,this.layouts.length),r=0;i>r;r++)r>=this.layouts.length&&this.layouts.push((new M.default).on("tick",this.updatePosition)),r>=t.length?this.layouts[r].stop().destroy():this.layouts[r].stop().setGraph(t[r]).start();this.layouts=this.layouts.slice(0,t.length),this.updatePosition()}}},{key:"highlightNeighbors",value:function(t){var e=this;this.sNodes.transition().style("opacity",function(n){return n.gid===t.gid||e.linkLookup[[n.gid,t.gid].join(",")]||e.linkLookup[[t.gid,n.gid].join(",")]?1:.3}),this.sLinks.transition().style("opacity",function(e){return e.source.gid===t.gid||e.target.gid===t.gid?1:.3})}},{key:"clearHighlightNeighbors",value:function(){this.sNodes.style("opacity",1),this.sLinks.style("opacity",1)}}]),e}(u.SvgChart);e.default=d},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var A=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),o=n(5),a=n(44),c=i(a),s=n(26),u=i(s),g=n(27),l=i(g),M=function(){function t(e,n){r(this,t),this.nodes=e,this.links=n,this.linkLookup=o.keyBy(this.links,function(t){return t.getKey()})}return A(t,[{key:"addLinks",value:function(t){var e=this;this.links=this.links.concat(t),t.forEach(function(t){e.linkLookup[t.getKey()]=t})}},{key:"bundle",value:function(){var t=this,e=new c.default(function(t,e){return t.data.id-e.data.id});for(this.nodes.filter(function(e){return t.hasPotential(e)}).forEach(function(t){e.push(t)});e.size()>0;){var n=e.pop();if(!n.merged){var i=[];if(n.leftLinks.length>1){var r=n.leftLinks.map(function(t){return t.source});i=i.concat(this.groupMergeableNodes(r))}if(n.rightLinks.length>1){var A=n.rightLinks.map(function(t){return t.target});i=i.concat(this.groupMergeableNodes(A))}if(i.length>0){i.map(function(e){return t.mergeNodes(e)}).filter(function(e){return t.hasPotential(e)}).forEach(function(t){e.push(t)})}}}return{nodes:this.nodes.filter(function(t){return!t.merged}),links:this.links.filter(function(t){return!t.source.merged&&!t.target.merged})}}},{key:"groupMergeableNodes",value:function(t){var e=this.linkLookup;return o.chain(t).groupBy(function(t){return t.data.entity}).values().filter(function(t){return t.length>1}).flatMap(function(t){for(var n=[[t[0]]],i=1;i<t.length;i++)!function(i){for(var r=t[i],A=0;A<n.length;A++){var o=n[A];o.every(function(t){return!e[[t.id,r.id].join(",")]&&!e[[t.id,r.id].join(",")]})?o.push(r):n.push([r])}}(i);return n.filter(function(t){return t.length>1})}).value()}},{key:"hasPotential",value:function(t){return t.rightLinks.length>1||t.leftLinks.length>1}},{key:"mergeNodes",value:function(t){var e=l.default.merge(t);return e.id=this.nodes.length,this.nodes.push(e),t.forEach(function(t){t.merged=!0}),e.rightLinks=o.chain(t).flatMap(function(t){return t.rightLinks}).groupBy(function(t){return t.target.id}).mapValues(function(t){var n=t[0].target;n.leftLinks=n.leftLinks.filter(function(t){return!t.source.merged});var i=new u.default(e,t[0].target,o.sum(t.map(function(t){return t.freq})));return n.leftLinks.push(i),i}).values().value(),this.addLinks(e.rightLinks),e.leftLinks=o.chain(t).flatMap(function(t){return t.leftLinks}).groupBy(function(t){return t.source.id}).mapValues(function(t){var n=t[0].source;n.rightLinks=n.rightLinks.filter(function(t){return!t.target.merged});var i=new u.default(t[0].source,e,o.sum(t.map(function(t){return t.freq})));return n.rightLinks.push(i),i}).values().value(),this.addLinks(e.leftLinks),e}}]),t}();e.default=M},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),A=n(49),o=function(t){return t&&t.__esModule?t:{default:t}}(A),a=function(){function t(e,n){i(this,t),this.nodes=[],this.linkadj=[],this.minSupport=e,this.maxSupport=n,this.totalNodeCnt=0}return r(t,[{key:"clear",value:function(){return this.nodes=[],this.linkadj=[],this}},{key:"toRenderedGraph",value:function(){return new o.default(this)}}]),t}();e.default=a},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var A=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),o=n(5),a=n(47),c=i(a),s=n(26),u=i(s),g=n(27),l=i(g),M=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.bundle,A=void 0===i||i,a=n.highFrequencyOnTop,s=void 0===a||a;r(this,t),this.options={bundle:A,highFrequencyOnTop:s},this.minSupport=e.minSupport,this.maxSupport=e.maxSupport;var g=e.nodes.map(function(t){return new l.default(t)}),M=[];if(Object.keys(e.linkadj).forEach(function(t){var n=g[t],i=e.linkadj[t];Object.keys(i).forEach(function(t){var e=g[t],r=new u.default(n,e,i[t]);M.push(r),n.rightLinks.push(r),e.leftLinks.push(r)})}),this.assignNodeIds(g),A){var h=new c.default(g,M).bundle();this.nodes=h.nodes,this.links=h.links,this.assignNodeIds(this.nodes)}else this.nodes=g,this.links=M;this.linkLookup=o.keyBy(this.links,function(t){return t.getKey()}),s&&this.nodes.forEach(function(t){t.rightLinks.sort(function(t,e){return e.freq-t.freq}),t.leftLinks.sort(function(t,e){return e.freq-t.freq})});var d=this.nodes.map(function(t){return t.data.freq});this.freqRange=[o.min(d),o.max(d)],this.globalFreqRange=this.freqRange;var f=this.links.filter(function(t){return t.isTheOnlyBridge()}).map(function(t){return t.toOnlyBridgeConstraint()});this.baseConstraints=f.concat(this.getAlignmentConstraints())}return A(t,[{key:"updateNodeSize",value:function(t){return this.nodes.forEach(function(e){var n=t(e),i=n.width,r=n.height;e.width=i,e.height=r}),this}},{key:"assignNodeIds",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t.forEach(function(t,n){t.id=n+e}),this}},{key:"getAlignmentConstraints",value:function(){var t=[];if(this.nodes.length>0){for(var e=this.nodes.map(function(){return!1}),n=[this.nodes[0]];n.length>0;){var i=n.shift(),r=i.id;if(!e[r]){e[r]=!0;var A=i.computeRightConstraints();A&&t.push(A);var o=i.getRightNodes();o.length>0&&(n=n.concat(o))}}for(var a=0;a<this.nodes.length;a++)e[a]=!1;for(n=[this.nodes[0]];n.length>0;){var c=n.shift(),s=c.id;if(!e[s]){e[s]=!0;var u=c.computeLeftConstraints();u&&t.push(u);var g=c.getLeftNodes();g.length>0&&(n=n.concat(g))}}}return t}},{key:"getLinkConstraints",value:function(){return this.links.map(function(t){return t.toConstraint()})}},{key:"getConstraints",value:function(){var t=this.baseConstraints.concat(this.links.map(function(t){return t.toConstraint()}));return this.options.highFrequencyOnTop?t.concat(o.flatMap(this.nodes,function(t){return t.computeOrderConstraints()})):t}},{key:"toGroupConstraint",value:function(){return{leaves:this.nodes.map(function(t){return t.id})}}}]),t}();e.default=M},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),A=n(5),o=function(){function t(){var e=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];i(this,t),this.vocabularies={},this.itemset=[],this.entries=n.map(function(t){var n=t.id,i=t.count,r=t.tokens,A=t.rawText;return{id:n,count:i,tokens:r.map(function(t){return e.encode(t)}),rawText:A,seqIndices:[]}})}return r(t,[{key:"hasToken",value:function(t){return this.vocabularies.hasOwnProperty(t)}},{key:"hasCode",value:function(t){return t>=0&&t<this.itemset.length}},{key:"getCode",value:function(t){return this.vocabularies[t]}},{key:"encode",value:function(t){if(this.vocabularies.hasOwnProperty(t))return this.vocabularies[t];var e=this.itemset.length;return this.itemset.push(t),this.vocabularies[t]=e,e}},{key:"decode",value:function(t){return this.itemset[t]}},{key:"encodeTermWeights",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.keys(e).filter(function(e){return t.hasToken(e)}).reduce(function(n,i){return n[t.getCode(i)]=e[i],n},{})}},{key:"computeSize",value:function(){return A.sum(this.entries.map(function(t){return t.count}))}}]),t}();e.default=o},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),A=n(43),o=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(A),a=n(136),c=function(){function t(){var e=this;i(this,t),this.isRunning=!1,this.simulation=a.d3adaptor(o).flowLayout("x",5).avoidOverlaps(!0).jaccardLinkLengths(10).linkDistance(5),this.dispatcher=o.dispatch("start","tick","end"),this.simulation.on("start.default",function(){e.isRunning=!0,e.dispatcher.call("start",e)}),this.simulation.on("tick.default",function(){e.dispatcher.call("tick",e)}),this.simulation.on("end.default",function(){e.isRunning&&(e.isRunning=!1,e.dispatcher.call("end",e))})}return r(t,[{key:"on",value:function(){var t;return(t=this.dispatcher).on.apply(t,arguments),this}},{key:"setGraph",value:function(t){return this.simulation.nodes(t.nodes).links(t.links).constraints(t.getConstraints()),this}},{key:"start",value:function(){return this.simulation.start(10,10,10),this}},{key:"stop",value:function(){return this.simulation.stop(),this}},{key:"destroy",value:function(){return this.dispatcher.on("start",null),this.dispatcher.on("tick",null),this.dispatcher.on("end",null),this.simulation.on("start",null),this.simulation.on("tick",null),this.simulation.on("end",null),this}}]),t}();e.default=c},function(t,e){"use strict";function n(t,e,n,i){return"M"+t+","+e+"C"+(t+n)/2+","+e+" "+(t+n)/2+","+i+" "+n+","+i}function i(t,e,n,i){return"M "+t+","+e+" L "+n+","+i}Object.defineProperty(e,"__esModule",{value:!0}),e.diagonal=n,e.line=i},function(t,e,n){"use strict";function i(t){if(t instanceof A)return new A(t.h,t.s,t.l,t.opacity);t instanceof a.b||(t=n.i(a.c)(t));var e=t.r/255,i=t.g/255,r=t.b/255,o=(f*r+h*e-d*i)/(f+h-d),s=r-o,u=(M*(i-o)-g*s)/l,I=Math.sqrt(u*u+s*s)/(M*o*(1-o)),E=I?Math.atan2(u,s)*c.a-120:NaN;return new A(0>E?E+360:E,I,o,t.opacity)}function r(t,e,n,r){return 1===arguments.length?i(t):new A(t,e,n,null==r?1:r)}function A(t,e,n,i){this.h=+t,this.s=+e,this.l=+n,this.opacity=+i}var o=n(10),a=n(9),c=n(28);e.a=r;var s=-.14861,u=1.78277,g=-.29227,l=-.90649,M=1.97294,h=M*l,d=M*u,f=u*g-l*s;n.i(o.a)(A,r,n.i(o.b)(a.d,{brighter:function(t){return t=null==t?a.e:Math.pow(a.e,t),new A(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?a.f:Math.pow(a.f,t),new A(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*c.b,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),i=Math.cos(t),r=Math.sin(t);return new a.b(255*(e+n*(s*i+u*r)),255*(e+n*(g*i+l*r)),255*(e+n*M*i),this.opacity)}}))},function(t,e,n){"use strict";function i(t){if(t instanceof A)return new A(t.l,t.a,t.b,t.opacity);if(t instanceof l){var e=t.h*d.b;return new A(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof h.b||(t=n.i(h.c)(t));var i=s(t.r),r=s(t.g),a=s(t.b),c=o((.4124564*i+.3575761*r+.1804375*a)/f),u=o((.2126729*i+.7151522*r+.072175*a)/I);return new A(116*u-16,500*(c-u),200*(u-o((.0193339*i+.119192*r+.9503041*a)/E)),t.opacity)}function r(t,e,n,r){return 1===arguments.length?i(t):new A(t,e,n,null==r?1:r)}function A(t,e,n,i){this.l=+t,this.a=+e,this.b=+n,this.opacity=+i}function o(t){return t>p?Math.pow(t,1/3):t/y+T}function a(t){return t>N?t*t*t:y*(t-T)}function c(t){return 255*(.0031308>=t?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function s(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function u(t){if(t instanceof l)return new l(t.h,t.c,t.l,t.opacity);t instanceof A||(t=i(t));var e=Math.atan2(t.b,t.a)*d.a;return new l(0>e?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function g(t,e,n,i){return 1===arguments.length?u(t):new l(t,e,n,null==i?1:i)}function l(t,e,n,i){this.h=+t,this.c=+e,this.l=+n,this.opacity=+i}var M=n(10),h=n(9),d=n(28);e.b=r,e.a=g;var f=.95047,I=1,E=1.08883,T=4/29,N=6/29,y=3*N*N,p=N*N*N;n.i(M.a)(A,r,n.i(M.b)(h.d,{brighter:function(t){return new A(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new A(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return t=I*a(t),e=f*a(e),n=E*a(n),new h.b(c(3.2404542*e-1.5371385*t-.4985314*n),c(-.969266*e+1.8760108*t+.041556*n),c(.0556434*e-.2040259*t+1.0572252*n),this.opacity)}})),n.i(M.a)(l,g,n.i(M.b)(h.d,{brighter:function(t){return new l(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new l(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return i(this).rgb()}}))},function(t,e,n){"use strict";var i=n(56);n.d(e,"a",function(){return i.a})},function(t,e){"use strict";function n(){for(var t,e=0,n=arguments.length,r={};n>e;++e){if(!(t=arguments[e]+"")||t in r)throw new Error("illegal type: "+t);r[t]=[]}return new i(r)}function i(t){this._=t}function r(t,e){return t.trim().split(/^|\s+/).map(function(t){var n="",i=t.indexOf(".");if(i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}})}function A(t,e){for(var n,i=0,r=t.length;r>i;++i)if((n=t[i]).name===e)return n.value}function o(t,e,n){for(var i=0,r=t.length;r>i;++i)if(t[i].name===e){t[i]=a,t=t.slice(0,i).concat(t.slice(i+1));break}return null!=n&&t.push({name:e,value:n}),t}var a={value:function(){}};i.prototype=n.prototype={constructor:i,on:function(t,e){var n,i=this._,a=r(t+"",i),c=-1,s=a.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++c<s;)if(n=(t=a[c]).type)i[n]=o(i[n],t.name,e);else if(null==e)for(n in i)i[n]=o(i[n],t.name,null);return this}for(;++c<s;)if((n=(t=a[c]).type)&&(n=A(i[n],t.name)))return n},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new i(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,i,r=new Array(n),A=0;n>A;++A)r[A]=arguments[A+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=this._[t],A=0,n=i.length;n>A;++A)i[A].value.apply(e,r)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var i=this._[t],r=0,A=i.length;A>r;++r)i[r].value.apply(e,n)}},e.a=n},function(t,e,n){"use strict";var i=(n(64),n(66),n(61));n.d(e,"a",function(){return i.a}),n(65),n(67),n(63),n(60),n(59),n(58),n(62)},function(){"use strict";var t=1.70158;!function t(e){function n(t){return t*t*((e+1)*t-e)}return e=+e,n.overshoot=t,n}(t),function t(e){function n(t){return--t*t*((e+1)*t+e)+1}return e=+e,n.overshoot=t,n}(t),function t(e){function n(t){return((t*=2)<1?t*t*((e+1)*t-e):(t-=2)*t*((e+1)*t+e)+2)/2}return e=+e,n.overshoot=t,n}(t)},function(){"use strict"},function(){"use strict"},function(t,e){"use strict";function n(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}e.a=n},function(){"use strict";var t=2*Math.PI;!function e(n,i){function r(t){return n*Math.pow(2,10*--t)*Math.sin((A-t)/i)}var A=Math.asin(1/(n=Math.max(1,n)))*(i/=t);return r.amplitude=function(n){return e(n,i*t)},r.period=function(t){return e(n,t)},r}(1,.3),function e(n,i){function r(t){return 1-n*Math.pow(2,-10*(t=+t))*Math.sin((t+A)/i)}var A=Math.asin(1/(n=Math.max(1,n)))*(i/=t);return r.amplitude=function(n){return e(n,i*t)},r.period=function(t){return e(n,t)},r}(1,.3),function e(n,i){function r(t){return((t=2*t-1)<0?n*Math.pow(2,10*t)*Math.sin((A-t)/i):2-n*Math.pow(2,-10*t)*Math.sin((A+t)/i))/2}var A=Math.asin(1/(n=Math.max(1,n)))*(i/=t);return r.amplitude=function(n){return e(n,i*t)},r.period=function(t){return e(n,t)},r}(1,.3)},function(){"use strict"},function(){"use strict"},function(){"use strict";!function t(e){function n(t){return Math.pow(t,e)}return e=+e,n.exponent=t,n}(3),function t(e){function n(t){return 1-Math.pow(1-t,e)}return e=+e,n.exponent=t,n}(3),function t(e){function n(t){return((t*=2)<=1?Math.pow(t,e):2-Math.pow(2-t,e))/2}return e=+e,n.exponent=t,n}(3)},function(){"use strict"},function(){"use strict";Math.PI},function(t,e,n){"use strict";function i(t){return function e(i){function o(e,o){var a=t((e=n.i(r.b)(e)).h,(o=n.i(r.b)(o)).h),c=n.i(A.a)(e.s,o.s),s=n.i(A.a)(e.l,o.l),u=n.i(A.a)(e.opacity,o.opacity);return function(t){return e.h=a(t),e.s=c(t),e.l=s(Math.pow(t,i)),e.opacity=u(t),e+""}}return i=+i,o.gamma=e,o}(1)}var r=n(4),A=n(6);i(A.b),i(A.a)},function(t,e,n){"use strict";function i(t){return function(e,i){var o=t((e=n.i(r.c)(e)).h,(i=n.i(r.c)(i)).h),a=n.i(A.a)(e.c,i.c),c=n.i(A.a)(e.l,i.l),s=n.i(A.a)(e.opacity,i.opacity);return function(t){return e.h=o(t),e.c=a(t),e.l=c(t),e.opacity=s(t),e+""}}}var r=n(4),A=n(6);i(A.b),i(A.a)},function(t,e,n){"use strict";function i(t){return function(e,i){var o=t((e=n.i(r.e)(e)).h,(i=n.i(r.e)(i)).h),a=n.i(A.a)(e.s,i.s),c=n.i(A.a)(e.l,i.l),s=n.i(A.a)(e.opacity,i.opacity);return function(t){return e.h=o(t),e.s=a(t),e.l=c(t),e.opacity=s(t),e+""}}}var r=n(4),A=n(6);i(A.b),i(A.a)},function(t,e,n){"use strict";n(4),n(6)},function(){"use strict"},function(){"use strict"},function(t,e,n){"use strict";n.d(e,"a",function(){return r});var i=180/Math.PI,r={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};e.b=function(t,e,n,r,A,o){var a,c,s;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(s=t*n+e*r)&&(n-=t*s,r-=e*s),(c=Math.sqrt(n*n+r*r))&&(n/=c,r/=c,s/=c),e*n>t*r&&(t=-t,e=-e,s=-s,a=-a),{translateX:A,translateY:o,rotate:Math.atan2(e,t)*i,skewX:Math.atan(s)*i,scaleX:a,scaleY:c}}},function(t,e,n){"use strict";function i(t,e,i,A){function o(t){return t.length?t.pop()+" ":""}function a(t,A,o,a,c,s){if(t!==o||A!==a){var u=c.push("translate(",null,e,null,i);s.push({i:u-4,x:n.i(r.a)(t,o)},{i:u-2,x:n.i(r.a)(A,a)})}else(o||a)&&c.push("translate("+o+e+a+i)}function c(t,e,i,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:i.push(o(i)+"rotate(",null,A)-2,x:n.i(r.a)(t,e)})):e&&i.push(o(i)+"rotate("+e+A)}function s(t,e,i,a){t!==e?a.push({i:i.push(o(i)+"skewX(",null,A)-2,x:n.i(r.a)(t,e)}):e&&i.push(o(i)+"skewX("+e+A)}function u(t,e,i,A,a,c){if(t!==i||e!==A){var s=a.push(o(a)+"scale(",null,",",null,")");c.push({i:s-4,x:n.i(r.a)(t,i)},{i:s-2,x:n.i(r.a)(e,A)})}else(1!==i||1!==A)&&a.push(o(a)+"scale("+i+","+A+")")}return function(e,n){var i=[],r=[];return e=t(e),n=t(n),a(e.translateX,e.translateY,n.translateX,n.translateY,i,r),c(e.rotate,n.rotate,i,r),s(e.skewX,n.skewX,i,r),u(e.scaleX,e.scaleY,n.scaleX,n.scaleY,i,r),e=n=null,function(t){for(var e,n=-1,A=r.length;++n<A;)i[(e=r[n]).i]=e.x(t);return i.join("")}}}var r=n(7),A=n(76);n.d(e,"a",function(){return o}),n.d(e,"b",function(){return a});var o=i(A.a,"px, ","px)","deg)"),a=i(A.b,", ",")",")")},function(t,e,n){"use strict";function i(t){return"none"===t?A.a:(o||(o=document.createElement("DIV"),a=document.documentElement,c=document.defaultView),o.style.transform=t,t=c.getComputedStyle(a.appendChild(o),null).getPropertyValue("transform"),a.removeChild(o),t=t.slice(7,-1).split(","),n.i(A.b)(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}function r(t){return null==t?A.a:(s||(s=document.createElementNS("http://www.w3.org/2000/svg","g")),s.setAttribute("transform",t),(t=s.transform.baseVal.consolidate())?(t=t.matrix,n.i(A.b)(t.a,t.b,t.c,t.d,t.e,t.f)):A.a)}var A=n(74);e.a=i,e.b=r;var o,a,c,s},function(){"use strict";Math.SQRT2},function(t,e){"use strict";e.a=function(t){return function(){return t}}},function(){"use strict";function t(){return new e}function e(){this._="@"+(++n).toString(36)}var n=0;e.prototype=t.prototype={constructor:e,get:function(t){for(var e=this._;!(e in t);)if(!(t=t.parentNode))return;return t[e]},set:function(t,e){return t[this._]=e},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}}},function(t,e,n){"use strict";n(20),n(17)},function(t,e,n){"use strict";n(0)},function(t,e,n){"use strict";n(0)},function(t,e,n){"use strict";var i=n(14);e.a=function(t){var e="function"==typeof t?t:n.i(i.a)(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}},function(t,e,n){"use strict";function i(t){return function(){this.removeAttribute(t)}}function r(t){return function(){this.removeAttributeNS(t.space,t.local)}}function A(t,e){return function(){this.setAttribute(t,e)}}function o(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function a(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function c(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}var s=n(15);e.a=function(t,e){var u=n.i(s.a)(t);if(arguments.length<2){var g=this.node();return u.local?g.getAttributeNS(u.space,u.local):g.getAttribute(u)}return this.each((null==e?u.local?r:i:"function"==typeof e?u.local?c:a:u.local?o:A)(u,e))}},function(t,e){"use strict";e.a=function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}},function(t,e){"use strict";function n(t){return t.trim().split(/^|\s+/)}function i(t){return t.classList||new r(t)}function r(t){this._node=t,this._names=n(t.getAttribute("class")||"")}function A(t,e){for(var n=i(t),r=-1,A=e.length;++r<A;)n.add(e[r])}function o(t,e){for(var n=i(t),r=-1,A=e.length;++r<A;)n.remove(e[r])}function a(t){return function(){A(this,t)}}function c(t){return function(){o(this,t)}}function s(t,e){return function(){(e.apply(this,arguments)?A:o)(this,t)}}r.prototype={add:function(t){0>this._names.indexOf(t)&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}},e.a=function(t,e){var r=n(t+"");if(arguments.length<2){for(var A=i(this.node()),o=-1,u=r.length;++o<u;)if(!A.contains(r[o]))return!1;return!0}return this.each(("function"==typeof e?s:e?a:c)(r,e))}},function(t,e,n){"use strict";function i(t,e,n,i,r,A){for(var a,c=0,s=e.length,u=A.length;u>c;++c)(a=e[c])?(a.__data__=A[c],i[c]=a):n[c]=new o.b(t,A[c]);for(;s>c;++c)(a=e[c])&&(r[c]=a)}function r(t,e,n,i,r,A,a){var s,u,g,l={},M=e.length,h=A.length,d=new Array(M);for(s=0;M>s;++s)(u=e[s])&&(d[s]=g=c+a.call(u,u.__data__,s,e),g in l?r[s]=u:l[g]=u);for(s=0;h>s;++s)g=c+a.call(t,A[s],s,A),(u=l[g])?(i[s]=u,u.__data__=A[s],l[g]=null):n[s]=new o.b(t,A[s]);for(s=0;M>s;++s)(u=e[s])&&l[d[s]]===u&&(r[s]=u)}var A=n(0),o=n(37),a=n(78),c="$";e.a=function(t,e){if(!t)return E=new Array(this.size()),h=-1,this.each(function(t){E[++h]=t}),E;var o=e?r:i,c=this._parents,s=this._groups;"function"!=typeof t&&(t=n.i(a.a)(t));for(var u=s.length,g=new Array(u),l=new Array(u),M=new Array(u),h=0;u>h;++h){var d=c[h],f=s[h],I=f.length,E=t.call(d,d&&d.__data__,h,c),T=E.length,N=l[h]=new Array(T),y=g[h]=new Array(T);o(d,f,N,y,M[h]=new Array(I),E,e);for(var p,C,D=0,x=0;T>D;++D)if(p=N[D]){for(D>=x&&(x=D+1);!(C=y[x])&&++x<T;);p._next=C||null}}return g=new A.b(g,c),g._enter=l,g._exit=M,g}},function(t,e){"use strict";e.a=function(t){return arguments.length?this.property("__data__",t):this.node().__data__}},function(t,e,n){"use strict";function i(t,e,i){var r=n.i(o.a)(t),A=r.CustomEvent;A?A=new A(e,i):(A=r.document.createEvent("Event"),i?(A.initEvent(e,i.bubbles,i.cancelable),A.detail=i.detail):A.initEvent(e,!1,!1)),t.dispatchEvent(A)}function r(t,e){return function(){return i(this,t,e)}}function A(t,e){return function(){return i(this,t,e.apply(this,arguments))}}var o=n(21);e.a=function(t,e){return this.each(("function"==typeof e?A:r)(t,e))}},function(t,e){"use strict";e.a=function(t){for(var e=this._groups,n=0,i=e.length;i>n;++n)for(var r,A=e[n],o=0,a=A.length;a>o;++o)(r=A[o])&&t.call(r,r.__data__,o,A);return this}},function(t,e){"use strict";e.a=function(){return!this.node()}},function(t,e,n){"use strict";var i=n(38),r=n(0);e.a=function(){return new r.b(this._exit||this._groups.map(i.a),this._parents)}},function(t,e,n){"use strict";var i=n(0),r=n(36);e.a=function(t){"function"!=typeof t&&(t=n.i(r.a)(t));for(var e=this._groups,A=e.length,o=new Array(A),a=0;A>a;++a)for(var c,s=e[a],u=s.length,g=o[a]=[],l=0;u>l;++l)(c=s[l])&&t.call(c,c.__data__,l,s)&&g.push(c);return new i.b(o,this._parents)}},function(t,e){"use strict";function n(){this.innerHTML=""}function i(t){return function(){this.innerHTML=t}}function r(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}e.a=function(t){return arguments.length?this.each(null==t?n:("function"==typeof t?r:i)(t)):this.node().innerHTML}},function(t,e,n){"use strict";function i(){return null}var r=n(14),A=n(19);e.a=function(t,e){var o="function"==typeof t?t:n.i(r.a)(t),a=null==e?i:"function"==typeof e?e:n.i(A.a)(e);return this.select(function(){return this.insertBefore(o.apply(this,arguments),a.apply(this,arguments)||null)})}},function(t,e){"use strict";function n(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}e.a=function(){return this.each(n)}},function(t,e,n){"use strict";var i=n(0);e.a=function(t){for(var e=this._groups,n=t._groups,r=e.length,A=n.length,o=Math.min(r,A),a=new Array(r),c=0;o>c;++c)for(var s,u=e[c],g=n[c],l=u.length,M=a[c]=new Array(l),h=0;l>h;++h)(s=u[h]||g[h])&&(M[h]=s);for(;r>c;++c)a[c]=e[c];return new i.b(a,this._parents)}},function(t,e){"use strict";e.a=function(){for(var t=this._groups,e=0,n=t.length;n>e;++e)for(var i=t[e],r=0,A=i.length;A>r;++r){var o=i[r];if(o)return o}return null}},function(t,e){"use strict";e.a=function(){var t=new Array(this.size()),e=-1;return this.each(function(){t[++e]=this}),t}},function(t,e){"use strict";e.a=function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var i,r=t[e],A=r.length-1,o=r[A];--A>=0;)(i=r[A])&&(o&&o!==i.nextSibling&&o.parentNode.insertBefore(i,o),o=i);return this}},function(t,e){"use strict";function n(t){return function(){delete this[t]}}function i(t,e){return function(){this[t]=e}}function r(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}e.a=function(t,e){return arguments.length>1?this.each((null==e?n:"function"==typeof e?r:i)(t,e)):this.node()[t]}},function(t,e){"use strict";function n(){this.nextSibling&&this.parentNode.appendChild(this)}e.a=function(){return this.each(n)}},function(t,e){"use strict";function n(){var t=this.parentNode;t&&t.removeChild(this)}e.a=function(){return this.each(n)}},function(t,e,n){"use strict";var i=n(0),r=n(19);e.a=function(t){"function"!=typeof t&&(t=n.i(r.a)(t));for(var e=this._groups,A=e.length,o=new Array(A),a=0;A>a;++a)for(var c,s,u=e[a],g=u.length,l=o[a]=new Array(g),M=0;g>M;++M)(c=u[M])&&(s=t.call(c,c.__data__,M,u))&&("__data__"in c&&(s.__data__=c.__data__),l[M]=s);return new i.b(o,this._parents)}},function(t,e,n){"use strict";var i=n(0),r=n(39);e.a=function(t){"function"!=typeof t&&(t=n.i(r.a)(t));for(var e=this._groups,A=e.length,o=[],a=[],c=0;A>c;++c)for(var s,u=e[c],g=u.length,l=0;g>l;++l)(s=u[l])&&(o.push(t.call(s,s.__data__,l,u)),a.push(s));return new i.b(o,a)}},function(t,e){"use strict";e.a=function(){var t=0;return this.each(function(){++t}),t}},function(t,e,n){"use strict";function i(t,e){return e>t?-1:t>e?1:t>=e?0:NaN}var r=n(0);e.a=function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=i);for(var n=this._groups,A=n.length,o=new Array(A),a=0;A>a;++a){for(var c,s=n[a],u=s.length,g=o[a]=new Array(u),l=0;u>l;++l)(c=s[l])&&(g[l]=c);g.sort(e)}return new r.b(o,this._parents).order()}},function(t,e,n){"use strict";function i(t){return function(){this.style.removeProperty(t)}}function r(t,e,n){return function(){this.style.setProperty(t,e,n)}}function A(t,e,n){return function(){var i=e.apply(this,arguments);null==i?this.style.removeProperty(t):this.style.setProperty(t,i,n)}}var o=n(21);e.a=function(t,e,a){var c;return arguments.length>1?this.each((null==e?i:"function"==typeof e?A:r)(t,e,null==a?"":a)):n.i(o.a)(c=this.node()).getComputedStyle(c,null).getPropertyValue(t)}},function(t,e){"use strict";function n(){this.textContent=""}function i(t){return function(){this.textContent=t}}function r(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}e.a=function(t){return arguments.length?this.each(null==t?n:("function"==typeof t?r:i)(t)):this.node().textContent}},function(t,e,n){"use strict";n(20),n(17)},function(t,e,n){"use strict";n(20),n(17)},function(t,e,n){"use strict";n(22)},function(t,e,n){"use strict";var i=n(22);e.a=function(t,e,n){var r=new i.b;return e=null==e?0:+e,r.restart(function(n){r.stop(),t(n+e)},e,n),r}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=(n(116),n(3));n.d(e,"transition",function(){return i.a});var r=n(115);n.d(e,"active",function(){return r.a});var A=n(41);n.d(e,"interrupt",function(){return A.a})},function(t,e,n){"use strict";var i=n(3),r=n(1),A=[null];e.a=function(t,e){var n,o,a=t.__transition;if(a){e=null==e?null:e+"";for(o in a)if((n=a[o]).state>r.d&&n.name===e)return new i.b([[t]],A,e,+o)}return null}},function(t,e,n){"use strict";var i=n(2),r=n(117),A=n(118);i.a.prototype.interrupt=r.a,i.a.prototype.transition=A.a},function(t,e,n){"use strict";var i=n(41);e.a=function(t){return this.each(function(){n.i(i.a)(this,t)})}},function(t,e,n){"use strict";function i(t,e){for(var i;!(i=t.__transition)||!(i=i[e]);)if(!(t=t.parentNode))return c.time=n.i(a.c)(),c;return i}var r=n(3),A=n(1),o=n(57),a=n(40),c={time:null,delay:0,duration:250,ease:o.a};e.a=function(t){var e,o;t instanceof r.b?(e=t._id,t=t._name):(e=n.i(r.c)(),(o=c).time=n.i(a.c)(),t=null==t?null:t+"");for(var s=this._groups,u=s.length,g=0;u>g;++g)for(var l,M=s[g],h=M.length,d=0;h>d;++d)(l=M[d])&&n.i(A.h)(l,t,e,d,M,o||i(l,e));return new r.b(s,this._parents,t,e)}},function(t,e,n){"use strict";function i(t){return function(){this.removeAttribute(t)}}function r(t){return function(){this.removeAttributeNS(t.space,t.local)}}function A(t,e,n){var i,r;return function(){var A=this.getAttribute(t);return A===n?null:A===i?r:r=e(i=A,n)}}function o(t,e,n){var i,r;return function(){var A=this.getAttributeNS(t.space,t.local);return A===n?null:A===i?r:r=e(i=A,n)}}function a(t,e,n){var i,r,A;return function(){var o,a=n(this);return null==a?void this.removeAttribute(t):(o=this.getAttribute(t),o===a?null:o===i&&a===r?A:A=e(i=o,r=a))}}function c(t,e,n){var i,r,A;return function(){var o,a=n(this);return null==a?void this.removeAttributeNS(t.space,t.local):(o=this.getAttributeNS(t.space,t.local),o===a?null:o===i&&a===r?A:A=e(i=o,r=a))}}var s=n(11),u=n(2),g=n(8),l=n(42);e.a=function(t,e){var M=n.i(u.c)(t),h="transform"===M?s.e:l.a;return this.attrTween(t,"function"==typeof e?(M.local?c:a)(M,h,n.i(g.b)(this,"attr."+t,e)):null==e?(M.local?r:i)(M):(M.local?o:A)(M,h,e))}},function(t,e,n){"use strict";function i(t,e){function n(){var n=this,i=e.apply(n,arguments);return i&&function(e){n.setAttributeNS(t.space,t.local,i(e))}}return n._value=e,n}function r(t,e){function n(){var n=this,i=e.apply(n,arguments);return i&&function(e){n.setAttribute(t,i(e))}}return n._value=e,n}var A=n(2);e.a=function(t,e){var o="attr."+t;if(arguments.length<2)return(o=this.tween(o))&&o._value;if(null==e)return this.tween(o,null);if("function"!=typeof e)throw new Error;var a=n.i(A.c)(t);return this.tween(o,(a.local?i:r)(a,e))}},function(t,e,n){"use strict";function i(t,e){return function(){n.i(A.g)(this,t).delay=+e.apply(this,arguments)}}function r(t,e){return e=+e,function(){n.i(A.g)(this,t).delay=e}}var A=n(1);e.a=function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?i:r)(e,t)):n.i(A.f)(this.node(),e).delay}},function(t,e,n){"use strict";function i(t,e){return function(){n.i(A.e)(this,t).duration=+e.apply(this,arguments)}}function r(t,e){return e=+e,function(){n.i(A.e)(this,t).duration=e}}var A=n(1);e.a=function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?i:r)(e,t)):n.i(A.f)(this.node(),e).duration}},function(t,e,n){"use strict";function i(t,e){if("function"!=typeof e)throw new Error;return function(){n.i(r.e)(this,t).ease=e}}var r=n(1);e.a=function(t){var e=this._id;return arguments.length?this.each(i(e,t)):n.i(r.f)(this.node(),e).ease}},function(t,e,n){"use strict";var i=n(2),r=n(3);e.a=function(t){"function"!=typeof t&&(t=n.i(i.d)(t));for(var e=this._groups,A=e.length,o=new Array(A),a=0;A>a;++a)for(var c,s=e[a],u=s.length,g=o[a]=[],l=0;u>l;++l)(c=s[l])&&t.call(c,c.__data__,l,s)&&g.push(c);return new r.b(o,this._parents,this._name,this._id)}},function(t,e,n){"use strict";var i=n(3);e.a=function(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,A=n.length,o=Math.min(r,A),a=new Array(r),c=0;o>c;++c)for(var s,u=e[c],g=n[c],l=u.length,M=a[c]=new Array(l),h=0;l>h;++h)(s=u[h]||g[h])&&(M[h]=s);for(;r>c;++c)a[c]=e[c];return new i.b(a,this._parents,this._name,this._id)}},function(t,e,n){"use strict";function i(t){return(t+"").trim().split(/^|\s+/).every(function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t})}function r(t,e,n){var r,o,a=i(e)?A.g:A.e;return function(){var i=a(this,t),A=i.on;A!==r&&(o=(r=A).copy()).on(e,n),i.on=o}}var A=n(1);e.a=function(t,e){var i=this._id;return arguments.length<2?n.i(A.f)(this.node(),i).on.on(t):this.each(r(i,t,e))}},function(t,e){"use strict";function n(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}e.a=function(){return this.on("end.remove",n(this._id))}},function(t,e,n){"use strict";var i=n(2),r=n(3),A=n(1);e.a=function(t){var e=this._name,o=this._id;"function"!=typeof t&&(t=n.i(i.f)(t));for(var a=this._groups,c=a.length,s=new Array(c),u=0;c>u;++u)for(var g,l,M=a[u],h=M.length,d=s[u]=new Array(h),f=0;h>f;++f)(g=M[f])&&(l=t.call(g,g.__data__,f,M))&&("__data__"in g&&(l.__data__=g.__data__),d[f]=l,n.i(A.h)(d[f],e,o,f,d,n.i(A.f)(g,o)));return new r.b(s,this._parents,e,o)}},function(t,e,n){"use strict";var i=n(2),r=n(3),A=n(1);e.a=function(t){var e=this._name,o=this._id;"function"!=typeof t&&(t=n.i(i.e)(t));for(var a=this._groups,c=a.length,s=[],u=[],g=0;c>g;++g)for(var l,M=a[g],h=M.length,d=0;h>d;++d)if(l=M[d]){for(var f,I=t.call(l,l.__data__,d,M),E=n.i(A.f)(l,o),T=0,N=I.length;N>T;++T)(f=I[T])&&n.i(A.h)(f,e,o,T,I,E);s.push(I),u.push(l)}return new r.b(s,u,e,o)}},function(t,e,n){"use strict";var i=n(2),r=i.a.prototype.constructor;e.a=function(){return new r(this._groups,this._parents)}},function(t,e,n){"use strict";function i(t,e){var i,r,A;return function(){var o=n.i(c.b)(this).getComputedStyle(this,null),a=o.getPropertyValue(t),s=(this.style.removeProperty(t),o.getPropertyValue(t));return a===s?null:a===i&&s===r?A:A=e(i=a,r=s)}}function r(t){return function(){this.style.removeProperty(t)}}function A(t,e,i){var r,A;return function(){var o=n.i(c.b)(this).getComputedStyle(this,null).getPropertyValue(t);return o===i?null:o===r?A:A=e(r=o,i)}}function o(t,e,i){var r,A,o;return function(){var a=n.i(c.b)(this).getComputedStyle(this,null),s=a.getPropertyValue(t),u=i(this);return null==u&&(this.style.removeProperty(t),u=a.getPropertyValue(t)),s===u?null:s===r&&u===A?o:o=e(r=s,A=u)}}var a=n(11),c=n(2),s=n(8),u=n(42);e.a=function(t,e,c){var g="transform"==(t+="")?a.a:u.a;return null==e?this.styleTween(t,i(t,g)).on("end.style."+t,r(t)):this.styleTween(t,"function"==typeof e?o(t,g,n.i(s.b)(this,"style."+t,e)):A(t,g,e),c)}},function(t,e){"use strict";function n(t,e,n){function i(){var i=this,r=e.apply(i,arguments);return r&&function(e){i.style.setProperty(t,r(e),n)}}return i._value=e,i}e.a=function(t,e,i){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw new Error;return this.tween(r,n(t,e,null==i?"":i))}},function(t,e,n){"use strict";function i(t){return function(){this.textContent=t}}function r(t){return function(){var e=t(this);this.textContent=null==e?"":e}}var A=n(8);e.a=function(t){return this.tween("text","function"==typeof t?r(n.i(A.b)(this,"text",t)):i(null==t?"":t+""))}},function(t,e,n){"use strict";var i=n(3),r=n(1);e.a=function(){for(var t=this._name,e=this._id,A=n.i(i.c)(),o=this._groups,a=o.length,c=0;a>c;++c)for(var s,u=o[c],g=u.length,l=0;g>l;++l)if(s=u[l]){var M=n.i(r.f)(s,e);n.i(r.h)(s,t,A,l,u,{time:M.time+M.delay+M.duration,delay:0,duration:M.duration,ease:M.ease})}return new i.b(o,this._parents,t,A)}},function(t){t.exports=i},function(t){t.exports=r},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(25);Object.defineProperty(e,"tokenize",{enumerable:!0,get:function(){return i(r).default}});var A=n(24);Object.defineProperty(e,"WordFilter",{enumerable:!0,get:function(){return i(A).default}});var o=n(45);Object.defineProperty(e,"SentenTreeBuilder",{enumerable:!0,get:function(){return i(o).default}});var a=n(23);Object.defineProperty(e,"SentenTreeModel",{enumerable:!0,get:function(){return i(a).default}});var c=n(46);Object.defineProperty(e,"SentenTreeVis",{enumerable:!0,get:function(){return i(c).default}})}])})},function(t,e,n){(function(t,i){var r;(function(){function A(t,e){return t.set(e[0],e[1]),t}function o(t,e){return t.add(e),t}function a(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function c(t,e,n,i){for(var r=-1,A=null==t?0:t.length;++r<A;){var o=t[r];e(i,o,n(o),t)}return i}function s(t,e){for(var n=-1,i=null==t?0:t.length;++n<i&&!1!==e(t[n],n,t););return t}function u(t,e){for(var n=null==t?0:t.length;n--&&!1!==e(t[n],n,t););return t}function g(t,e){for(var n=-1,i=null==t?0:t.length;++n<i;)if(!e(t[n],n,t))return!1;return!0}function l(t,e){for(var n=-1,i=null==t?0:t.length,r=0,A=[];++n<i;){var o=t[n];e(o,n,t)&&(A[r++]=o)}return A}function M(t,e){return!!(null==t?0:t.length)&&D(t,e,0)>-1}function h(t,e,n){for(var i=-1,r=null==t?0:t.length;++i<r;)if(n(e,t[i]))return!0;return!1}function d(t,e){for(var n=-1,i=null==t?0:t.length,r=Array(i);++n<i;)r[n]=e(t[n],n,t);return r}function f(t,e){for(var n=-1,i=e.length,r=t.length;++n<i;)t[r+n]=e[n];return t}function I(t,e,n,i){var r=-1,A=null==t?0:t.length;for(i&&A&&(n=t[++r]);++r<A;)n=e(n,t[r],r,t);return n}function E(t,e,n,i){var r=null==t?0:t.length;for(i&&r&&(n=t[--r]);r--;)n=e(n,t[r],r,t);return n}function T(t,e){for(var n=-1,i=null==t?0:t.length;++n<i;)if(e(t[n],n,t))return!0;return!1}function N(t){return t.split("")}function y(t){return t.match(ke)||[]}function p(t,e,n){var i;return n(t,function(t,n,r){if(e(t,n,r))return i=n,!1}),i}function C(t,e,n,i){for(var r=t.length,A=n+(i?1:-1);i?A--:++A<r;)if(e(t[A],A,t))return A;return-1}function D(t,e,n){return e===e?K(t,e,n):C(t,B,n)}function x(t,e,n,i){for(var r=n-1,A=t.length;++r<A;)if(i(t[r],e))return r;return-1}function B(t){return t!==t}function w(t,e){var n=null==t?0:t.length;return n?L(t,e)/n:bt}function m(t){return function(e){return null==e?rt:e[t]}}function Q(t){return function(e){return null==t?rt:t[e]}}function v(t,e,n,i,r){return r(t,function(t,r,A){n=i?(i=!1,t):e(n,t,r,A)}),n}function j(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}function L(t,e){for(var n,i=-1,r=t.length;++i<r;){var A=e(t[i]);A!==rt&&(n=n===rt?A:n+A)}return n}function S(t,e){for(var n=-1,i=Array(t);++n<t;)i[n]=e(n);return i}function Y(t,e){return d(e,function(e){return[e,t[e]]})}function b(t){return function(e){return t(e)}}function O(t,e){return d(e,function(e){return t[e]})}function z(t,e){return t.has(e)}function U(t,e){for(var n=-1,i=t.length;++n<i&&D(e,t[n],0)>-1;);return n}function F(t,e){for(var n=t.length;n--&&D(e,t[n],0)>-1;);return n}function k(t,e){for(var n=t.length,i=0;n--;)t[n]===e&&++i;return i}function R(t){return"\\"+mn[t]}function G(t,e){return null==t?rt:t[e]}function H(t){return Tn.test(t)}function J(t){return Nn.test(t)}function P(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}function X(t){var e=-1,n=Array(t.size);return t.forEach(function(t,i){n[++e]=[i,t]}),n}function V(t,e){return function(n){return t(e(n))}}function W(t,e){for(var n=-1,i=t.length,r=0,A=[];++n<i;){var o=t[n];o!==e&&o!==ut||(t[n]=ut,A[r++]=n)}return A}function _(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}function Z(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=[t,t]}),n}function K(t,e,n){for(var i=n-1,r=t.length;++i<r;)if(t[i]===e)return i;return-1}function q(t,e,n){for(var i=n+1;i--;)if(t[i]===e)return i;return i}function $(t){return H(t)?et(t):Pn(t)}function tt(t){return H(t)?nt(t):N(t)}function et(t){for(var e=In.lastIndex=0;In.test(t);)++e;return e}function nt(t){return t.match(In)||[]}function it(t){return t.match(En)||[]}var rt,At=200,ot="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",at="Expected a function",ct="__lodash_hash_undefined__",st=500,ut="__lodash_placeholder__",gt=1,lt=2,Mt=4,ht=1,dt=2,ft=1,It=2,Et=4,Tt=8,Nt=16,yt=32,pt=64,Ct=128,Dt=256,xt=512,Bt=30,wt="...",mt=800,Qt=16,vt=1,jt=2,Lt=1/0,St=9007199254740991,Yt=1.7976931348623157e308,bt=NaN,Ot=4294967295,zt=Ot-1,Ut=Ot>>>1,Ft=[["ary",Ct],["bind",ft],["bindKey",It],["curry",Tt],["curryRight",Nt],["flip",xt],["partial",yt],["partialRight",pt],["rearg",Dt]],kt="[object Arguments]",Rt="[object Array]",Gt="[object AsyncFunction]",Ht="[object Boolean]",Jt="[object Date]",Pt="[object DOMException]",Xt="[object Error]",Vt="[object Function]",Wt="[object GeneratorFunction]",_t="[object Map]",Zt="[object Number]",Kt="[object Null]",qt="[object Object]",$t="[object Proxy]",te="[object RegExp]",ee="[object Set]",ne="[object String]",ie="[object Symbol]",re="[object Undefined]",Ae="[object WeakMap]",oe="[object WeakSet]",ae="[object ArrayBuffer]",ce="[object DataView]",se="[object Float32Array]",ue="[object Float64Array]",ge="[object Int8Array]",le="[object Int16Array]",Me="[object Int32Array]",he="[object Uint8Array]",de="[object Uint8ClampedArray]",fe="[object Uint16Array]",Ie="[object Uint32Array]",Ee=/\b__p \+= '';/g,Te=/\b(__p \+=) '' \+/g,Ne=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ye=/&(?:amp|lt|gt|quot|#39);/g,pe=/[&<>"']/g,Ce=RegExp(ye.source),De=RegExp(pe.source),xe=/<%-([\s\S]+?)%>/g,Be=/<%([\s\S]+?)%>/g,we=/<%=([\s\S]+?)%>/g,me=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Qe=/^\w*$/,ve=/^\./,je=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Le=/[\\^$.*+?()[\]{}|]/g,Se=RegExp(Le.source),Ye=/^\s+|\s+$/g,be=/^\s+/,Oe=/\s+$/,ze=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ue=/\{\n\/\* \[wrapped with (.+)\] \*/,Fe=/,? & /,ke=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Re=/\\(\\)?/g,Ge=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,He=/\w*$/,Je=/^[-+]0x[0-9a-f]+$/i,Pe=/^0b[01]+$/i,Xe=/^\[object .+?Constructor\]$/,Ve=/^0o[0-7]+$/i,We=/^(?:0|[1-9]\d*)$/,_e=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ze=/($^)/,Ke=/['\n\r\u2028\u2029\\]/g,qe="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",$e="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",tn="["+$e+"]",en="["+qe+"]",nn="[a-z\\xdf-\\xf6\\xf8-\\xff]",rn="[^\\ud800-\\udfff"+$e+"\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",An="\\ud83c[\\udffb-\\udfff]",on="(?:\\ud83c[\\udde6-\\uddff]){2}",an="[\\ud800-\\udbff][\\udc00-\\udfff]",cn="[A-Z\\xc0-\\xd6\\xd8-\\xde]",sn="(?:"+nn+"|"+rn+")",un="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",gn="(?:\\u200d(?:"+["[^\\ud800-\\udfff]",on,an].join("|")+")[\\ufe0e\\ufe0f]?"+un+")*",ln="[\\ufe0e\\ufe0f]?"+un+gn,Mn="(?:"+["[\\u2700-\\u27bf]",on,an].join("|")+")"+ln,hn="(?:"+["[^\\ud800-\\udfff]"+en+"?",en,on,an,"[\\ud800-\\udfff]"].join("|")+")",dn=RegExp("['’]","g"),fn=RegExp(en,"g"),In=RegExp(An+"(?="+An+")|"+hn+ln,"g"),En=RegExp([cn+"?"+nn+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[tn,cn,"$"].join("|")+")","(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[tn,cn+sn,"$"].join("|")+")",cn+"?"+sn+"+(?:['’](?:d|ll|m|re|s|t|ve))?",cn+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)","\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)","\\d+",Mn].join("|"),"g"),Tn=RegExp("[\\u200d\\ud800-\\udfff"+qe+"\\ufe0e\\ufe0f]"),Nn=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,yn=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],pn=-1,Cn={};Cn[se]=Cn[ue]=Cn[ge]=Cn[le]=Cn[Me]=Cn[he]=Cn[de]=Cn[fe]=Cn[Ie]=!0,Cn[kt]=Cn[Rt]=Cn[ae]=Cn[Ht]=Cn[ce]=Cn[Jt]=Cn[Xt]=Cn[Vt]=Cn[_t]=Cn[Zt]=Cn[qt]=Cn[te]=Cn[ee]=Cn[ne]=Cn[Ae]=!1;var Dn={};Dn[kt]=Dn[Rt]=Dn[ae]=Dn[ce]=Dn[Ht]=Dn[Jt]=Dn[se]=Dn[ue]=Dn[ge]=Dn[le]=Dn[Me]=Dn[_t]=Dn[Zt]=Dn[qt]=Dn[te]=Dn[ee]=Dn[ne]=Dn[ie]=Dn[he]=Dn[de]=Dn[fe]=Dn[Ie]=!0,Dn[Xt]=Dn[Vt]=Dn[Ae]=!1;var xn={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"},Bn={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},wn={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},mn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Qn=parseFloat,vn=parseInt,jn="object"==typeof t&&t&&t.Object===Object&&t,Ln="object"==typeof self&&self&&self.Object===Object&&self,Sn=jn||Ln||Function("return this")(),Yn="object"==typeof e&&e&&!e.nodeType&&e,bn=Yn&&"object"==typeof i&&i&&!i.nodeType&&i,On=bn&&bn.exports===Yn,zn=On&&jn.process,Un=function(){try{return zn&&zn.binding&&zn.binding("util")}catch(t){}}(),Fn=Un&&Un.isArrayBuffer,kn=Un&&Un.isDate,Rn=Un&&Un.isMap,Gn=Un&&Un.isRegExp,Hn=Un&&Un.isSet,Jn=Un&&Un.isTypedArray,Pn=m("length"),Xn=Q(xn),Vn=Q(Bn),Wn=Q(wn),_n=function t(e){function n(t){if(Ac(t)&&!fl(t)&&!(t instanceof N)){if(t instanceof r)return t;if(fu.call(t,"__wrapped__"))return eo(t)}return new r(t)}function i(){}function r(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=rt}function N(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Ot,this.__views__=[]}function Q(){var t=new N(this.__wrapped__);return t.__actions__=zr(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=zr(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=zr(this.__views__),t}function K(){if(this.__filtered__){var t=new N(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function et(){var t=this.__wrapped__.value(),e=this.__dir__,n=fl(t),i=e<0,r=n?t.length:0,A=BA(0,r,this.__views__),o=A.start,a=A.end,c=a-o,s=i?a:o-1,u=this.__iteratees__,g=u.length,l=0,M=Xu(c,this.__takeCount__);if(!n||!i&&r==c&&M==c)return Er(t,this.__actions__);var h=[];t:for(;c--&&l<M;){s+=e;for(var d=-1,f=t[s];++d<g;){var I=u[d],E=I.iteratee,T=I.type,N=E(f);if(T==jt)f=N;else if(!N){if(T==vt)continue t;break t}}h[l++]=f}return h}function nt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var i=t[e];this.set(i[0],i[1])}}function ke(){this.__data__=ng?ng(null):{},this.size=0}function qe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}function $e(t){var e=this.__data__;if(ng){var n=e[t];return n===ct?rt:n}return fu.call(e,t)?e[t]:rt}function tn(t){var e=this.__data__;return ng?e[t]!==rt:fu.call(e,t)}function en(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=ng&&e===rt?ct:e,this}function nn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var i=t[e];this.set(i[0],i[1])}}function rn(){this.__data__=[],this.size=0}function An(t){var e=this.__data__,n=Zn(e,t);return!(n<0)&&(n==e.length-1?e.pop():vu.call(e,n,1),--this.size,!0)}function on(t){var e=this.__data__,n=Zn(e,t);return n<0?rt:e[n][1]}function an(t){return Zn(this.__data__,t)>-1}function cn(t,e){var n=this.__data__,i=Zn(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}function sn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var i=t[e];this.set(i[0],i[1])}}function un(){this.size=0,this.__data__={hash:new nt,map:new(qu||nn),string:new nt}}function gn(t){var e=pA(this,t).delete(t);return this.size-=e?1:0,e}function ln(t){return pA(this,t).get(t)}function Mn(t){return pA(this,t).has(t)}function hn(t,e){var n=pA(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this}function In(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new sn;++e<n;)this.add(t[e])}function En(t){return this.__data__.set(t,ct),this}function Tn(t){return this.__data__.has(t)}function Nn(t){var e=this.__data__=new nn(t);this.size=e.size}function xn(){this.__data__=new nn,this.size=0}function Bn(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}function wn(t){return this.__data__.get(t)}function mn(t){return this.__data__.has(t)}function jn(t,e){var n=this.__data__;if(n instanceof nn){var i=n.__data__;if(!qu||i.length<At-1)return i.push([t,e]),this.size=++n.size,this;n=this.__data__=new sn(i)}return n.set(t,e),this.size=n.size,this}function Ln(t,e){var n=fl(t),i=!n&&dl(t),r=!n&&!i&&El(t),A=!n&&!i&&!r&&Cl(t),o=n||i||r||A,a=o?S(t.length,su):[],c=a.length;for(var s in t)!e&&!fu.call(t,s)||o&&("length"==s||r&&("offset"==s||"parent"==s)||A&&("buffer"==s||"byteLength"==s||"byteOffset"==s)||YA(s,c))||a.push(s);return a}function Yn(t){var e=t.length;return e?t[$i(0,e-1)]:rt}function bn(t,e){return KA(zr(t),ni(e,0,t.length))}function zn(t){return KA(zr(t))}function Un(t,e,n){(n===rt||Pa(t[e],n))&&(n!==rt||e in t)||ti(t,e,n)}function Pn(t,e,n){var i=t[e];fu.call(t,e)&&Pa(i,n)&&(n!==rt||e in t)||ti(t,e,n)}function Zn(t,e){for(var n=t.length;n--;)if(Pa(t[n][0],e))return n;return-1}function Kn(t,e,n,i){return hg(t,function(t,r,A){e(i,t,n(t),A)}),i}function qn(t,e){return t&&Ur(e,kc(e),t)}function $n(t,e){return t&&Ur(e,Rc(e),t)}function ti(t,e,n){"__proto__"==e&&Yu?Yu(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function ei(t,e){for(var n=-1,i=e.length,r=nu(i),A=null==t;++n<i;)r[n]=A?rt:zc(t,e[n]);return r}function ni(t,e,n){return t===t&&(n!==rt&&(t=t<=n?t:n),e!==rt&&(t=t>=e?t:e)),t}function ii(t,e,n,i,r,A){var o,a=e&gt,c=e&lt,u=e&Mt;if(n&&(o=r?n(t,i,r,A):n(t)),o!==rt)return o;if(!rc(t))return t;var g=fl(t);if(g){if(o=QA(t),!a)return zr(t,o)}else{var l=Bg(t),M=l==Vt||l==Wt;if(El(t))return xr(t,a);if(l==qt||l==kt||M&&!r){if(o=c||M?{}:vA(t),!a)return c?kr(t,$n(o,t)):Fr(t,qn(o,t))}else{if(!Dn[l])return r?t:{};o=jA(t,l,ii,a)}}A||(A=new Nn);var h=A.get(t);if(h)return h;A.set(t,o);var d=u?c?EA:IA:c?Rc:kc,f=g?rt:d(t);return s(f||t,function(i,r){f&&(r=i,i=t[r]),Pn(o,r,ii(i,e,n,r,t,A))}),o}function ri(t){var e=kc(t);return function(n){return Ai(n,t,e)}}function Ai(t,e,n){var i=n.length;if(null==t)return!i;for(t=au(t);i--;){var r=n[i],A=e[r],o=t[r];if(o===rt&&!(r in t)||!A(o))return!1}return!0}function oi(t,e,n){if("function"!=typeof t)throw new uu(at);return Qg(function(){t.apply(rt,n)},e)}function ai(t,e,n,i){var r=-1,A=M,o=!0,a=t.length,c=[],s=e.length;if(!a)return c;n&&(e=d(e,b(n))),i?(A=h,o=!1):e.length>=At&&(A=z,o=!1,e=new In(e));t:for(;++r<a;){var u=t[r],g=null==n?u:n(u);if(u=i||0!==u?u:0,o&&g===g){for(var l=s;l--;)if(e[l]===g)continue t;c.push(u)}else A(e,g,i)||c.push(u)}return c}function ci(t,e){var n=!0;return hg(t,function(t,i,r){return n=!!e(t,i,r)}),n}function si(t,e,n){for(var i=-1,r=t.length;++i<r;){var A=t[i],o=e(A);if(null!=o&&(a===rt?o===o&&!fc(o):n(o,a)))var a=o,c=A}return c}function ui(t,e,n,i){var r=t.length;for(n=pc(n),n<0&&(n=-n>r?0:r+n),i=i===rt||i>r?r:pc(i),i<0&&(i+=r),i=n>i?0:Cc(i);n<i;)t[n++]=e;return t}function gi(t,e){var n=[];return hg(t,function(t,i,r){e(t,i,r)&&n.push(t)}),n}function li(t,e,n,i,r){var A=-1,o=t.length;for(n||(n=SA),r||(r=[]);++A<o;){var a=t[A];e>0&&n(a)?e>1?li(a,e-1,n,i,r):f(r,a):i||(r[r.length]=a)}return r}function Mi(t,e){return t&&fg(t,e,kc)}function hi(t,e){return t&&Ig(t,e,kc)}function di(t,e){return l(e,function(e){return ec(t[e])})}function fi(t,e){e=Cr(e,t);for(var n=0,i=e.length;null!=t&&n<i;)t=t[qA(e[n++])];return n&&n==i?t:rt}function Ii(t,e,n){var i=e(t);return fl(t)?i:f(i,n(t))}function Ei(t){return null==t?t===rt?re:Kt:Su&&Su in au(t)?xA(t):PA(t)}function Ti(t,e){return t>e}function Ni(t,e){return null!=t&&fu.call(t,e)}function yi(t,e){return null!=t&&e in au(t)}function pi(t,e,n){return t>=Xu(e,n)&&t<Pu(e,n)}function Ci(t,e,n){for(var i=n?h:M,r=t[0].length,A=t.length,o=A,a=nu(A),c=1/0,s=[];o--;){var u=t[o];o&&e&&(u=d(u,b(e))),c=Xu(u.length,c),a[o]=!n&&(e||r>=120&&u.length>=120)?new In(o&&u):rt}u=t[0];var g=-1,l=a[0];t:for(;++g<r&&s.length<c;){var f=u[g],I=e?e(f):f;if(f=n||0!==f?f:0,!(l?z(l,I):i(s,I,n))){for(o=A;--o;){var E=a[o];if(!(E?z(E,I):i(t[o],I,n)))continue t}l&&l.push(I),s.push(f)}}return s}function Di(t,e,n,i){return Mi(t,function(t,r,A){e(i,n(t),r,A)}),i}function xi(t,e,n){e=Cr(e,t),t=VA(t,e);var i=null==t?t:t[qA(yo(e))];return null==i?rt:a(i,t,n)}function Bi(t){return Ac(t)&&Ei(t)==kt}function wi(t){return Ac(t)&&Ei(t)==ae}function mi(t){return Ac(t)&&Ei(t)==Jt}function Qi(t,e,n,i,r){return t===e||(null==t||null==e||!Ac(t)&&!Ac(e)?t!==t&&e!==e:vi(t,e,n,i,Qi,r))}function vi(t,e,n,i,r,A){var o=fl(t),a=fl(e),c=o?Rt:Bg(t),s=a?Rt:Bg(e);c=c==kt?qt:c,s=s==kt?qt:s;var u=c==qt,g=s==qt,l=c==s;if(l&&El(t)){if(!El(e))return!1;o=!0,u=!1}if(l&&!u)return A||(A=new Nn),o||Cl(t)?MA(t,e,n,i,r,A):hA(t,e,c,n,i,r,A);if(!(n&ht)){var M=u&&fu.call(t,"__wrapped__"),h=g&&fu.call(e,"__wrapped__");if(M||h){var d=M?t.value():t,f=h?e.value():e;return A||(A=new Nn),r(d,f,n,i,A)}}return!!l&&(A||(A=new Nn),dA(t,e,n,i,r,A))}function ji(t){return Ac(t)&&Bg(t)==_t}function Li(t,e,n,i){var r=n.length,A=r,o=!i;if(null==t)return!A;for(t=au(t);r--;){var a=n[r];if(o&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++r<A;){a=n[r];var c=a[0],s=t[c],u=a[1];if(o&&a[2]){if(s===rt&&!(c in t))return!1}else{var g=new Nn;if(i)var l=i(s,u,c,t,e,g);if(!(l===rt?Qi(u,s,ht|dt,i,g):l))return!1}}return!0}function Si(t){return!(!rc(t)||FA(t))&&(ec(t)?pu:Xe).test($A(t))}function Yi(t){return Ac(t)&&Ei(t)==te}function bi(t){return Ac(t)&&Bg(t)==ee}function Oi(t){return Ac(t)&&ic(t.length)&&!!Cn[Ei(t)]}function zi(t){return"function"==typeof t?t:null==t?vs:"object"==typeof t?fl(t)?Hi(t[0],t[1]):Gi(t):Us(t)}function Ui(t){if(!kA(t))return Ju(t);var e=[];for(var n in au(t))fu.call(t,n)&&"constructor"!=n&&e.push(n);return e}function Fi(t){if(!rc(t))return JA(t);var e=kA(t),n=[];for(var i in t)("constructor"!=i||!e&&fu.call(t,i))&&n.push(i);return n}function ki(t,e){return t<e}function Ri(t,e){var n=-1,i=Xa(t)?nu(t.length):[];return hg(t,function(t,r,A){i[++n]=e(t,r,A)}),i}function Gi(t){var e=CA(t);return 1==e.length&&e[0][2]?GA(e[0][0],e[0][1]):function(n){return n===t||Li(n,t,e)}}function Hi(t,e){return OA(t)&&RA(e)?GA(qA(t),e):function(n){var i=zc(n,t);return i===rt&&i===e?Fc(n,t):Qi(e,i,ht|dt)}}function Ji(t,e,n,i,r){t!==e&&fg(e,function(A,o){if(rc(A))r||(r=new Nn),Pi(t,e,o,n,Ji,i,r);else{var a=i?i(t[o],A,o+"",t,e,r):rt;a===rt&&(a=A),Un(t,o,a)}},Rc)}function Pi(t,e,n,i,r,A,o){var a=t[n],c=e[n],s=o.get(c);if(s)return void Un(t,n,s);var u=A?A(a,c,n+"",t,e,o):rt,g=u===rt;if(g){var l=fl(c),M=!l&&El(c),h=!l&&!M&&Cl(c);u=c,l||M||h?fl(a)?u=a:Va(a)?u=zr(a):M?(g=!1,u=xr(c,!0)):h?(g=!1,u=Lr(c,!0)):u=[]:Mc(c)||dl(c)?(u=a,dl(a)?u=xc(a):(!rc(a)||i&&ec(a))&&(u=vA(c))):g=!1}g&&(o.set(c,u),r(u,c,i,A,o),o.delete(c)),Un(t,n,u)}function Xi(t,e){var n=t.length;if(n)return e+=e<0?n:0,YA(e,n)?t[e]:rt}function Vi(t,e,n){var i=-1;return e=d(e.length?e:[vs],b(yA())),j(Ri(t,function(t,n,r){return{criteria:d(e,function(e){return e(t)}),index:++i,value:t}}),function(t,e){return Yr(t,e,n)})}function Wi(t,e){return _i(t,e,function(e,n){return Fc(t,n)})}function _i(t,e,n){for(var i=-1,r=e.length,A={};++i<r;){var o=e[i],a=fi(t,o);n(a,o)&&Ar(A,Cr(o,t),a)}return A}function Zi(t){return function(e){return fi(e,t)}}function Ki(t,e,n,i){var r=i?x:D,A=-1,o=e.length,a=t;for(t===e&&(e=zr(e)),n&&(a=d(t,b(n)));++A<o;)for(var c=0,s=e[A],u=n?n(s):s;(c=r(a,u,c,i))>-1;)a!==t&&vu.call(a,c,1),vu.call(t,c,1);return t}function qi(t,e){for(var n=t?e.length:0,i=n-1;n--;){var r=e[n];if(n==i||r!==A){var A=r;YA(r)?vu.call(t,r,1):dr(t,r)}}return t}function $i(t,e){return t+Fu(_u()*(e-t+1))}function tr(t,e,n,i){for(var r=-1,A=Pu(Uu((e-t)/(n||1)),0),o=nu(A);A--;)o[i?A:++r]=t,t+=n;return o}function er(t,e){var n="";if(!t||e<1||e>St)return n;do{e%2&&(n+=t),(e=Fu(e/2))&&(t+=t)}while(e);return n}function nr(t,e){return vg(XA(t,e,vs),t+"")}function ir(t){return Yn($c(t))}function rr(t,e){var n=$c(t);return KA(n,ni(e,0,n.length))}function Ar(t,e,n,i){if(!rc(t))return t;e=Cr(e,t);for(var r=-1,A=e.length,o=A-1,a=t;null!=a&&++r<A;){var c=qA(e[r]),s=n;if(r!=o){var u=a[c];s=i?i(u,c,a):rt,s===rt&&(s=rc(u)?u:YA(e[r+1])?[]:{})}Pn(a,c,s),a=a[c]}return t}function or(t){return KA($c(t))}function ar(t,e,n){var i=-1,r=t.length;e<0&&(e=-e>r?0:r+e),n=n>r?r:n,n<0&&(n+=r),r=e>n?0:n-e>>>0,e>>>=0;for(var A=nu(r);++i<r;)A[i]=t[i+e];return A}function cr(t,e){var n;return hg(t,function(t,i,r){return!(n=e(t,i,r))}),!!n}function sr(t,e,n){var i=0,r=null==t?i:t.length;if("number"==typeof e&&e===e&&r<=Ut){for(;i<r;){var A=i+r>>>1,o=t[A];null!==o&&!fc(o)&&(n?o<=e:o<e)?i=A+1:r=A}return r}return ur(t,e,vs,n)}function ur(t,e,n,i){e=n(e);for(var r=0,A=null==t?0:t.length,o=e!==e,a=null===e,c=fc(e),s=e===rt;r<A;){var u=Fu((r+A)/2),g=n(t[u]),l=g!==rt,M=null===g,h=g===g,d=fc(g);if(o)var f=i||h;else f=s?h&&(i||l):a?h&&l&&(i||!M):c?h&&l&&!M&&(i||!d):!M&&!d&&(i?g<=e:g<e);f?r=u+1:A=u}return Xu(A,zt)}function gr(t,e){for(var n=-1,i=t.length,r=0,A=[];++n<i;){var o=t[n],a=e?e(o):o;if(!n||!Pa(a,c)){var c=a;A[r++]=0===o?0:o}}return A}function lr(t){return"number"==typeof t?t:fc(t)?bt:+t}function Mr(t){if("string"==typeof t)return t;if(fl(t))return d(t,Mr)+"";if(fc(t))return lg?lg.call(t):"";var e=t+"";return"0"==e&&1/t==-Lt?"-0":e}function hr(t,e,n){var i=-1,r=M,A=t.length,o=!0,a=[],c=a;if(n)o=!1,r=h;else if(A>=At){var s=e?null:pg(t);if(s)return _(s);o=!1,r=z,c=new In}else c=e?[]:a;t:for(;++i<A;){var u=t[i],g=e?e(u):u;if(u=n||0!==u?u:0,o&&g===g){for(var l=c.length;l--;)if(c[l]===g)continue t;e&&c.push(g),a.push(u)}else r(c,g,n)||(c!==a&&c.push(g),a.push(u))}return a}function dr(t,e){return e=Cr(e,t),null==(t=VA(t,e))||delete t[qA(yo(e))]}function fr(t,e,n,i){return Ar(t,e,n(fi(t,e)),i)}function Ir(t,e,n,i){for(var r=t.length,A=i?r:-1;(i?A--:++A<r)&&e(t[A],A,t););return n?ar(t,i?0:A,i?A+1:r):ar(t,i?A+1:0,i?r:A)}function Er(t,e){var n=t;return n instanceof N&&(n=n.value()),I(e,function(t,e){return e.func.apply(e.thisArg,f([t],e.args))},n)}function Tr(t,e,n){var i=t.length;if(i<2)return i?hr(t[0]):[];for(var r=-1,A=nu(i);++r<i;)for(var o=t[r],a=-1;++a<i;)a!=r&&(A[r]=ai(A[r]||o,t[a],e,n));return hr(li(A,1),e,n)}function Nr(t,e,n){for(var i=-1,r=t.length,A=e.length,o={};++i<r;){var a=i<A?e[i]:rt;n(o,t[i],a)}return o}function yr(t){return Va(t)?t:[]}function pr(t){return"function"==typeof t?t:vs}function Cr(t,e){return fl(t)?t:OA(t,e)?[t]:jg(wc(t))}function Dr(t,e,n){var i=t.length;return n=n===rt?i:n,!e&&n>=i?t:ar(t,e,n)}function xr(t,e){if(e)return t.slice();var n=t.length,i=Bu?Bu(n):new t.constructor(n);return t.copy(i),i}function Br(t){var e=new t.constructor(t.byteLength);return new xu(e).set(new xu(t)),e}function wr(t,e){var n=e?Br(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}function mr(t,e,n){return I(e?n(X(t),gt):X(t),A,new t.constructor)}function Qr(t){var e=new t.constructor(t.source,He.exec(t));return e.lastIndex=t.lastIndex,e}function vr(t,e,n){return I(e?n(_(t),gt):_(t),o,new t.constructor)}function jr(t){return gg?au(gg.call(t)):{}}function Lr(t,e){var n=e?Br(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Sr(t,e){if(t!==e){var n=t!==rt,i=null===t,r=t===t,A=fc(t),o=e!==rt,a=null===e,c=e===e,s=fc(e);if(!a&&!s&&!A&&t>e||A&&o&&c&&!a&&!s||i&&o&&c||!n&&c||!r)return 1;if(!i&&!A&&!s&&t<e||s&&n&&r&&!i&&!A||a&&n&&r||!o&&r||!c)return-1}return 0}function Yr(t,e,n){for(var i=-1,r=t.criteria,A=e.criteria,o=r.length,a=n.length;++i<o;){var c=Sr(r[i],A[i]);if(c){if(i>=a)return c;return c*("desc"==n[i]?-1:1)}}return t.index-e.index}function br(t,e,n,i){for(var r=-1,A=t.length,o=n.length,a=-1,c=e.length,s=Pu(A-o,0),u=nu(c+s),g=!i;++a<c;)u[a]=e[a];for(;++r<o;)(g||r<A)&&(u[n[r]]=t[r]);for(;s--;)u[a++]=t[r++];return u}function Or(t,e,n,i){for(var r=-1,A=t.length,o=-1,a=n.length,c=-1,s=e.length,u=Pu(A-a,0),g=nu(u+s),l=!i;++r<u;)g[r]=t[r];for(var M=r;++c<s;)g[M+c]=e[c];for(;++o<a;)(l||r<A)&&(g[M+n[o]]=t[r++]);return g}function zr(t,e){var n=-1,i=t.length;for(e||(e=nu(i));++n<i;)e[n]=t[n];return e}function Ur(t,e,n,i){var r=!n;n||(n={});for(var A=-1,o=e.length;++A<o;){var a=e[A],c=i?i(n[a],t[a],a,n,t):rt;c===rt&&(c=t[a]),r?ti(n,a,c):Pn(n,a,c)}return n}function Fr(t,e){return Ur(t,Dg(t),e)}function kr(t,e){return Ur(t,xg(t),e)}function Rr(t,e){return function(n,i){var r=fl(n)?c:Kn,A=e?e():{};return r(n,t,yA(i,2),A)}}function Gr(t){return nr(function(e,n){var i=-1,r=n.length,A=r>1?n[r-1]:rt,o=r>2?n[2]:rt;for(A=t.length>3&&"function"==typeof A?(r--,A):rt,o&&bA(n[0],n[1],o)&&(A=r<3?rt:A,r=1),e=au(e);++i<r;){var a=n[i];a&&t(e,a,i,A)}return e})}function Hr(t,e){return function(n,i){if(null==n)return n;if(!Xa(n))return t(n,i);for(var r=n.length,A=e?r:-1,o=au(n);(e?A--:++A<r)&&!1!==i(o[A],A,o););return n}}function Jr(t){return function(e,n,i){for(var r=-1,A=au(e),o=i(e),a=o.length;a--;){var c=o[t?a:++r];if(!1===n(A[c],c,A))break}return e}}function Pr(t,e,n){function i(){return(this&&this!==Sn&&this instanceof i?A:t).apply(r?n:this,arguments)}var r=e&ft,A=Wr(t);return i}function Xr(t){return function(e){e=wc(e);var n=H(e)?tt(e):rt,i=n?n[0]:e.charAt(0),r=n?Dr(n,1).join(""):e.slice(1);return i[t]()+r}}function Vr(t){return function(e){return I(xs(As(e).replace(dn,"")),t,"")}}function Wr(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var n=Mg(t.prototype),i=t.apply(n,e);return rc(i)?i:n}}function _r(t,e,n){function i(){for(var A=arguments.length,o=nu(A),c=A,s=NA(i);c--;)o[c]=arguments[c];var u=A<3&&o[0]!==s&&o[A-1]!==s?[]:W(o,s);return(A-=u.length)<n?oA(t,e,qr,i.placeholder,rt,o,u,rt,rt,n-A):a(this&&this!==Sn&&this instanceof i?r:t,this,o)}var r=Wr(t);return i}function Zr(t){return function(e,n,i){var r=au(e);if(!Xa(e)){var A=yA(n,3);e=kc(e),n=function(t){return A(r[t],t,r)}}var o=t(e,n,i);return o>-1?r[A?e[o]:o]:rt}}function Kr(t){return fA(function(e){var n=e.length,i=n,A=r.prototype.thru;for(t&&e.reverse();i--;){var o=e[i];if("function"!=typeof o)throw new uu(at);if(A&&!a&&"wrapper"==TA(o))var a=new r([],!0)}for(i=a?i:n;++i<n;){o=e[i];var c=TA(o),s="wrapper"==c?Cg(o):rt;a=s&&UA(s[0])&&s[1]==(Ct|Tt|yt|Dt)&&!s[4].length&&1==s[9]?a[TA(s[0])].apply(a,s[3]):1==o.length&&UA(o)?a[c]():a.thru(o)}return function(){var t=arguments,i=t[0];if(a&&1==t.length&&fl(i))return a.plant(i).value();for(var r=0,A=n?e[r].apply(this,t):i;++r<n;)A=e[r].call(this,A);return A}})}function qr(t,e,n,i,r,A,o,a,c,s){function u(){for(var I=arguments.length,E=nu(I),T=I;T--;)E[T]=arguments[T];if(h)var N=NA(u),y=k(E,N);if(i&&(E=br(E,i,r,h)),A&&(E=Or(E,A,o,h)),I-=y,h&&I<s){var p=W(E,N);return oA(t,e,qr,u.placeholder,n,E,p,a,c,s-I)}var C=l?n:this,D=M?C[t]:t;return I=E.length,a?E=WA(E,a):d&&I>1&&E.reverse(),g&&c<I&&(E.length=c),this&&this!==Sn&&this instanceof u&&(D=f||Wr(D)),D.apply(C,E)}var g=e&Ct,l=e&ft,M=e&It,h=e&(Tt|Nt),d=e&xt,f=M?rt:Wr(t);return u}function $r(t,e){return function(n,i){return Di(n,t,e(i),{})}}function tA(t,e){return function(n,i){var r;if(n===rt&&i===rt)return e;if(n!==rt&&(r=n),i!==rt){if(r===rt)return i;"string"==typeof n||"string"==typeof i?(n=Mr(n),i=Mr(i)):(n=lr(n),i=lr(i)),r=t(n,i)}return r}}function eA(t){return fA(function(e){return e=d(e,b(yA())),nr(function(n){var i=this;return t(e,function(t){return a(t,i,n)})})})}function nA(t,e){e=e===rt?" ":Mr(e);var n=e.length;if(n<2)return n?er(e,t):e;var i=er(e,Uu(t/$(e)));return H(e)?Dr(tt(i),0,t).join(""):i.slice(0,t)}function iA(t,e,n,i){function r(){for(var e=-1,c=arguments.length,s=-1,u=i.length,g=nu(u+c),l=this&&this!==Sn&&this instanceof r?o:t;++s<u;)g[s]=i[s];for(;c--;)g[s++]=arguments[++e];return a(l,A?n:this,g)}var A=e&ft,o=Wr(t);return r}function rA(t){return function(e,n,i){return i&&"number"!=typeof i&&bA(e,n,i)&&(n=i=rt),e=yc(e),n===rt?(n=e,e=0):n=yc(n),i=i===rt?e<n?1:-1:yc(i),tr(e,n,i,t)}}function AA(t){return function(e,n){return"string"==typeof e&&"string"==typeof n||(e=Dc(e),n=Dc(n)),t(e,n)}}function oA(t,e,n,i,r,A,o,a,c,s){var u=e&Tt,g=u?o:rt,l=u?rt:o,M=u?A:rt,h=u?rt:A;e|=u?yt:pt,(e&=~(u?pt:yt))&Et||(e&=~(ft|It));var d=[t,e,r,M,g,h,l,a,c,s],f=n.apply(rt,d);return UA(t)&&mg(f,d),f.placeholder=i,_A(f,t,e)}function aA(t){var e=ou[t];return function(t,n){if(t=Dc(t),n=null==n?0:Xu(pc(n),292)){var i=(wc(t)+"e").split("e");return i=(wc(e(i[0]+"e"+(+i[1]+n)))+"e").split("e"),+(i[0]+"e"+(+i[1]-n))}return e(t)}}function cA(t){return function(e){var n=Bg(e);return n==_t?X(e):n==ee?Z(e):Y(e,t(e))}}function sA(t,e,n,i,r,A,o,a){var c=e&It;if(!c&&"function"!=typeof t)throw new uu(at);var s=i?i.length:0;if(s||(e&=~(yt|pt),i=r=rt),o=o===rt?o:Pu(pc(o),0),a=a===rt?a:pc(a),s-=r?r.length:0,e&pt){var u=i,g=r;i=r=rt}var l=c?rt:Cg(t),M=[t,e,n,i,r,u,g,A,o,a];if(l&&HA(M,l),t=M[0],e=M[1],n=M[2],i=M[3],r=M[4],a=M[9]=M[9]===rt?c?0:t.length:Pu(M[9]-s,0),!a&&e&(Tt|Nt)&&(e&=~(Tt|Nt)),e&&e!=ft)h=e==Tt||e==Nt?_r(t,e,a):e!=yt&&e!=(ft|yt)||r.length?qr.apply(rt,M):iA(t,e,n,i);else var h=Pr(t,e,n);return _A((l?Eg:mg)(h,M),t,e)}function uA(t,e,n,i){return t===rt||Pa(t,Mu[n])&&!fu.call(i,n)?e:t}function gA(t,e,n,i,r,A){return rc(t)&&rc(e)&&(A.set(e,t),Ji(t,e,rt,gA,A),A.delete(e)),t}function lA(t){return Mc(t)?rt:t}function MA(t,e,n,i,r,A){var o=n&ht,a=t.length,c=e.length;if(a!=c&&!(o&&c>a))return!1;var s=A.get(t);if(s&&A.get(e))return s==e;var u=-1,g=!0,l=n&dt?new In:rt;for(A.set(t,e),A.set(e,t);++u<a;){var M=t[u],h=e[u];if(i)var d=o?i(h,M,u,e,t,A):i(M,h,u,t,e,A);if(d!==rt){if(d)continue;g=!1;break}if(l){if(!T(e,function(t,e){if(!z(l,e)&&(M===t||r(M,t,n,i,A)))return l.push(e)})){g=!1;break}}else if(M!==h&&!r(M,h,n,i,A)){g=!1;break}}return A.delete(t),A.delete(e),g}function hA(t,e,n,i,r,A,o){switch(n){case ce:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case ae:return!(t.byteLength!=e.byteLength||!A(new xu(t),new xu(e)));case Ht:case Jt:case Zt:return Pa(+t,+e);case Xt:return t.name==e.name&&t.message==e.message;case te:case ne:return t==e+"";case _t:var a=X;case ee:var c=i&ht;if(a||(a=_),t.size!=e.size&&!c)return!1;var s=o.get(t);if(s)return s==e;i|=dt,o.set(t,e);var u=MA(a(t),a(e),i,r,A,o);return o.delete(t),u;case ie:if(gg)return gg.call(t)==gg.call(e)}return!1}function dA(t,e,n,i,r,A){var o=n&ht,a=IA(t),c=a.length;if(c!=IA(e).length&&!o)return!1;for(var s=c;s--;){var u=a[s];if(!(o?u in e:fu.call(e,u)))return!1}var g=A.get(t);if(g&&A.get(e))return g==e;var l=!0;A.set(t,e),A.set(e,t);for(var M=o;++s<c;){u=a[s];var h=t[u],d=e[u];if(i)var f=o?i(d,h,u,e,t,A):i(h,d,u,t,e,A);if(!(f===rt?h===d||r(h,d,n,i,A):f)){l=!1;break}M||(M="constructor"==u)}if(l&&!M){var I=t.constructor,E=e.constructor;I!=E&&"constructor"in t&&"constructor"in e&&!("function"==typeof I&&I instanceof I&&"function"==typeof E&&E instanceof E)&&(l=!1)}return A.delete(t),A.delete(e),l}function fA(t){return vg(XA(t,rt,lo),t+"")}function IA(t){return Ii(t,kc,Dg)}function EA(t){return Ii(t,Rc,xg)}function TA(t){for(var e=t.name+"",n=rg[e],i=fu.call(rg,e)?n.length:0;i--;){var r=n[i],A=r.func;if(null==A||A==t)return r.name}return e}function NA(t){return(fu.call(n,"placeholder")?n:t).placeholder}function yA(){var t=n.iteratee||js;return t=t===js?zi:t,arguments.length?t(arguments[0],arguments[1]):t}function pA(t,e){var n=t.__data__;return zA(e)?n["string"==typeof e?"string":"hash"]:n.map}function CA(t){for(var e=kc(t),n=e.length;n--;){var i=e[n],r=t[i];e[n]=[i,r,RA(r)]}return e}function DA(t,e){var n=G(t,e);return Si(n)?n:rt}function xA(t){var e=fu.call(t,Su),n=t[Su];try{t[Su]=rt;var i=!0}catch(t){}var r=Tu.call(t);return i&&(e?t[Su]=n:delete t[Su]),r}function BA(t,e,n){for(var i=-1,r=n.length;++i<r;){var A=n[i],o=A.size;switch(A.type){case"drop":t+=o;break;case"dropRight":e-=o;break;case"take":e=Xu(e,t+o);break;case"takeRight":t=Pu(t,e-o)}}return{start:t,end:e}}function wA(t){var e=t.match(Ue);return e?e[1].split(Fe):[]}function mA(t,e,n){e=Cr(e,t);for(var i=-1,r=e.length,A=!1;++i<r;){var o=qA(e[i]);if(!(A=null!=t&&n(t,o)))break;t=t[o]}return A||++i!=r?A:!!(r=null==t?0:t.length)&&ic(r)&&YA(o,r)&&(fl(t)||dl(t))}function QA(t){var e=t.length,n=t.constructor(e);return e&&"string"==typeof t[0]&&fu.call(t,"index")&&(n.index=t.index,n.input=t.input),n}function vA(t){return"function"!=typeof t.constructor||kA(t)?{}:Mg(wu(t))}function jA(t,e,n,i){var r=t.constructor;switch(e){case ae:return Br(t);case Ht:case Jt:return new r(+t);case ce:return wr(t,i);case se:case ue:case ge:case le:case Me:case he:case de:case fe:case Ie:return Lr(t,i);case _t:return mr(t,i,n);case Zt:case ne:return new r(t);case te:return Qr(t);case ee:return vr(t,i,n);case ie:return jr(t)}}function LA(t,e){var n=e.length;if(!n)return t;var i=n-1;return e[i]=(n>1?"& ":"")+e[i],e=e.join(n>2?", ":" "),t.replace(ze,"{\n/* [wrapped with "+e+"] */\n")}function SA(t){return fl(t)||dl(t)||!!(ju&&t&&t[ju])}function YA(t,e){return!!(e=null==e?St:e)&&("number"==typeof t||We.test(t))&&t>-1&&t%1==0&&t<e}function bA(t,e,n){if(!rc(n))return!1;var i=typeof e;return!!("number"==i?Xa(n)&&YA(e,n.length):"string"==i&&e in n)&&Pa(n[e],t)}function OA(t,e){if(fl(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!fc(t))||(Qe.test(t)||!me.test(t)||null!=e&&t in au(e))}function zA(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}function UA(t){var e=TA(t),i=n[e];if("function"!=typeof i||!(e in N.prototype))return!1;if(t===i)return!0;var r=Cg(i);return!!r&&t===r[0]}function FA(t){return!!Eu&&Eu in t}function kA(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Mu)}function RA(t){return t===t&&!rc(t)}function GA(t,e){return function(n){return null!=n&&(n[t]===e&&(e!==rt||t in au(n)))}}function HA(t,e){var n=t[1],i=e[1],r=n|i,A=r<(ft|It|Ct),o=i==Ct&&n==Tt||i==Ct&&n==Dt&&t[7].length<=e[8]||i==(Ct|Dt)&&e[7].length<=e[8]&&n==Tt;if(!A&&!o)return t;i&ft&&(t[2]=e[2],r|=n&ft?0:Et);var a=e[3];if(a){var c=t[3];t[3]=c?br(c,a,e[4]):a,t[4]=c?W(t[3],ut):e[4]}return a=e[5],a&&(c=t[5],t[5]=c?Or(c,a,e[6]):a,t[6]=c?W(t[5],ut):e[6]),a=e[7],a&&(t[7]=a),i&Ct&&(t[8]=null==t[8]?e[8]:Xu(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=r,t}function JA(t){var e=[];if(null!=t)for(var n in au(t))e.push(n);return e}function PA(t){return Tu.call(t)}function XA(t,e,n){return e=Pu(e===rt?t.length-1:e,0),function(){for(var i=arguments,r=-1,A=Pu(i.length-e,0),o=nu(A);++r<A;)o[r]=i[e+r];r=-1;for(var c=nu(e+1);++r<e;)c[r]=i[r];return c[e]=n(o),a(t,this,c)}}function VA(t,e){return e.length<2?t:fi(t,ar(e,0,-1))}function WA(t,e){for(var n=t.length,i=Xu(e.length,n),r=zr(t);i--;){var A=e[i];t[i]=YA(A,n)?r[A]:rt}return t}function _A(t,e,n){var i=e+"";return vg(t,LA(i,to(wA(i),n)))}function ZA(t){var e=0,n=0;return function(){var i=Vu(),r=Qt-(i-n);if(n=i,r>0){if(++e>=mt)return arguments[0]}else e=0;return t.apply(rt,arguments)}}function KA(t,e){var n=-1,i=t.length,r=i-1;for(e=e===rt?i:e;++n<e;){var A=$i(n,r),o=t[A];t[A]=t[n],t[n]=o}return t.length=e,t}function qA(t){if("string"==typeof t||fc(t))return t;var e=t+"";return"0"==e&&1/t==-Lt?"-0":e}function $A(t){if(null!=t){try{return du.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function to(t,e){return s(Ft,function(n){var i="_."+n[0];e&n[1]&&!M(t,i)&&t.push(i)}),t.sort()}function eo(t){if(t instanceof N)return t.clone();var e=new r(t.__wrapped__,t.__chain__);return e.__actions__=zr(t.__actions__),e.__index__=t.__index__,e.__values__=t.__values__,e}function no(t,e,n){e=(n?bA(t,e,n):e===rt)?1:Pu(pc(e),0);var i=null==t?0:t.length;if(!i||e<1)return[];for(var r=0,A=0,o=nu(Uu(i/e));r<i;)o[A++]=ar(t,r,r+=e);return o}function io(t){for(var e=-1,n=null==t?0:t.length,i=0,r=[];++e<n;){var A=t[e];A&&(r[i++]=A)}return r}function ro(){var t=arguments.length;if(!t)return[];for(var e=nu(t-1),n=arguments[0],i=t;i--;)e[i-1]=arguments[i];return f(fl(n)?zr(n):[n],li(e,1))}function Ao(t,e,n){var i=null==t?0:t.length;return i?(e=n||e===rt?1:pc(e),ar(t,e<0?0:e,i)):[]}function oo(t,e,n){var i=null==t?0:t.length;return i?(e=n||e===rt?1:pc(e),e=i-e,ar(t,0,e<0?0:e)):[]}function ao(t,e){return t&&t.length?Ir(t,yA(e,3),!0,!0):[]}function co(t,e){return t&&t.length?Ir(t,yA(e,3),!0):[]}function so(t,e,n,i){var r=null==t?0:t.length;return r?(n&&"number"!=typeof n&&bA(t,e,n)&&(n=0,i=r),ui(t,e,n,i)):[]}function uo(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var r=null==n?0:pc(n);return r<0&&(r=Pu(i+r,0)),C(t,yA(e,3),r)}function go(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var r=i-1;return n!==rt&&(r=pc(n),r=n<0?Pu(i+r,0):Xu(r,i-1)),C(t,yA(e,3),r,!0)}function lo(t){return(null==t?0:t.length)?li(t,1):[]}function Mo(t){return(null==t?0:t.length)?li(t,Lt):[]}function ho(t,e){return(null==t?0:t.length)?(e=e===rt?1:pc(e),li(t,e)):[]}function fo(t){for(var e=-1,n=null==t?0:t.length,i={};++e<n;){var r=t[e];i[r[0]]=r[1]}return i}function Io(t){return t&&t.length?t[0]:rt}function Eo(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var r=null==n?0:pc(n);return r<0&&(r=Pu(i+r,0)),D(t,e,r)}function To(t){return(null==t?0:t.length)?ar(t,0,-1):[]}function No(t,e){return null==t?"":Hu.call(t,e)}function yo(t){var e=null==t?0:t.length;return e?t[e-1]:rt}function po(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var r=i;return n!==rt&&(r=pc(n),r=r<0?Pu(i+r,0):Xu(r,i-1)),e===e?q(t,e,r):C(t,B,r,!0)}function Co(t,e){return t&&t.length?Xi(t,pc(e)):rt}function Do(t,e){return t&&t.length&&e&&e.length?Ki(t,e):t}function xo(t,e,n){return t&&t.length&&e&&e.length?Ki(t,e,yA(n,2)):t}function Bo(t,e,n){return t&&t.length&&e&&e.length?Ki(t,e,rt,n):t}function wo(t,e){var n=[];if(!t||!t.length)return n;var i=-1,r=[],A=t.length;for(e=yA(e,3);++i<A;){var o=t[i];e(o,i,t)&&(n.push(o),r.push(i))}return qi(t,r),n}function mo(t){return null==t?t:Zu.call(t)}function Qo(t,e,n){var i=null==t?0:t.length;return i?(n&&"number"!=typeof n&&bA(t,e,n)?(e=0,n=i):(e=null==e?0:pc(e),n=n===rt?i:pc(n)),ar(t,e,n)):[]}function vo(t,e){return sr(t,e)}function jo(t,e,n){return ur(t,e,yA(n,2))}function Lo(t,e){var n=null==t?0:t.length;if(n){var i=sr(t,e);if(i<n&&Pa(t[i],e))return i}return-1}function So(t,e){return sr(t,e,!0)}function Yo(t,e,n){return ur(t,e,yA(n,2),!0)}function bo(t,e){if(null==t?0:t.length){var n=sr(t,e,!0)-1;if(Pa(t[n],e))return n}return-1}function Oo(t){return t&&t.length?gr(t):[]}function zo(t,e){return t&&t.length?gr(t,yA(e,2)):[]}function Uo(t){var e=null==t?0:t.length;return e?ar(t,1,e):[]}function Fo(t,e,n){return t&&t.length?(e=n||e===rt?1:pc(e),ar(t,0,e<0?0:e)):[]}function ko(t,e,n){var i=null==t?0:t.length;return i?(e=n||e===rt?1:pc(e),e=i-e,ar(t,e<0?0:e,i)):[]}function Ro(t,e){return t&&t.length?Ir(t,yA(e,3),!1,!0):[]}function Go(t,e){return t&&t.length?Ir(t,yA(e,3)):[]}function Ho(t){return t&&t.length?hr(t):[]}function Jo(t,e){return t&&t.length?hr(t,yA(e,2)):[]}function Po(t,e){return e="function"==typeof e?e:rt,t&&t.length?hr(t,rt,e):[]}function Xo(t){if(!t||!t.length)return[];var e=0;return t=l(t,function(t){if(Va(t))return e=Pu(t.length,e),!0}),S(e,function(e){return d(t,m(e))})}function Vo(t,e){if(!t||!t.length)return[];var n=Xo(t);return null==e?n:d(n,function(t){return a(e,rt,t)})}function Wo(t,e){return Nr(t||[],e||[],Pn)}function _o(t,e){return Nr(t||[],e||[],Ar)}function Zo(t){var e=n(t);return e.__chain__=!0,e}function Ko(t,e){return e(t),t}function qo(t,e){return e(t)}function $o(){return Zo(this)}function ta(){return new r(this.value(),this.__chain__)}function ea(){this.__values__===rt&&(this.__values__=Nc(this.value()));var t=this.__index__>=this.__values__.length;return{done:t,value:t?rt:this.__values__[this.__index__++]}}function na(){return this}function ia(t){for(var e,n=this;n instanceof i;){var r=eo(n);r.__index__=0,r.__values__=rt,e?A.__wrapped__=r:e=r;var A=r;n=n.__wrapped__}return A.__wrapped__=t,e}function ra(){var t=this.__wrapped__;if(t instanceof N){var e=t;return this.__actions__.length&&(e=new N(this)),e=e.reverse(),e.__actions__.push({func:qo,args:[mo],thisArg:rt}),new r(e,this.__chain__)}return this.thru(mo)}function Aa(){return Er(this.__wrapped__,this.__actions__)}function oa(t,e,n){var i=fl(t)?g:ci;return n&&bA(t,e,n)&&(e=rt),i(t,yA(e,3))}function aa(t,e){return(fl(t)?l:gi)(t,yA(e,3))}function ca(t,e){return li(ha(t,e),1)}function sa(t,e){return li(ha(t,e),Lt)}function ua(t,e,n){return n=n===rt?1:pc(n),li(ha(t,e),n)}function ga(t,e){return(fl(t)?s:hg)(t,yA(e,3))}function la(t,e){return(fl(t)?u:dg)(t,yA(e,3))}function Ma(t,e,n,i){t=Xa(t)?t:$c(t),n=n&&!i?pc(n):0;var r=t.length;return n<0&&(n=Pu(r+n,0)),dc(t)?n<=r&&t.indexOf(e,n)>-1:!!r&&D(t,e,n)>-1}function ha(t,e){return(fl(t)?d:Ri)(t,yA(e,3))}function da(t,e,n,i){return null==t?[]:(fl(e)||(e=null==e?[]:[e]),n=i?rt:n,fl(n)||(n=null==n?[]:[n]),Vi(t,e,n))}function fa(t,e,n){var i=fl(t)?I:v,r=arguments.length<3;return i(t,yA(e,4),n,r,hg)}function Ia(t,e,n){var i=fl(t)?E:v,r=arguments.length<3;return i(t,yA(e,4),n,r,dg)}function Ea(t,e){return(fl(t)?l:gi)(t,La(yA(e,3)))}function Ta(t){return(fl(t)?Yn:ir)(t)}function Na(t,e,n){return e=(n?bA(t,e,n):e===rt)?1:pc(e),(fl(t)?bn:rr)(t,e)}function ya(t){return(fl(t)?zn:or)(t)}function pa(t){if(null==t)return 0;if(Xa(t))return dc(t)?$(t):t.length;var e=Bg(t);return e==_t||e==ee?t.size:Ui(t).length}function Ca(t,e,n){var i=fl(t)?T:cr;return n&&bA(t,e,n)&&(e=rt),i(t,yA(e,3))}function Da(t,e){if("function"!=typeof e)throw new uu(at);return t=pc(t),function(){if(--t<1)return e.apply(this,arguments)}}function xa(t,e,n){return e=n?rt:e,e=t&&null==e?t.length:e,sA(t,Ct,rt,rt,rt,rt,e)}function Ba(t,e){var n;if("function"!=typeof e)throw new uu(at);return t=pc(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=rt),n}}function wa(t,e,n){e=n?rt:e;var i=sA(t,Tt,rt,rt,rt,rt,rt,e);return i.placeholder=wa.placeholder,i}function ma(t,e,n){e=n?rt:e;var i=sA(t,Nt,rt,rt,rt,rt,rt,e);return i.placeholder=ma.placeholder,i}function Qa(t,e,n){function i(e){var n=l,i=M;return l=M=rt,E=e,d=t.apply(i,n)}function r(t){return E=t,f=Qg(a,e),T?i(t):d}function A(t){var n=t-I,i=t-E,r=e-n;return N?Xu(r,h-i):r}function o(t){var n=t-I,i=t-E;return I===rt||n>=e||n<0||N&&i>=h}function a(){var t=rl();if(o(t))return c(t);f=Qg(a,A(t))}function c(t){return f=rt,y&&l?i(t):(l=M=rt,d)}function s(){f!==rt&&yg(f),E=0,l=I=M=f=rt}function u(){return f===rt?d:c(rl())}function g(){var t=rl(),n=o(t);if(l=arguments,M=this,I=t,n){if(f===rt)return r(I);if(N)return f=Qg(a,e),i(I)}return f===rt&&(f=Qg(a,e)),d}var l,M,h,d,f,I,E=0,T=!1,N=!1,y=!0;if("function"!=typeof t)throw new uu(at);return e=Dc(e)||0,rc(n)&&(T=!!n.leading,N="maxWait"in n,h=N?Pu(Dc(n.maxWait)||0,e):h,y="trailing"in n?!!n.trailing:y),g.cancel=s,g.flush=u,g}function va(t){return sA(t,xt)}function ja(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new uu(at);var n=function(){var i=arguments,r=e?e.apply(this,i):i[0],A=n.cache;if(A.has(r))return A.get(r);var o=t.apply(this,i);return n.cache=A.set(r,o)||A,o};return n.cache=new(ja.Cache||sn),n}function La(t){if("function"!=typeof t)throw new uu(at);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function Sa(t){return Ba(2,t)}function Ya(t,e){if("function"!=typeof t)throw new uu(at);return e=e===rt?e:pc(e),nr(t,e)}function ba(t,e){if("function"!=typeof t)throw new uu(at);return e=null==e?0:Pu(pc(e),0),nr(function(n){var i=n[e],r=Dr(n,0,e);return i&&f(r,i),a(t,this,r)})}function Oa(t,e,n){var i=!0,r=!0;if("function"!=typeof t)throw new uu(at);return rc(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),Qa(t,e,{leading:i,maxWait:e,trailing:r})}function za(t){return xa(t,1)}function Ua(t,e){return ul(pr(e),t)}function Fa(){if(!arguments.length)return[];var t=arguments[0];return fl(t)?t:[t]}function ka(t){return ii(t,Mt)}function Ra(t,e){return e="function"==typeof e?e:rt,ii(t,Mt,e)}function Ga(t){return ii(t,gt|Mt)}function Ha(t,e){return e="function"==typeof e?e:rt,ii(t,gt|Mt,e)}function Ja(t,e){return null==e||Ai(t,e,kc(e))}function Pa(t,e){return t===e||t!==t&&e!==e}function Xa(t){return null!=t&&ic(t.length)&&!ec(t)}function Va(t){return Ac(t)&&Xa(t)}function Wa(t){return!0===t||!1===t||Ac(t)&&Ei(t)==Ht}function _a(t){return Ac(t)&&1===t.nodeType&&!Mc(t)}function Za(t){if(null==t)return!0;if(Xa(t)&&(fl(t)||"string"==typeof t||"function"==typeof t.splice||El(t)||Cl(t)||dl(t)))return!t.length;var e=Bg(t);if(e==_t||e==ee)return!t.size;if(kA(t))return!Ui(t).length;for(var n in t)if(fu.call(t,n))return!1;return!0}function Ka(t,e){return Qi(t,e)}function qa(t,e,n){n="function"==typeof n?n:rt;var i=n?n(t,e):rt;return i===rt?Qi(t,e,rt,n):!!i}function $a(t){if(!Ac(t))return!1;var e=Ei(t);return e==Xt||e==Pt||"string"==typeof t.message&&"string"==typeof t.name&&!Mc(t)}function tc(t){return"number"==typeof t&&Gu(t)}function ec(t){if(!rc(t))return!1;var e=Ei(t);return e==Vt||e==Wt||e==Gt||e==$t}function nc(t){return"number"==typeof t&&t==pc(t)}function ic(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=St}function rc(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Ac(t){return null!=t&&"object"==typeof t}function oc(t,e){return t===e||Li(t,e,CA(e))}function ac(t,e,n){return n="function"==typeof n?n:rt,Li(t,e,CA(e),n)}function cc(t){return lc(t)&&t!=+t}function sc(t){if(wg(t))throw new ru(ot);return Si(t)}function uc(t){return null===t}function gc(t){return null==t}function lc(t){return"number"==typeof t||Ac(t)&&Ei(t)==Zt}function Mc(t){if(!Ac(t)||Ei(t)!=qt)return!1;var e=wu(t);if(null===e)return!0;var n=fu.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&du.call(n)==Nu}function hc(t){return nc(t)&&t>=-St&&t<=St}function dc(t){return"string"==typeof t||!fl(t)&&Ac(t)&&Ei(t)==ne}function fc(t){return"symbol"==typeof t||Ac(t)&&Ei(t)==ie}function Ic(t){return t===rt}function Ec(t){return Ac(t)&&Bg(t)==Ae}function Tc(t){return Ac(t)&&Ei(t)==oe}function Nc(t){if(!t)return[];if(Xa(t))return dc(t)?tt(t):zr(t);if(Lu&&t[Lu])return P(t[Lu]());var e=Bg(t);return(e==_t?X:e==ee?_:$c)(t)}function yc(t){if(!t)return 0===t?t:0;if((t=Dc(t))===Lt||t===-Lt){return(t<0?-1:1)*Yt}return t===t?t:0}function pc(t){var e=yc(t),n=e%1;return e===e?n?e-n:e:0}function Cc(t){return t?ni(pc(t),0,Ot):0}function Dc(t){if("number"==typeof t)return t;if(fc(t))return bt;if(rc(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=rc(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Ye,"");var n=Pe.test(t);return n||Ve.test(t)?vn(t.slice(2),n?2:8):Je.test(t)?bt:+t}function xc(t){return Ur(t,Rc(t))}function Bc(t){return t?ni(pc(t),-St,St):0===t?t:0}function wc(t){return null==t?"":Mr(t)}function mc(t,e){var n=Mg(t);return null==e?n:qn(n,e)}function Qc(t,e){return p(t,yA(e,3),Mi)}function vc(t,e){return p(t,yA(e,3),hi)}function jc(t,e){return null==t?t:fg(t,yA(e,3),Rc)}function Lc(t,e){return null==t?t:Ig(t,yA(e,3),Rc)}function Sc(t,e){return t&&Mi(t,yA(e,3))}function Yc(t,e){return t&&hi(t,yA(e,3))}function bc(t){return null==t?[]:di(t,kc(t))}function Oc(t){return null==t?[]:di(t,Rc(t))}function zc(t,e,n){var i=null==t?rt:fi(t,e);return i===rt?n:i}function Uc(t,e){return null!=t&&mA(t,e,Ni)}function Fc(t,e){return null!=t&&mA(t,e,yi)}function kc(t){return Xa(t)?Ln(t):Ui(t)}function Rc(t){return Xa(t)?Ln(t,!0):Fi(t)}function Gc(t,e){var n={};return e=yA(e,3),Mi(t,function(t,i,r){ti(n,e(t,i,r),t)}),n}function Hc(t,e){var n={};return e=yA(e,3),Mi(t,function(t,i,r){ti(n,i,e(t,i,r))}),n}function Jc(t,e){return Pc(t,La(yA(e)))}function Pc(t,e){if(null==t)return{};var n=d(EA(t),function(t){return[t]});return e=yA(e),_i(t,n,function(t,n){return e(t,n[0])})}function Xc(t,e,n){e=Cr(e,t);var i=-1,r=e.length;for(r||(r=1,t=rt);++i<r;){var A=null==t?rt:t[qA(e[i])];A===rt&&(i=r,A=n),t=ec(A)?A.call(t):A}return t}function Vc(t,e,n){return null==t?t:Ar(t,e,n)}function Wc(t,e,n,i){return i="function"==typeof i?i:rt,null==t?t:Ar(t,e,n,i)}function _c(t,e,n){var i=fl(t),r=i||El(t)||Cl(t);if(e=yA(e,4),null==n){var A=t&&t.constructor;n=r?i?new A:[]:rc(t)&&ec(A)?Mg(wu(t)):{}}return(r?s:Mi)(t,function(t,i,r){return e(n,t,i,r)}),n}function Zc(t,e){return null==t||dr(t,e)}function Kc(t,e,n){return null==t?t:fr(t,e,pr(n))}function qc(t,e,n,i){return i="function"==typeof i?i:rt,null==t?t:fr(t,e,pr(n),i)}function $c(t){return null==t?[]:O(t,kc(t))}function ts(t){return null==t?[]:O(t,Rc(t))}function es(t,e,n){return n===rt&&(n=e,e=rt),n!==rt&&(n=Dc(n),n=n===n?n:0),e!==rt&&(e=Dc(e),e=e===e?e:0),ni(Dc(t),e,n)}function ns(t,e,n){return e=yc(e),n===rt?(n=e,e=0):n=yc(n),t=Dc(t),pi(t,e,n)}function is(t,e,n){if(n&&"boolean"!=typeof n&&bA(t,e,n)&&(e=n=rt),n===rt&&("boolean"==typeof e?(n=e,e=rt):"boolean"==typeof t&&(n=t,t=rt)),t===rt&&e===rt?(t=0,e=1):(t=yc(t),e===rt?(e=t,t=0):e=yc(e)),t>e){var i=t;t=e,e=i}if(n||t%1||e%1){var r=_u();return Xu(t+r*(e-t+Qn("1e-"+((r+"").length-1))),e)}return $i(t,e)}function rs(t){return _l(wc(t).toLowerCase())}function As(t){return(t=wc(t))&&t.replace(_e,Xn).replace(fn,"")}function os(t,e,n){t=wc(t),e=Mr(e);var i=t.length;n=n===rt?i:ni(pc(n),0,i);var r=n;return(n-=e.length)>=0&&t.slice(n,r)==e}function as(t){return t=wc(t),t&&De.test(t)?t.replace(pe,Vn):t}function cs(t){return t=wc(t),t&&Se.test(t)?t.replace(Le,"\\$&"):t}function ss(t,e,n){t=wc(t),e=pc(e);var i=e?$(t):0;if(!e||i>=e)return t;var r=(e-i)/2;return nA(Fu(r),n)+t+nA(Uu(r),n)}function us(t,e,n){t=wc(t),e=pc(e);var i=e?$(t):0;return e&&i<e?t+nA(e-i,n):t}function gs(t,e,n){t=wc(t),e=pc(e);var i=e?$(t):0;return e&&i<e?nA(e-i,n)+t:t}function ls(t,e,n){return n||null==e?e=0:e&&(e=+e),Wu(wc(t).replace(be,""),e||0)}function Ms(t,e,n){return e=(n?bA(t,e,n):e===rt)?1:pc(e),er(wc(t),e)}function hs(){var t=arguments,e=wc(t[0]);return t.length<3?e:e.replace(t[1],t[2])}function ds(t,e,n){return n&&"number"!=typeof n&&bA(t,e,n)&&(e=n=rt),(n=n===rt?Ot:n>>>0)?(t=wc(t),t&&("string"==typeof e||null!=e&&!yl(e))&&!(e=Mr(e))&&H(t)?Dr(tt(t),0,n):t.split(e,n)):[]}function fs(t,e,n){return t=wc(t),n=null==n?0:ni(pc(n),0,t.length),e=Mr(e),t.slice(n,n+e.length)==e}function Is(t,e,i){var r=n.templateSettings;i&&bA(t,e,i)&&(e=rt),t=wc(t),e=ml({},e,r,uA);var A,o,a=ml({},e.imports,r.imports,uA),c=kc(a),s=O(a,c),u=0,g=e.interpolate||Ze,l="__p += '",M=cu((e.escape||Ze).source+"|"+g.source+"|"+(g===we?Ge:Ze).source+"|"+(e.evaluate||Ze).source+"|$","g"),h="//# sourceURL="+("sourceURL"in e?e.sourceURL:"lodash.templateSources["+ ++pn+"]")+"\n";t.replace(M,function(e,n,i,r,a,c){return i||(i=r),l+=t.slice(u,c).replace(Ke,R),n&&(A=!0,l+="' +\n__e("+n+") +\n'"),a&&(o=!0,l+="';\n"+a+";\n__p += '"),i&&(l+="' +\n((__t = ("+i+")) == null ? '' : __t) +\n'"),u=c+e.length,e}),l+="';\n";var d=e.variable;d||(l="with (obj) {\n"+l+"\n}\n"),l=(o?l.replace(Ee,""):l).replace(Te,"$1").replace(Ne,"$1;"),l="function("+(d||"obj")+") {\n"+(d?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(A?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+l+"return __p\n}";var f=Zl(function(){return Au(c,h+"return "+l).apply(rt,s)});if(f.source=l,$a(f))throw f;return f}function Es(t){return wc(t).toLowerCase()}function Ts(t){return wc(t).toUpperCase()}function Ns(t,e,n){if((t=wc(t))&&(n||e===rt))return t.replace(Ye,"");if(!t||!(e=Mr(e)))return t;var i=tt(t),r=tt(e);return Dr(i,U(i,r),F(i,r)+1).join("")}function ys(t,e,n){if((t=wc(t))&&(n||e===rt))return t.replace(Oe,"");if(!t||!(e=Mr(e)))return t;var i=tt(t);return Dr(i,0,F(i,tt(e))+1).join("")}function ps(t,e,n){if((t=wc(t))&&(n||e===rt))return t.replace(be,"");if(!t||!(e=Mr(e)))return t;var i=tt(t);return Dr(i,U(i,tt(e))).join("")}function Cs(t,e){var n=Bt,i=wt;if(rc(e)){var r="separator"in e?e.separator:r;n="length"in e?pc(e.length):n,i="omission"in e?Mr(e.omission):i}t=wc(t);var A=t.length;if(H(t)){var o=tt(t);A=o.length}if(n>=A)return t;var a=n-$(i);if(a<1)return i;var c=o?Dr(o,0,a).join(""):t.slice(0,a);if(r===rt)return c+i;if(o&&(a+=c.length-a),yl(r)){if(t.slice(a).search(r)){var s,u=c;for(r.global||(r=cu(r.source,wc(He.exec(r))+"g")),r.lastIndex=0;s=r.exec(u);)var g=s.index;c=c.slice(0,g===rt?a:g)}}else if(t.indexOf(Mr(r),a)!=a){var l=c.lastIndexOf(r);l>-1&&(c=c.slice(0,l))}return c+i}function Ds(t){return t=wc(t),t&&Ce.test(t)?t.replace(ye,Wn):t}function xs(t,e,n){return t=wc(t),e=n?rt:e,e===rt?J(t)?it(t):y(t):t.match(e)||[]}function Bs(t){var e=null==t?0:t.length,n=yA();return t=e?d(t,function(t){if("function"!=typeof t[1])throw new uu(at);return[n(t[0]),t[1]]}):[],nr(function(n){for(var i=-1;++i<e;){var r=t[i];if(a(r[0],this,n))return a(r[1],this,n)}})}function ws(t){return ri(ii(t,gt))}function ms(t){return function(){return t}}function Qs(t,e){return null==t||t!==t?e:t}function vs(t){return t}function js(t){return zi("function"==typeof t?t:ii(t,gt))}function Ls(t){return Gi(ii(t,gt))}function Ss(t,e){return Hi(t,ii(e,gt))}function Ys(t,e,n){var i=kc(e),r=di(e,i);null!=n||rc(e)&&(r.length||!i.length)||(n=e,e=t,t=this,r=di(e,kc(e)));var A=!(rc(n)&&"chain"in n&&!n.chain),o=ec(t);return s(r,function(n){var i=e[n];t[n]=i,o&&(t.prototype[n]=function(){var e=this.__chain__;if(A||e){var n=t(this.__wrapped__);return(n.__actions__=zr(this.__actions__)).push({func:i,args:arguments,thisArg:t}),n.__chain__=e,n}return i.apply(t,f([this.value()],arguments))})}),t}function bs(){return Sn._===this&&(Sn._=yu),this}function Os(){}function zs(t){return t=pc(t),nr(function(e){return Xi(e,t)})}function Us(t){return OA(t)?m(qA(t)):Zi(t)}function Fs(t){return function(e){return null==t?rt:fi(t,e)}}function ks(){return[]}function Rs(){return!1}function Gs(){return{}}function Hs(){return""}function Js(){return!0}function Ps(t,e){if((t=pc(t))<1||t>St)return[];var n=Ot,i=Xu(t,Ot);e=yA(e),t-=Ot;for(var r=S(i,e);++n<t;)e(n);return r}function Xs(t){return fl(t)?d(t,qA):fc(t)?[t]:zr(jg(wc(t)))}function Vs(t){var e=++Iu;return wc(t)+e}function Ws(t){return t&&t.length?si(t,vs,Ti):rt}function _s(t,e){return t&&t.length?si(t,yA(e,2),Ti):rt}function Zs(t){return w(t,vs)}function Ks(t,e){return w(t,yA(e,2))}function qs(t){return t&&t.length?si(t,vs,ki):rt}function $s(t,e){return t&&t.length?si(t,yA(e,2),ki):rt}function tu(t){return t&&t.length?L(t,vs):0}function eu(t,e){return t&&t.length?L(t,yA(e,2)):0}e=null==e?Sn:_n.defaults(Sn.Object(),e,_n.pick(Sn,yn));var nu=e.Array,iu=e.Date,ru=e.Error,Au=e.Function,ou=e.Math,au=e.Object,cu=e.RegExp,su=e.String,uu=e.TypeError,gu=nu.prototype,lu=Au.prototype,Mu=au.prototype,hu=e["__core-js_shared__"],du=lu.toString,fu=Mu.hasOwnProperty,Iu=0,Eu=function(){var t=/[^.]+$/.exec(hu&&hu.keys&&hu.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),Tu=Mu.toString,Nu=du.call(au),yu=Sn._,pu=cu("^"+du.call(fu).replace(Le,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Cu=On?e.Buffer:rt,Du=e.Symbol,xu=e.Uint8Array,Bu=Cu?Cu.allocUnsafe:rt,wu=V(au.getPrototypeOf,au),mu=au.create,Qu=Mu.propertyIsEnumerable,vu=gu.splice,ju=Du?Du.isConcatSpreadable:rt,Lu=Du?Du.iterator:rt,Su=Du?Du.toStringTag:rt,Yu=function(){try{var t=DA(au,"defineProperty");return t({},"",{}),t}catch(t){}}(),bu=e.clearTimeout!==Sn.clearTimeout&&e.clearTimeout,Ou=iu&&iu.now!==Sn.Date.now&&iu.now,zu=e.setTimeout!==Sn.setTimeout&&e.setTimeout,Uu=ou.ceil,Fu=ou.floor,ku=au.getOwnPropertySymbols,Ru=Cu?Cu.isBuffer:rt,Gu=e.isFinite,Hu=gu.join,Ju=V(au.keys,au),Pu=ou.max,Xu=ou.min,Vu=iu.now,Wu=e.parseInt,_u=ou.random,Zu=gu.reverse,Ku=DA(e,"DataView"),qu=DA(e,"Map"),$u=DA(e,"Promise"),tg=DA(e,"Set"),eg=DA(e,"WeakMap"),ng=DA(au,"create"),ig=eg&&new eg,rg={},Ag=$A(Ku),og=$A(qu),ag=$A($u),cg=$A(tg),sg=$A(eg),ug=Du?Du.prototype:rt,gg=ug?ug.valueOf:rt,lg=ug?ug.toString:rt,Mg=function(){function t(){}return function(e){if(!rc(e))return{};if(mu)return mu(e);t.prototype=e;var n=new t;return t.prototype=rt,n}}();n.templateSettings={escape:xe,evaluate:Be,interpolate:we,variable:"",imports:{_:n}},n.prototype=i.prototype,n.prototype.constructor=n,r.prototype=Mg(i.prototype),r.prototype.constructor=r,N.prototype=Mg(i.prototype),N.prototype.constructor=N,nt.prototype.clear=ke,nt.prototype.delete=qe,nt.prototype.get=$e,nt.prototype.has=tn,nt.prototype.set=en,nn.prototype.clear=rn,nn.prototype.delete=An,nn.prototype.get=on,nn.prototype.has=an,nn.prototype.set=cn,sn.prototype.clear=un,sn.prototype.delete=gn,sn.prototype.get=ln,sn.prototype.has=Mn,sn.prototype.set=hn,In.prototype.add=In.prototype.push=En,In.prototype.has=Tn,Nn.prototype.clear=xn,Nn.prototype.delete=Bn,Nn.prototype.get=wn,Nn.prototype.has=mn,Nn.prototype.set=jn;var hg=Hr(Mi),dg=Hr(hi,!0),fg=Jr(),Ig=Jr(!0),Eg=ig?function(t,e){return ig.set(t,e),t}:vs,Tg=Yu?function(t,e){return Yu(t,"toString",{configurable:!0,enumerable:!1,value:ms(e),writable:!0})}:vs,Ng=nr,yg=bu||function(t){return Sn.clearTimeout(t)},pg=tg&&1/_(new tg([,-0]))[1]==Lt?function(t){return new tg(t)}:Os,Cg=ig?function(t){return ig.get(t)}:Os,Dg=ku?function(t){return null==t?[]:(t=au(t),l(ku(t),function(e){return Qu.call(t,e)}))}:ks,xg=ku?function(t){for(var e=[];t;)f(e,Dg(t)),t=wu(t);return e}:ks,Bg=Ei;(Ku&&Bg(new Ku(new ArrayBuffer(1)))!=ce||qu&&Bg(new qu)!=_t||$u&&"[object Promise]"!=Bg($u.resolve())||tg&&Bg(new tg)!=ee||eg&&Bg(new eg)!=Ae)&&(Bg=function(t){var e=Ei(t),n=e==qt?t.constructor:rt,i=n?$A(n):"";if(i)switch(i){case Ag:return ce;case og:return _t;case ag:return"[object Promise]";case cg:return ee;case sg:return Ae}return e});var wg=hu?ec:Rs,mg=ZA(Eg),Qg=zu||function(t,e){return Sn.setTimeout(t,e)},vg=ZA(Tg),jg=function(t){var e=ja(t,function(t){return n.size===st&&n.clear(),t}),n=e.cache;return e}(function(t){var e=[];return ve.test(t)&&e.push(""),t.replace(je,function(t,n,i,r){e.push(i?r.replace(Re,"$1"):n||t)}),e}),Lg=nr(function(t,e){return Va(t)?ai(t,li(e,1,Va,!0)):[]}),Sg=nr(function(t,e){var n=yo(e);return Va(n)&&(n=rt),Va(t)?ai(t,li(e,1,Va,!0),yA(n,2)):[]}),Yg=nr(function(t,e){var n=yo(e);return Va(n)&&(n=rt),Va(t)?ai(t,li(e,1,Va,!0),rt,n):[]}),bg=nr(function(t){var e=d(t,yr);return e.length&&e[0]===t[0]?Ci(e):[]}),Og=nr(function(t){var e=yo(t),n=d(t,yr);return e===yo(n)?e=rt:n.pop(),n.length&&n[0]===t[0]?Ci(n,yA(e,2)):[]}),zg=nr(function(t){var e=yo(t),n=d(t,yr);return e="function"==typeof e?e:rt,e&&n.pop(),n.length&&n[0]===t[0]?Ci(n,rt,e):[]}),Ug=nr(Do),Fg=fA(function(t,e){var n=null==t?0:t.length,i=ei(t,e);return qi(t,d(e,function(t){return YA(t,n)?+t:t}).sort(Sr)),i}),kg=nr(function(t){return hr(li(t,1,Va,!0))}),Rg=nr(function(t){var e=yo(t);return Va(e)&&(e=rt),hr(li(t,1,Va,!0),yA(e,2))}),Gg=nr(function(t){var e=yo(t);return e="function"==typeof e?e:rt,hr(li(t,1,Va,!0),rt,e)}),Hg=nr(function(t,e){return Va(t)?ai(t,e):[]}),Jg=nr(function(t){return Tr(l(t,Va))}),Pg=nr(function(t){var e=yo(t);return Va(e)&&(e=rt),Tr(l(t,Va),yA(e,2))}),Xg=nr(function(t){var e=yo(t);return e="function"==typeof e?e:rt,Tr(l(t,Va),rt,e)}),Vg=nr(Xo),Wg=nr(function(t){var e=t.length,n=e>1?t[e-1]:rt;return n="function"==typeof n?(t.pop(),n):rt,Vo(t,n)}),_g=fA(function(t){var e=t.length,n=e?t[0]:0,i=this.__wrapped__,A=function(e){return ei(e,t)};return!(e>1||this.__actions__.length)&&i instanceof N&&YA(n)?(i=i.slice(n,+n+(e?1:0)),i.__actions__.push({func:qo,args:[A],thisArg:rt}),new r(i,this.__chain__).thru(function(t){return e&&!t.length&&t.push(rt),t})):this.thru(A)}),Zg=Rr(function(t,e,n){fu.call(t,n)?++t[n]:ti(t,n,1)}),Kg=Zr(uo),qg=Zr(go),$g=Rr(function(t,e,n){fu.call(t,n)?t[n].push(e):ti(t,n,[e])}),tl=nr(function(t,e,n){var i=-1,r="function"==typeof e,A=Xa(t)?nu(t.length):[];return hg(t,function(t){A[++i]=r?a(e,t,n):xi(t,e,n)}),A}),el=Rr(function(t,e,n){ti(t,n,e)}),nl=Rr(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),il=nr(function(t,e){if(null==t)return[];var n=e.length;return n>1&&bA(t,e[0],e[1])?e=[]:n>2&&bA(e[0],e[1],e[2])&&(e=[e[0]]),Vi(t,li(e,1),[])}),rl=Ou||function(){return Sn.Date.now()},Al=nr(function(t,e,n){var i=ft;if(n.length){var r=W(n,NA(Al));i|=yt}return sA(t,i,e,n,r)}),ol=nr(function(t,e,n){var i=ft|It;if(n.length){var r=W(n,NA(ol));i|=yt}return sA(e,i,t,n,r)}),al=nr(function(t,e){return oi(t,1,e)}),cl=nr(function(t,e,n){return oi(t,Dc(e)||0,n)});ja.Cache=sn;var sl=Ng(function(t,e){e=1==e.length&&fl(e[0])?d(e[0],b(yA())):d(li(e,1),b(yA()));var n=e.length;return nr(function(i){for(var r=-1,A=Xu(i.length,n);++r<A;)i[r]=e[r].call(this,i[r]);return a(t,this,i)})}),ul=nr(function(t,e){var n=W(e,NA(ul));return sA(t,yt,rt,e,n)}),gl=nr(function(t,e){var n=W(e,NA(gl));return sA(t,pt,rt,e,n)}),ll=fA(function(t,e){return sA(t,Dt,rt,rt,rt,e)}),Ml=AA(Ti),hl=AA(function(t,e){return t>=e}),dl=Bi(function(){return arguments}())?Bi:function(t){return Ac(t)&&fu.call(t,"callee")&&!Qu.call(t,"callee")},fl=nu.isArray,Il=Fn?b(Fn):wi,El=Ru||Rs,Tl=kn?b(kn):mi,Nl=Rn?b(Rn):ji,yl=Gn?b(Gn):Yi,pl=Hn?b(Hn):bi,Cl=Jn?b(Jn):Oi,Dl=AA(ki),xl=AA(function(t,e){return t<=e}),Bl=Gr(function(t,e){if(kA(e)||Xa(e))return void Ur(e,kc(e),t);for(var n in e)fu.call(e,n)&&Pn(t,n,e[n])}),wl=Gr(function(t,e){Ur(e,Rc(e),t)}),ml=Gr(function(t,e,n,i){Ur(e,Rc(e),t,i)}),Ql=Gr(function(t,e,n,i){Ur(e,kc(e),t,i)}),vl=fA(ei),jl=nr(function(t){return t.push(rt,uA),a(ml,rt,t)}),Ll=nr(function(t){return t.push(rt,gA),a(zl,rt,t)}),Sl=$r(function(t,e,n){t[e]=n},ms(vs)),Yl=$r(function(t,e,n){fu.call(t,e)?t[e].push(n):t[e]=[n]},yA),bl=nr(xi),Ol=Gr(function(t,e,n){Ji(t,e,n)}),zl=Gr(function(t,e,n,i){Ji(t,e,n,i)}),Ul=fA(function(t,e){var n={};if(null==t)return n;var i=!1;e=d(e,function(e){return e=Cr(e,t),i||(i=e.length>1),e}),Ur(t,EA(t),n),i&&(n=ii(n,gt|lt|Mt,lA));for(var r=e.length;r--;)dr(n,e[r]);return n}),Fl=fA(function(t,e){return null==t?{}:Wi(t,e)}),kl=cA(kc),Rl=cA(Rc),Gl=Vr(function(t,e,n){return e=e.toLowerCase(),t+(n?rs(e):e)}),Hl=Vr(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),Jl=Vr(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),Pl=Xr("toLowerCase"),Xl=Vr(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Vl=Vr(function(t,e,n){return t+(n?" ":"")+_l(e)}),Wl=Vr(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),_l=Xr("toUpperCase"),Zl=nr(function(t,e){try{return a(t,rt,e)}catch(t){return $a(t)?t:new ru(t)}}),Kl=fA(function(t,e){return s(e,function(e){e=qA(e),ti(t,e,Al(t[e],t))}),t}),ql=Kr(),$l=Kr(!0),tM=nr(function(t,e){return function(n){return xi(n,t,e)}}),eM=nr(function(t,e){return function(n){return xi(t,n,e)}}),nM=eA(d),iM=eA(g),rM=eA(T),AM=rA(),oM=rA(!0),aM=tA(function(t,e){return t+e},0),cM=aA("ceil"),sM=tA(function(t,e){return t/e},1),uM=aA("floor"),gM=tA(function(t,e){return t*e},1),lM=aA("round"),MM=tA(function(t,e){return t-e},0);return n.after=Da,n.ary=xa,n.assign=Bl,n.assignIn=wl,n.assignInWith=ml,n.assignWith=Ql,n.at=vl,n.before=Ba,n.bind=Al,n.bindAll=Kl,n.bindKey=ol,n.castArray=Fa,n.chain=Zo,n.chunk=no,n.compact=io,n.concat=ro,n.cond=Bs,n.conforms=ws,n.constant=ms,n.countBy=Zg,n.create=mc,n.curry=wa,n.curryRight=ma,n.debounce=Qa,n.defaults=jl,n.defaultsDeep=Ll,n.defer=al,n.delay=cl,n.difference=Lg,n.differenceBy=Sg,n.differenceWith=Yg,n.drop=Ao,n.dropRight=oo,n.dropRightWhile=ao,n.dropWhile=co,n.fill=so,n.filter=aa,n.flatMap=ca,n.flatMapDeep=sa,n.flatMapDepth=ua,n.flatten=lo,n.flattenDeep=Mo,n.flattenDepth=ho,n.flip=va,n.flow=ql,n.flowRight=$l,n.fromPairs=fo,n.functions=bc,n.functionsIn=Oc,n.groupBy=$g,n.initial=To,n.intersection=bg,n.intersectionBy=Og,n.intersectionWith=zg,n.invert=Sl,n.invertBy=Yl,n.invokeMap=tl,n.iteratee=js,n.keyBy=el,n.keys=kc,n.keysIn=Rc,n.map=ha,n.mapKeys=Gc,n.mapValues=Hc,n.matches=Ls,n.matchesProperty=Ss,n.memoize=ja,n.merge=Ol,n.mergeWith=zl,n.method=tM,n.methodOf=eM,n.mixin=Ys,n.negate=La,n.nthArg=zs,n.omit=Ul,n.omitBy=Jc,n.once=Sa,n.orderBy=da,n.over=nM,n.overArgs=sl,n.overEvery=iM,n.overSome=rM,n.partial=ul,n.partialRight=gl,n.partition=nl,n.pick=Fl,n.pickBy=Pc,n.property=Us,n.propertyOf=Fs,n.pull=Ug,n.pullAll=Do,n.pullAllBy=xo,n.pullAllWith=Bo,n.pullAt=Fg,n.range=AM,n.rangeRight=oM,n.rearg=ll,n.reject=Ea,n.remove=wo,n.rest=Ya,n.reverse=mo,n.sampleSize=Na,n.set=Vc,n.setWith=Wc,n.shuffle=ya,n.slice=Qo,n.sortBy=il,n.sortedUniq=Oo,n.sortedUniqBy=zo,n.split=ds,n.spread=ba,n.tail=Uo,n.take=Fo,n.takeRight=ko,n.takeRightWhile=Ro,n.takeWhile=Go,n.tap=Ko,n.throttle=Oa,n.thru=qo,n.toArray=Nc,n.toPairs=kl,n.toPairsIn=Rl,n.toPath=Xs,n.toPlainObject=xc,n.transform=_c,n.unary=za,n.union=kg,n.unionBy=Rg,n.unionWith=Gg,n.uniq=Ho,n.uniqBy=Jo,n.uniqWith=Po,n.unset=Zc,n.unzip=Xo,n.unzipWith=Vo,n.update=Kc,n.updateWith=qc,n.values=$c,n.valuesIn=ts,n.without=Hg,n.words=xs,n.wrap=Ua,n.xor=Jg,n.xorBy=Pg,n.xorWith=Xg,n.zip=Vg,n.zipObject=Wo,n.zipObjectDeep=_o,n.zipWith=Wg,n.entries=kl,n.entriesIn=Rl,n.extend=wl,n.extendWith=ml,Ys(n,n),n.add=aM,n.attempt=Zl,n.camelCase=Gl,n.capitalize=rs,n.ceil=cM,n.clamp=es,n.clone=ka,n.cloneDeep=Ga,n.cloneDeepWith=Ha,n.cloneWith=Ra,n.conformsTo=Ja,n.deburr=As,n.defaultTo=Qs,n.divide=sM,n.endsWith=os,n.eq=Pa,n.escape=as,n.escapeRegExp=cs,n.every=oa,n.find=Kg,n.findIndex=uo,n.findKey=Qc,n.findLast=qg,n.findLastIndex=go,n.findLastKey=vc,n.floor=uM,n.forEach=ga,n.forEachRight=la,n.forIn=jc,n.forInRight=Lc,n.forOwn=Sc,n.forOwnRight=Yc,n.get=zc,n.gt=Ml,n.gte=hl,n.has=Uc,n.hasIn=Fc,n.head=Io,n.identity=vs,n.includes=Ma,n.indexOf=Eo,n.inRange=ns,n.invoke=bl,n.isArguments=dl,n.isArray=fl,n.isArrayBuffer=Il,n.isArrayLike=Xa,n.isArrayLikeObject=Va,n.isBoolean=Wa,n.isBuffer=El,n.isDate=Tl,n.isElement=_a,n.isEmpty=Za,n.isEqual=Ka,n.isEqualWith=qa,n.isError=$a,n.isFinite=tc,n.isFunction=ec,n.isInteger=nc,n.isLength=ic,n.isMap=Nl,n.isMatch=oc,n.isMatchWith=ac,n.isNaN=cc,n.isNative=sc,n.isNil=gc,n.isNull=uc,n.isNumber=lc,n.isObject=rc,n.isObjectLike=Ac,n.isPlainObject=Mc,n.isRegExp=yl,n.isSafeInteger=hc,n.isSet=pl,n.isString=dc,n.isSymbol=fc,n.isTypedArray=Cl,n.isUndefined=Ic,n.isWeakMap=Ec,n.isWeakSet=Tc,n.join=No,n.kebabCase=Hl,n.last=yo,n.lastIndexOf=po,n.lowerCase=Jl,n.lowerFirst=Pl,n.lt=Dl,n.lte=xl,n.max=Ws,n.maxBy=_s,n.mean=Zs,n.meanBy=Ks,n.min=qs,n.minBy=$s,n.stubArray=ks,n.stubFalse=Rs,n.stubObject=Gs,n.stubString=Hs,n.stubTrue=Js,n.multiply=gM,n.nth=Co,n.noConflict=bs,n.noop=Os,n.now=rl,n.pad=ss,n.padEnd=us,n.padStart=gs,n.parseInt=ls,n.random=is,n.reduce=fa,n.reduceRight=Ia,n.repeat=Ms,n.replace=hs,n.result=Xc,n.round=lM,n.runInContext=t,n.sample=Ta,n.size=pa,n.snakeCase=Xl,n.some=Ca,n.sortedIndex=vo,n.sortedIndexBy=jo,n.sortedIndexOf=Lo,n.sortedLastIndex=So,n.sortedLastIndexBy=Yo,n.sortedLastIndexOf=bo,n.startCase=Vl,n.startsWith=fs,n.subtract=MM,n.sum=tu,n.sumBy=eu,n.template=Is,n.times=Ps,n.toFinite=yc,n.toInteger=pc,n.toLength=Cc,n.toLower=Es,n.toNumber=Dc,n.toSafeInteger=Bc,n.toString=wc,n.toUpper=Ts,n.trim=Ns,n.trimEnd=ys,n.trimStart=ps,n.truncate=Cs,n.unescape=Ds,n.uniqueId=Vs,n.upperCase=Wl,n.upperFirst=_l,n.each=ga,n.eachRight=la,n.first=Io,Ys(n,function(){var t={};return Mi(n,function(e,i){fu.call(n.prototype,i)||(t[i]=e)}),t}(),{chain:!1}),n.VERSION="4.17.4",s(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){n[t].placeholder=n}),s(["drop","take"],function(t,e){N.prototype[t]=function(n){n=n===rt?1:Pu(pc(n),0);var i=this.__filtered__&&!e?new N(this):this.clone();return i.__filtered__?i.__takeCount__=Xu(n,i.__takeCount__):i.__views__.push({size:Xu(n,Ot),type:t+(i.__dir__<0?"Right":"")}),i},N.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),s(["filter","map","takeWhile"],function(t,e){var n=e+1,i=n==vt||3==n;N.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:yA(t,3),type:n}),e.__filtered__=e.__filtered__||i,e}}),s(["head","last"],function(t,e){var n="take"+(e?"Right":"");N.prototype[t]=function(){return this[n](1).value()[0]}}),s(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");N.prototype[t]=function(){return this.__filtered__?new N(this):this[n](1)}}),N.prototype.compact=function(){return this.filter(vs)},N.prototype.find=function(t){return this.filter(t).head()},N.prototype.findLast=function(t){return this.reverse().find(t)},N.prototype.invokeMap=nr(function(t,e){return"function"==typeof t?new N(this):this.map(function(n){return xi(n,t,e)})}),N.prototype.reject=function(t){return this.filter(La(yA(t)))},N.prototype.slice=function(t,e){t=pc(t);var n=this;return n.__filtered__&&(t>0||e<0)?new N(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==rt&&(e=pc(e),n=e<0?n.dropRight(-e):n.take(e-t)),n)},N.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},N.prototype.toArray=function(){return this.take(Ot)},Mi(N.prototype,function(t,e){var i=/^(?:filter|find|map|reject)|While$/.test(e),A=/^(?:head|last)$/.test(e),o=n[A?"take"+("last"==e?"Right":""):e],a=A||/^find/.test(e);o&&(n.prototype[e]=function(){var e=this.__wrapped__,c=A?[1]:arguments,s=e instanceof N,u=c[0],g=s||fl(e),l=function(t){var e=o.apply(n,f([t],c));return A&&M?e[0]:e};g&&i&&"function"==typeof u&&1!=u.length&&(s=g=!1);var M=this.__chain__,h=!!this.__actions__.length,d=a&&!M,I=s&&!h;if(!a&&g){e=I?e:new N(this);var E=t.apply(e,c);return E.__actions__.push({func:qo,args:[l],thisArg:rt}),new r(E,M)}return d&&I?t.apply(this,c):(E=this.thru(l),d?A?E.value()[0]:E.value():E)})}),s(["pop","push","shift","sort","splice","unshift"],function(t){var e=gu[t],i=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);n.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var n=this.value();return e.apply(fl(n)?n:[],t)}return this[i](function(n){return e.apply(fl(n)?n:[],t)})}}),Mi(N.prototype,function(t,e){var i=n[e];if(i){var r=i.name+"";(rg[r]||(rg[r]=[])).push({name:e,func:i})}}),rg[qr(rt,It).name]=[{name:"wrapper",func:rt}],N.prototype.clone=Q,N.prototype.reverse=K,N.prototype.value=et,n.prototype.at=_g,n.prototype.chain=$o,n.prototype.commit=ta,n.prototype.next=ea,n.prototype.plant=ia,n.prototype.reverse=ra,n.prototype.toJSON=n.prototype.valueOf=n.prototype.value=Aa,n.prototype.first=n.prototype.head,Lu&&(n.prototype[Lu]=na),n}();Sn._=_n,(r=function(){return _n}.call(e,n,e,i))!==rt&&(i.exports=r)}).call(this)}).call(e,n(106),n(1236)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1238);n.d(e,"version",function(){return i.a});var r=n(35);n.d(e,"bisect",function(){return r.b}),n.d(e,"bisectRight",function(){return r.d}),n.d(e,"bisectLeft",function(){return r.c}),n.d(e,"ascending",function(){return r.a}),n.d(e,"bisector",function(){return r.e}),n.d(e,"cross",function(){return r.f}),n.d(e,"descending",function(){return r.g}),n.d(e,"deviation",function(){return r.h}),n.d(e,"extent",function(){return r.i}),n.d(e,"histogram",function(){return r.j}),n.d(e,"thresholdFreedmanDiaconis",function(){return r.w}),n.d(e,"thresholdScott",function(){return r.x}),n.d(e,"thresholdSturges",function(){return r.y}),n.d(e,"max",function(){return r.k}),n.d(e,"mean",function(){return r.l}),n.d(e,"median",function(){return r.m}),n.d(e,"merge",function(){return r.n}),n.d(e,"min",function(){return r.o}),n.d(e,"pairs",function(){return r.p}),n.d(e,"permute",function(){return r.q}),n.d(e,"quantile",function(){return r.r}),n.d(e,"range",function(){return r.s}),n.d(e,"scan",function(){return r.t}),n.d(e,"shuffle",function(){return r.u}),n.d(e,"sum",function(){return r.v}),n.d(e,"ticks",function(){return r.B}),n.d(e,"tickIncrement",function(){return r.z}),n.d(e,"tickStep",function(){return r.A}),n.d(e,"transpose",function(){return r.C}),n.d(e,"variance",function(){return r.D}),n.d(e,"zip",function(){return r.E});var A=n(1255);n.d(e,"axisTop",function(){return A.d}),n.d(e,"axisRight",function(){return A.c}),n.d(e,"axisBottom",function(){return A.a}),n.d(e,"axisLeft",function(){return A.b});var o=n(1259);n.d(e,"brush",function(){return o.a}),n.d(e,"brushX",function(){return o.c}),n.d(e,"brushY",function(){return o.d}),n.d(e,"brushSelection",function(){return o.b});var a=n(1298);n.d(e,"chord",function(){return a.a}),n.d(e,"ribbon",function(){return a.b});var c=n(45);n.d(e,"nest",function(){return c.nest}),n.d(e,"set",function(){return c.set}),n.d(e,"map",function(){return c.map}),n.d(e,"keys",function(){return c.keys}),n.d(e,"values",function(){return c.values}),n.d(e,"entries",function(){return c.entries});var s=n(15);n.d(e,"color",function(){return s.a}),n.d(e,"rgb",function(){return s.f}),n.d(e,"hsl",function(){return s.d}),n.d(e,"lab",function(){return s.e}),n.d(e,"hcl",function(){return s.c}),n.d(e,"cubehelix",function(){return s.b});var u=n(36);n.d(e,"dispatch",function(){return u.dispatch});var g=n(548);n.d(e,"drag",function(){return g.a}),n.d(e,"dragDisable",function(){return g.b}),n.d(e,"dragEnable",function(){return g.c});var l=n(300);n.d(e,"dsvFormat",function(){return l.e}),n.d(e,"csvParse",function(){return l.c}),n.d(e,"csvParseRows",function(){return l.d}),n.d(e,"csvFormat",function(){return l.a}),n.d(e,"csvFormatRows",function(){return l.b}),n.d(e,"tsvParse",function(){return l.h}),n.d(e,"tsvParseRows",function(){return l.i}),n.d(e,"tsvFormat",function(){return l.f}),n.d(e,"tsvFormatRows",function(){return l.g});var M=n(293);n.d(e,"easeLinear",function(){return M.y}),n.d(e,"easeQuad",function(){return M.D}),n.d(e,"easeQuadIn",function(){return M.E}),n.d(e,"easeQuadOut",function(){return M.G}),n.d(e,"easeQuadInOut",function(){return M.F}),n.d(e,"easeCubic",function(){return M.m}),n.d(e,"easeCubicIn",function(){return M.n}),n.d(e,"easeCubicOut",function(){return M.p}),n.d(e,"easeCubicInOut",function(){return M.o}),n.d(e,"easePoly",function(){return M.z}),n.d(e,"easePolyIn",function(){return M.A}),n.d(e,"easePolyOut",function(){return M.C}),n.d(e,"easePolyInOut",function(){return M.B}),n.d(e,"easeSin",function(){return M.H}),n.d(e,"easeSinIn",function(){return M.I}),n.d(e,"easeSinOut",function(){return M.K}),n.d(e,"easeSinInOut",function(){return M.J}),n.d(e,"easeExp",function(){return M.u}),n.d(e,"easeExpIn",function(){return M.v}),n.d(e,"easeExpOut",function(){return M.x}),n.d(e,"easeExpInOut",function(){return M.w}),n.d(e,"easeCircle",function(){return M.i}),n.d(e,"easeCircleIn",function(){return M.j}),n.d(e,"easeCircleOut",function(){return M.l}),n.d(e,"easeCircleInOut",function(){return M.k}),n.d(e,"easeBounce",function(){return M.e}),n.d(e,"easeBounceIn",function(){return M.f}),n.d(e,"easeBounceOut",function(){return M.h}),n.d(e,"easeBounceInOut",function(){return M.g}),n.d(e,"easeBack",function(){return M.a}),n.d(e,"easeBackIn",function(){return M.b}),n.d(e,"easeBackOut",function(){return M.d}),n.d(e,"easeBackInOut",function(){return M.c}),n.d(e,"easeElastic",function(){return M.q}),n.d(e,"easeElasticIn",function(){return M.r}),n.d(e,"easeElasticOut",function(){return M.t}),n.d(e,"easeElasticInOut",function(){return M.s});var h=n(1342);n.d(e,"forceCenter",function(){return h.a}),n.d(e,"forceCollide",function(){return h.b}),n.d(e,"forceLink",function(){return h.c}),n.d(e,"forceManyBody",function(){return h.d}),n.d(e,"forceRadial",function(){return h.e}),n.d(e,"forceSimulation",function(){return h.f}),n.d(e,"forceX",function(){return h.g}),n.d(e,"forceY",function(){return h.h});var d=n(304);n.d(e,"formatDefaultLocale",function(){return d.b}),n.d(e,"format",function(){return d.a}),n.d(e,"formatPrefix",function(){return d.d}),n.d(e,"formatLocale",function(){return d.c}),n.d(e,"formatSpecifier",function(){return d.e}),n.d(e,"precisionFixed",function(){return d.f}),n.d(e,"precisionPrefix",function(){return d.g}),n.d(e,"precisionRound",function(){return d.h});var f=n(1361);n.d(e,"geoArea",function(){return f.c}),n.d(e,"geoBounds",function(){return f.h}),n.d(e,"geoCentroid",function(){return f.i}),n.d(e,"geoCircle",function(){return f.j}),n.d(e,"geoClipAntimeridian",function(){return f.k}),n.d(e,"geoClipCircle",function(){return f.l}),n.d(e,"geoClipExtent",function(){return f.m}),n.d(e,"geoClipRectangle",function(){return f.n}),n.d(e,"geoContains",function(){return f.u}),n.d(e,"geoDistance",function(){return f.v}),n.d(e,"geoGraticule",function(){return f.A}),n.d(e,"geoGraticule10",function(){return f.B}),n.d(e,"geoInterpolate",function(){return f.D}),n.d(e,"geoLength",function(){return f.E}),n.d(e,"geoPath",function(){return f.L}),n.d(e,"geoAlbers",function(){return f.a}),n.d(e,"geoAlbersUsa",function(){return f.b}),n.d(e,"geoAzimuthalEqualArea",function(){return f.d}),n.d(e,"geoAzimuthalEqualAreaRaw",function(){return f.e}),n.d(e,"geoAzimuthalEquidistant",function(){return f.f}),n.d(e,"geoAzimuthalEquidistantRaw",function(){return f.g}),n.d(e,"geoConicConformal",function(){return f.o}),n.d(e,"geoConicConformalRaw",function(){return f.p}),n.d(e,"geoConicEqualArea",function(){return f.q}),n.d(e,"geoConicEqualAreaRaw",function(){return f.r}),n.d(e,"geoConicEquidistant",function(){return f.s}),n.d(e,"geoConicEquidistantRaw",function(){return f.t}),n.d(e,"geoEquirectangular",function(){return f.w}),n.d(e,"geoEquirectangularRaw",function(){return f.x}),n.d(e,"geoGnomonic",function(){return f.y}),n.d(e,"geoGnomonicRaw",function(){return f.z}),n.d(e,"geoIdentity",function(){return f.C}),n.d(e,"geoProjection",function(){return f.M}),n.d(e,"geoProjectionMutator",function(){return f.N}),n.d(e,"geoMercator",function(){return f.F}),n.d(e,"geoMercatorRaw",function(){return f.G}),n.d(e,"geoNaturalEarth1",function(){return f.H}),n.d(e,"geoNaturalEarth1Raw",function(){return f.I}),n.d(e,"geoOrthographic",function(){return f.J}),n.d(e,"geoOrthographicRaw",function(){return f.K}),n.d(e,"geoStereographic",function(){return f.P}),n.d(e,"geoStereographicRaw",function(){return f.Q}),n.d(e,"geoTransverseMercator",function(){return f.T}),n.d(e,"geoTransverseMercatorRaw",function(){return f.U}),n.d(e,"geoRotation",function(){return f.O}),n.d(e,"geoStream",function(){return f.R}),n.d(e,"geoTransform",function(){return f.S});var I=n(80);n.d(e,"cluster",function(){return I.a}),n.d(e,"hierarchy",function(){return I.b}),n.d(e,"pack",function(){return I.c}),n.d(e,"packSiblings",function(){return I.e}),n.d(e,"packEnclose",function(){return I.d}),n.d(e,"partition",function(){return I.f}),n.d(e,"stratify",function(){return I.g}),n.d(e,"tree",function(){return I.h}),n.d(e,"treemap",function(){return I.i}),n.d(e,"treemapBinary",function(){return I.j}),n.d(e,"treemapDice",function(){return I.k}),n.d(e,"treemapSlice",function(){return I.m}),n.d(e,"treemapSliceDice",function(){return I.n}),n.d(e,"treemapSquarify",function(){return I.o}),n.d(e,"treemapResquarify",function(){return I.l});var E=n(47);n.d(e,"interpolate",function(){return E.a}),n.d(e,"interpolateArray",function(){return E.b}),n.d(e,"interpolateBasis",function(){return E.c}),n.d(e,"interpolateBasisClosed",function(){return E.d}),n.d(e,"interpolateDate",function(){return E.g}),n.d(e,"interpolateNumber",function(){return E.m}),n.d(e,"interpolateObject",function(){return E.n}),n.d(e,"interpolateRound",function(){return E.r}),n.d(e,"interpolateString",function(){return E.s}),n.d(e,"interpolateTransformCss",function(){return E.t}),n.d(e,"interpolateTransformSvg",function(){return E.u}),n.d(e,"interpolateZoom",function(){return E.v}),n.d(e,"interpolateRgb",function(){return E.o}),n.d(e,"interpolateRgbBasis",function(){return E.p}),n.d(e,"interpolateRgbBasisClosed",function(){return E.q}),n.d(e,"interpolateHsl",function(){return E.j}),n.d(e,"interpolateHslLong",function(){return E.k}),n.d(e,"interpolateLab",function(){return E.l}),n.d(e,"interpolateHcl",function(){return E.h}),n.d(e,"interpolateHclLong",function(){return E.i}),n.d(e,"interpolateCubehelix",function(){return E.e}),n.d(e,"interpolateCubehelixLong",function(){return E.f}),n.d(e,"quantize",function(){return E.w});var T=n(40);n.d(e,"path",function(){return T.a});var N=n(1399);n.d(e,"polygonArea",function(){return N.a}),n.d(e,"polygonCentroid",function(){return N.b}),n.d(e,"polygonHull",function(){return N.d}),n.d(e,"polygonContains",function(){return N.c}),n.d(e,"polygonLength",function(){return N.e});var y=n(130);n.d(e,"quadtree",function(){return y.a});var p=n(1406);n.d(e,"queue",function(){return p.a});var C=n(1409);n.d(e,"randomUniform",function(){return C.f}),n.d(e,"randomNormal",function(){return C.e}),n.d(e,"randomLogNormal",function(){return C.d}),n.d(e,"randomBates",function(){return C.a}),n.d(e,"randomIrwinHall",function(){return C.c}),n.d(e,"randomExponential",function(){return C.b});var D=n(1414);n.d(e,"request",function(){return D.d}),n.d(e,"html",function(){return D.b}),n.d(e,"json",function(){return D.c}),n.d(e,"text",function(){return D.e}),n.d(e,"xml",function(){return D.g}),n.d(e,"csv",function(){return D.a}),n.d(e,"tsv",function(){return D.f});var x=n(1421);n.d(e,"scaleBand",function(){return x.i}),n.d(e,"scalePoint",function(){return x.o}),n.d(e,"scaleIdentity",function(){return x.j}),n.d(e,"scaleLinear",function(){return x.l}),n.d(e,"scaleLog",function(){return x.m}),n.d(e,"scaleOrdinal",function(){return x.n}),n.d(e,"scaleImplicit",function(){return x.k}),n.d(e,"scalePow",function(){return x.p}),n.d(e,"scaleSqrt",function(){return x.t}),n.d(e,"scaleQuantile",function(){return x.q}),n.d(e,"scaleQuantize",function(){return x.r}),n.d(e,"scaleThreshold",function(){return x.u}),n.d(e,"scaleTime",function(){return x.v}),n.d(e,"scaleUtc",function(){return x.w}),n.d(e,"schemeCategory10",function(){return x.x}),n.d(e,"schemeCategory20b",function(){return x.z}),n.d(e,"schemeCategory20c",function(){return x.A}),n.d(e,"schemeCategory20",function(){return x.y}),n.d(e,"interpolateCubehelixDefault",function(){return x.b}),n.d(e,"interpolateRainbow",function(){return x.f}),n.d(e,"interpolateWarm",function(){return x.h}),n.d(e,"interpolateCool",function(){return x.a}),n.d(e,"interpolateViridis",function(){return x.g}),n.d(e,"interpolateMagma",function(){return x.d}),n.d(e,"interpolateInferno",function(){return x.c}),n.d(e,"interpolatePlasma",function(){return x.e}),n.d(e,"scaleSequential",function(){return x.s});var B=n(27);n.d(e,"create",function(){return B.b}),n.d(e,"creator",function(){return B.c}),n.d(e,"local",function(){return B.f}),n.d(e,"matcher",function(){return B.g}),n.d(e,"mouse",function(){return B.h}),n.d(e,"namespace",function(){return B.i}),n.d(e,"namespaces",function(){return B.j}),n.d(e,"clientPoint",function(){return B.a}),n.d(e,"select",function(){return B.k}),n.d(e,"selectAll",function(){return B.l}),n.d(e,"selection",function(){return B.m}),n.d(e,"selector",function(){return B.n}),n.d(e,"selectorAll",function(){return B.o}),n.d(e,"style",function(){return B.p}),n.d(e,"touch",function(){return B.q}),n.d(e,"touches",function(){return B.r}),n.d(e,"window",function(){return B.s}),n.d(e,"event",function(){return B.e}),n.d(e,"customEvent",function(){return B.d});var w=n(94);n.d(e,"arc",function(){return w.arc}),n.d(e,"area",function(){return w.area}),n.d(e,"line",function(){return w.line}),n.d(e,"pie",function(){return w.pie}),n.d(e,"areaRadial",function(){return w.areaRadial}),n.d(e,"radialArea",function(){return w.radialArea}),n.d(e,"lineRadial",function(){return w.lineRadial}),n.d(e,"radialLine",function(){return w.radialLine}),n.d(e,"pointRadial",function(){return w.pointRadial}),n.d(e,"linkHorizontal",function(){return w.linkHorizontal}),n.d(e,"linkVertical",function(){return w.linkVertical}),n.d(e,"linkRadial",function(){return w.linkRadial}),n.d(e,"symbol",function(){return w.symbol}),n.d(e,"symbols",function(){return w.symbols}),n.d(e,"symbolCircle",function(){return w.symbolCircle}),n.d(e,"symbolCross",function(){return w.symbolCross}),n.d(e,"symbolDiamond",function(){return w.symbolDiamond}),n.d(e,"symbolSquare",function(){return w.symbolSquare}),n.d(e,"symbolStar",function(){return w.symbolStar}),n.d(e,"symbolTriangle",function(){return w.symbolTriangle}),n.d(e,"symbolWye",function(){return w.symbolWye}),n.d(e,"curveBasisClosed",function(){return w.curveBasisClosed}),n.d(e,"curveBasisOpen",function(){return w.curveBasisOpen}),n.d(e,"curveBasis",function(){return w.curveBasis}),n.d(e,"curveBundle",function(){return w.curveBundle}),n.d(e,"curveCardinalClosed",function(){return w.curveCardinalClosed}),n.d(e,"curveCardinalOpen",function(){return w.curveCardinalOpen}),n.d(e,"curveCardinal",function(){return w.curveCardinal}),n.d(e,"curveCatmullRomClosed",function(){return w.curveCatmullRomClosed}),n.d(e,"curveCatmullRomOpen",function(){return w.curveCatmullRomOpen}),n.d(e,"curveCatmullRom",function(){return w.curveCatmullRom}),n.d(e,"curveLinearClosed",function(){return w.curveLinearClosed}),n.d(e,"curveLinear",function(){return w.curveLinear}),n.d(e,"curveMonotoneX",function(){return w.curveMonotoneX}),n.d(e,"curveMonotoneY",function(){return w.curveMonotoneY}),n.d(e,"curveNatural",function(){return w.curveNatural}),n.d(e,"curveStep",function(){return w.curveStep}),n.d(e,"curveStepAfter",function(){return w.curveStepAfter}),n.d(e,"curveStepBefore",function(){return w.curveStepBefore}),n.d(e,"stack",function(){return w.stack}),n.d(e,"stackOffsetExpand",function(){return w.stackOffsetExpand}),n.d(e,"stackOffsetDiverging",function(){return w.stackOffsetDiverging}),n.d(e,"stackOffsetNone",function(){return w.stackOffsetNone}),n.d(e,"stackOffsetSilhouette",function(){return w.stackOffsetSilhouette}),n.d(e,"stackOffsetWiggle",function(){return w.stackOffsetWiggle}),n.d(e,"stackOrderAscending",function(){return w.stackOrderAscending}),n.d(e,"stackOrderDescending",function(){return w.stackOrderDescending}),n.d(e,"stackOrderInsideOut",function(){return w.stackOrderInsideOut}),n.d(e,"stackOrderNone",function(){return w.stackOrderNone}),n.d(e,"stackOrderReverse",function(){return w.stackOrderReverse});var m=n(206);n.d(e,"timeInterval",function(){return m.g}),n.d(e,"timeMillisecond",function(){return m.h}),n.d(e,"timeMilliseconds",function(){return m.i}),n.d(e,"utcMillisecond",function(){return m.L}),n.d(e,"utcMilliseconds",function(){return m.M}),n.d(e,"timeSecond",function(){return m.r}),n.d(e,"timeSeconds",function(){return m.s}),n.d(e,"utcSecond",function(){return m.V}),n.d(e,"utcSeconds",function(){return m.W}),n.d(e,"timeMinute",function(){return m.j}),n.d(e,"timeMinutes",function(){return m.k}),n.d(e,"timeHour",function(){return m.e}),n.d(e,"timeHours",function(){return m.f}),n.d(e,"timeDay",function(){return m.a}),n.d(e,"timeDays",function(){return m.b}),n.d(e,"timeWeek",function(){return m.B}),n.d(e,"timeWeeks",function(){return m.C}),n.d(e,"timeSunday",function(){return m.t}),n.d(e,"timeSundays",function(){return m.u}),n.d(e,"timeMonday",function(){return m.l}),n.d(e,"timeMondays",function(){return m.m}),n.d(e,"timeTuesday",function(){return m.x}),n.d(e,"timeTuesdays",function(){return m.y}),n.d(e,"timeWednesday",function(){return m.z}),n.d(e,"timeWednesdays",function(){return m.A}),n.d(e,"timeThursday",function(){return m.v}),n.d(e,"timeThursdays",function(){return m.w}),n.d(e,"timeFriday",function(){return m.c}),n.d(e,"timeFridays",function(){return m.d}),n.d(e,"timeSaturday",function(){return m.p}),n.d(e,"timeSaturdays",function(){return m.q}),n.d(e,"timeMonth",function(){return m.n}),n.d(e,"timeMonths",function(){return m.o}),n.d(e,"timeYear",function(){return m.D}),n.d(e,"timeYears",function(){return m.E}),n.d(e,"utcMinute",function(){return m.N}),n.d(e,"utcMinutes",function(){return m.O}),n.d(e,"utcHour",function(){return m.J}),n.d(e,"utcHours",function(){return m.K}),n.d(e,"utcDay",function(){return m.F}),n.d(e,"utcDays",function(){return m.G}),n.d(e,"utcWeek",function(){return m._5}),n.d(e,"utcWeeks",function(){return m._6}),n.d(e,"utcSunday",function(){return m.X}),n.d(e,"utcSundays",function(){return m.Y}),n.d(e,"utcMonday",function(){return m.P}),n.d(e,"utcMondays",function(){return m.Q}),n.d(e,"utcTuesday",function(){return m._1}),n.d(e,"utcTuesdays",function(){return m._2}),n.d(e,"utcWednesday",function(){return m._3}),n.d(e,"utcWednesdays",function(){return m._4}),n.d(e,"utcThursday",function(){return m.Z}),n.d(e,"utcThursdays",function(){return m._0}),n.d(e,"utcFriday",function(){return m.H}),n.d(e,"utcFridays",function(){return m.I}),n.d(e,"utcSaturday",function(){return m.T}),n.d(e,"utcSaturdays",function(){return m.U}),n.d(e,"utcMonth",function(){return m.R}),n.d(e,"utcMonths",function(){return m.S}),n.d(e,"utcYear",function(){return m._7}),n.d(e,"utcYears",function(){return m._8});var Q=n(315);n.d(e,"timeFormatDefaultLocale",function(){return Q.d}),n.d(e,"timeFormat",function(){return Q.c}),n.d(e,"timeParse",function(){return Q.f}),n.d(e,"utcFormat",function(){return Q.g}),n.d(e,"utcParse",function(){return Q.h}),n.d(e,"timeFormatLocale",function(){return Q.e}),n.d(e,"isoFormat",function(){return Q.a}),n.d(e,"isoParse",function(){return Q.b});var v=n(198);n.d(e,"now",function(){return v.b}),n.d(e,"timer",function(){return v.d}),n.d(e,"timerFlush",function(){return v.e}),n.d(e,"timeout",function(){return v.c}),n.d(e,"interval",function(){return v.a});var j=n(593);n.d(e,"transition",function(){return j.c}),n.d(e,"active",function(){return j.a}),n.d(e,"interrupt",function(){return j.b});var L=n(481);n.d(e,"voronoi",function(){return L.a});var S=n(1474);n.d(e,"zoom",function(){return S.a}),n.d(e,"zoomTransform",function(){return S.c}),n.d(e,"zoomIdentity",function(){return S.b})},function(t,e,n){"use strict";n.d(e,"a",function(){return i});var i="4.13.0"},function(t,e,n){"use strict";var i=n(532);e.a=function(t,e,n){var r,A,o,a,c=t.length,s=e.length,u=new Array(c*s);for(null==n&&(n=i.b),r=o=0;r<c;++r)for(a=t[r],A=0;A<s;++A,++o)u[o]=n(a,e[A]);return u}},function(t,e,n){"use strict";e.a=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}},function(t,e,n){"use strict";var i=n(536),r=n(530),A=n(1242),o=n(535),a=n(1243),c=n(537),s=n(538),u=n(539);e.a=function(){function t(t){var i,A,o=t.length,a=new Array(o);for(i=0;i<o;++i)a[i]=e(t[i],i,t);var u=n(a),l=u[0],M=u[1],h=g(a,l,M);Array.isArray(h)||(h=Object(s.c)(l,M,h),h=Object(c.a)(Math.ceil(l/h)*h,Math.floor(M/h)*h,h));for(var d=h.length;h[0]<=l;)h.shift(),--d;for(;h[d-1]>M;)h.pop(),--d;var f,I=new Array(d+1);for(i=0;i<=d;++i)f=I[i]=[],f.x0=i>0?h[i-1]:l,f.x1=i<d?h[i]:M;for(i=0;i<o;++i)A=a[i],l<=A&&A<=M&&I[Object(r.c)(h,A,0,d)].push(t[i]);return I}var e=a.a,n=o.a,g=u.a;return t.value=function(n){return arguments.length?(e="function"==typeof n?n:Object(A.a)(n),t):e},t.domain=function(e){return arguments.length?(n="function"==typeof e?e:Object(A.a)([e[0],e[1]]),t):n},t.thresholds=function(e){return arguments.length?(g="function"==typeof e?e:Array.isArray(e)?Object(A.a)(i.b.call(e)):Object(A.a)(e),t):g},t}},function(t,e,n){"use strict";e.a=function(t){return function(){return t}}},function(t,e,n){"use strict";e.a=function(t){return t}},function(t,e,n){"use strict";var i=n(536),r=n(97),A=n(135),o=n(292);e.a=function(t,e,n){return t=i.a.call(t,A.a).sort(r.a),Math.ceil((n-e)/(2*(Object(o.a)(t,.75)-Object(o.a)(t,.25))*Math.pow(t.length,-1/3)))}},function(t,e,n){"use strict";var i=n(533);e.a=function(t,e,n){return Math.ceil((n-e)/(3.5*Object(i.a)(t)*Math.pow(t.length,-1/3)))}},function(t,e,n){"use strict";e.a=function(t,e){var n,i,r=t.length,A=-1;if(null==e){for(;++A<r;)if(null!=(n=t[A])&&n>=n)for(i=n;++A<r;)null!=(n=t[A])&&n>i&&(i=n)}else for(;++A<r;)if(null!=(n=e(t[A],A,t))&&n>=n)for(i=n;++A<r;)null!=(n=e(t[A],A,t))&&n>i&&(i=n);return i}},function(t,e,n){"use strict";var i=n(135);e.a=function(t,e){var n,r=t.length,A=r,o=-1,a=0;if(null==e)for(;++o<r;)isNaN(n=Object(i.a)(t[o]))?--A:a+=n;else for(;++o<r;)isNaN(n=Object(i.a)(e(t[o],o,t)))?--A:a+=n;if(A)return a/A}},function(t,e,n){"use strict";var i=n(97),r=n(135),A=n(292);e.a=function(t,e){var n,o=t.length,a=-1,c=[];if(null==e)for(;++a<o;)isNaN(n=Object(r.a)(t[a]))||c.push(n);else for(;++a<o;)isNaN(n=Object(r.a)(e(t[a],a,t)))||c.push(n);return Object(A.a)(c.sort(i.a),.5)}},function(t,e,n){"use strict";e.a=function(t){for(var e,n,i,r=t.length,A=-1,o=0;++A<r;)o+=t[A].length;for(n=new Array(o);--r>=0;)for(i=t[r],e=i.length;--e>=0;)n[--o]=i[e];return n}},function(t,e,n){"use strict";e.a=function(t,e){for(var n=e.length,i=new Array(n);n--;)i[n]=t[e[n]];return i}},function(t,e,n){"use strict";var i=n(97);e.a=function(t,e){if(n=t.length){var n,r,A=0,o=0,a=t[o];for(null==e&&(e=i.a);++A<n;)(e(r=t[A],a)<0||0!==e(a,a))&&(a=r,o=A);return 0===e(a,a)?o:void 0}}},function(t,e,n){"use strict";e.a=function(t,e,n){for(var i,r,A=(null==n?t.length:n)-(e=null==e?0:+e);A;)r=Math.random()*A--|0,i=t[A+e],t[A+e]=t[r+e],t[r+e]=i;return t}},function(t,e,n){"use strict";e.a=function(t,e){var n,i=t.length,r=-1,A=0;if(null==e)for(;++r<i;)(n=+t[r])&&(A+=n);else for(;++r<i;)(n=+e(t[r],r,t))&&(A+=n);return A}},function(t,e,n){"use strict";var i=n(541);e.a=function(){return Object(i.a)(arguments)}},function(t,e,n){"use strict";var i=n(1256);n.d(e,"d",function(){return i.d}),n.d(e,"c",function(){return i.c}),n.d(e,"a",function(){return i.a}),n.d(e,"b",function(){return i.b})},function(t,e,n){"use strict";function i(t){return"translate("+(t+.5)+",0)"}function r(t){return"translate(0,"+(t+.5)+")"}function A(t){return function(e){return+t(e)}}function o(t){var e=Math.max(0,t.bandwidth()-1)/2;return t.round()&&(e=Math.round(e)),function(n){return+t(n)+e}}function a(){return!this.__axis}function c(t,e){function n(n){var i=null==s?e.ticks?e.ticks.apply(e,c):e.domain():s,r=null==u?e.tickFormat?e.tickFormat.apply(e,c):h.a:u,M=Math.max(g,0)+N,D=e.range(),x=+D[0]+.5,B=+D[D.length-1]+.5,w=(e.bandwidth?o:A)(e.copy()),m=n.selection?n.selection():n,Q=m.selectAll(".domain").data([null]),v=m.selectAll(".tick").data(i,e).order(),j=v.exit(),L=v.enter().append("g").attr("class","tick"),S=v.select("line"),Y=v.select("text");Q=Q.merge(Q.enter().insert("path",".tick").attr("class","domain").attr("stroke","#000")),v=v.merge(L),S=S.merge(L.append("line").attr("stroke","#000").attr(p+"2",y*g)),Y=Y.merge(L.append("text").attr("fill","#000").attr(p,y*M).attr("dy",t===d?"0em":t===I?"0.71em":"0.32em")),n!==m&&(Q=Q.transition(n),v=v.transition(n),S=S.transition(n),Y=Y.transition(n),j=j.transition(n).attr("opacity",T).attr("transform",function(t){return isFinite(t=w(t))?C(t):this.getAttribute("transform")}),L.attr("opacity",T).attr("transform",function(t){var e=this.parentNode.__axis;return C(e&&isFinite(e=e(t))?e:w(t))})),j.remove(),Q.attr("d",t===E||t==f?"M"+y*l+","+x+"H0.5V"+B+"H"+y*l:"M"+x+","+y*l+"V0.5H"+B+"V"+y*l),v.attr("opacity",1).attr("transform",function(t){return C(w(t))}),S.attr(p+"2",y*g),Y.attr(p,y*M).text(r),m.filter(a).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===f?"start":t===E?"end":"middle"),m.each(function(){this.__axis=w})}var c=[],s=null,u=null,g=6,l=6,N=3,y=t===d||t===E?-1:1,p=t===E||t===f?"x":"y",C=t===d||t===I?i:r;return n.scale=function(t){return arguments.length?(e=t,n):e},n.ticks=function(){return c=M.a.call(arguments),n},n.tickArguments=function(t){return arguments.length?(c=null==t?[]:M.a.call(t),n):c.slice()},n.tickValues=function(t){return arguments.length?(s=null==t?null:M.a.call(t),n):s&&s.slice()},n.tickFormat=function(t){return arguments.length?(u=t,n):u},n.tickSize=function(t){return arguments.length?(g=l=+t,n):g},n.tickSizeInner=function(t){return arguments.length?(g=+t,n):g},n.tickSizeOuter=function(t){return arguments.length?(l=+t,n):l},n.tickPadding=function(t){return arguments.length?(N=+t,n):N},n}function s(t){return c(d,t)}function u(t){return c(f,t)}function g(t){return c(I,t)}function l(t){return c(E,t)}e.d=s,e.c=u,e.a=g,e.b=l;var M=n(1257),h=n(1258),d=1,f=2,I=3,E=4,T=1e-6},function(t,e,n){"use strict";n.d(e,"a",function(){return i});var i=Array.prototype.slice},function(t,e,n){"use strict";e.a=function(t){return t}},function(t,e,n){"use strict";var i=n(1260);n.d(e,"a",function(){return i.d}),n.d(e,"c",function(){return i.b}),n.d(e,"d",function(){return i.c}),n.d(e,"b",function(){return i.a})},function(t,e,n){"use strict";function i(t){return{type:t}}function r(){return!d.event.button}function A(){var t=this.ownerSVGElement||this;return[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function o(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function a(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function c(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function s(){return g(D)}function u(){return g(x)}function g(t){function e(e){var r=e.property("__brush",g).selectAll(".overlay").data([i("overlay")]);r.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",w.overlay).merge(r).each(function(){var t=o(this).extent;Object(d.select)(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])}),e.selectAll(".selection").data([i("selection")]).enter().append("rect").attr("class","selection").attr("cursor",w.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var A=e.selectAll(".handle").data(t.handles,function(t){return t.type});A.exit().remove(),A.enter().append("rect").attr("class",function(t){return"handle handle--"+t.type}).attr("cursor",function(t){return w[t.type]}),e.each(n).attr("fill","none").attr("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush touchstart.brush",u)}function n(){var t=Object(d.select)(this),e=o(this).selection;e?(t.selectAll(".selection").style("display",null).attr("x",e[0][0]).attr("y",e[0][1]).attr("width",e[1][0]-e[0][0]).attr("height",e[1][1]-e[0][1]),t.selectAll(".handle").style("display",null).attr("x",function(t){return"e"===t.type[t.type.length-1]?e[1][0]-b/2:e[0][0]-b/2}).attr("y",function(t){return"s"===t.type[0]?e[1][1]-b/2:e[0][1]-b/2}).attr("width",function(t){return"n"===t.type||"s"===t.type?e[1][0]-e[0][0]+b:b}).attr("height",function(t){return"e"===t.type||"w"===t.type?e[1][1]-e[0][1]+b:b})):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function c(t,e){return t.__brush.emitter||new s(t,e)}function s(t,e){this.that=t,this.args=e,this.state=t.__brush,this.active=0}function u(){function e(){var t=Object(d.mouse)(k);!q||U||F||(Math.abs(t[0]-tt[0])>Math.abs(t[1]-tt[1])?F=!0:U=!0),tt=t,z=!0,Object(T.a)(),i()}function i(){var t;switch(b=tt[0]-$[0],O=tt[1]-$[1],G){case y:case N:H&&(b=Math.max(W-u,Math.min(Z-I,b)),g=u+b,E=I+b),J&&(O=Math.max(_-l,Math.min(K-L,O)),h=l+O,Y=L+O);break;case p:H<0?(b=Math.max(W-u,Math.min(Z-u,b)),g=u+b,E=I):H>0&&(b=Math.max(W-I,Math.min(Z-I,b)),g=u,E=I+b),J<0?(O=Math.max(_-l,Math.min(K-l,O)),h=l+O,Y=L):J>0&&(O=Math.max(_-L,Math.min(K-L,O)),h=l,Y=L+O);break;case C:H&&(g=Math.max(W,Math.min(Z,u-b*H)),E=Math.max(W,Math.min(Z,I+b*H))),J&&(h=Math.max(_,Math.min(K,l-O*J)),Y=Math.max(_,Math.min(K,L+O*J)))}E<g&&(H*=-1,t=u,u=I,I=t,t=g,g=E,E=t,R in m&&it.attr("cursor",w[R=m[R]])),Y<h&&(J*=-1,t=l,l=L,L=t,t=h,h=Y,Y=t,R in Q&&it.attr("cursor",w[R=Q[R]])),P.selection&&(V=P.selection),U&&(g=V[0][0],E=V[1][0]),F&&(h=V[0][1],Y=V[1][1]),V[0][0]===g&&V[0][1]===h&&V[1][0]===E&&V[1][1]===Y||(P.selection=[[g,h],[E,Y]],n.call(k),et.brush())}function r(){if(Object(T.b)(),d.event.touches){if(d.event.touches.length)return;B&&clearTimeout(B),B=setTimeout(function(){B=null},500),nt.on("touchmove.brush touchend.brush touchcancel.brush",null)}else Object(M.b)(d.event.view,z),rt.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);nt.attr("pointer-events","all"),it.attr("cursor",w.overlay),P.selection&&(V=P.selection),a(V)&&(P.selection=null,n.call(k)),et.end()}function A(){switch(d.event.keyCode){case 16:q=H&&J;break;case 18:G===p&&(H&&(I=E-b*H,u=g+b*H),J&&(L=Y-O*J,l=h+O*J),G=C,i());break;case 32:G!==p&&G!==C||(H<0?I=E-b:H>0&&(u=g-b),J<0?L=Y-O:J>0&&(l=h-O),G=y,it.attr("cursor",w.selection),i());break;default:return}Object(T.a)()}function s(){switch(d.event.keyCode){case 16:q&&(U=F=q=!1,i());break;case 18:G===C&&(H<0?I=E:H>0&&(u=g),J<0?L=Y:J>0&&(l=h),G=p,i());break;case 32:G===y&&(d.event.altKey?(H&&(I=E-b*H,u=g+b*H),J&&(L=Y-O*J,l=h+O*J),G=C):(H<0?I=E:H>0&&(u=g),J<0?L=Y:J>0&&(l=h),G=p),it.attr("cursor",w[R]),i());break;default:return}Object(T.a)()}if(d.event.touches){if(d.event.changedTouches.length<d.event.touches.length)return Object(T.a)()}else if(B)return;if(S.apply(this,arguments)){var u,g,l,h,I,E,L,Y,b,O,z,U,F,k=this,R=d.event.target.__data__.type,G="selection"===(d.event.metaKey?R="overlay":R)?N:d.event.altKey?C:p,H=t===x?null:v[R],J=t===D?null:j[R],P=o(k),X=P.extent,V=P.selection,W=X[0][0],_=X[0][1],Z=X[1][0],K=X[1][1],q=H&&J&&d.event.shiftKey,$=Object(d.mouse)(k),tt=$,et=c(k,arguments).beforestart();"overlay"===R?P.selection=V=[[u=t===x?W:$[0],l=t===D?_:$[1]],[I=t===x?Z:u,L=t===D?K:l]]:(u=V[0][0],l=V[0][1],I=V[1][0],L=V[1][1]),g=u,h=l,E=I,Y=L;var nt=Object(d.select)(k).attr("pointer-events","none"),it=nt.selectAll(".overlay").attr("cursor",w[R]);if(d.event.touches)nt.on("touchmove.brush",e,!0).on("touchend.brush touchcancel.brush",r,!0);else{var rt=Object(d.select)(d.event.view).on("keydown.brush",A,!0).on("keyup.brush",s,!0).on("mousemove.brush",e,!0).on("mouseup.brush",r,!0);Object(M.a)(d.event.view)}Object(T.b)(),Object(f.interrupt)(k),n.call(k),et.start()}}function g(){var e=this.__brush||{selection:null};return e.extent=L.apply(this,arguments),e.dim=t,e}var B,L=A,S=r,Y=Object(l.dispatch)(e,"start","brush","end"),b=6;return e.move=function(e,i){e.selection?e.on("start.brush",function(){c(this,arguments).beforestart().start()}).on("interrupt.brush end.brush",function(){c(this,arguments).end()}).tween("brush",function(){function e(t){A.selection=1===t&&a(u)?null:g(t),n.call(r),o.brush()}var r=this,A=r.__brush,o=c(r,arguments),s=A.selection,u=t.input("function"==typeof i?i.apply(this,arguments):i,A.extent),g=Object(h.interpolate)(s,u);return s&&u?e:e(1)}):e.each(function(){var e=this,r=arguments,A=e.__brush,o=t.input("function"==typeof i?i.apply(e,r):i,A.extent),s=c(e,r).beforestart();Object(f.interrupt)(e),A.selection=null==o||a(o)?null:o,n.call(e),s.start().brush().end()})},s.prototype={beforestart:function(){return 1==++this.active&&(this.state.emitter=this,this.starting=!0),this},start:function(){return this.starting&&(this.starting=!1,this.emit("start")),this},brush:function(){return this.emit("brush"),this},end:function(){return 0==--this.active&&(delete this.state.emitter,this.emit("end")),this},emit:function(n){Object(d.customEvent)(new E.a(e,n,t.output(this.state.selection)),Y.apply,Y,[n,this.that,this.args])}},e.extent=function(t){return arguments.length?(L="function"==typeof t?t:Object(I.a)([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),e):L},e.filter=function(t){return arguments.length?(S="function"==typeof t?t:Object(I.a)(!!t),e):S},e.handleSize=function(t){return arguments.length?(b=+t,e):b},e.on=function(){var t=Y.on.apply(Y,arguments);return t===Y?e:t},e}e.a=c,e.b=s,e.c=u;var l=n(36),M=n(1261),h=n(33),d=n(14),f=n(544),I=n(1295),E=n(1296),T=n(1297),N={name:"drag"},y={name:"space"},p={name:"handle"},C={name:"center"},D={name:"x",handles:["e","w"].map(i),input:function(t,e){return t&&[[t[0],e[0][1]],[t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},x={name:"y",handles:["n","s"].map(i),input:function(t,e){return t&&[[e[0][0],t[0]],[e[1][0],t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},B={name:"xy",handles:["n","e","s","w","nw","ne","se","sw"].map(i),input:function(t){return t},output:function(t){return t}},w={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},m={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},Q={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},v={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},j={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};e.d=function(){return g(B)}},function(t,e,n){"use strict";var i=(n(1262),n(542));n.d(e,"a",function(){return i.a}),n.d(e,"b",function(){return i.b})},function(t,e,n){"use strict";n(36),n(14),n(542),n(543),n(1263),n(1264)},function(t,e,n){"use strict";e.a=function(t){return function(){return t}}},function(t,e,n){"use strict";function i(t,e,n,i,r,A,o,a,c,s){this.target=t,this.type=e,this.subject=n,this.identifier=i,this.active=r,this.x=A,this.y=o,this.dx=a,this.dy=c,this._=s}e.a=i,i.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t}},function(t,e,n){"use strict";var i=n(14),r=n(1266),A=n(1267);i.selection.prototype.interrupt=r.a,i.selection.prototype.transition=A.a},function(t,e,n){"use strict";var i=n(545);e.a=function(t){return this.each(function(){Object(i.a)(this,t)})}},function(t,e,n){"use strict";function i(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))return c.time=Object(a.a)(),c;return n}var r=n(63),A=n(42),o=n(293),a=n(273),c={time:null,delay:0,duration:250,ease:o.o};e.a=function(t){var e,n;t instanceof r.a?(e=t._id,t=t._name):(e=Object(r.c)(),(n=c).time=Object(a.a)(),t=null==t?null:t+"");for(var o=this._groups,s=o.length,u=0;u<s;++u)for(var g,l=o[u],M=l.length,h=0;h<M;++h)(g=l[h])&&Object(A.e)(g,t,e,h,l,n||i(g,e));return new r.a(o,this._parents,t,e)}},function(t,e,n){"use strict";function i(t){return function(){this.removeAttribute(t)}}function r(t){return function(){this.removeAttributeNS(t.space,t.local)}}function A(t,e,n){var i,r;return function(){var A=this.getAttribute(t);return A===n?null:A===i?r:r=e(i=A,n)}}function o(t,e,n){var i,r;return function(){var A=this.getAttributeNS(t.space,t.local);return A===n?null:A===i?r:r=e(i=A,n)}}function a(t,e,n){var i,r,A;return function(){var o,a=n(this);return null==a?void this.removeAttribute(t):(o=this.getAttribute(t),o===a?null:o===i&&a===r?A:A=e(i=o,r=a))}}function c(t,e,n){var i,r,A;return function(){var o,a=n(this);return null==a?void this.removeAttributeNS(t.space,t.local):(o=this.getAttributeNS(t.space,t.local),o===a?null:o===i&&a===r?A:A=e(i=o,r=a))}}var s=n(33),u=n(14),g=n(195),l=n(546);e.a=function(t,e){var n=Object(u.namespace)(t),M="transform"===n?s.interpolateTransformSvg:l.a;return this.attrTween(t,"function"==typeof e?(n.local?c:a)(n,M,Object(g.b)(this,"attr."+t,e)):null==e?(n.local?r:i)(n):(n.local?o:A)(n,M,e+""))}},function(t,e,n){"use strict";function i(t,e){function n(){var n=this,i=e.apply(n,arguments);return i&&function(e){n.setAttributeNS(t.space,t.local,i(e))}}return n._value=e,n}function r(t,e){function n(){var n=this,i=e.apply(n,arguments);return i&&function(e){n.setAttribute(t,i(e))}}return n._value=e,n}var A=n(14);e.a=function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;var o=Object(A.namespace)(t);return this.tween(n,(o.local?i:r)(o,e))}},function(t,e,n){"use strict";function i(t,e){return function(){Object(A.g)(this,t).delay=+e.apply(this,arguments)}}function r(t,e){return e=+e,function(){Object(A.g)(this,t).delay=e}}var A=n(42);e.a=function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?i:r)(e,t)):Object(A.f)(this.node(),e).delay}},function(t,e,n){"use strict";function i(t,e){return function(){Object(A.h)(this,t).duration=+e.apply(this,arguments)}}function r(t,e){return e=+e,function(){Object(A.h)(this,t).duration=e}}var A=n(42);e.a=function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?i:r)(e,t)):Object(A.f)(this.node(),e).duration}},function(t,e,n){"use strict";function i(t,e){if("function"!=typeof e)throw new Error;return function(){Object(r.h)(this,t).ease=e}}var r=n(42);e.a=function(t){var e=this._id;return arguments.length?this.each(i(e,t)):Object(r.f)(this.node(),e).ease}},function(t,e,n){"use strict";var i=n(14),r=n(63);e.a=function(t){"function"!=typeof t&&(t=Object(i.matcher)(t));for(var e=this._groups,n=e.length,A=new Array(n),o=0;o<n;++o)for(var a,c=e[o],s=c.length,u=A[o]=[],g=0;g<s;++g)(a=c[g])&&t.call(a,a.__data__,g,c)&&u.push(a);return new r.a(A,this._parents,this._name,this._id)}},function(t,e,n){"use strict";var i=n(63);e.a=function(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,A=n.length,o=Math.min(r,A),a=new Array(r),c=0;c<o;++c)for(var s,u=e[c],g=n[c],l=u.length,M=a[c]=new Array(l),h=0;h<l;++h)(s=u[h]||g[h])&&(M[h]=s);for(;c<r;++c)a[c]=e[c];return new i.a(a,this._parents,this._name,this._id)}},function(t,e,n){"use strict";function i(t){return(t+"").trim().split(/^|\s+/).every(function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t})}function r(t,e,n){var r,o,a=i(e)?A.g:A.h;return function(){var i=a(this,t),A=i.on;A!==r&&(o=(r=A).copy()).on(e,n),i.on=o}}var A=n(42);e.a=function(t,e){var n=this._id;return arguments.length<2?Object(A.f)(this.node(),n).on.on(t):this.each(r(n,t,e))}},function(t,e,n){"use strict";function i(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}e.a=function(){return this.on("end.remove",i(this._id))}},function(t,e,n){"use strict";var i=n(14),r=n(63),A=n(42);e.a=function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=Object(i.selector)(t));for(var o=this._groups,a=o.length,c=new Array(a),s=0;s<a;++s)for(var u,g,l=o[s],M=l.length,h=c[s]=new Array(M),d=0;d<M;++d)(u=l[d])&&(g=t.call(u,u.__data__,d,l))&&("__data__"in u&&(g.__data__=u.__data__),h[d]=g,Object(A.e)(h[d],e,n,d,h,Object(A.f)(u,n)));return new r.a(c,this._parents,e,n)}},function(t,e,n){"use strict";var i=n(14),r=n(63),A=n(42);e.a=function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=Object(i.selectorAll)(t));for(var o=this._groups,a=o.length,c=[],s=[],u=0;u<a;++u)for(var g,l=o[u],M=l.length,h=0;h<M;++h)if(g=l[h]){for(var d,f=t.call(g,g.__data__,h,l),I=Object(A.f)(g,n),E=0,T=f.length;E<T;++E)(d=f[E])&&Object(A.e)(d,e,n,E,f,I);c.push(f),s.push(g)}return new r.a(c,s,e,n)}},function(t,e,n){"use strict";var i=n(14),r=i.selection.prototype.constructor;e.a=function(){return new r(this._groups,this._parents)}},function(t,e,n){"use strict";function i(t,e){var n,i,r;return function(){var A=Object(c.style)(this,t),o=(this.style.removeProperty(t),Object(c.style)(this,t));return A===o?null:A===n&&o===i?r:r=e(n=A,i=o)}}function r(t){return function(){this.style.removeProperty(t)}}function A(t,e,n){var i,r;return function(){var A=Object(c.style)(this,t);return A===n?null:A===i?r:r=e(i=A,n)}}function o(t,e,n){var i,r,A;return function(){var o=Object(c.style)(this,t),a=n(this);return null==a&&(this.style.removeProperty(t),a=Object(c.style)(this,t)),o===a?null:o===i&&a===r?A:A=e(i=o,r=a)}}var a=n(33),c=n(14),s=n(195),u=n(546);e.a=function(t,e,n){var c="transform"==(t+="")?a.interpolateTransformCss:u.a;return null==e?this.styleTween(t,i(t,c)).on("end.style."+t,r(t)):this.styleTween(t,"function"==typeof e?o(t,c,Object(s.b)(this,"style."+t,e)):A(t,c,e+""),n)}},function(t,e,n){"use strict";function i(t,e,n){function i(){var i=this,r=e.apply(i,arguments);return r&&function(e){i.style.setProperty(t,r(e),n)}}return i._value=e,i}e.a=function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw new Error;return this.tween(r,i(t,e,null==n?"":n))}},function(t,e,n){"use strict";function i(t){return function(){this.textContent=t}}function r(t){return function(){var e=t(this);this.textContent=null==e?"":e}}var A=n(195);e.a=function(t){return this.tween("text","function"==typeof t?r(Object(A.b)(this,"text",t)):i(null==t?"":t+""))}},function(t,e,n){"use strict";var i=n(63),r=n(42);e.a=function(){for(var t=this._name,e=this._id,n=Object(i.c)(),A=this._groups,o=A.length,a=0;a<o;++a)for(var c,s=A[a],u=s.length,g=0;g<u;++g)if(c=s[g]){var l=Object(r.f)(c,e);Object(r.e)(c,t,n,g,s,{time:l.time+l.delay+l.duration,delay:0,duration:l.duration,ease:l.ease})}return new i.a(A,this._parents,t,n)}},function(t,e,n){"use strict";function i(t){return+t}e.a=i},function(t,e,n){"use strict";function i(t){return t*t}function r(t){return t*(2-t)}function A(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}e.a=i,e.c=r,e.b=A},function(t,e,n){"use strict";function i(t){return t*t*t}function r(t){return--t*t*t+1}function A(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}e.a=i,e.c=r,e.b=A},function(t,e,n){"use strict";n.d(e,"a",function(){return i}),n.d(e,"c",function(){return r}),n.d(e,"b",function(){return A});var i=function t(e){function n(t){return Math.pow(t,e)}return e=+e,n.exponent=t,n}(3),r=function t(e){function n(t){return 1-Math.pow(1-t,e)}return e=+e,n.exponent=t,n}(3),A=function t(e){function n(t){return((t*=2)<=1?Math.pow(t,e):2-Math.pow(2-t,e))/2}return e=+e,n.exponent=t,n}(3)},function(t,e,n){"use strict";function i(t){return 1-Math.cos(t*a)}function r(t){return Math.sin(t*a)}function A(t){return(1-Math.cos(o*t))/2}e.a=i,e.c=r,e.b=A;var o=Math.PI,a=o/2},function(t,e,n){"use strict";function i(t){return Math.pow(2,10*t-10)}function r(t){return 1-Math.pow(2,-10*t)}function A(t){return((t*=2)<=1?Math.pow(2,10*t-10):2-Math.pow(2,10-10*t))/2}e.a=i,e.c=r,e.b=A},function(t,e,n){"use strict";function i(t){return 1-Math.sqrt(1-t*t)}function r(t){return Math.sqrt(1- --t*t)}function A(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}e.a=i,e.c=r,e.b=A},function(t,e,n){"use strict";function i(t){return 1-r(1-t)}function r(t){return(t=+t)<o?d*t*t:t<c?d*(t-=a)*t+s:t<g?d*(t-=u)*t+l:d*(t-=M)*t+h}function A(t){return((t*=2)<=1?1-r(1-t):r(t-1)+1)/2}e.a=i,e.c=r,e.b=A;var o=4/11,a=6/11,c=8/11,s=.75,u=9/11,g=10/11,l=.9375,M=21/22,h=63/64,d=1/o/o},function(t,e,n){"use strict";n.d(e,"a",function(){return i}),n.d(e,"c",function(){return r}),n.d(e,"b",function(){return A});var i=function t(e){function n(t){return t*t*((e+1)*t-e)}return e=+e,n.overshoot=t,n}(1.70158),r=function t(e){function n(t){return--t*t*((e+1)*t+e)+1}return e=+e,n.overshoot=t,n}(1.70158),A=function t(e){function n(t){return((t*=2)<1?t*t*((e+1)*t-e):(t-=2)*t*((e+1)*t+e)+2)/2}return e=+e,n.overshoot=t,n}(1.70158)},function(t,e,n){"use strict";n.d(e,"a",function(){return r}),n.d(e,"c",function(){return A}),n.d(e,"b",function(){return o});var i=2*Math.PI,r=function t(e,n){function r(t){return e*Math.pow(2,10*--t)*Math.sin((A-t)/n)}var A=Math.asin(1/(e=Math.max(1,e)))*(n/=i);return r.amplitude=function(e){return t(e,n*i)},r.period=function(n){return t(e,n)},r}(1,.3),A=function t(e,n){function r(t){return 1-e*Math.pow(2,-10*(t=+t))*Math.sin((t+A)/n)}var A=Math.asin(1/(e=Math.max(1,e)))*(n/=i);return r.amplitude=function(e){return t(e,n*i)},r.period=function(n){return t(e,n)},r}(1,.3),o=function t(e,n){function r(t){return((t=2*t-1)<0?e*Math.pow(2,10*t)*Math.sin((A-t)/n):2-e*Math.pow(2,-10*t)*Math.sin((A+t)/n))/2}var A=Math.asin(1/(e=Math.max(1,e)))*(n/=i);return r.amplitude=function(e){return t(e,n*i)},r.period=function(n){return t(e,n)},r}(1,.3)},function(t,e,n){"use strict";var i=n(63),r=n(42),A=[null];e.a=function(t,e){var n,o,a=t.__transition;if(a){e=null==e?null:e+"";for(o in a)if((n=a[o]).state>r.c&&n.name===e)return new i.a([[t]],A,e,+o)}return null}},function(t,e,n){"use strict";e.a=function(t){return function(){return t}}},function(t,e,n){"use strict";e.a=function(t,e,n){this.target=t,this.type=e,this.selection=n}},function(t,e,n){"use strict";function i(){r.event.stopImmediatePropagation()}e.b=i;var r=n(14);e.a=function(){r.event.preventDefault(),r.event.stopImmediatePropagation()}},function(t,e,n){"use strict";var i=n(1299);n.d(e,"a",function(){return i.a});var r=n(1300);n.d(e,"b",function(){return r.a})},function(t,e,n){"use strict";function i(t){return function(e,n){return t(e.source.value+e.target.value,n.source.value+n.target.value)}}var r=n(10),A=n(547);e.a=function(){function t(t){var i,c,s,u,g,l,M=t.length,h=[],d=Object(r.range)(M),f=[],I=[],E=I.groups=new Array(M),T=new Array(M*M);for(i=0,g=-1;++g<M;){for(c=0,l=-1;++l<M;)c+=t[g][l];h.push(c),f.push(Object(r.range)(M)),i+=c}for(n&&d.sort(function(t,e){return n(h[t],h[e])}),o&&f.forEach(function(e,n){e.sort(function(e,i){return o(t[n][e],t[n][i])})}),i=Object(A.c)(0,A.e-e*M)/i,u=i?e:A.e/M,c=0,g=-1;++g<M;){for(s=c,l=-1;++l<M;){var N=d[g],y=f[N][l],p=t[N][y],C=c,D=c+=p*i;T[y*M+N]={index:N,subindex:y,startAngle:C,endAngle:D,value:p}}E[N]={index:N,startAngle:s,endAngle:c,value:h[N]},c+=u}for(g=-1;++g<M;)for(l=g-1;++l<M;){var x=T[l*M+g],B=T[g*M+l];(x.value||B.value)&&I.push(x.value<B.value?{source:B,target:x}:{source:x,target:B})}return a?I.sort(a):I}var e=0,n=null,o=null,a=null;return t.padAngle=function(n){return arguments.length?(e=Object(A.c)(0,n),t):e},t.sortGroups=function(e){return arguments.length?(n=e,t):n},t.sortSubgroups=function(e){return arguments.length?(o=e,t):o},t.sortChords=function(e){return arguments.length?(null==e?a=null:(a=i(e))._=e,t):a&&a._},t}},function(t,e,n){"use strict";function i(t){return t.source}function r(t){return t.target}function A(t){return t.radius}function o(t){return t.startAngle}function a(t){return t.endAngle}var c=n(1301),s=n(1302),u=n(547),g=n(40);e.a=function(){function t(){var t,i=c.a.call(arguments),r=e.apply(this,i),A=n.apply(this,i),o=+l.apply(this,(i[0]=r,i)),a=M.apply(this,i)-u.b,s=h.apply(this,i)-u.b,f=o*Object(u.a)(a),I=o*Object(u.d)(a),E=+l.apply(this,(i[0]=A,i)),T=M.apply(this,i)-u.b,N=h.apply(this,i)-u.b;if(d||(d=t=Object(g.a)()),d.moveTo(f,I),d.arc(0,0,o,a,s),a===T&&s===N||(d.quadraticCurveTo(0,0,E*Object(u.a)(T),E*Object(u.d)(T)),d.arc(0,0,E,T,N)),d.quadraticCurveTo(0,0,f,I),d.closePath(),t)return d=null,t+""||null}var e=i,n=r,l=A,M=o,h=a,d=null;return t.radius=function(e){return arguments.length?(l="function"==typeof e?e:Object(s.a)(+e),t):l},t.startAngle=function(e){return arguments.length?(M="function"==typeof e?e:Object(s.a)(+e),t):M},t.endAngle=function(e){return arguments.length?(h="function"==typeof e?e:Object(s.a)(+e),t):h},t.source=function(n){return arguments.length?(e=n,t):e},t.target=function(e){return arguments.length?(n=e,t):n},t.context=function(e){return arguments.length?(d=null==e?null:e,t):d},t}},function(t,e,n){"use strict";n.d(e,"a",function(){return i});var i=Array.prototype.slice},function(t,e,n){"use strict";e.a=function(t){return function(){return t}}},function(t,e,n){"use strict";function i(){return!c.e.button}function r(){return this.parentNode}function A(t){return null==t?{x:c.e.x,y:c.e.y}:t}function o(){return"ontouchstart"in this}var a=n(36),c=n(27),s=n(555),u=n(556),g=n(1338),l=n(1339);e.a=function(){function t(t){t.on("mousedown.drag",e).filter(x).on("touchstart.drag",h).on("touchmove.drag",d).on("touchend.drag touchcancel.drag",f).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function e(){if(!y&&p.apply(this,arguments)){var t=I("mouse",C.apply(this,arguments),c.h,this,arguments);t&&(Object(c.k)(c.e.view).on("mousemove.drag",n,!0).on("mouseup.drag",M,!0),Object(s.a)(c.e.view),Object(u.b)(),N=!1,E=c.e.clientX,T=c.e.clientY,t("start"))}}function n(){if(Object(u.a)(),!N){var t=c.e.clientX-E,e=c.e.clientY-T;N=t*t+e*e>Q}B.mouse("drag")}function M(){Object(c.k)(c.e.view).on("mousemove.drag mouseup.drag",null),Object(s.b)(c.e.view,N),Object(u.a)(),B.mouse("end")}function h(){if(p.apply(this,arguments)){var t,e,n=c.e.changedTouches,i=C.apply(this,arguments),r=n.length;for(t=0;t<r;++t)(e=I(n[t].identifier,i,c.q,this,arguments))&&(Object(u.b)(),e("start"))}}function d(){var t,e,n=c.e.changedTouches,i=n.length;for(t=0;t<i;++t)(e=B[n[t].identifier])&&(Object(u.a)(),e("drag"))}function f(){var t,e,n=c.e.changedTouches,i=n.length;for(y&&clearTimeout(y),y=setTimeout(function(){y=null},500),t=0;t<i;++t)(e=B[n[t].identifier])&&(Object(u.b)(),e("end"))}function I(e,n,i,r,A){var o,a,s,u=i(n,e),g=w.copy();if(Object(c.d)(new l.a(t,"beforestart",o,e,m,u[0],u[1],0,0,g),function(){return null!=(c.e.subject=o=D.apply(r,A))&&(a=o.x-u[0]||0,s=o.y-u[1]||0,!0)}))return function M(h){var d,f=u;switch(h){case"start":B[e]=M,d=m++;break;case"end":delete B[e],--m;case"drag":u=i(n,e),d=m}Object(c.d)(new l.a(t,h,o,e,d,u[0]+a,u[1]+s,u[0]-f[0],u[1]-f[1],g),g.apply,g,[h,r,A])}}var E,T,N,y,p=i,C=r,D=A,x=o,B={},w=Object(a.dispatch)("start","drag","end"),m=0,Q=0;return t.filter=function(e){return arguments.length?(p="function"==typeof e?e:Object(g.a)(!!e),t):p},t.container=function(e){return arguments.length?(C="function"==typeof e?e:Object(g.a)(e),t):C},t.subject=function(e){return arguments.length?(D="function"==typeof e?e:Object(g.a)(e),t):D},t.touchable=function(e){return arguments.length?(x="function"==typeof e?e:Object(g.a)(!!e),t):x},t.on=function(){var e=w.on.apply(w,arguments);return e===w?t:e},t.clickDistance=function(e){return arguments.length?(Q=(e=+e)*e,t):Math.sqrt(Q)},t}},function(t,e,n){"use strict";var i=n(196),r=n(549);e.a=function(t){return Object(r.a)(Object(i.a)(t).call(document.documentElement))}},function(t,e,n){"use strict";var i=n(43),r=n(296);e.a=function(t){"function"!=typeof t&&(t=Object(r.a)(t));for(var e=this._groups,n=e.length,A=new Array(n),o=0;o<n;++o)for(var a,c,s=e[o],u=s.length,g=A[o]=new Array(u),l=0;l<u;++l)(a=s[l])&&(c=t.call(a,a.__data__,l,s))&&("__data__"in a&&(c.__data__=a.__data__),g[l]=c);return new i.a(A,this._parents)}},function(t,e,n){"use strict";var i=n(43),r=n(550);e.a=function(t){"function"!=typeof t&&(t=Object(r.a)(t));for(var e=this._groups,n=e.length,A=[],o=[],a=0;a<n;++a)for(var c,s=e[a],u=s.length,g=0;g<u;++g)(c=s[g])&&(A.push(t.call(c,c.__data__,g,s)),o.push(c));return new i.a(A,o)}},function(t,e,n){"use strict";var i=n(43),r=n(551);e.a=function(t){"function"!=typeof t&&(t=Object(r.a)(t));for(var e=this._groups,n=e.length,A=new Array(n),o=0;o<n;++o)for(var a,c=e[o],s=c.length,u=A[o]=[],g=0;g<s;++g)(a=c[g])&&t.call(a,a.__data__,g,c)&&u.push(a);return new i.a(A,this._parents)}},function(t,e,n){"use strict";function i(t,e,n,i,r,A){for(var a,c=0,s=e.length,u=A.length;c<u;++c)(a=e[c])?(a.__data__=A[c],i[c]=a):n[c]=new o.a(t,A[c]);for(;c<s;++c)(a=e[c])&&(r[c]=a)}function r(t,e,n,i,r,A,a){var s,u,g,l={},M=e.length,h=A.length,d=new Array(M);for(s=0;s<M;++s)(u=e[s])&&(d[s]=g=c+a.call(u,u.__data__,s,e),g in l?r[s]=u:l[g]=u);for(s=0;s<h;++s)g=c+a.call(t,A[s],s,A),(u=l[g])?(i[s]=u,u.__data__=A[s],l[g]=null):n[s]=new o.a(t,A[s]);for(s=0;s<M;++s)(u=e[s])&&l[d[s]]===u&&(r[s]=u)}var A=n(43),o=n(552),a=n(1309),c="$";e.a=function(t,e){if(!t)return I=new Array(this.size()),M=-1,this.each(function(t){I[++M]=t}),I;var n=e?r:i,o=this._parents,c=this._groups;"function"!=typeof t&&(t=Object(a.a)(t));for(var s=c.length,u=new Array(s),g=new Array(s),l=new Array(s),M=0;M<s;++M){var h=o[M],d=c[M],f=d.length,I=t.call(h,h&&h.__data__,M,o),E=I.length,T=g[M]=new Array(E),N=u[M]=new Array(E);n(h,d,T,N,l[M]=new Array(f),I,e);for(var y,p,C=0,D=0;C<E;++C)if(y=T[C]){for(C>=D&&(D=C+1);!(p=N[D])&&++D<E;);y._next=p||null}}return u=new A.a(u,o),u._enter=g,u._exit=l,u}},function(t,e,n){"use strict";e.a=function(t){return function(){return t}}},function(t,e,n){"use strict";var i=n(553),r=n(43);e.a=function(){return new r.a(this._exit||this._groups.map(i.a),this._parents)}},function(t,e,n){"use strict";var i=n(43);e.a=function(t){for(var e=this._groups,n=t._groups,r=e.length,A=n.length,o=Math.min(r,A),a=new Array(r),c=0;c<o;++c)for(var s,u=e[c],g=n[c],l=u.length,M=a[c]=new Array(l),h=0;h<l;++h)(s=u[h]||g[h])&&(M[h]=s);for(;c<r;++c)a[c]=e[c];return new i.a(a,this._parents)}},function(t,e,n){"use strict";e.a=function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var i,r=t[e],A=r.length-1,o=r[A];--A>=0;)(i=r[A])&&(o&&o!==i.nextSibling&&o.parentNode.insertBefore(i,o),o=i);return this}},function(t,e,n){"use strict";function i(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}var r=n(43);e.a=function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=i);for(var n=this._groups,A=n.length,o=new Array(A),a=0;a<A;++a){for(var c,s=n[a],u=s.length,g=o[a]=new Array(u),l=0;l<u;++l)(c=s[l])&&(g[l]=c);g.sort(e)}return new r.a(o,this._parents).order()}},function(t,e,n){"use strict";e.a=function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}},function(t,e,n){"use strict";e.a=function(){var t=new Array(this.size()),e=-1;return this.each(function(){t[++e]=this}),t}},function(t,e,n){"use strict";e.a=function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var i=t[e],r=0,A=i.length;r<A;++r){var o=i[r];if(o)return o}return null}},function(t,e,n){"use strict";e.a=function(){var t=0;return this.each(function(){++t}),t}},function(t,e,n){"use strict";e.a=function(){return!this.node()}},function(t,e,n){"use strict";e.a=function(t){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var r,A=e[n],o=0,a=A.length;o<a;++o)(r=A[o])&&t.call(r,r.__data__,o,A);return this}},function(t,e,n){"use strict";function i(t){return function(){this.removeAttribute(t)}}function r(t){return function(){this.removeAttributeNS(t.space,t.local)}}function A(t,e){return function(){this.setAttribute(t,e)}}function o(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function a(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function c(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}var s=n(294);e.a=function(t,e){var n=Object(s.a)(t);if(arguments.length<2){var u=this.node();return n.local?u.getAttributeNS(n.space,n.local):u.getAttribute(n)}return this.each((null==e?n.local?r:i:"function"==typeof e?n.local?c:a:n.local?o:A)(n,e))}},function(t,e,n){"use strict";function i(t){return function(){delete this[t]}}function r(t,e){return function(){this[t]=e}}function A(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}e.a=function(t,e){return arguments.length>1?this.each((null==e?i:"function"==typeof e?A:r)(t,e)):this.node()[t]}},function(t,e,n){"use strict";function i(t){return t.trim().split(/^|\s+/)}function r(t){return t.classList||new A(t)}function A(t){this._node=t,this._names=i(t.getAttribute("class")||"")}function o(t,e){for(var n=r(t),i=-1,A=e.length;++i<A;)n.add(e[i])}function a(t,e){for(var n=r(t),i=-1,A=e.length;++i<A;)n.remove(e[i])}function c(t){return function(){o(this,t)}}function s(t){return function(){a(this,t)}}function u(t,e){return function(){(e.apply(this,arguments)?o:a)(this,t)}}A.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}},e.a=function(t,e){var n=i(t+"");if(arguments.length<2){for(var A=r(this.node()),o=-1,a=n.length;++o<a;)if(!A.contains(n[o]))return!1;return!0}return this.each(("function"==typeof e?u:e?c:s)(n,e))}},function(t,e,n){"use strict";function i(){this.textContent=""}function r(t){return function(){this.textContent=t}}function A(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}e.a=function(t){return arguments.length?this.each(null==t?i:("function"==typeof t?A:r)(t)):this.node().textContent}},function(t,e,n){"use strict";function i(){this.innerHTML=""}function r(t){return function(){this.innerHTML=t}}function A(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}e.a=function(t){return arguments.length?this.each(null==t?i:("function"==typeof t?A:r)(t)):this.node().innerHTML}},function(t,e,n){"use strict";function i(){this.nextSibling&&this.parentNode.appendChild(this)}e.a=function(){return this.each(i)}},function(t,e,n){"use strict";function i(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}e.a=function(){return this.each(i)}},function(t,e,n){"use strict";var i=n(196);e.a=function(t){var e="function"==typeof t?t:Object(i.a)(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}},function(t,e,n){"use strict";function i(){return null}var r=n(196),A=n(296);e.a=function(t,e){var n="function"==typeof t?t:Object(r.a)(t),o=null==e?i:"function"==typeof e?e:Object(A.a)(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),o.apply(this,arguments)||null)})}},function(t,e,n){"use strict";function i(){var t=this.parentNode;t&&t.removeChild(this)}e.a=function(){return this.each(i)}},function(t,e,n){"use strict";function i(){return this.parentNode.insertBefore(this.cloneNode(!1),this.nextSibling)}function r(){return this.parentNode.insertBefore(this.cloneNode(!0),this.nextSibling)}e.a=function(t){return this.select(t?r:i)}},function(t,e,n){"use strict";e.a=function(t){return arguments.length?this.property("__data__",t):this.node().__data__}},function(t,e,n){"use strict";function i(t,e,n){var i=Object(o.a)(t),r=i.CustomEvent;"function"==typeof r?r=new r(e,n):(r=i.document.createEvent("Event"),n?(r.initEvent(e,n.bubbles,n.cancelable),r.detail=n.detail):r.initEvent(e,!1,!1)),t.dispatchEvent(r)}function r(t,e){return function(){return i(this,t,e)}}function A(t,e){return function(){return i(this,t,e.apply(this,arguments))}}var o=n(297);e.a=function(t,e){return this.each(("function"==typeof e?A:r)(t,e))}},function(t,e,n){"use strict";function i(){return new r}function r(){this._="@"+(++A).toString(36)}e.a=i;var A=0;r.prototype=i.prototype={constructor:r,get:function(t){for(var e=this._;!(e in t);)if(!(t=t.parentNode))return;return t[e]},set:function(t,e){return t[this._]=e},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}}},function(t,e,n){"use strict";var i=n(299),r=n(197);e.a=function(t){var e=Object(i.a)();return e.changedTouches&&(e=e.changedTouches[0]),Object(r.a)(t,e)}},function(t,e,n){"use strict";var i=n(43);e.a=function(t){return"string"==typeof t?new i.a([document.querySelectorAll(t)],[document.documentElement]):new i.a([null==t?[]:t],i.c)}},function(t,e,n){"use strict";var i=n(299),r=n(197);e.a=function(t,e,n){arguments.length<3&&(n=e,e=Object(i.a)().changedTouches);for(var A,o=0,a=e?e.length:0;o<a;++o)if((A=e[o]).identifier===n)return Object(r.a)(t,A);return null}},function(t,e,n){"use strict";var i=n(299),r=n(197);e.a=function(t,e){null==e&&(e=Object(i.a)().touches);for(var n=0,A=e?e.length:0,o=new Array(A);n<A;++n)o[n]=Object(r.a)(t,e[n]);return o}},function(t,e,n){"use strict";e.a=function(t){return function(){return t}}},function(t,e,n){"use strict";function i(t,e,n,i,r,A,o,a,c,s){this.target=t,this.type=e,this.subject=n,this.identifier=i,this.active=r,this.x=A,this.y=o,this.dx=a,this.dy=c,this._=s}e.a=i,i.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t}},function(t,e,n){"use strict";n.d(e,"c",function(){return A}),n.d(e,"d",function(){return o}),n.d(e,"a",function(){return a}),n.d(e,"b",function(){return c});var i=n(301),r=Object(i.a)(","),A=r.parse,o=r.parseRows,a=r.format,c=r.formatRows},function(t,e,n){"use strict";n.d(e,"c",function(){return A}),n.d(e,"d",function(){return o}),n.d(e,"a",function(){return a}),n.d(e,"b",function(){return c});var i=n(301),r=Object(i.a)("\t"),A=r.parse,o=r.parseRows,a=r.format,c=r.formatRows},function(t,e,n){"use strict";var i=n(1343);n.d(e,"a",function(){return i.a});var r=n(1344);n.d(e,"b",function(){return r.a});var A=n(1345);n.d(e,"c",function(){return A.a});var o=n(1346);n.d(e,"d",function(){return o.a});var a=n(1349);n.d(e,"e",function(){return a.a});var c=n(557);n.d(e,"f",function(){return c.a});var s=n(1350);n.d(e,"g",function(){return s.a});var u=n(1351);n.d(e,"h",function(){return u.a})},function(t,e,n){"use strict";e.a=function(t,e){function n(){var n,r,A=i.length,o=0,a=0;for(n=0;n<A;++n)r=i[n],o+=r.x,a+=r.y;for(o=o/A-t,a=a/A-e,n=0;n<A;++n)r=i[n],r.x-=o,r.y-=a}var i;return null==t&&(t=0),null==e&&(e=0),n.initialize=function(t){i=t},n.x=function(e){return arguments.length?(t=+e,n):t},n.y=function(t){return arguments.length?(e=+t,n):e},n}},function(t,e,n){"use strict";function i(t){return t.x+t.vx}function r(t){return t.y+t.vy}var A=n(98),o=n(302),a=n(130);e.a=function(t){function e(){function t(t,e,n,i,r){var A=t.data,a=t.r,s=d+a;{if(!A)return e>M+s||i<M-s||n>h+s||r<h-s;if(A.index>c.index){var u=M-A.x-A.vx,l=h-A.y-A.vy,I=u*u+l*l;I<s*s&&(0===u&&(u=Object(o.a)(),I+=u*u),0===l&&(l=Object(o.a)(),I+=l*l),I=(s-(I=Math.sqrt(I)))/I*g,c.vx+=(u*=I)*(s=(a*=a)/(f+a)),c.vy+=(l*=I)*s,A.vx-=u*(s=1-s),A.vy-=l*s)}}}for(var e,A,c,M,h,d,f,I=s.length,E=0;E<l;++E)for(A=Object(a.a)(s,i,r).visitAfter(n),e=0;e<I;++e)c=s[e],d=u[c.index],f=d*d,M=c.x+c.vx,h=c.y+c.vy,A.visit(t)}function n(t){if(t.data)return t.r=u[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function c(){if(s){var e,n,i=s.length;for(u=new Array(i),e=0;e<i;++e)n=s[e],u[n.index]=+t(n,e,s)}}var s,u,g=1,l=1;return"function"!=typeof t&&(t=Object(A.a)(null==t?1:+t)),e.initialize=function(t){s=t,c()},e.iterations=function(t){return arguments.length?(l=+t,e):l},e.strength=function(t){return arguments.length?(g=+t,e):g},e.radius=function(n){return arguments.length?(t="function"==typeof n?n:Object(A.a)(+n),c(),e):t},e}},function(t,e,n){"use strict";function i(t){return t.index}function r(t,e){var n=t.get(e);if(!n)throw new Error("missing: "+e);return n}var A=n(98),o=n(302),a=n(45);e.a=function(t){function e(t){return 1/Math.min(h[t.source.index],h[t.target.index])}function n(e){for(var n=0,i=t.length;n<T;++n)for(var r,A,a,c,s,u,M,h=0;h<i;++h)r=t[h],A=r.source,a=r.target,c=a.x+a.vx-A.x-A.vx||Object(o.a)(),s=a.y+a.vy-A.y-A.vy||Object(o.a)(),u=Math.sqrt(c*c+s*s),u=(u-l[h])/u*e*g[h],c*=u,s*=u,a.vx-=c*(M=d[h]),a.vy-=s*M,A.vx+=c*(M=1-M),A.vy+=s*M}function c(){if(M){var e,n,i=M.length,A=t.length,o=Object(a.map)(M,f);for(e=0,h=new Array(i);e<A;++e)n=t[e],n.index=e,"object"!=typeof n.source&&(n.source=r(o,n.source)),"object"!=typeof n.target&&(n.target=r(o,n.target)),h[n.source.index]=(h[n.source.index]||0)+1,h[n.target.index]=(h[n.target.index]||0)+1;for(e=0,d=new Array(A);e<A;++e)n=t[e],d[e]=h[n.source.index]/(h[n.source.index]+h[n.target.index]);g=new Array(A),s(),l=new Array(A),u()}}function s(){if(M)for(var e=0,n=t.length;e<n;++e)g[e]=+I(t[e],e,t)}function u(){if(M)for(var e=0,n=t.length;e<n;++e)l[e]=+E(t[e],e,t)}var g,l,M,h,d,f=i,I=e,E=Object(A.a)(30),T=1;return null==t&&(t=[]),n.initialize=function(t){M=t,c()},n.links=function(e){return arguments.length?(t=e,c(),n):t},n.id=function(t){return arguments.length?(f=t,n):f},n.iterations=function(t){return arguments.length?(T=+t,n):T},n.strength=function(t){return arguments.length?(I="function"==typeof t?t:Object(A.a)(+t),s(),n):I},n.distance=function(t){return arguments.length?(E="function"==typeof t?t:Object(A.a)(+t),u(),n):E},n}},function(t,e,n){"use strict";var i=n(98),r=n(302),A=n(130),o=n(557);e.a=function(){function t(t){var e,i=c.length,r=Object(A.a)(c,o.b,o.c).visitAfter(n);for(u=t,e=0;e<i;++e)s=c[e],r.visit(a)}function e(){if(c){var t,e,n=c.length;for(g=new Array(n),t=0;t<n;++t)e=c[t],g[e.index]=+l(e,t,c)}}function n(t){var e,n,i,r,A,o=0,a=0;if(t.length){for(i=r=A=0;A<4;++A)(e=t[A])&&(n=Math.abs(e.value))&&(o+=e.value,a+=n,i+=n*e.x,r+=n*e.y);t.x=i/a,t.y=r/a}else{e=t,e.x=e.data.x,e.y=e.data.y;do{o+=g[e.data.index]}while(e=e.next)}t.value=o}function a(t,e,n,i){if(!t.value)return!0;var A=t.x-s.x,o=t.y-s.y,a=i-e,c=A*A+o*o;if(a*a/d<c)return c<h&&(0===A&&(A=Object(r.a)(),c+=A*A),0===o&&(o=Object(r.a)(),c+=o*o),c<M&&(c=Math.sqrt(M*c)),s.vx+=A*t.value*u/c,s.vy+=o*t.value*u/c),!0;if(!(t.length||c>=h)){(t.data!==s||t.next)&&(0===A&&(A=Object(r.a)(),c+=A*A),0===o&&(o=Object(r.a)(),c+=o*o),c<M&&(c=Math.sqrt(M*c)));do{t.data!==s&&(a=g[t.data.index]*u/c,s.vx+=A*a,s.vy+=o*a)}while(t=t.next)}}var c,s,u,g,l=Object(i.a)(-30),M=1,h=1/0,d=.81;return t.initialize=function(t){c=t,e()},t.strength=function(n){return arguments.length?(l="function"==typeof n?n:Object(i.a)(+n),e(),t):l},t.distanceMin=function(e){return arguments.length?(M=e*e,t):Math.sqrt(M)},t.distanceMax=function(e){return arguments.length?(h=e*e,t):Math.sqrt(h)},t.theta=function(e){return arguments.length?(d=e*e,t):Math.sqrt(d)},t}},function(t,e,n){"use strict";var i=n(303);e.a=function(t,e,n){var r=new i.a;return e=null==e?0:+e,r.restart(function(n){r.stop(),t(n+e)},e,n),r}},function(t,e,n){"use strict";var i=n(303);e.a=function(t,e,n){var r=new i.a,A=e;return null==e?(r.restart(t,e,n),r):(e=+e,n=null==n?Object(i.b)():+n,r.restart(function i(o){o+=A,r.restart(i,A+=e,n),t(o)},e,n),r)}},function(t,e,n){"use strict";var i=n(98);e.a=function(t,e,n){function r(t){for(var i=0,r=o.length;i<r;++i){var A=o[i],s=A.x-e||1e-6,u=A.y-n||1e-6,g=Math.sqrt(s*s+u*u),l=(c[i]-g)*a[i]*t/g;A.vx+=s*l,A.vy+=u*l}}function A(){if(o){var e,n=o.length;for(a=new Array(n),c=new Array(n),e=0;e<n;++e)c[e]=+t(o[e],e,o),a[e]=isNaN(c[e])?0:+s(o[e],e,o)}}var o,a,c,s=Object(i.a)(.1);return"function"!=typeof t&&(t=Object(i.a)(+t)),null==e&&(e=0),null==n&&(n=0),r.initialize=function(t){o=t,A()},r.strength=function(t){return arguments.length?(s="function"==typeof t?t:Object(i.a)(+t),A(),r):s},r.radius=function(e){return arguments.length?(t="function"==typeof e?e:Object(i.a)(+e),A(),r):t},r.x=function(t){return arguments.length?(e=+t,r):e},r.y=function(t){return arguments.length?(n=+t,r):n},r}},function(t,e,n){"use strict";var i=n(98);e.a=function(t){function e(t){for(var e,n=0,i=r.length;n<i;++n)e=r[n],e.vx+=(o[n]-e.x)*A[n]*t}function n(){if(r){var e,n=r.length;for(A=new Array(n),o=new Array(n),e=0;e<n;++e)A[e]=isNaN(o[e]=+t(r[e],e,r))?0:+a(r[e],e,r)}}var r,A,o,a=Object(i.a)(.1);return"function"!=typeof t&&(t=Object(i.a)(null==t?0:+t)),e.initialize=function(t){r=t,n()},e.strength=function(t){return arguments.length?(a="function"==typeof t?t:Object(i.a)(+t),n(),e):a},e.x=function(r){return arguments.length?(t="function"==typeof r?r:Object(i.a)(+r),n(),e):t},e}},function(t,e,n){"use strict";var i=n(98);e.a=function(t){function e(t){for(var e,n=0,i=r.length;n<i;++n)e=r[n],e.vy+=(o[n]-e.y)*A[n]*t}function n(){if(r){var e,n=r.length;for(A=new Array(n),o=new Array(n),e=0;e<n;++e)A[e]=isNaN(o[e]=+t(r[e],e,r))?0:+a(r[e],e,r)}}var r,A,o,a=Object(i.a)(.1);return"function"!=typeof t&&(t=Object(i.a)(null==t?0:+t)),e.initialize=function(t){r=t,n()},e.strength=function(t){return arguments.length?(a="function"==typeof t?t:Object(i.a)(+t),n(),e):a},e.y=function(r){return arguments.length?(t="function"==typeof r?r:Object(i.a)(+r),n(),e):t},e}},function(t,e,n){"use strict";function i(t){return r=Object(a.a)(t),A=r.format,o=r.formatPrefix,r}n.d(e,"b",function(){return A}),n.d(e,"c",function(){return o}),e.a=i;var r,A,o,a=n(558);i({decimal:".",thousands:",",grouping:[3],currency:["$",""]})},function(t,e,n){"use strict";e.a=function(t,e){return function(n,i){for(var r=n.length,A=[],o=0,a=t[0],c=0;r>0&&a>0&&(c+a+1>i&&(a=Math.max(1,i-c)),A.push(n.substring(r-=a,r+a)),!((c+=a+1)>i));)a=t[o=(o+1)%t.length];return A.reverse().join(e)}}},function(t,e,n){"use strict";e.a=function(t){return function(e){return e.replace(/[0-9]/g,function(e){return t[+e]})}}},function(t,e,n){"use strict";e.a=function(t,e){t=t.toPrecision(e);t:for(var n,i=t.length,r=1,A=-1;r<i;++r)switch(t[r]){case".":A=n=r;break;case"0":0===A&&(A=r),n=r;break;case"e":break t;default:A>0&&(A=0)}return A>0?t.slice(0,A)+t.slice(n+1):t}},function(t,e,n){"use strict";var i=n(305);e.a=function(t,e){var n=Object(i.a)(t,e);if(!n)return t+"";var r=n[0],A=n[1];return A<0?"0."+new Array(-A).join("0")+r:r.length>A+1?r.slice(0,A+1)+"."+r.slice(A+1):r+new Array(A-r.length+2).join("0")}},function(t,e,n){"use strict";e.a=function(t){return t}},function(t,e,n){"use strict";var i=n(199);e.a=function(t){return Math.max(0,-Object(i.a)(Math.abs(t)))}},function(t,e,n){"use strict";var i=n(199);e.a=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Object(i.a)(e)/3)))-Object(i.a)(Math.abs(t)))}},function(t,e,n){"use strict";var i=n(199);e.a=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Object(i.a)(e)-Object(i.a)(t))+1}},function(t,e,n){"use strict";var i=n(562);n.d(e,"c",function(){return i.c});var r=n(1362);n.d(e,"h",function(){return r.a});var A=n(1363);n.d(e,"i",function(){return A.a});var o=n(563);n.d(e,"j",function(){return o.b});var a=n(565);n.d(e,"k",function(){return a.a});var c=n(571);n.d(e,"l",function(){return c.a});var s=n(1365);n.d(e,"m",function(){return s.a});var u=n(201);n.d(e,"n",function(){return u.a});var g=n(1367);n.d(e,"u",function(){return g.a});var l=n(572);n.d(e,"v",function(){return l.a});var M=n(1368);n.d(e,"A",function(){return M.a}),n.d(e,"B",function(){return M.b});var h=n(1369);n.d(e,"D",function(){return h.a});var d=n(573);n.d(e,"E",function(){return d.a});var f=n(1370);n.d(e,"L",function(){return f.a});var I=n(575);n.d(e,"a",function(){return I.a});var E=n(1378);n.d(e,"b",function(){return E.a});var T=n(1379);n.d(e,"d",function(){return T.b}),n.d(e,"e",function(){return T.a});var N=n(1380);n.d(e,"f",function(){return N.b}),n.d(e,"g",function(){return N.a});var y=n(1381);n.d(e,"o",function(){return y.b}),n.d(e,"p",function(){return y.a});var p=n(307);n.d(e,"q",function(){return p.b}),n.d(e,"r",function(){return p.a});var C=n(1382);n.d(e,"s",function(){return C.b}),n.d(e,"t",function(){return C.a});var D=n(576);n.d(e,"w",function(){return D.a}),n.d(e,"x",function(){return D.b});var x=n(1383);n.d(e,"y",function(){return x.a}),n.d(e,"z",function(){return x.b});var B=n(1384);n.d(e,"C",function(){return B.a});var w=n(46);n.d(e,"M",function(){return w.a}),n.d(e,"N",function(){return w.b});var m=n(310);n.d(e,"F",function(){return m.a}),n.d(e,"G",function(){return m.c});var Q=n(1385);n.d(e,"H",function(){return Q.a}),n.d(e,"I",function(){return Q.b});var v=n(1386);n.d(e,"J",function(){return v.a}),n.d(e,"K",function(){return v.b});var j=n(1387);n.d(e,"P",function(){return j.a}),n.d(e,"Q",function(){return j.b});var L=n(1388);n.d(e,"T",function(){return L.a}),n.d(e,"U",function(){return L.b});var S=n(200);n.d(e,"O",function(){return S.a});var Y=n(87);n.d(e,"R",function(){return Y.a});var b=n(202);n.d(e,"S",function(){return b.a})},function(t,e,n){"use strict";function i(t,e){y.push(p=[M=t,d=t]),e<h&&(h=e),e>f&&(f=e)}function r(t,e){var n=Object(x.a)([t*B.r,e*B.r]);if(N){var i=Object(x.c)(N,n),r=[i[1],-i[0],0],A=Object(x.c)(r,i);Object(x.e)(A),A=Object(x.g)(A);var o,a=t-I,c=a>0?1:-1,s=A[0]*B.h*c,g=Object(B.a)(a)>180;g^(c*I<s&&s<c*t)?(o=A[1]*B.h)>f&&(f=o):(s=(s+360)%360-180,g^(c*I<s&&s<c*t)?(o=-A[1]*B.h)<h&&(h=o):(e<h&&(h=e),e>f&&(f=e))),g?t<I?u(M,t)>u(M,d)&&(d=t):u(t,d)>u(M,d)&&(M=t):d>=M?(t<M&&(M=t),t>d&&(d=t)):t>I?u(M,t)>u(M,d)&&(d=t):u(t,d)>u(M,d)&&(M=t)}else y.push(p=[M=t,d=t]);e<h&&(h=e),e>f&&(f=e),N=n,I=t}function A(){Q.point=r}function o(){p[0]=M,p[1]=d,Q.point=i,N=null}function a(t,e){if(N){var n=t-I;m.add(Object(B.a)(n)>180?n+(n>0?360:-360):n)}else E=t,T=e;D.b.point(t,e),r(t,e)}function c(){D.b.lineStart()}function s(){a(E,T),D.b.lineEnd(),Object(B.a)(m)>B.i&&(M=-(d=180)),p[0]=M,p[1]=d,N=null}function u(t,e){return(e-=t)<0?e+360:e}function g(t,e){return t[0]-e[0]}function l(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:e<t[0]||t[1]<e}var M,h,d,f,I,E,T,N,y,p,C=n(99),D=n(562),x=n(136),B=n(5),w=n(87),m=Object(C.a)(),Q={point:i,lineStart:A,lineEnd:o,polygonStart:function(){Q.point=a,Q.lineStart=c,Q.lineEnd=s,m.reset(),D.b.polygonStart()},polygonEnd:function(){D.b.polygonEnd(),Q.point=i,Q.lineStart=A,Q.lineEnd=o,D.a<0?(M=-(d=180),h=-(f=90)):m>B.i?f=90:m<-B.i&&(h=-90),p[0]=M,p[1]=d}};e.a=function(t){var e,n,i,r,A,o,a;if(f=d=-(M=h=1/0),y=[],Object(w.a)(t,Q),n=y.length){for(y.sort(g),e=1,i=y[0],A=[i];e<n;++e)r=y[e],l(i,r[0])||l(i,r[1])?(u(i[0],r[1])>u(i[0],i[1])&&(i[1]=r[1]),u(r[0],i[1])>u(i[0],i[1])&&(i[0]=r[0])):A.push(i=r);for(o=-1/0,n=A.length-1,e=0,i=A[n];e<=n;i=r,++e)r=A[e],(a=u(i[1],r[0]))>o&&(o=a,M=r[0],d=i[1])}return y=p=null,M===1/0||h===1/0?[[NaN,NaN],[NaN,NaN]]:[[M,h],[d,f]]}},function(t,e,n){"use strict";function i(t,e){t*=Q.r,e*=Q.r;var n=Object(Q.g)(e);r(n*Object(Q.g)(t),n*Object(Q.t)(t),Object(Q.t)(e))}function r(t,e,n){++M,d+=(t-d)/M,f+=(e-f)/M,I+=(n-I)/M}function A(){L.point=o}function o(t,e){t*=Q.r,e*=Q.r;var n=Object(Q.g)(e);B=n*Object(Q.g)(t),w=n*Object(Q.t)(t),m=Object(Q.t)(e),L.point=a,r(B,w,m)}function a(t,e){t*=Q.r,e*=Q.r;var n=Object(Q.g)(e),i=n*Object(Q.g)(t),A=n*Object(Q.t)(t),o=Object(Q.t)(e),a=Object(Q.e)(Object(Q.u)((a=w*o-m*A)*a+(a=m*i-B*o)*a+(a=B*A-w*i)*a),B*i+w*A+m*o);h+=a,E+=a*(B+(B=i)),T+=a*(w+(w=A)),N+=a*(m+(m=o)),r(B,w,m)}function c(){L.point=i}function s(){L.point=g}function u(){l(D,x),L.point=i}function g(t,e){D=t,x=e,t*=Q.r,e*=Q.r,L.point=l;var n=Object(Q.g)(e);B=n*Object(Q.g)(t),w=n*Object(Q.t)(t),m=Object(Q.t)(e),r(B,w,m)}function l(t,e){t*=Q.r,e*=Q.r;var n=Object(Q.g)(e),i=n*Object(Q.g)(t),A=n*Object(Q.t)(t),o=Object(Q.t)(e),a=w*o-m*A,c=m*i-B*o,s=B*A-w*i,u=Object(Q.u)(a*a+c*c+s*s),g=Object(Q.c)(u),l=u&&-g/u;y+=l*a,p+=l*c,C+=l*s,h+=g,E+=g*(B+(B=i)),T+=g*(w+(w=A)),N+=g*(m+(m=o)),r(B,w,m)}var M,h,d,f,I,E,T,N,y,p,C,D,x,B,w,m,Q=n(5),v=n(64),j=n(87),L={sphere:v.a,point:i,lineStart:A,lineEnd:c,polygonStart:function(){L.lineStart=s,L.lineEnd=u},polygonEnd:function(){L.lineStart=A,L.lineEnd=c}};e.a=function(t){M=h=d=f=I=E=T=N=y=p=C=0,Object(j.a)(t,L);var e=y,n=p,i=C,r=e*e+n*n+i*i;return r<Q.j&&(e=E,n=T,i=N,h<Q.i&&(e=d,n=f,i=I),(r=e*e+n*n+i*i)<Q.j)?[NaN,NaN]:[Object(Q.e)(n,e)*Q.h,Object(Q.c)(i/Object(Q.u)(r))*Q.h]}},function(t,e,n){"use strict";e.a=function(t){return function(){return t}}},function(t,e,n){"use strict";var i=n(201);e.a=function(){var t,e,n,r=0,A=0,o=960,a=500;return n={stream:function(n){return t&&e===n?t:t=Object(i.a)(r,A,o,a)(e=n)},extent:function(i){return arguments.length?(r=+i[0][0],A=+i[0][1],o=+i[1][0],a=+i[1][1],t=e=null,n):[[r,A],[o,a]]}}}},function(t,e,n){"use strict";e.a=function(t,e,n,i,r,A){var o,a=t[0],c=t[1],s=e[0],u=e[1],g=0,l=1,M=s-a,h=u-c;if(o=n-a,M||!(o>0)){if(o/=M,M<0){if(o<g)return;o<l&&(l=o)}else if(M>0){if(o>l)return;o>g&&(g=o)}if(o=r-a,M||!(o<0)){if(o/=M,M<0){if(o>l)return;o>g&&(g=o)}else if(M>0){if(o<g)return;o<l&&(l=o)}if(o=i-c,h||!(o>0)){if(o/=h,h<0){if(o<g)return;o<l&&(l=o)}else if(h>0){if(o>l)return;o>g&&(g=o)}if(o=A-c,h||!(o<0)){if(o/=h,h<0){if(o>l)return;o>g&&(g=o)}else if(h>0){if(o<g)return;o<l&&(l=o)}return g>0&&(t[0]=a+g*M,t[1]=c+g*h),l<1&&(e[0]=a+l*M,e[1]=c+l*h),!0}}}}}},function(t,e,n){"use strict";function i(t,e){return!(!t||!M.hasOwnProperty(t.type))&&M[t.type](t,e)}function r(t,e){return 0===Object(u.a)(t,e)}function A(t,e){var n=Object(u.a)(t[0],t[1]);return Object(u.a)(t[0],e)+Object(u.a)(e,t[1])<=n+g.i}function o(t,e){return!!Object(s.a)(t.map(a),c(e))}function a(t){return t=t.map(c),t.pop(),t}function c(t){return[t[0]*g.r,t[1]*g.r]}var s=n(570),u=n(572),g=n(5),l={Feature:function(t,e){return i(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,A=n.length;++r<A;)if(i(n[r].geometry,e))return!0;return!1}},M={Sphere:function(){return!0},Point:function(t,e){return r(t.coordinates,e)},MultiPoint:function(t,e){for(var n=t.coordinates,i=-1,A=n.length;++i<A;)if(r(n[i],e))return!0;return!1},LineString:function(t,e){return A(t.coordinates,e)},MultiLineString:function(t,e){for(var n=t.coordinates,i=-1,r=n.length;++i<r;)if(A(n[i],e))return!0;return!1},Polygon:function(t,e){return o(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,i=-1,r=n.length;++i<r;)if(o(n[i],e))return!0;return!1},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,A=n.length;++r<A;)if(i(n[r],e))return!0;return!1}};e.a=function(t,e){return(t&&l.hasOwnProperty(t.type)?l[t.type]:i)(t,e)}},function(t,e,n){"use strict";function i(t,e,n){var i=Object(a.s)(t,e-c.i,n).concat(e);return function(t){return i.map(function(e){return[t,e]})}}function r(t,e,n){var i=Object(a.s)(t,e-c.i,n).concat(e);return function(t){return i.map(function(e){return[e,t]})}}function A(){function t(){return{type:"MultiLineString",coordinates:e()}}function e(){return Object(a.s)(Object(c.f)(s/N)*N,o,N).map(f).concat(Object(a.s)(Object(c.f)(M/y)*y,l,y).map(I)).concat(Object(a.s)(Object(c.f)(A/E)*E,n,E).filter(function(t){return Object(c.a)(t%N)>c.i}).map(h)).concat(Object(a.s)(Object(c.f)(g/T)*T,u,T).filter(function(t){return Object(c.a)(t%y)>c.i}).map(d))}var n,A,o,s,u,g,l,M,h,d,f,I,E=10,T=E,N=90,y=360,p=2.5;return t.lines=function(){return e().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[f(s).concat(I(l).slice(1),f(o).reverse().slice(1),I(M).reverse().slice(1))]}},t.extent=function(e){return arguments.length?t.extentMajor(e).extentMinor(e):t.extentMinor()},t.extentMajor=function(e){return arguments.length?(s=+e[0][0],o=+e[1][0],M=+e[0][1],l=+e[1][1],s>o&&(e=s,s=o,o=e),M>l&&(e=M,M=l,l=e),t.precision(p)):[[s,M],[o,l]]},t.extentMinor=function(e){return arguments.length?(A=+e[0][0],n=+e[1][0],g=+e[0][1],u=+e[1][1],A>n&&(e=A,A=n,n=e),g>u&&(e=g,g=u,u=e),t.precision(p)):[[A,g],[n,u]]},t.step=function(e){return arguments.length?t.stepMajor(e).stepMinor(e):t.stepMinor()},t.stepMajor=function(e){return arguments.length?(N=+e[0],y=+e[1],t):[N,y]},t.stepMinor=function(e){return arguments.length?(E=+e[0],T=+e[1],t):[E,T]},t.precision=function(e){return arguments.length?(p=+e,h=i(g,u,90),d=r(A,n,p),f=i(M,l,90),I=r(s,o,p),t):p},t.extentMajor([[-180,-90+c.i],[180,90-c.i]]).extentMinor([[-180,-80-c.i],[180,80+c.i]])}function o(){return A()()}e.a=A,e.b=o;var a=n(35),c=n(5)},function(t,e,n){"use strict";var i=n(5);e.a=function(t,e){var n=t[0]*i.r,r=t[1]*i.r,A=e[0]*i.r,o=e[1]*i.r,a=Object(i.g)(r),c=Object(i.t)(r),s=Object(i.g)(o),u=Object(i.t)(o),g=a*Object(i.g)(n),l=a*Object(i.t)(n),M=s*Object(i.g)(A),h=s*Object(i.t)(A),d=2*Object(i.c)(Object(i.u)(Object(i.m)(o-r)+a*s*Object(i.m)(A-n))),f=Object(i.t)(d),I=d?function(t){var e=Object(i.t)(t*=d)/f,n=Object(i.t)(d-t)/f,r=n*g+e*M,A=n*l+e*h,o=n*c+e*u;return[Object(i.e)(A,r)*i.h,Object(i.e)(o,Object(i.u)(r*r+A*A))*i.h]}:function(){return[n*i.h,r*i.h]};return I.distance=d,I}},function(t,e,n){"use strict";var i=n(306),r=n(87),A=n(1371),o=n(574),a=n(1372),c=n(1373),s=n(1374),u=n(1375);e.a=function(t,e){function n(t){return t&&("function"==typeof M&&l.pointRadius(+M.apply(this,arguments)),Object(r.a)(t,g(l))),l.result()}var g,l,M=4.5;return n.area=function(t){return Object(r.a)(t,g(A.a)),A.a.result()},n.measure=function(t){return Object(r.a)(t,g(s.a)),s.a.result()},n.bounds=function(t){return Object(r.a)(t,g(o.a)),o.a.result()},n.centroid=function(t){return Object(r.a)(t,g(a.a)),a.a.result()},n.projection=function(e){return arguments.length?(g=null==e?(t=null,i.a):(t=e).stream,n):t},n.context=function(t){return arguments.length?(l=null==t?(e=null,new u.a):new c.a(e=t),"function"!=typeof M&&l.pointRadius(M),n):e},n.pointRadius=function(t){return arguments.length?(M="function"==typeof t?t:(l.pointRadius(+t),+t),n):M},n.projection(t).context(e)}},function(t,e,n){"use strict";function i(){f.point=r}function r(t,e){f.point=A,a=s=t,c=u=e}function A(t,e){d.add(u*t-s*e),s=t,u=e}function o(){A(a,c)}var a,c,s,u,g=n(99),l=n(5),M=n(64),h=Object(g.a)(),d=Object(g.a)(),f={point:M.a,lineStart:M.a,lineEnd:M.a,polygonStart:function(){f.lineStart=i,f.lineEnd=o},polygonEnd:function(){f.lineStart=f.lineEnd=f.point=M.a,h.add(Object(l.a)(d)),d.reset()},result:function(){var t=h/2;return h.reset(),t}};e.a=f},function(t,e,n){"use strict";function i(t,e){I+=t,E+=e,++T}function r(){B.point=A}function A(t,e){B.point=o,i(h=t,d=e)}function o(t,e){var n=t-h,r=e-d,A=Object(f.u)(n*n+r*r);N+=A*(h+t)/2,y+=A*(d+e)/2,p+=A,i(h=t,d=e)}function a(){B.point=i}function c(){B.point=u}function s(){g(l,M)}function u(t,e){B.point=g,i(l=h=t,M=d=e)}function g(t,e){var n=t-h,r=e-d,A=Object(f.u)(n*n+r*r);N+=A*(h+t)/2,y+=A*(d+e)/2,p+=A,A=d*t-h*e,C+=A*(h+t),D+=A*(d+e),x+=3*A,i(h=t,d=e)}var l,M,h,d,f=n(5),I=0,E=0,T=0,N=0,y=0,p=0,C=0,D=0,x=0,B={point:i,lineStart:r,lineEnd:a,polygonStart:function(){B.lineStart=c,B.lineEnd=s},polygonEnd:function(){B.point=i,B.lineStart=r,B.lineEnd=a},result:function(){var t=x?[C/x,D/x]:p?[N/p,y/p]:T?[I/T,E/T]:[NaN,NaN];return I=E=T=N=y=p=C=D=x=0,t}};e.a=B},function(t,e,n){"use strict";function i(t){this._context=t}e.a=i;var r=n(5),A=n(64);i.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,r.w)}},result:A.a}},function(t,e,n){"use strict";function i(t,e){h.point=r,o=c=t,a=s=e}function r(t,e){c-=t,s-=e,M.add(Object(g.u)(c*c+s*s)),c=t,s=e}var A,o,a,c,s,u=n(99),g=n(5),l=n(64),M=Object(u.a)(),h={point:l.a,lineStart:function(){h.point=i},lineEnd:function(){A&&r(o,a),h.point=l.a},polygonStart:function(){A=!0},polygonEnd:function(){A=null},result:function(){var t=+M;return M.reset(),t}};e.a=h},function(t,e,n){"use strict";function i(){this._string=[]}function r(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}e.a=i,i.prototype={_radius:4.5,_circle:r(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=r(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}}},function(t,e,n){"use strict";function i(t){return Object(a.b)({point:function(e,n){e=t(e,n),this.stream.point(e[0],e[1])}})}function r(t,e){function n(i,r,A,a,c,u,g,l,M,h,d,f,I,E){var T=g-i,N=l-r,y=T*T+N*N;if(y>4*e&&I--){var p=a+h,C=c+d,D=u+f,x=Object(o.u)(p*p+C*C+D*D),B=Object(o.c)(D/=x),w=Object(o.a)(Object(o.a)(D)-1)<o.i||Object(o.a)(A-M)<o.i?(A+M)/2:Object(o.e)(C,p),m=t(w,B),Q=m[0],v=m[1],j=Q-i,L=v-r,S=N*j-T*L;(S*S/y>e||Object(o.a)((T*j+N*L)/y-.5)>.3||a*h+c*d+u*f<s)&&(n(i,r,A,a,c,u,Q,v,w,p/=x,C/=x,D,I,E),E.point(Q,v),n(Q,v,w,p,C,D,g,l,M,h,d,f,I,E))}}return function(e){function i(n,i){n=t(n,i),e.point(n[0],n[1])}function r(){T=NaN,D.point=o,e.lineStart()}function o(i,r){var o=Object(A.a)([i,r]),a=t(i,r);n(T,N,E,y,p,C,T=a[0],N=a[1],E=i,y=o[0],p=o[1],C=o[2],c,e),e.point(T,N)}function a(){D.point=i,e.lineEnd()}function s(){r(),D.point=u,D.lineEnd=g}function u(t,e){o(l=t,e),M=T,h=N,d=y,f=p,I=C,D.point=o}function g(){n(T,N,E,y,p,C,M,h,l,d,f,I,c,e),D.lineEnd=a,a()}var l,M,h,d,f,I,E,T,N,y,p,C,D={point:i,lineStart:r,lineEnd:a,polygonStart:function(){e.polygonStart(),D.lineStart=s},polygonEnd:function(){e.polygonEnd(),D.lineStart=r}};return D}}var A=n(136),o=n(5),a=n(202),c=16,s=Object(o.g)(30*o.r);e.a=function(t,e){return+e?r(t,e):i(t)}},function(t,e,n){"use strict";function i(t){function e(t,e){return[t*n,Object(r.t)(e)/n]}var n=Object(r.g)(t);return e.invert=function(t,e){return[t/n,Object(r.c)(e*n)]},e}e.a=i;var r=n(5)},function(t,e,n){"use strict";function i(t){var e=t.length;return{point:function(n,i){for(var r=-1;++r<e;)t[r].point(n,i)},sphere:function(){for(var n=-1;++n<e;)t[n].sphere()},lineStart:function(){for(var n=-1;++n<e;)t[n].lineStart()},lineEnd:function(){for(var n=-1;++n<e;)t[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<e;)t[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<e;)t[n].polygonEnd()}}}var r=n(5),A=n(575),o=n(307),a=n(309);e.a=function(){function t(t){var e=t[0],n=t[1];return l=null,s.point(e,n),l||(u.point(e,n),l)||(g.point(e,n),l)}function e(){return n=c=null,t}var n,c,s,u,g,l,M=Object(A.a)(),h=Object(o.b)().rotate([154,0]).center([-2,58.5]).parallels([55,65]),d=Object(o.b)().rotate([157,0]).center([-3,19.9]).parallels([8,18]),f={point:function(t,e){l=[t,e]}};return t.invert=function(t){var e=M.scale(),n=M.translate(),i=(t[0]-n[0])/e,r=(t[1]-n[1])/e;return(r>=.12&&r<.234&&i>=-.425&&i<-.214?h:r>=.166&&r<.234&&i>=-.214&&i<-.115?d:M).invert(t)},t.stream=function(t){return n&&c===t?n:n=i([M.stream(c=t),h.stream(t),d.stream(t)])},t.precision=function(t){return arguments.length?(M.precision(t),h.precision(t),d.precision(t),e()):M.precision()},t.scale=function(e){return arguments.length?(M.scale(e),h.scale(.35*e),d.scale(e),t.translate(M.translate())):M.scale()},t.translate=function(t){if(!arguments.length)return M.translate();var n=M.scale(),i=+t[0],A=+t[1];return s=M.translate(t).clipExtent([[i-.455*n,A-.238*n],[i+.455*n,A+.238*n]]).stream(f),u=h.translate([i-.307*n,A+.201*n]).clipExtent([[i-.425*n+r.i,A+.12*n+r.i],[i-.214*n-r.i,A+.234*n-r.i]]).stream(f),g=d.translate([i-.205*n,A+.212*n]).clipExtent([[i-.214*n+r.i,A+.166*n+r.i],[i-.115*n-r.i,A+.234*n-r.i]]).stream(f),e()},t.fitExtent=function(e,n){return Object(a.a)(t,e,n)},t.fitSize=function(e,n){return Object(a.c)(t,e,n)},t.fitWidth=function(e,n){return Object(a.d)(t,e,n)},t.fitHeight=function(e,n){return Object(a.b)(t,e,n)},t.scale(1070)}},function(t,e,n){"use strict";n.d(e,"a",function(){return o});var i=n(5),r=n(137),A=n(46),o=Object(r.b)(function(t){return Object(i.u)(2/(1+t))});o.invert=Object(r.a)(function(t){return 2*Object(i.c)(t/2)}),e.b=function(){return Object(A.a)(o).scale(124.75).clipAngle(179.999)}},function(t,e,n){"use strict";n.d(e,"a",function(){return o});var i=n(5),r=n(137),A=n(46),o=Object(r.b)(function(t){return(t=Object(i.b)(t))&&t/Object(i.t)(t)});o.invert=Object(r.a)(function(t){return t}),e.b=function(){return Object(A.a)(o).scale(79.4188).clipAngle(179.999)}},function(t,e,n){"use strict";function i(t){return Object(A.v)((A.l+t)/2)}function r(t,e){function n(t,e){c>0?e<-A.l+A.i&&(e=-A.l+A.i):e>A.l-A.i&&(e=A.l-A.i);var n=c/Object(A.p)(i(e),o);return[n*Object(A.t)(o*t),c-n*Object(A.g)(o*t)]}var r=Object(A.g)(t),o=t===e?Object(A.t)(t):Object(A.n)(r/Object(A.g)(e))/Object(A.n)(i(e)/i(t)),c=r*Object(A.p)(i(t),o)/o;return o?(n.invert=function(t,e){var n=c-e,i=Object(A.s)(o)*Object(A.u)(t*t+n*n);return[Object(A.e)(t,Object(A.a)(n))/o*Object(A.s)(n),2*Object(A.d)(Object(A.p)(c/i,1/o))-A.l]},n):a.c}e.a=r;var A=n(5),o=n(308),a=n(310);e.b=function(){return Object(o.a)(r).scale(109.5).parallels([30,30])}},function(t,e,n){"use strict";function i(t,e){function n(t,e){var n=a-e,i=A*t;return[n*Object(r.t)(i),a-n*Object(r.g)(i)]}var i=Object(r.g)(t),A=t===e?Object(r.t)(t):(i-Object(r.g)(e))/(e-t),a=i/A+t;return Object(r.a)(A)<r.i?o.b:(n.invert=function(t,e){var n=a-e;return[Object(r.e)(t,Object(r.a)(n))/A*Object(r.s)(n),a-Object(r.s)(A)*Object(r.u)(t*t+n*n)]},n)}e.a=i;var r=n(5),A=n(308),o=n(576);e.b=function(){return Object(A.a)(i).scale(131.154).center([0,13.9389])}},function(t,e,n){"use strict";function i(t,e){var n=Object(r.g)(e),i=Object(r.g)(t)*n;return[n*Object(r.t)(t)/i,Object(r.t)(e)/i]}e.b=i;var r=n(5),A=n(137),o=n(46);i.invert=Object(A.a)(r.d),e.a=function(){return Object(o.a)(i).scale(144.049).clipAngle(60)}},function(t,e,n){"use strict";function i(t,e,n,i){return 1===t&&1===e&&0===n&&0===i?A.a:Object(o.b)({point:function(r,A){this.stream.point(r*t+n,A*e+i)}})}var r=n(201),A=n(306),o=n(202),a=n(309);e.a=function(){function t(){return c=s=null,u}var e,n,o,c,s,u,g=1,l=0,M=0,h=1,d=1,f=A.a,I=null,E=A.a;return u={stream:function(t){return c&&s===t?c:c=f(E(s=t))},postclip:function(i){return arguments.length?(E=i,I=e=n=o=null,t()):E},clipExtent:function(i){return arguments.length?(E=null==i?(I=e=n=o=null,A.a):Object(r.a)(I=+i[0][0],e=+i[0][1],n=+i[1][0],o=+i[1][1]),t()):null==I?null:[[I,e],[n,o]]},scale:function(e){return arguments.length?(f=i((g=+e)*h,g*d,l,M),t()):g},translate:function(e){return arguments.length?(f=i(g*h,g*d,l=+e[0],M=+e[1]),t()):[l,M]},reflectX:function(e){return arguments.length?(f=i(g*(h=e?-1:1),g*d,l,M),t()):h<0},reflectY:function(e){return arguments.length?(f=i(g*h,g*(d=e?-1:1),l,M),t()):d<0},fitExtent:function(t,e){return Object(a.a)(u,t,e)},fitSize:function(t,e){return Object(a.c)(u,t,e)},fitWidth:function(t,e){return Object(a.d)(u,t,e)},fitHeight:function(t,e){return Object(a.b)(u,t,e)}}}},function(t,e,n){"use strict";function i(t,e){var n=e*e,i=n*n;return[t*(.8707-.131979*n+i*(i*(.003971*n-.001529*i)-.013791)),e*(1.007226+n*(.015085+i*(.028874*n-.044475-.005916*i)))]}e.b=i;var r=n(46),A=n(5);i.invert=function(t,e){var n,i=e,r=25;do{var o=i*i,a=o*o;i-=n=(i*(1.007226+o*(.015085+a*(.028874*o-.044475-.005916*a)))-e)/(1.007226+o*(.045255+a*(.259866*o-.311325-.005916*11*a)))}while(Object(A.a)(n)>A.i&&--r>0);return[t/(.8707+(o=i*i)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),i]},e.a=function(){return Object(r.a)(i).scale(175.295)}},function(t,e,n){"use strict";function i(t,e){return[Object(r.g)(e)*Object(r.t)(t),Object(r.t)(e)]}e.b=i;var r=n(5),A=n(137),o=n(46);i.invert=Object(A.a)(r.c),e.a=function(){return Object(o.a)(i).scale(249.5).clipAngle(90+r.i)}},function(t,e,n){"use strict";function i(t,e){var n=Object(r.g)(e),i=1+Object(r.g)(t)*n;return[n*Object(r.t)(t)/i,Object(r.t)(e)/i]}e.b=i;var r=n(5),A=n(137),o=n(46);i.invert=Object(A.a)(function(t){return 2*Object(r.d)(t)}),e.a=function(){return Object(o.a)(i).scale(250).clipAngle(142)}},function(t,e,n){"use strict";function i(t,e){return[Object(r.n)(Object(r.v)((r.l+e)/2)),-t]}e.b=i;var r=n(5),A=n(310);i.invert=function(t,e){return[-e,2*Object(r.d)(Object(r.k)(t))-r.l]},e.a=function(){var t=Object(A.b)(i),e=t.center,n=t.rotate;return t.center=function(t){return arguments.length?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])},t.rotate=function(t){return arguments.length?n([t[0],t[1],t.length>2?t[2]+90:90]):(t=n(),[t[0],t[1],t[2]-90])},n([0,0,90]).scale(159.155)}},function(t,e,n){"use strict";e.a=function(t,e){return t=+t,e-=t,function(n){return Math.round(t+e*n)}}},function(t,e,n){"use strict";function i(t,e,n,i){function A(t){return t.length?t.pop()+" ":""}function o(t,i,A,o,a,c){if(t!==A||i!==o){var s=a.push("translate(",null,e,null,n);c.push({i:s-4,x:Object(r.a)(t,A)},{i:s-2,x:Object(r.a)(i,o)})}else(A||o)&&a.push("translate("+A+e+o+n)}function a(t,e,n,o){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),o.push({i:n.push(A(n)+"rotate(",null,i)-2,x:Object(r.a)(t,e)})):e&&n.push(A(n)+"rotate("+e+i)}function c(t,e,n,o){t!==e?o.push({i:n.push(A(n)+"skewX(",null,i)-2,x:Object(r.a)(t,e)}):e&&n.push(A(n)+"skewX("+e+i)}function s(t,e,n,i,o,a){if(t!==n||e!==i){var c=o.push(A(o)+"scale(",null,",",null,")");a.push({i:c-4,x:Object(r.a)(t,n)},{i:c-2,x:Object(r.a)(e,i)})}else 1===n&&1===i||o.push(A(o)+"scale("+n+","+i+")")}return function(e,n){var i=[],r=[];return e=t(e),n=t(n),o(e.translateX,e.translateY,n.translateX,n.translateY,i,r),a(e.rotate,n.rotate,i,r),c(e.skewX,n.skewX,i,r),s(e.scaleX,e.scaleY,n.scaleX,n.scaleY,i,r),e=n=null,function(t){for(var e,n=-1,A=r.length;++n<A;)i[(e=r[n]).i]=e.x(t);return i.join("")}}}n.d(e,"a",function(){return o}),n.d(e,"b",function(){return a});var r=n(203),A=n(1391),o=i(A.a,"px, ","px)","deg)"),a=i(A.b,", ",")",")")},function(t,e,n){"use strict";function i(t){return"none"===t?s.b:(A||(A=document.createElement("DIV"),o=document.documentElement,a=document.defaultView),A.style.transform=t,t=a.getComputedStyle(o.appendChild(A),null).getPropertyValue("transform"),o.removeChild(A),t=t.slice(7,-1).split(","),Object(s.a)(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}function r(t){return null==t?s.b:(c||(c=document.createElementNS("http://www.w3.org/2000/svg","g")),c.setAttribute("transform",t),(t=c.transform.baseVal.consolidate())?(t=t.matrix,Object(s.a)(t.a,t.b,t.c,t.d,t.e,t.f)):s.b)}e.a=i,e.b=r;var A,o,a,c,s=n(1392)},function(t,e,n){"use strict";n.d(e,"b",function(){return r});var i=180/Math.PI,r={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};e.a=function(t,e,n,r,A,o){var a,c,s;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(s=t*n+e*r)&&(n-=t*s,r-=e*s),(c=Math.sqrt(n*n+r*r))&&(n/=c,r/=c,s/=c),t*r<e*n&&(t=-t,e=-e,s=-s,a=-a),{translateX:A,translateY:o,rotate:Math.atan2(e,t)*i,skewX:Math.atan(s)*i,scaleX:a,scaleY:c}}},function(t,e,n){"use strict";function i(t){return((t=Math.exp(t))+1/t)/2}function r(t){return((t=Math.exp(t))-1/t)/2}function A(t){return((t=Math.exp(2*t))-1)/(t+1)}var o=Math.SQRT2;e.a=function(t,e){var n,a,c=t[0],s=t[1],u=t[2],g=e[0],l=e[1],M=e[2],h=g-c,d=l-s,f=h*h+d*d;if(f<1e-12)a=Math.log(M/u)/o,n=function(t){return[c+t*h,s+t*d,u*Math.exp(o*t*a)]};else{var I=Math.sqrt(f),E=(M*M-u*u+4*f)/(2*u*2*I),T=(M*M-u*u-4*f)/(2*M*2*I),N=Math.log(Math.sqrt(E*E+1)-E),y=Math.log(Math.sqrt(T*T+1)-T);a=(y-N)/o,n=function(t){var e=t*a,n=i(N),g=u/(2*I)*(n*A(o*e+N)-r(N));return[c+g*h,s+g*d,u*n/i(o*e+N)]}}return n.duration=1e3*a,n}},function(t,e,n){"use strict";function i(t){return function(e,n){var i=t((e=Object(r.d)(e)).h,(n=Object(r.d)(n)).h),o=Object(A.a)(e.s,n.s),a=Object(A.a)(e.l,n.l),c=Object(A.a)(e.opacity,n.opacity);return function(t){return e.h=i(t),e.s=o(t),e.l=a(t),e.opacity=c(t),e+""}}}n.d(e,"b",function(){return o});var r=n(15),A=n(138);e.a=i(A.c);var o=i(A.a)},function(t,e,n){"use strict";function i(t,e){var n=Object(A.a)((t=Object(r.e)(t)).l,(e=Object(r.e)(e)).l),i=Object(A.a)(t.a,e.a),o=Object(A.a)(t.b,e.b),a=Object(A.a)(t.opacity,e.opacity);return function(e){return t.l=n(e),t.a=i(e),t.b=o(e),t.opacity=a(e),t+""}}e.a=i;var r=n(15),A=n(138)},function(t,e,n){"use strict";function i(t){return function(e,n){var i=t((e=Object(r.c)(e)).h,(n=Object(r.c)(n)).h),o=Object(A.a)(e.c,n.c),a=Object(A.a)(e.l,n.l),c=Object(A.a)(e.opacity,n.opacity);return function(t){return e.h=i(t),e.c=o(t),e.l=a(t),e.opacity=c(t),e+""}}}n.d(e,"b",function(){return o});var r=n(15),A=n(138);e.a=i(A.c);var o=i(A.a)},function(t,e,n){"use strict";function i(t){return function e(n){function i(e,i){var o=t((e=Object(r.b)(e)).h,(i=Object(r.b)(i)).h),a=Object(A.a)(e.s,i.s),c=Object(A.a)(e.l,i.l),s=Object(A.a)(e.opacity,i.opacity);return function(t){return e.h=o(t),e.s=a(t),e.l=c(Math.pow(t,n)),e.opacity=s(t),e+""}}return n=+n,i.gamma=e,i}(1)}n.d(e,"a",function(){return o});var r=n(15),A=n(138);e.b=i(A.c);var o=i(A.a)},function(t,e,n){"use strict";e.a=function(t,e){for(var n=new Array(e),i=0;i<e;++i)n[i]=t(i/(e-1));return n}},function(t,e,n){"use strict";var i=n(1400);n.d(e,"a",function(){return i.a});var r=n(1401);n.d(e,"b",function(){return r.a});var A=n(1402);n.d(e,"d",function(){return A.a});var o=n(1404);n.d(e,"c",function(){return o.a});var a=n(1405);n.d(e,"e",function(){return a.a})},function(t,e,n){"use strict";e.a=function(t){for(var e,n=-1,i=t.length,r=t[i-1],A=0;++n<i;)e=r,r=t[n],A+=e[1]*r[0]-e[0]*r[1];return A/2}},function(t,e,n){"use strict";e.a=function(t){for(var e,n,i=-1,r=t.length,A=0,o=0,a=t[r-1],c=0;++i<r;)e=a,a=t[i],c+=n=e[0]*a[1]-a[0]*e[1],A+=(e[0]+a[0])*n,o+=(e[1]+a[1])*n;return c*=3,[A/c,o/c]}},function(t,e,n){"use strict";function i(t,e){return t[0]-e[0]||t[1]-e[1]}function r(t){for(var e=t.length,n=[0,1],i=2,r=2;r<e;++r){for(;i>1&&Object(A.a)(t[n[i-2]],t[n[i-1]],t[r])<=0;)--i;n[i++]=r}return n.slice(0,i)}var A=n(1403);e.a=function(t){if((n=t.length)<3)return null;var e,n,A=new Array(n),o=new Array(n);for(e=0;e<n;++e)A[e]=[+t[e][0],+t[e][1],e];for(A.sort(i),e=0;e<n;++e)o[e]=[A[e][0],-A[e][1]];var a=r(A),c=r(o),s=c[0]===a[0],u=c[c.length-1]===a[a.length-1],g=[];for(e=a.length-1;e>=0;--e)g.push(t[A[a[e]][2]]);for(e=+s;e<c.length-u;++e)g.push(t[A[c[e]][2]]);return g}},function(t,e,n){"use strict";e.a=function(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(e[1]-t[1])*(n[0]-t[0])}},function(t,e,n){"use strict";e.a=function(t,e){for(var n,i,r=t.length,A=t[r-1],o=e[0],a=e[1],c=A[0],s=A[1],u=!1,g=0;g<r;++g)A=t[g],n=A[0],i=A[1],i>a!=s>a&&o<(c-n)*(a-i)/(s-i)+n&&(u=!u),c=n,s=i;return u}},function(t,e,n){"use strict";e.a=function(t){for(var e,n,i=-1,r=t.length,A=t[r-1],o=A[0],a=A[1],c=0;++i<r;)e=o,n=a,A=t[i],o=A[0],a=A[1],e-=o,n-=a,c+=Math.sqrt(e*e+n*n);return c}},function(t,e,n){"use strict";var i=n(1407);n.d(e,"a",function(){return i.a})},function(t,e,n){"use strict";function i(t){this._size=t,this._call=this._error=null,this._tasks=[],this._data=[],this._waiting=this._active=this._ended=this._start=0}function r(t){if(!t._start)try{A(t)}catch(e){if(t._tasks[t._ended+t._active-1])a(t,e);else if(!t._data)throw e}}function A(t){for(;t._start=t._waiting&&t._active<t._size;){var e=t._ended+t._active,n=t._tasks[e],i=n.length-1,r=n[i];n[i]=o(t,e),--t._waiting,++t._active,n=r.apply(null,n),t._tasks[e]&&(t._tasks[e]=n||g)}}function o(t,e){return function(n,i){t._tasks[e]&&(--t._active,++t._ended,t._tasks[e]=null,null==t._error&&(null!=n?a(t,n):(t._data[e]=i,t._waiting?r(t):c(t))))}}function a(t,e){var n,i=t._tasks.length;for(t._error=e,t._data=void 0,t._waiting=NaN;--i>=0;)if((n=t._tasks[i])&&(t._tasks[i]=null,n.abort))try{n.abort()}catch(e){}t._active=NaN,c(t)}function c(t){if(!t._active&&t._call){var e=t._data;t._data=void 0,t._call(t._error,e)}}function s(t){if(null==t)t=1/0;else if(!((t=+t)>=1))throw new Error("invalid concurrency");return new i(t)}e.a=s;var u=n(1408),g={};i.prototype=s.prototype={constructor:i,defer:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("defer after await");if(null!=this._error)return this;var e=u.a.call(arguments,1);return e.push(t),++this._waiting,this._tasks.push(e),r(this),this},abort:function(){return null==this._error&&a(this,new Error("abort")),this},await:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("multiple await");return this._call=function(e,n){t.apply(null,[e].concat(n))},c(this),this},awaitAll:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("multiple await");return this._call=t,c(this),this}}},function(t,e,n){"use strict";n.d(e,"a",function(){return i});var i=[].slice},function(t,e,n){"use strict";var i=n(1410);n.d(e,"f",function(){return i.a});var r=n(584);n.d(e,"e",function(){return r.a});var A=n(1411);n.d(e,"d",function(){return A.a});var o=n(1412);n.d(e,"a",function(){return o.a});var a=n(585);n.d(e,"c",function(){return a.a});var c=n(1413);n.d(e,"b",function(){return c.a})},function(t,e,n){"use strict";var i=n(100);e.a=function t(e){function n(t,n){return t=null==t?0:+t,n=null==n?1:+n,1===arguments.length?(n=t,t=0):n-=t,function(){return e()*n+t}}return n.source=t,n}(i.a)},function(t,e,n){"use strict";var i=n(100),r=n(584);e.a=function t(e){function n(){var t=r.a.source(e).apply(this,arguments);return function(){return Math.exp(t())}}return n.source=t,n}(i.a)},function(t,e,n){"use strict";var i=n(100),r=n(585);e.a=function t(e){function n(t){var n=r.a.source(e)(t);return function(){return n()/t}}return n.source=t,n}(i.a)},function(t,e,n){"use strict";var i=n(100);e.a=function t(e){function n(t){return function(){return-Math.log(1-e())/t}}return n.source=t,n}(i.a)},function(t,e,n){"use strict";var i=n(313);n.d(e,"d",function(){return i.a});var r=n(1415);n.d(e,"b",function(){return r.a});var A=n(1416);n.d(e,"c",function(){return A.a});var o=n(1417);n.d(e,"e",function(){return o.a});var a=n(1418);n.d(e,"g",function(){return a.a});var c=n(1419);n.d(e,"a",function(){return c.a});var s=n(1420);n.d(e,"f",function(){return s.a})},function(t,e,n){"use strict";var i=n(204);e.a=Object(i.a)("text/html",function(t){return document.createRange().createContextualFragment(t.responseText)})},function(t,e,n){"use strict";var i=n(204);e.a=Object(i.a)("application/json",function(t){return JSON.parse(t.responseText)})},function(t,e,n){"use strict";var i=n(204);e.a=Object(i.a)("text/plain",function(t){return t.responseText})},function(t,e,n){"use strict";var i=n(204);e.a=Object(i.a)("application/xml",function(t){var e=t.responseXML;if(!e)throw new Error("parse error");return e})},function(t,e,n){"use strict";var i=n(300),r=n(586);e.a=Object(r.a)("text/csv",i.c)},function(t,e,n){"use strict";var i=n(300),r=n(586);e.a=Object(r.a)("text/tab-separated-values",i.h)},function(t,e,n){"use strict";var i=n(1422);n.d(e,"i",function(){return i.a}),n.d(e,"o",function(){return i.b});var r=n(1423);n.d(e,"j",function(){return r.a});var A=n(139);n.d(e,"l",function(){return A.a});var o=n(1425);n.d(e,"m",function(){return o.a});var a=n(587);n.d(e,"n",function(){return a.a}),n.d(e,"k",function(){return a.b});var c=n(1426);n.d(e,"p",function(){return c.a}),n.d(e,"t",function(){return c.b});var s=n(1427);n.d(e,"q",function(){return s.a});var u=n(1428);n.d(e,"r",function(){return u.a});var g=n(1429);n.d(e,"u",function(){return g.a});var l=n(590);n.d(e,"v",function(){return l.b});var M=n(1445);n.d(e,"w",function(){return M.a});var h=n(1446);n.d(e,"x",function(){return h.a});var d=n(1447);n.d(e,"z",function(){return d.a});var f=n(1448);n.d(e,"A",function(){return f.a});var I=n(1449);n.d(e,"y",function(){return I.a});var E=n(1450);n.d(e,"b",function(){return E.a});var T=n(1451);n.d(e,"f",function(){return T.b}),n.d(e,"h",function(){return T.c}),n.d(e,"a",function(){return T.a});var N=n(1452);n.d(e,"g",function(){return N.a}),n.d(e,"d",function(){return N.c}),n.d(e,"c",function(){return N.b}),n.d(e,"e",function(){return N.d});var y=n(1453);n.d(e,"s",function(){return y.a})},function(t,e,n){"use strict";function i(){function t(){var t=A().length,i=s[1]<s[0],r=s[i-0],a=s[1-i];e=(a-r)/Math.max(1,t-g+2*l),u&&(e=Math.floor(e)),r+=(a-r-e*(t-g))*M,n=e*(1-g),u&&(r=Math.round(r),n=Math.round(n));var h=Object(o.s)(t).map(function(t){return r+e*t});return c(i?h.reverse():h)}var e,n,r=Object(a.a)().unknown(void 0),A=r.domain,c=r.range,s=[0,1],u=!1,g=0,l=0,M=.5;return delete r.unknown,r.domain=function(e){return arguments.length?(A(e),t()):A()},r.range=function(e){return arguments.length?(s=[+e[0],+e[1]],t()):s.slice()},r.rangeRound=function(e){return s=[+e[0],+e[1]],u=!0,t()},r.bandwidth=function(){return n},r.step=function(){return e},r.round=function(e){return arguments.length?(u=!!e,t()):u},r.padding=function(e){return arguments.length?(g=l=Math.max(0,Math.min(1,e)),t()):g},r.paddingInner=function(e){return arguments.length?(g=Math.max(0,Math.min(1,e)),t()):g},r.paddingOuter=function(e){return arguments.length?(l=Math.max(0,Math.min(1,e)),t()):l},r.align=function(e){return arguments.length?(M=Math.max(0,Math.min(1,e)),t()):M},r.copy=function(){return i().domain(A()).range(s).round(u).paddingInner(g).paddingOuter(l).align(M)},t()}function r(t){var e=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return r(e())},t}function A(){return r(i().paddingInner(1))}e.a=i,e.b=A;var o=n(35),a=n(587)},function(t,e,n){"use strict";function i(){function t(t){return+t}var e=[0,1];return t.invert=t,t.domain=t.range=function(n){return arguments.length?(e=r.a.call(n,o.a),t):e.slice()},t.copy=function(){return i().domain(e)},Object(A.b)(t)}e.a=i;var r=n(88),A=n(139),o=n(588)},function(t,e,n){"use strict";var i=n(35),r=n(304);e.a=function(t,e,n){var A,o=t[0],a=t[t.length-1],c=Object(i.A)(o,a,null==e?10:e);switch(n=Object(r.e)(null==n?",f":n),n.type){case"s":var s=Math.max(Math.abs(o),Math.abs(a));return null!=n.precision||isNaN(A=Object(r.g)(c,s))||(n.precision=A),Object(r.d)(n,s);case"":case"e":case"g":case"p":case"r":null!=n.precision||isNaN(A=Object(r.h)(c,Math.max(Math.abs(o),Math.abs(a))))||(n.precision=A-("e"===n.type));break;case"f":case"%":null!=n.precision||isNaN(A=Object(r.f)(c))||(n.precision=A-2*("%"===n.type))}return Object(r.a)(n)}},function(t,e,n){"use strict";function i(t,e){return(e=Math.log(e/t))?function(n){return Math.log(n/t)/e}:Object(l.a)(e)}function r(t,e){return t<0?function(n){return-Math.pow(-e,n)*Math.pow(-t,1-n)}:function(n){return Math.pow(e,n)*Math.pow(t,1-n)}}function A(t){return isFinite(t)?+("1e"+t):t<0?0:t}function o(t){return 10===t?A:t===Math.E?Math.exp:function(e){return Math.pow(t,e)}}function a(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),function(e){return Math.log(e)/t})}function c(t){return function(e){return-t(-e)}}function s(){function t(){return l=a(A),d=o(A),n()[0]<0&&(l=c(l),d=c(d)),e}var e=Object(h.b)(i,r).domain([1,10]),n=e.domain,A=10,l=a(10),d=o(10);return e.base=function(e){return arguments.length?(A=+e,t()):A},e.domain=function(e){return arguments.length?(n(e),t()):n()},e.ticks=function(t){var e,i=n(),r=i[0],o=i[i.length-1];(e=o<r)&&(g=r,r=o,o=g);var a,c,s,g=l(r),M=l(o),h=null==t?10:+t,f=[];if(!(A%1)&&M-g<h){if(g=Math.round(g)-1,M=Math.round(M)+1,r>0){for(;g<M;++g)for(c=1,a=d(g);c<A;++c)if(!((s=a*c)<r)){if(s>o)break;f.push(s)}}else for(;g<M;++g)for(c=A-1,a=d(g);c>=1;--c)if(!((s=a*c)<r)){if(s>o)break;f.push(s)}}else f=Object(u.B)(g,M,Math.min(M-g,h)).map(d);return e?f.reverse():f},e.tickFormat=function(t,n){if(null==n&&(n=10===A?".0e":","),"function"!=typeof n&&(n=Object(g.a)(n)),t===1/0)return n;null==t&&(t=10);var i=Math.max(1,A*t/e.ticks().length);return function(t){var e=t/d(Math.round(l(t)));return e*A<A-.5&&(e*=A),e<=i?n(t):""}},e.nice=function(){return n(Object(M.a)(n(),{floor:function(t){return d(Math.floor(l(t)))},ceil:function(t){return d(Math.ceil(l(t)))}}))},e.copy=function(){return Object(h.a)(e,s().base(A))},e}e.a=s;var u=n(35),g=n(304),l=n(314),M=n(589),h=n(205)},function(t,e,n){"use strict";function i(t,e){return t<0?-Math.pow(-t,e):Math.pow(t,e)}function r(){function t(t,e){return(e=i(e,n)-(t=i(t,n)))?function(r){return(i(r,n)-t)/e}:Object(o.a)(e)}function e(t,e){return e=i(e,n)-(t=i(t,n)),function(r){return i(t+e*r,1/n)}}var n=1,A=Object(c.b)(t,e),s=A.domain;return A.exponent=function(t){return arguments.length?(n=+t,s(s())):n},A.copy=function(){return Object(c.a)(A,r().exponent(n))},Object(a.b)(A)}function A(){return r().exponent(.5)}e.a=r,e.b=A;var o=n(314),a=n(139),c=n(205)},function(t,e,n){"use strict";function i(){function t(){var t=0,i=Math.max(1,o.length);for(a=new Array(i-1);++t<i;)a[t-1]=Object(r.r)(n,t/i);return e}function e(t){if(!isNaN(t=+t))return o[Object(r.b)(a,t)]}var n=[],o=[],a=[];return e.invertExtent=function(t){var e=o.indexOf(t);return e<0?[NaN,NaN]:[e>0?a[e-1]:n[0],e<a.length?a[e]:n[n.length-1]]},e.domain=function(e){if(!arguments.length)return n.slice();n=[];for(var i,A=0,o=e.length;A<o;++A)null==(i=e[A])||isNaN(i=+i)||n.push(i);return n.sort(r.a),t()},e.range=function(e){return arguments.length?(o=A.b.call(e),t()):o.slice()},e.quantiles=function(){return a.slice()},e.copy=function(){return i().domain(n).range(o)},e}e.a=i;var r=n(35),A=n(88)},function(t,e,n){"use strict";function i(){function t(t){if(t<=t)return u[Object(r.b)(s,t,0,c)]}function e(){var e=-1;for(s=new Array(c);++e<c;)s[e]=((e+1)*a-(e-c)*n)/(c+1);return t}var n=0,a=1,c=1,s=[.5],u=[0,1];return t.domain=function(t){return arguments.length?(n=+t[0],a=+t[1],e()):[n,a]},t.range=function(t){return arguments.length?(c=(u=A.b.call(t)).length-1,e()):u.slice()},t.invertExtent=function(t){var e=u.indexOf(t);return e<0?[NaN,NaN]:e<1?[n,s[0]]:e>=c?[s[c-1],a]:[s[e-1],s[e]]},t.copy=function(){return i().domain([n,a]).range(u)},Object(o.b)(t)}e.a=i;var r=n(35),A=n(88),o=n(139)},function(t,e,n){"use strict";function i(){function t(t){if(t<=t)return n[Object(r.b)(e,t,0,o)]}var e=[.5],n=[0,1],o=1;return t.domain=function(i){return arguments.length?(e=A.b.call(i),o=Math.min(e.length,n.length-1),t):e.slice()},t.range=function(i){return arguments.length?(n=A.b.call(i),o=Math.min(e.length,n.length-1),t):n.slice()},t.invertExtent=function(t){var i=n.indexOf(t);return[e[i-1],e[i]]},t.copy=function(){return i().domain(e).range(n)},t}e.a=i;var r=n(35),A=n(88)},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(28),r=Object(i.a)(function(){},function(t,e){t.setTime(+t+e)},function(t,e){return e-t});r.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Object(i.a)(function(e){e.setTime(Math.floor(e/t)*t)},function(e,n){e.setTime(+e+n*t)},function(e,n){return(n-e)/t}):r:null},e.a=r;var A=r.range},function(t,e,n){"use strict";n.d(e,"b",function(){return o});var i=n(28),r=n(56),A=Object(i.a)(function(t){t.setTime(Math.floor(t/r.d)*r.d)},function(t,e){t.setTime(+t+e*r.d)},function(t,e){return(e-t)/r.d},function(t){return t.getUTCSeconds()});e.a=A;var o=A.range},function(t,e,n){"use strict";n.d(e,"b",function(){return o});var i=n(28),r=n(56),A=Object(i.a)(function(t){t.setTime(Math.floor(t/r.c)*r.c)},function(t,e){t.setTime(+t+e*r.c)},function(t,e){return(e-t)/r.c},function(t){return t.getMinutes()});e.a=A;var o=A.range},function(t,e,n){"use strict";n.d(e,"b",function(){return o});var i=n(28),r=n(56),A=Object(i.a)(function(t){var e=t.getTimezoneOffset()*r.c%r.b;e<0&&(e+=r.b),t.setTime(Math.floor((+t-e)/r.b)*r.b+e)},function(t,e){t.setTime(+t+e*r.b)},function(t,e){return(e-t)/r.b},function(t){return t.getHours()});e.a=A;var o=A.range},function(t,e,n){"use strict";n.d(e,"a",function(){return o});var i=n(28),r=n(56),A=Object(i.a)(function(t){t.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+e)},function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*r.c)/r.a},function(t){return t.getDate()-1});e.b=A;var o=A.range},function(t,e,n){"use strict";function i(t){return Object(r.a)(function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+7*e)},function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*A.c)/A.e})}n.d(e,"g",function(){return o}),n.d(e,"c",function(){return a}),n.d(e,"k",function(){return c}),n.d(e,"m",function(){return s}),n.d(e,"i",function(){return u}),n.d(e,"a",function(){return g}),n.d(e,"e",function(){return l}),n.d(e,"h",function(){return M}),n.d(e,"d",function(){return h}),n.d(e,"l",function(){return d}),n.d(e,"n",function(){return f}),n.d(e,"j",function(){return I}),n.d(e,"b",function(){return E}),n.d(e,"f",function(){return T});var r=n(28),A=n(56),o=i(0),a=i(1),c=i(2),s=i(3),u=i(4),g=i(5),l=i(6),M=o.range,h=a.range,d=c.range,f=s.range,I=u.range,E=g.range,T=l.range},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(28),r=Object(i.a)(function(t){t.setDate(1),t.setHours(0,0,0,0)},function(t,e){t.setMonth(t.getMonth()+e)},function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())},function(t){return t.getMonth()});e.a=r;var A=r.range},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(28),r=Object(i.a)(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t,e){return e.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});r.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Object(i.a)(function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,n){e.setFullYear(e.getFullYear()+n*t)}):null},e.a=r;var A=r.range},function(t,e,n){"use strict";n.d(e,"b",function(){return o});var i=n(28),r=n(56),A=Object(i.a)(function(t){t.setUTCSeconds(0,0)},function(t,e){t.setTime(+t+e*r.c)},function(t,e){return(e-t)/r.c},function(t){return t.getUTCMinutes()});e.a=A;var o=A.range},function(t,e,n){"use strict";n.d(e,"b",function(){return o});var i=n(28),r=n(56),A=Object(i.a)(function(t){t.setUTCMinutes(0,0,0)},function(t,e){t.setTime(+t+e*r.b)},function(t,e){return(e-t)/r.b},function(t){return t.getUTCHours()});e.a=A;var o=A.range},function(t,e,n){"use strict";n.d(e,"b",function(){return o});var i=n(28),r=n(56),A=Object(i.a)(function(t){t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+e)},function(t,e){return(e-t)/r.a},function(t){return t.getUTCDate()-1});e.a=A;var o=A.range},function(t,e,n){"use strict";function i(t){return Object(r.a)(function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+7*e)},function(t,e){return(e-t)/A.e})}n.d(e,"g",function(){return o}),n.d(e,"c",function(){return a}),n.d(e,"k",function(){return c}),n.d(e,"m",function(){return s}),n.d(e,"i",function(){return u}),n.d(e,"a",function(){return g}),n.d(e,"e",function(){return l}),n.d(e,"h",function(){return M}),n.d(e,"d",function(){return h}),n.d(e,"l",function(){return d}),n.d(e,"n",function(){return f}),n.d(e,"j",function(){return I}),n.d(e,"b",function(){return E}),n.d(e,"f",function(){return T});var r=n(28),A=n(56),o=i(0),a=i(1),c=i(2),s=i(3),u=i(4),g=i(5),l=i(6),M=o.range,h=a.range,d=c.range,f=s.range,I=u.range,E=g.range,T=l.range},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(28),r=Object(i.a)(function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCMonth(t.getUTCMonth()+e)},function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())},function(t){return t.getUTCMonth()});e.a=r;var A=r.range},function(t,e,n){"use strict";n.d(e,"b",function(){return A});var i=n(28),r=Object(i.a)(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)},function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});r.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Object(i.a)(function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,n){e.setUTCFullYear(e.getUTCFullYear()+n*t)}):null},e.a=r;var A=r.range},function(t,e,n){"use strict";function i(t){var e=new Date(t);return isNaN(e)?null:e}var r=n(592),A=n(316),o=+new Date("2000-01-01T00:00:00.000Z")?i:Object(A.e)(r.b);e.a=o},function(t,e,n){"use strict";var i=n(590),r=n(315),A=n(206);e.a=function(){return Object(i.a)(A._7,A.R,A._5,A.F,A.J,A.N,A.V,A.L,r.g).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])}},function(t,e,n){"use strict";var i=n(140);e.a=Object(i.a)("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf")},function(t,e,n){"use strict";var i=n(140);e.a=Object(i.a)("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6")},function(t,e,n){"use strict";var i=n(140);e.a=Object(i.a)("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9")},function(t,e,n){"use strict";var i=n(140);e.a=Object(i.a)("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5")},function(t,e,n){"use strict";var i=n(15),r=n(47);e.a=Object(r.f)(Object(i.b)(300,.5,0),Object(i.b)(-240,.5,1))},function(t,e,n){"use strict";n.d(e,"c",function(){return A}),n.d(e,"a",function(){return o});var i=n(15),r=n(47),A=Object(r.f)(Object(i.b)(-100,.75,.35),Object(i.b)(80,1.5,.8)),o=Object(r.f)(Object(i.b)(260,.75,.35),Object(i.b)(80,1.5,.8)),a=Object(i.b)();e.b=function(t){(t<0||t>1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return a.h=360*t-100,a.s=1.5-1.5*e,a.l=.8-.9*e,a+""}},function(t,e,n){"use strict";function i(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}n.d(e,"c",function(){return A}),n.d(e,"b",function(){return o}),n.d(e,"d",function(){return a});var r=n(140);e.a=i(Object(r.a)("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var A=i(Object(r.a)("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),o=i(Object(r.a)("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),a=i(Object(r.a)("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"))},function(t,e,n){"use strict";function i(t){function e(e){var i=(e-n)/(A-n);return t(o?Math.max(0,Math.min(1,i)):i)}var n=0,A=1,o=!1;return e.domain=function(t){return arguments.length?(n=+t[0],A=+t[1],e):[n,A]},e.clamp=function(t){return arguments.length?(o=!!t,e):o},e.interpolator=function(n){return arguments.length?(t=n,e):t},e.copy=function(){return i(t).domain([n,A]).clamp(o)},Object(r.b)(e)}e.a=i;var r=n(139)},function(t,e,n){"use strict";var i=n(27),r=n(1455),A=n(1456);i.m.prototype.interrupt=r.a,i.m.prototype.transition=A.a},function(t,e,n){"use strict";var i=n(594);e.a=function(t){return this.each(function(){Object(i.a)(this,t)})}},function(t,e,n){"use strict";function i(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))return c.time=Object(a.b)(),c;return n}var r=n(65),A=n(44),o=n(293),a=n(198),c={time:null,delay:0,duration:250,ease:o.o};e.a=function(t){var e,n;t instanceof r.a?(e=t._id,t=t._name):(e=Object(r.c)(),(n=c).time=Object(a.b)(),t=null==t?null:t+"");for(var o=this._groups,s=o.length,u=0;u<s;++u)for(var g,l=o[u],M=l.length,h=0;h<M;++h)(g=l[h])&&Object(A.e)(g,t,e,h,l,n||i(g,e));return new r.a(o,this._parents,t,e)}},function(t,e,n){"use strict";function i(t){return function(){this.removeAttribute(t)}}function r(t){return function(){this.removeAttributeNS(t.space,t.local)}}function A(t,e,n){var i,r;return function(){var A=this.getAttribute(t);return A===n?null:A===i?r:r=e(i=A,n)}}function o(t,e,n){var i,r;return function(){var A=this.getAttributeNS(t.space,t.local);return A===n?null:A===i?r:r=e(i=A,n)}}function a(t,e,n){var i,r,A;return function(){var o,a=n(this);return null==a?void this.removeAttribute(t):(o=this.getAttribute(t),o===a?null:o===i&&a===r?A:A=e(i=o,r=a))}}function c(t,e,n){var i,r,A;return function(){var o,a=n(this);return null==a?void this.removeAttributeNS(t.space,t.local):(o=this.getAttributeNS(t.space,t.local),o===a?null:o===i&&a===r?A:A=e(i=o,r=a))}}var s=n(47),u=n(27),g=n(207),l=n(595);e.a=function(t,e){var n=Object(u.i)(t),M="transform"===n?s.u:l.a;return this.attrTween(t,"function"==typeof e?(n.local?c:a)(n,M,Object(g.b)(this,"attr."+t,e)):null==e?(n.local?r:i)(n):(n.local?o:A)(n,M,e+""))}},function(t,e,n){"use strict";function i(t,e){function n(){var n=this,i=e.apply(n,arguments);return i&&function(e){n.setAttributeNS(t.space,t.local,i(e))}}return n._value=e,n}function r(t,e){function n(){var n=this,i=e.apply(n,arguments);return i&&function(e){n.setAttribute(t,i(e))}}return n._value=e,n}var A=n(27);e.a=function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;var o=Object(A.i)(t);return this.tween(n,(o.local?i:r)(o,e))}},function(t,e,n){"use strict";function i(t,e){return function(){Object(A.g)(this,t).delay=+e.apply(this,arguments)}}function r(t,e){return e=+e,function(){Object(A.g)(this,t).delay=e}}var A=n(44);e.a=function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?i:r)(e,t)):Object(A.f)(this.node(),e).delay}},function(t,e,n){"use strict";function i(t,e){return function(){Object(A.h)(this,t).duration=+e.apply(this,arguments)}}function r(t,e){return e=+e,function(){Object(A.h)(this,t).duration=e}}var A=n(44);e.a=function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?i:r)(e,t)):Object(A.f)(this.node(),e).duration}},function(t,e,n){"use strict";function i(t,e){if("function"!=typeof e)throw new Error;return function(){Object(r.h)(this,t).ease=e}}var r=n(44);e.a=function(t){var e=this._id;return arguments.length?this.each(i(e,t)):Object(r.f)(this.node(),e).ease}},function(t,e,n){"use strict";var i=n(27),r=n(65);e.a=function(t){"function"!=typeof t&&(t=Object(i.g)(t));for(var e=this._groups,n=e.length,A=new Array(n),o=0;o<n;++o)for(var a,c=e[o],s=c.length,u=A[o]=[],g=0;g<s;++g)(a=c[g])&&t.call(a,a.__data__,g,c)&&u.push(a);return new r.a(A,this._parents,this._name,this._id)}},function(t,e,n){"use strict";var i=n(65);e.a=function(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,A=n.length,o=Math.min(r,A),a=new Array(r),c=0;c<o;++c)for(var s,u=e[c],g=n[c],l=u.length,M=a[c]=new Array(l),h=0;h<l;++h)(s=u[h]||g[h])&&(M[h]=s);for(;c<r;++c)a[c]=e[c];return new i.a(a,this._parents,this._name,this._id)}},function(t,e,n){"use strict";function i(t){return(t+"").trim().split(/^|\s+/).every(function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t})}function r(t,e,n){var r,o,a=i(e)?A.g:A.h;return function(){var i=a(this,t),A=i.on;A!==r&&(o=(r=A).copy()).on(e,n),i.on=o}}var A=n(44);e.a=function(t,e){var n=this._id;return arguments.length<2?Object(A.f)(this.node(),n).on.on(t):this.each(r(n,t,e))}},function(t,e,n){"use strict";function i(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}e.a=function(){return this.on("end.remove",i(this._id))}},function(t,e,n){"use strict";var i=n(27),r=n(65),A=n(44);e.a=function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=Object(i.n)(t));for(var o=this._groups,a=o.length,c=new Array(a),s=0;s<a;++s)for(var u,g,l=o[s],M=l.length,h=c[s]=new Array(M),d=0;d<M;++d)(u=l[d])&&(g=t.call(u,u.__data__,d,l))&&("__data__"in u&&(g.__data__=u.__data__),h[d]=g,Object(A.e)(h[d],e,n,d,h,Object(A.f)(u,n)));return new r.a(c,this._parents,e,n)}},function(t,e,n){"use strict";var i=n(27),r=n(65),A=n(44);e.a=function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=Object(i.o)(t));for(var o=this._groups,a=o.length,c=[],s=[],u=0;u<a;++u)for(var g,l=o[u],M=l.length,h=0;h<M;++h)if(g=l[h]){for(var d,f=t.call(g,g.__data__,h,l),I=Object(A.f)(g,n),E=0,T=f.length;E<T;++E)(d=f[E])&&Object(A.e)(d,e,n,E,f,I);c.push(f),s.push(g)}return new r.a(c,s,e,n)}},function(t,e,n){"use strict";var i=n(27),r=i.m.prototype.constructor;e.a=function(){return new r(this._groups,this._parents)}},function(t,e,n){"use strict";function i(t,e){var n,i,r;return function(){var A=Object(c.p)(this,t),o=(this.style.removeProperty(t),Object(c.p)(this,t));return A===o?null:A===n&&o===i?r:r=e(n=A,i=o)}}function r(t){return function(){this.style.removeProperty(t)}}function A(t,e,n){var i,r;return function(){var A=Object(c.p)(this,t);return A===n?null:A===i?r:r=e(i=A,n)}}function o(t,e,n){var i,r,A;return function(){var o=Object(c.p)(this,t),a=n(this);return null==a&&(this.style.removeProperty(t),a=Object(c.p)(this,t)),o===a?null:o===i&&a===r?A:A=e(i=o,r=a)}}var a=n(47),c=n(27),s=n(207),u=n(595);e.a=function(t,e,n){var c="transform"==(t+="")?a.t:u.a;return null==e?this.styleTween(t,i(t,c)).on("end.style."+t,r(t)):this.styleTween(t,"function"==typeof e?o(t,c,Object(s.b)(this,"style."+t,e)):A(t,c,e+""),n)}},function(t,e,n){"use strict";function i(t,e,n){function i(){var i=this,r=e.apply(i,arguments);return r&&function(e){i.style.setProperty(t,r(e),n)}}return i._value=e,i}e.a=function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw new Error;return this.tween(r,i(t,e,null==n?"":n))}},function(t,e,n){"use strict";function i(t){return function(){this.textContent=t}}function r(t){return function(){var e=t(this);this.textContent=null==e?"":e}}var A=n(207);e.a=function(t){return this.tween("text","function"==typeof t?r(Object(A.b)(this,"text",t)):i(null==t?"":t+""))}},function(t,e,n){"use strict";var i=n(65),r=n(44);e.a=function(){for(var t=this._name,e=this._id,n=Object(i.c)(),A=this._groups,o=A.length,a=0;a<o;++a)for(var c,s=A[a],u=s.length,g=0;g<u;++g)if(c=s[g]){var l=Object(r.f)(c,e);Object(r.e)(c,t,n,g,s,{time:l.time+l.delay+l.duration,delay:0,duration:l.duration,ease:l.ease})}return new i.a(A,this._parents,t,n)}},function(t,e,n){"use strict";var i=n(65),r=n(44),A=[null];e.a=function(t,e){var n,o,a=t.__transition;if(a){e=null==e?null:e+"";for(o in a)if((n=a[o]).state>r.c&&n.name===e)return new i.a([[t]],A,e,+o)}return null}},function(t,e,n){"use strict";var i=n(1475);n.d(e,"a",function(){return i.a});var r=n(596);n.d(e,"c",function(){return r.b}),n.d(e,"b",function(){return r.c})},function(t,e,n){"use strict";function i(){return!l.e.button}function r(){var t,e,n=this;return n instanceof SVGElement?(n=n.ownerSVGElement||n,t=n.width.baseVal.value,e=n.height.baseVal.value):(t=n.clientWidth,e=n.clientHeight),[[0,0],[t,e]]}function A(){return this.__zoom||f.c}function o(){return-l.e.deltaY*(l.e.deltaMode?120:1)/500}function a(){return"ontouchstart"in this}function c(t,e,n){var i=t.invertX(e[0][0])-n[0][0],r=t.invertX(e[1][0])-n[1][0],A=t.invertY(e[0][1])-n[0][1],o=t.invertY(e[1][1])-n[1][1];return t.translate(r>i?(i+r)/2:Math.min(0,i)||Math.max(0,r),o>A?(A+o)/2:Math.min(0,A)||Math.max(0,o))}var s=n(36),u=n(548),g=n(47),l=n(27),M=n(593),h=n(1476),d=n(1477),f=n(596),I=n(1478);e.a=function(){function t(t){t.property("__zoom",A).on("wheel.zoom",p).on("mousedown.zoom",C).on("dblclick.zoom",D).filter(Y).on("touchstart.zoom",x).on("touchmove.zoom",B).on("touchend.zoom touchcancel.zoom",w).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function e(t,e){return e=Math.max(b[0],Math.min(b[1],e)),e===t.k?t:new f.a(e,t.x,t.y)}function n(t,e,n){var i=e[0]-n[0]*t.k,r=e[1]-n[1]*t.k;return i===t.x&&r===t.y?t:new f.a(t.k,i,r)}function E(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function T(t,e,n){t.on("start.zoom",function(){N(this,arguments).start()}).on("interrupt.zoom end.zoom",function(){N(this,arguments).end()}).tween("zoom",function(){var t=this,i=arguments,r=N(t,i),A=j.apply(t,i),o=n||E(A),a=Math.max(A[1][0]-A[0][0],A[1][1]-A[0][1]),c=t.__zoom,s="function"==typeof e?e.apply(t,i):e,u=U(c.invert(o).concat(a/c.k),s.invert(o).concat(a/s.k));return function(t){if(1===t)t=s;else{var e=u(t),n=a/e[2];t=new f.a(n,o[0]-e[0]*n,o[1]-e[1]*n)}r.zoom(null,t)}})}function N(t,e){for(var n,i=0,r=F.length;i<r;++i)if((n=F[i]).that===t)return n;return new y(t,e)}function y(t,e){this.that=t,this.args=e,this.index=-1,this.active=0,this.extent=j.apply(t,e)}function p(){function t(){i.wheel=null,i.end()}if(v.apply(this,arguments)){var i=N(this,arguments),r=this.__zoom,A=Math.max(b[0],Math.min(b[1],r.k*Math.pow(2,S.apply(this,arguments)))),o=Object(l.h)(this);if(i.wheel)i.mouse[0][0]===o[0]&&i.mouse[0][1]===o[1]||(i.mouse[1]=r.invert(i.mouse[0]=o)),clearTimeout(i.wheel);else{if(r.k===A)return;i.mouse=[o,r.invert(o)],Object(M.b)(this),i.start()}Object(I.a)(),i.wheel=setTimeout(t,G),i.zoom("mouse",L(n(e(r,A),i.mouse[0],i.mouse[1]),i.extent,O))}}function C(){function t(){if(Object(I.a)(),!i.moved){var t=l.e.clientX-o,e=l.e.clientY-a;i.moved=t*t+e*e>H}i.zoom("mouse",L(n(i.that.__zoom,i.mouse[0]=Object(l.h)(i.that),i.mouse[1]),i.extent,O))}function e(){r.on("mousemove.zoom mouseup.zoom",null),Object(u.c)(l.e.view,i.moved),Object(I.a)(),i.end()}if(!Q&&v.apply(this,arguments)){var i=N(this,arguments),r=Object(l.k)(l.e.view).on("mousemove.zoom",t,!0).on("mouseup.zoom",e,!0),A=Object(l.h)(this),o=l.e.clientX,a=l.e.clientY;Object(u.b)(l.e.view),Object(I.b)(),i.mouse=[A,this.__zoom.invert(A)],Object(M.b)(this),i.start()}}function D(){if(v.apply(this,arguments)){var i=this.__zoom,r=Object(l.h)(this),A=i.invert(r),o=i.k*(l.e.shiftKey?.5:2),a=L(n(e(i,o),r,A),j.apply(this,arguments),O);Object(I.a)(),z>0?Object(l.k)(this).transition().duration(z).call(T,a,r):Object(l.k)(this).call(t.transform,a)}}function x(){if(v.apply(this,arguments)){var t,e,n,i,r=N(this,arguments),A=l.e.changedTouches,o=A.length;for(Object(I.b)(),e=0;e<o;++e)n=A[e],i=Object(l.q)(this,A,n.identifier),i=[i,this.__zoom.invert(i),n.identifier],r.touch0?r.touch1||(r.touch1=i):(r.touch0=i,t=!0);if(m&&(m=clearTimeout(m),!r.touch1))return r.end(),void((i=Object(l.k)(this).on("dblclick.zoom"))&&i.apply(this,arguments));t&&(m=setTimeout(function(){m=null},R),Object(M.b)(this),r.start())}}function B(){var t,i,r,A,o=N(this,arguments),a=l.e.changedTouches,c=a.length;for(Object(I.a)(),m&&(m=clearTimeout(m)),t=0;t<c;++t)i=a[t],r=Object(l.q)(this,a,i.identifier),o.touch0&&o.touch0[2]===i.identifier?o.touch0[0]=r:o.touch1&&o.touch1[2]===i.identifier&&(o.touch1[0]=r);if(i=o.that.__zoom,o.touch1){var s=o.touch0[0],u=o.touch0[1],g=o.touch1[0],M=o.touch1[1],h=(h=g[0]-s[0])*h+(h=g[1]-s[1])*h,d=(d=M[0]-u[0])*d+(d=M[1]-u[1])*d;i=e(i,Math.sqrt(h/d)),r=[(s[0]+g[0])/2,(s[1]+g[1])/2],A=[(u[0]+M[0])/2,(u[1]+M[1])/2]}else{if(!o.touch0)return;r=o.touch0[0],A=o.touch0[1]}o.zoom("touch",L(n(i,r,A),o.extent,O))}function w(){var t,e,n=N(this,arguments),i=l.e.changedTouches,r=i.length;for(Object(I.b)(),Q&&clearTimeout(Q),Q=setTimeout(function(){Q=null},R),t=0;t<r;++t)e=i[t],n.touch0&&n.touch0[2]===e.identifier?delete n.touch0:n.touch1&&n.touch1[2]===e.identifier&&delete n.touch1;n.touch1&&!n.touch0&&(n.touch0=n.touch1,delete n.touch1),n.touch0?n.touch0[1]=this.__zoom.invert(n.touch0[0]):n.end()}var m,Q,v=i,j=r,L=c,S=o,Y=a,b=[0,1/0],O=[[-1/0,-1/0],[1/0,1/0]],z=250,U=g.v,F=[],k=Object(s.dispatch)("start","zoom","end"),R=500,G=150,H=0;return t.transform=function(t,e){var n=t.selection?t.selection():t;n.property("__zoom",A),t!==n?T(t,e):n.interrupt().each(function(){N(this,arguments).start().zoom(null,"function"==typeof e?e.apply(this,arguments):e).end()})},t.scaleBy=function(e,n){t.scaleTo(e,function(){return this.__zoom.k*("function"==typeof n?n.apply(this,arguments):n)})},t.scaleTo=function(i,r){t.transform(i,function(){var t=j.apply(this,arguments),i=this.__zoom,A=E(t),o=i.invert(A),a="function"==typeof r?r.apply(this,arguments):r;return L(n(e(i,a),A,o),t,O)})},t.translateBy=function(e,n,i){t.transform(e,function(){return L(this.__zoom.translate("function"==typeof n?n.apply(this,arguments):n,"function"==typeof i?i.apply(this,arguments):i),j.apply(this,arguments),O)})},t.translateTo=function(e,n,i){t.transform(e,function(){var t=j.apply(this,arguments),e=this.__zoom,r=E(t);return L(f.c.translate(r[0],r[1]).scale(e.k).translate("function"==typeof n?-n.apply(this,arguments):-n,"function"==typeof i?-i.apply(this,arguments):-i),t,O)})},y.prototype={start:function(){return 1==++this.active&&(this.index=F.push(this)-1,this.emit("start")),this},zoom:function(t,e){return this.mouse&&"mouse"!==t&&(this.mouse[1]=e.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=e.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=e.invert(this.touch1[0])),this.that.__zoom=e,this.emit("zoom"),this},end:function(){return 0==--this.active&&(F.splice(this.index,1),this.index=-1,this.emit("end")),this},emit:function(e){Object(l.d)(new d.a(t,e,this.that.__zoom),k.apply,k,[e,this.that,this.args])}},t.wheelDelta=function(e){return arguments.length?(S="function"==typeof e?e:Object(h.a)(+e),t):S},t.filter=function(e){return arguments.length?(v="function"==typeof e?e:Object(h.a)(!!e),t):v},t.touchable=function(e){return arguments.length?(Y="function"==typeof e?e:Object(h.a)(!!e),t):Y},t.extent=function(e){return arguments.length?(j="function"==typeof e?e:Object(h.a)([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),t):j},t.scaleExtent=function(e){return arguments.length?(b[0]=+e[0],b[1]=+e[1],t):[b[0],b[1]]},t.translateExtent=function(e){return arguments.length?(O[0][0]=+e[0][0],O[1][0]=+e[1][0],O[0][1]=+e[0][1],O[1][1]=+e[1][1],t):[[O[0][0],O[0][1]],[O[1][0],O[1][1]]]},t.constrain=function(e){return arguments.length?(L=e,t):L},t.duration=function(e){return arguments.length?(z=+e,t):z},t.interpolate=function(e){return arguments.length?(U=e,t):U},t.on=function(){var e=k.on.apply(k,arguments);return e===k?t:e},t.clickDistance=function(e){return arguments.length?(H=(e=+e)*e,t):Math.sqrt(H)},t}},function(t,e,n){"use strict";e.a=function(t){return function(){return t}}},function(t,e,n){"use strict";function i(t,e,n){this.target=t,this.type=e,this.transform=n}e.a=i},function(t,e,n){"use strict";function i(){r.e.stopImmediatePropagation()}e.b=i;var r=n(27);e.a=function(){r.e.preventDefault(),r.e.stopImmediatePropagation()}},function(t,e,n){t.exports=n(1480)},function(t,e,n){var i,r,A;(function(){var n,o,a,c,s,u,g,l,M,h,d,f,I,E,T;a=Math.floor,h=Math.min,o=function(t,e){return t<e?-1:t>e?1:0},M=function(t,e,n,i,r){var A;if(null==n&&(n=0),null==r&&(r=o),n<0)throw new Error("lo must be non-negative");for(null==i&&(i=t.length);n<i;)A=a((n+i)/2),r(e,t[A])<0?i=A:n=A+1;return[].splice.apply(t,[n,n-n].concat(e)),e},u=function(t,e,n){return null==n&&(n=o),t.push(e),E(t,0,t.length-1,n)},s=function(t,e){var n,i;return null==e&&(e=o),n=t.pop(),t.length?(i=t[0],t[0]=n,T(t,0,e)):i=n,i},l=function(t,e,n){var i;return null==n&&(n=o),i=t[0],t[0]=e,T(t,0,n),i},g=function(t,e,n){var i;return null==n&&(n=o),t.length&&n(t[0],e)<0&&(i=[t[0],e],e=i[0],t[0]=i[1],T(t,0,n)),e},c=function(t,e){var n,i,r,A,c,s;for(null==e&&(e=o),A=function(){s=[];for(var e=0,n=a(t.length/2);0<=n?e<n:e>n;0<=n?e++:e--)s.push(e);return s}.apply(this).reverse(),c=[],i=0,r=A.length;i<r;i++)n=A[i],c.push(T(t,n,e));return c},I=function(t,e,n){var i;if(null==n&&(n=o),-1!==(i=t.indexOf(e)))return E(t,0,i,n),T(t,i,n)},d=function(t,e,n){var i,r,A,a,s;if(null==n&&(n=o),r=t.slice(0,e),!r.length)return r;for(c(r,n),s=t.slice(e),A=0,a=s.length;A<a;A++)i=s[A],g(r,i,n);return r.sort(n).reverse()},f=function(t,e,n){var i,r,A,a,u,g,l,d,f;if(null==n&&(n=o),10*e<=t.length){if(A=t.slice(0,e).sort(n),!A.length)return A;for(r=A[A.length-1],l=t.slice(e),a=0,g=l.length;a<g;a++)i=l[a],n(i,r)<0&&(M(A,i,0,null,n),A.pop(),r=A[A.length-1]);return A}for(c(t,n),f=[],u=0,d=h(e,t.length);0<=d?u<d:u>d;0<=d?++u:--u)f.push(s(t,n));return f},E=function(t,e,n,i){var r,A,a;for(null==i&&(i=o),r=t[n];n>e&&(a=n-1>>1,A=t[a],i(r,A)<0);)t[n]=A,n=a;return t[n]=r},T=function(t,e,n){var i,r,A,a,c;for(null==n&&(n=o),r=t.length,c=e,A=t[e],i=2*e+1;i<r;)a=i+1,a<r&&!(n(t[i],t[a])<0)&&(i=a),t[e]=t[i],e=i,i=2*e+1;return t[e]=A,E(t,c,e,n)},n=function(){function t(t){this.cmp=null!=t?t:o,this.nodes=[]}return t.push=u,t.pop=s,t.replace=l,t.pushpop=g,t.heapify=c,t.updateItem=I,t.nlargest=d,t.nsmallest=f,t.prototype.push=function(t){return u(this.nodes,t,this.cmp)},t.prototype.pop=function(){return s(this.nodes,this.cmp)},t.prototype.peek=function(){return this.nodes[0]},t.prototype.contains=function(t){return-1!==this.nodes.indexOf(t)},t.prototype.replace=function(t){return l(this.nodes,t,this.cmp)},t.prototype.pushpop=function(t){return g(this.nodes,t,this.cmp)},t.prototype.heapify=function(){return c(this.nodes,this.cmp)},t.prototype.updateItem=function(t){return I(this.nodes,t,this.cmp)},t.prototype.clear=function(){return this.nodes=[]},t.prototype.empty=function(){return 0===this.nodes.length},t.prototype.size=function(){return this.nodes.length},t.prototype.clone=function(){var e;return e=new t,e.nodes=this.nodes.slice(0),e},t.prototype.toArray=function(){return this.nodes.slice(0)},t.prototype.insert=t.prototype.push,t.prototype.top=t.prototype.peek,t.prototype.front=t.prototype.peek,t.prototype.has=t.prototype.contains,t.prototype.copy=t.prototype.clone,t}(),function(n,o){r=[],i=o,void 0!==(A="function"==typeof i?i.apply(e,r):i)&&(t.exports=A)}(0,function(){return n})}).call(this)},function(t,e,n){(function(t){!function(t,i){i(e,n(14),n(36))}(0,function(e,n,i){"use strict";function r(t){var e=void 0===t?"undefined":B(t);return null!=t&&("object"==e||"function"==e)}function A(t){var e=r(t)?O.call(t):"";return e==L||e==S||e==Y}function o(t){return null!=t&&"object"==(void 0===t?"undefined":B(t))}function a(t){return"symbol"==(void 0===t?"undefined":B(t))||o(t)&&H.call(t)==R}function c(t){if("number"==typeof t)return t;if(a(t))return J;if(r(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=r(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(P,"");var n=V.test(t);return n||W.test(t)?_(t.slice(2),n?2:8):X.test(t)?J:+t}function s(t,e,n){function i(e){var n=h,i=d;return h=d=void 0,N=e,I=t.apply(i,n)}function A(t){return N=t,E=setTimeout(s,e),y?i(t):I}function o(t){var n=t-T,i=t-N,r=e-n;return p?q(r,f-i):r}function a(t){var n=t-T,i=t-N;return void 0===T||n>=e||0>n||p&&i>=f}function s(){var t=k();return a(t)?u(t):void(E=setTimeout(s,o(t)))}function u(t){return E=void 0,C&&h?i(t):(h=d=void 0,I)}function g(){void 0!==E&&clearTimeout(E),N=0,h=T=d=E=void 0}function l(){return void 0===E?I:u(k())}function M(){var t=k(),n=a(t);if(h=arguments,d=this,T=t,n){if(void 0===E)return A(T);if(p)return E=setTimeout(s,e),i(T)}return void 0===E&&(E=setTimeout(s,e)),I}var h,d,f,I,E,T,N=0,y=!1,p=!1,C=!0;if("function"!=typeof t)throw new TypeError(Z);return e=c(e)||0,r(n)&&(y=!!n.leading,p="maxWait"in n,f=p?K(c(n.maxWait)||0,e):f,C="trailing"in n?!!n.trailing:C),M.cancel=g,M.flush=l,M}function u(t,e,n){var i=!0,A=!0;if("function"!=typeof t)throw new TypeError($);return r(n)&&(i="leading"in n?!!n.leading:i,A="trailing"in n?!!n.trailing:A),s(t,e,{leading:i,maxWait:e,trailing:A})}function g(t){return null==t?"":String(t).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function l(t){return null==t?"\\s":t.source?t.source:"["+g(t)+"]"}function M(t,e){if(null==t)return"";if(!e&&tt)return tt.call(t);var n=l(e),i=new RegExp("^"+n+"+|"+n+"+$","g");return String(t).replace(i,"")}function h(t){return M(t).replace(/([A-Z])/g,"-$1").replace(/[-_\s]+/g,"-").toLowerCase()}function d(t){t=t||{};for(var e=1;e<arguments.length;e++){var n=arguments[e];if(n)for(var i in n)if(n.hasOwnProperty(i)){var o=n[i];t[i]=!r(o)||Array.isArray(o)||A(o)?o:d(t[i],o)}}return t}function f(t){t=t||{};for(var e=1;e<arguments.length;e++)if(arguments[e])for(var n in arguments[e])arguments[e].hasOwnProperty(n)&&(t[n]=arguments[e][n]);return t}function I(t,e,n){return function(){var i=n.apply(e,arguments);return i===e?t:i}}function E(t,e){for(var n=1,i=arguments.length,r=void 0;++n<i;)t[r=arguments[n]]=I(t,e,e[r]);return t}function T(t){return A(t)?t:function(){return t}}function N(t){throw new Error("Missing parameter "+t)}function y(t){return null!==t&&void 0!==t}function p(t){return null===t||void 0===t}function C(t){return!(!t||1!==t.nodeType)}function D(t){if(p(t))return function(t,e){return Math.min(t,e)};var e=(""+t).trim().toLowerCase();if(e.indexOf("%")>-1){var n=function(){var t=+e.replace("%","")/100;return{v:function(e,n){return n*t}}}();if("object"===(void 0===n?"undefined":B(n)))return n.v}return function(){return+e.replace("px","")}}function x(t){function e(t,e){var n=arguments.length<=2||void 0===arguments[2]?"":arguments[2],i=e.split("."),r=void 0,A=void 0;i.length>1?(A=i[0].length>0?i[0]:c,r=i[1]):(A=c,r=i[0]);var o=""+n+r;if(s.hasOwnProperty(o))throw new Error("invalid or duplicate layer id: "+o);var a=h(r)+"-layer",u=t.append(A).classed(a,!0);return s[o]=u,u}function n(t,i){var A=arguments.length<=2||void 0===arguments[2]?"":arguments[2];if(Array.isArray(i))return i.map(function(e){return n(t,e,A)});if(r(i)){var o=Object.keys(i),a=j(o,1),c=a[0],s=e(t,c,A);return n(s,i[c],""+A+c+"/"),s}return e(t,i,A)}function i(e){return n(t,e)}function A(t){return Array.isArray(t)?t.map(i):i(t)}function o(t){return s[t]}function a(t){return!!s[t]}var c=arguments.length<=1||void 0===arguments[1]?"g":arguments[1],s={};return{create:A,get:o,has:a}}var B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},w=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},m=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),Q=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)},v=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e},j=function(){function t(t,e){var n=[],i=!0,r=!1,A=void 0;try{for(var o,a=t[Symbol.iterator]();!(i=(o=a.next()).done)&&(n.push(o.value),!e||n.length!==e);i=!0);}catch(t){r=!0,A=t}finally{try{!i&&a.return&&a.return()}finally{if(r)throw A}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),L="[object Function]",S="[object GeneratorFunction]",Y="[object Proxy]",b=Object.prototype,O=b.toString,z="object"==(void 0===t?"undefined":B(t))&&t&&t.Object===Object&&t,U="object"==("undefined"==typeof self?"undefined":B(self))&&self&&self.Object===Object&&self,F=z||U||Function("return this")(),k=function(){return F.Date.now()},R="[object Symbol]",G=Object.prototype,H=G.toString,J=NaN,P=/^\s+|\s+$/g,X=/^[-+]0x[0-9a-f]+$/i,V=/^0b[01]+$/i,W=/^0o[0-7]+$/i,_=parseInt,Z="Expected a function",K=Math.max,q=Math.min,$="Expected a function",tt=String.prototype.trim,et=Object.freeze({isObject:r,isFunction:A,kebabCase:h,deepExtend:d,extend:f,rebind:E,functor:T,debounce:s,throttle:u}),nt=function(){function t(){w(this,t);for(var e=arguments.length,n=Array(e),i=0;e>i;i++)n[i]=arguments[i];if(1===n.length){var r=n[0],o=A(r)?r():r;if(o instanceof t)this.width=o.width,this.height=o.height;else if(C(o))this.width=o.clientWidth,this.height=o.clientHeight;else if(Array.isArray(o))this.width=o[0],this.height=o[1];else{if(!(y(o)&&y(o.width)&&y(o.height))){var a=new Error("Unsupported input. Must be either\n DOMNode, Array or Object with field width and height,\n or a function that returns any of the above.");throw a.value=r,a}this.width=o.width,this.height=o.height}}else{var c=n[0],s=n[1];this.width=c,this.height=s}}return m(t,[{key:"isEqual",value:function(e){if(e instanceof t)return this.width===e.width&&this.height===e.height;var n=new t(e);return this.width===n.width&&this.height===n.height}},{key:"toArray",value:function(){return[this.width,this.height]}},{key:"toObject",value:function(){return{width:this.width,height:this.height}}}]),t}(),it=function(){function t(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];w(this,t);var n=e||{},i=n.mode,r=void 0===i?t.MODE_BASIC:i,A=n.width,o=void 0===A?"100%":A,a=n.height,c=void 0===a?null:a,s=n.ratio,u=void 0===s?1:s,g=n.maxWidth,l=void 0===g?null:g,M=n.maxHeight,h=void 0===M?null:M;r===t.MODE_ASPECT_RATIO?(this.wFn=D(l),this.hFn=D(h),this.options={mode:r,ratio:u,maxWidth:l,maxHeight:h}):(this.wFn=D(o),this.hFn=D(c),this.options={mode:r,width:o,height:c})}return m(t,[{key:"fit",value:function(){var e=arguments.length<=0||void 0===arguments[0]?N("box"):arguments[0],n=arguments.length<=1||void 0===arguments[1]?N("container"):arguments[1],i=new nt(e),r=i.width,A=i.height,o=new nt(n),a=o.width,c=o.height,s=void 0;if(this.options.mode===t.MODE_ASPECT_RATIO){var u=this.options.ratio,g=this.wFn(a,a),l=this.hFn(c,c),M=Math.floor(u*l);s=g>=M?new nt(M,l):new nt(g,Math.floor(g/u))}else s=new nt(this.wFn(r,a),this.hFn(A,c));return{dimension:s,changed:!s.isEqual(i)}}}]),t}();it.MODE_BASIC="basic",it.MODE_ASPECT_RATIO="aspectRatio";var rt=function(){function t(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];w(this,t);var n=e||{},i=n.mode,r=void 0===i?t.MODE_WINDOW:i,A=n.target,o=void 0===A?null:A,a=n.interval,c=void 0===a?200:a;r!==t.MODE_POLLING||o||N("options.target"),this.mode=r,this.target=o,this.interval=c,this.check=this.check.bind(this),this.throttledCheck=u(this.check,this.interval),this.isWatching=!1,this.listeners={change:[]}}return m(t,[{key:"hasTargetChanged",value:function(){if(!this.target)return!0;var t=new nt(this.target);return(!this.currentDim||!t.isEqual(this.currentDim))&&(this.currentDim=t,!0)}},{key:"check",value:function(){return this.hasTargetChanged()&&this.dispatch("change",this.currentDim),this}},{key:"dispatch",value:function(t){for(var e=this,n=arguments.length,i=Array(n>1?n-1:0),r=1;n>r;r++)i[r-1]=arguments[r];return this.listeners[t].forEach(function(t){return t.apply(e,i)}),this}},{key:"on",value:function(t,e){return-1===this.listeners[t].indexOf(e)&&this.listeners[t].push(e),this}},{key:"off",value:function(t,e){return this.listeners[t]=this.listeners[t].filter(function(t){return t!==e}),this}},{key:"start",value:function(){return this.isWatching||(this.target&&(this.currentDim=new nt(this.target)),this.mode===t.MODE_WINDOW?window.addEventListener("resize",this.throttledCheck):this.mode===t.MODE_POLLING&&(this.intervalId=window.setInterval(this.check,this.interval)),this.isWatching=!0),this}},{key:"stop",value:function(){return this.isWatching&&(this.mode===t.MODE_WINDOW?window.removeEventListener("resize",this.throttledCheck):this.mode===t.MODE_POLLING&&this.intervalId&&(window.clearInterval(this.intervalId),this.intervalId=null),this.isWatching=!1),this}},{key:"destroy",value:function(){return this.stop(),this.listeners.change=[],this}}]),t}();rt.MODE_WINDOW="window",rt.MODE_POLLING="polling";var At=function(t){function e(){var t=arguments.length<=0||void 0===arguments[0]?N("box"):arguments[0],n=arguments.length<=1||void 0===arguments[1]?N("container"):arguments[1],i=arguments[2],r=arguments[3];w(this,e);var A=v(this,Object.getPrototypeOf(e).call(this,r)),o=new it(i);return A.fit=function(){return o.fit(t,n)},A}return Q(e,t),m(e,[{key:"check",value:function(){if(this.hasTargetChanged()){var t=this.fit(),e=t.changed,n=t.dimension;e&&this.dispatch("change",n)}return this}}]),e}(rt),ot=function(){function t(){w(this,t);for(var e=arguments.length,n=Array(e),i=0;e>i;i++)n[i]=arguments[i];var r=d.apply(void 0,[this.constructor.getDefaultOptions()].concat(n));this._state={width:r.initialWidth,height:r.initialHeight,options:r},this._updateDimension=s(this._updateDimension.bind(this),1)}return m(t,null,[{key:"getDefaultOptions",value:function(){for(var t=arguments.length,e=Array(t),n=0;t>n;n++)e[n]=arguments[n];return d.apply(void 0,[{initialWidth:720,initialHeight:500,margin:{top:30,right:30,bottom:30,left:30},offset:[.5,.5],pixelRatio:window.devicePixelRatio||1}].concat(e))}}]),m(t,[{key:"copyDimension",value:function(t){if(t){var e=t._state,n=e.width,i=e.height,r=t._state.options,A=r.offset,o=r.margin,a=r.pixelRatio;d(this._state,{width:n,height:i,options:{offset:A.concat(),margin:o,pixelRatio:a}}),this._updateDimension()}return this}},{key:"width",value:function(){if(0===arguments.length)return this._state.width;var t=Math.floor(+(arguments.length<=0?void 0:arguments[0]));return t!==this._state.width&&(this._state.width=t,this._updateDimension()),this}},{key:"height",value:function(){if(0===arguments.length)return this._state.height;var t=Math.floor(+(arguments.length<=0?void 0:arguments[0]));return t!==this._state.height&&(this._state.height=t,this._updateDimension()),this}},{key:"dimension",value:function(){if(0===arguments.length)return[this._state.width,this._state.height];var t=arguments.length<=0?void 0:arguments[0],e=j(t,2),n=e[0],i=e[1];return this.width(n).height(i),this}},{key:"margin",value:function(){if(0===arguments.length)return this._state.options.margin;var t=this._state.options.margin,e=f({},this._state.options.margin,arguments.length<=0?void 0:arguments[0]);return Object.keys(e).some(function(n){return t[n]!==e[n]})&&(this._state.options.margin=e,this._updateDimension()),this}},{key:"offset",value:function(){if(0===arguments.length)return this._state.options.offset;var t=arguments.length<=0?void 0:arguments[0],e=j(this._state.options.offset,2),n=e[0],i=e[1],r=j(t,2),A=r[0],o=r[1];return(n!==A||i!==o)&&(this._state.options.offset=t,this._updateDimension()),this}},{key:"pixelRatio",value:function(){if(0===arguments.length)return this._state.options.pixelRatio;var t=+(arguments.length<=0?void 0:arguments[0]);return t!==this._state.options.pixelRatio&&(this._state.options.pixelRatio=t,this._updateDimension()),this}},{key:"_updateDimension",value:function(){return this}},{key:"updateDimensionNow",value:function(){return this._updateDimension(),this._updateDimension.flush(),this}}]),t}(),at=function(t){function e(t){var i;w(this,e);for(var r=arguments.length,A=Array(r>1?r-1:0),o=1;r>o;o++)A[o-1]=arguments[o];var a=v(this,(i=Object.getPrototypeOf(e)).call.apply(i,[this].concat(A)));f(a._state,{innerWidth:0,innerHeight:0,fitOptions:null,data:null,plates:[]}),a.container=n.select(t),a.container.style("line-height",0),a.chartRoot=a.container.append("div").classed("d3kit-chart-root",!0).style("display","inline-block").style("position","relative").style("line-height",0),a.plates={};var c=a.constructor.getCustomEventNames();return a.setupDispatcher(c),a._dispatchData=s(a._dispatchData.bind(a),1),a._dispatchOptions=s(a._dispatchOptions.bind(a),1),a}return Q(e,t),m(e,null,[{key:"getCustomEventNames",value:function(){return[]}}]),m(e,[{key:"addPlate",value:function(t,e,n){if(this.plates[t])throw new Error("Plate with this name already exists",t);return this._state.plates.push(e),this.plates[t]=e,n?e:(e.getSelection().classed("d3kit-plate",!0).style("position","absolute").style("top",0).style("left",0),this.chartRoot.append(function(){return e.getNode()}),this)}},{key:"removePlate",value:function(t){var e=this.plates[t];if(e){var n=this._state.plates.indexOf(e);n>-1&&this._state.plates.splice(n,1),e.getNode().parentNode===this.chartRoot.node()&&this.chartRoot.node().removeChild(e.getNode()),delete this.plates[t]}return this}},{key:"setupDispatcher",value:function(){var t=arguments.length<=0||void 0===arguments[0]?[]:arguments[0];return this._customEventNames=t,this._eventNames=e.DEFAULT_EVENTS.concat(t),this.dispatcher=i.dispatch.apply(this,this._eventNames),this}},{key:"getCustomEventNames",value:function(){return this._customEventNames}},{key:"getInnerWidth",value:function(){return this._state.innerWidth}},{key:"getInnerHeight",value:function(){return this._state.innerHeight}},{key:"data",value:function(){for(var t=arguments.length,e=Array(t),n=0;t>n;n++)e[n]=arguments[n];if(0===e.length)return this._state.data;var i=e[0];return this._state.data=i,this._dispatchData(),this}},{key:"options",value:function(){for(var t=arguments.length,e=Array(t),n=0;t>n;n++)e[n]=arguments[n];if(0===e.length)return this._state.options;var i=e[0],r=f({},i);return i.margin&&(this.margin(i.margin),delete r.margin),i.offset&&(this.offset(i.offset),delete r.offset),i.pixelRatio&&(this.pixelRatio(i.pixelRatio),delete r.pixelRatio),this._state.options=d(this._state.options,r),this._dispatchOptions(),this}},{key:"_updateDimension",value:function(){var t=this,e=this._state,n=e.width,i=e.height,r=e.plates,A=this._state.options.margin,o=A.top,a=A.right,c=A.bottom,s=A.left;this._state.innerWidth=n-s-a,this._state.innerHeight=i-o-c,this.chartRoot.style("width",n+"px").style("height",i+"px"),r.forEach(function(e){e.copyDimension(t).updateDimensionNow()});var u=this._state,g=u.innerWidth,l=u.innerHeight;return this.dispatcher.apply("resize",this,[n,i,g,l]),this}},{key:"hasData",value:function(){var t=this._state.data;return null!==t&&void 0!==t}},{key:"hasNonZeroArea",value:function(){var t=this._state,e=t.innerWidth,n=t.innerHeight;return e>0&&n>0}},{key:"fit",value:function(t){var e=this,n=!(arguments.length<=1||void 0===arguments[1])&&arguments[1];t&&(this._state.fitOptions=t);var i=new it(this._state.fitOptions),A=i.fit(this.dimension(),this.container.node()),o=A.changed,a=A.dimension;return o&&this.dimension([a.width,a.height]),!!n&&(this.fitWatcher&&this.fitWatcher.destroy(),this.fitWatcher=new At(function(){return e.dimension()},this.container.node(),this._state.fitOptions,r(n)?n:null).on("change",function(t){return e.dimension([t.width,t.height])}).start()),this}},{key:"stopFitWatcher",value:function(){return this.fitWatcher&&(this.fitWatcher.destroy(),this.fitWatcher=null),this}},{key:"_dispatchData",value:function(){return this.dispatcher.call("data",this,this._state.data),this}},{key:"_dispatchOptions",value:function(){return this.dispatcher.call("options",this,this._state.options),this}},{key:"on",value:function(t,e){return this.dispatcher.on(t,e),this}},{key:"off",value:function(t){return this.dispatcher.on(t,null),this}},{key:"dispatchAs",value:function(t){var e=this;return function(){for(var n=arguments.length,i=Array(n),r=0;n>r;r++)i[r]=arguments[r];e.dispatcher.apply(t,e,i)}}},{key:"destroy",value:function(){var t=this;return this._eventNames.forEach(function(e){t.off(e)}),this.stopFitWatcher(),this}}]),e}(ot);at.DEFAULT_EVENTS=["data","options","resize"];var ct=function(t){function e(t){var i;w(this,e);for(var r=arguments.length,A=Array(r>1?r-1:0),o=1;r>o;o++)A[o-1]=arguments[o];var a=v(this,(i=Object.getPrototypeOf(e)).call.apply(i,[this].concat(A)));return a.node=t,a.selection=n.select(a.node),a}return Q(e,t),m(e,[{key:"getNode",value:function(){return this.node}},{key:"getSelection",value:function(){return this.selection}}]),e}(ot),st=function(t){function e(){var t;w(this,e);for(var n=arguments.length,i=Array(n),r=0;n>r;r++)i[r]=arguments[r];return v(this,(t=Object.getPrototypeOf(e)).call.apply(t,[this,document.createElement("canvas")].concat(i)))}return Q(e,t),m(e,[{key:"getContext2d",value:function(){var t=(this.width(),this.height(),this.pixelRatio()),e=this.margin(),n=e.top,i=e.left,r=this.offset(),A=j(r,2),o=A[0],a=A[1],c=this.node.getContext("2d");return c.setTransform(1,0,0,1,0,0),c.scale(t,t),c.translate(i+o,n+a),c}},{key:"clear",value:function(){var t=this.width(),e=this.height(),n=this.pixelRatio(),i=this.node.getContext("2d");return i.setTransform(1,0,0,1,0,0),i.scale(n,n),i.clearRect(0,0,t,e),this}},{key:"_updateDimension",value:function(){var t=this.width(),e=this.height(),n=this.pixelRatio();return this.node.setAttribute("width",t*n),this.node.setAttribute("height",e*n),this.node.style.width=t+"px",this.node.style.height=e+"px",this}}]),e}(ct),ut=function(t){function e(t){var n;w(this,e);for(var i=arguments.length,r=Array(i>1?i-1:0),A=1;i>A;A++)r[A-1]=arguments[A];var o=v(this,(n=Object.getPrototypeOf(e)).call.apply(n,[this,t].concat(r)));return o.addPlate("canvas",new st),o.canvas=o.plates.canvas.getSelection(),o.updateDimensionNow(),o}return Q(e,t),m(e,[{key:"getContext2d",value:function(){return this.plates.canvas.getContext2d()}},{key:"clear",value:function(){return this.plates.canvas.clear(),this}}]),e}(at),gt=function(t){function e(){var t;w(this,e);for(var n=arguments.length,i=Array(n),r=0;n>r;r++)i[r]=arguments[r];var A=v(this,(t=Object.getPrototypeOf(e)).call.apply(t,[this,document.createElementNS("http://www.w3.org/2000/svg","svg")].concat(i)));return A.rootG=A.selection.append("g"),A.layers=new x(A.rootG),A}return Q(e,t),m(e,[{key:"_updateDimension",value:function(){var t=this.width(),e=this.height(),n=this.margin(),i=n.top,r=n.left,A=this.offset(),o=j(A,2),a=o[0],c=o[1];return this.selection.attr("width",t).attr("height",e),this.rootG.attr("transform","translate("+(r+a)+","+(i+c)+")"),this}}]),e}(ct),lt=function(t){function e(t){var n;w(this,e);for(var i=arguments.length,r=Array(i>1?i-1:0),A=1;i>A;A++)r[A-1]=arguments[A];var o=v(this,(n=Object.getPrototypeOf(e)).call.apply(n,[this,t].concat(r)));o.addPlate("svg",new gt);var a=o.plates.svg;return o.svg=a.getSelection(),o.rootG=a.rootG,o.layers=a.layers,o.updateDimensionNow(),o}return Q(e,t),e}(ut),Mt=function(t){function e(t){var n;w(this,e);for(var i=arguments.length,r=Array(i>1?i-1:0),A=1;i>A;A++)r[A-1]=arguments[A];var o=v(this,(n=Object.getPrototypeOf(e)).call.apply(n,[this,t].concat(r)));o.addPlate("svg",new gt);var a=o.plates.svg;return o.svg=a.getSelection(),o.rootG=a.rootG,o.layers=a.layers,o.updateDimensionNow(),o}return Q(e,t),e}(at),ht=function(t){function e(){var t;w(this,e);for(var n=arguments.length,i=Array(n),r=0;n>r;r++)i[r]=arguments[r];return v(this,(t=Object.getPrototypeOf(e)).call.apply(t,[this,document.createElement("div")].concat(i)))}return Q(e,t),m(e,[{key:"_updateDimension",value:function(){var t=this.width(),e=this.height(),n=this.margin();return this.node.style.width=t-n.left-n.right+"px",this.node.style.height=e-n.top-n.bottom+"px",this.node.style.marginLeft=n.left+"px",this.node.style.marginRight=n.right+"px",this.node.style.marginTop=n.top+"px",this.node.style.marginBottom=n.bottom+"px",this}}]),e}(ct);e.helper=et,e.AbstractChart=at,e.CanvasChart=ut,e.HybridChart=lt,e.SvgChart=Mt,e.AbstractPlate=ct,e.CanvasPlate=st,e.DivPlate=ht,e.SvgPlate=gt,e.LayerOrganizer=x,Object.defineProperty(e,"__esModule",{value:!0})})}).call(e,n(106))},function(t,e,n){var i,i;!function(e){t.exports=e()}(function(){return function t(e,n,r){function A(a,c){if(!n[a]){if(!e[a]){var s="function"==typeof i&&i;if(!c&&s)return i(a,!0);if(o)return o(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var g=n[a]={exports:{}};e[a][0].call(g.exports,function(t){var n=e[a][1][t];return A(n||t)},g,g.exports,t,e,n,r)}return n[a].exports}for(var o="function"==typeof i&&i,a=0;a<r.length;a++)A(r[a]);return A}({1:[function(t,e,n){"use strict";function i(t){for(var e in t)n.hasOwnProperty(e)||(n[e]=t[e])}Object.defineProperty(n,"__esModule",{value:!0}),i(t("./src/adaptor")),i(t("./src/d3adaptor")),i(t("./src/descent")),i(t("./src/geom")),i(t("./src/gridrouter")),i(t("./src/handledisconnected")),i(t("./src/layout")),i(t("./src/layout3d")),i(t("./src/linklengths")),i(t("./src/powergraph")),i(t("./src/pqueue")),i(t("./src/rbtree")),i(t("./src/rectangle")),i(t("./src/shortestpaths")),i(t("./src/vpsc")),i(t("./src/batch"))},{"./src/adaptor":2,"./src/batch":3,"./src/d3adaptor":4,"./src/descent":7,"./src/geom":8,"./src/gridrouter":9,"./src/handledisconnected":10,"./src/layout":11,"./src/layout3d":12,"./src/linklengths":13,"./src/powergraph":14,"./src/pqueue":15,"./src/rbtree":16,"./src/rectangle":17,"./src/shortestpaths":18,"./src/vpsc":19}],2:[function(t,e,n){"use strict";function i(t){return new o(t)}var r=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(n,"__esModule",{value:!0});var A=t("./layout"),o=function(t){function e(e){var n=t.call(this)||this,i=e;return i.trigger&&(n.trigger=i.trigger),i.kick&&(n.kick=i.kick),i.drag&&(n.drag=i.drag),i.on&&(n.on=i.on),n.dragstart=n.dragStart=A.Layout.dragStart,n.dragend=n.dragEnd=A.Layout.dragEnd,n}return r(e,t),e.prototype.trigger=function(t){},e.prototype.kick=function(){},e.prototype.drag=function(){},e.prototype.on=function(t,e){return this},e}(A.Layout);n.LayoutAdaptor=o,n.adaptor=i},{"./layout":11}],3:[function(t,e,n){"use strict";function i(t,e,n,i){return t.cola.start(0,0,0,10,!1),r(t.cola.nodes(),t.cola.groups(),n,i).routeEdges(t.powerGraph.powerEdges,e,function(t){return t.source.routerNode.id},function(t){return t.target.routerNode.id})}function r(t,e,n,i){t.forEach(function(t){t.routerNode={name:t.name,bounds:t.bounds.inflate(-n)}}),e.forEach(function(e){e.routerNode={bounds:e.bounds.inflate(-i),children:(void 0!==e.groups?e.groups.map(function(e){return t.length+e.id}):[]).concat(void 0!==e.leaves?e.leaves.map(function(t){return t.index}):[])}});var r=t.concat(e).map(function(t,e){return t.routerNode.id=e,t.routerNode});return new a.GridRouter(r,{getChildren:function(t){return t.children},getBounds:function(t){return t.bounds}},n-i)}function A(t,e,n){var i;t.nodes.forEach(function(t,e){return t.index=e}),(new o.Layout).avoidOverlaps(!1).nodes(t.nodes).links(t.links).powerGraphGroups(function(t){i=t,i.groups.forEach(function(t){return t.padding=n})});var r=t.nodes.length,A=[],a=t.nodes.slice(0);return a.forEach(function(t,e){return t.index=e}),i.groups.forEach(function(t){var e=t.index=t.id+r;a.push(t),void 0!==t.leaves&&t.leaves.forEach(function(t){return A.push({source:e,target:t.index})}),void 0!==t.groups&&t.groups.forEach(function(t){return A.push({source:e,target:t.id+r})})}),i.powerEdges.forEach(function(t){A.push({source:t.source.index,target:t.target.index})}),(new o.Layout).size(e).nodes(a).links(A).avoidOverlaps(!1).linkDistance(30).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(100,0,0,0,!1),{cola:(new o.Layout).convergenceThreshold(.001).size(e).avoidOverlaps(!0).nodes(t.nodes).links(t.links).groupCompactness(1e-4).linkDistance(30).symmetricDiffLinkLengths(5).powerGraphGroups(function(t){i=t,i.groups.forEach(function(t){t.padding=n})}).start(50,0,100,0,!1),powerGraph:i}}Object.defineProperty(n,"__esModule",{value:!0});var o=t("./layout"),a=t("./gridrouter");n.gridify=i,n.powerGraphGridLayout=A},{"./gridrouter":9,"./layout":11}],4:[function(t,e,n){"use strict";function i(t){return!t||r(t)?new A.D3StyleLayoutAdaptor:new o.D3StyleLayoutAdaptor(t)}function r(t){var e=/^3\./;return t.version&&null!==t.version.match(e)}Object.defineProperty(n,"__esModule",{value:!0});var A=t("./d3v3adaptor"),o=t("./d3v4adaptor");n.d3adaptor=i},{"./d3v3adaptor":5,"./d3v4adaptor":6}],5:[function(t,e,n){"use strict";function i(){return new o}var r=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(n,"__esModule",{value:!0});var A=t("./layout"),o=function(t){function e(){var e=t.call(this)||this;e.event=d3.dispatch(A.EventType[A.EventType.start],A.EventType[A.EventType.tick],A.EventType[A.EventType.end]);var n=e;return e.drag=function(){if(!t)var t=d3.behavior.drag().origin(A.Layout.dragOrigin).on("dragstart.d3adaptor",A.Layout.dragStart).on("drag.d3adaptor",function(t){A.Layout.drag(t,d3.event),n.resume()}).on("dragend.d3adaptor",A.Layout.dragEnd);if(!arguments.length)return t;this.call(t)},e}return r(e,t),e.prototype.trigger=function(t){var e={type:A.EventType[t.type],alpha:t.alpha,stress:t.stress};this.event[e.type](e)},e.prototype.kick=function(){var e=this;d3.timer(function(){return t.prototype.tick.call(e)})},e.prototype.on=function(t,e){return"string"==typeof t?this.event.on(t,e):this.event.on(A.EventType[t],e),this},e}(A.Layout);n.D3StyleLayoutAdaptor=o,n.d3adaptor=i},{"./layout":11}],6:[function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(n,"__esModule",{value:!0});var r=t("./layout"),A=function(t){function e(e){var n=t.call(this)||this;n.d3Context=e,n.event=e.dispatch(r.EventType[r.EventType.start],r.EventType[r.EventType.tick],r.EventType[r.EventType.end]);var i=n;return n.drag=function(){if(!t)var t=e.drag().subject(r.Layout.dragOrigin).on("start.d3adaptor",r.Layout.dragStart).on("drag.d3adaptor",function(t){r.Layout.drag(t,e.event),i.resume()}).on("end.d3adaptor",r.Layout.dragEnd);if(!arguments.length)return t;arguments[0].call(t)},n}return i(e,t),e.prototype.trigger=function(t){var e={type:r.EventType[t.type],alpha:t.alpha,stress:t.stress};this.event.call(e.type,e)},e.prototype.kick=function(){var e=this,n=this.d3Context.timer(function(){return t.prototype.tick.call(e)&&n.stop()})},e.prototype.on=function(t,e){return"string"==typeof t?this.event.on(t,e):this.event.on(r.EventType[t],e),this},e}(r.Layout);n.D3StyleLayoutAdaptor=A},{"./layout":11}],7:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=function(){function t(){this.locks={}}return t.prototype.add=function(t,e){this.locks[t]=e},t.prototype.clear=function(){this.locks={}},t.prototype.isEmpty=function(){for(var t in this.locks)return!1;return!0},t.prototype.apply=function(t){for(var e in this.locks)t(Number(e),this.locks[e])},t}();n.Locks=i;var r=function(){function t(t,e,n){void 0===n&&(n=null),this.D=e,this.G=n,this.threshold=1e-4,this.numGridSnapNodes=0,this.snapGridSize=100,this.snapStrength=1e3,this.scaleSnapByMaxH=!1,this.random=new A,this.project=null,this.x=t,this.k=t.length;var r=this.n=t[0].length;this.H=new Array(this.k),this.g=new Array(this.k),this.Hd=new Array(this.k),this.a=new Array(this.k),this.b=new Array(this.k),this.c=new Array(this.k),this.d=new Array(this.k),this.e=new Array(this.k),this.ia=new Array(this.k),this.ib=new Array(this.k),this.xtmp=new Array(this.k),this.locks=new i,this.minD=Number.MAX_VALUE;for(var o,a=r;a--;)for(o=r;--o>a;){var c=e[a][o];c>0&&c<this.minD&&(this.minD=c)}for(this.minD===Number.MAX_VALUE&&(this.minD=1),a=this.k;a--;){for(this.g[a]=new Array(r),this.H[a]=new Array(r),o=r;o--;)this.H[a][o]=new Array(r);this.Hd[a]=new Array(r),this.a[a]=new Array(r),this.b[a]=new Array(r),this.c[a]=new Array(r),this.d[a]=new Array(r),this.e[a]=new Array(r),this.ia[a]=new Array(r),this.ib[a]=new Array(r),this.xtmp[a]=new Array(r)}}return t.createSquareMatrix=function(t,e){for(var n=new Array(t),i=0;i<t;++i){n[i]=new Array(t);for(var r=0;r<t;++r)n[i][r]=e(i,r)}return n},t.prototype.offsetDir=function(){for(var t=this,e=new Array(this.k),n=0,i=0;i<this.k;++i){var r=e[i]=this.random.getNextBetween(.01,1)-.5;n+=r*r}return n=Math.sqrt(n),e.map(function(e){return e*=t.minD/n})},t.prototype.computeDerivatives=function(t){var e=this,n=this.n;if(!(n<1)){for(var i,r=new Array(this.k),A=new Array(this.k),o=new Array(this.k),a=0,c=0;c<n;++c){for(i=0;i<this.k;++i)o[i]=this.g[i][c]=0;for(var s=0;s<n;++s)if(c!==s){for(var u=n;u--;){var g=0;for(i=0;i<this.k;++i){var l=r[i]=t[i][c]-t[i][s];g+=A[i]=l*l}if(g>1e-9)break;var M=this.offsetDir();for(i=0;i<this.k;++i)t[i][s]+=M[i]}var h=Math.sqrt(g),d=this.D[c][s],f=null!=this.G?this.G[c][s]:1;if(f>1&&h>d||!isFinite(d))for(i=0;i<this.k;++i)this.H[i][c][s]=0;else{f>1&&(f=1);var I=d*d,E=2*f*(h-d)/(I*h),T=h*h*h,N=2*-f/(I*T);for(isFinite(E)||console.log(E),i=0;i<this.k;++i)this.g[i][c]+=r[i]*E,o[i]-=this.H[i][c][s]=N*(T+d*(A[i]-g)+h*g)}}for(i=0;i<this.k;++i)a=Math.max(a,this.H[i][c][c]=o[i])}for(var y=this.snapGridSize/2,p=this.snapGridSize,C=this.snapStrength,D=C/(y*y),x=this.numGridSnapNodes,c=0;c<x;++c)for(i=0;i<this.k;++i){var B=this.x[i][c],w=B/p,m=w%1,Q=w-m,v=Math.abs(m),l=v<=.5?B-Q*p:B>0?B-(Q+1)*p:B-(Q-1)*p;-y<l&&l<=y&&(this.scaleSnapByMaxH?(this.g[i][c]+=a*D*l,this.H[i][c][c]+=a*D):(this.g[i][c]+=D*l,this.H[i][c][c]+=D))}this.locks.isEmpty()||this.locks.apply(function(n,r){for(i=0;i<e.k;++i)e.H[i][n][n]+=a,e.g[i][n]-=a*(r[i]-t[i][n])})}},t.dotProd=function(t,e){for(var n=0,i=t.length;i--;)n+=t[i]*e[i];return n},t.rightMultiply=function(e,n,i){for(var r=e.length;r--;)i[r]=t.dotProd(e[r],n)},t.prototype.computeStepSize=function(e){for(var n=0,i=0,r=0;r<this.k;++r)n+=t.dotProd(this.g[r],e[r]),t.rightMultiply(this.H[r],e[r],this.Hd[r]),i+=t.dotProd(e[r],this.Hd[r]);return 0!==i&&isFinite(i)?1*n/i:0},t.prototype.reduceStress=function(){this.computeDerivatives(this.x);for(var t=this.computeStepSize(this.g),e=0;e<this.k;++e)this.takeDescentStep(this.x[e],this.g[e],t);return this.computeStress()},t.copy=function(t,e){for(var n=t.length,i=e[0].length,r=0;r<n;++r)for(var A=0;A<i;++A)e[r][A]=t[r][A]},t.prototype.stepAndProject=function(e,n,i,r){t.copy(e,n),this.takeDescentStep(n[0],i[0],r),this.project&&this.project[0](e[0],e[1],n[0]),this.takeDescentStep(n[1],i[1],r),this.project&&this.project[1](n[0],e[1],n[1]);for(var A=2;A<this.k;A++)this.takeDescentStep(n[A],i[A],r)},t.mApply=function(t,e,n){for(var i=t;i-- >0;)for(var r=e;r-- >0;)n(i,r)},t.prototype.matrixApply=function(e){t.mApply(this.k,this.n,e)},t.prototype.computeNextPosition=function(t,e){var n=this;this.computeDerivatives(t);var i=this.computeStepSize(this.g);if(this.stepAndProject(t,e,this.g,i),this.project){this.matrixApply(function(i,r){return n.e[i][r]=t[i][r]-e[i][r]});var r=this.computeStepSize(this.e);r=Math.max(.2,Math.min(r,1)),this.stepAndProject(t,e,this.e,r)}},t.prototype.run=function(t){for(var e=Number.MAX_VALUE,n=!1;!n&&t-- >0;){var i=this.rungeKutta();n=Math.abs(e/i-1)<this.threshold,e=i}return e},t.prototype.rungeKutta=function(){var e=this;this.computeNextPosition(this.x,this.a),t.mid(this.x,this.a,this.ia),this.computeNextPosition(this.ia,this.b),t.mid(this.x,this.b,this.ib),this.computeNextPosition(this.ib,this.c),this.computeNextPosition(this.c,this.d);var n=0;return this.matrixApply(function(t,i){var r=(e.a[t][i]+2*e.b[t][i]+2*e.c[t][i]+e.d[t][i])/6,A=e.x[t][i]-r;n+=A*A,e.x[t][i]=r}),n},t.mid=function(e,n,i){t.mApply(e.length,e[0].length,function(t,r){return i[t][r]=e[t][r]+(n[t][r]-e[t][r])/2})},t.prototype.takeDescentStep=function(t,e,n){for(var i=0;i<this.n;++i)t[i]=t[i]-n*e[i]},t.prototype.computeStress=function(){for(var t=0,e=0,n=this.n-1;e<n;++e)for(var i=e+1,r=this.n;i<r;++i){for(var A=0,o=0;o<this.k;++o){var a=this.x[o][e]-this.x[o][i];A+=a*a}A=Math.sqrt(A);var c=this.D[e][i];if(isFinite(c)){var s=c-A,u=c*c;t+=s*s/u}}return t},t.zeroDistance=1e-10,t}();n.Descent=r;var A=function(){function t(t){void 0===t&&(t=1),this.seed=t,this.a=214013,this.c=2531011,this.m=2147483648,this.range=32767}return t.prototype.getNext=function(){return this.seed=(this.seed*this.a+this.c)%this.m,(this.seed>>16)/this.range},t.prototype.getNextBetween=function(t,e){return t+this.getNext()*(e-t)},t}();n.PseudoRandom=A},{}],8:[function(t,e,n){"use strict";function i(t,e,n){return(e.x-t.x)*(n.y-t.y)-(n.x-t.x)*(e.y-t.y)}function r(t,e,n){return i(t,e,n)>0}function A(t,e,n){return i(t,e,n)<0}function o(t){var e,n=t.slice(0).sort(function(t,e){return t.x!==e.x?e.x-t.x:e.y-t.y}),r=t.length,A=n[0].x;for(e=1;e<r&&n[e].x===A;++e);var o=e-1,a=[];if(a.push(n[0]),o===r-1)n[o].y!==n[0].y&&a.push(n[o]);else{var c,s=r-1,u=n[r-1].x;for(e=r-2;e>=0&&n[e].x===u;e--);for(c=e+1,e=o;++e<=c;)if(!(i(n[0],n[c],n[e])>=0&&e<c)){for(;a.length>1&&!(i(a[a.length-2],a[a.length-1],n[e])>0);)a.length-=1;0!=e&&a.push(n[e])}s!=c&&a.push(n[s]);var g=a.length;for(e=c;--e>=o;)if(!(i(n[s],n[o],n[e])>=0&&e>o)){for(;a.length>g&&!(i(a[a.length-2],a[a.length-1],n[e])>0);)a.length-=1;0!=e&&a.push(n[e])}}return a}function a(t,e,n){e.slice(0).sort(function(e,n){return Math.atan2(e.y-t.y,e.x-t.x)-Math.atan2(n.y-t.y,n.x-t.x)}).forEach(n)}function c(t,e){return{rtan:s(t,e),ltan:u(t,e)}}function s(t,e){var n,i,o,a,c,s=e.length-1;if(A(t,e[1],e[0])&&!r(t,e[s-1],e[0]))return 0;for(n=0,i=s;;){if(i-n==1)return r(t,e[n],e[i])?n:i;if(o=Math.floor((n+i)/2),(c=A(t,e[o+1],e[o]))&&!r(t,e[o-1],e[o]))return o;a=r(t,e[n+1],e[n]),a?c?i=o:r(t,e[n],e[o])?i=o:n=o:c&&A(t,e[n],e[o])?i=o:n=o}}function u(t,e){var n,i,o,a,c,s=e.length-1;if(r(t,e[s-1],e[0])&&!A(t,e[1],e[0]))return 0;for(n=0,i=s;;){if(i-n==1)return A(t,e[n],e[i])?n:i;if(o=Math.floor((n+i)/2),c=A(t,e[o+1],e[o]),r(t,e[o-1],e[o])&&!c)return o;a=A(t,e[n+1],e[n]),a?c?A(t,e[n],e[o])?i=o:n=o:i=o:c?n=o:r(t,e[n],e[o])?i=o:n=o}}function g(t,e,n,i,r,A){var o,a;o=n(e[0],t),a=i(t[o],e);for(var c=!1;!c;){for(c=!0;;){if(o===t.length-1&&(o=0),r(e[a],t[o],t[o+1]))break;++o}for(;;){if(0===a&&(a=e.length-1),A(t[o],e[a],e[a-1]))break;--a,c=!1}}return{t1:o,t2:a}}function l(t,e){var n=M(e,t);return{t1:n.t2,t2:n.t1}}function M(t,e){return g(t,e,s,u,r,A)}function h(t,e){return g(t,e,u,u,A,A)}function d(t,e){return g(t,e,s,s,r,r)}function f(t,e){for(var n=[],i=1,r=e.length;i<r;++i){var A=p.Rectangle.lineIntersection(t.x1,t.y1,t.x2,t.y2,e[i-1].x,e[i-1].y,e[i].x,e[i].y);A&&n.push(A)}return n}function I(t,e){for(var n=t.length-1,r=e.length-1,A=new w,o=0;o<n;++o)for(var a=0;a<r;++a){var c=t[0==o?n-1:o-1],s=t[o],u=t[o+1],g=e[0==a?r-1:a-1],l=e[a],M=e[a+1],h=i(c,s,l),d=i(s,g,l),f=i(s,l,M),I=i(g,l,s),E=i(l,c,s),T=i(l,s,u);h>=0&&d>=0&&f<0&&I>=0&&E>=0&&T<0?A.ll=new B(o,a):h<=0&&d<=0&&f>0&&I<=0&&E<=0&&T>0?A.rr=new B(o,a):h<=0&&d>0&&f<=0&&I>=0&&E<0&&T>=0?A.rl=new B(o,a):h>=0&&d<0&&f>=0&&I<=0&&E>0&&T<=0&&(A.lr=new B(o,a))}return A}function E(t,e){for(var n=1,i=e.length;n<i;++n)if(A(e[n-1],e[n],t))return!1;return!0}function T(t,e){return!t.every(function(t){return!E(t,e)})}function N(t,e){if(T(t,e))return!0;if(T(e,t))return!0;for(var n=1,i=t.length;n<i;++n){var r=t[n],A=t[n-1];if(f(new D(A.x,A.y,r.x,r.y),e).length>0)return!0}return!1}var y=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(n,"__esModule",{value:!0});var p=t("./rectangle"),C=function(){function t(){}return t}();n.Point=C;var D=function(){function t(t,e,n,i){this.x1=t,this.y1=e,this.x2=n,this.y2=i}return t}();n.LineSegment=D;var x=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y(e,t),e}(C);n.PolyPoint=x,n.isLeft=i,n.ConvexHull=o,n.clockwiseRadialSweep=a,n.tangent_PolyPolyC=g,n.LRtangent_PolyPolyC=l,n.RLtangent_PolyPolyC=M,n.LLtangent_PolyPolyC=h,n.RRtangent_PolyPolyC=d;var B=function(){function t(t,e){this.t1=t,this.t2=e}return t}();n.BiTangent=B;var w=function(){function t(){}return t}();n.BiTangents=w;var m=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y(e,t),e}(C);n.TVGPoint=m;var Q=function(){function t(t,e,n,i){this.id=t,this.polyid=e,this.polyvertid=n,this.p=i,i.vv=this}return t}();n.VisibilityVertex=Q;var v=function(){function t(t,e){this.source=t,this.target=e}return t.prototype.length=function(){var t=this.source.p.x-this.target.p.x,e=this.source.p.y-this.target.p.y;return Math.sqrt(t*t+e*e)},t}();n.VisibilityEdge=v;var j=function(){function t(t,e){if(this.P=t,this.V=[],this.E=[],e)this.V=e.V.slice(0),this.E=e.E.slice(0);else{for(var n=t.length,i=0;i<n;i++)for(var r=t[i],A=0;A<r.length;++A){var o=r[A],a=new Q(this.V.length,i,A,o);this.V.push(a),A>0&&this.E.push(new v(r[A-1].vv,a))}for(var i=0;i<n-1;i++)for(var c=t[i],A=i+1;A<n;A++){var s=t[A],u=I(c,s);for(var g in u){var l=u[g],M=c[l.t1],h=s[l.t2];this.addEdgeIfVisible(M,h,i,A)}}}}return t.prototype.addEdgeIfVisible=function(t,e,n,i){this.intersectsPolys(new D(t.x,t.y,e.x,e.y),n,i)||this.E.push(new v(t.vv,e.vv))},t.prototype.addPoint=function(t,e){var n=this.P.length;this.V.push(new Q(this.V.length,n,0,t));for(var i=0;i<n;++i)if(i!==e){var r=this.P[i],A=c(t,r);this.addEdgeIfVisible(t,r[A.ltan],e,i),this.addEdgeIfVisible(t,r[A.rtan],e,i)}return t.vv},t.prototype.intersectsPolys=function(t,e,n){for(var i=0,r=this.P.length;i<r;++i)if(i!=e&&i!=n&&f(t,this.P[i]).length>0)return!0;return!1},t}();n.TangentVisibilityGraph=j,n.tangents=I,n.polysOverlap=N},{"./rectangle":17}],9:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=t("./rectangle"),r=t("./vpsc"),A=t("./shortestpaths"),o=function(){function t(t,e,n){this.id=t,this.rect=e,this.children=n,this.leaf=void 0===n||0===n.length}return t}();n.NodeWrapper=o;var a=function(){function t(t,e,n,i,r){void 0===i&&(i=null),void 0===r&&(r=null),this.id=t,this.x=e,this.y=n,this.node=i,this.line=r}return t}();n.Vert=a;var c=function(){function t(e,n){this.s=e,this.t=n;var i=t.findMatch(e,n),r=n.slice(0).reverse(),A=t.findMatch(e,r);i.length>=A.length?(this.length=i.length,this.si=i.si,this.ti=i.ti,this.reversed=!1):(this.length=A.length,this.si=A.si,this.ti=n.length-A.ti-A.length,this.reversed=!0)}return t.findMatch=function(t,e){for(var n=t.length,i=e.length,r={length:0,si:-1,ti:-1},A=new Array(n),o=0;o<n;o++){A[o]=new Array(i);for(var a=0;a<i;a++)if(t[o]===e[a]){var c=A[o][a]=0===o||0===a?1:A[o-1][a-1]+1;c>r.length&&(r.length=c,r.si=o-c+1,r.ti=a-c+1)}else A[o][a]=0}return r},t.prototype.getSequence=function(){return this.length>=0?this.s.slice(this.si,this.si+this.length):[]},t}();n.LongestCommonSubsequence=c;var s=function(){function t(t,e,n){void 0===n&&(n=12);var r=this;this.originalnodes=t,this.groupPadding=n,this.leaves=null,this.nodes=t.map(function(t,n){return new o(n,e.getBounds(t),e.getChildren(t))}),this.leaves=this.nodes.filter(function(t){return t.leaf}),this.groups=this.nodes.filter(function(t){return!t.leaf}),this.cols=this.getGridLines("x"),this.rows=this.getGridLines("y"),this.groups.forEach(function(t){return t.children.forEach(function(e){return r.nodes[e].parent=t})}),this.root={children:[]},this.nodes.forEach(function(t){void 0===t.parent&&(t.parent=r.root,r.root.children.push(t.id)),t.ports=[]}),this.backToFront=this.nodes.slice(0),this.backToFront.sort(function(t,e){return r.getDepth(t)-r.getDepth(e)}),this.backToFront.slice(0).reverse().filter(function(t){return!t.leaf}).forEach(function(t){var e=i.Rectangle.empty();t.children.forEach(function(t){return e=e.union(r.nodes[t].rect)}),t.rect=e.inflate(r.groupPadding)});var A=this.midPoints(this.cols.map(function(t){return t.pos})),c=this.midPoints(this.rows.map(function(t){return t.pos})),s=A[0],u=A[A.length-1],g=c[0],l=c[c.length-1],M=this.rows.map(function(t){return{x1:s,x2:u,y1:t.pos,y2:t.pos}}).concat(c.map(function(t){return{x1:s,x2:u,y1:t,y2:t}})),h=this.cols.map(function(t){return{x1:t.pos,x2:t.pos,y1:g,y2:l}}).concat(A.map(function(t){return{x1:t,x2:t,y1:g,y2:l}})),d=M.concat(h);d.forEach(function(t){return t.verts=[]}),this.verts=[],this.edges=[],M.forEach(function(t){return h.forEach(function(e){var n=new a(r.verts.length,e.x1,t.y1);t.verts.push(n),e.verts.push(n),r.verts.push(n);for(var i=r.backToFront.length;i-- >0;){var A=r.backToFront[i],o=A.rect,c=Math.abs(n.x-o.cx()),s=Math.abs(n.y-o.cy());if(c<o.width()/2&&s<o.height()/2){n.node=A;break}}})}),d.forEach(function(t,e){r.nodes.forEach(function(e,n){e.rect.lineIntersections(t.x1,t.y1,t.x2,t.y2).forEach(function(n,i){var A=new a(r.verts.length,n.x,n.y,e,t);r.verts.push(A),t.verts.push(A),e.ports.push(A)})});var n=Math.abs(t.y1-t.y2)<.1,i=function(t,e){return n?e.x-t.x:e.y-t.y};t.verts.sort(i);for(var A=1;A<t.verts.length;A++){var o=t.verts[A-1],c=t.verts[A];o.node&&o.node===c.node&&o.node.leaf||r.edges.push({source:o.id,target:c.id,length:Math.abs(i(o,c))})}})}return t.prototype.avg=function(t){return t.reduce(function(t,e){return t+e})/t.length},t.prototype.getGridLines=function(t){for(var e=[],n=this.leaves.slice(0,this.leaves.length);n.length>0;){var i=n.filter(function(e){return e.rect["overlap"+t.toUpperCase()](n[0].rect)}),r={nodes:i,pos:this.avg(i.map(function(e){return e.rect["c"+t]()}))};e.push(r),r.nodes.forEach(function(t){return n.splice(n.indexOf(t),1)})}return e.sort(function(t,e){return t.pos-e.pos}),e},t.prototype.getDepth=function(t){for(var e=0;t.parent!==this.root;)e++,t=t.parent;return e},t.prototype.midPoints=function(t){for(var e=t[1]-t[0],n=[t[0]-e/2],i=1;i<t.length;i++)n.push((t[i]+t[i-1])/2);return n.push(t[t.length-1]+e/2),n},t.prototype.findLineage=function(t){var e=[t];do{t=t.parent,e.push(t)}while(t!==this.root);return e.reverse()},t.prototype.findAncestorPathBetween=function(t,e){for(var n=this.findLineage(t),i=this.findLineage(e),r=0;n[r]===i[r];)r++;return{commonAncestor:n[r-1],lineages:n.slice(r).concat(i.slice(r))}},t.prototype.siblingObstacles=function(t,e){var n=this,i=this.findAncestorPathBetween(t,e),r={};i.lineages.forEach(function(t){return r[t.id]={}});var A=i.commonAncestor.children.filter(function(t){return!(t in r)});return i.lineages.filter(function(t){return t.parent!==i.commonAncestor}).forEach(function(t){return A=A.concat(t.parent.children.filter(function(e){return e!==t.id}))}),A.map(function(t){return n.nodes[t]})},t.getSegmentSets=function(t,e,n){for(var i=[],r=0;r<t.length;r++)for(var A=t[r],o=0;o<A.length;o++){var a=A[o];a.edgeid=r,a.i=o;var c=a[1][e]-a[0][e];Math.abs(c)<.1&&i.push(a)}i.sort(function(t,n){return t[0][e]-n[0][e]});for(var s=[],u=null,g=0;g<i.length;g++){var a=i[g];(!u||Math.abs(a[0][e]-u.pos)>.1)&&(u={pos:a[0][e],segments:[]},s.push(u)),u.segments.push(a)}return s},t.nudgeSegs=function(t,e,n,i,A,o){var a=i.length;if(!(a<=1)){for(var c=i.map(function(e){return new r.Variable(e[0][t])}),s=[],u=0;u<a;u++)for(var g=0;g<a;g++)if(u!==g){var l=i[u],M=i[g],h=l.edgeid,d=M.edgeid,f=-1,I=-1;"x"==t?A(h,d)&&(l[0][e]<l[1][e]?(f=g,I=u):(f=u,I=g)):A(h,d)&&(l[0][e]<l[1][e]?(f=u,I=g):(f=g,I=u)),f>=0&&s.push(new r.Constraint(c[f],c[I],o))}new r.Solver(c,s).solve(),c.forEach(function(e,r){var A=i[r],o=e.position();A[0][t]=A[1][t]=o;var a=n[A.edgeid];A.i>0&&(a[A.i-1][1][t]=o),A.i<a.length-1&&(a[A.i+1][0][t]=o)})}},t.nudgeSegments=function(e,n,i,r,A){for(var o=t.getSegmentSets(e,n,i),a=0;a<o.length;a++){for(var c=o[a],s=[],u=0;u<c.segments.length;u++){var g=c.segments[u];s.push({type:0,s:g,pos:Math.min(g[0][i],g[1][i])}),s.push({type:1,s:g,pos:Math.max(g[0][i],g[1][i])})}s.sort(function(t,e){return t.pos-e.pos+t.type-e.type});var l=[],M=0;s.forEach(function(o){0===o.type?(l.push(o.s),M++):M--,0==M&&(t.nudgeSegs(n,i,e,l,r,A),l=[])})}},t.prototype.routeEdges=function(e,n,i,r){var A=this,o=e.map(function(t){return A.route(i(t),r(t))}),a=t.orderEdges(o),c=o.map(function(e){return t.makeSegments(e)});return t.nudgeSegments(c,"x","y",a,n),t.nudgeSegments(c,"y","x",a,n),t.unreverseEdges(c,o),c},t.unreverseEdges=function(t,e){t.forEach(function(t,n){e[n].reversed&&(t.reverse(),t.forEach(function(t){t.reverse()}))})},t.angleBetween2Lines=function(t,e){var n=Math.atan2(t[0].y-t[1].y,t[0].x-t[1].x),i=Math.atan2(e[0].y-e[1].y,e[0].x-e[1].x),r=n-i;return(r>Math.PI||r<-Math.PI)&&(r=i-n),r},t.isLeft=function(t,e,n){return(e.x-t.x)*(n.y-t.y)-(e.y-t.y)*(n.x-t.x)<=0},t.getOrder=function(t){for(var e={},n=0;n<t.length;n++){var i=t[n];void 0===e[i.l]&&(e[i.l]={}),e[i.l][i.r]=!0}return function(t,n){return void 0!==e[t]&&e[t][n]}},t.orderEdges=function(e){for(var n=[],i=0;i<e.length-1;i++)for(var r=i+1;r<e.length;r++){var A,o,a,s=e[i],u=e[r],g=new c(s,u);0!==g.length&&(g.reversed&&(u.reverse(),u.reversed=!0,g=new c(s,u)),(g.si<=0||g.ti<=0)&&(g.si+g.length>=s.length||g.ti+g.length>=u.length)?n.push({l:i,r:r}):(g.si+g.length>=s.length||g.ti+g.length>=u.length?(A=s[g.si+1],a=s[g.si-1],o=u[g.ti-1]):(A=s[g.si+g.length-2],o=s[g.si+g.length],a=u[g.ti+g.length]),t.isLeft(A,o,a)?n.push({l:r,r:i}):n.push({l:i,r:r})))}return t.getOrder(n)},t.makeSegments=function(t){function e(t){return{x:t.x,y:t.y}}for(var n=[],i=e(t[0]),r=1;r<t.length;r++){var A=e(t[r]),o=r<t.length-1?t[r+1]:null;o&&function(t,e,n){return Math.abs((e.x-t.x)*(n.y-t.y)-(e.y-t.y)*(n.x-t.x))<.001}(i,A,o)||(n.push([i,A]),i=A)}return n},t.prototype.route=function(t,e){var n=this,i=this.nodes[t],r=this.nodes[e];this.obstacles=this.siblingObstacles(i,r);var o={};this.obstacles.forEach(function(t){return o[t.id]=t}),this.passableEdges=this.edges.filter(function(t){var e=n.verts[t.source],i=n.verts[t.target];return!(e.node&&e.node.id in o||i.node&&i.node.id in o)});for(var a=1;a<i.ports.length;a++){var c=i.ports[0].id,s=i.ports[a].id;this.passableEdges.push({source:c,target:s,length:0})}for(var a=1;a<r.ports.length;a++){var c=r.ports[0].id,s=r.ports[a].id;this.passableEdges.push({source:c,target:s,length:0})}var u=function(t){return t.source},g=function(t){return t.target},l=function(t){return t.length},M=new A.Calculator(this.verts.length,this.passableEdges,u,g,l),h=function(t,e,A){var o=n.verts[t],a=n.verts[e],c=n.verts[A],s=Math.abs(c.x-o.x),u=Math.abs(c.y-o.y);return o.node===i&&o.node===a.node||a.node===r&&a.node===c.node?0:s>1&&u>1?1e3:0},d=M.PathFromNodeToNodeWithPrevCost(i.ports[0].id,r.ports[0].id,h),f=d.reverse().map(function(t){return n.verts[t]});return f.push(this.nodes[r.id].ports[0]),f.filter(function(t,e){return!(e<f.length-1&&f[e+1].node===i&&t.node===i||e>0&&t.node===r&&f[e-1].node===r)})},t.getRoutePath=function(e,n,i,r){var A={routepath:"M "+e[0][0].x+" "+e[0][0].y+" ",arrowpath:""};if(e.length>1)for(var o=0;o<e.length;o++){var a=e[o],c=a[1].x,s=a[1].y,u=c-a[0].x,g=s-a[0].y;if(o<e.length-1){Math.abs(u)>0?c-=u/Math.abs(u)*n:s-=g/Math.abs(g)*n,A.routepath+="L "+c+" "+s+" ";var l=e[o+1],M=l[0].x,h=l[0].y,d=l[1].x,f=l[1].y;u=d-M,g=f-h;var I,E,T=t.angleBetween2Lines(a,l)<0?1:0;Math.abs(u)>0?(I=M+u/Math.abs(u)*n,E=h):(I=M,E=h+g/Math.abs(g)*n);var N=Math.abs(I-c),y=Math.abs(E-s);A.routepath+="A "+N+" "+y+" 0 0 "+T+" "+I+" "+E+" "}else{var p,C,D=[c,s];Math.abs(u)>0?(c-=u/Math.abs(u)*r,p=[c,s+i],C=[c,s-i]):(s-=g/Math.abs(g)*r,p=[c+i,s],C=[c-i,s]),A.routepath+="L "+c+" "+s+" ",r>0&&(A.arrowpath="M "+D[0]+" "+D[1]+" L "+p[0]+" "+p[1]+" L "+C[0]+" "+C[1])}}else{var p,C,a=e[0],c=a[1].x,s=a[1].y,u=c-a[0].x,g=s-a[0].y,D=[c,s];Math.abs(u)>0?(c-=u/Math.abs(u)*r,p=[c,s+i],C=[c,s-i]):(s-=g/Math.abs(g)*r,p=[c+i,s],C=[c-i,s]),A.routepath+="L "+c+" "+s+" ",r>0&&(A.arrowpath="M "+D[0]+" "+D[1]+" L "+p[0]+" "+p[1]+" L "+C[0]+" "+C[1])}return A},t}();n.GridRouter=s},{"./rectangle":17,"./shortestpaths":18,"./vpsc":19}],10:[function(t,e,n){"use strict";function i(t,e,n,i,r){function o(t,e){E=[],h=0,d=0,I=g;for(var n=0;n<t.length;n++){a(t[n],e)}return Math.abs(s()-r)}function a(t,e){for(var n=void 0,i=0;i<E.length;i++)if(E[i].space_left>=t.height&&E[i].x+E[i].width+t.width+A.PADDING-e<=A.FLOAT_EPSILON){n=E[i];break}E.push(t),void 0!==n?(t.x=n.x+n.width+A.PADDING,t.y=n.bottom,t.space_left=t.height,t.bottom=t.y,n.space_left-=t.height+A.PADDING,n.bottom+=t.height+A.PADDING):(t.y=I,I+=t.height+A.PADDING,t.x=u,t.bottom=t.y,t.space_left=t.height),t.y+t.height-d>-A.FLOAT_EPSILON&&(d=t.y+t.height-g),t.x+t.width-h>-A.FLOAT_EPSILON&&(h=t.x+t.width-u)}function c(t){var e=0;return t.forEach(function(t){return e+=t.width+A.PADDING}),e}function s(){return h/d}void 0===r&&(r=1);var u=0,g=0,l=e,M=n,r=void 0!==r?r:1,i=void 0!==i?i:0,h=0,d=0,f=0,I=0,E=[];0!=t.length&&(function(t){function e(t){var e=Number.MAX_VALUE,n=Number.MAX_VALUE,r=0,A=0;t.array.forEach(function(t){var o=void 0!==t.width?t.width:i,a=void 0!==t.height?t.height:i;o/=2,a/=2,r=Math.max(t.x+o,r),e=Math.min(t.x-o,e),A=Math.max(t.y+a,A),n=Math.min(t.y-a,n)}),t.width=r-e,t.height=A-n}t.forEach(function(t){e(t)})}(t),function(t,e){var n=Number.POSITIVE_INFINITY,i=0;t.sort(function(t,e){return e.height-t.height}),f=t.reduce(function(t,e){return t.width<e.width?t.width:e.width});for(var r=d=f,a=I=c(t),s=0,u=Number.MAX_VALUE,g=Number.MAX_VALUE,l=-1,M=Number.MAX_VALUE,h=Number.MAX_VALUE;M>f||h>A.FLOAT_EPSILON;){if(1!=l)var d=a-(a-r)/A.GOLDEN_SECTION,u=o(t,d);if(0!=l)var I=r+(a-r)/A.GOLDEN_SECTION,g=o(t,I);if(M=Math.abs(d-I),h=Math.abs(u-g),u<n&&(n=u,i=d),g<n&&(n=g,i=I),u>g?(r=d,d=I,u=g,l=1):(a=I,I=d,g=u,l=0),s++>100)break}o(t,i)}(t),function(t){t.forEach(function(t){var e={x:0,y:0};t.array.forEach(function(t){e.x+=t.x,e.y+=t.y}),e.x/=t.array.length,e.y/=t.array.length;var n={x:e.x-t.width/2,y:e.y-t.height/2},i={x:t.x-n.x+l/2-h/2,y:t.y-n.y+M/2-d/2};t.array.forEach(function(t){t.x+=i.x,t.y+=i.y})})}(t))}function r(t,e){function n(t,e){if(void 0===i[t.index]){e&&(o++,A.push({array:[]})),i[t.index]=o,A[o-1].array.push(t);var a=r[t.index];if(a)for(var c=0;c<a.length;c++)n(a[c],!1)}}for(var i={},r={},A=[],o=0,a=0;a<e.length;a++){var c=e[a],s=c.source,u=c.target;r[s.index]?r[s.index].push(u):r[s.index]=[u],r[u.index]?r[u.index].push(s):r[u.index]=[s]}for(var a=0;a<t.length;a++){var g=t[a];i[g.index]||n(g,!0)}return A}Object.defineProperty(n,"__esModule",{value:!0});var A={PADDING:10,GOLDEN_SECTION:(1+Math.sqrt(5))/2,FLOAT_EPSILON:1e-4,MAX_INERATIONS:100};n.applyPacking=i,n.separateGraphs=r},{}],11:[function(t,e,n){"use strict";function i(t){return void 0!==t.leaves||void 0!==t.groups}Object.defineProperty(n,"__esModule",{value:!0});var r,A=t("./powergraph"),o=t("./linklengths"),a=t("./descent"),c=t("./rectangle"),s=t("./shortestpaths"),u=t("./geom"),g=t("./handledisconnected");!function(t){t[t.start=0]="start",t[t.tick=1]="tick",t[t.end=2]="end"}(r=n.EventType||(n.EventType={}));var l=function(){function t(){var e=this;this._canvasSize=[1,1],this._linkDistance=20,this._defaultNodeSize=10,this._linkLengthCalculator=null,this._linkType=null,this._avoidOverlaps=!1,this._handleDisconnected=!0,this._running=!1,this._nodes=[],this._groups=[],this._rootGroup=null,this._links=[],this._constraints=[],this._distanceMatrix=null,this._descent=null,this._directedLinkConstraints=null,this._threshold=.01,this._visibilityGraph=null,this._groupCompactness=1e-6,this.event=null,this.linkAccessor={getSourceIndex:t.getSourceIndex,getTargetIndex:t.getTargetIndex,setLength:t.setLinkLength,getType:function(t){return"function"==typeof e._linkType?e._linkType(t):0}}}return t.prototype.on=function(t,e){return this.event||(this.event={}),"string"==typeof t?this.event[r[t]]=e:this.event[t]=e,this},t.prototype.trigger=function(t){this.event&&void 0!==this.event[t.type]&&this.event[t.type](t)},t.prototype.kick=function(){for(;!this.tick(););},t.prototype.tick=function(){if(this._alpha<this._threshold)return this._running=!1,this.trigger({type:r.end,alpha:this._alpha=0,stress:this._lastStress}),!0;var t,e,n=this._nodes.length;this._links.length;for(this._descent.locks.clear(),e=0;e<n;++e)if(t=this._nodes[e],t.fixed){void 0!==t.px&&void 0!==t.py||(t.px=t.x,t.py=t.y);var i=[t.px,t.py];this._descent.locks.add(e,i)}var A=this._descent.rungeKutta();return 0===A?this._alpha=0:void 0!==this._lastStress&&(this._alpha=A),this._lastStress=A,this.updateNodePositions(),this.trigger({type:r.tick,alpha:this._alpha,stress:this._lastStress}),!1},t.prototype.updateNodePositions=function(){for(var t,e=this._descent.x[0],n=this._descent.x[1],i=this._nodes.length;i--;)t=this._nodes[i],t.x=e[i],t.y=n[i]},t.prototype.nodes=function(t){if(!t){if(0===this._nodes.length&&this._links.length>0){var e=0;this._links.forEach(function(t){e=Math.max(e,t.source,t.target)}),this._nodes=new Array(++e);for(var n=0;n<e;++n)this._nodes[n]={}}return this._nodes}return this._nodes=t,this},t.prototype.groups=function(t){var e=this;return t?(this._groups=t,this._rootGroup={},this._groups.forEach(function(t){void 0===t.padding&&(t.padding=1),void 0!==t.leaves&&t.leaves.forEach(function(n,i){"number"==typeof n&&((t.leaves[i]=e._nodes[n]).parent=t)}),void 0!==t.groups&&t.groups.forEach(function(n,i){"number"==typeof n&&((t.groups[i]=e._groups[n]).parent=t)})}),this._rootGroup.leaves=this._nodes.filter(function(t){return void 0===t.parent}),this._rootGroup.groups=this._groups.filter(function(t){return void 0===t.parent}),this):this._groups},t.prototype.powerGraphGroups=function(t){var e=A.getGroups(this._nodes,this._links,this.linkAccessor,this._rootGroup);return this.groups(e.groups),t(e),this},t.prototype.avoidOverlaps=function(t){return arguments.length?(this._avoidOverlaps=t,this):this._avoidOverlaps},t.prototype.handleDisconnected=function(t){return arguments.length?(this._handleDisconnected=t,this):this._handleDisconnected},t.prototype.flowLayout=function(t,e){return arguments.length||(t="y"),this._directedLinkConstraints={axis:t,getMinSeparation:"number"==typeof e?function(){return e}:e},this},t.prototype.links=function(t){return arguments.length?(this._links=t,this):this._links},t.prototype.constraints=function(t){return arguments.length?(this._constraints=t,this):this._constraints},t.prototype.distanceMatrix=function(t){return arguments.length?(this._distanceMatrix=t,this):this._distanceMatrix},t.prototype.size=function(t){return t?(this._canvasSize=t,this):this._canvasSize},t.prototype.defaultNodeSize=function(t){return t?(this._defaultNodeSize=t,this):this._defaultNodeSize},t.prototype.groupCompactness=function(t){return t?(this._groupCompactness=t,this):this._groupCompactness},t.prototype.linkDistance=function(t){return t?(this._linkDistance="function"==typeof t?t:+t,this._linkLengthCalculator=null,this):this._linkDistance},t.prototype.linkType=function(t){return this._linkType=t,this},t.prototype.convergenceThreshold=function(t){return t?(this._threshold="function"==typeof t?t:+t,this):this._threshold},t.prototype.alpha=function(t){return arguments.length?(t=+t,this._alpha?this._alpha=t>0?t:0:t>0&&(this._running||(this._running=!0,this.trigger({type:r.start,alpha:this._alpha=t}),this.kick())),this):this._alpha},t.prototype.getLinkLength=function(t){return"function"==typeof this._linkDistance?+this._linkDistance(t):this._linkDistance},t.setLinkLength=function(t,e){t.length=e},t.prototype.getLinkType=function(t){return"function"==typeof this._linkType?this._linkType(t):0},t.prototype.symmetricDiffLinkLengths=function(t,e){var n=this;return void 0===e&&(e=1),this.linkDistance(function(e){return t*e.length}),this._linkLengthCalculator=function(){return o.symmetricDiffLinkLengths(n._links,n.linkAccessor,e)},this},t.prototype.jaccardLinkLengths=function(t,e){var n=this;return void 0===e&&(e=1),this.linkDistance(function(e){return t*e.length}),this._linkLengthCalculator=function(){return o.jaccardLinkLengths(n._links,n.linkAccessor,e)},this},t.prototype.start=function(e,n,i,r,A){var u=this;void 0===e&&(e=0),void 0===n&&(n=0),void 0===i&&(i=0),void 0===r&&(r=0),void 0===A&&(A=!0);var g,l=this.nodes().length,M=l+2*this._groups.length,h=(this._links.length,this._canvasSize[0]),d=this._canvasSize[1],f=new Array(M),I=new Array(M),E=null,T=this._avoidOverlaps;this._nodes.forEach(function(t,e){t.index=e,void 0===t.x&&(t.x=h/2,t.y=d/2),f[e]=t.x,I[e]=t.y}),this._linkLengthCalculator&&this._linkLengthCalculator();var N;this._distanceMatrix?N=this._distanceMatrix:(N=new s.Calculator(M,this._links,t.getSourceIndex,t.getTargetIndex,function(t){return u.getLinkLength(t)}).DistanceMatrix(),E=a.Descent.createSquareMatrix(M,function(){return 2}),this._links.forEach(function(t){"number"==typeof t.source&&(t.source=u._nodes[t.source]),"number"==typeof t.target&&(t.target=u._nodes[t.target])}),this._links.forEach(function(e){var n=t.getSourceIndex(e),i=t.getTargetIndex(e);E[n][i]=E[i][n]=e.weight||1}));var y=a.Descent.createSquareMatrix(M,function(t,e){return N[t][e]});if(this._rootGroup&&void 0!==this._rootGroup.groups){var g=l,p=function(t,e,n,i){E[t][e]=E[e][t]=n,y[t][e]=y[e][t]=i};this._groups.forEach(function(t){p(g,g+1,u._groupCompactness,.1),f[g]=0,I[g++]=0,f[g]=0,I[g++]=0})}else this._rootGroup={leaves:this._nodes,groups:[]};var C=this._constraints||[];this._directedLinkConstraints&&(this.linkAccessor.getMinSeparation=this._directedLinkConstraints.getMinSeparation,C=C.concat(o.generateDirectedEdgeConstraints(l,this._links,this._directedLinkConstraints.axis,this.linkAccessor))),this.avoidOverlaps(!1),this._descent=new a.Descent([f,I],y),this._descent.locks.clear();for(var g=0;g<l;++g){var D=this._nodes[g];if(D.fixed){D.px=D.x,D.py=D.y;var x=[D.x,D.y];this._descent.locks.add(g,x)}}if(this._descent.threshold=this._threshold,this.initialLayout(e,f,I),C.length>0&&(this._descent.project=new c.Projection(this._nodes,this._groups,this._rootGroup,C).projectFunctions()),this._descent.run(n),this.separateOverlappingComponents(h,d),this.avoidOverlaps(T),T&&(this._nodes.forEach(function(t,e){t.x=f[e],t.y=I[e]}),this._descent.project=new c.Projection(this._nodes,this._groups,this._rootGroup,C,!0).projectFunctions(),this._nodes.forEach(function(t,e){f[e]=t.x,I[e]=t.y})),this._descent.G=E,this._descent.run(i),r){this._descent.snapStrength=1e3,this._descent.snapGridSize=this._nodes[0].width,this._descent.numGridSnapNodes=l,this._descent.scaleSnapByMaxH=l!=M;var B=a.Descent.createSquareMatrix(M,function(t,e){return t>=l||e>=l?E[t][e]:0});this._descent.G=B,this._descent.run(r)}return this.updateNodePositions(),this.separateOverlappingComponents(h,d),A?this.resume():this},t.prototype.initialLayout=function(e,n,i){if(this._groups.length>0&&e>0){var r=this._nodes.length,A=this._links.map(function(t){return{source:t.source.index,target:t.target.index}}),o=this._nodes.map(function(t){return{index:t.index}});this._groups.forEach(function(t,e){o.push({index:t.index=r+e})}),this._groups.forEach(function(t,e){void 0!==t.leaves&&t.leaves.forEach(function(e){return A.push({source:t.index,target:e.index})}),void 0!==t.groups&&t.groups.forEach(function(e){return A.push({source:t.index,target:e.index})})}),(new t).size(this.size()).nodes(o).links(A).avoidOverlaps(!1).linkDistance(this.linkDistance()).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(e,0,0,0,!1),this._nodes.forEach(function(t){n[t.index]=o[t.index].x,i[t.index]=o[t.index].y})}else this._descent.run(e)},t.prototype.separateOverlappingComponents=function(t,e){var n=this;if(!this._distanceMatrix&&this._handleDisconnected){var i=this._descent.x[0],r=this._descent.x[1];this._nodes.forEach(function(t,e){t.x=i[e],t.y=r[e]});var A=g.separateGraphs(this._nodes,this._links);g.applyPacking(A,t,e,this._defaultNodeSize),this._nodes.forEach(function(t,e){n._descent.x[0][e]=t.x,n._descent.x[1][e]=t.y,t.bounds&&(t.bounds.setXCentre(t.x),t.bounds.setYCentre(t.y))})}},t.prototype.resume=function(){return this.alpha(.1)},t.prototype.stop=function(){return this.alpha(0)},t.prototype.prepareEdgeRouting=function(t){void 0===t&&(t=0),this._visibilityGraph=new u.TangentVisibilityGraph(this._nodes.map(function(e){return e.bounds.inflate(-t).vertices()}))},t.prototype.routeEdge=function(t,e){var n=[],i=new u.TangentVisibilityGraph(this._visibilityGraph.P,{V:this._visibilityGraph.V,E:this._visibilityGraph.E}),r={x:t.source.x,y:t.source.y},A={x:t.target.x,y:t.target.y},o=i.addPoint(r,t.source.index),a=i.addPoint(A,t.target.index);i.addEdgeIfVisible(r,A,t.source.index,t.target.index),void 0!==e&&e(i);var g=function(t){return t.source.id},l=function(t){return t.target.id},M=function(t){return t.length()},h=new s.Calculator(i.V.length,i.E,g,l,M),d=h.PathFromNodeToNode(o.id,a.id);if(1===d.length||d.length===i.V.length){var f=c.makeEdgeBetween(t.source.innerBounds,t.target.innerBounds,5);n=[f.sourceIntersection,f.arrowStart]}else{for(var I=d.length-2,E=i.V[d[I]].p,T=i.V[d[0]].p,n=[t.source.innerBounds.rayIntersection(E.x,E.y)],N=I;N>=0;--N)n.push(i.V[d[N]].p);n.push(c.makeEdgeTo(T,t.target.innerBounds,5))}return n},t.getSourceIndex=function(t){return"number"==typeof t.source?t.source:t.source.index},t.getTargetIndex=function(t){return"number"==typeof t.target?t.target:t.target.index},t.linkId=function(e){return t.getSourceIndex(e)+"-"+t.getTargetIndex(e)},t.dragStart=function(e){i(e)?t.storeOffset(e,t.dragOrigin(e)):(t.stopNode(e),e.fixed|=2)},t.stopNode=function(t){t.px=t.x,t.py=t.y},t.storeOffset=function(e,n){void 0!==e.leaves&&e.leaves.forEach(function(e){e.fixed|=2,t.stopNode(e),e._dragGroupOffsetX=e.x-n.x,e._dragGroupOffsetY=e.y-n.y}),void 0!==e.groups&&e.groups.forEach(function(e){return t.storeOffset(e,n)})},t.dragOrigin=function(t){return i(t)?{x:t.bounds.cx(),y:t.bounds.cy()}:t},t.drag=function(e,n){i(e)?(void 0!==e.leaves&&e.leaves.forEach(function(t){e.bounds.setXCentre(n.x),e.bounds.setYCentre(n.y),t.px=t._dragGroupOffsetX+n.x,t.py=t._dragGroupOffsetY+n.y}),void 0!==e.groups&&e.groups.forEach(function(e){return t.drag(e,n)})):(e.px=n.x,e.py=n.y)},t.dragEnd=function(e){i(e)?(void 0!==e.leaves&&e.leaves.forEach(function(e){t.dragEnd(e),delete e._dragGroupOffsetX,delete e._dragGroupOffsetY}),void 0!==e.groups&&e.groups.forEach(t.dragEnd)):e.fixed&=-7},t.mouseOver=function(t){t.fixed|=4,t.px=t.x,t.py=t.y},t.mouseOut=function(t){t.fixed&=-5},t}();n.Layout=l},{"./descent":7,"./geom":8,"./handledisconnected":10,"./linklengths":13,"./powergraph":14,"./rectangle":17,"./shortestpaths":18}],12:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=t("./shortestpaths"),r=t("./descent"),A=t("./rectangle"),o=t("./linklengths"),a=function(){function t(t,e){this.source=t,this.target=e}return t.prototype.actualLength=function(t){var e=this;return Math.sqrt(t.reduce(function(t,n){var i=n[e.target]-n[e.source];return t+i*i},0))},t}();n.Link3D=a;var c=function(){function t(t,e,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===n&&(n=0),this.x=t,this.y=e,this.z=n}return t}();n.Node3D=c;var s=function(){function t(e,n,i){void 0===i&&(i=1);var r=this;this.nodes=e,this.links=n,this.idealLinkLength=i,this.constraints=null,this.useJaccardLinkLengths=!0,this.result=new Array(t.k);for(var A=0;A<t.k;++A)this.result[A]=new Array(e.length);e.forEach(function(e,n){for(var i=0,A=t.dims;i<A.length;i++){var o=A[i];void 0===e[o]&&(e[o]=Math.random())}r.result[0][n]=e.x,r.result[1][n]=e.y,r.result[2][n]=e.z})}return t.prototype.linkLength=function(t){return t.actualLength(this.result)},t.prototype.start=function(t){var e=this;void 0===t&&(t=100);var n=this.nodes.length,a=new u;this.useJaccardLinkLengths&&o.jaccardLinkLengths(this.links,a,1.5),this.links.forEach(function(t){return t.length*=e.idealLinkLength});var c=new i.Calculator(n,this.links,function(t){return t.source},function(t){return t.target},function(t){return t.length}).DistanceMatrix(),s=r.Descent.createSquareMatrix(n,function(t,e){return c[t][e]}),g=r.Descent.createSquareMatrix(n,function(){return 2});this.links.forEach(function(t){var e=t.source,n=t.target;return g[e][n]=g[n][e]=1}),this.descent=new r.Descent(this.result,s),this.descent.threshold=.001,this.descent.G=g,this.constraints&&(this.descent.project=new A.Projection(this.nodes,null,null,this.constraints).projectFunctions());for(var l=0;l<this.nodes.length;l++){var M=this.nodes[l];M.fixed&&this.descent.locks.add(l,[M.x,M.y,M.z])}return this.descent.run(t),this},t.prototype.tick=function(){this.descent.locks.clear();for(var t=0;t<this.nodes.length;t++){var e=this.nodes[t];e.fixed&&this.descent.locks.add(t,[e.x,e.y,e.z])}return this.descent.rungeKutta()},t.dims=["x","y","z"],t.k=t.dims.length,t}();n.Layout3D=s;var u=function(){function t(){}return t.prototype.getSourceIndex=function(t){return t.source},t.prototype.getTargetIndex=function(t){return t.target},t.prototype.getLength=function(t){return t.length},t.prototype.setLength=function(t,e){t.length=e},t}()},{"./descent":7,"./linklengths":13,"./rectangle":17,"./shortestpaths":18}],13:[function(t,e,n){"use strict";function i(t,e){var n={};for(var i in t)n[i]={};for(var i in e)n[i]={};return Object.keys(n).length}function r(t,e){var n=0;for(var i in t)void 0!==e[i]&&++n;return n}function A(t,e){var n={},i=function(t,e){void 0===n[t]&&(n[t]={}),n[t][e]={}};return t.forEach(function(t){var n=e.getSourceIndex(t),r=e.getTargetIndex(t);i(n,r),i(r,n)}),n}function o(t,e,n,i){var r=A(t,i);t.forEach(function(t){var A=r[i.getSourceIndex(t)],o=r[i.getTargetIndex(t)];i.setLength(t,1+e*n(A,o))})}function a(t,e,n){void 0===n&&(n=1),o(t,n,function(t,e){return Math.sqrt(i(t,e)-r(t,e))},e)}function c(t,e,n){void 0===n&&(n=1),o(t,n,function(t,e){return Math.min(Object.keys(t).length,Object.keys(e).length)<1.1?0:r(t,e)/i(t,e)},e)}function s(t,e,n,i){var r=u(t,e,i),A={};r.forEach(function(t,e){return t.forEach(function(t){return A[t]=e})});var o=[];return e.forEach(function(t){var e=i.getSourceIndex(t),r=i.getTargetIndex(t);A[e]!==A[r]&&o.push({axis:n,left:e,right:r,gap:i.getMinSeparation(t)})}),o}function u(t,e,n){function i(t){t.index=t.lowlink=A++,o.push(t),t.onStack=!0;for(var e=0,n=t.out;e<n.length;e++){var r=n[e];void 0===r.index?(i(r),t.lowlink=Math.min(t.lowlink,r.lowlink)):r.onStack&&(t.lowlink=Math.min(t.lowlink,r.index))}if(t.lowlink===t.index){for(var c=[];o.length&&(r=o.pop(),r.onStack=!1,c.push(r),r!==t););a.push(c.map(function(t){return t.id}))}}for(var r=[],A=0,o=[],a=[],c=0;c<t;c++)r.push({id:c,out:[]});for(var s=0,u=e;s<u.length;s++){var g=u[s],l=r[n.getSourceIndex(g)],M=r[n.getTargetIndex(g)];l.out.push(M)}for(var h=0,d=r;h<d.length;h++){var f=d[h];void 0===f.index&&i(f)}return a}Object.defineProperty(n,"__esModule",{value:!0}),n.symmetricDiffLinkLengths=a,n.jaccardLinkLengths=c,n.generateDirectedEdgeConstraints=s,n.stronglyConnectedComponents=u},{}],14:[function(t,e,n){"use strict";function i(t,e,n){t.forAll(function(t){if(t.isLeaf())e.leaves||(e.leaves=[]),e.leaves.push(t.id);else{var r=e;if(t.gid=n.length,!t.isIsland()||t.isPredefined()){if(r={id:t.gid},t.isPredefined())for(var A in t.definition)r[A]=t.definition[A];e.groups||(e.groups=[]),e.groups.push(t.gid),n.push(r)}i(t.children,r,n)}})}function r(t,e){var n={};for(var i in t)i in e&&(n[i]=t[i]);return n}function A(t,e,n,i){for(var r=t.length,A=new a(r,e,n,i);A.greedyMerge(););var o=[],c=A.getGroupHierarchy(o);return o.forEach(function(e){var n=function(n){var i=e[n];"number"==typeof i&&(e[n]=t[i])};n("source"),n("target")}),{groups:c,powerEdges:o}}Object.defineProperty(n,"__esModule",{value:!0});var o=function(){function t(t,e,n){this.source=t,this.target=e,this.type=n}return t}();n.PowerEdge=o;var a=function(){function t(t,e,n,i){var r=this;if(this.linkAccessor=n,this.modules=new Array(t),this.roots=[],i)this.initModulesFromGroup(i);else{this.roots.push(new s);for(var A=0;A<t;++A)this.roots[0].add(this.modules[A]=new c(A))}this.R=e.length,e.forEach(function(t){var e=r.modules[n.getSourceIndex(t)],i=r.modules[n.getTargetIndex(t)],A=n.getType(t);e.outgoing.add(A,i),i.incoming.add(A,e)})}return t.prototype.initModulesFromGroup=function(t){var e=new s;this.roots.push(e);for(var n=0;n<t.leaves.length;++n){var i=t.leaves[n],r=new c(i.id);this.modules[i.id]=r,e.add(r)}if(t.groups)for(var A=0;A<t.groups.length;++A){var o=t.groups[A],a={};for(var g in o)"leaves"!==g&&"groups"!==g&&o.hasOwnProperty(g)&&(a[g]=o[g]);e.add(new c(-1-A,new u,new u,this.initModulesFromGroup(o),a))}return e},t.prototype.merge=function(t,e,n){void 0===n&&(n=0);var i=t.incoming.intersection(e.incoming),r=t.outgoing.intersection(e.outgoing),A=new s;A.add(t),A.add(e);var o=new c(this.modules.length,r,i,A);this.modules.push(o);var a=function(n,i,r){n.forAll(function(n,A){n.forAll(function(n){var a=n[i];a.add(A,o),a.remove(A,t),a.remove(A,e),t[r].remove(A,n),e[r].remove(A,n)})})};return a(r,"incoming","outgoing"),a(i,"outgoing","incoming"),this.R-=i.count()+r.count(),this.roots[n].remove(t),this.roots[n].remove(e),this.roots[n].add(o),o},t.prototype.rootMerges=function(t){void 0===t&&(t=0);for(var e=this.roots[t].modules(),n=e.length,i=new Array(n*(n-1)),r=0,A=0,o=n-1;A<o;++A)for(var a=A+1;a<n;++a){var c=e[A],s=e[a];i[r]={id:r,nEdges:this.nEdges(c,s),a:c,b:s},r++}return i},t.prototype.greedyMerge=function(){for(var t=0;t<this.roots.length;++t)if(!(this.roots[t].modules().length<2)){var e=this.rootMerges(t).sort(function(t,e){return t.nEdges==e.nEdges?t.id-e.id:t.nEdges-e.nEdges}),n=e[0];if(!(n.nEdges>=this.R))return this.merge(n.a,n.b,t),!0}},t.prototype.nEdges=function(t,e){var n=t.incoming.intersection(e.incoming),i=t.outgoing.intersection(e.outgoing);return this.R-n.count()-i.count()},t.prototype.getGroupHierarchy=function(t){var e=this,n=[],r={};return i(this.roots[0],r,n),this.allEdges().forEach(function(i){var r=e.modules[i.source],A=e.modules[i.target];t.push(new o(void 0===r.gid?i.source:n[r.gid],void 0===A.gid?i.target:n[A.gid],i.type))}),n},t.prototype.allEdges=function(){var e=[];return t.getEdges(this.roots[0],e),e},t.getEdges=function(e,n){e.forAll(function(e){e.getEdges(n),t.getEdges(e.children,n)})},t}();n.Configuration=a;var c=function(){function t(t,e,n,i,r){void 0===e&&(e=new u),void 0===n&&(n=new u),void 0===i&&(i=new s),this.id=t,this.outgoing=e,this.incoming=n,this.children=i,this.definition=r}return t.prototype.getEdges=function(t){var e=this;this.outgoing.forAll(function(n,i){n.forAll(function(n){t.push(new o(e.id,n.id,i))})})},t.prototype.isLeaf=function(){return 0===this.children.count()},t.prototype.isIsland=function(){return 0===this.outgoing.count()&&0===this.incoming.count()},t.prototype.isPredefined=function(){return void 0!==this.definition},t}();n.Module=c;var s=function(){function t(){this.table={}}return t.prototype.count=function(){return Object.keys(this.table).length},t.prototype.intersection=function(e){var n=new t;return n.table=r(this.table,e.table),n},t.prototype.intersectionCount=function(t){return this.intersection(t).count()},t.prototype.contains=function(t){return t in this.table},t.prototype.add=function(t){this.table[t.id]=t},t.prototype.remove=function(t){delete this.table[t.id]},t.prototype.forAll=function(t){for(var e in this.table)t(this.table[e])},t.prototype.modules=function(){var t=[];return this.forAll(function(e){e.isPredefined()||t.push(e)}),t},t}();n.ModuleSet=s;var u=function(){function t(){this.sets={},this.n=0}return t.prototype.count=function(){return this.n},t.prototype.contains=function(t){var e=!1;return this.forAllModules(function(n){e||n.id!=t||(e=!0)}),e},t.prototype.add=function(t,e){(t in this.sets?this.sets[t]:this.sets[t]=new s).add(e),++this.n},t.prototype.remove=function(t,e){var n=this.sets[t];n.remove(e),0===n.count()&&delete this.sets[t],--this.n},t.prototype.forAll=function(t){for(var e in this.sets)t(this.sets[e],Number(e))},t.prototype.forAllModules=function(t){this.forAll(function(e,n){return e.forAll(t)})},t.prototype.intersection=function(e){var n=new t;return this.forAll(function(t,i){if(i in e.sets){var r=t.intersection(e.sets[i]),A=r.count();A>0&&(n.sets[i]=r,n.n+=A)}}),n},t}();n.LinkSets=u,n.getGroups=A},{}],15:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=function(){function t(t){this.elem=t,this.subheaps=[]}return t.prototype.toString=function(t){for(var e="",n=!1,i=0;i<this.subheaps.length;++i){var r=this.subheaps[i];r.elem?(n&&(e+=","),e+=r.toString(t),n=!0):n=!1}return""!==e&&(e="("+e+")"),(this.elem?t(this.elem):"")+e},t.prototype.forEach=function(t){this.empty()||(t(this.elem,this),this.subheaps.forEach(function(e){return e.forEach(t)}))},t.prototype.count=function(){return this.empty()?0:1+this.subheaps.reduce(function(t,e){return t+e.count()},0)},t.prototype.min=function(){return this.elem},t.prototype.empty=function(){return null==this.elem},t.prototype.contains=function(t){if(this===t)return!0;for(var e=0;e<this.subheaps.length;e++)if(this.subheaps[e].contains(t))return!0;return!1},t.prototype.isHeap=function(t){var e=this;return this.subheaps.every(function(n){return t(e.elem,n.elem)&&n.isHeap(t)})},t.prototype.insert=function(e,n){return this.merge(new t(e),n)},t.prototype.merge=function(t,e){return this.empty()?t:t.empty()?this:e(this.elem,t.elem)?(this.subheaps.push(t),this):(t.subheaps.push(this),t)},t.prototype.removeMin=function(t){return this.empty()?null:this.mergePairs(t)},t.prototype.mergePairs=function(e){if(0==this.subheaps.length)return new t(null);if(1==this.subheaps.length)return this.subheaps[0];var n=this.subheaps.pop().merge(this.subheaps.pop(),e),i=this.mergePairs(e);return n.merge(i,e)},t.prototype.decreaseKey=function(e,n,i,r){var A=e.removeMin(r);e.elem=A.elem,e.subheaps=A.subheaps,null!==i&&null!==A.elem&&i(e.elem,e);var o=new t(n);return null!==i&&i(n,o),this.merge(o,r)},t}();n.PairingHeap=i;var r=function(){function t(t){this.lessThan=t}return t.prototype.top=function(){return this.empty()?null:this.root.elem},t.prototype.push=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var n,r,A=0;r=t[A];++A)n=new i(r),this.root=this.empty()?n:this.root.merge(n,this.lessThan);return n},t.prototype.empty=function(){return!this.root||!this.root.elem},t.prototype.isHeap=function(){return this.root.isHeap(this.lessThan)},t.prototype.forEach=function(t){this.root.forEach(t)},t.prototype.pop=function(){if(this.empty())return null;var t=this.root.min();return this.root=this.root.removeMin(this.lessThan),t},t.prototype.reduceKey=function(t,e,n){void 0===n&&(n=null),this.root=this.root.decreaseKey(t,e,n,this.lessThan)},t.prototype.toString=function(t){return this.root.toString(t)},t.prototype.count=function(){return this.root.count()},t}();n.PriorityQueue=r},{}],16:[function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function t(){this.findIter=function(t){for(var e=this._root,n=this.iterator();null!==e;){var i=this._comparator(t,e.data);if(0===i)return n._cursor=e,n;n._ancestors.push(e),e=e.get_child(i>0)}return null}}return t.prototype.clear=function(){this._root=null,this.size=0},t.prototype.find=function(t){for(var e=this._root;null!==e;){var n=this._comparator(t,e.data);if(0===n)return e.data;e=e.get_child(n>0)}return null},t.prototype.lowerBound=function(t){return this._bound(t,this._comparator)},t.prototype.upperBound=function(t){function e(t,e){return n(e,t)}var n=this._comparator;return this._bound(t,e)},t.prototype.min=function(){var t=this._root;if(null===t)return null;for(;null!==t.left;)t=t.left;return t.data},t.prototype.max=function(){var t=this._root;if(null===t)return null;for(;null!==t.right;)t=t.right;return t.data},t.prototype.iterator=function(){return new A(this)},t.prototype.each=function(t){for(var e,n=this.iterator();null!==(e=n.next());)t(e)},t.prototype.reach=function(t){for(var e,n=this.iterator();null!==(e=n.prev());)t(e)},t.prototype._bound=function(t,e){for(var n=this._root,i=this.iterator();null!==n;){var r=this._comparator(t,n.data);if(0===r)return i._cursor=n,i;i._ancestors.push(n),n=n.get_child(r>0)}for(var A=i._ancestors.length-1;A>=0;--A)if(n=i._ancestors[A],e(t,n.data)>0)return i._cursor=n,i._ancestors.length=A,i;return i._ancestors.length=0,i},t}();n.TreeBase=r;var A=function(){function t(t){this._tree=t,this._ancestors=[],this._cursor=null}return t.prototype.data=function(){return null!==this._cursor?this._cursor.data:null},t.prototype.next=function(){if(null===this._cursor){var t=this._tree._root;null!==t&&this._minNode(t)}else if(null===this._cursor.right){var e;do{if(e=this._cursor,!this._ancestors.length){this._cursor=null;break}this._cursor=this._ancestors.pop()}while(this._cursor.right===e)}else this._ancestors.push(this._cursor),this._minNode(this._cursor.right);return null!==this._cursor?this._cursor.data:null},t.prototype.prev=function(){if(null===this._cursor){var t=this._tree._root;null!==t&&this._maxNode(t)}else if(null===this._cursor.left){var e;do{if(e=this._cursor,!this._ancestors.length){this._cursor=null;break}this._cursor=this._ancestors.pop()}while(this._cursor.left===e)}else this._ancestors.push(this._cursor),this._maxNode(this._cursor.left);return null!==this._cursor?this._cursor.data:null},t.prototype._minNode=function(t){for(;null!==t.left;)this._ancestors.push(t),t=t.left;this._cursor=t},t.prototype._maxNode=function(t){for(;null!==t.right;)this._ancestors.push(t),t=t.right;this._cursor=t},t}();n.Iterator=A;var o=function(){function t(t){this.data=t,this.left=null,this.right=null,this.red=!0}return t.prototype.get_child=function(t){return t?this.right:this.left},t.prototype.set_child=function(t,e){t?this.right=e:this.left=e},t}(),a=function(t){function e(e){var n=t.call(this)||this;return n._root=null,n._comparator=e,n.size=0,n}return i(e,t),e.prototype.insert=function(t){var n=!1;if(null===this._root)this._root=new o(t),n=!0,this.size++;else{var i=new o(void 0),r=!1,A=!1,a=null,c=i,s=null,u=this._root;for(c.right=this._root;;){if(null===u?(u=new o(t),s.set_child(r,u),n=!0,this.size++):e.is_red(u.left)&&e.is_red(u.right)&&(u.red=!0,u.left.red=!1,u.right.red=!1),e.is_red(u)&&e.is_red(s)){var g=c.right===a;u===s.get_child(A)?c.set_child(g,e.single_rotate(a,!A)):c.set_child(g,e.double_rotate(a,!A))}var l=this._comparator(u.data,t);if(0===l)break;A=r,r=l<0,null!==a&&(c=a),a=s,s=u,u=u.get_child(r)}this._root=i.right}return this._root.red=!1,n},e.prototype.remove=function(t){if(null===this._root)return!1;var n=new o(void 0),i=n;i.right=this._root;for(var r=null,A=null,a=null,c=!0;null!==i.get_child(c);){var s=c;A=r,r=i,i=i.get_child(c);var u=this._comparator(t,i.data);if(c=u>0,0===u&&(a=i),!e.is_red(i)&&!e.is_red(i.get_child(c)))if(e.is_red(i.get_child(!c))){var g=e.single_rotate(i,c);r.set_child(s,g),r=g}else if(!e.is_red(i.get_child(!c))){var l=r.get_child(!s);if(null!==l)if(e.is_red(l.get_child(!s))||e.is_red(l.get_child(s))){var M=A.right===r;e.is_red(l.get_child(s))?A.set_child(M,e.double_rotate(r,s)):e.is_red(l.get_child(!s))&&A.set_child(M,e.single_rotate(r,s));var h=A.get_child(M);h.red=!0,i.red=!0,h.left.red=!1,h.right.red=!1}else r.red=!1,l.red=!0,i.red=!0}}return null!==a&&(a.data=i.data,r.set_child(r.right===i,i.get_child(null===i.left)),this.size--),this._root=n.right,null!==this._root&&(this._root.red=!1),null!==a},e.is_red=function(t){return null!==t&&t.red},e.single_rotate=function(t,e){var n=t.get_child(!e);return t.set_child(!e,n.get_child(e)),n.set_child(e,t),t.red=!0,n.red=!1,n},e.double_rotate=function(t,n){return t.set_child(!n,e.single_rotate(t.get_child(!n),!n)),e.single_rotate(t,n)},e}(r);n.RBTree=a},{}],17:[function(t,e,n){"use strict";function i(t){return t.bounds=void 0!==t.leaves?t.leaves.reduce(function(t,e){return e.bounds.union(t)},N.empty()):N.empty(),void 0!==t.groups&&(t.bounds=t.groups.reduce(function(t,e){return i(e).union(t)},t.bounds)),t.bounds=t.bounds.inflate(t.padding),t.bounds}function r(t,e,n){var i=t.rayIntersection(e.cx(),e.cy())||{x:t.cx(),y:t.cy()},r=e.rayIntersection(t.cx(),t.cy())||{x:e.cx(),y:e.cy()},A=r.x-i.x,o=r.y-i.y,a=Math.sqrt(A*A+o*o),c=a-n;return{sourceIntersection:i,targetIntersection:r,arrowStart:{x:i.x+c*A/a,y:i.y+c*o/a}}}function A(t,e,n){var i=e.rayIntersection(t.x,t.y);i||(i={x:e.cx(),y:e.cy()});var r=i.x-t.x,A=i.y-t.y,o=Math.sqrt(r*r+A*A);return{x:i.x-n*r/o,y:i.y-n*A/o}}function o(t,e){return t.pos>e.pos?1:t.pos<e.pos?-1:t.isOpen?-1:e.isOpen?1:0}function a(){return new T.RBTree(function(t,e){return t.pos-e.pos})}function c(t,e,n,i){void 0===i&&(i=!1);var r=t.padding,A=void 0!==t.groups?t.groups.length:0,o=void 0!==t.leaves?t.leaves.length:0,a=A?t.groups.reduce(function(t,i){return t.concat(c(i,e,n,!0))},[]):[],u=(i?2:0)+o+A,g=new Array(u),l=new Array(u),M=0,h=function(t,e){l[M]=t,g[M++]=e};if(i){var d=t.bounds,f=e.getCentre(d),I=e.getSize(d)/2,E=e.getOpen(d),T=e.getClose(d),N=f-I+r/2,y=f+I-r/2;t.minVar.desiredPosition=N,h(e.makeRect(E,T,N,r),t.minVar),t.maxVar.desiredPosition=y,h(e.makeRect(E,T,y,r),t.maxVar)}o&&t.leaves.forEach(function(t){return h(t.bounds,t.variable)}),A&&t.groups.forEach(function(t){var n=t.bounds;h(e.makeRect(e.getOpen(n),e.getClose(n),e.getCentre(n),e.getSize(n)),t.minVar)});var p=s(l,g,e,n);return A&&(g.forEach(function(t){t.cOut=[],t.cIn=[]}),p.forEach(function(t){t.left.cOut.push(t),t.right.cIn.push(t)}),t.groups.forEach(function(t){var n=(t.padding-e.getSize(t.bounds))/2;t.minVar.cIn.forEach(function(t){return t.gap+=n}),t.minVar.cOut.forEach(function(e){e.left=t.maxVar,e.gap+=n})})),a.concat(p)}function s(t,e,n,i){var r,A=t.length,c=2*A;console.assert(e.length>=A);var s=new Array(c);for(r=0;r<A;++r){var u=t[r],g=new y(e[r],u,n.getCentre(u));s[r]=new p(!0,g,n.getOpen(u)),s[r+A]=new p(!1,g,n.getClose(u))}s.sort(o);var l=new Array,M=a();for(r=0;r<c;++r){var h=s[r],g=h.v;if(h.isOpen)M.insert(g),n.findNeighbours(g,M);else{M.remove(g);var d=function(t,e){var r=(n.getSize(t.r)+n.getSize(e.r))/2+i;l.push(new E.Constraint(t.v,e.v,r))},f=function(t,e,n){for(var i,r=g[t].iterator();null!==(i=r[t]());)n(i,g),i[e].remove(g)};f("prev","next",function(t,e){return d(t,e)}),f("next","prev",function(t,e){return d(e,t)})}}return console.assert(0===M.size),l}function u(t,e){var n=function(n,i){for(var r,A=e.findIter(t);null!==(r=A[n]());){var o=r.r.overlapX(t.r);if((o<=0||o<=r.r.overlapY(t.r))&&(t[n].insert(r),r[i].insert(t)),o<=0)break}};n("next","prev"),n("prev","next")}function g(t,e){var n=function(n,i){var r=e.findIter(t)[n]();null!==r&&r.r.overlapX(t.r)>0&&(t[n].insert(r),r[i].insert(t))};n("next","prev"),n("prev","next")}function l(t,e){return s(t,e,C,1e-6)}function M(t,e){return s(t,e,D,1e-6)}function h(t){return c(t,C,1e-6)}function d(t){return c(t,D,1e-6)}function f(t){var e=t.map(function(t){return new E.Variable(t.cx())}),n=l(t,e),i=new E.Solver(e,n);i.solve(),e.forEach(function(e,n){return t[n].setXCentre(e.position())}),e=t.map(function(t){return new E.Variable(t.cy())}),n=M(t,e),i=new E.Solver(e,n),i.solve(),e.forEach(function(e,n){return t[n].setYCentre(e.position())})}var I=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(n,"__esModule",{value:!0});var E=t("./vpsc"),T=t("./rbtree");n.computeGroupBounds=i;var N=function(){function t(t,e,n,i){this.x=t,this.X=e,this.y=n,this.Y=i}return t.empty=function(){return new t(Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY)},t.prototype.cx=function(){return(this.x+this.X)/2},t.prototype.cy=function(){return(this.y+this.Y)/2},t.prototype.overlapX=function(t){var e=this.cx(),n=t.cx();return e<=n&&t.x<this.X?this.X-t.x:n<=e&&this.x<t.X?t.X-this.x:0},t.prototype.overlapY=function(t){var e=this.cy(),n=t.cy();return e<=n&&t.y<this.Y?this.Y-t.y:n<=e&&this.y<t.Y?t.Y-this.y:0},t.prototype.setXCentre=function(t){var e=t-this.cx();this.x+=e,this.X+=e},t.prototype.setYCentre=function(t){var e=t-this.cy();this.y+=e,this.Y+=e},t.prototype.width=function(){return this.X-this.x},t.prototype.height=function(){return this.Y-this.y},t.prototype.union=function(e){return new t(Math.min(this.x,e.x),Math.max(this.X,e.X),Math.min(this.y,e.y),Math.max(this.Y,e.Y))},t.prototype.lineIntersections=function(e,n,i,r){for(var A=[[this.x,this.y,this.X,this.y],[this.X,this.y,this.X,this.Y],[this.X,this.Y,this.x,this.Y],[this.x,this.Y,this.x,this.y]],o=[],a=0;a<4;++a){var c=t.lineIntersection(e,n,i,r,A[a][0],A[a][1],A[a][2],A[a][3]);null!==c&&o.push({x:c.x,y:c.y})}return o},t.prototype.rayIntersection=function(t,e){var n=this.lineIntersections(this.cx(),this.cy(),t,e);return n.length>0?n[0]:null},t.prototype.vertices=function(){return[{x:this.x,y:this.y},{x:this.X,y:this.y},{x:this.X,y:this.Y},{x:this.x,y:this.Y},{x:this.x,y:this.y}]},t.lineIntersection=function(t,e,n,i,r,A,o,a){var c=n-t,s=o-r,u=i-e,g=a-A,l=g*c-s*u;if(0==l)return null;var M=t-r,h=e-A,d=s*h-g*M,f=d/l,I=c*h-u*M,E=I/l;return f>=0&&f<=1&&E>=0&&E<=1?{x:t+f*c,y:e+f*u}:null},t.prototype.inflate=function(e){return new t(this.x-e,this.X+e,this.y-e,this.Y+e)},t}();n.Rectangle=N,n.makeEdgeBetween=r,n.makeEdgeTo=A;var y=function(){function t(t,e,n){this.v=t,this.r=e,this.pos=n,this.prev=a(),this.next=a()}return t}(),p=function(){function t(t,e,n){this.isOpen=t,this.v=e,this.pos=n}return t}(),C={getCentre:function(t){return t.cx()},getOpen:function(t){return t.y},getClose:function(t){return t.Y},getSize:function(t){return t.width()},makeRect:function(t,e,n,i){return new N(n-i/2,n+i/2,t,e)},findNeighbours:u},D={getCentre:function(t){return t.cy()},getOpen:function(t){return t.x},getClose:function(t){return t.X},getSize:function(t){return t.height()},makeRect:function(t,e,n,i){return new N(t,e,n-i/2,n+i/2)},findNeighbours:g};n.generateXConstraints=l,n.generateYConstraints=M,n.generateXGroupConstraints=h,n.generateYGroupConstraints=d,n.removeOverlaps=f;var x=function(t){function e(e,n){var i=t.call(this,0,n)||this;return i.index=e,i}return I(e,t),e}(E.Variable);n.IndexedVariable=x;var B=function(){function t(t,e,n,r,A){void 0===n&&(n=null),void 0===r&&(r=null),void 0===A&&(A=!1);var o=this;if(this.nodes=t,this.groups=e,this.rootGroup=n,this.avoidOverlaps=A,this.variables=t.map(function(t,e){return t.variable=new x(e,1)}),r&&this.createConstraints(r),A&&n&&void 0!==n.groups){t.forEach(function(t){if(!t.width||!t.height)return void(t.bounds=new N(t.x,t.x,t.y,t.y));var e=t.width/2,n=t.height/2;t.bounds=new N(t.x-e,t.x+e,t.y-n,t.y+n)}),i(n);var a=t.length;e.forEach(function(t){o.variables[a]=t.minVar=new x(a++,void 0!==t.stiffness?t.stiffness:.01),o.variables[a]=t.maxVar=new x(a++,void 0!==t.stiffness?t.stiffness:.01)})}}return t.prototype.createSeparation=function(t){return new E.Constraint(this.nodes[t.left].variable,this.nodes[t.right].variable,t.gap,void 0!==t.equality&&t.equality)},t.prototype.makeFeasible=function(t){var e=this;if(this.avoidOverlaps){var n="x",i="width";"x"===t.axis&&(n="y",i="height");var r=t.offsets.map(function(t){return e.nodes[t.node]}).sort(function(t,e){return t[n]-e[n]}),A=null;r.forEach(function(t){if(A){var e=A[n]+A[i];e>t[n]&&(t[n]=e)}A=t})}},t.prototype.createAlignment=function(t){var e=this,n=this.nodes[t.offsets[0].node].variable;this.makeFeasible(t);var i="x"===t.axis?this.xConstraints:this.yConstraints;t.offsets.slice(1).forEach(function(t){var r=e.nodes[t.node].variable;i.push(new E.Constraint(n,r,t.offset,!0))})},t.prototype.createConstraints=function(t){var e=this,n=function(t){return void 0===t.type||"separation"===t.type};this.xConstraints=t.filter(function(t){return"x"===t.axis&&n(t)}).map(function(t){return e.createSeparation(t)}),this.yConstraints=t.filter(function(t){return"y"===t.axis&&n(t)}).map(function(t){return e.createSeparation(t)}),t.filter(function(t){return"alignment"===t.type}).forEach(function(t){return e.createAlignment(t)})},t.prototype.setupVariablesAndBounds=function(t,e,n,i){this.nodes.forEach(function(r,A){r.fixed?(r.variable.weight=r.fixedWeight?r.fixedWeight:1e3,n[A]=i(r)):r.variable.weight=1;var o=(r.width||0)/2,a=(r.height||0)/2,c=t[A],s=e[A];r.bounds=new N(c-o,c+o,s-a,s+a)})},t.prototype.xProject=function(t,e,n){(this.rootGroup||this.avoidOverlaps||this.xConstraints)&&this.project(t,e,t,n,function(t){return t.px},this.xConstraints,h,function(t){return t.bounds.setXCentre(n[t.variable.index]=t.variable.position())},function(t){var e=n[t.minVar.index]=t.minVar.position(),i=n[t.maxVar.index]=t.maxVar.position(),r=t.padding/2;t.bounds.x=e-r,t.bounds.X=i+r})},t.prototype.yProject=function(t,e,n){(this.rootGroup||this.yConstraints)&&this.project(t,e,e,n,function(t){return t.py},this.yConstraints,d,function(t){return t.bounds.setYCentre(n[t.variable.index]=t.variable.position())},function(t){var e=n[t.minVar.index]=t.minVar.position(),i=n[t.maxVar.index]=t.maxVar.position(),r=t.padding/2;t.bounds.y=e-r,t.bounds.Y=i+r})},t.prototype.projectFunctions=function(){var t=this;return[function(e,n,i){return t.xProject(e,n,i)},function(e,n,i){return t.yProject(e,n,i)}]},t.prototype.project=function(t,e,n,r,A,o,a,c,s){this.setupVariablesAndBounds(t,e,r,A),this.rootGroup&&this.avoidOverlaps&&(i(this.rootGroup),o=o.concat(a(this.rootGroup))),this.solve(this.variables,o,n,r),this.nodes.forEach(c),this.rootGroup&&this.avoidOverlaps&&(this.groups.forEach(s),i(this.rootGroup))},t.prototype.solve=function(t,e,n,i){var r=new E.Solver(t,e);r.setStartingPositions(n),r.setDesiredPositions(i),r.solve()},t}();n.Projection=B},{"./rbtree":16,"./vpsc":19}],18:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=t("./pqueue"),r=function(){function t(t,e){this.id=t,this.distance=e}return t}(),A=function(){function t(t){this.id=t,this.neighbours=[]}return t}(),o=function(){function t(t,e,n){this.node=t,this.prev=e,this.d=n}return t}(),a=function(){function t(t,e,n,i,o){this.n=t,this.es=e,this.neighbours=new Array(this.n);for(var a=this.n;a--;)this.neighbours[a]=new A(a);for(a=this.es.length;a--;){var c=this.es[a],s=n(c),u=i(c),g=o(c);this.neighbours[s].neighbours.push(new r(u,g)),this.neighbours[u].neighbours.push(new r(s,g))}}return t.prototype.DistanceMatrix=function(){for(var t=new Array(this.n),e=0;e<this.n;++e)t[e]=this.dijkstraNeighbours(e);return t},t.prototype.DistancesFromNode=function(t){return this.dijkstraNeighbours(t)},t.prototype.PathFromNodeToNode=function(t,e){return this.dijkstraNeighbours(t,e)},t.prototype.PathFromNodeToNodeWithPrevCost=function(t,e,n){var r=new i.PriorityQueue(function(t,e){return t.d<=e.d}),A=this.neighbours[t],a=new o(A,null,0),c={};for(r.push(a);!r.empty()&&(a=r.pop(),A=a.node,A.id!==e);)for(var s=A.neighbours.length;s--;){var u=A.neighbours[s],g=this.neighbours[u.id];if(!a.prev||g.id!==a.prev.node.id){var l=g.id+","+A.id;if(!(l in c&&c[l]<=a.d)){var M=a.prev?n(a.prev.node.id,A.id,g.id):0,h=a.d+u.distance+M;c[l]=h,r.push(new o(g,a,h))}}}for(var d=[];a.prev;)a=a.prev,d.push(a.node.id);return d},t.prototype.dijkstraNeighbours=function(t,e){void 0===e&&(e=-1);for(var n=new i.PriorityQueue(function(t,e){return t.d<=e.d}),r=this.neighbours.length,A=new Array(r);r--;){var o=this.neighbours[r];o.d=r===t?0:Number.POSITIVE_INFINITY,o.q=n.push(o)}for(;!n.empty();){var a=n.pop();if(A[a.id]=a.d,a.id===e){for(var c=[],s=a;void 0!==s.prev;)c.push(s.prev.id),s=s.prev;return c}for(r=a.neighbours.length;r--;){var u=a.neighbours[r],s=this.neighbours[u.id],g=a.d+u.distance;a.d!==Number.MAX_VALUE&&s.d>g&&(s.d=g,s.prev=a,n.reduceKey(s.q,s,function(t,e){return t.q=e}))}}return A},t}();n.Calculator=a},{"./pqueue":15}],19:[function(t,e,n){"use strict";function i(t,e,n){for(var i=t.map(function(t){return new o(t.desiredCenter)}),r=[],a=t.length,c=0;c<a-1;c++){var u=t[c],g=t[c+1];r.push(new A(i[c],i[c+1],(u.size+g.size)/2))}var l=i[0],M=i[a-1],h=t[0].size/2,d=t[a-1].size/2,f=null,I=null;return e&&(f=new o(e,1e3*l.weight),i.push(f),r.push(new A(f,l,h))),n&&(I=new o(n,1e3*M.weight),i.push(I),r.push(new A(M,I,d))),new s(i,r).solve(),{newCenters:i.slice(0,t.length).map(function(t){return t.position()}),lowerBound:f?f.position():l.position()-h,upperBound:I?I.position():M.position()+d}}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function t(t){this.scale=t,this.AB=0,this.AD=0,this.A2=0}return t.prototype.addVariable=function(t){var e=this.scale/t.scale,n=t.offset/t.scale,i=t.weight;this.AB+=i*e*n,this.AD+=i*e*t.desiredPosition,this.A2+=i*e*e},t.prototype.getPosn=function(){return(this.AD-this.AB)/this.A2},t}();n.PositionStats=r;var A=function(){function t(t,e,n,i){void 0===i&&(i=!1),this.left=t,this.right=e,this.gap=n,this.equality=i,this.active=!1,this.unsatisfiable=!1,this.left=t,this.right=e,this.gap=n,this.equality=i}return t.prototype.slack=function(){return this.unsatisfiable?Number.MAX_VALUE:this.right.scale*this.right.position()-this.gap-this.left.scale*this.left.position()},t}();n.Constraint=A;var o=function(){function t(t,e,n){void 0===e&&(e=1),void 0===n&&(n=1),this.desiredPosition=t,this.weight=e,this.scale=n,this.offset=0}return t.prototype.dfdv=function(){return 2*this.weight*(this.position()-this.desiredPosition)},t.prototype.position=function(){return(this.block.ps.scale*this.block.posn+this.offset)/this.scale},t.prototype.visitNeighbours=function(t,e){var n=function(n,i){return n.active&&t!==i&&e(n,i)};this.cOut.forEach(function(t){return n(t,t.right)}),this.cIn.forEach(function(t){return n(t,t.left)})},t}();n.Variable=o;var a=function(){function t(t){this.vars=[],t.offset=0,this.ps=new r(t.scale),this.addVariable(t)}return t.prototype.addVariable=function(t){t.block=this,this.vars.push(t),this.ps.addVariable(t),this.posn=this.ps.getPosn()},t.prototype.updateWeightedPosition=function(){this.ps.AB=this.ps.AD=this.ps.A2=0;for(var t=0,e=this.vars.length;t<e;++t)this.ps.addVariable(this.vars[t]);this.posn=this.ps.getPosn()},t.prototype.compute_lm=function(t,e,n){var i=this,r=t.dfdv();return t.visitNeighbours(e,function(e,A){var o=i.compute_lm(A,t,n);A===e.right?(r+=o*e.left.scale,e.lm=o):(r+=o*e.right.scale,e.lm=-o),n(e)}),r/t.scale},t.prototype.populateSplitBlock=function(t,e){var n=this;t.visitNeighbours(e,function(e,i){i.offset=t.offset+(i===e.right?e.gap:-e.gap),n.addVariable(i),n.populateSplitBlock(i,t)})},t.prototype.traverse=function(t,e,n,i){var r=this;void 0===n&&(n=this.vars[0]),void 0===i&&(i=null),n.visitNeighbours(i,function(i,A){e.push(t(i)),r.traverse(t,e,A,n)})},t.prototype.findMinLM=function(){var t=null;return this.compute_lm(this.vars[0],null,function(e){!e.equality&&(null===t||e.lm<t.lm)&&(t=e)}),t},t.prototype.findMinLMBetween=function(t,e){this.compute_lm(t,null,function(){});var n=null;return this.findPath(t,null,e,function(t,e){!t.equality&&t.right===e&&(null===n||t.lm<n.lm)&&(n=t)}),n},t.prototype.findPath=function(t,e,n,i){var r=this,A=!1;return t.visitNeighbours(e,function(e,o){A||o!==n&&!r.findPath(o,t,n,i)||(A=!0,i(e,o))}),A},t.prototype.isActiveDirectedPathBetween=function(t,e){if(t===e)return!0;for(var n=t.cOut.length;n--;){var i=t.cOut[n];if(i.active&&this.isActiveDirectedPathBetween(i.right,e))return!0}return!1},t.split=function(e){return e.active=!1,[t.createSplitBlock(e.left),t.createSplitBlock(e.right)]},t.createSplitBlock=function(e){var n=new t(e);return n.populateSplitBlock(e,null),n},t.prototype.splitBetween=function(e,n){var i=this.findMinLMBetween(e,n);if(null!==i){var r=t.split(i);return{constraint:i,lb:r[0],rb:r[1]}}return null},t.prototype.mergeAcross=function(t,e,n){e.active=!0;for(var i=0,r=t.vars.length;i<r;++i){var A=t.vars[i];A.offset+=n,this.addVariable(A)}this.posn=this.ps.getPosn()},t.prototype.cost=function(){for(var t=0,e=this.vars.length;e--;){var n=this.vars[e],i=n.position()-n.desiredPosition;t+=i*i*n.weight}return t},t}();n.Block=a;var c=function(){function t(t){this.vs=t;var e=t.length;for(this.list=new Array(e);e--;){var n=new a(t[e]);this.list[e]=n,n.blockInd=e}}return t.prototype.cost=function(){for(var t=0,e=this.list.length;e--;)t+=this.list[e].cost();return t},t.prototype.insert=function(t){t.blockInd=this.list.length,this.list.push(t)},t.prototype.remove=function(t){var e=this.list.length-1,n=this.list[e];this.list.length=e,t!==n&&(this.list[t.blockInd]=n,n.blockInd=t.blockInd)},t.prototype.merge=function(t){var e=t.left.block,n=t.right.block,i=t.right.offset-t.left.offset-t.gap;e.vars.length<n.vars.length?(n.mergeAcross(e,t,i),this.remove(e)):(e.mergeAcross(n,t,-i),this.remove(n))},t.prototype.forEach=function(t){this.list.forEach(t)},t.prototype.updateBlockPositions=function(){this.list.forEach(function(t){return t.updateWeightedPosition()})},t.prototype.split=function(t){var e=this;this.updateBlockPositions(),this.list.forEach(function(n){var i=n.findMinLM();null!==i&&i.lm<s.LAGRANGIAN_TOLERANCE&&(n=i.left.block,a.split(i).forEach(function(t){return e.insert(t)}),e.remove(n),t.push(i))})},t}();n.Blocks=c;var s=function(){function t(t,e){this.vs=t,this.cs=e,this.vs=t,t.forEach(function(t){t.cIn=[],t.cOut=[]}),this.cs=e,e.forEach(function(t){t.left.cOut.push(t),t.right.cIn.push(t)}),this.inactive=e.map(function(t){return t.active=!1,t}),this.bs=null}return t.prototype.cost=function(){return this.bs.cost()},t.prototype.setStartingPositions=function(t){this.inactive=this.cs.map(function(t){return t.active=!1,t}),this.bs=new c(this.vs),this.bs.forEach(function(e,n){return e.posn=t[n]})},t.prototype.setDesiredPositions=function(t){this.vs.forEach(function(e,n){return e.desiredPosition=t[n]})},t.prototype.mostViolated=function(){for(var e=Number.MAX_VALUE,n=null,i=this.inactive,r=i.length,A=r,o=0;o<r;++o){var a=i[o];if(!a.unsatisfiable){var c=a.slack();if((a.equality||c<e)&&(e=c,n=a,A=o,a.equality))break}}return A!==r&&(e<t.ZERO_UPPERBOUND&&!n.active||n.equality)&&(i[A]=i[r-1],i.length=r-1),n},t.prototype.satisfy=function(){null==this.bs&&(this.bs=new c(this.vs)),this.bs.split(this.inactive);for(var e=null;(e=this.mostViolated())&&(e.equality||e.slack()<t.ZERO_UPPERBOUND&&!e.active);){var n=e.left.block;if(n!==e.right.block)this.bs.merge(e);else{if(n.isActiveDirectedPathBetween(e.right,e.left)){e.unsatisfiable=!0;continue}var i=n.splitBetween(e.left,e.right);if(null===i){e.unsatisfiable=!0;continue}this.bs.insert(i.lb),this.bs.insert(i.rb),this.bs.remove(n),this.inactive.push(i.constraint),e.slack()>=0?this.inactive.push(e):this.bs.merge(e)}}},t.prototype.solve=function(){this.satisfy();for(var t=Number.MAX_VALUE,e=this.bs.cost();Math.abs(t-e)>1e-4;)this.satisfy(),t=e,e=this.bs.cost();return e},t.LAGRANGIAN_TOLERANCE=-1e-4,t.ZERO_UPPERBOUND=-1e-10,t}();n.Solver=s,n.removeOverlapInOneDimension=i},{}]},{},[1])(1)})},function(t,e,n){"use strict";var i=n(30),r=function(t){return t&&t.__esModule?t:{default:t}}(i),A=n(1484);r.default.register(A.SimilarityGraph,"SimilarityGraph")},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SimilarityGraph=void 0;var i=n(1485),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.SimilarityGraph=r.default},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(13),s=i(c),u=n(20),g=i(u),l=n(324),M=i(l),h=function(t){function e(t,n){var i=n.data,o=n.threshold,a=void 0===o?0:o,c=n.linkDistance,s=void 0===c?100:c,u=n.id,l=void 0===u?"id":u,h=n.color,d=n.size,f=void 0===d?10:d,I=n.width,E=void 0===I?960:I,T=n.height,N=void 0===T?540:T;r(this,e);var y=A(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));y.data=i,y.empty(),g.default.select(y.el).selectAll("*").remove(),y.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),y.svg.setAttribute("width",E),y.svg.setAttribute("height",N),y.el.appendChild(y.svg);var p=g.default.scale.linear().domain(g.default.extent(i,function(t){return t[f]})).range([5,15]),C=function(t){return"string"==typeof f?p(t[f]):f},D=g.default.scale.linear().domain(g.default.extent(i,function(t){return t[h]})).range(["white","steelblue"]),x="string"==typeof i[0][h]?g.default.scale.category10():D,B=void 0!==h?function(t){return x(t[h])}:function(){return"rgb(31, 119, 180)"},w=y.svg.getBoundingClientRect(),m=w.width,Q=w.height;y.cola=M.default.d3adaptor(g.default).linkDistance(s).size([m,Q]);var v=y.nodes=y.data.map(function(t){return{id:t[l],color:B(t),width:2*C(t),height:2*C(t),size:C(t)}}),j={};v.forEach(function(t,e){return j[t.id]=e}),y.links=[],y.data.forEach(function(t){return y.data.forEach(function(e){t[l]!==e[l]&&t[e[l]]>=a&&y.links.push({source:j[t[l]],target:j[e[l]]})})}),y.linkSelection=g.default.select(y.svg).selectAll("line.link").data(y.links),y.linkSelection=y.linkSelection.enter().append("line").classed("link",!0).attr("stroke-width",1).attr("stroke","gray"),y.nodeSelection=g.default.select(y.svg).selectAll("circle.node").data(y.nodes),y.nodeSelection=y.nodeSelection.enter().append("circle").classed("node",!0).attr("r",function(t){return t.size}).style("stroke","black").style("fill",function(t){return t.color}).style("cursor","crosshair").call(y.cola.drag),y.labelSelection=g.default.select(y.svg).selectAll("text.label").data(y.nodes);var L=y;return y.labelSelection=y.labelSelection.enter().append("text").classed("label",!0).text(function(t){return t.id}).each(function(t,e){var n=this.getBBox();L.nodes[e].height+=n.height}).style("cursor","crosshair").call(y.cola.drag),y.cola.on("tick",function(){y.nodeSelection.attr("cx",function(t){return t.x}).attr("cy",function(t){return t.y}),y.labelSelection.attr("x",function(t){var e=this.getBBox();return t.x-.5*e.width}).attr("y",function(t){var e=this.getBBox();return t.y+e.height+.5*t.size}),y.linkSelection.attr("x1",function(t){return t.source.x}).attr("y1",function(t){return t.source.y}).attr("x2",function(t){return t.target.x}).attr("y2",function(t){return t.target.y})}),y.cola.avoidOverlaps(!0).nodes(y.nodes).links(y.links).start(10,15,20),y}return o(e,t),a(e,[{key:"render",value:function(){}}],[{key:"options",get:function(){return[{name:"data",description:"The data table.",type:"table",format:"objectlist"},{name:"id",description:"The field containing the identifier of each row.",type:"string",domain:{mode:"field",from:"data",fieldTypes:["string","integer","number"]}},{name:"color",description:"The field used for coloring the nodes.",type:"string",domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}},{name:"size",description:"The field used for sizing the nodes.",type:"string",domain:{mode:"field",from:"data",fieldTypes:["number","integer"]}},{name:"linkDistance",description:"The desired length of links.",type:"number",format:"number",default:100},{name:"threshold",description:"Only display links where the similarity is above this threshold.",type:"number",format:"number",default:0}]}}]),e}(s.default);e.default=h},function(t,e,n){"use strict";var i=n(30),r=function(t){return t&&t.__esModule?t:{default:t}}(i),A=n(1487);r.default.register(A.TrackerDash,"TrackerDash")},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TrackerDash=void 0;var i=n(1488),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.TrackerDash=r.default},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(13),s=i(c),u=n(48),g=i(u),l=n(57),M=i(l),h=n(20),d=i(h),f=n(1489),I=i(f),E=n(1497),T=i(E),N=n(1499),y=i(N),p=n(1503),C=i(p),D=n(102),x=n(1505),B=i(x),w=function(t,e){if(0===t.length)return 0;if("number"!=typeof e)throw new TypeError("p must be a number");if(e<=0)return t[0];if(e>=1)return t[t.length-1];var n=Math.round(e*t.length)-1;return n=n<0?0:n,t[n]},m=function(t,e,n,i){var r=M.default.groupBy(n,"trend"),A=M.default.keys(r);t||(t=[]);for(var o=M.default.indexBy(t,"trend_name"),a=0;a<A.length;a++)if(!M.default.has(o,A[a])){var c=M.default.clone(e[A[a]]),s=M.default.chain(r[c.name]).pluck("current").map(function(t){return(0,D.deArray)(t,d.default.median)}).sortBy(function(t){return+t}).value();c.history=[w(s,i/100)],c.title="Default of "+i+" percentile key metric value ("+c.name+"), No saved aggregate metrics for trend",c.synth=!0,t.push(c)}return t},Q=function(t){return t.abbreviation?(t.display_name=t.abbreviation,t.title||(t.title=t.name)):(t.display_name=t.name,t.title||(t.title="No abbreviation defined")),M.default.has(t,"warning")&&M.default.has(t,"fail")||(t.incompleteThreshold=!0,t.title+=" & Incomplete threshold definition"),t.id_selector=(0,D.sanitizeSelector)(t.display_name),t},v=function(t){return M.default.isNaN(parseFloat(t.max))&&(t.max=t.history[t.history.length-1],t.incompleteThreshold||(t.incompleteThreshold=!0,t.title+=" & Incomplete threshold definition")),t},j=function(t){function e(t,n){r(this,e);var i=A(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));i.$el=(0,g.default)(i.el),n.trends||(n.trends=[]),n.trendMap={},M.default.each(n.trends,function(t){n.trendMap[t.name]=Q(t)}),M.default.each(n.trendValuesByDataset,function(t){if(M.default.has(n.trendMap,t.trend)){var e=(0,D.deArray)(t.current,d.default.median),i=n.trendMap[t.trend];i.synth&&i.max<e&&(i.max=e)}else{var r=(0,D.deArray)(t.current,d.default.median),A=Q({name:t.trend,synth:!0,max:r});n.trendMap[A.name]=A,n.trends.push(A)}}),n.trends=M.default.sortBy(n.trends,"display_name"),n.trendValuesByDataset=M.default.sortBy(n.trendValuesByDataset,function(t){return n.trendMap[t.trend].display_name});var o=m(n.agg_trends,n.trendMap,n.trendValuesByDataset,50);return n.aggTrends=M.default.chain(o).map(Q).map(v).sortBy("display_name").value(),i.trackData=n,delete i.trackData.el,i.$el.html((0,B.default)()),i.topInfoBar=new C.default(i.$el.find(".top-info-bar").get(0),i.trackData),i.infoPane=new I.default(i.$el.find(".info-pane").get(0),i.$el.find(".status-bar-widget").get(0),i.trackData),i.trendPane=new T.default(i.$el.find(".trend-pane").get(0),i.trackData),i.resultPane=new y.default(i.$el.find(".result-table-pane").get(0),i.trackData),i.render(),i}return o(e,t),a(e,[{key:"render",value:function(){this.topInfoBar.render(),this.infoPane.render(),this.trendPane.render(),this.resultPane.render()}}]),e}(s.default);e.default=j},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(13),s=i(c),u=n(57),g=i(u),l=n(48),M=i(l),h=n(20),d=i(h),f=n(317),I=i(f),E=n(1490),T=i(E),N=n(597),y=i(N),p=n(102),C=n(1496),D=i(C),x=function(t){function e(t,n,i){r(this,e);var o=A(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return o.$el=(0,M.default)(o.el),o.statusBarEl=n,o.name=i.name||"Ground Truth",o.branch=i.branch||"master",o.day=i.day||o.getToday(),o.warning=i.warning||3,o.fail=i.fail||4,o.max=i.max||5,o.producerLink=i.producer_link||null,o.numIncomplete=0,o.numSuccess=0,o.numBad=0,o.numFail=0,o.allValues=[],o.aggTrends=i.aggTrends,g.default.each(i.trendValuesByDataset,g.default.bind(function(t){var e=(0,p.deArray)(t.current,d.default.median);if(this.allValues.push(e),i.trendMap[t.trend].incompleteThreshold)this.numIncomplete++;else{var n=i.trendMap[t.trend].fail,r=i.trendMap[t.trend].warning;(0,p.failValue)(e,r,n)?this.numFail++:(0,p.warningValue)(e,r,n)?this.numBad++:this.numSuccess++}},o)),o}return o(e,t),a(e,[{key:"getToday",value:function(){var t=new Date,e=t.getDate(),n=t.getMonth()+1,i=t.getFullYear();return e<10&&(e="0"+e),n<10&&(n="0"+n),i+"/"+n+"/"+e}},{key:"render",value:function(){var t=void 0!==g.default.find(this.aggTrends,function(t){return t.history&&t.history.length>1},this);this.$el.html((0,D.default)({name:this.name,branch:this.branch,day:this.day,aggTrends:this.aggTrends,sparklinesExist:t,producerLink:this.producerLink})).promise().done(g.default.bind(function(){var t=this;this.aggBullets={},g.default.each(this.aggTrends,function(e,n,i){e.history&&e.history.length>1&&I.default.addGraph({generate:g.default.bind(function(){var t=(0,M.default)("#"+e.id_selector+"-aggregate-sparkline"),n=t.width(),i=t.height(),r=I.default.models.sparklinePlus().margin({right:40}).height(i).width(n).x(function(t,e){return e}).showLastValue(!1);return d.default.select("#"+e.id_selector+"-aggregate-sparkline svg").datum(g.default.map(e.history,function(t,e){return{x:e,y:t}})).call(r),r},t),callback:function(t){I.default.utils.windowResize(function(){var n=(0,M.default)("#"+e.id_selector+"-aggregate-sparkline"),i=n.width(),r=n.height();t.width(i).height(r),d.default.select("#"+e.id_selector+"-aggregate-sparkline svg").attr("width",i).attr("height",r).transition().duration(0).call(t)})}});var r=e.history[e.history.length-1];r=(0,p.deArray)(r,d.default.median);var A=(0,M.default)("#"+e.id_selector+"-aggregate-bullet-svg").get(0);t.aggBullets[e.id_selector]=new y.default(A,{result:{current:Math.round(1e4*r)/1e4},trend:e}).render();var o="#"+e.id_selector+"-aggregate-dot";e.incompleteThreshold||((0,p.failValue)(r,e.warning,e.fail)?(0,M.default)(o).attr("class","fail"):(0,p.warningValue)(r,e.warning,e.fail)&&(0,M.default)(o).attr("class","bad"))},this)},this)),new T.default(this.statusBarEl,{numSuccess:this.numSuccess,numBad:this.numBad,numFail:this.numFail,numIncomplete:this.numIncomplete}).render()}}]),e}(s.default);e.default=x},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(13),s=i(c),u=n(57),g=i(u),l=n(48),M=i(l),h=n(20),d=i(h),f=n(1491),I=i(f),E=function(t){function e(t,n){r(this,e);var i=A(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return i.$el=(0,M.default)(i.el),i.numSuccess=n.numSuccess||0,i.numBad=n.numBad||0,i.numFail=n.numFail||0,i.numIncomplete=n.numIncomplete||0,(0,M.default)(window).on("resize",g.default.bind(i.createChart,i)),i}return o(e,t),a(e,[{key:"createChart",value:function(){var t=this.numSuccess+this.numBad+this.numFail+this.numIncomplete;if(!(t<=0)){var e=d.default.select(".status-bar-chart svg");e.html("");var n=e.style("width").slice(0,-2),i=n/t,r=i*this.numSuccess,A=r+i*this.numBad,o=A+i*this.numFail;e.append("g").append("rect").attr("x",0).attr("width",i*this.numSuccess).attr("height","100%").attr("class","success");e.append("g").append("rect").attr("x",r).attr("width",i*this.numBad).attr("height","100%").attr("class","bad");e.append("g").append("rect").attr("x",A).attr("width",i*this.numFail).attr("height","100%").attr("class","fail");e.append("g").append("rect").attr("x",o).attr("width",i*this.numIncomplete).attr("height","100%").attr("class","incomplete")}}},{key:"render",value:function(){this.$el.html((0,I.default)()),this.createChart()}}]),e}(s.default);e.default=E},function(t,e,n){n(101);t.exports=function(t){var e=[];return e.push('<div class="status-bar-chart"><svg></svg></div>'),e.join("")}},function(t,e){},function(t,e,n){!function(){var e=n(1494),i=n(598).utf8,r=n(1495),A=n(598).bin,o=function(t,n){t.constructor==String?t=n&&"binary"===n.encoding?A.stringToBytes(t):i.stringToBytes(t):r(t)?t=Array.prototype.slice.call(t,0):Array.isArray(t)||(t=t.toString());for(var a=e.bytesToWords(t),c=8*t.length,s=1732584193,u=-271733879,g=-1732584194,l=271733878,M=0;M<a.length;M++)a[M]=16711935&(a[M]<<8|a[M]>>>24)|4278255360&(a[M]<<24|a[M]>>>8);a[c>>>5]|=128<<c%32,a[14+(c+64>>>9<<4)]=c;for(var h=o._ff,d=o._gg,f=o._hh,I=o._ii,M=0;M<a.length;M+=16){var E=s,T=u,N=g,y=l;s=h(s,u,g,l,a[M+0],7,-680876936),l=h(l,s,u,g,a[M+1],12,-389564586),g=h(g,l,s,u,a[M+2],17,606105819),u=h(u,g,l,s,a[M+3],22,-1044525330),s=h(s,u,g,l,a[M+4],7,-176418897),l=h(l,s,u,g,a[M+5],12,1200080426),g=h(g,l,s,u,a[M+6],17,-1473231341),u=h(u,g,l,s,a[M+7],22,-45705983),s=h(s,u,g,l,a[M+8],7,1770035416),l=h(l,s,u,g,a[M+9],12,-1958414417),g=h(g,l,s,u,a[M+10],17,-42063),u=h(u,g,l,s,a[M+11],22,-1990404162),s=h(s,u,g,l,a[M+12],7,1804603682),l=h(l,s,u,g,a[M+13],12,-40341101),g=h(g,l,s,u,a[M+14],17,-1502002290),u=h(u,g,l,s,a[M+15],22,1236535329),s=d(s,u,g,l,a[M+1],5,-165796510),l=d(l,s,u,g,a[M+6],9,-1069501632),g=d(g,l,s,u,a[M+11],14,643717713),u=d(u,g,l,s,a[M+0],20,-373897302),s=d(s,u,g,l,a[M+5],5,-701558691),l=d(l,s,u,g,a[M+10],9,38016083),g=d(g,l,s,u,a[M+15],14,-660478335),u=d(u,g,l,s,a[M+4],20,-405537848),s=d(s,u,g,l,a[M+9],5,568446438),l=d(l,s,u,g,a[M+14],9,-1019803690),g=d(g,l,s,u,a[M+3],14,-187363961),u=d(u,g,l,s,a[M+8],20,1163531501),s=d(s,u,g,l,a[M+13],5,-1444681467),l=d(l,s,u,g,a[M+2],9,-51403784),g=d(g,l,s,u,a[M+7],14,1735328473),u=d(u,g,l,s,a[M+12],20,-1926607734),s=f(s,u,g,l,a[M+5],4,-378558),l=f(l,s,u,g,a[M+8],11,-2022574463),g=f(g,l,s,u,a[M+11],16,1839030562),u=f(u,g,l,s,a[M+14],23,-35309556),s=f(s,u,g,l,a[M+1],4,-1530992060),l=f(l,s,u,g,a[M+4],11,1272893353),g=f(g,l,s,u,a[M+7],16,-155497632),u=f(u,g,l,s,a[M+10],23,-1094730640),s=f(s,u,g,l,a[M+13],4,681279174),l=f(l,s,u,g,a[M+0],11,-358537222),g=f(g,l,s,u,a[M+3],16,-722521979),u=f(u,g,l,s,a[M+6],23,76029189),s=f(s,u,g,l,a[M+9],4,-640364487),l=f(l,s,u,g,a[M+12],11,-421815835),g=f(g,l,s,u,a[M+15],16,530742520),u=f(u,g,l,s,a[M+2],23,-995338651),s=I(s,u,g,l,a[M+0],6,-198630844),l=I(l,s,u,g,a[M+7],10,1126891415),g=I(g,l,s,u,a[M+14],15,-1416354905),u=I(u,g,l,s,a[M+5],21,-57434055),s=I(s,u,g,l,a[M+12],6,1700485571),l=I(l,s,u,g,a[M+3],10,-1894986606),g=I(g,l,s,u,a[M+10],15,-1051523),u=I(u,g,l,s,a[M+1],21,-2054922799),s=I(s,u,g,l,a[M+8],6,1873313359),l=I(l,s,u,g,a[M+15],10,-30611744),g=I(g,l,s,u,a[M+6],15,-1560198380),u=I(u,g,l,s,a[M+13],21,1309151649),s=I(s,u,g,l,a[M+4],6,-145523070),l=I(l,s,u,g,a[M+11],10,-1120210379),g=I(g,l,s,u,a[M+2],15,718787259),u=I(u,g,l,s,a[M+9],21,-343485551),s=s+E>>>0,u=u+T>>>0,g=g+N>>>0,l=l+y>>>0}return e.endian([s,u,g,l])};o._ff=function(t,e,n,i,r,A,o){var a=t+(e&n|~e&i)+(r>>>0)+o;return(a<<A|a>>>32-A)+e},o._gg=function(t,e,n,i,r,A,o){var a=t+(e&i|n&~i)+(r>>>0)+o;return(a<<A|a>>>32-A)+e},o._hh=function(t,e,n,i,r,A,o){var a=t+(e^n^i)+(r>>>0)+o;return(a<<A|a>>>32-A)+e},o._ii=function(t,e,n,i,r,A,o){var a=t+(n^(e|~i))+(r>>>0)+o;return(a<<A|a>>>32-A)+e},o._blocksize=16,o._digestsize=16,t.exports=function(t,n){if(void 0===t||null===t)throw new Error("Illegal argument "+t);var i=e.wordsToBytes(o(t,n));return n&&n.asBytes?i:n&&n.asString?A.bytesToString(i):e.bytesToHex(i)}}()},function(t,e){!function(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n={rotl:function(t,e){return t<<e|t>>>32-e},rotr:function(t,e){return t<<32-e|t>>>e},endian:function(t){if(t.constructor==Number)return 16711935&n.rotl(t,8)|4278255360&n.rotl(t,24);for(var e=0;e<t.length;e++)t[e]=n.endian(t[e]);return t},randomBytes:function(t){for(var e=[];t>0;t--)e.push(Math.floor(256*Math.random()));return e},bytesToWords:function(t){for(var e=[],n=0,i=0;n<t.length;n++,i+=8)e[i>>>5]|=t[n]<<24-i%32;return e},wordsToBytes:function(t){for(var e=[],n=0;n<32*t.length;n+=8)e.push(t[n>>>5]>>>24-n%32&255);return e},bytesToHex:function(t){for(var e=[],n=0;n<t.length;n++)e.push((t[n]>>>4).toString(16)),e.push((15&t[n]).toString(16));return e.join("")},hexToBytes:function(t){for(var e=[],n=0;n<t.length;n+=2)e.push(parseInt(t.substr(n,2),16));return e},bytesToBase64:function(t){for(var n=[],i=0;i<t.length;i+=3)for(var r=t[i]<<16|t[i+1]<<8|t[i+2],A=0;A<4;A++)8*i+6*A<=8*t.length?n.push(e.charAt(r>>>6*(3-A)&63)):n.push("=");return n.join("")},base64ToBytes:function(t){t=t.replace(/[^A-Z0-9+\/]/gi,"");for(var n=[],i=0,r=0;i<t.length;r=++i%4)0!=r&&n.push((e.indexOf(t.charAt(i-1))&Math.pow(2,-2*r+8)-1)<<2*r|e.indexOf(t.charAt(i))>>>6-2*r);return n}};t.exports=n}()},function(t,e){function n(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function i(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&n(t.slice(0,0))}/*!
+ * Determine if an object is a Buffer
+ *
+ * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
+ * @license MIT
+ */
+t.exports=function(t){return null!=t&&(n(t)||i(t)||!!t._isBuffer)}},function(t,e,n){var i=n(101);t.exports=function(t){var e,n=[],r=t||{};return function(t,r,A,o,a){n.push('<table class="table table-responsive table-compact"><thead class="result-labels"><th colspan="2"><div class="agg-label-header">'),A?n.push("<a"+i.attr("href",A,!0,!0)+' title="Aggregate metrics over key metric values">Aggregate Metric</a>'):n.push('<abbr title="Aggregate metrics over key metric values">Aggregate Metric</abbr>'),n.push("</div></th>"),o&&n.push('<th><div class="agg-sparkline-header"><abbr title="Saved aggregate metric values from recent submissions on the same branch">Last 7 Days</abbr></div></th>'),n.push('<th colspan="2"><div class="agg-bullet-header">Computed Value</div></th></thead><tbody></tbody>'),function(){var A=r;if("number"==typeof A.length)for(var a=0,c=A.length;a<c;a++){var s=A[a],u=s.id_selector;n.push("<tr"+i.attr("id",u+"-aggregate-container",!0,!0)+' class="info-section-chart"><td class="agg-status-dot"><svg class="statusDot"><circle'+i.attr("id",u+"-aggregate-dot",!0,!0)+' r="10" cx="10" cy="10" class="none"></circle></svg></td><td><div class="agg-label">'),s.synth?n.push("<abbr"+i.attr("title",""+s.title,!0,!0)+">*"+i.escape(null==(e=s.display_name)?"":e)+"</abbr>"):n.push("<abbr"+i.attr("title",""+s.title,!0,!0)+">"+i.escape(null==(e=s.display_name)?"":e)+"</abbr>"),n.push("</div></td>"),o&&n.push("<td><div"+i.attr("id",u+"-aggregate-sparkline",!0,!0)+' class="agg-sparkline"><svg></svg></div></td>'),n.push('<td><div class="agg-value">'+i.escape(null==(e=t.round(1e4*s.history[s.history.length-1])/1e4)?"":e)+"</div></td><td><div"+i.attr("id",u+"-aggregate-bullet",!0,!0)+' class="agg-bullet"><svg'+i.attr("id",u+"-aggregate-bullet-svg",!0,!0)+"></svg></div></td></tr>")}else{var c=0;for(var a in A){c++;var s=A[a],u=s.id_selector;n.push("<tr"+i.attr("id",u+"-aggregate-container",!0,!0)+' class="info-section-chart"><td class="agg-status-dot"><svg class="statusDot"><circle'+i.attr("id",u+"-aggregate-dot",!0,!0)+' r="10" cx="10" cy="10" class="none"></circle></svg></td><td><div class="agg-label">'),s.synth?n.push("<abbr"+i.attr("title",""+s.title,!0,!0)+">*"+i.escape(null==(e=s.display_name)?"":e)+"</abbr>"):n.push("<abbr"+i.attr("title",""+s.title,!0,!0)+">"+i.escape(null==(e=s.display_name)?"":e)+"</abbr>"),n.push("</div></td>"),o&&n.push("<td><div"+i.attr("id",u+"-aggregate-sparkline",!0,!0)+' class="agg-sparkline"><svg></svg></div></td>'),n.push('<td><div class="agg-value">'+i.escape(null==(e=t.round(1e4*s.history[s.history.length-1])/1e4)?"":e)+"</div></td><td><div"+i.attr("id",u+"-aggregate-bullet",!0,!0)+' class="agg-bullet"><svg'+i.attr("id",u+"-aggregate-bullet-svg",!0,!0)+"></svg></div></td></tr>")}}}.call(this),n.push("</table>")}.call(this,"Math"in r?r.Math:"undefined"!=typeof Math?Math:void 0,"aggTrends"in r?r.aggTrends:"undefined"!=typeof aggTrends?aggTrends:void 0,"producerLink"in r?r.producerLink:"undefined"!=typeof producerLink?producerLink:void 0,"sparklinesExist"in r?r.sparklinesExist:"undefined"!=typeof sparklinesExist?sparklinesExist:void 0,"undefined"in r?r.undefined:void 0),n.join("")}},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(13),s=i(c),u=n(57),g=i(u),l=n(48),M=i(l),h=n(317),d=i(h),f=n(20),I=i(f),E=n(102),T=n(1498),N=i(T),y=function(t){function e(t,n){r(this,e);var i=A(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return i.$el=(0,M.default)(i.el),i.bins=n.bins||10,i.trendMap=n.trendMap,i.hists=i._calculateHistograms(n.trendValuesByDataset,n.histogram_max_x),i}return o(e,t),a(e,[{key:"_calculateHistograms",value:function(t,e){var n=this,i=this.bins,r=g.default.groupBy(t,"trend"),A=g.default.reduce(t,function(t,e){var n=(0,E.deArray)(e.current,I.default.min);return Math.min(t,n)},0),o=!g.default.isNaN(parseFloat(e)),a=void 0,c=void 0;o?(a=parseFloat(e),c=(a-A)/(i-1)):(a=g.default.reduce(t,function(t,e){return Math.max(t,(0,E.deArray)(e.current,I.default.max))},0),c=(a-A)/i);var s=g.default.map(r,function(t,e){var r={trend:n.trendMap[e].display_name};return r.values=g.default.countBy(g.default.map(t,function(t){var e=(0,E.deArray)(t.current,I.default.median),n=Math.floor(e/c);return o?n>i-1&&(n=i-1):n>i&&(n=i),n}),function(t){return t}),r},this);s=g.default.indexBy(s,"trend"),this.xLabels=[],this.xLabels.push(c/2);for(var u=1;u<i;++u)this.xLabels.push(this.xLabels[u-1]+c);return this.xLabels=g.default.map(this.xLabels,function(t){return t.toFixed(1)}),o&&(this.xLabels[this.xLabels.length-1]="Beyond"),s}},{key:"getChartData",value:function(){for(var t=[],e=g.default.keys(this.hists),n=0;n<e.length;++n){var i=e[n],r={key:i.toUpperCase()};r.values=[];for(var A=0;A<this.bins;++A)r.values.push({x:this.xLabels[A],y:this.hists[i].values[A]||0});t.push(r)}return t}},{key:"createChart",value:function(){d.default.addGraph({generate:g.default.bind(function(){var t=(0,M.default)(".trend-pane"),e=t.width(),n=t.height(),i=d.default.models.multiBarChart().reduceXTicks(!1).width(e).height(n).stacked(!1);return i.xAxis.axisLabel("Key metric values (bin center)"),i.xAxis.tickValues(this.xLabels),i.yAxis.axisLabel("Number of Runs"),i.yAxis.tickFormat(I.default.format("d")),i.tooltip.enabled(!1),I.default.select(".trend-chart svg").datum(this.getChartData()).transition().duration(0).call(i),i},this),callback:function(t){d.default.utils.windowResize(function(){var e=(0,M.default)(".trend-pane"),n=e.width(),i=e.height();t.width(n).height(i),I.default.select(".trend-chart svg").attr("width",n).attr("height",i).transition().duration(0).call(t)})}})}},{key:"render",value:function(){this.$el.html((0,N.default)()),this.createChart()}}]),e}(s.default);e.default=y},function(t,e,n){n(101);t.exports=function(t){var e=[];return e.push('<div class="trend-chart"><svg></svg></div>'),e.join("")}},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(13),s=i(c),u=n(57),g=i(u),l=n(48),M=i(l),h=n(20),d=i(h),f=n(1500),I=i(f),E=n(102),T=n(1502),N=i(T),y=function(t){function e(t,n){r(this,e);var i=A(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return i.$el=(0,M.default)(i.el),i.results=n.trendValuesByDataset,i.trends=n.trends,i.trendMap=n.trendMap,i.datasetMap=n.datasetMap||{},i.trajectoryMap=n.trajectoryMap||{},i.datasetLabelMap=n.datasetLabelMap||{},i.producerLink=n.producer_link||null,void 0===i.results?A(i):(i.sortOrder={dataset:!0,order:1},i)}return o(e,t),a(e,[{key:"render",value:function(){if(void 0!==this.results){var t={};g.default.each(this.results,g.default.bind(function(e){e.dataset_id_selector=(0,E.sanitizeSelector)(e.dataset),this.datasetMap[e.dataset_id_selector]=this.datasetMap[e.dataset],this.trajectoryMap[e.dataset_id_selector]=this.trajectoryMap[e.dataset],this.datasetLabelMap[e.dataset_id_selector]=this.datasetLabelMap[e.dataset],g.default.has(t,e.dataset_id_selector)||(t[e.dataset_id_selector]={}),Array.isArray(e.current)?t[e.dataset_id_selector][e.trend]=d.default.median(e.current):t[e.dataset_id_selector][e.trend]=e.current},this)),this.results.sort(g.default.bind(function(){return this.sortOrder.dataset?g.default.bind(function(t,e){return this.sortOrder.order>0?t.dataset.localeCompare(e.dataset):e.dataset.localeCompare(t.dataset)},this):g.default.bind(function(e,n){var i=t[e.dataset_id_selector][this.sortOrder.trend],r=t[n.dataset_id_selector][this.sortOrder.trend];return void 0===r?-1:void 0===i?1:this.sortOrder.order*(i-r)},this)},this)());var e=g.default.groupBy(this.results,function(t){return t.dataset_id_selector});this.$el.html((0,N.default)({resultsByDatasetId:e,trends:this.trends,datasetMap:this.datasetMap,trajectoryMap:this.trajectoryMap,datasetLabelMap:this.datasetLabelMap,producerLink:this.producerLink,sortOrder:this.sortOrder})).promise().done(g.default.bind(function(){g.default.each(this.results,function(t){var e=this.trendMap[t.trend],n="#"+t.dataset_id_selector+"-"+e.id_selector,i=(0,M.default)(n+"-valueWidget-svg").get(0);new I.default(i,{result:t,trend:e}).render(),"function"==typeof t.callback?(0,M.default)(n).css("cursor","pointer").click(t.callback):t.link&&(0,M.default)(n).css("cursor","pointer").click(function(){t.link&&(window.location=t.link)})},this),g.default.each(this.datasetMap,function(t,e){"function"==typeof t&&(0,M.default)("#"+e+"-link").click(t)}),g.default.each(this.trajectoryMap,function(t,e){"function"==typeof t&&(0,M.default)("#"+e+"-trajectory-link").click(t)}),g.default.each(this.trends,function(t){(0,M.default)("#"+t.id_selector+"-trend-col-header").click(g.default.bind(function(){this.sortOrder={trend:t.name,order:-1*this.sortOrder.order},this.render()},this))},this),(0,M.default)("#dataset-col-header").click(g.default.bind(function(){this.sortOrder={dataset:!0,order:-1*this.sortOrder.order},this.render()},this))},this))}}}]),e}(s.default);e.default=y},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(13),s=i(c),u=n(597),g=i(u),l=n(1501),M=i(l),h=function(t){function e(t,n){r(this,e);var i=A(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return i.settings=n,Array.isArray(n.result.current)?n.result.current.length>1?i.Type=M.default:(n.result.current=n.result.current[0],i.Type=g.default):i.Type=g.default,i}return o(e,t),a(e,[{key:"render",value:function(){new this.Type(this.el,this.settings).render()}}]),e}(s.default);e.default=h},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(13),s=i(c),u=n(57),g=i(u),l=n(20),M=i(l),h=n(48),d=i(h),f=n(599),I=i(f),E=n(102),T=function(t){function e(t,n){r(this,e);var i=A(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return i.showScales=!1!==n.showScales,i.current=n.result.current,i.trend=n.trend,i.currentValues=i.current.sort(M.default.ascending),i.median=M.default.median(i.currentValues),i.outOfBounds=i.median<=0||i.median>=i.trend.max,(0,d.default)(window).resize(g.default.bind(i.render,i)),i}return o(e,t),a(e,[{key:"chartData",value:function(){}},{key:"render",value:function(){var t=this,e=M.default.select("body").append("div").attr("class","tdash-tooltip").style("opacity",0),n=M.default.select(this.el).html("").attr("width","100%").attr("height","100%"),i=this.trend.max,r={top:10,right:20,bottom:10,left:10},A=n[0][0].clientWidth-r.left-r.right,o=n[0][0].clientHeight-r.top-r.bottom;n.style("padding-left",r.left).style("padding-right",r.right);var a=M.default.quantile(this.currentValues,.25),c=M.default.quantile(this.currentValues,.75),s=c-a,u=1.5*s,l=M.default.scale.linear().domain([0,i]).range([0,A]);if(this.showScales){var h=M.default.svg.axis().tickSize(1).ticks(5).orient("bottom").scale(l);n.append("g").attr("transform","translate(0,30)").call(h)}this.outOfBounds&&n.append("rect").attr("x",-r.left).attr("width",A+r.left+r.right).attr("height",o+r.top+r.bottom).attr("stroke",I.default.fail).attr("stroke-width",3).attr("fill-opacity",0);var d=[M.default.quantile(this.currentValues,.05),M.default.quantile(this.currentValues,.25),M.default.quantile(this.currentValues,.5),M.default.quantile(this.currentValues,.75),M.default.quantile(this.currentValues,.95)],f=g.default.filter(this.currentValues,function(t){return t<a-u||t>c+u});n.on("mouseover",function(n){e.transition().duration(200).style("opacity",1);var i=[["Min",(0,E.standardRound)(t.currentValues[0])],["5th %ile",(0,E.standardRound)(d[0])],["25th %ile",(0,E.standardRound)(d[1])],["Median",(0,E.standardRound)(t.median)],["75th %ile",(0,E.standardRound)(d[3])],["95th %ile",(0,E.standardRound)(d[4])],["Max",(0,E.standardRound)(t.currentValues[t.currentValues.length-1])],["# of Samples",t.currentValues.length]];f.length>0&&(i.push(["&nbsp","&nbsp"]),i.push(["Outliers",g.default.map(f,E.standardRound).join(", ")]));var r='<table style="border-collapse: separate; border-spacing: 10px 2px;">';g.default.each(i,function(t){r+="<tr><td>"+t[0]+"</td><td>"+t[1]+"</td></tr>"}),r+="</table>",e.html(r).style("left",M.default.event.pageX+"px").style("top",M.default.event.pageY-28+"px")}).on("mouseout",function(t){e.transition().duration(200).style("opacity",0)}),n=n.append("g"),n.selectAll("circle").data(f).enter().append("circle").on("mouseover",function(t){e.transition().duration(200).style("opacity",.9),e.html("Outlier: "+t.toString()).style("left",M.default.event.pageX+"px").style("top",M.default.event.pageY-28+"px")}).on("mouseout",function(t){e.transition().duration(200).style("opacity",0)}).attr("cx",function(t,e){return t/i*A}).attr("cy",o/2).attr("r",3).attr("stroke","black").attr("stroke-width",1).attr("fill","white"),n.append("g").selectAll("rect").data([{q1:a,q3:c}]).enter().append("rect").attr("x",function(t,e){return t.q1/i*A}).attr("y",o/4).attr("width",function(t,e){return(t.q3-t.q1)/i*A}).attr("height",o/2).attr("fill",(0,E.computeColor)(this.trend,this.median)).attr("stroke","black").attr("stroke-width",1).attr("class","qtr"),n.append("g").selectAll("rect").data([d[0],d[2],d[4]]).enter().append("rect").attr("x",function(t,e){return t/i*A}).attr("y",o/4).attr("width",2).attr("height",o/2),n.append("g").selectAll("rect").data([{start:d[0],end:d[1]},{start:d[3],end:d[4]}]).enter().append("rect").attr("x",function(t,e){return t.start/i*A}).attr("y",o/2).attr("height",2).attr("width",function(t,e){return(t.end-t.start)/i*A})}}]),e}(s.default);e.default=T},function(t,e,n){var i=n(101);t.exports=function(t){var e,n=[],r=t||{};return function(t,r,A,o,a,c,s){n.push('<table class="table table-striped table-hover table-responsive table-compact"><thead class="result-labels"><tr class="key-metrics-row"><td></td><td'+i.attr("colspan",c.length,!0,!0)+' id="key-metrics-title">'),A?n.push("<a"+i.attr("href",A,!0,!0)+">Key Metrics</a>"):n.push("Key Metrics"),n.push('</td></tr><tr><td><div id="dataset-col-header" class="trend-col-header-sortable">Dataset<svg class="sort-column-icon">'),a&&a.dataset?1===a.order?n.push('<polygon points="4,14 12,14 8,6" class="active"></polygon>'):n.push('<polygon points="4,6 12,6 8,14" class="active"></polygon>'):n.push('<polygon points="4,6 12,6 8,14"></polygon>'),n.push("</svg></div></td>"),function(){var t=c;if("number"==typeof t.length)for(var r=0,A=t.length;r<A;r++){var o=t[r];n.push("<td><div"+i.attr("id",o.id_selector+"-trend-col-header",!0,!0)+' class="trend-col-header-sortable"><abbr'+i.attr("title",""+o.title,!0,!0)+">"+i.escape(null==(e=o.display_name)?"":e)+'</abbr><svg class="sort-column-icon">'),a&&a.trend===o.name?1===a.order?n.push('<polygon points="4,14 12,14 8,6" class="active"></polygon>'):n.push('<polygon points="4,6 12,6 8,14" class="active"></polygon>'):n.push('<polygon points="4,6 12,6 8,14"></polygon>'),n.push("</svg></div></td>")}else{var A=0;for(var r in t){A++;var o=t[r];n.push("<td><div"+i.attr("id",o.id_selector+"-trend-col-header",!0,!0)+' class="trend-col-header-sortable"><abbr'+i.attr("title",""+o.title,!0,!0)+">"+i.escape(null==(e=o.display_name)?"":e)+'</abbr><svg class="sort-column-icon">'),a&&a.trend===o.name?1===a.order?n.push('<polygon points="4,14 12,14 8,6" class="active"></polygon>'):n.push('<polygon points="4,6 12,6 8,14" class="active"></polygon>'):n.push('<polygon points="4,6 12,6 8,14"></polygon>'),n.push("</svg></div></td>")}}}.call(this),n.push("</tr></thead><tbody>"),function(){var A=o;if("number"==typeof A.length)for(var a=0,s=A.length;a<s;a++){var u=A[a];n.push("<tr><td"+i.attr("id",u[0].dataset_id_selector+"-name",!0,!0)+' class="dataset-name">'),"string"==typeof r[u[0].dataset]?n.push("<a"+i.attr("href",""+r[u[0].dataset],!0,!0)+">"+i.escape(null==(e=u[0].dataset)?"":e)+"</a>"):"function"==typeof r[u[0].dataset]?n.push('<a href="javascript:;"'+i.attr("id",u[0].dataset_id_selector+"-link",!0,!0)+">"+i.escape(null==(e=u[0].dataset)?"":e)+"</a>"):n.push(""+i.escape(null==(e=u[0].dataset)?"":e)),"string"==typeof t[u[0].dataset_id_selector]&&n.push("<div"+i.attr("id",u[0].dataset_id_selector+"-label",!0,!0)+' class="dataset-label">'+i.escape(null==(e=t[u[0].dataset_id_selector])?"":e)+"</div>"),n.push("</td>"),function(){var t=c;if("number"==typeof t.length)for(var e=0,r=t.length;e<r;e++){var A=t[e];n.push("<td"+i.attr("id",u[0].dataset_id_selector+"-"+A.id_selector,!0,!0)+' class="valueWidget-container"><div'+i.attr("id",u[0].dataset_id_selector+"-"+A.id_selector+"-valueWidget",!0,!0)+' class="valueWidget"><svg'+i.attr("id",u[0].dataset_id_selector+"-"+A.id_selector+"-valueWidget-svg",!0,!0)+"></svg></div></td>")}else{var r=0;for(var e in t){r++;var A=t[e];n.push("<td"+i.attr("id",u[0].dataset_id_selector+"-"+A.id_selector,!0,!0)+' class="valueWidget-container"><div'+i.attr("id",u[0].dataset_id_selector+"-"+A.id_selector+"-valueWidget",!0,!0)+' class="valueWidget"><svg'+i.attr("id",u[0].dataset_id_selector+"-"+A.id_selector+"-valueWidget-svg",!0,!0)+"></svg></div></td>")}}}.call(this),n.push("</tr>")}else{var s=0;for(var a in A){s++;var u=A[a];n.push("<tr><td"+i.attr("id",u[0].dataset_id_selector+"-name",!0,!0)+' class="dataset-name">'),"string"==typeof r[u[0].dataset]?n.push("<a"+i.attr("href",""+r[u[0].dataset],!0,!0)+">"+i.escape(null==(e=u[0].dataset)?"":e)+"</a>"):"function"==typeof r[u[0].dataset]?n.push('<a href="javascript:;"'+i.attr("id",u[0].dataset_id_selector+"-link",!0,!0)+">"+i.escape(null==(e=u[0].dataset)?"":e)+"</a>"):n.push(""+i.escape(null==(e=u[0].dataset)?"":e)),"string"==typeof t[u[0].dataset_id_selector]&&n.push("<div"+i.attr("id",u[0].dataset_id_selector+"-label",!0,!0)+' class="dataset-label">'+i.escape(null==(e=t[u[0].dataset_id_selector])?"":e)+"</div>"),n.push("</td>"),function(){var t=c;if("number"==typeof t.length)for(var e=0,r=t.length;e<r;e++){var A=t[e];n.push("<td"+i.attr("id",u[0].dataset_id_selector+"-"+A.id_selector,!0,!0)+' class="valueWidget-container"><div'+i.attr("id",u[0].dataset_id_selector+"-"+A.id_selector+"-valueWidget",!0,!0)+' class="valueWidget"><svg'+i.attr("id",u[0].dataset_id_selector+"-"+A.id_selector+"-valueWidget-svg",!0,!0)+"></svg></div></td>")}else{var r=0;for(var e in t){r++;var A=t[e];n.push("<td"+i.attr("id",u[0].dataset_id_selector+"-"+A.id_selector,!0,!0)+' class="valueWidget-container"><div'+i.attr("id",u[0].dataset_id_selector+"-"+A.id_selector+"-valueWidget",!0,!0)+' class="valueWidget"><svg'+i.attr("id",u[0].dataset_id_selector+"-"+A.id_selector+"-valueWidget-svg",!0,!0)+"></svg></div></td>")}}}.call(this),n.push("</tr>")}}}.call(this),n.push("</tbody></table>")}.call(this,"datasetLabelMap"in r?r.datasetLabelMap:"undefined"!=typeof datasetLabelMap?datasetLabelMap:void 0,"datasetMap"in r?r.datasetMap:"undefined"!=typeof datasetMap?datasetMap:void 0,"producerLink"in r?r.producerLink:"undefined"!=typeof producerLink?producerLink:void 0,"resultsByDatasetId"in r?r.resultsByDatasetId:"undefined"!=typeof resultsByDatasetId?resultsByDatasetId:void 0,"sortOrder"in r?r.sortOrder:"undefined"!=typeof sortOrder?sortOrder:void 0,"trends"in r?r.trends:"undefined"!=typeof trends?trends:void 0,"undefined"in r?r.undefined:void 0),n.join("")}},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(13),s=i(c),u=n(48),g=i(u),l=n(1504),M=i(l),h=function(t){function e(t,n){r(this,e);var i=A(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return i.$el=(0,g.default)(i.el),i.name=n.name||"Ground Truth",i.branch=n.branch||"No branch set",i.day=n.day||i.getToday(),i.submissionUuid=n.submission_uuid,i.helpLink=n.help_link,i}return o(e,t),a(e,[{key:"render",value:function(){this.$el.html((0,M.default)({name:this.name,branch:this.branch,day:this.day,uuid:this.submissionUuid,helpLink:this.helpLink}))}}]),e}(s.default);e.default=h},function(t,e,n){var i=n(101);t.exports=function(t){var e,n=[],r=t||{};return function(t,r,A,o,a){n.push('<div class="info-title info-name">'+i.escape(null==(e=o)?"":e)+'</div><div class="info-branch">'+i.escape(null==(e=t)?"":e)+'</div><div class="info-submission"><div class="info-date">'+i.escape(null==(e=r)?"":e)+"</div>"),a&&n.push('<div class="info-uuid">'+i.escape(null==(e=a)?"":e)+"</div>"),n.push('</div><div class="info-help"><a'+i.attr("href",A,!0,!0)+' class="help">Help</a>'),a&&n.push('<div class="dropdown"><button id="dLabel" data-toggle="dropdown" class="btn btn-default dropdown-toggle"><Dropdown>csv</Dropdown><span class="caret"></span></button><ul class="dropdown-menu dropdown-menu-right"><li class="csv-link"><a'+i.attr("href","/tracker/submission/csv?submissionUuid="+a,!0,!0)+'>Current key metrics</a></li><li class="csv-link"><a'+i.attr("href","/tracker/submission/csv?submissionUuid="+a+"&keyMetricsOnly=false",!0,!0)+'>Current all metrics</a></li><li class="csv-link"><a'+i.attr("href","/tracker/submission/csv?submissionUuid="+a+"&daysInterval=7",!0,!0)+'>Last 7 days key metrics</a></li><li class="csv-link"><a'+i.attr("href","/tracker/submission/csv?submissionUuid="+a+"&daysInterval=7&keyMetricsOnly=false",!0,!0)+">Last 7 days all metrics</a></li></ul></div>"),n.push("</div>")}.call(this,"branch"in r?r.branch:"undefined"!=typeof branch?branch:void 0,"day"in r?r.day:"undefined"!=typeof day?day:void 0,"helpLink"in r?r.helpLink:"undefined"!=typeof helpLink?helpLink:void 0,"name"in r?r.name:"undefined"!=typeof name?name:void 0,"uuid"in r?r.uuid:"undefined"!=typeof uuid?uuid:void 0),n.join("")}},function(t,e,n){n(101);t.exports=function(t){var e=[];return e.push('<div class="midas-dashboard container-fluid trackerdash"><div class="top-info-bar row"></div><div class="overview-panel row"><div class="info-pane col-md-6"><div class="info-title">Ground Truth Performance</div></div><div class="trend-pane col-md-6"><div class="trend-graph">Graph goes here</div></div></div><div class="status-bar-widget row"></div><div class="result-table-panel row"><div class="result-table-pane col-md-12"></div></div></div>'),e.join("")}},function(t,e,n){"use strict";var i=n(30),r=function(t){return t&&t.__esModule?t:{default:t}}(i),A=n(1507);r.default.register(A.TreeHeatmap,"TreeHeatmap")},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TreeHeatmap=void 0;var i=n(1508),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.TreeHeatmap=r.default},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function A(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),a=n(13),c=function(t){return t&&t.__esModule?t:{default:t}}(a),s=n(103),u=n(10),g=n(95),l=n(14),M=n(94);n(544);var h=function(t){function e(t,n){i(this,e);var A=r(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n=n||{},A.data=n.data,A.scale=n.scale||"global",A.clusterRows=void 0===n.clusterRows||n.clusterRows,A.clusterColumns=void 0===n.clusterColumns||n.clusterColumns,A.idColumn=n.idColumn,A.thresholdMode=n.thresholdMode||"none",A.threshold=n.threshold||0,A.removeEmpty=void 0!==n.removeEmpty&&n.removeEmpty,A.width=n.width,A.height=n.height,A}return A(e,t),o(e,null,[{key:"options",get:function(){return[{id:"data",name:"Data table",description:"The data table.",type:"table",format:"objectlist"},{id:"idColumn",name:"Identifier column",description:'A column with unique identifiers. If not set, the visualization will use a column with an empty name, or a column named "_" or "_id".',type:"string",format:"text",domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}},{id:"scale",name:"Color scale",description:"Color the data values with a global scale, scale each row or column separately, or use a -1 to 1 color scale suitable for a correlation matrix.",type:"string",format:"text",domain:["global","row","column","correlation"],default:"global"},{id:"clusterRows",name:"Cluster rows",description:"Order the rows by hierarchical cluster linkage.",type:"boolean",format:"boolean",default:!0},{id:"clusterColumns",name:"Cluster columns",description:"Order the columns by hierarchical cluster linkage.",type:"boolean",format:"boolean",default:!0},{id:"thresholdMode",name:"Threshold mode",description:"Use the threshold value to display only certain cells.",type:"string",format:"text",domain:["none","greater than","less than","absolute value greater than"],default:"none"},{id:"threshold",name:"Threshold value",description:"The value to threshold by.",type:"number",format:"number",default:0},{id:"removeEmpty",name:"Remove empty rows and columns",description:"Remove rows and columns that are entirely filtered out by the threshold. Clustering by rows and columns will not be used.",type:"boolean",format:"boolean",default:!1}]}}]),o(e,[{key:"render",value:function(){var t=this;if(this.empty(),void 0!==this.data&&0!==this.data.length){var e=(0,s.getElementSize)(this.el),n=this.width||e.width||400,i=this.height||e.height||400,r=this.clusterRows,A=this.clusterColumns;this.removeEmpty&&(r=!1,A=!1);var o=r?100:0,a=A?100:0,c=n-o-100,h=i-a-100,d=Object.keys(this.data[0]),f=this.idColumn;if(void 0===f&&(f=d.includes("_id")?"_id":f,f=d.includes("_")?"_":f,f=d.includes("")?"":f),void 0===f)throw new Error("TreeHeatmap: No suitable idColumn found.");var I=[],E=!1;this.data.forEach(function(t){var e=""+t[f];"_child1"===e&&(E=!0),e.startsWith("_")||E||I.push({name:e})});var T=null;T=[],d.forEach(function(t){""===t||t.startsWith("_")||T.push({name:t})});var N=[],y=[],p={},C={};E=!1,this.data.forEach(function(t){var e=""+t[f];return"_child1"===e&&(E=!0),e.startsWith("_")?void(p[e]=t):E?void(C[e]=t):(N.push(T.map(function(e){return+t[e.name]})),void(r&&+t._cluster>=0&&y.push({cluster:+t._cluster,child1:+t._child1,child2:+t._child2,distance:+t._distance,size:+t._size})))});var D=[];A&&T.forEach(function(t){p._cluster&&+p._cluster[t.name]>=0&&D.push({cluster:+p._cluster[t.name],child1:+p._child1[t.name],child2:+p._child2[t.name],distance:+p._distance[t.name],size:+p._size[t.name]})});var x=function(){return 1};if("less than"===this.thresholdMode?x=function(e){return e.value<t.threshold?1:0}:"greater than"===this.thresholdMode?x=function(e){return e.value>t.threshold?1:0}:"absolute value greater than"===this.thresholdMode&&(x=function(e){return Math.abs(e.value)>t.threshold?1:0}),this.removeEmpty){for(var B=0;B<I.length;B+=1)for(var w=0;w<T.length;w+=1)I[B].name!==T[w].name&&x({value:N[B][w]})&&(I[B].visible=!0,T[w].visible=!0);for(var m=I.length-1;m>=0;m-=1)I[m].visible||(I.splice(m,1),N.splice(m,1));for(var Q=T.length-1;Q>=0;Q-=1)!function(t){T[t].visible||(T.splice(t,1),N.forEach(function(e){return e.splice(t,1)}))}(Q)}var v=I.slice().sort(function(t,e){return t.name.localeCompare(e.name)}),j=T.slice().sort(function(t,e){return t.name.localeCompare(e.name)}),L=(0,l.select)(this.el).append("svg").attr("width",n+"px").attr("height",i+"px");L.append("clipPath").attr("id","clip-rect").append("rect").attr("x",o).attr("y",a).attr("width",c).attr("height",h);var S=L.append("g").attr("clip-path","url(#clip-rect)");L.append("clipPath").attr("id","clip-row-labels").append("rect").attr("x",o+c).attr("y",a).attr("width",100).attr("height",h);var Y=L.append("g").attr("clip-path","url(#clip-row-labels)");L.append("clipPath").attr("id","clip-col-labels").append("rect").attr("x",o).attr("y",a+h).attr("width",c).attr("height",100);var b=L.append("g").attr("clip-path","url(#clip-col-labels)"),O=function(t){return t.distance},z=(0,g.scaleLinear)().domain([0,N[0].length]).range([o,o+c]),U=(0,g.scaleLinear)().domain([0,N.length]).range([a,a+h]),F=function(t,e,n,i,r,A,o,c){function s(t){e.forEach(function(t){t.lines=[[B(O(d[t.child1])),w(d[t.child1].pos)],[B(O(t)),w(d[t.child1].pos)],[B(O(t)),w(d[t.child2].pos)],[B(O(d[t.child2])),w(d[t.child2].pos)]]});var n=v.selectAll(".tree-links").data(e);t>0&&(n=n.transition().duration(t)),n.attr("d",function(t){return S(t.lines)});var i=v.selectAll(".tree-select").data(j);t>0&&(i=i.transition().duration(t)),i.attr(m,function(t){return B(O(t))}).attr(Q,function(t){return w(t.offset)}).attr("x"===m?"width":"height",function(t){return B(0)-B(O(t))}).attr("x"===Q?"width":"height",function(t){return w(t.offset+t.size)-w(t.offset)});var r=L.selectAll(".datum").data(k);t>0&&(r=r.transition().duration(t)),r.attr("x",function(t){return z(t.colIndex)}).attr("y",function(t){return U(t.rowIndex)}).attr("width",function(t){return z(t.colIndex+1)-z(t.colIndex)}).attr("height",function(t){return U(t.rowIndex+1)-U(t.rowIndex)});var A=Y.selectAll(".row-label").data(I);t>0&&(A=A.transition().duration(t)),A.attr("y",function(t){return U(t.pos)});var o=b.selectAll(".col-label").data(T);t>0&&(o=o.transition().duration(t)),o.attr("transform",function(t){return"translate("+z(t.pos)+","+(a+h)+")"})}for(var u=n.length,d={},f=0;f<u;f+=1)n[f].size=1,n[f].distance=0,d[f]=n[f];for(var E=0;E<e.length;E+=1)d[e[E].cluster]=e[E];var N=e[e.length-1]||{};N.offset=0,N.parent=N;for(var y=e.length-1;y>=0;y-=1){var p=e[y],C=d[p.child1],D=d[p.child2];p.pos=p.offset+C.size,C.offset=p.offset,C.parent=p,1===C.size&&(C.pos=C.offset+.5),D.offset=p.offset+C.size,D.parent=p,1===D.size&&(D.pos=D.offset+.5)}var x=[0,O(N)],B=(0,g.scaleLinear)().domain(x).range([r+o,r]),w=(0,g.scaleLinear)().domain([0,u]).range([i,i+A]),m="y",Q="x";"vertical"===t&&(m="x",Q="y"),L.append("clipPath").attr("id","clip-"+t).append("rect").attr("x","horizontal"===t?i:r).attr("y","horizontal"===t?r:i).attr("width","horizontal"===t?A:o).attr("height","horizontal"===t?o:A);var v=L.append("g").attr("class",t).attr("clip-path","url(#clip-"+t+")");v.selectAll(".tree-links").data(e).enter().append("path").attr("class","tree-links").style("fill-opacity",0).style("stroke","black");var j=e.slice().reverse(),S=(0,M.line)();"horizontal"===t&&S.x(function(t){return t[1]}).y(function(t){return t[0]}),v.selectAll(".tree-select").data(j).enter().append("rect").attr("class","tree-select").style("fill","steelblue").style("fill-opacity",0).on("mouseover",function(){(0,l.select)(this).style("fill-opacity",.4)}).on("mouseout",function(){(0,l.select)(this).style("fill-opacity",0)}).on("click",function(e){w.domain([e.offset,e.offset+e.size]),B.domain([0,O(e.parent.parent)]),("horizontal"===t?z:U).domain([e.offset,e.offset+e.size]),s(c)}),s(0)},k=[];r&&I.length>1?F("vertical",y,I,a,0,h,100,1e3):I.forEach(function(t){var e=v.indexOf(t);t.offset=e,t.pos=e+.5}),A&&T.length>1?F("horizontal",D,T,o,0,c,100,1e3):T.forEach(function(t){var e=j.indexOf(t);t.offset=e,t.pos=e+.5});for(var R=0;R<N.length;R+=1)for(var G=0;G<N[R].length;G+=1)k.push({value:N[R][G],rowIndex:I[R].offset,colIndex:T[G].offset});for(var H=[],J=0;J<N[0].length;J+=1)!function(t){H[T[t].offset]=(0,g.scaleLinear)().domain((0,u.extent)(N,function(e){return e[t]})).range(["white","steelblue"])}(J);for(var P=[],X=0;X<N.length;X+=1)P[I[X].offset]=(0,g.scaleLinear)().domain((0,u.extent)(N[X])).range(["white","steelblue"]);var V=(0,u.min)(N,function(t){return(0,u.min)(t)}),W=(0,u.max)(N,function(t){return(0,u.max)(t)}),_=(0,g.scaleLinear)().domain([V,W]).range(["white","steelblue"]),Z=(0,g.scaleLinear)().domain([-1,0,1]).range(["red","white","green"]),K=function(t){return _(t.value)};"row"===this.scale?K=function(t){return P[t.rowIndex](t.value)}:"column"===this.scale?K=function(t){return H[t.colIndex](t.value)}:"correlation"===this.scale&&(K=function(t){return Z(t.value)}),S.selectAll(".datum").data(k).enter().append("rect").attr("class","datum").attr("fill",K).attr("x",function(t){return z(t.colIndex)}).attr("y",function(t){return U(t.rowIndex)}).attr("opacity",this.removeEmpty?function(t){return 1}:x).attr("width",function(t){return z(t.colIndex+1)-z(t.colIndex)}).attr("height",function(t){return U(t.rowIndex+1)-U(t.rowIndex)}),Y.selectAll(".row-label").data(I).enter().append("text").attr("class","row-label").text(function(t){return t.name}).attr("color","black").attr("font-size","10px").attr("alignment-baseline","middle").attr("x",o+c).attr("y",function(t){return U(t.pos)}),b.selectAll(".col-label").data(T).enter().append("g").attr("transform",function(t){return"translate("+z(t.pos)+","+(a+h)+")"}).attr("class","col-label").append("text").text(function(t){return t.name}).attr("color","black").attr("font-size","10px").attr("transform","rotate(-90)").attr("text-anchor","end").attr("alignment-baseline","middle")}}}]),e}(c.default);e.default=h},function(t,e,n){"use strict";var i=n(30),r=function(t){return t&&t.__esModule?t:{default:t}}(i),A=n(1510);r.default.register(A.UpSet,"UpSet")},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UpSet=void 0;var i=n(1511),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.UpSet=r.default},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(13),s=i(c),u=n(20),g=i(u),l=n(219),M=n(1512),h=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(M),d=n(1520),f=i(d);n(225);var I=function(t){function e(t,n){r(this,e);var i=A(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return i.options=n,i}return o(e,t),a(e,null,[{key:"options",get:function(){return[{name:"data",type:"table",format:"objectlist"},{name:"id",type:"string",format:"text",domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}},{name:"sets",type:"string_list",format:"string_list",optional:!0,domain:{mode:"field",from:"data",fieldTypes:["integer","boolean","string"]}},{name:"fields",type:"string_list",format:"string_list",optional:!0,domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}},{name:"metadata",type:"string_list",format:"string_list",domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}}]}}]),a(e,[{key:"render",value:function(){var t=this;if(this.options.id&&(this.options.sets||this.options.fields)&&this.options.data&&0!==this.options.data.length){g.default.select(this.el).html(f.default);var e=[],n=[this.options.id];if(e.push(n),this.options.data.forEach(function(n){e.push([n[t.options.id]])}),this.options.sets){var i=["1","yes","true"];this.options.sets.forEach(function(t){return n.push(t)}),this.options.data.forEach(function(n,r){t.options.sets.forEach(function(t){var A="0",o=(""+n[t]).toLowerCase();-1!==i.indexOf(o)&&(A="1"),e[r+1].push(A)})})}this.options.fields&&this.options.fields.forEach(function(i){var r=(0,l.unique)(t.options.data,function(t){return t[i]});r.forEach(function(t){return n.push(i+" "+t)}),t.options.data.forEach(function(t,n){r.forEach(function(r){e[n+1].push(r===t[i]?"1":"0")})})});var r=n.length-1,A=[{type:"id",index:0,name:"Name"}];if(this.options.metadata){this.options.data.__types__||(0,l.read)(this.options.data,{parse:"auto"});var o={string:"string",date:"integer",number:"float",integer:"integer",boolean:"integer"};this.options.metadata.forEach(function(i){n.push(i);var r=o[t.options.data.__types__[i]];A.push({type:r,index:n.length-1,name:i}),t.options.data.forEach(function(t,n){e[n+1].push(""+t[i])})})}var a=[{name:"data",data:e,header:0,meta:A,sets:[{format:"binary",start:1,end:r}],author:"",description:"",source:""}];h.UpSet(a),this.ui=new h.Ui}}}]),e}(s.default);e.default=I},function(t,e,n){function i(t,e,n){rt=[],c(),gt(),nt=e,it=t,n?r(n):J.when(J.ajax({url:"datasets.json",dataType:"json"})).then(function(t,e,n){r(t)},function(t,e,n){console.error('Error loading "'+this.url+'".')}),J("#custom-dataset-submit").on("click",function(){var t=J("#custom-dataset-url").val();null!=t&&(r([t]),At.dataset=rt.length)})}function r(t){for(var e=[],n=0;n<t.length;++n){var i=t[n];"string"===J.type(i)?e.push(J.ajax({url:i,dataType:"json",success:ot})):ot(i)}J.when.apply(void 0,e).then(A,ct)}function A(){at(),J(P).trigger("loading-dataset-started",{description:rt[At.dataset]}),ut()}function o(t){a(rt[t])}function a(t){t.file?d3.text(t.file,"text/csv",function(e){h(e,t),g()}):(h(t.data,t),g())}function c(){for(var t,e=location.search.substring(1),n=/([^&=]+)=([^&]*)/g;t=n.exec(e);)At[decodeURIComponent(t[1])]=decodeURIComponent(t[2]);At.dataset=parseInt(At.dataset)||0,At.duration=At.duration||1e3,At.orderBy=At.orderBy||"subsetSize",At.grouping="undefined"==At.grouping?void 0:At.grouping||"groupBySet",At.selection=At.selection||""}function s(){Lt=new It}function u(){var t=new ft(jt,new ht("#filters-controls","#filters-list"));Lt.addSelection(t,!0),Lt.setActive(t)}function g(){St.reset(),f(),te(),nt.forEach(function(t){t()}),Lt.setActive(),B({initialize:!0}),J(P).trigger("loading-dataset-finished",{})}function l(t){for(var e=0,n=0;n<t.sets.length;++n){var i=t.sets[n];"binary"===i.format?e+=i.end-i.start+1:console.error('Set definition format "'+i.format+'" not supported')}return e}function M(t){return t.meta.length}function h(t,e){var n,i=[],r=[];if("string"===J.type(t)){n=d3.dsv(e.separator,"text/plain").parseRows(t)}else n=t;var A=n[e.header];n.splice(e.header,1);for(var o=0,a=0;a<e.sets.length;++a){var c=e.sets[a];if("binary"===c.format){for(var s=c.end-c.start+1,u=0;u<s;++u)i.push(new Array);for(var g=n.map(function(t,e){return t.map(function(t,n){if(n>=c.start&&n<=c.end){var i=parseInt(t,10);return isNaN(i)&&console.error('Unable to convert "'+t+'" to integer (row '+e+", column "+n+")"),i}return null})}),l=0;l<g.length;l++){0===a&&jt.push(vt++);for(var M=0;M<s;++M)i[o+M].push(g[l][c.start+M]),1===l&&r.push(A[c.start+M])}o+=s}else console.error('Set definition format "'+c.format+'" not supported')}for(var a=0;a<i.length;a++){var h=Array.apply(null,new Array(i.length)).map(Number.prototype.valueOf,0);h[a]=1;var d=new y("S_"+a,r[a],h,i[a]);pt["S_"+a]=d,yt.push(d),a<bt&&(d.isSelected=!0,Ct.push(d))}wt.length=0;for(var a=0;a<e.meta.length;++a){var f=e.meta[a];wt.push({name:f.name||A[f.index],type:f.type,values:[],sort:1})}for(var I={name:"Set Count",type:"integer",values:[],sort:1,min:0},E=0;E<vt;++E){for(var u=0,M=0;M<i.length;M++)u+=i[M][E];I.values[E]=u}wt.push(I);for(var T={name:"Sets",type:"sets",values:[],sort:1},E=0;E<vt;++E){for(var N=[],M=0;M<i.length;M++)1===i[M][E]&&N.push(yt[M].id);T.values[E]=N}wt.push(T);for(var a=0;a<e.meta.length;++a){var f=e.meta[a];wt[a].values=n.map(function(t,e){var n=t[f.index];switch(f.type){case"integer":var i=parseInt(n,10);return isNaN(i)?(console.error('Unable to convert "'+n+'" to integer.'),NaN):i;case"float":var r=parseFloat(n,10);return isNaN(r)?(console.error('Unable to convert "'+n+'" to float.'),NaN):r;case"id":case"string":default:return n}})}for(var a=0;a<wt.length;++a)"float"!==wt[a].type&&"integer"!==wt[a].type||(a<e.meta.length?(wt[a].min=e.meta[a].min||Math.min.apply(null,wt[a].values),wt[a].max=e.meta[a].max||Math.max.apply(null,wt[a].values)):(wt[a].min=wt[a].min||Math.min.apply(null,wt[a].values),wt[a].max=wt[a].max||Math.max.apply(null,wt[a].values)));qt.maxCardinality=wt[wt.length-2].max,isNaN(qt.maxCardinality)&&(qt.maxCardinality=yt.length);var p=document.getElementById("maxCardinality");p.value=qt.maxCardinality,p.max=qt.maxCardinality,document.getElementById("minCardinality").max=qt.maxCardinality,lt(e)}function d(t,e){return t.map(function(t){return e.indexOf(t)>-1?1:0}).join("")}function f(){J(P).trigger("computing-subsets-started",void 0),Qt=Math.pow(2,Ct.length)-1,Bt.length=0;var t,e={},n=Ct.map(function(t){return t.id}),i=wt.filter(function(t){return"sets"==t.type})[0],r="";i.values.forEach(function(i,A){r=d(n,i),t=e[r],null==t?e[r]=[A]:t.push(A)});var A=0,o=Ct.length,a="",c=-1,s=[];if(o>20)Object.keys(e).forEach(function(t){var n=e[t],i=t.split("");s=[];var r=1,A=1;i.forEach(function(t,e){1==t?(s.push(Ct[e].elementName),r*=Ct[e].dataRatio):A*=1-Ct[e].dataRatio}),r*=A;var o="";s.length>0&&(o=s.reverse().join(" ")+" ");var a=new p(u,o,i,n,r);Bt.push(a)});else for(var u=0;u<=Qt;u++){A=u;var g=0,l=Array.apply(null,new Array(o)).map(function(){return c=A%2,A=(A-c)/2,g+=c,+c}).reverse();if(a=l.join(""),!(g>qt.maxCardinality||g<qt.minCardinality)){s=[];var M=1,h=1;l.forEach(function(t,e){1==t?(s.push(Ct[e].elementName),M*=Ct[e].dataRatio):h*=1-Ct[e].dataRatio}),M*=h;var f=e[a];null==f&&(f=[]);var I="";s.length>0&&(I=s.reverse().join(" ")+" ");var E=new p(u,I,l,f,M);Bt.push(E)}}e={},J(P).trigger("computing-subsets-finished",void 0)}function I(t,e){if(t.isSelected){t.isSelected=!1;var n=Ct.indexOf(t);n>-1&&(Ct.splice(n,1),J(P).trigger("set-removed",{set:t}))}else t.isSelected=!0,Ct.push(t),J(P).trigger("set-added",{set:t});e&&(Bt.length=0,Dt.length=0,f(),$t=void 0,te(),B(),nt.forEach(function(t){t()}))}function E(t,e){this.id=t,this.elementName=e,this.items=[],this.setSize=0,this.dataRatio=0}function T(t,e){E.call(this,t,e),this.type=Nt.SEPARATOR}function N(t,e,n,i,r){E.call(this,t,e),this.combinedSets=n,this.nrCombinedSets=0;for(var A=0;A<this.combinedSets.length;A++)0!==this.combinedSets[A]&&this.nrCombinedSets++;for(var A=0;A<i.length;A++)this.items.push(i[A]),this.setSize++;this.dataRatio=this.setSize/vt}function y(t,e,n,i){N.call(this,t,e,n,[],1);for(var r=0;r<i.length;r++)0!==i[r]&&(this.items.push(r),this.setSize++);this.dataRatio=this.setSize/vt,this.type=Nt.SET,this.itemList=i,this.isSelected=!1}function p(t,e,n,i,r){N.call(this,t,e,n,i),this.type=Nt.SUBSET,this.expectedProb=r,this.selections={};var A=1*this.setSize/vt;this.disproportionality=A-r}function C(t,e,n){E.call(this,t,e),this.type=Nt.GROUP,this.isCollapsed=!1,this.nestedGroups=void 0,this.level=1,n&&(this.level=n),this.subSets=[],this.visibleSets=[],this.aggregate=new x("empty"+t," Subsets",n+1),this.hiddenSets=[],this.expectedProb=0,this.disproportionality=0,this.disproportionalitySum=0,this.addSubSet=function(t){this.subSets.push(t),t.setSize>0?this.visibleSets.unshift(t):(this.hiddenSets.unshift(t),this.aggregate.addSubSet(t)),this.items=this.items.concat(t.items),this.setSize+=t.setSize,this.expectedProb+=t.expectedProb,this.disproportionality+=t.disproportionality},this.contains=function(t){return Bt.indexOf(t)>=0||t===this.aggregate}}function D(t,e,n){this.type=Nt.QUERY_GROUP,C.call(this,t,e,1),this.orClauses=n,1==n.length&&(this.combinedSets=Object.keys(n[0]).map(function(t){return n[0][t].state}))}function x(t,e,n){E.call(this,t,e),this.type=Nt.AGGREGATE,this.subSets=[],this.isCollapsed=!0,this.level=n,this.expectedProb=0,this.disproportionality=0,this.addSubSet=function(t){this.subSets.push(t),this.items=this.items.concat(t.items),this.setSize+=t.setSize,this.expectedProb+=t.expectedProb,this.disproportionality+=t.disproportionality}}function B(){function t(){var t=T.length-ee.setSelection.paginationEnd,n=ee.setSelection.paginationStart,i=(g-0)/2+0,r=Math.floor(E/A),o=h.selectAll(".pagination").data([{countRight:t,countLeft:n,distance:r}]),a=o.enter().append("g").attr({class:"pagination"}),c=f;"none"!==ee.setSelection.mode&&(c+=l),ee.setSelection.modeChange?o.transition().attr({transform:"translate("+c+",0)"}):o.attr({transform:"translate("+c+",0)"}),a.append("text").style({"text-anchor":"middle",cursor:"default","font-weight":"bold"}).attr({transform:function(){return"translate("+i+","+.8*M+")"}}).text("Set Selection"),a.append("rect").attr({class:"selectionRect setSelectionArea",x:-5,width:g-0+5,height:.9*M,opacity:0}),a.append("text").attr({class:"right setSelectionLabelAwesome"}).style({"text-anchor":"end"}).attr({transform:function(){return"translate("+(g-2)+","+2*M+")"}}),a.append("text").attr({class:"left setSelectionLabelAwesome"}).style({"text-anchor":"start"}).attr({transform:function(){return"translate(2,"+2*M+")"}}),a.append("text").attr({class:"info_distance"}).style({"text-anchor":"middle",cursor:"default"}).attr({transform:function(t){return"translate("+i+","+2*M+")"}}),a.append("rect").attr({class:"multiSelect setSelectionButton"}).attr({transform:"translate(2,"+2.3*M+")",width:g-0-4,height:.9*M,rx:5,ry:5}).on({click:function(){"none"==ee.setSelection.mode?(ee.setSelection.mode="multiSel",ee.setSelection.modeChange=!0,B()):"multiSel"===ee.setSelection.mode&&(ee.setSelection.multiSelIn=d3.set(),ee.setSelection.multiSelOut=d3.set(),ee.setSelection.mode="none",ee.setSelection.modeChange=!0,B())}}),a.append("text").attr({class:"multiSelect setSelectionButtonText"}).style({"text-anchor":"middle",cursor:"pointer","pointer-events":"none"}).attr({transform:"translate("+i+","+3*M+")"}).text("Batch Add Sets"),a.append("rect").attr({class:"sortFilter setSelectionButton"}).attr({transform:"translate(2,"+3.3*M+")",width:g-0-4,height:.9*M,rx:5,ry:5}).on({click:function(){"none"==ee.setSelection.mode?(ee.setSelection.mode="sortFilter",ee.setSelection.modeChange=!0,B()):"sortFilter"===ee.setSelection.mode&&(ee.setSelection.mode="none",ee.setSelection.modeChange=!0,B())}}),a.append("text").attr({class:"sortFilter setSelectionButtonText"}).style({"text-anchor":"middle",cursor:"pointer","pointer-events":"none"}).attr({transform:"translate("+i+","+4*M+")"}).text("Sort Sets"),o.select(".right").text(function(t){return t.countRight<1?"":""}).on({click:function(t){t.countRight>0&&(ee.setSelection.paginationStart=ee.setSelection.paginationStart+t.distance,B({animate:!1}))}}),o.select(".left").text(function(t){return t.countLeft<1?"":""}).on({click:function(t){t.countLeft>0&&(ee.setSelection.paginationStart=Math.max(ee.setSelection.paginationStart-t.distance,0),B({animate:!1}))}}),o.select(".info_distance").text(function(t){return ee.setSelection.paginationStart+" - "+Math.min(ee.setSelection.paginationEnd,T.length)});var s=0,u=0;"multiSel"===ee.setSelection.mode?(s=2.3*M,u=1):"sortFilter"===ee.setSelection.mode&&(s=3.3*M,u=1),ee.setSelection.modeChange?o.select(".selectionRect").transition().duration(200).attr({y:s,opacity:u}):o.select(".selectionRect").attr({y:s,opacity:u}),e(),ee.setSelection.modeChange=!1}function e(){var t=[];"multiSel"===ee.setSelection.mode?t=[[{name:"Add All Sets",func:function(){T.forEach(function(t){ee.setSelection.multiSelIn.add(t.elementName)}),ee.setSelection.multiSelOut=d3.set(),B()}},{name:"Clear All Sets",func:function(){ee.setSelection.multiSelIn=d3.set(),Ct.forEach(function(t){ee.setSelection.multiSelOut.add(t.elementName)}),B()}},{name:"Cancel",func:function(){ee.setSelection.multiSelIn=d3.set(),ee.setSelection.multiSelOut=d3.set(),ee.setSelection.mode="none",ee.setSelection.modeChange=!0,B()},fontawe:""},{name:"Confirm",func:i,fontawe:""}]]:"sortFilter"===ee.setSelection.mode&&(t=[[{name:"by Size",func:function(){ee.setSelection.setOrder="size",ee.setSelection.mode="none",ee.setSelection.modeChange=!0,B()}},{name:"by Name",func:function(){ee.setSelection.setOrder="name",ee.setSelection.mode="none",ee.setSelection.modeChange=!0,B()}}]]);var e=h.selectAll(".setMenuExtra").data(t);e.exit().remove();var n=e.enter().append("g").attr("class","setMenuExtra").attr({opacity:.1});n.append("rect").attr({class:"setSelectionArea",x:5,width:l-10,height:c+5}),ee.setSelection.modeChange&&e.transition().duration(500).attr({opacity:1}),e.attr({transform:"translate("+f+",0)"}),n.selectAll(".menuExtraEntry").data(function(t){return t}).enter().append("text").attr({class:function(t){return"fontawe"in t?"menuExtraEntry setMenuExtraAwesome":"menuExtraEntry"},transform:function(t,e){return"translate("+l/2+","+(1+1*e)*M+")"}}).style({cursor:"pointer","text-anchor":"middle"}).text(function(t){return"fontawe"in t?t.fontawe+" "+t.name:t.name}).on("click",function(t){t.func()})}function n(t,e){"multiSel"===ee.setSelection.mode?(t.isSelected?ee.setSelection.multiSelOut.has(t.elementName)?ee.setSelection.multiSelOut.remove(t.elementName):ee.setSelection.multiSelOut.add(t.elementName):ee.setSelection.multiSelIn.has(t.elementName)?ee.setSelection.multiSelIn.remove(t.elementName):ee.setSelection.multiSelIn.add(t.elementName),B()):I(t,!0)}function i(){var t=yt.filter(function(t){return ee.setSelection.multiSelIn.has(t.elementName)||ee.setSelection.multiSelOut.has(t.elementName)});ee.setSelection.multiSelIn=d3.set(),ee.setSelection.multiSelOut=d3.set(),ee.setSelection.mode="none",ee.setSelection.modeChange=!0,t.length>0?t.map(function(e,n){I(e,n==t.length-1)}):B()}var r=!1;arguments[0]&&(console.log(arguments[0]),(r=arguments[0].initialize||!1)&&(ee.setSelection.mode="none",ee.setSelection.modeChange=!1,ee.setSelection.multiSelIn=d3.set(),ee.setSelection.multiSelOut=d3.set())),console.log("plotSetOverview");var A=20,o=A,a=7,c=62-a,s=7,u=15,g=115,l="none"===ee.setSelection.mode?0:100;const M=14;var h=d3.select("#headerVis").select("svg"),d=h.attr("width"),f=Ct.length*o+u,E=d-f-g-l-u-A,T=yt.filter(function(t){return-1==Ct.indexOf(t)}),N=h.selectAll(".setSelection").data([1]);N.enter().append("g").attr({class:"setSelection",transform:"translate(0,0)"});var y=d3.scale.linear().domain([0,d3.max(yt,function(t){return t.setSize})]).nice().range([0,c]);!function(){var t=N.selectAll(".usedSets").data([1]);t.enter().append("g").attr("class","usedSets"),t.attr({transform:"translate(0,"+a+")"});var e=t.selectAll(".setLabel").data(Ct,function(t){return t.elementName});e.exit().remove();var i=e.enter().append("g").attr("class","setLabel").attr({transform:function(t,e){return"translate("+A*e+", 0)"},opacity:.1});i.append("rect").attr({class:"setSizeBackground",height:c+1,width:o}).on("click",n).on("mouseover",function(t,e){m(t,e)}).on("mouseout",function(t,e){v(t,e)}),i.append("rect").attr({class:"setSizeRect setSize",x:1,width:o-2}).on("mouseover",m).on("mouseout",v).on("click",n),d3.selectAll(".usedSets .setSize").transition().duration(1e3).attr({y:function(t){return c-y(t.setSize)},height:function(t){return y(t.setSize)}}),i.transition().duration(400).delay(400).attr({opacity:1}),e.attr({transform:function(t,e){return"multiSel"===ee.setSelection.mode&&ee.setSelection.multiSelOut.has(t.elementName)?"translate("+A*e+", -"+a+")":"translate("+A*e+", 0)"}}),e.selectAll(".setSizeRect").attr({class:function(t){return ee.setSelection.multiSelOut.has(t.elementName)?"setSizeRect unusedSetSize":"setSizeRect setSize"}})}(),function(){var e,i=function(t,e){return e.setSize-t.setSize},M=function(t,e){return d3.ascending(t.elementName,e.elementName)};e="name"===ee.setSelection.setOrder?M:i;var h=f+g+l+u;T.sort(e);var d=N.selectAll(".unusedSets").data([1]);if(d.enter().append("g").attr("class","unusedSets"),d.attr({transform:function(t){return"multiSel"===ee.setSelection.mode?"translate("+h+", 0)":"translate("+h+", "+a+")"}}),E<A)d.selectAll(".unusedSetLabel").remove();else{console.log(E,A);var I=Math.floor(E/A);console.log(E,A,I),r&&(ee.setSelection.paginationStart=0),ee.setSelection.paginationEnd=+ee.setSelection.paginationStart+I;var p=T.filter(function(t,e){return ee.setSelection.paginationStart<=e&&e<=ee.setSelection.paginationEnd});t();var C=d.selectAll(".unusedSetLabel").data(p,function(t){return t.elementName});C.exit().remove();var D=C.enter().append("g").attr("class","unusedSetLabel").attr({transform:function(t,e){return"translate("+A*e+", -10)"},opacity:.1});D.append("rect").attr({class:"unusedSetSizeBackground",height:c-2,width:o}).on("click",n),D.append("rect").attr({class:"setSizeRect unusedSetSize",transform:function(t,e){return"translate(1, "+(c-y(t.setSize))+")"},height:function(t){return y(t.setSize)},width:o-2}).on("click",n),D.append("text").text(function(t){if(t.elementName.length>s+3){var e=t.elementName.substring(0,s);e.length<t.elementName.length&&(e=e.trim()+"...")}else e=t.elementName.trim();return e}).attr({class:"setLabel",transform:function(t,e){return"translate("+(A+5)+", 0) rotate(90)"},y:o-3,x:3,height:c-4,"text-anchor":"start"}).on("click",n).append("svg:title").text(function(t,e){return t.elementName+" ("+t.setSize+")"}),C.attr({transform:function(t,e){return"multiSel"===ee.setSelection.mode&&ee.setSelection.multiSelIn.has(t.elementName)?"translate("+A*e+", "+a+")":"translate("+A*e+", 0)"},opacity:1}),C.selectAll(".setSizeRect").attr({class:function(t){return ee.setSelection.multiSelIn.has(t.elementName)?"setSizeRect setSize":"setSizeRect unusedSetSize"}})}}()}function w(t){if(t||(t=Bt),!qt.hideEmpties)return t.slice(0);for(var e=[],n=0;n<t.length;n++)t[n].items.length>0&&e.push(t[n]);return e}function m(t,e){Q(Ct.map(function(e,n){return e.id==t.id?1:0}))}function Q(t){d3.selectAll(".connection, .combination rect, .setSize").style("stroke","white"),d3.selectAll(".connection.diagonal").filter(function(e,n){return t[n]}).style("opacity",1).style("stroke","black"),d3.selectAll(".setSizeBackground").filter(function(e,n){return t[n]}).style("opacity",1).style("fill",ee.backHighlightColor),d3.selectAll(".connection.vertical").filter(function(e,n){return t[n]}).style("opacity",1).style("fill",ee.backHighlightColor),ee.columnBackgroundNode.selectAll(".columnBackground").style({opacity:function(e,n){var i=t[n];switch(i){case 2:return 0;default:return i}}})}function v(){d3.selectAll(".connection, .combination rect").style("opacity",1).style("stroke","none"),d3.selectAll(".setSizeBackground").style({stroke:"none",fill:ee.grays[0]}),ee.tableHeaderNode.selectAll(".connection").style("fill",ee.grays[0]),ee.columnBackgroundNode.selectAll(".columnBackground").style({opacity:0,stroke:"none"})}function j(t,e){L(t,t.data.combinedSets)}function L(t,e){"SUBSET_TYPE"===t.data.type&&(2!==Ct.length&&3!==Ct.length||Yt.plot([t.data],Ct.length)),"GROUP_TYPE"===t.data.type&&(2!==Ct.length&&3!==Ct.length||Yt.plot(t.data.subSets,Ct.length)),d3.selectAll(".row .backgroundRect").style({stroke:function(e){if(t.id==e.id)return"black"},"fill-opacity":function(e){return t.id==e.id?.7:.001}}),Q(e)}function S(){Yt.plot(null,Ct.length),d3.selectAll(".row .backgroundRect").style({stroke:null,"fill-opacity":0}),v()}function Y(t,e){L(t,t.data.combinedSets.map(function(t,n){return n==e?1:t}));ee.columnBackgroundNode.selectAll(".columnBackground").style({stroke:function(t,n){return n==e?1:"none"}});d3.selectAll(".setSize").style({stroke:function(t,n){return n==e?"black":"white"}}),d3.selectAll(".connection.vertical").style("stroke",function(t,n){return n==e?"black":"none"})}function b(){S()}function O(t){function e(t){t.dx=0}function n(t){}function i(t){t.y+=d3.event.dy,t.y=Math.max(0,Math.min(t.y,r.height-r.thumbHeight)),r.gThumb.attr("transform","translate("+[0,t.y]+")"),d3.select(".gRows").attr("transform","translate(0, "+r.scale.invert(t.y)+")"),d3.select(".background-subsets").attr("transform",function(t,e){return"translate("+[0,t.y]+")"})}this.parentEl=t.parentEl,this.x=t.x,this.y=t.y,this.width=t.width||20,this.height=t.height||200,this.value=t.initValue||0,this.rowsHeight=t.rowsHeight||200,this.viewportHeight=t.viewportHeight,this.rowsHeight<this.viewportHeight?this.thumbHeight=this.height:this.thumbHeight=this.height-this.height*(this.rowsHeight-this.viewportHeight)/this.rowsHeight,this.listeners=[],this.min=t.min,this.max=t.max,this.ordinal_axis=d3.scale.ordinal().domain(d3.range(this.min,this.max+1)).rangePoints([0,this.height]),this.linear_axis=d3.scale.linear().domain([this.min,this.max]).range([0,this.height]),this.scale=d3.scale.linear().domain([0,this.viewportHeight-this.rowsHeight]).range([0,this.height*(this.rowsHeight-this.viewportHeight)/this.rowsHeight]);var r=this,i=d3.behavior.drag().origin(Object).on("dragstart",e).on("drag",i).on("dragend",n);this.parentEl.append("rect").attr({width:20,height:t.height,fill:"lightgray",class:"scrollbar-background",x:t.x,y:t.y});this.parentEl.selectAll(".scrollbar-thumb").remove(),this.gThumb=this.parentEl.selectAll(".scrollbar-thumb").data([{value:this.value,dx:0,x:0,y:0}]).enter().append("g").attr("class","scrollbar-thumb").on("mouseover",function(t){d3.select(this).style("cursor","pointer")}).call(i),this.gThumb.append("rect").attr("width",20).attr("height",this.thumbHeight).attr("x",t.x).attr("y",t.y).attr("rx",20).attr("ry",10).attr("fill","gray")}function z(t,e,n){if(d3.select(t).html(""),e.getSize()<=0)d3.select(t).append("div").attr("class","info-message").html('No queries. Click <i class="fa fw fa-plus"></i> button to add a new query.'),d3.select("#filters-list").html(""),d3.select("#filters-list").append("div").attr("class","info-message").html("No active query."),d3.select("#filters-controls").html("");else{var i=d3.select(t).append("table").attr("class","selection-tab-list"),r=i.append("tbody"),A=r.append("tr").selectAll("td").data(e.list).enter().append("td").attr("class","selection-tab").classed({active:function(t,n){return e.isActive(t)}}).on("click",function(t){e.getSelectionFromUuid(t.id)&&e.setActive(t)});A.append("i").attr("class","fa fa-square").style("color",function(t,n){return e.getColor(t)}).style("margin-right","2px"),A.append("span").text(function(t){return d3.format("5d")(t.items.length)}),A.append("i").attr("class","fa fa-times-circle").style("margin-left","5px").on("click",function(t){e.removeSelection(t)})}d3.select("#selection-controls").html(""),d3.select("#selection-controls").append("div").attr("class","selection-button level-1-button").attr("title","Create element query").html('<i class="fa fw fa-plus"></i>').on("click",function(t){u()})}function U(t,e){var n=d3.select(t);if(n.html(""),!e||0===Lt.getSize()||!Lt.getColor(e))return void n.append("div").attr("class","info-message").html("No active query.");e.filterCollection.renderController(d3.select("filters-controller"));var i=n.append("table"),r=i.append("thead"),A=i.append("tbody"),o=parseInt(Lt.getColor(e).substring(1),16);r.append("tr").selectAll("th").data(wt.slice(0,wt.length-1)).enter().append("th").style("background-color","rgba("+(o<<8>>24>>>0)+","+(o<<16>>24>>>0)+","+(o<<24>>>24)+", 0.5)").style("border-bottom","3px solid "+Lt.getColor(e)).attr("class","item-table-header").text(function(t){return t.name}).on("click",function(t){r.selectAll("th").data(wt).text(function(t){return t.name}),d3.select(this).html((t.sort>0?"&#x25B2;":"&#x25BC;")+" "+t.name),a.sort(function(e,n){switch(t.type){case"integer":case"float":return t.sort*(t.values[e]-t.values[n]);case"id":case"string":default:return t.values[e]<t.values[n]?-1*t.sort:t.values[e]>t.values[n]?1*t.sort:0}}),t.sort=-1*t.sort});var a=A.selectAll("tr").data(e.items.slice(0,100)).enter().append("tr").each(function(t,n){d3.select(this).selectAll("td").data(wt.slice(0,wt.length-1)).enter().append("td").text(function(t){return t.values[e.items[n]]})})}function F(t){function e(t,e,n){w.orClauses[m][e]={state:n},s.selectAll(".logicPanelRow").filter(function(t,e){return e==m}).each(function(t){r(this,!0,!1,m)})}function n(t,e){var n=w.orClauses[t];Object.keys(n).forEach(function(t){n[t]={state:e}}),s.selectAll(".logicPanelRow").filter(function(e,n){return n==t}).each(function(e){r(this,!0,!1,t)})}function i(t,e){t.each(function(){for(var t,n=d3.select(this),i=n.text().split(/\s+/).reverse(),r=[],A=0,o=n.attr("y"),a=parseFloat(n.attr("dy")),c=n.text(null).append("tspan").attr("x",0).attr("y",o).attr("dy",a+"em");t=i.pop();)r.push(t),c.text(r.join(" ")),c.node().getComputedTextLength()>e&&(r.pop(),c.text(r.join(" ")),r=[t],c=n.append("tspan").attr("x",0).attr("y",o).attr("dy",1.1*++A+a+"em").text(t))})}function r(t,r,A,o){var c=d3.select(t),s=Object.keys(t.__data__).length,g=c.select(".logicPanelSelectionHeader");g.attr({transform:"translate(90,0)"}),g.on({click:function(t){b(o)}});var M=g.selectAll(".logicPanelHeaderBarGroup").data(function(){var t=0,e=0;return Ot(f,[w.getListOfValues()[o]],function(n){t+=n.dataRatio,e+=n.items.length}),[{countRatio:t,count:e}]});M.enter().append("g").attr({class:"logicPanelHeaderBarGroup"});var h=M.selectAll(".logicPanelHeaderBar").data(function(t){return[t]});h.enter().append("rect").attr({class:"logicPanelHeaderBar",x:function(t){return E.xStartSetSizes},y:2,height:u-4}).style({fill:v}),h.transition().attr({width:function(t){return t.countRatio*E.subSetSizeScale.range()[1]}}),M.selectAll(".logicPanelHeaderBarLabel").data(function(t){return[t]}).enter().append("text").attr({class:"logicPanelHeaderBarLabel addButton",y:u-4,x:function(t){return E.xStartSetSizes+t.countRatio*E.subSetSizeScale.range()[1]+5}}).style({"text-anchor":"start","dominant-baseline":"auto"}).text(function(t){return t.count}),M.selectAll(".logicPanelHeaderBarLabel").transition().attr({x:function(t){return E.xStartSetSizes+t.countRatio*E.subSetSizeScale.range()[1]+5}}).text(function(t){return t.count});var d=g.selectAll(".logicPanelHeaderCircle").data(function(t){return Object.keys(t).map(function(e){return{subsetID:e,state:t[e].state}})});if(d.enter().append("circle").attr({class:"logicPanelHeaderCircle",cx:function(t,e){return e*I+I/2},cy:function(t,e){return u/2},r:u/2-3}),d.style({fill:function(t){switch(t.state){case y.logicState.NOT:return l[0];case y.logicState.MUST:return l[1];default:return"url(#DontCarePattern)"}},stroke:l[1]}),r){var T=c.selectAll(".logicPanelActualText").data(function(t){return[y.getTextDescription(m)]});T.enter().append("text").attr({class:"logicPanelActualText addButton",transform:"translate("+(s*I+5+90)+",0)",y:u,dy:1}).style({"text-anchor":"start","dominant-baseline":"auto"}),T.text(function(t){return t}).call(i,a-(s*u+5+90+100));var N=c.select(".logicPanelSelectionTable"),p=N.node().__data__,C=Object.keys(p).map(function(t){return{subsetID:t,state:p[t].state}}),D=Object.keys(y.logicState).map(function(t){return{state:y.logicState[t],selectors:C.map(function(e){return{state:y.logicState[t],id:e.subsetID,isSelected:function(){return y.logicState[t]==e.state}}})}}),x=N.selectAll(".logicTableRow").data(D),B=x.enter().append("g").attr({class:"logicTableRow"});B.append("text").text(function(t,e){switch(t.state){case y.logicState.NOT:return"not";case y.logicState.MUST:return"must";default:return"maybe"}}).attr({x:-4,y:u/2,class:"addButton"}).style({"text-anchor":"end"}).on({click:function(t){n(m,t.state)}}),B.each(function(t,e){0==e&&d3.select(this).append("rect").attr({x:0,y:-3,width:u*C.length,height:1})}),x.exit().remove(),x.attr({transform:function(t,e){return"translate(90,"+(A?0*u:(e+1)*u+5)+")"}});var Q=x.selectAll("circle").data(function(t){return t.selectors});Q.enter().append("circle").attr({class:"logicPanelCircle",cx:function(t,e){return(e+.5)*I},cy:.5*u,r:u/2-2}),Q.style({fill:function(t){switch(t.state){case y.logicState.NOT:return l[0];case y.logicState.MUST:return l[1];default:return"url(#DontCarePattern)"}},stroke:function(t){return t.isSelected()?v:l[1]}}).on({click:function(t){e(m,t.id,t.state)}}),A&&x.transition().attr({transform:function(t,e){return"translate(90,"+((e+1)*u+5)+")"}})}else d3.select(t).select(".logicPanelSelectionTable").selectAll(".logicTableRow").remove(),d3.select(t).select(".logicPanelActualText").remove()}function A(){w.groupName=B,T.logicGroups.push(w),T.logicGroupChanged=!0,T.forceUpdate=!0,null!=N&&N.forEach(function(t){t()}),U()}function o(){var t=prompt("Group label:",B);null!=t&&(B=t,s.select("#fakeGroup").select(".groupLabel").text(B))}var a=t.width,c=t.visElement,s=t.panelElement,u=t.cellSize,g=t.usedSets,l=t.grays,M=t.belowVis,h=t.buttonX,d=t.buttonY,f=t.subsets,I=t.cellWidth,E=t.ctx,T=t.stateObject,N=t.callAfterSubmit;this.logicState=E.logicStates;var y=this,p={},C=u,D=!0,x="translate(0, 90)",B="Query",w={},m=1,Q=function(){w={groupName:"",orClauses:[],getListOfValues:function(){var t=[];return this.orClauses.forEach(function(e){var n=[];for(key in e)n.push(e[key].state);t.push(n)}),t}}};const v="#a1d99b";var j={},L=function(t,e,n){var i=t.selectAll("defs").data([e],function(t){return t});i.exit().remove();var r=i.enter().append("defs").append("pattern").attr({id:"DontCarePattern",patternContentUnits:"objectBoundingBox",x:"0",y:"0",width:1,height:1});r.append("rect").attr({x:0,y:0,width:1,height:1,fill:n[0]}),r.append("circle").attr({cx:.5,cy:.5,r:.2,fill:n[1]})},S=function(){j.attr({opacity:0}),x=+M.attr("y"),w.orClauses[0]={},g.forEach(function(t){w.orClauses[0][t.id]={state:y.logicState.DONTCARE}}),w.id="LogicGroup_"+(new Date).getTime(),m=0,D=!0,p={},g.forEach(function(t){p[t.id]=t.elementName}),B="Query",z()},Y=function(){var t=w.orClauses.length;w.orClauses[t]={},g.forEach(function(e){w.orClauses[t][e.id]={state:y.logicState.DONTCARE}}),m=t,z()},b=function(t){t!=m?(m=t,z()):(m=-1,z())},O=function(t){w.orClauses.splice(t,1),m-=1,0==w.orClauses.length?U():z()};this.getTextDescription=function(t){var e=w.orClauses[t],n={};Object.keys(e).forEach(function(t){var i=n[e[t].state];null==i?i=[p[t]]:i.push(p[t]),n[e[t].state]=i});var i=Object.keys(p).length,r="";if(Object.keys(y.logicState).forEach(function(t){var e=y.logicState[t];if(null!=n[e]&&n[e].length==i)switch(e){case y.logicState.NOT:r="the intersection that does not intersect with any selected set";break;case y.logicState.DONTCARE:r="all intersections of all selected sets";break;case y.logicState.MUST:r="the intersection of all selected sets"}}),r.length<1){r="intersections of ";var A="";null!=n[y.logicState.MUST]&&(r+="set"+(n[y.logicState.MUST].length>1?"s ":" "),r+=n[y.logicState.MUST].map(function(t){return"["+t+"]"}).join(" and "),A=" but "),null!=n[y.logicState.NOT]&&(r+=A+"excluding set"+(n[y.logicState.NOT].length>1?"s ":" "),r+=n[y.logicState.NOT].map(function(t){return"["+t+"]"}).join(" and "))}return r};var z=function(){if(u=E.cellDistance,L(s,u,l),D){var e=s.append("g").attr({id:"fakeGroup"});e.append("rect").attr({x:0,y:0,width:a,height:u,class:"groupBackGround"});var n=e.append("text");n.append("tspan").attr({x:12,y:u-3,class:"groupLabel"}).text(B),e.append("text").text("").attr({id:"logicPanelCancelText",class:"groupDeleteIcon",transform:"translate("+(E.xStartSetSizes+E.leftOffset-12)+","+(E.cellSize/2+4)+")"}).style({fill:"#f46d43"}).on({click:function(){U()}}),n.append("tspan").text(" ").attr({id:"logicPanelLabelChangeText",class:"logicButton filter-button"}).style({"font-size":"9pt","dominant-baseline":"auto"}).on({click:function(){o()}})}var i=u,c=w.orClauses.map(function(t,e){var n=i;return i+=e==m?95:C,n}),g=s.selectAll(".logicPanelRow").data(w.orClauses),h=g.enter().append("g").attr({class:"logicPanelRow",transform:function(t,e){return"translate(0,"+c[e]+")"}}).style("opacity",1e-6);h.append("text").text("V").attr("class","logicButton logicPanelSelect ").style("text-anchor","start").on("click",function(t,e){b(e)}),h.append("text").text("").attr("class","logicButton logicPanelRemove").style("text-anchor","start").on("click",function(t,e){O(e)}),h.append("rect").attr({class:"logicPanelRect",width:a,height:function(t,e){return 95}}).style({fill:"none",stroke:"lightgray"}),h.append("g").attr("class","logicPanelSelectionTable"),h.append("g").attr("class","logicPanelSelectionHeader"),g.exit().remove(),g.transition().attr({transform:function(t,e){return"translate(0,"+c[e]+")"},height:function(t,e){return e==m?95:C}}).style("opacity",1),g.select(".logicPanelSelect").transition().attr({x:10,y:function(t,e){return C/2}}).text(function(t,e){return m==e?"^":""}),g.select(".logicPanelRemove").transition().attr({x:E.leftOffset-14,y:function(t,e){return C/2}}),g.select(".logicPanelRect").transition().attr({height:function(t,e){return e==m?95:C}}),g.each(function(t,e){r(this,e==m,!0,e)});var d=i+10;if(D){var f=s.append("g").attr({id:"logicPanelButtons"}).attr({transform:"translate(0,"+d+")"});f.append("text").text("").attr({id:"logicPanelAddText",class:"logicButton",x:25}).style({}).on({click:function(){Y()}}),f.append("text").text("").attr({id:"logicPanelSubmitText",class:"logicButton",x:70}).style({fill:v}).on({click:function(){A()}})}else s.select("#logicPanelButtons").transition().attr({transform:"translate(0,"+d+")"});D=!1,M.transition().attr({transform:"translate("+t.leftAlignment+","+(d+15)+")"})},U=function(){s.selectAll(".logicPanelRow").remove(),s.select("#logicPanelButtons").remove(),s.select("#fakeGroup").remove(),M.transition().attr({transform:"translate("+t.leftAlignment+",0)"}),j.attr({opacity:1}),Q()};!function(){j=c.append("g").attr({class:"logicAddButton",transform:"translate("+h+","+d+")"}),j.append("rect").attr({width:20,height:20,x:0,y:0,rx:5,ry:5}).style({fill:v,cursor:"pointer",opacity:.5}).on("click",S).on("mouseover",function(){d3.select(this).style("opacity",1)}).on("mouseout",function(){d3.select(this).style("opacity",.5)}),j.append("text").attr({class:"selection-button",transform:"translate(3,16)","pointer-events":"none"}).style({"font-family":"FontAwesome"}).text(""),j.append("text").attr({class:"addButton",x:25,y:10}).style({fill:"black","text-anchor":"start",cursor:"auto"}).text("Query"),L(s,u,l),Q()}()}function k(t,e,n,i,r,A,o){function a(){e.select(".columnLabelGroup").select("rect").attr({width:n}),e.select(".columnLabelGroup").select("text").attr({x:n/2})}function c(){var t=d3.min([m.extent()[1],C]),i=u(C,n);f.domain([0,C]).range([0,n]).exponent(i);var r=null,A=f.ticks(10);A.push(C);var o=A.reverse(),a={},c=n-3*C.toString(10).length;a[C]=!0,o.forEach(function(t){f(t)+3*t.toString(10).length<c&&(c=f(t)-3*t.toString(10).length,a[t]=!0)}),r=function(t,e){return t in a?t:""},A.push(C),I.scale(f).tickValues(A).tickFormat(r),E.scale(f).tickValues(A),T.range([0,n]),N.scale(T),y.scale(T),B[2]=[n,0],e.select(".x.overviewAxisUpper.axis").call(I),e.select(".x.overviewAxisLower.axis").call(E),e.select(".x.detailAxisUpper.axis").call(N),e.select(".x.detailAxisLower.axis").call(y),m.x(f);var s=v;v=null,L(t),v=s}function s(){var t=w.select(".labels").selectAll(".sliderLabel").data(D,function(t){return t.name});t.exit().remove();var e=t.enter().append("g").attr({class:"sliderLabel"});e.append("rect").attr({x:-5,y:0,width:10,height:15}).append("svg:title").text(function(t){return t.name}),e.append("line").attr({x1:0,x2:0,y1:15,y2:20}),e.append("text").text(function(t){return t.id}).attr({dy:"1em","pointer-events":"none"}),t.attr({transform:function(t){return"translate("+f(t.value)+","+-20+")"}}).on({click:function(t){L(t.value)}})}function u(t,e){if(t<=e)return 1;return Math.log(5/e)/Math.log(5/t)}function g(){var t=e.selectAll(".connectionArea").data([B]);t.exit().remove(),t.enter().append("path").attr({class:"connectionArea",transform:"translate("+l+","+(M+d+h)+")"}),t.attr({transform:"translate("+l+","+(M+d+h)+")",d:d3.svg.area()})}var l=0,M=0,h=25,d=20,n=n,f=d3.scale.pow().exponent(2).domain([1,n]).range([0,n]),I=d3.svg.axis().scale(f),E=d3.svg.axis().scale(f).orient("top").tickFormat(function(t){return""}),T=d3.scale.linear().domain([0,n]).range([0,n]).clamp(!0),N=d3.svg.axis().scale(T).ticks(5),y=d3.svg.axis().scale(T).orient("top").tickFormat(function(t){return""}).ticks(5),p="ABC",C=100,D=[{name:"largest intersection",id:"I",value:100},{name:"largest group",id:"G",value:200},{name:"largest set",id:"S",value:300},{name:"all items",id:"A",value:400}],x=o.actionsTrioggeredByLabelClick,B=[[0,-h],[100,-h],[n,0]];e.append("g").attr({class:"x overviewAxisUpper axis",transform:"translate("+l+","+M+")"}).call(I),e.append("g").attr({class:"x overviewAxisLower axis",transform:"translate("+l+","+(M+d)+")"}).call(E),e.append("g").attr({class:"x detailAxisUpper axis",transform:"translate("+l+","+(M+h+d)+")"}).call(N),e.append("g").attr({class:"x detailAxisLower axis",transform:"translate("+l+","+(M+h+2*d)+")"}).call(y);var w,m,Q,v=t[r],j=function(){var n=m.extent()[1];n<5&&(n=5,m.extent([0,5])),e.select(".drawBrush").attr({width:f(n)}),T.domain([0,n]),N.scale(T),y.scale(T),e.selectAll(".detailAxisUpper").call(N),e.selectAll(".detailAxisLower").call(y),B[1][0]=f(n),g(),null!=v&&v(),t[A]=T},L=function(t){m.extent([0,t]),Q.call(m),j()},S=function(t){null!=t.maxValue&&(C=t.maxValue),null!=t.labels&&(D=t.labels),null!=t.width&&(n=t.width),c(),s(),a()};!function(){null!=o.columnLabel&&(p=o.columnLabel),m=d3.svg.brush().x(f).extent([0,100]).on("brush",j).on("brushstart",function(){e.selectAll(".columnLabelGroup").transition().duration(100).style({opacity:0}),e.selectAll(".connectionArea").transition().duration(100).style({opacity:.2})}).on("brushend",function(){e.selectAll(".columnLabelGroup").transition().duration(500).style({opacity:1}),e.selectAll(".connectionArea").transition().duration(500).style({opacity:1e-5})}),w=e.append("g").attr({class:"sliderGroup",transform:"translate("+l+","+M+")"}),w.append("path").attr({class:"connectionArea"}).style({opacity:1e-5});var t=e.append("g").attr({class:"columnLabelGroup",transform:"translate(0,"+(d+(h-20)/2)+")"});t.append("rect").attr({class:"labelBackground",x:0,y:0,width:n,height:20}).on({click:function(){x.forEach(function(t){t()})}}),t.append("text").attr({class:"columnLabel","pointer-events":"none",x:n/2,y:10}).text(p),w.append("rect").attr({class:"drawBrush",x:0,y:0,height:d,width:m.extent()[1]}),Q=w.append("g").attr({class:"slider"}).call(m),Q.selectAll(".w, .extent, .background").remove(),Q.selectAll("rect").attr({height:50,width:20}),Q.selectAll(".e").append("rect").attr({class:"handle"}),Q.selectAll("rect").attr({transform:"translate(0,"+d/2+")rotate(45)",x:-5,y:-5,height:10,width:10}),w.append("g").attr({class:"labels"})}(),s(),g(),t[i]=function(t,e){S(e)}}function R(){this.statistics={},this.scale=d3.scale.linear().domain([0,1]).rangeRound([0,1]),this.axis=d3.svg.axis().scale(this.scale).orient("top")}function G(){ee.plot()}function H(t){function e(){ee.tableBodyHeight=xt.length*(ee.cellDistance+4),ee.rowScale=d3.scale.ordinal().rangeRoundBands([0,ee.tableBodyHeight],0,0),ee.rowScale.domain(xt.map(function(t){return t.id})),ee.cellSize=ee.cellDistance,ee.xStartSetSizes=ee.cellWidth*Ct.length+ee.majorPadding,ee.xStartExpectedValues=ee.xStartSetSizes+ee.subSetSizeWidth+ee.majorPadding,ee.setVisWidth=ee.expectedValueWidth+ee.subSetSizeWidth+ee.majorPadding+ee.cellDistance+ee.xStartSetSizes+ee.summaryStatisticVis.length*(ee.summaryStatisticsWidth+ee.majorPadding),ee.w=ee.cellWidth*Ct.length+ee.majorPadding+ee.leftOffset+ee.subSetSizeWidth+ee.expectedValueWidth+50+ee.summaryStatisticVis.length*(ee.summaryStatisticsWidth+ee.majorPadding),ee.setMatrixHeight=ee.setCellDistance+ee.majorPadding,ee.svgHeight=ee.rowScale.rangeExtent()[1],ee.intersectionClicked=function(t){var e=ft.fromSubset(t.data);Lt.addSelection(e,!1),Lt.setActive(e)},ee.xStartStatisticColumns=ee.xStartExpectedValues+ee.expectedValueWidth+ee.majorPadding,ee.horizonBarGrays=d3.scale.linear().domain([0,1,2]).range(["#bdbdbd","#888888","#252525"])}function n(){var t={allItems:1};Dt.forEach(function(e){var n=e.setSize,i=e.type,r=t[i];null==r?t[i]=n:r<n&&(t[i]=n)}),ee.globalStatistics.forEach(function(e){switch(e.id){case"I":e.value=t[Nt.SUBSET];break;case"A":e.value=t[Nt.GROUP];break;case"U":e.value=jt.length;break;case"S":e.value=d3.max(Ct,function(t){return t.items.length})}})}function r(){e(),d3.select("#bodyVis").select("svg").remove(),ee.svgBody=d3.select("#bodyVis").append("svg").attr("width",ee.w).attr("height",xt.length*ee.cellDistance),ee.columnBackgroundNode=ee.svgBody.append("g").attr({class:"columnBackgroundsGroup"}).attr({transform:"translate("+ee.leftOffset+",0)"}),ee.gRows=ee.svgBody.append("g").attr({class:"gRows",transform:"translate("+ee.leftOffset+",0)"}),ee.toolTipLayer=ee.svgBody.append("g").attr({class:"toolTipLayer"}),d3.select("#headerVis").select("svg").remove(),ee.svgHeader=d3.select("#headerVis").append("svg").attr("width",ee.w).attr("height",65+ee.textHeight),ee.logicPanelNode=ee.svgBody.append("g").attr({class:"logicPanel",transform:"translate(0,0)"}),ee.logicPanel=new F({width:ee.setVisWidth+ee.leftOffset,visElement:ee.svgHeader,panelElement:ee.logicPanelNode,cellSize:ee.cellSize,usedSets:Ct,grays:ee.grays,belowVis:ee.gRows,buttonX:0,buttonY:ee.svgHeader.attr("height")-20,stateObject:qt,subsets:Bt,callAfterSubmit:[te,a,p],leftAlignment:ee.leftOffset,ctx:ee,cellWidth:ee.cellWidth}),ee.tableHeaderNode=ee.svgHeader.append("g").attr({class:"tableHeader",transform:"translate("+ee.leftOffset+","+(ee.svgHeader.attr("height")-ee.textHeight)+")"}),ee.svgBody.append("defs").append("pattern").attr("id","diagonalHatch_0").attr("patternUnits","userSpaceOnUse").attr("width",8).attr("height",8).append("path").attr("d","M-2,2 l4,-4 M0,8 l8,-8 M6,10 l4,-4").attr("stroke","blue").attr("stroke-width",1),A(),o(ee.tableHeaderNode),c(),I(),nt=[A],y(J(window).height(),null),y(null,J(".ui-layout-center").width())}function A(){ee.summaryStatisticVis=[],wt.filter(function(t){return("integer"==t.type||"float"==t.type)&&"Set Count"!=t.name}).forEach(function(t,e){ee.summaryStatisticVis.push({attribute:t.name,visObject:new R})}),a(),e(),ee.svgBody.attr({width:Math.max(ee.w,400)}),c(),I()}function o(t){var e=d3.scale.ordinal().rangeRoundBands([0,Ct.length*ee.cellWidth],0);e.domain(Ct.map(function(t){return t.id}));var n=t.selectAll(".setRow").data(Ct,function(t){return t.elementName});n.enter().append("g").attr({class:"setRow"});n.exit().remove();var i=n.selectAll(".sortBySet.connection.vertical").data(function(t,e){return[t]});i.enter().append("rect").attr({class:"sortBySet connection vertical"}).on("mouseover",m).on("mouseout",v),i.exit().remove(),i.attr({transform:function(t,e){return"skewX(45) translate("+-ee.leftOffset+", 0)"},width:ee.cellWidth,height:ee.textHeight-2});var r=n.selectAll("text").data(function(t){return[t]});r.enter().append("text").text(function(t){var e=t.elementName.substring(0,ee.truncateAfter);return e.length<t.elementName.length&&(e=e.trim()+"..."),e}).attr({class:"setLabel sortBySet",id:function(t){return t.elementName.substring(0,ee.truncateAfter)},transform:function(t,e){return"translate(0,"+(ee.textHeight-ee.textSpacing-2)+")rotate(45)"},"text-anchor":"end"}).style({cursor:"s-resize"}).on("mouseover",m).on("mouseout",v).append("svg:title").text(function(t,e){return t.elementName}),r.attr({class:function(){return ee.cellWidth>16?"setLabel":"setLabel small"}}),n.attr({transform:function(t,n){return"translate("+e(t.id)+", 0)"},class:"setRow"}),d3.selectAll(".sortBySet, .setRow .setLabel").on("click",function(t){qt.sorting=Kt.sortBySetItem,qt.grouping=void 0,qt.levelTwoGrouping=void 0,qt.forceUpdate=!0,te(t),p()}).style({cursor:"s-resize"})}function a(){ee.summaryStatisticVis.forEach(function(t,e){t.visObject.updateStatistics(xt,"id","data.items",wt,"name","values",t.attribute)})}function c(){e(),n();var t=ee.tableHeaderNode.selectAll(".tableHeaderGroup").data([1]),i=t.enter().append("g").attr({class:"tableHeaderGroup"});i.append("g").attr().attr({id:"subSetSizeAxis",class:"axis",transform:"translate(0,20)"}).each(function(){ee.brushableScaleSubsetUpdate=function(){},ee.brushableScaleSubset=new k(ee,d3.select(this),ee.subSetSizeWidth,"brushableScaleSubsetUpdate","plotTable","subSetSizeScale",{columnLabel:"Cardinality",actionsTrioggeredByLabelClick:[function(){qt.sorting=Kt.sortBySubSetSize,qt.grouping=void 0,qt.levelTwoGrouping=void 0,qt.forceUpdate=!0,J("#noGrouping").prop("checked",!0),J("#sortRelevanceMeasure").prop("checked",!0),E(!0),te(),p()}]})});var r=d3.max(ee.globalStatistics,function(t){return t.value});t.selectAll("#subSetSizeAxis").transition().attr({transform:"translate("+ee.xStartSetSizes+","+(ee.textHeight-70)+")"}).call(ee.brushableScaleSubsetUpdate,{maxValue:r,labels:ee.globalStatistics}),i.append("rect").attr({id:"expectedValueLabelRect",class:"labelBackground expectedValueLabel sortRelevanceMeasureGlobal"}).on("click",function(){qt.sorting=Kt.sortByExpectedValue,qt.grouping=void 0,qt.levelTwoGrouping=void 0,qt.forceUpdate=!0,J("#noGrouping").prop("checked",!0),J("#sortRelevanceMeasure").prop("checked",!0),E(!0),te(),p()}),i.append("text").text("Deviation").attr({id:"expectedValueLabelText",class:"columnLabel sortRelevanceMeasureGlobal","pointer-events":"none"}),i.append("g").attr().attr({id:"expectedValueAxis",class:"axis"}),t.selectAll("#expectedValueLabelRect").attr({transform:"translate("+ee.xStartExpectedValues+","+ee.labelTopPadding+")",height:"20",width:ee.expectedValueWidth}),t.selectAll("#expectedValueLabelText").attr({transform:"translate("+(ee.xStartExpectedValues+ee.expectedValueWidth/2)+","+(ee.labelTopPadding+10)+")"});var A=d3.min(Dt,function(t){return t.disproportionality});A>0&&(A=0);var s=d3.max(Dt,function(t){return t.disproportionality}),u=d3.max([Math.abs(A),Math.abs(s)]);u<.1&&(u=.1),ee.expectedValueScale=d3.scale.linear().domain([-u,u]).nice().range([0,ee.expectedValueWidth]);var g=d3.format("%"),l=d3.svg.axis().scale(ee.expectedValueScale).orient("top").ticks(4).tickFormat(g);t.select("#expectedValueAxis").transition().attr({transform:"translate("+ee.xStartExpectedValues+","+(ee.textHeight-5)+")"}).call(l);var M=t.selectAll(".summaryStatisticsFO").data(ee.summaryStatisticVis,function(t,e){return t.attribute+e});M.exit().remove();var h=M.enter().append("foreignObject").attr({class:"summaryStatisticsFO",width:120,height:30,x:function(t,e){return ee.xStartStatisticColumns+e*(ee.summaryStatisticsWidth+ee.majorPadding)},y:ee.labelTopPadding-5}).append("xhtml:body");M.attr({x:function(t,e){return ee.xStartStatisticColumns+e*(ee.summaryStatisticsWidth+ee.majorPadding)}}),h.append("select").attr({class:"columnLabel"}).style({width:ee.summaryStatisticsWidth+"px",background:"transparent",border:"1px solid #ccc","-webkit-appearance":"none",padding:"5px"}).on({change:function(t,e){t.attribute=d3.event.target.value,a(),c(),I()}});var d=M.selectAll("select").selectAll("option").data(wt.filter(function(t){return"integer"==t.type||"float"==t.type}));d.exit().remove(),d.enter().append("option"),d.attr({value:function(t,e){return t.name},selected:function(t,e){return t.name==d3.select(this.parentNode).datum().attribute?"selected":null}}).text(function(t){return t.name});var f=t.selectAll(".summaryStatisticsAxis").data(ee.summaryStatisticVis,function(t,e){return t.attribute+e});f.exit().remove(),f.enter().append("g").attr({class:"summaryStatisticsAxis"}),f.attr({transform:function(t,e){return"translate("+(ee.xStartStatisticColumns+e*(ee.summaryStatisticsWidth+ee.majorPadding))+","+(ee.textHeight-5)+")"}}).each(function(t,e){t.visObject.renderAxis(d3.select(this),0,0,ee.summaryStatisticsWidth)}),o(ee.tableHeaderNode)}function s(){var t=ee.gRows.selectAll(".row").data(xt,function(t,e){return t.id}),e=t.enter().append("g").attr({transform:function(t){if(t.data.type===Nt.SUBSET||t.data.type===Nt.GROUP)return"translate(0, "+ee.rowScale(t.id)+")";var e=ee.textHeight;return 2==t.data.level&&(e+=10),"translate(0, "+e+")"},class:function(t){return"row "+t.data.type}}).style("opacity",function(t){return t.data.type===Nt.SUBSET||t.data.type===Nt.GROUP?0==ee.gRows.selectAll(".row")[0].length?1:0:ee.gRows.selectAll(".row")[0].length?0:1});e.append("g").attr("class","gBackgroundRect"),e.append("g").attr("class","gHorizon"),e.append("g").attr("class","gOverlays"),e.append("g").attr("class","gIndicators"),t.exit().remove();var n=t;return ee.rowTransitions&&Ct.length<10&&(n=t.transition().duration(function(t,e){return t.data.type,Nt.SUBSET,At.duration})),n.attr({transform:function(t){return"translate(0, "+ee.rowScale(t.id)+")"},class:function(t){return"row "+t.data.type}}).transition().duration(100).style("opacity",1),t}function u(t,e){var n=t.select(".gBackgroundRect").selectAll(".backgroundRect").data(function(t){return[t]});n.enter().append("rect").attr({class:"backgroundRect",x:0,y:0,width:ee.setVisWidth,height:ee.cellSize}).style({"fill-opacity":1e-4,fill:ee.backHighlightColor}).on({mouseover:j,mouseout:S}),n.exit().remove(),n.attr({width:ee.setVisWidth,height:ee.cellSize});var i=t.selectAll("g.combination").data(function(t){return[t.data.combinedSets]});i.enter().append("g").attr({class:"combination"}),i.exit().remove();var r=i.selectAll(".cell").data(function(t){return t.map(function(t,e){return{data:Ct[e],value:t}})});r.enter().append("circle").on({click:function(t){},mouseover:function(t,e){Y(d3.select(this).node().parentNode.parentNode.__data__,e)},mouseout:b}),r.exit().remove(),r.attr("cx",function(t,e){return ee.cellWidth*e+ee.cellWidth/2}).attr({r:ee.cellSize/2-1,cy:ee.cellSize/2,class:"cell"}).style("fill",function(t){return e(t.value)});var A=i.selectAll(".cellConnector").data(function(t){var e=d3.extent(t.map(function(t,e){return 1==t?e:-1}).filter(function(t,e){return t>=0}));return e[0]==e[1]?[]:[e]});A.enter().append("line").attr({class:"cellConnector","pointer-events":"none"}).style({stroke:e(1),"stroke-width":3}),A.exit().remove(),A.attr({x1:function(t){return ee.cellWidth*t[0]+ee.cellWidth/2},x2:function(t){return ee.cellWidth*t[1]+ee.cellWidth/2},y1:ee.cellSize/2,y2:ee.cellSize/2}),t.each(function(t,e){var n=d3.select(this),i=ee.subSetSizeScale.domain()[1],r=0,A=Math.min(ee.maxLevels,Math.ceil(t.data.setSize/i)),o=d3.range(A).map(function(){var e={};return e.data={},e.data.type=t.data.type,1==A&&t.data.setSize>0&&t.data.setSize%i==0?(e.data.setSize=t.data.setSize,e):(r==A-1&&Math.ceil(t.data.setSize/i)<A+1?e.data.setSize=t.data.setSize%i:e.data.setSize=i,r++,e)});if(n.selectAll(".cutlines").remove(),Math.ceil(t.data.setSize/i)>ee.maxLevels){var a=n.selectAll(".cutlines").data([t.id]).enter().append("g").attr("class","cutlines");a.append("line").attr({x1:ee.xStartSetSizes+ee.subSetSizeWidth-15,x2:ee.xStartSetSizes+ee.subSetSizeWidth-5,y1:0,y2:20}).style({stroke:"white","stroke-width":1}),a.append("line").attr({x1:ee.xStartSetSizes+ee.subSetSizeWidth-20,x2:ee.xStartSetSizes+ee.subSetSizeWidth-10,y1:0,y2:20}).style({stroke:"white","stroke-width":1})}n.selectAll(".gHorizon").selectAll(".row-type-subset").data(o).enter().append("rect").attr("class",function(t){return"subSetSize row-type-subset"}),n.selectAll(".row-type-subset").data(o).exit().remove(),n.selectAll(".row-type-subset").attr({transform:function(t,e){var n=0;return t.data.type!==Nt.SUBSET&&(n=0),"translate("+ee.xStartSetSizes+", "+(n+ee.cellSizeShrink*e+1)+")"},width:function(t,e){return ee.subSetSizeScale(t.data.setSize)},height:function(t,e){return ee.cellSize-2*ee.cellSizeShrink*e-2}}).style({fill:function(t,e){return ee.horizonBarGrays(e)}}).on("click",function(){ee.intersectionClicked(t)}).on("mouseover",function(){j(t)}).on("mouseout",function(){S(t)})})}function g(t){var e=t.select(".gBackgroundRect").selectAll(".groupBackGround").data(function(t){return[t]});e.enter().append("rect").attr({class:function(t){return t.data instanceof D?"groupBackGround filterGroup":t.data.level>1?"groupBackGround secondLevel":"groupBackGround"},rx:5,ry:10,width:ee.setVisWidth+ee.leftOffset,height:ee.cellSize,x:-ee.leftOffset,y:0}),e.exit().remove(),e.attr({width:function(t){return ee.setVisWidth+ee.leftOffset-(t.data.level-1)*ee.leftIndent},height:ee.cellSize,x:function(t){return(t.data.level-1)*ee.leftIndent-ee.leftOffset}});var n=t.selectAll(".groupLabel.groupLabelText").data(function(t){return[t]});n.enter().append("text").attr({class:"groupLabel groupLabelText",y:ee.cellSize-3,x:function(t){return 12-ee.leftOffset+(t.data.level-1)*ee.leftIndent},"font-size":ee.cellSize-6}),n.exit().remove();n.text(function(t){if(t.data.type===Nt.AGGREGATE)return String.fromCharCode(8709)+"-subsets ("+t.data.subSets.length+") ";var e=0;e=t.data.type===Nt.GROUP&&void 0!==t.data.combinedSets?10:ee.truncateGroupAfter;var n=t.data.elementName.substring(0,e);return n.length<t.data.elementName.length&&(n=n.trim()+"..."),n}).attr({class:function(){return ee.cellDistance<14?"groupLabel groupLabelText small":"groupLabel groupLabelText"},y:ee.cellSize-3,x:function(t){return 15-ee.leftOffset+(t.data.level-1)*ee.leftIndent}}).on("click",function(t){Jt(t.data),a(),p(!1)}).append("svg:title").text(function(t,e){return t.data.elementName});var i=t.selectAll(".collapseIcon").data(function(t){return[t]});i.enter().append("text").attr({class:"collapseIcon"}).on("click",function(t){Jt(t.data),a(),p(!1)}),i.text(function(t){return 0==t.data.isCollapsed?"":""}).attr({transform:function(t){return"translate("+(2-ee.leftOffset+5+(t.data.level-1)*ee.leftIndent)+","+(ee.cellSize/2+5)+")"}}).style({"font-size":"10px"});var r=t.filter(function(t){return t.data instanceof D}),A=r.selectAll(".groupDeleteIcon").data(function(t){return[t]});A.enter().append("g").attr({class:"groupDeleteIcon"}).append("text").text("").on({click:function(t){var e=-1;qt.logicGroups.forEach(function(n,i){n.id==t.id&&(e=i)}),qt.logicGroups.splice(e,1),qt.logicGroupChanged=!0,qt.forceUpdate=!0,te(),p()}}).style({fill:"#f46d43"}),A.attr({transform:"translate("+(ee.xStartSetSizes-12)+","+(ee.cellSize/2+4)+")"}),function(){var e=t.filter(function(t){return"combinedSets"in t.data}),n=e.selectAll("g.combination").data(function(t){return[t.data.combinedSets]});n.enter().append("g").attr({class:"combination"}),n.exit().remove();var i=n.selectAll(".cell").data(function(t){return t.map(function(t,e){return{data:Ct[e],value:t}})});i.enter().append("circle").on({mouseover:function(t,e){Y(d3.select(this).node().parentNode.parentNode.__data__,e)},mouseout:b}),i.exit().remove(),i.attr("cx",function(t,e){return ee.cellWidth*e+ee.cellWidth/2}).attr({r:ee.cellSize/2-3,cy:ee.cellSize/2,class:"cell"}).style("fill",function(t){switch(t.value){case 0:return ee.grays[0];case 1:return ee.grays[1];default:return"url(#DontCarePattern)"}}).style({stroke:function(t){return 0==t.value?ee.grays[1]:"none"}})}(),function(){var e=t.filter(function(t){return"orClauses"in t.data&&t.data.orClauses.length>1}),n=e.selectAll("g.complexCombination").data(function(t){return[t.data.orClauses]});n.enter().append("g").attr({class:"complexCombination"}),n.exit().remove(),n.selectAll("text").data(function(t){return[t]}).enter().append("text").attr({class:function(){return ee.cellDistance<14?"groupLabel small":"groupLabel"},x:Ct.length*ee.cellWidth*.5,y:ee.cellWidth-3}).style({cursor:"pointer","text-anchor":"middle"}).text(function(t){return"combination"}).on({mouseover:function(t){var e=d3.select(this.parentNode.parentNode).attr("transform").split(/[,()]/);if(4==e.length){var n=ee.toolTipLayer.append("g").attr({class:"toolTipQuery",transform:"translate("+(+e[1]+ee.leftOffset-5)+","+(+e[2]-ee.textHeight+ee.cellSize+5)+")"});n.style({opacity:1e-5}).transition().style({opacity:1}),n.append("rect").attr({width:Ct.length*ee.cellWidth+10,height:t.length*ee.cellSize+10,rx:10,ry:10}).style({"stroke-width":2,stroke:ee.grays[1],fill:ee.grays[0]}),t.forEach(function(t,e){var i=e*ee.cellSize;n.append("g").attr({class:"combination",transform:"translate(0,"+i+")"}).selectAll(".cell").data(function(e){return Object.keys(t).map(function(e){return t[e]})}).enter().append("circle").attr("cx",function(t,e){return ee.cellWidth*e+ee.cellWidth/2+5}).attr({r:ee.cellSize/2-3,cy:ee.cellSize/2+5,class:"cell"}).style("fill",function(t){switch(t.state){case 0:return ee.grays[0];case 1:return ee.grays[1];default:return"url(#DontCarePattern)"}}).style({stroke:function(t){return 0==t.value?ee.grays[1]:"none"}})})}},mouseout:function(){ee.toolTipLayer.selectAll(".toolTipQuery").transition().attr({opacity:1e-4}).remove()}})}(),t.each(function(t,e){var n=d3.select(this),i=ee.subSetSizeScale.domain()[1],r=0,A=Math.min(ee.maxLevels,Math.ceil(t.data.setSize/i)),o=d3.range(A).map(function(){var e={};return e.data={},e.data.type=t.data.type,1==A&&t.data.setSize>0&&t.data.setSize%i==0?(e.data.setSize=t.data.setSize,e):(r==A-1&&Math.ceil(t.data.setSize/i)<A+1?e.data.setSize=t.data.setSize%i:e.data.setSize=i,r++,e)});if(n.selectAll(".cutlines").remove(),Math.ceil(t.data.setSize/i)>ee.maxLevels){var a=n.selectAll(".cutlines").data([t.id]).enter().append("g").attr("class","cutlines");a.append("line").attr({x1:ee.xStartSetSizes+ee.subSetSizeWidth-15,x2:ee.xStartSetSizes+ee.subSetSizeWidth-5,y1:0,y2:20}).style({stroke:"white","stroke-width":1}),a.append("line").attr({x1:ee.xStartSetSizes+ee.subSetSizeWidth-20,x2:ee.xStartSetSizes+ee.subSetSizeWidth-10,y1:0,y2:20}).style({stroke:"white","stroke-width":1})}n.select(".gHorizon").selectAll(".row-type-group").data(o).enter().append("rect").attr("class",function(t){return"subSetSize row-type-group"}),n.selectAll(".row-type-group").data(o).exit().remove(),n.selectAll(".row-type-group").attr({transform:function(t,e){return"translate("+ee.xStartSetSizes+", "+(ee.cellSizeShrink*e+2)+")"},width:function(t,e){return ee.subSetSizeScale(t.data.setSize)},height:function(t,e){return ee.cellSize-4-2*ee.cellSizeShrink*e}}).style({fill:function(t,e){return ee.horizonBarGrays(e)}}).on("click",function(t){var e=ft.fromSubset(d3.select(this).node().parentNode.__data__.data.subSets);Lt.addSelection(e,!0),Lt.setActive(e)})})}function l(t){function e(t){t.attr({class:function(t){return t.data.disproportionality<0?"disproportionality negative":"disproportionality positive"},transform:function(t){if(isNaN(t.data.disproportionality))return"translate(0, 0)";var e=ee.expectedValueScale(d3.min([0,t.data.disproportionality]));e+=ee.xStartExpectedValues;var n=2;return t.data.type==Nt.SUBSET&&(n=1),"translate("+e+", "+n+")"},width:function(t){return isNaN(t.data.disproportionality)?0:Math.abs(ee.expectedValueScale(t.data.disproportionality)-ee.expectedValueScale(0))},height:function(t){return t.data.type===Nt.SUBSET?ee.cellSize-2:ee.cellSize-4}})}var n=t.selectAll(".disproportionality").data(function(t){return[t]});n.enter().append("rect").attr({transform:function(t){var e=ee.expectedValueScale(d3.min([0,t.data.disproportionality]));e+=ee.xStartExpectedValues;var n=2;return t.data.type===Nt.SUBSET&&(n=1),"translate("+e+", "+n+")"},width:1,height:function(t){return t.data.type===Nt.SUBSET?ee.cellSize-2:ee.cellSize-4}}).on("mouseover",j).on("mouseout",S),n.exit().remove(),e(n.filter(function(t){return t.data.type===Nt.SUBSET}).transition()),e(n.filter(function(t){return t.data.type!==Nt.SUBSET}))}function M(t){t.each(function(t,e){if(t.data.type!=Nt.SEPARATOR){var n=d3.select(this),i=n.selectAll(".detailStatistic").data(ee.summaryStatisticVis,function(t,e){return t.attribute+e});i.exit().remove(),i.enter().append("g").attr({class:function(t){return"detailStatistic"}}),i.each(function(e,n){e.visObject.renderBoxPlot(t.id,d3.select(this),ee.xStartStatisticColumns+n*(ee.summaryStatisticsWidth+ee.majorPadding),2,null,ee.cellSize-4,"detail"+n)})}})}function h(t){if(0==Lt.getSize())return t.selectAll(".what").remove(),t.selectAll(".newOverlay").remove(),void t.selectAll(".selectionIndicators").remove();var e=0;t.each(function(t,n){var i=d3.select(this),r=ee.subSetSizeScale.domain()[1];t.data.type==Nt.GROUP&&(t.data.selections={},t.data.selections.setSize=t.data.setSize,e=t.data.setSize,t.data.subSets.map(function(e,n){void 0===t.data.selections&&(t.data.selections={});for(var i in e.selections)void 0===t.data.selections[i]&&(t.data.selections[i]=[]),t.data.selections[i]=t.data.selections[i].concat(e.selections[i])}));var A=!1,o=Object.getOwnPropertyNames(t.data.selections),a=t.data.selections;if(o.forEach(function(t){a[t].length;Lt.isActiveByUuid(t)&&(A=t)}),!A)return 0;e=a[A].length,t.data.type==Nt.GROUP&&(t.data.selections.setSize=e);var c=0,s=Math.min(ee.maxLevels,Math.ceil(e/r)),u=d3.range(s).map(function(){var n={};return n.data={},n.data.setSize=e,n.data.type=t.data.type,1==s&&e>0&&e%r==0?(n.data.setSize=e,n):(c==s-1&&Math.ceil(e/r)<s+1?n.data.setSize=e%r:n.data.setSize=r,c++,n)});i.selectAll(".gOverlays").selectAll(".newOverlay").data(u).enter().append("rect").attr("class","newOverlay"),i.selectAll(".newOverlay").data(u).exit().remove(),i.selectAll(".newOverlay").attr({transform:function(t,e){return"translate("+ee.xStartSetSizes+", "+(ee.cellSizeShrink*e+1)+")"},width:function(t,e){return ee.subSetSizeScale(t.data.setSize)},height:function(t,e){return ee.cellSize-2*ee.cellSizeShrink*e-2},fill:function(e){var n=!1,i=Object.getOwnPropertyNames(t.data.selections),r=t.data.selections;return i.forEach(function(t){r[t].length,Lt.isActiveByUuid(t)&&(n=t)}),n?Lt.getColorFromUuid(n):0}}).style("opacity",function(t,e){return 1==s?.5:2==s?.5+.2*e:.2+.3*e}).on("click",function(){ee.intersectionClicked(t)}).on("mouseover",function(){j(t)}).on("mouseout",function(){S(t)})});var n=t.select(".gIndicators").selectAll(".selectionIndicators").data(function(t,e){if(!t.data.selections)return[];var n=Object.getOwnPropertyNames(t.data.selections),i=n.map(function(e){return{uuid:e,items:t.data.selections[e]}});i=i.filter(function(t){return 0!==t.items.length&&"undefined"!=t.uuid&&"setSize"!=t.uuid});ee.subSetSizeScale.domain()[1];return i});n.enter().append("path").attr({class:"selectionIndicators"}).on("click",function(e){Lt.setActiveByUuid(e.uuid),h(t)}).on("mouseenter",function(){d3.select(this).attr("transform",function(t,e){return"translate("+d3.transform(d3.select(this).attr("transform")).translate+") scale(1.5) rotate("+d3.transform(d3.select(this).attr("transform")).rotate+")"})}).on("mouseout",function(){d3.select(this).attr("transform",function(t,e){return"translate("+d3.transform(d3.select(this).attr("transform")).translate+") scale(1) rotate("+d3.transform(d3.select(this).attr("transform")).rotate+")"})}),n.exit().remove(),n.attr({transform:function(t,e){var n=Math.floor(t.items.length/ee.subSetSizeScale.domain()[1]),i=t.items.length%ee.subSetSizeScale.domain()[1],r=0;return n>=ee.maxLevels&&(i=ee.subSetSizeScale.domain()[1],n=ee.maxLevels-1,r=-90),"translate("+(ee.xStartSetSizes+ee.subSetSizeScale(i))+" , "+n*ee.cellSizeShrink+") rotate("+r+")"},d:function(t){return" M -5 0 L 5 0 L 0 6 z M 0 6 L 0 "+ee.cellSize},stroke:"white","stroke-width":1,fill:function(t,e){return Lt.getColorFromUuid(t.uuid)}})}function d(t){var e=t.selectAll(".intersectionSizeLabel").data(function(t){return[t]});e.enter().append("text").attr({class:"intersectionSizeText intersectionSizeLabel"}).on("click",function(t){ee.intersectionClicked(t)}),e.exit().remove();var n=e.text(function(t){return t.data.setSize});ee.barTransitions&&n.transition(),n.attr({class:"intersectionSizeText intersectionSizeLabel",y:ee.cellSize/2,x:function(t){return ee.xStartSetSizes+ee.subSetSizeScale(t.data.setSize)+2}})}function f(){var t=ee.columnBackgroundNode.selectAll(".columnBackground").data(Ct);t.enter().append("rect").attr({class:"columnBackground"}).style({stroke:"none",fill:ee.backHighlightColor,opacity:0}),t.exit().remove(),t.attr({x:function(t,e){return ee.cellWidth*e},height:ee.tableBodyHeight,width:ee.cellWidth})}function I(){e(),ee.svgBody.attr({height:ee.rowScale.rangeExtent()[1]}),f();var t=null,n=s().filter(function(e){return e.data.type!=Nt.SEPARATOR||(t=d3.select(this),!1)}),i=d3.scale.ordinal().domain([0,1]).range(ee.grays);if(u(n.filter(function(t){return t.data.type===Nt.SUBSET}),i),g(n.filter(function(t,e){return t.data.type===Nt.GROUP||t.data.type===Nt.AGGREGATE})),d(n),h(n),l(n),M(n),null!=t){var r=t.selectAll(".gSeparatorLine").data([1]);r.enter().append("line").attr({class:"gSeparatorLine"}),r.attr({x1:-ee.leftOffset,x2:ee.w,y1:ee.cellSize/2,y2:ee.cellSize/2})}d3.select(".divForeign").select("svg").attr("height",xt.length*ee.cellDistance)}function E(t){var e=J("#noGroupingL2");t&&e.prop("checked",!0),e.prop("disabled",t),J("#groupByIntersectionSizeL2").prop("disabled",t),J("#groupBySetL2").prop("disabled",t),J("#groupByRelevanceMeasureL2").prop("disabled",t),J("#groupByOverlapDegreeL2").prop("disabled",t)}function T(){if(void 0==qt.grouping)d3.select("#secondLevelGroupingSelect").attr({disabled:!0});else{d3.select("#secondLevelGroupingSelect").attr({disabled:null});var t={};Object.keys(ee.groupingOptions).forEach(function(e){e!=qt.grouping&&(t[e]=ee.groupingOptions[e])});var e=d3.select("#secondLevelGrouping").selectAll("select").data([t]);e.exit().remove(),e.enter().append("select").attr({id:"secondLevelGroupingSelect",class:"groupingSelect"}).on({change:function(){var t=this.options[this.selectedIndex].value;ee.groupingOptions[t].l2action(),N(),te(),a(),p()}}),d3.select("#secondLevelGroupingSelect").selectAll("option").remove();d3.select("#secondLevelGroupingSelect").selectAll("option").data(function(t){return Object.keys(t).map(function(e){return{key:e,data:t[e]}})},function(t){return t.key}).enter().append("option").attr({value:function(t){return t.key},selected:function(t){return t.key==qt.levelTwoGrouping||"dont"==t.key&&void 0==qt.levelTwoGrouping?"selected":null}}).text(function(t){return t.data.name})}}function N(){d3.select("#firstLevelMinCardinality").attr({hidden:qt.grouping==Kt.groupByOverlapDegree?null:"true"}).select("input").attr({value:qt.levelOneDegree,min:1,max:Ct.length}).on({change:function(t){qt.levelOneDegree=+d3.select(this).node().value,qt.forceUpdate=!0,te(),a(),p()}}),d3.select("#secondLevelMinCardinality").attr({hidden:qt.levelTwoGrouping==Kt.groupByOverlapDegree?null:"true"}).select("input").attr({value:qt.levelTwoDegree,min:1,max:Ct.length}).on({change:function(t){qt.levelTwoDegree=+d3.select(this).node().value,qt.forceUpdate=!0,te(),a(),p()}})}function y(t,e){if(null==e){d3.select(".matrixTableContainer").style({height:t+"px"}),d3.select("#bodyVis").style({height:t-300+"px"});d3.select(".matrixTableContainer"),ee.textHeight}else if(null==t){ee.svgBody.attr({width:Math.max(e,400)}),ee.svgHeader.attr({width:Math.max(e,400)});var n=ee.cellWidth*Ct.length+ee.majorPadding+ee.leftOffset+ee.subSetSizeWidthMax+ee.expectedValueWidthMax+50+ee.summaryStatisticVis.length*(ee.summaryStatisticsWidth+ee.majorPadding);ee.subSetSizeWidth=d3.scale.linear().domain([n-(ee.expectedValueWidthMax-100),n-(ee.expectedValueWidthMax-100)-(ee.subSetSizeWidthMax-100)]).range([ee.subSetSizeWidthMax,100]).clamp(!0)(e),ee.expectedValueWidth=d3.scale.linear().domain([n,n-(ee.expectedValueWidthMax-100)]).range([ee.expectedValueWidthMax,100]).clamp(!0)(e),ee.brushableScaleSubsetUpdate(null,{width:ee.subSetSizeWidth})}}!function(){J(P).bind("item-selection-added",function(t,e){e.selection.mapToSubsets(Bt),z("#selection-tabs",Lt,e.selection),U("#item-table",e.selection),St.renderViewer()}),J(P).bind("item-selection-updated",function(t,e){e.selection.mapToSubsets(Bt),G(),z("#selection-tabs",Lt,e.selection),U("#item-table",e.selection),St.renderViewer(),B()}),J(P).bind("item-selection-removed",function(t,e){e.selection.unmapFromSubsets(Bt),0===Lt.list.length&&(J("#filters-list").html(""),J("#filters-controls").html("")),G(),z("#selection-tabs",Lt,Lt.getActive()),U("#item-table",Lt.getActive()),St.renderViewer(),B()}),J(P).bind("item-selection-activated",function(t,e){e.selection?(G(),z("#selection-tabs",Lt,e.selection),e.selection.filterCollection.renderFilters(),U("#item-table",e.selection),B()):(G(),z("#selection-tabs",Lt,e.selection),U("#item-table",e.selection),B()),St.renderViewer()}),J(P).bind("ui-resize",function(t,e){ee.resizeSetView(e.newHeight,null),B()}),J(P).bind("ui-vertical-resize",function(t,e){ee.resizeSetView(e.newHeight,null),B()}),J(P).bind("loading-dataset-started",function(t,e){J(".ui-fader").show(),J("#data-loading-indicator").show()}),J(P).bind("loading-dataset-finished",function(t,e){J(".ui-fader").fadeOut(1e3),J("#data-loading-indicator").fadeOut(1e3),St.renderController(),St.renderViewer()}),J(P).bind("set-added",function(t,e){2!==Ct.length&&3!==Ct.length||(J("#venn-diagram-viewer").fadeIn(500),Yt.plot(void 0,Ct.length)),2!==Ct.length&&3!==Ct.length&&J("#venn-diagram-viewer").fadeOut(500)}),J(P).bind("set-removed",function(t,e){2!==Ct.length&&3!==Ct.length||(J("#venn-diagram-viewer").fadeIn(500),Yt.plot(void 0,Ct.length)),2!==Ct.length&&3!==Ct.length&&J("#venn-diagram-viewer").fadeOut(500)}),J(P).bind("vis-svg-resize",function(t,e){y(null,e.newWidth),c(),I(),B()})}(),document.getElementById("rowSizeValue").addEventListener("changeDataset",function(){ee.cellDistance=+document.getElementById("rowSizeValue").value,p()});var p=function(t){ee.rowTransitions=null==t||t,c(),I(),ee.rowTransitions=!0};ee.updateHeaders=c,ee.plot=p,ee.plotTable=function(){ee.barTransitions=!1,I(),ee.barTransitions=!0},ee.resizeSetView=y,function(){ee.groupingOptions[Kt.groupByIntersectionSize]={name:"Degree",l1action:function(){},l2action:function(){}},ee.groupingOptions[Kt.groupBySet]={name:"Sets",l1action:function(){},l2action:function(){}},ee.groupingOptions[Kt.groupByRelevanceMeasure]={name:"Deviation",l1action:function(){},l2action:function(){}},ee.groupingOptions[Kt.groupByOverlapDegree]={name:"Overlaps",l1action:function(){},l2action:function(){}},ee.groupingOptions.dont={name:"Don't Aggregate",l1action:function(){},l2action:function(){}},ee.groupingOptions[Kt.groupByIntersectionSize].l1action=function(){qt.grouping=Kt.groupByIntersectionSize,qt.levelTwoGrouping=void 0},ee.groupingOptions[Kt.groupBySet].l1action=function(){qt.grouping=Kt.groupBySet,qt.levelTwoGrouping=void 0},ee.groupingOptions[Kt.groupByRelevanceMeasure].l1action=function(){qt.grouping=Kt.groupByRelevanceMeasure,qt.levelTwoGrouping=void 0},ee.groupingOptions[Kt.groupByOverlapDegree].l1action=function(){qt.grouping=Kt.groupByOverlapDegree,qt.levelTwoGrouping=void 0},ee.groupingOptions.dont.l1action=function(){qt.grouping=void 0,qt.levelTwoGrouping=void 0,qt.forceUpdate=!0},ee.groupingOptions[Kt.groupByIntersectionSize].l2action=function(){qt.levelTwoGrouping=Kt.groupByIntersectionSize},ee.groupingOptions[Kt.groupBySet].l2action=function(){qt.levelTwoGrouping=Kt.groupBySet},ee.groupingOptions[Kt.groupByOverlapDegree].l2action=function(){qt.levelTwoGrouping=Kt.groupByOverlapDegree},ee.groupingOptions[Kt.groupByRelevanceMeasure].l2action=function(){qt.levelTwoGrouping=Kt.groupByRelevanceMeasure},ee.groupingOptions.dont.l2action=function(){qt.levelTwoGrouping=void 0};var t=d3.select("#firstLevelGrouping").selectAll("select").data([ee.groupingOptions]);t.exit().remove(),t.enter().append("select").attr({id:"firstLevelGroupingSelect",class:"groupingSelect"}).on({change:function(){var t=this.options[this.selectedIndex].value;ee.groupingOptions[t].l1action(),T(),N(),te(),a(),p()}});var e=t.selectAll("option").data(function(t){return Object.keys(t).map(function(e){return{key:e,data:t[e]}})});e.exit().remove(),e.enter().append("option").attr({value:function(t){return t.key}}).text(function(t){return t.data.name}),T(),N(),d3.selectAll("#collapseAll").on("click",function(t){qt.collapseAll=!0,qt.collapseChanged=!0,te(),a(),p()}),d3.selectAll("#expandAll").on("click",function(t){qt.expandAll=!0,qt.collapseChanged=!0,te(),a(),p()}),d3.selectAll("#sortNrSetsInIntersection").on("click",function(t){qt.sorting=Kt.sortByCombinationSize,qt.forceUpdate=!0,te(),p()}),d3.selectAll(".sortIntersectionSizeGlobal").on("click",function(t){qt.sorting=Kt.sortBySubSetSize,qt.grouping=void 0,qt.levelTwoGrouping=void 0,qt.forceUpdate=!0,J("#noGrouping").prop("checked",!0),E(!0),J("#sortIntersectionSize").prop("checked",!0),te(),p()}),d3.selectAll("#sortIntersectionSize").on("click",function(t){qt.sorting=Kt.sortBySubSetSize,qt.forceUpdate=!0,te(),p()}),d3.selectAll(".sortRelevanceMeasureGlobal").on("click",function(){qt.sorting=Kt.sortByExpectedValue,qt.grouping=void 0,qt.levelTwoGrouping=void 0,qt.forceUpdate=!0,J("#noGrouping").prop("checked",!0),J("#sortRelevanceMeasure").prop("checked",!0),E(!0),te(),p()}),d3.selectAll("#sortRelevanceMeasure").on("click",function(){qt.sorting=Kt.sortByExpectedValue,qt.forceUpdate=!0,te(),p()})}(),i(ee,[r],t)}var J=n(1513);n(225),n(1514),n(1516),n(1518);var P={},X=function(t,e){this.element=t,this.radius=e};X.prototype.isActive=function(t,e){if(!e)return!1;for(var n=0;n<e.length;++n){for(var i=0,r=0;r<t.length;++r)t[r]===e[n].combinedSets[r]&&++i;if(i===t.length)return!0}return!1},X.prototype.plot=function(t,e){var n=this;2===e?n.plot2Set(t):3===e&&n.plot3Set(t)},X.prototype.plot2Set=function(t){var e=this,n=550*e.radius/180+e.radius,i=200*e.radius/180+e.radius+.75*e.radius;d3.select(e.element).html("");var r=d3.select(e.element).append("svg:svg").attr("width",n).attr("height",i),A=r.append("svg:g").attr("width",n).attr("height",i);A.append("svg:rect").attr("width",n).attr("height",i).attr("class",function(){return e.isActive([0,0],t)?"venn-zero-set-area-active":"venn-zero-set-area"});var o=r.append("svg:defs");o.append("svg:clipPath").attr("id","circle1").append("svg:circle").attr("cx",350*e.radius/180-.5*e.radius).attr("cy",200*e.radius/180+.25*e.radius).attr("r",e.radius),o.append("svg:clipPath").attr("id","circle2").append("svg:circle").attr("cx",550*e.radius/180-.5*e.radius).attr("cy",200*e.radius/180+.25*e.radius).attr("r",e.radius),A.append("svg:rect").attr("clip-path","url(#circle1)").attr("width",n).attr("height",i).attr("class",function(){return e.isActive([1,0],t)?"venn-one-set-area-active":"venn-one-set-area"}),A.append("svg:rect").attr("clip-path","url(#circle2)").attr("width",n).attr("height",i).attr("class",function(){return e.isActive([0,1],t)?"venn-one-set-area-active":"venn-one-set-area"}),A.append("svg:g").attr("clip-path","url(#circle1)").append("svg:rect").attr("clip-path","url(#circle2)").attr("width",n).attr("height",i).attr("class",function(){return e.isActive([1,1],t)?"venn-two-set-area-active":"venn-two-set-area"})},X.prototype.plot3Set=function(t){var e=this,n=550*e.radius/180+e.radius,i=300*e.radius/180+e.radius+.5*e.radius;d3.select(e.element).html("");var r=d3.select(e.element).append("svg:svg").attr("width",n).attr("height",i),A=r.append("svg:g").attr("width",n).attr("height",i);A.append("svg:rect").attr("width",n).attr("height",i).attr("class",function(){return e.isActive([0,0,0],t)?"venn-zero-set-area-active":"venn-zero-set-area"});var o=r.append("svg:defs");o.append("svg:clipPath").attr("id","circle1").append("svg:circle").attr("cx",350*e.radius/180-.5*e.radius).attr("cy",200*e.radius/180+.25*e.radius).attr("r",e.radius),o.append("svg:clipPath").attr("id","circle2").append("svg:circle").attr("cx",550*e.radius/180-.5*e.radius).attr("cy",200*e.radius/180+.25*e.radius).attr("r",e.radius),o.append("svg:clipPath").attr("id","circle3").append("svg:circle").attr("cx",450*e.radius/180-.5*e.radius).attr("cy",300*e.radius/180+.25*e.radius).attr("r",e.radius),A.append("svg:rect").attr("clip-path","url(#circle1)").attr("width",n).attr("height",i).attr("class",function(){return e.isActive([1,0,0],t)?"venn-one-set-area-active":"venn-one-set-area"}),A.append("svg:rect").attr("clip-path","url(#circle2)").attr("width",n).attr("height",i).attr("class",function(){return e.isActive([0,1,0],t)?"venn-one-set-area-active":"venn-one-set-area"}),A.append("svg:rect").attr("clip-path","url(#circle3)").attr("width",n).attr("height",i).attr("class",function(){return e.isActive([0,0,1],t)?"venn-one-set-area-active":"venn-one-set-area"}),A.append("svg:g").attr("clip-path","url(#circle1)").append("svg:rect").attr("clip-path","url(#circle2)").attr("width",n).attr("height",i).attr("class",function(){return e.isActive([1,1,0],t)?"venn-two-set-area-active":"venn-two-set-area"}),A.append("svg:g").attr("clip-path","url(#circle2)").append("svg:rect").attr("clip-path","url(#circle3)").attr("width",n).attr("height",i).attr("class",function(){return e.isActive([0,1,1],t)?"venn-two-set-area-active":"venn-two-set-area"}),A.append("svg:g").attr("clip-path","url(#circle3)").append("svg:rect").attr("clip-path","url(#circle1)").attr("width",n).attr("height",i).attr("class",function(){return e.isActive([1,0,1],t)?"venn-two-set-area-active":"venn-two-set-area"}),A.append("svg:g").attr("clip-path","url(#circle3)").append("svg:g").attr("clip-path","url(#circle2)").append("svg:rect").attr("clip-path","url(#circle1)").attr("width",n).attr("height",i).attr("class",function(){return e.isActive([1,1,1],t)?"venn-three-set-area-active":"venn-three-set-area"})};var V=function(){};V.generateUuid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var e=16*Math.random()|0;return("x"==t?e:3&e|8).toString(16)})},V.truncate=function(t,e){var n=!0;for(t[0][0].getBBox().width<e&&(n=!1);n;){var i=t[0][0].getBBox();i.width,i.height;t.text(t.text().substring(0,t.text().length-1)),t[0][0].getBBox().width<e&&(n=!1)}return t.text()},Array.prototype.compare=function(t){if(!t)return!1;if(this.length!=t.length)return!1;for(var e=0,n=this.length;e<n;e++)if(this[e]instanceof Array&&t[e]instanceof Array){if(!this[e].compare(t[e]))return!1}else if(this[e]!=t[e])return!1;return!0},Array.prototype.unique=function(){for(var t=this.concat(),e=0;e<t.length;++e)for(var n=e+1;n<t.length;++n)t[e]===t[n]&&t.splice(n--,1);return t};var W=function(){};W.matchesType=function(t,e){return t===e||("integer"===t?"numeric"===e:"float"===t&&"numeric"===e)};var _={name:"Word Cloud",attributes:[{name:"Text",type:"id",variable:"text"}],parameters:[],render:function(t,e,n,i,r){function A(e){d3.select(t).append("svg").attr("width",300).attr("height",200).append("g").attr("transform","translate(150,100)").selectAll("text").data(e).enter().append("text").style("font-size",function(t){return t.size+"px"}).style("font-family","Helvetica").style("fill",function(t,e){return a(e)}).attr("text-anchor","middle").attr("transform",function(t){return"translate("+[t.x,t.y]+")rotate("+t.rotate+")"}).text(function(t){return t.text})}for(var o=n[i.text],a=d3.scale.category20(),c=[],s=0;s<e.getSize();++s){for(var u=[],g=e.getSelection(s),l=0;l<g.items.length;++l)u=u.concat(o.values[g.items[l]].split(" "));u.color=e.getColor(g),c.push(u)}d3.select(t).html(""),d3.layout.cloud().size([300,200]).words(c[0].map(function(t){return{text:t,size:3+7*Math.random()}})).padding(5).rotate(function(){return 30*~~(2*Math.random())}).font("Helvetica").fontSize(function(t){return t.size}).on("end",A).start()}},Z={name:"Scatterplot",attributes:[{name:"x",type:"numeric",variable:"x"},{name:"y",type:"numeric",variable:"y"}],parameters:[{name:"Log Scale X",type:"boolean",variable:"logScaleX",default:!1},{name:"Log Scale Y",type:"boolean",variable:"logScaleY",default:!1}],render:function(t,e,n,i,r){for(var A=[],o=n[i.x],a=n[i.y],c=0;c<e.getSize();++c){for(var s=[],u=e.getSelection(c),g=0;g<u.items.length;++g)s.push([o.values[u.items[g]],a.values[u.items[g]]]);s.color=e.getColor(u),A.push(s)}var l,M={top:10,right:20,bottom:35,left:45},h=350-M.left-M.right,d=200-M.top-M.bottom;l=r.logScaleX?d3.scale.log().domain([o.min,o.max]).range([0,h]):d3.scale.linear().domain([o.min,o.max]).range([0,h]);var f;f=r.logScaleY?d3.scale.log().domain([a.min,a.max]).range([d,0]):d3.scale.linear().domain([a.min,a.max]).range([d,0]),d3.select(t).html("");var I=d3.select(t).append("svg:svg").attr("width",h+M.right+M.left).attr("height",d+M.top+M.bottom).attr("class","chart"),E=I.append("g").attr("transform","translate("+M.left+","+M.top+")").attr("width",h).attr("height",d).attr("class","main"),T=d3.svg.axis().scale(l).orient("bottom");E.append("g").attr("transform","translate(0,"+d+")").attr("class","main axis date").call(T).append("text").attr("transform","translate(0,30)").style("text-anchor","start").text(o.name);var N=d3.svg.axis().scale(f).orient("left");E.append("g").attr("transform","translate(0,0)").attr("class","main axis date").call(N).append("text").attr("transform","rotate(-90)").attr("y",-M.left).attr("dy",".71em").style("text-anchor","end").text(a.name);var y=E.append("svg:g"),p=y.selectAll(".selection-group").data(A).enter().append("g").attr("class",".selection-group").style("fill-opacity",.5).attr("fill",function(t){return t.color});p.selectAll(".element-mark").data(function(t){return t}).enter().append("svg:circle").attr("cx",function(t,e){return l(t[0])}).attr("cy",function(t,e){return f(t[1])}).attr("r",2)}},K={name:"Histogram",attributes:[{name:"Variable",type:"numeric",variable:"variable"}],parameters:[{name:"Bins",type:"integer",variable:"bins",default:20},{name:"Frequency?",type:"boolean",variable:"isFrequency",default:!1},{name:"Only active?",type:"boolean",variable:"isActiveOnly",default:!1}],render:function(t,e,n,i,r){var A=n[i.variable];d3.format(".00r");"float"===A.type&&d3.format(",.00r"),"integer"===A.type&&d3.format("d");var o={top:10,right:20,bottom:35,left:45},a=350-o.left-o.right,c=200-o.top-o.bottom,s=d3.scale.linear().domain([A.min,A.max]).range([0,a]),u=d3.svg.axis().scale(s).orient("bottom");d3.select(t).html("");for(var g=d3.select(t).append("svg").attr("width",a+o.left+o.right).attr("height",c+o.top+o.bottom).append("g").attr("transform","translate("+o.left+","+o.top+")"),l=[],M=0;M<e.getSize();++M){var h=[],d=e.getSelection(M);if(!r.isActiveOnly||e.isActive(d)){for(var f=0;f<d.items.length;++f)h.push(A.values[d.items[f]]);for(var I=d3.layout.histogram().frequency(r.isFrequency).bins(s.ticks(r.bins))(h),f=0;f<I.length;++f)I[f].color=e.getColor(d),r.isActiveOnly||(I[f].dx=I[f].dx/e.getSize()),I[f].x=I[f].x+M*I[f].dx;l.push(I)}}var E=d3.scale.linear().domain([0,d3.max(l,function(t){return d3.max(t,function(t){return t.y})})]).range([c,0]),T=d3.svg.axis().scale(E).orient("left"),I=g.selectAll(".histogram").data(l).enter().append("g").attr("class","histogram");I.selectAll(".bar").data(function(t){return t}).enter().append("g").attr("class","bar").attr("transform",function(t){return"translate("+s(t.x)+","+E(t.y)+")"}).append("rect").attr("x",1).attr("width",function(t){return s(t.dx+A.min)-1}).attr("height",function(t){return c-E(t.y)}).style("fill-opacity",.5).style("fill",function(t){return t.color}),g.append("g").attr("class","x axis").attr("transform","translate(0,"+c+")").call(u).append("text").attr("transform","translate(0,30)").style("text-anchor","start").text(A.name),g.append("g").attr("class","x axis").call(T).append("text").attr("transform","rotate(-90)").attr("y",-o.left).attr("dy",".71em").style("text-anchor","end").text(function(){return r.isFrequency?"Frequency":"Probability"})}},q={name:"Transition/Transversion Ratio",attributes:[{name:"Reference Allele",type:"string",variable:"reference"},{name:"Alternative Allele",type:"string",variable:"alternative"}],parameters:[{name:"Show Matrix",type:"boolean",variable:"showMatrix"}],render:function(t,e,n,i,r){for(var A=[],o=n[i.reference],a=n[i.alternative],c=0;c<e.getSize();++c){for(var s=0,u=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],g=0,l=0,M={A:0,C:1,G:2,T:3},h=e.getSelection(c),d=0;d<h.items.length;++d){var f=M[o.values[h.items[d]]],I=M[a.values[h.items[d]]];u[f][I]+=1,u[f][I]>s&&(s=u[f][I]);var E=o.values[h.items[d]]+a.values[h.items[d]];"AG"===E||"GA"===E||"CT"===E||"TC"===E?g+=1:l+=1}u.color=e.getColor(h),u.transitions=g,u.transversions=l,u.max=s,A.push(u)}if(d3.select(t).html(""),d3.select(t).selectAll("p").data(A).enter().append("p").html(function(t){return"ti/tv = "+d3.round(t.transitions/t.transversions,3)+" ("+t.transitions+"/"+t.transversions+")"}).style("color",function(t){return t.color}),r.showMatrix)for(var T={top:20,right:20,bottom:30,left:40},c=0;c<e.getSize();++c){var N=d3.scale.ordinal().domain(["A","C","G","T"]).rangePoints([10,70]),y=d3.scale.ordinal().domain(["A","C","G","T"]).rangePoints([10,70]),p=d3.svg.axis().scale(N).orient("bottom"),C=d3.svg.axis().scale(y).orient("left"),D=d3.scale.linear().domain([0,A[c].max]).range(["#e8e8e8","#080808"]),x=d3.select(t).append("svg").attr("width",100+T.left+T.right).attr("height",100+T.top+T.bottom).append("g").attr("transform","translate("+T.left+","+T.top+")");x.append("g").attr("class","x axis").attr("transform","translate(0,80)").attr("stroke-width","0").call(p).append("text").attr("transform","translate(0,30)").style("text-anchor","start").text("Ref Allele"),x.append("g").attr("class","y axis").attr("stroke-width","0").call(C).append("text").attr("transform","rotate(-90)").attr("y",-30).attr("dy",".71em").style("text-anchor","end").text("Alt Allele");var B=x.append("svg:g"),w=B.selectAll("g").data(A).enter().append("svg:g").attr("transform",function(t,e){return"translate(0,"+20*e+")"}),m=w.selectAll("g").data(function(t,e){return t}).enter().append("svg:g").attr("transform",function(t,e){return"translate("+20*e+",0)"});m=m.selectAll("rect").data(function(t,e){return t}).enter().append("svg:rect").attr("width",20).attr("height",20).attr("transform",function(t,e){return"translate(0,"+20*e+")"}).attr("fill",function(t,e){return D(t)}).attr("stroke","white")}}},$={scatterplot:Z,histogram:K,wordCloud:_,variantFrequency:q};J(P).bind("element-viewer-removed",function(t,e){}),J(P).bind("element-viewer-added",function(t,e){}),J(P).bind("element-viewer-activated",function(t,e){St.renderViewer()});var tt=function(t,e){var n=this;n.list=[],n.activeIndex=void 0,n.controllerElementId=t,n.viewerElementId=e};tt.prototype.reset=function(){var t=this;t.list=[],t.activeIndex=void 0},tt.prototype.add=function(t,e){var n=this;e|=!1,n.list.push(t),J(P).trigger("element-viewer-added",{viewer:t}),e&&n.setActiveIndex(n.list.length-1)},tt.prototype.remove=function(t){for(var e=this,n=0;n<e.list.length;++n)e.list[n].uuid===t.uuid&&(e.list.splice(n,1),J(P).trigger("element-viewer-removed",{viewer:t}),n===e.activeIndex&&(e.list.length>0?e.setActiveIndex(n-1):e.setActiveIndex(void 0)))},tt.prototype.activateNext=function(){var t=this;t.activeIndex<t.list.length-1?t.setActiveIndex(t.activeIndex+1):t.activeIndex===t.list.length-1?t.setActiveIndex(0):t.setActiveIndex(void 0)},tt.prototype.activatePrevious=function(){var t=this;t.activeIndex>0?t.setActiveIndex(t.activeIndex-1):0===t.activeIndex?t.setActiveIndex(t.list.length-1):t.setActiveIndex(void 0)},tt.prototype.getIndex=function(t){for(var e=this,n=0;n<e.list.length;++n)if(this.list[n].uuid===t.uuid)return n},tt.prototype.setActiveIndex=function(t){var e=this;t<e.list.length&&t>=0&&e.activeIndex!==t&&(e.activeIndex=t,J(P).trigger("element-viewer-activated",{viewer:e.list[e.activeIndex],index:t}))},tt.prototype.setActive=function(t){var e=this,n=e.getIndex(t);return n&&e.setActiveIndex(n),n},tt.prototype.getActive=function(){var t=this;if(void 0!==t.activeIndex)return t.list[t.activeIndex]},tt.prototype.renderController=function(){var t=this,e=d3.select(t.controllerElementId);e.html(""),e.append("div").attr("class","element-viewer-header").append("div").attr("class","element-viewer-editor-button level-1-button").attr("id","element-viewer-add").on("click",function(){var e=document.getElementById("element-viewer-selector"),n=e.options[e.selectedIndex].__data__,i=new et(wt,Lt,n);t.add(i);var r=t.getIndex(i);t.activeIndex=r,t.renderViewer(!0)}).append("i").attr("class","fa fw fa-plus");var n=e.append("select"),i=J.map($,function(t,e){return[t]});n.attr("id","element-viewer-selector").selectAll("option").data(i).enter().append("option").attr("value",function(t,e){return e}).text(function(t){return t.name});var r=e.append("div").attr("class","element-viewer-header");r.append("div").attr("class","element-viewer-editor-button level-1-button").attr("id","element-viewer-previous").on("click",function(){t.activatePrevious()}).append("i").attr("class","fa fw fa-arrow-left"),r.append("div").attr("class","element-viewer-editor-button level-1-button").attr("id","element-viewer-next").on("click",function(){t.activateNext()}).append("i").attr("class","fa fw fa-arrow-right"),r.append("div").attr("class","element-viewer-editor-button level-1-button").attr("id","element-viewer-edit").on("click",function(){t.renderViewer(!0)}).append("i").attr("class","fa fw fa-pencil"),r.append("div").attr("class","element-viewer-editor-button level-1-button").attr("id","element-viewer-remove").on("click",function(){t.remove(t.getActive()),t.renderViewer()}).append("i").attr("class","fa fw fa-times-circle")},tt.prototype.renderViewer=function(t){var e=this,n=d3.select(e.viewerElementId);if(n.html(""),n=n.append("div").attr("class","element-viewer-active"),0===e.list.length)return n.append("div").attr("class","info-message").html('No visualizations configured. Click <i class="fa fw fa-plus"></i> button to add a new visualization.'),e;void 0===e.activeIndex&&(e.activeIndex=0);var i="element-viewer-"+e.getActive().uuid;return n.append("div").attr("id",i),t?e.getActive().renderEditor("#"+i):e.getActive().renderViewer("#"+i),e};var et=function(t,e,n,i,r){var A=this;A.attributes=t,A.selections=e,A.editorElementId=i,A.viewerElementId=r,A.configuration=n,A.uuid=V.generateUuid(),A.attributeMap={},A.parameterMap={},A.initializeParameterMap()};et.prototype.initializeParameterMap=function(){for(var t=this,e=0;e<t.configuration.parameters.length;++e){var n=t.configuration.parameters[e];t.parameterMap[n.variable]=n.default}},et.prototype.renderViewer=function(t){var e=this;t=t||e.viewerElementId;try{e.configuration.render(t,e.selections,e.attributes,e.attributeMap,e.parameterMap)}catch(t){console.error(t)}},et.prototype.renderEditor=function(t){var e=this;t=t||e.editorElementId;var n=d3.select(t);n.html("");var i=n.append("div").attr("id","element-viewer-editor-"+e.uuid);i.html('<div><div class="element-viewer-title">'+e.configuration.name+'</div>&nbsp;<span class="element-viewer-editor-button level-2-button element-viewer-editor-save" data-viewer-uuid="'+e.uuid+'""><i class="fa fw fa-check"></i></span>&nbsp;<span class="element-viewer-editor-button level-2-button element-viewer-editor-cancel" data-viewer-uuid="'+e.uuid+'""><i class="fa fw fa-times"></i></span></div>'),d3.selectAll(".element-viewer-editor-save").on("click",function(n){e.parseParameterValues(),e.parseAttributeValues(),e.renderViewer(t)}),d3.selectAll(".element-viewer-editor-cancel").on("click",function(n){e.renderViewer(t)});for(var r=0;r<e.configuration.attributes.length;++r){var A=e.configuration.attributes[r],o=i.append("div").style("margin-left","10px");e.renderAttributeEditor(o,e.attributes,A,e.attributeMap[A.variable])}for(var r=0;r<e.configuration.parameters.length;++r){var a=e.configuration.parameters[r],c=i.append("div").style("margin-left","10px");e.renderParameterEditor(c,a,e.parameterMap[a.variable])}},et.prototype.parseParameterValues=function(){for(var t=this,e=t.configuration.parameters,n=0;n<e.length;++n){var i=t.parseParameterValue(e[n].variable,e[n].type);void 0!==i&&(t.parameterMap[e[n].variable]=i)}},et.prototype.parseAttributeValues=function(){for(var t=this,e=t.configuration.attributes,n=0;n<e.length;++n){var i=t.parseAttributeValue(e[n].variable);void 0!==i&&(t.attributeMap[e[n].variable]=i)}},et.prototype.parseParameterValue=function(t,e){var n=d3.select("#element-viewer-editor-"+self.uuid);if(0!==n.length){var i=void 0;switch(e){case"float":var n=J('[data-element-viewer-parameter-variable="'+t+'"]');i=parseFloat(J(n).val());break;case"integer":var n=J('[data-element-viewer-parameter-variable="'+t+'"]');i=parseInt(J(n).val(),10);break;case"boolean":var n=J('[data-element-viewer-parameter-variable="'+t+'"]');i=Boolean(J(n).is(":checked"));break;case"string":default:var n=J('[data-element-viewer-parameter-variable="'+t+'"]');i=J(n).val()}return i}},et.prototype.parseAttributeValue=function(t){var e=d3.select("#element-viewer-editor-"+self.uuid);if(0!==e.length){return e=J('[data-element-viewer-attribute-variable="'+t+'"]'),parseInt(J(e).val(),10)}},et.prototype.renderParameterEditor=function(t,e,n){var i="";switch(i+='<div data-element-viewer-parameter-type="'+e.type+'">',e.type){case"float":i+=e.name+' <input data-element-viewer-parameter-variable="'+e.variable+'" type="number" step="0.1" value="'+d3.format("f")(n)+'"></input>';break;case"integer":i+=e.name+' <input data-element-viewer-parameter-variable="'+e.variable+'" type="number" step="1" value="'+d3.format("d")(n)+'"></input>';break;case"boolean":i+=e.name+' <input data-element-viewer-parameter-variable="'+e.variable+'" type="checkbox" '+(n?"checked":"")+"></input>";break;case"string":default:i+=e.name+' <input data-element-viewer-parameter-variable="'+e.variable+'" type="text" value="'+n+'"></input>'}i+="</div>",t.html(i)},et.prototype.renderAttributeEditor=function(t,e,n,i){var r="";r+='<div data-element-viewer-attribute-type="'+n.type+'">',r+="<b>"+n.name+'</b><select data-element-viewer-attribute-variable="'+n.variable+'">';for(var A=0;A<e.length;++A)W.matchesType(e[A].type,n.type)&&(r+=i&&i===A?'<option value="'+A+'" selected>'+e[A].name+"</option>":'<option value="'+A+'">'+e[A].name+"</option>");r+="</select>",r+="</div>",t.html(r)};var nt,it,rt=[],At={},ot=function(t){void 0!=t&&rt.push(t)},at=function(){d3.select("#header-ds-selector").selectAll("option").data(rt).enter().append("option").attr("value",function(t,e){return e}).attr("id","dataSetSelector").text(function(t){return t.name+" ("+l(t)+" sets, "+M(t)+" attributes)"}).property("selected",function(t,e){return e===At.dataset}),d3.select("#header-ds-selector").on("change",st)},ct=function(t,e,n){alert("Could not load dataset. \n Error: "+n)},st=function(){At.dataset=this.options[this.selectedIndex].value,ut()},ut=function(){J(P).trigger("loading-dataset-started",{description:rt[At.dataset]}),yt.length=0,Bt.length=0,Ct.length=0,Dt.length=0,vt=0,jt.length=0,wt.length=0,mt={},$t=void 0,qt.logicGroups=[],qt.logicGroupChanged=!0,o(At.dataset),s()},gt=function(){var t=document.getElementById("maxCardinality"),e=document.getElementById("minCardinality"),n=function(n){qt.maxCardinality=t.value,qt.minCardinality=e.value,qt.forceUpdate=!0,g()};t.addEventListener("input",n),e.addEventListener("input",n);var i=document.getElementById("hideEmpties"),r=function(t){qt.hideEmpties=i.checked,te(),G(),B()};i.addEventListener("click",r);var A=d3.select("#dataset-selector").append("div");A.append("select").attr("id","header-ds-selector");A.append("span").attr("class","header-right").text("Choose Dataset")},lt=function(t){var e=J("#dataset-info-content");if(e.empty(),e.append('<p style="padding-bottom: 5px">'),e.append("<b>Name:</b> "+t.name+"<br />"),e.append("<b># Sets:</b> "+yt.length+"<br />"),e.append("<b># Attributes</b>: "+wt.length+"<br />"),e.append("<b># Elements:</b> "+vt+"<br />"),e.append('</p> <p style="padding-bottom: 10px">'),t.author&&e.append("<b>Author</b>: "+t.author+"<br />"),t.description&&e.append("<b>Description:</b> <br />"+t.description+"<br />"),t.source)if(0==t.source.indexOf("http://")){var n=t.source;n.length>22&&(n=n.substring(0,22)+".."),e.append('<b>Source:</b> <br /><a href="'+t.source+'">'+n+"</a><br />")}else e.append("<b>Source:</b> <br />"+t.source+"<br />");e.append("</p>")};J(P).bind("filter-removed",function(t,e){Lt.getActive().filterCollection.renderFilters()}),J(P).bind("filter-added",function(t,e){}),J(P).bind("filter-activated",function(t,e){});var Mt={subset:{name:"Subset",types:["sets"],parameters:[{name:"Subset",type:"subset",variable:"subset"}],test:function(t,e,n){var i=e.values[t];for(var r in n.subset)if(n.subset.hasOwnProperty(r)){if(1===n.subset[r]&&i.indexOf(r)<0)return!1;if(0===n.subset[r]&&i.indexOf(r)>=0)return!1}return!0}},stringMatch:{name:"Contains",types:["string","id"],parameters:[{name:"String",type:"string",variable:"pattern",default:""}],test:function(t,e,n){return e.values[t].indexOf(n.pattern)>=0}},stringLength:{name:"String Length",types:["string","id"],parameters:[{name:"Length",type:"integer",variable:"len",default:0}],test:function(t,e,n){return e.values[t].length===n.len}},stringRegex:{name:"Regular Expression",types:["string","id"],parameters:[{name:"Pattern",type:"string",variable:"pattern",default:"."}],test:function(t,e,n){return null!==e.values[t].match(n.pattern)}},numericRange:{name:"Range",types:["float","integer"],parameters:[{name:"Minimum",type:"float",variable:"min",default:0},{name:"Maximum",type:"float",variable:"max",default:1}],test:function(t,e,n){return e.values[t]>=n.min&&e.values[t]<=n.max}},numericMinimum:{name:"Minimum",types:["float","integer"],parameters:[{name:"Minimum",type:"float",variable:"min",default:0}],test:function(t,e,n){return e.values[t]>=n.min}},numericMaximum:{name:"Maximum",types:["float","integer"],parameters:[{name:"Maximum",type:"float",variable:"max",default:0}],test:function(t,e,n){return e.values[t]<=n.max}}},ht=function(t,e){var n=this;n.list=[],n.controllerElementId=t,n.filterElementId=e};ht.prototype.add=function(t){this.list.push(t),J(P).trigger("filter-added",{viewer:t})},ht.prototype.remove=function(t){for(var e=this,n=0;n<e.list.length;++n)e.list[n].uuid===t.uuid&&(e.list.splice(n,1),J(P).trigger("filter-removed",{viewer:t}))},ht.prototype.getIndex=function(t){for(var e=this,n=0;n<e.list.length;++n)if(e.list[n].uuid===t.uuid)return n},ht.prototype.get=function(t){for(var e=this,n=0;n<e.list.length;++n)if(e.list[n].uuid===t)return e.list[n]},ht.prototype.renderController=function(){var t=this,e=d3.select(t.controllerElementId);e.html(""),e.append("div").attr("class","filter-header").append("div").attr("class","filter-editor-button level-1-button").attr("id","filter-add").on("click",function(){var e=document.getElementById("filter-selector"),n=e.options[e.selectedIndex].__data__,i=document.getElementById("attribute-selector"),r=i.options[i.selectedIndex].__data__,A=new dt(r,n);0==t.list.length&&d3.select("#filters-list").html(""),t.add(A),d3.select(t.filterElementId).insert("div").attr("class","filter-editor").attr("id",A.editorElementId.substring(1)),A.renderEditor(d3.select(A.editorElementId),Lt.getActive())}).append("i").attr("class","fa fw fa-plus");var n=e.append("select");e.append("select").attr("id","filter-selector"),n.attr("id","attribute-selector").selectAll("option").data(wt).enter().append("option").attr("value",function(t,e){return e}).text(function(t){return t.name}),n.on("changeDataset",t.initializeFilterList),t.initializeFilterList()},ht.prototype.initializeFilterList=function(){var t=d3.select("#filter-selector");t.html(""),t.selectAll("option").data(function(){return J.map(Mt,function(t,e){var n=document.getElementById("attribute-selector"),i=n.options[n.selectedIndex].__data__;if(t.types.indexOf(i.type)>=0)return[t]})}).enter().append("option").attr("value",function(t,e){return e}).text(function(t){return t.name})},ht.prototype.renderFilters=function(){var t=this,e=d3.select(t.filterElementId);if(e.html(""),e=e.append("div"),0===t.list.length)return e.append("div").attr("class","info-message").html('No filters configured. Click <i class="fa fw fa-plus"></i> button to add a new filter.'),t;for(var n=0;n<t.list.length;++n){var i=t.list[n];e.append("div").attr("id",i.editorElementId.substring(1)),i.renderViewer(d3.select(i.editorElementId),Lt.getActive())}return t};var dt=function(t,e,n){var i=this;i.attribute=t,i.uuid=V.generateUuid(),i.editorElementId="#filter-editor-"+i.uuid,i.configuration=e,i.parameterMap={},n?i.parameterMap=n:i.initializeParameterMap()};dt.prototype.initializeParameterMap=function(){for(var t=this,e=0;e<t.configuration.parameters.length;++e){var n=t.configuration.parameters[e];t.parameterMap[n.variable]=n.default}},dt.prototype.renderViewer=function(t,e){var n=this,i=n.parameterMap,r=t;r.attr("class","filter-viewer"),r.html('<div><span class="filter-button level-2-button filter-remove" data-filter-uuid="'+n.uuid+'""><i class="fa fw fa-times-circle"></i></span><span class="filter-button level-2-button filter-edit" data-filter-uuid="'+n.uuid+'""><i class="fa fw fa-pencil"></i></span>&nbsp;<b>'+n.configuration.name+"</b>&nbsp;|&nbsp;"+n.attribute.name+"</div>"),J('.filter-edit[data-filter-uuid="'+n.uuid+'"]').on("click",function(){n.renderEditor(t,e,n.uuid)}),J('.filter-remove[data-filter-uuid="'+n.uuid+'"]').on("click",function(){J(n.editorElementId).remove(),e.filterCollection.remove(n),e.applyFilters()});var A=void 0,o=void 0;for(var a in i)if(i.hasOwnProperty(a)){for(var c=r.append("div").attr("class","filter-parameter-viewer"),s=0;s<n.configuration.parameters.length;++s)n.configuration.parameters[s].variable===a&&(A=n.configuration.parameters[s].type,o=n.configuration.parameters[s].name);this.renderParameterViewer(c,o,A,i[a])}},dt.prototype.renderEditor=function(t,e){var n=this,i=n.parameterMap,r=t;r.html('<div><span class="filter-button level-2-button filter-cancel" data-filter-uuid="'+n.uuid+'""><i class="fa fw fa-times"></i></span><span class="filter-button level-2-button filter-save" data-filter-uuid="'+n.uuid+'""><i class="fa fw fa-check"></i></span>&nbsp;<b>'+n.configuration.name+"</b>&nbsp;|&nbsp;"+n.attribute.name+"</div>"),J('.filter-save[data-filter-uuid="'+n.uuid+'"]').on("click",function(){n.parseParameterValues(e),e.applyFilters(),n.renderViewer(t,e)}),J('.filter-cancel[data-filter-uuid="'+n.uuid+'"]').on("click",function(){n.renderViewer(t,e)});var A=void 0,o=void 0;for(var a in i)if(i.hasOwnProperty(a)){for(var c=r.append("div"),s=0;s<n.configuration.parameters.length;++s)n.configuration.parameters[s].variable===a&&(A=n.configuration.parameters[s].type,o=n.configuration.parameters[s].name);n.renderParameterEditor(c,o,A,i[a],a)}},dt.prototype.renderParameterViewer=function(t,e,n,i){switch(n){case"float":t.html("<i>"+e+"</i> = "+d3.format("f")(i));break;case"integer":t.html("<i>"+e+"</i> = "+d3.format("d")(i));break;case"subset":var r="",A=i;for(var o in A)A.hasOwnProperty(o)&&(r+='<span title="'+pt[o].elementName+'"><i class="'+this.subsetStateToClass(A[o])+'"></i>',r+="</span>&nbsp;");t.html(r);break;case"string":default:t.html("<i>"+e+'</i> = "'+i+'"')}},dt.prototype.parseParameterValues=function(t){for(var e=this,n=e.configuration.parameters,i=e.parameterMap,r=0;r<n.length;++r){var A=e.parseParameterValue(n[r].variable,n[r].type);A&&(i[n[r].variable]=A)}},dt.prototype.parseParameterValue=function(t,e){var n=this,i=J(n.editorElementId),r=void 0;switch(e){case"float":var A=i.find('[data-filter-parameter-variable="'+t+'"]');r=parseFloat(J(A).val());break;case"integer":var A=i.find('[data-filter-parameter-variable="'+t+'"]');r=parseInt(J(A).val(),10);break;case"subset":r={};var A=i.find(".subset-state-toggle-button").each(function(){r[this.dataset.subset]=+this.dataset.subsetState});break;case"string":default:var A=i.find('[data-filter-parameter-variable="'+t+'"]');r=J(A).val()}return r},dt.prototype.renderParameterEditor=function(t,e,n,i,r){var A=this,o="";switch(o+='<div data-filter-parameter-type="'+n+'">',n){case"float":o+="<i>"+e+'</i> = <input data-filter-parameter-variable="'+r+'" type="number" step="0.1" value="'+d3.format("f")(i)+'"></input>';break;case"integer":o+="<i>"+e+'</i> = <input data-filter-parameter-variable="'+r+'" type="number" step="1" value="'+d3.format("d")(i)+'"></input>';break;case"subset":var a=i;for(var c in a)a.hasOwnProperty(c)&&(o+='<span class="subset-state-toggle-button" data-subset="'+c+'" data-subset-state="'+a[c]+'"><i class="'+this.subsetStateToClass(a[c])+'"></i>',o+=" "+pt[c].elementName+" <small>"+(0===pt[c].setSize?'<i class="fa fa-warning"></i> 0 items':"")+"</small></span><br>");break;case"string":default:o+="<i>"+e+'</i> = <input data-filter-parameter-variable="'+r+'" type="text" value="'+i+'"></input>'}o+="</div>",t.html(o),d3.selectAll(".subset-state-toggle-button").on("click",function(t){this.dataset.subsetState=(this.dataset.subsetState+1)%3,d3.select(this).select("i").attr("class",A.subsetStateToClass(this.dataset.subsetState))})},dt.prototype.subsetStateToClass=function(t){var e="";switch(""+t){case"0":e+="fa fw fa-circle-o";break;case"1":e+="fa fw fa-circle";break;case"2":e+="fa fw fa-dot-circle-o";break;default:e+="fa fw fa-question-circle"}return e};var ft=function(t,e){this.items=t||[],this.filterCollection=e,this.id=void 0};ft.createSubsetDefinition=function(t){if(!(t[0]instanceof Object)){var e=[];e.push(t),t=e}for(var n={},i=0;i<t.length;++i)for(var r=t[i].combinedSets,A=0;A<r.length;++A)n.hasOwnProperty(Ct[A].id)?n[Ct[A].id]!==r[A]&&(n[Ct[A].id]=2):n[Ct[A].id]=r[A];return n},ft.fromSubset=function(t){var e=ft.createSubsetDefinition(t),n=new ft(jt,new ht("#filters-controls","#filters-list"));return n.filterCollection.add(new dt(wt[wt.length-1],Mt.subset,{subset:e})),n.applyFilters(),n},ft.prototype.createSelection=function(t,e,n){for(var i=[],r=filter.get(e),A=0;A<this.items.length;++A)r.test(this.items[A],wt[t],n)&&i.push(this.items[A]);return new ft(i,this.filters.concat([{id:e,parameters:n,attributeId:t,uuid:V.generateUuid()}]))},ft.prototype.applyFilters=function(){var t=this;t.items=jt;for(var e=0;e<t.filterCollection.list.length;++e){for(var n=t.filterCollection.list[e],i=[],r=0;r<t.items.length;++r)n.configuration.test(t.items[r],n.attribute,n.parameterMap)&&i.push(t.items[r]);t.items=i}J(P).trigger("item-selection-updated",{selection:t})},ft.prototype.mapToSubsets=function(t){for(var e=0;e<t.length;++e){var n=t[e];if(0!=n.setSize){for(var i={},r=0;r<n.combinedSets.length;++r)i[Ct[r].id]=n.combinedSets[r];for(var A=Mt.subset,o=[],a=0;a<this.items.length;++a)A.test(this.items[a],wt[wt.length-1],{subset:i})&&o.push(this.items[a]);n.selections[this.id]=o}}},ft.prototype.unmapFromSubsets=function(t){for(var e=0;e<t.length;++e){delete t[e].selections[this.id]}},ft.prototype.getFilter=function(t){return this.filterCollection.get(t)};var It=function(t){var e=this;e.list=[],e.colors={},e.active={},e.palette=t||d3.scale.category10().range().slice()};It.prototype.getSelections=function(){return Lt.list},It.prototype.addSelection=function(t){var e=this;return t.id=e._nextId(),e.list.push(t),e.colors[t.id]=e._nextColor(),J(P).trigger("item-selection-added",{selection:t}),e},It.prototype.removeSelection=function(t){for(var e=this,n=0;n<this.list.length;++n)if(e.list[n]===t)return e.list.splice(n,1),e.palette.push(e.colors[t.id]),delete e.colors[t.id],J(P).trigger("item-selection-removed",{selection:t,index:n}),void(e.isActive(t)&&(e.list.length>0?e.setActive(n>0?e.list[n-1]:e.list[0]):e.setActive(void 0)))},It.prototype.getSelectionIndex=function(t){for(var e=this,n=0;n<e.list.length;++n)if(e.list[n]===t)return n},It.prototype.getSelectionIndexFromUuid=function(t){for(var e=this,n=0;n<e.list.length;++n)if(e.list[n].id===t)return n},It.prototype.getSelectionFromUuid=function(t){var e=this;try{return e.list[e.getSelectionIndexFromUuid(t)]}catch(t){}},It.prototype.getSelection=function(t){var e=this;try{return e.list[t]}catch(t){}},It.prototype.getColorFromUuid=function(t){var e=this;try{return e.colors[t]}catch(t){}},It.prototype.getColor=function(t){var e=this;try{return e.colors[t.id]}catch(t){}},It.prototype.getSize=function(){return this.list.length},It.prototype.isActive=function(t){return this.active===t},It.prototype.isActiveByUuid=function(t){var e=this;return!!e.active&&e.active.id===t},It.prototype.getActive=function(){return this.active},It.prototype.setActive=function(t){var e=this;return e.active=t,J(P).trigger("item-selection-activated",{selection:t}),e},It.prototype.setActiveByUuid=function(t){var e=this;return e.active=e.getSelectionFromUuid(t),J(P).trigger("item-selection-activated",{selection:e.active}),e},It.prototype._nextColor=function(){var t=this;return t.palette.length>0?t.palette.splice(0,1)[0]:"#000"},It.prototype._nextId=function(){return V.generateUuid()};var Et,Tt,Nt={SET:"SET_TYPE",SUBSET:"SUBSET_TYPE",GROUP:"GROUP_TYPE",AGGREGATE:"AGGREGATE_TYPE",QUERY_GROUP:"QUERY_GROUP_TYPE",SEPARATOR:"SEPARATOR",UNDEFINED:"UNDEFINED"},yt=[],pt={},Ct=[],Dt=[],xt=[],Bt=[],wt=[],mt={},Qt=0,vt=0,jt=[],Lt=new It,St=new tt("#element-viewers-controls","#element-viewers-visualization"),Yt=new X("#venn-vis",40),bt=6;T.prototype=E,T.prototype.constructor=E,N.prototype=E,N.prototype.constructor=E,y.prototype=N,y.prototype.constructor=N,p.prototype.toString=function(){return"Subset + "+this.id+" Nr Combined Sets: "+this.nrCombinedSets},p.prototype=y,p.prototype.constructor=p,C.prototype=E,C.prototype.constructor=E,D.prototype=C,D.prototype.constructor=C,x.prototype=E,x.prototype.constructor=E;var Ot=function(t,e,n){var i=[],r=!0,A=!1;return t.forEach(function(t){A=!1;var o=t.combinedSets;e.forEach(function(t){if(0==A){var e=o.length;if(r=e==t.length)for(var n=0;n<e;n++)r&=o[n]==t[n]||2==t[n];r&&(A=!0)}}),A&&null!=n?n(t):A&&i.push(t)}),i},zt=function(){var t=this;t.lastWindowWidth=0,t.lastWindowHeight=0,t.initialize(),t.initWidthHandler()};zt.prototype.resize=function(t){return self.lastWindowWidth!=J(window).width()&&self.lastWindowHeight!=J(window).height()?(J(P).trigger("ui-resize",{newWidth:J(window).width(),oldWidth:self.lastWindowWidth,newHeight:J(window).height(),oldHeight:self.lastWindowHeight}),self.lastWindowHeight=J(window).height(),void(self.lastWindowWidth=J(window).width())):self.lastWindowWidth!=J(window).width()?(J(P).trigger("ui-horizontal-resize",{newWidth:J(window).width(),oldWidth:self.lastWindowWidth}),void(self.lastWindowWidth=J(window).width())):self.lastWindowHeight!=J(window).height()?(J(P).trigger("ui-vertical-resize",{newHeight:J(window).height(),oldHeight:self.lastWindowHeight}),void(self.lastWindowHeight=J(window).height())):void 0},zt.prototype.updateFixedHeightContainers=function(){var t=J(".fixed-y-container");t.map(function(e){var n=parseInt(J(t[e]).css("padding-bottom"))||0,i=(J(window).height()-J(this).offset().top-n)*parseFloat(J(t[e]).attr("data-height-ratio")),r=parseInt(J(".fixed-y-container").css("min-height")),A=parseInt(J(".fixed-y-container").css("max-height"))||i,o=Math.min(Math.max(i,r),A);J(this).css("height",o+"px")})},zt.prototype.initialize=function(){var t=this;t.lastWindowHeight=J(window).height(),t.lastWindowWidth=J(window).width(),t.createHeader(),t.hideMenu(),t.updateFixedHeightContainers()},zt.prototype.createHeader=function(){var t=this;J("#load-data-header").on("click",function(e){t.toggleMenu()})},zt.prototype.showMenu=function(){J(".ui-menu").show()},zt.prototype.hideMenu=function(){J(".ui-menu").hide()},zt.prototype.toggleMenu=function(){var t=this;J(".ui-menu").slideToggle({step:t.updateFixedHeightContainers})},zt.prototype.initWidthHandler=function(){J("#moveHandle").on("drag"),J(function(){var t=!1,e=void 0,n=void 0,i=void 0,r=void 0;J("#moveHandle").mousedown(function(n){n.stopPropagation(),t||(e=n.clientX,i=J(".ui-layout-center").width(),r=J(".ui-layout-east").offset().left,t=!0)}),J(window).mouseup(function(){t&&(t=!1)}),J(window).mousemove(function(r){t&&(n=r.clientX,r.stopPropagation(),J(".ui-layout-center").width(i+(n-e)),J("#vis").width(i+(n-e)),J(P).trigger("vis-svg-resize",{newWidth:+(i+(n-e))}))})})};var Ut=function(t,e,n){Tt=[];var i=[];qt.logicGroups.forEach(function(e){var n=e.getListOfValues(),r=new D(e.id,e.groupName,e.orClauses);Ot(t,n,function(t){r.addSubSet(t)}),r.subSets.length>0?Tt.push(r):i.push(e)}),i.forEach(function(t){qt.logicGroups.slice(qt.logicGroups.indexOf(t),1)})},Ft=function(t,e,n){var i=2;1==e?i=qt.levelOneDegree:2==e&&(i=qt.levelTwoDegree);var r,A=[];n&&(r=n.combinedSets);for(var o=Math.pow(2,Ct.length)-1,a=[],c=0;c<=o;c++)kt(c,Ct.length,i,a,r);for(var c=0;c<a.length;c++){for(var s="",u=0;u<a[c].length;u++)1===a[c][u]&&n.elementName!==Ct[u].elementName&&(s+=Ct[u].elementName+" ");var g=new C("Overlap_G_"+c+"_"+n.id,s);g.level=e,g.combinedSets=a[c],Ot(t,[a[c]],function(t){g.addSubSet(t)}),g.subSets.length>0&&A.unshift(g)}return A},kt=function(t,e,n,i,r){var A;if(r)var A=r.slice(0);else A=Array.apply(null,new Array(e)).map(Number.prototype.valueOf,0);for(var o=0,a=e-1;a>=0;a--)1===A[a]?o++:1==(1&t)?(A[a]=1,o++):A[a]=2,t>>=1;if(o==n){for(var c=!1,s=0;s<i.length;s++)if(i[s].compare(A)){c=!0;break}c||i.push(A)}},Rt=function(t,e,n){var i=[];i.push(new C("GROUP_POS_DEV"+n.id,"Positive Expected Value",e)),i.push(new C("GROUP_NEG_DEV"+n.id,"Negative Expected Value",e)),i.push(new C("EmptyGroup"+n.id,"As Expected",e));for(var r=0;r<t.length;r++){var A=0;A=t[r].disproportionality>0?0:t[r].disproportionality<0?1:2,i[A].addSubSet(t[r])}return i},Gt=function(t,e,n){var i=[];i.push(new C("EmptyGroup"+n.id,"Degree 0 (in no set)",e));for(var r=Math.min(Ct.length,qt.maxCardinality),A=qt.minCardinality;A<r;A++)i.push(new C("SetSizeG_"+(A+1)+"_"+n.id,"Degree "+(A+1)+" ("+(A+1)+" set intersect.)",e));return t.forEach(function(t){var e=i[t.nrCombinedSets];null!=e&&e.addSubSet(t)}),i},Ht=function(t,e,n){var i=[],r=new C("EmptyGroup","No Set",e);i.push(r);for(var A=0;A<Ct.length;A++){var o=new C("SetG_"+(A+1)+n.id,Ct[A].elementName,e);o.combinedSets=Array.apply(null,new Array(Ct.length)).map(Number.prototype.valueOf,2),o.combinedSets[A]=1,i.push(o),t.forEach(function(t){0!==t.combinedSets[A]&&o.addSubSet(t)})}return t.forEach(function(t){0==t.id&&(r.addSubSet(t),r.combinedSets=t.combinedSets)}),i},Jt=function(t){t.isCollapsed=!t.isCollapsed,qt.collapseChanged=!0,te()},Pt=function(t,e){e||(e=Ct[0]);var n=w(t),i=Ct.indexOf(e);return n.sort(function(t,e){return e.combinedSets[i]!==t.combinedSets[i]?e.combinedSets[i]-t.combinedSets[i]:t.nrCombinedSets!==e.nrCombinedSets?t.nrCombinedSets-e.nrCombinedSets:e.id-t.id}),n},Xt=function(t){var e=w(t);return e.sort(function(t,e){return t.nrCombinedSets!==e.nrCombinedSets?t.nrCombinedSets-e.nrCombinedSets:e.id-t.id}),e},Vt=function(t){var e=w(t);return e.sort(function(t,e){return e.setSize-t.setSize}),e},Wt=function(t){var e=w(t);return e.sort(function(t,e){return Math.abs(e.disproportionality)-Math.abs(t.disproportionality)}),e},_t=function(t){for(var e=[],n=0;n<t.length;n++){var i=t[n];if(!("EmptyGroup"===i.id&&0===i.setSize||0===i.visibleSets.length&&qt.hideEmpties))if(e.push(i),!qt.collapseAll||qt.levelTwoGrouping&&i.nestedGroups||(i.isCollapsed=!0),qt.expandAll&&(i.isCollapsed=!1),qt.levelTwoGrouping&&i.nestedGroups&&!i.isCollapsed)e=e.concat(_t(i.nestedGroups,[]));else if(!i.isCollapsed&&(e=e.concat(Zt[qt.sorting](i.visibleSets)),i.aggregate.subSets.length>0&&!qt.hideEmpties&&(e.push(i.aggregate),!i.aggregate.isCollapsed)))for(var r=0;r<i.aggregate.subSets.length;r++)e.push(i.aggregate.subSets[r])}return e},Zt={groupByIntersectionSize:Gt,groupBySet:Ht,groupByRelevanceMeasure:Rt,groupByOverlapDegree:Ft,sortByCombinationSize:Xt,sortBySubSetSize:Vt,sortByExpectedValue:Wt,sortBySubSetSize:Vt,sortBySetItem:Pt},Kt={groupByIntersectionSize:"groupByIntersectionSize",groupBySet:"groupBySet",groupByRelevanceMeasure:"groupByRelevanceMeasure",groupByOverlapDegree:"groupByOverlapDegree",sortByCombinationSize:"sortByCombinationSize",sortBySubSetSize:"sortBySubSetSize",sortByExpectedValue:"sortByExpectedValue",sortBySetItem:"sortBySetItem"},qt={collapseAll:!1,expandAll:!1,grouping:At.grouping||Kt.groupByIntersectionSize,levelTwoGrouping:void 0,levelOneDegree:2,levelTwoDegree:2,sorting:Kt.sortByCombinationSize,hideEmpties:!0,maxCardinality:void 0,minCardinality:0,forceUpdate:!1,logicGroups:[],logicGroupChanged:!1},$t=!1,te=function(t){var e=!$t||qt.forceUpdate||qt.hideEmpties!=$t.hideEmpties;if(qt.sorting&&!qt.grouping&&(e||$t&&$t.sorting!==qt.sorting)?Dt=Zt[Kt[qt.sorting]](Bt,t):qt.grouping&&(e||$t&&$t.grouping!==qt.grouping||$t.levelTwoGrouping!==qt.levelTwoGrouping)?(Et=Zt[Kt[qt.grouping]](Bt,1,""),qt.levelTwoGrouping&&Et.forEach(function(t){t.nestedGroups=Zt[Kt[qt.levelTwoGrouping]](t.subSets,2,t)}),Dt=_t(Et)):qt.collapseChanged&&qt.grouping&&(Dt=_t(Et)),qt.logicGroupChanged&&(Ut(Bt),qt.logicGroupChanged=!1),Tt&&Tt.length>0){var n=_t(Tt),i=new T("FILTER_SEPARATOR","Natural Intersections");n.push(i),Dt=n.concat(Dt)}qt.forceUpdate=!1,qt.expandAll=!1,qt.collapseAll=!1,qt.collapseChanged=!1,xt.length=0;var r={},A="",o=1;Dt.forEach(function(t){var e={};qt.grouping===Kt.groupBySet||qt.levelTwoGrouping===Kt.groupBySet?t.type===Nt.SUBSET?e.id=A+t.id:(A=t.id+"_",e.id=t.id):(r.hasOwnProperty(t.id)?(o=r[t.id],o+=1,r[t.id]=o):r[t.id]=1,e.id=t.id+"_"+o),e.data=t,xt.push(e)}),$t=JSON.parse(JSON.stringify(qt)),At.grouping=qt.grouping};!function(){J(P).bind("set-added",function(t,e){qt.logicGroups.forEach(function(t){t.orClauses.forEach(function(t){t[e.set.id]={state:ee.logicStates.DONTCARE}})}),qt.logicGroupChanged=!0}),J(P).bind("set-removed",function(t,e){qt.logicGroups.forEach(function(t){t.orClauses.forEach(function(t){delete t[e.set.id]})}),qt.logicGroupChanged=!0})}(),O.prototype.setValue=function(t){this.value=t;var e=this.scale(t);this.gThumb.attr("transform",function(t){return t.y=Math.min(0,e),"translate("+[0,-t.y]+")"})},R.prototype.updateStatistics=function(t,e,n,i,r,A,o){var a=void 0,c=void 0,s={};t.forEach(function(t){var u={};i.forEach(function(t){t[r]==o&&(u=t[A])});var g=n.split("."),l=t;g.forEach(function(t){l=l[t]});var M=l.map(function(t){return+u[t]}),h={min:0,max:0,median:0,lowerQuartile:0,upperQuartile:0};if(M.sort(d3.ascending),0!=M.length){var d=d3.extent(M);h.min=d[0],h.max=d[1],h.median=d3.median(M),h.lowerQuartile=d3.quantile(M,.25),h.upperQuartile=d3.quantile(M,.75),h.numberElements=M.length,(void 0==a||a>h.min)&&(a=h.min),(void 0==c||c<h.max)&&(c=h.max)}s[t[e]]=h}),this.statistics=s,this.scale.domain([a,c]),this.axis.scale(this.scale)},R.prototype.renderAxis=function(t,e,n,i){this.scale.rangeRound([0,i]),this.axis.scale(this.scale).ticks(Math.ceil(i/50));var r=t.selectAll(".axis").data(["summary"]);r.enter().append("g").attr({class:"axis",transform:"translate("+e+","+n+")"}).call(this.axis),r.exit().remove(),r.transition().call(this.axis)},R.prototype.renderBoxPlot=function(t,e,n,i,r,A,o){var a=this.statistics[t];if(null!=a){var c=e.selectAll("."+o).data([a]);c.exit().remove();var s=c.enter().append("g").attr({class:""+o});s.append("line").attr({class:"boxPlot centralLine"}),s.append("line").attr({class:"boxPlot minLine"}),s.append("line").attr({class:"boxPlot maxLine"}),s.append("rect").attr({class:"boxPlot quartile"}).append("title").text(function(t){return"|"+t.min+" --["+t.lowerQuartile+" |"+t.median+"| "+t.upperQuartile+"]-- "+t.max+"|"}),s.append("line").attr({class:"boxPlot medianLine"});var u=this.scale;c.select("rect").transition().attr({x:function(t){return n+u(t.lowerQuartile)},y:i+2,width:function(t){return u(t.upperQuartile)-u(t.lowerQuartile)},height:A-4}).attr({opacity:function(t){return t.numberElements>4?1:1e-4}}),c.select(".boxPlot.centralLine").transition().attr({x1:function(t){return n+u(t.min)},x2:function(t){return n+u(t.max)},y1:i+A/2,y2:i+A/2}),c.select(".boxPlot.minLine").transition().attr({x1:function(t){return n+u(t.min)},x2:function(t){return n+u(t.min)},y1:i+2,y2:i+A-2}),c.select(".boxPlot.maxLine").transition().attr({x1:function(t){return n+u(t.max)},x2:function(t){return n+u(t.max)},y1:i+2,y2:i+A-2}),c.select(".boxPlot.medianLine").transition().attr({x1:function(t){return n+u(t.median)},x2:function(t){return n+u(t.median)},y1:i,y2:i+A}).attr({opacity:function(t){return 3==t.numberElements||t.numberElements>4?1:0}})}else{var g=e.selectAll(".detailStatistics").data("null");g.exit().remove(),g.enter().append("g").attr({class:"detailStatistics"}).append("line").attr({x1:n+1,x2:n+r-1,y1:i+A/2,y2:i+A/2}),g.select("line").attr({x1:n+1,x2:n+r-1,y1:i+A/2,y2:i+A/2})}},window.StatisticGraphs=R;var ee={majorPadding:25,minorPadding:2,cellDistance:20,textHeight:90,textSpacing:3,setSizeWidth:700,subSetSizeWidth:200,subSetSizeWidthMax:200,leftOffset:90,leftIndent:10,topOffset:120,cellSizeShrink:3,maxLevels:3,expectedValueWidth:150,expectedValueWidthMax:150,labelTopPadding:42,paddingTop:30,paddingSide:20,truncateAfter:20,truncateGroupAfter:30,setCellDistance:12,setCellSize:10,cellWidth:20,svgHeight:600,grays:["#f0f0f0","#636363"],backHighlightColor:"#fed9a6",rowTransitions:!0,barTransitions:!0,globalStatistics:[{name:"largest intersection",id:"I",value:100},{name:"largest aggregate",id:"A",value:200},{name:"largest set",id:"S",value:300},{name:"universal set",id:"U",value:400}],nameForRelevance:"Disproportionality",summaryStatisticVis:[{attribute:"",visObject:{}}],summaryStatisticsWidth:100,groupingOptions:{},setSelection:{paginationStart:0,paginationEnd:10,mode:"none",modeChange:!1,multiSelIn:d3.set(),multiSelOut:d3.set(),setOrder:"size"},logicStates:{NOT:0,DONTCARE:2,MUST:1}};t.exports={UpSet:H,Ui:zt}},function(t,e,n){var i,r;/*!
+ * jQuery JavaScript Library v2.2.4
+ * http://jquery.com/
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2016-05-20T17:23Z
+ */
+!function(e,n){"object"==typeof t&&"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return n(t)}:n(e)}("undefined"!=typeof window?window:this,function(n,A){function o(t){var e=!!t&&"length"in t&&t.length,n=ct.type(t);return"function"!==n&&!ct.isWindow(t)&&("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function a(t,e,n){if(ct.isFunction(e))return ct.grep(t,function(t,i){return!!e.call(t,i,t)!==n});if(e.nodeType)return ct.grep(t,function(t){return t===e!==n});if("string"==typeof e){if(Et.test(e))return ct.filter(e,t,n);e=ct.filter(e,t)}return ct.grep(t,function(t){return it.call(e,t)>-1!==n})}function c(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}function s(t){var e={};return ct.each(t.match(Ct)||[],function(t,n){e[n]=!0}),e}function u(){$.removeEventListener("DOMContentLoaded",u),n.removeEventListener("load",u),ct.ready()}function g(){this.expando=ct.expando+g.uid++}function l(t,e,n){var i;if(void 0===n&&1===t.nodeType)if(i="data-"+e.replace(vt,"-$&").toLowerCase(),"string"==typeof(n=t.getAttribute(i))){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:Qt.test(n)?ct.parseJSON(n):n)}catch(t){}mt.set(t,e,n)}else n=void 0;return n}function M(t,e,n,i){var r,A=1,o=20,a=i?function(){return i.cur()}:function(){return ct.css(t,e,"")},c=a(),s=n&&n[3]||(ct.cssNumber[e]?"":"px"),u=(ct.cssNumber[e]||"px"!==s&&+c)&&Lt.exec(ct.css(t,e));if(u&&u[3]!==s){s=s||u[3],n=n||[],u=+c||1;do{A=A||".5",u/=A,ct.style(t,e,u+s)}while(A!==(A=a()/c)&&1!==A&&--o)}return n&&(u=+u||+c||0,r=n[1]?u+(n[1]+1)*n[2]:+n[2],i&&(i.unit=s,i.start=u,i.end=r)),r}function h(t,e){var n=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||"*"):void 0!==t.querySelectorAll?t.querySelectorAll(e||"*"):[];return void 0===e||e&&ct.nodeName(t,e)?ct.merge([t],n):n}function d(t,e){for(var n=0,i=t.length;n<i;n++)wt.set(t[n],"globalEval",!e||wt.get(e[n],"globalEval"))}function f(t,e,n,i,r){for(var A,o,a,c,s,u,g=e.createDocumentFragment(),l=[],M=0,f=t.length;M<f;M++)if((A=t[M])||0===A)if("object"===ct.type(A))ct.merge(l,A.nodeType?[A]:A);else if(Ft.test(A)){for(o=o||g.appendChild(e.createElement("div")),a=(Ot.exec(A)||["",""])[1].toLowerCase(),c=Ut[a]||Ut._default,o.innerHTML=c[1]+ct.htmlPrefilter(A)+c[2],u=c[0];u--;)o=o.lastChild;ct.merge(l,o.childNodes),o=g.firstChild,o.textContent=""}else l.push(e.createTextNode(A));for(g.textContent="",M=0;A=l[M++];)if(i&&ct.inArray(A,i)>-1)r&&r.push(A);else if(s=ct.contains(A.ownerDocument,A),o=h(g.appendChild(A),"script"),s&&d(o),n)for(u=0;A=o[u++];)zt.test(A.type||"")&&n.push(A);return g}function I(){return!0}function E(){return!1}function T(){try{return $.activeElement}catch(t){}}function N(t,e,n,i,r,A){var o,a;if("object"==typeof e){"string"!=typeof n&&(i=i||n,n=void 0);for(a in e)N(t,a,n,i,e[a],A);return t}if(null==i&&null==r?(r=n,i=n=void 0):null==r&&("string"==typeof n?(r=i,i=void 0):(r=i,i=n,n=void 0)),!1===r)r=E;else if(!r)return t;return 1===A&&(o=r,r=function(t){return ct().off(t),o.apply(this,arguments)},r.guid=o.guid||(o.guid=ct.guid++)),t.each(function(){ct.event.add(this,e,r,i,n)})}function y(t,e){return ct.nodeName(t,"table")&&ct.nodeName(11!==e.nodeType?e:e.firstChild,"tr")?t.getElementsByTagName("tbody")[0]||t.appendChild(t.ownerDocument.createElement("tbody")):t}function p(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function C(t){var e=Xt.exec(t.type);return e?t.type=e[1]:t.removeAttribute("type"),t}function D(t,e){var n,i,r,A,o,a,c,s;if(1===e.nodeType){if(wt.hasData(t)&&(A=wt.access(t),o=wt.set(e,A),s=A.events)){delete o.handle,o.events={};for(r in s)for(n=0,i=s[r].length;n<i;n++)ct.event.add(e,r,s[r][n])}mt.hasData(t)&&(a=mt.access(t),c=ct.extend({},a),mt.set(e,c))}}function x(t,e){var n=e.nodeName.toLowerCase();"input"===n&&bt.test(t.type)?e.checked=t.checked:"input"!==n&&"textarea"!==n||(e.defaultValue=t.defaultValue)}function B(t,e,n,i){e=et.apply([],e);var r,A,o,a,c,s,u=0,g=t.length,l=g-1,M=e[0],d=ct.isFunction(M);if(d||g>1&&"string"==typeof M&&!at.checkClone&&Pt.test(M))return t.each(function(r){var A=t.eq(r);d&&(e[0]=M.call(this,r,A.html())),B(A,e,n,i)});if(g&&(r=f(e,t[0].ownerDocument,!1,t,i),A=r.firstChild,1===r.childNodes.length&&(r=A),A||i)){for(o=ct.map(h(r,"script"),p),a=o.length;u<g;u++)c=r,u!==l&&(c=ct.clone(c,!0,!0),a&&ct.merge(o,h(c,"script"))),n.call(t[u],c,u);if(a)for(s=o[o.length-1].ownerDocument,ct.map(o,C),u=0;u<a;u++)c=o[u],zt.test(c.type||"")&&!wt.access(c,"globalEval")&&ct.contains(s,c)&&(c.src?ct._evalUrl&&ct._evalUrl(c.src):ct.globalEval(c.textContent.replace(Vt,"")))}return t}function w(t,e,n){for(var i,r=e?ct.filter(e,t):t,A=0;null!=(i=r[A]);A++)n||1!==i.nodeType||ct.cleanData(h(i)),i.parentNode&&(n&&ct.contains(i.ownerDocument,i)&&d(h(i,"script")),i.parentNode.removeChild(i));return t}function m(t,e){var n=ct(e.createElement(t)).appendTo(e.body),i=ct.css(n[0],"display");return n.detach(),i}function Q(t){var e=$,n=_t[t];return n||(n=m(t,e),"none"!==n&&n||(Wt=(Wt||ct("<iframe frameborder='0' width='0' height='0'/>")).appendTo(e.documentElement),e=Wt[0].contentDocument,e.write(),e.close(),n=m(t,e),Wt.detach()),_t[t]=n),n}function v(t,e,n){var i,r,A,o,a=t.style;return n=n||qt(t),o=n?n.getPropertyValue(e)||n[e]:void 0,""!==o&&void 0!==o||ct.contains(t.ownerDocument,t)||(o=ct.style(t,e)),n&&!at.pixelMarginRight()&&Kt.test(o)&&Zt.test(e)&&(i=a.width,r=a.minWidth,A=a.maxWidth,a.minWidth=a.maxWidth=a.width=o,o=n.width,a.width=i,a.minWidth=r,a.maxWidth=A),void 0!==o?o+"":o}function j(t,e){return{get:function(){return t()?void delete this.get:(this.get=e).apply(this,arguments)}}}function L(t){if(t in Ae)return t;for(var e=t[0].toUpperCase()+t.slice(1),n=re.length;n--;)if((t=re[n]+e)in Ae)return t}function S(t,e,n){var i=Lt.exec(e);return i?Math.max(0,i[2]-(n||0))+(i[3]||"px"):e}function Y(t,e,n,i,r){for(var A=n===(i?"border":"content")?4:"width"===e?1:0,o=0;A<4;A+=2)"margin"===n&&(o+=ct.css(t,n+St[A],!0,r)),i?("content"===n&&(o-=ct.css(t,"padding"+St[A],!0,r)),"margin"!==n&&(o-=ct.css(t,"border"+St[A]+"Width",!0,r))):(o+=ct.css(t,"padding"+St[A],!0,r),"padding"!==n&&(o+=ct.css(t,"border"+St[A]+"Width",!0,r)));return o}function b(t,e,n){var i=!0,r="width"===e?t.offsetWidth:t.offsetHeight,A=qt(t),o="border-box"===ct.css(t,"boxSizing",!1,A);if(r<=0||null==r){if(r=v(t,e,A),(r<0||null==r)&&(r=t.style[e]),Kt.test(r))return r;i=o&&(at.boxSizingReliable()||r===t.style[e]),r=parseFloat(r)||0}return r+Y(t,e,n||(o?"border":"content"),i,A)+"px"}function O(t,e){for(var n,i,r,A=[],o=0,a=t.length;o<a;o++)i=t[o],i.style&&(A[o]=wt.get(i,"olddisplay"),n=i.style.display,e?(A[o]||"none"!==n||(i.style.display=""),""===i.style.display&&Yt(i)&&(A[o]=wt.access(i,"olddisplay",Q(i.nodeName)))):(r=Yt(i),"none"===n&&r||wt.set(i,"olddisplay",r?n:ct.css(i,"display"))));for(o=0;o<a;o++)i=t[o],i.style&&(e&&"none"!==i.style.display&&""!==i.style.display||(i.style.display=e?A[o]||"":"none"));return t}function z(t,e,n,i,r){return new z.prototype.init(t,e,n,i,r)}function U(){return n.setTimeout(function(){oe=void 0}),oe=ct.now()}function F(t,e){var n,i=0,r={height:t};for(e=e?1:0;i<4;i+=2-e)n=St[i],r["margin"+n]=r["padding"+n]=t;return e&&(r.opacity=r.width=t),r}function k(t,e,n){for(var i,r=(H.tweeners[e]||[]).concat(H.tweeners["*"]),A=0,o=r.length;A<o;A++)if(i=r[A].call(n,e,t))return i}function R(t,e,n){var i,r,A,o,a,c,s,u=this,g={},l=t.style,M=t.nodeType&&Yt(t),h=wt.get(t,"fxshow");n.queue||(a=ct._queueHooks(t,"fx"),null==a.unqueued&&(a.unqueued=0,c=a.empty.fire,a.empty.fire=function(){a.unqueued||c()}),a.unqueued++,u.always(function(){u.always(function(){a.unqueued--,ct.queue(t,"fx").length||a.empty.fire()})})),1===t.nodeType&&("height"in e||"width"in e)&&(n.overflow=[l.overflow,l.overflowX,l.overflowY],s=ct.css(t,"display"),"inline"===("none"===s?wt.get(t,"olddisplay")||Q(t.nodeName):s)&&"none"===ct.css(t,"float")&&(l.display="inline-block")),n.overflow&&(l.overflow="hidden",u.always(function(){l.overflow=n.overflow[0],l.overflowX=n.overflow[1],l.overflowY=n.overflow[2]}));for(i in e)if(r=e[i],ce.exec(r)){if(delete e[i],A=A||"toggle"===r,r===(M?"hide":"show")){if("show"!==r||!h||void 0===h[i])continue;M=!0}g[i]=h&&h[i]||ct.style(t,i)}else s=void 0;if(ct.isEmptyObject(g))"inline"===("none"===s?Q(t.nodeName):s)&&(l.display=s);else{h?"hidden"in h&&(M=h.hidden):h=wt.access(t,"fxshow",{}),A&&(h.hidden=!M),M?ct(t).show():u.done(function(){ct(t).hide()}),u.done(function(){var e;wt.remove(t,"fxshow");for(e in g)ct.style(t,e,g[e])});for(i in g)o=k(M?h[i]:0,i,u),i in h||(h[i]=o.start,M&&(o.end=o.start,o.start="width"===i||"height"===i?1:0))}}function G(t,e){var n,i,r,A,o;for(n in t)if(i=ct.camelCase(n),r=e[i],A=t[n],ct.isArray(A)&&(r=A[1],A=t[n]=A[0]),n!==i&&(t[i]=A,delete t[n]),(o=ct.cssHooks[i])&&"expand"in o){A=o.expand(A),delete t[i];for(n in A)n in t||(t[n]=A[n],e[n]=r)}else e[i]=r}function H(t,e,n){var i,r,A=0,o=H.prefilters.length,a=ct.Deferred().always(function(){delete c.elem}),c=function(){if(r)return!1;for(var e=oe||U(),n=Math.max(0,s.startTime+s.duration-e),i=n/s.duration||0,A=1-i,o=0,c=s.tweens.length;o<c;o++)s.tweens[o].run(A);return a.notifyWith(t,[s,A,n]),A<1&&c?n:(a.resolveWith(t,[s]),!1)},s=a.promise({elem:t,props:ct.extend({},e),opts:ct.extend(!0,{specialEasing:{},easing:ct.easing._default},n),originalProperties:e,originalOptions:n,startTime:oe||U(),duration:n.duration,tweens:[],createTween:function(e,n){var i=ct.Tween(t,s.opts,e,n,s.opts.specialEasing[e]||s.opts.easing);return s.tweens.push(i),i},stop:function(e){var n=0,i=e?s.tweens.length:0;if(r)return this;for(r=!0;n<i;n++)s.tweens[n].run(1);return e?(a.notifyWith(t,[s,1,0]),a.resolveWith(t,[s,e])):a.rejectWith(t,[s,e]),this}}),u=s.props;for(G(u,s.opts.specialEasing);A<o;A++)if(i=H.prefilters[A].call(s,t,u,s.opts))return ct.isFunction(i.stop)&&(ct._queueHooks(s.elem,s.opts.queue).stop=ct.proxy(i.stop,i)),i;return ct.map(u,k,s),ct.isFunction(s.opts.start)&&s.opts.start.call(t,s),ct.fx.timer(ct.extend(c,{elem:t,anim:s,queue:s.opts.queue})),s.progress(s.opts.progress).done(s.opts.done,s.opts.complete).fail(s.opts.fail).always(s.opts.always)}function J(t){return t.getAttribute&&t.getAttribute("class")||""}function P(t){return function(e,n){"string"!=typeof e&&(n=e,e="*");var i,r=0,A=e.toLowerCase().match(Ct)||[];if(ct.isFunction(n))for(;i=A[r++];)"+"===i[0]?(i=i.slice(1)||"*",(t[i]=t[i]||[]).unshift(n)):(t[i]=t[i]||[]).push(n)}}function X(t,e,n,i){function r(a){var c;return A[a]=!0,ct.each(t[a]||[],function(t,a){var s=a(e,n,i);return"string"!=typeof s||o||A[s]?o?!(c=s):void 0:(e.dataTypes.unshift(s),r(s),!1)}),c}var A={},o=t===me;return r(e.dataTypes[0])||!A["*"]&&r("*")}function V(t,e){var n,i,r=ct.ajaxSettings.flatOptions||{};for(n in e)void 0!==e[n]&&((r[n]?t:i||(i={}))[n]=e[n]);return i&&ct.extend(!0,t,i),t}function W(t,e,n){for(var i,r,A,o,a=t.contents,c=t.dataTypes;"*"===c[0];)c.shift(),void 0===i&&(i=t.mimeType||e.getResponseHeader("Content-Type"));if(i)for(r in a)if(a[r]&&a[r].test(i)){c.unshift(r);break}if(c[0]in n)A=c[0];else{for(r in n){if(!c[0]||t.converters[r+" "+c[0]]){A=r;break}o||(o=r)}A=A||o}if(A)return A!==c[0]&&c.unshift(A),n[A]}function _(t,e,n,i){var r,A,o,a,c,s={},u=t.dataTypes.slice();if(u[1])for(o in t.converters)s[o.toLowerCase()]=t.converters[o];for(A=u.shift();A;)if(t.responseFields[A]&&(n[t.responseFields[A]]=e),!c&&i&&t.dataFilter&&(e=t.dataFilter(e,t.dataType)),c=A,A=u.shift())if("*"===A)A=c;else if("*"!==c&&c!==A){if(!(o=s[c+" "+A]||s["* "+A]))for(r in s)if(a=r.split(" "),a[1]===A&&(o=s[c+" "+a[0]]||s["* "+a[0]])){!0===o?o=s[r]:!0!==s[r]&&(A=a[0],u.unshift(a[1]));break}if(!0!==o)if(o&&t.throws)e=o(e);else try{e=o(e)}catch(t){return{state:"parsererror",error:o?t:"No conversion from "+c+" to "+A}}}return{state:"success",data:e}}function Z(t,e,n,i){var r;if(ct.isArray(e))ct.each(e,function(e,r){n||Le.test(t)?i(t,r):Z(t+"["+("object"==typeof r&&null!=r?e:"")+"]",r,n,i)});else if(n||"object"!==ct.type(e))i(t,e);else for(r in e)Z(t+"["+r+"]",e[r],n,i)}function K(t){return ct.isWindow(t)?t:9===t.nodeType&&t.defaultView}var q=[],$=n.document,tt=q.slice,et=q.concat,nt=q.push,it=q.indexOf,rt={},At=rt.toString,ot=rt.hasOwnProperty,at={},ct=function(t,e){return new ct.fn.init(t,e)},st=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ut=/^-ms-/,gt=/-([\da-z])/gi,lt=function(t,e){return e.toUpperCase()};ct.fn=ct.prototype={jquery:"2.2.4",constructor:ct,selector:"",length:0,toArray:function(){return tt.call(this)},get:function(t){return null!=t?t<0?this[t+this.length]:this[t]:tt.call(this)},pushStack:function(t){var e=ct.merge(this.constructor(),t);return e.prevObject=this,e.context=this.context,e},each:function(t){return ct.each(this,t)},map:function(t){return this.pushStack(ct.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return this.pushStack(tt.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){var e=this.length,n=+t+(t<0?e:0);return this.pushStack(n>=0&&n<e?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:nt,sort:q.sort,splice:q.splice},ct.extend=ct.fn.extend=function(){var t,e,n,i,r,A,o=arguments[0]||{},a=1,c=arguments.length,s=!1;for("boolean"==typeof o&&(s=o,o=arguments[a]||{},a++),"object"==typeof o||ct.isFunction(o)||(o={}),a===c&&(o=this,a--);a<c;a++)if(null!=(t=arguments[a]))for(e in t)n=o[e],i=t[e],o!==i&&(s&&i&&(ct.isPlainObject(i)||(r=ct.isArray(i)))?(r?(r=!1,A=n&&ct.isArray(n)?n:[]):A=n&&ct.isPlainObject(n)?n:{},o[e]=ct.extend(s,A,i)):void 0!==i&&(o[e]=i));return o},ct.extend({expando:"jQuery"+("2.2.4"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(t){throw new Error(t)},noop:function(){},isFunction:function(t){return"function"===ct.type(t)},isArray:Array.isArray,isWindow:function(t){return null!=t&&t===t.window},isNumeric:function(t){var e=t&&t.toString();return!ct.isArray(t)&&e-parseFloat(e)+1>=0},isPlainObject:function(t){var e;if("object"!==ct.type(t)||t.nodeType||ct.isWindow(t))return!1;if(t.constructor&&!ot.call(t,"constructor")&&!ot.call(t.constructor.prototype||{},"isPrototypeOf"))return!1;for(e in t);return void 0===e||ot.call(t,e)},isEmptyObject:function(t){var e;for(e in t)return!1;return!0},type:function(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?rt[At.call(t)]||"object":typeof t},globalEval:function(t){var e,n=eval;(t=ct.trim(t))&&(1===t.indexOf("use strict")?(e=$.createElement("script"),e.text=t,$.head.appendChild(e).parentNode.removeChild(e)):n(t))},camelCase:function(t){return t.replace(ut,"ms-").replace(gt,lt)},nodeName:function(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()},each:function(t,e){var n,i=0;if(o(t))for(n=t.length;i<n&&!1!==e.call(t[i],i,t[i]);i++);else for(i in t)if(!1===e.call(t[i],i,t[i]))break;return t},trim:function(t){return null==t?"":(t+"").replace(st,"")},makeArray:function(t,e){var n=e||[];return null!=t&&(o(Object(t))?ct.merge(n,"string"==typeof t?[t]:t):nt.call(n,t)),n},inArray:function(t,e,n){return null==e?-1:it.call(e,t,n)},merge:function(t,e){for(var n=+e.length,i=0,r=t.length;i<n;i++)t[r++]=e[i];return t.length=r,t},grep:function(t,e,n){for(var i=[],r=0,A=t.length,o=!n;r<A;r++)!e(t[r],r)!==o&&i.push(t[r]);return i},map:function(t,e,n){var i,r,A=0,a=[];if(o(t))for(i=t.length;A<i;A++)null!=(r=e(t[A],A,n))&&a.push(r);else for(A in t)null!=(r=e(t[A],A,n))&&a.push(r);return et.apply([],a)},guid:1,proxy:function(t,e){var n,i,r;if("string"==typeof e&&(n=t[e],e=t,t=n),ct.isFunction(t))return i=tt.call(arguments,2),r=function(){return t.apply(e||this,i.concat(tt.call(arguments)))},r.guid=t.guid=t.guid||ct.guid++,r},now:Date.now,support:at}),"function"==typeof Symbol&&(ct.fn[Symbol.iterator]=q[Symbol.iterator]),ct.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(t,e){rt["[object "+e+"]"]=e.toLowerCase()});var Mt=/*!
+ * Sizzle CSS Selector Engine v2.2.1
+ * http://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2015-10-17
+ */
+function(t){function e(t,e,n,i){var r,A,o,a,s,g,l,M,h=e&&e.ownerDocument,d=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==d&&9!==d&&11!==d)return n;if(!i&&((e?e.ownerDocument||e:U)!==v&&Q(e),e=e||v,L)){if(11!==d&&(g=dt.exec(t)))if(r=g[1]){if(9===d){if(!(o=e.getElementById(r)))return n;if(o.id===r)return n.push(o),n}else if(h&&(o=h.getElementById(r))&&O(e,o)&&o.id===r)return n.push(o),n}else{if(g[2])return Z.apply(n,e.getElementsByTagName(t)),n;if((r=g[3])&&T.getElementsByClassName&&e.getElementsByClassName)return Z.apply(n,e.getElementsByClassName(r)),n}if(T.qsa&&!H[t+" "]&&(!S||!S.test(t))){if(1!==d)h=e,M=t;else if("object"!==e.nodeName.toLowerCase()){for((a=e.getAttribute("id"))?a=a.replace(It,"\\$&"):e.setAttribute("id",a=z),l=C(t),A=l.length,s=ut.test(a)?"#"+a:"[id='"+a+"']";A--;)l[A]=s+" "+u(l[A]);M=l.join(","),h=ft.test(t)&&c(e.parentNode)||e}if(M)try{return Z.apply(n,h.querySelectorAll(M)),n}catch(t){}finally{a===z&&e.removeAttribute("id")}}}return x(t.replace(At,"$1"),e,n,i)}function n(){function t(n,i){return e.push(n+" ")>N.cacheLength&&delete t[e.shift()],t[n+" "]=i}var e=[];return t}function i(t){return t[z]=!0,t}function r(t){var e=v.createElement("div");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function A(t,e){for(var n=t.split("|"),i=n.length;i--;)N.attrHandle[n[i]]=e}function o(t,e){var n=e&&t,i=n&&1===t.nodeType&&1===e.nodeType&&(~e.sourceIndex||P)-(~t.sourceIndex||P);if(i)return i;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function a(t){return i(function(e){return e=+e,i(function(n,i){for(var r,A=t([],n.length,e),o=A.length;o--;)n[r=A[o]]&&(n[r]=!(i[r]=n[r]))})})}function c(t){return t&&void 0!==t.getElementsByTagName&&t}function s(){}function u(t){for(var e=0,n=t.length,i="";e<n;e++)i+=t[e].value;return i}function g(t,e,n){var i=e.dir,r=n&&"parentNode"===i,A=k++;return e.first?function(e,n,A){for(;e=e[i];)if(1===e.nodeType||r)return t(e,n,A)}:function(e,n,o){var a,c,s,u=[F,A];if(o){for(;e=e[i];)if((1===e.nodeType||r)&&t(e,n,o))return!0}else for(;e=e[i];)if(1===e.nodeType||r){if(s=e[z]||(e[z]={}),c=s[e.uniqueID]||(s[e.uniqueID]={}),(a=c[i])&&a[0]===F&&a[1]===A)return u[2]=a[2];if(c[i]=u,u[2]=t(e,n,o))return!0}}}function l(t){return t.length>1?function(e,n,i){for(var r=t.length;r--;)if(!t[r](e,n,i))return!1;return!0}:t[0]}function M(t,n,i){for(var r=0,A=n.length;r<A;r++)e(t,n[r],i);return i}function h(t,e,n,i,r){for(var A,o=[],a=0,c=t.length,s=null!=e;a<c;a++)(A=t[a])&&(n&&!n(A,i,r)||(o.push(A),s&&e.push(a)));return o}function d(t,e,n,r,A,o){return r&&!r[z]&&(r=d(r)),A&&!A[z]&&(A=d(A,o)),i(function(i,o,a,c){var s,u,g,l=[],d=[],f=o.length,I=i||M(e||"*",a.nodeType?[a]:a,[]),E=!t||!i&&e?I:h(I,l,t,a,c),T=n?A||(i?t:f||r)?[]:o:E;if(n&&n(E,T,a,c),r)for(s=h(T,d),r(s,[],a,c),u=s.length;u--;)(g=s[u])&&(T[d[u]]=!(E[d[u]]=g));if(i){if(A||t){if(A){for(s=[],u=T.length;u--;)(g=T[u])&&s.push(E[u]=g);A(null,T=[],s,c)}for(u=T.length;u--;)(g=T[u])&&(s=A?q(i,g):l[u])>-1&&(i[s]=!(o[s]=g))}}else T=h(T===o?T.splice(f,T.length):T),A?A(null,o,T,c):Z.apply(o,T)})}function f(t){for(var e,n,i,r=t.length,A=N.relative[t[0].type],o=A||N.relative[" "],a=A?1:0,c=g(function(t){return t===e},o,!0),s=g(function(t){return q(e,t)>-1},o,!0),M=[function(t,n,i){var r=!A&&(i||n!==B)||((e=n).nodeType?c(t,n,i):s(t,n,i));return e=null,r}];a<r;a++)if(n=N.relative[t[a].type])M=[g(l(M),n)];else{if(n=N.filter[t[a].type].apply(null,t[a].matches),n[z]){for(i=++a;i<r&&!N.relative[t[i].type];i++);return d(a>1&&l(M),a>1&&u(t.slice(0,a-1).concat({value:" "===t[a-2].type?"*":""})).replace(At,"$1"),n,a<i&&f(t.slice(a,i)),i<r&&f(t=t.slice(i)),i<r&&u(t))}M.push(n)}return l(M)}function I(t,n){var r=n.length>0,A=t.length>0,o=function(i,o,a,c,s){var u,g,l,M=0,d="0",f=i&&[],I=[],E=B,T=i||A&&N.find.TAG("*",s),y=F+=null==E?1:Math.random()||.1,p=T.length;for(s&&(B=o===v||o||s);d!==p&&null!=(u=T[d]);d++){if(A&&u){for(g=0,o||u.ownerDocument===v||(Q(u),a=!L);l=t[g++];)if(l(u,o||v,a)){c.push(u);break}s&&(F=y)}r&&((u=!l&&u)&&M--,i&&f.push(u))}if(M+=d,r&&d!==M){for(g=0;l=n[g++];)l(f,I,o,a);if(i){if(M>0)for(;d--;)f[d]||I[d]||(I[d]=W.call(c));I=h(I)}Z.apply(c,I),s&&!i&&I.length>0&&M+n.length>1&&e.uniqueSort(c)}return s&&(F=y,B=E),f};return r?i(o):o}var E,T,N,y,p,C,D,x,B,w,m,Q,v,j,L,S,Y,b,O,z="sizzle"+1*new Date,U=t.document,F=0,k=0,R=n(),G=n(),H=n(),J=function(t,e){return t===e&&(m=!0),0},P=1<<31,X={}.hasOwnProperty,V=[],W=V.pop,_=V.push,Z=V.push,K=V.slice,q=function(t,e){for(var n=0,i=t.length;n<i;n++)if(t[n]===e)return n;return-1},$="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",tt="[\\x20\\t\\r\\n\\f]",et="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",nt="\\["+tt+"*("+et+")(?:"+tt+"*([*^$|!~]?=)"+tt+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+et+"))|)"+tt+"*\\]",it=":("+et+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+nt+")*)|.*)\\)|)",rt=new RegExp(tt+"+","g"),At=new RegExp("^"+tt+"+|((?:^|[^\\\\])(?:\\\\.)*)"+tt+"+$","g"),ot=new RegExp("^"+tt+"*,"+tt+"*"),at=new RegExp("^"+tt+"*([>+~]|"+tt+")"+tt+"*"),ct=new RegExp("="+tt+"*([^\\]'\"]*?)"+tt+"*\\]","g"),st=new RegExp(it),ut=new RegExp("^"+et+"$"),gt={ID:new RegExp("^#("+et+")"),CLASS:new RegExp("^\\.("+et+")"),TAG:new RegExp("^("+et+"|[*])"),ATTR:new RegExp("^"+nt),PSEUDO:new RegExp("^"+it),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+tt+"*(even|odd|(([+-]|)(\\d*)n|)"+tt+"*(?:([+-]|)"+tt+"*(\\d+)|))"+tt+"*\\)|)","i"),bool:new RegExp("^(?:"+$+")$","i"),needsContext:new RegExp("^"+tt+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+tt+"*((?:-\\d)?\\d*)"+tt+"*\\)|)(?=[^-]|$)","i")},lt=/^(?:input|select|textarea|button)$/i,Mt=/^h\d$/i,ht=/^[^{]+\{\s*\[native \w/,dt=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ft=/[+~]/,It=/'|\\/g,Et=new RegExp("\\\\([\\da-f]{1,6}"+tt+"?|("+tt+")|.)","ig"),Tt=function(t,e,n){var i="0x"+e-65536;return i!==i||n?e:i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},Nt=function(){Q()};try{Z.apply(V=K.call(U.childNodes),U.childNodes),V[U.childNodes.length].nodeType}catch(t){Z={apply:V.length?function(t,e){_.apply(t,K.call(e))}:function(t,e){for(var n=t.length,i=0;t[n++]=e[i++];);t.length=n-1}}}T=e.support={},p=e.isXML=function(t){var e=t&&(t.ownerDocument||t).documentElement;return!!e&&"HTML"!==e.nodeName},Q=e.setDocument=function(t){var e,n,i=t?t.ownerDocument||t:U;return i!==v&&9===i.nodeType&&i.documentElement?(v=i,j=v.documentElement,L=!p(v),(n=v.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Nt,!1):n.attachEvent&&n.attachEvent("onunload",Nt)),T.attributes=r(function(t){return t.className="i",!t.getAttribute("className")}),T.getElementsByTagName=r(function(t){return t.appendChild(v.createComment("")),!t.getElementsByTagName("*").length}),T.getElementsByClassName=ht.test(v.getElementsByClassName),T.getById=r(function(t){return j.appendChild(t).id=z,!v.getElementsByName||!v.getElementsByName(z).length}),T.getById?(N.find.ID=function(t,e){if(void 0!==e.getElementById&&L){var n=e.getElementById(t);return n?[n]:[]}},N.filter.ID=function(t){var e=t.replace(Et,Tt);return function(t){return t.getAttribute("id")===e}}):(delete N.find.ID,N.filter.ID=function(t){var e=t.replace(Et,Tt);return function(t){var n=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}}),N.find.TAG=T.getElementsByTagName?function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):T.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,i=[],r=0,A=e.getElementsByTagName(t);if("*"===t){for(;n=A[r++];)1===n.nodeType&&i.push(n);return i}return A},N.find.CLASS=T.getElementsByClassName&&function(t,e){if(void 0!==e.getElementsByClassName&&L)return e.getElementsByClassName(t)},Y=[],S=[],(T.qsa=ht.test(v.querySelectorAll))&&(r(function(t){j.appendChild(t).innerHTML="<a id='"+z+"'></a><select id='"+z+"-\r\\' msallowcapture=''><option selected=''></option></select>",t.querySelectorAll("[msallowcapture^='']").length&&S.push("[*^$]="+tt+"*(?:''|\"\")"),t.querySelectorAll("[selected]").length||S.push("\\["+tt+"*(?:value|"+$+")"),t.querySelectorAll("[id~="+z+"-]").length||S.push("~="),t.querySelectorAll(":checked").length||S.push(":checked"),t.querySelectorAll("a#"+z+"+*").length||S.push(".#.+[+~]")}),r(function(t){var e=v.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&S.push("name"+tt+"*[*^$|!~]?="),t.querySelectorAll(":enabled").length||S.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),S.push(",.*:")})),(T.matchesSelector=ht.test(b=j.matches||j.webkitMatchesSelector||j.mozMatchesSelector||j.oMatchesSelector||j.msMatchesSelector))&&r(function(t){T.disconnectedMatch=b.call(t,"div"),b.call(t,"[s!='']:x"),Y.push("!=",it)}),S=S.length&&new RegExp(S.join("|")),Y=Y.length&&new RegExp(Y.join("|")),e=ht.test(j.compareDocumentPosition),O=e||ht.test(j.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,i=e&&e.parentNode;return t===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):t.compareDocumentPosition&&16&t.compareDocumentPosition(i)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},J=e?function(t,e){if(t===e)return m=!0,0;var n=!t.compareDocumentPosition-!e.compareDocumentPosition;return n||(n=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1,1&n||!T.sortDetached&&e.compareDocumentPosition(t)===n?t===v||t.ownerDocument===U&&O(U,t)?-1:e===v||e.ownerDocument===U&&O(U,e)?1:w?q(w,t)-q(w,e):0:4&n?-1:1)}:function(t,e){if(t===e)return m=!0,0;var n,i=0,r=t.parentNode,A=e.parentNode,a=[t],c=[e];if(!r||!A)return t===v?-1:e===v?1:r?-1:A?1:w?q(w,t)-q(w,e):0;if(r===A)return o(t,e);for(n=t;n=n.parentNode;)a.unshift(n);for(n=e;n=n.parentNode;)c.unshift(n);for(;a[i]===c[i];)i++;return i?o(a[i],c[i]):a[i]===U?-1:c[i]===U?1:0},v):v},e.matches=function(t,n){return e(t,null,null,n)},e.matchesSelector=function(t,n){if((t.ownerDocument||t)!==v&&Q(t),n=n.replace(ct,"='$1']"),T.matchesSelector&&L&&!H[n+" "]&&(!Y||!Y.test(n))&&(!S||!S.test(n)))try{var i=b.call(t,n);if(i||T.disconnectedMatch||t.document&&11!==t.document.nodeType)return i}catch(t){}return e(n,v,null,[t]).length>0},e.contains=function(t,e){return(t.ownerDocument||t)!==v&&Q(t),O(t,e)},e.attr=function(t,e){(t.ownerDocument||t)!==v&&Q(t);var n=N.attrHandle[e.toLowerCase()],i=n&&X.call(N.attrHandle,e.toLowerCase())?n(t,e,!L):void 0;return void 0!==i?i:T.attributes||!L?t.getAttribute(e):(i=t.getAttributeNode(e))&&i.specified?i.value:null},e.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},e.uniqueSort=function(t){var e,n=[],i=0,r=0;if(m=!T.detectDuplicates,w=!T.sortStable&&t.slice(0),t.sort(J),m){for(;e=t[r++];)e===t[r]&&(i=n.push(r));for(;i--;)t.splice(n[i],1)}return w=null,t},y=e.getText=function(t){var e,n="",i=0,r=t.nodeType;if(r){if(1===r||9===r||11===r){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=y(t)}else if(3===r||4===r)return t.nodeValue}else for(;e=t[i++];)n+=y(e);return n},N=e.selectors={cacheLength:50,createPseudo:i,match:gt,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(Et,Tt),t[3]=(t[3]||t[4]||t[5]||"").replace(Et,Tt),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||e.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&e.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return gt.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&st.test(n)&&(e=C(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(Et,Tt).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=R[t+" "];return e||(e=new RegExp("(^|"+tt+")"+t+"("+tt+"|$)"))&&R(t,function(t){return e.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")})},ATTR:function(t,n,i){return function(r){var A=e.attr(r,t);return null==A?"!="===n:!n||(A+="","="===n?A===i:"!="===n?A!==i:"^="===n?i&&0===A.indexOf(i):"*="===n?i&&A.indexOf(i)>-1:"$="===n?i&&A.slice(-i.length)===i:"~="===n?(" "+A.replace(rt," ")+" ").indexOf(i)>-1:"|="===n&&(A===i||A.slice(0,i.length+1)===i+"-"))}},CHILD:function(t,e,n,i,r){var A="nth"!==t.slice(0,3),o="last"!==t.slice(-4),a="of-type"===e;return 1===i&&0===r?function(t){return!!t.parentNode}:function(e,n,c){var s,u,g,l,M,h,d=A!==o?"nextSibling":"previousSibling",f=e.parentNode,I=a&&e.nodeName.toLowerCase(),E=!c&&!a,T=!1;if(f){if(A){for(;d;){for(l=e;l=l[d];)if(a?l.nodeName.toLowerCase()===I:1===l.nodeType)return!1;h=d="only"===t&&!h&&"nextSibling"}return!0}if(h=[o?f.firstChild:f.lastChild],o&&E){for(l=f,g=l[z]||(l[z]={}),u=g[l.uniqueID]||(g[l.uniqueID]={}),s=u[t]||[],M=s[0]===F&&s[1],T=M&&s[2],l=M&&f.childNodes[M];l=++M&&l&&l[d]||(T=M=0)||h.pop();)if(1===l.nodeType&&++T&&l===e){u[t]=[F,M,T];break}}else if(E&&(l=e,g=l[z]||(l[z]={}),u=g[l.uniqueID]||(g[l.uniqueID]={}),s=u[t]||[],M=s[0]===F&&s[1],T=M),!1===T)for(;(l=++M&&l&&l[d]||(T=M=0)||h.pop())&&((a?l.nodeName.toLowerCase()!==I:1!==l.nodeType)||!++T||(E&&(g=l[z]||(l[z]={}),u=g[l.uniqueID]||(g[l.uniqueID]={}),u[t]=[F,T]),l!==e)););return(T-=r)===i||T%i==0&&T/i>=0}}},PSEUDO:function(t,n){var r,A=N.pseudos[t]||N.setFilters[t.toLowerCase()]||e.error("unsupported pseudo: "+t);return A[z]?A(n):A.length>1?(r=[t,t,"",n],N.setFilters.hasOwnProperty(t.toLowerCase())?i(function(t,e){for(var i,r=A(t,n),o=r.length;o--;)i=q(t,r[o]),t[i]=!(e[i]=r[o])}):function(t){return A(t,0,r)}):A}},pseudos:{not:i(function(t){var e=[],n=[],r=D(t.replace(At,"$1"));return r[z]?i(function(t,e,n,i){for(var A,o=r(t,null,i,[]),a=t.length;a--;)(A=o[a])&&(t[a]=!(e[a]=A))}):function(t,i,A){return e[0]=t,r(e,null,A,n),e[0]=null,!n.pop()}}),has:i(function(t){return function(n){return e(t,n).length>0}}),contains:i(function(t){return t=t.replace(Et,Tt),function(e){return(e.textContent||e.innerText||y(e)).indexOf(t)>-1}}),lang:i(function(t){return ut.test(t||"")||e.error("unsupported lang: "+t),t=t.replace(Et,Tt).toLowerCase(),function(e){var n;do{if(n=L?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(n=n.toLowerCase())===t||0===n.indexOf(t+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===j},focus:function(t){return t===v.activeElement&&(!v.hasFocus||v.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:function(t){return!1===t.disabled},disabled:function(t){return!0===t.disabled},checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!N.pseudos.empty(t)},header:function(t){return Mt.test(t.nodeName)},input:function(t){return lt.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:a(function(){return[0]}),last:a(function(t,e){return[e-1]}),eq:a(function(t,e,n){return[n<0?n+e:n]}),even:a(function(t,e){for(var n=0;n<e;n+=2)t.push(n);return t}),odd:a(function(t,e){for(var n=1;n<e;n+=2)t.push(n);return t}),lt:a(function(t,e,n){for(var i=n<0?n+e:n;--i>=0;)t.push(i);return t}),gt:a(function(t,e,n){for(var i=n<0?n+e:n;++i<e;)t.push(i);return t})}},N.pseudos.nth=N.pseudos.eq;for(E in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})N.pseudos[E]=function(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}(E);for(E in{submit:!0,reset:!0})N.pseudos[E]=function(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}(E);return s.prototype=N.filters=N.pseudos,N.setFilters=new s,C=e.tokenize=function(t,n){var i,r,A,o,a,c,s,u=G[t+" "];if(u)return n?0:u.slice(0);for(a=t,c=[],s=N.preFilter;a;){i&&!(r=ot.exec(a))||(r&&(a=a.slice(r[0].length)||a),c.push(A=[])),i=!1,(r=at.exec(a))&&(i=r.shift(),A.push({value:i,type:r[0].replace(At," ")}),a=a.slice(i.length));for(o in N.filter)!(r=gt[o].exec(a))||s[o]&&!(r=s[o](r))||(i=r.shift(),A.push({value:i,type:o,matches:r}),a=a.slice(i.length));if(!i)break}return n?a.length:a?e.error(t):G(t,c).slice(0)},D=e.compile=function(t,e){var n,i=[],r=[],A=H[t+" "];if(!A){for(e||(e=C(t)),n=e.length;n--;)A=f(e[n]),A[z]?i.push(A):r.push(A);A=H(t,I(r,i)),A.selector=t}return A},x=e.select=function(t,e,n,i){var r,A,o,a,s,g="function"==typeof t&&t,l=!i&&C(t=g.selector||t);if(n=n||[],1===l.length){if(A=l[0]=l[0].slice(0),A.length>2&&"ID"===(o=A[0]).type&&T.getById&&9===e.nodeType&&L&&N.relative[A[1].type]){if(!(e=(N.find.ID(o.matches[0].replace(Et,Tt),e)||[])[0]))return n;g&&(e=e.parentNode),t=t.slice(A.shift().value.length)}for(r=gt.needsContext.test(t)?0:A.length;r--&&(o=A[r],!N.relative[a=o.type]);)if((s=N.find[a])&&(i=s(o.matches[0].replace(Et,Tt),ft.test(A[0].type)&&c(e.parentNode)||e))){if(A.splice(r,1),!(t=i.length&&u(A)))return Z.apply(n,i),n;break}}return(g||D(t,l))(i,e,!L,n,!e||ft.test(t)&&c(e.parentNode)||e),n},T.sortStable=z.split("").sort(J).join("")===z,T.detectDuplicates=!!m,Q(),T.sortDetached=r(function(t){return 1&t.compareDocumentPosition(v.createElement("div"))}),r(function(t){return t.innerHTML="<a href='#'></a>","#"===t.firstChild.getAttribute("href")})||A("type|href|height|width",function(t,e,n){if(!n)return t.getAttribute(e,"type"===e.toLowerCase()?1:2)}),T.attributes&&r(function(t){return t.innerHTML="<input/>",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")})||A("value",function(t,e,n){if(!n&&"input"===t.nodeName.toLowerCase())return t.defaultValue}),r(function(t){return null==t.getAttribute("disabled")})||A($,function(t,e,n){var i;if(!n)return!0===t[e]?e.toLowerCase():(i=t.getAttributeNode(e))&&i.specified?i.value:null}),e}(n);ct.find=Mt,ct.expr=Mt.selectors,ct.expr[":"]=ct.expr.pseudos,ct.uniqueSort=ct.unique=Mt.uniqueSort,ct.text=Mt.getText,ct.isXMLDoc=Mt.isXML,ct.contains=Mt.contains;var ht=function(t,e,n){for(var i=[],r=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(r&&ct(t).is(n))break;i.push(t)}return i},dt=function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n},ft=ct.expr.match.needsContext,It=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,Et=/^.[^:#\[\.,]*$/;ct.filter=function(t,e,n){var i=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===i.nodeType?ct.find.matchesSelector(i,t)?[i]:[]:ct.find.matches(t,ct.grep(e,function(t){return 1===t.nodeType}))},ct.fn.extend({find:function(t){var e,n=this.length,i=[],r=this;if("string"!=typeof t)return this.pushStack(ct(t).filter(function(){for(e=0;e<n;e++)if(ct.contains(r[e],this))return!0}));for(e=0;e<n;e++)ct.find(t,r[e],i);return i=this.pushStack(n>1?ct.unique(i):i),i.selector=this.selector?this.selector+" "+t:t,i},filter:function(t){return this.pushStack(a(this,t||[],!1))},not:function(t){return this.pushStack(a(this,t||[],!0))},is:function(t){return!!a(this,"string"==typeof t&&ft.test(t)?ct(t):t||[],!1).length}});var Tt,Nt=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;(ct.fn.init=function(t,e,n){var i,r;if(!t)return this;if(n=n||Tt,"string"==typeof t){if(!(i="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:Nt.exec(t))||!i[1]&&e)return!e||e.jquery?(e||n).find(t):this.constructor(e).find(t);if(i[1]){if(e=e instanceof ct?e[0]:e,ct.merge(this,ct.parseHTML(i[1],e&&e.nodeType?e.ownerDocument||e:$,!0)),It.test(i[1])&&ct.isPlainObject(e))for(i in e)ct.isFunction(this[i])?this[i](e[i]):this.attr(i,e[i]);return this}return r=$.getElementById(i[2]),r&&r.parentNode&&(this.length=1,this[0]=r),this.context=$,this.selector=t,this}return t.nodeType?(this.context=this[0]=t,this.length=1,this):ct.isFunction(t)?void 0!==n.ready?n.ready(t):t(ct):(void 0!==t.selector&&(this.selector=t.selector,this.context=t.context),ct.makeArray(t,this))}).prototype=ct.fn,Tt=ct($);var yt=/^(?:parents|prev(?:Until|All))/,pt={children:!0,contents:!0,next:!0,prev:!0};ct.fn.extend({has:function(t){var e=ct(t,this),n=e.length;return this.filter(function(){for(var t=0;t<n;t++)if(ct.contains(this,e[t]))return!0})},closest:function(t,e){for(var n,i=0,r=this.length,A=[],o=ft.test(t)||"string"!=typeof t?ct(t,e||this.context):0;i<r;i++)for(n=this[i];n&&n!==e;n=n.parentNode)if(n.nodeType<11&&(o?o.index(n)>-1:1===n.nodeType&&ct.find.matchesSelector(n,t))){A.push(n);break}return this.pushStack(A.length>1?ct.uniqueSort(A):A)},index:function(t){return t?"string"==typeof t?it.call(ct(t),this[0]):it.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(ct.uniqueSort(ct.merge(this.get(),ct(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),ct.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return ht(t,"parentNode")},parentsUntil:function(t,e,n){return ht(t,"parentNode",n)},next:function(t){return c(t,"nextSibling")},prev:function(t){return c(t,"previousSibling")},nextAll:function(t){return ht(t,"nextSibling")},prevAll:function(t){return ht(t,"previousSibling")},nextUntil:function(t,e,n){return ht(t,"nextSibling",n)},prevUntil:function(t,e,n){return ht(t,"previousSibling",n)},siblings:function(t){return dt((t.parentNode||{}).firstChild,t)},children:function(t){return dt(t.firstChild)},contents:function(t){return t.contentDocument||ct.merge([],t.childNodes)}},function(t,e){ct.fn[t]=function(n,i){var r=ct.map(this,e,n);return"Until"!==t.slice(-5)&&(i=n),i&&"string"==typeof i&&(r=ct.filter(i,r)),this.length>1&&(pt[t]||ct.uniqueSort(r),yt.test(t)&&r.reverse()),this.pushStack(r)}});var Ct=/\S+/g;ct.Callbacks=function(t){t="string"==typeof t?s(t):ct.extend({},t);var e,n,i,r,A=[],o=[],a=-1,c=function(){for(r=t.once,i=e=!0;o.length;a=-1)for(n=o.shift();++a<A.length;)!1===A[a].apply(n[0],n[1])&&t.stopOnFalse&&(a=A.length,n=!1);t.memory||(n=!1),e=!1,r&&(A=n?[]:"")},u={add:function(){return A&&(n&&!e&&(a=A.length-1,o.push(n)),function e(n){ct.each(n,function(n,i){ct.isFunction(i)?t.unique&&u.has(i)||A.push(i):i&&i.length&&"string"!==ct.type(i)&&e(i)})}(arguments),n&&!e&&c()),this},remove:function(){return ct.each(arguments,function(t,e){for(var n;(n=ct.inArray(e,A,n))>-1;)A.splice(n,1),n<=a&&a--}),this},has:function(t){return t?ct.inArray(t,A)>-1:A.length>0},empty:function(){return A&&(A=[]),this},disable:function(){return r=o=[],A=n="",this},disabled:function(){return!A},lock:function(){return r=o=[],n||(A=n=""),this},locked:function(){return!!r},fireWith:function(t,n){return r||(n=n||[],n=[t,n.slice?n.slice():n],o.push(n),e||c()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!i}};return u},ct.extend({Deferred:function(t){var e=[["resolve","done",ct.Callbacks("once memory"),"resolved"],["reject","fail",ct.Callbacks("once memory"),"rejected"],["notify","progress",ct.Callbacks("memory")]],n="pending",i={state:function(){return n},always:function(){return r.done(arguments).fail(arguments),this},then:function(){var t=arguments;return ct.Deferred(function(n){ct.each(e,function(e,A){var o=ct.isFunction(t[e])&&t[e];r[A[1]](function(){var t=o&&o.apply(this,arguments);t&&ct.isFunction(t.promise)?t.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[A[0]+"With"](this===i?n.promise():this,o?[t]:arguments)})}),t=null}).promise()},promise:function(t){return null!=t?ct.extend(t,i):i}},r={};return i.pipe=i.then,ct.each(e,function(t,A){var o=A[2],a=A[3];i[A[1]]=o.add,a&&o.add(function(){n=a},e[1^t][2].disable,e[2][2].lock),r[A[0]]=function(){return r[A[0]+"With"](this===r?i:this,arguments),this},r[A[0]+"With"]=o.fireWith}),i.promise(r),t&&t.call(r,r),r},when:function(t){var e,n,i,r=0,A=tt.call(arguments),o=A.length,a=1!==o||t&&ct.isFunction(t.promise)?o:0,c=1===a?t:ct.Deferred(),s=function(t,n,i){return function(r){n[t]=this,i[t]=arguments.length>1?tt.call(arguments):r,i===e?c.notifyWith(n,i):--a||c.resolveWith(n,i)}};if(o>1)for(e=new Array(o),n=new Array(o),i=new Array(o);r<o;r++)A[r]&&ct.isFunction(A[r].promise)?A[r].promise().progress(s(r,n,e)).done(s(r,i,A)).fail(c.reject):--a;return a||c.resolveWith(i,A),c.promise()}});var Dt;ct.fn.ready=function(t){return ct.ready.promise().done(t),this},ct.extend({isReady:!1,readyWait:1,holdReady:function(t){t?ct.readyWait++:ct.ready(!0)},ready:function(t){(!0===t?--ct.readyWait:ct.isReady)||(ct.isReady=!0,!0!==t&&--ct.readyWait>0||(Dt.resolveWith($,[ct]),ct.fn.triggerHandler&&(ct($).triggerHandler("ready"),ct($).off("ready"))))}}),ct.ready.promise=function(t){return Dt||(Dt=ct.Deferred(),"complete"===$.readyState||"loading"!==$.readyState&&!$.documentElement.doScroll?n.setTimeout(ct.ready):($.addEventListener("DOMContentLoaded",u),n.addEventListener("load",u))),Dt.promise(t)},ct.ready.promise();var xt=function(t,e,n,i,r,A,o){var a=0,c=t.length,s=null==n;if("object"===ct.type(n)){r=!0;for(a in n)xt(t,e,a,n[a],!0,A,o)}else if(void 0!==i&&(r=!0,ct.isFunction(i)||(o=!0),s&&(o?(e.call(t,i),e=null):(s=e,e=function(t,e,n){return s.call(ct(t),n)})),e))for(;a<c;a++)e(t[a],n,o?i:i.call(t[a],a,e(t[a],n)));return r?t:s?e.call(t):c?e(t[0],n):A},Bt=function(t){return 1===t.nodeType||9===t.nodeType||!+t.nodeType};g.uid=1,g.prototype={register:function(t,e){var n=e||{};return t.nodeType?t[this.expando]=n:Object.defineProperty(t,this.expando,{value:n,writable:!0,configurable:!0}),t[this.expando]},cache:function(t){if(!Bt(t))return{};var e=t[this.expando];return e||(e={},Bt(t)&&(t.nodeType?t[this.expando]=e:Object.defineProperty(t,this.expando,{value:e,configurable:!0}))),e},set:function(t,e,n){var i,r=this.cache(t);if("string"==typeof e)r[e]=n;else for(i in e)r[i]=e[i];return r},get:function(t,e){return void 0===e?this.cache(t):t[this.expando]&&t[this.expando][e]},access:function(t,e,n){var i;return void 0===e||e&&"string"==typeof e&&void 0===n?(i=this.get(t,e),void 0!==i?i:this.get(t,ct.camelCase(e))):(this.set(t,e,n),void 0!==n?n:e)},remove:function(t,e){var n,i,r,A=t[this.expando];if(void 0!==A){if(void 0===e)this.register(t);else{ct.isArray(e)?i=e.concat(e.map(ct.camelCase)):(r=ct.camelCase(e),e in A?i=[e,r]:(i=r,i=i in A?[i]:i.match(Ct)||[])),n=i.length;for(;n--;)delete A[i[n]]}(void 0===e||ct.isEmptyObject(A))&&(t.nodeType?t[this.expando]=void 0:delete t[this.expando])}},hasData:function(t){var e=t[this.expando];return void 0!==e&&!ct.isEmptyObject(e)}};var wt=new g,mt=new g,Qt=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,vt=/[A-Z]/g;ct.extend({hasData:function(t){return mt.hasData(t)||wt.hasData(t)},data:function(t,e,n){return mt.access(t,e,n)},removeData:function(t,e){mt.remove(t,e)},_data:function(t,e,n){return wt.access(t,e,n)},_removeData:function(t,e){wt.remove(t,e)}}),ct.fn.extend({data:function(t,e){var n,i,r,A=this[0],o=A&&A.attributes;if(void 0===t){if(this.length&&(r=mt.get(A),1===A.nodeType&&!wt.get(A,"hasDataAttrs"))){for(n=o.length;n--;)o[n]&&(i=o[n].name,0===i.indexOf("data-")&&(i=ct.camelCase(i.slice(5)),l(A,i,r[i])));wt.set(A,"hasDataAttrs",!0)}return r}return"object"==typeof t?this.each(function(){mt.set(this,t)}):xt(this,function(e){var n,i;if(A&&void 0===e){if(void 0!==(n=mt.get(A,t)||mt.get(A,t.replace(vt,"-$&").toLowerCase())))return n;if(i=ct.camelCase(t),void 0!==(n=mt.get(A,i)))return n;if(void 0!==(n=l(A,i,void 0)))return n}else i=ct.camelCase(t),this.each(function(){var n=mt.get(this,i);mt.set(this,i,e),t.indexOf("-")>-1&&void 0!==n&&mt.set(this,t,e)})},null,e,arguments.length>1,null,!0)},removeData:function(t){return this.each(function(){mt.remove(this,t)})}}),ct.extend({queue:function(t,e,n){var i;if(t)return e=(e||"fx")+"queue",i=wt.get(t,e),n&&(!i||ct.isArray(n)?i=wt.access(t,e,ct.makeArray(n)):i.push(n)),i||[]},dequeue:function(t,e){e=e||"fx";var n=ct.queue(t,e),i=n.length,r=n.shift(),A=ct._queueHooks(t,e),o=function(){ct.dequeue(t,e)};"inprogress"===r&&(r=n.shift(),i--),r&&("fx"===e&&n.unshift("inprogress"),delete A.stop,r.call(t,o,A)),!i&&A&&A.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return wt.get(t,n)||wt.access(t,n,{empty:ct.Callbacks("once memory").add(function(){wt.remove(t,[e+"queue",n])})})}}),ct.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.length<n?ct.queue(this[0],t):void 0===e?this:this.each(function(){var n=ct.queue(this,t,e);ct._queueHooks(this,t),"fx"===t&&"inprogress"!==n[0]&&ct.dequeue(this,t)})},dequeue:function(t){return this.each(function(){ct.dequeue(this,t)})},clearQueue:function(t){return this.queue(t||"fx",[])},promise:function(t,e){var n,i=1,r=ct.Deferred(),A=this,o=this.length,a=function(){--i||r.resolveWith(A,[A])};for("string"!=typeof t&&(e=t,t=void 0),t=t||"fx";o--;)(n=wt.get(A[o],t+"queueHooks"))&&n.empty&&(i++,n.empty.add(a));return a(),r.promise(e)}});var jt=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Lt=new RegExp("^(?:([+-])=|)("+jt+")([a-z%]*)$","i"),St=["Top","Right","Bottom","Left"],Yt=function(t,e){return t=e||t,"none"===ct.css(t,"display")||!ct.contains(t.ownerDocument,t)},bt=/^(?:checkbox|radio)$/i,Ot=/<([\w:-]+)/,zt=/^$|\/(?:java|ecma)script/i,Ut={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Ut.optgroup=Ut.option,Ut.tbody=Ut.tfoot=Ut.colgroup=Ut.caption=Ut.thead,Ut.th=Ut.td;var Ft=/<|&#?\w+;/;!function(){var t=$.createDocumentFragment(),e=t.appendChild($.createElement("div")),n=$.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),e.appendChild(n),at.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",at.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var kt=/^key/,Rt=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Gt=/^([^.]*)(?:\.(.+)|)/;ct.event={global:{},add:function(t,e,n,i,r){var A,o,a,c,s,u,g,l,M,h,d,f=wt.get(t);if(f)for(n.handler&&(A=n,n=A.handler,r=A.selector),n.guid||(n.guid=ct.guid++),(c=f.events)||(c=f.events={}),(o=f.handle)||(o=f.handle=function(e){return void 0!==ct&&ct.event.triggered!==e.type?ct.event.dispatch.apply(t,arguments):void 0}),e=(e||"").match(Ct)||[""],s=e.length;s--;)a=Gt.exec(e[s])||[],M=d=a[1],h=(a[2]||"").split(".").sort(),M&&(g=ct.event.special[M]||{},M=(r?g.delegateType:g.bindType)||M,g=ct.event.special[M]||{},u=ct.extend({type:M,origType:d,data:i,handler:n,guid:n.guid,selector:r,needsContext:r&&ct.expr.match.needsContext.test(r),namespace:h.join(".")},A),(l=c[M])||(l=c[M]=[],l.delegateCount=0,g.setup&&!1!==g.setup.call(t,i,h,o)||t.addEventListener&&t.addEventListener(M,o)),g.add&&(g.add.call(t,u),u.handler.guid||(u.handler.guid=n.guid)),r?l.splice(l.delegateCount++,0,u):l.push(u),ct.event.global[M]=!0)},remove:function(t,e,n,i,r){var A,o,a,c,s,u,g,l,M,h,d,f=wt.hasData(t)&&wt.get(t);if(f&&(c=f.events)){for(e=(e||"").match(Ct)||[""],s=e.length;s--;)if(a=Gt.exec(e[s])||[],M=d=a[1],h=(a[2]||"").split(".").sort(),M){for(g=ct.event.special[M]||{},M=(i?g.delegateType:g.bindType)||M,l=c[M]||[],a=a[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),o=A=l.length;A--;)u=l[A],!r&&d!==u.origType||n&&n.guid!==u.guid||a&&!a.test(u.namespace)||i&&i!==u.selector&&("**"!==i||!u.selector)||(l.splice(A,1),u.selector&&l.delegateCount--,g.remove&&g.remove.call(t,u));o&&!l.length&&(g.teardown&&!1!==g.teardown.call(t,h,f.handle)||ct.removeEvent(t,M,f.handle),delete c[M])}else for(M in c)ct.event.remove(t,M+e[s],n,i,!0);ct.isEmptyObject(c)&&wt.remove(t,"handle events")}},dispatch:function(t){t=ct.event.fix(t);var e,n,i,r,A,o=[],a=tt.call(arguments),c=(wt.get(this,"events")||{})[t.type]||[],s=ct.event.special[t.type]||{};if(a[0]=t,t.delegateTarget=this,!s.preDispatch||!1!==s.preDispatch.call(this,t)){for(o=ct.event.handlers.call(this,t,c),e=0;(r=o[e++])&&!t.isPropagationStopped();)for(t.currentTarget=r.elem,n=0;(A=r.handlers[n++])&&!t.isImmediatePropagationStopped();)t.rnamespace&&!t.rnamespace.test(A.namespace)||(t.handleObj=A,t.data=A.data,void 0!==(i=((ct.event.special[A.origType]||{}).handle||A.handler).apply(r.elem,a))&&!1===(t.result=i)&&(t.preventDefault(),t.stopPropagation()));return s.postDispatch&&s.postDispatch.call(this,t),t.result}},handlers:function(t,e){var n,i,r,A,o=[],a=e.delegateCount,c=t.target;if(a&&c.nodeType&&("click"!==t.type||isNaN(t.button)||t.button<1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&(!0!==c.disabled||"click"!==t.type)){for(i=[],n=0;n<a;n++)A=e[n],r=A.selector+" ",void 0===i[r]&&(i[r]=A.needsContext?ct(r,this).index(c)>-1:ct.find(r,this,null,[c]).length),i[r]&&i.push(A);i.length&&o.push({elem:c,handlers:i})}return a<e.length&&o.push({elem:this,handlers:e.slice(a)}),o},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(t,e){return null==t.which&&(t.which=null!=e.charCode?e.charCode:e.keyCode),t}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(t,e){var n,i,r,A=e.button;return null==t.pageX&&null!=e.clientX&&(n=t.target.ownerDocument||$,i=n.documentElement,r=n.body,t.pageX=e.clientX+(i&&i.scrollLeft||r&&r.scrollLeft||0)-(i&&i.clientLeft||r&&r.clientLeft||0),t.pageY=e.clientY+(i&&i.scrollTop||r&&r.scrollTop||0)-(i&&i.clientTop||r&&r.clientTop||0)),t.which||void 0===A||(t.which=1&A?1:2&A?3:4&A?2:0),t}},fix:function(t){if(t[ct.expando])return t;var e,n,i,r=t.type,A=t,o=this.fixHooks[r];for(o||(this.fixHooks[r]=o=Rt.test(r)?this.mouseHooks:kt.test(r)?this.keyHooks:{}),i=o.props?this.props.concat(o.props):this.props,t=new ct.Event(A),e=i.length;e--;)n=i[e],t[n]=A[n];return t.target||(t.target=$),3===t.target.nodeType&&(t.target=t.target.parentNode),o.filter?o.filter(t,A):t},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==T()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===T()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&ct.nodeName(this,"input"))return this.click(),!1},_default:function(t){return ct.nodeName(t.target,"a")}},beforeunload:{postDispatch:function(t){void 0!==t.result&&t.originalEvent&&(t.originalEvent.returnValue=t.result)}}}},ct.removeEvent=function(t,e,n){t.removeEventListener&&t.removeEventListener(e,n)},ct.Event=function(t,e){if(!(this instanceof ct.Event))return new ct.Event(t,e);t&&t.type?(this.originalEvent=t,this.type=t.type,this.isDefaultPrevented=t.defaultPrevented||void 0===t.defaultPrevented&&!1===t.returnValue?I:E):this.type=t,e&&ct.extend(this,e),this.timeStamp=t&&t.timeStamp||ct.now(),this[ct.expando]=!0},ct.Event.prototype={constructor:ct.Event,isDefaultPrevented:E,isPropagationStopped:E,isImmediatePropagationStopped:E,isSimulated:!1,preventDefault:function(){var t=this.originalEvent;this.isDefaultPrevented=I,t&&!this.isSimulated&&t.preventDefault()},stopPropagation:function(){var t=this.originalEvent;this.isPropagationStopped=I,t&&!this.isSimulated&&t.stopPropagation()},stopImmediatePropagation:function(){var t=this.originalEvent;this.isImmediatePropagationStopped=I,t&&!this.isSimulated&&t.stopImmediatePropagation(),this.stopPropagation()}},ct.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(t,e){ct.event.special[t]={delegateType:e,bindType:e,handle:function(t){var n,i=this,r=t.relatedTarget,A=t.handleObj;return r&&(r===i||ct.contains(i,r))||(t.type=A.origType,n=A.handler.apply(this,arguments),t.type=e),n}}}),ct.fn.extend({on:function(t,e,n,i){return N(this,t,e,n,i)},one:function(t,e,n,i){return N(this,t,e,n,i,1)},off:function(t,e,n){var i,r;if(t&&t.preventDefault&&t.handleObj)return i=t.handleObj,ct(t.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof t){for(r in t)this.off(r,e,t[r]);return this}return!1!==e&&"function"!=typeof e||(n=e,e=void 0),!1===n&&(n=E),this.each(function(){ct.event.remove(this,t,n,e)})}});var Ht=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,Jt=/<script|<style|<link/i,Pt=/checked\s*(?:[^=]|=\s*.checked.)/i,Xt=/^true\/(.*)/,Vt=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;ct.extend({htmlPrefilter:function(t){return t.replace(Ht,"<$1></$2>")},clone:function(t,e,n){var i,r,A,o,a=t.cloneNode(!0),c=ct.contains(t.ownerDocument,t);if(!(at.noCloneChecked||1!==t.nodeType&&11!==t.nodeType||ct.isXMLDoc(t)))for(o=h(a),A=h(t),i=0,r=A.length;i<r;i++)x(A[i],o[i]);if(e)if(n)for(A=A||h(t),o=o||h(a),i=0,r=A.length;i<r;i++)D(A[i],o[i]);else D(t,a);return o=h(a,"script"),o.length>0&&d(o,!c&&h(t,"script")),a},cleanData:function(t){for(var e,n,i,r=ct.event.special,A=0;void 0!==(n=t[A]);A++)if(Bt(n)){if(e=n[wt.expando]){if(e.events)for(i in e.events)r[i]?ct.event.remove(n,i):ct.removeEvent(n,i,e.handle);n[wt.expando]=void 0}n[mt.expando]&&(n[mt.expando]=void 0)}}}),ct.fn.extend({domManip:B,detach:function(t){return w(this,t,!0)},remove:function(t){return w(this,t)},text:function(t){return xt(this,function(t){return void 0===t?ct.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=t)})},null,t,arguments.length)},append:function(){return B(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){y(this,t).appendChild(t)}})},prepend:function(){return B(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=y(this,t);e.insertBefore(t,e.firstChild)}})},before:function(){return B(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return B(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(ct.cleanData(h(t,!1)),t.textContent="");return this},clone:function(t,e){return t=null!=t&&t,e=null==e?t:e,this.map(function(){return ct.clone(this,t,e)})},html:function(t){return xt(this,function(t){var e=this[0]||{},n=0,i=this.length;if(void 0===t&&1===e.nodeType)return e.innerHTML;if("string"==typeof t&&!Jt.test(t)&&!Ut[(Ot.exec(t)||["",""])[1].toLowerCase()]){t=ct.htmlPrefilter(t);try{for(;n<i;n++)e=this[n]||{},1===e.nodeType&&(ct.cleanData(h(e,!1)),e.innerHTML=t);e=0}catch(t){}}e&&this.empty().append(t)},null,t,arguments.length)},replaceWith:function(){var t=[];return B(this,arguments,function(e){var n=this.parentNode;ct.inArray(this,t)<0&&(ct.cleanData(h(this)),n&&n.replaceChild(e,this))},t)}}),ct.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(t,e){ct.fn[t]=function(t){for(var n,i=[],r=ct(t),A=r.length-1,o=0;o<=A;o++)n=o===A?this:this.clone(!0),ct(r[o])[e](n),nt.apply(i,n.get());return this.pushStack(i)}});var Wt,_t={HTML:"block",BODY:"block"},Zt=/^margin/,Kt=new RegExp("^("+jt+")(?!px)[a-z%]+$","i"),qt=function(t){var e=t.ownerDocument.defaultView;return e&&e.opener||(e=n),e.getComputedStyle(t)},$t=function(t,e,n,i){var r,A,o={};for(A in e)o[A]=t.style[A],t.style[A]=e[A];r=n.apply(t,i||[]);for(A in e)t.style[A]=o[A];return r},te=$.documentElement;!function(){function t(){a.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",a.innerHTML="",te.appendChild(o);var t=n.getComputedStyle(a);e="1%"!==t.top,A="2px"===t.marginLeft,i="4px"===t.width,a.style.marginRight="50%",r="4px"===t.marginRight,te.removeChild(o)}var e,i,r,A,o=$.createElement("div"),a=$.createElement("div");a.style&&(a.style.backgroundClip="content-box",a.cloneNode(!0).style.backgroundClip="",at.clearCloneStyle="content-box"===a.style.backgroundClip,o.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",o.appendChild(a),ct.extend(at,{pixelPosition:function(){return t(),e},boxSizingReliable:function(){return null==i&&t(),i},pixelMarginRight:function(){return null==i&&t(),r},reliableMarginLeft:function(){return null==i&&t(),A},reliableMarginRight:function(){var t,e=a.appendChild($.createElement("div"));return e.style.cssText=a.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",e.style.marginRight=e.style.width="0",a.style.width="1px",te.appendChild(o),t=!parseFloat(n.getComputedStyle(e).marginRight),te.removeChild(o),a.removeChild(e),t}}))}();var ee=/^(none|table(?!-c[ea]).+)/,ne={position:"absolute",visibility:"hidden",display:"block"},ie={letterSpacing:"0",fontWeight:"400"},re=["Webkit","O","Moz","ms"],Ae=$.createElement("div").style;ct.extend({cssHooks:{opacity:{get:function(t,e){if(e){var n=v(t,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(t,e,n,i){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var r,A,o,a=ct.camelCase(e),c=t.style;if(e=ct.cssProps[a]||(ct.cssProps[a]=L(a)||a),o=ct.cssHooks[e]||ct.cssHooks[a],void 0===n)return o&&"get"in o&&void 0!==(r=o.get(t,!1,i))?r:c[e];A=typeof n,"string"===A&&(r=Lt.exec(n))&&r[1]&&(n=M(t,e,r),A="number"),null!=n&&n===n&&("number"===A&&(n+=r&&r[3]||(ct.cssNumber[a]?"":"px")),at.clearCloneStyle||""!==n||0!==e.indexOf("background")||(c[e]="inherit"),o&&"set"in o&&void 0===(n=o.set(t,n,i))||(c[e]=n))}},css:function(t,e,n,i){var r,A,o,a=ct.camelCase(e);return e=ct.cssProps[a]||(ct.cssProps[a]=L(a)||a),o=ct.cssHooks[e]||ct.cssHooks[a],o&&"get"in o&&(r=o.get(t,!0,n)),void 0===r&&(r=v(t,e,i)),"normal"===r&&e in ie&&(r=ie[e]),""===n||n?(A=parseFloat(r),!0===n||isFinite(A)?A||0:r):r}}),ct.each(["height","width"],function(t,e){ct.cssHooks[e]={get:function(t,n,i){if(n)return ee.test(ct.css(t,"display"))&&0===t.offsetWidth?$t(t,ne,function(){return b(t,e,i)}):b(t,e,i)},set:function(t,n,i){var r,A=i&&qt(t),o=i&&Y(t,e,i,"border-box"===ct.css(t,"boxSizing",!1,A),A);return o&&(r=Lt.exec(n))&&"px"!==(r[3]||"px")&&(t.style[e]=n,n=ct.css(t,e)),S(t,n,o)}}}),ct.cssHooks.marginLeft=j(at.reliableMarginLeft,function(t,e){if(e)return(parseFloat(v(t,"marginLeft"))||t.getBoundingClientRect().left-$t(t,{marginLeft:0},function(){return t.getBoundingClientRect().left}))+"px"}),ct.cssHooks.marginRight=j(at.reliableMarginRight,function(t,e){if(e)return $t(t,{display:"inline-block"},v,[t,"marginRight"])}),ct.each({margin:"",padding:"",border:"Width"},function(t,e){ct.cssHooks[t+e]={expand:function(n){for(var i=0,r={},A="string"==typeof n?n.split(" "):[n];i<4;i++)r[t+St[i]+e]=A[i]||A[i-2]||A[0];return r}},Zt.test(t)||(ct.cssHooks[t+e].set=S)}),ct.fn.extend({css:function(t,e){return xt(this,function(t,e,n){var i,r,A={},o=0;if(ct.isArray(e)){for(i=qt(t),r=e.length;o<r;o++)A[e[o]]=ct.css(t,e[o],!1,i);return A}return void 0!==n?ct.style(t,e,n):ct.css(t,e)},t,e,arguments.length>1)},show:function(){return O(this,!0)},hide:function(){return O(this)},toggle:function(t){return"boolean"==typeof t?t?this.show():this.hide():this.each(function(){Yt(this)?ct(this).show():ct(this).hide()})}}),ct.Tween=z,z.prototype={constructor:z,init:function(t,e,n,i,r,A){this.elem=t,this.prop=n,this.easing=r||ct.easing._default,this.options=e,this.start=this.now=this.cur(),this.end=i,this.unit=A||(ct.cssNumber[n]?"":"px")},cur:function(){var t=z.propHooks[this.prop];return t&&t.get?t.get(this):z.propHooks._default.get(this)},run:function(t){var e,n=z.propHooks[this.prop];return this.options.duration?this.pos=e=ct.easing[this.easing](t,this.options.duration*t,0,1,this.options.duration):this.pos=e=t,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):z.propHooks._default.set(this),this}},z.prototype.init.prototype=z.prototype,z.propHooks={_default:{get:function(t){var e;return 1!==t.elem.nodeType||null!=t.elem[t.prop]&&null==t.elem.style[t.prop]?t.elem[t.prop]:(e=ct.css(t.elem,t.prop,""),e&&"auto"!==e?e:0)},set:function(t){ct.fx.step[t.prop]?ct.fx.step[t.prop](t):1!==t.elem.nodeType||null==t.elem.style[ct.cssProps[t.prop]]&&!ct.cssHooks[t.prop]?t.elem[t.prop]=t.now:ct.style(t.elem,t.prop,t.now+t.unit)}}},z.propHooks.scrollTop=z.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},ct.easing={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2},_default:"swing"},ct.fx=z.prototype.init,ct.fx.step={};var oe,ae,ce=/^(?:toggle|show|hide)$/,se=/queueHooks$/;ct.Animation=ct.extend(H,{tweeners:{"*":[function(t,e){var n=this.createTween(t,e);return M(n.elem,t,Lt.exec(e),n),n}]},tweener:function(t,e){ct.isFunction(t)?(e=t,t=["*"]):t=t.match(Ct);for(var n,i=0,r=t.length;i<r;i++)n=t[i],H.tweeners[n]=H.tweeners[n]||[],H.tweeners[n].unshift(e)},prefilters:[R],prefilter:function(t,e){e?H.prefilters.unshift(t):H.prefilters.push(t)}}),ct.speed=function(t,e,n){var i=t&&"object"==typeof t?ct.extend({},t):{complete:n||!n&&e||ct.isFunction(t)&&t,duration:t,easing:n&&e||e&&!ct.isFunction(e)&&e};return i.duration=ct.fx.off?0:"number"==typeof i.duration?i.duration:i.duration in ct.fx.speeds?ct.fx.speeds[i.duration]:ct.fx.speeds._default,null!=i.queue&&!0!==i.queue||(i.queue="fx"),i.old=i.complete,i.complete=function(){ct.isFunction(i.old)&&i.old.call(this),i.queue&&ct.dequeue(this,i.queue)},i},ct.fn.extend({fadeTo:function(t,e,n,i){return this.filter(Yt).css("opacity",0).show().end().animate({opacity:e},t,n,i)},animate:function(t,e,n,i){var r=ct.isEmptyObject(t),A=ct.speed(e,n,i),o=function(){var e=H(this,ct.extend({},t),A);(r||wt.get(this,"finish"))&&e.stop(!0)};return o.finish=o,r||!1===A.queue?this.each(o):this.queue(A.queue,o)},stop:function(t,e,n){var i=function(t){var e=t.stop;delete t.stop,e(n)};return"string"!=typeof t&&(n=e,e=t,t=void 0),e&&!1!==t&&this.queue(t||"fx",[]),this.each(function(){var e=!0,r=null!=t&&t+"queueHooks",A=ct.timers,o=wt.get(this);if(r)o[r]&&o[r].stop&&i(o[r]);else for(r in o)o[r]&&o[r].stop&&se.test(r)&&i(o[r]);for(r=A.length;r--;)A[r].elem!==this||null!=t&&A[r].queue!==t||(A[r].anim.stop(n),e=!1,A.splice(r,1));!e&&n||ct.dequeue(this,t)})},finish:function(t){return!1!==t&&(t=t||"fx"),this.each(function(){var e,n=wt.get(this),i=n[t+"queue"],r=n[t+"queueHooks"],A=ct.timers,o=i?i.length:0;for(n.finish=!0,ct.queue(this,t,[]),r&&r.stop&&r.stop.call(this,!0),e=A.length;e--;)A[e].elem===this&&A[e].queue===t&&(A[e].anim.stop(!0),A.splice(e,1));for(e=0;e<o;e++)i[e]&&i[e].finish&&i[e].finish.call(this);delete n.finish})}}),ct.each(["toggle","show","hide"],function(t,e){var n=ct.fn[e];ct.fn[e]=function(t,i,r){return null==t||"boolean"==typeof t?n.apply(this,arguments):this.animate(F(e,!0),t,i,r)}}),ct.each({slideDown:F("show"),slideUp:F("hide"),slideToggle:F("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(t,e){ct.fn[t]=function(t,n,i){return this.animate(e,t,n,i)}}),ct.timers=[],ct.fx.tick=function(){var t,e=0,n=ct.timers;for(oe=ct.now();e<n.length;e++)(t=n[e])()||n[e]!==t||n.splice(e--,1);n.length||ct.fx.stop(),oe=void 0},ct.fx.timer=function(t){ct.timers.push(t),t()?ct.fx.start():ct.timers.pop()},ct.fx.interval=13,ct.fx.start=function(){ae||(ae=n.setInterval(ct.fx.tick,ct.fx.interval))},ct.fx.stop=function(){n.clearInterval(ae),ae=null},ct.fx.speeds={slow:600,fast:200,_default:400},ct.fn.delay=function(t,e){return t=ct.fx?ct.fx.speeds[t]||t:t,e=e||"fx",this.queue(e,function(e,i){var r=n.setTimeout(e,t);i.stop=function(){n.clearTimeout(r)}})},function(){var t=$.createElement("input"),e=$.createElement("select"),n=e.appendChild($.createElement("option"));t.type="checkbox",at.checkOn=""!==t.value,at.optSelected=n.selected,e.disabled=!0,at.optDisabled=!n.disabled,t=$.createElement("input"),t.value="t",t.type="radio",at.radioValue="t"===t.value}();var ue,ge=ct.expr.attrHandle;ct.fn.extend({attr:function(t,e){return xt(this,ct.attr,t,e,arguments.length>1)},removeAttr:function(t){return this.each(function(){ct.removeAttr(this,t)})}}),ct.extend({attr:function(t,e,n){var i,r,A=t.nodeType;if(3!==A&&8!==A&&2!==A)return void 0===t.getAttribute?ct.prop(t,e,n):(1===A&&ct.isXMLDoc(t)||(e=e.toLowerCase(),r=ct.attrHooks[e]||(ct.expr.match.bool.test(e)?ue:void 0)),void 0!==n?null===n?void ct.removeAttr(t,e):r&&"set"in r&&void 0!==(i=r.set(t,n,e))?i:(t.setAttribute(e,n+""),n):r&&"get"in r&&null!==(i=r.get(t,e))?i:(i=ct.find.attr(t,e),null==i?void 0:i))},attrHooks:{type:{set:function(t,e){if(!at.radioValue&&"radio"===e&&ct.nodeName(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}},removeAttr:function(t,e){var n,i,r=0,A=e&&e.match(Ct);if(A&&1===t.nodeType)for(;n=A[r++];)i=ct.propFix[n]||n,ct.expr.match.bool.test(n)&&(t[i]=!1),t.removeAttribute(n)}}),ue={set:function(t,e,n){return!1===e?ct.removeAttr(t,n):t.setAttribute(n,n),n}},ct.each(ct.expr.match.bool.source.match(/\w+/g),function(t,e){var n=ge[e]||ct.find.attr;ge[e]=function(t,e,i){var r,A;return i||(A=ge[e],ge[e]=r,r=null!=n(t,e,i)?e.toLowerCase():null,ge[e]=A),r}});var le=/^(?:input|select|textarea|button)$/i,Me=/^(?:a|area)$/i;ct.fn.extend({prop:function(t,e){return xt(this,ct.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each(function(){delete this[ct.propFix[t]||t]})}}),ct.extend({prop:function(t,e,n){var i,r,A=t.nodeType;if(3!==A&&8!==A&&2!==A)return 1===A&&ct.isXMLDoc(t)||(e=ct.propFix[e]||e,r=ct.propHooks[e]),void 0!==n?r&&"set"in r&&void 0!==(i=r.set(t,n,e))?i:t[e]=n:r&&"get"in r&&null!==(i=r.get(t,e))?i:t[e]},propHooks:{tabIndex:{get:function(t){var e=ct.find.attr(t,"tabindex");return e?parseInt(e,10):le.test(t.nodeName)||Me.test(t.nodeName)&&t.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),at.optSelected||(ct.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null},set:function(t){var e=t.parentNode;e&&(e.selectedIndex,e.parentNode&&e.parentNode.selectedIndex)}}),ct.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ct.propFix[this.toLowerCase()]=this});var he=/[\t\r\n\f]/g;ct.fn.extend({addClass:function(t){var e,n,i,r,A,o,a,c=0;if(ct.isFunction(t))return this.each(function(e){ct(this).addClass(t.call(this,e,J(this)))});if("string"==typeof t&&t)for(e=t.match(Ct)||[];n=this[c++];)if(r=J(n),i=1===n.nodeType&&(" "+r+" ").replace(he," ")){for(o=0;A=e[o++];)i.indexOf(" "+A+" ")<0&&(i+=A+" ");a=ct.trim(i),r!==a&&n.setAttribute("class",a)}return this},removeClass:function(t){var e,n,i,r,A,o,a,c=0;if(ct.isFunction(t))return this.each(function(e){ct(this).removeClass(t.call(this,e,J(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof t&&t)for(e=t.match(Ct)||[];n=this[c++];)if(r=J(n),i=1===n.nodeType&&(" "+r+" ").replace(he," ")){for(o=0;A=e[o++];)for(;i.indexOf(" "+A+" ")>-1;)i=i.replace(" "+A+" "," ");a=ct.trim(i),r!==a&&n.setAttribute("class",a)}return this},toggleClass:function(t,e){var n=typeof t;return"boolean"==typeof e&&"string"===n?e?this.addClass(t):this.removeClass(t):ct.isFunction(t)?this.each(function(n){ct(this).toggleClass(t.call(this,n,J(this),e),e)}):this.each(function(){var e,i,r,A;if("string"===n)for(i=0,r=ct(this),A=t.match(Ct)||[];e=A[i++];)r.hasClass(e)?r.removeClass(e):r.addClass(e);else void 0!==t&&"boolean"!==n||(e=J(this),e&&wt.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===t?"":wt.get(this,"__className__")||""))})},hasClass:function(t){var e,n,i=0;for(e=" "+t+" ";n=this[i++];)if(1===n.nodeType&&(" "+J(n)+" ").replace(he," ").indexOf(e)>-1)return!0;return!1}});var de=/\r/g,fe=/[\x20\t\r\n\f]+/g;ct.fn.extend({val:function(t){var e,n,i,r=this[0];{if(arguments.length)return i=ct.isFunction(t),this.each(function(n){var r;1===this.nodeType&&(r=i?t.call(this,n,ct(this).val()):t,null==r?r="":"number"==typeof r?r+="":ct.isArray(r)&&(r=ct.map(r,function(t){return null==t?"":t+""})),(e=ct.valHooks[this.type]||ct.valHooks[this.nodeName.toLowerCase()])&&"set"in e&&void 0!==e.set(this,r,"value")||(this.value=r))});if(r)return(e=ct.valHooks[r.type]||ct.valHooks[r.nodeName.toLowerCase()])&&"get"in e&&void 0!==(n=e.get(r,"value"))?n:(n=r.value,"string"==typeof n?n.replace(de,""):null==n?"":n)}}}),ct.extend({valHooks:{option:{get:function(t){var e=ct.find.attr(t,"value");return null!=e?e:ct.trim(ct.text(t)).replace(fe," ")}},select:{get:function(t){for(var e,n,i=t.options,r=t.selectedIndex,A="select-one"===t.type||r<0,o=A?null:[],a=A?r+1:i.length,c=r<0?a:A?r:0;c<a;c++)if(n=i[c],(n.selected||c===r)&&(at.optDisabled?!n.disabled:null===n.getAttribute("disabled"))&&(!n.parentNode.disabled||!ct.nodeName(n.parentNode,"optgroup"))){if(e=ct(n).val(),A)return e;o.push(e)}return o},set:function(t,e){for(var n,i,r=t.options,A=ct.makeArray(e),o=r.length;o--;)i=r[o],(i.selected=ct.inArray(ct.valHooks.option.get(i),A)>-1)&&(n=!0);return n||(t.selectedIndex=-1),A}}}}),ct.each(["radio","checkbox"],function(){ct.valHooks[this]={set:function(t,e){if(ct.isArray(e))return t.checked=ct.inArray(ct(t).val(),e)>-1}},at.checkOn||(ct.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})});var Ie=/^(?:focusinfocus|focusoutblur)$/;ct.extend(ct.event,{trigger:function(t,e,i,r){var A,o,a,c,s,u,g,l=[i||$],M=ot.call(t,"type")?t.type:t,h=ot.call(t,"namespace")?t.namespace.split("."):[];if(o=a=i=i||$,3!==i.nodeType&&8!==i.nodeType&&!Ie.test(M+ct.event.triggered)&&(M.indexOf(".")>-1&&(h=M.split("."),M=h.shift(),h.sort()),s=M.indexOf(":")<0&&"on"+M,t=t[ct.expando]?t:new ct.Event(M,"object"==typeof t&&t),t.isTrigger=r?2:3,t.namespace=h.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),e=null==e?[t]:ct.makeArray(e,[t]),g=ct.event.special[M]||{},r||!g.trigger||!1!==g.trigger.apply(i,e))){if(!r&&!g.noBubble&&!ct.isWindow(i)){for(c=g.delegateType||M,Ie.test(c+M)||(o=o.parentNode);o;o=o.parentNode)l.push(o),a=o;a===(i.ownerDocument||$)&&l.push(a.defaultView||a.parentWindow||n)}for(A=0;(o=l[A++])&&!t.isPropagationStopped();)t.type=A>1?c:g.bindType||M,u=(wt.get(o,"events")||{})[t.type]&&wt.get(o,"handle"),u&&u.apply(o,e),(u=s&&o[s])&&u.apply&&Bt(o)&&(t.result=u.apply(o,e),!1===t.result&&t.preventDefault());return t.type=M,r||t.isDefaultPrevented()||g._default&&!1!==g._default.apply(l.pop(),e)||!Bt(i)||s&&ct.isFunction(i[M])&&!ct.isWindow(i)&&(a=i[s],a&&(i[s]=null),ct.event.triggered=M,i[M](),ct.event.triggered=void 0,a&&(i[s]=a)),t.result}},simulate:function(t,e,n){var i=ct.extend(new ct.Event,n,{type:t,isSimulated:!0});ct.event.trigger(i,null,e)}}),ct.fn.extend({trigger:function(t,e){return this.each(function(){ct.event.trigger(t,e,this)})},triggerHandler:function(t,e){var n=this[0];if(n)return ct.event.trigger(t,e,n,!0)}}),ct.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(t,e){ct.fn[e]=function(t,n){return arguments.length>0?this.on(e,null,t,n):this.trigger(e)}}),ct.fn.extend({hover:function(t,e){return this.mouseenter(t).mouseleave(e||t)}}),at.focusin="onfocusin"in n,at.focusin||ct.each({focus:"focusin",blur:"focusout"},function(t,e){var n=function(t){ct.event.simulate(e,t.target,ct.event.fix(t))};ct.event.special[e]={setup:function(){var i=this.ownerDocument||this,r=wt.access(i,e);r||i.addEventListener(t,n,!0),wt.access(i,e,(r||0)+1)},teardown:function(){var i=this.ownerDocument||this,r=wt.access(i,e)-1;r?wt.access(i,e,r):(i.removeEventListener(t,n,!0),wt.remove(i,e))}}});var Ee=n.location,Te=ct.now(),Ne=/\?/;ct.parseJSON=function(t){return JSON.parse(t+"")},ct.parseXML=function(t){var e;if(!t||"string"!=typeof t)return null;try{e=(new n.DOMParser).parseFromString(t,"text/xml")}catch(t){e=void 0}return e&&!e.getElementsByTagName("parsererror").length||ct.error("Invalid XML: "+t),e};var ye=/#.*$/,pe=/([?&])_=[^&]*/,Ce=/^(.*?):[ \t]*([^\r\n]*)$/gm,De=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,xe=/^(?:GET|HEAD)$/,Be=/^\/\//,we={},me={},Qe="*/".concat("*"),ve=$.createElement("a");ve.href=Ee.href,ct.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ee.href,type:"GET",isLocal:De.test(Ee.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Qe,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":ct.parseJSON,"text xml":ct.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?V(V(t,ct.ajaxSettings),e):V(ct.ajaxSettings,t)},ajaxPrefilter:P(we),ajaxTransport:P(me),ajax:function(t,e){function i(t,e,i,a){var s,g,E,T,y,C=e;2!==N&&(N=2,c&&n.clearTimeout(c),r=void 0,o=a||"",p.readyState=t>0?4:0,s=t>=200&&t<300||304===t,i&&(T=W(l,p,i)),T=_(l,T,p,s),s?(l.ifModified&&(y=p.getResponseHeader("Last-Modified"),y&&(ct.lastModified[A]=y),(y=p.getResponseHeader("etag"))&&(ct.etag[A]=y)),204===t||"HEAD"===l.type?C="nocontent":304===t?C="notmodified":(C=T.state,g=T.data,E=T.error,s=!E)):(E=C,!t&&C||(C="error",t<0&&(t=0))),p.status=t,p.statusText=(e||C)+"",s?d.resolveWith(M,[g,C,p]):d.rejectWith(M,[p,C,E]),p.statusCode(I),I=void 0,u&&h.trigger(s?"ajaxSuccess":"ajaxError",[p,l,s?g:E]),f.fireWith(M,[p,C]),u&&(h.trigger("ajaxComplete",[p,l]),--ct.active||ct.event.trigger("ajaxStop")))}"object"==typeof t&&(e=t,t=void 0),e=e||{};var r,A,o,a,c,s,u,g,l=ct.ajaxSetup({},e),M=l.context||l,h=l.context&&(M.nodeType||M.jquery)?ct(M):ct.event,d=ct.Deferred(),f=ct.Callbacks("once memory"),I=l.statusCode||{},E={},T={},N=0,y="canceled",p={readyState:0,getResponseHeader:function(t){var e;if(2===N){if(!a)for(a={};e=Ce.exec(o);)a[e[1].toLowerCase()]=e[2];e=a[t.toLowerCase()]}return null==e?null:e},getAllResponseHeaders:function(){return 2===N?o:null},setRequestHeader:function(t,e){var n=t.toLowerCase();return N||(t=T[n]=T[n]||t,E[t]=e),this},overrideMimeType:function(t){return N||(l.mimeType=t),this},statusCode:function(t){var e;if(t)if(N<2)for(e in t)I[e]=[I[e],t[e]];else p.always(t[p.status]);return this},abort:function(t){var e=t||y;return r&&r.abort(e),i(0,e),this}};if(d.promise(p).complete=f.add,p.success=p.done,p.error=p.fail,l.url=((t||l.url||Ee.href)+"").replace(ye,"").replace(Be,Ee.protocol+"//"),l.type=e.method||e.type||l.method||l.type,l.dataTypes=ct.trim(l.dataType||"*").toLowerCase().match(Ct)||[""],null==l.crossDomain){s=$.createElement("a");try{s.href=l.url,s.href=s.href,l.crossDomain=ve.protocol+"//"+ve.host!=s.protocol+"//"+s.host}catch(t){l.crossDomain=!0}}if(l.data&&l.processData&&"string"!=typeof l.data&&(l.data=ct.param(l.data,l.traditional)),X(we,l,e,p),2===N)return p;u=ct.event&&l.global,u&&0==ct.active++&&ct.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!xe.test(l.type),A=l.url,l.hasContent||(l.data&&(A=l.url+=(Ne.test(A)?"&":"?")+l.data,delete l.data),!1===l.cache&&(l.url=pe.test(A)?A.replace(pe,"$1_="+Te++):A+(Ne.test(A)?"&":"?")+"_="+Te++)),l.ifModified&&(ct.lastModified[A]&&p.setRequestHeader("If-Modified-Since",ct.lastModified[A]),ct.etag[A]&&p.setRequestHeader("If-None-Match",ct.etag[A])),(l.data&&l.hasContent&&!1!==l.contentType||e.contentType)&&p.setRequestHeader("Content-Type",l.contentType),p.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+Qe+"; q=0.01":""):l.accepts["*"]);for(g in l.headers)p.setRequestHeader(g,l.headers[g]);if(l.beforeSend&&(!1===l.beforeSend.call(M,p,l)||2===N))return p.abort();y="abort";for(g in{success:1,error:1,complete:1})p[g](l[g]);if(r=X(me,l,e,p)){if(p.readyState=1,u&&h.trigger("ajaxSend",[p,l]),2===N)return p;l.async&&l.timeout>0&&(c=n.setTimeout(function(){p.abort("timeout")},l.timeout));try{N=1,r.send(E,i)}catch(t){if(!(N<2))throw t;i(-1,t)}}else i(-1,"No Transport");return p},getJSON:function(t,e,n){return ct.get(t,e,n,"json")},getScript:function(t,e){return ct.get(t,void 0,e,"script")}}),ct.each(["get","post"],function(t,e){ct[e]=function(t,n,i,r){return ct.isFunction(n)&&(r=r||i,i=n,n=void 0),ct.ajax(ct.extend({url:t,type:e,dataType:r,data:n,success:i},ct.isPlainObject(t)&&t))}}),ct._evalUrl=function(t){return ct.ajax({url:t,type:"GET",dataType:"script",async:!1,global:!1,throws:!0})},ct.fn.extend({wrapAll:function(t){var e;return ct.isFunction(t)?this.each(function(e){ct(this).wrapAll(t.call(this,e))}):(this[0]&&(e=ct(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t}).append(this)),this)},wrapInner:function(t){return ct.isFunction(t)?this.each(function(e){ct(this).wrapInner(t.call(this,e))}):this.each(function(){var e=ct(this),n=e.contents();n.length?n.wrapAll(t):e.append(t)})},wrap:function(t){var e=ct.isFunction(t);return this.each(function(n){ct(this).wrapAll(e?t.call(this,n):t)})},unwrap:function(){return this.parent().each(function(){ct.nodeName(this,"body")||ct(this).replaceWith(this.childNodes)}).end()}}),ct.expr.filters.hidden=function(t){return!ct.expr.filters.visible(t)},ct.expr.filters.visible=function(t){return t.offsetWidth>0||t.offsetHeight>0||t.getClientRects().length>0};var je=/%20/g,Le=/\[\]$/,Se=/\r?\n/g,Ye=/^(?:submit|button|image|reset|file)$/i,be=/^(?:input|select|textarea|keygen)/i;ct.param=function(t,e){var n,i=[],r=function(t,e){e=ct.isFunction(e)?e():null==e?"":e,i[i.length]=encodeURIComponent(t)+"="+encodeURIComponent(e)};if(void 0===e&&(e=ct.ajaxSettings&&ct.ajaxSettings.traditional),ct.isArray(t)||t.jquery&&!ct.isPlainObject(t))ct.each(t,function(){r(this.name,this.value)});else for(n in t)Z(n,t[n],e,r);return i.join("&").replace(je,"+")},ct.fn.extend({serialize:function(){return ct.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var t=ct.prop(this,"elements");return t?ct.makeArray(t):this}).filter(function(){var t=this.type;return this.name&&!ct(this).is(":disabled")&&be.test(this.nodeName)&&!Ye.test(t)&&(this.checked||!bt.test(t))}).map(function(t,e){var n=ct(this).val();return null==n?null:ct.isArray(n)?ct.map(n,function(t){return{name:e.name,value:t.replace(Se,"\r\n")}}):{name:e.name,value:n.replace(Se,"\r\n")}}).get()}}),ct.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(t){}};var Oe={0:200,1223:204},ze=ct.ajaxSettings.xhr();at.cors=!!ze&&"withCredentials"in ze,at.ajax=ze=!!ze,ct.ajaxTransport(function(t){var e,i;if(at.cors||ze&&!t.crossDomain)return{send:function(r,A){var o,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(o in t.xhrFields)a[o]=t.xhrFields[o];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||r["X-Requested-With"]||(r["X-Requested-With"]="XMLHttpRequest");for(o in r)a.setRequestHeader(o,r[o]);e=function(t){return function(){e&&(e=i=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,"abort"===t?a.abort():"error"===t?"number"!=typeof a.status?A(0,"error"):A(a.status,a.statusText):A(Oe[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=e(),i=a.onerror=e("error"),void 0!==a.onabort?a.onabort=i:a.onreadystatechange=function(){4===a.readyState&&n.setTimeout(function(){e&&i()})},e=e("abort");try{a.send(t.hasContent&&t.data||null)}catch(t){if(e)throw t}},abort:function(){e&&e()}}}),ct.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(t){return ct.globalEval(t),t}}}),ct.ajaxPrefilter("script",function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type="GET")}),ct.ajaxTransport("script",function(t){if(t.crossDomain){var e,n;return{send:function(i,r){e=ct("<script>").prop({charset:t.scriptCharset,src:t.url}).on("load error",n=function(t){e.remove(),n=null,t&&r("error"===t.type?404:200,t.type)}),$.head.appendChild(e[0])},abort:function(){n&&n()}}}});var Ue=[],Fe=/(=)\?(?=&|$)|\?\?/;ct.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var t=Ue.pop()||ct.expando+"_"+Te++;return this[t]=!0,t}}),ct.ajaxPrefilter("json jsonp",function(t,e,i){var r,A,o,a=!1!==t.jsonp&&(Fe.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Fe.test(t.data)&&"data");if(a||"jsonp"===t.dataTypes[0])return r=t.jsonpCallback=ct.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(Fe,"$1"+r):!1!==t.jsonp&&(t.url+=(Ne.test(t.url)?"&":"?")+t.jsonp+"="+r),t.converters["script json"]=function(){return o||ct.error(r+" was not called"),o[0]},t.dataTypes[0]="json",A=n[r],n[r]=function(){o=arguments},i.always(function(){void 0===A?ct(n).removeProp(r):n[r]=A,t[r]&&(t.jsonpCallback=e.jsonpCallback,Ue.push(r)),o&&ct.isFunction(A)&&A(o[0]),o=A=void 0}),"script"}),ct.parseHTML=function(t,e,n){if(!t||"string"!=typeof t)return null;"boolean"==typeof e&&(n=e,e=!1),e=e||$;var i=It.exec(t),r=!n&&[];return i?[e.createElement(i[1])]:(i=f([t],e,r),r&&r.length&&ct(r).remove(),ct.merge([],i.childNodes))};var ke=ct.fn.load;ct.fn.load=function(t,e,n){if("string"!=typeof t&&ke)return ke.apply(this,arguments);var i,r,A,o=this,a=t.indexOf(" ");return a>-1&&(i=ct.trim(t.slice(a)),t=t.slice(0,a)),ct.isFunction(e)?(n=e,e=void 0):e&&"object"==typeof e&&(r="POST"),o.length>0&&ct.ajax({url:t,type:r||"GET",dataType:"html",data:e}).done(function(t){A=arguments,o.html(i?ct("<div>").append(ct.parseHTML(t)).find(i):t)}).always(n&&function(t,e){o.each(function(){n.apply(this,A||[t.responseText,e,t])})}),this},ct.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(t,e){ct.fn[e]=function(t){return this.on(e,t)}}),ct.expr.filters.animated=function(t){return ct.grep(ct.timers,function(e){return t===e.elem}).length},ct.offset={setOffset:function(t,e,n){var i,r,A,o,a,c,s,u=ct.css(t,"position"),g=ct(t),l={};"static"===u&&(t.style.position="relative"),a=g.offset(),A=ct.css(t,"top"),c=ct.css(t,"left"),s=("absolute"===u||"fixed"===u)&&(A+c).indexOf("auto")>-1,s?(i=g.position(),o=i.top,r=i.left):(o=parseFloat(A)||0,r=parseFloat(c)||0),ct.isFunction(e)&&(e=e.call(t,n,ct.extend({},a))),null!=e.top&&(l.top=e.top-a.top+o),null!=e.left&&(l.left=e.left-a.left+r),"using"in e?e.using.call(t,l):g.css(l)}},ct.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ct.offset.setOffset(this,t,e)});var e,n,i=this[0],r={top:0,left:0},A=i&&i.ownerDocument;if(A)return e=A.documentElement,ct.contains(e,i)?(r=i.getBoundingClientRect(),n=K(A),{top:r.top+n.pageYOffset-e.clientTop,left:r.left+n.pageXOffset-e.clientLeft}):r},position:function(){if(this[0]){var t,e,n=this[0],i={top:0,left:0};return"fixed"===ct.css(n,"position")?e=n.getBoundingClientRect():(t=this.offsetParent(),e=this.offset(),ct.nodeName(t[0],"html")||(i=t.offset()),i.top+=ct.css(t[0],"borderTopWidth",!0),i.left+=ct.css(t[0],"borderLeftWidth",!0)),{top:e.top-i.top-ct.css(n,"marginTop",!0),left:e.left-i.left-ct.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent;t&&"static"===ct.css(t,"position");)t=t.offsetParent;return t||te})}}),ct.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,e){var n="pageYOffset"===e;ct.fn[t]=function(i){return xt(this,function(t,i,r){var A=K(t);if(void 0===r)return A?A[e]:t[i];A?A.scrollTo(n?A.pageXOffset:r,n?r:A.pageYOffset):t[i]=r},t,i,arguments.length)}}),ct.each(["top","left"],function(t,e){ct.cssHooks[e]=j(at.pixelPosition,function(t,n){if(n)return n=v(t,e),Kt.test(n)?ct(t).position()[e]+"px":n})}),ct.each({Height:"height",Width:"width"},function(t,e){ct.each({padding:"inner"+t,content:e,"":"outer"+t},function(n,i){ct.fn[i]=function(i,r){var A=arguments.length&&(n||"boolean"!=typeof i),o=n||(!0===i||!0===r?"margin":"border");return xt(this,function(e,n,i){var r;return ct.isWindow(e)?e.document.documentElement["client"+t]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+t],r["scroll"+t],e.body["offset"+t],r["offset"+t],r["client"+t])):void 0===i?ct.css(e,n,o):ct.style(e,n,i,o)},e,A?i:void 0,A,null)}})}),ct.fn.extend({bind:function(t,e,n){return this.on(t,null,e,n)},unbind:function(t,e){return this.off(t,null,e)},delegate:function(t,e,n,i){return this.on(e,t,n,i)},undelegate:function(t,e,n){return 1===arguments.length?this.off(t,"**"):this.off(e,t||"**",n)},size:function(){return this.length}}),ct.fn.andSelf=ct.fn.addBack,i=[],void 0!==(r=function(){return ct}.apply(e,i))&&(t.exports=r);var Re=n.jQuery,Ge=n.$;return ct.noConflict=function(t){return n.$===ct&&(n.$=Ge),t&&n.jQuery===ct&&(n.jQuery=Re),ct},A||(n.jQuery=n.$=ct),ct})},function(t,e,n){var i=n(1515);"string"==typeof i&&(i=[[t.i,i,""]]);var r={};r.transform=void 0;n(90)(i,r);i.locals&&(t.exports=i.locals)},function(t,e,n){e=t.exports=n(89)(void 0),e.push([t.i,".upset-body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.upset-body a:link,.upset-body a:visited{color:#000}.upset-body .upset-body h1{font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.upset-body .header-label-left{margin-right:5px;float:left;color:#fff}.upset-body #data-loading-indicator{padding-left:5px;padding-right:5px}.upset-body .header,.upset-body .header-right,.upset-body .header-right-clickable{color:#fff;font-weight:700}.upset-body .header-right-clickable a:link,.upset-body .header-right-clickable a:visited,.upset-body .header-right a:link,.upset-body .header-right a:visited,.upset-body .header a:link,.upset-body .header a:visited{color:#fff;text-decoration:none}.upset-body .header-right,.upset-body .header-right-clickable{float:right;padding-right:10px}.upset-body .header-right-clickable{cursor:pointer}.upset-body #header-ds-selector{float:right;color:#000}.upset-body .button-panel{display:inline-block;margin-left:10px;margin-right:5px}.upset-body .header-container{background:#000;color:#666}.upset-body .header-container,.upset-body .menu-container{padding:5px 10px;border-bottom:2px solid #999;display:block;height:20px}.upset-body .menu-container{background:#eee;text-align:right;font-size:.8em;font-style:italic}.upset-body .padded-container{padding:20px 20px 10px}.upset-body .ui-container,.upset-body body,.upset-body html{height:100%}.upset-body .ui-container{display:table;width:100%;margin-top:-30px;padding-top:30px;min-height:100%;height:auto!important;height:100%;-moz-box-sizing:border-box;box-sizing:border-box}.upset-body .ui-fader{position:absolute;background-color:#fff;width:100%;height:100%;z-index:90}.upset-body .ui-overlay-loading{display:block;position:absolute;left:50%;top:50%;padding:25px;z-index:100;color:#fff}.upset-body .ui-header{height:30px}.upset-body .ui-menu{height:50px}.upset-body .ui-row{height:100%;display:table-row}.upset-body .ui-column{display:table-cell;vertical-align:top;padding-top:10px;padding-left:10px;padding-right:10px}.upset-body .ui-column.ui-column-15{width:15%;min-width:180px}.upset-body .ui-column.ui-column-25{width:25%}.upset-body .ui-column.ui-column-50{width:50%}.upset-body .ui-column.ui-column-60{width:60%}.upset-body .ui-column.ui-column-75{background:#ff0;width:75%;min-width:75%}.upset-body .ui-column.ui-column-100{width:100%}.upset-body .ui-column.ui-column-33{background:pink;width:33%}.upset-body .ui-column.ui-column-66{background:lightpurple;width:66%;min-width:66%}.upset-body .ui-column.ui-layout-east{border-left:1px solid #999}.upset-body #dataset-info-viewer,.upset-body .configTable{padding-bottom:10px;font-size:12px;display:inline-block;float:left;clear:both}.upset-body .configHeader{font-weight:700;padding-bottom:.2em}.upset-body .configH1{font-weight:700}.upset-body #dataset-info-viewer{color:#fff;background-color:#636363;padding:.4em}.upset-body #dataset-info-viewer a:link,.upset-body #dataset-info-viewer a:visited{color:#fff}",""])},function(t,e,n){var i=n(1517);"string"==typeof i&&(i=[[t.i,i,""]]);var r={};r.transform=void 0;n(90)(i,r);i.locals&&(t.exports=i.locals)},function(t,e,n){e=t.exports=n(89)(void 0),e.push([t.i,".upset-body .axis line,.upset-body .axis path{fill:none;stroke:gray;shape-rendering:crispEdges}.upset-body .axis text{font-size:.6em}.upset-body .setSize{fill:#636363;stroke:#fff;stroke-width:1px}.upset-body .unusedSetSize{fill:#d3d3d3;stroke:#fff;stroke-width:1px}.upset-body .setSizeBackground,.upset-body .unusedSetSizeBackground{fill:#f0f0f0;stroke:#fff;stroke-width:1px}.upset-body .setSizeBackground:hover{stroke:#fff;shape-rendering:crispEdges}.upset-body .subSetSize.row-type-subset{fill:#737373}.upset-body .subSetSize.row-type-group{fill:#535353}.upset-body .connection,.upset-body .setLabel{font:12px sans-serif;cursor:pointer;font-weight:300}.upset-body .setRow .setLabel{font-weight:500}.upset-body .setLabel.small{dominant-baseline:middle;font:9px sans-serif;cursor:s-resize}.upset-body .configTable{float:left}.upset-body .groupLabel{font:sans-serif;text-anchor:left;cursor:s-resize;font-size:10pt;font-weight:200}.upset-body .groupLabel.small{font:sans-serif;text-anchor:left;cursor:s-resize;font-size:8pt}.upset-body .intersectionSizeLabel{font:sans-serif;text-anchor:left;font-size:8pt;dominant-baseline:middle}.upset-body .axis .columnLabel,.upset-body .columnLabel{dominant-baseline:central;font:13px sans-serif;text-anchor:middle;cursor:s-resize}.upset-body .addButton{dominant-baseline:central;font:13px sans-serif;text-anchor:middle;cursor:row-resize}.upset-body .groupBackGround{stroke:#555;stroke-width:1px;fill:#ccc;opacity:.3}.upset-body .groupBackGround.secondLevel{stroke:#aaa}.upset-body .labelBackground{fill:#d3d3d3}.upset-body .labelBackground:hover{fill:hsla(0,0%,57%,.88);cursor:s-resize}.upset-body .setBackground{fill:#d3d3d3;stroke-width:1;fill:#fff}.upset-body .disproportionality.positive{fill:#74add1}.upset-body .disproportionality.negative{fill:#f46d43}.upset-body .connection{stroke:#fff;stroke-width:1;fill:#f0f0f0}.upset-body #setSelect{float:left;padding-right:10px}.upset-body td{padding-left:2px;padding-right:2px}.upset-body tr:nth-child(2n){background-color:#eee}.upset-body th{text-align:left;padding-left:2px;padding-right:2px;cursor:s-resize}.upset-body th.attribute-header{background-color:#d3d3d3}.upset-body th.attribute-header.selected{background-color:#ff0}.upset-body #selection-tabs{border-bottom:1px dotted #bbb;padding-bottom:3px;margin-bottom:3px}.upset-body .selection-tab-list{display:inline-block;min-height:30px;margin-left:5px}.upset-body .selection-tab{cursor:pointer;background-color:#eee;border-radius:5px;padding:4px;margin-right:4px}.upset-body .selection-tab.active{background-color:#ccc}.upset-body .selection-button{cursor:pointer;background-color:#eee;border-radius:5px;padding:4px;margin-right:4px;display:inline-block}.upset-body .selection-button:hover{background-color:#ccc}.upset-body .filter-button{cursor:default;color:#2b8cbe;fill:#2b8cbe}.upset-body .filter-button:hover{color:#00008b}.upset-body #venn-diagram-viewer{display:none}.upset-body .venn-zero-set-area{fill:#eee}.upset-body .venn-one-set-area{fill:#ccc}.upset-body .venn-two-set-area{fill:#aaa}.upset-body .venn-three-set-area{fill:#999}.upset-body .venn-zero-set-area-active{fill:#faa}.upset-body .venn-one-set-area-active{fill:#f99}.upset-body .venn-two-set-area-active{fill:#f66}.upset-body .venn-three-set-area-active{fill:#f33}.upset-body .logicPanelCircle{stroke-width:2pt}.upset-body .logicPanelHeaderCircle{stroke-width:1pt}.upset-body #dataset-selector{float:right}.upset-body .ui-button{color:#666}.upset-body .ui-button:hover{color:#136382;text-shadow:0 0 10px #3fa0c7}.upset-body .fixed-y-container{overflow-y:auto}.upset-body #set-vis-container{min-height:300px}.upset-body #item-vis-container{min-height:200px;max-height:400px}.upset-body #item-table-container{min-height:400px;padding-bottom:10px}.upset-body #item-table{border-bottom:1px dotted #bbb;padding-bottom:2px}.upset-body .item-table-header{padding:3px 5px;font-size:10pt;font-weight:700}.upset-body *{margin:0;padding:0}.upset-body .level-1-button{cursor:default;display:inline-block;font-weight:700;background-color:#ccc;color:#444;border-radius:10px;margin:1px 3px;padding:1px 8px}.upset-body .level-1-button:hover{background-color:#aaa;color:#444}.upset-body .level-2-button{cursor:default;display:inline-block;color:#444;margin:1px 2px;padding:1px 2px}.upset-body .level-2-button:hover{color:#111}.upset-body .info-message{display:block;background-color:#eee;color:#444;margin-top:2px;margin-bottom:2px;padding:3px;font-style:italic}.upset-body .element-viewer-header,.upset-body .element-viewer-title{display:inline}.upset-body .element-viewer-editor-button{display:inline-block}.upset-body .element-viewer-active{margin-top:5px;border-bottom:1px dotted #bbb;padding-bottom:3px;margin-bottom:5px}.upset-body #element-viewer-selector{display:inline;float:none}.upset-body #filters-container{display:block}.upset-body .filter-header,.upset-body .filter-title{display:inline}.upset-body .filter-editor-button{display:inline-block}.upset-body .filter-active{background-color:#fff;border:1px dashed #d3d3d3;padding:5px;margin-top:5px;margin-bottom:5px}.upset-body .filter-parameter-viewer{font-size:10pt}.upset-body .filter-viewer:not(:first-child){border-top:1px dotted #bbb}.upset-body .filter-viewer{padding-bottom:3px;margin-bottom:1px}.upset-body #filter-selector{display:inline;margin-left:5px}.upset-body #filters-list{border-bottom:1px dotted #bbb;padding-bottom:2px}.upset-body .filter-editor:not(:first-child){border-top:1px dotted #bbb}.upset-body .filter-editor{padding-bottom:3px;margin-bottom:1px}.upset-body #filters-controls{padding-top:5px}.upset-body .element-view-header{border-bottom:1px solid #636363;margin-top:12px;margin-bottom:3px;padding-left:5px}.upset-body .element-view-title{display:inline;background-color:#636363;color:#fff;padding:2px 5px 1px;border-top-left-radius:5px;border-top-right-radius:5px;margin-bottom:0;font-weight:700;font-size:10pt}.upset-body .element-view-subtitle{display:inline;color:#636363;padding:1px 3px;margin-bottom:0;font-weight:700;font-size:10pt}.upset-body .element-view-controls{min-height:25px}.upset-body .drawBrush,.upset-body path.connectionArea{fill:gray;opacity:.2;stroke:none}.upset-body .sliderLabel rect{opacity:.5;fill:#a6bddb}.upset-body .sliderLabel line{opacity:.5;stroke:#a6bddb;stroke-width:2}.upset-body .sliderLabel text{opacity:1;font:10px sans-serif;fill:#000;text-anchor:middle}.upset-body .groupLabelText{cursor:pointer}.upset-body .collapseIcon,.upset-body .groupDeleteIcon{font-family:FontAwesome;font-size:12px;cursor:pointer;text-anchor:middle}.upset-body #moveHandle{cursor:pointer;position:relative;left:-13px;background-color:#ddd;float:left;cursor:ew-resize;border-left:1px solid #999;border-right:1px solid #999;width:3px;height:25px}.upset-body .boxPlot{stroke-width:1px;stroke:#000;fill:#d3d3d3;shape-rendering:crispEdges}.upset-body .logicButton{font-family:FontAwesome;font-size:12px;cursor:pointer;text-anchor:middle;dominant-baseline:central}.upset-body .gSeparatorLine{stroke:#a9a9a9;stroke-width:3}.upset-body #bodyVis,.upset-body #headerVis{display:block;overflow-y:auto;overflow-x:hidden}.upset-body .matrixTableContainer{display:block;overflow-y:hidden;overflow-x:scroll}.upset-body .setSelectionArea,.upset-body .setSelectionButton{fill:#d3d3d3;stroke:none}.upset-body .setSelectionButton:hover{fill:#a9a9a9}.upset-body .pagination,.upset-body .setMenuExtra{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;cursor:pointer;font-weight:300}.upset-body .setSelectionButtonText{fill:#444;font-weight:700}.upset-body .setMenuExtraAwesome{font-family:FontAwesome}.upset-body .setSelectionLabelAwesome{font-family:FontAwesome;font-size:14px;fill:#d3d3d3;cursor:pointer;font-weight:300}.upset-body .setSelectionLabelAwesome:hover{fill:#a9a9a9}",""])},function(t,e,n){var i=n(1519);"string"==typeof i&&(i=[[t.i,i,""]]);var r={};r.transform=void 0;n(90)(i,r);i.locals&&(t.exports=i.locals)},function(t,e,n){e=t.exports=n(89)(void 0),e.push([t.i,".upset-body .subset-state-toggle-button{cursor:default}.upset-body .subset-state-toggle-button .fw{color:#636363}.upset-body .subset-state-toggle-button:hover .fw{color:#000}",""])},function(t,e){t.exports='<div class=upset-body> <div class=ui-header> <div class=header-container> <span class=header>UpSet - Visualizing Intersecting Sets</span> <span id=data-loading-indicator> <i class="fa fa-refresh fa-spin"></i> </span> <span class=header-right-clickable><a href=https://github.com/hms-dbmi/UpSetR/ >UpSet for R</a></span> <span class=header-right-clickable><a href=http://caleydo.org/tools/upset/ >About UpSet</a></span> <span id=load-data-header class=header-right-clickable>Load Data</span> <span id=dataset-selector class=header-right></span> </div> </div> <div class=ui-menu> <div class=menu-container> <span>Provide a <a href=https://github.com/VCG/upset/wiki/Data-Import>JSON file</a> defining your data: <input id=custom-dataset-url type=text style=width:500px value=https://dl.dropboxusercontent.com/u/36962787/UpSet/movies.json /> <input id=custom-dataset-submit type=submit value=Submit> | <a href=https://github.com/VCG/upset/wiki/ >Learn how to create the JSON file</a></span> </div> </div> <div class=ui-fader> </div> <div class=ui-container> <div class=ui-row> <div class="ui-column ui-layout-west" style=width:120px> <div id=groupConfig class=configTable> <div class=configHeader>First, aggregate by</div> <div id=firstLevelGrouping></div> <div id=firstLevelMinCardinality style=padding-top:5px hidden>overlap degree:<br/> <input id=firstLevelMinCardinalityInput type=number min=0 max=12 value=0> </div> </div> <div id=groupL2Config class=configTable> <div class=configHeader>Then, aggregate by</div> <div id=secondLevelGrouping></div> <div id=secondLevelMinCardinality style=padding-top:5px hidden>overlap degree:<br/> <input id=secondLevelMinCardinalityInput type=number min=0 max=12 value=0> </div> </div> <div id=sortConfig class=configTable> <div class=configHeader> Sort by</div> <div><input type=radio id=sortNrSetsInIntersection name=sort checked=true> <label for=sortNrSetsInIntersection>Degree</label></div> <div><input type=radio id=sortIntersectionSize name=sort><label for=sortIntersectionSize> Cardinality</label></div> <div><input type=radio id=sortRelevanceMeasure name=sort> <label for=sortRelevanceMeasure> Deviation</label></div> </div> <div id=options class=configTable> <div class=configHeader>Aggregates</div> <div><span class="option level-1-button" id=collapseAll>Collapse All</span></div> <div><span class="option level-1-button" id=expandAll>Expand All</span></div> </div> <div id=rowSize class=configTable> <div class=configHeader>Row Height</div> <div> <select id=rowSizeValue> <option value=20>Large</option> <option value=15>Medium</option> <option value=12>Small</option> </select> </div> </div> <div id=intersectionSize class=configTable> <div class=configHeader>Data</div> <div>Min Degree:<br/> <input id=minCardinality type=number min=0 max=12 value=0> </div> <div>Max Degree:<br/><input id=maxCardinality type=number min=0 max=12></div> <div><input type=checkbox id=hideEmpties checked=true><label for=hideEmpties>Hide Empty Intersections</label></div> </div> <div id=venn-diagram-viewer class=configTable> <div class=configHeader>Venn Diagram</div> <div id=venn-vis></div> </div> <div id=dataset-info-viewer> <div class=configH1>Dataset Information</div> <div id=dataset-info-content>Was</div> </div> </div> <div class="ui-column ui-layout-center"> <div id=set-vis-container data-height-ratio=1 class=fixed-y-container> <div style=display:table> <div style=display:table-row> <div style=display:table-cell> <div id=headerVis> </div> </div> </div> <div style=display:table-row> <div style=display:table-cell> <div id=bodyVis> </div> </div> </div> </div> </div> </div> <div class="ui-column ui-layout-east"> <span id=moveHandle></span> <div class=element-view-header> <div class=element-view-title> Element Visualizations </div> </div> <div id=element-viewers-container class=element-view-container> <div id=element-viewers-visualization></div> <div id=element-viewers-controls class=element-view-controls></div> </div> <div class=element-view-header> <div class=element-view-title> Element Queries </div> </div> <div id=selection-vis-container class=element-view-container> <div id=selection-tabs></div> <div id=selection-controls class=element-view-controls></div> </div> <div class=element-view-header> <div class=element-view-subtitle> Query Filters </div> </div> <div id=filters-container class=element-view-container> <div id=filters-list></div> <div id=filters-controls class=element-view-controls></div> </div> <div class=element-view-header> <div class=element-view-subtitle> Query Results </div> </div> <div id=item-table-container data-height-ratio=1 class="fixed-y-container element-view-container"> <div id=item-table></div> </div> </div> </div> </div> </div> '},function(t,e,n){"use strict";var i=n(30),r=function(t){return t&&t.__esModule?t:{default:t}}(i),A=n(1522),o=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(A);Object.entries(o).forEach(function(t){return r.default.register(t[1],t[0])})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.ScatterPlotMatrix=e.ScatterPlot=e.LineChart=e.Histogram=e.GanttChart=e.BoxPlot=e.BarChart=void 0;var r=n(1523),A=i(r),o=n(1524),a=i(o),c=n(1525),s=i(c),u=n(1526),g=i(u),l=n(1527),M=i(l),h=n(1528),d=i(h),f=n(1529),I=i(f);e.BarChart=A.default,e.BoxPlot=a.default,e.GanttChart=s.default,e.Histogram=g.default,e.LineChart=M.default,e.ScatterPlot=d.default,e.ScatterPlotMatrix=I.default},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(13),s=i(c),u=n(58),g=i(u),l=function(t){function e(){return r(this,e),A(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),a(e,[{key:"generateSpec",value:function(){var t={$schema:"https://vega.github.io/schema/vega-lite/v2.0.json",description:"A bar chart built by Candela.",data:{values:this.options.data||[]},width:this.getWidth(200),height:this.getHeight(200),mark:"bar",encoding:{}};this.options.x&&this.options.y&&(t.selection={grid:{type:"interval",bind:"scales",encodings:["y"]}}),t.encoding.y={aggregate:this.options.aggregate||"sum"},this.options.y&&(t.encoding.y.field=this.options.y,t.encoding.y.type=this.options.yType||"quantitative");for(var e=["x","color"],n=0;n<e.length;n++){var i=e[n];this.options[i]&&(t.encoding[i]={field:this.options[i],type:this.options[i+"Type"]||"nominal"})}return t}}],[{key:"options",get:function(){return[{id:"data",name:"Data table",type:"table"},{id:"x",name:"X",type:"string",domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}},{id:"xType",name:" ",type:"string",default:"nominal",domain:["nominal","quantitative","temporal","ordinal"]},{id:"y",name:"Y",type:"string",domain:{mode:"field",from:"data",fieldTypes:["date","number","integer","boolean"]}},{id:"yType",name:" ",type:"string",default:"quantitative",domain:["quantitative","temporal","nominal","ordinal"]},{id:"aggregate",name:"Aggregate",type:"string",optional:!0,default:"sum",domain:["sum","count","mean","median","min","max"]},{id:"color",name:"Color",type:"string",optional:!0,domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}},{id:"colorType",name:" ",type:"string",default:"nominal",domain:["nominal","quantitative","temporal","ordinal"]}]}}]),e}((0,g.default)(s.default));e.default=l},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(13),s=i(c),u=n(58),g=i(u),l=function(t){function e(){return r(this,e),A(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),a(e,[{key:"generateSpec",value:function(){var t=this,e=this.options.data||[],n=this.options.fields||[],i=[];e.forEach(function(e){n.forEach(function(n){var r={};r.__field=n,r.__value=e[n],r[t.options.color]=e[t.options.color],r[t.options.x]=e[t.options.x],i.push(r)})});var r={$schema:"https://vega.github.io/schema/vega-lite/v2.0.json",description:"A bar chart built by Candela.",data:{values:i},width:this.getWidth(200),height:this.getHeight(200),mark:"box-plot",encoding:{}};return r.encoding.y={field:"__value",type:"quantitative",axis:{title:""}},r.encoding.column={field:"__field",type:"nominal",header:{title:""}},r.encoding.x={field:this.options.x||"",type:this.options.xType||"nominal"},r.encoding.color={field:this.options.color||"",type:this.options.colorType||"nominal"},r}}],[{key:"options",get:function(){return[{id:"data",name:"Data table",type:"table"},{id:"fields",name:"Fields",type:"string_list",domain:{mode:"field",from:"data",fieldTypes:["date","number","integer","boolean"]}},{id:"x",name:"X",type:"string",domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}},{id:"xType",name:" ",type:"string",default:"nominal",domain:["nominal","quantitative","temporal","ordinal"]},{id:"color",name:"Color",type:"string",optional:!0,domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}},{id:"colorType",name:" ",type:"string",default:"nominal",domain:["nominal","quantitative","temporal","ordinal"]}]}}]),e}((0,g.default)(s.default));e.default=l},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(13),s=i(c),u=n(58),g=i(u),l=function(t){function e(){return r(this,e),A(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),a(e,[{key:"generateSpec",value:function(){return{$schema:"https://vega.github.io/schema/vega-lite/v2.0.json",description:"A Gantt chart built by Candela.",data:{values:this.options.data||[]},width:this.getWidth(200),height:this.getHeight(200),mark:"rect",encoding:{x:{field:this.options.start||"",type:this.options.type||"quantitative",axis:{grid:!1,tickCount:this.options.tickCount||5,title:this.options.axisTitle||""}},x2:{field:this.options.end||"",type:this.options.type||"quantitative"},y:{field:this.options.label||"",type:"nominal",axis:{grid:!0,title:""},sort:{field:"_id"}},color:{field:this.options.level||"",legend:null,type:"nominal",scale:{range:["#1f77b4","#aec7e8"]}}}}}}],[{key:"options",get:function(){return[{id:"data",name:"Data table",type:"table"},{id:"label",name:"Label",type:"string",domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}},{id:"level",name:"Level",type:"string",domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}},{id:"start",name:"Start",type:"string",domain:{mode:"field",from:"data",fieldTypes:["date","number","integer","boolean"]}},{id:"end",name:"End",type:"string",domain:{mode:"field",from:"data",fieldTypes:["date","number","integer","boolean"]}},{id:"type",name:" ",type:"string",default:"quantitative",domain:["nominal","quantitative","temporal","ordinal"]},{id:"tickCount",name:"Tick count",type:"number",default:5},{id:"axisTitle",name:"Axis title",type:"string",default:""}]}}]),e}((0,g.default)(s.default));e.default=l},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(13),s=i(c),u=n(58),g=i(u),l=function(t){function e(){return r(this,e),A(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),a(e,[{key:"generateSpec",value:function(){var t={$schema:"https://vega.github.io/schema/vega-lite/v2.0.json",description:"A histogram built by Candela.",data:{values:this.options.data||[]},width:this.getWidth(200),height:this.getHeight(200),mark:"bar",encoding:{}};return this.options.x&&(t.selection={grid:{type:"interval",bind:"scales",encodings:["x"]}}),this.options.x&&(t.encoding.x={field:this.options.x,type:this.options.xType||"quantitative",bin:{maxbins:this.options.maxBins||10}}),t.encoding.y={aggregate:this.options.aggregate||"count"},this.options.y&&(t.encoding.y.field=this.options.y,t.encoding.y.type=this.options.yType||"quantitative"),this.options.color&&(t.encoding.color={field:this.options.color,type:this.options.colorType||"nominal"}),t}}],[{key:"options",get:function(){return[{id:"data",name:"Data table",type:"table"},{id:"x",name:"X",type:"string",domain:{mode:"field",from:"data",fieldTypes:["date","number","integer","boolean"]}},{id:"xType",name:" ",type:"string",default:"quantitative",domain:["quantitative","temporal","nominal","ordinal"]},{id:"maxBins",name:"Maximum number of bins",type:"number",default:10},{id:"y",name:"Y",type:"string",optional:!0,domain:{mode:"field",from:"data",fieldTypes:["date","number","integer","boolean"]}},{id:"yType",name:" ",type:"string",default:"quantitative",domain:["quantitative","temporal","nominal","ordinal"]},{id:"aggregate",name:"Aggregate",type:"string",optional:!0,domain:["count","mean","sum","median","min","max"]},{id:"color",name:"Color",type:"string",optional:!0,domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}},{id:"colorType",name:" ",type:"string",default:"nominal",domain:["nominal","quantitative","temporal","ordinal"]}]}}]),e}((0,g.default)(s.default));e.default=l},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(13),s=i(c),u=n(58),g=i(u),l=function(t){function e(){return r(this,e),A(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),a(e,[{key:"generateSpec",value:function(){var t={$schema:"https://vega.github.io/schema/vega-lite/v2.0.json",description:"A line chart built by Candela.",data:{values:this.options.data||[]},width:this.getWidth(200),height:this.getHeight(200),mark:"line",encoding:{}};if(this.options.x&&this.options.y&&(t.selection={grid:{type:"interval",bind:"scales"}}),this.options.x&&(t.encoding.x={field:this.options.x,type:this.options.xType||"quantitative"},this.options.xScale&&(t.encoding.x.scale=this.options.xScale)),this.options.y&&(t.encoding.y={field:this.options.y,type:this.options.yType||"quantitative"},this.options.yScale&&(t.encoding.y.scale=this.options.yScale)),this.options.series){var e={field:this.options.series,type:this.options.seriesType||"nominal"};void 0===this.options.colorSeries||this.options.colorSeries?t.encoding.color=e:t.encoding.detail=e}return this.options.showPoints&&(t.config={overlay:{line:!0}}),t}}],[{key:"options",get:function(){return[{id:"data",name:"Data table",type:"table"},{id:"x",name:"X",type:"string",domain:{mode:"field",from:"data",fieldTypes:["date","number","integer","boolean"]}},{id:"xType",name:" ",type:"string",optional:!0,default:"quantitative",domain:["quantitative","nominal","temporal","ordinal"]},{id:"y",name:"Y",type:"string",domain:{mode:"field",from:"data",fieldTypes:["date","number","integer","boolean"]}},{id:"yType",name:" ",type:"string",optional:!0,default:"quantitative",domain:["quantitative","nominal","temporal","ordinal"]},{id:"series",name:"Series",type:"string",domain:{mode:"field",from:"data",fieldTypes:["date","number","integer","boolean","string"]}},{id:"seriesType",name:" ",type:"string",optional:!0,default:"nominal",domain:["quantitative","nominal","temporal","ordinal"]},{id:"colorSeries",name:"Color series",type:"boolean",optional:!0,default:!0},{id:"showPoints",name:"Show points",type:"boolean",optional:!0,default:!1}]}}]),e}((0,g.default)(s.default));e.default=l},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(13),s=i(c),u=n(58),g=i(u),l=function(t){function e(){return r(this,e),A(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),a(e,[{key:"generateSpec",value:function(){var t={$schema:"https://vega.github.io/schema/vega-lite/v2.0.json",description:"A generic Vega-lite chart built by Candela.",data:{values:this.options.data||[]},width:this.getWidth(200),height:this.getHeight(200),mark:"point",config:{mark:{filled:void 0===this.options.filled||this.options.filled}},encoding:{}};this.options.x&&this.options.y&&(t.selection={grid:{type:"interval",bind:"scales"}});for(var e=["x","y","size","color","shape"],n=0;n<e.length;n++){var i=e[n];if(this.options[i]){var r=["x","y","size"].indexOf(i)>=0?"quantitative":"nominal";t.encoding[i]={field:this.options[i],type:this.options[i+"Type"]||r}}}return this.options.xScale&&(t.encoding.x.scale=this.options.xScale),this.options.yScale&&(t.encoding.y.scale=this.options.yScale),this.options.xAxis&&(t.encoding.x.axis=this.options.xAxis),this.options.yAxis&&(t.encoding.y.axis=this.options.yAxis),t}}],[{key:"options",get:function(){return[{id:"data",name:"Data table",type:"table"},{id:"x",name:"X",type:"string",domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}},{id:"xType",name:" ",type:"string",optional:!0,default:"quantitative",domain:["nominal","quantitative","temporal","ordinal"]},{id:"y",name:"Y",type:"string",domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}},{id:"yType",name:" ",type:"string",optional:!0,default:"quantitative",domain:["nominal","quantitative","temporal","ordinal"]},{id:"color",name:"Color",type:"string",optional:!0,domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}},{id:"colorType",name:" ",type:"string",optional:!0,default:"nominal",domain:["nominal","quantitative","temporal","ordinal"]},{id:"size",name:"Size",type:"string",optional:!0,domain:{mode:"field",from:"data",fieldTypes:["number","integer","boolean"]}},{id:"sizeType",name:" ",type:"string",optional:!0,default:"quantitative",domain:["nominal","quantitative","temporal","ordinal"]},{id:"shape",name:"Shape",type:"string",optional:!0,domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}},{id:"shapeType",name:" ",type:"string",optional:!0,default:"nominal",domain:["nominal","quantitative","temporal","ordinal"]},{id:"filled",name:"Fill shapes",type:"boolean",optional:!0,default:!0}]}}]),e}((0,g.default)(s.default));e.default=l},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),c=n(13),s=i(c),u=n(58),g=i(u),l=function(t){function e(){return r(this,e),A(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),a(e,[{key:"generateSpec",value:function(){var t={$schema:"https://vega.github.io/schema/vega-lite/v2.0.json",description:"A generic Vega-lite chart built by Candela.",repeat:{row:this.options.fields||[],column:this.options.fields||[]},spec:{data:{values:this.options.data||[]},width:this.getWidth(200),height:this.getHeight(200),mark:"point",encoding:{x:{field:{repeat:"column"},type:"quantitative"},y:{field:{repeat:"row"},type:"quantitative"}}},config:{mark:{filled:void 0===this.options.filled||this.options.filled}}};t.spec.selection={grid:{type:"interval",bind:"scales"}};for(var e=["size","color","shape"],n=0;n<e.length;n++){var i=e[n];if(this.options[i]){var r="size"===i?"quantitative":"nominal";t.spec.encoding[i]={field:this.options[i],type:this.options[i+"Type"]||r}}}return t}}],[{key:"options",get:function(){return[{id:"data",name:"Data table",type:"table"},{id:"fields",name:"Fields",type:"string_list",domain:{mode:"field",from:"data",fieldTypes:["date","number","integer","boolean"]}},{id:"color",name:"Color",type:"string",optional:!0,domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}},{id:"colorType",name:" ",type:"string",optional:!0,default:"nominal",domain:["nominal","quantitative","temporal","ordinal"]},{id:"size",name:"Size",type:"string",optional:!0,domain:{mode:"field",from:"data",fieldTypes:["number","integer","boolean"]}},{id:"sizeType",name:" ",type:"string",optional:!0,default:"quantitative",domain:["nominal","quantitative","temporal","ordinal"]},{id:"shape",name:"Shape",type:"string",optional:!0,domain:{mode:"field",from:"data",fieldTypes:["string","date","number","integer","boolean"]}},{id:"shapeType",name:" ",type:"string",optional:!0,default:"nominal",domain:["nominal","quantitative","temporal","ordinal"]},{id:"filled",name:"Fill shapes",type:"boolean",optional:!0,default:!0}]}}]),e}((0,g.default)(s.default));e.default=l}])});
+//# sourceMappingURL=candela.min.js.map \ No newline at end of file
diff --git a/clover/controller/control/static/js/graphing/plotly-latest.min.js b/clover/controller/control/static/js/graphing/plotly-latest.min.js
new file mode 100644
index 0000000..e5d9284
--- /dev/null
+++ b/clover/controller/control/static/js/graphing/plotly-latest.min.js
@@ -0,0 +1,7 @@
+/**
+* plotly.js v1.41.3
+* Copyright 2012-2018, Plotly, Inc.
+* All rights reserved.
+* Licensed under the MIT license
+*/
+!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Plotly=t()}}(function(){return function(){return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l="function"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,function(t){return i(e[o][1][t]||t)},u,u.exports,t,e,r,n)}return r[o].exports}for(var a="function"==typeof require&&require,o=0;o<n.length;o++)i(n[o]);return i}}()({1:[function(t,e,r){"use strict";var n=t("../src/lib"),i={"X,X div":"direction:ltr;font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;","X input,X button":"font-family:'Open Sans', verdana, arial, sans-serif;","X input:focus,X button:focus":"outline:none;","X a":"text-decoration:none;","X a:hover":"text-decoration:none;","X .crisp":"shape-rendering:crispEdges;","X .user-select-none":"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;","X svg":"overflow:hidden;","X svg a":"fill:#447adb;","X svg a:hover":"fill:#3c6dc5;","X .main-svg":"position:absolute;top:0;left:0;pointer-events:none;","X .main-svg .draglayer":"pointer-events:all;","X .cursor-default":"cursor:default;","X .cursor-pointer":"cursor:pointer;","X .cursor-crosshair":"cursor:crosshair;","X .cursor-move":"cursor:move;","X .cursor-col-resize":"cursor:col-resize;","X .cursor-row-resize":"cursor:row-resize;","X .cursor-ns-resize":"cursor:ns-resize;","X .cursor-ew-resize":"cursor:ew-resize;","X .cursor-sw-resize":"cursor:sw-resize;","X .cursor-s-resize":"cursor:s-resize;","X .cursor-se-resize":"cursor:se-resize;","X .cursor-w-resize":"cursor:w-resize;","X .cursor-e-resize":"cursor:e-resize;","X .cursor-nw-resize":"cursor:nw-resize;","X .cursor-n-resize":"cursor:n-resize;","X .cursor-ne-resize":"cursor:ne-resize;","X .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;z-index:1001;background:rgba(255,255,255,0.7);","X .modebar--hover":"opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;","X:hover .modebar--hover":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;margin-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-group:first-child":"margin-left:0px;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar-btn path":"fill:rgba(0,31,95,0.3);","X .modebar-btn.active path,X .modebar-btn:hover path":"fill:rgba(0,22,72,0.5);","X .modebar-btn.modebar-btn--logo":"padding:3px 1px;","X .modebar-btn.modebar-btn--logo path":"fill:#447adb !important;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":"content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;","X [data-title]:after":"content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .select-outline":"fill:none;stroke-width:1;shape-rendering:crispEdges;","X .select-outline-1":"stroke:white;","X .select-outline-2":"stroke:black;stroke-dasharray:2px 2px;",Y:"font-family:'Open Sans';position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;","Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var a in i){var o=a.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,i[a])}},{"../src/lib":693}],2:[function(t,e,r){"use strict";e.exports={undo:{width:857.1,height:1e3,path:"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z",transform:"matrix(1 0 0 -1 0 850)"},home:{width:928.6,height:1e3,path:"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z",transform:"matrix(1 0 0 -1 0 850)"},"camera-retro":{width:1e3,height:1e3,path:"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z",transform:"matrix(1 0 0 -1 0 850)"},zoombox:{width:1e3,height:1e3,path:"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z",transform:"matrix(1 0 0 -1 0 850)"},pan:{width:1e3,height:1e3,path:"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z",transform:"matrix(1 0 0 -1 0 850)"},zoom_plus:{width:1e3,height:1e3,path:"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},zoom_minus:{width:1e3,height:1e3,path:"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},autoscale:{width:1e3,height:1e3,path:"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_basic:{width:1500,height:1e3,path:"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_compare:{width:1125,height:1e3,path:"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z",transform:"matrix(1 0 0 -1 0 850)"},plotlylogo:{width:1542,height:1e3,path:"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z",transform:"matrix(1 0 0 -1 0 850)"},"z-axis":{width:1e3,height:1e3,path:"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z",transform:"matrix(1 0 0 -1 0 850)"},"3d_rotate":{width:1e3,height:1e3,path:"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z",transform:"matrix(1 0 0 -1 0 850)"},camera:{width:1e3,height:1e3,path:"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z",transform:"matrix(1 0 0 -1 0 850)"},movie:{width:1e3,height:1e3,path:"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z",transform:"matrix(1 0 0 -1 0 850)"},question:{width:857.1,height:1e3,path:"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z",transform:"matrix(1 0 0 -1 0 850)"},disk:{width:857.1,height:1e3,path:"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z",transform:"matrix(1 0 0 -1 0 850)"},lasso:{width:1031,height:1e3,path:"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z",transform:"matrix(1 0 0 -1 0 850)"},selectbox:{width:1e3,height:1e3,path:"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z",transform:"matrix(1 0 0 -1 0 850)"},spikeline:{width:1e3,height:1e3,path:"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z",transform:"matrix(1.5 0 0 -1.5 0 850)"}}},{}],3:[function(t,e,r){"use strict";e.exports=t("../src/transforms/aggregate")},{"../src/transforms/aggregate":1144}],4:[function(t,e,r){"use strict";e.exports=t("../src/traces/bar")},{"../src/traces/bar":840}],5:[function(t,e,r){"use strict";e.exports=t("../src/traces/barpolar")},{"../src/traces/barpolar":852}],6:[function(t,e,r){"use strict";e.exports=t("../src/traces/box")},{"../src/traces/box":862}],7:[function(t,e,r){"use strict";e.exports=t("../src/components/calendars")},{"../src/components/calendars":565}],8:[function(t,e,r){"use strict";e.exports=t("../src/traces/candlestick")},{"../src/traces/candlestick":871}],9:[function(t,e,r){"use strict";e.exports=t("../src/traces/carpet")},{"../src/traces/carpet":890}],10:[function(t,e,r){"use strict";e.exports=t("../src/traces/choropleth")},{"../src/traces/choropleth":904}],11:[function(t,e,r){"use strict";e.exports=t("../src/traces/cone")},{"../src/traces/cone":912}],12:[function(t,e,r){"use strict";e.exports=t("../src/traces/contour")},{"../src/traces/contour":927}],13:[function(t,e,r){"use strict";e.exports=t("../src/traces/contourcarpet")},{"../src/traces/contourcarpet":938}],14:[function(t,e,r){"use strict";e.exports=t("../src/core")},{"../src/core":672}],15:[function(t,e,r){"use strict";e.exports=t("../src/transforms/filter")},{"../src/transforms/filter":1145}],16:[function(t,e,r){"use strict";e.exports=t("../src/transforms/groupby")},{"../src/transforms/groupby":1146}],17:[function(t,e,r){"use strict";e.exports=t("../src/traces/heatmap")},{"../src/traces/heatmap":950}],18:[function(t,e,r){"use strict";e.exports=t("../src/traces/heatmapgl")},{"../src/traces/heatmapgl":960}],19:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram")},{"../src/traces/histogram":971}],20:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram2d")},{"../src/traces/histogram2d":977}],21:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram2dcontour")},{"../src/traces/histogram2dcontour":981}],22:[function(t,e,r){"use strict";var n=t("./core");n.register([t("./bar"),t("./box"),t("./heatmap"),t("./histogram"),t("./histogram2d"),t("./histogram2dcontour"),t("./pie"),t("./contour"),t("./scatterternary"),t("./violin"),t("./scatter3d"),t("./surface"),t("./mesh3d"),t("./cone"),t("./streamtube"),t("./scattergeo"),t("./choropleth"),t("./scattergl"),t("./splom"),t("./pointcloud"),t("./heatmapgl"),t("./parcoords"),t("./scattermapbox"),t("./sankey"),t("./table"),t("./carpet"),t("./scattercarpet"),t("./contourcarpet"),t("./ohlc"),t("./candlestick"),t("./scatterpolar"),t("./scatterpolargl"),t("./barpolar")]),n.register([t("./aggregate"),t("./filter"),t("./groupby"),t("./sort")]),n.register([t("./calendars")]),e.exports=n},{"./aggregate":3,"./bar":4,"./barpolar":5,"./box":6,"./calendars":7,"./candlestick":8,"./carpet":9,"./choropleth":10,"./cone":11,"./contour":12,"./contourcarpet":13,"./core":14,"./filter":15,"./groupby":16,"./heatmap":17,"./heatmapgl":18,"./histogram":19,"./histogram2d":20,"./histogram2dcontour":21,"./mesh3d":23,"./ohlc":24,"./parcoords":25,"./pie":26,"./pointcloud":27,"./sankey":28,"./scatter3d":29,"./scattercarpet":30,"./scattergeo":31,"./scattergl":32,"./scattermapbox":33,"./scatterpolar":34,"./scatterpolargl":35,"./scatterternary":36,"./sort":37,"./splom":38,"./streamtube":39,"./surface":40,"./table":41,"./violin":42}],23:[function(t,e,r){"use strict";e.exports=t("../src/traces/mesh3d")},{"../src/traces/mesh3d":986}],24:[function(t,e,r){"use strict";e.exports=t("../src/traces/ohlc")},{"../src/traces/ohlc":991}],25:[function(t,e,r){"use strict";e.exports=t("../src/traces/parcoords")},{"../src/traces/parcoords":1002}],26:[function(t,e,r){"use strict";e.exports=t("../src/traces/pie")},{"../src/traces/pie":1013}],27:[function(t,e,r){"use strict";e.exports=t("../src/traces/pointcloud")},{"../src/traces/pointcloud":1022}],28:[function(t,e,r){"use strict";e.exports=t("../src/traces/sankey")},{"../src/traces/sankey":1028}],29:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatter3d")},{"../src/traces/scatter3d":1064}],30:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattercarpet")},{"../src/traces/scattercarpet":1070}],31:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattergeo")},{"../src/traces/scattergeo":1077}],32:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattergl")},{"../src/traces/scattergl":1085}],33:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattermapbox")},{"../src/traces/scattermapbox":1091}],34:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterpolar")},{"../src/traces/scatterpolar":1098}],35:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterpolargl")},{"../src/traces/scatterpolargl":1102}],36:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterternary")},{"../src/traces/scatterternary":1108}],37:[function(t,e,r){"use strict";e.exports=t("../src/transforms/sort")},{"../src/transforms/sort":1148}],38:[function(t,e,r){"use strict";e.exports=t("../src/traces/splom")},{"../src/traces/splom":1113}],39:[function(t,e,r){"use strict";e.exports=t("../src/traces/streamtube")},{"../src/traces/streamtube":1118}],40:[function(t,e,r){"use strict";e.exports=t("../src/traces/surface")},{"../src/traces/surface":1123}],41:[function(t,e,r){"use strict";e.exports=t("../src/traces/table")},{"../src/traces/table":1131}],42:[function(t,e,r){"use strict";e.exports=t("../src/traces/violin")},{"../src/traces/violin":1139}],43:[function(t,e,r){"use strict";e.exports=function(t,e){t=t||document.body,e=e||{};var r=[.01,1/0];"distanceLimits"in e&&(r[0]=e.distanceLimits[0],r[1]=e.distanceLimits[1]);"zoomMin"in e&&(r[0]=e.zoomMin);"zoomMax"in e&&(r[1]=e.zoomMax);var c=i({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||"orbit",distanceLimits:r}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],f=0,h=t.clientWidth,p=t.clientHeight,d={view:c,element:t,delay:e.delay||16,rotateSpeed:e.rotateSpeed||1,zoomSpeed:e.zoomSpeed||1,translateSpeed:e.translateSpeed||1,flipX:!!e.flipX,flipY:!!e.flipY,modes:c.modes,tick:function(){var e=n(),r=this.delay;c.idle(e-r),c.flush(e-(100+2*r));var i=e-2*r;c.recalcMatrix(i);for(var a=!0,o=c.computedMatrix,s=0;s<16;++s)a=a&&u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&&t.clientHeight===p;return h=t.clientWidth,p=t.clientHeight,a?!l:(f=Math.exp(c.computedRadius[0]),!0)},lookAt:function(t,e,r){c.lookAt(c.lastT(),t,e,r)},rotate:function(t,e,r){c.rotate(c.lastT(),t,e,r)},pan:function(t,e,r){c.pan(c.lastT(),t,e,r)},translate:function(t,e,r){c.translate(c.lastT(),t,e,r)}};Object.defineProperties(d,{matrix:{get:function(){return c.computedMatrix},set:function(t){return c.setMatrix(c.lastT(),t),c.computedMatrix},enumerable:!0},mode:{get:function(){return c.getMode()},set:function(t){return c.setMode(t),c.getMode()},enumerable:!0},center:{get:function(){return c.computedCenter},set:function(t){return c.lookAt(c.lastT(),t),c.computedCenter},enumerable:!0},eye:{get:function(){return c.computedEye},set:function(t){return c.lookAt(c.lastT(),null,t),c.computedEye},enumerable:!0},up:{get:function(){return c.computedUp},set:function(t){return c.lookAt(c.lastT(),null,null,t),c.computedUp},enumerable:!0},distance:{get:function(){return f},set:function(t){return c.setDistance(c.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return c.getDistanceLimits(r)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener("contextmenu",function(t){return t.preventDefault(),!1});var g=0,m=0,v={shift:!1,control:!1,alt:!1,meta:!1};function y(e,r,i,a){var o=1/t.clientHeight,s=o*(r-g),l=o*(i-m),u=d.flipX?1:-1,h=d.flipY?1:-1,p=Math.PI*d.rotateSpeed,y=n();if(1&e)a.shift?c.rotate(y,0,0,-s*p):c.rotate(y,u*p*s,-h*p*l,0);else if(2&e)c.pan(y,-d.translateSpeed*s*f,d.translateSpeed*l*f,0);else if(4&e){var x=d.zoomSpeed*l/window.innerHeight*(y-c.lastT())*50;c.pan(y,0,0,f*(Math.exp(x)-1))}g=r,m=i,v=a}return a(t,y),t.addEventListener("touchstart",function(e){var r=s(e.changedTouches[0],t);y(0,r[0],r[1],v),y(1,r[0],r[1],v),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener("touchmove",function(e){var r=s(e.changedTouches[0],t);y(1,r[0],r[1],v),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener("touchend",function(e){s(e.changedTouches[0],t),y(0,g,m,v),e.preventDefault()},!!l&&{passive:!1}),o(t,function(t,e,r){var i=d.flipX?1:-1,a=d.flipY?1:-1,o=n();if(Math.abs(t)>Math.abs(e))c.rotate(o,0,0,-t*i*Math.PI*d.rotateSpeed/window.innerWidth);else{var s=d.zoomSpeed*a*e/window.innerHeight*(o-c.lastT())/100;c.pan(o,0,0,f*(Math.exp(s)-1))}},!0),d};var n=t("right-now"),i=t("3d-view"),a=t("mouse-change"),o=t("mouse-wheel"),s=t("mouse-event-offset"),l=t("has-passive-events")},{"3d-view":44,"has-passive-events":392,"mouse-change":415,"mouse-event-offset":416,"mouse-wheel":418,"right-now":477}],44:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],c=t.mode||"turntable",u=n(),f=i(),h=a();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:u,orbit:f,matrix:h},c)};var n=t("turntable-camera-controller"),i=t("orbit-camera-controller"),a=t("matrix-camera-controller");function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map(function(e){return t[e]}),this._mode=e,this._active=t[e],this._active||(this._mode="turntable",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;[["flush",1],["idle",1],["lookAt",4],["rotate",4],["pan",4],["translate",4],["setMatrix",2],["setDistanceLimits",2],["setDistance",2]].forEach(function(t){for(var e=t[0],r=[],n=0;n<t[1];++n)r.push("a"+n);var i="var cc=this._controllerList;for(var i=0;i<cc.length;++i){cc[i]."+t[0]+"("+r.join()+")}";s[e]=Function.apply(null,r.concat(i))}),s.recalcMatrix=function(t){this._active.recalcMatrix(t)},s.getDistance=function(t){return this._active.getDistance(t)},s.getDistanceLimits=function(t){return this._active.getDistanceLimits(t)},s.lastT=function(){return this._active.lastT()},s.setMode=function(t){if(t!==this._mode){var e=this._controllerNames.indexOf(t);if(!(e<0)){var r=this._active,n=this._controllerList[e],i=Math.max(r.lastT(),n.lastT());r.recalcMatrix(i),n.setMatrix(i,r.computedMatrix),this._active=n,this._mode=t,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}}},s.getMode=function(){return this._mode}},{"matrix-camera-controller":413,"orbit-camera-controller":436,"turntable-camera-controller":516}],45:[function(t,e,r){var n,i;n=this,i=function(t,e,r,n){"use strict";t.sankey=function(){var t={},i=24,a=8,o=[1,1],s=[],l=[];function c(){function t(t,e){return t.source.y-e.source.y||t.originalIndex-e.originalIndex}function e(t,e){return t.target.y-e.target.y||t.originalIndex-e.originalIndex}s.forEach(function(r){r.sourceLinks.sort(e),r.targetLinks.sort(t)}),s.forEach(function(t){var e=0,r=0;t.sourceLinks.forEach(function(t){t.sy=e,e+=t.dy}),t.targetLinks.forEach(function(t){t.ty=r,r+=t.dy})})}function u(t){return t.y+t.dy/2}function f(t){return t.value}return t.nodeWidth=function(e){return arguments.length?(i=+e,t):i},t.nodePadding=function(e){return arguments.length?(a=+e,t):a},t.nodes=function(e){return arguments.length?(s=e,t):s},t.links=function(e){return arguments.length?(l=e,t):l},t.size=function(e){return arguments.length?(o=e,t):o},t.layout=function(n){return s.forEach(function(t){t.sourceLinks=[],t.targetLinks=[]}),l.forEach(function(t,e){var r=t.source,n=t.target;"number"==typeof r&&(r=t.source=s[t.source]),"number"==typeof n&&(n=t.target=s[t.target]),t.originalIndex=e,r.sourceLinks.push(t),n.targetLinks.push(t)}),s.forEach(function(t){t.value=Math.max(e.sum(t.sourceLinks,f),e.sum(t.targetLinks,f))}),function(){for(var t,e,r=s,n=0;r.length;)t=[],r.forEach(function(e){e.x=n,e.dx=i,e.sourceLinks.forEach(function(e){t.indexOf(e.target)<0&&t.push(e.target)})}),r=t,++n;(function(t){s.forEach(function(e){e.sourceLinks.length||(e.x=t-1)})})(n),e=(o[0]-i)/(n-1),s.forEach(function(t){t.x*=e})}(),function(t){var n,i=r.nest().key(function(t){return t.x}).sortKeys(e.ascending).entries(s).map(function(t){return t.values});n=e.min(i,function(t){return(o[1]-(t.length-1)*a)/e.sum(t,f)}),i.forEach(function(t){t.forEach(function(t,e){t.y=e,t.dy=t.value*n})}),l.forEach(function(t){t.dy=t.value*n}),d();for(var c=1;t>0;--t)p(c*=.99),d(),h(c),d();function h(t){function r(t){return u(t.source)*t.value}i.forEach(function(n){n.forEach(function(n){if(n.targetLinks.length){var i=e.sum(n.targetLinks,r)/e.sum(n.targetLinks,f);n.y+=(i-u(n))*t}})})}function p(t){function r(t){return u(t.target)*t.value}i.slice().reverse().forEach(function(n){n.forEach(function(n){if(n.sourceLinks.length){var i=e.sum(n.sourceLinks,r)/e.sum(n.sourceLinks,f);n.y+=(i-u(n))*t}})})}function d(){i.forEach(function(t){var e,r,n,i=0,s=t.length;for(t.sort(g),n=0;n<s;++n)e=t[n],(r=i-e.y)>0&&(e.y+=r),i=e.y+e.dy+a;if((r=i-a-o[1])>0)for(i=e.y-=r,n=s-2;n>=0;--n)e=t[n],(r=e.y+e.dy+a-i)>0&&(e.y-=r),i=e.y})}function g(t,e){return t.y-e.y}}(n),c(),t},t.relayout=function(){return c(),t},t.link=function(){var t=.5;function e(e){var r=e.source.x+e.source.dx,i=e.target.x,a=n.interpolateNumber(r,i),o=a(t),s=a(1-t),l=e.source.y+e.sy,c=l+e.dy,u=e.target.y+e.ty,f=u+e.dy;return"M"+r+","+l+"C"+o+","+l+" "+s+","+u+" "+i+","+u+"L"+i+","+f+"C"+s+","+f+" "+o+","+c+" "+r+","+c+"Z"}return e.curvature=function(r){return arguments.length?(t=+r,e):t},e},t},Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&"undefined"!=typeof e?i(r,t("d3-array"),t("d3-collection"),t("d3-interpolate")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3)},{"d3-array":139,"d3-collection":140,"d3-interpolate":144}],46:[function(t,e,r){"use strict";var n="undefined"==typeof WeakMap?t("weak-map"):WeakMap,i=t("gl-buffer"),a=t("gl-vao"),o=new n;e.exports=function(t){var e=o.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=i(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=a(t,[{buffer:n,type:t.FLOAT,size:2}]))._triangleBuffer=n,o.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()}},{"gl-buffer":229,"gl-vao":308,"weak-map":526}],47:[function(t,e,r){e.exports=function(t){var e=0,r=0,n=0,i=0;return t.map(function(t){var a=(t=t.slice())[0],o=a.toUpperCase();if(a!=o)switch(t[0]=o,a){case"a":t[6]+=n,t[7]+=i;break;case"v":t[1]+=i;break;case"h":t[1]+=n;break;default:for(var s=1;s<t.length;)t[s++]+=n,t[s++]+=i}switch(o){case"Z":n=e,i=r;break;case"H":n=t[1];break;case"V":i=t[1];break;case"M":n=e=t[1],i=r=t[2];break;default:n=t[t.length-2],i=t[t.length-1]}return t})}},{}],48:[function(t,e,r){var n=t("pad-left");e.exports=function(t,e,r){e="number"==typeof e?e:1,r=r||": ";var i=t.split(/\r?\n/),a=String(i.length+e-1).length;return i.map(function(t,i){var o=i+e,s=String(o).length,l=n(o,a-s);return l+r+t}).join("\n")}},{"pad-left":437}],49:[function(t,e,r){"use strict";e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,n=[t[0]],a=[0],o=1;o<e;++o)if(n.push(t[o]),i(n,r)){if(a.push(o),a.length===r+1)return a}else n.pop();return a};var n=t("robust-orientation");function i(t,e){for(var r=new Array(e+1),i=0;i<t.length;++i)r[i]=t[i];for(i=0;i<=t.length;++i){for(var a=t.length;a<=e;++a){for(var o=new Array(e),s=0;s<e;++s)o[s]=Math.pow(a+1-i,s);r[a]=o}if(n.apply(void 0,r))return!0}return!1}},{"robust-orientation":483}],50:[function(t,e,r){"use strict";e.exports=function(t,e){return n(e).filter(function(r){for(var n=new Array(r.length),a=0;a<r.length;++a)n[a]=e[r[a]];return i(n)*t<1})};var n=t("delaunay-triangulate"),i=t("circumradius")},{circumradius:101,"delaunay-triangulate":149}],51:[function(t,e,r){e.exports=function(t,e){return i(n(t,e))};var n=t("alpha-complex"),i=t("simplicial-complex-boundary")},{"alpha-complex":50,"simplicial-complex-boundary":490}],52:[function(t,e,r){"use strict";e.exports=function(t,e){if(!t||null==t.length)throw Error("Argument should be an array");e=null==e?1:Math.floor(e);for(var r=Array(2*e),n=0;n<e;n++){for(var i=-1/0,a=1/0,o=n,s=t.length;o<s;o+=e)t[o]>i&&(i=t[o]),t[o]<a&&(a=t[o]);r[n]=a,r[e+n]=i}return r}},{}],53:[function(t,e,r){"use strict";var n=t("array-bounds");e.exports=function(t,e,r){if(!t||null==t.length)throw Error("Argument should be an array");null==e&&(e=1);null==r&&(r=n(t,e));for(var i=0;i<e;i++){var a=r[e+i],o=r[i],s=i,l=t.length;if(a===1/0&&o===-1/0)for(s=i;s<l;s+=e)t[s]=t[s]===a?1:t[s]===o?0:.5;else if(a===1/0)for(s=i;s<l;s+=e)t[s]=t[s]===a?1:0;else if(o===-1/0)for(s=i;s<l;s+=e)t[s]=t[s]===o?0:1;else{var c=a-o;for(s=i;s<l;s+=e)t[s]=0===c?.5:(t[s]-o)/c}}return t}},{"array-bounds":52}],54:[function(t,e,r){e.exports=function(t,e){var r="number"==typeof t,n="number"==typeof e;r&&!n?(e=t,t=0):r||n||(t=0,e=0);var i=(e|=0)-(t|=0);if(i<0)throw new Error("array length must be positive");for(var a=new Array(i),o=0,s=t;o<i;o++,s++)a[o]=s;return a}},{}],55:[function(t,e,r){(function(r){"use strict";function n(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0}function i(t){return r.Buffer&&"function"==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}var a=t("util/"),o=Object.prototype.hasOwnProperty,s=Array.prototype.slice,l="foo"===function(){}.name;function c(t){return Object.prototype.toString.call(t)}function u(t){return!i(t)&&("function"==typeof r.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&&(t instanceof DataView||!!(t.buffer&&t.buffer instanceof ArrayBuffer))))}var f=e.exports=v,h=/\s*function\s+([^\(\s]*)\s*/;function p(t){if(a.isFunction(t)){if(l)return t.name;var e=t.toString().match(h);return e&&e[1]}}function d(t,e){return"string"==typeof t?t.length<e?t:t.slice(0,e):t}function g(t){if(l||!a.isFunction(t))return a.inspect(t);var e=p(t);return"[Function"+(e?": "+e:"")+"]"}function m(t,e,r,n,i){throw new f.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function v(t,e){t||m(t,!0,e,"==",f.ok)}function y(t,e,r,o){if(t===e)return!0;if(i(t)&&i(e))return 0===n(t,e);if(a.isDate(t)&&a.isDate(e))return t.getTime()===e.getTime();if(a.isRegExp(t)&&a.isRegExp(e))return t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase;if(null!==t&&"object"==typeof t||null!==e&&"object"==typeof e){if(u(t)&&u(e)&&c(t)===c(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===n(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;var l=(o=o||{actual:[],expected:[]}).actual.indexOf(t);return-1!==l&&l===o.expected.indexOf(e)||(o.actual.push(t),o.expected.push(e),function(t,e,r,n){if(null==t||null==e)return!1;if(a.isPrimitive(t)||a.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=x(t),o=x(e);if(i&&!o||!i&&o)return!1;if(i)return t=s.call(t),e=s.call(e),y(t,e,r);var l,c,u=w(t),f=w(e);if(u.length!==f.length)return!1;for(u.sort(),f.sort(),c=u.length-1;c>=0;c--)if(u[c]!==f[c])return!1;for(c=u.length-1;c>=0;c--)if(l=u[c],!y(t[l],e[l],r,n))return!1;return!0}(t,e,r,o))}return r?t===e:t==e}function x(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function b(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function _(t,e,r,n){var i;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),t&&!i&&m(i,r,"Missing expected exception"+n);var o="string"==typeof n,s=!t&&i&&!r;if((!t&&a.isError(i)&&o&&b(i,r)||s)&&m(i,r,"Got unwanted exception"+n),t&&i&&r&&!b(i,r)||!t&&i)throw i}f.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=d(g((e=this).actual),128)+" "+e.operator+" "+d(g(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var i=n.stack,a=p(r),o=i.indexOf("\n"+a);if(o>=0){var s=i.indexOf("\n",o+1);i=i.substring(s+1)}this.stack=i}}},a.inherits(f.AssertionError,Error),f.fail=m,f.ok=v,f.equal=function(t,e,r){t!=e&&m(t,e,r,"==",f.equal)},f.notEqual=function(t,e,r){t==e&&m(t,e,r,"!=",f.notEqual)},f.deepEqual=function(t,e,r){y(t,e,!1)||m(t,e,r,"deepEqual",f.deepEqual)},f.deepStrictEqual=function(t,e,r){y(t,e,!0)||m(t,e,r,"deepStrictEqual",f.deepStrictEqual)},f.notDeepEqual=function(t,e,r){y(t,e,!1)&&m(t,e,r,"notDeepEqual",f.notDeepEqual)},f.notDeepStrictEqual=function t(e,r,n){y(e,r,!0)&&m(e,r,n,"notDeepStrictEqual",t)},f.strictEqual=function(t,e,r){t!==e&&m(t,e,r,"===",f.strictEqual)},f.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,"!==",f.notStrictEqual)},f.throws=function(t,e,r){_(!0,t,e,r)},f.doesNotThrow=function(t,e,r){_(!1,t,e,r)},f.ifError=function(t){if(t)throw t};var w=Object.keys||function(t){var e=[];for(var r in t)o.call(t,r)&&e.push(r);return e}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"util/":58}],56:[function(t,e,r){"function"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],57:[function(t,e,r){e.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},{}],58:[function(t,e,r){(function(e,n){var i=/%[sdj%]/g;r.format=function(t){if(!v(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(s(arguments[r]));return e.join(" ")}r=1;for(var n=arguments,a=n.length,o=String(t).replace(i,function(t){if("%%"===t)return"%";if(r>=a)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}}),l=n[r];r<a;l=n[++r])g(l)||!b(l)?o+=" "+l:o+=" "+s(l);return o},r.deprecate=function(t,i){if(y(n.process))return function(){return r.deprecate(t,i).apply(this,arguments)};if(!0===e.noDeprecation)return t;var a=!1;return function(){if(!a){if(e.throwDeprecation)throw new Error(i);e.traceDeprecation?console.trace(i):console.error(i),a=!0}return t.apply(this,arguments)}};var a,o={};function s(t,e){var n={seen:[],stylize:c};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(e)?n.showHidden=e:e&&r._extend(n,e),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,t,n.depth)}function l(t,e){var r=s.styles[e];return r?"\x1b["+s.colors[r][0]+"m"+t+"\x1b["+s.colors[r][1]+"m":t}function c(t,e){return t}function u(t,e,n){if(t.customInspect&&e&&k(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return v(i)||(i=u(t,i,n)),i}var a=function(t,e){if(y(e))return t.stylize("undefined","undefined");if(v(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(m(e))return t.stylize(""+e,"number");if(d(e))return t.stylize(""+e,"boolean");if(g(e))return t.stylize("null","null")}(t,e);if(a)return a;var o=Object.keys(e),s=function(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),w(e)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return f(e);if(0===o.length){if(k(e)){var l=e.name?": "+e.name:"";return t.stylize("[Function"+l+"]","special")}if(x(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(_(e))return t.stylize(Date.prototype.toString.call(e),"date");if(w(e))return f(e)}var c,b="",M=!1,A=["{","}"];(p(e)&&(M=!0,A=["[","]"]),k(e))&&(b=" [Function"+(e.name?": "+e.name:"")+"]");return x(e)&&(b=" "+RegExp.prototype.toString.call(e)),_(e)&&(b=" "+Date.prototype.toUTCString.call(e)),w(e)&&(b=" "+f(e)),0!==o.length||M&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special"):(t.seen.push(e),c=M?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o<s;++o)S(e,String(o))?a.push(h(t,e,r,n,String(o),!0)):a.push("");return i.forEach(function(i){i.match(/^\d+$/)||a.push(h(t,e,r,n,i,!0))}),a}(t,e,n,s,o):o.map(function(r){return h(t,e,n,s,r,M)}),t.seen.pop(),function(t,e,r){if(t.reduce(function(t,e){return 0,e.indexOf("\n")>=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(c,b,A)):A[0]+b+A[1]}function f(t){return"["+Error.prototype.toString.call(t)+"]"}function h(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),S(n,i)||(o="["+i+"]"),s||(t.seen.indexOf(l.value)<0?(s=g(r)?u(t,l.value,null):u(t,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map(function(t){return" "+t}).join("\n").substr(2):"\n"+s.split("\n").map(function(t){return" "+t}).join("\n")):s=t.stylize("[Circular]","special")),y(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function p(t){return Array.isArray(t)}function d(t){return"boolean"==typeof t}function g(t){return null===t}function m(t){return"number"==typeof t}function v(t){return"string"==typeof t}function y(t){return void 0===t}function x(t){return b(t)&&"[object RegExp]"===M(t)}function b(t){return"object"==typeof t&&null!==t}function _(t){return b(t)&&"[object Date]"===M(t)}function w(t){return b(t)&&("[object Error]"===M(t)||t instanceof Error)}function k(t){return"function"==typeof t}function M(t){return Object.prototype.toString.call(t)}function A(t){return t<10?"0"+t.toString(10):t.toString(10)}r.debuglog=function(t){if(y(a)&&(a=e.env.NODE_DEBUG||""),t=t.toUpperCase(),!o[t])if(new RegExp("\\b"+t+"\\b","i").test(a)){var n=e.pid;o[t]=function(){var e=r.format.apply(r,arguments);console.error("%s %d: %s",t,n,e)}}else o[t]=function(){};return o[t]},r.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},r.isArray=p,r.isBoolean=d,r.isNull=g,r.isNullOrUndefined=function(t){return null==t},r.isNumber=m,r.isString=v,r.isSymbol=function(t){return"symbol"==typeof t},r.isUndefined=y,r.isRegExp=x,r.isObject=b,r.isDate=_,r.isError=w,r.isFunction=k,r.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||"undefined"==typeof t},r.isBuffer=t("./support/isBuffer");var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){var t,e;console.log("%s - %s",(t=new Date,e=[A(t.getHours()),A(t.getMinutes()),A(t.getSeconds())].join(":"),[t.getDate(),T[t.getMonth()],e].join(" ")),r.format.apply(r,arguments))},r.inherits=t("inherits"),r._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":57,_process:462,inherits:56}],59:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],60:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=e.length,a=new Array(r+1),o=0;o<r;++o){for(var s=new Array(r+1),l=0;l<=r;++l)s[l]=t[l][o];a[o]=s}a[r]=new Array(r+1);for(var o=0;o<=r;++o)a[r][o]=1;for(var c=new Array(r+1),o=0;o<r;++o)c[o]=e[o];c[r]=1;var u=n(a,c),f=i(u[r+1]);0===f&&(f=1);for(var h=new Array(r+1),o=0;o<=r;++o)h[o]=i(u[o])/f;return h};var n=t("robust-linear-solve");function i(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}},{"robust-linear-solve":482}],61:[function(t,e,r){"use strict";r.byteLength=function(t){var e=c(t),r=e[0],n=e[1];return 3*(r+n)/4-n},r.toByteArray=function(t){for(var e,r=c(t),n=r[0],o=r[1],s=new a(function(t,e,r){return 3*(e+r)/4-r}(0,n,o)),l=0,u=o>0?n-4:n,f=0;f<u;f+=4)e=i[t.charCodeAt(f)]<<18|i[t.charCodeAt(f+1)]<<12|i[t.charCodeAt(f+2)]<<6|i[t.charCodeAt(f+3)],s[l++]=e>>16&255,s[l++]=e>>8&255,s[l++]=255&e;2===o&&(e=i[t.charCodeAt(f)]<<2|i[t.charCodeAt(f+1)]>>4,s[l++]=255&e);1===o&&(e=i[t.charCodeAt(f)]<<10|i[t.charCodeAt(f+1)]<<4|i[t.charCodeAt(f+2)]>>2,s[l++]=e>>8&255,s[l++]=255&e);return s},r.fromByteArray=function(t){for(var e,r=t.length,i=r%3,a=[],o=0,s=r-i;o<s;o+=16383)a.push(u(t,o,o+16383>s?s:o+16383));1===i?(e=t[r-1],a.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],a.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return a.join("")};for(var n=[],i=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=o.length;s<l;++s)n[s]=o[s],i[o.charCodeAt(s)]=s;function c(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,r){for(var i,a,o=[],s=e;s<r;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(n[(a=i)>>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},{}],62:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{"./lib/rationalize":72}],63:[function(t,e,r){"use strict";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],64:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{"./lib/rationalize":72}],65:[function(t,e,r){"use strict";var n=t("./is-rat"),i=t("./lib/is-bn"),a=t("./lib/num-to-bn"),o=t("./lib/str-to-bn"),s=t("./lib/rationalize"),l=t("./div");e.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var c=0;var u,f;if(i(e))u=e.clone();else if("string"==typeof e)u=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))u=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),c-=256;u=a(e)}}if(n(r))u.mul(r[1]),f=r[0].clone();else if(i(r))f=r.clone();else if("string"==typeof r)f=o(r);else if(r)if(r===Math.floor(r))f=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),c+=256;f=a(r)}else f=a(1);c>0?u=u.ushln(c):c<0&&(f=f.ushln(-c));return s(u,f)}},{"./div":64,"./is-rat":66,"./lib/is-bn":70,"./lib/num-to-bn":71,"./lib/rationalize":72,"./lib/str-to-bn":73}],66:[function(t,e,r){"use strict";var n=t("./lib/is-bn");e.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},{"./lib/is-bn":70}],67:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return t.cmp(new n(0))}},{"bn.js":81}],68:[function(t,e,r){"use strict";var n=t("./bn-sign");e.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a<e;a++){var o=r[a];i+=o*Math.pow(67108864,a)}return n(t)*i}},{"./bn-sign":67}],69:[function(t,e,r){"use strict";var n=t("double-bits"),i=t("bit-twiddle").countTrailingZeros;e.exports=function(t){var e=i(n.lo(t));if(e<32)return e;var r=i(n.hi(t));if(r>20)return 52;return r+32}},{"bit-twiddle":79,"double-bits":151}],70:[function(t,e,r){"use strict";t("bn.js");e.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},{"bn.js":81}],71:[function(t,e,r){"use strict";var n=t("bn.js"),i=t("double-bits");e.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{"bn.js":81,"double-bits":151}],72:[function(t,e,r){"use strict";var n=t("./num-to-bn"),i=t("./bn-sign");e.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);if(o.cmpn(1))return[t.div(o),e.div(o)];return[t,e]}},{"./bn-sign":67,"./num-to-bn":71}],73:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return new n(t)}},{"bn.js":81}],74:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{"./lib/rationalize":72}],75:[function(t,e,r){"use strict";var n=t("./lib/bn-sign");e.exports=function(t){return n(t[0])*n(t[1])}},{"./lib/bn-sign":67}],76:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{"./lib/rationalize":72}],77:[function(t,e,r){"use strict";var n=t("./lib/bn-to-num"),i=t("./lib/ctz");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=i(s)+4,f=n(l.ushln(u).divRound(r));return c*(s+f*Math.pow(2,-u))}var h=r.bitLength()-l.bitLength()+53,f=n(l.ushln(h).divRound(r));return h<1023?c*f*Math.pow(2,-h):(f*=Math.pow(2,-1023),c*f*Math.pow(2,1023-h))}},{"./lib/bn-to-num":68,"./lib/ctz":69}],78:[function(t,e,r){"use strict";function n(t,e,r,n,i,a){var o=["function ",t,"(a,l,h,",n.join(","),"){",a?"":"var i=",r?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a",i?".get(m)":"[m]"];return a?e.indexOf("c")<0?o.push(";if(x===y){return m}else if(x<=y){"):o.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):o.push(";if(",e,"){i=m;"),r?o.push("l=m+1}else{h=m-1}"):o.push("h=m-1}else{l=m+1}"),o.push("}"),a?o.push("return -1};"):o.push("return i};"),o.join("")}function i(t,e,r,i){return new Function([n("A","x"+t+"y",e,["y"],!1,i),n("B","x"+t+"y",e,["y"],!0,i),n("P","c(x,y)"+t+"0",e,["y","c"],!1,i),n("Q","c(x,y)"+t+"0",e,["y","c"],!0,i),"function dispatchBsearch",r,"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch",r].join(""))()}e.exports={ge:i(">=",!1,"GE"),gt:i(">",!1,"GT"),lt:i("<",!0,"LT"),le:i("<=",!0,"LE"),eq:i("-",!0,"EQ",!0)}},{}],79:[function(t,e,r){"use strict";function n(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t<e)},r.max=function(t,e){return t^(t^e)&-(t<e)},r.isPow2=function(t){return!(t&t-1||!t)},r.log2=function(t){var e,r;return e=(t>65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var i=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<<i&255}}(i),r.reverse=function(t){return i[255&t]<<24|i[t>>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},r.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},r.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},r.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],80:[function(t,e,r){"use strict";var n=t("clamp");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,f,h,p,d,g,m=null==e.cutoff?.25:e.cutoff,v=null==e.radius?8:e.radius,y=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error("For raw data width and height should be provided by options");r=e.width,o=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(f=(h=t).getContext("2d"),r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(h=t.canvas,f=t,r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.data,u=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,u=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(r*o),d=0,g=c.length;d<g;d++)l[d]=c[d*u+y]/255;else if(1!==u)throw Error("Raw data can have only 1 value per pixel");var x=Array(r*o),b=Array(r*o),_=Array(s),w=Array(s),k=Array(s+1),M=Array(s);for(d=0,g=r*o;d<g;d++){var A=l[d];x[d]=1===A?0:0===A?i:Math.pow(Math.max(0,.5-A),2),b[d]=1===A?i:0===A?0:Math.pow(Math.max(0,A-.5),2)}a(x,r,o,_,w,M,k),a(b,r,o,_,w,M,k);var T=window.Float32Array?new Float32Array(r*o):new Array(r*o);for(d=0,g=r*o;d<g;d++)T[d]=n(1-((x[d]-b[d])/v+m),0,1);return T};var i=1e20;function a(t,e,r,n,i,a,s){for(var l=0;l<e;l++){for(var c=0;c<r;c++)n[c]=t[c*e+l];for(o(n,i,a,s,r),c=0;c<r;c++)t[c*e+l]=i[c]}for(c=0;c<r;c++){for(l=0;l<e;l++)n[l]=t[c*e+l];for(o(n,i,a,s,e),l=0;l<e;l++)t[c*e+l]=Math.sqrt(i[l])}}function o(t,e,r,n,a){r[0]=0,n[0]=-i,n[1]=+i;for(var o=1,s=0;o<a;o++){for(var l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);l<=n[s];)s--,l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);r[++s]=o,n[s]=l,n[s+1]=+i}for(o=0,s=0;o<a;o++){for(;n[s+1]<o;)s++;e[o]=(o-r[s])*(o-r[s])+t[r[s]]}}},{clamp:102}],81:[function(t,e,r){!function(e,r){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof e?e.exports=a:r.BN=a,a.BN=a,a.wordSize=26;try{o=t("buffer").Buffer}catch(t){}function s(t,e,r){for(var n=0,i=Math.min(t.length,r),a=e;a<i;a++){var o=t.charCodeAt(a)-48;n<<=4,n|=o>=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function l(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o<a;o++){var s=t.charCodeAt(o)-48;i*=n,i+=s>=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var a,o,s=0;if("be"===r)for(i=t.length-1,a=0;i>=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i<t.length;i+=3)o=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var n,i,a=0;for(r=t.length-6,n=0;r>=e;r-=6)i=s(t,r,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==e&&(i=s(t,e,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,c=0,u=r;u<s;u+=n)c=l(t,u,u+n,e),this.imuln(i),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var f=1;for(c=l(t,u,t.length,e),u=0;u<o;u++)f*=e;this.imuln(f),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}},a.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},a.prototype.clone=function(){var t=new a(null);return this.copy(t),t},a.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function h(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c<n;c++){for(var u=l>>>26,f=67108863&l,h=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=h;p++){var d=c-p|0;u+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[c]=0|f,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,a=0,o=0;o<this.length;o++){var s=this.words[o],l=(16777215&(s<<i|a)).toString(16);r=0!==(a=s>>>24-i&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var h=u[t],p=f[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var g=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?g+r:c[h-g.length]+g+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n("undefined"!=typeof o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,c=new t(a),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s<a;s++)c[s]=0}else{for(s=0;s<a-i;s++)c[s]=0;for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[a-s-1]=o}return c},Math.clz32?a.prototype._countBits=function(t){return 32-Math.clz32(t)}:a.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},a.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return 0!==this.negative},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},a.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},a.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},a.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},a.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},a.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},a.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},a.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a<n.length;a++)e=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&e,i=e>>>26;for(;0!==i&&a<r.length;a++)e=(0|r.words[a])+i,this.words[a]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},a.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o<n.length;o++)a=(e=(0|r.words[o])-(0|n.words[o])+a)>>26,this.words[o]=67108863&e;for(;0!==a&&o<r.length;o++)a=(e=(0|r.words[o])+a)>>26,this.words[o]=67108863&e;if(0===a&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},a.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,e,r){var n,i,a,o=t.words,s=e.words,l=r.words,c=0,u=0|o[0],f=8191&u,h=u>>>13,p=0|o[1],d=8191&p,g=p>>>13,m=0|o[2],v=8191&m,y=m>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],k=8191&w,M=w>>>13,A=0|o[5],T=8191&A,S=A>>>13,E=0|o[6],C=8191&E,L=E>>>13,z=0|o[7],P=8191&z,O=z>>>13,I=0|o[8],D=8191&I,R=I>>>13,B=0|o[9],F=8191&B,N=B>>>13,j=0|s[0],V=8191&j,U=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,W=0|s[2],Y=8191&W,X=W>>>13,Z=0|s[3],$=8191&Z,J=Z>>>13,K=0|s[4],Q=8191&K,tt=K>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ft=8191&ut,ht=ut>>>13,pt=0|s[9],dt=8191&pt,gt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var mt=(c+(n=Math.imul(f,V))|0)+((8191&(i=(i=Math.imul(f,U))+Math.imul(h,V)|0))<<13)|0;c=((a=Math.imul(h,U))+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(d,V),i=(i=Math.imul(d,U))+Math.imul(g,V)|0,a=Math.imul(g,U);var vt=(c+(n=n+Math.imul(f,H)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,H)|0))<<13)|0;c=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,V),i=(i=Math.imul(v,U))+Math.imul(y,V)|0,a=Math.imul(y,U),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(g,H)|0,a=a+Math.imul(g,G)|0;var yt=(c+(n=n+Math.imul(f,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,Y)|0))<<13)|0;c=((a=a+Math.imul(h,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,V),i=(i=Math.imul(b,U))+Math.imul(_,V)|0,a=Math.imul(_,U),n=n+Math.imul(v,H)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,H)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(g,Y)|0,a=a+Math.imul(g,X)|0;var xt=(c+(n=n+Math.imul(f,$)|0)|0)+((8191&(i=(i=i+Math.imul(f,J)|0)+Math.imul(h,$)|0))<<13)|0;c=((a=a+Math.imul(h,J)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(k,V),i=(i=Math.imul(k,U))+Math.imul(M,V)|0,a=Math.imul(M,U),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(v,Y)|0,i=(i=i+Math.imul(v,X)|0)+Math.imul(y,Y)|0,a=a+Math.imul(y,X)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,J)|0)+Math.imul(g,$)|0,a=a+Math.imul(g,J)|0;var bt=(c+(n=n+Math.imul(f,Q)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,Q)|0))<<13)|0;c=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(T,V),i=(i=Math.imul(T,U))+Math.imul(S,V)|0,a=Math.imul(S,U),n=n+Math.imul(k,H)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(M,H)|0,a=a+Math.imul(M,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(v,$)|0,i=(i=i+Math.imul(v,J)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,J)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(g,Q)|0,a=a+Math.imul(g,tt)|0;var _t=(c+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;c=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(C,V),i=(i=Math.imul(C,U))+Math.imul(L,V)|0,a=Math.imul(L,U),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(k,Y)|0,i=(i=i+Math.imul(k,X)|0)+Math.imul(M,Y)|0,a=a+Math.imul(M,X)|0,n=n+Math.imul(b,$)|0,i=(i=i+Math.imul(b,J)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,J)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Q)|0,a=a+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,a=a+Math.imul(g,nt)|0;var wt=(c+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;c=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,V),i=(i=Math.imul(P,U))+Math.imul(O,V)|0,a=Math.imul(O,U),n=n+Math.imul(C,H)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(L,H)|0,a=a+Math.imul(L,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(k,$)|0,i=(i=i+Math.imul(k,J)|0)+Math.imul(M,$)|0,a=a+Math.imul(M,J)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,a=a+Math.imul(y,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(g,at)|0,a=a+Math.imul(g,ot)|0;var kt=(c+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ct)|0)+Math.imul(h,lt)|0))<<13)|0;c=((a=a+Math.imul(h,ct)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(D,V),i=(i=Math.imul(D,U))+Math.imul(R,V)|0,a=Math.imul(R,U),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(O,H)|0,a=a+Math.imul(O,G)|0,n=n+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,X)|0)+Math.imul(L,Y)|0,a=a+Math.imul(L,X)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,J)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(M,Q)|0,a=a+Math.imul(M,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(v,at)|0,i=(i=i+Math.imul(v,ot)|0)+Math.imul(y,at)|0,a=a+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ct)|0)+Math.imul(g,lt)|0,a=a+Math.imul(g,ct)|0;var Mt=(c+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;c=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(F,V),i=(i=Math.imul(F,U))+Math.imul(N,V)|0,a=Math.imul(N,U),n=n+Math.imul(D,H)|0,i=(i=i+Math.imul(D,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(O,Y)|0,a=a+Math.imul(O,X)|0,n=n+Math.imul(C,$)|0,i=(i=i+Math.imul(C,J)|0)+Math.imul(L,$)|0,a=a+Math.imul(L,J)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(M,rt)|0,a=a+Math.imul(M,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(v,lt)|0,i=(i=i+Math.imul(v,ct)|0)+Math.imul(y,lt)|0,a=a+Math.imul(y,ct)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(g,ft)|0,a=a+Math.imul(g,ht)|0;var At=(c+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,gt)|0)+Math.imul(h,dt)|0))<<13)|0;c=((a=a+Math.imul(h,gt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(F,H),i=(i=Math.imul(F,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(D,Y)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,J)|0)+Math.imul(O,$)|0,a=a+Math.imul(O,J)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(L,Q)|0,a=a+Math.imul(L,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(k,at)|0,i=(i=i+Math.imul(k,ot)|0)+Math.imul(M,at)|0,a=a+Math.imul(M,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ct)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ct)|0,n=n+Math.imul(v,ft)|0,i=(i=i+Math.imul(v,ht)|0)+Math.imul(y,ft)|0,a=a+Math.imul(y,ht)|0;var Tt=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;c=((a=a+Math.imul(g,gt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(F,Y),i=(i=Math.imul(F,X))+Math.imul(N,Y)|0,a=Math.imul(N,X),n=n+Math.imul(D,$)|0,i=(i=i+Math.imul(D,J)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,J)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(O,Q)|0,a=a+Math.imul(O,tt)|0,n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(L,rt)|0,a=a+Math.imul(L,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(k,lt)|0,i=(i=i+Math.imul(k,ct)|0)+Math.imul(M,lt)|0,a=a+Math.imul(M,ct)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(c+(n=n+Math.imul(v,dt)|0)|0)+((8191&(i=(i=i+Math.imul(v,gt)|0)+Math.imul(y,dt)|0))<<13)|0;c=((a=a+Math.imul(y,gt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(F,$),i=(i=Math.imul(F,J))+Math.imul(N,$)|0,a=Math.imul(N,J),n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(O,rt)|0,a=a+Math.imul(O,nt)|0,n=n+Math.imul(C,at)|0,i=(i=i+Math.imul(C,ot)|0)+Math.imul(L,at)|0,a=a+Math.imul(L,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ct)|0,n=n+Math.imul(k,ft)|0,i=(i=i+Math.imul(k,ht)|0)+Math.imul(M,ft)|0,a=a+Math.imul(M,ht)|0;var Et=(c+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;c=((a=a+Math.imul(_,gt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(F,Q),i=(i=Math.imul(F,tt))+Math.imul(N,Q)|0,a=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(P,at)|0,i=(i=i+Math.imul(P,ot)|0)+Math.imul(O,at)|0,a=a+Math.imul(O,ot)|0,n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ct)|0)+Math.imul(L,lt)|0,a=a+Math.imul(L,ct)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Ct=(c+(n=n+Math.imul(k,dt)|0)|0)+((8191&(i=(i=i+Math.imul(k,gt)|0)+Math.imul(M,dt)|0))<<13)|0;c=((a=a+Math.imul(M,gt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(F,rt),i=(i=Math.imul(F,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(D,at)|0,i=(i=i+Math.imul(D,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(P,lt)|0,i=(i=i+Math.imul(P,ct)|0)+Math.imul(O,lt)|0,a=a+Math.imul(O,ct)|0,n=n+Math.imul(C,ft)|0,i=(i=i+Math.imul(C,ht)|0)+Math.imul(L,ft)|0,a=a+Math.imul(L,ht)|0;var Lt=(c+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,gt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((a=a+Math.imul(S,gt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(F,at),i=(i=Math.imul(F,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ct)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ct)|0,n=n+Math.imul(P,ft)|0,i=(i=i+Math.imul(P,ht)|0)+Math.imul(O,ft)|0,a=a+Math.imul(O,ht)|0;var zt=(c+(n=n+Math.imul(C,dt)|0)|0)+((8191&(i=(i=i+Math.imul(C,gt)|0)+Math.imul(L,dt)|0))<<13)|0;c=((a=a+Math.imul(L,gt)|0)+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863,n=Math.imul(F,lt),i=(i=Math.imul(F,ct))+Math.imul(N,lt)|0,a=Math.imul(N,ct),n=n+Math.imul(D,ft)|0,i=(i=i+Math.imul(D,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var Pt=(c+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,gt)|0)+Math.imul(O,dt)|0))<<13)|0;c=((a=a+Math.imul(O,gt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(F,ft),i=(i=Math.imul(F,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var Ot=(c+(n=n+Math.imul(D,dt)|0)|0)+((8191&(i=(i=i+Math.imul(D,gt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((a=a+Math.imul(R,gt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var It=(c+(n=Math.imul(F,dt))|0)+((8191&(i=(i=Math.imul(F,gt))+Math.imul(N,dt)|0))<<13)|0;return c=((a=Math.imul(N,gt))+(i>>>13)|0)+(It>>>26)|0,It&=67108863,l[0]=mt,l[1]=vt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=kt,l[8]=Mt,l[9]=At,l[10]=Tt,l[11]=St,l[12]=Et,l[13]=Ct,l[14]=Lt,l[15]=zt,l[16]=Pt,l[17]=Ot,l[18]=It,0!==c&&(l[19]=c,r.length++),r};function d(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=h),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?h(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a<r.length-1;a++){var o=i;i=0;for(var s=67108863&n,l=Math.min(a,e.length-1),c=Math.max(0,a-t.length+1);c<=l;c++){var u=a-c,f=(0|t.words[u])*(0|e.words[c]),h=67108863&f;s=67108863&(h=h+s|0),i+=(o=(o=o+(f/67108864|0)|0)+(h>>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):d(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},g.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o<a;o++)n[o]=e[t[o]],i[o]=r[t[o]]},g.prototype.transform=function(t,e,r,n,i,a){this.permute(a,t,e,r,n,i);for(var o=1;o<i;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),u=0;u<i;u+=s)for(var f=l,h=c,p=0;p<o;p++){var d=r[u+p],g=n[u+p],m=r[u+p+o],v=n[u+p+o],y=f*m-h*v;v=f*v+h*m,m=y,r[u+p]=d+m,n[u+p]=g+v,r[u+p+o]=d-m,n[u+p+o]=g-v,p!==s&&(y=l*f-c*h,h=l*h+c*f,f=y)}},g.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},g.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},g.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},g.prototype.convert13b=function(t,e,r,i){for(var a=0,o=0;o<e;o++)a+=0|t[o],r[2*o]=8191&a,a>>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o<i;++o)r[o]=0;n(0===a),n(0==(-8192&a))},g.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},g.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),a=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),c=new Array(n),u=new Array(n),f=new Array(n),h=r.words;h.length=n,this.convert13b(t.words,t.length,o,n),this.convert13b(e.words,e.length,c,n),this.transform(o,a,s,l,n,i),this.transform(c,a,u,f,n,i);for(var p=0;p<n;p++){var d=s[p]*u[p]-l[p]*f[p];l[p]=s[p]*f[p]+l[p]*u[p],s[p]=d}return this.conjugate(s,l,n),this.transform(s,l,h,a,n,i),this.conjugate(h,a,n),this.normalize13b(h,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},a.prototype.mul=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},a.prototype.mulf=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),d(this,t,e)},a.prototype.imul=function(t){return this.clone().mulTo(t,this)},a.prototype.imuln=function(t){n("number"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var i=(0|this.words[r])*t,a=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},a.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e<this.length;e++){var s=this.words[e]&a,l=(0|this.words[e])-s<<r;this.words[e]=l|o,o=s>>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},a.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},a.prototype.iushrn=function(t,e,r){var i;n("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<<a,l=r;if(i-=o,i=Math.max(0,i),l){for(var c=0;c<o;c++)l.words[c]=this.words[c];l.length=o}if(0===o);else if(this.length>o)for(this.length-=o,c=0;c<this.length;c++)this.words[c]=this.words[c+o];else this.words[0]=0,this.length=1;var u=0;for(c=this.length-1;c>=0&&(0!==u||c>=i);c--){var f=0|this.words[c];this.words[c]=u<<26-a|f>>>a,u=f&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r)&&!!(this.words[r]&i)},a.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},a.prototype.maskn=function(t){return this.clone().imaskn(t)},a.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},a.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},a.prototype.addn=function(t){return this.clone().iaddn(t)},a.prototype.subn=function(t){return this.clone().isubn(t)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(t,e,r){var i,a,o=t.length+r;this._expand(o);var s=0;for(i=0;i<t.length;i++){a=(0|this.words[i+r])+s;var l=(0|t.words[i])*e;s=((a-=67108863&l)>>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i<this.length-r;i++)s=(a=(0|this.words[i+r])+s)>>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i<this.length;i++)s=(a=-(0|this.words[i])+s)>>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c<s.length;c++)s.words[c]=0}var u=n.clone()._ishlnsubmul(i,1,l);0===u.negative&&(n=u,s&&(s.words[l]=1));for(var f=l-1;f>=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(i=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(u),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var d=0,g=1;0==(r.words[0]&g)&&d<26;++d,g<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,u=1;0==(e.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,o=r;0!==a&&o<this.length;o++){var s=0|this.words[o];a=(s+=a)>>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},a.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},a.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new w(t)},a.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function x(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function b(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function w(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){w.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):r.strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},i(y,v),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n<r;n++)e.words[n]=t.words[n];if(e.length=r,t.length<=9)return t.words[0]=0,void(t.length=1);var i=t.words[9];for(e.words[e.length++]=4194303&i,n=10;n<t.length;n++){var a=0|t.words[n];t.words[n-10]=(4194303&a)<<4|i>>>22,i=a}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(x,v),i(b,v),i(_,v),_.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(m[t])return m[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new x;else if("p192"===t)e=new b;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new _}return m[t]=e,e},w.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},w.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},w.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},w.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},w.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},w.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},w.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},w.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},w.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},w.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},w.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},w.prototype.isqr=function(t){return this.imul(t,t.clone())},w.prototype.sqr=function(t){return this.mul(t,t)},w.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var f=this.pow(u,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var g=p,m=0;0!==g.cmp(s);m++)g=g.redSqr();n(m<d);var v=this.pow(f,new a(1).iushln(d-m-1));h=h.redMul(v),f=v.redSqr(),p=p.redMul(f),d=m}return h},w.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},w.prototype.pow=function(t,e){if(e.isZero())return new a(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new a(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=r[0],o=0,s=0,l=e.bitLength()%26;for(0===l&&(l=26),n=e.length-1;n>=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var f=c>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4===++s||0===n&&0===u)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},w.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},w.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new k(t)},i(k,w),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}("undefined"==typeof e||e,this)},{buffer:90}],82:[function(t,e,r){"use strict";e.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e<i;++e)a+=t[e].length;var o=new Array(a),s=0;for(e=0;e<i;++e){var l=t[e],c=l.length;for(r=0;r<c;++r){var u=o[s++]=new Array(c-1),f=0;for(n=0;n<c;++n)n!==r&&(u[f++]=l[n]);if(1&r){var h=u[1];u[1]=u[0],u[0]=h}}}return o}},{}],83:[function(t,e,r){"use strict";e.exports=function(t,e,r){switch(arguments.length){case 1:return n=[],c(i=t,i,u,!0),n;case 2:return"function"==typeof e?c(t,t,e,!0):function(t,e){return n=[],c(t,e,u,!1),n}(t,e);case 3:return c(t,e,r,!1);default:throw new Error("box-intersect: Invalid arguments")}var i};var n,i=t("typedarray-pool"),a=t("./lib/sweep"),o=t("./lib/intersect");function s(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function l(t,e,r,n){for(var i=0,a=0,o=0,l=t.length;o<l;++o){var c=t[o];if(!s(e,c)){for(var u=0;u<2*e;++u)r[i++]=c[u];n[a++]=o}}return a}function c(t,e,r,n){var s=t.length,c=e.length;if(!(s<=0||c<=0)){var u=t[0].length>>>1;if(!(u<=0)){var f,h=i.mallocDouble(2*u*s),p=i.mallocInt32(s);if((s=l(t,u,h,p))>0){if(1===u&&n)a.init(s),f=a.sweepComplete(u,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*u*c),g=i.mallocInt32(c);(c=l(e,u,d,g))>0&&(a.init(s+c),f=1===u?a.sweepBipartite(u,r,0,s,h,p,0,c,d,g):o(u,r,n,s,h,p,c,d,g),i.free(d),i.free(g))}i.free(h),i.free(p)}return f}}}function u(t,e){n.push([t,e])}},{"./lib/intersect":85,"./lib/sweep":89,"typedarray-pool":519}],84:[function(t,e,r){"use strict";var n="d",i="ax",a="vv",o="fp",s="es",l="rs",c="re",u="rb",f="ri",h="rp",p="bs",d="be",g="bb",m="bi",v="bp",y="rv",x="Q",b=[n,i,a,l,c,u,f,p,d,g,m];function _(t){var e="bruteForce"+(t?"Full":"Partial"),r=[],_=b.slice();t||_.splice(3,0,o);var w=["function "+e+"("+_.join()+"){"];function k(e,o){var _=function(t,e,r){var o="bruteForce"+(t?"Red":"Blue")+(e?"Flip":"")+(r?"Full":""),_=["function ",o,"(",b.join(),"){","var ",s,"=2*",n,";"],w="for(var i="+l+","+h+"="+s+"*"+l+";i<"+c+";++i,"+h+"+="+s+"){var x0="+u+"["+i+"+"+h+"],x1="+u+"["+i+"+"+h+"+"+n+"],xi="+f+"[i];",k="for(var j="+p+","+v+"="+s+"*"+p+";j<"+d+";++j,"+v+"+="+s+"){var y0="+g+"["+i+"+"+v+"],"+(r?"y1="+g+"["+i+"+"+v+"+"+n+"],":"")+"yi="+m+"[j];";return t?_.push(w,x,":",k):_.push(k,x,":",w),r?_.push("if(y1<x0||x1<y0)continue;"):e?_.push("if(y0<=x0||x1<y0)continue;"):_.push("if(y0<x0||x1<y0)continue;"),_.push("for(var k="+i+"+1;k<"+n+";++k){var r0="+u+"[k+"+h+"],r1="+u+"[k+"+n+"+"+h+"],b0="+g+"[k+"+v+"],b1="+g+"[k+"+n+"+"+v+"];if(r1<b0||b1<r0)continue "+x+";}var "+y+"="+a+"("),e?_.push("yi,xi"):_.push("xi,yi"),_.push(");if("+y+"!==void 0)return "+y+";}}}"),{name:o,code:_.join("")}}(e,o,t);r.push(_.code),w.push("return "+_.name+"("+b.join()+");")}w.push("if("+c+"-"+l+">"+d+"-"+p+"){"),t?(k(!0,!1),w.push("}else{"),k(!1,!1)):(w.push("if("+o+"){"),k(!0,!0),w.push("}else{"),k(!0,!1),w.push("}}else{if("+o+"){"),k(!1,!0),w.push("}else{"),k(!1,!1),w.push("}")),w.push("}}return "+e);var M=r.join("")+w.join("");return new Function(M)()}r.partial=_(!1),r.full=_(!0)},{}],85:[function(t,e,r){"use strict";e.exports=function(t,e,r,a,u,S,E,C,L){!function(t,e){var r=8*i.log2(e+1)*(t+1)|0,a=i.nextPow2(b*r);w.length<a&&(n.free(w),w=n.mallocInt32(a));var o=i.nextPow2(_*r);k<o&&(n.free(k),k=n.mallocDouble(o))}(t,a+E);var z,P=0,O=2*t;M(P++,0,0,a,0,E,r?16:0,-1/0,1/0),r||M(P++,0,0,E,0,a,1,-1/0,1/0);for(;P>0;){var I=(P-=1)*b,D=w[I],R=w[I+1],B=w[I+2],F=w[I+3],N=w[I+4],j=w[I+5],V=P*_,U=k[V],q=k[V+1],H=1&j,G=!!(16&j),W=u,Y=S,X=C,Z=L;if(H&&(W=C,Y=L,X=u,Z=S),!(2&j&&(B=m(t,D,R,B,W,Y,q),R>=B)||4&j&&(R=v(t,D,R,B,W,Y,U))>=B)){var $=B-R,J=N-F;if(G){if(t*$*($+J)<p){if(void 0!==(z=l.scanComplete(t,D,e,R,B,W,Y,F,N,X,Z)))return z;continue}}else{if(t*Math.min($,J)<f){if(void 0!==(z=o(t,D,e,H,R,B,W,Y,F,N,X,Z)))return z;continue}if(t*$*J<h){if(void 0!==(z=l.scanBipartite(t,D,e,H,R,B,W,Y,F,N,X,Z)))return z;continue}}var K=d(t,D,R,B,W,Y,U,q);if(R<K)if(t*(K-R)<f){if(void 0!==(z=s(t,D+1,e,R,K,W,Y,F,N,X,Z)))return z}else if(D===t-2){if(void 0!==(z=H?l.sweepBipartite(t,e,F,N,X,Z,R,K,W,Y):l.sweepBipartite(t,e,R,K,W,Y,F,N,X,Z)))return z}else M(P++,D+1,R,K,F,N,H,-1/0,1/0),M(P++,D+1,F,N,R,K,1^H,-1/0,1/0);if(K<B){var Q=c(t,D,F,N,X,Z),tt=X[O*Q+D],et=g(t,D,Q,N,X,Z,tt);if(et<N&&M(P++,D,K,B,et,N,(4|H)+(G?16:0),tt,q),F<Q&&M(P++,D,K,B,F,Q,(2|H)+(G?16:0),U,tt),Q+1===et){if(void 0!==(z=G?T(t,D,e,K,B,W,Y,Q,X,Z[Q]):A(t,D,e,H,K,B,W,Y,Q,X,Z[Q])))return z}else if(Q<et){var rt;if(G){if(rt=y(t,D,K,B,W,Y,tt),K<rt){var nt=g(t,D,K,rt,W,Y,tt);if(D===t-2){if(K<nt&&void 0!==(z=l.sweepComplete(t,e,K,nt,W,Y,Q,et,X,Z)))return z;if(nt<rt&&void 0!==(z=l.sweepBipartite(t,e,nt,rt,W,Y,Q,et,X,Z)))return z}else K<nt&&M(P++,D+1,K,nt,Q,et,16,-1/0,1/0),nt<rt&&(M(P++,D+1,nt,rt,Q,et,0,-1/0,1/0),M(P++,D+1,Q,et,nt,rt,1,-1/0,1/0))}}else rt=H?x(t,D,K,B,W,Y,tt):y(t,D,K,B,W,Y,tt),K<rt&&(D===t-2?z=H?l.sweepBipartite(t,e,Q,et,X,Z,K,rt,W,Y):l.sweepBipartite(t,e,K,rt,W,Y,Q,et,X,Z):(M(P++,D+1,K,rt,Q,et,H,-1/0,1/0),M(P++,D+1,Q,et,K,rt,1^H,-1/0,1/0)))}}}}};var n=t("typedarray-pool"),i=t("bit-twiddle"),a=t("./brute"),o=a.partial,s=a.full,l=t("./sweep"),c=t("./median"),u=t("./partition"),f=128,h=1<<22,p=1<<22,d=u("!(lo>=p0)&&!(p1>=hi)",["p0","p1"]),g=u("lo===p0",["p0"]),m=u("lo<p0",["p0"]),v=u("hi<=p0",["p0"]),y=u("lo<=p0&&p0<=hi",["p0"]),x=u("lo<p0&&p0<=hi",["p0"]),b=6,_=2,w=n.mallocInt32(1024),k=n.mallocDouble(1024);function M(t,e,r,n,i,a,o,s,l){var c=b*t;w[c]=e,w[c+1]=r,w[c+2]=n,w[c+3]=i,w[c+4]=a,w[c+5]=o;var u=_*t;k[u]=s,k[u+1]=l}function A(t,e,r,n,i,a,o,s,l,c,u){var f=2*t,h=l*f,p=c[h+e];t:for(var d=i,g=i*f;d<a;++d,g+=f){var m=o[g+e],v=o[g+e+t];if(!(p<m||v<p)&&(!n||p!==m)){for(var y,x=s[d],b=e+1;b<t;++b){m=o[g+b],v=o[g+b+t];var _=c[h+b],w=c[h+b+t];if(v<_||w<m)continue t}if(void 0!==(y=n?r(u,x):r(x,u)))return y}}}function T(t,e,r,n,i,a,o,s,l,c){var u=2*t,f=s*u,h=l[f+e];t:for(var p=n,d=n*u;p<i;++p,d+=u){var g=o[p];if(g!==c){var m=a[d+e],v=a[d+e+t];if(!(h<m||v<h)){for(var y=e+1;y<t;++y){m=a[d+y],v=a[d+y+t];var x=l[f+y],b=l[f+y+t];if(v<x||b<m)continue t}var _=r(g,c);if(void 0!==_)return _}}}}},{"./brute":84,"./median":86,"./partition":87,"./sweep":89,"bit-twiddle":79,"typedarray-pool":519}],86:[function(t,e,r){"use strict";e.exports=function(t,e,r,o,s,l){if(o<=r+1)return r;var c=r,u=o,f=o+r>>>1,h=2*t,p=f,d=s[h*f+e];for(;c<u;){if(u-c<i){a(t,e,c,u,s,l),d=s[h*f+e];break}var g=u-c,m=Math.random()*g+c|0,v=s[h*m+e],y=Math.random()*g+c|0,x=s[h*y+e],b=Math.random()*g+c|0,_=s[h*b+e];v<=x?_>=x?(p=y,d=x):v>=_?(p=m,d=v):(p=b,d=_):x>=_?(p=y,d=x):_>=v?(p=m,d=v):(p=b,d=_);for(var w=h*(u-1),k=h*p,M=0;M<h;++M,++w,++k){var A=s[w];s[w]=s[k],s[k]=A}var T=l[u-1];l[u-1]=l[p],l[p]=T,p=n(t,e,c,u-1,s,l,d);for(var w=h*(u-1),k=h*p,M=0;M<h;++M,++w,++k){var A=s[w];s[w]=s[k],s[k]=A}var T=l[u-1];if(l[u-1]=l[p],l[p]=T,f<p){for(u=p-1;c<u&&s[h*(u-1)+e]===d;)u-=1;u+=1}else{if(!(p<f))break;for(c=p+1;c<u&&s[h*c+e]===d;)c+=1}}return n(t,e,r,f,s,l,s[h*f+e])};var n=t("./partition")("lo<p0",["p0"]),i=8;function a(t,e,r,n,i,a){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var c=i[s],u=l,f=o*(l-1);u>r&&i[f+e]>c;--u,f-=o){for(var h=f,p=f+o,d=0;d<o;++d,++h,++p){var g=i[h];i[h]=i[p],i[p]=g}var m=a[u];a[u]=a[u-1],a[u-1]=m}}},{"./partition":87}],87:[function(t,e,r){"use strict";e.exports=function(t,e){var r="abcdef".split("").concat(e),i=[];t.indexOf("lo")>=0&&i.push("lo=e[k+n]");t.indexOf("hi")>=0&&i.push("hi=e[k+o]");return r.push(n.replace("_",i.join()).replace("$",t)),Function.apply(void 0,r)};var n="for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m"},{}],88:[function(t,e,r){"use strict";e.exports=function(t,e){e<=4*n?i(0,e-1,t):function t(e,r,f){var h=(r-e+1)/6|0,p=e+h,d=r-h,g=e+r>>1,m=g-h,v=g+h,y=p,x=m,b=g,_=v,w=d,k=e+1,M=r-1,A=0;c(y,x,f)&&(A=y,y=x,x=A);c(_,w,f)&&(A=_,_=w,w=A);c(y,b,f)&&(A=y,y=b,b=A);c(x,b,f)&&(A=x,x=b,b=A);c(y,_,f)&&(A=y,y=_,_=A);c(b,_,f)&&(A=b,b=_,_=A);c(x,w,f)&&(A=x,x=w,w=A);c(x,b,f)&&(A=x,x=b,b=A);c(_,w,f)&&(A=_,_=w,w=A);var T=f[2*x];var S=f[2*x+1];var E=f[2*_];var C=f[2*_+1];var L=2*y;var z=2*b;var P=2*w;var O=2*p;var I=2*g;var D=2*d;for(var R=0;R<2;++R){var B=f[L+R],F=f[z+R],N=f[P+R];f[O+R]=B,f[I+R]=F,f[D+R]=N}o(m,e,f);o(v,r,f);for(var j=k;j<=M;++j)if(u(j,T,S,f))j!==k&&a(j,k,f),++k;else if(!u(j,E,C,f))for(;;){if(u(M,E,C,f)){u(M,T,S,f)?(s(j,k,M,f),++k,--M):(a(j,M,f),--M);break}if(--M<j)break}l(e,k-1,T,S,f);l(r,M+1,E,C,f);k-2-e<=n?i(e,k-2,f):t(e,k-2,f);r-(M+2)<=n?i(M+2,r,f):t(M+2,r,f);M-k<=n?i(k,M,f):t(k,M,f)}(0,e-1,t)};var n=32;function i(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var c=r[l-2],u=r[l-1];if(c<a)break;if(c===a&&u<o)break;r[l]=c,r[l+1]=u,l-=2}r[l]=a,r[l+1]=o}}function a(t,e,r){e*=2;var n=r[t*=2],i=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=i}function o(t,e,r){e*=2,r[t*=2]=r[e],r[t+1]=r[e+1]}function s(t,e,r,n){e*=2,r*=2;var i=n[t*=2],a=n[t+1];n[t]=n[e],n[t+1]=n[e+1],n[e]=n[r],n[e+1]=n[r+1],n[r]=i,n[r+1]=a}function l(t,e,r,n,i){e*=2,i[t*=2]=i[e],i[e]=r,i[t+1]=i[e+1],i[e+1]=n}function c(t,e,r){e*=2;var n=r[t*=2],i=r[e];return!(n<i)&&(n!==i||r[t+1]>r[e+1])}function u(t,e,r,n){var i=n[t*=2];return i<e||i===e&&n[t+1]<r}},{}],89:[function(t,e,r){"use strict";e.exports={init:function(t){var e=i.nextPow2(t);s.length<e&&(n.free(s),s=n.mallocInt32(e));l.length<e&&(n.free(l),l=n.mallocInt32(e));c.length<e&&(n.free(c),c=n.mallocInt32(e));u.length<e&&(n.free(u),u=n.mallocInt32(e));f.length<e&&(n.free(f),f=n.mallocInt32(e));h.length<e&&(n.free(h),h=n.mallocInt32(e));var r=8*e;p.length<r&&(n.free(p),p=n.mallocDouble(r))},sweepBipartite:function(t,e,r,n,i,f,h,m,v,y){for(var x=0,b=2*t,_=t-1,w=b-1,k=r;k<n;++k){var M=f[k],A=b*k;p[x++]=i[A+_],p[x++]=-(M+1),p[x++]=i[A+w],p[x++]=M}for(var k=h;k<m;++k){var M=y[k]+o,T=b*k;p[x++]=v[T+_],p[x++]=-M,p[x++]=v[T+w],p[x++]=M}var S=x>>>1;a(p,S);for(var E=0,C=0,k=0;k<S;++k){var L=0|p[2*k+1];if(L>=o)d(c,u,C--,L=L-o|0);else if(L>=0)d(s,l,E--,L);else if(L<=-o){L=-L-o|0;for(var z=0;z<E;++z){var P=e(s[z],L);if(void 0!==P)return P}g(c,u,C++,L)}else{L=-L-1|0;for(var z=0;z<C;++z){var P=e(L,c[z]);if(void 0!==P)return P}g(s,l,E++,L)}}},sweepComplete:function(t,e,r,n,i,o,m,v,y,x){for(var b=0,_=2*t,w=t-1,k=_-1,M=r;M<n;++M){var A=o[M]+1<<1,T=_*M;p[b++]=i[T+w],p[b++]=-A,p[b++]=i[T+k],p[b++]=A}for(var M=m;M<v;++M){var A=x[M]+1<<1,S=_*M;p[b++]=y[S+w],p[b++]=1|-A,p[b++]=y[S+k],p[b++]=1|A}var E=b>>>1;a(p,E);for(var C=0,L=0,z=0,M=0;M<E;++M){var P=0|p[2*M+1],O=1&P;if(M<E-1&&P>>1==p[2*M+3]>>1&&(O=2,M+=1),P<0){for(var I=-(P>>1)-1,D=0;D<z;++D){var R=e(f[D],I);if(void 0!==R)return R}if(0!==O)for(var D=0;D<C;++D){var R=e(s[D],I);if(void 0!==R)return R}if(1!==O)for(var D=0;D<L;++D){var R=e(c[D],I);if(void 0!==R)return R}0===O?g(s,l,C++,I):1===O?g(c,u,L++,I):2===O&&g(f,h,z++,I)}else{var I=(P>>1)-1;0===O?d(s,l,C--,I):1===O?d(c,u,L--,I):2===O&&d(f,h,z--,I)}}},scanBipartite:function(t,e,r,n,i,c,u,f,h,m,v,y){var x=0,b=2*t,_=e,w=e+t,k=1,M=1;n?M=o:k=o;for(var A=i;A<c;++A){var T=A+k,S=b*A;p[x++]=u[S+_],p[x++]=-T,p[x++]=u[S+w],p[x++]=T}for(var A=h;A<m;++A){var T=A+M,E=b*A;p[x++]=v[E+_],p[x++]=-T}var C=x>>>1;a(p,C);for(var L=0,A=0;A<C;++A){var z=0|p[2*A+1];if(z<0){var T=-z,P=!1;if(T>=o?(P=!n,T-=o):(P=!!n,T-=1),P)g(s,l,L++,T);else{var O=y[T],I=b*T,D=v[I+e+1],R=v[I+e+1+t];t:for(var B=0;B<L;++B){var F=s[B],N=b*F;if(!(R<u[N+e+1]||u[N+e+1+t]<D)){for(var j=e+2;j<t;++j)if(v[I+j+t]<u[N+j]||u[N+j+t]<v[I+j])continue t;var V,U=f[F];if(void 0!==(V=n?r(O,U):r(U,O)))return V}}}}else d(s,l,L--,z-k)}},scanComplete:function(t,e,r,n,i,l,c,u,f,h,d){for(var g=0,m=2*t,v=e,y=e+t,x=n;x<i;++x){var b=x+o,_=m*x;p[g++]=l[_+v],p[g++]=-b,p[g++]=l[_+y],p[g++]=b}for(var x=u;x<f;++x){var b=x+1,w=m*x;p[g++]=h[w+v],p[g++]=-b}var k=g>>>1;a(p,k);for(var M=0,x=0;x<k;++x){var A=0|p[2*x+1];if(A<0){var b=-A;if(b>=o)s[M++]=b-o;else{var T=d[b-=1],S=m*b,E=h[S+e+1],C=h[S+e+1+t];t:for(var L=0;L<M;++L){var z=s[L],P=c[z];if(P===T)break;var O=m*z;if(!(C<l[O+e+1]||l[O+e+1+t]<E)){for(var I=e+2;I<t;++I)if(h[S+I+t]<l[O+I]||l[O+I+t]<h[S+I])continue t;var D=r(P,T);if(void 0!==D)return D}}}}else{for(var b=A-o,L=M-1;L>=0;--L)if(s[L]===b){for(var I=L+1;I<M;++I)s[I-1]=s[I];break}--M}}}};var n=t("typedarray-pool"),i=t("bit-twiddle"),a=t("./sort"),o=1<<28,s=n.mallocInt32(1024),l=n.mallocInt32(1024),c=n.mallocInt32(1024),u=n.mallocInt32(1024),f=n.mallocInt32(1024),h=n.mallocInt32(1024),p=n.mallocDouble(8192);function d(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function g(t,e,r,n){t[r]=n,e[n]=r}},{"./sort":88,"bit-twiddle":79,"typedarray-pool":519}],90:[function(t,e,r){},{}],91:[function(t,e,r){var n=Object.create||function(t){var e=function(){};return e.prototype=t,new e},i=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r);return r},a=Function.prototype.bind||function(t){var e=this;return function(){return e.apply(t,arguments)}};function o(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=n(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}e.exports=o,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._maxListeners=void 0;var s,l=10;try{var c={};Object.defineProperty&&Object.defineProperty(c,"x",{value:0}),s=0===c.x}catch(t){s=!1}function u(t){return void 0===t._maxListeners?o.defaultMaxListeners:t._maxListeners}function f(t,e,r,i){var a,o,s;if("function"!=typeof r)throw new TypeError('"listener" argument must be a function');if((o=t._events)?(o.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]):(o=t._events=n(null),t._eventsCount=0),s){if("function"==typeof s?s=o[e]=i?[r,s]:[s,r]:i?s.unshift(r):s.push(r),!s.warned&&(a=u(t))&&a>0&&s.length>a){s.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+s.length+' "'+String(e)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');l.name="MaxListenersExceededWarning",l.emitter=t,l.type=e,l.count=s.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",l.name,l.message)}}else s=o[e]=r,++t._eventsCount;return t}function h(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e<t.length;++e)t[e]=arguments[e];this.listener.apply(this.target,t)}}function p(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=a.call(h,n);return i.listener=r,n.wrapFn=i,i}function d(t,e,r){var n=t._events;if(!n)return[];var i=n[e];return i?"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(i):m(i,i.length):[]}function g(t){var e=this._events;if(e){var r=e[t];if("function"==typeof r)return 1;if(r)return r.length}return 0}function m(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}s?Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return l},set:function(t){if("number"!=typeof t||t<0||t!=t)throw new TypeError('"defaultMaxListeners" must be a positive number');l=t}}):o.defaultMaxListeners=l,o.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||isNaN(t))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=t,this},o.prototype.getMaxListeners=function(){return u(this)},o.prototype.emit=function(t){var e,r,n,i,a,o,s="error"===t;if(o=this._events)s=s&&null==o.error;else if(!s)return!1;if(s){if(arguments.length>1&&(e=arguments[1]),e instanceof Error)throw e;var l=new Error('Unhandled "error" event. ('+e+")");throw l.context=e,l}if(!(r=o[t]))return!1;var c="function"==typeof r;switch(n=arguments.length){case 1:!function(t,e,r){if(e)t.call(r);else for(var n=t.length,i=m(t,n),a=0;a<n;++a)i[a].call(r)}(r,c,this);break;case 2:!function(t,e,r,n){if(e)t.call(r,n);else for(var i=t.length,a=m(t,i),o=0;o<i;++o)a[o].call(r,n)}(r,c,this,arguments[1]);break;case 3:!function(t,e,r,n,i){if(e)t.call(r,n,i);else for(var a=t.length,o=m(t,a),s=0;s<a;++s)o[s].call(r,n,i)}(r,c,this,arguments[1],arguments[2]);break;case 4:!function(t,e,r,n,i,a){if(e)t.call(r,n,i,a);else for(var o=t.length,s=m(t,o),l=0;l<o;++l)s[l].call(r,n,i,a)}(r,c,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(n-1),a=1;a<n;a++)i[a-1]=arguments[a];!function(t,e,r,n){if(e)t.apply(r,n);else for(var i=t.length,a=m(t,i),o=0;o<i;++o)a[o].apply(r,n)}(r,c,this,i)}return!0},o.prototype.addListener=function(t,e){return f(this,t,e,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(t,e){return f(this,t,e,!0)},o.prototype.once=function(t,e){if("function"!=typeof e)throw new TypeError('"listener" argument must be a function');return this.on(t,p(this,t,e)),this},o.prototype.prependOnceListener=function(t,e){if("function"!=typeof e)throw new TypeError('"listener" argument must be a function');return this.prependListener(t,p(this,t,e)),this},o.prototype.removeListener=function(t,e){var r,i,a,o,s;if("function"!=typeof e)throw new TypeError('"listener" argument must be a function');if(!(i=this._events))return this;if(!(r=i[t]))return this;if(r===e||r.listener===e)0==--this._eventsCount?this._events=n(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,r.listener||e));else if("function"!=typeof r){for(a=-1,o=r.length-1;o>=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,a=o;break}if(a<0)return this;0===a?r.shift():function(t,e){for(var r=e,n=r+1,i=t.length;n<i;r+=1,n+=1)t[r]=t[n];t.pop()}(r,a),1===r.length&&(i[t]=r[0]),i.removeListener&&this.emit("removeListener",t,s||e)}return this},o.prototype.removeAllListeners=function(t){var e,r,a;if(!(r=this._events))return this;if(!r.removeListener)return 0===arguments.length?(this._events=n(null),this._eventsCount=0):r[t]&&(0==--this._eventsCount?this._events=n(null):delete r[t]),this;if(0===arguments.length){var o,s=i(r);for(a=0;a<s.length;++a)"removeListener"!==(o=s[a])&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=n(null),this._eventsCount=0,this}if("function"==typeof(e=r[t]))this.removeListener(t,e);else if(e)for(a=e.length-1;a>=0;a--)this.removeListener(t,e[a]);return this},o.prototype.listeners=function(t){return d(this,t,!0)},o.prototype.rawListeners=function(t){return d(this,t,!1)},o.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},o.prototype.listenerCount=g,o.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],92:[function(t,e,r){"use strict";var n=t("base64-js"),i=t("ieee754");r.Buffer=s,r.SlowBuffer=function(t){+t!=t&&(t=0);return s.alloc(+t)},r.INSPECT_MAX_BYTES=50;var a=2147483647;function o(t){if(t>a)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return e.__proto__=s.prototype,e}function s(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return u(t)}return l(t,e,r)}function l(t,e,r){if("string"==typeof t)return function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!s.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|p(t,e),n=o(r),i=n.write(t,e);i!==r&&(n=n.slice(0,i));return n}(t,e);if(ArrayBuffer.isView(t))return f(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(j(t,ArrayBuffer)||t&&j(t.buffer,ArrayBuffer))return function(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');var n;n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=s.prototype,n}(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return s.from(n,e,r);var i=function(t){if(s.isBuffer(t)){var e=0|h(t.length),r=o(e);return 0===r.length?r:(t.copy(r,0,0,e),r)}if(void 0!==t.length)return"number"!=typeof t.length||V(t.length)?o(0):f(t);if("Buffer"===t.type&&Array.isArray(t.data))return f(t.data)}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return s.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function c(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function u(t){return c(t),o(t<0?0:0|h(t))}function f(t){for(var e=t.length<0?0:0|h(t.length),r=o(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function h(t){if(t>=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|t}function p(t,e){if(s.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||j(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return B(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return F(t).length;default:if(i)return n?-1:B(t).length;e=(""+e).toLowerCase(),i=!0}}function d(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function g(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),V(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=s.from(e,n)),s.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function m(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var u=-1;for(a=r;a<s;a++)if(c(t,a)===c(e,-1===u?0:a-u)){if(-1===u&&(u=a),a-u+1===l)return u*o}else-1!==u&&(a-=a-u),u=-1}else for(r+l>s&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;h<l;h++)if(c(t,a+h)!==c(e,h)){f=!1;break}if(f)return a}return-1}function v(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=e.length;n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(V(s))return o;t[r+o]=s}return o}function y(t,e,r,n){return N(B(e,t.length-r),t,r,n)}function x(t,e,r,n){return N(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function b(t,e,r,n){return x(t,e,r,n)}function _(t,e,r,n){return N(F(e),t,r,n)}function w(t,e,r,n){return N(function(t,e){for(var r,n,i,a=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function k(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function M(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var a,o,s,l,c=t[i],u=null,f=c>239?4:c>223?3:c>191?2:1;if(i+f<=r)switch(f){case 1:c<128&&(u=c);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,f=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=f}return function(t){var e=t.length;if(e<=A)return String.fromCharCode.apply(String,t);var r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=A));return r}(n)}r.kMaxLength=a,s.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()}catch(t){return!1}}(),s.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(s.prototype,"parent",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.buffer}}),Object.defineProperty(s.prototype,"offset",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&s[Symbol.species]===s&&Object.defineProperty(s,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),s.poolSize=8192,s.from=function(t,e,r){return l(t,e,r)},s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,s.alloc=function(t,e,r){return function(t,e,r){return c(t),t<=0?o(t):void 0!==e?"string"==typeof r?o(t).fill(e,r):o(t).fill(e):o(t)}(t,e,r)},s.allocUnsafe=function(t){return u(t)},s.allocUnsafeSlow=function(t){return u(t)},s.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==s.prototype},s.compare=function(t,e){if(j(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),j(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),!s.isBuffer(t)||!s.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},s.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},s.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return s.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=s.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var a=t[r];if(j(a,Uint8Array)&&(a=s.from(a)),!s.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i),i+=a.length}return n},s.byteLength=p,s.prototype._isBuffer=!0,s.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)d(this,e,e+1);return this},s.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)d(this,e,e+3),d(this,e+1,e+2);return this},s.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)d(this,e,e+7),d(this,e+1,e+6),d(this,e+2,e+5),d(this,e+3,e+4);return this},s.prototype.toString=function(){var t=this.length;return 0===t?"":0===arguments.length?M(this,0,t):function(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return E(this,e,r);case"utf8":case"utf-8":return M(this,e,r);case"ascii":return T(this,e,r);case"latin1":case"binary":return S(this,e,r);case"base64":return k(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(t){if(!s.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===s.compare(this,t)},s.prototype.inspect=function(){var t="",e=r.INSPECT_MAX_BYTES;return t=this.toString("hex",0,e).replace(/(.{2})/g,"$1 ").trim(),this.length>e&&(t+=" ... "),"<Buffer "+t+">"},s.prototype.compare=function(t,e,r,n,i){if(j(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),!s.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),l=Math.min(a,o),c=this.slice(n,i),u=t.slice(e,r),f=0;f<l;++f)if(c[f]!==u[f]){a=c[f],o=u[f];break}return a<o?-1:o<a?1:0},s.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},s.prototype.indexOf=function(t,e,r){return g(this,t,e,r,!0)},s.prototype.lastIndexOf=function(t,e,r){return g(this,t,e,r,!1)},s.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return v(this,t,e,r);case"utf8":case"utf-8":return y(this,t,e,r);case"ascii":return x(this,t,e,r);case"latin1":case"binary":return b(this,t,e,r);case"base64":return _(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function T(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function S(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function E(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i="",a=e;a<r;++a)i+=R(t[a]);return i}function C(t,e,r){for(var n=t.slice(e,r),i="",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function L(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function z(t,e,r,n,i,a){if(!s.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<a)throw new RangeError('"value" argument is out of bounds');if(r+n>t.length)throw new RangeError("Index out of range")}function P(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function O(t,e,r,n,a){return e=+e,r>>>=0,a||P(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function I(t,e,r,n,a){return e=+e,r>>>=0,a||P(t,0,r,8),i.write(t,e,r,n,52,8),r+8}s.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);var n=this.subarray(t,e);return n.__proto__=s.prototype,n},s.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n},s.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},s.prototype.readUInt8=function(t,e){return t>>>=0,e||L(t,1,this.length),this[t]},s.prototype.readUInt16LE=function(t,e){return t>>>=0,e||L(t,2,this.length),this[t]|this[t+1]<<8},s.prototype.readUInt16BE=function(t,e){return t>>>=0,e||L(t,2,this.length),this[t]<<8|this[t+1]},s.prototype.readUInt32LE=function(t,e){return t>>>=0,e||L(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},s.prototype.readUInt32BE=function(t,e){return t>>>=0,e||L(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},s.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*e)),n},s.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},s.prototype.readInt8=function(t,e){return t>>>=0,e||L(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},s.prototype.readInt16LE=function(t,e){t>>>=0,e||L(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt16BE=function(t,e){t>>>=0,e||L(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt32LE=function(t,e){return t>>>=0,e||L(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},s.prototype.readInt32BE=function(t,e){return t>>>=0,e||L(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},s.prototype.readFloatLE=function(t,e){return t>>>=0,e||L(t,4,this.length),i.read(this,t,!0,23,4)},s.prototype.readFloatBE=function(t,e){return t>>>=0,e||L(t,4,this.length),i.read(this,t,!1,23,4)},s.prototype.readDoubleLE=function(t,e){return t>>>=0,e||L(t,8,this.length),i.read(this,t,!0,52,8)},s.prototype.readDoubleBE=function(t,e){return t>>>=0,e||L(t,8,this.length),i.read(this,t,!1,52,8)},s.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||z(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a<r&&(i*=256);)this[e+a]=t/i&255;return e+r},s.prototype.writeUIntBE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||z(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},s.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,1,255,0),this[e]=255&t,e+1},s.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},s.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);z(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a<r&&(o*=256);)t<0&&0===s&&0!==this[e+a-1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},s.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);z(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},s.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},s.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},s.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeFloatLE=function(t,e,r){return O(this,t,e,!0,r)},s.prototype.writeFloatBE=function(t,e,r){return O(this,t,e,!1,r)},s.prototype.writeDoubleLE=function(t,e,r){return I(this,t,e,!0,r)},s.prototype.writeDoubleBE=function(t,e,r){return I(this,t,e,!1,r)},s.prototype.copy=function(t,e,r,n){if(!s.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i=n-r;if(this===t&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(e,r,n);else if(this===t&&r<e&&e<n)for(var a=i-1;a>=0;--a)t[a+e]=this[a+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},s.prototype.fill=function(t,e,r,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!s.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===t.length){var i=t.charCodeAt(0);("utf8"===n&&i<128||"latin1"===n)&&(t=i)}}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;var a;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a<r;++a)this[a]=t;else{var o=s.isBuffer(t)?t:s.from(t,n),l=o.length;if(0===l)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(a=0;a<r-e;++a)this[a+e]=o[a%l]}return this};var D=/[^+\/0-9A-Za-z-_]/g;function R(t){return t<16?"0"+t.toString(16):t.toString(16)}function B(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function F(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(D,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function N(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function j(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function V(t){return t!=t}},{"base64-js":61,ieee754:393}],93:[function(t,e,r){"use strict";var n=t("./lib/monotone"),i=t("./lib/triangulation"),a=t("./lib/delaunay"),o=t("./lib/filter");function s(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function l(t,e){return t[0]-e[0]||t[1]-e[1]}function c(t,e,r){return e in t?t[e]:r}e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var u=!!c(r,"delaunay",!0),f=!!c(r,"interior",!0),h=!!c(r,"exterior",!0),p=!!c(r,"infinity",!1);if(!f&&!h||0===t.length)return[];var d=n(t,e);if(u||f!==h||p){for(var g=i(t.length,function(t){return t.map(s).sort(l)}(e)),m=0;m<d.length;++m){var v=d[m];g.addTriangle(v[0],v[1],v[2])}return u&&a(t,g),h?f?p?o(g,0,p):g.cells():o(g,1,p):o(g,-1)}return d}},{"./lib/delaunay":94,"./lib/filter":95,"./lib/monotone":96,"./lib/triangulation":97}],94:[function(t,e,r){"use strict";var n=t("robust-in-sphere")[4];t("binary-search-bounds");function i(t,e,r,i,a,o){var s=e.opposite(i,a);if(!(s<0)){if(a<i){var l=i;i=a,a=l,l=o,o=s,s=l}e.isConstraint(i,a)||n(t[i],t[a],t[o],t[s])<0&&r.push(i,a)}}e.exports=function(t,e){for(var r=[],a=t.length,o=e.stars,s=0;s<a;++s)for(var l=o[s],c=1;c<l.length;c+=2){var u=l[c];if(!(u<s)&&!e.isConstraint(s,u)){for(var f=l[c-1],h=-1,p=1;p<l.length;p+=2)if(l[p-1]===u){h=l[p];break}h<0||n(t[s],t[u],t[f],t[h])<0&&r.push(s,u)}}for(;r.length>0;){for(var u=r.pop(),s=r.pop(),f=-1,h=-1,l=o[s],d=1;d<l.length;d+=2){var g=l[d-1],m=l[d];g===u?h=m:m===u&&(f=g)}f<0||h<0||(n(t[s],t[u],t[f],t[h])>=0||(e.flip(s,u),i(t,e,r,f,s,h),i(t,e,r,s,h,f),i(t,e,r,h,u,f),i(t,e,r,u,f,h)))}}},{"binary-search-bounds":98,"robust-in-sphere":481}],95:[function(t,e,r){"use strict";var n,i=t("binary-search-bounds");function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}e.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i<n;++i){var s=r[i],l=s[0],c=s[1],u=s[2];c<u?c<l&&(s[0]=c,s[1]=u,s[2]=l):u<l&&(s[0]=u,s[1]=l,s[2]=c)}r.sort(o);for(var f=new Array(n),i=0;i<f.length;++i)f[i]=0;var h=[],p=[],d=new Array(3*n),g=new Array(3*n),m=null;e&&(m=[]);for(var v=new a(r,d,g,f,h,p,m),i=0;i<n;++i)for(var s=r[i],y=0;y<3;++y){var l=s[y],c=s[(y+1)%3],x=d[3*i+y]=v.locate(c,l,t.opposite(c,l)),b=g[3*i+y]=t.isConstraint(l,c);x<0&&(b?p.push(i):(h.push(i),f[i]=1),e&&m.push([c,l,-1]))}return v}(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;var i=1,s=n.active,l=n.next,c=n.flags,u=n.cells,f=n.constraint,h=n.neighbor;for(;s.length>0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-i){c[p]=i;u[p];for(var d=0;d<3;++d){var g=h[3*p+d];g>=0&&0===c[g]&&(f[3*p+d]?l.push(g):(s.push(g),c[g]=i))}}}var m=l;l=s,s=m,l.length=0,i=-i}var v=function(t,e,r){for(var n=0,i=0;i<t.length;++i)e[i]===r&&(t[n++]=t[i]);return t.length=n,t}(u,c,e);if(r)return v.concat(n.boundary);return v},a.prototype.locate=(n=[0,0,0],function(t,e,r){var a=t,s=e,l=r;return e<r?e<t&&(a=e,s=r,l=t):r<t&&(a=r,s=t,l=e),a<0?-1:(n[0]=a,n[1]=s,n[2]=l,i.eq(this.cells,n,o))})},{"binary-search-bounds":98}],96:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),i=t("robust-orientation")[3],a=0,o=1,s=2;function l(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function c(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function u(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(t.type!==a&&(r=i(t.a,t.b,e.b))?r:t.idx-e.idx)}function f(t,e){return i(t.a,t.b,e)}function h(t,e,r,a,o){for(var s=n.lt(e,a,f),l=n.gt(e,a,f),c=s;c<l;++c){for(var u=e[c],h=u.lowerIds,p=h.length;p>1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=u.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function p(t,e){var r;return(r=t.a[0]<e.a[0]?i(t.a,t.b,e.a):i(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?i(t.a,t.b,e.b):i(e.b,e.a,t.b))||t.idx-e.idx}function d(t,e,r){var i=n.le(t,r,p),a=t[i],o=a.upperIds,s=o[o.length-1];a.upperIds=[s],t.splice(i+1,0,new l(r.a,r.b,r.idx,[s],o))}function g(t,e,r){var i=r.a;r.a=r.b,r.b=i;var a=n.eq(t,r,p),o=t[a];t[a-1].upperIds=o.upperIds,t.splice(a,1)}e.exports=function(t,e){for(var r=t.length,n=e.length,i=[],f=0;f<r;++f)i.push(new c(t[f],null,a,f));for(var f=0;f<n;++f){var p=e[f],m=t[p[0]],v=t[p[1]];m[0]<v[0]?i.push(new c(m,v,s,f),new c(v,m,o,f)):m[0]>v[0]&&i.push(new c(v,m,s,f),new c(m,v,o,f))}i.sort(u);for(var y=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),x=[new l([y,1],[y,0],-1,[],[],[],[])],b=[],f=0,_=i.length;f<_;++f){var w=i[f],k=w.type;k===a?h(b,x,t,w.a,w.idx):k===s?d(x,t,w):g(x,t,w)}return b}},{"binary-search-bounds":98,"robust-orientation":483}],97:[function(t,e,r){"use strict";var n=t("binary-search-bounds");function i(t,e){this.stars=t,this.edges=e}e.exports=function(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=[];return new i(r,e)};var a=i.prototype;function o(t,e,r){for(var n=1,i=t.length;n<i;n+=2)if(t[n-1]===e&&t[n]===r)return t[n-1]=t[i-2],t[n]=t[i-1],void(t.length=i-2)}a.isConstraint=function(){var t=[0,0];function e(t,e){return t[0]-e[0]||t[1]-e[1]}return function(r,i){return t[0]=Math.min(r,i),t[1]=Math.max(r,i),n.eq(this.edges,t,e)>=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;n<i;n+=2)if(r[n]===t)return r[n-1];return-1},a.flip=function(t,e){var r=this.opposite(t,e),n=this.opposite(e,t);this.removeTriangle(t,e,r),this.removeTriangle(e,t,n),this.addTriangle(t,n,r),this.addTriangle(e,r,n)},a.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2)e.push([i[a],i[a+1]]);return e},a.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2){var s=i[a],l=i[a+1];r<Math.min(s,l)&&e.push([r,s,l])}return e}},{"binary-search-bounds":98}],98:[function(t,e,r){"use strict";function n(t,e,r,n,i){var a=["function ",t,"(a,l,h,",n.join(","),"){",i?"":"var i=",r?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a[m]"];return i?e.indexOf("c")<0?a.push(";if(x===y){return m}else if(x<=y){"):a.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):a.push(";if(",e,"){i=m;"),r?a.push("l=m+1}else{h=m-1}"):a.push("h=m-1}else{l=m+1}"),a.push("}"),i?a.push("return -1};"):a.push("return i};"),a.join("")}function i(t,e,r,i){return new Function([n("A","x"+t+"y",e,["y"],i),n("P","c(x,y)"+t+"0",e,["y","c"],i),"function dispatchBsearch",r,"(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch",r].join(""))()}e.exports={ge:i(">=",!1,"GE"),gt:i(">",!1,"GT"),lt:i("<",!0,"LT"),le:i("<=",!0,"LE"),eq:i("-",!0,"EQ",!0)}},{}],99:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1,r=1;r<t.length;++r)for(var n=0;n<r;++n)if(t[r]<t[n])e=-e;else if(t[n]===t[r])return 0;return e}},{}],100:[function(t,e,r){"use strict";var n=t("dup"),i=t("robust-linear-solve");function a(t,e){for(var r=0,n=t.length,i=0;i<n;++i)r+=t[i]*e[i];return r}function o(t){var e=t.length;if(0===e)return[];t[0].length;var r=n([t.length+1,t.length+1],1),o=n([t.length+1],1);r[e][e]=0;for(var s=0;s<e;++s){for(var l=0;l<=s;++l)r[l][s]=r[s][l]=2*a(t[s],t[l]);o[s]=a(t[s],t[s])}var c=i(r,o),u=0,f=c[e+1];for(s=0;s<f.length;++s)u+=f[s];var h=new Array(e);for(s=0;s<e;++s){f=c[s];var p=0;for(l=0;l<f.length;++l)p+=f[l];h[s]=p/u}return h}function s(t){if(0===t.length)return[];for(var e=t[0].length,r=n([e]),i=o(t),a=0;a<t.length;++a)for(var s=0;s<e;++s)r[s]+=t[a][s]*i[a];return r}s.barycenetric=o,e.exports=s},{dup:154,"robust-linear-solve":482}],101:[function(t,e,r){e.exports=function(t){for(var e=n(t),r=0,i=0;i<t.length;++i)for(var a=t[i],o=0;o<e.length;++o)r+=Math.pow(a[o]-e[o],2);return Math.sqrt(r/t.length)};var n=t("circumcenter")},{circumcenter:100}],102:[function(t,e,r){e.exports=function(t,e,r){return e<r?t<e?e:t>r?r:t:t<r?r:t>e?e:t}},{}],103:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n;if(r){n=e;for(var i=new Array(e.length),a=0;a<e.length;++a){var o=e[a];i[a]=[o[0],o[1],r[a]]}e=i}var s=function(t,e,r){var n=d(t,[],p(t));return v(e,n,r),!!n}(t,e,!!r);for(;y(t,e,!!r);)s=!0;if(r&&s){n.length=0,r.length=0;for(var a=0;a<e.length;++a){var o=e[a];n.push([o[0],o[1]]),r.push(o[2])}}return s};var n=t("union-find"),i=t("box-intersect"),a=t("robust-segment-intersect"),o=t("big-rat"),s=t("big-rat/cmp"),l=t("big-rat/to-float"),c=t("rat-vec"),u=t("nextafter"),f=t("./lib/rat-seg-intersect");function h(t){var e=l(t);return[u(e,-1/0),u(e,1/0)]}function p(t){for(var e=new Array(t.length),r=0;r<t.length;++r){var n=t[r];e[r]=[u(n[0],-1/0),u(n[1],-1/0),u(n[0],1/0),u(n[1],1/0)]}return e}function d(t,e,r){for(var a=e.length,o=new n(a),s=[],l=0;l<e.length;++l){var c=e[l],f=h(c[0]),p=h(c[1]);s.push([u(f[0],-1/0),u(p[0],-1/0),u(f[1],1/0),u(p[1],1/0)])}i(s,function(t,e){o.link(t,e)});var d=!0,g=new Array(a);for(l=0;l<a;++l){(v=o.find(l))!==l&&(d=!1,t[v]=[Math.min(t[l][0],t[v][0]),Math.min(t[l][1],t[v][1])])}if(d)return null;var m=0;for(l=0;l<a;++l){var v;(v=o.find(l))===l?(g[l]=m,t[m++]=t[l]):g[l]=-1}t.length=m;for(l=0;l<a;++l)g[l]<0&&(g[l]=g[o.find(l)]);return g}function g(t,e){return t[0]-e[0]||t[1]-e[1]}function m(t,e){var r=t[0]-e[0]||t[1]-e[1];return r||(t[2]<e[2]?-1:t[2]>e[2]?1:0)}function v(t,e,r){if(0!==t.length){if(e)for(var n=0;n<t.length;++n){var i=e[(o=t[n])[0]],a=e[o[1]];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}else for(n=0;n<t.length;++n){var o;i=(o=t[n])[0],a=o[1];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}r?t.sort(m):t.sort(g);var s=1;for(n=1;n<t.length;++n){var l=t[n-1],c=t[n];(c[0]!==l[0]||c[1]!==l[1]||r&&c[2]!==l[2])&&(t[s++]=c)}t.length=s}}function y(t,e,r){var n=function(t,e){for(var r=new Array(e.length),n=0;n<e.length;++n){var i=e[n],a=t[i[0]],o=t[i[1]];r[n]=[u(Math.min(a[0],o[0]),-1/0),u(Math.min(a[1],o[1]),-1/0),u(Math.max(a[0],o[0]),1/0),u(Math.max(a[1],o[1]),1/0)]}return r}(t,e),h=function(t,e,r){var n=[];return i(r,function(r,i){var o=e[r],s=e[i];if(o[0]!==s[0]&&o[0]!==s[1]&&o[1]!==s[0]&&o[1]!==s[1]){var l=t[o[0]],c=t[o[1]],u=t[s[0]],f=t[s[1]];a(l,c,u,f)&&n.push([r,i])}}),n}(t,e,n),g=p(t),m=function(t,e,r,n){var o=[];return i(r,n,function(r,n){var i=e[r];if(i[0]!==n&&i[1]!==n){var s=t[n],l=t[i[0]],c=t[i[1]];a(l,c,s,s)&&o.push([r,n])}}),o}(t,e,n,g),y=d(t,function(t,e,r,n,i){var a,u,h=t.map(function(t){return[o(t[0]),o(t[1])]});for(a=0;a<r.length;++a){var p=r[a];u=p[0];var d=p[1],g=e[u],m=e[d],v=f(c(t[g[0]]),c(t[g[1]]),c(t[m[0]]),c(t[m[1]]));if(v){var y=t.length;t.push([l(v[0]),l(v[1])]),h.push(v),n.push([u,y],[d,y])}}for(n.sort(function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=h[t[1]],n=h[e[1]];return s(r[0],n[0])||s(r[1],n[1])}),a=n.length-1;a>=0;--a){var x=e[u=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],k=t[_];if((w[0]-k[0]||w[1]-k[1])<0){var M=b;b=_,_=M}x[0]=b;var A,T=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===u;){var S,E=(S=n[--a])[1];i?e.push([T,E,A]):e.push([T,E]),T=E}i?e.push([T,_,A]):e.push([T,_])}return h}(t,e,h,m,r));return v(e,y,r),!!y||(h.length>0||m.length>0)}},{"./lib/rat-seg-intersect":104,"big-rat":65,"big-rat/cmp":63,"big-rat/to-float":77,"box-intersect":83,nextafter:431,"rat-vec":466,"robust-segment-intersect":486,"union-find":520}],104:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=u(a,f);if(0===o(h))return null;var p=s(t,r),d=u(f,p),g=i(d,h),m=c(a,g);return l(t,m)};var n=t("big-rat/mul"),i=t("big-rat/div"),a=t("big-rat/sub"),o=t("big-rat/sign"),s=t("rat-vec/sub"),l=t("rat-vec/add"),c=t("rat-vec/muls");function u(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},{"big-rat/div":64,"big-rat/mul":74,"big-rat/sign":75,"big-rat/sub":76,"rat-vec/add":465,"rat-vec/muls":467,"rat-vec/sub":468}],105:[function(t,e,r){"use strict";var n=t("clamp");function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(o=255&n(o,0,255))}e.exports=i,e.exports.to=i,e.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},{clamp:102}],106:[function(t,e,r){"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},{}],107:[function(t,e,r){"use strict";var n=t("color-rgba"),i=t("clamp"),a=t("dtype");e.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(a(e))(4),o="uint8"!==e&&"uint8_clamped"!==e;return t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},{clamp:102,"color-rgba":109,dtype:153}],108:[function(t,e,r){(function(r){"use strict";var n=t("color-name"),i=t("is-plain-obj"),a=t("defined");e.exports=function(t){var e,s,l=[],c=1;if("string"==typeof t)if(n[t])l=n[t].slice(),s="rgb";else if("transparent"===t)c=0,s="rgb",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=t.slice(1),f=u.length,h=f<=4;c=1,h?(l=[parseInt(u[0]+u[0],16),parseInt(u[1]+u[1],16),parseInt(u[2]+u[2],16)],4===f&&(c=parseInt(u[3]+u[3],16)/255)):(l=[parseInt(u[0]+u[1],16),parseInt(u[2]+u[3],16),parseInt(u[4]+u[5],16)],8===f&&(c=parseInt(u[6]+u[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var p=e[1],u=p.replace(/a$/,"");s=u;var f="cmyk"===u?4:"gray"===u?1:3;l=e[2].trim().split(/\s*,\s*/).map(function(t,e){if(/%$/.test(t))return e===f?parseFloat(t)/100:"rgb"===u?255*parseFloat(t)/100:parseFloat(t);if("h"===u[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)}),p===u&&l.push(1),c=void 0===l[f]?1:l[f],l=l.slice(0,f)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),s=t.match(/([a-z])/gi).join("").toLowerCase());else if(isNaN(t))if(i(t)){var d=a(t.r,t.red,t.R,null);null!==d?(s="rgb",l=[d,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s="hsl",l=[a(t.h,t.hue,t.H),a(t.s,t.saturation,t.S),a(t.l,t.lightness,t.L,t.b,t.brightness)]),c=a(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(c/=100)}else(Array.isArray(t)||r.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s="rgb",c=4===t.length?t[3]:1);else s="rgb",l=[t>>>16,(65280&t)>>>8,255&t];return{space:s,values:l,alpha:c}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"color-name":106,defined:148,"is-plain-obj":403}],109:[function(t,e,r){"use strict";var n=t("color-parse"),i=t("color-space/hsl"),a=t("clamp");e.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),"h"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},{clamp:102,"color-parse":108,"color-space/hsl":110}],110:[function(t,e,r){"use strict";var n=t("./rgb");e.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[c]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},{"./rgb":111}],111:[function(t,e,r){"use strict";e.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},{}],112:[function(t,e,r){e.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],cool:[{index:0,rgb:[0,255,255]},{index:1,rgb:[255,0,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},{}],113:[function(t,e,r){"use strict";var n=t("./colorScale"),i=t("lerp");function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}e.exports=function(t){var e,r,l,c,u,f,h,p,d,g;t||(t={});p=(t.nshades||72)-1,h=t.format||"hex",(f=t.colormap)||(f="jet");if("string"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+" not a supported colorscale");u=n[f]}else{if(!Array.isArray(f))throw Error("unsupported colormap option",f);u=f.slice()}if(u.length>p)throw new Error(f+" map requires nshades to be at least size "+u.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1];e=u.map(function(t){return Math.round(t.index*p)}),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var m=u.map(function(t,e){var r=u[e].index,n=u[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1?n:(n[3]=d[0]+(d[1]-d[0])*r,n)}),v=[];for(g=0;g<e.length-1;++g){c=e[g+1]-e[g],r=m[g],l=m[g+1];for(var y=0;y<c;y++){var x=y/c;v.push([Math.round(i(r[0],l[0],x)),Math.round(i(r[1],l[1],x)),Math.round(i(r[2],l[2],x)),i(r[3],l[3],x)])}}v.push(u[u.length-1].rgb.concat(d[1])),"hex"===h?v=v.map(o):"rgbaString"===h?v=v.map(s):"float"===h&&(v=v.map(a));return v}},{"./colorScale":112,lerp:405}],114:[function(t,e,r){"use strict";e.exports=function(t,e,r,a){var o=n(e,r,a);if(0===o){var s=i(n(t,e,r)),c=i(n(t,e,a));if(s===c){if(0===s){var u=l(t,e,r),f=l(t,e,a);return u===f?0:u?1:-1}return 0}return 0===c?s>0?-1:l(t,e,a)?-1:1:0===s?c>0?1:l(t,e,r)?1:-1:i(c-s)}var h=n(t,e,r);if(h>0)return o>0&&n(t,e,a)>0?1:-1;if(h<0)return o>0||n(t,e,a)>0?1:-1;var p=n(t,e,a);return p>0?1:l(t,e,r)?1:-1};var n=t("robust-orientation"),i=t("signum"),a=t("two-sum"),o=t("robust-product"),s=t("robust-sum");function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),c=a(r[1],-e[1]),u=s(o(n,l),o(i,c));return u[u.length-1]>=0}},{"robust-orientation":483,"robust-product":484,"robust-sum":488,signum:489,"two-sum":518}],115:[function(t,e,r){e.exports=function(t,e){var r=t.length,a=t.length-e.length;if(a)return a;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||n(t[0],t[1])-n(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(a=o+t[2]-(s+e[2]))return a;var l=n(t[0],t[1]),c=n(e[0],e[1]);return n(l,t[2])-n(c,e[2])||n(l+t[2],o)-n(c+e[2],s);case 4:var u=t[0],f=t[1],h=t[2],p=t[3],d=e[0],g=e[1],m=e[2],v=e[3];return u+f+h+p-(d+g+m+v)||n(u,f,h,p)-n(d,g,m,v,d)||n(u+f,u+h,u+p,f+h,f+p,h+p)-n(d+g,d+m,d+v,g+m,g+v,m+v)||n(u+f+h,u+f+p,u+h+p,f+h+p)-n(d+g+m,d+g+v,d+m+v,g+m+v);default:for(var y=t.slice().sort(i),x=e.slice().sort(i),b=0;b<r;++b)if(a=y[b]-x[b])return a;return 0}};var n=Math.min;function i(t,e){return t-e}},{}],116:[function(t,e,r){"use strict";var n=t("compare-cell"),i=t("cell-orientation");e.exports=function(t,e){return n(t,e)||i(t)-i(e)}},{"cell-orientation":99,"compare-cell":115}],117:[function(t,e,r){"use strict";var n=t("./lib/ch1d"),i=t("./lib/ch2d"),a=t("./lib/chnd");e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;if(0===r)return[];if(1===r)return n(t);if(2===r)return i(t);return a(t,r)}},{"./lib/ch1d":118,"./lib/ch2d":119,"./lib/chnd":120}],118:[function(t,e,r){"use strict";e.exports=function(t){for(var e=0,r=0,n=1;n<t.length;++n)t[n][0]<t[e][0]&&(e=n),t[n][0]>t[r][0]&&(r=n);return e<r?[[e],[r]]:e>r?[[r],[e]]:[[e]]}},{}],119:[function(t,e,r){"use strict";e.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o<r;++o){var s=e[o];i[o]=[a,s],a=s}return i};var n=t("monotone-convex-hull-2d")},{"monotone-convex-hull-2d":414}],120:[function(t,e,r){"use strict";e.exports=function(t,e){try{return n(t,!0)}catch(s){var r=i(t);if(r.length<=e)return[];var a=function(t,e){for(var r=t.length,n=new Array(r),i=0;i<e.length;++i)n[i]=t[e[i]];for(var a=e.length,i=0;i<r;++i)e.indexOf(i)<0&&(n[a++]=t[i]);return n}(t,r),o=n(a,!0);return function(t,e){for(var r=t.length,n=e.length,i=0;i<r;++i)for(var a=t[i],o=0;o<a.length;++o){var s=a[o];if(s<n)a[o]=e[s];else{s-=n;for(var l=0;l<n;++l)s>=e[l]&&(s+=1);a[o]=s}}return t}(o,r)}};var n=t("incremental-convex-hull"),i=t("affine-hull")},{"affine-hull":49,"incremental-convex-hull":394}],121:[function(t,e,r){e.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|\xe7)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|\xe9)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|\xe9)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|\xe3)o.?tom(e|\xe9)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}},{}],122:[function(t,e,r){e.exports=["xx-small","x-small","small","medium","large","x-large","xx-large","larger","smaller"]},{}],123:[function(t,e,r){e.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]},{}],124:[function(t,e,r){e.exports=["normal","italic","oblique"]},{}],125:[function(t,e,r){e.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]},{}],126:[function(t,e,r){"use strict";e.exports={parse:t("./parse"),stringify:t("./stringify")}},{"./parse":128,"./stringify":129}],127:[function(t,e,r){"use strict";var n=t("css-font-size-keywords");e.exports={isSize:function(t){return/^[\d\.]/.test(t)||-1!==t.indexOf("/")||-1!==n.indexOf(t)}}},{"css-font-size-keywords":122}],128:[function(t,e,r){"use strict";var n=t("unquote"),i=t("css-global-keywords"),a=t("css-system-font-keywords"),o=t("css-font-weight-keywords"),s=t("css-font-style-keywords"),l=t("css-font-stretch-keywords"),c=t("string-split-by"),u=t("./lib/util").isSize;e.exports=h;var f=h.cache={};function h(t){if("string"!=typeof t)throw new Error("Font argument must be a string.");if(f[t])return f[t];if(""===t)throw new Error("Cannot parse an empty string.");if(-1!==a.indexOf(t))return f[t]={system:t};for(var e,r={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},h=c(t,/\s+/);e=h.shift();){if(-1!==i.indexOf(e))return["style","variant","weight","stretch"].forEach(function(t){r[t]=e}),f[t]=r;if(-1===s.indexOf(e))if("normal"!==e&&"small-caps"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(u(e)){var d=c(e,"/");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):"/"===h[0]&&(h.shift(),r.lineHeight=p(h.shift())),!h.length)throw new Error("Missing required font-family.");return r.family=c(h.join(" "),/\s*,\s*/).map(n),f[t]=r}throw new Error("Unknown or unsupported font token: "+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error("Missing required font-size.")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},{"./lib/util":127,"css-font-stretch-keywords":123,"css-font-style-keywords":124,"css-font-weight-keywords":125,"css-global-keywords":130,"css-system-font-keywords":131,"string-split-by":502,unquote:522}],129:[function(t,e,r){"use strict";var n=t("pick-by-alias"),i=t("./lib/util").isSize,a=g(t("css-global-keywords")),o=g(t("css-system-font-keywords")),s=g(t("css-font-weight-keywords")),l=g(t("css-font-style-keywords")),c=g(t("css-font-stretch-keywords")),u={normal:1,"small-caps":1},f={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},h="1rem",p="serif";function d(t,e){if(t&&!e[t]&&!a[t])throw Error("Unknown keyword `"+t+"`");return t}function g(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=1;return e}e.exports=function(t){if((t=n(t,{style:"style fontstyle fontStyle font-style slope distinction",variant:"variant font-variant fontVariant fontvariant var capitalization",weight:"weight w font-weight fontWeight fontweight",stretch:"stretch font-stretch fontStretch fontstretch width",size:"size s font-size fontSize fontsize height em emSize",lineHeight:"lh line-height lineHeight lineheight leading",family:"font family fontFamily font-family fontfamily type typeface face",system:"system reserved default global"})).system)return t.system&&d(t.system,o),t.system;if(d(t.style,l),d(t.variant,u),d(t.weight,s),d(t.stretch,c),null==t.size&&(t.size=h),"number"==typeof t.size&&(t.size+="px"),!i)throw Error("Bad size value `"+t.size+"`");t.family||(t.family=p),Array.isArray(t.family)&&(t.family.length||(t.family=[p]),t.family=t.family.map(function(t){return f[t]?t:'"'+t+'"'}).join(", "));var e=[];return e.push(t.style),t.variant!==t.style&&e.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&e.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&e.push(t.stretch),e.push(t.size+(null==t.lineHeight||"normal"===t.lineHeight||t.lineHeight+""=="1"?"":"/"+t.lineHeight)),e.push(t.family),e.filter(Boolean).join(" ")}},{"./lib/util":127,"css-font-stretch-keywords":123,"css-font-style-keywords":124,"css-font-weight-keywords":125,"css-global-keywords":130,"css-system-font-keywords":131,"pick-by-alias":445}],130:[function(t,e,r){e.exports=["inherit","initial","unset"]},{}],131:[function(t,e,r){e.exports=["caption","icon","menu","message-box","small-caption","status-bar"]},{}],132:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,c=(1+2*i)*l,u=i*l,f=s*(3-2*i),h=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=c*t[p]+u*e[p]+f*r[p]+h*n[p];return a}return c*t+u*e+f*r+h*n},e.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,c=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var u=t.length-1;u>=0;--u)a[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return a}return o*t+s*e+l*r[u]+c*n}},{}],133:[function(t,e,r){"use strict";var n=t("./lib/thunk.js");function i(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName="",this.pre=null,this.body=null,this.post=null,this.debug=!1}e.exports=function(t){var e=new i;e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var a=0;a<r.length;++a){var o=r[a];if("array"===o||"object"==typeof o&&o.blockIndices){if(e.argTypes[a]="array",e.arrayArgs.push(a),e.arrayBlockIndices.push(o.blockIndices?o.blockIndices:0),e.shimArgs.push("array"+a),a<e.pre.args.length&&e.pre.args[a].count>0)throw new Error("cwise: pre() block may not reference array args");if(a<e.post.args.length&&e.post.args[a].count>0)throw new Error("cwise: post() block may not reference array args")}else if("scalar"===o)e.scalarArgs.push(a),e.shimArgs.push("scalar"+a);else if("index"===o){if(e.indexArgs.push(a),a<e.pre.args.length&&e.pre.args[a].count>0)throw new Error("cwise: pre() block may not reference array index");if(a<e.body.args.length&&e.body.args[a].lvalue)throw new Error("cwise: body() block may not write to array index");if(a<e.post.args.length&&e.post.args[a].count>0)throw new Error("cwise: post() block may not reference array index")}else if("shape"===o){if(e.shapeArgs.push(a),a<e.pre.args.length&&e.pre.args[a].lvalue)throw new Error("cwise: pre() block may not write to array shape");if(a<e.body.args.length&&e.body.args[a].lvalue)throw new Error("cwise: body() block may not write to array shape");if(a<e.post.args.length&&e.post.args[a].lvalue)throw new Error("cwise: post() block may not write to array shape")}else{if("object"!=typeof o||!o.offset)throw new Error("cwise: Unknown argument type "+r[a]);e.argTypes[a]="offset",e.offsetArgs.push({array:o.array,offset:o.offset}),e.offsetArgIndex.push(a)}}if(e.arrayArgs.length<=0)throw new Error("cwise: No array arguments specified");if(e.pre.args.length>r.length)throw new Error("cwise: Too many arguments in pre() block");if(e.body.args.length>r.length)throw new Error("cwise: Too many arguments in body() block");if(e.post.args.length>r.length)throw new Error("cwise: Too many arguments in post() block");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||"cwise",e.blockSize=t.blockSize||64,n(e)}},{"./lib/thunk.js":135}],134:[function(t,e,r){"use strict";var n=t("uniq");function i(t,e,r){var n,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],c=[],u=0,f=0;for(n=0;n<a;++n)c.push(["i",n,"=0"].join(""));for(i=0;i<o;++i)for(n=0;n<a;++n)f=u,u=t[n],0===n?c.push(["d",i,"s",n,"=t",i,"p",u].join("")):c.push(["d",i,"s",n,"=(t",i,"p",u,"-s",f,"*t",i,"p",f,")"].join(""));for(c.length>0&&l.push("var "+c.join(",")),n=a-1;n>=0;--n)u=t[n],l.push(["for(i",n,"=0;i",n,"<s",u,";++i",n,"){"].join(""));for(l.push(r),n=0;n<a;++n){for(f=u,u=t[n],i=0;i<o;++i)l.push(["p",i,"+=d",i,"s",n].join(""));s&&(n>0&&l.push(["index[",f,"]-=s",f].join("")),l.push(["++index[",u,"]"].join(""))),l.push("}")}return l.join("\n")}function a(t,e,r){for(var n=t.body,i=[],a=[],o=0;o<t.args.length;++o){var s=t.args[o];if(!(s.count<=0)){var l=new RegExp(s.name,"g"),c="",u=e.arrayArgs.indexOf(o);switch(e.argTypes[o]){case"offset":var f=e.offsetArgIndex.indexOf(o);u=e.offsetArgs[f].array,c="+q"+f;case"array":c="p"+u+c;var h="l"+o,p="a"+u;if(0===e.arrayBlockIndices[u])1===s.count?"generic"===r[u]?s.lvalue?(i.push(["var ",h,"=",p,".get(",c,")"].join("")),n=n.replace(l,h),a.push([p,".set(",c,",",h,")"].join(""))):n=n.replace(l,[p,".get(",c,")"].join("")):n=n.replace(l,[p,"[",c,"]"].join("")):"generic"===r[u]?(i.push(["var ",h,"=",p,".get(",c,")"].join("")),n=n.replace(l,h),s.lvalue&&a.push([p,".set(",c,",",h,")"].join(""))):(i.push(["var ",h,"=",p,"[",c,"]"].join("")),n=n.replace(l,h),s.lvalue&&a.push([p,"[",c,"]=",h].join("")));else{for(var d=[s.name],g=[c],m=0;m<Math.abs(e.arrayBlockIndices[u]);m++)d.push("\\s*\\[([^\\]]+)\\]"),g.push("$"+(m+1)+"*t"+u+"b"+m);if(l=new RegExp(d.join(""),"g"),c=g.join("+"),"generic"===r[u])throw new Error("cwise: Generic arrays not supported in combination with blocks!");n=n.replace(l,[p,"[",c,"]"].join(""))}break;case"scalar":n=n.replace(l,"Y"+e.scalarArgs.indexOf(o));break;case"index":n=n.replace(l,"index");break;case"shape":n=n.replace(l,"shape")}}}return[i.join("\n"),n,a.join("\n")].join("\n").trim()}e.exports=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,o=new Array(t.arrayArgs.length),s=new Array(t.arrayArgs.length),l=0;l<t.arrayArgs.length;++l)s[l]=e[2*l],o[l]=e[2*l+1];var c=[],u=[],f=[],h=[],p=[];for(l=0;l<t.arrayArgs.length;++l){t.arrayBlockIndices[l]<0?(f.push(0),h.push(r),c.push(r),u.push(r+t.arrayBlockIndices[l])):(f.push(t.arrayBlockIndices[l]),h.push(t.arrayBlockIndices[l]+r),c.push(0),u.push(t.arrayBlockIndices[l]));for(var d=[],g=0;g<o[l].length;g++)f[l]<=o[l][g]&&o[l][g]<h[l]&&d.push(o[l][g]-f[l]);p.push(d)}var m=["SS"],v=["'use strict'"],y=[];for(g=0;g<r;++g)y.push(["s",g,"=SS[",g,"]"].join(""));for(l=0;l<t.arrayArgs.length;++l){for(m.push("a"+l),m.push("t"+l),m.push("p"+l),g=0;g<r;++g)y.push(["t",l,"p",g,"=t",l,"[",f[l]+g,"]"].join(""));for(g=0;g<Math.abs(t.arrayBlockIndices[l]);++g)y.push(["t",l,"b",g,"=t",l,"[",c[l]+g,"]"].join(""))}for(l=0;l<t.scalarArgs.length;++l)m.push("Y"+l);if(t.shapeArgs.length>0&&y.push("shape=SS.slice(0)"),t.indexArgs.length>0){var x=new Array(r);for(l=0;l<r;++l)x[l]="0";y.push(["index=[",x.join(","),"]"].join(""))}for(l=0;l<t.offsetArgs.length;++l){var b=t.offsetArgs[l],_=[];for(g=0;g<b.offset.length;++g)0!==b.offset[g]&&(1===b.offset[g]?_.push(["t",b.array,"p",g].join("")):_.push([b.offset[g],"*t",b.array,"p",g].join("")));0===_.length?y.push("q"+l+"=0"):y.push(["q",l,"=",_.join("+")].join(""))}var w=n([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for((y=y.concat(w)).length>0&&v.push("var "+y.join(",")),l=0;l<t.arrayArgs.length;++l)v.push("p"+l+"|=0");t.pre.body.length>3&&v.push(a(t.pre,t,s));var k=a(t.body,t,s),M=function(t){for(var e=0,r=t[0].length;e<r;){for(var n=1;n<t.length;++n)if(t[n][e]!==t[0][e])return e;++e}return e}(p);M<r?v.push(function(t,e,r,n){for(var a=e.length,o=r.arrayArgs.length,s=r.blockSize,l=r.indexArgs.length>0,c=[],u=0;u<o;++u)c.push(["var offset",u,"=p",u].join(""));for(u=t;u<a;++u)c.push(["for(var j"+u+"=SS[",e[u],"]|0;j",u,">0;){"].join("")),c.push(["if(j",u,"<",s,"){"].join("")),c.push(["s",e[u],"=j",u].join("")),c.push(["j",u,"=0"].join("")),c.push(["}else{s",e[u],"=",s].join("")),c.push(["j",u,"-=",s,"}"].join("")),l&&c.push(["index[",e[u],"]=j",u].join(""));for(u=0;u<o;++u){for(var f=["offset"+u],h=t;h<a;++h)f.push(["j",h,"*t",u,"p",e[h]].join(""));c.push(["p",u,"=(",f.join("+"),")"].join(""))}for(c.push(i(e,r,n)),u=t;u<a;++u)c.push("}");return c.join("\n")}(M,p[0],t,k)):v.push(i(p[0],t,k)),t.post.body.length>3&&v.push(a(t.post,t,s)),t.debug&&console.log("-----Generated cwise routine for ",e,":\n"+v.join("\n")+"\n----------");var A=[t.funcName||"unnamed","_cwise_loop_",o[0].join("s"),"m",M,function(t){for(var e=new Array(t.length),r=!0,n=0;n<t.length;++n){var i=t[n],a=i.match(/\d+/);a=a?a[0]:"",0===i.charAt(0)?e[n]="u"+i.charAt(1)+a:e[n]=i.charAt(0)+a,n>0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join("")}(s)].join("");return new Function(["function ",A,"(",m.join(","),"){",v.join("\n"),"} return ",A].join(""))()}},{uniq:521}],135:[function(t,e,r){"use strict";var n=t("./compile.js");e.exports=function(t){var e=["'use strict'","var CACHED={}"],r=[],i=t.funcName+"_cwise_thunk";e.push(["return function ",i,"(",t.shimArgs.join(","),"){"].join(""));for(var a=[],o=[],s=[["array",t.arrayArgs[0],".shape.slice(",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?","+t.arrayBlockIndices[0]+")":")"].join("")],l=[],c=[],u=0;u<t.arrayArgs.length;++u){var f=t.arrayArgs[u];r.push(["t",f,"=array",f,".dtype,","r",f,"=array",f,".order"].join("")),a.push("t"+f),a.push("r"+f),o.push("t"+f),o.push("r"+f+".join()"),s.push("array"+f+".data"),s.push("array"+f+".stride"),s.push("array"+f+".offset|0"),u>0&&(l.push("array"+t.arrayArgs[0]+".shape.length===array"+f+".shape.length+"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),c.push("array"+t.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[0])+"]===array"+f+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[u])+"]"))}for(t.arrayArgs.length>1&&(e.push("if (!("+l.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),e.push("for(var shapeIndex=array"+t.arrayArgs[0]+".shape.length-"+Math.abs(t.arrayBlockIndices[0])+"; shapeIndex--\x3e0;) {"),e.push("if (!("+c.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),e.push("}")),u=0;u<t.scalarArgs.length;++u)s.push("scalar"+t.scalarArgs[u]);return r.push(["type=[",o.join(","),"].join()"].join("")),r.push("proc=CACHED[type]"),e.push("var "+r.join(",")),e.push(["if(!proc){","CACHED[type]=proc=compile([",a.join(","),"])}","return proc(",s.join(","),")}"].join("")),t.debug&&console.log("-----Generated thunk:\n"+e.join("\n")+"\n----------"),new Function("compile",e.join("\n"))(n.bind(void 0,t))}},{"./compile.js":134}],136:[function(t,e,r){e.exports=t("cwise-compiler")},{"cwise-compiler":133}],137:[function(t,e,r){"use strict";var n,i=t("es5-ext/object/copy"),a=t("es5-ext/object/normalize-options"),o=t("es5-ext/object/valid-callable"),s=t("es5-ext/object/map"),l=t("es5-ext/object/valid-callable"),c=t("es5-ext/object/valid-value"),u=Function.prototype.bind,f=Object.defineProperty,h=Object.prototype.hasOwnProperty;n=function(t,e,r){var n,a=c(e)&&l(e.value);return delete(n=i(e)).writable,delete n.value,n.get=function(){return!r.overwriteDefinition&&h.call(this,t)?a:(e.value=u.call(a,r.resolveContext?r.resolveContext(this):this),f(this,t,e),this[t])},n},e.exports=function(t){var e=a(arguments[1]);return null!=e.resolveContext&&o(e.resolveContext),s(t,function(t,r){return n(r,t,e)})}},{"es5-ext/object/copy":173,"es5-ext/object/map":182,"es5-ext/object/normalize-options":183,"es5-ext/object/valid-callable":187,"es5-ext/object/valid-value":189}],138:[function(t,e,r){"use strict";var n=t("es5-ext/object/assign"),i=t("es5-ext/object/normalize-options"),a=t("es5-ext/object/is-callable"),o=t("es5-ext/string/#/contains");(e.exports=function(t,e){var r,a,s,l,c;return arguments.length<2||"string"!=typeof t?(l=e,e=t,t=null):l=arguments[2],null==t?(r=s=!0,a=!1):(r=o.call(t,"c"),a=o.call(t,"e"),s=o.call(t,"w")),c={value:e,configurable:r,enumerable:a,writable:s},l?n(i(l),c):c}).gs=function(t,e,r){var s,l,c,u;return"string"!=typeof t?(c=r,r=e,e=t,t=null):c=arguments[3],null==e?e=void 0:a(e)?null==r?r=void 0:a(r)||(c=r,r=void 0):(c=e,e=r=void 0),null==t?(s=!0,l=!1):(s=o.call(t,"c"),l=o.call(t,"e")),u={get:e,set:r,configurable:s,enumerable:l},c?n(i(c),u):u}},{"es5-ext/object/assign":170,"es5-ext/object/is-callable":176,"es5-ext/object/normalize-options":183,"es5-ext/string/#/contains":190}],139:[function(t,e,r){var n;n=this,function(t){"use strict";var e=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN},r=function(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}};var n=r(e),i=n.right,a=n.left;function o(t,e){return[t,e]}var s=function(t){return null===t?NaN:+t},l=function(t,e){var r,n,i=t.length,a=0,o=-1,l=0,c=0;if(null==e)for(;++o<i;)isNaN(r=s(t[o]))||(c+=(n=r-l)*(r-(l+=n/++a)));else for(;++o<i;)isNaN(r=s(e(t[o],o,t)))||(c+=(n=r-l)*(r-(l+=n/++a)));if(a>1)return c/(a-1)},c=function(t,e){var r=l(t,e);return r?Math.sqrt(r):r},u=function(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o<a;)if(null!=(r=t[o])&&r>=r)for(n=i=r;++o<a;)null!=(r=t[o])&&(n>r&&(n=r),i<r&&(i=r))}else for(;++o<a;)if(null!=(r=e(t[o],o,t))&&r>=r)for(n=i=r;++o<a;)null!=(r=e(t[o],o,t))&&(n>r&&(n=r),i<r&&(i=r));return[n,i]},f=Array.prototype,h=f.slice,p=f.map,d=function(t){return function(){return t}},g=function(t){return t},m=function(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n<i;)a[n]=t+n*r;return a},v=Math.sqrt(50),y=Math.sqrt(10),x=Math.sqrt(2);function b(t,e,r){var n=(e-t)/Math.max(0,r),i=Math.floor(Math.log(n)/Math.LN10),a=n/Math.pow(10,i);return i>=0?(a>=v?10:a>=y?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=v?10:a>=y?5:a>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=v?i*=10:a>=y?i*=5:a>=x&&(i*=2),e<t?-i:i}var w=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},k=function(t,e,r){if(null==r&&(r=s),n=t.length){if((e=+e)<=0||n<2)return+r(t[0],0,t);if(e>=1)return+r(t[n-1],n-1,t);var n,i=(n-1)*e,a=Math.floor(i),o=+r(t[a],a,t);return o+(+r(t[a+1],a+1,t)-o)*(i-a)}},M=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&n>r&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&n>r&&(n=r);return n},A=function(t){if(!(i=t.length))return[];for(var e=-1,r=M(t,T),n=new Array(r);++e<r;)for(var i,a=-1,o=n[e]=new Array(i);++a<i;)o[a]=t[a][e];return n};function T(t){return t.length}t.bisect=i,t.bisectRight=i,t.bisectLeft=a,t.ascending=e,t.bisector=r,t.cross=function(t,e,r){var n,i,a,s,l=t.length,c=e.length,u=new Array(l*c);for(null==r&&(r=o),n=a=0;n<l;++n)for(s=t[n],i=0;i<c;++i,++a)u[a]=r(s,e[i]);return u},t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.deviation=c,t.extent=u,t.histogram=function(){var t=g,e=u,r=w;function n(n){var a,o,s=n.length,l=new Array(s);for(a=0;a<s;++a)l[a]=t(n[a],a,n);var c=e(l),u=c[0],f=c[1],h=r(l,u,f);Array.isArray(h)||(h=_(u,f,h),h=m(Math.ceil(u/h)*h,Math.floor(f/h)*h,h));for(var p=h.length;h[0]<=u;)h.shift(),--p;for(;h[p-1]>f;)h.pop(),--p;var d,g=new Array(p+1);for(a=0;a<=p;++a)(d=g[a]=[]).x0=a>0?h[a-1]:u,d.x1=a<p?h[a]:f;for(a=0;a<s;++a)u<=(o=l[a])&&o<=f&&g[i(h,o,0,p)].push(n[a]);return g}return n.value=function(e){return arguments.length?(t="function"==typeof e?e:d(e),n):t},n.domain=function(t){return arguments.length?(e="function"==typeof t?t:d([t[0],t[1]]),n):e},n.thresholds=function(t){return arguments.length?(r="function"==typeof t?t:Array.isArray(t)?d(h.call(t)):d(t),n):r},n},t.thresholdFreedmanDiaconis=function(t,r,n){return t=p.call(t,s).sort(e),Math.ceil((n-r)/(2*(k(t,.75)-k(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,e,r){return Math.ceil((r-e)/(3.5*c(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=w,t.max=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&r>n&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&r>n&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a<n;)isNaN(r=s(t[a]))?--i:o+=r;else for(;++a<n;)isNaN(r=s(e(t[a],a,t)))?--i:o+=r;if(i)return o/i},t.median=function(t,r){var n,i=t.length,a=-1,o=[];if(null==r)for(;++a<i;)isNaN(n=s(t[a]))||o.push(n);else for(;++a<i;)isNaN(n=s(r(t[a],a,t)))||o.push(n);return k(o.sort(e),.5)},t.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r},t.min=M,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r<n;)a[r]=e(i,i=t[++r]);return a},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=k,t.range=m,t.scan=function(t,r){if(n=t.length){var n,i,a=0,o=0,s=t[o];for(null==r&&(r=e);++a<n;)(r(i=t[a],s)<0||0!==r(s,s))&&(s=i,o=a);return 0===r(s,s)?o:void 0}},t.shuffle=function(t,e,r){for(var n,i,a=(null==r?t.length:r)-(e=null==e?0:+e);a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.sum=function(t,e){var r,n=t.length,i=-1,a=0;if(null==e)for(;++i<n;)(r=+t[i])&&(a+=r);else for(;++i<n;)(r=+e(t[i],i,t))&&(a+=r);return a},t.ticks=function(t,e,r){var n,i,a,o,s=-1;if(r=+r,(t=+t)==(e=+e)&&r>0)return[t];if((n=e<t)&&(i=t,t=e,e=i),0===(o=b(t,e,r))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s<i;)a[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++s<i;)a[s]=(t-s)/o;return n&&a.reverse(),a},t.tickIncrement=b,t.tickStep=_,t.transpose=A,t.variance=l,t.zip=function(){return A(arguments)},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],140:[function(t,e,r){var n;n=this,function(t){"use strict";function e(){}function r(t,r){var n=new e;if(t instanceof e)t.each(function(t,e){n.set(e,t)});else if(Array.isArray(t)){var i,a=-1,o=t.length;if(null==r)for(;++a<o;)n.set(a,t[a]);else for(;++a<o;)n.set(r(i=t[a],a,t),i)}else if(t)for(var s in t)n.set(s,t[s]);return n}e.prototype=r.prototype={constructor:e,has:function(t){return"$"+t in this},get:function(t){return this["$"+t]},set:function(t,e){return this["$"+t]=e,this},remove:function(t){var e="$"+t;return e in this&&delete this[e]},clear:function(){for(var t in this)"$"===t[0]&&delete this[t]},keys:function(){var t=[];for(var e in this)"$"===e[0]&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)"$"===e[0]&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)"$"===e[0]&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)"$"===e[0]&&++t;return t},empty:function(){for(var t in this)if("$"===t[0])return!1;return!0},each:function(t){for(var e in this)"$"===e[0]&&t(this[e],e.slice(1),this)}};function n(){return{}}function i(t,e,r){t[e]=r}function a(){return r()}function o(t,e,r){t.set(e,r)}function s(){}var l=r.prototype;function c(t,e){var r=new s;if(t instanceof s)t.each(function(t){r.add(t)});else if(t){var n=-1,i=t.length;if(null==e)for(;++n<i;)r.add(t[n]);else for(;++n<i;)r.add(e(t[n],n,t))}return r}s.prototype=c.prototype={constructor:s,has:l.has,add:function(t){return this["$"+(t+="")]=t,this},remove:l.remove,clear:l.clear,values:l.keys,size:l.size,empty:l.empty,each:l.each};t.nest=function(){var t,e,s,l=[],c=[];function u(n,i,a,o){if(i>=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,c,f,h=-1,p=n.length,d=l[i++],g=r(),m=a();++h<p;)(f=g.get(s=d(c=n[h])+""))?f.push(c):g.set(s,[c]);return g.each(function(t,e){o(m,e,u(t,i,a,o))}),m}return s={object:function(t){return u(t,0,n,i)},map:function(t){return u(t,0,a,o)},entries:function(t){return function t(r,n){if(++n>l.length)return r;var i,a=c[n-1];return null!=e&&n>=l.length?i=r.entries():(i=[],r.each(function(e,r){i.push({key:r,values:t(e,n)})})),null!=a?i.sort(function(t,e){return a(t.key,e.key)}):i}(u(t,0,a,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return c[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=c,t.map=r,t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],141:[function(t,e,r){var n;n=this,function(t){"use strict";var e=function(t,e,r){t.prototype=e.prototype=r,r.constructor=t};function r(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function n(){}var i="\\s*([+-]?\\d+)\\s*",a="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",o="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",s=/^#([0-9a-f]{3})$/,l=/^#([0-9a-f]{6})$/,c=new RegExp("^rgb\\("+[i,i,i]+"\\)$"),u=new RegExp("^rgb\\("+[o,o,o]+"\\)$"),f=new RegExp("^rgba\\("+[i,i,i,a]+"\\)$"),h=new RegExp("^rgba\\("+[o,o,o,a]+"\\)$"),p=new RegExp("^hsl\\("+[a,o,o]+"\\)$"),d=new RegExp("^hsla\\("+[a,o,o,a]+"\\)$"),g={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function m(t){var e;return t=(t+"").trim().toLowerCase(),(e=s.exec(t))?new _((e=parseInt(e[1],16))>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=l.exec(t))?v(parseInt(e[1],16)):(e=c.exec(t))?new _(e[1],e[2],e[3],1):(e=u.exec(t))?new _(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=f.exec(t))?y(e[1],e[2],e[3],e[4]):(e=h.exec(t))?y(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=p.exec(t))?k(e[1],e[2]/100,e[3]/100,1):(e=d.exec(t))?k(e[1],e[2]/100,e[3]/100,e[4]):g.hasOwnProperty(t)?v(g[t]):"transparent"===t?new _(NaN,NaN,NaN,0):null}function v(t){return new _(t>>16&255,t>>8&255,255&t,1)}function y(t,e,r,n){return n<=0&&(t=e=r=NaN),new _(t,e,r,n)}function x(t){return t instanceof n||(t=m(t)),t?new _((t=t.rgb()).r,t.g,t.b,t.opacity):new _}function b(t,e,r,n){return 1===arguments.length?x(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function w(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function k(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new A(t,e,r,n)}function M(t,e,r,i){return 1===arguments.length?function(t){if(t instanceof A)return new A(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=m(t)),!t)return new A;if(t instanceof A)return t;var e=(t=t.rgb()).r/255,r=t.g/255,i=t.b/255,a=Math.min(e,r,i),o=Math.max(e,r,i),s=NaN,l=o-a,c=(o+a)/2;return l?(s=e===o?(r-i)/l+6*(r<i):r===o?(i-e)/l+2:(e-r)/l+4,l/=c<.5?o+a:2-o-a,s*=60):l=c>0&&c<1?0:s,new A(s,l,c,t.opacity)}(t):new A(t,e,r,null==i?1:i)}function A(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function T(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}e(n,m,{displayable:function(){return this.rgb().displayable()},hex:function(){return this.rgb().hex()},toString:function(){return this.rgb()+""}}),e(_,b,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return"#"+w(this.r)+w(this.g)+w(this.b)},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}})),e(A,M,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new A(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new A(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new _(T(t>=240?t-240:t+120,i,n),T(t,i,n),T(t<120?t+240:t-120,i,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var S=Math.PI/180,E=180/Math.PI,C=.96422,L=1,z=.82521,P=4/29,O=6/29,I=3*O*O,D=O*O*O;function R(t){if(t instanceof F)return new F(t.l,t.a,t.b,t.opacity);if(t instanceof G){if(isNaN(t.h))return new F(t.l,0,0,t.opacity);var e=t.h*S;return new F(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof _||(t=x(t));var r,n,i=U(t.r),a=U(t.g),o=U(t.b),s=N((.2225045*i+.7168786*a+.0606169*o)/L);return i===a&&a===o?r=n=s:(r=N((.4360747*i+.3850649*a+.1430804*o)/C),n=N((.0139322*i+.0971045*a+.7141733*o)/z)),new F(116*s-16,500*(r-s),200*(s-n),t.opacity)}function B(t,e,r,n){return 1===arguments.length?R(t):new F(t,e,r,null==n?1:n)}function F(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function N(t){return t>D?Math.pow(t,1/3):t/I+P}function j(t){return t>O?t*t*t:I*(t-P)}function V(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function U(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function q(t){if(t instanceof G)return new G(t.h,t.c,t.l,t.opacity);if(t instanceof F||(t=R(t)),0===t.a&&0===t.b)return new G(NaN,0,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*E;return new G(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function H(t,e,r,n){return 1===arguments.length?q(t):new G(t,e,r,null==n?1:n)}function G(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}e(F,B,r(n,{brighter:function(t){return new F(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new F(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return new _(V(3.1338561*(e=C*j(e))-1.6168667*(t=L*j(t))-.4906146*(r=z*j(r))),V(-.9787684*e+1.9161415*t+.033454*r),V(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}})),e(G,H,r(n,{brighter:function(t){return new G(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new G(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return R(this).rgb()}}));var W=-.14861,Y=1.78277,X=-.29227,Z=-.90649,$=1.97294,J=$*Z,K=$*Y,Q=Y*X-Z*W;function tt(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof et)return new et(t.h,t.s,t.l,t.opacity);t instanceof _||(t=x(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=(Q*n+J*e-K*r)/(Q+J-K),a=n-i,o=($*(r-i)-X*a)/Z,s=Math.sqrt(o*o+a*a)/($*i*(1-i)),l=s?Math.atan2(o,a)*E-120:NaN;return new et(l<0?l+360:l,s,i,t.opacity)}(t):new et(t,e,r,null==n?1:n)}function et(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e(et,tt,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new et(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new et(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*S,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new _(255*(e+r*(W*n+Y*i)),255*(e+r*(X*n+Z*i)),255*(e+r*($*n)),this.opacity)}})),t.color=m,t.rgb=b,t.hsl=M,t.lab=B,t.hcl=H,t.lch=function(t,e,r,n){return 1===arguments.length?q(t):new G(r,e,t,null==n?1:n)},t.gray=function(t,e){return new F(t,0,0,null==e?1:e)},t.cubehelix=tt,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],142:[function(t,e,r){var n;n=this,function(t){"use strict";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,i={};e<r;++e){if(!(t=arguments[e]+"")||t in i)throw new Error("illegal type: "+t);i[t]=[]}return new n(i)}function n(t){this._=t}function i(t,e){for(var r,n=0,i=t.length;n<i;++n)if((r=t[n]).name===e)return r.value}function a(t,r,n){for(var i=0,a=t.length;i<a;++i)if(t[i].name===r){t[i]=e,t=t.slice(0,i).concat(t.slice(i+1));break}return null!=n&&t.push({name:r,value:n}),t}n.prototype=r.prototype={constructor:n,on:function(t,e){var r,n,o=this._,s=(n=o,(t+"").trim().split(/^|\s+/).map(function(t){var e="",r=t.indexOf(".");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}})),l=-1,c=s.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++l<c;)if(r=(t=s[l]).type)o[r]=a(o[r],t.name,e);else if(null==e)for(r in o)o[r]=a(o[r],t.name,null);return this}for(;++l<c;)if((r=(t=s[l]).type)&&(r=i(o[r],t.name)))return r},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new n(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var r,n,i=new Array(r),a=0;a<r;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(a=0,r=(n=this._[t]).length;a<r;++a)n[a].value.apply(e,i)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var n=this._[t],i=0,a=n.length;i<a;++i)n[i].value.apply(e,r)}},t.dispatch=r,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],143:[function(t,e,r){var n,i;n=this,i=function(t,e,r,n,i){"use strict";var a=function(t){return function(){return t}},o=function(){return 1e-6*(Math.random()-.5)};function s(t){return t.x+t.vx}function l(t){return t.y+t.vy}function c(t){return t.index}function u(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function f(t){return t.x}function h(t){return t.y}var p=10,d=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){var r;function n(){var n,i,a=r.length,o=0,s=0;for(n=0;n<a;++n)o+=(i=r[n]).x,s+=i.y;for(o=o/a-t,s=s/a-e,n=0;n<a;++n)(i=r[n]).x-=o,i.y-=s}return null==t&&(t=0),null==e&&(e=0),n.initialize=function(t){r=t},n.x=function(e){return arguments.length?(t=+e,n):t},n.y=function(t){return arguments.length?(e=+t,n):e},n},t.forceCollide=function(t){var r,n,i=1,c=1;function u(){for(var t,a,u,h,p,d,g,m=r.length,v=0;v<c;++v)for(a=e.quadtree(r,s,l).visitAfter(f),t=0;t<m;++t)u=r[t],d=n[u.index],g=d*d,h=u.x+u.vx,p=u.y+u.vy,a.visit(y);function y(t,e,r,n,a){var s=t.data,l=t.r,c=d+l;if(!s)return e>h+c||n<h-c||r>p+c||a<p-c;if(s.index>u.index){var f=h-s.x-s.vx,m=p-s.y-s.vy,v=f*f+m*m;v<c*c&&(0===f&&(v+=(f=o())*f),0===m&&(v+=(m=o())*m),v=(c-(v=Math.sqrt(v)))/v*i,u.vx+=(f*=v)*(c=(l*=l)/(g+l)),u.vy+=(m*=v)*c,s.vx-=f*(c=1-c),s.vy-=m*c)}}}function f(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function h(){if(r){var e,i,a=r.length;for(n=new Array(a),e=0;e<a;++e)i=r[e],n[i.index]=+t(i,e,r)}}return"function"!=typeof t&&(t=a(null==t?1:+t)),u.initialize=function(t){r=t,h()},u.iterations=function(t){return arguments.length?(c=+t,u):c},u.strength=function(t){return arguments.length?(i=+t,u):i},u.radius=function(e){return arguments.length?(t="function"==typeof e?e:a(+e),h(),u):t},u},t.forceLink=function(t){var e,n,i,s,l,f=c,h=function(t){return 1/Math.min(s[t.source.index],s[t.target.index])},p=a(30),d=1;function g(r){for(var i=0,a=t.length;i<d;++i)for(var s,c,u,f,h,p,g,m=0;m<a;++m)c=(s=t[m]).source,f=(u=s.target).x+u.vx-c.x-c.vx||o(),h=u.y+u.vy-c.y-c.vy||o(),f*=p=((p=Math.sqrt(f*f+h*h))-n[m])/p*r*e[m],h*=p,u.vx-=f*(g=l[m]),u.vy-=h*g,c.vx+=f*(g=1-g),c.vy+=h*g}function m(){if(i){var a,o,c=i.length,h=t.length,p=r.map(i,f);for(a=0,s=new Array(c);a<h;++a)(o=t[a]).index=a,"object"!=typeof o.source&&(o.source=u(p,o.source)),"object"!=typeof o.target&&(o.target=u(p,o.target)),s[o.source.index]=(s[o.source.index]||0)+1,s[o.target.index]=(s[o.target.index]||0)+1;for(a=0,l=new Array(h);a<h;++a)o=t[a],l[a]=s[o.source.index]/(s[o.source.index]+s[o.target.index]);e=new Array(h),v(),n=new Array(h),y()}}function v(){if(i)for(var r=0,n=t.length;r<n;++r)e[r]=+h(t[r],r,t)}function y(){if(i)for(var e=0,r=t.length;e<r;++e)n[e]=+p(t[e],e,t)}return null==t&&(t=[]),g.initialize=function(t){i=t,m()},g.links=function(e){return arguments.length?(t=e,m(),g):t},g.id=function(t){return arguments.length?(f=t,g):f},g.iterations=function(t){return arguments.length?(d=+t,g):d},g.strength=function(t){return arguments.length?(h="function"==typeof t?t:a(+t),v(),g):h},g.distance=function(t){return arguments.length?(p="function"==typeof t?t:a(+t),y(),g):p},g},t.forceManyBody=function(){var t,r,n,i,s=a(-30),l=1,c=1/0,u=.81;function p(i){var a,o=t.length,s=e.quadtree(t,f,h).visitAfter(g);for(n=i,a=0;a<o;++a)r=t[a],s.visit(m)}function d(){if(t){var e,r,n=t.length;for(i=new Array(n),e=0;e<n;++e)r=t[e],i[r.index]=+s(r,e,t)}}function g(t){var e,r,n,a,o,s=0,l=0;if(t.length){for(n=a=o=0;o<4;++o)(e=t[o])&&(r=Math.abs(e.value))&&(s+=e.value,l+=r,n+=r*e.x,a+=r*e.y);t.x=n/l,t.y=a/l}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=i[e.data.index]}while(e=e.next)}t.value=s}function m(t,e,a,s){if(!t.value)return!0;var f=t.x-r.x,h=t.y-r.y,p=s-e,d=f*f+h*h;if(p*p/u<d)return d<c&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d<l&&(d=Math.sqrt(l*d)),r.vx+=f*t.value*n/d,r.vy+=h*t.value*n/d),!0;if(!(t.length||d>=c)){(t.data!==r||t.next)&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d<l&&(d=Math.sqrt(l*d)));do{t.data!==r&&(p=i[t.data.index]*n/d,r.vx+=f*p,r.vy+=h*p)}while(t=t.next)}}return p.initialize=function(e){t=e,d()},p.strength=function(t){return arguments.length?(s="function"==typeof t?t:a(+t),d(),p):s},p.distanceMin=function(t){return arguments.length?(l=t*t,p):Math.sqrt(l)},p.distanceMax=function(t){return arguments.length?(c=t*t,p):Math.sqrt(c)},p.theta=function(t){return arguments.length?(u=t*t,p):Math.sqrt(u)},p},t.forceRadial=function(t,e,r){var n,i,o,s=a(.1);function l(t){for(var a=0,s=n.length;a<s;++a){var l=n[a],c=l.x-e||1e-6,u=l.y-r||1e-6,f=Math.sqrt(c*c+u*u),h=(o[a]-f)*i[a]*t/f;l.vx+=c*h,l.vy+=u*h}}function c(){if(n){var e,r=n.length;for(i=new Array(r),o=new Array(r),e=0;e<r;++e)o[e]=+t(n[e],e,n),i[e]=isNaN(o[e])?0:+s(n[e],e,n)}}return"function"!=typeof t&&(t=a(+t)),null==e&&(e=0),null==r&&(r=0),l.initialize=function(t){n=t,c()},l.strength=function(t){return arguments.length?(s="function"==typeof t?t:a(+t),c(),l):s},l.radius=function(e){return arguments.length?(t="function"==typeof e?e:a(+e),c(),l):t},l.x=function(t){return arguments.length?(e=+t,l):e},l.y=function(t){return arguments.length?(r=+t,l):r},l},t.forceSimulation=function(t){var e,a=1,o=.001,s=1-Math.pow(o,1/300),l=0,c=.6,u=r.map(),f=i.timer(g),h=n.dispatch("tick","end");function g(){m(),h.call("tick",e),a<o&&(f.stop(),h.call("end",e))}function m(){var e,r,n=t.length;for(a+=(l-a)*s,u.each(function(t){t(a)}),e=0;e<n;++e)null==(r=t[e]).fx?r.x+=r.vx*=c:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=c:(r.y=r.fy,r.vy=0)}function v(){for(var e,r=0,n=t.length;r<n;++r){if((e=t[r]).index=r,isNaN(e.x)||isNaN(e.y)){var i=p*Math.sqrt(r),a=r*d;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function y(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),v(),e={tick:m,restart:function(){return f.restart(g),e},stop:function(){return f.stop(),e},nodes:function(r){return arguments.length?(t=r,v(),u.each(y),e):t},alpha:function(t){return arguments.length?(a=+t,e):a},alphaMin:function(t){return arguments.length?(o=+t,e):o},alphaDecay:function(t){return arguments.length?(s=+t,e):+s},alphaTarget:function(t){return arguments.length?(l=+t,e):l},velocityDecay:function(t){return arguments.length?(c=1-t,e):1-c},force:function(t,r){return arguments.length>1?(null==r?u.remove(t):u.set(t,y(r)),e):u.get(t)},find:function(e,r,n){var i,a,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c<u;++c)(o=(i=e-(s=t[c]).x)*i+(a=r-s.y)*a)<n&&(l=s,n=o);return l},on:function(t,r){return arguments.length>1?(h.on(t,r),e):h.on(t)}}},t.forceX=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vx+=(n[a]-i.x)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return"function"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i="function"==typeof t?t:a(+t),s(),o):i},o.x=function(e){return arguments.length?(t="function"==typeof e?e:a(+e),s(),o):t},o},t.forceY=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vy+=(n[a]-i.y)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return"function"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i="function"==typeof t?t:a(+t),s(),o):i},o.y=function(e){return arguments.length?(t="function"==typeof e?e:a(+e),s(),o):t},o},Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&"undefined"!=typeof e?i(r,t("d3-quadtree"),t("d3-collection"),t("d3-dispatch"),t("d3-timer")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3,n.d3)},{"d3-collection":140,"d3-dispatch":142,"d3-quadtree":145,"d3-timer":146}],144:[function(t,e,r){var n,i;n=this,i=function(t,e){"use strict";function r(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}var n=function(t){var e=t.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i>0?t[i-1]:2*a-o,l=i<e-1?t[i+2]:2*o-a;return r((n-i/e)*e,s,a,o,l)}},i=function(t){var e=t.length;return function(n){var i=Math.floor(((n%=1)<0?++n:n)*e),a=t[(i+e-1)%e],o=t[i%e],s=t[(i+1)%e],l=t[(i+2)%e];return r((n-i/e)*e,a,o,s,l)}},a=function(t){return function(){return t}};function o(t,e){return function(r){return t+r*e}}function s(t,e){var r=e-t;return r?o(t,r>180||r<-180?r-360*Math.round(r/360):r):a(isNaN(t)?e:t)}function l(t){return 1==(t=+t)?c:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):a(isNaN(e)?r:e)}}function c(t,e){var r=e-t;return r?o(t,r):a(isNaN(t)?e:t)}var u=function t(r){var n=l(r);function i(t,r){var i=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=n(t.g,r.g),o=n(t.b,r.b),s=c(t.opacity,r.opacity);return function(e){return t.r=i(e),t.g=a(e),t.b=o(e),t.opacity=s(e),t+""}}return i.gamma=t,i}(1);function f(t){return function(r){var n,i,a=r.length,o=new Array(a),s=new Array(a),l=new Array(a);for(n=0;n<a;++n)i=e.rgb(r[n]),o[n]=i.r||0,s[n]=i.g||0,l[n]=i.b||0;return o=t(o),s=t(s),l=t(l),i.opacity=1,function(t){return i.r=o(t),i.g=s(t),i.b=l(t),i+""}}}var h=f(n),p=f(i),d=function(t,e){var r,n=e?e.length:0,i=t?Math.min(n,t.length):0,a=new Array(i),o=new Array(n);for(r=0;r<i;++r)a[r]=A(t[r],e[r]);for(;r<n;++r)o[r]=e[r];return function(t){for(r=0;r<i;++r)o[r]=a[r](t);return o}},g=function(t,e){var r=new Date;return e-=t=+t,function(n){return r.setTime(t+e*n),r}},m=function(t,e){return e-=t=+t,function(r){return t+e*r}},v=function(t,e){var r,n={},i={};for(r in null!==t&&"object"==typeof t||(t={}),null!==e&&"object"==typeof e||(e={}),e)r in t?n[r]=A(t[r],e[r]):i[r]=e[r];return function(t){for(r in n)i[r]=n[r](t);return i}},y=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,x=new RegExp(y.source,"g");var b,_,w,k,M=function(t,e){var r,n,i,a=y.lastIndex=x.lastIndex=0,o=-1,s=[],l=[];for(t+="",e+="";(r=y.exec(t))&&(n=x.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:m(r,n)})),a=x.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?function(t){return function(e){return t(e)+""}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join("")})},A=function(t,r){var n,i=typeof r;return null==r||"boolean"===i?a(r):("number"===i?m:"string"===i?(n=e.color(r))?(r=n,u):M:r instanceof e.color?u:r instanceof Date?g:Array.isArray(r)?d:"function"!=typeof r.valueOf&&"function"!=typeof r.toString||isNaN(r)?v:m)(t,r)},T=180/Math.PI,S={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},E=function(t,e,r,n,i,a){var o,s,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*r+e*n)&&(r-=t*l,n-=e*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),t*n<e*r&&(t=-t,e=-e,l=-l,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(e,t)*T,skewX:Math.atan(l)*T,scaleX:o,scaleY:s}};function C(t,e,r,n){function i(t){return t.length?t.pop()+" ":""}return function(a,o){var s=[],l=[];return a=t(a),o=t(o),function(t,n,i,a,o,s){if(t!==i||n!==a){var l=o.push("translate(",null,e,null,r);s.push({i:l-4,x:m(t,i)},{i:l-2,x:m(n,a)})}else(i||a)&&o.push("translate("+i+e+a+r)}(a.translateX,a.translateY,o.translateX,o.translateY,s,l),function(t,e,r,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+"rotate(",null,n)-2,x:m(t,e)})):e&&r.push(i(r)+"rotate("+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+"skewX(",null,n)-2,x:m(t,e)}):e&&r.push(i(r)+"skewX("+e+n)}(a.skewX,o.skewX,s,l),function(t,e,r,n,a,o){if(t!==r||e!==n){var s=a.push(i(a)+"scale(",null,",",null,")");o.push({i:s-4,x:m(t,r)},{i:s-2,x:m(e,n)})}else 1===r&&1===n||a.push(i(a)+"scale("+r+","+n+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=o=null,function(t){for(var e,r=-1,n=l.length;++r<n;)s[(e=l[r]).i]=e.x(t);return s.join("")}}}var L=C(function(t){return"none"===t?S:(b||(b=document.createElement("DIV"),_=document.documentElement,w=document.defaultView),b.style.transform=t,t=w.getComputedStyle(_.appendChild(b),null).getPropertyValue("transform"),_.removeChild(b),t=t.slice(7,-1).split(","),E(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},"px, ","px)","deg)"),z=C(function(t){return null==t?S:(k||(k=document.createElementNS("http://www.w3.org/2000/svg","g")),k.setAttribute("transform",t),(t=k.transform.baseVal.consolidate())?(t=t.matrix,E(t.a,t.b,t.c,t.d,t.e,t.f)):S)},", ",")",")"),P=Math.SQRT2;function O(t){return((t=Math.exp(t))+1/t)/2}function I(t){return function(r,n){var i=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),a=c(r.s,n.s),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=i(t),r.s=a(t),r.l=o(t),r.opacity=s(t),r+""}}}var D=I(s),R=I(c);function B(t){return function(r,n){var i=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),a=c(r.c,n.c),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=i(t),r.c=a(t),r.l=o(t),r.opacity=s(t),r+""}}}var F=B(s),N=B(c);function j(t){return function r(n){function i(r,i){var a=t((r=e.cubehelix(r)).h,(i=e.cubehelix(i)).h),o=c(r.s,i.s),s=c(r.l,i.l),l=c(r.opacity,i.opacity);return function(t){return r.h=a(t),r.s=o(t),r.l=s(Math.pow(t,n)),r.opacity=l(t),r+""}}return n=+n,i.gamma=r,i}(1)}var V=j(s),U=j(c);t.interpolate=A,t.interpolateArray=d,t.interpolateBasis=n,t.interpolateBasisClosed=i,t.interpolateDate=g,t.interpolateNumber=m,t.interpolateObject=v,t.interpolateRound=function(t,e){return e-=t=+t,function(r){return Math.round(t+e*r)}},t.interpolateString=M,t.interpolateTransformCss=L,t.interpolateTransformSvg=z,t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,f=l-a,h=u*u+f*f;if(h<1e-12)n=Math.log(c/o)/P,r=function(t){return[i+t*u,a+t*f,o*Math.exp(P*t*n)]};else{var p=Math.sqrt(h),d=(c*c-o*o+4*h)/(2*o*2*p),g=(c*c-o*o-4*h)/(2*c*2*p),m=Math.log(Math.sqrt(d*d+1)-d),v=Math.log(Math.sqrt(g*g+1)-g);n=(v-m)/P,r=function(t){var e,r=t*n,s=O(m),l=o/(2*p)*(s*(e=P*r+m,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[i+l*u,a+l*f,o*s/O(P*r+m)]}}return r.duration=1e3*n,r},t.interpolateRgb=u,t.interpolateRgbBasis=h,t.interpolateRgbBasisClosed=p,t.interpolateHsl=D,t.interpolateHslLong=R,t.interpolateLab=function(t,r){var n=c((t=e.lab(t)).l,(r=e.lab(r)).l),i=c(t.a,r.a),a=c(t.b,r.b),o=c(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=i(e),t.b=a(e),t.opacity=o(e),t+""}},t.interpolateHcl=F,t.interpolateHclLong=N,t.interpolateCubehelix=V,t.interpolateCubehelixLong=U,t.piecewise=function(t,e){for(var r=0,n=e.length-1,i=e[0],a=new Array(n<0?0:n);r<n;)a[r]=t(i,i=e[++r]);return function(t){var e=Math.max(0,Math.min(n-1,Math.floor(t*=n)));return a[e](t-e)}},t.quantize=function(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t(n/(e-1));return r},Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&"undefined"!=typeof e?i(r,t("d3-color")):i(n.d3=n.d3||{},n.d3)},{"d3-color":141}],145:[function(t,e,r){var n;n=this,function(t){"use strict";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,c,u,f,h,p=t._root,d={data:n},g=t._x0,m=t._y0,v=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((c=e>=(a=(g+v)/2))?g=a:v=a,(u=r>=(o=(m+y)/2))?m=o:y=o,i=p,!(p=p[f=u<<1|c]))return i[f]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(c=e>=(a=(g+v)/2))?g=a:v=a,(u=r>=(o=(m+y)/2))?m=o:y=o}while((f=u<<1|c)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}var r=function(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i};function n(t){return t[0]}function i(t){return t[1]}function a(t,e,r){var a=new o(null==e?n:e,null==r?i:r,NaN,NaN,NaN,NaN);return null==t?a:a.addAll(t)}function o(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function s(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var l=a.prototype=o.prototype;l.copy=function(){var t,e,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var i=0;i<4;++i)(e=n.source[i])&&(e.length?t.push({source:e,target:n.target[i]=new Array(4)}):n.target[i]=s(e));return r},l.add=function(t){var r=+this._x.call(null,t),n=+this._y.call(null,t);return e(this.cover(r,n),r,n,t)},l.addAll=function(t){var r,n,i,a,o=t.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,f=-1/0,h=-1/0;for(n=0;n<o;++n)isNaN(i=+this._x.call(null,r=t[n]))||isNaN(a=+this._y.call(null,r))||(s[n]=i,l[n]=a,i<c&&(c=i),i>f&&(f=i),a<u&&(u=a),a>h&&(h=a));for(f<c&&(c=this._x0,f=this._x1),h<u&&(u=this._y0,h=this._y1),this.cover(c,u).cover(f,h),n=0;n<o;++n)e(this,s[n],l[n],t[n]);return this},l.cover=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var r=this._x0,n=this._y0,i=this._x1,a=this._y1;if(isNaN(r))i=(r=Math.floor(t))+1,a=(n=Math.floor(e))+1;else{if(!(r>t||t>i||n>e||e>a))return this;var o,s,l=i-r,c=this._root;switch(s=(e<(n+a)/2)<<1|t<(r+i)/2){case 0:do{(o=new Array(4))[s]=c,c=o}while(a=n+(l*=2),t>(i=r+l)||e>a);break;case 1:do{(o=new Array(4))[s]=c,c=o}while(a=n+(l*=2),(r=i-l)>t||e>a);break;case 2:do{(o=new Array(4))[s]=c,c=o}while(n=a-(l*=2),t>(i=r+l)||n>e);break;case 3:do{(o=new Array(4))[s]=c,c=o}while(n=a-(l*=2),(r=i-l)>t||n>e)}this._root&&this._root.length&&(this._root=c)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,this},l.data=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},l.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l.find=function(t,e,n){var i,a,o,s,l,c,u,f=this._x0,h=this._y0,p=this._x1,d=this._y1,g=[],m=this._root;for(m&&g.push(new r(m,f,h,p,d)),null==n?n=1/0:(f=t-n,h=e-n,p=t+n,d=e+n,n*=n);c=g.pop();)if(!(!(m=c.node)||(a=c.x0)>p||(o=c.y0)>d||(s=c.x1)<f||(l=c.y1)<h))if(m.length){var v=(a+s)/2,y=(o+l)/2;g.push(new r(m[3],v,y,s,l),new r(m[2],a,y,v,l),new r(m[1],v,o,s,y),new r(m[0],a,o,v,y)),(u=(e>=y)<<1|t>=v)&&(c=g[g.length-1],g[g.length-1]=g[g.length-1-u],g[g.length-1-u]=c)}else{var x=t-+this._x.call(null,m.data),b=e-+this._y.call(null,m.data),_=x*x+b*b;if(_<n){var w=Math.sqrt(n=_);f=t-w,h=e-w,p=t+w,d=e+w,i=m.data}}return i},l.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,r,n,i,a,o,s,l,c,u,f,h,p=this._root,d=this._x0,g=this._y0,m=this._x1,v=this._y1;if(!p)return this;if(p.length)for(;;){if((c=a>=(s=(d+m)/2))?d=s:m=s,(u=o>=(l=(g+v)/2))?g=l:v=l,e=p,!(p=p[f=u<<1|c]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,this)},l.removeAll=function(t){for(var e=0,r=t.length;e<r;++e)this.remove(t[e]);return this},l.root=function(){return this._root},l.size=function(){var t=0;return this.visit(function(e){if(!e.length)do{++t}while(e=e.next)}),t},l.visit=function(t){var e,n,i,a,o,s,l=[],c=this._root;for(c&&l.push(new r(c,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(c=e.node,i=e.x0,a=e.y0,o=e.x1,s=e.y1)&&c.length){var u=(i+o)/2,f=(a+s)/2;(n=c[3])&&l.push(new r(n,u,f,o,s)),(n=c[2])&&l.push(new r(n,i,f,u,s)),(n=c[1])&&l.push(new r(n,u,a,o,f)),(n=c[0])&&l.push(new r(n,i,a,u,f))}return this},l.visitAfter=function(t){var e,n=[],i=[];for(this._root&&n.push(new r(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var a=e.node;if(a.length){var o,s=e.x0,l=e.y0,c=e.x1,u=e.y1,f=(s+c)/2,h=(l+u)/2;(o=a[0])&&n.push(new r(o,s,l,f,h)),(o=a[1])&&n.push(new r(o,f,l,c,h)),(o=a[2])&&n.push(new r(o,s,h,f,u)),(o=a[3])&&n.push(new r(o,f,h,c,u))}i.push(e)}for(;e=i.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},l.x=function(t){return arguments.length?(this._x=t,this):this._x},l.y=function(t){return arguments.length?(this._y=t,this):this._y},t.quadtree=a,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],146:[function(t,e,r){var n;n=this,function(t){"use strict";var e,r,n=0,i=0,a=0,o=1e3,s=0,l=0,c=0,u="object"==typeof performance&&performance.now?performance:Date,f="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function h(){return l||(f(p),l=u.now()+c)}function p(){l=0}function d(){this._call=this._time=this._next=null}function g(t,e,r){var n=new d;return n.restart(t,e,r),n}function m(){h(),++n;for(var t,r=e;r;)(t=l-r._time)>=0&&r._call.call(null,t),r=r._next;--n}function v(){l=(s=u.now())+c,n=i=0;try{m()}finally{n=0,function(){var t,n,i=e,a=1/0;for(;i;)i._call?(a>i._time&&(a=i._time),t=i,i=i._next):(n=i._next,i._next=null,i=t?t._next=n:e=n);r=t,x(a)}(),l=0}}function y(){var t=u.now(),e=t-s;e>o&&(c-=e,s=t)}function x(t){n||(i&&(i=clearTimeout(i)),t-l>24?(t<1/0&&(i=setTimeout(v,t-u.now()-c)),a&&(a=clearInterval(a))):(a||(s=u.now(),a=setInterval(y,o)),n=1,f(v)))}d.prototype=g.prototype={constructor:d,restart:function(t,n,i){if("function"!=typeof t)throw new TypeError("callback is not a function");i=(null==i?h():+i)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=i,x()},stop:function(){this._call&&(this._call=null,this._time=1/0,x())}};t.now=h,t.timer=g,t.timerFlush=m,t.timeout=function(t,e,r){var n=new d;return e=null==e?0:+e,n.restart(function(r){n.stop(),t(r+e)},e,r),n},t.interval=function(t,e,r){var n=new d,i=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?h():+r,n.restart(function a(o){o+=i,n.restart(a,i+=e,r),t(o)},e,r),n)},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],147:[function(t,e,r){!function(){var t={version:"3.5.17"},r=[].slice,n=function(t){return r.call(t)},i=this.document;function a(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(i)try{n(i.documentElement.childNodes)[0].nodeType}catch(t){n=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),i)try{i.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var s=this.Element.prototype,l=s.setAttribute,c=s.setAttributeNS,u=this.CSSStyleDeclaration.prototype,f=u.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+"")},s.setAttributeNS=function(t,e,r){c.call(this,t,e,r+"")},u.setProperty=function(t,e,r){f.call(this,t,e+"",r)}}function h(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function p(t){return null===t?NaN:+t}function d(t){return!isNaN(t)}function g(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}t.ascending=h,t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&r>n&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&r>n&&(r=n)}return r},t.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&n>r&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&n>r&&(r=n)}return r},t.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a<o;)if(null!=(n=t[a])&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=t[a])&&(r>n&&(r=n),i<n&&(i=n))}else{for(;++a<o;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=e.call(t,t[a],a))&&(r>n&&(r=n),i<n&&(i=n))}return[r,i]},t.sum=function(t,e){var r,n=0,i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)d(r=+t[a])&&(n+=r);else for(;++a<i;)d(r=+e.call(t,t[a],a))&&(n+=r);return n},t.mean=function(t,e){var r,n=0,i=t.length,a=-1,o=i;if(1===arguments.length)for(;++a<i;)d(r=p(t[a]))?n+=r:--o;else for(;++a<i;)d(r=p(e.call(t,t[a],a)))?n+=r:--o;if(o)return n/o},t.quantile=function(t,e){var r=(t.length-1)*e+1,n=Math.floor(r),i=+t[n-1],a=r-n;return a?i+a*(t[n]-i):i},t.median=function(e,r){var n,i=[],a=e.length,o=-1;if(1===arguments.length)for(;++o<a;)d(n=p(e[o]))&&i.push(n);else for(;++o<a;)d(n=p(r.call(e,e[o],o)))&&i.push(n);if(i.length)return t.quantile(i.sort(h),.5)},t.variance=function(t,e){var r,n,i=t.length,a=0,o=0,s=-1,l=0;if(1===arguments.length)for(;++s<i;)d(r=p(t[s]))&&(o+=(n=r-a)*(r-(a+=n/++l)));else for(;++s<i;)d(r=p(e.call(t,t[s],s)))&&(o+=(n=r-a)*(r-(a+=n/++l)));if(l>1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var m=g(h);function v(t){return t.length}t.bisectLeft=m.left,t.bisect=t.bisectRight=m.right,t.bisector=function(t){return g(1===t.length?function(e,r){return h(t(e),r)}:t)},t.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e<r;)i[e]=[n,n=t[++e]];return i},t.transpose=function(e){if(!(a=e.length))return[];for(var r=-1,n=t.min(e,v),i=new Array(n);++r<n;)for(var a,o=-1,s=i[r]=new Array(a);++o<a;)s[o]=e[o][r];return i},t.zip=function(){return t.transpose(arguments)},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},t.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function b(){this._=Object.create(null)}t.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error("infinite range");var n,i=[],a=function(t){var e=1;for(;t*e%1;)e*=10;return e}(y(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)<e;)i.push(n/a);return i},t.map=function(t,e){var r=new b;if(t instanceof b)t.forEach(function(t,e){r.set(t,e)});else if(Array.isArray(t)){var n,i=-1,a=t.length;if(1===arguments.length)for(;++i<a;)r.set(i,t[i]);else for(;++i<a;)r.set(e.call(t,n=t[i],i),n)}else for(var o in t)r.set(o,t[o]);return r};var _="__proto__",w="\0";function k(t){return(t+="")===_||t[0]===w?w+t:t}function M(t){return(t+="")[0]===w?t.slice(1):t}function A(t){return k(t)in this._}function T(t){return(t=k(t))in this._&&delete this._[t]}function S(){var t=[];for(var e in this._)t.push(M(e));return t}function E(){var t=0;for(var e in this._)++t;return t}function C(){for(var t in this._)return!1;return!0}function L(){this._=Object.create(null)}function z(t){return t}function P(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function O(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=I.length;r<n;++r){var i=I[r]+e;if(i in t)return i}}x(b,{has:A,get:function(t){return this._[k(t)]},set:function(t,e){return this._[k(t)]=e},remove:T,keys:S,values:function(){var t=[];for(var e in this._)t.push(this._[e]);return t},entries:function(){var t=[];for(var e in this._)t.push({key:M(e),value:this._[e]});return t},size:E,empty:C,forEach:function(t){for(var e in this._)t.call(this,M(e),this._[e])}}),t.nest=function(){var e,r,n={},i=[],a=[];function o(t,a,s){if(s>=i.length)return r?r.call(n,a):e?a.sort(e):a;for(var l,c,u,f,h=-1,p=a.length,d=i[s++],g=new b;++h<p;)(f=g.get(l=d(c=a[h])))?f.push(c):g.set(l,[c]);return t?(c=t(),u=function(e,r){c.set(e,o(t,r,s))}):(c={},u=function(e,r){c[e]=o(t,r,s)}),g.forEach(u),c}return n.map=function(t,e){return o(e,t,0)},n.entries=function(e){return function t(e,r){if(r>=i.length)return e;var n=[],o=a[r++];return e.forEach(function(e,i){n.push({key:e,values:t(i,r)})}),o?n.sort(function(t,e){return o(t.key,e.key)}):n}(o(t.map,e,0),0)},n.key=function(t){return i.push(t),n},n.sortKeys=function(t){return a[i.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new L;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},x(L,{has:A,add:function(t){return this._[k(t+="")]=!0,t},remove:T,values:S,size:E,empty:C,forEach:function(t){for(var e in this._)t.call(this,M(e))}}),t.behavior={},t.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n<i;)t[r=arguments[n]]=P(t,e,e[r]);return t};var I=["webkit","ms","moz","Moz","o","O"];function D(){}function R(){}function B(t){var e=[],r=new b;function n(){for(var r,n=e,i=-1,a=n.length;++i<a;)(r=n[i].on)&&r.apply(this,arguments);return t}return n.on=function(n,i){var a,o=r.get(n);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,a=e.indexOf(o)).concat(e.slice(a+1)),r.remove(n)),i&&e.push(r.set(n,{on:i})),t)},n}function F(){t.event.preventDefault()}function N(){for(var e,r=t.event;e=r.sourceEvent;)r=e;return r}function j(e){for(var r=new R,n=0,i=arguments.length;++n<i;)r[arguments[n]]=B(r);return r.of=function(n,i){return function(a){try{var o=a.sourceEvent=t.event;a.target=e,t.event=a,r[a.type].apply(n,i)}finally{t.event=o}}},r}t.dispatch=function(){for(var t=new R,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=B(t);return t},R.prototype.on=function(t,e){var r=t.indexOf("."),n="";if(r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},t.event=null,t.requote=function(t){return t.replace(V,"\\$&")};var V=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function q(t){return U(t,Y),t}var H=function(t,e){return e.querySelector(t)},G=function(t,e){return e.querySelectorAll(t)},W=function(t,e){var r=t.matches||t[O(t,"matchesSelector")];return(W=function(t,e){return r.call(t,e)})(t,e)};"function"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},G=Sizzle,W=Sizzle.matchesSelector),t.selection=function(){return t.select(i.documentElement)};var Y=t.selection.prototype=[];function X(t){return"function"==typeof t?t:function(){return H(t,this)}}function Z(t){return"function"==typeof t?t:function(){return G(t,this)}}Y.select=function(t){var e,r,n,i,a=[];t=X(t);for(var o=-1,s=this.length;++o<s;){a.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,c=n.length;++l<c;)(i=n[l])?(e.push(r=t.call(i,i.__data__,l,o)),r&&"__data__"in i&&(r.__data__=i.__data__)):e.push(null)}return q(a)},Y.selectAll=function(t){var e,r,i=[];t=Z(t);for(var a=-1,o=this.length;++a<o;)for(var s=this[a],l=-1,c=s.length;++l<c;)(r=s[l])&&(i.push(e=n(t.call(r,r.__data__,l,a))),e.parentNode=r);return q(i)};var $="http://www.w3.org/1999/xhtml",J={svg:"http://www.w3.org/2000/svg",xhtml:$,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function K(e,r){return e=t.ns.qualify(e),null==r?e.local?function(){this.removeAttributeNS(e.space,e.local)}:function(){this.removeAttribute(e)}:"function"==typeof r?e.local?function(){var t=r.apply(this,arguments);null==t?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,t)}:function(){var t=r.apply(this,arguments);null==t?this.removeAttribute(e):this.setAttribute(e,t)}:e.local?function(){this.setAttributeNS(e.space,e.local,r)}:function(){this.setAttribute(e,r)}}function Q(t){return t.trim().replace(/\s+/g," ")}function tt(e){return new RegExp("(?:^|\\s+)"+t.requote(e)+"(?:\\s+|$)","g")}function et(t){return(t+"").trim().split(/^|\s+/)}function rt(t,e){var r=(t=et(t).map(nt)).length;return"function"==typeof e?function(){for(var n=-1,i=e.apply(this,arguments);++n<r;)t[n](this,i)}:function(){for(var n=-1;++n<r;)t[n](this,e)}}function nt(t){var e=tt(t);return function(r,n){if(i=r.classList)return n?i.add(t):i.remove(t);var i=r.getAttribute("class")||"";n?(e.lastIndex=0,e.test(i)||r.setAttribute("class",Q(i+" "+t))):r.setAttribute("class",Q(i.replace(e," ")))}}function it(t,e,r){return null==e?function(){this.style.removeProperty(t)}:"function"==typeof e?function(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,r)}:function(){this.style.setProperty(t,e,r)}}function at(t,e){return null==e?function(){delete this[t]}:"function"==typeof e?function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}:function(){this[t]=e}}function ot(e){return"function"==typeof e?e:(e=t.ns.qualify(e)).local?function(){return this.ownerDocument.createElementNS(e.space,e.local)}:function(){var t=this.ownerDocument,r=this.namespaceURI;return r===$&&t.documentElement.namespaceURI===$?t.createElement(e):t.createElementNS(r,e)}}function st(){var t=this.parentNode;t&&t.removeChild(this)}function lt(t){return{__data__:t}}function ct(t){return function(){return W(this,t)}}function ut(t,e){for(var r=0,n=t.length;r<n;r++)for(var i,a=t[r],o=0,s=a.length;o<s;o++)(i=a[o])&&e(i,o,r);return t}function ft(t){return U(t,ht),t}t.ns={prefix:J,qualify:function(t){var e=t.indexOf(":"),r=t;return e>=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),J.hasOwnProperty(r)?{space:J[r],local:t}:t}},Y.attr=function(e,r){if(arguments.length<2){if("string"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(K(r,e[r]));return this}return this.each(K(e,r))},Y.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=et(t)).length,i=-1;if(e=r.classList){for(;++i<n;)if(!e.contains(t[i]))return!1}else for(e=r.getAttribute("class");++i<n;)if(!tt(t[i]).test(e))return!1;return!0}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(t,e))},Y.style=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=""),t)this.each(it(r,t[r],e));return this}if(n<2){var i=this.node();return o(i).getComputedStyle(i,null).getPropertyValue(t)}r=""}return this.each(it(t,e,r))},Y.property=function(t,e){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(e in t)this.each(at(e,t[e]));return this}return this.each(at(t,e))},Y.text=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}:null==t?function(){this.textContent=""}:function(){this.textContent=t}):this.node().textContent},Y.html=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}:null==t?function(){this.innerHTML=""}:function(){this.innerHTML=t}):this.node().innerHTML},Y.append=function(t){return t=ot(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Y.insert=function(t,e){return t=ot(t),e=X(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},Y.remove=function(){return this.each(st)},Y.data=function(t,e){var r,n,i=-1,a=this.length;if(!arguments.length){for(t=new Array(a=(r=this[0]).length);++i<a;)(n=r[i])&&(t[i]=n.__data__);return t}function o(t,r){var n,i,a,o=t.length,u=r.length,f=Math.min(o,u),h=new Array(u),p=new Array(u),d=new Array(o);if(e){var g,m=new b,v=new Array(o);for(n=-1;++n<o;)(i=t[n])&&(m.has(g=e.call(i,i.__data__,n))?d[n]=i:m.set(g,i),v[n]=g);for(n=-1;++n<u;)(i=m.get(g=e.call(r,a=r[n],n)))?!0!==i&&(h[n]=i,i.__data__=a):p[n]=lt(a),m.set(g,!0);for(n=-1;++n<o;)n in v&&!0!==m.get(v[n])&&(d[n]=t[n])}else{for(n=-1;++n<f;)i=t[n],a=r[n],i?(i.__data__=a,h[n]=i):p[n]=lt(a);for(;n<u;++n)p[n]=lt(r[n]);for(;n<o;++n)d[n]=t[n]}p.update=h,p.parentNode=h.parentNode=d.parentNode=t.parentNode,s.push(p),l.push(h),c.push(d)}var s=ft([]),l=q([]),c=q([]);if("function"==typeof t)for(;++i<a;)o(r=this[i],t.call(r,r.parentNode.__data__,i));else for(;++i<a;)o(r=this[i],t);return l.enter=function(){return s},l.exit=function(){return c},l},Y.datum=function(t){return arguments.length?this.property("__data__",t):this.property("__data__")},Y.filter=function(t){var e,r,n,i=[];"function"!=typeof t&&(t=ct(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,a)&&e.push(n)}return q(i)},Y.order=function(){for(var t=-1,e=this.length;++t<e;)for(var r,n=this[t],i=n.length-1,a=n[i];--i>=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},Y.sort=function(t){t=function(t){arguments.length||(t=h);return function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}.apply(this,arguments);for(var e=-1,r=this.length;++e<r;)this[e].sort(t);return this.order()},Y.each=function(t){return ut(this,function(e,r,n){t.call(e,e.__data__,r,n)})},Y.call=function(t){var e=n(arguments);return t.apply(e[0]=this,e),this},Y.empty=function(){return!this.node()},Y.node=function(){for(var t=0,e=this.length;t<e;t++)for(var r=this[t],n=0,i=r.length;n<i;n++){var a=r[n];if(a)return a}return null},Y.size=function(){var t=0;return ut(this,function(){++t}),t};var ht=[];function pt(e,r,i){var a="__on"+e,o=e.indexOf("."),s=gt;o>0&&(e=e.slice(0,o));var l=dt.get(e);function c(){var t=this[a];t&&(this.removeEventListener(e,t,t.$),delete this[a])}return l&&(e=l,s=mt),o?r?function(){var t=s(r,n(arguments));c.call(this),this.addEventListener(e,this[a]=t,t.$=i),t._=r}:c:r?D:function(){var r,n=new RegExp("^__on([^.]+)"+t.requote(e)+"$");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}t.selection.enter=ft,t.selection.enter.prototype=ht,ht.append=Y.append,ht.empty=Y.empty,ht.node=Y.node,ht.call=Y.call,ht.size=Y.size,ht.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s<l;){n=(i=this[s]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var c=-1,u=i.length;++c<u;)(a=i[c])?(e.push(n[c]=r=t.call(i.parentNode,a.__data__,c,s)),r.__data__=a.__data__):e.push(null)}return q(o)},ht.insert=function(t,e){var r,n,i;return arguments.length<2&&(r=this,e=function(t,e,a){var o,s=r[a].update,l=s.length;for(a!=i&&(i=a,n=0),e>=n&&(n=e+1);!(o=s[n])&&++n<l;);return o}),Y.insert.call(this,t,e)},t.select=function(t){var e;return"string"==typeof t?(e=[H(t,i)]).parentNode=i.documentElement:(e=[t]).parentNode=a(t),q([e])},t.selectAll=function(t){var e;return"string"==typeof t?(e=n(G(t,i))).parentNode=i.documentElement:(e=n(t)).parentNode=null,q([e])},Y.on=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=!1),t)this.each(pt(r,t[r],e));return this}if(n<2)return(n=this.node()["__on"+t])&&n._;r=!1}return this.each(pt(t,e,r))};var dt=t.map({mouseenter:"mouseover",mouseleave:"mouseout"});function gt(e,r){return function(n){var i=t.event;t.event=n,r[0]=this.__data__;try{e.apply(this,r)}finally{t.event=i}}}function mt(t,e){var r=gt(t,e);return function(t){var e=t.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||r.call(this,t)}}i&&dt.forEach(function(t){"on"+t in i&&dt.remove(t)});var vt,yt=0;function xt(e){var r=".dragsuppress-"+ ++yt,n="click"+r,i=t.select(o(e)).on("touchmove"+r,F).on("dragstart"+r,F).on("selectstart"+r,F);if(null==vt&&(vt=!("onselectstart"in e)&&O(e.style,"userSelect")),vt){var s=a(e).style,l=s[vt];s[vt]="none"}return function(t){if(i.on(r,null),vt&&(s[vt]=l),t){var e=function(){i.on(n,null)};i.on(n,function(){F(),e()},!0),setTimeout(e,0)}}}t.mouse=function(t){return _t(t,N())};var bt=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function _t(e,r){r.changedTouches&&(r=r.changedTouches[0]);var n=e.ownerSVGElement||e;if(n.createSVGPoint){var i=n.createSVGPoint();if(bt<0){var a=o(e);if(a.scrollX||a.scrollY){var s=(n=t.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important"))[0][0].getScreenCTM();bt=!(s.f||s.e),n.remove()}}return bt?(i.x=r.pageX,i.y=r.pageY):(i.x=r.clientX,i.y=r.clientY),[(i=i.matrixTransform(e.getScreenCTM().inverse())).x,i.y]}var l=e.getBoundingClientRect();return[r.clientX-l.left-e.clientLeft,r.clientY-l.top-e.clientTop]}function wt(){return t.event.changedTouches[0].identifier}t.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=N().changedTouches),e)for(var n,i=0,a=e.length;i<a;++i)if((n=e[i]).identifier===r)return _t(t,n)},t.behavior.drag=function(){var e=j(a,"drag","dragstart","dragend"),r=null,n=s(D,t.mouse,o,"mousemove","mouseup"),i=s(wt,t.touch,z,"touchmove","touchend");function a(){this.on("mousedown.drag",n).on("touchstart.drag",i)}function s(n,i,a,o,s){return function(){var l,c=t.event.target.correspondingElement||t.event.target,u=this.parentNode,f=e.of(this,arguments),h=0,p=n(),d=".drag"+(null==p?"":"-"+p),g=t.select(a(c)).on(o+d,function(){var t,e,r=i(u,p);if(!r)return;t=r[0]-v[0],e=r[1]-v[1],h|=t|e,v=r,f({type:"drag",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e})}).on(s+d,function(){if(!i(u,p))return;g.on(o+d,null).on(s+d,null),m(h),f({type:"dragend"})}),m=xt(c),v=i(u,p);l=r?[(l=r.apply(this,arguments)).x-v[0],l.y-v[1]]:[0,0],f({type:"dragstart"})}}return a.origin=function(t){return arguments.length?(r=t,a):r},t.rebind(a,e,"on")},t.touches=function(t,e){return arguments.length<2&&(e=N().touches),e?n(e).map(function(e){var r=_t(t,e);return r.identifier=e.identifier,r}):[]};var kt=1e-6,Mt=kt*kt,At=Math.PI,Tt=2*At,St=Tt-kt,Et=At/2,Ct=At/180,Lt=180/At;function zt(t){return t>0?1:t<0?-1:0}function Pt(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function Ot(t){return t>1?0:t<-1?At:Math.acos(t)}function It(t){return t>1?Et:t<-1?-Et:Math.asin(t)}function Dt(t){return((t=Math.exp(t))+1/t)/2}function Rt(t){return(t=Math.sin(t/2))*t}var Bt=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,f=l-a,h=u*u+f*f;if(h<Mt)n=Math.log(c/o)/Bt,r=function(t){return[i+t*u,a+t*f,o*Math.exp(Bt*t*n)]};else{var p=Math.sqrt(h),d=(c*c-o*o+4*h)/(2*o*2*p),g=(c*c-o*o-4*h)/(2*c*2*p),m=Math.log(Math.sqrt(d*d+1)-d),v=Math.log(Math.sqrt(g*g+1)-g);n=(v-m)/Bt,r=function(t){var e,r=t*n,s=Dt(m),l=o/(2*p)*(s*(e=Bt*r+m,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[i+l*u,a+l*f,o*s/Dt(Bt*r+m)]}}return r.duration=1e3*n,r},t.behavior.zoom=function(){var e,r,n,a,s,l,c,u,f,h={x:0,y:0,k:1},p=[960,500],d=jt,g=250,m=0,v="mousedown.zoom",y="mousemove.zoom",x="mouseup.zoom",b="touchstart.zoom",_=j(w,"zoomstart","zoom","zoomend");function w(t){t.on(v,z).on(Nt+".zoom",O).on("dblclick.zoom",I).on(b,P)}function k(t){return[(t[0]-h.x)/h.k,(t[1]-h.y)/h.k]}function M(t){h.k=Math.max(d[0],Math.min(d[1],t))}function A(t,e){e=function(t){return[t[0]*h.k+h.x,t[1]*h.k+h.y]}(e),h.x+=t[0]-e[0],h.y+=t[1]-e[1]}function T(e,n,i,a){e.__chart__={x:h.x,y:h.y,k:h.k},M(Math.pow(2,a)),A(r=n,i),e=t.select(e),g>0&&(e=e.transition().duration(g)),e.call(w.event)}function S(){c&&c.domain(l.range().map(function(t){return(t-h.x)/h.k}).map(l.invert)),f&&f.domain(u.range().map(function(t){return(t-h.y)/h.k}).map(u.invert))}function E(t){m++||t({type:"zoomstart"})}function C(t){S(),t({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function L(t){--m||(t({type:"zoomend"}),r=null)}function z(){var e=this,r=_.of(e,arguments),n=0,i=t.select(o(e)).on(y,function(){n=1,A(t.mouse(e),a),C(r)}).on(x,function(){i.on(y,null).on(x,null),s(n),L(r)}),a=k(t.mouse(e)),s=xt(e);fs.call(e),E(r)}function P(){var e,r=this,n=_.of(r,arguments),i={},a=0,o=".zoom-"+t.event.changedTouches[0].identifier,l="touchmove"+o,c="touchend"+o,u=[],f=t.select(r),p=xt(r);function d(){var n=t.touches(r);return e=h.k,n.forEach(function(t){t.identifier in i&&(i[t.identifier]=k(t))}),n}function g(){var e=t.event.target;t.select(e).on(l,m).on(c,y),u.push(e);for(var n=t.event.changedTouches,o=0,f=n.length;o<f;++o)i[n[o].identifier]=null;var p=d(),g=Date.now();if(1===p.length){if(g-s<500){var v=p[0];T(r,v,i[v.identifier],Math.floor(Math.log(h.k)/Math.LN2)+1),F()}s=g}else if(p.length>1){v=p[0];var x=p[1],b=v[0]-x[0],_=v[1]-x[1];a=b*b+_*_}}function m(){var o,l,c,u,f=t.touches(r);fs.call(r);for(var h=0,p=f.length;h<p;++h,u=null)if(c=f[h],u=i[c.identifier]){if(l)break;o=c,l=u}if(u){var d=(d=c[0]-o[0])*d+(d=c[1]-o[1])*d,g=a&&Math.sqrt(d/a);o=[(o[0]+c[0])/2,(o[1]+c[1])/2],l=[(l[0]+u[0])/2,(l[1]+u[1])/2],M(g*e)}s=null,A(o,l),C(n)}function y(){if(t.event.touches.length){for(var e=t.event.changedTouches,r=0,a=e.length;r<a;++r)delete i[e[r].identifier];for(var s in i)return void d()}t.selectAll(u).on(o,null),f.on(v,z).on(b,P),p(),L(n)}g(),E(n),f.on(v,null).on(b,g)}function O(){var i=_.of(this,arguments);a?clearTimeout(a):(fs.call(this),e=k(r=n||t.mouse(this)),E(i)),a=setTimeout(function(){a=null,L(i)},50),F(),M(Math.pow(2,.002*Ft())*h.k),A(r,e),C(i)}function I(){var e=t.mouse(this),r=Math.log(h.k)/Math.LN2;T(this,e,k(e),t.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}return Nt||(Nt="onwheel"in i?(Ft=function(){return-t.event.deltaY*(t.event.deltaMode?120:1)},"wheel"):"onmousewheel"in i?(Ft=function(){return t.event.wheelDelta},"mousewheel"):(Ft=function(){return-t.event.detail},"MozMousePixelScroll")),w.event=function(e){e.each(function(){var e=_.of(this,arguments),n=h;ds?t.select(this).transition().each("start.zoom",function(){h=this.__chart__||{x:0,y:0,k:1},E(e)}).tween("zoom:zoom",function(){var i=p[0],a=p[1],o=r?r[0]:i/2,s=r?r[1]:a/2,l=t.interpolateZoom([(o-h.x)/h.k,(s-h.y)/h.k,i/h.k],[(o-n.x)/n.k,(s-n.y)/n.k,i/n.k]);return function(t){var r=l(t),n=i/r[2];this.__chart__=h={x:o-r[0]*n,y:s-r[1]*n,k:n},C(e)}}).each("interrupt.zoom",function(){L(e)}).each("end.zoom",function(){L(e)}):(this.__chart__=h,E(e),C(e),L(e))})},w.translate=function(t){return arguments.length?(h={x:+t[0],y:+t[1],k:h.k},S(),w):[h.x,h.y]},w.scale=function(t){return arguments.length?(h={x:h.x,y:h.y,k:null},M(+t),S(),w):h.k},w.scaleExtent=function(t){return arguments.length?(d=null==t?jt:[+t[0],+t[1]],w):d},w.center=function(t){return arguments.length?(n=t&&[+t[0],+t[1]],w):n},w.size=function(t){return arguments.length?(p=t&&[+t[0],+t[1]],w):p},w.duration=function(t){return arguments.length?(g=+t,w):g},w.x=function(t){return arguments.length?(c=t,l=t.copy(),h={x:0,y:0,k:1},w):c},w.y=function(t){return arguments.length?(f=t,u=t.copy(),h={x:0,y:0,k:1},w):f},t.rebind(w,_,"on")};var Ft,Nt,jt=[0,1/0];function Vt(){}function Ut(t,e,r){return this instanceof Ut?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length<2?t instanceof Ut?new Ut(t.h,t.s,t.l):ue(""+t,fe,Ut):new Ut(t,e,r)}t.color=Vt,Vt.prototype.toString=function(){return this.rgb()+""},t.hsl=Ut;var qt=Ut.prototype=new Vt;function Ht(t,e,r){var n,i;function a(t){return Math.round(255*function(t){return t>360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Gt(e,r,n){return this instanceof Gt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Gt?new Gt(e.h,e.c,e.l):ee(e instanceof Xt?e.l:(e=he((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Gt(e,r,n)}qt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,this.l/t)},qt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,t*this.l)},qt.rgb=function(){return Ht(this.h,this.s,this.l)},t.hcl=Gt;var Wt=Gt.prototype=new Vt;function Yt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Ct)*e,Math.sin(t)*e)}function Xt(t,e,r){return this instanceof Xt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Xt?new Xt(t.l,t.a,t.b):t instanceof Gt?Yt(t.h,t.c,t.l):he((t=ae(t)).r,t.g,t.b):new Xt(t,e,r)}Wt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Zt*(arguments.length?t:1)))},Wt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Zt*(arguments.length?t:1)))},Wt.rgb=function(){return Yt(this.h,this.c,this.l).rgb()},t.lab=Xt;var Zt=18,$t=.95047,Jt=1,Kt=1.08883,Qt=Xt.prototype=new Vt;function te(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*$t)-1.5371385*(n=re(n)*Jt)-.4985314*(a=re(a)*Kt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function ee(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Lt,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ue(""+t,ae,Ht):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+""}Qt.brighter=function(t){return new Xt(Math.min(100,this.l+Zt*(arguments.length?t:1)),this.a,this.b)},Qt.darker=function(t){return new Xt(Math.max(0,this.l-Zt*(arguments.length?t:1)),this.a,this.b)},Qt.rgb=function(){return te(this.l,this.a,this.b)},t.rgb=ae;var le=ae.prototype=new Vt;function ce(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(","),n[1]){case"hsl":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(de(i[0]),de(i[1]),de(i[2]))}return(a=ge.get(t))?e(a.r,a.g,a.b):(null==t||"#"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function fe(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e<r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,i=l>0&&l<1?0:n),new Ut(n,i,l)}function he(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/$t),i=ne((.2126729*t+.7151522*e+.072175*r)/Jt);return Xt(116*i-16,500*(n-i),200*(i-ne((.0193339*t+.119192*e+.9503041*r)/Kt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e<i&&(e=i),r&&r<i&&(r=i),n&&n<i&&(n=i),new ae(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ae(i,i,i)},le.darker=function(t){return new ae((t=Math.pow(.7,arguments.length?t:1))*this.r,t*this.g,t*this.b)},le.hsl=function(){return fe(this.r,this.g,this.b)},le.toString=function(){return"#"+ce(this.r)+ce(this.g)+ce(this.b)};var ge=t.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});function me(t){return"function"==typeof t?t:function(){return t}}function ve(t){return function(e,r,n){return 2===arguments.length&&"function"==typeof r&&(n=r,r=null),ye(e,r,t,n)}}function ye(e,r,i,a){var o={},s=t.dispatch("beforesend","progress","load","error"),l={},c=new XMLHttpRequest,u=null;function f(){var t,e=c.status;if(!e&&function(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}(c)||e>=200&&e<300||304===e){try{t=i.call(o,c)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,c)}return!this.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(e)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=f:c.onreadystatechange=function(){c.readyState>3&&f()},c.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,c)}finally{t.event=r}},o.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",o)},o.mimeType=function(t){return arguments.length?(r=null==t?null:t+"",o):r},o.responseType=function(t){return arguments.length?(u=t,o):u},o.response=function(t){return i=t,o},["get","post"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}}),o.send=function(t,n,i){if(2===arguments.length&&"function"==typeof n&&(i=n,n=null),c.open(t,e,!0),null==r||"accept"in l||(l.accept=r+",*/*"),c.setRequestHeader)for(var a in l)c.setRequestHeader(a,l[a]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=i&&o.on("error",i).on("load",function(t){i(null,t)}),s.beforesend.call(o,c),c.send(null==n?null:n),o},o.abort=function(){return c.abort(),o},t.rebind(o,s,"on"),null==a?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(a))}ge.forEach(function(t,e){ge.set(t,oe(e))}),t.functor=me,t.xhr=ve(z),t.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=ye(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return i.parse=function(t,e){var r;return i.parseRows(t,function(t,n){if(r)return r(t,n-1);var i=new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}");r=e?function(t,r){return e(i(t),r)}:i})},i.parseRows=function(t,e){var r,i,a={},o={},s=[],l=t.length,c=0,u=0;function f(){if(c>=l)return o;if(i)return i=!1,a;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++<l;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}return c=r+2,13===(s=t.charCodeAt(r+1))?(i=!0,10===t.charCodeAt(r+2)&&++c):10===s&&(i=!0),t.slice(e+1,r).replace(/""/g,'"')}for(;c<l;){var s,u=1;if(10===(s=t.charCodeAt(c++)))i=!0;else if(13===s)i=!0,10===t.charCodeAt(c)&&(++c,++u);else if(s!==n)continue;return t.slice(e,c-u)}return t.slice(e)}for(;(r=f())!==o;){for(var h=[];r!==a&&r!==o;)h.push(r),r=f();e&&null==(h=e(h,u++))||s.push(h)}return s},i.format=function(e){if(Array.isArray(e[0]))return i.formatRows(e);var r=new L,n=[];return e.forEach(function(t){for(var e in t)r.has(e)||n.push(r.add(e))}),[n.map(l).join(t)].concat(e.map(function(e){return n.map(function(t){return l(e[t])}).join(t)})).join("\n")},i.formatRows=function(t){return t.map(s).join("\n")},i},t.csv=t.dsv(",","text/csv"),t.tsv=t.dsv("\t","text/tab-separated-values");var xe,be,_e,we,ke=this[O(this,"requestAnimationFrame")]||function(t){setTimeout(t,17)};function Me(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var i={c:t,t:r+e,n:null};return be?be.n=i:xe=i,be=i,_e||(we=clearTimeout(we),_e=1,ke(Ae)),i}function Ae(){var t=Te(),e=Se()-t;e>24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Ae,e)),_e=0):(_e=1,ke(Ae))}function Te(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:xe=e.n;return be=t,r}function Ee(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}t.timer=function(){Me.apply(this,arguments)},t.timer.flush=function(){Te(),Se()},t.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var Ce=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(function(t,e){var r=Math.pow(10,3*y(8-e));return{scale:e>8?function(t){return t/r}:function(t){return t*r},symbol:t}});t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Ee(e,r))),n=1+Math.floor(1e-12+Math.log(e)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),Ce[8+n/3]};var Le=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,ze=t.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(e,r){return(e=t.round(e,Ee(e,r))).toFixed(Math.max(0,Math.min(20,Ee(e*(1+1e-15),r))))}});function Pe(t){return t+""}var Oe=t.time={},Ie=Date;function De(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}De.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){Re.setUTCDate.apply(this._,arguments)},setDay:function(){Re.setUTCDay.apply(this._,arguments)},setFullYear:function(){Re.setUTCFullYear.apply(this._,arguments)},setHours:function(){Re.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Re.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Re.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Re.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Re.setUTCSeconds.apply(this._,arguments)},setTime:function(){Re.setTime.apply(this._,arguments)}};var Re=Date.prototype;function Be(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r<n-e?r:n}function i(r){return e(r=t(new Ie(r-1)),1),r}function a(t,r){return e(t=new Ie(+t),r),t}function o(t,n,a){var o=i(t),s=[];if(a>1)for(;o<n;)r(o)%a||s.push(new Date(+o)),e(o,1);else for(;o<n;)s.push(new Date(+o)),e(o,1);return s}t.floor=t,t.round=n,t.ceil=i,t.offset=a,t.range=o;var s=t.utc=Fe(t);return s.floor=s,s.round=Fe(n),s.ceil=Fe(i),s.offset=Fe(a),s.range=function(t,e,r){try{Ie=De;var n=new De;return n._=t,o(n,e,r)}finally{Ie=Date}},t}function Fe(t){return function(e,r){try{Ie=De;var n=new De;return n._=e,t(n,r)._}finally{Ie=Date}}}Oe.year=Be(function(t){return(t=Oe.day(t)).setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),Oe.years=Oe.year.range,Oe.years.utc=Oe.year.utc.range,Oe.day=Be(function(t){var e=new Ie(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e},function(t,e){t.setDate(t.getDate()+e)},function(t){return t.getDate()-1}),Oe.days=Oe.day.range,Oe.days.utc=Oe.day.utc.range,Oe.dayOfYear=function(t){var e=Oe.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(t,e){e=7-e;var r=Oe[t]=Be(function(t){return(t=Oe.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,e){t.setDate(t.getDate()+7*Math.floor(e))},function(t){var r=Oe.year(t).getDay();return Math.floor((Oe.dayOfYear(t)+(r+e)%7)/7)-(r!==e)});Oe[t+"s"]=r.range,Oe[t+"s"].utc=r.utc.range,Oe[t+"OfYear"]=function(t){var r=Oe.year(t).getDay();return Math.floor((Oe.dayOfYear(t)+(r+e)%7)/7)}}),Oe.week=Oe.sunday,Oe.weeks=Oe.sunday.range,Oe.weeks.utc=Oe.sunday.utc.range,Oe.weekOfYear=Oe.sundayOfYear;var Ne={"-":"",_:" ",0:"0"},je=/^\s*\d+/,Ve=/^%/;function Ue(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a<r?new Array(r-a+1).join(e)+i:i)}function qe(e){return new RegExp("^(?:"+e.map(t.requote).join("|")+")","i")}function He(t){for(var e=new b,r=-1,n=t.length;++r<n;)e.set(t[r].toLowerCase(),r);return e}function Ge(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function We(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.U=+n[0],r+n[0].length):-1}function Ye(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.W=+n[0],r+n[0].length):-1}function Xe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function Ze(t,e,r){je.lastIndex=0;var n,i=je.exec(e.slice(r,r+2));return i?(t.y=(n=+i[0])+(n>68?1900:2e3),r+i[0].length):-1}function $e(t,e,r){return/^[+-]\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Je(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Ke(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function Qe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function tr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function er(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function rr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function nr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function ir(t){var e=t.getTimezoneOffset(),r=e>0?"-":"+",n=y(e)/60|0,i=y(e)%60;return r+Ue(n,"0",2)+Ue(i,"0",2)}function ar(t,e,r){Ve.lastIndex=0;var n=Ve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function or(t){for(var e=t.length,r=-1;++r<e;)t[r][0]=this(t[r][0]);return function(e){for(var r=0,n=t[r];!n[1](e);)n=t[++r];return n[0](e)}}t.locale=function(e){return{numberFormat:function(e){var r=e.decimal,n=e.thousands,i=e.grouping,a=e.currency,o=i&&n?function(t,e){for(var r=t.length,a=[],o=0,s=i[0],l=0;r>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),a.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=i[o=(o+1)%i.length];return a.reverse().join(n)}:z;return function(e){var n=Le.exec(e),i=n[1]||" ",s=n[2]||">",l=n[3]||"-",c=n[4]||"",u=n[5],f=+n[6],h=n[7],p=n[8],d=n[9],g=1,m="",v="",y=!1,x=!0;switch(p&&(p=+p.substring(1)),(u||"0"===i&&"="===s)&&(u=i="0",s="="),d){case"n":h=!0,d="g";break;case"%":g=100,v="%",d="f";break;case"p":g=100,v="%",d="r";break;case"b":case"o":case"x":case"X":"#"===c&&(m="0"+d.toLowerCase());case"c":x=!1;case"d":y=!0,p=0;break;case"s":g=-1,d="r"}"$"===c&&(m=a[0],v=a[1]),"r"!=d||p||(d="g"),null!=p&&("g"==d?p=Math.max(1,Math.min(21,p)):"e"!=d&&"f"!=d||(p=Math.max(0,Math.min(20,p)))),d=ze.get(d)||Pe;var b=u&&h;return function(e){var n=v;if(y&&e%1)return"";var a=e<0||0===e&&1/e<0?(e=-e,"-"):"-"===l?"":l;if(g<0){var c=t.formatPrefix(e,p);e=c.scale(e),n=c.symbol+v}else e*=g;var _,w,k=(e=d(e,p)).lastIndexOf(".");if(k<0){var M=x?e.lastIndexOf("e"):-1;M<0?(_=e,w=""):(_=e.substring(0,M),w=e.substring(M))}else _=e.substring(0,k),w=r+e.substring(k+1);!u&&h&&(_=o(_,1/0));var A=m.length+_.length+w.length+(b?0:a.length),T=A<f?new Array(A=f-A+1).join(i):"";return b&&(_=o(T+_,T.length?f-w.length:1/0)),a+=m,e=_+w,("<"===s?a+e+T:">"===s?T+a+e:"^"===s?T.substring(0,A>>=1)+a+e+T.substring(A):a+(b?e:T+e))+n}}}(e),timeFormat:function(e){var r=e.dateTime,n=e.date,i=e.time,a=e.periods,o=e.days,s=e.shortDays,l=e.months,c=e.shortMonths;function u(t){var e=t.length;function r(r){for(var n,i,a,o=[],s=-1,l=0;++s<e;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(i=Ne[n=t.charAt(++s)])&&(n=t.charAt(++s)),(a=_[n])&&(n=a(r,null==i?"e"===n?" ":"0":i)),o.push(n),l=s+1);return o.push(t.slice(l,s)),o.join("")}return r.parse=function(e){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(f(r,t,e,0)!=e.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var n=null!=r.Z&&Ie!==De,i=new(n?De:Ie);return"j"in r?i.setFullYear(r.y,0,r.j):"W"in r||"U"in r?("w"in r||(r.w="W"in r?1:0),i.setFullYear(r.y,0,1),i.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(i.getDay()+5)%7:r.w+7*r.U-(i.getDay()+6)%7)):i.setFullYear(r.y,r.m,r.d),i.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),n?i._:i},r.toString=function(){return t},r}function f(t,e,r,n){for(var i,a,o,s=0,l=e.length,c=r.length;s<l;){if(n>=c)return-1;if(37===(i=e.charCodeAt(s++))){if(o=e.charAt(s++),!(a=w[o in Ne?e.charAt(s++):o])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}u.utc=function(t){var e=u(t);function r(t){try{var r=new(Ie=De);return r._=t,e(r)}finally{Ie=Date}}return r.parse=function(t){try{Ie=De;var r=e.parse(t);return r&&r._}finally{Ie=Date}},r.toString=e.toString,r},u.multi=u.utc.multi=or;var h=t.map(),p=qe(o),d=He(o),g=qe(s),m=He(s),v=qe(l),y=He(l),x=qe(c),b=He(c);a.forEach(function(t,e){h.set(t.toLowerCase(),e)});var _={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:u(r),d:function(t,e){return Ue(t.getDate(),e,2)},e:function(t,e){return Ue(t.getDate(),e,2)},H:function(t,e){return Ue(t.getHours(),e,2)},I:function(t,e){return Ue(t.getHours()%12||12,e,2)},j:function(t,e){return Ue(1+Oe.dayOfYear(t),e,3)},L:function(t,e){return Ue(t.getMilliseconds(),e,3)},m:function(t,e){return Ue(t.getMonth()+1,e,2)},M:function(t,e){return Ue(t.getMinutes(),e,2)},p:function(t){return a[+(t.getHours()>=12)]},S:function(t,e){return Ue(t.getSeconds(),e,2)},U:function(t,e){return Ue(Oe.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Ue(Oe.mondayOfYear(t),e,2)},x:u(n),X:u(i),y:function(t,e){return Ue(t.getFullYear()%100,e,2)},Y:function(t,e){return Ue(t.getFullYear()%1e4,e,4)},Z:ir,"%":function(){return"%"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=m.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){p.lastIndex=0;var n=p.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){x.lastIndex=0;var n=x.exec(e.slice(r));return n?(t.m=b.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){v.lastIndex=0;var n=v.exec(e.slice(r));return n?(t.m=y.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,r){return f(t,_.c.toString(),e,r)},d:Ke,e:Ke,H:tr,I:tr,j:Qe,L:nr,m:Je,M:er,p:function(t,e,r){var n=h.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:rr,U:We,w:Ge,W:Ye,x:function(t,e,r){return f(t,_.x.toString(),e,r)},X:function(t,e,r){return f(t,_.X.toString(),e,r)},y:Ze,Y:Xe,Z:$e,"%":ar};return u}(e)}};var sr=t.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function lr(){}t.format=sr.numberFormat,t.geo={},lr.prototype={s:0,t:0,add:function(t){ur(t,this.t,cr),ur(cr.s,this.s,this),this.s?this.t+=cr.t:this.s=cr.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var cr=new lr;function ur(t,e,r){var n=r.s=t+e,i=n-t,a=n-i;r.t=t-a+(e-i)}function fr(t,e){t&&pr.hasOwnProperty(t.type)&&pr[t.type](t,e)}t.geo.stream=function(t,e){t&&hr.hasOwnProperty(t.type)?hr[t.type](t,e):fr(t,e)};var hr={Feature:function(t,e){fr(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n<i;)fr(r[n].geometry,e)}},pr={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)t=r[n],e.point(t[0],t[1],t[2])},LineString:function(t,e){dr(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)dr(r[n],e,0)},Polygon:function(t,e){gr(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)gr(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n<i;)fr(r[n],e)}};function dr(t,e,r){var n,i=-1,a=t.length-r;for(e.lineStart();++i<a;)n=t[i],e.point(n[0],n[1],n[2]);e.lineEnd()}function gr(t,e){var r=-1,n=t.length;for(e.polygonStart();++r<n;)dr(t[r],e,1);e.polygonEnd()}t.geo.area=function(e){return mr=0,t.geo.stream(e,Cr),mr};var mr,vr,yr,xr,br,_r,wr,kr,Mr,Ar,Tr,Sr,Er=new lr,Cr={sphere:function(){mr+=4*At},point:D,lineStart:D,lineEnd:D,polygonStart:function(){Er.reset(),Cr.lineStart=Lr},polygonEnd:function(){var t=2*Er;mr+=t<0?4*At+t:t,Cr.lineStart=Cr.lineEnd=Cr.point=D}};function Lr(){var t,e,r,n,i;function a(t,e){e=e*Ct/2+At/4;var a=(t*=Ct)-r,o=a>=0?1:-1,s=o*a,l=Math.cos(e),c=Math.sin(e),u=i*c,f=n*l+u*Math.cos(s),h=u*o*Math.sin(s);Er.add(Math.atan2(h,f)),r=t,n=l,i=c}Cr.point=function(o,s){Cr.point=a,r=(t=o)*Ct,n=Math.cos(s=(e=s)*Ct/2+At/4),i=Math.sin(s)},Cr.lineEnd=function(){a(t,e)}}function zr(t){var e=t[0],r=t[1],n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function Pr(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Or(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Ir(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Dr(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Rr(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function Br(t){return[Math.atan2(t[1],t[0]),It(t[2])]}function Fr(t,e){return y(t[0]-e[0])<kt&&y(t[1]-e[1])<kt}t.geo.bounds=function(){var e,r,n,i,a,o,s,l,c,u,f,h={point:p,lineStart:g,lineEnd:m,polygonStart:function(){h.point=v,h.lineStart=x,h.lineEnd=b,c=0,Cr.polygonStart()},polygonEnd:function(){Cr.polygonEnd(),h.point=p,h.lineStart=g,h.lineEnd=m,Er<0?(e=-(n=180),r=-(i=90)):c>kt?i=90:c<-kt&&(r=-90),f[0]=e,f[1]=n}};function p(t,a){u.push(f=[e=t,n=t]),a<r&&(r=a),a>i&&(i=a)}function d(t,o){var s=zr([t*Ct,o*Ct]);if(l){var c=Or(l,s),u=Or([c[1],-c[0],0],c);Rr(u),u=Br(u);var f=t-a,h=f>0?1:-1,d=u[0]*Lt*h,g=y(f)>180;if(g^(h*a<d&&d<h*t))(m=u[1]*Lt)>i&&(i=m);else if(g^(h*a<(d=(d+360)%360-180)&&d<h*t)){var m;(m=-u[1]*Lt)<r&&(r=m)}else o<r&&(r=o),o>i&&(i=o);g?t<a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(t<e&&(e=t),t>n&&(n=t)):t>a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);l=s,a=t}function g(){h.point=d}function m(){f[0]=e,f[1]=n,h.point=p,l=null}function v(t,e){if(l){var r=t-a;c+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Cr.point(t,e),d(t,e)}function x(){Cr.lineStart()}function b(){v(o,s),Cr.lineEnd(),y(c)>kt&&(e=-(n=180)),f[0]=e,f[1]=n,l=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function k(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}return function(a){if(i=n=-(e=r=1/0),u=[],t.geo.stream(a,h),c=u.length){u.sort(w);for(var o=1,s=[g=u[0]];o<c;++o)k((p=u[o])[0],g)||k(p[1],g)?(_(g[0],p[1])>_(g[0],g[1])&&(g[1]=p[1]),_(p[0],g[1])>_(g[0],g[1])&&(g[0]=p[0])):s.push(g=p);for(var l,c,p,d=-1/0,g=(o=0,s[c=s.length-1]);o<=c;g=p,++o)p=s[o],(l=_(g[1],p[0]))>d&&(d=l,e=p[0],n=g[1])}return u=f=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,i]]}}(),t.geo.centroid=function(e){vr=yr=xr=br=_r=wr=kr=Mr=Ar=Tr=Sr=0,t.geo.stream(e,Nr);var r=Ar,n=Tr,i=Sr,a=r*r+n*n+i*i;return a<Mt&&(r=wr,n=kr,i=Mr,yr<kt&&(r=xr,n=br,i=_r),(a=r*r+n*n+i*i)<Mt)?[NaN,NaN]:[Math.atan2(n,r)*Lt,It(i/Math.sqrt(a))*Lt]};var Nr={sphere:D,point:jr,lineStart:Ur,lineEnd:qr,polygonStart:function(){Nr.lineStart=Hr},polygonEnd:function(){Nr.lineStart=Ur}};function jr(t,e){t*=Ct;var r=Math.cos(e*=Ct);Vr(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function Vr(t,e,r){xr+=(t-xr)/++vr,br+=(e-br)/vr,_r+=(r-_r)/vr}function Ur(){var t,e,r;function n(n,i){n*=Ct;var a=Math.cos(i*=Ct),o=a*Math.cos(n),s=a*Math.sin(n),l=Math.sin(i),c=Math.atan2(Math.sqrt((c=e*l-r*s)*c+(c=r*o-t*l)*c+(c=t*s-e*o)*c),t*o+e*s+r*l);yr+=c,wr+=c*(t+(t=o)),kr+=c*(e+(e=s)),Mr+=c*(r+(r=l)),Vr(t,e,r)}Nr.point=function(i,a){i*=Ct;var o=Math.cos(a*=Ct);t=o*Math.cos(i),e=o*Math.sin(i),r=Math.sin(a),Nr.point=n,Vr(t,e,r)}}function qr(){Nr.point=jr}function Hr(){var t,e,r,n,i;function a(t,e){t*=Ct;var a=Math.cos(e*=Ct),o=a*Math.cos(t),s=a*Math.sin(t),l=Math.sin(e),c=n*l-i*s,u=i*o-r*l,f=r*s-n*o,h=Math.sqrt(c*c+u*u+f*f),p=r*o+n*s+i*l,d=h&&-Ot(p)/h,g=Math.atan2(h,p);Ar+=d*c,Tr+=d*u,Sr+=d*f,yr+=g,wr+=g*(r+(r=o)),kr+=g*(n+(n=s)),Mr+=g*(i+(i=l)),Vr(r,n,i)}Nr.point=function(o,s){t=o,e=s,Nr.point=a,o*=Ct;var l=Math.cos(s*=Ct);r=l*Math.cos(o),n=l*Math.sin(o),i=Math.sin(s),Vr(r,n,i)},Nr.lineEnd=function(){a(t,e),Nr.lineEnd=qr,Nr.point=jr}}function Gr(t,e){function r(r,n){return r=t(r,n),e(r[0],r[1])}return t.invert&&e.invert&&(r.invert=function(r,n){return(r=e.invert(r,n))&&t.invert(r[0],r[1])}),r}function Wr(){return!0}function Yr(t,e,r,n,i){var a=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,r=t[0],n=t[e];if(Fr(r,n)){i.lineStart();for(var s=0;s<e;++s)i.point((r=t[s])[0],r[1]);i.lineEnd()}else{var l=new Zr(r,t,null,!0),c=new Zr(r,null,l,!1);l.o=c,a.push(l),o.push(c),l=new Zr(n,t,null,!1),c=new Zr(n,null,l,!0),l.o=c,a.push(l),o.push(c)}}}),o.sort(e),Xr(a),Xr(o),a.length){for(var s=0,l=r,c=o.length;s<c;++s)o[s].e=l=!l;for(var u,f,h=a[0];;){for(var p=h,d=!0;p.v;)if((p=p.n)===h)return;u=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(s=0,c=u.length;s<c;++s)i.point((f=u[s])[0],f[1]);else n(p.x,p.n.x,1,i);p=p.n}else{if(d)for(s=(u=p.p.z).length-1;s>=0;--s)i.point((f=u[s])[0],f[1]);else n(p.x,p.p.x,-1,i);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);i.lineEnd()}}}function Xr(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n<e;)i.n=r=t[n],r.p=i,i=r;i.n=r=t[0],r.p=i}}function Zr(t,e,r,n){this.x=t,this.z=e,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function $r(e,r,n,i){return function(a,o){var s,l=r(o),c=a.invert(i[0],i[1]),u={point:f,lineStart:p,lineEnd:d,polygonStart:function(){u.point=b,u.lineStart=_,u.lineEnd=w,s=[],g=[]},polygonEnd:function(){u.point=f,u.lineStart=p,u.lineEnd=d,s=t.merge(s);var e=function(t,e){var r=t[0],n=t[1],i=[Math.sin(r),-Math.cos(r),0],a=0,o=0;Er.reset();for(var s=0,l=e.length;s<l;++s){var c=e[s],u=c.length;if(u)for(var f=c[0],h=f[0],p=f[1]/2+At/4,d=Math.sin(p),g=Math.cos(p),m=1;;){m===u&&(m=0);var v=(t=c[m])[0],y=t[1]/2+At/4,x=Math.sin(y),b=Math.cos(y),_=v-h,w=_>=0?1:-1,k=w*_,M=k>At,A=d*x;if(Er.add(Math.atan2(A*w*Math.sin(k),g*b+A*Math.cos(k))),a+=M?_+w*Tt:_,M^h>=r^v>=r){var T=Or(zr(f),zr(t));Rr(T);var S=Or(i,T);Rr(S);var E=(M^_>=0?-1:1)*It(S[2]);(n>E||n===E&&(T[0]||T[1]))&&(o+=M^_>=0?1:-1)}if(!m++)break;h=v,d=x,g=b,f=t}}return(a<-kt||a<kt&&Er<-kt)^1&o}(c,g);s.length?(x||(o.polygonStart(),x=!0),Yr(s,Qr,e,n,o)):e&&(x||(o.polygonStart(),x=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),x&&(o.polygonEnd(),x=!1),s=g=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function f(t,r){var n=a(t,r);e(t=n[0],r=n[1])&&o.point(t,r)}function h(t,e){var r=a(t,e);l.point(r[0],r[1])}function p(){u.point=h,l.lineStart()}function d(){u.point=f,l.lineEnd()}var g,m,v=Kr(),y=r(v),x=!1;function b(t,e){m.push([t,e]);var r=a(t,e);y.point(r[0],r[1])}function _(){y.lineStart(),m=[]}function w(){b(m[0][0],m[0][1]),y.lineEnd();var t,e=y.clean(),r=v.buffer(),n=r.length;if(m.pop(),g.push(m),m=null,n)if(1&e){var i,a=-1;if((n=(t=r[0]).length-1)>0){for(x||(o.polygonStart(),x=!0),o.lineStart();++a<n;)o.point((i=t[a])[0],i[1]);o.lineEnd()}}else n>1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter(Jr))}return u}}function Jr(t){return t.length>1}function Kr(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:D,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function Qr(t,e){return((t=t.x)[0]<0?t[1]-Et-kt:Et-t[1])-((e=e.x)[0]<0?e[1]-Et-kt:Et-e[1])}var tn=$r(Wr,function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?At:-At,l=y(a-r);y(l-At)<kt?(t.point(r,n=(n+o)/2>0?Et:-Et),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&&l>=At&&(y(r-i)<kt&&(r-=i*kt),y(a-s)<kt&&(a-=s*kt),n=function(t,e,r,n){var i,a,o=Math.sin(t-r);return y(o)>kt?Math.atan((Math.sin(e)*(a=Math.cos(n))*Math.sin(r)-Math.sin(n)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+n)/2}(r,n,a,o),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=a,n=o),i=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}},function(t,e,r,n){var i;if(null==t)i=r*Et,n.point(-At,i),n.point(0,i),n.point(At,i),n.point(At,0),n.point(At,-i),n.point(0,-i),n.point(-At,-i),n.point(-At,0),n.point(-At,i);else if(y(t[0]-e[0])>kt){var a=t[0]<e[0]?At:-At;i=r*a/2,n.point(-a,i),n.point(0,i),n.point(a,i)}else n.point(e[0],e[1])},[-At,-At/2]);function en(t,e,r,n){return function(i){var a,o=i.a,s=i.b,l=o.x,c=o.y,u=0,f=1,h=s.x-l,p=s.y-c;if(a=t-l,h||!(a>0)){if(a/=h,h<0){if(a<u)return;a<f&&(f=a)}else if(h>0){if(a>f)return;a>u&&(u=a)}if(a=r-l,h||!(a<0)){if(a/=h,h<0){if(a>f)return;a>u&&(u=a)}else if(h>0){if(a<u)return;a<f&&(f=a)}if(a=e-c,p||!(a>0)){if(a/=p,p<0){if(a<u)return;a<f&&(f=a)}else if(p>0){if(a>f)return;a>u&&(u=a)}if(a=n-c,p||!(a<0)){if(a/=p,p<0){if(a>f)return;a>u&&(u=a)}else if(p>0){if(a<u)return;a<f&&(f=a)}return u>0&&(i.a={x:l+u*h,y:c+u*p}),f<1&&(i.b={x:l+f*h,y:c+f*p}),i}}}}}}var rn=1e9;function nn(e,r,n,i){return function(l){var c,u,f,h,p,d,g,m,v,y,x,b=l,_=Kr(),w=en(e,r,n,i),k={point:T,lineStart:function(){k.point=S,u&&u.push(f=[]);y=!0,v=!1,g=m=NaN},lineEnd:function(){c&&(S(h,p),d&&v&&_.rejoin(),c.push(_.buffer()));k.point=T,v&&l.lineEnd()},polygonStart:function(){l=_,c=[],u=[],x=!0},polygonEnd:function(){l=b,c=t.merge(c);var r=function(t){for(var e=0,r=u.length,n=t[1],i=0;i<r;++i)for(var a,o=1,s=u[i],l=s.length,c=s[0];o<l;++o)a=s[o],c[1]<=n?a[1]>n&&Pt(c,a,t)>0&&++e:a[1]<=n&&Pt(c,a,t)<0&&--e,c=a;return 0!==e}([e,i]),n=x&&r,a=c.length;(n||a)&&(l.polygonStart(),n&&(l.lineStart(),M(null,null,1,l),l.lineEnd()),a&&Yr(c,o,r,M,l),l.polygonEnd()),c=u=f=null}};function M(t,o,l,c){var u=0,f=0;if(null==t||(u=a(t,l))!==(f=a(o,l))||s(t,o)<0^l>0)do{c.point(0===u||3===u?e:n,u>1?i:r)}while((u=(u+l+4)%4)!==f);else c.point(o[0],o[1])}function A(t,a){return e<=t&&t<=n&&r<=a&&a<=i}function T(t,e){A(t,e)&&l.point(t,e)}function S(t,e){var r=A(t=Math.max(-rn,Math.min(rn,t)),e=Math.max(-rn,Math.min(rn,e)));if(u&&f.push([t,e]),y)h=t,p=e,d=r,y=!1,r&&(l.lineStart(),l.point(t,e));else if(r&&v)l.point(t,e);else{var n={a:{x:g,y:m},b:{x:t,y:e}};w(n)?(v||(l.lineStart(),l.point(n.a.x,n.a.y)),l.point(n.b.x,n.b.y),r||l.lineEnd(),x=!1):r&&(l.lineStart(),l.point(t,e),x=!1)}g=t,m=e,v=r}return k};function a(t,i){return y(t[0]-e)<kt?i>0?0:3:y(t[0]-n)<kt?i>0?2:1:y(t[1]-r)<kt?i>0?1:0:i>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=a(t,1),n=a(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}}function an(t){var e=0,r=At/3,n=Cn(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*At/180,r=t[1]*At/180):[e/At*180,r/At*180]},i}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,i=1+r*(2*n-r),a=Math.sqrt(i)/n;function o(t,e){var r=Math.sqrt(i-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),a-r*Math.cos(t)]}return o.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/n,It((i-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&&(i.valid=!1),(i=a(t)).valid=!0,i},extent:function(s){return arguments.length?(a=nn(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),i&&(i.valid=!1,i=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(t.geo.conicEqualArea=function(){return an(on)}).raw=on,t.geo.albers=function(){return t.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},t.geo.albersUsa=function(){var e,r,n,i,a=t.geo.albers(),o=t.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=t.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};function c(t){var a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}return c.invert=function(t){var e=a.scale(),r=a.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?o:i>=.166&&i<.234&&n>=-.214&&n<-.115?s:a).invert(t)},c.stream=function(t){var e=a.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,i){e.point(t,i),r.point(t,i),n.point(t,i)},sphere:function(){e.sphere(),r.sphere(),n.sphere()},lineStart:function(){e.lineStart(),r.lineStart(),n.lineStart()},lineEnd:function(){e.lineEnd(),r.lineEnd(),n.lineEnd()},polygonStart:function(){e.polygonStart(),r.polygonStart(),n.polygonStart()},polygonEnd:function(){e.polygonEnd(),r.polygonEnd(),n.polygonEnd()}}},c.precision=function(t){return arguments.length?(a.precision(t),o.precision(t),s.precision(t),c):a.precision()},c.scale=function(t){return arguments.length?(a.scale(t),o.scale(.35*t),s.scale(t),c.translate(a.translate())):a.scale()},c.translate=function(t){if(!arguments.length)return a.translate();var e=a.scale(),u=+t[0],f=+t[1];return r=a.translate(t).clipExtent([[u-.455*e,f-.238*e],[u+.455*e,f+.238*e]]).stream(l).point,n=o.translate([u-.307*e,f+.201*e]).clipExtent([[u-.425*e+kt,f+.12*e+kt],[u-.214*e-kt,f+.234*e-kt]]).stream(l).point,i=s.translate([u-.205*e,f+.212*e]).clipExtent([[u-.214*e+kt,f+.166*e+kt],[u-.115*e-kt,f+.234*e-kt]]).stream(l).point,c},c.scale(1070)};var sn,ln,cn,un,fn,hn,pn={point:D,lineStart:D,lineEnd:D,polygonStart:function(){ln=0,pn.lineStart=dn},polygonEnd:function(){pn.lineStart=pn.lineEnd=pn.point=D,sn+=y(ln/2)}};function dn(){var t,e,r,n;function i(t,e){ln+=n*t-r*e,r=t,n=e}pn.point=function(a,o){pn.point=i,t=r=a,e=n=o},pn.lineEnd=function(){i(t,e)}}var gn={point:function(t,e){t<cn&&(cn=t);t>fn&&(fn=t);e<un&&(un=e);e>hn&&(hn=e)},lineStart:D,lineEnd:D,polygonStart:D,polygonEnd:D};function mn(){var t=vn(4.5),e=[],r={point:n,lineStart:function(){r.point=i},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(e){return t=vn(e),r},result:function(){if(e.length){var t=e.join("");return e=[],t}}};function n(r,n){e.push("M",r,",",n,t)}function i(t,n){e.push("M",t,",",n),r.point=a}function a(t,r){e.push("L",t,",",r)}function o(){r.point=n}function s(){e.push("Z")}return r}function vn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}var yn,xn={point:bn,lineStart:_n,lineEnd:wn,polygonStart:function(){xn.lineStart=kn},polygonEnd:function(){xn.point=bn,xn.lineStart=_n,xn.lineEnd=wn}};function bn(t,e){xr+=t,br+=e,++_r}function _n(){var t,e;function r(r,n){var i=r-t,a=n-e,o=Math.sqrt(i*i+a*a);wr+=o*(t+r)/2,kr+=o*(e+n)/2,Mr+=o,bn(t=r,e=n)}xn.point=function(n,i){xn.point=r,bn(t=n,e=i)}}function wn(){xn.point=bn}function kn(){var t,e,r,n;function i(t,e){var i=t-r,a=e-n,o=Math.sqrt(i*i+a*a);wr+=o*(r+t)/2,kr+=o*(n+e)/2,Mr+=o,Ar+=(o=n*t-r*e)*(r+t),Tr+=o*(n+e),Sr+=3*o,bn(r=t,n=e)}xn.point=function(a,o){xn.point=i,bn(t=r=a,e=n=o)},xn.lineEnd=function(){i(t,e)}}function Mn(t){var e=4.5,r={point:n,lineStart:function(){r.point=i},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(t){return e=t,r},result:D};function n(r,n){t.moveTo(r+e,n),t.arc(r,n,e,0,Tt)}function i(e,n){t.moveTo(e,n),r.point=a}function a(e,r){t.lineTo(e,r)}function o(){r.point=n}function s(){t.closePath()}return r}function An(t){var e=.5,r=Math.cos(30*Ct),n=16;function i(e){return(n?function(e){var r,i,o,s,l,c,u,f,h,p,d,g,m={point:v,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart(),m.lineStart=_},polygonEnd:function(){e.polygonEnd(),m.lineStart=y}};function v(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){f=NaN,m.point=x,e.lineStart()}function x(r,i){var o=zr([r,i]),s=t(r,i);a(f,h,u,p,d,g,f=s[0],h=s[1],u=r,p=o[0],d=o[1],g=o[2],n,e),e.point(f,h)}function b(){m.point=v,e.lineEnd()}function _(){y(),m.point=w,m.lineEnd=k}function w(t,e){x(r=t,e),i=f,o=h,s=p,l=d,c=g,m.point=x}function k(){a(f,h,u,p,d,g,i,o,r,s,l,c,n,e),m.lineEnd=b,b()}return m}:function(e){return Sn(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function a(n,i,o,s,l,c,u,f,h,p,d,g,m,v){var x=u-n,b=f-i,_=x*x+b*b;if(_>4*e&&m--){var w=s+p,k=l+d,M=c+g,A=Math.sqrt(w*w+k*k+M*M),T=Math.asin(M/=A),S=y(y(M)-1)<kt||y(o-h)<kt?(o+h)/2:Math.atan2(k,w),E=t(S,T),C=E[0],L=E[1],z=C-n,P=L-i,O=b*z-x*P;(O*O/_>e||y((x*z+b*P)/_-.5)>.3||s*p+l*d+c*g<r)&&(a(n,i,o,s,l,c,C,L,S,w/=A,k/=A,M,m,v),v.point(C,L),a(C,L,S,w,k,M,u,f,h,p,d,g,m,v))}}return i.precision=function(t){return arguments.length?(n=(e=t*t)>0&&16,i):Math.sqrt(e)},i}function Tn(t){this.stream=t}function Sn(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function En(t){return Cn(function(){return t})()}function Cn(e){var r,n,i,a,o,s,l=An(function(t,e){return[(t=r(t,e))[0]*c+a,o-t[1]*c]}),c=150,u=480,f=250,h=0,p=0,d=0,g=0,m=0,v=tn,x=z,b=null,_=null;function w(t){return[(t=i(t[0]*Ct,t[1]*Ct))[0]*c+a,o-t[1]*c]}function k(t){return(t=i.invert((t[0]-a)/c,(o-t[1])/c))&&[t[0]*Lt,t[1]*Lt]}function M(){i=Gr(n=On(d,g,m),r);var t=r(h,p);return a=u-t[0]*c,o=f+t[1]*c,A()}function A(){return s&&(s.valid=!1,s=null),w}return w.stream=function(t){return s&&(s.valid=!1),(s=Ln(v(n,l(x(t))))).valid=!0,s},w.clipAngle=function(t){return arguments.length?(v=null==t?(b=t,tn):function(t){var e=Math.cos(t),r=e>0,n=y(e)>kt;return $r(i,function(t){var e,s,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(f,h){var p,d=[f,h],g=i(f,h),m=r?g?0:o(f,h):g?o(f+(f<0?At:-At),h):0;if(!e&&(c=l=g)&&t.lineStart(),g!==l&&(p=a(e,d),(Fr(e,p)||Fr(d,p))&&(d[0]+=kt,d[1]+=kt,g=i(d[0],d[1]))),g!==l)u=0,g?(t.lineStart(),p=a(d,e),t.point(p[0],p[1])):(p=a(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var v;m&s||!(v=a(d,e,!0))||(u=0,r?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!g||e&&Fr(e,d)||t.point(d[0],d[1]),e=d,l=g,s=m},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return u|(c&&l)<<1}}},Bn(t,6*Ct),r?[0,-t]:[-At,t-At]);function i(t,r){return Math.cos(t)*Math.cos(r)>e}function a(t,r,n){var i=[1,0,0],a=Or(zr(t),zr(r)),o=Pr(a,a),s=a[0],l=o-s*s;if(!l)return!n&&t;var c=e*o/l,u=-e*s/l,f=Or(i,a),h=Dr(i,c);Ir(h,Dr(a,u));var p=f,d=Pr(h,p),g=Pr(p,p),m=d*d-g*(Pr(h,h)-1);if(!(m<0)){var v=Math.sqrt(m),x=Dr(p,(-d-v)/g);if(Ir(x,h),x=Br(x),!n)return x;var b,_=t[0],w=r[0],k=t[1],M=r[1];w<_&&(b=_,_=w,w=b);var A=w-_,T=y(A-At)<kt;if(!T&&M<k&&(b=k,k=M,M=b),T||A<kt?T?k+M>0^x[1]<(y(x[0]-_)<kt?k:M):k<=x[1]&&x[1]<=M:A>At^(_<=x[0]&&x[0]<=w)){var S=Dr(p,(-d+v)/g);return Ir(S,h),[x,Br(S)]}}}function o(e,n){var i=r?t:At-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}}((b=+t)*Ct),A()):b},w.clipExtent=function(t){return arguments.length?(_=t,x=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):z,A()):_},w.scale=function(t){return arguments.length?(c=+t,M()):c},w.translate=function(t){return arguments.length?(u=+t[0],f=+t[1],M()):[u,f]},w.center=function(t){return arguments.length?(h=t[0]%360*Ct,p=t[1]%360*Ct,M()):[h*Lt,p*Lt]},w.rotate=function(t){return arguments.length?(d=t[0]%360*Ct,g=t[1]%360*Ct,m=t.length>2?t[2]%360*Ct:0,M()):[d*Lt,g*Lt,m*Lt]},t.rebind(w,l,"precision"),function(){return r=e.apply(this,arguments),w.invert=r.invert&&k,M()}}function Ln(t){return Sn(t,function(e,r){t.point(e*Ct,r*Ct)})}function zn(t,e){return[t,e]}function Pn(t,e){return[t>At?t-Tt:t<-At?t+Tt:t,e]}function On(t,e,r){return t?e||r?Gr(Dn(t),Rn(e,r)):Dn(t):e||r?Rn(e,r):Pn}function In(t){return function(e,r){return[(e+=t)>At?e-Tt:e<-At?e+Tt:e,r]}}function Dn(t){var e=In(t);return e.invert=In(-t),e}function Rn(t,e){var r=Math.cos(t),n=Math.sin(t),i=Math.cos(e),a=Math.sin(e);function o(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*r+s*n;return[Math.atan2(l*i-u*a,s*r-c*n),It(u*i+l*a)]}return o.invert=function(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*i-l*a;return[Math.atan2(l*i+c*a,s*r+u*n),It(u*r-s*n)]},o}function Bn(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=Fn(r,i),a=Fn(r,a),(o>0?i<a:i>a)&&(i+=o*Tt)):(i=t+o*Tt,a=t-.5*l);for(var c,u=i;o>0?u>a:u<a;u-=l)s.point((c=Br([r,-n*Math.cos(u),-n*Math.sin(u)]))[0],c[1])}}function Fn(t,e){var r=zr(e);r[0]-=t,Rr(r);var n=Ot(-r[1]);return((-r[2]<0?-n:n)+2*Math.PI-kt)%(2*Math.PI)}function Nn(e,r,n){var i=t.range(e,r-kt,n).concat(r);return function(t){return i.map(function(e){return[t,e]})}}function jn(e,r,n){var i=t.range(e,r-kt,n).concat(r);return function(t){return i.map(function(e){return[e,t]})}}function Vn(t){return t.source}function Un(t){return t.target}t.geo.path=function(){var e,r,n,i,a,o=4.5;function s(e){return e&&("function"==typeof o&&i.pointRadius(+o.apply(this,arguments)),a&&a.valid||(a=n(i)),t.geo.stream(e,a)),i.result()}function l(){return a=null,s}return s.area=function(e){return sn=0,t.geo.stream(e,n(pn)),sn},s.centroid=function(e){return xr=br=_r=wr=kr=Mr=Ar=Tr=Sr=0,t.geo.stream(e,n(xn)),Sr?[Ar/Sr,Tr/Sr]:Mr?[wr/Mr,kr/Mr]:_r?[xr/_r,br/_r]:[NaN,NaN]},s.bounds=function(e){return fn=hn=-(cn=un=1/0),t.geo.stream(e,n(gn)),[[cn,un],[fn,hn]]},s.projection=function(t){return arguments.length?(n=(e=t)?t.stream||(r=t,i=An(function(t,e){return r([t*Lt,e*Lt])}),function(t){return Ln(i(t))}):z,l()):e;var r,i},s.context=function(t){return arguments.length?(i=null==(r=t)?new mn:new Mn(t),"function"!=typeof o&&i.pointRadius(o),l()):r},s.pointRadius=function(t){return arguments.length?(o="function"==typeof t?t:(i.pointRadius(+t),+t),s):o},s.projection(t.geo.albersUsa()).context(null)},t.geo.transform=function(t){return{stream:function(e){var r=new Tn(e);for(var n in t)r[n]=t[n];return r}}},Tn.prototype={point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},t.geo.projection=En,t.geo.projectionMutator=Cn,(t.geo.equirectangular=function(){return En(zn)}).raw=zn.invert=zn,t.geo.rotation=function(t){function e(e){return(e=t(e[0]*Ct,e[1]*Ct))[0]*=Lt,e[1]*=Lt,e}return t=On(t[0]%360*Ct,t[1]*Ct,t.length>2?t[2]*Ct:0),e.invert=function(e){return(e=t.invert(e[0]*Ct,e[1]*Ct))[0]*=Lt,e[1]*=Lt,e},e},Pn.invert=zn,t.geo.circle=function(){var t,e,r=[0,0],n=6;function i(){var t="function"==typeof r?r.apply(this,arguments):r,n=On(-t[0]*Ct,-t[1]*Ct,0).invert,i=[];return e(null,null,1,{point:function(t,e){i.push(t=n(t,e)),t[0]*=Lt,t[1]*=Lt}}),{type:"Polygon",coordinates:[i]}}return i.origin=function(t){return arguments.length?(r=t,i):r},i.angle=function(r){return arguments.length?(e=Bn((t=+r)*Ct,n*Ct),i):t},i.precision=function(r){return arguments.length?(e=Bn(t*Ct,(n=+r)*Ct),i):n},i.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Ct,i=t[1]*Ct,a=e[1]*Ct,o=Math.sin(n),s=Math.cos(n),l=Math.sin(i),c=Math.cos(i),u=Math.sin(a),f=Math.cos(a);return Math.atan2(Math.sqrt((r=f*o)*r+(r=c*u-l*f*s)*r),l*u+c*f*s)},t.geo.graticule=function(){var e,r,n,i,a,o,s,l,c,u,f,h,p=10,d=p,g=90,m=360,v=2.5;function x(){return{type:"MultiLineString",coordinates:b()}}function b(){return t.range(Math.ceil(i/g)*g,n,g).map(f).concat(t.range(Math.ceil(l/m)*m,s,m).map(h)).concat(t.range(Math.ceil(r/p)*p,e,p).filter(function(t){return y(t%g)>kt}).map(c)).concat(t.range(Math.ceil(o/d)*d,a,d).filter(function(t){return y(t%m)>kt}).map(u))}return x.lines=function(){return b().map(function(t){return{type:"LineString",coordinates:t}})},x.outline=function(){return{type:"Polygon",coordinates:[f(i).concat(h(s).slice(1),f(n).reverse().slice(1),h(l).reverse().slice(1))]}},x.extent=function(t){return arguments.length?x.majorExtent(t).minorExtent(t):x.minorExtent()},x.majorExtent=function(t){return arguments.length?(i=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],i>n&&(t=i,i=n,n=t),l>s&&(t=l,l=s,s=t),x.precision(v)):[[i,l],[n,s]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),o>a&&(t=o,o=a,a=t),x.precision(v)):[[r,o],[e,a]]},x.step=function(t){return arguments.length?x.majorStep(t).minorStep(t):x.minorStep()},x.majorStep=function(t){return arguments.length?(g=+t[0],m=+t[1],x):[g,m]},x.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],x):[p,d]},x.precision=function(t){return arguments.length?(v=+t,c=Nn(o,a,90),u=jn(r,e,v),f=Nn(l,s,90),h=jn(i,n,v),x):v},x.majorExtent([[-180,-90+kt],[180,90-kt]]).minorExtent([[-180,-80-kt],[180,80+kt]])},t.geo.greatArc=function(){var e,r,n=Vn,i=Un;function a(){return{type:"LineString",coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}return a.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},a.source=function(t){return arguments.length?(n=t,e="function"==typeof t?null:t,a):n},a.target=function(t){return arguments.length?(i=t,r="function"==typeof t?null:t,a):i},a.precision=function(){return arguments.length?a:0},a},t.geo.interpolate=function(t,e){return r=t[0]*Ct,n=t[1]*Ct,i=e[0]*Ct,a=e[1]*Ct,o=Math.cos(n),s=Math.sin(n),l=Math.cos(a),c=Math.sin(a),u=o*Math.cos(r),f=o*Math.sin(r),h=l*Math.cos(i),p=l*Math.sin(i),d=2*Math.asin(Math.sqrt(Rt(a-n)+o*l*Rt(i-r))),g=1/Math.sin(d),(m=d?function(t){var e=Math.sin(t*=d)*g,r=Math.sin(d-t)*g,n=r*u+e*h,i=r*f+e*p,a=r*s+e*c;return[Math.atan2(i,n)*Lt,Math.atan2(a,Math.sqrt(n*n+i*i))*Lt]}:function(){return[r*Lt,n*Lt]}).distance=d,m;var r,n,i,a,o,s,l,c,u,f,h,p,d,g,m},t.geo.length=function(e){return yn=0,t.geo.stream(e,qn),yn};var qn={sphere:D,point:D,lineStart:function(){var t,e,r;function n(n,i){var a=Math.sin(i*=Ct),o=Math.cos(i),s=y((n*=Ct)-t),l=Math.cos(s);yn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*a-e*o*l)*s),e*a+r*o*l),t=n,e=a,r=o}qn.point=function(i,a){t=i*Ct,e=Math.sin(a*=Ct),r=Math.cos(a),qn.point=n},qn.lineEnd=function(){qn.point=qn.lineEnd=D}},lineEnd:D,polygonStart:D,polygonEnd:D};function Hn(t,e){function r(e,r){var n=Math.cos(e),i=Math.cos(r),a=t(n*i);return[a*i*Math.sin(e),a*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),i=e(n),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,n*o),Math.asin(n&&r*a/n)]},r}var Gn=Hn(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(t.geo.azimuthalEqualArea=function(){return En(Gn)}).raw=Gn;var Wn=Hn(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},z);function Yn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(At/4+t/2)},i=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),a=r*Math.pow(n(t),i)/i;if(!i)return $n;function o(t,e){a>0?e<-Et+kt&&(e=-Et+kt):e>Et-kt&&(e=Et-kt);var r=a/Math.pow(n(e),i);return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}return o.invert=function(t,e){var r=a-e,n=zt(i)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/i,2*Math.atan(Math.pow(a/n,1/i))-Et]},o}function Xn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),i=r/n+t;if(y(n)<kt)return zn;function a(t,e){var r=i-e;return[r*Math.sin(n*t),i-r*Math.cos(n*t)]}return a.invert=function(t,e){var r=i-e;return[Math.atan2(t,r)/n,i-zt(n)*Math.sqrt(t*t+r*r)]},a}(t.geo.azimuthalEquidistant=function(){return En(Wn)}).raw=Wn,(t.geo.conicConformal=function(){return an(Yn)}).raw=Yn,(t.geo.conicEquidistant=function(){return an(Xn)}).raw=Xn;var Zn=Hn(function(t){return 1/t},Math.atan);function $n(t,e){return[t,Math.log(Math.tan(At/4+e/2))]}function Jn(t){var e,r=En(t),n=r.scale,i=r.translate,a=r.clipExtent;return r.scale=function(){var t=n.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.translate=function(){var t=i.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.clipExtent=function(t){var o=a.apply(r,arguments);if(o===r){if(e=null==t){var s=At*n(),l=i();a([[l[0]-s,l[1]-s],[l[0]+s,l[1]+s]])}}else e&&(o=null);return o},r.clipExtent(null)}(t.geo.gnomonic=function(){return En(Zn)}).raw=Zn,$n.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Et]},(t.geo.mercator=function(){return Jn($n)}).raw=$n;var Kn=Hn(function(){return 1},Math.asin);(t.geo.orthographic=function(){return En(Kn)}).raw=Kn;var Qn=Hn(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});function ti(t,e){return[Math.log(Math.tan(At/4+e/2)),-t]}function ei(t){return t[0]}function ri(t){return t[1]}function ni(t){for(var e=t.length,r=[0,1],n=2,i=2;i<e;i++){for(;n>1&&Pt(t[r[n-2]],t[r[n-1]],t[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function ii(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return En(Qn)}).raw=Qn,ti.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Et]},(t.geo.transverseMercator=function(){var t=Jn(ti),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90])}).raw=ti,t.geom={},t.geom.hull=function(t){var e=ei,r=ri;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=me(e),a=me(r),o=t.length,s=[],l=[];for(n=0;n<o;n++)s.push([+i.call(this,t[n],n),+a.call(this,t[n],n),n]);for(s.sort(ii),n=0;n<o;n++)l.push([s[n][0],-s[n][1]]);var c=ni(s),u=ni(l),f=u[0]===c[0],h=u[u.length-1]===c[c.length-1],p=[];for(n=c.length-1;n>=0;--n)p.push(t[s[c[n]][2]]);for(n=+f;n<u.length-h;++n)p.push(t[s[u[n]][2]]);return p}return n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n},t.geom.polygon=function(t){return U(t,ai),t};var ai=t.geom.polygon.prototype=[];function oi(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function si(t,e,r,n){var i=t[0],a=r[0],o=e[0]-i,s=n[0]-a,l=t[1],c=r[1],u=e[1]-l,f=n[1]-c,h=(s*(l-c)-f*(i-a))/(f*o-s*u);return[i+h*o,l+h*u]}function li(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}ai.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],i=0;++e<r;)t=n,n=this[e],i+=t[1]*n[0]-t[0]*n[1];return.5*i},ai.centroid=function(t){var e,r,n=-1,i=this.length,a=0,o=0,s=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++n<i;)e=s,s=this[n],r=e[0]*s[1]-s[0]*e[1],a+=(e[0]+s[0])*r,o+=(e[1]+s[1])*r;return[a*t,o*t]},ai.clip=function(t){for(var e,r,n,i,a,o,s=li(t),l=-1,c=this.length-li(this),u=this[c-1];++l<c;){for(e=t.slice(),t.length=0,i=this[l],a=e[(n=e.length-s)-1],r=-1;++r<n;)oi(o=e[r],u,i)?(oi(a,u,i)||t.push(si(a,o,u,i)),t.push(o)):oi(a,u,i)&&t.push(si(a,o,u,i)),a=o;s&&t.push(t[0]),u=i}return t};var ci,ui,fi,hi,pi,di=[],gi=[];function mi(){Ii(this),this.edge=this.site=this.circle=null}function vi(t){var e=di.pop()||new mi;return e.site=t,e}function yi(t){Si(t),fi.remove(t),di.push(t),Ii(t)}function xi(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];yi(t);for(var l=a;l.circle&&y(r-l.circle.x)<kt&&y(n-l.circle.cy)<kt;)a=l.P,s.unshift(l),yi(l),l=a;s.unshift(l),Si(l);for(var c=o;c.circle&&y(r-c.circle.x)<kt&&y(n-c.circle.cy)<kt;)o=c.N,s.push(c),yi(c),c=o;s.push(c),Si(c);var u,f=s.length;for(u=1;u<f;++u)c=s[u],l=s[u-1],zi(c.edge,l.site,c.site,i);l=s[0],(c=s[f-1]).edge=Li(l.site,c.site,null,i),Ti(l),Ti(c)}function bi(t){for(var e,r,n,i,a=t.x,o=t.y,s=fi._;s;)if((n=_i(s,o)-a)>kt)s=s.L;else{if(!((i=a-wi(s,o))>kt)){n>-kt?(e=s.P,r=s):i>-kt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=vi(t);if(fi.insert(e,l),e||r){if(e===r)return Si(e),r=vi(e.site),fi.insert(l,r),l.edge=r.edge=Li(e.site,l.site),Ti(e),void Ti(r);if(r){Si(e),Si(r);var c=e.site,u=c.x,f=c.y,h=t.x-u,p=t.y-f,d=r.site,g=d.x-u,m=d.y-f,v=2*(h*m-p*g),y=h*h+p*p,x=g*g+m*m,b={x:(m*y-p*x)/v+u,y:(h*x-g*y)/v+f};zi(r.edge,c,d,b),l.edge=Li(c,t,null,b),r.edge=Li(t,d,null,b),Ti(e),Ti(r)}else l.edge=Li(e.site,l.site)}}function _i(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,c=l-e;if(!c)return s;var u=s-n,f=1/a-1/c,h=u/c;return f?(-h+Math.sqrt(h*h-2*f*(u*u/(-2*c)-l+c/2+i-a/2)))/f+n:(n+s)/2}function wi(t,e){var r=t.N;if(r)return _i(r,e);var n=t.site;return n.y===e?n.x:1/0}function ki(t){this.site=t,this.edges=[]}function Mi(t,e){return e.angle-t.angle}function Ai(){Ii(this),this.x=this.y=this.arc=this.site=this.cy=null}function Ti(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,c=n.y-s,u=a.x-o,f=2*(l*(m=a.y-s)-c*u);if(!(f>=-Mt)){var h=l*l+c*c,p=u*u+m*m,d=(m*h-c*p)/f,g=(l*p-u*h)/f,m=g+s,v=gi.pop()||new Ai;v.arc=t,v.site=i,v.x=d+o,v.y=m+Math.sqrt(d*d+g*g),v.cy=m,t.circle=v;for(var y=null,x=pi._;x;)if(v.y<x.y||v.y===x.y&&v.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}pi.insert(y,v),y||(hi=v)}}}}function Si(t){var e=t.circle;e&&(e.P||(hi=e.N),pi.remove(e),gi.push(e),Ii(e),t.circle=null)}function Ei(t,e){var r=t.b;if(r)return!0;var n,i,a=t.a,o=e[0][0],s=e[1][0],l=e[0][1],c=e[1][1],u=t.l,f=t.r,h=u.x,p=u.y,d=f.x,g=f.y,m=(h+d)/2,v=(p+g)/2;if(g===p){if(m<o||m>=s)return;if(h>d){if(a){if(a.y>=c)return}else a={x:m,y:l};r={x:m,y:c}}else{if(a){if(a.y<l)return}else a={x:m,y:c};r={x:m,y:l}}}else if(i=v-(n=(h-d)/(g-p))*m,n<-1||n>1)if(h>d){if(a){if(a.y>=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y<l)return}else a={x:(c-i)/n,y:c};r={x:(l-i)/n,y:l}}else if(p<g){if(a){if(a.x>=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x<o)return}else a={x:s,y:n*s+i};r={x:o,y:n*o+i}}return t.a=a,t.b=r,!0}function Ci(t,e){this.l=t,this.r=e,this.a=this.b=null}function Li(t,e,r,n){var i=new Ci(t,e);return ci.push(i),r&&zi(i,t,e,r),n&&zi(i,e,t,n),ui[t.i].edges.push(new Pi(i,t,e)),ui[e.i].edges.push(new Pi(i,e,t)),i}function zi(t,e,r,n){t.a||t.b?t.l===r?t.b=n:t.a=n:(t.a=n,t.l=e,t.r=r)}function Pi(t,e,r){var n=t.a,i=t.b;this.edge=t,this.site=e,this.angle=r?Math.atan2(r.y-e.y,r.x-e.x):t.l===e?Math.atan2(i.x-n.x,n.y-i.y):Math.atan2(n.x-i.x,i.y-n.y)}function Oi(){this._=null}function Ii(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Di(t,e){var r=e,n=e.R,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function Ri(t,e){var r=e,n=e.L,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function Bi(t){for(;t.L;)t=t.L;return t}function Fi(t,e){var r,n,i,a=t.sort(Ni).pop();for(ci=[],ui=new Array(t.length),fi=new Oi,pi=new Oi;;)if(i=hi,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))a.x===r&&a.y===n||(ui[a.i]=new ki(a),bi(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;xi(i.arc)}e&&(function(t){for(var e,r=ci,n=en(t[0][0],t[0][1],t[1][0],t[1][1]),i=r.length;i--;)(!Ei(e=r[i],t)||!n(e)||y(e.a.x-e.b.x)<kt&&y(e.a.y-e.b.y)<kt)&&(e.a=e.b=null,r.splice(i,1))}(e),function(t){for(var e,r,n,i,a,o,s,l,c,u,f=t[0][0],h=t[1][0],p=t[0][1],d=t[1][1],g=ui,m=g.length;m--;)if((a=g[m])&&a.prepare())for(l=(s=a.edges).length,o=0;o<l;)n=(u=s[o].end()).x,i=u.y,e=(c=s[++o%l].start()).x,r=c.y,(y(n-e)>kt||y(i-r)>kt)&&(s.splice(o,0,new Pi((v=a.site,x=u,b=y(n-f)<kt&&d-i>kt?{x:f,y:y(e-f)<kt?r:d}:y(i-d)<kt&&h-n>kt?{x:y(r-d)<kt?e:h,y:d}:y(n-h)<kt&&i-p>kt?{x:h,y:y(e-h)<kt?r:p}:y(i-p)<kt&&n-f>kt?{x:y(r-p)<kt?e:f,y:p}:null,_=void 0,_=new Ci(v,null),_.a=x,_.b=b,ci.push(_),_),a.site,null)),++l);var v,x,b,_}(e));var o={cells:ui,edges:ci};return fi=pi=ci=ui=null,o}function Ni(t,e){return e.y-t.y||e.x-t.x}ki.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)(t=e[r].edge).b&&t.a||e.splice(r,1);return e.sort(Mi),e.length},Pi.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},Oi.prototype={insert:function(t,e){var r,n,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;r=t}else this._?(t=Bi(this._),e.P=null,e.N=t,t.P=t.L=e,r=t):(e.P=e.N=null,this._=e,r=null);for(e.L=e.R=null,e.U=r,e.C=!0,t=e;r&&r.C;)r===(n=r.U).L?(i=n.R)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&&(Di(this,r),r=(t=r).U),r.C=!1,n.C=!0,Ri(this,n)):(i=n.L)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&&(Ri(this,r),r=(t=r).U),r.C=!1,n.C=!0,Di(this,n)),r=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,r,n,i=t.U,a=t.L,o=t.R;if(r=a?o?Bi(o):a:o,i?i.L===t?i.L=r:i.R=r:this._=r,a&&o?(n=r.C,r.C=t.C,r.L=a,a.U=r,r!==o?(i=r.U,r.U=t.U,t=r.R,i.L=t,r.R=o,o.U=r):(r.U=i,i=r,t=r.R)):(n=t.C,t=r),t&&(t.U=i),!n)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&&(e.C=!1,i.C=!0,Di(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,Ri(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,Di(this,i),t=this._;break}}else if((e=i.L).C&&(e.C=!1,i.C=!0,Ri(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,Di(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,Ri(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},t.geom.voronoi=function(t){var e=ei,r=ri,n=e,i=r,a=ji;if(t)return o(t);function o(t){var e=new Array(t.length),r=a[0][0],n=a[0][1],i=a[1][0],o=a[1][1];return Fi(s(t),a).cells.forEach(function(a,s){var l=a.edges,c=a.site;(e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):c.x>=r&&c.x<=i&&c.y>=n&&c.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]}),e}function s(t){return t.map(function(t,e){return{x:Math.round(n(t,e)/kt)*kt,y:Math.round(i(t,e)/kt)*kt,i:e}})}return o.links=function(t){return Fi(s(t)).edges.filter(function(t){return t.l&&t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},o.triangles=function(t){var e=[];return Fi(s(t)).cells.forEach(function(r,n){for(var i,a,o,s,l=r.site,c=r.edges.sort(Mi),u=-1,f=c.length,h=c[f-1].edge,p=h.l===l?h.r:h.l;++u<f;)h,i=p,p=(h=c[u].edge).l===l?h.r:h.l,n<i.i&&n<p.i&&(o=i,s=p,((a=l).x-s.x)*(o.y-a.y)-(a.x-o.x)*(s.y-a.y)<0)&&e.push([t[n],t[i.i],t[p.i]])}),e},o.x=function(t){return arguments.length?(n=me(e=t),o):e},o.y=function(t){return arguments.length?(i=me(r=t),o):r},o.clipExtent=function(t){return arguments.length?(a=null==t?ji:t,o):a===ji?null:a},o.size=function(t){return arguments.length?o.clipExtent(t&&[[0,0],t]):a===ji?null:a&&a[1]},o};var ji=[[-1e6,-1e6],[1e6,1e6]];function Vi(t){return t.x}function Ui(t){return t.y}function qi(e,r){e=t.rgb(e),r=t.rgb(r);var n=e.r,i=e.g,a=e.b,o=r.r-n,s=r.g-i,l=r.b-a;return function(t){return"#"+ce(Math.round(n+o*t))+ce(Math.round(i+s*t))+ce(Math.round(a+l*t))}}function Hi(t,e){var r,n={},i={};for(r in t)r in e?n[r]=Zi(t[r],e[r]):i[r]=t[r];for(r in e)r in t||(i[r]=e[r]);return function(t){for(r in n)i[r]=n[r](t);return i}}function Gi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function Wi(t,e){var r,n,i,a=Yi.lastIndex=Xi.lastIndex=0,o=-1,s=[],l=[];for(t+="",e+="";(r=Yi.exec(t))&&(n=Xi.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Gi(r,n)})),a=Xi.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?(e=l[0].x,function(t){return e(t)+""}):function(){return e}:(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join("")})}t.geom.delaunay=function(e){return t.geom.voronoi().triangles(e)},t.geom.quadtree=function(t,e,r,n,i){var a,o=ei,s=ri;if(a=arguments.length)return o=Vi,s=Ui,3===a&&(i=r,n=e,r=e=0),l(t);function l(t){var l,c,u,f,h,p,d,g,m,v=me(o),x=me(s);if(null!=e)p=e,d=r,g=n,m=i;else if(g=m=-(p=d=1/0),c=[],u=[],h=t.length,a)for(f=0;f<h;++f)(l=t[f]).x<p&&(p=l.x),l.y<d&&(d=l.y),l.x>g&&(g=l.x),l.y>m&&(m=l.y),c.push(l.x),u.push(l.y);else for(f=0;f<h;++f){var b=+v(l=t[f],f),_=+x(l,f);b<p&&(p=b),_<d&&(d=_),b>g&&(g=b),_>m&&(m=_),c.push(b),u.push(_)}var w=g-p,k=m-d;function M(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(y(l-r)+y(c-n)<.01)A(t,e,r,n,i,a,o,s);else{var u=t.point;t.x=t.y=t.point=null,A(t,u,l,c,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),c=.5*(a+s),u=r>=l,f=n>=c,h=f<<1|u;t.leaf=!1,u?i=l:o=l,f?a=c:s=c,M(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){M(T,t,+v(t,++f),+x(t,f),p,d,g,m)}}),e,r,n,i,a,o,s)}w>k?m=d+w:g=p+k;var T={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){M(T,t,+v(t,++f),+x(t,f),p,d,g,m)}};if(T.visit=function(t){!function t(e,r,n,i,a,o){if(!e(r,n,i,a,o)){var s=.5*(n+a),l=.5*(i+o),c=r.nodes;c[0]&&t(e,c[0],n,i,s,l),c[1]&&t(e,c[1],s,i,a,l),c[2]&&t(e,c[2],n,l,s,o),c[3]&&t(e,c[3],s,l,a,o)}}(t,T,p,d,g,m)},T.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(c,u,f,h,p){if(!(u>a||f>o||h<n||p<i)){if(d=c.point){var d,g=e-c.x,m=r-c.y,v=g*g+m*m;if(v<l){var y=Math.sqrt(l=v);n=e-y,i=r-y,a=e+y,o=r+y,s=d}}for(var x=c.nodes,b=.5*(u+h),_=.5*(f+p),w=(r>=_)<<1|e>=b,k=w+4;w<k;++w)if(c=x[3&w])switch(3&w){case 0:t(c,u,f,b,_);break;case 1:t(c,b,f,h,_);break;case 2:t(c,u,_,b,p);break;case 3:t(c,b,_,h,p)}}}(t,n,i,a,o),s}(T,t[0],t[1],p,d,g,m)},f=-1,null==e){for(;++f<h;)M(T,t[f],c[f],u[f],p,d,g,m);--f}else t.forEach(T.add);return c=u=t=l=null,T}return l.x=function(t){return arguments.length?(o=t,l):o},l.y=function(t){return arguments.length?(s=t,l):s},l.extent=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=+t[0][0],r=+t[0][1],n=+t[1][0],i=+t[1][1]),l):null==e?null:[[e,r],[n,i]]},l.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),l):null==e?null:[n-e,i-r]},l},t.interpolateRgb=qi,t.interpolateObject=Hi,t.interpolateNumber=Gi,t.interpolateString=Wi;var Yi=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Xi=new RegExp(Yi.source,"g");function Zi(e,r){for(var n,i=t.interpolators.length;--i>=0&&!(n=t.interpolators[i](e,r)););return n}function $i(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r<s;++r)n.push(Zi(t[r],e[r]));for(;r<a;++r)i[r]=t[r];for(;r<o;++r)i[r]=e[r];return function(t){for(r=0;r<s;++r)i[r]=n[r](t);return i}}t.interpolate=Zi,t.interpolators=[function(t,e){var r=typeof e;return("string"===r?ge.has(e.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(e)?qi:Wi:e instanceof Vt?qi:Array.isArray(e)?$i:"object"===r&&isNaN(e)?Hi:Gi)(t,e)}],t.interpolateArray=$i;var Ji=function(){return z},Ki=t.map({linear:Ji,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return ra},cubic:function(){return na},sin:function(){return aa},exp:function(){return oa},circle:function(){return sa},elastic:function(t,e){var r;arguments.length<2&&(e=.45);arguments.length?r=e/Tt*Math.asin(1/t):(t=1,r=e/4);return function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Tt/e)}},back:function(t){t||(t=1.70158);return function(e){return e*e*((t+1)*e-t)}},bounce:function(){return la}}),Qi=t.map({in:z,out:ta,"in-out":ea,"out-in":function(t){return ea(ta(t))}});function ta(t){return function(e){return 1-t(1-e)}}function ea(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function ra(t){return t*t}function na(t){return t*t*t}function ia(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function aa(t){return 1-Math.cos(t*Et)}function oa(t){return Math.pow(2,10*(t-1))}function sa(t){return 1-Math.sqrt(1-t*t)}function la(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function ca(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function ua(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=ha(i),s=fa(i,a),l=ha(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]<a[0]*i[1]&&(i[0]*=-1,i[1]*=-1,o*=-1,s*=-1),this.rotate=(o?Math.atan2(i[1],i[0]):Math.atan2(-a[0],a[1]))*Lt,this.translate=[t.e,t.f],this.scale=[o,l],this.skew=l?Math.atan2(s,l)*Lt:0}function fa(t,e){return t[0]*e[0]+t[1]*e[1]}function ha(t){var e=Math.sqrt(fa(t,t));return e&&(t[0]/=e,t[1]/=e),e}t.ease=function(t){var e,n=t.indexOf("-"),i=n>=0?t.slice(0,n):t,a=n>=0?t.slice(n+1):"in";return i=Ki.get(i)||Ji,a=Qi.get(a)||z,e=a(i.apply(null,r.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,i=e.c,a=e.l,o=r.h-n,s=r.c-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.c:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Yt(n+o*t,i+s*t,a+l*t)+""}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,i=e.s,a=e.l,o=r.h-n,s=r.s-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.s:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Ht(n+o*t,i+s*t,a+l*t)+""}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,i=e.a,a=e.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(t){return te(n+o*t,i+s*t,a+l*t)+""}},t.interpolateRound=ca,t.transform=function(e){var r=i.createElementNS(t.ns.prefix.svg,"g");return(t.transform=function(t){if(null!=t){r.setAttribute("transform",t);var e=r.transform.baseVal.consolidate()}return new ua(e?e.matrix:pa)})(e)},ua.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var pa={a:1,b:0,c:0,d:1,e:0,f:0};function da(t){return t.length?t.pop()+",":""}function ga(e,r){var n=[],i=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push("translate(",null,",",null,")");n.push({i:i-4,x:Gi(t[0],e[0])},{i:i-2,x:Gi(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(e.translate,r.translate,n,i),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(da(r)+"rotate(",null,")")-2,x:Gi(t,e)})):e&&r.push(da(r)+"rotate("+e+")")}(e.rotate,r.rotate,n,i),function(t,e,r,n){t!==e?n.push({i:r.push(da(r)+"skewX(",null,")")-2,x:Gi(t,e)}):e&&r.push(da(r)+"skewX("+e+")")}(e.skew,r.skew,n,i),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(da(r)+"scale(",null,",",null,")");n.push({i:i-4,x:Gi(t[0],e[0])},{i:i-2,x:Gi(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(da(r)+"scale("+e+")")}(e.scale,r.scale,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r<a;)n[(e=i[r]).i]=e.x(t);return n.join("")}}function ma(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function va(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function ya(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=xa(t),n=xa(e),i=r.pop(),a=n.pop(),o=null;for(;i===a;)o=i,i=r.pop(),a=n.pop();return o}(e,r),i=[e];e!==n;)e=e.parent,i.push(e);for(var a=i.length;r!==n;)i.splice(a,0,r),r=r.parent;return i}function xa(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function ba(t){t.fixed|=2}function _a(t){t.fixed&=-7}function wa(t){t.fixed|=4,t.px=t.x,t.py=t.y}function ka(t){t.fixed&=-5}t.interpolateTransform=ga,t.layout={},t.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(ya(t[r]));return e}},t.layout.chord=function(){var e,r,n,i,a,o,s,l={},c=0;function u(){var l,u,h,p,d,g={},m=[],v=t.range(i),y=[];for(e=[],r=[],l=0,p=-1;++p<i;){for(u=0,d=-1;++d<i;)u+=n[p][d];m.push(u),y.push(t.range(i)),l+=u}for(a&&v.sort(function(t,e){return a(m[t],m[e])}),o&&y.forEach(function(t,e){t.sort(function(t,r){return o(n[e][t],n[e][r])})}),l=(Tt-c*i)/l,u=0,p=-1;++p<i;){for(h=u,d=-1;++d<i;){var x=v[p],b=y[x][d],_=n[x][b],w=u,k=u+=_*l;g[x+"-"+b]={index:x,subindex:b,startAngle:w,endAngle:k,value:_}}r[x]={index:x,startAngle:h,endAngle:u,value:m[x]},u+=c}for(p=-1;++p<i;)for(d=p-1;++d<i;){var M=g[p+"-"+d],A=g[d+"-"+p];(M.value||A.value)&&e.push(M.value<A.value?{source:A,target:M}:{source:M,target:A})}s&&f()}function f(){e.sort(function(t,e){return s((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}return l.matrix=function(t){return arguments.length?(i=(n=t)&&n.length,e=r=null,l):n},l.padding=function(t){return arguments.length?(c=t,e=r=null,l):c},l.sortGroups=function(t){return arguments.length?(a=t,e=r=null,l):a},l.sortSubgroups=function(t){return arguments.length?(o=t,e=null,l):o},l.sortChords=function(t){return arguments.length?(s=t,e&&f(),l):s},l.chords=function(){return e||u(),e},l.groups=function(){return r||u(),r},l},t.layout.force=function(){var e,r,n,i,a,o,s={},l=t.dispatch("start","tick","end"),c=[1,1],u=.9,f=Ma,h=Aa,p=-30,d=Ta,g=.1,m=.64,v=[],y=[];function x(t){return function(e,r,n,i){if(e.point!==t){var a=e.cx-t.x,o=e.cy-t.y,s=i-r,l=a*a+o*o;if(s*s/m<l){if(l<d){var c=e.charge/l;t.px-=a*c,t.py-=o*c}return!0}if(e.point&&l&&l<d){c=e.pointCharge/l;t.px-=a*c,t.py-=o*c}}return!e.charge}}function b(e){e.px=t.event.x,e.py=t.event.y,s.resume()}return s.tick=function(){if((n*=.99)<.005)return e=null,l.end({type:"end",alpha:n=0}),!0;var r,s,f,h,d,m,b,_,w,k=v.length,M=y.length;for(s=0;s<M;++s)h=(f=y[s]).source,(m=(_=(d=f.target).x-h.x)*_+(w=d.y-h.y)*w)&&(_*=m=n*a[s]*((m=Math.sqrt(m))-i[s])/m,w*=m,d.x-=_*(b=h.weight+d.weight?h.weight/(h.weight+d.weight):.5),d.y-=w*b,h.x+=_*(b=1-b),h.y+=w*b);if((b=n*g)&&(_=c[0]/2,w=c[1]/2,s=-1,b))for(;++s<k;)(f=v[s]).x+=(_-f.x)*b,f.y+=(w-f.y)*b;if(p)for(!function t(e,r,n){var i=0,a=0;e.charge=0;if(!e.leaf)for(var o,s=e.nodes,l=s.length,c=-1;++c<l;)null!=(o=s[c])&&(t(o,r,n),e.charge+=o.charge,i+=o.charge*o.cx,a+=o.charge*o.cy);if(e.point){e.leaf||(e.point.x+=Math.random()-.5,e.point.y+=Math.random()-.5);var u=r*n[e.point.index];e.charge+=e.pointCharge=u,i+=u*e.point.x,a+=u*e.point.y}e.cx=i/e.charge;e.cy=a/e.charge}(r=t.geom.quadtree(v),n,o),s=-1;++s<k;)(f=v[s]).fixed||r.visit(x(f));for(s=-1;++s<k;)(f=v[s]).fixed?(f.x=f.px,f.y=f.py):(f.x-=(f.px-(f.px=f.x))*u,f.y-=(f.py-(f.py=f.y))*u);l.tick({type:"tick",alpha:n})},s.nodes=function(t){return arguments.length?(v=t,s):v},s.links=function(t){return arguments.length?(y=t,s):y},s.size=function(t){return arguments.length?(c=t,s):c},s.linkDistance=function(t){return arguments.length?(f="function"==typeof t?t:+t,s):f},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(h="function"==typeof t?t:+t,s):h},s.friction=function(t){return arguments.length?(u=+t,s):u},s.charge=function(t){return arguments.length?(p="function"==typeof t?t:+t,s):p},s.chargeDistance=function(t){return arguments.length?(d=t*t,s):Math.sqrt(d)},s.gravity=function(t){return arguments.length?(g=+t,s):g},s.theta=function(t){return arguments.length?(m=t*t,s):Math.sqrt(m)},s.alpha=function(t){return arguments.length?(t=+t,n?t>0?n=t:(e.c=null,e.t=NaN,e=null,l.end({type:"end",alpha:n=0})):t>0&&(l.start({type:"start",alpha:n=t}),e=Me(s.tick)),s):n},s.start=function(){var t,e,r,n=v.length,l=y.length,u=c[0],d=c[1];for(t=0;t<n;++t)(r=v[t]).index=t,r.weight=0;for(t=0;t<l;++t)"number"==typeof(r=y[t]).source&&(r.source=v[r.source]),"number"==typeof r.target&&(r.target=v[r.target]),++r.source.weight,++r.target.weight;for(t=0;t<n;++t)r=v[t],isNaN(r.x)&&(r.x=g("x",u)),isNaN(r.y)&&(r.y=g("y",d)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(i=[],"function"==typeof f)for(t=0;t<l;++t)i[t]=+f.call(this,y[t],t);else for(t=0;t<l;++t)i[t]=f;if(a=[],"function"==typeof h)for(t=0;t<l;++t)a[t]=+h.call(this,y[t],t);else for(t=0;t<l;++t)a[t]=h;if(o=[],"function"==typeof p)for(t=0;t<n;++t)o[t]=+p.call(this,v[t],t);else for(t=0;t<n;++t)o[t]=p;function g(r,i){if(!e){for(e=new Array(n),c=0;c<n;++c)e[c]=[];for(c=0;c<l;++c){var a=y[c];e[a.source.index].push(a.target),e[a.target.index].push(a.source)}}for(var o,s=e[t],c=-1,u=s.length;++c<u;)if(!isNaN(o=s[c][r]))return o;return Math.random()*i}return s.resume()},s.resume=function(){return s.alpha(.1)},s.stop=function(){return s.alpha(0)},s.drag=function(){if(r||(r=t.behavior.drag().origin(z).on("dragstart.force",ba).on("drag.force",b).on("dragend.force",_a)),!arguments.length)return r;this.on("mouseover.force",wa).on("mouseout.force",ka).call(r)},t.rebind(s,l,"on")};var Ma=20,Aa=1,Ta=1/0;function Sa(e,r){return t.rebind(e,r,"sort","children","value"),e.nodes=e,e.links=Oa,e}function Ea(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(i=t.children)&&(n=i.length))for(var n,i;--n>=0;)r.push(i[n])}function Ca(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o<i;)r.push(a[o]);for(;null!=(t=n.pop());)e(t)}function La(t){return t.children}function za(t){return t.value}function Pa(t,e){return e.value-t.value}function Oa(e){return t.merge(e.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}t.layout.hierarchy=function(){var t=Pa,e=La,r=za;function n(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(c=e.call(n,a,a.depth))&&(l=c.length)){for(var l,c,u;--l>=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return Ca(i,function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)}),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Ea(t,function(t){t.children&&(t.value=0)}),Ca(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},t.layout.partition=function(){var e=t.layout.hierarchy(),r=[1,1];function n(t,n){var i=e.call(this,t,n);return function t(e,r,n,i){var a=e.children;if(e.x=r,e.y=e.depth*i,e.dx=n,e.dy=i,a&&(o=a.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++c<o;)t(s=a[c],r,l=s.value*n,i),r+=l}}(i[0],0,r[0],r[1]/function t(e){var r=e.children,n=0;if(r&&(i=r.length))for(var i,a=-1;++a<i;)n=Math.max(n,t(r[a]));return 1+n}(i[0])),i}return n.size=function(t){return arguments.length?(r=t,n):r},Sa(n,e)},t.layout.pie=function(){var e=Number,r=Ia,n=0,i=Tt,a=0;function o(s){var l,c=s.length,u=s.map(function(t,r){return+e.call(o,t,r)}),f=+("function"==typeof n?n.apply(this,arguments):n),h=("function"==typeof i?i.apply(this,arguments):i)-f,p=Math.min(Math.abs(h)/c,+("function"==typeof a?a.apply(this,arguments):a)),d=p*(h<0?-1:1),g=t.sum(u),m=g?(h-c*d)/g:0,v=t.range(c),y=[];return null!=r&&v.sort(r===Ia?function(t,e){return u[e]-u[t]}:function(t,e){return r(s[t],s[e])}),v.forEach(function(t){y[t]={data:s[t],value:l=u[t],startAngle:f,endAngle:f+=l*m+d,padAngle:p}}),y}return o.value=function(t){return arguments.length?(e=t,o):e},o.sort=function(t){return arguments.length?(r=t,o):r},o.startAngle=function(t){return arguments.length?(n=t,o):n},o.endAngle=function(t){return arguments.length?(i=t,o):i},o.padAngle=function(t){return arguments.length?(a=t,o):a},o};var Ia={};function Da(t){return t.x}function Ra(t){return t.y}function Ba(t,e,r){t.y0=e,t.y=r}t.layout.stack=function(){var e=z,r=ja,n=Va,i=Ba,a=Da,o=Ra;function s(l,c){if(!(p=l.length))return l;var u=l.map(function(t,r){return e.call(s,t,r)}),f=u.map(function(t){return t.map(function(t,e){return[a.call(s,t,e),o.call(s,t,e)]})}),h=r.call(s,f,c);u=t.permute(u,h),f=t.permute(f,h);var p,d,g,m,v=n.call(s,f,c),y=u[0].length;for(g=0;g<y;++g)for(i.call(s,u[0][g],m=v[g],f[0][g][1]),d=1;d<p;++d)i.call(s,u[d][g],m+=f[d-1][g][1],f[d][g][1]);return l}return s.values=function(t){return arguments.length?(e=t,s):e},s.order=function(t){return arguments.length?(r="function"==typeof t?t:Fa.get(t)||ja,s):r},s.offset=function(t){return arguments.length?(n="function"==typeof t?t:Na.get(t)||Va,s):n},s.x=function(t){return arguments.length?(a=t,s):a},s.y=function(t){return arguments.length?(o=t,s):o},s.out=function(t){return arguments.length?(i=t,s):i},s};var Fa=t.map({"inside-out":function(e){var r,n,i=e.length,a=e.map(Ua),o=e.map(qa),s=t.range(i).sort(function(t,e){return a[t]-a[e]}),l=0,c=0,u=[],f=[];for(r=0;r<i;++r)n=s[r],l<c?(l+=o[n],u.push(n)):(c+=o[n],f.push(n));return f.reverse().concat(u)},reverse:function(e){return t.range(e.length).reverse()},default:ja}),Na=t.map({silhouette:function(t){var e,r,n,i=t.length,a=t[0].length,o=[],s=0,l=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<a;++r)l[r]=(s-o[r])/2;return l},wiggle:function(t){var e,r,n,i,a,o,s,l,c,u=t.length,f=t[0],h=f.length,p=[];for(p[0]=l=c=0,r=1;r<h;++r){for(e=0,i=0;e<u;++e)i+=t[e][r][1];for(e=0,a=0,s=f[r][0]-f[r-1][0];e<u;++e){for(n=0,o=(t[e][r][1]-t[e][r-1][1])/(2*s);n<e;++n)o+=(t[n][r][1]-t[n][r-1][1])/s;a+=o*t[e][r][1]}p[r]=l-=i?a/i*s:0,l<c&&(c=l)}for(r=0;r<h;++r)p[r]-=c;return p},expand:function(t){var e,r,n,i=t.length,a=t[0].length,o=1/i,s=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];if(n)for(e=0;e<i;e++)t[e][r][1]/=n;else for(e=0;e<i;e++)t[e][r][1]=o}for(r=0;r<a;++r)s[r]=0;return s},zero:Va});function ja(e){return t.range(e.length)}function Va(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function Ua(t){for(var e,r=1,n=0,i=t[0][1],a=t.length;r<a;++r)(e=t[r][1])>i&&(n=r,i=e);return n}function qa(t){return t.reduce(Ha,0)}function Ha(t,e){return t+e[1]}function Ga(t,e){return Wa(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Wa(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function Ya(e){return[t.min(e),t.max(e)]}function Xa(t,e){return t.value-e.value}function Za(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function $a(t,e){t._pack_next=e,e._pack_prev=t}function Ja(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function Ka(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,c=1/0,u=-1/0,f=1/0,h=-1/0;if(e.forEach(Qa),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(eo(r,n,i=e[2]),x(i),Za(r,i),r._pack_prev=i,Za(i,n),n=r._pack_next,a=3;a<l;a++){eo(r,n,i=e[a]);var p=0,d=1,g=1;for(o=n._pack_next;o!==n;o=o._pack_next,d++)if(Ja(o,i)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!Ja(s,i);s=s._pack_prev,g++);p?(d<g||d==g&&n.r<r.r?$a(r,n=o):$a(r=s,n),a--):(Za(r,i),n=i,x(i))}var m=(c+u)/2,v=(f+h)/2,y=0;for(a=0;a<l;a++)(i=e[a]).x-=m,i.y-=v,y=Math.max(y,i.r+Math.sqrt(i.x*i.x+i.y*i.y));t.r=y,e.forEach(to)}function x(t){c=Math.min(t.x-t.r,c),u=Math.max(t.x+t.r,u),f=Math.min(t.y-t.r,f),h=Math.max(t.y+t.r,h)}}function Qa(t){t._pack_next=t._pack_prev=t}function to(t){delete t._pack_next,delete t._pack_prev}function eo(t,e,r){var n=t.r+r.r,i=e.x-t.x,a=e.y-t.y;if(n&&(i||a)){var o=e.r+r.r,s=i*i+a*a,l=.5+((n*=n)-(o*=o))/(2*s),c=Math.sqrt(Math.max(0,2*o*(n+s)-(n-=s)*n-o*o))/(2*s);r.x=t.x+l*i+c*a,r.y=t.y+l*a-c*i}else r.x=t.x+n,r.y=t.y}function ro(t,e){return t.parent==e.parent?1:2}function no(t){var e=t.children;return e.length?e[0]:t.t}function io(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function ao(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function oo(t,e,r){return t.a.parent===e.parent?t.a:r}function so(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function lo(t,e){var r=t.x+e[3],n=t.y+e[0],i=t.dx-e[1]-e[3],a=t.dy-e[0]-e[2];return i<0&&(r+=i/2,i=0),a<0&&(n+=a/2,a=0),{x:r,y:n,dx:i,dy:a}}function co(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function uo(t){return t.rangeExtent?t.rangeExtent():co(t.range())}function fo(t,e,r,n){var i=r(t[0],t[1]),a=n(e[0],e[1]);return function(t){return a(i(t))}}function ho(t,e){var r,n=0,i=t.length-1,a=t[n],o=t[i];return o<a&&(r=n,n=i,i=r,r=a,a=o,o=r),t[n]=e.floor(a),t[i]=e.ceil(o),t}function po(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:go}t.layout.histogram=function(){var e=!0,r=Number,n=Ya,i=Ga;function a(a,o){for(var s,l,c=[],u=a.map(r,this),f=n.call(this,u,o),h=i.call(this,f,u,o),p=(o=-1,u.length),d=h.length-1,g=e?1:1/p;++o<d;)(s=c[o]=[]).dx=h[o+1]-(s.x=h[o]),s.y=0;if(d>0)for(o=-1;++o<p;)(l=u[o])>=f[0]&&l<=f[1]&&((s=c[t.bisect(h,l,1,d)-1]).y+=g,s.push(a[o]));return c}return a.value=function(t){return arguments.length?(r=t,a):r},a.range=function(t){return arguments.length?(n=me(t),a):n},a.bins=function(t){return arguments.length?(i="number"==typeof t?function(e){return Wa(e,t)}:me(t),a):i},a.frequency=function(t){return arguments.length?(e=!!t,a):e},a},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort(Xa),n=0,i=[1,1];function a(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],c=i[1],u=null==e?Math.sqrt:"function"==typeof e?e:function(){return e};if(s.x=s.y=0,Ca(s,function(t){t.r=+u(t.value)}),Ca(s,Ka),n){var f=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;Ca(s,function(t){t.r+=f}),Ca(s,Ka),Ca(s,function(t){t.r-=f})}return function t(e,r,n,i){var a=e.children;e.x=r+=i*e.x;e.y=n+=i*e.y;e.r*=i;if(a)for(var o=-1,s=a.length;++o<s;)t(a[o],r,n,i)}(s,l/2,c/2,e?1:1/Math.max(2*s.r/l,2*s.r/c)),o}return a.size=function(t){return arguments.length?(i=t,a):i},a.radius=function(t){return arguments.length?(e=null==t||"function"==typeof t?t:+t,a):e},a.padding=function(t){return arguments.length?(n=+t,a):n},Sa(a,r)},t.layout.tree=function(){var e=t.layout.hierarchy().sort(null).value(null),r=ro,n=[1,1],i=null;function a(t,a){var c=e.call(this,t,a),u=c[0],f=function(t){var e,r={A:null,children:[t]},n=[r];for(;null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;o<s;++o)n.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return r.children[0]}(u);if(Ca(f,o),f.parent.m=-f.z,Ea(f,s),i)Ea(u,l);else{var h=u,p=u,d=u;Ea(u,function(t){t.x<h.x&&(h=t),t.x>p.x&&(p=t),t.depth>d.depth&&(d=t)});var g=r(h,p)/2-h.x,m=n[0]/(p.x+r(p,h)/2+g),v=n[1]/(d.depth||1);Ea(u,function(t){t.x=(t.x+g)*m,t.y=t.depth*v})}return c}function o(t){var e=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,i=t.children,a=i.length;for(;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(e[0].z+e[e.length-1].z)/2;i?(t.z=i.z+r(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+r(t._,i._));t.parent.A=function(t,e,n){if(e){for(var i,a=t,o=t,s=e,l=a.parent.children[0],c=a.m,u=o.m,f=s.m,h=l.m;s=io(s),a=no(a),s&&a;)l=no(l),(o=io(o)).a=t,(i=s.z+f-a.z-c+r(s._,a._))>0&&(ao(oo(s,t,n),t,i),c+=i,u+=i),f+=s.m,c+=a.m,h+=l.m,u+=o.m;s&&!io(o)&&(o.t=s,o.m+=f-u),a&&!no(l)&&(l.t=a,l.m+=c-h,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=n[0],t.y=t.depth*n[1]}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t)?l:null,a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null==(n=t)?null:l,a):i?n:null},Sa(a,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=ro,n=[1,1],i=!1;function a(a,o){var s,l=e.call(this,a,o),c=l[0],u=0;Ca(c,function(e){var n=e.children;n&&n.length?(e.x=function(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}(n),e.y=function(e){return 1+t.max(e,function(t){return t.y})}(n)):(e.x=s?u+=r(e,s):0,e.y=0,s=e)});var f=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(c),h=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(c),p=f.x-r(f,h)/2,d=h.x+r(h,f)/2;return Ca(c,i?function(t){t.x=(t.x-c.x)*n[0],t.y=(c.y-t.y)*n[1]}:function(t){t.x=(t.x-p)/(d-p)*n[0],t.y=(1-(c.y?t.y/c.y:1))*n[1]}),l}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t),a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null!=(n=t),a):i?n:null},Sa(a,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=so,s=!1,l="squarify",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,i=-1,a=t.length;++i<a;)n=(r=t[i]).value*(e<0?0:e),r.area=isNaN(n)||n<=0?0:n}function f(t){var e=t.children;if(e&&e.length){var r,n,i,a=o(t),s=[],c=e.slice(),h=1/0,g="slice"===l?a.dx:"dice"===l?a.dy:"slice-dice"===l?1&t.depth?a.dy:a.dx:Math.min(a.dx,a.dy);for(u(c,a.dx*a.dy/t.value),s.area=0;(i=c.length)>0;)s.push(r=c[i-1]),s.area+=r.area,"squarify"!==l||(n=p(s,g))<=h?(c.pop(),h=n):(s.area-=s.pop().area,d(s,g,a,!1),g=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,g,a,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(u(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++o<s;)(r=t[o].area)&&(r<a&&(a=r),r>i&&(i=r));return e*=e,(n*=n)?Math.max(e*i*c/n,n/(e*a*c)):1/0}function d(t,e,r,i){var a,o=-1,s=t.length,l=r.x,c=r.y,u=e?n(t.area/e):0;if(e==r.dx){for((i||u>r.dy)&&(u=r.dy);++o<s;)(a=t[o]).x=l,a.y=c,a.dy=u,l+=a.dx=Math.min(r.x+r.dx-l,u?n(a.area/u):0);a.z=!0,a.dx+=r.x+r.dx-l,r.y+=u,r.dy-=u}else{for((i||u>r.dx)&&(u=r.dx);++o<s;)(a=t[o]).x=l,a.y=c,a.dx=u,c+=a.dy=Math.min(r.y+r.dy-c,u?n(a.area/u):0);a.z=!1,a.dy+=r.y+r.dy-c,r.x+=u,r.dx-=u}}function g(t){var n=e||r(t),a=n[0];return a.x=a.y=0,a.value?(a.dx=i[0],a.dy=i[1]):a.dx=a.dy=0,e&&r.revalue(a),u([a],a.dx*a.dy/a.value),(e?h:f)(a),s&&(e=n),n}return g.size=function(t){return arguments.length?(i=t,g):i},g.padding=function(t){if(!arguments.length)return a;function e(e){return lo(e,t)}var r;return o=null==(a=t)?so:"function"==(r=typeof t)?function(e){var r=t.call(g,e,e.depth);return null==r?so(e):lo(e,"number"==typeof r?[r,r,r,r]:r)}:"number"===r?(t=[t,t,t,t],e):e,g},g.round=function(t){return arguments.length?(n=t?Math.round:Number,g):n!=Number},g.sticky=function(t){return arguments.length?(s=t,e=null,g):s},g.ratio=function(t){return arguments.length?(c=t,g):c},g.mode=function(t){return arguments.length?(l=t+"",g):l},Sa(g,r)},t.random={normal:function(t,e){var r=arguments.length;return r<2&&(e=1),r<1&&(t=0),function(){var r,n,i;do{i=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!i||i>1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var e=t.random.normal.apply(t,arguments);return function(){return Math.exp(e())}},bates:function(e){var r=t.random.irwinHall(e);return function(){return r()/e}},irwinHall:function(t){return function(){for(var e=0,r=0;r<t;r++)e+=Math.random();return e}}},t.scale={};var go={floor:z,ceil:z};function mo(e,r,n,i){var a=[],o=[],s=0,l=Math.min(e.length,r.length)-1;for(e[l]<e[0]&&(e=e.slice().reverse(),r=r.slice().reverse());++s<=l;)a.push(n(e[s-1],e[s])),o.push(i(r[s-1],r[s]));return function(r){var n=t.bisect(e,r,1,l)-1;return o[n](a[n](r))}}function vo(e,r){return t.rebind(e,r,"range","rangeRound","interpolate","clamp")}function yo(t,e){return ho(t,po(xo(t,e)[2])),ho(t,po(xo(t,e)[2])),t}function xo(t,e){null==e&&(e=10);var r=co(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function bo(e,r){return t.range.apply(t,xo(e,r))}function _o(e,r,n){var i=xo(e,r);if(n){var a=Le.exec(n);if(a.shift(),"s"===a[8]){var o=t.formatPrefix(Math.max(y(i[0]),y(i[1])));return a[7]||(a[7]="."+ko(o.scale(i[2]))),a[8]="f",n=t.format(a.join("")),function(t){return n(o.scale(t))+o.symbol}}a[7]||(a[7]="."+function(t,e){var r=ko(e[2]);return t in wo?Math.abs(r-ko(Math.max(y(e[0]),y(e[1]))))+ +("e"!==t):r-2*("%"===t)}(a[8],i)),n=a.join("")}else n=",."+ko(i[2])+"f";return t.format(n)}t.scale.linear=function(){return function t(e,r,n,i){var a,o;function s(){var t=Math.min(e.length,r.length)>2?mo:fo,s=i?va:ma;return a=t(e,r,s,n),o=t(r,e,s,Zi),l}function l(t){return a(t)}l.invert=function(t){return o(t)};l.domain=function(t){return arguments.length?(e=t.map(Number),s()):e};l.range=function(t){return arguments.length?(r=t,s()):r};l.rangeRound=function(t){return l.range(t).interpolate(ca)};l.clamp=function(t){return arguments.length?(i=t,s()):i};l.interpolate=function(t){return arguments.length?(n=t,s()):n};l.ticks=function(t){return bo(e,t)};l.tickFormat=function(t,r){return _o(e,t,r)};l.nice=function(t){return yo(e,t),s()};l.copy=function(){return t(e,r,n,i)};return s()}([0,1],[0,1],Zi,!1)};var wo={s:1,g:1,p:1,r:1,e:1};function ko(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,i,a){function o(t){return(i?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return i?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}l.invert=function(t){return s(r.invert(t))};l.domain=function(t){return arguments.length?(i=t[0]>=0,r.domain((a=t.map(Number)).map(o)),l):a};l.base=function(t){return arguments.length?(n=+t,r.domain(a.map(o)),l):n};l.nice=function(){var t=ho(a.map(o),i?Math:Ao);return r.domain(t),a=t.map(s),l};l.ticks=function(){var t=co(a),e=[],r=t[0],l=t[1],c=Math.floor(o(r)),u=Math.ceil(o(l)),f=n%1?2:n;if(isFinite(u-c)){if(i){for(;c<u;c++)for(var h=1;h<f;h++)e.push(s(c)*h);e.push(s(c))}else for(e.push(s(c));c++<u;)for(var h=f-1;h>0;h--)e.push(s(c)*h);for(c=0;e[c]<r;c++);for(u=e.length;e[u-1]>l;u--);e=e.slice(c,u)}return e};l.tickFormat=function(e,r){if(!arguments.length)return Mo;arguments.length<2?r=Mo:"function"!=typeof r&&(r=t.format(r));var i=Math.max(1,n*e/l.ticks().length);return function(t){var e=t/s(Math.round(o(t)));return e*n<n-.5&&(e*=n),e<=i?r(t):""}};l.copy=function(){return e(r.copy(),n,i,a)};return vo(l,r)}(t.scale.linear().domain([0,1]),10,!0,[1,10])};var Mo=t.format(".0e"),Ao={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function To(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}t.scale.pow=function(){return function t(e,r,n){var i=To(r),a=To(1/r);function o(t){return e(i(t))}o.invert=function(t){return a(e.invert(t))};o.domain=function(t){return arguments.length?(e.domain((n=t.map(Number)).map(i)),o):n};o.ticks=function(t){return bo(n,t)};o.tickFormat=function(t,e){return _o(n,t,e)};o.nice=function(t){return o.domain(yo(n,t))};o.exponent=function(t){return arguments.length?(i=To(r=t),a=To(1/r),e.domain(n.map(i)),o):r};o.copy=function(){return t(e.copy(),r,n)};return vo(o,e)}(t.scale.linear(),1,[0,1])},t.scale.sqrt=function(){return t.scale.pow().exponent(.5)},t.scale.ordinal=function(){return function e(r,n){var i,a,o;function s(t){return a[((i.get(t)||("range"===n.t?i.set(t,r.push(t)):NaN))-1)%a.length]}function l(e,n){return t.range(r.length).map(function(t){return e+n*t})}s.domain=function(t){if(!arguments.length)return r;r=[],i=new b;for(var e,a=-1,o=t.length;++a<o;)i.has(e=t[a])||i.set(e,r.push(e));return s[n.t].apply(s,n.a)};s.range=function(t){return arguments.length?(a=t,o=0,n={t:"range",a:arguments},s):a};s.rangePoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],c=t[1],u=r.length<2?(i=(i+c)/2,0):(c-i)/(r.length-1+e);return a=l(i+u*e/2,u),o=0,n={t:"rangePoints",a:arguments},s};s.rangeRoundPoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],c=t[1],u=r.length<2?(i=c=Math.round((i+c)/2),0):(c-i)/(r.length-1+e)|0;return a=l(i+Math.round(u*e/2+(c-i-(r.length-1+e)*u)/2),u),o=0,n={t:"rangeRoundPoints",a:arguments},s};s.rangeBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var c=t[1]<t[0],u=t[c-0],f=t[1-c],h=(f-u)/(r.length-e+2*i);return a=l(u+h*i,h),c&&a.reverse(),o=h*(1-e),n={t:"rangeBands",a:arguments},s};s.rangeRoundBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var c=t[1]<t[0],u=t[c-0],f=t[1-c],h=Math.floor((f-u)/(r.length-e+2*i));return a=l(u+Math.round((f-u-(r.length-e)*h)/2),h),c&&a.reverse(),o=Math.round(h*(1-e)),n={t:"rangeRoundBands",a:arguments},s};s.rangeBand=function(){return o};s.rangeExtent=function(){return co(n.a[0])};s.copy=function(){return e(r,n)};return s.domain(r)}([],{t:"range",a:[[]]})},t.scale.category10=function(){return t.scale.ordinal().range(So)},t.scale.category20=function(){return t.scale.ordinal().range(Eo)},t.scale.category20b=function(){return t.scale.ordinal().range(Co)},t.scale.category20c=function(){return t.scale.ordinal().range(Lo)};var So=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(se),Eo=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(se),Co=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(se),Lo=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(se);function zo(){return 0}t.scale.quantile=function(){return function e(r,n){var i;function a(){var e=0,a=n.length;for(i=[];++e<a;)i[e-1]=t.quantile(r,e/a);return o}function o(e){if(!isNaN(e=+e))return n[t.bisect(i,e)]}o.domain=function(t){return arguments.length?(r=t.map(p).filter(d).sort(h),a()):r};o.range=function(t){return arguments.length?(n=t,a()):n};o.quantiles=function(){return i};o.invertExtent=function(t){return(t=n.indexOf(t))<0?[NaN,NaN]:[t>0?i[t-1]:r[0],t<i.length?i[t]:r[r.length-1]]};o.copy=function(){return e(r,n)};return a()}([],[])},t.scale.quantize=function(){return function t(e,r,n){var i,a;function o(t){return n[Math.max(0,Math.min(a,Math.floor(i*(t-e))))]}function s(){return i=n.length/(r-e),a=n.length-1,o}o.domain=function(t){return arguments.length?(e=+t[0],r=+t[t.length-1],s()):[e,r]};o.range=function(t){return arguments.length?(n=t,s()):n};o.invertExtent=function(t){return[t=(t=n.indexOf(t))<0?NaN:t/i+e,t+1/i]};o.copy=function(){return t(e,r,n)};return s()}(0,1,[0,1])},t.scale.threshold=function(){return function e(r,n){function i(e){if(e<=e)return n[t.bisect(r,e)]}i.domain=function(t){return arguments.length?(r=t,i):r};i.range=function(t){return arguments.length?(n=t,i):n};i.invertExtent=function(t){return t=n.indexOf(t),[r[t-1],r[t]]};i.copy=function(){return e(r,n)};return i}([.5],[0,1])},t.scale.identity=function(){return function t(e){function r(t){return+t}r.invert=r;r.domain=r.range=function(t){return arguments.length?(e=t.map(r),r):e};r.ticks=function(t){return bo(e,t)};r.tickFormat=function(t,r){return _o(e,t,r)};r.copy=function(){return t(e)};return r}([0,1])},t.svg={},t.svg.arc=function(){var t=Oo,e=Io,r=zo,n=Po,i=Do,a=Ro,o=Bo;function s(){var s=Math.max(0,+t.apply(this,arguments)),c=Math.max(0,+e.apply(this,arguments)),u=i.apply(this,arguments)-Et,f=a.apply(this,arguments)-Et,h=Math.abs(f-u),p=u>f?0:1;if(c<s&&(d=c,c=s,s=d),h>=St)return l(c,p)+(s?l(s,1-p):"")+"Z";var d,g,m,v,y,x,b,_,w,k,M,A,T=0,S=0,E=[];if((v=(+o.apply(this,arguments)||0)/2)&&(m=n===Po?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=It(m/c*Math.sin(v))),s&&(T=It(m/s*Math.sin(v)))),c){y=c*Math.cos(u+S),x=c*Math.sin(u+S),b=c*Math.cos(f-S),_=c*Math.sin(f-S);var C=Math.abs(f-u-2*S)<=At?0:1;if(S&&Fo(y,x,b,_)===p^C){var L=(u+f)/2;y=c*Math.cos(L),x=c*Math.sin(L),b=_=null}}else y=x=0;if(s){w=s*Math.cos(f-T),k=s*Math.sin(f-T),M=s*Math.cos(u+T),A=s*Math.sin(u+T);var z=Math.abs(u-f+2*T)<=At?0:1;if(T&&Fo(w,k,M,A)===1-p^z){var P=(u+f)/2;w=s*Math.cos(P),k=s*Math.sin(P),M=A=null}}else w=k=0;if(h>kt&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){g=s<c^p?0:1;var O=d,I=d;if(h<At){var D=null==M?[w,k]:null==b?[y,x]:si([y,x],[M,A],[b,_],[w,k]),R=y-D[0],B=x-D[1],F=b-D[0],N=_-D[1],j=1/Math.sin(Math.acos((R*F+B*N)/(Math.sqrt(R*R+B*B)*Math.sqrt(F*F+N*N)))/2),V=Math.sqrt(D[0]*D[0]+D[1]*D[1]);I=Math.min(d,(s-V)/(j-1)),O=Math.min(d,(c-V)/(j+1))}if(null!=b){var U=No(null==M?[w,k]:[M,A],[y,x],c,O,p),q=No([b,_],[w,k],c,O,p);d===O?E.push("M",U[0],"A",O,",",O," 0 0,",g," ",U[1],"A",c,",",c," 0 ",1-p^Fo(U[1][0],U[1][1],q[1][0],q[1][1]),",",p," ",q[1],"A",O,",",O," 0 0,",g," ",q[0]):E.push("M",U[0],"A",O,",",O," 0 1,",g," ",q[0])}else E.push("M",y,",",x);if(null!=M){var H=No([y,x],[M,A],s,-I,p),G=No([w,k],null==b?[y,x]:[b,_],s,-I,p);d===I?E.push("L",G[0],"A",I,",",I," 0 0,",g," ",G[1],"A",s,",",s," 0 ",p^Fo(G[1][0],G[1][1],H[1][0],H[1][1]),",",1-p," ",H[1],"A",I,",",I," 0 0,",g," ",H[0]):E.push("L",G[0],"A",I,",",I," 0 0,",g," ",H[0])}else E.push("L",w,",",k)}else E.push("M",y,",",x),null!=b&&E.push("A",c,",",c," 0 ",C,",",p," ",b,",",_),E.push("L",w,",",k),null!=M&&E.push("A",s,",",s," 0 ",z,",",1-p," ",M,",",A);return E.push("Z"),E.join("")}function l(t,e){return"M0,"+t+"A"+t+","+t+" 0 1,"+e+" 0,"+-t+"A"+t+","+t+" 0 1,"+e+" 0,"+t}return s.innerRadius=function(e){return arguments.length?(t=me(e),s):t},s.outerRadius=function(t){return arguments.length?(e=me(t),s):e},s.cornerRadius=function(t){return arguments.length?(r=me(t),s):r},s.padRadius=function(t){return arguments.length?(n=t==Po?Po:me(t),s):n},s.startAngle=function(t){return arguments.length?(i=me(t),s):i},s.endAngle=function(t){return arguments.length?(a=me(t),s):a},s.padAngle=function(t){return arguments.length?(o=me(t),s):o},s.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,n=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-Et;return[Math.cos(n)*r,Math.sin(n)*r]},s};var Po="auto";function Oo(t){return t.innerRadius}function Io(t){return t.outerRadius}function Do(t){return t.startAngle}function Ro(t){return t.endAngle}function Bo(t){return t&&t.padAngle}function Fo(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function No(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,c=-s*a,u=t[0]+l,f=t[1]+c,h=e[0]+l,p=e[1]+c,d=(u+h)/2,g=(f+p)/2,m=h-u,v=p-f,y=m*m+v*v,x=r-n,b=u*p-h*f,_=(v<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*v-m*_)/y,k=(-b*m-v*_)/y,M=(b*v+m*_)/y,A=(-b*m+v*_)/y,T=w-d,S=k-g,E=M-d,C=A-g;return T*T+S*S>E*E+C*C&&(w=M,k=A),[[w-l,k-c],[w*r/x,k*r/x]]}function jo(t){var e=ei,r=ri,n=Wr,i=Uo,a=i.key,o=.7;function s(a){var s,l=[],c=[],u=-1,f=a.length,h=me(e),p=me(r);function d(){l.push("M",i(t(c),o))}for(;++u<f;)n.call(this,s=a[u],u)?c.push([+h.call(this,s,u),+p.call(this,s,u)]):c.length&&(d(),c=[]);return c.length&&d(),l.length?l.join(""):null}return s.x=function(t){return arguments.length?(e=t,s):e},s.y=function(t){return arguments.length?(r=t,s):r},s.defined=function(t){return arguments.length?(n=t,s):n},s.interpolate=function(t){return arguments.length?(a="function"==typeof t?i=t:(i=Vo.get(t)||Uo).key,s):a},s.tension=function(t){return arguments.length?(o=t,s):o},s}t.svg.line=function(){return jo(z)};var Vo=t.map({linear:Uo,"linear-closed":qo,step:function(t){var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];for(;++e<r;)i.push("H",(n[0]+(n=t[e])[0])/2,"V",n[1]);r>1&&i.push("H",n[0]);return i.join("")},"step-before":Ho,"step-after":Go,basis:Xo,"basis-open":function(t){if(t.length<4)return Uo(t);var e,r=[],n=-1,i=t.length,a=[0],o=[0];for(;++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);r.push(Zo(Ko,a)+","+Zo(Ko,o)),--n;for(;++n<i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Qo(r,a,o);return r.join("")},"basis-closed":function(t){var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];for(;++n<4;)r=t[n%i],o.push(r[0]),s.push(r[1]);e=[Zo(Ko,o),",",Zo(Ko,s)],--n;for(;++n<a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),Qo(e,o,s);return e.join("")},bundle:function(t,e){var r=t.length-1;if(r)for(var n,i,a=t[0][0],o=t[0][1],s=t[r][0]-a,l=t[r][1]-o,c=-1;++c<=r;)n=t[c],i=c/r,n[0]=e*n[0]+(1-e)*(a+i*s),n[1]=e*n[1]+(1-e)*(o+i*l);return Xo(t)},cardinal:function(t,e){return t.length<3?Uo(t):t[0]+Wo(t,Yo(t,e))},"cardinal-open":function(t,e){return t.length<4?Uo(t):t[1]+Wo(t.slice(1,-1),Yo(t,e))},"cardinal-closed":function(t,e){return t.length<3?qo(t):t[0]+Wo((t.push(t[0]),t),Yo([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length<3?Uo(t):t[0]+Wo(t,function(t){var e,r,n,i,a=[],o=function(t){var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=ts(i,a);for(;++e<r;)n[e]=(o+(o=ts(i=a,a=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;for(;++s<l;)e=ts(t[s],t[s+1]),y(e)<kt?o[s]=o[s+1]=0:(r=o[s]/e,n=o[s+1]/e,(i=r*r+n*n)>9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n));s=-1;for(;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Uo(t){return t.length>1?t.join("L"):t+"Z"}function qo(t){return t.join("L")+"Z"}function Ho(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e<r;)i.push("V",(n=t[e])[1],"H",n[0]);return i.join("")}function Go(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e<r;)i.push("H",(n=t[e])[0],"V",n[1]);return i.join("")}function Wo(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return Uo(t);var r=t.length!=e.length,n="",i=t[0],a=t[1],o=e[0],s=o,l=1;if(r&&(n+="Q"+(a[0]-2*o[0]/3)+","+(a[1]-2*o[1]/3)+","+a[0]+","+a[1],i=t[1],l=2),e.length>1){s=e[1],a=t[l],l++,n+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var c=2;c<e.length;c++,l++)a=t[l],s=e[c],n+="S"+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1]}if(r){var u=t[l];n+="Q"+(a[0]+2*s[0]/3)+","+(a[1]+2*s[1]/3)+","+u[0]+","+u[1]}return n}function Yo(t,e){for(var r,n=[],i=(1-e)/2,a=t[0],o=t[1],s=1,l=t.length;++s<l;)r=a,a=o,o=t[s],n.push([i*(o[0]-r[0]),i*(o[1]-r[1])]);return n}function Xo(t){if(t.length<3)return Uo(t);var e=1,r=t.length,n=t[0],i=n[0],a=n[1],o=[i,i,i,(n=t[1])[0]],s=[a,a,a,n[1]],l=[i,",",a,"L",Zo(Ko,o),",",Zo(Ko,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),Qo(l,o,s);return t.pop(),l.push("L",n),l.join("")}function Zo(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}Vo.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var $o=[0,2/3,1/3,0],Jo=[0,1/3,2/3,0],Ko=[0,1/6,2/3,1/6];function Qo(t,e,r){t.push("C",Zo($o,e),",",Zo($o,r),",",Zo(Jo,e),",",Zo(Jo,r),",",Zo(Ko,e),",",Zo(Ko,r))}function ts(t,e){return(e[1]-t[1])/(e[0]-t[0])}function es(t){for(var e,r,n,i=-1,a=t.length;++i<a;)r=(e=t[i])[0],n=e[1]-Et,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function rs(t){var e=ei,r=ei,n=0,i=ri,a=Wr,o=Uo,s=o.key,l=o,c="L",u=.7;function f(s){var f,h,p,d=[],g=[],m=[],v=-1,y=s.length,x=me(e),b=me(n),_=e===r?function(){return h}:me(r),w=n===i?function(){return p}:me(i);function k(){d.push("M",o(t(m),u),c,l(t(g.reverse()),u),"Z")}for(;++v<y;)a.call(this,f=s[v],v)?(g.push([h=+x.call(this,f,v),p=+b.call(this,f,v)]),m.push([+_.call(this,f,v),+w.call(this,f,v)])):g.length&&(k(),g=[],m=[]);return g.length&&k(),d.length?d.join(""):null}return f.x=function(t){return arguments.length?(e=r=t,f):r},f.x0=function(t){return arguments.length?(e=t,f):e},f.x1=function(t){return arguments.length?(r=t,f):r},f.y=function(t){return arguments.length?(n=i=t,f):i},f.y0=function(t){return arguments.length?(n=t,f):n},f.y1=function(t){return arguments.length?(i=t,f):i},f.defined=function(t){return arguments.length?(a=t,f):a},f.interpolate=function(t){return arguments.length?(s="function"==typeof t?o=t:(o=Vo.get(t)||Uo).key,l=o.reverse||o,c=o.closed?"M":"L",f):s},f.tension=function(t){return arguments.length?(u=t,f):u},f}function ns(t){return t.radius}function is(t){return[t.x,t.y]}function as(){return 64}function os(){return"circle"}function ss(t){var e=Math.sqrt(t/At);return"M0,"+e+"A"+e+","+e+" 0 1,1 0,"+-e+"A"+e+","+e+" 0 1,1 0,"+e+"Z"}t.svg.line.radial=function(){var t=jo(es);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},Ho.reverse=Go,Go.reverse=Ho,t.svg.area=function(){return rs(z)},t.svg.area.radial=function(){var t=rs(es);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},t.svg.chord=function(){var t=Vn,e=Un,r=ns,n=Do,i=Ro;function a(r,n){var i,a,c=o(this,t,r,n),u=o(this,e,r,n);return"M"+c.p0+s(c.r,c.p1,c.a1-c.a0)+(a=u,(i=c).a0==a.a0&&i.a1==a.a1?l(c.r,c.p1,c.r,c.p0):l(c.r,c.p1,u.r,u.p0)+s(u.r,u.p1,u.a1-u.a0)+l(u.r,u.p1,c.r,c.p0))+"Z"}function o(t,e,a,o){var s=e.call(t,a,o),l=r.call(t,s,o),c=n.call(t,s,o)-Et,u=i.call(t,s,o)-Et;return{r:l,a0:c,a1:u,p0:[l*Math.cos(c),l*Math.sin(c)],p1:[l*Math.cos(u),l*Math.sin(u)]}}function s(t,e,r){return"A"+t+","+t+" 0 "+ +(r>At)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return a.radius=function(t){return arguments.length?(r=me(t),a):r},a.source=function(e){return arguments.length?(t=me(e),a):t},a.target=function(t){return arguments.length?(e=me(t),a):e},a.startAngle=function(t){return arguments.length?(n=me(t),a):n},a.endAngle=function(t){return arguments.length?(i=me(t),a):i},a},t.svg.diagonal=function(){var t=Vn,e=Un,r=is;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(e){return arguments.length?(t=me(e),n):t},n.target=function(t){return arguments.length?(e=me(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},t.svg.diagonal.radial=function(){var e=t.svg.diagonal(),r=is,n=e.projection;return e.projection=function(t){return arguments.length?n(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Et;return[r*Math.cos(n),r*Math.sin(n)]}}(r=t)):r},e},t.svg.symbol=function(){var t=os,e=as;function r(r,n){return(ls.get(t.call(this,r,n))||ss)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=me(e),r):t},r.size=function(t){return arguments.length?(e=me(t),r):e},r};var ls=t.map({circle:ss,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*us)),r=e*us;return"M0,"+-e+"L"+r+",0 0,"+e+" "+-r+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/cs),r=e*cs/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/cs),r=e*cs/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});t.svg.symbolTypes=ls.keys();var cs=Math.sqrt(3),us=Math.tan(30*Ct);Y.transition=function(t){for(var e,r,n=ds||++vs,i=bs(t),a=[],o=gs||{time:Date.now(),ease:ia,delay:0,duration:250},s=-1,l=this.length;++s<l;){a.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u<f;)(r=c[u])&&_s(r,u,i,n,o),e.push(r)}return ps(a,i,n)},Y.interrupt=function(t){return this.each(null==t?fs:hs(bs(t)))};var fs=hs(bs());function hs(t){return function(){var e,r,n;(e=this[t])&&(n=e[r=e.active])&&(n.timer.c=null,n.timer.t=NaN,--e.count?delete e[r]:delete this[t],e.active+=.5,n.event&&n.event.interrupt.call(this,this.__data__,n.index))}}function ps(t,e,r){return U(t,ms),t.namespace=e,t.id=r,t}var ds,gs,ms=[],vs=0;function ys(t,e,r,n){var i=t.id,a=t.namespace;return ut(t,"function"==typeof r?function(t,o,s){t[a][i].tween.set(e,n(r.call(t,t.__data__,o,s)))}:(r=n(r),function(t){t[a][i].tween.set(e,r)}))}function xs(t){return null==t&&(t=""),function(){this.textContent=t}}function bs(t){return null==t?"__transition__":"__transition_"+t+"__"}function _s(t,e,r,n,i){var a,o,s,l,c,u=t[r]||(t[r]={active:0,count:0}),f=u[n];function h(r){var i=u.active,h=u[i];for(var d in h&&(h.timer.c=null,h.timer.t=NaN,--u.count,delete u[i],h.event&&h.event.interrupt.call(t,t.__data__,h.index)),u)if(+d<n){var g=u[d];g.timer.c=null,g.timer.t=NaN,--u.count,delete u[d]}o.c=p,Me(function(){return o.c&&p(r||1)&&(o.c=null,o.t=NaN),1},0,a),u.active=n,f.event&&f.event.start.call(t,t.__data__,e),c=[],f.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&&c.push(n)}),l=f.ease,s=f.duration}function p(i){for(var a=i/s,o=l(a),h=c.length;h>0;)c[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}f||(a=i.time,o=Me(function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h},0,a),f=u[n]={tween:new b,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++u.count)}ms.call=Y.call,ms.empty=Y.empty,ms.node=Y.node,ms.size=Y.size,t.transition=function(e,r){return e&&e.transition?ds?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=ms,ms.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=X(t);for(var s=-1,l=this.length;++s<l;){o.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u<f;)(n=c[u])&&(r=t.call(n,n.__data__,u,s))?("__data__"in n&&(r.__data__=n.__data__),_s(r,u,a,i,n[a][i]),e.push(r)):e.push(null)}return ps(o,a,i)},ms.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=Z(t);for(var c=-1,u=this.length;++c<u;)for(var f=this[c],h=-1,p=f.length;++h<p;)if(n=f[h]){a=n[s][o],r=t.call(n,n.__data__,h,c),l.push(e=[]);for(var d=-1,g=r.length;++d<g;)(i=r[d])&&_s(i,d,s,o,a),e.push(i)}return ps(l,s,o)},ms.filter=function(t){var e,r,n=[];"function"!=typeof t&&(t=ct(t));for(var i=0,a=this.length;i<a;i++){n.push(e=[]);for(var o,s=0,l=(o=this[i]).length;s<l;s++)(r=o[s])&&t.call(r,r.__data__,s,i)&&e.push(r)}return ps(n,this.namespace,this.id)},ms.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(t):ut(this,null==e?function(e){e[n][r].tween.remove(t)}:function(i){i[n][r].tween.set(t,e)})},ms.attr=function(e,r){if(arguments.length<2){for(r in e)this.attr(r,e[r]);return this}var n="transform"==e?ga:Zi,i=t.ns.qualify(e);function a(){this.removeAttribute(i)}function o(){this.removeAttributeNS(i.space,i.local)}return ys(this,"attr."+e,r,i.local?function(t){return null==t?o:(t+="",function(){var e,r=this.getAttributeNS(i.space,i.local);return r!==t&&(e=n(r,t),function(t){this.setAttributeNS(i.space,i.local,e(t))})})}:function(t){return null==t?a:(t+="",function(){var e,r=this.getAttribute(i);return r!==t&&(e=n(r,t),function(t){this.setAttribute(i,e(t))})})})},ms.attrTween=function(e,r){var n=t.ns.qualify(e);return this.tween("attr."+e,n.local?function(t,e){var i=r.call(this,t,e,this.getAttributeNS(n.space,n.local));return i&&function(t){this.setAttributeNS(n.space,n.local,i(t))}}:function(t,e){var i=r.call(this,t,e,this.getAttribute(n));return i&&function(t){this.setAttribute(n,i(t))}})},ms.style=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=""),t)this.style(r,t[r],e);return this}r=""}function i(){this.style.removeProperty(t)}return ys(this,"style."+t,e,function(e){return null==e?i:(e+="",function(){var n,i=o(this).getComputedStyle(this,null).getPropertyValue(t);return i!==e&&(n=Zi(i,e),function(e){this.style.setProperty(t,n(e),r)})})})},ms.styleTween=function(t,e,r){return arguments.length<3&&(r=""),this.tween("style."+t,function(n,i){var a=e.call(this,n,i,o(this).getComputedStyle(this,null).getPropertyValue(t));return a&&function(e){this.style.setProperty(t,a(e),r)}})},ms.text=function(t){return ys(this,"text",t,xs)},ms.remove=function(){var t=this.namespace;return this.each("end.transition",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},ms.ease=function(e){var r=this.id,n=this.namespace;return arguments.length<1?this.node()[n][r].ease:("function"!=typeof e&&(e=t.ease.apply(t,arguments)),ut(this,function(t){t[n][r].ease=e}))},ms.delay=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].delay:ut(this,"function"==typeof t?function(n,i,a){n[r][e].delay=+t.call(n,n.__data__,i,a)}:(t=+t,function(n){n[r][e].delay=t}))},ms.duration=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].duration:ut(this,"function"==typeof t?function(n,i,a){n[r][e].duration=Math.max(1,t.call(n,n.__data__,i,a))}:(t=Math.max(1,t),function(n){n[r][e].duration=t}))},ms.each=function(e,r){var n=this.id,i=this.namespace;if(arguments.length<2){var a=gs,o=ds;try{ds=n,ut(this,function(t,r,a){gs=t[i][n],e.call(t,t.__data__,r,a)})}finally{gs=a,ds=o}}else ut(this,function(a){var o=a[i][n];(o.event||(o.event=t.dispatch("start","end","interrupt"))).on(e,r)});return this},ms.transition=function(){for(var t,e,r,n=this.id,i=++vs,a=this.namespace,o=[],s=0,l=this.length;s<l;s++){o.push(t=[]);for(var c,u=0,f=(c=this[s]).length;u<f;u++)(e=c[u])&&_s(e,u,a,i,{time:(r=e[a][n]).time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration}),t.push(e)}return ps(o,a,i)},t.svg.axis=function(){var e,r=t.scale.linear(),i=ws,a=6,o=6,s=3,l=[10],c=null;function u(n){n.each(function(){var n,u=t.select(this),f=this.__chart__||r,h=this.__chart__=r.copy(),p=null==c?h.ticks?h.ticks.apply(h,l):h.domain():c,d=null==e?h.tickFormat?h.tickFormat.apply(h,l):z:e,g=u.selectAll(".tick").data(p,h),m=g.enter().insert("g",".domain").attr("class","tick").style("opacity",kt),v=t.transition(g.exit()).style("opacity",kt).remove(),y=t.transition(g.order()).style("opacity",1),x=Math.max(a,0)+s,b=uo(h),_=u.selectAll(".domain").data([0]),w=(_.enter().append("path").attr("class","domain"),t.transition(_));m.append("line"),m.append("text");var k,M,A,T,S=m.select("line"),E=y.select("line"),C=g.select("text").text(d),L=m.select("text"),P=y.select("text"),O="top"===i||"left"===i?-1:1;if("bottom"===i||"top"===i?(n=Ms,k="x",A="y",M="x2",T="y2",C.attr("dy",O<0?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+b[0]+","+O*o+"V0H"+b[1]+"V"+O*o)):(n=As,k="y",A="x",M="y2",T="x2",C.attr("dy",".32em").style("text-anchor",O<0?"end":"start"),w.attr("d","M"+O*o+","+b[0]+"H0V"+b[1]+"H"+O*o)),S.attr(T,O*a),L.attr(A,O*x),E.attr(M,0).attr(T,O*a),P.attr(k,0).attr(A,O*x),h.rangeBand){var I=h,D=I.rangeBand()/2;f=h=function(t){return I(t)+D}}else f.rangeBand?f=h:v.call(n,h,f);m.call(n,f,h),y.call(n,h,h)})}return u.scale=function(t){return arguments.length?(r=t,u):r},u.orient=function(t){return arguments.length?(i=t in ks?t+"":ws,u):i},u.ticks=function(){return arguments.length?(l=n(arguments),u):l},u.tickValues=function(t){return arguments.length?(c=t,u):c},u.tickFormat=function(t){return arguments.length?(e=t,u):e},u.tickSize=function(t){var e=arguments.length;return e?(a=+t,o=+arguments[e-1],u):a},u.innerTickSize=function(t){return arguments.length?(a=+t,u):a},u.outerTickSize=function(t){return arguments.length?(o=+t,u):o},u.tickPadding=function(t){return arguments.length?(s=+t,u):s},u.tickSubdivide=function(){return arguments.length&&u},u};var ws="bottom",ks={top:1,right:1,bottom:1,left:1};function Ms(t,e,r){t.attr("transform",function(t){var n=e(t);return"translate("+(isFinite(n)?n:r(t))+",0)"})}function As(t,e,r){t.attr("transform",function(t){var n=e(t);return"translate(0,"+(isFinite(n)?n:r(t))+")"})}t.svg.brush=function(){var e,r,n=j(h,"brushstart","brush","brushend"),i=null,a=null,s=[0,0],l=[0,0],c=!0,u=!0,f=Ss[0];function h(e){e.each(function(){var e=t.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",m).on("touchstart.brush",m),r=e.selectAll(".background").data([0]);r.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),e.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var n=e.selectAll(".resize").data(f,z);n.exit().remove(),n.enter().append("g").attr("class",function(t){return"resize "+t}).style("cursor",function(t){return Ts[t]}).append("rect").attr("x",function(t){return/[ew]$/.test(t)?-3:null}).attr("y",function(t){return/^[ns]/.test(t)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),n.style("display",h.empty()?"none":null);var o,s=t.transition(e),l=t.transition(r);i&&(o=uo(i),l.attr("x",o[0]).attr("width",o[1]-o[0]),d(s)),a&&(o=uo(a),l.attr("y",o[0]).attr("height",o[1]-o[0]),g(s)),p(s)})}function p(t){t.selectAll(".resize").attr("transform",function(t){return"translate("+s[+/e$/.test(t)]+","+l[+/^s/.test(t)]+")"})}function d(t){t.select(".extent").attr("x",s[0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function g(t){t.select(".extent").attr("y",l[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",l[1]-l[0])}function m(){var f,m,v=this,y=t.select(t.event.target),x=n.of(v,arguments),b=t.select(v),_=y.datum(),w=!/^(n|s)$/.test(_)&&i,k=!/^(e|w)$/.test(_)&&a,M=y.classed("extent"),A=xt(v),T=t.mouse(v),S=t.select(o(v)).on("keydown.brush",function(){32==t.event.keyCode&&(M||(f=null,T[0]-=s[1],T[1]-=l[1],M=2),F())}).on("keyup.brush",function(){32==t.event.keyCode&&2==M&&(T[0]+=s[1],T[1]+=l[1],M=0,F())});if(t.event.changedTouches?S.on("touchmove.brush",L).on("touchend.brush",P):S.on("mousemove.brush",L).on("mouseup.brush",P),b.interrupt().selectAll("*").interrupt(),M)T[0]=s[0]-T[0],T[1]=l[0]-T[1];else if(_){var E=+/w$/.test(_),C=+/^n/.test(_);m=[s[1-E]-T[0],l[1-C]-T[1]],T[0]=s[E],T[1]=l[C]}else t.event.altKey&&(f=T.slice());function L(){var e=t.mouse(v),r=!1;m&&(e[0]+=m[0],e[1]+=m[1]),M||(t.event.altKey?(f||(f=[(s[0]+s[1])/2,(l[0]+l[1])/2]),T[0]=s[+(e[0]<f[0])],T[1]=l[+(e[1]<f[1])]):f=null),w&&z(e,i,0)&&(d(b),r=!0),k&&z(e,a,1)&&(g(b),r=!0),r&&(p(b),x({type:"brush",mode:M?"move":"resize"}))}function z(t,n,i){var a,o,h=uo(n),p=h[0],d=h[1],g=T[i],m=i?l:s,v=m[1]-m[0];if(M&&(p-=g,d-=v+g),a=(i?u:c)?Math.max(p,Math.min(d,t[i])):t[i],M?o=(a+=g)+v:(f&&(g=Math.max(p,Math.min(d,2*f[i]-a))),g<a?(o=a,a=g):o=g),m[0]!=a||m[1]!=o)return i?r=null:e=null,m[0]=a,m[1]=o,!0}function P(){L(),b.style("pointer-events","all").selectAll(".resize").style("display",h.empty()?"none":null),t.select("body").style("cursor",null),S.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),A(),x({type:"brushend"})}b.style("pointer-events","none").selectAll(".resize").style("display",null),t.select("body").style("cursor",y.style("cursor")),x({type:"brushstart"}),L()}return h.event=function(i){i.each(function(){var i=n.of(this,arguments),a={x:s,y:l,i:e,j:r},o=this.__chart__||a;this.__chart__=a,ds?t.select(this).transition().each("start.brush",function(){e=o.i,r=o.j,s=o.x,l=o.y,i({type:"brushstart"})}).tween("brush:brush",function(){var t=$i(s,a.x),n=$i(l,a.y);return e=r=null,function(e){s=a.x=t(e),l=a.y=n(e),i({type:"brush",mode:"resize"})}}).each("end.brush",function(){e=a.i,r=a.j,i({type:"brush",mode:"resize"}),i({type:"brushend"})}):(i({type:"brushstart"}),i({type:"brush",mode:"resize"}),i({type:"brushend"}))})},h.x=function(t){return arguments.length?(f=Ss[!(i=t)<<1|!a],h):i},h.y=function(t){return arguments.length?(f=Ss[!i<<1|!(a=t)],h):a},h.clamp=function(t){return arguments.length?(i&&a?(c=!!t[0],u=!!t[1]):i?c=!!t:a&&(u=!!t),h):i&&a?[c,u]:i?c:a?u:null},h.extent=function(t){var n,o,c,u,f;return arguments.length?(i&&(n=t[0],o=t[1],a&&(n=n[0],o=o[0]),e=[n,o],i.invert&&(n=i(n),o=i(o)),o<n&&(f=n,n=o,o=f),n==s[0]&&o==s[1]||(s=[n,o])),a&&(c=t[0],u=t[1],i&&(c=c[1],u=u[1]),r=[c,u],a.invert&&(c=a(c),u=a(u)),u<c&&(f=c,c=u,u=f),c==l[0]&&u==l[1]||(l=[c,u])),h):(i&&(e?(n=e[0],o=e[1]):(n=s[0],o=s[1],i.invert&&(n=i.invert(n),o=i.invert(o)),o<n&&(f=n,n=o,o=f))),a&&(r?(c=r[0],u=r[1]):(c=l[0],u=l[1],a.invert&&(c=a.invert(c),u=a.invert(u)),u<c&&(f=c,c=u,u=f))),i&&a?[[n,c],[o,u]]:i?[n,o]:a&&[c,u])},h.clear=function(){return h.empty()||(s=[0,0],l=[0,0],e=r=null),h},h.empty=function(){return!!i&&s[0]==s[1]||!!a&&l[0]==l[1]},t.rebind(h,n,"on")};var Ts={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Ss=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Es=Oe.format=sr.timeFormat,Cs=Es.utc,Ls=Cs("%Y-%m-%dT%H:%M:%S.%LZ");function zs(t){return t.toISOString()}function Ps(e,r,n){function i(t){return e(t)}function a(e,n){var i=(e[1]-e[0])/n,a=t.bisect(Is,i);return a==Is.length?[r.year,xo(e.map(function(t){return t/31536e6}),n)[2]]:a?r[i/Is[a-1]<Is[a]/i?a-1:a]:[Bs,xo(e,n)[2]]}return i.invert=function(t){return Os(e.invert(t))},i.domain=function(t){return arguments.length?(e.domain(t),i):e.domain().map(Os)},i.nice=function(t,e){var r=i.domain(),n=co(r),o=null==t?a(n,10):"number"==typeof t&&a(n,t);function s(r){return!isNaN(r)&&!t.range(r,Os(+r+1),e).length}return o&&(t=o[0],e=o[1]),i.domain(ho(r,e>1?{floor:function(e){for(;s(e=t.floor(e));)e=Os(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=Os(+e+1);return e}}:t))},i.ticks=function(t,e){var r=co(i.domain()),n=null==t?a(r,10):"number"==typeof t?a(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],Os(+r[1]+1),e<1?1:e)},i.tickFormat=function(){return n},i.copy=function(){return Ps(e.copy(),r,n)},vo(i,e)}function Os(t){return new Date(t)}Es.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?zs:Ls,zs.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},zs.toString=Ls.toString,Oe.second=Be(function(t){return new Ie(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),Oe.seconds=Oe.second.range,Oe.seconds.utc=Oe.second.utc.range,Oe.minute=Be(function(t){return new Ie(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),Oe.minutes=Oe.minute.range,Oe.minutes.utc=Oe.minute.utc.range,Oe.hour=Be(function(t){var e=t.getTimezoneOffset()/60;return new Ie(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),Oe.hours=Oe.hour.range,Oe.hours.utc=Oe.hour.utc.range,Oe.month=Be(function(t){return(t=Oe.day(t)).setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),Oe.months=Oe.month.range,Oe.months.utc=Oe.month.utc.range;var Is=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Ds=[[Oe.second,1],[Oe.second,5],[Oe.second,15],[Oe.second,30],[Oe.minute,1],[Oe.minute,5],[Oe.minute,15],[Oe.minute,30],[Oe.hour,1],[Oe.hour,3],[Oe.hour,6],[Oe.hour,12],[Oe.day,1],[Oe.day,2],[Oe.week,1],[Oe.month,1],[Oe.month,3],[Oe.year,1]],Rs=Es.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",Wr]]),Bs={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(Os)},floor:z,ceil:z};Ds.year=Oe.year,Oe.scale=function(){return Ps(t.scale.linear(),Ds,Rs)};var Fs=Ds.map(function(t){return[t[0].utc,t[1]]}),Ns=Cs.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",Wr]]);function js(t){return JSON.parse(t.responseText)}function Vs(t){var e=i.createRange();return e.selectNode(i.body),e.createContextualFragment(t.responseText)}Fs.year=Oe.year.utc,Oe.scale.utc=function(){return Ps(t.scale.linear(),Fs,Ns)},t.text=ve(function(t){return t.responseText}),t.json=function(t,e){return ye(t,"application/json",js,e)},t.html=function(t,e){return ye(t,"text/html",Vs,e)},t.xml=ve(function(t){return t.responseXML}),"object"==typeof e&&e.exports?e.exports=t:this.d3=t}()},{}],148:[function(t,e,r){e.exports=function(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]}},{}],149:[function(t,e,r){"use strict";var n=t("incremental-convex-hull"),i=t("uniq");function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a<i;++a){var o=n[a]-r[a];if(o)return o}return 0}e.exports=function(t,e){var r=t.length;if(0===r)return[];var s=t[0].length;if(s<1)return[];if(1===s)return function(t,e,r){if(1===t)return r?[[-1,0]]:[];var n=e.map(function(t,e){return[t[0],e]});n.sort(function(t,e){return t[0]-e[0]});for(var i=new Array(t-1),a=1;a<t;++a){var o=n[a-1],s=n[a];i[a-1]=[o[1],s[1]]}r&&i.push([-1,i[0][1]],[i[t-1][1],-1]);return i}(r,t,e);for(var l=new Array(r),c=1,u=0;u<r;++u){for(var f=t[u],h=new Array(s+1),p=0,d=0;d<s;++d){var g=f[d];h[d]=g,p+=g*g}h[s]=p,l[u]=new a(h,u),c=Math.max(p,c)}i(l,o),r=l.length;for(var m=new Array(r+s+1),v=new Array(r+s+1),y=(s+1)*(s+1)*c,x=new Array(s+1),u=0;u<=s;++u)x[u]=0;x[s]=y,m[0]=x.slice(),v[0]=-1;for(var u=0;u<=s;++u){var h=x.slice();h[u]=1,m[u+1]=h,v[u+1]=-1}for(var u=0;u<r;++u){var b=l[u];m[u+s+1]=b.point,v[u+s+1]=b.index}var _=n(m,!1);_=e?_.filter(function(t){for(var e=0,r=0;r<=s;++r){var n=v[t[r]];if(n<0&&++e>=2)return!1;t[r]=n}return!0}):_.filter(function(t){for(var e=0;e<=s;++e){var r=v[t[e]];if(r<0)return!1;t[e]=r}return!0});if(1&s)for(var u=0;u<_.length;++u){var b=_[u],h=b[0];b[0]=b[1],b[1]=h}return _}},{"incremental-convex-hull":394,uniq:521}],150:[function(t,e,r){"use strict";e.exports=a;var n=(a.canvas=document.createElement("canvas")).getContext("2d"),i=o([32,126]);function a(t,e){Array.isArray(t)&&(t=t.join(", "));var r,a={},s=16,l=.05;e&&(2===e.length&&"number"==typeof e[0]?r=o(e):Array.isArray(e)?r=e:(e.o?r=o(e.o):e.pairs&&(r=e.pairs),e.fontSize&&(s=e.fontSize),null!=e.threshold&&(l=e.threshold))),r||(r=i),n.font=s+"px "+t;for(var c=0;c<r.length;c++){var u=r[c],f=n.measureText(u[0]).width+n.measureText(u[1]).width,h=n.measureText(u).width;if(Math.abs(f-h)>s*l){var p=(h-f)/s;a[u]=1e3*p}}return a}function o(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i<t[1];i++){var a=n+String.fromCharCode(i);e.push(a)}return e}a.createPairs=o,a.ascii=i},{}],151:[function(t,e,r){(function(t){var r=!1;if("undefined"!=typeof Float64Array){var n=new Float64Array(1),i=new Uint32Array(n.buffer);if(n[0]=1,r=!0,1072693248===i[1]){e.exports=function(t){return n[0]=t,[i[0],i[1]]},e.exports.pack=function(t,e){return i[0]=t,i[1]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[0]},e.exports.hi=function(t){return n[0]=t,i[1]}}else if(1072693248===i[0]){e.exports=function(t){return n[0]=t,[i[1],i[0]]},e.exports.pack=function(t,e){return i[1]=t,i[0]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[1]},e.exports.hi=function(t){return n[0]=t,i[0]}}else r=!1}if(!r){var a=new t(8);e.exports=function(t){return a.writeDoubleLE(t,0,!0),[a.readUInt32LE(0,!0),a.readUInt32LE(4,!0)]},e.exports.pack=function(t,e){return a.writeUInt32LE(t,0,!0),a.writeUInt32LE(e,4,!0),a.readDoubleLE(0,!0)},e.exports.lo=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(0,!0)},e.exports.hi=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(4,!0)}}e.exports.sign=function(t){return e.exports.hi(t)>>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this,t("buffer").Buffer)},{buffer:92}],152:[function(t,e,r){var n=t("abs-svg-path"),i=t("normalize-svg-path"),a={M:"moveTo",C:"bezierCurveTo"};e.exports=function(t,e){t.beginPath(),i(n(e)).forEach(function(e){var r=e[0],n=e.slice(1);t[a[r]].apply(t,n)}),t.closePath()}},{"abs-svg-path":47,"normalize-svg-path":432}],153:[function(t,e,r){e.exports=function(t){switch(t){case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"uint8":return Uint8Array;case"uint16":return Uint16Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;case"array":return Array;case"uint8_clamped":return Uint8ClampedArray}}},{}],154:[function(t,e,r){"use strict";e.exports=function(t,e){switch("undefined"==typeof e&&(e=0),typeof t){case"number":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n<t;++n)r[n]=e;return r}(0|t,e);break;case"object":if("number"==typeof t.length)return function t(e,r,n){var i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a<i;++a)o[a]=r;else for(a=0;a<i;++a)o[a]=t(e,r,n+1);return o}(t,e,0)}return[]}},{}],155:[function(t,e,r){"use strict";function n(t,e,r){r=r||2;var n,s,l,c,u,p,g,m=e&&e.length,v=m?e[0]*r:t.length,y=i(t,0,v,r,!0),x=[];if(!y)return x;if(m&&(y=function(t,e,r,n){var o,s,l,c,u,p=[];for(o=0,s=e.length;o<s;o++)l=e[o]*n,c=o<s-1?e[o+1]*n:t.length,(u=i(t,l,c,n,!1))===u.next&&(u.steiner=!0),p.push(d(u));for(p.sort(f),o=0;o<p.length;o++)h(p[o],r),r=a(r,r.next);return r}(t,e,y,r)),t.length>80*r){n=l=t[0],s=c=t[1];for(var b=r;b<v;b+=r)(u=t[b])<n&&(n=u),(p=t[b+1])<s&&(s=p),u>l&&(l=u),p>c&&(c=p);g=0!==(g=Math.max(l-n,c-s))?1/g:0}return o(y,x,r,n,s,g),x}function i(t,e,r,n,i){var a,o;if(i===A(t,e,r,n)>0)for(a=e;a<r;a+=n)o=w(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=w(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==v(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,f,h){if(t){!h&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=p(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,f);for(var d,g,m=t;t.prev!==t.next;)if(d=t.prev,g=t.next,f?l(t,n,i,f):s(t))e.push(d.i/r),e.push(t.i/r),e.push(g.i/r),k(t),t=g.next,m=g.next;else if((t=g)===m){h?1===h?o(t=c(t,e,r),e,r,n,i,f,2):2===h&&u(t,e,r,n,i,f):o(a(t),e,r,n,i,f,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(v(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(g(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&v(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(v(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,c=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=p(s,l,e,r,n),h=p(c,u,e,r,n),d=t.prevZ,m=t.nextZ;d&&d.z>=f&&m&&m.z<=h;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;d&&d.z>=f;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;m&&m.z<=h;){if(m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function c(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!y(i,a)&&x(i,n,n.next,a)&&b(i,a)&&b(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),k(n),k(n.next),n=t=a),n=n.next}while(n!==t);return n}function u(t,e,r,n,i,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&m(l,c)){var u=_(l,c);return l=a(l,l.next),u=a(u,u.next),o(l,e,r,n,i,s),void o(u,e,r,n,i,s)}c=c.next}l=l.next}while(l!==t)}function f(t,e){return t.x-e.x}function h(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(i===o)return r.prev;var l,c=r,u=r.x,f=r.y,h=1/0;n=r.next;for(;n!==c;)i>=n.x&&n.x>=u&&i!==n.x&&g(a<f?i:o,a,u,f,a<f?o:i,a,n.x,n.y)&&((l=Math.abs(a-n.y)/(i-n.x))<h||l===h&&n.x>r.x)&&b(n,t)&&(r=n,h=l),n=n.next;return r}(t,e)){var r=_(e,t);a(r,r.next)}}function p(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function d(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function g(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function m(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&x(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&b(t,e)&&b(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)}function v(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function x(t,e,r,n){return!!(y(t,e)&&y(r,n)||y(t,n)&&y(r,e))||v(t,e,r)>0!=v(t,e,n)>0&&v(r,n,t)>0!=v(r,n,e)>0}function b(t,e){return v(t.prev,t,t.next)<0?v(t,e,t.next)>=0&&v(t,t.prev,e)>=0:v(t,e,t.prev)<0||v(t,t.next,e)<0}function _(t,e){var r=new M(t.i,t.x,t.y),n=new M(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function w(t,e,r,n){var i=new M(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function M(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function A(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}e.exports=n,e.exports.default=n,n.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(A(t,0,a,r));if(i)for(var s=0,l=e.length;s<l;s++){var c=e[s]*r,u=s<l-1?e[s+1]*r:t.length;o-=Math.abs(A(t,c,u,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;f+=Math.abs((t[h]-t[d])*(t[p+1]-t[h+1])-(t[h]-t[p])*(t[d+1]-t[h+1]))}return 0===o&&0===f?0:Math.abs((f-o)/o)},n.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],156:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if("number"!=typeof e){e=0;for(var i=0;i<r;++i){var a=t[i];e=Math.max(e,a[0],a[1])}e=1+(0|e)}e|=0;for(var o=new Array(e),i=0;i<e;++i)o[i]=[];for(var i=0;i<r;++i){var a=t[i];o[a[0]].push(a[1]),o[a[1]].push(a[0])}for(var s=0;s<e;++s)n(o[s],function(t,e){return t-e});return o};var n=t("uniq")},{uniq:521}],157:[function(t,e,r){"use strict";var n=t("../../object/valid-value");e.exports=function(){return n(this).length=0,this}},{"../../object/valid-value":189}],158:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Array.from:t("./shim")},{"./is-implemented":159,"./shim":160}],159:[function(t,e,r){"use strict";e.exports=function(){var t,e,r=Array.from;return"function"==typeof r&&(e=r(t=["raz","dwa"]),Boolean(e&&e!==t&&"dwa"===e[1]))}},{}],160:[function(t,e,r){"use strict";var n=t("es6-symbol").iterator,i=t("../../function/is-arguments"),a=t("../../function/is-function"),o=t("../../number/to-pos-integer"),s=t("../../object/valid-callable"),l=t("../../object/valid-value"),c=t("../../object/is-value"),u=t("../../string/is-string"),f=Array.isArray,h=Function.prototype.call,p={configurable:!0,enumerable:!0,writable:!0,value:null},d=Object.defineProperty;e.exports=function(t){var e,r,g,m,v,y,x,b,_,w,k=arguments[1],M=arguments[2];if(t=Object(l(t)),c(k)&&s(k),this&&this!==Array&&a(this))e=this;else{if(!k){if(i(t))return 1!==(v=t.length)?Array.apply(null,t):((m=new Array(1))[0]=t[0],m);if(f(t)){for(m=new Array(v=t.length),r=0;r<v;++r)m[r]=t[r];return m}}m=[]}if(!f(t))if(void 0!==(_=t[n])){for(x=s(_).call(t),e&&(m=new e),b=x.next(),r=0;!b.done;)w=k?h.call(k,M,b.value,r):b.value,e?(p.value=w,d(m,r,p)):m[r]=w,b=x.next(),++r;v=r}else if(u(t)){for(v=t.length,e&&(m=new e),r=0,g=0;r<v;++r)w=t[r],r+1<v&&(y=w.charCodeAt(0))>=55296&&y<=56319&&(w+=t[++r]),w=k?h.call(k,M,w,g):w,e?(p.value=w,d(m,g,p)):m[g]=w,++g;v=g}if(void 0===v)for(v=o(t.length),e&&(m=new e(v)),r=0;r<v;++r)w=k?h.call(k,M,t[r],r):t[r],e?(p.value=w,d(m,r,p)):m[r]=w;return e&&(p.value=null,m.length=v),m}},{"../../function/is-arguments":161,"../../function/is-function":162,"../../number/to-pos-integer":168,"../../object/is-value":178,"../../object/valid-callable":187,"../../object/valid-value":189,"../../string/is-string":193,"es6-symbol":203}],161:[function(t,e,r){"use strict";var n=Object.prototype.toString,i=n.call(function(){return arguments}());e.exports=function(t){return n.call(t)===i}},{}],162:[function(t,e,r){"use strict";var n=Object.prototype.toString,i=n.call(t("./noop"));e.exports=function(t){return"function"==typeof t&&n.call(t)===i}},{"./noop":163}],163:[function(t,e,r){"use strict";e.exports=function(){}},{}],164:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Math.sign:t("./shim")},{"./is-implemented":165,"./shim":166}],165:[function(t,e,r){"use strict";e.exports=function(){var t=Math.sign;return"function"==typeof t&&(1===t(10)&&-1===t(-20))}},{}],166:[function(t,e,r){"use strict";e.exports=function(t){return t=Number(t),isNaN(t)||0===t?t:t>0?1:-1}},{}],167:[function(t,e,r){"use strict";var n=t("../math/sign"),i=Math.abs,a=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},{"../math/sign":164}],168:[function(t,e,r){"use strict";var n=t("./to-integer"),i=Math.max;e.exports=function(t){return i(0,n(t))}},{"./to-integer":167}],169:[function(t,e,r){"use strict";var n=t("./valid-callable"),i=t("./valid-value"),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;e.exports=function(t,e){return function(r,c){var u,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(c),u=s(r),h&&u.sort("function"==typeof h?a.call(h,r):void 0),"function"!=typeof t&&(t=u[t]),o.call(t,u,function(t,n){return l.call(r,t)?o.call(c,f,r[t],t,r,n):e})}}},{"./valid-callable":187,"./valid-value":189}],170:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.assign:t("./shim")},{"./is-implemented":171,"./shim":172}],171:[function(t,e,r){"use strict";e.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},{}],172:[function(t,e,r){"use strict";var n=t("../keys"),i=t("../valid-value"),a=Math.max;e.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o<l;++o)e=arguments[o],n(e).forEach(s);if(void 0!==r)throw r;return t}},{"../keys":179,"../valid-value":189}],173:[function(t,e,r){"use strict";var n=t("../array/from"),i=t("./assign"),a=t("./valid-value");e.exports=function(t){var e=Object(a(t)),r=arguments[1],o=Object(arguments[2]);if(e!==t&&!r)return e;var s={};return r?n(r,function(e){(o.ensure||e in t)&&(s[e]=t[e])}):i(s,t),s}},{"../array/from":158,"./assign":170,"./valid-value":189}],174:[function(t,e,r){"use strict";var n,i,a,o,s=Object.create;t("./set-prototype-of/is-implemented")()||(n=t("./set-prototype-of/shim")),e.exports=n?1!==n.level?s:(i={},a={},o={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(t){a[t]="__proto__"!==t?o:{configurable:!0,enumerable:!1,writable:!0,value:void 0}}),Object.defineProperties(i,a),Object.defineProperty(n,"nullPolyfill",{configurable:!1,enumerable:!1,writable:!1,value:i}),function(t,e){return s(null===t?i:t,e)}):s},{"./set-prototype-of/is-implemented":185,"./set-prototype-of/shim":186}],175:[function(t,e,r){"use strict";e.exports=t("./_iterate")("forEach")},{"./_iterate":169}],176:[function(t,e,r){"use strict";e.exports=function(t){return"function"==typeof t}},{}],177:[function(t,e,r){"use strict";var n=t("./is-value"),i={function:!0,object:!0};e.exports=function(t){return n(t)&&i[typeof t]||!1}},{"./is-value":178}],178:[function(t,e,r){"use strict";var n=t("../function/noop")();e.exports=function(t){return t!==n&&null!==t}},{"../function/noop":163}],179:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.keys:t("./shim")},{"./is-implemented":180,"./shim":181}],180:[function(t,e,r){"use strict";e.exports=function(){try{return Object.keys("primitive"),!0}catch(t){return!1}}},{}],181:[function(t,e,r){"use strict";var n=t("../is-value"),i=Object.keys;e.exports=function(t){return i(n(t)?Object(t):t)}},{"../is-value":178}],182:[function(t,e,r){"use strict";var n=t("./valid-callable"),i=t("./for-each"),a=Function.prototype.call;e.exports=function(t,e){var r={},o=arguments[2];return n(e),i(t,function(t,n,i,s){r[n]=a.call(e,o,t,n,i,s)}),r}},{"./for-each":175,"./valid-callable":187}],183:[function(t,e,r){"use strict";var n=t("./is-value"),i=Array.prototype.forEach,a=Object.create;e.exports=function(t){var e=a(null);return i.call(arguments,function(t){n(t)&&function(t,e){var r;for(r in t)e[r]=t[r]}(Object(t),e)}),e}},{"./is-value":178}],184:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.setPrototypeOf:t("./shim")},{"./is-implemented":185,"./shim":186}],185:[function(t,e,r){"use strict";var n=Object.create,i=Object.getPrototypeOf,a={};e.exports=function(){var t=Object.setPrototypeOf,e=arguments[0]||n;return"function"==typeof t&&i(t(e(null),a))===a}},{}],186:[function(t,e,r){"use strict";var n,i,a,o,s=t("../is-object"),l=t("../valid-value"),c=Object.prototype.isPrototypeOf,u=Object.defineProperty,f={configurable:!0,enumerable:!1,writable:!0,value:void 0};n=function(t,e){if(l(t),null===e||s(e))return t;throw new TypeError("Prototype must be null or an object")},e.exports=(i=function(){var t,e=Object.create(null),r={},n=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__");if(n){try{(t=n.set).call(e,r)}catch(t){}if(Object.getPrototypeOf(e)===r)return{set:t,level:2}}return e.__proto__=r,Object.getPrototypeOf(e)===r?{level:2}:((e={}).__proto__=r,Object.getPrototypeOf(e)===r&&{level:1})}())?(2===i.level?i.set?(o=i.set,a=function(t,e){return o.call(n(t,e),e),t}):a=function(t,e){return n(t,e).__proto__=e,t}:a=function t(e,r){var i;return n(e,r),(i=c.call(t.nullPolyfill,e))&&delete t.nullPolyfill.__proto__,null===r&&(r=t.nullPolyfill),e.__proto__=r,i&&u(t.nullPolyfill,"__proto__",f),e},Object.defineProperty(a,"level",{configurable:!1,enumerable:!1,writable:!1,value:i.level})):null,t("../create")},{"../create":174,"../is-object":177,"../valid-value":189}],187:[function(t,e,r){"use strict";e.exports=function(t){if("function"!=typeof t)throw new TypeError(t+" is not a function");return t}},{}],188:[function(t,e,r){"use strict";var n=t("./is-object");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not an Object");return t}},{"./is-object":177}],189:[function(t,e,r){"use strict";var n=t("./is-value");e.exports=function(t){if(!n(t))throw new TypeError("Cannot use null or undefined");return t}},{"./is-value":178}],190:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?String.prototype.contains:t("./shim")},{"./is-implemented":191,"./shim":192}],191:[function(t,e,r){"use strict";var n="razdwatrzy";e.exports=function(){return"function"==typeof n.contains&&(!0===n.contains("dwa")&&!1===n.contains("foo"))}},{}],192:[function(t,e,r){"use strict";var n=String.prototype.indexOf;e.exports=function(t){return n.call(this,t,arguments[1])>-1}},{}],193:[function(t,e,r){"use strict";var n=Object.prototype.toString,i=n.call("");e.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||n.call(t)===i)||!1}},{}],194:[function(t,e,r){"use strict";var n=Object.create(null),i=Math.random;e.exports=function(){var t;do{t=i().toString(36).slice(2)}while(n[t]);return t}},{}],195:[function(t,e,r){"use strict";var n,i=t("es5-ext/object/set-prototype-of"),a=t("es5-ext/string/#/contains"),o=t("d"),s=t("es6-symbol"),l=t("./"),c=Object.defineProperty;n=e.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?a.call(e,"key+value")?"key+value":a.call(e,"key")?"key":"value":"value",c(this,"__kind__",o("",e))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o(function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t})}),c(n.prototype,s.toStringTag,o("c","Array Iterator"))},{"./":198,d:138,"es5-ext/object/set-prototype-of":184,"es5-ext/string/#/contains":190,"es6-symbol":203}],196:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),i=t("es5-ext/object/valid-callable"),a=t("es5-ext/string/is-string"),o=t("./get"),s=Array.isArray,l=Function.prototype.call,c=Array.prototype.some;e.exports=function(t,e){var r,u,f,h,p,d,g,m,v=arguments[2];if(s(t)||n(t)?r="array":a(t)?r="string":t=o(t),i(e),f=function(){h=!0},"array"!==r)if("string"!==r)for(u=t.next();!u.done;){if(l.call(e,v,u.value,f),h)return;u=t.next()}else for(d=t.length,p=0;p<d&&(g=t[p],p+1<d&&(m=g.charCodeAt(0))>=55296&&m<=56319&&(g+=t[++p]),l.call(e,v,g,f),!h);++p);else c.call(t,function(t){return l.call(e,v,t,f),h})}},{"./get":197,"es5-ext/function/is-arguments":161,"es5-ext/object/valid-callable":187,"es5-ext/string/is-string":193}],197:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),i=t("es5-ext/string/is-string"),a=t("./array"),o=t("./string"),s=t("./valid-iterable"),l=t("es6-symbol").iterator;e.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},{"./array":195,"./string":200,"./valid-iterable":201,"es5-ext/function/is-arguments":161,"es5-ext/string/is-string":193,"es6-symbol":203}],198:[function(t,e,r){"use strict";var n,i=t("es5-ext/array/#/clear"),a=t("es5-ext/object/assign"),o=t("es5-ext/object/valid-callable"),s=t("es5-ext/object/valid-value"),l=t("d"),c=t("d/auto-bind"),u=t("es6-symbol"),f=Object.defineProperty,h=Object.defineProperties;e.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");h(this,{__list__:l("w",s(t)),__context__:l("w",e),__nextIndex__:l("w",0)}),e&&(o(e.on),e.on("_add",this._onAdd),e.on("_delete",this._onDelete),e.on("_clear",this._onClear))},delete n.prototype.constructor,h(n.prototype,a({_next:l(function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__<this.__list__.length?this.__nextIndex__++:void this._unBind()}),next:l(function(){return this._createResult(this._next())}),_createResult:l(function(t){return void 0===t?{done:!0,value:void 0}:{done:!1,value:this._resolve(t)}}),_resolve:l(function(t){return this.__list__[t]}),_unBind:l(function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off("_add",this._onAdd),this.__context__.off("_delete",this._onDelete),this.__context__.off("_clear",this._onClear),this.__context__=null)}),toString:l(function(){return"[object "+(this[u.toStringTag]||"Object")+"]"})},c({_onAdd:l(function(t){t>=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach(function(e,r){e>=t&&(this.__redo__[r]=++e)},this),this.__redo__.push(t)):f(this,"__redo__",l("c",[t])))}),_onDelete:l(function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach(function(e,r){e>t&&(this.__redo__[r]=--e)},this)))}),_onClear:l(function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0})}))),f(n.prototype,u.iterator,l(function(){return this}))},{d:138,"d/auto-bind":137,"es5-ext/array/#/clear":157,"es5-ext/object/assign":170,"es5-ext/object/valid-callable":187,"es5-ext/object/valid-value":189,"es6-symbol":203}],199:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),i=t("es5-ext/object/is-value"),a=t("es5-ext/string/is-string"),o=t("es6-symbol").iterator,s=Array.isArray;e.exports=function(t){return!!i(t)&&(!!s(t)||(!!a(t)||(!!n(t)||"function"==typeof t[o])))}},{"es5-ext/function/is-arguments":161,"es5-ext/object/is-value":178,"es5-ext/string/is-string":193,"es6-symbol":203}],200:[function(t,e,r){"use strict";var n,i=t("es5-ext/object/set-prototype-of"),a=t("d"),o=t("es6-symbol"),s=t("./"),l=Object.defineProperty;n=e.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",a("",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a(function(){if(this.__list__)return this.__nextIndex__<this.__length__?this.__nextIndex__++:void this._unBind()}),_resolve:a(function(t){var e,r=this.__list__[t];return this.__nextIndex__===this.__length__?r:(e=r.charCodeAt(0))>=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r})}),l(n.prototype,o.toStringTag,a("c","String Iterator"))},{"./":198,d:138,"es5-ext/object/set-prototype-of":184,"es6-symbol":203}],201:[function(t,e,r){"use strict";var n=t("./is-iterable");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},{"./is-iterable":199}],202:[function(t,e,r){(function(n,i){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?e.exports=n():t.ES6Promise=n()}(this,function(){"use strict";function e(t){return"function"==typeof t}var r=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},a=0,o=void 0,s=void 0,l=function(t,e){g[a]=t,g[a+1]=e,2===(a+=2)&&(s?s(m):_())};var c="undefined"!=typeof window?window:void 0,u=c||{},f=u.MutationObserver||u.WebKitMutationObserver,h="undefined"==typeof self&&"undefined"!=typeof n&&"[object process]"==={}.toString.call(n),p="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function d(){var t=setTimeout;return function(){return t(m,1)}}var g=new Array(1e3);function m(){for(var t=0;t<a;t+=2){(0,g[t])(g[t+1]),g[t]=void 0,g[t+1]=void 0}a=0}var v,y,x,b,_=void 0;function w(t,e){var r=arguments,n=this,i=new this.constructor(A);void 0===i[M]&&U(i);var a,o=n._state;return o?(a=r[o-1],l(function(){return j(o,i,a,n._result)})):R(n,i,t,e),i}function k(t){if(t&&"object"==typeof t&&t.constructor===this)return t;var e=new this(A);return P(e,t),e}h?_=function(){return n.nextTick(m)}:f?(y=0,x=new f(m),b=document.createTextNode(""),x.observe(b,{characterData:!0}),_=function(){b.data=y=++y%2}):p?((v=new MessageChannel).port1.onmessage=m,_=function(){return v.port2.postMessage(0)}):_=void 0===c&&"function"==typeof t?function(){try{var e=t("vertx");return o=e.runOnLoop||e.runOnContext,function(){o(m)}}catch(t){return d()}}():d();var M=Math.random().toString(36).substring(16);function A(){}var T=void 0,S=1,E=2,C=new F;function L(t){try{return t.then}catch(t){return C.error=t,C}}function z(t,r,n){r.constructor===t.constructor&&n===w&&r.constructor.resolve===k?function(t,e){e._state===S?I(t,e._result):e._state===E?D(t,e._result):R(e,void 0,function(e){return P(t,e)},function(e){return D(t,e)})}(t,r):n===C?D(t,C.error):void 0===n?I(t,r):e(n)?function(t,e,r){l(function(t){var n=!1,i=function(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}(r,e,function(r){n||(n=!0,e!==r?P(t,r):I(t,r))},function(e){n||(n=!0,D(t,e))},t._label);!n&&i&&(n=!0,D(t,i))},t)}(t,r,n):I(t,r)}function P(t,e){var r;t===e?D(t,new TypeError("You cannot resolve a promise with itself")):"function"==typeof(r=e)||"object"==typeof r&&null!==r?z(t,e,L(e)):I(t,e)}function O(t){t._onerror&&t._onerror(t._result),B(t)}function I(t,e){t._state===T&&(t._result=e,t._state=S,0!==t._subscribers.length&&l(B,t))}function D(t,e){t._state===T&&(t._state=E,t._result=e,l(O,t))}function R(t,e,r,n){var i=t._subscribers,a=i.length;t._onerror=null,i[a]=e,i[a+S]=r,i[a+E]=n,0===a&&t._state&&l(B,t)}function B(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,i=void 0,a=t._result,o=0;o<e.length;o+=3)n=e[o],i=e[o+r],n?j(r,n,i,a):i(a);t._subscribers.length=0}}function F(){this.error=null}var N=new F;function j(t,r,n,i){var a=e(n),o=void 0,s=void 0,l=void 0,c=void 0;if(a){if((o=function(t,e){try{return t(e)}catch(t){return N.error=t,N}}(n,i))===N?(c=!0,s=o.error,o=null):l=!0,r===o)return void D(r,new TypeError("A promises callback cannot return that same promise."))}else o=i,l=!0;r._state!==T||(a&&l?P(r,o):c?D(r,s):t===S?I(r,o):t===E&&D(r,o))}var V=0;function U(t){t[M]=V++,t._state=void 0,t._result=void 0,t._subscribers=[]}function q(t,e){this._instanceConstructor=t,this.promise=new t(A),this.promise[M]||U(this.promise),r(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?I(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&I(this.promise,this._result))):D(this.promise,new Error("Array Methods must be provided an Array"))}function H(t){this[M]=V++,this._result=this._state=void 0,this._subscribers=[],A!==t&&("function"!=typeof t&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof H?function(t,e){try{e(function(e){P(t,e)},function(e){D(t,e)})}catch(e){D(t,e)}}(this,t):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}function G(){var t=void 0;if("undefined"!=typeof i)t=i;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(t){throw new Error("polyfill failed because global object is unavailable in this environment")}var e=t.Promise;if(e){var r=null;try{r=Object.prototype.toString.call(e.resolve())}catch(t){}if("[object Promise]"===r&&!e.cast)return}t.Promise=H}return q.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===T&&r<t;r++)this._eachEntry(e[r],r)},q.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===k){var i=L(t);if(i===w&&t._state!==T)this._settledAt(t._state,e,t._result);else if("function"!=typeof i)this._remaining--,this._result[e]=t;else if(r===H){var a=new r(A);z(a,t,i),this._willSettleAt(a,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},q.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===T&&(this._remaining--,t===E?D(n,r):this._result[e]=r),0===this._remaining&&I(n,this._result)},q.prototype._willSettleAt=function(t,e){var r=this;R(t,void 0,function(t){return r._settledAt(S,e,t)},function(t){return r._settledAt(E,e,t)})},H.all=function(t){return new q(this,t).promise},H.race=function(t){var e=this;return r(t)?new e(function(r,n){for(var i=t.length,a=0;a<i;a++)e.resolve(t[a]).then(r,n)}):new e(function(t,e){return e(new TypeError("You must pass an array to race."))})},H.resolve=k,H.reject=function(t){var e=new this(A);return D(e,t),e},H._setScheduler=function(t){s=t},H._setAsap=function(t){l=t},H._asap=l,H.prototype={constructor:H,then:w,catch:function(t){return this.then(null,t)}},G(),H.polyfill=G,H.Promise=H,H})}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:462}],203:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Symbol:t("./polyfill")},{"./is-implemented":204,"./polyfill":206}],204:[function(t,e,r){"use strict";var n={object:!0,symbol:!0};e.exports=function(){var t;if("function"!=typeof Symbol)return!1;t=Symbol("test symbol");try{String(t)}catch(t){return!1}return!!n[typeof Symbol.iterator]&&(!!n[typeof Symbol.toPrimitive]&&!!n[typeof Symbol.toStringTag])}},{}],205:[function(t,e,r){"use strict";e.exports=function(t){return!!t&&("symbol"==typeof t||!!t.constructor&&("Symbol"===t.constructor.name&&"Symbol"===t[t.constructor.toStringTag]))}},{}],206:[function(t,e,r){"use strict";var n,i,a,o,s=t("d"),l=t("./validate-symbol"),c=Object.create,u=Object.defineProperties,f=Object.defineProperty,h=Object.prototype,p=c(null);if("function"==typeof Symbol){n=Symbol;try{String(n()),o=!0}catch(t){}}var d,g=(d=c(null),function(t){for(var e,r,n=0;d[t+(n||"")];)++n;return d[t+=n||""]=!0,f(h,e="@@"+t,s.gs(null,function(t){r||(r=!0,f(this,e,s(t)),r=!1)})),e});a=function(t){if(this instanceof a)throw new TypeError("Symbol is not a constructor");return i(t)},e.exports=i=function t(e){var r;if(this instanceof t)throw new TypeError("Symbol is not a constructor");return o?n(e):(r=c(a.prototype),e=void 0===e?"":String(e),u(r,{__description__:s("",e),__name__:s("",g(e))}))},u(i,{for:s(function(t){return p[t]?p[t]:p[t]=i(String(t))}),keyFor:s(function(t){var e;for(e in l(t),p)if(p[e]===t)return e}),hasInstance:s("",n&&n.hasInstance||i("hasInstance")),isConcatSpreadable:s("",n&&n.isConcatSpreadable||i("isConcatSpreadable")),iterator:s("",n&&n.iterator||i("iterator")),match:s("",n&&n.match||i("match")),replace:s("",n&&n.replace||i("replace")),search:s("",n&&n.search||i("search")),species:s("",n&&n.species||i("species")),split:s("",n&&n.split||i("split")),toPrimitive:s("",n&&n.toPrimitive||i("toPrimitive")),toStringTag:s("",n&&n.toStringTag||i("toStringTag")),unscopables:s("",n&&n.unscopables||i("unscopables"))}),u(a.prototype,{constructor:s(i),toString:s("",function(){return this.__name__})}),u(i.prototype,{toString:s(function(){return"Symbol ("+l(this).__description__+")"}),valueOf:s(function(){return l(this)})}),f(i.prototype,i.toPrimitive,s("",function(){var t=l(this);return"symbol"==typeof t?t:t.toString()})),f(i.prototype,i.toStringTag,s("c","Symbol")),f(a.prototype,i.toStringTag,s("c",i.prototype[i.toStringTag])),f(a.prototype,i.toPrimitive,s("c",i.prototype[i.toPrimitive]))},{"./validate-symbol":207,d:138}],207:[function(t,e,r){"use strict";var n=t("./is-symbol");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not a symbol");return t}},{"./is-symbol":205}],208:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?WeakMap:t("./polyfill")},{"./is-implemented":209,"./polyfill":211}],209:[function(t,e,r){"use strict";e.exports=function(){var t,e;if("function"!=typeof WeakMap)return!1;try{t=new WeakMap([[e={},"one"],[{},"two"],[{},"three"]])}catch(t){return!1}return"[object WeakMap]"===String(t)&&("function"==typeof t.set&&(t.set({},1)===t&&("function"==typeof t.delete&&("function"==typeof t.has&&"one"===t.get(e)))))}},{}],210:[function(t,e,r){"use strict";e.exports="function"==typeof WeakMap&&"[object WeakMap]"===Object.prototype.toString.call(new WeakMap)},{}],211:[function(t,e,r){"use strict";var n,i=t("es5-ext/object/set-prototype-of"),a=t("es5-ext/object/valid-object"),o=t("es5-ext/object/valid-value"),s=t("es5-ext/string/random-uniq"),l=t("d"),c=t("es6-iterator/get"),u=t("es6-iterator/for-of"),f=t("es6-symbol").toStringTag,h=t("./is-native-implemented"),p=Array.isArray,d=Object.defineProperty,g=Object.prototype.hasOwnProperty,m=Object.getPrototypeOf;e.exports=n=function(){var t,e=arguments[0];if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");return t=h&&i&&WeakMap!==n?i(new WeakMap,m(this)):this,null!=e&&(p(e)||(e=c(e))),d(t,"__weakMapData__",l("c","$weakMap$"+s())),e?(u(e,function(e){o(e),t.set(e[0],e[1])}),t):t},h&&(i&&i(n,WeakMap),n.prototype=Object.create(WeakMap.prototype,{constructor:l(n)})),Object.defineProperties(n.prototype,{delete:l(function(t){return!!g.call(a(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)}),get:l(function(t){if(g.call(a(t),this.__weakMapData__))return t[this.__weakMapData__]}),has:l(function(t){return g.call(a(t),this.__weakMapData__)}),set:l(function(t,e){return d(a(t),this.__weakMapData__,l("c",e)),this}),toString:l(function(){return"[object WeakMap]"})}),d(n.prototype,f,l("c","WeakMap"))},{"./is-native-implemented":210,d:138,"es5-ext/object/set-prototype-of":184,"es5-ext/object/valid-object":188,"es5-ext/object/valid-value":189,"es5-ext/string/random-uniq":194,"es6-iterator/for-of":196,"es6-iterator/get":197,"es6-symbol":203}],212:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n=e||0,i=r||1;return[[t[12]+t[0],t[13]+t[1],t[14]+t[2],t[15]+t[3]],[t[12]-t[0],t[13]-t[1],t[14]-t[2],t[15]-t[3]],[t[12]+t[4],t[13]+t[5],t[14]+t[6],t[15]+t[7]],[t[12]-t[4],t[13]-t[5],t[14]-t[6],t[15]-t[7]],[n*t[12]+t[8],n*t[13]+t[9],n*t[14]+t[10],n*t[15]+t[11]],[i*t[12]-t[8],i*t[13]-t[9],i*t[14]-t[10],i*t[15]-t[11]]]}},{}],213:[function(t,e,r){"use strict";e.exports=function(t){var e=typeof t;if("string"===e){var r=t;if(0===(t=+t)&&function(t){for(var e,r=t.length,n=0;n<r;n++)if(((e=t.charCodeAt(n))<9||e>13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}(r))return!1}else if("number"!==e)return!1;return t-t<1}},{}],214:[function(t,e,r){"use strict";e.exports=function(t,e,r){switch(arguments.length){case 0:return new o([0],[0],0);case 1:if("number"==typeof t){var n=l(t);return new o(n,n,0)}return new o(t,l(t.length),0);case 2:if("number"==typeof e){var n=l(t.length);return new o(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error("state and velocity lengths must match");return new o(t,e,r)}};var n=t("cubic-hermite"),i=t("binary-search-bounds");function a(t,e,r){return Math.min(e,Math.max(t,r))}function o(t,e,r){this.dimension=t.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var n=0;n<this.dimension;++n)this.bounds[0][n]=-1/0,this.bounds[1][n]=1/0;this._state=t.slice().reverse(),this._velocity=e.slice().reverse(),this._time=[r],this._scratch=[t.slice(),t.slice(),t.slice(),t.slice(),t.slice()]}var s=o.prototype;function l(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=0;return e}s.flush=function(t){var e=i.gt(this._time,t)-1;e<=0||(this._time.splice(0,e),this._state.splice(0,e*this.dimension),this._velocity.splice(0,e*this.dimension))},s.curve=function(t){var e=this._time,r=e.length,o=i.le(e,t),s=this._scratch[0],l=this._state,c=this._velocity,u=this.dimension,f=this.bounds;if(o<0)for(var h=u-1,p=0;p<u;++p,--h)s[p]=l[h];else if(o>=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p<u;++p,--h)s[p]=l[h]+d*c[h]}else{h=u*(o+1)-1;var g=e[o],m=e[o+1]-g||1,v=this._scratch[1],y=this._scratch[2],x=this._scratch[3],b=this._scratch[4],_=!0;for(p=0;p<u;++p,--h)v[p]=l[h],x[p]=c[h]*m,y[p]=l[h+u],b[p]=c[h+u]*m,_=_&&v[p]===y[p]&&x[p]===b[p]&&0===x[p];if(_)for(p=0;p<u;++p)s[p]=v[p];else n(v,x,y,b,(t-g)/m,s)}var w=f[0],k=f[1];for(p=0;p<u;++p)s[p]=a(w[p],k[p],s[p]);return s},s.dcurve=function(t){var e=this._time,r=e.length,a=i.le(e,t),o=this._scratch[0],s=this._state,l=this._velocity,c=this.dimension;if(a>=r-1)for(var u=s.length-1,f=(e[r-1],0);f<c;++f,--u)o[f]=l[u];else{u=c*(a+1)-1;var h=e[a],p=e[a+1]-h||1,d=this._scratch[1],g=this._scratch[2],m=this._scratch[3],v=this._scratch[4],y=!0;for(f=0;f<c;++f,--u)d[f]=s[u],m[f]=l[u]*p,g[f]=s[u+c],v[f]=l[u+c]*p,y=y&&d[f]===g[f]&&m[f]===v[f]&&0===m[f];if(y)for(f=0;f<c;++f)o[f]=0;else{n.derivative(d,m,g,v,(t-h)/p,o);for(f=0;f<c;++f)o[f]/=p}}return o},s.lastT=function(){var t=this._time;return t[t.length-1]},s.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r>=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1];this._time.push(e,t);for(var u=0;u<2;++u)for(var f=0;f<r;++f)n.push(n[o++]),i.push(0);this._time.push(t);for(f=r;f>0;--f)n.push(a(l[f-1],c[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=t-e,l=this.bounds,c=l[0],u=l[1],f=s>1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(c[h-1],u[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,n=this._velocity,i=this.bounds,o=i[0],s=i[1];this._time.push(t);for(var l=e;l>0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,f=u>1e-6?1/u:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],c[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,n=this._state,i=this._velocity,o=n.length-r,s=this.bounds,l=s[0],c=s[1],u=t-e;this._time.push(t);for(var f=r-1;f>=0;--f)n.push(a(l[f],c[f],n[o]+u*i[o])),i.push(0),o+=1}}},{"binary-search-bounds":78,"cubic-hermite":132}],215:[function(t,e,r){var n=t("dtype");e.exports=function(t,e,r){if(!t)throw new TypeError("must specify data as first parameter");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&"number"==typeof t[0][0]){var i,a,o,s,l=t[0].length,c=t.length*l;e&&"string"!=typeof e||(e=new(n(e||"float32"))(c+r));var u=e.length-r;if(c!==u)throw new Error("source length "+c+" ("+l+"x"+t.length+") does not match destination length "+u);for(i=0,o=r;i<t.length;i++)for(a=0;a<l;a++)e[o++]=null===t[i][a]?NaN:t[i][a]}else if(e&&"string"!=typeof e)e.set(t,r);else{var f=n(e||"float32");if(Array.isArray(t)||"array"===e)for(e=new f(t.length+r),i=0,o=r,s=e.length;o<s;o++,i++)e[o]=null===t[i]?NaN:t[i];else 0===r?e=new f(t):(e=new f(t.length+r)).set(t,r)}return e}},{dtype:153}],216:[function(t,e,r){"use strict";var n=t("css-font/stringify"),i=[32,126];e.exports=function(t){var e=(t=t||{}).shape?t.shape:t.canvas?[t.canvas.width,t.canvas.height]:[512,512],r=t.canvas||document.createElement("canvas"),a=t.font,o="number"==typeof t.step?[t.step,t.step]:t.step||[32,32],s=t.chars||i;a&&"string"!=typeof a&&(a=n(a));if(Array.isArray(s)){if(2===s.length&&"number"==typeof s[0]&&"number"==typeof s[1]){for(var l=[],c=s[0],u=0;c<=s[1];c++)l[u++]=String.fromCharCode(c);s=l}}else s=String(s).split("");e=e.slice(),r.width=e[0],r.height=e[1];var f=r.getContext("2d");f.fillStyle="#000",f.fillRect(0,0,r.width,r.height),f.font=a,f.textAlign="center",f.textBaseline="middle",f.fillStyle="#fff";for(var h=o[0]/2,p=o[1]/2,c=0;c<s.length;c++)f.fillText(s[c],h,p),(h+=o[0])>e[0]-o[0]/2&&(h=o[0]/2,p+=o[1]);return r}},{"css-font/stringify":129}],217:[function(t,e,r){"use strict";function n(t,e){e||(e={}),("string"==typeof t||Array.isArray(t))&&(e.family=t);var r=Array.isArray(e.family)?e.family.join(", "):e.family;if(!r)throw Error("`family` must be defined");var s=e.size||e.fontSize||e.em||48,l=e.weight||e.fontWeight||"",c=(t=[e.style||e.fontStyle||"",l,s].join(" ")+"px "+r,e.origin||"top");if(n.cache[r]&&s<=n.cache[r].em)return i(n.cache[r],c);var u=e.canvas||n.canvas,f=u.getContext("2d"),h={upper:void 0!==e.upper?e.upper:"H",lower:void 0!==e.lower?e.lower:"x",descent:void 0!==e.descent?e.descent:"p",ascent:void 0!==e.ascent?e.ascent:"h",tittle:void 0!==e.tittle?e.tittle:"i",overshoot:void 0!==e.overshoot?e.overshoot:"O"},p=Math.ceil(1.5*s);u.height=p,u.width=.5*p,f.font=t;var d={top:0};f.clearRect(0,0,p,p),f.textBaseline="top",f.fillStyle="black",f.fillText("H",0,0);var g=a(f.getImageData(0,0,p,p));f.clearRect(0,0,p,p),f.textBaseline="bottom",f.fillText("H",0,p);var m=a(f.getImageData(0,0,p,p));d.lineHeight=d.bottom=p-m+g,f.clearRect(0,0,p,p),f.textBaseline="alphabetic",f.fillText("H",0,p);var v=p-a(f.getImageData(0,0,p,p))-1+g;d.baseline=d.alphabetic=v,f.clearRect(0,0,p,p),f.textBaseline="middle",f.fillText("H",0,.5*p);var y=a(f.getImageData(0,0,p,p));d.median=d.middle=p-y-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="hanging",f.fillText("H",0,.5*p);var x=a(f.getImageData(0,0,p,p));d.hanging=p-x-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="ideographic",f.fillText("H",0,p);var b=a(f.getImageData(0,0,p,p));if(d.ideographic=p-b-1+g,h.upper&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.upper,0,0),d.upper=a(f.getImageData(0,0,p,p)),d.capHeight=d.baseline-d.upper),h.lower&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.lower,0,0),d.lower=a(f.getImageData(0,0,p,p)),d.xHeight=d.baseline-d.lower),h.tittle&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.tittle,0,0),d.tittle=a(f.getImageData(0,0,p,p))),h.ascent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.ascent,0,0),d.ascent=a(f.getImageData(0,0,p,p))),h.descent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.descent,0,0),d.descent=o(f.getImageData(0,0,p,p))),h.overshoot){f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.overshoot,0,0);var _=o(f.getImageData(0,0,p,p));d.overshoot=_-v}for(var w in d)d[w]/=s;return d.em=s,n.cache[r]=d,i(d,c)}function i(t,e){var r={};for(var n in"string"==typeof e&&(e=t[e]),t)"em"!==n&&(r[n]=t[n]-e);return r}function a(t){for(var e=t.height,r=t.data,n=3;n<r.length;n+=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}function o(t){for(var e=t.height,r=t.data,n=r.length-1;n>0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}e.exports=n,n.canvas=document.createElement("canvas"),n.cache={}},{}],218:[function(t,e,r){"use strict";e.exports=function(t){return new c(t||d,null)};var n=0,i=1;function a(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function o(t){return new a(t._color,t.key,t.value,t.left,t.right,t._count)}function s(t,e){return new a(t,e.key,e.value,e.left,e.right,e._count)}function l(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function c(t,e){this._compare=t,this.root=e}var u=c.prototype;function f(t,e){this.tree=t,this._stack=e}Object.defineProperty(u,"keys",{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(u,"values",{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(u,"length",{get:function(){return this.root?this.root._count:0}}),u.insert=function(t,e){for(var r=this._compare,o=this.root,u=[],f=[];o;){var h=r(t,o.key);u.push(o),f.push(h),o=h<=0?o.left:o.right}u.push(new a(n,t,e,null,null,1));for(var p=u.length-2;p>=0;--p){o=u[p];f[p]<=0?u[p]=new a(o._color,o.key,o.value,u[p+1],o.right,o._count+1):u[p]=new a(o._color,o.key,o.value,o.left,u[p+1],o._count+1)}for(p=u.length-1;p>1;--p){var d=u[p-1];o=u[p];if(d._color===i||o._color===i)break;var g=u[p-2];if(g.left===d)if(d.left===o){if(!(m=g.right)||m._color!==n){if(g._color=n,g.left=d.right,d._color=i,d.right=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(v=u[p-3]).left===g?v.left=d:v.right=d;break}d._color=i,g.right=s(i,m),g._color=n,p-=1}else{if(!(m=g.right)||m._color!==n){if(d.right=o.left,g._color=n,g.left=o.right,o._color=i,o.left=d,o.right=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(v=u[p-3]).left===g?v.left=o:v.right=o;break}d._color=i,g.right=s(i,m),g._color=n,p-=1}else if(d.right===o){if(!(m=g.left)||m._color!==n){if(g._color=n,g.right=d.left,d._color=i,d.left=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(v=u[p-3]).right===g?v.right=d:v.left=d;break}d._color=i,g.left=s(i,m),g._color=n,p-=1}else{var m;if(!(m=g.left)||m._color!==n){var v;if(d.left=o.right,g._color=n,g.right=o.left,o._color=i,o.right=d,o.left=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(v=u[p-3]).right===g?v.right=o:v.left=o;break}d._color=i,g.left=s(i,m),g._color=n,p-=1}}return u[0]._color=i,new c(r,u[0])},u.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return function t(e,r){var n;if(r.left&&(n=t(e,r.left)))return n;return(n=e(r.key,r.value))||(r.right?t(e,r.right):void 0)}(t,this.root);case 2:return function t(e,r,n,i){if(r(e,i.key)<=0){var a;if(i.left&&(a=t(e,r,n,i.left)))return a;if(a=n(i.key,i.value))return a}if(i.right)return t(e,r,n,i.right)}(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return function t(e,r,n,i,a){var o,s=n(e,a.key),l=n(r,a.key);if(s<=0){if(a.left&&(o=t(e,r,n,i,a.left)))return o;if(l>0&&(o=i(a.key,a.value)))return o}if(l>0&&a.right)return t(e,r,n,i,a.right)}(e,r,this._compare,t,this.root)}},Object.defineProperty(u,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new f(this,t)}}),Object.defineProperty(u,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new f(this,t)}}),u.at=function(t){if(t<0)return new f(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t<e.left._count){e=e.left;continue}t-=e.left._count}if(!t)return new f(this,r);if(t-=1,!e.right)break;if(t>=e.right._count)break;e=e.right}return new f(this,[])},u.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new f(this,n)},u.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new f(this,n)},u.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new f(this,n)},u.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new f(this,n)},u.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new f(this,n);r=i<=0?r.left:r.right}return new f(this,[])},u.remove=function(t){var e=this.find(t);return e?e.remove():this},u.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var h=f.prototype;function p(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function d(t,e){return t<e?-1:t>e?1:0}Object.defineProperty(h,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(h,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),h.clone=function(){return new f(this.tree,this._stack.slice())},h.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var e=new Array(t.length),r=t[t.length-1];e[e.length-1]=new a(r._color,r.key,r.value,r.left,r.right,r._count);for(var u=t.length-2;u>=0;--u){(r=t[u]).left===t[u+1]?e[u]=new a(r._color,r.key,r.value,e[u+1],r.right,r._count):e[u]=new a(r._color,r.key,r.value,r.left,e[u+1],r._count)}if((r=e[e.length-1]).left&&r.right){var f=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var h=e[f-1];e.push(new a(r._color,h.key,h.value,r.left,r.right,r._count)),e[f-1].key=r.key,e[f-1].value=r.value;for(u=e.length-2;u>=f;--u)r=e[u],e[u]=new a(r._color,r.key,r.value,r.left,e[u+1],r._count);e[f-1].left=e[f]}if((r=e[e.length-1])._color===n){var d=e[e.length-2];d.left===r?d.left=null:d.right===r&&(d.right=null),e.pop();for(u=0;u<e.length;++u)e[u]._count--;return new c(this.tree._compare,e[0])}if(r.left||r.right){r.left?p(r,r.left):r.right&&p(r,r.right),r._color=i;for(u=0;u<e.length-1;++u)e[u]._count--;return new c(this.tree._compare,e[0])}if(1===e.length)return new c(this.tree._compare,null);for(u=0;u<e.length;++u)e[u]._count--;var g=e[e.length-2];return function(t){for(var e,r,a,c,u=t.length-1;u>=0;--u){if(e=t[u],0===u)return void(e._color=i);if((r=t[u-1]).left===e){if((a=r.right).right&&a.right._color===n)return c=(a=r.right=o(a)).right=o(a.right),r.right=a.left,a.left=r,a.right=c,a._color=r._color,e._color=i,r._color=i,c._color=i,l(r),l(a),u>1&&((f=t[u-2]).left===r?f.left=a:f.right=a),void(t[u-1]=a);if(a.left&&a.left._color===n)return c=(a=r.right=o(a)).left=o(a.left),r.right=c.left,a.left=c.right,c.left=r,c.right=a,c._color=r._color,r._color=i,a._color=i,e._color=i,l(r),l(a),l(c),u>1&&((f=t[u-2]).left===r?f.left=c:f.right=c),void(t[u-1]=c);if(a._color===i){if(r._color===n)return r._color=i,void(r.right=s(n,a));r.right=s(n,a);continue}a=o(a),r.right=a.left,a.left=r,a._color=r._color,r._color=n,l(r),l(a),u>1&&((f=t[u-2]).left===r?f.left=a:f.right=a),t[u-1]=a,t[u]=r,u+1<t.length?t[u+1]=e:t.push(e),u+=2}else{if((a=r.left).left&&a.left._color===n)return c=(a=r.left=o(a)).left=o(a.left),r.left=a.right,a.right=r,a.left=c,a._color=r._color,e._color=i,r._color=i,c._color=i,l(r),l(a),u>1&&((f=t[u-2]).right===r?f.right=a:f.left=a),void(t[u-1]=a);if(a.right&&a.right._color===n)return c=(a=r.left=o(a)).right=o(a.right),r.left=c.right,a.right=c.left,c.right=r,c.left=a,c._color=r._color,r._color=i,a._color=i,e._color=i,l(r),l(a),l(c),u>1&&((f=t[u-2]).right===r?f.right=c:f.left=c),void(t[u-1]=c);if(a._color===i){if(r._color===n)return r._color=i,void(r.left=s(n,a));r.left=s(n,a);continue}var f;a=o(a),r.left=a.right,a.right=r,a._color=r._color,r._color=n,l(r),l(a),u>1&&((f=t[u-2]).right===r?f.right=a:f.left=a),t[u-1]=a,t[u]=r,u+1<t.length?t[u+1]=e:t.push(e),u+=2}}}(e),g.left===r?g.left=null:g.right=null,new c(this.tree._compare,e[0])},Object.defineProperty(h,"key",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(h,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(h,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),h.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(h,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),h.update=function(t){var e=this._stack;if(0===e.length)throw new Error("Can't update empty node!");var r=new Array(e.length),n=e[e.length-1];r[r.length-1]=new a(n._color,n.key,t,n.left,n.right,n._count);for(var i=e.length-2;i>=0;--i)(n=e[i]).left===e[i+1]?r[i]=new a(n._color,n.key,n.value,r[i+1],n.right,n._count):r[i]=new a(n._color,n.key,n.value,n.left,r[i+1],n._count);return new c(this.tree._compare,r[0])},h.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(h,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],219:[function(t,e,r){var n=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],i=607/128,a=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function o(t){if(t<0)return Number("0/0");for(var e=a[0],r=a.length-1;r>0;--r)e+=a[r]/(t+r);var n=t+i+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}e.exports=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(o(e));e-=1;for(var r=n[0],i=1;i<9;i++)r+=n[i]/(e+i);var a=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(a,e+.5)*Math.exp(-a)*r},e.exports.log=o},{}],220:[function(t,e,r){e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("must specify type string");if(e=e||{},"undefined"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement("canvas");"number"==typeof e.width&&(r.width=e.width);"number"==typeof e.height&&(r.height=e.height);var n,i=e;try{var a=[t];0===t.indexOf("webgl")&&a.push("experimental-"+t);for(var o=0;o<a.length;o++)if(n=r.getContext(a[o],i))return n}catch(t){n=null}return n||null}},{}],221:[function(t,e,r){"use strict";e.exports=function(t,e){var r=new u(t);return r.update(e),r};var n=t("./lib/text.js"),i=t("./lib/lines.js"),a=t("./lib/background.js"),o=t("./lib/cube.js"),s=t("./lib/ticks.js"),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function c(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function u(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont="sans-serif",this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=a(t)}var f=u.prototype;function h(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}f.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,a=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),c=e.bind(this,!0,function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]}),u=!1,f=!1;if("bounds"in t)for(var h=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)h[p][d]!==this.bounds[p][d]&&(f=!0),this.bounds[p][d]=h[p][d];if("ticks"in t){r=t.ticks,u=!0,this.autoTicks=!1;for(p=0;p<3;++p)this.tickSpacing[p]=0}else a("tickSpacing")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&("ticks"in t||"tickSpacing"in t||(this.autoTicks=!0),f=!0,u=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),u=!0),u){for(p=0;p<3;++p)r[p].sort(function(t,e){return t.x-e.x});s.equal(r,this.ticks)?u=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(u=!0),a("tickSize"),a("tickAngle"),a("tickPad"),c("tickColor");var g=l("labels");l("labelFont")&&(g=!0),o("labelEnable"),a("labelSize"),a("labelPad"),c("labelColor"),o("lineEnable"),o("lineMirror"),a("lineWidth"),c("lineColor"),o("lineTickEnable"),o("lineTickMirror"),a("lineTickLength"),a("lineTickWidth"),c("lineTickColor"),o("gridEnable"),a("gridWidth"),c("gridColor"),o("zeroEnable"),c("zeroLineColor"),a("zeroLineWidth"),o("backgroundEnable"),c("backgroundColor"),this._text?this._text&&(g||u)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=n(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&u&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var p=[new h,new h,new h];function d(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,c=n[e],u=0;u<3;++u)if(e!==u){var f=a,h=s,p=o,d=l;c&1<<u&&(f=s,h=a,p=l,d=o),f[u]=r[0][u],h[u]=r[1][u],i[u]>0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var g=[0,0,0],m={model:l,view:l,projection:l};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var v=[0,0,0],y=[0,0,0],x=[0,0,0];f.draw=function(t){t=t||m;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=o(r,n,i,a),u=s.cubeEdges,f=s.axis,h=n[12],b=n[13],_=n[14],w=n[15],k=this.pixelRatio*(i[3]*h+i[7]*b+i[11]*_+i[15]*w)/e.drawingBufferHeight,M=0;M<3;++M)this.lastCubeProps.cubeEdges[M]=u[M],this.lastCubeProps.axis[M]=f[M];var A=p;for(M=0;M<3;++M)d(p[M],M,this.bounds,u,f);e=this.gl;var T=g;for(M=0;M<3;++M)this.backgroundEnable[M]?T[M]=f[M]:T[M]=0;this._background.draw(r,n,i,a,T,this.backgroundColor),this._lines.bind(r,n,i,this);for(M=0;M<3;++M){var S=[0,0,0];f[M]>0?S[M]=a[1][M]:S[M]=a[0][M];for(var E=0;E<2;++E){var C=(M+1+E)%3,L=(M+1+(1^E))%3;this.gridEnable[C]&&this._lines.drawGrid(C,L,this.bounds,S,this.gridColor[C],this.gridWidth[C]*this.pixelRatio)}for(E=0;E<2;++E){C=(M+1+E)%3,L=(M+1+(1^E))%3;this.zeroEnable[L]&&a[0][L]<=0&&a[1][L]>=0&&this._lines.drawZero(C,L,this.bounds,S,this.zeroLineColor[L],this.zeroLineWidth[L]*this.pixelRatio)}}for(M=0;M<3;++M){this.lineEnable[M]&&this._lines.drawAxisLine(M,this.bounds,A[M].primalOffset,this.lineColor[M],this.lineWidth[M]*this.pixelRatio),this.lineMirror[M]&&this._lines.drawAxisLine(M,this.bounds,A[M].mirrorOffset,this.lineColor[M],this.lineWidth[M]*this.pixelRatio);var z=c(v,A[M].primalMinor),P=c(y,A[M].mirrorMinor),O=this.lineTickLength;for(E=0;E<3;++E){var I=k/r[5*E];z[E]*=O[E]*I,P[E]*=O[E]*I}this.lineTickEnable[M]&&this._lines.drawAxisTicks(M,A[M].primalOffset,z,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio),this.lineTickMirror[M]&&this._lines.drawAxisTicks(M,A[M].mirrorOffset,P,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio);for(M=0;M<3;++M){var D=A[M].primalMinor,R=c(x,A[M].primalOffset);for(E=0;E<3;++E)this.lineTickEnable[M]&&(R[E]+=k*D[E]*Math.max(this.lineTickLength[E],0)/r[5*E]);if(this.tickEnable[M]){for(E=0;E<3;++E)R[E]+=k*D[E]*this.tickPad[E]/r[5*E];this._text.drawTicks(M,this.tickSize[M],this.tickAngle[M],R,this.tickColor[M])}if(this.labelEnable[M]){for(E=0;E<3;++E)R[E]+=k*D[E]*this.labelPad[E]/r[5*E];R[M]+=.5*(a[0][M]+a[1][M]),this._text.drawLabel(M,this.labelSize[M],this.labelAngle[M],R,this.labelColor[M])}}this._text.unbind()},f.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{"./lib/background.js":222,"./lib/cube.js":223,"./lib/lines.js":224,"./lib/text.js":226,"./lib/ticks.js":227}],222:[function(t,e,r){"use strict";e.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[c]=d;for(var g=-1;g<=1;g+=2)f[u]=g,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var m=c;c=u,u=m}var v=n(t,new Float32Array(e)),y=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:v,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:v,type:t.FLOAT,size:3,offset:12,stride:24}],y),b=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,v,x,b)};var n=t("gl-buffer"),i=t("gl-vao"),a=t("./shaders").bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{"./shaders":225,"gl-buffer":229,"gl-vao":308}],223:[function(t,e,r){"use strict";e.exports=function(t,e,r,a){i(s,e,t),i(s,r,s);for(var p=0,y=0;y<2;++y){u[2]=a[y][2];for(var x=0;x<2;++x){u[1]=a[x][1];for(var b=0;b<2;++b)u[0]=a[b][0],h(l[p],u,s),p+=1}}for(var _=-1,y=0;y<8;++y){for(var w=l[y][3],k=0;k<3;++k)c[y][k]=l[y][k]/w;w<0&&(_<0?_=y:c[y][2]<c[_][2]&&(_=y))}if(_<0){_=0;for(var M=0;M<3;++M){for(var A=(M+2)%3,T=(M+1)%3,S=-1,E=-1,C=0;C<2;++C){var L=C<<M,z=L+(C<<A)+(1-C<<T),P=L+(1-C<<A)+(C<<T);o(c[L],c[z],c[P],f)<0||(C?S=1:E=1)}if(S<0||E<0)E>S&&(_|=1<<M);else{for(var C=0;C<2;++C){var L=C<<M,z=L+(C<<A)+(1-C<<T),P=L+(1-C<<A)+(C<<T),O=d([l[L],l[z],l[P],l[L+(1<<A)+(1<<T)]]);C?S=O:E=O}E>S&&(_|=1<<M)}}}for(var I=7^_,D=-1,y=0;y<8;++y)y!==_&&y!==I&&(D<0?D=y:c[D][1]>c[y][1]&&(D=y));for(var R=-1,y=0;y<3;++y){var B=D^1<<y;if(B!==_&&B!==I){R<0&&(R=B);var T=c[B];T[0]<c[R][0]&&(R=B)}}for(var F=-1,y=0;y<3;++y){var B=D^1<<y;if(B!==_&&B!==I&&B!==R){F<0&&(F=B);var T=c[B];T[0]>c[F][0]&&(F=B)}}var N=g;N[0]=N[1]=N[2]=0,N[n.log2(R^D)]=D&R,N[n.log2(D^F)]=D&F;var j=7^F;j===_||j===I?(j=7^R,N[n.log2(F^j)]=j&F):N[n.log2(R^j)]=j&R;for(var V=m,U=_,M=0;M<3;++M)V[M]=U&1<<M?-1:1;return v};var n=t("bit-twiddle"),i=t("gl-mat4/multiply"),a=(t("gl-mat4/invert"),t("split-polygon")),o=t("robust-orientation"),s=new Array(16),l=(new Array(16),new Array(8)),c=new Array(8),u=new Array(3),f=[0,0,0];function h(t,e,r){for(var n=0;n<4;++n){t[n]=r[12+n];for(var i=0;i<3;++i)t[n]+=e[i]*r[4*i+n]}}!function(){for(var t=0;t<8;++t)l[t]=[1,1,1,1],c[t]=[1,1,1]}();var p=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function d(t){for(var e=0;e<p.length;++e)if((t=a.positive(t,p[e])).length<3)return 0;var r=t[0],n=r[0]/r[3],i=r[1]/r[3],o=0;for(e=1;e+1<t.length;++e){var s=t[e],l=t[e+1],c=s[0]/s[3]-n,u=s[1]/s[3]-i,f=l[0]/l[3]-n,h=l[1]/l[3]-i;o+=Math.abs(c*h-u*f)}return o}var g=[1,1,1],m=[0,0,0],v={cubeEdges:g,axis:m}},{"bit-twiddle":79,"gl-mat4/invert":253,"gl-mat4/multiply":255,"robust-orientation":483,"split-polygon":500}],224:[function(t,e,r){"use strict";e.exports=function(t,e,r){var o=[],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[0,0,0];o.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var f=0;f<3;++f){for(var h=o.length/3|0,d=0;d<r[f].length;++d){var g=+r[f][d].x;o.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}var m=o.length/3|0;s[f]=h,l[f]=m-h;for(var h=o.length/3|0,v=0;v<r[f].length;++v){var g=+r[f][v].x;o.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}var m=o.length/3|0;c[f]=h,u[f]=m-h}var y=n(t,new Float32Array(o)),x=i(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),b=a(t);return b.attributes.position.location=0,new p(t,y,x,b,l,s,u,c)};var n=t("gl-buffer"),i=t("gl-vao"),a=t("./shaders").line,o=[0,0,0],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[1,1];function f(t){return t[0]=t[1]=t[2]=0,t}function h(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function p(t,e,r,n,i,a,o,s){this.gl=t,this.vertBuffer=e,this.vao=r,this.shader=n,this.tickCount=i,this.tickOffset=a,this.gridCount=o,this.gridOffset=s}var d=p.prototype;d.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,u[0]=this.gl.drawingBufferWidth,u[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=u,this.vao.bind()},d.unbind=function(){this.vao.unbind()},d.drawAxisLine=function(t,e,r,n,i){var a=f(s);this.shader.uniforms.majorAxis=s,a[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=a;var o,u=h(c,r);u[t]+=e[0][t],this.shader.uniforms.offset=u,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=n,(o=f(l))[(t+2)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6),(o=f(l))[(t+1)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6)},d.drawAxisTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=f(o);a[t]=1,this.shader.uniforms.majorAxis=a,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=n,this.shader.uniforms.lineWidth=i;var s=f(l);s[t]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},d.drawGrid=function(t,e,r,n,i,a){if(this.gridCount[t]){var u=f(s);u[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=u;var p=h(c,n);p[e]+=r[0][e],this.shader.uniforms.offset=p;var d=f(o);d[t]=1,this.shader.uniforms.majorAxis=d;var g=f(l);g[t]=1,this.shader.uniforms.screenAxis=g,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},d.drawZero=function(t,e,r,n,i,a){var o=f(s);this.shader.uniforms.majorAxis=o,o[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=o;var u=h(c,n);u[t]+=r[0][t],this.shader.uniforms.offset=u;var p=f(l);p[e]=1,this.shader.uniforms.screenAxis=p,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,6)},d.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{"./shaders":225,"gl-buffer":229,"gl-vao":308}],225:[function(t,e,r){"use strict";var n=t("glslify"),i=t("gl-shader"),a=n(["#define GLSLIFY 1\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, majorAxis, minorAxis, screenAxis;\nuniform float lineWidth;\nuniform vec2 screenShape;\n\nvec3 project(vec3 p) {\n vec4 pp = projection * view * model * vec4(p, 1.0);\n return pp.xyz / max(pp.w, 0.0001);\n}\n\nvoid main() {\n vec3 major = position.x * majorAxis;\n vec3 minor = position.y * minorAxis;\n\n vec3 vPosition = major + minor + offset;\n vec3 pPosition = project(vPosition);\n vec3 offset = project(vPosition + screenAxis * position.z);\n\n vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\n\n gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\n}\n"]),o=n(["precision mediump float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);r.line=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"}])};var s=n(["#define GLSLIFY 1\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, axis;\nuniform float scale, angle, pixelScale;\nuniform vec2 resolution;\n\nvoid main() { \n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n mat2 planeXform = scale * mat2(cos(angle), sin(angle),\n -sin(angle), cos(angle));\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n vec4 worldPosition = model * vec4(dataPosition, 1);\n \n //Compute clip position\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n //Apply text offset in clip coordinates\n clipPosition += vec4(viewOffset, 0, 0);\n\n //Done\n gl_Position = clipPosition;\n}"]),l=n(["precision mediump float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);r.text=function(t){return i(t,s,l,null,[{name:"position",type:"vec3"}])};var c=n(["#define GLSLIFY 1\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n if(dot(normal, enable) > 0.0) {\n vec3 nPosition = mix(bounds[0], bounds[1], 0.5 * (position + 1.0));\n gl_Position = projection * view * model * vec4(nPosition, 1.0);\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n colorChannel = abs(normal);\n}"]),u=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] + \n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);r.bg=function(t){return i(t,c,u,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},{"gl-shader":286,glslify:390}],226:[function(t,e,r){(function(r){"use strict";e.exports=function(t,e,r,a,s,l){var u=n(t),f=i(t,[{buffer:u,size:3}]),h=o(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,a,s,l),p};var n=t("gl-buffer"),i=t("gl-vao"),a=t("vectorize-text"),o=t("./shaders").text,s=window||r.global||{},l=s.__TEXT_CACHE||{};s.__TEXT_CACHE={};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var u=c.prototype,f=[0,0];u.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,f[0]=this.gl.drawingBufferWidth,f[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=f},u.unbind=function(){this.vao.unbind()},u.update=function(t,e,r,n,i){this.gl;var o=[];function s(t,e,r,n){var i=l[r];i||(i=l[r]={});var s=i[e];s||(s=i[e]=function(t,e){try{return a(t,e)}catch(t){return console.warn("error vectorizing text:",t),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:"center",textBaseline:"middle"}));for(var c=(n||12)/12,u=s.positions,f=s.cells,h=0,p=f.length;h<p;++h)for(var d=f[h],g=2;g>=0;--g){var m=u[d[g]];o.push(c*m[0],-c*m[1],t)}}for(var c=[0,0,0],u=[0,0,0],f=[0,0,0],h=[0,0,0],p=0;p<3;++p){f[p]=o.length/3|0,s(.5*(t[0][p]+t[1][p]),e[p],r),h[p]=(o.length/3|0)-f[p],c[p]=o.length/3|0;for(var d=0;d<n[p].length;++d)n[p][d].text&&s(n[p][d].x,n[p][d].text,n[p][d].font||i,n[p][d].fontSize||12);u[p]=(o.length/3|0)-c[p]}this.buffer.update(o),this.tickOffset=c,this.tickCount=u,this.labelOffset=f,this.labelCount=h};var h=[0,0,0];u.drawTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=h;a[0]=a[1]=a[2]=0,a[t]=1,this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}};var p=[0,0,0];u.drawLabel=function(t,e,r,n,i){this.labelCount[t]&&(this.shader.uniforms.axis=p,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.vao.draw(this.gl.TRIANGLES,this.labelCount[t],this.labelOffset[t]))},u.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}}).call(this,t("_process"))},{"./shaders":225,_process:462,"gl-buffer":229,"gl-vao":308,"vectorize-text":524}],227:[function(t,e,r){"use strict";function n(t,e){var r=t+"",n=r.indexOf("."),i=0;n>=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/a,c=o%a;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=""+l;if(o<0&&(u="-"+u),i){for(var f=""+c;f.length<i;)f="0"+f;return u+"."+f}return u}r.create=function(t,e){for(var r=[],i=0;i<3;++i){for(var a=[],o=(t[0][i],t[1][i],0);o*e[i]<=t[1][i];++o)a.push({x:o*e[i],text:n(e[i],o)});for(var o=-1;o*e[i]>=t[0][i];--o)a.push({x:o*e[i],text:n(e[i],o)});r.push(a)}return r},r.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;++n){var i=t[r][n],a=e[r][n];if(i.x!==a.x||i.text!==a.text||i.font!==a.font||i.fontColor!==a.fontColor||i.fontSize!==a.fontSize||i.dx!==a.dx||i.dy!==a.dy)return!1}}return!0}},{}],228:[function(t,e,r){"use strict";e.exports=function(t,e,r,l,f){var h=e.model||c,p=e.view||c,v=e.projection||c,y=t.bounds,x=(f=f||a(h,p,v,y)).axis;f.edges;o(u,p,h),o(u,v,u);for(var b=g,_=0;_<3;++_)b[_].lo=1/0,b[_].hi=-1/0,b[_].pixelsPerDataUnit=1/0;var w=n(s(u,u));s(u,u);for(var k=0;k<3;++k){var M=(k+1)%3,A=(k+2)%3,T=m;t:for(var _=0;_<2;++_){var S=[];if(x[k]<0!=!!_){T[k]=y[_][k];for(var E=0;E<2;++E){T[M]=y[E^_][M];for(var C=0;C<2;++C)T[A]=y[C^E^_][A],S.push(T.slice())}for(var E=0;E<w.length;++E){if(0===S.length)continue t;S=i.positive(S,w[E])}for(var E=0;E<S.length;++E)for(var A=S[E],L=d(m,u,A,r,l),C=0;C<3;++C)b[C].lo=Math.min(b[C].lo,A[C]),b[C].hi=Math.max(b[C].hi,A[C]),C!==k&&(b[C].pixelsPerDataUnit=Math.min(b[C].pixelsPerDataUnit,Math.abs(L[C])))}}}return b};var n=t("extract-frustum-planes"),i=t("split-polygon"),a=t("./lib/cube.js"),o=t("gl-mat4/multiply"),s=t("gl-mat4/transpose"),l=t("gl-vec4/transformMat4"),c=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),u=new Float32Array(16);function f(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}var h=[0,0,0,1],p=[0,0,0,1];function d(t,e,r,n,i){for(var a=0;a<3;++a){for(var o=h,s=p,c=0;c<3;++c)s[c]=o[c]=r[c];s[3]=o[3]=1,s[a]+=1,l(s,s,e),s[3]<0&&(t[a]=1/0),o[a]-=1,l(o,o,e),o[3]<0&&(t[a]=1/0);var u=(o[0]/o[3]-s[0]/s[3])*n,f=(o[1]/o[3]-s[1]/s[3])*i;t[a]=.25*Math.sqrt(u*u+f*f)}return t}var g=[new f(1/0,-1/0,1/0),new f(1/0,-1/0,1/0),new f(1/0,-1/0,1/0)],m=[0,0,0]},{"./lib/cube.js":223,"extract-frustum-planes":212,"gl-mat4/multiply":255,"gl-mat4/transpose":263,"gl-vec4/transformMat4":379,"split-polygon":500}],229:[function(t,e,r){"use strict";var n=t("typedarray-pool"),i=t("ndarray-ops"),a=t("ndarray"),o=["uint8","uint8_clamped","uint16","uint32","int8","int16","int32","float32"];function s(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}var l=s.prototype;function c(t,e,r,n,i,a){var o=i.length*i.BYTES_PER_ELEMENT;if(a<0)return t.bufferData(e,i,n),o;if(o+a>r)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,a,i),r}function u(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a<i;++a)r[a]=t[a];return r}l.bind=function(){this.gl.bindBuffer(this.type,this.handle)},l.unbind=function(){this.gl.bindBuffer(this.type,null)},l.dispose=function(){this.gl.deleteBuffer(this.handle)},l.update=function(t,e){if("number"!=typeof e&&(e=-1),this.bind(),"object"==typeof t&&"undefined"!=typeof t.shape){var r=t.dtype;if(o.indexOf(r)<0&&(r="float32"),this.type===this.gl.ELEMENT_ARRAY_BUFFER)r=gl.getExtension("OES_element_index_uint")&&"uint16"!==r?"uint32":"uint16";if(r===t.dtype&&function(t,e){for(var r=1,n=e.length-1;n>=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,t.data,e):this.length=c(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=c(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(t,"uint16"):u(t,"float32"),this.length=c(this.gl,this.type,this.length,this.usage,e<0?f:f.subarray(0,t.length),e),n.free(f)}else if("object"==typeof t&&"number"==typeof t.length)this.length=c(this.gl,this.type,this.length,this.usage,t,e);else{if("number"!=typeof t&&void 0!==t)throw new Error("gl-buffer: Invalid data type");if(e>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var i=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},{ndarray:430,"ndarray-ops":424,"typedarray-pool":519}],230:[function(t,e,r){"use strict";var n=t("gl-vec3"),i=(t("gl-vec4"),function(t,e){for(var r=0;r<t.length;r++)if(t[r]>=e)return r-1;return r}),a=n.create(),o=n.create(),s=function(t,e,r){return t<e?e:t>r?r:t},l=function(t,e,r,l){var c=t[0],u=t[1],f=t[2],h=r[0].length,p=r[1].length,d=r[2].length,g=i(r[0],c),m=i(r[1],u),v=i(r[2],f),y=g+1,x=m+1,b=v+1;if(l&&(g=s(g,0,h-1),y=s(y,0,h-1),m=s(m,0,p-1),x=s(x,0,p-1),v=s(v,0,d-1),b=s(b,0,d-1)),g<0||m<0||v<0||y>=h||x>=p||b>=d)return n.create();var _=(c-r[0][g])/(r[0][y]-r[0][g]),w=(u-r[1][m])/(r[1][x]-r[1][m]),k=(f-r[2][v])/(r[2][b]-r[2][v]);(_<0||_>1||isNaN(_))&&(_=0),(w<0||w>1||isNaN(w))&&(w=0),(k<0||k>1||isNaN(k))&&(k=0);var M=v*h*p,A=b*h*p,T=m*h,S=x*h,E=g,C=y,L=e[T+M+E],z=e[T+M+C],P=e[S+M+E],O=e[S+M+C],I=e[T+A+E],D=e[T+A+C],R=e[S+A+E],B=e[S+A+C],F=n.create();return n.lerp(F,L,z,_),n.lerp(a,P,O,_),n.lerp(F,F,a,w),n.lerp(a,I,D,_),n.lerp(o,R,B,_),n.lerp(a,a,o,w),n.lerp(F,F,a,k),F};e.exports=function(t,e){var r;r=t.positions?t.positions:function(t){for(var e=t[0],r=t[1],n=t[2],i=[],a=0;a<n.length;a++)for(var o=0;o<r.length;o++)for(var s=0;s<e.length;s++)i.push([n[a],r[o],e[s]]);return i}(t.meshgrid);var i=t.meshgrid,a=t.vectors,o={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vertexNormals:[],vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),o;for(var s=0,c=1/0,u=-1/0,f=1/0,h=-1/0,p=1/0,d=-1/0,g=null,m=null,v=[],y=1/0,x=0;x<r.length;x++){var b,_=r[x];c=Math.min(_[0],c),u=Math.max(_[0],u),f=Math.min(_[1],f),h=Math.max(_[1],h),p=Math.min(_[2],p),d=Math.max(_[2],d),b=i?l(_,a,i,!0):a[x],n.length(b)>s&&(s=n.length(b)),x&&(y=Math.min(y,2*n.distance(g,_)/(n.length(m)+n.length(b)))),g=_,m=b,v.push(b)}var w=[c,f,p],k=[u,h,d];e&&(e[0]=w,e[1]=k),0===s&&(s=1);var M=1/s;isFinite(y)&&!isNaN(y)||(y=1),o.vectorScale=y;var A=function(t,e,r){var i=n.create();return void 0!==t&&n.set(i,t,e,r),i}(0,1,0),T=t.coneSize||.5;t.absoluteConeSize&&(T=t.absoluteConeSize*M),o.coneScale=T;x=0;for(var S=0;x<r.length;x++)for(var E=(_=r[x])[0],C=_[1],L=_[2],z=v[x],P=n.length(z)*M,O=0;O<8;O++){o.positions.push([E,C,L,S++]),o.positions.push([E,C,L,S++]),o.positions.push([E,C,L,S++]),o.positions.push([E,C,L,S++]),o.positions.push([E,C,L,S++]),o.positions.push([E,C,L,S++]),o.vectors.push(z),o.vectors.push(z),o.vectors.push(z),o.vectors.push(z),o.vectors.push(z),o.vectors.push(z),o.vertexIntensity.push(P,P,P),o.vertexIntensity.push(P,P,P),o.vertexNormals.push(A,A,A),o.vertexNormals.push(A,A,A);var I=o.positions.length;o.cells.push([I-6,I-5,I-4],[I-3,I-2,I-1])}return o},e.exports.createConeMesh=t("./lib/conemesh")},{"./lib/conemesh":232,"gl-vec3":327,"gl-vec4":363}],231:[function(t,e,r){"use strict";var n=t("barycentric"),i=t("polytope-closest-point/lib/closest_point_2d.js");function a(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var i=0;i<4;++i)r[i]+=t[4*n+i]*e[n];return r}function o(t,e,r,n,i){for(var o=a(n,a(r,a(e,[t[0],t[1],t[2],1]))),s=0;s<3;++s)o[s]/=o[3];return[.5*i[0]*(1+o[0]),.5*i[1]*(1-o[1])]}e.exports=function(t,e,r,a,s,l){if(1===t.length)return[0,t[0].slice()];for(var c=new Array(t.length),u=0;u<t.length;++u)c[u]=o(t[u],r,a,s,l);for(var f=0,h=1/0,u=0;u<c.length;++u){for(var p=0,d=0;d<2;++d)p+=Math.pow(c[u][d]-e[d],2);p<h&&(h=p,f=u)}for(var g=function(t,e){if(2===t.length){for(var r=0,a=0,o=0;o<2;++o)r+=Math.pow(e[o]-t[0][o],2),a+=Math.pow(e[o]-t[1][o],2);return r=Math.sqrt(r),a=Math.sqrt(a),r+a<1e-6?[1,0]:[a/(r+a),r/(a+r)]}if(3===t.length){var s=[0,0];return i(t[0],t[1],t[2],e,s),n(t,s)}return[]}(c,e),m=0,u=0;u<3;++u){if(g[u]<-.001||g[u]>1.0001)return null;m+=g[u]}if(Math.abs(m-1)>.001)return null;return[f,function(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var i=t[n],a=e[n],o=0;o<3;++o)r[o]+=a*i[o];return r}(t,g),g]}},{barycentric:60,"polytope-closest-point/lib/closest_point_2d.js":461}],232:[function(t,e,r){"use strict";var n=t("gl-shader"),i=t("gl-buffer"),a=t("gl-vao"),o=t("gl-texture2d"),s=t("normals"),l=t("gl-mat4/multiply"),c=t("gl-mat4/invert"),u=t("ndarray"),f=t("colormap"),h=t("simplicial-complex-contour"),p=t("typedarray-pool"),d=t("./shaders"),g=(t("./closest-point"),d.meshShader),m=d.pickShader,v=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function y(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,y,x,b,_,w,k,M,A,T,S,E){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleVectors=c,this.triangleColors=f,this.triangleNormals=p,this.triangleUVs=h,this.triangleIds=u,this.triangleVAO=d,this.triangleCount=0,this.lineWidth=1,this.edgePositions=g,this.edgeColors=y,this.edgeUVs=x,this.edgeIds=m,this.edgeVAO=b,this.edgeCount=0,this.pointPositions=_,this.pointColors=k,this.pointUVs=M,this.pointSizes=A,this.pointIds=w,this.pointVAO=T,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=S,this.contourVAO=E,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.coneScale=2,this.vectorScale=1,this.coneOffset=.25,this._model=v,this._view=v,this._projection=v,this._resolution=[1,1]}var x=y.prototype;function b(t){var e=n(t,m.vertex,m.fragment,null,m.attributes);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.vector.location=5,e}x.isOpaque=function(){return this.opacity>=1},x.isTransparent=function(){return this.opacity<1},x.pickSlots=1,x.setPickBase=function(t){this.pickId=t},x.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var c=r[l],u=0;u<2;++u){var f=c[0];2===c.length&&(f=c[u]);for(var d=n[f][0],g=n[f][1],m=i[f],v=1-m,y=this.positions[d],x=this.positions[g],b=0;b<3;++b)o[s++]=m*y[b]+v*x[b]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),p.free(o)}else this.contourCount=0},x.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"contourEnable"in t&&(this.contourEnable=t.contourEnable),"contourColor"in t&&(this.contourColor=t.contourColor),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"lightPosition"in t&&(this.lightPosition=t.lightPosition),"opacity"in t&&(this.opacity=t.opacity),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.texture?(this.texture.dispose(),this.texture=o(e,t.texture)):t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=f({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],l=[],c=[],h=[],p=[],d=[],g=[],m=[],v=[],y=[],x=[],b=[],_=[],w=[],k=[];this.cells=r,this.positions=n;var M=t.vertexNormals,A=t.cellNormals,T=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,S=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!A&&(A=s.faceNormals(r,n,S)),A||M||(M=s.vertexNormals(r,n,T));var E=t.vertexColors,C=t.cellColors,L=t.meshColor||[1,1,1,1],z=t.vertexUVs,P=t.vertexIntensity,O=t.cellUVs,I=t.cellIntensity,D=1/0,R=-1/0;if(!z&&!O)if(P)if(t.vertexIntensityBounds)D=+t.vertexIntensityBounds[0],R=+t.vertexIntensityBounds[1];else for(var B=0;B<P.length;++B){var F=P[B];D=Math.min(D,F),R=Math.max(R,F)}else if(I)for(B=0;B<I.length;++B){F=I[B];D=Math.min(D,F),R=Math.max(R,F)}else for(B=0;B<n.length;++B){F=n[B][2];D=Math.min(D,F),R=Math.max(R,F)}this.intensity=P||(I?function(t,e,r){for(var n=new Array(e),i=0;i<e;++i)n[i]=0;var a=t.length;for(i=0;i<a;++i)for(var o=t[i],s=0;s<o.length;++s)n[o[s]]=r[i];return n}(r,n.length,I):function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n));var N=t.pointSizes,j=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(B=0;B<n.length;++B)for(var V=n[B],U=0;U<3;++U)!isNaN(V[U])&&isFinite(V[U])&&(this.bounds[0][U]=Math.min(this.bounds[0][U],V[U]),this.bounds[1][U]=Math.max(this.bounds[1][U],V[U]));var q=0,H=0,G=0;t:for(B=0;B<r.length;++B){var W=r[B];switch(W.length){case 1:for(V=n[X=W[0]],U=0;U<3;++U)if(isNaN(V[U])||!isFinite(V[U]))continue t;x.push(V[0],V[1],V[2],V[3]),3===(Z=E?E[X]:C?C[B]:L).length?b.push(Z[0],Z[1],Z[2],1):b.push(Z[0],Z[1],Z[2],Z[3]),$=z?z[X]:P?[(P[X]-D)/(R-D),0]:O?O[B]:I?[(I[B]-D)/(R-D),0]:[(V[2]-D)/(R-D),0],_.push($[0],$[1]),N?w.push(N[X]):w.push(j),k.push(B),G+=1;break;case 2:for(U=0;U<2;++U){V=n[X=W[U]];for(var Y=0;Y<3;++Y)if(isNaN(V[Y])||!isFinite(V[Y]))continue t}for(U=0;U<2;++U){V=n[X=W[U]];g.push(V[0],V[1],V[2]),3===(Z=E?E[X]:C?C[B]:L).length?m.push(Z[0],Z[1],Z[2],1):m.push(Z[0],Z[1],Z[2],Z[3]),$=z?z[X]:P?[(P[X]-D)/(R-D),0]:O?O[B]:I?[(I[B]-D)/(R-D),0]:[(V[2]-D)/(R-D),0],v.push($[0],$[1]),y.push(B)}H+=1;break;case 3:for(U=0;U<3;++U)for(V=n[X=W[U]],Y=0;Y<3;++Y)if(isNaN(V[Y])||!isFinite(V[Y]))continue t;for(U=0;U<3;++U){var X;V=n[X=W[U]];a.push(V[0],V[1],V[2],V[3]);var Z,$,J,K=i[X];l.push(K[0],K[1],K[2]),3===(Z=E?E[X]:C?C[B]:L).length?c.push(Z[0],Z[1],Z[2],1):c.push(Z[0],Z[1],Z[2],Z[3]),$=z?z[X]:P?[(P[X]-D)/(R-D),0]:O?O[B]:I?[(I[B]-D)/(R-D),0]:[(V[2]-D)/(R-D),0],p.push($[0],$[1]),J=M?M[X]:A[B],h.push(J[0],J[1],J[2]),d.push(B)}q+=1}}this.pointCount=G,this.edgeCount=H,this.triangleCount=q,this.pointPositions.update(x),this.pointColors.update(b),this.pointUVs.update(_),this.pointSizes.update(w),this.pointIds.update(new Uint32Array(k)),this.edgePositions.update(g),this.edgeColors.update(m),this.edgeUVs.update(v),this.edgeIds.update(new Uint32Array(y)),this.trianglePositions.update(a),this.triangleVectors.update(l),this.triangleColors.update(c),this.triangleUVs.update(p),this.triangleNormals.update(h),this.triangleIds.update(new Uint32Array(d))}},x.drawTransparent=x.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||v,n=t.view||v,i=t.projection||v,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,contourColor:this.contourColor,texture:0};this.texture.bind(0);var u=new Array(16);l(u,s.view,s.model),l(u,s.projection,u),c(u,u);for(o=0;o<3;++o)s.eyePosition[o]=u[12+o]/u[15];var f,h=u[15];for(o=0;o<3;++o)h+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];s.lightPosition[o]=p/h}this.triangleCount>0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},x.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||v,n=t.view||v,i=t.projection||v,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},x.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3);return{index:Math.floor(r[1]/48),position:n,dataCoordinate:n}},x.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose()},e.exports=function(t,e){1===arguments.length&&(t=(e=t).gl);var r=e.triShader||function(t){var e=n(t,g.vertex,g.fragment,null,g.attributes);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.vector.location=5,e}(t),s=b(t),l=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));l.generateMipmap(),l.minFilter=t.LINEAR_MIPMAP_LINEAR,l.magFilter=t.LINEAR;var c=i(t),f=i(t),h=i(t),p=i(t),d=i(t),m=i(t),v=a(t,[{buffer:c,type:t.FLOAT,size:4},{buffer:m,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:h,type:t.FLOAT,size:4},{buffer:p,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:3},{buffer:f,type:t.FLOAT,size:3}]),x=i(t),_=i(t),w=i(t),k=i(t),M=a(t,[{buffer:x,type:t.FLOAT,size:3},{buffer:k,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:_,type:t.FLOAT,size:4},{buffer:w,type:t.FLOAT,size:2}]),A=i(t),T=i(t),S=i(t),E=i(t),C=i(t),L=a(t,[{buffer:A,type:t.FLOAT,size:3},{buffer:C,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:T,type:t.FLOAT,size:4},{buffer:S,type:t.FLOAT,size:2},{buffer:E,type:t.FLOAT,size:1}]),z=i(t),P=new y(t,l,r,null,null,s,null,null,c,f,m,h,p,d,v,x,k,_,w,M,A,C,T,S,E,L,z,a(t,[{buffer:z,type:t.FLOAT,size:3}]));return P.update(e),P}},{"./closest-point":231,"./shaders":233,colormap:113,"gl-buffer":229,"gl-mat4/invert":253,"gl-mat4/multiply":255,"gl-shader":286,"gl-texture2d":303,"gl-vao":308,ndarray:430,normals:433,"simplicial-complex-contour":491,"typedarray-pool":519}],233:[function(t,e,r){var n=t("glslify"),i=n(["precision mediump float;\n#define GLSLIFY 1\n\nfloat inverse(float m) {\n return 1.0 / m;\n}\n\nmat2 inverse(mat2 m) {\n return mat2(m[1][1],-m[0][1],\n -m[1][0], m[0][0]) / (m[0][0]*m[1][1] - m[0][1]*m[1][0]);\n}\n\nmat3 inverse(mat3 m) {\n float a00 = m[0][0], a01 = m[0][1], a02 = m[0][2];\n float a10 = m[1][0], a11 = m[1][1], a12 = m[1][2];\n float a20 = m[2][0], a21 = m[2][1], a22 = m[2][2];\n\n float b01 = a22 * a11 - a12 * a21;\n float b11 = -a22 * a10 + a12 * a20;\n float b21 = a21 * a10 - a11 * a20;\n\n float det = a00 * b01 + a01 * b11 + a02 * b21;\n\n return mat3(b01, (-a22 * a01 + a02 * a21), (a12 * a01 - a02 * a11),\n b11, (a22 * a00 - a02 * a20), (-a12 * a00 + a02 * a10),\n b21, (-a21 * a00 + a01 * a20), (a11 * a00 - a01 * a10)) / det;\n}\n\nmat4 inverse(mat4 m) {\n float\n a00 = m[0][0], a01 = m[0][1], a02 = m[0][2], a03 = m[0][3],\n a10 = m[1][0], a11 = m[1][1], a12 = m[1][2], a13 = m[1][3],\n a20 = m[2][0], a21 = m[2][1], a22 = m[2][2], a23 = m[2][3],\n a30 = m[3][0], a31 = m[3][1], a32 = m[3][2], a33 = m[3][3],\n\n b00 = a00 * a11 - a01 * a10,\n b01 = a00 * a12 - a02 * a10,\n b02 = a00 * a13 - a03 * a10,\n b03 = a01 * a12 - a02 * a11,\n b04 = a01 * a13 - a03 * a11,\n b05 = a02 * a13 - a03 * a12,\n b06 = a20 * a31 - a21 * a30,\n b07 = a20 * a32 - a22 * a30,\n b08 = a20 * a33 - a23 * a30,\n b09 = a21 * a32 - a22 * a31,\n b10 = a21 * a33 - a23 * a31,\n b11 = a22 * a33 - a23 * a32,\n\n det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\n\n return mat4(\n a11 * b11 - a12 * b10 + a13 * b09,\n a02 * b10 - a01 * b11 - a03 * b09,\n a31 * b05 - a32 * b04 + a33 * b03,\n a22 * b04 - a21 * b05 - a23 * b03,\n a12 * b08 - a10 * b11 - a13 * b07,\n a00 * b11 - a02 * b08 + a03 * b07,\n a32 * b02 - a30 * b05 - a33 * b01,\n a20 * b05 - a22 * b02 + a23 * b01,\n a10 * b10 - a11 * b08 + a13 * b06,\n a01 * b08 - a00 * b10 - a03 * b06,\n a30 * b04 - a31 * b02 + a33 * b00,\n a21 * b02 - a20 * b04 - a23 * b00,\n a11 * b07 - a10 * b09 - a12 * b06,\n a00 * b09 - a01 * b07 + a02 * b06,\n a31 * b01 - a30 * b03 - a32 * b00,\n a20 * b03 - a21 * b01 + a22 * b00) / det;\n}\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float index, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n index = mod(index, segmentCount * 6.0);\n\n float segment = floor(index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex == 3.0) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n // angle = 2pi * ((segment + ((segmentIndex == 1.0 || segmentIndex == 5.0) ? 1.0 : 0.0)) / segmentCount)\n float nextAngle = float(segmentIndex == 1.0 || segmentIndex == 5.0);\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex <= 2.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\nuniform float vectorScale;\nuniform float coneScale;\n\nuniform float coneOffset;\n\nuniform mat4 model\n , view\n , projection;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal), 0.0);\n normal = normalize(normal * inverse(mat3(model)));\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n f_color = color; //vec4(position.w, color.r, 0, 0);\n f_normal = normal;\n f_data = conePosition.xyz;\n f_eyeDirection = eyePosition - conePosition.xyz;\n f_lightDirection = lightPosition - conePosition.xyz;\n f_uv = uv;\n}\n"]),a=n(["precision mediump float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular\n , opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n //if(any(lessThan(f_data, clipBounds[0])) || \n // any(greaterThan(f_data, clipBounds[1]))) {\n // discard;\n //}\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n \n if(!gl_FrontFacing) {\n N = -N;\n }\n\n float specular = cookTorranceSpecular(L, V, N, roughness, fresnel);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float index, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n index = mod(index, segmentCount * 6.0);\n\n float segment = floor(index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex == 3.0) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n // angle = 2pi * ((segment + ((segmentIndex == 1.0 || segmentIndex == 5.0) ? 1.0 : 0.0)) / segmentCount)\n float nextAngle = float(segmentIndex == 1.0 || segmentIndex == 5.0);\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex <= 2.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nuniform float vectorScale;\nuniform float coneScale;\nuniform float coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal), 0.0);\n gl_Position = projection * view * conePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if(any(lessThan(f_position, clipBounds[0])) || \n any(greaterThan(f_position, clipBounds[1]))) {\n discard;\n }\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},{glslify:390}],234:[function(t,e,r){e.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34000:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},{}],235:[function(t,e,r){var n=t("./1.0/numbers");e.exports=function(t){return n[t]}},{"./1.0/numbers":234}],236:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(e,r,o,l);return c.update(t),c};var n=t("gl-buffer"),i=t("gl-vao"),a=t("./shaders/index"),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1}var l=s.prototype;function c(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return this.opacity>=1},l.isTransparent=function(){return this.opacity<1},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],c=n[15],u=this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]),r.capSize=this.capSize[f]*u,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var u=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function f(t,e,r,n){for(var i=u[n],a=0;a<i.length;++a){var o=i[a];t.push(e[0],e[1],e[2],r[0],r[1],r[2],r[3],o[0],o[1],o[2])}return i.length}l.update=function(t){"lineWidth"in(t=t||{})&&(this.lineWidth=t.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),"capSize"in t&&(this.capSize=t.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),"opacity"in t&&(this.opacity=t.opacity);var e=t.color||[[0,0,0],[0,0,0],[0,0,0]],r=t.position,n=t.error;if(Array.isArray(e[0])||(e=[e,e,e]),r&&n){var i=[],a=r.length,o=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var s=0;s<3;++s){this.lineOffset[s]=o;t:for(var l=0;l<a;++l){for(var u=r[l],h=0;h<3;++h)if(isNaN(u[h])||!isFinite(u[h]))continue t;var p=n[l],d=e[s];if(Array.isArray(d[0])&&(d=e[l]),3===d.length&&(d=[d[0],d[1],d[2],1]),!isNaN(p[0][s])&&!isNaN(p[1][s])){var g;if(p[0][s]<0)(g=u.slice())[s]+=p[0][s],i.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+f(i,g,d,s);if(p[1][s]>0)(g=u.slice())[s]+=p[1][s],i.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+f(i,g,d,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{"./shaders/index":237,"gl-buffer":229,"gl-vao":308}],237:[function(t,e,r){"use strict";var n=t("glslify"),i=t("gl-shader"),a=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * view * worldPosition;\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if(any(lessThan(fragPosition, clipBounds[0])) || any(greaterThan(fragPosition, clipBounds[1]))) {\n discard;\n }\n gl_FragColor = opacity * fragColor;\n}"]);e.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},{"gl-shader":286,glslify:390}],238:[function(t,e,r){"use strict";var n=t("gl-texture2d");e.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=t.getExtension("WEBGL_draw_buffers");!l&&c&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;a<n;++a)i[a]=t.COLOR_ATTACHMENT0+a;for(var a=n;a<r;++a)i[a]=t.NONE;l[n]=i}}(t,c);Array.isArray(e)&&(n=r,r=0|e[1],e=0|e[0]);if("number"!=typeof e)throw new Error("gl-fbo: Missing shape parameter");var u=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e<0||e>u||r<0||r>u)throw new Error("gl-fbo: Parameters are too large for FBO");var f=1;if("color"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(f>1){if(!c)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(f>t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+f+" draw buffers")}}var h=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&f>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=t.FLOAT);var g=!0;"depth"in n&&(g=!!n.depth);var m=!1;"stencil"in n&&(m=!!n.stencil);return new d(t,e,r,h,f,g,m,c)};var i,a,o,s,l=null;function c(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function u(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case i:throw new Error("gl-fbo: Framebuffer unsupported");case a:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d<i;++d)this.color[d]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=n,this._useDepth=a,this._useStencil=o;var g=this,m=[0|e,0|r];Object.defineProperties(m,{0:{get:function(){return g._shape[0]},set:function(t){return g.width=t}},1:{get:function(){return g._shape[1]},set:function(t){return g.height=t}}}),this._shapeVector=m,function(t){var e=c(t.gl),r=t.gl,n=t.handle=r.createFramebuffer(),i=t._shape[0],a=t._shape[1],o=t.color.length,s=t._ext,d=t._useStencil,g=t._useDepth,m=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,n);for(var v=0;v<o;++v)t.color[v]=h(r,i,a,m,r.RGBA,r.COLOR_ATTACHMENT0+v);0===o?(t._color_rb=p(r,i,a,r.RGBA4,r.COLOR_ATTACHMENT0),s&&s.drawBuffersWEBGL(l[0])):o>1&&s.drawBuffersWEBGL(l[o]);var y=r.getExtension("WEBGL_depth_texture");y?d?t.depth=h(r,i,a,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):g&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),v=0;v<t.color.length;++v)t.color[v].dispose(),t.color[v]=null;t._color_rb&&(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),u(r,e),f(x)}u(r,e)}(this)}var g=d.prototype;function m(t,e,r){if(t._destroyed)throw new Error("gl-fbo: Can't resize destroyed FBO");if(t._shape[0]!==e||t._shape[1]!==r){var n=t.gl,i=n.getParameter(n.MAX_RENDERBUFFER_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var a=c(n),o=0;o<t.color.length;++o)t.color[o].shape=t._shape;t._color_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._color_rb),n.renderbufferStorage(n.RENDERBUFFER,n.RGBA4,t._shape[0],t._shape[1])),t.depth&&(t.depth.shape=t._shape),t._depth_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._depth_rb),t._useDepth&&t._useStencil?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&&n.renderbufferStorage(n.RENDERBUFFER,n.STENCIL_INDEX,t._shape[0],t._shape[1])),n.bindFramebuffer(n.FRAMEBUFFER,t.handle);var s=n.checkFramebufferStatus(n.FRAMEBUFFER);s!==n.FRAMEBUFFER_COMPLETE&&(t.dispose(),u(n,a),f(s)),u(n,a)}}Object.defineProperties(g,{shape:{get:function(){return this._destroyed?[0,0]:this._shapeVector},set:function(t){if(Array.isArray(t)||(t=[0|t,0|t]),2!==t.length)throw new Error("gl-fbo: Shape vector must be length 2");var e=0|t[0],r=0|t[1];return m(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return m(this,t|=0,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,m(this,this._shape[0],t),t},enumerable:!1}}),g.bind=function(){if(!this._destroyed){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.handle),t.viewport(0,0,this._shape[0],this._shape[1])}},g.dispose=function(){if(!this._destroyed){this._destroyed=!0;var t=this.gl;t.deleteFramebuffer(this.handle),this.handle=null,this.depth&&(this.depth.dispose(),this.depth=null),this._depth_rb&&(t.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var e=0;e<this.color.length;++e)this.color[e].dispose(),this.color[e]=null;this._color_rb&&(t.deleteRenderbuffer(this._color_rb),this._color_rb=null)}}},{"gl-texture2d":303}],239:[function(t,e,r){var n=t("sprintf-js").sprintf,i=t("gl-constants/lookup"),a=t("glsl-shader-name"),o=t("add-line-numbers");e.exports=function(t,e,r){"use strict";var s=a(e)||"of unknown name (see npm glsl-shader-name)",l="unknown type";void 0!==r&&(l=r===i.FRAGMENT_SHADER?"fragment":"vertex");for(var c=n("Error compiling %s shader %s:\n",l,s),u=n("%s%s",c,t),f=t.split("\n"),h={},p=0;p<f.length;p++){var d=f[p];if(""!==d&&"\0"!==d){var g=parseInt(d.split(":")[2]);if(isNaN(g))throw new Error(n("Could not parse error: %s",d));h[g]=d}}for(var m=o(e).split("\n"),p=0;p<m.length;p++)if(h[p+3]||h[p+2]||h[p+1]){var v=m[p];if(c+=v+"\n",h[p+1]){var y=h[p+1];y=y.substr(y.split(":",3).join(":").length+1).trim(),c+=n("^^^ %s\n\n",y)}}return{long:c.trim(),short:u.trim()}}},{"add-line-numbers":48,"gl-constants/lookup":235,"glsl-shader-name":382,"sprintf-js":501}],240:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.gl,n=o(r,l.vertex,l.fragment),i=o(r,l.pickVertex,l.pickFragment),a=s(r),u=s(r),f=s(r),h=s(r),p=new c(t,n,i,a,u,f,h);return p.update(e),t.addObject(p),p};var n=t("binary-search-bounds"),i=t("iota-array"),a=t("typedarray-pool"),o=t("gl-shader"),s=t("gl-buffer"),l=t("./lib/shaders");function c(t,e,r,n,i,a,o){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.weightBuffer=i,this.colorBuffer=a,this.idBuffer=o,this.xData=[],this.yData=[],this.shape=[0,0],this.bounds=[1/0,1/0,-1/0,-1/0],this.pickOffset=0}var u,f=c.prototype,h=[0,0,1,0,0,1,1,0,1,1,0,1];f.draw=(u=[1,0,0,0,1,0,0,0,1],function(){var t=this.plot,e=this.shader,r=this.bounds,n=this.numVertices;if(!(n<=0)){var i=t.gl,a=t.dataBox,o=r[2]-r[0],s=r[3]-r[1],l=a[2]-a[0],c=a[3]-a[1];u[0]=2*o/l,u[4]=2*s/c,u[6]=2*(r[0]-a[0])/l-1,u[7]=2*(r[1]-a[1])/c-1,e.bind();var f=e.uniforms;f.viewTransform=u,f.shape=this.shape;var h=e.attributes;this.positionBuffer.bind(),h.position.pointer(),this.weightBuffer.bind(),h.weight.pointer(i.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),h.color.pointer(i.UNSIGNED_BYTE,!0),i.drawArrays(i.TRIANGLES,0,n)}}),f.drawPick=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=this.plot,i=this.pickShader,a=this.bounds,o=this.numVertices;if(!(o<=0)){var s=n.gl,l=n.dataBox,c=a[2]-a[0],u=a[3]-a[1],f=l[2]-l[0],h=l[3]-l[1];t[0]=2*c/f,t[4]=2*u/h,t[6]=2*(a[0]-l[0])/f-1,t[7]=2*(a[1]-l[1])/h-1;for(var p=0;p<4;++p)e[p]=r>>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var g=i.attributes;return this.positionBuffer.bind(),g.position.pointer(),this.weightBuffer.bind(),g.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),g.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r<n||r>=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=o;var l=t.colorLevels||[0],c=t.colorValues||[0,0,0,1],u=l.length,f=this.bounds,p=f[0]=r[0],d=f[1]=o[0],g=1/((f[2]=r[r.length-1])-p),m=1/((f[3]=o[o.length-1])-d),v=e[0],y=e[1];this.shape=[v,y];var x=(v-1)*(y-1)*(h.length>>>1);this.numVertices=x;for(var b=a.mallocUint8(4*x),_=a.mallocFloat32(2*x),w=a.mallocUint8(2*x),k=a.mallocUint32(x),M=0,A=0;A<y-1;++A)for(var T=m*(o[A]-d),S=m*(o[A+1]-d),E=0;E<v-1;++E)for(var C=g*(r[E]-p),L=g*(r[E+1]-p),z=0;z<h.length;z+=2){var P,O,I,D,R=h[z],B=h[z+1],F=s[(A+B)*v+(E+R)],N=n.le(l,F);if(N<0)P=c[0],O=c[1],I=c[2],D=c[3];else if(N===u-1)P=c[4*u-4],O=c[4*u-3],I=c[4*u-2],D=c[4*u-1];else{var j=(F-l[N])/(l[N+1]-l[N]),V=1-j,U=4*N,q=4*(N+1);P=V*c[U]+j*c[q],O=V*c[U+1]+j*c[q+1],I=V*c[U+2]+j*c[q+2],D=V*c[U+3]+j*c[q+3]}b[4*M]=255*P,b[4*M+1]=255*O,b[4*M+2]=255*I,b[4*M+3]=255*D,_[2*M]=.5*C+.5*L,_[2*M+1]=.5*T+.5*S,w[2*M]=R,w[2*M+1]=B,k[M]=A*v+E,M+=1}this.positionBuffer.update(_),this.weightBuffer.update(w),this.colorBuffer.update(b),this.idBuffer.update(k),a.free(_),a.free(b),a.free(w),a.free(k)},f.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)}},{"./lib/shaders":241,"binary-search-bounds":242,"gl-buffer":229,"gl-shader":286,"iota-array":397,"typedarray-pool":519}],241:[function(t,e,r){"use strict";var n=t("glslify");e.exports={fragment:n(["precision lowp float;\n#define GLSLIFY 1\nvarying vec4 fragColor;\nvoid main() {\n gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\n}\n"]),vertex:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 color;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragColor;\n\nvoid main() {\n vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n fragColor = color;\n gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n"]),pickFragment:n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nuniform vec2 shape;\nuniform vec4 pickOffset;\n\nvoid main() {\n vec2 d = step(.5, vWeight);\n vec4 id = fragId + pickOffset;\n id.x += d.x + d.y*shape.x;\n\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n gl_FragColor = id/255.;\n}\n"]),pickVertex:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nvoid main() {\n vWeight = weight;\n\n fragId = pickId;\n\n vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n"])}},{glslify:390}],242:[function(t,e,r){arguments[4][98][0].apply(r,arguments)},{dup:98}],243:[function(t,e,r){var n=t("glslify"),i=t("gl-shader"),a=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, nextPosition;\nattribute float arcLength, lineWidth;\nattribute vec4 color;\n\nuniform vec2 screenShape;\nuniform float pixelRatio;\nuniform mat4 model, view, projection;\n\nvarying vec4 fragColor;\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\n\nvoid main() {\n vec4 projected = projection * view * model * vec4(position, 1.0);\n vec4 tangentClip = projection * view * model * vec4(nextPosition - position, 0.0);\n vec2 tangent = normalize(screenShape * tangentClip.xy);\n vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(tangent.y, -tangent.x) / screenShape;\n\n gl_Position = vec4(projected.xy + projected.w * offset, projected.zw);\n\n worldPosition = position;\n pixelArcLength = arcLength;\n fragColor = color;\n}\n"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\n discard;\n }\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision mediump float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\nlowp vec4 encode_float_1540259130(highp float v) {\n highp float av = abs(v);\n\n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n highp vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n highp float e = floor(log2(av));\n highp float m = av * pow(2.0, -e) - 1.0;\n \n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n \n //Unpack exponent\n highp float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0; \n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\n discard;\n }\n gl_FragColor = vec4(pickId/255.0, encode_float_1540259130(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];r.createShader=function(t){return i(t,a,o,null,l)},r.createPickShader=function(t){return i(t,a,s,null,l)}},{"gl-shader":286,glslify:390}],244:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=u(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=f(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),c=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),h=l(new Array(1024),[256,1,4]),p=0;p<1024;++p)h.data[p]=255;var d=a(e,h);d.wrap=e.REPEAT;var g=new m(e,r,o,s,c,d);return g.update(t),g};var n=t("gl-buffer"),i=t("gl-vao"),a=t("gl-texture2d"),o=t("glsl-read-float"),s=t("binary-search-bounds"),l=t("ndarray"),c=t("./lib/shaders"),u=c.createShader,f=c.createPickShader,h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function p(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function d(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function m(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.dirty=!0,this.pixelRatio=1}var v=m.prototype;v.isTransparent=function(){return this.opacity<1},v.isOpaque=function(){return this.opacity>=1},v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.drawTransparent=v.draw=function(t){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||h,view:t.view||h,projection:t.projection||h,clipBounds:d(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()},v.drawPick=function(t){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||h,view:t.view||h,projection:t.projection||h,pickId:this.pickId,clipBounds:d(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()},v.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),"opacity"in t&&(this.opacity=+t.opacity);var i=t.position||t.positions;if(i){var a=t.color||t.colors||[0,0,0,1],o=t.lineWidth||1,c=[],u=[],f=[],h=0,d=0,g=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],m=!1;t:for(e=1;e<i.length;++e){var v,y,x,b=i[e-1],_=i[e];for(u.push(h),f.push(b.slice()),r=0;r<3;++r){if(isNaN(b[r])||isNaN(_[r])||!isFinite(b[r])||!isFinite(_[r])){if(!n&&c.length>0){for(var w=0;w<24;++w)c.push(c[c.length-12]);d+=2,m=!0}continue t}g[0][r]=Math.min(g[0][r],b[r],_[r]),g[1][r]=Math.max(g[1][r],b[r],_[r])}Array.isArray(a[0])?(v=a[e-1],y=a[e]):v=y=a,3===v.length&&(v=[v[0],v[1],v[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),x=Array.isArray(o)?o[e-1]:o;var k=h;if(h+=p(b,_),m){for(r=0;r<2;++r)c.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,v[0],v[1],v[2],v[3]);d+=2,m=!1}c.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,v[0],v[1],v[2],v[3],b[0],b[1],b[2],_[0],_[1],_[2],k,-x,v[0],v[1],v[2],v[3],_[0],_[1],_[2],b[0],b[1],b[2],h,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],h,x,y[0],y[1],y[2],y[3]),d+=4}if(this.buffer.update(c),u.push(h),f.push(i[i.length-1].slice()),this.bounds=g,this.vertexCount=d,this.points=f,this.arcLength=u,"dashes"in t){var M=t.dashes.slice();for(M.unshift(0),e=1;e<M.length;++e)M[e]=M[e-1]+M[e];var A=l(new Array(1024),[256,1,4]);for(e=0;e<256;++e){for(r=0;r<4;++r)A.set(e,0,r,0);1&s.le(M,M[M.length-1]*e/255)?A.set(e,0,0,0):A.set(e,0,0,255)}this.texture.setPixels(A)}}},v.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},v.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=o(t.value[0],t.value[1],t.value[2],0),r=s.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new g(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),r);for(var n=this.points[r],i=this.points[Math.min(r+1,this.points.length-1)],a=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),l=1-a,c=[0,0,0],u=0;u<3;++u)c[u]=l*n[u]+a*i[u];var f=Math.min(a<.5?r:r+1,this.points.length-1);return new g(e,c,f,this.points[f])}},{"./lib/shaders":243,"binary-search-bounds":78,"gl-buffer":229,"gl-texture2d":303,"gl-vao":308,"glsl-read-float":381,ndarray:430}],245:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null}},{}],246:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=u*o-s*c,h=-u*a+s*l,p=c*a-o*l,d=r*f+n*h+i*p;return d?(d=1/d,t[0]=f*d,t[1]=(-u*n+i*c)*d,t[2]=(s*n-i*o)*d,t[3]=h*d,t[4]=(u*r-i*l)*d,t[5]=(-s*r+i*a)*d,t[6]=p*d,t[7]=(-c*r+n*l)*d,t[8]=(o*r-n*a)*d,t):null}},{}],247:[function(t,e,r){e.exports=function(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},{}],248:[function(t,e,r){e.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],249:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],c=t[8],u=t[9],f=t[10],h=t[11],p=t[12],d=t[13],g=t[14],m=t[15];return(e*o-r*a)*(f*m-h*g)-(e*s-n*a)*(u*m-h*d)+(e*l-i*a)*(u*g-f*d)+(r*s-n*o)*(c*m-h*p)-(r*l-i*o)*(c*g-f*p)+(n*l-i*s)*(c*d-u*p)}},{}],250:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,c=r*o,u=n*o,f=n*s,h=i*o,p=i*s,d=i*l,g=a*o,m=a*s,v=a*l;return t[0]=1-f-d,t[1]=u+v,t[2]=h-m,t[3]=0,t[4]=u-v,t[5]=1-c-d,t[6]=p+g,t[7]=0,t[8]=h+m,t[9]=p-g,t[10]=1-c-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],251:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,c=a+a,u=n*s,f=n*l,h=n*c,p=i*l,d=i*c,g=a*c,m=o*s,v=o*l,y=o*c;return t[0]=1-(p+g),t[1]=f+y,t[2]=h-v,t[3]=0,t[4]=f-y,t[5]=1-(u+g),t[6]=d+m,t[7]=0,t[8]=h+v,t[9]=d-m,t[10]=1-(u+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},{}],252:[function(t,e,r){e.exports=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],253:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=e[9],h=e[10],p=e[11],d=e[12],g=e[13],m=e[14],v=e[15],y=r*s-n*o,x=r*l-i*o,b=r*c-a*o,_=n*l-i*s,w=n*c-a*s,k=i*c-a*l,M=u*g-f*d,A=u*m-h*d,T=u*v-p*d,S=f*m-h*g,E=f*v-p*g,C=h*v-p*m,L=y*C-x*E+b*S+_*T-w*A+k*M;if(!L)return null;return L=1/L,t[0]=(s*C-l*E+c*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(g*k-m*w+v*_)*L,t[3]=(h*w-f*k-p*_)*L,t[4]=(l*T-o*C-c*A)*L,t[5]=(r*C-i*T+a*A)*L,t[6]=(m*b-d*k-v*x)*L,t[7]=(u*k-h*b+p*x)*L,t[8]=(o*E-s*T+c*M)*L,t[9]=(n*T-r*E-a*M)*L,t[10]=(d*w-g*b+v*y)*L,t[11]=(f*b-u*w-p*y)*L,t[12]=(s*A-o*S-l*M)*L,t[13]=(r*S-n*A+i*M)*L,t[14]=(g*x-d*_-m*y)*L,t[15]=(u*_-f*x+h*y)*L,t}},{}],254:[function(t,e,r){var n=t("./identity");e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,p,d,g=e[0],m=e[1],v=e[2],y=i[0],x=i[1],b=i[2],_=r[0],w=r[1],k=r[2];if(Math.abs(g-_)<1e-6&&Math.abs(m-w)<1e-6&&Math.abs(v-k)<1e-6)return n(t);f=g-_,h=m-w,p=v-k,d=1/Math.sqrt(f*f+h*h+p*p),a=x*(p*=d)-b*(h*=d),o=b*(f*=d)-y*p,s=y*h-x*f,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0);l=h*s-p*o,c=p*a-f*s,u=f*o-h*a,(d=Math.sqrt(l*l+c*c+u*u))?(l*=d=1/d,c*=d,u*=d):(l=0,c=0,u=0);return t[0]=a,t[1]=l,t[2]=f,t[3]=0,t[4]=o,t[5]=c,t[6]=h,t[7]=0,t[8]=s,t[9]=u,t[10]=p,t[11]=0,t[12]=-(a*g+o*m+s*v),t[13]=-(l*g+c*m+u*v),t[14]=-(f*g+h*m+p*v),t[15]=1,t}},{"./identity":252}],255:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],g=e[12],m=e[13],v=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*g,t[1]=x*i+b*l+_*h+w*m,t[2]=x*a+b*c+_*p+w*v,t[3]=x*o+b*u+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*g,t[5]=x*i+b*l+_*h+w*m,t[6]=x*a+b*c+_*p+w*v,t[7]=x*o+b*u+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*g,t[9]=x*i+b*l+_*h+w*m,t[10]=x*a+b*c+_*p+w*v,t[11]=x*o+b*u+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*g,t[13]=x*i+b*l+_*h+w*m,t[14]=x*a+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t}},{}],256:[function(t,e,r){e.exports=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}},{}],257:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,k,M,A,T,S,E=n[0],C=n[1],L=n[2],z=Math.sqrt(E*E+C*C+L*L);if(Math.abs(z)<1e-6)return null;E*=z=1/z,C*=z,L*=z,i=Math.sin(r),a=Math.cos(r),o=1-a,s=e[0],l=e[1],c=e[2],u=e[3],f=e[4],h=e[5],p=e[6],d=e[7],g=e[8],m=e[9],v=e[10],y=e[11],x=E*E*o+a,b=C*E*o+L*i,_=L*E*o-C*i,w=E*C*o-L*i,k=C*C*o+a,M=L*C*o+E*i,A=E*L*o+C*i,T=C*L*o-E*i,S=L*L*o+a,t[0]=s*x+f*b+g*_,t[1]=l*x+h*b+m*_,t[2]=c*x+p*b+v*_,t[3]=u*x+d*b+y*_,t[4]=s*w+f*k+g*M,t[5]=l*w+h*k+m*M,t[6]=c*w+p*k+v*M,t[7]=u*w+d*k+y*M,t[8]=s*A+f*T+g*S,t[9]=l*A+h*T+m*S,t[10]=c*A+p*T+v*S,t[11]=u*A+d*T+y*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t}},{}],258:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],f=e[10],h=e[11];e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[4]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t}},{}],259:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[8],u=e[9],f=e[10],h=e[11];e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=a*i-c*n,t[1]=o*i-u*n,t[2]=s*i-f*n,t[3]=l*i-h*n,t[8]=a*n+c*i,t[9]=o*n+u*i,t[10]=s*n+f*i,t[11]=l*n+h*i,t}},{}],260:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],f=e[6],h=e[7];e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t}},{}],261:[function(t,e,r){e.exports=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},{}],262:[function(t,e,r){e.exports=function(t,e,r){var n,i,a,o,s,l,c,u,f,h,p,d,g=r[0],m=r[1],v=r[2];e===t?(t[12]=e[0]*g+e[4]*m+e[8]*v+e[12],t[13]=e[1]*g+e[5]*m+e[9]*v+e[13],t[14]=e[2]*g+e[6]*m+e[10]*v+e[14],t[15]=e[3]*g+e[7]*m+e[11]*v+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*g+s*m+f*v+e[12],t[13]=i*g+l*m+h*v+e[13],t[14]=a*g+c*m+p*v+e[14],t[15]=o*g+u*m+d*v+e[15]);return t}},{}],263:[function(t,e,r){e.exports=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[11]=e[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}},{}],264:[function(t,e,r){"use strict";e.exports=function(t,e){switch(e.length){case 0:break;case 1:t[0]=1/e[0];break;case 4:n(t,e);break;case 9:i(t,e);break;case 16:a(t,e);break;default:throw new Error("currently supports matrices up to 4x4")}return t};var n=t("gl-mat2/invert"),i=t("gl-mat3/invert"),a=t("gl-mat4/invert")},{"gl-mat2/invert":245,"gl-mat3/invert":246,"gl-mat4/invert":253}],265:[function(t,e,r){"use strict";var n=t("barycentric"),i=t("polytope-closest-point/lib/closest_point_2d.js");function a(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var i=0;i<4;++i)r[i]+=t[4*n+i]*e[n];return r}function o(t,e,r,n,i){for(var o=a(n,a(r,a(e,[t[0],t[1],t[2],1]))),s=0;s<3;++s)o[s]/=o[3];return[.5*i[0]*(1+o[0]),.5*i[1]*(1-o[1])]}e.exports=function(t,e,r,a,s,l){if(1===t.length)return[0,t[0].slice()];for(var c=new Array(t.length),u=0;u<t.length;++u)c[u]=o(t[u],r,a,s,l);for(var f=0,h=1/0,u=0;u<c.length;++u){for(var p=0,d=0;d<2;++d)p+=Math.pow(c[u][d]-e[d],2);p<h&&(h=p,f=u)}for(var g=function(t,e){if(2===t.length){for(var r=0,a=0,o=0;o<2;++o)r+=Math.pow(e[o]-t[0][o],2),a+=Math.pow(e[o]-t[1][o],2);return r=Math.sqrt(r),a=Math.sqrt(a),r+a<1e-6?[1,0]:[a/(r+a),r/(a+r)]}if(3===t.length){var s=[0,0];return i(t[0],t[1],t[2],e,s),n(t,s)}return[]}(c,e),m=0,u=0;u<3;++u){if(g[u]<-.001||g[u]>1.0001)return null;m+=g[u]}if(Math.abs(m-1)>.001)return null;return[f,function(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var i=t[n],a=e[n],o=0;o<3;++o)r[o]+=a*i[o];return r}(t,g),g]}},{barycentric:60,"polytope-closest-point/lib/closest_point_2d.js":461}],266:[function(t,e,r){var n=t("glslify"),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec4 m_position = model * vec4(position, 1.0);\n vec4 t_position = view * m_position;\n gl_Position = projection * t_position;\n f_color = color;\n f_normal = normal;\n f_data = position;\n f_eyeDirection = eyePosition - position;\n f_lightDirection = lightPosition - position;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nvec3 normals(vec3 pos) {\n vec3 fdx = dFdx(pos);\n vec3 fdy = dFdy(pos);\n return normalize(cross(fdx, fdy));\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular\n , opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if(any(lessThan(f_data, clipBounds[0])) ||\n any(greaterThan(f_data, clipBounds[1]))) {\n discard;\n }\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n vec3 normal = normals(f_data);\n\n if (\n dot(N, normal) < 0.0\n ) {\n N = -N;\n }\n\n float specular = cookTorranceSpecular(L, V, N, roughness, fresnel);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_color = color;\n f_data = position;\n f_uv = uv;\n}"]),s=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if(any(lessThan(f_data, clipBounds[0])) || \n any(greaterThan(f_data, clipBounds[1]))) {\n discard;\n }\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if(any(lessThan(position, clipBounds[0])) || \n any(greaterThan(position, clipBounds[1]))) {\n gl_Position = vec4(0,0,0,0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}"]),c=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5,0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),u=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_id = id;\n f_position = position;\n}"]),f=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if(any(lessThan(f_position, clipBounds[0])) || \n any(greaterThan(f_position, clipBounds[1]))) {\n discard;\n }\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),h=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if(any(lessThan(position, clipBounds[0])) || \n any(greaterThan(position, clipBounds[1]))) {\n gl_Position = vec4(0,0,0,0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),p=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n}"]),d=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor,1);\n}\n"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.pointShader={vertex:l,fragment:c,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},r.pickShader={vertex:u,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},r.pointPickShader={vertex:h,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},r.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},{glslify:390}],267:[function(t,e,r){"use strict";var n=t("gl-shader"),i=t("gl-buffer"),a=t("gl-vao"),o=t("gl-texture2d"),s=t("normals"),l=t("gl-mat4/multiply"),c=t("gl-mat4/invert"),u=t("ndarray"),f=t("colormap"),h=t("simplicial-complex-contour"),p=t("typedarray-pool"),d=t("./lib/shaders"),g=t("./lib/closest-point"),m=d.meshShader,v=d.wireShader,y=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function k(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,k,M,A,T,S){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=m,this.edgeUVs=v,this.edgeIds=g,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=k,this.pointSizes=M,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=T,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var M=k.prototype;function A(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function T(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function S(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function E(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}M.isOpaque=function(){return this.opacity>=1},M.isTransparent=function(){return this.opacity<1},M.pickSlots=1,M.setPickBase=function(t){this.pickId=t},M.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var c=r[l],u=0;u<2;++u){var f=c[0];2===c.length&&(f=c[u]);for(var d=n[f][0],g=n[f][1],m=i[f],v=1-m,y=this.positions[d],x=this.positions[g],b=0;b<3;++b)o[s++]=m*y[b]+v*x[b]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),p.free(o)}else this.contourCount=0},M.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"contourEnable"in t&&(this.contourEnable=t.contourEnable),"contourColor"in t&&(this.contourColor=t.contourColor),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"lightPosition"in t&&(this.lightPosition=t.lightPosition),"opacity"in t&&(this.opacity=t.opacity),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),t.texture?(this.texture.dispose(),this.texture=o(e,t.texture)):t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=f({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var i=[],a=[],l=[],c=[],h=[],p=[],d=[],g=[],m=[],v=[],y=[],x=[],b=[],_=[];this.cells=r,this.positions=n;var w=t.vertexNormals,k=t.cellNormals,M=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,A=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!k&&(k=s.faceNormals(r,n,A)),k||w||(w=s.vertexNormals(r,n,M));var T=t.vertexColors,S=t.cellColors,E=t.meshColor||[1,1,1,1],C=t.vertexUVs,L=t.vertexIntensity,z=t.cellUVs,P=t.cellIntensity,O=1/0,I=-1/0;if(!C&&!z)if(L)if(t.vertexIntensityBounds)O=+t.vertexIntensityBounds[0],I=+t.vertexIntensityBounds[1];else for(var D=0;D<L.length;++D){var R=L[D];O=Math.min(O,R),I=Math.max(I,R)}else if(P)for(D=0;D<P.length;++D){R=P[D];O=Math.min(O,R),I=Math.max(I,R)}else for(D=0;D<n.length;++D){R=n[D][2];O=Math.min(O,R),I=Math.max(I,R)}this.intensity=L||(P?function(t,e,r){for(var n=new Array(e),i=0;i<e;++i)n[i]=0;var a=t.length;for(i=0;i<a;++i)for(var o=t[i],s=0;s<o.length;++s)n[o[s]]=r[i];return n}(r,n.length,P):function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n));var B=t.pointSizes,F=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(D=0;D<n.length;++D)for(var N=n[D],j=0;j<3;++j)!isNaN(N[j])&&isFinite(N[j])&&(this.bounds[0][j]=Math.min(this.bounds[0][j],N[j]),this.bounds[1][j]=Math.max(this.bounds[1][j],N[j]));var V=0,U=0,q=0;t:for(D=0;D<r.length;++D){var H=r[D];switch(H.length){case 1:for(N=n[W=H[0]],j=0;j<3;++j)if(isNaN(N[j])||!isFinite(N[j]))continue t;v.push(N[0],N[1],N[2]),3===(Y=T?T[W]:S?S[D]:E).length?y.push(Y[0],Y[1],Y[2],1):y.push(Y[0],Y[1],Y[2],Y[3]),X=C?C[W]:L?[(L[W]-O)/(I-O),0]:z?z[D]:P?[(P[D]-O)/(I-O),0]:[(N[2]-O)/(I-O),0],x.push(X[0],X[1]),B?b.push(B[W]):b.push(F),_.push(D),q+=1;break;case 2:for(j=0;j<2;++j){N=n[W=H[j]];for(var G=0;G<3;++G)if(isNaN(N[G])||!isFinite(N[G]))continue t}for(j=0;j<2;++j){N=n[W=H[j]];p.push(N[0],N[1],N[2]),3===(Y=T?T[W]:S?S[D]:E).length?d.push(Y[0],Y[1],Y[2],1):d.push(Y[0],Y[1],Y[2],Y[3]),X=C?C[W]:L?[(L[W]-O)/(I-O),0]:z?z[D]:P?[(P[D]-O)/(I-O),0]:[(N[2]-O)/(I-O),0],g.push(X[0],X[1]),m.push(D)}U+=1;break;case 3:for(j=0;j<3;++j)for(N=n[W=H[j]],G=0;G<3;++G)if(isNaN(N[G])||!isFinite(N[G]))continue t;for(j=0;j<3;++j){var W,Y,X,Z;N=n[W=H[j]];i.push(N[0],N[1],N[2]),3===(Y=T?T[W]:S?S[D]:E).length?a.push(Y[0],Y[1],Y[2],1):a.push(Y[0],Y[1],Y[2],Y[3]),X=C?C[W]:L?[(L[W]-O)/(I-O),0]:z?z[D]:P?[(P[D]-O)/(I-O),0]:[(N[2]-O)/(I-O),0],c.push(X[0],X[1]),Z=w?w[W]:k[D],l.push(Z[0],Z[1],Z[2]),h.push(D)}V+=1}}this.pointCount=q,this.edgeCount=U,this.triangleCount=V,this.pointPositions.update(v),this.pointColors.update(y),this.pointUVs.update(x),this.pointSizes.update(b),this.pointIds.update(new Uint32Array(_)),this.edgePositions.update(p),this.edgeColors.update(d),this.edgeUVs.update(g),this.edgeIds.update(new Uint32Array(m)),this.trianglePositions.update(i),this.triangleColors.update(a),this.triangleUVs.update(c),this.triangleNormals.update(l),this.triangleIds.update(new Uint32Array(h))}},M.drawTransparent=M.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,contourColor:this.contourColor,texture:0};this.texture.bind(0);var u=new Array(16);l(u,s.view,s.model),l(u,s.projection,u),c(u,u);for(o=0;o<3;++o)s.eyePosition[o]=u[12+o]/u[15];var f,h=u[15];for(o=0;o<3;++o)h+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];s.lightPosition[o]=p/h}this.triangleCount>0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},M.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},M.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;a<r.length;++a)i[a]=n[r[a]];var o=g(i,[t.coord[0],this._resolution[1]-t.coord[1]],this._model,this._view,this._projection,this._resolution);if(!o)return null;var s=o[2],l=0;for(a=0;a<r.length;++a)l+=s[a]*this.intensity[r[a]];return{position:o[1],index:r[o[0]],cell:r,cellId:e,intensity:l,dataCoordinate:this.positions[r[o[0]]]}},M.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.lineShader.dispose(),this.pointShader.dispose(),this.pickShader.dispose(),this.pointPickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose(),this.contourShader.dispose()},e.exports=function(t,e){if(1===arguments.length&&(t=(e=t).gl),!(t.getExtension("OES_standard_derivatives")||t.getExtension("MOZ_OES_standard_derivatives")||t.getExtension("WEBKIT_OES_standard_derivatives")))throw new Error("derivatives not supported");var r=function(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}(t),s=function(t){var e=n(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}(t),l=A(t),c=T(t),f=S(t),h=E(t),p=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));p.generateMipmap(),p.minFilter=t.LINEAR_MIPMAP_LINEAR,p.magFilter=t.LINEAR;var d=i(t),g=i(t),y=i(t),x=i(t),b=i(t),_=a(t,[{buffer:d,type:t.FLOAT,size:3},{buffer:b,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:y,type:t.FLOAT,size:2},{buffer:x,type:t.FLOAT,size:3}]),w=i(t),M=i(t),C=i(t),L=i(t),z=a(t,[{buffer:w,type:t.FLOAT,size:3},{buffer:L,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:M,type:t.FLOAT,size:4},{buffer:C,type:t.FLOAT,size:2}]),P=i(t),O=i(t),I=i(t),D=i(t),R=i(t),B=a(t,[{buffer:P,type:t.FLOAT,size:3},{buffer:R,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:O,type:t.FLOAT,size:4},{buffer:I,type:t.FLOAT,size:2},{buffer:D,type:t.FLOAT,size:1}]),F=i(t),N=new k(t,p,r,s,l,c,f,h,d,b,g,y,x,_,w,L,M,C,z,P,R,O,I,D,B,F,a(t,[{buffer:F,type:t.FLOAT,size:3}]));return N.update(e),N}},{"./lib/closest-point":265,"./lib/shaders":266,colormap:113,"gl-buffer":229,"gl-mat4/invert":253,"gl-mat4/multiply":255,"gl-shader":286,"gl-texture2d":303,"gl-vao":308,ndarray:430,normals:433,"simplicial-complex-contour":491,"typedarray-pool":519}],268:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e,[0,0,0,1,1,0,1,1]),s=i(e,a.boxVert,a.lineFrag);return new o(t,r,s)};var n=t("gl-buffer"),i=t("gl-shader"),a=t("./shaders");function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,c=o.prototype;c.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},c.drawBox=(s=[0,0],l=[0,0],function(t,e,r,n,i){var a=this.plot,o=this.shader,c=a.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,o.uniforms.lo=s,o.uniforms.hi=l,o.uniforms.color=i,c.drawArrays(c.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{"./shaders":271,"gl-buffer":229,"gl-shader":286}],269:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),a=i(e,o.gridVert,o.gridFrag),l=i(e,o.tickVert,o.gridFrag);return new s(t,r,a,l)};var n=t("gl-buffer"),i=t("gl-shader"),a=t("binary-search-bounds"),o=t("./shaders");function s(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function l(t,e){return t-e}var c,u,f,h,p,d=s.prototype;d.draw=(c=[0,0],u=[0,0],f=[0,0],function(){for(var t=this.plot,e=this.vbo,r=this.shader,n=this.ticks,i=t.gl,a=t._tickBounds,o=t.dataBox,s=t.viewBox,l=t.gridLineWidth,h=t.gridLineColor,p=t.gridLineEnable,d=t.pixelRatio,g=0;g<2;++g){var m=a[g],v=a[g+2]-m,y=.5*(o[g+2]+o[g]),x=o[g+2]-o[g];u[g]=2*v/x,c[g]=2*(m-y)/x}r.bind(),e.bind(),r.attributes.dataCoord.pointer(),r.uniforms.dataShift=c,r.uniforms.dataScale=u;var b=0;for(g=0;g<2;++g){f[0]=f[1]=0,f[g]=1,r.uniforms.dataAxis=f,r.uniforms.lineWidth=l[g]/(s[g+2]-s[g])*d,r.uniforms.color=h[g];var _=6*n[g].length;p[g]&&_&&i.drawArrays(i.TRIANGLES,b,_),b+=_}}),d.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],i=[0,0],o=[0,0];return function(){for(var s=this.plot,c=this.vbo,u=this.tickShader,f=this.ticks,h=s.gl,p=s._tickBounds,d=s.dataBox,g=s.viewBox,m=s.pixelRatio,v=s.screenBox,y=v[2]-v[0],x=v[3]-v[1],b=g[2]-g[0],_=g[3]-g[1],w=0;w<2;++w){var k=p[w],M=p[w+2]-k,A=.5*(d[w+2]+d[w]),T=d[w+2]-d[w];e[w]=2*M/T,t[w]=2*(k-A)/T}e[0]*=b/y,t[0]*=b/y,e[1]*=_/x,t[1]*=_/x,u.bind(),c.bind(),u.attributes.dataCoord.pointer();var S=u.uniforms;S.dataShift=t,S.dataScale=e;var E=s.tickMarkLength,C=s.tickMarkWidth,L=s.tickMarkColor,z=6*f[0].length,P=Math.min(a.ge(f[0],(d[0]-p[0])/(p[2]-p[0]),l),f[0].length),O=Math.min(a.gt(f[0],(d[2]-p[0])/(p[2]-p[0]),l),f[0].length),I=0+6*P,D=6*Math.max(0,O-P),R=Math.min(a.ge(f[1],(d[1]-p[1])/(p[3]-p[1]),l),f[1].length),B=Math.min(a.gt(f[1],(d[3]-p[1])/(p[3]-p[1]),l),f[1].length),F=z+6*R,N=6*Math.max(0,B-R);i[0]=2*(g[0]-E[1])/y-1,i[1]=(g[3]+g[1])/x-1,o[0]=E[1]*m/y,o[1]=C[1]*m/x,N&&(S.color=L[1],S.tickScale=o,S.dataAxis=n,S.screenOffset=i,h.drawArrays(h.TRIANGLES,F,N)),i[0]=(g[2]+g[0])/y-1,i[1]=2*(g[1]-E[0])/x-1,o[0]=C[0]*m/y,o[1]=E[0]*m/x,D&&(S.color=L[0],S.tickScale=o,S.dataAxis=r,S.screenOffset=i,h.drawArrays(h.TRIANGLES,I,D)),i[0]=2*(g[2]+E[3])/y-1,i[1]=(g[3]+g[1])/x-1,o[0]=E[3]*m/y,o[1]=C[3]*m/x,N&&(S.color=L[3],S.tickScale=o,S.dataAxis=n,S.screenOffset=i,h.drawArrays(h.TRIANGLES,F,N)),i[0]=(g[2]+g[0])/y-1,i[1]=2*(g[3]+E[2])/x-1,o[0]=C[2]*m/y,o[1]=E[2]*m/x,D&&(S.color=L[2],S.tickScale=o,S.dataAxis=r,S.screenOffset=i,h.drawArrays(h.TRIANGLES,I,D))}}(),d.update=(h=[1,1,-1,-1,1,-1],p=[1,-1,1,1,-1,-1],function(t){for(var e=t.ticks,r=t.bounds,n=new Float32Array(18*(e[0].length+e[1].length)),i=(this.plot.zeroLineEnable,0),a=[[],[]],o=0;o<2;++o)for(var s=a[o],l=e[o],c=r[o],u=r[o+2],f=0;f<l.length;++f){var d=(l[f].x-c)/(u-c);s.push(d);for(var g=0;g<6;++g)n[i++]=d,n[i++]=h[g],n[i++]=p[g]}this.ticks=a,this.vbo.update(n)}),d.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},{"./shaders":271,"binary-search-bounds":273,"gl-buffer":229,"gl-shader":286}],270:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e,[-1,-1,-1,1,1,-1,1,1]),s=i(e,a.lineVert,a.lineFrag);return new o(t,r,s)};var n=t("gl-buffer"),i=t("gl-shader"),a=t("./shaders");function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,c=o.prototype;c.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},c.drawLine=(s=[0,0],l=[0,0],function(t,e,r,n,i,a){var o=this.plot,c=this.shader,u=o.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,c.uniforms.start=s,c.uniforms.end=l,c.uniforms.width=i*o.pixelRatio,c.uniforms.color=a,u.drawArrays(u.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{"./shaders":271,"gl-buffer":229,"gl-shader":286}],271:[function(t,e,r){"use strict";var n=t("glslify"),i=n(["precision lowp float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n gl_FragColor = vec4(color.xyz * color.w, color.w);\n}\n"]);e.exports={lineVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 start, end;\nuniform float width;\n\nvec2 perp(vec2 v) {\n return vec2(v.y, -v.x);\n}\n\nvec2 screen(vec2 v) {\n return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n vec2 delta = normalize(perp(start - end));\n vec2 offset = mix(start, end, 0.5 * (coord.y+1.0));\n gl_Position = vec4(screen(offset + 0.5 * width * delta * coord.x), 0, 1);\n}\n"]),lineFrag:i,textVert:n(["#define GLSLIFY 1\nattribute vec3 textCoordinate;\n\nuniform vec2 dataScale, dataShift, dataAxis, screenOffset, textScale;\nuniform float angle;\n\nvoid main() {\n float dataOffset = textCoordinate.z;\n vec2 glyphOffset = textCoordinate.xy;\n mat2 glyphMatrix = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));\n vec2 screenCoordinate = dataAxis * (dataScale * dataOffset + dataShift) +\n glyphMatrix * glyphOffset * textScale + screenOffset;\n gl_Position = vec4(screenCoordinate, 0, 1);\n}\n"]),textFrag:i,gridVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale;\nuniform float lineWidth;\n\nvoid main() {\n vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n pos += 10.0 * dataCoord.y * vec2(dataAxis.y, -dataAxis.x) + dataCoord.z * lineWidth;\n gl_Position = vec4(pos, 0, 1);\n}\n"]),gridFrag:i,boxVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 lo, hi;\n\nvec2 screen(vec2 v) {\n return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n gl_Position = vec4(screen(mix(lo, hi, coord)), 0, 1);\n}\n"]),tickVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale, screenOffset, tickScale;\n\nvoid main() {\n vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n gl_Position = vec4(pos + tickScale*dataCoord.yz + screenOffset, 0, 1);\n}\n"])}},{glslify:390}],272:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),a=i(e,s.textVert,s.textFrag);return new l(t,r,a)};var n=t("gl-buffer"),i=t("gl-shader"),a=t("text-cache"),o=t("binary-search-bounds"),s=t("./shaders");function l(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}var c,u,f,h,p,d,g=l.prototype;g.drawTicks=(c=[0,0],u=[0,0],f=[0,0],function(t){var e=this.plot,r=this.shader,n=this.tickX[t],i=this.tickOffset[t],a=e.gl,s=e.viewBox,l=e.dataBox,h=e.screenBox,p=e.pixelRatio,d=e.tickEnable,g=e.tickPad,m=e.tickColor,v=e.tickAngle,y=e.labelEnable,x=e.labelPad,b=e.labelColor,_=e.labelAngle,w=this.labelOffset[t],k=this.labelCount[t],M=o.lt(n,l[t]),A=o.le(n,l[t+2]);c[0]=c[1]=0,c[t]=1,u[t]=(s[2+t]+s[t])/(h[2+t]-h[t])-1;var T=2/h[2+(1^t)]-h[1^t];u[1^t]=T*s[1^t]-1,d[t]&&(u[1^t]-=T*p*g[t],M<A&&i[A]>i[M]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t],r.uniforms.angle=v[t],a.drawArrays(a.TRIANGLES,i[M],i[A]-i[M]))),y[t]&&k&&(u[1^t]-=T*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,k)),u[1^t]=T*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=T*p*g[t+2],M<A&&i[A]>i[M]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t+2],r.uniforms.angle=v[t+2],a.drawArrays(a.TRIANGLES,i[M],i[A]-i[M]))),y[t+2]&&k&&(u[1^t]+=T*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,k))}),g.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,c=r.pixelRatio;if(this.titleCount){for(var u=0;u<2;++u)e[u]=2*(o[u]*c-a[u])/(a[2+u]-a[u])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),g.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,c=.5*(n[o+2]+n[o]),u=n[o+2]-n[o],f=a[o],g=a[o+2]-f,m=i[o],v=i[o+2]-m;p[o]=2*l/u*g/v,h[o]=2*(s-c)/u*g/v}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),g.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,c=t.bounds;for(o=0;o<2;++o){var u=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e<h.length;++e){var p=h[e],d=p.x,g=p.text,m=p.font||"sans-serif";i=p.fontSize||12;for(var v=1/(c[o+2]-c[o]),y=c[o],x=g.split("\n"),b=0;b<x.length;b++)for(n=a(m,x[b]).data,r=0;r<n.length;r+=2)s.push(n[r]*i,-n[r+1]*i-b*i*1.2,(d-y)*v);u.push(Math.floor(s.length/3)),f.push(d)}this.tickOffset[o]=u,this.tickX[o]=f}for(o=0;o<2;++o){for(this.labelOffset[o]=Math.floor(s.length/3),n=a(t.labelFont[o],t.labels[o],{textAlign:"center"}).data,i=t.labelSize[o],e=0;e<n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.labelCount[o]=Math.floor(s.length/3)-this.labelOffset[o]}for(this.titleOffset=Math.floor(s.length/3),n=a(t.titleFont,t.title).data,i=t.titleSize,e=0;e<n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.titleCount=Math.floor(s.length/3)-this.titleOffset,this.vbo.update(s)},g.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{"./shaders":271,"binary-search-bounds":273,"gl-buffer":229,"gl-shader":286,"text-cache":510}],273:[function(t,e,r){arguments[4][98][0].apply(r,arguments)},{dup:98}],274:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e,[e.drawingBufferWidth,e.drawingBufferHeight]),c=new l(e,r);return c.grid=i(c),c.text=a(c),c.line=o(c),c.box=s(c),c.update(t),c};var n=t("gl-select-static"),i=t("./lib/grid"),a=t("./lib/text"),o=t("./lib/line"),s=t("./lib/box");function l(t,e){this.gl=t,this.pickBuffer=e,this.screenBox=[0,0,t.drawingBufferWidth,t.drawingBufferHeight],this.viewBox=[0,0,0,0],this.dataBox=[-10,-10,10,10],this.gridLineEnable=[!0,!0],this.gridLineWidth=[1,1],this.gridLineColor=[[0,0,0,1],[0,0,0,1]],this.pixelRatio=1,this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickEnable=[!0,!0,!0,!0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[15,15,15,15],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelEnable=[!0,!0,!0,!0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.titleCenter=[0,0],this.titleEnable=!0,this.titleAngle=0,this.titleColor=[0,0,0,1],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[4,4],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderLineEnable=[!0,!0,!0,!0],this.borderLineWidth=[2,2,2,2],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.grid=null,this.text=null,this.line=null,this.box=null,this.objects=[],this.overlays=[],this._tickBounds=[1/0,1/0,-1/0,-1/0],this.static=!1,this.dirty=!1,this.pickDirty=!1,this.pickDelay=120,this.pickRadius=10,this._pickTimeout=null,this._drawPick=this.drawPick.bind(this),this._depthCounter=0}var c=l.prototype;function u(t){for(var e=t.slice(),r=0;r<e.length;++r)e[r]=e[r].slice();return e}function f(t,e){return t.x-e.x}c.setDirty=function(){this.dirty=this.pickDirty=!0},c.setOverlayDirty=function(){this.dirty=!0},c.nextDepthValue=function(){return this._depthCounter++/65536},c.draw=function(){var t=this.gl,e=this.screenBox,r=this.viewBox,n=this.dataBox,i=this.pixelRatio,a=this.grid,o=this.line,s=this.text,l=this.objects;if(this._depthCounter=0,this.pickDirty&&(this._pickTimeout&&clearTimeout(this._pickTimeout),this.pickDirty=!1,this._pickTimeout=setTimeout(this._drawPick,this.pickDelay)),this.dirty){if(this.dirty=!1,t.bindFramebuffer(t.FRAMEBUFFER,null),t.enable(t.SCISSOR_TEST),t.disable(t.DEPTH_TEST),t.depthFunc(t.LESS),t.depthMask(!1),t.enable(t.BLEND),t.blendEquation(t.FUNC_ADD,t.FUNC_ADD),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),this.borderColor){t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]);var c=this.borderColor;t.clearColor(c[0]*c[3],c[1]*c[3],c[2]*c[3],c[3]),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}t.scissor(r[0],r[1],r[2]-r[0],r[3]-r[1]),t.viewport(r[0],r[1],r[2]-r[0],r[3]-r[1]);var u=this.backgroundColor;t.clearColor(u[0]*u[3],u[1]*u[3],u[2]*u[3],u[3]),t.clear(t.COLOR_BUFFER_BIT),a.draw();var f=this.zeroLineEnable,h=this.zeroLineColor,p=this.zeroLineWidth;if(f[0]||f[1]){o.bind();for(var d=0;d<2;++d)if(f[d]&&n[d]<=0&&n[d+2]>=0){var g=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(g,e[1],g,e[3],p[d],h[d]):o.drawLine(e[0],g,e[2],g,p[d],h[d])}}for(d=0;d<l.length;++d)l[d].draw();t.viewport(e[0],e[1],e[2]-e[0],e[3]-e[1]),t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]),this.grid.drawTickMarks(),o.bind();var m=this.borderLineEnable,v=this.borderLineWidth,y=this.borderLineColor;for(m[1]&&o.drawLine(r[0],r[1]-.5*v[1]*i,r[0],r[3]+.5*v[3]*i,v[1],y[1]),m[0]&&o.drawLine(r[0]-.5*v[0]*i,r[1],r[2]+.5*v[2]*i,r[1],v[0],y[0]),m[3]&&o.drawLine(r[2],r[1]-.5*v[1]*i,r[2],r[3]+.5*v[3]*i,v[3],y[3]),m[2]&&o.drawLine(r[0]-.5*v[0]*i,r[3],r[2]+.5*v[2]*i,r[3],v[2],y[2]),s.bind(),d=0;d<2;++d)s.drawTicks(d);this.titleEnable&&s.drawTitle();var x=this.overlays;for(d=0;d<x.length;++d)x[d].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}},c.drawPick=function(){if(!this.static){var t=this.pickBuffer;this.gl;this._pickTimeout=null,t.begin();for(var e=1,r=this.objects,n=0;n<r.length;++n)e=r[n].drawPick(e);t.end()}},c.pick=function(t,e){if(!this.static){var r=this.pixelRatio,n=this.pickPixelRatio,i=this.viewBox,a=0|Math.round((t-i[0]/r)*n),o=0|Math.round((e-i[1]/r)*n),s=this.pickBuffer.query(a,o,this.pickRadius);if(!s)return null;for(var l=s.id+(s.value[0]<<8)+(s.value[1]<<16)+(s.value[2]<<24),c=this.objects,u=0;u<c.length;++u){var f=c[u].pick(a,o,l);if(f)return f}return null}},c.setScreenBox=function(t){var e=this.screenBox,r=this.pixelRatio;e[0]=0|Math.round(t[0]*r),e[1]=0|Math.round(t[1]*r),e[2]=0|Math.round(t[2]*r),e[3]=0|Math.round(t[3]*r),this.setDirty()},c.setDataBox=function(t){var e=this.dataBox;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3])&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],this.setDirty())},c.setViewBox=function(t){var e=this.pixelRatio,r=this.viewBox;r[0]=0|Math.round(t[0]*e),r[1]=0|Math.round(t[1]*e),r[2]=0|Math.round(t[2]*e),r[3]=0|Math.round(t[3]*e);var n=this.pickPixelRatio;this.pickBuffer.shape=[0|Math.round((t[2]-t[0])*n),0|Math.round((t[3]-t[1])*n)],this.setDirty()},c.update=function(t){t=t||{};var e=this.gl;this.pixelRatio=t.pixelRatio||1;var r=this.pixelRatio;this.pickPixelRatio=Math.max(r,1),this.setScreenBox(t.screenBox||[0,0,e.drawingBufferWidth/r,e.drawingBufferHeight/r]);this.screenBox;this.setViewBox(t.viewBox||[.125*(this.screenBox[2]-this.screenBox[0])/r,.125*(this.screenBox[3]-this.screenBox[1])/r,.875*(this.screenBox[2]-this.screenBox[0])/r,.875*(this.screenBox[3]-this.screenBox[1])/r]);var n=this.viewBox,i=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/i,10,10/i]),this.borderColor=!1!==t.borderColor&&(t.borderColor||[0,0,0,0]).slice(),this.backgroundColor=(t.backgroundColor||[0,0,0,0]).slice(),this.gridLineEnable=(t.gridLineEnable||[!0,!0]).slice(),this.gridLineWidth=(t.gridLineWidth||[1,1]).slice(),this.gridLineColor=u(t.gridLineColor||[[.5,.5,.5,1],[.5,.5,.5,1]]),this.zeroLineEnable=(t.zeroLineEnable||[!0,!0]).slice(),this.zeroLineWidth=(t.zeroLineWidth||[4,4]).slice(),this.zeroLineColor=u(t.zeroLineColor||[[0,0,0,1],[0,0,0,1]]),this.tickMarkLength=(t.tickMarkLength||[0,0,0,0]).slice(),this.tickMarkWidth=(t.tickMarkWidth||[0,0,0,0]).slice(),this.tickMarkColor=u(t.tickMarkColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.titleCenter=(t.titleCenter||[.5*(n[0]+n[2])/r,(n[3]+120)/r]).slice(),this.titleEnable=!("titleEnable"in t&&!t.titleEnable),this.titleAngle=t.titleAngle||0,this.titleColor=(t.titleColor||[0,0,0,1]).slice(),this.labelPad=(t.labelPad||[15,15,15,15]).slice(),this.labelAngle=(t.labelAngle||[0,Math.PI/2,0,3*Math.PI/2]).slice(),this.labelEnable=(t.labelEnable||[!0,!0,!0,!0]).slice(),this.labelColor=u(t.labelColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.tickPad=(t.tickPad||[15,15,15,15]).slice(),this.tickAngle=(t.tickAngle||[0,0,0,0]).slice(),this.tickEnable=(t.tickEnable||[!0,!0,!0,!0]).slice(),this.tickColor=u(t.tickColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.borderLineEnable=(t.borderLineEnable||[!0,!0,!0,!0]).slice(),this.borderLineWidth=(t.borderLineWidth||[2,2,2,2]).slice(),this.borderLineColor=u(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var a=t.ticks||[[],[]],o=this._tickBounds;o[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(var s=0;s<2;++s){var l=a[s].slice(0);0!==l.length&&(l.sort(f),o[s]=Math.min(o[s],l[0].x),o[s+2]=Math.max(o[s+2],l[l.length-1].x))}this.grid.update({bounds:o,ticks:a}),this.text.update({bounds:o,ticks:a,labels:t.labels||["x","y"],labelSize:t.labelSize||[12,12],labelFont:t.labelFont||["sans-serif","sans-serif"],title:t.title||"",titleSize:t.titleSize||18,titleFont:t.titleFont||"sans-serif"}),this.static=!!t.static,this.setDirty()},c.dispose=function(){this.box.dispose(),this.grid.dispose(),this.text.dispose(),this.line.dispose();for(var t=this.objects.length-1;t>=0;--t)this.objects[t].dispose();this.objects.length=0;for(t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},c.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},c.removeObject=function(t){for(var e=this.objects,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setDirty();break}},c.addOverlay=function(t){this.overlays.indexOf(t)<0&&(this.overlays.push(t),this.setOverlayDirty())},c.removeOverlay=function(t){for(var e=this.overlays,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setOverlayDirty();break}}},{"./lib/box":268,"./lib/grid":269,"./lib/line":270,"./lib/text":272,"gl-select-static":285}],275:[function(t,e,r){var n=t("glslify"),i=t("gl-shader"),a=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);e.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec2"}])}},{"gl-shader":286,glslify:390}],276:[function(t,e,r){"use strict";e.exports=function(t){var e=!1,r=((t=t||{}).pixelRatio||parseFloat(window.devicePixelRatio),t.canvas);if(!r)if(r=document.createElement("canvas"),t.container){var v=t.container;v.appendChild(r)}else document.body.appendChild(r);var y=t.gl;y||(y=function(t,e){var r=null;try{(r=t.getContext("webgl",e))||(r=t.getContext("experimental-webgl",e))}catch(t){return null}return r}(r,t.glOptions||{premultipliedAlpha:!0,antialias:!0}));if(!y)throw new Error("webgl not supported");var x=t.bounds||[[-10,-10,-10],[10,10,10]],b=new d,_=l(y,[y.drawingBufferWidth,y.drawingBufferHeight],{preferFloat:!p}),w=h(y),k=t.camera||{eye:[2,0,0],center:[0,0,0],up:[0,1,0],zoomMin:.1,zoomMax:100,mode:"turntable"},M=t.axes||{},A=i(y,M);A.enable=!M.disable;var T=t.spikes||{},S=o(y,T),E=[],C=[],L=[],z=[],P=!0,O=!0,I=new Array(16),D=new Array(16),R={view:null,projection:I,model:D},O=!0,B=[y.drawingBufferWidth,y.drawingBufferHeight],F={gl:y,contextLost:!1,pixelRatio:t.pixelRatio||parseFloat(window.devicePixelRatio),canvas:r,selection:b,camera:n(r,k),axes:A,axesPixels:null,spikes:S,bounds:x,objects:E,shape:B,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:m(t.autoResize),autoBounds:m(t.autoBounds),autoScale:!!t.autoScale,autoCenter:m(t.autoCenter),clipToBounds:m(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:R,oncontextloss:null,mouseListener:null},N=[y.drawingBufferWidth/F.pixelRatio|0,y.drawingBufferHeight/F.pixelRatio|0];function j(){if(!e&&F.autoResize){var t=r.parentNode,n=1,i=1;t&&t!==document.body?(n=t.clientWidth,i=t.clientHeight):(n=window.innerWidth,i=window.innerHeight);var a=0|Math.ceil(n*F.pixelRatio),o=0|Math.ceil(i*F.pixelRatio);if(a!==r.width||o!==r.height){r.width=a,r.height=o;var s=r.style;s.position=s.position||"absolute",s.left="0px",s.top="0px",s.width=n+"px",s.height=i+"px",P=!0}}}F.autoResize&&j();function V(){for(var t=E.length,e=z.length,r=0;r<e;++r)L[r]=0;t:for(var r=0;r<t;++r){var n=E[r],i=n.pickSlots;if(i){for(var a=0;a<e;++a)if(L[a]+i<255){C[r]=a,n.setPickBase(L[a]+1),L[a]+=i;continue t}var o=s(y,B);C[r]=e,z.push(o),L.push(i),n.setPickBase(1),e+=1}else C[r]=-1}for(;e>0&&0===L[e-1];)L.pop(),z.pop().dispose()}window.addEventListener("resize",j),F.update=function(t){e||(t=t||{},P=!0,O=!0)},F.add=function(t){e||(t.axes=A,E.push(t),C.push(-1),P=!0,O=!0,V())},F.remove=function(t){if(!e){var r=E.indexOf(t);r<0||(E.splice(r,1),C.pop(),P=!0,O=!0,V())}},F.dispose=function(){if(!e&&(e=!0,window.removeEventListener("resize",j),r.removeEventListener("webglcontextlost",H),F.mouseListener.enabled=!1,!F.contextLost)){A.dispose(),S.dispose();for(var t=0;t<E.length;++t)E[t].dispose();_.dispose();for(var t=0;t<z.length;++t)z[t].dispose();w.dispose(),y=null,A=null,S=null,E=[]}};var U=!1,q=0;function H(){if(F.contextLost)return!0;y.isContextLost()&&(F.contextLost=!0,F.mouseListener.enabled=!1,F.selection.object=null,F.oncontextloss&&F.oncontextloss())}F.mouseListener=u(r,function(t,r,n){if(!e){var i=z.length,a=E.length,o=b.object;b.distance=1/0,b.mouse[0]=r,b.mouse[1]=n,b.object=null,b.screen=null,b.dataCoordinate=b.dataPosition=null;var s=!1;if(t&&q)U=!0;else{U&&(O=!0),U=!1;for(var l=0;l<i;++l){var c=z[l].query(r,N[1]-n-1,F.pickRadius);if(c){if(c.distance>b.distance)continue;for(var u=0;u<a;++u){var f=E[u];if(C[u]===l){var h=f.pick(c);h&&(b.buttons=t,b.screen=c.coord,b.distance=c.distance,b.object=f,b.index=h.distance,b.dataPosition=h.position,b.dataCoordinate=h.dataCoordinate,b.data=h,s=!0)}}}}}o&&o!==b.object&&(o.highlight&&o.highlight(null),P=!0),b.object&&(b.object.highlight&&b.object.highlight(b.data),P=!0),(s=s||b.object!==o)&&F.onselect&&F.onselect(b),1&t&&!(1&q)&&F.onclick&&F.onclick(b),q=t}}),r.addEventListener("webglcontextlost",H);var G=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],W=[G[0].slice(),G[1].slice()];function Y(){if(!H()){j();var t=F.camera.tick();R.view=F.camera.matrix,P=P||t,O=O||t,A.pixelRatio=F.pixelRatio,S.pixelRatio=F.pixelRatio;var e=E.length,r=G[0],n=G[1];r[0]=r[1]=r[2]=1/0,n[0]=n[1]=n[2]=-1/0;for(var i=0;i<e;++i){var o=E[i];o.pixelRatio=F.pixelRatio,o.axes=F.axes,P=P||!!o.dirty,O=O||!!o.dirty;var s=o.bounds;if(s)for(var l=s[0],u=s[1],h=0;h<3;++h)r[h]=Math.min(r[h],l[h]),n[h]=Math.max(n[h],u[h])}var p=F.bounds;if(F.autoBounds)for(var h=0;h<3;++h){if(n[h]<r[h])r[h]=-1,n[h]=1;else{r[h]===n[h]&&(r[h]-=1,n[h]+=1);var d=.05*(n[h]-r[h]);r[h]=r[h]-d,n[h]=n[h]+d}p[0][h]=r[h],p[1][h]=n[h]}for(var m=!1,h=0;h<3;++h)m=m||W[0][h]!==p[0][h]||W[1][h]!==p[1][h],W[0][h]=p[0][h],W[1][h]=p[1][h];if(O=O||m,P=P||m){if(m){for(var v=[0,0,0],i=0;i<3;++i)v[i]=g((p[1][i]-p[0][i])/10);A.autoTicks?A.update({bounds:p,tickSpacing:v}):A.update({bounds:p})}var x=y.drawingBufferWidth,k=y.drawingBufferHeight;B[0]=x,B[1]=k,N[0]=0|Math.max(x/F.pixelRatio,1),N[1]=0|Math.max(k/F.pixelRatio,1),f(I,F.fovy,x/k,F.zNear,F.zFar);for(var i=0;i<16;++i)D[i]=0;D[15]=1;for(var M=0,i=0;i<3;++i)M=Math.max(M,p[1][i]-p[0][i]);for(var i=0;i<3;++i)F.autoScale?D[5*i]=F.aspect[i]/(p[1][i]-p[0][i]):D[5*i]=1/M,F.autoCenter&&(D[12+i]=.5*-D[5*i]*(p[0][i]+p[1][i]));for(var i=0;i<e;++i){var o=E[i];o.axesBounds=p,F.clipToBounds&&(o.clipBounds=p)}b.object&&(F.snapToData?S.position=b.dataCoordinate:S.position=b.dataPosition,S.bounds=p),O&&(O=!1,function(){if(H())return;y.colorMask(!0,!0,!0,!0),y.depthMask(!0),y.disable(y.BLEND),y.enable(y.DEPTH_TEST);for(var t=E.length,e=z.length,r=0;r<e;++r){var n=z[r];n.shape=N,n.begin();for(var i=0;i<t;++i)if(C[i]===r){var a=E[i];a.drawPick&&(a.pixelRatio=1,a.drawPick(R))}n.end()}}()),F.axesPixels=a(F.axes,R,x,k),F.onrender&&F.onrender(),y.bindFramebuffer(y.FRAMEBUFFER,null),y.viewport(0,0,x,k);var T=F.clearColor;y.clearColor(T[0],T[1],T[2],T[3]),y.clear(y.COLOR_BUFFER_BIT|y.DEPTH_BUFFER_BIT),y.depthMask(!0),y.colorMask(!0,!0,!0,!0),y.enable(y.DEPTH_TEST),y.depthFunc(y.LEQUAL),y.disable(y.BLEND),y.disable(y.CULL_FACE);var L=!1;A.enable&&(L=L||A.isTransparent(),A.draw(R)),S.axes=A,b.object&&S.draw(R),y.disable(y.CULL_FACE);for(var i=0;i<e;++i){var o=E[i];o.axes=A,o.pixelRatio=F.pixelRatio,o.isOpaque&&o.isOpaque()&&o.draw(R),o.isTransparent&&o.isTransparent()&&(L=!0)}if(L){_.shape=B,_.bind(),y.clear(y.DEPTH_BUFFER_BIT),y.colorMask(!1,!1,!1,!1),y.depthMask(!0),y.depthFunc(y.LESS),A.enable&&A.isTransparent()&&A.drawTransparent(R);for(var i=0;i<e;++i){var o=E[i];o.isOpaque&&o.isOpaque()&&o.draw(R)}y.enable(y.BLEND),y.blendEquation(y.FUNC_ADD),y.blendFunc(y.ONE,y.ONE_MINUS_SRC_ALPHA),y.colorMask(!0,!0,!0,!0),y.depthMask(!1),y.clearColor(0,0,0,0),y.clear(y.COLOR_BUFFER_BIT),A.isTransparent()&&A.drawTransparent(R);for(var i=0;i<e;++i){var o=E[i];o.isTransparent&&o.isTransparent()&&o.drawTransparent(R)}y.bindFramebuffer(y.FRAMEBUFFER,null),y.blendFunc(y.ONE,y.ONE_MINUS_SRC_ALPHA),y.disable(y.DEPTH_TEST),w.bind(),_.color[0].bind(0),w.uniforms.accumBuffer=0,c(y),y.disable(y.BLEND)}P=!1;for(var i=0;i<e;++i)E[i].dirty=!1}}}return function t(){e||F.contextLost||(requestAnimationFrame(t),Y())}(),F.redraw=function(){e||(P=!0,Y())},F};var n=t("3d-view-controls"),i=t("gl-axes3d"),a=t("gl-axes3d/properties"),o=t("gl-spikes3d"),s=t("gl-select-static"),l=t("gl-fbo"),c=t("a-big-triangle"),u=t("mouse-change"),f=t("gl-mat4/perspective"),h=t("./lib/shader"),p=t("is-mobile")();function d(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function g(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}if(e>0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function m(t){return"boolean"!=typeof t||t}},{"./lib/shader":275,"3d-view-controls":43,"a-big-triangle":46,"gl-axes3d":221,"gl-axes3d/properties":228,"gl-fbo":238,"gl-mat4/perspective":256,"gl-select-static":285,"gl-spikes3d":295,"is-mobile":401,"mouse-change":415}],277:[function(t,e,r){var n=t("glslify");r.pointVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform float pointCloud;\n\nhighp float rand(vec2 co) {\n highp float a = 12.9898;\n highp float b = 78.233;\n highp float c = 43758.5453;\n highp float d = dot(co.xy, vec2(a, b));\n highp float e = mod(d, 3.14);\n return fract(sin(e) * c);\n}\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n // if we don't jitter the point size a bit, overall point cloud\n // saturation 'jumps' on zooming, which is disturbing and confusing\n gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);\n if(pointCloud != 0.0) { // pointCloud is truthy\n // get the same square surface as circle would be\n gl_PointSize *= 0.886;\n }\n}"]),r.pointFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color, borderColor;\nuniform float centerFraction;\nuniform float pointCloud;\n\nvoid main() {\n float radius;\n vec4 baseColor;\n if(pointCloud != 0.0) { // pointCloud is truthy\n if(centerFraction == 1.0) {\n gl_FragColor = color;\n } else {\n gl_FragColor = mix(borderColor, color, centerFraction);\n }\n } else {\n radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n baseColor = mix(borderColor, color, step(radius, centerFraction));\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n }\n}\n"]),r.pickVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n gl_PointSize = pointSize;\n\n vec4 id = pickId + pickOffset;\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n fragId = id;\n}\n"]),r.pickFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n gl_FragColor = fragId / 255.0;\n}\n"])},{glslify:390}],278:[function(t,e,r){"use strict";var n=t("gl-shader"),i=t("gl-buffer"),a=t("typedarray-pool"),o=t("./lib/shader");function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}e.exports=function(t,e){var r=t.gl,a=i(r),l=i(r),c=n(r,o.pointVertex,o.pointFragment),u=n(r,o.pickVertex,o.pickFragment),f=new s(t,a,l,c,u);return f.update(e),t.addObject(f),f};var l,c,u=s.prototype;u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},u.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r("sizeMin",.5),this.sizeMax=r("sizeMax",20),this.color=r("color",[1,0,0,1]).slice(),this.areaRatio=r("areaRatio",1),this.borderColor=r("borderColor",[0,0,0,1]).slice(),this.blend=r("blend",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),c=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e<n;e++)c[e]=e;this.points=s,this.offsetBuffer.update(l),this.pickBuffer.update(c),i||a.free(l),o||a.free(c),this.pointCount=n,this.pickOffset=0},u.unifiedDraw=(l=[1,0,0,0,1,0,0,0,1],c=[0,0,0,0],function(t){var e=void 0!==t,r=e?this.pickShader:this.shader,n=this.plot.gl,i=this.plot.dataBox;if(0===this.pointCount)return t;var a=i[2]-i[0],o=i[3]-i[1],s=function(t,e){var r,n=0,i=t.length>>>1;for(r=0;r<i;r++){var a=t[2*r],o=t[2*r+1];a>=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=u<5,r.uniforms.pointSize=u,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(c[0]=255&t,c[1]=t>>8&255,c[2]=t>>16&255,c[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=c,this.pickOffset=t);var f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&n.enable(n.DITHER),t+this.pointCount}),u.draw=u.unifiedDraw,u.drawPick=u.unifiedDraw,u.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r<n||r>=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},{"./lib/shader":277,"gl-buffer":229,"gl-shader":286,"typedarray-pool":519}],279:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c=e[0],u=e[1],f=e[2],h=e[3],p=r[0],d=r[1],g=r[2],m=r[3];(a=c*p+u*d+f*g+h*m)<0&&(a=-a,p=-p,d=-d,g=-g,m=-m);1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n);return t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*f+l*g,t[3]=s*h+l*m,t}},{}],280:[function(t,e,r){"use strict";var n=t("vectorize-text");e.exports=function(t,e){var r=i[e];r||(r=i[e]={});if(t in r)return r[t];for(var a=n(t,{textAlign:"center",textBaseline:"middle",lineHeight:1,font:e}),o=n(t,{triangles:!0,textAlign:"center",textBaseline:"middle",lineHeight:1,font:e}),s=[[1/0,1/0],[-1/0,-1/0]],l=0;l<a.positions.length;++l)for(var c=a.positions[l],u=0;u<2;++u)s[0][u]=Math.min(s[0][u],c[u]),s[1][u]=Math.max(s[1][u],c[u]);return r[t]=[o,a,s]};var i={}},{"vectorize-text":524}],281:[function(t,e,r){var n=t("gl-shader"),i=t("glslify"),a=i(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if(any(lessThan(position, clipBounds[0])) || \n any(greaterThan(position, clipBounds[1])) ) {\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n \n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=i(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if(any(lessThan(position, clipBounds[0])) || any(greaterThan(position, clipBounds[1]))) {\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n \n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),s=i(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if(any(lessThan(position, clipBounds[0])) ||\n any(greaterThan(position, clipBounds[1])) ) {\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * view * model * vec4(position, 1);\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=i(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if(any(lessThan(dataCoordinate, fragClipBounds[0])) ||\n any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\n discard;\n } else {\n gl_FragColor = interpColor * opacity;\n }\n}\n"]),c=i(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if(any(lessThan(dataCoordinate, fragClipBounds[0])) || \n any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\n discard;\n } else {\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n }\n}"]),u=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],f={vertex:a,fragment:l,attributes:u},h={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:a,fragment:c,attributes:u},g={vertex:o,fragment:c,attributes:u},m={vertex:s,fragment:c,attributes:u};function v(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}r.createPerspective=function(t){return v(t,f)},r.createOrtho=function(t){return v(t,h)},r.createProject=function(t){return v(t,p)},r.createPickPerspective=function(t){return v(t,d)},r.createPickOrtho=function(t){return v(t,g)},r.createPickProject=function(t){return v(t,m)}},{"gl-shader":286,glslify:390}],282:[function(t,e,r){"use strict";var n=t("gl-buffer"),i=t("gl-vao"),a=t("typedarray-pool"),o=t("gl-mat4/multiply"),s=t("./lib/shaders"),l=t("./lib/glyphs"),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function u(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function f(t,e,r,n){return u(n,n),u(n,n),u(n,n)}function h(t,e){this.index=t,this.dataCoordinate=this.position=e}function p(t,e,r,n,i,a,o,s,l,c,u,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=f,this.points=[],this._selectResult=new h(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}e.exports=function(t){var e=t.gl,r=s.createPerspective(e),a=s.createOrtho(e),o=s.createProject(e),l=s.createPickPerspective(e),c=s.createPickOrtho(e),u=s.createPickProject(e),f=n(e),h=n(e),d=n(e),g=n(e),m=i(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:h,size:4,type:e.FLOAT},{buffer:d,size:2,type:e.FLOAT},{buffer:g,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),v=new p(e,r,a,o,f,h,d,g,m,l,c,u);return v.update(t),v};var d=p.prototype;d.pickSlots=1,d.setPickBase=function(t){this.pickId=t},d.isTransparent=function(){if(this.opacity<1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]<1)return!0;return!1},d.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]>=1)return!0;return!1};var g=[0,0],m=[0,0,0],v=[0,0,0],y=[0,0,0,1],x=[0,0,0,1],b=c.slice(),_=[0,0,0],w=[[0,0,0],[0,0,0]];function k(t){return t[0]=t[1]=t[2]=0,t}function M(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function A(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function T(t,e,r,n,i){var a,s=e.axesProject,l=e.gl,u=t.uniforms,h=r.model||c,p=r.view||c,d=r.projection||c,T=e.axesBounds,S=function(t){for(var e=w,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);a=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],g[0]=2/l.drawingBufferWidth,g[1]=2/l.drawingBufferHeight,t.bind(),u.view=p,u.projection=d,u.screenSize=g,u.highlightId=e.highlightId,u.highlightScale=e.highlightScale,u.clipBounds=S,u.pickGroup=e.pickId/255,u.pixelRatio=e.pixelRatio;for(var E=0;E<3;++E)if(s[E]&&e.projectOpacity[E]<1===n){u.scale=e.projectScale[E],u.opacity=e.projectOpacity[E];for(var C=b,L=0;L<16;++L)C[L]=0;for(L=0;L<4;++L)C[5*L]=1;C[5*E]=0,a[E]<0?C[12+E]=T[0][E]:C[12+E]=T[1][E],o(C,h,C),u.model=C;var z=(E+1)%3,P=(E+2)%3,O=k(m),I=k(v);O[z]=1,I[P]=1;var D=f(0,0,0,M(y,O)),R=f(0,0,0,M(x,I));if(Math.abs(D[1])>Math.abs(R[1])){var B=D;D=R,R=B,B=O,O=I,I=B;var F=z;z=P,P=F}D[0]<0&&(O[z]=-1),R[1]>0&&(I[P]=-1);var N=0,j=0;for(L=0;L<4;++L)N+=Math.pow(h[4*z+L],2),j+=Math.pow(h[4*P+L],2);O[z]/=Math.sqrt(N),I[P]/=Math.sqrt(j),u.axes[0]=O,u.axes[1]=I,u.fragClipBounds[0]=A(_,S[0],E,-1e8),u.fragClipBounds[1]=A(_,S[1],E,1e8),e.vao.draw(l.TRIANGLES,e.vertexCount),e.lineWidth>0&&(l.lineWidth(e.lineWidth),e.vao.draw(l.LINES,e.lineVertexCount,e.vertexCount))}}var S=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function E(t,e,r,n,i,a){var o=r.gl;if(r.vao.bind(),i===r.opacity<1||a){t.bind();var s=t.uniforms;s.model=n.model||c,s.view=n.view||c,s.projection=n.projection||c,g[0]=2/o.drawingBufferWidth,g[1]=2/o.drawingBufferHeight,s.screenSize=g,s.highlightId=r.highlightId,s.highlightScale=r.highlightScale,s.fragClipBounds=S,s.clipBounds=r.axes.bounds,s.opacity=r.opacity,s.pickGroup=r.pickId/255,s.pixelRatio=r.pixelRatio,r.vao.draw(o.TRIANGLES,r.vertexCount),r.lineWidth>0&&(o.lineWidth(r.lineWidth),r.vao.draw(o.LINES,r.lineVertexCount,r.vertexCount))}T(e,r,n,i),r.vao.unbind()}d.draw=function(t){E(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!1,!1)},d.drawTransparent=function(t){E(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!0,!1)},d.drawPick=function(t){E(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,!1,!0)},d.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[2]+(t.value[1]<<8)+(t.value[0]<<16);if(e>=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},d.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},d.update=function(t){if("perspective"in(t=t||{})&&(this.useOrtho=!t.perspective),"orthographic"in t&&(this.useOrtho=!!t.orthographic),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"project"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if("projectScale"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if("projectOpacity"in t)if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}"opacity"in t&&(this.opacity=t.opacity),this.dirty=!0;var n=t.position;if(n){var i=t.font||"normal",o=t.alignment||[0,0],s=[1/0,1/0,1/0],c=[-1/0,-1/0,-1/0],u=t.glyph,f=t.color,h=t.size,p=t.angle,d=t.lineColor,g=0,m=0,v=0,y=n.length;t:for(var x=0;x<y;++x){for(var b=n[x],_=0;_<3;++_)if(isNaN(b[_])||!isFinite(b[_]))continue t;var w=(B=Array.isArray(u)?l(u[x],i):l(u||"\u25cf",i))[0],k=B[1],M=B[2];m+=3*w.cells.length,v+=2*k.edges.length}var A=m+v,T=a.mallocFloat(3*A),S=a.mallocFloat(4*A),E=a.mallocFloat(2*A),C=a.mallocUint32(A),L=[0,o[1]],z=0,P=m,O=[0,0,0,1],I=[0,0,0,1],D=Array.isArray(f)&&Array.isArray(f[0]),R=Array.isArray(d)&&Array.isArray(d[0]);t:for(x=0;x<y;++x){var B;for(b=n[x],_=0;_<3;++_){if(isNaN(b[_])||!isFinite(b[_])){g+=1;continue t}c[_]=Math.max(c[_],b[_]),s[_]=Math.min(s[_],b[_])}var F;w=(B=Array.isArray(u)?l(u[x],i):l(u||"\u25cf",i))[0],k=B[1],M=B[2];if(Array.isArray(f)){if(3===(F=D?f[x]:f).length){for(_=0;_<3;++_)O[_]=F[_];O[3]=1}else if(4===F.length)for(_=0;_<4;++_)O[_]=F[_]}else O[0]=O[1]=O[2]=0,O[3]=1;if(Array.isArray(d)){if(3===(F=R?d[x]:d).length){for(_=0;_<3;++_)I[_]=F[_];I[_]=1}else if(4===F.length)for(_=0;_<4;++_)I[_]=F[_]}else I[0]=I[1]=I[2]=0,I[3]=1;var N=.5;Array.isArray(h)?N=+h[x]:h?N=+h:this.useOrtho&&(N=12);var j=0;Array.isArray(p)?j=+p[x]:p&&(j=+p);var V=Math.cos(j),U=Math.sin(j);for(b=n[x],_=0;_<3;++_)c[_]=Math.max(c[_],b[_]),s[_]=Math.min(s[_],b[_]);o[0]<0?L[0]=o[0]*(1+M[1][0]):o[0]>0&&(L[0]=-o[0]*(1+M[0][0]));var q=w.cells,H=w.positions;for(_=0;_<q.length;++_)for(var G=q[_],W=0;W<3;++W){for(var Y=0;Y<3;++Y)T[3*z+Y]=b[Y];for(Y=0;Y<4;++Y)S[4*z+Y]=O[Y];C[z]=g;var X=H[G[W]];E[2*z]=N*(V*X[0]-U*X[1]+L[0]),E[2*z+1]=N*(U*X[0]+V*X[1]+L[1]),z+=1}for(q=k.edges,H=k.positions,_=0;_<q.length;++_)for(G=q[_],W=0;W<2;++W){for(Y=0;Y<3;++Y)T[3*P+Y]=b[Y];for(Y=0;Y<4;++Y)S[4*P+Y]=I[Y];C[P]=g;X=H[G[W]];E[2*P]=N*(V*X[0]-U*X[1]+L[0]),E[2*P+1]=N*(U*X[0]+V*X[1]+L[1]),P+=1}g+=1}this.vertexCount=m,this.lineVertexCount=v,this.pointBuffer.update(T),this.colorBuffer.update(S),this.glyphBuffer.update(E),this.idBuffer.update(new Uint32Array(C)),a.free(T),a.free(S),a.free(E),a.free(C),this.bounds=[s,c],this.points=n,this.pointCount=n.length}},d.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()}},{"./lib/glyphs":280,"./lib/shaders":281,"gl-buffer":229,"gl-mat4/multiply":255,"gl-vao":308,"typedarray-pool":519}],283:[function(t,e,r){"use strict";var n=t("glslify");r.boxVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 vertex;\n\nuniform vec2 cornerA, cornerB;\n\nvoid main() {\n gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);\n}\n"]),r.boxFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color;\n\nvoid main() {\n gl_FragColor = color;\n}\n"])},{glslify:390}],284:[function(t,e,r){"use strict";var n=t("gl-shader"),i=t("gl-buffer"),a=t("./lib/shaders");function o(t,e,r){this.plot=t,this.boxBuffer=e,this.boxShader=r,this.enabled=!0,this.selectBox=[1/0,1/0,-1/0,-1/0],this.borderColor=[0,0,0,1],this.innerFill=!1,this.innerColor=[0,0,0,.25],this.outerFill=!0,this.outerColor=[0,0,0,.5],this.borderWidth=10}e.exports=function(t,e){var r=t.gl,s=i(r,[0,0,0,1,1,0,1,1]),l=n(r,a.boxVertex,a.boxFragment),c=new o(t,s,l);return c.update(e),t.addOverlay(c),c};var s=o.prototype;s.draw=function(){if(this.enabled){var t=this.plot,e=this.selectBox,r=this.borderWidth,n=(this.innerFill,this.innerColor),i=(this.outerFill,this.outerColor),a=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,c=t.viewBox,u=t.pixelRatio,f=(e[0]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],h=(e[1]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1],p=(e[2]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],d=(e[3]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1];if(f=Math.max(f,c[0]),h=Math.max(h,c[1]),p=Math.min(p,c[2]),d=Math.min(d,c[3]),!(p<f||d<h)){o.bind();var g=s[2]-s[0],m=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,g,h,i),o.drawBox(0,h,f,d,i),o.drawBox(0,d,g,m,i),o.drawBox(p,h,g,d,i)),this.innerFill&&o.drawBox(f,h,p,d,n),r>0){var v=r*u;o.drawBox(f-v,h-v,p+v,h+v,a),o.drawBox(f-v,d-v,p+v,d+v,a),o.drawBox(f-v,h-v,f+v,d+v,a),o.drawBox(p-v,h-v,p+v,d+v,a)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},{"./lib/shaders":283,"gl-buffer":229,"gl-shader":286}],285:[function(t,e,r){"use strict";e.exports=function(t,e){var r=n(t,e),a=i.mallocUint8(e[0]*e[1]*4);return new c(t,r,a)};var n=t("gl-fbo"),i=t("typedarray-pool"),a=t("ndarray"),o=t("bit-twiddle").nextPow2,s=t("cwise/lib/wrapper")({args:["array",{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},"scalar","scalar","index"],pre:{body:"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}",args:[],thisVars:["this_closestD2","this_closestX","this_closestY"],localVars:[]},body:{body:"{if(_inline_16_arg0_<255||_inline_16_arg1_<255||_inline_16_arg2_<255||_inline_16_arg3_<255){var _inline_16_l=_inline_16_arg4_-_inline_16_arg6_[0],_inline_16_a=_inline_16_arg5_-_inline_16_arg6_[1],_inline_16_f=_inline_16_l*_inline_16_l+_inline_16_a*_inline_16_a;_inline_16_f<this_closestD2&&(this_closestD2=_inline_16_f,this_closestX=_inline_16_arg6_[0],this_closestY=_inline_16_arg6_[1])}}",args:[{name:"_inline_16_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg4_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg5_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg6_",lvalue:!1,rvalue:!0,count:4}],thisVars:["this_closestD2","this_closestX","this_closestY"],localVars:["_inline_16_a","_inline_16_f","_inline_16_l"]},post:{body:"{return[this_closestX,this_closestY,this_closestD2]}",args:[],thisVars:["this_closestD2","this_closestX","this_closestY"],localVars:[]},debug:!1,funcName:"cwise",blockSize:64});function l(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function c(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var u=c.prototype;Object.defineProperty(u,"shape",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;a<r*e*4;++a)n[a]=255}return t}}}),u.begin=function(){var t=this.gl;this.shape;t&&(this.fbo.bind(),t.clearColor(1,1,1,1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT))},u.end=function(){var t=this.gl;t&&(t.bindFramebuffer(t.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},u.query=function(t,e,r){if(!this.gl)return null;var n=this.fbo.shape.slice();t|=0,e|=0,"number"!=typeof r&&(r=1);var i=0|Math.min(Math.max(t-r,0),n[0]),o=0|Math.min(Math.max(t+r,0),n[0]),c=0|Math.min(Math.max(e-r,0),n[1]),u=0|Math.min(Math.max(e+r,0),n[1]);if(o<=i||u<=c)return null;var f=[o-i,u-c],h=a(this.buffer,[f[0],f[1],4],[4,4*n[0],1],4*(i+n[0]*c)),p=s(h.hi(f[0],f[1],1),r,r),d=p[0],g=p[1];return d<0||Math.pow(this.radius,2)<p[2]?null:new l(d+i|0,g+c|0,h.get(d,g,0),[h.get(d,g,1),h.get(d,g,2),h.get(d,g,3)],Math.sqrt(p[2]))},u.dispose=function(){this.gl&&(this.fbo.dispose(),i.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))}},{"bit-twiddle":79,"cwise/lib/wrapper":136,"gl-fbo":238,ndarray:430,"typedarray-pool":519}],286:[function(t,e,r){"use strict";var n=t("./lib/create-uniforms"),i=t("./lib/create-attributes"),a=t("./lib/reflect"),o=t("./lib/shader-cache"),s=t("./lib/runtime-reflect"),l=t("./lib/GLError");function c(t){this.gl=t,this.gl.lastAttribCount=0,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}var u=c.prototype;function f(t,e){return t.name<e.name?-1:1}u.bind=function(){var t;this.program||this._relink();var e=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),r=this.gl.lastAttribCount;if(e>r)for(t=r;t<e;t++)this.gl.enableVertexAttribArray(t);else if(r>e)for(t=e;t<r;t++)this.gl.disableVertexAttribArray(t);this.gl.lastAttribCount=e,this.gl.useProgram(this.program)},u.dispose=function(){for(var t=this.gl.lastAttribCount,e=0;e<t;e++)this.gl.disableVertexAttribArray(e);this.gl.lastAttribCount=0,this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},u.update=function(t,e,r,c){if(!e||1===arguments.length){var u=t;t=u.vertex,e=u.fragment,r=u.uniforms,c=u.attributes}var h=this,p=h.gl,d=h._vref;h._vref=o.shader(p,p.VERTEX_SHADER,t),d&&d.dispose(),h.vertShader=h._vref.shader;var g=this._fref;if(h._fref=o.shader(p,p.FRAGMENT_SHADER,e),g&&g.dispose(),h.fragShader=h._fref.shader,!r||!c){var m=p.createProgram();if(p.attachShader(m,h.fragShader),p.attachShader(m,h.vertShader),p.linkProgram(m),!p.getProgramParameter(m,p.LINK_STATUS)){var v=p.getProgramInfoLog(m);throw new l(v,"Error linking program:"+v)}r=r||s.uniforms(p,m),c=c||s.attributes(p,m),p.deleteProgram(m)}(c=c.slice()).sort(f);var y,x=[],b=[],_=[];for(y=0;y<c.length;++y){var w=c[y];if(w.type.indexOf("mat")>=0){for(var k=0|w.type.charAt(w.type.length-1),M=new Array(k),A=0;A<k;++A)M[A]=_.length,b.push(w.name+"["+A+"]"),"number"==typeof w.location?_.push(w.location+A):Array.isArray(w.location)&&w.location.length===k&&"number"==typeof w.location[A]?_.push(0|w.location[A]):_.push(-1);x.push({name:w.name,type:w.type,locations:M})}else x.push({name:w.name,type:w.type,locations:[_.length]}),b.push(w.name),"number"==typeof w.location?_.push(0|w.location):_.push(-1)}var T=0;for(y=0;y<_.length;++y)if(_[y]<0){for(;_.indexOf(T)>=0;)T+=1;_[y]=T}var S=new Array(r.length);function E(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t<r.length;++t)S[t]=p.getUniformLocation(h.program,r[t].name)}E(),h._relink=E,h.types={uniforms:a(r),attributes:a(c)},h.attributes=i(p,h,x,_),Object.defineProperty(h,"uniforms",n(p,h,r,S))},e.exports=function(t,e,r,n,i){var a=new c(t);return a.update(e,r,n,i),a}},{"./lib/GLError":287,"./lib/create-attributes":288,"./lib/create-uniforms":289,"./lib/reflect":290,"./lib/runtime-reflect":291,"./lib/shader-cache":292}],287:[function(t,e,r){function n(t,e,r){this.shortMessage=e||"",this.longMessage=r||"",this.rawError=t||"",this.message="gl-shader: "+(e||t||"")+(r?"\n"+r:""),this.stack=(new Error).stack}n.prototype=new Error,n.prototype.name="GLError",n.prototype.constructor=n,e.exports=n},{}],288:[function(t,e,r){"use strict";e.exports=function(t,e,r,i){for(var a={},l=0,c=r.length;l<c;++l){var u=r[l],f=u.name,h=u.type,p=u.locations;switch(h){case"bool":case"int":case"float":o(t,e,p[0],i,1,a,f);break;default:if(h.indexOf("vec")>=0){var d=h.charCodeAt(h.length-1)-48;if(d<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);o(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+f+": "+h);var d=h.charCodeAt(h.length-1)-48;if(d<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);s(t,e,p,i,d,a,f)}}}return a};var n=t("./GLError");function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;function o(t,e,r,n,a,o,s){for(var l=["gl","v"],c=[],u=0;u<a;++u)l.push("x"+u),c.push("x"+u);l.push("if(x0.length===void 0){return gl.vertexAttrib"+a+"f(v,"+c.join()+")}else{return gl.vertexAttrib"+a+"fv(v,x0)}");var f=Function.apply(null,l),h=new i(t,e,r,n,a,f);Object.defineProperty(o,s,{set:function(e){return t.disableVertexAttribArray(n[r]),f(t,n[r],e),e},get:function(){return h},enumerable:!0})}function s(t,e,r,n,i,a,s){for(var l=new Array(i),c=new Array(i),u=0;u<i;++u)o(t,e,r[u],n,i,l,u),c[u]=l[u];Object.defineProperty(l,"location",{set:function(t){if(Array.isArray(t))for(var e=0;e<i;++e)c[e].location=t[e];else for(e=0;e<i;++e)c[e].location=t+e;return t},get:function(){for(var t=new Array(i),e=0;e<i;++e)t[e]=n[r[e]];return t},enumerable:!0}),l.pointer=function(e,a,o,s){e=e||t.FLOAT,a=!!a,o=o||i*i,s=s||0;for(var l=0;l<i;++l){var c=n[r[l]];t.vertexAttribPointer(c,i,e,a,o,s+l*i),t.enableVertexAttribArray(c)}};var f=new Array(i),h=t["vertexAttrib"+i+"fv"];Object.defineProperty(a,s,{set:function(e){for(var a=0;a<i;++a){var o=n[r[a]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))h.call(t,o,e[a]);else{for(var s=0;s<i;++s)f[s]=e[i*a+s];h.call(t,o,f)}}return e},get:function(){return l},enumerable:!0})}a.pointer=function(t,e,r,n){var i=this._gl,a=this._locations[this._index];i.vertexAttribPointer(a,this._dimension,t||i.FLOAT,!!e,r||0,n||0),i.enableVertexAttribArray(a)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,"location",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}})},{"./GLError":287}],289:[function(t,e,r){"use strict";var n=t("./reflect"),i=t("./GLError");function a(t){return new Function("y","return function(){return y}")(t)}function o(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}e.exports=function(t,e,r,s){function l(t,e,r){switch(r){case"bool":case"int":case"sampler2D":case"samplerCube":return"gl.uniform1i(locations["+e+"],obj"+t+")";case"float":return"gl.uniform1f(locations["+e+"],obj"+t+")";default:var n=r.indexOf("vec");if(!(0<=n&&n<=1&&r.length===4+n)){if(0===r.indexOf("mat")&&4===r.length){var a=r.charCodeAt(r.length-1)-48;if(a<2||a>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+r);return"gl.uniformMatrix"+a+"fv(locations["+e+"],false,obj"+t+")"}throw new i("","Unknown uniform data type for "+name+": "+r)}var a=r.charCodeAt(r.length-1)-48;if(a<2||a>4)throw new i("","Invalid data type");switch(r.charAt(0)){case"b":case"i":return"gl.uniform"+a+"iv(locations["+e+"],obj"+t+")";case"v":return"gl.uniform"+a+"fv(locations["+e+"],obj"+t+")";default:throw new i("","Unrecognized data type for vector "+name+": "+r)}}}function c(e){for(var n=["return function updateProperty(obj){"],i=function t(e,r){if("object"!=typeof r)return[[e,r]];var n=[];for(var i in r){var a=r[i],o=e;parseInt(i)+""===i?o+="["+i+"]":o+="."+i,"object"==typeof a?n.push.apply(n,t(o,a)):n.push([o,a])}return n}("",e),a=0;a<i.length;++a){var o=i[a],c=o[0],u=o[1];s[u]&&n.push(l(c,u,r[u].type))}n.push("return obj}");var f=new Function("gl","locations",n.join("\n"));return f(t,s)}function u(n,l,u){if("object"==typeof u){var h=f(u);Object.defineProperty(n,l,{get:a(h),set:c(u),enumerable:!0,configurable:!1})}else s[u]?Object.defineProperty(n,l,{get:(p=u,new Function("gl","wrapper","locations","return function(){return gl.getUniform(wrapper.program,locations["+p+"])}")(t,e,s)),set:c(u),enumerable:!0,configurable:!1}):n[l]=function(t){switch(t){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":case"float":return 0;default:var e=t.indexOf("vec");if(0<=e&&e<=1&&t.length===4+e){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new i("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+t)}}(r[u].type);var p}function f(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r<t.length;++r)u(e,r,t[r])}else for(var n in e={},t)u(e,n,t[n]);return e}var h=n(r,!0);return{get:a(f(h)),set:c(h),enumerable:!0,configurable:!0}}},{"./GLError":287,"./reflect":290}],290:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r={},n=0;n<t.length;++n)for(var i=t[n].name,a=i.split("."),o=r,s=0;s<a.length;++s){var l=a[s].split("[");if(l.length>1){l[0]in o||(o[l[0]]=[]),o=o[l[0]];for(var c=1;c<l.length;++c){var u=parseInt(l[c]);c<l.length-1||s<a.length-1?(u in o||(c<l.length-1?o[u]=[]:o[u]={}),o=o[u]):o[u]=e?n:t[n].type}}else s<a.length-1?(l[0]in o||(o[l[0]]={}),o=o[l[0]]):o[l[0]]=e?n:t[n].type}return r}},{}],291:[function(t,e,r){"use strict";r.uniforms=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),n=[],i=0;i<r;++i){var o=t.getActiveUniform(e,i);if(o){var s=a(t,o.type);if(o.size>1)for(var l=0;l<o.size;++l)n.push({name:o.name.replace("[0]","["+l+"]"),type:s});else n.push({name:o.name,type:s})}}return n},r.attributes=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),n=[],i=0;i<r;++i){var o=t.getActiveAttrib(e,i);o&&n.push({name:o.name,type:a(t,o.type)})}return n};var n={FLOAT:"float",FLOAT_VEC2:"vec2",FLOAT_VEC3:"vec3",FLOAT_VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",FLOAT_MAT2:"mat2",FLOAT_MAT3:"mat3",FLOAT_MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube"},i=null;function a(t,e){if(!i){var r=Object.keys(n);i={};for(var a=0;a<r.length;++a){var o=r[a];i[t[o]]=n[o]}}return i[e]}},{}],292:[function(t,e,r){"use strict";r.shader=function(t,e,r){return u(t).getShaderReference(e,r)},r.program=function(t,e,r,n,i){return u(t).getProgram(e,r,n,i)};var n=t("./GLError"),i=t("gl-format-compiler-error"),a=new("undefined"==typeof WeakMap?t("weakmap-shim"):WeakMap),o=0;function s(t,e,r,n,i,a,o){this.id=t,this.src=e,this.type=r,this.shader=n,this.count=a,this.programs=[],this.cache=o}function l(t){this.gl=t,this.shaders=[{},{}],this.programs={}}s.prototype.dispose=function(){if(0==--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,i=r.length;n<i;++n){var a=t.programs[r[n]];a&&(delete t.programs[n],e.deleteProgram(a))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var c=l.prototype;function u(t){var e=a.get(t);return e||(e=new l(t),a.set(t,e)),e}c.getShaderReference=function(t,e){var r=this.gl,a=this.shaders[t===r.FRAGMENT_SHADER|0],l=a[e];if(l&&r.isShader(l.shader))l.count+=1;else{var c=function(t,e,r){var a=t.createShader(e);if(t.shaderSource(a,r),t.compileShader(a),!t.getShaderParameter(a,t.COMPILE_STATUS)){var o=t.getShaderInfoLog(a);try{var s=i(o,r,e)}catch(t){throw console.warn("Failed to format compiler error: "+t),new n(o,"Error compiling shader:\n"+o)}throw new n(o,s.short,s.long)}return a}(r,t,e);l=a[e]=new s(o++,e,t,c,[],1,this)}return l},c.getProgram=function(t,e,r,i){var a=[t.id,e.id,r.join(":"),i.join(":")].join("@"),o=this.programs[a];return o&&this.gl.isProgram(o)||(this.programs[a]=o=function(t,e,r,i,a){var o=t.createProgram();t.attachShader(o,e),t.attachShader(o,r);for(var s=0;s<i.length;++s)t.bindAttribLocation(o,a[s],i[s]);if(t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS)){var l=t.getProgramInfoLog(o);throw new n(l,"Error linking program: "+l)}return o}(this.gl,t.shader,e.shader,r,i),t.programs.push(a),e.programs.push(a)),o}},{"./GLError":287,"gl-format-compiler-error":239,"weakmap-shim":529}],293:[function(t,e,r){"use strict";function n(t){this.plot=t,this.enable=[!0,!0,!1,!1],this.width=[1,1,1,1],this.color=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.center=[1/0,1/0]}e.exports=function(t,e){var r=new n(t);return r.update(e),t.addOverlay(r),r};var i=n.prototype;i.update=function(t){t=t||{},this.enable=(t.enable||[!0,!0,!1,!1]).slice(),this.width=(t.width||[1,1,1,1]).slice(),this.color=(t.color||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]).map(function(t){return t.slice()}),this.center=(t.center||[1/0,1/0]).slice(),this.plot.setOverlayDirty()},i.draw=function(){var t=this.enable,e=this.width,r=this.color,n=this.center,i=this.plot,a=i.line,o=i.dataBox,s=i.viewBox;if(a.bind(),o[0]<=n[0]&&n[0]<=o[2]&&o[1]<=n[1]&&n[1]<=o[3]){var l=s[0]+(n[0]-o[0])/(o[2]-o[0])*(s[2]-s[0]),c=s[1]+(n[1]-o[1])/(o[3]-o[1])*(s[3]-s[1]);t[0]&&a.drawLine(l,c,s[0],c,e[0],r[0]),t[1]&&a.drawLine(l,c,l,s[1],e[1],r[1]),t[2]&&a.drawLine(l,c,s[2],c,e[2],r[2]),t[3]&&a.drawLine(l,c,l,s[3],e[3],r[3])}},i.dispose=function(){this.plot.removeOverlay(this)}},{}],294:[function(t,e,r){"use strict";var n=t("glslify"),i=t("gl-shader"),a=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, color;\nattribute float weight;\n\nuniform mat4 model, view, projection;\nuniform vec3 coordinates[3];\nuniform vec4 colors[3];\nuniform vec2 screenShape;\nuniform float lineWidth;\n\nvarying vec4 fragColor;\n\nvoid main() {\n vec3 vertexPosition = mix(coordinates[0],\n mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\n\n vec4 clipPos = projection * view * model * vec4(vertexPosition, 1.0);\n vec2 clipOffset = (projection * view * model * vec4(color, 0.0)).xy;\n vec2 delta = weight * clipOffset * screenShape;\n vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\n\n gl_Position = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\n fragColor = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\n}\n"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}"]);e.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec3"},{name:"weight",type:"float"}])}},{"gl-shader":286,glslify:390}],295:[function(t,e,r){"use strict";var n=t("gl-buffer"),i=t("gl-vao"),a=t("./shaders/index");e.exports=function(t,e){var r=[];function o(t,e,n,i,a,o){var s=[t,e,n,0,0,0,1];s[i+3]=1,s[i]=a,r.push.apply(r,s),s[6]=-1,r.push.apply(r,s),s[i]=o,r.push.apply(r,s),r.push.apply(r,s),s[6]=1,r.push.apply(r,s),s[i]=a,r.push.apply(r,s)}o(0,0,0,0,0,1),o(0,0,0,1,0,1),o(0,0,0,2,0,1),o(1,0,0,1,-1,1),o(1,0,0,2,-1,1),o(0,1,0,0,-1,1),o(0,1,0,2,-1,1),o(0,0,1,0,-1,1),o(0,0,1,1,-1,1);var l=n(t,r),c=i(t,[{type:t.FLOAT,buffer:l,size:3,offset:0,stride:28},{type:t.FLOAT,buffer:l,size:3,offset:12,stride:28},{type:t.FLOAT,buffer:l,size:1,offset:24,stride:28}]),u=a(t);u.attributes.position.location=0,u.attributes.color.location=1,u.attributes.weight.location=2;var f=new s(t,l,c,u);return f.update(e),f};var o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n,this.pixelRatio=1,this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]],this.position=[0,0,0],this.lineWidth=[2,2,2],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.enabled=[!0,!0,!0],this.drawSides=[!0,!0,!0],this.axes=null}var l=s.prototype,c=[0,0,0],u=[0,0,0],f=[0,0];l.isTransparent=function(){return!1},l.drawTransparent=function(t){},l.draw=function(t){var e=this.gl,r=this.vao,n=this.shader;r.bind(),n.bind();var i,a=t.model||o,s=t.view||o,l=t.projection||o;this.axes&&(i=this.axes.lastCubeProps.axis);for(var h=c,p=u,d=0;d<3;++d)i&&i[d]<0?(h[d]=this.bounds[0][d],p[d]=this.bounds[1][d]):(h[d]=this.bounds[1][d],p[d]=this.bounds[0][d]);f[0]=e.drawingBufferWidth,f[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=s,n.uniforms.projection=l,n.uniforms.coordinates=[this.position,h,p],n.uniforms.colors=this.colors,n.uniforms.screenShape=f;for(d=0;d<3;++d)n.uniforms.lineWidth=this.lineWidth[d]*this.pixelRatio,this.enabled[d]&&(r.draw(e.TRIANGLES,6,6*d),this.drawSides[d]&&r.draw(e.TRIANGLES,12,18+12*d));r.unbind()},l.update=function(t){t&&("bounds"in t&&(this.bounds=t.bounds),"position"in t&&(this.position=t.position),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"colors"in t&&(this.colors=t.colors),"enabled"in t&&(this.enabled=t.enabled),"drawSides"in t&&(this.drawSides=t.drawSides))},l.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{"./shaders/index":294,"gl-buffer":229,"gl-vao":308}],296:[function(t,e,r){arguments[4][231][0].apply(r,arguments)},{barycentric:60,dup:231,"polytope-closest-point/lib/closest_point_2d.js":461}],297:[function(t,e,r){var n=t("glslify"),i=n(["precision mediump float;\n#define GLSLIFY 1\n\nfloat inverse(float m) {\n return 1.0 / m;\n}\n\nmat2 inverse(mat2 m) {\n return mat2(m[1][1],-m[0][1],\n -m[1][0], m[0][0]) / (m[0][0]*m[1][1] - m[0][1]*m[1][0]);\n}\n\nmat3 inverse(mat3 m) {\n float a00 = m[0][0], a01 = m[0][1], a02 = m[0][2];\n float a10 = m[1][0], a11 = m[1][1], a12 = m[1][2];\n float a20 = m[2][0], a21 = m[2][1], a22 = m[2][2];\n\n float b01 = a22 * a11 - a12 * a21;\n float b11 = -a22 * a10 + a12 * a20;\n float b21 = a21 * a10 - a11 * a20;\n\n float det = a00 * b01 + a01 * b11 + a02 * b21;\n\n return mat3(b01, (-a22 * a01 + a02 * a21), (a12 * a01 - a02 * a11),\n b11, (a22 * a00 - a02 * a20), (-a12 * a00 + a02 * a10),\n b21, (-a21 * a00 + a01 * a20), (a11 * a00 - a01 * a10)) / det;\n}\n\nmat4 inverse(mat4 m) {\n float\n a00 = m[0][0], a01 = m[0][1], a02 = m[0][2], a03 = m[0][3],\n a10 = m[1][0], a11 = m[1][1], a12 = m[1][2], a13 = m[1][3],\n a20 = m[2][0], a21 = m[2][1], a22 = m[2][2], a23 = m[2][3],\n a30 = m[3][0], a31 = m[3][1], a32 = m[3][2], a33 = m[3][3],\n\n b00 = a00 * a11 - a01 * a10,\n b01 = a00 * a12 - a02 * a10,\n b02 = a00 * a13 - a03 * a10,\n b03 = a01 * a12 - a02 * a11,\n b04 = a01 * a13 - a03 * a11,\n b05 = a02 * a13 - a03 * a12,\n b06 = a20 * a31 - a21 * a30,\n b07 = a20 * a32 - a22 * a30,\n b08 = a20 * a33 - a23 * a30,\n b09 = a21 * a32 - a22 * a31,\n b10 = a21 * a33 - a23 * a31,\n b11 = a22 * a33 - a23 * a32,\n\n det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\n\n return mat4(\n a11 * b11 - a12 * b10 + a13 * b09,\n a02 * b10 - a01 * b11 - a03 * b09,\n a31 * b05 - a32 * b04 + a33 * b03,\n a22 * b04 - a21 * b05 - a23 * b03,\n a12 * b08 - a10 * b11 - a13 * b07,\n a00 * b11 - a02 * b08 + a03 * b07,\n a32 * b02 - a30 * b05 - a33 * b01,\n a20 * b05 - a22 * b02 + a23 * b01,\n a10 * b10 - a11 * b08 + a13 * b06,\n a01 * b08 - a00 * b10 - a03 * b06,\n a30 * b04 - a31 * b02 + a33 * b00,\n a21 * b02 - a20 * b04 - a23 * b00,\n a11 * b07 - a10 * b09 - a12 * b06,\n a00 * b09 - a01 * b07 + a02 * b06,\n a31 * b01 - a30 * b03 - a32 * b00,\n a20 * b03 - a21 * b01 + a22 * b00) / det;\n}\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\nuniform float tubeScale;\n\nuniform mat4 model\n , view\n , projection;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal), 0.0);\n normal = normalize(normal * inverse(mat3(model)));\n\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n f_color = color;\n f_normal = normal;\n f_data = tubePosition.xyz;\n f_eyeDirection = eyePosition - tubePosition.xyz;\n f_lightDirection = lightPosition - tubePosition.xyz;\n f_uv = uv;\n}\n"]),a=n(["precision mediump float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular\n , opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n \n if(!gl_FrontFacing) {\n N = -N;\n }\n\n float specular = cookTorranceSpecular(L, V, N, roughness, fresnel);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal), 0.0);\n gl_Position = projection * view * tubePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},{glslify:390}],298:[function(t,e,r){"use strict";var n=t("gl-shader"),i=t("gl-buffer"),a=t("gl-vao"),o=t("gl-texture2d"),s=t("normals"),l=t("gl-mat4/multiply"),c=t("gl-mat4/invert"),u=t("ndarray"),f=t("colormap"),h=t("simplicial-complex-contour"),p=t("typedarray-pool"),d=t("./shaders"),g=(t("./closest-point"),d.meshShader),m=d.pickShader,v=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function y(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,y,x,b,_,w,k,M,A,T,S,E){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleVectors=c,this.triangleColors=f,this.triangleNormals=p,this.triangleUVs=h,this.triangleIds=u,this.triangleVAO=d,this.triangleCount=0,this.lineWidth=1,this.edgePositions=g,this.edgeColors=y,this.edgeUVs=x,this.edgeIds=m,this.edgeVAO=b,this.edgeCount=0,this.pointPositions=_,this.pointColors=k,this.pointUVs=M,this.pointSizes=A,this.pointIds=w,this.pointVAO=T,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=S,this.contourVAO=E,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!1,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.tubeScale=1,this._model=v,this._view=v,this._projection=v,this._resolution=[1,1]}var x=y.prototype;function b(t){var e=n(t,m.vertex,m.fragment,null,m.attributes);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.vector.location=5,e}x.isOpaque=function(){return this.opacity>=1},x.isTransparent=function(){return this.opacity<1},x.pickSlots=1,x.setPickBase=function(t){this.pickId=t},x.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var c=r[l],u=0;u<2;++u){var f=c[0];2===c.length&&(f=c[u]);for(var d=n[f][0],g=n[f][1],m=i[f],v=1-m,y=this.positions[d],x=this.positions[g],b=0;b<3;++b)o[s++]=m*y[b]+v*x[b]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),p.free(o)}else this.contourCount=0},x.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"contourEnable"in t&&(this.contourEnable=t.contourEnable),"contourColor"in t&&(this.contourColor=t.contourColor),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"lightPosition"in t&&(this.lightPosition=t.lightPosition),"opacity"in t&&(this.opacity=t.opacity),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),t.texture?(this.texture.dispose(),this.texture=o(e,t.texture)):t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=f({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale);var a=[],l=[],c=[],h=[],p=[],d=[],g=[],m=[],v=[],y=[],x=[],b=[],_=[],w=[],k=[];this.cells=r,this.positions=n,this.vectors=i;var M=t.vertexNormals,A=t.cellNormals,T=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,S=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!A&&(A=s.faceNormals(r,n,S)),A||M||(M=s.vertexNormals(r,n,T));var E=t.vertexColors,C=t.cellColors,L=t.meshColor||[1,1,1,1],z=t.vertexUVs,P=t.vertexIntensity,O=t.cellUVs,I=t.cellIntensity,D=1/0,R=-1/0;if(!z&&!O)if(P)if(t.vertexIntensityBounds)D=+t.vertexIntensityBounds[0],R=+t.vertexIntensityBounds[1];else for(var B=0;B<P.length;++B){var F=P[B];D=Math.min(D,F),R=Math.max(R,F)}else if(I)for(B=0;B<I.length;++B){F=I[B];D=Math.min(D,F),R=Math.max(R,F)}else for(B=0;B<n.length;++B){F=n[B][2];D=Math.min(D,F),R=Math.max(R,F)}this.intensity=P||(I?function(t,e,r){for(var n=new Array(e),i=0;i<e;++i)n[i]=0;var a=t.length;for(i=0;i<a;++i)for(var o=t[i],s=0;s<o.length;++s)n[o[s]]=r[i];return n}(r,n.length,I):function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n));var N=t.pointSizes,j=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(B=0;B<n.length;++B)for(var V=n[B],U=0;U<3;++U)!isNaN(V[U])&&isFinite(V[U])&&(this.bounds[0][U]=Math.min(this.bounds[0][U],V[U]),this.bounds[1][U]=Math.max(this.bounds[1][U],V[U]));var q=0,H=0,G=0;t:for(B=0;B<r.length;++B){var W=r[B];switch(W.length){case 1:for(V=n[X=W[0]],U=0;U<3;++U)if(isNaN(V[U])||!isFinite(V[U]))continue t;x.push(V[0],V[1],V[2],V[3]),3===(Z=E?E[X]:C?C[B]:L).length?b.push(Z[0],Z[1],Z[2],1):b.push(Z[0],Z[1],Z[2],Z[3]),$=z?z[X]:P?[(P[X]-D)/(R-D),0]:O?O[B]:I?[(I[B]-D)/(R-D),0]:[(V[2]-D)/(R-D),0],_.push($[0],$[1]),N?w.push(N[X]):w.push(j),k.push(B),G+=1;break;case 2:for(U=0;U<2;++U){V=n[X=W[U]];for(var Y=0;Y<3;++Y)if(isNaN(V[Y])||!isFinite(V[Y]))continue t}for(U=0;U<2;++U){V=n[X=W[U]];g.push(V[0],V[1],V[2]),3===(Z=E?E[X]:C?C[B]:L).length?m.push(Z[0],Z[1],Z[2],1):m.push(Z[0],Z[1],Z[2],Z[3]),$=z?z[X]:P?[(P[X]-D)/(R-D),0]:O?O[B]:I?[(I[B]-D)/(R-D),0]:[(V[2]-D)/(R-D),0],v.push($[0],$[1]),y.push(B)}H+=1;break;case 3:for(U=0;U<3;++U)for(V=n[X=W[U]],Y=0;Y<3;++Y)if(isNaN(V[Y])||!isFinite(V[Y]))continue t;for(U=0;U<3;++U){var X;V=n[X=W[U]];a.push(V[0],V[1],V[2],V[3]);var Z,$,J,K=i[X];l.push(K[0],K[1],K[2],K[3]),3===(Z=E?E[X]:C?C[B]:L).length?c.push(Z[0],Z[1],Z[2],1):c.push(Z[0],Z[1],Z[2],Z[3]),$=z?z[X]:P?[(P[X]-D)/(R-D),0]:O?O[B]:I?[(I[B]-D)/(R-D),0]:[(V[2]-D)/(R-D),0],p.push($[0],$[1]),J=M?M[X]:A[B],h.push(J[0],J[1],J[2]),d.push(B)}q+=1}}this.pointCount=G,this.edgeCount=H,this.triangleCount=q,this.pointPositions.update(x),this.pointColors.update(b),this.pointUVs.update(_),this.pointSizes.update(w),this.pointIds.update(new Uint32Array(k)),this.edgePositions.update(g),this.edgeColors.update(m),this.edgeUVs.update(v),this.edgeIds.update(new Uint32Array(y)),this.trianglePositions.update(a),this.triangleVectors.update(l),this.triangleColors.update(c),this.triangleUVs.update(p),this.triangleNormals.update(h),this.triangleIds.update(new Uint32Array(d))}},x.drawTransparent=x.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||v,n=t.view||v,i=t.projection||v,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,tubeScale:this.tubeScale,contourColor:this.contourColor,texture:0};this.texture.bind(0);var u=new Array(16);l(u,s.view,s.model),l(u,s.projection,u),c(u,u);for(o=0;o<3;++o)s.eyePosition[o]=u[12+o]/u[15];var f,h=u[15];for(o=0;o<3;++o)h+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];s.lightPosition[o]=p/h}this.triangleCount>0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},x.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||v,n=t.view||v,i=t.projection||v,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},x.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3);return{index:e,position:n,intensity:this.intensity[r[1]],velocity:this.vectors[r[1]].slice(0,3),divergence:this.vectors[r[1]][3],dataCoordinate:n}},x.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose()},e.exports=function(t,e){1===arguments.length&&(t=(e=t).gl);var r=e.triShader||function(t){var e=n(t,g.vertex,g.fragment,null,g.attributes);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.vector.location=5,e}(t),s=b(t),l=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));l.generateMipmap(),l.minFilter=t.LINEAR_MIPMAP_LINEAR,l.magFilter=t.LINEAR;var c=i(t),f=i(t),h=i(t),p=i(t),d=i(t),m=i(t),v=a(t,[{buffer:c,type:t.FLOAT,size:4},{buffer:m,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:h,type:t.FLOAT,size:4},{buffer:p,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:3},{buffer:f,type:t.FLOAT,size:4}]),x=i(t),_=i(t),w=i(t),k=i(t),M=a(t,[{buffer:x,type:t.FLOAT,size:3},{buffer:k,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:_,type:t.FLOAT,size:4},{buffer:w,type:t.FLOAT,size:2}]),A=i(t),T=i(t),S=i(t),E=i(t),C=i(t),L=a(t,[{buffer:A,type:t.FLOAT,size:3},{buffer:C,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:T,type:t.FLOAT,size:4},{buffer:S,type:t.FLOAT,size:2},{buffer:E,type:t.FLOAT,size:1}]),z=i(t),P=new y(t,l,r,null,null,s,null,null,c,f,m,h,p,d,v,x,k,_,w,M,A,C,T,S,E,L,z,a(t,[{buffer:z,type:t.FLOAT,size:3}]));return P.update(e),P}},{"./closest-point":296,"./shaders":297,colormap:113,"gl-buffer":229,"gl-mat4/invert":253,"gl-mat4/multiply":255,"gl-shader":286,"gl-texture2d":303,"gl-vao":308,ndarray:430,normals:433,"simplicial-complex-contour":491,"typedarray-pool":519}],299:[function(t,e,r){"use strict";var n=t("gl-vec3"),i=t("gl-vec4"),a=function(t,e,r,a){for(var o=0,s=0;s<t.length;s++)for(var l=t[s].velocities,c=0;c<l.length;c++){var u=n.length(l[c]);u>o&&(o=u)}var f=t.map(function(t){return function(t,e,r,a){var o,s,l,c=t.points,u=t.velocities,f=t.divergences;n.set(n.create(),0,1,0),n.create(),n.create();n.create();for(var h=[],p=[],d=[],g=[],m=[],v=[],y=0,x=0,b=i.create(),_=i.create(),w=0;w<c.length;w++){o=c[w],s=u[w],l=f[w],0===e&&(l=.05*r),x=n.length(s)/a,b=i.create(),n.copy(b,s),b[3]=l;for(var k=0;k<8;k++)m[k]=[o[0],o[1],o[2],k];if(g.length>0)for(k=0;k<8;k++){var M=(k+1)%8;h.push(g[k],m[k],m[M],m[M],g[M],g[k]),d.push(_,b,b,b,_,_),v.push(y,x,x,x,y,y),p.push([h.length-6,h.length-5,h.length-4],[h.length-3,h.length-2,h.length-1])}var A=g;g=m,m=A,A=_,_=b,b=A,A=y,y=x,x=A}return{positions:h,cells:p,vectors:d,vertexIntensity:v}}(t,r,a,o)}),h=[],p=[],d=[],g=[];for(s=0;s<f.length;s++){var m=f[s],v=h.length;h=h.concat(m.positions),d=d.concat(m.vectors),g=g.concat(m.vertexIntensity);for(c=0;c<m.cells.length;c++){var y=m.cells[c],x=[];p.push(x);for(var b=0;b<y.length;b++)x.push(y[b]+v)}}return{positions:h,cells:p,vectors:d,vertexIntensity:g,colormap:e}},o=function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=this.getVelocity(r);n.subtract(a,a,e),n.scale(a,a,1e4),n.add(r,t,[0,i,0]);var o=this.getVelocity(r);n.subtract(o,o,e),n.scale(o,o,1e4),n.add(r,t,[0,0,i]);var s=this.getVelocity(r);return n.subtract(s,s,e),n.scale(s,s,1e4),n.add(r,a,o),n.add(r,r,s),r},s=function(t){return h(t,this.vectors,this.meshgrid,this.clampBorders)},l=function(t,e){for(var r=0;r<t.length;r++){var n=t[r];if(n===e)return r;if(n>e)return r-1}return r},c=n.create(),u=n.create(),f=function(t,e,r){return t<e?e:t>r?r:t},h=function(t,e,r,i){var a=t[0],o=t[1],s=t[2],h=r[0].length,p=r[1].length,d=r[2].length,g=l(r[0],a),m=l(r[1],o),v=l(r[2],s),y=g+1,x=m+1,b=v+1;if(r[0][g]===a&&(y=g),r[1][m]===o&&(x=m),r[2][v]===s&&(b=v),i&&(g=f(g,0,h-1),y=f(y,0,h-1),m=f(m,0,p-1),x=f(x,0,p-1),v=f(v,0,d-1),b=f(b,0,d-1)),g<0||m<0||v<0||y>=h||x>=p||b>=d)return n.create();var _=(a-r[0][g])/(r[0][y]-r[0][g]),w=(o-r[1][m])/(r[1][x]-r[1][m]),k=(s-r[2][v])/(r[2][b]-r[2][v]);(_<0||_>1||isNaN(_))&&(_=0),(w<0||w>1||isNaN(w))&&(w=0),(k<0||k>1||isNaN(k))&&(k=0);var M=v*h*p,A=b*h*p,T=m*h,S=x*h,E=g,C=y,L=e[T+M+E],z=e[T+M+C],P=e[S+M+E],O=e[S+M+C],I=e[T+A+E],D=e[T+A+C],R=e[S+A+E],B=e[S+A+C],F=n.create();return n.lerp(F,L,z,_),n.lerp(c,P,O,_),n.lerp(F,F,c,w),n.lerp(c,I,D,_),n.lerp(u,R,B,_),n.lerp(c,c,u,w),n.lerp(F,F,c,k),F},p=function(t){var e=1/0;t.sort(function(t,e){return t-e});for(var r=1;r<t.length;r++){var n=Math.abs(t[r]-t[r-1]);n<e&&(e=n)}return e};e.exports=function(t,e){var r=t.startingPositions,i=t.maxLength||1e3,l=t.tubeSize||1,c=t.absoluteTubeSize;t.getDivergence||(t.getDivergence=o),t.getVelocity||(t.getVelocity=s),void 0===t.clampBorders&&(t.clampBorders=!0);var u=[],f=e[0][0],h=e[0][1],d=e[0][2],g=e[1][0],m=e[1][1],v=e[1][2],y=function(t,e){var r=e[0],n=e[1],i=e[2];return r>=f&&r<=g&&n>=h&&n<=m&&i>=d&&i<=v},x=10*n.distance(e[0],e[1])/i,b=x*x,_=1,w=0;n.create();r.length>=2&&(_=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=0;s<t.length;s++){var l=t[s],c=l[0],u=l[1],f=l[2];i[c]||(e.push(c),i[c]=!0),a[u]||(r.push(u),a[u]=!0),o[f]||(n.push(f),o[f]=!0)}var h=p(e),d=p(r),g=p(n),m=Math.min(h,d,g);return isFinite(m)?m:1}(r));for(var k=0;k<r.length;k++){var M=n.create();n.copy(M,r[k]);var A=[M],T=[],S=t.getVelocity(M),E=M;T.push(S);var C=[],L=t.getDivergence(M,S);(I=n.length(L))>w&&!isNaN(I)&&isFinite(I)&&(w=I),C.push(I),u.push({points:A,velocities:T,divergences:C});for(var z=0;z<100*i&&A.length<i&&y(0,M);){z++;var P=n.clone(S),O=n.squaredLength(P);if(0===O)break;if(O>b&&n.scale(P,P,x/Math.sqrt(O)),n.add(P,P,M),S=t.getVelocity(P),n.squaredDistance(E,P)-b>-1e-4*b){A.push(P),E=P,T.push(S);L=t.getDivergence(P,S);(I=n.length(L))>w&&!isNaN(I)&&isFinite(I)&&(w=I),C.push(I)}M=P}}for(k=0;k<C.length;k++){var I=C[k];!isNaN(I)&&isFinite(I)||(C[k]=w)}var D=a(u,t.colormap,w,_);return c?D.tubeScale=c:(0===w&&(w=1),D.tubeScale=.5*l*_/w),D},e.exports.createTubeMesh=t("./lib/tubemesh")},{"./lib/tubemesh":298,"gl-vec3":327,"gl-vec4":363}],300:[function(t,e,r){var n=t("gl-shader"),i=t("glslify"),a=i(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 lightPosition, eyePosition;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n worldCoordinate = vec3(uv.zw, f.x);\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n vec4 clipPosition = projection * view * worldPosition;\n gl_Position = clipPosition;\n kill = f.y;\n value = f.z;\n planeCoordinate = uv.xy;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * worldPosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n lightDirection = lightPosition - cameraCoordinate.xyz;\n eyeDirection = eyePosition - cameraCoordinate.xyz;\n surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz);\n}\n"]),o=i(["precision mediump float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat beckmannSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness) {\n return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n if (kill > 0.0 ||\n any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\n discard;\n }\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color \u2014 in vertex or in fragment\n vec4 surfaceColor = step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=i(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n vec4 worldPosition = model * vec4(dataCoordinate, 1.0);\n\n vec4 clipPosition = projection * view * worldPosition;\n clipPosition.z = clipPosition.z + zOffset;\n\n gl_Position = clipPosition;\n value = f;\n kill = -1.0;\n worldCoordinate = dataCoordinate;\n planeCoordinate = uv.zw;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Don't do lighting for contours\n surfaceNormal = vec3(1,0,0);\n eyeDirection = vec3(0,1,0);\n lightDirection = vec3(0,0,1);\n}\n"]),l=i(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if(kill > 0.0 ||\n any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\n discard;\n }\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);r.createShader=function(t){var e=n(t,a,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createPickShader=function(t){var e=n(t,a,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{"gl-shader":286,glslify:390}],301:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=y(e),n=b(e),s=x(e),l=_(e),c=i(e),u=a(e,[{buffer:c,size:4,stride:w,offset:0},{buffer:c,size:3,stride:w,offset:16},{buffer:c,size:3,stride:w,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),g=o(e,1,S,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var m=new E(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,g,s,l,f,h,p,d),v={levels:[[],[],[]]};for(var k in t)v[k]=t[k];return v.colormap=v.colormap||"jet",m.update(v),m};var n=t("bit-twiddle"),i=t("gl-buffer"),a=t("gl-vao"),o=t("gl-texture2d"),s=t("typedarray-pool"),l=t("colormap"),c=t("ndarray-ops"),u=t("ndarray-pack"),f=t("ndarray"),h=t("surface-nets"),p=t("gl-mat4/multiply"),d=t("gl-mat4/invert"),g=t("binary-search-bounds"),m=t("ndarray-gradient"),v=t("./lib/shaders"),y=v.createShader,x=v.createContourShader,b=v.createPickShader,_=v.createPickContourShader,w=40,k=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],M=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function T(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var t=0;t<3;++t){var e=A[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=256;function E(t,e,r,n,i,a,o,l,c,u,h,p,d,g){this.gl=t,this.shape=e,this.bounds=r,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new T([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=g,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var C=E.prototype;C.isTransparent=function(){return this.opacity<1},C.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this._contourCounts[t].length>0||this._dynamicCounts[t]>0)return!0;return!1},C.pickSlots=1,C.setPickBase=function(t){this.pickId=t};var L=[0,0,0],z={showSurface:!1,showContour:!1,projections:[k.slice(),k.slice(),k.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function P(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||L,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=z.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],p(l,t.model,l);var c=z.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)c[i][n]=t.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return z.showSurface=o,z.showContour=s,z}var O={model:k,view:k,projection:k,inverseModel:k.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},I=k.slice(),D=[1,0,0,0,1,0,0,0,1];function R(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=O;n.model=t.model||k,n.view=t.view||k,n.projection=t.projection||k,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=D,n.vertexColor=this.vertexColor;var s=I;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var c=s[12+i];for(o=0;o<3;++o)c+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=c/l}var u=P(n,this);if(u.showSurface&&e===this.opacity<1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=u.projections[i],this._shader.uniforms.clipBounds=u.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour&&!e){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=A[i],r.lineWidth(this.contourWidth[i]),o=0;o<this.contourLevels[i].length;++o)o===this.highlightLevel[i]?(f.uniforms.contourColor=this.highlightColor[i],f.uniforms.contourTint=this.highlightTint[i]):0!==o&&o-1!==this.highlightLevel[i]||(f.uniforms.contourColor=this.contourColor[i],f.uniforms.contourTint=this.contourTint[i]),this._contourCounts[i][o]&&(f.uniforms.height=this.contourLevels[i][o],h.draw(r.LINES,this._contourCounts[i][o],this._contourOffsets[i][o]));for(i=0;i<3;++i)for(f.uniforms.model=u.projections[i],f.uniforms.clipBounds=u.clipBounds[i],o=0;o<3;++o)if(this.contourProject[i][o]){f.uniforms.permutation=A[o],r.lineWidth(this.contourWidth[o]);for(var g=0;g<this.contourLevels[o].length;++g)g===this.highlightLevel[o]?(f.uniforms.contourColor=this.highlightColor[o],f.uniforms.contourTint=this.highlightTint[o]):0!==g&&g-1!==this.highlightLevel[o]||(f.uniforms.contourColor=this.contourColor[o],f.uniforms.contourTint=this.contourTint[o]),f.uniforms.height=this.contourLevels[o][g],h.draw(r.LINES,this._contourCounts[o][g],this._contourOffsets[o][g])}for(h.unbind(),(h=this._dynamicVAO).bind(),i=0;i<3;++i)if(0!==this._dynamicCounts[i])for(f.uniforms.model=n.model,f.uniforms.clipBounds=n.clipBounds,f.uniforms.permutation=A[i],r.lineWidth(this.dynamicWidth[i]),f.uniforms.contourColor=this.dynamicColor[i],f.uniforms.contourTint=this.dynamicTint[i],f.uniforms.height=this.dynamicLevel[i],h.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]),o=0;o<3;++o)this.contourProject[o][i]&&(f.uniforms.model=u.projections[o],f.uniforms.clipBounds=u.clipBounds[o],h.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]));h.unbind()}}C.draw=function(t){return R.call(this,t,!1)},C.drawTransparent=function(t){return R.call(this,t,!0)};var B={model:k,view:k,projection:k,inverseModel:k,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};function F(t,e){var r=e.shape.slice(),n=t.shape.slice();c.assign(t.lo(1,1).hi(r[0],r[1]),e),c.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),c.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),c.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),c.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))}function N(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function j(t){return Array.isArray(t)?3===t.length?[t[0],t[1],t[2],1]:[t[0],t[1],t[2],t[3]]:[0,0,0,1]}function V(t){if(Array.isArray(t)){if(Array.isArray(t))return[j(t[0]),j(t[1]),j(t[2])];var e=j(t);return[e.slice(),e.slice(),e.slice()]}}C.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=B;r.model=t.model||k,r.view=t.view||k,r.projection=t.projection||k,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.permutation=D;for(var n=0;n<2;++n)for(var i=r.clipBounds[n],a=0;a<3;++a)i[a]=Math.min(Math.max(this.clipBounds[n][a],-1e8),1e8);var o=P(r,this);if(o.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=r,this._vao.bind(),this._vao.draw(e.TRIANGLES,this._vertexCount),n=0;n<3;++n)this.surfaceProject[n]&&(this._pickShader.uniforms.model=o.projections[n],this._pickShader.uniforms.clipBounds=o.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(o.showContour){var s=this._contourPickShader;s.bind(),s.uniforms=r;var l=this._contourVAO;for(l.bind(),a=0;a<3;++a)for(e.lineWidth(this.contourWidth[a]),s.uniforms.permutation=A[a],n=0;n<this.contourLevels[a].length;++n)this._contourCounts[a][n]&&(s.uniforms.height=this.contourLevels[a][n],l.draw(e.LINES,this._contourCounts[a][n],this._contourOffsets[a][n]));for(n=0;n<3;++n)for(s.uniforms.model=o.projections[n],s.uniforms.clipBounds=o.clipBounds[n],a=0;a<3;++a)if(this.contourProject[n][a]){s.uniforms.permutation=A[a],e.lineWidth(this.contourWidth[a]);for(var c=0;c<this.contourLevels[a].length;++c)this._contourCounts[a][c]&&(s.uniforms.height=this.contourLevels[a][c],l.draw(e.LINES,this._contourCounts[a][c],this._contourOffsets[a][c]))}l.unbind()}},C.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=this._field[2].shape,r=this._pickResult,n=e[0]*(t.value[0]+(t.value[2]>>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var f=u?a:1-a,h=0;h<2;++h)for(var p=i+u,d=s+h,m=f*(h?l:1-l),v=0;v<3;++v)c[v]+=this._field[v].get(p,d)*m;for(var y=this._pickResult.level,x=0;x<3;++x)if(y[x]=g.le(this.contourLevels[x],c[x]),y[x]<0)this.contourLevels[x].length>0&&(y[x]=0);else if(y[x]<this.contourLevels[x].length-1){var b=this.contourLevels[x][y[x]],_=this.contourLevels[x][y[x]+1];Math.abs(b-c[x])>Math.abs(_-c[x])&&(y[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],v=0;v<3;++v)r.dataCoordinate[v]=this._field[v].get(r.index[0],r.index[1]);return r},C.update=function(t){t=t||{},this.dirty=!0,"contourWidth"in t&&(this.contourWidth=N(t.contourWidth,Number)),"showContour"in t&&(this.showContour=N(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=N(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=V(t.contourColor)),"contourProject"in t&&(this.contourProject=N(t.contourProject,function(t){return N(t,Boolean)})),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=V(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=N(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=N(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0);var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in t||"coords"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),F(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var p=t.coords;if(!Array.isArray(p)||3!==p.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var d=p[o];for(b=0;b<2;++b)if(d.shape[b]!==a[b])throw new Error("gl-surface: coords have incorrect shape");F(this._field[o],d)}}else if(t.ticks){var g=t.ticks;if(!Array.isArray(g)||2!==g.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var v=g[o];if((Array.isArray(v)||v.length)&&(v=f(v)),v.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var y=f(v.data,a);y.stride[o]=v.stride[0],y.stride[1^o]=0,F(this._field[o],y)}}else{for(o=0;o<2;++o){var x=[0,0];x[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],x,0)}this._field[0].set(0,0,0);for(var b=0;b<a[0];++b)this._field[0].set(b+1,0,b);for(this._field[0].set(a[0]+1,0,a[0]-1),this._field[1].set(0,0,0),b=0;b<a[1];++b)this._field[1].set(0,b+1,b);this._field[1].set(0,a[1]+1,a[1]-1)}var _=this._field,w=f(s.mallocFloat(3*_[2].size*2),[3,a[0]+2,a[1]+2,2]);for(o=0;o<3;++o)m(w.pick(o),_[o],"mirror");var k=f(s.mallocFloat(3*_[2].size),[a[0]+2,a[1]+2,3]);for(o=0;o<a[0]+2;++o)for(b=0;b<a[1]+2;++b){var A=w.get(0,o,b,0),T=w.get(0,o,b,1),E=w.get(1,o,b,0),C=w.get(1,o,b,1),L=w.get(2,o,b,0),z=w.get(2,o,b,1),P=E*z-C*L,O=L*T-z*A,I=A*C-T*E,D=Math.sqrt(P*P+O*O+I*I);D<1e-8?(D=Math.max(Math.abs(P),Math.abs(O),Math.abs(I)))<1e-8?(I=1,O=P=0,D=1):D=1/D:D=1/Math.sqrt(D),k.set(o,b,0,P*D),k.set(o,b,1,O*D),k.set(o,b,2,I*D)}s.free(w.data);var R=[1/0,1/0,1/0],B=[-1/0,-1/0,-1/0],j=1/0,U=-1/0,q=(a[0]-1)*(a[1]-1)*6,H=s.mallocFloat(n.nextPow2(10*q)),G=0,W=0;for(o=0;o<a[0]-1;++o)t:for(b=0;b<a[1]-1;++b){for(var Y=0;Y<2;++Y)for(var X=0;X<2;++X)for(var Z=0;Z<3;++Z){var $=this._field[Z].get(1+o+Y,1+b+X);if(isNaN($)||!isFinite($))continue t}for(Z=0;Z<6;++Z){var J=o+M[Z][0],K=b+M[Z][1],Q=this._field[0].get(J+1,K+1),tt=this._field[1].get(J+1,K+1),et=$=this._field[2].get(J+1,K+1);P=k.get(J+1,K+1,0),O=k.get(J+1,K+1,1),I=k.get(J+1,K+1,2),t.intensity&&(et=t.intensity.get(J,K)),H[G++]=J,H[G++]=K,H[G++]=Q,H[G++]=tt,H[G++]=$,H[G++]=0,H[G++]=et,H[G++]=P,H[G++]=O,H[G++]=I,R[0]=Math.min(R[0],Q),R[1]=Math.min(R[1],tt),R[2]=Math.min(R[2],$),j=Math.min(j,et),B[0]=Math.max(B[0],Q),B[1]=Math.max(B[1],tt),B[2]=Math.max(B[2],$),U=Math.max(U,et),W+=1}}for(t.intensityBounds&&(j=+t.intensityBounds[0],U=+t.intensityBounds[1]),o=6;o<G;o+=10)H[o]=(H[o]-j)/(U-j);this._vertexCount=W,this._coordinateBuffer.update(H.subarray(0,G)),s.freeFloat(H),s.free(k.data),this.bounds=[R,B],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===j&&this.intensityBounds[1]===U||(r=!0),this.intensityBounds=[j,U]}if("levels"in t){var rt=t.levels;for(rt=Array.isArray(rt[0])?rt.slice():[[],[],rt],o=0;o<3;++o)rt[o]=rt[o].slice(),rt.sort(function(t,e){return t-e});t:for(o=0;o<3;++o){if(rt[o].length!==this.contourLevels[o].length){r=!0;break}for(b=0;b<rt[o].length;++b)if(rt[o][b]!==this.contourLevels[o][b]){r=!0;break t}}this.contourLevels=rt}if(r){_=this._field,a=this.shape;for(var nt=[],it=0;it<3;++it){rt=this.contourLevels[it];var at=[],ot=[],st=[0,0,0];for(o=0;o<rt.length;++o){var lt=h(this._field[it],rt[o]);at.push(nt.length/5|0),W=0;t:for(b=0;b<lt.cells.length;++b){var ct=lt.cells[b];for(Z=0;Z<2;++Z){var ut=lt.positions[ct[Z]],ft=ut[0],ht=0|Math.floor(ft),pt=ft-ht,dt=ut[1],gt=0|Math.floor(dt),mt=dt-gt,vt=!1;e:for(var yt=0;yt<3;++yt){st[yt]=0;var xt=(it+yt+1)%3;for(Y=0;Y<2;++Y){var bt=Y?pt:1-pt;for(J=0|Math.min(Math.max(ht+Y,0),a[0]),X=0;X<2;++X){var _t=X?mt:1-mt;if(K=0|Math.min(Math.max(gt+X,0),a[1]),$=yt<2?this._field[xt].get(J,K):(this.intensity.get(J,K)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite($)||isNaN($)){vt=!0;break e}var wt=bt*_t;st[yt]+=wt*$}}}if(vt){if(Z>0){for(var kt=0;kt<5;++kt)nt.pop();W-=1}continue t}nt.push(st[0],st[1],ut[0],ut[1],st[2]),W+=1}}ot.push(W)}this._contourOffsets[it]=at,this._contourCounts[it]=ot}var Mt=s.mallocFloat(nt.length);for(o=0;o<nt.length;++o)Mt[o]=nt[o];this._contourBuffer.update(Mt),s.freeFloat(Mt)}t.colormap&&this._colorMap.setPixels(function(t){var e=u([l({colormap:t,nshades:S,format:"rgba"}).map(function(t){return[t[0],t[1],t[2],255*t[3]]})]);return c.divseq(e,255),e}(t.colormap))},C.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var t=0;t<3;++t)s.freeFloat(this._field[t].data)},C.highlight=function(t){if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(var e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;var r;if(r=this.snapToData?t.dataCoordinate:t.position,this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,i=this.shape,a=s.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,c=(o+2)%3,u=this._field[o],f=this._field[l],p=this._field[c],d=(this.intensity,h(u,r[o])),g=d.cells,m=d.positions;for(this._dynamicOffsets[o]=n,e=0;e<g.length;++e)for(var v=g[e],y=0;y<2;++y){var x=m[v[y]],b=+x[0],_=0|b,w=0|Math.min(_+1,i[0]),k=b-_,M=1-k,A=+x[1],T=0|A,S=0|Math.min(T+1,i[1]),E=A-T,C=1-E,L=M*C,z=M*E,P=k*C,O=k*E,I=L*f.get(_,T)+z*f.get(_,S)+P*f.get(w,T)+O*f.get(w,S),D=L*p.get(_,T)+z*p.get(_,S)+P*p.get(w,T)+O*p.get(w,S);if(isNaN(I)||isNaN(D)){y&&(n-=1);break}a[2*n+0]=I,a[2*n+1]=D,n+=1}this._dynamicCounts[o]=n-this._dynamicOffsets[o]}else this.dynamicLevel[o]=NaN,this._dynamicCounts[o]=0;this._dynamicBuffer.update(a.subarray(0,2*n)),s.freeFloat(a)}}},{"./lib/shaders":300,"binary-search-bounds":78,"bit-twiddle":79,colormap:113,"gl-buffer":229,"gl-mat4/invert":253,"gl-mat4/multiply":255,"gl-texture2d":303,"gl-vao":308,ndarray:430,"ndarray-gradient":421,"ndarray-ops":424,"ndarray-pack":425,"surface-nets":505,"typedarray-pool":519}],302:[function(t,e,r){"use strict";var n=t("css-font"),i=t("pick-by-alias"),a=t("regl"),o=t("gl-util/context"),s=t("es6-weak-map"),l=t("color-normalize"),c=t("font-atlas"),u=t("typedarray-pool"),f=t("parse-rect"),h=t("is-plain-obj"),p=t("parse-unit"),d=t("to-px"),g=t("detect-kerning"),m=t("object-assign"),v=t("font-measure"),y=t("flatten-vertex-data"),x=t("bit-twiddle").nextPow2,b=new s,_=!1;if(document.body){var w=document.body.appendChild(document.createElement("div"));w.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(w).fontStretch&&(_=!0),document.body.removeChild(w)}var k=function(t){!function(t){return"function"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(h(t)?t:{})};k.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:"\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\t"+(k.normalViewport?"":"vec2 positionOffset = vec2(positionOffset.x,- positionOffset.y);")+"\n\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ positionOffset))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\t"+(k.normalViewport?"position.y = 1. - position.y;":"")+"\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}",frag:"\n\t\t\tprecision highp float;\n\t\t\tuniform sampler2D atlas;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}"});return{regl:t,draw:e,atlas:{}}},k.prototype.update=function(t){var e=this;if("string"==typeof t)t={text:t};else if(!t)return;null!=(t=i(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map(function(t){return parseFloat(t)}):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=f(t.viewport),k.normalViewport&&(this.viewport.y=this.canvas.height-this.viewport.y-this.viewport.height),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&("number"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=y(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=k.baseFontSize+"px sans-serif");var r,a=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach(function(t,r){if("string"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(k.baseFontSize+"px "+t)}else t=n.parse(n.stringify(t));var i=n.stringify({size:k.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),s=p(t.size),l=Math.round(s[0]*d(s[1]));if(l!==e.fontSize[r]&&(o=!0,e.fontSize[r]=l),!(e.font[r]&&i==e.font[r].baseString||(a=!0,e.font[r]=k.fonts[i],e.font[r]))){var c=t.family.join(", "),u=[t.style];t.style!=t.variant&&u.push(t.variant),t.variant!=t.weight&&u.push(t.weight),_&&t.weight!=t.stretch&&u.push(t.stretch),e.font[r]={baseString:i,family:c,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:v(c,{origin:"top",fontSize:k.baseFontSize,fontStyle:u.join(" ")})},k.fonts[i]=e.font[r]}}),(a||o)&&this.font.forEach(function(r,i){var a=n.stringify({size:e.fontSize[i],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[i]=e.shader.atlas[a],!e.fontAtlas[i]){var o=r.metrics;e.shader.atlas[a]=e.fontAtlas[i]={fontString:a,step:2*Math.ceil(e.fontSize[i]*o.bottom*.5),em:e.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)}),"string"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),h=0;h<s.length;h++)s[h]=t.text;t.text=s}if(null!=t.text||a){if(this.textOffsets=[0],Array.isArray(t.text)){this.count=t.text[0].length,this.counts=[this.count];for(var b=1;b<t.text.length;b++)e.textOffsets[b]=e.textOffsets[b-1]+t.text[b-1].length,e.count+=t.text[b].length,e.counts.push(t.text[b].length);this.text=t.text.join("")}else this.text=t.text,this.count=this.text.length,this.counts=[this.count];r=[],this.font.forEach(function(t,n){k.atlasContext.font=t.baseString;for(var i=e.fontAtlas[n],a=0;a<e.text.length;a++){var o=e.text.charAt(a);if(null==i.ids[o]&&(i.ids[o]=i.chars.length,i.chars.push(o),r.push(o)),null==t.width[o]&&(t.width[o]=k.atlasContext.measureText(o).width/k.baseFontSize,e.kerning)){var s=[];for(var l in t.width)s.push(l+o,o+l);m(t.kerning,g(t.family,{pairs:s}))}}})}if(t.position)if(t.position.length>2){for(var w=!t.position[0].length,M=u.mallocFloat(2*this.count),A=0,T=0;A<this.counts.length;A++){var S=e.counts[A];if(w)for(var E=0;E<S;E++)M[T++]=t.position[2*A],M[T++]=t.position[2*A+1];else for(var C=0;C<S;C++)M[T++]=t.position[A][0],M[T++]=t.position[A][1]}this.position.call?this.position({type:"float",data:M}):this.position=this.regl.buffer({type:"float",data:M}),u.freeFloat(M)}else this.position.destroy&&this.position.destroy(),this.position={constant:t.position};if(t.text||a){var L=u.mallocUint8(this.count),z=u.mallocFloat(2*this.count);this.textWidth=[];for(var P=0,O=0;P<this.counts.length;P++){for(var I=e.counts[P],D=e.font[P]||e.font[0],R=e.fontAtlas[P]||e.fontAtlas[0],B=0;B<I;B++){var F=e.text.charAt(O),N=e.text.charAt(O-1);if(L[O]=R.ids[F],z[2*O]=D.width[F],B){var j=z[2*O-2],V=z[2*O],U=z[2*O-1]+.5*j+.5*V;if(e.kerning){var q=D.kerning[N+F];q&&(U+=.001*q)}z[2*O+1]=U}else z[2*O+1]=.5*z[2*O];O++}e.textWidth.push(z.length?.5*z[2*O-2]+z[2*O-1]:0)}t.align||(t.align=this.align),this.charBuffer({data:L,type:"uint8",usage:"stream"}),this.sizeBuffer({data:z,type:"float",usage:"stream"}),u.freeUint8(L),u.freeFloat(z),r.length&&this.font.forEach(function(t,r){var n=e.fontAtlas[r],i=n.step,a=Math.floor(k.maxAtlasSize/i),o=Math.min(a,n.chars.length),s=Math.ceil(n.chars.length/o),l=x(o*i),u=x(s*i);n.width=l,n.height=u,n.rows=s,n.cols=o,n.em&&n.texture({data:c({canvas:k.atlasCanvas,font:n.fontString,chars:n.chars,shape:[l,u],step:[i,i]})})})}if(t.align&&(this.align=t.align,this.alignOffset=this.textWidth.map(function(t,r){var n=Array.isArray(e.align)?e.align.length>1?e.align[r]:e.align[0]:e.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-t;case"center":case"centre":case"middle":return.5*-t}return 0})),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(t,r){var n=(e.font[r]||e.font[0]).metrics,i=0;return i+=.5*n.bottom,i+="number"==typeof t?t-n.baseline:-n[t],k.normalViewport||(i*=-1),i})),null!=t.color)if(t.color||(t.color="transparent"),"string"!=typeof t.color&&isNaN(t.color)){var H;if("number"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;H=u.mallocUint8(G);for(var W=(t.color.subarray||t.color.slice).bind(t.color),Y=0;Y<G;Y+=4)H.set(l(W(Y,Y+4),"uint8"),Y)}else{var X=t.color.length;H=u.mallocUint8(4*X);for(var Z=0;Z<X;Z++)H.set(l(t.color[Z]||0,"uint8"),4*Z)}this.color=H}else this.color=l(t.color,"uint8");if(t.position||t.text||t.color||t.baseline||t.align||t.font||t.offset||t.opacity)if(this.color.length>4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var $=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array($);for(var J=0;J<this.batch.length;J++)e.batch[J]={count:e.counts.length>1?e.counts[J]:e.counts[0],offset:e.textOffsets.length>1?e.textOffsets[J]:e.textOffsets[0],color:e.color?e.color.length<=4?e.color:e.color.subarray(4*J,4*J+4):[0,0,0,255],opacity:Array.isArray(e.opacity)?e.opacity[J]:e.opacity,baseline:null!=e.baselineOffset[J]?e.baselineOffset[J]:e.baselineOffset[0],align:e.align?null!=e.alignOffset[J]?e.alignOffset[J]:e.alignOffset[0]:0,atlas:e.fontAtlas[J]||e.fontAtlas[0],positionOffset:e.positionOffset.length>2?e.positionOffset.subarray(2*J,2*J+2):e.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},k.prototype.destroy=function(){},k.prototype.kerning=!0,k.prototype.position={constant:new Float32Array(2)},k.prototype.translate=null,k.prototype.scale=null,k.prototype.font=null,k.prototype.text="",k.prototype.positionOffset=[0,0],k.prototype.opacity=1,k.prototype.color=new Uint8Array([0,0,0,255]),k.prototype.alignOffset=[0,0],k.normalViewport=!1,k.maxAtlasSize=1024,k.atlasCanvas=document.createElement("canvas"),k.atlasContext=k.atlasCanvas.getContext("2d",{alpha:!1}),k.baseFontSize=64,k.fonts={},e.exports=k},{"bit-twiddle":79,"color-normalize":107,"css-font":126,"detect-kerning":150,"es6-weak-map":208,"flatten-vertex-data":215,"font-atlas":216,"font-measure":217,"gl-util/context":304,"is-plain-obj":403,"object-assign":434,"parse-rect":439,"parse-unit":441,"pick-by-alias":445,regl:475,"to-px":513,"typedarray-pool":519}],303:[function(t,e,r){"use strict";var n=t("ndarray"),i=t("ndarray-ops"),a=t("typedarray-pool");e.exports=function(t){if(arguments.length<=1)throw new Error("gl-texture2d: Missing arguments for texture2d constructor");o||function(t){o=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],s=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],l=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}(t);if("number"==typeof arguments[1])return m(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return m(t,0|arguments[1][0],0|arguments[1][1],arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if("object"==typeof arguments[1]){var e=arguments[1],r=c(e)?e:e.raw;if(r)return function(t,e,r,n,i,a){var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new h(t,o,r,n,i,a)}(t,r,0|e.width,0|e.height,arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(e.shape&&e.data&&e.stride)return function(t,e){var r=e.dtype,o=e.shape.slice(),s=t.getParameter(t.MAX_TEXTURE_SIZE);if(o[0]<0||o[0]>s||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=d(o,e.stride.slice()),c=0;"float32"===r?c=t.FLOAT:"float64"===r?(c=t.FLOAT,l=!1,r="float32"):"uint8"===r?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,l=!1,r="uint8");var f,p,m=0;if(2===o.length)m=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])m=t.ALPHA;else if(2===o[2])m=t.LUMINANCE_ALPHA;else if(3===o[2])m=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");m=t.RGBA}}c!==t.FLOAT||t.getExtension("OES_texture_float")||(c=t.UNSIGNED_BYTE,l=!1);var v=e.size;if(l)f=0===e.offset&&e.data.length===v?e.data:e.data.subarray(e.offset,e.offset+v);else{var y=[o[2],o[2]*o[0],1];p=a.malloc(v,r);var x=n(p,o,y,0);"float32"!==r&&"float64"!==r||c!==t.UNSIGNED_BYTE?i.assign(x,e):u(x,e),f=p.subarray(0,v)}var b=g(t);t.texImage2D(t.TEXTURE_2D,0,m,o[0],o[1],0,m,c,f),l||a.free(p);return new h(t,b,o[0],o[1],m,c)}(t,e)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function c(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&t instanceof ImageData}var u=function(t,e){i.muls(t,e,255)};function f(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function h(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var p=h.prototype;function d(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function g(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function m(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture shape");if(i===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new h(t,o,e,r,n,i)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return f(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return f(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,f(this,this._shape[0],t),t}}}),p.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},p.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=c(t)?t:t.raw;if(l){this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l)}else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,c,f){var h=f.dtype,p=f.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var g=0,m=0,v=d(p,f.stride.slice());"float32"===h?g=t.FLOAT:"float64"===h?(g=t.FLOAT,v=!1,h="float32"):"uint8"===h?g=t.UNSIGNED_BYTE:(g=t.UNSIGNED_BYTE,v=!1,h="uint8");if(2===p.length)m=t.LUMINANCE,p=[p[0],p[1],1],f=n(f.data,p,[f.stride[0],f.stride[1],1],f.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])m=t.ALPHA;else if(2===p[2])m=t.LUMINANCE_ALPHA;else if(3===p[2])m=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");m=t.RGBA}p[2]}m!==t.LUMINANCE&&m!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(m=s);if(m!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var y=f.size,x=c.indexOf(o)<0;x&&c.push(o);if(g===l&&v)0===f.offset&&f.data.length===y?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data.subarray(f.offset,f.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data.subarray(f.offset,f.offset+y));else{var b;b=l===t.FLOAT?a.mallocFloat32(y):a.mallocUint8(y);var _=n(b,p,[p[2],p[2]*p[0],1]);g===t.FLOAT&&l===t.UNSIGNED_BYTE?u(_,f):i.assign(_,f),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,y)),l===t.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},{ndarray:430,"ndarray-ops":424,"typedarray-pool":519}],304:[function(t,e,r){"use strict";var n=t("pick-by-alias");function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*window.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*window.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function a(t){return"function"==typeof t.getContext&&"width"in t&&"height"in t}e.exports=function(t){var e;if(t?"string"==typeof t&&(t={container:t}):t={},a(t)?t={container:t}:t="string"==typeof(e=t).nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect?{container:t}:function(t){return"function"==typeof t.drawArrays||"function"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio"},!0),t.pixelRatio||(t.pixelRatio=window.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if("string"==typeof t.container){var r=document.querySelector(t.container);if(!r)throw Error("Element "+t.container+" is not found");t.container=r}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=document.createElement("canvas"),t.container.appendChild(t.canvas),i(t))}else t.canvas||(t.container=document.body||document.documentElement,t.canvas=document.createElement("canvas"),t.canvas.style.position="absolute",t.canvas.style.top=0,t.canvas.style.left=0,t.container.appendChild(t.canvas),i(t));if(!t.gl)try{t.gl=t.canvas.getContext("webgl",t.attrs)}catch(e){try{t.gl=t.canvas.getContext("experimental-webgl",t.attrs)}catch(e){t.gl=t.canvas.getContext("webgl-experimental",t.attrs)}}return t.gl}},{"pick-by-alias":445}],305:[function(t,e,r){"use strict";e.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var i=0;i<r.length;++i){var a=r[i];if(a.buffer){var o=a.buffer,s=a.size||4,l=a.type||t.FLOAT,c=!!a.normalized,u=a.stride||0,f=a.offset||0;o.bind(),t.enableVertexAttribArray(i),t.vertexAttribPointer(i,s,l,c,u,f)}else{if("number"==typeof a)t.vertexAttrib1f(i,a);else if(1===a.length)t.vertexAttrib1f(i,a[0]);else if(2===a.length)t.vertexAttrib2f(i,a[0],a[1]);else if(3===a.length)t.vertexAttrib3f(i,a[0],a[1],a[2]);else{if(4!==a.length)throw new Error("gl-vao: Invalid vertex attribute");t.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}t.disableVertexAttribArray(i)}}for(;i<n;++i)t.disableVertexAttribArray(i)}else for(t.bindBuffer(t.ARRAY_BUFFER,null),i=0;i<n;++i)t.disableVertexAttribArray(i)}},{}],306:[function(t,e,r){"use strict";var n=t("./do-bind.js");function i(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}i.prototype.bind=function(){n(this.gl,this._elements,this._attributes)},i.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},i.prototype.dispose=function(){},i.prototype.unbind=function(){},i.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._elements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=function(t){return new i(t)}},{"./do-bind.js":305}],307:[function(t,e,r){"use strict";var n=t("./do-bind.js");function i(t,e,r,n,i,a){this.location=t,this.dimension=e,this.a=r,this.b=n,this.c=i,this.d=a}function a(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}i.prototype.bind=function(t){switch(this.dimension){case 1:t.vertexAttrib1f(this.location,this.a);break;case 2:t.vertexAttrib2f(this.location,this.a,this.b);break;case 3:t.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:t.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d)}},a.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t<this._attribs.length;++t)this._attribs[t].bind(this.gl)},a.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},a.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},a.prototype.update=function(t,e,r){if(this.bind(),n(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var a=0;a<t.length;++a){var o=t[a];"number"==typeof o?this._attribs.push(new i(a,1,o)):Array.isArray(o)&&this._attribs.push(new i(a,o.length,o[0],o[1],o[2],o[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},a.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._useElements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=function(t,e){return new a(t,e,e.createVertexArrayOES())}},{"./do-bind.js":305}],308:[function(t,e,r){"use strict";var n=t("./lib/vao-native.js"),i=t("./lib/vao-emulated.js");function a(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}e.exports=function(t,e,r,o){var s,l=t.createVertexArray?new a(t):t.getExtension("OES_vertex_array_object");return(s=l?n(t,l):i(t)).update(e,r,o),s}},{"./lib/vao-emulated.js":306,"./lib/vao-native.js":307}],309:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}},{}],310:[function(t,e,r){e.exports=function(t,e){var r=n(t[0],t[1],t[2]),o=n(e[0],e[1],e[2]);i(r,r),i(o,o);var s=a(r,o);return s>1?0:Math.acos(s)};var n=t("./fromValues"),i=t("./normalize"),a=t("./dot")},{"./dot":320,"./fromValues":326,"./normalize":337}],311:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},{}],312:[function(t,e,r){e.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},{}],313:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},{}],314:[function(t,e,r){e.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},{}],315:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}},{}],316:[function(t,e,r){e.exports=t("./distance")},{"./distance":317}],317:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},{}],318:[function(t,e,r){e.exports=t("./divide")},{"./divide":319}],319:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},{}],320:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],321:[function(t,e,r){e.exports=1e-6},{}],322:[function(t,e,r){e.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=t("./epsilon")},{"./epsilon":321}],323:[function(t,e,r){e.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},{}],324:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},{}],325:[function(t,e,r){e.exports=function(t,e,r,i,a,o){var s,l;e||(e=3);r||(r=0);l=i?Math.min(i*e+r,t.length):t.length;for(s=r;s<l;s+=e)n[0]=t[s],n[1]=t[s+1],n[2]=t[s+2],a(n,n,o),t[s]=n[0],t[s+1]=n[1],t[s+2]=n[2];return t};var n=t("./create")()},{"./create":314}],326:[function(t,e,r){e.exports=function(t,e,r){var n=new Float32Array(3);return n[0]=t,n[1]=e,n[2]=r,n}},{}],327:[function(t,e,r){e.exports={EPSILON:t("./epsilon"),create:t("./create"),clone:t("./clone"),angle:t("./angle"),fromValues:t("./fromValues"),copy:t("./copy"),set:t("./set"),equals:t("./equals"),exactEquals:t("./exactEquals"),add:t("./add"),subtract:t("./subtract"),sub:t("./sub"),multiply:t("./multiply"),mul:t("./mul"),divide:t("./divide"),div:t("./div"),min:t("./min"),max:t("./max"),floor:t("./floor"),ceil:t("./ceil"),round:t("./round"),scale:t("./scale"),scaleAndAdd:t("./scaleAndAdd"),distance:t("./distance"),dist:t("./dist"),squaredDistance:t("./squaredDistance"),sqrDist:t("./sqrDist"),length:t("./length"),len:t("./len"),squaredLength:t("./squaredLength"),sqrLen:t("./sqrLen"),negate:t("./negate"),inverse:t("./inverse"),normalize:t("./normalize"),dot:t("./dot"),cross:t("./cross"),lerp:t("./lerp"),random:t("./random"),transformMat4:t("./transformMat4"),transformMat3:t("./transformMat3"),transformQuat:t("./transformQuat"),rotateX:t("./rotateX"),rotateY:t("./rotateY"),rotateZ:t("./rotateZ"),forEach:t("./forEach")}},{"./add":309,"./angle":310,"./ceil":311,"./clone":312,"./copy":313,"./create":314,"./cross":315,"./dist":316,"./distance":317,"./div":318,"./divide":319,"./dot":320,"./epsilon":321,"./equals":322,"./exactEquals":323,"./floor":324,"./forEach":325,"./fromValues":326,"./inverse":328,"./len":329,"./length":330,"./lerp":331,"./max":332,"./min":333,"./mul":334,"./multiply":335,"./negate":336,"./normalize":337,"./random":338,"./rotateX":339,"./rotateY":340,"./rotateZ":341,"./round":342,"./scale":343,"./scaleAndAdd":344,"./set":345,"./sqrDist":346,"./sqrLen":347,"./squaredDistance":348,"./squaredLength":349,"./sub":350,"./subtract":351,"./transformMat3":352,"./transformMat4":353,"./transformQuat":354}],328:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}},{}],329:[function(t,e,r){e.exports=t("./length")},{"./length":330}],330:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}},{}],331:[function(t,e,r){e.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t}},{}],332:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}},{}],333:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}},{}],334:[function(t,e,r){e.exports=t("./multiply")},{"./multiply":335}],335:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}},{}],336:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}},{}],337:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a);return t}},{}],338:[function(t,e,r){e.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},{}],339:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=e[0],t[1]=i+o*c-s*l,t[2]=a+o*l+s*c,t}},{}],340:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=i+s*l+o*c,t[1]=e[1],t[2]=a+s*c-o*l,t}},{}],341:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=i+o*c-s*l,t[1]=a+o*l+s*c,t[2]=e[2],t}},{}],342:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},{}],343:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},{}],344:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},{}],345:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},{}],346:[function(t,e,r){e.exports=t("./squaredDistance")},{"./squaredDistance":348}],347:[function(t,e,r){e.exports=t("./squaredLength")},{"./squaredLength":349}],348:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},{}],349:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},{}],350:[function(t,e,r){e.exports=t("./subtract")},{"./subtract":351}],351:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},{}],352:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},{}],353:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},{}],354:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,f=c*i+l*n-o*a,h=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+f*-l-h*-s,t[1]=f*c+p*-s+h*-o-u*-l,t[2]=h*c+p*-l+u*-s-f*-o,t}},{}],355:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},{}],356:[function(t,e,r){e.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},{}],357:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},{}],358:[function(t,e,r){e.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},{}],359:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},{}],360:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},{}],361:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},{}],362:[function(t,e,r){e.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},{}],363:[function(t,e,r){e.exports={create:t("./create"),clone:t("./clone"),fromValues:t("./fromValues"),copy:t("./copy"),set:t("./set"),add:t("./add"),subtract:t("./subtract"),multiply:t("./multiply"),divide:t("./divide"),min:t("./min"),max:t("./max"),scale:t("./scale"),scaleAndAdd:t("./scaleAndAdd"),distance:t("./distance"),squaredDistance:t("./squaredDistance"),length:t("./length"),squaredLength:t("./squaredLength"),negate:t("./negate"),inverse:t("./inverse"),normalize:t("./normalize"),dot:t("./dot"),lerp:t("./lerp"),random:t("./random"),transformMat4:t("./transformMat4"),transformQuat:t("./transformQuat")}},{"./add":355,"./clone":356,"./copy":357,"./create":358,"./distance":359,"./divide":360,"./dot":361,"./fromValues":362,"./inverse":364,"./length":365,"./lerp":366,"./max":367,"./min":368,"./multiply":369,"./negate":370,"./normalize":371,"./random":372,"./scale":373,"./scaleAndAdd":374,"./set":375,"./squaredDistance":376,"./squaredLength":377,"./subtract":378,"./transformMat4":379,"./transformQuat":380}],364:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},{}],365:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},{}],366:[function(t,e,r){e.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},{}],367:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},{}],368:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},{}],369:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},{}],370:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},{}],371:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o);return t}},{}],372:[function(t,e,r){var n=t("./normalize"),i=t("./scale");e.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},{"./normalize":371,"./scale":373}],373:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},{}],374:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},{}],375:[function(t,e,r){e.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},{}],376:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},{}],377:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},{}],378:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},{}],379:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},{}],380:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,f=c*i+l*n-o*a,h=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+f*-l-h*-s,t[1]=f*c+p*-s+h*-o-u*-l,t[2]=h*c+p*-l+u*-s-f*-o,t[3]=e[3],t}},{}],381:[function(t,e,r){e.exports=function(t,e,r,a){return n[0]=a,n[1]=r,n[2]=e,n[3]=t,i[0]};var n=new Uint8Array(4),i=new Float32Array(n.buffer)},{}],382:[function(t,e,r){var n=t("glsl-tokenizer"),i=t("atob-lite");e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r<e.length;r++){var a=e[r];if("preprocessor"===a.type){var o=a.data.match(/\#define\s+SHADER_NAME(_B64)?\s+(.+)$/);if(o&&o[2]){var s=o[1],l=o[2];return(s?i(l):l).trim()}}}}},{"atob-lite":59,"glsl-tokenizer":389}],383:[function(t,e,r){e.exports=function(t){var e,r,k,M=0,A=0,T=l,S=[],E=[],C=1,L=0,z=0,P=!1,O=!1,I="",D=a,R=n;"300 es"===(t=t||{}).version&&(D=s,R=o);return function(t){return E=[],null!==t?function(t){var r;M=0,k=(I+=t).length;for(;e=I[M],M<k;){switch(r=M,T){case u:M=V();break;case f:case h:M=j();break;case p:M=U();break;case d:M=G();break;case _:M=H();break;case g:M=W();break;case c:M=Y();break;case x:M=N();break;case l:M=F()}if(r!==M)switch(I[r]){case"\n":L=0,++C;break;default:++L}}return A+=M,I=I.slice(M),E}(t.replace?t.replace(/\r\n/g,"\n"):t):function(t){S.length&&B(S.join(""));return T=b,B("(eof)"),E}()};function B(t){t.length&&E.push({type:w[T],data:t,position:z,line:C,column:L})}function F(){return S=S.length?[]:S,"/"===r&&"*"===e?(z=A+M-1,T=u,r=e,M+1):"/"===r&&"/"===e?(z=A+M-1,T=f,r=e,M+1):"#"===e?(T=h,z=A+M,M):/\s/.test(e)?(T=x,z=A+M,M):(P=/\d/.test(e),O=/[^\w_]/.test(e),z=A+M,T=P?d:O?p:c,M)}function N(){return/[^\s]/g.test(e)?(B(S.join("")),T=l,M):(S.push(e),r=e,M+1)}function j(){return"\r"!==e&&"\n"!==e||"\\"===r?(S.push(e),r=e,M+1):(B(S.join("")),T=l,M)}function V(){return"/"===e&&"*"===r?(S.push(e),B(S.join("")),T=l,M+1):(S.push(e),r=e,M+1)}function U(){if("."===r&&/\d/.test(e))return T=g,M;if("/"===r&&"*"===e)return T=u,M;if("/"===r&&"/"===e)return T=f,M;if("."===e&&S.length){for(;q(S););return T=g,M}if(";"===e||")"===e||"("===e){if(S.length)for(;q(S););return B(e),T=l,M+1}var t=2===S.length&&"="!==e;if(/[\w_\d\s]/.test(e)||t){for(;q(S););return T=l,M}return S.push(e),r=e,M+1}function q(t){for(var e,r,n=0;;){if(e=i.indexOf(t.slice(0,t.length+n).join("")),r=i[e],-1===e){if(n--+t.length>0)continue;r=t.slice(0,1).join("")}return B(r),z+=r.length,(S=S.slice(r.length)).length}}function H(){return/[^a-fA-F0-9]/.test(e)?(B(S.join("")),T=l,M):(S.push(e),r=e,M+1)}function G(){return"."===e?(S.push(e),T=g,r=e,M+1):/[eE]/.test(e)?(S.push(e),T=g,r=e,M+1):"x"===e&&1===S.length&&"0"===S[0]?(T=_,S.push(e),r=e,M+1):/[^\d]/.test(e)?(B(S.join("")),T=l,M):(S.push(e),r=e,M+1)}function W(){return"f"===e&&(S.push(e),r=e,M+=1),/[eE]/.test(e)?(S.push(e),r=e,M+1):"-"===e&&/[eE]/.test(r)?(S.push(e),r=e,M+1):/[^\d]/.test(e)?(B(S.join("")),T=l,M):(S.push(e),r=e,M+1)}function Y(){if(/[^\d\w_]/.test(e)){var t=S.join("");return T=R.indexOf(t)>-1?y:D.indexOf(t)>-1?v:m,B(S.join("")),T=l,M}return S.push(e),r=e,M+1}};var n=t("./lib/literals"),i=t("./lib/operators"),a=t("./lib/builtins"),o=t("./lib/literals-300es"),s=t("./lib/builtins-300es"),l=999,c=9999,u=0,f=1,h=2,p=3,d=4,g=5,m=6,v=7,y=8,x=9,b=10,_=11,w=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},{"./lib/builtins":385,"./lib/builtins-300es":384,"./lib/literals":387,"./lib/literals-300es":386,"./lib/operators":388}],384:[function(t,e,r){var n=t("./builtins");n=n.slice().filter(function(t){return!/^(gl\_|texture)/.test(t)}),e.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},{"./builtins":385}],385:[function(t,e,r){e.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},{}],386:[function(t,e,r){var n=t("./literals");e.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uint","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},{"./literals":387}],387:[function(t,e,r){e.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},{}],388:[function(t,e,r){e.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},{}],389:[function(t,e,r){var n=t("./index");e.exports=function(t,e){var r=n(e),i=[];return i=(i=i.concat(r(t))).concat(r(null))}},{"./index":383}],390:[function(t,e,r){e.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n<t.length-1;n++)r.push(t[n],e[n]||"");return r.push(t[n]),r.join("")}},{}],391:[function(t,e,r){(function(r){"use strict";var n,i=t("is-browser");n="function"==typeof r.matchMedia?!r.matchMedia("(hover: none)").matches:i,e.exports=n}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"is-browser":398}],392:[function(t,e,r){"use strict";var n=t("is-browser");e.exports=n&&function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){t=!1}return t}()},{"is-browser":398}],393:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,c=l>>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<<c)-1,f=u>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,c+=i;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g}},{}],394:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if(0===r)throw new Error("Must have at least d+1 points");var i=t[0].length;if(r<=i)throw new Error("Must input at least d+1 points");var o=t.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(i+1),u=0;u<=i;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);for(var f=new a(l,new Array(i+1),!1),h=f.adjacent,p=new Array(i+2),u=0;u<=i;++u){for(var d=l.slice(),g=0;g<=i;++g)g===u&&(d[g]=-1);var m=d[0];d[0]=d[1],d[1]=m;var v=new a(d,new Array(i+1),!0);h[u]=v,p[u]=v}p[i+1]=f;for(var u=0;u<=i;++u)for(var d=h[u].vertices,y=h[u].adjacent,g=0;g<=i;++g){var x=d[g];if(x<0)y[g]=f;else for(var b=0;b<=i;++b)h[b].vertices.indexOf(x)<0&&(y[g]=h[b])}for(var _=new c(i,o,p),w=!!e,u=i+1;u<r;++u)_.insert(t[u],w);return _.boundary()};var n=t("robust-orientation"),i=t("simplicial-complex").compareCells;function a(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function o(t,e,r){this.vertices=t,this.cell=e,this.index=r}function s(t,e){return i(t.vertices,e.vertices)}a.prototype.flip=function(){var t=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=t;var e=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=e};var l=[];function c(t,e,r){this.dimension=t,this.vertices=e,this.simplices=r,this.interior=r.filter(function(t){return!t.boundary}),this.tuple=new Array(t+1);for(var i=0;i<=t;++i)this.tuple[i]=this.vertices[i];var a=l[t];a||(a=l[t]=function(t){for(var e=["function orient(){var tuple=this.tuple;return test("],r=0;r<=t;++r)r>0&&e.push(","),e.push("tuple[",r,"]");e.push(")}return orient");var i=new Function("test",e.join("")),a=n[t+1];return a||(a=n),i(a)}(t)),this.orient=a}var u=c.prototype;u.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,i=this.tuple,a=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;){(t=o.pop()).vertices;for(var s=t.adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,f=0;f<=r;++f){var h=u[f];i[f]=h<0?e:a[h]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}}return null},u.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)a[u]=i[l[u]];s.lastVisited=r;for(u=0;u<=n;++u){var f=c[u];if(!(f.lastVisited>=r)){var h=a[u];a[u]=t;var p=this.orient();if(a[u]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},u.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var h=[];f.length>0;){var p=(e=f.pop()).vertices,d=e.adjacent,g=p.indexOf(r);if(!(g<0))for(var m=0;m<=n;++m)if(m!==g){var v=d[m];if(v.boundary&&!(v.lastVisited>=r)){var y=v.vertices;if(v.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)y[b]<0?(x=b,l[b]=t):l[b]=i[y[b]];if(this.orient()>0){y[x]=r,v.boundary=!1,c.push(v),f.push(v),v.lastVisited=r;continue}v.lastVisited=-r}var _=v.adjacent,w=p.slice(),k=d.slice(),M=new a(w,k,!0);u.push(M);var A=_.indexOf(e);if(!(A<0)){_[A]=M,k[g]=v,w[m]=-1,k[m]=e,d[m]=M,M.flip();for(b=0;b<=n;++b){var T=w[b];if(!(T<0||T===r)){for(var S=new Array(n-1),E=0,C=0;C<=n;++C){var L=w[C];L<0||C===b||(S[E++]=L)}h.push(new o(S,M,b))}}}}}}h.sort(s);for(m=0;m+1<h.length;m+=2){var z=h[m],P=h[m+1],O=z.index,I=P.index;O<0||I<0||(z.cell.adjacent[z.index]=P.cell,P.cell.adjacent[P.index]=z.cell)}},u.insert=function(t,e){var r=this.vertices;r.push(t);var n=this.walk(t,e);if(n){for(var i=this.dimension,a=this.tuple,o=0;o<=i;++o){var s=n.vertices[o];a[o]=s<0?t:r[s]}var l=this.orient(a);l<0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&&this.addPeaks(t,n)}},u.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,i=0;i<n;++i){var a=r[i];if(a.boundary){for(var o=new Array(t),s=a.vertices,l=0,c=0,u=0;u<=t;++u)s[u]>=0?o[l++]=s[u]:c=1&u;if(c===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},{"robust-orientation":483,"simplicial-complex":493}],395:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),i=0,a=1;function o(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}e.exports=function(t){if(!t||0===t.length)return new x(null);return new x(y(t))};var s=o.prototype;function l(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function c(t,e){var r=y(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function u(t,e){var r=t.intervals([]);r.push(e),c(t,r)}function f(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?i:(r.splice(n,1),c(t,r),a)}function h(t,e,r){for(var n=0;n<t.length&&t[n][0]<=e;++n){var i=r(t[n]);if(i)return i}}function p(t,e,r){for(var n=t.length-1;n>=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function d(t,e){for(var r=0;r<t.length;++r){var n=e(t[r]);if(n)return n}}function g(t,e){return t-e}function m(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function v(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function y(t){if(0===t.length)return null;for(var e=[],r=0;r<t.length;++r)e.push(t[r][0],t[r][1]);e.sort(g);var n=e[e.length>>1],i=[],a=[],s=[];for(r=0;r<t.length;++r){var l=t[r];l[1]<n?i.push(l):n<l[0]?a.push(l):s.push(l)}var c=s,u=s.slice();return c.sort(m),u.sort(v),new o(n,y(i),y(a),c,u)}function x(t){this.root=t}s.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},s.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]<this.mid)this.left?4*(this.left.count+1)>3*(e+1)?u(this,t):this.left.insert(t):this.left=y([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?u(this,t):this.right.insert(t):this.right=y([t]);else{var r=n.ge(this.leftPoints,t,m),i=n.ge(this.rightPoints,t,v);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},s.remove=function(t){var e=this.count-this.leftPoints;if(t[1]<this.mid)return this.left?4*(this.right?this.right.count:0)>3*(e-1)?f(this,t):2===(c=this.left.remove(t))?(this.left=null,this.count-=1,a):(c===a&&(this.count-=1),c):i;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?f(this,t):2===(c=this.right.remove(t))?(this.right=null,this.count-=1,a):(c===a&&(this.count-=1),c):i;if(1===this.count)return this.leftPoints[0]===t?2:i;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,o=this.left;o.right;)r=o,o=o.right;if(r===this)o.right=this.right;else{var s=this.left,c=this.right;r.count-=o.count,r.right=o.left,o.left=s,o.right=c}l(this,o),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?l(this,this.left):l(this,this.right);return a}for(s=n.ge(this.leftPoints,t,m);s<this.leftPoints.length&&this.leftPoints[s][0]===t[0];++s)if(this.leftPoints[s]===t){this.count-=1,this.leftPoints.splice(s,1);for(c=n.ge(this.rightPoints,t,v);c<this.rightPoints.length&&this.rightPoints[c][1]===t[1];++c)if(this.rightPoints[c]===t)return this.rightPoints.splice(c,1),a}return i},s.queryPoint=function(t,e){if(t<this.mid){if(this.left)if(r=this.left.queryPoint(t,e))return r;return h(this.leftPoints,t,e)}if(t>this.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return p(this.rightPoints,t,e)}return d(this.leftPoints,e)},s.queryInterval=function(t,e,r){var n;if(t<this.mid&&this.left&&(n=this.left.queryInterval(t,e,r)))return n;if(e>this.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return e<this.mid?h(this.leftPoints,e,r):t>this.mid?p(this.rightPoints,t,r):d(this.leftPoints,r)};var b=x.prototype;b.insert=function(t){this.root?this.root.insert(t):this.root=new o(t[0],null,null,[t],[t])},b.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),e!==i}return!1},b.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},b.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(b,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(b,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},{"binary-search-bounds":78}],396:[function(t,e,r){"use strict";e.exports=function(t,e){e=e||new Array(t.length);for(var r=0;r<t.length;++r)e[t[r]]=r;return e}},{}],397:[function(t,e,r){"use strict";e.exports=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=r;return e}},{}],398:[function(t,e,r){e.exports=!0},{}],399:[function(t,e,r){function n(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}e.exports=function(t){return null!=t&&(n(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],400:[function(t,e,r){"use strict";e.exports="undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},{}],401:[function(t,e,r){e.exports=function(t){t||"undefined"==typeof navigator||(t=navigator.userAgent);t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]);return"string"==typeof t&&(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))}},{}],402:[function(t,e,r){"use strict";e.exports=function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}},{}],403:[function(t,e,r){"use strict";var n=Object.prototype.toString;e.exports=function(t){var e;return"[object Object]"===n.call(t)&&(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))}},{}],404:[function(t,e,r){"use strict";e.exports=function(t){return"string"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}},{}],405:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],406:[function(t,e,r){(function(t){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?e.exports=n():t.mapboxgl=n()}(this,function(){"use strict";var e,r,n;function i(t,i){if(e)if(r){var a="var sharedChunk = {}; ("+e+")(sharedChunk); ("+r+")(sharedChunk);",o={};e(o),(n=i(o)).workerUrl=window.URL.createObjectURL(new Blob([a],{type:"text/javascript"}))}else r=i;else e=i}return i(0,function(e){var r="undefined"!=typeof window?window:"undefined"!=typeof t?t:"undefined"!=typeof self?self:{};function n(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function i(t,e){return t(e={exports:{}},e.exports),e.exports}var a=o;function o(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n}o.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},o.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},o.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},o.prototype.solveCurveX=function(t,e){var r,n,i,a,o;for(void 0===e&&(e=1e-6),i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)<e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)<1e-6)break;i-=a/s}if((i=t)<(r=0))return r;if(i>(n=1))return n;for(;r<n;){if(a=this.sampleCurveX(i),Math.abs(a-t)<e)return i;t>a?r=i:n=i,i=.5*(n-r)+r}return i},o.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var s=function(t,e,r){this.column=t,this.row=e,this.zoom=r};s.prototype.clone=function(){return new s(this.column,this.row,this.zoom)},s.prototype.zoomTo=function(t){return this.clone()._zoomTo(t)},s.prototype.sub=function(t){return this.clone()._sub(t)},s.prototype._zoomTo=function(t){var e=Math.pow(2,t-this.zoom);return this.column*=e,this.row*=e,this.zoom=t,this},s.prototype._sub=function(t){return t=t.zoomTo(this.zoom),this.column-=t.column,this.row-=t.row,this};var l=c;function c(t,e){this.x=t,this.y=e}function u(t,e,r,n){var i=new a(t,e,r,n);return function(t){return i.solve(t)}}c.prototype={clone:function(){return new c(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},c.convert=function(t){return t instanceof c?t:Array.isArray(t)?new c(t[0],t[1]):t};var f=u(.25,.1,.25,1);function h(t,e,r){return Math.min(r,Math.max(e,t))}function p(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a)t[o]=a[o]}return t}var d=1;function g(t,e){t.forEach(function(t){e[t]&&(e[t]=e[t].bind(e))})}function m(t,e){return-1!==t.indexOf(e,t.length-e.length)}function v(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function y(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function x(t){return Array.isArray(t)?t.map(x):"object"==typeof t&&t?v(t,x):t}var b={};function _(t){b[t]||("undefined"!=typeof console&&console.warn(t),b[t]=!0)}function w(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function k(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r<n;i=r++)a=t[r],e+=((o=t[i]).x-a.x)*(a.y+o.y);return e}var M={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(M);var A=function(t){function e(e,r,n){t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},e}(Error);function T(t){var e=new self.XMLHttpRequest;for(var r in e.open("GET",t.url,!0),t.headers)e.setRequestHeader(r,t.headers[r]);return e.withCredentials="include"===t.credentials,e}var S=function(t,e){var r=T(t);return r.responseType="arraybuffer",r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){var n=r.response;if(0===n.byteLength&&200===r.status)return e(new Error("http status 200 returned without content."));r.status>=200&&r.status<300&&r.response?e(null,{data:n,cacheControl:r.getResponseHeader("Cache-Control"),expires:r.getResponseHeader("Expires")}):e(new A(r.statusText,r.status,t.url))},r.send(),r};function E(t,e,r){r[t]=r[t]||[],r[t].push(e)}function C(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}var L=function(t,e){void 0===e&&(e={}),p(this,e),this.type=t},z=function(t){function e(e,r){void 0===r&&(r={}),t.call(this,"error",p({error:e},r))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(L),P=function(){};P.prototype.on=function(t,e){return this._listeners=this._listeners||{},E(t,e,this._listeners),this},P.prototype.off=function(t,e){return C(t,e,this._listeners),C(t,e,this._oneTimeListeners),this},P.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},E(t,e,this._oneTimeListeners),this},P.prototype.fire=function(t){"string"==typeof t&&(t=new L(t,arguments[1]||{}));var e=t.type;if(this.listens(e)){t.target=this;for(var r=0,n=this._listeners&&this._listeners[e]?this._listeners[e].slice():[];r<n.length;r+=1)n[r].call(this,t);for(var i=0,a=this._oneTimeListeners&&this._oneTimeListeners[e]?this._oneTimeListeners[e].slice():[];i<a.length;i+=1){var o=a[i];C(e,o,this._oneTimeListeners),o.call(this,t)}var s=this._eventedParent;s&&(p(t,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),s.fire(t))}else m(e,"error")?console.error(t&&t.error||t||"Empty error event"):m(e,"warning")&&console.warn(t&&t.warning||t||"Empty warning event");return this},P.prototype.listens=function(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},P.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var O={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.0511,180,85.0511]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.0511,180,85.0511]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.0511,180,85.0511]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{}},default:"mapbox"},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},buffer:{type:"number",default:128,maximum:512,minimum:0},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},lineMetrics:{type:"boolean",default:!1}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible"}},layout_fill:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible"}},layout_circle:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible"}},layout_line:{"line-cap":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{butt:{},round:{},square:{}},default:"butt"},"line-join":{type:"enum",function:"piecewise-constant","zoom-function":!0,"property-function":!0,values:{bevel:{},round:{},miter:{}},default:"miter"},"line-miter-limit":{type:"number",default:2,function:"interpolated","zoom-function":!0,requires:[{"line-join":"miter"}]},"line-round-limit":{type:"number",default:1.05,function:"interpolated","zoom-function":!0,requires:[{"line-join":"round"}]},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible"}},layout_symbol:{"symbol-placement":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{point:{},line:{}},default:"point"},"symbol-spacing":{type:"number",default:250,minimum:1,function:"interpolated","zoom-function":!0,units:"pixels",requires:[{"symbol-placement":"line"}]},"symbol-avoid-edges":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!1},"icon-allow-overlap":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!1,requires:["icon-image"]},"icon-ignore-placement":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!1,requires:["icon-image"]},"icon-optional":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!1,requires:["icon-image","text-field"]},"icon-rotation-alignment":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"]},"icon-size":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,units:"factor of the original icon size",requires:["icon-image"]},"icon-text-fit":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"]},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",function:"interpolated","zoom-function":!0,requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}]},"icon-image":{type:"string",function:"piecewise-constant","zoom-function":!0,"property-function":!0,tokens:!0},"icon-rotate":{type:"number",default:0,period:360,function:"interpolated","zoom-function":!0,"property-function":!0,units:"degrees",requires:["icon-image"]},"icon-padding":{type:"number",default:2,minimum:0,function:"interpolated","zoom-function":!0,units:"pixels",requires:["icon-image"]},"icon-keep-upright":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":"line"}]},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,"property-function":!0,requires:["icon-image"]},"icon-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,"property-function":!0,values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"]},"icon-pitch-alignment":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"]},"text-pitch-alignment":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"]},"text-rotation-alignment":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"]},"text-field":{type:"string",function:"piecewise-constant","zoom-function":!0,"property-function":!0,default:"",tokens:!0},"text-font":{type:"array",value:"string",function:"piecewise-constant","zoom-function":!0,"property-function":!0,default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"]},"text-size":{type:"number",default:16,minimum:0,units:"pixels",function:"interpolated","zoom-function":!0,"property-function":!0,requires:["text-field"]},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",function:"interpolated","zoom-function":!0,"property-function":!0,requires:["text-field"]},"text-line-height":{type:"number",default:1.2,units:"ems",function:"interpolated","zoom-function":!0,requires:["text-field"]},"text-letter-spacing":{type:"number",default:0,units:"ems",function:"interpolated","zoom-function":!0,"property-function":!0,requires:["text-field"]},"text-justify":{type:"enum",function:"piecewise-constant","zoom-function":!0,"property-function":!0,values:{left:{},center:{},right:{}},default:"center",requires:["text-field"]},"text-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,"property-function":!0,values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field"]},"text-max-angle":{type:"number",default:45,units:"degrees",function:"interpolated","zoom-function":!0,requires:["text-field",{"symbol-placement":"line"}]},"text-rotate":{type:"number",default:0,period:360,units:"degrees",function:"interpolated","zoom-function":!0,"property-function":!0,requires:["text-field"]},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",function:"interpolated","zoom-function":!0,requires:["text-field"]},"text-keep-upright":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":"line"}]},"text-transform":{type:"enum",function:"piecewise-constant","zoom-function":!0,"property-function":!0,values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"]},"text-offset":{type:"array",value:"number",units:"ems",function:"interpolated","zoom-function":!0,"property-function":!0,length:2,default:[0,0],requires:["text-field"]},"text-allow-overlap":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!1,requires:["text-field"]},"text-ignore-placement":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!1,requires:["text-field"]},"text-optional":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!1,requires:["text-field","icon-image"]},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function_stop:{type:"array",minimum:0,maximum:22,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},expression_name:{type:"enum",values:{let:{group:"Variable binding"},var:{group:"Variable binding"},literal:{group:"Types"},array:{group:"Types"},at:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{group:"Ramps, scales, curves"},ln2:{group:"Math"},pi:{group:"Math"},e:{group:"Math"},typeof:{group:"Types"},string:{group:"Types"},number:{group:"Types"},boolean:{group:"Types"},object:{group:"Types"},collator:{group:"Types"},"to-string":{group:"Types"},"to-number":{group:"Types"},"to-boolean":{group:"Types"},"to-rgba":{group:"Color"},"to-color":{group:"Types"},rgb:{group:"Color"},rgba:{group:"Color"},get:{group:"Lookup"},has:{group:"Lookup"},length:{group:"Lookup"},properties:{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Zoom"},"heatmap-density":{group:"Heatmap"},"line-progress":{group:"Heatmap"},"+":{group:"Math"},"*":{group:"Math"},"-":{group:"Math"},"/":{group:"Math"},"%":{group:"Math"},"^":{group:"Math"},sqrt:{group:"Math"},log10:{group:"Math"},ln:{group:"Math"},log2:{group:"Math"},sin:{group:"Math"},cos:{group:"Math"},tan:{group:"Math"},asin:{group:"Math"},acos:{group:"Math"},atan:{group:"Math"},min:{group:"Math"},max:{group:"Math"},round:{group:"Math"},abs:{group:"Math"},ceil:{group:"Math"},floor:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},"is-supported-script":{group:"String"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"},"resolved-locale":{group:"String"}}},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},transition:!1,"zoom-function":!0,"property-function":!1,function:"piecewise-constant"},position:{type:"array",default:[1.15,210,30],length:3,value:"number",transition:!0,function:"interpolated","zoom-function":!0,"property-function":!1},color:{type:"color",default:"#ffffff",function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0},intensity:{type:"number",default:.5,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!0},"fill-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:1,minimum:0,maximum:1,transition:!0},"fill-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-pattern"}]},"fill-outline-color":{type:"color",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}]},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"fill-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["fill-translate"]},"fill-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0}},paint_line:{"line-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:1,minimum:0,maximum:1,transition:!0},"line-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"line-pattern"}]},"line-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"line-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["line-translate"]},"line-width":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-gap-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-offset":{type:"number",default:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-dasharray":{type:"array",value:"number",function:"piecewise-constant","zoom-function":!0,minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}]},"line-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0},"line-gradient":{type:"color",function:"interpolated","zoom-function":!1,"property-function":!1,transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}]}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"circle-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-blur":{type:"number",default:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"circle-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["circle-translate"]},"circle-pitch-scale":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map"},"circle-pitch-alignment":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"viewport"},"circle-stroke-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"circle-stroke-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"heatmap-weight":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!1},"heatmap-intensity":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],function:"interpolated","zoom-function":!1,"property-function":!1,transition:!1},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-halo-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-halo-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"]},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-halo-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-halo-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"]}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"raster-hue-rotate":{type:"number",default:0,period:360,function:"interpolated","zoom-function":!0,transition:!0,units:"degrees"},"raster-brightness-min":{type:"number",function:"interpolated","zoom-function":!0,default:0,minimum:0,maximum:1,transition:!0},"raster-brightness-max":{type:"number",function:"interpolated","zoom-function":!0,default:1,minimum:0,maximum:1,transition:!0},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"raster-fade-duration":{type:"number",default:300,minimum:0,function:"interpolated","zoom-function":!0,transition:!1,units:"milliseconds"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,function:"interpolated","zoom-function":!0,transition:!1},"hillshade-illumination-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"viewport"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"hillshade-shadow-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,transition:!0},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",function:"interpolated","zoom-function":!0,transition:!0},"hillshade-accent-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,transition:!0}},paint_background:{"background-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,transition:!0,requires:[{"!":"background-pattern"}]},"background-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,transition:!0}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible"}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!1,default:1,minimum:0,maximum:1,transition:!0},"fill-extrusion-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-extrusion-pattern"}]},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"fill-extrusion-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"]},"fill-extrusion-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0},"fill-extrusion-height":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:0,minimum:0,units:"meters",transition:!0},"fill-extrusion-base":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"]}}},I=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function D(t){var e=t.key,r=t.value;return r?[new I(e,r,"constants have been deprecated as of v8")]:[]}function R(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a)t[o]=a[o]}return t}function B(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function F(t){return Array.isArray(t)?t.map(F):B(t)}var N=function(t){function e(e,r){t.call(this,r),this.message=r,this.key=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error),j=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var i=n[r],a=i[0],o=i[1];this.bindings[a]=o}};j.prototype.concat=function(t){return new j(this,t)},j.prototype.get=function(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(t+" not found in scope.")},j.prototype.has=function(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)};var V={kind:"null"},U={kind:"number"},q={kind:"string"},H={kind:"boolean"},G={kind:"color"},W={kind:"object"},Y={kind:"value"},X={kind:"collator"};function Z(t,e){return{kind:"array",itemType:t,N:e}}function $(t){if("array"===t.kind){var e=$(t.itemType);return"number"==typeof t.N?"array<"+e+", "+t.N+">":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var J=[V,U,q,H,G,W,Z(Y)];function K(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&!K(t.itemType,e.itemType)&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=J;r<n.length;r+=1)if(!K(n[r],e))return null}return"Expected "+$(t)+" but found "+$(e)+" instead."}var Q=i(function(t,e){var r={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function n(t){return(t=Math.round(t))<0?0:t>255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return"%"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return"%"===t[t.length-1]?i(parseFloat(t)/100):i(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,i=t.replace(/ /g,"").toLowerCase();if(i in r)return r[i].slice();if("#"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=i.indexOf("("),c=i.indexOf(")");if(-1!==l&&c+1===i.length){var u=i.substr(0,l),f=i.substr(l+1,c-(l+1)).split(","),h=1;switch(u){case"rgba":if(4!==f.length)return null;h=o(f.pop());case"rgb":return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case"hsla":if(4!==f.length)return null;h=o(f.pop());case"hsl":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=o(f[1]),g=o(f[2]),m=g<=.5?g*(d+1):g+d-g*d,v=2*g-m;return[n(255*s(v,m,p+1/3)),n(255*s(v,m,p)),n(255*s(v,m,p-1/3)),h];default:return null}}return null}}catch(t){}}).parseCSSColor,tt=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};tt.parse=function(t){if(t){if(t instanceof tt)return t;if("string"==typeof t){var e=Q(t);if(e)return new tt(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},tt.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],i=t[3];return"rgba("+Math.round(e)+","+Math.round(r)+","+Math.round(n)+","+i+")"},tt.prototype.toArray=function(){var t=this.r,e=this.g,r=this.b,n=this.a;return 0===n?[0,0,0,0]:[255*t/n,255*e/n,255*r/n,n]},tt.black=new tt(0,0,0,1),tt.white=new tt(1,1,1,1),tt.transparent=new tt(0,0,0,0);var et=function(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};et.prototype.compare=function(t,e){return this.collator.compare(t,e)},et.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var rt=function(t,e,r){this.type=X,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e};function nt(t,e,r,n){return"number"==typeof t&&t>=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function it(t){if(null===t)return V;if("string"==typeof t)return q;if("boolean"==typeof t)return H;if("number"==typeof t)return U;if(t instanceof tt)return G;if(t instanceof et)return X;if(Array.isArray(t)){for(var e,r=t.length,n=0,i=t;n<i.length;n+=1){var a=it(i[n]);if(e){if(e===a)continue;e=Y;break}e=a}return Z(e||Y,r)}return W}rt.parse=function(t,e){if(2!==t.length)return e.error("Expected one argument.");var r=t[1];if("object"!=typeof r||Array.isArray(r))return e.error("Collator options argument must be an object.");var n=e.parse(void 0!==r["case-sensitive"]&&r["case-sensitive"],1,H);if(!n)return null;var i=e.parse(void 0!==r["diacritic-sensitive"]&&r["diacritic-sensitive"],1,H);if(!i)return null;var a=null;return r.locale&&!(a=e.parse(r.locale,1,q))?null:new rt(n,i,a)},rt.prototype.evaluate=function(t){return new et(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)},rt.prototype.eachChild=function(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)},rt.prototype.possibleOutputs=function(){return[void 0]},rt.prototype.serialize=function(){var t={};return t["case-sensitive"]=this.caseSensitive.serialize(),t["diacritic-sensitive"]=this.diacriticSensitive.serialize(),this.locale&&(t.locale=this.locale.serialize()),["collator",t]};var at=function(t,e){this.type=t,this.value=e};at.parse=function(t,e){if(2!==t.length)return e.error("'literal' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(!function t(e){if(null===e)return!0;if("string"==typeof e)return!0;if("boolean"==typeof e)return!0;if("number"==typeof e)return!0;if(e instanceof tt)return!0;if(e instanceof et)return!0;if(Array.isArray(e)){for(var r=0,n=e;r<n.length;r+=1)if(!t(n[r]))return!1;return!0}if("object"==typeof e){for(var i in e)if(!t(e[i]))return!1;return!0}return!1}(t[1]))return e.error("invalid value");var r=t[1],n=it(r),i=e.expectedType;return"array"!==n.kind||0!==n.N||!i||"array"!==i.kind||"number"==typeof i.N&&0!==i.N||(n=i),new at(n,r)},at.prototype.evaluate=function(){return this.value},at.prototype.eachChild=function(){},at.prototype.possibleOutputs=function(){return[this.value]},at.prototype.serialize=function(){return"array"===this.type.kind||"object"===this.type.kind?["literal",this.value]:this.value instanceof tt?["rgba"].concat(this.value.toArray()):this.value};var ot=function(t){this.name="ExpressionEvaluationError",this.message=t};ot.prototype.toJSON=function(){return this.message};var st={string:q,number:U,boolean:H,object:W},lt=function(t,e){this.type=t,this.args=e};lt.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");for(var r=t[0],n=st[r],i=[],a=1;a<t.length;a++){var o=e.parse(t[a],a,Y);if(!o)return null;i.push(o)}return new lt(n,i)},lt.prototype.evaluate=function(t){for(var e=0;e<this.args.length;e++){var r=this.args[e].evaluate(t);if(!K(this.type,it(r)))return r;if(e===this.args.length-1)throw new ot("Expected value to be of type "+$(this.type)+", but found "+$(it(r))+" instead.")}return null},lt.prototype.eachChild=function(t){this.args.forEach(t)},lt.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},lt.prototype.serialize=function(){return[this.type.kind].concat(this.args.map(function(t){return t.serialize()}))};var ct={string:q,number:U,boolean:H},ut=function(t,e){this.type=t,this.input=e};ut.parse=function(t,e){if(t.length<2||t.length>4)return e.error("Expected 1, 2, or 3 arguments, but found "+(t.length-1)+" instead.");var r,n;if(t.length>2){var i=t[1];if("string"!=typeof i||!(i in ct))return e.error('The item type argument of "array" must be one of string, number, boolean',1);r=ct[i]}else r=Y;if(t.length>3){if("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2]))return e.error('The length argument to "array" must be a positive integer literal',2);n=t[2]}var a=Z(r,n),o=e.parse(t[t.length-1],t.length-1,Y);return o?new ut(a,o):null},ut.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(K(this.type,it(e)))throw new ot("Expected value to be of type "+$(this.type)+", but found "+$(it(e))+" instead.");return e},ut.prototype.eachChild=function(t){t(this.input)},ut.prototype.possibleOutputs=function(){return this.input.possibleOutputs()},ut.prototype.serialize=function(){var t=["array"],e=this.type.itemType;if("string"===e.kind||"number"===e.kind||"boolean"===e.kind){t.push(e.kind);var r=this.type.N;"number"==typeof r&&t.push(r)}return t.push(this.input.serialize()),t};var ft={"to-number":U,"to-color":G},ht=function(t,e){this.type=t,this.args=e};ht.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");for(var r=t[0],n=ft[r],i=[],a=1;a<t.length;a++){var o=e.parse(t[a],a,Y);if(!o)return null;i.push(o)}return new ht(n,i)},ht.prototype.evaluate=function(t){if("color"===this.type.kind){for(var e,r,n=0,i=this.args;n<i.length;n+=1)if(r=null,"string"==typeof(e=i[n].evaluate(t))){var a=t.parseColor(e);if(a)return a}else if(Array.isArray(e)&&!(r=e.length<3||e.length>4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":nt(e[0],e[1],e[2],e[3])))return new tt(e[0]/255,e[1]/255,e[2]/255,e[3]);throw new ot(r||"Could not parse color from value '"+("string"==typeof e?e:JSON.stringify(e))+"'")}for(var o=null,s=0,l=this.args;s<l.length;s+=1)if(null!==(o=l[s].evaluate(t))){var c=Number(o);if(!isNaN(c))return c}throw new ot("Could not convert "+JSON.stringify(o)+" to number.")},ht.prototype.eachChild=function(t){this.args.forEach(t)},ht.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},ht.prototype.serialize=function(){var t=["to-"+this.type.kind];return this.eachChild(function(e){t.push(e.serialize())}),t};var pt=["Unknown","Point","LineString","Polygon"],dt=function(){this._parseColorCache={}};dt.prototype.id=function(){return this.feature&&"id"in this.feature?this.feature.id:null},dt.prototype.geometryType=function(){return this.feature?"number"==typeof this.feature.type?pt[this.feature.type]:this.feature.type:null},dt.prototype.properties=function(){return this.feature&&this.feature.properties||{}},dt.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=tt.parse(t)),e};var gt=function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n};function mt(t){if(t instanceof gt){if("get"===t.name&&1===t.args.length)return!1;if("has"===t.name&&1===t.args.length)return!1;if("properties"===t.name||"geometry-type"===t.name||"id"===t.name)return!1;if(/^filter-/.test(t.name))return!1}var e=!0;return t.eachChild(function(t){e&&!mt(t)&&(e=!1)}),e}function vt(t,e){if(t instanceof gt&&e.indexOf(t.name)>=0)return!1;var r=!0;return t.eachChild(function(t){r&&!vt(t,e)&&(r=!1)}),r}gt.prototype.evaluate=function(t){return this._evaluate(t,this.args)},gt.prototype.eachChild=function(t){this.args.forEach(t)},gt.prototype.possibleOutputs=function(){return[void 0]},gt.prototype.serialize=function(){return[this.name].concat(this.args.map(function(t){return t.serialize()}))},gt.parse=function(t,e){var r=t[0],n=gt.definitions[r];if(!n)return e.error('Unknown expression "'+r+'". If you wanted a literal array, use ["literal", [...]].',0);for(var i=Array.isArray(n)?n[0]:n.type,a=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,o=a.filter(function(e){var r=e[0];return!Array.isArray(r)||r.length===t.length-1}),s=[],l=1;l<t.length;l++){var c=t[l],u=void 0;if(1===o.length){var f=o[0][0];u=Array.isArray(f)?f[l-1]:f.type}var h=e.parse(c,1+s.length,u);if(!h)return null;s.push(h)}for(var p=null,d=0,g=o;d<g.length;d+=1){var m=g[d],v=m[0],y=m[1];if(p=new xt(e.registry,e.path,null,e.scope),Array.isArray(v)&&v.length!==s.length)p.error("Expected "+v.length+" arguments, but found "+s.length+" instead.");else{for(var x=0;x<s.length;x++){var b=Array.isArray(v)?v[x]:v.type,_=s[x];p.concat(x+1).checkSubtype(b,_.type)}if(0===p.errors.length)return new gt(r,i,y,s)}}if(1===o.length)e.errors.push.apply(e.errors,p.errors);else{var w=(o.length?o:a).map(function(t){var e;return e=t[0],Array.isArray(e)?"("+e.map($).join(", ")+")":"("+$(e.type)+"...)"}).join(" | "),k=s.map(function(t){return $(t.type)}).join(", ");e.error("Expected arguments of type "+w+", but found ("+k+") instead.")}return null},gt.register=function(t,e){for(var r in gt.definitions=e,e)t[r]=gt};var yt=function(t,e){this.type=e.type,this.name=t,this.boundExpression=e};yt.parse=function(t,e){if(2!==t.length||"string"!=typeof t[1])return e.error("'var' expression requires exactly one string literal argument.");var r=t[1];return e.scope.has(r)?new yt(r,e.scope.get(r)):e.error('Unknown variable "'+r+'". Make sure "'+r+'" has been bound in an enclosing "let" expression before using it.',1)},yt.prototype.evaluate=function(t){return this.boundExpression.evaluate(t)},yt.prototype.eachChild=function(){},yt.prototype.possibleOutputs=function(){return[void 0]},yt.prototype.serialize=function(){return["var",this.name]};var xt=function(t,e,r,n,i){void 0===e&&(e=[]),void 0===n&&(n=new j),void 0===i&&(i=[]),this.registry=t,this.path=e,this.key=e.map(function(t){return"["+t+"]"}).join(""),this.scope=n,this.errors=i,this.expectedType=r};function bt(t,e){for(var r,n,i=0,a=t.length-1,o=0;i<=a;){if(r=t[o=Math.floor((i+a)/2)],n=t[o+1],e===r||e>r&&e<n)return o;if(r<e)i=o+1;else{if(!(r>e))throw new ot("Input is not a number.");a=o-1}}return Math.max(o-1,0)}xt.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},xt.prototype._parse=function(t,e){if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var r=t[0];if("string"!=typeof r)return this.error("Expression name must be a string, but found "+typeof r+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var n=this.registry[r];if(n){var i=n.parse(t,this);if(!i)return null;if(this.expectedType){var a=this.expectedType,o=i.type;if("string"!==a.kind&&"number"!==a.kind&&"boolean"!==a.kind&&"object"!==a.kind||"value"!==o.kind)if("array"===a.kind&&"value"===o.kind)e.omitTypeAnnotations||(i=new ut(a,i));else if("color"!==a.kind||"value"!==o.kind&&"string"!==o.kind){if(this.checkSubtype(this.expectedType,i.type))return null}else e.omitTypeAnnotations||(i=new ht(a,[i]));else e.omitTypeAnnotations||(i=new lt(a,[i]))}if(!(i instanceof at)&&function t(e){if(e instanceof yt)return t(e.boundExpression);if(e instanceof gt&&"error"===e.name)return!1;if(e instanceof rt)return!1;var r=e instanceof ht||e instanceof lt||e instanceof ut,n=!0;return e.eachChild(function(e){n=r?n&&t(e):n&&e instanceof at}),!!n&&(mt(e)&&vt(e,["zoom","heatmap-density","line-progress","is-supported-script"]))}(i)){var s=new dt;try{i=new at(i.type,i.evaluate(s))}catch(t){return this.error(t.message),null}}return i}return this.error('Unknown expression "'+r+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof t+" instead.")},xt.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new xt(this.registry,n,e||null,i,this.errors)},xt.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map(function(t){return"["+t+"]"}).join("");this.errors.push(new N(n,t))},xt.prototype.checkSubtype=function(t,e){var r=K(t,e);return r&&this.error(r),r};var _t=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n<i.length;n+=1){var a=i[n],o=a[0],s=a[1];this.labels.push(o),this.outputs.push(s)}};function wt(t,e,r){return t*(1-r)+e*r}_t.parse=function(t,e){var r=t[1],n=t.slice(2);if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(r=e.parse(r,1,U)))return null;var i=[],a=null;e.expectedType&&"value"!==e.expectedType.kind&&(a=e.expectedType),n.unshift(-1/0);for(var o=0;o<n.length;o+=2){var s=n[o],l=n[o+1],c=o+1,u=o+2;if("number"!=typeof s)return e.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',c);if(i.length&&i[i.length-1][0]>=s)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',c);var f=e.parse(l,u,a);if(!f)return null;a=a||f.type,i.push([s,f])}return new _t(a,r,i)},_t.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[bt(e,n)].evaluate(t)},_t.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},_t.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}));var t},_t.prototype.serialize=function(){for(var t=["step",this.input.serialize()],e=0;e<this.labels.length;e++)e>0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var kt=Object.freeze({number:wt,color:function(t,e,r){return new tt(wt(t.r,e.r,r),wt(t.g,e.g,r),wt(t.b,e.b,r),wt(t.a,e.a,r))},array:function(t,e,r){return t.map(function(t,n){return wt(t,e[n],r)})}}),Mt=function(t,e,r,n){this.type=t,this.interpolation=e,this.input=r,this.labels=[],this.outputs=[];for(var i=0,a=n;i<a.length;i+=1){var o=a[i],s=o[0],l=o[1];this.labels.push(s),this.outputs.push(l)}};function At(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}Mt.interpolationFactor=function(t,e,r,n){var i=0;if("exponential"===t.name)i=At(e,t.base,r,n);else if("linear"===t.name)i=At(e,1,r,n);else if("cubic-bezier"===t.name){var o=t.controlPoints;i=new a(o[0],o[1],o[2],o[3]).solve(At(e,1,r,n))}return i},Mt.parse=function(t,e){var r=t[1],n=t[2],i=t.slice(3);if(!Array.isArray(r)||0===r.length)return e.error("Expected an interpolation type expression.",1);if("linear"===r[0])r={name:"linear"};else if("exponential"===r[0]){var a=r[1];if("number"!=typeof a)return e.error("Exponential interpolation requires a numeric base.",1,1);r={name:"exponential",base:a}}else{if("cubic-bezier"!==r[0])return e.error("Unknown interpolation type "+String(r[0]),1,0);var o=r.slice(1);if(4!==o.length||o.some(function(t){return"number"!=typeof t||t<0||t>1}))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);r={name:"cubic-bezier",controlPoints:o}}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(n=e.parse(n,2,U)))return null;var s=[],l=null;e.expectedType&&"value"!==e.expectedType.kind&&(l=e.expectedType);for(var c=0;c<i.length;c+=2){var u=i[c],f=i[c+1],h=c+3,p=c+4;if("number"!=typeof u)return e.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.',h);if(s.length&&s[s.length-1][0]>=u)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',h);var d=e.parse(f,p,l);if(!d)return null;l=l||d.type,s.push([u,d])}return"number"===l.kind||"color"===l.kind||"array"===l.kind&&"number"===l.itemType.kind&&"number"==typeof l.N?new Mt(l,r,n,s):e.error("Type "+$(l)+" is not interpolatable.")},Mt.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=bt(e,n),o=e[a],s=e[a+1],l=Mt.interpolationFactor(this.interpolation,n,o,s),c=r[a].evaluate(t),u=r[a+1].evaluate(t);return kt[this.type.kind.toLowerCase()](c,u,l)},Mt.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},Mt.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}));var t},Mt.prototype.serialize=function(){for(var t=["interpolate","linear"===this.interpolation.name?["linear"]:"exponential"===this.interpolation.name?1===this.interpolation.base?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier"].concat(this.interpolation.controlPoints),this.input.serialize()],e=0;e<this.labels.length;e++)t.push(this.labels[e],this.outputs[e].serialize());return t};var Tt=function(t,e){this.type=t,this.args=e};Tt.parse=function(t,e){if(t.length<2)return e.error("Expectected at least one argument.");var r=null,n=e.expectedType;n&&"value"!==n.kind&&(r=n);for(var i=[],a=0,o=t.slice(1);a<o.length;a+=1){var s=o[a],l=e.parse(s,1+i.length,r,void 0,{omitTypeAnnotations:!0});if(!l)return null;r=r||l.type,i.push(l)}var c=n&&i.some(function(t){return K(n,t.type)});return new Tt(c?Y:r,i)},Tt.prototype.evaluate=function(t){for(var e=null,r=0,n=this.args;r<n.length&&null===(e=n[r].evaluate(t));r+=1);return e},Tt.prototype.eachChild=function(t){this.args.forEach(t)},Tt.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},Tt.prototype.serialize=function(){var t=["coalesce"];return this.eachChild(function(e){t.push(e.serialize())}),t};var St=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e};St.prototype.evaluate=function(t){return this.result.evaluate(t)},St.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1)t(r[e][1]);t(this.result)},St.parse=function(t,e){if(t.length<4)return e.error("Expected at least 3 arguments, but found "+(t.length-1)+" instead.");for(var r=[],n=1;n<t.length-1;n+=2){var i=t[n];if("string"!=typeof i)return e.error("Expected string, but found "+typeof i+" instead.",n);if(/[^a-zA-Z0-9_]/.test(i))return e.error("Variable names must contain only alphanumeric characters or '_'.",n);var a=e.parse(t[n+1],n+1);if(!a)return null;r.push([i,a])}var o=e.parse(t[t.length-1],t.length-1,void 0,r);return o?new St(r,o):null},St.prototype.possibleOutputs=function(){return this.result.possibleOutputs()},St.prototype.serialize=function(){for(var t=["let"],e=0,r=this.bindings;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];t.push(i,a.serialize())}return t.push(this.result.serialize()),t};var Et=function(t,e,r){this.type=t,this.index=e,this.input=r};Et.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,U),n=e.parse(t[2],2,Z(e.expectedType||Y));if(!r||!n)return null;var i=n.type;return new Et(i.itemType,r,n)},Et.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0)throw new ot("Array index out of bounds: "+e+" < 0.");if(e>=r.length)throw new ot("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new ot("Array index must be an integer, but found "+e+" instead.");return r[e]},Et.prototype.eachChild=function(t){t(this.index),t(this.input)},Et.prototype.possibleOutputs=function(){return[void 0]},Et.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var Ct=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};Ct.parse=function(t,e){if(t.length<5)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if(t.length%2!=1)return e.error("Expected an even number of arguments.");var r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;o<t.length-1;o+=2){var s=t[o],l=t[o+1];Array.isArray(s)||(s=[s]);var c=e.concat(o);if(0===s.length)return c.error("Expected at least one branch label.");for(var u=0,f=s;u<f.length;u+=1){var h=f[u];if("number"!=typeof h&&"string"!=typeof h)return c.error("Branch labels must be numbers or strings.");if("number"==typeof h&&Math.abs(h)>Number.MAX_SAFE_INTEGER)return c.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof h&&Math.floor(h)!==h)return c.error("Numeric branch labels must be integer values.");if(r){if(c.checkSubtype(r,it(h)))return null}else r=it(h);if(void 0!==i[String(h)])return c.error("Branch labels must be unique.");i[String(h)]=a.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=e.parse(t[1],1,r);if(!d)return null;var g=e.parse(t[t.length-1],t.length-1,n);return g?new Ct(r,n,d,i,a,g):null},Ct.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},Ct.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},Ct.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},Ct.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i<a.length;i+=1){var o=a[i],s=n[t.cases[o]];void 0===s?(n[t.cases[o]]=r.length,r.push([t.cases[o],[o]])):r[s][1].push(o)}for(var l=function(e){return"number"===t.input.type.kind?Number(e):e},c=0,u=r;c<u.length;c+=1){var f=u[c],h=f[0],p=f[1];1===p.length?e.push(l(p[0])):e.push(p.map(l)),e.push(t.outputs[h].serialize())}return e.push(this.otherwise.serialize()),e};var Lt=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r};function zt(t){return"string"===t.kind||"number"===t.kind||"boolean"===t.kind||"null"===t.kind}function Pt(t,e){return function(){function r(t,e,r){this.type=H,this.lhs=t,this.rhs=e,this.collator=r}return r.parse=function(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");var n=e.parse(t[1],1,Y);if(!n)return null;var i=e.parse(t[2],2,Y);if(!i)return null;if(!zt(n.type)&&!zt(i.type))return e.error("Expected at least one argument to be a string, number, boolean, or null, but found ("+$(n.type)+", "+$(i.type)+") instead.");if(n.type.kind!==i.type.kind&&"value"!==n.type.kind&&"value"!==i.type.kind)return e.error("Cannot compare "+$(n.type)+" and "+$(i.type)+".");var a=null;if(4===t.length){if("string"!==n.type.kind&&"string"!==i.type.kind)return e.error("Cannot use collator to compare non-string types.");if(!(a=e.parse(t[3],3,X)))return null}return new r(n,i,a)},r.prototype.evaluate=function(t){var r=this.collator?0===this.collator.evaluate(t).compare(this.lhs.evaluate(t),this.rhs.evaluate(t)):this.lhs.evaluate(t)===this.rhs.evaluate(t);return e?!r:r},r.prototype.eachChild=function(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)},r.prototype.possibleOutputs=function(){return[!0,!1]},r.prototype.serialize=function(){var e=[t];return this.eachChild(function(t){e.push(t.serialize())}),e},r}()}Lt.parse=function(t,e){if(t.length<4)return e.error("Expected at least 3 arguments, but found only "+(t.length-1)+".");if(t.length%2!=0)return e.error("Expected an odd number of arguments.");var r;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);for(var n=[],i=1;i<t.length-1;i+=2){var a=e.parse(t[i],i,H);if(!a)return null;var o=e.parse(t[i+1],i+1,r);if(!o)return null;n.push([a,o]),r=r||o.type}var s=e.parse(t[t.length-1],t.length-1,r);return s?new Lt(r,n,s):null},Lt.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];if(i.evaluate(t))return a.evaluate(t)}return this.otherwise.evaluate(t)},Lt.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];t(i),t(a)}t(this.otherwise)},Lt.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.branches.map(function(t){return t[0],t[1].possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},Lt.prototype.serialize=function(){var t=["case"];return this.eachChild(function(e){t.push(e.serialize())}),t};var Ot=Pt("==",!1),It=Pt("!=",!0),Dt=function(t){this.type=U,this.input=t};Dt.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+$(r.type)+" instead."):new Dt(r):null},Dt.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new ot("Expected value to be of type string or array, but found "+$(it(e))+" instead.")},Dt.prototype.eachChild=function(t){t(this.input)},Dt.prototype.possibleOutputs=function(){return[void 0]},Dt.prototype.serialize=function(){var t=["length"];return this.eachChild(function(e){t.push(e.serialize())}),t};var Rt={"==":Ot,"!=":It,array:ut,at:Et,boolean:lt,case:Lt,coalesce:Tt,collator:rt,interpolate:Mt,length:Dt,let:St,literal:at,match:Ct,number:lt,object:lt,step:_t,string:lt,"to-color":ht,"to-number":ht,var:yt};function Bt(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=nt(r,n,i,o);if(s)throw new ot(s);return new tt(r/255*o,n/255*o,i/255*o,o)}function Ft(t,e){return t in e}function Nt(t,e){var r=e[t];return void 0===r?null:r}function jt(t,e){var r=e[0],n=e[1];return r.evaluate(t)<n.evaluate(t)}function Vt(t,e){var r=e[0],n=e[1];return r.evaluate(t)>n.evaluate(t)}function Ut(t,e){var r=e[0],n=e[1];return r.evaluate(t)<=n.evaluate(t)}function qt(t,e){var r=e[0],n=e[1];return r.evaluate(t)>=n.evaluate(t)}function Ht(t){return{type:t}}function Gt(t){return{result:"success",value:t}}function Wt(t){return{result:"error",value:t}}gt.register(Rt,{error:[{kind:"error"},[q],function(t,e){var r=e[0];throw new ot(r.evaluate(t))}],typeof:[q,[Y],function(t,e){return $(it(e[0].evaluate(t)))}],"to-string":[q,[Y],function(t,e){var r=e[0],n=typeof(r=r.evaluate(t));return null===r?"":"string"===n||"number"===n||"boolean"===n?String(r):r instanceof tt?r.toString():JSON.stringify(r)}],"to-boolean":[H,[Y],function(t,e){var r=e[0];return Boolean(r.evaluate(t))}],"to-rgba":[Z(U,4),[G],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[G,[U,U,U],Bt],rgba:[G,[U,U,U,U],Bt],has:{type:H,overloads:[[[q],function(t,e){return Ft(e[0].evaluate(t),t.properties())}],[[q,W],function(t,e){var r=e[0],n=e[1];return Ft(r.evaluate(t),n.evaluate(t))}]]},get:{type:Y,overloads:[[[q],function(t,e){return Nt(e[0].evaluate(t),t.properties())}],[[q,W],function(t,e){var r=e[0],n=e[1];return Nt(r.evaluate(t),n.evaluate(t))}]]},properties:[W,[],function(t){return t.properties()}],"geometry-type":[q,[],function(t){return t.geometryType()}],id:[Y,[],function(t){return t.id()}],zoom:[U,[],function(t){return t.globals.zoom}],"heatmap-density":[U,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[U,[],function(t){return t.globals.lineProgress||0}],"+":[U,Ht(U),function(t,e){for(var r=0,n=0,i=e;n<i.length;n+=1)r+=i[n].evaluate(t);return r}],"*":[U,Ht(U),function(t,e){for(var r=1,n=0,i=e;n<i.length;n+=1)r*=i[n].evaluate(t);return r}],"-":{type:U,overloads:[[[U,U],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)-n.evaluate(t)}],[[U],function(t,e){return-e[0].evaluate(t)}]]},"/":[U,[U,U],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)/n.evaluate(t)}],"%":[U,[U,U],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)%n.evaluate(t)}],ln2:[U,[],function(){return Math.LN2}],pi:[U,[],function(){return Math.PI}],e:[U,[],function(){return Math.E}],"^":[U,[U,U],function(t,e){var r=e[0],n=e[1];return Math.pow(r.evaluate(t),n.evaluate(t))}],sqrt:[U,[U],function(t,e){var r=e[0];return Math.sqrt(r.evaluate(t))}],log10:[U,[U],function(t,e){var r=e[0];return Math.log10(r.evaluate(t))}],ln:[U,[U],function(t,e){var r=e[0];return Math.log(r.evaluate(t))}],log2:[U,[U],function(t,e){var r=e[0];return Math.log2(r.evaluate(t))}],sin:[U,[U],function(t,e){var r=e[0];return Math.sin(r.evaluate(t))}],cos:[U,[U],function(t,e){var r=e[0];return Math.cos(r.evaluate(t))}],tan:[U,[U],function(t,e){var r=e[0];return Math.tan(r.evaluate(t))}],asin:[U,[U],function(t,e){var r=e[0];return Math.asin(r.evaluate(t))}],acos:[U,[U],function(t,e){var r=e[0];return Math.acos(r.evaluate(t))}],atan:[U,[U],function(t,e){var r=e[0];return Math.atan(r.evaluate(t))}],min:[U,Ht(U),function(t,e){return Math.min.apply(Math,e.map(function(e){return e.evaluate(t)}))}],max:[U,Ht(U),function(t,e){return Math.max.apply(Math,e.map(function(e){return e.evaluate(t)}))}],abs:[U,[U],function(t,e){var r=e[0];return Math.abs(r.evaluate(t))}],round:[U,[U],function(t,e){var r=e[0].evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[U,[U],function(t,e){var r=e[0];return Math.floor(r.evaluate(t))}],ceil:[U,[U],function(t,e){var r=e[0];return Math.ceil(r.evaluate(t))}],"filter-==":[H,[q,Y],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],"filter-id-==":[H,[Y],function(t,e){var r=e[0];return t.id()===r.value}],"filter-type-==":[H,[q],function(t,e){var r=e[0];return t.geometryType()===r.value}],"filter-<":[H,[q,Y],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<a}],"filter-id-<":[H,[Y],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<i}],"filter->":[H,[q,Y],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],"filter-id->":[H,[Y],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[H,[q,Y],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],"filter-id-<=":[H,[Y],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[H,[q,Y],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],"filter-id->=":[H,[Y],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[H,[Y],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[H,[],function(t){return null!==t.id()}],"filter-type-in":[H,[Z(q)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[H,[Z(Y)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[H,[q,Z(Y)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[H,[q,Z(Y)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],">":{type:H,overloads:[[[U,U],Vt],[[q,q],Vt],[[q,q,X],function(t,e){var r=e[0],n=e[1];return e[2].evaluate(t).compare(r.evaluate(t),n.evaluate(t))>0}]]},"<":{type:H,overloads:[[[U,U],jt],[[q,q],jt],[[q,q,X],function(t,e){var r=e[0],n=e[1];return e[2].evaluate(t).compare(r.evaluate(t),n.evaluate(t))<0}]]},">=":{type:H,overloads:[[[U,U],qt],[[q,q],qt],[[q,q,X],function(t,e){var r=e[0],n=e[1];return e[2].evaluate(t).compare(r.evaluate(t),n.evaluate(t))>=0}]]},"<=":{type:H,overloads:[[[U,U],Ut],[[q,q],Ut],[[q,q,X],function(t,e){var r=e[0],n=e[1];return e[2].evaluate(t).compare(r.evaluate(t),n.evaluate(t))<=0}]]},all:{type:H,overloads:[[[H,H],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[Ht(H),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(!n[r].evaluate(t))return!1;return!0}]]},any:{type:H,overloads:[[[H,H],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)||n.evaluate(t)}],[Ht(H),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(n[r].evaluate(t))return!0;return!1}]]},"!":[H,[H],function(t,e){return!e[0].evaluate(t)}],"is-supported-script":[H,[q],function(t,e){var r=e[0],n=t.globals&&t.globals.isSupportedScript;return!n||n(r.evaluate(t))}],upcase:[q,[q],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[q,[q],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[q,Ht(q),function(t,e){return e.map(function(e){return e.evaluate(t)}).join("")}],"resolved-locale":[q,[X],function(t,e){return e[0].evaluate(t).resolvedLocale()}]});var Yt=.95047,Xt=1,Zt=1.08883,$t=4/29,Jt=6/29,Kt=3*Jt*Jt,Qt=Jt*Jt*Jt,te=Math.PI/180,ee=180/Math.PI;function re(t){return t>Qt?Math.pow(t,1/3):t/Kt+$t}function ne(t){return t>Jt?t*t*t:Kt*(t-$t)}function ie(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function ae(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function oe(t){var e=ae(t.r),r=ae(t.g),n=ae(t.b),i=re((.4124564*e+.3575761*r+.1804375*n)/Yt),a=re((.2126729*e+.7151522*r+.072175*n)/Xt);return{l:116*a-16,a:500*(i-a),b:200*(a-re((.0193339*e+.119192*r+.9503041*n)/Zt)),alpha:t.a}}function se(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=Xt*ne(e),r=Yt*ne(r),n=Zt*ne(n),new tt(ie(3.2404542*r-1.5371385*e-.4985314*n),ie(-.969266*r+1.8760108*e+.041556*n),ie(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}var le={forward:oe,reverse:se,interpolate:function(t,e,r){return{l:wt(t.l,e.l,r),a:wt(t.a,e.a,r),b:wt(t.b,e.b,r),alpha:wt(t.alpha,e.alpha,r)}}},ce={forward:function(t){var e=oe(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*ee;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*te,r=t.c;return se({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:function(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}(t.h,e.h,r),c:wt(t.c,e.c,r),l:wt(t.l,e.l,r),alpha:wt(t.alpha,e.alpha,r)}}},ue=Object.freeze({lab:le,hcl:ce});function fe(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function he(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function pe(t){return t}function de(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function ge(t,e,r,n,i){return de(typeof r===i?n[r]:void 0,t.default,e.default)}function me(t,e,r){if("number"!==fe(r))return de(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var i=xe(t.stops,r);return t.stops[i][1]}function ve(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==fe(r))return de(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=xe(t.stops,r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],c=kt[e.type]||pe;if(t.colorSpace&&"rgb"!==t.colorSpace){var u=ue[t.colorSpace];c=function(t,e){return u.reverse(u.interpolate(u.forward(t),u.forward(e),o))}}return"function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return c(r,n,o)}}:c(s,l,o)}function ye(t,e,r){return"color"===e.type?r=tt.parse(r):fe(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),de(r,t.default,e.default)}function xe(t,e){for(var r,n,i=0,a=t.length-1,o=0;i<=a;){if(r=t[o=Math.floor((i+a)/2)][0],n=t[o+1][0],e===r||e>r&&e<n)return o;r<e?i=o+1:r>e&&(a=o-1)}return Math.max(o-1,0)}var be=function(t,e){var r;this.expression=t,this._warningHistory={},this._defaultValue="color"===(r=e).type&&he(r.default)?new tt(0,0,0,0):"color"===r.type?tt.parse(r.default)||null:void 0===r.default?null:r.default,"enum"===e.type&&(this._enumValues=e.values)};function _e(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in Rt}function we(t,e){var r=new xt(Rt,[],function(t){var e={color:G,string:q,number:U,enum:q,boolean:H};return"array"===t.type?Z(e[t.value]||Y,t.length):e[t.type]||null}(e)),n=r.parse(t);return n?Gt(new be(n,e)):Wt(r.errors)}be.prototype.evaluateWithoutErrorHandling=function(t,e){return this._evaluator||(this._evaluator=new dt),this._evaluator.globals=t,this._evaluator.feature=e,this.expression.evaluate(this._evaluator)},be.prototype.evaluate=function(t,e){this._evaluator||(this._evaluator=new dt),this._evaluator.globals=t,this._evaluator.feature=e;try{var r=this.expression.evaluate(this._evaluator);if(null==r)return this._defaultValue;if(this._enumValues&&!(r in this._enumValues))throw new ot("Expected value to be one of "+Object.keys(this._enumValues).map(function(t){return JSON.stringify(t)}).join(", ")+", but found "+JSON.stringify(r)+" instead.");return r}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var ke=function(t,e){this.kind=t,this._styleExpression=e};ke.prototype.evaluateWithoutErrorHandling=function(t,e){return this._styleExpression.evaluateWithoutErrorHandling(t,e)},ke.prototype.evaluate=function(t,e){return this._styleExpression.evaluate(t,e)};var Me=function(t,e,r){this.kind=t,this.zoomStops=r.labels,this._styleExpression=e,r instanceof Mt&&(this._interpolationType=r.interpolation)};function Ae(t,e){if("error"===(t=we(t,e)).result)return t;var r=t.value.expression,n=mt(r);if(!n&&!e["property-function"])return Wt([new N("","property expressions not supported")]);var i=vt(r,["zoom"]);if(!i&&!1===e["zoom-function"])return Wt([new N("","zoom expressions not supported")]);var a=function t(e){var r=null;if(e instanceof St)r=t(e.result);else if(e instanceof Tt)for(var n=0,i=e.args;n<i.length;n+=1){var a=i[n];if(r=t(a))break}else(e instanceof _t||e instanceof Mt)&&e.input instanceof gt&&"zoom"===e.input.name&&(r=e);return r instanceof N?r:(e.eachChild(function(e){var n=t(e);n instanceof N?r=n:!r&&n?r=new N("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):r&&n&&r!==n&&(r=new N("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),r)}(r);return a||i?a instanceof N?Wt([a]):a instanceof Mt&&"piecewise-constant"===e.function?Wt([new N("",'"interpolate" expressions cannot be used with this property')]):Gt(a?new Me(n?"camera":"composite",t.value,a):new ke(n?"constant":"source",t.value)):Wt([new N("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}Me.prototype.evaluateWithoutErrorHandling=function(t,e){return this._styleExpression.evaluateWithoutErrorHandling(t,e)},Me.prototype.evaluate=function(t,e){return this._styleExpression.evaluate(t,e)},Me.prototype.interpolationFactor=function(t,e,r){return this._interpolationType?Mt.interpolationFactor(this._interpolationType,t,e,r):0};var Te=function(t,e){this._parameters=t,this._specification=e,R(this,function t(e,r){var n,i,a,o="color"===r.type,s=e.stops&&"object"==typeof e.stops[0][0],l=s||void 0!==e.property,c=s||!l,u=e.type||("interpolated"===r.function?"exponential":"interval");if(o&&((e=R({},e)).stops&&(e.stops=e.stops.map(function(t){return[t[0],tt.parse(t[1])]})),e.default?e.default=tt.parse(e.default):e.default=tt.parse(r.default)),e.colorSpace&&"rgb"!==e.colorSpace&&!ue[e.colorSpace])throw new Error("Unknown color space: "+e.colorSpace);if("exponential"===u)n=ve;else if("interval"===u)n=me;else if("categorical"===u){n=ge,i=Object.create(null);for(var f=0,h=e.stops;f<h.length;f+=1){var p=h[f];i[p[0]]=p[1]}a=typeof e.stops[0][0]}else{if("identity"!==u)throw new Error('Unknown function type "'+u+'"');n=ye}if(s){for(var d={},g=[],m=0;m<e.stops.length;m++){var v=e.stops[m],y=v[0].zoom;void 0===d[y]&&(d[y]={zoom:y,type:e.type,property:e.property,default:e.default,stops:[]},g.push(y)),d[y].stops.push([v[0].value,v[1]])}for(var x=[],b=0,_=g;b<_.length;b+=1){var w=_[b];x.push([d[w].zoom,t(d[w],r)])}return{kind:"composite",interpolationFactor:Mt.interpolationFactor.bind(void 0,{name:"linear"}),zoomStops:x.map(function(t){return t[0]}),evaluate:function(t,n){var i=t.zoom;return ve({stops:x,base:e.base},r,i).evaluate(i,n)}}}return c?{kind:"camera",interpolationFactor:"exponential"===u?Mt.interpolationFactor.bind(void 0,{name:"exponential",base:void 0!==e.base?e.base:1}):function(){return 0},zoomStops:e.stops.map(function(t){return t[0]}),evaluate:function(t){var o=t.zoom;return n(e,r,o,i,a)}}:{kind:"source",evaluate:function(t,o){var s=o&&o.properties?o.properties[e.property]:void 0;return void 0===s?de(e.default,r.default):n(e,r,s,i,a)}}}(this._parameters,this._specification))};function Se(t,e){if(he(t))return new Te(t,e);if(_e(t)){var r=Ae(t,e);if("error"===r.result)throw new Error(r.value.map(function(t){return t.key+": "+t.message}).join(", "));return r.value}var n=t;return"string"==typeof t&&"color"===e.type&&(n=tt.parse(t)),{kind:"constant",evaluate:function(){return n}}}function Ee(t){var e=t.key,r=t.value,n=t.valueSpec||{},i=t.objectElementValidators||{},a=t.style,o=t.styleSpec,s=[],l=fe(r);if("object"!==l)return[new I(e,r,"object expected, "+l+" found")];for(var c in r){var u=c.split(".")[0],f=n[u]||n["*"],h=void 0;if(i[u])h=i[u];else if(n[u])h=Ke;else if(i["*"])h=i["*"];else{if(!n["*"]){s.push(new I(e,r[c],'unknown property "'+c+'"'));continue}h=Ke}s=s.concat(h({key:(e?e+".":e)+c,value:r[c],valueSpec:f,style:a,styleSpec:o,object:r,objectKey:c},r))}for(var p in n)i[p]||n[p].required&&void 0===n[p].default&&void 0===r[p]&&s.push(new I(e,r,'missing required property "'+p+'"'));return s}function Ce(t){var e=t.value,r=t.valueSpec,n=t.style,i=t.styleSpec,a=t.key,o=t.arrayElementValidator||Ke;if("array"!==fe(e))return[new I(a,e,"array expected, "+fe(e)+" found")];if(r.length&&e.length!==r.length)return[new I(a,e,"array length "+r.length+" expected, length "+e.length+" found")];if(r["min-length"]&&e.length<r["min-length"])return[new I(a,e,"array length at least "+r["min-length"]+" expected, length "+e.length+" found")];var s={type:r.value};i.$version<7&&(s.function=r.function),"object"===fe(r.value)&&(s=r.value);for(var l=[],c=0;c<e.length;c++)l=l.concat(o({array:e,arrayIndex:c,value:e[c],valueSpec:s,style:n,styleSpec:i,key:a+"["+c+"]"}));return l}function Le(t){var e=t.key,r=t.value,n=t.valueSpec,i=fe(r);return"number"!==i?[new I(e,r,"number expected, "+i+" found")]:"minimum"in n&&r<n.minimum?[new I(e,r,r+" is less than the minimum value "+n.minimum)]:"maximum"in n&&r>n.maximum?[new I(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function ze(t){var e,r,n,i=t.valueSpec,a=B(t.value.type),o={},s="categorical"!==a&&void 0===t.value.property,l=!s,c="array"===fe(t.value.stops)&&"array"===fe(t.value.stops[0])&&"object"===fe(t.value.stops[0][0]),u=Ee({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===a)return[new I(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(Ce({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:f})),"array"===fe(r)&&0===r.length&&e.push(new I(t.key,r,"array must have at least one stop")),e},default:function(t){return Ke({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===a&&s&&u.push(new I(t.key,t.value,'missing required property "property"')),"identity"===a||t.value.stops||u.push(new I(t.key,t.value,'missing required property "stops"')),"exponential"===a&&"piecewise-constant"===t.valueSpec.function&&u.push(new I(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!t.valueSpec["property-function"]?u.push(new I(t.key,t.value,"property functions not supported")):s&&!t.valueSpec["zoom-function"]&&"heatmap-color"!==t.objectKey&&"line-gradient"!==t.objectKey&&u.push(new I(t.key,t.value,"zoom functions not supported"))),"categorical"!==a&&!c||void 0!==t.value.property||u.push(new I(t.key,t.value,'"property" property is required')),u;function f(t){var e=[],a=t.value,s=t.key;if("array"!==fe(a))return[new I(s,a,"array expected, "+fe(a)+" found")];if(2!==a.length)return[new I(s,a,"array length 2 expected, length "+a.length+" found")];if(c){if("object"!==fe(a[0]))return[new I(s,a,"object expected, "+fe(a[0])+" found")];if(void 0===a[0].zoom)return[new I(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new I(s,a,"object stop key must have value")];if(n&&n>B(a[0].zoom))return[new I(s,a[0].zoom,"stop zoom values must appear in ascending order")];B(a[0].zoom)!==n&&(n=B(a[0].zoom),r=void 0,o={}),e=e.concat(Ee({key:s+"[0]",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Le,value:h}}))}else e=e.concat(h({key:s+"[0]",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return e.concat(Ke({key:s+"[1]",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=fe(t.value),l=B(t.value),c=null!==t.value?t.value:n;if(e){if(s!==e)return[new I(t.key,c,s+" stop domain type must match previous stop domain type "+e)]}else e=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new I(t.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){var u="number expected, "+s+" found";return i["property-function"]&&void 0===a&&(u+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new I(t.key,c,u)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&l<r?[new I(t.key,c,"stop domain values must appear in ascending order")]:(r=l,"categorical"===a&&l in o?[new I(t.key,c,"stop domain values must be unique")]:(o[l]=!0,[])):[new I(t.key,c,"integer expected, found "+l)]}}function Pe(t){var e=("property"===t.expressionContext?Ae:we)(F(t.value),t.valueSpec);return"error"===e.result?e.value.map(function(e){return new I(""+t.key+e.key,t.value,e.message)}):"property"===t.expressionContext&&"text-font"===t.propertyKey&&-1!==e.value._styleExpression.expression.possibleOutputs().indexOf(void 0)?[new I(t.key,t.value,'Invalid data expression for "text-font". Output values must be contained as literals within the expression.')]:[]}function Oe(t){var e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(B(r))&&i.push(new I(e,r,"expected one of ["+n.values.join(", ")+"], "+JSON.stringify(r)+" found")):-1===Object.keys(n.values).indexOf(B(r))&&i.push(new I(e,r,"expected one of ["+Object.keys(n.values).join(", ")+"], "+JSON.stringify(r)+" found")),i}function Ie(t){if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3===t.length&&(Array.isArray(t[1])||Array.isArray(t[2]));case"any":case"all":for(var e=0,r=t.slice(1);e<r.length;e+=1){var n=r[e];if(!Ie(n)&&"boolean"!=typeof n)return!1}return!0;default:return!0}}Te.deserialize=function(t){return new Te(t._parameters,t._specification)},Te.serialize=function(t){return{_parameters:t._parameters,_specification:t._specification}};var De={type:"boolean",default:!1,function:!0,"property-function":!0,"zoom-function":!0};function Re(t){if(!t)return function(){return!0};Ie(t)||(t=Fe(t));var e=we(t,De);if("error"===e.result)throw new Error(e.value.map(function(t){return t.key+": "+t.message}).join(", "));return function(t,r){return e.value.evaluate(t,r)}}function Be(t,e){return t<e?-1:t>e?1:0}function Fe(t){if(!t)return!0;var e,r=t[0];return t.length<=1?"any"!==r:"=="===r?Ne(t[1],t[2],"=="):"!="===r?Ue(Ne(t[1],t[2],"==")):"<"===r||">"===r||"<="===r||">="===r?Ne(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(Fe))):"all"===r?["all"].concat(t.slice(1).map(Fe)):"none"===r?["all"].concat(t.slice(1).map(Fe).map(Ue)):"in"===r?je(t[1],t.slice(2)):"!in"===r?Ue(je(t[1],t.slice(2))):"has"===r?Ve(t[1]):"!has"!==r||Ue(Ve(t[1]))}function Ne(t,e,r){switch(t){case"$type":return["filter-type-"+r,e];case"$id":return["filter-id-"+r,e];default:return["filter-"+r,t,e]}}function je(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some(function(t){return typeof t!=typeof e[0]})?["filter-in-large",t,["literal",e.sort(Be)]]:["filter-in-small",t,["literal",e]]}}function Ve(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function Ue(t){return["!",t]}function qe(t){return Ie(F(t.value))?Pe(R({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):function t(e){var r=e.value,n=e.key;if("array"!==fe(r))return[new I(n,r,"array expected, "+fe(r)+" found")];var i,a=e.styleSpec,o=[];if(r.length<1)return[new I(n,r,"filter array must have at least 1 element")];switch(o=o.concat(Oe({key:n+"[0]",value:r[0],valueSpec:a.filter_operator,style:e.style,styleSpec:e.styleSpec})),B(r[0])){case"<":case"<=":case">":case">=":r.length>=2&&"$type"===B(r[1])&&o.push(new I(n,r,'"$type" cannot be use with operator "'+r[0]+'"'));case"==":case"!=":3!==r.length&&o.push(new I(n,r,'filter array for operator "'+r[0]+'" must have 3 elements'));case"in":case"!in":r.length>=2&&"string"!==(i=fe(r[1]))&&o.push(new I(n+"[1]",r[1],"string expected, "+i+" found"));for(var s=2;s<r.length;s++)i=fe(r[s]),"$type"===B(r[1])?o=o.concat(Oe({key:n+"["+s+"]",value:r[s],valueSpec:a.geometry_type,style:e.style,styleSpec:e.styleSpec})):"string"!==i&&"number"!==i&&"boolean"!==i&&o.push(new I(n+"["+s+"]",r[s],"string, number, or boolean expected, "+i+" found"));break;case"any":case"all":case"none":for(var l=1;l<r.length;l++)o=o.concat(t({key:n+"["+l+"]",value:r[l],style:e.style,styleSpec:e.styleSpec}));break;case"has":case"!has":i=fe(r[1]),2!==r.length?o.push(new I(n,r,'filter array for "'+r[0]+'" operator must have 2 elements')):"string"!==i&&o.push(new I(n+"[1]",r[1],"string expected, "+i+" found"))}return o}(t)}function He(t,e){var r=t.key,n=t.style,i=t.styleSpec,a=t.value,o=t.objectKey,s=i[e+"_"+t.layerType];if(!s)return[];var l=o.match(/^(.*)-transition$/);if("paint"===e&&l&&s[l[1]]&&s[l[1]].transition)return Ke({key:r,value:a,valueSpec:i.transition,style:n,styleSpec:i});var c,u=t.valueSpec||s[o];if(!u)return[new I(r,a,'unknown property "'+o+'"')];if("string"===fe(a)&&u["property-function"]&&!u.tokens&&(c=/^{([^}]+)}$/.exec(a)))return[new I(r,a,'"'+o+'" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": '+JSON.stringify(c[1])+" }`.")];var f=[];return"symbol"===t.layerType&&("text-field"===o&&n&&!n.glyphs&&f.push(new I(r,a,'use of "text-field" requires a style "glyphs" property')),"text-font"===o&&he(F(a))&&"identity"===B(a.type)&&f.push(new I(r,a,'"text-font" does not support identity functions'))),f.concat(Ke({key:t.key,value:a,valueSpec:u,style:n,styleSpec:i,expressionContext:"property",propertyKey:o}))}function Ge(t){return He(t,"paint")}function We(t){return He(t,"layout")}function Ye(t){var e=[],r=t.value,n=t.key,i=t.style,a=t.styleSpec;r.type||r.ref||e.push(new I(n,r,'either "type" or "ref" is required'));var o,s=B(r.type),l=B(r.ref);if(r.id)for(var c=B(r.id),u=0;u<t.arrayIndex;u++){var f=i.layers[u];B(f.id)===c&&e.push(new I(n,r.id,'duplicate layer id "'+r.id+'", previously used at line '+f.id.__line__))}if("ref"in r)["type","source","source-layer","filter","layout"].forEach(function(t){t in r&&e.push(new I(n,r[t],'"'+t+'" is prohibited for ref layers'))}),i.layers.forEach(function(t){B(t.id)===l&&(o=t)}),o?o.ref?e.push(new I(n,r.ref,"ref cannot reference another ref layer")):s=B(o.type):e.push(new I(n,r.ref,'ref layer "'+l+'" not found'));else if("background"!==s)if(r.source){var h=i.sources&&i.sources[r.source],p=h&&B(h.type);h?"vector"===p&&"raster"===s?e.push(new I(n,r.source,'layer "'+r.id+'" requires a raster source')):"raster"===p&&"raster"!==s?e.push(new I(n,r.source,'layer "'+r.id+'" requires a vector source')):"vector"!==p||r["source-layer"]?"raster-dem"===p&&"hillshade"!==s?e.push(new I(n,r.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==s||!r.paint||!r.paint["line-gradient"]||"geojson"===p&&h.lineMetrics||e.push(new I(n,r,'layer "'+r.id+'" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):e.push(new I(n,r,'layer "'+r.id+'" must specify a "source-layer"')):e.push(new I(n,r.source,'source "'+r.source+'" not found'))}else e.push(new I(n,r,'missing required property "source"'));return e=e.concat(Ee({key:n,value:r,valueSpec:a.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(){return[]},type:function(){return Ke({key:n+".type",value:r.type,valueSpec:a.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:"type"})},filter:qe,layout:function(t){return Ee({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(t){return We(R({layerType:s},t))}}})},paint:function(t){return Ee({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(t){return Ge(R({layerType:s},t))}}})}}}))}function Xe(t){var e=t.value,r=t.key,n=t.styleSpec,i=t.style;if(!e.type)return[new I(r,e,'"type" is required')];var a=B(e.type),o=[];switch(a){case"vector":case"raster":case"raster-dem":if(o=o.concat(Ee({key:r,value:e,valueSpec:n["source_"+a.replace("-","_")],style:t.style,styleSpec:n})),"url"in e)for(var s in e)["type","url","tileSize"].indexOf(s)<0&&o.push(new I(r+"."+s,e[s],'a source with a "url" property may not include a "'+s+'" property'));return o;case"geojson":return Ee({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n});case"video":return Ee({key:r,value:e,valueSpec:n.source_video,style:i,styleSpec:n});case"image":return Ee({key:r,value:e,valueSpec:n.source_image,style:i,styleSpec:n});case"canvas":return o.push(new I(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")),o;default:return Oe({key:r+".type",value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:i,styleSpec:n})}}function Ze(t){var e=t.value,r=t.styleSpec,n=r.light,i=t.style,a=[],o=fe(e);if(void 0===e)return a;if("object"!==o)return a.concat([new I("light",e,"object expected, "+o+" found")]);for(var s in e){var l=s.match(/^(.*)-transition$/);a=l&&n[l[1]]&&n[l[1]].transition?a.concat(Ke({key:s,value:e[s],valueSpec:r.transition,style:i,styleSpec:r})):n[s]?a.concat(Ke({key:s,value:e[s],valueSpec:n[s],style:i,styleSpec:r})):a.concat([new I(s,e[s],'unknown property "'+s+'"')])}return a}function $e(t){var e=t.value,r=t.key,n=fe(e);return"string"!==n?[new I(r,e,"string expected, "+n+" found")]:[]}var Je={"*":function(){return[]},array:Ce,boolean:function(t){var e=t.value,r=t.key,n=fe(e);return"boolean"!==n?[new I(r,e,"boolean expected, "+n+" found")]:[]},number:Le,color:function(t){var e=t.key,r=t.value,n=fe(r);return"string"!==n?[new I(e,r,"color expected, "+n+" found")]:null===Q(r)?[new I(e,r,'color expected, "'+r+'" found')]:[]},constants:D,enum:Oe,filter:qe,function:ze,layer:Ye,object:Ee,source:Xe,light:Ze,string:$e};function Ke(t){var e=t.value,r=t.valueSpec,n=t.styleSpec;return r.function&&he(B(e))?ze(t):r.function&&_e(F(e))?Pe(t):r.type&&Je[r.type]?Je[r.type](t):Ee(R({},t,{valueSpec:r.type?n[r.type]:r}))}function Qe(t){var e=t.value,r=t.key,n=$e(t);return n.length?n:(-1===e.indexOf("{fontstack}")&&n.push(new I(r,e,'"glyphs" url must include a "{fontstack}" token')),-1===e.indexOf("{range}")&&n.push(new I(r,e,'"glyphs" url must include a "{range}" token')),n)}function tr(t,e){e=e||O;var r=[];return r=r.concat(Ke({key:"",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:Qe,"*":function(){return[]}}})),t.constants&&(r=r.concat(D({key:"constants",value:t.constants,style:t,styleSpec:e}))),er(r)}function er(t){return[].concat(t).sort(function(t,e){return t.line-e.line})}function rr(t){return function(){return er(t.apply(this,arguments))}}tr.source=rr(Xe),tr.light=rr(Ze),tr.layer=rr(Ye),tr.filter=rr(qe),tr.paintProperty=rr(Ge),tr.layoutProperty=rr(We);var nr=tr,ir=tr.light,ar=tr.paintProperty,or=tr.layoutProperty;function sr(t,e){var r=!1;if(e&&e.length)for(var n=0,i=e;n<i.length;n+=1){var a=i[n];t.fire(new z(new Error(a.message))),r=!0}return r}var lr=ur,cr=3;function ur(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var i=new Int32Array(this.arrayBuffer);t=i[0],e=i[1],r=i[2],this.d=e+2*r;for(var a=0;a<this.d*this.d;a++){var o=i[cr+a],s=i[cr+a+1];n.push(o===s?null:i.subarray(o,s))}var l=i[cr+n.length],c=i[cr+n.length+1];this.keys=i.subarray(l,c),this.bboxes=i.subarray(c),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var u=0;u<this.d*this.d;u++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var f=r/e*t;this.min=-f,this.max=t+f}ur.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertCell,this.uid++),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},ur.prototype._insertReadonly=function(){throw"Cannot insert into a GridIndex created from an ArrayBuffer."},ur.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a)},ur.prototype.query=function(t,e,r,n){var i=this.min,a=this.max;if(t<=i&&e<=i&&a<=r&&a<=n)return Array.prototype.slice.call(this.keys);var o=[];return this._forEachCell(t,e,r,n,this._queryCell,o,{}),o},ur.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this.cells[i];if(null!==s)for(var l=this.keys,c=this.bboxes,u=0;u<s.length;u++){var f=s[u];if(void 0===o[f]){var h=4*f;t<=c[h+2]&&e<=c[h+3]&&r>=c[h+0]&&n>=c[h+1]?(o[f]=!0,a.push(l[f])):o[f]=!1}}},ur.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToCellCoord(t),l=this._convertToCellCoord(e),c=this._convertToCellCoord(r),u=this._convertToCellCoord(n),f=s;f<=c;f++)for(var h=l;h<=u;h++){var p=this.d*h+f;if(i.call(this,t,e,r,n,p,a,o))return}},ur.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},ur.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=cr+this.cells.length+1+1,r=0,n=0;n<this.cells.length;n++)r+=this.cells[n].length;var i=new Int32Array(e+r+this.keys.length+this.bboxes.length);i[0]=this.extent,i[1]=this.n,i[2]=this.padding;for(var a=e,o=0;o<t.length;o++){var s=t[o];i[cr+o]=a,i.set(s,a),a+=s.length}return i[cr+t.length]=a,i.set(this.keys,a),a+=this.keys.length,i[cr+t.length+1]=a,i.set(this.bboxes,a),a+=this.bboxes.length,i.buffer};var fr=self.ImageData,hr={};function pr(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,"_classRegistryKey",{value:t,writeable:!1}),hr[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]}}for(var dr in pr("Object",Object),lr.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),r},lr.deserialize=function(t){return new lr(t)},pr("Grid",lr),pr("Color",tt),pr("Error",Error),pr("StylePropertyFunction",Te),pr("StyleExpression",be,{omit:["_evaluator"]}),pr("ZoomDependentExpression",Me),pr("ZoomConstantExpression",ke),pr("CompoundExpression",gt,{omit:["_evaluate"]}),Rt)Rt[dr]._classRegistryKey||pr("Expression_"+dr,Rt[dr]);function gr(t,e){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp)return t;if(t instanceof ArrayBuffer)return e&&e.push(t),t;if(ArrayBuffer.isView(t)){var r=t;return e&&e.push(r.buffer),r}if(t instanceof fr)return e&&e.push(t.data.buffer),t;if(Array.isArray(t)){for(var n=[],i=0,a=t;i<a.length;i+=1){var o=a[i];n.push(gr(o,e))}return n}if("object"==typeof t){var s=t.constructor,l=s._classRegistryKey;if(!l)throw new Error("can't serialize object of unregistered class");var c={};if(s.serialize)c._serialized=s.serialize(t,e);else{for(var u in t)if(t.hasOwnProperty(u)&&!(hr[l].omit.indexOf(u)>=0)){var f=t[u];c[u]=hr[l].shallow.indexOf(u)>=0?f:gr(f,e)}t instanceof Error&&(c.message=t.message)}return{name:l,properties:c}}throw new Error("can't serialize object of type "+typeof t)}function mr(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||t instanceof ArrayBuffer||ArrayBuffer.isView(t)||t instanceof fr)return t;if(Array.isArray(t))return t.map(function(t){return mr(t)});if("object"==typeof t){var e=t,r=e.name,n=e.properties;if(!r)throw new Error("can't deserialize object of anonymous class");var i=hr[r].klass;if(!i)throw new Error("can't deserialize unregistered class "+r);if(i.deserialize)return i.deserialize(n._serialized);for(var a=Object.create(i.prototype),o=0,s=Object.keys(n);o<s.length;o+=1){var l=s[o];a[l]=hr[r].shallow.indexOf(l)>=0?n[l]:mr(n[l])}return a}throw new Error("can't deserialize object of type "+typeof t)}var vr=function(){this.first=!0};vr.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=e),t!==this.lastZoom&&(this.lastZoom=t,this.lastFloorZoom=r,!0))};var yr={"Latin-1 Supplement":function(t){return t>=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},"Arabic Supplement":function(t){return t>=1872&&t<=1919},"Arabic Extended-A":function(t){return t>=2208&&t<=2303},"Hangul Jamo":function(t){return t>=4352&&t<=4607},"Unified Canadian Aboriginal Syllabics":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(t){return t>=6320&&t<=6399},"General Punctuation":function(t){return t>=8192&&t<=8303},"Letterlike Symbols":function(t){return t>=8448&&t<=8527},"Number Forms":function(t){return t>=8528&&t<=8591},"Miscellaneous Technical":function(t){return t>=8960&&t<=9215},"Control Pictures":function(t){return t>=9216&&t<=9279},"Optical Character Recognition":function(t){return t>=9280&&t<=9311},"Enclosed Alphanumerics":function(t){return t>=9312&&t<=9471},"Geometric Shapes":function(t){return t>=9632&&t<=9727},"Miscellaneous Symbols":function(t){return t>=9728&&t<=9983},"Miscellaneous Symbols and Arrows":function(t){return t>=11008&&t<=11263},"CJK Radicals Supplement":function(t){return t>=11904&&t<=12031},"Kangxi Radicals":function(t){return t>=12032&&t<=12255},"Ideographic Description Characters":function(t){return t>=12272&&t<=12287},"CJK Symbols and Punctuation":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},"Hangul Compatibility Jamo":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},"Bopomofo Extended":function(t){return t>=12704&&t<=12735},"CJK Strokes":function(t){return t>=12736&&t<=12783},"Katakana Phonetic Extensions":function(t){return t>=12784&&t<=12799},"Enclosed CJK Letters and Months":function(t){return t>=12800&&t<=13055},"CJK Compatibility":function(t){return t>=13056&&t<=13311},"CJK Unified Ideographs Extension A":function(t){return t>=13312&&t<=19903},"Yijing Hexagram Symbols":function(t){return t>=19904&&t<=19967},"CJK Unified Ideographs":function(t){return t>=19968&&t<=40959},"Yi Syllables":function(t){return t>=40960&&t<=42127},"Yi Radicals":function(t){return t>=42128&&t<=42191},"Hangul Jamo Extended-A":function(t){return t>=43360&&t<=43391},"Hangul Syllables":function(t){return t>=44032&&t<=55215},"Hangul Jamo Extended-B":function(t){return t>=55216&&t<=55295},"Private Use Area":function(t){return t>=57344&&t<=63743},"CJK Compatibility Ideographs":function(t){return t>=63744&&t<=64255},"Arabic Presentation Forms-A":function(t){return t>=64336&&t<=65023},"Vertical Forms":function(t){return t>=65040&&t<=65055},"CJK Compatibility Forms":function(t){return t>=65072&&t<=65103},"Small Form Variants":function(t){return t>=65104&&t<=65135},"Arabic Presentation Forms-B":function(t){return t>=65136&&t<=65279},"Halfwidth and Fullwidth Forms":function(t){return t>=65280&&t<=65519}};function xr(t){for(var e=0,r=t;e<r.length;e+=1)if(_r(r[e].charCodeAt(0)))return!0;return!1}function br(t){return!(yr.Arabic(t)||yr["Arabic Supplement"](t)||yr["Arabic Extended-A"](t)||yr["Arabic Presentation Forms-A"](t)||yr["Arabic Presentation Forms-B"](t))}function _r(t){return!!(746===t||747===t||!(t<4352)&&(yr["Bopomofo Extended"](t)||yr.Bopomofo(t)||yr["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||yr["CJK Compatibility Ideographs"](t)||yr["CJK Compatibility"](t)||yr["CJK Radicals Supplement"](t)||yr["CJK Strokes"](t)||!(!yr["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||yr["CJK Unified Ideographs Extension A"](t)||yr["CJK Unified Ideographs"](t)||yr["Enclosed CJK Letters and Months"](t)||yr["Hangul Compatibility Jamo"](t)||yr["Hangul Jamo Extended-A"](t)||yr["Hangul Jamo Extended-B"](t)||yr["Hangul Jamo"](t)||yr["Hangul Syllables"](t)||yr.Hiragana(t)||yr["Ideographic Description Characters"](t)||yr.Kanbun(t)||yr["Kangxi Radicals"](t)||yr["Katakana Phonetic Extensions"](t)||yr.Katakana(t)&&12540!==t||!(!yr["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!yr["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||yr["Unified Canadian Aboriginal Syllabics"](t)||yr["Unified Canadian Aboriginal Syllabics Extended"](t)||yr["Vertical Forms"](t)||yr["Yijing Hexagram Symbols"](t)||yr["Yi Syllables"](t)||yr["Yi Radicals"](t)))}function wr(t){return!(_r(t)||function(t){return!!(yr["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||yr["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||yr["Letterlike Symbols"](t)||yr["Number Forms"](t)||yr["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||yr["Control Pictures"](t)&&9251!==t||yr["Optical Character Recognition"](t)||yr["Enclosed Alphanumerics"](t)||yr["Geometric Shapes"](t)||yr["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||yr["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||yr["CJK Symbols and Punctuation"](t)||yr.Katakana(t)||yr["Private Use Area"](t)||yr["CJK Compatibility Forms"](t)||yr["Small Form Variants"](t)||yr["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function kr(t,e){return!(!e&&(t>=1424&&t<=2303||yr["Arabic Presentation Forms-A"](t)||yr["Arabic Presentation Forms-B"](t))||t>=2304&&t<=3583||t>=3840&&t<=4255||yr.Khmer(t))}var Mr,Ar=!1,Tr=null,Sr=!1,Er=new P,Cr={applyArabicShaping:null,processBidirectionalText:null,isLoaded:function(){return Sr||null!=Cr.applyArabicShaping}},Lr=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new vr,this.transition={})};Lr.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;r<n.length;r+=1)if(!kr(n[r].charCodeAt(0),e))return!1;return!0}(t,Cr.isLoaded())},Lr.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)};var zr=function(t,e){this.property=t,this.value=e,this.expression=Se(void 0===e?t.specification.default:e,t.specification)};zr.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},zr.prototype.possiblyEvaluate=function(t){return this.property.possiblyEvaluate(this,t)};var Pr=function(t){this.property=t,this.value=new zr(t,void 0)};Pr.prototype.transitioned=function(t,e){return new Ir(this.property,this.value,e,p({},t.transition,this.transition),t.now)},Pr.prototype.untransitioned=function(){return new Ir(this.property,this.value,null,{},0)};var Or=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};Or.prototype.getValue=function(t){return x(this._values[t].value.value)},Or.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Pr(this._values[t].property)),this._values[t].value=new zr(this._values[t].property,null===e?void 0:x(e))},Or.prototype.getTransition=function(t){return x(this._values[t].transition)},Or.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Pr(this._values[t].property)),this._values[t].transition=x(e)||void 0},Or.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i);var a=this.getTransition(n);void 0!==a&&(t[n+"-transition"]=a)}return t},Or.prototype.transitioned=function(t,e){for(var r=new Dr(this._properties),n=0,i=Object.keys(this._values);n<i.length;n+=1){var a=i[n];r._values[a]=this._values[a].transitioned(t,e._values[a])}return r},Or.prototype.untransitioned=function(){for(var t=new Dr(this._properties),e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e];t._values[n]=this._values[n].untransitioned()}return t};var Ir=function(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r)};Ir.prototype.possiblyEvaluate=function(t){var e=t.now||0,r=this.value.possiblyEvaluate(t),n=this.prior;if(n){if(e>this.end)return this.prior=null,r;if(this.value.isDataDriven())return this.prior=null,r;if(e<this.begin)return n.possiblyEvaluate(t);var i=(e-this.begin)/(this.end-this.begin);return this.property.interpolate(n.possiblyEvaluate(t),r,function(t){if(i<=0)return 0;if(i>=1)return 1;var e=i*i,r=e*i;return 4*(i<.5?r:3*(i-e)+r-.75)}())}return r};var Dr=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Dr.prototype.possiblyEvaluate=function(t){for(var e=new Fr(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var i=n[r];e._values[i]=this._values[i].possiblyEvaluate(t)}return e},Dr.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1){var r=e[t];if(this._values[r].prior)return!0}return!1};var Rr=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)};Rr.prototype.getValue=function(t){return x(this._values[t].value)},Rr.prototype.setValue=function(t,e){this._values[t]=new zr(this._values[t].property,null===e?void 0:x(e))},Rr.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i)}return t},Rr.prototype.possiblyEvaluate=function(t){for(var e=new Fr(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var i=n[r];e._values[i]=this._values[i].possiblyEvaluate(t)}return e};var Br=function(t,e,r){this.property=t,this.value=e,this.globals=r};Br.prototype.isConstant=function(){return"constant"===this.value.kind},Br.prototype.constantOr=function(t){return"constant"===this.value.kind?this.value.value:t},Br.prototype.evaluate=function(t){return this.property.evaluate(this.value,this.globals,t)};var Fr=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)};Fr.prototype.get=function(t){return this._values[t]};var Nr=function(t){this.specification=t};Nr.prototype.possiblyEvaluate=function(t,e){return t.expression.evaluate(e)},Nr.prototype.interpolate=function(t,e,r){var n=kt[this.specification.type];return n?n(t,e,r):t};var jr=function(t){this.specification=t};jr.prototype.possiblyEvaluate=function(t,e){return"constant"===t.expression.kind||"camera"===t.expression.kind?new Br(this,{kind:"constant",value:t.expression.evaluate(e)},e):new Br(this,t.expression,e)},jr.prototype.interpolate=function(t,e,r){if("constant"!==t.value.kind||"constant"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new Br(this,{kind:"constant",value:void 0},t.globals);var n=kt[this.specification.type];return n?new Br(this,{kind:"constant",value:n(t.value.value,e.value.value,r)},t.globals):t},jr.prototype.evaluate=function(t,e,r){return"constant"===t.kind?t.value:t.evaluate(e,r)};var Vr=function(t){this.specification=t};Vr.prototype.possiblyEvaluate=function(t,e){if(void 0!==t.value){if("constant"===t.expression.kind){var r=t.expression.evaluate(e);return this._calculate(r,r,r,e)}return this._calculate(t.expression.evaluate(new Lr(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Lr(Math.floor(e.zoom),e)),t.expression.evaluate(new Lr(Math.floor(e.zoom+1),e)),e)}},Vr.prototype._calculate=function(t,e,r,n){var i=n.zoom,a=i-Math.floor(i),o=n.crossFadingFactor();return i>n.zoomHistory.lastIntegerZoom?{from:t,to:e,fromScale:2,toScale:1,t:a+(1-a)*o}:{from:r,to:e,fromScale:.5,toScale:1,t:1-(1-o)*a}},Vr.prototype.interpolate=function(t){return t};var Ur=function(t){this.specification=t};Ur.prototype.possiblyEvaluate=function(t,e){return!!t.expression.evaluate(e)},Ur.prototype.interpolate=function(){return!1};var qr=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},t){var r=t[e],n=this.defaultPropertyValues[e]=new zr(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Pr(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};pr("DataDrivenProperty",jr),pr("DataConstantProperty",Nr),pr("CrossFadedProperty",Vr),pr("ColorRampProperty",Ur);var Hr=function(t){function e(e,r){for(var n in t.call(this),this.id=e.id,this.metadata=e.metadata,this.type=e.type,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,this.visibility="visible","background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),this._featureFilter=function(){return!0},r.layout&&(this._unevaluatedLayout=new Rr(r.layout)),this._transitionablePaint=new Or(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getLayoutProperty=function(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(null!=e){var n="layers."+this.id+".layout."+t;if(this._validate(or,n,t,e,r))return}"visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility="none"===e?e:"visible"},e.prototype.getPaintProperty=function(t){return m(t,"-transition")?this._transitionablePaint.getTransition(t.slice(0,-"-transition".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(null!=e){var n="layers."+this.id+".paint."+t;if(this._validate(ar,n,t,e,r))return}m(t,"-transition")?this._transitionablePaint.setTransition(t.slice(0,-"-transition".length),e||void 0):this._transitionablePaint.setValue(t,e)},e.prototype.isHidden=function(t){return!!(this.minzoom&&t<this.minzoom)||!!(this.maxzoom&&t>=this.maxzoom)||"none"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t)),this.paint=this._transitioningPaint.possiblyEvaluate(t)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return"none"===this.visibility&&(t.layout=t.layout||{},t.layout.visibility="none"),y(t,function(t,e){return!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)})},e.prototype._validate=function(t,e,r,n,i){return(!i||!1!==i.validate)&&sr(this,t.call(nr,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:O,style:{glyphs:!0,sprite:!0}}))},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e}(P),Gr={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Wr=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Yr=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Xr(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map(function(t){var i,a=(i=t.type,Gr[i].BYTES_PER_ELEMENT),o=r=Zr(r,Math.max(e,a)),s=t.components||1;return n=Math.max(n,a),r+=a*s,{name:t.name,type:t.type,components:s,offset:o}}),size:Zr(r,Math.max(n,e)),alignment:e}}function Zr(t,e){return Math.ceil(t/e)*e}Yr.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Yr.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},Yr.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Yr.prototype.clear=function(){this.length=0},Yr.prototype.resize=function(t){this.reserve(t),this.length=t},Yr.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},Yr.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var $r=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=2*r;return this.int16[n+0]=t,this.int16[n+1]=e,r},e}(Yr);$r.prototype.bytesPerElement=4,pr("StructArrayLayout2i4",$r);var Jr=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;this.resize(i+1);var a=4*i;return this.int16[a+0]=t,this.int16[a+1]=e,this.int16[a+2]=r,this.int16[a+3]=n,i},e}(Yr);Jr.prototype.bytesPerElement=8,pr("StructArrayLayout4i8",Jr);var Kr=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;this.resize(o+1);var s=6*o;return this.int16[s+0]=t,this.int16[s+1]=e,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=i,this.int16[s+5]=a,o},e}(Yr);Kr.prototype.bytesPerElement=12,pr("StructArrayLayout2i4i12",Kr);var Qr=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s){var l=this.length;this.resize(l+1);var c=6*l,u=12*l;return this.int16[c+0]=t,this.int16[c+1]=e,this.int16[c+2]=r,this.int16[c+3]=n,this.uint8[u+8]=i,this.uint8[u+9]=a,this.uint8[u+10]=o,this.uint8[u+11]=s,l},e}(Yr);Qr.prototype.bytesPerElement=12,pr("StructArrayLayout4i4ub12",Qr);var tn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s){var l=this.length;this.resize(l+1);var c=8*l;return this.int16[c+0]=t,this.int16[c+1]=e,this.int16[c+2]=r,this.int16[c+3]=n,this.uint16[c+4]=i,this.uint16[c+5]=a,this.uint16[c+6]=o,this.uint16[c+7]=s,l},e}(Yr);tn.prototype.bytesPerElement=16,pr("StructArrayLayout4i4ui16",tn);var en=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=3*n;return this.float32[i+0]=t,this.float32[i+1]=e,this.float32[i+2]=r,n},e}(Yr);en.prototype.bytesPerElement=12,pr("StructArrayLayout3f12",en);var rn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;this.resize(e+1);var r=1*e;return this.uint32[r+0]=t,e},e}(Yr);rn.prototype.bytesPerElement=4,pr("StructArrayLayout1ul4",rn);var nn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u){var f=this.length;this.resize(f+1);var h=12*f,p=6*f;return this.int16[h+0]=t,this.int16[h+1]=e,this.int16[h+2]=r,this.int16[h+3]=n,this.int16[h+4]=i,this.int16[h+5]=a,this.uint32[p+3]=o,this.uint16[h+8]=s,this.uint16[h+9]=l,this.int16[h+10]=c,this.int16[h+11]=u,f},e}(Yr);nn.prototype.bytesPerElement=24,pr("StructArrayLayout6i1ul2ui2i24",nn);var an=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;this.resize(o+1);var s=6*o;return this.int16[s+0]=t,this.int16[s+1]=e,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=i,this.int16[s+5]=a,o},e}(Yr);an.prototype.bytesPerElement=12,pr("StructArrayLayout2i2i2i12",an);var on=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=4*r;return this.uint8[n+0]=t,this.uint8[n+1]=e,r},e}(Yr);on.prototype.bytesPerElement=4,pr("StructArrayLayout2ub4",on);var sn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p){var d=this.length;this.resize(d+1);var g=20*d,m=10*d,v=40*d;return this.int16[g+0]=t,this.int16[g+1]=e,this.uint16[g+2]=r,this.uint16[g+3]=n,this.uint32[m+2]=i,this.uint32[m+3]=a,this.uint32[m+4]=o,this.uint16[g+10]=s,this.uint16[g+11]=l,this.uint16[g+12]=c,this.float32[m+7]=u,this.float32[m+8]=f,this.uint8[v+36]=h,this.uint8[v+37]=p,d},e}(Yr);sn.prototype.bytesPerElement=40,pr("StructArrayLayout2i2ui3ul3ui2f2ub40",sn);var ln=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;this.resize(e+1);var r=1*e;return this.float32[r+0]=t,e},e}(Yr);ln.prototype.bytesPerElement=4,pr("StructArrayLayout1f4",ln);var cn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=3*n;return this.int16[i+0]=t,this.int16[i+1]=e,this.int16[i+2]=r,n},e}(Yr);cn.prototype.bytesPerElement=6,pr("StructArrayLayout3i6",cn);var un=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=2*n,a=4*n;return this.uint32[i+0]=t,this.uint16[a+2]=e,this.uint16[a+3]=r,n},e}(Yr);un.prototype.bytesPerElement=8,pr("StructArrayLayout1ul2ui8",un);var fn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=3*n;return this.uint16[i+0]=t,this.uint16[i+1]=e,this.uint16[i+2]=r,n},e}(Yr);fn.prototype.bytesPerElement=6,pr("StructArrayLayout3ui6",fn);var hn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=2*r;return this.uint16[n+0]=t,this.uint16[n+1]=e,r},e}(Yr);hn.prototype.bytesPerElement=4,pr("StructArrayLayout2ui4",hn);var pn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=2*r;return this.float32[n+0]=t,this.float32[n+1]=e,r},e}(Yr);pn.prototype.bytesPerElement=8,pr("StructArrayLayout2f8",pn);var dn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;this.resize(i+1);var a=4*i;return this.float32[a+0]=t,this.float32[a+1]=e,this.float32[a+2]=r,this.float32[a+3]=n,i},e}(Yr);dn.prototype.bytesPerElement=16,pr("StructArrayLayout4f16",dn);var gn=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},radius:{configurable:!0},signedDistanceFromAnchor:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorPointY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.x1.set=function(t){this._structArray.int16[this._pos2+2]=t},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.y1.set=function(t){this._structArray.int16[this._pos2+3]=t},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.x2.set=function(t){this._structArray.int16[this._pos2+4]=t},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.y2.set=function(t){this._structArray.int16[this._pos2+5]=t},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+8]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+9]=t},r.radius.get=function(){return this._structArray.int16[this._pos2+10]},r.radius.set=function(t){this._structArray.int16[this._pos2+10]=t},r.signedDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+11]},r.signedDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+11]=t},r.anchorPoint.get=function(){return new l(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Wr);gn.prototype.size=24;var mn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new gn(this,t)},e}(nn);pr("CollisionBoxArray",mn);var vn=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},hidden:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.glyphStartIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.numGlyphs.set=function(t){this._structArray.uint16[this._pos2+3]=t},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.vertexStartIndex.set=function(t){this._structArray.uint32[this._pos4+2]=t},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineStartIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.lineLength.set=function(t){this._structArray.uint32[this._pos4+4]=t},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.segment.set=function(t){this._structArray.uint16[this._pos2+10]=t},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.lowerSize.set=function(t){this._structArray.uint16[this._pos2+11]=t},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.upperSize.set=function(t){this._structArray.uint16[this._pos2+12]=t},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetX.set=function(t){this._structArray.float32[this._pos4+7]=t},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.lineOffsetY.set=function(t){this._structArray.float32[this._pos4+8]=t},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.writingMode.set=function(t){this._structArray.uint8[this._pos1+36]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+37]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+37]=t},Object.defineProperties(e.prototype,r),e}(Wr);vn.prototype.size=40;var yn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new vn(this,t)},e}(sn);pr("PlacedSymbolArray",yn);var xn=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={offsetX:{configurable:!0}};return r.offsetX.get=function(){return this._structArray.float32[this._pos4+0]},r.offsetX.set=function(t){this._structArray.float32[this._pos4+0]=t},Object.defineProperties(e.prototype,r),e}(Wr);xn.prototype.size=4;var bn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e.prototype.get=function(t){return new xn(this,t)},e}(ln);pr("GlyphOffsetArray",bn);var _n=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={x:{configurable:!0},y:{configurable:!0},tileUnitDistanceFromAnchor:{configurable:!0}};return r.x.get=function(){return this._structArray.int16[this._pos2+0]},r.x.set=function(t){this._structArray.int16[this._pos2+0]=t},r.y.get=function(){return this._structArray.int16[this._pos2+1]},r.y.set=function(t){this._structArray.int16[this._pos2+1]=t},r.tileUnitDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+2]},r.tileUnitDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+2]=t},Object.defineProperties(e.prototype,r),e}(Wr);_n.prototype.size=6;var wn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e.prototype.get=function(t){return new _n(this,t)},e}(cn);pr("SymbolLineVertexArray",wn);var kn=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+0]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+3]=t},Object.defineProperties(e.prototype,r),e}(Wr);kn.prototype.size=8;var Mn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new kn(this,t)},e}(un);pr("FeatureIndexArray",Mn);var An=Xr([{name:"a_pos",components:2,type:"Int16"}],4).members,Tn=function(t){void 0===t&&(t=[]),this.segments=t};Tn.prototype.prepareSegment=function(t,e,r){var n=this.segments[this.segments.length-1];return t>Tn.MAX_VERTEX_ARRAY_LENGTH&&_("Max vertices per segment is "+Tn.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!n||n.vertexLength+t>Tn.MAX_VERTEX_ARRAY_LENGTH)&&(n={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},this.segments.push(n)),n},Tn.prototype.get=function(){return this.segments},Tn.prototype.destroy=function(){for(var t=0,e=this.segments;t<e.length;t+=1){var r=e[t];for(var n in r.vaos)r.vaos[n].destroy()}},Tn.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,pr("SegmentVector",Tn);var Sn=function(t,e){return 256*(t=h(Math.floor(t),0,255))+h(Math.floor(e),0,255)};function En(t){return[Sn(255*t.r,255*t.g),Sn(255*t.b,255*t.a)]}var Cn=function(t,e,r){this.value=t,this.name=e,this.type=r,this.statistics={max:-1/0}};Cn.prototype.defines=function(){return["#define HAS_UNIFORM_u_"+this.name]},Cn.prototype.populatePaintArray=function(){},Cn.prototype.upload=function(){},Cn.prototype.destroy=function(){},Cn.prototype.setUniforms=function(t,e,r,n){var i=n.constantOr(this.value),a=t.gl;"color"===this.type?a.uniform4f(e.uniforms["u_"+this.name],i.r,i.g,i.b,i.a):a.uniform1f(e.uniforms["u_"+this.name],i)};var Ln=function(t,e,r){this.expression=t,this.name=e,this.type=r,this.statistics={max:-1/0};var n="color"===r?pn:ln;this.paintVertexAttributes=[{name:"a_"+e,type:"Float32",components:"color"===r?2:1,offset:0}],this.paintVertexArray=new n};Ln.prototype.defines=function(){return[]},Ln.prototype.populatePaintArray=function(t,e){var r=this.paintVertexArray,n=r.length;r.reserve(t);var i=this.expression.evaluate(new Lr(0),e);if("color"===this.type)for(var a=En(i),o=n;o<t;o++)r.emplaceBack(a[0],a[1]);else{for(var s=n;s<t;s++)r.emplaceBack(i);this.statistics.max=Math.max(this.statistics.max,i)}},Ln.prototype.upload=function(t){this.paintVertexArray&&(this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes))},Ln.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},Ln.prototype.setUniforms=function(t,e){t.gl.uniform1f(e.uniforms["a_"+this.name+"_t"],0)};var zn=function(t,e,r,n,i){this.expression=t,this.name=e,this.type=r,this.useIntegerZoom=n,this.zoom=i,this.statistics={max:-1/0};var a="color"===r?dn:pn;this.paintVertexAttributes=[{name:"a_"+e,type:"Float32",components:"color"===r?4:2,offset:0}],this.paintVertexArray=new a};zn.prototype.defines=function(){return[]},zn.prototype.populatePaintArray=function(t,e){var r=this.paintVertexArray,n=r.length;r.reserve(t);var i=this.expression.evaluate(new Lr(this.zoom),e),a=this.expression.evaluate(new Lr(this.zoom+1),e);if("color"===this.type)for(var o=En(i),s=En(a),l=n;l<t;l++)r.emplaceBack(o[0],o[1],s[0],s[1]);else{for(var c=n;c<t;c++)r.emplaceBack(i,a);this.statistics.max=Math.max(this.statistics.max,i,a)}},zn.prototype.upload=function(t){this.paintVertexArray&&(this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes))},zn.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},zn.prototype.interpolationFactor=function(t){return this.useIntegerZoom?this.expression.interpolationFactor(Math.floor(t),this.zoom,this.zoom+1):this.expression.interpolationFactor(t,this.zoom,this.zoom+1)},zn.prototype.setUniforms=function(t,e,r){t.gl.uniform1f(e.uniforms["a_"+this.name+"_t"],this.interpolationFactor(r.zoom))};var Pn=function(){this.binders={},this.cacheKey="",this._buffers=[]};Pn.createDynamic=function(t,e,r){var n=new Pn,i=[];for(var a in t.paint._values)if(r(a)){var o=t.paint.get(a);if(o instanceof Br&&o.property.specification["property-function"]){var s=In(a,t.type),l=o.property.specification.type,c=o.property.useIntegerZoom;"constant"===o.value.kind?(n.binders[a]=new Cn(o.value,s,l),i.push("/u_"+s)):"source"===o.value.kind?(n.binders[a]=new Ln(o.value,s,l),i.push("/a_"+s)):(n.binders[a]=new zn(o.value,s,l,c,e),i.push("/z_"+s))}}return n.cacheKey=i.sort().join(""),n},Pn.prototype.populatePaintArrays=function(t,e){for(var r in this.binders)this.binders[r].populatePaintArray(t,e)},Pn.prototype.defines=function(){var t=[];for(var e in this.binders)t.push.apply(t,this.binders[e].defines());return t},Pn.prototype.setUniforms=function(t,e,r,n){for(var i in this.binders)this.binders[i].setUniforms(t,e,n,r.get(i))},Pn.prototype.getPaintVertexBuffers=function(){return this._buffers},Pn.prototype.upload=function(t){for(var e in this.binders)this.binders[e].upload(t);var r=[];for(var n in this.binders){var i=this.binders[n];(i instanceof Ln||i instanceof zn)&&i.paintVertexBuffer&&r.push(i.paintVertexBuffer)}this._buffers=r},Pn.prototype.destroy=function(){for(var t in this.binders)this.binders[t].destroy()};var On=function(t,e,r,n){void 0===n&&(n=function(){return!0}),this.programConfigurations={};for(var i=0,a=e;i<a.length;i+=1){var o=a[i];this.programConfigurations[o.id]=Pn.createDynamic(o,r,n),this.programConfigurations[o.id].layoutAttributes=t}};function In(t,e){return{"text-opacity":"opacity","icon-opacity":"opacity","text-color":"fill_color","icon-color":"fill_color","text-halo-color":"halo_color","icon-halo-color":"halo_color","text-halo-blur":"halo_blur","icon-halo-blur":"halo_blur","text-halo-width":"halo_width","icon-halo-width":"halo_width","line-gap-width":"gapwidth"}[t]||t.replace(e+"-","").replace(/-/g,"_")}On.prototype.populatePaintArrays=function(t,e){for(var r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(t,e)},On.prototype.get=function(t){return this.programConfigurations[t]},On.prototype.upload=function(t){for(var e in this.programConfigurations)this.programConfigurations[e].upload(t)},On.prototype.destroy=function(){for(var t in this.programConfigurations)this.programConfigurations[t].destroy()},pr("ConstantBinder",Cn),pr("SourceExpressionBinder",Ln),pr("CompositeExpressionBinder",zn),pr("ProgramConfiguration",Pn,{omit:["_buffers"]}),pr("ProgramConfigurationSet",On);var Dn=8192,Rn=(16,{min:-1*Math.pow(2,15),max:Math.pow(2,15)-1});function Bn(t){for(var e=Dn/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++)for(var i=r[n],a=0;a<i.length;a++){var o=i[a];o.x=Math.round(o.x*e),o.y=Math.round(o.y*e),(o.x<Rn.min||o.x>Rn.max||o.y<Rn.min||o.y>Rn.max)&&_("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}function Fn(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var Nn=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new $r,this.indexArray=new fn,this.segments=new Tn,this.programConfigurations=new On(An,t.layers,t.zoom)};function jn(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];if(Zn(i,e))return!0;if(Wn(e,i,r))return!0}return!1}function Vn(t,e){if(1===t.length&&1===t[0].length)return Xn(e,t[0][0]);for(var r=0;r<e.length;r++)for(var n=e[r],i=0;i<n.length;i++)if(Xn(t,n[i]))return!0;for(var a=0;a<t.length;a++){for(var o=t[a],s=0;s<o.length;s++)if(Xn(e,o[s]))return!0;for(var l=0;l<e.length;l++)if(Hn(o,e[l]))return!0}return!1}function Un(t,e,r){for(var n=0;n<e.length;n++)for(var i=e[n],a=0;a<t.length;a++){var o=t[a];if(o.length>=3)for(var s=0;s<i.length;s++)if(Zn(o,i[s]))return!0;if(qn(o,i,r))return!0}return!1}function qn(t,e,r){if(t.length>1){if(Hn(t,e))return!0;for(var n=0;n<e.length;n++)if(Wn(e[n],t,r))return!0}for(var i=0;i<t.length;i++)if(Wn(t[i],e,r))return!0;return!1}function Hn(t,e){if(0===t.length||0===e.length)return!1;for(var r=0;r<t.length-1;r++)for(var n=t[r],i=t[r+1],a=0;a<e.length-1;a++)if(Gn(n,i,e[a],e[a+1]))return!0;return!1}function Gn(t,e,r,n){return w(t,r,n)!==w(e,r,n)&&w(t,e,r)!==w(t,e,n)}function Wn(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var i=1;i<e.length;i++)if(Yn(t,e[i-1],e[i])<n)return!0;return!1}function Yn(t,e,r){var n=e.distSqr(r);if(0===n)return t.distSqr(e);var i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return i<0?t.distSqr(e):i>1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function Xn(t,e){for(var r,n,i,a=!1,o=0;o<t.length;o++)for(var s=0,l=(r=t[o]).length-1;s<r.length;l=s++)n=r[s],i=r[l],n.y>e.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Zn(t,e){for(var r=!1,n=0,i=t.length-1;n<t.length;i=n++){var a=t[n],o=t[i];a.y>e.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function $n(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).binders[t].statistics.max}function Jn(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Kn(t,e,r,n,i){if(!e[0]&&!e[1])return t;var a=l.convert(e);"viewport"===r&&a._rotate(-n);for(var o=[],s=0;s<t.length;s++){for(var c=t[s],u=[],f=0;f<c.length;f++)u.push(c[f].sub(a._mult(i)));o.push(u)}return o}Nn.prototype.populate=function(t,e){for(var r=0,n=t;r<n.length;r+=1){var i=n[r],a=i.feature,o=i.index,s=i.sourceLayerIndex;if(this.layers[0]._featureFilter(new Lr(this.zoom),a)){var l=Bn(a);this.addFeature(a,l),e.featureIndex.insert(a,l,o,s,this.index)}}},Nn.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Nn.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,An),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},Nn.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Nn.prototype.addFeature=function(t,e){for(var r=0,n=e;r<n.length;r+=1)for(var i=0,a=n[r];i<a.length;i+=1){var o=a[i],s=o.x,l=o.y;if(!(s<0||s>=Dn||l<0||l>=Dn)){var c=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),u=c.vertexLength;Fn(this.layoutVertexArray,s,l,-1,-1),Fn(this.layoutVertexArray,s,l,1,-1),Fn(this.layoutVertexArray,s,l,1,1),Fn(this.layoutVertexArray,s,l,-1,1),this.indexArray.emplaceBack(u,u+1,u+2),this.indexArray.emplaceBack(u,u+3,u+2),c.vertexLength+=4,c.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},pr("CircleBucket",Nn,{omit:["layers"]});var Qn={paint:new qr({"circle-radius":new jr(O.paint_circle["circle-radius"]),"circle-color":new jr(O.paint_circle["circle-color"]),"circle-blur":new jr(O.paint_circle["circle-blur"]),"circle-opacity":new jr(O.paint_circle["circle-opacity"]),"circle-translate":new Nr(O.paint_circle["circle-translate"]),"circle-translate-anchor":new Nr(O.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new Nr(O.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new Nr(O.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new jr(O.paint_circle["circle-stroke-width"]),"circle-stroke-color":new jr(O.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new jr(O.paint_circle["circle-stroke-opacity"])})},ti=i(function(t,e){var r;t.exports=((r=new Float32Array(3))[0]=0,r[1]=0,r[2]=0,function(){var t=new Float32Array(4);t[0]=0,t[1]=0,t[2]=0,t[3]=0}(),{vec3:{transformMat3:function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},vec4:{transformMat4:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},mat2:{create:function(){var t=new Float32Array(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},rotate:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+a*s,t[1]=i*l+o*s,t[2]=n*-s+a*l,t[3]=i*-s+o*l,t},scale:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1];return t[0]=n*s,t[1]=i*s,t[2]=a*l,t[3]=o*l,t}},mat3:{create:function(){var t=new Float32Array(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},fromRotation:function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}},mat4:{create:function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},identity:function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},translate:function(t,e,r){var n,i,a,o,s,l,c,u,f,h,p,d,g=r[0],m=r[1],v=r[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*v+e[12],t[13]=e[1]*g+e[5]*m+e[9]*v+e[13],t[14]=e[2]*g+e[6]*m+e[10]*v+e[14],t[15]=e[3]*g+e[7]*m+e[11]*v+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*g+s*m+f*v+e[12],t[13]=i*g+l*m+h*v+e[13],t[14]=a*g+c*m+p*v+e[14],t[15]=o*g+u*m+d*v+e[15]),t},scale:function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},multiply:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],g=e[12],m=e[13],v=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*g,t[1]=x*i+b*l+_*h+w*m,t[2]=x*a+b*c+_*p+w*v,t[3]=x*o+b*u+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*g,t[5]=x*i+b*l+_*h+w*m,t[6]=x*a+b*c+_*p+w*v,t[7]=x*o+b*u+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*g,t[9]=x*i+b*l+_*h+w*m,t[10]=x*a+b*c+_*p+w*v,t[11]=x*o+b*u+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*g,t[13]=x*i+b*l+_*h+w*m,t[14]=x*a+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t},perspective:function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t},rotateX:function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t},rotateZ:function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t},invert:function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=e[9],h=e[10],p=e[11],d=e[12],g=e[13],m=e[14],v=e[15],y=r*s-n*o,x=r*l-i*o,b=r*c-a*o,_=n*l-i*s,w=n*c-a*s,k=i*c-a*l,M=u*g-f*d,A=u*m-h*d,T=u*v-p*d,S=f*m-h*g,E=f*v-p*g,C=h*v-p*m,L=y*C-x*E+b*S+_*T-w*A+k*M;return L?(L=1/L,t[0]=(s*C-l*E+c*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(g*k-m*w+v*_)*L,t[3]=(h*w-f*k-p*_)*L,t[4]=(l*T-o*C-c*A)*L,t[5]=(r*C-i*T+a*A)*L,t[6]=(m*b-d*k-v*x)*L,t[7]=(u*k-h*b+p*x)*L,t[8]=(o*E-s*T+c*M)*L,t[9]=(n*T-r*E-a*M)*L,t[10]=(d*w-g*b+v*y)*L,t[11]=(f*b-u*w-p*y)*L,t[12]=(s*A-o*S-l*M)*L,t[13]=(r*S-n*A+i*M)*L,t[14]=(g*x-d*_-m*y)*L,t[15]=(u*_-f*x+h*y)*L,t):null},ortho:function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),c=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*c,t[15]=1,t}}})}),ei=(ti.vec3,ti.vec4),ri=(ti.mat2,ti.mat3,ti.mat4),ni=function(t){function e(e){t.call(this,e,Qn)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new Nn(t)},e.prototype.queryRadius=function(t){var e=t;return $n("circle-radius",this,e)+$n("circle-stroke-width",this,e)+Jn(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o){for(var s=Kn(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),i.angle,a),l=this.paint.get("circle-radius").evaluate(e)+this.paint.get("circle-stroke-width").evaluate(e),c="map"===this.paint.get("circle-pitch-alignment"),u=c?s:function(t,e,r){return s.map(function(t){return t.map(function(t){return ii(t,e,r)})})}(0,o,i),f=c?l*a:l,h=0,p=r;h<p.length;h+=1)for(var d=0,g=p[h];d<g.length;d+=1){var m=g[d],v=c?m:ii(m,o,i),y=f,x=ei.transformMat4([],[m.x,m.y,0,1],o);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?y*=x[3]/i.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(y*=i.cameraToCenterDistance/x[3]),jn(u,v,y))return!0}return!1},e}(Hr);function ii(t,e,r){var n=ei.transformMat4([],[t.x,t.y,0,1],e);return new l((n[0]/n[3]+1)*r.width*.5,(n[1]/n[3]+1)*r.height*.5)}var ai=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Nn);function oi(t,e,r,n){var i=e.width,a=e.height;if(n){if(n.length!==i*a*r)throw new RangeError("mismatched image size")}else n=new Uint8Array(i*a*r);return t.width=i,t.height=a,t.data=n,t}function si(t,e,r){var n=e.width,i=e.height;if(n!==t.width||i!==t.height){var a=oi({},{width:n,height:i},r);li(t,a,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,n),height:Math.min(t.height,i)},r),t.width=n,t.height=i,t.data=a.data}}function li(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=t.data,s=e.data,l=0;l<i.height;l++)for(var c=((r.y+l)*t.width+r.x)*a,u=((n.y+l)*e.width+n.x)*a,f=0;f<i.width*a;f++)s[u+f]=o[c+f];return e}pr("HeatmapBucket",ai,{omit:["layers"]});var ci=function(t,e){oi(this,t,1,e)};ci.prototype.resize=function(t){si(this,t,1)},ci.prototype.clone=function(){return new ci({width:this.width,height:this.height},new Uint8Array(this.data))},ci.copy=function(t,e,r,n,i){li(t,e,r,n,i,1)};var ui=function(t,e){oi(this,t,4,e)};ui.prototype.resize=function(t){si(this,t,4)},ui.prototype.clone=function(){return new ui({width:this.width,height:this.height},new Uint8Array(this.data))},ui.copy=function(t,e,r,n,i){li(t,e,r,n,i,4)},pr("AlphaImage",ci),pr("RGBAImage",ui);var fi={paint:new qr({"heatmap-radius":new jr(O.paint_heatmap["heatmap-radius"]),"heatmap-weight":new jr(O.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new Nr(O.paint_heatmap["heatmap-intensity"]),"heatmap-color":new Ur(O.paint_heatmap["heatmap-color"]),"heatmap-opacity":new Nr(O.paint_heatmap["heatmap-opacity"])})};function hi(t,e){for(var r=new Uint8Array(1024),n={},i=0,a=0;i<256;i++,a+=4){n[e]=i/255;var o=t.evaluate(n);r[a+0]=Math.floor(255*o.r/o.a),r[a+1]=Math.floor(255*o.g/o.a),r[a+2]=Math.floor(255*o.b/o.a),r[a+3]=Math.floor(255*o.a)}return new ui({width:256,height:1},r)}var pi=function(t){function e(e){t.call(this,e,fi),this._updateColorRamp()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new ai(t)},e.prototype.setPaintProperty=function(e,r,n){t.prototype.setPaintProperty.call(this,e,r,n),"heatmap-color"===e&&this._updateColorRamp()},e.prototype._updateColorRamp=function(){var t=this._transitionablePaint._values["heatmap-color"].value.expression;this.colorRamp=hi(t,"heatmapDensity"),this.colorRampTexture=null},e.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("heatmap-opacity")&&"none"!==this.visibility},e}(Hr),di={paint:new qr({"hillshade-illumination-direction":new Nr(O.paint_hillshade["hillshade-illumination-direction"]),"hillshade-illumination-anchor":new Nr(O.paint_hillshade["hillshade-illumination-anchor"]),"hillshade-exaggeration":new Nr(O.paint_hillshade["hillshade-exaggeration"]),"hillshade-shadow-color":new Nr(O.paint_hillshade["hillshade-shadow-color"]),"hillshade-highlight-color":new Nr(O.paint_hillshade["hillshade-highlight-color"]),"hillshade-accent-color":new Nr(O.paint_hillshade["hillshade-accent-color"])})},gi=function(t){function e(e){t.call(this,e,di)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("hillshade-exaggeration")&&"none"!==this.visibility},e}(Hr),mi=Xr([{name:"a_pos",components:2,type:"Int16"}],4).members,vi=xi,yi=xi;function xi(t,e,r){r=r||2;var n,i,a,o,s,l,c,u=e&&e.length,f=u?e[0]*r:t.length,h=bi(t,0,f,r,!0),p=[];if(!h)return p;if(u&&(h=function(t,e,r,n){var i,a,o,s=[];for(i=0,a=e.length;i<a;i++)(o=bi(t,e[i]*n,i<a-1?e[i+1]*n:t.length,n,!1))===o.next&&(o.steiner=!0),s.push(Li(o));for(s.sort(Si),i=0;i<s.length;i++)Ei(s[i],r),r=_i(r,r.next);return r}(t,e,h,r)),t.length>80*r){n=a=t[0],i=o=t[1];for(var d=r;d<f;d+=r)(s=t[d])<n&&(n=s),(l=t[d+1])<i&&(i=l),s>a&&(a=s),l>o&&(o=l);c=0!==(c=Math.max(a-n,o-i))?1/c:0}return wi(h,p,r,n,i,c),p}function bi(t,e,r,n,i){var a,o;if(i===Vi(t,e,r,n)>0)for(a=e;a<r;a+=n)o=Fi(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=Fi(a,t[a],t[a+1],o);return o&&Ii(o,o.next)&&(Ni(o),o=o.next),o}function _i(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!Ii(n,n.next)&&0!==Oi(n.prev,n,n.next))n=n.next;else{if(Ni(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function wi(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=Ci(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,c=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?Mi(t,n,i,a):ki(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),Ni(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?wi(t=Ai(t,e,r),e,r,n,i,a,2):2===o&&Ti(t,e,r,n,i,a):wi(_i(t),e,r,n,i,a,1);break}}}function ki(t){var e=t.prev,r=t,n=t.next;if(Oi(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(zi(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&Oi(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function Mi(t,e,r,n){var i=t.prev,a=t,o=t.next;if(Oi(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,c=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=Ci(s,l,e,r,n),h=Ci(c,u,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=f&&d&&d.z<=h;){if(p!==t.prev&&p!==t.next&&zi(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&Oi(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&zi(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&Oi(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&zi(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&Oi(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=h;){if(d!==t.prev&&d!==t.next&&zi(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&Oi(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function Ai(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!Ii(i,a)&&Di(i,n,n.next,a)&&Ri(i,a)&&Ri(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),Ni(n),Ni(n.next),n=t=a),n=n.next}while(n!==t);return n}function Ti(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&Pi(o,s)){var l=Bi(o,s);return o=_i(o,o.next),l=_i(l,l.next),wi(o,e,r,n,i,a),void wi(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function Si(t,e){return t.x-e.x}function Ei(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(i===o)return r.prev;var l,c=r,u=r.x,f=r.y,h=1/0;for(n=r.next;n!==c;)i>=n.x&&n.x>=u&&i!==n.x&&zi(a<f?i:o,a,u,f,a<f?o:i,a,n.x,n.y)&&((l=Math.abs(a-n.y)/(i-n.x))<h||l===h&&n.x>r.x)&&Ri(n,t)&&(r=n,h=l),n=n.next;return r}(t,e)){var r=Bi(e,t);_i(r,r.next)}}function Ci(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Li(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function zi(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function Pi(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&Di(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&Ri(t,e)&&Ri(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)}function Oi(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Ii(t,e){return t.x===e.x&&t.y===e.y}function Di(t,e,r,n){return!!(Ii(t,e)&&Ii(r,n)||Ii(t,n)&&Ii(r,e))||Oi(t,e,r)>0!=Oi(t,e,n)>0&&Oi(r,n,t)>0!=Oi(r,n,e)>0}function Ri(t,e){return Oi(t.prev,t,t.next)<0?Oi(t,e,t.next)>=0&&Oi(t,t.prev,e)>=0:Oi(t,e,t.prev)<0||Oi(t,t.next,e)<0}function Bi(t,e){var r=new ji(t.i,t.x,t.y),n=new ji(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function Fi(t,e,r,n){var i=new ji(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Ni(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function ji(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Vi(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}xi.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(Vi(t,0,a,r));if(i)for(var s=0,l=e.length;s<l;s++){var c=e[s]*r,u=s<l-1?e[s+1]*r:t.length;o-=Math.abs(Vi(t,c,u,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;f+=Math.abs((t[h]-t[d])*(t[p+1]-t[h+1])-(t[h]-t[p])*(t[d+1]-t[h+1]))}return 0===o&&0===f?0:Math.abs((f-o)/o)},xi.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r},vi.default=yi;var Ui=Hi,qi=Hi;function Hi(t,e,r,n,i){!function t(e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);t(e,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(i,Math.floor(r+(o-s)*c/o+u)),a)}var f=e[r],h=n,p=i;for(Gi(e,n,r),a(e[i],f)>0&&Gi(e,n,i);h<p;){for(Gi(e,h,p),h++,p--;a(e[h],f)<0;)h++;for(;a(e[p],f)>0;)p--}0===a(e[n],f)?Gi(e,n,p):Gi(e,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}(t,e,r||0,n||t.length-1,i||Wi)}function Gi(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Wi(t,e){return t<e?-1:t>e?1:0}function Yi(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o<r;o++){var s=k(t[o]);0!==s&&(t[o].area=Math.abs(s),void 0===i&&(i=s<0),i===s<0?(n&&a.push(n),n=[t[o]]):n.push(t[o]))}if(n&&a.push(n),e>1)for(var l=0;l<a.length;l++)a[l].length<=e||(Ui(a[l],e,1,a[l].length-1,Xi),a[l]=a[l].slice(0,e));return a}function Xi(t,e){return e.area-t.area}Ui.default=qi;var Zi=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new $r,this.indexArray=new fn,this.indexArray2=new hn,this.programConfigurations=new On(mi,t.layers,t.zoom),this.segments=new Tn,this.segments2=new Tn};Zi.prototype.populate=function(t,e){for(var r=0,n=t;r<n.length;r+=1){var i=n[r],a=i.feature,o=i.index,s=i.sourceLayerIndex;if(this.layers[0]._featureFilter(new Lr(this.zoom),a)){var l=Bn(a);this.addFeature(a,l),e.featureIndex.insert(a,l,o,s,this.index)}}},Zi.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Zi.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,mi),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2),this.programConfigurations.upload(t)},Zi.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},Zi.prototype.addFeature=function(t,e){for(var r=0,n=Yi(e,500);r<n.length;r+=1){for(var i=n[r],a=0,o=0,s=i;o<s.length;o+=1)a+=s[o].length;for(var l=this.segments.prepareSegment(a,this.layoutVertexArray,this.indexArray),c=l.vertexLength,u=[],f=[],h=0,p=i;h<p.length;h+=1){var d=p[h];if(0!==d.length){d!==i[0]&&f.push(u.length/2);var g=this.segments2.prepareSegment(d.length,this.layoutVertexArray,this.indexArray2),m=g.vertexLength;this.layoutVertexArray.emplaceBack(d[0].x,d[0].y),this.indexArray2.emplaceBack(m+d.length-1,m),u.push(d[0].x),u.push(d[0].y);for(var v=1;v<d.length;v++)this.layoutVertexArray.emplaceBack(d[v].x,d[v].y),this.indexArray2.emplaceBack(m+v-1,m+v),u.push(d[v].x),u.push(d[v].y);g.vertexLength+=d.length,g.primitiveLength+=d.length}}for(var y=vi(u,f),x=0;x<y.length;x+=3)this.indexArray.emplaceBack(c+y[x],c+y[x+1],c+y[x+2]);l.vertexLength+=a,l.primitiveLength+=y.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},pr("FillBucket",Zi,{omit:["layers"]});var $i={paint:new qr({"fill-antialias":new Nr(O.paint_fill["fill-antialias"]),"fill-opacity":new jr(O.paint_fill["fill-opacity"]),"fill-color":new jr(O.paint_fill["fill-color"]),"fill-outline-color":new jr(O.paint_fill["fill-outline-color"]),"fill-translate":new Nr(O.paint_fill["fill-translate"]),"fill-translate-anchor":new Nr(O.paint_fill["fill-translate-anchor"]),"fill-pattern":new Vr(O.paint_fill["fill-pattern"])})},Ji=function(t){function e(e){t.call(this,e,$i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(t){this.paint=this._transitioningPaint.possiblyEvaluate(t);var e=this.paint._values["fill-outline-color"];"constant"===e.value.kind&&void 0===e.value.value&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])},e.prototype.createBucket=function(t){return new Zi(t)},e.prototype.queryRadius=function(){return Jn(this.paint.get("fill-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a){return Vn(Kn(t,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),i.angle,a),r)},e}(Hr),Ki=Xr([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal_ed",components:4,type:"Int16"}],4).members,Qi=Math.pow(2,13);function ta(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*Qi)+o,i*Qi*2,a*Qi*2,Math.round(s))}var ea=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new Kr,this.indexArray=new fn,this.programConfigurations=new On(Ki,t.layers,t.zoom),this.segments=new Tn};function ra(t,e){return t.x===e.x&&(t.x<0||t.x>Dn)||t.y===e.y&&(t.y<0||t.y>Dn)}function na(t){return t.every(function(t){return t.x<0})||t.every(function(t){return t.x>Dn})||t.every(function(t){return t.y<0})||t.every(function(t){return t.y>Dn})}ea.prototype.populate=function(t,e){for(var r=0,n=t;r<n.length;r+=1){var i=n[r],a=i.feature,o=i.index,s=i.sourceLayerIndex;if(this.layers[0]._featureFilter(new Lr(this.zoom),a)){var l=Bn(a);this.addFeature(a,l),e.featureIndex.insert(a,l,o,s,this.index)}}},ea.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ea.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ki),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},ea.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},ea.prototype.addFeature=function(t,e){for(var r=0,n=Yi(e,500);r<n.length;r+=1){for(var i=n[r],a=0,o=0,s=i;o<s.length;o+=1)a+=s[o].length;for(var l=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),c=0,u=i;c<u.length;c+=1){var f=u[c];if(0!==f.length&&!na(f))for(var h=0,p=0;p<f.length;p++){var d=f[p];if(p>=1){var g=f[p-1];if(!ra(d,g)){l.vertexLength+4>Tn.MAX_VERTEX_ARRAY_LENGTH&&(l=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var m=d.sub(g)._perp()._unit(),v=g.dist(d);h+v>32768&&(h=0),ta(this.layoutVertexArray,d.x,d.y,m.x,m.y,0,0,h),ta(this.layoutVertexArray,d.x,d.y,m.x,m.y,0,1,h),h+=v,ta(this.layoutVertexArray,g.x,g.y,m.x,m.y,0,0,h),ta(this.layoutVertexArray,g.x,g.y,m.x,m.y,0,1,h);var y=l.vertexLength;this.indexArray.emplaceBack(y,y+1,y+2),this.indexArray.emplaceBack(y+1,y+2,y+3),l.vertexLength+=4,l.primitiveLength+=2}}}}l.vertexLength+a>Tn.MAX_VERTEX_ARRAY_LENGTH&&(l=this.segments.prepareSegment(a,this.layoutVertexArray,this.indexArray));for(var x=[],b=[],_=l.vertexLength,w=0,k=i;w<k.length;w+=1){var M=k[w];if(0!==M.length){M!==i[0]&&b.push(x.length/2);for(var A=0;A<M.length;A++){var T=M[A];ta(this.layoutVertexArray,T.x,T.y,0,0,1,1,0),x.push(T.x),x.push(T.y)}}}for(var S=vi(x,b),E=0;E<S.length;E+=3)this.indexArray.emplaceBack(_+S[E],_+S[E+1],_+S[E+2]);l.primitiveLength+=S.length/3,l.vertexLength+=a}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},pr("FillExtrusionBucket",ea,{omit:["layers"]});var ia={paint:new qr({"fill-extrusion-opacity":new Nr(O["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new jr(O["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Nr(O["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Nr(O["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Vr(O["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new jr(O["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new jr(O["paint_fill-extrusion"]["fill-extrusion-base"])})},aa=function(t){function e(e){t.call(this,e,ia)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new ea(t)},e.prototype.queryRadius=function(){return Jn(this.paint.get("fill-extrusion-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a){return Vn(Kn(t,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),i.angle,a),r)},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("fill-extrusion-opacity")&&"none"!==this.visibility},e.prototype.resize=function(){this.viewportFrame&&(this.viewportFrame.destroy(),this.viewportFrame=null)},e}(Hr),oa=Xr([{name:"a_pos_normal",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}],4).members,sa=la;function la(t,e,r,n,i){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=i,t.readFields(ca,this,e)}function ca(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){for(var r=t.readVarint()+t.pos;t.pos<r;){var n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function ua(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],n+=((r=t[o]).x-e.x)*(e.y+r.y);return n}la.types=["Unknown","Point","LineString","Polygon"],la.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,a=0,o=0,s=[];t.pos<r;){if(i<=0){var c=t.readVarint();n=7&c,i=c>>3}if(i--,1===n||2===n)a+=t.readSVarint(),o+=t.readSVarint(),1===n&&(e&&s.push(e),e=[]),e.push(new l(a,o));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&s.push(e),s},la.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos<e;){if(n<=0){var u=t.readVarint();r=7&u,n=u>>3}if(n--,1===r||2===r)(i+=t.readSVarint())<o&&(o=i),i>s&&(s=i),(a+=t.readSVarint())<l&&(l=a),a>c&&(c=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,c]},la.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=la.types[this.type];function u(t){for(var e=0;e<t.length;e++){var r=t[e],n=180-360*(r.y+s)/a;t[e]=[360*(r.x+o)/a-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}switch(this.type){case 1:var f=[];for(n=0;n<l.length;n++)f[n]=l[n][0];u(l=f);break;case 2:for(n=0;n<l.length;n++)u(l[n]);break;case 3:for(l=function(t){var e=t.length;if(e<=1)return[t];for(var r,n,i=[],a=0;a<e;a++){var o=ua(t[a]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(r&&i.push(r),r=[t[a]]):r.push(t[a]))}return r&&i.push(r),i}(l),n=0;n<l.length;n++)for(i=0;i<l[n].length;i++)u(l[n][i])}1===l.length?l=l[0]:c="Multi"+c;var h={type:"Feature",geometry:{type:c,coordinates:l},properties:this.properties};return"id"in this&&(h.id=this.id),h};var fa=ha;function ha(t,e){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(pa,this,e),this.length=this._features.length}function pa(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():5===t?e.extent=r.readVarint():2===t?e._features.push(r.pos):3===t?e._keys.push(r.readString()):4===t&&e._values.push(function(t){for(var e=null,r=t.readVarint()+t.pos;t.pos<r;){var n=t.readVarint()>>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function da(t,e,r){if(3===t){var n=new fa(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}ha.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new sa(this._pbf,e,this.extent,this._keys,this._values)};var ga={VectorTile:function(t,e){this.layers=t.readFields(da,{},e)},VectorTileFeature:sa,VectorTileLayer:fa},ma=ga.VectorTileFeature.types,va=63,ya=Math.cos(Math.PI/180*37.5),xa=.5,ba=Math.pow(2,14)/xa;function _a(t,e,r,n,i,a,o){t.emplaceBack(e.x,e.y,n?1:0,i?1:-1,Math.round(va*r.x)+128,Math.round(va*r.y)+128,1+(0===a?0:a<0?-1:1)|(o*xa&63)<<2,o*xa>>6)}var wa=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new Qr,this.indexArray=new fn,this.programConfigurations=new On(oa,t.layers,t.zoom),this.segments=new Tn};function ka(t,e){return(t/e.tileTotal*(e.end-e.start)+e.start)*(ba-1)}wa.prototype.populate=function(t,e){for(var r=0,n=t;r<n.length;r+=1){var i=n[r],a=i.feature,o=i.index,s=i.sourceLayerIndex;if(this.layers[0]._featureFilter(new Lr(this.zoom),a)){var l=Bn(a);this.addFeature(a,l),e.featureIndex.insert(a,l,o,s,this.index)}}},wa.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},wa.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,oa),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},wa.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},wa.prototype.addFeature=function(t,e){for(var r=this.layers[0].layout,n=r.get("line-join").evaluate(t),i=r.get("line-cap"),a=r.get("line-miter-limit"),o=r.get("line-round-limit"),s=0,l=e;s<l.length;s+=1){var c=l[s];this.addLine(c,t,n,i,a,o)}},wa.prototype.addLine=function(t,e,r,n,i,a){var o=null;e.properties&&e.properties.hasOwnProperty("mapbox_clip_start")&&e.properties.hasOwnProperty("mapbox_clip_end")&&(o={start:e.properties.mapbox_clip_start,end:e.properties.mapbox_clip_end,tileTotal:void 0});for(var s="Polygon"===ma[e.type],l=t.length;l>=2&&t[l-1].equals(t[l-2]);)l--;for(var c=0;c<l-1&&t[c].equals(t[c+1]);)c++;if(!(l<(s?3:2))){o&&(o.tileTotal=function(t,e,r){for(var n,i,a=0,o=c;o<r-1;o++)n=t[o],i=t[o+1],a+=n.dist(i);return a}(t,0,l)),"bevel"===r&&(i=1.05);var u=Dn/(512*this.overscaling)*15,f=t[c],h=this.segments.prepareSegment(10*l,this.layoutVertexArray,this.indexArray);this.distance=0;var p,d,g,m=n,v=s?"butt":n,y=!0,x=void 0,b=void 0,_=void 0,w=void 0;this.e1=this.e2=this.e3=-1,s&&(p=t[l-2],w=f.sub(p)._unit()._perp());for(var k=c;k<l;k++)if(!(b=s&&k===l-1?t[c+1]:t[k+1])||!t[k].equals(b)){w&&(_=w),p&&(x=p),p=t[k],w=b?b.sub(p)._unit()._perp():_;var M=(_=_||w).add(w);0===M.x&&0===M.y||M._unit();var A=M.x*w.x+M.y*w.y,T=0!==A?1/A:1/0,S=A<ya&&x&&b;if(S&&k>c){var E=p.dist(x);if(E>2*u){var C=p.sub(p.sub(x)._mult(u/E)._round());this.distance+=C.dist(x),this.addCurrentVertex(C,this.distance,_.mult(1),0,0,!1,h,o),x=C}}var L=x&&b,z=L?r:b?m:v;if(L&&"round"===z&&(T<a?z="miter":T<=2&&(z="fakeround")),"miter"===z&&T>i&&(z="bevel"),"bevel"===z&&(T>2&&(z="flipbevel"),T<i&&(z="miter")),x&&(this.distance+=p.dist(x)),"miter"===z)M._mult(T),this.addCurrentVertex(p,this.distance,M,0,0,!1,h,o);else if("flipbevel"===z){if(T>100)M=w.clone().mult(-1);else{var P=_.x*w.y-_.y*w.x>0?-1:1,O=T*_.add(w).mag()/_.sub(w).mag();M._perp()._mult(O*P)}this.addCurrentVertex(p,this.distance,M,0,0,!1,h,o),this.addCurrentVertex(p,this.distance,M.mult(-1),0,0,!1,h,o)}else if("bevel"===z||"fakeround"===z){var I=_.x*w.y-_.y*w.x>0,D=-Math.sqrt(T*T-1);if(I?(g=0,d=D):(d=0,g=D),y||this.addCurrentVertex(p,this.distance,_,d,g,!1,h,o),"fakeround"===z){for(var R=Math.floor(8*(.5-(A-.5))),B=void 0,F=0;F<R;F++)B=w.mult((F+1)/(R+1))._add(_)._unit(),this.addPieSliceVertex(p,this.distance,B,I,h,o);this.addPieSliceVertex(p,this.distance,M,I,h,o);for(var N=R-1;N>=0;N--)B=_.mult((N+1)/(R+1))._add(w)._unit(),this.addPieSliceVertex(p,this.distance,B,I,h,o)}b&&this.addCurrentVertex(p,this.distance,w,-d,-g,!1,h,o)}else"butt"===z?(y||this.addCurrentVertex(p,this.distance,_,0,0,!1,h,o),b&&this.addCurrentVertex(p,this.distance,w,0,0,!1,h,o)):"square"===z?(y||(this.addCurrentVertex(p,this.distance,_,1,1,!1,h,o),this.e1=this.e2=-1),b&&this.addCurrentVertex(p,this.distance,w,-1,-1,!1,h,o)):"round"===z&&(y||(this.addCurrentVertex(p,this.distance,_,0,0,!1,h,o),this.addCurrentVertex(p,this.distance,_,1,1,!0,h,o),this.e1=this.e2=-1),b&&(this.addCurrentVertex(p,this.distance,w,-1,-1,!0,h,o),this.addCurrentVertex(p,this.distance,w,0,0,!1,h,o)));if(S&&k<l-1){var j=p.dist(b);if(j>2*u){var V=p.add(b.sub(p)._mult(u/j)._round());this.distance+=V.dist(p),this.addCurrentVertex(V,this.distance,w.mult(1),0,0,!1,h,o),p=V}}y=!1}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e)}},wa.prototype.addCurrentVertex=function(t,e,r,n,i,a,o,s){var l,c=this.layoutVertexArray,u=this.indexArray;s&&(e=ka(e,s)),l=r.clone(),n&&l._sub(r.perp()._mult(n)),_a(c,t,l,a,!1,n,e),this.e3=o.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),o.primitiveLength++),this.e1=this.e2,this.e2=this.e3,l=r.mult(-1),i&&l._sub(r.perp()._mult(i)),_a(c,t,l,a,!0,-i,e),this.e3=o.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),o.primitiveLength++),this.e1=this.e2,this.e2=this.e3,e>ba/2&&!s&&(this.distance=0,this.addCurrentVertex(t,this.distance,r,n,i,a,o))},wa.prototype.addPieSliceVertex=function(t,e,r,n,i,a){r=r.mult(n?-1:1);var o=this.layoutVertexArray,s=this.indexArray;a&&(e=ka(e,a)),_a(o,t,r,!1,n,0,e),this.e3=i.vertexLength++,this.e1>=0&&this.e2>=0&&(s.emplaceBack(this.e1,this.e2,this.e3),i.primitiveLength++),n?this.e2=this.e3:this.e1=this.e3},pr("LineBucket",wa,{omit:["layers"]});var Ma=new qr({"line-cap":new Nr(O.layout_line["line-cap"]),"line-join":new jr(O.layout_line["line-join"]),"line-miter-limit":new Nr(O.layout_line["line-miter-limit"]),"line-round-limit":new Nr(O.layout_line["line-round-limit"])}),Aa={paint:new qr({"line-opacity":new jr(O.paint_line["line-opacity"]),"line-color":new jr(O.paint_line["line-color"]),"line-translate":new Nr(O.paint_line["line-translate"]),"line-translate-anchor":new Nr(O.paint_line["line-translate-anchor"]),"line-width":new jr(O.paint_line["line-width"]),"line-gap-width":new jr(O.paint_line["line-gap-width"]),"line-offset":new jr(O.paint_line["line-offset"]),"line-blur":new jr(O.paint_line["line-blur"]),"line-dasharray":new Vr(O.paint_line["line-dasharray"]),"line-pattern":new Vr(O.paint_line["line-pattern"]),"line-gradient":new Ur(O.paint_line["line-gradient"])}),layout:Ma},Ta=new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new Lr(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n)},e}(jr))(Aa.paint.properties["line-width"].specification);Ta.useIntegerZoom=!0;var Sa=function(t){function e(e){t.call(this,e,Aa)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setPaintProperty=function(e,r,n){t.prototype.setPaintProperty.call(this,e,r,n),"line-gradient"===e&&this._updateGradient()},e.prototype._updateGradient=function(){var t=this._transitionablePaint._values["line-gradient"].value.expression;this.gradient=hi(t,"lineProgress"),this.gradientTexture=null},e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),this.paint._values["line-floorwidth"]=Ta.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new wa(t)},e.prototype.queryRadius=function(t){var e=t,r=Ea($n("line-width",this,e),$n("line-gap-width",this,e)),n=$n("line-offset",this,e);return r/2+Math.abs(n)+Jn(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a){var o=Kn(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),i.angle,a),s=a/2*Ea(this.paint.get("line-width").evaluate(e),this.paint.get("line-gap-width").evaluate(e)),c=this.paint.get("line-offset").evaluate(e);return c&&(r=function(t,e){for(var r=[],n=new l(0,0),i=0;i<t.length;i++){for(var a=t[i],o=[],s=0;s<a.length;s++){var c=a[s-1],u=a[s],f=a[s+1],h=0===s?n:u.sub(c)._unit()._perp(),p=s===a.length-1?n:f.sub(u)._unit()._perp(),d=h._add(p)._unit(),g=d.x*p.x+d.y*p.y;d._mult(1/g),o.push(d._mult(e)._add(u))}r.push(o)}return r}(r,c*a)),Un(o,r,s)},e}(Hr);function Ea(t,e){return e>0?e+2*t:t}var Ca=Xr([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"}]),La=Xr([{name:"a_projected_pos",components:3,type:"Float32"}],4),za=(Xr([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),Xr([{name:"a_placed",components:2,type:"Uint8"}],4)),Pa=(Xr([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"},{type:"Int16",name:"radius"},{type:"Int16",name:"signedDistanceFromAnchor"}]),Xr([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),Oa=Xr([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4);function Ia(t,e,r){var n=e.layout.get("text-transform").evaluate(r);return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),Cr.applyArabicShaping&&(t=Cr.applyArabicShaping(t)),t}Xr([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"hidden"}]),Xr([{type:"Float32",name:"offsetX"}]),Xr([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var Da={"!":"\ufe15","#":"\uff03",$:"\uff04","%":"\uff05","&":"\uff06","(":"\ufe35",")":"\ufe36","*":"\uff0a","+":"\uff0b",",":"\ufe10","-":"\ufe32",".":"\u30fb","/":"\uff0f",":":"\ufe13",";":"\ufe14","<":"\ufe3f","=":"\uff1d",">":"\ufe40","?":"\ufe16","@":"\uff20","[":"\ufe47","\\":"\uff3c","]":"\ufe48","^":"\uff3e",_:"\ufe33","`":"\uff40","{":"\ufe37","|":"\u2015","}":"\ufe38","~":"\uff5e","\xa2":"\uffe0","\xa3":"\uffe1","\xa5":"\uffe5","\xa6":"\uffe4","\xac":"\uffe2","\xaf":"\uffe3","\u2013":"\ufe32","\u2014":"\ufe31","\u2018":"\ufe43","\u2019":"\ufe44","\u201c":"\ufe41","\u201d":"\ufe42","\u2026":"\ufe19","\u2027":"\u30fb","\u20a9":"\uffe6","\u3001":"\ufe11","\u3002":"\ufe12","\u3008":"\ufe3f","\u3009":"\ufe40","\u300a":"\ufe3d","\u300b":"\ufe3e","\u300c":"\ufe41","\u300d":"\ufe42","\u300e":"\ufe43","\u300f":"\ufe44","\u3010":"\ufe3b","\u3011":"\ufe3c","\u3014":"\ufe39","\u3015":"\ufe3a","\u3016":"\ufe17","\u3017":"\ufe18","\uff01":"\ufe15","\uff08":"\ufe35","\uff09":"\ufe36","\uff0c":"\ufe10","\uff0d":"\ufe32","\uff0e":"\u30fb","\uff1a":"\ufe13","\uff1b":"\ufe14","\uff1c":"\ufe3f","\uff1e":"\ufe40","\uff1f":"\ufe16","\uff3b":"\ufe47","\uff3d":"\ufe48","\uff3f":"\ufe33","\uff5b":"\ufe37","\uff5c":"\u2015","\uff5d":"\ufe38","\uff5f":"\ufe35","\uff60":"\ufe36","\uff61":"\ufe12","\uff62":"\ufe41","\uff63":"\ufe42"},Ra=function(t){function e(e,r,n,i){t.call(this,e,r),this.angle=n,void 0!==i&&(this.segment=i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(l);function Ba(t,e){var r=e.expression;if("constant"===r.kind)return{functionType:"constant",layoutSize:r.evaluate(new Lr(t+1))};if("source"===r.kind)return{functionType:"source"};for(var n=r.zoomStops,i=0;i<n.length&&n[i]<=t;)i++;for(var a=i=Math.max(0,i-1);a<n.length&&n[a]<t+1;)a++;a=Math.min(n.length-1,a);var o={min:n[i],max:n[a]};return"composite"===r.kind?{functionType:"composite",zoomRange:o,propertyValue:e.value}:{functionType:"camera",layoutSize:r.evaluate(new Lr(t+1)),zoomRange:o,sizeRange:{min:r.evaluate(new Lr(o.min)),max:r.evaluate(new Lr(o.max))},propertyValue:e.value}}pr("Anchor",Ra);var Fa=ga.VectorTileFeature.types,Na=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function ja(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,Math.round(32*n),Math.round(32*i),a,o,s?s[0]:0,s?s[1]:0)}function Va(t,e,r){t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r)}var Ua=function(t){this.layoutVertexArray=new tn,this.indexArray=new fn,this.programConfigurations=t,this.segments=new Tn,this.dynamicLayoutVertexArray=new en,this.opacityVertexArray=new rn,this.placedSymbolArray=new yn};Ua.prototype.upload=function(t,e){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ca.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.programConfigurations.upload(t),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,La.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,Na,!0),this.opacityVertexBuffer.itemSize=1},Ua.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},pr("SymbolBuffers",Ua);var qa=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new Tn,this.collisionVertexArray=new on};qa.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,za.members,!0)},qa.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},pr("CollisionBuffers",qa);var Ha=function(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex;var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Ba(this.zoom,e["text-size"]),this.iconSizeData=Ba(this.zoom,e["icon-size"]);var r=this.layers[0].layout;this.sortFeaturesByY=r.get("text-allow-overlap")||r.get("icon-allow-overlap")||r.get("text-ignore-placement")||r.get("icon-ignore-placement")};Ha.prototype.createArrays=function(){this.text=new Ua(new On(Ca.members,this.layers,this.zoom,function(t){return/^text/.test(t)})),this.icon=new Ua(new On(Ca.members,this.layers,this.zoom,function(t){return/^icon/.test(t)})),this.collisionBox=new qa(an,Pa.members,hn),this.collisionCircle=new qa(an,Oa.members,fn),this.glyphOffsetArray=new bn,this.lineVertexArray=new wn},Ha.prototype.populate=function(t,e){var r=this.layers[0],n=r.layout,i=n.get("text-font"),a=n.get("text-field"),o=n.get("icon-image"),s=("constant"!==a.value.kind||a.value.value.length>0)&&("constant"!==i.value.kind||i.value.value.length>0),l="constant"!==o.value.kind||o.value.value&&o.value.value.length>0;if(this.features=[],s||l){for(var c=e.iconDependencies,u=e.glyphDependencies,f=new Lr(this.zoom),h=0,p=t;h<p.length;h+=1){var d=p[h],g=d.feature,m=d.index,v=d.sourceLayerIndex;if(r._featureFilter(f,g)){var y=void 0;s&&(y=Ia(y=r.getValueAndResolveTokens("text-field",g),r,g));var x=void 0;if(l&&(x=r.getValueAndResolveTokens("icon-image",g)),y||x){var b={text:y,icon:x,index:m,sourceLayerIndex:v,geometry:Bn(g),properties:g.properties,type:Fa[g.type]};if(void 0!==g.id&&(b.id=g.id),this.features.push(b),x&&(c[x]=!0),y)for(var _=i.evaluate(g).join(","),w=u[_]=u[_]||{},k="map"===n.get("text-rotation-alignment")&&"line"===n.get("symbol-placement"),M=xr(y),A=0;A<y.length;A++)if(w[y.charCodeAt(A)]=!0,k&&M){var T=Da[y.charAt(A)];T&&(w[T.charCodeAt(0)]=!0)}}}}"line"===n.get("symbol-placement")&&(this.features=function(t){var e={},r={},n=[],i=0;function a(e){n.push(t[e]),i++}function o(t,e,i){var a=r[t];return delete r[t],r[e]=a,n[a].geometry[0].pop(),n[a].geometry[0]=n[a].geometry[0].concat(i[0]),a}function s(t,r,i){var a=e[r];return delete e[r],e[t]=a,n[a].geometry[0].shift(),n[a].geometry[0]=i[0].concat(n[a].geometry[0]),a}function l(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+":"+n.x+":"+n.y}for(var c=0;c<t.length;c++){var u=t[c],f=u.geometry,h=u.text;if(h){var p=l(h,f),d=l(h,f,!0);if(p in r&&d in e&&r[p]!==e[d]){var g=s(p,d,f),m=o(p,d,n[g].geometry);delete e[p],delete r[d],r[l(h,n[m].geometry,!0)]=m,n[g].geometry=null}else p in r?o(p,d,f):d in e?s(p,d,f):(a(c),e[p]=i-1,r[d]=i-1)}else a(c)}return n.filter(function(t){return t.geometry})}(this.features))}},Ha.prototype.isEmpty=function(){return 0===this.symbolInstances.length},Ha.prototype.upload=function(t){this.text.upload(t,this.sortFeaturesByY),this.icon.upload(t,this.sortFeaturesByY),this.collisionBox.upload(t),this.collisionCircle.upload(t)},Ha.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.collisionBox.destroy(),this.collisionCircle.destroy()},Ha.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),i=t.dist(e[t.segment]),a={},o=t.segment+1;o<e.length;o++)a[o]={x:e[o].x,y:e[o].y,tileUnitDistanceFromAnchor:n},o<e.length-1&&(n+=e[o+1].dist(e[o]));for(var s=t.segment||0;s>=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l<e.length;l++){var c=a[l];this.lineVertexArray.emplaceBack(c.x,c.y,c.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},Ha.prototype.addSymbols=function(t,e,r,n,i,a,o,s,l,c){for(var u=t.indexArray,f=t.layoutVertexArray,h=t.dynamicLayoutVertexArray,p=t.segments.prepareSegment(4*e.length,t.layoutVertexArray,t.indexArray),d=this.glyphOffsetArray.length,g=p.vertexLength,m=0,v=e;m<v.length;m+=1){var y=v[m],x=y.tl,b=y.tr,_=y.bl,w=y.br,k=y.tex,M=p.vertexLength,A=y.glyphOffset[1];ja(f,s.x,s.y,x.x,A+x.y,k.x,k.y,r),ja(f,s.x,s.y,b.x,A+b.y,k.x+k.w,k.y,r),ja(f,s.x,s.y,_.x,A+_.y,k.x,k.y+k.h,r),ja(f,s.x,s.y,w.x,A+w.y,k.x+k.w,k.y+k.h,r),Va(h,s,0),u.emplaceBack(M,M+1,M+2),u.emplaceBack(M+1,M+2,M+3),p.vertexLength+=4,p.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(y.glyphOffset[0])}t.placedSymbolArray.emplaceBack(s.x,s.y,d,this.glyphOffsetArray.length-d,g,l,c,s.segment,r?r[0]:0,r?r[1]:0,n[0],n[1],o,!1),t.programConfigurations.populatePaintArrays(t.layoutVertexArray.length,a)},Ha.prototype._addCollisionDebugVertex=function(t,e,r,n,i){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n.x,n.y,Math.round(i.x),Math.round(i.y))},Ha.prototype.addCollisionDebugVertices=function(t,e,r,n,i,a,o,s){var c=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),u=c.vertexLength,f=i.layoutVertexArray,h=i.collisionVertexArray;if(this._addCollisionDebugVertex(f,h,a,o.anchor,new l(t,e)),this._addCollisionDebugVertex(f,h,a,o.anchor,new l(r,e)),this._addCollisionDebugVertex(f,h,a,o.anchor,new l(r,n)),this._addCollisionDebugVertex(f,h,a,o.anchor,new l(t,n)),c.vertexLength+=4,s){var p=i.indexArray;p.emplaceBack(u,u+1,u+2),p.emplaceBack(u,u+2,u+3),c.primitiveLength+=2}else{var d=i.indexArray;d.emplaceBack(u,u+1),d.emplaceBack(u+1,u+2),d.emplaceBack(u+2,u+3),d.emplaceBack(u+3,u),c.primitiveLength+=4}},Ha.prototype.generateCollisionDebugBuffers=function(){for(var t=0,e=this.symbolInstances;t<e.length;t+=1){var r=e[t];r.textCollisionFeature={boxStartIndex:r.textBoxStartIndex,boxEndIndex:r.textBoxEndIndex},r.iconCollisionFeature={boxStartIndex:r.iconBoxStartIndex,boxEndIndex:r.iconBoxEndIndex};for(var n=0;n<2;n++){var i=r[0===n?"textCollisionFeature":"iconCollisionFeature"];if(i)for(var a=i.boxStartIndex;a<i.boxEndIndex;a++){var o=this.collisionBoxArray.get(a),s=o.x1,l=o.y1,c=o.x2,u=o.y2,f=o.radius>0;this.addCollisionDebugVertices(s,l,c,u,f?this.collisionCircle:this.collisionBox,o.anchorPoint,r,f)}}}},Ha.prototype.deserializeCollisionBoxes=function(t,e,r,n,i){for(var a={},o=e;o<r;o++){var s=t.get(o);if(0===s.radius){a.textBox={x1:s.x1,y1:s.y1,x2:s.x2,y2:s.y2,anchorPointX:s.anchorPointX,anchorPointY:s.anchorPointY},a.textFeatureIndex=s.featureIndex;break}a.textCircles||(a.textCircles=[],a.textFeatureIndex=s.featureIndex),a.textCircles.push(s.anchorPointX,s.anchorPointY,s.radius,s.signedDistanceFromAnchor,1)}for(var l=n;l<i;l++){var c=t.get(l);if(0===c.radius){a.iconBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},a.iconFeatureIndex=c.featureIndex;break}}return a},Ha.prototype.hasTextData=function(){return this.text.segments.get().length>0},Ha.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Ha.prototype.hasCollisionBoxData=function(){return this.collisionBox.segments.get().length>0},Ha.prototype.hasCollisionCircleData=function(){return this.collisionCircle.segments.get().length>0},Ha.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&(this.sortedAngle=t,!(this.text.segments.get().length>1||this.icon.segments.get().length>1))){for(var r=[],n=0;n<this.symbolInstances.length;n++)r.push(n);var i=Math.sin(t),a=Math.cos(t);r.sort(function(t,r){var n=e.symbolInstances[t],o=e.symbolInstances[r];return(i*n.anchor.x+a*n.anchor.y|0)-(i*o.anchor.x+a*o.anchor.y|0)||o.featureIndex-n.featureIndex}),this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var o=0,s=r;o<s.length;o+=1){var l=s[o],c=e.symbolInstances[l];e.featureSortOrder.push(c.featureIndex);for(var u=0,f=c.placedTextSymbolIndices;u<f.length;u+=1)for(var h=f[u],p=e.text.placedSymbolArray.get(h),d=p.vertexStartIndex+4*p.numGlyphs,g=p.vertexStartIndex;g<d;g+=4)e.text.indexArray.emplaceBack(g,g+1,g+2),e.text.indexArray.emplaceBack(g+1,g+2,g+3);var m=e.icon.placedSymbolArray.get(l);if(m.numGlyphs){var v=m.vertexStartIndex;e.icon.indexArray.emplaceBack(v,v+1,v+2),e.icon.indexArray.emplaceBack(v+1,v+2,v+3)}}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},pr("SymbolBucket",Ha,{omit:["layers","collisionBoxArray","features","compareText"],shallow:["symbolInstances"]}),Ha.MAX_GLYPHS=65535,Ha.addDynamicAttributes=Va;var Ga=new qr({"symbol-placement":new Nr(O.layout_symbol["symbol-placement"]),"symbol-spacing":new Nr(O.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Nr(O.layout_symbol["symbol-avoid-edges"]),"icon-allow-overlap":new Nr(O.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new Nr(O.layout_symbol["icon-ignore-placement"]),"icon-optional":new Nr(O.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Nr(O.layout_symbol["icon-rotation-alignment"]),"icon-size":new jr(O.layout_symbol["icon-size"]),"icon-text-fit":new Nr(O.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Nr(O.layout_symbol["icon-text-fit-padding"]),"icon-image":new jr(O.layout_symbol["icon-image"]),"icon-rotate":new jr(O.layout_symbol["icon-rotate"]),"icon-padding":new Nr(O.layout_symbol["icon-padding"]),"icon-keep-upright":new Nr(O.layout_symbol["icon-keep-upright"]),"icon-offset":new jr(O.layout_symbol["icon-offset"]),"icon-anchor":new jr(O.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Nr(O.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Nr(O.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Nr(O.layout_symbol["text-rotation-alignment"]),"text-field":new jr(O.layout_symbol["text-field"]),"text-font":new jr(O.layout_symbol["text-font"]),"text-size":new jr(O.layout_symbol["text-size"]),"text-max-width":new jr(O.layout_symbol["text-max-width"]),"text-line-height":new Nr(O.layout_symbol["text-line-height"]),"text-letter-spacing":new jr(O.layout_symbol["text-letter-spacing"]),"text-justify":new jr(O.layout_symbol["text-justify"]),"text-anchor":new jr(O.layout_symbol["text-anchor"]),"text-max-angle":new Nr(O.layout_symbol["text-max-angle"]),"text-rotate":new jr(O.layout_symbol["text-rotate"]),"text-padding":new Nr(O.layout_symbol["text-padding"]),"text-keep-upright":new Nr(O.layout_symbol["text-keep-upright"]),"text-transform":new jr(O.layout_symbol["text-transform"]),"text-offset":new jr(O.layout_symbol["text-offset"]),"text-allow-overlap":new Nr(O.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new Nr(O.layout_symbol["text-ignore-placement"]),"text-optional":new Nr(O.layout_symbol["text-optional"])}),Wa={paint:new qr({"icon-opacity":new jr(O.paint_symbol["icon-opacity"]),"icon-color":new jr(O.paint_symbol["icon-color"]),"icon-halo-color":new jr(O.paint_symbol["icon-halo-color"]),"icon-halo-width":new jr(O.paint_symbol["icon-halo-width"]),"icon-halo-blur":new jr(O.paint_symbol["icon-halo-blur"]),"icon-translate":new Nr(O.paint_symbol["icon-translate"]),"icon-translate-anchor":new Nr(O.paint_symbol["icon-translate-anchor"]),"text-opacity":new jr(O.paint_symbol["text-opacity"]),"text-color":new jr(O.paint_symbol["text-color"]),"text-halo-color":new jr(O.paint_symbol["text-halo-color"]),"text-halo-width":new jr(O.paint_symbol["text-halo-width"]),"text-halo-blur":new jr(O.paint_symbol["text-halo-blur"]),"text-translate":new Nr(O.paint_symbol["text-translate"]),"text-translate-anchor":new Nr(O.paint_symbol["text-translate-anchor"])}),layout:Ga},Ya=function(t){function e(e){t.call(this,e,Wa)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),"auto"===this.layout.get("icon-rotation-alignment")&&("line"===this.layout.get("symbol-placement")?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-rotation-alignment")&&("line"===this.layout.get("symbol-placement")?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment"))},e.prototype.getValueAndResolveTokens=function(t,e){var r,n=this.layout.get(t).evaluate(e),i=this._unevaluatedLayout._values[t];return i.isDataDriven()||_e(i.value)?n:(r=e.properties,n.replace(/{([^{}]+)}/g,function(t,e){return e in r?String(r[e]):""}))},e.prototype.createBucket=function(t){return new Ha(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e}(Hr),Xa={paint:new qr({"background-color":new Nr(O.paint_background["background-color"]),"background-pattern":new Vr(O.paint_background["background-pattern"]),"background-opacity":new Nr(O.paint_background["background-opacity"])})},Za=function(t){function e(e){t.call(this,e,Xa)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Hr),$a={paint:new qr({"raster-opacity":new Nr(O.paint_raster["raster-opacity"]),"raster-hue-rotate":new Nr(O.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Nr(O.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Nr(O.paint_raster["raster-brightness-max"]),"raster-saturation":new Nr(O.paint_raster["raster-saturation"]),"raster-contrast":new Nr(O.paint_raster["raster-contrast"]),"raster-fade-duration":new Nr(O.paint_raster["raster-fade-duration"])})},Ja={circle:ni,heatmap:pi,hillshade:gi,fill:Ji,"fill-extrusion":aa,line:Sa,symbol:Ya,background:Za,raster:function(t){function e(e){t.call(this,e,$a)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Hr)},Ka=i(function(t,e){t.exports=function(){function t(t,e,r){r=r||{},this.w=t||64,this.h=e||64,this.autoResize=!!r.autoResize,this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0}function e(t,e,r){this.x=0,this.y=t,this.w=this.free=e,this.h=r}return t.prototype.pack=function(t,e){t=[].concat(t),e=e||{};for(var r,n,i,a,o=[],s=0;s<t.length;s++)if(r=t[s].w||t[s].width,n=t[s].h||t[s].height,i=t[s].id,r&&n){if(!(a=this.packOne(r,n,i)))continue;e.inPlace&&(t[s].x=a.x,t[s].y=a.y,t[s].id=a.id),o.push(a)}return this.shrink(),o},t.prototype.packOne=function(t,r,n){var i,a,o,s,l,c,u,f,h={freebin:-1,shelf:-1,waste:1/0},p=0;if("string"==typeof n||"number"==typeof n){if(i=this.getBin(n))return this.ref(i),i;"number"==typeof n&&(this.maxId=Math.max(n,this.maxId))}else n=++this.maxId;for(s=0;s<this.freebins.length;s++){if(r===(i=this.freebins[s]).maxh&&t===i.maxw)return this.allocFreebin(s,t,r,n);r>i.maxh||t>i.maxw||r<=i.maxh&&t<=i.maxw&&(o=i.maxw*i.maxh-t*r)<h.waste&&(h.waste=o,h.freebin=s)}for(s=0;s<this.shelves.length;s++)if(p+=(a=this.shelves[s]).h,!(t>a.free)){if(r===a.h)return this.allocShelf(s,t,r,n);r>a.h||r<a.h&&(o=(a.h-r)*t)<h.waste&&(h.freebin=-1,h.waste=o,h.shelf=s)}return-1!==h.freebin?this.allocFreebin(h.freebin,t,r,n):-1!==h.shelf?this.allocShelf(h.shelf,t,r,n):r<=this.h-p&&t<=this.w?(a=new e(p,this.w,r),this.allocShelf(this.shelves.push(a)-1,t,r,n)):this.autoResize?(l=c=this.h,((u=f=this.w)<=l||t>u)&&(f=2*Math.max(t,u)),(l<u||r>l)&&(c=2*Math.max(r,l)),this.resize(f,c),this.packOne(t,r,n)):null},t.prototype.allocFreebin=function(t,e,r,n){var i=this.freebins.splice(t,1)[0];return i.id=n,i.w=e,i.h=r,i.refcount=0,this.bins[n]=i,this.ref(i),i},t.prototype.allocShelf=function(t,e,r,n){var i=this.shelves[t].alloc(e,r,n);return this.bins[n]=i,this.ref(i),i},t.prototype.shrink=function(){if(this.shelves.length>0){for(var t=0,e=0,r=0;r<this.shelves.length;r++){var n=this.shelves[r];e+=n.h,t=Math.max(n.w-n.free,t)}this.resize(t,e)}},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1==++t.refcount){var e=t.h;this.stats[e]=1+(0|this.stats[e])}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0==--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var r=0;r<this.shelves.length;r++)this.shelves[r].resize(t);return!0},e.prototype.alloc=function(t,e,r){if(t>this.free||e>this.h)return null;var n=this.x;return this.x+=t,this.free-=t,new function(t,e,r,n,i,a,o){this.id=t,this.x=e,this.y=r,this.w=n,this.h=i,this.maxw=a||n,this.maxh=o||i,this.refcount=0}(r,n,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t}()}),Qa=function(t,e){var r=e.pixelRatio;this.paddedRect=t,this.pixelRatio=r},to={tl:{configurable:!0},br:{configurable:!0},displaySize:{configurable:!0}};to.tl.get=function(){return[this.paddedRect.x+1,this.paddedRect.y+1]},to.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},to.displaySize.get=function(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(Qa.prototype,to);var eo=function(t){var e=new ui({width:0,height:0}),r={},n=new Ka(0,0,{autoResize:!0});for(var i in t){var a=t[i],o=n.packOne(a.data.width+2,a.data.height+2);e.resize({width:n.w,height:n.h}),ui.copy(a.data,e,{x:0,y:0},{x:o.x+1,y:o.y+1},a.data),r[i]=new Qa(o,a)}n.shrink(),e.resize({width:n.w,height:n.h}),this.image=e,this.positions=r};pr("ImagePosition",Qa),pr("ImageAtlas",eo);var ro=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,c=l>>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},no=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<<c)-1,f=u>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,c+=i;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g},io=ao;function ao(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}function oo(t){return t.type===ao.Bytes?t.readVarint()+t.pos:t.pos+1}function so(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function lo(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.ceil(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function co(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function uo(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function fo(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function ho(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function po(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function go(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function mo(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function vo(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function yo(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function xo(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function bo(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function _o(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}ao.Varint=0,ao.Fixed64=1,ao.Bytes=2,ao.Fixed32=5,ao.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=xo(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=_o(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=xo(this.buf,this.pos)+4294967296*xo(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=xo(this.buf,this.pos)+4294967296*_o(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=ro(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=ro(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return so(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return so(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return so(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return so(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return so(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return so(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=function(t,e,r){for(var n="",i=e;i<r;){var a,o,s,l=t[i],c=null,u=l>239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=t[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){var r=oo(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=7&t;if(e===ao.Varint)for(;this.buf[this.pos++]>127;);else if(e===ao.Bytes)this.pos=this.readVarint()+this.pos;else if(e===ao.Fixed32)this.pos+=4;else{if(e!==ao.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),bo(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),bo(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),bo(this.buf,-1&t,this.pos),bo(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),bo(this.buf,-1&t,this.pos),bo(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(t){(t=+t||0)>268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a<e.length;a++){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&lo(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),no(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),no(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&lo(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,ao.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){this.writeMessage(t,co,e)},writePackedSVarint:function(t,e){this.writeMessage(t,uo,e)},writePackedBoolean:function(t,e){this.writeMessage(t,po,e)},writePackedFloat:function(t,e){this.writeMessage(t,fo,e)},writePackedDouble:function(t,e){this.writeMessage(t,ho,e)},writePackedFixed32:function(t,e){this.writeMessage(t,go,e)},writePackedSFixed32:function(t,e){this.writeMessage(t,mo,e)},writePackedFixed64:function(t,e){this.writeMessage(t,vo,e)},writePackedSFixed64:function(t,e){this.writeMessage(t,yo,e)},writeBytesField:function(t,e){this.writeTag(t,ao.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,ao.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,ao.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,ao.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,ao.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,ao.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,ao.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,ao.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,ao.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,ao.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var wo=3;function ko(t,e,r){1===t&&r.readMessage(Mo,e)}function Mo(t,e,r){if(3===t){var n=r.readMessage(Ao,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,c=n.top,u=n.advance;e.push({id:i,bitmap:new ci({width:o+2*wo,height:s+2*wo},a),metrics:{width:o,height:s,left:l,top:c,advance:u}})}}function Ao(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}var To=wo,So=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.callbackID=0,g(["receive"],this),this.target.addEventListener("message",this.receive,!1)};So.prototype.send=function(t,e,r,n){var i=r?this.mapId+":"+this.callbackID++:null;r&&(this.callbacks[i]=r);var a=[];this.target.postMessage({targetMapId:n,sourceMapId:this.mapId,type:t,id:String(i),data:gr(e,a)},a)},So.prototype.receive=function(t){var e,r=this,n=t.data,i=n.id;if(!n.targetMapId||this.mapId===n.targetMapId){var a=function(t,e){var n=[];r.target.postMessage({sourceMapId:r.mapId,type:"<response>",id:String(i),error:t?gr(t):null,data:gr(e,n)},n)};if("<response>"===n.type)e=this.callbacks[n.id],delete this.callbacks[n.id],e&&n.error?e(mr(n.error)):e&&e(null,mr(n.data));else if(void 0!==n.id&&this.parent[n.type])this.parent[n.type](n.sourceMapId,mr(n.data),a);else if(void 0!==n.id&&this.parent.getWorkerSource){var o=n.type.split(".");this.parent.getWorkerSource(n.sourceMapId,o[0],o[1])[o[2]](mr(n.data),a)}else this.parent[n.type](mr(n.data))}},So.prototype.remove=function(){this.target.removeEventListener("message",this.receive,!1)};var Eo=n(i(function(t,e){!function(t){function e(t,e,n){var i=r(256*t,256*(e=Math.pow(2,n)-e-1),n),a=r(256*(t+1),256*(e+1),n);return i[0]+","+i[1]+","+a[0]+","+a[1]}function r(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}t.getURL=function(t,r,n,i,a,o){return o=o||{},t+"?"+["bbox="+e(n,i,a),"format="+(o.format||"image/png"),"service="+(o.service||"WMS"),"version="+(o.version||"1.1.1"),"request="+(o.request||"GetMap"),"srs="+(o.srs||"EPSG:3857"),"width="+(o.width||256),"height="+(o.height||256),"layers="+r].join("&")},t.getTileBBox=e,t.getMercCoords=r,Object.defineProperty(t,"__esModule",{value:!0})}(e)})),Co=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Po(0,t,e,r)};Co.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Co.prototype.url=function(t,e){var r=Eo.getTileBBox(this.x,this.y,this.z),n=function(t,e,r){for(var n,i="",a=t;a>0;a--)i+=(e&(n=1<<a-1)?1:0)+(r&n?2:0);return i}(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace("{prefix}",(this.x%16).toString(16)+(this.y%16).toString(16)).replace("{z}",String(this.z)).replace("{x}",String(this.x)).replace("{y}",String("tms"===e?Math.pow(2,this.z)-this.y-1:this.y)).replace("{quadkey}",n).replace("{bbox-epsg-3857}",r)};var Lo=function(t,e){this.wrap=t,this.canonical=e,this.key=Po(t,e.z,e.x,e.y)},zo=function(t,e,r,n,i){this.overscaledZ=t,this.wrap=e,this.canonical=new Co(r,+n,+i),this.key=Po(e,t,n,i)};function Po(t,e,r,n){(t*=2)<0&&(t=-1*t-1);var i=1<<e;return 32*(i*i*t+i*n+r)+e}zo.prototype.equals=function(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)},zo.prototype.scaledTo=function(t){var e=this.canonical.z-t;return t>this.canonical.z?new zo(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new zo(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},zo.prototype.isChildOf=function(t){var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ<this.overscaledZ&&t.canonical.x===this.canonical.x>>e&&t.canonical.y===this.canonical.y>>e},zo.prototype.children=function(t){if(this.overscaledZ>=t)return[new zo(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new zo(e,this.wrap,e,r,n),new zo(e,this.wrap,e,r+1,n),new zo(e,this.wrap,e,r,n+1),new zo(e,this.wrap,e,r+1,n+1)]},zo.prototype.isLessThan=function(t){return this.wrap<t.wrap||!(this.wrap>t.wrap)&&(this.overscaledZ<t.overscaledZ||!(this.overscaledZ>t.overscaledZ)&&(this.canonical.x<t.canonical.x||!(this.canonical.x>t.canonical.x)&&this.canonical.y<t.canonical.y))},zo.prototype.wrapped=function(){return new zo(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},zo.prototype.unwrapTo=function(t){return new zo(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)},zo.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},zo.prototype.toUnwrapped=function(){return new Lo(this.wrap,this.canonical)},zo.prototype.toString=function(){return this.overscaledZ+"/"+this.canonical.x+"/"+this.canonical.y},zo.prototype.toCoordinate=function(){return new s(this.canonical.x+Math.pow(2,this.wrap),this.canonical.y,this.canonical.z)},pr("CanonicalTileID",Co),pr("OverscaledTileID",zo,{omit:["posMatrix"]});var Oo=function(t,e,r){if(t<=0)throw new RangeError("Level must have positive dimension");this.dim=t,this.border=e,this.stride=this.dim+2*this.border,this.data=r||new Int32Array((this.dim+2*this.border)*(this.dim+2*this.border))};Oo.prototype.set=function(t,e,r){this.data[this._idx(t,e)]=r+65536},Oo.prototype.get=function(t,e){return this.data[this._idx(t,e)]-65536},Oo.prototype._idx=function(t,e){if(t<-this.border||t>=this.dim+this.border||e<-this.border||e>=this.dim+this.border)throw new RangeError("out of range source coordinates for DEM data");return(e+this.border)*this.stride+(t+this.border)},pr("Level",Oo);var Io=function(t,e,r){this.uid=t,this.scale=e||1,this.level=r||new Oo(256,512),this.loaded=!!r};Io.prototype.loadFromImage=function(t,e){if(t.height!==t.width)throw new RangeError("DEM tiles must be square");if(e&&"mapbox"!==e&&"terrarium"!==e)return _('"'+e+'" is not a valid encoding type. Valid types include "mapbox" and "terrarium".');var r=this.level=new Oo(t.width,t.width/2),n=t.data;this._unpackData(r,n,e||"mapbox");for(var i=0;i<r.dim;i++)r.set(-1,i,r.get(0,i)),r.set(r.dim,i,r.get(r.dim-1,i)),r.set(i,-1,r.get(i,0)),r.set(i,r.dim,r.get(i,r.dim-1));r.set(-1,-1,r.get(0,0)),r.set(r.dim,-1,r.get(r.dim-1,0)),r.set(-1,r.dim,r.get(0,r.dim-1)),r.set(r.dim,r.dim,r.get(r.dim-1,r.dim-1)),this.loaded=!0},Io.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Io.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Io.prototype._unpackData=function(t,e,r){for(var n={mapbox:this._unpackMapbox,terrarium:this._unpackTerrarium}[r],i=0;i<t.dim;i++)for(var a=0;a<t.dim;a++){var o=4*(i*t.dim+a);t.set(a,i,this.scale*n(e[o],e[o+1],e[o+2]))}},Io.prototype.getPixels=function(){return new ui({width:this.level.dim+2*this.level.border,height:this.level.dim+2*this.level.border},new Uint8Array(this.level.data.buffer))},Io.prototype.backfillBorder=function(t,e,r){var n=this.level,i=t.level;if(n.dim!==i.dim)throw new Error("level mismatch (dem dimension)");var a=e*n.dim,o=e*n.dim+n.dim,s=r*n.dim,l=r*n.dim+n.dim;switch(e){case-1:a=o-1;break;case 1:o=a+1}switch(r){case-1:s=l-1;break;case 1:l=s+1}for(var c=h(a,-n.border,n.dim+n.border),u=h(o,-n.border,n.dim+n.border),f=h(s,-n.border,n.dim+n.border),p=h(l,-n.border,n.dim+n.border),d=-e*n.dim,g=-r*n.dim,m=f;m<p;m++)for(var v=c;v<u;v++)n.set(v,m,i.get(v+d,m+g))},pr("DEMData",Io);var Do=function(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e<t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r}};Do.prototype.encode=function(t){return this._stringToNumber[t]},Do.prototype.decode=function(t){return this._numberToString[t]};var Ro=function(t,e,r,n){this.type="Feature",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&&(this.id=t.id)},Bo={geometry:{configurable:!0}};Bo.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},Bo.geometry.set=function(t){this._geometry=t},Ro.prototype.toJSON=function(){var t={geometry:this.geometry};for(var e in this)"_geometry"!==e&&"_vectorTileFeature"!==e&&(t[e]=this[e]);return t},Object.defineProperties(Ro.prototype,Bo);var Fo=function(t,e,r){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=e||new lr(Dn,16,0),this.featureIndexArray=r||new Mn};function No(t,e){return e-t}Fo.prototype.insert=function(t,e,r,n,i){var a=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);for(var o=0;o<e.length;o++){for(var s=e[o],l=[1/0,1/0,-1/0,-1/0],c=0;c<s.length;c++){var u=s[c];l[0]=Math.min(l[0],u.x),l[1]=Math.min(l[1],u.y),l[2]=Math.max(l[2],u.x),l[3]=Math.max(l[3],u.y)}l[0]<Dn&&l[1]<Dn&&l[2]>=0&&l[3]>=0&&this.grid.insert(a,l[0],l[1],l[2],l[3])}},Fo.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new ga.VectorTile(new io(this.rawTileData)).layers,this.sourceLayerCoder=new Do(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},Fo.prototype.query=function(t,e){var r=this;this.loadVTLayers();for(var n=t.params||{},i=Dn/t.tileSize/t.scale,a=Re(n.filter),o=t.queryGeometry,s=t.queryPadding*i,l=1/0,c=1/0,u=-1/0,f=-1/0,h=0;h<o.length;h++)for(var p=o[h],d=0;d<p.length;d++){var g=p[d];l=Math.min(l,g.x),c=Math.min(c,g.y),u=Math.max(u,g.x),f=Math.max(f,g.y)}var m=this.grid.query(l-s,c-s,u+s,f+s);m.sort(No);for(var v,y={},x=function(s){var l=m[s];if(l!==v){v=l;var c=r.featureIndexArray.get(l),u=null;r.loadMatchingFeature(y,c.bucketIndex,c.sourceLayerIndex,c.featureIndex,a,n.layers,e,function(e,n){return u||(u=Bn(e)),n.queryIntersectsFeature(o,e,u,r.z,t.transform,i,t.posMatrix)})}},b=0;b<m.length;b++)x(b);return y},Fo.prototype.loadMatchingFeature=function(t,e,r,n,i,a,o,s){var l=this.bucketLayerIDs[e];if(!a||function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return!0;return!1}(a,l)){var c=this.sourceLayerCoder.decode(r),u=this.vtLayers[c].feature(n);if(i(new Lr(this.tileID.overscaledZ),u))for(var f=0;f<l.length;f++){var h=l[f];if(!(a&&a.indexOf(h)<0)){var p=o[h];if(p&&(!s||s(u,p))){var d=new Ro(u,this.z,this.x,this.y);d.layer=p.serialize();var g=t[h];void 0===g&&(g=t[h]=[]),g.push({featureIndex:n,feature:d})}}}}},Fo.prototype.lookupSymbolFeatures=function(t,e,r,n,i,a){var o={};this.loadVTLayers();for(var s=Re(n),l=0,c=t;l<c.length;l+=1){var u=c[l];this.loadMatchingFeature(o,e,r,u,s,i,a)}return o},Fo.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1)for(var n=0,i=r[e];n<i.length;n+=1)if(t===i[n])return!0;return!1},pr("FeatureIndex",Fo,{omit:["rawTileData","sourceLayerCoder"]});var jo={horizontal:1,vertical:2,horizontalOnly:3},Vo={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Uo={};function qo(t,e,r,n){var i=Math.pow(t-e,2);return n?t<e?i/2:2*i:i+Math.abs(r)*r}function Ho(t,e){var r=0;return 10===t&&(r-=1e4),40!==t&&65288!==t||(r+=50),41!==e&&65289!==e||(r+=50),r}function Go(t,e,r,n,i,a){for(var o=null,s=qo(e,r,i,a),l=0,c=n;l<c.length;l+=1){var u=c[l],f=qo(e-u.x,r,i,a)+u.badness;f<=s&&(o=u,s=f)}return{index:t,x:e,priorBreak:o,badness:s}}function Wo(t,e,r,n){if(!r)return[];if(!t)return[];for(var i,a=[],o=function(t,e,r,n){for(var i=0,a=0;a<t.length;a++){var o=n[t.charCodeAt(a)];o&&(i+=o.metrics.advance+e)}return i/Math.max(1,Math.ceil(i/r))}(t,e,r,n),s=0,l=0;l<t.length;l++){var c=t.charCodeAt(l),u=n[c];u&&!Vo[c]&&(s+=u.metrics.advance+e),l<t.length-1&&(Uo[c]||!((i=c)<11904)&&(yr["Bopomofo Extended"](i)||yr.Bopomofo(i)||yr["CJK Compatibility Forms"](i)||yr["CJK Compatibility Ideographs"](i)||yr["CJK Compatibility"](i)||yr["CJK Radicals Supplement"](i)||yr["CJK Strokes"](i)||yr["CJK Symbols and Punctuation"](i)||yr["CJK Unified Ideographs Extension A"](i)||yr["CJK Unified Ideographs"](i)||yr["Enclosed CJK Letters and Months"](i)||yr["Halfwidth and Fullwidth Forms"](i)||yr.Hiragana(i)||yr["Ideographic Description Characters"](i)||yr["Kangxi Radicals"](i)||yr["Katakana Phonetic Extensions"](i)||yr.Katakana(i)||yr["Vertical Forms"](i)||yr["Yi Radicals"](i)||yr["Yi Syllables"](i)))&&a.push(Go(l+1,s,o,a,Ho(c,t.charCodeAt(l+1)),!1))}return function t(e){return e?t(e.priorBreak).concat(e.index):[]}(Go(t.length,s,o,a,0,!0))}function Yo(t){var e=.5,r=.5;switch(t){case"right":case"top-right":case"bottom-right":e=1;break;case"left":case"top-left":case"bottom-left":e=0}switch(t){case"bottom":case"bottom-right":case"bottom-left":r=1;break;case"top":case"top-right":case"top-left":r=0}return{horizontalAlign:e,verticalAlign:r}}function Xo(t,e,r,n,i){if(i){var a=e[t[n].glyph];if(a)for(var o=a.metrics.advance,s=(t[n].x+o)*i,l=r;l<=n;l++)t[l].x-=s}}Uo[10]=!0,Uo[32]=!0,Uo[38]=!0,Uo[40]=!0,Uo[41]=!0,Uo[43]=!0,Uo[45]=!0,Uo[47]=!0,Uo[173]=!0,Uo[183]=!0,Uo[8203]=!0,Uo[8208]=!0,Uo[8211]=!0,Uo[8231]=!0,e.commonjsGlobal=r,e.unwrapExports=n,e.createCommonjsModule=i,e.default=self,e.default$1=l,e.getJSON=function(t,e){var r=T(t);return r.setRequestHeader("Accept","application/json"),r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if(r.status>=200&&r.status<300&&r.response){var n;try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n)}else 401===r.status&&t.url.match(/mapbox.com/)?e(new A(r.statusText+": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens",r.status,t.url)):e(new A(r.statusText,r.status,t.url))},r.send(),r},e.getImage=function(t,e){return S(t,function(t,r){if(t)e(t);else if(r){var n=new self.Image,i=self.URL||self.webkitURL;n.onload=function(){e(null,n),i.revokeObjectURL(n.src)};var a=new self.Blob([new Uint8Array(r.data)],{type:"image/png"});n.cacheControl=r.cacheControl,n.expires=r.expires,n.src=r.data.byteLength?i.createObjectURL(a):"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII="}})},e.ResourceType=M,e.RGBAImage=ui,e.default$2=Ka,e.ImagePosition=Qa,e.getArrayBuffer=S,e.default$3=function(t){return new io(t).readFields(ko,[])},e.default$4=yr,e.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,i=new Array(t.length),a=null;t.forEach(function(t,o){e(t,function(t,e){t&&(a=t),i[o]=e,0==--n&&r(a,i)})})},e.AlphaImage=ci,e.default$5=O,e.endsWith=m,e.extend=p,e.sphericalToCartesian=function(t){var e=t[0],r=t[1],n=t[2];return r+=90,r*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(r)*Math.sin(n),y:e*Math.sin(r)*Math.sin(n),z:e*Math.cos(n)}},e.Evented=P,e.validateStyle=nr,e.validateLight=ir,e.emitValidationErrors=sr,e.default$6=tt,e.number=wt,e.Properties=qr,e.Transitionable=Or,e.Transitioning=Dr,e.PossiblyEvaluated=Fr,e.DataConstantProperty=Nr,e.warnOnce=_,e.uniqueId=function(){return d++},e.default$7=So,e.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var i=e[n];i in t&&(r[i]=t[i])}return r},e.wrap=function(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i},e.clamp=h,e.Event=L,e.ErrorEvent=z,e.OverscaledTileID=zo,e.default$8=Dn,e.createLayout=Xr,e.getCoordinatesCenter=function(t){for(var e=1/0,r=1/0,n=-1/0,i=-1/0,a=0;a<t.length;a++)e=Math.min(e,t[a].column),r=Math.min(r,t[a].row),n=Math.max(n,t[a].column),i=Math.max(i,t[a].row);var o=n-e,l=i-r,c=Math.max(o,l),u=Math.max(0,Math.floor(-Math.log(c)/Math.LN2));return new s((e+n)/2,(r+i)/2,0).zoomTo(u)},e.CanonicalTileID=Co,e.RasterBoundsArray=Jr,e.getVideo=function(t,e){var r,n,i=self.document.createElement("video");i.onloadstart=function(){e(null,i)};for(var a=0;a<t.length;a++){var o=self.document.createElement("source");r=t[a],n=void 0,(n=self.document.createElement("a")).href=r,(n.protocol!==self.document.location.protocol||n.host!==self.document.location.host)&&(i.crossOrigin="Anonymous"),o.src=t[a],i.appendChild(o)}return i},e.default$9=I,e.bindAll=g,e.default$10=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n<e.length;n++)if(!t(e[n],r[n]))return!1;return!0}if("object"==typeof e&&null!==e&&null!==r){if("object"!=typeof r)return!1;if(Object.keys(e).length!==Object.keys(r).length)return!1;for(var i in e)if(!t(e[i],r[i]))return!1;return!0}return e===r},e.parseCacheControl=function(t){var e={};if(t.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),""}),e["max-age"]){var r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r}return e},e.default$11=Fo,e.default$12=Ro,e.default$13=Re,e.default$14=Ha,e.CollisionBoxArray=mn,e.default$15=Tn,e.TriangleIndexArray=fn,e.default$16=Lr,e.default$17=s,e.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},e.default$18=["type","source","source-layer","minzoom","maxzoom","filter","layout"],e.mat4=ri,e.vec4=ei,e.getSizeData=Ba,e.evaluateSizeForFeature=function(t,e,r){var n=e;return"source"===t.functionType?r.lowerSize/10:"composite"===t.functionType?wt(r.lowerSize/10,r.upperSize/10,n.uSizeT):n.uSize},e.evaluateSizeForZoom=function(t,e,r){if("constant"===t.functionType)return{uSizeT:0,uSize:t.layoutSize};if("source"===t.functionType)return{uSizeT:0,uSize:0};if("camera"===t.functionType){var n=t.propertyValue,i=t.zoomRange,a=t.sizeRange,o=h(Se(n,r.specification).interpolationFactor(e,i.min,i.max),0,1);return{uSizeT:0,uSize:a.min+o*(a.max-a.min)}}var s=t.propertyValue,l=t.zoomRange;return{uSizeT:h(Se(s,r.specification).interpolationFactor(e,l.min,l.max),0,1),uSize:0}},e.addDynamicAttributes=Va,e.default$19=Wa,e.WritingMode=jo,e.multiPolygonIntersectsBufferedPoint=jn,e.multiPolygonIntersectsMultiPolygon=Vn,e.multiPolygonIntersectsBufferedMultiLine=Un,e.polygonIntersectsPolygon=function(t,e){for(var r=0;r<t.length;r++)if(Zn(e,t[r]))return!0;for(var n=0;n<e.length;n++)if(Zn(t,e[n]))return!0;return!!Hn(t,e)},e.distToSegmentSquared=Yn,e.default$20=ti,e.default$21=Hr,e.default$22=function(t){return new Ja[t.type](t)},e.clone=x,e.filterObject=y,e.mapObject=v,e.registerForPluginAvailability=function(t){return Tr?t({pluginURL:Tr,completionCallback:Mr}):Er.once("pluginAvailable",t),t},e.evented=Er,e.default$23=vr,e.default$24=Pn,e.PosArray=$r,e.UnwrappedTileID=Lo,e.ease=f,e.bezier=u,e.setRTLTextPlugin=function(t,e){if(Ar)throw new Error("setRTLTextPlugin cannot be called multiple times.");Ar=!0,Tr=t,Mr=function(t){t?(Ar=!1,Tr=null,e&&e(t)):Sr=!0},Er.fire(new L("pluginAvailable",{pluginURL:Tr,completionCallback:Mr}))},e.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},e.default$25=Ra,e.register=pr,e.GLYPH_PBF_BORDER=To,e.shapeText=function(t,e,r,n,i,a,o,s,l,c){var u=t.trim();c===jo.vertical&&(u=function(t){for(var e="",r=0;r<t.length;r++){var n=t.charCodeAt(r+1)||null,i=t.charCodeAt(r-1)||null;n&&wr(n)&&!Da[t[r+1]]||i&&wr(i)&&!Da[t[r-1]]||!Da[t[r]]?e+=t[r]:e+=Da[t[r]]}return e}(u));var f=[],h={positionedGlyphs:f,text:u,top:s[1],bottom:s[1],left:s[0],right:s[0],writingMode:c},p=Cr.processBidirectionalText;return function(t,e,r,n,i,a,o,s,l){for(var c=0,u=-17,f=0,h=t.positionedGlyphs,p="right"===a?1:"left"===a?0:.5,d=0,g=r;d<g.length;d+=1){var m=g[d];if((m=m.trim()).length){for(var v=h.length,y=0;y<m.length;y++){var x=m.charCodeAt(y),b=e[x];b&&(_r(x)&&o!==jo.horizontal?(h.push({glyph:x,x:c,y:0,vertical:!0}),c+=l+s):(h.push({glyph:x,x:c,y:u,vertical:!1}),c+=b.metrics.advance+s))}if(h.length!==v){var _=c-s;f=Math.max(_,f),Xo(h,e,v,h.length-1,p)}c=0,u+=n}else u+=n}var w=Yo(i),k=w.horizontalAlign,M=w.verticalAlign;!function(t,e,r,n,i,a,o){for(var s=(e-r)*i,l=(-n*o+.5)*a,c=0;c<t.length;c++)t[c].x+=s,t[c].y+=l}(h,p,k,M,f,n,r.length);var A=r.length*n;t.top+=-M*A,t.bottom=t.top+A,t.left+=-k*f,t.right=t.left+f}(h,e,p?p(u,Wo(u,o,r,e)):function(t,e){for(var r=[],n=0,i=0,a=e;i<a.length;i+=1){var o=a[i];r.push(t.substring(n,o)),n=o}return n<t.length&&r.push(t.substring(n,t.length)),r}(u,Wo(u,o,r,e)),n,i,a,c,o,l),!!f.length&&h},e.shapeIcon=function(t,e,r){var n=Yo(r),i=n.horizontalAlign,a=n.verticalAlign,o=e[0],s=e[1],l=o-t.displaySize[0]*i,c=l+t.displaySize[0],u=s-t.displaySize[1]*a;return{image:t,top:u,bottom:u+t.displaySize[1],left:l,right:c}},e.allowsVerticalWritingMode=xr,e.allowsLetterSpacing=function(t){for(var e=0,r=t;e<r.length;e+=1)if(!br(r[e].charCodeAt(0)))return!1;return!0},e.default$26=Yi,e.default$27=Do,e.default$28=eo,e.default$29=ga,e.default$30=io,e.default$31=Io,e.__moduleExports=ga,e.default$32=l,e.__moduleExports$1=io,e.plugin=Cr}),i(0,function(t){function e(t){var r=typeof t;if("number"===r||"boolean"===r||"string"===r||null==t)return JSON.stringify(t);if(Array.isArray(t)){for(var n="[",i=0,a=t;i<a.length;i+=1)n+=e(a[i])+",";return n+"]"}for(var o=Object.keys(t).sort(),s="{",l=0;l<o.length;l++)s+=JSON.stringify(o[l])+":"+e(t[o[l]])+",";return s+"}"}function r(r){for(var n="",i=0,a=t.default$18;i<a.length;i+=1)n+="/"+e(r[a[i]]);return n}var n=function(t){t&&this.replace(t)};function i(t,e,r,n,i){if(void 0===e.segment)return!0;for(var a=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;s<r/2;){var u=t[o-1],f=t[o],h=t[o+1];if(!h)return!1;var p=u.angleTo(f)-f.angleTo(h);for(p=Math.abs((p+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:p}),c+=p;s-l[0].distance>n;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=f.dist(h)}return!0}function a(e,r,n,a,o,s,l,c,u){var f=a?.6*s*l:0,h=Math.max(a?a.right-a.left:0,o?o.right-o.left:0),p=0===e[0].x||e[0].x===u||0===e[0].y||e[0].y===u;return r-h*l<r/4&&(r=h*l+r/4),function e(r,n,a,o,s,l,c,u,f){for(var h=l/2,p=0,d=0;d<r.length-1;d++)p+=r[d].dist(r[d+1]);for(var g=0,m=n-a,v=[],y=0;y<r.length-1;y++){for(var x=r[y],b=r[y+1],_=x.dist(b),w=b.angleTo(x);m+a<g+_;){var k=((m+=a)-g)/_,M=t.number(x.x,b.x,k),A=t.number(x.y,b.y,k);if(M>=0&&M<f&&A>=0&&A<f&&m-h>=0&&m+h<=p){var T=new t.default$25(M,A,w,y);T._round(),o&&!i(r,T,l,o,s)||v.push(T)}}g+=_}return u||v.length||c||(v=e(r,g/2,a,o,s,l,c,!0,f)),v}(e,p?r/2*c%r:(h/2+2*s)*l*c%r,r,f,n,h*l,p,!1,u)}n.prototype.replace=function(t){this._layerConfigs={},this._layers={},this.update(t,[])},n.prototype.update=function(e,n){for(var i=this,a=0,o=e;a<o.length;a+=1){var s=o[a];i._layerConfigs[s.id]=s;var l=i._layers[s.id]=t.default$22(s);l._featureFilter=t.default$13(l.filter)}for(var c=0,u=n;c<u.length;c+=1){var f=u[c];delete i._layerConfigs[f],delete i._layers[f]}this.familiesBySource={};for(var h=0,p=function(t){for(var e={},n=0;n<t.length;n++){var i=r(t[n]),a=e[i];a||(a=e[i]=[]),a.push(t[n])}var o=[];for(var s in e)o.push(e[s]);return o}(t.values(this._layerConfigs));h<p.length;h+=1){var d=p[h].map(function(t){return i._layers[t.id]}),g=d[0];if("none"!==g.visibility){var m=g.source||"",v=i.familiesBySource[m];v||(v=i.familiesBySource[m]={});var y=g.sourceLayer||"_geojsonTileLayer",x=v[y];x||(x=v[y]=[]),x.push(d)}}};var o=function(){this.opacity=0,this.targetOpacity=0,this.time=0};o.prototype.clone=function(){var t=new o;return t.opacity=this.opacity,t.targetOpacity=this.targetOpacity,t.time=this.time,t},t.register("OpacityState",o);var s=function(t,e,r,n,i,a,o,s,l,c,u){var f=o.top*s-l,h=o.bottom*s+l,p=o.left*s-l,d=o.right*s+l;if(this.boxStartIndex=t.length,c){var g=h-f,m=d-p;g>0&&(g=Math.max(10*s,g),this._addLineCollisionCircles(t,e,r,r.segment,m,g,n,i,a,u))}else t.emplaceBack(r.x,r.y,p,f,d,h,n,i,a,0,0);this.boxEndIndex=t.length};s.prototype._addLineCollisionCircles=function(t,e,r,n,i,a,o,s,l,c){var u=a/2,f=Math.floor(i/u),h=1+.4*Math.log(c)/Math.LN2,p=Math.floor(f*h/2),d=-a/2,g=r,m=n+1,v=d,y=-i/2,x=y-i/4;do{if(--m<0){if(v>y)return;m=0;break}v-=e[m].dist(g),g=e[m]}while(v>x);for(var b=e[m].dist(e[m+1]),_=-p;_<f+p;_++){var w=_*u,k=y+w;if(w<0&&(k+=w),w>i&&(k+=w-i),!(k<v)){for(;v+b<k;){if(v+=b,++m+1>=e.length)return;b=e[m].dist(e[m+1])}var M=k-v,A=e[m],T=e[m+1].sub(A)._unit()._mult(M)._add(A)._round(),S=Math.abs(k-d)<u?0:.8*(k-d);t.emplaceBack(T.x,T.y,-a/2,-a/2,a/2,a/2,o,s,l,a/2,S)}}};var l=u,c=u;function u(t,e){if(!(this instanceof u))return new u(t,e);if(this.data=t||[],this.length=this.data.length,this.compare=e||f,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)}function f(t,e){return t<e?-1:t>e?1:0}function h(e,r,n){void 0===r&&(r=1),void 0===n&&(n=!1);for(var i=1/0,a=1/0,o=-1/0,s=-1/0,c=e[0],u=0;u<c.length;u++){var f=c[u];(!u||f.x<i)&&(i=f.x),(!u||f.y<a)&&(a=f.y),(!u||f.x>o)&&(o=f.x),(!u||f.y>s)&&(s=f.y)}var h=o-i,g=s-a,m=Math.min(h,g),v=m/2,y=new l(null,p);if(0===m)return new t.default$1(i,a);for(var x=i;x<o;x+=m)for(var b=a;b<s;b+=m)y.push(new d(x+v,b+v,v,e));for(var _=function(t){for(var e=0,r=0,n=0,i=t[0],a=0,o=i.length,s=o-1;a<o;s=a++){var l=i[a],c=i[s],u=l.x*c.y-c.x*l.y;r+=(l.x+c.x)*u,n+=(l.y+c.y)*u,e+=3*u}return new d(r/e,n/e,0,t)}(e),w=y.length;y.length;){var k=y.pop();(k.d>_.d||!_.d)&&(_=k,n&&console.log("found best %d after %d probes",Math.round(1e4*k.d)/1e4,w)),k.max-_.d<=r||(v=k.h/2,y.push(new d(k.p.x-v,k.p.y-v,v,e)),y.push(new d(k.p.x+v,k.p.y-v,v,e)),y.push(new d(k.p.x-v,k.p.y+v,v,e)),y.push(new d(k.p.x+v,k.p.y+v,v,e)),w+=4)}return n&&(console.log("num probes: "+w),console.log("best distance: "+_.d)),_.p}function p(t,e){return e.max-t.max}function d(e,r,n,i){this.p=new t.default$1(e,r),this.h=n,this.d=function(e,r){for(var n=!1,i=1/0,a=0;a<r.length;a++)for(var o=r[a],s=0,l=o.length,c=l-1;s<l;c=s++){var u=o[s],f=o[c];u.y>e.y!=f.y>e.y&&e.x<(f.x-u.x)*(e.y-u.y)/(f.y-u.y)+u.x&&(n=!n),i=Math.min(i,t.distToSegmentSquared(e,u,f))}return(n?1:-1)*Math.sqrt(i)}(this.p,i),this.max=this.d+this.h*Math.SQRT2}function g(e,r,n,i,a,o){e.createArrays(),e.symbolInstances=[];var s=512*e.overscaling;e.tilePixelRatio=t.default$8/s,e.compareText={},e.iconsNeedLinear=!1;var l=e.layers[0].layout,c=e.layers[0]._unevaluatedLayout._values,u={};if("composite"===e.textSizeData.functionType){var f=e.textSizeData.zoomRange,h=f.min,p=f.max;u.compositeTextSizes=[c["text-size"].possiblyEvaluate(new t.default$16(h)),c["text-size"].possiblyEvaluate(new t.default$16(p))]}if("composite"===e.iconSizeData.functionType){var d=e.iconSizeData.zoomRange,g=d.min,v=d.max;u.compositeIconSizes=[c["icon-size"].possiblyEvaluate(new t.default$16(g)),c["icon-size"].possiblyEvaluate(new t.default$16(v))]}u.layoutTextSize=c["text-size"].possiblyEvaluate(new t.default$16(e.zoom+1)),u.layoutIconSize=c["icon-size"].possiblyEvaluate(new t.default$16(e.zoom+1)),u.textMaxSize=c["text-size"].possiblyEvaluate(new t.default$16(18));for(var y=24*l.get("text-line-height"),x="map"===l.get("text-rotation-alignment")&&"line"===l.get("symbol-placement"),b=l.get("text-keep-upright"),_=0,w=e.features;_<w.length;_+=1){var k=w[_],M=l.get("text-font").evaluate(k).join(","),A=r[M]||{},T=n[M]||{},S={},E=k.text;if(E){var C=l.get("text-offset").evaluate(k).map(function(t){return 24*t}),L=24*l.get("text-letter-spacing").evaluate(k),z=t.allowsLetterSpacing(E)?L:0,P=l.get("text-anchor").evaluate(k),O=l.get("text-justify").evaluate(k),I="line"!==l.get("symbol-placement")?24*l.get("text-max-width").evaluate(k):0;S.horizontal=t.shapeText(E,A,I,y,P,O,z,C,24,t.WritingMode.horizontal),t.allowsVerticalWritingMode(E)&&x&&b&&(S.vertical=t.shapeText(E,A,I,y,P,O,z,C,24,t.WritingMode.vertical))}var D=void 0;if(k.icon){var R=i[k.icon];R&&(D=t.shapeIcon(a[k.icon],l.get("icon-offset").evaluate(k),l.get("icon-anchor").evaluate(k)),void 0===e.sdfIcons?e.sdfIcons=R.sdf:e.sdfIcons!==R.sdf&&t.warnOnce("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),R.pixelRatio!==e.pixelRatio?e.iconsNeedLinear=!0:0!==l.get("icon-rotate").constantOr(1)&&(e.iconsNeedLinear=!0))}(S.horizontal||D)&&m(e,k,S,D,T,u)}o&&e.generateCollisionDebugBuffers()}function m(e,r,n,i,l,c){var u=c.layoutTextSize.evaluate(r),f=c.layoutIconSize.evaluate(r),p=c.textMaxSize.evaluate(r);void 0===p&&(p=u);var d=e.layers[0].layout,g=d.get("text-offset").evaluate(r),m=d.get("icon-offset").evaluate(r),x=u/24,b=e.tilePixelRatio*x,_=e.tilePixelRatio*p/24,w=e.tilePixelRatio*f,k=e.tilePixelRatio*d.get("symbol-spacing"),M=d.get("text-padding")*e.tilePixelRatio,A=d.get("icon-padding")*e.tilePixelRatio,T=d.get("text-max-angle")/180*Math.PI,S="map"===d.get("text-rotation-alignment")&&"line"===d.get("symbol-placement"),E="map"===d.get("icon-rotation-alignment")&&"line"===d.get("symbol-placement"),C=k/2,L=function(a,u){u.x<0||u.x>=t.default$8||u.y<0||u.y>=t.default$8||e.symbolInstances.push(function(e,r,n,i,a,l,c,u,f,h,p,d,g,m,y,x,b,_,w,k,M){var A,T,S=e.addToLineVertexArray(r,n),E=0,C=0,L=0,z=i.horizontal?i.horizontal.text:"",P=[];i.horizontal&&(A=new s(c,n,r,u,f,h,i.horizontal,p,d,g,e.overscaling),C+=v(e,r,i.horizontal,l,g,w,m,S,i.vertical?t.WritingMode.horizontal:t.WritingMode.horizontalOnly,P,k,M),i.vertical&&(L+=v(e,r,i.vertical,l,g,w,m,S,t.WritingMode.vertical,P,k,M)));var O=A?A.boxStartIndex:e.collisionBoxArray.length,I=A?A.boxEndIndex:e.collisionBoxArray.length;if(a){var D=function(e,r,n,i,a,o){var s,l,c,u,f=r.image,h=n.layout,p=r.top-1/f.pixelRatio,d=r.left-1/f.pixelRatio,g=r.bottom+1/f.pixelRatio,m=r.right+1/f.pixelRatio;if("none"!==h.get("icon-text-fit")&&a){var v=m-d,y=g-p,x=h.get("text-size").evaluate(o)/24,b=a.left*x,_=a.right*x,w=a.top*x,k=_-b,M=a.bottom*x-w,A=h.get("icon-text-fit-padding")[0],T=h.get("icon-text-fit-padding")[1],S=h.get("icon-text-fit-padding")[2],E=h.get("icon-text-fit-padding")[3],C="width"===h.get("icon-text-fit")?.5*(M-y):0,L="height"===h.get("icon-text-fit")?.5*(k-v):0,z="width"===h.get("icon-text-fit")||"both"===h.get("icon-text-fit")?k:v,P="height"===h.get("icon-text-fit")||"both"===h.get("icon-text-fit")?M:y;s=new t.default$1(b+L-E,w+C-A),l=new t.default$1(b+L+T+z,w+C-A),c=new t.default$1(b+L+T+z,w+C+S+P),u=new t.default$1(b+L-E,w+C+S+P)}else s=new t.default$1(d,p),l=new t.default$1(m,p),c=new t.default$1(m,g),u=new t.default$1(d,g);var O=n.layout.get("icon-rotate").evaluate(o)*Math.PI/180;if(O){var I=Math.sin(O),D=Math.cos(O),R=[D,-I,I,D];s._matMult(R),l._matMult(R),u._matMult(R),c._matMult(R)}return[{tl:s,tr:l,bl:u,br:c,tex:f.paddedRect,writingMode:void 0,glyphOffset:[0,0]}]}(0,a,l,0,i.horizontal,w);T=new s(c,n,r,u,f,h,a,y,x,!1,e.overscaling),E=4*D.length;var R=e.iconSizeData,B=null;"source"===R.functionType?B=[10*l.layout.get("icon-size").evaluate(w)]:"composite"===R.functionType&&(B=[10*M.compositeIconSizes[0].evaluate(w),10*M.compositeIconSizes[1].evaluate(w)]),e.addSymbols(e.icon,D,B,_,b,w,!1,r,S.lineStartIndex,S.lineLength)}var F=T?T.boxStartIndex:e.collisionBoxArray.length,N=T?T.boxEndIndex:e.collisionBoxArray.length;return e.glyphOffsetArray.length>=t.default$14.MAX_GLYPHS&&t.warnOnce("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),{key:z,textBoxStartIndex:O,textBoxEndIndex:I,iconBoxStartIndex:F,iconBoxEndIndex:N,textOffset:m,iconOffset:_,anchor:r,line:n,featureIndex:u,feature:w,numGlyphVertices:C,numVerticalGlyphVertices:L,numIconVertices:E,textOpacityState:new o,iconOpacityState:new o,isDuplicate:!1,placedTextSymbolIndices:P,crossTileID:0}}(e,u,a,n,i,e.layers[0],e.collisionBoxArray,r.index,r.sourceLayerIndex,e.index,b,M,S,g,w,A,E,m,r,l,c))};if("line"===d.get("symbol-placement"))for(var z=0,P=function(e,r,n,i,a){for(var o=[],s=0;s<e.length;s++)for(var l=e[s],c=void 0,u=0;u<l.length-1;u++){var f=l[u],h=l[u+1];f.x<0&&h.x<0||(f.x<0?f=new t.default$1(0,f.y+(h.y-f.y)*((0-f.x)/(h.x-f.x)))._round():h.x<0&&(h=new t.default$1(0,f.y+(h.y-f.y)*((0-f.x)/(h.x-f.x)))._round()),f.y<0&&h.y<0||(f.y<0?f=new t.default$1(f.x+(h.x-f.x)*((0-f.y)/(h.y-f.y)),0)._round():h.y<0&&(h=new t.default$1(f.x+(h.x-f.x)*((0-f.y)/(h.y-f.y)),0)._round()),f.x>=i&&h.x>=i||(f.x>=i?f=new t.default$1(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round():h.x>=i&&(h=new t.default$1(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round()),f.y>=a&&h.y>=a||(f.y>=a?f=new t.default$1(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round():h.y>=a&&(h=new t.default$1(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round()),c&&f.equals(c[c.length-1])||(c=[f],o.push(c)),c.push(h)))))}return o}(r.geometry,0,0,t.default$8,t.default$8);z<P.length;z+=1)for(var O=P[z],I=0,D=a(O,k,T,n.vertical||n.horizontal,i,24,_,e.overscaling,t.default$8);I<D.length;I+=1){var R=D[I],B=n.horizontal;B&&y(e,B.text,C,R)||L(O,R)}else if("Polygon"===r.type)for(var F=0,N=t.default$26(r.geometry,0);F<N.length;F+=1){var j=N[F],V=h(j,16);L(j[0],new t.default$25(V.x,V.y,0))}else if("LineString"===r.type)for(var U=0,q=r.geometry;U<q.length;U+=1){var H=q[U];L(H,new t.default$25(H[0].x,H[0].y,0))}else if("Point"===r.type)for(var G=0,W=r.geometry;G<W.length;G+=1)for(var Y=0,X=W[G];Y<X.length;Y+=1){var Z=X[Y];L([Z],new t.default$25(Z.x,Z.y,0))}}function v(e,r,n,i,a,o,s,l,c,u,f,h){var p=function(e,r,n,i,a,o){for(var s=n.layout.get("text-rotate").evaluate(a)*Math.PI/180,l=n.layout.get("text-offset").evaluate(a).map(function(t){return 24*t}),c=r.positionedGlyphs,u=[],f=0;f<c.length;f++){var h=c[f],p=o[h.glyph];if(p){var d=p.rect;if(d){var g=t.GLYPH_PBF_BORDER+1,m=p.metrics.advance/2,v=i?[h.x+m,h.y]:[0,0],y=i?[0,0]:[h.x+m+l[0],h.y+l[1]],x=p.metrics.left-g-m+y[0],b=-p.metrics.top-g+y[1],_=x+d.w,w=b+d.h,k=new t.default$1(x,b),M=new t.default$1(_,b),A=new t.default$1(x,w),T=new t.default$1(_,w);if(i&&h.vertical){var S=new t.default$1(-m,m),E=-Math.PI/2,C=new t.default$1(5,0);k._rotateAround(E,S)._add(C),M._rotateAround(E,S)._add(C),A._rotateAround(E,S)._add(C),T._rotateAround(E,S)._add(C)}if(s){var L=Math.sin(s),z=Math.cos(s),P=[z,-L,L,z];k._matMult(P),M._matMult(P),A._matMult(P),T._matMult(P)}u.push({tl:k,tr:M,bl:A,br:T,tex:d,writingMode:r.writingMode,glyphOffset:v})}}}return u}(0,n,i,a,o,f),d=e.textSizeData,g=null;return"source"===d.functionType?g=[10*i.layout.get("text-size").evaluate(o)]:"composite"===d.functionType&&(g=[10*h.compositeTextSizes[0].evaluate(o),10*h.compositeTextSizes[1].evaluate(o)]),e.addSymbols(e.text,p,g,s,a,o,c,r,l.lineStartIndex,l.lineLength),u.push(e.text.placedSymbolArray.length-1),4*p.length}function y(t,e,r,n){var i=t.compareText;if(e in i){for(var a=i[e],o=a.length-1;o>=0;o--)if(n.dist(a[o])<r)return!0}else i[e]=[];return i[e].push(n),!1}u.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){if(0!==this.length){var t=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),t}},peek:function(){return this.data[0]},_up:function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},_down:function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t<n;){var a=1+(t<<1),o=a+1,s=e[a];if(o<this.length&&r(e[o],s)<0&&(a=o,s=e[o]),r(s,i)>=0)break;e[t]=s,t=a}e[t]=i}},l.default=c;var x=function(e){var r=new t.AlphaImage({width:0,height:0}),n={},i=new t.default$2(0,0,{autoResize:!0});for(var a in e){var o=e[a],s=n[a]={};for(var l in o){var c=o[+l];if(c&&0!==c.bitmap.width&&0!==c.bitmap.height){var u=i.packOne(c.bitmap.width+2,c.bitmap.height+2);r.resize({width:i.w,height:i.h}),t.AlphaImage.copy(c.bitmap,r,{x:0,y:0},{x:u.x+1,y:u.y+1},c.bitmap),s[l]={rect:u,metrics:c.metrics}}}}i.shrink(),r.resize({width:i.w,height:i.h}),this.image=r,this.positions=n};t.register("GlyphAtlas",x);var b=function(e){this.tileID=new t.OverscaledTileID(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming};function _(e,r){for(var n=new t.default$16(r),i=0,a=e;i<a.length;i+=1)a[i].recalculate(n)}b.prototype.parse=function(e,r,n,i){var a=this;this.status="parsing",this.data=e,this.collisionBoxArray=new t.CollisionBoxArray;var o=new t.default$27(Object.keys(e.layers).sort()),s=new t.default$11(this.tileID);s.bucketLayerIDs=[];var l,c,u,f={},h={featureIndex:s,iconDependencies:{},glyphDependencies:{}},p=r.familiesBySource[this.source];for(var d in p){var m=e.layers[d];if(m){1===m.version&&t.warnOnce('Vector tile source "'+a.source+'" layer "'+d+'" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var v=o.encode(d),y=[],b=0;b<m.length;b++){var w=m.feature(b);y.push({feature:w,index:b,sourceLayerIndex:v})}for(var k=0,M=p[d];k<M.length;k+=1){var A=M[k],T=A[0];T.minzoom&&a.zoom<Math.floor(T.minzoom)||T.maxzoom&&a.zoom>=T.maxzoom||"none"!==T.visibility&&(_(A,a.zoom),(f[T.id]=T.createBucket({index:s.bucketLayerIDs.length,layers:A,zoom:a.zoom,pixelRatio:a.pixelRatio,overscaling:a.overscaling,collisionBoxArray:a.collisionBoxArray,sourceLayerIndex:v})).populate(y,h),s.bucketLayerIDs.push(A.map(function(t){return t.id})))}}}var S=t.mapObject(h.glyphDependencies,function(t){return Object.keys(t).map(Number)});Object.keys(S).length?n.send("getGlyphs",{uid:this.uid,stacks:S},function(t,e){l||(l=t,c=e,C.call(a))}):c={};var E=Object.keys(h.iconDependencies);function C(){if(l)return i(l);if(c&&u){var e=new x(c),r=new t.default$28(u);for(var n in f){var a=f[n];a instanceof t.default$14&&(_(a.layers,this.zoom),g(a,c,e.positions,u,r.positions,this.showCollisionBoxes))}this.status="done",i(null,{buckets:t.values(f).filter(function(t){return!t.isEmpty()}),featureIndex:s,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,iconAtlasImage:r.image})}}E.length?n.send("getImages",{icons:E},function(t,e){l||(l=t,u=e,C.call(a))}):u={},C.call(this)};var w=function(t){return!(!performance||!performance.getEntriesByName)&&performance.getEntriesByName(t)};function k(e,r){var n=t.getArrayBuffer(e.request,function(e,n){e?r(e):n&&r(null,{vectorTile:new t.default$29.VectorTile(new t.default$30(n.data)),rawData:n.data,cacheControl:n.cacheControl,expires:n.expires})});return function(){n.abort(),r()}}var M=function(t,e,r){this.actor=t,this.layerIndex=e,this.loadVectorData=r||k,this.loading={},this.loaded={}};M.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var a=this.loading[i]=new b(e);a.abort=this.loadVectorData(e,function(o,s){if(delete n.loading[i],o||!s)return r(o);var l=s.rawData,c={};s.expires&&(c.expires=s.expires),s.cacheControl&&(c.cacheControl=s.cacheControl);var u={};if(e.request&&e.request.collectResourceTiming){var f=w(e.request.url);f&&(u.resourceTiming=JSON.parse(JSON.stringify(f)))}a.vectorTile=s.vectorTile,a.parse(s.vectorTile,n.layerIndex,n.actor,function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,c,u))}),n.loaded=n.loaded||{},n.loaded[i]=a})},M.prototype.reloadTile=function(t,e){var r=this.loaded,n=t.uid,i=this;if(r&&r[n]){var a=r[n];a.showCollisionBoxes=t.showCollisionBoxes;var o=function(t,r){var n=a.reloadCallback;n&&(delete a.reloadCallback,a.parse(a.vectorTile,i.layerIndex,i.actor,n)),e(t,r)};"parsing"===a.status?a.reloadCallback=o:"done"===a.status&&a.parse(a.vectorTile,this.layerIndex,this.actor,o)}},M.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},M.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var A=function(){this.loading={},this.loaded={}};A.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=new t.default$31(n);this.loading[n]=a,a.loadFromImage(e.rawImageData,i),delete this.loading[n],this.loaded=this.loaded||{},this.loaded[n]=a,r(null,a)},A.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var T={RADIUS:6378137,FLATTENING:1/298.257223563,POLAR_RADIUS:6356752.3142};function S(t){var e=0;if(t&&t.length>0){e+=Math.abs(E(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(E(t[r]))}return e}function E(t){var e,r,n,i,a,o,s=0,l=t.length;if(l>2){for(o=0;o<l;o++)o===l-2?(n=l-2,i=l-1,a=0):o===l-1?(n=l-1,i=0,a=1):(n=o,i=o+1,a=o+2),e=t[n],r=t[i],s+=(C(t[a][0])-C(e[0]))*Math.sin(C(r[1]));s=s*T.RADIUS*T.RADIUS/2}return s}function C(t){return t*Math.PI/180}var L={geometry:function t(e){var r,n=0;switch(e.type){case"Polygon":return S(e.coordinates);case"MultiPolygon":for(r=0;r<e.coordinates.length;r++)n+=S(e.coordinates[r]);return n;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0;case"GeometryCollection":for(r=0;r<e.geometries.length;r++)n+=t(e.geometries[r]);return n}},ring:E};function z(t,e){return function(r){return t(r,e)}}function P(t,e){e=!!e,t[0]=O(t[0],e);for(var r=1;r<t.length;r++)t[r]=O(t[r],!e);return t}function O(t,e){return function(t){return L.ring(t)>=0}(t)===e?t:t.reverse()}var I=t.default$29.VectorTileFeature.prototype.toGeoJSON,D=function(e){this._feature=e,this.extent=t.default$8,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};D.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r<n.length;r+=1){var i=n[r];e.push([new t.default$1(i[0],i[1])])}return e}for(var a=[],o=0,s=this._feature.geometry;o<s.length;o+=1){for(var l=[],c=0,u=s[o];c<u.length;c+=1){var f=u[c];l.push(new t.default$1(f[0],f[1]))}a.push(l)}return a},D.prototype.toGeoJSON=function(t,e,r){return I.call(this,t,e,r)};var R=function(e){this.layers={_geojsonTileLayer:this},this.name="_geojsonTileLayer",this.extent=t.default$8,this.length=e.length,this._features=e};R.prototype.feature=function(t){return new D(this._features[t])};var B=t.__moduleExports.VectorTileFeature,F=N;function N(t,e){this.options=e||{},this.features=t,this.length=t.length}function j(t,e){this.id="number"==typeof t.id?t.id:void 0,this.type=t.type,this.rawGeometry=1===t.type?[t.geometry]:t.geometry,this.properties=t.tags,this.extent=e||4096}N.prototype.feature=function(t){return new j(this.features[t],this.options.extent)},j.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var r=0;r<e.length;r++){for(var n=e[r],i=[],a=0;a<n.length;a++)i.push(new t.default$32(n[a][0],n[a][1]));this.geometry.push(i)}return this.geometry},j.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-1/0,n=1/0,i=-1/0,a=0;a<t.length;a++)for(var o=t[a],s=0;s<o.length;s++){var l=o[s];e=Math.min(e,l.x),r=Math.max(r,l.x),n=Math.min(n,l.y),i=Math.max(i,l.y)}return[e,n,r,i]},j.prototype.toGeoJSON=B.prototype.toGeoJSON;var V=H,U=H,q=F;function H(e){var r=new t.__moduleExports$1;return function(t,e){for(var r in t.layers)e.writeMessage(3,G,t.layers[r])}(e,r),r.finish()}function G(t,e){var r;e.writeVarintField(15,t.version||1),e.writeStringField(1,t.name||""),e.writeVarintField(5,t.extent||4096);var n={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<t.length;r++)n.feature=t.feature(r),e.writeMessage(2,W,n);var i=n.keys;for(r=0;r<i.length;r++)e.writeStringField(3,i[r]);var a=n.values;for(r=0;r<a.length;r++)e.writeMessage(4,J,a[r])}function W(t,e){var r=t.feature;void 0!==r.id&&e.writeVarintField(1,r.id),e.writeMessage(2,Y,t),e.writeVarintField(3,r.type),e.writeMessage(4,$,r)}function Y(t,e){var r=t.feature,n=t.keys,i=t.values,a=t.keycache,o=t.valuecache;for(var s in r.properties){var l=a[s];void 0===l&&(n.push(s),l=n.length-1,a[s]=l),e.writeVarint(l);var c=r.properties[s],u=typeof c;"string"!==u&&"boolean"!==u&&"number"!==u&&(c=JSON.stringify(c));var f=u+":"+c,h=o[f];void 0===h&&(i.push(c),h=i.length-1,o[f]=h),e.writeVarint(h)}}function X(t,e){return(e<<3)+(7&t)}function Z(t){return t<<1^t>>31}function $(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s<o;s++){var l=r[s],c=1;1===n&&(c=l.length),e.writeVarint(X(1,c));for(var u=3===n?l.length-1:l.length,f=0;f<u;f++){1===f&&1!==n&&e.writeVarint(X(2,u-1));var h=l[f].x-i,p=l[f].y-a;e.writeVarint(Z(h)),e.writeVarint(Z(p)),i+=h,a+=p}3===n&&e.writeVarint(X(7,0))}}function J(t,e){var r=typeof t;"string"===r?e.writeStringField(1,t):"boolean"===r?e.writeBooleanField(7,t):"number"===r&&(t%1!=0?e.writeDoubleField(3,t):t<0?e.writeSVarintField(6,t):e.writeVarintField(5,t))}V.fromVectorTileJs=U,V.fromGeojsonVt=function(t,e){e=e||{};var r={};for(var n in t)r[n]=new F(t[n].features,e),r[n].name=n,r[n].version=e.version,r[n].extent=e.extent;return H({layers:r})},V.GeoJSONWrapper=q;var K=function t(e,r,n,i,a,o){if(!(a-i<=n)){var s=Math.floor((i+a)/2);!function t(e,r,n,i,a,o){for(;a>i;){if(a-i>600){var s=a-i+1,l=n-i+1,c=Math.log(s),u=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*u*(s-u)/s)*(l-s/2<0?-1:1);t(e,r,n,Math.max(i,Math.floor(n-l*u/s+f)),Math.min(a,Math.floor(n+(s-l)*u/s+f)),o)}var h=r[2*n+o],p=i,d=a;for(Q(e,r,i,n),r[2*a+o]>h&&Q(e,r,i,a);p<d;){for(Q(e,r,p,d),p++,d--;r[2*p+o]<h;)p++;for(;r[2*d+o]>h;)d--}r[2*i+o]===h?Q(e,r,i,d):Q(e,r,++d,a),d<=n&&(i=d+1),n<=d&&(a=d-1)}}(e,r,s,i,a,o%2),t(e,r,n,i,s-1,o+1),t(e,r,n,s+1,a,o+1)}};function Q(t,e,r,n){tt(t,r,n),tt(e,2*r,2*n),tt(e,2*r+1,2*n+1)}function tt(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function et(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}var rt=function(t,e,r,n,i){return new nt(t,e,r,n,i)};function nt(t,e,r,n,i){e=e||it,r=r||at,i=i||Array,this.nodeSize=n||64,this.points=t,this.ids=new i(t.length),this.coords=new i(2*t.length);for(var a=0;a<t.length;a++)this.ids[a]=a,this.coords[2*a]=e(t[a]),this.coords[2*a+1]=r(t[a]);K(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function it(t){return t[0]}function at(t){return t[1]}nt.prototype={range:function(t,e,r,n){return function(t,e,r,n,i,a,o){for(var s,l,c=[0,t.length-1,0],u=[];c.length;){var f=c.pop(),h=c.pop(),p=c.pop();if(h-p<=o)for(var d=p;d<=h;d++)s=e[2*d],l=e[2*d+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(t[d]);else{var g=Math.floor((p+h)/2);s=e[2*g],l=e[2*g+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(t[g]);var m=(f+1)%2;(0===f?r<=s:n<=l)&&(c.push(p),c.push(g-1),c.push(m)),(0===f?i>=s:a>=l)&&(c.push(g+1),c.push(h),c.push(m))}}return u}(this.ids,this.coords,t,e,r,n,this.nodeSize)},within:function(t,e,r){return function(t,e,r,n,i,a){for(var o=[0,t.length-1,0],s=[],l=i*i;o.length;){var c=o.pop(),u=o.pop(),f=o.pop();if(u-f<=a)for(var h=f;h<=u;h++)et(e[2*h],e[2*h+1],r,n)<=l&&s.push(t[h]);else{var p=Math.floor((f+u)/2),d=e[2*p],g=e[2*p+1];et(d,g,r,n)<=l&&s.push(t[p]);var m=(c+1)%2;(0===c?r-i<=d:n-i<=g)&&(o.push(f),o.push(p-1),o.push(m)),(0===c?r+i>=d:n+i>=g)&&(o.push(p+1),o.push(u),o.push(m))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)}};function ot(t){this.options=pt(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function st(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:n,properties:i,parentId:-1,numPoints:r}}function lt(t,e){var r=t.geometry.coordinates;return{x:ft(r[0]),y:ht(r[1]),zoom:1/0,id:e,parentId:-1}}function ct(t){return{type:"Feature",properties:ut(t),geometry:{type:"Point",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function ut(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return pt(pt({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function ft(t){return t/360+.5}function ht(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function pt(t,e){for(var r in e)t[r]=e[r];return t}function dt(t){return t.x}function gt(t){return t.y}function mt(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function vt(t,e,r,n){var i={id:t||null,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)yt(t,e);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n<e.length;n++)yt(t,e[n]);else if("MultiPolygon"===r)for(n=0;n<e.length;n++)for(var i=0;i<e[n].length;i++)yt(t,e[n][i])}(i),i}function yt(t,e){for(var r=0;r<e.length;r+=3)t.minX=Math.min(t.minX,e[r]),t.minY=Math.min(t.minY,e[r+1]),t.maxX=Math.max(t.maxX,e[r]),t.maxY=Math.max(t.maxY,e[r+1])}function xt(t,e,r){if(e.geometry){var n=e.geometry.coordinates,i=e.geometry.type,a=Math.pow(r.tolerance/((1<<r.maxZoom)*r.extent),2),o=[];if("Point"===i)bt(n,o);else if("MultiPoint"===i)for(var s=0;s<n.length;s++)bt(n[s],o);else if("LineString"===i)_t(n,o,a,!1);else if("MultiLineString"===i)if(r.lineMetrics)for(s=0;s<n.length;s++)return o=[],_t(n[s],o,a,!1),void t.push(vt(e.id,"LineString",o,e.properties));else wt(n,o,a,!1);else if("Polygon"===i)wt(n,o,a,!0);else{if("MultiPolygon"!==i){if("GeometryCollection"===i){for(s=0;s<e.geometry.geometries.length;s++)xt(t,{id:e.id,geometry:e.geometry.geometries[s],properties:e.properties},r);return}throw new Error("Input data is not a valid GeoJSON object.")}for(s=0;s<n.length;s++){var l=[];wt(n[s],l,a,!0),o.push(l)}}t.push(vt(e.id,i,o,e.properties))}}function bt(t,e){e.push(kt(t[0])),e.push(Mt(t[1])),e.push(0)}function _t(t,e,r,n){for(var i,a,o=0,s=0;s<t.length;s++){var l=kt(t[s][0]),c=Mt(t[s][1]);e.push(l),e.push(c),e.push(0),s>0&&(o+=n?(i*c-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(c-a,2))),i=l,a=c}var u=e.length-3;e[2]=1,function t(e,r,n,i){for(var a,o=i,s=e[r],l=e[r+1],c=e[n],u=e[n+1],f=r+3;f<n;f+=3){var h=mt(e[f],e[f+1],s,l,c,u);h>o&&(a=f,o=h)}o>i&&(a-r>3&&t(e,r,a,i),e[a+2]=o,n-a>3&&t(e,a,n,i))}(e,0,u,r),e[u+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function wt(t,e,r,n){for(var i=0;i<t.length;i++){var a=[];_t(t[i],a,r,n),e.push(a)}}function kt(t){return t/360+.5}function Mt(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function At(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o<=n)return t;if(a>n||o<r)return null;for(var l=[],c=0;c<t.length;c++){var u=t[c],f=u.geometry,h=u.type,p=0===i?u.minX:u.minY,d=0===i?u.maxX:u.maxY;if(p>=r&&d<=n)l.push(u);else if(!(p>n||d<r)){var g=[];if("Point"===h||"MultiPoint"===h)Tt(f,g,r,n,i);else if("LineString"===h)St(f,g,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===h)Ct(f,g,r,n,i,!1);else if("Polygon"===h)Ct(f,g,r,n,i,!0);else if("MultiPolygon"===h)for(var m=0;m<f.length;m++){var v=[];Ct(f[m],v,r,n,i,!0),v.length&&g.push(v)}if(g.length){if(s.lineMetrics&&"LineString"===h){for(m=0;m<g.length;m++)l.push(vt(u.id,h,g[m],u.tags));continue}"LineString"!==h&&"MultiLineString"!==h||(1===g.length?(h="LineString",g=g[0]):h="MultiLineString"),"Point"!==h&&"MultiPoint"!==h||(h=3===g.length?"Point":"MultiPoint"),l.push(vt(u.id,h,g,u.tags))}}}return l.length?l:null}function Tt(t,e,r,n,i){for(var a=0;a<t.length;a+=3){var o=t[a+i];o>=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function St(t,e,r,n,i,a,o){for(var s,l,c=Et(t),u=0===i?zt:Pt,f=t.start,h=0;h<t.length-3;h+=3){var p=t[h],d=t[h+1],g=t[h+2],m=t[h+3],v=t[h+4],y=0===i?p:d,x=0===i?m:v,b=!1;o&&(s=Math.sqrt(Math.pow(p-m,2)+Math.pow(d-v,2))),y<r?x>=r&&(l=u(c,p,d,m,v,r),o&&(c.start=f+s*l)):y>n?x<=n&&(l=u(c,p,d,m,v,n),o&&(c.start=f+s*l)):Lt(c,p,d,g),x<r&&y>=r&&(l=u(c,p,d,m,v,r),b=!0),x>n&&y<=n&&(l=u(c,p,d,m,v,n),b=!0),!a&&b&&(o&&(c.end=f+s*l),e.push(c),c=Et(t)),o&&(f+=s)}var _=t.length-3;p=t[_],d=t[_+1],g=t[_+2],(y=0===i?p:d)>=r&&y<=n&&Lt(c,p,d,g),_=c.length-3,a&&_>=3&&(c[_]!==c[0]||c[_+1]!==c[1])&&Lt(c,c[0],c[1],c[2]),c.length&&e.push(c)}function Et(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function Ct(t,e,r,n,i,a){for(var o=0;o<t.length;o++)St(t[o],e,r,n,i,a,!1)}function Lt(t,e,r,n){t.push(e),t.push(r),t.push(n)}function zt(t,e,r,n,i,a){var o=(a-e)/(n-e);return t.push(a),t.push(r+(i-r)*o),t.push(1),o}function Pt(t,e,r,n,i,a){var o=(a-r)/(i-r);return t.push(e+(n-e)*o),t.push(a),t.push(1),o}function Ot(t,e){for(var r=[],n=0;n<t.length;n++){var i,a=t[n],o=a.type;if("Point"===o||"MultiPoint"===o||"LineString"===o)i=It(a.geometry,e);else if("MultiLineString"===o||"Polygon"===o){i=[];for(var s=0;s<a.geometry.length;s++)i.push(It(a.geometry[s],e))}else if("MultiPolygon"===o)for(i=[],s=0;s<a.geometry.length;s++){for(var l=[],c=0;c<a.geometry[s].length;c++)l.push(It(a.geometry[s][c],e));i.push(l)}r.push(vt(a.id,o,i,a.tags))}return r}function It(t,e){var r=[];r.size=t.size,void 0!==t.start&&(r.start=t.start,r.end=t.end);for(var n=0;n<t.length;n+=3)r.push(t[n]+e,t[n+1],t[n+2]);return r}function Dt(t,e){if(t.transformed)return t;var r,n,i,a=1<<t.z,o=t.x,s=t.y;for(r=0;r<t.features.length;r++){var l=t.features[r],c=l.geometry,u=l.type;if(l.geometry=[],1===u)for(n=0;n<c.length;n+=2)l.geometry.push(Rt(c[n],c[n+1],e,a,o,s));else for(n=0;n<c.length;n++){var f=[];for(i=0;i<c[n].length;i+=2)f.push(Rt(c[n][i],c[n][i+1],e,a,o,s));l.geometry.push(f)}}return t.transformed=!0,t}function Rt(t,e,r,n,i,a){return[Math.round(r*(t*n-i)),Math.round(r*(e*n-a))]}function Bt(t,e,r,n,i){for(var a=e===i.maxZoom?0:i.tolerance/((1<<e)*i.extent),o={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:n,z:e,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},s=0;s<t.length;s++){o.numFeatures++,Ft(o,t[s],a,i);var l=t[s].minX,c=t[s].minY,u=t[s].maxX,f=t[s].maxY;l<o.minX&&(o.minX=l),c<o.minY&&(o.minY=c),u>o.maxX&&(o.maxX=u),f>o.maxY&&(o.maxY=f)}return o}function Ft(t,e,r,n){var i=e.geometry,a=e.type,o=[];if("Point"===a||"MultiPoint"===a)for(var s=0;s<i.length;s+=3)o.push(i[s]),o.push(i[s+1]),t.numPoints++,t.numSimplified++;else if("LineString"===a)Nt(o,i,t,r,!1,!1);else if("MultiLineString"===a||"Polygon"===a)for(s=0;s<i.length;s++)Nt(o,i[s],t,r,"Polygon"===a,0===s);else if("MultiPolygon"===a)for(var l=0;l<i.length;l++){var c=i[l];for(s=0;s<c.length;s++)Nt(o,c[s],t,r,!0,0===s)}if(o.length){var u=e.tags||null;if("LineString"===a&&n.lineMetrics){for(var f in u={},e.tags)u[f]=e.tags[f];u.mapbox_clip_start=i.start/i.size,u.mapbox_clip_end=i.end/i.size}var h={geometry:o,type:"Polygon"===a||"MultiPolygon"===a?3:"LineString"===a||"MultiLineString"===a?2:1,tags:u};null!==e.id&&(h.id=e.id),t.features.push(h)}}function Nt(t,e,r,n,i,a){var o=n*n;if(n>0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;l<e.length;l+=3)(0===n||e[l+2]>o)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n<i;a=n,n+=2)r+=(t[n]-t[a])*(t[n+1]+t[a+1]);if(r>0===e)for(n=0,i=t.length;n<i/2;n+=2){var o=t[n],s=t[n+1];t[n]=t[i-2-n],t[n+1]=t[i-1-n],t[i-2-n]=o,t[i-1-n]=s}}(s,a),t.push(s)}}function jt(t,e){var r=(e=this.options=function(t,e){for(var r in e)t[r]=e[r];return t}(Object.create(this.options),e)).debug;if(r&&console.time("preprocess data"),e.maxZoom<0||e.maxZoom>24)throw new Error("maxZoom should be in the 0-24 range");var n=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var n=0;n<t.features.length;n++)xt(r,t.features[n],e);else"Feature"===t.type?xt(r,t,e):xt(r,{geometry:t},e);return r}(t,e);this.tiles={},this.tileCoords=[],r&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",e.indexMaxZoom,e.indexMaxPoints),console.time("generate tiles"),this.stats={},this.total=0),(n=function(t,e){var r=e.buffer/e.extent,n=t,i=At(t,1,-1-r,r,0,-1,2,e),a=At(t,1,1-r,2+r,0,-1,2,e);return(i||a)&&(n=At(t,1,-r,1+r,0,-1,2,e)||[],i&&(n=Ot(i,1).concat(n)),a&&(n=n.concat(Ot(a,-1)))),n}(n,e)).length&&this.splitTile(n,0,0,0),r&&(n.length&&console.log("features: %d, points: %d",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd("generate tiles"),console.log("tiles generated:",this.total,JSON.stringify(this.stats)))}function Vt(t,e,r){return 32*((1<<t)*r+e)+t}function Ut(t,e){var r=t.tileID.canonical;if(!this._geoJSONIndex)return e(null,null);var n=this._geoJSONIndex.getTile(r.z,r.x,r.y);if(!n)return e(null,null);var i=new R(n.features),a=V(i);0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),e(null,{vectorTile:i,rawData:a.buffer})}ot.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,initial:function(){return{}},map:function(t){return t}},load:function(t){var e=this.options.log;e&&console.time("total time");var r="prepare "+t.length+" points";e&&console.time(r),this.points=t;var n=t.map(lt);e&&console.timeEnd(r);for(var i=this.options.maxZoom;i>=this.options.minZoom;i--){var a=+Date.now();this.trees[i+1]=rt(n,dt,gt,this.options.nodeSize,Float32Array),n=this._cluster(n,i),e&&console.log("z%d: %d clusters in %dms",i,n.length,+Date.now()-a)}return this.trees[this.options.minZoom]=rt(n,dt,gt,this.options.nodeSize,Float32Array),e&&console.timeEnd("total time"),this},getClusters:function(t,e){for(var r=this.trees[this._limitZoom(e)],n=r.range(ft(t[0]),ht(t[3]),ft(t[2]),ht(t[1])),i=[],a=0;a<n.length;a++){var o=r.points[n[a]];i.push(o.numPoints?ct(o):this.points[o.id])}return i},getChildren:function(t,e){for(var r=this.trees[e+1].points[t],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=this.trees[e+1].within(r.x,r.y,n),a=[],o=0;o<i.length;o++){var s=this.trees[e+1].points[i[o]];s.parentId===t&&a.push(s.numPoints?ct(s):this.points[s.id])}return a},getLeaves:function(t,e,r,n){r=r||10,n=n||0;var i=[];return this._appendLeaves(i,t,e,r,n,0),i},getTile:function(t,e,r){var n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),a=this.options.extent,o=this.options.radius/a,s=(r-o)/i,l=(r+1+o)/i,c={features:[]};return this._addTileFeatures(n.range((e-o)/i,s,(e+1+o)/i,l),n.points,e,r,i,c),0===e&&this._addTileFeatures(n.range(1-o/i,s,1,l),n.points,i,r,i,c),e===i-1&&this._addTileFeatures(n.range(0,s,o/i,l),n.points,-1,r,i,c),c.features.length?c:null},getClusterExpansionZoom:function(t,e){for(;e<this.options.maxZoom;){var r=this.getChildren(t,e);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},_appendLeaves:function(t,e,r,n,i,a){for(var o=this.getChildren(e,r),s=0;s<o.length;s++){var l=o[s].properties;if(l.cluster?a+l.point_count<=i?a+=l.point_count:a=this._appendLeaves(t,l.cluster_id,r+1,n,i,a):a<i?a++:t.push(o[s]),t.length===n)break}return a},_addTileFeatures:function(t,e,r,n,i,a){for(var o=0;o<t.length;o++){var s=e[t[o]];a.features.push({type:1,geometry:[[Math.round(this.options.extent*(s.x*i-r)),Math.round(this.options.extent*(s.y*i-n))]],tags:s.numPoints?ut(s):this.points[s.id].properties})}},_limitZoom:function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},_cluster:function(t,e){for(var r=[],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=0;i<t.length;i++){var a=t[i];if(!(a.zoom<=e)){a.zoom=e;var o=this.trees[e+1],s=o.within(a.x,a.y,n),l=a.numPoints||1,c=a.x*l,u=a.y*l,f=null;this.options.reduce&&(f=this.options.initial(),this._accumulate(f,a));for(var h=0;h<s.length;h++){var p=o.points[s[h]];if(e<p.zoom){var d=p.numPoints||1;p.zoom=e,c+=p.x*d,u+=p.y*d,l+=d,p.parentId=i,this.options.reduce&&this._accumulate(f,p)}}1===l?r.push(a):(a.parentId=i,r.push(st(c/l,u/l,l,i,f)))}}return r},_accumulate:function(t,e){var r=e.numPoints?e.properties:this.options.map(this.points[e.id].properties);this.options.reduce(t,r)}},jt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,debug:0},jt.prototype.splitTile=function(t,e,r,n,i,a,o){for(var s=[t,e,r,n],l=this.options,c=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var u=1<<e,f=Vt(e,r,n),h=this.tiles[f];if(!h&&(c>1&&console.time("creation"),h=this.tiles[f]=Bt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd("creation"));var p="z"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(h.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<<i-e;if(r!==Math.floor(a/d)||n!==Math.floor(o/d))continue}else if(e===l.indexMaxZoom||h.numPoints<=l.indexMaxPoints)continue;if(h.source=null,0!==t.length){c>1&&console.time("clipping");var g,m,v,y,x,b,_=.5*l.buffer/l.extent,w=.5-_,k=.5+_,M=1+_;g=m=v=y=null,x=At(t,u,r-_,r+k,0,h.minX,h.maxX,l),b=At(t,u,r+w,r+M,0,h.minX,h.maxX,l),t=null,x&&(g=At(x,u,n-_,n+k,1,h.minY,h.maxY,l),m=At(x,u,n+w,n+M,1,h.minY,h.maxY,l),x=null),b&&(v=At(b,u,n-_,n+k,1,h.minY,h.maxY,l),y=At(b,u,n+w,n+M,1,h.minY,h.maxY,l),b=null),c>1&&console.timeEnd("clipping"),s.push(g||[],e+1,2*r,2*n),s.push(m||[],e+1,2*r,2*n+1),s.push(v||[],e+1,2*r+1,2*n),s.push(y||[],e+1,2*r+1,2*n+1)}}},jt.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<<t,s=Vt(t,e=(e%o+o)%o,r);if(this.tiles[s])return Dt(this.tiles[s],i);a>1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var l,c=t,u=e,f=r;!l&&c>0;)c--,u=Math.floor(u/2),f=Math.floor(f/2),l=this.tiles[Vt(c,u,f)];return l&&l.source?(a>1&&console.log("found parent tile z%d-%d-%d",c,u,f),a>1&&console.time("drilling down"),this.splitTile(l.source,c,u,f,t,e,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?Dt(this.tiles[s],i):null):null};var qt=function(e){function r(t,r,n){e.call(this,t,r,Ut),n&&(this.loadGeoJSON=n)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var t=this;if(this._pendingCallback&&this._pendingLoadDataParams){var e=this._pendingCallback,r=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams,this.loadGeoJSON(r,function(n,i){if(n||!i)return e(n);if("object"!=typeof i)return e(new Error("Input data is not a valid GeoJSON object."));!function t(e,r){switch(e&&e.type||null){case"FeatureCollection":return e.features=e.features.map(z(t,r)),e;case"Feature":return e.geometry=t(e.geometry,r),e;case"Polygon":case"MultiPolygon":return function(t,e){return"Polygon"===t.type?t.coordinates=P(t.coordinates,e):"MultiPolygon"===t.type&&(t.coordinates=t.coordinates.map(z(P,e))),t}(e,r);default:return e}}(i,!0);try{t._geoJSONIndex=r.cluster?function(t){return new ot(t)}(r.superclusterOptions).load(i.features):new jt(i,r.geojsonVtOptions)}catch(n){return e(n)}t.loaded={};var a={};if(r.request&&r.request.collectResourceTiming){var o=w(r.request.url);o&&(a.resourceTiming={},a.resourceTiming[r.source]=JSON.parse(JSON.stringify(o)))}e(null,a)})}},r.prototype.coalesce=function(){"Coalescing"===this._state?this._state="Idle":"NeedsLoadData"===this._state&&(this._state="Coalescing",this._loadData())},r.prototype.reloadTile=function(t,r){var n=this.loaded,i=t.uid;return n&&n[i]?e.prototype.reloadTile.call(this,t,r):this.loadTile(t,r)},r.prototype.loadGeoJSON=function(e,r){if(e.request)t.getJSON(e.request,r);else{if("string"!=typeof e.data)return r(new Error("Input data is not a valid GeoJSON object."));try{return r(null,JSON.parse(e.data))}catch(t){return r(new Error("Input data is not a valid GeoJSON object."))}}},r.prototype.removeSource=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),e()},r}(M),Ht=function(e){var r=this;this.self=e,this.actor=new t.default$7(e,this),this.layerIndexes={},this.workerSourceTypes={vector:M,geojson:qt},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(t,e){if(r.workerSourceTypes[t])throw new Error('Worker source with name "'+t+'" already registered.');r.workerSourceTypes[t]=e},this.self.registerRTLTextPlugin=function(e){if(t.plugin.isLoaded())throw new Error("RTL text plugin already registered.");t.plugin.applyArabicShaping=e.applyArabicShaping,t.plugin.processBidirectionalText=e.processBidirectionalText}};return Ht.prototype.setLayers=function(t,e,r){this.getLayerIndex(t).replace(e),r()},Ht.prototype.updateLayers=function(t,e,r){this.getLayerIndex(t).update(e.layers,e.removedIds),r()},Ht.prototype.loadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).loadTile(e,r)},Ht.prototype.loadDEMTile=function(t,e,r){this.getDEMWorkerSource(t,e.source).loadTile(e,r)},Ht.prototype.reloadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).reloadTile(e,r)},Ht.prototype.abortTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).abortTile(e,r)},Ht.prototype.removeTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).removeTile(e,r)},Ht.prototype.removeDEMTile=function(t,e){this.getDEMWorkerSource(t,e.source).removeTile(e)},Ht.prototype.removeSource=function(t,e,r){if(this.workerSources[t]&&this.workerSources[t][e.type]&&this.workerSources[t][e.type][e.source]){var n=this.workerSources[t][e.type][e.source];delete this.workerSources[t][e.type][e.source],void 0!==n.removeSource?n.removeSource(e,r):r()}},Ht.prototype.loadWorkerSource=function(t,e,r){try{this.self.importScripts(e.url),r()}catch(t){r(t.toString())}},Ht.prototype.loadRTLTextPlugin=function(e,r,n){try{t.plugin.isLoaded()||(this.self.importScripts(r),n(t.plugin.isLoaded()?null:new Error("RTL Text Plugin failed to import scripts from "+r)))}catch(t){n(t.toString())}},Ht.prototype.getLayerIndex=function(t){var e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new n),e},Ht.prototype.getWorkerSource=function(t,e,r){var n=this;if(this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),!this.workerSources[t][e][r]){var i={send:function(e,r,i){n.actor.send(e,r,i,t)}};this.workerSources[t][e][r]=new this.workerSourceTypes[e](i,this.getLayerIndex(t))}return this.workerSources[t][e][r]},Ht.prototype.getDEMWorkerSource=function(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new A),this.demWorkerSources[t][e]},"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope&&new Ht(self),Ht}),i(0,function(t){var e=t.createCommonjsModule(function(t){function e(t){return!!("undefined"!=typeof window&&"undefined"!=typeof document&&Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray&&Function.prototype&&Function.prototype.bind&&Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions&&"JSON"in window&&"parse"in JSON&&"stringify"in JSON&&function(){if(!("Worker"in window&&"Blob"in window&&"URL"in window))return!1;var t,e,r=new Blob([""],{type:"text/javascript"}),n=URL.createObjectURL(r);try{e=new Worker(n),t=!0}catch(e){t=!1}return e&&e.terminate(),URL.revokeObjectURL(n),t}()&&"Uint8ClampedArray"in window&&function(t){return void 0===r[t]&&(r[t]=function(t){var r=document.createElement("canvas"),n=Object.create(e.webGLContextAttributes);return n.failIfMajorPerformanceCaveat=t,r.probablySupportsContext?r.probablySupportsContext("webgl",n)||r.probablySupportsContext("experimental-webgl",n):r.supportsContext?r.supportsContext("webgl",n)||r.supportsContext("experimental-webgl",n):r.getContext("webgl",n)||r.getContext("experimental-webgl",n)}(t)),r[t]}(t&&t.failIfMajorPerformanceCaveat))}t.exports?t.exports=e:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=e);var r={};e.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}}),r=t.default.performance&&t.default.performance.now?t.default.performance.now.bind(t.default.performance):Date.now.bind(Date),n=t.default.requestAnimationFrame||t.default.mozRequestAnimationFrame||t.default.webkitRequestAnimationFrame||t.default.msRequestAnimationFrame,i=t.default.cancelAnimationFrame||t.default.mozCancelAnimationFrame||t.default.webkitCancelAnimationFrame||t.default.msCancelAnimationFrame,a={now:r,frame:function(t){return n(t)},cancelFrame:function(t){return i(t)},getImageData:function(e){var r=t.default.document.createElement("canvas"),n=r.getContext("2d");if(!n)throw new Error("failed to create canvas 2d context");return r.width=e.width,r.height=e.height,n.drawImage(e,0,0,e.width,e.height),n.getImageData(0,0,e.width,e.height)},hardwareConcurrency:t.default.navigator.hardwareConcurrency||4,get devicePixelRatio(){return t.default.devicePixelRatio},supportsWebp:!1};if(t.default.document){var o=t.default.document.createElement("img");o.onload=function(){a.supportsWebp=!0},o.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="}var s={create:function(e,r,n){var i=t.default.document.createElement(e);return r&&(i.className=r),n&&n.appendChild(i),i},createNS:function(e,r){return t.default.document.createElementNS(e,r)}},l=t.default.document?t.default.document.documentElement.style:null;function c(t){if(!l)return null;for(var e=0;e<t.length;e++)if(t[e]in l)return t[e];return t[0]}var u,f=c(["userSelect","MozUserSelect","WebkitUserSelect","msUserSelect"]);s.disableDrag=function(){l&&f&&(u=l[f],l[f]="none")},s.enableDrag=function(){l&&f&&(l[f]=u)};var h=c(["transform","WebkitTransform"]);s.setTransform=function(t,e){t.style[h]=e};var p=!1;try{var d=Object.defineProperty({},"passive",{get:function(){p=!0}});t.default.addEventListener("test",d,d),t.default.removeEventListener("test",d,d)}catch(t){p=!1}s.addEventListener=function(t,e,r,n){void 0===n&&(n={}),"passive"in n&&p?t.addEventListener(e,r,n):t.addEventListener(e,r,n.capture)},s.removeEventListener=function(t,e,r,n){void 0===n&&(n={}),"passive"in n&&p?t.removeEventListener(e,r,n):t.removeEventListener(e,r,n.capture)};var g=function(e){e.preventDefault(),e.stopPropagation(),t.default.removeEventListener("click",g,!0)};s.suppressClick=function(){t.default.addEventListener("click",g,!0),t.default.setTimeout(function(){t.default.removeEventListener("click",g,!0)},0)},s.mousePos=function(e,r){var n=e.getBoundingClientRect();return r=r.touches?r.touches[0]:r,new t.default$1(r.clientX-n.left-e.clientLeft,r.clientY-n.top-e.clientTop)},s.touchPos=function(e,r){for(var n=e.getBoundingClientRect(),i=[],a="touchend"===r.type?r.changedTouches:r.touches,o=0;o<a.length;o++)i.push(new t.default$1(a[o].clientX-n.left-e.clientLeft,a[o].clientY-n.top-e.clientTop));return i},s.mouseButton=function(e){return void 0!==t.default.InstallTrigger&&2===e.button&&e.ctrlKey&&t.default.navigator.platform.toUpperCase().indexOf("MAC")>=0?0:e.button},s.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var m={API_URL:"https://api.mapbox.com",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null},v="See https://www.mapbox.com/api-documentation/#access-tokens";function y(t,e){var r=A(m.API_URL);if(t.protocol=r.protocol,t.authority=r.authority,"/"!==r.path&&(t.path=""+r.path+t.path),!m.REQUIRE_ACCESS_TOKEN)return T(t);if(!(e=e||m.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+v);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+v);return t.params.push("access_token="+e),T(t)}function x(t){return 0===t.indexOf("mapbox:")}var b=function(t,e){if(!x(t))return t;var r=A(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),y(r,e)},_=function(t,e,r,n){var i=A(t);return x(t)?(i.path="/styles/v1"+i.path+"/sprite"+e+r,y(i,n)):(i.path+=""+e+r,T(i))},w=/(\.(png|jpg)\d*)(?=$)/,k=function(t,e,r){if(!e||!x(e))return t;var n=A(t),i=a.devicePixelRatio>=2||512===r?"@2x":"",o=a.supportsWebp?".webp":"$1";return n.path=n.path.replace(w,""+i+o),function(t){for(var e=0;e<t.length;e++)0===t[e].indexOf("access_token=tk.")&&(t[e]="access_token="+(m.ACCESS_TOKEN||""))}(n.params),T(n)},M=/^(\w+):\/\/([^\/?]*)(\/[^?]+)?\??(.+)?/;function A(t){var e=t.match(M);if(!e)throw new Error("Unable to parse URL object");return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function T(t){var e=t.params.length?"?"+t.params.join("&"):"";return t.protocol+"://"+t.authority+t.path+e}var S=t.default.HTMLImageElement,E=t.default.HTMLCanvasElement,C=t.default.HTMLVideoElement,L=t.default.ImageData,z=function(t,e,r,n){this.context=t,this.format=r,this.texture=t.gl.createTexture(),this.update(e,n)};z.prototype.update=function(t,e){var r=t.width,n=t.height,i=!this.size||this.size[0]!==r||this.size[1]!==n,a=this.context,o=a.gl;this.useMipmap=Boolean(e&&e.useMipmap),o.bindTexture(o.TEXTURE_2D,this.texture),i?(this.size=[r,n],a.pixelStoreUnpack.set(1),this.format!==o.RGBA||e&&!1===e.premultiply||a.pixelStoreUnpackPremultiplyAlpha.set(!0),t instanceof S||t instanceof E||t instanceof C||t instanceof L?o.texImage2D(o.TEXTURE_2D,0,this.format,this.format,o.UNSIGNED_BYTE,t):o.texImage2D(o.TEXTURE_2D,0,this.format,r,n,0,this.format,o.UNSIGNED_BYTE,t.data)):t instanceof S||t instanceof E||t instanceof C||t instanceof L?o.texSubImage2D(o.TEXTURE_2D,0,0,0,o.RGBA,o.UNSIGNED_BYTE,t):o.texSubImage2D(o.TEXTURE_2D,0,0,0,r,n,o.RGBA,o.UNSIGNED_BYTE,t.data),this.useMipmap&&this.isSizePowerOfTwo()&&o.generateMipmap(o.TEXTURE_2D)},z.prototype.bind=function(t,e,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),r!==n.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=n.LINEAR),t!==this.filter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,r||t),this.filter=t),e!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,e),this.wrap=e)},z.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0},z.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null};var P=function(){this.images={},this.loaded=!1,this.requestors=[],this.shelfPack=new t.default$2(64,64,{autoResize:!0}),this.patterns={},this.atlasImage=new t.RGBAImage({width:64,height:64}),this.dirty=!0};P.prototype.isLoaded=function(){return this.loaded},P.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e<r.length;e+=1){var n=r[e],i=n.ids,a=n.callback;this._notify(i,a)}this.requestors=[]}},P.prototype.getImage=function(t){return this.images[t]},P.prototype.addImage=function(t,e){this.images[t]=e},P.prototype.removeImage=function(t){delete this.images[t];var e=this.patterns[t];e&&(this.shelfPack.unref(e.bin),delete this.patterns[t])},P.prototype.getImages=function(t,e){var r=!0;if(!this.isLoaded())for(var n=0,i=t;n<i.length;n+=1){var a=i[n];this.images[a]||(r=!1)}this.isLoaded()||r?this._notify(t,e):this.requestors.push({ids:t,callback:e})},P.prototype._notify=function(t,e){for(var r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=this.images[a];o&&(r[a]={data:o.data.clone(),pixelRatio:o.pixelRatio,sdf:o.sdf})}e(null,r)},P.prototype.getPixelSize=function(){return{width:this.shelfPack.w,height:this.shelfPack.h}},P.prototype.getPattern=function(e){var r=this.patterns[e];if(r)return r.position;var n=this.getImage(e);if(!n)return null;var i=n.data.width+2,a=n.data.height+2,o=this.shelfPack.packOne(i,a);if(!o)return null;this.atlasImage.resize(this.getPixelSize());var s=n.data,l=this.atlasImage,c=o.x+1,u=o.y+1,f=s.width,h=s.height;t.RGBAImage.copy(s,l,{x:0,y:0},{x:c,y:u},{width:f,height:h}),t.RGBAImage.copy(s,l,{x:0,y:h-1},{x:c,y:u-1},{width:f,height:1}),t.RGBAImage.copy(s,l,{x:0,y:0},{x:c,y:u+h},{width:f,height:1}),t.RGBAImage.copy(s,l,{x:f-1,y:0},{x:c-1,y:u},{width:1,height:h}),t.RGBAImage.copy(s,l,{x:0,y:0},{x:c+f,y:u},{width:1,height:h}),this.dirty=!0;var p=new t.ImagePosition(o,n);return this.patterns[e]={bin:o,position:p},p},P.prototype.bind=function(t){var e=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new z(t,this.atlasImage,e.RGBA),this.atlasTexture.bind(e.LINEAR,e.CLAMP_TO_EDGE)};var O=D,I=1e20;function D(t,e,r,n,i,a){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=i||"sans-serif",this.fontWeight=a||"normal",this.radius=r||8;var o=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=o,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textBaseline="middle",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(o*o),this.gridInner=new Float64Array(o*o),this.f=new Float64Array(o),this.d=new Float64Array(o),this.z=new Float64Array(o+1),this.v=new Int16Array(o),this.middle=Math.round(o/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function R(t,e,r,n,i,a,o){for(var s=0;s<e;s++){for(var l=0;l<r;l++)n[l]=t[l*e+s];for(B(n,i,a,o,r),l=0;l<r;l++)t[l*e+s]=i[l]}for(l=0;l<r;l++){for(s=0;s<e;s++)n[s]=t[l*e+s];for(B(n,i,a,o,e),s=0;s<e;s++)t[l*e+s]=Math.sqrt(i[s])}}function B(t,e,r,n,i){r[0]=0,n[0]=-I,n[1]=+I;for(var a=1,o=0;a<i;a++){for(var s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);s<=n[o];)o--,s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);r[++o]=a,n[o]=s,n[o+1]=+I}for(a=0,o=0;a<i;a++){for(;n[o+1]<a;)o++;e[a]=(a-r[o])*(a-r[o])+t[r[o]]}}D.prototype.draw=function(t){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(t,this.buffer,this.middle);for(var e=this.ctx.getImageData(0,0,this.size,this.size),r=new Uint8ClampedArray(this.size*this.size),n=0;n<this.size*this.size;n++){var i=e.data[4*n+3]/255;this.gridOuter[n]=1===i?0:0===i?I:Math.pow(Math.max(0,.5-i),2),this.gridInner[n]=1===i?I:0===i?0:Math.pow(Math.max(0,i-.5),2)}for(R(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),R(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),n=0;n<this.size*this.size;n++){var a=this.gridOuter[n]-this.gridInner[n];r[n]=Math.max(0,Math.min(255,Math.round(255-255*(a/this.radius+this.cutoff))))}return r};var F=function(t,e){this.requestTransform=t,this.localIdeographFontFamily=e,this.entries={}};F.prototype.setURL=function(t){this.url=t},F.prototype.getGlyphs=function(e,r){var n=this,i=[];for(var a in e)for(var o=0,s=e[a];o<s.length;o+=1){var l=s[o];i.push({stack:a,id:l})}t.asyncAll(i,function(t,e){var r=t.stack,i=t.id,a=n.entries[r];a||(a=n.entries[r]={glyphs:{},requests:{}});var o=a.glyphs[i];if(void 0===o)if(o=n._tinySDF(a,r,i))e(null,{stack:r,id:i,glyph:o});else{var s=Math.floor(i/256);if(256*s>65535)e(new Error("glyphs > 65535 not supported"));else{var l=a.requests[s];l||(l=a.requests[s]=[],F.loadGlyphRange(r,s,n.url,n.requestTransform,function(t,e){if(e)for(var r in e)a.glyphs[+r]=e[+r];for(var n=0,i=l;n<i.length;n+=1)(0,i[n])(t,e);delete a.requests[s]})),l.push(function(t,n){t?e(t):n&&e(null,{stack:r,id:i,glyph:n[i]||null})})}}else e(null,{stack:r,id:i,glyph:o})},function(t,e){if(t)r(t);else if(e){for(var n={},i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.stack,l=o.id,c=o.glyph;(n[s]||(n[s]={}))[l]=c&&{id:c.id,bitmap:c.bitmap.clone(),metrics:c.metrics}}r(null,n)}})},F.prototype._tinySDF=function(e,r,n){var i=this.localIdeographFontFamily;if(i&&(t.default$4["CJK Unified Ideographs"](n)||t.default$4["Hangul Syllables"](n))){var a=e.tinySDF;if(!a){var o="400";/bold/i.test(r)?o="900":/medium/i.test(r)?o="500":/light/i.test(r)&&(o="200"),a=e.tinySDF=new F.TinySDF(24,3,8,.25,i,o)}return{id:n,bitmap:new t.AlphaImage({width:30,height:30},a.draw(String.fromCharCode(n))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},F.loadGlyphRange=function(e,r,n,i,a){var o=256*r,s=o+255,l=i(function(t,e){if(!x(t))return t;var r=A(t);return r.path="/fonts/v1"+r.path,y(r,e)}(n).replace("{fontstack}",e).replace("{range}",o+"-"+s),t.ResourceType.Glyphs);t.getArrayBuffer(l,function(e,r){if(e)a(e);else if(r){for(var n={},i=0,o=t.default$3(r.data);i<o.length;i+=1){var s=o[i];n[s.id]=s}a(null,n)}})},F.TinySDF=O;var N=function(){this.specification=t.default$5.light.position};N.prototype.possiblyEvaluate=function(e,r){return t.sphericalToCartesian(e.expression.evaluate(r))},N.prototype.interpolate=function(e,r,n){return{x:t.number(e.x,r.x,n),y:t.number(e.y,r.y,n),z:t.number(e.z,r.z,n)}};var j=new t.Properties({anchor:new t.DataConstantProperty(t.default$5.light.anchor),position:new N,color:new t.DataConstantProperty(t.default$5.light.color),intensity:new t.DataConstantProperty(t.default$5.light.intensity)}),V=function(e){function r(r){e.call(this),this._transitionable=new t.Transitionable(j),this.setLight(r),this._transitioning=this._transitionable.untransitioned()}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getLight=function(){return this._transitionable.serialize()},r.prototype.setLight=function(e){if(!this._validate(t.validateLight,e))for(var r in e){var n=e[r];t.endsWith(r,"-transition")?this._transitionable.setTransition(r.slice(0,-"-transition".length),n):this._transitionable.setValue(r,n)}},r.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)},r.prototype.hasTransition=function(){return this._transitioning.hasTransition()},r.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t)},r.prototype._validate=function(e,r){return t.emitValidationErrors(this,e.call(t.validateStyle,t.extend({value:r,style:{glyphs:!0,sprite:!0},styleSpec:t.default$5})))},r}(t.Evented),U=function(t,e){this.width=t,this.height=e,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};U.prototype.getDash=function(t,e){var r=t.join(",")+String(e);return this.positions[r]||(this.positions[r]=this.addDash(t,e)),this.positions[r]},U.prototype.addDash=function(e,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.warnOnce("LineAtlas out of space"),null;for(var a=0,o=0;o<e.length;o++)a+=e[o];for(var s=this.width/a,l=s/2,c=e.length%2==1,u=-n;u<=n;u++)for(var f=this.nextRow+n+u,h=this.width*f,p=c?-e[e.length-1]:0,d=e[0],g=1,m=0;m<this.width;m++){for(;d<m/s;)p=d,d+=e[g],c&&g===e.length-1&&(d+=e[0]),g++;var v=Math.abs(m-p*s),y=Math.abs(m-d*s),x=Math.min(v,y),b=g%2==1,_=void 0;if(r){var w=n?u/n*(l+1):0;if(b){var k=l-Math.abs(w);_=Math.sqrt(x*x+k*k)}else _=l-Math.sqrt(x*x+w*w)}else _=(b?1:-1)*x;this.data[3+4*(h+m)]=Math.max(0,Math.min(255,_+128))}var M={y:(this.nextRow+n+.5)/this.height,height:2*n/this.height,width:a};return this.nextRow+=i,this.dirty=!0,M},U.prototype.bind=function(t){var e=t.gl;this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,e.texSubImage2D(e.TEXTURE_2D,0,0,0,this.width,this.height,e.RGBA,e.UNSIGNED_BYTE,this.data))):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,this.width,this.height,0,e.RGBA,e.UNSIGNED_BYTE,this.data))};var q=function e(r,n){this.workerPool=r,this.actors=[],this.currentActor=0,this.id=t.uniqueId();for(var i=this.workerPool.acquire(this.id),a=0;a<i.length;a++){var o=i[a],s=new e.Actor(o,n,this.id);s.name="Worker "+a,this.actors.push(s)}};function H(e,r,n){var i=function(e,r){if(e)return n(e);if(r){var i=t.pick(r,["tiles","minzoom","maxzoom","attribution","mapbox_logo","bounds"]);r.vector_layers&&(i.vectorLayers=r.vector_layers,i.vectorLayerIds=i.vectorLayers.map(function(t){return t.id})),n(null,i)}};e.url?t.getJSON(r(b(e.url),t.ResourceType.Source),i):a.frame(function(){return i(null,e)})}q.prototype.broadcast=function(e,r,n){n=n||function(){},t.asyncAll(this.actors,function(t,n){t.send(e,r,n)},n)},q.prototype.send=function(t,e,r,n){return("number"!=typeof n||isNaN(n))&&(n=this.currentActor=(this.currentActor+1)%this.actors.length),this.actors[n].send(t,e,r),n},q.prototype.remove=function(){this.actors.forEach(function(t){t.remove()}),this.actors=[],this.workerPool.release(this.id)},q.Actor=t.default$7;var G=function(t,e){if(isNaN(t)||isNaN(e))throw new Error("Invalid LngLat object: ("+t+", "+e+")");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};G.prototype.wrap=function(){return new G(t.wrap(this.lng,-180,180),this.lat)},G.prototype.toArray=function(){return[this.lng,this.lat]},G.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},G.prototype.toBounds=function(t){var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new W(new G(this.lng-r,this.lat-e),new G(this.lng+r,this.lat+e))},G.convert=function(t){if(t instanceof G)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new G(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new G(Number(t.lng),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]")};var W=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};W.prototype.setNorthEast=function(t){return this._ne=t instanceof G?new G(t.lng,t.lat):G.convert(t),this},W.prototype.setSouthWest=function(t){return this._sw=t instanceof G?new G(t.lng,t.lat):G.convert(t),this},W.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof G)e=t,r=t;else{if(!(t instanceof W))return Array.isArray(t)?t.every(Array.isArray)?this.extend(W.convert(t)):this.extend(G.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new G(e.lng,e.lat),this._ne=new G(r.lng,r.lat)),this},W.prototype.getCenter=function(){return new G((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},W.prototype.getSouthWest=function(){return this._sw},W.prototype.getNorthEast=function(){return this._ne},W.prototype.getNorthWest=function(){return new G(this.getWest(),this.getNorth())},W.prototype.getSouthEast=function(){return new G(this.getEast(),this.getSouth())},W.prototype.getWest=function(){return this._sw.lng},W.prototype.getSouth=function(){return this._sw.lat},W.prototype.getEast=function(){return this._ne.lng},W.prototype.getNorth=function(){return this._ne.lat},W.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},W.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},W.prototype.isEmpty=function(){return!(this._sw&&this._ne)},W.convert=function(t){return!t||t instanceof W?t:new W(t)};var Y=function(t,e,r){this.bounds=W.convert(this.validateBounds(t)),this.minzoom=e||0,this.maxzoom=r||24};Y.prototype.validateBounds=function(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]},Y.prototype.contains=function(t){var e=Math.floor(this.lngX(this.bounds.getWest(),t.z)),r=Math.floor(this.latY(this.bounds.getNorth(),t.z)),n=Math.ceil(this.lngX(this.bounds.getEast(),t.z)),i=Math.ceil(this.latY(this.bounds.getSouth(),t.z));return t.x>=e&&t.x<n&&t.y>=r&&t.y<i},Y.prototype.lngX=function(t,e){return(t+180)*(Math.pow(2,e)/360)},Y.prototype.latY=function(e,r){var n=t.clamp(Math.sin(Math.PI/180*e),-.9999,.9999),i=Math.pow(2,r)/(2*Math.PI);return Math.pow(2,r-1)+.5*Math.log((1+n)/(1-n))*-i};var X=function(e){function r(r,n,i,a){if(e.call(this),this.id=r,this.dispatcher=i,this.type="vector",this.minzoom=0,this.maxzoom=22,this.scheme="xyz",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,t.extend(this,t.pick(n,["url","scheme","tileSize"])),this._options=t.extend({type:"vector"},n),this._collectResourceTiming=n.collectResourceTiming,512!==this.tileSize)throw new Error("vector tile sources must have a tileSize of 512");this.setEventedParent(a)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this.fire(new t.Event("dataloading",{dataType:"source"})),H(this._options,this.map._transformRequest,function(r,n){r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new Y(n.bounds,e.minzoom,e.maxzoom)),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))})},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.loadTile=function(e,r){var n=k(e.tileID.canonical.url(this.tiles,this.scheme),this.url),i={request:this.map._transformRequest(n,t.ResourceType.Tile),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:a.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes};function o(t,n){return e.aborted?r(null):t?r(t):(n&&n.resourceTiming&&(e.resourceTiming=n.resourceTiming),this.map._refreshExpiredTiles&&e.setExpiryData(n),e.loadVectorData(n,this.map.painter),r(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}i.request.collectResourceTiming=this._collectResourceTiming,void 0===e.workerID||"expired"===e.state?e.workerID=this.dispatcher.send("loadTile",i,o.bind(this)):"loading"===e.state?e.reloadCallback=r:this.dispatcher.send("reloadTile",i,o.bind(this),e.workerID)},r.prototype.abortTile=function(t){this.dispatcher.send("abortTile",{uid:t.uid,type:this.type,source:this.id},void 0,t.workerID)},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send("removeTile",{uid:t.uid,type:this.type,source:this.id},void 0,t.workerID)},r.prototype.hasTransition=function(){return!1},r}(t.Evented),Z=function(e){function r(r,n,i,a){e.call(this),this.id=r,this.dispatcher=i,this.setEventedParent(a),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=t.extend({},n),t.extend(this,t.pick(n,["url","scheme","tileSize"]))}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this.fire(new t.Event("dataloading",{dataType:"source"})),H(this._options,this.map._transformRequest,function(r,n){r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new Y(n.bounds,e.minzoom,e.maxzoom)),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))})},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.loadTile=function(e,r){var n=this,i=k(e.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);e.request=t.getImage(this.map._transformRequest(i,t.ResourceType.Tile),function(t,i){if(delete e.request,e.aborted)e.state="unloaded",r(null);else if(t)e.state="errored",r(t);else if(i){n.map._refreshExpiredTiles&&e.setExpiryData(i),delete i.cacheControl,delete i.expires;var a=n.map.painter.context,o=a.gl;e.texture=n.map.painter.getTileTexture(i.width),e.texture?e.texture.update(i,{useMipmap:!0}):(e.texture=new z(a,i,o.RGBA,{useMipmap:!0}),e.texture.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),a.extTextureFilterAnisotropic&&o.texParameterf(o.TEXTURE_2D,a.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,a.extTextureFilterAnisotropicMax)),e.state="loaded",r(null)}})},r.prototype.abortTile=function(t,e){t.request&&(t.request.abort(),delete t.request),e()},r.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()},r.prototype.hasTransition=function(){return!1},r}(t.Evented),$=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),this.type="raster-dem",this.maxzoom=22,this._options=t.extend({},n),this.encoding=n.encoding||"mapbox"}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.serialize=function(){return{type:"raster-dem",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},r.prototype.loadTile=function(e,r){var n=k(e.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);e.request=t.getImage(this.map._transformRequest(n,t.ResourceType.Tile),function(t,n){if(delete e.request,e.aborted)e.state="unloaded",r(null);else if(t)e.state="errored",r(t);else if(n){this.map._refreshExpiredTiles&&e.setExpiryData(n),delete n.cacheControl,delete n.expires;var i=a.getImageData(n),o={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:i,encoding:this.encoding};e.workerID&&"expired"!==e.state||(e.workerID=this.dispatcher.send("loadDEMTile",o,function(t,n){t&&(e.state="errored",r(t)),n&&(e.dem=n,e.needsHillshadePrepare=!0,e.state="loaded",r(null))}.bind(this)))}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID)},r.prototype._getNeighboringTiles=function(e){var r=e.canonical,n=Math.pow(2,r.z),i=(r.x-1+n)%n,a=0===r.x?e.wrap-1:e.wrap,o=(r.x+1+n)%n,s=r.x+1===n?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y).key]={backfilled:!1},r.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+1<n&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y+1).key]={backfilled:!1}),l},r.prototype.unloadTile=function(t){t.demTexture&&this.map.painter.saveTileTexture(t.demTexture),t.fbo&&(t.fbo.destroy(),delete t.fbo),t.dem&&delete t.dem,delete t.neighboringTiles,t.state="unloaded",this.dispatcher.send("removeDEMTile",{uid:t.uid,source:this.id},void 0,t.workerID)},r}(Z),J=function(e){function r(r,n,i,a){e.call(this),this.id=r,this.type="geojson",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this.dispatcher=i,this.setEventedParent(a),this._data=n.data,this._options=t.extend({},n),this._collectResourceTiming=n.collectResourceTiming,this._resourceTiming=[],void 0!==n.maxzoom&&(this.maxzoom=n.maxzoom),n.type&&(this.type=n.type);var o=t.default$8/this.tileSize;this.workerOptions=t.extend({source:this.id,cluster:n.cluster||!1,geojsonVtOptions:{buffer:(void 0!==n.buffer?n.buffer:128)*o,tolerance:(void 0!==n.tolerance?n.tolerance:.375)*o,extent:t.default$8,maxZoom:this.maxzoom,lineMetrics:n.lineMetrics||!1},superclusterOptions:{maxZoom:void 0!==n.clusterMaxZoom?Math.min(n.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,extent:t.default$8,radius:(n.clusterRadius||50)*o,log:!1}},n.workerOptions)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData(function(r){if(r)e.fire(new t.ErrorEvent(r));else{var n={dataType:"source",sourceDataType:"metadata"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event("data",n))}})},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData(function(e){if(e)return r.fire(new t.ErrorEvent(e));var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event("data",n))}),this},r.prototype._updateWorkerData=function(e){var r,n,i=this,a=t.extend({},this.workerOptions),o=this._data;"string"==typeof o?(a.request=this.map._transformRequest((r=o,(n=t.default.document.createElement("a")).href=r,n.href),t.ResourceType.Source),a.request.collectResourceTiming=this._collectResourceTiming):a.data=JSON.stringify(o),this.workerID=this.dispatcher.send(this.type+"."+a.source+".loadData",a,function(t,r){i._removed||r&&r.abandoned||(i._loaded=!0,r&&r.resourceTiming&&r.resourceTiming[i.id]&&(i._resourceTiming=r.resourceTiming[i.id].slice(0)),i.dispatcher.send(i.type+"."+a.source+".coalesce",null,null,i.workerID),e(t))},this.workerID)},r.prototype.loadTile=function(t,e){var r=this,n=void 0===t.workerID?"loadTile":"reloadTile",i={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:a.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(n,i,function(i,a){return t.unloadVectorData(),t.aborted?e(null):i?e(i):(t.loadVectorData(a,r.map.painter,"reloadTile"===n),e(null))},this.workerID)},r.prototype.abortTile=function(t){t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send("removeTile",{uid:t.uid,type:this.type,source:this.id},null,t.workerID)},r.prototype.onRemove=function(){this._removed=!0,this.dispatcher.send("removeSource",{type:this.type,source:this.id},null,this.workerID)},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),K=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),Q=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};Q.prototype.bind=function(t,e,r,n,i,a,o,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==n.length,c=0;!l&&c<n.length;c++)this.boundPaintVertexBuffers[c]!==n[c]&&(l=!0);var u=!this.vao||this.boundProgram!==e||this.boundLayoutVertexBuffer!==r||l||this.boundIndexBuffer!==i||this.boundVertexOffset!==a||this.boundDynamicVertexBuffer!==o||this.boundDynamicVertexBuffer2!==s;!t.extVertexArrayObject||u?this.freshBind(e,r,n,i,a,o,s):(t.bindVertexArrayOES.set(this.vao),o&&o.bind(),i&&i.dynamicDraw&&i.bind(),s&&s.bind())},Q.prototype.freshBind=function(t,e,r,n,i,a,o){var s,l=t.numAttributes,c=this.context,u=c.gl;if(c.extVertexArrayObject)this.vao&&this.destroy(),this.vao=c.extVertexArrayObject.createVertexArrayOES(),c.bindVertexArrayOES.set(this.vao),s=0,this.boundProgram=t,this.boundLayoutVertexBuffer=e,this.boundPaintVertexBuffers=r,this.boundIndexBuffer=n,this.boundVertexOffset=i,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=o;else{s=c.currentNumAttributes||0;for(var f=l;f<s;f++)u.disableVertexAttribArray(f)}e.enableAttributes(u,t);for(var h=0,p=r;h<p.length;h+=1)p[h].enableAttributes(u,t);a&&a.enableAttributes(u,t),o&&o.enableAttributes(u,t),e.bind(),e.setVertexAttribPointers(u,t,i);for(var d=0,g=r;d<g.length;d+=1){var m=g[d];m.bind(),m.setVertexAttribPointers(u,t,i)}a&&(a.bind(),a.setVertexAttribPointers(u,t,i)),n&&n.bind(),o&&(o.bind(),o.setVertexAttribPointers(u,t,i)),c.currentNumAttributes=l},Q.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)};var tt=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._transformRequest(this.url,t.ResourceType.Image),function(r,n){r?e.fire(new t.ErrorEvent(r)):n&&(e.image=a.getImageData(n),e._finishLoading())})},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){this.coordinates=e;var r=this.map,n=e.map(function(t){return r.transform.locationCoordinate(G.convert(t)).zoomTo(0)}),i=this.centerCoord=t.getCoordinatesCenter(n);i.column=Math.floor(i.column),i.row=Math.floor(i.row),this.tileID=new t.CanonicalTileID(i.zoom,i.column,i.row),this.minzoom=this.maxzoom=i.zoom;var a=n.map(function(e){var r=e.zoomTo(i.zoom);return new t.default$1(Math.round((r.column-i.column)*t.default$8),Math.round((r.row-i.row)*t.default$8))});return this._boundsArray=new t.RasterBoundsArray,this._boundsArray.emplaceBack(a[0].x,a[0].y,0,0),this._boundsArray.emplaceBack(a[1].x,a[1].y,t.default$8,0),this._boundsArray.emplaceBack(a[3].x,a[3].y,0,t.default$8),this._boundsArray.emplaceBack(a[2].x,a[2].y,t.default$8,t.default$8),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})),this},r.prototype.prepare=function(){if(0!==Object.keys(this.tiles).length&&this.image){var t=this.map.painter.context,e=t.gl;for(var r in this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,K.members)),this.boundsVAO||(this.boundsVAO=new Q),this.texture||(this.texture=new z(t,this.image,e.RGBA),this.texture.bind(e.LINEAR,e.CLAMP_TO_EDGE)),this.tiles){var n=this.tiles[r];"loaded"!==n.state&&(n.state="loaded",n.texture=this.texture)}}},r.prototype.loadTile=function(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state="errored",e(null))},r.prototype.serialize=function(){return{type:"image",url:this.options.url,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return!1},r}(t.Evented),et=function(e){function r(t,r,n,i){e.call(this,t,r,n,i),this.roundZoom=!0,this.type="video",this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this,r=this.options;this.urls=[];for(var n=0,i=r.urls;n<i.length;n+=1){var a=i[n];e.urls.push(e.map._transformRequest(a,t.ResourceType.Source).url)}t.getVideo(this.urls,function(r,n){r?e.fire(new t.ErrorEvent(r)):n&&(e.video=n,e.video.loop=!0,e.video.addEventListener("playing",function(){e.map._rerender()}),e.map&&e.video.play(),e._finishLoading())})},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var t=this.map.painter.context,e=t.gl;for(var r in this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,K.members)),this.boundsVAO||(this.boundsVAO=new Q),this.texture?this.video.paused||(this.texture.bind(e.LINEAR,e.CLAMP_TO_EDGE),e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,this.video)):(this.texture=new z(t,this.video,e.RGBA),this.texture.bind(e.LINEAR,e.CLAMP_TO_EDGE)),this.tiles){var n=this.tiles[r];"loaded"!==n.state&&(n.state="loaded",n.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(tt),rt=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some(function(t){return!Array.isArray(t)||2!==t.length||t.some(function(t){return"number"!=typeof t})})||this.fire(new t.ErrorEvent(new t.default$9("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.default$9("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.default$9("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"==typeof n.canvas||n.canvas instanceof t.default.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.default$9("sources."+r,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.default$9("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this.canvas||(this.canvas=this.options.canvas instanceof t.default.HTMLCanvasElement?this.options.canvas:t.default.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map._rerender()},this.pause=function(){this._playing=!1},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,K.members)),this.boundsVAO||(this.boundsVAO=new Q),this.texture?t?this.texture.update(this.canvas):this._playing&&(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.canvas)):(this.texture=new z(e,this.canvas,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];t<e.length;t+=1){var r=e[t];if(isNaN(r)||r<=0)return!0}return!1},r}(tt),nt={vector:X,raster:Z,"raster-dem":$,geojson:J,video:et,image:tt,canvas:rt},it=function(e,r,n,i){var a=new nt[r.type](e,r,n,i);if(a.id!==e)throw new Error("Expected Source id to be "+e+" instead of "+a.id);return t.bindAll(["load","abort","unload","serialize","prepare"],a),a};function at(t,e,r,n,i){var a=i.maxPitchScaleFactor(),o=t.tilesIn(r,a);o.sort(ot);for(var s=[],l=0,c=o;l<c.length;l+=1){var u=c[l];s.push({wrappedTileID:u.tileID.wrapped().key,queryResults:u.tile.queryRenderedFeatures(e,u.queryGeometry,u.scale,n,i,a,t.transform.calculatePosMatrix(u.tileID.toUnwrapped()))})}return function(t){for(var e={},r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.queryResults,s=a.wrappedTileID,l=r[s]=r[s]||{};for(var c in o)for(var u=o[c],f=l[c]=l[c]||{},h=e[c]=e[c]||[],p=0,d=u;p<d.length;p+=1){var g=d[p];f[g.featureIndex]||(f[g.featureIndex]=!0,h.push(g.feature))}}return e}(s)}function ot(t,e){var r=t.tileID,n=e.tileID;return r.overscaledZ-n.overscaledZ||r.canonical.y-n.canonical.y||r.wrap-n.wrap||r.canonical.x-n.canonical.x}var st=function(e,r){this.tileID=e,this.uid=t.uniqueId(),this.uses=0,this.tileSize=r,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.expiredRequestCount=0,this.state="loading"};st.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e<a.now()||this.fadeEndTime&&e<this.fadeEndTime||(this.fadeEndTime=e)},st.prototype.wasRequested=function(){return"errored"===this.state||"loaded"===this.state||"reloading"===this.state},st.prototype.loadVectorData=function(e,r,n){if(this.hasData()&&this.unloadVectorData(),this.state="loaded",e){if(e.featureIndex&&(this.latestFeatureIndex=e.featureIndex,e.rawTileData?(this.latestRawTileData=e.rawTileData,this.latestFeatureIndex.rawTileData=e.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=e.collisionBoxArray,this.buckets=function(t,e){var r={};if(!e)return r;for(var n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.layerIds.map(function(t){return e.getLayer(t)}).filter(Boolean);if(0!==o.length){a.layers=o;for(var s=0,l=o;s<l.length;s+=1)r[l[s].id]=a}}return r}(e.buckets,r.style),n)for(var i in this.buckets){var a=this.buckets[i];a instanceof t.default$14&&(a.justReloaded=!0)}for(var o in this.queryPadding=0,this.buckets){var s=this.buckets[o];this.queryPadding=Math.max(this.queryPadding,r.style.getLayer(s.layerIds[0]).queryRadius(s))}e.iconAtlasImage&&(this.iconAtlasImage=e.iconAtlasImage),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage)}else this.collisionBoxArray=new t.CollisionBoxArray},st.prototype.unloadVectorData=function(){for(var t in this.buckets)this.buckets[t].destroy();this.buckets={},this.iconAtlasTexture&&this.iconAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"},st.prototype.unloadDEMData=function(){this.dem=null,this.neighboringTiles=null,this.state="unloaded"},st.prototype.getBucket=function(t){return this.buckets[t.id]},st.prototype.upload=function(t){for(var e in this.buckets){var r=this.buckets[e];r.uploaded||(r.upload(t),r.uploaded=!0)}var n=t.gl;this.iconAtlasImage&&(this.iconAtlasTexture=new z(t,this.iconAtlasImage,n.RGBA),this.iconAtlasImage=null),this.glyphAtlasImage&&(this.glyphAtlasTexture=new z(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)},st.prototype.queryRenderedFeatures=function(t,e,r,n,i,a,o){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:e,scale:r,tileSize:this.tileSize,posMatrix:o,transform:i,params:n,queryPadding:this.queryPadding*a},t):{}},st.prototype.querySourceFeatures=function(e,r){if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData){var n=this.latestFeatureIndex.loadVTLayers(),i=r?r.sourceLayer:"",a=n._geojsonTileLayer||n[i];if(a)for(var o=t.default$13(r&&r.filter),s={z:this.tileID.overscaledZ,x:this.tileID.canonical.x,y:this.tileID.canonical.y},l=0;l<a.length;l++){var c=a.feature(l);if(o(new t.default$16(this.tileID.overscaledZ),c)){var u=new t.default$12(c,s.z,s.x,s.y);u.tile=s,e.push(u)}}}},st.prototype.clearMask=function(){this.segments&&(this.segments.destroy(),delete this.segments),this.maskedBoundsBuffer&&(this.maskedBoundsBuffer.destroy(),delete this.maskedBoundsBuffer),this.maskedIndexBuffer&&(this.maskedIndexBuffer.destroy(),delete this.maskedIndexBuffer)},st.prototype.setMask=function(e,r){if(!t.default$10(this.mask,e)&&(this.mask=e,this.clearMask(),!t.default$10(e,{0:!0}))){var n=new t.RasterBoundsArray,i=new t.TriangleIndexArray;this.segments=new t.default$15,this.segments.prepareSegment(0,n,i);for(var a=Object.keys(e),o=0;o<a.length;o++){var s=e[a[o]],l=t.default$8>>s.z,c=new t.default$1(s.x*l,s.y*l),u=new t.default$1(c.x+l,c.y+l),f=this.segments.prepareSegment(4,n,i);n.emplaceBack(c.x,c.y,c.x,c.y),n.emplaceBack(u.x,c.y,u.x,c.y),n.emplaceBack(c.x,u.y,c.x,u.y),n.emplaceBack(u.x,u.y,u.x,u.y);var h=f.vertexLength;i.emplaceBack(h,h+1,h+2),i.emplaceBack(h+1,h+2,h+3),f.vertexLength+=4,f.primitiveLength+=2}this.maskedBoundsBuffer=r.createVertexBuffer(n,K.members),this.maskedIndexBuffer=r.createIndexBuffer(i)}},st.prototype.hasData=function(){return"loaded"===this.state||"reloading"===this.state||"expired"===this.state},st.prototype.setExpiryData=function(e){var r=this.expirationTime;if(e.cacheControl){var n=t.parseCacheControl(e.cacheControl);n["max-age"]&&(this.expirationTime=Date.now()+1e3*n["max-age"])}else e.expires&&(this.expirationTime=new Date(e.expires).getTime());if(this.expirationTime){var i=Date.now(),a=!1;if(this.expirationTime>i)a=!1;else if(r)if(this.expirationTime<r)a=!0;else{var o=this.expirationTime-r;o?this.expirationTime=i+Math.max(o,3e4):a=!0}else a=!0;a?(this.expiredRequestCount++,this.state="expired"):this.expiredRequestCount=0}},st.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)};var lt=function(t,e){this.max=t,this.onRemove=e,this.reset()};lt.prototype.reset=function(){for(var t in this.data)for(var e=0,r=this.data[t];e<r.length;e+=1){var n=r[e];n.timeout&&clearTimeout(n.timeout),this.onRemove(n.value)}return this.data={},this.order=[],this},lt.prototype.add=function(t,e,r){var n=this,i=t.wrapped().key;void 0===this.data[i]&&(this.data[i]=[]);var a={value:e,timeout:void 0};if(void 0!==r&&(a.timeout=setTimeout(function(){n.remove(t,a)},r)),this.data[i].push(a),this.order.push(i),this.order.length>this.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},lt.prototype.has=function(t){return t.wrapped().key in this.data},lt.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},lt.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},lt.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},lt.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},lt.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this};var ct=function(t,e,r){this.context=t;var n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.unbindVAO(),t.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};ct.prototype.unbindVAO=function(){this.context.extVertexArrayObject&&this.context.bindVertexArrayOES.set(null)},ct.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},ct.prototype.updateData=function(t){var e=this.context.gl;this.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},ct.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)};var ut={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"},ft=function(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;var i=t.gl;this.buffer=i.createBuffer(),t.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};ft.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},ft.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},ft.prototype.enableAttributes=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=this.attributes[r],i=e.attributes[n.name];void 0!==i&&t.enableVertexAttribArray(i)}},ft.prototype.setVertexAttribPointers=function(t,e,r){for(var n=0;n<this.attributes.length;n++){var i=this.attributes[n],a=e.attributes[i.name];void 0!==a&&t.vertexAttribPointer(a,i.components,t[ut[i.type]],!1,this.itemSize,i.offset+this.itemSize*(r||0))}},ft.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)};var ht=function(e){this.context=e,this.current=t.default$6.transparent};ht.prototype.get=function(){return this.current},ht.prototype.set=function(t){var e=this.current;t.r===e.r&&t.g===e.g&&t.b===e.b&&t.a===e.a||(this.context.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t)};var pt=function(t){this.context=t,this.current=1};pt.prototype.get=function(){return this.current},pt.prototype.set=function(t){this.current!==t&&(this.context.gl.clearDepth(t),this.current=t)};var dt=function(t){this.context=t,this.current=0};dt.prototype.get=function(){return this.current},dt.prototype.set=function(t){this.current!==t&&(this.context.gl.clearStencil(t),this.current=t)};var gt=function(t){this.context=t,this.current=[!0,!0,!0,!0]};gt.prototype.get=function(){return this.current},gt.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]||(this.context.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t)};var mt=function(t){this.context=t,this.current=!0};mt.prototype.get=function(){return this.current},mt.prototype.set=function(t){this.current!==t&&(this.context.gl.depthMask(t),this.current=t)};var vt=function(t){this.context=t,this.current=255};vt.prototype.get=function(){return this.current},vt.prototype.set=function(t){this.current!==t&&(this.context.gl.stencilMask(t),this.current=t)};var yt=function(t){this.context=t,this.current={func:t.gl.ALWAYS,ref:0,mask:255}};yt.prototype.get=function(){return this.current},yt.prototype.set=function(t){var e=this.current;t.func===e.func&&t.ref===e.ref&&t.mask===e.mask||(this.context.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t)};var xt=function(t){this.context=t;var e=this.context.gl;this.current=[e.KEEP,e.KEEP,e.KEEP]};xt.prototype.get=function(){return this.current},xt.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]||(this.context.gl.stencilOp(t[0],t[1],t[2]),this.current=t)};var bt=function(t){this.context=t,this.current=!1};bt.prototype.get=function(){return this.current},bt.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t}};var _t=function(t){this.context=t,this.current=[0,1]};_t.prototype.get=function(){return this.current},_t.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.depthRange(t[0],t[1]),this.current=t)};var wt=function(t){this.context=t,this.current=!1};wt.prototype.get=function(){return this.current},wt.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t}};var kt=function(t){this.context=t,this.current=t.gl.LESS};kt.prototype.get=function(){return this.current},kt.prototype.set=function(t){this.current!==t&&(this.context.gl.depthFunc(t),this.current=t)};var Mt=function(t){this.context=t,this.current=!1};Mt.prototype.get=function(){return this.current},Mt.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t}};var At=function(t){this.context=t;var e=this.context.gl;this.current=[e.ONE,e.ZERO]};At.prototype.get=function(){return this.current},At.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.blendFunc(t[0],t[1]),this.current=t)};var Tt=function(e){this.context=e,this.current=t.default$6.transparent};Tt.prototype.get=function(){return this.current},Tt.prototype.set=function(t){var e=this.current;t.r===e.r&&t.g===e.g&&t.b===e.b&&t.a===e.a||(this.context.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t)};var St=function(t){this.context=t,this.current=null};St.prototype.get=function(){return this.current},St.prototype.set=function(t){this.current!==t&&(this.context.gl.useProgram(t),this.current=t)};var Et=function(t){this.context=t,this.current=1};Et.prototype.get=function(){return this.current},Et.prototype.set=function(e){var r=this.context.lineWidthRange,n=t.clamp(e,r[0],r[1]);this.current!==n&&(this.context.gl.lineWidth(n),this.current=e)};var Ct=function(t){this.context=t,this.current=t.gl.TEXTURE0};Ct.prototype.get=function(){return this.current},Ct.prototype.set=function(t){this.current!==t&&(this.context.gl.activeTexture(t),this.current=t)};var Lt=function(t){this.context=t;var e=this.context.gl;this.current=[0,0,e.drawingBufferWidth,e.drawingBufferHeight]};Lt.prototype.get=function(){return this.current},Lt.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]||(this.context.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t)};var zt=function(t){this.context=t,this.current=null};zt.prototype.get=function(){return this.current},zt.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t}};var Pt=function(t){this.context=t,this.current=null};Pt.prototype.get=function(){return this.current},Pt.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t}};var Ot=function(t){this.context=t,this.current=null};Ot.prototype.get=function(){return this.current},Ot.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t}};var It=function(t){this.context=t,this.current=null};It.prototype.get=function(){return this.current},It.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t}};var Dt=function(t){this.context=t,this.current=null};Dt.prototype.get=function(){return this.current},Dt.prototype.set=function(t){var e=this.context.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t};var Rt=function(t){this.context=t,this.current=null};Rt.prototype.get=function(){return this.current},Rt.prototype.set=function(t){this.current!==t&&this.context.extVertexArrayObject&&(this.context.extVertexArrayObject.bindVertexArrayOES(t),this.current=t)};var Bt=function(t){this.context=t,this.current=4};Bt.prototype.get=function(){return this.current},Bt.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t}};var Ft=function(t){this.context=t,this.current=!1};Ft.prototype.get=function(){return this.current},Ft.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t}};var Nt=function(t,e){this.context=t,this.current=null,this.parent=e};Nt.prototype.get=function(){return this.current};var jt=function(t){function e(e,r){t.call(this,e,r),this.dirty=!1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.dirty||this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1}},e.prototype.setDirty=function(){this.dirty=!0},e}(Nt),Vt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t}},e}(Nt),Ut=function(t,e,r){this.context=t,this.width=e,this.height=r;var n=t.gl,i=this.framebuffer=n.createFramebuffer();this.colorAttachment=new jt(t,i),this.depthAttachment=new Vt(t,i)};Ut.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();e&&t.deleteTexture(e);var r=this.depthAttachment.get();r&&t.deleteRenderbuffer(r),t.deleteFramebuffer(this.framebuffer)};var qt=function(t,e,r){this.func=t,this.mask=e,this.range=r};qt.ReadOnly=!1,qt.ReadWrite=!0,qt.disabled=new qt(519,qt.ReadOnly,[0,1]);var Ht=function(t,e,r,n,i,a){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=i,this.pass=a};Ht.disabled=new Ht({func:519,mask:0},0,0,7680,7680,7680);var Gt=function(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r};Gt.disabled=new Gt(Gt.Replace=[1,0],t.default$6.transparent,[!1,!1,!1,!1]),Gt.unblended=new Gt(Gt.Replace,t.default$6.transparent,[!0,!0,!0,!0]),Gt.alphaBlended=new Gt([1,771],t.default$6.transparent,[!0,!0,!0,!0]);var Wt=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension("OES_vertex_array_object"),this.lineWidthRange=t.getParameter(t.ALIASED_LINE_WIDTH_RANGE),this.clearColor=new ht(this),this.clearDepth=new pt(this),this.clearStencil=new dt(this),this.colorMask=new gt(this),this.depthMask=new mt(this),this.stencilMask=new vt(this),this.stencilFunc=new yt(this),this.stencilOp=new xt(this),this.stencilTest=new bt(this),this.depthRange=new _t(this),this.depthTest=new wt(this),this.depthFunc=new kt(this),this.blend=new Mt(this),this.blendFunc=new At(this),this.blendColor=new Tt(this),this.program=new St(this),this.lineWidth=new Et(this),this.activeTexture=new Ct(this),this.viewport=new Lt(this),this.bindFramebuffer=new zt(this),this.bindRenderbuffer=new Pt(this),this.bindTexture=new Ot(this),this.bindVertexBuffer=new It(this),this.bindElementBuffer=new Dt(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new Rt(this),this.pixelStoreUnpack=new Bt(this),this.pixelStoreUnpackPremultiplyAlpha=new Ft(this),this.extTextureFilterAnisotropic=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=t.getExtension("OES_texture_half_float"),this.extTextureHalfFloat&&t.getExtension("OES_texture_half_float_linear")};Wt.prototype.createIndexBuffer=function(t,e){return new ct(this,t,e)},Wt.prototype.createVertexBuffer=function(t,e,r){return new ft(this,t,e,r)},Wt.prototype.createRenderbuffer=function(t,e,r){var n=this.gl,i=n.createRenderbuffer();return this.bindRenderbuffer.set(i),n.renderbufferStorage(n.RENDERBUFFER,t,e,r),this.bindRenderbuffer.set(null),i},Wt.prototype.createFramebuffer=function(t,e){return new Ut(this,t,e)},Wt.prototype.clear=function(t){var e=t.color,r=t.depth,n=this.gl,i=0;e&&(i|=n.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==r&&(i|=n.DEPTH_BUFFER_BIT,this.clearDepth.set(r),this.depthMask.set(!0)),n.clear(i)},Wt.prototype.setDepthMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.depthTest.set(!0),this.depthFunc.set(t.func),this.depthMask.set(t.mask),this.depthRange.set(t.range)):this.depthTest.set(!1)},Wt.prototype.setStencilMode=function(t){t.test.func!==this.gl.ALWAYS||t.mask?(this.stencilTest.set(!0),this.stencilMask.set(t.mask),this.stencilOp.set([t.fail,t.depthFail,t.pass]),this.stencilFunc.set({func:t.test.func,ref:t.ref,mask:t.test.mask})):this.stencilTest.set(!1)},Wt.prototype.setColorMode=function(e){t.default$10(e.blendFunction,Gt.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask)};var Yt=function(e){function r(t,r,n){var i=this;e.call(this),this.id=t,this.dispatcher=n,this.on("data",function(t){"source"===t.dataType&&"metadata"===t.sourceDataType&&(i._sourceLoaded=!0),i._sourceLoaded&&!i._paused&&"source"===t.dataType&&"content"===t.sourceDataType&&(i.reload(),i.transform&&i.update(i.transform))}),this.on("error",function(){i._sourceErrored=!0}),this._source=it(t,r,n,this),this._tiles={},this._cache=new lt(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._isIdRenderable=this._isIdRenderable.bind(this),this._coveredTiles={}}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)},r.prototype.onRemove=function(t){this._source&&this._source.onRemove&&this._source.onRemove(t)},r.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;for(var t in this._tiles){var e=this._tiles[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}return!0},r.prototype.getSource=function(){return this._source},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){if(this._paused){var t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform)}},r.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},r.prototype._unloadTile=function(t){if(this._source.unloadTile)return this._source.unloadTile(t,function(){})},r.prototype._abortTile=function(t){if(this._source.abortTile)return this._source.abortTile(t,function(){})},r.prototype.serialize=function(){return this._source.serialize()},r.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._tiles)this._tiles[e].upload(t)},r.prototype.getIds=function(){var e=this;return Object.keys(this._tiles).map(Number).sort(function(r,n){var i=e._tiles[r].tileID,a=e._tiles[n].tileID,o=new t.default$1(i.canonical.x,i.canonical.y).rotate(e.transform.angle),s=new t.default$1(a.canonical.x,a.canonical.y).rotate(e.transform.angle);return i.overscaledZ-a.overscaledZ||s.y-o.y||s.x-o.x})},r.prototype.getRenderableIds=function(){return this.getIds().filter(this._isIdRenderable)},r.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0,{});return!!e&&this._isIdRenderable(e.tileID.key)},r.prototype._isIdRenderable=function(t){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]},r.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var t in this._cache.reset(),this._tiles)this._reloadTile(t,"reloading")},r.prototype._reloadTile=function(t,e){var r=this._tiles[t];r&&("loading"!==r.state&&(r.state=e),this._loadTile(r,this._tileLoaded.bind(this,r,t,e)))},r.prototype._tileLoaded=function(e,r,n,i){if(i)return e.state="errored",void(404!==i.status?this._source.fire(new t.ErrorEvent(i,{tile:e})):this.update(this.transform));e.timeAdded=a.now(),"expired"===n&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(r,e),"raster-dem"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._source.fire(new t.Event("data",{dataType:"source",tile:e,coord:e.tileID})),this.map&&(this.map.painter.tileExtentVAO.vao=null)},r.prototype._backfillDEM=function(t){for(var e=this.getRenderableIds(),r=0;r<e.length;r++){var n=e[r];if(t.neighboringTiles&&t.neighboringTiles[n]){var i=this.getTileByID(n);a(t,i),a(i,t)}}function a(t,e){t.needsHillshadePrepare=!0;var r=e.tileID.canonical.x-t.tileID.canonical.x,n=e.tileID.canonical.y-t.tileID.canonical.y,i=Math.pow(2,t.tileID.canonical.z),a=e.tileID.key;0===r&&0===n||Math.abs(n)>1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype.getZoom=function(t){return t.zoom+t.scaleZoom(t.tileSize/this._source.tileSize)},r.prototype._findLoadedChildren=function(t,e,r){var n=!1;for(var i in this._tiles){var a=this._tiles[i];if(!(r[i]||!a.hasData()||a.tileID.overscaledZ<=t.overscaledZ||a.tileID.overscaledZ>e)){var o=Math.pow(2,a.tileID.canonical.z-t.canonical.z);if(Math.floor(a.tileID.canonical.x/o)===t.canonical.x&&Math.floor(a.tileID.canonical.y/o)===t.canonical.y)for(r[i]=a.tileID,n=!0;a&&a.tileID.overscaledZ-1>t.overscaledZ;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);if(!s)break;(a=this._tiles[s.key])&&a.hasData()&&(delete r[i],r[s.key]=s)}}}return n},r.prototype.findLoadedParent=function(t,e,r){for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n);if(!i)return;var a=String(i.key),o=this._tiles[a];if(o&&o.hasData())return r[a]=i,o;if(this._cache.has(i))return r[a]=i,this._cache.get(i)}},r.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)}):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter(function(t){return n._source.hasTile(t)}))):i=[];var o,s=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),l=Math.max(s-r.maxOverzooming,this._source.minzoom),c=Math.max(s+r.maxUnderzooming,this._source.minzoom),u=this._updateRetainedTiles(i,s),f={};if(Zt(this._source.type))for(var h=Object.keys(u),p=0;p<h.length;p++){var d=h[p],g=u[d],m=n._tiles[d];if(m&&(void 0===m.fadeEndTime||m.fadeEndTime>=a.now())){n._findLoadedChildren(g,c,u)&&(u[d]=g);var v=n.findLoadedParent(g,l,f);v&&n._addTile(v.tileID)}}for(o in f)u[o]||(n._coveredTiles[o]=!0);for(o in f)u[o]=f[o];for(var y=t.keysDifference(this._tiles,u),x=0;x<y.length;x++)n._removeTile(y[x])}},r.prototype._updateRetainedTiles=function(t,e){for(var n={},i={},a=Math.max(e-r.maxOverzooming,this._source.minzoom),o=Math.max(e+r.maxUnderzooming,this._source.minzoom),s=0;s<t.length;s++){var l=t[s],c=this._addTile(l),u=!1;if(c.hasData())n[l.key]=l;else{u=c.wasRequested(),n[l.key]=l;var f=!0;if(e+1>this._source.maxzoom){var h=l.children(this._source.maxzoom)[0],p=this.getTile(h);p&&p.hasData()?n[h.key]=h:f=!1}else{this._findLoadedChildren(l,o,n);for(var d=l.children(this._source.maxzoom),g=0;g<d.length;g++)if(!n[d[g].key]){f=!1;break}}if(!f)for(var m=l.overscaledZ-1;m>=a;--m){var v=l.scaledTo(m);if(i[v.key])break;if(i[v.key]=!0,!(c=this.getTile(v))&&u&&(c=this._addTile(v)),c&&(n[v.key]=v,u=c.wasRequested(),c.hasData()))break}}}return n},r.prototype._addTile=function(e){var r=this._tiles[e.key];if(r)return r;(r=this._cache.getAndRemove(e))&&(this._setTileReloadTimer(e.key,r),r.tileID=e);var n=Boolean(r);return n||(r=new st(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(r,this._tileLoaded.bind(this,r,e.key,r.state))),r?(r.uses++,this._tiles[e.key]=r,n||this._source.fire(new t.Event("dataloading",{tile:r,coord:r.tileID,dataType:"source"})),r):null},r.prototype._setTileReloadTimer=function(t,e){var r=this;t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);var n=e.getExpiryTimeout();n&&(this._timers[t]=setTimeout(function(){r._reloadTile(t,"expired"),delete r._timers[t]},n))},r.prototype._removeTile=function(t){var e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r){for(var n=[],i=this.getIds(),a=1/0,o=1/0,s=-1/0,l=-1/0,c=e[0].zoom,u=0;u<e.length;u++){var f=e[u];a=Math.min(a,f.column),o=Math.min(o,f.row),s=Math.max(s,f.column),l=Math.max(l,f.row)}for(var h=0;h<i.length;h++){var p=this._tiles[i[h]],d=p.tileID,g=Math.pow(2,this.transform.zoom-p.tileID.overscaledZ),m=r*p.queryPadding*t.default$8/p.tileSize/g,v=[Xt(d,new t.default$17(a,o,c)),Xt(d,new t.default$17(s,l,c))];if(v[0].x-m<t.default$8&&v[0].y-m<t.default$8&&v[1].x+m>=0&&v[1].y+m>=0){for(var y=[],x=0;x<e.length;x++)y.push(Xt(d,e[x]));n.push({tile:p,tileID:d,queryGeometry:[y],scale:g})}}return n},r.prototype.getVisibleCoordinates=function(){for(var t=this,e=this.getRenderableIds().map(function(e){return t._tiles[e].tileID}),r=0,n=e;r<n.length;r+=1){var i=n[r];i.posMatrix=t.transform.calculatePosMatrix(i.toUnwrapped())}return e},r.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(Zt(this._source.type))for(var t in this._tiles){var e=this._tiles[t];if(void 0!==e.fadeEndTime&&e.fadeEndTime>=a.now())return!0}return!1},r}(t.Evented);function Xt(e,r){var n=r.zoomTo(e.canonical.z);return new t.default$1((n.column-(e.canonical.x+e.wrap*Math.pow(2,e.canonical.z)))*t.default$8,(n.row-e.canonical.y)*t.default$8)}function Zt(t){return"raster"===t||"image"===t||"video"===t}function $t(){return new t.default.Worker(En.workerUrl)}Yt.maxOverzooming=10,Yt.maxUnderzooming=3;var Jt,Kt=function(){this.active={}};function Qt(e,r){var n={};for(var i in e)"ref"!==i&&(n[i]=e[i]);return t.default$18.forEach(function(t){t in r&&(n[t]=r[t])}),n}function te(t){t=t.slice();for(var e=Object.create(null),r=0;r<t.length;r++)e[t[r].id]=t[r];for(var n=0;n<t.length;n++)"ref"in t[n]&&(t[n]=Qt(t[n],e[t[n].ref]));return t}Kt.prototype.acquire=function(t){if(!this.workers){var e=En.workerCount;for(this.workers=[];this.workers.length<e;)this.workers.push(new $t)}return this.active[t]=!0,this.workers.slice()},Kt.prototype.release=function(t){delete this.active[t],0===Object.keys(this.active).length&&(this.workers.forEach(function(t){t.terminate()}),this.workers=null)};var ee={setStyle:"setStyle",addLayer:"addLayer",removeLayer:"removeLayer",setPaintProperty:"setPaintProperty",setLayoutProperty:"setLayoutProperty",setFilter:"setFilter",addSource:"addSource",removeSource:"removeSource",setGeoJSONSourceData:"setGeoJSONSourceData",setLayerZoomRange:"setLayerZoomRange",setLayerProperty:"setLayerProperty",setCenter:"setCenter",setZoom:"setZoom",setBearing:"setBearing",setPitch:"setPitch",setSprite:"setSprite",setGlyphs:"setGlyphs",setTransition:"setTransition",setLight:"setLight"};function re(t,e,r){r.push({command:ee.addSource,args:[t,e[t]]})}function ne(t,e,r){e.push({command:ee.removeSource,args:[t]}),r[t]=!0}function ie(t,e,r,n){ne(t,r,n),re(t,e,r)}function ae(e,r,n){var i;for(i in e[n])if(e[n].hasOwnProperty(i)&&"data"!==i&&!t.default$10(e[n][i],r[n][i]))return!1;for(i in r[n])if(r[n].hasOwnProperty(i)&&"data"!==i&&!t.default$10(e[n][i],r[n][i]))return!1;return!0}function oe(e,r,n,i,a,o){var s;for(s in r=r||{},e=e||{})e.hasOwnProperty(s)&&(t.default$10(e[s],r[s])||n.push({command:o,args:[i,s,r[s],a]}));for(s in r)r.hasOwnProperty(s)&&!e.hasOwnProperty(s)&&(t.default$10(e[s],r[s])||n.push({command:o,args:[i,s,r[s],a]}))}function se(t){return t.id}function le(t,e){return t[e.id]=e,t}var ce=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a<this.xCellCount*this.yCellCount;a++)n.push([]),i.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=t,this.height=e,this.xScale=this.xCellCount/t,this.yScale=this.yCellCount/e,this.boxUid=0,this.circleUid=0};ce.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},ce.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},ce.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},ce.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},ce.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},ce.prototype._query=function(t,e,r,n,i){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var a=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var o=0;o<this.boxKeys.length;o++)a.push({key:this.boxKeys[o],x1:this.bboxes[4*o],y1:this.bboxes[4*o+1],x2:this.bboxes[4*o+2],y2:this.bboxes[4*o+3]});for(var s=0;s<this.circleKeys.length;s++){var l=this.circles[3*s],c=this.circles[3*s+1],u=this.circles[3*s+2];a.push({key:this.circleKeys[s],x1:l-u,y1:c-u,x2:l+u,y2:c+u})}}else{var f={hitTest:i,seenUids:{box:{},circle:{}}};this._forEachCell(t,e,r,n,this._queryCell,a,f)}return i?a.length>0:a},ce.prototype._queryCircle=function(t,e,r,n){var i=t-r,a=t+r,o=e-r,s=e+r;if(a<0||i>this.width||s<0||o>this.height)return!n&&[];var l=[],c={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(i,o,a,s,this._queryCellCircle,l,c),n?l.length>0:l},ce.prototype.query=function(t,e,r,n){return this._query(t,e,r,n,!1)},ce.prototype.hitTest=function(t,e,r,n){return this._query(t,e,r,n,!0)},ce.prototype.hitTestCircle=function(t,e,r){return this._queryCircle(t,e,r,!0)},ce.prototype._queryCell=function(t,e,r,n,i,a,o){var s=o.seenUids,l=this.boxCells[i];if(null!==l)for(var c=this.bboxes,u=0,f=l;u<f.length;u+=1){var h=f[u];if(!s.box[h]){s.box[h]=!0;var p=4*h;if(t<=c[p+2]&&e<=c[p+3]&&r>=c[p+0]&&n>=c[p+1]){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[h],x1:c[p],y1:c[p+1],x2:c[p+2],y2:c[p+3]})}}}var d=this.circleCells[i];if(null!==d)for(var g=this.circles,m=0,v=d;m<v.length;m+=1){var y=v[m];if(!s.circle[y]){s.circle[y]=!0;var x=3*y;if(this._circleAndRectCollide(g[x],g[x+1],g[x+2],t,e,r,n)){if(o.hitTest)return a.push(!0),!0;var b=g[x],_=g[x+1],w=g[x+2];a.push({key:this.circleKeys[y],x1:b-w,y1:_-w,x2:b+w,y2:_+w})}}}},ce.prototype._queryCellCircle=function(t,e,r,n,i,a,o){var s=o.circle,l=o.seenUids,c=this.boxCells[i];if(null!==c)for(var u=this.bboxes,f=0,h=c;f<h.length;f+=1){var p=h[f];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(this._circleAndRectCollide(s.x,s.y,s.radius,u[d+0],u[d+1],u[d+2],u[d+3]))return a.push(!0),!0}}var g=this.circleCells[i];if(null!==g)for(var m=this.circles,v=0,y=g;v<y.length;v+=1){var x=y[v];if(!l.circle[x]){l.circle[x]=!0;var b=3*x;if(this._circlesCollide(m[b],m[b+1],m[b+2],s.x,s.y,s.radius))return a.push(!0),!0}}},ce.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToXCellCoord(t),l=this._convertToYCellCoord(e),c=this._convertToXCellCoord(r),u=this._convertToYCellCoord(n),f=s;f<=c;f++)for(var h=l;h<=u;h++){var p=this.xCellCount*h+f;if(i.call(this,t,e,r,n,p,a,o))return}},ce.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},ce.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},ce.prototype._circlesCollide=function(t,e,r,n,i,a){var o=n-t,s=i-e,l=r+a;return l*l>o*o+s*s},ce.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var c=(o-i)/2,u=Math.abs(e-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var f=l-s,h=u-c;return f*f+h*h<=r*r};var ue=t.default$19.layout;function fe(e,r,n,i,a){var o=t.mat4.identity(new Float32Array(16));return r?(t.mat4.identity(o),t.mat4.scale(o,o,[1/a,1/a,1]),n||t.mat4.rotateZ(o,o,i.angle)):(t.mat4.scale(o,o,[i.width/2,-i.height/2,1]),t.mat4.translate(o,o,[1,-1,0]),t.mat4.multiply(o,o,e)),o}function he(e,r,n,i,a){var o=t.mat4.identity(new Float32Array(16));return r?(t.mat4.multiply(o,o,e),t.mat4.scale(o,o,[a,a,1]),n||t.mat4.rotateZ(o,o,-i.angle)):(t.mat4.scale(o,o,[1,-1,1]),t.mat4.translate(o,o,[-1,-1,0]),t.mat4.scale(o,o,[2/i.width,2/i.height,1])),o}function pe(e,r){var n=[e.x,e.y,0,1];ke(n,n,r);var i=n[3];return{point:new t.default$1(n[0]/i,n[1]/i),signedDistanceFromCamera:i}}function de(t,e){var r=t[0]/t[3],n=t[1]/t[3];return r>=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function ge(e,r,n,i,a,o,s,l){var c=i?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,n.transform.zoom,ue.properties[i?"text-size":"icon-size"]),f=[256/n.width*2+1,256/n.height*2+1],h=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;h.clear();for(var p=e.lineVertexArray,d=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,g=n.transform.width/n.transform.height,m=!1,v=0;v<d.length;v++){var y=d.get(v);if(y.hidden||y.writingMode===t.WritingMode.vertical&&!m)we(y.numGlyphs,h);else{m=!1;var x=[y.anchorX,y.anchorY,0,1];if(t.vec4.transformMat4(x,x,r),de(x,f)){var b=.5+x[3]/n.transform.cameraToCenterDistance*.5,_=t.evaluateSizeForFeature(c,u,y),w=s?_*b:_/b,k=new t.default$1(y.anchorX,y.anchorY),M=pe(k,a).point,A={},T=ye(y,w,!1,l,r,a,o,e.glyphOffsetArray,p,h,M,k,A,g);m=T.useVertical,(T.notEnoughRoom||m||T.needsFlipping&&ye(y,w,!0,l,r,a,o,e.glyphOffsetArray,p,h,M,k,A,g).notEnoughRoom)&&we(y.numGlyphs,h)}else we(y.numGlyphs,h)}}i?e.text.dynamicLayoutVertexBuffer.updateData(h):e.icon.dynamicLayoutVertexBuffer.updateData(h)}function me(t,e,r,n,i,a,o,s,l,c,u,f){var h=s.glyphStartIndex+s.numGlyphs,p=s.lineStartIndex,d=s.lineStartIndex+s.lineLength,g=e.getoffsetX(s.glyphStartIndex),m=e.getoffsetX(h-1),v=be(t*g,r,n,i,a,o,s.segment,p,d,l,c,u,f);if(!v)return null;var y=be(t*m,r,n,i,a,o,s.segment,p,d,l,c,u,f);return y?{first:v,last:y}:null}function ve(e,r,n,i){return e===t.WritingMode.horizontal&&Math.abs(n.y-r.y)>Math.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.WritingMode.vertical?r.y<n.y:r.x>n.x)?{needsFlipping:!0}:null}function ye(e,r,n,i,a,o,s,l,c,u,f,h,p,d){var g,m=r/24,v=e.lineOffsetX*r,y=e.lineOffsetY*r;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=me(m,l,v,y,n,f,h,e,c,o,p,!1);if(!w)return{notEnoughRoom:!0};var k=pe(w.first.point,s).point,M=pe(w.last.point,s).point;if(i&&!n){var A=ve(e.writingMode,k,M,d);if(A)return A}g=[w.first];for(var T=e.glyphStartIndex+1;T<x-1;T++)g.push(be(m*l.getoffsetX(T),v,y,n,f,h,e.segment,b,_,c,o,p,!1));g.push(w.last)}else{if(i&&!n){var S=pe(h,a).point,E=e.lineStartIndex+e.segment+1,C=new t.default$1(c.getx(E),c.gety(E)),L=pe(C,a),z=L.signedDistanceFromCamera>0?L.point:xe(h,C,S,1,a),P=ve(e.writingMode,S,z,d);if(P)return P}var O=be(m*l.getoffsetX(e.glyphStartIndex),v,y,n,f,h,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,p,!1);if(!O)return{notEnoughRoom:!0};g=[O]}for(var I=0,D=g;I<D.length;I+=1){var R=D[I];t.addDynamicAttributes(u,R.point,R.angle)}return{}}function xe(t,e,r,n,i){var a=pe(t.add(t.sub(e)._unit()),i).point,o=r.sub(a);return r.add(o._mult(n/o.mag()))}function be(e,r,n,i,a,o,s,l,c,u,f,h,p){var d=i?e-r:e+r,g=d>0?1:-1,m=0;i&&(g*=-1,m=Math.PI),g<0&&(m+=Math.PI);for(var v=g>0?l+s:l+s+1,y=v,x=a,b=a,_=0,w=0,k=Math.abs(d);_+w<=k;){if((v+=g)<l||v>=c)return null;if(b=x,void 0===(x=h[v])){var M=new t.default$1(u.getx(v),u.gety(v)),A=pe(M,f);if(A.signedDistanceFromCamera>0)x=h[v]=A.point;else{var T=v-g;x=xe(0===_?o:new t.default$1(u.getx(T),u.gety(T)),M,b,k-_+1,f)}}_+=w,w=b.dist(x)}var S=(k-_)/w,E=x.sub(b),C=E.mult(S)._add(b);return C._add(E._unit()._perp()._mult(n*g)),{point:C,angle:m+Math.atan2(x.y-b.y,x.x-b.x),tileDistance:p?{prevTileDistance:v-g===y?0:u.gettileUnitDistanceFromAnchor(v-g),lastSegmentViewportDistance:k-_}:null}}var _e=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function we(t,e){for(var r=0;r<t;r++){var n=e.length;e.resize(n+4),e.float32.set(_e,3*n)}}function ke(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t[3]=r[3]*n+r[7]*i+r[15],t}t.default$20.mat4;var Me=function(t,e,r){void 0===e&&(e=new ce(t.width+200,t.height+200,25)),void 0===r&&(r=new ce(t.width+200,t.height+200,25)),this.transform=t,this.grid=e,this.ignoredGrid=r,this.pitchfactor=Math.cos(t._pitch)*t.cameraToCenterDistance,this.screenRightBoundary=t.width+100,this.screenBottomBoundary=t.height+100};function Ae(t,e,r){t[e+4]=r?1:0}function Te(e,r,n){return r*(t.default$8/(e.tileSize*Math.pow(2,n-e.tileID.overscaledZ)))}Me.prototype.placeCollisionBox=function(t,e,r,n){var i=this.projectAndGetPerspectiveRatio(n,t.anchorPointX,t.anchorPointY),a=r*i.perspectiveRatio,o=t.x1*a+i.point.x,s=t.y1*a+i.point.y,l=t.x2*a+i.point.x,c=t.y2*a+i.point.y;return!e&&this.grid.hitTest(o,s,l,c)?{box:[],offscreen:!1}:{box:[o,s,l,c],offscreen:this.isOffscreen(o,s,l,c)}},Me.prototype.approximateTileDistance=function(t,e,r,n,i){var a=i?1:n/this.pitchfactor,o=t.lastSegmentViewportDistance*r;return t.prevTileDistance+o+(a-1)*o*Math.abs(Math.sin(e))},Me.prototype.placeCollisionCircles=function(e,r,n,i,a,o,s,l,c,u,f,h,p){var d=[],g=this.projectAnchor(u,o.anchorX,o.anchorY),m=c/24,v=o.lineOffsetX*c,y=o.lineOffsetY*c,x=new t.default$1(o.anchorX,o.anchorY),b=me(m,l,v,y,!1,pe(x,f).point,x,o,s,f,{},!0),_=!1,w=!0,k=g.perspectiveRatio*i,M=1/(i*n),A=0,T=0;b&&(A=this.approximateTileDistance(b.first.tileDistance,b.first.angle,M,g.cameraDistance,p),T=this.approximateTileDistance(b.last.tileDistance,b.last.angle,M,g.cameraDistance,p));for(var S=0;S<e.length;S+=5){var E=e[S],C=e[S+1],L=e[S+2],z=e[S+3];if(!b||z<-A||z>T)Ae(e,S,!1);else{var P=this.projectPoint(u,E,C),O=L*k;if(d.length>0){var I=P.x-d[d.length-4],D=P.y-d[d.length-3];if(O*O*2>I*I+D*D&&S+8<e.length){var R=e[S+8];if(R>-A&&R<T){Ae(e,S,!1);continue}}}var B=S/5;if(d.push(P.x,P.y,O,B),Ae(e,S,!0),w=w&&this.isOffscreen(P.x-O,P.y-O,P.x+O,P.y+O),!r&&this.grid.hitTestCircle(P.x,P.y,O)){if(!h)return{circles:[],offscreen:!1};_=!0}}}return{circles:_?[]:d,offscreen:w}},Me.prototype.queryRenderedSymbols=function(e){if(0===e.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};for(var r=[],n=1/0,i=1/0,a=-1/0,o=-1/0,s=0,l=e;s<l.length;s+=1){var c=l[s],u=new t.default$1(c.x+100,c.y+100);n=Math.min(n,u.x),i=Math.min(i,u.y),a=Math.max(a,u.x),o=Math.max(o,u.y),r.push(u)}for(var f={},h={},p=0,d=this.grid.query(n,i,a,o).concat(this.ignoredGrid.query(n,i,a,o));p<d.length;p+=1){var g=d[p],m=g.key;if(void 0===f[m.bucketInstanceId]&&(f[m.bucketInstanceId]={}),!f[m.bucketInstanceId][m.featureIndex]){var v=[new t.default$1(g.x1,g.y1),new t.default$1(g.x2,g.y1),new t.default$1(g.x2,g.y2),new t.default$1(g.x1,g.y2)];t.polygonIntersectsPolygon(r,v)&&(f[m.bucketInstanceId][m.featureIndex]=!0,void 0===h[m.bucketInstanceId]&&(h[m.bucketInstanceId]=[]),h[m.bucketInstanceId].push(m.featureIndex))}}return h},Me.prototype.insertCollisionBox=function(t,e,r,n){var i={bucketInstanceId:r,featureIndex:n};(e?this.ignoredGrid:this.grid).insert(i,t[0],t[1],t[2],t[3])},Me.prototype.insertCollisionCircles=function(t,e,r,n){for(var i=e?this.ignoredGrid:this.grid,a={bucketInstanceId:r,featureIndex:n},o=0;o<t.length;o+=4)i.insertCircle(a,t[o],t[o+1],t[o+2])},Me.prototype.projectAnchor=function(t,e,r){var n=[e,r,0,1];return ke(n,n,t),{perspectiveRatio:.5+this.transform.cameraToCenterDistance/n[3]*.5,cameraDistance:n[3]}},Me.prototype.projectPoint=function(e,r,n){var i=[r,n,0,1];return ke(i,i,e),new t.default$1((i[0]/i[3]+1)/2*this.transform.width+100,(-i[1]/i[3]+1)/2*this.transform.height+100)},Me.prototype.projectAndGetPerspectiveRatio=function(e,r,n){var i=[r,n,0,1];return ke(i,i,e),{point:new t.default$1((i[0]/i[3]+1)/2*this.transform.width+100,(-i[1]/i[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/i[3]*.5}},Me.prototype.isOffscreen=function(t,e,r,n){return r<100||t>=this.screenRightBoundary||n<100||e>this.screenBottomBoundary};var Se=t.default$19.layout,Ee=function(t,e,r,n){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):n&&r?1:0,this.placed=r};Ee.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var Ce=function(t,e,r,n,i){this.text=new Ee(t?t.text:null,e,r,i),this.icon=new Ee(t?t.icon:null,e,n,i)};Ce.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var Le=function(t,e,r){this.text=t,this.icon=e,this.skipFade=r},ze=function(t,e){this.transform=t.clone(),this.collisionIndex=new Me(this.transform),this.placements={},this.opacities={},this.stale=!1,this.fadeDuration=e,this.retainedQueryData={}};function Pe(t,e,r){t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0)}ze.prototype.placeLayerTile=function(e,r,n,i){var a=r.getBucket(e),o=r.latestFeatureIndex;if(a&&o&&e.id===a.layerIds[0]){var s=r.collisionBoxArray,l=a.layers[0].layout,c=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),u=r.tileSize/t.default$8,f=this.transform.calculatePosMatrix(r.tileID.toUnwrapped()),h=fe(f,"map"===l.get("text-pitch-alignment"),"map"===l.get("text-rotation-alignment"),this.transform,Te(r,1,this.transform.zoom)),p=fe(f,"map"===l.get("icon-pitch-alignment"),"map"===l.get("icon-rotation-alignment"),this.transform,Te(r,1,this.transform.zoom));this.retainedQueryData[a.bucketInstanceId]=new function(t,e,r,n,i){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=r,this.bucketIndex=n,this.tileID=i}(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,r.tileID),this.placeLayerBucket(a,f,h,p,c,u,n,i,s)}},ze.prototype.placeLayerBucket=function(e,r,n,i,a,o,s,l,c){for(var u=e.layers[0].layout,f=t.evaluateSizeForZoom(e.textSizeData,this.transform.zoom,Se.properties["text-size"]),h=!e.hasTextData()||u.get("text-optional"),p=!e.hasIconData()||u.get("icon-optional"),d=0,g=e.symbolInstances;d<g.length;d+=1){var m=g[d];if(!l[m.crossTileID]){var v=void 0!==m.feature.text,y=void 0!==m.feature.icon,x=!0,b=null,_=null,w=null,k=0,M=0;m.collisionArrays||(m.collisionArrays=e.deserializeCollisionBoxes(c,m.textBoxStartIndex,m.textBoxEndIndex,m.iconBoxStartIndex,m.iconBoxEndIndex)),m.collisionArrays.textFeatureIndex&&(k=m.collisionArrays.textFeatureIndex),m.collisionArrays.textBox&&(v=(b=this.collisionIndex.placeCollisionBox(m.collisionArrays.textBox,u.get("text-allow-overlap"),o,r)).box.length>0,x=x&&b.offscreen);var A=m.collisionArrays.textCircles;if(A){var T=e.text.placedSymbolArray.get(m.placedTextSymbolIndices[0]),S=t.evaluateSizeForFeature(e.textSizeData,f,T);_=this.collisionIndex.placeCollisionCircles(A,u.get("text-allow-overlap"),a,o,m.key,T,e.lineVertexArray,e.glyphOffsetArray,S,r,n,s,"map"===u.get("text-pitch-alignment")),v=u.get("text-allow-overlap")||_.circles.length>0,x=x&&_.offscreen}m.collisionArrays.iconFeatureIndex&&(M=m.collisionArrays.iconFeatureIndex),m.collisionArrays.iconBox&&(y=(w=this.collisionIndex.placeCollisionBox(m.collisionArrays.iconBox,u.get("icon-allow-overlap"),o,r)).box.length>0,x=x&&w.offscreen),h||p?p?h||(y=y&&v):v=y&&v:y=v=y&&v,v&&b&&this.collisionIndex.insertCollisionBox(b.box,u.get("text-ignore-placement"),e.bucketInstanceId,k),y&&w&&this.collisionIndex.insertCollisionBox(w.box,u.get("icon-ignore-placement"),e.bucketInstanceId,M),v&&_&&this.collisionIndex.insertCollisionCircles(_.circles,u.get("text-ignore-placement"),e.bucketInstanceId,k),this.placements[m.crossTileID]=new Le(v,y,x||e.justReloaded),l[m.crossTileID]=!0}}e.justReloaded=!1},ze.prototype.commit=function(t,e){this.commitTime=e;var r=!1,n=t&&0!==this.fadeDuration?(this.commitTime-t.commitTime)/this.fadeDuration:1,i=t?t.opacities:{};for(var a in this.placements){var o=this.placements[a],s=i[a];s?(this.opacities[a]=new Ce(s,n,o.text,o.icon),r=r||o.text!==s.text.placed||o.icon!==s.icon.placed):(this.opacities[a]=new Ce(null,n,o.text,o.icon,o.skipFade),r=r||o.text||o.icon)}for(var l in i){var c=i[l];if(!this.opacities[l]){var u=new Ce(c,n,!1,!1);u.isHidden()||(this.opacities[l]=u,r=r||c.text.placed||c.icon.placed)}}r?this.lastPlacementChangeTime=e:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)},ze.prototype.updateLayerOpacities=function(t,e){for(var r={},n=0,i=e;n<i.length;n+=1){var a=i[n],o=a.getBucket(t);o&&a.latestFeatureIndex&&t.id===o.layerIds[0]&&this.updateBucketOpacities(o,r,a.collisionBoxArray)}},ze.prototype.updateBucketOpacities=function(t,e,r){t.hasTextData()&&t.text.opacityVertexArray.clear(),t.hasIconData()&&t.icon.opacityVertexArray.clear(),t.hasCollisionBoxData()&&t.collisionBox.collisionVertexArray.clear(),t.hasCollisionCircleData()&&t.collisionCircle.collisionVertexArray.clear();for(var n=t.layers[0].layout,i=new Ce(null,0,!1,!1,!0),a=new Ce(null,0,n.get("text-allow-overlap"),n.get("icon-allow-overlap"),!0),o=0;o<t.symbolInstances.length;o++){var s=t.symbolInstances[o],l=e[s.crossTileID],c=this.opacities[s.crossTileID];l?c=i:c||(c=a,this.opacities[s.crossTileID]=c),e[s.crossTileID]=!0;var u=s.numGlyphVertices>0||s.numVerticalGlyphVertices>0,f=s.numIconVertices>0;if(u){for(var h=je(c.text),p=(s.numGlyphVertices+s.numVerticalGlyphVertices)/4,d=0;d<p;d++)t.text.opacityVertexArray.emplaceBack(h);for(var g=0,m=s.placedTextSymbolIndices;g<m.length;g+=1){var v=m[g];t.text.placedSymbolArray.get(v).hidden=c.text.isHidden()}}if(f){for(var y=je(c.icon),x=0;x<s.numIconVertices/4;x++)t.icon.opacityVertexArray.emplaceBack(y);t.icon.placedSymbolArray.get(o).hidden=c.icon.isHidden()}s.collisionArrays||(s.collisionArrays=t.deserializeCollisionBoxes(r,s.textBoxStartIndex,s.textBoxEndIndex,s.iconBoxStartIndex,s.iconBoxEndIndex));var b=s.collisionArrays;if(b){b.textBox&&t.hasCollisionBoxData()&&Pe(t.collisionBox.collisionVertexArray,c.text.placed,!1),b.iconBox&&t.hasCollisionBoxData()&&Pe(t.collisionBox.collisionVertexArray,c.icon.placed,!1);var _=b.textCircles;if(_&&t.hasCollisionCircleData())for(var w=0;w<_.length;w+=5){var k=l||0===_[w+4];Pe(t.collisionCircle.collisionVertexArray,c.text.placed,k)}}}t.sortFeatures(this.transform.angle),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasCollisionBoxData()&&t.collisionBox.collisionVertexBuffer&&t.collisionBox.collisionVertexBuffer.updateData(t.collisionBox.collisionVertexArray),t.hasCollisionCircleData()&&t.collisionCircle.collisionVertexBuffer&&t.collisionCircle.collisionVertexBuffer.updateData(t.collisionCircle.collisionVertexArray)},ze.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration},ze.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},ze.prototype.stillRecent=function(t){return"undefined"!==this.commitTime&&this.commitTime+this.fadeDuration>t},ze.prototype.setStale=function(){this.stale=!0};var Oe=Math.pow(2,25),Ie=Math.pow(2,24),De=Math.pow(2,17),Re=Math.pow(2,16),Be=Math.pow(2,9),Fe=Math.pow(2,8),Ne=Math.pow(2,1);function je(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Oe+e*Ie+r*De+e*Re+r*Be+e*Fe+r*Ne+e}var Ve=function(){this._currentTileIndex=0,this._seenCrossTileIDs={}};Ve.prototype.continuePlacement=function(t,e,r,n,i){for(;this._currentTileIndex<t.length;){var a=t[this._currentTileIndex];if(e.placeLayerTile(n,a,r,this._seenCrossTileIDs),this._currentTileIndex++,i())return!0}};var Ue=function(t,e,r,n,i){this.placement=new ze(t,i),this._currentPlacementIndex=e.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=n,this._done=!1};Ue.prototype.isDone=function(){return this._done},Ue.prototype.continuePlacement=function(t,e,r){for(var n=this,i=a.now(),o=function(){var t=a.now()-i;return!n._forceFullPlacement&&t>2};this._currentPlacementIndex>=0;){var s=e[t[n._currentPlacementIndex]],l=n.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(n._inProgressLayer||(n._inProgressLayer=new Ve),n._inProgressLayer.continuePlacement(r[s.source],n.placement,n._showCollisionBoxes,s,o))return;delete n._inProgressLayer}n._currentPlacementIndex--}this._done=!0},Ue.prototype.commit=function(t,e){return this.placement.commit(t,e),this.placement};var qe=512/t.default$8/2,He=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0,i=e;n<i.length;n+=1){var a=i[n],o=a.key;this.indexedSymbolInstances[o]||(this.indexedSymbolInstances[o]=[]),this.indexedSymbolInstances[o].push({crossTileID:a.crossTileID,coord:this.getScaledCoordinates(a,t)})}};He.prototype.getScaledCoordinates=function(e,r){var n=r.canonical.z-this.tileID.canonical.z,i=qe/Math.pow(2,n),a=e.anchor;return{x:Math.floor((r.canonical.x*t.default$8+a.x)*i),y:Math.floor((r.canonical.y*t.default$8+a.y)*i)}},He.prototype.findMatches=function(t,e,r){for(var n=this.tileID.canonical.z<e.canonical.z?1:Math.pow(2,this.tileID.canonical.z-e.canonical.z),i=0,a=t;i<a.length;i+=1){var o=a[i];if(!o.crossTileID){var s=this.indexedSymbolInstances[o.key];if(s)for(var l=this.getScaledCoordinates(o,e),c=0,u=s;c<u.length;c+=1){var f=u[c];if(Math.abs(f.coord.x-l.x)<=n&&Math.abs(f.coord.y-l.y)<=n&&!r[f.crossTileID]){r[f.crossTileID]=!0,o.crossTileID=f.crossTileID;break}}}}};var Ge=function(){this.maxCrossTileID=0};Ge.prototype.generate=function(){return++this.maxCrossTileID};var We=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0};We.prototype.handleWrapJump=function(t){var e=Math.round((t-this.lng)/360);if(0!==e)for(var r in this.indexes){var n=this.indexes[r],i={};for(var a in n){var o=n[a];o.tileID=o.tileID.unwrapTo(o.tileID.wrap+e),i[o.tileID.key]=o}this.indexes[r]=i}this.lng=t},We.prototype.addBucket=function(t,e,r){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key])}for(var n=0,i=e.symbolInstances;n<i.length;n+=1)i[n].crossTileID=0;this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var a=this.usedCrossTileIDs[t.overscaledZ];for(var o in this.indexes){var s=this.indexes[o];if(Number(o)>t.overscaledZ)for(var l in s){var c=s[l];c.tileID.isChildOf(t)&&c.findMatches(e.symbolInstances,t,a)}else{var u=s[t.scaledTo(Number(o)).key];u&&u.findMatches(e.symbolInstances,t,a)}}for(var f=0,h=e.symbolInstances;f<h.length;f+=1){var p=h[f];p.crossTileID||(p.crossTileID=r.generate(),a[p.crossTileID]=!0)}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new He(t,e.symbolInstances,e.bucketInstanceId),!0},We.prototype.removeBucketCrossTileIDs=function(t,e){for(var r in e.indexedSymbolInstances)for(var n=0,i=e.indexedSymbolInstances[r];n<i.length;n+=1){var a=i[n];delete this.usedCrossTileIDs[t][a.crossTileID]}},We.prototype.removeStaleBuckets=function(t){var e=!1;for(var r in this.indexes){var n=this.indexes[r];for(var i in n)t[n[i].bucketInstanceId]||(this.removeBucketCrossTileIDs(r,n[i]),delete n[i],e=!0)}return e};var Ye=function(){this.layerIndexes={},this.crossTileIDs=new Ge,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}};Ye.prototype.addLayer=function(t,e,r){var n=this.layerIndexes[t.id];void 0===n&&(n=this.layerIndexes[t.id]=new We);var i=!1,a={};n.handleWrapJump(r);for(var o=0,s=e;o<s.length;o+=1){var l=s[o],c=l.getBucket(t);c&&t.id===c.layerIds[0]&&(c.bucketInstanceId||(c.bucketInstanceId=++this.maxBucketInstanceId),n.addBucket(l.tileID,c,this.crossTileIDs)&&(i=!0),a[c.bucketInstanceId]=!0)}return n.removeStaleBuckets(a)&&(i=!0),i},Ye.prototype.pruneUnusedLayers=function(t){var e={};for(var r in t.forEach(function(t){e[t]=!0}),this.layerIndexes)e[r]||delete this.layerIndexes[r]};var Xe=function(e,r){return t.emitValidationErrors(e,r&&r.filter(function(t){return"source.canvas"!==t.identifier}))},Ze=t.pick(ee,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData"]),$e=t.pick(ee,["setCenter","setZoom","setBearing","setPitch"]),Je=function(e){function r(n,i){var a=this;void 0===i&&(i={}),e.call(this),this.map=n,this.dispatcher=new q((Jt||(Jt=new Kt),Jt),this),this.imageManager=new P,this.glyphManager=new F(n._transformRequest,i.localIdeographFontFamily),this.lineAtlas=new U(256,512),this.crossTileSymbolIndex=new Ye,this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.default$23,this._loaded=!1,this._resetUpdates();var o=this;this._rtlTextPluginCallback=r.registerForPluginAvailability(function(t){for(var e in o.dispatcher.broadcast("loadRTLTextPlugin",t.pluginURL,t.completionCallback),o.sourceCaches)o.sourceCaches[e].reload()}),this.on("data",function(t){if("source"===t.dataType&&"metadata"===t.sourceDataType){var e=a.sourceCaches[t.sourceId];if(e){var r=e.getSource();if(r&&r.vectorLayerIds)for(var n in a._layers){var i=a._layers[n];i.source===r.id&&a._validateLayer(i)}}}})}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadURL=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event("dataloading",{dataType:"style"}));var i="boolean"==typeof r.validate?r.validate:!x(e);e=function(t,e){if(!x(t))return t;var r=A(t);return r.path="/styles/v1"+r.path,y(r,e)}(e,r.accessToken);var a=this.map._transformRequest(e,t.ResourceType.Style);t.getJSON(a,function(e,r){e?n.fire(new t.ErrorEvent(e)):r&&n._load(r,i)})},r.prototype.loadJSON=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event("dataloading",{dataType:"style"})),a.frame(function(){n._load(e,!1!==r.validate)})},r.prototype._load=function(e,r){var n=this;if(!r||!Xe(this,t.validateStyle(e))){for(var i in this._loaded=!0,this.stylesheet=e,e.sources)n.addSource(i,e.sources[i],{validate:!1});e.sprite?function(e,r,n){var i,o,s,l=a.devicePixelRatio>1?"@2x":"";function c(){if(s)n(s);else if(i&&o){var e=a.getImageData(o),r={};for(var l in i){var c=i[l],u=c.width,f=c.height,h=c.x,p=c.y,d=c.sdf,g=c.pixelRatio,m=new t.RGBAImage({width:u,height:f});t.RGBAImage.copy(e,m,{x:h,y:p},{x:0,y:0},{width:u,height:f}),r[l]={data:m,pixelRatio:g,sdf:d}}n(null,r)}}t.getJSON(r(_(e,l,".json"),t.ResourceType.SpriteJSON),function(t,e){s||(s=t,i=e,c())}),t.getImage(r(_(e,l,".png"),t.ResourceType.SpriteImage),function(t,e){s||(s=t,o=e,c())})}(e.sprite,this.map._transformRequest,function(e,r){if(e)n.fire(new t.ErrorEvent(e));else if(r)for(var i in r)n.imageManager.addImage(i,r[i]);n.imageManager.setLoaded(!0),n.fire(new t.Event("data",{dataType:"style"}))}):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);var o=te(this.stylesheet.layers);this._order=o.map(function(t){return t.id}),this._layers={};for(var s=0,l=o;s<l.length;s+=1){var c=l[s];(c=t.default$22(c)).setEventedParent(n,{layer:{id:c.id}}),n._layers[c.id]=c}this.dispatcher.broadcast("setLayers",this._serializeLayers(this._order)),this.light=new V(this.stylesheet.light),this.fire(new t.Event("data",{dataType:"style"})),this.fire(new t.Event("style.load"))}},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer "'+n+'" does not exist on source "'+i.id+'" as specified by style layer "'+e.id+'"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){var e=this;return t.map(function(t){return e._layers[t].serialize()})},r.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition())return!0;for(var t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(var e in this._layers)if(this._layers[e].hasTransition())return!0;return!1},r.prototype._checkLoaded=function(){if(!this._loaded)throw new Error("Style is not done loading")},r.prototype.update=function(e){if(this._loaded){if(this._changed){var r=Object.keys(this._updatedLayers),n=Object.keys(this._removedLayers);for(var i in(r.length||n.length)&&this._updateWorkerLayers(r,n),this._updatedSources){var a=this._updatedSources[i];"reload"===a?this._reloadSource(i):"clear"===a&&this._clearSource(i)}for(var o in this._updatedPaintProps)this._layers[o].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates(),this.fire(new t.Event("data",{dataType:"style"}))}for(var s in this.sourceCaches)this.sourceCaches[s].used=!1;for(var l=0,c=this._order;l<c.length;l+=1){var u=c[l],f=this._layers[u];f.recalculate(e),!f.isHidden(e.zoom)&&f.source&&(this.sourceCaches[f.source].used=!0)}this.light.recalculate(e),this.z=e.zoom}},r.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(t),removedIds:e})},r.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={}},r.prototype.setState=function(e){var r=this;if(this._checkLoaded(),Xe(this,t.validateStyle(e)))return!1;(e=t.clone(e)).layers=te(e.layers);var n=function(e,r){if(!e)return[{command:ee.setStyle,args:[r]}];var n=[];try{if(!t.default$10(e.version,r.version))return[{command:ee.setStyle,args:[r]}];t.default$10(e.center,r.center)||n.push({command:ee.setCenter,args:[r.center]}),t.default$10(e.zoom,r.zoom)||n.push({command:ee.setZoom,args:[r.zoom]}),t.default$10(e.bearing,r.bearing)||n.push({command:ee.setBearing,args:[r.bearing]}),t.default$10(e.pitch,r.pitch)||n.push({command:ee.setPitch,args:[r.pitch]}),t.default$10(e.sprite,r.sprite)||n.push({command:ee.setSprite,args:[r.sprite]}),t.default$10(e.glyphs,r.glyphs)||n.push({command:ee.setGlyphs,args:[r.glyphs]}),t.default$10(e.transition,r.transition)||n.push({command:ee.setTransition,args:[r.transition]}),t.default$10(e.light,r.light)||n.push({command:ee.setLight,args:[r.light]});var i={},a=[];!function(e,r,n,i){var a;for(a in r=r||{},e=e||{})e.hasOwnProperty(a)&&(r.hasOwnProperty(a)||ne(a,n,i));for(a in r)r.hasOwnProperty(a)&&(e.hasOwnProperty(a)?t.default$10(e[a],r[a])||("geojson"===e[a].type&&"geojson"===r[a].type&&ae(e,r,a)?n.push({command:ee.setGeoJSONSourceData,args:[a,r[a].data]}):ie(a,r,n,i)):re(a,r,n))}(e.sources,r.sources,a,i);var o=[];e.layers&&e.layers.forEach(function(t){i[t.source]?n.push({command:ee.removeLayer,args:[t.id]}):o.push(t)}),n=n.concat(a),function(e,r,n){r=r||[];var i,a,o,s,l,c,u,f=(e=e||[]).map(se),h=r.map(se),p=e.reduce(le,{}),d=r.reduce(le,{}),g=f.slice(),m=Object.create(null);for(i=0,a=0;i<f.length;i++)o=f[i],d.hasOwnProperty(o)?a++:(n.push({command:ee.removeLayer,args:[o]}),g.splice(g.indexOf(o,a),1));for(i=0,a=0;i<h.length;i++)o=h[h.length-1-i],g[g.length-1-i]!==o&&(p.hasOwnProperty(o)?(n.push({command:ee.removeLayer,args:[o]}),g.splice(g.lastIndexOf(o,g.length-a),1)):a++,c=g[g.length-i],n.push({command:ee.addLayer,args:[d[o],c]}),g.splice(g.length-i,0,o),m[o]=!0);for(i=0;i<h.length;i++)if(s=p[o=h[i]],l=d[o],!m[o]&&!t.default$10(s,l))if(t.default$10(s.source,l.source)&&t.default$10(s["source-layer"],l["source-layer"])&&t.default$10(s.type,l.type)){for(u in oe(s.layout,l.layout,n,o,null,ee.setLayoutProperty),oe(s.paint,l.paint,n,o,null,ee.setPaintProperty),t.default$10(s.filter,l.filter)||n.push({command:ee.setFilter,args:[o,l.filter]}),t.default$10(s.minzoom,l.minzoom)&&t.default$10(s.maxzoom,l.maxzoom)||n.push({command:ee.setLayerZoomRange,args:[o,l.minzoom,l.maxzoom]}),s)s.hasOwnProperty(u)&&"layout"!==u&&"paint"!==u&&"filter"!==u&&"metadata"!==u&&"minzoom"!==u&&"maxzoom"!==u&&(0===u.indexOf("paint.")?oe(s[u],l[u],n,o,u.slice(6),ee.setPaintProperty):t.default$10(s[u],l[u])||n.push({command:ee.setLayerProperty,args:[o,u,l[u]]}));for(u in l)l.hasOwnProperty(u)&&!s.hasOwnProperty(u)&&"layout"!==u&&"paint"!==u&&"filter"!==u&&"metadata"!==u&&"minzoom"!==u&&"maxzoom"!==u&&(0===u.indexOf("paint.")?oe(s[u],l[u],n,o,u.slice(6),ee.setPaintProperty):t.default$10(s[u],l[u])||n.push({command:ee.setLayerProperty,args:[o,u,l[u]]}))}else n.push({command:ee.removeLayer,args:[o]}),c=g[g.lastIndexOf(o)+1],n.push({command:ee.addLayer,args:[l,c]})}(o,r.layers,n)}catch(t){console.warn("Unable to compute style diff:",t),n=[{command:ee.setStyle,args:[r]}]}return n}(this.serialize(),e).filter(function(t){return!(t.command in $e)});if(0===n.length)return!1;var i=n.filter(function(t){return!(t.command in Ze)});if(i.length>0)throw new Error("Unimplemented: "+i.map(function(t){return t.command}).join(", ")+".");return n.forEach(function(t){"setTransition"!==t.command&&r[t.command].apply(r,t.args)}),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(e,r),this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(e),this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.addSource=function(e,r,n){var i=this;if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!r.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,"sources."+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Yt(e,r,this.dispatcher);a.style=this,a.setEventedParent(this,function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}}),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source "'+e+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){this._checkLoaded();var i=e.id;if(this.getLayer(i))this.fire(new t.ErrorEvent(new Error('Layer with id "'+i+'" already exists on this map')));else if("object"==typeof e.source&&(this.addSource(i,e.source),e=t.clone(e),e=t.extend(e,{source:i})),!this._validate(t.validateStyle.layer,"layers."+i,e,{arrayIndex:-1},n)){var a=t.default$22(e);this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}});var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.'))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e]}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")))},r.prototype.setFilter=function(e,r){this._checkLoaded();var n=this.getLayer(e);if(n){if(!t.default$10(n.filter,r))return null==r?(n.filter=void 0,void this._updateLayer(n)):void(this._validate(t.validateStyle.filter,"layers."+n.id+".filter",r)||(n.filter=t.clone(r),this._updateLayer(n)))}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")))},r.prototype.getFilter=function(e){return t.clone(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?t.default$10(i.getLayoutProperty(r),n)||(i.setLayoutProperty(r,n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getLayoutProperty=function(t,e){return this.getLayer(t).getLayoutProperty(e)},r.prototype.setPaintProperty=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.default$10(i.getPaintProperty(r),n)){var a=i._transitionablePaint._values[r].value.isDataDriven();i.setPaintProperty(r,n),(i._transitionablePaint._values[r].value.isDataDriven()||a)&&this._updateLayer(i),this._changed=!0,this._updatedPaintProps[e]=!0}}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){var e=this;return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,function(t){return t.serialize()}),layers:this._order.map(function(t){return e._layers[t].serialize()})},function(t){return void 0!==t})},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenRenderedFeatures=function(t){for(var e=[],r=this._order.length-1;r>=0;r--)for(var n=this._order[r],i=0,a=t;i<a.length;i+=1){var o=a[i][n];if(o)for(var s=0,l=o;s<l.length;s+=1){var c=l[s];e.push(c)}}return e},r.prototype.queryRenderedFeatures=function(e,r,n){r&&r.filter&&this._validate(t.validateStyle.filter,"queryRenderedFeatures.filter",r.filter);var i={};if(r&&r.layers){if(!Array.isArray(r.layers))return this.fire(new t.ErrorEvent(new Error("parameters.layers must be an Array."))),[];for(var a=0,o=r.layers;a<o.length;a+=1){var s=o[a],l=this._layers[s];if(!l)return this.fire(new t.ErrorEvent(new Error("The layer '"+s+"' does not exist in the map's style and cannot be queried for features."))),[];i[l.source]=!0}}var c=[];for(var u in this.sourceCaches)r.layers&&!i[u]||c.push(at(this.sourceCaches[u],this._layers,e.worldCoordinate,r,n));return this.placement&&c.push(function(t,e,r,n,i){for(var a={},o=n.queryRenderedSymbols(e),s=[],l=0,c=Object.keys(o).map(Number);l<c.length;l+=1){var u=c[l];s.push(i[u])}s.sort(ot);for(var f=function(){var e=p[h],n=e.featureIndex.lookupSymbolFeatures(o[e.bucketInstanceId],e.bucketIndex,e.sourceLayerIndex,r.filter,r.layers,t);for(var i in n){var s=a[i]=a[i]||[],l=n[i];l.sort(function(t,r){var n=e.featureSortOrder;if(n){var i=n.indexOf(t.featureIndex);return n.indexOf(r.featureIndex)-i}return r.featureIndex-t.featureIndex});for(var c=0,u=l;c<u.length;c+=1){var f=u[c];s.push(f.feature)}}},h=0,p=s;h<p.length;h+=1)f();return a}(this._layers,e.viewport,r,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenRenderedFeatures(c)},r.prototype.querySourceFeatures=function(e,r){r&&r.filter&&this._validate(t.validateStyle.filter,"querySourceFeatures.filter",r.filter);var n=this.sourceCaches[e];return n?function(t,e){for(var r=t.getRenderableIds().map(function(e){return t.getTileByID(e)}),n=[],i={},a=0;a<r.length;a++){var o=r[a],s=o.tileID.canonical.key;i[s]||(i[s]=!0,o.querySourceFeatures(n,e))}return n}(n,r):[]},r.prototype.addSourceType=function(t,e,n){return r.getSourceType(t)?n(new Error('A source type called "'+t+'" already exists.')):(r.setSourceType(t,e),e.workerSourceURL?void this.dispatcher.broadcast("loadWorkerSource",{name:t,url:e.workerSourceURL},n):n(null,null))},r.prototype.getLight=function(){return this.light.getLight()},r.prototype.setLight=function(e){this._checkLoaded();var r=this.light.getLight(),n=!1;for(var i in e)if(!t.default$10(e[i],r[i])){n=!0;break}if(n){var o={now:a.now(),transition:t.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e),this.light.updateTransitions(o)}},r.prototype._validate=function(e,r,n,i,a){return(!a||!1!==a.validate)&&Xe(this,e.call(t.validateStyle,t.extend({key:r,style:this.serialize(),value:n,styleSpec:t.default$5},i)))},r.prototype._remove=function(){for(var e in t.evented.off("pluginAvailable",this._rtlTextPluginCallback),this.sourceCaches)this.sourceCaches[e].clearTiles();this.dispatcher.remove()},r.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles()},r.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload()},r.prototype._updateSources=function(t){for(var e in this.sourceCaches)this.sourceCaches[e].update(t)},r.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches)this._reloadSource(t)},r.prototype._updatePlacement=function(t,e,r){for(var n=!1,i=!1,o={},s=0,l=this._order;s<l.length;s+=1){var c=l[s],u=this._layers[c];if("symbol"===u.type){if(!o[u.source]){var f=this.sourceCaches[u.source];o[u.source]=f.getRenderableIds().map(function(t){return f.getTileByID(t)}).sort(function(t,e){return e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)})}var h=this.crossTileSymbolIndex.addLayer(u,o[u.source],t.center.lng);n=n||h}}this.crossTileSymbolIndex.pruneUnusedLayers(this._order);var p=this._layerOrderChanged;if((p||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(a.now()))&&(this.pauseablePlacement=new Ue(t,this._order,p,e,r),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,o),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(this.placement,a.now()),i=!0),n&&this.pauseablePlacement.placement.setStale()),i||n)for(var d=0,g=this._order;d<g.length;d+=1){var m=g[d],v=this._layers[m];"symbol"===v.type&&this.placement.updateLayerOpacities(v,o[v.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(a.now())},r.prototype.getImages=function(t,e,r){this.imageManager.getImages(e.icons,r)},r.prototype.getGlyphs=function(t,e,r){this.glyphManager.getGlyphs(e.stacks,r)},r}(t.Evented);Je.getSourceType=function(t){return nt[t]},Je.setSourceType=function(t,e){nt[t]=e},Je.registerForPluginAvailability=t.registerForPluginAvailability;var Ke=t.createLayout([{name:"a_pos",type:"Int16",components:2}]),Qe={prelude:{fragmentSource:"#ifdef GL_ES\nprecision mediump float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n",vertexSource:"#ifdef GL_ES\nprecision highp float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n\n// Unpack a pair of values that have been packed into a single float.\n// The packed values are assumed to be 8-bit unsigned integers, and are\n// packed like so:\n// packedValue = floor(input[0]) * 256 + input[1],\nvec2 unpack_float(const float packedValue) {\n int packedIntValue = int(packedValue);\n int v0 = packedIntValue / 256;\n return vec2(v0, packedIntValue - v0 * 256);\n}\n\nvec2 unpack_opacity(const float packedOpacity) {\n int intOpacity = int(packedOpacity) / 2;\n return vec2(float(intOpacity) / 127.0, mod(packedOpacity, 2.0));\n}\n\n// To minimize the number of attributes needed, we encode a 4-component\n// color into a pair of floats (i.e. a vec2) as follows:\n// [ floor(color.r * 255) * 256 + color.g * 255,\n// floor(color.b * 255) * 256 + color.g * 255 ]\nvec4 decode_color(const vec2 encodedColor) {\n return vec4(\n unpack_float(encodedColor[0]) / 255.0,\n unpack_float(encodedColor[1]) / 255.0\n );\n}\n\n// Unpack a pair of paint values and interpolate between them.\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\n return mix(packedValue[0], packedValue[1], t);\n}\n\n// Unpack a pair of paint values and interpolate between them.\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\n vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\n vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\n return mix(minColor, maxColor, t);\n}\n\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\n// vec2 offset = mod(pixel_coord, size)\n//\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\n//\n// The pixel_coord is passed in as two 16 bit values:\n// pixel_coord_upper = floor(pixel_coord / 2^16)\n// pixel_coord_lower = mod(pixel_coord, 2^16)\n//\n// The offset is calculated in a series of steps that should preserve this precision:\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\n const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\n\n vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\n return (tile_units_to_pixels * pos + offset) / pattern_size;\n}\n"},background:{fragmentSource:"uniform vec4 u_color;\nuniform float u_opacity;\n\nvoid main() {\n gl_FragColor = u_color * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},backgroundPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\nuniform float u_opacity;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\nvoid main() {\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n gl_FragColor = mix(color1, color2, u_mix) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n}\n"},circle:{fragmentSource:"#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\n\nvarying vec3 v_data;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize mediump float radius\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize highp vec4 stroke_color\n #pragma mapbox: initialize mediump float stroke_width\n #pragma mapbox: initialize lowp float stroke_opacity\n\n vec2 extrude = v_data.xy;\n float extrude_length = length(extrude);\n\n lowp float antialiasblur = v_data.z;\n float antialiased_blur = -max(blur, antialiasblur);\n\n float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\n\n float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\n antialiased_blur,\n 0.0,\n extrude_length - radius / (radius + stroke_width)\n );\n\n gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform bool u_scale_with_map;\nuniform bool u_pitch_with_map;\nuniform vec2 u_extrude_scale;\nuniform highp float u_camera_to_center_distance;\n\nattribute vec2 a_pos;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\n\nvarying vec3 v_data;\n\nvoid main(void) {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize mediump float radius\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize highp vec4 stroke_color\n #pragma mapbox: initialize mediump float stroke_width\n #pragma mapbox: initialize lowp float stroke_opacity\n\n // unencode the extrusion vector that we snuck into the a_pos vector\n vec2 extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\n\n // multiply a_pos by 0.5, since we had it * 2 in order to sneak\n // in extrusion data\n vec2 circle_center = floor(a_pos * 0.5);\n if (u_pitch_with_map) {\n vec2 corner_position = circle_center;\n if (u_scale_with_map) {\n corner_position += extrude * (radius + stroke_width) * u_extrude_scale;\n } else {\n // Pitching the circle with the map effectively scales it with the map\n // To counteract the effect for pitch-scale: viewport, we rescale the\n // whole circle based on the pitch scaling effect at its central point\n vec4 projected_center = u_matrix * vec4(circle_center, 0, 1);\n corner_position += extrude * (radius + stroke_width) * u_extrude_scale * (projected_center.w / u_camera_to_center_distance);\n }\n\n gl_Position = u_matrix * vec4(corner_position, 0, 1);\n } else {\n gl_Position = u_matrix * vec4(circle_center, 0, 1);\n\n if (u_scale_with_map) {\n gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * u_camera_to_center_distance;\n } else {\n gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * gl_Position.w;\n }\n }\n\n // This is a minimum blur distance that serves as a faux-antialiasing for\n // the circle. since blur is a ratio of the circle's size and the intent is\n // to keep the blur at roughly 1px, the two are inversely related.\n lowp float antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\n\n v_data = vec3(extrude.x, extrude.y, antialiasblur);\n}\n"},clippingMask:{fragmentSource:"void main() {\n gl_FragColor = vec4(1.0);\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},heatmap:{fragmentSource:"#pragma mapbox: define highp float weight\n\nuniform highp float u_intensity;\nvarying vec2 v_extrude;\n\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\n#define GAUSS_COEF 0.3989422804014327\n\nvoid main() {\n #pragma mapbox: initialize highp float weight\n\n // Kernel density estimation with a Gaussian kernel of size 5x5\n float d = -0.5 * 3.0 * 3.0 * dot(v_extrude, v_extrude);\n float val = weight * u_intensity * GAUSS_COEF * exp(d);\n\n gl_FragColor = vec4(val, 1.0, 1.0, 1.0);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\n\nuniform mat4 u_matrix;\nuniform float u_extrude_scale;\nuniform float u_opacity;\nuniform float u_intensity;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_extrude;\n\n// Effective \"0\" in the kernel density texture to adjust the kernel size to;\n// this empirically chosen number minimizes artifacts on overlapping kernels\n// for typical heatmap cases (assuming clustered source)\nconst highp float ZERO = 1.0 / 255.0 / 16.0;\n\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\n#define GAUSS_COEF 0.3989422804014327\n\nvoid main(void) {\n #pragma mapbox: initialize highp float weight\n #pragma mapbox: initialize mediump float radius\n\n // unencode the extrusion vector that we snuck into the a_pos vector\n vec2 unscaled_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\n\n // This 'extrude' comes in ranging from [-1, -1], to [1, 1]. We'll use\n // it to produce the vertices of a square mesh framing the point feature\n // we're adding to the kernel density texture. We'll also pass it as\n // a varying, so that the fragment shader can determine the distance of\n // each fragment from the point feature.\n // Before we do so, we need to scale it up sufficiently so that the\n // kernel falls effectively to zero at the edge of the mesh.\n // That is, we want to know S such that\n // weight * u_intensity * GAUSS_COEF * exp(-0.5 * 3.0^2 * S^2) == ZERO\n // Which solves to:\n // S = sqrt(-2.0 * log(ZERO / (weight * u_intensity * GAUSS_COEF))) / 3.0\n float S = sqrt(-2.0 * log(ZERO / weight / u_intensity / GAUSS_COEF)) / 3.0;\n\n // Pass the varying in units of radius\n v_extrude = S * unscaled_extrude;\n\n // Scale by radius and the zoom-based scale factor to produce actual\n // mesh position\n vec2 extrude = v_extrude * radius * u_extrude_scale;\n\n // multiply a_pos by 0.5, since we had it * 2 in order to sneak\n // in extrusion data\n vec4 pos = vec4(floor(a_pos * 0.5) + extrude, 0, 1);\n\n gl_Position = u_matrix * pos;\n}\n"},heatmapTexture:{fragmentSource:"uniform sampler2D u_image;\nuniform sampler2D u_color_ramp;\nuniform float u_opacity;\nvarying vec2 v_pos;\n\nvoid main() {\n float t = texture2D(u_image, v_pos).r;\n vec4 color = texture2D(u_color_ramp, vec2(t, 0.5));\n gl_FragColor = color * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(0.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_world;\nattribute vec2 a_pos;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\n\n v_pos.x = a_pos.x;\n v_pos.y = 1.0 - a_pos.y;\n}\n"},collisionBox:{fragmentSource:"\nvarying float v_placed;\nvarying float v_notUsed;\n\nvoid main() {\n\n float alpha = 0.5;\n\n // Red = collision, hide label\n gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n\n // Blue = no collision, label is showing\n if (v_placed > 0.5) {\n gl_FragColor = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\n }\n\n if (v_notUsed > 0.5) {\n // This box not used, fade it out\n gl_FragColor *= .1;\n }\n}",vertexSource:"attribute vec2 a_pos;\nattribute vec2 a_anchor_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_placed;\n\nuniform mat4 u_matrix;\nuniform vec2 u_extrude_scale;\nuniform float u_camera_to_center_distance;\n\nvarying float v_placed;\nvarying float v_notUsed;\n\nvoid main() {\n vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n highp float collision_perspective_ratio = clamp(\n 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance),\n 0.0, // Prevents oversized near-field boxes in pitched/overzoomed tiles\n 4.0);\n\n gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\n gl_Position.xy += a_extrude * u_extrude_scale * gl_Position.w * collision_perspective_ratio;\n\n v_placed = a_placed.x;\n v_notUsed = a_placed.y;\n}\n"},collisionCircle:{fragmentSource:"uniform float u_overscale_factor;\n\nvarying float v_placed;\nvarying float v_notUsed;\nvarying float v_radius;\nvarying vec2 v_extrude;\nvarying vec2 v_extrude_scale;\n\nvoid main() {\n float alpha = 0.5;\n\n // Red = collision, hide label\n vec4 color = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n\n // Blue = no collision, label is showing\n if (v_placed > 0.5) {\n color = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\n }\n\n if (v_notUsed > 0.5) {\n // This box not used, fade it out\n color *= .2;\n }\n\n float extrude_scale_length = length(v_extrude_scale);\n float extrude_length = length(v_extrude) * extrude_scale_length;\n float stroke_width = 15.0 * extrude_scale_length / u_overscale_factor;\n float radius = v_radius * extrude_scale_length;\n\n float distance_to_edge = abs(extrude_length - radius);\n float opacity_t = smoothstep(-stroke_width, 0.0, -distance_to_edge);\n\n gl_FragColor = opacity_t * color;\n}\n",vertexSource:"attribute vec2 a_pos;\nattribute vec2 a_anchor_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_placed;\n\nuniform mat4 u_matrix;\nuniform vec2 u_extrude_scale;\nuniform float u_camera_to_center_distance;\n\nvarying float v_placed;\nvarying float v_notUsed;\nvarying float v_radius;\n\nvarying vec2 v_extrude;\nvarying vec2 v_extrude_scale;\n\nvoid main() {\n vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n highp float collision_perspective_ratio = clamp(\n 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance),\n 0.0, // Prevents oversized near-field circles in pitched/overzoomed tiles\n 4.0);\n\n gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\n\n highp float padding_factor = 1.2; // Pad the vertices slightly to make room for anti-alias blur\n gl_Position.xy += a_extrude * u_extrude_scale * padding_factor * gl_Position.w * collision_perspective_ratio;\n\n v_placed = a_placed.x;\n v_notUsed = a_placed.y;\n v_radius = abs(a_extrude.y); // We don't pitch the circles, so both units of the extrusion vector are equal in magnitude to the radius\n\n v_extrude = a_extrude * padding_factor;\n v_extrude_scale = u_extrude_scale * u_camera_to_center_distance * collision_perspective_ratio;\n}\n"},debug:{fragmentSource:"uniform highp vec4 u_color;\n\nvoid main() {\n gl_FragColor = u_color;\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},fill:{fragmentSource:"#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_FragColor = color * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},fillOutline:{fragmentSource:"#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_pos;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\n gl_FragColor = outline_color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos;\n\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillOutlinePattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n // find distance to outline for alpha interpolation\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\n\n\n gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_world;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n gl_FragColor = mix(color1, color2, u_mix) * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n}\n"},fillExtrusion:{fragmentSource:"varying vec4 v_color;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define highp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize highp vec4 color\n\n gl_FragColor = v_color;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec4 a_normal_ed;\n\nvarying vec4 v_color;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\n#pragma mapbox: define highp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize highp vec4 color\n\n vec3 normal = a_normal_ed.xyz;\n\n base = max(0.0, base);\n height = max(0.0, height);\n\n float t = mod(normal.x, 2.0);\n\n gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\n\n // Relative luminance (how dark/bright is the surface color?)\n float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\n\n v_color = vec4(0.0, 0.0, 0.0, 1.0);\n\n // Add slight ambient lighting so no extrusions are totally black\n vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\n color += ambientlight;\n\n // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\n float directional = clamp(dot(normal / 16384.0, u_lightpos), 0.0, 1.0);\n\n // Adjust directional so that\n // the range of values for highlight/shading is narrower\n // with lower light intensity\n // and with lighter/brighter surface colors\n directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\n\n // Add gradient along z axis of side surfaces\n if (normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n // Assign final color based on surface + ambient light color, diffuse light directional, and light color\n // with lower bounds adjusted to hue of light\n // so that shading is tinted with the complementary (opposite) color to the light color\n v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\n v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\n v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\n}\n"},fillExtrusionPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n vec4 mixedColor = mix(color1, color2, u_mix);\n\n gl_FragColor = mixedColor * v_lighting;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\nuniform float u_height_factor;\n\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec4 a_normal_ed;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\nvarying float v_directional;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n vec3 normal = a_normal_ed.xyz;\n float edgedistance = a_normal_ed.w;\n\n base = max(0.0, base);\n height = max(0.0, height);\n\n float t = mod(normal.x, 2.0);\n float z = t > 0.0 ? height : base;\n\n gl_Position = u_matrix * vec4(a_pos, z, 1);\n\n vec2 pos = normal.x == 1.0 && normal.y == 0.0 && normal.z == 16384.0\n ? a_pos // extrusion top\n : vec2(edgedistance, z * u_height_factor); // extrusion side\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, pos);\n\n v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\n float directional = clamp(dot(normal / 16383.0, u_lightpos), 0.0, 1.0);\n directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\n\n if (normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\n}\n"},extrusionTexture:{fragmentSource:"uniform sampler2D u_image;\nuniform float u_opacity;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_FragColor = texture2D(u_image, v_pos) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(0.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_world;\nattribute vec2 a_pos;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\n\n v_pos.x = a_pos.x;\n v_pos.y = 1.0 - a_pos.y;\n}\n"},hillshadePrepare:{fragmentSource:"#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D u_image;\nvarying vec2 v_pos;\nuniform vec2 u_dimension;\nuniform float u_zoom;\nuniform float u_maxzoom;\n\nfloat getElevation(vec2 coord, float bias) {\n // Convert encoded elevation value to meters\n vec4 data = texture2D(u_image, coord) * 255.0;\n return (data.r + data.g * 256.0 + data.b * 256.0 * 256.0) / 4.0;\n}\n\nvoid main() {\n vec2 epsilon = 1.0 / u_dimension;\n\n // queried pixels:\n // +-----------+\n // | | | |\n // | a | b | c |\n // | | | |\n // +-----------+\n // | | | |\n // | d | e | f |\n // | | | |\n // +-----------+\n // | | | |\n // | g | h | i |\n // | | | |\n // +-----------+\n\n float a = getElevation(v_pos + vec2(-epsilon.x, -epsilon.y), 0.0);\n float b = getElevation(v_pos + vec2(0, -epsilon.y), 0.0);\n float c = getElevation(v_pos + vec2(epsilon.x, -epsilon.y), 0.0);\n float d = getElevation(v_pos + vec2(-epsilon.x, 0), 0.0);\n float e = getElevation(v_pos, 0.0);\n float f = getElevation(v_pos + vec2(epsilon.x, 0), 0.0);\n float g = getElevation(v_pos + vec2(-epsilon.x, epsilon.y), 0.0);\n float h = getElevation(v_pos + vec2(0, epsilon.y), 0.0);\n float i = getElevation(v_pos + vec2(epsilon.x, epsilon.y), 0.0);\n\n // here we divide the x and y slopes by 8 * pixel size\n // where pixel size (aka meters/pixel) is:\n // circumference of the world / (pixels per tile * number of tiles)\n // which is equivalent to: 8 * 40075016.6855785 / (512 * pow(2, u_zoom))\n // which can be reduced to: pow(2, 19.25619978527 - u_zoom)\n // we want to vertically exaggerate the hillshading though, because otherwise\n // it is barely noticeable at low zooms. to do this, we multiply this by some\n // scale factor pow(2, (u_zoom - u_maxzoom) * a) where a is an arbitrary value\n // Here we use a=0.3 which works out to the expression below. see \n // nickidlugash's awesome breakdown for more info\n // https://github.com/mapbox/mapbox-gl-js/pull/5286#discussion_r148419556\n float exaggeration = u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;\n\n vec2 deriv = vec2(\n (c + f + f + i) - (a + d + d + g),\n (g + h + h + i) - (a + b + b + c)\n ) / pow(2.0, (u_zoom - u_maxzoom) * exaggeration + 19.2562 - u_zoom);\n\n gl_FragColor = clamp(vec4(\n deriv.x / 2.0 + 0.5,\n deriv.y / 2.0 + 0.5,\n 1.0,\n 1.0), 0.0, 1.0);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = (a_texture_pos / 8192.0) / 2.0 + 0.25;\n}\n"},hillshade:{fragmentSource:"uniform sampler2D u_image;\nvarying vec2 v_pos;\n\nuniform vec2 u_latrange;\nuniform vec2 u_light;\nuniform vec4 u_shadow;\nuniform vec4 u_highlight;\nuniform vec4 u_accent;\n\n#define PI 3.141592653589793\n\nvoid main() {\n vec4 pixel = texture2D(u_image, v_pos);\n\n vec2 deriv = ((pixel.rg * 2.0) - 1.0);\n\n // We divide the slope by a scale factor based on the cosin of the pixel's approximate latitude\n // to account for mercator projection distortion. see #4807 for details\n float scaleFactor = cos(radians((u_latrange[0] - u_latrange[1]) * (1.0 - v_pos.y) + u_latrange[1]));\n // We also multiply the slope by an arbitrary z-factor of 1.25\n float slope = atan(1.25 * length(deriv) / scaleFactor);\n float aspect = deriv.x != 0.0 ? atan(deriv.y, -deriv.x) : PI / 2.0 * (deriv.y > 0.0 ? 1.0 : -1.0);\n\n float intensity = u_light.x;\n // We add PI to make this property match the global light object, which adds PI/2 to the light's azimuthal\n // position property to account for 0deg corresponding to north/the top of the viewport in the style spec\n // and the original shader was written to accept (-illuminationDirection - 90) as the azimuthal.\n float azimuth = u_light.y + PI;\n\n // We scale the slope exponentially based on intensity, using a calculation similar to\n // the exponential interpolation function in the style spec:\n // https://github.com/mapbox/mapbox-gl-js/blob/master/src/style-spec/expression/definitions/interpolate.js#L217-L228\n // so that higher intensity values create more opaque hillshading.\n float base = 1.875 - intensity * 1.75;\n float maxValue = 0.5 * PI;\n float scaledSlope = intensity != 0.5 ? ((pow(base, slope) - 1.0) / (pow(base, maxValue) - 1.0)) * maxValue : slope;\n\n // The accent color is calculated with the cosine of the slope while the shade color is calculated with the sine\n // so that the accent color's rate of change eases in while the shade color's eases out.\n float accent = cos(scaledSlope);\n // We multiply both the accent and shade color by a clamped intensity value\n // so that intensities >= 0.5 do not additionally affect the color values\n // while intensity values < 0.5 make the overall color more transparent.\n vec4 accent_color = (1.0 - accent) * u_accent * clamp(intensity * 2.0, 0.0, 1.0);\n float shade = abs(mod((aspect + azimuth) / PI + 0.5, 2.0) - 1.0);\n vec4 shade_color = mix(u_shadow, u_highlight, shade) * sin(scaledSlope) * clamp(intensity * 2.0, 0.0, 1.0);\n gl_FragColor = accent_color * (1.0 - shade_color.a) + shade_color;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = a_texture_pos / 8192.0;\n}\n"},line:{fragmentSource:"#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_width2;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_gamma_scale;\nvarying highp float v_linesofar;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float width\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n v_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * 2.0;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases.\n // moved them into the shader for clarity and simplicity.\n gapwidth = gapwidth / 2.0;\n float halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_width2 = vec2(outset, inset);\n}\n"},lineGradient:{fragmentSource:"\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nuniform sampler2D u_image;\n\nvarying vec2 v_width2;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\nvarying highp float v_lineprogress;\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n // For gradient lines, v_lineprogress is the ratio along the entire line,\n // scaled to [0, 2^15), and the gradient ramp is stored in a texture.\n vec4 color = texture2D(u_image, vec2(v_lineprogress, 0.5));\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"\n// the attribute conveying progress along a line is scaled to [0, 2^15)\n#define MAX_LINE_DISTANCE 32767.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_gamma_scale;\nvarying highp float v_lineprogress;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float width\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n v_lineprogress = (floor(a_data.z / 4.0) + a_data.w * 64.0) * 2.0 / MAX_LINE_DISTANCE;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases.\n // moved them into the shader for clarity and simplicity.\n gapwidth = gapwidth / 2.0;\n float halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_width2 = vec2(outset, inset);\n}\n"},linePattern:{fragmentSource:"uniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_fade;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\n float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\n\n // v_normal.y is 0 at the midpoint of the line, -1 at the lower edge, 1 at the upper edge\n // we clamp the line width outset to be between 0 and half the pattern height plus padding (2.0)\n // to ensure we don't sample outside the designated symbol on the sprite sheet.\n // 0.5 is added to shift the component to be bounded between 0 and 1 for interpolation of\n // the texture coordinate\n float y_a = 0.5 + (v_normal.y * clamp(v_width2.s, 0.0, (u_pattern_size_a.y + 2.0) / 2.0) / u_pattern_size_a.y);\n float y_b = 0.5 + (v_normal.y * clamp(v_width2.s, 0.0, (u_pattern_size_b.y + 2.0) / 2.0) / u_pattern_size_b.y);\n vec2 pos_a = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, vec2(x_a, y_a));\n vec2 pos_b = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, vec2(x_b, y_b));\n\n vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\n\n gl_FragColor = color * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize mediump float width\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases.\n // moved them into the shader for clarity and simplicity.\n gapwidth = gapwidth / 2.0;\n float halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_linesofar = a_linesofar;\n v_width2 = vec2(outset, inset);\n}\n"},lineSDF:{fragmentSource:"\nuniform sampler2D u_image;\nuniform float u_sdfgamma;\nuniform float u_mix;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float width\n #pragma mapbox: initialize lowp float floorwidth\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float sdfdist_a = texture2D(u_image, v_tex_a).a;\n float sdfdist_b = texture2D(u_image, v_tex_b).a;\n float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\n alpha *= smoothstep(0.5 - u_sdfgamma / floorwidth, 0.5 + u_sdfgamma / floorwidth, sdfdist);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_patternscale_a;\nuniform float u_tex_y_a;\nuniform vec2 u_patternscale_b;\nuniform float u_tex_y_b;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float width\n #pragma mapbox: initialize lowp float floorwidth\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases.\n // moved them into the shader for clarity and simplicity.\n gapwidth = gapwidth / 2.0;\n float halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist =outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_tex_a = vec2(a_linesofar * u_patternscale_a.x / floorwidth, normal.y * u_patternscale_a.y + u_tex_y_a);\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x / floorwidth, normal.y * u_patternscale_b.y + u_tex_y_b);\n\n v_width2 = vec2(outset, inset);\n}\n"},raster:{fragmentSource:"uniform float u_fade_t;\nuniform float u_opacity;\nuniform sampler2D u_image0;\nuniform sampler2D u_image1;\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nuniform float u_brightness_low;\nuniform float u_brightness_high;\n\nuniform float u_saturation_factor;\nuniform float u_contrast_factor;\nuniform vec3 u_spin_weights;\n\nvoid main() {\n\n // read and cross-fade colors from the main and parent tiles\n vec4 color0 = texture2D(u_image0, v_pos0);\n vec4 color1 = texture2D(u_image1, v_pos1);\n if (color0.a > 0.0) {\n color0.rgb = color0.rgb / color0.a;\n }\n if (color1.a > 0.0) {\n color1.rgb = color1.rgb / color1.a;\n }\n vec4 color = mix(color0, color1, u_fade_t);\n color.a *= u_opacity;\n vec3 rgb = color.rgb;\n\n // spin\n rgb = vec3(\n dot(rgb, u_spin_weights.xyz),\n dot(rgb, u_spin_weights.zxy),\n dot(rgb, u_spin_weights.yzx));\n\n // saturation\n float average = (color.r + color.g + color.b) / 3.0;\n rgb += (average - rgb) * u_saturation_factor;\n\n // contrast\n rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\n\n // brightness\n vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\n vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\n\n gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_tl_parent;\nuniform float u_scale_parent;\nuniform float u_buffer_scale;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n // We are using Int16 for texture position coordinates to give us enough precision for\n // fractional coordinates. We use 8192 to scale the texture coordinates in the buffer\n // as an arbitrarily high number to preserve adequate precision when rendering.\n // This is also the same value as the EXTENT we are using for our tile buffer pos coordinates,\n // so math for modifying either is consistent.\n v_pos0 = (((a_texture_pos / 8192.0) - 0.5) / u_buffer_scale ) + 0.5;\n v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\n}\n"},symbolIcon:{fragmentSource:"uniform sampler2D u_texture;\n\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_tex;\nvarying float v_fade_opacity;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n lowp float alpha = opacity * v_fade_opacity;\n gl_FragColor = texture2D(u_texture, v_tex) * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec4 a_data;\nattribute vec3 a_projected_pos;\nattribute float a_fade_opacity;\n\nuniform bool u_is_size_zoom_constant;\nuniform bool u_is_size_feature_constant;\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\nuniform highp float u_size; // used when size is both zoom and feature constant\nuniform highp float u_camera_to_center_distance;\nuniform highp float u_pitch;\nuniform bool u_rotate_symbol;\nuniform highp float u_aspect_ratio;\nuniform float u_fade_change;\n\n#pragma mapbox: define lowp float opacity\n\nuniform mat4 u_matrix;\nuniform mat4 u_label_plane_matrix;\nuniform mat4 u_gl_coord_matrix;\n\nuniform bool u_is_text;\nuniform bool u_pitch_with_map;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying float v_fade_opacity;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_data.xy;\n vec2 a_size = a_data.zw;\n\n highp float segment_angle = -a_projected_pos[2];\n\n float size;\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = a_size[0] / 10.0;\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\n size = u_size;\n } else {\n size = u_size;\n }\n\n vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n // See comments in symbol_sdf.vertex\n highp float distance_ratio = u_pitch_with_map ?\n camera_to_anchor_distance / u_camera_to_center_distance :\n u_camera_to_center_distance / camera_to_anchor_distance;\n highp float perspective_ratio = clamp(\n 0.5 + 0.5 * distance_ratio,\n 0.0, // Prevents oversized near-field symbols in pitched/overzoomed tiles\n 4.0);\n\n size *= perspective_ratio;\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n highp float symbol_rotation = 0.0;\n if (u_rotate_symbol) {\n // See comments in symbol_sdf.vertex\n vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\n\n vec2 a = projectedPoint.xy / projectedPoint.w;\n vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\n\n symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\n }\n\n highp float angle_sin = sin(segment_angle + symbol_rotation);\n highp float angle_cos = cos(segment_angle + symbol_rotation);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n\n vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\n gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 32.0 * fontScale), 0.0, 1.0);\n\n v_tex = a_tex / u_texsize;\n vec2 fade_opacity = unpack_opacity(a_fade_opacity);\n float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\n v_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\n}\n"},symbolSDF:{fragmentSource:"#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\n\nuniform bool u_is_halo;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\nuniform sampler2D u_texture;\nuniform highp float u_gamma_scale;\nuniform bool u_is_text;\n\nvarying vec2 v_data0;\nvarying vec3 v_data1;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 fill_color\n #pragma mapbox: initialize highp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n vec2 tex = v_data0.xy;\n float gamma_scale = v_data1.x;\n float size = v_data1.y;\n float fade_opacity = v_data1[2];\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n lowp vec4 color = fill_color;\n highp float gamma = EDGE_GAMMA / (fontScale * u_gamma_scale);\n lowp float buff = (256.0 - 64.0) / 256.0;\n if (u_is_halo) {\n color = halo_color;\n gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (fontScale * u_gamma_scale);\n buff = (6.0 - halo_width / fontScale) / SDF_PX;\n }\n\n lowp float dist = texture2D(u_texture, tex).a;\n highp float gamma_scaled = gamma * gamma_scale;\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);\n\n gl_FragColor = color * (alpha * opacity * fade_opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec4 a_data;\nattribute vec3 a_projected_pos;\nattribute float a_fade_opacity;\n\n// contents of a_size vary based on the type of property value\n// used for {text,icon}-size.\n// For constants, a_size is disabled.\n// For source functions, we bind only one value per vertex: the value of {text,icon}-size evaluated for the current feature.\n// For composite functions:\n// [ text-size(lowerZoomStop, feature),\n// text-size(upperZoomStop, feature) ]\nuniform bool u_is_size_zoom_constant;\nuniform bool u_is_size_feature_constant;\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\nuniform highp float u_size; // used when size is both zoom and feature constant\n\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\nuniform mat4 u_matrix;\nuniform mat4 u_label_plane_matrix;\nuniform mat4 u_gl_coord_matrix;\n\nuniform bool u_is_text;\nuniform bool u_pitch_with_map;\nuniform highp float u_pitch;\nuniform bool u_rotate_symbol;\nuniform highp float u_aspect_ratio;\nuniform highp float u_camera_to_center_distance;\nuniform float u_fade_change;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_data0;\nvarying vec3 v_data1;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 fill_color\n #pragma mapbox: initialize highp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_data.xy;\n vec2 a_size = a_data.zw;\n\n highp float segment_angle = -a_projected_pos[2];\n float size;\n\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = a_size[0] / 10.0;\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\n size = u_size;\n } else {\n size = u_size;\n }\n\n vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n // If the label is pitched with the map, layout is done in pitched space,\n // which makes labels in the distance smaller relative to viewport space.\n // We counteract part of that effect by multiplying by the perspective ratio.\n // If the label isn't pitched with the map, we do layout in viewport space,\n // which makes labels in the distance larger relative to the features around\n // them. We counteract part of that effect by dividing by the perspective ratio.\n highp float distance_ratio = u_pitch_with_map ?\n camera_to_anchor_distance / u_camera_to_center_distance :\n u_camera_to_center_distance / camera_to_anchor_distance;\n highp float perspective_ratio = clamp(\n 0.5 + 0.5 * distance_ratio,\n 0.0, // Prevents oversized near-field symbols in pitched/overzoomed tiles\n 4.0);\n\n size *= perspective_ratio;\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n highp float symbol_rotation = 0.0;\n if (u_rotate_symbol) {\n // Point labels with 'rotation-alignment: map' are horizontal with respect to tile units\n // To figure out that angle in projected space, we draw a short horizontal line in tile\n // space, project it, and measure its angle in projected space.\n vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\n\n vec2 a = projectedPoint.xy / projectedPoint.w;\n vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\n\n symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\n }\n\n highp float angle_sin = sin(segment_angle + symbol_rotation);\n highp float angle_cos = cos(segment_angle + symbol_rotation);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n\n vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\n gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 32.0 * fontScale), 0.0, 1.0);\n float gamma_scale = gl_Position.w;\n\n vec2 tex = a_tex / u_texsize;\n vec2 fade_opacity = unpack_opacity(a_fade_opacity);\n float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\n float interpolated_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\n\n v_data0 = vec2(tex.x, tex.y);\n v_data1 = vec3(gamma_scale, size, interpolated_fade_opacity);\n}\n"}},tr=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,er=function(t){var e=Qe[t],r={};e.fragmentSource=e.fragmentSource.replace(tr,function(t,e,n,i,a){return r[a]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nvarying "+n+" "+i+" "+a+";\n#else\nuniform "+n+" "+i+" u_"+a+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+a+"\n "+n+" "+i+" "+a+" = u_"+a+";\n#endif\n"}),e.vertexSource=e.vertexSource.replace(tr,function(t,e,n,i,a){var o="float"===i?"vec2":"vec4";return r[a]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nuniform lowp float a_"+a+"_t;\nattribute "+n+" "+o+" a_"+a+";\nvarying "+n+" "+i+" "+a+";\n#else\nuniform "+n+" "+i+" u_"+a+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+a+" = unpack_mix_"+o+"(a_"+a+", a_"+a+"_t);\n#else\n "+n+" "+i+" "+a+" = u_"+a+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nuniform lowp float a_"+a+"_t;\nattribute "+n+" "+o+" a_"+a+";\n#else\nuniform "+n+" "+i+" u_"+a+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+n+" "+i+" "+a+" = unpack_mix_"+o+"(a_"+a+", a_"+a+"_t);\n#else\n "+n+" "+i+" "+a+" = u_"+a+";\n#endif\n"})};for(var rr in Qe)er(rr);var nr=Qe,ir=function(t,e,r,n){var i=t.gl;this.program=i.createProgram();var o=r.defines().concat("#define DEVICE_PIXEL_RATIO "+a.devicePixelRatio.toFixed(1));n&&o.push("#define OVERDRAW_INSPECTOR;");var s=o.concat(nr.prelude.fragmentSource,e.fragmentSource).join("\n"),l=o.concat(nr.prelude.vertexSource,e.vertexSource).join("\n"),c=i.createShader(i.FRAGMENT_SHADER);i.shaderSource(c,s),i.compileShader(c),i.attachShader(this.program,c);var u=i.createShader(i.VERTEX_SHADER);i.shaderSource(u,l),i.compileShader(u),i.attachShader(this.program,u);for(var f=r.layoutAttributes||[],h=0;h<f.length;h++)i.bindAttribLocation(this.program,h,f[h].name);i.linkProgram(this.program),this.numAttributes=i.getProgramParameter(this.program,i.ACTIVE_ATTRIBUTES),this.attributes={},this.uniforms={};for(var p=0;p<this.numAttributes;p++){var d=i.getActiveAttrib(this.program,p);d&&(this.attributes[d.name]=i.getAttribLocation(this.program,d.name))}for(var g=i.getProgramParameter(this.program,i.ACTIVE_UNIFORMS),m=0;m<g;m++){var v=i.getActiveUniform(this.program,m);v&&(this.uniforms[v.name]=i.getUniformLocation(this.program,v.name))}};function ar(e,r,n,i,a){for(var o=0;o<n.length;o++){var s=n[o];if(i.isLessThan(s.tileID))break;if(r.key===s.tileID.key)return;if(s.tileID.isChildOf(r)){for(var l=r.children(1/0),c=0;c<l.length;c++)ar(e,l[c],n.slice(o),i,a);return}}var u=r.overscaledZ-e.overscaledZ,f=new t.CanonicalTileID(u,r.canonical.x-(e.canonical.x<<u),r.canonical.y-(e.canonical.y<<u));a[f.key]=a[f.key]||f}function or(t,e,r,n,i){var a=t.context,o=a.gl,s=i?t.useProgram("collisionCircle"):t.useProgram("collisionBox");a.setDepthMode(qt.disabled),a.setStencilMode(Ht.disabled),a.setColorMode(t.colorModeForRenderPass());for(var l=0;l<n.length;l++){var c=n[l],u=e.getTile(c),f=u.getBucket(r);if(f){var h=i?f.collisionCircle:f.collisionBox;if(h){o.uniformMatrix4fv(s.uniforms.u_matrix,!1,c.posMatrix),i||a.lineWidth.set(1),o.uniform1f(s.uniforms.u_camera_to_center_distance,t.transform.cameraToCenterDistance);var p=Te(u,1,t.transform.zoom),d=Math.pow(2,t.transform.zoom-u.tileID.overscaledZ);o.uniform1f(s.uniforms.u_pixels_to_tile_units,p),o.uniform2f(s.uniforms.u_extrude_scale,t.transform.pixelsToGLUnits[0]/(p*d),t.transform.pixelsToGLUnits[1]/(p*d)),o.uniform1f(s.uniforms.u_overscale_factor,u.tileID.overscaleFactor()),s.draw(a,i?o.TRIANGLES:o.LINES,r.id,h.layoutVertexBuffer,h.indexBuffer,h.segments,null,h.collisionVertexBuffer,null)}}}}ir.prototype.draw=function(t,e,r,n,i,a,o,s,l){for(var c,u=t.gl,f=(c={},c[u.LINES]=2,c[u.TRIANGLES]=3,c)[e],h=0,p=a.get();h<p.length;h+=1){var d=p[h],g=d.vaos||(d.vaos={});(g[r]||(g[r]=new Q)).bind(t,this,n,o?o.getPaintVertexBuffers():[],i,d.vertexOffset,s,l),u.drawElements(e,d.primitiveLength*f,u.UNSIGNED_SHORT,d.primitiveOffset*f*2)}};var sr=t.mat4.identity(new Float32Array(16)),lr=t.default$19.layout;function cr(t,e,r,n,i,a,o,s,l,c){var u,f=t.context,h=f.gl,p=t.transform,d="map"===s,g="map"===l,m=d&&"line"===r.layout.get("symbol-placement"),v=d&&!g&&!m,y=g;f.setDepthMode(y?t.depthModeForSublayer(0,qt.ReadOnly):qt.disabled);for(var x=0,b=n;x<b.length;x+=1){var _=b[x],w=e.getTile(_),k=w.getBucket(r);if(k){var M=i?k.text:k.icon;if(M&&M.segments.get().length){var A=M.programConfigurations.get(r.id),T=i||k.sdfIcons,S=i?k.textSizeData:k.iconSizeData;if(u||(u=t.useProgram(T?"symbolSDF":"symbolIcon",A),A.setUniforms(t.context,u,r.paint,{zoom:t.transform.zoom}),ur(u,t,r,i,v,g,S)),f.activeTexture.set(h.TEXTURE0),h.uniform1i(u.uniforms.u_texture,0),i)w.glyphAtlasTexture.bind(h.LINEAR,h.CLAMP_TO_EDGE),h.uniform2fv(u.uniforms.u_texsize,w.glyphAtlasTexture.size);else{var E=1!==r.layout.get("icon-size").constantOr(0)||k.iconsNeedLinear,C=g||0!==p.pitch;w.iconAtlasTexture.bind(T||t.options.rotating||t.options.zooming||E||C?h.LINEAR:h.NEAREST,h.CLAMP_TO_EDGE),h.uniform2fv(u.uniforms.u_texsize,w.iconAtlasTexture.size)}h.uniformMatrix4fv(u.uniforms.u_matrix,!1,t.translatePosMatrix(_.posMatrix,w,a,o));var L=Te(w,1,t.transform.zoom),z=fe(_.posMatrix,g,d,t.transform,L),P=he(_.posMatrix,g,d,t.transform,L);h.uniformMatrix4fv(u.uniforms.u_gl_coord_matrix,!1,t.translatePosMatrix(P,w,a,o,!0)),m?(h.uniformMatrix4fv(u.uniforms.u_label_plane_matrix,!1,sr),ge(k,_.posMatrix,t,i,z,P,g,c)):h.uniformMatrix4fv(u.uniforms.u_label_plane_matrix,!1,z),h.uniform1f(u.uniforms.u_fade_change,t.options.fadeDuration?t.symbolFadeChange:1),fr(u,A,t,r,w,M,i,T,g)}}}}function ur(e,r,n,i,a,o,s){var l=r.context.gl,c=r.transform;l.uniform1i(e.uniforms.u_pitch_with_map,o?1:0),l.uniform1f(e.uniforms.u_is_text,i?1:0),l.uniform1f(e.uniforms.u_pitch,c.pitch/360*2*Math.PI);var u="constant"===s.functionType||"source"===s.functionType,f="constant"===s.functionType||"camera"===s.functionType;l.uniform1i(e.uniforms.u_is_size_zoom_constant,u?1:0),l.uniform1i(e.uniforms.u_is_size_feature_constant,f?1:0),l.uniform1f(e.uniforms.u_camera_to_center_distance,c.cameraToCenterDistance);var h=t.evaluateSizeForZoom(s,c.zoom,lr.properties[i?"text-size":"icon-size"]);void 0!==h.uSizeT&&l.uniform1f(e.uniforms.u_size_t,h.uSizeT),void 0!==h.uSize&&l.uniform1f(e.uniforms.u_size,h.uSize),l.uniform1f(e.uniforms.u_aspect_ratio,c.width/c.height),l.uniform1i(e.uniforms.u_rotate_symbol,a?1:0)}function fr(t,e,r,n,i,a,o,s,l){var c=r.context,u=c.gl,f=r.transform;if(s){var h=0!==n.paint.get(o?"text-halo-width":"icon-halo-width").constantOr(1),p=l?Math.cos(f._pitch)*f.cameraToCenterDistance:1;u.uniform1f(t.uniforms.u_gamma_scale,p),h&&(u.uniform1f(t.uniforms.u_is_halo,1),hr(a,n,c,t)),u.uniform1f(t.uniforms.u_is_halo,0)}hr(a,n,c,t)}function hr(t,e,r,n){n.draw(r,r.gl.TRIANGLES,e.id,t.layoutVertexBuffer,t.indexBuffer,t.segments,t.programConfigurations.get(e.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}function pr(t,e,r,n,i,o,s,l,c){var u,f,h,p,d=e.context,g=d.gl,m=i.paint.get("line-dasharray"),v=i.paint.get("line-pattern");if(l||c){var y=1/Te(r,1,e.transform.tileZoom);if(m){u=e.lineAtlas.getDash(m.from,"round"===i.layout.get("line-cap")),f=e.lineAtlas.getDash(m.to,"round"===i.layout.get("line-cap"));var x=u.width*m.fromScale,b=f.width*m.toScale;g.uniform2f(t.uniforms.u_patternscale_a,y/x,-u.height/2),g.uniform2f(t.uniforms.u_patternscale_b,y/b,-f.height/2),g.uniform1f(t.uniforms.u_sdfgamma,e.lineAtlas.width/(256*Math.min(x,b)*a.devicePixelRatio)/2)}else if(v){if(h=e.imageManager.getPattern(v.from),p=e.imageManager.getPattern(v.to),!h||!p)return;g.uniform2f(t.uniforms.u_pattern_size_a,h.displaySize[0]*v.fromScale/y,h.displaySize[1]),g.uniform2f(t.uniforms.u_pattern_size_b,p.displaySize[0]*v.toScale/y,p.displaySize[1]);var _=e.imageManager.getPixelSize(),w=_.width,k=_.height;g.uniform2fv(t.uniforms.u_texsize,[w,k])}g.uniform2f(t.uniforms.u_gl_units_to_pixels,1/e.transform.pixelsToGLUnits[0],1/e.transform.pixelsToGLUnits[1])}l&&(m?(g.uniform1i(t.uniforms.u_image,0),d.activeTexture.set(g.TEXTURE0),e.lineAtlas.bind(d),g.uniform1f(t.uniforms.u_tex_y_a,u.y),g.uniform1f(t.uniforms.u_tex_y_b,f.y),g.uniform1f(t.uniforms.u_mix,m.t)):v&&(g.uniform1i(t.uniforms.u_image,0),d.activeTexture.set(g.TEXTURE0),e.imageManager.bind(d),g.uniform2fv(t.uniforms.u_pattern_tl_a,h.tl),g.uniform2fv(t.uniforms.u_pattern_br_a,h.br),g.uniform2fv(t.uniforms.u_pattern_tl_b,p.tl),g.uniform2fv(t.uniforms.u_pattern_br_b,p.br),g.uniform1f(t.uniforms.u_fade,v.t))),d.setStencilMode(e.stencilModeForClipping(o));var M=e.translatePosMatrix(o.posMatrix,r,i.paint.get("line-translate"),i.paint.get("line-translate-anchor"));if(g.uniformMatrix4fv(t.uniforms.u_matrix,!1,M),g.uniform1f(t.uniforms.u_ratio,1/Te(r,1,e.transform.zoom)),i.paint.get("line-gradient")){d.activeTexture.set(g.TEXTURE0);var A=i.gradientTexture;if(!i.gradient)return;A||(A=i.gradientTexture=new z(d,i.gradient,g.RGBA)),A.bind(g.LINEAR,g.CLAMP_TO_EDGE),g.uniform1i(t.uniforms.u_image,0)}t.draw(d,g.TRIANGLES,i.id,n.layoutVertexBuffer,n.indexBuffer,n.segments,s)}var dr=function(t,e){if(!t)return!1;var r=e.imageManager.getPattern(t.from),n=e.imageManager.getPattern(t.to);return!r||!n},gr=function(t,e,r){var n=e.context,i=n.gl,a=e.imageManager.getPattern(t.from),o=e.imageManager.getPattern(t.to);i.uniform1i(r.uniforms.u_image,0),i.uniform2fv(r.uniforms.u_pattern_tl_a,a.tl),i.uniform2fv(r.uniforms.u_pattern_br_a,a.br),i.uniform2fv(r.uniforms.u_pattern_tl_b,o.tl),i.uniform2fv(r.uniforms.u_pattern_br_b,o.br);var s=e.imageManager.getPixelSize(),l=s.width,c=s.height;i.uniform2fv(r.uniforms.u_texsize,[l,c]),i.uniform1f(r.uniforms.u_mix,t.t),i.uniform2fv(r.uniforms.u_pattern_size_a,a.displaySize),i.uniform2fv(r.uniforms.u_pattern_size_b,o.displaySize),i.uniform1f(r.uniforms.u_scale_a,t.fromScale),i.uniform1f(r.uniforms.u_scale_b,t.toScale),n.activeTexture.set(i.TEXTURE0),e.imageManager.bind(e.context)},mr=function(t,e,r){var n=e.context.gl;n.uniform1f(r.uniforms.u_tile_units_to_pixels,1/Te(t,1,e.transform.tileZoom));var i=Math.pow(2,t.tileID.overscaledZ),a=t.tileSize*Math.pow(2,e.transform.tileZoom)/i,o=a*(t.tileID.canonical.x+t.tileID.wrap*i),s=a*t.tileID.canonical.y;n.uniform2f(r.uniforms.u_pixel_coord_upper,o>>16,s>>16),n.uniform2f(r.uniforms.u_pixel_coord_lower,65535&o,65535&s)};function vr(t,e,r,n,i){if(!dr(r.paint.get("fill-pattern"),t))for(var a=!0,o=0,s=n;o<s.length;o+=1){var l=s[o],c=e.getTile(l),u=c.getBucket(r);u&&(t.context.setStencilMode(t.stencilModeForClipping(l)),i(t,e,r,c,l,u,a),a=!1)}}function yr(t,e,r,n,i,a,o){var s=t.context.gl,l=a.programConfigurations.get(r.id);br("fill",r.paint.get("fill-pattern"),t,l,r,n,i,o).draw(t.context,s.TRIANGLES,r.id,a.layoutVertexBuffer,a.indexBuffer,a.segments,l)}function xr(t,e,r,n,i,a,o){var s=t.context.gl,l=a.programConfigurations.get(r.id),c=br("fillOutline",r.getPaintProperty("fill-outline-color")?null:r.paint.get("fill-pattern"),t,l,r,n,i,o);s.uniform2f(c.uniforms.u_world,s.drawingBufferWidth,s.drawingBufferHeight),c.draw(t.context,s.LINES,r.id,a.layoutVertexBuffer,a.indexBuffer2,a.segments2,l)}function br(t,e,r,n,i,a,o,s){var l,c=r.context.program.get();return e?(l=r.useProgram(t+"Pattern",n),(s||l.program!==c)&&(n.setUniforms(r.context,l,i.paint,{zoom:r.transform.zoom}),gr(e,r,l)),mr(a,r,l)):(l=r.useProgram(t,n),(s||l.program!==c)&&n.setUniforms(r.context,l,i.paint,{zoom:r.transform.zoom})),r.context.gl.uniformMatrix4fv(l.uniforms.u_matrix,!1,r.translatePosMatrix(o.posMatrix,a,i.paint.get("fill-translate"),i.paint.get("fill-translate-anchor"))),l}var _r=t.default$20.mat3,wr=t.default$20.mat4,kr=t.default$20.vec3;function Mr(t,e,r,n,i,a,o){var s=t.context,l=s.gl,c=r.paint.get("fill-extrusion-pattern"),u=t.context.program.get(),f=a.programConfigurations.get(r.id),h=t.useProgram(c?"fillExtrusionPattern":"fillExtrusion",f);if((o||h.program!==u)&&f.setUniforms(s,h,r.paint,{zoom:t.transform.zoom}),c){if(dr(c,t))return;gr(c,t,h),mr(n,t,h),l.uniform1f(h.uniforms.u_height_factor,-Math.pow(2,i.overscaledZ)/n.tileSize/8)}t.context.gl.uniformMatrix4fv(h.uniforms.u_matrix,!1,t.translatePosMatrix(i.posMatrix,n,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor"))),function(t,e){var r=e.context.gl,n=e.style.light,i=n.properties.get("position"),a=[i.x,i.y,i.z],o=_r.create();"viewport"===n.properties.get("anchor")&&_r.fromRotation(o,-e.transform.angle),kr.transformMat3(a,a,o);var s=n.properties.get("color");r.uniform3fv(t.uniforms.u_lightpos,a),r.uniform1f(t.uniforms.u_lightintensity,n.properties.get("intensity")),r.uniform3f(t.uniforms.u_lightcolor,s.r,s.g,s.b)}(h,t),h.draw(s,l.TRIANGLES,r.id,a.layoutVertexBuffer,a.indexBuffer,a.segments,f)}function Ar(e,r,n){var i=e.context,a=i.gl,o=r.fbo;if(o){var s=e.useProgram("hillshade"),l=e.transform.calculatePosMatrix(r.tileID.toUnwrapped(),!0);!function(t,e,r){var n=r.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===r.paint.get("hillshade-illumination-anchor")&&(n-=e.transform.angle),e.context.gl.uniform2f(t.uniforms.u_light,r.paint.get("hillshade-exaggeration"),n)}(s,e,n);var c=function(e,r){var n=r.toCoordinate(),i=new t.default$17(n.column,n.row+1,n.zoom);return[e.transform.coordinateLocation(n).lat,e.transform.coordinateLocation(i).lat]}(e,r.tileID);i.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,o.colorAttachment.get()),a.uniformMatrix4fv(s.uniforms.u_matrix,!1,l),a.uniform2fv(s.uniforms.u_latrange,c),a.uniform1i(s.uniforms.u_image,0);var u=n.paint.get("hillshade-shadow-color");a.uniform4f(s.uniforms.u_shadow,u.r,u.g,u.b,u.a);var f=n.paint.get("hillshade-highlight-color");a.uniform4f(s.uniforms.u_highlight,f.r,f.g,f.b,f.a);var h=n.paint.get("hillshade-accent-color");if(a.uniform4f(s.uniforms.u_accent,h.r,h.g,h.b,h.a),r.maskedBoundsBuffer&&r.maskedIndexBuffer&&r.segments)s.draw(i,a.TRIANGLES,n.id,r.maskedBoundsBuffer,r.maskedIndexBuffer,r.segments);else{var p=e.rasterBoundsBuffer;e.rasterBoundsVAO.bind(i,s,p,[]),a.drawArrays(a.TRIANGLE_STRIP,0,p.length)}}}function Tr(e,r,n){var i=e.context,a=i.gl;if(r.dem&&r.dem.level){var o=r.dem.level.dim,s=r.dem.getPixels();if(i.activeTexture.set(a.TEXTURE1),i.pixelStoreUnpackPremultiplyAlpha.set(!1),r.demTexture=r.demTexture||e.getTileTexture(r.tileSize),r.demTexture){var l=r.demTexture;l.update(s,{premultiply:!1}),l.bind(a.NEAREST,a.CLAMP_TO_EDGE)}else r.demTexture=new z(i,s,a.RGBA,{premultiply:!1}),r.demTexture.bind(a.NEAREST,a.CLAMP_TO_EDGE);i.activeTexture.set(a.TEXTURE0);var c=r.fbo;if(!c){var u=new z(i,{width:o,height:o,data:null},a.RGBA);u.bind(a.LINEAR,a.CLAMP_TO_EDGE),(c=r.fbo=i.createFramebuffer(o,o)).colorAttachment.set(u.texture)}i.bindFramebuffer.set(c.framebuffer),i.viewport.set([0,0,o,o]);var f=t.mat4.create();t.mat4.ortho(f,0,t.default$8,-t.default$8,0,0,1),t.mat4.translate(f,f,[0,-t.default$8,0]);var h=e.useProgram("hillshadePrepare");a.uniformMatrix4fv(h.uniforms.u_matrix,!1,f),a.uniform1f(h.uniforms.u_zoom,r.tileID.overscaledZ),a.uniform2fv(h.uniforms.u_dimension,[2*o,2*o]),a.uniform1i(h.uniforms.u_image,1),a.uniform1f(h.uniforms.u_maxzoom,n);var p=e.rasterBoundsBuffer;e.rasterBoundsVAO.bind(i,h,p,[]),a.drawArrays(a.TRIANGLE_STRIP,0,p.length),r.needsHillshadePrepare=!1}}function Sr(e,r,n,i,o){var s=i.paint.get("raster-fade-duration");if(s>0){var l=a.now(),c=(l-e.timeAdded)/s,u=r?(l-r.timeAdded)/s:-1,f=n.getSource(),h=o.coveringZoomLevel({tileSize:f.tileSize,roundZoom:f.roundZoom}),p=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),d=p&&e.refreshedUponExpiration?1:t.clamp(p?c:1-u,0,1);return e.refreshedUponExpiration&&c>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}function Er(e,r,n){var i=e.context,o=i.gl;i.lineWidth.set(1*a.devicePixelRatio);var s=n.posMatrix,l=e.useProgram("debug");i.setDepthMode(qt.disabled),i.setStencilMode(Ht.disabled),i.setColorMode(e.colorModeForRenderPass()),o.uniformMatrix4fv(l.uniforms.u_matrix,!1,s),o.uniform4f(l.uniforms.u_color,1,0,0,1),e.debugVAO.bind(i,l,e.debugBuffer,[]),o.drawArrays(o.LINE_STRIP,0,e.debugBuffer.length);for(var c=function(t,e,r,n){n=n||1;var i,a,o,s,l,c,u,f,h=[];for(i=0,a=t.length;i<a;i++)if(l=Cr[t[i]]){for(f=null,o=0,s=l[1].length;o<s;o+=2)-1===l[1][o]&&-1===l[1][o+1]?f=null:(c=e+l[1][o]*n,u=200-l[1][o+1]*n,f&&h.push(f.x,f.y,c,u),f={x:c,y:u});e+=l[0]*n}return h}(n.toString(),50,0,5),u=new t.PosArray,f=0;f<c.length;f+=2)u.emplaceBack(c[f],c[f+1]);var h=i.createVertexBuffer(u,Ke.members);(new Q).bind(i,l,h,[]),o.uniform4f(l.uniforms.u_color,1,1,1,1);for(var p=r.getTile(n).tileSize,d=t.default$8/(Math.pow(2,e.transform.zoom-n.overscaledZ)*p),g=[[-1,-1],[-1,1],[1,-1],[1,1]],m=0;m<g.length;m++){var v=g[m];o.uniformMatrix4fv(l.uniforms.u_matrix,!1,t.mat4.translate([],s,[d*v[0],d*v[1],0])),o.drawArrays(o.LINES,0,h.length)}o.uniform4f(l.uniforms.u_color,0,0,0,1),o.uniformMatrix4fv(l.uniforms.u_matrix,!1,s),o.drawArrays(o.LINES,0,h.length)}var Cr={" ":[16,[]],"!":[10,[5,21,5,7,-1,-1,5,2,4,1,5,0,6,1,5,2]],'"':[16,[4,21,4,14,-1,-1,12,21,12,14]],"#":[21,[11,25,4,-7,-1,-1,17,25,10,-7,-1,-1,4,12,18,12,-1,-1,3,6,17,6]],$:[20,[8,25,8,-4,-1,-1,12,25,12,-4,-1,-1,17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],"%":[24,[21,21,3,0,-1,-1,8,21,10,19,10,17,9,15,7,14,5,14,3,16,3,18,4,20,6,21,8,21,10,20,13,19,16,19,19,20,21,21,-1,-1,17,7,15,6,14,4,14,2,16,0,18,0,20,1,21,3,21,5,19,7,17,7]],"&":[26,[23,12,23,13,22,14,21,14,20,13,19,11,17,6,15,3,13,1,11,0,7,0,5,1,4,2,3,4,3,6,4,8,5,9,12,13,13,14,14,16,14,18,13,20,11,21,9,20,8,18,8,16,9,13,11,10,16,3,18,1,20,0,22,0,23,1,23,2]],"'":[10,[5,19,4,20,5,21,6,20,6,18,5,16,4,15]],"(":[14,[11,25,9,23,7,20,5,16,4,11,4,7,5,2,7,-2,9,-5,11,-7]],")":[14,[3,25,5,23,7,20,9,16,10,11,10,7,9,2,7,-2,5,-5,3,-7]],"*":[16,[8,21,8,9,-1,-1,3,18,13,12,-1,-1,13,18,3,12]],"+":[26,[13,18,13,0,-1,-1,4,9,22,9]],",":[10,[6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],"-":[26,[4,9,22,9]],".":[10,[5,2,4,1,5,0,6,1,5,2]],"/":[22,[20,25,2,-7]],0:[20,[9,21,6,20,4,17,3,12,3,9,4,4,6,1,9,0,11,0,14,1,16,4,17,9,17,12,16,17,14,20,11,21,9,21]],1:[20,[6,17,8,18,11,21,11,0]],2:[20,[4,16,4,17,5,19,6,20,8,21,12,21,14,20,15,19,16,17,16,15,15,13,13,10,3,0,17,0]],3:[20,[5,21,16,21,10,13,13,13,15,12,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],4:[20,[13,21,3,7,18,7,-1,-1,13,21,13,0]],5:[20,[15,21,5,21,4,12,5,13,8,14,11,14,14,13,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],6:[20,[16,18,15,20,12,21,10,21,7,20,5,17,4,12,4,7,5,3,7,1,10,0,11,0,14,1,16,3,17,6,17,7,16,10,14,12,11,13,10,13,7,12,5,10,4,7]],7:[20,[17,21,7,0,-1,-1,3,21,17,21]],8:[20,[8,21,5,20,4,18,4,16,5,14,7,13,11,12,14,11,16,9,17,7,17,4,16,2,15,1,12,0,8,0,5,1,4,2,3,4,3,7,4,9,6,11,9,12,13,13,15,14,16,16,16,18,15,20,12,21,8,21]],9:[20,[16,14,15,11,13,9,10,8,9,8,6,9,4,11,3,14,3,15,4,18,6,20,9,21,10,21,13,20,15,18,16,14,16,9,15,4,13,1,10,0,8,0,5,1,4,3]],":":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,5,2,4,1,5,0,6,1,5,2]],";":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],"<":[24,[20,18,4,9,20,0]],"=":[26,[4,12,22,12,-1,-1,4,6,22,6]],">":[24,[4,18,20,9,4,0]],"?":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],"@":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],"[":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],"\\":[14,[0,21,14,-3]],"]":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],"^":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],"`":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],"{":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],"|":[8,[4,25,4,-7]],"}":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],"~":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]},Lr={symbol:function(t,e,r,n){if("translucent"===t.renderPass){var i=t.context;i.setStencilMode(Ht.disabled),i.setColorMode(t.colorModeForRenderPass()),0!==r.paint.get("icon-opacity").constantOr(1)&&cr(t,e,r,n,!1,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),r.layout.get("icon-rotation-alignment"),r.layout.get("icon-pitch-alignment"),r.layout.get("icon-keep-upright")),0!==r.paint.get("text-opacity").constantOr(1)&&cr(t,e,r,n,!0,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),r.layout.get("text-keep-upright")),e.map.showCollisionBoxes&&function(t,e,r,n){or(t,e,r,n,!1),or(t,e,r,n,!0)}(t,e,r,n)}},circle:function(t,e,r,n){if("translucent"===t.renderPass){var i=r.paint.get("circle-opacity"),a=r.paint.get("circle-stroke-width"),o=r.paint.get("circle-stroke-opacity");if(0!==i.constantOr(1)||0!==a.constantOr(1)&&0!==o.constantOr(1)){var s=t.context,l=s.gl;s.setDepthMode(t.depthModeForSublayer(0,qt.ReadOnly)),s.setStencilMode(Ht.disabled),s.setColorMode(t.colorModeForRenderPass());for(var c=!0,u=0;u<n.length;u++){var f=n[u],h=e.getTile(f),p=h.getBucket(r);if(p){var d=t.context.program.get(),g=p.programConfigurations.get(r.id),m=t.useProgram("circle",g);if((c||m.program!==d)&&(g.setUniforms(s,m,r.paint,{zoom:t.transform.zoom}),c=!1),l.uniform1f(m.uniforms.u_camera_to_center_distance,t.transform.cameraToCenterDistance),l.uniform1i(m.uniforms.u_scale_with_map,"map"===r.paint.get("circle-pitch-scale")?1:0),"map"===r.paint.get("circle-pitch-alignment")){l.uniform1i(m.uniforms.u_pitch_with_map,1);var v=Te(h,1,t.transform.zoom);l.uniform2f(m.uniforms.u_extrude_scale,v,v)}else l.uniform1i(m.uniforms.u_pitch_with_map,0),l.uniform2fv(m.uniforms.u_extrude_scale,t.transform.pixelsToGLUnits);l.uniformMatrix4fv(m.uniforms.u_matrix,!1,t.translatePosMatrix(f.posMatrix,h,r.paint.get("circle-translate"),r.paint.get("circle-translate-anchor"))),m.draw(s,l.TRIANGLES,r.id,p.layoutVertexBuffer,p.indexBuffer,p.segments,g)}}}}},heatmap:function(e,r,n,i){if(0!==n.paint.get("heatmap-opacity"))if("offscreen"===e.renderPass){var a=e.context,o=a.gl;a.setDepthMode(e.depthModeForSublayer(0,qt.ReadOnly)),a.setStencilMode(Ht.disabled),function(t,e,r){var n=t.gl;t.activeTexture.set(n.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);var i=r.heatmapFbo;if(i)n.bindTexture(n.TEXTURE_2D,i.colorAttachment.get()),t.bindFramebuffer.set(i.framebuffer);else{var a=n.createTexture();n.bindTexture(n.TEXTURE_2D,a),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),i=r.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4),function t(e,r,n,i){var a=e.gl;a.texImage2D(a.TEXTURE_2D,0,a.RGBA,r.width/4,r.height/4,0,a.RGBA,e.extTextureHalfFloat?e.extTextureHalfFloat.HALF_FLOAT_OES:a.UNSIGNED_BYTE,null),i.colorAttachment.set(n),e.extTextureHalfFloat&&a.checkFramebufferStatus(a.FRAMEBUFFER)!==a.FRAMEBUFFER_COMPLETE&&(e.extTextureHalfFloat=null,i.colorAttachment.setDirty(),t(e,r,n,i))}(t,e,a,i)}}(a,e,n),a.clear({color:t.default$6.transparent}),a.setColorMode(new Gt([o.ONE,o.ONE],t.default$6.transparent,[!0,!0,!0,!0]));for(var s=!0,l=0;l<i.length;l++){var c=i[l];if(!r.hasRenderableParent(c)){var u=r.getTile(c),f=u.getBucket(n);if(f){var h=e.context.program.get(),p=f.programConfigurations.get(n.id),d=e.useProgram("heatmap",p),g=e.transform.zoom;(s||d.program!==h)&&(p.setUniforms(e.context,d,n.paint,{zoom:g}),s=!1),o.uniform1f(d.uniforms.u_extrude_scale,Te(u,1,g)),o.uniform1f(d.uniforms.u_intensity,n.paint.get("heatmap-intensity")),o.uniformMatrix4fv(d.uniforms.u_matrix,!1,c.posMatrix),d.draw(a,o.TRIANGLES,n.id,f.layoutVertexBuffer,f.indexBuffer,f.segments,p)}}}a.viewport.set([0,0,e.width,e.height])}else"translucent"===e.renderPass&&(e.context.setColorMode(e.colorModeForRenderPass()),function(e,r){var n=e.context,i=n.gl,a=r.heatmapFbo;if(a){n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,a.colorAttachment.get()),n.activeTexture.set(i.TEXTURE1);var o=r.colorRampTexture;o||(o=r.colorRampTexture=new z(n,r.colorRamp,i.RGBA)),o.bind(i.LINEAR,i.CLAMP_TO_EDGE),n.setDepthMode(qt.disabled);var s=e.useProgram("heatmapTexture"),l=r.paint.get("heatmap-opacity");i.uniform1f(s.uniforms.u_opacity,l),i.uniform1i(s.uniforms.u_image,0),i.uniform1i(s.uniforms.u_color_ramp,1);var c=t.mat4.create();t.mat4.ortho(c,0,e.width,e.height,0,0,1),i.uniformMatrix4fv(s.uniforms.u_matrix,!1,c),i.uniform2f(s.uniforms.u_world,i.drawingBufferWidth,i.drawingBufferHeight),e.viewportVAO.bind(e.context,s,e.viewportBuffer,[]),i.drawArrays(i.TRIANGLE_STRIP,0,4)}}(e,n))},line:function(t,e,r,n){if("translucent"===t.renderPass&&0!==r.paint.get("line-opacity").constantOr(1)){var i=t.context;i.setDepthMode(t.depthModeForSublayer(0,qt.ReadOnly)),i.setColorMode(t.colorModeForRenderPass());for(var a,o=r.paint.get("line-dasharray")?"lineSDF":r.paint.get("line-pattern")?"linePattern":r.paint.get("line-gradient")?"lineGradient":"line",s=!0,l=0,c=n;l<c.length;l+=1){var u=c[l],f=e.getTile(u),h=f.getBucket(r);if(h){var p=h.programConfigurations.get(r.id),d=t.context.program.get(),g=t.useProgram(o,p),m=s||g.program!==d,v=a!==f.tileID.overscaledZ;m&&p.setUniforms(t.context,g,r.paint,{zoom:t.transform.zoom}),pr(g,t,f,h,r,u,p,m,v),a=f.tileID.overscaledZ,s=!1}}}},fill:function(e,r,n,i){var a=n.paint.get("fill-color"),o=n.paint.get("fill-opacity");if(0!==o.constantOr(1)){var s=e.context;s.setColorMode(e.colorModeForRenderPass());var l=n.paint.get("fill-pattern")||1!==a.constantOr(t.default$6.transparent).a||1!==o.constantOr(0)?"translucent":"opaque";e.renderPass===l&&(s.setDepthMode(e.depthModeForSublayer(1,"opaque"===e.renderPass?qt.ReadWrite:qt.ReadOnly)),vr(e,r,n,i,yr)),"translucent"===e.renderPass&&n.paint.get("fill-antialias")&&(s.lineWidth.set(2),s.setDepthMode(e.depthModeForSublayer(n.getPaintProperty("fill-outline-color")?2:0,qt.ReadOnly)),vr(e,r,n,i,xr))}},"fill-extrusion":function(e,r,n,i){if(0!==n.paint.get("fill-extrusion-opacity"))if("offscreen"===e.renderPass){!function(e,r){var n=e.context,i=n.gl,a=r.viewportFrame;if(e.depthRboNeedsClear&&e.setupOffscreenDepthRenderbuffer(),!a){var o=new z(n,{width:e.width,height:e.height,data:null},i.RGBA);o.bind(i.LINEAR,i.CLAMP_TO_EDGE),(a=r.viewportFrame=n.createFramebuffer(e.width,e.height)).colorAttachment.set(o.texture)}n.bindFramebuffer.set(a.framebuffer),a.depthAttachment.set(e.depthRbo),e.depthRboNeedsClear&&(n.clear({depth:1}),e.depthRboNeedsClear=!1),n.clear({color:t.default$6.transparent}),n.setStencilMode(Ht.disabled),n.setDepthMode(new qt(i.LEQUAL,qt.ReadWrite,[0,1])),n.setColorMode(e.colorModeForRenderPass())}(e,n);for(var a=!0,o=0,s=i;o<s.length;o+=1){var l=s[o],c=r.getTile(l),u=c.getBucket(n);u&&(Mr(e,0,n,c,l,u,a),a=!1)}}else"translucent"===e.renderPass&&function(t,e){var r=e.viewportFrame;if(r){var n=t.context,i=n.gl,a=t.useProgram("extrusionTexture");n.setStencilMode(Ht.disabled),n.setDepthMode(qt.disabled),n.setColorMode(t.colorModeForRenderPass()),n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,r.colorAttachment.get()),i.uniform1f(a.uniforms.u_opacity,e.paint.get("fill-extrusion-opacity")),i.uniform1i(a.uniforms.u_image,0);var o=wr.create();wr.ortho(o,0,t.width,t.height,0,0,1),i.uniformMatrix4fv(a.uniforms.u_matrix,!1,o),i.uniform2f(a.uniforms.u_world,i.drawingBufferWidth,i.drawingBufferHeight),t.viewportVAO.bind(n,a,t.viewportBuffer,[]),i.drawArrays(i.TRIANGLE_STRIP,0,4)}}(e,n)},hillshade:function(t,e,r,n){if("offscreen"===t.renderPass||"translucent"===t.renderPass){var i=t.context,a=e.getSource().maxzoom;i.setDepthMode(t.depthModeForSublayer(0,qt.ReadOnly)),i.setStencilMode(Ht.disabled),i.setColorMode(t.colorModeForRenderPass());for(var o=0,s=n;o<s.length;o+=1){var l=s[o],c=e.getTile(l);c.needsHillshadePrepare&&"offscreen"===t.renderPass?Tr(t,c,a):"translucent"===t.renderPass&&Ar(t,c,r)}i.viewport.set([0,0,t.width,t.height])}},raster:function(t,e,r,n){if("translucent"===t.renderPass&&0!==r.paint.get("raster-opacity")){var i,a,o=t.context,s=o.gl,l=e.getSource(),c=t.useProgram("raster");o.setStencilMode(Ht.disabled),o.setColorMode(t.colorModeForRenderPass()),s.uniform1f(c.uniforms.u_brightness_low,r.paint.get("raster-brightness-min")),s.uniform1f(c.uniforms.u_brightness_high,r.paint.get("raster-brightness-max")),s.uniform1f(c.uniforms.u_saturation_factor,(i=r.paint.get("raster-saturation"))>0?1-1/(1.001-i):-i),s.uniform1f(c.uniforms.u_contrast_factor,(a=r.paint.get("raster-contrast"))>0?1/(1-a):1+a),s.uniform3fv(c.uniforms.u_spin_weights,function(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}(r.paint.get("raster-hue-rotate"))),s.uniform1f(c.uniforms.u_buffer_scale,1),s.uniform1i(c.uniforms.u_image0,0),s.uniform1i(c.uniforms.u_image1,1);for(var u=n.length&&n[0].overscaledZ,f=0,h=n;f<h.length;f+=1){var p=h[f];o.setDepthMode(t.depthModeForSublayer(p.overscaledZ-u,1===r.paint.get("raster-opacity")?qt.ReadWrite:qt.ReadOnly,s.LESS));var d=e.getTile(p),g=t.transform.calculatePosMatrix(p.toUnwrapped(),!0);d.registerFadeDuration(r.paint.get("raster-fade-duration")),s.uniformMatrix4fv(c.uniforms.u_matrix,!1,g);var m=e.findLoadedParent(p,0,{}),v=Sr(d,m,e,r,t.transform),y=void 0,x=void 0;if(o.activeTexture.set(s.TEXTURE0),d.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),o.activeTexture.set(s.TEXTURE1),m?(m.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),y=Math.pow(2,m.tileID.overscaledZ-d.tileID.overscaledZ),x=[d.tileID.canonical.x*y%1,d.tileID.canonical.y*y%1]):d.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),s.uniform2fv(c.uniforms.u_tl_parent,x||[0,0]),s.uniform1f(c.uniforms.u_scale_parent,y||1),s.uniform1f(c.uniforms.u_fade_t,v.mix),s.uniform1f(c.uniforms.u_opacity,v.opacity*r.paint.get("raster-opacity")),l instanceof tt){var b=l.boundsBuffer;l.boundsVAO.bind(o,c,b,[]),s.drawArrays(s.TRIANGLE_STRIP,0,b.length)}else if(d.maskedBoundsBuffer&&d.maskedIndexBuffer&&d.segments)c.draw(o,s.TRIANGLES,r.id,d.maskedBoundsBuffer,d.maskedIndexBuffer,d.segments);else{var _=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(o,c,_,[]),s.drawArrays(s.TRIANGLE_STRIP,0,_.length)}}}},background:function(t,e,r){var n=r.paint.get("background-color"),i=r.paint.get("background-opacity");if(0!==i){var a=t.context,o=a.gl,s=t.transform,l=s.tileSize,c=r.paint.get("background-pattern"),u=c||1!==n.a||1!==i?"translucent":"opaque";if(t.renderPass===u){var f;if(a.setStencilMode(Ht.disabled),a.setDepthMode(t.depthModeForSublayer(0,"opaque"===u?qt.ReadWrite:qt.ReadOnly)),a.setColorMode(t.colorModeForRenderPass()),c){if(dr(c,t))return;f=t.useProgram("backgroundPattern"),gr(c,t,f),t.tileExtentPatternVAO.bind(a,f,t.tileExtentBuffer,[])}else f=t.useProgram("background"),o.uniform4fv(f.uniforms.u_color,[n.r,n.g,n.b,n.a]),t.tileExtentVAO.bind(a,f,t.tileExtentBuffer,[]);o.uniform1f(f.uniforms.u_opacity,i);for(var h=0,p=s.coveringTiles({tileSize:l});h<p.length;h+=1){var d=p[h];c&&mr({tileID:d,tileSize:l},t,f),o.uniformMatrix4fv(f.uniforms.u_matrix,!1,t.transform.calculatePosMatrix(d.toUnwrapped())),o.drawArrays(o.TRIANGLE_STRIP,0,t.tileExtentBuffer.length)}}}},debug:function(t,e,r){for(var n=0;n<r.length;n++)Er(t,e,r[n])}},zr=function(e,r){this.context=new Wt(e),this.transform=r,this._tileTextures={},this.setup(),this.numSublayers=Yt.maxUnderzooming+Yt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.depthRboNeedsClear=!0,this.emptyProgramConfiguration=new t.default$24,this.crossTileSymbolIndex=new Ye};function Pr(t,e){if(t.row>e.row){var r=t;t=e,e=r}return{x0:t.column,y0:t.row,x1:e.column,y1:e.row,dx:e.column-t.column,dy:e.row-t.row}}function Or(t,e,r,n,i){var a=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&&t.y0===e.y0?t.x0+e.dy/t.dy*t.dx<e.x1:t.x1-e.dy/t.dy*t.dx<e.x0){var s=t;t=e,e=s}for(var l=t.dx/t.dy,c=e.dx/e.dy,u=t.dx>0,f=e.dx<0,h=a;h<o;h++){var p=l*Math.max(0,Math.min(t.dy,h+u-t.y0))+t.x0,d=c*Math.max(0,Math.min(e.dy,h+f-e.y0))+e.x0;i(Math.floor(d),Math.ceil(p),h)}}function Ir(t,e,r,n,i,a){var o,s=Pr(t,e),l=Pr(e,r),c=Pr(r,t);s.dy>l.dy&&(o=s,s=l,l=o),s.dy>c.dy&&(o=s,s=c,c=o),l.dy>c.dy&&(o=l,l=c,c=o),s.dy&&Or(c,s,n,i,a),l.dy&&Or(c,l,n,i,a)}zr.prototype.resize=function(t,e){var r=this.context.gl;if(this.width=t*a.devicePixelRatio,this.height=e*a.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var n=0,i=this.style._order;n<i.length;n+=1){var o=i[n];this.style._layers[o].resize()}this.depthRbo&&(r.deleteRenderbuffer(this.depthRbo),this.depthRbo=null)},zr.prototype.setup=function(){var e=this.context,r=new t.PosArray;r.emplaceBack(0,0),r.emplaceBack(t.default$8,0),r.emplaceBack(0,t.default$8),r.emplaceBack(t.default$8,t.default$8),this.tileExtentBuffer=e.createVertexBuffer(r,Ke.members),this.tileExtentVAO=new Q,this.tileExtentPatternVAO=new Q;var n=new t.PosArray;n.emplaceBack(0,0),n.emplaceBack(t.default$8,0),n.emplaceBack(t.default$8,t.default$8),n.emplaceBack(0,t.default$8),n.emplaceBack(0,0),this.debugBuffer=e.createVertexBuffer(n,Ke.members),this.debugVAO=new Q;var i=new t.RasterBoundsArray;i.emplaceBack(0,0,0,0),i.emplaceBack(t.default$8,0,t.default$8,0),i.emplaceBack(0,t.default$8,0,t.default$8),i.emplaceBack(t.default$8,t.default$8,t.default$8,t.default$8),this.rasterBoundsBuffer=e.createVertexBuffer(i,K.members),this.rasterBoundsVAO=new Q;var a=new t.PosArray;a.emplaceBack(0,0),a.emplaceBack(1,0),a.emplaceBack(0,1),a.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(a,Ke.members),this.viewportVAO=new Q},zr.prototype.clearStencil=function(){var e=this.context,r=e.gl;e.setColorMode(Gt.disabled),e.setDepthMode(qt.disabled),e.setStencilMode(new Ht({func:r.ALWAYS,mask:0},0,255,r.ZERO,r.ZERO,r.ZERO));var n=t.mat4.create();t.mat4.ortho(n,0,this.width,this.height,0,0,1),t.mat4.scale(n,n,[r.drawingBufferWidth,r.drawingBufferHeight,0]);var i=this.useProgram("clippingMask");r.uniformMatrix4fv(i.uniforms.u_matrix,!1,n),this.viewportVAO.bind(e,i,this.viewportBuffer,[]),r.drawArrays(r.TRIANGLE_STRIP,0,4)},zr.prototype._renderTileClippingMasks=function(t){var e=this.context,r=e.gl;e.setColorMode(Gt.disabled),e.setDepthMode(qt.disabled);var n=1;this._tileClippingMaskIDs={};for(var i=0,a=t;i<a.length;i+=1){var o=a[i],s=this._tileClippingMaskIDs[o.key]=n++;e.setStencilMode(new Ht({func:r.ALWAYS,mask:0},s,255,r.KEEP,r.KEEP,r.REPLACE));var l=this.useProgram("clippingMask");r.uniformMatrix4fv(l.uniforms.u_matrix,!1,o.posMatrix),this.tileExtentVAO.bind(this.context,l,this.tileExtentBuffer,[]),r.drawArrays(r.TRIANGLE_STRIP,0,this.tileExtentBuffer.length)}},zr.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Ht({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},zr.prototype.colorModeForRenderPass=function(){var e=this.context.gl;return this._showOverdrawInspector?new Gt([e.CONSTANT_COLOR,e.ONE],new t.default$6(1/8,1/8,1/8,0),[!0,!0,!0,!0]):"opaque"===this.renderPass?Gt.unblended:Gt.alphaBlended},zr.prototype.depthModeForSublayer=function(t,e,r){var n=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon,i=n-1+this.depthRange;return new qt(r||this.context.gl.LEQUAL,e,[i,n])},zr.prototype.render=function(e,r){var n=this;for(var i in this.style=e,this.options=r,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(a.now()),e.sourceCaches){var o=n.style.sourceCaches[i];o.used&&o.prepare(n.context)}var s=this.style._order,l=t.filterObject(this.style.sourceCaches,function(t){return"raster"===t.getSource().type||"raster-dem"===t.getSource().type}),c=function(e){var r=l[e];!function(e,r){for(var n=e.sort(function(t,e){return t.tileID.isLessThan(e.tileID)?-1:e.tileID.isLessThan(t.tileID)?1:0}),i=0;i<n.length;i++){var a={},o=n[i],s=n.slice(i+1);ar(o.tileID.wrapped(),o.tileID,s,new t.OverscaledTileID(0,o.tileID.wrap+1,0,0,0),a),o.setMask(a,r)}}(r.getVisibleCoordinates().map(function(t){return r.getTile(t)}),n.context)};for(var u in l)c(u);this.renderPass="offscreen";var f,h=[];this.depthRboNeedsClear=!0;for(var p=0;p<s.length;p++){var d=n.style._layers[s[p]];d.hasOffscreenPass()&&!d.isHidden(n.transform.zoom)&&(d.source!==(f&&f.id)&&(h=[],(f=n.style.sourceCaches[d.source])&&(h=f.getVisibleCoordinates()).reverse()),h.length&&n.renderLayer(n,f,d,h))}this.context.bindFramebuffer.set(null),this.context.clear({color:r.showOverdrawInspector?t.default$6.black:t.default$6.transparent,depth:1}),this._showOverdrawInspector=r.showOverdrawInspector,this.depthRange=(e._order.length+2)*this.numSublayers*this.depthEpsilon,this.renderPass="opaque";var g,m=[];for(this.currentLayer=s.length-1,this.currentLayer;this.currentLayer>=0;this.currentLayer--){var v=n.style._layers[s[n.currentLayer]];v.source!==(g&&g.id)&&(m=[],(g=n.style.sourceCaches[v.source])&&(n.clearStencil(),m=g.getVisibleCoordinates(),g.getSource().isTileClipped&&n._renderTileClippingMasks(m))),n.renderLayer(n,g,v,m)}this.renderPass="translucent";var y,x=[];for(this.currentLayer=0,this.currentLayer;this.currentLayer<s.length;this.currentLayer++){var b=n.style._layers[s[n.currentLayer]];b.source!==(y&&y.id)&&(x=[],(y=n.style.sourceCaches[b.source])&&(n.clearStencil(),x=y.getVisibleCoordinates(),y.getSource().isTileClipped&&n._renderTileClippingMasks(x)),x.reverse()),n.renderLayer(n,y,b,x)}if(this.options.showTileBoundaries){var _=this.style.sourceCaches[Object.keys(this.style.sourceCaches)[0]];_&&Lr.debug(this,_,_.getVisibleCoordinates())}},zr.prototype.setupOffscreenDepthRenderbuffer=function(){var t=this.context;this.depthRbo||(this.depthRbo=t.createRenderbuffer(t.gl.DEPTH_COMPONENT16,this.width,this.height))},zr.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||("background"===r.type||n.length)&&(this.id=r.id,Lr[r.type](t,e,r,n))},zr.prototype.translatePosMatrix=function(e,r,n,i,a){if(!n[0]&&!n[1])return e;var o=a?"map"===i?this.transform.angle:0:"viewport"===i?-this.transform.angle:0;if(o){var s=Math.sin(o),l=Math.cos(o);n=[n[0]*l-n[1]*s,n[0]*s+n[1]*l]}var c=[a?n[0]:Te(r,n[0],this.transform.zoom),a?n[1]:Te(r,n[1],this.transform.zoom),0],u=new Float32Array(16);return t.mat4.translate(u,e,c),u},zr.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]},zr.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},zr.prototype._createProgramCached=function(t,e){this.cache=this.cache||{};var r=""+t+(e.cacheKey||"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new ir(this.context,nr[t],e,this._showOverdrawInspector)),this.cache[r]},zr.prototype.useProgram=function(t,e){var r=this._createProgramCached(t,e||this.emptyProgramConfiguration);return this.context.program.set(r.program),r};var Dr=t.default$20.vec4,Rr=t.default$20.mat4,Br=t.default$20.mat2,Fr=function(t,e,r){this.tileSize=512,this._renderWorldCopies=void 0===r||r,this._minZoom=t||0,this._maxZoom=e||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new G(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._posMatrixCache={},this._alignedPosMatrixCache={}},Nr={minZoom:{configurable:!0},maxZoom:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerPoint:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},unmodified:{configurable:!0},x:{configurable:!0},y:{configurable:!0},point:{configurable:!0}};Fr.prototype.clone=function(){var t=new Fr(this._minZoom,this._maxZoom,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._calcMatrices(),t},Nr.minZoom.get=function(){return this._minZoom},Nr.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},Nr.maxZoom.get=function(){return this._maxZoom},Nr.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},Nr.renderWorldCopies.get=function(){return this._renderWorldCopies},Nr.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},Nr.worldSize.get=function(){return this.tileSize*this.scale},Nr.centerPoint.get=function(){return this.size._div(2)},Nr.size.get=function(){return new t.default$1(this.width,this.height)},Nr.bearing.get=function(){return-this.angle/Math.PI*180},Nr.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=Br.create(),Br.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},Nr.pitch.get=function(){return this._pitch/Math.PI*180},Nr.pitch.set=function(e){var r=t.clamp(e,0,60)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},Nr.fov.get=function(){return this._fov/Math.PI*180},Nr.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},Nr.zoom.get=function(){return this._zoom},Nr.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},Nr.center.get=function(){return this._center},Nr.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Fr.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},Fr.prototype.getVisibleUnwrappedCoordinates=function(e){var r=this.pointCoordinate(new t.default$1(0,0),0),n=this.pointCoordinate(new t.default$1(this.width,0),0),i=Math.floor(r.column),a=Math.floor(n.column),o=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var s=i;s<=a;s++)0!==s&&o.push(new t.UnwrappedTileID(s,e));return o},Fr.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&r<e.minzoom)return[];void 0!==e.maxzoom&&r>e.maxzoom&&(r=e.maxzoom);var i=this.pointCoordinate(this.centerPoint,r),a=new t.default$1(i.column-.5,i.row-.5);return function(e,r,n,i){void 0===i&&(i=!0);var a=1<<e,o={};function s(r,s,l){var c,u,f,h;if(l>=0&&l<=a)for(c=r;c<s;c++)u=Math.floor(c/a),f=(c%a+a)%a,0!==u&&!0!==i||(h=new t.OverscaledTileID(n,u,e,f,l),o[h.key]=h)}return Ir(r[0],r[1],r[2],0,a,s),Ir(r[2],r[3],r[0],0,a,s),Object.keys(o).map(function(t){return o[t]})}(r,[this.pointCoordinate(new t.default$1(0,0),r),this.pointCoordinate(new t.default$1(this.width,0),r),this.pointCoordinate(new t.default$1(this.width,this.height),r),this.pointCoordinate(new t.default$1(0,this.height),r)],e.reparseOverscaled?n:r,this._renderWorldCopies).sort(function(t,e){return a.dist(t.canonical)-a.dist(e.canonical)})},Fr.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},Nr.unmodified.get=function(){return this._unmodified},Fr.prototype.zoomScale=function(t){return Math.pow(2,t)},Fr.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Fr.prototype.project=function(e){return new t.default$1(this.lngX(e.lng),this.latY(e.lat))},Fr.prototype.unproject=function(t){return new G(this.xLng(t.x),this.yLat(t.y))},Nr.x.get=function(){return this.lngX(this.center.lng)},Nr.y.get=function(){return this.latY(this.center.lat)},Nr.point.get=function(){return new t.default$1(this.x,this.y)},Fr.prototype.lngX=function(t){return(180+t)*this.worldSize/360},Fr.prototype.latY=function(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*this.worldSize/360},Fr.prototype.xLng=function(t){return 360*t/this.worldSize-180},Fr.prototype.yLat=function(t){var e=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90},Fr.prototype.setLocationAtPoint=function(t,e){var r=this.pointCoordinate(e)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(r)),this._renderWorldCopies&&(this.center=this.center.wrap())},Fr.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Fr.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Fr.prototype.locationCoordinate=function(e){return new t.default$17(this.lngX(e.lng)/this.tileSize,this.latY(e.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},Fr.prototype.coordinateLocation=function(t){var e=t.zoomTo(this.zoom);return new G(this.xLng(e.column*this.tileSize),this.yLat(e.row*this.tileSize))},Fr.prototype.pointCoordinate=function(e,r){void 0===r&&(r=this.tileZoom);var n=[e.x,e.y,0,1],i=[e.x,e.y,1,1];Dr.transformMat4(n,n,this.pixelMatrixInverse),Dr.transformMat4(i,i,this.pixelMatrixInverse);var a=n[3],o=i[3],s=n[0]/a,l=i[0]/o,c=n[1]/a,u=i[1]/o,f=n[2]/a,h=i[2]/o,p=f===h?0:(0-f)/(h-f);return new t.default$17(t.number(s,l,p)/this.tileSize,t.number(c,u,p)/this.tileSize,this.zoom)._zoomTo(r)},Fr.prototype.coordinatePoint=function(e){var r=e.zoomTo(this.zoom),n=[r.column*this.tileSize,r.row*this.tileSize,0,1];return Dr.transformMat4(n,n,this.pixelMatrix),new t.default$1(n[0]/n[3],n[1]/n[3])},Fr.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=e.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=Rr.identity(new Float64Array(16));return Rr.translate(l,l,[s*o,a.y*o,0]),Rr.scale(l,l,[o/t.default$8,o/t.default$8,1]),Rr.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},Fr.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,i,a=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var f=this.latRange;a=this.latY(f[1]),e=(o=this.latY(f[0]))-a<c.y?c.y/(o-a):0}if(this.lngRange){var h=this.lngRange;s=this.lngX(h[0]),r=(l=this.lngX(h[1]))-s<c.x?c.x/(l-s):0}var p=Math.max(r||0,e||0);if(p)return this.center=this.unproject(new t.default$1(r?(l+s)/2:this.x,e?(o+a)/2:this.y)),this.zoom+=this.scaleZoom(p),this._unmodified=u,void(this._constraining=!1);if(this.latRange){var d=this.y,g=c.y/2;d-g<a&&(i=a+g),d+g>o&&(i=o-g)}if(this.lngRange){var m=this.x,v=c.x/2;m-v<s&&(n=s+v),m+v>l&&(n=l-v)}void 0===n&&void 0===i||(this.center=this.unproject(new t.default$1(void 0!==n?n:this.x,void 0!==i?i:this.y))),this._unmodified=u,this._constraining=!1}},Fr.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,e=Math.PI/2+this._pitch,r=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-e-t),n=this.x,i=this.y,a=1.01*(Math.cos(Math.PI/2-this._pitch)*r+this.cameraToCenterDistance),o=new Float64Array(16);Rr.perspective(o,this._fov,this.width/this.height,1,a),Rr.scale(o,o,[1,-1,1]),Rr.translate(o,o,[0,0,-this.cameraToCenterDistance]),Rr.rotateX(o,o,this._pitch),Rr.rotateZ(o,o,this.angle),Rr.translate(o,o,[-n,-i,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));Rr.scale(o,o,[1,1,s,1]),this.projMatrix=o;var l=this.width%2/2,c=this.height%2/2,u=Math.cos(this.angle),f=Math.sin(this.angle),h=n-Math.round(n)+u*l+f*c,p=i-Math.round(i)+u*c+f*l,d=new Float64Array(o);if(Rr.translate(d,d,[h>.5?h-1:h,p>.5?p-1:p,0]),this.alignedProjMatrix=d,o=Rr.create(),Rr.scale(o,o,[this.width/2,-this.height/2,1]),Rr.translate(o,o,[1,-1,0]),this.pixelMatrix=Rr.multiply(new Float64Array(16),o,this.projMatrix),!(o=Rr.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=o,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Fr.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.default$1(0,0)).zoomTo(this.zoom),r=[e.column*this.tileSize,e.row*this.tileSize,0,1];return Dr.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},Object.defineProperties(Fr.prototype,Nr);var jr=function(){var e,r,n,i;t.bindAll(["_onHashChange","_updateHash"],this),this._updateHash=(e=this._updateHashUnthrottled.bind(this),300,r=!1,n=0,i=function(){n=0,r&&(e(),n=setTimeout(i,300),r=!1)},function(){return r=!0,n||i(),n})};jr.prototype.addTo=function(e){return this._map=e,t.default.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this},jr.prototype.remove=function(){return t.default.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},jr.prototype.getHashString=function(t){var e=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.pow(10,n),a=Math.round(e.lng*i)/i,o=Math.round(e.lat*i)/i,s=this._map.getBearing(),l=this._map.getPitch(),c="";return c+=t?"#/"+a+"/"+o+"/"+r:"#"+r+"/"+o+"/"+a,(s||l)&&(c+="/"+Math.round(10*s)/10),l&&(c+="/"+Math.round(l)),c},jr.prototype._onHashChange=function(){var e=t.default.location.hash.replace("#","").split("/");return e.length>=3&&(this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:+(e[3]||0),pitch:+(e[4]||0)}),!0)},jr.prototype._updateHashUnthrottled=function(){var e=this.getHashString();t.default.history.replaceState(t.default.history.state,"",e)};var Vr=function(e){function r(r,n,i,a){void 0===a&&(a={});var o=s.mousePos(n.getCanvasContainer(),i),l=n.unproject(o);e.call(this,r,t.extend({point:o,lngLat:l,originalEvent:i},a)),this._defaultPrevented=!1,this.target=n}e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r;var n={defaultPrevented:{configurable:!0}};return r.prototype.preventDefault=function(){this._defaultPrevented=!0},n.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(r.prototype,n),r}(t.Event),Ur=function(e){function r(r,n,i){var a=s.touchPos(n.getCanvasContainer(),i),o=a.map(function(t){return n.unproject(t)}),l=a.reduce(function(t,e,r,n){return t.add(e.div(n.length))},new t.default$1(0,0)),c=n.unproject(l);e.call(this,r,{points:a,point:l,lngLats:o,lngLat:c,originalEvent:i}),this._defaultPrevented=!1}e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r;var n={defaultPrevented:{configurable:!0}};return r.prototype.preventDefault=function(){this._defaultPrevented=!0},n.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(r.prototype,n),r}(t.Event),qr=function(t){function e(e,r,n){t.call(this,e,{originalEvent:n}),this._defaultPrevented=!1}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={defaultPrevented:{configurable:!0}};return e.prototype.preventDefault=function(){this._defaultPrevented=!0},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(e.prototype,r),e}(t.Event),Hr=function(e){this._map=e,this._el=e.getCanvasContainer(),this._delta=0,t.bindAll(["_onWheel","_onTimeout","_onScrollFrame","_onScrollFinished"],this)};Hr.prototype.isEnabled=function(){return!!this._enabled},Hr.prototype.isActive=function(){return!!this._active},Hr.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},Hr.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Hr.prototype.onWheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.default.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=a.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%4.000244140625==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(i*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this.isActive()||this._start(e)),e.preventDefault()}},Hr.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this.isActive()||this._start(t)},Hr.prototype._start=function(e){if(this._delta){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),this._active=!0,this._map.fire(new t.Event("movestart",{originalEvent:e})),this._map.fire(new t.Event("zoomstart",{originalEvent:e})),this._finishTimeout&&clearTimeout(this._finishTimeout);var r=s.mousePos(this._el,e);this._around=G.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(r)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onScrollFrame))}},Hr.prototype._onScrollFrame=function(){var e=this;if(this._frameId=null,this.isActive()){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>4.000244140625?1/450:.01,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var o="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(o*i))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var s=!1;if("wheel"===this._type){var l=Math.min((a.now()-this._lastWheelEventTime)/200,1),c=this._easing(l);r.zoom=t.number(this._startZoom,this._targetZoom,c),l<1?this._frameId||(this._frameId=this._map._requestRenderFrame(this._onScrollFrame)):s=!0}else r.zoom=this._targetZoom,s=!0;r.setLocationAtPoint(this._around,this._aroundPoint),this._map.fire(new t.Event("move",{originalEvent:this._lastWheelEvent})),this._map.fire(new t.Event("zoom",{originalEvent:this._lastWheelEvent})),s&&(this._active=!1,this._finishTimeout=setTimeout(function(){e._map.fire(new t.Event("zoomend",{originalEvent:e._lastWheelEvent})),e._map.fire(new t.Event("moveend",{originalEvent:e._lastWheelEvent})),delete e._targetZoom},200))}},Hr.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(a.now()-n.start)/n.duration,o=n.easing(i+.01)-n.easing(i),s=.27/Math.sqrt(o*o+1e-4)*.01,l=Math.sqrt(.0729-s*s);r=t.bezier(s,l,.25,1)}return this._prevEase={start:a.now(),duration:e,easing:r},r};var Gr=function(e){this._map=e,this._el=e.getCanvasContainer(),this._container=e.getContainer(),t.bindAll(["_onMouseMove","_onMouseUp","_onKeyDown"],this)};Gr.prototype.isEnabled=function(){return!!this._enabled},Gr.prototype.isActive=function(){return!!this._active},Gr.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},Gr.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Gr.prototype.onMouseDown=function(e){this.isEnabled()&&e.shiftKey&&0===e.button&&(t.default.document.addEventListener("mousemove",this._onMouseMove,!1),t.default.document.addEventListener("keydown",this._onKeyDown,!1),t.default.document.addEventListener("mouseup",this._onMouseUp,!1),s.disableDrag(),this._startPos=s.mousePos(this._el,e),this._active=!0)},Gr.prototype._onMouseMove=function(t){var e=this._startPos,r=s.mousePos(this._el,t);this._box||(this._box=s.create("div","mapboxgl-boxzoom",this._container),this._container.classList.add("mapboxgl-crosshair"),this._fireEvent("boxzoomstart",t));var n=Math.min(e.x,r.x),i=Math.max(e.x,r.x),a=Math.min(e.y,r.y),o=Math.max(e.y,r.y);s.setTransform(this._box,"translate("+n+"px,"+a+"px)"),this._box.style.width=i-n+"px",this._box.style.height=o-a+"px"},Gr.prototype._onMouseUp=function(e){if(0===e.button){var r=this._startPos,n=s.mousePos(this._el,e),i=(new W).extend(this._map.unproject(r)).extend(this._map.unproject(n));this._finish(),s.suppressClick(),r.x===n.x&&r.y===n.y?this._fireEvent("boxzoomcancel",e):this._map.fitBounds(i,{linear:!0}).fire(new t.Event("boxzoomend",{originalEvent:e,boxZoomBounds:i}))}},Gr.prototype._onKeyDown=function(t){27===t.keyCode&&(this._finish(),this._fireEvent("boxzoomcancel",t))},Gr.prototype._finish=function(){this._active=!1,t.default.document.removeEventListener("mousemove",this._onMouseMove,!1),t.default.document.removeEventListener("keydown",this._onKeyDown,!1),t.default.document.removeEventListener("mouseup",this._onMouseUp,!1),this._container.classList.remove("mapboxgl-crosshair"),this._box&&(s.remove(this._box),this._box=null),s.enableDrag()},Gr.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,{originalEvent:r}))};var Wr=t.bezier(0,0,.25,1),Yr=function(e,r){this._map=e,this._el=r.element||e.getCanvasContainer(),this._state="disabled",this._button=r.button||"right",this._bearingSnap=r.bearingSnap||0,this._pitchWithRotate=!1!==r.pitchWithRotate,t.bindAll(["_onMouseMove","_onMouseUp","_onBlur","_onDragFrame"],this)};Yr.prototype.isEnabled=function(){return"disabled"!==this._state},Yr.prototype.isActive=function(){return"active"===this._state},Yr.prototype.enable=function(){this.isEnabled()||(this._state="enabled")},Yr.prototype.disable=function(){if(this.isEnabled())switch(this._state){case"active":this._state="disabled",this._unbind(),this._deactivate(),this._fireEvent("rotateend"),this._pitchWithRotate&&this._fireEvent("pitchend"),this._fireEvent("moveend");break;case"pending":this._state="disabled",this._unbind();break;default:this._state="disabled"}},Yr.prototype.onMouseDown=function(e){if("enabled"===this._state){if("right"===this._button){if(this._eventButton=s.mouseButton(e),this._eventButton!==(e.ctrlKey?0:2))return}else{if(e.ctrlKey||0!==s.mouseButton(e))return;this._eventButton=0}s.disableDrag(),t.default.document.addEventListener("mousemove",this._onMouseMove,{capture:!0}),t.default.document.addEventListener("mouseup",this._onMouseUp),t.default.addEventListener("blur",this._onBlur),this._state="pending",this._inertia=[[a.now(),this._map.getBearing()]],this._previousPos=s.mousePos(this._el,e),this._center=this._map.transform.centerPoint,e.preventDefault()}},Yr.prototype._onMouseMove=function(t){this._lastMoveEvent=t,this._pos=s.mousePos(this._el,t),"pending"===this._state&&(this._state="active",this._fireEvent("rotatestart",t),this._fireEvent("movestart",t),this._pitchWithRotate&&this._fireEvent("pitchstart",t)),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onDragFrame))},Yr.prototype._onDragFrame=function(){this._frameId=null;var t=this._lastMoveEvent;if(t){var e=this._map.transform,r=this._previousPos,n=this._pos,i=.8*(r.x-n.x),o=-.5*(r.y-n.y),s=e.bearing-i,l=e.pitch-o,c=this._inertia,u=c[c.length-1];this._drainInertiaBuffer(),c.push([a.now(),this._map._normalizeBearing(s,u[1])]),e.bearing=s,this._pitchWithRotate&&(this._fireEvent("pitch",t),e.pitch=l),this._fireEvent("rotate",t),this._fireEvent("move",t),delete this._lastMoveEvent,this._previousPos=this._pos}},Yr.prototype._onMouseUp=function(t){if(s.mouseButton(t)===this._eventButton)switch(this._state){case"active":this._state="enabled",s.suppressClick(),this._unbind(),this._deactivate(),this._inertialRotate(t);break;case"pending":this._state="enabled",this._unbind()}},Yr.prototype._onBlur=function(t){switch(this._state){case"active":this._state="enabled",this._unbind(),this._deactivate(),this._fireEvent("rotateend",t),this._pitchWithRotate&&this._fireEvent("pitchend",t),this._fireEvent("moveend",t);break;case"pending":this._state="enabled",this._unbind()}},Yr.prototype._unbind=function(){t.default.document.removeEventListener("mousemove",this._onMouseMove,{capture:!0}),t.default.document.removeEventListener("mouseup",this._onMouseUp),t.default.removeEventListener("blur",this._onBlur),s.enableDrag()},Yr.prototype._deactivate=function(){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._lastMoveEvent,delete this._previousPos},Yr.prototype._inertialRotate=function(t){var e=this;this._fireEvent("rotateend",t),this._drainInertiaBuffer();var r=this._map,n=r.getBearing(),i=this._inertia,a=function(){Math.abs(n)<e._bearingSnap?r.resetNorth({noMoveStart:!0},{originalEvent:t}):e._fireEvent("moveend",t),e._pitchWithRotate&&e._fireEvent("pitchend",t)};if(i.length<2)a();else{var o=i[0],s=i[i.length-1],l=i[i.length-2],c=r._normalizeBearing(n,l[1]),u=s[1]-o[1],f=u<0?-1:1,h=(s[0]-o[0])/1e3;if(0!==u&&0!==h){var p=Math.abs(u*(.25/h));p>180&&(p=180);var d=p/180;c+=f*p*(d/2),Math.abs(r._normalizeBearing(c,0))<this._bearingSnap&&(c=r._normalizeBearing(0,c)),r.rotateTo(c,{duration:1e3*d,easing:Wr,noMoveStart:!0},{originalEvent:t})}else a()}},Yr.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,r?{originalEvent:r}:{}))},Yr.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=a.now();t.length>0&&e-t[0][0]>160;)t.shift()};var Xr=t.bezier(0,0,.3,1),Zr=function(e){this._map=e,this._el=e.getCanvasContainer(),this._state="disabled",t.bindAll(["_onMove","_onMouseUp","_onTouchEnd","_onBlur","_onDragFrame"],this)};Zr.prototype.isEnabled=function(){return"disabled"!==this._state},Zr.prototype.isActive=function(){return"active"===this._state},Zr.prototype.enable=function(){this.isEnabled()||(this._el.classList.add("mapboxgl-touch-drag-pan"),this._state="enabled")},Zr.prototype.disable=function(){if(this.isEnabled())switch(this._el.classList.remove("mapboxgl-touch-drag-pan"),this._state){case"active":this._state="disabled",this._unbind(),this._deactivate(),this._fireEvent("dragend"),this._fireEvent("moveend");break;case"pending":this._state="disabled",this._unbind();break;default:this._state="disabled"}},Zr.prototype.onMouseDown=function(e){"enabled"===this._state&&(e.ctrlKey||0!==s.mouseButton(e)||(s.addEventListener(t.default.document,"mousemove",this._onMove,{capture:!0}),s.addEventListener(t.default.document,"mouseup",this._onMouseUp),this._start(e)))},Zr.prototype.onTouchStart=function(e){"enabled"===this._state&&(e.touches.length>1||(s.addEventListener(t.default.document,"touchmove",this._onMove,{capture:!0,passive:!1}),s.addEventListener(t.default.document,"touchend",this._onTouchEnd),this._start(e)))},Zr.prototype._start=function(e){t.default.addEventListener("blur",this._onBlur),this._state="pending",this._previousPos=s.mousePos(this._el,e),this._inertia=[[a.now(),this._previousPos]]},Zr.prototype._onMove=function(t){this._lastMoveEvent=t,t.preventDefault(),this._pos=s.mousePos(this._el,t),this._drainInertiaBuffer(),this._inertia.push([a.now(),this._pos]),"pending"===this._state&&(this._state="active",this._fireEvent("dragstart",t),this._fireEvent("movestart",t)),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onDragFrame))},Zr.prototype._onDragFrame=function(){this._frameId=null;var t=this._lastMoveEvent;if(t){var e=this._map.transform;e.setLocationAtPoint(e.pointLocation(this._previousPos),this._pos),this._fireEvent("drag",t),this._fireEvent("move",t),this._previousPos=this._pos,delete this._lastMoveEvent}},Zr.prototype._onMouseUp=function(t){if(0===s.mouseButton(t))switch(this._state){case"active":this._state="enabled",s.suppressClick(),this._unbind(),this._deactivate(),this._inertialPan(t);break;case"pending":this._state="enabled",this._unbind()}},Zr.prototype._onTouchEnd=function(t){switch(this._state){case"active":this._state="enabled",this._unbind(),this._deactivate(),this._inertialPan(t);break;case"pending":this._state="enabled",this._unbind()}},Zr.prototype._onBlur=function(t){switch(this._state){case"active":this._state="enabled",this._unbind(),this._deactivate(),this._fireEvent("dragend",t),this._fireEvent("moveend",t);break;case"pending":this._state="enabled",this._unbind()}},Zr.prototype._unbind=function(){s.removeEventListener(t.default.document,"touchmove",this._onMove,{capture:!0,passive:!1}),s.removeEventListener(t.default.document,"touchend",this._onTouchEnd),s.removeEventListener(t.default.document,"mousemove",this._onMove,{capture:!0}),s.removeEventListener(t.default.document,"mouseup",this._onMouseUp),s.removeEventListener(t.default,"blur",this._onBlur)},Zr.prototype._deactivate=function(){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._lastMoveEvent,delete this._previousPos,delete this._pos},Zr.prototype._inertialPan=function(t){this._fireEvent("dragend",t),this._drainInertiaBuffer();var e=this._inertia;if(e.length<2)this._fireEvent("moveend",t);else{var r=e[e.length-1],n=e[0],i=r[1].sub(n[1]),a=(r[0]-n[0])/1e3;if(0===a||r[1].equals(n[1]))this._fireEvent("moveend",t);else{var o=i.mult(.3/a),s=o.mag();s>1400&&(s=1400,o._unit()._mult(s));var l=s/750,c=o.mult(-l/2);this._map.panBy(c,{duration:1e3*l,easing:Xr,noMoveStart:!0},{originalEvent:t})}}},Zr.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,r?{originalEvent:r}:{}))},Zr.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=a.now();t.length>0&&e-t[0][0]>160;)t.shift()};var $r=function(e){this._map=e,this._el=e.getCanvasContainer(),t.bindAll(["_onKeyDown"],this)};function Jr(t){return t*(2-t)}$r.prototype.isEnabled=function(){return!!this._enabled},$r.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("keydown",this._onKeyDown,!1),this._enabled=!0)},$r.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("keydown",this._onKeyDown),this._enabled=!1)},$r.prototype._onKeyDown=function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=0,r=0,n=0,i=0,a=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?r=-1:(t.preventDefault(),i=-1);break;case 39:t.shiftKey?r=1:(t.preventDefault(),i=1);break;case 38:t.shiftKey?n=1:(t.preventDefault(),a=-1);break;case 40:t.shiftKey?n=-1:(a=1,t.preventDefault());break;default:return}var o=this._map,s=o.getZoom(),l={duration:300,delayEndEvents:500,easing:Jr,zoom:e?Math.round(s)+e*(t.shiftKey?2:1):s,bearing:o.getBearing()+15*r,pitch:o.getPitch()+10*n,offset:[100*-i,100*-a],center:o.getCenter()};o.easeTo(l,{originalEvent:t})}};var Kr=function(e){this._map=e,t.bindAll(["_onDblClick","_onZoomEnd"],this)};Kr.prototype.isEnabled=function(){return!!this._enabled},Kr.prototype.isActive=function(){return!!this._active},Kr.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},Kr.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Kr.prototype.onTouchStart=function(t){var e=this;this.isEnabled()&&(t.points.length>1||(this._tapped?(clearTimeout(this._tapped),this._tapped=null,this._zoom(t)):this._tapped=setTimeout(function(){e._tapped=null},300)))},Kr.prototype.onDblClick=function(t){this.isEnabled()&&(t.originalEvent.preventDefault(),this._zoom(t))},Kr.prototype._zoom=function(t){this._active=!0,this._map.on("zoomend",this._onZoomEnd),this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)},Kr.prototype._onZoomEnd=function(){this._active=!1,this._map.off("zoomend",this._onZoomEnd)};var Qr=t.bezier(0,0,.15,1),tn=function(e){this._map=e,this._el=e.getCanvasContainer(),t.bindAll(["_onMove","_onEnd","_onTouchFrame"],this)};tn.prototype.isEnabled=function(){return!!this._enabled},tn.prototype.enable=function(t){this.isEnabled()||(this._el.classList.add("mapboxgl-touch-zoom-rotate"),this._enabled=!0,this._aroundCenter=!!t&&"center"===t.around)},tn.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove("mapboxgl-touch-zoom-rotate"),this._enabled=!1)},tn.prototype.disableRotation=function(){this._rotationDisabled=!0},tn.prototype.enableRotation=function(){this._rotationDisabled=!1},tn.prototype.onStart=function(e){if(this.isEnabled()&&2===e.touches.length){var r=s.mousePos(this._el,e.touches[0]),n=s.mousePos(this._el,e.touches[1]);this._startVec=r.sub(n),this._gestureIntent=void 0,this._inertia=[],s.addEventListener(t.default.document,"touchmove",this._onMove,{passive:!1}),s.addEventListener(t.default.document,"touchend",this._onEnd)}},tn.prototype._getTouchEventData=function(t){var e=s.mousePos(this._el,t.touches[0]),r=s.mousePos(this._el,t.touches[1]),n=e.sub(r);return{vec:n,center:e.add(r).div(2),scale:n.mag()/this._startVec.mag(),bearing:this._rotationDisabled?0:180*n.angleWith(this._startVec)/Math.PI}},tn.prototype._onMove=function(e){if(2===e.touches.length){var r=this._getTouchEventData(e),n=r.vec,i=r.scale,a=r.bearing;if(!this._gestureIntent){var o=Math.abs(1-i)>.15;Math.abs(a)>10?this._gestureIntent="rotate":o&&(this._gestureIntent="zoom"),this._gestureIntent&&(this._map.fire(new t.Event(this._gestureIntent+"start",{originalEvent:e})),this._map.fire(new t.Event("movestart",{originalEvent:e})),this._startVec=n)}this._lastTouchEvent=e,this._frameId||(this._frameId=this._map._requestRenderFrame(this._onTouchFrame)),e.preventDefault()}},tn.prototype._onTouchFrame=function(){this._frameId=null;var e=this._gestureIntent;if(e){var r=this._map.transform;this._startScale||(this._startScale=r.scale,this._startBearing=r.bearing);var n=this._getTouchEventData(this._lastTouchEvent),i=n.center,o=n.bearing,s=n.scale,l=r.pointLocation(i),c=r.locationPoint(l);"rotate"===e&&(r.bearing=this._startBearing+o),r.zoom=r.scaleZoom(this._startScale*s),r.setLocationAtPoint(l,c),this._map.fire(new t.Event(e,{originalEvent:this._lastTouchEvent})),this._map.fire(new t.Event("move",{originalEvent:this._lastTouchEvent})),this._drainInertiaBuffer(),this._inertia.push([a.now(),s,i])}},tn.prototype._onEnd=function(e){s.removeEventListener(t.default.document,"touchmove",this._onMove,{passive:!1}),s.removeEventListener(t.default.document,"touchend",this._onEnd);var r=this._gestureIntent,n=this._startScale;if(this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._gestureIntent,delete this._startScale,delete this._startBearing,delete this._lastTouchEvent,r){this._map.fire(new t.Event(r+"end",{originalEvent:e})),this._drainInertiaBuffer();var i=this._inertia,a=this._map;if(i.length<2)a.snapToNorth({},{originalEvent:e});else{var o=i[i.length-1],l=i[0],c=a.transform.scaleZoom(n*o[1]),u=a.transform.scaleZoom(n*l[1]),f=c-u,h=(o[0]-l[0])/1e3,p=o[2];if(0!==h&&c!==u){var d=.15*f/h;Math.abs(d)>2.5&&(d=d>0?2.5:-2.5);var g=1e3*Math.abs(d/(12*.15)),m=c+d*g/2e3;m<0&&(m=0),a.easeTo({zoom:m,duration:g,easing:Qr,around:this._aroundCenter?a.getCenter():a.unproject(p),noMoveStart:!0},{originalEvent:e})}else a.snapToNorth({},{originalEvent:e})}}},tn.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=a.now();t.length>2&&e-t[0][0]>160;)t.shift()};var en={scrollZoom:Hr,boxZoom:Gr,dragRotate:Yr,dragPan:Zr,keyboard:$r,doubleClickZoom:Kr,touchZoomRotate:tn},rn=function(e){function r(r,n){e.call(this),this._moving=!1,this._zooming=!1,this.transform=r,this._bearingSnap=n.bearingSnap,t.bindAll(["_renderFrameCallback"],this)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getCenter=function(){return this.transform.center},r.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},r.prototype.panBy=function(e,r,n){return e=t.default$1.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},r),n)},r.prototype.panTo=function(e,r,n){return this.easeTo(t.extend({center:e},r),n)},r.prototype.getZoom=function(){return this.transform.zoom},r.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},r.prototype.zoomTo=function(e,r,n){return this.easeTo(t.extend({zoom:e},r),n)},r.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},r.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},r.prototype.getBearing=function(){return this.transform.bearing},r.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},r.prototype.rotateTo=function(e,r,n){return this.easeTo(t.extend({bearing:e},r),n)},r.prototype.resetNorth=function(e,r){return this.rotateTo(0,t.extend({duration:1e3},e),r),this},r.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},r.prototype.getPitch=function(){return this.transform.pitch},r.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},r.prototype.fitBounds=function(e,r,n){if("number"==typeof(r=t.extend({padding:{top:0,bottom:0,right:0,left:0},offset:[0,0],maxZoom:this.transform.maxZoom},r)).padding){var i=r.padding;r.padding={top:i,bottom:i,right:i,left:i}}if(!t.default$10(Object.keys(r.padding).sort(function(t,e){return t<e?-1:t>e?1:0}),["bottom","left","right","top"]))return t.warnOnce("options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'"),this;e=W.convert(e);var a=[(r.padding.left-r.padding.right)/2,(r.padding.top-r.padding.bottom)/2],o=Math.min(r.padding.right,r.padding.left),s=Math.min(r.padding.top,r.padding.bottom);r.offset=[r.offset[0]+a[0],r.offset[1]+a[1]];var l=t.default$1.convert(r.offset),c=this.transform,u=c.project(e.getNorthWest()),f=c.project(e.getSouthEast()),h=f.sub(u),p=(c.width-2*o-2*Math.abs(l.x))/h.x,d=(c.height-2*s-2*Math.abs(l.y))/h.y;return d<0||p<0?(t.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset."),this):(r.center=c.unproject(u.add(f).div(2)),r.zoom=Math.min(c.scaleZoom(c.scale*Math.min(p,d)),r.maxZoom),r.bearing=0,r.linear?this.easeTo(r,n):this.flyTo(r,n))},r.prototype.jumpTo=function(e,r){this.stop();var n=this.transform,i=!1,a=!1,o=!1;return"zoom"in e&&n.zoom!==+e.zoom&&(i=!0,n.zoom=+e.zoom),void 0!==e.center&&(n.center=G.convert(e.center)),"bearing"in e&&n.bearing!==+e.bearing&&(a=!0,n.bearing=+e.bearing),"pitch"in e&&n.pitch!==+e.pitch&&(o=!0,n.pitch=+e.pitch),this.fire(new t.Event("movestart",r)).fire(new t.Event("move",r)),i&&this.fire(new t.Event("zoomstart",r)).fire(new t.Event("zoom",r)).fire(new t.Event("zoomend",r)),a&&this.fire(new t.Event("rotatestart",r)).fire(new t.Event("rotate",r)).fire(new t.Event("rotateend",r)),o&&this.fire(new t.Event("pitchstart",r)).fire(new t.Event("pitch",r)).fire(new t.Event("pitchend",r)),this.fire(new t.Event("moveend",r))},r.prototype.easeTo=function(e,r){var n=this;this.stop(),!1===(e=t.extend({offset:[0,0],duration:500,easing:t.ease},e)).animate&&(e.duration=0);var i=this.transform,a=this.getZoom(),o=this.getBearing(),s=this.getPitch(),l="zoom"in e?+e.zoom:a,c="bearing"in e?this._normalizeBearing(e.bearing,o):o,u="pitch"in e?+e.pitch:s,f=i.centerPoint.add(t.default$1.convert(e.offset)),h=i.pointLocation(f),p=G.convert(e.center||h);this._normalizeCenter(p);var d,g,m=i.project(h),v=i.project(p).sub(m),y=i.zoomScale(l-a);return e.around&&(d=G.convert(e.around),g=i.locationPoint(d)),this._zooming=l!==a,this._rotating=o!==c,this._pitching=u!==s,this._prepareEase(r,e.noMoveStart),clearTimeout(this._easeEndTimeoutID),this._ease(function(e){if(n._zooming&&(i.zoom=t.number(a,l,e)),n._rotating&&(i.bearing=t.number(o,c,e)),n._pitching&&(i.pitch=t.number(s,u,e)),d)i.setLocationAtPoint(d,g);else{var h=i.zoomScale(i.zoom-a),p=l>a?Math.min(2,y):Math.max(.5,y),x=Math.pow(p,1-e),b=i.unproject(m.add(v.mult(e*x)).mult(h));i.setLocationAtPoint(i.renderWorldCopies?b.wrap():b,f)}n._fireMoveEvents(r)},function(){e.delayEndEvents?n._easeEndTimeoutID=setTimeout(function(){return n._afterEase(r)},e.delayEndEvents):n._afterEase(r)},e),this},r.prototype._prepareEase=function(e,r){this._moving=!0,r||this.fire(new t.Event("movestart",e)),this._zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&this.fire(new t.Event("pitchstart",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))},r.prototype._afterEase=function(e){var r=this._zooming,n=this._rotating,i=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,r&&this.fire(new t.Event("zoomend",e)),n&&this.fire(new t.Event("rotateend",e)),i&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))},r.prototype.flyTo=function(e,r){var n=this;this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var i=this.transform,a=this.getZoom(),o=this.getBearing(),s=this.getPitch(),l="zoom"in e?t.clamp(+e.zoom,i.minZoom,i.maxZoom):a,c="bearing"in e?this._normalizeBearing(e.bearing,o):o,u="pitch"in e?+e.pitch:s,f=i.zoomScale(l-a),h=i.centerPoint.add(t.default$1.convert(e.offset)),p=i.pointLocation(h),d=G.convert(e.center||p);this._normalizeCenter(d);var g=i.project(p),m=i.project(d).sub(g),v=e.curve,y=Math.max(i.width,i.height),x=y/f,b=m.mag();if("minZoom"in e){var _=t.clamp(Math.min(e.minZoom,a,l),i.minZoom,i.maxZoom),w=y/i.zoomScale(_-a);v=Math.sqrt(w/b*2)}var k=v*v;function M(t){var e=(x*x-y*y+(t?-1:1)*k*k*b*b)/(2*(t?x:y)*k*b);return Math.log(Math.sqrt(e*e+1)-e)}function A(t){return(Math.exp(t)-Math.exp(-t))/2}function T(t){return(Math.exp(t)+Math.exp(-t))/2}var S=M(0),E=function(t){return T(S)/T(S+v*t)},C=function(t){return y*((T(S)*(A(e=S+v*t)/T(e))-A(S))/k)/b;var e},L=(M(1)-S)/v;if(Math.abs(b)<1e-6||!isFinite(L)){if(Math.abs(y-x)<1e-6)return this.easeTo(e,r);var z=x<y?-1:1;L=Math.abs(Math.log(x/y))/v,C=function(){return 0},E=function(t){return Math.exp(z*v*t)}}if("duration"in e)e.duration=+e.duration;else{var P="screenSpeed"in e?+e.screenSpeed/v:+e.speed;e.duration=1e3*L/P}return e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=o!==c,this._pitching=u!==s,this._prepareEase(r,!1),this._ease(function(e){var l=e*L,f=1/E(l);i.zoom=a+i.scaleZoom(f),n._rotating&&(i.bearing=t.number(o,c,e)),n._pitching&&(i.pitch=t.number(s,u,e));var p=i.unproject(g.add(m.mult(C(l))).mult(f));i.setLocationAtPoint(i.renderWorldCopies?p.wrap():p,h),n._fireMoveEvents(r)},function(){return n._afterEase(r)},e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var t=this._onEaseEnd;delete this._onEaseEnd,t.call(this)}return this},r.prototype._ease=function(t,e,r){!1===r.animate||0===r.duration?(t(1),e()):(this._easeStart=a.now(),this._easeOptions=r,this._onEaseFrame=t,this._onEaseEnd=e,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var t=Math.min((a.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t)),t<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)<n&&(e-=360),Math.abs(e+360-r)<n&&(e+=360),e},r.prototype._normalizeCenter=function(t){var e=this.transform;if(e.renderWorldCopies&&!e.lngRange){var r=t.lng-e.center.lng;t.lng+=r>180?-360:r<-180?360:0}},r}(t.Evented),nn=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};nn.prototype.getDefaultPosition=function(){return"bottom-right"},nn.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=s.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===e&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},nn.prototype.onRemove=function(){s.remove(this._container),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0},nn.prototype._updateEditLink=function(){var t=this._editLink;t||(t=this._editLink=this._container.querySelector(".mapbox-improve-map"));var e=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:m.ACCESS_TOKEN}];if(t){var r=e.reduce(function(t,r,n){return r.value&&(t+=r.key+"="+r.value+(n<e.length-1?"&":"")),t},"?");t.href="https://www.mapbox.com/feedback/"+r+(this._map._hash?this._map._hash.getHashString(!0):"")}},nn.prototype._updateData=function(t){t&&"metadata"===t.sourceDataType&&(this._updateAttributions(),this._updateEditLink())},nn.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(this._map.style.stylesheet){var e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}var r=this._map.style.sourceCaches;for(var n in r){var i=r[n].getSource();i.attribution&&t.indexOf(i.attribution)<0&&t.push(i.attribution)}t.sort(function(t,e){return t.length-e.length}),(t=t.filter(function(e,r){for(var n=r+1;n<t.length;n++)if(t[n].indexOf(e)>=0)return!1;return!0})).length?(this._container.innerHTML=t.join(" | "),this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null}},nn.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")};var an=function(){t.bindAll(["_updateLogo"],this)};an.prototype.onAdd=function(t){this._map=t,this._container=s.create("div","mapboxgl-ctrl");var e=s.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.href="https://www.mapbox.com/",e.setAttribute("aria-label","Mapbox logo"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._container},an.prototype.onRemove=function(){s.remove(this._container),this._map.off("sourcedata",this._updateLogo)},an.prototype.getDefaultPosition=function(){return"bottom-left"},an.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},an.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}};var on=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};on.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},on.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;r<n.length;r+=1){var i=n[r];if(i.id===t)return void(i.cancelled=!0)}},on.prototype.run=function(){var t=this._currentlyRunning=this._queue;this._queue=[];for(var e=0,r=t;e<r.length;e+=1){var n=r[e];if(!n.cancelled&&(n.callback(),this._cleared))break}this._cleared=!1,this._currentlyRunning=!1},on.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]};var sn=t.default.HTMLImageElement,ln=t.default.HTMLElement,cn={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:22,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,transformRequest:null,fadeDuration:300},un=function(r){function n(e){if(null!=(e=t.extend({},cn,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than minZoom");var n=new Fr(e.minZoom,e.maxZoom,e.renderWorldCopies);r.call(this,n,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new on;var i=e.transformRequest;if(this._transformRequest=i?function(t,e){return i(t,e)||{url:t}}:function(t){return{url:t}},"string"==typeof e.container){var a=t.default.document.getElementById(e.container);if(!a)throw new Error("Container '"+e.container+"' not found.");this._container=a}else{if(!(e.container instanceof ln))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored","_update","_render","_onData","_onDataLoading"],this),this._setupContainer(),this._setupPainter(),this.on("move",this._update.bind(this,!1)),this.on("zoom",this._update.bind(this,!0)),void 0!==t.default&&(t.default.addEventListener("online",this._onWindowOnline,!1),t.default.addEventListener("resize",this._onWindowResize,!1)),function(t,e){var r=t.getCanvasContainer(),n=null,i=!1;for(var a in en)t[a]=new en[a](t,e),e.interactive&&e[a]&&t[a].enable(e[a]);s.addEventListener(r,"mouseout",function(e){t.fire(new Vr("mouseout",t,e))}),s.addEventListener(r,"mousedown",function(r){i=!0;var n=new Vr("mousedown",t,r);t.fire(n),n.defaultPrevented||(e.interactive&&!t.doubleClickZoom.isActive()&&t.stop(),t.boxZoom.onMouseDown(r),t.boxZoom.isActive()||t.dragPan.isActive()||t.dragRotate.onMouseDown(r),t.boxZoom.isActive()||t.dragRotate.isActive()||t.dragPan.onMouseDown(r))}),s.addEventListener(r,"mouseup",function(e){var r=t.dragRotate.isActive();n&&!r&&t.fire(new Vr("contextmenu",t,n)),n=null,i=!1,t.fire(new Vr("mouseup",t,e))}),s.addEventListener(r,"mousemove",function(e){if(!t.dragPan.isActive()&&!t.dragRotate.isActive()){for(var n=e.toElement||e.target;n&&n!==r;)n=n.parentNode;n===r&&t.fire(new Vr("mousemove",t,e))}}),s.addEventListener(r,"mouseover",function(e){for(var n=e.toElement||e.target;n&&n!==r;)n=n.parentNode;n===r&&t.fire(new Vr("mouseover",t,e))}),s.addEventListener(r,"touchstart",function(r){var n=new Ur("touchstart",t,r);t.fire(n),n.defaultPrevented||(e.interactive&&t.stop(),t.boxZoom.isActive()||t.dragRotate.isActive()||t.dragPan.onTouchStart(r),t.touchZoomRotate.onStart(r),t.doubleClickZoom.onTouchStart(n))},{passive:!1}),s.addEventListener(r,"touchmove",function(e){t.fire(new Ur("touchmove",t,e))},{passive:!1}),s.addEventListener(r,"touchend",function(e){t.fire(new Ur("touchend",t,e))}),s.addEventListener(r,"touchcancel",function(e){t.fire(new Ur("touchcancel",t,e))}),s.addEventListener(r,"click",function(e){t.fire(new Vr("click",t,e))}),s.addEventListener(r,"dblclick",function(e){var r=new Vr("dblclick",t,e);t.fire(r),r.defaultPrevented||t.doubleClickZoom.onDblClick(r)}),s.addEventListener(r,"contextmenu",function(e){var r=t.dragRotate.isActive();i||r?i&&(n=e):t.fire(new Vr("contextmenu",t,e)),e.preventDefault()}),s.addEventListener(r,"wheel",function(e){var r=new qr("wheel",t,e);t.fire(r),r.defaultPrevented||t.scrollZoom.onWheel(e)},{passive:!1})}(this,e),this._hash=e.hash&&(new jr).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this.resize(),e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new nn),this.addControl(new an,e.logoPosition),this.on("style.load",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on("data",this._onData),this.on("dataloading",this._onDataLoading)}r&&(n.__proto__=r),n.prototype=Object.create(r&&r.prototype),n.prototype.constructor=n;var i={showTileBoundaries:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0}};return n.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e="top-right");var r=t.onAdd(this),n=this._controlPositions[e];return-1!==e.indexOf("bottom")?n.insertBefore(r,n.firstChild):n.appendChild(r),this},n.prototype.removeControl=function(t){return t.onRemove(this),this},n.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];return this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e)).fire(new t.Event("resize",e)).fire(new t.Event("moveend",e))},n.prototype.getBounds=function(){var e=new W(this.transform.pointLocation(new t.default$1(0,this.transform.height)),this.transform.pointLocation(new t.default$1(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(e.extend(this.transform.pointLocation(new t.default$1(this.transform.size.x,0))),e.extend(this.transform.pointLocation(new t.default$1(0,this.transform.size.y)))),e},n.prototype.getMaxBounds=function(){return this.transform.latRange&&2===this.transform.latRange.length&&this.transform.lngRange&&2===this.transform.lngRange.length?new W([this.transform.lngRange[0],this.transform.latRange[0]],[this.transform.lngRange[1],this.transform.latRange[1]]):null},n.prototype.setMaxBounds=function(t){if(t){var e=W.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null==t&&(this.transform.lngRange=null,this.transform.latRange=null,this._update());return this},n.prototype.setMinZoom=function(t){if((t=null==t?0:t)>=0&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()<t&&this.setZoom(t),this;throw new Error("minZoom must be between 0 and the current maxZoom, inclusive")},n.prototype.getMinZoom=function(){return this.transform.minZoom},n.prototype.setMaxZoom=function(t){if((t=null==t?22:t)>=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},n.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},n.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update(),this},n.prototype.getMaxZoom=function(){return this.transform.maxZoom},n.prototype.project=function(t){return this.transform.locationPoint(G.convert(t))},n.prototype.unproject=function(e){return this.transform.pointLocation(t.default$1.convert(e))},n.prototype.isMoving=function(){return this._moving||this.dragPan.isActive()||this.dragRotate.isActive()||this.scrollZoom.isActive()},n.prototype.isZooming=function(){return this._zooming||this.scrollZoom.isActive()},n.prototype.isRotating=function(){return this._rotating||this.dragRotate.isActive()},n.prototype.on=function(t,e,n){var i,a=this;if(void 0===n)return r.prototype.on.call(this,t,e);var o=function(){if("mouseenter"===t||"mouseover"===t){var r=!1;return{layer:e,listener:n,delegates:{mousemove:function(i){var o=a.getLayer(e)?a.queryRenderedFeatures(i.point,{layers:[e]}):[];o.length?r||(r=!0,n.call(a,new Vr(t,a,i.originalEvent,{features:o}))):r=!1},mouseout:function(){r=!1}}}}if("mouseleave"===t||"mouseout"===t){var o=!1;return{layer:e,listener:n,delegates:{mousemove:function(r){(a.getLayer(e)?a.queryRenderedFeatures(r.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,n.call(a,new Vr(t,a,r.originalEvent)))},mouseout:function(e){o&&(o=!1,n.call(a,new Vr(t,a,e.originalEvent)))}}}}return{layer:e,listener:n,delegates:(i={},i[t]=function(t){var r=a.getLayer(e)?a.queryRenderedFeatures(t.point,{layers:[e]}):[];r.length&&(t.features=r,n.call(a,t),delete t.features)},i)}}();for(var s in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(o),o.delegates)a.on(s,o.delegates[s]);return this},n.prototype.off=function(t,e,n){if(void 0===n)return r.prototype.off.call(this,t,e);if(this._delegatedListeners&&this._delegatedListeners[t])for(var i=this._delegatedListeners[t],a=0;a<i.length;a++){var o=i[a];if(o.layer===e&&o.listener===n){for(var s in o.delegates)this.off(s,o.delegates[s]);return i.splice(a,1),this}}return this},n.prototype.queryRenderedFeatures=function(e,r){var n;return 2===arguments.length?(e=arguments[0],r=arguments[1]):1===arguments.length&&((n=arguments[0])instanceof t.default$1||Array.isArray(n))?(e=arguments[0],r={}):1===arguments.length?(e=void 0,r=arguments[0]):(e=void 0,r={}),this.style?this.style.queryRenderedFeatures(this._makeQueryGeometry(e),r,this.transform):[]},n.prototype._makeQueryGeometry=function(e){var r,n=this;if(void 0===e&&(e=[t.default$1.convert([0,0]),t.default$1.convert([this.transform.width,this.transform.height])]),e instanceof t.default$1||"number"==typeof e[0])r=[t.default$1.convert(e)];else{var i=[t.default$1.convert(e[0]),t.default$1.convert(e[1])];r=[i[0],new t.default$1(i[1].x,i[0].y),i[1],new t.default$1(i[0].x,i[1].y),i[0]]}return{viewport:r,worldCoordinate:r.map(function(t){return n.transform.pointCoordinate(t)})}},n.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},n.prototype.setStyle=function(e,r){if((!r||!1!==r.diff&&!r.localIdeographFontFamily)&&this.style&&e&&"object"==typeof e)try{return this.style.setState(e)&&this._update(!0),this}catch(e){t.warnOnce("Unable to perform style diff: "+(e.message||e.error||e)+". Rebuilding the style from scratch.")}return this.style&&(this.style.setEventedParent(null),this.style._remove()),e?(this.style=new Je(this,r||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof e?this.style.loadURL(e):this.style.loadJSON(e),this):(delete this.style,this)},n.prototype.getStyle=function(){if(this.style)return this.style.serialize()},n.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():t.warnOnce("There is no style added to the map.")},n.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},n.prototype.isSourceLoaded=function(e){var r=this.style&&this.style.sourceCaches[e];if(void 0!==r)return r.loaded();this.fire(new t.ErrorEvent(new Error("There is no source with ID '"+e+"'")))},n.prototype.areTilesLoaded=function(){var t=this.style&&this.style.sourceCaches;for(var e in t){var r=t[e]._tiles;for(var n in r){var i=r[n];if("loaded"!==i.state&&"errored"!==i.state)return!1}}return!0},n.prototype.addSourceType=function(t,e,r){return this.style.addSourceType(t,e,r)},n.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},n.prototype.getSource=function(t){return this.style.getSource(t)},n.prototype.addImage=function(e,r,n){void 0===n&&(n={});var i=n.pixelRatio;void 0===i&&(i=1);var o=n.sdf;if(void 0===o&&(o=!1),r instanceof sn){var s=a.getImageData(r),l=s.width,c=s.height,u=s.data;this.style.addImage(e,{data:new t.RGBAImage({width:l,height:c},u),pixelRatio:i,sdf:o})}else{if(void 0===r.width||void 0===r.height)return this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));var f=r.width,h=r.height,p=r.data;this.style.addImage(e,{data:new t.RGBAImage({width:f,height:h},p.slice(0)),pixelRatio:i,sdf:o})}},n.prototype.hasImage=function(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error("Missing required image id"))),!1)},n.prototype.removeImage=function(t){this.style.removeImage(t)},n.prototype.loadImage=function(e,r){t.getImage(this._transformRequest(e,t.ResourceType.Image),r)},n.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},n.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},n.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},n.prototype.getLayer=function(t){return this.style.getLayer(t)},n.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},n.prototype.setLayerZoomRange=function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0),this},n.prototype.getFilter=function(t){return this.style.getFilter(t)},n.prototype.setPaintProperty=function(t,e,r){return this.style.setPaintProperty(t,e,r),this._update(!0),this},n.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},n.prototype.setLayoutProperty=function(t,e,r){return this.style.setLayoutProperty(t,e,r),this._update(!0),this},n.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},n.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},n.prototype.getLight=function(){return this.style.getLight()},n.prototype.getContainer=function(){return this._container},n.prototype.getCanvasContainer=function(){return this._canvasContainer},n.prototype.getCanvas=function(){return this._canvas},n.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},n.prototype._setupContainer=function(){var t=this._container;t.classList.add("mapboxgl-map"),(this._missingCSSContainer=s.create("div","mapboxgl-missing-css",t)).innerHTML="Missing Mapbox GL JS CSS";var e=this._canvasContainer=s.create("div","mapboxgl-canvas-container",t);this._interactive&&e.classList.add("mapboxgl-interactive"),this._canvas=s.create("canvas","mapboxgl-canvas",e),this._canvas.style.position="absolute",this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex","0"),this._canvas.setAttribute("aria-label","Map");var r=this._containerDimensions();this._resizeCanvas(r[0],r[1]);var n=this._controlContainer=s.create("div","mapboxgl-control-container",t),i=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(function(t){i[t]=s.create("div","mapboxgl-ctrl-"+t,n)})},n.prototype._resizeCanvas=function(e,r){var n=t.default.devicePixelRatio||1;this._canvas.width=n*e,this._canvas.height=n*r,this._canvas.style.width=e+"px",this._canvas.style.height=r+"px"},n.prototype._setupPainter=function(){var r=t.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},e.webGLContextAttributes),n=this._canvas.getContext("webgl",r)||this._canvas.getContext("experimental-webgl",r);n?this.painter=new zr(n,this.transform):this.fire(new t.ErrorEvent(new Error("Failed to initialize WebGL")))},n.prototype._contextLost=function(e){e.preventDefault(),this._frameId&&(a.cancelFrame(this._frameId),this._frameId=null),this.fire(new t.Event("webglcontextlost",{originalEvent:e}))},n.prototype._contextRestored=function(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event("webglcontextrestored",{originalEvent:e}))},n.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},n.prototype._update=function(t){this.style&&(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender())},n.prototype._requestRenderFrame=function(t){return this._update(),this._renderTaskQueue.add(t)},n.prototype._cancelRenderFrame=function(t){this._renderTaskQueue.remove(t)},n.prototype._render=function(){this._renderTaskQueue.run();var e=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var r=this.transform.zoom,n=a.now();this.style.zoomHistory.update(r,n);var i=new t.default$16(r,{now:n,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),o=i.crossFadingFactor();1===o&&o===this._crossFadingFactor||(e=!0,this._crossFadingFactor=o),this.style.update(i)}return this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),fadeDuration:this._fadeDuration}),this.fire(new t.Event("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new t.Event("load"))),this.style&&(this.style.hasTransitions()||e)&&(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty||this._placementDirty)&&this._rerender(),this},n.prototype.remove=function(){this._hash&&this._hash.remove(),a.cancelFrame(this._frameId),this._renderTaskQueue.clear(),this._frameId=null,this.setStyle(null),void 0!==t.default&&(t.default.removeEventListener("resize",this._onWindowResize,!1),t.default.removeEventListener("online",this._onWindowOnline,!1));var e=this.painter.context.gl.getExtension("WEBGL_lose_context");e&&e.loseContext(),fn(this._canvasContainer),fn(this._controlContainer),fn(this._missingCSSContainer),this._container.classList.remove("mapboxgl-map"),this.fire(new t.Event("remove"))},n.prototype._rerender=function(){var t=this;this.style&&!this._frameId&&(this._frameId=a.frame(function(){t._frameId=null,t._render()}))},n.prototype._onWindowOnline=function(){this._update()},n.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},i.showTileBoundaries.get=function(){return!!this._showTileBoundaries},i.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},i.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},i.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())},i.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},i.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},i.repaint.get=function(){return!!this._repaint},i.repaint.set=function(t){this._repaint=t,this._update()},i.vertices.get=function(){return!!this._vertices},i.vertices.set=function(t){this._vertices=t,this._update()},n.prototype._onData=function(e){this._update("style"===e.dataType),this.fire(new t.Event(e.dataType+"data",e))},n.prototype._onDataLoading=function(e){this.fire(new t.Event(e.dataType+"dataloading",e))},Object.defineProperties(n.prototype,i),n}(rn);function fn(t){t.parentNode&&t.parentNode.removeChild(t)}var hn={showCompass:!0,showZoom:!0},pn=function(e){var r=this;this.options=t.extend({},hn,e),this._container=s.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this.options.showZoom&&(this._zoomInButton=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-in","Zoom In",function(){return r._map.zoomIn()}),this._zoomOutButton=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-out","Zoom Out",function(){return r._map.zoomOut()})),this.options.showCompass&&(t.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-compass","Reset North",function(){return r._map.resetNorth()}),this._compassArrow=s.create("span","mapboxgl-ctrl-compass-arrow",this._compass))};function dn(t,e,r){if(t=new G(t.lng,t.lat),e){var n=new G(t.lng-360,t.lat),i=new G(t.lng+360,t.lat),a=r.locationPoint(t).distSqr(e);r.locationPoint(n).distSqr(e)<a?t=n:r.locationPoint(i).distSqr(e)<a&&(t=i)}for(;Math.abs(t.lng-r.center.lng)>180;){var o=r.locationPoint(t);if(o.x>=0&&o.y>=0&&o.x<=r.width&&o.y<=r.height)break;t.lng>r.center.lng?t.lng-=360:t.lng+=360}return t}pn.prototype._rotateCompassArrow=function(){var t="rotate("+this._map.transform.angle*(180/Math.PI)+"deg)";this._compassArrow.style.transform=t},pn.prototype.onAdd=function(t){return this._map=t,this.options.showCompass&&(this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Yr(t,{button:"left",element:this._compass}),this._handler.enable()),this._container},pn.prototype.onRemove=function(){s.remove(this._container),this.options.showCompass&&(this._map.off("rotate",this._rotateCompassArrow),this._handler.disable(),delete this._handler),delete this._map},pn.prototype._createButton=function(t,e,r){var n=s.create("button",t,this._container);return n.type="button",n.setAttribute("aria-label",e),n.addEventListener("click",r),n};var gn={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function mn(t,e,r){var n=t.classList;for(var i in gn)n.remove("mapboxgl-"+r+"-anchor-"+i);n.add("mapboxgl-"+r+"-anchor-"+e)}var vn=function(e){if((arguments[0]instanceof t.default.HTMLElement||2===arguments.length)&&(e=t.extend({element:e},arguments[1])),t.bindAll(["_update","_onMapClick"],this),this._anchor=e&&e.anchor||"center",this._color=e&&e.color||"#3FB1CE",e&&e.element)this._element=e.element,this._offset=t.default$1.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=s.create("div");var r=s.createNS("http://www.w3.org/2000/svg","svg");r.setAttributeNS(null,"height","41px"),r.setAttributeNS(null,"width","27px"),r.setAttributeNS(null,"viewBox","0 0 27 41");var n=s.createNS("http://www.w3.org/2000/svg","g");n.setAttributeNS(null,"stroke","none"),n.setAttributeNS(null,"stroke-width","1"),n.setAttributeNS(null,"fill","none"),n.setAttributeNS(null,"fill-rule","evenodd");var i=s.createNS("http://www.w3.org/2000/svg","g");i.setAttributeNS(null,"fill-rule","nonzero");var a=s.createNS("http://www.w3.org/2000/svg","g");a.setAttributeNS(null,"transform","translate(3.0, 29.0)"),a.setAttributeNS(null,"fill","#000000");for(var o=0,l=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];o<l.length;o+=1){var c=l[o],u=s.createNS("http://www.w3.org/2000/svg","ellipse");u.setAttributeNS(null,"opacity","0.04"),u.setAttributeNS(null,"cx","10.5"),u.setAttributeNS(null,"cy","5.80029008"),u.setAttributeNS(null,"rx",c.rx),u.setAttributeNS(null,"ry",c.ry),a.appendChild(u)}var f=s.createNS("http://www.w3.org/2000/svg","g");f.setAttributeNS(null,"fill",this._color);var h=s.createNS("http://www.w3.org/2000/svg","path");h.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),f.appendChild(h);var p=s.createNS("http://www.w3.org/2000/svg","g");p.setAttributeNS(null,"opacity","0.25"),p.setAttributeNS(null,"fill","#000000");var d=s.createNS("http://www.w3.org/2000/svg","path");d.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),p.appendChild(d);var g=s.createNS("http://www.w3.org/2000/svg","g");g.setAttributeNS(null,"transform","translate(6.0, 7.0)"),g.setAttributeNS(null,"fill","#FFFFFF");var m=s.createNS("http://www.w3.org/2000/svg","g");m.setAttributeNS(null,"transform","translate(8.0, 8.0)");var v=s.createNS("http://www.w3.org/2000/svg","circle");v.setAttributeNS(null,"fill","#000000"),v.setAttributeNS(null,"opacity","0.25"),v.setAttributeNS(null,"cx","5.5"),v.setAttributeNS(null,"cy","5.5"),v.setAttributeNS(null,"r","5.4999962");var y=s.createNS("http://www.w3.org/2000/svg","circle");y.setAttributeNS(null,"fill","#FFFFFF"),y.setAttributeNS(null,"cx","5.5"),y.setAttributeNS(null,"cy","5.5"),y.setAttributeNS(null,"r","5.4999962"),m.appendChild(v),m.appendChild(y),i.appendChild(a),i.appendChild(f),i.appendChild(p),i.appendChild(g),i.appendChild(m),r.appendChild(i),this._element.appendChild(r),this._offset=t.default$1.convert(e&&e.offset||[0,-14])}this._element.classList.add("mapboxgl-marker"),this._popup=null};vn.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),this._update(),this._map.on("click",this._onMapClick),this},vn.prototype.remove=function(){return this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),delete this._map),s.remove(this._element),this._popup&&this._popup.remove(),this},vn.prototype.getLngLat=function(){return this._lngLat},vn.prototype.setLngLat=function(t){return this._lngLat=G.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},vn.prototype.getElement=function(){return this._element},vn.prototype.setPopup=function(t){if(this._popup&&(this._popup.remove(),this._popup=null),t){if(!("offset"in t.options)){var e=Math.sqrt(Math.pow(13.5,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[e,-1*(24.6+e)],"bottom-right":[-e,-1*(24.6+e)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat)}return this},vn.prototype._onMapClick=function(t){var e=t.originalEvent.target,r=this._element;this._popup&&(e===r||r.contains(e))&&this.togglePopup()},vn.prototype.getPopup=function(){return this._popup},vn.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},vn.prototype._update=function(t){this._map&&(this._map.transform.renderWorldCopies&&(this._lngLat=dn(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset),t&&"moveend"!==t.type||(this._pos=this._pos.round()),s.setTransform(this._element,gn[this._anchor]+" translate("+this._pos.x+"px, "+this._pos.y+"px)"),mn(this._element,this._anchor,"marker"))},vn.prototype.getOffset=function(){return this._offset},vn.prototype.setOffset=function(e){return this._offset=t.default$1.convert(e),this._update(),this};var yn,xn={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showUserLocation:!0},bn=function(e){function r(r){e.call(this),this.options=t.extend({},xn,r),t.bindAll(["_onSuccess","_onError","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.onAdd=function(e){var r;return this._map=e,this._container=s.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),r=this._setupUI,void 0!==yn?r(yn):void 0!==t.default.navigator.permissions?t.default.navigator.permissions.query({name:"geolocation"}).then(function(t){yn="denied"!==t.state,r(yn)}):(yn=!!t.default.navigator.geolocation,r(yn)),this._container},r.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.default.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker.remove(),s.remove(this._container),this._map=void 0},r.prototype._onSuccess=function(e){if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()},r.prototype._updateCamera=function(t){var e=new G(t.coords.longitude,t.coords.latitude),r=t.coords.accuracy;this._map.fitBounds(e.toBounds(r),this.options.fitBoundsOptions,{geolocateSource:!0})},r.prototype._updateMarker=function(t){t?this._userLocationDotMarker.setLngLat([t.coords.longitude,t.coords.latitude]).addTo(this._map):this._userLocationDotMarker.remove()},r.prototype._onError=function(e){if(this.options.trackUserLocation)if(1===e.code)this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),void 0!==this._geolocationWatchID&&this._clearWatch();else switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()},r.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},r.prototype._setupUI=function(e){var r=this;!1!==e&&(this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this._geolocateButton=s.create("button","mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate",this._container),this._geolocateButton.type="button",this._geolocateButton.setAttribute("aria-label","Geolocate"),this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=s.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new vn(this._dotElement),this.options.trackUserLocation&&(this._watchState="OFF")),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",function(e){e.geolocateSource||"ACTIVE_LOCK"!==r._watchState||(r._watchState="BACKGROUND",r._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),r._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),r.fire(new t.Event("trackuserlocationend")))}))},r.prototype.trigger=function(){if(!this._setup)return t.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}"OFF"===this._watchState&&void 0!==this._geolocationWatchID?this._clearWatch():void 0===this._geolocationWatchID&&(this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),this._geolocationWatchID=t.default.navigator.geolocation.watchPosition(this._onSuccess,this._onError,this.options.positionOptions))}else t.default.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},r.prototype._clearWatch=function(){t.default.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},r}(t.Evented),_n={maxWidth:100,unit:"metric"},wn=function(e){this.options=t.extend({},_n,e),t.bindAll(["_onMove","setUnit"],this)};function kn(t,e,r){var n,i,a,o,s,l,c=r&&r.maxWidth||100,u=t._container.clientHeight/2,f=(n=t.unproject([0,u]),i=t.unproject([c,u]),a=Math.PI/180,o=n.lat*a,s=i.lat*a,l=Math.sin(o)*Math.sin(s)+Math.cos(o)*Math.cos(s)*Math.cos((i.lng-n.lng)*a),6371e3*Math.acos(Math.min(l,1)));if(r&&"imperial"===r.unit){var h=3.2808*f;h>5280?Mn(e,c,h/5280,"mi"):Mn(e,c,h,"ft")}else r&&"nautical"===r.unit?Mn(e,c,f/1852,"nm"):Mn(e,c,f,"m")}function Mn(t,e,r,n){var i,a,o,s=(i=r,(a=Math.pow(10,(""+Math.floor(i)).length-1))*(o=(o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:1)),l=s/r;"m"===n&&s>=1e3&&(s/=1e3,n="km"),t.style.width=e*l+"px",t.innerHTML=s+n}wn.prototype.getDefaultPosition=function(){return"bottom-left"},wn.prototype._onMove=function(){kn(this._map,this._container,this.options)},wn.prototype.onAdd=function(t){return this._map=t,this._container=s.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},wn.prototype.onRemove=function(){s.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},wn.prototype.setUnit=function(t){this.options.unit=t,kn(this._map,this._container,this.options)};var An=function(){this._fullscreen=!1,t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.default.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in t.default.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in t.default.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in t.default.document&&(this._fullscreenchange="MSFullscreenChange"),this._className="mapboxgl-ctrl"};An.prototype.onAdd=function(e){return this._map=e,this._mapContainer=this._map.getContainer(),this._container=s.create("div",this._className+" mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._container.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._container},An.prototype.onRemove=function(){s.remove(this._container),this._map=null,t.default.document.removeEventListener(this._fullscreenchange,this._changeIcon)},An.prototype._checkFullscreenSupport=function(){return!!(t.default.document.fullscreenEnabled||t.default.document.mozFullScreenEnabled||t.default.document.msFullscreenEnabled||t.default.document.webkitFullscreenEnabled)},An.prototype._setupUI=function(){var e=this._fullscreenButton=s.create("button",this._className+"-icon "+this._className+"-fullscreen",this._container);e.setAttribute("aria-label","Toggle fullscreen"),e.type="button",this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.default.document.addEventListener(this._fullscreenchange,this._changeIcon)},An.prototype._isFullscreen=function(){return this._fullscreen},An.prototype._changeIcon=function(){(t.default.document.fullscreenElement||t.default.document.mozFullScreenElement||t.default.document.webkitFullscreenElement||t.default.document.msFullscreenElement)===this._mapContainer!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(this._className+"-shrink"),this._fullscreenButton.classList.toggle(this._className+"-fullscreen"))},An.prototype._onClickFullscreen=function(){this._isFullscreen()?t.default.document.exitFullscreen?t.default.document.exitFullscreen():t.default.document.mozCancelFullScreen?t.default.document.mozCancelFullScreen():t.default.document.msExitFullscreen?t.default.document.msExitFullscreen():t.default.document.webkitCancelFullScreen&&t.default.document.webkitCancelFullScreen():this._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()};var Tn={closeButton:!0,closeOnClick:!0},Sn=function(e){function r(r){e.call(this),this.options=t.extend(Object.create(Tn),r),t.bindAll(["_update","_onClickClose"],this)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addTo=function(e){return this._map=e,this._map.on("move",this._update),this.options.closeOnClick&&this._map.on("click",this._onClickClose),this._update(),this.fire(new t.Event("open")),this},r.prototype.isOpen=function(){return!!this._map},r.prototype.remove=function(){return this._content&&s.remove(this._content),this._container&&(s.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("click",this._onClickClose),delete this._map),this.fire(new t.Event("close")),this},r.prototype.getLngLat=function(){return this._lngLat},r.prototype.setLngLat=function(t){return this._lngLat=G.convert(t),this._pos=null,this._update(),this},r.prototype.setText=function(e){return this.setDOMContent(t.default.document.createTextNode(e))},r.prototype.setHTML=function(e){var r,n=t.default.document.createDocumentFragment(),i=t.default.document.createElement("body");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},r.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},r.prototype._createContent=function(){this._content&&s.remove(this._content),this._content=s.create("div","mapboxgl-popup-content",this._container),this.options.closeButton&&(this._closeButton=s.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="&#215;",this._closeButton.addEventListener("click",this._onClickClose))},r.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=s.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=s.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content)),this._map.transform.renderWorldCopies&&(this._lngLat=dn(this._lngLat,this._pos,this._map.transform));var e=this._pos=this._map.project(this._lngLat),r=this.options.anchor,n=function e(r){if(r){if("number"==typeof r){var n=Math.round(Math.sqrt(.5*Math.pow(r,2)));return{center:new t.default$1(0,0),top:new t.default$1(0,r),"top-left":new t.default$1(n,n),"top-right":new t.default$1(-n,n),bottom:new t.default$1(0,-r),"bottom-left":new t.default$1(n,-n),"bottom-right":new t.default$1(-n,-n),left:new t.default$1(r,0),right:new t.default$1(-r,0)}}if(r instanceof t.default$1||Array.isArray(r)){var i=t.default$1.convert(r);return{center:i,top:i,"top-left":i,"top-right":i,bottom:i,"bottom-left":i,"bottom-right":i,left:i,right:i}}return{center:t.default$1.convert(r.center||[0,0]),top:t.default$1.convert(r.top||[0,0]),"top-left":t.default$1.convert(r["top-left"]||[0,0]),"top-right":t.default$1.convert(r["top-right"]||[0,0]),bottom:t.default$1.convert(r.bottom||[0,0]),"bottom-left":t.default$1.convert(r["bottom-left"]||[0,0]),"bottom-right":t.default$1.convert(r["bottom-right"]||[0,0]),left:t.default$1.convert(r.left||[0,0]),right:t.default$1.convert(r.right||[0,0])}}return e(new t.default$1(0,0))}(this.options.offset);if(!r){var i,a=this._container.offsetWidth,o=this._container.offsetHeight;i=e.y+n.bottom.y<o?["top"]:e.y>this._map.transform.height-o?["bottom"]:[],e.x<a/2?i.push("left"):e.x>this._map.transform.width-a/2&&i.push("right"),r=0===i.length?"bottom":i.join("-")}var l=e.add(n[r]).round();s.setTransform(this._container,gn[r]+" translate("+l.x+"px,"+l.y+"px)"),mn(this._container,r,"popup")}},r.prototype._onClickClose=function(){this.remove()},r}(t.Evented),En={version:"0.45.0",supported:e,workerCount:Math.max(Math.floor(a.hardwareConcurrency/2),1),setRTLTextPlugin:t.setRTLTextPlugin,Map:un,NavigationControl:pn,GeolocateControl:bn,AttributionControl:nn,ScaleControl:wn,FullscreenControl:An,Popup:Sn,Marker:vn,Style:Je,LngLat:G,LngLatBounds:W,Point:t.default$1,Evented:t.Evented,config:m,get accessToken(){return m.ACCESS_TOKEN},set accessToken(t){m.ACCESS_TOKEN=t},workerUrl:""};return En}),n})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],407:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1<<t+1,r=new Array(e),n=0;n<e;++n)r[n]=a(t,n);return r};var n=t("convex-hull");function i(t,e,r){for(var n=new Array(t),i=0;i<t;++i)n[i]=0,i===e&&(n[i]+=.5),i===r&&(n[i]+=.5);return n}function a(t,e){if(0===e||e===(1<<t+1)-1)return[];for(var r=[],a=[],o=0;o<=t;++o)if(e&1<<o){r.push(i(t,o-1,o-1)),a.push(null);for(var s=0;s<=t;++s)~e&1<<s&&(r.push(i(t,o-1,s-1)),a.push([o,s]))}var l=n(r),c=[];t:for(o=0;o<l.length;++o){var u=l[o],f=[];for(s=0;s<u.length;++s){if(!a[u[s]])continue t;f.push(a[u[s]].slice())}c.push(f)}return c}},{"convex-hull":117}],408:[function(t,e,r){var n=t("./normalize"),i=t("gl-mat4/create"),a=t("gl-mat4/clone"),o=t("gl-mat4/determinant"),s=t("gl-mat4/invert"),l=t("gl-mat4/transpose"),c={length:t("gl-vec3/length"),normalize:t("gl-vec3/normalize"),dot:t("gl-vec3/dot"),cross:t("gl-vec3/cross")},u=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function g(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}e.exports=function(t,e,r,i,m,v){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),m||(m=[0,0,0,1]),v||(v=[0,0,0,1]),!n(u,t))return!1;if(a(f,u),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var y,x,b,_,w,k,M,A=u[3],T=u[7],S=u[11],E=u[12],C=u[13],L=u[14],z=u[15];if(0!==A||0!==T||0!==S){if(h[0]=A,h[1]=T,h[2]=S,h[3]=z,!s(f,f))return!1;l(f,f),y=m,b=f,_=(x=h)[0],w=x[1],k=x[2],M=x[3],y[0]=b[0]*_+b[4]*w+b[8]*k+b[12]*M,y[1]=b[1]*_+b[5]*w+b[9]*k+b[13]*M,y[2]=b[2]*_+b[6]*w+b[10]*k+b[14]*M,y[3]=b[3]*_+b[7]*w+b[11]*k+b[15]*M}else m[0]=m[1]=m[2]=0,m[3]=1;if(e[0]=E,e[1]=C,e[2]=L,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,u),r[0]=c.length(p[0]),c.normalize(p[0],p[0]),i[0]=c.dot(p[0],p[1]),g(p[1],p[1],p[0],1,-i[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),i[0]/=r[1],i[1]=c.dot(p[0],p[2]),g(p[2],p[2],p[0],1,-i[1]),i[2]=c.dot(p[1],p[2]),g(p[2],p[2],p[1],1,-i[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],c.cross(d,p[1],p[2]),c.dot(p[0],d)<0)for(var P=0;P<3;P++)r[P]*=-1,p[P][0]*=-1,p[P][1]*=-1,p[P][2]*=-1;return v[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),v[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),v[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),v[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(v[0]=-v[0]),p[0][2]>p[2][0]&&(v[1]=-v[1]),p[1][0]>p[0][1]&&(v[2]=-v[2]),!0}},{"./normalize":409,"gl-mat4/clone":247,"gl-mat4/create":248,"gl-mat4/determinant":249,"gl-mat4/invert":253,"gl-mat4/transpose":263,"gl-vec3/cross":315,"gl-vec3/dot":320,"gl-vec3/length":330,"gl-vec3/normalize":337}],409:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},{}],410:[function(t,e,r){var n=t("gl-vec3/lerp"),i=t("mat4-recompose"),a=t("mat4-decompose"),o=t("gl-mat4/determinant"),s=t("quat-slerp"),l=f(),c=f(),u=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}e.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!h||!p||(n(u.translate,l.translate,c.translate,f),n(u.skew,l.skew,c.skew,f),n(u.scale,l.scale,c.scale,f),n(u.perspective,l.perspective,c.perspective,f),s(u.quaternion,l.quaternion,c.quaternion,f),i(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),0))}},{"gl-mat4/determinant":249,"gl-vec3/lerp":331,"mat4-decompose":408,"mat4-recompose":411,"quat-slerp":463}],411:[function(t,e,r){var n={identity:t("gl-mat4/identity"),translate:t("gl-mat4/translate"),multiply:t("gl-mat4/multiply"),create:t("gl-mat4/create"),scale:t("gl-mat4/scale"),fromRotationTranslation:t("gl-mat4/fromRotationTranslation")},i=(n.create(),n.create());e.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},{"gl-mat4/create":248,"gl-mat4/fromRotationTranslation":251,"gl-mat4/identity":252,"gl-mat4/multiply":255,"gl-mat4/scale":261,"gl-mat4/translate":262}],412:[function(t,e,r){"use strict";e.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},{}],413:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),i=t("mat4-interpolate"),a=t("gl-mat4/invert"),o=t("gl-mat4/rotateX"),s=t("gl-mat4/rotateY"),l=t("gl-mat4/rotateZ"),c=t("gl-mat4/lookAt"),u=t("gl-mat4/translate"),f=(t("gl-mat4/scale"),t("gl-vec3/normalize")),h=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}e.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{var u=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)h[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&h[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=h[c];else i(o,h,d,(t-e[r])/u)}var g=this.computedUp;g[0]=o[1],g[1]=o[5],g[2]=o[9],f(g,g);var m=this.computedInverse;a(m,o);var v=this.computedEye,y=m[15];v[0]=m[12]/y,v[1]=m[13]/y,v[2]=m[14]/y;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=v[c]-o[2+4*c]*b}},d.idle=function(t){if(!(t<this.lastT())){for(var e=this._components,r=e.length-16,n=0;n<16;++n)e.push(e[r++]);this._time.push(t)}},d.flush=function(t){var e=n.gt(this._time,t)-2;e<0||(this._time.splice(0,e),this._components.splice(0,16*e))},d.lastT=function(){return this._time[this._time.length-1]},d.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||h,n=n||this.computedUp,this.setMatrix(t,c(this.computedMatrix,e,r,n));for(var i=0,a=0;a<3;++a)i+=Math.pow(r[a]-e[a],2);i=Math.log(Math.sqrt(i)),this.computedRadius[0]=i},d.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&&s(i,i,e),r&&o(i,i,r),n&&l(i,i,n),this.setMatrix(t,a(this.computedMatrix,i))};var g=[0,0,0];d.pan=function(t,e,r,n){g[0]=-(e||0),g[1]=-(r||0),g[2]=-(n||0),this.recalcMatrix(t);var i=this.computedInverse;u(i,i,g),this.setMatrix(t,a(i,i))},d.translate=function(t,e,r,n){g[0]=e||0,g[1]=r||0,g[2]=n||0,this.recalcMatrix(t);var i=this.computedMatrix;u(i,i,g),this.setMatrix(t,i)},d.setMatrix=function(t,e){if(!(t<this.lastT())){this._time.push(t);for(var r=0;r<16;++r)this._components.push(e[r])}},d.setDistance=function(t,e){this.computedRadius[0]=e},d.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},d.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e}},{"binary-search-bounds":78,"gl-mat4/invert":253,"gl-mat4/lookAt":254,"gl-mat4/rotateX":258,"gl-mat4/rotateY":259,"gl-mat4/rotateZ":260,"gl-mat4/scale":261,"gl-mat4/translate":262,"gl-vec3/normalize":337,"mat4-interpolate":410}],414:[function(t,e,r){"use strict";e.exports=function(t){var e=t.length;if(e<3){for(var r=new Array(e),i=0;i<e;++i)r[i]=i;return 2===e&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]?[0]:r}for(var a=new Array(e),i=0;i<e;++i)a[i]=i;a.sort(function(e,r){var n=t[e][0]-t[r][0];return n||t[e][1]-t[r][1]});for(var o=[a[0],a[1]],s=[a[0],a[1]],i=2;i<e;++i){for(var l=a[i],c=t[l],u=o.length;u>1&&n(t[o[u-2]],t[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(t[s[u-2]],t[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}for(var r=new Array(s.length+o.length-2),f=0,i=0,h=o.length;i<h;++i)r[f++]=o[i];for(var p=s.length-2;p>0;--p)r[f++]=s[p];return r};var n=t("robust-orientation")[3]},{"robust-orientation":483}],415:[function(t,e,r){"use strict";e.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||c!==i||u!==a||l(s))&&(r=0|t,i=c||0,a=u||0,e&&e(r,i,a,o))}function u(t){c(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function g(t){c(r&~n.buttons(t),t)}function m(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",g),t.addEventListener("mouseleave",u),t.addEventListener("mouseenter",u),t.addEventListener("mouseout",u),t.addEventListener("mouseover",u),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}m();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return s},set:function(e){e?m():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",g),t.removeEventListener("mouseleave",u),t.removeEventListener("mouseenter",u),t.removeEventListener("mouseout",u),t.removeEventListener("mouseover",u),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),v};var n=t("mouse-event")},{"mouse-event":417}],416:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var i=t.clientX||0,a=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=i-o.left,r[1]=a-o.top,r}},{}],417:[function(t,e,r){"use strict";function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<<e-1}else if("button"in t){var e;if(1===(e=t.button))return 4;if(2===e)return 2;if(e>=0)return 1<<e}}return 0},r.element=n,r.x=function(t){if("object"==typeof t){if("offsetX"in t)return t.offsetX;var e=n(t).getBoundingClientRect();return t.clientX-e.left}return 0},r.y=function(t){if("object"==typeof t){if("offsetY"in t)return t.offsetY;var e=n(t).getBoundingClientRect();return t.clientY-e.top}return 0}},{}],418:[function(t,e,r){"use strict";var n=t("to-px");e.exports=function(t,e,r){"function"==typeof t&&(r=!!e,e=t,t=window);var i=n("ex",t),a=function(t){r&&t.preventDefault();var n=t.deltaX||0,a=t.deltaY||0,o=t.deltaZ||0,s=t.deltaMode,l=1;switch(s){case 1:l=i;break;case 2:l=window.innerHeight}if(a*=l,o*=l,(n*=l)||a||o)return e(n,a,o,t)};return t.addEventListener("wheel",a),a}},{"to-px":513}],419:[function(t,e,r){"use strict";var n=t("typedarray-pool");function i(t){return"a"+t}function a(t){return"d"+t}function o(t,e){return"c"+t+"_"+e}function s(t){return"s"+t}function l(t,e){return"t"+t+"_"+e}function c(t){return"o"+t}function u(t){return"x"+t}function f(t){return"p"+t}function h(t,e){return"d"+t+"_"+e}function p(t){return"i"+t}function d(t,e){return"u"+t+"_"+e}function g(t){return"b"+t}function m(t){return"y"+t}function v(t){return"e"+t}function y(t){return"v"+t}e.exports=function(t){function e(t){throw new Error("ndarray-extract-contour: "+t)}"object"!=typeof t&&e("Must specify arguments");var r=t.order;Array.isArray(r)||e("Must specify order");var T=t.arrayArguments||1;T<1&&e("Must have at least one array argument");var S=t.scalarArguments||0;S<0&&e("Scalar arg count must be > 0");"function"!=typeof t.vertex&&e("Must specify vertex creation function");"function"!=typeof t.cell&&e("Must specify cell creation function");"function"!=typeof t.phase&&e("Must specify phase function");for(var E=t.getters||[],C=new Array(T),L=0;L<T;++L)E.indexOf(L)>=0?C[L]=!0:C[L]=!1;return function(t,e,r,T,S,E){var C=E.length,L=S.length;if(L<2)throw new Error("ndarray-extract-contour: Dimension must be at least 2");for(var z="extractContour"+S.join("_"),P=[],O=[],I=[],D=0;D<C;++D)I.push(i(D));for(var D=0;D<T;++D)I.push(u(D));for(var D=0;D<L;++D)O.push(s(D)+"="+i(0)+".shape["+D+"]|0");for(var D=0;D<C;++D){O.push(a(D)+"="+i(D)+".data",c(D)+"="+i(D)+".offset|0");for(var R=0;R<L;++R)O.push(l(D,R)+"="+i(D)+".stride["+R+"]|0")}for(var D=0;D<C;++D){O.push(f(D)+"="+c(D)),O.push(o(D,0));for(var R=1;R<1<<L;++R){for(var B=[],F=0;F<L;++F)R&1<<F&&B.push("-"+l(D,F));O.push(h(D,R)+"=("+B.join("")+")|0"),O.push(o(D,R)+"=0")}}for(var D=0;D<C;++D)for(var R=0;R<L;++R){var N=[l(D,S[R])];R>0&&N.push(l(D,S[R-1])+"*"+s(S[R-1])),O.push(d(D,S[R])+"=("+N.join("-")+")|0")}for(var D=0;D<L;++D)O.push(p(D)+"=0");O.push(_+"=0");for(var j=["2"],D=L-2;D>=0;--D)j.push(s(S[D]));O.push(w+"=("+j.join("*")+")|0",b+"=mallocUint32("+w+")",x+"=mallocUint32("+w+")",k+"=0"),O.push(g(0)+"=0");for(var R=1;R<1<<L;++R){for(var V=[],U=[],F=0;F<L;++F)R&1<<F&&(0===U.length?V.push("1"):V.unshift(U.join("*"))),U.push(s(S[F]));var q="";V[0].indexOf(s(S[L-2]))<0&&(q="-");var H=A(L,R,S);O.push(v(H)+"=(-"+V.join("-")+")|0",m(H)+"=("+q+V.join("-")+")|0",g(H)+"=0")}function G(t,e){P.push("for(",p(S[t]),"=",e,";",p(S[t]),"<",s(S[t]),";","++",p(S[t]),"){")}function W(t){for(var e=0;e<C;++e)P.push(f(e),"+=",d(e,S[t]),";");P.push("}")}function Y(){for(var t=1;t<1<<L;++t)P.push(M,"=",v(t),";",v(t),"=",m(t),";",m(t),"=",M,";")}O.push(y(0)+"=0",M+"=0"),function t(e,r){if(e<0)return void function(t){for(var e=0;e<C;++e)E[e]?P.push(o(e,0),"=",a(e),".get(",f(e),");"):P.push(o(e,0),"=",a(e),"[",f(e),"];");for(var r=[],e=0;e<C;++e)r.push(o(e,0));for(var e=0;e<T;++e)r.push(u(e));P.push(g(0),"=",b,"[",k,"]=phase(",r.join(),");");for(var n=1;n<1<<L;++n)P.push(g(n),"=",b,"[",k,"+",v(n),"];");for(var i=[],n=1;n<1<<L;++n)i.push("("+g(0)+"!=="+g(n)+")");P.push("if(",i.join("||"),"){");for(var s=[],e=0;e<L;++e)s.push(p(e));for(var e=0;e<C;++e){s.push(o(e,0));for(var n=1;n<1<<L;++n)E[e]?P.push(o(e,n),"=",a(e),".get(",f(e),"+",h(e,n),");"):P.push(o(e,n),"=",a(e),"[",f(e),"+",h(e,n),"];"),s.push(o(e,n))}for(var e=0;e<1<<L;++e)s.push(g(e));for(var e=0;e<T;++e)s.push(u(e));P.push("vertex(",s.join(),");",y(0),"=",x,"[",k,"]=",_,"++;");for(var l=(1<<L)-1,c=g(l),n=0;n<L;++n)if(0==(t&~(1<<n))){for(var d=l^1<<n,m=g(d),w=[],M=d;M>0;M=M-1&d)w.push(x+"["+k+"+"+v(M)+"]");w.push(y(0));for(var M=0;M<C;++M)1&n?w.push(o(M,l),o(M,d)):w.push(o(M,d),o(M,l));1&n?w.push(c,m):w.push(m,c);for(var M=0;M<T;++M)w.push(u(M));P.push("if(",c,"!==",m,"){","face(",w.join(),")}")}P.push("}",k,"+=1;")}(r);!function(t){for(var e=t-1;e>=0;--e)G(e,0);for(var r=[],e=0;e<C;++e)E[e]?r.push(a(e)+".get("+f(e)+")"):r.push(a(e)+"["+f(e)+"]");for(var e=0;e<T;++e)r.push(u(e));P.push(b,"[",k,"++]=phase(",r.join(),");");for(var e=0;e<t;++e)W(e);for(var n=0;n<C;++n)P.push(f(n),"+=",d(n,S[t]),";")}(e);P.push("if(",s(S[e]),">0){",p(S[e]),"=1;");t(e-1,r|1<<S[e]);for(var n=0;n<C;++n)P.push(f(n),"+=",d(n,S[e]),";");e===L-1&&(P.push(k,"=0;"),Y());G(e,2);t(e-1,r);e===L-1&&(P.push("if(",p(S[L-1]),"&1){",k,"=0;}"),Y());W(e);P.push("}")}(L-1,0),P.push("freeUint32(",x,");freeUint32(",b,");");var X=["'use strict';","function ",z,"(",I.join(),"){","var ",O.join(),";",P.join(""),"}","return ",z].join("");return new Function("vertex","face","phase","mallocUint32","freeUint32",X)(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,S,r,C)};var x="V",b="P",_="N",w="Q",k="X",M="T";function A(t,e,r){for(var n=0,i=0;i<t;++i)e&1<<i&&(n|=1<<r[i]);return n}},{"typedarray-pool":519}],420:[function(t,e,r){"use strict";var n=t("cwise/lib/wrapper")({args:["index","array","scalar"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{_inline_1_arg1_=_inline_1_arg2_.apply(void 0,_inline_1_arg0_)}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"cwise",blockSize:64});e.exports=function(t,e){return n(t,e),t}},{"cwise/lib/wrapper":136}],421:[function(t,e,r){"use strict";e.exports=function(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error("ndarray-gradient: invalid boundary conditions")}else r=n(e.dimension,"string"==typeof r?r:"clamp");if(t.dimension!==e.dimension+1)throw new Error("ndarray-gradient: output dimension must be +1 input dimension");if(t.shape[e.dimension]!==e.dimension)throw new Error("ndarray-gradient: output shape must match input shape");for(var i=0;i<e.dimension;++i)if(t.shape[i]!==e.shape[i])throw new Error("ndarray-gradient: shape mismatch");if(0===e.size)return t;if(e.dimension<=0)return t.set(0),t;return function(t){var e=t.join();if(v=o[e])return v;var r=t.length,n=["function gradient(dst,src){var s=src.shape.slice();"];function i(e){for(var i=r-e.length,a=[],o=[],s=[],l=0;l<r;++l)e.indexOf(l+1)>=0?s.push("0"):e.indexOf(-(l+1))>=0?s.push("s["+l+"]-1"):(s.push("-1"),a.push("1"),o.push("s["+l+"]-2"));var c=".lo("+a.join()+").hi("+o.join()+")";if(0===a.length&&(c=""),i>0){n.push("if(1");for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push("&&s[",l,"]>2");n.push("){grad",i,"(src.pick(",s.join(),")",c);for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(",dst.pick(",s.join(),",",l,")",c);n.push(");")}for(var l=0;l<e.length;++l){var u=Math.abs(e[l])-1,f="dst.pick("+s.join()+","+u+")"+c;switch(t[u]){case"clamp":var h=s.slice(),p=s.slice();e[l]<0?h[u]="s["+u+"]-2":p[u]="1",0===i?n.push("if(s[",u,"]>1){dst.set(",s.join(),",",u,",0.5*(src.get(",h.join(),")-src.get(",p.join(),")))}else{dst.set(",s.join(),",",u,",0)};"):n.push("if(s[",u,"]>1){diff(",f,",src.pick(",h.join(),")",c,",src.pick(",p.join(),")",c,");}else{zero(",f,");};");break;case"mirror":0===i?n.push("dst.set(",s.join(),",",u,",0);"):n.push("zero(",f,");");break;case"wrap":var d=s.slice(),g=s.slice();e[l]<0?(d[u]="s["+u+"]-2",g[u]="0"):(d[u]="s["+u+"]-1",g[u]="1"),0===i?n.push("if(s[",u,"]>2){dst.set(",s.join(),",",u,",0.5*(src.get(",d.join(),")-src.get(",g.join(),")))}else{dst.set(",s.join(),",",u,",0)};"):n.push("if(s[",u,"]>2){diff(",f,",src.pick(",d.join(),")",c,",src.pick(",g.join(),")",c,");}else{zero(",f,");};");break;default:throw new Error("ndarray-gradient: Invalid boundary condition")}}i>0&&n.push("};")}for(var s=0;s<1<<r;++s){for(var f=[],h=0;h<r;++h)s&1<<h&&f.push(h+1);for(var p=0;p<1<<f.length;++p){for(var d=f.slice(),h=0;h<f.length;++h)p&1<<h&&(d[h]=-d[h]);i(d)}}n.push("return dst;};return gradient");for(var g=["diff","zero"],m=[l,c],s=1;s<=r;++s)g.push("grad"+s),m.push(u(s));g.push(n.join(""));var v=Function.apply(void 0,g).apply(void 0,m);return a[e]=v,v}(r)(t,e)};var n=t("dup"),i=t("cwise-compiler"),a={},o={},s={body:"",args:[],thisVars:[],localVars:[]},l=i({args:["array","array","array"],pre:s,post:s,body:{args:[{name:"out",lvalue:!0,rvalue:!1,count:1},{name:"left",lvalue:!1,rvalue:!0,count:1},{name:"right",lvalue:!1,rvalue:!0,count:1}],body:"out=0.5*(left-right)",thisVars:[],localVars:[]},funcName:"cdiff"}),c=i({args:["array"],pre:s,post:s,body:{args:[{name:"out",lvalue:!0,rvalue:!1,count:1}],body:"out=0",thisVars:[],localVars:[]},funcName:"zero"});function u(t){if(t in a)return a[t];for(var e=[],r=0;r<t;++r)e.push("out",r,"s=0.5*(inp",r,"l-inp",r,"r);");var o=["array"],l=["junk"];for(r=0;r<t;++r){o.push("array"),l.push("out"+r+"s");var c=n(t);c[r]=-1,o.push({array:0,offset:c.slice()}),c[r]=1,o.push({array:0,offset:c.slice()}),l.push("inp"+r+"l","inp"+r+"r")}return a[t]=i({args:o,pre:s,post:s,body:{body:e.join(""),args:l.map(function(t){return{name:t,lvalue:0===t.indexOf("out"),rvalue:0===t.indexOf("inp"),count:"junk"!==t|0}}),thisVars:[],localVars:[]},funcName:"fdTemplate"+t})}},{"cwise-compiler":133,dup:154}],422:[function(t,e,r){"use strict";var n=t("ndarray-warp"),i=t("gl-matrix-invert");e.exports=function(t,e,r){var a=e.dimension,o=i([],r);return n(t,e,function(t,e){for(var r=0;r<a;++r){t[r]=o[(a+1)*a+r];for(var n=0;n<a;++n)t[r]+=o[(a+1)*n+r]*e[n]}var i=o[(a+1)*(a+1)-1];for(n=0;n<a;++n)i+=o[(a+1)*n+a]*e[n];var s=1/i;for(r=0;r<a;++r)t[r]*=s;return t}),t}},{"gl-matrix-invert":264,"ndarray-warp":429}],423:[function(t,e,r){"use strict";function n(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r<t.shape[0],a=0<=r+1&&r+1<t.shape[0];return(1-n)*(i?+t.get(r):0)+n*(a?+t.get(r+1):0)}function i(t,e,r){var n=Math.floor(e),i=e-n,a=0<=n&&n<t.shape[0],o=0<=n+1&&n+1<t.shape[0],s=Math.floor(r),l=r-s,c=0<=s&&s<t.shape[1],u=0<=s+1&&s+1<t.shape[1],f=a&&c?t.get(n,s):0,h=a&&u?t.get(n,s+1):0;return(1-l)*((1-i)*f+i*(o&&c?t.get(n+1,s):0))+l*((1-i)*h+i*(o&&u?t.get(n+1,s+1):0))}function a(t,e,r,n){var i=Math.floor(e),a=e-i,o=0<=i&&i<t.shape[0],s=0<=i+1&&i+1<t.shape[0],l=Math.floor(r),c=r-l,u=0<=l&&l<t.shape[1],f=0<=l+1&&l+1<t.shape[1],h=Math.floor(n),p=n-h,d=0<=h&&h<t.shape[2],g=0<=h+1&&h+1<t.shape[2],m=o&&u&&d?t.get(i,l,h):0,v=o&&f&&d?t.get(i,l+1,h):0,y=s&&u&&d?t.get(i+1,l,h):0,x=s&&f&&d?t.get(i+1,l+1,h):0,b=o&&u&&g?t.get(i,l,h+1):0,_=o&&f&&g?t.get(i,l+1,h+1):0;return(1-p)*((1-c)*((1-a)*m+a*y)+c*((1-a)*v+a*x))+p*((1-c)*((1-a)*b+a*(s&&u&&g?t.get(i+1,l,h+1):0))+c*((1-a)*_+a*(s&&f&&g?t.get(i+1,l+1,h+1):0)))}e.exports=function(t,e,r,o){switch(t.shape.length){case 0:return 0;case 1:return n(t,e);case 2:return i(t,e,r);case 3:return a(t,e,r,o);default:return function(t){var e,r,n=0|t.shape.length,i=new Array(n),a=new Array(n),o=new Array(n),s=new Array(n);for(e=0;e<n;++e)r=+arguments[e+1],i[e]=Math.floor(r),a[e]=r-i[e],o[e]=0<=i[e]&&i[e]<t.shape[e],s[e]=0<=i[e]+1&&i[e]+1<t.shape[e];var l,c,u,f=0;t:for(e=0;e<1<<n;++e){for(c=1,u=t.offset,l=0;l<n;++l)if(e&1<<l){if(!s[l])continue t;c*=a[l],u+=t.stride[l]*(i[l]+1)}else{if(!o[l])continue t;c*=1-a[l],u+=t.stride[l]*i[l]}f+=c*t.data[u]}return f}.apply(void 0,arguments)}},e.exports.d1=n,e.exports.d2=i,e.exports.d3=a},{}],424:[function(t,e,r){"use strict";var n=t("cwise-compiler"),i={body:"",args:[],thisVars:[],localVars:[]};function a(t){if(!t)return i;for(var e=0;e<t.args.length;++e){var r=t.args[e];t.args[e]=0===e?{name:r,lvalue:!0,rvalue:!!t.rvalue,count:t.count||1}:{name:r,lvalue:!1,rvalue:!0,count:1}}return t.thisVars||(t.thisVars=[]),t.localVars||(t.localVars=[]),t}function o(t){for(var e=[],r=0;r<t.args.length;++r)e.push("a"+r);return new Function("P",["return function ",t.funcName,"_ndarrayops(",e.join(","),") {P(",e.join(","),");return a0}"].join(""))(function(t){return n({args:t.args,pre:a(t.pre),body:a(t.body),post:a(t.proc),funcName:t.funcName})}(t))}var s={add:"+",sub:"-",mul:"*",div:"/",mod:"%",band:"&",bor:"|",bxor:"^",lshift:"<<",rshift:">>",rrshift:">>>"};!function(){for(var t in s){var e=s[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a"+e+"=b"},rvalue:!0,funcName:t+"eq"}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a"+e+"=s"},rvalue:!0,funcName:t+"seq"})}}();var l={not:"!",bnot:"~",neg:"-",recip:"1.0/"};!function(){for(var t in l){var e=l[t];r[t]=o({args:["array","array"],body:{args:["a","b"],body:"a="+e+"b"},funcName:t}),r[t+"eq"]=o({args:["array"],body:{args:["a"],body:"a="+e+"a"},rvalue:!0,count:2,funcName:t+"eq"})}}();var c={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};!function(){for(var t in c){var e=c[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a=a"+e+"b"},rvalue:!0,count:2,funcName:t+"eq"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a=a"+e+"s"},rvalue:!0,count:2,funcName:t+"seq"})}}();var u=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];!function(){for(var t=0;t<u.length;++t){var e=u[t];r[e]=o({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b)",thisVars:["this_f"]},funcName:e}),r[e+"eq"]=o({args:["array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a"],body:"a=this_f(a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"eq"})}}();var f=["max","min","atan2","pow"];!function(){for(var t=0;t<f.length;++t){var e=f[t];r[e]=o({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:e}),r[e+"s"]=o({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:e+"s"}),r[e+"eq"]=o({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"eq"}),r[e+"seq"]=o({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"seq"})}}();var h=["atan2","pow"];!function(){for(var t=0;t<h.length;++t){var e=h[t];r[e+"op"]=o({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:e+"op"}),r[e+"ops"]=o({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:e+"ops"}),r[e+"opeq"]=o({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"opeq"}),r[e+"opseq"]=o({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"opseq"})}}(),r.any=n({args:["array"],pre:i,body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"if(a){return true}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return false"},funcName:"any"}),r.all=n({args:["array"],pre:i,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1}],body:"if(!x){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"all"}),r.sum=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"this_s+=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"sum"}),r.prod=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=1"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"this_s*=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"prod"}),r.norm2squared=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm2squared"}),r.norm2=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return Math.sqrt(this_s)"},funcName:"norm2"}),r.norminf=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:4}],body:"if(-a>this_s){this_s=-a}else if(a>this_s){this_s=a}",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norminf"}),r.norm1=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:3}],body:"this_s+=a<0?-a:a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm1"}),r.sup=n({args:["array"],pre:{body:"this_h=-Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),r.inf=n({args:["array"],pre:{body:"this_h=Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_<this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),r.argmin=n({args:["index","array","shape"],pre:{body:"{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_<this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),r.argmax=n({args:["index","array","shape"],pre:{body:"{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_>this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),r.random=o({args:["array"],pre:{args:[],body:"this_f=Math.random",thisVars:["this_f"]},body:{args:["a"],body:"a=this_f()",thisVars:["this_f"]},funcName:"random"}),r.assign=o({args:["array","array"],body:{args:["a","b"],body:"a=b"},funcName:"assign"}),r.assigns=o({args:["array","scalar"],body:{args:["a","b"],body:"a=b"},funcName:"assigns"}),r.equals=n({args:["array","array"],pre:i,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1},{name:"y",lvalue:!1,rvalue:!0,count:1}],body:"if(x!==y){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"equals"})},{"cwise-compiler":133}],425:[function(t,e,r){"use strict";var n=t("ndarray"),i=t("./doConvert.js");e.exports=function(t,e){for(var r=[],a=t,o=1;Array.isArray(a);)r.push(a.length),o*=a.length,a=a[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),i(e,t),e)}},{"./doConvert.js":426,ndarray:430}],426:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}",args:[{name:"_inline_1_arg0_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:["_inline_1_i","_inline_1_v"]},post:{body:"{}",args:[],thisVars:[],localVars:[]},funcName:"convert",blockSize:64})},{"cwise-compiler":133}],427:[function(t,e,r){"use strict";var n=t("typedarray-pool"),i=32;function a(t){switch(t){case"uint8":return[n.mallocUint8,n.freeUint8];case"uint16":return[n.mallocUint16,n.freeUint16];case"uint32":return[n.mallocUint32,n.freeUint32];case"int8":return[n.mallocInt8,n.freeInt8];case"int16":return[n.mallocInt16,n.freeInt16];case"int32":return[n.mallocInt32,n.freeInt32];case"float32":return[n.mallocFloat,n.freeFloat];case"float64":return[n.mallocDouble,n.freeDouble];default:return null}}function o(t){for(var e=[],r=0;r<t;++r)e.push("s"+r);for(r=0;r<t;++r)e.push("n"+r);for(r=1;r<t;++r)e.push("d"+r);for(r=1;r<t;++r)e.push("e"+r);for(r=1;r<t;++r)e.push("f"+r);return e}e.exports=function(t,e){var r=["'use strict'"],n=["ndarraySortWrapper",t.join("d"),e].join("");r.push(["function ",n,"(",["array"].join(","),"){"].join(""));for(var s=["data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride"],l=0;l<t.length;++l)s.push(["s",l,"=stride[",l,"]|0,n",l,"=shape[",l,"]|0"].join(""));var c=new Array(t.length),u=[];for(l=0;l<t.length;++l)0!==(p=t[l])&&(0===u.length?c[p]="1":c[p]=u.join("*"),u.push("n"+p));var f=-1,h=-1;for(l=0;l<t.length;++l){var p,d=t[l];0!==d&&(f>0?s.push(["d",d,"=s",d,"-d",f,"*n",f].join("")):s.push(["d",d,"=s",d].join("")),f=d),0!=(p=t.length-1-l)&&(h>0?s.push(["e",p,"=s",p,"-e",h,"*n",h,",f",p,"=",c[p],"-f",h,"*n",h].join("")):s.push(["e",p,"=s",p,",f",p,"=",c[p]].join("")),h=p)}r.push("var "+s.join(","));var g=["0","n0-1","data","offset"].concat(o(t.length));r.push(["if(n0<=",i,"){","insertionSort(",g.join(","),")}else{","quickSort(",g.join(","),")}"].join("")),r.push("}return "+n);var m=new Function("insertionSort","quickSort",r.join("\n")),v=function(t,e){var r=["'use strict'"],n=["ndarrayInsertionSort",t.join("d"),e].join(""),i=["left","right","data","offset"].concat(o(t.length)),s=a(e),l=["i,j,cptr,ptr=left*s0+offset"];if(t.length>1){for(var c=[],u=1;u<t.length;++u)l.push("i"+u),c.push("n"+u);s?l.push("scratch=malloc("+c.join("*")+")"):l.push("scratch=new Array("+c.join("*")+")"),l.push("dptr","sptr","a","b")}else l.push("scratch");function f(t){return"generic"===e?["data.get(",t,")"].join(""):["data[",t,"]"].join("")}function h(t,r){return"generic"===e?["data.set(",t,",",r,")"].join(""):["data[",t,"]=",r].join("")}if(r.push(["function ",n,"(",i.join(","),"){var ",l.join(",")].join(""),"for(i=left+1;i<=right;++i){","j=i;ptr+=s0","cptr=ptr"),t.length>1){for(r.push("dptr=0;sptr=ptr"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"<n",p,";++i",p,"){"].join(""));for(r.push("scratch[dptr++]=",f("sptr")),u=0;u<t.length;++u)0!==(p=t[u])&&r.push("sptr+=d"+p,"}");for(r.push("__g:while(j--\x3eleft){","dptr=0","sptr=cptr-s0"),u=1;u<t.length;++u)1===u&&r.push("__l:"),r.push(["for(i",u,"=0;i",u,"<n",u,";++i",u,"){"].join(""));for(r.push(["a=",f("sptr"),"\nb=scratch[dptr]\nif(a<b){break __g}\nif(a>b){break __l}"].join("")),u=t.length-1;u>=1;--u)r.push("sptr+=e"+u,"dptr+=f"+u,"}");for(r.push("dptr=cptr;sptr=cptr-s0"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"<n",p,";++i",p,"){"].join(""));for(r.push(h("dptr",f("sptr"))),u=0;u<t.length;++u)0!==(p=t[u])&&r.push(["dptr+=d",p,";sptr+=d",p].join(""),"}");for(r.push("cptr-=s0\n}"),r.push("dptr=cptr;sptr=0"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"<n",p,";++i",p,"){"].join(""));for(r.push(h("dptr","scratch[sptr++]")),u=0;u<t.length;++u){var p;0!==(p=t[u])&&r.push("dptr+=d"+p,"}")}}else r.push("scratch="+f("ptr"),"while((j--\x3eleft)&&("+f("cptr-s0")+">scratch)){",h("cptr",f("cptr-s0")),"cptr-=s0","}",h("cptr","scratch"));return r.push("}"),t.length>1&&s&&r.push("free(scratch)"),r.push("} return "+n),s?new Function("malloc","free",r.join("\n"))(s[0],s[1]):new Function(r.join("\n"))()}(t,e),y=function(t,e,r){var n=["'use strict'"],s=["ndarrayQuickSort",t.join("d"),e].join(""),l=["left","right","data","offset"].concat(o(t.length)),c=a(e),u=0;n.push(["function ",s,"(",l.join(","),"){"].join(""));var f=["sixth=((right-left+1)/6)|0","index1=left+sixth","index5=right-sixth","index3=(left+right)>>1","index2=index3-sixth","index4=index3+sixth","el1=index1","el2=index2","el3=index3","el4=index4","el5=index5","less=left+1","great=right-1","pivots_are_equal=true","tmp","tmp0","x","y","z","k","ptr0","ptr1","ptr2","comp_pivot1=0","comp_pivot2=0","comp=0"];if(t.length>1){for(var h=[],p=1;p<t.length;++p)h.push("n"+p),f.push("i"+p);for(p=0;p<8;++p)f.push("b_ptr"+p);f.push("ptr3","ptr4","ptr5","ptr6","ptr7","pivot_ptr","ptr_shift","elementSize="+h.join("*")),c?f.push("pivot1=malloc(elementSize)","pivot2=malloc(elementSize)"):f.push("pivot1=new Array(elementSize),pivot2=new Array(elementSize)")}else f.push("pivot1","pivot2");function d(t){return["(offset+",t,"*s0)"].join("")}function g(t){return"generic"===e?["data.get(",t,")"].join(""):["data[",t,"]"].join("")}function m(t,r){return"generic"===e?["data.set(",t,",",r,")"].join(""):["data[",t,"]=",r].join("")}function v(e,r,i){if(1===e.length)n.push("ptr0="+d(e[0]));else for(var a=0;a<e.length;++a)n.push(["b_ptr",a,"=s0*",e[a]].join(""));for(r&&n.push("pivot_ptr=0"),n.push("ptr_shift=offset"),a=t.length-1;a>=0;--a)0!==(o=t[a])&&n.push(["for(i",o,"=0;i",o,"<n",o,";++i",o,"){"].join(""));if(e.length>1)for(a=0;a<e.length;++a)n.push(["ptr",a,"=b_ptr",a,"+ptr_shift"].join(""));for(n.push(i),r&&n.push("++pivot_ptr"),a=0;a<t.length;++a){var o;0!==(o=t[a])&&(e.length>1?n.push("ptr_shift+=d"+o):n.push("ptr0+=d"+o),n.push("}"))}}function y(e,r,i,a){if(1===r.length)n.push("ptr0="+d(r[0]));else{for(var o=0;o<r.length;++o)n.push(["b_ptr",o,"=s0*",r[o]].join(""));n.push("ptr_shift=offset")}for(i&&n.push("pivot_ptr=0"),e&&n.push(e+":"),o=1;o<t.length;++o)n.push(["for(i",o,"=0;i",o,"<n",o,";++i",o,"){"].join(""));if(r.length>1)for(o=0;o<r.length;++o)n.push(["ptr",o,"=b_ptr",o,"+ptr_shift"].join(""));for(n.push(a),o=t.length-1;o>=1;--o)i&&n.push("pivot_ptr+=f"+o),r.length>1?n.push("ptr_shift+=e"+o):n.push("ptr0+=e"+o),n.push("}")}function x(){t.length>1&&c&&n.push("free(pivot1)","free(pivot2)")}function b(e,r){var i="el"+e,a="el"+r;if(t.length>1){var o="__l"+ ++u;y(o,[i,a],!1,["comp=",g("ptr0"),"-",g("ptr1"),"\n","if(comp>0){tmp0=",i,";",i,"=",a,";",a,"=tmp0;break ",o,"}\n","if(comp<0){break ",o,"}"].join(""))}else n.push(["if(",g(d(i)),">",g(d(a)),"){tmp0=",i,";",i,"=",a,";",a,"=tmp0}"].join(""))}function _(e,r){t.length>1?v([e,r],!1,m("ptr0",g("ptr1"))):n.push(m(d(e),g(d(r))))}function w(e,r,i){if(t.length>1){var a="__l"+ ++u;y(a,[r],!0,[e,"=",g("ptr0"),"-pivot",i,"[pivot_ptr]\n","if(",e,"!==0){break ",a,"}"].join(""))}else n.push([e,"=",g(d(r)),"-pivot",i].join(""))}function k(e,r){t.length>1?v([e,r],!1,["tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1","tmp")].join("")):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1","tmp")].join(""))}function M(e,r,i){t.length>1?(v([e,r,i],!1,["tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1",g("ptr2")),"\n",m("ptr2","tmp")].join("")),n.push("++"+r,"--"+i)):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","ptr2=",d(i),"\n","++",r,"\n","--",i,"\n","tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1",g("ptr2")),"\n",m("ptr2","tmp")].join(""))}function A(t,e){k(t,e),n.push("--"+e)}function T(e,r,i){t.length>1?v([e,r],!0,[m("ptr0",g("ptr1")),"\n",m("ptr1",["pivot",i,"[pivot_ptr]"].join(""))].join("")):n.push(m(d(e),g(d(r))),m(d(r),"pivot"+i))}function S(e,r){n.push(["if((",r,"-",e,")<=",i,"){\n","insertionSort(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}else{\n",s,"(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}"].join(""))}function E(e,r,i){t.length>1?(n.push(["__l",++u,":while(true){"].join("")),v([e],!0,["if(",g("ptr0"),"!==pivot",r,"[pivot_ptr]){break __l",u,"}"].join("")),n.push(i,"}")):n.push(["while(",g(d(e)),"===pivot",r,"){",i,"}"].join(""))}return n.push("var "+f.join(",")),b(1,2),b(4,5),b(1,3),b(2,3),b(1,4),b(3,4),b(2,5),b(2,3),b(4,5),t.length>1?v(["el1","el2","el3","el4","el5","index1","index3","index5"],!0,["pivot1[pivot_ptr]=",g("ptr1"),"\n","pivot2[pivot_ptr]=",g("ptr3"),"\n","pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\n","x=",g("ptr0"),"\n","y=",g("ptr2"),"\n","z=",g("ptr4"),"\n",m("ptr5","x"),"\n",m("ptr6","y"),"\n",m("ptr7","z")].join("")):n.push(["pivot1=",g(d("el2")),"\n","pivot2=",g(d("el4")),"\n","pivots_are_equal=pivot1===pivot2\n","x=",g(d("el1")),"\n","y=",g(d("el3")),"\n","z=",g(d("el5")),"\n",m(d("index1"),"x"),"\n",m(d("index3"),"y"),"\n",m(d("index5"),"z")].join("")),_("index2","left"),_("index4","right"),n.push("if(pivots_are_equal){"),n.push("for(k=less;k<=great;++k){"),w("comp","k",1),n.push("if(comp===0){continue}"),n.push("if(comp<0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),n.push("while(true){"),w("comp","great",1),n.push("if(comp>0){"),n.push("great--"),n.push("}else if(comp<0){"),M("k","less","great"),n.push("break"),n.push("}else{"),A("k","great"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}else{"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1<0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2>0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp>0){"),n.push("if(--great<k){break}"),n.push("continue"),n.push("}else{"),w("comp","great",1),n.push("if(comp<0){"),M("k","less","great"),n.push("}else{"),A("k","great"),n.push("}"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),T("left","(less-1)",1),T("right","(great+1)",2),S("left","(less-2)"),S("(great+2)","right"),n.push("if(pivots_are_equal){"),x(),n.push("return"),n.push("}"),n.push("if(less<index1&&great>index5){"),E("less",1,"++less"),E("great",2,"--great"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1===0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2===0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp===0){"),n.push("if(--great<k){break}"),n.push("continue"),n.push("}else{"),w("comp","great",1),n.push("if(comp<0){"),M("k","less","great"),n.push("}else{"),A("k","great"),n.push("}"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),x(),S("less","great"),n.push("}return "+s),t.length>1&&c?new Function("insertionSort","malloc","free",n.join("\n"))(r,c[0],c[1]):new Function("insertionSort",n.join("\n"))(r)}(t,e,v);return m(v,y)}},{"typedarray-pool":519}],428:[function(t,e,r){"use strict";var n=t("./lib/compile_sort.js"),i={};e.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(":"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},{"./lib/compile_sort.js":427}],429:[function(t,e,r){"use strict";var n=t("ndarray-linear-interpolate"),i=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=new Array(_inline_3_arg4_)}",args:[{name:"_inline_3_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg2_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg3_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_4_arg2_(this_warped,_inline_4_arg0_),_inline_4_arg1_=_inline_4_arg3_.apply(void 0,this_warped)}",args:[{name:"_inline_4_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_4_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg4_",lvalue:!1,rvalue:!1,count:0}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warpND",blockSize:64}),a=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_7_arg2_(this_warped,_inline_7_arg0_),_inline_7_arg1_=_inline_7_arg3_(_inline_7_arg4_,this_warped[0])}",args:[{name:"_inline_7_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_7_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp1D",blockSize:64}),o=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0,0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_(_inline_10_arg4_,this_warped[0],this_warped[1])}",args:[{name:"_inline_10_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_10_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp2D",blockSize:64}),s=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0,0,0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0],this_warped[1],this_warped[2])}",args:[{name:"_inline_13_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_13_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp3D",blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:a(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:i(t,r,n.bind(void 0,e),e.shape.length)}return t}},{"cwise/lib/wrapper":136,"ndarray-linear-interpolate":423}],430:[function(t,e,r){var n=t("iota-array"),i=t("is-buffer"),a="undefined"!=typeof Float64Array;function o(t,e){return t[0]-e[0]}function s(){var t,e=this.stride,r=new Array(e.length);for(t=0;t<r.length;++t)r[t]=[Math.abs(e[t]),t];r.sort(o);var n=new Array(r.length);for(t=0;t<n.length;++t)n[t]=r[t][1];return n}function l(t,e){var r=["View",e,"d",t].join("");e<0&&(r="View_Nil"+t);var i="generic"===t;if(-1===e){var a="function "+r+"(a){this.data=a;};var proto="+r+".prototype;proto.dtype='"+t+"';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new "+r+"(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_"+r+"(a){return new "+r+"(a);}";return new Function(a)()}if(0===e){a="function "+r+"(a,d) {this.data = a;this.offset = d};var proto="+r+".prototype;proto.dtype='"+t+"';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function "+r+"_copy() {return new "+r+"(this.data,this.offset)};proto.pick=function "+r+"_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function "+r+"_get(){return "+(i?"this.data.get(this.offset)":"this.data[this.offset]")+"};proto.set=function "+r+"_set(v){return "+(i?"this.data.set(this.offset,v)":"this.data[this.offset]=v")+"};return function construct_"+r+"(a,b,c,d){return new "+r+"(a,d)}";return new Function("TrivialArray",a)(c[t][0])}a=["'use strict'"];var o=n(e),l=o.map(function(t){return"i"+t}),u="this.offset+"+o.map(function(t){return"this.stride["+t+"]*i"+t}).join("+"),f=o.map(function(t){return"b"+t}).join(","),h=o.map(function(t){return"c"+t}).join(",");a.push("function "+r+"(a,"+f+","+h+",d){this.data=a","this.shape=["+f+"]","this.stride=["+h+"]","this.offset=d|0}","var proto="+r+".prototype","proto.dtype='"+t+"'","proto.dimension="+e),a.push("Object.defineProperty(proto,'size',{get:function "+r+"_size(){return "+o.map(function(t){return"this.shape["+t+"]"}).join("*"),"}})"),1===e?a.push("proto.order=[0]"):(a.push("Object.defineProperty(proto,'order',{get:"),e<4?(a.push("function "+r+"_order(){"),2===e?a.push("return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})"):3===e&&a.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")):a.push("ORDER})")),a.push("proto.set=function "+r+"_set("+l.join(",")+",v){"),i?a.push("return this.data.set("+u+",v)}"):a.push("return this.data["+u+"]=v}"),a.push("proto.get=function "+r+"_get("+l.join(",")+"){"),i?a.push("return this.data.get("+u+")}"):a.push("return this.data["+u+"]}"),a.push("proto.index=function "+r+"_index(",l.join(),"){return "+u+"}"),a.push("proto.hi=function "+r+"_hi("+l.join(",")+"){return new "+r+"(this.data,"+o.map(function(t){return["(typeof i",t,"!=='number'||i",t,"<0)?this.shape[",t,"]:i",t,"|0"].join("")}).join(",")+","+o.map(function(t){return"this.stride["+t+"]"}).join(",")+",this.offset)}");var p=o.map(function(t){return"a"+t+"=this.shape["+t+"]"}),d=o.map(function(t){return"c"+t+"=this.stride["+t+"]"});a.push("proto.lo=function "+r+"_lo("+l.join(",")+"){var b=this.offset,d=0,"+p.join(",")+","+d.join(","));for(var g=0;g<e;++g)a.push("if(typeof i"+g+"==='number'&&i"+g+">=0){d=i"+g+"|0;b+=c"+g+"*d;a"+g+"-=d}");a.push("return new "+r+"(this.data,"+o.map(function(t){return"a"+t}).join(",")+","+o.map(function(t){return"c"+t}).join(",")+",b)}"),a.push("proto.step=function "+r+"_step("+l.join(",")+"){var "+o.map(function(t){return"a"+t+"=this.shape["+t+"]"}).join(",")+","+o.map(function(t){return"b"+t+"=this.stride["+t+"]"}).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(g=0;g<e;++g)a.push("if(typeof i"+g+"==='number'){d=i"+g+"|0;if(d<0){c+=b"+g+"*(a"+g+"-1);a"+g+"=ceil(-a"+g+"/d)}else{a"+g+"=ceil(a"+g+"/d)}b"+g+"*=d}");a.push("return new "+r+"(this.data,"+o.map(function(t){return"a"+t}).join(",")+","+o.map(function(t){return"b"+t}).join(",")+",c)}");var m=new Array(e),v=new Array(e);for(g=0;g<e;++g)m[g]="a[i"+g+"]",v[g]="b[i"+g+"]";a.push("proto.transpose=function "+r+"_transpose("+l+"){"+l.map(function(t,e){return t+"=("+t+"===undefined?"+e+":"+t+"|0)"}).join(";"),"var a=this.shape,b=this.stride;return new "+r+"(this.data,"+m.join(",")+","+v.join(",")+",this.offset)}"),a.push("proto.pick=function "+r+"_pick("+l+"){var a=[],b=[],c=this.offset");for(g=0;g<e;++g)a.push("if(typeof i"+g+"==='number'&&i"+g+">=0){c=(c+this.stride["+g+"]*i"+g+")|0}else{a.push(this.shape["+g+"]);b.push(this.stride["+g+"])}");return a.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),a.push("return function construct_"+r+"(data,shape,stride,offset){return new "+r+"(data,"+o.map(function(t){return"shape["+t+"]"}).join(",")+","+o.map(function(t){return"stride["+t+"]"}).join(",")+",offset)}"),new Function("CTOR_LIST","ORDER",a.join("\n"))(c[t],s)}var c={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};e.exports=function(t,e,r,n){if(void 0===t)return(0,c.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,u=1;s>=0;--s)r[s]=u,u*=e[s]}if(void 0===n)for(n=0,s=0;s<o;++s)r[s]<0&&(n-=(e[s]-1)*r[s]);for(var f=function(t){if(i(t))return"buffer";if(a)switch(Object.prototype.toString.call(t)){case"[object Float64Array]":return"float64";case"[object Float32Array]":return"float32";case"[object Int8Array]":return"int8";case"[object Int16Array]":return"int16";case"[object Int32Array]":return"int32";case"[object Uint8Array]":return"uint8";case"[object Uint16Array]":return"uint16";case"[object Uint32Array]":return"uint32";case"[object Uint8ClampedArray]":return"uint8_clamped"}return Array.isArray(t)?"array":"generic"}(t),h=c[f];h.length<=o+1;)h.push(l(f,h.length-1));return(0,h[o+1])(t,e,r,n)}},{"iota-array":397,"is-buffer":399}],431:[function(t,e,r){"use strict";var n=t("double-bits"),i=Math.pow(2,-1074),a=-1>>>0;e.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),o=n.lo(t);e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1;return n.pack(o,r)}},{"double-bits":151}],432:[function(t,e,r){var n=Math.PI,i=c(120);function a(t,e,r,n){return["C",t,e,r,n,r,n]}function o(t,e,r,n,i,a){return["C",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function s(t,e,r,a,o,c,u,f,h,p){if(p)k=p[0],M=p[1],_=p[2],w=p[3];else{var d=l(t,e,-o);t=d.x,e=d.y;var g=(t-(f=(d=l(f,h,-o)).x))/2,m=(e-(h=d.y))/2,v=g*g/(r*r)+m*m/(a*a);v>1&&(r*=v=Math.sqrt(v),a*=v);var y=r*r,x=a*a,b=(c==u?-1:1)*Math.sqrt(Math.abs((y*x-y*m*m-x*g*g)/(y*m*m+x*g*g)));b==1/0&&(b=1);var _=b*r*m/a+(t+f)/2,w=b*-a*g/r+(e+h)/2,k=Math.asin(((e-w)/a).toFixed(9)),M=Math.asin(((h-w)/a).toFixed(9));(k=t<_?n-k:k)<0&&(k=2*n+k),(M=f<_?n-M:M)<0&&(M=2*n+M),u&&k>M&&(k-=2*n),!u&&M>k&&(M-=2*n)}if(Math.abs(M-k)>i){var A=M,T=f,S=h;M=k+i*(u&&M>k?1:-1);var E=s(f=_+r*Math.cos(M),h=w+a*Math.sin(M),r,a,o,0,u,T,S,[M,A,_,w])}var C=Math.tan((M-k)/4),L=4/3*r*C,z=4/3*a*C,P=[2*t-(t+L*Math.sin(k)),2*e-(e-z*Math.cos(k)),f+L*Math.sin(M),h-z*Math.cos(M),f,h];if(p)return P;E&&(P=P.concat(E));for(var O=0;O<P.length;){var I=l(P[O],P[O+1],o);P[O++]=I.x,P[O++]=I.y}return P}function l(t,e,r){return{x:t*Math.cos(r)-e*Math.sin(r),y:t*Math.sin(r)+e*Math.cos(r)}}function c(t){return t*(n/180)}e.exports=function(t){for(var e,r=[],n=0,i=0,l=0,u=0,f=null,h=null,p=0,d=0,g=0,m=t.length;g<m;g++){var v=t[g],y=v[0];switch(y){case"M":l=v[1],u=v[2];break;case"A":(v=s(p,d,v[1],v[2],c(v[3]),v[4],v[5],v[6],v[7])).unshift("C"),v.length>7&&(r.push(v.splice(0,7)),v.unshift("C"));break;case"S":var x=p,b=d;"C"!=e&&"S"!=e||(x+=x-n,b+=b-i),v=["C",x,b,v[1],v[2],v[3],v[4]];break;case"T":"Q"==e||"T"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),v=o(p,d,f,h,v[1],v[2]);break;case"Q":f=v[1],h=v[2],v=o(p,d,v[1],v[2],v[3],v[4]);break;case"L":v=a(p,d,v[1],v[2]);break;case"H":v=a(p,d,v[1],d);break;case"V":v=a(p,d,p,v[1]);break;case"Z":v=a(p,d,l,u)}e=y,p=v[v.length-2],d=v[v.length-1],v.length>4?(n=v[v.length-4],i=v[v.length-3]):(n=p,i=d),r.push(v)}return r}},{}],433:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o)i[o]=[0,0,0];for(o=0;o<t.length;++o)for(var s=t[o],l=0,c=s[s.length-1],u=s[0],f=0;f<s.length;++f){l=c,c=u,u=s[(f+1)%s.length];for(var h=e[l],p=e[c],d=e[u],g=new Array(3),m=0,v=new Array(3),y=0,x=0;x<3;++x)g[x]=h[x]-p[x],m+=g[x]*g[x],v[x]=d[x]-p[x],y+=v[x]*v[x];if(m*y>a){var b=i[c],_=1/Math.sqrt(m*y);for(x=0;x<3;++x){var w=(x+1)%3,k=(x+2)%3;b[x]+=_*(v[w]*g[k]-v[k]*g[w])}}}for(o=0;o<n;++o){b=i[o];var M=0;for(x=0;x<3;++x)M+=b[x]*b[x];if(M>a)for(_=1/Math.sqrt(M),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},r.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o){for(var s=t[o],l=new Array(3),c=0;c<3;++c)l[c]=e[s[c]];var u=new Array(3),f=new Array(3);for(c=0;c<3;++c)u[c]=l[1][c]-l[0][c],f[c]=l[2][c]-l[0][c];var h=new Array(3),p=0;for(c=0;c<3;++c){var d=(c+1)%3,g=(c+2)%3;h[c]=u[d]*f[g]-u[g]*f[d],p+=h[c]*h[c]}p=p>a?1/Math.sqrt(p):0;for(c=0;c<3;++c)h[c]*=p;i[o]=h}return i}},{}],434:[function(t,e,r){"use strict";var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(t){n[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,o,s=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),l=1;l<arguments.length;l++){for(var c in r=Object(arguments[l]))i.call(r,c)&&(s[c]=r[c]);if(n){o=n(r);for(var u=0;u<o.length;u++)a.call(r,o[u])&&(s[o[u]]=r[o[u]])}}return s}},{}],435:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i,a,o,s,l,c){var u=e+a+c;if(f>0){var f=Math.sqrt(u+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,c),f=Math.sqrt(2*h-u+1);e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},{}],436:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),u(r=[].slice.call(r,0,4),r);var i=new f(r,e,Math.log(n));i.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&i.lookAt(0,t.eye,t.center,t.up);return i};var n=t("filtered-vector"),i=t("gl-mat4/lookAt"),a=t("gl-mat4/fromQuat"),o=t("gl-mat4/invert"),s=t("./lib/quatFromFrame");function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function c(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function u(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=c(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;u(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,f=0;f<3;++f)c+=r[l+4*f]*i[f];r[12+l]=-c}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],c=l(a,o,s);a/=c,o/=c,s/=c;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=l(u-=a*p,f-=o*p,h-=s*p);u/=d,f/=d,h/=d;var g=i[2],m=i[6],v=i[10],y=g*a+m*o+v*s,x=g*u+m*f+v*h,b=l(g-=y*a+x*u,m-=y*o+x*f,v-=y*s+x*h);g/=b,m/=b,v/=b;var _=u*e+a*r,w=f*e+o*r,k=h*e+s*r;this.center.move(t,_,w,k);var M=Math.exp(this.computedRadius[0]);M=Math.max(1e-4,M+n),this.radius.set(t,Math.log(M))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],u=i[1],f=i[5],h=i[9],p=i[2],d=i[6],g=i[10],m=e*a+r*u,v=e*o+r*f,y=e*s+r*h,x=-(d*y-g*v),b=-(g*m-p*y),_=-(p*v-d*m),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),k=c(x,b,_,w);k>1e-6?(x/=k,b/=k,_/=k,w/=k):(x=b=_=0,w=1);var M=this.computedRotation,A=M[0],T=M[1],S=M[2],E=M[3],C=A*w+E*x+T*_-S*b,L=T*w+E*b+S*x-A*_,z=S*w+E*_+A*b-T*x,P=E*w-A*x-T*b-S*_;if(n){x=p,b=d,_=g;var O=Math.sin(n)/l(x,b,_);x*=O,b*=O,_*=O,P=P*(w=Math.cos(e))-(C=C*w+P*x+L*_-z*b)*x-(L=L*w+P*b+z*x-C*_)*b-(z=z*w+P*_+C*b-L*x)*_}var I=c(C,L,z,P);I>1e-6?(C/=I,L/=I,z/=I,P/=I):(C=L=z=0,P=1),this.rotation.set(t,C,L,z,P)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),u(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),u(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,c=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,c-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},h.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},h.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},h.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{"./lib/quatFromFrame":435,"filtered-vector":214,"gl-mat4/fromQuat":250,"gl-mat4/invert":253,"gl-mat4/lookAt":254}],437:[function(t,e,r){"use strict";var n=t("repeat-string");e.exports=function(t,e,r){return n(r="undefined"!=typeof r?r+"":" ",e)+t}},{"repeat-string":476}],438:[function(t,e,r){"use strict";function n(t,e){if("string"!=typeof t)return[t];var r=[t];"string"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:["{}","[]","()"],i=e.escape||"___",a=!!e.flat;n.forEach(function(t){var e=new RegExp(["\\",t[0],"[^\\",t[0],"\\",t[1],"]*\\",t[1]].join("")),n=[];function a(e,a,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),i+s}r.forEach(function(t,n){for(var i,o=0;t!=i;)if(i=t,t=t.replace(e,a),o++>1e4)throw Error("References have circular dependency. Please, check them.");r[n]=t}),n=n.reverse(),r=r.map(function(e){return n.forEach(function(r){e=e.replace(new RegExp("(\\"+i+r+"(?![0-9]))","g"),t[0]+"$1"+t[1])}),e})});var o=new RegExp("\\"+i+"([0-9]+)");return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error("Circular references in parenthesis");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function i(t,e){if(e&&e.flat){var r,n=e&&e.escape||"___",i=t[0];if(!i)return"";for(var a=new RegExp("\\"+n+"([0-9]+)"),o=0;i!=r;){if(o++>1e4)throw Error("Circular references in "+t);r=i,i=i.replace(a,s)}return i}return t.reduce(function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,"")),e+r},"");function s(e,r){if(null==t[r])throw Error("Reference "+r+"is undefined");return t[r]}}function a(t,e){return Array.isArray(t)?i(t,e):n(t,e)}a.parse=n,a.stringify=i,e.exports=a},{}],439:[function(t,e,r){"use strict";var n=t("pick-by-alias");e.exports=function(t){var e;arguments.length>1&&(t=arguments);"string"==typeof t?t=t.split(/\s/).map(parseFloat):"number"==typeof t&&(t=[t]);t.length&&"number"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(t=n(t,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"}),e={x:t.left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height);return e}},{"pick-by-alias":445}],440:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(i,function(t,r,i){var o=r.toLowerCase();for(i=function(t){var e=t.match(a);return e?e.map(Number):[]}(i),"m"==o&&i.length>2&&(e.push([r].concat(i.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(i.length==n[o])return i.unshift(r),e.push(i);if(i.length<n[o])throw new Error("malformed path data");e.push([r].concat(i.splice(0,n[o])))}}),e};var n={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},i=/([astvzqmhlc])([^astvzqmhlc]*)/gi;var a=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi},{}],441:[function(t,e,r){e.exports=function(t,e){e||(e=[0,""]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",e}},{}],442:[function(t,e,r){(function(t){(function(){var r,n,i,a,o,s;"undefined"!=typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:"undefined"!=typeof t&&null!==t&&t.hrtime?(e.exports=function(){return(r()-o)/1e6},n=t.hrtime,a=(r=function(){var t;return 1e9*(t=n())[0]+t[1]})(),s=1e9*t.uptime(),o=a-s):Date.now?(e.exports=function(){return Date.now()-i},i=Date.now()):(e.exports=function(){return(new Date).getTime()-i},i=(new Date).getTime())}).call(this)}).call(this,t("_process"))},{_process:462}],443:[function(t,e,r){"use strict";e.exports=function(t){var e=t.length;if(e<n){for(var r=1,a=0;a<e;++a)for(var o=0;o<a;++o)if(t[a]<t[o])r=-r;else if(t[a]===t[o])return 0;return r}for(var s=i.mallocUint8(e),a=0;a<e;++a)s[a]=0;for(var r=1,a=0;a<e;++a)if(!s[a]){var l=1;s[a]=1;for(var o=t[a];o!==a;o=t[o]){if(s[o])return i.freeUint8(s),0;l+=1,s[o]=1}1&l||(r=-r)}return i.freeUint8(s),r};var n=32,i=t("typedarray-pool")},{"typedarray-pool":519}],444:[function(t,e,r){"use strict";var n=t("typedarray-pool"),i=t("invert-permutation");r.rank=function(t){var e=t.length;switch(e){case 0:case 1:return 0;case 2:return t[1]}var r,a,o,s=n.mallocUint32(e),l=n.mallocUint32(e),c=0;for(i(t,l),o=0;o<e;++o)s[o]=t[o];for(o=e-1;o>0;--o)a=l[o],r=s[o],s[o]=s[a],s[a]=r,l[o]=l[r],l[r]=a,c=(c+r)*o;return n.freeUint32(l),n.freeUint32(s),c},r.unrank=function(t,e,r){switch(t){case 0:return r||[];case 1:return r?(r[0]=0,r):[0];case 2:return r?(e?(r[0]=0,r[1]=1):(r[0]=1,r[1]=0),r):e?[0,1]:[1,0]}var n,i,a,o=1;for((r=r||new Array(t))[0]=0,a=1;a<t;++a)r[a]=a,o=o*a|0;for(a=t-1;a>0;--a)e=e-(n=e/o|0)*o|0,o=o/a|0,i=0|r[a],r[a]=0|r[n],r[n]=0|i;return r}},{"invert-permutation":396,"typedarray-pool":519}],445:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n,a,o={};if("string"==typeof e&&(e=i(e)),Array.isArray(e)){var s={};for(a=0;a<e.length;a++)s[e[a]]=!0;e=s}for(n in e)e[n]=i(e[n]);var l={};for(n in e){var c=e[n];if(Array.isArray(c))for(a=0;a<c.length;a++){var u=c[a];if(r&&(l[u]=!0),u in t){if(o[n]=t[u],r)for(var f=a;f<c.length;f++)l[c[f]]=!0;break}}else n in t&&(e[n]&&(o[n]=t[n]),r&&(l[n]=!0))}if(r)for(n in t)l[n]||(o[n]=t[n]);return o};var n={};function i(t){return n[t]?n[t]:("string"==typeof t&&(t=n[t]=t.split(/\s*,\s*|\s+/)),t)}},{}],446:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o<r;++o)a[0][o]=[],a[1][o]=[];for(var o=0;o<i;++o){var s=t[o];a[0][s[0]].push(s),a[1][s[1]].push(s)}for(var l=[],o=0;o<r;++o)a[0][o].length+a[1][o].length===0&&l.push([o]);function c(t,e){var r=a[e][t[e]];r.splice(r.indexOf(t),1)}function u(t,r,i){for(var o,s,l,u=0;u<2;++u)if(a[u][r].length>0){o=a[u][r][0],l=u;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p<h.length;++p){var d=h[p],g=d[1^f],m=n(e[t],e[r],e[s],e[g]);m>0&&(o=d,s=g,l=f)}return i?s:(o&&c(o,l),s)}function f(t,r){var i=a[r][t][0],o=[t];c(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=u(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=u(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(var o=0;o<r;++o)for(var p=0;p<2;++p){for(var d=[];a[p][o].length>0;){a[0][o].length;var g=f(o,p);h(d,g)?d.push.apply(d,g):(d.length>0&&l.push(d),d=g)}d.length>0&&l.push(d)}return l};var n=t("compare-angle")},{"compare-angle":114}],447:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s<e.length;++s){var l=r[s].length;a[s]=l,i[s]=!0,l<=1&&o.push(s)}for(;o.length>0;){var c=o.pop();i[c]=!1;for(var u=r[c],s=0;s<u.length;++s){var f=u[s];0==--a[f]&&o.push(f)}}for(var h=new Array(e.length),p=[],s=0;s<e.length;++s)if(i[s]){var c=p.length;h[s]=c,p.push(e[s])}else h[s]=-1;for(var d=[],s=0;s<t.length;++s){var g=t[s];i[g[0]]&&i[g[1]]&&d.push([h[g[0]],h[g[1]]])}return[d,p]};var n=t("edges-to-adjacency-list")},{"edges-to-adjacency-list":156}],448:[function(t,e,r){"use strict";e.exports=function(t,e){var r=c(t,e);t=r[0];for(var f=(e=r[1]).length,h=(t.length,n(t,e.length)),p=0;p<f;++p)if(h[p].length%2==1)throw new Error("planar-graph-to-polyline: graph must be manifold");var d=i(t,e);for(var g=(d=d.filter(function(t){for(var r=t.length,n=[0],i=0;i<r;++i){var a=e[t[i]],l=e[t[(i+1)%r]],c=o(-a[0],a[1]),u=o(-a[0],l[1]),f=o(l[0],a[1]),h=o(l[0],l[1]);n=s(n,s(s(c,u),s(f,h)))}return n[n.length-1]>0})).length,m=new Array(g),v=new Array(g),p=0;p<g;++p){m[p]=p;var y=new Array(g),x=d[p].map(function(t){return e[t]}),b=a([x]),_=0;t:for(var w=0;w<g;++w)if(y[w]=0,p!==w){for(var k=d[w],M=k.length,A=0;A<M;++A){var T=b(e[k[A]]);if(0!==T){T<0&&(y[w]=1,_+=1);continue t}}y[w]=1,_+=1}v[p]=[_,p,y]}v.sort(function(t,e){return e[0]-t[0]});for(var p=0;p<g;++p)for(var y=v[p],S=y[1],E=y[2],w=0;w<g;++w)E[w]&&(m[w]=S);for(var C=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}(g),p=0;p<g;++p)C[p].push(m[p]),C[m[p]].push(p);for(var L={},z=u(f,!1),p=0;p<g;++p)for(var k=d[p],M=k.length,w=0;w<M;++w){var P=k[w],O=k[(w+1)%M],I=Math.min(P,O)+":"+Math.max(P,O);if(I in L){var D=L[I];C[D].push(p),C[p].push(D),z[P]=z[O]=!0}else L[I]=p}function R(t){for(var e=t.length,r=0;r<e;++r)if(!z[t[r]])return!1;return!0}for(var B=[],F=u(g,-1),p=0;p<g;++p)m[p]!==p||R(d[p])?F[p]=-1:(B.push(p),F[p]=0);var r=[];for(;B.length>0;){var N=B.pop(),j=C[N];l(j,function(t,e){return t-e});var V,U=j.length,q=F[N];if(0===q){var k=d[N];V=[k]}for(var p=0;p<U;++p){var H=j[p];if(!(F[H]>=0)&&(F[H]=1^q,B.push(H),0===q)){var k=d[H];R(k)||(k.reverse(),V.push(k))}}0===q&&r.push(V)}return r};var n=t("edges-to-adjacency-list"),i=t("planar-dual"),a=t("point-in-big-polygon"),o=t("two-product"),s=t("robust-sum"),l=t("uniq"),c=t("./lib/trim-leaves");function u(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}},{"./lib/trim-leaves":447,"edges-to-adjacency-list":156,"planar-dual":446,"point-in-big-polygon":452,"robust-sum":488,"two-product":517,uniq:521}],449:[function(t,e,r){"use strict";e.exports=t("./quad")},{"./quad":451}],450:[function(t,e,r){arguments[4][98][0].apply(r,arguments)},{dup:98}],451:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),i=t("clamp"),a=t("parse-rect"),o=t("array-bounds"),s=t("pick-by-alias"),l=t("defined"),c=t("flatten-vertex-data"),u=t("is-obj"),f=t("dtype"),h=t("math-log2");function p(t,e){for(var r=e[0],n=e[1],a=1/(e[2]-r),o=1/(e[3]-n),s=new Array(t.length),l=0,c=t.length/2;l<c;l++)s[2*l]=i((t[2*l]-r)*a,0,1),s[2*l+1]=i((t[2*l+1]-n)*o,0,1);return s}e.exports=function(t,e){e||(e={}),t=c(t,"float64"),e=s(e,{bounds:"range bounds dataBox databox",maxDepth:"depth maxDepth maxdepth level maxLevel maxlevel levels",dtype:"type dtype format out dst output destination"});var r=l(e.maxDepth,255),i=l(e.bounds,o(t,2));i[0]===i[2]&&i[2]++,i[1]===i[3]&&i[3]++;var d,g=p(t,i),m=t.length>>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?d=new(f(e.dtype))(m):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=m));for(var v=0;v<m;++v)d[v]=v;var y=[],x=[],b=[],_=[];!function t(e,n,i,a,o,s){if(!a.length)return null;var l=y[o]||(y[o]=[]);var c=b[o]||(b[o]=[]);var u=x[o]||(x[o]=[]);var f=l.length;o++;if(o>r){for(var h=0;h<a.length;h++)l.push(a[h]),c.push(s),u.push(null,null,null,null);return f}l.push(a[0]);c.push(s);if(a.length<=1)return u.push(null,null,null,null),f;var p=.5*i;var d=e+p,m=n+p;var v=[],_=[],w=[],k=[];for(var M=1,A=a.length;M<A;M++){var T=a[M],S=g[2*T],E=g[2*T+1];S<d?E<m?v.push(T):_.push(T):E<m?w.push(T):k.push(T)}s<<=2;u.push(t(e,n,p,v,o,s),t(e,m,p,_,o,s+1),t(d,n,p,w,o,s+2),t(d,m,p,k,o,s+3));return f}(0,0,1,d,0,1);for(var w=0,k=0;k<y.length;k++){var M=y[k];if(d.set)d.set(M,w);else for(var A=0,T=M.length;A<T;A++)d[A+w]=M[A];var S=w+y[k].length;_[k]=[w,S],w=S}return d.range=function(){var e,r=[],o=arguments.length;for(;o--;)r[o]=arguments[o];if(u(r[r.length-1])){var c=r.pop();r.length||null==c.x&&null==c.l&&null==c.left||(r=[c],e={}),e=s(c,{level:"level maxLevel",d:"d diam diameter r radius px pxSize pixel pixelSize maxD size minSize",lod:"lod details ranges offsets"})}else e={};r.length||(r=i);var f=a.apply(void 0,r),d=[Math.min(f.x,f.x+f.width),Math.min(f.y,f.y+f.height),Math.max(f.x,f.x+f.width),Math.max(f.y,f.y+f.height)],g=d[0],m=d[1],v=d[2],w=d[3],k=p([g,m,v,w],i),M=k[0],A=k[1],T=k[2],S=k[3],C=l(e.level,y.length);if(null!=e.d){var L;"number"==typeof e.d?L=[e.d,e.d]:e.d.length&&(L=e.d),C=Math.min(Math.max(Math.ceil(-h(Math.abs(L[0])/(i[2]-i[0]))),Math.ceil(-h(Math.abs(L[1])/(i[3]-i[1])))),C)}if(C=Math.min(C,y.length),e.lod)return function(t,e,r,i,a){for(var o=[],s=0;s<a;s++){var l=b[s],c=_[s][0],u=E(t,e,s),f=E(r,i,s),h=n.ge(l,u),p=n.gt(l,f,h,l.length-1);o[s]=[h+c,p+c]}return o}(M,A,T,S,C);var z=[];return function e(r,n,i,a,o,s){if(null!==o&&null!==s){var l=r+i,c=n+i;if(!(M>l||A>c||T<r||S<n||a>=C||o===s)){var u=y[a];void 0===s&&(s=u.length);for(var f=o;f<s;f++){var h=u[f],p=t[2*h],d=t[2*h+1];p>=g&&p<=v&&d>=m&&d<=w&&z.push(h)}var b=x[a],_=b[4*o+0],k=b[4*o+1],E=b[4*o+2],L=b[4*o+3],P=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(b,o+1),O=.5*i,I=a+1;e(r,n,O,I,_,k||E||L||P),e(r,n+O,O,I,k,E||L||P),e(r+O,n,O,I,E,L||P),e(r+O,n+O,O,I,L,P)}}}(0,0,1,0,0,1),z},d;function E(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;s<r;s++)n<<=2,n+=t<i?e<a?0:1:e<a?2:3,o*=.5,i+=t<i?-o:o,a+=e<a?-o:o;return n}}},{"array-bounds":52,"binary-search-bounds":450,clamp:102,defined:148,dtype:153,"flatten-vertex-data":215,"is-obj":402,"math-log2":412,"parse-rect":439,"pick-by-alias":445}],452:[function(t,e,r){e.exports=function(t){for(var e=t.length,r=[],a=[],s=0;s<e;++s)for(var u=t[s],f=u.length,h=f-1,p=0;p<f;h=p++){var d=u[h],g=u[p];d[0]===g[0]?a.push([d,g]):r.push([d,g])}if(0===r.length)return 0===a.length?c:(m=l(a),function(t){return m(t[0],t[1])?0:1});var m;var v=i(r),y=function(t,e){return function(r){var i=o.le(e,r[0]);if(i<0)return 1;var a=t[i];if(!a){if(!(i>0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,c=n(r,l[0],l[1]);if(l[0][0]<l[1][0])if(c<0)a=a.left;else{if(!(c>0))return 0;s=-1,a=a.right}else if(c>0)a=a.left;else{if(!(c<0))return 0;s=1,a=a.right}}return s}}(v.slabs,v.coordinates);return 0===a.length?y:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),y)};var n=t("robust-orientation")[3],i=t("slab-decomposition"),a=t("interval-tree-1d"),o=t("binary-search-bounds");function s(){return!0}function l(t){for(var e={},r=0;r<t.length;++r){var n=t[r],i=n[0][0],o=n[0][1],l=n[1][1],c=[Math.min(o,l),Math.max(o,l)];i in e?e[i].push(c):e[i]=[c]}var u={},f=Object.keys(e);for(r=0;r<f.length;++r){var h=e[f[r]];u[f[r]]=a(h)}return function(t){return function(e,r){var n=t[e];return!!n&&!!n.queryPoint(r,s)}}(u)}function c(t){return 1}},{"binary-search-bounds":78,"interval-tree-1d":395,"robust-orientation":483,"slab-decomposition":499}],453:[function(t,e,r){var n,i=t("./lib/build-log"),a=t("./lib/epsilon"),o=t("./lib/intersecter"),s=t("./lib/segment-chainer"),l=t("./lib/segment-selector"),c=t("./lib/geojson"),u=!1,f=a();function h(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?u=i():!1===t&&(u=!1),!1!==u&&u.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,u);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,u).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,u),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,u),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,u),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,u),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,u),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,f,u),inverted:t.inverted}},polygonFromGeoJSON:function(t){return c.toPolygon(n,t)},polygonToGeoJSON:function(t){return c.fromPolygon(n,f,t)},union:function(t,e){return h(t,e,n.selectUnion)},intersect:function(t,e){return h(t,e,n.selectIntersect)},difference:function(t,e){return h(t,e,n.selectDifference)},differenceRev:function(t,e){return h(t,e,n.selectDifferenceRev)},xor:function(t,e){return h(t,e,n.selectXor)}},"object"==typeof window&&(window.PolyBool=n),e.exports=n},{"./lib/build-log":454,"./lib/epsilon":455,"./lib/geojson":456,"./lib/intersecter":457,"./lib/segment-chainer":459,"./lib/segment-selector":460}],454:[function(t,e,r){e.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n("check",{seg1:t,seg2:e})},segmentChop:function(t,e){return n("div_seg",{seg:t,pt:e}),n("chop",{seg:t,pt:e})},statusRemove:function(t){return n("pop_seg",{seg:t})},segmentUpdate:function(t){return n("seg_update",{seg:t})},segmentNew:function(t,e){return n("new_seg",{seg:t,primary:e})},segmentRemove:function(t){return n("rem_seg",{seg:t})},tempStatus:function(t,e,r){return n("temp_status",{seg:t,above:e,below:r})},rewind:function(t){return n("rewind",{seg:t})},status:function(t,e,r){return n("status",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n("vert",{x:e}))},log:function(t){return"string"!=typeof t&&(t=JSON.stringify(t,!1," ")),n("log",{txt:t})},reset:function(){return n("reset")},selected:function(t){return n("selected",{segs:t})},chainStart:function(t){return n("chain_start",{seg:t})},chainRemoveHead:function(t,e){return n("chain_rem_head",{index:t,pt:e})},chainRemoveTail:function(t,e){return n("chain_rem_tail",{index:t,pt:e})},chainNew:function(t,e){return n("chain_new",{pt1:t,pt2:e})},chainMatch:function(t){return n("chain_match",{index:t})},chainClose:function(t){return n("chain_close",{index:t})},chainAddHead:function(t,e){return n("chain_add_head",{index:t,pt:e})},chainAddTail:function(t,e){return n("chain_add_tail",{index:t,pt:e})},chainConnect:function(t,e){return n("chain_con",{index1:t,index2:e})},chainReverse:function(t){return n("chain_rev",{index:t})},chainJoin:function(t,e){return n("chain_join",{index1:t,index2:e})},done:function(){return n("done")}}}},{}],455:[function(t,e,r){e.exports=function(t){"number"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return"number"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l<t||l-(a*a+s*s)>-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])<t},pointsSameY:function(e,r){return Math.abs(e[1]-r[1])<t},pointsSame:function(t,r){return e.pointsSameX(t,r)&&e.pointsSameY(t,r)},pointsCompare:function(t,r){return e.pointsSameX(t,r)?e.pointsSameY(t,r)?0:t[1]<r[1]?-1:1:t[0]<r[0]?-1:1},pointsCollinear:function(e,r,n){var i=e[0]-r[0],a=e[1]-r[1],o=r[0]-n[0],s=r[1]-n[1];return Math.abs(i*s-o*a)<t},linesIntersect:function(e,r,n,i){var a=r[0]-e[0],o=r[1]-e[1],s=i[0]-n[0],l=i[1]-n[1],c=a*l-o*s;if(Math.abs(c)<t)return!1;var u=e[0]-n[0],f=e[1]-n[1],h=(s*f-l*u)/c,p=(a*f-o*u)/c,d={alongA:0,alongB:0,pt:[e[0]+h*a,e[1]+h*o]};return d.alongA=h<=-t?-2:h<t?-1:h-1<=-t?0:h-1<t?1:2,d.alongB=p<=-t?-2:p<t?-1:p-1<=-t?0:p-1<t?1:2,d},pointInsideRegion:function(e,r){for(var n=e[0],i=e[1],a=r[r.length-1][0],o=r[r.length-1][1],s=!1,l=0;l<r.length;l++){var c=r[l][0],u=r[l][1];u-i>t!=o-i>t&&(a-c)*(i-u)/(o-u)+c-n>t&&(s=!s),a=c,o=u}return s}};return e}},{}],456:[function(t,e,r){var n={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i<e.length;i++)n=t.selectDifference(t.combine(n,r(e[i])));return n}if("Polygon"===e.type)return t.polygon(r(e.coordinates));if("MultiPolygon"===e.type){for(var n=t.segments({inverted:!1,regions:[]}),i=0;i<e.coordinates.length;i++)n=t.selectUnion(t.combine(n,r(e.coordinates[i])));return t.polygon(n)}throw new Error("PolyBool: Cannot convert GeoJSON object to PolyBool polygon")},fromPolygon:function(t,e,r){function n(t,r){return e.pointInsideRegion([.5*(t[0][0]+t[1][0]),.5*(t[0][1]+t[1][1])],r)}function i(t){return{region:t,children:[]}}r=t.polygon(t.segments(r));var a=i(null);function o(t,e){for(var r=0;r<t.children.length;r++){if(n(e,(s=t.children[r]).region))return void o(s,e)}var a=i(e);for(r=0;r<t.children.length;r++){var s;n((s=t.children[r]).region,e)&&(a.children.push(s),t.children.splice(r,1),r--)}t.children.push(a)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(a,l)}function c(t,e){for(var r=0,n=t[t.length-1][0],i=t[t.length-1][1],a=[],o=0;o<t.length;o++){var s=t[o][0],l=t[o][1];a.push([s,l]),r+=l*n-s*i,n=s,i=l}return r<0!==e&&a.reverse(),a.push([a[0][0],a[0][1]]),a}var u=[];function f(t){var e=[c(t.region,!1)];u.push(e);for(var r=0;r<t.children.length;r++)e.push(h(t.children[r]))}function h(t){for(var e=0;e<t.children.length;e++)f(t.children[e]);return c(t.region,!0)}for(s=0;s<a.children.length;s++)f(a.children[s]);return u.length<=0?{type:"Polygon",coordinates:[]}:1==u.length?{type:"Polygon",coordinates:u[0]}:{type:"MultiPolygon",coordinates:u}}};e.exports=n},{}],457:[function(t,e,r){var n=t("./linked-list");e.exports=function(t,e,r){function i(t,e,n){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:n.myFill.above,below:n.myFill.below},otherFill:null}}var a=n.create();function o(t,r){a.insertBefore(t,function(n){return function(t,r,n,i,a,o){var s=e.pointsCompare(r,a);return 0!==s?s:e.pointsSame(n,o)?0:t!==i?t?1:-1:e.pointAboveOrOnLine(n,i?a:o,i?o:a)?1:-1}(t.isStart,t.pt,r,n.isStart,n.pt,n.other.pt)<0})}function s(t,e){var r=function(t,e){var r=n.node({isStart:!0,pt:t.start,seg:t,primary:e,other:null,status:null});return o(r,t.end),r}(t,e);return function(t,e,r){var i=n.node({isStart:!1,pt:e.end,seg:e,primary:r,other:t,status:null});t.other=i,o(i,t.pt)}(r,t,e),r}function l(t,e){var n=i(e,t.seg.end,t.seg);return function(t,e){r&&r.segmentChop(t.seg,e),t.other.remove(),t.seg.end=e,t.other.pt=e,o(t.other,t.pt)}(t,e),s(n,t.primary)}function c(i,o){var s=n.create();function c(t){return s.findTransition(function(r){var n,i,a,o,s,l;return n=t,i=r.ev,a=n.seg.start,o=n.seg.end,s=i.seg.start,l=i.seg.end,(e.pointsCollinear(a,s,l)?e.pointsCollinear(o,s,l)?1:e.pointAboveOrOnLine(o,s,l)?1:-1:e.pointAboveOrOnLine(a,s,l)?1:-1)>0})}function u(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,c=a.start,u=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,c,u);if(!1===f){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var h=e.pointsSame(o,c),p=e.pointsSame(s,u);if(h&&p)return n;var d=!h&&e.pointBetween(o,c,u),g=!p&&e.pointBetween(s,c,u);if(h)return g?l(n,s):l(t,u),n;d&&(p||(g?l(n,s):l(t,u)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,c):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,u)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=c(h),d=p.before?p.before.ev:null,g=p.after?p.after.ev:null;function m(){if(d){var t=u(h,d);if(t)return t}return!!g&&u(h,g)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!g&&g.seg);var v,y,x=m();if(x)t?(y=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(x.seg),h.other.remove(),h.remove();if(a.getHead()!==h){r&&r.rewind(h.seg);continue}t?(y=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=g?g.seg.myFill.above:i,h.seg.myFill.above=y?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(v=g?h.primary===g.primary?g.seg.otherFill.above:g.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:v,below:v}),r&&r.status(h.seg,!!d&&d.seg,!!g&&g.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.status;if(null===b)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(b.prev)&&s.exists(b.next)&&u(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l<t.length;l++){n=o,o=t[l];var c=e.pointsCompare(n,o);0!==c&&s((i=c<0?n:o,a=c<0?o:n,{id:r?r.segmentId():-1,start:i,end:a,myFill:{above:null,below:null},otherFill:null}),!0)}},calculate:function(t){return c(t,!1)}}:{calculate:function(t,e,r,n){return t.forEach(function(t){s(i(t.start,t.end,t),!0)}),r.forEach(function(t){s(i(t.start,t.end,t),!1)}),c(e,n)}}}},{"./linked-list":458}],458:[function(t,e,r){e.exports={create:function(){var t={root:{root:!0,next:null},exists:function(e){return null!==e&&e!==t.root},isEmpty:function(){return null===t.root.next},getHead:function(){return t.root.next},insertBefore:function(e,r){for(var n=t.root,i=t.root.next;null!==i;){if(r(i))return e.prev=i.prev,e.next=i,i.prev.next=e,void(i.prev=e);n=i,i=i.next}n.next=e,e.prev=n,e.next=null},findTransition:function(e){for(var r=t.root,n=t.root.next;null!==n&&!e(n);)r=n,n=n.next;return{before:r===t.root?null:r,after:n,insert:function(t){return t.prev=r,t.next=n,r.next=t,null!==n&&(n.prev=t),t}}}};return t},node:function(t){return t.prev=null,t.next=null,t.remove=function(){t.prev.next=t.next,t.next&&(t.next.prev=t.prev),t.prev=null,t.next=null},t}}},{}],459:[function(t,e,r){e.exports=function(t,e,r){var n=[],i=[];return t.forEach(function(t){var a=t.start,o=t.end;if(e.pointsSame(a,o))console.warn("PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large");else{r&&r.chainStart(t);for(var s={index:0,matches_head:!1,matches_pt1:!1},l={index:0,matches_head:!1,matches_pt1:!1},c=s,u=0;u<n.length;u++){var f=(m=n[u])[0],h=(m[1],m[m.length-1]);if(m[m.length-2],e.pointsSame(f,a)){if(M(u,!0,!0))break}else if(e.pointsSame(f,o)){if(M(u,!0,!1))break}else if(e.pointsSame(h,a)){if(M(u,!1,!0))break}else if(e.pointsSame(h,o)&&M(u,!1,!1))break}if(c===s)return n.push([a,o]),void(r&&r.chainNew(a,o));if(c===l){r&&r.chainMatch(s.index);var p=s.index,d=s.matches_pt1?o:a,g=s.matches_head,m=n[p],v=g?m[0]:m[m.length-1],y=g?m[1]:m[m.length-2],x=g?m[m.length-1]:m[0],b=g?m[m.length-2]:m[1];return e.pointsCollinear(y,v,d)&&(g?(r&&r.chainRemoveHead(s.index,d),m.shift()):(r&&r.chainRemoveTail(s.index,d),m.pop()),v=y),e.pointsSame(x,d)?(n.splice(p,1),e.pointsCollinear(b,x,v)&&(g?(r&&r.chainRemoveTail(s.index,v),m.pop()):(r&&r.chainRemoveHead(s.index,v),m.shift())),r&&r.chainClose(s.index),void i.push(m)):void(g?(r&&r.chainAddHead(s.index,d),m.unshift(d)):(r&&r.chainAddTail(s.index,d),m.push(d)))}var _=s.index,w=l.index;r&&r.chainConnect(_,w);var k=n[_].length<n[w].length;s.matches_head?l.matches_head?k?(A(_),T(_,w)):(A(w),T(w,_)):T(w,_):l.matches_head?T(_,w):k?(A(_),T(w,_)):(A(w),T(_,w))}function M(t,e,r){return c.index=t,c.matches_head=e,c.matches_pt1=r,c===s?(c=l,!1):(c=null,!0)}function A(t){r&&r.chainReverse(t),n[t].reverse()}function T(t,i){var a=n[t],o=n[i],s=a[a.length-1],l=a[a.length-2],c=o[0],u=o[1];e.pointsCollinear(l,s,c)&&(r&&r.chainRemoveTail(t,s),a.pop(),s=l),e.pointsCollinear(s,c,u)&&(r&&r.chainRemoveHead(i,c),o.shift()),r&&r.chainJoin(t,i),n[t]=a.concat(o),n.splice(i,1)}}),i}},{}],460:[function(t,e,r){function n(t,e,r){var n=[];return t.forEach(function(t){var i=(t.myFill.above?8:0)+(t.myFill.below?4:0)+(t.otherFill&&t.otherFill.above?2:0)+(t.otherFill&&t.otherFill.below?1:0);0!==e[i]&&n.push({id:r?r.segmentId():-1,start:t.start,end:t.end,myFill:{above:1===e[i],below:2===e[i]},otherFill:null})}),r&&r.selected(n),n}var i={union:function(t,e){return n(t,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],e)},intersect:function(t,e){return n(t,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],e)},difference:function(t,e){return n(t,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],e)},differenceRev:function(t,e){return n(t,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],e)},xor:function(t,e){return n(t,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],e)}};e.exports=i},{}],461:[function(t,e,r){"use strict";var n=new Float64Array(4),i=new Float64Array(4),a=new Float64Array(4);e.exports=function(t,e,r,o,s){n.length<o.length&&(n=new Float64Array(o.length),i=new Float64Array(o.length),a=new Float64Array(o.length));for(var l=0;l<o.length;++l)n[l]=t[l]-o[l],i[l]=e[l]-t[l],a[l]=r[l]-t[l];var c=0,u=0,f=0,h=0,p=0,d=0;for(l=0;l<o.length;++l){var g=i[l],m=a[l],v=n[l];c+=g*g,u+=g*m,f+=m*m,h+=v*g,p+=v*m,d+=v*v}var y,x,b,_,w,k=Math.abs(c*f-u*u),M=u*p-f*h,A=u*h-c*p;if(M+A<=k)if(M<0)A<0&&h<0?(A=0,-h>=c?(M=1,y=c+2*h+d):y=h*(M=-h/c)+d):(M=0,p>=0?(A=0,y=d):-p>=f?(A=1,y=f+2*p+d):y=p*(A=-p/f)+d);else if(A<0)A=0,h>=0?(M=0,y=d):-h>=c?(M=1,y=c+2*h+d):y=h*(M=-h/c)+d;else{var T=1/k;y=(M*=T)*(c*M+u*(A*=T)+2*h)+A*(u*M+f*A+2*p)+d}else M<0?(b=f+p)>(x=u+h)?(_=b-x)>=(w=c-2*u+f)?(M=1,A=0,y=c+2*h+d):y=(M=_/w)*(c*M+u*(A=1-M)+2*h)+A*(u*M+f*A+2*p)+d:(M=0,b<=0?(A=1,y=f+2*p+d):p>=0?(A=0,y=d):y=p*(A=-p/f)+d):A<0?(b=c+h)>(x=u+p)?(_=b-x)>=(w=c-2*u+f)?(A=1,M=0,y=f+2*p+d):y=(M=1-(A=_/w))*(c*M+u*A+2*h)+A*(u*M+f*A+2*p)+d:(A=0,b<=0?(M=1,y=c+2*h+d):h>=0?(M=0,y=d):y=h*(M=-h/c)+d):(_=f+p-u-h)<=0?(M=0,A=1,y=f+2*p+d):_>=(w=c-2*u+f)?(M=1,A=0,y=c+2*h+d):y=(M=_/w)*(c*M+u*(A=1-M)+2*h)+A*(u*M+f*A+2*p)+d;var S=1-M-A;for(l=0;l<o.length;++l)s[l]=S*t[l]+M*e[l]+A*r[l];return y<0?0:y}},{}],462:[function(t,e,r){var n,i,a=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function l(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{i="function"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var c,u=[],f=!1,h=-1;function p(){f&&c&&(f=!1,c.length?u=c.concat(u):h=-1,u.length&&d())}function d(){if(!f){var t=l(p);f=!0;for(var e=u.length;e;){for(c=u,u=[];++h<e;)c&&c[h].run();h=-1,e=u.length}c=null,f=!1,function(t){if(i===clearTimeout)return clearTimeout(t);if((i===s||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(t);try{i(t)}catch(e){try{return i.call(null,t)}catch(e){return i.call(this,t)}}}(t)}}function g(t,e){this.fun=t,this.array=e}function m(){}a.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];u.push(new g(t,e)),1!==u.length||f||l(d)},g.prototype.run=function(){this.fun.apply(null,this.array)},a.title="browser",a.browser=!0,a.env={},a.argv=[],a.version="",a.versions={},a.on=m,a.addListener=m,a.once=m,a.off=m,a.removeListener=m,a.removeAllListeners=m,a.emit=m,a.prependListener=m,a.prependOnceListener=m,a.listeners=function(t){return[]},a.binding=function(t){throw new Error("process.binding is not supported")},a.cwd=function(){return"/"},a.chdir=function(t){throw new Error("process.chdir is not supported")},a.umask=function(){return 0}},{}],463:[function(t,e,r){e.exports=t("gl-quat/slerp")},{"gl-quat/slerp":279}],464:[function(t,e,r){(function(r){for(var n=t("performance-now"),i="undefined"==typeof window?r:window,a=["moz","webkit"],o="AnimationFrame",s=i["request"+o],l=i["cancel"+o]||i["cancelRequest"+o],c=0;!s&&c<a.length;c++)s=i[a[c]+"Request"+o],l=i[a[c]+"Cancel"+o]||i[a[c]+"CancelRequest"+o];if(!s||!l){var u=0,f=0,h=[];s=function(t){if(0===h.length){var e=n(),r=Math.max(0,1e3/60-(e-u));u=r+e,setTimeout(function(){var t=h.slice(0);h.length=0;for(var e=0;e<t.length;e++)if(!t[e].cancelled)try{t[e].callback(u)}catch(t){setTimeout(function(){throw t},0)}},Math.round(r))}return h.push({handle:++f,callback:t,cancelled:!1}),f},l=function(t){for(var e=0;e<h.length;e++)h[e].handle===t&&(h[e].cancelled=!0)}}e.exports=function(t){return s.call(i,t)},e.exports.cancel=function(){l.apply(i,arguments)},e.exports.polyfill=function(t){t||(t=i),t.requestAnimationFrame=s,t.cancelAnimationFrame=l}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"performance-now":442}],465:[function(t,e,r){"use strict";var n=t("big-rat/add");e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a<r;++a)i[a]=n(t[a],e[a]);return i}},{"big-rat/add":62}],466:[function(t,e,r){"use strict";e.exports=function(t){for(var e=new Array(t.length),r=0;r<t.length;++r)e[r]=n(t[r]);return e};var n=t("big-rat")},{"big-rat":65}],467:[function(t,e,r){"use strict";var n=t("big-rat"),i=t("big-rat/mul");e.exports=function(t,e){for(var r=n(e),a=t.length,o=new Array(a),s=0;s<a;++s)o[s]=i(t[s],r);return o}},{"big-rat":65,"big-rat/mul":74}],468:[function(t,e,r){"use strict";var n=t("big-rat/sub");e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a<r;++a)i[a]=n(t[a],e[a]);return i}},{"big-rat/sub":76}],469:[function(t,e,r){"use strict";var n=t("compare-cell"),i=t("compare-oriented-cell"),a=t("cell-orientation");e.exports=function(t){t.sort(i);for(var e=t.length,r=0,o=0;o<e;++o){var s=t[o],l=a(s);if(0!==l){if(r>0){var c=t[r-1];if(0===n(s,c)&&a(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{"cell-orientation":99,"compare-cell":115,"compare-oriented-cell":116}],470:[function(t,e,r){"use strict";var n=t("array-bounds"),i=t("color-normalize"),a=t("update-diff"),o=t("pick-by-alias"),s=t("object-assign"),l=t("flatten-vertex-data"),c=t("to-float32"),u=c.float32,f=c.fract32;e.exports=function(t,e){"function"==typeof t?(e||(e={}),e.regl=t):e=t;e.length&&(e.positions=e);if(!(t=e.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");var r,c,p,d,g,m,v=t._gl,y={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},x=[];return d=t.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),c=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),p=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),g=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),m=t.buffer({usage:"static",type:"float",data:h}),k(e),r=t({vert:"\n\t\tprecision highp float;\n\n\t\tattribute vec2 position, positionFract;\n\t\tattribute vec4 error;\n\t\tattribute vec4 color;\n\n\t\tattribute vec2 direction, lineOffset, capOffset;\n\n\t\tuniform vec4 viewport;\n\t\tuniform float lineWidth, capSize;\n\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n\n\t\tvarying vec4 fragColor;\n\n\t\tvoid main() {\n\t\t\tfragColor = color / 255.;\n\n\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n\n\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n\n\t\t\tvec2 position = position + dxy;\n\n\t\t\tvec2 pos = (position + translate) * scale\n\t\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t\t+ (position + translate) * scaleFract\n\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n\t\t\tpos += pixelOffset / viewport.zw;\n\n\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n\t\t}\n\t\t",frag:"\n\t\tprecision mediump float;\n\n\t\tvarying vec4 fragColor;\n\n\t\tuniform float opacity;\n\n\t\tvoid main() {\n\t\t\tgl_FragColor = fragColor;\n\t\t\tgl_FragColor.a *= opacity;\n\t\t}\n\t\t",uniforms:{range:t.prop("range"),lineWidth:t.prop("lineWidth"),capSize:t.prop("capSize"),opacity:t.prop("opacity"),scale:t.prop("scale"),translate:t.prop("translate"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:d,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:c,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:p,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:g,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:m,stride:24,offset:0},lineOffset:{buffer:m,stride:24,offset:8},capOffset:{buffer:m,stride:24,offset:16}},primitive:"triangles",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport"),stencil:!1,instances:t.prop("count"),count:h.length}),s(b,{update:k,draw:_,destroy:M,regl:t,gl:v,canvas:v.canvas,groups:x}),b;function b(t){t?k(t):null===t&&M(),_()}function _(e){if("number"==typeof e)return w(e);e&&!Array.isArray(e)&&(e=[e]),t._refresh(),x.forEach(function(t,r){t&&(e&&(e[r]?t.draw=!0:t.draw=!1),t.draw?w(r):t.draw=!0)})}function w(t){"number"==typeof t&&(t=x[t]),null!=t&&t&&t.count&&t.color&&t.opacity&&t.positions&&t.positions.length>1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function k(t){if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map(function(t,c){var u=x[c];return t?("function"==typeof t?t={after:t}:"number"==typeof t[0]&&(t={positions:t}),t=o(t,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),u||(x[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},y,t)),a(u,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,"float64"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t="transparent"),!Array.isArray(t)||"number"==typeof t[0]){var n=t;t=Array(r);for(var a=0;a<r;a++)t[a]=n}if(t.length<r)throw Error("Not enough colors");for(var o=new Uint8Array(4*r),s=0;s<r;s++){var l=i(t[s],"uint8");o.set(l,4*s)}return o},range:function(t,e,r){var n=e.bounds;return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=f(e.scale),e.translateFract=f(e.translate),t},viewport:function(t){var e;return Array.isArray(t)?e={x:t[0],y:t[1],width:t[2]-t[0],height:t[3]-t[1]}:t?(e={x:t.x||t.left||0,y:t.y||t.top||0},t.right?e.width=t.right-e.x:e.width=t.w||t.width||0,t.bottom?e.height=t.bottom-e.y:e.height=t.h||t.height||0):e={x:0,y:0,width:v.drawingBufferWidth,height:v.drawingBufferHeight},e}}]),u):u}),e||r){var h=x.reduce(function(t,e,r){return t+(e?e.count:0)},0),m=new Float64Array(2*h),_=new Uint8Array(4*h),w=new Float32Array(4*h);x.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset,a=t.color,o=t.errors;n&&(_.set(a,4*i),w.set(o,4*i),m.set(r,2*i))}}),c(u(m)),p(f(m)),d(_),g(w)}}}function M(){c.destroy(),p.destroy(),d.destroy(),g.destroy(),m.destroy()}};var h=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]]},{"array-bounds":52,"color-normalize":107,"flatten-vertex-data":215,"object-assign":434,"pick-by-alias":445,"to-float32":512,"update-diff":523}],471:[function(t,e,r){"use strict";var n=t("color-normalize"),i=t("array-bounds"),a=t("object-assign"),o=t("glslify"),s=t("pick-by-alias"),l=t("flatten-vertex-data"),c=t("earcut"),u=t("array-normalize"),f=t("to-float32"),h=f.float32,p=f.fract32,d=t("es6-weak-map"),g=t("parse-rect");function m(t,e){if(!(this instanceof m))return new m(t,e);if("function"==typeof t?(e||(e={}),e.regl=t):e=t,e.length&&(e.positions=e),!(t=e.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");this.gl=t._gl,this.regl=t,this.passes=[],this.shaders=m.shaders.has(t)?m.shaders.get(t):m.shaders.set(t,m.createShaders(t)).get(t),this.update(e)}e.exports=m,m.dashMult=2,m.maxPatternLength=256,m.precisionThreshold=3e6,m.maxPoints=1e4,m.maxLines=2048,m.shaders=new d,m.createShaders=function(t){var e,r=t.buffer({usage:"static",type:"float",data:[0,1,0,0,1,1,1,0]}),n={primitive:"triangle strip",instances:t.prop("count"),count:4,offset:0,uniforms:{miterMode:function(t,e){return"round"===e.join?2:1},miterLimit:t.prop("miterLimit"),scale:t.prop("scale"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),thickness:t.prop("thickness"),dashPattern:t.prop("dashTexture"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),dashSize:t.prop("dashLength"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]},depth:t.prop("depth")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:function(t,e){return!e.overlay}},stencil:{enable:!1},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport")},i=t(a({vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\nattribute vec4 color;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n\t// the order is important\n\treturn position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n}\n\nvoid main() {\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineOffset = lineTop * 2. - 1.;\n\n\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n\ttangent = normalize(diff * scale * viewport.zw);\n\tvec2 normal = vec2(-tangent.y, tangent.x);\n\n\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n\n\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\n\nuniform float dashSize, pixelRatio, thickness, opacity, id;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvoid main() {\n\tfloat alpha = 1.;\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:16,divisor:1},color:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1}}},n));try{e=t(a({cull:{enable:!0,face:"back"},vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\nattribute vec4 aColor, bColor;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, translate;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\nuniform float miterLimit, miterMode;\n\nvarying vec4 fragColor;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 tangent;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nconst float REVERSE_THRESHOLD = -.875;\nconst float MIN_DIFF = 1e-6;\n\n// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n// TODO: precalculate dot products, normalize things beforehead etc.\n// TODO: refactor to rectangular algorithm\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nbool isNaN( float val ){\n return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n}\n\nvoid main() {\n\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n\n\t// adjust scale for horizontal bars\n\tvec2 scale = max(scale, MIN_DIFF);\n\tvec2 scaleRatio = scale * viewport.zw;\n\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineBot = 1. - lineTop;\n\n\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n\n\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n\n\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n\n\tvec2 prevDiff = aCoord - prevCoord;\n\tvec2 currDiff = bCoord - aCoord;\n\tvec2 nextDiff = nextCoord - bCoord;\n\n\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n\tvec2 currTangent = normalize(currDiff * scaleRatio);\n\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n\n\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n\n\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n\n\t// collapsed/unidirectional segment cases\n\t// FIXME: there should be more elegant solution\n\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n\t\tstartJoinDirection = currNormal;\n\t}\n\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n\t\tendJoinDirection = currNormal;\n\t}\n\tif (aCoord == bCoord) {\n\t\tendJoinDirection = startJoinDirection;\n\t\tcurrNormal = prevNormal;\n\t\tcurrTangent = prevTangent;\n\t}\n\n\ttangent = currTangent;\n\n\t//calculate join shifts relative to normals\n\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n\n\tfloat startMiterRatio = abs(1. / startJoinShift);\n\tfloat endMiterRatio = abs(1. / endJoinShift);\n\n\tvec2 startJoin = startJoinDirection * startMiterRatio;\n\tvec2 endJoin = endJoinDirection * endMiterRatio;\n\n\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n\tstartBotJoin = -startTopJoin;\n\n\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n\tendBotJoin = -endTopJoin;\n\n\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n\n\t//miter anti-clipping\n\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n\n\t//prevent close to reverse direction switch\n\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) < length(normalWidth * currNormal);\n\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) < length(normalWidth * currNormal);\n\n\tif (prevReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * scale + translate;\n\tvec2 aBotPosition = (aBotCoord) * scale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * scale + translate;\n\tvec2 bBotPosition = (bBotCoord) * scale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform float dashSize, pixelRatio, thickness, opacity, id, miterMode;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:"triangle",elements:function(t,e){return e.triangles},offset:0,vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n"]),uniforms:{scale:t.prop("scale"),color:t.prop("fill"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},m.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},m.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},m.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach(function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);"number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>m.precisionThreshold||e.scale[1]*e.viewport.height>m.precisionThreshold?t.shaders.rect(e):"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=m.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))}),this},m.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,o=this.gl;if(t.forEach(function(t,f){var d=e.passes[f];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=s(t,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow"}),d||(e.passes[f]=d={id:f,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=a({},m.defaults,t)),null!=t.thickness&&(d.thickness=parseFloat(t.thickness)),null!=t.opacity&&(d.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(d.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(d.overlay=!!t.overlay,f<m.maxLines&&(d.depth=2*(m.maxLines-1-f%m.maxLines)/m.maxLines-1)),null!=t.join&&(d.join=t.join),null!=t.hole&&(d.hole=t.hole),null!=t.fill&&(d.fill=t.fill?n(t.fill,"uint8"):null),null!=t.viewport&&(d.viewport=g(t.viewport)),d.viewport||(d.viewport=g([o.drawingBufferWidth,o.drawingBufferHeight])),null!=t.close&&(d.close=t.close),null===t.positions&&(t.positions=[]),t.positions){var v,y;if(t.positions.x&&t.positions.y){var x=t.positions.x,b=t.positions.y;y=d.count=Math.max(x.length,b.length),v=new Float64Array(2*y);for(var _=0;_<y;_++)v[2*_]=x[_],v[2*_+1]=b[_]}else v=l(t.positions,"float64"),y=d.count=Math.floor(v.length/2);var w=d.bounds=i(v,2);if(d.fill){for(var k=[],M={},A=0,T=0,S=0,E=d.count;T<E;T++){var C=v[2*T],L=v[2*T+1];isNaN(C)||isNaN(L)||null==C||null==L?(C=v[2*A],L=v[2*A+1],M[T]=A):A=T,k[S++]=C,k[S++]=L}for(var z=c(k,d.hole||[]),P=0,O=z.length;P<O;P++)null!=M[z[P]]&&(z[P]=M[z[P]]);d.triangles=z}var I=new Float64Array(v);u(I,2,w);var D=new Float64Array(2*y+6);d.close?v[0]===v[2*y-2]&&v[1]===v[2*y-1]?(D[0]=I[2*y-4],D[1]=I[2*y-3]):(D[0]=I[2*y-2],D[1]=I[2*y-1]):(D[0]=I[0],D[1]=I[1]),D.set(I,2),d.close?v[0]===v[2*y-2]&&v[1]===v[2*y-1]?(D[2*y+2]=I[2],D[2*y+3]=I[3],d.count-=1):(D[2*y+2]=I[0],D[2*y+3]=I[1],D[2*y+4]=I[2],D[2*y+5]=I[3]):(D[2*y+2]=I[2*y-2],D[2*y+3]=I[2*y-1],D[2*y+4]=I[2*y-2],D[2*y+5]=I[2*y-1]),d.positionBuffer(h(D)),d.positionFractBuffer(p(D))}if(t.range?d.range=t.range:d.range||(d.range=d.bounds),(t.range||t.positions)&&d.count){var R=d.bounds,B=R[2]-R[0],F=R[3]-R[1],N=d.range[2]-d.range[0],j=d.range[3]-d.range[1];d.scale=[B/N,F/j],d.translate=[-d.range[0]/N+R[0]/N||0,-d.range[1]/j+R[1]/j||0],d.scaleFract=p(d.scale),d.translateFract=p(d.translate)}if(t.dashes){var V,U=0;if(!t.dashes||t.dashes.length<2)U=1,V=new Uint8Array([255,255,255,255,255,255,255,255]);else{U=0;for(var q=0;q<t.dashes.length;++q)U+=t.dashes[q];V=new Uint8Array(U*m.dashMult);for(var H=0,G=255,W=0;W<2;W++)for(var Y=0;Y<t.dashes.length;++Y){for(var X=0,Z=t.dashes[Y]*m.dashMult*.5;X<Z;++X)V[H++]=G;G^=255}}d.dashLength=U,d.dashTexture({channels:1,data:V,width:V.length,height:1,mag:"linear",min:"linear"},0,0)}if(t.color){var $=d.count,J=t.color;J||(J="transparent");var K=new Uint8Array(4*$+4);if(Array.isArray(J)&&"number"!=typeof J[0]){for(var Q=0;Q<$;Q++){var tt=n(J[Q],"uint8");K.set(tt,4*Q)}K.set(n(J[0],"uint8"),4*$)}else for(var et=n(J,"uint8"),rt=0;rt<$+1;rt++)K.set(et,4*rt);d.colorBuffer({usage:"dynamic",type:"uint8",data:K})}}else e.passes[f]=null}),t.length<this.passes.length){for(var f=t.length;f<this.passes.length;f++){var d=e.passes[f];d&&(d.colorBuffer.destroy(),d.positionBuffer.destroy(),d.dashTexture.destroy())}this.passes.length=t.length}for(var v=[],y=0;y<this.passes.length;y++)null!==e.passes[y]&&v.push(e.passes[y]);return this.passes=v,this}},m.prototype.destroy=function(){return this.passes.forEach(function(t){t.colorBuffer.destroy(),t.positionBuffer.destroy(),t.dashTexture.destroy()}),this.passes.length=0,this}},{"array-bounds":52,"array-normalize":53,"color-normalize":107,earcut:155,"es6-weak-map":208,"flatten-vertex-data":215,glslify:390,"object-assign":434,"parse-rect":439,"pick-by-alias":445,"to-float32":512}],472:[function(t,e,r){"use strict";var n=t("./scatter"),i=t("object-assign");e.exports=function(t,e){var r=new n(t,e),a=r.render.bind(r);return i(a,{render:a,update:r.update.bind(r),draw:r.draw.bind(r),destroy:r.destroy.bind(r),regl:r.regl,gl:r.gl,canvas:r.gl.canvas,groups:r.groups,markers:r.markerCache,palette:r.palette}),a}},{"./scatter":473,"object-assign":434}],473:[function(t,e,r){"use strict";var n=t("color-normalize"),i=t("array-bounds"),a=t("color-id"),o=t("point-cluster"),s=t("object-assign"),l=t("glslify"),c=t("pick-by-alias"),u=t("update-diff"),f=t("flatten-vertex-data"),h=t("is-iexplorer"),p=t("to-float32"),d=t("parse-rect");function g(t,e){var r=this;if(!(this instanceof g))return new g(t,e);"function"==typeof t?(e||(e={}),e.regl=t):(e=t,t=null),e&&e.length&&(e.positions=e);var n,i=(t=e.regl)._gl,a=[];this.tooManyColors=h,n=t.texture({data:new Uint8Array(1020),width:255,height:1,type:"uint8",format:"rgba",wrapS:"clamp",wrapT:"clamp",mag:"nearest",min:"nearest"}),s(this,{regl:t,gl:i,groups:[],markerCache:[null],markerTextures:[null],palette:a,paletteIds:{},paletteTexture:n,maxColors:255,maxSize:100,canvas:i.canvas}),this.update(e);var o={uniforms:{pixelRatio:t.context("pixelRatio"),palette:n,paletteSize:function(t,e){return[r.tooManyColors?0:255,n.height]},scale:t.prop("scale"),scaleFract:t.prop("scaleFract"),translate:t.prop("translate"),translateFract:t.prop("translateFract"),opacity:t.prop("opacity"),marker:t.prop("markerTexture")},attributes:{x:function(t,e){return e.xAttr||{buffer:e.positionBuffer,stride:8,offset:0}},y:function(t,e){return e.yAttr||{buffer:e.positionBuffer,stride:8,offset:4}},xFract:function(t,e){return e.xAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:0}},yFract:function(t,e){return e.yAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:4}},size:function(t,e){return e.size.length?{buffer:e.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(255*e.size/r.maxSize)]}},borderSize:function(t,e){return e.borderSize.length?{buffer:e.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(255*e.borderSize/r.maxSize)]}},colorId:function(t,e){return e.color.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:0}:{constant:r.tooManyColors?a.slice(4*e.color,4*e.color+4):[e.color]}},borderColorId:function(t,e){return e.borderColor.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:r.tooManyColors?4:2}:{constant:r.tooManyColors?a.slice(4*e.borderColor,4*e.borderColor+4):[e.borderColor]}},isActive:function(t,e){return!0===e.activation?{constant:[1]}:e.activation?e.activation:{constant:[0]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport"),stencil:{enable:!1},depth:{enable:!1},elements:t.prop("elements"),count:t.prop("count"),offset:t.prop("offset"),primitive:"points"},c=s({},o);c.frag=l(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\n\nuniform sampler2D marker;\nuniform float pixelRatio, opacity;\n\nfloat smoothStep(float x, float y) {\n return 1.0 / (1.0 + exp(50.0*(x - y)));\n}\n\nvoid main() {\n float dist = texture2D(marker, gl_PointCoord).r, delta = fragWidth;\n\n // max-distance alpha\n if (dist < 0.003) discard;\n\n // null-border case\n if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\n float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\n gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\n }\n else {\n float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\n float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\n\n vec4 color = fragBorderColor;\n color.a *= borderColorAmt;\n color = mix(color, fragColor, colorAmt);\n color.a *= opacity;\n\n gl_FragColor = color;\n }\n\n}\n"]),c.vert=l(["precision mediump float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\nuniform float pixelRatio;\nuniform sampler2D palette;\n\nconst float maxSize = 100.;\nconst float borderLevel = .5;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragPointSize, fragBorderRadius,\n fragWidth, fragBorderColorLevel, fragColorLevel;\n\nvec2 paletteCoord(float id) {\n return vec2(\n (mod(id, paletteSize.x) + .5) / paletteSize.x,\n (floor(id / paletteSize.x) + .5) / paletteSize.y\n );\n}\nvec2 paletteCoord(vec2 id) {\n return vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n );\n}\nvec4 getColor(vec4 id) {\n // zero-palette means we deal with direct buffer\n if (paletteSize.x == 0.) return id / 255.;\n return texture2D(palette, paletteCoord(id.xy));\n}\n\nvoid main() {\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = 2. * size * pixelRatio;\n fragPointSize = size * pixelRatio;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n fragColor = color;\n fragBorderColor = borderColor;\n fragWidth = 1. / gl_PointSize;\n\n fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\n fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\n}\n"]),this.drawMarker=t(c);var u=s({},o);u.frag=l(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\n\nuniform float opacity;\nvarying float fragBorderRadius, fragWidth;\n\nfloat smoothStep(float edge0, float edge1, float x) {\n\tfloat t;\n\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n\treturn t * t * (3.0 - 2.0 * t);\n}\n\nvoid main() {\n\tfloat radius, alpha = 1.0, delta = fragWidth;\n\n\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\n\n\tif (radius > 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n"]),u.vert=l(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\nuniform vec2 paletteSize;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nvec2 paletteCoord(float id) {\n return vec2(\n (mod(id, paletteSize.x) + .5) / paletteSize.x,\n (floor(id / paletteSize.x) + .5) / paletteSize.y\n );\n}\nvec2 paletteCoord(vec2 id) {\n return vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n );\n}\n\nvec4 getColor(vec4 id) {\n // zero-palette means we deal with direct buffer\n if (paletteSize.x == 0.) return id / 255.;\n return texture2D(palette, paletteCoord(id.xy));\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pixelRatio;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n"]),h&&(u.frag=u.frag.replace("smoothstep","smoothStep"),c.frag=c.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(u)}e.exports=g,g.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},g.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];return e.length&&(t=this).update.apply(t,e),this.draw(),this},g.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];var n=this.groups;if(1===e.length&&Array.isArray(e[0])&&(null===e[0][0]||Array.isArray(e[0][0]))&&(e=e[0]),this.regl._refresh(),e.length)for(var i=0;i<e.length;i++)t.drawItem(i,e[i]);else n.forEach(function(e,r){t.drawItem(r)});return this},g.prototype.drawItem=function(t,e){var r=this.groups,n=r[t];if("number"==typeof e&&(t=e,n=r[e],e=null),n&&n.count&&n.opacity){n.activation[0]&&this.drawCircle(this.getMarkerDrawOptions(0,n,e));for(var i=[],a=1;a<n.activation.length;a++)n.activation[a]&&(!0===n.activation[a]||n.activation[a].data.length)&&i.push.apply(i,this.getMarkerDrawOptions(a,n,e));i.length&&this.drawMarker(i)}},g.prototype.getMarkerDrawOptions=function(t,e,r){var n=e.range,i=e.tree,a=e.viewport,o=e.activation,l=e.selectionBuffer,c=e.count;this.regl;if(!i)return r?[s({},e,{markerTexture:this.markerTextures[t],activation:o[t],count:r.length,elements:r,offset:0})]:[s({},e,{markerTexture:this.markerTextures[t],activation:o[t],offset:0})];var u=[],f=i.range(n,{lod:!0,px:[(n[2]-n[0])/a.width,(n[3]-n[1])/a.height]});if(r){for(var h=o[t].data,p=new Uint8Array(c),d=0;d<r.length;d++){var g=r[d];p[g]=h?h[g]:1}l.subdata(p)}for(var m=f.length;m--;){var v=f[m],y=v[0],x=v[1];u.push(s({},e,{markerTexture:this.markerTextures[t],activation:r?l:o[t],offset:y,count:x-y}))}return u},g.prototype.update=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){1===e.length&&Array.isArray(e[0])&&(e=e[0]);var n=this.groups,a=this.gl,l=this.regl,h=this.maxSize,m=this.maxColors,v=this.palette;this.groups=n=e.map(function(e,r){var y=n[r];if(void 0===e)return y;null===e?e={positions:null}:"function"==typeof e?e={ondraw:e}:"number"==typeof e[0]&&(e={positions:e}),null===(e=c(e,{positions:"positions data points",snap:"snap cluster lod tree",size:"sizes size radius",borderSize:"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline",color:"colors color fill fill-color fillColor",borderColor:"borderColors borderColor stroke stroke-color strokeColor",marker:"markers marker shape",range:"range dataBox databox",viewport:"viewport viewPort viewBox viewbox",opacity:"opacity alpha transparency",bounds:"bound bounds boundaries limits"})).positions&&(e.positions=[]),y||(n[r]=y={id:r,scale:null,translate:null,scaleFract:null,translateFract:null,activation:[],selectionBuffer:l.buffer({data:new Uint8Array(0),usage:"stream",type:"uint8"}),sizeBuffer:l.buffer({data:new Uint8Array(0),usage:"dynamic",type:"uint8"}),colorBuffer:l.buffer({data:new Uint8Array(0),usage:"dynamic",type:"uint8"}),positionBuffer:l.buffer({data:new Uint8Array(0),usage:"dynamic",type:"float"}),positionFractBuffer:l.buffer({data:new Uint8Array(0),usage:"dynamic",type:"float"})},e=s({},g.defaults,e)),!e.positions||"marker"in e||(e.marker=y.marker,delete y.marker),!e.marker||"positions"in e||(e.positions=y.positions,delete y.positions);var x=0,b=0;if(u(y,e,[{snap:!0,size:function(t,e){return null==t&&(t=g.defaults.size),x+=t&&t.length?1:0,t},borderSize:function(t,e){return null==t&&(t=g.defaults.borderSize),x+=t&&t.length?1:0,t},opacity:parseFloat,color:function(e,r){return null==e&&(e=g.defaults.color),e=t.updateColor(e),b++,e},borderColor:function(e,r){return null==e&&(e=g.defaults.borderColor),e=t.updateColor(e),b++,e},bounds:function(t,e,r){return"range"in r||(r.range=null),t},positions:function(t,e,r){var n=e.snap,a=e.positionBuffer,s=e.positionFractBuffer,c=e.selectionBuffer;if(t.x||t.y)return t.x.length?e.xAttr={buffer:l.buffer(t.x),offset:0,stride:4,count:t.x.length}:e.xAttr={buffer:t.x.buffer,offset:4*t.x.offset||0,stride:4*(t.x.stride||1),count:t.x.count},t.y.length?e.yAttr={buffer:l.buffer(t.y),offset:0,stride:4,count:t.y.length}:e.yAttr={buffer:t.y.buffer,offset:4*t.y.offset||0,stride:4*(t.y.stride||1),count:t.y.count},e.count=Math.max(e.xAttr.count,e.yAttr.count),t;t=f(t,"float64");var u=e.count=Math.floor(t.length/2),h=e.bounds=u?i(t,2):null;if(r.range||e.range||(delete e.range,r.range=h),r.marker||e.marker||(delete e.marker,r.marker=null),n&&(!0===n||u>n)?e.tree=o(t,{bounds:h}):n&&n.length&&(e.tree=n),e.tree){var d={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(d):e.elements=l.elements(d)}return a({data:p.float(t),usage:"dynamic"}),s({data:p.fract(t),usage:"dynamic"}),c({data:new Uint8Array(u),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach(function(t){return t&&t.destroy&&t.destroy()}),i.length=0,e&&"number"!=typeof e[0]){for(var a=[],o=0,s=Math.min(e.length,r.count);o<s;o++){var c=t.addMarker(e[o]);a[c]||(a[c]=new Uint8Array(r.count)),a[c][o]=1}for(var u=0;u<a.length;u++)if(a[u]){var f={data:a[u],type:"uint8",usage:"static"};i[u]?i[u](f):i[u]=l.buffer(f),i[u].data=a[u]}}else{i[t.addMarker(e)]=!0}return e},range:function(t,e,r){var n=e.bounds;if(n)return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=p.fract(e.scale),e.translateFract=p.fract(e.translate),t},viewport:function(t){return d(t||[a.drawingBufferWidth,a.drawingBufferHeight])}}]),x){var _=y.count,w=y.size,k=y.borderSize,M=y.sizeBuffer,A=new Uint8Array(2*_);if(w.length||k.length)for(var T=0;T<_;T++)A[2*T]=Math.round(255*(null==w[T]?w:w[T])/h),A[2*T+1]=Math.round(255*(null==k[T]?k:k[T])/h);M({data:A,usage:"dynamic"})}if(b){var S,E=y.count,C=y.color,L=y.borderColor,z=y.colorBuffer;if(t.tooManyColors){if(C.length||L.length){S=new Uint8Array(8*E);for(var P=0;P<E;P++){var O=C[P];S[8*P]=v[4*O],S[8*P+1]=v[4*O+1],S[8*P+2]=v[4*O+2],S[8*P+3]=v[4*O+3];var I=L[P];S[8*P+4]=v[4*I],S[8*P+5]=v[4*I+1],S[8*P+6]=v[4*I+2],S[8*P+7]=v[4*I+3]}}}else if(C.length||L.length){S=new Uint8Array(4*E+2);for(var D=0;D<E;D++)null!=C[D]&&(S[4*D]=C[D]%m,S[4*D+1]=Math.floor(C[D]/m)),null!=L[D]&&(S[4*D+2]=L[D]%m,S[4*D+3]=Math.floor(L[D]/m))}z({data:S||new Uint8Array(0),type:"uint8",usage:"dynamic"})}return y})}},g.prototype.addMarker=function(t){var e,r=this.markerTextures,n=this.regl,i=this.markerCache,a=null==t?0:i.indexOf(t);if(a>=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o<s;o++)e[o]=255*t[o]}var l=Math.floor(Math.sqrt(e.length));return a=r.length,i.push(t),r.push(n.texture({channels:1,data:e,radius:l,mag:"linear",min:"linear"})),a},g.prototype.updateColor=function(t){var e=this.paletteIds,r=this.palette,i=this.maxColors;Array.isArray(t)||(t=[t]);var o=[];if("number"==typeof t[0]){var s=[];if(Array.isArray(t))for(var l=0;l<t.length;l+=4)s.push(t.slice(l,l+4));else for(var c=0;c<t.length;c+=4)s.push(t.subarray(c,c+4));t=s}for(var u=0;u<t.length;u++){var f=t[u];f=n(f,"uint8");var h=a(f,!1);if(null==e[h]){var p=r.length;e[h]=Math.floor(p/4),r[p]=f[0],r[p+1]=f[1],r[p+2]=f[2],r[p+3]=f[3]}o[u]=e[h]}return!this.tooManyColors&&r.length>i*i*4&&(this.tooManyColors=!0),this.updatePalette(r),1===o.length?o[0]:o},g.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i<n*e;i++)t.push(0,0,0,0);r.height<n&&r.resize(e,n),r.subimage({width:Math.min(.25*t.length,e),height:n,data:t},0,0)}},g.prototype.destroy=function(){return this.groups.forEach(function(t){t.sizeBuffer.destroy(),t.positionBuffer.destroy(),t.positionFractBuffer.destroy(),t.colorBuffer.destroy(),t.activation.forEach(function(t){return t&&t.destroy&&t.destroy()}),t.selectionBuffer.destroy(),t.elements&&t.elements.destroy()}),this.groups.length=0,this.paletteTexture.destroy(),this.markerTextures.forEach(function(t){return t&&t.destroy&&t.destroy()}),this}},{"array-bounds":52,"color-id":105,"color-normalize":107,"flatten-vertex-data":215,glslify:390,"is-iexplorer":400,"object-assign":434,"parse-rect":439,"pick-by-alias":445,"point-cluster":449,"to-float32":512,"update-diff":523}],474:[function(t,e,r){"use strict";var n=t("regl-scatter2d/scatter"),i=t("pick-by-alias"),a=t("array-bounds"),o=t("raf"),s=t("array-range"),l=t("parse-rect"),c=t("flatten-vertex-data");function u(t,e){if(!(this instanceof u))return new u(t,e);this.traces=[],this.passes={},this.regl=t,this.scatter=n(t),this.canvas=this.scatter.canvas}function f(t,e,r){return(null!=t.id?t.id:t)<<16|(255&e)<<8|255&r}function h(t,e,r){var n,i,a,o,s=t[e],l=t[r];return s.length>2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x+s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y+l.height),[a,n,o,i]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}e.exports=u,u.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o(function(){e.draw(),e.dirty=!0,e.planned=null})):(this.draw(),this.dirty=!0,o(function(){e.dirty=!1})),this)},u.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;n<e.length;n++)this.updateItem(n,e[n]);this.traces=this.traces.filter(Boolean);for(var i=[],a=0,o=0;o<this.traces.length;o++){for(var s=this.traces[o],l=this.traces[o].passes,c=0;c<l.length;c++)i.push(this.passes[l[c]]);s.passOffset=a,a+=s.passes.length}return(t=this.scatter).update.apply(t,i),this}},u.prototype.updateItem=function(t,e){var r=this.regl;if(null===e)return this.traces[t]=null,this;if(!e)return this;var n,o=i(e,{data:"data items columns rows values dimensions samples x",snap:"snap cluster",size:"sizes size radius",color:"colors color fill fill-color fillColor",opacity:"opacity alpha transparency opaque",borderSize:"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline",borderColor:"borderColors borderColor bordercolor stroke stroke-color strokeColor",marker:"markers marker shape",range:"range ranges databox dataBox",viewport:"viewport viewBox viewbox",domain:"domain domains area areas",padding:"pad padding paddings pads margin margins",transpose:"transpose transposed",diagonal:"diagonal diag showDiagonal",upper:"upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf",lower:"lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower"}),s=this.traces[t]||(this.traces[t]={id:t,buffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),color:"black",marker:null,size:12,borderColor:"transparent",borderSize:1,viewport:l([r._gl.drawingBufferWidth,r._gl.drawingBufferHeight]),padding:[0,0,0,0],opacity:1,diagonal:!0,upper:!0,lower:!0});if(null!=o.color&&(s.color=o.color),null!=o.size&&(s.size=o.size),null!=o.marker&&(s.marker=o.marker),null!=o.borderColor&&(s.borderColor=o.borderColor),null!=o.borderSize&&(s.borderSize=o.borderSize),null!=o.opacity&&(s.opacity=o.opacity),o.viewport&&(s.viewport=l(o.viewport)),null!=o.diagonal&&(s.diagonal=o.diagonal),null!=o.upper&&(s.upper=o.upper),null!=o.lower&&(s.lower=o.lower),o.data){s.buffer(c(o.data)),s.columns=o.data.length,s.count=o.data[0].length,s.bounds=[];for(var u=0;u<s.columns;u++)s.bounds[u]=a(o.data[u],1)}o.range&&(s.range=o.range,n=s.range&&"number"!=typeof s.range[0]),o.domain&&(s.domain=o.domain);var d=!1;null!=o.padding&&(Array.isArray(o.padding)&&o.padding.length===s.columns&&"number"==typeof o.padding[o.padding.length-1]?(s.padding=o.padding.map(p),d=!0):s.padding=p(o.padding));var g=s.columns,m=s.count,v=s.viewport.width,y=s.viewport.height,x=s.viewport.x,b=s.viewport.y,_=v/g,w=y/g;s.passes=[];for(var k=0;k<g;k++)for(var M=0;M<g;M++)if((s.diagonal||M!==k)&&(s.upper||!(k>M))&&(s.lower||!(k<M))){var A=f(s.id,k,M),T=this.passes[A]||(this.passes[A]={});if(o.data&&(o.transpose?T.positions={x:{buffer:s.buffer,offset:M,count:m,stride:g},y:{buffer:s.buffer,offset:k,count:m,stride:g}}:T.positions={x:{buffer:s.buffer,offset:M*m,count:m},y:{buffer:s.buffer,offset:k*m,count:m}},T.bounds=h(s.bounds,k,M)),o.domain||o.viewport||o.data){var S=d?h(s.padding,k,M):s.padding;if(s.domain){var E=h(s.domain,k,M),C=E[0],L=E[1],z=E[2],P=E[3];T.viewport=[x+C*v+S[0],b+L*y+S[1],x+z*v-S[2],b+P*y-S[3]]}else T.viewport=[x+M*_+_*S[0],b+k*w+w*S[1],x+(M+1)*_-_*S[2],b+(k+1)*w-w*S[3]]}o.color&&(T.color=s.color),o.size&&(T.size=s.size),o.marker&&(T.marker=s.marker),o.borderSize&&(T.borderSize=s.borderSize),o.borderColor&&(T.borderColor=s.borderColor),o.opacity&&(T.opacity=s.opacity),o.range&&(T.range=n?h(s.range,k,M):s.range||T.bounds),s.passes.push(A)}return this},u.prototype.draw=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=[],i=0;i<e.length;i++)if("number"==typeof e[i]){var a=this.traces[e[i]],o=a.passes,l=a.passOffset;n.push.apply(n,s(l,l+o.length))}else if(e[i].length){var c=e[i],u=this.traces[i],f=u.passes,h=u.passOffset;f=f.map(function(t,e){n[h+e]=c})}(t=this.scatter).draw.apply(t,n)}else this.scatter.draw();return this},u.prototype.destroy=function(){return this.traces.forEach(function(t){t.buffer&&t.buffer.destroy&&t.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this}},{"array-bounds":52,"array-range":54,"flatten-vertex-data":215,"parse-rect":439,"pick-by-alias":445,raf:464,"regl-scatter2d/scatter":473}],475:[function(t,e,r){var n,i;n=this,i=function(){function t(t,e){this.id=V++,this.type=t,this.data=e}function e(t){return"["+function t(e){if(0===e.length)return[];var r=e.charAt(0),n=e.charAt(e.length-1);if(1<e.length&&r===n&&('"'===r||"'"===r))return['"'+e.substr(1,e.length-2).replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];if(r=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(e))return t(e.substr(0,r.index)).concat(t(r[1])).concat(t(e.substr(r.index+r[0].length)));if(1===(r=e.split(".")).length)return['"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];for(e=[],n=0;n<r.length;++n)e=e.concat(t(r[n]));return e}(t).join("][")+"]"}function r(t){return"string"==typeof t?t.split():t}function n(t){return"string"==typeof t?document.querySelector(t):t}function i(t){var e,i,a,o,s=t||{};t={};var l=[],c=[],u="undefined"==typeof window?1:window.devicePixelRatio,f=!1,h=function(t){},p=function(){};if("string"==typeof s?e=document.querySelector(s):"object"==typeof s&&("string"==typeof s.nodeName&&"function"==typeof s.appendChild&&"function"==typeof s.getBoundingClientRect?e=s:"function"==typeof s.drawArrays||"function"==typeof s.drawElements?a=(o=s).canvas:("gl"in s?o=s.gl:"canvas"in s?a=n(s.canvas):"container"in s&&(i=n(s.container)),"attributes"in s&&(t=s.attributes),"extensions"in s&&(l=r(s.extensions)),"optionalExtensions"in s&&(c=r(s.optionalExtensions)),"onDone"in s&&(h=s.onDone),"profile"in s&&(f=!!s.profile),"pixelRatio"in s&&(u=+s.pixelRatio))),e&&("canvas"===e.nodeName.toLowerCase()?a=e:i=e),!o){if(!a){if(!(e=function(t,e,r){function n(){var e=window.innerWidth,n=window.innerHeight;t!==document.body&&(e=(n=t.getBoundingClientRect()).right-n.left,n=n.bottom-n.top),i.width=r*e,i.height=r*n,j(i.style,{width:e+"px",height:n+"px"})}var i=document.createElement("canvas");return j(i.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(i),t===document.body&&(i.style.position="absolute",j(t.style,{margin:0,padding:0})),window.addEventListener("resize",n,!1),n(),{canvas:i,onDestroy:function(){window.removeEventListener("resize",n),t.removeChild(i)}}}(i||document.body,0,u)))return null;a=e.canvas,p=e.onDestroy}o=function(t,e){function r(r){try{return t.getContext(r,e)}catch(t){return null}}return r("webgl")||r("experimental-webgl")||r("webgl-experimental")}(a,t)}return o?{gl:o,canvas:a,container:i,extensions:l,optionalExtensions:c,pixelRatio:u,profile:f,onDone:h,onDestroy:p}:(p(),h("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function a(t,e){for(var r=Array(t),n=0;n<t;++n)r[n]=e(n);return r}function o(t){var e,r;return e=(65535<t)<<4,e|=r=(255<(t>>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function s(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[o(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[o(t.byteLength)>>2].push(t)}var r=a(8,function(){return[]});return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function l(t){return!!t&&"object"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&"number"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||Y(t.data))}function c(t,e,r,n,i,a){for(var o=0;o<e;++o)for(var s=t[o],l=0;l<r;++l)for(var c=s[l],u=0;u<n;++u)i[a++]=c[u]}function u(t){return 0|$[Object.prototype.toString.call(t)]}function f(t,e){for(var r=0;r<e.length;++r)t[r]=e[r]}function h(t,e,r,n,i,a,o){for(var s=0,l=0;l<r;++l)for(var c=0;c<n;++c)t[s++]=e[i*l+a*c+o]}function p(t,e,r,n){function i(e){this.id=c++,this.buffer=t.createBuffer(),this.type=e,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,r.profile&&(this.stats={size:0})}function a(e,r,n){e.byteLength=r.byteLength,t.bufferData(e.type,r,n)}function o(t,e,r,n,i,o){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0<e.length)if(Array.isArray(e[0])){i=tt(e);for(var s=n=1;s<i.length;++s)n*=i[s];t.dimension=n,a(t,e=Q(e,i,t.dtype),r),o?t.persistentData=e:G.freeType(e)}else"number"==typeof e[0]?(t.dimension=i,f(i=G.allocType(t.dtype,e.length),e),a(t,i,r),o?t.persistentData=i:G.freeType(i)):Y(e[0])&&(t.dimension=e[0].length,t.dtype=n||u(e[0])||5126,a(t,e=Q(e,[e.length,e[0].length],t.dtype),r),o?t.persistentData=e:G.freeType(e))}else if(Y(e))t.dtype=n||u(e),t.dimension=i,a(t,e,r),o&&(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(l(e)){i=e.shape;var c=e.stride,p=(s=e.offset,0),d=0,g=0,m=0;1===i.length?(p=i[0],d=1,g=c[0],m=0):2===i.length&&(p=i[0],d=i[1],g=c[0],m=c[1]),t.dtype=n||u(e.data)||5126,t.dimension=d,h(i=G.allocType(t.dtype,p*d),e.data,p,d,g,m,s),a(t,i,r),o?t.persistentData=i:G.freeType(i)}}function s(r){e.bufferCount--;for(var i=0;i<n.state.length;++i){var a=n.state[i];a.buffer===r&&(t.disableVertexAttribArray(i),a.buffer=null)}t.deleteBuffer(r.buffer),r.buffer=null,delete p[r.id]}var c=0,p={};i.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},i.prototype.destroy=function(){s(this)};var d=[];return r.profile&&(e.getTotalBufferSize=function(){var t=0;return Object.keys(p).forEach(function(e){t+=p[e].stats.size}),t}),{create:function(n,a,c,d){function g(e){var n=35044,i=null,a=0,s=0,c=1;return Array.isArray(e)||Y(e)||l(e)?i=e:"number"==typeof e?a=0|e:e&&("data"in e&&(i=e.data),"usage"in e&&(n=K[e.usage]),"type"in e&&(s=J[e.type]),"dimension"in e&&(c=0|e.dimension),"length"in e&&(a=0|e.length)),m.bind(),i?o(m,i,n,s,c,d):(a&&t.bufferData(m.type,a,n),m.dtype=s||5121,m.usage=n,m.dimension=c,m.byteLength=a),r.profile&&(m.stats.size=m.byteLength*et[m.dtype]),g}e.bufferCount++;var m=new i(a);return p[m.id]=m,c||g(n),g._reglType="buffer",g._buffer=m,g.subdata=function(e,r){var n,i=0|(r||0);if(m.bind(),Y(e))t.bufferSubData(m.type,i,e);else if(Array.isArray(e)){if(0<e.length)if("number"==typeof e[0]){var a=G.allocType(m.dtype,e.length);f(a,e),t.bufferSubData(m.type,i,a),G.freeType(a)}else(Array.isArray(e[0])||Y(e[0]))&&(n=tt(e),a=Q(e,n,m.dtype),t.bufferSubData(m.type,i,a),G.freeType(a))}else if(l(e)){n=e.shape;var o=e.stride,s=a=0,c=0,p=0;1===n.length?(a=n[0],s=1,c=o[0],p=0):2===n.length&&(a=n[0],s=n[1],c=o[0],p=o[1]),n=Array.isArray(e.data)?m.dtype:u(e.data),h(n=G.allocType(n,a*s),e.data,a,s,c,p,e.offset),t.bufferSubData(m.type,i,n),G.freeType(n)}return g},r.profile&&(g.stats=m.stats),g.destroy=function(){s(m)},g},createStream:function(t,e){var r=d.pop();return r||(r=new i(t)),r.bind(),o(r,e,35040,0,1,!1),r},destroyStream:function(t){d.push(t)},clear:function(){X(p).forEach(s),d.forEach(s)},getBuffer:function(t){return t&&t._buffer instanceof i?t._buffer:null},restore:function(){X(p).forEach(function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)})},_initBuffer:o}}function d(t,e,r,n){function i(t){this.id=c++,s[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function a(n,i,a,o,s,c,u){if(n.buffer.bind(),i){var f=u;u||Y(i)&&(!l(i)||Y(i.data))||(f=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,i,a,f,3)}else t.bufferData(34963,c,a),n.buffer.dtype=f||5121,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=c;if(f=u,!u){switch(n.buffer.dtype){case 5121:case 5120:f=5121;break;case 5123:case 5122:f=5123;break;case 5125:case 5124:f=5125}n.buffer.dtype=f}n.type=f,0>(i=s)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function s(t){if(t)if("number"==typeof t)c(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,o=0,h=0;Array.isArray(t)||Y(t)||l(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=K[t.usage]),"primitive"in t&&(n=rt[t.primitive]),"count"in t&&(i=0|t.count),"type"in t&&(h=u[t.type]),"length"in t?o=0|t.length:(o=i,5123===h||5122===h?o*=2:5125!==h&&5124!==h||(o*=4))),a(f,e,r,n,i,o,h)}else c(),f.primType=4,f.vertCount=0,f.type=5121;return s}var c=r.create(null,34963,!0),f=new i(c._buffer);return n.elementsCount++,s(t),s._reglType="elements",s._elements=f,s.subdata=function(t,e){return c.subdata(t,e),s},s.destroy=function(){o(f)},s},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),a(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){X(s).forEach(o)}}}function g(t){for(var e=G.allocType(5123,t.length),r=0;r<t.length;++r)if(isNaN(t[r]))e[r]=65535;else if(1/0===t[r])e[r]=31744;else if(-1/0===t[r])e[r]=64512;else{nt[0]=t[r];var n=(a=it[0])>>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15<i?n+31744:n+(i+15<<10)+a}return e}function m(t){return Array.isArray(t)||Y(t)}function v(t){return"[object "+t+"]"}function y(t){return Array.isArray(t)&&(0===t.length||"number"==typeof t[0])}function x(t){return!(!Array.isArray(t)||0===t.length||!m(t[0]))}function b(t){return Object.prototype.toString.call(t)}function _(t){if(!t)return!1;var e=b(t);return 0<=pt.indexOf(e)||(y(t)||x(t)||l(t))}function w(t,e){36193===t.type?(t.data=g(e),G.freeType(e)):t.data=e}function k(t,e,r,n,i,a){if(t="undefined"!=typeof gt[t]?gt[t]:st[t]*dt[e],a&&(t*=6),i){for(n=0;1<=r;)n+=t*r*r,r/=2;return n}return t*r*n}function M(t,e,r,n,i,a,o){function s(){this.format=this.internalformat=6408,this.type=5121,this.flipY=this.premultiplyAlpha=this.compressed=!1,this.unpackAlignment=1,this.colorSpace=37444,this.channels=this.height=this.width=0}function c(t,e){t.internalformat=e.internalformat,t.format=e.format,t.type=e.type,t.compressed=e.compressed,t.premultiplyAlpha=e.premultiplyAlpha,t.flipY=e.flipY,t.unpackAlignment=e.unpackAlignment,t.colorSpace=e.colorSpace,t.width=e.width,t.height=e.height,t.channels=e.channels}function u(t,e){if("object"==typeof e&&e){"premultiplyAlpha"in e&&(t.premultiplyAlpha=e.premultiplyAlpha),"flipY"in e&&(t.flipY=e.flipY),"alignment"in e&&(t.unpackAlignment=e.alignment),"colorSpace"in e&&(t.colorSpace=q[e.colorSpace]),"type"in e&&(t.type=H[e.type]);var r=t.width,n=t.height,i=t.channels,a=!1;"shape"in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&&(i=e.shape[2],a=!0)):("radius"in e&&(r=n=e.radius),"width"in e&&(r=e.width),"height"in e&&(n=e.height),"channels"in e&&(i=e.channels,a=!0)),t.width=0|r,t.height=0|n,t.channels=0|i,r=!1,"format"in e&&(r=e.format,n=t.internalformat=W[r],t.format=pt[n],r in H&&!("type"in e)&&(t.type=H[r]),r in J&&(t.compressed=!0),r=!0),!a&&r?t.channels=st[t.format]:a&&!r&&t.channels!==ot[t.format]&&(t.format=t.internalformat=ot[t.channels])}}function f(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function h(){s.call(this),this.yOffset=this.xOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function p(t,e){var r=null;if(_(e)?r=e:e&&(u(t,e),"x"in e&&(t.xOffset=0|e.x),"y"in e&&(t.yOffset=0|e.y),_(e.data)&&(r=e.data)),e.copy){var n=i.viewportWidth,a=i.viewportHeight;t.width=t.width||n-t.xOffset,t.height=t.height||a-t.yOffset,t.needsCopy=!0}else if(r){if(Y(r))t.channels=t.channels||4,t.data=r,"type"in e||5121!==t.type||(t.type=0|$[Object.prototype.toString.call(r)]);else if(y(r)){switch(t.channels=t.channels||4,a=(n=r).length,t.type){case 5121:case 5123:case 5125:case 5126:(a=G.allocType(t.type,a)).set(n),t.data=a;break;case 36193:t.data=g(n)}t.alignment=1,t.needsFree=!0}else if(l(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|$[Object.prototype.toString.call(n)]);a=r.shape;var o,s,c,f,h=r.stride;3===a.length?(c=a[2],f=h[2]):f=c=1,o=a[0],s=a[1],a=h[0],h=h[1],t.alignment=1,t.width=o,t.height=s,t.channels=c,t.format=t.internalformat=ot[c],t.needsFree=!0,o=f,r=r.offset,c=t.width,f=t.height,s=t.channels;for(var p=G.allocType(36193===t.type?5126:t.type,c*f*s),d=0,v=0;v<f;++v)for(var k=0;k<c;++k)for(var M=0;M<s;++M)p[d++]=n[a*k+h*v+o*M+r];w(t,p)}else if(b(r)===lt||b(r)===ct)b(r)===lt?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(b(r)===ut)t.element=r,t.width=r.width,t.height=r.height,t.channels=4;else if(b(r)===ft)t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(b(r)===ht)t.element=r,t.width=r.videoWidth,t.height=r.videoHeight,t.channels=4;else if(x(r)){for(n=t.width||r[0].length,a=t.height||r.length,h=t.channels,h=m(r[0][0])?h||r[0][0].length:h||1,o=Z.shape(r),c=1,f=0;f<o.length;++f)c*=o[f];c=G.allocType(36193===t.type?5126:t.type,c),Z.flatten(r,o,"",c),w(t,c),t.alignment=1,t.width=n,t.height=a,t.channels=h,t.format=t.internalformat=ot[h],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function d(e,r,i,a,o){var s=e.element,l=e.data,c=e.internalformat,u=e.format,h=e.type,p=e.width,d=e.height;f(e),s?t.texSubImage2D(r,o,i,a,u,h,s):e.compressed?t.compressedTexSubImage2D(r,o,i,a,c,p,d,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,i,a,e.xOffset,e.yOffset,p,d)):t.texSubImage2D(r,o,i,a,p,d,u,h,l)}function v(){return dt.pop()||new h}function M(t){t.needsFree&&G.freeType(t.data),h.call(t),dt.push(t)}function A(){s.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)}function T(t,e,r){var n=t.images[0]=v();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function S(t,e){var r=null;if(_(e))c(r=t.images[0]=v(),t),p(r,e),t.mipmask=1;else if(u(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,i=0;i<n.length;++i)c(r=t.images[i]=v(),t),r.width>>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<<i;else c(r=t.images[0]=v(),t),p(r,e),t.mipmask=1;c(t,t.images[0])}function E(e,r){for(var i=e.images,a=0;a<i.length&&i[a];++a){var o=i[a],s=r,l=a,c=o.element,u=o.data,h=o.internalformat,p=o.format,d=o.type,g=o.width,m=o.height,v=o.channels;f(o),c?t.texImage2D(s,l,p,p,d,c):o.compressed?t.compressedTexImage2D(s,l,h,g,m,0,u):o.needsCopy?(n(),t.copyTexImage2D(s,l,p,o.xOffset,o.yOffset,g,m,0)):((o=!u)&&(u=G.zero.allocType(d,g*m*v)),t.texImage2D(s,l,p,g,m,0,p,d,u),o&&u&&G.zero.freeType(u))}}function C(){var t=gt.pop()||new A;s.call(t);for(var e=t.mipmask=0;16>e;++e)t.images[e]=null;return t}function L(t){for(var e=t.images,r=0;r<e.length;++r)e[r]&&M(e[r]),e[r]=null;gt.push(t)}function z(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function P(t,e){"min"in e&&(t.minFilter=U[e.min],0<=at.indexOf(t.minFilter)&&!("faces"in e)&&(t.genMipmaps=!0)),"mag"in e&&(t.magFilter=V[e.mag]);var r=t.wrapS,n=t.wrapT;if("wrap"in e){var i=e.wrap;"string"==typeof i?r=n=N[i]:Array.isArray(i)&&(r=N[i[0]],n=N[i[1]])}else"wrapS"in e&&(r=N[e.wrapS]),"wrapT"in e&&(n=N[e.wrapT]);if(t.wrapS=r,t.wrapT=n,"anisotropic"in e&&(t.anisotropic=e.anisotropic),"mipmap"in e){switch(r=!1,typeof e.mipmap){case"string":t.mipmapHint=F[e.mipmap],r=t.genMipmaps=!0;break;case"boolean":r=t.genMipmaps=e.mipmap;break;case"object":t.genMipmaps=!1,r=!0}!r||"min"in e||(t.minFilter=9984)}}function O(r,n){t.texParameteri(n,10241,r.minFilter),t.texParameteri(n,10240,r.magFilter),t.texParameteri(n,10242,r.wrapS),t.texParameteri(n,10243,r.wrapT),e.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,r.anisotropic),r.genMipmaps&&(t.hint(33170,r.mipmapHint),t.generateMipmap(n))}function I(e){s.call(this),this.mipmask=0,this.internalformat=6408,this.id=mt++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new z,o.profile&&(this.stats={size:0})}function D(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function R(){var e=xt[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(3553,null)}function B(e){var r=e.texture,n=e.unit,i=e.target;0<=n&&(t.activeTexture(33984+n),t.bindTexture(i,null),xt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete vt[e.id],a.textureCount--}var F={"don't care":4352,"dont care":4352,nice:4354,fast:4353},N={repeat:10497,clamp:33071,mirror:33648},V={nearest:9728,linear:9729},U=j({mipmap:9987,"nearest mipmap nearest":9984,"linear mipmap nearest":9985,"nearest mipmap linear":9986,"linear mipmap linear":9987},V),q={none:0,browser:37444},H={uint8:5121,rgba4:32819,rgb565:33635,"rgb5 a1":32820},W={alpha:6406,luminance:6409,"luminance alpha":6410,rgb:6407,rgba:6408,rgba4:32854,"rgb5 a1":32855,rgb565:36194},J={};e.ext_srgb&&(W.srgb=35904,W.srgba=35906),e.oes_texture_float&&(H.float32=H.float=5126),e.oes_texture_half_float&&(H.float16=H["half float"]=36193),e.webgl_depth_texture&&(j(W,{depth:6402,"depth stencil":34041}),j(H,{uint16:5123,uint32:5125,"depth stencil":34042})),e.webgl_compressed_texture_s3tc&&j(J,{"rgb s3tc dxt1":33776,"rgba s3tc dxt1":33777,"rgba s3tc dxt3":33778,"rgba s3tc dxt5":33779}),e.webgl_compressed_texture_atc&&j(J,{"rgb atc":35986,"rgba atc explicit alpha":35987,"rgba atc interpolated alpha":34798}),e.webgl_compressed_texture_pvrtc&&j(J,{"rgb pvrtc 4bppv1":35840,"rgb pvrtc 2bppv1":35841,"rgba pvrtc 4bppv1":35842,"rgba pvrtc 2bppv1":35843}),e.webgl_compressed_texture_etc1&&(J["rgb etc1"]=36196);var K=Array.prototype.slice.call(t.getParameter(34467));Object.keys(J).forEach(function(t){var e=J[t];0<=K.indexOf(e)&&(W[t]=e)});var Q=Object.keys(W);r.textureFormats=Q;var tt=[];Object.keys(W).forEach(function(t){tt[W[t]]=t});var et=[];Object.keys(H).forEach(function(t){et[H[t]]=t});var rt=[];Object.keys(V).forEach(function(t){rt[V[t]]=t});var nt=[];Object.keys(U).forEach(function(t){nt[U[t]]=t});var it=[];Object.keys(N).forEach(function(t){it[N[t]]=t});var pt=Q.reduce(function(t,e){var r=W[e];return 6409===r||6406===r||6409===r||6410===r||6402===r||34041===r?t[r]=r:32855===r||0<=e.indexOf("rgba")?t[r]=6408:t[r]=6407,t},{}),dt=[],gt=[],mt=0,vt={},yt=r.maxTextureUnits,xt=Array(yt).map(function(){return null});return j(I.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0>e){for(var r=0;r<yt;++r){var n=xt[r];if(n){if(0<n.bindCount)continue;n.unit=-1}xt[r]=this,e=r;break}o.profile&&a.maxTextureUnits<e+1&&(a.maxTextureUnits=e+1),this.unit=e,t.activeTexture(33984+e),t.bindTexture(this.target,this.texture)}return e},unbind:function(){--this.bindCount},decRef:function(){0>=--this.refCount&&B(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(vt).forEach(function(e){t+=vt[e].stats.size}),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;z.call(r);var a=C();return"number"==typeof t?T(a,0|t,"number"==typeof e?0|e:0|t):t?(P(r,t),S(a,t)):T(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,c(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,D(i),E(a,3553),O(r,3553),R(),L(a),o.profile&&(i.stats.size=k(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=tt[i.internalformat],n.type=et[i.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=it[r.wrapS],n.wrapT=it[r.wrapT],n}var i=new I(3553);return vt[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=v();return c(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,D(i),d(o,3553,e,r,a),R(),M(o),n},n.resize=function(e,r){var a=0|e,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,D(i);for(var l,c=i.channels,u=i.type,f=0;i.mipmask>>f;++f){var h=a>>f,p=s>>f;if(!h||!p)break;l=G.zero.allocType(u,h*p*c),t.texImage2D(3553,f,i.format,h,p,0,i.format,i.type,l),l&&G.zero.freeType(l)}return R(),o.profile&&(i.stats.size=k(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType="texture2d",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,s,l){function f(t,e,r,n,i,a){var s,l=h.texInfo;for(z.call(l),s=0;6>s;++s)g[s]=C();if("number"!=typeof t&&t){if("object"==typeof t)if(e)S(g[0],t),S(g[1],e),S(g[2],r),S(g[3],n),S(g[4],i),S(g[5],a);else if(P(l,t),u(h,t),"faces"in t)for(t=t.faces,s=0;6>s;++s)c(g[s],h),S(g[s],t[s]);else for(s=0;6>s;++s)S(g[s],t)}else for(t=0|t||1,s=0;6>s;++s)T(g[s],t,t);for(c(h,g[0]),h.mipmask=l.genMipmaps?(g[0].width<<1)-1:g[0].mipmask,h.internalformat=g[0].internalformat,f.width=g[0].width,f.height=g[0].height,D(h),s=0;6>s;++s)E(g[s],34069+s);for(O(l,34067),R(),o.profile&&(h.stats.size=k(h.internalformat,h.type,f.width,f.height,l.genMipmaps,!0)),f.format=tt[h.internalformat],f.type=et[h.type],f.mag=rt[l.magFilter],f.min=nt[l.minFilter],f.wrapS=it[l.wrapS],f.wrapT=it[l.wrapT],s=0;6>s;++s)L(g[s]);return f}var h=new I(34067);vt[h.id]=h,a.cubeCount++;var g=Array(6);return f(e,r,n,i,s,l),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=v();return c(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,D(h),d(a,34069+t,r,n,i),R(),M(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,D(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return R(),o.profile&&(h.stats.size=k(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType="textureCube",f._texture=h,o.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;e<yt;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),xt[e]=null;X(vt).forEach(B),a.cubeCount=0,a.textureCount=0},getTexture:function(t){return null},restore:function(){X(vt).forEach(function(e){e.texture=t.createTexture(),t.bindTexture(e.target,e.texture);for(var r=0;32>r;++r)if(0!=(e.mipmask&1<<r))if(3553===e.target)t.texImage2D(3553,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);O(e.texInfo,e.target)})}}}function A(t,e,r,n,i,a){function o(t,e,r){this.target=t,this.texture=e,this.renderbuffer=r;var n=t=0;e?(t=e.width,n=e.height):r&&(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&&(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function c(e,r){r&&(r.texture?t.framebufferTexture2D(36160,e,r.target,r.texture._texture.texture,0):t.framebufferRenderbuffer(36160,e,36161,r.renderbuffer._renderbuffer.renderbuffer))}function u(t){var e=3553,r=null,n=null,i=t;return"object"==typeof t&&(i=t.data,"target"in t&&(e=0|t.target)),"texture2d"===(t=i._reglType)?r=i:"textureCube"===t?r=i:"renderbuffer"===t&&(n=i,e=36161),new o(e,r,n)}function f(t,e,r,a,s){return r?((t=n.create2D({width:t,height:e,format:a,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=i.create({width:t,height:e,format:a}))._renderbuffer.refCount=0,new o(36161,null,t))}function h(t){return t&&(t.texture||t.renderbuffer)}function p(t,e,r){t&&(t.texture?t.texture.resize(e,r):t.renderbuffer&&t.renderbuffer.resize(e,r))}function d(){this.id=k++,M[this.id]=this,this.framebuffer=t.createFramebuffer(),this.height=this.width=0,this.colorAttachments=[],this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function g(t){t.colorAttachments.forEach(s),s(t.depthAttachment),s(t.stencilAttachment),s(t.depthStencilAttachment)}function m(e){t.deleteFramebuffer(e.framebuffer),e.framebuffer=null,a.framebufferCount--,delete M[e.id]}function v(e){var n;t.bindFramebuffer(36160,e.framebuffer);var i=e.colorAttachments;for(n=0;n<i.length;++n)c(36064+n,i[n]);for(n=i.length;n<r.maxColorAttachments;++n)t.framebufferTexture2D(36160,36064+n,3553,null,0);t.framebufferTexture2D(36160,33306,3553,null,0),t.framebufferTexture2D(36160,36096,3553,null,0),t.framebufferTexture2D(36160,36128,3553,null,0),c(36096,e.depthAttachment),c(36128,e.stencilAttachment),c(33306,e.depthStencilAttachment),t.checkFramebufferStatus(36160),t.bindFramebuffer(36160,x.next?x.next.framebuffer:null),x.cur=x.next,t.getError()}function y(t,e){function r(t,e){var i,a=0,o=0,s=!0,c=!0;i=null;var p=!0,d="rgba",m="uint8",y=1,x=null,w=null,k=null,M=!1;"number"==typeof t?(a=0|t,o=0|e||a):t?("shape"in t?(a=(o=t.shape)[0],o=o[1]):("radius"in t&&(a=o=t.radius),"width"in t&&(a=t.width),"height"in t&&(o=t.height)),("color"in t||"colors"in t)&&(i=t.color||t.colors,Array.isArray(i)),i||("colorCount"in t&&(y=0|t.colorCount),"colorTexture"in t&&(p=!!t.colorTexture,d="rgba4"),"colorType"in t&&(m=t.colorType,!p)&&("half float"===m||"float16"===m?d="rgba16f":"float"!==m&&"float32"!==m||(d="rgba32f")),"colorFormat"in t&&(d=t.colorFormat,0<=b.indexOf(d)?p=!0:0<=_.indexOf(d)&&(p=!1))),("depthTexture"in t||"depthStencilTexture"in t)&&(M=!(!t.depthTexture&&!t.depthStencilTexture)),"depth"in t&&("boolean"==typeof t.depth?s=t.depth:(x=t.depth,c=!1)),"stencil"in t&&("boolean"==typeof t.stencil?c=t.stencil:(w=t.stencil,s=!1)),"depthStencil"in t&&("boolean"==typeof t.depthStencil?s=c=t.depthStencil:(k=t.depthStencil,c=s=!1))):a=o=1;var A=null,T=null,S=null,E=null;if(Array.isArray(i))A=i.map(u);else if(i)A=[u(i)];else for(A=Array(y),i=0;i<y;++i)A[i]=f(a,o,p,d,m);for(a=a||A[0].width,o=o||A[0].height,x?T=u(x):s&&!c&&(T=f(a,o,M,"depth","uint32")),w?S=u(w):c&&!s&&(S=f(a,o,!1,"stencil","uint8")),k?E=u(k):!x&&!w&&c&&s&&(E=f(a,o,M,"depth stencil","depth stencil")),s=null,i=0;i<A.length;++i)l(A[i]),A[i]&&A[i].texture&&(c=yt[A[i].texture._texture.format]*xt[A[i].texture._texture.type],null===s&&(s=c));return l(T),l(S),l(E),g(n),n.width=a,n.height=o,n.colorAttachments=A,n.depthAttachment=T,n.stencilAttachment=S,n.depthStencilAttachment=E,r.color=A.map(h),r.depth=h(T),r.stencil=h(S),r.depthStencil=h(E),r.width=n.width,r.height=n.height,v(n),r}var n=new d;return a.framebufferCount++,r(t,e),j(r,{resize:function(t,e){var i=0|t,a=0|e||i;if(i===n.width&&a===n.height)return r;for(var o=n.colorAttachments,s=0;s<o.length;++s)p(o[s],i,a);return p(n.depthAttachment,i,a),p(n.stencilAttachment,i,a),p(n.depthStencilAttachment,i,a),n.width=r.width=i,n.height=r.height=a,v(n),r},_reglType:"framebuffer",_framebuffer:n,destroy:function(){m(n),g(n)},use:function(t){x.setFBO({framebuffer:r},t)}})}var x={cur:null,next:null,dirty:!1,setFBO:null},b=["rgba"],_=["rgba4","rgb565","rgb5 a1"];e.ext_srgb&&_.push("srgba"),e.ext_color_buffer_half_float&&_.push("rgba16f","rgb16f"),e.webgl_color_buffer_float&&_.push("rgba32f");var w=["uint8"];e.oes_texture_half_float&&w.push("half float","float16"),e.oes_texture_float&&w.push("float","float32");var k=0,M={};return j(x,{getFramebuffer:function(t){return"function"==typeof t&&"framebuffer"===t._reglType&&(t=t._framebuffer)instanceof d?t:null},create:y,createCube:function(t){function e(t){var i,a={color:null},o=0,s=null;i="rgba";var l="uint8",c=1;if("number"==typeof t?o=0|t:t?("shape"in t?o=t.shape[0]:("radius"in t&&(o=0|t.radius),"width"in t?o=0|t.width:"height"in t&&(o=0|t.height)),("color"in t||"colors"in t)&&(s=t.color||t.colors,Array.isArray(s)),s||("colorCount"in t&&(c=0|t.colorCount),"colorType"in t&&(l=t.colorType),"colorFormat"in t&&(i=t.colorFormat)),"depth"in t&&(a.depth=t.depth),"stencil"in t&&(a.stencil=t.stencil),"depthStencil"in t&&(a.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],i=0;i<s.length;++i)t[i]=s[i];else t=[s];else for(t=Array(c),s={radius:o,format:i,type:l},i=0;i<c;++i)t[i]=n.createCube(s);for(a.color=Array(t.length),i=0;i<t.length;++i)c=t[i],o=o||c.width,a.color[i]={target:34069,data:t[i]};for(i=0;6>i;++i){for(c=0;c<t.length;++c)a.color[c].target=34069+i;0<i&&(a.depth=r[0].depth,a.stencil=r[0].stencil,a.depthStencil=r[0].depthStencil),r[i]?r[i](a):r[i]=y(a)}return j(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),j(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var i=e.color;for(t=0;t<i.length;++t)i[t].resize(n);for(t=0;6>t;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach(function(t){t.destroy()})}})},clear:function(){X(M).forEach(m)},restore:function(){X(M).forEach(function(e){e.framebuffer=t.createFramebuffer(),v(e)})}})}function T(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function S(t,e,r,n){function i(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function a(t,e){for(var r=0;r<t.length;++r)if(t[r].id===e.id)return void(t[r].location=e.location);t.push(e)}function o(r,n,i){if(!(o=(i=35632===r?c:u)[n])){var a=e.str(n),o=t.createShader(r);t.shaderSource(o,a),t.compileShader(o),i[n]=o}return o}function s(t,e){this.id=p++,this.fragId=t,this.vertId=e,this.program=null,this.uniforms=[],this.attributes=[],n.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function l(r,s){var l,c;l=o(35632,r.fragId),c=o(35633,r.vertId);var u=r.program=t.createProgram();t.attachShader(u,l),t.attachShader(u,c),t.linkProgram(u);var f=t.getProgramParameter(u,35718);n.profile&&(r.stats.uniformsCount=f);var h=r.uniforms;for(l=0;l<f;++l)if(c=t.getActiveUniform(u,l))if(1<c.size)for(var p=0;p<c.size;++p){var d=c.name.replace("[0]","["+p+"]");a(h,new i(d,e.id(d),t.getUniformLocation(u,d),c))}else a(h,new i(c.name,e.id(c.name),t.getUniformLocation(u,c.name),c));for(f=t.getProgramParameter(u,35721),n.profile&&(r.stats.attributesCount=f),h=r.attributes,l=0;l<f;++l)(c=t.getActiveAttrib(u,l))&&a(h,new i(c.name,e.id(c.name),t.getAttribLocation(u,c.name),c))}var c={},u={},f={},h=[],p=0;return n.profile&&(r.getMaxUniformsCount=function(){var t=0;return h.forEach(function(e){e.stats.uniformsCount>t&&(t=e.stats.uniformsCount)}),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach(function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)}),t}),{clear:function(){var e=t.deleteShader.bind(t);X(c).forEach(e),c={},X(u).forEach(e),u={},h.forEach(function(e){t.deleteProgram(e.program)}),h.length=0,f={},r.shaderCount=0},program:function(t,e,n){var i=f[e];i||(i=f[e]={});var a=i[t];return a||(a=new s(e,t),r.shaderCount++,l(a),i[t]=a,h.push(a)),a},restore:function(){c={},u={};for(var t=0;t<h.length;++t)l(h[t])},shader:o,frag:-1,vert:-1}}function E(t,e,r,n,i,a,o){function s(i){var a;a=null===e.next?5121:e.next.colorAttachments[0].texture._texture.type;var o=0,s=0,l=n.framebufferWidth,c=n.framebufferHeight,u=null;return Y(i)?u=i:i&&(o=0|i.x,s=0|i.y,l=0|(i.width||n.framebufferWidth-o),c=0|(i.height||n.framebufferHeight-s),u=i.data||null),r(),i=l*c*4,u||(5121===a?u=new Uint8Array(i):5126===a&&(u=u||new Float32Array(i))),t.pixelStorei(3333,4),t.readPixels(o,s,l,c,6408,a,u),u}return function(t){return t&&"framebuffer"in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},function(){r=s(t)}),r}(t):s(t)}}function C(t){return Array.prototype.slice.call(t)}function L(t){return C(t).join("")}function z(){function t(){var t=[],e=[];return j(function(){t.push.apply(t,C(arguments))},{def:function(){var n="v"+r++;return e.push(n),0<arguments.length&&(t.push(n,"="),t.push.apply(t,C(arguments)),t.push(";")),n},toString:function(){return L([0<e.length?"var "+e+";":"",L(t)])}})}function e(){function e(t,e){n(t,e,"=",r.def(t,e),";")}var r=t(),n=t(),i=r.toString,a=n.toString;return j(function(){r.apply(r,C(arguments))},{def:r.def,entry:r,exit:n,save:e,set:function(t,n,i){e(t,n),r(t,n,"=",i,";")},toString:function(){return i()+a()}})}var r=0,n=[],i=[],a=t(),o={};return{global:a,link:function(t){for(var e=0;e<i.length;++e)if(i[e]===t)return n[e];return e="g"+r++,n.push(e),i.push(t),e},block:t,proc:function(t,r){function n(){var t="a"+i.length;return i.push(t),t}var i=[];r=r||0;for(var a=0;a<r;++a)n();var s=(a=e()).toString;return o[t]=j(a,{arg:n,toString:function(){return L(["function(",i.join(),"){",s(),"}"])}})},scope:e,cond:function(){var t=L(arguments),r=e(),n=e(),i=r.toString,a=n.toString;return j(r,{then:function(){return r.apply(r,C(arguments)),this},else:function(){return n.apply(n,C(arguments)),this},toString:function(){var e=a();return e&&(e="else{"+e+"}"),L(["if(",t,"){",i(),"}",e])}})},compile:function(){var t=['"use strict";',a,"return {"];Object.keys(o).forEach(function(e){t.push('"',e,'":',o[e].toString(),",")}),t.push("}");var e=L(t).replace(/;/g,";\n").replace(/}/g,"}\n").replace(/{/g,"{\n");return Function.apply(null,n.concat(e)).apply(null,i)}}}function P(t){return Array.isArray(t)||Y(t)||l(t)}function O(t){return t.sort(function(t,e){return"viewport"===t?-1:"viewport"===e?1:t<e?-1:1})}function I(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function D(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function R(t){return new I(!1,!1,!1,t)}function B(t,e){var r=t.type;return 0===r?new I(!0,1<=(r=t.data.length),2<=r,e):4===r?new I((r=t.data).thisDep,r.contextDep,r.propDep,e):new I(3===r,2===r,1===r,e)}function F(t,e,r,n,i,o,s,l,c,u,f,h,p,d,g){function v(t){return t.replace(".","_")}function y(t,e,r){var n=v(t);nt.push(t),et[n]=tt[n]=!!r,it[n]=e}function x(t,e,r){var n=v(t);nt.push(t),Array.isArray(r)?(tt[n]=r.slice(),et[n]=r.slice()):tt[n]=et[n]=r,at[n]=e}function b(){var t=z(),r=t.link,n=t.global;t.id=lt++,t.batchId="0";var i=r(ot),a=t.shared={props:"a0"};Object.keys(ot).forEach(function(t){a[t]=n.def(i,".",t)});var o=t.next={},s=t.current={};Object.keys(at).forEach(function(t){Array.isArray(tt[t])&&(o[t]=n.def(a.next,".",t),s[t]=n.def(a.current,".",t))});var l=t.constants={};Object.keys(st).forEach(function(t){l[t]=n.def(JSON.stringify(st[t]))}),t.invoke=function(e,n){switch(n.type){case 0:var i=["this",a.context,a.props,t.batchId];return e.def(r(n.data),".call(",i.slice(0,Math.max(n.data.length+1,4)),")");case 1:return e.def(a.props,n.data);case 2:return e.def(a.context,n.data);case 3:return e.def("this",n.data);case 4:return n.data.append(t,e),n.data.ref}},t.attribCache={};var c={};return t.scopeAttrib=function(t){if((t=e.id(t))in c)return c[t];var n=u.scope[t];return n||(n=u.scope[t]=new Z),c[t]=r(n)},t}function _(t,e){var r=t.static,n=t.dynamic;if("framebuffer"in r){var i=r.framebuffer;return i?(i=l.getFramebuffer(i),R(function(t,e){var r=t.link(i),n=t.shared;return e.set(n.framebuffer,".next",r),n=n.context,e.set(n,".framebufferWidth",r+".width"),e.set(n,".framebufferHeight",r+".height"),r})):R(function(t,e){var r=t.shared;return e.set(r.framebuffer,".next","null"),r=r.context,e.set(r,".framebufferWidth",r+".drawingBufferWidth"),e.set(r,".framebufferHeight",r+".drawingBufferHeight"),"null"})}if("framebuffer"in n){var a=n.framebuffer;return B(a,function(t,e){var r=t.invoke(e,a),n=t.shared,i=n.framebuffer;r=e.def(i,".getFramebuffer(",r,")");return e.set(i,".next",r),n=n.context,e.set(n,".framebufferWidth",r+"?"+r+".width:"+n+".drawingBufferWidth"),e.set(n,".framebufferHeight",r+"?"+r+".height:"+n+".drawingBufferHeight"),r})}return null}function w(t){function r(t){if(t in n){var r=e.id(n[t]);return(t=R(function(){return r})).id=r,t}if(t in i){var a=i[t];return B(a,function(t,e){var r=t.invoke(e,a);return e.def(t.shared.strings,".id(",r,")")})}return null}var n=t.static,i=t.dynamic,a=r("frag"),o=r("vert"),s=null;return D(a)&&D(o)?(s=f.program(o.id,a.id),t=R(function(t,e){return t.link(s)})):t=new I(a&&a.thisDep||o&&o.thisDep,a&&a.contextDep||o&&o.contextDep,a&&a.propDep||o&&o.propDep,function(t,e){var r,n,i=t.shared.shader;return r=a?a.append(t,e):e.def(i,".","frag"),n=o?o.append(t,e):e.def(i,".","vert"),e.def(i+".program("+n+","+r+")")}),{frag:a,vert:o,progVar:t,program:s}}function k(t,e){function r(t,e){if(t in n){var r=0|n[t];return R(function(t,n){return e&&(t.OFFSET=r),r})}if(t in i){var o=i[t];return B(o,function(t,r){var n=t.invoke(r,o);return e&&(t.OFFSET=n),n})}return e&&a?R(function(t,e){return t.OFFSET="0",0}):null}var n=t.static,i=t.dynamic,a=function(){if("elements"in n){var t=n.elements;P(t)?t=o.getElements(o.create(t,!0)):t&&(t=o.getElements(t));var e=R(function(e,r){if(t){var n=e.link(t);return e.ELEMENTS=n}return e.ELEMENTS=null});return e.value=t,e}if("elements"in i){var r=i.elements;return B(r,function(t,e){var n=(i=t.shared).isBufferArgs,i=i.elements,a=t.invoke(e,r),o=e.def("null");n=e.def(n,"(",a,")"),a=t.cond(n).then(o,"=",i,".createStream(",a,");").else(o,"=",i,".getElements(",a,");");return e.entry(a),e.exit(t.cond(n).then(i,".destroyStream(",o,");")),t.ELEMENTS=o})}return null}(),s=r("offset",!0);return{elements:a,primitive:function(){if("primitive"in n){var t=n.primitive;return R(function(e,r){return rt[t]})}if("primitive"in i){var e=i.primitive;return B(e,function(t,r){var n=t.constants.primTypes,i=t.invoke(r,e);return r.def(n,"[",i,"]")})}return a?D(a)?a.value?R(function(t,e){return e.def(t.ELEMENTS,".primType")}):R(function(){return 4}):new I(a.thisDep,a.contextDep,a.propDep,function(t,e){var r=t.ELEMENTS;return e.def(r,"?",r,".primType:",4)}):null}(),count:function(){if("count"in n){var t=0|n.count;return R(function(){return t})}if("count"in i){var e=i.count;return B(e,function(t,r){return t.invoke(r,e)})}return a?D(a)?a?s?new I(s.thisDep,s.contextDep,s.propDep,function(t,e){return e.def(t.ELEMENTS,".vertCount-",t.OFFSET)}):R(function(t,e){return e.def(t.ELEMENTS,".vertCount")}):R(function(){return-1}):new I(a.thisDep||s.thisDep,a.contextDep||s.contextDep,a.propDep||s.propDep,function(t,e){var r=t.ELEMENTS;return t.OFFSET?e.def(r,"?",r,".vertCount-",t.OFFSET,":-1"):e.def(r,"?",r,".vertCount:-1")}):null}(),instances:r("instances",!1),offset:s}}function M(t,r){var n=t.static,a=t.dynamic,o={};return Object.keys(n).forEach(function(t){var r=n[t],a=e.id(t),s=new Z;if(P(r))s.state=1,s.buffer=i.getBuffer(i.create(r,34962,!1,!0)),s.type=0;else if(c=i.getBuffer(r))s.state=1,s.buffer=c,s.type=0;else if("constant"in r){var l=r.constant;s.buffer="null",s.state=2,"number"==typeof l?s.x=l:bt.forEach(function(t,e){e<l.length&&(s[t]=l[e])})}else{var c=P(r.buffer)?i.getBuffer(i.create(r.buffer,34962,!1,!0)):i.getBuffer(r.buffer),u=0|r.offset,f=0|r.stride,h=0|r.size,p=!!r.normalized,d=0;"type"in r&&(d=J[r.type]),r=0|r.divisor,s.buffer=c,s.state=1,s.size=h,s.normalized=p,s.type=d||c.dtype,s.offset=u,s.stride=f,s.divisor=r}o[t]=R(function(t,e){var r=t.attribCache;if(a in r)return r[a];var n={isStream:!1};return Object.keys(s).forEach(function(t){n[t]=s[t]}),s.buffer&&(n.buffer=t.link(s.buffer),n.type=n.type||n.buffer+".dtype"),r[a]=n})}),Object.keys(a).forEach(function(t){var e=a[t];o[t]=B(e,function(t,r){function n(t){r(l[t],"=",i,".",t,"|0;")}var i=t.invoke(r,e),a=t.shared,o=a.isBufferArgs,s=a.buffer,l={isStream:r.def(!1)},c=new Z;c.state=1,Object.keys(c).forEach(function(t){l[t]=r.def(""+c[t])});var u=l.buffer,f=l.type;return r("if(",o,"(",i,")){",l.isStream,"=true;",u,"=",s,".createStream(",34962,",",i,");",f,"=",u,".dtype;","}else{",u,"=",s,".getBuffer(",i,");","if(",u,"){",f,"=",u,".dtype;",'}else if("constant" in ',i,"){",l.state,"=",2,";","if(typeof "+i+'.constant === "number"){',l[bt[0]],"=",i,".constant;",bt.slice(1).map(function(t){return l[t]}).join("="),"=0;","}else{",bt.map(function(t,e){return l[t]+"="+i+".constant.length>"+e+"?"+i+".constant["+e+"]:0;"}).join(""),"}}else{","if(",o,"(",i,".buffer)){",u,"=",s,".createStream(",34962,",",i,".buffer);","}else{",u,"=",s,".getBuffer(",i,".buffer);","}",f,'="type" in ',i,"?",a.glTypes,"[",i,".type]:",u,".dtype;",l.normalized,"=!!",i,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",s,".destroyStream(",u,");","}"),l})}),o}function A(t,e,r,n,i){var o=_(t),s=function(t,e,r){function n(t){if(t in i){var r=i[t];t=!0;var n,o,s=0|r.x,l=0|r.y;return"width"in r?n=0|r.width:t=!1,"height"in r?o=0|r.height:t=!1,new I(!t&&e&&e.thisDep,!t&&e&&e.contextDep,!t&&e&&e.propDep,function(t,e){var i=t.shared.context,a=n;"width"in r||(a=e.def(i,".","framebufferWidth","-",s));var c=o;return"height"in r||(c=e.def(i,".","framebufferHeight","-",l)),[s,l,a,c]})}if(t in a){var c=a[t];return t=B(c,function(t,e){var r=t.invoke(e,c),n=t.shared.context,i=e.def(r,".x|0"),a=e.def(r,".y|0");return[i,a,e.def('"width" in ',r,"?",r,".width|0:","(",n,".","framebufferWidth","-",i,")"),r=e.def('"height" in ',r,"?",r,".height|0:","(",n,".","framebufferHeight","-",a,")")]}),e&&(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new I(e.thisDep,e.contextDep,e.propDep,function(t,e){var r=t.shared.context;return[0,0,e.def(r,".","framebufferWidth"),e.def(r,".","framebufferHeight")]}):null}var i=t.static,a=t.dynamic;if(t=n("viewport")){var o=t;t=new I(t.thisDep,t.contextDep,t.propDep,function(t,e){var r=o.append(t,e),n=t.shared.context;return e.set(n,".viewportWidth",r[2]),e.set(n,".viewportHeight",r[3]),r})}return{viewport:t,scissor_box:n("scissor.box")}}(t,o),l=k(t),c=function(t,e){var r=t.static,n=t.dynamic,i={};return nt.forEach(function(t){function e(e,a){if(t in r){var s=e(r[t]);i[o]=R(function(){return s})}else if(t in n){var l=n[t];i[o]=B(l,function(t,e){return a(t,e,t.invoke(e,l))})}}var o=v(t);switch(t){case"cull.enable":case"blend.enable":case"dither":case"stencil.enable":case"depth.enable":case"scissor.enable":case"polygonOffset.enable":case"sample.alpha":case"sample.enable":case"depth.mask":return e(function(t){return t},function(t,e,r){return r});case"depth.func":return e(function(t){return kt[t]},function(t,e,r){return e.def(t.constants.compareFuncs,"[",r,"]")});case"depth.range":return e(function(t){return t},function(t,e,r){return[e.def("+",r,"[0]"),e=e.def("+",r,"[1]")]});case"blend.func":return e(function(t){return[wt["srcRGB"in t?t.srcRGB:t.src],wt["dstRGB"in t?t.dstRGB:t.dst],wt["srcAlpha"in t?t.srcAlpha:t.src],wt["dstAlpha"in t?t.dstAlpha:t.dst]]},function(t,e,r){function n(t,n){return e.def('"',t,n,'" in ',r,"?",r,".",t,n,":",r,".",t)}t=t.constants.blendFuncs;var i=n("src","RGB"),a=n("dst","RGB"),o=(i=e.def(t,"[",i,"]"),e.def(t,"[",n("src","Alpha"),"]"));return[i,a=e.def(t,"[",a,"]"),o,t=e.def(t,"[",n("dst","Alpha"),"]")]});case"blend.equation":return e(function(t){return"string"==typeof t?[$[t],$[t]]:"object"==typeof t?[$[t.rgb],$[t.alpha]]:void 0},function(t,e,r){var n=t.constants.blendEquations,i=e.def(),a=e.def();return(t=t.cond("typeof ",r,'==="string"')).then(i,"=",a,"=",n,"[",r,"];"),t.else(i,"=",n,"[",r,".rgb];",a,"=",n,"[",r,".alpha];"),e(t),[i,a]});case"blend.color":return e(function(t){return a(4,function(e){return+t[e]})},function(t,e,r){return a(4,function(t){return e.def("+",r,"[",t,"]")})});case"stencil.mask":return e(function(t){return 0|t},function(t,e,r){return e.def(r,"|0")});case"stencil.func":return e(function(t){return[kt[t.cmp||"keep"],t.ref||0,"mask"in t?t.mask:-1]},function(t,e,r){return[t=e.def('"cmp" in ',r,"?",t.constants.compareFuncs,"[",r,".cmp]",":",7680),e.def(r,".ref|0"),e=e.def('"mask" in ',r,"?",r,".mask|0:-1")]});case"stencil.opFront":case"stencil.opBack":return e(function(e){return["stencil.opBack"===t?1029:1028,Mt[e.fail||"keep"],Mt[e.zfail||"keep"],Mt[e.zpass||"keep"]]},function(e,r,n){function i(t){return r.def('"',t,'" in ',n,"?",a,"[",n,".",t,"]:",7680)}var a=e.constants.stencilOps;return["stencil.opBack"===t?1029:1028,i("fail"),i("zfail"),i("zpass")]});case"polygonOffset.offset":return e(function(t){return[0|t.factor,0|t.units]},function(t,e,r){return[e.def(r,".factor|0"),e=e.def(r,".units|0")]});case"cull.face":return e(function(t){var e=0;return"front"===t?e=1028:"back"===t&&(e=1029),e},function(t,e,r){return e.def(r,'==="front"?',1028,":",1029)});case"lineWidth":return e(function(t){return t},function(t,e,r){return r});case"frontFace":return e(function(t){return At[t]},function(t,e,r){return e.def(r+'==="cw"?2304:2305')});case"colorMask":return e(function(t){return t.map(function(t){return!!t})},function(t,e,r){return a(4,function(t){return"!!"+r+"["+t+"]"})});case"sample.coverage":return e(function(t){return["value"in t?t.value:1,!!t.invert]},function(t,e,r){return[e.def('"value" in ',r,"?+",r,".value:1"),e=e.def("!!",r,".invert")]})}}),i}(t),u=w(t),f=s.viewport;return f&&(c.viewport=f),(s=s[f=v("scissor.box")])&&(c[f]=s),(o={framebuffer:o,draw:l,shader:u,state:c,dirty:s=0<Object.keys(c).length}).profile=function(t){var e,r=t.static;if(t=t.dynamic,"profile"in r){var n=!!r.profile;(e=R(function(t,e){return n})).enable=n}else if("profile"in t){var i=t.profile;e=B(i,function(t,e){return t.invoke(e,i)})}return e}(t),o.uniforms=function(t,e){var r=t.static,n=t.dynamic,i={};return Object.keys(r).forEach(function(t){var e,n=r[t];if("number"==typeof n||"boolean"==typeof n)e=R(function(){return n});else if("function"==typeof n){var o=n._reglType;"texture2d"===o||"textureCube"===o?e=R(function(t){return t.link(n)}):"framebuffer"!==o&&"framebufferCube"!==o||(e=R(function(t){return t.link(n.color[0])}))}else m(n)&&(e=R(function(t){return t.global.def("[",a(n.length,function(t){return n[t]}),"]")}));e.value=n,i[t]=e}),Object.keys(n).forEach(function(t){var e=n[t];i[t]=B(e,function(t,r){return t.invoke(r,e)})}),i}(r),o.attributes=M(e),o.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach(function(t){var r=e[t];n[t]=R(function(t,e){return"number"==typeof r||"boolean"==typeof r?""+r:t.link(r)})}),Object.keys(r).forEach(function(t){var e=r[t];n[t]=B(e,function(t,r){return t.invoke(r,e)})}),n}(n),o}function T(t,e,r){var n=t.shared.context,i=t.scope();Object.keys(r).forEach(function(a){e.save(n,"."+a),i(n,".",a,"=",r[a].append(t,e),";")}),e(i)}function S(t,e,r,n){var i,a=(s=t.shared).gl,o=s.framebuffer;Q&&(i=e.def(s.extensions,".webgl_draw_buffers"));var s=(l=t.constants).drawBuffer,l=l.backBuffer;t=r?r.append(t,e):e.def(o,".next"),n||e("if(",t,"!==",o,".cur){"),e("if(",t,"){",a,".bindFramebuffer(",36160,",",t,".framebuffer);"),Q&&e(i,".drawBuffersWEBGL(",s,"[",t,".colorAttachments.length]);"),e("}else{",a,".bindFramebuffer(",36160,",null);"),Q&&e(i,".drawBuffersWEBGL(",l,");"),e("}",o,".cur=",t,";"),n||e("}")}function E(t,e,r){var n=t.shared,i=n.gl,o=t.current,s=t.next,l=n.current,c=n.next,u=t.cond(l,".dirty");nt.forEach(function(e){var n,f;if(!((e=v(e))in r.state))if(e in s){n=s[e],f=o[e];var h=a(tt[e].length,function(t){return u.def(n,"[",t,"]")});u(t.cond(h.map(function(t,e){return t+"!=="+f+"["+e+"]"}).join("||")).then(i,".",at[e],"(",h,");",h.map(function(t,e){return f+"["+e+"]="+t}).join(";"),";"))}else n=u.def(c,".",e),h=t.cond(n,"!==",l,".",e),u(h),e in it?h(t.cond(n).then(i,".enable(",it[e],");").else(i,".disable(",it[e],");"),l,".",e,"=",n,";"):h(i,".",at[e],"(",n,");",l,".",e,"=",n,";")}),0===Object.keys(r.state).length&&u(l,".dirty=false;"),e(u)}function C(t,e,r,n){var i=t.shared,a=t.current,o=i.current,s=i.gl;O(Object.keys(r)).forEach(function(i){var l=r[i];if(!n||n(l)){var c=l.append(t,e);if(it[i]){var u=it[i];D(l)?e(s,c?".enable(":".disable(",u,");"):e(t.cond(c).then(s,".enable(",u,");").else(s,".disable(",u,");")),e(o,".",i,"=",c,";")}else if(m(c)){var f=a[i];e(s,".",at[i],"(",c,");",c.map(function(t,e){return f+"["+e+"]="+t}).join(";"),";")}else e(s,".",at[i],"(",c,");",o,".",i,"=",c,";")}})}function L(t,e){K&&(t.instancing=e.def(t.shared.extensions,".angle_instanced_arrays"))}function F(t,e,r,n,i){function a(){return"undefined"==typeof performance?"Date.now()":"performance.now()"}function o(t){t(c=e.def(),"=",a(),";"),"string"==typeof i?t(h,".count+=",i,";"):t(h,".count++;"),d&&(n?t(u=e.def(),"=",g,".getNumPendingQueries();"):t(g,".beginQuery(",h,");"))}function s(t){t(h,".cpuTime+=",a(),"-",c,";"),d&&(n?t(g,".pushScopeStats(",u,",",g,".getNumPendingQueries(),",h,");"):t(g,".endQuery();"))}function l(t){var r=e.def(p,".profile");e(p,".profile=",t,";"),e.exit(p,".profile=",r,";")}var c,u,f=t.shared,h=t.stats,p=f.current,g=f.timer;if(r=r.profile){if(D(r))return void(r.enable?(o(e),s(e.exit),l("true")):l("false"));l(r=r.append(t,e))}else r=e.def(p,".profile");o(f=t.block()),e("if(",r,"){",f,"}"),s(t=t.block()),e.exit("if(",r,"){",t,"}")}function N(t,e,r,n,i){function a(r,n,i){function a(){e("if(!",u,".buffer){",l,".enableVertexAttribArray(",c,");}");var r,a=i.type;r=i.size?e.def(i.size,"||",n):n,e("if(",u,".type!==",a,"||",u,".size!==",r,"||",p.map(function(t){return u+"."+t+"!=="+i[t]}).join("||"),"){",l,".bindBuffer(",34962,",",f,".buffer);",l,".vertexAttribPointer(",[c,r,a,i.normalized,i.stride,i.offset],");",u,".type=",a,";",u,".size=",r,";",p.map(function(t){return u+"."+t+"="+i[t]+";"}).join(""),"}"),K&&(a=i.divisor,e("if(",u,".divisor!==",a,"){",t.instancing,".vertexAttribDivisorANGLE(",[c,a],");",u,".divisor=",a,";}"))}function s(){e("if(",u,".buffer){",l,".disableVertexAttribArray(",c,");","}if(",bt.map(function(t,e){return u+"."+t+"!=="+h[e]}).join("||"),"){",l,".vertexAttrib4f(",c,",",h,");",bt.map(function(t,e){return u+"."+t+"="+h[e]+";"}).join(""),"}")}var l=o.gl,c=e.def(r,".location"),u=e.def(o.attributes,"[",c,"]");r=i.state;var f=i.buffer,h=[i.x,i.y,i.z,i.w],p=["buffer","normalized","offset","stride"];1===r?a():2===r?s():(e("if(",r,"===",1,"){"),a(),e("}else{"),s(),e("}"))}var o=t.shared;n.forEach(function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(t,e)}else{if(!i(Tt))return;var c=t.scopeAttrib(s);o={},Object.keys(new Z).forEach(function(t){o[t]=e.def(c,".",t)})}a(t.link(n),function(t){switch(t){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}(n.info.type),o)})}function j(t,r,n,i,o){for(var s,l=t.shared,c=l.gl,u=0;u<i.length;++u){var f,h=(g=i[u]).name,p=g.info.type,d=n.uniforms[h],g=t.link(g)+".location";if(d){if(!o(d))continue;if(D(d)){if(h=d.value,35678===p||35680===p)r(c,".uniform1i(",g,",",(p=t.link(h._texture||h.color[0]._texture))+".bind());"),r.exit(p,".unbind();");else if(35674===p||35675===p||35676===p)d=2,35675===p?d=3:35676===p&&(d=4),r(c,".uniformMatrix",d,"fv(",g,",false,",h=t.global.def("new Float32Array(["+Array.prototype.slice.call(h)+"])"),");");else{switch(p){case 5126:s="1f";break;case 35664:s="2f";break;case 35665:s="3f";break;case 35666:s="4f";break;case 35670:case 5124:s="1i";break;case 35671:case 35667:s="2i";break;case 35672:case 35668:s="3i";break;case 35673:s="4i";break;case 35669:s="4i"}r(c,".uniform",s,"(",g,",",m(h)?Array.prototype.slice.call(h):h,");")}continue}f=d.append(t,r)}else{if(!o(Tt))continue;f=r.def(l.uniforms,"[",e.id(h),"]")}switch(35678===p?r("if(",f,"&&",f,'._reglType==="framebuffer"){',f,"=",f,".color[0];","}"):35680===p&&r("if(",f,"&&",f,'._reglType==="framebufferCube"){',f,"=",f,".color[0];","}"),h=1,p){case 35678:case 35680:p=r.def(f,"._texture"),r(c,".uniform1i(",g,",",p,".bind());"),r.exit(p,".unbind();");continue;case 5124:case 35670:s="1i";break;case 35667:case 35671:s="2i",h=2;break;case 35668:case 35672:s="3i",h=3;break;case 35669:case 35673:s="4i",h=4;break;case 5126:s="1f";break;case 35664:s="2f",h=2;break;case 35665:s="3f",h=3;break;case 35666:s="4f",h=4;break;case 35674:s="Matrix2fv";break;case 35675:s="Matrix3fv";break;case 35676:s="Matrix4fv"}if(r(c,".uniform",s,"(",g,","),"M"===s.charAt(0)){g=Math.pow(p-35674+2,2);var v=t.global.def("new Float32Array(",g,")");r("false,(Array.isArray(",f,")||",f," instanceof Float32Array)?",f,":(",a(g,function(t){return v+"["+t+"]="+f+"["+t+"]"}),",",v,")")}else r(1<h?a(h,function(t){return f+"["+t+"]"}):f);r(");")}}function V(t,e,r,n){function i(i){var a=h[i];return a?a.contextDep&&n.contextDynamic||a.propDep?a.append(t,r):a.append(t,e):e.def(f,".",i)}function a(){function t(){r(l,".drawElementsInstancedANGLE(",[d,m,v,g+"<<(("+v+"-5121)>>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,g,m,s],");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(u+".drawElements("+[d,m,v,g+"<<(("+v+"-5121)>>1)"]+");")}function e(){r(u+".drawArrays("+[d,g,m]+");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,c=t.shared,u=c.gl,f=c.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,".","elements"),i&&a("if("+i+")"+u+".bindBuffer(34963,"+i+".buffer.buffer);"),i}(),d=i("primitive"),g=i("offset"),m=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,".","count"),i}();if("number"==typeof m){if(0===m)return}else r("if(",m,"){"),r.exit("}");K&&(s=i("instances"),l=t.instancing);var v=p+".type",y=h.elements&&D(h.elements);K&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),a(),r("}else if(",s,"<0){"),o(),r("}")):a():o()}function q(t,e,r,n,i){return i=(e=b()).proc("body",i),K&&(e.instancing=i.def(e.shared.extensions,".angle_instanced_arrays")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){L(t,e),N(t,e,r,n.attributes,function(){return!0}),j(t,e,r,n.uniforms,function(){return!0}),V(t,e,e,r)}function G(t,e,r,n){function i(){return!0}t.batchId="a1",L(t,e),N(t,e,r,n.attributes,i),j(t,e,r,n.uniforms,i),V(t,e,e,r)}function W(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}L(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var c=t.scope(),u=t.scope();e(c.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",u,"}",c.exit),r.needsContext&&T(t,u,r.context),r.needsFramebuffer&&S(t,u,r.framebuffer),C(t,u,r.state,i),r.profile&&i(r.profile)&&F(t,u,r,!1,!0),n?(N(t,c,r,n.attributes,a),N(t,u,r,n.attributes,i),j(t,c,r,n.uniforms,a),j(t,u,r,n.uniforms,i),V(t,c,u,r)):(e=t.global.def("{}"),n=r.shader.progVar.append(t,u),l=u.def(n,".id"),c=u.def(e,"[",l,"]"),u(t.shared.gl,".useProgram(",n,".program);","if(!",c,"){",c,"=",e,"[",l,"]=",t.link(function(e){return q(G,t,r,e,2)}),"(",n,");}",c,".call(this,a0[",s,"],",s,");"))}function Y(t,r){function n(e){var n=r.shader[e];n&&i.set(a.shader,"."+e,n.append(t,i))}var i=t.proc("scope",3);t.batchId="a2";var a=t.shared,o=a.current;T(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),O(Object.keys(r.state)).forEach(function(e){var n=r.state[e].append(t,i);m(n)?n.forEach(function(r,n){i.set(t.next[e],"["+n+"]",r)}):i.set(a.next,"."+e,n)}),F(t,i,r,!0,!0),["elements","offset","count","instances","primitive"].forEach(function(e){var n=r.draw[e];n&&i.set(a.draw,"."+e,""+n.append(t,i))}),Object.keys(r.uniforms).forEach(function(n){i.set(a.uniforms,"["+e.id(n)+"]",r.uniforms[n].append(t,i))}),Object.keys(r.attributes).forEach(function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new Z).forEach(function(t){i.set(a,"."+t,n[t])})}),n("vert"),n("frag"),0<Object.keys(r.state).length&&(i(o,".dirty=true;"),i.exit(o,".dirty=true;")),i("a1(",t.shared.context,",a0,",t.batchId,");")}function X(t,e,r){var n=e.static[r];if(n&&function(t){if("object"==typeof t&&!m(t)){for(var e=Object.keys(t),r=0;r<e.length;++r)if(U.isDynamic(t[e[r]]))return!0;return!1}}(n)){var i=t.global,a=Object.keys(n),o=!1,s=!1,l=!1,c=t.global.def("{}");a.forEach(function(e){var r=n[e];if(U.isDynamic(r))"function"==typeof r&&(r=n[e]=U.unbox(r)),e=B(r,null),o=o||e.thisDep,l=l||e.propDep,s=s||e.contextDep;else{switch(i(c,".",e,"="),typeof r){case"number":i(r);break;case"string":i('"',r,'"');break;case"object":Array.isArray(r)&&i("[",r.join(),"]");break;default:i(t.link(r))}i(";")}}),e.dynamic[r]=new U.DynamicVariable(4,{thisDep:o,contextDep:s,propDep:l,ref:c,append:function(t,e){a.forEach(function(r){var i=n[r];U.isDynamic(i)&&(i=t.invoke(e,i),e(c,".",r,"=",i,";"))})}}),delete e.static[r]}}var Z=u.Record,$={add:32774,subtract:32778,"reverse subtract":32779};r.ext_blend_minmax&&($.min=32775,$.max=32776);var K=r.angle_instanced_arrays,Q=r.webgl_draw_buffers,tt={dirty:!0,profile:g.profile},et={},nt=[],it={},at={};y("dither",3024),y("blend.enable",3042),x("blend.color","blendColor",[0,0,0,0]),x("blend.equation","blendEquationSeparate",[32774,32774]),x("blend.func","blendFuncSeparate",[1,0,1,0]),y("depth.enable",2929,!0),x("depth.func","depthFunc",513),x("depth.range","depthRange",[0,1]),x("depth.mask","depthMask",!0),x("colorMask","colorMask",[!0,!0,!0,!0]),y("cull.enable",2884),x("cull.face","cullFace",1029),x("frontFace","frontFace",2305),x("lineWidth","lineWidth",1),y("polygonOffset.enable",32823),x("polygonOffset.offset","polygonOffset",[0,0]),y("sample.alpha",32926),y("sample.enable",32928),x("sample.coverage","sampleCoverage",[1,!1]),y("stencil.enable",2960),x("stencil.mask","stencilMask",-1),x("stencil.func","stencilFunc",[519,0,-1]),x("stencil.opFront","stencilOpSeparate",[1028,7680,7680,7680]),x("stencil.opBack","stencilOpSeparate",[1029,7680,7680,7680]),y("scissor.enable",3089),x("scissor.box","scissor",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),x("viewport","viewport",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var ot={gl:t,context:p,strings:e,next:et,current:tt,draw:h,elements:o,buffer:i,shader:f,attributes:u.state,uniforms:c,framebuffer:l,extensions:r,timer:d,isBufferArgs:P},st={primTypes:rt,compareFuncs:kt,blendFuncs:wt,blendEquations:$,stencilOps:Mt,glTypes:J,orientationType:At};Q&&(st.backBuffer=[1029],st.drawBuffer=a(n.maxDrawbuffers,function(t){return 0===t?[0]:a(t,function(t){return 36064+t})}));var lt=0;return{next:et,current:tt,procs:function(){var t=b(),e=t.proc("poll"),r=t.proc("refresh"),i=t.block();e(i),r(i);var o,s=t.shared,l=s.gl,c=s.next,u=s.current;i(u,".dirty=false;"),S(t,e),S(t,r,null,!0),K&&(o=t.link(K));for(var f=0;f<n.maxAttributes;++f){var h=r.def(s.attributes,"[",f,"]"),p=t.cond(h,".buffer");p.then(l,".enableVertexAttribArray(",f,");",l,".bindBuffer(",34962,",",h,".buffer.buffer);",l,".vertexAttribPointer(",f,",",h,".size,",h,".type,",h,".normalized,",h,".stride,",h,".offset);").else(l,".disableVertexAttribArray(",f,");",l,".vertexAttrib4f(",f,",",h,".x,",h,".y,",h,".z,",h,".w);",h,".buffer=null;"),r(p),K&&r(o,".vertexAttribDivisorANGLE(",f,",",h,".divisor);")}return Object.keys(it).forEach(function(n){var a=it[n],o=i.def(c,".",n),s=t.block();s("if(",o,"){",l,".enable(",a,")}else{",l,".disable(",a,")}",u,".",n,"=",o,";"),r(s),e("if(",o,"!==",u,".",n,"){",s,"}")}),Object.keys(at).forEach(function(n){var o,s,f=at[n],h=tt[n],p=t.block();p(l,".",f,"("),m(h)?(f=h.length,o=t.global.def(c,".",n),s=t.global.def(u,".",n),p(a(f,function(t){return o+"["+t+"]"}),");",a(f,function(t){return s+"["+t+"]="+o+"["+t+"];"}).join("")),e("if(",a(f,function(t){return o+"["+t+"]!=="+s+"["+t+"]"}).join("||"),"){",p,"}")):(o=i.def(c,".",n),s=i.def(u,".",n),p(o,");",u,".",n,"=",o,";"),e("if(",o,"!==",s,"){",p,"}")),r(p)}),t.compile()}(),compile:function(t,e,r,n,i){var a=b();return a.stats=a.link(i),Object.keys(e.static).forEach(function(t){X(a,e,t)}),_t.forEach(function(e){X(a,t,e)}),r=A(t,e,r,n),function(t,e){var r=t.proc("draw",1);L(t,r),T(t,r,e.context),S(t,r,e.framebuffer),E(t,r,e),C(t,r,e.state),F(t,r,e,!1,!0);var n=e.shader.progVar.append(t,r);if(r(t.shared.gl,".useProgram(",n,".program);"),e.shader.program)H(t,r,e,e.shader.program);else{var i=t.global.def("{}"),a=r.def(n,".id"),o=r.def(i,"[",a,"]");r(t.cond(o).then(o,".call(this,a0);").else(o,"=",i,"[",a,"]=",t.link(function(r){return q(H,t,e,r,1)}),"(",n,");",o,".call(this,a0);"))}0<Object.keys(e.state).length&&r(t.shared.current,".dirty=true;")}(a,r),Y(a,r),function(t,e){function r(t){return t.contextDep&&i||t.propDep}var n=t.proc("batch",2);t.batchId="0",L(t,n);var i=!1,a=!0;Object.keys(e.context).forEach(function(t){i=i||e.context[t].propDep}),i||(T(t,n,e.context),a=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?i=o=!0:s.contextDep&&i&&(o=!0),o||S(t,n,s)):S(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(i=!0),E(t,n,e),C(t,n,e.state,function(t){return!r(t)}),e.profile&&r(e.profile)||F(t,n,e,!1,"a1"),e.contextDep=i,e.needsContext=a,e.needsFramebuffer=o,(a=e.shader.progVar).contextDep&&i||a.propDep)W(t,n,e,null);else if(a=a.append(t,n),n(t.shared.gl,".useProgram(",a,".program);"),e.shader.program)W(t,n,e,e.shader.program);else{var s=t.global.def("{}"),l=(o=n.def(a,".id"),n.def(s,"[",o,"]"));n(t.cond(l).then(l,".call(this,a0,a1);").else(l,"=",s,"[",o,"]=",t.link(function(r){return q(W,t,e,r,2)}),"(",a,");",l,".call(this,a0,a1);"))}0<Object.keys(e.state).length&&n(t.shared.current,".dirty=true;")}(a,r),a.compile()}}}function N(t,e){for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}var j=function(t,e){for(var r=Object.keys(e),n=0;n<r.length;++n)t[r[n]]=e[r[n]];return t},V=0,U={DynamicVariable:t,define:function(r,n){return new t(r,e(n+""))},isDynamic:function(e){return"function"==typeof e&&!e._reglType||e instanceof t},unbox:function(e,r){return"function"==typeof e?new t(0,e):e},accessor:e},q={next:"function"==typeof requestAnimationFrame?function(t){return requestAnimationFrame(t)}:function(t){return setTimeout(t,16)},cancel:"function"==typeof cancelAnimationFrame?function(t){return cancelAnimationFrame(t)}:clearTimeout},H="undefined"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},G=s();G.zero=s();var W=function(t,e){var r=1;e.ext_texture_filter_anisotropic&&(r=t.getParameter(34047));var n=1,i=1;e.webgl_draw_buffers&&(n=t.getParameter(34852),i=t.getParameter(36063));var a=!!e.oes_texture_float;if(a){a=t.createTexture(),t.bindTexture(3553,a),t.texImage2D(3553,0,6408,1,1,0,6408,5126,null);var o=t.createFramebuffer();if(t.bindFramebuffer(36160,o),t.framebufferTexture2D(36160,36064,3553,a,0),t.bindTexture(3553,null),36053!==t.checkFramebufferStatus(36160))a=!1;else{t.viewport(0,0,1,1),t.clearColor(1,0,0,1),t.clear(16384);var s=G.allocType(5126,4);t.readPixels(0,0,1,1,6408,5126,s),t.getError()?a=!1:(t.deleteFramebuffer(o),t.deleteTexture(a),a=1===s[0]),G.freeType(s)}}return s=!0,s=t.createTexture(),o=G.allocType(5121,36),t.activeTexture(33984),t.bindTexture(34067,s),t.texImage2D(34069,0,6408,3,3,0,6408,5121,o),G.freeType(o),t.bindTexture(34067,null),t.deleteTexture(s),s=!t.getError(),{colorBits:[t.getParameter(3410),t.getParameter(3411),t.getParameter(3412),t.getParameter(3413)],depthBits:t.getParameter(3414),stencilBits:t.getParameter(3415),subpixelBits:t.getParameter(3408),extensions:Object.keys(e).filter(function(t){return!!e[t]}),maxAnisotropic:r,maxDrawbuffers:n,maxColorAttachments:i,pointSizeDims:t.getParameter(33901),lineWidthDims:t.getParameter(33902),maxViewportDims:t.getParameter(3386),maxCombinedTextureUnits:t.getParameter(35661),maxCubeMapSize:t.getParameter(34076),maxRenderbufferSize:t.getParameter(34024),maxTextureUnits:t.getParameter(34930),maxTextureSize:t.getParameter(3379),maxAttributes:t.getParameter(34921),maxVertexUniforms:t.getParameter(36347),maxVertexTextureUnits:t.getParameter(35660),maxVaryingVectors:t.getParameter(36348),maxFragmentUniforms:t.getParameter(36349),glsl:t.getParameter(35724),renderer:t.getParameter(7937),vendor:t.getParameter(7936),version:t.getParameter(7938),readFloat:a,npotTextureCube:s}},Y=function(t){return t instanceof Uint8Array||t instanceof Uint16Array||t instanceof Uint32Array||t instanceof Int8Array||t instanceof Int16Array||t instanceof Int32Array||t instanceof Float32Array||t instanceof Float64Array||t instanceof Uint8ClampedArray},X=function(t){return Object.keys(t).map(function(e){return t[e]})},Z={shape:function(t){for(var e=[];t.length;t=t[0])e.push(t.length);return e},flatten:function(t,e,r,n){var i=1;if(e.length)for(var a=0;a<e.length;++a)i*=e[a];else i=0;switch(r=n||G.allocType(r,i),e.length){case 0:break;case 1:for(n=e[0],e=0;e<n;++e)r[e]=t[e];break;case 2:for(n=e[0],e=e[1],a=i=0;a<n;++a)for(var o=t[a],s=0;s<e;++s)r[i++]=o[s];break;case 3:c(t,e[0],e[1],e[2],r,0);break;default:!function t(e,r,n,i,a){for(var o=1,s=n+1;s<r.length;++s)o*=r[s];var l=r[n];if(4==r.length-n){var u=r[n+1],f=r[n+2];for(r=r[n+3],s=0;s<l;++s)c(e[s],u,f,r,i,a),a+=o}else for(s=0;s<l;++s)t(e[s],r,n+1,i,a),a+=o}(t,e,0,r,0)}return r}},$={"[object Int8Array]":5120,"[object Int16Array]":5122,"[object Int32Array]":5124,"[object Uint8Array]":5121,"[object Uint8ClampedArray]":5121,"[object Uint16Array]":5123,"[object Uint32Array]":5125,"[object Float32Array]":5126,"[object Float64Array]":5121,"[object ArrayBuffer]":5121},J={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},K={dynamic:35048,stream:35040,static:35044},Q=Z.flatten,tt=Z.shape,et=[];et[5120]=1,et[5122]=2,et[5124]=4,et[5121]=1,et[5123]=2,et[5125]=4,et[5126]=4;var rt={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},nt=new Float32Array(1),it=new Uint32Array(nt.buffer),at=[9984,9986,9985,9987],ot=[0,6409,6410,6407,6408],st={};st[6409]=st[6406]=st[6402]=1,st[34041]=st[6410]=2,st[6407]=st[35904]=3,st[6408]=st[35906]=4;var lt=v("HTMLCanvasElement"),ct=v("CanvasRenderingContext2D"),ut=v("ImageBitmap"),ft=v("HTMLImageElement"),ht=v("HTMLVideoElement"),pt=Object.keys($).concat([lt,ct,ut,ft,ht]),dt=[];dt[5121]=1,dt[5126]=4,dt[36193]=2,dt[5123]=2,dt[5125]=4;var gt=[];gt[32854]=2,gt[32855]=2,gt[36194]=2,gt[34041]=4,gt[33776]=.5,gt[33777]=.5,gt[33778]=1,gt[33779]=1,gt[35986]=.5,gt[35987]=1,gt[34798]=1,gt[35840]=.5,gt[35841]=.25,gt[35842]=.5,gt[35843]=.25,gt[36196]=.5;var mt=[];mt[32854]=2,mt[32855]=2,mt[36194]=2,mt[33189]=2,mt[36168]=1,mt[34041]=4,mt[35907]=4,mt[34836]=16,mt[34842]=8,mt[34843]=6;var vt=function(t,e,r,n,i){function a(t){this.id=c++,this.refCount=1,this.renderbuffer=t,this.format=32854,this.height=this.width=0,i.profile&&(this.stats={size:0})}function o(e){var r=e.renderbuffer;t.bindRenderbuffer(36161,null),t.deleteRenderbuffer(r),e.renderbuffer=null,e.refCount=0,delete u[e.id],n.renderbufferCount--}var s={rgba4:32854,rgb565:36194,"rgb5 a1":32855,depth:33189,stencil:36168,"depth stencil":34041};e.ext_srgb&&(s.srgba=35907),e.ext_color_buffer_half_float&&(s.rgba16f=34842,s.rgb16f=34843),e.webgl_color_buffer_float&&(s.rgba32f=34836);var l=[];Object.keys(s).forEach(function(t){l[s[t]]=t});var c=0,u={};return a.prototype.decRef=function(){0>=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(u).forEach(function(e){t+=u[e].stats.size}),t}),{create:function(e,r){function o(e,r){var n=0,a=0,u=32854;if("object"==typeof e&&e?("shape"in e?(n=0|(a=e.shape)[0],a=0|a[1]):("radius"in e&&(n=a=0|e.radius),"width"in e&&(n=0|e.width),"height"in e&&(a=0|e.height)),"format"in e&&(u=s[e.format])):"number"==typeof e?(n=0|e,a="number"==typeof r?0|r:n):e||(n=a=1),n!==c.width||a!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=a,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,a),i.profile&&(c.stats.size=mt[c.format]*c.width*c.height),o.format=l[c.format],o}var c=new a(t.createRenderbuffer());return u[c.id]=c,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===c.width&&a===c.height?o:(o.width=c.width=n,o.height=c.height=a,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,a),i.profile&&(c.stats.size=mt[c.format]*c.width*c.height),o)},o._reglType="renderbuffer",o._renderbuffer=c,i.profile&&(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){X(u).forEach(o)},restore:function(){X(u).forEach(function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)}),t.bindRenderbuffer(36161,null)}}},yt=[];yt[6408]=4,yt[6407]=3;var xt=[];xt[5121]=1,xt[5126]=4,xt[36193]=2;var bt=["x","y","z","w"],_t="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),wt={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},kt={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Mt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},At={cw:2304,ccw:2305},Tt=new I(!1,!1,!1,function(){});return function(t){function e(){if(0===Z.length)w&&w.update(),Q=null;else{Q=q.next(e),f();for(var t=Z.length-1;0<=t;--t){var r=Z[t];r&&r(z,null,0)}m.flush(),w&&w.update()}}function r(){!Q&&0<Z.length&&(Q=q.next(e))}function n(){Q&&(q.cancel(e),Q=null)}function a(t){t.preventDefault(),n(),$.forEach(function(t){t()})}function o(t){m.getError(),y.restore(),D.restore(),O.restore(),R.restore(),B.restore(),V.restore(),w&&w.restore(),G.procs.refresh(),r(),J.forEach(function(t){t()})}function s(t){function e(t){var e={},r={};return Object.keys(t).forEach(function(n){var i=t[n];U.isDynamic(i)?r[n]=U.unbox(i,n):e[n]=i}),{dynamic:r,static:e}}var r=e(t.context||{}),n=e(t.uniforms||{}),i=e(t.attributes||{}),a=e(function(t){function e(t){if(t in r){var e=r[t];delete r[t],Object.keys(e).forEach(function(n){r[t+"."+n]=e[n]})}}var r=j({},t);return delete r.uniforms,delete r.attributes,delete r.context,"stencil"in r&&r.stencil.op&&(r.stencil.opBack=r.stencil.opFront=r.stencil.op,delete r.stencil.op),e("blend"),e("depth"),e("cull"),e("stencil"),e("polygonOffset"),e("scissor"),e("sample"),r}(t));t={gpuTime:0,cpuTime:0,count:0};var o=(r=G.compile(a,i,n,r,t)).draw,s=r.batch,l=r.scope,c=[];return j(function(t,e){var r;if("function"==typeof t)return l.call(this,null,t,0);if("function"==typeof e)if("number"==typeof t)for(r=0;r<t;++r)l.call(this,null,e,r);else{if(!Array.isArray(t))return l.call(this,t,e,0);for(r=0;r<t.length;++r)l.call(this,t[r],e,r)}else if("number"==typeof t){if(0<t)return s.call(this,function(t){for(;c.length<t;)c.push(null);return c}(0|t),0|t)}else{if(!Array.isArray(t))return o.call(this,t);if(t.length)return s.call(this,t,t.length)}},{stats:t})}function l(t,e){var r=0;G.procs.poll();var n=e.color;n&&(m.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=16384),"depth"in e&&(m.clearDepth(+e.depth),r|=256),"stencil"in e&&(m.clearStencil(0|e.stencil),r|=1024),m.clear(r)}function c(t){return Z.push(t),r(),{cancel:function(){var e=N(Z,t);Z[e]=function t(){var e=N(Z,t);Z[e]=Z[Z.length-1],--Z.length,0>=Z.length&&n()}}}}function u(){var t=Y.viewport,e=Y.scissor_box;t[0]=t[1]=e[0]=e[1]=0,z.viewportWidth=z.framebufferWidth=z.drawingBufferWidth=t[2]=e[2]=m.drawingBufferWidth,z.viewportHeight=z.framebufferHeight=z.drawingBufferHeight=t[3]=e[3]=m.drawingBufferHeight}function f(){z.tick+=1,z.time=g(),u(),G.procs.poll()}function h(){u(),G.procs.refresh(),w&&w.update()}function g(){return(H()-k)/1e3}if(!(t=i(t)))return null;var m=t.gl,v=m.getContextAttributes();m.isContextLost();var y=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;i<e.extensions.length;++i){var a=e.extensions[i];if(!r(a))return e.onDestroy(),e.onDone('"'+a+'" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return e.optionalExtensions.forEach(r),{extensions:n,restore:function(){Object.keys(n).forEach(function(t){if(!r(t))throw Error("(regl): error restoring extension "+t)})}}}(m,t);if(!y)return null;var x=function(){var t={"":0},e=[""];return{id:function(r){var n=t[r];return n||(n=t[r]=e.length,e.push(r),n)},str:function(t){return e[t]}}}(),b={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},_=y.extensions,w=function(t,e){function r(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null}function n(t,e,n){var i=s.pop()||new r;i.startQueryIndex=t,i.endQueryIndex=e,i.sum=0,i.stats=n,l.push(i)}var i=e.ext_disjoint_timer_query;if(!i)return null;var a=[],o=[],s=[],l=[],c=[],u=[];return{beginQuery:function(t){var e=a.pop()||i.createQueryEXT();i.beginQueryEXT(35007,e),o.push(e),n(o.length-1,o.length,t)},endQuery:function(){i.endQueryEXT(35007)},pushScopeStats:n,update:function(){var t,e;if(0!==(t=o.length)){u.length=Math.max(u.length,t+1),c.length=Math.max(c.length,t+1),c[0]=0;var r=u[0]=0;for(e=t=0;e<o.length;++e){var n=o[e];i.getQueryObjectEXT(n,34919)?(r+=i.getQueryObjectEXT(n,34918),a.push(n)):o[t++]=n,c[e+1]=r,u[e+1]=t}for(o.length=t,e=t=0;e<l.length;++e){var f=(r=l[e]).startQueryIndex;n=r.endQueryIndex,r.sum+=c[n]-c[f],f=u[f],(n=u[n])===f?(r.stats.gpuTime+=r.sum/1e6,s.push(r)):(r.startQueryIndex=f,r.endQueryIndex=n,l[t++]=r)}l.length=t}},getNumPendingQueries:function(){return o.length},clear:function(){a.push.apply(a,o);for(var t=0;t<a.length;t++)i.deleteQueryEXT(a[t]);o.length=0,a.length=0},restore:function(){o.length=0,a.length=0}}}(0,_),k=H(),C=m.drawingBufferWidth,L=m.drawingBufferHeight,z={tick:0,time:0,viewportWidth:C,viewportHeight:L,framebufferWidth:C,framebufferHeight:L,drawingBufferWidth:C,drawingBufferHeight:L,pixelRatio:t.pixelRatio},P=W(m,_),O=(C=function(t,e,r,n){for(t=r.maxAttributes,e=Array(t),r=0;r<t;++r)e[r]=new T;return{Record:T,scope:{},state:e}}(m,_,P),p(m,b,t,C)),I=d(m,_,O,b),D=S(m,x,b,t),R=M(m,_,P,function(){G.procs.poll()},z,b,t),B=vt(m,_,0,b,t),V=A(m,_,P,R,B,b),G=F(m,x,_,P,O,I,0,V,{},C,D,{elements:null,primitive:4,count:-1,offset:0,instances:-1},z,w,t),Y=(x=E(m,V,G.procs.poll,z),G.next),X=m.canvas,Z=[],$=[],J=[],K=[t.onDestroy],Q=null;X&&(X.addEventListener("webglcontextlost",a,!1),X.addEventListener("webglcontextrestored",o,!1));var tt=V.setFBO=s({framebuffer:U.define.call(null,1,"framebuffer")});return h(),v=j(s,{clear:function(t){if("framebuffer"in t)if(t.framebuffer&&"framebufferCube"===t.framebuffer_reglType)for(var e=0;6>e;++e)tt(j({framebuffer:t.framebuffer.faces[e]},t),l);else tt(t,l);else l(0,t)},prop:U.define.bind(null,1),context:U.define.bind(null,2),this:U.define.bind(null,3),draw:s({}),buffer:function(t){return O.create(t,34962,!1,!1)},elements:function(t){return I.create(t,!1)},texture:R.create2D,cube:R.createCube,renderbuffer:B.create,framebuffer:V.create,framebufferCube:V.createCube,attributes:v,frame:c,on:function(t,e){var r;switch(t){case"frame":return c(e);case"lost":r=$;break;case"restore":r=J;break;case"destroy":r=K}return r.push(e),{cancel:function(){for(var t=0;t<r.length;++t)if(r[t]===e){r[t]=r[r.length-1],r.pop();break}}}},limits:P,hasExtension:function(t){return 0<=P.extensions.indexOf(t.toLowerCase())},read:x,destroy:function(){Z.length=0,n(),X&&(X.removeEventListener("webglcontextlost",a),X.removeEventListener("webglcontextrestored",o)),D.clear(),V.clear(),B.clear(),R.clear(),I.clear(),O.clear(),w&&w.clear(),K.forEach(function(t){t()})},_gl:m,_refresh:h,poll:function(){f(),w&&w.update()},now:g,stats:b}),t.onDone(null,v),v}},"object"==typeof r&&"undefined"!=typeof e?e.exports=i():n.createREGL=i()},{}],476:[function(t,e,r){"use strict";var n,i="";e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("expected a string");if(1===e)return t;if(2===e)return t+t;var r=t.length*e;if(n!==t||"undefined"==typeof n)n=t,i="";else if(i.length>=r)return i.substr(0,r);for(;r>i.length&&e>1;)1&e&&(i+=t),e>>=1,t+=t;return i=(i+=t).substr(0,r)}},{}],477:[function(t,e,r){(function(t){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],478:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i],s=(r=a+o)-a,l=o-s;l&&(t[--n]=r,r=l)}for(var c=0,i=n;i<e;++i){var a=t[i],o=r,s=(r=a+o)-a,l=o-s;l&&(t[c++]=l)}return t[c++]=r,t.length=c,t}},{}],479:[function(t,e,r){"use strict";var n=t("two-product"),i=t("robust-sum"),a=t("robust-scale"),o=t("robust-compress"),s=6;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function c(t){if(2===t.length)return["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("");for(var e=[],r=0;r<t.length;++r)e.push(["scale(",c(l(t,r)),",",(n=r,1&n?"-":""),t[0][r],")"].join(""));return function t(e){if(1===e.length)return e[0];if(2===e.length)return["sum(",e[0],",",e[1],")"].join("");var r=e.length>>1;return["sum(",t(e.slice(0,r)),",",t(e.slice(r)),")"].join("")}(e);var n}function u(t){return new Function("sum","scale","prod","compress",["function robustDeterminant",t,"(m){return compress(",c(function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=["m[",r,"][",n,"]"].join("")}return e}(t)),")};return robustDeterminant",t].join(""))(i,a,n,o)}var f=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;f.length<s;)f.push(u(f.length));for(var t=[],r=["function robustDeterminant(m){switch(m.length){"],n=0;n<s;++n)t.push("det"+n),r.push("case ",n,":return det",n,"(m);");r.push("}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant"),t.push("CACHE","gen",r.join(""));var i=Function.apply(void 0,t);for(e.exports=i.apply(void 0,f.concat([f,u])),n=0;n<f.length;++n)e.exports[n]=f[n]}()},{"robust-compress":478,"robust-scale":485,"robust-sum":488,"two-product":517}],480:[function(t,e,r){"use strict";var n=t("two-product"),i=t("robust-sum");e.exports=function(t,e){for(var r=n(t[0],e[0]),a=1;a<t.length;++a)r=i(r,n(t[a],e[a]));return r}},{"robust-sum":488,"two-product":517}],481:[function(t,e,r){"use strict";var n=t("two-product"),i=t("robust-sum"),a=t("robust-subtract"),o=t("robust-scale"),s=6;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function c(t){if(1===t.length)return t[0];if(2===t.length)return["sum(",t[0],",",t[1],")"].join("");var e=t.length>>1;return["sum(",c(t.slice(0,e)),",",c(t.slice(e)),")"].join("")}function u(t,e){if("m"===t.charAt(0)){if("w"===e.charAt(0)){var r=t.split("[");return["w",e.substr(1),"m",r[0].substr(1)].join("")}return["prod(",t,",",e,")"].join("")}return u(e,t)}function f(t){if(2===t.length)return[["diff(",u(t[0][0],t[1][1]),",",u(t[1][0],t[0][1]),")"].join("")];for(var e=[],r=0;r<t.length;++r)e.push(["scale(",c(f(l(t,r))),",",(n=r,!0&n?"-":""),t[0][r],")"].join(""));return e;var n}function h(t,e){for(var r=[],n=0;n<e-2;++n)r.push(["prod(m",t,"[",n,"],m",t,"[",n,"])"].join(""));return c(r)}function p(t){for(var e=[],r=[],s=function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=["m",n,"[",t-r-2,"]"].join("")}return e}(t),u=0;u<t;++u)s[0][u]="1",s[t-1][u]="w"+u;for(u=0;u<t;++u)0==(1&u)?e.push.apply(e,f(l(s,u))):r.push.apply(r,f(l(s,u)));var p=c(e),d=c(r),g="exactInSphere"+t,m=[];for(u=0;u<t;++u)m.push("m"+u);var v=["function ",g,"(",m.join(),"){"];for(u=0;u<t;++u){v.push("var w",u,"=",h(u,t),";");for(var y=0;y<t;++y)y!==u&&v.push("var w",u,"m",y,"=scale(w",u,",m",y,"[0]);")}return v.push("var p=",p,",n=",d,",d=diff(p,n);return d[d.length-1];}return ",g),new Function("sum","diff","prod","scale",v.join(""))(i,a,n,o)}var d=[function(){return 0},function(){return 0},function(){return 0}];!function(){for(;d.length<=s;)d.push(p(d.length));for(var t=[],r=["slow"],n=0;n<=s;++n)t.push("a"+n),r.push("o"+n);var i=["function testInSphere(",t.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(n=2;n<=s;++n)i.push("case ",n,":return o",n,"(",t.slice(0,n).join(),");");i.push("}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere"),r.push(i.join(""));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[function(t){var e=d[t.length];return e||(e=d[t.length]=p(t.length)),e.apply(void 0,t)}].concat(d)),n=0;n<=s;++n)e.exports[n]=d[n]}()},{"robust-scale":485,"robust-subtract":487,"robust-sum":488,"two-product":517}],482:[function(t,e,r){"use strict";var n=t("robust-determinant"),i=6;function a(t){for(var e="robustLinearSolve"+t+"d",r=["function ",e,"(A,b){return ["],i=0;i<t;++i){r.push("det([");for(var a=0;a<t;++a){a>0&&r.push(","),r.push("[");for(var o=0;o<t;++o)o>0&&r.push(","),o===i?r.push("+b[",a,"]"):r.push("+A[",a,"][",o,"]");r.push("]")}r.push("]),")}r.push("det(A)]}return ",e);var s=new Function("det",r.join(""));return s(t<6?n[t]:n)}var o=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;o.length<i;)o.push(a(o.length));for(var t=[],r=["function dispatchLinearSolve(A,b){switch(A.length){"],n=0;n<i;++n)t.push("s"+n),r.push("case ",n,":return s",n,"(A,b);");r.push("}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve"),t.push("CACHE","g",r.join(""));var s=Function.apply(void 0,t);for(e.exports=s.apply(void 0,o.concat([o,a])),n=0;n<i;++n)e.exports[n]=o[n]}()},{"robust-determinant":479}],483:[function(t,e,r){"use strict";var n=t("two-product"),i=t("robust-sum"),a=t("robust-scale"),o=t("robust-subtract"),s=5;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function c(t){if(1===t.length)return t[0];if(2===t.length)return["sum(",t[0],",",t[1],")"].join("");var e=t.length>>1;return["sum(",c(t.slice(0,e)),",",c(t.slice(e)),")"].join("")}function u(t){if(2===t.length)return[["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("")];for(var e=[],r=0;r<t.length;++r)e.push(["scale(",c(u(l(t,r))),",",(n=r,1&n?"-":""),t[0][r],")"].join(""));return e;var n}function f(t){for(var e=[],r=[],s=function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=["m",n,"[",t-r-1,"]"].join("")}return e}(t),f=[],h=0;h<t;++h)0==(1&h)?e.push.apply(e,u(l(s,h))):r.push.apply(r,u(l(s,h))),f.push("m"+h);var p=c(e),d=c(r),g="orientation"+t+"Exact",m=["function ",g,"(",f.join(),"){var p=",p,",n=",d,",d=sub(p,n);return d[d.length-1];};return ",g].join("");return new Function("sum","prod","scale","sub",m)(i,n,a,o)}var h=f(3),p=f(4),d=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,r){var n,i=(t[1]-r[1])*(e[0]-r[0]),a=(t[0]-r[0])*(e[1]-r[1]),o=i-a;if(i>0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=3.3306690738754716e-16*n;return o>=s||o<=-s?o:h(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],c=r[1]-n[1],u=t[2]-n[2],f=e[2]-n[2],h=r[2]-n[2],d=a*c,g=o*l,m=o*s,v=i*c,y=i*l,x=a*s,b=u*(d-g)+f*(m-v)+h*(y-x),_=7.771561172376103e-16*((Math.abs(d)+Math.abs(g))*Math.abs(u)+(Math.abs(m)+Math.abs(v))*Math.abs(f)+(Math.abs(y)+Math.abs(x))*Math.abs(h));return b>_||-b>_?b:p(t,e,r,n)}];!function(){for(;d.length<=s;)d.push(f(d.length));for(var t=[],r=["slow"],n=0;n<=s;++n)t.push("a"+n),r.push("o"+n);var i=["function getOrientation(",t.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(n=2;n<=s;++n)i.push("case ",n,":return o",n,"(",t.slice(0,n).join(),");");i.push("}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation"),r.push(i.join(""));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[function(t){var e=d[t.length];return e||(e=d[t.length]=f(t.length)),e.apply(void 0,t)}].concat(d)),n=0;n<=s;++n)e.exports[n]=d[n]}()},{"robust-scale":485,"robust-subtract":487,"robust-sum":488,"two-product":517}],484:[function(t,e,r){"use strict";var n=t("robust-sum"),i=t("robust-scale");e.exports=function(t,e){if(1===t.length)return i(e,t[0]);if(1===e.length)return i(t,e[0]);if(0===t.length||0===e.length)return[0];var r=[0];if(t.length<e.length)for(var a=0;a<t.length;++a)r=n(r,i(e,t[a]));else for(var a=0;a<e.length;++a)r=n(r,i(t,e[a]));return r}},{"robust-scale":485,"robust-sum":488}],485:[function(t,e,r){"use strict";var n=t("two-product"),i=t("two-sum");e.exports=function(t,e){var r=t.length;if(1===r){var a=n(t[0],e);return a[0]?a:[a[1]]}var o=new Array(2*r),s=[.1,.1],l=[.1,.1],c=0;n(t[0],e,s),s[0]&&(o[c++]=s[0]);for(var u=1;u<r;++u){n(t[u],e,l);var f=s[1];i(f,l[0],s),s[0]&&(o[c++]=s[0]);var h=l[1],p=s[1],d=h+p,g=d-h,m=p-g;s[1]=d,m&&(o[c++]=m)}s[1]&&(o[c++]=s[1]);0===c&&(o[c++]=0);return o.length=c,o}},{"two-product":517,"two-sum":518}],486:[function(t,e,r){"use strict";e.exports=function(t,e,r,i){var a=n(t,r,i),o=n(e,r,i);if(a>0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);if(s>0&&l>0||s<0&&l<0)return!1;if(0===a&&0===o&&0===s&&0===l)return function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),c=r[i],u=n[i],f=Math.min(c,u),h=Math.max(c,u);if(h<s||l<f)return!1}return!0}(t,e,r,i);return!0};var n=t("robust-orientation")[3]},{"robust-orientation":483}],487:[function(t,e,r){"use strict";e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],-e[0]);var i,a,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,f=t[l],h=u(f),p=-e[c],d=u(p);h<d?(a=f,(l+=1)<r&&(f=t[l],h=u(f))):(a=p,(c+=1)<n&&(p=-e[c],d=u(p)));l<r&&h<d||c>=n?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=-e[c],d=u(p)));var g,m,v=i+a,y=v-i,x=a-y,b=x,_=v;for(;l<r&&c<n;)h<d?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=-e[c],d=u(p))),(x=(a=b)-(y=(v=i+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g;for(;l<r;)(x=(a=b)-(y=(v=(i=f)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(l+=1)<r&&(f=t[l]);for(;c<n;)(x=(a=b)-(y=(v=(i=p)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(c+=1)<n&&(p=-e[c]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o}},{}],488:[function(t,e,r){"use strict";e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],e[0]);var i,a,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,f=t[l],h=u(f),p=e[c],d=u(p);h<d?(a=f,(l+=1)<r&&(f=t[l],h=u(f))):(a=p,(c+=1)<n&&(p=e[c],d=u(p)));l<r&&h<d||c>=n?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=e[c],d=u(p)));var g,m,v=i+a,y=v-i,x=a-y,b=x,_=v;for(;l<r&&c<n;)h<d?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=e[c],d=u(p))),(x=(a=b)-(y=(v=i+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g;for(;l<r;)(x=(a=b)-(y=(v=(i=f)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(l+=1)<r&&(f=t[l]);for(;c<n;)(x=(a=b)-(y=(v=(i=p)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(c+=1)<n&&(p=e[c]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o}},{}],489:[function(t,e,r){"use strict";e.exports=function(t){return t<0?-1:t>0?1:0}},{}],490:[function(t,e,r){"use strict";e.exports=function(t){return i(n(t))};var n=t("boundary-cells"),i=t("reduce-simplicial-complex")},{"boundary-cells":82,"reduce-simplicial-complex":469}],491:[function(t,e,r){"use strict";e.exports=function(t,e,r,s){r=r||0,"undefined"==typeof s&&(s=function(t){for(var e=t.length,r=0,n=0;n<e;++n)r=0|Math.max(r,t[n].length);return r-1}(t));if(0===t.length||s<1)return{cells:[],vertexIds:[],vertexWeights:[]};var l=function(t,e){for(var r=t.length,n=i.mallocUint8(r),a=0;a<r;++a)n[a]=t[a]<e|0;return n}(e,+r),c=function(t,e){for(var r=t.length,o=e*(e+1)/2*r|0,s=i.mallocUint32(2*o),l=0,c=0;c<r;++c)for(var u=t[c],e=u.length,f=0;f<e;++f)for(var h=0;h<f;++h){var p=u[h],d=u[f];s[l++]=0|Math.min(p,d),s[l++]=0|Math.max(p,d)}a(n(s,[l/2|0,2]));for(var g=2,c=2;c<l;c+=2)s[c-2]===s[c]&&s[c-1]===s[c+1]||(s[g++]=s[c],s[g++]=s[c+1]);return n(s,[g/2|0,2])}(t,s),u=function(t,e,r,a){for(var o=t.data,s=t.shape[0],l=i.mallocDouble(s),c=0,u=0;u<s;++u){var f=o[2*u],h=o[2*u+1];if(r[f]!==r[h]){var p=e[f],d=e[h];o[2*c]=f,o[2*c+1]=h,l[c++]=(d-a)/(d-p)}}return t.shape[0]=c,n(l,[c])}(c,e,l,+r),f=function(t,e){var r=i.mallocInt32(2*e),n=t.shape[0],a=t.data;r[0]=0;for(var o=0,s=0;s<n;++s){var l=a[2*s];if(l!==o){for(r[2*o+1]=s;++o<l;)r[2*o]=s,r[2*o+1]=s;r[2*o]=s}}r[2*o+1]=n;for(;++o<e;)r[2*o]=r[2*o+1]=n;return r}(c,0|e.length),h=o(s)(t,c.data,f,l),p=function(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),i=0;i<e;++i)n[i]=[r[2*i],r[2*i+1]];return n}(c),d=[].slice.call(u.data,0,u.shape[0]);return i.free(l),i.free(c.data),i.free(u.data),i.free(f),{cells:h,vertexIds:p,vertexWeights:d}};var n=t("ndarray"),i=t("typedarray-pool"),a=t("ndarray-sort"),o=t("./lib/codegen")},{"./lib/codegen":492,ndarray:430,"ndarray-sort":428,"typedarray-pool":519}],492:[function(t,e,r){"use strict";e.exports=function(t){var e=a[t];e||(e=a[t]=function(t){var e=0,r=new Array(t+1);r[0]=[[]];for(var a=1;a<=t;++a)for(var o=r[a]=i(a),s=0;s<o.length;++s)e=Math.max(e,o[a].length);var l=["function B(C,E,i,j){","var a=Math.min(i,j)|0,b=Math.max(i,j)|0,l=C[2*a],h=C[2*a+1];","while(l<h){","var m=(l+h)>>1,v=E[2*m+1];","if(v===b){return m}","if(b<v){h=m}else{l=m+1}","}","return l;","};","function getContour",t,"d(F,E,C,S){","var n=F.length,R=[];","for(var i=0;i<n;++i){var c=F[i],l=c.length;"];function c(t){if(!(t.length<=0)){l.push("R.push(");for(var e=0;e<t.length;++e){var r=t[e];e>0&&l.push(","),l.push("[");for(var n=0;n<r.length;++n){var i=r[n];n>0&&l.push(","),l.push("B(C,E,c[",i[0],"],c[",i[1],"])")}l.push("]")}l.push(");")}}for(var a=t+1;a>1;--a){a<t+1&&l.push("else "),l.push("if(l===",a,"){");for(var u=[],s=0;s<a;++s)u.push("(S[c["+s+"]]<<"+s+")");l.push("var M=",u.join("+"),";if(M===0||M===",(1<<a)-1,"){continue}switch(M){");for(var o=r[a-1],s=0;s<o.length;++s)l.push("case ",s,":"),c(o[s]),l.push("break;");l.push("}}")}return l.push("}return R;};return getContour",t,"d"),new Function("pool",l.join(""))(n)}(t));return e};var n=t("typedarray-pool"),i=t("marching-simplex-table"),a={}},{"marching-simplex-table":407,"typedarray-pool":519}],493:[function(t,e,r){"use strict";var n=t("bit-twiddle"),i=t("union-find");function a(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),c=i(e[0],e[1]);return(s=i(l,t[2])-i(c,e[2]))||i(l+t[2],a)-i(c+e[2],o);default:var u=t.slice(0);u.sort();var f=e.slice(0);f.sort();for(var h=0;h<r;++h)if(n=u[h]-f[h])return n;return 0}}function o(t,e){return a(t[0],e[0])}function s(t,e){if(e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=[t[i],e[i]];n.sort(o);for(i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(a),t}function l(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(a(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function c(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var o=r+n>>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function u(t,e){for(var r=new Array(t.length),i=0,o=r.length;i<o;++i)r[i]=[];for(var s=[],l=(i=0,e.length);i<l;++i)for(var u=e[i],f=u.length,h=1,p=1<<f;h<p;++h){s.length=n.popCount(h);for(var d=0,g=0;g<f;++g)h&1<<g&&(s[d++]=u[g]);var m=c(t,s);if(!(m<0))for(;r[m++].push(i),!(m>=t.length||0!==a(t[m],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<<e+1)-1,a=0;a<t.length;++a)for(var o=t[a],l=i;l<1<<o.length;l=n.nextCombination(l)){for(var c=new Array(e+1),u=0,f=0;f<o.length;++f)l&1<<f&&(c[u++]=o[f]);r.push(c)}return s(r)}r.dimension=function(t){for(var e=0,r=Math.max,n=0,i=t.length;n<i;++n)e=r(e,t[n].length);return e-1},r.countVertices=function(t){for(var e=-1,r=Math.max,n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)e=r(e,a[o]);return e+1},r.cloneCells=function(t){for(var e=new Array(t.length),r=0,n=t.length;r<n;++r)e[r]=t[r].slice(0);return e},r.compareCells=a,r.normalize=s,r.unique=l,r.findCell=c,r.incidence=u,r.dual=function(t,e){if(!e)return u(l(f(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)r[a[o]].push(n);return r},r.explode=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0|i.length,o=1,l=1<<a;o<l;++o){for(var c=[],u=0;u<a;++u)o>>>u&1&&c.push(i[u]);e.push(c)}return s(e)},r.skeleton=f,r.boundary=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;++a){for(var l=new Array(i.length-1),c=0,u=0;c<o;++c)c!==a&&(l[u++]=i[c]);e.push(l)}return s(e)},r.connectedComponents=function(t,e){return e?function(t,e){for(var r=new i(e),n=0;n<t.length;++n)for(var a=t[n],o=0;o<a.length;++o)for(var s=o+1;s<a.length;++s)r.link(a[o],a[s]);var l=[],c=r.ranks;for(n=0;n<c.length;++n)c[n]=-1;for(n=0;n<t.length;++n){var u=r.find(t[n][0]);c[u]<0?(c[u]=l.length,l.push([t[n].slice(0)])):l[c[u]].push(t[n].slice(0))}return l}(t,e):function(t){for(var e=l(s(f(t,0))),r=new i(e.length),n=0;n<t.length;++n)for(var a=t[n],o=0;o<a.length;++o)for(var u=c(e,[a[o]]),h=o+1;h<a.length;++h)r.link(u,c(e,[a[h]]));var p=[],d=r.ranks;for(n=0;n<d.length;++n)d[n]=-1;for(n=0;n<t.length;++n){var g=r.find(c(e,[t[n][0]]));d[g]<0?(d[g]=p.length,p.push([t[n].slice(0)])):p[d[g]].push(t[n].slice(0))}return p}(t)}},{"bit-twiddle":79,"union-find":520}],494:[function(t,e,r){arguments[4][79][0].apply(r,arguments)},{dup:79}],495:[function(t,e,r){arguments[4][493][0].apply(r,arguments)},{"bit-twiddle":494,dup:493,"union-find":496}],496:[function(t,e,r){"use strict";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n,n.prototype.length=function(){return this.roots.length},n.prototype.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},n.prototype.find=function(t){for(var e=this.roots;e[t]!==t;){var r=e[t];e[t]=e[r],t=r}return t},n.prototype.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],497:[function(t,e,r){"use strict";e.exports=function(t,e,r){for(var a=e.length,o=t.length,s=new Array(a),l=new Array(a),c=new Array(a),u=new Array(a),f=0;f<a;++f)s[f]=l[f]=-1,c[f]=1/0,u[f]=!1;for(var f=0;f<o;++f){var h=t[f];if(2!==h.length)throw new Error("Input must be a graph");var p=h[1],d=h[0];-1!==l[d]?l[d]=-2:l[d]=p,-1!==s[p]?s[p]=-2:s[p]=d}function g(t){if(u[t])return 1/0;var r,i,a,o,c,f=s[t],h=l[t];return f<0||h<0?1/0:(r=e[t],i=e[f],a=e[h],o=Math.abs(n(r,i,a)),c=Math.sqrt(Math.pow(i[0]-a[0],2)+Math.pow(i[1]-a[1],2)),o/c)}function m(t,e){var r=M[t],n=M[e];M[t]=n,M[e]=r,A[r]=e,A[n]=t}function v(t){return c[M[t]]}function y(t){return 1&t?t-1>>1:(t>>1)-1}function x(t){for(var e=v(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n<S){var o=v(n);o<r&&(a=n,r=o)}if(i<S){var s=v(i);s<r&&(a=i)}if(a===t)return t;m(t,a),t=a}}function b(t){for(var e=v(t);t>0;){var r=y(t);if(r>=0){var n=v(r);if(e<n){m(t,r),t=r;continue}}return t}}function _(){if(S>0){var t=M[0];return m(0,S-1),S-=1,x(0),t}return-1}function w(t,e){var r=M[t];return c[r]===e?t:(c[r]=-1/0,b(t),_(),c[r]=e,b((S+=1)-1))}function k(t){if(!u[t]){u[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],g(e)),A[r]>=0&&w(A[r],g(r))}}for(var M=[],A=new Array(a),f=0;f<a;++f){var T=c[f]=g(f);T<1/0?(A[f]=M.length,M.push(f)):A[f]=-1}for(var S=M.length,f=S>>1;f>=0;--f)x(f);for(;;){var E=_();if(E<0||c[E]>r)break;k(E)}for(var C=[],f=0;f<a;++f)u[f]||(A[f]=C.length,C.push(e[f].slice()));C.length;function L(t,e){if(t[e]<0)return e;var r=e,n=e;do{var i=t[n];if(!u[n]||i<0||i===n)break;if(i=t[n=i],!u[n]||i<0||i===n)break;n=i,r=t[r]}while(r!==n);for(var a=e;a!==n;a=t[a])t[a]=n;return n}var z=[];return t.forEach(function(t){var e=L(s,t[0]),r=L(l,t[1]);if(e>=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&z.push([n,i])}}),i.unique(i.normalize(z)),{positions:C,edges:z}};var n=t("robust-orientation"),i=t("simplicial-complex")},{"robust-orientation":483,"simplicial-complex":495}],498:[function(t,e,r){"use strict";e.exports=function(t,e){var r,a,o,s;if(e[0][0]<e[1][0])r=e[0],a=e[1];else{if(!(e[0][0]>e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]<t[1][0])o=t[0],s=t[1];else{if(!(t[0][0]>t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),c=n(r,a,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,a),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return a[0]-s[0]};var n=t("robust-orientation");function i(t,e){var r,i,a,o;if(e[0][0]<e[1][0])r=e[0],i=e[1];else{if(!(e[0][0]>e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),c=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return l<c?l-c:s>u?s-u:l-u}r=e[1],i=e[0]}t[0][1]<t[1][1]?(a=t[0],o=t[1]):(a=t[1],o=t[0]);var f=n(i,r,a);return f||((f=n(i,r,o))||o-i)}},{"robust-orientation":483}],499:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=2*e,n=new Array(r),a=0;a<e;++a){var l=t[a],c=l[0][0]<l[1][0];n[2*a]=new f(l[0][0],l,c,a),n[2*a+1]=new f(l[1][0],l,!c,a)}n.sort(function(t,e){var r=t.x-e.x;return r||((r=t.create-e.create)||Math.min(t.segment[0][1],t.segment[1][1])-Math.min(e.segment[0][1],e.segment[1][1]))});for(var h=i(o),p=[],d=[],g=[],a=0;a<r;){for(var m=n[a].x,v=[];a<r;){var y=n[a];if(y.x!==m)break;a+=1,y.segment[0][0]===y.x&&y.segment[1][0]===y.x?y.create&&(y.segment[0][1]<y.segment[1][1]?(v.push(new u(y.segment[0][1],y.index,!0,!0)),v.push(new u(y.segment[1][1],y.index,!1,!1))):(v.push(new u(y.segment[1][1],y.index,!0,!1)),v.push(new u(y.segment[0][1],y.index,!1,!0)))):h=y.create?h.insert(y.segment,y.index):h.remove(y.segment)}p.push(h.root),d.push(m),g.push(v)}return new s(p,d,g)};var n=t("binary-search-bounds"),i=t("functional-red-black-tree"),a=t("robust-orientation"),o=t("./lib/order-segments");function s(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function l(t,e){return t.y-e}function c(t,e){for(var r=null;t;){var n,i,o=t.key;o[0][0]<o[1][0]?(n=o[0],i=o[1]):(n=o[1],i=o[0]);var s=a(n,i,e);if(s<0)t=t.left;else if(s>0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=c(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=c(t.right,e))return l;t=t.left}}return r}function u(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=c(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var u=c(this.slabs[e-1],t);u&&(s?o(u.key,s)>0&&(s=u.key,i=u.value):(i=u.value,s=u.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h<f.length){var p=f[h];if(t[1]===p.y){if(p.closed)return p.index;for(;h<f.length-1&&f[h+1].y===t[1];)if((p=f[h+=1]).closed)return p.index;if(p.y===t[1]&&!p.start){if((h+=1)>=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},{"./lib/order-segments":498,"binary-search-bounds":78,"functional-red-black-tree":218,"robust-orientation":483}],500:[function(t,e,r){"use strict";var n=t("robust-dot-product"),i=t("robust-sum");function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l<o;++l)s[l]=i*t[l]+a*r[l];return s}e.exports=function(t,e){for(var r=[],n=[],i=a(t[t.length-1],e),s=t[t.length-1],l=t[0],c=0;c<t.length;++c,s=l){var u=a(l=t[c],e);if(i<0&&u>0||i>0&&u<0){var f=o(s,u,l,i);r.push(f),n.push(f.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=u}return{positive:r,negative:n}},e.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l<t.length;++l,i=s){var c=a(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(i,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l<t.length;++l,i=s){var c=a(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(i,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},{"robust-dot-product":480,"robust-sum":488}],501:[function(t,e,r){!function(){"use strict";var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[\+\-]/};function e(r){return function(r,n){var i,a,o,s,l,c,u,f,h,p=1,d=r.length,g="";for(a=0;a<d;a++)if("string"==typeof r[a])g+=r[a];else if(Array.isArray(r[a])){if((s=r[a])[2])for(i=n[p],o=0;o<s[2].length;o++){if(!i.hasOwnProperty(s[2][o]))throw new Error(e('[sprintf] property "%s" does not exist',s[2][o]));i=i[s[2][o]]}else i=s[1]?n[s[1]]:n[p++];if(t.not_type.test(s[8])&&t.not_primitive.test(s[8])&&i instanceof Function&&(i=i()),t.numeric_arg.test(s[8])&&"number"!=typeof i&&isNaN(i))throw new TypeError(e("[sprintf] expecting number but found %T",i));switch(t.number.test(s[8])&&(f=i>=0),s[8]){case"b":i=parseInt(i,10).toString(2);break;case"c":i=String.fromCharCode(parseInt(i,10));break;case"d":case"i":i=parseInt(i,10);break;case"j":i=JSON.stringify(i,null,s[6]?parseInt(s[6]):0);break;case"e":i=s[7]?parseFloat(i).toExponential(s[7]):parseFloat(i).toExponential();break;case"f":i=s[7]?parseFloat(i).toFixed(s[7]):parseFloat(i);break;case"g":i=s[7]?String(Number(i.toPrecision(s[7]))):parseFloat(i);break;case"o":i=(parseInt(i,10)>>>0).toString(8);break;case"s":i=String(i),i=s[7]?i.substring(0,s[7]):i;break;case"t":i=String(!!i),i=s[7]?i.substring(0,s[7]):i;break;case"T":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=s[7]?i.substring(0,s[7]):i;break;case"u":i=parseInt(i,10)>>>0;break;case"v":i=i.valueOf(),i=s[7]?i.substring(0,s[7]):i;break;case"x":i=(parseInt(i,10)>>>0).toString(16);break;case"X":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}t.json.test(s[8])?g+=i:(!t.number.test(s[8])||f&&!s[3]?h="":(h=f?"+":"-",i=i.toString().replace(t.sign,"")),c=s[4]?"0"===s[4]?"0":s[4].charAt(1):" ",u=s[6]-(h+i).length,l=s[6]&&u>0?c.repeat(u):"",g+=s[5]?h+i+l:"0"===c?h+l+i:l+h+i)}return g}(function(e){if(i[e])return i[e];var r,n=e,a=[],o=0;for(;n;){if(null!==(r=t.text.exec(n)))a.push(r[0]);else if(null!==(r=t.modulo.exec(n)))a.push("%");else{if(null===(r=t.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(r[2]){o|=1;var s=[],l=r[2],c=[];if(null===(c=t.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(s.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=t.key_access.exec(l)))s.push(c[1]);else{if(null===(c=t.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");s.push(c[1])}r[2]=s}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");a.push(r)}n=n.substring(r[0].length)}return i[e]=a}(r),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}var i=Object.create(null);"undefined"!=typeof r&&(r.sprintf=e,r.vsprintf=n),"undefined"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],502:[function(t,e,r){"use strict";var n=t("parenthesis");e.exports=function(t,e,r){if(null==t)throw Error("First argument should be a string");if(null==e)throw Error("Separator should be a string or a RegExp");r?("string"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=["[]","()","{}","<>",'""',"''","``","\u201c\u201d","\xab\xbb"]:("string"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map(function(t){return 1===t.length&&(t+=t),t}));var i=n.parse(t,{flat:!0,brackets:r.ignore}),a=i[0].split(e);if(r.escape){for(var o=[],s=0;s<a.length;s++){var l=a[s],c=a[s+1];"\\"===l[l.length-1]&&"\\"!==l[l.length-2]?(o.push(l+e+c),s++):o.push(l)}a=o}for(s=0;s<a.length;s++)i[0]=a[s],a[s]=n.stringify(i,{flat:!0});return a}},{parenthesis:438}],503:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=new Array(e),n=new Array(e),i=new Array(e),a=new Array(e),o=new Array(e),s=new Array(e),l=0;l<e;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];var c,u=0,f=[],h=[];function p(e){var l=[e],c=[e];for(r[e]=n[e]=u,i[e]=!0,u+=1;c.length>0;){e=c[c.length-1];var p=t[e];if(a[e]<p.length){for(var d=a[e];d<p.length;++d){var g=p[d];if(r[g]<0){r[g]=n[g]=u,i[g]=!0,u+=1,l.push(g),c.push(g);break}i[g]&&(n[e]=0|Math.min(n[e],n[g])),o[g]>=0&&s[e].push(o[g])}a[e]=d}else{if(n[e]===r[e]){for(var m=[],v=[],y=0,d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,m.push(x),v.push(s[x]),y+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(m);for(var b=new Array(y),d=0;d<v.length;d++)for(var _=0;_<v[d].length;_++)b[--y]=v[d][_];h.push(b)}c.pop()}}}for(var l=0;l<e;++l)r[l]<0&&p(l);for(var l=0;l<h.length;l++){var d=h[l];if(0!==d.length){d.sort(function(t,e){return t-e}),c=[d[0]];for(var g=1;g<d.length;g++)d[g]!==d[g-1]&&c.push(d[g]);h[l]=c}}return{components:f,adjacencyList:h}}},{}],504:[function(t,e,r){"use strict";e.exports=function(t){return t.split("").map(function(t){return t in n?n[t]:""}).join("")};var n={" ":" ",0:"\u2070",1:"\xb9",2:"\xb2",3:"\xb3",4:"\u2074",5:"\u2075",6:"\u2076",7:"\u2077",8:"\u2078",9:"\u2079","+":"\u207a","-":"\u207b",a:"\u1d43",b:"\u1d47",c:"\u1d9c",d:"\u1d48",e:"\u1d49",f:"\u1da0",g:"\u1d4d",h:"\u02b0",i:"\u2071",j:"\u02b2",k:"\u1d4f",l:"\u02e1",m:"\u1d50",n:"\u207f",o:"\u1d52",p:"\u1d56",r:"\u02b3",s:"\u02e2",t:"\u1d57",u:"\u1d58",v:"\u1d5b",w:"\u02b7",x:"\u02e3",y:"\u02b8",z:"\u1dbb"}},{}],505:[function(t,e,r){"use strict";e.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=a(t,e),n=r.length,i=new Array(n),o=new Array(n),s=0;s<n;++s)i[s]=[r[s]],o[s]=[s];return{positions:i,cells:o}}(t,e);var r=t.order.join()+"-"+t.dtype,s=o[r],e=+e||0;s||(s=o[r]=function(t,e){var r=t.length,a=["'use strict';"],o="surfaceNets"+t.join("_")+"d"+e;a.push("var contour=genContour({","order:[",t.join(),"],","scalarArguments: 3,","phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },"),"generic"===e&&a.push("getters:[0],");for(var s=[],l=[],c=0;c<r;++c)s.push("d"+c),l.push("d"+c);for(var c=0;c<1<<r;++c)s.push("v"+c),l.push("v"+c);for(var c=0;c<1<<r;++c)s.push("p"+c),l.push("p"+c);s.push("a","b","c"),l.push("a","c"),a.push("vertex:function vertexFunc(",s.join(),"){");for(var u=[],c=0;c<1<<r;++c)u.push("(p"+c+"<<"+c+")");a.push("var m=(",u.join("+"),")|0;if(m===0||m===",(1<<(1<<r))-1,"){return}");var f=[],h=[];1<<(1<<r)<=128?(a.push("switch(m){"),h=a):a.push("switch(m>>>7){");for(var c=0;c<1<<(1<<r);++c){if(1<<(1<<r)>128&&c%128==0){f.length>0&&h.push("}}");var p="vExtra"+f.length;a.push("case ",c>>>7,":",p,"(m&0x7f,",l.join(),");break;"),h=["function ",p,"(m,",l.join(),"){switch(m){"],f.push(h)}h.push("case ",127&c,":");for(var d=new Array(r),g=new Array(r),m=new Array(r),v=new Array(r),y=0,x=0;x<r;++x)d[x]=[],g[x]=[],m[x]=0,v[x]=0;for(var x=0;x<1<<r;++x)for(var b=0;b<r;++b){var _=x^1<<b;if(!(_>x)&&!(c&1<<_)!=!(c&1<<x)){var w=1;c&1<<_?g[b].push("v"+_+"-v"+x):(g[b].push("v"+x+"-v"+_),w=-w),w<0?(d[b].push("-v"+x+"-v"+_),m[b]+=2):(d[b].push("v"+x+"+v"+_),m[b]-=2),y+=1;for(var k=0;k<r;++k)k!==b&&(_&1<<k?v[k]+=1:v[k]-=1)}}for(var M=[],b=0;b<r;++b)if(0===d[b].length)M.push("d"+b+"-0.5");else{var A="";m[b]<0?A=m[b]+"*c":m[b]>0&&(A="+"+m[b]+"*c");var T=d[b].length/y*.5,S=.5+v[b]/y*.5;M.push("d"+b+"-"+S+"-"+T+"*("+d[b].join("+")+A+")/("+g[b].join("+")+")")}h.push("a.push([",M.join(),"]);","break;")}a.push("}},"),f.length>0&&h.push("}}");for(var E=[],c=0;c<1<<r-1;++c)E.push("v"+c);E.push("c0","c1","p0","p1","a","b","c"),a.push("cell:function cellFunc(",E.join(),"){");var C=i(r-1);a.push("if(p0){b.push(",C.map(function(t){return"["+t.map(function(t){return"v"+t})+"]"}).join(),")}else{b.push(",C.map(function(t){var e=t.slice();return e.reverse(),"["+e.map(function(t){return"v"+t})+"]"}).join(),")}}});function ",o,"(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return ",o,";");for(var c=0;c<f.length;++c)a.push(f[c].join(""));return new Function("genContour",a.join(""))(n)}(t.order,t.dtype));return s(t,e)};var n=t("ndarray-extract-contour"),i=t("triangulate-hypercube"),a=t("zero-crossings");var o={}},{"ndarray-extract-contour":419,"triangulate-hypercube":515,"zero-crossings":548}],506:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(){return function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),i=2*Math.PI,a=function(t,e,r,n,i,a,o){var s=t.x,l=t.y;return{x:n*(s*=e)-i*(l*=r)+a,y:i*s+n*l+o}},o=function(t,e){var r=.551915024494,n=Math.cos(t),i=Math.sin(t),a=Math.cos(t+e),o=Math.sin(t+e);return[{x:n-i*r,y:i+n*r},{x:a+o*r,y:o-a*r},{x:a,y:o}]},s=function(t,e,r,n){var i=t*n-e*r<0?-1:1,a=(t*r+e*n)/(Math.sqrt(t*t+e*e)*Math.sqrt(t*t+e*e));return a>1&&(a=1),a<-1&&(a=-1),i*Math.acos(a)};r.default=function(t){var e=t.px,r=t.py,l=t.cx,c=t.cy,u=t.rx,f=t.ry,h=t.xAxisRotation,p=void 0===h?0:h,d=t.largeArcFlag,g=void 0===d?0:d,m=t.sweepFlag,v=void 0===m?0:m,y=[];if(0===u||0===f)return[];var x=Math.sin(p*i/360),b=Math.cos(p*i/360),_=b*(e-l)/2+x*(r-c)/2,w=-x*(e-l)/2+b*(r-c)/2;if(0===_&&0===w)return[];u=Math.abs(u),f=Math.abs(f);var k=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(f,2);k>1&&(u*=Math.sqrt(k),f*=Math.sqrt(k));var M=function(t,e,r,n,a,o,l,c,u,f,h,p){var d=Math.pow(a,2),g=Math.pow(o,2),m=Math.pow(h,2),v=Math.pow(p,2),y=d*g-d*v-g*m;y<0&&(y=0),y/=d*v+g*m;var x=(y=Math.sqrt(y)*(l===c?-1:1))*a/o*p,b=y*-o/a*h,_=f*x-u*b+(t+r)/2,w=u*x+f*b+(e+n)/2,k=(h-x)/a,M=(p-b)/o,A=(-h-x)/a,T=(-p-b)/o,S=s(1,0,k,M),E=s(k,M,A,T);return 0===c&&E>0&&(E-=i),1===c&&E<0&&(E+=i),[_,w,S,E]}(e,r,l,c,u,f,g,v,x,b,_,w),A=n(M,4),T=A[0],S=A[1],E=A[2],C=A[3],L=Math.max(Math.ceil(Math.abs(C)/(i/4)),1);C/=L;for(var z=0;z<L;z++)y.push(o(E,C)),E+=C;return y.map(function(t){var e=a(t[0],u,f,b,x,T,S),r=e.x,n=e.y,i=a(t[1],u,f,b,x,T,S),o=i.x,s=i.y,l=a(t[2],u,f,b,x,T,S);return{x1:r,y1:n,x2:o,y2:s,x:l.x,y:l.y}})},e.exports=r.default},{}],507:[function(t,e,r){"use strict";var n=t("parse-svg-path"),i=t("abs-svg-path"),a=t("normalize-svg-path"),o=t("is-svg-path"),s=t("assert");e.exports=function(t){Array.isArray(t)&&1===t.length&&"string"==typeof t[0]&&(t=t[0]);"string"==typeof t&&(s(o(t),"String is not an SVG path."),t=n(t));if(s(Array.isArray(t),"Argument should be a string or an array of path segments."),t=i(t),!(t=a(t)).length)return[0,0,0,0];for(var e=[1/0,1/0,-1/0,-1/0],r=0,l=t.length;r<l;r++)for(var c=t[r].slice(1),u=0;u<c.length;u+=2)c[u+0]<e[0]&&(e[0]=c[u+0]),c[u+1]<e[1]&&(e[1]=c[u+1]),c[u+0]>e[2]&&(e[2]=c[u+0]),c[u+1]>e[3]&&(e[3]=c[u+1]);return e}},{"abs-svg-path":47,assert:55,"is-svg-path":404,"normalize-svg-path":508,"parse-svg-path":440}],508:[function(t,e,r){"use strict";e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,f=null,h=0,p=0,d=0,g=t.length;d<g;d++){var m=t[d],v=m[0];switch(v){case"M":l=m[1],c=m[2];break;case"A":var y=n({px:h,py:p,cx:m[6],cy:m[7],rx:m[1],ry:m[2],xAxisRotation:m[3],largeArcFlag:m[4],sweepFlag:m[5]});if(!y.length)continue;for(var x,b=0;b<y.length;b++)x=y[b],m=["C",x.x1,x.y1,x.x2,x.y2,x.x,x.y],b<y.length-1&&r.push(m);break;case"S":var _=h,w=p;"C"!=e&&"S"!=e||(_+=_-o,w+=w-s),m=["C",_,w,m[1],m[2],m[3],m[4]];break;case"T":"Q"==e||"T"==e?(u=2*h-u,f=2*p-f):(u=h,f=p),m=a(h,p,u,f,m[1],m[2]);break;case"Q":u=m[1],f=m[2],m=a(h,p,m[1],m[2],m[3],m[4]);break;case"L":m=i(h,p,m[1],m[2]);break;case"H":m=i(h,p,m[1],p);break;case"V":m=i(h,p,h,m[1]);break;case"Z":m=i(h,p,l,c)}e=v,h=m[m.length-2],p=m[m.length-1],m.length>4?(o=m[m.length-4],s=m[m.length-3]):(o=h,s=p),r.push(m)}return r};var n=t("svg-arc-to-cubic-bezier");function i(t,e,r,n){return["C",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return["C",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},{"svg-arc-to-cubic-bezier":506}],509:[function(t,e,r){(function(r){"use strict";var n=t("svg-path-bounds"),i=t("parse-svg-path"),a=t("draw-svg-path"),o=t("is-svg-path"),s=t("bitmap-sdf"),l=document.createElement("canvas"),c=l.getContext("2d");e.exports=function(t,e){if(!o(t))throw Error("Argument should be valid svg path string");e||(e={});var u,f;e.shape?(u=e.shape[0],f=e.shape[1]):(u=l.width=e.w||e.width||200,f=l.height=e.h||e.height||200);var h=Math.min(u,f),p=e.stroke||0,d=e.viewbox||e.viewBox||n(t),g=[u/(d[2]-d[0]),f/(d[3]-d[1])],m=Math.min(g[0]||0,g[1]||0)/2;c.fillStyle="black",c.fillRect(0,0,u,f),c.fillStyle="white",p&&("number"!=typeof p&&(p=1),c.strokeStyle=p>0?"white":"black",c.lineWidth=Math.abs(p));if(c.translate(.5*u,.5*f),c.scale(m,m),r.Path2D){var v=new Path2D(t);c.fill(v),p&&c.stroke(v)}else{var y=i(t);a(c,y),c.fill(),p&&c.stroke()}return c.setTransform(1,0,0,1,0,0),s(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"bitmap-sdf":80,"draw-svg-path":152,"is-svg-path":404,"parse-svg-path":440,"svg-path-bounds":507}],510:[function(t,e,r){(function(r){"use strict";e.exports=function t(e,r,i){var i=i||{};var o=a[e];o||(o=a[e]={" ":{data:new Float32Array(0),shape:.2}});var s=o[r];if(!s)if(r.length<=1||!/\d/.test(r))s=o[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o<e.length;++o)for(var s=e[o],l=0;l<3;++l){var c=r[s[l]];n[i++]=c[0],n[i++]=c[1]+1.4,a=Math.max(c[0],a)}return{data:n,shape:a}}(n(r,{triangles:!0,font:e,textAlign:i.textAlign||"left",textBaseline:"alphabetic"}));else{for(var l=r.split(/(\d|\s)/),c=new Array(l.length),u=0,f=0,h=0;h<l.length;++h)c[h]=t(e,l[h]),u+=c[h].data.length,f+=c[h].shape,h>0&&(f+=.02);for(var p=new Float32Array(u),d=0,g=-.5*f,h=0;h<c.length;++h){for(var m=c[h].data,v=0;v<m.length;v+=2)p[d++]=m[v]+g,p[d++]=m[v+1];g+=c[h].shape+.02}s=o[r]={data:p,shape:f}}return s};var n=t("vectorize-text"),i=window||r.global||{},a=i.__TEXT_CACHE||{};i.__TEXT_CACHE={}}).call(this,t("_process"))},{_process:462,"vectorize-text":524}],511:[function(t,e,r){!function(t){var r=/^\s+/,n=/\s+$/,i=0,a=t.round,o=t.min,s=t.max,l=t.random;function c(e,l){if(l=l||{},(e=e||"")instanceof c)return e;if(!(this instanceof c))return new c(e,l);var u=function(e){var i={r:0,g:0,b:0},a=1,l=null,c=null,u=null,f=!1,h=!1;"string"==typeof e&&(e=function(t){t=t.replace(r,"").replace(n,"").toLowerCase();var e,i=!1;if(S[t])t=S[t],i=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};if(e=j.rgb.exec(t))return{r:e[1],g:e[2],b:e[3]};if(e=j.rgba.exec(t))return{r:e[1],g:e[2],b:e[3],a:e[4]};if(e=j.hsl.exec(t))return{h:e[1],s:e[2],l:e[3]};if(e=j.hsla.exec(t))return{h:e[1],s:e[2],l:e[3],a:e[4]};if(e=j.hsv.exec(t))return{h:e[1],s:e[2],v:e[3]};if(e=j.hsva.exec(t))return{h:e[1],s:e[2],v:e[3],a:e[4]};if(e=j.hex8.exec(t))return{r:P(e[1]),g:P(e[2]),b:P(e[3]),a:R(e[4]),format:i?"name":"hex8"};if(e=j.hex6.exec(t))return{r:P(e[1]),g:P(e[2]),b:P(e[3]),format:i?"name":"hex"};if(e=j.hex4.exec(t))return{r:P(e[1]+""+e[1]),g:P(e[2]+""+e[2]),b:P(e[3]+""+e[3]),a:R(e[4]+""+e[4]),format:i?"name":"hex8"};if(e=j.hex3.exec(t))return{r:P(e[1]+""+e[1]),g:P(e[2]+""+e[2]),b:P(e[3]+""+e[3]),format:i?"name":"hex"};return!1}(e));"object"==typeof e&&(V(e.r)&&V(e.g)&&V(e.b)?(p=e.r,d=e.g,g=e.b,i={r:255*L(p,255),g:255*L(d,255),b:255*L(g,255)},f=!0,h="%"===String(e.r).substr(-1)?"prgb":"rgb"):V(e.h)&&V(e.s)&&V(e.v)?(l=I(e.s),c=I(e.v),i=function(e,r,n){e=6*L(e,360),r=L(r,100),n=L(n,100);var i=t.floor(e),a=e-i,o=n*(1-r),s=n*(1-a*r),l=n*(1-(1-a)*r),c=i%6;return{r:255*[n,s,o,o,l,n][c],g:255*[l,n,n,s,o,o][c],b:255*[o,o,l,n,n,s][c]}}(e.h,l,c),f=!0,h="hsv"):V(e.h)&&V(e.s)&&V(e.l)&&(l=I(e.s),u=I(e.l),i=function(t,e,r){var n,i,a;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=L(t,360),e=L(e,100),r=L(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(e.h,l,u),f=!0,h="hsl"),e.hasOwnProperty("a")&&(a=e.a));var p,d,g;return a=C(a),{ok:f,format:e.format||h,r:o(255,s(i.r,0)),g:o(255,s(i.g,0)),b:o(255,s(i.b,0)),a:a}}(e);this._originalInput=e,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=a(100*this._a)/100,this._format=l.format||u.format,this._gradientType=l.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=u.ok,this._tc_id=i++}function u(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),c=(a+l)/2;if(a==l)n=i=0;else{var u=a-l;switch(i=c>.5?u/(2-a-l):u/(a+l),a){case t:n=(e-r)/u+(e<r?6:0);break;case e:n=(r-t)/u+2;break;case r:n=(t-e)/u+4}n/=6}return{h:n,s:i,l:c}}function f(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),c=a,u=a-l;if(i=0===a?0:u/a,a==l)n=0;else{switch(a){case t:n=(e-r)/u+(e<r?6:0);break;case e:n=(r-t)/u+2;break;case r:n=(t-e)/u+4}n/=6}return{h:n,s:i,v:c}}function h(t,e,r,n){var i=[O(a(t).toString(16)),O(a(e).toString(16)),O(a(r).toString(16))];return n&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join("")}function p(t,e,r,n){return[O(D(n)),O(a(t).toString(16)),O(a(e).toString(16)),O(a(r).toString(16))].join("")}function d(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.s-=e/100,r.s=z(r.s),c(r)}function g(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.s+=e/100,r.s=z(r.s),c(r)}function m(t){return c(t).desaturate(100)}function v(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.l+=e/100,r.l=z(r.l),c(r)}function y(t,e){e=0===e?0:e||10;var r=c(t).toRgb();return r.r=s(0,o(255,r.r-a(-e/100*255))),r.g=s(0,o(255,r.g-a(-e/100*255))),r.b=s(0,o(255,r.b-a(-e/100*255))),c(r)}function x(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.l-=e/100,r.l=z(r.l),c(r)}function b(t,e){var r=c(t).toHsl(),n=(r.h+e)%360;return r.h=n<0?360+n:n,c(r)}function _(t){var e=c(t).toHsl();return e.h=(e.h+180)%360,c(e)}function w(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+120)%360,s:e.s,l:e.l}),c({h:(r+240)%360,s:e.s,l:e.l})]}function k(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+90)%360,s:e.s,l:e.l}),c({h:(r+180)%360,s:e.s,l:e.l}),c({h:(r+270)%360,s:e.s,l:e.l})]}function M(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+72)%360,s:e.s,l:e.l}),c({h:(r+216)%360,s:e.s,l:e.l})]}function A(t,e,r){e=e||6,r=r||30;var n=c(t).toHsl(),i=360/r,a=[c(t)];for(n.h=(n.h-(i*e>>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(c(n));return a}function T(t,e){e=e||6;for(var r=c(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(c({h:n,s:i,v:a})),a=(a+s)%1;return o}c.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var e,r,n,i=this.toRgb();return e=i.r/255,r=i.g/255,n=i.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=C(t),this._roundA=a(100*this._a)/100,this},toHsv:function(){var t=f(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=f(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=u(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=u(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return h(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var o=[O(a(t).toString(16)),O(a(e).toString(16)),O(a(r).toString(16)),O(D(n))];if(i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+a(this._r)+", "+a(this._g)+", "+a(this._b)+")":"rgba("+a(this._r)+", "+a(this._g)+", "+a(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:a(100*L(this._r,255))+"%",g:a(100*L(this._g,255))+"%",b:a(100*L(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+a(100*L(this._r,255))+"%, "+a(100*L(this._g,255))+"%, "+a(100*L(this._b,255))+"%)":"rgba("+a(100*L(this._r,255))+"%, "+a(100*L(this._g,255))+"%, "+a(100*L(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(E[h(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+p(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var i=c(t);r="#"+p(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return c(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(v,arguments)},brighten:function(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(m,arguments)},spin:function(){return this._applyModification(b,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(T,arguments)},splitcomplement:function(){return this._applyCombination(M,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(k,arguments)}},c.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:I(t[n]));t=r}return c(t,e)},c.equals=function(t,e){return!(!t||!e)&&c(t).toRgbString()==c(e).toRgbString()},c.random=function(){return c.fromRatio({r:l(),g:l(),b:l()})},c.mix=function(t,e,r){r=0===r?0:r||50;var n=c(t).toRgb(),i=c(e).toRgb(),a=r/100;return c({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},c.readability=function(e,r){var n=c(e),i=c(r);return(t.max(n.getLuminance(),i.getLuminance())+.05)/(t.min(n.getLuminance(),i.getLuminance())+.05)},c.isReadable=function(t,e,r){var n,i,a=c.readability(t,e);switch(i=!1,(n=function(t){var e,r;e=((t=t||{level:"AA",size:"small"}).level||"AA").toUpperCase(),r=(t.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==r&&"large"!==r&&(r="small");return{level:e,size:r}}(r)).level+n.size){case"AAsmall":case"AAAlarge":i=a>=4.5;break;case"AAlarge":i=a>=3;break;case"AAAsmall":i=a>=7}return i},c.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var u=0;u<e.length;u++)(n=c.readability(t,e[u]))>l&&(l=n,s=c(e[u]));return c.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,c.mostReadable(t,["#fff","#000"],r))};var S=c.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},E=c.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function C(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function L(e,r){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(e)&&(e="100%");var n=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(e);return e=o(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function z(t){return o(1,s(0,t))}function P(t){return parseInt(t,16)}function O(t){return 1==t.length?"0"+t:""+t}function I(t){return t<=1&&(t=100*t+"%"),t}function D(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return P(t)/255}var B,F,N,j=(F="[\\s|\\(]+("+(B="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+B+")[,|\\s]+("+B+")\\s*\\)?",N="[\\s|\\(]+("+B+")[,|\\s]+("+B+")[,|\\s]+("+B+")[,|\\s]+("+B+")\\s*\\)?",{CSS_UNIT:new RegExp(B),rgb:new RegExp("rgb"+F),rgba:new RegExp("rgba"+N),hsl:new RegExp("hsl"+F),hsla:new RegExp("hsla"+N),hsv:new RegExp("hsv"+F),hsva:new RegExp("hsva"+N),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function V(t){return!!j.CSS_UNIT.exec(t)}"undefined"!=typeof e&&e.exports?e.exports=c:window.tinycolor=c}(Math)},{}],512:[function(t,e,r){"use strict";function n(t){if(t instanceof Float32Array)return t;if("number"==typeof t)return new Float32Array([t])[0];var e=new Float32Array(t);return e.set(t),e}e.exports=n,e.exports.float32=e.exports.float=n,e.exports.fract32=e.exports.fract=function(t){if("number"==typeof t)return n(t-n(t));for(var e=n(t),r=0,i=e.length;r<i;r++)e[r]=t[r]-e[r];return e}},{}],513:[function(t,e,r){"use strict";var n=t("parse-unit");e.exports=o;var i=96;function a(t,e){var r=n(getComputedStyle(t).getPropertyValue(e));return r[0]*o(r[1],t)}function o(t,e){switch(e=e||document.body,t=(t||"px").trim().toLowerCase(),e!==window&&e!==document||(e=document.body),t){case"%":return e.clientHeight/100;case"ch":case"ex":return function(t,e){var r=document.createElement("div");r.style["font-size"]="128"+t,e.appendChild(r);var n=a(r,"font-size")/128;return e.removeChild(r),n}(t,e);case"em":return a(e,"font-size");case"rem":return a(document.body,"font-size");case"vw":return window.innerWidth/100;case"vh":return window.innerHeight/100;case"vmin":return Math.min(window.innerWidth,window.innerHeight)/100;case"vmax":return Math.max(window.innerWidth,window.innerHeight)/100;case"in":return i;case"cm":return i/2.54;case"mm":return i/25.4;case"pt":return i/72;case"pc":return i/6}return 1}},{"parse-unit":441}],514:[function(t,e,r){var n;n=this,function(t){"use strict";var e=function(t){return t},r=function(t){if(null==(r=t.transform))return e;var r,n,i,a=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){return e||(n=i=0),t[0]=(n+=t[0])*a+s,t[1]=(i+=t[1])*o+l,t}},n=function(t){var e=t.bbox;function n(t){l[0]=t[0],l[1]=t[1],s(l),l[0]<c&&(c=l[0]),l[0]>f&&(f=l[0]),l[1]<u&&(u=l[1]),l[1]>h&&(h=l[1])}function i(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(i);break;case"Point":n(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(n)}}if(!e){var a,o,s=r(t),l=new Array(2),c=1/0,u=c,f=-c,h=-c;for(o in t.arcs.forEach(function(t){for(var e=-1,r=t.length;++e<r;)a=t[e],l[0]=a[0],l[1]=a[1],s(l,e),l[0]<c&&(c=l[0]),l[0]>f&&(f=l[0]),l[1]<u&&(u=l[1]),l[1]>h&&(h=l[1])}),t.objects)i(t.objects[o]);e=t.bbox=[c,u,f,h]}return e},i=function(t,e){for(var r,n=t.length,i=n-e;i<--n;)r=t[i],t[i++]=t[n],t[n]=r};function a(t,e){var r=e.id,n=e.bbox,i=null==e.properties?{}:e.properties,a=o(t,e);return null==r&&null==n?{type:"Feature",properties:i,geometry:a}:null==n?{type:"Feature",id:r,properties:i,geometry:a}:{type:"Feature",id:r,bbox:n,properties:i,geometry:a}}function o(t,e){var n=r(t),a=t.arcs;function o(t,e){e.length&&e.pop();for(var r=a[t<0?~t:t],o=0,s=r.length;o<s;++o)e.push(n(r[o].slice(),o));t<0&&i(e,s)}function s(t){return n(t.slice())}function l(t){for(var e=[],r=0,n=t.length;r<n;++r)o(t[r],e);return e.length<2&&e.push(e[0].slice()),e}function c(t){for(var e=l(t);e.length<4;)e.push(e[0].slice());return e}function u(t){return t.map(c)}return function t(e){var r,n=e.type;switch(n){case"GeometryCollection":return{type:n,geometries:e.geometries.map(t)};case"Point":r=s(e.coordinates);break;case"MultiPoint":r=e.coordinates.map(s);break;case"LineString":r=l(e.arcs);break;case"MultiLineString":r=e.arcs.map(l);break;case"Polygon":r=u(e.arcs);break;case"MultiPolygon":r=e.arcs.map(u);break;default:return null}return{type:n,coordinates:r}}(e)}var s=function(t,e){var r={},n={},i={},a=[],o=-1;function s(t,e){for(var n in t){var i=t[n];delete e[i.start],delete i.start,delete i.end,i.forEach(function(t){r[t<0?~t:t]=1}),a.push(i)}}return e.forEach(function(r,n){var i,a=t.arcs[r<0?~r:r];a.length<3&&!a[1][0]&&!a[1][1]&&(i=e[++o],e[o]=r,e[n]=i)}),e.forEach(function(e){var r,a,o=function(e){var r,n=t.arcs[e<0?~e:e],i=n[0];t.transform?(r=[0,0],n.forEach(function(t){r[0]+=t[0],r[1]+=t[1]})):r=n[n.length-1];return e<0?[r,i]:[i,r]}(e),s=o[0],l=o[1];if(r=i[s])if(delete i[r.end],r.push(e),r.end=l,a=n[l]){delete n[a.start];var c=a===r?r:r.concat(a);n[c.start=r.start]=i[c.end=a.end]=c}else n[r.start]=i[r.end]=r;else if(r=n[l])if(delete n[r.start],r.unshift(e),r.start=s,a=i[s]){delete i[a.end];var u=a===r?r:a.concat(r);n[u.start=a.start]=i[u.end=r.end]=u}else n[r.start]=i[r.end]=r;else n[(r=[e]).start=s]=i[r.end=l]=r}),s(i,n),s(n,i),e.forEach(function(t){r[t<0?~t:t]||a.push([t])}),a};function l(t,e,r){var n,i,a;if(arguments.length>1)n=function(t,e,r){var n,i=[],a=[];function o(t){var e=t<0?~t:t;(a[e]||(a[e]=[])).push({i:t,g:n})}function s(t){t.forEach(o)}function l(t){t.forEach(s)}return function t(e){switch(n=e,e.type){case"GeometryCollection":e.geometries.forEach(t);break;case"LineString":s(e.arcs);break;case"MultiLineString":case"Polygon":l(e.arcs);break;case"MultiPolygon":e.arcs.forEach(l)}}(e),a.forEach(null==r?function(t){i.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&i.push(t[0].i)}),i}(0,e,r);else for(i=0,n=new Array(a=t.arcs.length);i<a;++i)n[i]=i;return{type:"MultiLineString",arcs:s(t,n)}}function c(t,e){var r={},n=[],i=[];function a(t){t.forEach(function(e){e.forEach(function(e){(r[e=e<0?~e:e]||(r[e]=[])).push(t)})}),n.push(t)}function l(e){return function(t){for(var e,r=-1,n=t.length,i=t[n-1],a=0;++r<n;)e=i,i=t[r],a+=e[0]*i[1]-e[1]*i[0];return Math.abs(a)}(o(t,{type:"Polygon",arcs:[e]}).coordinates[0])}return e.forEach(function t(e){switch(e.type){case"GeometryCollection":e.geometries.forEach(t);break;case"Polygon":a(e.arcs);break;case"MultiPolygon":e.arcs.forEach(a)}}),n.forEach(function(t){if(!t._){var e=[],n=[t];for(t._=1,i.push(e);t=n.pop();)e.push(t),t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].forEach(function(t){t._||(t._=1,n.push(t))})})})}}),n.forEach(function(t){delete t._}),{type:"MultiPolygon",arcs:i.map(function(e){var n,i=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].length<2&&i.push(t)})})}),(n=(i=s(t,i)).length)>1)for(var a,o,c=1,u=l(i[0]);c<n;++c)(a=l(i[c]))>u&&(o=i[0],i[0]=i[c],i[c]=o,u=a);return i})}}var u=function(t,e){for(var r=0,n=t.length;r<n;){var i=r+n>>>1;t[i]<e?r=i+1:n=i}return r};t.bbox=n,t.feature=function(t,e){return"GeometryCollection"===e.type?{type:"FeatureCollection",features:e.geometries.map(function(e){return a(t,e)})}:a(t,e)},t.mesh=function(t){return o(t,l.apply(this,arguments))},t.meshArcs=l,t.merge=function(t){return o(t,c.apply(this,arguments))},t.mergeArcs=c,t.neighbors=function(t){var e={},r=t.map(function(){return[]});function n(t,r){t.forEach(function(t){t<0&&(t=~t);var n=e[t];n?n.push(r):e[t]=[r]})}function i(t,e){t.forEach(function(t){n(t,e)})}var a={LineString:n,MultiLineString:i,Polygon:i,MultiPolygon:function(t,e){t.forEach(function(t){i(t,e)})}};for(var o in t.forEach(function t(e,r){"GeometryCollection"===e.type?e.geometries.forEach(function(e){t(e,r)}):e.type in a&&a[e.type](e.arcs,r)}),e)for(var s=e[o],l=s.length,c=0;c<l;++c)for(var f=c+1;f<l;++f){var h,p=s[c],d=s[f];(h=r[p])[o=u(h,d)]!==d&&h.splice(o,0,d),(h=r[d])[o=u(h,p)]!==p&&h.splice(o,0,p)}return r},t.quantize=function(t,e){if(!((e=Math.floor(e))>=2))throw new Error("n must be \u22652");if(t.transform)throw new Error("already quantized");var r,i=n(t),a=i[0],o=(i[2]-a)/(e-1)||1,s=i[1],l=(i[3]-s)/(e-1)||1;function c(t){t[0]=Math.round((t[0]-a)/o),t[1]=Math.round((t[1]-s)/l)}function u(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(u);break;case"Point":c(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(c)}}for(r in t.arcs.forEach(function(t){for(var e,r,n,i=1,c=1,u=t.length,f=t[0],h=f[0]=Math.round((f[0]-a)/o),p=f[1]=Math.round((f[1]-s)/l);i<u;++i)f=t[i],r=Math.round((f[0]-a)/o),n=Math.round((f[1]-s)/l),r===h&&n===p||((e=t[c++])[0]=r-h,h=r,e[1]=n-p,p=n);c<2&&((e=t[c++])[0]=0,e[1]=0),t.length=c}),t.objects)u(t.objects[r]);return t.transform={scale:[o,l],translate:[a,s]},t},t.transform=r,t.untransform=function(t){if(null==(r=t.transform))return e;var r,n,i,a=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){e||(n=i=0);var r=Math.round((t[0]-s)/a),c=Math.round((t[1]-l)/o);return t[0]=r-n,n=r,t[1]=c-i,i=c,t}},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.topojson=n.topojson||{})},{}],515:[function(t,e,r){"use strict";e.exports=function(t){if(t<0)return[];if(0===t)return[[0]];for(var e=0|Math.round(a(t+1)),r=[],o=0;o<e;++o){for(var s=n.unrank(t,o),l=[0],c=0,u=0;u<s.length;++u)c+=1<<s[u],l.push(c);i(s)<1&&(l[0]=c,l[t]=0),r.push(l)}return r};var n=t("permutation-rank"),i=t("permutation-parity"),a=t("gamma")},{gamma:219,"permutation-parity":443,"permutation-rank":444}],516:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.up||[0,1,0],n=t.right||f(r),i=t.radius||1,a=t.theta||0,u=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),s(r,r),n=[].slice.call(n,0,3),s(n,n),"eye"in t){var p=t.eye,d=[p[0]-e[0],p[1]-e[1],p[2]-e[2]];o(n,d,r),c(n[0],n[1],n[2])<1e-6?n=f(r):s(n,n),i=c(d[0],d[1],d[2]);var g=l(r,d)/i,m=l(n,d)/i;u=Math.acos(g),a=Math.acos(m)}return i=Math.log(i),new h(t.zoomMin,t.zoomMax,e,r,n,i,a,u)};var n=t("filtered-vector"),i=t("gl-mat4/invert"),a=t("gl-mat4/rotate"),o=t("gl-vec3/cross"),s=t("gl-vec3/normalize"),l=t("gl-vec3/dot");function c(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t){return Math.min(1,Math.max(-1,t))}function f(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),i=[0,0,0];e>Math.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=h.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),u=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,u+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(u);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],g=this.computedAngle[1],m=Math.cos(d),v=Math.sin(d),y=Math.cos(g),x=Math.sin(g),b=this.computedCenter,_=m*y,w=v*y,k=x,M=-m*x,A=-v*x,T=y,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var C=_*r[a]+w*h[a]+k*e[a];E[4*a+1]=M*r[a]+A*h[a]+T*e[a],E[4*a+2]=C,E[4*a+3]=0}var L=E[1],z=E[5],P=E[9],O=E[2],I=E[6],D=E[10],R=z*D-P*I,B=P*O-L*D,F=L*I-z*O,N=c(R,B,F);R/=N,B/=N,F/=N,E[0]=R,E[4]=B,E[8]=F;for(a=0;a<3;++a)S[a]=b[a]+E[2+4*a]*p;for(a=0;a<3;++a){u=0;for(var j=0;j<3;++j)u+=E[a+4*j]*S[j];E[12+a]=-u}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)i[4*c]=o[c],i[4*c+1]=s[c],i[4*c+2]=l[c];a(i,i,n,d);for(c=0;c<3;++c)o[c]=i[4*c],s[c]=i[4*c+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=c(a,o,s);a/=l,o/=l,s/=l;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=c(u-=a*p,f-=o*p,h-=s*p),g=(u/=d)*e+a*r,m=(f/=d)*e+o*r,v=(h/=d)*e+s*r;this.center.move(t,g,m,v);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+n),this.radius.set(t,Math.log(y))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;"number"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),g=Math.max(h,p,d);h===g?(s=s<0?-1:1,l=f=0):d===g?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var m=c(s,l,f);s/=m,l/=m,f/=m}var v,y,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,k=c(x-=s*w,b-=l*w,_-=f*w),M=l*(_/=k)-f*(b/=k),A=f*(x/=k)-s*_,T=s*b-l*x,S=c(M,A,T);if(M/=S,A/=S,T/=S,this.center.jump(t,H,G,W),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var E=e[1],C=e[5],L=e[9],z=E*x+C*b+L*_,P=E*M+C*A+L*T;v=R<0?-Math.PI/2:Math.PI/2,y=Math.atan2(P,z)}else{var O=e[2],I=e[6],D=e[10],R=O*s+I*l+D*f,B=O*x+I*b+D*_,F=O*M+I*A+D*T;v=Math.asin(u(R)),y=Math.atan2(F,B)}this.angle.jump(t,y,v),this.recalcMatrix(t);var N=e[2],j=e[6],V=e[10],U=this.computedMatrix;i(U,e);var q=U[15],H=U[12]/q,G=U[13]/q,W=U[14]/q,Y=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*Y,G-j*Y,W-V*Y)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=c(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=c(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,g=d[0],m=d[1],v=d[2],y=i*g+a*m+o*v,x=c(g-=y*i,m-=y*a,v-=y*o);if(!(x<.01&&(x=c(g=a*h-o*f,m=o*l-i*h,v=i*f-a*l))<1e-6)){g/=x,m/=x,v/=x,this.up.set(t,i,a,o),this.right.set(t,g,m,v),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*v-o*m,_=o*g-i*v,w=i*m-a*g,k=c(b,_,w),M=i*l+a*f+o*h,A=g*l+m*f+v*h,T=(b/=k)*l+(_/=k)*f+(w/=k)*h,S=Math.asin(u(M)),E=Math.atan2(T,A),C=this.angle._state,L=C[C.length-1],z=C[C.length-2];L%=2*Math.PI;var P=Math.abs(L+2*Math.PI-E),O=Math.abs(L-E),I=Math.abs(L-2*Math.PI-E);P<O&&(L+=2*Math.PI),I<O&&(L-=2*Math.PI),this.angle.jump(this.angle.lastT(),L,z),this.angle.set(t,E,S)}}}}},{"filtered-vector":214,"gl-mat4/invert":253,"gl-mat4/rotate":257,"gl-vec3/cross":315,"gl-vec3/dot":320,"gl-vec3/normalize":337}],517:[function(t,e,r){"use strict";e.exports=function(t,e,r){var i=t*e,a=n*t,o=a-(a-t),s=t-o,l=n*e,c=l-(l-e),u=e-c,f=s*u-(i-o*c-s*c-o*u);if(r)return r[0]=f,r[1]=i,r;return[f,i]};var n=+(Math.pow(2,27)+1)},{}],518:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n=t+e,i=n-t,a=e-i,o=t-(n-i);if(r)return r[0]=o+a,r[1]=n,r;return[o+a,n]}},{}],519:[function(t,e,r){(function(e,n){"use strict";var i=t("bit-twiddle"),a=t("dup");e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:a([32,0]),UINT16:a([32,0]),UINT32:a([32,0]),INT8:a([32,0]),INT16:a([32,0]),INT32:a([32,0]),FLOAT:a([32,0]),DOUBLE:a([32,0]),DATA:a([32,0]),UINT8C:a([32,0]),BUFFER:a([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s=e.__TYPEDARRAY_POOL;s.UINT8C||(s.UINT8C=a([32,0])),s.BUFFER||(s.BUFFER=a([32,0]));var l=s.DATA,c=s.BUFFER;function u(t){if(t){var e=t.length||t.byteLength,r=i.log2(e);l[r].push(t)}}function f(t){t=i.nextPow2(t);var e=i.log2(t),r=l[e];return r.length>0?r.pop():new ArrayBuffer(t)}function h(t){return new Uint8Array(f(t),0,t)}function p(t){return new Uint16Array(f(2*t),0,t)}function d(t){return new Uint32Array(f(4*t),0,t)}function g(t){return new Int8Array(f(t),0,t)}function m(t){return new Int16Array(f(2*t),0,t)}function v(t){return new Int32Array(f(4*t),0,t)}function y(t){return new Float32Array(f(4*t),0,t)}function x(t){return new Float64Array(f(8*t),0,t)}function b(t){return o?new Uint8ClampedArray(f(t),0,t):h(t)}function _(t){return new DataView(f(t),0,t)}function w(t){t=i.nextPow2(t);var e=i.log2(t),r=c[e];return r.length>0?r.pop():new n(t)}r.free=function(t){if(n.isBuffer(t))c[i.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|i.log2(e);l[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeInt8=r.freeInt16=r.freeInt32=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){u(t.buffer)},r.freeArrayBuffer=u,r.freeBuffer=function(t){c[i.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return f(t);switch(e){case"uint8":return h(t);case"uint16":return p(t);case"uint32":return d(t);case"int8":return g(t);case"int16":return m(t);case"int32":return v(t);case"float":case"float32":return y(t);case"double":case"float64":return x(t);case"uint8_clamped":return b(t);case"buffer":return w(t);case"data":case"dataview":return _(t);default:return null}return null},r.mallocArrayBuffer=f,r.mallocUint8=h,r.mallocUint16=p,r.mallocUint32=d,r.mallocInt8=g,r.mallocInt16=m,r.mallocInt32=v,r.mallocFloat32=r.mallocFloat=y,r.mallocFloat64=r.mallocDouble=x,r.mallocUint8Clamped=b,r.mallocDataView=_,r.mallocBuffer=w,r.clearCache=function(){for(var t=0;t<32;++t)s.UINT8[t].length=0,s.UINT16[t].length=0,s.UINT32[t].length=0,s.INT8[t].length=0,s.INT16[t].length=0,s.INT32[t].length=0,s.FLOAT[t].length=0,s.DOUBLE[t].length=0,s.UINT8C[t].length=0,l[t].length=0,c[t].length=0}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer)},{"bit-twiddle":79,buffer:92,dup:154}],520:[function(t,e,r){"use strict";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n;var i=n.prototype;Object.defineProperty(i,"length",{get:function(){return this.roots.length}}),i.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},i.find=function(t){for(var e=t,r=this.roots;r[t]!==t;)t=r[t];for(;r[e]!==t;){var n=r[e];r[e]=t,e=n}return t},i.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],521:[function(t,e,r){"use strict";e.exports=function(t,e,r){return 0===t.length?t:e?(r||t.sort(e),function(t,e){for(var r=1,n=t.length,i=t[0],a=t[0],o=1;o<n;++o)if(a=i,e(i=t[o],a)){if(o===r){r++;continue}t[r++]=i}return t.length=r,t}(t,e)):(r||t.sort(),function(t){for(var e=1,r=t.length,n=t[0],i=t[0],a=1;a<r;++a,i=n)if(i=n,(n=t[a])!==i){if(a===e){e++;continue}t[e++]=n}return t.length=e,t}(t))}},{}],522:[function(t,e,r){var n=/[\'\"]/;e.exports=function(t){return t?(n.test(t.charAt(0))&&(t=t.substr(1)),n.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}},{}],523:[function(t,e,r){"use strict";e.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n<i;n++){var a=r[n];for(var o in a)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&&o in e){var s;if(!0===a[o])s=e[o];else{if(!1===a[o])continue;if("function"==typeof a[o]&&void 0===(s=a[o](e[o],t,e)))continue}t[o]=s}}return t}},{}],524:[function(t,e,r){"use strict";e.exports=function(t,e){"object"==typeof e&&null!==e||(e={});return n(t,e.canvas||i,e.context||a,e)};var n=t("./lib/vtext"),i=null,a=null;"undefined"!=typeof document&&((i=document.createElement("canvas")).width=8192,i.height=1024,a=i.getContext("2d"))},{"./lib/vtext":525}],525:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a=n.size||64,o=n.font||"normal";return r.font=a+"px "+o,r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",f(function(t,e,r,n){var a=0|Math.ceil(e.measureText(r).width+2*n);if(a>8192)throw new Error("vectorize-text: String too long (sorry, this will get fixed later)");var o=3*n;t.height<o&&(t.height=o),e.fillStyle="#000",e.fillRect(0,0,t.width,t.height),e.fillStyle="#fff",e.fillText(r,n,2*n);var s=e.getImageData(0,0,a,o);return i(s.data,[o,a,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,a),n,a)},e.exports.processPixels=f;var n=t("surface-nets"),i=t("ndarray"),a=t("simplify-planar-graph"),o=t("clean-pslg"),s=t("cdt2d"),l=t("planar-graph-to-polyline");function c(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function u(t,e,r,n){var i=c(t,n),a=function(t,e,r){for(var n=e.textAlign||"start",i=e.textBaseline||"alphabetic",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l<s;++l)for(var c=t[l],u=0;u<2;++u)a[u]=0|Math.min(a[u],c[u]),o[u]=0|Math.max(o[u],c[u]);var f=0;switch(n){case"center":f=-.5*(a[0]+o[0]);break;case"right":case"end":f=-o[0];break;case"left":case"start":f=-a[0];break;default:throw new Error("vectorize-text: Unrecognized textAlign: '"+n+"'")}var h=0;switch(i){case"hanging":case"top":h=-a[1];break;case"middle":h=-.5*(a[1]+o[1]);break;case"alphabetic":case"ideographic":h=-3*r;break;case"bottom":h=-o[1];break;default:throw new Error("vectorize-text: Unrecoginized textBaseline: '"+i+"'")}var p=1/r;return"lineHeight"in e?p*=+e.lineHeight:"width"in e?p=e.width/(o[0]-a[0]):"height"in e&&(p=e.height/(o[1]-a[1])),t.map(function(t){return[p*(t[0]+f),p*(t[1]+h)]})}(i.positions,e,r),u=i.edges,f="ccw"===e.orientation;if(o(a,u),e.polygons||e.polygon||e.polyline){for(var h=l(u,a),p=new Array(h.length),d=0;d<h.length;++d){for(var g=h[d],m=new Array(g.length),v=0;v<g.length;++v){for(var y=g[v],x=new Array(y.length),b=0;b<y.length;++b)x[b]=a[y[b]].slice();f&&x.reverse(),m[v]=x}p[d]=m}return p}return e.triangles||e.triangulate||e.triangle?{cells:s(a,u,{delaunay:!1,exterior:!1,interior:!0}),positions:a}:{edges:u,positions:a}}function f(t,e,r){try{return u(t,e,r,!0)}catch(t){}try{return u(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}},{cdt2d:93,"clean-pslg":103,ndarray:430,"planar-graph-to-polyline":448,"simplify-planar-graph":497,"surface-nets":505}],526:[function(t,e,r){!function(){"use strict";if("undefined"==typeof ses||!ses.ok||ses.ok()){"undefined"!=typeof ses&&(ses.weakMapPermitHostObjects=m);var t=!1;if("function"==typeof WeakMap){var r=WeakMap;if("undefined"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var n=new r,i=Object.freeze({});if(n.set(i,1),1===n.get(i))return void(e.exports=WeakMap);t=!0}}Object.prototype.hasOwnProperty;var a=Object.getOwnPropertyNames,o=Object.defineProperty,s=Object.isExtensible,l="weakmap:",c=l+"ident:"+Math.random()+"___";if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues&&"function"==typeof ArrayBuffer&&"function"==typeof Uint8Array){var u=new ArrayBuffer(25),f=new Uint8Array(u);crypto.getRandomValues(f),c=l+"rand:"+Array.prototype.map.call(f,function(t){return(t%36).toString(36)}).join("")+"___"}if(o(Object,"getOwnPropertyNames",{value:function(t){return a(t).filter(v)}}),"getPropertyNames"in Object){var h=Object.getPropertyNames;o(Object,"getPropertyNames",{value:function(t){return h(t).filter(v)}})}!function(){var t=Object.freeze;o(Object,"freeze",{value:function(e){return y(e),t(e)}});var e=Object.seal;o(Object,"seal",{value:function(t){return y(t),e(t)}});var r=Object.preventExtensions;o(Object,"preventExtensions",{value:function(t){return y(t),r(t)}})}();var p=!1,d=0,g=function(){this instanceof g||b();var t=[],e=[],r=d++;return Object.create(g.prototype,{get___:{value:x(function(n,i){var a,o=y(n);return o?r in o?o[r]:i:(a=t.indexOf(n))>=0?e[a]:i})},has___:{value:x(function(e){var n=y(e);return n?r in n:t.indexOf(e)>=0})},set___:{value:x(function(n,i){var a,o=y(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this})},delete___:{value:x(function(n){var i,a,o=y(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,0))})}})};g.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof g||b();var e,n=new r,i=void 0,a=!1;return e=t?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new g),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new g),i.set___(t,e)}else n.set(t,e);return this},Object.create(g.prototype,{get___:{value:x(function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)})},has___:{value:x(function(t){return n.has(t)||!!i&&i.has___(t)})},set___:{value:x(e)},delete___:{value:x(function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e})},permitHostObjects___:{value:x(function(t){if(t!==m)throw new Error("bogus call to permitHostObjects___");a=!0})}})}t&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=g.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),e.exports=g)}function m(t){t.permitHostObjects___&&t.permitHostObjects___(m)}function v(t){return!(t.substr(0,l.length)==l&&"___"===t.substr(t.length-3))}function y(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[c];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,c,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||"undefined"==typeof console||(p=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},{}],527:[function(t,e,r){var n=t("./hidden-store.js");e.exports=function(){var t={};return function(e){if(("object"!=typeof e||null===e)&&"function"!=typeof e)throw new Error("Weakmap-shim: Key must be object");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},{"./hidden-store.js":528}],528:[function(t,e,r){e.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},{}],529:[function(t,e,r){var n=t("./create-store.js");e.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty("value")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return"value"in t(e)},delete:function(e){return delete t(e).value}}}},{"./create-store.js":527}],530:[function(t,e,r){var n=t("get-canvas-context");e.exports=function(t){return n("webgl",t)}},{"get-canvas-context":220}],531:[function(t,e,r){var n=t("../main"),i=t("object-assign"),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(t,e){if("string"==typeof t){var r=t.match(l);return r?r[0]:""}var n=this._validateYear(t),i=t.month(),a=""+this.toChineseMonth(n,i);return e&&a.length<2&&(a="0"+a),this.isIntercalaryMonth(n,i)&&(a+="i"),a},monthNames:function(t){if("string"==typeof t){var e=t.match(c);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="\u95f0"+i),i},monthNamesShort:function(t){if("string"==typeof t){var e=t.match(u);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="\u95f0"+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))"\u95f0"===e[0]&&(r=!0,e=e.substring(1)),"\u6708"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"].indexOf(e);else{var i=e[e.length-1];r="i"===i||"I"===i}return this.toMonthIndex(t,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),"number"!=typeof t||t<1888||t>2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?!r&&e<=i?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e<r?e+1:e:e+1},intercalaryMonth:function(t){return t=this._validateYear(t),f[t-f[0]]>>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,c=s>>5&15,u=31&s;(i=a.newDate(l,c,u)).add(4-(i.dayOfWeek()||7),"d");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if("object"==typeof t)o=t,a=e||{};else{var l="number"==typeof t&&t>=1888&&t<=2111;if(!l)throw new Error("Lunar year outside range 1888-2111");var c="number"==typeof e&&e>=1&&e<=12;if(!c)throw new Error("Lunar month outside range 1 - 12");var u,p="number"==typeof r&&r>=1&&r<=30;if(!p)throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(u=!1,a=n):(u=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:u}}s=o.day-1;var d,g=f[o.year-f[0]],m=g>>13;d=m?o.month>m?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var v=0;v<d;v++){var y=g&1<<12-v?30:29;s+=y}var x=h[o.year-h[0]],b=new Date(x>>9&4095,(x>>5&15)-1,(31&x)+s);return a.year=b.getFullYear(),a.month=1+b.getMonth(),a.day=b.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if("object"==typeof t)i=t,a=e||{};else{var o="number"==typeof t&&t>=1888&&t<=2111;if(!o)throw new Error("Solar year outside range 1888-2111");var s="number"==typeof e&&e>=1&&e<=12;if(!s)throw new Error("Solar month outside range 1 - 12");var l="number"==typeof r&&r>=1&&r<=31;if(!l)throw new Error("Solar day outside range 1 - 31");i={year:t,month:e,day:r},a=n||{}}var c=h[i.year-h[0]],u=i.year<<9|i.month<<5|i.day;a.year=u>=c?i.year:i.year-1,c=h[a.year-h[0]];var p,d=new Date(c>>9&4095,(c>>5&15)-1,31&c),g=new Date(i.year,i.month-1,i.day);p=Math.round((g-d)/864e5);var m,v=f[a.year-f[0]];for(m=0;m<13;m++){var y=v&1<<12-m?30:29;if(p<y)break;p-=y}var x=v>>13;!x||m<x?(a.isIntercalary=!1,a.month=1+m):m===x?(a.isIntercalary=!0,a.month=m):(a.isIntercalary=!1,a.month=m);return a.day=1+p,a}(e.year(),e.month(),e.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(t){var e=t.match(s),r=this._validateYear(+e[1]),n=+e[2],i=!!e[3],a=this.toMonthIndex(r,n,i),o=+e[4];return this.newDate(r,a,o)},add:function(t,e,r){var n=t.year(),i=t.month(),a=this.isIntercalaryMonth(n,i),s=this.toChineseMonth(n,i),l=Object.getPrototypeOf(o.prototype).add.call(this,t,e,r);if("y"===r){var c=l.year(),u=l.month(),f=this.isIntercalaryMonth(c,s),h=a&&f?this.toMonthIndex(c,s,!0):this.toMonthIndex(c,s,!1);h!==u&&l.month(h)}return l}});var s=/^\s*(-?\d\d\d\d|\d\d)[-\/](\d?\d)([iI]?)[-\/](\d?\d)/m,l=/^\d?\d[iI]?/m,c=/^\u95f0?\u5341?[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]?\u6708/m,u=/^\u95f0?\u5341?[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]?/m;n.calendars.chinese=o;var f=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],h=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904]},{"../main":545,"object-assign":434}],532:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Coptic",jdEpoch:1825029.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Coptic",epochs:["BAM","AM"],monthNames:["Thout","Paopi","Hathor","Koiak","Tobi","Meshir","Paremhat","Paremoude","Pashons","Paoni","Epip","Mesori","Pi Kogi Enavot"],monthNamesShort:["Tho","Pao","Hath","Koi","Tob","Mesh","Pat","Pad","Pash","Pao","Epi","Meso","PiK"],dayNames:["Tkyriaka","Pesnau","Pshoment","Peftoou","Ptiou","Psoou","Psabbaton"],dayNamesShort:["Tky","Pes","Psh","Pef","Pti","Pso","Psa"],dayNamesMin:["Tk","Pes","Psh","Pef","Pt","Pso","Psa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.coptic=a},{"../main":545,"object-assign":434}],533:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Discworld",jdEpoch:1721425.5,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Discworld",epochs:["BUC","UC"],monthNames:["Ick","Offle","February","March","April","May","June","Grune","August","Spune","Sektober","Ember","December"],monthNamesShort:["Ick","Off","Feb","Mar","Apr","May","Jun","Gru","Aug","Spu","Sek","Emb","Dec"],dayNames:["Sunday","Octeday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Oct","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Oc","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:2,isRTL:!1}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),400},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,n.local.invalidDate).day()+1)%8},weekDay:function(t,e,r){var n=this.dayOfWeek(t,e,r);return n>=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||""}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=a},{"../main":545,"object-assign":434}],534:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},{"../main":545,"object-assign":434}],535:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)?30:8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s<e;s++)o+=this.daysInMonth(t,s)}else for(s=7;s<e;s++)o+=this.daysInMonth(t,s);return o},_delay1:function(t){var e=Math.floor((235*t-234)/19),r=12084+13753*e,n=29*e+Math.floor(r/25920);return o(3*(n+1),7)<3&&n++,n},_delay2:function(t){var e=this._delay1(t-1),r=this._delay1(t);return this._delay1(t+1)-r==356?2:r-e==382?1:0},fromJD:function(t){t=Math.floor(t)+.5;for(var e=Math.floor(98496*(t-this.jdEpoch)/35975351)-1;t>=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=t<this.toJD(e,1,1)?7:1;t>this.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},{"../main":545,"object-assign":434}],536:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-kham\u012bs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),t=t<=0?t+1:t,(r=i.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=a},{"../main":545,"object-assign":434}],537:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},{"../main":545,"object-assign":434}],538:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+"."+Math.floor(t/20)+"."+t%20},forYear:function(t){if((t=t.split(".")).length<3)throw"Invalid Mayan year";for(var e=0,r=0;r<t.length;r++){var n=parseInt(t[r],10);if(Math.abs(n)>19||r>0&&n<0)throw"Invalid Mayan year";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s((t-=this.jdEpoch)+20,20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=a},{"../main":545,"object-assign":434}],539:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar;var o=n.instance("gregorian");i(a.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s<i.month();s++)a+=this.daysPerMonth[s-1];return a+o.toJD(t+1468,3,13)},fromJD:function(t){t=Math.floor(t+.5);for(var e=Math.floor((t-(this.jdEpoch-1))/366);t>=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=a},{"../main":545,"object-assign":434}],540:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),"undefined"==typeof this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),"undefined"==typeof this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r<t+2;r++)"undefined"==typeof this.NEPALI_CALENDAR_DATA[r]&&(this.NEPALI_CALENDAR_DATA[r]=e)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2000:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}}),n.calendars.nepali=a},{"../main":545,"object-assign":434}],541:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Persian",jdEpoch:1948320.5,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Persian",epochs:["BP","AP"],monthNames:["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Day","Bahman","Esfand"],monthNamesShort:["Far","Ord","Kho","Tir","Mor","Sha","Meh","Aba","Aza","Day","Bah","Esf"],dayNames:["Yekshambe","Doshambe","Seshambe","Ch\xe6harshambe","Panjshambe","Jom'e","Shambe"],dayNamesShort:["Yek","Do","Se","Ch\xe6","Panj","Jom","Sha"],dayNamesMin:["Ye","Do","Se","Ch","Pa","Jo","Sh"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 682*((e.year()-(e.year()>0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c<=186?Math.ceil(c/31):Math.ceil((c-6)/30),f=t-this.toJD(l,u,1)+1;return this.newDate(l,u,f)}}),n.calendars.persian=a,n.calendars.jalali=a},{"../main":545,"object-assign":434}],542:[function(t,e,r){var n=t("../main"),i=t("object-assign"),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},{"../main":545,"object-assign":434}],543:[function(t,e,r){var n=t("../main"),i=t("object-assign"),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},{"../main":545,"object-assign":434}],544:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thal\u0101th\u0101\u2019","Yawm al-Arba\u2018\u0101\u2019","Yawm al-Kham\u012bs","Yawm al-Jum\u2018a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;a<o.length;a++){if(o[a]>r)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;n<o.length&&!(o[n]>e);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},{"../main":545,"object-assign":434}],545:[function(t,e,r){var n=t("object-assign");function i(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(i.prototype,{instance:function(t,e){t=(t||"gregorian").toLowerCase(),e=e||"";var r=this._localCals[t+"-"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+"-"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&&t.year?t.calendar():"string"==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+"").replace(/[0-9]/g,function(e){return t[e]})}},substituteChineseDigits:function(t,e){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(0===a?"":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(c.local.differentCalendars||c.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);i=t.day();"y"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):"m"===r&&(!function(t){for(;o<t.minMonth;)a--,o+=t.monthsInYear(a);for(var e=t.monthsInYear(a);o>e-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),i="m"===r?e:t.month(),a="d"===r?e:t.day();return"y"!==r&&"m"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth<this.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return c.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(t){return this.fromJD(c.instance().fromJSDate(t).toJD())},_validate:function(t,e,r,n){if(t.year){if(0===this._validateLevel&&this.name!==t.calendar().name)throw(c.local.differentCalendars||c.regionalOptions[""].differentCalendars).replace(/\{0\}/,this.local.name).replace(/\{1\}/,t.calendar().local.name);return t}try{if(this._validateLevel++,1===this._validateLevel&&!this.isValid(t,e,r))throw n.replace(/\{0\}/,this.local.name);var i=this.newDate(t,e,r);return this._validateLevel--,i}catch(t){throw this._validateLevel--,t}}}),l.prototype=new s,n(l.prototype,{name:"Gregorian",jdEpoch:1721425.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Gregorian",epochs:["BCE","CE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==0&&(t%100!=0||t%400==0)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);t=n.year(),e=n.month(),r=n.day(),t<0&&t++,e<3&&(e+=12,t--);var i=Math.floor(t/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r+a-1524.5},fromJD:function(t){var e=Math.floor(t+.5),r=Math.floor((e-1867216.25)/36524.25),n=(r=e+1+r-Math.floor(r/4))+1524,i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(30.6001*o),l=o-(o>13.5?13:1),c=i-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new i;c.cdate=a,c.baseCalendar=s,c.calendars.gregorian=l},{"object-assign":434}],546:[function(t,e,r){var n=t("object-assign"),i=t("./main");n(i.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),i.local=i.regionalOptions[""],n(i.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s,l=(r=r||{}).dayNamesShort||this.local.dayNamesShort,c=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,f=r.monthNamesShort||this.local.monthNamesShort,h=r.monthNames||this.local.monthNames,p=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;w+n<t.length&&t.charAt(w+n)===e;)n++;return w+=n-1,Math.floor(n/(r||1))>1}),d=function(t,e,r,n){var i=""+e;if(p(t,n))for(;i.length<r;)i="0"+i;return i},g=this,m=function(t){return"function"==typeof u?u.call(g,t,p("m")):x(d("m",t.month(),2))},v=function(t,e){return e?"function"==typeof h?h.call(g,t):h[t.month()-g.minMonth]:"function"==typeof f?f.call(g,t):f[t.month()-g.minMonth]},y=this.local.digits,x=function(t){return r.localNumbers&&y?y(t):t},b="",_=!1,w=0;w<t.length;w++)if(_)"'"!==t.charAt(w)||p("'")?b+=t.charAt(w):_=!1;else switch(t.charAt(w)){case"d":b+=x(d("d",e.day(),2));break;case"D":b+=(n="D",a=e.dayOfWeek(),o=l,s=c,p(n)?s[a]:o[a]);break;case"o":b+=d("o",e.dayOfYear(),3);break;case"w":b+=d("w",e.weekOfYear(),2);break;case"m":b+=m(e);break;case"M":b+=v(e,p("M"));break;case"y":b+=p("y",2)?e.year():(e.year()%100<10?"0":"")+e.year()%100;break;case"Y":p("Y",2),b+=e.formatYear();break;case"J":b+=e.toJD();break;case"@":b+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case"!":b+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case"'":p("'")?b+="'":_=!0;break;default:b+=t.charAt(w)}return b},parseDate:function(t,e,r){if(null==e)throw i.local.invalidArguments||i.regionalOptions[""].invalidArguments;if(""===(e="object"==typeof e?e.toString():e+""))return null;t=t||this.local.dateFormat;var n=(r=r||{}).shortYearCutoff||this.shortYearCutoff;n="string"!=typeof n?n:this.today().year()%100+parseInt(n,10);for(var a=r.dayNamesShort||this.local.dayNamesShort,o=r.dayNames||this.local.dayNames,s=r.parseMonth||this.local.parseMonth,l=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,u=r.monthNames||this.local.monthNames,f=-1,h=-1,p=-1,d=-1,g=-1,m=!1,v=!1,y=function(e,r){for(var n=1;T+n<t.length&&t.charAt(T+n)===e;)n++;return T+=n-1,Math.floor(n/(r||1))>1},x=function(t,r){var n=y(t,r),a=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+a+"}"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if("function"==typeof l){y("m");var t=l.call(b,e.substring(A));return A+=t.length,t}return x("m")},w=function(t,r,n,a){for(var o=y(t,a)?n:r,s=0;s<o.length;s++)if(e.substr(A,o[s].length).toLowerCase()===o[s].toLowerCase())return A+=o[s].length,s+b.minMonth;throw(i.local.unknownNameAt||i.regionalOptions[""].unknownNameAt).replace(/\{0\}/,A)},k=function(){if("function"==typeof u){var t=y("M")?u.call(b,e.substring(A)):c.call(b,e.substring(A));return A+=t.length,t}return w("M",c,u)},M=function(){if(e.charAt(A)!==t.charAt(T))throw(i.local.unexpectedLiteralAt||i.regionalOptions[""].unexpectedLiteralAt).replace(/\{0\}/,A);A++},A=0,T=0;T<t.length;T++)if(v)"'"!==t.charAt(T)||y("'")?M():v=!1;else switch(t.charAt(T)){case"d":d=x("d");break;case"D":w("D",a,o);break;case"o":g=x("o");break;case"w":x("w");break;case"m":p=_();break;case"M":p=k();break;case"y":var S=T;m=!y("y",2),T=S,h=x("y",2);break;case"Y":h=x("Y",2);break;case"J":f=x("J")+.5,"."===e.charAt(A)&&(A++,x("J"));break;case"@":f=x("@")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case"!":f=x("!")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case"*":A=e.length;break;case"'":y("'")?M():v=!0;break;default:M()}if(A<e.length)throw i.local.unexpectedText||i.regionalOptions[""].unexpectedText;if(-1===h?h=this.today().year():h<100&&m&&(h+=-1===n?1900:this.today().year()-this.today().year()%100-(h<=n?0:100)),"string"==typeof p&&(p=s.call(this,h,p)),g>-1){p=1,d=g;for(var E=this.daysInMonth(h,p);d>E;E=this.daysInMonth(h,p))p++,d-=E}return f>-1?this.fromJD(f):this.newDate(h,p,d)},determineDate:function(t,e,r,n,i){r&&"object"!=typeof r&&(i=n,n=r,r=null),"string"!=typeof n&&(i=n,n="");var a=this;return e=e?e.newDate():null,t=null==t?e:"string"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(t);return e}(t):"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,"d"):a.newDate(t)}})},{"./main":545,"object-assign":434}],547:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array",{offset:[1],array:0},"scalar","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\n var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\n var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\n if((_inline_1_da >= 0) !== (_inline_1_db >= 0)) {\n _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\n }\n }",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg3_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:["_inline_1_da","_inline_1_db"]},funcName:"zeroCrossings"})},{"cwise-compiler":133}],548:[function(t,e,r){"use strict";e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t("./lib/zc-core")},{"./lib/zc-core":547}],549:[function(t,e,r){"use strict";e.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},{}],550:[function(t,e,r){"use strict";var n=t("./arrow_paths"),i=t("../../plots/font_attributes"),a=t("../../plots/cartesian/constants"),o=t("../../plot_api/plot_template").templatedArray;e.exports=o("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",a.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",a.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:i({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},{"../../plot_api/plot_template":732,"../../plots/cartesian/constants":747,"../../plots/font_attributes":768,"./arrow_paths":549}],551:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("./draw").draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach(function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref);e._extremes={},r&&s(e,r),n&&s(e,n)})}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t["a"+a],l=t[a+"ref"],c=t["a"+a+"ref"],u=t["_"+a+"padplus"],f=t["_"+a+"padminus"],h={x:1,y:-1}[a]*t[a+"shift"],p=3*t.arrowsize*t.arrowwidth||0,d=p+h,g=p-h,m=3*t.startarrowsize*t.arrowwidth||0,v=m+h,y=m-h;if(c===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:g}),b=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(u,v),ppadminus:Math.max(f,y)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else v=s?v+s:v,y=s?y-s:y,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(u,d,v),ppadminus:Math.max(f,g,y)});t._extremes[n]=r}e.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},{"../../lib":693,"../../plots/cartesian/axes":742,"./draw":556}],552:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("../../plot_api/plot_template").arrayEditor;function o(t,e){var r,n,i,a,o,l,c,u=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r<u.length;r++)if(a=(i=u[r]).clicktoshow){for(n=0;n<d;n++)if(l=(o=e[n]).xaxis,c=o.yaxis,l._id===i.xref&&c._id===i.yref&&l.d2r(o.x)===s(i._xclick,l)&&c.d2r(o.y)===s(i._yclick,c)){(i.visible?"onout"===a?h:p:f).push(r);break}n===d&&i.visible&&"onout"===a&&h.push(r)}return{on:f,off:h,explicitOff:p}}function s(t,e){return"log"===e.type?e.l2r(t):e.d2r(t)}e.exports={hasClickToShow:function(t,e){var r=o(t,e);return r.on.length>0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),c=l.on,u=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(!c.length&&!u.length)return;for(r=0;r<c.length;r++)(s=a(t.layout,"annotations",h[c[r]])).modifyItem("visible",!0),n.extendFlat(f,s.getUpdateObj());for(r=0;r<u.length;r++)(s=a(t.layout,"annotations",h[u[r]])).modifyItem("visible",!1),n.extendFlat(f,s.getUpdateObj());return i.call("update",t,{},f)}}},{"../../lib":693,"../../plot_api/plot_template":732,"../../registry":825}],553:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../color");e.exports=function(t,e,r,a){a("opacity");var o=a("bgcolor"),s=a("bordercolor"),l=i.opacity(s);a("borderpad");var c=a("borderwidth"),u=a("showarrow");if(a("text",u?" ":r._dfltTitle.annotation),a("textangle"),n.coerceFont(a,"font",r.font),a("width"),a("align"),a("height")&&a("valign"),u){var f,h,p=a("arrowside");-1!==p.indexOf("end")&&(f=a("arrowhead"),h=a("arrowsize")),-1!==p.indexOf("start")&&(a("startarrowhead",f),a("startarrowsize",h)),a("arrowcolor",l?e.bordercolor:i.defaultLine),a("arrowwidth",2*(l&&c||1)),a("standoff"),a("startstandoff")}var d=a("hovertext"),g=r.hoverlabel||{};if(d){var m=a("hoverlabel.bgcolor",g.bgcolor||(i.opacity(o)?i.rgb(o):i.defaultLine)),v=a("hoverlabel.bordercolor",g.bordercolor||i.contrast(m));n.coerceFont(a,"hoverlabel.font",{family:g.font.family,size:g.font.size,color:g.font.color||v})}a("captureevents",!!d)}},{"../../lib":693,"../color":567}],554:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib/to_log_range");e.exports=function(t,e,r,a){e=e||{};var o="log"===r&&"linear"===e.type,s="linear"===r&&"log"===e.type;if(o||s)for(var l,c,u=t._fullLayout.annotations,f=e._id.charAt(0),h=0;h<u.length;h++)l=u[h],c="annotations["+h+"].",l[f+"ref"]===e._id&&p(f),l["a"+f+"ref"]===e._id&&p("a"+f);function p(t){var r=l[t],s=null;s=o?i(r,e.range):Math.pow(10,r),n(s)||(s=null),a(c+t,s)}}},{"../../lib/to_log_range":720,"fast-isnumeric":213}],555:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../../plots/array_container_defaults"),o=t("./common_defaults"),s=t("./attributes");function l(t,e,r){function a(r,i){return n.coerce(t,e,s,r,i)}var l=a("visible"),c=a("clicktoshow");if(l||c){o(t,e,r,a);for(var u=e.showarrow,f=["x","y"],h=[-10,-30],p={_fullLayout:r},d=0;d<2;d++){var g=f[d],m=i.coerceRef(t,e,p,g,"","paper");if("paper"!==m)i.getFromId(p,m)._annIndices.push(e._index);if(i.coercePosition(e,p,a,m,g,.5),u){var v="a"+g,y=i.coerceRef(t,e,p,v,"pixel");"pixel"!==y&&y!==m&&(y=e[v]="pixel");var x="pixel"===y?h[d]:.4;i.coercePosition(e,p,a,y,v,x)}a(g+"anchor"),a(g+"shift")}if(n.noneOrAll(t,e,["x","y"]),u&&n.noneOrAll(t,e,["ax","ay"]),c){var b=a("xclick"),_=a("yclick");e._xclick=void 0===b?e.x:i.cleanPosition(b,p,e.xref),e._yclick=void 0===_?e.y:i.cleanPosition(_,p,e.yref)}}}e.exports=function(t,e){a(t,e,{name:"annotations",handleItemDefaults:l})}},{"../../lib":693,"../../plots/array_container_defaults":738,"../../plots/cartesian/axes":742,"./attributes":550,"./common_defaults":553}],556:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../plots/plots"),o=t("../../lib"),s=t("../../plots/cartesian/axes"),l=t("../color"),c=t("../drawing"),u=t("../fx"),f=t("../../lib/svg_text_utils"),h=t("../../lib/setcursor"),p=t("../dragelement"),d=t("../../plot_api/plot_template").arrayEditor,g=t("./draw_arrow_head");function m(t,e){var r=t._fullLayout.annotations[e]||{};v(t,r,e,!1,s.getFromId(t,r.xref),s.getFromId(t,r.yref))}function v(t,e,r,a,s,m){var v,y,x=t._fullLayout,b=t._fullLayout._size,_=t._context.edits;a?(v="annotation-"+a,y=a+".annotations"):(v="annotation",y="annotations");var w=d(t.layout,y,e),k=w.modifyBase,M=w.modifyItem,A=w.getUpdateObj;x._infolayer.selectAll("."+v+'[data-index="'+r+'"]').remove();var T="clip"+x._uid+"_ann"+r;if(e._input&&!1!==e.visible){var S={x:{},y:{}},E=+e.textangle||0,C=x._infolayer.append("g").classed(v,!0).attr("data-index",String(r)).style("opacity",e.opacity),L=C.append("g").classed("annotation-text-g",!0),z=_[e.showarrow?"annotationTail":"annotationPosition"],P=e.captureevents||_.annotationText||z,O=L.append("g").style("pointer-events",P?"all":null).call(h,"pointer").on("click",function(){t._dragging=!1;var i={index:r,annotation:e._input,fullAnnotation:e,event:n.event};a&&(i.subplotId=a),t.emit("plotly_clickannotation",i)});e.hovertext&&O.on("mouseover",function(){var r=e.hoverlabel,n=r.font,i=this.getBoundingClientRect(),a=t.getBoundingClientRect();u.loneHover({x0:i.left-a.left,x1:i.right-a.left,y:(i.top+i.bottom)/2-a.top,text:e.hovertext,color:r.bgcolor,borderColor:r.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color},{container:x._hoverlayer.node(),outerContainer:x._paper.node(),gd:t})}).on("mouseout",function(){u.loneUnhover(x._hoverlayer.node())});var I=e.borderwidth,D=e.borderpad,R=I+D,B=O.append("rect").attr("class","bg").style("stroke-width",I+"px").call(l.stroke,e.bordercolor).call(l.fill,e.bgcolor),F=e.width||e.height,N=x._topclips.selectAll("#"+T).data(F?[0]:[]);N.enter().append("clipPath").classed("annclip",!0).attr("id",T).append("rect"),N.exit().remove();var j=e.font,V=O.append("text").classed("annotation-text",!0).text(e.text);_.annotationText?V.call(f.makeEditable,{delegate:O,gd:t}).call(U).on("edit",function(r){e.text=r,this.call(U),M("text",r),s&&s.autorange&&k(s._name+".autorange",!0),m&&m.autorange&&k(m._name+".autorange",!0),i.call("relayout",t,A())}):V.call(U)}else n.selectAll("#"+T).remove();function U(r){return r.call(c.font,j).attr({"text-anchor":{left:"start",right:"end"}[e.align]||"middle"}),f.convertToTspans(r,t,q),r}function q(){var r=V.selectAll("a");1===r.size()&&r.text()===V.text()&&O.insert("a",":first-child").attr({"xlink:xlink:href":r.attr("xlink:href"),"xlink:xlink:show":r.attr("xlink:show")}).style({cursor:"pointer"}).node().appendChild(B.node());var n=O.select(".annotation-text-math-group"),u=!n.empty(),d=c.bBox((u?n:V).node()),v=d.width,y=d.height,w=e.width||v,P=e.height||y,D=Math.round(w+2*R),j=Math.round(P+2*R);function U(t,e){return"auto"===e&&(e=t<1/3?"left":t>2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var q=!1,H=["x","y"],G=0;G<H.length;G++){var W,Y,X,Z,$,J=H[G],K=e[J+"ref"]||J,Q=e["a"+J+"ref"],tt={x:s,y:m}[J],et=(E+("x"===J?0:-90))*Math.PI/180,rt=D*Math.cos(et),nt=j*Math.sin(et),it=Math.abs(rt)+Math.abs(nt),at=e[J+"anchor"],ot=e[J+"shift"]*("x"===J?1:-1),st=S[J];if(tt){var lt=tt.r2fraction(e[J]);(lt<0||lt>1)&&(Q===K?((lt=tt.r2fraction(e["a"+J]))<0||lt>1)&&(q=!0):q=!0),W=tt._offset+tt.r2p(e[J]),Z=.5}else"x"===J?(X=e[J],W=b.l+b.w*X):(X=1-e[J],W=b.t+b.h*X),Z=e.showarrow?.5:X;if(e.showarrow){st.head=W;var ct=e["a"+J];$=rt*U(.5,e.xanchor)-nt*U(.5,e.yanchor),Q===K?(st.tail=tt._offset+tt.r2p(ct),Y=$):(st.tail=W+ct,Y=$+ct),st.text=st.tail+$;var ut=x["x"===J?"width":"height"];if("paper"===K&&(st.head=o.constrain(st.head,1,ut-1)),"pixel"===Q){var ft=-Math.max(st.tail-3,st.text),ht=Math.min(st.tail+3,st.text)-ut;ft>0?(st.tail+=ft,st.text+=ft):ht>0&&(st.tail-=ht,st.text-=ht)}st.tail+=ot,st.head+=ot}else Y=$=it*U(Z,at),st.text=W+$;st.text+=ot,$+=ot,Y+=ot,e["_"+J+"padplus"]=it/2+Y,e["_"+J+"padminus"]=it/2-Y,e["_"+J+"size"]=it,e["_"+J+"shift"]=$}if(t._dragging||!q){var pt=0,dt=0;if("left"!==e.align&&(pt=(w-v)*("center"===e.align?.5:1)),"top"!==e.valign&&(dt=(P-y)*("middle"===e.valign?.5:1)),u)n.select("svg").attr({x:R+pt-1,y:R+dt}).call(c.setClipUrl,F?T:null);else{var gt=R+dt-d.top,mt=R+pt-d.left;V.call(f.positionText,mt,gt).call(c.setClipUrl,F?T:null)}N.select("rect").call(c.setRect,R,R,w,P),B.call(c.setRect,I/2,I/2,D-I,j-I),O.call(c.setTranslate,Math.round(S.x.text-D/2),Math.round(S.y.text-j/2)),L.attr({transform:"rotate("+E+","+S.x.text+","+S.y.text+")"});var vt,yt=function(r,n){C.selectAll(".annotation-arrow-g").remove();var u=S.x.head,f=S.y.head,h=S.x.tail+r,d=S.y.tail+n,v=S.x.text+r,y=S.y.text+n,x=o.rotationXYMatrix(E,v,y),w=o.apply2DTransform(x),T=o.apply2DTransform2(x),z=+B.attr("width"),P=+B.attr("height"),I=v-.5*z,D=I+z,R=y-.5*P,F=R+P,N=[[I,R,I,F],[I,F,D,F],[D,F,D,R],[D,R,I,R]].map(T);if(!N.reduce(function(t,e){return t^!!o.segmentsIntersect(u,f,u+1e6,f+1e6,e[0],e[1],e[2],e[3])},!1)){N.forEach(function(t){var e=o.segmentsIntersect(h,d,u,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,d=e.y)});var j=e.arrowwidth,V=e.arrowcolor,U=e.arrowside,q=C.append("g").style({opacity:l.opacity(V)}).classed("annotation-arrow-g",!0),H=q.append("path").attr("d","M"+h+","+d+"L"+u+","+f).style("stroke-width",j+"px").call(l.stroke,l.rgb(V));if(g(H,U,e),_.annotationPosition&&H.node().parentNode&&!a){var G=u,W=f;if(e.standoff){var Y=Math.sqrt(Math.pow(u-h,2)+Math.pow(f-d,2));G+=e.standoff*(h-u)/Y,W+=e.standoff*(d-f)/Y}var X,Z,$=q.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-G)+","+(d-W),transform:"translate("+G+","+W+")"}).style("stroke-width",j+6+"px").call(l.stroke,"rgba(0,0,0,0)").call(l.fill,"rgba(0,0,0,0)");p.init({element:$.node(),gd:t,prepFn:function(){var t=c.getTranslate(O);X=t.x,Z=t.y,s&&s.autorange&&k(s._name+".autorange",!0),m&&m.autorange&&k(m._name+".autorange",!0)},moveFn:function(t,r){var n=w(X,Z),i=n[0]+t,a=n[1]+r;O.call(c.setTranslate,i,a),M("x",s?s.p2r(s.r2p(e.x)+t):e.x+t/b.w),M("y",m?m.p2r(m.r2p(e.y)+r):e.y-r/b.h),e.axref===e.xref&&M("ax",s.p2r(s.r2p(e.ax)+t)),e.ayref===e.yref&&M("ay",m.p2r(m.r2p(e.ay)+r)),q.attr("transform","translate("+t+","+r+")"),L.attr({transform:"rotate("+E+","+i+","+a+")"})},doneFn:function(){i.call("relayout",t,A());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&yt(0,0),z)p.init({element:O.node(),gd:t,prepFn:function(){vt=L.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?M("ax",s.p2r(s.r2p(e.ax)+t)):M("ax",e.ax+t),e.ayref===e.yref?M("ay",m.p2r(m.r2p(e.ay)+r)):M("ay",e.ay+r),yt(t,r);else{if(a)return;var i,o;if(s)i=s.p2r(s.r2p(e.x)+t);else{var l=e._xsize/b.w,c=e.x+(e._xshift-e.xshift)/b.w-l/2;i=p.align(c+t/b.w,l,0,1,e.xanchor)}if(m)o=m.p2r(m.r2p(e.y)+r);else{var u=e._ysize/b.h,f=e.y-(e._yshift+e.yshift)/b.h-u/2;o=p.align(f-r/b.h,u,0,1,e.yanchor)}M("x",i),M("y",o),s&&m||(n=p.getCursor(s?.5:i,m?.5:o,e.xanchor,e.yanchor))}L.attr({transform:"translate("+t+","+r+")"+vt}),h(O,n)},doneFn:function(){h(O),i.call("relayout",t,A());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}else O.remove()}}e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r<e.annotations.length;r++)e.annotations[r].visible&&m(t,r);return a.previousPromises(t)},drawOne:m,drawRaw:v}},{"../../lib":693,"../../lib/setcursor":714,"../../lib/svg_text_utils":718,"../../plot_api/plot_template":732,"../../plots/cartesian/axes":742,"../../plots/plots":805,"../../registry":825,"../color":567,"../dragelement":589,"../drawing":592,"../fx":609,"./draw_arrow_head":557,d3:147}],557:[function(t,e,r){"use strict";var n=t("d3"),i=t("../color"),a=t("./arrow_paths");e.exports=function(t,e,r){var o,s,l,c,u=t.node(),f=a[r.arrowhead||0],h=a[r.startarrowhead||0],p=(r.arrowwidth||1)*(r.arrowsize||1),d=(r.arrowwidth||1)*(r.startarrowsize||1),g=e.indexOf("start")>=0,m=e.indexOf("end")>=0,v=f.backoff*p+r.standoff,y=h.backoff*d+r.startstandoff;if("line"===u.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},s={x:+t.attr("x2"),y:+t.attr("y2")};var x=o.x-s.x,b=o.y-s.y;if(c=(l=Math.atan2(b,x))+Math.PI,v&&y&&v+y>Math.sqrt(x*x+b*b))return void z();if(v){if(v*v>x*x+b*b)return void z();var _=v*Math.cos(l),w=v*Math.sin(l);s.x+=_,s.y+=w,t.attr({x2:s.x,y2:s.y})}if(y){if(y*y>x*x+b*b)return void z();var k=y*Math.cos(l),M=y*Math.sin(l);o.x-=k,o.y-=M,t.attr({x1:o.x,y1:o.y})}}else if("path"===u.nodeName){var A=u.getTotalLength(),T="";if(A<v+y)return void z();var S=u.getPointAtLength(0),E=u.getPointAtLength(.1);l=Math.atan2(S.y-E.y,S.x-E.x),o=u.getPointAtLength(Math.min(y,A)),T="0px,"+y+"px,";var C=u.getPointAtLength(A),L=u.getPointAtLength(A-.1);c=Math.atan2(C.y-L.y,C.x-L.x),s=u.getPointAtLength(Math.max(0,A-v)),T+=A-(T?y+v:v)+"px,"+A+"px",t.style("stroke-dasharray",T)}function z(){t.style("stroke-dasharray","0px,100px")}function P(e,a,o,s){e.path&&(e.noRotate&&(o=0),n.select(u.parentNode).append("path").attr({class:t.attr("class"),d:e.path,transform:"translate("+a.x+","+a.y+")"+(o?"rotate("+180*o/Math.PI+")":"")+"scale("+s+")"}).style({fill:i.rgb(r.arrowcolor),"stroke-width":0}))}g&&P(h,o,l,d),m&&P(f,s,c,p)}},{"../color":567,"./arrow_paths":549,d3:147}],558:[function(t,e,r){"use strict";var n=t("./draw"),i=t("./click");e.exports={moduleType:"component",name:"annotations",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),includeBasePlot:t("../../plots/cartesian/include_components")("annotations"),calcAutorange:t("./calc_autorange"),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:i.hasClickToShow,onClick:i.onClick,convertCoords:t("./convert_coords")}},{"../../plots/cartesian/include_components":752,"./attributes":550,"./calc_autorange":551,"./click":552,"./convert_coords":554,"./defaults":555,"./draw":556}],559:[function(t,e,r){"use strict";var n=t("../annotations/attributes"),i=t("../../plot_api/edit_types").overrideAll,a=t("../../plot_api/plot_template").templatedArray;e.exports=i(a("annotation",{visible:n.visible,x:{valType:"any"},y:{valType:"any"},z:{valType:"any"},ax:{valType:"number"},ay:{valType:"number"},xanchor:n.xanchor,xshift:n.xshift,yanchor:n.yanchor,yshift:n.yshift,text:n.text,textangle:n.textangle,font:n.font,width:n.width,height:n.height,opacity:n.opacity,align:n.align,valign:n.valign,bgcolor:n.bgcolor,bordercolor:n.bordercolor,borderpad:n.borderpad,borderwidth:n.borderwidth,showarrow:n.showarrow,arrowcolor:n.arrowcolor,arrowhead:n.arrowhead,startarrowhead:n.startarrowhead,arrowside:n.arrowside,arrowsize:n.arrowsize,startarrowsize:n.startarrowsize,arrowwidth:n.arrowwidth,standoff:n.standoff,startstandoff:n.startstandoff,hovertext:n.hovertext,hoverlabel:n.hoverlabel,captureevents:n.captureevents}),"calc","from-root")},{"../../plot_api/edit_types":725,"../../plot_api/plot_template":732,"../annotations/attributes":550}],560:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes");function a(t,e){var r=e.fullSceneLayout.domain,a=e.fullLayout._size,o={pdata:null,type:"linear",autorange:!1,range:[-1/0,1/0]};t._xa={},n.extendFlat(t._xa,o),i.setConvert(t._xa),t._xa._offset=a.l+r.x[0]*a.w,t._xa.l2p=function(){return.5*(1+t._pdata[0]/t._pdata[3])*a.w*(r.x[1]-r.x[0])},t._ya={},n.extendFlat(t._ya,o),i.setConvert(t._ya),t._ya._offset=a.t+(1-r.y[1])*a.h,t._ya.l2p=function(){return.5*(1-t._pdata[1]/t._pdata[3])*a.h*(r.y[1]-r.y[0])}}e.exports=function(t){for(var e=t.fullSceneLayout.annotations,r=0;r<e.length;r++)a(e[r],t);t.fullLayout._infolayer.selectAll(".annotation-"+t.id).remove()}},{"../../lib":693,"../../plots/cartesian/axes":742}],561:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../../plots/array_container_defaults"),o=t("../annotations/common_defaults"),s=t("./attributes");function l(t,e,r,a){function l(r,i){return n.coerce(t,e,s,r,i)}function c(t){var n=t+"axis",a={_fullLayout:{}};return a._fullLayout[n]=r[n],i.coercePosition(e,a,l,t,t,.5)}l("visible")&&(o(t,e,a.fullLayout,l),c("x"),c("y"),c("z"),n.noneOrAll(t,e,["x","y","z"]),e.xref="x",e.yref="y",e.zref="z",l("xanchor"),l("yanchor"),l("xshift"),l("yshift"),e.showarrow&&(e.axref="pixel",e.ayref="pixel",l("ax",-10),l("ay",-30),n.noneOrAll(t,e,["ax","ay"])))}e.exports=function(t,e,r){a(t,e,{name:"annotations",handleItemDefaults:l,fullLayout:r.fullLayout})}},{"../../lib":693,"../../plots/array_container_defaults":738,"../../plots/cartesian/axes":742,"../annotations/common_defaults":553,"./attributes":559}],562:[function(t,e,r){"use strict";var n=t("../annotations/draw").drawRaw,i=t("../../plots/gl3d/project"),a=["x","y","z"];e.exports=function(t){for(var e=t.fullSceneLayout,r=t.dataScale,o=e.annotations,s=0;s<o.length;s++){for(var l=o[s],c=!1,u=0;u<3;u++){var f=a[u],h=l[f],p=e[f+"axis"].r2fraction(h);if(p<0||p>1){c=!0;break}}c?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},{"../../plots/gl3d/project":793,"../annotations/draw":556}],563:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib");e.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:t("./attributes")}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(!r)return;for(var a=r.attrRegex,o=Object.keys(t),s=0;s<o.length;s++){var l=o[s];a.test(l)&&(t[l].annotations||[]).length&&(i.pushUnique(e._basePlotModules,r),i.pushUnique(e._subplots.gl3d,l))}},convert:t("./convert"),draw:t("./draw")}},{"../../lib":693,"../../registry":825,"./attributes":559,"./convert":560,"./defaults":561,"./draw":562}],564:[function(t,e,r){"use strict";e.exports=t("world-calendars/dist/main"),t("world-calendars/dist/plus"),t("world-calendars/dist/calendars/chinese"),t("world-calendars/dist/calendars/coptic"),t("world-calendars/dist/calendars/discworld"),t("world-calendars/dist/calendars/ethiopian"),t("world-calendars/dist/calendars/hebrew"),t("world-calendars/dist/calendars/islamic"),t("world-calendars/dist/calendars/julian"),t("world-calendars/dist/calendars/mayan"),t("world-calendars/dist/calendars/nanakshahi"),t("world-calendars/dist/calendars/nepali"),t("world-calendars/dist/calendars/persian"),t("world-calendars/dist/calendars/taiwan"),t("world-calendars/dist/calendars/thai"),t("world-calendars/dist/calendars/ummalqura")},{"world-calendars/dist/calendars/chinese":531,"world-calendars/dist/calendars/coptic":532,"world-calendars/dist/calendars/discworld":533,"world-calendars/dist/calendars/ethiopian":534,"world-calendars/dist/calendars/hebrew":535,"world-calendars/dist/calendars/islamic":536,"world-calendars/dist/calendars/julian":537,"world-calendars/dist/calendars/mayan":538,"world-calendars/dist/calendars/nanakshahi":539,"world-calendars/dist/calendars/nepali":540,"world-calendars/dist/calendars/persian":541,"world-calendars/dist/calendars/taiwan":542,"world-calendars/dist/calendars/thai":543,"world-calendars/dist/calendars/ummalqura":544,"world-calendars/dist/main":545,"world-calendars/dist/plus":546}],565:[function(t,e,r){"use strict";var n=t("./calendars"),i=t("../../lib"),a=t("../../constants/numerical"),o=a.EPOCHJD,s=a.ONEDAY,l={valType:"enumerated",values:Object.keys(n.calendars),editType:"calc",dflt:"gregorian"},c=function(t,e,r,n){var a={};return a[r]=l,i.coerce(t,e,a,r,n)},u="##",f={d:{0:"dd","-":"d"},e:{0:"d","-":"d"},a:{0:"D","-":"D"},A:{0:"DD","-":"DD"},j:{0:"oo","-":"o"},W:{0:"ww","-":"w"},m:{0:"mm","-":"m"},b:{0:"M","-":"M"},B:{0:"MM","-":"MM"},y:{0:"yy","-":"yy"},Y:{0:"yyyy","-":"yyyy"},U:u,w:u,c:{0:"D M d %X yyyy","-":"D M d %X yyyy"},x:{0:"mm/dd/yyyy","-":"mm/dd/yyyy"}};var h={};function p(t){var e=h[t];return e||(e=h[t]=n.instance(t))}function d(t){return i.extendFlat({},l,{description:t})}function g(t){return"Sets the calendar system to use with `"+t+"` date data."}var m={xcalendar:d(g("x"))},v=i.extendFlat({},m,{ycalendar:d(g("y"))}),y=i.extendFlat({},v,{zcalendar:d(g("z"))}),x=d(["Sets the calendar system to use for `range` and `tick0`","if this is a date axis. This does not set the calendar for","interpreting data on this axis, that's specified in the trace","or via the global `layout.calendar`"].join(" "));e.exports={moduleType:"component",name:"calendars",schema:{traces:{scatter:v,bar:v,box:v,heatmap:v,contour:v,histogram:v,histogram2d:v,histogram2dcontour:v,scatter3d:y,surface:y,mesh3d:y,scattergl:v,ohlc:m,candlestick:m},layout:{calendar:d(["Sets the default calendar system to use for interpreting and","displaying dates throughout the plot."].join(" "))},subplots:{xaxis:{calendar:x},yaxis:{calendar:x},scene:{xaxis:{calendar:x},yaxis:{calendar:x},zaxis:{calendar:x}},polar:{radialaxis:{calendar:x}}},transforms:{filter:{valuecalendar:d(["Sets the calendar system to use for `value`, if it is a date."].join(" ")),targetcalendar:d(["Sets the calendar system to use for `target`, if it is an","array of dates. If `target` is a string (eg *x*) we use the","corresponding trace attribute (eg `xcalendar`) if it exists,","even if `targetcalendar` is provided."].join(" "))}}},layoutAttributes:l,handleDefaults:c,handleTraceDefaults:function(t,e,r,n){for(var i=0;i<r.length;i++)c(t,e,r[i]+"calendar",n.calendar)},CANONICAL_SUNDAY:{chinese:"2000-01-02",coptic:"2000-01-03",discworld:"2000-01-03",ethiopian:"2000-01-05",hebrew:"5000-01-01",islamic:"1000-01-02",julian:"2000-01-03",mayan:"5000-01-01",nanakshahi:"1000-01-05",nepali:"2000-01-05",persian:"1000-01-01",jalali:"1000-01-01",taiwan:"1000-01-04",thai:"2000-01-04",ummalqura:"1400-01-06"},CANONICAL_TICK:{chinese:"2000-01-01",coptic:"2000-01-01",discworld:"2000-01-01",ethiopian:"2000-01-01",hebrew:"5000-01-01",islamic:"1000-01-01",julian:"2000-01-01",mayan:"5000-01-01",nanakshahi:"1000-01-01",nepali:"2000-01-01",persian:"1000-01-01",jalali:"1000-01-01",taiwan:"1000-01-01",thai:"2000-01-01",ummalqura:"1400-01-01"},DFLTRANGE:{chinese:["2000-01-01","2001-01-01"],coptic:["1700-01-01","1701-01-01"],discworld:["1800-01-01","1801-01-01"],ethiopian:["2000-01-01","2001-01-01"],hebrew:["5700-01-01","5701-01-01"],islamic:["1400-01-01","1401-01-01"],julian:["2000-01-01","2001-01-01"],mayan:["5200-01-01","5201-01-01"],nanakshahi:["0500-01-01","0501-01-01"],nepali:["2000-01-01","2001-01-01"],persian:["1400-01-01","1401-01-01"],jalali:["1400-01-01","1401-01-01"],taiwan:["0100-01-01","0101-01-01"],thai:["2500-01-01","2501-01-01"],ummalqura:["1400-01-01","1401-01-01"]},getCal:p,worldCalFmt:function(t,e,r){for(var n,i,a,l,c,h=Math.floor((e+.05)/s)+o,d=p(r).fromJD(h),g=0;-1!==(g=t.indexOf("%",g));)"0"===(n=t.charAt(g+1))||"-"===n||"_"===n?(a=3,i=t.charAt(g+2),"_"===n&&(n="-")):(i=n,n="0",a=2),(l=f[i])?(c=l===u?u:d.formatDate(l[n]),t=t.substr(0,g)+c+t.substr(g+a),g+=c.length):g+=a;return t}}},{"../../constants/numerical":670,"../../lib":693,"./calendars":564}],566:[function(t,e,r){"use strict";r.defaults=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],r.defaultLine="#444",r.lightLine="#eee",r.background="#fff",r.borderLine="#BEC8D9",r.lightFraction=1e3/11},{}],567:[function(t,e,r){"use strict";var n=t("tinycolor2"),i=t("fast-isnumeric"),a=e.exports={},o=t("./attributes");a.defaults=o.defaults;var s=a.defaultLine=o.defaultLine;a.lightLine=o.lightLine;var l=a.background=o.background;function c(t){if(i(t)||"string"!=typeof t)return t;var e=t.trim();if("rgb"!==e.substr(0,3))return t;var r=e.match(/^rgba?\s*\(([^()]*)\)$/);if(!r)return t;var n=r[1].trim().split(/\s*[\s,]\s*/),a="a"===e.charAt(3)&&4===n.length;if(!a&&3!==n.length)return t;for(var o=0;o<n.length;o++){if(!n[o].length)return t;if(n[o]=Number(n[o]),!(n[o]>=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return a?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}a.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},a.rgb=function(t){return a.tinyRGB(n(t))},a.opacity=function(t){return t?n(t).getAlpha():0},a.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},a.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||l).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},a.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(a.combine(t,l))),(i.isDark()?e?i.lighten(e):l:r?i.darken(r):s).toString()},a.stroke=function(t,e){var r=n(e);t.style({stroke:a.tinyRGB(r),"stroke-opacity":r.getAlpha()})},a.fill=function(t,e){var r=n(e);t.style({fill:a.tinyRGB(r),"fill-opacity":r.getAlpha()})},a.clean=function(t){if(t&&"object"==typeof t){var e,r,n,i,o=Object.keys(t);for(e=0;e<o.length;e++)if(i=t[n=o[e]],"color"===n.substr(n.length-5))if(Array.isArray(i))for(r=0;r<i.length;r++)i[r]=c(i[r]);else t[n]=c(i);else if("colorscale"===n.substr(n.length-10)&&Array.isArray(i))for(r=0;r<i.length;r++)Array.isArray(i[r])&&(i[r][1]=c(i[r][1]));else if(Array.isArray(i)){var s=i[0];if(!Array.isArray(s)&&s&&"object"==typeof s)for(r=0;r<i.length;r++)a.clean(i[r])}else i&&"object"==typeof i&&a.clean(i)}}},{"./attributes":566,"fast-isnumeric":213,tinycolor2:511}],568:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/layout_attributes"),i=t("../../plots/font_attributes"),a=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll;e.exports=o({thicknessmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels"},thickness:{valType:"number",min:0,dflt:30},lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",dflt:1.02,min:-2,max:3},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},xpad:{valType:"number",min:0,dflt:10},y:{valType:"number",dflt:.5,min:-2,max:3},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle"},ypad:{valType:"number",min:0,dflt:10},outlinecolor:n.linecolor,outlinewidth:n.linewidth,bordercolor:n.linecolor,borderwidth:{valType:"number",min:0,dflt:0},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)"},tickmode:n.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:a({},n.ticks,{dflt:""}),ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,tickfont:i({}),tickangle:n.tickangle,tickformat:n.tickformat,tickformatstops:n.tickformatstops,tickprefix:n.tickprefix,showtickprefix:n.showtickprefix,ticksuffix:n.ticksuffix,showticksuffix:n.showticksuffix,separatethousands:n.separatethousands,exponentformat:n.exponentformat,showexponent:n.showexponent,title:{valType:"string"},titlefont:i({}),titleside:{valType:"enumerated",values:["right","top","bottom"],dflt:"top"}},"colorbars","from-root")},{"../../lib/extend":682,"../../plot_api/edit_types":725,"../../plots/cartesian/layout_attributes":754,"../../plots/font_attributes":768}],569:[function(t,e,r){"use strict";var n=t("./draw");e.exports=function(t,e,r){if("function"==typeof r)return r(t,e);var i=e[0].trace,a="cb"+i.uid,o=r.container,s=o?i[o]:i;(t._fullLayout._infolayer.selectAll("."+a).remove(),s&&s.showscale)&&(e[0].t.cb=n(t,a)).fillgradient(s.colorscale).zrange([s[r.min],s[r.max]]).options(s.colorbar)()}},{"./draw":572}],570:[function(t,e,r){"use strict";e.exports={cn:{colorbar:"colorbar",cbbg:"cbbg",cbfill:"cbfill",cbfills:"cbfills",cbline:"cbline",cblines:"cblines",cbaxis:"cbaxis",cbtitleunshift:"cbtitleunshift",cbtitle:"cbtitle",cboutline:"cboutline",crisp:"crisp",jsPlaceholder:"js-placeholder"}}},{}],571:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plot_api/plot_template"),a=t("../../plots/cartesian/tick_value_defaults"),o=t("../../plots/cartesian/tick_mark_defaults"),s=t("../../plots/cartesian/tick_label_defaults"),l=t("./attributes");e.exports=function(t,e,r){var c=i.newContainer(e,"colorbar"),u=t.colorbar||{};function f(t,e){return n.coerce(u,c,l,t,e)}var h=f("thicknessmode");f("thickness","fraction"===h?30/(r.width-r.margin.l-r.margin.r):30);var p=f("lenmode");f("len","fraction"===p?1:r.height-r.margin.t-r.margin.b),f("x"),f("xanchor"),f("xpad"),f("y"),f("yanchor"),f("ypad"),n.noneOrAll(u,c,["x","y"]),f("outlinecolor"),f("outlinewidth"),f("bordercolor"),f("borderwidth"),f("bgcolor"),a(u,c,f,"linear");var d={outerTicks:!1,font:r.font};s(u,c,f,"linear",d),o(u,c,f,"linear",d),f("title",r._dfltTitle.colorbar),n.coerceFont(f,"titlefont",r.font),f("titleside")}},{"../../lib":693,"../../plot_api/plot_template":732,"../../plots/cartesian/tick_label_defaults":761,"../../plots/cartesian/tick_mark_defaults":762,"../../plots/cartesian/tick_value_defaults":763,"./attributes":568}],572:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("../../plots/plots"),o=t("../../registry"),s=t("../../plots/cartesian/axes"),l=t("../dragelement"),c=t("../../lib"),u=t("../../lib/extend").extendFlat,f=t("../../lib/setcursor"),h=t("../drawing"),p=t("../color"),d=t("../titles"),g=t("../../lib/svg_text_utils"),m=t("../../constants/alignment"),v=m.LINE_SPACING,y=m.FROM_TL,x=m.FROM_BR,b=t("../../plots/cartesian/axis_defaults"),_=t("../../plots/cartesian/position_defaults"),w=t("../../plots/cartesian/layout_attributes"),k=t("./attributes"),M=t("./constants").cn;e.exports=function(t,e){var r={};for(var m in k)r[m]=null;function A(){var m=t._fullLayout,k=m._size;if("function"==typeof r.fillcolor||"function"==typeof r.line.color||r.fillgradient){var S,E,C=r.zrange||n.extent(("function"==typeof r.fillcolor?r.fillcolor:r.line.color).domain()),L=[],z=[],P="function"==typeof r.line.color?r.line.color:function(){return r.line.color},O="function"==typeof r.fillcolor?r.fillcolor:function(){return r.fillcolor},I=r.levels.end+r.levels.size/100,D=r.levels.size,R=1.001*C[0]-.001*C[1],B=1.001*C[1]-.001*C[0];for(E=0;E<1e5&&(S=r.levels.start+E*D,!(D>0?S>=I:S<=I));E++)S>R&&S<B&&L.push(S);if(r.fillgradient)z=[0];else if("function"==typeof r.fillcolor)if(r.filllevels)for(I=r.filllevels.end+r.filllevels.size/100,D=r.filllevels.size,E=0;E<1e5&&(S=r.filllevels.start+E*D,!(D>0?S>=I:S<=I));E++)S>C[0]&&S<C[1]&&z.push(S);else(z=L.map(function(t){return t-r.levels.size/2})).push(z[z.length-1]+r.levels.size);else r.fillcolor&&"string"==typeof r.fillcolor&&(z=[0]);r.levels.size<0&&(L.reverse(),z.reverse());var F,N=k.h,j=k.w,V=Math.round(r.thickness*("fraction"===r.thicknessmode?j:1)),U=V/k.w,q=Math.round(r.len*("fraction"===r.lenmode?N:1)),H=q/k.h,G=r.xpad/k.w,W=(r.borderwidth+r.outlinewidth)/2,Y=r.ypad/k.h,X=Math.round(r.x*k.w+r.xpad),Z=r.x-U*({middle:.5,right:1}[r.xanchor]||0),$=r.y+H*(({top:-.5,bottom:.5}[r.yanchor]||0)-.5),J=Math.round(k.h*(1-$)),K=J-q,Q={type:"linear",range:C,tickmode:r.tickmode,nticks:r.nticks,tick0:r.tick0,dtick:r.dtick,tickvals:r.tickvals,ticktext:r.ticktext,ticks:r.ticks,ticklen:r.ticklen,tickwidth:r.tickwidth,tickcolor:r.tickcolor,showticklabels:r.showticklabels,tickfont:r.tickfont,tickangle:r.tickangle,tickformat:r.tickformat,exponentformat:r.exponentformat,separatethousands:r.separatethousands,showexponent:r.showexponent,showtickprefix:r.showtickprefix,tickprefix:r.tickprefix,showticksuffix:r.showticksuffix,ticksuffix:r.ticksuffix,title:r.title,titlefont:r.titlefont,showline:!0,anchor:"free",position:1},tt={type:"linear",_id:"y"+e},et={letter:"y",font:m.font,noHover:!0,calendar:m.calendar};if(b(Q,tt,mt,et,m),_(Q,tt,mt,et),tt.position=r.x+G+U,A.axis=tt,-1!==["top","bottom"].indexOf(r.titleside)&&(tt.titleside=r.titleside,tt.titlex=r.x+G,tt.titley=$+("top"===r.titleside?H-Y:Y)),r.line.color&&"auto"===r.tickmode){tt.tickmode="linear",tt.tick0=r.levels.start;var rt=r.levels.size,nt=c.constrain((J-K)/50,4,15)+1,it=(C[1]-C[0])/((r.nticks||nt)*rt);if(it>1){var at=Math.pow(10,Math.floor(Math.log(it)/Math.LN10));rt*=at*c.roundUp(it/at,[2,5,10]),(Math.abs(r.levels.start)/r.levels.size+1e-6)%1<2e-6&&(tt.tick0=0)}tt.dtick=rt}tt.domain=[$+Y,$+H-Y],tt.setScale();var ot=c.ensureSingle(m._infolayer,"g",e,function(t){t.classed(M.colorbar,!0).each(function(){var t=n.select(this);t.append("rect").classed(M.cbbg,!0),t.append("g").classed(M.cbfills,!0),t.append("g").classed(M.cblines,!0),t.append("g").classed(M.cbaxis,!0).classed(M.crisp,!0),t.append("g").classed(M.cbtitleunshift,!0).append("g").classed(M.cbtitle,!0),t.append("rect").classed(M.cboutline,!0),t.select(".cbtitle").datum(0)})});ot.attr("transform","translate("+Math.round(k.l)+","+Math.round(k.t)+")");var st=ot.select(".cbtitleunshift").attr("transform","translate(-"+Math.round(k.l)+",-"+Math.round(k.t)+")");tt._axislayer=ot.select(".cbaxis");var lt=0;if(-1!==["top","bottom"].indexOf(r.titleside)){var ct,ut=k.l+(r.x+G)*k.w,ft=tt.titlefont.size;ct="top"===r.titleside?(1-($+H-Y))*k.h+k.t+3+.75*ft:(1-($+Y))*k.h+k.t-3-.25*ft,vt(tt._id+"title",{attributes:{x:ut,y:ct,"text-anchor":"start"}})}var ht,pt,dt,gt=c.syncOrAsync([a.previousPromises,function(){if(-1!==["top","bottom"].indexOf(r.titleside)){var a=ot.select(".cbtitle"),o=a.select("text"),l=[-r.outlinewidth/2,r.outlinewidth/2],u=a.select(".h"+tt._id+"title-math-group").node(),f=15.6;if(o.node()&&(f=parseInt(o.node().style.fontSize,10)*v),u?(lt=h.bBox(u).height)>f&&(l[1]-=(lt-f)/2):o.node()&&!o.classed(M.jsPlaceholder)&&(lt=h.bBox(o.node()).height),lt){if(lt+=5,"top"===r.titleside)tt.domain[1]-=lt/k.h,l[1]*=-1;else{tt.domain[0]+=lt/k.h;var p=g.lineCount(o);l[1]+=(1-p)*f}a.attr("transform","translate("+l+")"),tt.setScale()}}ot.selectAll(".cbfills,.cblines").attr("transform","translate(0,"+Math.round(k.h*(1-tt.domain[1]))+")"),tt._axislayer.attr("transform","translate(0,"+Math.round(-k.t)+")");var d=ot.select(".cbfills").selectAll("rect.cbfill").data(z);d.enter().append("rect").classed(M.cbfill,!0).style("stroke","none"),d.exit().remove();var y=C.map(tt.c2p).map(Math.round).sort(function(t,e){return t-e});d.each(function(a,o){var s=[0===o?C[0]:(z[o]+z[o-1])/2,o===z.length-1?C[1]:(z[o]+z[o+1])/2].map(tt.c2p).map(Math.round);s[1]=c.constrain(s[1]+(s[1]>s[0])?1:-1,y[0],y[1]);var l=n.select(this).attr({x:X,width:Math.max(V,2),y:n.min(s),height:Math.max(n.max(s)-n.min(s),2)});if(r.fillgradient)h.gradient(l,t,e,"vertical",r.fillgradient,"fill");else{var u=O(a).replace("e-","");l.attr("fill",i(u).toHexString())}});var x=ot.select(".cblines").selectAll("path.cbline").data(r.line.color&&r.line.width?L:[]);return x.enter().append("path").classed(M.cbline,!0),x.exit().remove(),x.each(function(t){n.select(this).attr("d","M"+X+","+(Math.round(tt.c2p(t))+r.line.width/2%1)+"h"+V).call(h.lineGroupStyle,r.line.width,P(t),r.line.dash)}),tt._axislayer.selectAll("g."+tt._id+"tick,path").remove(),tt._pos=X+V+(r.outlinewidth||0)/2-("outside"===r.ticks?1:0),tt.side="right",c.syncOrAsync([function(){return s.doTicksSingle(t,tt,!0)},function(){if(-1===["top","bottom"].indexOf(r.titleside)){var e=tt.titlefont.size,i=tt._offset+tt._length/2,a=k.l+(tt.position||0)*k.w+("right"===tt.side?10+e*(tt.showticklabels?1:.5):-10-e*(tt.showticklabels?.5:0));vt("h"+tt._id+"title",{avoid:{selection:n.select(t).selectAll("g."+tt._id+"tick"),side:r.titleside,offsetLeft:k.l,offsetTop:0,maxShift:m.width},attributes:{x:a,y:i,"text-anchor":"middle"},transform:{rotate:"-90",offset:0}})}}])},a.previousPromises,function(){var n=V+r.outlinewidth/2+h.bBox(tt._axislayer.node()).width;if((F=st.select("text")).node()&&!F.classed(M.jsPlaceholder)){var i,o=st.select(".h"+tt._id+"title-math-group").node();i=o&&-1!==["top","bottom"].indexOf(r.titleside)?h.bBox(o).width:h.bBox(st.node()).right-X-k.l,n=Math.max(n,i)}var s=2*r.xpad+n+r.borderwidth+r.outlinewidth/2,l=J-K;ot.select(".cbbg").attr({x:X-r.xpad-(r.borderwidth+r.outlinewidth)/2,y:K-W,width:Math.max(s,2),height:Math.max(l+2*W,2)}).call(p.fill,r.bgcolor).call(p.stroke,r.bordercolor).style({"stroke-width":r.borderwidth}),ot.selectAll(".cboutline").attr({x:X,y:K+r.ypad+("top"===r.titleside?lt:0),width:Math.max(V,2),height:Math.max(l-2*r.ypad-lt,2)}).call(p.stroke,r.outlinecolor).style({fill:"None","stroke-width":r.outlinewidth});var c=({center:.5,right:1}[r.xanchor]||0)*s;ot.attr("transform","translate("+(k.l-c)+","+k.t+")");var u={},f=y[r.yanchor],d=x[r.yanchor];"pixels"===r.lenmode?(u.y=r.y,u.t=l*f,u.b=l*d):(u.t=u.b=0,u.yt=r.y+r.len*f,u.yb=r.y-r.len*d);var g=y[r.xanchor],m=x[r.xanchor];if("pixels"===r.thicknessmode)u.x=r.x,u.l=s*g,u.r=s*m;else{var v=s-V;u.l=v*g,u.r=v*m,u.xl=r.x-r.thickness*g,u.xr=r.x+r.thickness*m}a.autoMargin(t,e,u)}],t);if(gt&&gt.then&&(t._promises||[]).push(gt),t._context.edits.colorbarPosition)l.init({element:ot.node(),gd:t,prepFn:function(){ht=ot.attr("transform"),f(ot)},moveFn:function(t,e){ot.attr("transform",ht+" translate("+t+","+e+")"),pt=l.align(Z+t/k.w,U,0,1,r.xanchor),dt=l.align($-e/k.h,H,0,1,r.yanchor);var n=l.getCursor(pt,dt,r.xanchor,r.yanchor);f(ot,n)},doneFn:function(){f(ot),void 0!==pt&&void 0!==dt&&o.call("restyle",t,{"colorbar.x":pt,"colorbar.y":dt},T().index)}});return gt}function mt(t,e){return c.coerce(Q,tt,w,t,e)}function vt(e,r){var n=T(),i="colorbar.title",a=n._module.colorbar.container;a&&(i=a+"."+i);var o={propContainer:tt,propName:i,traceIndex:n.index,placeholder:m._dfltTitle.colorbar,containerGroup:ot.select(".cbtitle")},s="h"===e.charAt(0)?e.substr(1):"h"+e;ot.selectAll("."+s+",."+s+"-math-group").remove(),d.draw(t,e,u(o,r||{}))}m._infolayer.selectAll("g."+e).remove()}function T(){var r,n,i=e.substr(2);for(r=0;r<t._fullData.length;r++)if((n=t._fullData[r]).uid===i)return n}return r.fillcolor=null,r.line={color:null,width:null,dash:null},r.levels={start:null,end:null,size:null},r.filllevels=null,r.fillgradient=null,r.zrange=null,Object.keys(r).forEach(function(t){A[t]=function(e){return arguments.length?(r[t]=c.isPlainObject(r[t])?c.extendFlat(r[t],e):e,A):r[t]}}),A.options=function(t){for(var e in t)"function"==typeof A[e]&&A[e](t[e]);return A},A._opts=r,A}},{"../../constants/alignment":665,"../../lib":693,"../../lib/extend":682,"../../lib/setcursor":714,"../../lib/svg_text_utils":718,"../../plots/cartesian/axes":742,"../../plots/cartesian/axis_defaults":744,"../../plots/cartesian/layout_attributes":754,"../../plots/cartesian/position_defaults":757,"../../plots/plots":805,"../../registry":825,"../color":567,"../dragelement":589,"../drawing":592,"../titles":658,"./attributes":568,"./constants":570,d3:147,tinycolor2:511}],573:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{"../../lib":693}],574:[function(t,e,r){"use strict";var n=t("./scales.js");Object.keys(n);function i(t){return"`"+t+"`"}e.exports=function(t,e){t=t||"";var r,a=(e=e||{}).cLetter||"c",o=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),s="showScaleDflt"in e?e.showScaleDflt:"z"===a,l="string"==typeof e.colorscaleDflt?n[e.colorscaleDflt]:null,c=e.editTypeOverride||"",u=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):i(u+(r={z:"z",c:"color"}[a]));var f=a+"auto",h=a+"min",p=a+"max",d=(i(u+h),i(u+p),{});d[h]=d[p]=void 0;var g={};g[f]=!1;var m={};return"color"===r&&(m.color={valType:"color",arrayOk:!0,editType:c||"style"}),m[f]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:d},m[h]={valType:"number",dflt:null,editType:c||"plot",impliedEdits:g},m[p]={valType:"number",dflt:null,editType:c||"plot",impliedEdits:g},m.colorscale={valType:"colorscale",editType:"calc",dflt:l,impliedEdits:{autocolorscale:!1}},m.autocolorscale={valType:"boolean",dflt:!1!==e.autoColorDflt,editType:"calc",impliedEdits:{colorscale:void 0}},m.reversescale={valType:"boolean",dflt:!1,editType:"calc"},o||(m.showscale={valType:"boolean",dflt:s,editType:"calc"}),m}},{"./scales.js":586}],575:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./scales"),a=t("./flip_scale");e.exports=function(t,e,r,o){var s=t,l=t._input,c=t._fullInput,u=t.updateStyle;function f(e,n,i){void 0===i&&(i=n),u?u(t._input,r?r+"."+e:e,n):l[e]=n,s[e]=i,c&&t!==t._fullInput&&(u?u(t._fullInput,r?r+"."+e:e,i):c[e]=i)}r&&(s=n.nestedProperty(s,r).get(),l=n.nestedProperty(l,r).get(),c=n.nestedProperty(c,r).get()||{});var h=o+"auto",p=o+"min",d=o+"max",g=s[h],m=s[p],v=s[d],y=s.colorscale;!1===g&&void 0!==m||(m=n.aggNums(Math.min,null,e)),!1===g&&void 0!==v||(v=n.aggNums(Math.max,null,e)),m===v&&(m-=.5,v+=.5),f(p,m),f(d,v),f(h,!1!==g||void 0===m&&void 0===v),s.autocolorscale&&(f("colorscale",y=m*v<0?i.RdBu:m>=0?i.Reds:i.Blues,s.reversescale?a(y):y),l.autocolorscale||f("autocolorscale",!1))}},{"../../lib":693,"./flip_scale":579,"./scales":586}],576:[function(t,e,r){"use strict";var n=t("./scales");e.exports=n.RdBu},{"./scales":586}],577:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../colorbar/has_colorbar"),o=t("../colorbar/defaults"),s=t("./is_valid_scale"),l=t("./flip_scale");e.exports=function(t,e,r,c,u){var f,h=u.prefix,p=u.cLetter,d=h.slice(0,h.length-1),g=h?i.nestedProperty(t,d).get()||{}:t,m=h?i.nestedProperty(e,d).get()||{}:e,v=g[p+"min"],y=g[p+"max"],x=g.colorscale;c(h+p+"auto",!(n(v)&&n(y)&&v<y)),c(h+p+"min"),c(h+p+"max"),void 0!==x&&(f=!s(x)),c(h+"autocolorscale",f);var b,_=c(h+"colorscale");(c(h+"reversescale")&&(m.colorscale=l(_)),"marker.line."!==h)&&(u.noScale||(h&&(b=a(g)),c(h+"showscale",b)&&o(g,m,r)))}},{"../../lib":693,"../colorbar/defaults":571,"../colorbar/has_colorbar":573,"./flip_scale":579,"./is_valid_scale":583,"fast-isnumeric":213}],578:[function(t,e,r){"use strict";e.exports=function(t,e,r){for(var n=t.length,i=new Array(n),a=new Array(n),o=0;o<n;o++){var s=t[o];i[o]=e+s[0]*(r-e),a[o]=s[1]}return{domain:i,range:a}}},{}],579:[function(t,e,r){"use strict";e.exports=function(t){for(var e,r=t.length,n=new Array(r),i=r-1,a=0;i>=0;i--,a++)e=t[i],n[a]=[1-e[0],e[1]];return n}},{}],580:[function(t,e,r){"use strict";var n=t("./scales"),i=t("./default_scale"),a=t("./is_valid_scale_array");e.exports=function(t,e){if(e||(e=i),!t)return e;function r(){try{t=n[t]||JSON.parse(t)}catch(r){t=e}}return"string"==typeof t&&(r(),"string"==typeof t&&r()),a(t)?t:e}},{"./default_scale":576,"./is_valid_scale_array":584,"./scales":586}],581:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("./is_valid_scale");e.exports=function(t,e){var r=e?i.nestedProperty(t,e).get()||{}:t,o=r.color,s=!1;if(i.isArrayOrTypedArray(o))for(var l=0;l<o.length;l++)if(n(o[l])){s=!0;break}return i.isPlainObject(r)&&(s||!0===r.showscale||n(r.cmin)&&n(r.cmax)||a(r.colorscale)||i.isPlainObject(r.colorbar))}},{"../../lib":693,"./is_valid_scale":583,"fast-isnumeric":213}],582:[function(t,e,r){"use strict";r.scales=t("./scales"),r.defaultScale=t("./default_scale"),r.attributes=t("./attributes"),r.handleDefaults=t("./defaults"),r.calc=t("./calc"),r.hasColorscale=t("./has_colorscale"),r.isValidScale=t("./is_valid_scale"),r.getScale=t("./get_scale"),r.flipScale=t("./flip_scale"),r.extractScale=t("./extract_scale"),r.makeColorScaleFunc=t("./make_color_scale_func")},{"./attributes":574,"./calc":575,"./default_scale":576,"./defaults":577,"./extract_scale":578,"./flip_scale":579,"./get_scale":580,"./has_colorscale":581,"./is_valid_scale":583,"./make_color_scale_func":585,"./scales":586}],583:[function(t,e,r){"use strict";var n=t("./scales"),i=t("./is_valid_scale_array");e.exports=function(t){return void 0!==n[t]||i(t)}},{"./is_valid_scale_array":584,"./scales":586}],584:[function(t,e,r){"use strict";var n=t("tinycolor2");e.exports=function(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!=+t[0][0]||1!=+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var i=t[r];if(2!==i.length||+i[0]<e||!n(i[1]).isValid())return!1;e=+i[0]}return!0}},{tinycolor2:511}],585:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("fast-isnumeric"),o=t("../color");function s(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return i(e).toRgbString()}e.exports=function(t,e){e=e||{};for(var r=t.domain,l=t.range,c=l.length,u=new Array(c),f=0;f<c;f++){var h=i(l[f]).toRgb();u[f]=[h.r,h.g,h.b,h.a]}var p,d=n.scale.linear().domain(r).range(u).clamp(!0),g=e.noNumericCheck,m=e.returnArray;return(p=g&&m?d:g?function(t){return s(d(t))}:m?function(t){return a(t)?d(t):i(t).isValid()?t:o.defaultLine}:function(t){return a(t)?s(d(t)):i(t).isValid()?t:o.defaultLine}).domain=d.domain,p.range=function(){return l},p}},{"../color":567,d3:147,"fast-isnumeric":213,tinycolor2:511}],586:[function(t,e,r){"use strict";e.exports={Greys:[[0,"rgb(0,0,0)"],[1,"rgb(255,255,255)"]],YlGnBu:[[0,"rgb(8,29,88)"],[.125,"rgb(37,52,148)"],[.25,"rgb(34,94,168)"],[.375,"rgb(29,145,192)"],[.5,"rgb(65,182,196)"],[.625,"rgb(127,205,187)"],[.75,"rgb(199,233,180)"],[.875,"rgb(237,248,217)"],[1,"rgb(255,255,217)"]],Greens:[[0,"rgb(0,68,27)"],[.125,"rgb(0,109,44)"],[.25,"rgb(35,139,69)"],[.375,"rgb(65,171,93)"],[.5,"rgb(116,196,118)"],[.625,"rgb(161,217,155)"],[.75,"rgb(199,233,192)"],[.875,"rgb(229,245,224)"],[1,"rgb(247,252,245)"]],YlOrRd:[[0,"rgb(128,0,38)"],[.125,"rgb(189,0,38)"],[.25,"rgb(227,26,28)"],[.375,"rgb(252,78,42)"],[.5,"rgb(253,141,60)"],[.625,"rgb(254,178,76)"],[.75,"rgb(254,217,118)"],[.875,"rgb(255,237,160)"],[1,"rgb(255,255,204)"]],Bluered:[[0,"rgb(0,0,255)"],[1,"rgb(255,0,0)"]],RdBu:[[0,"rgb(5,10,172)"],[.35,"rgb(106,137,247)"],[.5,"rgb(190,190,190)"],[.6,"rgb(220,170,132)"],[.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],Reds:[[0,"rgb(220,220,220)"],[.2,"rgb(245,195,157)"],[.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],Blues:[[0,"rgb(5,10,172)"],[.35,"rgb(40,60,190)"],[.5,"rgb(70,100,245)"],[.6,"rgb(90,120,245)"],[.7,"rgb(106,137,247)"],[1,"rgb(220,220,220)"]],Picnic:[[0,"rgb(0,0,255)"],[.1,"rgb(51,153,255)"],[.2,"rgb(102,204,255)"],[.3,"rgb(153,204,255)"],[.4,"rgb(204,204,255)"],[.5,"rgb(255,255,255)"],[.6,"rgb(255,204,255)"],[.7,"rgb(255,153,255)"],[.8,"rgb(255,102,204)"],[.9,"rgb(255,102,102)"],[1,"rgb(255,0,0)"]],Rainbow:[[0,"rgb(150,0,90)"],[.125,"rgb(0,0,200)"],[.25,"rgb(0,25,255)"],[.375,"rgb(0,152,255)"],[.5,"rgb(44,255,150)"],[.625,"rgb(151,255,0)"],[.75,"rgb(255,234,0)"],[.875,"rgb(255,111,0)"],[1,"rgb(255,0,0)"]],Portland:[[0,"rgb(12,51,131)"],[.25,"rgb(10,136,186)"],[.5,"rgb(242,211,56)"],[.75,"rgb(242,143,56)"],[1,"rgb(217,30,30)"]],Jet:[[0,"rgb(0,0,131)"],[.125,"rgb(0,60,170)"],[.375,"rgb(5,255,255)"],[.625,"rgb(255,255,0)"],[.875,"rgb(250,0,0)"],[1,"rgb(128,0,0)"]],Hot:[[0,"rgb(0,0,0)"],[.3,"rgb(230,0,0)"],[.6,"rgb(255,210,0)"],[1,"rgb(255,255,255)"]],Blackbody:[[0,"rgb(0,0,0)"],[.2,"rgb(230,0,0)"],[.4,"rgb(230,210,0)"],[.7,"rgb(255,255,255)"],[1,"rgb(160,200,255)"]],Earth:[[0,"rgb(0,0,130)"],[.1,"rgb(0,180,180)"],[.2,"rgb(40,210,40)"],[.4,"rgb(230,230,50)"],[.6,"rgb(120,70,20)"],[1,"rgb(255,255,255)"]],Electric:[[0,"rgb(0,0,0)"],[.15,"rgb(30,0,100)"],[.4,"rgb(120,0,100)"],[.6,"rgb(160,90,0)"],[.8,"rgb(230,200,0)"],[1,"rgb(255,250,220)"]],Viridis:[[0,"#440154"],[.06274509803921569,"#48186a"],[.12549019607843137,"#472d7b"],[.18823529411764706,"#424086"],[.25098039215686274,"#3b528b"],[.3137254901960784,"#33638d"],[.3764705882352941,"#2c728e"],[.4392156862745098,"#26828e"],[.5019607843137255,"#21918c"],[.5647058823529412,"#1fa088"],[.6274509803921569,"#28ae80"],[.6901960784313725,"#3fbc73"],[.7529411764705882,"#5ec962"],[.8156862745098039,"#84d44b"],[.8784313725490196,"#addc30"],[.9411764705882353,"#d8e219"],[1,"#fde725"]],Cividis:[[0,"rgb(0,32,76)"],[.058824,"rgb(0,42,102)"],[.117647,"rgb(0,52,110)"],[.176471,"rgb(39,63,108)"],[.235294,"rgb(60,74,107)"],[.294118,"rgb(76,85,107)"],[.352941,"rgb(91,95,109)"],[.411765,"rgb(104,106,112)"],[.470588,"rgb(117,117,117)"],[.529412,"rgb(131,129,120)"],[.588235,"rgb(146,140,120)"],[.647059,"rgb(161,152,118)"],[.705882,"rgb(176,165,114)"],[.764706,"rgb(192,177,109)"],[.823529,"rgb(209,191,102)"],[.882353,"rgb(225,204,92)"],[.941176,"rgb(243,219,79)"],[1,"rgb(255,233,69)"]]}},{}],587:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){var a=(t-r)/(n-r),o=a+e/(n-r),s=(a+o)/2;return"left"===i||"bottom"===i?a:"center"===i||"middle"===i?s:"right"===i||"top"===i?o:a<2/3-s?a:o>4/3-s?o:s}},{}],588:[function(t,e,r){"use strict";var n=t("../../lib"),i=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];e.exports=function(t,e,r,a){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===a?0:"middle"===a?1:"top"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},{"../../lib":693}],589:[function(t,e,r){"use strict";var n=t("mouse-event-offset"),i=t("has-hover"),a=t("has-passive-events"),o=t("../../registry"),s=t("../../lib"),l=t("../../plots/cartesian/constants"),c=t("../../constants/interactions"),u=e.exports={};u.align=t("./align"),u.getCursor=t("./cursor");var f=t("./unhover");function h(){var t=document.createElement("div");t.className="dragcover";var e=t.style;return e.position="fixed",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background="none",document.body.appendChild(t),t}function p(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}u.unhover=f.wrapped,u.unhoverRaw=f.raw,u.init=function(t){var e,r,n,f,d,g,m,v,y=t.gd,x=1,b=c.DBLCLICKDELAY,_=t.element;y._mouseDownTime||(y._mouseDownTime=0),_.style.pointerEvents="all",_.onmousedown=k,a?(_._ontouchstart&&_.removeEventListener("touchstart",_._ontouchstart),_._ontouchstart=k,_.addEventListener("touchstart",k,{passive:!1})):_.ontouchstart=k;var w=t.clampFn||function(t,e,r){return Math.abs(t)<r&&(t=0),Math.abs(e)<r&&(e=0),[t,e]};function k(a){a.preventDefault(),y._dragged=!1,y._dragging=!0;var o=p(a);e=o[0],r=o[1],m=a.target,g=a,v=2===a.buttons||a.ctrlKey,"undefined"==typeof a.clientX&&"undefined"==typeof a.clientY&&(a.clientX=e,a.clientY=r),(n=(new Date).getTime())-y._mouseDownTime<b?x+=1:(x=1,y._mouseDownTime=n),t.prepFn&&t.prepFn(a,e,r),i&&!v?(d=h()).style.cursor=window.getComputedStyle(_).cursor:i||(d=document,f=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(_).cursor),document.addEventListener("mousemove",M),document.addEventListener("mouseup",A),document.addEventListener("touchmove",M),document.addEventListener("touchend",A)}function M(n){n.preventDefault();var i=p(n),a=t.minDrag||l.MINDRAG,o=w(i[0]-e,i[1]-r,a),s=o[0],c=o[1];(s||c)&&(y._dragged=!0,u.unhover(y)),y._dragged&&t.moveFn&&!v&&t.moveFn(s,c)}function A(e){if(document.removeEventListener("mousemove",M),document.removeEventListener("mouseup",A),document.removeEventListener("touchmove",M),document.removeEventListener("touchend",A),e.preventDefault(),i?s.removeElement(d):f&&(d.documentElement.style.cursor=f,f=null),y._dragging){if(y._dragging=!1,(new Date).getTime()-y._mouseDownTime>b&&(x=Math.max(x-1,1)),y._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(x,g),!v){var r;try{r=new MouseEvent("click",e)}catch(t){var n=p(e);(r=document.createEvent("MouseEvents")).initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}m.dispatchEvent(r)}!function(t){t._dragging=!1,t._replotPending&&o.call("plot",t)}(y),y._dragged=!1}else y._dragged=!1}},u.coverSlip=h},{"../../constants/interactions":669,"../../lib":693,"../../plots/cartesian/constants":747,"../../registry":825,"./align":587,"./cursor":588,"./unhover":590,"has-hover":391,"has-passive-events":392,"mouse-event-offset":416}],590:[function(t,e,r){"use strict";var n=t("../../lib/events"),i=t("../../lib/throttle"),a=t("../../lib/get_graph_div"),o=t("../fx/constants"),s=e.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!1===n.triggerHandler(t,"plotly_beforehover",e)||(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,e.target&&i&&t.emit("plotly_unhover",{event:e,points:i}))}},{"../../lib/events":681,"../../lib/get_graph_div":688,"../../lib/throttle":719,"../fx/constants":604}],591:[function(t,e,r){"use strict";r.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"}},{}],592:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("tinycolor2"),o=t("../../registry"),s=t("../color"),l=t("../colorscale"),c=t("../../lib"),u=t("../../lib/svg_text_utils"),f=t("../../constants/xmlns_namespaces"),h=t("../../constants/alignment").LINE_SPACING,p=t("../../constants/interactions").DESELECTDIM,d=t("../../traces/scatter/subtypes"),g=t("../../traces/scatter/make_bubble_size_func"),m=e.exports={};m.font=function(t,e,r,n){c.isPlainObject(e)&&(n=e.color,r=e.size,e=e.family),e&&t.style("font-family",e),r+1&&t.style("font-size",r+"px"),n&&t.call(s.fill,n)},m.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},m.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},m.setRect=function(t,e,r,n,i){t.call(m.setPosition,e,r).call(m.setSize,n,i)},m.translatePoint=function(t,e,r,n){var a=r.c2p(t.x),o=n.c2p(t.y);return!!(i(a)&&i(o)&&e.node())&&("text"===e.node().nodeName?e.attr("x",a).attr("y",o):e.attr("transform","translate("+a+","+o+")"),!0)},m.translatePoints=function(t,e,r){t.each(function(t){var i=n.select(this);m.translatePoint(t,i,e,r)})},m.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr("display",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:"none")},m.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each(function(e){var a=e[0].trace,o=a.xcalendar,s=a.ycalendar,l="bar"===a.type?".bartext":".point,.textpoint";t.selectAll(l).each(function(t){m.hideOutsideRangePoint(t,n.select(this),r,i,o,s)})})}},m.crispRound=function(t,e,r){return e&&i(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},m.singleLineStyle=function(t,e,r,n,i){e.style("fill","none");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,l=i||a.dash||"";s.stroke(e,n||a.color),m.dashLine(e,l,o)},m.lineGroupStyle=function(t,e,r,i){t.style("fill","none").each(function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,l=i||a.dash||"";n.select(this).call(s.stroke,r||a.color).call(m.dashLine,l,o)})},m.dashLine=function(t,e,r){r=+r||0,e=m.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},m.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return"solid"===t?t="":"dot"===t?t=r+"px,"+r+"px":"dash"===t?t=3*r+"px,"+3*r+"px":"longdash"===t?t=5*r+"px,"+5*r+"px":"dashdot"===t?t=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===t&&(t=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t},m.singleFillStyle=function(t){var e=(((n.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&&t.call(s.fill,e)},m.fillGroupStyle=function(t){t.style("stroke-width",0).each(function(e){var r=n.select(this);try{r.call(s.fill,e[0].trace.fillcolor)}catch(e){c.error(e,t),r.remove()}})};var v=t("./symbol_defs");m.symbolNames=[],m.symbolFuncs=[],m.symbolNeedLines={},m.symbolNoDot={},m.symbolNoFill={},m.symbolList=[],Object.keys(v).forEach(function(t){var e=v[t];m.symbolList=m.symbolList.concat([e.n,t,e.n+100,t+"-open"]),m.symbolNames[e.n]=t,m.symbolFuncs[e.n]=e.f,e.needLine&&(m.symbolNeedLines[e.n]=!0),e.noDot?m.symbolNoDot[e.n]=!0:m.symbolList=m.symbolList.concat([e.n+200,t+"-dot",e.n+300,t+"-open-dot"]),e.noFill&&(m.symbolNoFill[e.n]=!0)});var y=m.symbolNames.length,x="M0,0.5L0.5,0L0,-0.5L-0.5,0Z";function b(t,e){var r=t%100;return m.symbolFuncs[r](e)+(t>=200?x:"")}m.symbolNumber=function(t){if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),(t=m.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=y||t>=400?0:Math.floor(Math.max(t,0))};var _={x1:1,x2:0,y1:0,y2:0},w={x1:0,x2:0,y1:1,y2:0},k=n.format("~.1f"),M={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:!0},horizontal:{node:"linearGradient",attrs:_},horizontalreversed:{node:"linearGradient",attrs:_,reversed:!0},vertical:{node:"linearGradient",attrs:w},verticalreversed:{node:"linearGradient",attrs:w,reversed:!0}};m.gradient=function(t,e,r,i,o,l){for(var u=o.length,f=M[i],h=new Array(u),p=0;p<u;p++)f.reversed?h[u-1-p]=[k(100*(1-o[p][0])),o[p][1]]:h[p]=[k(100*o[p][0]),o[p][1]];var d="g"+e._fullLayout._uid+"-"+r,g=e._fullLayout._defs.select(".gradients").selectAll("#"+d).data([i+h.join(";")],c.identity);g.exit().remove(),g.enter().append(f.node).each(function(){var t=n.select(this);f.attrs&&t.attr(f.attrs),t.attr("id",d);var e=t.selectAll("stop").data(h);e.exit().remove(),e.enter().append("stop"),e.each(function(t){var e=a(t[1]);n.select(this).attr({offset:t[0]+"%","stop-color":s.tinyRGB(e),"stop-opacity":e.getAlpha()})})}),t.style(l,"url(#"+d+")").style(l+"-opacity",null)},m.initGradients=function(t){c.ensureSingle(t._fullLayout._defs,"g","gradients").selectAll("linearGradient,radialGradient").remove()},m.pointStyle=function(t,e,r){if(t.size()){var i=m.makePointStyleFns(e);t.each(function(t){m.singlePointStyle(t,n.select(this),e,i,r)})}},m.singlePointStyle=function(t,e,r,n,i){var a=r.marker,o=a.line;if(e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?a.opacity:t.mo),n.ms2mrc){var l;l="various"===t.ms||"various"===a.size?3:n.ms2mrc(t.ms),t.mrc=l,n.selectedSizeFn&&(l=t.mrc=n.selectedSizeFn(t));var u=m.symbolNumber(t.mx||a.symbol)||0;t.om=u%200>=100,e.attr("d",b(u,l))}var f,h,p,d=!1;if(t.so)p=o.outlierwidth,h=o.outliercolor,f=a.outliercolor;else{var g=(o||{}).width;p=(t.mlw+1||g+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,h="mlc"in t?t.mlcc=n.lineScale(t.mlc):c.isArrayOrTypedArray(o.color)?s.defaultLine:o.color,c.isArrayOrTypedArray(a.color)&&(f=s.defaultLine,d=!0),f="mc"in t?t.mcc=n.markerScale(t.mc):a.color||"rgba(0,0,0,0)",n.selectedColorFn&&(f=n.selectedColorFn(t))}if(t.om)e.call(s.stroke,f).style({"stroke-width":(p||1)+"px",fill:"none"});else{e.style("stroke-width",p+"px");var v=a.gradient,y=t.mgt;if(y?d=!0:y=v&&v.type,Array.isArray(y)&&(y=y[0],M[y]||(y=0)),y&&"none"!==y){var x=t.mgc;x?d=!0:x=v.color;var _=r.uid;d&&(_+="-"+t.i),m.gradient(e,i,_,y,[[0,x],[1,f]],"fill")}else s.fill(e,f);p&&s.stroke(e,h)}},m.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=m.tryColorscale(r,""),e.lineScale=m.tryColorscale(r,"line"),o.traceIs(t,"symbols")&&(e.ms2mrc=d.isBubble(t)?g(t):function(){return(r.size||6)/2}),t.selectedpoints&&c.extendFlat(e,m.makeSelectedPointStyleFns(t)),e},m.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.marker||{},a=r.marker||{},s=n.marker||{},l=i.opacity,u=a.opacity,f=s.opacity,h=void 0!==u,d=void 0!==f;(c.isArrayOrTypedArray(l)||h||d)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?i.opacity:t.mo;return t.selected?h?u:e:d?f:p*e});var g=i.color,m=a.color,v=s.color;(m||v)&&(e.selectedColorFn=function(t){var e=t.mcc||g;return t.selected?m||e:v||e});var y=i.size,x=a.size,b=s.size,_=void 0!==x,w=void 0!==b;return o.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||y/2;return t.selected?_?x/2:e:w?b/2:e}),e},m.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},l=i.color,c=a.color,u=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||l;return t.selected?c||e:u||(c?e:s.addOpacity(e,p))},e},m.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push(function(t,e){t.style("opacity",r.selectedOpacityFn(e))}),r.selectedColorFn&&a.push(function(t,e){s.fill(t,r.selectedColorFn(e))}),r.selectedSizeFn&&a.push(function(t,e){var n=e.mx||i.symbol||0,a=r.selectedSizeFn(e);t.attr("d",b(m.symbolNumber(n),a)),e.mrc2=a}),a.length&&t.each(function(t){for(var e=n.select(this),r=0;r<a.length;r++)a[r](e,t)})}},m.tryColorscale=function(t,e){var r=e?c.nestedProperty(t,e).get():t;if(r){var n=r.colorscale,i=r.color;if(n&&c.isArrayOrTypedArray(i))return l.makeColorScaleFunc(l.extractScale(n,r.cmin,r.cmax))}return c.identity};var A={start:1,end:-1,middle:0,bottom:1,top:-1};function T(t,e,r,i){var a=n.select(t.node().parentNode),o=-1!==e.indexOf("top")?"top":-1!==e.indexOf("bottom")?"bottom":"middle",s=-1!==e.indexOf("left")?"end":-1!==e.indexOf("right")?"start":"middle",l=i?i/.8+1:0,c=(u.lineCount(t)-1)*h+1,f=A[s]*l,p=.75*r+A[o]*l+(A[o]-1)*c*r/2;t.attr("text-anchor",s),a.attr("transform","translate("+f+","+p+")")}function S(t,e){var r=t.ts||e.textfont.size;return i(r)&&r>0?r:0}m.textPointStyle=function(t,e,r){if(t.size()){var i;if(e.selectedpoints){var a=m.makeSelectedTextStyleFns(e);i=a.selectedTextColorFn}t.each(function(t){var a=n.select(this),o=c.extractOption(t,e,"tx","text");if(o||0===o){var s=t.tp||e.textposition,l=S(t,e),f=i?i(t):t.tc||e.textfont.color;a.call(m.font,t.tf||e.textfont.family,l,f).text(o).call(u.convertToTspans,r).call(T,s,l,t.mrc)}else a.remove()})}},m.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedTextStyleFns(e);t.each(function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,l=S(t,e);s.fill(i,a),T(i,o,l,t.mrc2||t.mrc)})}};var E=.5;function C(t,e,r,i){var a=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],c=Math.pow(a*a+o*o,E/2),u=Math.pow(s*s+l*l,E/2),f=(u*u*a-c*c*s)*i,h=(u*u*o-c*c*l)*i,p=3*u*(c+u),d=3*c*(c+u);return[[n.round(e[0]+(p&&f/p),2),n.round(e[1]+(p&&h/p),2)],[n.round(e[0]-(d&&f/d),2),n.round(e[1]-(d&&h/d),2)]]}m.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],i=[];for(r=1;r<t.length-1;r++)i.push(C(t[r-1],t[r],t[r+1],e));for(n+="Q"+i[0][0]+" "+t[1],r=2;r<t.length-1;r++)n+="C"+i[r-2][1]+" "+i[r-1][0]+" "+t[r];return n+="Q"+i[t.length-3][1]+" "+t[t.length-1]},m.smoothclosed=function(t,e){if(t.length<3)return"M"+t.join("L")+"Z";var r,n="M"+t[0],i=t.length-1,a=[C(t[i],t[0],t[1],e)];for(r=1;r<i;r++)a.push(C(t[r-1],t[r],t[r+1],e));for(a.push(C(t[i-1],t[i],t[0],e)),r=1;r<=i;r++)n+="C"+a[r-1][1]+" "+a[r][0]+" "+t[r];return n+="C"+a[i][1]+" "+a[0][0]+" "+t[0]+"Z"};var L={hv:function(t,e){return"H"+n.round(e[0],2)+"V"+n.round(e[1],2)},vh:function(t,e){return"V"+n.round(e[1],2)+"H"+n.round(e[0],2)},hvh:function(t,e){return"H"+n.round((t[0]+e[0])/2,2)+"V"+n.round(e[1],2)+"H"+n.round(e[0],2)},vhv:function(t,e){return"V"+n.round((t[1]+e[1])/2,2)+"H"+n.round(e[0],2)+"V"+n.round(e[1],2)}},z=function(t,e){return"L"+n.round(e[0],2)+","+n.round(e[1],2)};m.steps=function(t){var e=L[t]||z;return function(t){for(var r="M"+n.round(t[0][0],2)+","+n.round(t[0][1],2),i=1;i<t.length;i++)r+=e(t[i-1],t[i]);return r}},m.makeTester=function(){var t=c.ensureSingleById(n.select("body"),"svg","js-plotly-tester",function(t){t.attr(f.svgAttrs).style({position:"absolute",left:"-10000px",top:"-10000px",width:"9000px",height:"9000px","z-index":"1"})}),e=c.ensureSingle(t,"path","js-reference-point",function(t){t.attr("d","M0,0H1V1H0Z").style({"stroke-width":0,fill:"black"})});m.tester=t,m.testref=e},m.savedBBoxes={};var P=0;function O(t){var e=t.getAttribute("data-unformatted");if(null!==e)return e+t.getAttribute("data-math")+t.getAttribute("text-anchor")+t.getAttribute("style")}m.bBox=function(t,e,r){var i,a,o;if(r||(r=O(t)),r){if(i=m.savedBBoxes[r])return c.extendFlat({},i)}else if(1===t.childNodes.length){var s=t.childNodes[0];if(r=O(s)){var l=+s.getAttribute("x")||0,f=+s.getAttribute("y")||0,h=s.getAttribute("transform");if(!h){var p=m.bBox(s,!1,r);return l&&(p.left+=l,p.right+=l),f&&(p.top+=f,p.bottom+=f),p}if(r+="~"+l+"~"+f+"~"+h,i=m.savedBBoxes[r])return c.extendFlat({},i)}}e?a=t:(o=m.tester.node(),a=t.cloneNode(!0),o.appendChild(a)),n.select(a).attr("transform",null).call(u.positionText,0,0);var d=a.getBoundingClientRect(),g=m.testref.node().getBoundingClientRect();e||o.removeChild(a);var v={height:d.height,width:d.width,left:d.left-g.left,top:d.top-g.top,right:d.right-g.left,bottom:d.bottom-g.top};return P>=1e4&&(m.savedBBoxes={},P=0),r&&(m.savedBBoxes[r]=v),P++,c.extendFlat({},v)},m.setClipUrl=function(t,e){if(e){if(void 0===m.baseUrl){var r=n.select("base");r.size()&&r.attr("href")?m.baseUrl=window.location.href.split("#")[0]:m.baseUrl=""}t.attr("clip-path","url("+m.baseUrl+"#"+e+")")}else t.attr("clip-path",null)},m.getTranslate=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,function(t,e,r){return[e,r].join(" ")}).split(" ");return{x:+e[0]||0,y:+e[1]||0}},m.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,"").trim(),a=(a+=" translate("+e+", "+r+")").trim(),t[i]("transform",a),a},m.getScale=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,function(t,e,r){return[e,r].join(" ")}).split(" ");return{x:+e[0]||1,y:+e[1]||1}},m.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,"").trim(),a=(a+=" scale("+e+", "+r+")").trim(),t[i]("transform",a),a};var I=/\s*sc.*/;m.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?"":" scale("+e+","+r+")";t.each(function(){var t=(this.getAttribute("transform")||"").replace(I,"");t=(t+=n).trim(),this.setAttribute("transform",t)})}};var D=/translate\([^)]*\)\s*$/;m.setTextPointsScale=function(t,e,r){t&&t.each(function(){var t,i=n.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(D);t=1===e&&1===r?[]:["translate("+o+","+s+")","scale("+e+","+r+")","translate("+-o+","+-s+")"],l&&t.push(l),i.attr("transform",t.join(" "))}})}},{"../../constants/alignment":665,"../../constants/interactions":669,"../../constants/xmlns_namespaces":671,"../../lib":693,"../../lib/svg_text_utils":718,"../../registry":825,"../../traces/scatter/make_bubble_size_func":1049,"../../traces/scatter/subtypes":1056,"../color":567,"../colorscale":582,"./symbol_defs":593,d3:147,"fast-isnumeric":213,tinycolor2:511}],593:[function(t,e,r){"use strict";var n=t("d3");e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"}},square:{n:1,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"Z"}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H"+e+"V"+r+"H-"+e+"V"+e+"H-"+r+"V-"+e+"H-"+e+"V-"+r+"H"+e+"V-"+e+"H"+r+"Z"}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r="l"+e+","+e,i="l"+e+",-"+e,a="l-"+e+",-"+e,o="l-"+e+","+e;return"M0,"+e+r+i+a+i+a+o+a+o+r+o+r+"Z"}},"triangle-up":{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+","+n.round(t/2,2)+"H"+e+"L0,-"+n.round(t,2)+"Z"}},"triangle-down":{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+",-"+n.round(t/2,2)+"H"+e+"L0,"+n.round(t,2)+"Z"}},"triangle-left":{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M"+n.round(t/2,2)+",-"+e+"V"+e+"L-"+n.round(t,2)+",0Z"}},"triangle-right":{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+n.round(t/2,2)+",-"+e+"V"+e+"L"+n.round(t,2)+",0Z"}},"triangle-ne":{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+r+",-"+e+"H"+e+"V"+r+"Z"}},"triangle-se":{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+e+",-"+r+"V"+e+"H-"+r+"Z"}},"triangle-sw":{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H-"+e+"V-"+r+"Z"}},"triangle-nw":{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+e+","+r+"V-"+e+"H"+r+"Z"}},pentagon:{n:13,f:function(t){var e=n.round(.951*t,2),r=n.round(.588*t,2),i=n.round(-t,2),a=n.round(-.309*t,2);return"M"+e+","+a+"L"+r+","+n.round(.809*t,2)+"H-"+r+"L-"+e+","+a+"L0,"+i+"Z"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return"M"+i+",-"+r+"V"+r+"L0,"+e+"L-"+i+","+r+"V-"+r+"L0,-"+e+"Z"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return"M-"+r+","+i+"H"+r+"L"+e+",0L"+r+",-"+i+"H-"+r+"L-"+e+",0Z"}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return"M-"+r+",-"+e+"H"+r+"L"+e+",-"+r+"V"+r+"L"+r+","+e+"H-"+r+"L-"+e+","+r+"V-"+r+"Z"}},star:{n:17,f:function(t){var e=1.4*t,r=n.round(.225*e,2),i=n.round(.951*e,2),a=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(-.309*e,2),c=n.round(.118*e,2),u=n.round(.809*e,2);return"M"+r+","+l+"H"+i+"L"+a+","+c+"L"+o+","+u+"L0,"+n.round(.382*e,2)+"L-"+o+","+u+"L-"+a+","+c+"L-"+i+","+l+"H-"+r+"L0,"+s+"Z"}},hexagram:{n:18,f:function(t){var e=n.round(.66*t,2),r=n.round(.38*t,2),i=n.round(.76*t,2);return"M-"+i+",0l-"+r+",-"+e+"h"+i+"l"+r+",-"+e+"l"+r+","+e+"h"+i+"l-"+r+","+e+"l"+r+","+e+"h-"+i+"l-"+r+","+e+"l-"+r+",-"+e+"h-"+i+"Z"}},"star-triangle-up":{n:19,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o="A "+a+","+a+" 0 0 1 ";return"M-"+e+","+r+o+e+","+r+o+"0,-"+i+o+"-"+e+","+r+"Z"}},"star-triangle-down":{n:20,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o="A "+a+","+a+" 0 0 1 ";return"M"+e+",-"+r+o+"-"+e+",-"+r+o+"0,"+i+o+e+",-"+r+"Z"}},"star-square":{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),i="A "+r+","+r+" 0 0 1 ";return"M-"+e+",-"+e+i+"-"+e+","+e+i+e+","+e+i+e+",-"+e+i+"-"+e+",-"+e+"Z"}},"star-diamond":{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),i="A "+r+","+r+" 0 0 1 ";return"M-"+e+",0"+i+"0,"+e+i+e+",0"+i+"0,-"+e+i+"-"+e+",0Z"}},"diamond-tall":{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},"diamond-wide":{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"L"+e+",-"+e+"H-"+e+"Z"},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"V-"+e+"L-"+e+","+e+"V-"+e+"Z"},noDot:!0},"circle-cross":{n:27,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"square-x":{n:30,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM0,-"+e+"V"+e+"M-"+e+",0H"+e},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM-"+r+",-"+r+"L"+r+","+r+"M-"+r+","+r+"L"+r+",-"+r},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var e=n.round(1.2*t,2),r=n.round(.85*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var e=n.round(t/2,2),r=n.round(t,2);return"M"+e+","+r+"V-"+r+"m-"+r+",0V"+r+"M"+r+","+e+"H-"+r+"m0,-"+r+"H"+r},needLine:!0,noFill:!0},"y-up":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M-"+e+","+i+"L0,0M"+e+","+i+"L0,0M0,-"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M-"+e+",-"+i+"L0,0M"+e+",-"+i+"L0,0M0,"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M"+i+","+e+"L0,0M"+i+",-"+e+"L0,0M-"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M-"+i+","+e+"L0,0M-"+i+",-"+e+"L0,0M"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(t){var e=n.round(1.4*t,2);return"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(t){var e=n.round(t,2);return"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e},needLine:!0,noDot:!0,noFill:!0}}},{d3:147}],594:[function(t,e,r){"use strict";e.exports={visible:{valType:"boolean",editType:"calc"},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc"},symmetric:{valType:"boolean",editType:"calc"},array:{valType:"data_array",editType:"calc"},arrayminus:{valType:"data_array",editType:"calc"},value:{valType:"number",min:0,dflt:10,editType:"calc"},valueminus:{valType:"number",min:0,dflt:10,editType:"calc"},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style"},thickness:{valType:"number",min:0,dflt:2,editType:"style"},width:{valType:"number",min:0,editType:"plot"},editType:"calc",_deprecated:{opacity:{valType:"number",editType:"style"}}}},{}],595:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../registry"),a=t("../../plots/cartesian/axes"),o=t("./compute_error");function s(t,e,r,i){var s=e["error_"+i]||{},l=[];if(s.visible&&-1!==["linear","log"].indexOf(r.type)){for(var c=o(s),u=0;u<t.length;u++){var f=t[u],h=f.i;if(void 0===h)h=u;else if(null===h)continue;var p=f[i];if(n(r.c2l(p))){var d=c(p,h);if(n(d[0])&&n(d[1])){var g=f[i+"s"]=p-d[0],m=f[i+"h"]=p+d[1];l.push(g,m)}}}var v=a.findExtremes(r,l,{padded:!0}),y=r._id;e._extremes[y].min=e._extremes[y].min.concat(v.min),e._extremes[y].max=e._extremes[y].max.concat(v.max)}}e.exports=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var n=e[r],o=n[0].trace;if(!0===o.visible&&i.traceIs(o,"errorBarsOK")){var l=a.getFromId(t,o.xaxis),c=a.getFromId(t,o.yaxis);s(n,o,l,"x"),s(n,o,c,"y")}}}},{"../../plots/cartesian/axes":742,"../../registry":825,"./compute_error":596,"fast-isnumeric":213}],596:[function(t,e,r){"use strict";function n(t,e){return"percent"===t?function(t){return Math.abs(t*e/100)}:"constant"===t?function(){return Math.abs(e)}:"sqrt"===t?function(t){return Math.sqrt(Math.abs(t))}:void 0}e.exports=function(t){var e=t.type,r=t.symmetric;if("data"===e){var i=t.array||[];if(r)return function(t,e){var r=+i[e];return[r,r]};var a=t.arrayminus||[];return function(t,e){var r=+i[e],n=+a[e];return isNaN(r)&&isNaN(n)?[NaN,NaN]:[n||0,r||0]}}var o=n(e,t.value),s=n(e,t.valueminus);return r||void 0===t.valueminus?function(t){var e=o(t);return[e,e]}:function(t){return[s(t),o(t)]}}},{}],597:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../registry"),a=t("../../lib"),o=t("../../plot_api/plot_template"),s=t("./attributes");e.exports=function(t,e,r,l){var c="error_"+l.axis,u=o.newContainer(e,c),f=t[c]||{};function h(t,e){return a.coerce(f,u,s,t,e)}if(!1!==h("visible",void 0!==f.array||void 0!==f.value||"sqrt"===f.type)){var p=h("type","array"in f?"data":"percent"),d=!0;"sqrt"!==p&&(d=h("symmetric",!(("data"===p?"arrayminus":"valueminus")in f))),"data"===p?(h("array"),h("traceref"),d||(h("arrayminus"),h("tracerefminus"))):"percent"!==p&&"constant"!==p||(h("value"),d||h("valueminus"));var g="copy_"+l.inherit+"style";if(l.inherit)(e["error_"+l.inherit]||{}).visible&&h(g,!(f.color||n(f.thickness)||n(f.width)));l.inherit&&u[g]||(h("color",r),h("thickness"),h("width",i.traceIs(e,"gl3d")?0:4))}}},{"../../lib":693,"../../plot_api/plot_template":732,"../../registry":825,"./attributes":594,"fast-isnumeric":213}],598:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plot_api/edit_types").overrideAll,a=t("./attributes"),o={error_x:n.extendFlat({},a),error_y:n.extendFlat({},a)};delete o.error_x.copy_zstyle,delete o.error_y.copy_zstyle,delete o.error_y.copy_ystyle;var s={error_x:n.extendFlat({},a),error_y:n.extendFlat({},a),error_z:n.extendFlat({},a)};delete s.error_x.copy_ystyle,delete s.error_y.copy_ystyle,delete s.error_z.copy_ystyle,delete s.error_z.copy_zstyle,e.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:o,bar:o,histogram:o,scatter3d:i(s,"calc","nested"),scattergl:i(o,"calc","nested")}},supplyDefaults:t("./defaults"),calc:t("./calc"),makeComputeError:t("./compute_error"),plot:t("./plot"),style:t("./style"),hoverInfo:function(t,e,r){(e.error_y||{}).visible&&(r.yerr=t.yh-t.y,e.error_y.symmetric||(r.yerrneg=t.y-t.ys));(e.error_x||{}).visible&&(r.xerr=t.xh-t.x,e.error_x.symmetric||(r.xerrneg=t.x-t.xs))}}},{"../../lib":693,"../../plot_api/edit_types":725,"./attributes":594,"./calc":595,"./compute_error":596,"./defaults":597,"./plot":599,"./style":600}],599:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../drawing"),o=t("../../traces/scatter/subtypes");e.exports=function(t,e,r){var s=e.xaxis,l=e.yaxis,c=r&&r.duration>0;t.each(function(t){var u,f=t[0].trace,h=f.error_x||{},p=f.error_y||{};f.ids&&(u=function(t){return t.id});var d=o.hasMarkers(f)&&f.marker.maxdisplayed>0;p.visible||h.visible||(t=[]);var g=n.select(this).selectAll("g.errorbar").data(t,u);if(g.exit().remove(),t.length){h.visible||g.selectAll("path.xerror").remove(),p.visible||g.selectAll("path.yerror").remove(),g.style("opacity",1);var m=g.enter().append("g").classed("errorbar",!0);c&&m.style("opacity",0).transition().duration(r.duration).style("opacity",1),a.setClipUrl(g,e.layerClipId),g.each(function(t){var e=n.select(this),a=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0)));void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0)));return n}(t,s,l);if(!d||t.vis){var o,u=e.select("path.yerror");if(p.visible&&i(a.x)&&i(a.yh)&&i(a.ys)){var f=p.width;o="M"+(a.x-f)+","+a.yh+"h"+2*f+"m-"+f+",0V"+a.ys,a.noYS||(o+="m-"+f+",0h"+2*f),!u.size()?u=e.append("path").style("vector-effect","non-scaling-stroke").classed("yerror",!0):c&&(u=u.transition().duration(r.duration).ease(r.easing)),u.attr("d",o)}else u.remove();var g=e.select("path.xerror");if(h.visible&&i(a.y)&&i(a.xh)&&i(a.xs)){var m=(h.copy_ystyle?p:h).width;o="M"+a.xh+","+(a.y-m)+"v"+2*m+"m0,-"+m+"H"+a.xs,a.noXS||(o+="m0,-"+m+"v"+2*m),!g.size()?g=e.append("path").style("vector-effect","non-scaling-stroke").classed("xerror",!0):c&&(g=g.transition().duration(r.duration).ease(r.easing)),g.attr("d",o)}else g.remove()}})}})}},{"../../traces/scatter/subtypes":1056,"../drawing":592,d3:147,"fast-isnumeric":213}],600:[function(t,e,r){"use strict";var n=t("d3"),i=t("../color");e.exports=function(t){t.each(function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(i.stroke,a.color)})}},{"../color":567,d3:147}],601:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes");e.exports={hoverlabel:{bgcolor:{valType:"color",arrayOk:!0,editType:"none"},bordercolor:{valType:"color",arrayOk:!0,editType:"none"},font:n({arrayOk:!0,editType:"none"}),namelength:{valType:"integer",min:-1,arrayOk:!0,editType:"none"},editType:"calc"}}},{"../../plots/font_attributes":768}],602:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry");function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}e.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s<e.length;s++){var l=e[s],c=l[0].trace;if(!i.traceIs(c,"pie")){var u=i.traceIs(c,"2dMap")?a:n.fillArray;u(c.hoverinfo,l,"hi",o(c)),c.hoverlabel&&(u(c.hoverlabel.bgcolor,l,"hbg"),u(c.hoverlabel.bordercolor,l,"hbc"),u(c.hoverlabel.font.size,l,"hts"),u(c.hoverlabel.font.color,l,"htc"),u(c.hoverlabel.font.family,l,"htf"),u(c.hoverlabel.namelength,l,"hnl"))}}}},{"../../lib":693,"../../registry":825}],603:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("./hover").hover;e.exports=function(t,e,r){var a=n.getComponentMethod("annotations","onClick")(t,t._hoverdata);function o(){t.emit("plotly_click",{points:t._hoverdata,event:e})}void 0!==r&&i(t,e,r,!0),t._hoverdata&&e&&e.target&&(a&&a.then?a.then(o):o(),e.stopImmediatePropagation&&e.stopImmediatePropagation())}},{"../../registry":825,"./hover":607}],604:[function(t,e,r){"use strict";e.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:"Arial, sans-serif",HOVERMINTIME:50,HOVERID:"-hover"}},{}],605:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("./hoverlabel_defaults");e.exports=function(t,e,r,o){a(t,e,function(r,a){return n.coerce(t,e,i,r,a)},o.hoverlabel)}},{"../../lib":693,"./attributes":601,"./hoverlabel_defaults":608}],606:[function(t,e,r){"use strict";var n=t("../../lib");r.getSubplot=function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},r.isTraceInSubplots=function(t,e){if("splom"===t.type){for(var n=t.xaxes||[],i=t.yaxes||[],a=0;a<n.length;a++)for(var o=0;o<i.length;o++)if(-1!==e.indexOf(n[a]+i[o]))return!0;return!1}return-1!==e.indexOf(r.getSubplot(t))},r.flat=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=e;return r},r.p2c=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=t[n].p2c(e);return r},r.getDistanceFunction=function(t,e,n,i){return"closest"===t?i||r.quadrature(e,n):"x"===t?e:n},r.getClosest=function(t,e,r){if(!1!==r.index)r.index>=0&&r.index<t.length?r.distance=0:r.index=!1;else for(var n=0;n<t.length;n++){var i=e(t[n]);i<=r.distance&&(r.index=n,r.distance=i)}return r},r.inbox=function(t,e,r){return t*e<0||0===t?r:1/0},r.quadrature=function(t,e){return function(r){var n=t(r),i=e(r);return Math.sqrt(n*n+i*i)}},r.makeEventData=function(t,e,n){var i="index"in t?t.index:t.pointNumber,a={data:e._input,fullData:e,curveNumber:e.index,pointNumber:i};if(e._indexToPoints){var o=e._indexToPoints[i];1===o.length?a.pointIndex=o[0]:a.pointIndices=o}else a.pointIndex=i;return e._module.eventData?a=e._module.eventData(a,t,e,n,i):("xVal"in t?a.x=t.xVal:"x"in t&&(a.x=t.x),"yVal"in t?a.y=t.yVal:"y"in t&&(a.y=t.y),t.xa&&(a.xaxis=t.xa),t.ya&&(a.yaxis=t.ya),void 0!==t.zLabelVal&&(a.z=t.zLabelVal)),r.appendArrayPointValue(a,e,i),a},r.appendArrayPointValue=function(t,e,r){var i=e._arrayAttrs;if(i)for(var s=0;s<i.length;s++){var l=i[s],c=a(l);if(void 0===t[c]){var u=o(n.nestedProperty(e,l).get(),r);void 0!==u&&(t[c]=u)}}},r.appendArrayMultiPointValues=function(t,e,r){var i=e._arrayAttrs;if(i)for(var s=0;s<i.length;s++){var l=i[s],c=a(l);if(void 0===t[c]){for(var u=n.nestedProperty(e,l).get(),f=new Array(r.length),h=0;h<r.length;h++)f[h]=o(u,r[h]);t[c]=f}}};var i={ids:"id",locations:"location",labels:"label",values:"value","marker.colors":"color"};function a(t){return i[t]||t}function o(t,e){return Array.isArray(e)?Array.isArray(t)&&Array.isArray(t[e[0]])?t[e[0]][e[1]]:void 0:t[e]}},{"../../lib":693}],607:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("tinycolor2"),o=t("../../lib"),s=t("../../lib/events"),l=t("../../lib/svg_text_utils"),c=t("../../lib/override_cursor"),u=t("../drawing"),f=t("../color"),h=t("../dragelement"),p=t("../../plots/cartesian/axes"),d=t("../../registry"),g=t("./helpers"),m=t("./constants"),v=m.YANGLE,y=Math.PI*v/180,x=1/Math.sin(y),b=Math.cos(y),_=Math.sin(y),w=m.HOVERARROWSIZE,k=m.HOVERTEXTPAD;function M(t,e,r){var i=e.hovermode,a=e.rotateLabels,s=e.bgColor,c=e.container,h=e.outerContainer,p=e.commonLabelOpts||{},d=e.fontFamily||m.HOVERFONT,g=e.fontSize||m.HOVERFONTSIZE,y=t[0],x=y.xa,b=y.ya,_="y"===i?"yLabel":"xLabel",M=y[_],A=(String(M)||"").split(" ")[0],T=h.node().getBoundingClientRect(),S=T.top,E=T.width,C=T.height,L=void 0!==M&&y.distance<=e.hoverdistance&&("x"===i||"y"===i);if(L){var z,P,O=!0;for(z=0;z<t.length;z++){O&&void 0===t[z].zLabel&&(O=!1),P=t[z].hoverinfo||t[z].trace.hoverinfo;var I=Array.isArray(P)?P:P.split("+");if(-1===I.indexOf("all")&&-1===I.indexOf(i)){L=!1;break}}O&&(L=!1)}var D=c.selectAll("g.axistext").data(L?[0]:[]);D.enter().append("g").classed("axistext",!0),D.exit().remove(),D.each(function(){var e=n.select(this),a=o.ensureSingle(e,"path","",function(t){t.style({"stroke-width":"1px"})}),s=o.ensureSingle(e,"text","",function(t){t.attr("data-notex",1)}),c=p.bgcolor||f.defaultLine,h=p.bordercolor||f.contrast(c),m=f.contrast(c);a.style({fill:c,stroke:h}),s.text(M).call(u.font,p.font.family||d,p.font.size||g,p.font.color||m).call(l.positionText,0,0).call(l.convertToTspans,r),e.attr("transform","");var v=s.node().getBoundingClientRect();if("x"===i){s.attr("text-anchor","middle").call(l.positionText,0,"top"===x.side?S-v.bottom-w-k:S-v.top+w+k);var T="top"===x.side?"-":"";a.attr("d","M0,0L"+w+","+T+w+"H"+(k+v.width/2)+"v"+T+(2*k+v.height)+"H-"+(k+v.width/2)+"V"+T+w+"H-"+w+"Z"),e.attr("transform","translate("+(x._offset+(y.x0+y.x1)/2)+","+(b._offset+("top"===x.side?0:b._length))+")")}else{s.attr("text-anchor","right"===b.side?"start":"end").call(l.positionText,("right"===b.side?1:-1)*(k+w),S-v.top-v.height/2);var E="right"===b.side?"":"-";a.attr("d","M0,0L"+E+w+","+w+"V"+(k+v.height/2)+"h"+E+(2*k+v.width)+"V-"+(k+v.height/2)+"H"+E+w+"V-"+w+"Z"),e.attr("transform","translate("+(x._offset+("right"===b.side?x._length:0))+","+(b._offset+(y.y0+y.y1)/2)+")")}t=t.filter(function(t){return void 0!==t.zLabelVal||(t[_]||"").split(" ")[0]===A})});var R=c.selectAll("g.hovertext").data(t,function(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||""].join(",")});return R.enter().append("g").classed("hovertext",!0).each(function(){var t=n.select(this);t.append("rect").call(f.fill,f.addOpacity(s,.8)),t.append("text").classed("name",!0),t.append("path").style("stroke-width","1px"),t.append("text").classed("nums",!0).call(u.font,d,g)}),R.exit().remove(),R.each(function(t){var e=n.select(this).attr("transform",""),o="",c="",h=t.bgcolor||t.color,p=f.combine(f.opacity(h)?h:f.defaultLine,s),m=f.combine(f.opacity(t.color)?t.color:f.defaultLine,s),y=t.borderColor||f.contrast(p);if(void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name){o=l.plainText(t.name||"");var x=Math.round(t.nameLength);x>-1&&o.length>x&&(o=x>3?o.substr(0,x-3)+"...":o.substr(0,x))}void 0!==t.zLabel?(void 0!==t.xLabel&&(c+="x: "+t.xLabel+"<br>"),void 0!==t.yLabel&&(c+="y: "+t.yLabel+"<br>"),c+=(c?"z: ":"")+t.zLabel):L&&t[i+"Label"]===M?c=t[("x"===i?"y":"x")+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&(c=t.yLabel):c=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(c+=(c?"<br>":"")+t.text),void 0!==t.extraText&&(c+=(c?"<br>":"")+t.extraText),""===c&&(""===o&&e.remove(),c=o);var b=e.select("text.nums").call(u.font,t.fontFamily||d,t.fontSize||g,t.fontColor||y).text(c).attr("data-notex",1).call(l.positionText,0,0).call(l.convertToTspans,r),_=e.select("text.name"),A=0;o&&o!==c?(_.call(u.font,t.fontFamily||d,t.fontSize||g,m).text(o).attr("data-notex",1).call(l.positionText,0,0).call(l.convertToTspans,r),A=_.node().getBoundingClientRect().width+2*k):(_.remove(),e.select("rect").remove()),e.select("path").style({fill:p,stroke:y});var T,z,P=b.node().getBoundingClientRect(),O=t.xa._offset+(t.x0+t.x1)/2,I=t.ya._offset+(t.y0+t.y1)/2,D=Math.abs(t.x1-t.x0),R=Math.abs(t.y1-t.y0),B=P.width+w+k+A;t.ty0=S-P.top,t.bx=P.width+2*k,t.by=P.height+2*k,t.anchor="start",t.txwidth=P.width,t.tx2width=A,t.offset=0,a?(t.pos=O,T=I+R/2+B<=C,z=I-R/2-B>=0,"top"!==t.idealAlign&&T||!z?T?(I+=R/2,t.anchor="start"):t.anchor="middle":(I-=R/2,t.anchor="end")):(t.pos=I,T=O+D/2+B<=E,z=O-D/2-B>=0,"left"!==t.idealAlign&&T||!z?T?(O+=D/2,t.anchor="start"):t.anchor="middle":(O-=D/2,t.anchor="end")),b.attr("text-anchor",t.anchor),A&&_.attr("text-anchor",t.anchor),e.attr("transform","translate("+O+","+I+")"+(a?"rotate("+v+")":""))}),R}function A(t,e){t.each(function(t){var r=n.select(this);if(t.del)r.remove();else{var i="end"===t.anchor?-1:1,a=r.select("text.nums"),o={start:1,end:-1,middle:0}[t.anchor],s=o*(w+k),c=s+o*(t.txwidth+k),f=0,h=t.offset;"middle"===t.anchor&&(s-=t.tx2width/2,c+=t.txwidth/2+k),e&&(h*=-_,f=t.offset*b),r.select("path").attr("d","middle"===t.anchor?"M-"+(t.bx/2+t.tx2width/2)+","+(h-t.by/2)+"h"+t.bx+"v"+t.by+"h-"+t.bx+"Z":"M0,0L"+(i*w+f)+","+(w+h)+"v"+(t.by/2-w)+"h"+i*t.bx+"v-"+t.by+"H"+(i*w+f)+"V"+(h-w)+"Z"),a.call(l.positionText,s+f,h+t.ty0-t.by/2+k),t.tx2width&&(r.select("text.name").call(l.positionText,c+o*k+f,h+t.ty0-t.by/2+k),r.select("rect").call(u.setRect,c+(o-1)*t.tx2width/2+f,h-t.by/2-1,t.tx2width,t.by+2))}})}function T(t,e){var r=t.index,n=t.trace||{},i=t.cd[0],a=t.cd[r]||{},s=Array.isArray(r)?function(t,e){return o.castOption(i,r,t)||o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(a,n,t,e)};function l(e,r,n){var i=s(r,n);i&&(t[e]=i)}if(l("hoverinfo","hi","hoverinfo"),l("bgcolor","hbg","hoverlabel.bgcolor"),l("borderColor","hbc","hoverlabel.bordercolor"),l("fontFamily","htf","hoverlabel.font.family"),l("fontSize","hts","hoverlabel.font.size"),l("fontColor","htc","hoverlabel.font.color"),l("nameLength","hnl","hoverlabel.namelength"),t.posref="y"===e?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:p.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:p.hoverLabelText(t.ya,t.yLabelVal),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||"log"===t.xa.type&&t.xerr<=0)){var c=p.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+c+" / -"+p.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" \xb1 "+c,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var u=p.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+u+" / -"+p.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" \xb1 "+u,"y"===e&&(t.distance+=1)}var f=t.hoverinfo||t.trace.hoverinfo;return"all"!==f&&(-1===(f=Array.isArray(f)?f:f.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===f.indexOf("y")&&(t.yLabel=void 0),-1===f.indexOf("z")&&(t.zLabel=void 0),-1===f.indexOf("text")&&(t.text=void 0),-1===f.indexOf("name")&&(t.name=void 0)),t}function S(t,e){var r,n,i=e.container,o=e.fullLayout,s=e.event,l=!!t.hLinePoint,c=!!t.vLinePoint;if(i.selectAll(".spikeline").remove(),c||l){var h=f.combine(o.plot_bgcolor,o.paper_bgcolor);if(l){var p,d,g=t.hLinePoint;r=g&&g.xa,"cursor"===(n=g&&g.ya).spikesnap?(p=s.pointerX,d=s.pointerY):(p=r._offset+g.x,d=n._offset+g.y);var m,v,y=a.readability(g.color,h)<1.5?f.contrast(h):g.color,x=n.spikemode,b=n.spikethickness,_=n.spikecolor||y,w=n._boundingBox,k=(w.left+w.right)/2<p?w.right:w.left;-1===x.indexOf("toaxis")&&-1===x.indexOf("across")||(-1!==x.indexOf("toaxis")&&(m=k,v=p),-1!==x.indexOf("across")&&(m=n._counterSpan[0],v=n._counterSpan[1]),i.insert("line",":first-child").attr({x1:m,x2:v,y1:d,y2:d,"stroke-width":b,stroke:_,"stroke-dasharray":u.dashStyle(n.spikedash,b)}).classed("spikeline",!0).classed("crisp",!0),i.insert("line",":first-child").attr({x1:m,x2:v,y1:d,y2:d,"stroke-width":b+2,stroke:h}).classed("spikeline",!0).classed("crisp",!0)),-1!==x.indexOf("marker")&&i.insert("circle",":first-child").attr({cx:k+("right"!==n.side?b:-b),cy:d,r:b,fill:_}).classed("spikeline",!0)}if(c){var M,A,T=t.vLinePoint;r=T&&T.xa,n=T&&T.ya,"cursor"===r.spikesnap?(M=s.pointerX,A=s.pointerY):(M=r._offset+T.x,A=n._offset+T.y);var S,E,C=a.readability(T.color,h)<1.5?f.contrast(h):T.color,L=r.spikemode,z=r.spikethickness,P=r.spikecolor||C,O=r._boundingBox,I=(O.top+O.bottom)/2<A?O.bottom:O.top;-1===L.indexOf("toaxis")&&-1===L.indexOf("across")||(-1!==L.indexOf("toaxis")&&(S=I,E=A),-1!==L.indexOf("across")&&(S=r._counterSpan[0],E=r._counterSpan[1]),i.insert("line",":first-child").attr({x1:M,x2:M,y1:S,y2:E,"stroke-width":z,stroke:P,"stroke-dasharray":u.dashStyle(r.spikedash,z)}).classed("spikeline",!0).classed("crisp",!0),i.insert("line",":first-child").attr({x1:M,x2:M,y1:S,y2:E,"stroke-width":z+2,stroke:h}).classed("spikeline",!0).classed("crisp",!0)),-1!==L.indexOf("marker")&&i.insert("circle",":first-child").attr({cx:M,cy:I-("top"!==r.side?z:-z),r:z,fill:P}).classed("spikeline",!0)}}}function E(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}r.hover=function(t,e,r,a){t=o.getGraphDiv(t),o.throttle(t._fullLayout._uid+m.HOVERID,m.HOVERMINTIME,function(){!function(t,e,r,a){r||(r="xy");var l=Array.isArray(r)?r:[r],u=t._fullLayout,m=u._plots||[],v=m[r],y=u._has("cartesian");if(v){var b=v.overlays.map(function(t){return t.id});l=l.concat(b)}for(var _=l.length,w=new Array(_),k=new Array(_),C=!1,L=0;L<_;L++){var z=l[L],P=m[z];if(P)C=!0,w[L]=p.getFromId(t,P.xaxis._id),k[L]=p.getFromId(t,P.yaxis._id);else{var O=u[z]._subplot;w[L]=O.xaxis,k[L]=O.yaxis}}var I=e.hovermode||u.hovermode;I&&!C&&(I="closest");if(-1===["x","y","closest"].indexOf(I)||!t.calcdata||t.querySelector(".zoombox")||t._dragging)return h.unhoverRaw(t,e);var D,R,B,F,N,j,V,U,q,H,G,W,Y,X=-1===u.hoverdistance?1/0:u.hoverdistance,Z=-1===u.spikedistance?1/0:u.spikedistance,$=[],J=[],K={hLinePoint:null,vLinePoint:null},Q=!1;if(Array.isArray(e))for(I="array",B=0;B<e.length;B++)N=t.calcdata[e[B].curveNumber||0],j=N[0].trace,"skip"!==N[0].trace.hoverinfo&&(J.push(N),"h"===j.orientation&&(Q=!0));else{for(F=0;F<t.calcdata.length;F++)N=t.calcdata[F],"skip"!==(j=N[0].trace).hoverinfo&&g.isTraceInSubplots(j,l)&&(J.push(N),"h"===j.orientation&&(Q=!0));var tt,et,rt=!e.target;if(rt)tt="xpx"in e?e.xpx:w[0]._length/2,et="ypx"in e?e.ypx:k[0]._length/2;else{if(!1===s.triggerHandler(t,"plotly_beforehover",e))return;var nt=e.target.getBoundingClientRect();if(tt=e.clientX-nt.left,et=e.clientY-nt.top,tt<0||tt>w[0]._length||et<0||et>k[0]._length)return h.unhoverRaw(t,e)}if(e.pointerX=tt+w[0]._offset,e.pointerY=et+k[0]._offset,D="xval"in e?g.flat(l,e.xval):g.p2c(w,tt),R="yval"in e?g.flat(l,e.yval):g.p2c(k,et),!i(D[0])||!i(R[0]))return o.warn("Fx.hover failed",e,t),h.unhoverRaw(t,e)}var it=1/0;for(F=0;F<J.length;F++)if((N=J[F])&&N[0]&&N[0].trace&&!0===N[0].trace.visible&&(j=N[0].trace,-1===["carpet","contourcarpet"].indexOf(j._module.name))){if("splom"===j.type?V=l[U=0]:(V=g.getSubplot(j),U=l.indexOf(V)),q=I,W={cd:N,trace:j,xa:w[U],ya:k[U],maxHoverDistance:X,maxSpikeDistance:Z,index:!1,distance:Math.min(it,X),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:f.defaultLine,name:j.name,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},u[V]&&(W.subplot=u[V]._subplot),Y=$.length,"array"===q){var at=e[F];"pointNumber"in at?(W.index=at.pointNumber,q="closest"):(q="","xval"in at&&(H=at.xval,q="x"),"yval"in at&&(G=at.yval,q=q?"closest":"y"))}else H=D[U],G=R[U];if(0!==X)if(j._module&&j._module.hoverPoints){var ot=j._module.hoverPoints(W,H,G,q,u._hoverlayer);if(ot)for(var st,lt=0;lt<ot.length;lt++)st=ot[lt],i(st.x0)&&i(st.y0)&&$.push(T(st,I))}else o.log("Unrecognized trace type in hover:",j);if("closest"===I&&$.length>Y&&($.splice(0,Y),it=$[0].distance),y&&0!==Z&&0===$.length){W.distance=Z,W.index=!1;var ct=j._module.hoverPoints(W,H,G,"closest",u._hoverlayer);if(ct&&(ct=ct.filter(function(t){return t.spikeDistance<=Z})),ct&&ct.length){var ut,ft=ct.filter(function(t){return t.xa.showspikes});if(ft.length){var ht=ft[0];i(ht.x0)&&i(ht.y0)&&(ut=mt(ht),(!K.vLinePoint||K.vLinePoint.spikeDistance>ut.spikeDistance)&&(K.vLinePoint=ut))}var pt=ct.filter(function(t){return t.ya.showspikes});if(pt.length){var dt=pt[0];i(dt.x0)&&i(dt.y0)&&(ut=mt(dt),(!K.hLinePoint||K.hLinePoint.spikeDistance>ut.spikeDistance)&&(K.hLinePoint=ut))}}}}function gt(t,e){for(var r,n=null,i=1/0,a=0;a<t.length;a++)(r=t[a].spikeDistance)<i&&r<=e&&(n=t[a],i=r);return n}function mt(t){return t?{xa:t.xa,ya:t.ya,x:void 0!==t.xSpike?t.xSpike:(t.x0+t.x1)/2,y:void 0!==t.ySpike?t.ySpike:(t.y0+t.y1)/2,distance:t.distance,spikeDistance:t.spikeDistance,curveNumber:t.trace.index,color:t.color,pointNumber:t.index}:null}var vt={fullLayout:u,container:u._hoverlayer,outerContainer:u._paperdiv,event:e},yt=t._spikepoints,xt={vLinePoint:K.vLinePoint,hLinePoint:K.hLinePoint};if(t._spikepoints=xt,y&&0!==Z&&0!==$.length){var bt=$.filter(function(t){return t.ya.showspikes}),_t=gt(bt,Z);K.hLinePoint=mt(_t);var wt=$.filter(function(t){return t.xa.showspikes}),kt=gt(wt,Z);K.vLinePoint=mt(kt)}if(0===$.length){var Mt=h.unhoverRaw(t,e);return!y||null===K.hLinePoint&&null===K.vLinePoint||E(yt)&&S(K,vt),Mt}y&&E(yt)&&S(K,vt);$.sort(function(t,e){return t.distance-e.distance});var At=t._hoverdata,Tt=[];for(B=0;B<$.length;B++){var St=$[B];Tt.push(g.makeEventData(St,St.trace,St.cd))}t._hoverdata=Tt;var Et="y"===I&&(J.length>1||$.length>1)||"closest"===I&&Q&&$.length>1,Ct=f.combine(u.plot_bgcolor||f.background,u.paper_bgcolor),Lt={hovermode:I,rotateLabels:Et,bgColor:Ct,container:u._hoverlayer,outerContainer:u._paperdiv,commonLabelOpts:u.hoverlabel,hoverdistance:u.hoverdistance},zt=M($,Lt,t);if(function(t,e,r){var n,i,a,o,s,l,c,u=0,f=1,h=t.map(function(t,n){var i=t[e],a="x"===i._id.charAt(0),o=i.range;return!n&&o&&o[0]>o[1]!==a&&(f=-1),[{i:n,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?x:1)/2,pmin:0,pmax:a?r.width:r.height}]}).sort(function(t,e){return t[0].posref-e[0].posref||f*(e[0].traceIndex-t[0].traceIndex)});function p(t){var e=t[0],r=t[t.length-1];if(i=e.pmin-e.pos-e.dp+e.size,a=r.pos+r.dp+r.size-e.pmax,i>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=i;n=!1}if(!(a<.01)){if(i<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=a;n=!1}if(n){var c=0;for(o=0;o<t.length;o++)(l=t[o]).pos+l.dp+l.size>e.pmax&&c++;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,c--);for(o=0;o<t.length&&!(c<=0);o++)if((l=t[o]).pos<e.pmin+1)for(l.del=!0,c--,a=2*l.size,s=t.length-1;s>=0;s--)t[s].dp-=a;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,c--)}}}for(;!n&&u<=t.length;){for(u++,n=!0,o=0;o<h.length-1;){var d=h[o],g=h[o+1],m=d[d.length-1],v=g[0];if((i=m.pos+m.dp+m.size-v.pos-v.dp+v.size)>.01&&m.pmin===v.pmin&&m.pmax===v.pmax){for(s=g.length-1;s>=0;s--)g[s].dp+=i;for(d.push.apply(d,g),h.splice(o+1,1),c=0,s=d.length-1;s>=0;s--)c+=d[s].dp;for(a=c/d.length,s=d.length-1;s>=0;s--)d[s].dp-=a;n=!1}else o++}h.forEach(p)}for(o=h.length-1;o>=0;o--){var y=h[o];for(s=y.length-1;s>=0;s--){var b=y[s],_=t[b.i];_.offset=b.dp,_.del=b.del}}}($,Et?"xa":"ya",u),A(zt,Et),e.target&&e.target.tagName){var Pt=d.getComponentMethod("annotations","hasClickToShow")(t,Tt);c(n.select(e.target),Pt?"pointer":"")}if(!e.target||a||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber))return!0}return!1}(t,0,At))return;At&&t.emit("plotly_unhover",{event:e,points:At});t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:w,yaxes:k,xvals:D,yvals:R})}(t,e,r,a)})},r.loneHover=function(t,e){var r={color:t.color||f.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,trace:{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0},i=n.select(e.container),a=e.outerContainer?n.select(e.outerContainer):i,o={hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||f.background,container:i,outerContainer:a},s=M([r],o,e.gd);return A(s,o.rotateLabels),s.node()}},{"../../lib":693,"../../lib/events":681,"../../lib/override_cursor":705,"../../lib/svg_text_utils":718,"../../plots/cartesian/axes":742,"../../registry":825,"../color":567,"../dragelement":589,"../drawing":592,"./constants":604,"./helpers":606,d3:147,"fast-isnumeric":213,tinycolor2:511}],608:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r,i){r("hoverlabel.bgcolor",(i=i||{}).bgcolor),r("hoverlabel.bordercolor",i.bordercolor),r("hoverlabel.namelength",i.namelength),n.coerceFont(r,"hoverlabel.font",i.font)}},{"../../lib":693}],609:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../dragelement"),o=t("./helpers"),s=t("./layout_attributes");e.exports={moduleType:"component",name:"fx",constants:t("./constants"),schema:{layout:s},attributes:t("./attributes"),layoutAttributes:s,supplyLayoutGlobalDefaults:t("./layout_global_defaults"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,"hoverlabel."+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,"hoverinfo",function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)})},hover:t("./hover").hover,unhover:a.unhover,loneHover:t("./hover").loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll("g.hovertext").remove(),e.selectAll(".spikeline").remove()},click:t("./click")}},{"../../lib":693,"../dragelement":589,"./attributes":601,"./calc":602,"./click":603,"./constants":604,"./defaults":605,"./helpers":606,"./hover":607,"./layout_attributes":610,"./layout_defaults":611,"./layout_global_defaults":612,d3:147}],610:[function(t,e,r){"use strict";var n=t("./constants"),i=t("../../plots/font_attributes")({editType:"none"});i.family.dflt=n.HOVERFONT,i.size.dflt=n.HOVERFONTSIZE,e.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","orbit","turntable"],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1],editType:"modebar"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:20,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:i,namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}},{"../../plots/font_attributes":768,"./constants":604}],611:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}var o,s=a("clickmode");"select"===a("dragmode")&&a("selectdirection"),e._has("cartesian")?s.indexOf("select")>-1?o="closest":(e._isHoriz=function(t){for(var e=!0,r=0;r<t.length;r++){var n=t[r];if("h"!==n.orientation){e=!1;break}}return e}(r),o=e._isHoriz?"y":"x"):o="closest",a("hovermode",o)&&(a("hoverdistance"),a("spikedistance"));var l=e._has("mapbox"),c=e._has("geo"),u=e._basePlotModules.length;"zoom"===e.dragmode&&((l||c)&&1===u||l&&c&&2===u)&&(e.dragmode="pan")}},{"../../lib":693,"./layout_attributes":610}],612:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./hoverlabel_defaults"),a=t("./layout_attributes");e.exports=function(t,e){i(t,e,function(r,i){return n.coerce(t,e,a,r,i)})}},{"../../lib":693,"./hoverlabel_defaults":608,"./layout_attributes":610}],613:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../lib/regex").counter,a=t("../../plots/domain").attributes,o=t("../../plots/cartesian/constants").idRegex,s=t("../../plot_api/plot_template"),l={rows:{valType:"integer",min:1,editType:"plot"},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot"},columns:{valType:"integer",min:1,editType:"plot"},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[i("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.y.toString(),""],editType:"plot"},editType:"plot"},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot"},xgap:{valType:"number",min:0,max:1,editType:"plot"},ygap:{valType:"number",min:0,max:1,editType:"plot"},domain:a({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function c(t,e,r){var n=e[r+"axes"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function u(t,e,r,n,i,a){var o=e(t+"gap",r),s=e("domain."+t);e(t+"side",n);for(var l=new Array(i),c=s[0],u=(s[1]-c)/(i-o),f=u*(1-o),h=0;h<i;h++){var p=c+u*h;l[a?i-1-h:h]=[p,p+f]}return l}function f(t,e,r,n,i){var a,o=new Array(r);function s(t,r){-1!==e.indexOf(r)&&void 0===n[r]?(o[t]=r,n[r]=t):o[t]=""}if(Array.isArray(t))for(a=0;a<r;a++)s(a,t[a]);else for(s(0,i),a=1;a<r;a++)s(a,i+(a+1));return o}e.exports={moduleType:"component",name:"grid",schema:{layout:{grid:l}},layoutAttributes:l,sizeDefaults:function(t,e){var r=t.grid||{},i=c(e,r,"x"),a=c(e,r,"y");if(t.grid||i||a){var o,f,h=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),p=Array.isArray(i),d=Array.isArray(a),g=p&&i!==r.xaxes&&d&&a!==r.yaxes;h?(o=r.subplots.length,f=r.subplots[0].length):(d&&(o=a.length),p&&(f=i.length));var m=s.newContainer(e,"grid"),v=M("rows",o),y=M("columns",f);if(v*y>1){h||p||d||"independent"===M("pattern")&&(h=!0),m._hasSubplotGrid=h;var x,b,_="top to bottom"===M("roworder"),w=h?.2:.1,k=h?.3:.1;g&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),m._domains={x:u("x",M,w,x,y),y:u("y",M,k,b,v,_)}}else delete e.grid}function M(t,e){return n.coerce(r,m,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,u,h=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,g=r.rows,m=r.columns,v="independent"===r.pattern,y=r._axisMap={};if(d){var x=h.subplots||[];l=r.subplots=new Array(g);var b=1;for(n=0;n<g;n++){var _=l[n]=new Array(m),w=x[n]||[];for(i=0;i<m;i++)if(v?(s=1===b?"xy":"x"+b+"y"+b,b++):s=w[i],_[i]="",-1!==p.cartesian.indexOf(s)){if(u=s.indexOf("y"),a=s.slice(0,u),o=s.slice(u),void 0!==y[a]&&y[a]!==i||void 0!==y[o]&&y[o]!==n)continue;_[i]=s,y[a]=i,y[o]=n}}}else{var k=c(e,h,"x"),M=c(e,h,"y");r.xaxes=f(k,p.xaxis,m,y,"x"),r.yaxes=f(M,p.yaxis,g,y,"y")}var A=r._anchors={},T="top to bottom"===r.roworder;for(var S in y){var E,C,L,z=S.charAt(0),P=r[z+"side"];if(P.length<8)A[S]="free";else if("x"===z){if("t"===P.charAt(0)===T?(E=0,C=1,L=g):(E=g-1,C=-1,L=-1),d){var O=y[S];for(n=E;n!==L;n+=C)if((s=l[n][O])&&(u=s.indexOf("y"),s.slice(0,u)===S)){A[S]=s.slice(u);break}}else for(n=E;n!==L;n+=C)if(o=r.yaxes[n],-1!==p.cartesian.indexOf(S+o)){A[S]=o;break}}else if("l"===P.charAt(0)?(E=0,C=1,L=m):(E=m-1,C=-1,L=-1),d){var I=y[S];for(n=E;n!==L;n+=C)if((s=l[I][n])&&(u=s.indexOf("y"),s.slice(u)===S)){A[S]=s.slice(0,u);break}}else for(n=E;n!==L;n+=C)if(a=r.xaxes[n],-1!==p.cartesian.indexOf(a+S)){A[S]=a;break}}}}}},{"../../lib":693,"../../lib/regex":710,"../../plot_api/plot_template":732,"../../plots/cartesian/constants":747,"../../plots/domain":767}],614:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/constants"),i=t("../../plot_api/plot_template").templatedArray;e.exports=i("image",{visible:{valType:"boolean",dflt:!0,editType:"arraydraw"},source:{valType:"string",editType:"arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},sizex:{valType:"number",dflt:0,editType:"arraydraw"},sizey:{valType:"number",dflt:0,editType:"arraydraw"},sizing:{valType:"enumerated",values:["fill","contain","stretch"],dflt:"contain",editType:"arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},x:{valType:"any",dflt:0,editType:"arraydraw"},y:{valType:"any",dflt:0,editType:"arraydraw"},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left",editType:"arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"top",editType:"arraydraw"},xref:{valType:"enumerated",values:["paper",n.idRegex.x.toString()],dflt:"paper",editType:"arraydraw"},yref:{valType:"enumerated",values:["paper",n.idRegex.y.toString()],dflt:"paper",editType:"arraydraw"},editType:"arraydraw"})},{"../../plot_api/plot_template":732,"../../plots/cartesian/constants":747}],615:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib/to_log_range");e.exports=function(t,e,r,a){e=e||{};var o="log"===r&&"linear"===e.type,s="linear"===r&&"log"===e.type;if(o||s)for(var l,c,u=t._fullLayout.images,f=e._id.charAt(0),h=0;h<u.length;h++)if(c="images["+h+"].",(l=u[h])[f+"ref"]===e._id){var p=l[f],d=l["size"+f],g=null,m=null;if(o){g=i(p,e.range);var v=d/Math.pow(10,g)/2;m=2*Math.log(v+Math.sqrt(1+v*v))/Math.LN10}else m=(g=Math.pow(10,p))*(Math.pow(10,d/2)-Math.pow(10,-d/2));n(g)?n(m)||(m=null):(g=null,m=null),a(c+f,g),a(c+"size"+f,m)}}},{"../../lib/to_log_range":720,"fast-isnumeric":213}],616:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../../plots/array_container_defaults"),o=t("./attributes");function s(t,e,r){function a(r,i){return n.coerce(t,e,o,r,i)}var s=a("source");if(!a("visible",!!s))return e;a("layer"),a("xanchor"),a("yanchor"),a("sizex"),a("sizey"),a("sizing"),a("opacity");for(var l={_fullLayout:r},c=["x","y"],u=0;u<2;u++){var f=c[u],h=i.coerceRef(t,e,l,f,"paper");i.coercePosition(e,l,a,h,f,0)}return e}e.exports=function(t,e){a(t,e,{name:"images",handleItemDefaults:s})}},{"../../lib":693,"../../plots/array_container_defaults":738,"../../plots/cartesian/axes":742,"./attributes":614}],617:[function(t,e,r){"use strict";var n=t("d3"),i=t("../drawing"),a=t("../../plots/cartesian/axes"),o=t("../../constants/xmlns_namespaces");e.exports=function(t){var e,r,s=t._fullLayout,l=[],c={},u=[];for(r=0;r<s.images.length;r++){var f=s.images[r];if(f.visible)if("below"===f.layer&&"paper"!==f.xref&&"paper"!==f.yref){e=f.xref+f.yref;var h=s._plots[e];if(!h){u.push(f);continue}h.mainplot&&(e=h.mainplot.id),c[e]||(c[e]=[]),c[e].push(f)}else"above"===f.layer?l.push(f):u.push(f)}var p={x:{left:{sizing:"xMin",offset:0},center:{sizing:"xMid",offset:-.5},right:{sizing:"xMax",offset:-1}},y:{top:{sizing:"YMin",offset:0},middle:{sizing:"YMid",offset:-.5},bottom:{sizing:"YMax",offset:-1}}};function d(e){var r=n.select(this);if(!this.img||this.img.src!==e.source){r.attr("xmlns",o.svg);var i=new Promise(function(t){var n=new Image;function i(){r.remove(),t()}this.img=n,n.setAttribute("crossOrigin","anonymous"),n.onerror=i,n.onload=function(){var e=document.createElement("canvas");e.width=this.width,e.height=this.height,e.getContext("2d").drawImage(this,0,0);var n=e.toDataURL("image/png");r.attr("xlink:href",n),t()},r.on("error",i),n.src=e.source}.bind(this));t._promises.push(i)}}function g(e){var r=n.select(this),o=a.getFromId(t,e.xref),l=a.getFromId(t,e.yref),c=s._size,u=o?Math.abs(o.l2p(e.sizex)-o.l2p(0)):e.sizex*c.w,f=l?Math.abs(l.l2p(e.sizey)-l.l2p(0)):e.sizey*c.h,h=u*p.x[e.xanchor].offset,d=f*p.y[e.yanchor].offset,g=p.x[e.xanchor].sizing+p.y[e.yanchor].sizing,m=(o?o.r2p(e.x)+o._offset:e.x*c.w+c.l)+h,v=(l?l.r2p(e.y)+l._offset:c.h-e.y*c.h+c.t)+d;switch(e.sizing){case"fill":g+=" slice";break;case"stretch":g="none"}r.attr({x:m,y:v,width:u,height:f,preserveAspectRatio:g,opacity:e.opacity});var y=(o?o._id:"")+(l?l._id:"");r.call(i.setClipUrl,y?"clip"+s._uid+y:null)}var m=s._imageLowerLayer.selectAll("image").data(u),v=s._imageUpperLayer.selectAll("image").data(l);m.enter().append("image"),v.enter().append("image"),m.exit().remove(),v.exit().remove(),m.each(function(t){d.bind(this)(t),g.bind(this)(t)}),v.each(function(t){d.bind(this)(t),g.bind(this)(t)});var y=Object.keys(s._plots);for(r=0;r<y.length;r++){e=y[r];var x=s._plots[e];if(x.imagelayer){var b=x.imagelayer.selectAll("image").data(c[e]||[]);b.enter().append("image"),b.exit().remove(),b.each(function(t){d.bind(this)(t),g.bind(this)(t)})}}}},{"../../constants/xmlns_namespaces":671,"../../plots/cartesian/axes":742,"../drawing":592,d3:147}],618:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"images",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),includeBasePlot:t("../../plots/cartesian/include_components")("images"),draw:t("./draw"),convertCoords:t("./convert_coords")}},{"../../plots/cartesian/include_components":752,"./attributes":614,"./convert_coords":615,"./defaults":616,"./draw":617}],619:[function(t,e,r){"use strict";r.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},r.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3},r.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3}},{}],620:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../color/attributes");e.exports={bgcolor:{valType:"color",editType:"legend"},bordercolor:{valType:"color",dflt:i.defaultLine,editType:"legend"},borderwidth:{valType:"number",min:0,dflt:0,editType:"legend"},font:n({editType:"legend"}),orientation:{valType:"enumerated",values:["v","h"],dflt:"v",editType:"legend"},traceorder:{valType:"flaglist",flags:["reversed","grouped"],extras:["normal"],editType:"legend"},tracegroupgap:{valType:"number",min:0,dflt:10,editType:"legend"},x:{valType:"number",min:-2,max:3,dflt:1.02,editType:"legend"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"legend"},y:{valType:"number",min:-2,max:3,dflt:1,editType:"legend"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"legend"},editType:"legend"}},{"../../plots/font_attributes":768,"../color/attributes":566}],621:[function(t,e,r){"use strict";e.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:"#808BA4",scrollBarMargin:4,textOffsetX:40}},{}],622:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../plot_api/plot_template"),o=t("./attributes"),s=t("../../plots/layout_attributes"),l=t("./helpers");e.exports=function(t,e,r){for(var c,u,f,h,p=t.legend||{},d=0,g=!1,m="normal",v=0;v<r.length;v++){var y=r[v];y.visible&&((y.showlegend||y._dfltShowLegend)&&(d++,y.showlegend&&(g=!0,(n.traceIs(y,"pie")||!0===y._input.showlegend)&&d++)),(n.traceIs(y,"bar")&&"stack"===e.barmode||-1!==["tonextx","tonexty"].indexOf(y.fill))&&(m=l.isGrouped({traceorder:m})?"grouped+reversed":"reversed"),void 0!==y.legendgroup&&""!==y.legendgroup&&(m=l.isReversed({traceorder:m})?"reversed+grouped":"grouped"))}if(!1!==i.coerce(t,e,s,"showlegend",g&&d>1)){var x=a.newContainer(e,"legend");if(_("bgcolor",e.paper_bgcolor),_("bordercolor"),_("borderwidth"),i.coerceFont(_,"font",e.font),_("orientation"),"h"===x.orientation){var b=t.xaxis;b&&b.rangeslider&&b.rangeslider.visible?(c=0,f="left",u=1.1,h="bottom"):(c=0,f="left",u=-.1,h="top")}_("traceorder",m),l.isGrouped(e.legend)&&_("tracegroupgap"),_("x",c),_("xanchor",f),_("y",u),_("yanchor",h),i.noneOrAll(p,x,["x","y"])}function _(t,e){return i.coerce(p,x,o,t,e)}}},{"../../lib":693,"../../plot_api/plot_template":732,"../../plots/layout_attributes":796,"../../registry":825,"./attributes":620,"./helpers":626}],623:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib/events"),l=t("../dragelement"),c=t("../drawing"),u=t("../color"),f=t("../../lib/svg_text_utils"),h=t("./handle_click"),p=t("./constants"),d=t("../../constants/interactions"),g=t("../../constants/alignment"),m=g.LINE_SPACING,v=g.FROM_TL,y=g.FROM_BR,x=t("./get_legend_data"),b=t("./style"),_=t("./helpers"),w=t("./anchor_utils"),k=d.DBLCLICKDELAY;function M(t,e,r,n,i){var a=r.data()[0][0].trace,o={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};if(a._group&&(o.group=a._group),"pie"===a.type&&(o.label=r.datum()[0].label),!1!==s.triggerHandler(t,"plotly_legendclick",o))if(1===n)e._clickTimeout=setTimeout(function(){h(r,t,n)},k);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",o)&&h(r,t,n)}}function A(t,e,r){var n=t.data()[0][0],a=e._fullLayout,s=n.trace,l=o.traceIs(s,"pie"),u=s.index,h=l?n.label:s.name,d=e._context.edits.legendText&&!l,g=i.ensureSingle(t,"text","legendtext");function v(r){f.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,i,a=t.select("g[class*=math-group]"),o=a.node(),s=e._fullLayout.legend.font.size*m;if(o){var l=c.bBox(o);n=l.height,i=l.width,c.setTranslate(a,0,n/4)}else{var u=t.select(".legendtext"),h=f.lineCount(u),d=u.node();n=s*h,i=d?c.bBox(d).width:0;var g=s*(.3+(1-h)/2);f.positionText(u,p.textOffsetX,g)}n=Math.max(n,16)+3,r.height=n,r.width=i}(t,e)})}g.attr("text-anchor","start").classed("user-select-none",!0).call(c.font,a.legend.font).text(d?T(h,r):h),f.positionText(g,p.textOffsetX,0),d?g.call(f.makeEditable,{gd:e,text:h}).call(v).on("edit",function(t){this.text(T(t,r)).call(v);var a=n.trace._fullInput||{},s={};if(o.hasTransform(a,"groupby")){var l=o.getTransformIndices(a,"groupby"),c=l[l.length-1],f=i.keyedContainer(a,"transforms["+c+"].styles","target","value.name");f.set(n.trace._group,t),s=f.constructUpdate()}else s.name=t;return o.call("restyle",e,s,u)}):v(g)}function T(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function S(t,e){var r,a=1,o=i.ensureSingle(t,"rect","legendtoggle",function(t){t.style("cursor","pointer").attr("pointer-events","all").call(u.fill,"rgba(0,0,0,0)")});o.on("mousedown",function(){(r=(new Date).getTime())-e._legendMouseDownTime<k?a+=1:(a=1,e._legendMouseDownTime=r)}),o.on("mouseup",function(){if(!e._dragged&&!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime>k&&(a=Math.max(a-1,1)),M(e,r,t,a,n.event)}})}function E(t,e,r){var i=t._fullLayout,a=i.legend,o=a.borderwidth,s=_.isGrouped(a),l=0;if(a._width=0,a._height=0,_.isVertical(a))s&&e.each(function(t,e){c.setTranslate(this,0,e*a.tracegroupgap)}),r.each(function(t){var e=t[0],r=e.height,n=e.width;c.setTranslate(this,o,5+o+a._height+r/2),a._height+=r,a._width=Math.max(a._width,n)}),a._width+=45+2*o,a._height+=10+2*o,s&&(a._height+=(a._lgroupsLength-1)*a.tracegroupgap),l=40;else if(s){for(var u=[a._width],f=e.data(),h=0,p=f.length;h<p;h++){var d=f[h].map(function(t){return t[0].width}),g=40+Math.max.apply(null,d);a._width+=a.tracegroupgap+g,u.push(a._width)}e.each(function(t,e){c.setTranslate(this,u[e],0)}),e.each(function(){var t=n.select(this).selectAll("g.traces"),e=0;t.each(function(t){var r=t[0].height;c.setTranslate(this,0,5+o+e+r/2),e+=r}),a._height=Math.max(a._height,e)}),a._height+=10+2*o,a._width+=2*o}else{var m,v=0,y=0,x=0,b=0,w=0,k=a.tracegroupgap||5;r.each(function(t){x=Math.max(40+t[0].width,x),w+=40+t[0].width+k}),m=i._size.w>o+w-k,r.each(function(t){var e=t[0],r=m?40+t[0].width:x;o+b+k+r>i._size.w&&(b=0,v+=y,a._height=a._height+y,y=0),c.setTranslate(this,o+b,5+o+e.height/2+v),a._width+=k+r,a._height=Math.max(a._height,e.height),b+=k+r,y=Math.max(e.height,y)}),a._width+=2*o,a._height+=10+2*o}a._width=Math.ceil(a._width),a._height=Math.ceil(a._height);var M=t._context.edits.legendText||t._context.edits.legendPosition;r.each(function(t){var e=t[0],r=n.select(this).select(".legendtoggle");c.setRect(r,0,-e.height/2,(M?0:a._width)+l,e.height)})}function C(t){var e=t._fullLayout.legend,r="left";w.isRightAnchor(e)?r="right":w.isCenterAnchor(e)&&(r="center");var n="top";w.isBottomAnchor(e)?n="bottom":w.isMiddleAnchor(e)&&(n="middle"),a.autoMargin(t,"legend",{x:e.x,y:e.y,l:e._width*v[r],r:e._width*y[r],b:e._height*y[n],t:e._height*v[n]})}e.exports=function(t){var e=t._fullLayout,r="legend"+e._uid;if(e._infolayer&&t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var s=e.legend,f=e.showlegend&&x(t.calcdata,s),h=e.hiddenlabels||[];if(!e.showlegend||!f.length)return e._infolayer.selectAll(".legend").remove(),e._topdefs.select("#"+r).remove(),void a.autoMargin(t,"legend");for(var d=0,g=0;g<f.length;g++)for(var m=0;m<f[g].length;m++){var _=f[g][m][0],k=_.trace,T=o.traceIs(k,"pie")?_.label:k.name;d=Math.max(d,T&&T.length||0)}var L=!1,z=i.ensureSingle(e._infolayer,"g","legend",function(t){t.attr("pointer-events","all"),L=!0}),P=i.ensureSingleById(e._topdefs,"clipPath",r,function(t){t.append("rect")}),O=i.ensureSingle(z,"rect","bg",function(t){t.attr("shape-rendering","crispEdges")});O.call(u.stroke,s.bordercolor).call(u.fill,s.bgcolor).style("stroke-width",s.borderwidth+"px");var I=i.ensureSingle(z,"g","scrollbox"),D=i.ensureSingle(z,"rect","scrollbar",function(t){t.attr({rx:20,ry:3,width:0,height:0}).call(u.fill,"#808BA4")}),R=I.selectAll("g.groups").data(f);R.enter().append("g").attr("class","groups"),R.exit().remove();var B=R.selectAll("g.traces").data(i.identity);B.enter().append("g").attr("class","traces"),B.exit().remove(),B.call(b,t).style("opacity",function(t){var e=t[0].trace;return o.traceIs(e,"pie")?-1!==h.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1}).each(function(){n.select(this).call(A,t,d).call(S,t)}),i.syncOrAsync([a.previousPromises,function(){L&&(E(t,R,B),C(t));var u=e.width,f=e.height;E(t,R,B),s._height>f?function(t){var e=t._fullLayout.legend,r="left";w.isRightAnchor(e)?r="right":w.isCenterAnchor(e)&&(r="center");a.autoMargin(t,"legend",{x:e.x,y:.5,l:e._width*v[r],r:e._width*y[r],b:0,t:0})}(t):C(t);var h=e._size,d=h.l+h.w*s.x,g=h.t+h.h*(1-s.y);w.isRightAnchor(s)?d-=s._width:w.isCenterAnchor(s)&&(d-=s._width/2),w.isBottomAnchor(s)?g-=s._height:w.isMiddleAnchor(s)&&(g-=s._height/2);var m=s._width,x=h.w;m>x?(d=h.l,m=x):(d+m>u&&(d=u-m),d<0&&(d=0),m=Math.min(u-d,s._width));var b,_,k,A,T=s._height,S=h.h;if(T>S?(g=h.t,T=S):(g+T>f&&(g=f-T),g<0&&(g=0),T=Math.min(f-g,s._height)),c.setTranslate(z,d,g),D.on(".drag",null),z.on("wheel",null),s._height<=T||t._context.staticPlot)O.attr({width:m-s.borderwidth,height:T-s.borderwidth,x:s.borderwidth/2,y:s.borderwidth/2}),c.setTranslate(I,0,0),P.select("rect").attr({width:m-2*s.borderwidth,height:T-2*s.borderwidth,x:s.borderwidth,y:s.borderwidth}),c.setClipUrl(I,r),c.setRect(D,0,0,0,0),delete s._scrollY;else{var F,N,j=Math.max(p.scrollBarMinHeight,T*T/s._height),V=T-j-2*p.scrollBarMargin,U=s._height-T,q=V/U,H=Math.min(s._scrollY||0,U);O.attr({width:m-2*s.borderwidth+p.scrollBarWidth+p.scrollBarMargin,height:T-s.borderwidth,x:s.borderwidth/2,y:s.borderwidth/2}),P.select("rect").attr({width:m-2*s.borderwidth+p.scrollBarWidth+p.scrollBarMargin,height:T-2*s.borderwidth,x:s.borderwidth,y:s.borderwidth+H}),c.setClipUrl(I,r),W(H,j,q),z.on("wheel",function(){W(H=i.constrain(s._scrollY+n.event.deltaY/V*U,0,U),j,q),0!==H&&H!==U&&n.event.preventDefault()});var G=n.behavior.drag().on("dragstart",function(){F=n.event.sourceEvent.clientY,N=H}).on("drag",function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||W(H=i.constrain((t.clientY-F)/q+N,0,U),j,q)});D.call(G)}function W(e,r,n){s._scrollY=t._fullLayout.legend._scrollY=e,c.setTranslate(I,0,-e),c.setRect(D,m,p.scrollBarMargin+e*n,p.scrollBarWidth,r),P.select("rect").attr({y:s.borderwidth+e})}t._context.edits.legendPosition&&(z.classed("cursor-move",!0),l.init({element:z.node(),gd:t,prepFn:function(){var t=c.getTranslate(z);k=t.x,A=t.y},moveFn:function(t,e){var r=k+t,n=A+e;c.setTranslate(z,r,n),b=l.align(r,0,h.l,h.l+h.w,s.xanchor),_=l.align(n,0,h.t+h.h,h.t,s.yanchor)},doneFn:function(){void 0!==b&&void 0!==_&&o.call("relayout",t,{"legend.x":b,"legend.y":_})},clickFn:function(r,n){var i=e._infolayer.selectAll("g.traces").filter(function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom});i.size()>0&&M(t,z,i,r,n)}}))}],t)}}},{"../../constants/alignment":665,"../../constants/interactions":669,"../../lib":693,"../../lib/events":681,"../../lib/svg_text_utils":718,"../../plots/plots":805,"../../registry":825,"../color":567,"../dragelement":589,"../drawing":592,"./anchor_utils":619,"./constants":621,"./get_legend_data":624,"./handle_click":625,"./helpers":626,"./style":628,d3:147}],624:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("./helpers");e.exports=function(t,e){var r,a,o={},s=[],l=!1,c={},u=0;function f(t,r){if(""!==t&&i.isGrouped(e))-1===s.indexOf(t)?(s.push(t),l=!0,o[t]=[[r]]):o[t].push([r]);else{var n="~~i"+u;s.push(n),o[n]=[[r]],u++}}for(r=0;r<t.length;r++){var h=t[r],p=h[0],d=p.trace,g=d.legendgroup;if(d.visible&&d.showlegend)if(n.traceIs(d,"pie"))for(c[g]||(c[g]={}),a=0;a<h.length;a++){var m=h[a].label;c[g][m]||(f(g,{label:m,color:h[a].color,i:h[a].i,trace:d,pts:h[a].pts}),c[g][m]=!0)}else f(g,p)}if(!s.length)return[];var v,y,x=s.length;if(l&&i.isGrouped(e))for(y=new Array(x),r=0;r<x;r++)v=o[s[r]],y[r]=i.isReversed(e)?v.reverse():v;else{for(y=[new Array(x)],r=0;r<x;r++)v=o[s[r]][0],y[0][i.isReversed(e)?x-r-1:r]=v;x=1}return e._lgroupsLength=x,y}},{"../../registry":825,"./helpers":626}],625:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=!0;e.exports=function(t,e,r){if(!e._dragged&&!e._editing){var o,s,l,c,u,f=e._fullLayout.hiddenlabels?e._fullLayout.hiddenlabels.slice():[],h=t.data()[0][0],p=e._fullData,d=h.trace,g=d.legendgroup,m={},v=[],y=[],x=[];if(1===r&&a&&e.data&&e._context.showTips?(n.notifier(n._(e,"Double-click on legend to isolate one trace"),"long"),a=!1):a=!1,i.traceIs(d,"pie")){var b=h.label,_=f.indexOf(b);1===r?-1===_?f.push(b):f.splice(_,1):2===r&&(f=[],e.calcdata[0].forEach(function(t){b!==t.label&&f.push(t.label)}),e._fullLayout.hiddenlabels&&e._fullLayout.hiddenlabels.length===f.length&&-1===_&&(f=[])),i.call("relayout",e,"hiddenlabels",f)}else{var w,k=g&&g.length,M=[];if(k)for(o=0;o<p.length;o++)(w=p[o]).visible&&w.legendgroup===g&&M.push(o);if(1===r){var A;switch(d.visible){case!0:A="legendonly";break;case!1:A=!1;break;case"legendonly":A=!0}if(k)for(o=0;o<p.length;o++)!1!==p[o].visible&&p[o].legendgroup===g&&P(p[o],A);else P(d,A)}else if(2===r){var T,S,E=!0;for(o=0;o<p.length;o++)if(!(p[o]===d)&&!(T=k&&p[o].legendgroup===g)&&!0===p[o].visible&&!i.traceIs(p[o],"notLegendIsolatable")){E=!1;break}for(o=0;o<p.length;o++)if(!1!==p[o].visible&&!i.traceIs(p[o],"notLegendIsolatable"))switch(d.visible){case"legendonly":P(p[o],!0);break;case!0:S=!!E||"legendonly",T=p[o]===d||k&&p[o].legendgroup===g,P(p[o],!!T||S)}}for(o=0;o<y.length;o++)if(l=y[o]){var C=l.constructUpdate(),L=Object.keys(C);for(s=0;s<L.length;s++)c=L[s],(m[c]=m[c]||[])[x[o]]=C[c]}for(u=Object.keys(m),o=0;o<u.length;o++)for(c=u[o],s=0;s<v.length;s++)m[c].hasOwnProperty(s)||(m[c][s]=void 0);i.call("restyle",e,m,v)}}function z(t,e,r){var n=v.indexOf(t),i=m[e];return i||(i=m[e]=[]),-1===v.indexOf(t)&&(v.push(t),n=v.length-1),i[n]=r,n}function P(t,e){var r=t._fullInput;if(i.hasTransform(r,"groupby")){var a=y[r.index];if(!a){var o=i.getTransformIndices(r,"groupby"),s=o[o.length-1];a=n.keyedContainer(r,"transforms["+s+"].styles","target","value.visible"),y[r.index]=a}var l=a.get(t._group);void 0===l&&(l=!0),!1!==l&&a.set(t._group,e),x[r.index]=z(r.index,"visible",!1!==r.visible)}else{var c=!1!==r.visible&&e;z(r.index,"visible",c)}}}},{"../../lib":693,"../../registry":825}],626:[function(t,e,r){"use strict";r.isGrouped=function(t){return-1!==(t.traceorder||"").indexOf("grouped")},r.isVertical=function(t){return"h"!==t.orientation},r.isReversed=function(t){return-1!==(t.traceorder||"").indexOf("reversed")}},{}],627:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"legend",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),draw:t("./draw"),style:t("./style")}},{"./attributes":620,"./defaults":622,"./draw":623,"./style":628}],628:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../lib"),o=t("../drawing"),s=t("../color"),l=t("../../traces/scatter/subtypes"),c=t("../../traces/pie/style_one");e.exports=function(t,e){t.each(function(t){var e=n.select(this),r=a.ensureSingle(e,"g","layers");r.style("opacity",t[0].trace.opacity),r.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),r.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var i=r.selectAll("g.legendsymbols").data([t]);i.enter().append("g").classed("legendsymbols",!0),i.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)}).each(function(t){var e=t[0].trace,r=e.marker||{},a=r.line||{},o=n.select(this).select("g.legendpoints").selectAll("path.legendbar").data(i.traceIs(e,"bar")?[t]:[]);o.enter().append("path").classed("legendbar",!0).attr("d","M6,6H-6V-6H6Z").attr("transform","translate(20,0)"),o.exit().remove(),o.each(function(t){var e=n.select(this),i=t[0],o=(i.mlw+1||a.width+1)-1;e.style("stroke-width",o+"px").call(s.fill,i.mc||r.color),o&&e.call(s.stroke,i.mlc||a.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(i.traceIs(e,"box-violin")&&e.visible?[t]:[]);r.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform","translate(20,0)"),r.exit().remove(),r.each(function(){var t=e.line.width,r=n.select(this);r.style("stroke-width",t+"px").call(s.fill,e.fillcolor),t&&s.stroke(r,e.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendpie").data(i.traceIs(e,"pie")&&e.visible?[t]:[]);r.enter().append("path").classed("legendpie",!0).attr("d","M6,6H-6V-6H6Z").attr("transform","translate(20,0)"),r.exit().remove(),r.size()&&r.call(c,t[0],e)}).each(function(t){var r=t[0].trace,i=r.visible&&r.fill&&"none"!==r.fill,a=l.hasLines(r),s=r.contours,c=!1,u=!1;if(s){var f=s.coloring;"lines"===f?c=!0:a="none"===f||"heatmap"===f||s.showlines,"constraint"===s.type?i="="!==s._operation:"fill"!==f&&"heatmap"!==f||(u=!0)}var h=l.hasMarkers(r)||l.hasText(r),p=i||u,d=a||c,g=h||!p?"M5,0":d?"M5,-2":"M5,-3",m=n.select(this),v=m.select(".legendfill").selectAll("path").data(i||u?[t]:[]);v.enter().append("path").classed("js-fill",!0),v.exit().remove(),v.attr("d",g+"h30v6h-30z").call(i?o.fillGroupStyle:function(t){if(t.size()){var n="legendfill-"+r.uid;o.gradient(t,e,n,"horizontalreversed",r.colorscale,"fill")}});var y=m.select(".legendlines").selectAll("path").data(a||c?[t]:[]);y.enter().append("path").classed("js-line",!0),y.exit().remove(),y.attr("d",g+(c?"l30,0.0001":"h30")).call(a?o.lineGroupStyle:function(t){if(t.size()){var n="legendline-"+r.uid;o.lineGroupStyle(t),o.gradient(t,e,n,"horizontalreversed",r.colorscale,"stroke")}})}).each(function(t){var r,i,s=t[0],c=s.trace,u=l.hasMarkers(c),f=l.hasText(c),h=l.hasLines(c);function p(t,e,r){var n=a.nestedProperty(c,t).get(),i=Array.isArray(n)&&e?e(n):n;if(r){if(i<r[0])return r[0];if(i>r[1])return r[1]}return i}function d(t){return t[0]}if(u||f||h){var g={},m={};if(u){g.mc=p("marker.color",d),g.mx=p("marker.symbol",d),g.mo=p("marker.opacity",a.mean,[.2,1]),g.mlc=p("marker.line.color",d),g.mlw=p("marker.line.width",a.mean,[0,5]),m.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var v=p("marker.size",a.mean,[2,16]);g.ms=v,m.marker.size=v}h&&(m.line={width:p("line.width",d,[0,10])}),f&&(g.tx="Aa",g.tp=p("textposition",d),g.ts=10,g.tc=p("textfont.color",d),g.tf=p("textfont.family",d)),r=[a.minExtend(s,g)],(i=a.minExtend(c,m)).selectedpoints=null}var y=n.select(this).select("g.legendpoints"),x=y.selectAll("path.scatterpts").data(u?r:[]);x.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform","translate(20,0)"),x.exit().remove(),x.call(o.pointStyle,i,e),u&&(r[0].mrc=3);var b=y.selectAll("g.pointtext").data(f?r:[]);b.enter().append("g").classed("pointtext",!0).append("text").attr("transform","translate(20,0)"),b.exit().remove(),b.selectAll("text").call(o.textPointStyle,i,e)}).each(function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data("candlestick"===e.type&&e.visible?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"}).attr("transform","translate(20,0)").style("stroke-miterlimit",1),r.exit().remove(),r.each(function(t,r){var i=e[r?"increasing":"decreasing"],a=i.line.width,o=n.select(this);o.style("stroke-width",a+"px").call(s.fill,i.fillcolor),a&&s.stroke(o,i.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data("ohlc"===e.type&&e.visible?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform","translate(20,0)").style("stroke-miterlimit",1),r.exit().remove(),r.each(function(t,r){var i=e[r?"increasing":"decreasing"],a=i.line.width,l=n.select(this);l.style("fill","none").call(o.dashLine,i.line.dash,a),a&&s.stroke(l,i.line.color)})})}},{"../../lib":693,"../../registry":825,"../../traces/pie/style_one":1018,"../../traces/scatter/subtypes":1056,"../color":567,"../drawing":592,d3:147}],629:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../plots/plots"),a=t("../../plots/cartesian/axis_ids"),o=t("../../lib"),s=t("../../../build/ploticon"),l=o._,c=e.exports={};function u(t,e){var r,i,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,c=t._fullLayout,u={},f=a.list(t,null,!0),h="on";if("zoom"===s){var p,d="in"===l?.5:2,g=(1+d)/2,m=(1-d)/2;for(i=0;i<f.length;i++)if(!(r=f[i]).fixedrange)if(p=r._name,"auto"===l)u[p+".autorange"]=!0;else if("reset"===l){if(void 0===r._rangeInitial)u[p+".autorange"]=!0;else{var v=r._rangeInitial.slice();u[p+".range[0]"]=v[0],u[p+".range[1]"]=v[1]}void 0!==r._showSpikeInitial&&(u[p+".showspikes"]=r._showSpikeInitial,"on"!==h||r._showSpikeInitial||(h="off"))}else{var y=[r.r2l(r.range[0]),r.r2l(r.range[1])],x=[g*y[0]+m*y[1],g*y[1]+m*y[0]];u[p+".range[0]"]=r.l2r(x[0]),u[p+".range[1]"]=r.l2r(x[1])}c._cartesianSpikesEnabled=h}else{if("hovermode"!==s||"x"!==l&&"y"!==l){if("hovermode"===s&&"closest"===l){for(i=0;i<f.length;i++)r=f[i],"on"!==h||r.showspikes||(h="off");c._cartesianSpikesEnabled=h}}else l=c._isHoriz?"y":"x",o.setAttribute("data-val",l);u[s]=l}n.call("relayout",t,u)}function f(t,e){for(var r=e.currentTarget,i=r.getAttribute("data-attr"),a=r.getAttribute("data-val")||!0,o=t._fullLayout._subplots.gl3d,s={},l=i.split("."),c=0;c<o.length;c++)s[o[c]+"."+l[1]]=a;var u="pan"===a?a:"zoom";s.dragmode=u,n.call("relayout",t,s)}function h(t,e){for(var r=e.currentTarget.getAttribute("data-attr"),i=t._fullLayout,a=i._subplots.gl3d,s={},l=0;l<a.length;l++){var c=a[l],u=c+".camera",f=i[c]._scene;"resetDefault"===r?s[u]=null:"resetLastSave"===r&&(s[u]=o.extendDeep({},f.cameraInitial))}n.call("relayout",t,s)}function p(t,e){var r=e.currentTarget,i=r._previousVal||!1,a=t.layout,s=t._fullLayout,l=s._subplots.gl3d,c=["xaxis","yaxis","zaxis"],u=["showspikes","spikesides","spikethickness","spikecolor"],f={},h={},p={};if(i)p=o.extendDeep(a,i),r._previousVal=null;else{p={"allaxes.showspikes":!1};for(var d=0;d<l.length;d++){var g=l[d],m=s[g],v=f[g]={};v.hovermode=m.hovermode,p[g+".hovermode"]=!1;for(var y=0;y<3;y++){var x=c[y];h=v[x]={};for(var b=0;b<u.length;b++){var _=u[b];h[_]=m[x][_]}}}r._previousVal=o.extendDeep({},f)}n.call("relayout",t,p)}function d(t,e){for(var r=e.currentTarget,i=r.getAttribute("data-attr"),a=r.getAttribute("data-val")||!0,o=t._fullLayout,s=o._subplots.geo,l=0;l<s.length;l++){var c=s[l],u=o[c];if("zoom"===i){var f=u.projection.scale,h="in"===a?2*f:.5*f;n.call("relayout",t,c+".projection.scale",h)}else"reset"===i&&m(t,"geo")}}function g(t){var e,r=t._fullLayout;e=r._has("cartesian")?r._isHoriz?"y":"x":"closest";var i=!t._fullLayout.hovermode&&e;n.call("relayout",t,"hovermode",i)}function m(t,e){for(var r=t._fullLayout,i=r._subplots[e],a={},o=0;o<i.length;o++)for(var s=i[o],l=r[s]._subplot.viewInitial,c=Object.keys(l),u=0;u<c.length;u++){var f=c[u];a[s+"."+f]=l[f]}n.call("relayout",t,a)}c.toImage={name:"toImage",title:function(t){var e=(t._context.toImageButtonOptions||{}).format||"png";return l(t,"png"===e?"Download plot as a png":"Download plot")},icon:s.camera,click:function(t){var e=t._context.toImageButtonOptions,r={format:e.format||"png"};o.notifier(l(t,"Taking snapshot - this may take a few seconds"),"long"),"svg"!==r.format&&o.isIE()&&(o.notifier(l(t,"IE only supports svg. Changing format to svg."),"long"),r.format="svg"),["filename","width","height","scale"].forEach(function(t){e[t]&&(r[t]=e[t])}),n.call("downloadImage",t,r).then(function(e){o.notifier(l(t,"Snapshot succeeded")+" - "+e,"long")}).catch(function(){o.notifier(l(t,"Sorry, there was a problem downloading your snapshot!"),"long")})}},c.sendDataToCloud={name:"sendDataToCloud",title:function(t){return l(t,"Edit in Chart Studio")},icon:s.disk,click:function(t){i.sendDataToCloud(t)}},c.zoom2d={name:"zoom2d",title:function(t){return l(t,"Zoom")},attr:"dragmode",val:"zoom",icon:s.zoombox,click:u},c.pan2d={name:"pan2d",title:function(t){return l(t,"Pan")},attr:"dragmode",val:"pan",icon:s.pan,click:u},c.select2d={name:"select2d",title:function(t){return l(t,"Box Select")},attr:"dragmode",val:"select",icon:s.selectbox,click:u},c.lasso2d={name:"lasso2d",title:function(t){return l(t,"Lasso Select")},attr:"dragmode",val:"lasso",icon:s.lasso,click:u},c.zoomIn2d={name:"zoomIn2d",title:function(t){return l(t,"Zoom in")},attr:"zoom",val:"in",icon:s.zoom_plus,click:u},c.zoomOut2d={name:"zoomOut2d",title:function(t){return l(t,"Zoom out")},attr:"zoom",val:"out",icon:s.zoom_minus,click:u},c.autoScale2d={name:"autoScale2d",title:function(t){return l(t,"Autoscale")},attr:"zoom",val:"auto",icon:s.autoscale,click:u},c.resetScale2d={name:"resetScale2d",title:function(t){return l(t,"Reset axes")},attr:"zoom",val:"reset",icon:s.home,click:u},c.hoverClosestCartesian={name:"hoverClosestCartesian",title:function(t){return l(t,"Show closest data on hover")},attr:"hovermode",val:"closest",icon:s.tooltip_basic,gravity:"ne",click:u},c.hoverCompareCartesian={name:"hoverCompareCartesian",title:function(t){return l(t,"Compare data on hover")},attr:"hovermode",val:function(t){return t._fullLayout._isHoriz?"y":"x"},icon:s.tooltip_compare,gravity:"ne",click:u},c.zoom3d={name:"zoom3d",title:function(t){return l(t,"Zoom")},attr:"scene.dragmode",val:"zoom",icon:s.zoombox,click:f},c.pan3d={name:"pan3d",title:function(t){return l(t,"Pan")},attr:"scene.dragmode",val:"pan",icon:s.pan,click:f},c.orbitRotation={name:"orbitRotation",title:function(t){return l(t,"Orbital rotation")},attr:"scene.dragmode",val:"orbit",icon:s["3d_rotate"],click:f},c.tableRotation={name:"tableRotation",title:function(t){return l(t,"Turntable rotation")},attr:"scene.dragmode",val:"turntable",icon:s["z-axis"],click:f},c.resetCameraDefault3d={name:"resetCameraDefault3d",title:function(t){return l(t,"Reset camera to default")},attr:"resetDefault",icon:s.home,click:h},c.resetCameraLastSave3d={name:"resetCameraLastSave3d",title:function(t){return l(t,"Reset camera to last save")},attr:"resetLastSave",icon:s.movie,click:h},c.hoverClosest3d={name:"hoverClosest3d",title:function(t){return l(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:s.tooltip_basic,gravity:"ne",click:p},c.zoomInGeo={name:"zoomInGeo",title:function(t){return l(t,"Zoom in")},attr:"zoom",val:"in",icon:s.zoom_plus,click:d},c.zoomOutGeo={name:"zoomOutGeo",title:function(t){return l(t,"Zoom out")},attr:"zoom",val:"out",icon:s.zoom_minus,click:d},c.resetGeo={name:"resetGeo",title:function(t){return l(t,"Reset")},attr:"reset",val:null,icon:s.autoscale,click:d},c.hoverClosestGeo={name:"hoverClosestGeo",title:function(t){return l(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:s.tooltip_basic,gravity:"ne",click:g},c.hoverClosestGl2d={name:"hoverClosestGl2d",title:function(t){return l(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:s.tooltip_basic,gravity:"ne",click:g},c.hoverClosestPie={name:"hoverClosestPie",title:function(t){return l(t,"Toggle show closest data on hover")},attr:"hovermode",val:"closest",icon:s.tooltip_basic,gravity:"ne",click:g},c.toggleHover={name:"toggleHover",title:function(t){return l(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:s.tooltip_basic,gravity:"ne",click:function(t,e){g(t),p(t,e)}},c.resetViews={name:"resetViews",title:function(t){return l(t,"Reset views")},icon:s.home,click:function(t,e){var r=e.currentTarget;r.setAttribute("data-attr","zoom"),r.setAttribute("data-val","reset"),u(t,e),r.setAttribute("data-attr","resetLastSave"),h(t,e),m(t,"geo"),m(t,"mapbox")}},c.toggleSpikelines={name:"toggleSpikelines",title:function(t){return l(t,"Toggle Spike Lines")},icon:s.spikeline,attr:"_cartesianSpikesEnabled",val:"on",click:function(t){var e=t._fullLayout;e._cartesianSpikesEnabled="on"===e._cartesianSpikesEnabled?"off":"on";var r=function(t){for(var e,r,n=t._fullLayout,i=a.list(t,null,!0),o={},s=0;s<i.length;s++)e=i[s],r=e._name,o[r+".showspikes"]="on"===n._cartesianSpikesEnabled||e._showSpikeInitial;return o}(t);n.call("relayout",t,r)}},c.resetViewMapbox={name:"resetViewMapbox",title:function(t){return l(t,"Reset view")},attr:"reset",icon:s.home,click:function(t){m(t,"mapbox")}}},{"../../../build/ploticon":2,"../../lib":693,"../../plots/cartesian/axis_ids":745,"../../plots/plots":805,"../../registry":825}],630:[function(t,e,r){"use strict";r.manage=t("./manage")},{"./manage":631}],631:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axis_ids"),i=t("../../traces/scatter/subtypes"),a=t("../../registry"),o=t("./modebar"),s=t("./buttons");e.exports=function(t){var e=t._fullLayout,r=t._context,l=e._modeBar;if(r.displayModeBar){if(!Array.isArray(r.modeBarButtonsToRemove))throw new Error(["*modeBarButtonsToRemove* configuration options","must be an array."].join(" "));if(!Array.isArray(r.modeBarButtonsToAdd))throw new Error(["*modeBarButtonsToAdd* configuration options","must be an array."].join(" "));var c,u=r.modeBarButtons;c=Array.isArray(u)&&u.length?function(t){for(var e=0;e<t.length;e++)for(var r=t[e],n=0;n<r.length;n++){var i=r[n];if("string"==typeof i){if(void 0===s[i])throw new Error(["*modeBarButtons* configuration options","invalid button name"].join(" "));t[e][n]=s[i]}}return t}(u):function(t,e,r){var o=t._fullLayout,l=t._fullData,c=o._has("cartesian"),u=o._has("gl3d"),f=o._has("geo"),h=o._has("pie"),p=o._has("gl2d"),d=o._has("ternary"),g=o._has("mapbox"),m=o._has("polar"),v=function(t){for(var e=n.list({_fullLayout:t},null,!0),r=0;r<e.length;r++)if(!e[r].fixedrange)return!1;return!0}(o),y=[];function x(t){if(t.length){for(var r=[],n=0;n<t.length;n++){var i=t[n];-1===e.indexOf(i)&&r.push(s[i])}y.push(r)}}x(["toImage","sendDataToCloud"]);var b=[],_=[],w=[],k=[];(c||p||h||d)+f+u+g+m>1?(_=["toggleHover"],w=["resetViews"]):f?(b=["zoomInGeo","zoomOutGeo"],_=["hoverClosestGeo"],w=["resetGeo"]):u?(_=["hoverClosest3d"],w=["resetCameraDefault3d","resetCameraLastSave3d"]):g?(_=["toggleHover"],w=["resetViewMapbox"]):_=p?["hoverClosestGl2d"]:h?["hoverClosestPie"]:["toggleHover"];c&&(_=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]);!c&&!p||v||(b=["zoomIn2d","zoomOut2d","autoScale2d"],"resetViews"!==w[0]&&(w=["resetScale2d"]));u?k=["zoom3d","pan3d","orbitRotation","tableRotation"]:(c||p)&&!v||d?k=["zoom2d","pan2d"]:g||f?k=["pan2d"]:m&&(k=["zoom2d"]);(function(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(a.traceIs(n,"scatter-like")?(i.hasMarkers(n)||i.hasText(n))&&(e=!0):a.traceIs(n,"box-violin")&&"all"!==n.boxpoints&&"all"!==n.points||(e=!0))}return e})(l)&&k.push("select2d","lasso2d");return x(k),x(b.concat(w)),x(_),function(t,e){if(e.length)if(Array.isArray(e[0]))for(var r=0;r<e.length;r++)t.push(e[r]);else t.push(e);return t}(y,r)}(t,r.modeBarButtonsToRemove,r.modeBarButtonsToAdd),l?l.update(t,c):e._modeBar=o(t,c)}else l&&(l.destroy(),delete e._modeBar)}},{"../../plots/cartesian/axis_ids":745,"../../registry":825,"../../traces/scatter/subtypes":1056,"./buttons":629,"./modebar":632}],632:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../lib"),o=t("../../../build/ploticon");function s(t){this.container=t.container,this.element=document.createElement("div"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}var l=s.prototype;l.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context;"hover"===r.displayModeBar?this.element.className="modebar modebar--hover":this.element.className="modebar";var n=!this.hasButtons(e),i=this.hasLogo!==r.displaylogo,a=this.locale!==r.locale;this.locale=r.locale,(n||i||a)&&(this.removeAllButtons(),this.updateButtons(e),r.displaylogo&&(this.element.appendChild(this.getLogo()),this.hasLogo=!0)),this.updateActiveButton()},l.updateButtons=function(t){var e=this;this.buttons=t,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(t){var r=e.createGroup();t.forEach(function(t){var n=t.name;if(!n)throw new Error("must provide button 'name' in button config");if(-1!==e.buttonsNames.indexOf(n))throw new Error("button name '"+n+"' is taken");e.buttonsNames.push(n);var i=e.createButton(t);e.buttonElements.push(i),r.appendChild(i)}),e.element.appendChild(r)})},l.createGroup=function(){var t=document.createElement("div");return t.className="modebar-group",t},l.createButton=function(t){var e=this,r=document.createElement("a");r.setAttribute("rel","tooltip"),r.className="modebar-btn";var i=t.title;void 0===i?i=t.name:"function"==typeof i&&(i=i(this.graphInfo)),(i||0===i)&&r.setAttribute("data-title",i),void 0!==t.attr&&r.setAttribute("data-attr",t.attr);var a=t.val;if(void 0!==a&&("function"==typeof a&&(a=a(this.graphInfo)),r.setAttribute("data-val",a)),"function"!=typeof t.click)throw new Error("must provide button 'click' function in button config");r.addEventListener("click",function(r){t.click(e.graphInfo,r),e.updateActiveButton(r.currentTarget)}),r.setAttribute("data-toggle",t.toggle||!1),t.toggle&&n.select(r).classed("active",!0);var s=t.icon;return"function"==typeof s?r.appendChild(s()):r.appendChild(this.createIcon(s||o.question)),r.setAttribute("data-gravity",t.gravity||"n"),r},l.createIcon=function(t){var e=i(t.height)?Number(t.height):t.ascent-t.descent,r="http://www.w3.org/2000/svg",n=document.createElementNS(r,"svg"),a=document.createElementNS(r,"path");return n.setAttribute("height","1em"),n.setAttribute("width",t.width/e+"em"),n.setAttribute("viewBox",[0,0,t.width,e].join(" ")),a.setAttribute("d",t.path),t.transform?a.setAttribute("transform",t.transform):void 0!==t.ascent&&a.setAttribute("transform","matrix(1 0 0 -1 0 "+t.ascent+")"),n.appendChild(a),n},l.updateActiveButton=function(t){var e=this.graphInfo._fullLayout,r=void 0!==t?t.getAttribute("data-attr"):null;this.buttonElements.forEach(function(t){var i=t.getAttribute("data-val")||!0,o=t.getAttribute("data-attr"),s="true"===t.getAttribute("data-toggle"),l=n.select(t);if(s)o===r&&l.classed("active",!l.classed("active"));else{var c=null===o?o:a.nestedProperty(e,o).get();l.classed("active",c===i)}})},l.hasButtons=function(t){var e=this.buttons;if(!e)return!1;if(t.length!==e.length)return!1;for(var r=0;r<t.length;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;n++)if(t[r][n].name!==e[r][n].name)return!1}return!0},l.getLogo=function(){var t=this.createGroup(),e=document.createElement("a");return e.href="https://plot.ly/",e.target="_blank",e.setAttribute("data-title",a._(this.graphInfo,"Produced with Plotly")),e.className="modebar-btn plotlyjsicon modebar-btn--logo",e.appendChild(this.createIcon(o.plotlylogo)),t.appendChild(e),t},l.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},l.destroy=function(){a.removeElement(this.container.querySelector(".modebar"))},e.exports=function(t,e){var r=t._fullLayout,i=new s({graphInfo:t,container:r._paperdiv.node(),buttons:e});return r._privateplot&&n.select(i.element).append("span").classed("badge-private float--left",!0).text("PRIVATE"),i}},{"../../../build/ploticon":2,"../../lib":693,d3:147,"fast-isnumeric":213}],633:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../color/attributes"),a=(0,t("../../plot_api/plot_template").templatedArray)("button",{visible:{valType:"boolean",dflt:!0,editType:"plot"},step:{valType:"enumerated",values:["month","year","day","hour","minute","second","all"],dflt:"month",editType:"plot"},stepmode:{valType:"enumerated",values:["backward","todate"],dflt:"backward",editType:"plot"},count:{valType:"number",min:0,dflt:1,editType:"plot"},label:{valType:"string",editType:"plot"},editType:"plot"});e.exports={visible:{valType:"boolean",editType:"plot"},buttons:a,x:{valType:"number",min:-2,max:3,editType:"plot"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"plot"},y:{valType:"number",min:-2,max:3,editType:"plot"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"bottom",editType:"plot"},font:n({editType:"plot"}),bgcolor:{valType:"color",dflt:i.lightLine,editType:"plot"},activecolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:i.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"}},{"../../plot_api/plot_template":732,"../../plots/font_attributes":768,"../color/attributes":566}],634:[function(t,e,r){"use strict";e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],635:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../color"),a=t("../../plot_api/plot_template"),o=t("../../plots/array_container_defaults"),s=t("./attributes"),l=t("./constants");function c(t,e,r,i){var a=i.calendar;function o(r,i){return n.coerce(t,e,s.buttons,r,i)}if(o("visible")){var l=o("step");"all"!==l&&(!a||"gregorian"===a||"month"!==l&&"year"!==l?o("stepmode"):e.stepmode="backward",o("count")),o("label")}}e.exports=function(t,e,r,u,f){var h=t.rangeselector||{},p=a.newContainer(e,"rangeselector");function d(t,e){return n.coerce(h,p,s,t,e)}if(d("visible",o(h,p,{name:"buttons",handleItemDefaults:c,calendar:f}).length>0)){var g=function(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),i=0,a=0;a<n.length;a++){var o=e[n[a]].domain;o&&(i=Math.max(o[1],i))}return[t.domain[0],i+l.yPad]}(e,r,u);d("x",g[0]),d("y",g[1]),n.noneOrAll(t,e,["x","y"]),d("xanchor"),d("yanchor"),n.coerceFont(d,"font",r.font);var m=d("bgcolor");d("activecolor",i.contrast(m,l.lightAmount,l.darkAmount)),d("bordercolor"),d("borderwidth")}}},{"../../lib":693,"../../plot_api/plot_template":732,"../../plots/array_container_defaults":738,"../color":567,"./attributes":633,"./constants":634}],636:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../plots/plots"),o=t("../color"),s=t("../drawing"),l=t("../../lib"),c=t("../../lib/svg_text_utils"),u=t("../../plots/cartesian/axis_ids"),f=t("../legend/anchor_utils"),h=t("../../constants/alignment"),p=h.LINE_SPACING,d=h.FROM_TL,g=h.FROM_BR,m=t("./constants"),v=t("./get_update_object");function y(t){return t._id}function x(t,e,r){var n=l.ensureSingle(t,"rect","selector-rect",function(t){t.attr("shape-rendering","crispEdges")});n.attr({rx:m.rx,ry:m.ry}),n.call(o.stroke,e.bordercolor).call(o.fill,function(t,e){return e._isActive||e._isHovered?t.activecolor:t.bgcolor}(e,r)).style("stroke-width",e.borderwidth+"px")}function b(t,e,r,n){var i;l.ensureSingle(t,"text","selector-text",function(t){t.classed("user-select-none",!0).attr("text-anchor","middle")}).call(s.font,e.font).text((i=r,i.label?i.label:"all"===i.step?"all":i.count+i.step.charAt(0))).call(function(t){c.convertToTspans(t,n)})}e.exports=function(t){var e=t._fullLayout._infolayer.selectAll(".rangeselector").data(function(t){for(var e=u.list(t,"x",!0),r=[],n=0;n<e.length;n++){var i=e[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}(t),y);e.enter().append("g").classed("rangeselector",!0),e.exit().remove(),e.style({cursor:"pointer","pointer-events":"all"}),e.each(function(e){var r=n.select(this),o=e,u=o.rangeselector,h=r.selectAll("g.button").data(l.filterVisible(u.buttons));h.enter().append("g").classed("button",!0),h.exit().remove(),h.each(function(e){var r=n.select(this),a=v(o,e);e._isActive=function(t,e,r){if("all"===e.step)return!0===t.autorange;var n=Object.keys(r);return t.range[0]===r[n[0]]&&t.range[1]===r[n[1]]}(o,e,a),r.call(x,u,e),r.call(b,u,e,t),r.on("click",function(){t._dragged||i.call("relayout",t,a)}),r.on("mouseover",function(){e._isHovered=!0,r.call(x,u,e)}),r.on("mouseout",function(){e._isHovered=!1,r.call(x,u,e)})}),function(t,e,r,i,o){var l=0,u=0,h=r.borderwidth;e.each(function(){var t=n.select(this),e=t.select(".selector-text"),i=r.font.size*p,a=Math.max(i*c.lineCount(e),16)+3;u=Math.max(u,a)}),e.each(function(){var t=n.select(this),e=t.select(".selector-rect"),i=t.select(".selector-text"),a=i.node()&&s.bBox(i.node()).width,o=r.font.size*p,f=c.lineCount(i),d=Math.max(a+10,m.minButtonWidth);t.attr("transform","translate("+(h+l)+","+h+")"),e.attr({x:0,y:0,width:d,height:u}),c.positionText(i,d/2,u/2-(f-1)*o/2+3),l+=d+5});var v=t._fullLayout._size,y=v.l+v.w*r.x,x=v.t+v.h*(1-r.y),b="left";f.isRightAnchor(r)&&(y-=l,b="right");f.isCenterAnchor(r)&&(y-=l/2,b="center");var _="top";f.isBottomAnchor(r)&&(x-=u,_="bottom");f.isMiddleAnchor(r)&&(x-=u/2,_="middle");l=Math.ceil(l),u=Math.ceil(u),y=Math.round(y),x=Math.round(x),a.autoMargin(t,i+"-range-selector",{x:r.x,y:r.y,l:l*d[b],r:l*g[b],b:u*g[_],t:u*d[_]}),o.attr("transform","translate("+y+","+x+")")}(t,h,u,o._name,r)})}},{"../../constants/alignment":665,"../../lib":693,"../../lib/svg_text_utils":718,"../../plots/cartesian/axis_ids":745,"../../plots/plots":805,"../../registry":825,"../color":567,"../drawing":592,"../legend/anchor_utils":619,"./constants":634,"./get_update_object":637,d3:147}],637:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t,e){var r=t._name,i={};if("all"===e.step)i[r+".autorange"]=!0;else{var a=function(t,e){var r,i=t.range,a=new Date(t.r2l(i[1])),o=e.step,s=e.count;switch(e.stepmode){case"backward":r=t.l2r(+n.time[o].utc.offset(a,-s));break;case"todate":var l=n.time[o].utc.offset(a,-s);r=t.l2r(+n.time[o].utc.ceil(l))}var c=i[1];return[r,c]}(t,e);i[r+".range[0]"]=a[0],i[r+".range[1]"]=a[1]}return i}},{d3:147}],638:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"rangeselector",schema:{subplots:{xaxis:{rangeselector:t("./attributes")}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),draw:t("./draw")}},{"./attributes":633,"./defaults":635,"./draw":636}],639:[function(t,e,r){"use strict";var n=t("../color/attributes");e.exports={bgcolor:{valType:"color",dflt:n.background,editType:"plot"},bordercolor:{valType:"color",dflt:n.defaultLine,editType:"plot"},borderwidth:{valType:"integer",dflt:0,min:0,editType:"plot"},autorange:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},range:{valType:"info_array",items:[{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}}],editType:"calc",impliedEdits:{autorange:!1}},thickness:{valType:"number",dflt:.15,min:0,max:1,editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"}},{"../color/attributes":566}],640:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axis_ids").list,i=t("../../plots/cartesian/autorange").getAutoRange,a=t("./constants");e.exports=function(t){for(var e=n(t,"x",!0),r=0;r<e.length;r++){var o=e[r],s=o[a.name];s&&s.visible&&s.autorange&&(s._input.autorange=!0,s._input.range=s.range=i(t,o))}}},{"../../plots/cartesian/autorange":741,"../../plots/cartesian/axis_ids":745,"./constants":641}],641:[function(t,e,r){"use strict";e.exports={name:"rangeslider",containerClassName:"rangeslider-container",bgClassName:"rangeslider-bg",rangePlotClassName:"rangeslider-rangeplot",maskMinClassName:"rangeslider-mask-min",maskMaxClassName:"rangeslider-mask-max",slideBoxClassName:"rangeslider-slidebox",grabberMinClassName:"rangeslider-grabber-min",grabAreaMinClassName:"rangeslider-grabarea-min",handleMinClassName:"rangeslider-handle-min",grabberMaxClassName:"rangeslider-grabber-max",grabAreaMaxClassName:"rangeslider-grabarea-max",handleMaxClassName:"rangeslider-handle-max",maskMinOppAxisClassName:"rangeslider-mask-min-opp-axis",maskMaxOppAxisClassName:"rangeslider-mask-max-opp-axis",maskColor:"rgba(0,0,0,0.4)",maskOppAxisColor:"rgba(0,0,0,0.2)",slideBoxFill:"transparent",slideBoxCursor:"ew-resize",grabAreaFill:"transparent",grabAreaCursor:"col-resize",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}},{}],642:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plot_api/plot_template"),a=t("../../plots/cartesian/axis_ids"),o=t("./attributes"),s=t("./oppaxis_attributes");e.exports=function(t,e,r){var l=t[r],c=e[r];if(l.rangeslider||e._requestRangeslider[c._id]){n.isPlainObject(l.rangeslider)||(l.rangeslider={});var u,f,h=l.rangeslider,p=i.newContainer(c,"rangeslider");if(_("visible")){_("bgcolor",e.plot_bgcolor),_("bordercolor"),_("borderwidth"),_("thickness"),_("autorange",!c.isValidRange(h.range)),_("range");var d=e._subplots;if(d)for(var g=d.cartesian.filter(function(t){return t.substr(0,t.indexOf("y"))===a.name2id(r)}).map(function(t){return t.substr(t.indexOf("y"),t.length)}),m=n.simpleMap(g,a.id2name),v=0;v<m.length;v++){var y=m[v];u=h[y]||{},f=i.newContainer(p,y,"yaxis");var x,b=e[y];u.range&&b.isValidRange(u.range)&&(x="fixed"),"match"!==w("rangemode",x)&&w("range",b.range.slice())}p._input=h}}function _(t,e){return n.coerce(h,p,o,t,e)}function w(t,e){return n.coerce(u,f,s,t,e)}}},{"../../lib":693,"../../plot_api/plot_template":732,"../../plots/cartesian/axis_ids":745,"./attributes":639,"./oppaxis_attributes":645}],643:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../plots/plots"),o=t("../../lib"),s=t("../drawing"),l=t("../color"),c=t("../titles"),u=t("../../plots/cartesian"),f=t("../../plots/cartesian/axes"),h=t("../dragelement"),p=t("../../lib/setcursor"),d=t("./constants");function g(t,e,r,n){var i=o.ensureSingle(t,"rect",d.bgClassName,function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})}),a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,l=-n._offsetShift,c=s.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:"translate("+l+","+l+")",fill:n.bgcolor,stroke:n.bordercolor,"stroke-width":c})}function m(t,e,r,n){var i=e._fullLayout;o.ensureSingleById(i._topdefs,"clipPath",n._clipId,function(t){t.append("rect").attr({x:0,y:0})}).select("rect").attr({width:n._width,height:n._height})}function v(t,e,r,i){var l,c=f.getSubplots(e,r),h=e.calcdata,p=t.selectAll("g."+d.rangePlotClassName).data(c,o.identity);p.enter().append("g").attr("class",function(t){return d.rangePlotClassName+" "+t}).call(s.setClipUrl,i._clipId),p.order(),p.exit().remove(),p.each(function(t,o){var s=n.select(this),c=0===o,p=f.getFromId(e,t,"y"),d=p._name,g=i[d],m={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:i.range.slice(),calendar:r.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};m.layout[d]={type:p.type,domain:[0,1],range:"match"!==g.rangemode?g.range.slice():p.range.slice(),calendar:p.calendar},a.supplyDefaults(m);var v={id:t,plotgroup:s,xaxis:m._fullLayout.xaxis,yaxis:m._fullLayout[d],isRangePlot:!0};c?l=v:(v.mainplot="xy",v.mainplotinfo=l),u.rangePlot(e,v,function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a.xaxis+a.yaxis===e&&r.push(i)}return r}(h,t))})}function y(t,e,r,n,i){(o.ensureSingle(t,"rect",d.maskMinClassName,function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})}).attr("height",n._height).call(l.fill,d.maskColor),o.ensureSingle(t,"rect",d.maskMaxClassName,function(t){t.attr({y:0,"shape-rendering":"crispEdges"})}).attr("height",n._height).call(l.fill,d.maskColor),"match"!==i.rangemode)&&(o.ensureSingle(t,"rect",d.maskMinOppAxisClassName,function(t){t.attr({y:0,"shape-rendering":"crispEdges"})}).attr("width",n._width).call(l.fill,d.maskOppAxisColor),o.ensureSingle(t,"rect",d.maskMaxOppAxisClassName,function(t){t.attr({y:0,"shape-rendering":"crispEdges"})}).attr("width",n._width).style("border-top",d.maskOppBorder).call(l.fill,d.maskOppAxisColor))}function x(t,e,r,n){e._context.staticPlot||o.ensureSingle(t,"rect",d.slideBoxClassName,function(t){t.attr({y:0,cursor:d.slideBoxCursor,"shape-rendering":"crispEdges"})}).attr({height:n._height,fill:d.slideBoxFill})}function b(t,e,r,n){var i=o.ensureSingle(t,"g",d.grabberMinClassName),a=o.ensureSingle(t,"g",d.grabberMaxClassName),s={x:0,width:d.handleWidth,rx:d.handleRadius,fill:l.background,stroke:l.defaultLine,"stroke-width":d.handleStrokeWidth,"shape-rendering":"crispEdges"},c={y:Math.round(n._height/4),height:Math.round(n._height/2)};if(o.ensureSingle(i,"rect",d.handleMinClassName,function(t){t.attr(s)}).attr(c),o.ensureSingle(a,"rect",d.handleMaxClassName,function(t){t.attr(s)}).attr(c),!e._context.staticPlot){var u={width:d.grabAreaWidth,x:0,y:0,fill:d.grabAreaFill,cursor:d.grabAreaCursor};o.ensureSingle(i,"rect",d.grabAreaMinClassName,function(t){t.attr(u)}).attr("height",n._height),o.ensureSingle(a,"rect",d.grabAreaMaxClassName,function(t){t.attr(u)}).attr("height",n._height)}}e.exports=function(t){var e=t._fullLayout,r=function(t){var e=f.list({_fullLayout:t},"x",!0),r=d.name,n=[];if(t._has("gl2d"))return n;for(var i=0;i<e.length;i++){var a=e[i];a[r]&&a[r].visible&&n.push(a)}return n}(e);var s=e._infolayer.selectAll("g."+d.containerClassName).data(r,function(t){return t._name});s.enter().append("g").classed(d.containerClassName,!0).attr("pointer-events","all"),s.exit().each(function(t){var r=t[d.name];e._topdefs.select("#"+r._clipId).remove()}).remove(),0!==r.length&&s.each(function(r){var s=n.select(this),l=r[d.name],u=e[f.id2name(r.anchor)],_=l[f.id2name(r.anchor)];if(l.range){var w=l.range,k=r.range;w[0]=r.l2r(Math.min(r.r2l(w[0]),r.r2l(k[0]))),w[1]=r.l2r(Math.max(r.r2l(w[1]),r.r2l(k[1]))),l._input.range=w.slice()}r.cleanRange("rangeslider.range");for(var M=e.margin,A=e._size,T=r.domain,S=(r._boundingBox||{}).height||0,E=1/0,C=f.getSubplots(t,r),L=0;L<C.length;L++){var z=f.getFromId(t,C[L].substr(C[L].indexOf("y")));E=Math.min(E,z.domain[0])}l._id=d.name+r._id,l._clipId=l._id+"-"+e._uid,l._width=A.w*(T[1]-T[0]),l._height=(e.height-M.b-M.t)*l.thickness,l._offsetShift=Math.floor(l.borderwidth/2);var P=Math.round(M.l+A.w*T[0]),O=Math.round(A.t+A.h*(1-E)+S+l._offsetShift+d.extraPad);s.attr("transform","translate("+P+","+O+")");var I=r.r2l(l.range[0]),D=r.r2l(l.range[1]),R=D-I;if(l.p2d=function(t){return t/l._width*R+I},l.d2p=function(t){return(t-I)/R*l._width},l._rl=[I,D],"match"!==_.rangemode){var B=u.r2l(_.range[0]),F=u.r2l(_.range[1])-B;l.d2pOppAxis=function(t){return(t-B)/F*l._height}}s.call(g,t,r,l).call(m,t,r,l).call(v,t,r,l).call(y,t,r,l,_).call(x,t,r,l).call(b,t,r,l),function(t,e,r,a){var s=t.select("rect."+d.slideBoxClassName).node(),l=t.select("rect."+d.grabAreaMinClassName).node(),c=t.select("rect."+d.grabAreaMaxClassName).node();t.on("mousedown",function(){var u=n.event,f=u.target,d=u.clientX,g=d-t.node().getBoundingClientRect().left,m=a.d2p(r._rl[0]),v=a.d2p(r._rl[1]),y=h.coverSlip();function x(t){var u,h,x,b=+t.clientX-d;switch(f){case s:x="ew-resize",u=m+b,h=v+b;break;case l:x="col-resize",u=m+b,h=v;break;case c:x="col-resize",u=m,h=v+b;break;default:x="ew-resize",u=g,h=g+b}if(h<u){var _=h;h=u,u=_}a._pixelMin=u,a._pixelMax=h,p(n.select(y),x),function(t,e,r,n){function a(t){return r.l2r(o.constrain(t,n._rl[0],n._rl[1]))}var s=a(n.p2d(n._pixelMin)),l=a(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){i.call("relayout",e,r._name+".range",[s,l])})}(0,e,r,a)}y.addEventListener("mousemove",x),y.addEventListener("mouseup",function t(){y.removeEventListener("mousemove",x);y.removeEventListener("mouseup",t);o.removeElement(y)})})}(s,t,r,l),function(t,e,r,n,i,a){var s=d.handleWidth/2;function l(t){return o.constrain(t,0,n._width)}function c(t){return o.constrain(t,0,n._height)}function u(t){return o.constrain(t,-s,n._width+s)}var f=l(n.d2p(r._rl[0])),h=l(n.d2p(r._rl[1]));if(t.select("rect."+d.slideBoxClassName).attr("x",f).attr("width",h-f),t.select("rect."+d.maskMinClassName).attr("width",f),t.select("rect."+d.maskMaxClassName).attr("x",h).attr("width",n._width-h),"match"!==a.rangemode){var p=n._height-c(n.d2pOppAxis(i._rl[1])),g=n._height-c(n.d2pOppAxis(i._rl[0]));t.select("rect."+d.maskMinOppAxisClassName).attr("x",f).attr("height",p).attr("width",h-f),t.select("rect."+d.maskMaxOppAxisClassName).attr("x",f).attr("y",g).attr("height",n._height-g).attr("width",h-f),t.select("rect."+d.slideBoxClassName).attr("y",p).attr("height",g-p)}var m=Math.round(u(f-s))-.5,v=Math.round(u(h-s))+.5;t.select("g."+d.grabberMinClassName).attr("transform","translate("+m+",0.5)"),t.select("g."+d.grabberMaxClassName).attr("transform","translate("+v+",0.5)")}(s,0,r,l,u,_),"bottom"===r.side&&c.draw(t,r._id+"title",{propContainer:r,propName:r._name+".title",placeholder:e._dfltTitle.x,attributes:{x:r._offset+r._length/2,y:O+l._height+l._offsetShift+10+1.5*r.titlefont.size,"text-anchor":"middle"}}),a.autoMargin(t,l._id,{x:T[0],y:E,l:0,r:0,t:0,b:l._height+M.b+S,pad:d.extraPad+2*l._offsetShift})})}},{"../../lib":693,"../../lib/setcursor":714,"../../plots/cartesian":753,"../../plots/cartesian/axes":742,"../../plots/plots":805,"../../registry":825,"../color":567,"../dragelement":589,"../drawing":592,"../titles":658,"./constants":641,d3:147}],644:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("./oppaxis_attributes");e.exports={moduleType:"component",name:"rangeslider",schema:{subplots:{xaxis:{rangeslider:n.extendFlat({},i,{yaxis:a})}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),calcAutorange:t("./calc_autorange"),draw:t("./draw")}},{"../../lib":693,"./attributes":639,"./calc_autorange":640,"./defaults":642,"./draw":643,"./oppaxis_attributes":645}],645:[function(t,e,r){"use strict";e.exports={_isSubplotObj:!0,rangemode:{valType:"enumerated",values:["auto","fixed","match"],dflt:"match",editType:"calc"},range:{valType:"info_array",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},editType:"calc"}},{}],646:[function(t,e,r){"use strict";var n=t("../annotations/attributes"),i=t("../../traces/scatter/attributes").line,a=t("../drawing/attributes").dash,o=t("../../lib/extend").extendFlat,s=t("../../plot_api/plot_template").templatedArray;e.exports=s("shape",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},xref:o({},n.xref,{}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},yref:o({},n.yref,{}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:o({},i.color,{editType:"arraydraw"}),width:o({},i.width,{editType:"calc+arraydraw"}),dash:o({},a,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},editType:"arraydraw"})},{"../../lib/extend":682,"../../plot_api/plot_template":732,"../../traces/scatter/attributes":1032,"../annotations/attributes":550,"../drawing/attributes":591}],647:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("./constants"),o=t("./helpers");function s(t){return c(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return c(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function c(t,e,r,i,s,l){var c=t/2,u=l;if("pixel"===e){var f=s?o.extractPathCoords(s,l?a.paramIsY:a.paramIsX):[r,i],h=n.aggNums(Math.max,null,f),p=n.aggNums(Math.min,null,f),d=p<0?Math.abs(p)+c:c,g=h>0?h+c:c;return{ppad:c,ppadplus:u?d:g,ppadminus:u?g:d}}return{ppad:c}}function u(t,e,r,n,i){var s="category"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,c,u,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for("date"===t.type&&(s=o.decodeDate(s)),l=0;l<d.length;l++)void 0!==(c=i[d[l].charAt(0)].drawn)&&(!(u=d[l].substr(1).match(a.paramRE))||u.length<c||((f=s(u[c]))<h&&(h=f),f>p&&(p=f)));return p>=h?[h,p]:void 0}}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o<r.length;o++){var c,f,h=r[o];if(h._extremes={},"paper"!==h.xref){var p="pixel"===h.xsizemode?h.xanchor:h.x0,d="pixel"===h.xsizemode?h.xanchor:h.x1;(f=u(c=i.getFromId(t,h.xref),p,d,h.path,a.paramIsX))&&(h._extremes[c._id]=i.findExtremes(c,f,s(h)))}if("paper"!==h.yref){var g="pixel"===h.ysizemode?h.yanchor:h.y0,m="pixel"===h.ysizemode?h.yanchor:h.y1;(f=u(c=i.getFromId(t,h.yref),g,m,h.path,a.paramIsY))&&(h._extremes[c._id]=i.findExtremes(c,f,l(h)))}}}},{"../../lib":693,"../../plots/cartesian/axes":742,"./constants":648,"./helpers":651}],648:[function(t,e,r){"use strict";e.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}},{}],649:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../../plots/array_container_defaults"),o=t("./attributes"),s=t("./helpers");function l(t,e,r){function a(r,i){return n.coerce(t,e,o,r,i)}if(a("visible")){a("layer"),a("opacity"),a("fillcolor"),a("line.color"),a("line.width"),a("line.dash");for(var l=a("type",t.path?"path":"rect"),c=a("xsizemode"),u=a("ysizemode"),f=["x","y"],h=0;h<2;h++){var p,d,g,m=f[h],v=m+"anchor",y="x"===m?c:u,x={_fullLayout:r},b=i.coerceRef(t,e,x,m,"","paper");if("paper"!==b?((p=i.getFromId(x,b))._shapeIndices.push(e._index),g=s.rangeToShapePosition(p),d=s.shapePositionToRange(p)):d=g=n.identity,"path"!==l){var _=m+"0",w=m+"1",k=t[_],M=t[w];t[_]=d(t[_],!0),t[w]=d(t[w],!0),"pixel"===y?(a(_,0),a(w,10)):(i.coercePosition(e,x,a,b,_,.25),i.coercePosition(e,x,a,b,w,.75)),e[_]=g(e[_]),e[w]=g(e[w]),t[_]=k,t[w]=M}if("pixel"===y){var A=t[v];t[v]=d(t[v],!0),i.coercePosition(e,x,a,b,v,.25),e[v]=g(e[v]),t[v]=A}}"path"===l?a("path"):n.noneOrAll(t,e,["x0","x1","y0","y1"])}}e.exports=function(t,e){a(t,e,{name:"shapes",handleItemDefaults:l})}},{"../../lib":693,"../../plots/array_container_defaults":738,"../../plots/cartesian/axes":742,"./attributes":646,"./helpers":651}],650:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../plots/cartesian/axes"),o=t("../color"),s=t("../drawing"),l=t("../../plot_api/plot_template").arrayEditor,c=t("../dragelement"),u=t("../../lib/setcursor"),f=t("./constants"),h=t("./helpers");function p(t,e){t._fullLayout._paperdiv.selectAll('.shapelayer [data-index="'+e+'"]').remove();var r=t._fullLayout.shapes[e]||{};if(r._input&&!1!==r.visible)if("below"!==r.layer)v(t._fullLayout._shapeUpperLayer);else if("paper"===r.xref||"paper"===r.yref)v(t._fullLayout._shapeLowerLayer);else{var p=t._fullLayout._plots[r.xref+r.yref];if(p)v((p.mainplotinfo||p).shapelayer);else v(t._fullLayout._shapeLowerLayer)}function v(p){var v={"data-index":e,"fill-rule":"evenodd",d:g(t,r)},y=r.line.width?r.line.color:"rgba(0,0,0,0)",x=p.append("path").attr(v).style("opacity",r.opacity).call(o.stroke,y).call(o.fill,r.fillcolor).call(s.dashLine,r.line.dash,r.line.width);d(x,t,r),t._context.edits.shapePosition&&function(t,e,r,o,p){var v,y,x,b,_,w,k,M,A,T,S,E,C,L,z,P,O=10,I=10,D="pixel"===r.xsizemode,R="pixel"===r.ysizemode,B="line"===r.type,F="path"===r.type,N=l(t.layout,"shapes",r),j=N.modifyItem,V=a.getFromId(t,r.xref),U=a.getFromId(t,r.yref),q=h.getDataToPixel(t,V),H=h.getDataToPixel(t,U,!0),G=h.getPixelToData(t,V),W=h.getPixelToData(t,U,!0),Y=B?function(){var t=Math.max(r.line.width,10),n=p.append("g").attr("data-index",o);n.append("path").attr("d",e.attr("d")).style({cursor:"move","stroke-width":t,"stroke-opacity":"0"});var i={"fill-opacity":"0"},a=t/2>10?t/2:10;return n.append("circle").attr({"data-line-point":"start-point",cx:D?q(r.xanchor)+r.x0:q(r.x0),cy:R?H(r.yanchor)-r.y0:H(r.y0),r:a}).style(i).classed("cursor-grab",!0),n.append("circle").attr({"data-line-point":"end-point",cx:D?q(r.xanchor)+r.x1:q(r.x1),cy:R?H(r.yanchor)-r.y1:H(r.y1),r:a}).style(i).classed("cursor-grab",!0),n}():e,X={element:Y.node(),gd:t,prepFn:function(n){D&&(_=q(r.xanchor));R&&(w=H(r.yanchor));"path"===r.type?z=r.path:(v=D?r.x0:q(r.x0),y=R?r.y0:H(r.y0),x=D?r.x1:q(r.x1),b=R?r.y1:H(r.y1));v<x?(A=v,C="x0",T=x,L="x1"):(A=x,C="x1",T=v,L="x0");!R&&y<b||R&&y>b?(k=y,S="y0",M=b,E="y1"):(k=b,S="y1",M=y,E="y0");Z(n),K(p,r),function(t,e,r){var n=e.xref,i=e.yref,o=a.getFromId(r,n),l=a.getFromId(r,i),c="";"paper"===n||o.autorange||(c+=n);"paper"===i||l.autorange||(c+=i);t.call(s.setClipUrl,c?"clip"+r._fullLayout._uid+c:null)}(e,r,t),X.moveFn="move"===P?$:J},doneFn:function(){u(e),Q(p),d(e,t,r),n.call("relayout",t,N.getUpdateObj())},clickFn:function(){Q(p)}};function Z(t){if(B)P="path"===t.target.tagName?"move":"start-point"===t.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var r=X.element.getBoundingClientRect(),n=r.right-r.left,i=r.bottom-r.top,a=t.clientX-r.left,o=t.clientY-r.top,s=!F&&n>O&&i>I&&!t.shiftKey?c.getCursor(a/n,1-o/i):"move";u(e,s),P=s.split("-")[0]}}function $(n,i){if("path"===r.type){var a=function(t){return t},o=a,s=a;D?j("xanchor",r.xanchor=G(_+n)):(o=function(t){return G(q(t)+n)},V&&"date"===V.type&&(o=h.encodeDate(o))),R?j("yanchor",r.yanchor=W(w+i)):(s=function(t){return W(H(t)+i)},U&&"date"===U.type&&(s=h.encodeDate(s))),j("path",r.path=m(z,o,s))}else D?j("xanchor",r.xanchor=G(_+n)):(j("x0",r.x0=G(v+n)),j("x1",r.x1=G(x+n))),R?j("yanchor",r.yanchor=W(w+i)):(j("y0",r.y0=W(y+i)),j("y1",r.y1=W(b+i)));e.attr("d",g(t,r)),K(p,r)}function J(n,i){if(F){var a=function(t){return t},o=a,s=a;D?j("xanchor",r.xanchor=G(_+n)):(o=function(t){return G(q(t)+n)},V&&"date"===V.type&&(o=h.encodeDate(o))),R?j("yanchor",r.yanchor=W(w+i)):(s=function(t){return W(H(t)+i)},U&&"date"===U.type&&(s=h.encodeDate(s))),j("path",r.path=m(z,o,s))}else if(B){if("resize-over-start-point"===P){var l=v+n,c=R?y-i:y+i;j("x0",r.x0=D?l:G(l)),j("y0",r.y0=R?c:W(c))}else if("resize-over-end-point"===P){var u=x+n,f=R?b-i:b+i;j("x1",r.x1=D?u:G(u)),j("y1",r.y1=R?f:W(f))}}else{var d=~P.indexOf("n")?k+i:k,N=~P.indexOf("s")?M+i:M,Y=~P.indexOf("w")?A+n:A,X=~P.indexOf("e")?T+n:T;~P.indexOf("n")&&R&&(d=k-i),~P.indexOf("s")&&R&&(N=M-i),(!R&&N-d>I||R&&d-N>I)&&(j(S,r[S]=R?d:W(d)),j(E,r[E]=R?N:W(N))),X-Y>O&&(j(C,r[C]=D?Y:G(Y)),j(L,r[L]=D?X:G(X)))}e.attr("d",g(t,r)),K(p,r)}function K(t,e){(D||R)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var a=q(D?e.xanchor:i.midRange(r?[e.x0,e.x1]:h.extractPathCoords(e.path,f.paramIsX))),o=H(R?e.yanchor:i.midRange(r?[e.y0,e.y1]:h.extractPathCoords(e.path,f.paramIsY)));if(a=h.roundPositionForSharpStrokeRendering(a,1),o=h.roundPositionForSharpStrokeRendering(o,1),D&&R){var s="M"+(a-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(D){var l="M"+(a-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var c="M"+(a-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",c)}}()}function Q(t){t.selectAll(".visual-cue").remove()}c.init(X),Y.node().onmousemove=Z}(t,x,r,e,p)}}function d(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"");t.call(s.setClipUrl,n?"clip"+e._fullLayout._uid+n:null)}function g(t,e){var r,n,o,s,l,c,u,p,d=e.type,g=a.getFromId(t,e.xref),m=a.getFromId(t,e.yref),v=t._fullLayout._size;if(g?(r=h.shapePositionToRange(g),n=function(t){return g._offset+g.r2p(r(t,!0))}):n=function(t){return v.l+v.w*t},m?(o=h.shapePositionToRange(m),s=function(t){return m._offset+m.r2p(o(t,!0))}):s=function(t){return v.t+v.h*(1-t)},"path"===d)return g&&"date"===g.type&&(n=h.decodeDate(n)),m&&"date"===m.type&&(s=h.decodeDate(s)),function(t,e,r){var n=t.path,a=t.xsizemode,o=t.ysizemode,s=t.xanchor,l=t.yanchor;return n.replace(f.segmentRE,function(t){var n=0,c=t.charAt(0),u=f.paramIsX[c],h=f.paramIsY[c],p=f.numParams[c],d=t.substr(1).replace(f.paramRE,function(t){return u[n]?t="pixel"===a?e(s)+Number(t):e(t):h[n]&&(t="pixel"===o?r(l)-Number(t):r(t)),++n>p&&(t="X"),t});return n>p&&(d=d.replace(/[\s,]*X.*/,""),i.log("Ignoring extra params in segment "+t)),c+d})}(e,n,s);if("pixel"===e.xsizemode){var y=n(e.xanchor);l=y+e.x0,c=y+e.x1}else l=n(e.x0),c=n(e.x1);if("pixel"===e.ysizemode){var x=s(e.yanchor);u=x-e.y0,p=x-e.y1}else u=s(e.y0),p=s(e.y1);if("line"===d)return"M"+l+","+u+"L"+c+","+p;if("rect"===d)return"M"+l+","+u+"H"+c+"V"+p+"H"+l+"Z";var b=(l+c)/2,_=(u+p)/2,w=Math.abs(b-l),k=Math.abs(_-u),M="A"+w+","+k,A=b+w+","+_;return"M"+A+M+" 0 1,1 "+(b+","+(_-k))+M+" 0 0,1 "+A+"Z"}function m(t,e,r){return t.replace(f.segmentRE,function(t){var n=0,i=t.charAt(0),a=f.paramIsX[i],o=f.paramIsY[i],s=f.numParams[i];return i+t.substr(1).replace(f.paramRE,function(t){return n>=s?t:(a[n]?t=e(t):o[n]&&(t=r(t)),n++,t)})})}e.exports={draw:function(t){var e=t._fullLayout;for(var r in e._shapeUpperLayer.selectAll("path").remove(),e._shapeLowerLayer.selectAll("path").remove(),e._plots){var n=e._plots[r].shapelayer;n&&n.selectAll("path").remove()}for(var i=0;i<e.shapes.length;i++)e.shapes[i].visible&&p(t,i)},drawOne:p}},{"../../lib":693,"../../lib/setcursor":714,"../../plot_api/plot_template":732,"../../plots/cartesian/axes":742,"../../registry":825,"../color":567,"../dragelement":589,"../drawing":592,"./constants":648,"./helpers":651}],651:[function(t,e,r){"use strict";var n=t("./constants"),i=t("../../lib");r.rangeToShapePosition=function(t){return"log"===t.type?t.r2d:function(t){return t}},r.shapePositionToRange=function(t){return"log"===t.type?t.d2r:function(t){return t}},r.decodeDate=function(t){return function(e){return e.replace&&(e=e.replace("_"," ")),t(e)}},r.encodeDate=function(t){return function(e){return t(e).replace(" ","_")}},r.extractPathCoords=function(t,e){var r=[];return t.match(n.segmentRE).forEach(function(t){var a=e[t.charAt(0)].drawn;if(void 0!==a){var o=t.substr(1).match(n.paramRE);!o||o.length<a||r.push(i.cleanNumber(o[a]))}}),r},r.getDataToPixel=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.shapePositionToRange(e);i=function(t){return e._offset+e.r2p(o(t,!0))},"date"===e.type&&(i=r.decodeDate(i))}else i=n?function(t){return a.t+a.h*(1-t)}:function(t){return a.l+a.w*t};return i},r.getPixelToData=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.rangeToShapePosition(e);i=function(t){return o(e.p2r(t-e._offset))}}else i=n?function(t){return 1-(t-a.t)/a.h}:function(t){return(t-a.l)/a.w};return i},r.roundPositionForSharpStrokeRendering=function(t,e){var r=1===Math.round(e%2),n=Math.round(t);return r?n+.5:n}},{"../../lib":693,"./constants":648}],652:[function(t,e,r){"use strict";var n=t("./draw");e.exports={moduleType:"component",name:"shapes",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),includeBasePlot:t("../../plots/cartesian/include_components")("shapes"),calcAutorange:t("./calc_autorange"),draw:n.draw,drawOne:n.drawOne}},{"../../plots/cartesian/include_components":752,"./attributes":646,"./calc_autorange":647,"./defaults":649,"./draw":650}],653:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../../plots/pad_attributes"),a=t("../../lib/extend").extendDeepAll,o=t("../../plot_api/edit_types").overrideAll,s=t("../../plots/animation_attributes"),l=t("../../plot_api/plot_template").templatedArray,c=t("./constants"),u=l("step",{visible:{valType:"boolean",dflt:!0},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string"},value:{valType:"string"},execute:{valType:"boolean",dflt:!0}});e.exports=o(l("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:u,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3,dflt:0},pad:a({},i,{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:s.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:n({})},font:n({}),activebgcolor:{valType:"color",dflt:c.gripBgActiveColor},bgcolor:{valType:"color",dflt:c.railBgColor},bordercolor:{valType:"color",dflt:c.railBorderColor},borderwidth:{valType:"number",min:0,dflt:c.railBorderWidth},ticklen:{valType:"number",min:0,dflt:c.tickLength},tickcolor:{valType:"color",dflt:c.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:c.minorTickLength}}),"arraydraw","from-root")},{"../../lib/extend":682,"../../plot_api/edit_types":725,"../../plot_api/plot_template":732,"../../plots/animation_attributes":737,"../../plots/font_attributes":768,"../../plots/pad_attributes":804,"./constants":654}],654:[function(t,e,r){"use strict";e.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},{}],655:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/array_container_defaults"),a=t("./attributes"),o=t("./constants").name,s=a.steps;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=i(t,e,{name:"steps",handleItemDefaults:c}),l=0,u=0;u<s.length;u++)s[u].visible&&l++;if(l<2?e.visible=!1:o("visible")){e._stepCount=l;var f=e._visibleSteps=n.filterVisible(s);(s[o("active")]||{}).visible||(e.active=f[0]._index),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("len"),o("lenmode"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("currentvalue.visible")&&(o("currentvalue.xanchor"),o("currentvalue.prefix"),o("currentvalue.suffix"),o("currentvalue.offset"),n.coerceFont(o,"currentvalue.font",e.font)),o("transition.duration"),o("transition.easing"),o("bgcolor"),o("activebgcolor"),o("bordercolor"),o("borderwidth"),o("ticklen"),o("tickwidth"),o("tickcolor"),o("minorticklen")}}function c(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}if("skip"===t.method||Array.isArray(t.args)?r("visible"):e.visible=!1){r("method"),r("args");var i=r("label","step-"+e._index);r("value",i),r("execute")}}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":693,"../../plots/array_container_defaults":738,"./attributes":653,"./constants":654}],656:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plots/plots"),a=t("../color"),o=t("../drawing"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../legend/anchor_utils"),u=t("../../plot_api/plot_template").arrayEditor,f=t("./constants"),h=t("../../constants/alignment"),p=h.LINE_SPACING,d=h.FROM_TL,g=h.FROM_BR;function m(t){return f.autoMarginIdRoot+t._index}function v(t){return t._index}function y(t,e){var r=o.tester.selectAll("g."+f.labelGroupClass).data(e._visibleSteps);r.enter().append("g").classed(f.labelGroupClass,!0);var a=0,s=0;r.each(function(t){var r=_(n.select(this),{step:t},e).node();if(r){var i=o.bBox(r);s=Math.max(s,i.height),a=Math.max(a,i.width)}}),r.remove();var u=e._dims={};u.inputAreaWidth=Math.max(f.railWidth,f.gripHeight);var h=t._fullLayout._size;u.lx=h.l+h.w*e.x,u.ly=h.t+h.h*(1-e.y),"fraction"===e.lenmode?u.outerLength=Math.round(h.w*e.len):u.outerLength=e.len,u.inputAreaStart=0,u.inputAreaLength=Math.round(u.outerLength-e.pad.l-e.pad.r);var p=(u.inputAreaLength-2*f.stepInset)/(e._stepCount-1),v=a+f.labelPadding;if(u.labelStride=Math.max(1,Math.ceil(v/p)),u.labelHeight=s,u.currentValueMaxWidth=0,u.currentValueHeight=0,u.currentValueTotalHeight=0,u.currentValueMaxLines=1,e.currentvalue.visible){var y=o.tester.append("g");r.each(function(t){var r=x(y,e,t.label),n=r.node()&&o.bBox(r.node())||{width:0,height:0},i=l.lineCount(r);u.currentValueMaxWidth=Math.max(u.currentValueMaxWidth,Math.ceil(n.width)),u.currentValueHeight=Math.max(u.currentValueHeight,Math.ceil(n.height)),u.currentValueMaxLines=Math.max(u.currentValueMaxLines,i)}),u.currentValueTotalHeight=u.currentValueHeight+e.currentvalue.offset,y.remove()}u.height=u.currentValueTotalHeight+f.tickOffset+e.ticklen+f.labelOffset+u.labelHeight+e.pad.t+e.pad.b;var b="left";c.isRightAnchor(e)&&(u.lx-=u.outerLength,b="right"),c.isCenterAnchor(e)&&(u.lx-=u.outerLength/2,b="center");var w="top";c.isBottomAnchor(e)&&(u.ly-=u.height,w="bottom"),c.isMiddleAnchor(e)&&(u.ly-=u.height/2,w="middle"),u.outerLength=Math.ceil(u.outerLength),u.height=Math.ceil(u.height),u.lx=Math.round(u.lx),u.ly=Math.round(u.ly);var k={y:e.y,b:u.height*g[w],t:u.height*d[w]};"fraction"===e.lenmode?(k.l=0,k.xl=e.x-e.len*d[b],k.r=0,k.xr=e.x+e.len*g[b]):(k.x=e.x,k.l=u.outerLength*d[b],k.r=u.outerLength*g[b]),i.autoMargin(t,m(e),k)}function x(t,e,r){if(e.currentvalue.visible){var n,i,a=e._dims;switch(e.currentvalue.xanchor){case"right":n=a.inputAreaLength-f.currentValueInset-a.currentValueMaxWidth,i="left";break;case"center":n=.5*a.inputAreaLength,i="middle";break;default:n=f.currentValueInset,i="left"}var c=s.ensureSingle(t,"text",f.labelClass,function(t){t.classed("user-select-none",!0).attr({"text-anchor":i,"data-notex":1})}),u=e.currentvalue.prefix?e.currentvalue.prefix:"";if("string"==typeof r)u+=r;else u+=e.steps[e.active].label;e.currentvalue.suffix&&(u+=e.currentvalue.suffix),c.call(o.font,e.currentvalue.font).text(u).call(l.convertToTspans,e._gd);var h=l.lineCount(c),d=(a.currentValueMaxLines+1-h)*e.currentvalue.font.size*p;return l.positionText(c,n,d),c}}function b(t,e,r){s.ensureSingle(t,"rect",f.gripRectClass,function(n){n.call(A,e,t,r).style("pointer-events","all")}).attr({width:f.gripWidth,height:f.gripHeight,rx:f.gripRadius,ry:f.gripRadius}).call(a.stroke,r.bordercolor).call(a.fill,r.bgcolor).style("stroke-width",r.borderwidth+"px")}function _(t,e,r){var n=s.ensureSingle(t,"text",f.labelClass,function(t){t.classed("user-select-none",!0).attr({"text-anchor":"middle","data-notex":1})});return n.call(o.font,r.font).text(e.step.label).call(l.convertToTspans,r._gd),n}function w(t,e){var r=s.ensureSingle(t,"g",f.labelsClass),i=e._dims,a=r.selectAll("g."+f.labelGroupClass).data(i.labelSteps);a.enter().append("g").classed(f.labelGroupClass,!0),a.exit().remove(),a.each(function(t){var r=n.select(this);r.call(_,t,e),o.setTranslate(r,E(e,t.fraction),f.tickOffset+e.ticklen+e.font.size*p+f.labelOffset+i.currentValueTotalHeight)})}function k(t,e,r,n,i){var a=Math.round(n*(r._stepCount-1)),o=r._visibleSteps[a]._index;o!==r.active&&M(t,e,r,o,!0,i)}function M(t,e,r,n,a,o){var s=r.active;r.active=n,u(t.layout,f.name,r).applyUpdate("active",n);var l=r.steps[r.active];e.call(S,r,o),e.call(x,r),t.emit("plotly_sliderchange",{slider:r,step:r.steps[r.active],interaction:a,previousActive:s}),l&&l.method&&a&&(e._nextMethod?(e._nextMethod.step=l,e._nextMethod.doCallback=a,e._nextMethod.doTransition=o):(e._nextMethod={step:l,doCallback:a,doTransition:o},e._nextMethodRaf=window.requestAnimationFrame(function(){var r=e._nextMethod.step;r.method&&(r.execute&&i.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function A(t,e,r){var i=r.node(),o=n.select(e);function s(){return r.data()[0]}t.on("mousedown",function(){var t=s();e.emit("plotly_sliderstart",{slider:t});var l=r.select("."+f.gripRectClass);n.event.stopPropagation(),n.event.preventDefault(),l.call(a.fill,t.activebgcolor);var c=C(t,n.mouse(i)[0]);k(e,r,t,c,!0),t._dragging=!0,o.on("mousemove",function(){var t=s(),a=C(t,n.mouse(i)[0]);k(e,r,t,a,!1)}),o.on("mouseup",function(){var t=s();t._dragging=!1,l.call(a.fill,t.bgcolor),o.on("mouseup",null),o.on("mousemove",null),e.emit("plotly_sliderend",{slider:t,step:t.steps[t.active]})})})}function T(t,e){var r=t.selectAll("rect."+f.tickRectClass).data(e._visibleSteps),i=e._dims;r.enter().append("rect").classed(f.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+"px","shape-rendering":"crispEdges"}),r.each(function(t,r){var s=r%i.labelStride==0,l=n.select(this);l.attr({height:s?e.ticklen:e.minorticklen}).call(a.fill,e.tickcolor),o.setTranslate(l,E(e,r/(e._stepCount-1))-.5*e.tickwidth,(s?f.tickOffset:f.minorTickOffset)+i.currentValueTotalHeight)})}function S(t,e,r){for(var n=t.select("rect."+f.gripRectClass),i=0,a=0;a<e._stepCount;a++)if(e._visibleSteps[a]._index===e.active){i=a;break}var o=E(e,i/(e._stepCount-1));if(!e._invokingCommand){var s=n;r&&e.transition.duration>0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform","translate("+(o-.5*f.gripWidth)+","+e._dims.currentValueTotalHeight+")")}}function E(t,e){var r=t._dims;return r.inputAreaStart+f.stepInset+(r.inputAreaLength-2*f.stepInset)*Math.min(1,Math.max(0,e))}function C(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-f.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*f.stepInset-2*r.inputAreaStart)))}function L(t,e,r){var n=r._dims,i=s.ensureSingle(t,"rect",f.railTouchRectClass,function(n){n.call(A,e,t,r).style("pointer-events","all")});i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,f.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr("opacity",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function z(t,e){var r=e._dims,n=r.inputAreaLength-2*f.railInset,i=s.ensureSingle(t,"rect",f.railRectClass);i.attr({width:n,height:f.railWidth,rx:f.railRadius,ry:f.railRadius,"shape-rendering":"crispEdges"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(i,f.railInset,.5*(r.inputAreaWidth-f.railWidth)+r.currentValueTotalHeight)}e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[f.name],n=[],i=0;i<r.length;i++){var a=r[i];a.visible&&(a._gd=e,n.push(a))}return n}(e,t),a=e._infolayer.selectAll("g."+f.containerClassName).data(r.length>0?[0]:[]);function s(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,m(e))}if(a.enter().append("g").classed(f.containerClassName,!0).style("cursor","ew-resize"),a.exit().each(function(){n.select(this).selectAll("g."+f.groupClassName).each(s)}).remove(),0!==r.length){var l=a.selectAll("g."+f.groupClassName).data(r,v);l.enter().append("g").classed(f.groupClassName,!0),l.exit().each(s).remove();for(var c=0;c<r.length;c++){var u=r[c];y(t,u)}l.each(function(e){var r=n.select(this);!function(t){var e=t._dims;e.labelSteps=[];for(var r=t._stepCount,n=0;n<r;n+=e.labelStride)e.labelSteps.push({fraction:n/(r-1),step:t._visibleSteps[n]})}(e),i.manageCommandObserver(t,e,e._visibleSteps,function(e){var n=r.data()[0];n.active!==e.index&&(n._dragging||M(t,r,n,e.index,!1,!0))}),function(t,e,r){(r.steps[r.active]||{}).visible||(r.active=r._visibleSteps[0]._index);e.call(x,r).call(z,r).call(w,r).call(T,r).call(L,t,r).call(b,t,r);var n=r._dims;o.setTranslate(e,n.lx+r.pad.l,n.ly+r.pad.t),e.call(S,r,!1),e.call(x,r)}(t,n.select(this),e)})}}},{"../../constants/alignment":665,"../../lib":693,"../../lib/svg_text_utils":718,"../../plot_api/plot_template":732,"../../plots/plots":805,"../color":567,"../drawing":592,"../legend/anchor_utils":619,"./constants":654,d3:147}],657:[function(t,e,r){"use strict";var n=t("./constants");e.exports={moduleType:"component",name:n.name,layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),draw:t("./draw")}},{"./attributes":653,"./constants":654,"./defaults":655,"./draw":656}],658:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib"),l=t("../drawing"),c=t("../color"),u=t("../../lib/svg_text_utils"),f=t("../../constants/interactions");e.exports={draw:function(t,e,r){var p,d=r.propContainer,g=r.propName,m=r.placeholder,v=r.traceIndex,y=r.avoid||{},x=r.attributes,b=r.transform,_=r.containerGroup,w=t._fullLayout,k=d.titlefont||{},M=k.family,A=k.size,T=k.color,S=1,E=!1,C=(d.title||"").trim();"title"===g?p="titleText":-1!==g.indexOf("axis")?p="axisTitleText":g.indexOf(!0)&&(p="colorbarTitleText");var L=t._context.edits[p];""===C?S=0:C.replace(h," % ")===m.replace(h," % ")&&(S=.2,E=!0,L||(C=""));var z=C||L;_||(_=s.ensureSingle(w._infolayer,"g","g-"+e));var P=_.selectAll("text").data(z?[0]:[]);if(P.enter().append("text"),P.text(C).attr("class",e),P.exit().remove(),!z)return _;function O(t){s.syncOrAsync([I,D],t)}function I(e){var r;return b?(r="",b.rotate&&(r+="rotate("+[b.rotate,x.x,x.y]+")"),b.offset&&(r+="translate(0, "+b.offset+")")):r=null,e.attr("transform",r),e.style({"font-family":M,"font-size":n.round(A,2)+"px",fill:c.rgb(T),opacity:S*c.opacity(T),"font-weight":a.fontWeight}).attr(x).call(u.convertToTspans,t),a.previousPromises(t)}function D(t){var e=n.select(t.node().parentNode);if(y&&y.selection&&y.side&&C){e.attr("transform",null);var r=0,a={left:"right",right:"left",top:"bottom",bottom:"top"}[y.side],o=-1!==["left","top"].indexOf(y.side)?-1:1,c=i(y.pad)?y.pad:2,u=l.bBox(e.node()),f={left:0,top:0,right:w.width,bottom:w.height},h=y.maxShift||(f[y.side]-u[y.side])*("left"===y.side||"top"===y.side?-1:1);if(h<0)r=h;else{var p=y.offsetLeft||0,d=y.offsetTop||0;u.left-=p,u.right-=p,u.top-=d,u.bottom-=d,y.selection.each(function(){var t=l.bBox(this);s.bBoxIntersect(u,t,c)&&(r=Math.max(r,o*(t[y.side]-u[a])+c))}),r=Math.min(h,r)}if(r>0||h<0){var g={left:[-r,0],right:[r,0],top:[0,-r],bottom:[0,r]}[y.side];e.attr("transform","translate("+g+")")}}}P.call(O),L&&(C?P.on(".opacity",null):(S=0,E=!0,P.text(m).on("mouseover.opacity",function(){n.select(this).transition().duration(f.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){n.select(this).transition().duration(f.HIDE_PLACEHOLDER).style("opacity",0)})),P.call(u.makeEditable,{gd:t}).on("edit",function(e){void 0!==v?o.call("restyle",t,g,e,v):o.call("relayout",t,g,e)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(O)}).on("input",function(t){this.text(t||" ").call(u.positionText,x.x,x.y)}));return P.classed("js-placeholder",E),_}};var h=/ [XY][0-9]* /},{"../../constants/interactions":669,"../../lib":693,"../../lib/svg_text_utils":718,"../../plots/plots":805,"../../registry":825,"../color":567,"../drawing":592,d3:147,"fast-isnumeric":213}],659:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../color/attributes"),a=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll,s=t("../../plots/pad_attributes"),l=t("../../plot_api/plot_template").templatedArray,c=l("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});e.exports=o(l("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:c,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:a({},s,{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:i.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},{"../../lib/extend":682,"../../plot_api/edit_types":725,"../../plot_api/plot_template":732,"../../plots/font_attributes":768,"../../plots/pad_attributes":804,"../color/attributes":566}],660:[function(t,e,r){"use strict";e.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"\u25c4",right:"\u25ba",up:"\u25b2",down:"\u25bc"}}},{}],661:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/array_container_defaults"),a=t("./attributes"),o=t("./constants").name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o("visible",i(t,e,{name:"buttons",handleItemDefaults:c}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function c(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("label"),r("execute"))}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":693,"../../plots/array_container_defaults":738,"./attributes":659,"./constants":660}],662:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plots/plots"),a=t("../color"),o=t("../drawing"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../legend/anchor_utils"),u=t("../../plot_api/plot_template").arrayEditor,f=t("../../constants/alignment").LINE_SPACING,h=t("./constants"),p=t("./scrollbox");function d(t){return t._index}function g(t,e){return+t.attr(h.menuIndexAttrName)===e._index}function m(t,e,r,n,i,a,o,s){e.active=o,u(t.layout,h.name,e).applyUpdate("active",o),"buttons"===e.type?y(t,n,null,null,e):"dropdown"===e.type&&(i.attr(h.menuIndexAttrName,"-1"),v(t,n,i,a,e),s||y(t,n,i,a,e))}function v(t,e,r,n,i){var a=s.ensureSingle(e,"g",h.headerClassName,function(t){t.style("pointer-events","all")}),l=i._dims,c=i.active,u=i.buttons[c]||h.blankHeaderOpts,f={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(x,i,u,t).call(S,i,f,p),s.ensureSingle(e,"text",h.headerArrowClassName,function(t){t.classed("user-select-none",!0).attr("text-anchor","end").call(o.font,i.font).text(h.arrowSymbol[i.direction])}).attr({x:l.headerWidth-h.arrowOffsetX+i.pad.l,y:l.headerHeight/2+h.textOffsetY+i.pad.t}),a.on("click",function(){r.call(E,String(g(r,i)?-1:i._index)),y(t,e,r,n,i)}),a.on("mouseover",function(){a.call(k)}),a.on("mouseout",function(){a.call(M,i)}),o.setTranslate(e,l.lx,l.ly)}function y(t,e,r,a,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(h.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,c="dropdown"===o.type?h.dropdownButtonClassName:h.buttonClassName,u=r.selectAll("g."+c).data(s.filterVisible(l)),f=u.enter().append("g").classed(c,!0),p=u.exit();"dropdown"===o.type?(f.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var d=0,g=0,v=o._dims,y=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(y?g=v.headerHeight+h.gapButtonHeader:d=v.headerWidth+h.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(g=-h.gapButtonHeader+h.gapButton-v.openHeight),"dropdown"===o.type&&"left"===o.direction&&(d=-h.gapButtonHeader+h.gapButton-v.openWidth);var b={x:v.lx+d+o.pad.l,y:v.ly+g+o.pad.t,yPad:h.gapButton,xPad:h.gapButton,index:0},_={l:b.x+o.borderwidth,t:b.y+o.borderwidth};u.each(function(s,l){var c=n.select(this);c.call(x,o,s,t).call(S,o,b),c.on("click",function(){n.event.defaultPrevented||(m(t,o,0,e,r,a,l),s.execute&&i.executeAPICommand(t,s.method,s.args),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))}),c.on("mouseover",function(){c.call(k)}),c.on("mouseout",function(){c.call(M,o),u.call(w,o)})}),u.call(w,o),y?(_.w=Math.max(v.openWidth,v.headerWidth),_.h=b.y-_.t):(_.w=b.x-_.l,_.h=Math.max(v.openHeight,v.headerHeight)),_.direction=o.direction,a&&(u.size()?function(t,e,r,n,i,a){var o,s,l,c=i.direction,u="up"===c||"down"===c,f=i._dims,p=i.active;if(u)for(s=0,l=0;l<p;l++)s+=f.heights[l]+h.gapButton;else for(o=0,l=0;l<p;l++)o+=f.widths[l]+h.gapButton;n.enable(a,o,s),n.hbar&&n.hbar.attr("opacity","0").transition().attr("opacity","1");n.vbar&&n.vbar.attr("opacity","0").transition().attr("opacity","1")}(0,0,0,a,o,_):function(t){var e=!!t.hbar,r=!!t.vbar;e&&t.hbar.transition().attr("opacity","0").each("end",function(){e=!1,r||t.disable()});r&&t.vbar.transition().attr("opacity","0").each("end",function(){r=!1,e||t.disable()})}(a))}function x(t,e,r,n){t.call(b,e).call(_,e,r,n)}function b(t,e){s.ensureSingle(t,"rect",h.itemRectClassName,function(t){t.attr({rx:h.rx,ry:h.ry,"shape-rendering":"crispEdges"})}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px")}function _(t,e,r,n){s.ensureSingle(t,"text",h.itemTextClassName,function(t){t.classed("user-select-none",!0).attr({"text-anchor":"start","data-notex":1})}).call(o.font,e.font).text(r.label).call(l.convertToTspans,n)}function w(t,e){var r=e.active;t.each(function(t,i){var o=n.select(this);i===r&&e.showactive&&o.select("rect."+h.itemRectClassName).call(a.fill,h.activeColor)})}function k(t){t.select("rect."+h.itemRectClassName).call(a.fill,h.hoverColor)}function M(t,e){t.select("rect."+h.itemRectClassName).call(a.fill,e.bgcolor)}function A(t,e){var r=e._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},a=o.tester.selectAll("g."+h.dropdownButtonClassName).data(s.filterVisible(e.buttons));a.enter().append("g").classed(h.dropdownButtonClassName,!0);var u=-1!==["up","down"].indexOf(e.direction);a.each(function(i,a){var s=n.select(this);s.call(x,e,i,t);var c=s.select("."+h.itemTextClassName),p=c.node()&&o.bBox(c.node()).width,d=Math.max(p+h.textPadX,h.minWidth),g=e.font.size*f,m=l.lineCount(c),v=Math.max(g*m,h.minHeight)+h.textOffsetY;v=Math.ceil(v),d=Math.ceil(d),r.widths[a]=d,r.heights[a]=v,r.height1=Math.max(r.height1,v),r.width1=Math.max(r.width1,d),u?(r.totalWidth=Math.max(r.totalWidth,d),r.openWidth=r.totalWidth,r.totalHeight+=v+h.gapButton,r.openHeight+=v+h.gapButton):(r.totalWidth+=d+h.gapButton,r.openWidth+=d+h.gapButton,r.totalHeight=Math.max(r.totalHeight,v),r.openHeight=r.totalHeight)}),u?r.totalHeight-=h.gapButton:r.totalWidth-=h.gapButton,r.headerWidth=r.width1+h.arrowPadX,r.headerHeight=r.height1,"dropdown"===e.type&&(u?(r.width1+=h.arrowPadX,r.totalHeight=r.height1):r.totalWidth=r.width1,r.totalWidth+=h.arrowPadX),a.remove();var p=r.totalWidth+e.pad.l+e.pad.r,d=r.totalHeight+e.pad.t+e.pad.b,g=t._fullLayout._size;r.lx=g.l+g.w*e.x,r.ly=g.t+g.h*(1-e.y);var m="left";c.isRightAnchor(e)&&(r.lx-=p,m="right"),c.isCenterAnchor(e)&&(r.lx-=p/2,m="center");var v="top";c.isBottomAnchor(e)&&(r.ly-=d,v="bottom"),c.isMiddleAnchor(e)&&(r.ly-=d/2,v="middle"),r.totalWidth=Math.ceil(r.totalWidth),r.totalHeight=Math.ceil(r.totalHeight),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),i.autoMargin(t,T(e),{x:e.x,y:e.y,l:p*({right:1,center:.5}[m]||0),r:p*({left:1,center:.5}[m]||0),b:d*({top:1,middle:.5}[v]||0),t:d*({bottom:1,middle:.5}[v]||0)})}function T(t){return h.autoMarginIdRoot+t._index}function S(t,e,r,n){n=n||{};var i=t.select("."+h.itemRectClassName),a=t.select("."+h.itemTextClassName),s=e.borderwidth,c=r.index,u=e._dims;o.setTranslate(t,s+r.x,s+r.y);var p=-1!==["up","down"].indexOf(e.direction),d=n.height||(p?u.heights[c]:u.height1);i.attr({x:0,y:0,width:n.width||(p?u.width1:u.widths[c]),height:d});var g=e.font.size*f,m=(l.lineCount(a)-1)*g/2;l.positionText(a,h.textOffsetX,d/2-m+h.textOffsetY),p?r.y+=u.heights[c]+r.yPad:r.x+=u.widths[c]+r.xPad,r.index++}function E(t,e){t.attr(h.menuIndexAttrName,e||"-1").selectAll("g."+h.dropdownButtonClassName).remove()}e.exports=function(t){var e=t._fullLayout,r=s.filterVisible(e[h.name]);function a(e){i.autoMargin(t,T(e))}var o=e._menulayer.selectAll("g."+h.containerClassName).data(r.length>0?[0]:[]);if(o.enter().append("g").classed(h.containerClassName,!0).style("cursor","pointer"),o.exit().each(function(){n.select(this).selectAll("g."+h.headerGroupClassName).each(a)}).remove(),0!==r.length){var l=o.selectAll("g."+h.headerGroupClassName).data(r,d);l.enter().append("g").classed(h.headerGroupClassName,!0);for(var c=s.ensureSingle(o,"g",h.dropdownButtonGroupClassName,function(t){t.style("pointer-events","all")}),u=0;u<r.length;u++){var f=r[u];A(t,f)}var x="updatemenus"+e._uid,b=new p(t,c,x);l.enter().size()&&(c.node().parentNode.appendChild(c.node()),c.call(E)),l.exit().each(function(t){c.call(E),a(t)}).remove(),l.each(function(e){var r=n.select(this),a="dropdown"===e.type?c:null;i.manageCommandObserver(t,e,e.buttons,function(n){m(t,e,e.buttons[n.index],r,a,b,n.index,!0)}),"dropdown"===e.type?(v(t,r,c,b,e),g(c,e)&&y(t,r,c,b,e)):y(t,r,null,null,e)})}}},{"../../constants/alignment":665,"../../lib":693,"../../lib/svg_text_utils":718,"../../plot_api/plot_template":732,"../../plots/plots":805,"../color":567,"../drawing":592,"../legend/anchor_utils":619,"./constants":660,"./scrollbox":664,d3:147}],663:[function(t,e,r){arguments[4][657][0].apply(r,arguments)},{"./attributes":659,"./constants":660,"./defaults":661,"./draw":662,dup:657}],664:[function(t,e,r){"use strict";e.exports=s;var n=t("d3"),i=t("../color"),a=t("../drawing"),o=t("../../lib");function s(t,e,r){this.gd=t,this.container=e,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll("rect.scrollbox-bg").data([0]),this.bg.exit().on(".drag",null).on("wheel",null).remove(),this.bg.enter().append("rect").classed("scrollbox-bg",!0).style("pointer-events","all").attr({opacity:0,x:0,y:0,width:0,height:0})}s.barWidth=2,s.barLength=20,s.barRadius=2,s.barPad=1,s.barColor="#808BA4",s.prototype.enable=function(t,e,r){var o=this.gd._fullLayout,l=o.width,c=o.height;this.position=t;var u,f,h,p,d=this.position.l,g=this.position.w,m=this.position.t,v=this.position.h,y=this.position.direction,x="down"===y,b="left"===y,_="up"===y,w=g,k=v;x||b||"right"===y||_||(this.position.direction="down",x=!0),x||_?(f=(u=d)+w,x?(h=m,k=(p=Math.min(h+k,c))-h):k=(p=m+k)-(h=Math.max(p-k,0))):(p=(h=m)+k,b?w=(f=d+w)-(u=Math.max(f-w,0)):(u=d,w=(f=Math.min(u+w,l))-u)),this._box={l:u,t:h,w:w,h:k};var M=g>w,A=s.barLength+2*s.barPad,T=s.barWidth+2*s.barPad,S=d,E=m+v;E+T>c&&(E=c-T);var C=this.container.selectAll("rect.scrollbar-horizontal").data(M?[0]:[]);C.exit().on(".drag",null).remove(),C.enter().append("rect").classed("scrollbar-horizontal",!0).call(i.fill,s.barColor),M?(this.hbar=C.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:T}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var L=v>k,z=s.barWidth+2*s.barPad,P=s.barLength+2*s.barPad,O=d+g,I=m;O+z>l&&(O=l-z);var D=this.container.selectAll("rect.scrollbar-vertical").data(L?[0]:[]);D.exit().on(".drag",null).remove(),D.enter().append("rect").classed("scrollbar-vertical",!0).call(i.fill,s.barColor),L?(this.vbar=D.attr({rx:s.barRadius,ry:s.barRadius,x:O,y:I,width:z,height:P}),this._vbarYMin=I+P/2,this._vbarTranslateMax=k-P):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,B=u-.5,F=L?f+z+.5:f+.5,N=h-.5,j=M?p+T+.5:p+.5,V=o._topdefs.selectAll("#"+R).data(M||L?[0]:[]);if(V.exit().remove(),V.enter().append("clipPath").attr("id",R).append("rect"),M||L?(this._clipRect=V.select("rect").attr({x:Math.floor(B),y:Math.floor(N),width:Math.ceil(F)-Math.floor(B),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R),this.bg.attr({x:d,y:m,width:g,height:v})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),M||L){var U=n.behavior.drag().on("dragstart",function(){n.event.sourceEvent.preventDefault()}).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(U);var q=n.behavior.drag().on("dragstart",function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));M&&this.hbar.on(".drag",null).call(q),L&&this.vbar.on(".drag",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},{"../../lib":693,"../color":567,"../drawing":592,d3:147}],665:[function(t,e,r){"use strict";e.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},{}],666:[function(t,e,r){"use strict";e.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},{}],667:[function(t,e,r){"use strict";e.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},{}],668:[function(t,e,r){"use strict";e.exports={circle:"\u25cf","circle-open":"\u25cb",square:"\u25a0","square-open":"\u25a1",diamond:"\u25c6","diamond-open":"\u25c7",cross:"+",x:"\u274c"}},{}],669:[function(t,e,r){"use strict";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DBLCLICKDELAY:300,DESELECTDIM:.2}},{}],670:[function(t,e,r){"use strict";e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:"\u2212"}},{}],671:[function(t,e,r){"use strict";r.xmlns="http://www.w3.org/2000/xmlns/",r.svg="http://www.w3.org/2000/svg",r.xlink="http://www.w3.org/1999/xlink",r.svgAttrs={xmlns:r.svg,"xmlns:xlink":r.xlink}},{}],672:[function(t,e,r){"use strict";r.version="1.41.3",t("es6-promise").polyfill(),t("../build/plotcss"),t("./fonts/mathjax_config");for(var n=t("./registry"),i=r.register=n.register,a=t("./plot_api"),o=Object.keys(a),s=0;s<o.length;s++){var l=o[s];r[l]=a[l],i({moduleType:"apiMethod",name:l,fn:a[l]})}i(t("./traces/scatter")),i([t("./components/fx"),t("./components/legend"),t("./components/annotations"),t("./components/annotations3d"),t("./components/shapes"),t("./components/images"),t("./components/updatemenus"),t("./components/sliders"),t("./components/rangeslider"),t("./components/rangeselector"),t("./components/grid"),t("./components/errorbars")]),i([t("./locale-en"),t("./locale-en-us")]),r.Icons=t("../build/ploticon"),r.Plots=t("./plots/plots"),r.Fx=t("./components/fx"),r.Snapshot=t("./snapshot"),r.PlotSchema=t("./plot_api/plot_schema"),r.Queue=t("./lib/queue"),r.d3=t("d3")},{"../build/plotcss":1,"../build/ploticon":2,"./components/annotations":558,"./components/annotations3d":563,"./components/errorbars":598,"./components/fx":609,"./components/grid":613,"./components/images":618,"./components/legend":627,"./components/rangeselector":638,"./components/rangeslider":644,"./components/shapes":652,"./components/sliders":657,"./components/updatemenus":663,"./fonts/mathjax_config":673,"./lib/queue":709,"./locale-en":723,"./locale-en-us":722,"./plot_api":727,"./plot_api/plot_schema":731,"./plots/plots":805,"./registry":825,"./snapshot":830,"./traces/scatter":1044,d3:147,"es6-promise":202}],673:[function(t,e,r){"use strict";"undefined"!=typeof MathJax?(r.MathJax=!0,MathJax.Hub.Config({messageStyle:"none",skipStartupTypeset:!0,displayAlign:"left",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]]}}),MathJax.Hub.Configured()):r.MathJax=!1},{}],674:[function(t,e,r){"use strict";var n=t("./mod"),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-15}function c(t,e){return a(e-t,s)}function u(t,e){if(l(e))return!0;var r,n;e[0]<e[1]?(r=e[0],n=e[1]):(r=e[1],n=e[0]),(r=i(r,s))>(n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function f(t,e,r,n,i,a,c){i=i||0,a=a||0;var u,f,h,p,d,g=l([r,n]);function m(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}g?(u=0,f=o,h=s):r<n?(u=r,h=n):(u=n,h=r),t<e?(p=t,d=e):(p=e,d=t);var v,y=Math.abs(h-u)<=o?0:1;function x(t,e,r){return"A"+[t,t]+" "+[0,y,r]+" "+m(t,e)}return g?v=null===p?"M"+m(d,u)+x(d,f,0)+x(d,h,0)+"Z":"M"+m(p,u)+x(p,f,0)+x(p,h,0)+"ZM"+m(d,u)+x(d,f,1)+x(d,h,1)+"Z":null===p?(v="M"+m(d,u)+x(d,h,0),c&&(v+="L0,0Z")):v="M"+m(p,u)+"L"+m(d,u)+x(d,h,0)+"L"+m(p,h)+x(p,u,1)+"Z",v}e.exports={deg2rad:function(t){return t/180*o},rad2deg:function(t){return t/o*180},angleDelta:c,angleDist:function(t,e){return Math.abs(c(t,e))},isFullCircle:l,isAngleInsideSector:u,isPtInsideSector:function(t,e,r,n){return!!u(e,n)&&(r[0]<r[1]?(i=r[0],a=r[1]):(i=r[1],a=r[0]),t>=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return f(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return f(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return f(t,e,r,n,i,a,1)}}},{"./mod":701}],675:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../constants/numerical").BADNUM,a=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;e.exports=function(t){return"string"==typeof t&&(t=t.replace(a,"")),n(t)?Number(t):i}},{"../constants/numerical":670,"fast-isnumeric":213}],676:[function(t,e,r){"use strict";e.exports=function(t){var e=t._fullLayout;e._glcanvas&&e._glcanvas.size()&&e._glcanvas.each(function(t){t.regl&&t.regl.clear({color:!0,depth:!0})})}},{}],677:[function(t,e,r){"use strict";e.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener("resize",t._responsiveChartHandler),delete t._responsiveChartHandler)}},{}],678:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("tinycolor2"),a=t("../plots/attributes"),o=t("../components/colorscale/get_scale"),s=(Object.keys(t("../components/colorscale/scales")),t("./nested_property")),l=t("./regex").counter,c=t("../constants/interactions").DESELECTDIM,u=t("./mod").modHalf,f=t("./is_array").isArrayOrTypedArray;function h(t,e){var n=r.valObjectMeta[e.valType];if(e.arrayOk&&f(t))return!0;if(n.validateFunction)return n.validateFunction(t,e);var i={},a=i,o={set:function(t){a=t}};return n.coerceFunction(t,o,i,e),a!==i}r.valObjectMeta={data_array:{coerceFunction:function(t,e,r){f(t)?e.set(t):void 0!==r&&e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&&(t=+t),-1===n.values.indexOf(t)?e.set(r):e.set(t)},validateFunction:function(t,e){e.coerceNumber&&(t=+t);for(var r=e.values,n=0;n<r.length;n++){var i=String(r[n]);if("/"===i.charAt(0)&&"/"===i.charAt(i.length-1)){if(new RegExp(i.substr(1,i.length-2)).test(t))return!0}else if(t===r[n])return!0}return!1}},boolean:{coerceFunction:function(t,e,r){!0===t||!1===t?e.set(t):e.set(r)}},number:{coerceFunction:function(t,e,r,i){!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var i="number"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every(function(t){return i(t).isValid()})?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o(t,r))}},angle:{coerceFunction:function(t,e,r){"auto"===t?e.set("auto"):n(t)?e.set(u(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||l(r);"string"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!l(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if("string"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var i=t.split("+"),a=0;a<i.length;){var o=i[a];-1===n.flags.indexOf(o)||i.indexOf(o)<a?i.splice(a,1):a++}i.length?e.set(i.join("+")):e.set(r)}else e.set(t);else e.set(r)}},any:{coerceFunction:function(t,e,r){void 0===t?e.set(r):e.set(t)}},info_array:{coerceFunction:function(t,e,n,i){function a(t,e,n){var i,a={set:function(t){i=t}};return void 0===n&&(n=e.dflt),r.valObjectMeta[e.valType].coerceFunction(t,a,n,e),i}var o=2===i.dimensions||"1-2"===i.dimensions&&Array.isArray(t)&&Array.isArray(t[0]);if(Array.isArray(t)){var s,l,c,u,f,h,p=i.items,d=[],g=Array.isArray(p),m=g&&o&&Array.isArray(p[0]),v=o&&g&&!m,y=g&&!v?p.length:t.length;if(n=Array.isArray(n)?n:[],o)for(s=0;s<y;s++)for(d[s]=[],c=Array.isArray(t[s])?t[s]:[],f=v?p.length:g?p[s].length:c.length,l=0;l<f;l++)u=v?p[l]:g?p[s][l]:p,void 0!==(h=a(c[l],u,(n[s]||[])[l]))&&(d[s][l]=h);else for(s=0;s<y;s++)void 0!==(h=a(t[s],g?p[s]:p,n[s]))&&(d[s]=h);e.set(d)}else e.set(n)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var r=e.items,n=Array.isArray(r),i=2===e.dimensions;if(!e.freeLength&&t.length!==r.length)return!1;for(var a=0;a<t.length;a++)if(i){if(!Array.isArray(t[a])||!e.freeLength&&t[a].length!==r[a].length)return!1;for(var o=0;o<t[a].length;o++)if(!h(t[a][o],n?r[a][o]:r))return!1}else if(!h(t[a],n?r[a]:r))return!1;return!0}}},r.coerce=function(t,e,n,i,a){var o=s(n,i).get(),l=s(t,i),c=s(e,i),u=l.get(),p=e._template;if(void 0===u&&p&&(u=s(p,i).get(),p=0),void 0===a&&(a=o.dflt),o.arrayOk&&f(u))return c.set(u),u;var d=r.valObjectMeta[o.valType].coerceFunction;d(u,c,a,o);var g=c.get();return p&&g===a&&!h(u,o)&&(d(u=s(p,i).get(),c,a,o),g=c.get()),g},r.coerce2=function(t,e,n,i,a){var o=s(t,i),l=r.coerce(t,e,n,i,a),c=o.get();return null!=c&&l},r.coerceFont=function(t,e,r){var n={};return r=r||{},n.family=t(e+".family",r.family),n.size=t(e+".size",r.size),n.color=t(e+".color",r.color),n},r.coerceHoverinfo=function(t,e,n){var i,o=e._module.attributes,s=o.hoverinfo?o:a,l=s.hoverinfo;if(1===n._dataLength){var c="all"===l.dflt?l.flags.slice():l.dflt.split("+");c.splice(c.indexOf("name"),1),i=c.join("+")}return r.coerce(t,e,s,"hoverinfo",i)},r.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,i=t.marker.opacity;if(void 0!==i)f(i)||t.selected||t.unselected||(r=i,n=c*i),e("selected.marker.opacity",r),e("unselected.marker.opacity",n)}},r.validate=h},{"../components/colorscale/get_scale":580,"../components/colorscale/scales":586,"../constants/interactions":669,"../plots/attributes":739,"./is_array":694,"./mod":701,"./nested_property":702,"./regex":710,"fast-isnumeric":213,tinycolor2:511}],679:[function(t,e,r){"use strict";var n,i,a=t("d3"),o=t("fast-isnumeric"),s=t("./loggers"),l=t("./mod").mod,c=t("../constants/numerical"),u=c.BADNUM,f=c.ONEDAY,h=c.ONEHOUR,p=c.ONEMIN,d=c.ONESEC,g=c.EPOCHJD,m=t("../registry"),v=a.time.format.utc,y=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d:?\d\d)?)?)?)?)?\s*$/m,x=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\di?)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d:?\d\d)?)?)?)?)?\s*$/m,b=(new Date).getFullYear()-70;function _(t){return t&&m.componentsRegistry.calendars&&"string"==typeof t&&"gregorian"!==t}function w(t,e){return String(t+Math.pow(10,e)).substr(1)}r.dateTick0=function(t,e){return _(t)?e?m.getComponentMethod("calendars","CANONICAL_SUNDAY")[t]:m.getComponentMethod("calendars","CANONICAL_TICK")[t]:e?"2000-01-02":"2000-01-01"},r.dfltRange=function(t){return _(t)?m.getComponentMethod("calendars","DFLTRANGE")[t]:["2000-01-01","2001-01-01"]},r.isJSDate=function(t){return"object"==typeof t&&null!==t&&"function"==typeof t.getTime},r.dateTime2ms=function(t,e){if(r.isJSDate(t)){var a=t.getTimezoneOffset()*p,o=(t.getUTCMinutes()-t.getMinutes())*p+(t.getUTCSeconds()-t.getSeconds())*d+(t.getUTCMilliseconds()-t.getMilliseconds());if(o){var s=3*p;a=a-s/2+l(o-a+s/2,s)}return(t=Number(t)-a)>=n&&t<=i?t:u}if("string"!=typeof t&&"number"!=typeof t)return u;t=String(t);var c=_(e),v=t.charAt(0);!c||"G"!==v&&"g"!==v||(t=t.substr(1),e="");var w=c&&"chinese"===e.substr(0,7),k=t.match(w?x:y);if(!k)return u;var M=k[1],A=k[3]||"1",T=Number(k[5]||1),S=Number(k[7]||0),E=Number(k[9]||0),C=Number(k[11]||0);if(c){if(2===M.length)return u;var L;M=Number(M);try{var z=m.getComponentMethod("calendars","getCal")(e);if(w){var P="i"===A.charAt(A.length-1);A=parseInt(A,10),L=z.newDate(M,z.toMonthIndex(M,A,P),T)}else L=z.newDate(M,Number(A),T)}catch(t){return u}return L?(L.toJD()-g)*f+S*h+E*p+C*d:u}M=2===M.length?(Number(M)+2e3-b)%100+b:Number(M),A-=1;var O=new Date(Date.UTC(2e3,A,T,S,E));return O.setUTCFullYear(M),O.getUTCMonth()!==A?u:O.getUTCDate()!==T?u:O.getTime()+C*d},n=r.MIN_MS=r.dateTime2ms("-9999"),i=r.MAX_MS=r.dateTime2ms("9999-12-31 23:59:59.9999"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==u};var k=90*f,M=3*h,A=5*p;function T(t,e,r,n,i){if((e||r||n||i)&&(t+=" "+w(e,2)+":"+w(r,2),(n||i)&&(t+=":"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+="."+w(i,a)}return t}r.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=i))return u;e||(e=0);var a,o,s,c,y,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/f)+g,E=Math.floor(l(t,f));try{a=m.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){a=v("G%Y-%m-%d")(new Date(w))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=e<k?Math.floor(E/h):0,s=e<k?Math.floor(E%h/p):0,c=e<M?Math.floor(E%p/d):0,y=e<A?E%d*10+b:0}else x=new Date(w),a=v("%Y-%m-%d")(x),o=e<k?x.getUTCHours():0,s=e<k?x.getUTCMinutes():0,c=e<M?x.getUTCSeconds():0,y=e<A?10*x.getUTCMilliseconds()+b:0;return T(a,o,s,c,y)},r.ms2DateTimeLocal=function(t){if(!(t>=n+f&&t<=i-f))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return T(a.time.format("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,n){if(r.isJSDate(t)||"number"==typeof t){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),e;if(!(t=r.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!r.isDateTime(t,n))return s.error("unrecognized date",t),e;return t};var S=/%\d?f/g;function E(t,e,r,n){t=t.replace(S,function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"});var i=new Date(Math.floor(e+.05));if(_(n))try{t=m.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(i)}var C=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if("y"===r)e=a.year;else if("m"===r)e=a.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),C[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+i}return n}(t,r)+"\n"+E(a.dayMonthYear,t,n,i);e=a.dayMonth+"\n"+a.year}return E(e,t,n,i)};var L=3*f;r.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+g,a=m.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return e%12?a.add(o,e,"m"):a.add(o,e/12,"y"),(o.toJD()-g)*f+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var c=new Date(t+L);return c.setUTCMonth(c.getUTCMonth()+e)+n-L},r.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,c=_(e)&&m.getComponentMethod("calendars","getCal")(e),u=0;u<t.length;u++)if(n=t[u],o(n)){if(!(n%f))if(c)try{1===(r=c.fromJD(n/f+g)).day()?1===r.month()?i++:a++:s++}catch(t){}else 1===(r=new Date(n)).getUTCDate()?0===r.getUTCMonth()?i++:a++:s++}else l++;s+=a+=i;var h=t.length-l;return{exactYears:i/h,exactMonths:a/h,exactDays:s/h}}},{"../constants/numerical":670,"../registry":825,"./loggers":698,"./mod":701,d3:147,"fast-isnumeric":213}],680:[function(t,e,r){"use strict";e.exports=function(t,e){return Array.isArray(t)||(t=[]),t.length=e,t}},{}],681:[function(t,e,r){"use strict";var n=t("events").EventEmitter,i={init:function(t){if(t._ev instanceof n)return t;var e=new n,r=new n;return t._ev=e,t._internalEv=r,t.on=e.on.bind(e),t.once=e.once.bind(e),t.removeListener=e.removeListener.bind(e),t.removeAllListeners=e.removeAllListeners.bind(e),t._internalOn=r.on.bind(r),t._internalOnce=r.once.bind(r),t._removeInternalListener=r.removeListener.bind(r),t._removeAllInternalListeners=r.removeAllListeners.bind(r),t.emit=function(n,i){"undefined"!=typeof jQuery&&jQuery(t).trigger(n,i),e.emit(n,i),r.emit(n,i)},t},triggerHandler:function(t,e,r){var n,i;"undefined"!=typeof jQuery&&(n=jQuery(t).triggerHandler(e,r));var a=t._ev;if(!a)return n;var o,s=a._events[e];if(!s)return n;function l(t){return t.listener?(a.removeListener(e,t.listener),t.fired?void 0:(t.fired=!0,t.listener.apply(a,[r]))):t.apply(a,[r])}for(s=Array.isArray(s)?s:[s],o=0;o<s.length-1;o++)l(s[o]);return i=l(s[o]),void 0!==n?n:i},purge:function(t){return delete t._ev,delete t.on,delete t.once,delete t.removeListener,delete t.removeAllListeners,delete t.emit,delete t._ev,delete t._internalEv,delete t._internalOn,delete t._internalOnce,delete t._removeInternalListener,delete t._removeAllInternalListeners,t}};e.exports=i},{events:91}],682:[function(t,e,r){"use strict";var n=t("./is_plain_object.js"),i=Array.isArray;function a(t,e,r,o){var s,l,c,u,f,h,p=t[0],d=t.length;if(2===d&&i(p)&&i(t[1])&&0===p.length){if(function(t,e){var r,n;for(r=0;r<t.length;r++){if(null!==(n=t[r])&&"object"==typeof n)return!1;void 0!==n&&(e[r]=n)}return!0}(t[1],p))return p;p.splice(0,p.length)}for(var g=1;g<d;g++)for(l in s=t[g])c=p[l],u=s[l],o&&i(u)?p[l]=u:e&&u&&(n(u)||(f=i(u)))?(f?(f=!1,h=c&&i(c)?c:[]):h=c&&n(c)?c:{},p[l]=a([h,u],e,r,o)):("undefined"!=typeof u||r)&&(p[l]=u);return p}r.extendFlat=function(){return a(arguments,!1,!1,!1)},r.extendDeep=function(){return a(arguments,!0,!1,!1)},r.extendDeepAll=function(){return a(arguments,!0,!0,!1)},r.extendDeepNoArrays=function(){return a(arguments,!0,!1,!0)}},{"./is_plain_object.js":695}],683:[function(t,e,r){"use strict";e.exports=function(t){for(var e={},r=[],n=0,i=0;i<t.length;i++){var a=t[i];1!==e[a]&&(e[a]=1,r[n++]=a)}return r}},{}],684:[function(t,e,r){"use strict";function n(t){return!0===t.visible}function i(t){return!0===t[0].trace.visible}e.exports=function(t){for(var e,r=(e=t,Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace?i:n),a=[],o=0;o<t.length;o++){var s=t[o];r(s)&&a.push(s)}return a}},{}],685:[function(t,e,r){"use strict";var n=t("country-regex"),i=t("../lib"),a=Object.keys(n),o={"ISO-3":i.identity,"USA-states":i.identity,"country names":function(t){for(var e=0;e<a.length;e++){var r=a[e],o=new RegExp(n[r]);if(o.test(t.trim().toLowerCase()))return r}return i.log("Unrecognized country name: "+t+"."),!1}};r.locationToFeature=function(t,e,r){if(!e||"string"!=typeof e)return!1;var n=function(t,e){return(0,o[t])(e)}(t,e);if(n){for(var a=0;a<r.length;a++){var s=r[a];if(s.id===n)return s}i.log(["Location with id",n,"does not have a matching topojson feature at this resolution."].join(" "))}return!1}},{"../lib":693,"country-regex":121}],686:[function(t,e,r){"use strict";var n=t("../constants/numerical").BADNUM;r.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],i=[],a=0;a<t.length;a++){var o=t[a].lonlat;o[0]!==n?i.push(o):!e&&i.length>0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},r.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},r.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r<t.length;r++)e[r]=[t[r]];return{type:"MultiPolygon",coordinates:e}},r.makeBlank=function(){return{type:"Point",coordinates:[]}}},{"../constants/numerical":670}],687:[function(t,e,r){"use strict";var n,i,a,o=t("./mod").mod;function s(t,e,r,n,i,a,o,s){var l=r-t,c=i-t,u=o-i,f=n-e,h=a-e,p=s-a,d=l*p-u*f;if(0===d)return null;var g=(c*p-u*h)/d,m=(c*f-l*h)/d;return m<0||m>1||g<0||g>1?null:{x:t+l*g,y:e+f*g}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}r.segmentsIntersect=s,r.segmentDistance=function(t,e,r,n,i,a,o,c){if(s(t,e,r,n,i,a,o,c))return 0;var u=r-t,f=n-e,h=o-i,p=c-a,d=u*u+f*f,g=h*h+p*p,m=Math.min(l(u,f,d,i-t,a-e),l(u,f,d,o-t,c-e),l(h,p,g,t-i,e-a),l(h,p,g,r-i,n-a));return Math.sqrt(m)},r.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),c=t.getPointAtLength(o(r+s/2,e)),u=Math.atan((c.y-l.y)/(c.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+c.x)/6,y:(4*f.y+l.y+c.y)/6,theta:u};return n[r]=h,h},r.clearLocationCache=function(){i=null},r.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,c=0,u=t.getTotalLength(),f=u;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(i=r);var c=r.x<a?a-r.x:r.x>o?r.x-o:0,f=r.y<s?s-r.y:r.y>l?r.y-l:0;return Math.sqrt(c*c+f*f)}for(var p=h(c);p;){if((c+=p+r)>f)return;p=h(c)}for(p=h(f);p;){if(c>(f-=p+r))return;p=h(f)}return{min:c,max:f,len:f-c,total:u,isClosed:0===c&&f===u&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},r.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,f=0,h=0,p=s;f<c;){if(i=(h+p)/2,o=(a=t.getPointAtLength(i))[r]-e,Math.abs(o)<l)return a;u*o>0?p=i:h=i,f++}return a}},{"./mod":701}],688:[function(t,e,r){"use strict";e.exports=function(t){var e;if("string"==typeof t){if(null===(e=document.getElementById(t)))throw new Error("No DOM element with id '"+t+"' exists on the page.");return e}if(null==t)throw new Error("DOM element provided is null or undefined");return t}},{}],689:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("tinycolor2"),a=t("color-normalize"),o=t("../components/colorscale"),s=t("../components/color/attributes").defaultLine,l=t("./is_array").isArrayOrTypedArray,c=a(s),u=1;function f(t,e){var r=t;return r[3]*=e,r}function h(t){if(n(t))return c;var e=a(t);return e.length?e:c}function p(t){return n(t)?t:u}e.exports={formatColor:function(t,e,r){var n,i,s,d,g,m=t.color,v=l(m),y=l(e),x=[];if(n=void 0!==t.colorscale?o.makeColorScaleFunc(o.extractScale(t.colorscale,t.cmin,t.cmax)):h,i=v?function(t,e){return void 0===t[e]?c:a(n(t[e]))}:h,s=y?function(t,e){return void 0===t[e]?u:p(t[e])}:p,v||y)for(var b=0;b<r;b++)d=i(m,b),g=s(e,b),x[b]=f(d,g);else x=f(a(m),e);return x},parseColorScale:function(t,e){return void 0===e&&(e=1),t.map(function(t){var r=t[0],n=i(t[1]).toRgb();return{index:r,rgb:[n.r,n.g,n.b,e]}})}}},{"../components/color/attributes":566,"../components/colorscale":582,"./is_array":694,"color-normalize":107,"fast-isnumeric":213,tinycolor2:511}],690:[function(t,e,r){"use strict";var n=t("./identity");function i(t){return[t]}e.exports={keyFun:function(t){return t.key},repeat:i,descend:n,wrap:i,unwrap:function(t){return t[0]}}},{"./identity":692}],691:[function(t,e,r){"use strict";var n=t("superscript-text"),i=t("./svg_text_utils").convertEntities;e.exports=function(t){return""+i(function(t){return t.replace(/\<.*\>/g,"")}(function(t){for(var e=0;(e=t.indexOf("<sup>",e))>=0;){var r=t.indexOf("</sup>",e);if(r<e)break;t=t.slice(0,e)+n(t.slice(e+5,r))+t.slice(r+6)}return t}(t.replace(/\<br\>/g,"\n"))))}},{"./svg_text_utils":718,"superscript-text":504}],692:[function(t,e,r){"use strict";e.exports=function(t){return t}},{}],693:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../constants/numerical"),o=a.FP_SAFE,s=a.BADNUM,l=e.exports={};l.nestedProperty=t("./nested_property"),l.keyedContainer=t("./keyed_container"),l.relativeAttr=t("./relative_attr"),l.isPlainObject=t("./is_plain_object"),l.toLogRange=t("./to_log_range"),l.relinkPrivateKeys=t("./relink_private"),l.ensureArray=t("./ensure_array");var c=t("./mod");l.mod=c.mod,l.modHalf=c.modHalf;var u=t("./is_array");l.isTypedArray=u.isTypedArray,l.isArrayOrTypedArray=u.isArrayOrTypedArray,l.isArray1D=u.isArray1D;var f=t("./coerce");l.valObjectMeta=f.valObjectMeta,l.coerce=f.coerce,l.coerce2=f.coerce2,l.coerceFont=f.coerceFont,l.coerceHoverinfo=f.coerceHoverinfo,l.coerceSelectionMarkerOpacity=f.coerceSelectionMarkerOpacity,l.validate=f.validate;var h=t("./dates");l.dateTime2ms=h.dateTime2ms,l.isDateTime=h.isDateTime,l.ms2DateTime=h.ms2DateTime,l.ms2DateTimeLocal=h.ms2DateTimeLocal,l.cleanDate=h.cleanDate,l.isJSDate=h.isJSDate,l.formatDate=h.formatDate,l.incrementMonth=h.incrementMonth,l.dateTick0=h.dateTick0,l.dfltRange=h.dfltRange,l.findExactDates=h.findExactDates,l.MIN_MS=h.MIN_MS,l.MAX_MS=h.MAX_MS;var p=t("./search");l.findBin=p.findBin,l.sorterAsc=p.sorterAsc,l.sorterDes=p.sorterDes,l.distinctVals=p.distinctVals,l.roundUp=p.roundUp,l.sort=p.sort,l.findIndexOfMin=p.findIndexOfMin;var d=t("./stats");l.aggNums=d.aggNums,l.len=d.len,l.mean=d.mean,l.midRange=d.midRange,l.variance=d.variance,l.stdev=d.stdev,l.interp=d.interp;var g=t("./matrix");l.init2dArray=g.init2dArray,l.transposeRagged=g.transposeRagged,l.dot=g.dot,l.translationMatrix=g.translationMatrix,l.rotationMatrix=g.rotationMatrix,l.rotationXYMatrix=g.rotationXYMatrix,l.apply2DTransform=g.apply2DTransform,l.apply2DTransform2=g.apply2DTransform2;var m=t("./angles");l.deg2rad=m.deg2rad,l.rad2deg=m.rad2deg,l.angleDelta=m.angleDelta,l.angleDist=m.angleDist,l.isFullCircle=m.isFullCircle,l.isAngleInsideSector=m.isAngleInsideSector,l.isPtInsideSector=m.isPtInsideSector,l.pathArc=m.pathArc,l.pathSector=m.pathSector,l.pathAnnulus=m.pathAnnulus;var v=t("./geometry2d");l.segmentsIntersect=v.segmentsIntersect,l.segmentDistance=v.segmentDistance,l.getTextLocation=v.getTextLocation,l.clearLocationCache=v.clearLocationCache,l.getVisibleSegment=v.getVisibleSegment,l.findPointOnPath=v.findPointOnPath;var y=t("./extend");l.extendFlat=y.extendFlat,l.extendDeep=y.extendDeep,l.extendDeepAll=y.extendDeepAll,l.extendDeepNoArrays=y.extendDeepNoArrays;var x=t("./loggers");l.log=x.log,l.warn=x.warn,l.error=x.error;var b=t("./regex");l.counterRegex=b.counter;var _=t("./throttle");function w(t){var e={};for(var r in t)for(var n=t[r],i=0;i<n.length;i++)e[n[i]]=+r;return e}l.throttle=_.throttle,l.throttleDone=_.done,l.clearThrottle=_.clear,l.getGraphDiv=t("./get_graph_div"),l.clearResponsive=t("./clear_responsive"),l.makeTraceGroups=t("./make_trace_groups"),l._=t("./localize"),l.notifier=t("./notifier"),l.filterUnique=t("./filter_unique"),l.filterVisible=t("./filter_visible"),l.pushUnique=t("./push_unique"),l.cleanNumber=t("./clean_number"),l.ensureNumber=function(t){return i(t)?(t=Number(t))<-o||t>o?s:i(t)?Number(t):s:s},l.isIndex=function(t,e){return!(void 0!==e&&t>=e)&&(i(t)&&t>=0&&t%1==0)},l.noop=t("./noop"),l.identity=t("./identity"),l.repeat=function(t,e){for(var r=new Array(e),n=0;n<e;n++)r[n]=t;return r},l.swapAttrs=function(t,e,r,n){r||(r="x"),n||(n="y");for(var i=0;i<e.length;i++){var a=e[i],o=l.nestedProperty(t,a.replace("?",r)),s=l.nestedProperty(t,a.replace("?",n)),c=o.get();o.set(s.get()),s.set(c)}},l.raiseToTop=function(t){t.parentNode.appendChild(t)},l.cancelTransition=function(t){return t.transition().duration(0)},l.constrain=function(t,e,r){return e>r?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},l.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},l.simpleMap=function(t,e,r,n){for(var i=t.length,a=new Array(i),o=0;o<i;o++)a[o]=e(t[o],r,n);return a},l.randstr=function t(e,r,n,i){if(n||(n=16),void 0===r&&(r=24),r<=0)return"0";var a,o,s=Math.log(Math.pow(2,r))/Math.log(n),c="";for(a=2;s===1/0;a*=2)s=Math.log(Math.pow(2,r/a))/Math.log(n)*a;var u=s-Math.floor(s);for(a=0;a<Math.floor(s);a++)c=Math.floor(Math.random()*n).toString(n)+c;u&&(o=Math.pow(n,u),c=Math.floor(Math.random()*o).toString(n)+c);var f=parseInt(c,n);return e&&e[c]||f!==1/0&&f>=Math.pow(2,r)?i>10?(l.warn("randstr failed uniqueness"),c):t(e,r,n,(i||0)+1):c},l.OptionControl=function(t,e){t||(t={}),e||(e="opt");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r["_"+e]=t,r},l.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,c=new Array(l),u=new Array(o);for(r=0;r<l;r++)c[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r<o;r++){for(a=0,n=0;n<l;n++)(i=r+n+1-e)<-o?i-=s*Math.round(i/s):i>=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*c[n];u[r]=a}return u},l.syncOrAsync=function(t,e,r){var n;function i(){return l.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i).then(void 0,l.promiseError);return r&&r(e)},l.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},l.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n<r.length;n++)null!=t[r[n]]?i=!0:a=!1;if(i&&!a)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},l.mergeArray=function(t,e,r){if(l.isArrayOrTypedArray(t))for(var n=Math.min(t.length,e.length),i=0;i<n;i++)e[i][r]=t[i]},l.fillArray=function(t,e,r,n){if(n=n||l.identity,l.isArrayOrTypedArray(t))for(var i=0;i<e.length;i++)e[i][r]=n(t[i])},l.castOption=function(t,e,r,n){n=n||l.identity;var i=l.nestedProperty(t,r).get();return l.isArrayOrTypedArray(i)?Array.isArray(e)&&l.isArrayOrTypedArray(i[e[0]])?n(i[e[0]][e[1]]):n(i[e]):i},l.extractOption=function(t,e,r,n){if(r in t)return t[r];var i=l.nestedProperty(e,n).get();return Array.isArray(i)?void 0:i},l.tagSelected=function(t,e,r){var n,i,a=e.selectedpoints,o=e._indexToPoints;o&&(n=w(o));for(var s=0;s<a.length;s++){var c=a[s];if(l.isIndex(c)){var u=n?n[c]:c,f=r?r[u]:u;void 0!==(i=f)&&i<t.length&&(t[f].selected=1)}}},l.selIndices2selPoints=function(t){var e=t.selectedpoints,r=t._indexToPoints;if(r){for(var n=w(r),i=[],a=0;a<e.length;a++){var o=e[a];if(l.isIndex(o)){var s=n[o];l.isIndex(s)&&i.push(s)}}return i}return e},l.getTargetArray=function(t,e){var r=e.target;if("string"==typeof r&&r){var n=l.nestedProperty(t,r).get();return!!Array.isArray(n)&&n}return!!Array.isArray(r)&&r},l.minExtend=function(t,e){var r={};"object"!=typeof e&&(e={});var n,i,a,o=Object.keys(t);for(n=0;n<o.length;n++)a=t[i=o[n]],"_"!==i.charAt(0)&&"function"!=typeof a&&("module"===i?r[i]=a:Array.isArray(a)?r[i]=a.slice(0,3):r[i]=a&&"object"==typeof a?l.minExtend(t[i],e[i]):a);for(o=Object.keys(e),n=0;n<o.length;n++)"object"==typeof(a=e[i=o[n]])&&i in r&&"object"==typeof r[i]||(r[i]=a);return r},l.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},l.containsAny=function(t,e){for(var r=0;r<e.length;r++)if(-1!==t.indexOf(e[r]))return!0;return!1},l.isPlotDiv=function(t){var e=n.select(t);return e.node()instanceof HTMLElement&&e.size()&&e.classed("js-plotly-plot")},l.removeElement=function(t){var e=t&&t.parentNode;e&&e.removeChild(t)},l.addStyleRule=function(t,e){if(!l.styleSheet){var r=document.createElement("style");r.appendChild(document.createTextNode("")),document.head.appendChild(r),l.styleSheet=r.sheet}var n=l.styleSheet;n.insertRule?n.insertRule(t+"{"+e+"}",0):n.addRule?n.addRule(t,e,0):l.warn("addStyleRule failed")},l.isIE=function(){return"undefined"!=typeof window.navigator.msSaveBlob},l.isD3Selection=function(t){return t&&"function"==typeof t.classed},l.ensureSingle=function(t,e,r,n){var i=t.select(e+(r?"."+r:""));if(i.size())return i;var a=t.append(e);return r&&a.classed(r,!0),n&&a.call(n),a},l.ensureSingleById=function(t,e,r,n){var i=t.select(e+"#"+r);if(i.size())return i;var a=t.append(e).attr("id",r);return n&&a.call(n),a},l.objectFromPath=function(t,e){for(var r,n=t.split("."),i=r={},a=0;a<n.length;a++){var o=n[a],s=null,l=n[a].match(/(.*)\[([0-9]+)\]/);l?(o=l[1],s=l[2],r=r[o]=[],a===n.length-1?r[s]=e:r[s]={},r=r[s]):(a===n.length-1?r[o]=e:r[o]={},r=r[o])}return i};var k=/^([^\[\.]+)\.(.+)?/,M=/^([^\.]+)\[([0-9]+)\](\.)?(.+)?/;l.expandObjectPaths=function(t){var e,r,n,i,a,o,s;if("object"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(k))?(i=t[r],n=e[1],delete t[r],t[n]=l.extendDeepNoArrays(t[n]||{},l.objectFromPath(r,l.expandObjectPaths(i))[n])):(e=r.match(M))?(i=t[r],n=e[1],a=parseInt(e[2]),delete t[r],t[n]=t[n]||[],"."===e[3]?(s=e[4],o=t[n][a]=t[n][a]||{},l.extendDeepNoArrays(o,l.objectFromPath(s,l.expandObjectPaths(i)))):t[n][a]=l.expandObjectPaths(i)):t[r]=l.expandObjectPaths(t[r]));return t},l.numSeparate=function(t,e,r){if(r||(r=!1),"string"!=typeof e||0===e.length)throw new Error("Separator string required for formatting!");"number"==typeof t&&(t=String(t));var n=/(\d+)(\d{3})/,i=e.charAt(0),a=e.charAt(1),o=t.split("."),s=o[0],l=o.length>1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l};var A=/%{([^\s%{}]*)}/g,T=/^\w*$/;l.templateString=function(t,e){var r={};return t.replace(A,function(t,n){return T.test(n)?e[n]||"":(r[n]=r[n]||l.nestedProperty(e,n).get,r[n]()||"")})};l.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,i=0,a=0;a<r;a++){var o=t.charCodeAt(a)||0,s=e.charCodeAt(a)||0,l=o>=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var S=2e9;l.seedPseudoRandom=function(){S=2e9},l.pseudoRandom=function(){var t=S;return S=(69069*S+1)%4294967296,Math.abs(S-t)<429496729?l.pseudoRandom():S/4294967296}},{"../constants/numerical":670,"./angles":674,"./clean_number":675,"./clear_responsive":677,"./coerce":678,"./dates":679,"./ensure_array":680,"./extend":682,"./filter_unique":683,"./filter_visible":684,"./geometry2d":687,"./get_graph_div":688,"./identity":692,"./is_array":694,"./is_plain_object":695,"./keyed_container":696,"./localize":697,"./loggers":698,"./make_trace_groups":699,"./matrix":700,"./mod":701,"./nested_property":702,"./noop":703,"./notifier":704,"./push_unique":708,"./regex":710,"./relative_attr":711,"./relink_private":712,"./search":713,"./stats":716,"./throttle":719,"./to_log_range":720,d3:147,"fast-isnumeric":213}],694:[function(t,e,r){"use strict";var n="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},i="undefined"==typeof DataView?function(){}:DataView;function a(t){return n.isView(t)&&!(t instanceof i)}function o(t){return Array.isArray(t)||a(t)}e.exports={isTypedArray:a,isArrayOrTypedArray:o,isArray1D:function(t){return!o(t[0])}}},{}],695:[function(t,e,r){"use strict";e.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t)===Object.prototype}},{}],696:[function(t,e,r){"use strict";var n=t("./nested_property"),i=/^\w*$/;e.exports=function(t,e,r,a){var o,s,l;r=r||"name",a=a||"value";var c={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var u={};if(s)for(o=0;o<s.length;o++)u[s[o][r]]=o;var f=i.test(a),h={set:function(t,e){var i=null===e?4:0;if(!s){if(!l||4===i)return;s=[],l.set(s)}var o=u[t];if(void 0===o){if(4===i)return;i|=3,o=s.length,u[t]=o}else e!==(f?s[o][a]:n(s[o],a).get())&&(i|=2);var p=s[o]=s[o]||{};return p[r]=t,f?p[a]=e:n(p,a).set(e),null!==e&&(i&=-5),c[o]=c[o]|i,h},get:function(t){if(s){var e=u[t];return void 0===e?void 0:f?s[e][a]:n(s[e],a).get()}},rename:function(t,e){var n=u[t];return void 0===n?h:(c[n]=1|c[n],u[e]=n,delete u[t],s[n][r]=e,h)},remove:function(t){var e=u[t];if(void 0===e)return h;var i=s[e];if(Object.keys(i).length>2)return c[e]=2|c[e],h.set(t,null);if(f){for(o=e;o<s.length;o++)c[o]=3|c[o];for(o=e;o<s.length;o++)u[s[o][r]]--;s.splice(e,1),delete u[t]}else n(i,a).set(null),c[e]=6|c[e];return h},constructUpdate:function(){for(var t,i,o={},l=Object.keys(c),u=0;u<l.length;u++)i=l[u],t=e+"["+i+"]",s[i]?(1&c[i]&&(o[t+"."+r]=s[i][r]),2&c[i]&&(o[t+"."+a]=f?4&c[i]?null:s[i][a]:4&c[i]?null:n(s[i],a).get())):o[t]=null;return o}};return h}},{"./nested_property":702}],697:[function(t,e,r){"use strict";var n=t("../registry");e.exports=function(t,e){for(var r=t._context.locale,i=0;i<2;i++){for(var a=t._context.locales,o=0;o<2;o++){var s=(a[r]||{}).dictionary;if(s){var l=s[e];if(l)return l}a=n.localeRegistry}var c=r.split("-")[0];if(c===r)break;r=c}return e}},{"../registry":825}],698:[function(t,e,r){"use strict";var n=t("../plot_api/plot_config"),i=e.exports={};function a(t,e){if(t.apply)t.apply(t,e);else for(var r=0;r<e.length;r++)t(e[r])}i.log=function(){if(n.logging>1){for(var t=["LOG:"],e=0;e<arguments.length;e++)t.push(arguments[e]);a(console.trace||console.log,t)}},i.warn=function(){if(n.logging>0){for(var t=["WARN:"],e=0;e<arguments.length;e++)t.push(arguments[e]);a(console.trace||console.log,t)}},i.error=function(){if(n.logging>0){for(var t=["ERROR:"],e=0;e<arguments.length;e++)t.push(arguments[e]);a(console.error,t)}}},{"../plot_api/plot_config":730}],699:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n=t.selectAll("g."+r.replace(/\s/g,".")).data(e,function(t){return t[0].trace.uid});return n.exit().remove(),n.enter().append("g").attr("class",r),n.order(),n}},{}],700:[function(t,e,r){"use strict";r.init2dArray=function(t,e){for(var r=new Array(t),n=0;n<t;n++)r[n]=new Array(e);return r},r.transposeRagged=function(t){var e,r,n=0,i=t.length;for(e=0;e<i;e++)n=Math.max(n,t[e].length);var a=new Array(n);for(e=0;e<n;e++)for(a[e]=new Array(i),r=0;r<i;r++)a[e][r]=t[r][e];return a},r.dot=function(t,e){if(!t.length||!e.length||t.length!==e.length)return null;var n,i,a=t.length;if(t[0].length)for(n=new Array(a),i=0;i<a;i++)n[i]=r.dot(t[i],e);else if(e[0].length){var o=r.transposeRagged(e);for(n=new Array(o.length),i=0;i<o.length;i++)n[i]=r.dot(t,o[i])}else for(n=0,i=0;i<a;i++)n+=t[i]*e[i];return n},r.translationMatrix=function(t,e){return[[1,0,t],[0,1,e],[0,0,1]]},r.rotationMatrix=function(t){var e=t*Math.PI/180;return[[Math.cos(e),-Math.sin(e),0],[Math.sin(e),Math.cos(e),0],[0,0,1]]},r.rotationXYMatrix=function(t,e,n){return r.dot(r.dot(r.translationMatrix(e,n),r.rotationMatrix(t)),r.translationMatrix(-e,-n))},r.apply2DTransform=function(t){return function(){var e=arguments;3===e.length&&(e=e[0]);var n=1===arguments.length?e[0]:[e[0],e[1]];return r.dot(t,[n[0],n[1],1]).slice(0,2)}},r.apply2DTransform2=function(t){var e=r.apply2DTransform(t);return function(t){return e(t.slice(0,2)).concat(e(t.slice(2,4)))}}},{}],701:[function(t,e,r){"use strict";e.exports={mod:function(t,e){var r=t%e;return r<0?r+e:r},modHalf:function(t,e){return Math.abs(t)>e/2?t-Math.round(t/e)*e:t}}},{}],702:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("./is_array").isArrayOrTypedArray;e.exports=function(t,e){if(n(e))e=String(e);else if("string"!=typeof e||"[-1]"===e.substr(e.length-4))throw"bad property string";for(var r,a,o,l=0,c=e.split(".");l<c.length;){if(r=String(c[l]).match(/^([^\[\]]*)((\[\-?[0-9]*\])+)$/)){if(r[1])c[l]=r[1];else{if(0!==l)throw"bad property string";c.splice(0,1)}for(a=r[2].substr(1,r[2].length-2).split("]["),o=0;o<a.length;o++)l++,c.splice(l,0,Number(a[o]))}l++}return"object"!=typeof t?function(t,e,r){return{set:function(){throw"bad container"},get:function(){},astr:e,parts:r,obj:t}}(t,e,c):{set:s(t,c,e),get:function t(e,r){return function(){var n,a,o,s,l,c=e;for(s=0;s<r.length-1;s++){if(-1===(n=r[s])){for(a=!0,o=[],l=0;l<c.length;l++)o[l]=t(c[l],r.slice(s+1))(),o[l]!==o[0]&&(a=!1);return a?o[0]:o}if("number"==typeof n&&!i(c))return;if("object"!=typeof(c=c[n])||null===c)return}if("object"==typeof c&&null!==c&&null!==(o=c[r[s]]))return o}}(t,c),astr:e,parts:c,obj:t}};var a=/(^|\.)args\[/;function o(t,e){return void 0===t||null===t&&!e.match(a)}function s(t,e,r){return function(n){var a,s,f=t,h="",p=[[t,h]],d=o(n,r);for(s=0;s<e.length-1;s++){if("number"==typeof(a=e[s])&&!i(f))throw"array index but container is not an array";if(-1===a){if(d=!c(f,e.slice(s+1),n,r))break;return}if(!u(f,a,e[s+1],d))break;if("object"!=typeof(f=f[a])||null===f)throw"container is not an object";h=l(h,a),p.push([f,h])}if(d){if(s===e.length-1&&(delete f[e[s]],Array.isArray(f)&&+e[s]==f.length-1))for(;f.length&&void 0===f[f.length-1];)f.pop()}else f[e[s]]=n}}function l(t,e){var r=e;return n(e)?r="["+e+"]":t&&(r="."+e),t+r}function c(t,e,r,n){var a,l=i(r),c=!0,f=r,h=n.replace("-1",0),p=!l&&o(r,h),d=e[0];for(a=0;a<t.length;a++)h=n.replace("-1",a),l&&(p=o(f=r[a%r.length],h)),p&&(c=!1),u(t,a,d,p)&&s(t[a],e,n.replace("-1",a))(f);return c}function u(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]="number"==typeof r?[]:{}}return!0}},{"./is_array":694,"fast-isnumeric":213}],703:[function(t,e,r){"use strict";e.exports=function(){}},{}],704:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=[];e.exports=function(t,e){if(-1===a.indexOf(t)){a.push(t);var r=1e3;i(e)?r=e:"long"===e&&(r=3e3);var o=n.select("body").selectAll(".plotly-notifier").data([0]);o.enter().append("div").classed("plotly-notifier",!0),o.selectAll(".notifier-note").data(a).enter().append("div").classed("notifier-note",!0).style("opacity",0).each(function(t){var e=n.select(this);e.append("button").classed("notifier-close",!0).html("&times;").on("click",function(){e.transition().call(s)});for(var i=e.append("p"),a=t.split(/<br\s*\/?>/g),o=0;o<a.length;o++)o&&i.append("br"),i.append("span").text(a[o]);e.transition().duration(700).style("opacity",1).transition().delay(r).call(s)})}function s(t){t.duration(700).style("opacity",0).each("end",function(t){var e=a.indexOf(t);-1!==e&&a.splice(e,1),n.select(this).remove()})}}},{d3:147,"fast-isnumeric":213}],705:[function(t,e,r){"use strict";var n=t("./setcursor"),i="data-savedcursor";e.exports=function(t,e){var r=t.attr(i);if(e){if(!r){for(var a=(t.attr("class")||"").split(" "),o=0;o<a.length;o++){var s=a[o];0===s.indexOf("cursor-")&&t.attr(i,s.substr(7)).classed(s,!1)}t.attr(i)||t.attr(i,"!!")}n(t,e)}else r&&(t.attr(i,null),"!!"===r?n(t):n(t,r))}},{"./setcursor":714}],706:[function(t,e,r){"use strict";var n=t("./matrix").dot,i=t("../constants/numerical").BADNUM,a=e.exports={};a.tester=function(t){var e,r=t.slice(),n=r[0][0],a=n,o=r[0][1],s=o;for(r.push(r[0]),e=1;e<r.length;e++)n=Math.min(n,r[e][0]),a=Math.max(a,r[e][0]),o=Math.min(o,r[e][1]),s=Math.max(s,r[e][1]);var l,c=!1;5===r.length&&(r[0][0]===r[1][0]?r[2][0]===r[3][0]&&r[0][1]===r[3][1]&&r[1][1]===r[2][1]&&(c=!0,l=function(t){return t[0]===r[0][0]}):r[0][1]===r[1][1]&&r[2][1]===r[3][1]&&r[0][0]===r[3][0]&&r[1][0]===r[2][0]&&(c=!0,l=function(t){return t[1]===r[0][1]}));var u=!0,f=r[0];for(e=1;e<r.length;e++)if(f[0]!==r[e][0]||f[1]!==r[e][1]){u=!1;break}return{xmin:n,xmax:a,ymin:o,ymax:s,pts:r,contains:c?function(t,e){var r=t[0],c=t[1];return!(r===i||r<n||r>a||c===i||c<o||c>s||e&&l(t))}:function(t,e){var l=t[0],c=t[1];if(l===i||l<n||l>a||c===i||c<o||c>s)return!1;var u,f,h,p,d,g=r.length,m=r[0][0],v=r[0][1],y=0;for(u=1;u<g;u++)if(f=m,h=v,m=r[u][0],v=r[u][1],!(l<(p=Math.min(f,m))||l>Math.max(f,m)||c>Math.max(h,v)))if(c<Math.min(h,v))l!==p&&y++;else{if(c===(d=m===f?c:h+(l-f)*(v-h)/(m-f)))return 1!==u||!e;c<=d&&l!==p&&y++}return y%2==1},isRect:c,degenerate:u}};var o=a.isSegmentBent=function(t,e,r,i){var a,o,s,l=t[e],c=[t[r][0]-l[0],t[r][1]-l[1]],u=n(c,c),f=Math.sqrt(u),h=[-c[1]/f,c[0]/f];for(a=e+1;a<r;a++)if(o=[t[a][0]-l[0],t[a][1]-l[1]],(s=n(o,c))<0||s>u||Math.abs(n(o,h))>i)return!0;return!1};a.filter=function(t,e){var r=[t[0]],n=0,i=0;function a(a){t.push(a);var s=r.length,l=n;r.splice(i+1);for(var c=l+1;c<t.length;c++)(c===t.length-1||o(t,l,c+1,e))&&(r.push(t[c]),r.length<s-2&&(n=c,i=r.length-1),l=c)}t.length>1&&a(t.pop());return{addPt:a,raw:t,filtered:r}}},{"../constants/numerical":670,"./matrix":700}],707:[function(t,e,r){(function(r){"use strict";var n=t("./show_no_webgl_msg"),i=t("regl");e.exports=function(t,e){var a=t._fullLayout,o=!0;return a._glcanvas.each(function(n){if(!n.regl&&(!n.pick||a._has("parcoords"))){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio,extensions:e||[]})}catch(t){o=!1}o&&this.addEventListener("webglcontextlost",function(e){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:e,layer:n.key})},!1)}}),o||n({container:a._glcontainer.node()}),o}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./show_no_webgl_msg":715,regl:475}],708:[function(t,e,r){"use strict";e.exports=function(t,e){if(e instanceof RegExp){var r,n=e.toString();for(r=0;r<t.length;r++)if(t[r]instanceof RegExp&&t[r].toString()===n)return t;t.push(e)}else!e&&0!==e||-1!==t.indexOf(e)||t.push(e);return t}},{}],709:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plot_api/plot_config");var a={add:function(t,e,r,n,a){var o,s;t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},s=t.undoQueue.index,t.autoplay?t.undoQueue.inSequence||(t.autoplay=!1):(!t.undoQueue.sequence||t.undoQueue.beginSequence?(o={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},t.undoQueue.queue.splice(s,t.undoQueue.queue.length-s,o),t.undoQueue.index+=1):o=t.undoQueue.queue[s-1],t.undoQueue.beginSequence=!1,o&&(o.undo.calls.unshift(e),o.undo.args.unshift(r),o.redo.calls.push(n),o.redo.args.push(a)),t.undoQueue.queue.length>i.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.undo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.undo.calls.length;r++)a.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},redo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.redo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index>=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.redo.calls.length;r++)a.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}}};a.plotDo=function(t,e,r){t.autoplay=!0,r=function(t,e){for(var r,i=[],a=0;a<e.length;a++)r=e[a],i[a]=r===t?r:"object"==typeof r?Array.isArray(r)?n.extendDeep([],r):n.extendDeepAll({},r):r;return i}(t,r),e.apply(null,r)},e.exports=a},{"../lib":693,"../plot_api/plot_config":730}],710:[function(t,e,r){"use strict";r.counter=function(t,e,r){var n=(e||"")+(r?"":"$");return"xy"===t?new RegExp("^x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?"+n):new RegExp("^"+t+"([2-9]|[1-9][0-9]+)?"+n)}},{}],711:[function(t,e,r){"use strict";var n=/^(.*)(\.[^\.\[\]]+|\[\d\])$/,i=/^[^\.\[\]]+$/;e.exports=function(t,e){for(;e;){var r=t.match(n);if(r)t=r[1];else{if(!t.match(i))throw new Error("bad relativeAttr call:"+[t,e]);t=""}if("^"!==e.charAt(0))break;e=e.slice(1)}return t&&"["!==e.charAt(0)?t+"."+e:t+e}},{}],712:[function(t,e,r){"use strict";var n=t("./is_array").isArrayOrTypedArray,i=t("./is_plain_object");e.exports=function t(e,r){for(var a in r){var o=r[a],s=e[a];if(s!==o)if("_"===a.charAt(0)||"function"==typeof o){if(a in e)continue;e[a]=o}else if(n(o)&&n(s)&&i(o[0])){if("customdata"===a||"ids"===a)continue;for(var l=Math.min(o.length,s.length),c=0;c<l;c++)s[c]!==o[c]&&i(o[c])&&i(s[c])&&t(s[c],o[c])}else i(o)&&i(s)&&(t(s,o),Object.keys(s).length||delete e[a])}}},{"./is_array":694,"./is_plain_object":695}],713:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("./loggers"),a=t("./identity");function o(t,e){return t<e}function s(t,e){return t<=e}function l(t,e){return t>e}function c(t,e){return t>=e}r.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var a,u,f=0,h=e.length,p=0,d=h>1?(e[h-1]-e[0])/(h-1):1;for(u=d>=0?r?o:s:r?c:l,t+=1e-9*d*(r?-1:1)*(d>=0?1:-1);f<h&&p++<100;)u(e[a=Math.floor((f+h)/2)],t)?f=a+1:h=a;return p>90&&i.log("Long binary search..."),f-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,i=e[n]-e[0]||1,a=i/(n||1)/1e4,o=[e[0]],s=0;s<n;s++)e[s+1]>e[s]+a&&(i=Math.min(i,e[s+1]-e[s]),o.push(e[s+1]));return{vals:o,minDiff:i}},r.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;i<a&&o++<100;)e[n=c((i+a)/2)]<=t?i=n+s:a=n-l;return e[i]},r.sort=function(t,e){for(var r=0,n=0,i=1;i<t.length;i++){var a=e(t[i],t[i-1]);if(a<0?r=1:a>0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},r.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;i<t.length;i++){var o=e(t[i]);o<n&&(n=o,r=i)}return r}},{"./identity":692,"./loggers":698,"fast-isnumeric":213}],714:[function(t,e,r){"use strict";e.exports=function(t,e){(t.attr("class")||"").split(" ").forEach(function(e){0===e.indexOf("cursor-")&&t.classed(e,!1)}),e&&t.classed("cursor-"+e,!0)}},{}],715:[function(t,e,r){"use strict";var n=t("../components/color"),i=function(){};e.exports=function(t){for(var e in t)"function"==typeof t[e]&&(t[e]=i);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement("div");r.className="no-webgl",r.style.cursor="pointer",r.style.fontSize="24px",r.style.color=n.defaults[0],r.style.position="absolute",r.style.left=r.style.top="0px",r.style.width=r.style.height="100%",r.style["background-color"]=n.lightLine,r.style["z-index"]=30;var a=document.createElement("p");return a.textContent="WebGL is not supported by your browser - visit https://get.webgl.org for more info",a.style.position="relative",a.style.top="50%",a.style.left="50%",a.style.height="30%",a.style.width="50%",a.style.margin="-15% 0 0 -25%",r.appendChild(a),t.container.appendChild(r),t.container.style.background="#FFFFFF",t.container.onclick=function(){window.open("https://get.webgl.org")},!1}},{"../components/color":567}],716:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("./is_array").isArrayOrTypedArray;r.aggNums=function(t,e,a,o){var s,l;if((!o||o>a.length)&&(o=a.length),n(e)||(e=!1),i(a[0])){for(l=new Array(o),s=0;s<o;s++)l[s]=r.aggNums(t,e,a[s]);a=l}for(s=0;s<o;s++)n(e)?n(a[s])&&(e=t(+e,+a[s])):e=a[s];return e},r.len=function(t){return r.aggNums(function(t){return t+1},0,t)},r.mean=function(t,e){return e||(e=r.len(t)),r.aggNums(function(t,e){return t+e},0,t)/e},r.midRange=function(t){if(void 0!==t&&0!==t.length)return(r.aggNums(Math.max,null,t)+r.aggNums(Math.min,null,t))/2},r.variance=function(t,e,i){return e||(e=r.len(t)),n(i)||(i=r.mean(t,e)),r.aggNums(function(t,e){return t+Math.pow(e-i,2)},0,t)/e},r.stdev=function(t,e,n){return Math.sqrt(r.variance(t,e,n))},r.interp=function(t,e){if(!n(e))throw"n should be a finite number";if((e=e*t.length-.5)<0)return t[0];if(e>t.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{"./is_array":694,"fast-isnumeric":213}],717:[function(t,e,r){"use strict";var n=t("color-normalize");e.exports=function(t){return t?n(t):[0,0,0,1]}},{"color-normalize":107}],718:[function(t,e,r){"use strict";var n=t("d3"),i=t("../lib"),a=t("../constants/xmlns_namespaces"),o=t("../constants/alignment").LINE_SPACING;function s(t,e){return t.node().getBoundingClientRect()[e]}var l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,m){var S=t.text(),E=!t.attr("data-notex")&&"undefined"!=typeof MathJax&&S.match(l),L=n.select(t.node().parentNode);if(!L.empty()){var z=t.attr("class")?t.attr("class").split(" ")[0]:"text";return z+="-math",L.selectAll("svg."+z).remove(),L.selectAll("g."+z+"-group").remove(),t.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),E?(e&&e._promises||[]).push(new Promise(function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),a={fontSize:r};!function(t,e,r){var a="math-output-"+i.randstr({},64),o=n.select("body").append("div").attr({id:a}).style({visibility:"hidden",position:"absolute"}).style({"font-size":e.fontSize+"px"}).text((s=t,s.replace(c,"\\lt ").replace(u,"\\gt ")));var s;MathJax.Hub.Queue(["Typeset",MathJax.Hub,o.node()],function(){var e=n.select("body").select("#MathJax_SVG_glyphs");if(o.select(".MathJax_SVG").empty()||!o.select("svg").node())i.log("There was an error in the tex syntax.",t),r();else{var a=o.select("svg").node().getBoundingClientRect();r(o.select(".MathJax_SVG"),e,a)}o.remove()})}(E[2],a,function(n,i,a){L.selectAll("svg."+z).remove(),L.selectAll("g."+z+"-group").remove();var o=n&&n.select("svg");if(!o||!o.node())return P(),void e();var l=L.append("g").classed(z+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});l.node().appendChild(o.node()),i&&i.node()&&o.node().insertBefore(i.node().cloneNode(!0),o.node().firstChild),o.attr({class:z,height:a.height,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var c=t.node().style.fill||"black";o.select("g").attr({fill:c,stroke:c});var u=s(o,"width"),f=s(o,"height"),h=+t.attr("x")-u*{start:0,middle:.5,end:1}[t.attr("text-anchor")||"start"],p=-(r||s(t,"height"))/4;"y"===z[0]?(l.attr({transform:"rotate("+[-90,+t.attr("x"),+t.attr("y")]+") translate("+[-u/2,p-f/2]+")"}),o.attr({x:+t.attr("x"),y:+t.attr("y")})):"l"===z[0]?o.attr({x:t.attr("x"),y:p-f/2}):"a"===z[0]?o.attr({x:0,y:p}):o.attr({x:h,y:+t.attr("y")+p-f/2}),m&&m.call(t,l),e(l)})})):P(),t}function P(){L.empty()||(z=t.attr("class")+"-math",L.select("svg."+z).remove()),t.text("").style("white-space","pre"),function(t,e){e=e.replace(v," ");var r,s=!1,l=[],c=-1;function u(){c++;var e=document.createElementNS(a.svg,"tspan");n.select(e).attr({class:"line",dy:c*o+"em"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var s=1;s<i.length;s++)m(i[s])}function m(t){var e,i=t.type,o={};if("a"===i){e="a";var s=t.target,c=t.href,u=t.popup;c&&(o={"xlink:xlink:show":"_blank"===s||"_"!==s.charAt(0)?"new":"replace",target:s,"xlink:xlink:href":c},u&&(o.onclick='window.open(this.href.baseVal,this.target.baseVal,"'+u+'");return false;'))}else e="tspan";t.style&&(o.style=t.style);var f=document.createElementNS(a.svg,e);if("sup"===i||"sub"===i){S(r,d),r.appendChild(f);var g=document.createElementNS(a.svg,"tspan");S(g,d),n.select(g).attr("dy",p[i]),o.dy=h[i],r.appendChild(f),r.appendChild(g)}else r.appendChild(f);n.select(f).attr(o),r=t.node=f,l.push(t)}function S(t,e){t.appendChild(document.createTextNode(e))}function E(t){if(1!==l.length){var n=l.pop();t!==n.type&&i.log("Start tag <"+n.type+"> doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else i.log("Ignoring unexpected end tag </"+t+">.",e)}b.test(e)?u():(r=t,l=[{node:t}]);for(var L=e.split(y),z=0;z<L.length;z++){var P=L[z],O=P.match(x),I=O&&O[2].toLowerCase(),D=f[I];if("br"===I)u();else if(void 0===D)S(r,C(P));else if(O[1])E(I);else{var R=O[4],B={type:I},F=A(R,_);if(F?(F=F.replace(T,"$1 fill:"),D&&(F+=";"+D)):D&&(F=D),F&&(B.style=F),"a"===I){s=!0;var N=A(R,w);if(N){var j=document.createElement("a");j.href=N,-1!==g.indexOf(j.protocol)&&(B.href=encodeURI(decodeURI(N)),B.target=A(R,k)||"_blank",B.popup=A(R,M))}}m(B)}}return s}(t.node(),S)&&t.style("pointer-events","all"),r.positionText(t),m&&m.call(t)}};var c=/(<|&lt;|&#60;)/g,u=/(>|&gt;|&#62;)/g;var f={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},h={sub:"0.3em",sup:"-0.6em"},p={sub:"-0.21em",sup:"0.42em"},d="\u200b",g=["http:","https:","mailto:","",void 0,":"],m=new RegExp("</?("+Object.keys(f).join("|")+")( [^>]*)?/?>","g"),v=/(\r\n?|\n)/g,y=/(<[^<>]*>)/,x=/<(\/?)([^ >]*)(\s+(.*))?>/i,b=/<br(\s+.*)?>/i,_=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,w=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,k=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,M=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function A(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&C(n)}var T=/(^|;)\s*color:/;r.plainText=function(t){return(t||"").replace(m," ")};var S={mu:"\u03bc",amp:"&",lt:"<",gt:">",nbsp:"\xa0",times:"\xd7",plusmn:"\xb1",deg:"\xb0"},E=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function C(t){return t.replace(E,function(t,e){return("#"===e.charAt(0)?function(t){if(t>1114111)return;var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}("x"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):S[e])||t})}function L(t,e,r){var n,i,a,o=r.horizontalAlign,s=r.verticalAlign||"top",l=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return i="bottom"===s?function(){return l.bottom-n.height}:"middle"===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},a="right"===o?function(){return l.right-n.width}:"center"===o?function(){return l.left+(l.width-n.width)/2}:function(){return l.left},function(){return n=this.node().getBoundingClientRect(),this.style({top:i()-c.top+"px",left:a()-c.left+"px","z-index":1e3}),this}}r.convertEntities=C,r.lineCount=function(t){return t.selectAll("tspan.line").size()||1},r.positionText=function(t,e,r){return t.each(function(){var t=n.select(this);function i(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var a=i("x",e),o=i("y",r);"text"===this.nodeName&&t.selectAll("tspan.line").attr({x:a,y:o})})},r.makeEditable=function(t,e){var r=e.gd,i=e.delegate,a=n.dispatch("edit","input","cancel"),o=i||t;if(t.style({"pointer-events":i?"none":"all"}),1!==t.size())throw new Error("boo");function s(){!function(){var i=n.select(r).select(".svg-container"),o=i.append("div"),s=t.node().style,c=parseFloat(s.fontSize||12),u=e.text;void 0===u&&(u=t.attr("data-unformatted"));o.classed("plugin-editable editable",!0).style({position:"absolute","font-family":s.fontFamily||"Arial","font-size":c,color:e.fill||s.fill||"black",opacity:1,"background-color":e.background||"transparent",outline:"#ffffff33 1px solid",margin:[-c/8+1,0,0,-1].join("px ")+"px",padding:"0","box-sizing":"border-box"}).attr({contenteditable:!0}).text(u).call(L(t,i,e)).on("blur",function(){r._editing=!1,t.text(this.textContent).style({opacity:1});var e,i=n.select(this).attr("class");(e=i?"."+i.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(e).style({opacity:0});var o=this.textContent;n.select(this).transition().duration(0).remove(),n.select(document).on("mouseup",null),a.edit.call(t,o)}).on("focus",function(){var t=this;r._editing=!0,n.select(document).on("mouseup",function(){if(n.event.target===t)return!1;document.activeElement===o.node()&&o.node().blur()})}).on("keyup",function(){27===n.event.which?(r._editing=!1,t.style({opacity:1}),n.select(this).style({opacity:0}).on("blur",function(){return!1}).transition().remove(),a.cancel.call(t,this.textContent)):(a.input.call(t,this.textContent),n.select(this).call(L(t,i,e)))}).on("keydown",function(){13===n.event.which&&this.blur()}).call(l)}(),t.style({opacity:0});var i,s=o.attr("class");(i=s?"."+s.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(i).style({opacity:0})}function l(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}return e.immediate?s():o.on("click",s),n.rebind(t,a,"on")}},{"../constants/alignment":665,"../constants/xmlns_namespaces":671,"../lib":693,d3:147}],719:[function(t,e,r){"use strict";var n={};function i(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}r.throttle=function(t,e,r){var a=n[t],o=Date.now();if(!a){for(var s in n)n[s].ts<o-6e4&&delete n[s];a=n[t]={ts:0,timer:null}}function l(){r(),a.ts=Date.now(),a.onDone&&(a.onDone(),a.onDone=null)}i(a),o>a.ts+e?l():a.timer=setTimeout(function(){l(),a.timer=null},e)},r.done=function(t){var e=n[t];return e&&e.timer?new Promise(function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}}):Promise.resolve()},r.clear=function(t){if(t)i(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],720:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},{"fast-isnumeric":213}],721:[function(t,e,r){"use strict";var n=e.exports={},i=t("../plots/geo/constants").locationmodeToLayer,a=t("topojson-client").feature;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,"-"),"_",t.resolution.toString(),"m"].join("")},n.getTopojsonPath=function(t,e){return t+e+".json"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},{"../plots/geo/constants":770,"topojson-client":514}],722:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},{}],723:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},{}],724:[function(t,e,r){"use strict";var n=t("../registry");e.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s<a.length;s++)if((r=t.match(a[s]))&&0===r.index){e=r[0];break}if(e||(e=i[i.indexOf(o)]),!e)return!1;var l=t.substr(e.length);return l?!!(r=l.match(/^\[(0|[1-9][0-9]*)\](\.(.+))?$/))&&{array:e,index:Number(r[1]),property:r[3]||""}:{array:e,index:"",property:""}}},{"../registry":825}],725:[function(t,e,r){"use strict";var n=t("../lib"),i=n.extendFlat,a=n.isPlainObject,o={valType:"flaglist",extras:["none"],flags:["calc","clearAxisTypes","plot","style","colorbars"]},s={valType:"flaglist",extras:["none"],flags:["calc","plot","legend","ticks","axrange","layoutstyle","modebar","camera","arraydraw"]},l=o.flags.slice().concat(["fullReplot"]),c=s.flags.slice().concat("layoutReplot");function u(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=!1;return e}function f(t,e,r){var n=i({},t);for(var o in n){var s=n[o];a(s)&&(n[o]=h(s,e,r,o))}return"from-root"===r&&(n.editType=e),n}function h(t,e,r,n){if(t.valType){var a=i({},t);if(a.editType=e,Array.isArray(t.items)){a.items=new Array(t.items.length);for(var o=0;o<t.items.length;o++)a.items[o]=h(t.items[o],e,"from-root")}return a}return f(t,e,"_"===n.charAt(0)?"nested":"from-root")}e.exports={traces:o,layout:s,traceFlags:function(){return u(l)},layoutFlags:function(){return u(c)},update:function(t,e){var r=e.editType;if(r&&"none"!==r)for(var n=r.split("+"),i=0;i<n.length;i++)t[n[i]]=!0},overrideAll:f}},{"../lib":693}],726:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("gl-mat4/fromQuat"),a=t("../registry"),o=t("../lib"),s=t("../plots/plots"),l=t("../plots/cartesian/axis_ids"),c=l.cleanId,u=l.getFromTrace,f=t("../components/color");function h(t,e){var r=t[e],n=e.charAt(0);r&&"paper"!==r&&(t[e]=c(r,n))}function p(t){if(!o.isPlainObject(t))return!1;var e=t.name;return delete t.name,delete t.showlegend,("string"==typeof e||"number"==typeof e)&&String(e)}function d(t,e,r,n){if(r&&!n)return t;if(n&&!r)return e;if(!t.trim())return e;if(!e.trim())return t;var i,a=Math.min(t.length,e.length);for(i=0;i<a&&t.charAt(i)===e.charAt(i);i++);return t.substr(0,i).trim()}function g(t){var e="middle",r="center";return-1!==t.indexOf("top")?e="top":-1!==t.indexOf("bottom")&&(e="bottom"),-1!==t.indexOf("left")?r="left":-1!==t.indexOf("right")&&(r="right"),e+" "+r}function m(t,e){return e in t&&"object"==typeof t[e]&&0===Object.keys(t[e]).length}r.clearPromiseQueue=function(t){Array.isArray(t._promises)&&t._promises.length>0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},r.cleanLayout=function(t){var e,r;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var n=(s.subplotsRegistry.cartesian||{}).attrRegex,a=(s.subplotsRegistry.gl3d||{}).attrRegex,l=Object.keys(t);for(e=0;e<l.length;e++){var u=l[e];if(n&&n.test(u)){var p=t[u];p.anchor&&"free"!==p.anchor&&(p.anchor=c(p.anchor)),p.overlaying&&(p.overlaying=c(p.overlaying)),p.type||(p.isdate?p.type="date":p.islog?p.type="log":!1===p.isdate&&!1===p.islog&&(p.type="linear")),"withzero"!==p.autorange&&"tozero"!==p.autorange||(p.autorange=!0,p.rangemode="tozero"),delete p.islog,delete p.isdate,delete p.categories,m(p,"domain")&&delete p.domain,void 0!==p.autotick&&(void 0===p.tickmode&&(p.tickmode=p.autotick?"auto":"linear"),delete p.autotick)}else if(a&&a.test(u)){var d=t[u],g=d.cameraposition;if(Array.isArray(g)&&4===g[0].length){var v=g[0],y=g[1],x=g[2],b=i([],v),_=[];for(r=0;r<3;++r)_[r]=y[r]+x*b[2+4*r];d.camera={eye:{x:_[0],y:_[1],z:_[2]},center:{x:y[0],y:y[1],z:y[2]},up:{x:b[1],y:b[5],z:b[9]}},delete d.cameraposition}}}var w=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e<w;e++){var k=t.annotations[e];o.isPlainObject(k)&&(k.ref&&("paper"===k.ref?(k.xref="paper",k.yref="paper"):"data"===k.ref&&(k.xref="x",k.yref="y"),delete k.ref),h(k,"xref"),h(k,"yref"))}var M=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e<M;e++){var A=t.shapes[e];o.isPlainObject(A)&&(h(A,"xref"),h(A,"yref"))}var T=t.legend;return T&&(T.x>3?(T.x=1.02,T.xanchor="left"):T.x<-2&&(T.x=-.02,T.xanchor="right"),T.y>3?(T.y=1.02,T.yanchor="bottom"):T.y<-2&&(T.y=-.02,T.yanchor="top")),"rotate"===t.dragmode&&(t.dragmode="orbit"),f.clean(t),t},r.cleanData=function(t){for(var e=0;e<t.length;e++){var n,i=t[e];if("histogramy"===i.type&&"xbins"in i&&!("ybins"in i)&&(i.ybins=i.xbins,delete i.xbins),i.error_y&&"opacity"in i.error_y){var l=f.defaults,u=i.error_y.color||(a.traceIs(i,"bar")?f.defaultLine:l[e%l.length]);i.error_y.color=f.addOpacity(f.rgb(u),f.opacity(u)*i.error_y.opacity),delete i.error_y.opacity}if("bardir"in i&&("h"!==i.bardir||!a.traceIs(i,"bar")&&"histogram"!==i.type.substr(0,9)||(i.orientation="h",r.swapXYData(i)),delete i.bardir),"histogramy"===i.type&&r.swapXYData(i),"histogramx"!==i.type&&"histogramy"!==i.type||(i.type="histogram"),"scl"in i&&(i.colorscale=i.scl,delete i.scl),"reversescl"in i&&(i.reversescale=i.reversescl,delete i.reversescl),i.xaxis&&(i.xaxis=c(i.xaxis,"x")),i.yaxis&&(i.yaxis=c(i.yaxis,"y")),a.traceIs(i,"gl3d")&&i.scene&&(i.scene=s.subplotsRegistry.gl3d.cleanId(i.scene)),!a.traceIs(i,"pie")&&!a.traceIs(i,"bar"))if(Array.isArray(i.textposition))for(n=0;n<i.textposition.length;n++)i.textposition[n]=g(i.textposition[n]);else i.textposition&&(i.textposition=g(i.textposition));var h=a.getModule(i);if(h&&h.colorbar){var v=h.colorbar.container,y=v?i[v]:i;y&&y.colorscale&&("YIGnBu"===y.colorscale&&(y.colorscale="YlGnBu"),"YIOrRd"===y.colorscale&&(y.colorscale="YlOrRd"))}if("surface"===i.type&&o.isPlainObject(i.contours)){var x=["x","y","z"];for(n=0;n<x.length;n++){var b=i.contours[x[n]];o.isPlainObject(b)&&(b.highlightColor&&(b.highlightcolor=b.highlightColor,delete b.highlightColor),b.highlightWidth&&(b.highlightwidth=b.highlightWidth,delete b.highlightWidth))}}if("candlestick"===i.type||"ohlc"===i.type){var _=!1!==(i.increasing||{}).showlegend,w=!1!==(i.decreasing||{}).showlegend,k=p(i.increasing),M=p(i.decreasing);if(!1!==k&&!1!==M){var A=d(k,M,_,w);A&&(i.name=A)}else!k&&!M||i.name||(i.name=k||M)}if(Array.isArray(i.transforms)){var T=i.transforms;for(n=0;n<T.length;n++){var S=T[n];if(o.isPlainObject(S))switch(S.type){case"filter":S.filtersrc&&(S.target=S.filtersrc,delete S.filtersrc),S.calendar&&(S.valuecalendar||(S.valuecalendar=S.calendar),delete S.calendar);break;case"groupby":if(S.styles=S.styles||S.style,S.styles&&!Array.isArray(S.styles)){var E=S.styles,C=Object.keys(E);S.styles=[];for(var L=0;L<C.length;L++)S.styles.push({target:C[L],value:E[C[L]]})}}}}m(i,"line")&&delete i.line,"marker"in i&&(m(i.marker,"line")&&delete i.marker.line,m(i,"marker")&&delete i.marker),f.clean(i)}},r.swapXYData=function(t){var e;if(o.swapAttrs(t,["?","?0","d?","?bins","nbins?","autobin?","?src","error_?"]),Array.isArray(t.z)&&Array.isArray(t.z[0])&&(t.transpose?delete t.transpose:t.transpose=!0),t.error_x&&t.error_y){var r=t.error_y,n="copy_ystyle"in r?r.copy_ystyle:!(r.color||r.thickness||r.width);o.swapAttrs(t,["error_?.copy_ystyle"]),n&&o.swapAttrs(t,["error_?.color","error_?.thickness","error_?.width"])}if("string"==typeof t.hoverinfo){var i=t.hoverinfo.split("+");for(e=0;e<i.length;e++)"x"===i[e]?i[e]="y":"y"===i[e]&&(i[e]="x");t.hoverinfo=i.join("+")}},r.coerceTraceIndices=function(t,e){return n(e)?[e]:Array.isArray(e)&&e.length?e:t.data.map(function(t,e){return e})},r.manageArrayContainers=function(t,e,r){var i=t.obj,a=t.parts,s=a.length,l=a[s-1],c=n(l);if(c&&null===e){var u=a.slice(0,s-1).join(".");o.nestedProperty(i,u).get().splice(l,1)}else c&&void 0===t.get()?(void 0===t.get()&&(r[t.astr]=null),t.set(e)):t.set(e)};var v=/(\.[^\[\]\.]+|\[[^\[\]\.]+\])$/;function y(t){var e=t.search(v);if(e>0)return t.substr(0,e)}r.hasParent=function(t,e){for(var r=y(e);r;){if(r in t)return!0;r=y(r)}return!1};var x=["x","y","z"];r.clearAxisTypes=function(t,e,r){for(var n=0;n<e.length;n++)for(var i=t._fullData[n],a=0;a<3;a++){var s=u(t,i,x[a]);if(s&&"log"!==s.type){var l=s._name,c=s._id.substr(1);if("scene"===c.substr(0,5)){if(void 0!==r[c])continue;l=c+"."+l}var f=l+".type";void 0===r[l]&&void 0===r[f]&&o.nestedProperty(t.layout,f).set(null)}}}},{"../components/color":567,"../lib":693,"../plots/cartesian/axis_ids":745,"../plots/plots":805,"../registry":825,"fast-isnumeric":213,"gl-mat4/fromQuat":250}],727:[function(t,e,r){"use strict";var n=t("./plot_api");r.plot=n.plot,r.newPlot=n.newPlot,r.restyle=n.restyle,r.relayout=n.relayout,r.redraw=n.redraw,r.update=n.update,r.react=n.react,r.extendTraces=n.extendTraces,r.prependTraces=n.prependTraces,r.addTraces=n.addTraces,r.deleteTraces=n.deleteTraces,r.moveTraces=n.moveTraces,r.purge=n.purge,r.addFrames=n.addFrames,r.deleteFrames=n.deleteFrames,r.animate=n.animate,r.setPlotConfig=n.setPlotConfig,r.toImage=t("./to_image"),r.validate=t("./validate"),r.downloadImage=t("../snapshot/download");var i=t("./template_api");r.makeTemplate=i.makeTemplate,r.validateTemplate=i.validateTemplate},{"../snapshot/download":827,"./plot_api":729,"./template_api":734,"./to_image":735,"./validate":736}],728:[function(t,e,r){"use strict";var n=t("../lib/nested_property"),i=t("../lib/is_plain_object"),a=t("../lib/noop"),o=t("../lib/loggers"),s=t("../lib/search").sorterAsc,l=t("../registry");r.containerArrayMatch=t("./container_array_match");var c=r.isAddVal=function(t){return"add"===t||i(t)},u=r.isRemoveVal=function(t){return null===t||"remove"===t};r.applyContainerArrayChanges=function(t,e,r,i){var f=e.astr,h=l.getComponentMethod(f,"supplyLayoutDefaults"),p=l.getComponentMethod(f,"draw"),d=l.getComponentMethod(f,"drawOne"),g=i.replot||i.recalc||h===a||p===a,m=t.layout,v=t._fullLayout;if(r[""]){Object.keys(r).length>1&&o.warn("Full array edits are incompatible with other edits",f);var y=r[""][""];if(u(y))e.set(null);else{if(!Array.isArray(y))return o.warn("Unrecognized full array edit value",f,y),!0;e.set(y)}return!g&&(h(m,v),p(t),!0)}var x,b,_,w,k,M,A,T=Object.keys(r).map(Number).sort(s),S=e.get(),E=S||[],C=n(v,f).get(),L=[],z=-1,P=E.length;for(x=0;x<T.length;x++)if(w=r[_=T[x]],k=Object.keys(w),M=w[""],A=c(M),_<0||_>E.length-(A?0:1))o.warn("index out of range",f,_);else if(void 0!==M)k.length>1&&o.warn("Insertion & removal are incompatible with edits to the same index.",f,_),u(M)?L.push(_):A?("add"===M&&(M={}),E.splice(_,0,M),C&&C.splice(_,0,{})):o.warn("Unrecognized full object edit value",f,_,M),-1===z&&(z=_);else for(b=0;b<k.length;b++)n(E[_],k[b]).set(w[k[b]]);for(x=L.length-1;x>=0;x--)E.splice(L[x],1),C&&C.splice(L[x],1);if(E.length?S||e.set(E):e.set(null),g)return!1;if(h(m,v),d!==a){var O;if(-1===z)O=T;else{for(P=Math.max(E.length,P),O=[],x=0;x<T.length&&!((_=T[x])>=z);x++)O.push(_);for(x=z;x<P;x++)O.push(x)}for(x=0;x<O.length;x++)d(t,O[x])}else p(t);return!0}},{"../lib/is_plain_object":695,"../lib/loggers":698,"../lib/nested_property":702,"../lib/noop":703,"../lib/search":713,"../registry":825,"./container_array_match":724}],729:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("has-hover"),o=t("../lib"),s=t("../lib/events"),l=t("../lib/queue"),c=t("../registry"),u=t("./plot_schema"),f=t("../plots/plots"),h=t("../plots/polar/legacy"),p=t("../plots/cartesian/axes"),d=t("../components/drawing"),g=t("../components/color"),m=t("../components/colorbar/connect"),v=t("../plots/cartesian/graph_interact").initInteractions,y=t("../constants/xmlns_namespaces"),x=t("../lib/svg_text_utils"),b=t("./plot_config"),_=t("./manage_arrays"),w=t("./helpers"),k=t("./subroutines"),M=t("./edit_types"),A=t("../plots/cartesian/constants").AX_NAME_PATTERN,T=0;function S(t){var e=t._fullLayout;e._redrawFromAutoMarginCount?e._redrawFromAutoMarginCount--:t.emit("plotly_afterplot")}function E(t,e){try{t._fullLayout._paper.style("background",e)}catch(t){o.error(t)}}function C(t,e){E(t,g.combine(e,"white"))}function L(t,e){t._context||(t._context=o.extendDeep({},b));var r,n,i,s=t._context;if(e){for(n=Object.keys(e),r=0;r<n.length;r++)"editable"!==(i=n[r])&&"edits"!==i&&i in s&&("setBackground"===i&&"opaque"===e[i]?s[i]=C:s[i]=e[i]);e.plot3dPixelRatio&&!s.plotGlPixelRatio&&(s.plotGlPixelRatio=s.plot3dPixelRatio);var l=e.editable;if(void 0!==l)for(s.editable=l,n=Object.keys(s.edits),r=0;r<n.length;r++)s.edits[n[r]]=l;if(e.edits)for(n=Object.keys(e.edits),r=0;r<n.length;r++)(i=n[r])in s.edits&&(s.edits[i]=e.edits[i])}s.staticPlot&&(s.editable=!1,s.edits={},s.autosizable=!1,s.scrollZoom=!1,s.doubleClick=!1,s.showTips=!1,s.showLink=!1,s.displayModeBar=!1),"hover"!==s.displayModeBar||a||(s.displayModeBar=!0),"transparent"!==s.setBackground&&"function"==typeof s.setBackground||(s.setBackground=E)}function z(t,e){var r,n,i=e+1,a=[];for(r=0;r<t.length;r++)(n=t[r])<0?a.push(i+n):a.push(n);return a}function P(t,e,r){var n,i;for(n=0;n<e.length;n++){if((i=e[n])!==parseInt(i,10))throw new Error("all values in "+r+" must be integers");if(i>=t.data.length||i<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function O(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if("undefined"==typeof e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),P(t,e,"currentIndices"),"undefined"==typeof r||Array.isArray(r)||(r=[r]),"undefined"!=typeof r&&P(t,r,"newIndices"),"undefined"!=typeof r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function I(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(e))throw new Error("update must be a key:value object");if("undefined"==typeof r)throw new Error("indices must be an integer or array of integers");for(var a in P(t,r,"indices"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error("attribute "+a+" must be an array of length equal to indices array length");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var s=function(t,e,r,n){var a,s,l,c,u,f=o.isPlainObject(n),h=[];for(var p in Array.isArray(r)||(r=[r]),r=z(r,t.data.length-1),e)for(var d=0;d<r.length;d++){if(a=t.data[r[d]],s=(l=o.nestedProperty(a,p)).get(),c=e[p][d],!o.isArrayOrTypedArray(c))throw new Error("attribute: "+p+" index: "+d+" must be an array");if(!o.isArrayOrTypedArray(s))throw new Error("cannot extend missing or non-array attribute: "+p);if(s.constructor!==c.constructor)throw new Error("cannot extend array with an array of a different type: "+p);u=f?n[p][d]:n,i(u)||(u=-1),h.push({prop:l,target:s,insert:c,maxp:Math.floor(u)})}return h}(t,e,r,n),l={},c={},u=0;u<s.length;u++){var f=s[u].prop,h=s[u].maxp,p=a(s[u].target,s[u].insert,h);f.set(p[0]),Array.isArray(l[f.astr])||(l[f.astr]=[]),l[f.astr].push(p[1]),Array.isArray(c[f.astr])||(c[f.astr]=[]),c[f.astr].push(s[u].target.length)}return{update:l,maxPoints:c}}function D(t,e){var r=new t.constructor(t.length+e.length);return r.set(t),r.set(e,t.length),r}function R(t){return void 0===t?null:t}function B(t,e,r){var n,i,a=t._fullLayout,s=t._fullData,l=t.data,h=M.traceFlags(),d={},g={};function m(){return r.map(function(){})}function v(t){var e=p.id2name(t);-1===i.indexOf(e)&&i.push(e)}function y(t){return"LAYOUT"+t+".autorange"}function x(t){return"LAYOUT"+t+".range"}function b(n,i,a){var s;Array.isArray(n)?n.forEach(function(t){b(t,i,a)}):n in e||w.hasParent(e,n)||(s="LAYOUT"===n.substr(0,6)?o.nestedProperty(t.layout,n.replace("LAYOUT","")):o.nestedProperty(l[r[a]],n),n in g||(g[n]=m()),void 0===g[n][a]&&(g[n][a]=R(s.get())),void 0!==i&&s.set(i))}for(var _ in e){if(w.hasParent(e,_))throw new Error("cannot set "+_+"and a parent attribute simultaneously");var k,A,T,S,E,C,L=e[_];if(d[_]=L,"LAYOUT"!==_.substr(0,6)){for(g[_]=m(),n=0;n<r.length;n++)if(k=l[r[n]],A=s[r[n]],S=(T=o.nestedProperty(k,_)).get(),void 0!==(E=Array.isArray(L)?L[n%L.length]:L)){var z=T.parts[T.parts.length-1],P=_.substr(0,_.length-z.length-1),O=P?P+".":"",I=P?o.nestedProperty(A,P).get():A;if((C=u.getTraceValObject(A,T.parts))&&C.impliedEdits&&null!==E)for(var D in C.impliedEdits)b(o.relativeAttr(_,D),C.impliedEdits[D],n);else if("thicknessmode"!==z&&"lenmode"!==z||S===E||"fraction"!==E&&"pixels"!==E||!I){if("type"===_&&"pie"===E!=("pie"===S)){var B="x",F="y";"bar"!==E&&"bar"!==S||"h"!==k.orientation||(B="y",F="x"),o.swapAttrs(k,["?","?src"],"labels",B),o.swapAttrs(k,["d?","?0"],"label",B),o.swapAttrs(k,["?","?src"],"values",F),"pie"===S?(o.nestedProperty(k,"marker.color").set(o.nestedProperty(k,"marker.colors").get()),a._pielayer.selectAll("g.trace").remove()):c.traceIs(k,"cartesian")&&o.nestedProperty(k,"marker.colors").set(o.nestedProperty(k,"marker.color").get())}}else{var N=a._size,j=I.orient,V="top"===j||"bottom"===j;if("thicknessmode"===z){var U=V?N.h:N.w;b(O+"thickness",I.thickness*("fraction"===E?1/U:U),n)}else{var q=V?N.w:N.h;b(O+"len",I.len*("fraction"===E?1/q:q),n)}}g[_][n]=R(S);if(-1!==["swapxy","swapxyaxes","orientation","orientationaxes"].indexOf(_)){if("orientation"===_){T.set(E);var H=k.x&&!k.y?"h":"v";if((T.get()||H)===A.orientation)continue}else"orientationaxes"===_&&(k.orientation={v:"h",h:"v"}[A.orientation]);w.swapXYData(k),h.calc=h.clearAxisTypes=!0}else-1!==f.dataArrayContainers.indexOf(T.parts[0])?(w.manageArrayContainers(T,E,g),h.calc=!0):(C?C.arrayOk&&(o.isArrayOrTypedArray(E)||o.isArrayOrTypedArray(S))?h.calc=!0:M.update(h,C):h.calc=!0,T.set(E))}if(-1!==["swapxyaxes","orientationaxes"].indexOf(_)&&p.swap(t,r),"orientationaxes"===_){var G=o.nestedProperty(t.layout,"hovermode");"x"===G.get()?G.set("y"):"y"===G.get()&&G.set("x")}if(-1!==["orientation","type"].indexOf(_)){for(i=[],n=0;n<r.length;n++){var W=l[r[n]];c.traceIs(W,"cartesian")&&(v(W.xaxis||"x"),v(W.yaxis||"y"),"type"===_&&b(["autobinx","autobiny"],!0,n))}b(i.map(y),!0,0),b(i.map(x),[0,1],0)}}else T=o.nestedProperty(t.layout,_.replace("LAYOUT","")),g[_]=[R(T.get())],T.set(Array.isArray(L)?L[0]:L),h.calc=!0}return(h.calc||h.plot)&&(h.fullReplot=!0),{flags:h,undoit:g,redoit:d,traces:r,eventData:o.extendDeepNoArrays([],[d,r])}}function F(t,e){var r=e?function(t){return k.doTicksRelayout(t,e)}:k.doTicksRelayout;t.push(k.doAutoRangeAndConstraints,r,k.drawData,k.finalDraw)}r.plot=function(t,e,i,a){var l;if(t=o.getGraphDiv(t),s.init(t),o.isPlainObject(e)){var u=e;e=u.data,i=u.layout,a=u.config,l=u.frames}if(!1===s.triggerHandler(t,"plotly_beforeplot",[e,i,a]))return Promise.reject();e||i||o.isPlotDiv(t)||o.warn("Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.",t),L(t,a),i||(i={}),n.select(t).classed("js-plotly-plot",!0),d.makeTester(),delete d.baseUrl,Array.isArray(t._promises)||(t._promises=[]);var g=0===(t.data||[]).length&&Array.isArray(e);if(Array.isArray(e)&&(w.cleanData(e),g?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&&!g||(t.layout=w.cleanLayout(i)),t._dragging&&!t._transitioning)return t._replotPending=!0,Promise.reject();t._replotPending=!1,f.supplyDefaults(t);var y=t._fullLayout,b=y._has("cartesian");if(!y._has("polar")&&e&&e[0]&&e[0].r)return o.log("Legacy polar charts are deprecated!"),function(t,e,r){var i=n.select(t).selectAll(".plot-container").data([0]);i.enter().insert("div",":first-child").classed("plot-container plotly",!0);var a=i.selectAll(".svg-container").data([0]);a.enter().append("div").classed("svg-container",!0).style("position","relative"),a.html(""),e&&(t.data=e);r&&(t.layout=r);h.manager.fillLayout(t),a.style({width:t._fullLayout.width+"px",height:t._fullLayout.height+"px"}),t.framework=h.manager.framework(t),t.framework({data:t.data,layout:t.layout},a.node()),t.framework.setUndoPoint();var s=t.framework.svg(),l=1,c=t._fullLayout.title;""!==c&&c||(l=0);var u=function(){this.call(x.convertToTspans,t)},p=s.select(".title-group text").call(u);if(t._context.edits.titleText){var d=o._(t,"Click to enter Plot title");c&&c!==d||(l=.2,p.attr({"data-unformatted":d}).text(d).style({opacity:l}).on("mouseover.opacity",function(){n.select(this).transition().duration(100).style("opacity",1)}).on("mouseout.opacity",function(){n.select(this).transition().duration(1e3).style("opacity",0)}));var g=function(){this.call(x.makeEditable,{gd:t}).on("edit",function(e){t.framework({layout:{title:e}}),this.text(e).call(u),this.call(g)}).on("cancel",function(){var t=this.attr("data-unformatted");this.text(t).call(u)})};p.call(g)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),f.addLinks(t),Promise.resolve()}(t,e,i);y._replotting=!0,g&&G(t),t.framework!==G&&(t.framework=G,G(t)),d.initGradients(t),g&&p.saveShowSpikeInitial(t);var _=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;_&&f.doCalcdata(t);for(var M=0;M<t.calcdata.length;M++)t.calcdata[M][0].trace=t._fullData[M];t._context.responsive?t._responsiveChartHandler||(t._responsiveChartHandler=function(){f.resize(t)},window.addEventListener("resize",t._responsiveChartHandler)):o.clearResponsive(t);var A=JSON.stringify(y._size),T=0;function E(){var e,r,n,i=t.calcdata;for(f.clearAutoMarginIds(t),k.drawMarginPushers(t),p.allowAutoMargin(t),e=0;e<i.length;e++){var a=(n=(r=i[e])[0].trace)._module.colorbar;!0===n.visible&&a?m(t,r,a):f.autoMargin(t,"cb"+n.uid)}return f.doAutoMargin(t),f.previousPromises(t)}function C(){t._transitioning||(k.doAutoRangeAndConstraints(t),g&&p.saveRangeInitial(t))}var z=[f.previousPromises,function(){if(l)return r.addFrames(t,l)},function e(){for(var r=y._basePlotModules,n=0;n<r.length;n++)r[n].drawFramework&&r[n].drawFramework(t);if(!y._glcanvas&&y._has("gl")&&(y._glcanvas=y._glcontainer.selectAll(".gl-canvas").data([{key:"contextLayer",context:!0,pick:!1},{key:"focusLayer",context:!1,pick:!1},{key:"pickLayer",context:!1,pick:!0}],function(t){return t.key}),y._glcanvas.enter().append("canvas").attr("class",function(t){return"gl-canvas gl-canvas-"+t.key.replace("Layer","")}).style({position:"absolute",top:0,left:0,width:"100%",height:"100%",overflow:"visible","pointer-events":"none"})),y._glcanvas){y._glcanvas.attr("width",y.width).attr("height",y.height);var i=y._glcanvas.data()[0].regl;if(i&&(y.width!==i._gl.drawingBufferWidth||y.height!==i._gl.drawingBufferHeight)){var a="WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.";if(!T)return o.log(a+" Clearing graph and plotting again."),f.cleanPlot([],{},t._fullData,y,t.calcdata),f.supplyDefaults(t),y=t._fullLayout,f.doCalcdata(t),T++,e();o.error(a)}}return f.previousPromises(t)},E,function(){if(JSON.stringify(y._size)!==A)return o.syncOrAsync([E,k.layoutStyles],t)}];b&&z.push(function(){if(_)return o.syncOrAsync([c.getComponentMethod("shapes","calcAutorange"),c.getComponentMethod("annotations","calcAutorange"),C,c.getComponentMethod("rangeslider","calcAutorange")],t);C()}),z.push(k.layoutStyles),b&&z.push(function(){return p.doTicks(t,g?"":"redraw")}),z.push(k.drawData,k.finalDraw,v,f.addLinks,f.rehover,f.doAutoMargin,f.previousPromises);var P=o.syncOrAsync(z,t);return P&&P.then||(P=Promise.resolve()),P.then(function(){return S(t),t})},r.setPlotConfig=function(t){return o.extendFlat(b,t)},r.redraw=function(t){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t);return w.cleanData(t.data),w.cleanLayout(t.layout),t.calcdata=void 0,r.plot(t).then(function(){return t.emit("plotly_redraw"),t})},r.newPlot=function(t,e,n,i){return t=o.getGraphDiv(t),f.cleanPlot([],{},t._fullData||[],t._fullLayout||{},t.calcdata||[]),f.purge(t),r.plot(t,e,n,i)},r.extendTraces=function t(e,n,i,a){var s=I(e=o.getGraphDiv(e),n,i,a,function(t,e,r){var n,i;if(o.isTypedArray(t))if(r<0){var a=new t.constructor(0),s=D(t,e);r<0?(n=s,i=a):(n=a,i=s)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(l)),i.set(t),i.set(e.subarray(0,l),t.length)}else{var c=r-e.length,u=t.length-c;n.set(t.subarray(u)),n.set(e,c),i.set(t.subarray(0,u))}else n=t.concat(e),i=r>=0&&r<n.length?n.splice(0,n.length-r):[];return[n,i]}),c=r.redraw(e),u=[e,s.update,i,s.maxPoints];return l.add(e,r.prependTraces,u,t,arguments),c},r.prependTraces=function t(e,n,i,a){var s=I(e=o.getGraphDiv(e),n,i,a,function(t,e,r){var n,i;if(o.isTypedArray(t))if(r<=0){var a=new t.constructor(0),s=D(e,t);r<0?(n=s,i=a):(n=a,i=s)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(0,l)),i.set(e.subarray(l)),i.set(t,l)}else{var c=r-e.length;n.set(e),n.set(t.subarray(0,c),e.length),i.set(t.subarray(c))}else n=e.concat(t),i=r>=0&&r<n.length?n.splice(r,n.length):[];return[n,i]}),c=r.redraw(e),u=[e,s.update,i,s.maxPoints];return l.add(e,r.extendTraces,u,t,arguments),c},r.addTraces=function t(e,n,i){e=o.getGraphDiv(e);var a,s,c=[],u=r.deleteTraces,f=t,h=[e,c],p=[e,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if("undefined"==typeof e)throw new Error("traces must be defined.");for(Array.isArray(e)||(e=[e]),n=0;n<e.length;n++)if("object"!=typeof(i=e[n])||Array.isArray(i)||null===i)throw new Error("all values in traces array must be non-array objects");if("undefined"==typeof r||Array.isArray(r)||(r=[r]),"undefined"!=typeof r&&r.length!==e.length)throw new Error("if indices is specified, traces.length must equal indices.length")}(e,n,i),Array.isArray(n)||(n=[n]),n=n.map(function(t){return o.extendFlat({},t)}),w.cleanData(n),a=0;a<n.length;a++)e.data.push(n[a]);for(a=0;a<n.length;a++)c.push(-n.length+a);if("undefined"==typeof i)return s=r.redraw(e),l.add(e,u,h,f,p),s;Array.isArray(i)||(i=[i]);try{O(e,c,i)}catch(t){throw e.data.splice(e.data.length-n.length,n.length),t}return l.startSequence(e),l.add(e,u,h,f,p),s=r.moveTraces(e,c,i),l.stopSequence(e),s},r.deleteTraces=function t(e,n){e=o.getGraphDiv(e);var i,a,s=[],c=r.addTraces,u=t,f=[e,s,n],h=[e,n];if("undefined"==typeof n)throw new Error("indices must be an integer or array of integers.");for(Array.isArray(n)||(n=[n]),P(e,n,"indices"),(n=z(n,e.data.length-1)).sort(o.sorterDes),i=0;i<n.length;i+=1)a=e.data.splice(n[i],1)[0],s.push(a);var p=r.redraw(e);return l.add(e,c,f,u,h),p},r.moveTraces=function t(e,n,i){var a,s=[],c=[],u=t,f=t,h=[e=o.getGraphDiv(e),i,n],p=[e,n,i];if(O(e,n,i),n=Array.isArray(n)?n:[n],"undefined"==typeof i)for(i=[],a=0;a<n.length;a++)i.push(-n.length+a);for(i=Array.isArray(i)?i:[i],n=z(n,e.data.length-1),i=z(i,e.data.length-1),a=0;a<e.data.length;a++)-1===n.indexOf(a)&&s.push(e.data[a]);for(a=0;a<n.length;a++)c.push({newIndex:i[a],trace:e.data[n[a]]});for(c.sort(function(t,e){return t.newIndex-e.newIndex}),a=0;a<c.length;a+=1)s.splice(c[a].newIndex,0,c[a].trace);e.data=s;var d=r.redraw(e);return l.add(e,u,h,f,p),d},r.restyle=function t(e,n,i,a){e=o.getGraphDiv(e),w.clearPromiseQueue(e);var s={};if("string"==typeof n)s[n]=i;else{if(!o.isPlainObject(n))return o.warn("Restyle fail.",n,i,a),Promise.reject();s=o.extendFlat({},n),void 0===a&&(a=i)}Object.keys(s).length&&(e.changed=!0);var c=w.coerceTraceIndices(e,a),u=B(e,s,c),h=u.flags;h.calc&&(e.calcdata=void 0),h.clearAxisTypes&&w.clearAxisTypes(e,c,{});var p=[];h.fullReplot?p.push(r.plot):(p.push(f.previousPromises),f.supplyDefaults(e),h.style&&p.push(k.doTraceStyle),h.colorbars&&p.push(k.doColorBars),p.push(S)),p.push(f.rehover),l.add(e,t,[e,u.undoit,u.traces],t,[e,u.redoit,u.traces]);var d=o.syncOrAsync(p,e);return d&&d.then||(d=Promise.resolve()),d.then(function(){return e.emit("plotly_restyle",u.eventData),e})},r.relayout=function t(e,r,n){if(e=o.getGraphDiv(e),w.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);var i={};if("string"==typeof r)i[r]=n;else{if(!o.isPlainObject(r))return o.warn("Relayout fail.",r,n),Promise.reject();i=o.extendFlat({},r)}Object.keys(i).length&&(e.changed=!0);var a=U(e,i),s=a.flags;s.calc&&(e.calcdata=void 0);var c=[f.previousPromises];s.layoutReplot?c.push(k.layoutReplot):Object.keys(i).length&&(f.supplyDefaults(e),s.legend&&c.push(k.doLegend),s.layoutstyle&&c.push(k.layoutStyles),s.axrange&&F(c,a.rangesAltered),s.ticks&&c.push(k.doTicksRelayout),s.modebar&&c.push(k.doModeBar),s.camera&&c.push(k.doCamera),c.push(S)),c.push(f.rehover),l.add(e,t,[e,a.undoit],t,[e,a.redoit]);var u=o.syncOrAsync(c,e);return u&&u.then||(u=Promise.resolve(e)),u.then(function(){return e.emit("plotly_relayout",a.eventData),e})};var N=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,j=/^[xyz]axis[0-9]*\.autorange$/,V=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function U(t,e){var r,n,i,a=t.layout,s=t._fullLayout,l=Object.keys(e),f=p.list(t),h={};for(n=0;n<l.length;n++)if(0===l[n].indexOf("allaxes")){for(i=0;i<f.length;i++){var d=f[i]._id.substr(1),g=-1!==d.indexOf("scene")?d+".":"",m=l[n].replace("allaxes",g+f[i]._name);e[m]||(e[m]=e[l[n]])}delete e[l[n]]}var v=M.layoutFlags(),y={},x={};function b(t,r){if(Array.isArray(t))t.forEach(function(t){b(t,r)});else if(!(t in e||w.hasParent(e,t))){var n=o.nestedProperty(a,t);t in x||(x[t]=R(n.get())),void 0!==r&&n.set(r)}}var k,T={};function S(t){var e=p.name2id(t.split(".")[0]);return T[e]=1,e}for(var E in e){if(w.hasParent(e,E))throw new Error("cannot set "+E+"and a parent attribute simultaneously");for(var C=o.nestedProperty(a,E),L=e[E],z=C.parts.length-1;z>0&&"string"!=typeof C.parts[z];)z--;var P=C.parts[z],O=C.parts[z-1]+"."+P,I=C.parts.slice(0,z).join("."),D=o.nestedProperty(t.layout,I).get(),B=o.nestedProperty(s,I).get(),F=C.get();if(void 0!==L){y[E]=L,x[E]="reverse"===P?L:R(F);var U=u.getLayoutValObject(s,C.parts);if(U&&U.impliedEdits&&null!==L)for(var H in U.impliedEdits)b(o.relativeAttr(E,H),U.impliedEdits[H]);if(-1!==["width","height"].indexOf(E)&&null===L)s[E]=t._initialAutoSize[E];else if(O.match(N))S(O),o.nestedProperty(s,I+"._inputRange").set(null);else if(O.match(j)){S(O),o.nestedProperty(s,I+"._inputRange").set(null);var G=o.nestedProperty(s,I).get();G._inputDomain&&(G._input.domain=G._inputDomain.slice())}else O.match(V)&&o.nestedProperty(s,I+"._inputDomain").set(null);if("type"===P){var W=D,Y="linear"===B.type&&"log"===L,X="log"===B.type&&"linear"===L;if(Y||X){if(W&&W.range)if(B.autorange)Y&&(W.range=W.range[1]>W.range[0]?[1,2]:[2,1]);else{var Z=W.range[0],$=W.range[1];Y?(Z<=0&&$<=0&&b(I+".autorange",!0),Z<=0?Z=$/1e6:$<=0&&($=Z/1e6),b(I+".range[0]",Math.log(Z)/Math.LN10),b(I+".range[1]",Math.log($)/Math.LN10)):(b(I+".range[0]",Math.pow(10,Z)),b(I+".range[1]",Math.pow(10,$)))}else b(I+".autorange",!0);Array.isArray(s._subplots.polar)&&s._subplots.polar.length&&s[C.parts[0]]&&"radialaxis"===C.parts[1]&&delete s[C.parts[0]]._subplot.viewInitial["radialaxis.range"],c.getComponentMethod("annotations","convertCoords")(t,B,L,b),c.getComponentMethod("images","convertCoords")(t,B,L,b)}else b(I+".autorange",!0),b(I+".range",null);o.nestedProperty(s,I+"._inputRange").set(null)}else if(P.match(A)){var J=o.nestedProperty(s,E).get(),K=(L||{}).type;K&&"-"!==K||(K="linear"),c.getComponentMethod("annotations","convertCoords")(t,J,K,b),c.getComponentMethod("images","convertCoords")(t,J,K,b)}var Q=_.containerArrayMatch(E);if(Q){r=Q.array,n=Q.index;var tt=Q.property,et=(o.nestedProperty(a,r)||[])[n]||{},rt=U||{editType:"calc"};""===tt&&(_.isAddVal(L)?x[E]=null:_.isRemoveVal(L)?x[E]=et:o.warn("unrecognized full object value",e)),M.update(v,rt),h[r]||(h[r]={});var nt=h[r][n];nt||(nt=h[r][n]={}),nt[tt]=L,delete e[E]}else"reverse"===P?(D.range?D.range.reverse():(b(I+".autorange",!0),D.range=[1,0]),B.autorange?v.calc=!0:v.plot=!0):(s._has("scatter-like")&&s._has("regl")&&"dragmode"===E&&("lasso"===L||"select"===L)&&"lasso"!==F&&"select"!==F?v.plot=!0:U?M.update(v,U):v.calc=!0,C.set(L))}}for(r in h){_.applyContainerArrayChanges(t,o.nestedProperty(a,r),h[r],v)||(v.plot=!0)}var it=s._axisConstraintGroups||[];for(k in T)for(n=0;n<it.length;n++){var at=it[n];if(at[k])for(var ot in v.calc=!0,at)T[ot]||(p.getFromId(t,ot)._constraintShrinkable=!0)}return(q(t)||e.height||e.width)&&(v.plot=!0),(v.plot||v.calc)&&(v.layoutReplot=!0),{flags:v,rangesAltered:T,undoit:x,redoit:y,eventData:o.extendDeep({},y)}}function q(t){var e=t._fullLayout,r=e.width,n=e.height;return t.layout.autosize&&f.plotAutoSize(t,t.layout,e),e.width!==r||e.height!==n}function H(t,e,r,n){var i,a,s=n.getValObject,l=n.flags,c=n.immutable,u=n.inArray,f=n.arrayIndex;function h(){var t=i.editType;u&&-1!==t.indexOf("arraydraw")?o.pushUnique(l.arrays[u],f):M.update(l,i)}function p(t){return"data_array"===t.valType||t.arrayOk}for(a in t){if(l.calc)return;var d=t[a],g=e[a];if("_"!==a.charAt(0)&&"function"!=typeof d&&d!==g){if(("tick0"===a||"dtick"===a)&&"geo"!==r[0]){var m=e.tickmode;if("auto"===m||"array"===m||!m)continue}if(("range"!==a||!e.autorange)&&("zmin"!==a&&"zmax"!==a||"contourcarpet"!==e.type)){var v=r.concat(a);if((i=s(v))&&(!i._compareAsJSON||JSON.stringify(d)!==JSON.stringify(g))){var y,x=i.valType,b=p(i),_=Array.isArray(d),w=Array.isArray(g);if(_&&w){var k="_input_"+a,A=t[k],T=e[k];if(Array.isArray(A)&&A===T)continue}if(void 0===g)b&&_?l.calc=!0:h();else if(i._isLinkedToArray){var S=[],E=!1;u||(l.arrays[a]=S);var C=Math.min(d.length,g.length),L=Math.max(d.length,g.length);if(C!==L){if("arraydraw"!==i.editType){h();continue}E=!0}for(y=0;y<C;y++)H(d[y],g[y],v.concat(y),o.extendFlat({inArray:a,arrayIndex:y},n));if(E)for(y=C;y<L;y++)S.push(y)}else!x&&o.isPlainObject(d)?H(d,g,v,n):b?_&&w?c&&(l.calc=!0):_!==w?l.calc=!0:h():_&&w&&d.length===g.length&&String(d)===String(g)||h()}}}}for(a in e)if(!(a in t||"_"===a.charAt(0)||"function"==typeof e[a])){if(p(i=s(r.concat(a)))&&Array.isArray(e[a]))return void(l.calc=!0);h()}}function G(t){var e=n.select(t),r=t._fullLayout;if(r._container=e.selectAll(".plot-container").data([0]),r._container.enter().insert("div",":first-child").classed("plot-container",!0).classed("plotly",!0),r._paperdiv=r._container.selectAll(".svg-container").data([0]),r._paperdiv.enter().append("div").classed("svg-container",!0).style("position","relative"),r._glcontainer=r._paperdiv.selectAll(".gl-container").data([{}]),r._glcontainer.enter().append("div").classed("gl-container",!0),r._paperdiv.selectAll(".main-svg").remove(),r._paper=r._paperdiv.insert("svg",":first-child").classed("main-svg",!0),r._toppaper=r._paperdiv.append("svg").classed("main-svg",!0),!r._uid){var i={};n.selectAll("defs").each(function(){this.id&&(i[this.id.split("-")[1]]=1)}),r._uid=o.randstr(i)}r._paperdiv.selectAll(".main-svg").attr(y.svgAttrs),r._defs=r._paper.append("defs").attr("id","defs-"+r._uid),r._clips=r._defs.append("g").classed("clips",!0),r._topdefs=r._toppaper.append("defs").attr("id","topdefs-"+r._uid),r._topclips=r._topdefs.append("g").classed("clips",!0),r._bgLayer=r._paper.append("g").classed("bglayer",!0),r._draggers=r._paper.append("g").classed("draglayer",!0);var a=r._paper.append("g").classed("layer-below",!0);r._imageLowerLayer=a.append("g").classed("imagelayer",!0),r._shapeLowerLayer=a.append("g").classed("shapelayer",!0),r._cartesianlayer=r._paper.append("g").classed("cartesianlayer",!0),r._polarlayer=r._paper.append("g").classed("polarlayer",!0),r._ternarylayer=r._paper.append("g").classed("ternarylayer",!0),r._geolayer=r._paper.append("g").classed("geolayer",!0),r._pielayer=r._paper.append("g").classed("pielayer",!0),r._glimages=r._paper.append("g").classed("glimages",!0);var s=r._toppaper.append("g").classed("layer-above",!0);r._imageUpperLayer=s.append("g").classed("imagelayer",!0),r._shapeUpperLayer=s.append("g").classed("shapelayer",!0),r._infolayer=r._toppaper.append("g").classed("infolayer",!0),r._menulayer=r._toppaper.append("g").classed("menulayer",!0),r._zoomlayer=r._toppaper.append("g").classed("zoomlayer",!0),r._hoverlayer=r._toppaper.append("g").classed("hoverlayer",!0),t.emit("plotly_framework")}r.update=function t(e,n,i,a){if(e=o.getGraphDiv(e),w.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);o.isPlainObject(n)||(n={}),o.isPlainObject(i)||(i={}),Object.keys(n).length&&(e.changed=!0),Object.keys(i).length&&(e.changed=!0);var s=w.coerceTraceIndices(e,a),c=B(e,o.extendFlat({},n),s),u=c.flags,h=U(e,o.extendFlat({},i)),p=h.flags;(u.calc||p.calc)&&(e.calcdata=void 0),u.clearAxisTypes&&w.clearAxisTypes(e,s,i);var d=[];if(u.fullReplot&&p.layoutReplot){var g=e.data,m=e.layout;e.data=void 0,e.layout=void 0,d.push(function(){return r.plot(e,g,m)})}else u.fullReplot?d.push(r.plot):p.layoutReplot?d.push(k.layoutReplot):(d.push(f.previousPromises),f.supplyDefaults(e),u.style&&d.push(k.doTraceStyle),u.colorbars&&d.push(k.doColorBars),p.legend&&d.push(k.doLegend),p.layoutstyle&&d.push(k.layoutStyles),p.axrange&&F(d,h.rangesAltered),p.ticks&&d.push(k.doTicksRelayout),p.modebar&&d.push(k.doModeBar),p.camera&&d.push(k.doCamera),d.push(S));d.push(f.rehover),l.add(e,t,[e,c.undoit,h.undoit,c.traces],t,[e,c.redoit,h.redoit,c.traces]);var v=o.syncOrAsync(d,e);return v&&v.then||(v=Promise.resolve(e)),v.then(function(){return e.emit("plotly_update",{data:c.eventData,layout:h.eventData}),e})},r.react=function(t,e,n,i){var a,s;var l=(t=o.getGraphDiv(t))._fullData,h=t._fullLayout;if(o.isPlotDiv(t)&&l&&h){if(o.isPlainObject(e)){var p=e;e=p.data,n=p.layout,i=p.config,a=p.frames}var d=!1;if(i){var g=o.extendDeep({},t._context);t._context=void 0,L(t,i),d=function t(e,r){var n;for(n in e){var i=e[n],a=r[n];if(i!==a)if(o.isPlainObject(i)&&o.isPlainObject(a)){if(t(i,a))return!0}else{if(!Array.isArray(i)||!Array.isArray(a))return!0;if(i.length!==a.length)return!0;for(var s=0;s<i.length;s++)if(i[s]!==a[s]){if(!o.isPlainObject(i[s])||!o.isPlainObject(a[s]))return!0;if(t(i[s],a[s]))return!0}}}}(g,t._context)}t.data=e||[],w.cleanData(t.data),t.layout=n||{},w.cleanLayout(t.layout),f.supplyDefaults(t,{skipUpdateCalc:!0});var m=t._fullData,v=t._fullLayout,y=void 0===v.datarevision,x=function(t,e,r,n){if(e.length!==r.length)return{fullReplot:!0,calc:!0};var i,a,o=M.traceFlags();o.arrays={};var s={getValObject:function(t){return u.getTraceValObject(a,t)},flags:o,immutable:n,gd:t},l={};for(i=0;i<e.length;i++)a=r[i]._fullInput,f.hasMakesDataTransform(a)&&(a=r[i]),l[a.uid]||(l[a.uid]=1,H(e[i]._fullInput,a,[],s));(o.calc||o.plot)&&(o.fullReplot=!0);return o}(t,l,m,y),b=function(t,e,r,n){var i=M.layoutFlags();i.arrays={},H(e,r,[],{getValObject:function(t){return u.getLayoutValObject(r,t)},flags:i,immutable:n,gd:t}),(i.plot||i.calc)&&(i.layoutReplot=!0);return i}(t,h,v,y);q(t)&&(b.layoutReplot=!0),x.calc||b.calc?t.calcdata=void 0:f.supplyDefaultsUpdateCalc(t.calcdata,m);var _=[];if(a&&(t._transitionData={},f.createTransitionData(t),_.push(function(){return r.addFrames(t,a)})),x.fullReplot||b.layoutReplot||d)t._fullLayout._skipDefaults=!0,_.push(r.plot);else{for(var A in b.arrays){var T=b.arrays[A];if(T.length){var E=c.getComponentMethod(A,"drawOne");if(E!==o.noop)for(var C=0;C<T.length;C++)E(t,T[C]);else{var z=c.getComponentMethod(A,"draw");if(z===o.noop)throw new Error("cannot draw components: "+A);z(t)}}}_.push(f.previousPromises),x.style&&_.push(k.doTraceStyle),x.colorbars&&_.push(k.doColorBars),b.legend&&_.push(k.doLegend),b.layoutstyle&&_.push(k.layoutStyles),b.axrange&&F(_),b.ticks&&_.push(k.doTicksRelayout),b.modebar&&_.push(k.doModeBar),b.camera&&_.push(k.doCamera),_.push(S)}_.push(f.rehover),(s=o.syncOrAsync(_,t))&&s.then||(s=Promise.resolve(t))}else s=r.newPlot(t,e,n,i);return s.then(function(){return t.emit("plotly_react",{data:e,layout:n}),t})},r.animate=function(t,e,r){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t+". It's likely that you've failed to create a plot before animating it. For more details, see https://plot.ly/javascript/animations/");var n=t._transitionData;n._frameQueue||(n._frameQueue=[]);var i=(r=f.supplyAnimationDefaults(r)).transition,a=r.frame;function s(t){return Array.isArray(i)?t>=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function c(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise(function(a,u){function h(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,f.transition(t,e.frame.data,e.frame.layout,w.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then(function(){e.onComplete&&e.onComplete()}),t.emit("plotly_animatingframe",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function p(){t.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&h()};e()}var d,g,m=0;function v(t){return Array.isArray(i)?m>=i.length?t.transitionOpts=i[m]:t.transitionOpts=i[0]:t.transitionOpts=i,m++,t}var y=[],x=null==e,b=Array.isArray(e);if(!x&&!b&&o.isPlainObject(e))y.push({type:"object",data:v(o.extendFlat({},e))});else if(x||-1!==["string","number"].indexOf(typeof e))for(d=0;d<n._frames.length;d++)(g=n._frames[d])&&(x||String(g.group)===String(e))&&y.push({type:"byname",name:String(g.name),data:v({name:g.name})});else if(b)for(d=0;d<e.length;d++){var _=e[d];-1!==["number","string"].indexOf(typeof _)?(_=String(_),y.push({type:"byname",name:_,data:v({name:_})})):o.isPlainObject(_)&&y.push({type:"object",data:v(o.extendFlat({},_))})}for(d=0;d<y.length;d++)if("byname"===(g=y[d]).type&&!n._frameHash[g.data.name])return o.warn('animate failure: frame not found: "'+g.data.name+'"'),void u();-1!==["next","immediate"].indexOf(r.mode)&&function(){if(0!==n._frameQueue.length){for(;n._frameQueue.length;){var e=n._frameQueue.pop();e.onInterrupt&&e.onInterrupt()}t.emit("plotly_animationinterrupted",[])}}(),"reverse"===r.direction&&y.reverse();var k=t._fullLayout._currentFrame;if(k&&r.fromcurrent){var M=-1;for(d=0;d<y.length;d++)if("byname"===(g=y[d]).type&&g.name===k){M=d;break}if(M>0&&M<y.length-1){var A=[];for(d=0;d<y.length;d++)g=y[d],("byname"!==y[d].type||d>M)&&A.push(g);y=A}}y.length>0?function(e){if(0!==e.length){for(var i=0;i<e.length;i++){var o;o="byname"===e[i].type?f.computeFrame(t,e[i].name):e[i].data;var h=l(i),d=s(i);d.duration=Math.min(d.duration,h.duration);var g={frame:o,name:e[i].name,frameOpts:h,transitionOpts:d};i===e.length-1&&(g.onComplete=c(a,2),g.onInterrupt=u),n._frameQueue.push(g)}"immediate"===r.mode&&(n._lastFrameAt=-1/0),n._animationRaf||p()}}(y):(t.emit("plotly_animated"),a())})},r.addFrames=function(t,e,r){if(t=o.getGraphDiv(t),null==e)return Promise.resolve();if(!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plot.ly/javascript/animations/");var n,i,a,s,c=t._transitionData._frames,u=t._transitionData._frameHash;if(!Array.isArray(e))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+e);var h=c.length+2*e.length,p=[],d={};for(n=e.length-1;n>=0;n--)if(o.isPlainObject(e[n])){var g=e[n].name,m=(u[g]||d[g]||{}).name,v=e[n].name,y=u[m]||d[m];m&&v&&"number"==typeof v&&y&&T<5&&(T++,o.warn('addFrames: overwriting frame "'+(u[m]||d[m]).name+'" with a frame whose name of type "number" also equates to "'+m+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===T&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[g]={name:g},p.push({frame:f.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:h+n})}p.sort(function(t,e){return t.index>e.index?-1:t.index<e.index?1:0});var x=[],b=[],_=c.length;for(n=p.length-1;n>=0;n--){if("number"==typeof(i=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;u[i.name="frame "+t._transitionData._counter++];);if(u[i.name]){for(a=0;a<c.length&&(c[a]||{}).name!==i.name;a++);x.push({type:"replace",index:a,value:i}),b.unshift({type:"replace",index:a,value:c[a]})}else s=Math.max(0,Math.min(p[n].index,_)),x.push({type:"insert",index:s,value:i}),b.unshift({type:"delete",index:s}),_++}var w=f.modifyFrames,k=f.modifyFrames,M=[t,b],A=[t,x];return l&&l.add(t,w,M,k,A),f.modifyFrames(t,x)},r.deleteFrames=function(t,e){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t);var r,n,i=t._transitionData._frames,a=[],s=[];if(!e)for(e=[],r=0;r<i.length;r++)e.push(r);for((e=e.slice(0)).sort(),r=e.length-1;r>=0;r--)n=e[r],a.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:i[n]});var c=f.modifyFrames,u=f.modifyFrames,h=[t,s],p=[t,a];return l&&l.add(t,c,h,u,p),f.modifyFrames(t,a)},r.purge=function(t){var e=(t=o.getGraphDiv(t))._fullLayout||{},r=t._fullData||[],n=t.calcdata||[];return f.cleanPlot([],{},r,e,n),f.purge(t),s.purge(t),e._container&&e._container.remove(),delete t._context,t}},{"../components/color":567,"../components/colorbar/connect":569,"../components/drawing":592,"../constants/xmlns_namespaces":671,"../lib":693,"../lib/events":681,"../lib/queue":709,"../lib/svg_text_utils":718,"../plots/cartesian/axes":742,"../plots/cartesian/constants":747,"../plots/cartesian/graph_interact":751,"../plots/plots":805,"../plots/polar/legacy":813,"../registry":825,"./edit_types":725,"./helpers":726,"./manage_arrays":728,"./plot_config":730,"./plot_schema":731,"./subroutines":733,d3:147,"fast-isnumeric":213,"has-hover":391}],730:[function(t,e,r){"use strict";e.exports={staticPlot:!1,plotlyServerURL:"https://plot.ly",editable:!1,edits:{annotationPosition:!1,annotationTail:!1,annotationText:!1,axisTitleText:!1,colorbarPosition:!1,colorbarTitleText:!1,legendPosition:!1,legendText:!1,shapePosition:!1,titleText:!1},autosizable:!1,responsive:!1,queueLength:0,fillFrame:!1,frameMargins:0,scrollZoom:!1,doubleClick:"reset+autosize",showTips:!0,showAxisDragHandles:!0,showAxisRangeEntryBoxes:!0,showLink:!1,sendData:!0,linkText:"Edit chart",showSources:!1,displayModeBar:"hover",modeBarButtonsToRemove:[],modeBarButtonsToAdd:[],modeBarButtons:!1,toImageButtonOptions:{},displaylogo:!0,plotGlPixelRatio:2,setBackground:"transparent",topojsonURL:"https://cdn.plot.ly/",mapboxAccessToken:null,logging:1,globalTransforms:[],locale:"en-US",locales:{}}},{}],731:[function(t,e,r){"use strict";var n=t("../registry"),i=t("../lib"),a=t("../plots/attributes"),o=t("../plots/layout_attributes"),s=t("../plots/frame_attributes"),l=t("../plots/animation_attributes"),c=t("../plots/polar/legacy/area_attributes"),u=t("../plots/polar/legacy/axis_attributes"),f=t("./edit_types"),h=i.extendFlat,p=i.extendDeepAll,d=i.isPlainObject,g="_isSubplotObj",m="_isLinkedToArray",v=[g,m,"_arrayAttrRegexps","_deprecated"];function y(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(x(e[r]))r++;else if(r<e.length)return!1;for(;r<e.length;r++){var n=t[e[r]];if(!d(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(!x(e[++r]))return!1}else if("info_array"===t.valType){var i=e[++r];if(!x(i))return!1;var a=t.items;if(Array.isArray(a)){if(i>=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!x(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function x(t){return t===Math.round(t)&&t>=0}function b(t){return function(t){r.crawl(t,function(t,e,n){r.isValObject(t)?"data_array"===t.valType?(t.role="data",n[e+"src"]={valType:"string",editType:"none"}):!0===t.arrayOk&&(n[e+"src"]={valType:"string",editType:"none"}):d(t)&&(t.role="object")})}(t),function(t){r.crawl(t,function(t,e,r){if(!t)return;var n=t[m];if(!n)return;delete t[m],r[e]={items:{}},r[e].items[n]=t,r[e].role="object"})}(t),function(t){!function t(e){for(var r in e)if(d(e[r]))t(e[r]);else if(Array.isArray(e[r]))for(var n=0;n<e[r].length;n++)t(e[r][n]);else e[r]instanceof RegExp&&(e[r]=e[r].toString())}(t)}(t),t}function _(t,e,r){var n=i.nestedProperty(t,r),a=p({},e.layoutAttributes);a[g]=!0,n.set(a)}function w(t,e,r){var n=i.nestedProperty(t,r);n.set(p(n.get()||{},e))}r.IS_SUBPLOT_OBJ=g,r.IS_LINKED_TO_ARRAY=m,r.DEPRECATED="_deprecated",r.UNDERSCORE_ATTRS=v,r.get=function(){var t={};n.allTypes.concat("area").forEach(function(e){t[e]=function(t){var e,r;"area"===t?(e={attributes:c},r={}):(e=n.modules[t]._module,r=e.basePlotModule);var i={type:null};p(i,a),p(i,e.attributes),r.attributes&&p(i,r.attributes);i.type=t;var o={meta:e.meta||{},attributes:b(i)};if(e.layoutAttributes){var s={};p(s,e.layoutAttributes),o.layoutAttributes=b(s)}return o}(e)});var e,r={};return Object.keys(n.transformsRegistry).forEach(function(t){r[t]=function(t){var e=n.transformsRegistry[t],r=p({},e.attributes);return Object.keys(n.componentsRegistry).forEach(function(e){var i=n.componentsRegistry[e];i.schema&&i.schema.transforms&&i.schema.transforms[t]&&Object.keys(i.schema.transforms[t]).forEach(function(e){w(r,i.schema.transforms[t][e],e)})}),{attributes:b(r)}}(t)}),{defs:{valObjects:i.valObjectMeta,metaKeys:v.concat(["description","role","editType","impliedEdits"]),editType:{traces:f.traces,layout:f.layout},impliedEdits:{}},traces:t,layout:function(){var t,e,r={};for(t in p(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i<e.attr.length;i++)_(r,e,e.attr[i]);else{var a="subplot"===e.attr?e.name:e.attr;_(r,e,a)}for(t in r=function(t){return h(t,{radialaxis:u.radialaxis,angularaxis:u.angularaxis}),h(t,u.layout),t}(r),n.componentsRegistry){var s=(e=n.componentsRegistry[t]).schema;if(s&&(s.subplots||s.layout)){var l=s.subplots;if(l&&l.xaxis&&!l.yaxis)for(var c in l.xaxis)delete r.yaxis[c]}else e.layoutAttributes&&w(r,e.layoutAttributes,e.name)}return{layoutAttributes:b(r)}}(),transforms:r,frames:(e={frames:i.extendDeepAll({},s)},b(e),e.frames),animation:b(l)}},r.crawl=function(t,e,n,i){var a=n||0;i=i||"",Object.keys(t).forEach(function(n){var o=t[n];if(-1===v.indexOf(n)){var s=(i?i+".":"")+n;e(o,n,t,a,s),r.isValObject(o)||d(o)&&"impliedEdits"!==n&&r.crawl(o,e,a+1,s)}})},r.isValObject=function(t){return t&&void 0!==t.valType},r.findArrayAttributes=function(t){var e,n,o=[],s=[],l=[];function c(t,r,a,c){s=s.slice(0,c).concat([r]),l=l.slice(0,c).concat([t&&t._isLinkedToArray]),t&&("data_array"===t.valType||!0===t.arrayOk)&&!("colorbar"===s[c-1]&&("ticktext"===r||"tickvals"===r))&&function t(e,r,a){var c=e[s[r]];var u=a+s[r];if(r===s.length-1)i.isArrayOrTypedArray(c)&&o.push(n+u);else if(l[r]){if(Array.isArray(c))for(var f=0;f<c.length;f++)i.isPlainObject(c[f])&&t(c[f],r+1,u+"["+f+"].")}else i.isPlainObject(c)&&t(c,r+1,u+".")}(e,0,"")}e=t,n="",r.crawl(a,c),t._module&&t._module.attributes&&r.crawl(t._module.attributes,c);var u=t.transforms;if(u)for(var f=0;f<u.length;f++){var h=u[f],p=h._module;p&&(n="transforms["+f+"].",e=h,r.crawl(p.attributes,c))}return o},r.getTraceValObject=function(t,e){var r,i,o=e[0],s=1;if("transforms"===o){if(1===e.length)return a.transforms;var l=t.transforms;if(!Array.isArray(l)||!l.length)return!1;var u=e[1];if(!x(u)||u>=l.length)return!1;i=(r=(n.transformsRegistry[l[u].type]||{}).attributes)&&r[e[2]],s=3}else if("area"===t.type)i=c[o];else{var f=t._module;if(f||(f=(n.modules[t.type||a.type.dflt]||{})._module),!f)return!1;if(!(i=(r=f.attributes)&&r[o])){var h=f.basePlotModule;h&&h.attributes&&(i=h.attributes[o])}i||(i=a[o])}return y(i,e,s)},r.getLayoutValObject=function(t,e){return y(function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var c;for(r=0;r<l.length;r++){if((a=l[r]).attrRegex&&a.attrRegex.test(e)){if(a.layoutAttrOverrides)return a.layoutAttrOverrides;!c&&a.layoutAttributes&&(c=a.layoutAttributes)}var f=a.baseLayoutAttrOverrides;if(f&&e in f)return f[e]}if(c)return c}var h=t._modules;if(h)for(r=0;r<h.length;r++)if((s=h[r].layoutAttributes)&&e in s)return s[e];for(i in n.componentsRegistry)if(!(a=n.componentsRegistry[i]).schema&&e===a.name)return a.layoutAttributes;if(e in o)return o[e];if("radialaxis"===e||"angularaxis"===e)return u[e];return u.layout[e]||!1}(t,e[0]),e,1)}},{"../lib":693,"../plots/animation_attributes":737,"../plots/attributes":739,"../plots/frame_attributes":769,"../plots/layout_attributes":796,"../plots/polar/legacy/area_attributes":811,"../plots/polar/legacy/axis_attributes":812,"../registry":825,"./edit_types":725}],732:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plots/attributes"),a="templateitemname",o={name:{valType:"string",editType:"none"}};function s(t){return t&&"string"==typeof t}function l(t){var e=t.length-1;return"s"!==t.charAt(e)&&n.warn("bad argument to arrayDefaultKey: "+t),t.substr(0,t.length-1)+"defaults"}o[a]={valType:"string",editType:"calc"},r.templatedArray=function(t,e){return e._isLinkedToArray=t,e.name=o.name,e[a]=o[a],e},r.traceTemplater=function(t){var e,r,a={};for(e in t)r=t[e],Array.isArray(r)&&r.length&&(a[e]=0);return{newTrace:function(o){var s={type:e=n.coerce(o,{},i,"type"),_template:null};if(e in a){r=t[e];var l=a[e]%r.length;a[e]++,s._template=r[l]}return s}}},r.newContainer=function(t,e,r){var i=t._template,a=i&&(i[e]||r&&i[r]);return n.isPlainObject(a)||(a=null),t[e]={_template:a}},r.arrayTemplater=function(t,e,r){var n=t._template,i=n&&n[l(e)],o=n&&n[e];Array.isArray(o)&&o.length||(o=[]);var c={};return{newItem:function(t){var e={name:t.name,_input:t},n=e[a]=t[a];if(!s(n))return e._template=i,e;for(var l=0;l<o.length;l++){var u=o[l];if(u.name===n)return c[n]=1,e._template=u,e}return e[r]=t[r]||!1,e._template=!1,e},defaultItems:function(){for(var t=[],e=0;e<o.length;e++){var r=o[e],n=r.name;if(s(n)&&!c[n]){var i={_template:r,name:n,_input:{_templateitemname:n}};i[a]=r[a],t.push(i),c[n]=1}}return t}}},r.arrayDefaultKey=l,r.arrayEditor=function(t,e,r){var i=(n.nestedProperty(t,e).get()||[]).length,o=r._index,s=o>=i&&(r._input||{})._templateitemname;s&&(o=i);var l,c=e+"["+o+"]";function u(){l={},s&&(l[c]={},l[c][a]=s)}function f(t,e){s?n.nestedProperty(l[c],t).set(e):l[c+"."+t]=e}function h(){var t=l;return u(),t}return u(),{modifyBase:function(t,e){l[t]=e},modifyItem:f,getUpdateObj:h,applyUpdate:function(e,r){e&&f(e,r);var i=h();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},{"../lib":693,"../plots/attributes":739}],733:[function(t,e,r){"use strict";var n=t("d3"),i=t("../registry"),a=t("../plots/plots"),o=t("../lib"),s=t("../lib/clear_gl_canvases"),l=t("../components/color"),c=t("../components/drawing"),u=t("../components/titles"),f=t("../components/modebar"),h=t("../plots/cartesian/axes"),p=t("../constants/alignment"),d=t("../plots/cartesian/constraints"),g=d.enforce,m=d.clean,v=t("../plots/cartesian/autorange").doAutoRange;function y(t){var e,i=t._fullLayout,a=i._size,s=a.p,u=h.list(t,"",!0),d=i._has("cartesian");function g(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-s-n:e._offset+e._length+s+n:a.t+a.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+s+n:e._offset-s-n:a.l+a.w*(t.position||0)+n%1}for(e=0;e<u.length;e++){var m=u[e];m.setScale();var v=m._anchorAxis;m._linepositions={},m._lw=c.crispRound(t,m.linewidth,1),m._mainLinePosition=g(m,v,m.side),m._mainMirrorPosition=m.mirror&&v?g(m,v,p.OPPOSITE_SIDE[m.side]):null,m._mainSubplot=x(m,i)}i._paperdiv.style({width:i.width+"px",height:i.height+"px"}).selectAll(".main-svg").call(c.setSize,i.width,i.height),t._context.setBackground(t,i.paper_bgcolor);var y=i._paper.selectAll("g.subplot"),_=[],k=[];y.each(function(t){var e=t[0],r=i._plots[e];if(r.mainplot)return r.bg&&r.bg.remove(),void(r.bg=void 0);var n=r.xaxis.domain,a=r.yaxis.domain,s=r.plotgroup;if(function(t,e,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=t[1]||i[1]<=t[0])&&a[0]<e[1]&&a[1]>e[0])return!0}return!1}(n,a,k)){var l=s.node(),c=r.bg=o.ensureSingle(s,"rect","bg");l.insertBefore(c.node(),l.childNodes[0])}else s.select("rect.bg").remove(),_.push(e),k.push([n,a])});var M=i._bgLayer.selectAll(".bg").data(_);return M.enter().append("rect").classed("bg",!0),M.exit().remove(),M.each(function(t){i._plots[t].bg=n.select(this)}),y.each(function(t){var e=t[0],r=i._plots[e],n=r.xaxis,a=r.yaxis;r.bg&&d&&r.bg.call(c.setRect,n._offset-s,a._offset-s,n._length+2*s,a._length+2*s).call(l.fill,i.plot_bgcolor).style("stroke-width",0);var f,h,p=r.clipId="clip"+i._uid+e+"plot",m=o.ensureSingleById(i._clips,"clipPath",p,function(t){t.classed("plotclip",!0).append("rect")});if(r.clipRect=m.select("rect").attr({width:n._length,height:a._length}),c.setTranslate(r.plot,n._offset,a._offset),r._hasClipOnAxisFalse?(f=null,h=p):(f=p,h=null),c.setClipUrl(r.plot,f),r.layerClipId=h,d){var v,y,x,_,k,M,A,T,S,E,C,L,z,P="M0,0";b(n,e)&&(k=w(n,"left",a,u),v=n._offset-(k?s+k:0),M=w(n,"right",a,u),y=n._offset+n._length+(M?s+M:0),x=g(n,a,"bottom"),_=g(n,a,"top"),!(z=!n._anchorAxis||e!==n._mainSubplot)||"allticks"!==n.mirror&&"all"!==n.mirror||(n._linepositions[e]=[x,_]),P=R(n,I,function(t){return"M"+n._offset+","+t+"h"+n._length}),z&&n.showline&&("all"===n.mirror||"allticks"===n.mirror)&&(P+=I(x)+I(_)),r.xlines.style("stroke-width",n._lw+"px").call(l.stroke,n.showline?n.linecolor:"rgba(0,0,0,0)")),r.xlines.attr("d",P);var O="M0,0";b(a,e)&&(C=w(a,"bottom",n,u),A=a._offset+a._length+(C?s:0),L=w(a,"top",n,u),T=a._offset-(L?s:0),S=g(a,n,"left"),E=g(a,n,"right"),!(z=!a._anchorAxis||e!==a._mainSubplot)||"allticks"!==a.mirror&&"all"!==a.mirror||(a._linepositions[e]=[S,E]),O=R(a,D,function(t){return"M"+t+","+a._offset+"v"+a._length}),z&&a.showline&&("all"===a.mirror||"allticks"===a.mirror)&&(O+=D(S)+D(E)),r.ylines.style("stroke-width",a._lw+"px").call(l.stroke,a.showline?a.linecolor:"rgba(0,0,0,0)")),r.ylines.attr("d",O)}function I(t){return"M"+v+","+t+"H"+y}function D(t){return"M"+t+","+T+"V"+A}function R(t,r,n){if(!t.showline||e!==t._mainSubplot)return"";if(!t._anchorAxis)return n(t._mainLinePosition);var i=r(t._mainLinePosition);return t.mirror&&(i+=r(t._mainMirrorPosition)),i}}),h.makeClipPaths(t),r.drawMainTitle(t),f.manage(t),t._promises.length&&Promise.all(t._promises)}function x(t,e){var r=e._subplots,n=r.cartesian.concat(r.gl2d||[]),i={_fullLayout:e},a="x"===t._id.charAt(0),o=t._mainAxis._anchorAxis,s="",l="",c="";if(o&&(c=o._mainAxis._id,s=a?t._id+c:c+t._id),!s||!e._plots[s]){s="";for(var u=0;u<n.length;u++){var f=n[u],p=f.indexOf("y"),d=a?f.substr(0,p):f.substr(p),g=a?f.substr(p):f.substr(0,p);if(d===t._id){l||(l=f);var m=h.getFromId(i,g);if(c&&m.overlaying===c){s=f;break}}}}return s||l}function b(t,e){return(t.ticks||t.showline)&&(e===t._mainSubplot||"all"===t.mirror||"allticks"===t.mirror)}function _(t,e,r){if(!r.showline||!r._lw)return!1;if("all"===r.mirror||"allticks"===r.mirror)return!0;var n=r._anchorAxis;if(!n)return!1;var i=p.FROM_BL[e];return r.side===e?n.domain[i]===t.domain[i]:r.mirror&&n.domain[1-i]===t.domain[1-i]}function w(t,e,r,n){if(_(t,e,r))return r._lw;for(var i=0;i<n.length;i++){var a=n[i];if(a._mainAxis===r._mainAxis&&_(t,e,a))return a._lw}return 0}r.layoutStyles=function(t){return o.syncOrAsync([a.doAutoMargin,y],t)},r.drawMainTitle=function(t){var e=t._fullLayout;u.draw(t,"gtitle",{propContainer:e,propName:"title",placeholder:e._dfltTitle.plot,attributes:{x:e.width/2,y:e._size.t/2,"text-anchor":"middle"}})},r.doTraceStyle=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e],n=(((r[0]||{}).trace||{})._module||{}).arraysToCalcdata;n&&n(r,r[0].trace)}return a.style(t),i.getComponentMethod("legend","draw")(t),a.previousPromises(t)},r.doColorBars=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e][0];if((r.t||{}).cb){var n=r.trace,o=r.t.cb;i.traceIs(n,"contour")&&o.line({width:!1!==n.contours.showlines?n.line.width:0,dash:n.line.dash,color:"line"===n.contours.coloring?o._opts.line.color:n.line.color});var s=n._module.colorbar.container,l=(s?n[s]:n).colorbar;o.options(l)()}}return a.previousPromises(t)},r.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,i.call("plot",t,"",e)},r.doLegend=function(t){return i.getComponentMethod("legend","draw")(t),a.previousPromises(t)},r.doTicksRelayout=function(t,e){return e?h.doTicks(t,Object.keys(e),!0):h.doTicks(t,"redraw"),t._fullLayout._hasOnlyLargeSploms&&(s(t),i.subplotsRegistry.splom.plot(t)),r.drawMainTitle(t),a.previousPromises(t)},r.doModeBar=function(t){var e=t._fullLayout;f.manage(t);for(var r=0;r<e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&&n(t)}return a.previousPromises(t)},r.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){var i=e[r[n]];i._scene.setCamera(i.camera)}},r.drawData=function(t){var e,r=t._fullLayout,n=t.calcdata;for(e=0;e<n.length;e++){var o=n[e][0].trace;!0===o.visible&&o._module.colorbar||r._infolayer.select(".cb"+o.uid).remove()}s(t);var l=r._basePlotModules;for(e=0;e<l.length;e++)l[e].plot(t);return a.style(t),i.getComponentMethod("shapes","draw")(t),i.getComponentMethod("annotations","draw")(t),r._replotting=!1,a.previousPromises(t)},r.doAutoRangeAndConstraints=function(t){for(var e=h.list(t,"",!0),r=0;r<e.length;r++){var n=e[r];m(t,n),v(t,n)}g(t)},r.finalDraw=function(t){i.getComponentMethod("shapes","draw")(t),i.getComponentMethod("images","draw")(t),i.getComponentMethod("annotations","draw")(t),i.getComponentMethod("rangeslider","draw")(t),i.getComponentMethod("rangeselector","draw")(t)},r.drawMarginPushers=function(t){i.getComponentMethod("legend","draw")(t),i.getComponentMethod("rangeselector","draw")(t),i.getComponentMethod("sliders","draw")(t),i.getComponentMethod("updatemenus","draw")(t)}},{"../components/color":567,"../components/drawing":592,"../components/modebar":630,"../components/titles":658,"../constants/alignment":665,"../lib":693,"../lib/clear_gl_canvases":676,"../plots/cartesian/autorange":741,"../plots/cartesian/axes":742,"../plots/cartesian/constraints":749,"../plots/plots":805,"../registry":825,d3:147}],734:[function(t,e,r){"use strict";var n=t("../lib"),i=n.isPlainObject,a=t("./plot_schema"),o=t("../plots/plots"),s=t("../plots/attributes"),l=t("./plot_template"),c=t("./plot_config");function u(t,e){t=n.extendDeep({},t);var r,a,o=Object.keys(t).sort();function s(e,r,n){if(i(r)&&i(e))u(e,r);else if(Array.isArray(r)&&Array.isArray(e)){var o=l.arrayTemplater({_template:t},n);for(a=0;a<r.length;a++){var s=r[a],c=o.newItem(s)._template;c&&u(c,s)}var f=o.defaultItems();for(a=0;a<f.length;a++)r.push(f[a]._template);for(a=0;a<r.length;a++)delete r[a].templateitemname}}for(r=0;r<o.length;r++){var c=o[r],h=t[c];if(c in e?s(h,e[c],c):e[c]=h,f(c)===c)for(var p in e){var d=f(p);p===d||d!==c||p in t||s(h,e[p],c)}}}function f(t){return t.replace(/[0-9]+$/,"")}function h(t,e,r,a,o){var s=o&&r(o);for(var c in t){var u=t[c],d=p(t,c,a),g=p(t,c,o),m=r(g);if(!m){var v=f(c);v!==c&&(m=r(g=p(t,v,o)))}if((!s||s!==m)&&!(!m||m._noTemplating||"data_array"===m.valType||m.arrayOk&&Array.isArray(u)))if(!m.valType&&i(u))h(u,e,r,d,g);else if(m._isLinkedToArray&&Array.isArray(u))for(var y=!1,x=0,b={},_=0;_<u.length;_++){var w=u[_];if(i(w)){var k=w.name;if(k)b[k]||(h(w,e,r,p(u,x,d),p(u,x,g)),x++,b[k]=1);else if(!y){var M=p(t,l.arrayDefaultKey(c),a),A=p(u,x,d);h(w,e,r,A,p(u,x,g));var T=n.nestedProperty(e,A);n.nestedProperty(e,M).set(T.get()),T.set(null),y=!0}}}else{n.nestedProperty(e,d).set(u)}}}function p(t,e,r){return r?Array.isArray(t)?r+"["+e+"]":r+"."+e:e}function d(t){for(var e=0;e<t.length;e++)if(i(t[e]))return!0}function g(t){var e;switch(t.code){case"data":e="The template has no key data.";break;case"layout":e="The template has no key layout.";break;case"missing":e=t.path?"There are no templates for item "+t.path+" with name "+t.templateitemname:"There are no templates for trace "+t.index+", of type "+t.traceType+".";break;case"unused":e=t.path?"The template item at "+t.path+" was not used in constructing the plot.":t.dataCount?"Some of the templates of type "+t.traceType+" were not used. The template has "+t.templateCount+" traces, the data only has "+t.dataCount+" of this type.":"The template has "+t.templateCount+" traces of type "+t.traceType+" but there are none in the data.";break;case"reused":e="Some of the templates of type "+t.traceType+" were used more than once. The template has "+t.templateCount+" traces, the data has "+t.dataCount+" of this type."}return t.msg=e,t}r.makeTemplate=function(t){t=n.extendDeep({_context:c},t),o.supplyDefaults(t);var e=t.data||[],r=t.layout||{};r._basePlotModules=t._fullLayout._basePlotModules,r._modules=t._fullLayout._modules;var l={data:{},layout:{}};e.forEach(function(t){var e={};h(t,e,function(t,e){return a.getTraceValObject(t,n.nestedProperty({},e).parts)}.bind(null,t));var r=n.coerce(t,{},s,"type"),i=l.data[r];i||(i=l.data[r]=[]),i.push(e)}),h(r,l.layout,function(t,e){return a.getLayoutValObject(t,n.nestedProperty({},e).parts)}.bind(null,r)),delete l.layout.template;var f=r.template;if(i(f)){var p,d,g,m,v,y,x=f.layout;i(x)&&u(x,l.layout);var b=f.data;if(i(b)){for(d in l.data)if(g=b[d],Array.isArray(g)){for(y=(v=l.data[d]).length,m=g.length,p=0;p<y;p++)u(g[p%m],v[p]);for(p=y;p<m;p++)v.push(n.extendDeep({},g[p]))}for(d in b)d in l.data||(l.data[d]=n.extendDeep([],b[d]))}}return l},r.validateTemplate=function(t,e){var r=n.extendDeep({},{_context:c,data:t.data,layout:t.layout}),a=r.layout||{};i(e)||(e=a.template||{});var s=e.layout,l=e.data,u=[];r.layout=a,r.layout.template=e,o.supplyDefaults(r);var h=r._fullLayout,m=r._fullData,v={};if(i(s)?(!function t(e,r){for(var n in e)if("_"!==n.charAt(0)&&i(e[n])){var a,o=f(n),s=[];for(a=0;a<r.length;a++)s.push(p(e,n,r[a])),o!==n&&s.push(p(e,o,r[a]));for(a=0;a<s.length;a++)v[s[a]]=1;t(e[n],s)}}(h,["layout"]),function t(e,r){for(var n in e)if(-1===n.indexOf("defaults")&&i(e[n])){var a=p(e,n,r);v[a]?t(e[n],a):u.push({code:"unused",path:a})}}(s,"layout")):u.push({code:"layout"}),i(l)){for(var y,x={},b=0;b<m.length;b++){var _=m[b];x[y=_.type]=(x[y]||0)+1,_._fullInput._template||u.push({code:"missing",index:_._fullInput.index,traceType:y})}for(y in l){var w=l[y].length,k=x[y]||0;w>k?u.push({code:"unused",traceType:y,templateCount:w,dataCount:k}):k>w&&u.push({code:"reused",traceType:y,templateCount:w,dataCount:k})}}else u.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var a=e[n],o=p(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&u.push({code:"missing",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&d(a)&&t(a,o)}}({data:m,layout:h},""),u.length)return u.map(g)}},{"../lib":693,"../plots/attributes":739,"../plots/plots":805,"./plot_config":730,"./plot_schema":731,"./plot_template":732}],735:[function(t,e,r){"use strict";var n=t("./plot_api"),i=t("../lib"),a=t("../snapshot/helpers"),o=t("../snapshot/tosvg"),s=t("../snapshot/svgtoimg"),l={format:{valType:"enumerated",values:["png","jpeg","webp","svg"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}},c=/^data:image\/\w+;base64,/;e.exports=function(t,e){var r,u,f;function h(t){return!(t in e)||i.validate(e[t],l[t])}if(e=e||{},i.isPlainObject(t)?(r=t.data||[],u=t.layout||{},f=t.config||{}):(t=i.getGraphDiv(t),r=i.extendDeep([],t.data),u=i.extendDeep({},t.layout),f=t._context),!h("width")||!h("height"))throw new Error("Height and width should be pixel values.");if(!h("format"))throw new Error("Image format is not jpeg, png, svg or webp.");var p={};function d(t,r){return i.coerce(e,p,l,t,r)}var g=d("format"),m=d("width"),v=d("height"),y=d("scale"),x=d("setBackground"),b=d("imageDataOnly"),_=document.createElement("div");_.style.position="absolute",_.style.left="-5000px",document.body.appendChild(_);var w=i.extendFlat({},u);m&&(w.width=m),v&&(w.height=v);var k=i.extendFlat({},f,{staticPlot:!0,setBackground:x}),M=a.getRedrawFunc(_);function A(){return new Promise(function(t){setTimeout(t,a.getDelay(_._fullLayout))})}function T(){return new Promise(function(t,e){var r=o(_,g,y),a=_._fullLayout.width,l=_._fullLayout.height;if(n.purge(_),document.body.removeChild(_),"svg"===g)return t(b?r:"data:image/svg+xml,"+encodeURIComponent(r));var c=document.createElement("canvas");c.id=i.randstr(),s({format:g,width:a,height:l,scale:y,canvas:c,svg:r,promise:!0}).then(t).catch(e)})}return new Promise(function(t,e){n.plot(_,r,w,k).then(M).then(A).then(T).then(function(e){t(function(t){return b?t.replace(c,""):t}(e))}).catch(function(t){e(t)})})}},{"../lib":693,"../snapshot/helpers":829,"../snapshot/svgtoimg":831,"../snapshot/tosvg":833,"./plot_api":729}],736:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plots/plots"),a=t("./plot_schema"),o=t("./plot_config"),s=n.isPlainObject,l=Array.isArray,c=n.isArrayOrTypedArray;function u(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;h<f.length;h++){var m=f[h];if("transforms"!==m){var v=o.slice();v.push(m);var y=t[m],x=e[m],b=g(r,m),_="info_array"===(b||{}).valType,w="colorscale"===(b||{}).valType,k=(b||{}).items;if(d(r,m))if(s(y)&&s(x))u(y,x,b,i,a,v);else if(_&&l(y)){y.length>x.length&&i.push(p("unused",a,v.concat(x.length)));var M,A,T,S,E,C=x.length,L=Array.isArray(k);if(L&&(C=Math.min(C,k.length)),2===b.dimensions)for(A=0;A<C;A++)if(l(y[A])){y[A].length>x[A].length&&i.push(p("unused",a,v.concat(A,x[A].length)));var z=x[A].length;for(M=0;M<(L?Math.min(z,k[A].length):z);M++)T=L?k[A][M]:k,S=y[A][M],E=x[A][M],n.validate(S,T)?E!==S&&E!==+S&&i.push(p("dynamic",a,v.concat(A,M),S,E)):i.push(p("value",a,v.concat(A,M),S))}else i.push(p("array",a,v.concat(A),y[A]));else for(A=0;A<C;A++)T=L?k[A]:k,S=y[A],E=x[A],n.validate(S,T)?E!==S&&E!==+S&&i.push(p("dynamic",a,v.concat(A),S,E)):i.push(p("value",a,v.concat(A),S))}else if(b.items&&!_&&l(y)){var P,O,I=k[Object.keys(k)[0]],D=[];for(P=0;P<x.length;P++){var R=x[P]._index||P;if((O=v.slice()).push(R),s(y[R])&&s(x[P])){D.push(R);var B=y[R],F=x[P];s(B)&&!1!==B.visible&&!1===F.visible?i.push(p("invisible",a,O)):u(B,F,I,i,a,O)}}for(P=0;P<y.length;P++)(O=v.slice()).push(P),s(y[P])?-1===D.indexOf(P)&&i.push(p("unused",a,O)):i.push(p("object",a,O,y[P]))}else!s(y)&&s(x)?i.push(p("object",a,v,y)):c(y)||!c(x)||_||w?m in e?n.validate(y,b)?"enumerated"===b.valType&&(b.coerceNumber&&y!==+x||y!==x)&&i.push(p("dynamic",a,v,y,x)):i.push(p("value",a,v,y)):i.push(p("unused",a,v,y)):i.push(p("array",a,v,y));else i.push(p("schema",a,v))}}return i}e.exports=function(t,e){var r,c,f=a.get(),h=[],d={_context:n.extendFlat({},o)};l(t)?(d.data=n.extendDeep([],t),r=t):(d.data=[],r=[],h.push(p("array","data"))),s(e)?(d.layout=n.extendDeep({},e),c=e):(d.layout={},c={},arguments.length>1&&h.push(p("object","layout"))),i.supplyDefaults(d);for(var g=d._fullData,m=r.length,v=0;v<m;v++){var y=r[v],x=["data",v];if(s(y)){var b=g[v],_=b.type,w=f.traces[_].attributes;w.type={valType:"enumerated",values:[_]},!1===b.visible&&!1!==y.visible&&h.push(p("invisible",x)),u(y,b,w,h,x);var k=y.transforms,M=b.transforms;if(k){l(k)||h.push(p("array",x,["transforms"])),x.push("transforms");for(var A=0;A<k.length;A++){var T=["transforms",A],S=k[A].type;if(s(k[A])){var E=f.transforms[S]?f.transforms[S].attributes:{};E.type={valType:"enumerated",values:Object.keys(f.transforms)},u(k[A],M[A],E,h,x,T)}else h.push(p("object",x,T))}}}else h.push(p("object",x))}return u(c,d._fullLayout,function(t,e){for(var r=t.layout.layoutAttributes,i=0;i<e.length;i++){var a=e[i],o=t.traces[a.type],s=o.layoutAttributes;s&&(a.subplot?n.extendFlat(r[o.attributes.subplot.dflt],s):n.extendFlat(r,s))}return r}(f,g),h,"layout"),0===h.length?void 0:h};var f={object:function(t,e){return("layout"===t&&""===e?"The layout argument":"data"===t[0]&&""===e?"Trace "+t[1]+" in the data argument":h(t)+"key "+e)+" must be linked to an object container"},array:function(t,e){return("data"===t?"The data argument":h(t)+"key "+e)+" must be linked to an array container"},schema:function(t,e){return h(t)+"key "+e+" is not part of the schema"},unused:function(t,e,r){var n=s(r)?"container":"key";return h(t)+n+" "+e+" did not get coerced"},dynamic:function(t,e,r,n){return[h(t)+"key",e,"(set to '"+r+"')","got reset to","'"+n+"'","during defaults."].join(" ")},invisible:function(t,e){return(e?h(t)+"item "+e:"Trace "+t[1])+" got defaulted to be not visible"},value:function(t,e,r){return[h(t)+"key "+e,"is set to an invalid value ("+r+")"].join(" ")}};function h(t){return l(t)?"In data trace "+t[1]+", ":"In "+t+", "}function p(t,e,r,i,a){var o,s;r=r||"",l(e)?(o=e[0],s=e[1]):(o=e,s=null);var c=function(t){if(!l(t))return String(t);for(var e="",r=0;r<t.length;r++){var n=t[r];"number"==typeof n?e=e.substr(0,e.length-1)+"["+n+"]":e+=n,r<t.length-1&&(e+=".")}return e}(r),u=f[t](e,c,i,a);return n.log(u),{code:t,container:o,trace:s,path:r,astr:c,msg:u}}function d(t,e){var r=v(e),n=r.keyMinusId,i=r.id;return!!(n in t&&t[n]._isSubplotObj&&i)||e in t}function g(t,e){return e in t?t[e]:t[v(e).keyMinusId]}var m=n.counterRegex("([a-z]+)");function v(t){var e=t.match(m);return{keyMinusId:e&&e[1],id:e&&e[2]}}},{"../lib":693,"../plots/plots":805,"./plot_config":730,"./plot_schema":731}],737:[function(t,e,r){"use strict";e.exports={mode:{valType:"enumerated",dflt:"afterall",values:["immediate","next","afterall"]},direction:{valType:"enumerated",values:["forward","reverse"],dflt:"forward"},fromcurrent:{valType:"boolean",dflt:!1},frame:{duration:{valType:"number",min:0,dflt:500},redraw:{valType:"boolean",dflt:!0}},transition:{duration:{valType:"number",min:0,dflt:500},easing:{valType:"enumerated",dflt:"cubic-in-out",values:["linear","quad","cubic","sin","exp","circle","elastic","back","bounce","linear-in","quad-in","cubic-in","sin-in","exp-in","circle-in","elastic-in","back-in","bounce-in","linear-out","quad-out","cubic-out","sin-out","exp-out","circle-out","elastic-out","back-out","bounce-out","linear-in-out","quad-in-out","cubic-in-out","sin-in-out","exp-in-out","circle-in-out","elastic-in-out","back-in-out","bounce-in-out"]}}}},{}],738:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plot_api/plot_template");e.exports=function(t,e,r){var a,o,s=r.name,l=r.inclusionAttr||"visible",c=e[s],u=n.isArrayOrTypedArray(t[s])?t[s]:[],f=e[s]=[],h=i.arrayTemplater(e,s,l);for(a=0;a<u.length;a++){var p=u[a];n.isPlainObject(p)?o=h.newItem(p):(o=h.newItem({}))[l]=!1,o._index=a,!1!==o[l]&&r.handleItemDefaults(p,o,e,r),f.push(o)}var d=h.defaultItems();for(a=0;a<d.length;a++)(o=d[a])._index=f.length,r.handleItemDefaults({},o,e,r,{}),f.push(o);if(n.isArrayOrTypedArray(c)){var g=Math.min(c.length,f.length);for(a=0;a<g;a++)n.relinkPrivateKeys(f[a],c[a])}return f}},{"../lib":693,"../plot_api/plot_template":732}],739:[function(t,e,r){"use strict";var n=t("../components/fx/attributes");e.exports={type:{valType:"enumerated",values:[],dflt:"scatter",editType:"calc+clearAxisTypes",_noTemplating:!0},visible:{valType:"enumerated",values:[!0,!1,"legendonly"],dflt:!0,editType:"calc"},showlegend:{valType:"boolean",dflt:!0,editType:"style"},legendgroup:{valType:"string",dflt:"",editType:"style"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"style"},name:{valType:"string",editType:"style"},uid:{valType:"string",editType:"plot"},ids:{valType:"data_array",editType:"calc"},customdata:{valType:"data_array",editType:"calc"},selectedpoints:{valType:"any",editType:"calc"},hoverinfo:{valType:"flaglist",flags:["x","y","z","text","name"],extras:["all","none","skip"],arrayOk:!0,dflt:"all",editType:"none"},hoverlabel:n.hoverlabel,stream:{token:{valType:"string",noBlank:!0,strict:!0,editType:"calc"},maxpoints:{valType:"number",min:0,max:1e4,dflt:500,editType:"calc"},editType:"calc"},transforms:{_isLinkedToArray:"transform",editType:"calc"}}},{"../components/fx/attributes":601}],740:[function(t,e,r){"use strict";e.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},{}],741:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../constants/numerical").FP_SAFE;function o(t,e){var r,n,a=[],o=s(e),c=l(t,e),u=c.min,f=c.max;if(0===u.length||0===f.length)return i.simpleMap(e.range,e.r2l);var h=u[0].val,p=f[0].val;for(r=1;r<u.length&&h===p;r++)h=Math.min(h,u[r].val);for(r=1;r<f.length&&h===p;r++)p=Math.max(p,f[r].val);var d=!1;if(e.range){var g=i.simpleMap(e.range,e.r2l);d=g[1]<g[0]}"reversed"===e.autorange&&(d=!0,e.autorange=!0);var m,v,y,x,b,_,w=e.rangemode,k="tozero"===w,M="nonnegative"===w,A=e._length,T=A/10,S=0;for(r=0;r<u.length;r++)for(m=u[r],n=0;n<f.length;n++)(_=(v=f[n]).val-m.val)>0&&((b=A-o(m)-o(v))>T?_/b>S&&(y=m,x=v,S=_/b):_/A>S&&(y={val:m.val,pad:0},x={val:v.val,pad:0},S=_/A));if(h===p){var E=h-1,C=h+1;if(k)if(0===h)a=[0,1];else{var L=(h>0?f:u).reduce(function(t,e){return Math.max(t,o(e))},0),z=h/(1-Math.min(.5,L/A));a=h>0?[0,z]:[z,0]}else a=M?[Math.max(0,E),Math.max(1,C)]:[E,C]}else k?(y.val>=0&&(y={val:0,pad:0}),x.val<=0&&(x={val:0,pad:0})):M&&(y.val-S*o(y)<0&&(y={val:0,pad:0}),x.val<=0&&(x={val:1,pad:0})),S=(x.val-y.val)/(A-o(y)-o(x)),a=[y.val-S*o(y),x.val+S*o(x)];return d&&a.reverse(),i.simpleMap(a,e.l2r||Number)}function s(t){var e=t._length/20;return"domain"===t.constrain&&t._inputDomain&&(e*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(t){return t.pad+(t.extrapad?e:0)}}function l(t,e){var r,n,i,a=e._id,o=t._fullData,s=t._fullLayout,l=[],f=[];function h(t,e){for(r=0;r<e.length;r++){var o=t[e[r]],s=(o._extremes||{})[a];if(!0===o.visible&&s){for(n=0;n<s.min.length;n++)i=s.min[n],c(l,i.val,i.pad,{extrapad:i.extrapad});for(n=0;n<s.max.length;n++)i=s.max[n],u(f,i.val,i.pad,{extrapad:i.extrapad})}}}return h(o,e._traceIndices),h(s.annotations||[],e._annIndices||[]),h(s.shapes||[],e._shapeIndices||[]),{min:l,max:f}}function c(t,e,r,n){f(t,e,r,n,p)}function u(t,e,r,n){f(t,e,r,n,d)}function f(t,e,r,n,i){for(var a=n.tozero,o=n.extrapad,s=!0,l=0;l<t.length&&s;l++){var c=t[l];if(i(c.val,e)&&c.pad>=r&&(c.extrapad||!o)){s=!1;break}i(e,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(t.splice(l,1),l--)}if(s){var u=a&&0===e;t.push({val:e,pad:u?0:r,extrapad:!u&&o})}}function h(t){return n(t)&&Math.abs(t)<a}function p(t,e){return t<=e}function d(t,e){return t>=e}e.exports={getAutoRange:o,makePadFn:s,doAutoRange:function(t,e){e._length||e.setScale();var r;e.autorange&&(e.range=o(t,e),e._r=e.range.slice(),e._rl=i.simpleMap(e._r,e.r2l),(r=e._input).range=e.range.slice(),r.autorange=e.autorange);if(e._anchorAxis&&e._anchorAxis.rangeslider){var n=e._anchorAxis.rangeslider[e._name];n&&"auto"===n.rangemode&&(n.range=o(t,e)),(r=e._anchorAxis._input).rangeslider[e._name]=i.extendFlat({},n)}},findExtremes:function(t,e,r){r||(r={});t._m||t.setScale();var i,o,s,l,f,p,d,g,m,v=[],y=[],x=e.length,b=r.padded||!1,_=r.tozero&&("linear"===t.type||"-"===t.type),w="log"===t.type,k=!1;function M(t){if(Array.isArray(t))return k=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var A=M((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),T=M((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),S=M(r.vpadplus||r.vpad),E=M(r.vpadminus||r.vpad);if(!k){if(g=1/0,m=-1/0,w)for(i=0;i<x;i++)(o=e[i])<g&&o>0&&(g=o),o>m&&o<a&&(m=o);else for(i=0;i<x;i++)(o=e[i])<g&&o>-a&&(g=o),o>m&&o<a&&(m=o);e=[g,m],x=2}var C={tozero:_,extrapad:b};function L(r){s=e[r],n(s)&&(p=A(r),d=T(r),g=s-E(r),m=s+S(r),w&&g<m/10&&(g=m/10),l=t.c2l(g),f=t.c2l(m),_&&(l=Math.min(0,l),f=Math.max(0,f)),h(l)&&c(v,l,d,C),h(f)&&u(y,f,p,C))}var z=Math.min(6,x);for(i=0;i<z;i++)L(i);for(i=x-1;i>=z;i--)L(i);return{min:v,max:y}},concatExtremes:l}},{"../../constants/numerical":670,"../../lib":693,"fast-isnumeric":213}],742:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../components/titles"),u=t("../../components/color"),f=t("../../components/drawing"),h=t("./layout_attributes"),p=t("../../constants/numerical"),d=p.ONEAVGYEAR,g=p.ONEAVGMONTH,m=p.ONEDAY,v=p.ONEHOUR,y=p.ONEMIN,x=p.ONESEC,b=p.MINUS_SIGN,_=p.BADNUM,w=t("../../constants/alignment").MID_SHIFT,k=t("../../constants/alignment").LINE_SPACING,M=e.exports={};M.setConvert=t("./set_convert");var A=t("./axis_autotype"),T=t("./axis_ids");M.id2name=T.id2name,M.name2id=T.name2id,M.cleanId=T.cleanId,M.list=T.list,M.listIds=T.listIds,M.getFromId=T.getFromId,M.getFromTrace=T.getFromTrace;var S=t("./autorange");M.getAutoRange=S.getAutoRange,M.findExtremes=S.findExtremes,M.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],c=n+"ref",u={};return i||(i=l[0]||a),a||(a=i),u[c]={valType:"enumerated",values:l.concat(a?[a]:[]),dflt:i},s.coerce(t,e,u,c)},M.coercePosition=function(t,e,r,n,i,a){var o,l;if("paper"===n||"pixel"===n)o=s.ensureNumber,l=r(i,a);else{var c=M.getFromId(e,n);l=r(i,a=c.fraction2r(a)),o=c.cleanPos}t[i]=o(l)},M.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:M.getFromId(e,r).cleanPos)(t)};var E=M.getDataConversions=function(t,e,r,n){var i,a="x"===r||"y"===r||"z"===r?r:n;if(Array.isArray(a)){if(i={type:A(n),_categories:[]},M.setConvert(i),"category"===i.type)for(var o=0;o<n.length;o++)i.d2c(n[o])}else i=M.getFromTrace(t,e,a);return i?{d2c:i.d2c,c2d:i.c2d}:"ids"===a?{d2c:L,c2d:L}:{d2c:C,c2d:C}};function C(t){return+t}function L(t){return String(t)}M.getDataToCoordFunc=function(t,e,r,n){return E(t,e,r,n).d2c},M.counterLetter=function(t){var e=t.charAt(0);return"x"===e?"y":"y"===e?"x":void 0},M.minDtick=function(t,e,r,n){-1===["log","category"].indexOf(t.type)&&n?void 0===t._minDtick?(t._minDtick=e,t._forceTick0=r):t._minDtick&&((t._minDtick/e+1e-6)%1<2e-6&&((r-t._forceTick0)/e%1+1.000001)%1<2e-6?(t._minDtick=e,t._forceTick0=r):((e/t._minDtick+1e-6)%1>2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},M.saveRangeInitial=function(t,e){for(var r=M.list(t,"",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=void 0===a._rangeInitial,s=o||!(a.range[0]===a._rangeInitial[0]&&a.range[1]===a._rangeInitial[1]);(o&&!1===a.autorange||e&&s)&&(a._rangeInitial=a.range.slice(),n=!0)}return n},M.saveShowSpikeInitial=function(t,e){for(var r=M.list(t,"",!0),n=!1,i="on",a=0;a<r.length;a++){var o=r[a],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),"on"!==i||o.showspikes||(i="off")}return t._fullLayout._cartesianSpikesEnabled=i,n},M.autoBin=function(t,e,r,n,a){var o,l,c=s.aggNums(Math.min,null,t),u=s.aggNums(Math.max,null,t);if(a||(a=e.calendar),"category"===e.type)return{start:c-.5,end:u+.5,size:1,_dataSpan:u-c};if(r)o=(u-c)/r;else{var f=s.distinctVals(t),h=Math.pow(10,Math.floor(Math.log(f.minDiff)/Math.LN10)),p=h*s.roundUp(f.minDiff/h,[.9,1.9,4.9,9.9],!0);o=Math.max(p,2*s.stdev(t)/Math.pow(t.length,n?.25:.4)),i(o)||(o=1)}l="log"===e.type?{type:"linear",range:[c,u]}:{type:e.type,range:s.simpleMap([c,u],e.c2r,0,a),calendar:a},M.setConvert(l),M.autoTicks(l,o);var d,g=M.tickIncrement(M.tickFirst(l),l.dtick,"reverse",a);if("number"==typeof l.dtick)d=(g=function(t,e,r,n,a){var o=0,s=0,l=0,c=0;function u(e){return(1+100*(e-t)/r.dtick)%100<2}for(var f=0;f<e.length;f++)e[f]%1==0?l++:i(e[f])||c++,u(e[f])&&o++,u(e[f]+r.dtick/2)&&s++;var h=e.length-c;if(l===h&&"date"!==r.type)r.dtick<1?t=n-.5*r.dtick:(t-=.5)+r.dtick<n&&(t+=r.dtick);else if(s<.1*h&&(o>.3*h||u(n)||u(a))){var p=r.dtick/2;t+=t+p<n?p:-p}return t}(g,t,l,c,u))+(1+Math.floor((u-g)/l.dtick))*l.dtick;else for("M"===l.dtick.charAt(0)&&(g=function(t,e,r,n,i){var a=s.findExactDates(e,i);if(a.exactDays>.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=M.tickIncrement(t,"M6","reverse")+1.5*m:a.exactMonths>.8?t=M.tickIncrement(t,"M1","reverse")+15.5*m:t-=m/2;var l=M.tickIncrement(t,r);if(l<=n)return l}return t}(g,t,l.dtick,c,a)),d=g,0;d<=u;)d=M.tickIncrement(d,l.dtick,!1,a),0;return{start:e.c2r(g,0,a),end:e.c2r(d,0,a),size:l.dtick,_dataSpan:u-c}},M.prepTicks=function(t){var e=s.simpleMap(t.range,t.r2l);if("auto"===t.tickmode||!t.dtick){var r,n=t.nticks;n||("category"===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r="y"===t._id.charAt(0)?40:80,n=s.constrain(t._length/r,4,9)+1),"radialaxis"===t._name&&(n*=2)),"array"===t.tickmode&&(n*=100),M.autoTicks(t,Math.abs(e[1]-e[0])/n),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}t.tick0||(t.tick0="date"===t.type?"2000-01-01":0),"date"===t.type&&t.dtick<.1&&(t.dtick=.1),N(t)},M.calcTicks=function(t){M.prepTicks(t);var e=s.simpleMap(t.range,t.r2l);if("array"===t.tickmode)return function(t){var e,r,n=t.tickvals,i=t.ticktext,a=new Array(n.length),o=s.simpleMap(t.range,t.r2l),l=1.0001*o[0]-1e-4*o[1],c=1.0001*o[1]-1e-4*o[0],u=Math.min(l,c),f=Math.max(l,c),h=0;Array.isArray(i)||(i=[]);var p="category"===t.type?t.d2l_noadd:t.d2l;"log"===t.type&&"L"!==String(t.dtick).charAt(0)&&(t.dtick="L"+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1));for(r=0;r<n.length;r++)(e=p(n[r]))>u&&e<f&&(void 0===i[r]?a[h]=M.tickText(t,e):a[h]=j(t,e,String(i[r])),h++);h<n.length&&a.splice(h,n.length-h);return a}(t);t._tmin=M.tickFirst(t);var r=1.0001*e[0]-1e-4*e[1],n=1.0001*e[1]-1e-4*e[0],i=e[1]<e[0];if(t._tmin<r!==i)return[];var a=[];"category"===t.type&&(n=i?Math.max(-.5,n):Math.min(t._categories.length-.5,n));for(var o=null,l=Math.max(1e3,t._length||0),c=t._tmin;(i?c>=n:c<=n)&&!(a.length>l||c===o);c=M.tickIncrement(c,t.dtick,i,t.calendar))o=c,a.push(c);Z(t)&&360===Math.abs(e[1]-e[0])&&a.pop(),t._tmax=a[a.length-1],t._prevDateHead="",t._inCalcTicks=!0;for(var u=new Array(a.length),f=0;f<a.length;f++)u[f]=M.tickText(t,a[f]);return t._inCalcTicks=!1,u};var z=[2,5,10],P=[1,2,3,6,12],O=[1,2,5,10,15,30],I=[1,2,3,7,14],D=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],R=[-.301,0,.301,.699,1],B=[15,30,45,90,180];function F(t,e,r){return e*s.roundUp(t/e,r)}function N(t){var e=t.dtick;if(t._tickexponent=0,i(e)||"string"==typeof e||(e=1),"category"===t.type&&(t._tickround=null),"date"===t.type){var r=t.r2l(t.tick0),n=t.l2r(r).replace(/(^-|i)/g,""),a=n.length;if("M"===String(e).charAt(0))a>10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=m&&a<=10||e>=15*m)t._tickround="d";else if(e>=y&&a<=16||e>=v)t._tickround="M";else if(e>=x&&a<=19||e>=y)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),c=Math.floor(Math.log(l)/Math.LN10+.01);Math.abs(c)>3&&(U(t.exponentformat)&&!q(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function j(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontColor:n.color}}M.autoTicks=function(t,e){var r;function n(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar);var a=2*e;a>d?(e/=d,r=n(10),t.dtick="M"+12*F(e,r,z)):a>g?(e/=g,t.dtick="M"+F(e,1,P)):a>m?(t.dtick=F(e,m,I),t.tick0=s.dateTick0(t.calendar,!0)):a>v?t.dtick=F(e,v,P):a>y?t.dtick=F(e,y,O):a>x?t.dtick=F(e,x,O):(r=n(10),t.dtick=F(e,r,z))}else if("log"===t.type){t.tick0=0;var o=s.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])<1){var l=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/l,r=n(10),t.dtick="L"+F(e,r,z)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):Z(t)?(t.tick0=0,r=1,t.dtick=F(e,r,B)):(t.tick0=0,r=n(10),t.dtick=F(e,r,z));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&"string"!=typeof t.dtick){var c=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(c)}},M.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return t+o*e;var l=e.charAt(0),c=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,c,a);if("L"===l)return Math.log(Math.pow(10,t)+c)/Math.LN10;if("D"===l){var u="D2"===e?R:D,f=t+.01*o,h=s.roundUp(s.mod(f,1),u,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw"unrecognized dtick "+String(e)},M.tickFirst=function(t){var e=t.r2l||Number,r=s.simpleMap(t.range,e),a=r[1]<r[0],o=a?Math.floor:Math.ceil,l=1.0001*r[0]-1e-4*r[1],c=t.dtick,u=e(t.tick0);if(i(c)){var f=o((l-u)/c)*c+u;return"category"===t.type&&(f=s.constrain(f,0,t._categories.length-1)),f}var h=c.charAt(0),p=Number(c.substr(1));if("M"===h){for(var d,g,m,v=0,y=u;v<10;){if(((d=M.tickIncrement(y,c,a,t.calendar))-l)*(y-l)<=0)return a?Math.min(y,d):Math.max(y,d);g=(l-(y+d)/2)/(d-y),m=h+(Math.abs(Math.round(g))||1)*p,y=M.tickIncrement(y,m,g<0?!a:a,t.calendar),v++}return s.error("tickFirst did not converge",t),y}if("L"===h)return Math.log(o((Math.pow(10,l)-u)/p)*p+u)/Math.LN10;if("D"===h){var x="D2"===c?R:D,b=s.roundUp(s.mod(l,1),x,a);return Math.floor(l)+Math.log(n.round(Math.pow(10,b),1))/Math.LN10}throw"unrecognized dtick "+String(c)},M.tickText=function(t,e,r){var n,a,o=j(t,e),l="array"===t.tickmode,c=r||l,u="category"===t.type?t.d2l_noadd:t.d2l;if(l&&Array.isArray(t.ticktext)){var f=s.simpleMap(t.range,t.r2l),h=Math.abs(f[1]-f[0])/1e4;for(a=0;a<t.ticktext.length&&!(Math.abs(e-u(t.tickvals[a]))<h);a++);if(a<t.ticktext.length)return o.text=String(t.ticktext[a]),o}function p(n){var i;return void 0===n||(r?"none"===n:(i={first:t._tmin,last:t._tmax}[n],"all"!==n&&e!==i))}return n=r?"never":"none"!==t.exponentformat&&p(t.showexponent)?"hide":"","date"===t.type?function(t,e,r,n){var a=t._tickround,o=r&&t.hoverformat||M.getTickFormat(t);n&&(a=i(a)?4:{y:"m",m:"d",d:"M",M:"S",S:4}[a]);var l,c=s.formatDate(e.x,o,a,t._dateFormat,t.calendar,t._extraFormat),u=c.indexOf("\n");-1!==u&&(l=c.substr(u+1),c=c.substr(0,u));n&&("00:00:00"===c||"00:00"===c?(c=l,l=""):8===c.length&&(c=c.replace(/:00$/,"")));l&&(r?"d"===a?c+=", "+l:c=l+(c?", "+c:""):t._inCalcTicks&&l===t._prevDateHead||(c+="<br>"+l,t._prevDateHead=l));e.text=c}(t,o,r,c):"log"===t.type?function(t,e,r,n,a){var o=t.dtick,l=e.x,c=t.tickformat,u="string"==typeof o&&o.charAt(0);"never"===a&&(a="");n&&"L"!==u&&(o="L3",u="L");if(c||"L"===u)e.text=H(Math.pow(10,l),t,a,n);else if(i(o)||"D"===u&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),p=t.exponentformat;"power"===p||U(p)&&q(f)?(e.text=0===f?1:1===f?"10":"10<sup>"+(f>1?"":b)+h+"</sup>",e.fontSize*=1.25):("e"===p||"E"===p)&&h>2?e.text="1"+p+(f>0?"+":b)+h:(e.text=H(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==u)throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var d=String(e.text).charAt(0);"0"!==d&&"1"!==d||("y"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,c,n):"category"===t.type?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r="");e.text=String(r)}(t,o):Z(t)?function(t,e,r,n,i){if("radians"!==t.thetaunit||r)e.text=H(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){var r=1;for(;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=H(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="\u03c0":e.text=o[0]+"\u03c0":e.text=["<sup>",o[0],"</sup>","\u2044","<sub>",o[1],"</sub>","\u03c0"].join(""),l&&(e.text=b+e.text)}}}}(t,o,r,c,n):function(t,e,r,n,i){"never"===i?i="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i="hide");e.text=H(e.x,t,i,n)}(t,o,0,c,n),t.tickprefix&&!p(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!p(t.showticksuffix)&&(o.text+=t.ticksuffix),o},M.hoverLabelText=function(t,e,r){if(r!==_&&r!==e)return M.hoverLabelText(t,e)+" - "+M.hoverLabelText(t,r);var n="log"===t.type&&e<=0,i=M.tickText(t,t.c2l(n?-e:e),"hover").text;return n?0===e?"0":b+i:i};var V=["f","p","n","\u03bc","m","","k","M","G","T"];function U(t){return"SI"===t||"B"===t}function q(t){return t>14||t<-15}function H(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||"B",c=e._tickexponent,u=M.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,dtick:"none"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};N(h),o=(Number(h._tickround)||0)+4,c=h._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,b);var p,d=Math.pow(10,-o)/2;if("none"===l&&(c=0),(t=Math.abs(t))<d)t="0",a=!1;else{if(t+=d,c&&(t*=Math.pow(10,-c),o+=c),0===o)t=String(Math.floor(t));else if(o<0){t=(t=String(Math.round(t))).substr(0,t.length+o);for(var g=o;g<0;g++)t+="0"}else{var m=(t=String(t)).indexOf(".")+1;m&&(t=t.substr(0,m+o).replace(/\.?0+$/,""))}t=s.numSeparate(t,e._separators,f)}c&&"hide"!==l&&(U(l)&&q(c)&&(l="power"),p=c<0?b+-c:"power"!==l?"+"+c:String(c),"e"===l||"E"===l?t+=l+p:"power"===l?t+="\xd710<sup>"+p+"</sup>":"B"===l&&9===c?t+="B":U(l)&&(t+=V[c/3+5]));return a?b+t:t}function G(t,e){var r=t.l2p(e);return r>1&&r<t._length-1}function W(t,e){for(var r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r])}function Y(t,e,r){var n,i,a=[],o=[],l=t.layout;for(n=0;n<e.length;n++)a.push(M.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(M.getFromId(t,r[n]));var c=Object.keys(h),u=["anchor","domain","overlaying","position","side","tickangle","editType"],f=["linear","log"];for(n=0;n<c.length;n++){var p=c[n],d=a[0][p],g=o[0][p],m=!0,v=!1,y=!1;if("_"!==p.charAt(0)&&"function"!=typeof d&&-1===u.indexOf(p)){for(i=1;i<a.length&&m;i++){var x=a[i][p];"type"===p&&-1!==f.indexOf(d)&&-1!==f.indexOf(x)&&d!==x?v=!0:x!==d&&(m=!1)}for(i=1;i<o.length&&m;i++){var b=o[i][p];"type"===p&&-1!==f.indexOf(g)&&-1!==f.indexOf(b)&&g!==b?y=!0:o[i][p]!==g&&(m=!1)}m&&(v&&(l[a[0]._name].type="linear"),y&&(l[o[0]._name].type="linear"),X(l,p,a,o,t._fullLayout._dfltTitle))}}for(n=0;n<t._fullLayout.annotations.length;n++){var _=t._fullLayout.annotations[n];-1!==e.indexOf(_.xref)&&-1!==r.indexOf(_.yref)&&s.swapAttrs(l.annotations[n],["?"])}}function X(t,e,r,n,i){var a,o=s.nestedProperty,l=o(t[r[0]._name],e).get(),c=o(t[n[0]._name],e).get();for("title"===e&&(l===i.x&&(l=i.y),c===i.y&&(c=i.x)),a=0;a<r.length;a++)o(t,r[a]._name+"."+e).set(c);for(a=0;a<n.length;a++)o(t,n[a]._name+"."+e).set(l)}function Z(t){return"angularaxis"===t._id}M.getTickFormat=function(t){var e,r,n,i,a,o,s,l;function c(t){return"string"!=typeof t?t:Number(t.replace("M",""))*g}function u(t,e){var r=["L","D"];if(typeof t==typeof e){if("number"==typeof t)return t-e;var n=r.indexOf(t.charAt(0)),i=r.indexOf(e.charAt(0));return n===i?Number(t.replace(/(L|D)/g,""))-Number(e.replace(/(L|D)/g,"")):n-i}return"number"==typeof t?1:-1}function f(t,e){var r=null===e[0],n=null===e[1],i=u(t,e[0])>=0,a=u(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&(i=t.dtick,a=n.dtickrange,o=void 0,void 0,void 0,o=c||function(t){return t},s=a[0],l=a[1],(!s&&"number"!=typeof s||o(s)<=o(i))&&(!l&&"number"!=typeof l||o(l)>=o(i)))){r=n;break}break;case"log":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&f(t.dtick,n.dtickrange)){r=n;break}}return r?r.value:t.tickformat},M.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=e?M.findSubplotsWithAxis(n,e):n;return i.sort(function(t,e){var r=t.substr(1).split("y"),n=e.substr(1).split("y");return r[0]===n[0]?+r[1]-+n[1]:+r[0]-+n[0]}),i},M.findSubplotsWithAxis=function(t,e){for(var r=new RegExp("x"===e._id.charAt(0)?"^"+e._id+"y":e._id+"$"),n=[],i=0;i<t.length;i++){var a=t[i];r.test(a)&&n.push(a)}return n},M.makeClipPaths=function(t){var e=t._fullLayout;if(!e._hasOnlyLargeSploms){var r,i,a={_offset:0,_length:e.width,_id:""},o={_offset:0,_length:e.height,_id:""},s=M.list(t,"x",!0),l=M.list(t,"y",!0),c=[];for(r=0;r<s.length;r++)for(c.push({x:s[r],y:o}),i=0;i<l.length;i++)0===r&&c.push({x:a,y:l[i]}),c.push({x:s[r],y:l[i]});var u=e._clips.selectAll(".axesclip").data(c,function(t){return t.x._id+t.y._id});u.enter().append("clipPath").classed("axesclip",!0).attr("id",function(t){return"clip"+e._uid+t.x._id+t.y._id}).append("rect"),u.exit().remove(),u.each(function(t){n.select(this).select("rect").attr({x:t.x._offset||0,y:t.y._offset||0,width:t.x._length||1,height:t.y._length||1})})}},M.doTicks=function(t,e,r){var n=t._fullLayout;"redraw"===e&&n._paper.selectAll("g.subplot").each(function(t){var e=t[0],r=n._plots[e],i=r.xaxis,a=r.yaxis;r.xaxislayer.selectAll("."+i._id+"tick").remove(),r.yaxislayer.selectAll("."+a._id+"tick").remove(),r.gridlayer&&r.gridlayer.selectAll("path").remove(),r.zerolinelayer&&r.zerolinelayer.selectAll("path").remove(),n._infolayer.select(".g-"+i._id+"title").remove(),n._infolayer.select(".g-"+a._id+"title").remove()});var i=e&&"redraw"!==e?e:M.listIds(t);s.syncOrAsync(i.map(function(e){return function(){if(e){var n=M.doTicksSingle(t,e,r),i=M.getFromId(t,e);return i._r=i.range.slice(),i._rl=s.simpleMap(i._r,i.r2l),n}}}))},M.doTicksSingle=function(t,e,r){var o,h=t._fullLayout,p=!1;s.isPlainObject(e)?(o=e,p=!0):o=M.getFromId(t,e),o.setScale();var d,g,m,v,y,x,b=o._id,_=b.charAt(0),A=M.counterLetter(b),S=o._vals=M.calcTicks(o),E=function(t){return[t.text,t.x,o.mirror,t.font,t.fontSize,t.fontColor].join("_")},C=b+"tick",L=b+"grid",z=b+"zl",P=(o.linewidth||1)/2,O="outside"===o.ticks?o.ticklen:0,I=0,D=f.crispRound(t,o.gridwidth,1),R=f.crispRound(t,o.zerolinewidth,D),B=f.crispRound(t,o.tickwidth,1);if(o._counterangle&&"outside"===o.ticks){var F=o._counterangle*Math.PI/180;O=o.ticklen*Math.cos(F)+1,I=o.ticklen*Math.sin(F)}if(o.showticklabels&&("outside"===o.ticks||o.showline)&&(O+=.2*o.tickfont.size),"x"===_)d=["bottom","top"],g=o._transfn||function(t){return"translate("+(o._offset+o.l2p(t.x))+",0)"},m=function(t,e){if(o._counterangle){var r=o._counterangle*Math.PI/180;return"M0,"+t+"l"+Math.sin(r)*e+","+Math.cos(r)*e}return"M0,"+t+"v"+e};else if("y"===_)d=["left","right"],g=o._transfn||function(t){return"translate(0,"+(o._offset+o.l2p(t.x))+")"},m=function(t,e){if(o._counterangle){var r=o._counterangle*Math.PI/180;return"M"+t+",0l"+Math.cos(r)*e+","+-Math.sin(r)*e}return"M"+t+",0h"+e};else{if(!Z(o))return void s.warn("Unrecognized doTicks axis:",b);d=["left","right"],g=o._transfn,m=function(t,e){return"M"+t+",0h"+e}}var N=o.side||d[0],j=[-1,1,N===d[1]?1:-1];if("inside"!==o.ticks==("x"===_)&&(j=j.map(function(t){return-t})),o.visible){o._tickFilter&&(S=S.filter(o._tickFilter));var V=o._valsClipped=Z(o)?S:S.filter(function(t){return G(o,t.x)});if(p){if($(o._axislayer,m(o._pos+P*j[2],j[2]*o.ticklen)),o._counteraxis)Q({gridlayer:o._gridlayer,zerolinelayer:o._zerolinelayer},o._counteraxis);return J(o._axislayer,o._pos)}if(h._has("cartesian")){v=M.getSubplots(t,o);var U={};v.map(function(t){var e=h._plots[t],r=e[A+"axis"],n=r._mainAxis._id;U[n]||(U[n]=1,Q(e,r))});var q=o._mainSubplot,H=h._plots[q],W=[];if(o.ticks){var Y=j[2],X=m(o._mainLinePosition+P*Y,Y*o.ticklen);o._anchorAxis&&o.mirror&&!0!==o.mirror&&(X+=m(o._mainMirrorPosition-P*Y,-Y*o.ticklen)),$(H[_+"axislayer"],X),W=Object.keys(o._linepositions||{})}return W.map(function(t){var e=h._plots[t][_+"axislayer"],r=o._linepositions[t]||[];function n(t){var e=j[t];return m(r[t]+P*e,e*o.ticklen)}$(e,n(0)+n(1))}),J(H[_+"axislayer"],o._mainLinePosition)}}function $(t,e){var r=t.selectAll("path."+C).data("inside"===o.ticks?V:S,E);e&&o.ticks?(r.enter().append("path").classed(C,1).classed("ticks",1).classed("crisp",1).call(u.stroke,o.tickcolor).style("stroke-width",B+"px").attr("d",e),r.attr("transform",g),r.exit().remove()):r.remove()}function J(e,r){if(y=e.selectAll("g."+C).data(S,E),!i(r))return y.remove(),void K();if(!o.showticklabels)return y.remove(),K(),void z();var c,u,p,d,m;"x"===_?(c=function(t){return t.dx+I*m},d=r+(O+P)*(m="bottom"===N?1:-1),u=function(t){return t.dy+d+t.fontSize*("bottom"===N?1:-.2)},p=function(t){return i(t)&&0!==t&&180!==t?t*m<0?"end":"start":"middle"}):"y"===_?(m="right"===N?1:-1,u=function(t){return t.dy+t.fontSize*w-I*m},c=function(t){return t.dx+r+(O+P+(90===Math.abs(o.tickangle)?t.fontSize/2:0))*m},p=function(t){return i(t)&&90===Math.abs(t)?"middle":"right"===N?"start":"end"}):Z(o)&&(o._labelShift=I,o._labelStandoff=O,o._pad=P,c=o._labelx,u=o._labely,p=o._labelanchor);var M=0,A=0,T=[];function L(t,e){t.each(function(t){var r=p(e,t),a=n.select(this),o=a.select(".text-math-group"),s=g.call(a.node(),t)+(i(e)&&0!=+e?" rotate("+e+","+c(t)+","+(u(t)-t.fontSize/2)+")":""),h=function(t,e,r){var n=(t-1)*e;if("x"===_){if(r<-60||60<r)return-.5*n;if("top"===N)return-n}else{if((r*="left"===N?1:-1)<-30)return-n;if(r<30)return-.5*n}return 0}(l.lineCount(a),k*t.fontSize,i(e)?+e:0);if(h&&(s+=" translate(0, "+h+")"),o.empty())a.select("text").attr({transform:s,"text-anchor":r});else{var d=f.bBox(o.node()).width*{end:-.5,start:.5}[r];o.attr("transform",s+(d?"translate("+d+",0)":""))}})}function z(){if(o.showticklabels){var r=t.getBoundingClientRect(),n=e.node().getBoundingClientRect();o._boundingBox={width:n.width,height:n.height,left:n.left-r.left,right:n.right-r.left,top:n.top-r.top,bottom:n.bottom-r.top}}else{var i,a=h._size;"x"===_?(i="free"===o.anchor?a.t+a.h*(1-o.position):a.t+a.h*(1-o._anchorAxis.domain[{bottom:0,top:1}[o.side]]),o._boundingBox={top:i,bottom:i,left:o._offset,right:o._offset+o._length,width:o._length,height:0}):(i="free"===o.anchor?a.l+a.w*o.position:a.l+a.w*o._anchorAxis.domain[{left:0,right:1}[o.side]],o._boundingBox={left:i,right:i,bottom:o._offset+o._length,top:o._offset,height:o._length,width:0})}if(v){var s=o._counterSpan=[1/0,-1/0];for(x=0;x<v.length;x++){var l=h._plots[v[x]]["x"===_?"yaxis":"xaxis"];c(s,[l._offset,l._offset+l._length])}"free"===o.anchor&&c(s,"x"===_?[o._boundingBox.bottom,o._boundingBox.top]:[o._boundingBox.right,o._boundingBox.left])}function c(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.max(t[1],e[1])}}y.enter().append("g").classed(C,1).append("text").attr("text-anchor","middle").each(function(e){var r=n.select(this),i=t._promises.length;r.call(l.positionText,c(e),u(e)).call(f.font,e.font,e.fontSize,e.fontColor).text(e.text).call(l.convertToTspans,t),(i=t._promises[i])?T.push(t._promises.pop().then(function(){L(r,o.tickangle)})):L(r,o.tickangle)}),y.exit().remove(),y.each(function(t){M=Math.max(M,t.fontSize)}),Z(o)&&y.each(function(t){n.select(this).select("text").call(l.positionText,c(t),u(t))}),L(y,o._lastangle||o.tickangle);var D=s.syncOrAsync([function(){return T.length&&Promise.all(T)},function(){if(L(y,o.tickangle),"x"===_&&!i(o.tickangle)&&("log"!==o.type||"D"!==String(o.dtick).charAt(0))){var t=[];for(y.each(function(e){var r=n.select(this),i=r.select(".text-math-group"),a=o.l2p(e.x);i.empty()&&(i=r.select("text"));var s=f.bBox(i.node());t.push({top:0,bottom:10,height:10,left:a-s.width/2,right:a+s.width/2+2,width:s.width+2})}),x=0;x<t.length-1;x++)if(s.bBoxIntersect(t[x],t[x+1])){A=30;break}A&&(Math.abs((S[S.length-1].x-S[0].x)*o._m)/(S.length-1)<2.5*M&&(A=90),L(y,A)),o._lastangle=A}return K(),b+" done"},z,function(){var e=o._name+".automargin";if("x"===_||"y"===_)if(o.automargin){var r=o.side[0],n={x:0,y:0,r:0,l:0,t:0,b:0};"x"===_?(n.y="free"===o.anchor?o.position:o._anchorAxis.domain["t"===r?1:0],n[r]+=o._boundingBox.height):(n.x="free"===o.anchor?o.position:o._anchorAxis.domain["r"===r?1:0],n[r]+=o._boundingBox.width),o.title!==h._dfltTitle[_]&&(n[r]+=o.titlefont.size),a.autoMargin(t,e,n)}else a.autoMargin(t,e)}]);return D&&D.then&&t._promises.push(D),D}function K(){if(!(r||o.rangeslider&&o.rangeslider.visible&&o._boundingBox&&"bottom"===o.side)){var e,n,i,a,s={selection:y,side:o.side},l=b.charAt(0),u=t._fullLayout._size,p=o.titlefont.size;if(y.size()){var d=f.getTranslate(y.node().parentNode);s.offsetLeft=d.x,s.offsetTop=d.y}var g=10+1.5*p+(o.linewidth?o.linewidth-1:0);"x"===l?(n="free"===o.anchor?{_offset:u.t+(1-(o.position||0))*u.h,_length:0}:T.getFromId(t,o.anchor),i=o._offset+o._length/2,a="top"===o.side?-g-p*(o.showticklabels?1:0):n._length+g+p*(o.showticklabels?1.5:.5),a+=n._offset,s.side||(s.side="bottom")):(n="free"===o.anchor?{_offset:u.l+(o.position||0)*u.w,_length:0}:T.getFromId(t,o.anchor),a=o._offset+o._length/2,i="right"===o.side?n._length+g+p*(o.showticklabels?1:.5):-g-p*(o.showticklabels?.5:0),i+=n._offset,e={rotate:"-90",offset:0},s.side||(s.side="left")),c.draw(t,b+"title",{propContainer:o,propName:o._name+".title",placeholder:h._dfltTitle[l],avoid:s,transform:e,attributes:{x:i,y:a,"text-anchor":"middle"}})}}function Q(e,r){if(!h._hasOnlyLargeSploms){var i=e.gridlayer.selectAll("."+b),a=e.zerolinelayer,s=o._gridpath||("x"===_?"M0,"+r._offset+"v":"M"+r._offset+",0h")+r._length,l=i.selectAll("path."+L).data(!1===o.showgrid?[]:V,E);if(l.enter().append("path").classed(L,1).classed("crisp",1).attr("d",s).each(function(t){o.zeroline&&("linear"===o.type||"-"===o.type)&&Math.abs(t.x)<o.dtick/100&&n.select(this).remove()}),l.attr("transform",g).call(u.stroke,o.gridcolor||"#ddd").style("stroke-width",D+"px"),"function"==typeof s&&l.attr("d",s),l.exit().remove(),a){var c={x:0,id:b},f=M.shouldShowZeroLine(t,o,r),p=a.selectAll("path."+z).data(f?[c]:[]);p.enter().append("path").classed(z,1).classed("zl",1).classed("crisp",1).attr("d",s).each(function(){a.selectAll("path").sort(function(t,e){return T.idSort(t.id,e.id)})}),p.attr("transform",g).call(u.stroke,o.zerolinecolor||u.defaultLine).style("stroke-width",R+"px"),p.exit().remove()}}}},M.shouldShowZeroLine=function(t,e,r){var n=s.simpleMap(e.range,e.r2l);return n[0]*n[1]<=0&&e.zeroline&&("linear"===e.type||"-"===e.type)&&e._valsClipped.length&&(G(e,0)||!function(t,e,r,n){var i=r._mainAxis;if(!i)return;var a=t._fullLayout,o=e._id.charAt(0),s=M.counterLetter(e._id),l=e._offset+(Math.abs(n[0])<Math.abs(n[1])==("x"===o)?0:e._length);function c(t){if(!t.showline||!t.linewidth)return!1;var r=Math.max((t.linewidth+e.zerolinewidth)/2,1);function n(t){return"number"==typeof t&&Math.abs(t-l)<r}if(n(t._mainLinePosition)||n(t._mainMirrorPosition))return!0;var i=t._linepositions||{};for(var a in i)if(n(i[a][0])||n(i[a][1]))return!0}var u=a._plots[r._mainSubplot];if(!(u.mainplotinfo||u).overlays.length)return c(r);for(var f=M.list(t,s),h=0;h<f.length;h++){var p=f[h];if(p._mainAxis===i&&c(p))return!0}}(t,e,r,n)||function(t,e){for(var r=t._fullData,n=e._mainSubplot,i=e._id.charAt(0),a=0;a<r.length;a++){var s=r[a];if(!0===s.visible&&s.xaxis+s.yaxis===n&&(o.traceIs(s,"bar")&&s.orientation==={x:"h",y:"v"}[i]||s.fill&&s.fill.charAt(s.fill.length-1)===i))return!0}return!1}(t,e))},M.allowAutoMargin=function(t){for(var e=M.list(t,"",!0),r=0;r<e.length;r++){var n=e[r];n.automargin&&a.allowAutoMargin(t,n._name+".automargin"),n.rangeslider&&n.rangeslider.visible&&a.allowAutoMargin(t,"rangeslider"+n._id)}},M.swap=function(t,e){for(var r=function(t,e){var r,n,i=[];for(r=0;r<e.length;r++){var a=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&&s){for(n=0;n<i.length;n++)-1===i[n].x.indexOf(o)&&-1===i[n].y.indexOf(s)||a.push(n);if(a.length){var l,c=i[a[0]];if(a.length>1)for(n=1;n<a.length;n++)l=i[a[n]],W(c.x,l.x),W(c.y,l.y);W(c.x,[o]),W(c.y,[s])}else i.push({x:[o],y:[s]})}}return i}(t,e),n=0;n<r.length;n++)Y(t,r[n].x,r[n].y)}},{"../../components/color":567,"../../components/drawing":592,"../../components/titles":658,"../../constants/alignment":665,"../../constants/numerical":670,"../../lib":693,"../../lib/svg_text_utils":718,"../../plots/plots":805,"../../registry":825,"./autorange":741,"./axis_autotype":743,"./axis_ids":745,"./layout_attributes":754,"./set_convert":760,d3:147,"fast-isnumeric":213}],743:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../constants/numerical").BADNUM;e.exports=function(t,e){return function(t,e){for(var r,a=0,o=0,s=Math.max(1,(t.length-1)/1e3),l=0;l<t.length;l+=s)r=t[Math.round(l)],i.isDateTime(r,e)&&(a+=1),n(r)&&(o+=1);return a>2*o}(t,e)?"date":function(t){for(var e,r=Math.max(1,(t.length-1)/1e3),n=0,o=0,s=0;s<t.length;s+=r)e=t[Math.round(s)],i.cleanNumber(e)!==a?n++:"string"==typeof e&&""!==e&&"None"!==e&&o++;return o>2*n}(t)?"category":function(t){if(!t)return!1;for(var e=0;e<t.length;e++)if(n(t[e]))return!0;return!1}(t)?"linear":"-"}},{"../../constants/numerical":670,"../../lib":693,"fast-isnumeric":213}],744:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("./layout_attributes"),o=t("./tick_value_defaults"),s=t("./tick_mark_defaults"),l=t("./tick_label_defaults"),c=t("./category_order_defaults"),u=t("./line_grid_defaults"),f=t("./set_convert");e.exports=function(t,e,r,h,p){var d=h.letter,g=h.font||{},m=h.splomStash||{},v=r("visible",!h.cheateronly),y=e.type;"date"===y&&n.getComponentMethod("calendars","handleDefaults")(t,e,"calendar",h.calendar);if(f(e,p),!r("autorange",!e.isValidRange(t.range))||"linear"!==y&&"-"!==y||r("rangemode"),r("range"),e.cleanRange(),c(t,e,r,h),"category"===y||h.noHover||r("hoverformat"),!v)return e;var x=r("color"),b=x!==a.color.dflt?x:g.color;return r("title",m.label||p._dfltTitle[d]),i.coerceFont(r,"titlefont",{family:g.family,size:Math.round(1.2*g.size),color:b}),o(t,e,r,y),l(t,e,r,y,h),s(t,e,r,h),u(t,e,r,{dfltColor:x,bgColor:h.bgColor,showGrid:h.showGrid,attributes:a}),(e.showline||e.ticks)&&r("mirror"),h.automargin&&r("automargin"),e}},{"../../lib":693,"../../registry":825,"./category_order_defaults":746,"./layout_attributes":754,"./line_grid_defaults":756,"./set_convert":760,"./tick_label_defaults":761,"./tick_mark_defaults":762,"./tick_value_defaults":763}],745:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("./constants");r.id2name=function(t){if("string"==typeof t&&t.match(i.AX_ID_PATTERN)){var e=t.substr(1);return"1"===e&&(e=""),t.charAt(0)+"axis"+e}},r.name2id=function(t){if(t.match(i.AX_NAME_PATTERN)){var e=t.substr(5);return"1"===e&&(e=""),t.charAt(0)+e}},r.cleanId=function(t,e){if(t.match(i.AX_ID_PATTERN)&&(!e||t.charAt(0)===e)){var r=t.substr(1).replace(/^0+/,"");return"1"===r&&(r=""),t.charAt(0)+r}},r.list=function(t,e,n){var i=t._fullLayout;if(!i)return[];var a,o=r.listIds(t,e),s=new Array(o.length);for(a=0;a<o.length;a++){var l=o[a];s[a]=i[l.charAt(0)+"axis"+l.substr(1)]}if(!n){var c=i._subplots.gl3d||[];for(a=0;a<c.length;a++){var u=i[c[a]];e?s.push(u[e+"axis"]):s.push(u.xaxis,u.yaxis,u.zaxis)}}return s},r.listIds=function(t,e){var r=t._fullLayout;if(!r)return[];var n=r._subplots;return e?n[e+"axis"]:n.xaxis.concat(n.yaxis)},r.getFromId=function(t,e,n){var i=t._fullLayout;return"x"===n?e=e.replace(/y[0-9]*/,""):"y"===n&&(e=e.replace(/x[0-9]*/,"")),i[r.id2name(e)]},r.getFromTrace=function(t,e,i){var a=t._fullLayout,o=null;if(n.traceIs(e,"gl3d")){var s=e.scene;"scene"===s.substr(0,5)&&(o=a[s][i+"axis"])}else o=r.getFromId(t,e[i+"axis"]||i);return o},r.idSort=function(t,e){var r=t.charAt(0),n=e.charAt(0);return r!==n?r>n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)}},{"../../registry":825,"./constants":747}],746:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){if("category"===e.type){var i,a=t.categoryarray,o=Array.isArray(a)&&a.length>0;o&&(i="array");var s,l=r("categoryorder",i);"array"===l&&(s=r("categoryarray")),o||"array"!==l||(l=e.categoryorder="trace"),"trace"===l?e._initialCategories=[]:"array"===l?e._initialCategories=s.slice():(s=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;n<e.data.length;n++){var s=e.data[n];s[a+"axis"]===t._id&&r.push(s)}for(n=0;n<r.length;n++){var l=r[n][a];for(i=0;i<l.length;i++){var c=l[i];null!=c&&(o[c]=1)}}return Object.keys(o)}(e,n).sort(),"category ascending"===l?e._initialCategories=s:"category descending"===l&&(e._initialCategories=s.reverse()))}}},{}],747:[function(t,e,r){"use strict";var n=t("../../lib/regex").counter;e.exports={idRegex:{x:n("x"),y:n("y")},attrRegex:n("[xy]axis"),xAxisMatch:n("xaxis"),yAxisMatch:n("yaxis"),AX_ID_PATTERN:/^[xyz][0-9]*$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,SELECTDELAY:100,SELECTID:"-select",DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:["heatmaplayer","contourcarpetlayer","contourlayer","barlayer","carpetlayer","violinlayer","boxlayer","ohlclayer","scattercarpetlayer","scatterlayer"],layerValue2layerClass:{"above traces":"above","below traces":"below"}}},{"../../lib/regex":710}],748:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./axis_ids").id2name;e.exports=function(t,e,r,a,o){var s=o._axisConstraintGroups,l=e._id,c=l.charAt(0);if(!e.fixedrange&&(r("constrain"),n.coerce(t,e,{constraintoward:{valType:"enumerated",values:"x"===c?["left","center","right"]:["bottom","middle","top"],dflt:"x"===c?"center":"middle"}},"constraintoward"),t.scaleanchor)){var u=function(t,e,r,n){var a,o,s,l,c=n[i(e)].type,u=[];for(o=0;o<r.length;o++)(s=r[o])!==e&&((l=n[i(s)]).type!==c||l.fixedrange||u.push(s));for(a=0;a<t.length;a++)if(t[a][e]){var f=t[a],h=[];for(o=0;o<u.length;o++)s=u[o],f[s]||h.push(s);return{linkableAxes:h,thisGroup:f}}return{linkableAxes:u,thisGroup:null}}(s,l,a,o),f=n.coerce(t,e,{scaleanchor:{valType:"enumerated",values:u.linkableAxes}},"scaleanchor");if(f){var h=r("scaleratio");h||(h=e.scaleratio=1),function(t,e,r,n,i){var a,o,s,l,c;null===e?((e={})[r]=1,c=t.length,t.push(e)):c=t.indexOf(e);var u=Object.keys(e);for(a=0;a<t.length;a++)if(s=t[a],a!==c&&s[n]){var f=s[n];for(o=0;o<u.length;o++)l=u[o],s[l]=f*i*e[l];return void t.splice(c,1)}if(1!==i)for(o=0;o<u.length;o++)e[u[o]]*=i;e[n]=1}(s,u.thisGroup,l,f,h)}else-1!==a.indexOf(t.scaleanchor)&&n.warn("ignored "+e._name+'.scaleanchor: "'+t.scaleanchor+'" to avoid either an infinite loop and possibly inconsistent scaleratios, or because the targetaxis has fixed range.')}}},{"../../lib":693,"./axis_ids":745}],749:[function(t,e,r){"use strict";var n=t("./axis_ids").id2name,i=t("./scale_zoom"),a=t("./autorange").makePadFn,o=t("./autorange").concatExtremes,s=t("../../constants/numerical").ALMOST_EQUAL,l=t("../../constants/alignment").FROM_BL;function c(t,e){var r=t._inputDomain,n=l[t.constraintoward],i=r[0]+(r[1]-r[0])*n;t.domain=t._input.domain=[i+(r[0]-i)/e,i+(r[1]-i)/e]}r.enforce=function(t){var e,r,l,u,f,h,p,d=t._fullLayout,g=d._axisConstraintGroups||[];for(e=0;e<g.length;e++){var m=g[e],v=Object.keys(m),y=1/0,x=0,b=1/0,_={},w={},k=!1;for(r=0;r<v.length;r++)w[l=v[r]]=u=d[n(l)],u._inputDomain?u.domain=u._inputDomain.slice():u._inputDomain=u.domain.slice(),u._inputRange||(u._inputRange=u.range.slice()),u.setScale(),_[l]=f=Math.abs(u._m)/m[l],y=Math.min(y,f),"domain"!==u.constrain&&u._constraintShrinkable||(b=Math.min(b,f)),delete u._constraintShrinkable,x=Math.max(x,f),"domain"===u.constrain&&(k=!0);if(!(y>s*x)||k)for(r=0;r<v.length;r++)if(f=_[l=v[r]],h=(u=w[l]).constrain,f!==b||"domain"===h)if(p=f/b,"range"===h)i(u,p);else{var M=u._inputDomain,A=(u.domain[1]-u.domain[0])/(M[1]-M[0]),T=(u.r2l(u.range[1])-u.r2l(u.range[0]))/(u.r2l(u._inputRange[1])-u.r2l(u._inputRange[0]));if((p/=A)*T<1){u.domain=u._input.domain=M.slice(),i(u,p);continue}if(T<1&&(u.range=u._input.range=u._inputRange.slice(),p*=T),u.autorange){var S=u.r2l(u.range[0]),E=u.r2l(u.range[1]),C=(S+E)/2,L=C,z=C,P=Math.abs(E-C),O=C-P*p*1.0001,I=C+P*p*1.0001,D=a(u);c(u,p),u.setScale();var R,B,F=Math.abs(u._m),N=o(t,u),j=N.min,V=N.max;for(B=0;B<j.length;B++)(R=j[B].val-D(j[B])/F)>O&&R<L&&(L=R);for(B=0;B<V.length;B++)(R=V[B].val+D(V[B])/F)<I&&R>z&&(z=R);p/=(z-L)/(2*P),L=u.l2r(L),z=u.l2r(z),u.range=u._input.range=S<E?[L,z]:[z,L]}c(u,p)}}},r.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,i=t._fullLayout._axisConstraintGroups,a=0;a<i.length;a++)if(i[a][n]){r=!0;break}r&&"domain"===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}}},{"../../constants/alignment":665,"../../constants/numerical":670,"./autorange":741,"./axis_ids":745,"./scale_zoom":758}],750:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("has-passive-events"),o=t("../../registry"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../lib/clear_gl_canvases"),u=t("../../components/color"),f=t("../../components/drawing"),h=t("../../components/fx"),p=t("../../lib/setcursor"),d=t("../../components/dragelement"),g=t("../../constants/alignment").FROM_TL,m=t("../plots"),v=t("./axes").doTicksSingle,y=t("./axis_ids").getFromId,x=t("./select").prepSelect,b=t("./select").clearSelect,_=t("./select").selectOnClick,w=t("./scale_zoom"),k=t("./constants"),M=k.MINDRAG,A=k.MINZOOM,T=!0;function S(t,e,r,n){var i=s.ensureSingle(t.draglayer,e,r,function(e){e.classed("drag",!0).style({fill:"transparent","stroke-width":0}).attr("data-subplot",t.id)});return i.call(p,n),i.node()}function E(t,e,r,i,a,o,s){var l=S(t,"rect",e,r);return n.select(l).call(f.setRect,i,a,o,s),l}function C(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return""}function L(t,e,r,n,i){var a,o,s,l;for(a=0;a<t.length;a++)(o=t[a]).fixedrange||(s=o._rl[0],l=o._rl[1]-s,o.range=[o.l2r(s+l*e),o.l2r(s+l*r)],n[o._name+".range[0]"]=o.range[0],n[o._name+".range[1]"]=o.range[1]);if(i&&i.length){var c=(e+(1-r))/2;L(i,c,1-c,n)}}function z(t,e){for(var r=0;r<t.length;r++){var n=t[r];n.fixedrange||(n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)])}}function P(t){return 1-(t>=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function O(t,e,r,n,i){return t.append("path").attr("class","zoombox").style({fill:e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform","translate("+r+", "+n+")").attr("d",i+"Z")}function I(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:u.background,stroke:u.defaultLine,"stroke-width":1,opacity:0}).attr("transform","translate("+e+", "+r+")").attr("d","M0,0Z")}function D(t,e,r,n,i,a){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),R(t,e,i,a)}function R(t,e,r,n){r||(t.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),e.transition().style("opacity",1).duration(200))}function B(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function F(t){T&&t.data&&t._context.showTips&&(s.notifier(s._(t,"Double-click to zoom back out"),"long"),T=!1)}function N(t){return"lasso"===t||"select"===t}function j(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,A)/2);return"M"+(t.l-3.5)+","+(t.t-.5+e)+"h3v"+-e+"h"+e+"v-3h-"+(e+3)+"ZM"+(t.r+3.5)+","+(t.t-.5+e)+"h-3v"+-e+"h"+-e+"v-3h"+(e+3)+"ZM"+(t.r+3.5)+","+(t.b+.5-e)+"h-3v"+e+"h"+-e+"v3h"+(e+3)+"ZM"+(t.l-3.5)+","+(t.b+.5-e)+"h3v"+e+"h"+e+"v3h-"+(e+3)+"Z"}function V(t,e){if(a){var r=void 0!==t.onwheel?"wheel":"mousewheel";t._onwheel&&t.removeEventListener(r,t._onwheel),t._onwheel=e,t.addEventListener(r,e,{passive:!1})}else void 0!==t.onwheel?t.onwheel=e:void 0!==t.onmousewheel&&(t.onmousewheel=e)}function U(t){var e=[];for(var r in t)e.push(t[r]);return e}e.exports={makeDragBox:function(t,e,r,a,u,p,T,S){var R,q,H,G,W,Y,X,Z,$,J,K,Q,tt,et,rt,nt,it,at,ot,st,lt,ct,ut=t._fullLayout._zoomlayer,ft=T+S==="nsew",ht=1===(T+S).length;function pt(){if(R=e.xaxis,q=e.yaxis,$=R._length,J=q._length,X=R._offset,Z=q._offset,(H={})[R._id]=R,(G={})[q._id]=q,T&&S)for(var r=e.overlays,n=0;n<r.length;n++){var i=r[n].xaxis;H[i._id]=i;var a=r[n].yaxis;G[a._id]=a}W=U(H),Y=U(G),Q=C(W,S),tt=C(Y,T),et=!tt&&!Q,K=function(t,e,r){for(var n,i,a,o,l=t._fullLayout._axisConstraintGroups,c=!1,u={},f={},h=0;h<l.length;h++){var p=l[h];for(n in e)if(p[n]){for(a in p)("x"===a.charAt(0)?e:r)[a]||(u[a]=1);for(i in r)p[i]&&(c=!0)}for(i in r)if(p[i])for(o in p)("x"===o.charAt(0)?e:r)[o]||(f[o]=1)}c&&(s.extendFlat(u,f),f={});var d={},g=[];for(a in u){var m=y(t,a);g.push(m),d[m._id]=m}var v={},x=[];for(o in f){var b=y(t,o);x.push(b),v[b._id]=b}return{xaHash:d,yaHash:v,xaxes:g,yaxes:x,isSubplotConstrained:c}}(t,H,G),rt=K.isSubplotConstrained,nt=S||rt,it=T||rt;var o=t._fullLayout;at=o._has("scattergl"),ot=o._hasOnlyLargeSploms,st=ot||o._has("splom"),lt=o._has("svg")}pt();var dt=function(t,e,r){return t?"nsew"===t?r?"":"pan"===e?"move":"crosshair":t.toLowerCase()+"-resize":"pointer"}(tt+Q,t._fullLayout.dragmode,ft),gt=E(e,T+S+"drag",dt,r,a,u,p);if(et&&!ft)return gt.onmousedown=null,gt.style.pointerEvents="none",gt;var mt,vt,yt,xt,bt,_t,wt,kt,Mt,At,Tt={element:gt,gd:t,plotinfo:e};function St(){Tt.plotinfo.selection=!1,b(ut)}function Et(r,i){var a=t._fullLayout.clickmode;if(B(t),2!==r||ht||function(){if(!t._transitioningWithDuration){var e,r,n,i=t._context.doubleClick,a=(Q?W:[]).concat(tt?Y:[]),s={};if("reset+autosize"===i)for(i="autosize",r=0;r<a.length;r++)if((e=a[r])._rangeInitial&&(e.range[0]!==e._rangeInitial[0]||e.range[1]!==e._rangeInitial[1])||!e._rangeInitial&&!e.autorange){i="reset";break}if("autosize"===i)for(r=0;r<a.length;r++)(e=a[r]).fixedrange||(s[e._name+".autorange"]=!0);else if("reset"===i)for((Q||rt)&&(a=a.concat(K.xaxes)),tt&&!rt&&(a=a.concat(K.yaxes)),rt&&(Q?tt||(a=a.concat(Y)):a=a.concat(W)),r=0;r<a.length;r++)(e=a[r])._rangeInitial?(n=e._rangeInitial,s[e._name+".range[0]"]=n[0],s[e._name+".range[1]"]=n[1]):s[e._name+".autorange"]=!0;t.emit("plotly_doubleclick",null),o.call("relayout",t,s)}}(),ft)a.indexOf("select")>-1&&_(i,t,W,Y,e.id,Tt),a.indexOf("event")>-1&&h.click(t,i,e.id);else if(1===r&&ht){var s=T?q:R,c="s"===T||"w"===S?0:1,u=s._name+".range["+c+"]",f=function(t,e){var r,i=t.range[e],a=Math.abs(i-t.range[1-e]);return"date"===t.type?i:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(a)/Math.LN10))+3,n.format("."+r+"g")(Math.pow(10,i))):(r=Math.floor(Math.log(Math.abs(i))/Math.LN10)-Math.floor(Math.log(a)/Math.LN10)+4,n.format("."+String(r)+"g")(i))}(s,c),p="left",d="middle";if(s.fixedrange)return;T?(d="n"===T?"top":"bottom","right"===s.side&&(p="right")):"e"===S&&(p="right"),t._context.showAxisRangeEntryBoxes&&n.select(gt).call(l.makeEditable,{gd:t,immediate:!0,background:t._fullLayout.paper_bgcolor,text:String(f),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:p,verticalAlign:d}).on("edit",function(e){var r=s.d2r(e);void 0!==r&&o.call("relayout",t,u,r)})}}function Ct(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min($,e+mt)),i=Math.max(0,Math.min(J,r+vt)),a=Math.abs(n-mt),o=Math.abs(i-vt);function s(){wt="",yt.r=yt.l,yt.t=yt.b,Mt.attr("d","M0,0Z")}yt.l=Math.min(mt,n),yt.r=Math.max(mt,n),yt.t=Math.min(vt,i),yt.b=Math.max(vt,i),rt?a>A||o>A?(wt="xy",a/$>o/J?(o=a*J/$,vt>i?yt.t=vt-o:yt.b=vt+o):(a=o*$/J,mt>n?yt.l=mt-a:yt.r=mt+a),Mt.attr("d",j(yt))):s():!tt||o<Math.min(Math.max(.6*a,M),A)?a<M||!Q?s():(yt.t=0,yt.b=J,wt="x",Mt.attr("d",function(t,e){return"M"+(t.l-.5)+","+(e-A-.5)+"h-3v"+(2*A+1)+"h3ZM"+(t.r+.5)+","+(e-A-.5)+"h3v"+(2*A+1)+"h-3Z"}(yt,vt))):!Q||a<Math.min(.6*o,A)?(yt.l=0,yt.r=$,wt="y",Mt.attr("d",function(t,e){return"M"+(e-A-.5)+","+(t.t-.5)+"v-3h"+(2*A+1)+"v3ZM"+(e-A-.5)+","+(t.b+.5)+"v3h"+(2*A+1)+"v-3Z"}(yt,mt))):(wt="xy",Mt.attr("d",j(yt))),yt.w=yt.r-yt.l,yt.h=yt.b-yt.t,wt&&(At=!0),t._dragged=At,D(kt,Mt,yt,bt,_t,xt),_t=!0}function Lt(){if(ct={},Math.min(yt.h,yt.w)<2*M)return B(t);"xy"!==wt&&"x"!==wt||L(W,yt.l/$,yt.r/$,ct,K.xaxes),"xy"!==wt&&"y"!==wt||L(Y,(J-yt.b)/J,(J-yt.t)/J,ct,K.yaxes),B(t),Nt(),F(t)}Tt.prepFn=function(e,r,n){var a=Tt.dragmode,o=t._fullLayout.dragmode;o!==a&&(Tt.dragmode=o),pt(),et||(ft?e.shiftKey?"pan"===o?o="zoom":N(o)||(o="pan"):e.ctrlKey&&(o="pan"):o="pan"),Tt.minDrag="lasso"===o?1:void 0,N(o)?(Tt.xaxes=W,Tt.yaxes=Y,x(e,r,n,Tt,o)):(Tt.clickFn=Et,N(a)&&St(),et||("zoom"===o?(Tt.moveFn=Ct,Tt.doneFn=Lt,Tt.minDrag=1,function(e,r,n){var a=gt.getBoundingClientRect();mt=r-a.left,vt=n-a.top,yt={l:mt,r:mt,w:0,t:vt,b:vt,h:0},xt=t._hmpixcount?t._hmlumcount/t._hmpixcount:i(t._fullLayout.plot_bgcolor).getLuminance(),_t=!1,wt="xy",At=!1,kt=O(ut,xt,X,Z,bt="M0,0H"+$+"V"+J+"H0V0"),Mt=I(ut,X,Z)}(0,r,n)):"pan"===o&&(Tt.moveFn=Bt,Tt.doneFn=Nt)))},d.init(Tt);var zt,Pt,Ot=[0,0,$,J],It=null,Dt=k.REDRAWDELAY,Rt=e.mainplot?t._fullLayout._plots[e.mainplot]:e;function Bt(e,r){if(!t._transitioningWithDuration){if("ew"===Q||"ns"===tt)return Q&&z(W,e),tt&&z(Y,r),jt([Q?-e:0,tt?-r:0,$,J]),void Ft(tt,Q);if(rt&&Q&&tt){var n="w"===Q==("n"===tt)?1:-1,i=(e/$+n*r/J)/2;e=i*$,r=n*i*J}"w"===Q?e=l(W,0,e):"e"===Q?e=l(W,1,-e):Q||(e=0),"n"===tt?r=l(Y,1,r):"s"===tt?r=l(Y,0,-r):tt||(r=0);var a="w"===Q?e:0,o="n"===tt?r:0;if(rt){var s;if(!Q&&1===tt.length){for(s=0;s<W.length;s++)W[s].range=W[s]._r.slice(),w(W[s],1-r/J);a=(e=r*$/J)/2}if(!tt&&1===Q.length){for(s=0;s<Y.length;s++)Y[s].range=Y[s]._r.slice(),w(Y[s],1-e/$);o=(r=e*J/$)/2}}jt([a,o,$-e,J-r]),Ft(tt,Q)}function l(t,e,r){for(var n,i,a=1-e,o=0;o<t.length;o++){var s=t[o];if(!s.fixedrange){n=s,i=s._rl[a]+(s._rl[e]-s._rl[a])/P(r/s._length);var l=s.l2r(i);!1!==l&&void 0!==l&&(s.range[e]=l)}}return n._length*(n._rl[e]-i)/(n._rl[e]-n._rl[a])}}function Ft(e,r){var n,i=[];function a(t){for(n=0;n<t.length;n++)t[n].fixedrange||i.push(t[n]._id)}for(nt&&(a(W),a(K.xaxes)),it&&(a(Y),a(K.yaxes)),ct={},n=0;n<i.length;n++){var s=i[n];v(t,s,!0);var l=y(t,s);ct[l._name+".range[0]"]=l.range[0],ct[l._name+".range[1]"]=l.range[1]}function c(a,o,s){for(n=0;n<a.length;n++){var l=a[n];if((r&&-1!==i.indexOf(l.xref)||e&&-1!==i.indexOf(l.yref))&&(o(t,n),s))return}}c(t._fullLayout.annotations||[],o.getComponentMethod("annotations","drawOne")),c(t._fullLayout.shapes||[],o.getComponentMethod("shapes","drawOne")),c(t._fullLayout.images||[],o.getComponentMethod("images","draw"),!0)}function Nt(){jt([0,0,$,J]),s.syncOrAsync([m.previousPromises,function(){o.call("relayout",t,ct)}],t)}function jt(e){var r,n,i,a,l=t._fullLayout,u=l._plots,h=l._subplots.cartesian;if((st||at)&&c(t),!st||(o.subplotsRegistry.splom.drag(t),!ot)){if(at)for(r=0;r<h.length;r++){i=(n=u[h[r]]).xaxis,a=n.yaxis;var p=n._scene;if(p){var d=s.simpleMap(i.range,i.r2l),g=s.simpleMap(a.range,a.r2l);p.update({range:[d[0],g[0],d[1],g[1]]})}}if(lt){var m=e[2]/R._length,v=e[3]/q._length;for(r=0;r<h.length;r++){i=(n=u[h[r]]).xaxis,a=n.yaxis;var y,x,b,_,w=nt&&!i.fixedrange&&H[i._id],k=it&&!a.fixedrange&&G[a._id];if(w?(y=m,b=S?e[0]:qt(i,y)):b=Ut(i,y=Vt(i,m,v)),k?(x=v,_=T?e[1]:qt(a,x)):_=Ut(a,x=Vt(a,m,v)),y||x){y||(y=1),x||(x=1);var M=i._offset-b/y,A=a._offset-_/x;n.clipRect.call(f.setTranslate,b,_).call(f.setScale,y,x),n.plot.call(f.setTranslate,M,A).call(f.setScale,1/y,1/x),y===zt&&x===Pt||(f.setPointGroupScale(n.zoomScalePts,y,x),f.setTextPointsScale(n.zoomScaleTxt,y,x)),f.hideOutsideRangePoints(n.clipOnAxisFalseTraces,n),zt=y,Pt=x}}}}}function Vt(t,e,r){return t.fixedrange?0:nt&&K.xaHash[t._id]?e:it&&(rt?K.xaHash:K.yaHash)[t._id]?r:0}function Ut(t,e){return e?(t.range=t._r.slice(),w(t,e),qt(t,e)):0}function qt(t,e){return t._length*(1-e)*g[t.constraintoward||"middle"]}return T.length*S.length!=1&&V(gt,function(e){if(t._context.scrollZoom||t._fullLayout._enablescrollzoom){if(St(),t._transitioningWithDuration)return e.preventDefault(),void e.stopPropagation();var r=t.querySelector(".plotly");if(pt(),!(r.scrollHeight-r.clientHeight>10||r.scrollWidth-r.clientWidth>10)){clearTimeout(It);var n=-e.deltaY;if(isFinite(n)||(n=e.wheelDelta/10),isFinite(n)){var i,a=Math.exp(-Math.min(Math.max(n,-20),20)/200),o=Rt.draglayer.select(".nsewdrag").node().getBoundingClientRect(),l=(e.clientX-o.left)/o.width,c=(o.bottom-e.clientY)/o.height;if(nt){for(S||(l=.5),i=0;i<W.length;i++)u(W[i],l,a);Ot[2]*=a,Ot[0]+=Ot[2]*l*(1/a-1)}if(it){for(T||(c=.5),i=0;i<Y.length;i++)u(Y[i],c,a);Ot[3]*=a,Ot[1]+=Ot[3]*(1-c)*(1/a-1)}jt(Ot),Ft(T,S),It=setTimeout(function(){Ot=[0,0,$,J],Nt()},Dt),e.preventDefault()}else s.log("Did not find wheel motion attributes: ",e)}}function u(t,e,r){if(!t.fixedrange){var n=s.simpleMap(t.range,t.r2l),i=n[0]+(n[1]-n[0])*e;t.range=n.map(function(e){return t.l2r(i+(e-i)*r)})}}}),gt},makeDragger:S,makeRectDragger:E,makeZoombox:O,makeCorners:I,updateZoombox:D,xyCorners:j,transitionZoombox:R,removeZoombox:B,showDoubleClickNotifier:F,attachWheelEventHandler:V}},{"../../components/color":567,"../../components/dragelement":589,"../../components/drawing":592,"../../components/fx":609,"../../constants/alignment":665,"../../lib":693,"../../lib/clear_gl_canvases":676,"../../lib/setcursor":714,"../../lib/svg_text_utils":718,"../../registry":825,"../plots":805,"./axes":742,"./axis_ids":745,"./constants":747,"./scale_zoom":758,"./select":759,d3:147,"has-passive-events":392,tinycolor2:511}],751:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/fx"),a=t("../../components/dragelement"),o=t("../../lib/setcursor"),s=t("./dragbox").makeDragBox,l=t("./constants").DRAGGERSIZE;r.initInteractions=function(t){var e=t._fullLayout;if(t._context.staticPlot)n.select(t).selectAll(".drag").remove();else if(e._has("cartesian")||e._has("splom")){Object.keys(e._plots||{}).sort(function(t,r){if((e._plots[t].mainplot&&!0)===(e._plots[r].mainplot&&!0)){var n=t.split("y"),i=r.split("y");return n[0]===i[0]?Number(n[1]||1)-Number(i[1]||1):Number(n[0]||1)-Number(i[0]||1)}return e._plots[t].mainplot?1:-1}).forEach(function(r){var n=e._plots[r],o=n.xaxis,c=n.yaxis;if(!n.mainplot){var u=s(t,n,o._offset,c._offset,o._length,c._length,"ns","ew");u.onmousemove=function(e){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===r&&i.hover(t,e,r)},i.hover(t,e,r),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=r},u.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,a.unhover(t,e))},t._context.showAxisDragHandles&&(s(t,n,o._offset-l,c._offset-l,l,l,"n","w"),s(t,n,o._offset+o._length,c._offset-l,l,l,"n","e"),s(t,n,o._offset-l,c._offset+c._length,l,l,"s","w"),s(t,n,o._offset+o._length,c._offset+c._length,l,l,"s","e"))}if(t._context.showAxisDragHandles){if(r===o._mainSubplot){var f=o._mainLinePosition;"top"===o.side&&(f-=l),s(t,n,o._offset+.1*o._length,f,.8*o._length,l,"","ew"),s(t,n,o._offset,f,.1*o._length,l,"","w"),s(t,n,o._offset+.9*o._length,f,.1*o._length,l,"","e")}if(r===c._mainSubplot){var h=c._mainLinePosition;"right"!==c.side&&(h-=l),s(t,n,h,c._offset+.1*c._length,l,.8*c._length,"ns",""),s(t,n,h,c._offset+.9*c._length,l,.1*c._length,"s",""),s(t,n,h,c._offset,l,.1*c._length,"n","")}}});var o=e._hoverlayer.node();o.onmousemove=function(r){r.target=t._fullLayout._lasthover,i.hover(t,r,e._hoversubplot)},o.onclick=function(e){e.target=t._fullLayout._lasthover,i.click(t,e)},o.onmousedown=function(e){t._fullLayout._lasthover.onmousedown(e)},r.updateFx(t)}},r.updateFx=function(t){var e=t._fullLayout,r="pan"===e.dragmode?"move":"crosshair";o(e._draggers,r)}},{"../../components/dragelement":589,"../../components/fx":609,"../../lib/setcursor":714,"./constants":747,"./dragbox":750,d3:147}],752:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib");e.exports=function(t){return function(e,r){var a=e[t];if(Array.isArray(a))for(var o=n.subplotsRegistry.cartesian,s=o.idRegex,l=r._subplots,c=l.xaxis,u=l.yaxis,f=l.cartesian,h=r._has("cartesian")||r._has("gl2d"),p=0;p<a.length;p++){var d=a[p];if(i.isPlainObject(d)){var g=d.xref,m=d.yref,v=s.x.test(g),y=s.y.test(m);if(v||y){h||i.pushUnique(r._basePlotModules,o);var x=!1;v&&-1===c.indexOf(g)&&(c.push(g),x=!0),y&&-1===u.indexOf(m)&&(u.push(m),x=!0),x&&v&&y&&f.push(g+m)}}}}}},{"../../lib":693,"../../registry":825}],753:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../lib"),o=t("../plots"),s=t("../../components/drawing"),l=t("../get_data").getModuleCalcData,c=t("./axis_ids"),u=t("./constants"),f=t("../../constants/xmlns_namespaces"),h=a.ensureSingle;function p(t,e,r){return a.ensureSingle(t,e,r,function(t){t.datum(r)})}function d(t,e,r,a,o){for(var c,f,h,p=u.traceLayerClasses,d=t._fullLayout,g=d._modules,m=[],v=[],y=0;y<g.length;y++){var x=(c=g[y]).name,b=i.modules[x].categories;if(b.svg){var _=c.layerName||x+"layer",w=c.plot;h=(f=l(r,w))[0],r=f[1],h.length&&m.push({i:p.indexOf(_),className:_,plotMethod:w,cdModule:h}),b.zoomScale&&v.push("."+_)}}m.sort(function(t,e){return t.i-e.i});var k=e.plot.selectAll("g.mlayer").data(m,function(t){return t.className});if(k.enter().append("g").attr("class",function(t){return t.className}).classed("mlayer",!0),k.exit().remove(),k.order(),k.each(function(r){var i=n.select(this),l=r.className;r.plotMethod(t,e,r.cdModule,i,a,o),"scatterlayer"!==l&&"barlayer"!==l&&s.setClipUrl(i,e.layerClipId)}),d._has("scattergl")&&(c=i.getModule("scattergl"),h=l(r,c)[0],c.plot(t,e,h)),!t._context.staticPlot&&(e._hasClipOnAxisFalse&&(e.clipOnAxisFalseTraces=e.plot.selectAll(".scatterlayer, .barlayer").selectAll(".trace")),v.length)){var M=e.plot.selectAll(v.join(",")).selectAll(".trace");e.zoomScalePts=M.selectAll("path.point"),e.zoomScaleTxt=M.selectAll(".textpoint")}}function g(t,e){var r=e.plotgroup,n=e.id,i=u.layerValue2layerClass[e.xaxis.layer],a=u.layerValue2layerClass[e.yaxis.layer],o=t._fullLayout._hasOnlyLargeSploms;if(e.mainplot){var s=e.mainplotinfo,l=s.plotgroup,f=n+"-x",d=n+"-y";e.gridlayer=s.gridlayer,e.zerolinelayer=s.zerolinelayer,h(s.overlinesBelow,"path",f),h(s.overlinesBelow,"path",d),h(s.overaxesBelow,"g",f),h(s.overaxesBelow,"g",d),e.plot=h(s.overplot,"g",n),h(s.overlinesAbove,"path",f),h(s.overlinesAbove,"path",d),h(s.overaxesAbove,"g",f),h(s.overaxesAbove,"g",d),e.xlines=l.select(".overlines-"+i).select("."+f),e.ylines=l.select(".overlines-"+a).select("."+d),e.xaxislayer=l.select(".overaxes-"+i).select("."+f),e.yaxislayer=l.select(".overaxes-"+a).select("."+d)}else if(o)e.plot=h(r,"g","plot"),e.xlines=h(r,"path","xlines-above"),e.ylines=h(r,"path","ylines-above"),e.xaxislayer=h(r,"g","xaxislayer-above"),e.yaxislayer=h(r,"g","yaxislayer-above");else{var g=h(r,"g","layer-subplot");e.shapelayer=h(g,"g","shapelayer"),e.imagelayer=h(g,"g","imagelayer"),e.gridlayer=h(r,"g","gridlayer"),e.zerolinelayer=h(r,"g","zerolinelayer"),h(r,"path","xlines-below"),h(r,"path","ylines-below"),e.overlinesBelow=h(r,"g","overlines-below"),h(r,"g","xaxislayer-below"),h(r,"g","yaxislayer-below"),e.overaxesBelow=h(r,"g","overaxes-below"),e.plot=h(r,"g","plot"),e.overplot=h(r,"g","overplot"),e.xlines=h(r,"path","xlines-above"),e.ylines=h(r,"path","ylines-above"),e.overlinesAbove=h(r,"g","overlines-above"),h(r,"g","xaxislayer-above"),h(r,"g","yaxislayer-above"),e.overaxesAbove=h(r,"g","overaxes-above"),e.xlines=r.select(".xlines-"+i),e.ylines=r.select(".ylines-"+a),e.xaxislayer=r.select(".xaxislayer-"+i),e.yaxislayer=r.select(".yaxislayer-"+a)}o||(p(e.gridlayer,"g",e.xaxis._id),p(e.gridlayer,"g",e.yaxis._id),e.gridlayer.selectAll("g").map(function(t){return t[0]}).sort(c.idSort)),e.xlines.style("fill","none").classed("crisp",!0),e.ylines.style("fill","none").classed("crisp",!0)}function m(t,e){if(t){var r={};for(var i in t.each(function(t){var i=t[0];n.select(this).remove(),v(i,e),r[i]=!0}),e._plots)for(var a=e._plots[i].overlays||[],o=0;o<a.length;o++){var s=a[o];r[s.id]&&s.plot.selectAll(".trace").remove()}}}function v(t,e){e._draggers.selectAll("g."+t).remove(),e._defs.select("#clip"+e._uid+t+"plot").remove()}r.name="cartesian",r.attr=["xaxis","yaxis"],r.idRoot=["x","y"],r.idRegex=u.idRegex,r.attrRegex=u.attrRegex,r.attributes=t("./attributes"),r.layoutAttributes=t("./layout_attributes"),r.supplyLayoutDefaults=t("./layout_defaults"),r.transitionAxes=t("./transition_axes"),r.finalizeSubplots=function(t,e){var r,n,i,o=e._subplots,s=o.xaxis,l=o.yaxis,f=o.cartesian,h=f.concat(o.gl2d||[]),p={},d={};for(r=0;r<h.length;r++){var g=h[r].split("y");p[g[0]]=1,d["y"+g[1]]=1}for(r=0;r<s.length;r++)p[n=s[r]]||(i=(t[c.id2name(n)]||{}).anchor,u.idRegex.y.test(i)||(i="y"),f.push(n+i),h.push(n+i),d[i]||(d[i]=1,a.pushUnique(l,i)));for(r=0;r<l.length;r++)d[i=l[r]]||(n=(t[c.id2name(i)]||{}).anchor,u.idRegex.x.test(n)||(n="x"),f.push(n+i),h.push(n+i),p[n]||(p[n]=1,a.pushUnique(s,n)));if(!h.length){for(var m in n="",i="",t){if(u.attrRegex.test(m))"x"===m.charAt(0)?(!n||+m.substr(5)<+n.substr(5))&&(n=m):(!i||+m.substr(5)<+i.substr(5))&&(i=m)}n=n?c.name2id(n):"x",i=i?c.name2id(i):"y",s.push(n),l.push(i),f.push(n+i)}},r.plot=function(t,e,r,n){var i,a=t._fullLayout,o=a._subplots.cartesian,s=t.calcdata;if(null!==e){if(!Array.isArray(e))for(e=[],i=0;i<s.length;i++)e.push(i);for(i=0;i<o.length;i++){for(var l,c=o[i],u=a._plots[c],f=[],h=0;h<s.length;h++){var p=s[h],g=p[0].trace;g.xaxis+g.yaxis===c&&((-1!==e.indexOf(g.index)||g.carpet)&&(l&&l[0].trace.xaxis+l[0].trace.yaxis===c&&-1!==["tonextx","tonexty","tonext"].indexOf(g.fill)&&-1===f.indexOf(l)&&f.push(l),f.push(p)),l=p)}d(t,u,f,r,n)}}},r.clean=function(t,e,r,n){var i,a,o,s=n._plots||{},l=e._plots||{},u=n._subplots||{};if(n._hasOnlyLargeSploms&&!e._hasOnlyLargeSploms)for(o in s)(i=s[o]).plotgroup&&i.plotgroup.remove();var f=n._has&&n._has("gl"),h=e._has&&e._has("gl");if(f&&!h)for(o in s)(i=s[o])._scene&&i._scene.destroy();if(u.xaxis&&u.yaxis){var p=c.listIds({_fullLayout:n});for(a=0;a<p.length;a++){var d=p[a];e[c.id2name(d)]||n._infolayer.selectAll(".g-"+d+"title").remove()}}var g=n._has&&n._has("cartesian"),y=e._has&&e._has("cartesian");if(g&&!y)m(n._cartesianlayer.selectAll(".subplot"),n),n._defs.selectAll(".axesclip").remove(),delete n._axisConstraintGroups;else if(u.cartesian)for(a=0;a<u.cartesian.length;a++){var x=u.cartesian[a];if(!l[x]){var b="."+x+",."+x+"-x,."+x+"-y";n._cartesianlayer.selectAll(b).remove(),v(x,n)}}},r.drawFramework=function(t){var e=t._fullLayout,r=function(t){var e,r,n,i,a,o,s=t._fullLayout,l=s._subplots.cartesian,c=l.length,u=[],f=[];for(e=0;e<c;e++){n=l[e],i=s._plots[n],a=i.xaxis,o=i.yaxis;var h=a._mainAxis,p=o._mainAxis,d=h._id+p._id,g=s._plots[d];i.overlays=[],d!==n&&g?(i.mainplot=d,i.mainplotinfo=g,f.push(n)):(i.mainplot=void 0,i.mainPlotinfo=void 0,u.push(n))}for(e=0;e<f.length;e++)n=f[e],(i=s._plots[n]).mainplotinfo.overlays.push(i);var m=u.concat(f),v=new Array(c);for(e=0;e<c;e++){n=m[e],i=s._plots[n],a=i.xaxis,o=i.yaxis;var y=[n,a.layer,o.layer,a.overlaying||"",o.overlaying||""];for(r=0;r<i.overlays.length;r++)y.push(i.overlays[r].id);v[e]=y}return v}(t),i=e._cartesianlayer.selectAll(".subplot").data(r,String);i.enter().append("g").attr("class",function(t){return"subplot "+t[0]}),i.order(),i.exit().call(m,e),i.each(function(r){var i=r[0],a=e._plots[i];a.plotgroup=n.select(this),g(t,a),a.draglayer=h(e._draggers,"g",i)})},r.rangePlot=function(t,e,r){g(t,e),d(t,e,r),o.style(t)},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter(function(t,e){return e===r.size()-1}).selectAll(".gl-canvas-context, .gl-canvas-focus").each(function(){var t=this.toDataURL("image/png");e.append("svg:image").attr({xmlns:f.svg,"xlink:href":t,preserveAspectRatio:"none",x:0,y:0,width:this.width,height:this.height})})},r.updateFx=t("./graph_interact").updateFx},{"../../components/drawing":592,"../../constants/xmlns_namespaces":671,"../../lib":693,"../../registry":825,"../get_data":778,"../plots":805,"./attributes":740,"./axis_ids":745,"./constants":747,"./graph_interact":751,"./layout_attributes":754,"./layout_defaults":755,"./transition_axes":764,d3:147}],754:[function(t,e,r){"use strict";var n=t("../font_attributes"),i=t("../../components/color/attributes"),a=t("../../components/drawing/attributes").dash,o=t("../../lib/extend").extendFlat,s=t("../../plot_api/plot_template").templatedArray,l=t("./constants");e.exports={visible:{valType:"boolean",editType:"plot"},color:{valType:"color",dflt:i.defaultLine,editType:"ticks"},title:{valType:"string",editType:"ticks"},titlefont:n({editType:"ticks"}),type:{valType:"enumerated",values:["-","linear","log","date","category"],dflt:"-",editType:"calc",_noTemplating:!0},autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"axrange",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"plot"},range:{valType:"info_array",items:[{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1}}],editType:"axrange",impliedEdits:{autorange:!1}},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},scaleanchor:{valType:"enumerated",values:[l.idRegex.x.toString(),l.idRegex.y.toString()],editType:"plot"},scaleratio:{valType:"number",min:0,dflt:1,editType:"plot"},constrain:{valType:"enumerated",values:["range","domain"],dflt:"range",editType:"plot"},constraintoward:{valType:"enumerated",values:["left","center","right","top","middle","bottom"],editType:"plot"},tickmode:{valType:"enumerated",values:["auto","linear","array"],editType:"ticks",impliedEdits:{tick0:void 0,dtick:void 0}},nticks:{valType:"integer",min:0,dflt:0,editType:"ticks"},tick0:{valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},dtick:{valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},tickvals:{valType:"data_array",editType:"ticks"},ticktext:{valType:"data_array",editType:"ticks"},ticks:{valType:"enumerated",values:["outside","inside",""],editType:"ticks"},mirror:{valType:"enumerated",values:[!0,"ticks",!1,"all","allticks"],dflt:!1,editType:"ticks+layoutstyle"},ticklen:{valType:"number",min:0,dflt:5,editType:"ticks"},tickwidth:{valType:"number",min:0,dflt:1,editType:"ticks"},tickcolor:{valType:"color",dflt:i.defaultLine,editType:"ticks"},showticklabels:{valType:"boolean",dflt:!0,editType:"ticks"},automargin:{valType:"boolean",dflt:!1,editType:"ticks"},showspikes:{valType:"boolean",dflt:!1,editType:"modebar"},spikecolor:{valType:"color",dflt:null,editType:"none"},spikethickness:{valType:"number",dflt:3,editType:"none"},spikedash:o({},a,{dflt:"dash",editType:"none"}),spikemode:{valType:"flaglist",flags:["toaxis","across","marker"],dflt:"toaxis",editType:"none"},spikesnap:{valType:"enumerated",values:["data","cursor"],dflt:"data",editType:"none"},tickfont:n({editType:"ticks"}),tickangle:{valType:"angle",dflt:"auto",editType:"ticks"},tickprefix:{valType:"string",dflt:"",editType:"ticks"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},ticksuffix:{valType:"string",dflt:"",editType:"ticks"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"ticks"},separatethousands:{valType:"boolean",dflt:!1,editType:"ticks"},tickformat:{valType:"string",dflt:"",editType:"ticks"},tickformatstops:s("tickformatstop",{enabled:{valType:"boolean",dflt:!0,editType:"ticks"},dtickrange:{valType:"info_array",items:[{valType:"any",editType:"ticks"},{valType:"any",editType:"ticks"}],editType:"ticks"},value:{valType:"string",dflt:"",editType:"ticks"},editType:"ticks"}),hoverformat:{valType:"string",dflt:"",editType:"none"},showline:{valType:"boolean",dflt:!1,editType:"ticks+layoutstyle"},linecolor:{valType:"color",dflt:i.defaultLine,editType:"layoutstyle"},linewidth:{valType:"number",min:0,dflt:1,editType:"ticks+layoutstyle"},showgrid:{valType:"boolean",editType:"ticks"},gridcolor:{valType:"color",dflt:i.lightLine,editType:"ticks"},gridwidth:{valType:"number",min:0,dflt:1,editType:"ticks"},zeroline:{valType:"boolean",editType:"ticks"},zerolinecolor:{valType:"color",dflt:i.defaultLine,editType:"ticks"},zerolinewidth:{valType:"number",dflt:1,editType:"ticks"},anchor:{valType:"enumerated",values:["free",l.idRegex.x.toString(),l.idRegex.y.toString()],editType:"plot"},side:{valType:"enumerated",values:["top","bottom","left","right"],editType:"plot"},overlaying:{valType:"enumerated",values:["free",l.idRegex.x.toString(),l.idRegex.y.toString()],editType:"plot"},layer:{valType:"enumerated",values:["above traces","below traces"],dflt:"above traces",editType:"plot"},domain:{valType:"info_array",items:[{valType:"number",min:0,max:1,editType:"plot"},{valType:"number",min:0,max:1,editType:"plot"}],dflt:[0,1],editType:"plot"},position:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},editType:"calc",_deprecated:{autotick:{valType:"boolean",editType:"ticks"}}}},{"../../components/color/attributes":566,"../../components/drawing/attributes":591,"../../lib/extend":682,"../../plot_api/plot_template":732,"../font_attributes":768,"./constants":747}],755:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color"),a=t("../../plot_api/plot_template"),o=t("../layout_attributes"),s=t("./layout_attributes"),l=t("./type_defaults"),c=t("./axis_defaults"),u=t("./constraint_defaults"),f=t("./position_defaults"),h=t("./axis_ids"),p=h.id2name,d=h.name2id,g=t("../../registry"),m=g.traceIs,v=g.getComponentMethod;function y(t,e,r){Array.isArray(t[e])?t[e].push(r):t[e]=[r]}e.exports=function(t,e,r){var h,g,x={},b={},_={},w={},k={};for(h=0;h<r.length;h++){var M=r[h];if(m(M,"cartesian")||m(M,"gl2d")){var A,T;if(M.xaxis)y(x,A=p(M.xaxis),M);else if(M.xaxes)for(g=0;g<M.xaxes.length;g++)y(x,p(M.xaxes[g]),M);if(M.yaxis)y(x,T=p(M.yaxis),M);else if(M.yaxes)for(g=0;g<M.yaxes.length;g++)y(x,p(M.yaxes[g]),M);if(m(M,"carpet")&&("carpet"!==M.type||M._cheater)||A&&(_[A]=1),"carpet"===M.type&&M._cheater&&A&&(b[A]=1),m(M,"2dMap")&&(w[A]=1,w[T]=1),m(M,"oriented"))k["h"===M.orientation?T:A]=1}}var S=e._subplots,E=S.xaxis,C=S.yaxis,L=n.simpleMap(E,p),z=n.simpleMap(C,p),P=L.concat(z),O=i.background;E.length&&C.length&&(O=n.coerce(t,e,o,"plot_bgcolor"));var I,D,R,B,F=i.combine(O,e.paper_bgcolor);function N(t,e){return n.coerce(R,B,s,t,e)}function j(t,e){return n.coerce2(R,B,s,t,e)}function V(t){return"x"===t?C:E}var U={x:V("x"),y:V("y")};function q(e,r){for(var n="x"===e?L:z,i=[],a=0;a<n.length;a++){var o=n[a];o===r||(t[o]||{}).overlaying||i.push(d(o))}return i}for(h=0;h<P.length;h++){D=(I=P[h]).charAt(0),n.isPlainObject(t[I])||(t[I]={}),R=t[I],B=a.newContainer(e,I,D+"axis");var H=x[I]||[];B._traceIndices=H.map(function(t){return t._expandedIndex}),B._annIndices=[],B._shapeIndices=[],B._name=I;var G=B._id=d(I),W=q(D,I),Y={letter:D,font:e.font,outerTicks:w[I],showGrid:!k[I],data:H,bgColor:F,calendar:e.calendar,automargin:!0,cheateronly:"x"===D&&b[I]&&!_[I],splomStash:((e._splomAxes||{})[D]||{})[G]};l(R,B,N,Y),c(R,B,N,Y,e);var X=j("spikecolor"),Z=j("spikethickness"),$=j("spikedash"),J=j("spikemode"),K=j("spikesnap");N("showspikes",!!(X||Z||$||J||K))||(delete B.spikecolor,delete B.spikethickness,delete B.spikedash,delete B.spikemode,delete B.spikesnap);var Q={letter:D,counterAxes:U[D],overlayableAxes:W,grid:e.grid};f(R,B,N,Q),B._input=R}var tt=v("rangeslider","handleDefaults"),et=v("rangeselector","handleDefaults");for(h=0;h<L.length;h++)I=L[h],R=t[I],B=e[I],tt(t,e,I),"date"===B.type&&et(R,B,e,z,B.calendar),N("fixedrange");for(h=0;h<z.length;h++){I=z[h],R=t[I],B=e[I];var rt=e[p(B.anchor)];N("fixedrange",rt&&rt.rangeslider&&rt.rangeslider.visible)}e._axisConstraintGroups=[];var nt=U.x.concat(U.y);for(h=0;h<P.length;h++)D=(I=P[h]).charAt(0),R=t[I],B=e[I],u(R,B,N,nt,e)}},{"../../components/color":567,"../../lib":693,"../../plot_api/plot_template":732,"../../registry":825,"../layout_attributes":796,"./axis_defaults":744,"./axis_ids":745,"./constraint_defaults":748,"./layout_attributes":754,"./position_defaults":757,"./type_defaults":765}],756:[function(t,e,r){"use strict";var n=t("tinycolor2").mix,i=t("../../components/color/attributes").lightFraction,a=t("../../lib");e.exports=function(t,e,r,o){var s=(o=o||{}).dfltColor;function l(r,n){return a.coerce2(t,e,o.attributes,r,n)}var c=l("linecolor",s),u=l("linewidth");r("showline",o.showLine||!!c||!!u)||(delete e.linecolor,delete e.linewidth);var f=l("gridcolor",n(s,o.bgColor,o.blend||i).toRgbString()),h=l("gridwidth");if(r("showgrid",o.showGrid||!!f||!!h)||(delete e.gridcolor,delete e.gridwidth),!o.noZeroLine){var p=l("zerolinecolor",s),d=l("zerolinewidth");r("zeroline",o.showGrid||!!p||!!d)||(delete e.zerolinecolor,delete e.zerolinewidth)}}},{"../../components/color/attributes":566,"../../lib":693,tinycolor2:511}],757:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib");e.exports=function(t,e,r,a){var o,s,l,c,u=a.counterAxes||[],f=a.overlayableAxes||[],h=a.letter,p=a.grid;p&&(s=p._domains[h][p._axisMap[e._id]],o=p._anchors[e._id],s&&(l=p[h+"side"].split(" ")[0],c=p.domain[h]["right"===l||"top"===l?1:0])),s=s||[0,1],o=o||(n(t.position)?"free":u[0]||"free"),l=l||("x"===h?"bottom":"left"),c=c||0,"free"===i.coerce(t,e,{anchor:{valType:"enumerated",values:["free"].concat(u),dflt:o}},"anchor")&&r("position",c),i.coerce(t,e,{side:{valType:"enumerated",values:"x"===h?["bottom","top"]:["left","right"],dflt:l}},"side");var d=!1;if(f.length&&(d=i.coerce(t,e,{overlaying:{valType:"enumerated",values:[!1].concat(f),dflt:!1}},"overlaying")),!d){var g=r("domain",s);g[0]>g[1]-.01&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s)}return r("layer"),e}},{"../../lib":693,"fast-isnumeric":213}],758:[function(t,e,r){"use strict";var n=t("../../constants/alignment").FROM_BL;e.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)]}},{"../../constants/alignment":665}],759:[function(t,e,r){"use strict";var n=t("polybooljs"),i=t("../../registry"),a=t("../../components/color"),o=t("../../components/fx"),s=t("../../lib/polygon"),l=t("../../lib/throttle"),c=t("../../components/fx/helpers").makeEventData,u=t("./axis_ids").getFromId,f=t("../sort_modules").sortModules,h=t("./constants"),p=h.MINSELECT,d=s.filter,g=s.tester;function m(t){return t._id}function v(t,e,r,n,i,a,o){var s,l,c,u,f,h,p,d,g,m=e._hoverdata,v=e._fullLayout.clickmode.indexOf("event")>-1,y=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(m)){_(t,e,a);var x=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n<e.length;n++)if(r=e[n],i.fullData._expandedIndex===r.cd[0].trace._expandedIndex){if(!0===i.hoverOnBox)break;void 0!==i.pointNumber?a=i.pointNumber:void 0!==i.binNumber&&(a=i.binNumber,o=i.pointNumbers);break}return{pointNumber:a,pointNumbers:o,searchInfo:r}}(m,s=k(e,r,n,i));if(x.pointNumbers.length>0?function(t,e){var r,n,i,a=[];for(i=0;i<t.length;i++)(r=t[i]).cd[0].trace.selectedpoints&&r.cd[0].trace.selectedpoints.length>0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i<e.pointNumbers.length;i++)if(n.selectedpoints.indexOf(e.pointNumbers[i])<0)return!1;return!0}return!1}(s,x):function(t){var e,r,n,i=0;for(n=0;n<t.length;n++)if(e=t[n],(r=e.cd[0].trace).selectedpoints){if(r.selectedpoints.length>1)return!1;if((i+=r.selectedpoints.length)>1)return!1}return 1===i}(s)&&(h=A(x))){for(o&&o.remove(),g=0;g<s.length;g++)(l=s[g])._module.selectPoints(l,!1);T(e,s),w(a),v&&e.emit("plotly_deselect",null)}else{for(p=t.shiftKey&&(void 0!==h?h:A(x)),c=function(t,e,r){return{pointNumber:t,searchInfo:e,subtract:r}}(x.pointNumber,x.searchInfo,p),u=b(a.selectionDefs.concat([c])),g=0;g<s.length;g++)if(f=S(s[g]._module.selectPoints(s[g],u),s[g]),y.length)for(var E=0;E<f.length;E++)y.push(f[E]);else y=f;T(e,s,d={points:y}),c&&a&&a.selectionDefs.push(c),o&&M(a.mergedPolygons,o),v&&e.emit("plotly_selected",d)}}}function y(t){return"pointNumber"in t&&"searchInfo"in t}function x(t){return{xmin:0,xmax:0,ymin:0,ymax:0,pts:[],contains:function(e,r,n,i){var a=t.searchInfo.cd[0].trace._expandedIndex;return i.cd[0].trace._expandedIndex===a&&n===t.pointNumber},isRect:!1,degenerate:!1,subtract:t.subtract}}function b(t){for(var e=[],r=y(t[0])?0:t[0][0][0],n=r,i=y(t[0])?0:t[0][0][1],a=i,o=0;o<t.length;o++)if(y(t[o]))e.push(x(t[o]));else{var l=s.tester(t[o]);l.subtract=t[o].subtract,e.push(l),r=Math.min(r,l.xmin),n=Math.max(n,l.xmax),i=Math.min(i,l.ymin),a=Math.max(a,l.ymax)}return{xmin:r,xmax:n,ymin:i,ymax:a,pts:[],contains:function(t,r,n,i){for(var a=!1,o=0;o<e.length;o++)e[o].contains(t,r,n,i)&&(a=!1===e[o].subtract);return a},isRect:!1,degenerate:!1}}function _(t,e,r){var n=e._fullLayout,i=n._zoomlayer,a=r.plotinfo,o=n._lastSelectedSubplot&&n._lastSelectedSubplot===a.id,s=t.shiftKey||t.altKey;o&&s&&a.selection&&a.selection.selectionDefs&&!r.selectionDefs?(r.selectionDefs=a.selection.selectionDefs,r.mergedPolygons=a.selection.mergedPolygons):s&&a.selection||w(r),o||(E(i),n._lastSelectedSubplot=a.id)}function w(t){var e=t.plotinfo;e.selection={},e.selection.selectionDefs=t.selectionDefs=[],e.selection.mergedPolygons=t.mergedPolygons=[]}function k(t,e,r,n){var i,a,o,s=[],l=e.map(m),c=r.map(m);for(o=0;o<t.calcdata.length;o++)if(!0===(a=(i=t.calcdata[o])[0].trace).visible&&a._module&&a._module.selectPoints)if(!n||a.subplot!==n&&a.geo!==n)if("splom"===a.type&&a._xaxes[l[0]]&&a._yaxes[c[0]])s.push(f(a._module,i,e[0],r[0]));else{if(-1===l.indexOf(a.xaxis))continue;if(-1===c.indexOf(a.yaxis))continue;s.push(f(a._module,i,u(t,a.xaxis),u(t,a.yaxis)))}else s.push(f(a._module,i,e[0],r[0]));return s;function f(t,e,r,n){return{_module:t,cd:e,xaxis:r,yaxis:n}}}function M(t,e){var r,n,i=[];for(r=0;r<t.length;r++){var a=t[r];i.push(a.join("L")+"L"+a[0])}n=t.length>0?"M"+i.join("M")+"Z":"M0,0Z",e.attr("d",n)}function A(t){var e=t.searchInfo.cd[0].trace,r=t.pointNumber,n=t.pointNumbers,i=n.length>0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function T(t,e,r){var n,a,o,s;if(r){var l=r.points||[];for(n=0;n<e.length;n++)(s=e[n].cd[0].trace).selectedpoints=[],s._input.selectedpoints=[];for(n=0;n<l.length;n++){var c=l[n],u=c.data,h=c.fullData;c.pointIndices?([].push.apply(u.selectedpoints,c.pointIndices),[].push.apply(h.selectedpoints,c.pointIndices)):(u.selectedpoints.push(c.pointIndex),h.selectedpoints.push(c.pointIndex))}}else for(n=0;n<e.length;n++)delete(s=e[n].cd[0].trace).selectedpoints,delete s._input.selectedpoints;var p={};for(n=0;n<e.length;n++){var d=(o=e[n])._module.name;p[d]?p[d].push(o):p[d]=[o]}var g=Object.keys(p).sort(f);for(n=0;n<g.length;n++){var m=p[g[n]],v=m.length,y=m[0],x=y.cd[0].trace,b=y._module,_=b.styleOnSelect||b.style;if(i.traceIs(x,"regl")){var w=new Array(v);for(a=0;a<v;a++)w[a]=m[a].cd;_(t,w)}else for(a=0;a<v;a++)_(t,m[a].cd)}}function S(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,i=0;i<t.length;i++)t[i]=c(t[i],n,r);return t}function E(t){t.selectAll(".select-outline").remove()}e.exports={prepSelect:function(t,e,r,i,s){var c,u,f,m,y,x,A,E=i.gd,C=E._fullLayout,L=C._zoomlayer,z=i.element.getBoundingClientRect(),P=i.plotinfo,O=P.xaxis._offset,I=P.yaxis._offset,D=e-z.left,R=r-z.top,B=D,F=R,N="M"+D+","+R,j=i.xaxes[0]._length,V=i.yaxes[0]._length,U=i.xaxes.concat(i.yaxes),q=t.altKey;_(t,E,i),"lasso"===s&&(c=d([[D,R]],h.BENDPX));var H=L.selectAll("path.select-outline-"+P.id).data([1,2]);H.enter().append("path").attr("class",function(t){return"select-outline select-outline-"+t+" select-outline-"+P.id}).attr("transform","translate("+O+", "+I+")").attr("d",N+"Z");var G,W=L.append("path").attr("class","zoombox-corners").style({fill:a.background,stroke:a.defaultLine,"stroke-width":1}).attr("transform","translate("+O+", "+I+")").attr("d","M0,0Z"),Y=C._uid+h.SELECTID,X=[],Z=k(E,i.xaxes,i.yaxes,i.subplot);function $(t){var e="y"===t._id.charAt(0)?1:0;return function(r){return t.p2d(r[e])}}function J(t,e){return t-e}G=P.fillRangeItems?P.fillRangeItems:"select"===s?function(t,e){var r=t.range={};for(y=0;y<U.length;y++){var n=U[y],i=n._id.charAt(0);r[n._id]=[n.p2d(e[i+"min"]),n.p2d(e[i+"max"])].sort(J)}}:function(t,e,r){var n=t.lassoPoints={};for(y=0;y<U.length;y++){var i=U[y];n[i._id]=r.filtered.map($(i))}},i.moveFn=function(t,e){B=Math.max(0,Math.min(j,t+D)),F=Math.max(0,Math.min(V,e+R));var r=Math.abs(B-D),a=Math.abs(F-R);if("select"===s){var o=C.selectdirection;"h"===(o="any"===C.selectdirection?a<Math.min(.6*r,p)?"h":r<Math.min(.6*a,p)?"v":"d":C.selectdirection)?((m=[[D,0],[D,V],[B,V],[B,0]]).xmin=Math.min(D,B),m.xmax=Math.max(D,B),m.ymin=Math.min(0,V),m.ymax=Math.max(0,V),W.attr("d","M"+m.xmin+","+(R-p)+"h-4v"+2*p+"h4ZM"+(m.xmax-1)+","+(R-p)+"h4v"+2*p+"h-4Z")):"v"===o?((m=[[0,R],[0,F],[j,F],[j,R]]).xmin=Math.min(0,j),m.xmax=Math.max(0,j),m.ymin=Math.min(R,F),m.ymax=Math.max(R,F),W.attr("d","M"+(D-p)+","+m.ymin+"v-4h"+2*p+"v4ZM"+(D-p)+","+(m.ymax-1)+"v4h"+2*p+"v-4Z")):"d"===o&&((m=[[D,R],[D,F],[B,F],[B,R]]).xmin=Math.min(D,B),m.xmax=Math.max(D,B),m.ymin=Math.min(R,F),m.ymax=Math.max(R,F),W.attr("d","M0,0Z"))}else"lasso"===s&&(c.addPt([B,F]),m=c.filtered);i.selectionDefs&&i.selectionDefs.length?(f=function(t,e,r){return r?n.difference({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions:n.union({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions}(i.mergedPolygons,m,q),m.subtract=q,u=b(i.selectionDefs.concat([m]))):(f=[m],u=g(m)),M(f,H),l.throttle(Y,h.SELECTDELAY,function(){X=[];var t,e,r=[];for(y=0;y<Z.length;y++)if(e=(x=Z[y])._module.selectPoints(x,u),r.push(e),t=S(e,x),X.length)for(var n=0;n<t.length;n++)X.push(t[n]);else X=t;T(E,Z,A={points:X}),G(A,m,c),i.gd.emit("plotly_selecting",A)})},i.clickFn=function(t,e){var r=C.clickmode;W.remove(),l.done(Y).then(function(){if(l.clear(Y),2===t){for(H.remove(),y=0;y<Z.length;y++)(x=Z[y])._module.selectPoints(x,!1);T(E,Z),w(i),E.emit("plotly_deselect",null)}else r.indexOf("select")>-1&&v(e,E,i.xaxes,i.yaxes,i.subplot,i,H),"event"===r&&E.emit("plotly_selected",void 0);o.click(E,e)})},i.doneFn=function(){W.remove(),l.done(Y).then(function(){l.clear(Y),i.gd.emit("plotly_selected",A),m&&i.selectionDefs&&(m.subtract=q,i.selectionDefs.push(m),i.mergedPolygons.length=0,[].push.apply(i.mergedPolygons,f))})}},clearSelect:E,selectOnClick:v}},{"../../components/color":567,"../../components/fx":609,"../../components/fx/helpers":606,"../../lib/polygon":706,"../../lib/throttle":719,"../../registry":825,"../sort_modules":819,"./axis_ids":745,"./constants":747,polybooljs:453}],760:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../lib"),o=a.cleanNumber,s=a.ms2DateTime,l=a.dateTime2ms,c=a.ensureNumber,u=t("../../constants/numerical"),f=u.FP_SAFE,h=u.BADNUM,p=u.LOG_CLIP,d=t("./constants"),g=t("./axis_ids");function m(t){return Math.pow(10,t)}e.exports=function(t,e){e=e||{};var r=(t._id||"x").charAt(0);function u(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*p*Math.abs(n-i))}return h}function v(e,r,n){var o=l(e,n||t.calendar);if(o===h){if(!i(e))return h;e=+e;var s=Math.floor(10*a.mod(e+.05,1)),c=Math.round(e-s/10);o=l(new Date(c))+s/10}return o}function y(e,r,n){return s(e,r,n||t.calendar)}function x(e){return t._categories[Math.round(e)]}function b(e){if(t._categoriesMap){var r=t._categoriesMap[e];if(void 0!==r)return r}if(i(e))return+e}function _(e){return i(e)?n.round(t._b+t._m*e,2):h}function w(e){return(e-t._b)/t._m}t.c2l="log"===t.type?u:c,t.l2c="log"===t.type?m:c,t.l2p=_,t.p2l=w,t.c2p="log"===t.type?function(t,e){return _(u(t,e))}:_,t.p2c="log"===t.type?function(t){return m(w(t))}:w,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=c,t.d2p=t.r2p=function(e){return t.l2p(o(e))},t.p2d=t.p2r=w,t.cleanPos=c):"log"===t.type?(t.d2r=t.d2l=function(t,e){return u(o(t),e)},t.r2d=t.r2c=function(t){return m(o(t))},t.d2c=t.r2l=o,t.c2d=t.l2r=c,t.c2r=u,t.l2d=m,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return m(w(t))},t.r2p=function(e){return t.l2p(o(e))},t.p2r=w,t.cleanPos=c):"date"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=v,t.c2d=t.c2r=t.l2d=t.l2r=y,t.d2p=t.r2p=function(e,r,n){return t.l2p(v(e,0,n))},t.p2d=t.p2r=function(t,e,r){return y(w(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,h,t.calendar)}):"category"===t.type&&(t.d2c=t.d2l=function(e){if(null!=e){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return h},t.r2d=t.c2d=t.l2d=x,t.d2r=t.d2l_noadd=b,t.r2c=function(e){var r=b(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=c,t.r2l=b,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return x(w(t))},t.r2p=t.d2p,t.p2r=w,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:c(t)}),t.fraction2r=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return t.l2r(r+e*(n-r))},t.r2fraction=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return(t.r2l(e)-r)/(n-r)},t.cleanRange=function(e,n){n||(n={}),e||(e="range");var o,s,l=a.nestedProperty(t,e).get();if(s=(s="date"===t.type?a.dfltRange(t.calendar):"y"===r?d.DFLTRANGEY:n.dfltRange||d.DFLTRANGEX).slice(),l&&2===l.length)for("date"===t.type&&(l[0]=a.cleanDate(l[0],h,t.calendar),l[1]=a.cleanDate(l[1],h,t.calendar)),o=0;o<2;o++)if("date"===t.type){if(!a.isDateTime(l[o],t.calendar)){t[e]=s;break}if(t.r2l(l[0])===t.r2l(l[1])){var c=a.constrain(t.r2l(l[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);l[0]=t.l2r(c-1e3),l[1]=t.l2r(c+1e3);break}}else{if(!i(l[o])){if(!i(l[1-o])){t[e]=s;break}l[o]=l[1-o]*(o?10:.1)}if(l[o]<-f?l[o]=-f:l[o]>f&&(l[o]=f),l[0]===l[1]){var u=Math.max(1,Math.abs(1e-6*l[0]));l[0]-=u,l[1]+=u}}else a.nestedProperty(t,e).set(s)},t.setScale=function(n){var i=e._size;if(t._categories||(t._categories=[]),t._categoriesMap||(t._categoriesMap={}),t.overlaying){var a=g.getFromId({_fullLayout:e},t.overlaying);t.domain=a.domain}var o=n&&t._r?"_r":"range",s=t.calendar;t.cleanRange(o);var l=t.r2l(t[o][0],s),c=t.r2l(t[o][1],s);if("y"===r?(t._offset=i.t+(1-t.domain[1])*i.h,t._length=i.h*(t.domain[1]-t.domain[0]),t._m=t._length/(l-c),t._b=-t._m*c):(t._offset=i.l+t.domain[0]*i.w,t._length=i.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-l),t._b=-t._m*l),!isFinite(t._m)||!isFinite(t._b))throw e._replotting=!1,new Error("Something went wrong with axis scaling")},t.makeCalcdata=function(e,r){var n,i,o,s,l=t.type,c="date"===l&&e[r+"calendar"];if(r in e){if(n=e[r],s=e._length||n.length,a.isTypedArray(n)&&("linear"===l||"log"===l)){if(s===n.length)return n;if(n.subarray)return n.subarray(0,s)}for(i=new Array(s),o=0;o<s;o++)i[o]=t.d2c(n[o],0,c)}else{var u=r+"0"in e?t.d2c(e[r+"0"],0,c):0,f=e["d"+r]?Number(e["d"+r]):1;for(n=e[{x:"y",y:"x"}[r]],s=e._length||n.length,i=new Array(s),o=0;o<s;o++)i[o]=u+o*f}return i},t.isValidRange=function(e){return Array.isArray(e)&&2===e.length&&i(t.r2l(e[0]))&&i(t.r2l(e[1]))},t.isPtWithinRange=function(e,n){var i=t.c2l(e[r],null,n),a=t.r2l(t.range[0]),o=t.r2l(t.range[1]);return a<o?a<=i&&i<=o:o<=i&&i<=a},t.clearCalc=function(){t._categories=(t._initialCategories||[]).slice(),t._categoriesMap={};for(var e=0;e<t._categories.length;e++)t._categoriesMap[t._categories[e]]=e};var k=e._d3locale;"date"===t.type&&(t._dateFormat=k?k.timeFormat.utc:n.time.format.utc,t._extraFormat=e._extraFormat),t._separators=e.separators,t._numFormat=k?k.numberFormat:n.format,delete t._minDtick,delete t._forceTick0}},{"../../constants/numerical":670,"../../lib":693,"./axis_ids":745,"./constants":747,d3:147,"fast-isnumeric":213}],761:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes"),a=t("../array_container_defaults");function o(t,e){function r(r,a){return n.coerce(t,e,i.tickformatstops,r,a)}r("enabled")&&(r("dtickrange"),r("value"))}e.exports=function(t,e,r,s,l){var c=function(t){var e=["showexponent","showtickprefix","showticksuffix"].filter(function(e){return void 0!==t[e]});if(e.every(function(r){return t[r]===t[e[0]]})||1===e.length)return t[e[0]]}(t);if(r("tickprefix")&&r("showtickprefix",c),r("ticksuffix",l.tickSuffixDflt)&&r("showticksuffix",c),r("showticklabels")){var u=l.font||{},f=e.color,h=f&&f!==i.color.dflt?f:u.color;if(n.coerceFont(r,"tickfont",{family:u.family,size:u.size,color:h}),r("tickangle"),"category"!==s){var p=r("tickformat"),d=t.tickformatstops;Array.isArray(d)&&d.length&&a(t,e,{name:"tickformatstops",inclusionAttr:"enabled",handleItemDefaults:o}),p||"date"===s||(r("showexponent",c),r("exponentformat"),r("separatethousands"))}}}},{"../../lib":693,"../array_container_defaults":738,"./layout_attributes":754}],762:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e,r,a){var o=n.coerce2(t,e,i,"ticklen"),s=n.coerce2(t,e,i,"tickwidth"),l=n.coerce2(t,e,i,"tickcolor",e.color);r("ticks",a.outerTicks||o||s||l?"outside":"")||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)}},{"../../lib":693,"./layout_attributes":754}],763:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../constants/numerical").ONEDAY;e.exports=function(t,e,r,o){var s;"array"!==t.tickmode||"log"!==o&&"date"!==o?s=r("tickmode",Array.isArray(t.tickvals)?"array":t.dtick?"linear":"auto"):s=e.tickmode="auto";if("auto"===s)r("nticks");else if("linear"===s){var l="date"===o?a:1,c=r("dtick",l);if(n(c))e.dtick=c>0?Number(c):l;else if("string"!=typeof c)e.dtick=l;else{var u=c.charAt(0),f=c.substr(1);((f=n(f)?Number(f):0)<=0||!("date"===o&&"M"===u&&f===Math.round(f)||"log"===o&&"L"===u||"log"===o&&"D"===u&&(1===f||2===f)))&&(e.dtick=l)}var h="date"===o?i.dateTick0(e.calendar):0,p=r("tick0",h);"date"===o?e.tick0=i.cleanDate(p,h):n(p)&&"D1"!==c&&"D2"!==c?e.tick0=Number(p):e.tick0=h}else{void 0===r("tickvals")?e.tickmode="auto":r("ticktext")}}},{"../../constants/numerical":670,"../../lib":693,"fast-isnumeric":213}],764:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../components/drawing"),o=t("./axes"),s=t("./constants").attrRegex;e.exports=function(t,e,r,l){var c=t._fullLayout,u=[];var f,h,p,d,g=function(t){var e,r,n,i,a={};for(e in t)if((r=e.split("."))[0].match(s)){var o=e.charAt(0),l=r[0];if(n=c[l],i={},Array.isArray(t[e])?i.to=t[e].slice(0):Array.isArray(t[e].range)&&(i.to=t[e].range.slice(0)),!i.to)continue;i.axisName=l,i.length=n._length,u.push(o),a[o]=i}return a}(e),m=Object.keys(g),v=function(t,e,r){var n,i,a,o=t._plots,s=[];for(n in o){var l=o[n];if(-1===s.indexOf(l)){var c=l.xaxis._id,u=l.yaxis._id,f=l.xaxis.range,h=l.yaxis.range;l.xaxis._r=l.xaxis.range.slice(),l.yaxis._r=l.yaxis.range.slice(),i=r[c]?r[c].to:f,a=r[u]?r[u].to:h,f[0]===i[0]&&f[1]===i[1]&&h[0]===a[0]&&h[1]===a[1]||-1===e.indexOf(c)&&-1===e.indexOf(u)||s.push(l)}}return s}(c,m,g);if(!v.length)return function(){function e(e,r,n){for(var i=0;i<e.length;i++)if(r(t,i),n)return}e(c.annotations||[],i.getComponentMethod("annotations","drawOne")),e(c.shapes||[],i.getComponentMethod("shapes","drawOne")),e(c.images||[],i.getComponentMethod("images","draw"),!0)}(),!1;function y(t){var e=t.xaxis,r=t.yaxis;c._defs.select("#"+t.clipId+"> rect").call(a.setTranslate,0,0).call(a.setScale,1,1),t.plot.call(a.setTranslate,e._offset,r._offset).call(a.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(a.setPointGroupScale,1,1),n.selectAll(".textpoint").call(a.setTextPointsScale,1,1),n.call(a.hideOutsideRangePoints,t)}function x(e,r){var n,s,l,u=g[e.xaxis._id],f=g[e.yaxis._id],h=[];if(u){s=(n=t._fullLayout[u.axisName])._r,l=u.to,h[0]=(s[0]*(1-r)+r*l[0]-s[0])/(s[1]-s[0])*e.xaxis._length;var p=s[1]-s[0],d=l[1]-l[0];n.range[0]=s[0]*(1-r)+r*l[0],n.range[1]=s[1]*(1-r)+r*l[1],h[2]=e.xaxis._length*(1-r+r*d/p)}else h[0]=0,h[2]=e.xaxis._length;if(f){s=(n=t._fullLayout[f.axisName])._r,l=f.to,h[1]=(s[1]*(1-r)+r*l[1]-s[1])/(s[0]-s[1])*e.yaxis._length;var m=s[1]-s[0],v=l[1]-l[0];n.range[0]=s[0]*(1-r)+r*l[0],n.range[1]=s[1]*(1-r)+r*l[1],h[3]=e.yaxis._length*(1-r+r*v/m)}else h[1]=0,h[3]=e.yaxis._length;!function(e,r){var n,a=[];for(a=[e._id,r._id],n=0;n<a.length;n++)o.doTicksSingle(t,a[n],!0);function s(e,r,i){for(n=0;n<e.length;n++){var o=e[n];if(-1===a.indexOf(o.xref)&&-1===a.indexOf(o.yref)||r(t,n),i)return}}s(c.annotations||[],i.getComponentMethod("annotations","drawOne")),s(c.shapes||[],i.getComponentMethod("shapes","drawOne")),s(c.images||[],i.getComponentMethod("images","draw"),!0)}(e.xaxis,e.yaxis);var y=e.xaxis,x=e.yaxis,b=!!u,_=!!f,w=b?y._length/h[2]:1,k=_?x._length/h[3]:1,M=b?h[0]:0,A=_?h[1]:0,T=b?h[0]/h[2]*y._length:0,S=_?h[1]/h[3]*x._length:0,E=y._offset-T,C=x._offset-S;e.clipRect.call(a.setTranslate,M,A).call(a.setScale,1/w,1/k),e.plot.call(a.setTranslate,E,C).call(a.setScale,w,k),a.setPointGroupScale(e.zoomScalePts,1/w,1/k),a.setTextPointsScale(e.zoomScaleTxt,1/w,1/k)}l&&(f=l());var b=n.ease(r.easing);return t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(d),d=null,function(){for(var e={},r=0;r<m.length;r++){var n=t._fullLayout[m[r]+"axis"];e[n._name+".range[0]"]=n.range[0],e[n._name+".range[1]"]=n.range[1],n.range=n._r.slice()}return i.call("relayout",t,e).then(function(){for(var t=0;t<v.length;t++)y(v[t])})}()}),h=Date.now(),d=window.requestAnimationFrame(function e(){p=Date.now();for(var n=Math.min(1,(p-h)/r.duration),a=b(n),o=0;o<v.length;o++)x(v[o],a);p-h>r.duration?(function(){for(var e={},r=0;r<m.length;r++){var n=t._fullLayout[g[m[r]].axisName],a=g[m[r]].to;e[n._name+".range[0]"]=a[0],e[n._name+".range[1]"]=a[1],n.range=a.slice()}f&&f(),i.call("relayout",t,e).then(function(){for(var t=0;t<v.length;t++)y(v[t])})}(),d=window.cancelAnimationFrame(e)):d=window.requestAnimationFrame(e)}),Promise.resolve()}},{"../../components/drawing":592,"../../registry":825,"./axes":742,"./constants":747,d3:147}],765:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("./axis_autotype");function a(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=a(t),i=n.traceIs(t,"box-violin"),o=n.traceIs(t._fullInput||{},"candlestick");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}e.exports=function(t,e,r,s){"-"===r("type",(s.splomStash||{}).type)&&(!function(t,e){if("-"!==t.type)return;var r=t._id,s=r.charAt(0);-1!==r.indexOf("scene")&&(r=s);var l=function(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];if("splom"===i.type&&i._length>0&&(i["_"+r+"axes"]||{})[e])return i;if((i[r+"axis"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(e,r,s);if(!l)return;if("histogram"===l.type&&s==={v:"y",h:"x"}[l.orientation||"v"])return void(t.type="linear");var c,u=s+"calendar",f=l[u];if(o(l,s)){var h=a(l),p=[];for(c=0;c<e.length;c++){var d=e[c];n.traceIs(d,"box-violin")&&(d[s+"axis"]||s)===r&&(void 0!==d[h]?p.push(d[h][0]):void 0!==d.name?p.push(d.name):p.push("text"),d[u]!==f&&(f=void 0))}t.type=i(p,f)}else if("splom"===l.type){var g=l.dimensions,m=l._diag;for(c=0;c<g.length;c++){var v=g[c];if(v.visible&&(m[c][0]===r||m[c][1]===r)){t.type=i(v.values,f);break}}}else t.type=i(l[s]||[l[s+"0"]],f)}(e,s.data),"-"===e.type?e.type="linear":t.type=e.type)}},{"../../registry":825,"./axis_autotype":743}],766:[function(t,e,r){"use strict";var n=t("../registry"),i=t("../lib");function a(t,e,r){var n,a,o,s=!1;if("data"===e.type)n=t._fullData[null!==e.traces?e.traces[0]:0];else{if("layout"!==e.type)return!1;n=t._fullLayout}return a=i.nestedProperty(n,e.prop).get(),(o=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&&o[e.prop]!==a&&(s=!0),o[e.prop]=a,{changed:s,value:a}}function o(t,e){var r=[],n=e[0],a={};if("string"==typeof n)a[n]=e[1];else{if(!i.isPlainObject(n))return r;a=n}return l(a,function(t,e,n){r.push({type:"layout",prop:t,value:n})},"",0),r}function s(t,e){var r,n,a,o,s=[];if(n=e[0],a=e[1],r=e[2],o={},"string"==typeof n)o[n]=a;else{if(!i.isPlainObject(n))return s;o=n,void 0===r&&(r=a)}return void 0===r&&(r=null),l(o,function(e,n,i){var a;if(Array.isArray(i)){var o=Math.min(i.length,t.data.length);r&&(o=Math.min(o,r.length)),a=[];for(var l=0;l<o;l++)a[l]=r?r[l]:l}else a=r?r.slice(0):null;if(null===a)Array.isArray(i)&&(i=i[0]);else if(Array.isArray(a)){if(!Array.isArray(i)){var c=i;i=[];for(var u=0;u<a.length;u++)i[u]=c}i.length=Math.min(a.length,i.length)}s.push({type:"data",prop:e,traces:a,value:i})},"",0),s}function l(t,e,r,n){Object.keys(t).forEach(function(a){var o=t[a];if("_"!==a[0]){var s=r+(n>0?".":"")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}})}r.manageCommandObserver=function(t,e,n,o){var s={},l=!0;e&&e._commandObserver&&(s=e._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(e&&e._commandObserver){if(c)return s;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,s}if(c){a(t,c,s.cache),s.check=function(){if(l){var e=a(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],f=0;f<u.length;f++)t._internalOn(u[f],s.check);s.remove=function(){for(var e=0;e<u.length;e++)t._removeInternalListener(u[e],s.check)}}else i.log("Unable to automatically bind plot updates to API command"),s.lookupTable={},s.remove=function(){};return s.disable=function(){l=!1},s.enable=function(){l=!0},e&&(e._commandObserver=s),s},r.hasSimpleAPICommandBindings=function(t,e,n){var i,a,o=e.length;for(i=0;i<o;i++){var s,l=e[i],c=l.method,u=l.args;if(Array.isArray(u)||(u=[]),!c)return!1;var f=r.computeAPICommandBindings(t,c,u);if(1!==f.length)return!1;if(a){if((s=f[0]).type!==a.type)return!1;if(s.prop!==a.prop)return!1;if(Array.isArray(a.traces)){if(!Array.isArray(s.traces))return!1;s.traces.sort();for(var h=0;h<a.traces.length;h++)if(a.traces[h]!==s.traces[h])return!1}else if(s.prop!==a.prop)return!1}else a=f[0],Array.isArray(a.traces)&&a.traces.sort();var p=(s=f[0]).value;if(Array.isArray(p)){if(1!==p.length)return!1;p=p[0]}n&&(n[p]=i)}return a},r.executeAPICommand=function(t,e,r){if("skip"===e)return Promise.resolve();var a=n.apiMethodRegistry[e],o=[t];Array.isArray(r)||(r=[]);for(var s=0;s<r.length;s++)o.push(r[s]);return a.apply(null,o).catch(function(t){return i.warn("API call to Plotly."+e+" rejected.",t),Promise.reject(t)})},r.computeAPICommandBindings=function(t,e,r){var n;switch(Array.isArray(r)||(r=[]),e){case"restyle":n=s(t,r);break;case"relayout":n=o(t,r);break;case"update":n=s(t,[r[0],r[2]]).concat(o(t,[r[1]]));break;case"animate":n=function(t,e){return Array.isArray(e[0])&&1===e[0].length&&-1!==["string","number"].indexOf(typeof e[0][0])?[{type:"layout",prop:"_currentFrame",value:e[0][0].toString()}]:[]}(0,r);break;default:n=[]}return n}},{"../lib":693,"../registry":825}],767:[function(t,e,r){"use strict";var n=t("../lib/extend").extendFlat;r.attributes=function(t,e){e=e||{};var r={valType:"info_array",editType:(t=t||{}).editType,items:[{valType:"number",min:0,max:1,editType:t.editType},{valType:"number",min:0,max:1,editType:t.editType}],dflt:[0,1]},i=(t.name&&t.name,t.trace,e.description&&e.description,{x:n({},r,{}),y:n({},r,{}),editType:t.editType});return t.noGridCell||(i.row={valType:"integer",min:0,dflt:0,editType:t.editType},i.column={valType:"integer",min:0,dflt:0,editType:t.editType}),i},r.defaults=function(t,e,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=e.grid;if(o){var s=r("domain.column");void 0!==s&&(s<o.columns?i=o._domains.x[s]:delete t.domain.column);var l=r("domain.row");void 0!==l&&(l<o.rows?a=o._domains.y[l]:delete t.domain.row)}r("domain.x",i),r("domain.y",a)}},{"../lib/extend":682}],768:[function(t,e,r){"use strict";e.exports=function(t){var e=t.editType,r=t.colorEditType;void 0===r&&(r=e);var n={family:{valType:"string",noBlank:!0,strict:!0,editType:e},size:{valType:"number",min:1,editType:e},color:{valType:"color",editType:r},editType:e};return t.arrayOk&&(n.family.arrayOk=!0,n.size.arrayOk=!0,n.color.arrayOk=!0),n}},{}],769:[function(t,e,r){"use strict";e.exports={_isLinkedToArray:"frames_entry",group:{valType:"string"},name:{valType:"string"},traces:{valType:"any"},baseframe:{valType:"string"},data:{valType:"any"},layout:{valType:"any"}}},{}],770:[function(t,e,r){"use strict";r.projNames={equirectangular:"equirectangular",mercator:"mercator",orthographic:"orthographic","natural earth":"naturalEarth",kavrayskiy7:"kavrayskiy7",miller:"miller",robinson:"robinson",eckert4:"eckert4","azimuthal equal area":"azimuthalEqualArea","azimuthal equidistant":"azimuthalEquidistant","conic equal area":"conicEqualArea","conic conformal":"conicConformal","conic equidistant":"conicEquidistant",gnomonic:"gnomonic",stereographic:"stereographic",mollweide:"mollweide",hammer:"hammer","transverse mercator":"transverseMercator","albers usa":"albersUsa","winkel tripel":"winkel3",aitoff:"aitoff",sinusoidal:"sinusoidal"},r.axesNames=["lonaxis","lataxis"],r.lonaxisSpan={orthographic:180,"azimuthal equal area":360,"azimuthal equidistant":360,"conic conformal":180,gnomonic:160,stereographic:180,"transverse mercator":180,"*":360},r.lataxisSpan={"conic conformal":150,stereographic:179.5,"*":180},r.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:"equirectangular",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:"albers usa"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:"conic conformal",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:"mercator",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:"mercator",projRotate:[0,0,0]},"north america":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:"conic conformal",projRotate:[-100,0,0],projParallels:[29.5,45.5]},"south america":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:"mercator",projRotate:[0,0,0]}},r.clipPad=.001,r.precision=.1,r.landColor="#F0DC82",r.waterColor="#3399FF",r.locationmodeToLayer={"ISO-3":"countries","USA-states":"subunits","country names":"countries"},r.sphereSVG={type:"Sphere"},r.fillLayers={ocean:1,land:1,lakes:1},r.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1},r.layers=["bg","ocean","land","lakes","subunits","countries","coastlines","rivers","lataxis","lonaxis","frame","backplot","frontplot"],r.layersForChoropleth=["bg","ocean","land","subunits","countries","coastlines","lataxis","lonaxis","frame","backplot","rivers","lakes","frontplot"],r.layerNameToAdjective={ocean:"ocean",land:"land",lakes:"lake",subunits:"subunit",countries:"country",coastlines:"coastline",rivers:"river",frame:"frame"}},{}],771:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../lib"),o=t("../../components/color"),s=t("../../components/drawing"),l=t("../../components/fx"),c=t("../plots"),u=t("../cartesian/axes"),f=t("../../components/dragelement"),h=t("../cartesian/select").prepSelect,p=t("../cartesian/select").selectOnClick,d=t("./zoom"),g=t("./constants"),m=t("../../lib/topojson_utils"),v=t("topojson-client").feature;function y(t){this.id=t.id,this.graphDiv=t.graphDiv,this.container=t.container,this.topojsonURL=t.topojsonURL,this.isStatic=t.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}t("./projections")(n);var x=y.prototype;e.exports=function(t){return new y(t)},x.plot=function(t,e,r){var n=this,i=e[this.id],a=m.getTopojsonName(i);null===n.topojson||a!==n.topojsonName?(n.topojsonName=a,void 0===PlotlyGeoAssets.topojson[n.topojsonName]?r.push(n.fetchTopojson().then(function(r){PlotlyGeoAssets.topojson[n.topojsonName]=r,n.topojson=r,n.update(t,e)})):(n.topojson=PlotlyGeoAssets.topojson[n.topojsonName],n.update(t,e))):n.update(t,e)},x.fetchTopojson=function(){var t=m.getTopojsonPath(this.topojsonURL,this.topojsonName);return new Promise(function(e,r){n.json(t,function(n,i){if(n)return 404===n.status?r(new Error(["plotly.js could not find topojson file at",t,".","Make sure the *topojsonURL* plot config option","is set properly."].join(" "))):r(new Error(["unexpected error while fetching topojson file at",t].join(" ")));e(i)})})},x.update=function(t,e){var r=e[this.id];if(!this.updateProjection(e,r)){this.hasChoropleth=!1;for(var n=0;n<t.length;n++)if("choropleth"===t[n][0].trace.type){this.hasChoropleth=!0;break}this.viewInitial||this.saveViewInitial(r),this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),c.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var i=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=i.selectAll(".point"),this.dataPoints.text=i.selectAll("text"),this.dataPaths.line=i.selectAll(".js-line");var a=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=a.selectAll("path"),this.render()}},x.updateProjection=function(t,e){var r=t._size,o=e.domain,s=e.projection,l=s.rotation||{},c=e.center||{},u=this.projection=function(t){for(var e=t.projection.type,r=n.geo[g.projNames[e]](),i=t._isClipped?g.lonaxisSpan[e]/2:null,a=["center","rotate","parallels","clipExtent"],o=function(t){return t?r:[]},s=0;s<a.length;s++){var l=a[s];"function"!=typeof r[l]&&(r[l]=o)}r.isLonLatOverEdges=function(t){if(null===r(t))return!0;if(i){var e=r.rotate();return n.geo.distance(t,[-e[0],-e[1]])>i*Math.PI/180}return!1},r.getPath=function(){return n.geo.path().projection(r)},r.getBounds=function(t){return r.getPath().bounds(t)},r.fitExtent=function(t,e){var n=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=r.clipExtent&&r.clipExtent();r.scale(150).translate([0,0]),a&&r.clipExtent(null);var o=r.getBounds(e),s=Math.min(n/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),l=+t[0][0]+(n-s*(o[1][0]+o[0][0]))/2,c=+t[0][1]+(i-s*(o[1][1]+o[0][1]))/2;return a&&r.clipExtent(a),r.scale(150*s).translate([l,c])},r.precision(g.precision),i&&r.clipAngle(i-g.clipPad);return r}(e);u.center([c.lon-l.lon,c.lat-l.lat]).rotate([-l.lon,-l.lat,l.roll]).parallels(s.parallels);var f=[[r.l+r.w*o.x[0],r.t+r.h*(1-o.y[1])],[r.l+r.w*o.x[1],r.t+r.h*(1-o.y[0])]],h=e.lonaxis,p=e.lataxis,d=function(t,e){var r=g.clipPad,n=t[0]+r,i=t[1]-r,a=e[0]+r,o=e[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:"Polygon",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}(h.range,p.range);u.fitExtent(f,d);var m=this.bounds=u.getBounds(d),v=this.fitScale=u.scale(),y=u.translate();if(!isFinite(m[0][0])||!isFinite(m[0][1])||!isFinite(m[1][0])||!isFinite(m[1][1])||isNaN(y[0])||isNaN(y[0])){for(var x=this.graphDiv,b=["projection.rotation","center","lonaxis.range","lataxis.range"],_="Invalid geo settings, relayout'ing to default view.",w={},k=0;k<b.length;k++)w[this.id+"."+b[k]]=null;return this.viewInitial=null,a.warn(_),x._promises.push(i.call("relayout",x,w)),_}var M=this.midPt=[(m[0][0]+m[1][0])/2,(m[0][1]+m[1][1])/2];if(u.scale(s.scale*v).translate([y[0]+(M[0]-y[0]),y[1]+(M[1]-y[1])]).clipExtent(m),e._isAlbersUsa){var A=u([c.lon,c.lat]),T=u.translate();u.translate([T[0]-(A[0]-T[0]),T[1]-(A[1]-T[1])])}},x.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,l=r.basePaths;function c(t){return"lonaxis"===t||"lataxis"===t}function u(t){return Boolean(g.lineLayers[t])}function f(t){return Boolean(g.fillLayers[t])}var h=(this.hasChoropleth?g.layersForChoropleth:g.layers).filter(function(t){return u(t)||f(t)?e["show"+t]:!c(t)||e[t].showgrid}),p=r.framework.selectAll(".layer").data(h,String);p.exit().each(function(t){delete a[t],delete l[t],n.select(this).remove()}),p.enter().append("g").attr("class",function(t){return"layer "+t}).each(function(t){var e=a[t]=n.select(this);"bg"===t?r.bgRect=e.append("rect").style("pointer-events","all"):c(t)?l[t]=e.append("path").style("fill","none"):"backplot"===t?e.append("g").classed("choroplethlayer",!0):"frontplot"===t?e.append("g").classed("scatterlayer",!0):u(t)?l[t]=e.append("path").style("fill","none").style("stroke-miterlimit",2):f(t)&&(l[t]=e.append("path").style("stroke","none"))}),p.order(),p.each(function(t){var r=l[t],a=g.layerNameToAdjective[t];"frame"===t?r.datum(g.sphereSVG):u(t)||f(t)?r.datum(v(i,i.objects[t])):c(t)&&r.datum(function(t,e){var r=e[t].dtick,i=g.scopeDefaults[e.scope],a=i.lonaxisRange,o=i.lataxisRange,s="lonaxis"===t?[r]:[0,r];return n.geo.graticule().extent([[a[0],o[0]],[a[1],o[1]]]).step(s)}(t,e)).call(o.stroke,e[t].gridcolor).call(s.dashLine,"",e[t].gridwidth),u(t)?r.call(o.stroke,e[a+"color"]).call(s.dashLine,"",e[a+"width"]):f(t)&&r.call(o.fill,e[a+"color"])})},x.updateDims=function(t,e){var r=this.bounds,n=(e.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,l=r[1][0]-i+n,c=r[1][1]-a+n;s.setRect(this.clipRect,i,a,l,c),this.bgRect.call(s.setRect,i,a,l,c).call(o.fill,e.bgcolor),this.xaxis._offset=i,this.xaxis._length=l,this.yaxis._offset=a,this.yaxis._length=c},x.updateFx=function(t,e){var r=this,a=r.graphDiv,o=r.bgRect,s=t.dragmode,c=t.clickmode;if(!r.isStatic){var u;"select"===s?u=function(t,e){(t.range={})[r.id]=[m([e.xmin,e.ymin]),m([e.xmax,e.ymax])]}:"lasso"===s&&(u=function(t,e,n){(t.lassoPoints={})[r.id]=n.filtered.map(m)});var g={element:r.bgRect.node(),gd:a,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(e){2===e&&t._zoomlayer.selectAll(".select-outline").remove()}};"pan"===s?(o.node().onmousedown=null,o.call(d(r,e)),o.on("dblclick.zoom",function(){var t=r.viewInitial,e={};for(var n in t)e[r.id+"."+n]=t[n];i.call("relayout",a,e),a.emit("plotly_doubleclick",null)})):"select"!==s&&"lasso"!==s||(o.on(".zoom",null),g.prepFn=function(t,e,r){h(t,e,r,g,s)},f.init(g)),o.on("mousemove",function(){var t=r.projection.invert(n.mouse(this));if(!t||isNaN(t[0])||isNaN(t[1]))return f.unhover(a,n.event);r.xaxis.p2c=function(){return t[0]},r.yaxis.p2c=function(){return t[1]},l.hover(a,n.event,r.id)}),o.on("mouseout",function(){a._dragging||f.unhover(a,n.event)}),o.on("click",function(){"select"!==s&&"lasso"!==s&&(c.indexOf("select")>-1&&p(n.event,a,[r.xaxis],[r.yaxis],r.id,g),c.indexOf("event")>-1&&l.click(a,n.event))})}function m(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},x.makeFramework=function(){var t=this,e=t.graphDiv._fullLayout,r="clip"+e._uid+t.id;t.clipDef=e._clips.append("clipPath").attr("id",r),t.clipRect=t.clipDef.append("rect"),t.framework=n.select(t.container).append("g").attr("class","geo "+t.id).call(s.setClipUrl,r),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:"x",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:"y",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},u.setConvert(t.mockAxis,e)},x.saveViewInitial=function(t){var e=t.center||{},r=t.projection,n=r.rotation||{};t._isScoped?this.viewInitial={"center.lon":e.lon,"center.lat":e.lat,"projection.scale":r.scale}:t._isClipped?this.viewInitial={"projection.scale":r.scale,"projection.rotation.lon":n.lon,"projection.rotation.lat":n.lat}:this.viewInitial={"center.lon":e.lon,"center.lat":e.lat,"projection.scale":r.scale,"projection.rotation.lon":n.lon}},x.render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?"translate("+r[0]+","+r[1]+")":null}function i(t){return e.isLonLatOverEdges(t.lonlat)?"none":null}for(t in this.basePaths)this.basePaths[t].attr("d",r);for(t in this.dataPaths)this.dataPaths[t].attr("d",function(t){return r(t.geojson)});for(t in this.dataPoints)this.dataPoints[t].attr("display",i).attr("transform",n)}},{"../../components/color":567,"../../components/dragelement":589,"../../components/drawing":592,"../../components/fx":609,"../../lib":693,"../../lib/topojson_utils":721,"../../registry":825,"../cartesian/axes":742,"../cartesian/select":759,"../plots":805,"./constants":770,"./projections":776,"./zoom":777,d3:147,"topojson-client":514}],772:[function(t,e,r){"use strict";var n=t("./geo"),i=t("../../plots/get_data").getSubplotCalcData,a=t("../../lib").counterRegex,o="geo";r.name=o,r.attr=o,r.idRoot=o,r.idRegex=r.attrRegex=a(o),r.attributes=t("./layout/attributes"),r.layoutAttributes=t("./layout/layout_attributes"),r.supplyLayoutDefaults=t("./layout/defaults"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots.geo;void 0===window.PlotlyGeoAssets&&(window.PlotlyGeoAssets={topojson:{}});for(var s=0;s<a.length;s++){var l=a[s],c=i(r,o,l),u=e[l]._subplot;u||(u=n({id:l,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL,staticPlot:t._context.staticPlot}),e[l]._subplot=u),u.plot(c,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.geo||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.framework.remove(),s.clipDef.remove())}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.geo,n=0;n<r.length;n++){var i=e[r[n]];i._subplot.updateFx(e,i)}}},{"../../lib":693,"../../plots/get_data":778,"./geo":771,"./layout/attributes":773,"./layout/defaults":774,"./layout/layout_attributes":775}],773:[function(t,e,r){"use strict";e.exports={geo:{valType:"subplotid",dflt:"geo",editType:"calc"}}},{}],774:[function(t,e,r){"use strict";var n=t("../../subplot_defaults"),i=t("../constants"),a=t("./layout_attributes"),o=i.axesNames;function s(t,e,r){var n=r("resolution"),a=r("scope"),s=i.scopeDefaults[a],l=r("projection.type",s.projType),c=e._isAlbersUsa="albers usa"===l;c&&(a=e.scope="usa");var u=e._isScoped="world"!==a,f=e._isConic=-1!==l.indexOf("conic");e._isClipped=!!i.lonaxisSpan[l];for(var h=0;h<o.length;h++){var p,d=o[h],g=[30,10][h];if(u)p=s[d+"Range"];else{var m=i[d+"Span"],v=(m[l]||m["*"])/2,y=r("projection.rotation."+d.substr(0,3),s.projRotate[h]);p=[y-v,y+v]}var x=r(d+".range",p);r(d+".tick0",x[0]),r(d+".dtick",g),r(d+".showgrid")&&(r(d+".gridcolor"),r(d+".gridwidth"))}var b=e.lonaxis.range,_=e.lataxis.range,w=b[0],k=b[1];w>0&&k<0&&(k+=360);var M,A,T,S=(w+k)/2;if(!c){var E=u?s.projRotate:[S,0,0];M=r("projection.rotation.lon",E[0]),r("projection.rotation.lat",E[1]),r("projection.rotation.roll",E[2]),r("showcoastlines",!u)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean")&&r("oceancolor")}(c?(A=-96.6,T=38.7):(A=u?S:M,T=(_[0]+_[1])/2),r("center.lon",A),r("center.lat",T),f)&&r("projection.parallels",s.projParallels||[0,60]);r("projection.scale"),r("showland")&&r("landcolor"),r("showlakes")&&r("lakecolor"),r("showrivers")&&(r("rivercolor"),r("riverwidth")),r("showcountries",u&&"usa"!==a)&&(r("countrycolor"),r("countrywidth")),("usa"===a||"north america"===a&&50===n)&&(r("showsubunits",!0),r("subunitcolor"),r("subunitwidth")),u||r("showframe",!0)&&(r("framecolor"),r("framewidth")),r("bgcolor")}e.exports=function(t,e,r){n(t,e,r,{type:"geo",attributes:a,handleDefaults:s,partition:"y"})}},{"../../subplot_defaults":820,"../constants":770,"./layout_attributes":775}],775:[function(t,e,r){"use strict";var n=t("../../../components/color/attributes"),i=t("../../domain").attributes,a=t("../constants"),o=t("../../../plot_api/edit_types").overrideAll,s={range:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},showgrid:{valType:"boolean",dflt:!1},tick0:{valType:"number"},dtick:{valType:"number"},gridcolor:{valType:"color",dflt:n.lightLine},gridwidth:{valType:"number",min:0,dflt:1}};e.exports=o({domain:i({name:"geo"},{}),resolution:{valType:"enumerated",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:"enumerated",values:Object.keys(a.scopeDefaults),dflt:"world"},projection:{type:{valType:"enumerated",values:Object.keys(a.projNames)},rotation:{lon:{valType:"number"},lat:{valType:"number"},roll:{valType:"number"}},parallels:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},scale:{valType:"number",min:0,dflt:1}},center:{lon:{valType:"number"},lat:{valType:"number"}},showcoastlines:{valType:"boolean"},coastlinecolor:{valType:"color",dflt:n.defaultLine},coastlinewidth:{valType:"number",min:0,dflt:1},showland:{valType:"boolean",dflt:!1},landcolor:{valType:"color",dflt:a.landColor},showocean:{valType:"boolean",dflt:!1},oceancolor:{valType:"color",dflt:a.waterColor},showlakes:{valType:"boolean",dflt:!1},lakecolor:{valType:"color",dflt:a.waterColor},showrivers:{valType:"boolean",dflt:!1},rivercolor:{valType:"color",dflt:a.waterColor},riverwidth:{valType:"number",min:0,dflt:1},showcountries:{valType:"boolean"},countrycolor:{valType:"color",dflt:n.defaultLine},countrywidth:{valType:"number",min:0,dflt:1},showsubunits:{valType:"boolean"},subunitcolor:{valType:"color",dflt:n.defaultLine},subunitwidth:{valType:"number",min:0,dflt:1},showframe:{valType:"boolean"},framecolor:{valType:"color",dflt:n.defaultLine},framewidth:{valType:"number",min:0,dflt:1},bgcolor:{valType:"color",dflt:n.background},lonaxis:s,lataxis:s},"plot","from-root")},{"../../../components/color/attributes":566,"../../../plot_api/edit_types":725,"../../domain":767,"../constants":770}],776:[function(t,e,r){"use strict";e.exports=function(t){function e(t,e){return{type:"Feature",id:t.id,properties:t.properties,geometry:r(t.geometry,e)}}function r(e,n){if(!e)return null;if("GeometryCollection"===e.type)return{type:"GeometryCollection",geometries:object.geometries.map(function(t){return r(t,n)})};if(!c.hasOwnProperty(e.type))return null;var i=c[e.type];return t.geo.stream(e,n(i)),i.result()}t.geo.project=function(t,e){var i=e.stream;if(!i)throw new Error("not yet supported");return(t&&n.hasOwnProperty(t.type)?n[t.type]:r)(t,i)};var n={Feature:e,FeatureCollection:function(t,r){return{type:"FeatureCollection",features:t.features.map(function(t){return e(t,r)})}}},i=[],a=[],o={point:function(t,e){i.push([t,e])},result:function(){var t=i.length?i.length<2?{type:"Point",coordinates:i[0]}:{type:"MultiPoint",coordinates:i}:null;return i=[],t}},s={lineStart:u,point:function(t,e){i.push([t,e])},lineEnd:function(){i.length&&(a.push(i),i=[])},result:function(){var t=a.length?a.length<2?{type:"LineString",coordinates:a[0]}:{type:"MultiLineString",coordinates:a}:null;return a=[],t}},l={polygonStart:u,lineStart:u,point:function(t,e){i.push([t,e])},lineEnd:function(){var t=i.length;if(t){do{i.push(i[0].slice())}while(++t<4);a.push(i),i=[]}},polygonEnd:u,result:function(){if(!a.length)return null;var t=[],e=[];return a.forEach(function(r){!function(t){if((e=t.length)<4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++r<e;)n+=t[r-1][1]*t[r][0]-t[r-1][0]*t[r][1];return n<=0}(r)?e.push(r):t.push([r])}),e.forEach(function(e){var r=e[0];t.some(function(t){if(function(t,e){for(var r=e[0],n=e[1],i=!1,a=0,o=t.length,s=o-1;a<o;s=a++){var l=t[a],c=l[0],u=l[1],f=t[s],h=f[0],p=f[1];u>n^p>n&&r<(h-c)*(n-u)/(p-u)+c&&(i=!i)}return i}(t[0],r))return t.push(e),!0})||t.push([e])}),a=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}},c={Point:o,MultiPoint:o,LineString:s,MultiLineString:s,Polygon:l,MultiPolygon:l,Sphere:l};function u(){}var f=1e-6,h=f*f,p=Math.PI,d=p/2,g=(Math.sqrt(p),p/180),m=180/p;function v(t){return t>1?d:t<-1?-d:Math.asin(t)}function y(t){return t>1?0:t<-1?p:Math.acos(t)}var x=t.geo.projection,b=t.geo.projectionMutator;function _(t,e){var r=(2+d)*Math.sin(e);e/=2;for(var n=0,i=1/0;n<10&&Math.abs(i)>f;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(p*(4+p))*t*(1+Math.cos(e)),2*Math.sqrt(p/(4+p))*Math.sin(e)]}t.geo.interrupt=function(e){var r,n=[[[[-p,0],[0,d],[p,0]]],[[[-p,0],[0,-d],[p,0]]]];function i(t,r){for(var i=r<0?-1:1,a=n[+(r<0)],o=0,s=a.length-1;o<s&&t>a[o][2][0];++o);var l=e(t-a[o][1][0],r);return l[0]+=e(a[o][1][0],i*r>i*a[o][0][1]?a[o][0][1]:r)[0],l}e.invert&&(i.invert=function(t,a){for(var o=r[+(a<0)],s=n[+(a<0)],c=0,u=o.length;c<u;++c){var f=o[c];if(f[0][0]<=t&&t<f[1][0]&&f[0][1]<=a&&a<f[1][1]){var h=e.invert(t-e(s[c][1][0],0)[0],a);return h[0]+=s[c][1][0],l(i(h[0],h[1]),[t,a])?h:null}}});var a=t.geo.projection(i),o=a.stream;function s(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a<o;){n=((r=t[a])[0]-s[0])/e,i=(r[1]-s[1])/e;for(var c=0;c<e;++c)l.push([s[0]+c*n,s[1]+c*i]);s=r}return l.push(r),l}function l(t,e){return Math.abs(t[0]-e[0])<f&&Math.abs(t[1]-e[1])<f}return a.stream=function(e){var r=a.rotate(),i=o(e),l=(a.rotate([0,0]),o(e));return a.rotate(r),i.sphere=function(){t.geo.stream(function(){for(var e=1e-6,r=[],i=0,a=n[0].length;i<a;++i){var o=n[0][i],l=180*o[0][0]/p,c=180*o[0][1]/p,u=180*o[1][1]/p,f=180*o[2][0]/p,h=180*o[2][1]/p;r.push(s([[l+e,c+e],[l+e,u-e],[f-e,u-e],[f-e,h+e]],30))}for(var i=n[1].length-1;i>=0;--i){var o=n[1][i],l=180*o[0][0]/p,c=180*o[0][1]/p,u=180*o[1][1]/p,f=180*o[2][0]/p,h=180*o[2][1]/p;r.push(s([[f-e,h-e],[f-e,u+e],[l+e,u+e],[l+e,c-e]],30))}return{type:"Polygon",coordinates:[t.merge(r)]}}(),l)},i},a.lobes=function(t){return arguments.length?(n=t.map(function(t){return t.map(function(t){return[[t[0][0]*p/180,t[0][1]*p/180],[t[1][0]*p/180,t[1][1]*p/180],[t[2][0]*p/180,t[2][1]*p/180]]})}),r=n.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]})}),a):n.map(function(t){return t.map(function(t){return[[180*t[0][0]/p,180*t[0][1]/p],[180*t[1][0]/p,180*t[1][1]/p],[180*t[2][0]/p,180*t[2][1]/p]]})})},a},_.invert=function(t,e){var r=.5*e*Math.sqrt((4+p)/p),n=v(r),i=Math.cos(n);return[t/(2/Math.sqrt(p*(4+p))*(1+i)),v((n+r*(i+2))/(2+d))]},(t.geo.eckert4=function(){return x(_)}).raw=_;var w=t.geo.azimuthalEqualArea.raw;function k(t,e){if(arguments.length<2&&(e=t),1===e)return w;if(e===1/0)return M;function r(r,n){var i=w(r/e,n);return i[0]*=t,i}return r.invert=function(r,n){var i=w.invert(r/t,n);return i[0]*=e,i},r}function M(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function A(t,e){return[3*t/(2*p)*Math.sqrt(p*p/3-e*e),e]}function T(t,e){return[t,1.25*Math.log(Math.tan(p/4+.4*e))]}function S(t){return function(e){var r,n=t*Math.sin(e),i=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)>f&&--i>0);return e/2}}M.invert=function(t,e){var r=2*v(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=b(k),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=k,A.invert=function(t,e){return[2/3*p*t/Math.sqrt(p*p/3-e*e),e]},(t.geo.kavrayskiy7=function(){return x(A)}).raw=A,T.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*p]},(t.geo.miller=function(){return x(T)}).raw=T,S(p);var E=function(t,e,r){var n=S(r);function i(r,i){return[t*r*Math.cos(i=n(i)),e*Math.sin(i)]}return i.invert=function(n,i){var a=v(i/e);return[n/(t*Math.cos(a)),v((2*a+Math.sin(2*a))/r)]},i}(Math.SQRT2/d,Math.SQRT2,p);function C(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}(t.geo.mollweide=function(){return x(E)}).raw=E,C.invert=function(t,e){var r,n=e,i=25;do{var a=n*n,o=a*a;n-=r=(n*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(Math.abs(r)>f&&--i>0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return x(C)}).raw=C;var L=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];function z(t,e){var r,n=Math.min(18,36*Math.abs(e)/p),i=Math.floor(n),a=n-i,o=(r=L[i])[0],s=r[1],l=(r=L[++i])[0],c=r[1],u=(r=L[Math.min(19,++i)])[0],f=r[1];return[t*(l+a*(u-o)/2+a*a*(u-2*l+o)/2),(e>0?d:-d)*(c+a*(f-s)/2+a*a*(f-2*c+s)/2)]}function P(t,e){return[t*Math.cos(e),e]}function O(t,e){var r,n=Math.cos(e),i=(r=y(n*Math.cos(t/=2)))?r/Math.sin(r):1;return[2*n*Math.sin(t)*i,Math.sin(e)*i]}function I(t,e){var r=O(t,e);return[(r[0]+t/d)/2,(r[1]+e)/2]}L.forEach(function(t){t[1]*=1.0144}),z.invert=function(t,e){var r=e/d,n=90*r,i=Math.min(18,Math.abs(n/5)),a=Math.max(0,Math.floor(i));do{var o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],c=l-o,u=l-2*s+o,f=2*(Math.abs(r)-s)/c,p=u/c,v=f*(1-p*f*(1-2*p*f));if(v>=0||1===a){n=(e>=0?5:-5)*(v+i);var y,x=50;do{v=(i=Math.min(18,Math.abs(n)/5))-(a=Math.floor(i)),o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],n-=(y=(e>=0?d:-d)*(s+v*(l-o)/2+v*v*(l-2*s+o)/2)-e)*m}while(Math.abs(y)>h&&--x>0);break}}while(--a>=0);var b=L[a][0],_=L[a+1][0],w=L[Math.min(19,a+2)][0];return[t/(_+v*(w-b)/2+v*v*(w-2*_+b)/2),n*g]},(t.geo.robinson=function(){return x(z)}).raw=z,P.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return x(P)}).raw=P,O.invert=function(t,e){if(!(t*t+4*e*e>p*p+f)){var r=t,n=e,i=25;do{var a,o=Math.sin(r),s=Math.sin(r/2),l=Math.cos(r/2),c=Math.sin(n),u=Math.cos(n),h=Math.sin(2*n),d=c*c,g=u*u,m=s*s,v=1-g*l*l,x=v?y(u*l)*Math.sqrt(a=1/v):a=0,b=2*x*u*s-t,_=x*c-e,w=a*(g*m+x*u*l*d),k=a*(.5*o*h-2*x*c*s),M=.25*a*(h*s-x*c*g*o),A=a*(d*l+x*m*u),T=k*M-A*w;if(!T)break;var S=(_*k-b*A)/T,E=(b*M-_*w)/T;r-=S,n-=E}while((Math.abs(S)>f||Math.abs(E)>f)&&--i>0);return[r,n]}},(t.geo.aitoff=function(){return x(O)}).raw=O,I.invert=function(t,e){var r=t,n=e,i=25;do{var a,o=Math.cos(n),s=Math.sin(n),l=Math.sin(2*n),c=s*s,u=o*o,h=Math.sin(r),p=Math.cos(r/2),g=Math.sin(r/2),m=g*g,v=1-u*p*p,x=v?y(o*p)*Math.sqrt(a=1/v):a=0,b=.5*(2*x*o*g+r/d)-t,_=.5*(x*s+n)-e,w=.5*a*(u*m+x*o*p*c)+.5/d,k=a*(h*l/4-x*s*g),M=.125*a*(l*g-x*s*u*h),A=.5*a*(c*p+x*m*o)+.5,T=k*M-A*w,S=(_*k-b*A)/T,E=(b*M-_*w)/T;r-=S,n-=E}while((Math.abs(S)>f||Math.abs(E)>f)&&--i>0);return[r,n]},(t.geo.winkel3=function(){return x(I)}).raw=I}},{}],777:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=Math.PI/180,o=180/Math.PI,s={cursor:"pointer"},l={cursor:"auto"};function c(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function u(t,e,r){var n=t.id,a=t.graphDiv,o=a.layout[n],s=a._fullLayout[n],l={};function c(t,e){var r=i.nestedProperty(s,t);r.get()!==e&&(r.set(e),i.nestedProperty(o,t).set(e),l[n+"."+t]=e)}r(c),c("projection.scale",e.scale()/t.fitScale),a.emit("plotly_relayout",l)}function f(t,e){var r=c(0,e);function i(r){var n=e.invert(t.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return r.on("zoomstart",function(){n.select(this).style(s)}).on("zoom",function(){e.scale(n.event.scale).translate(n.event.translate),t.render()}).on("zoomend",function(){n.select(this).style(l),u(t,e,i)}),r}function h(t,e){var r,i,a,o,f,h,p,d,g,m=c(0,e),v=2;function y(t){return e.invert(t)}function x(r){var n=e.rotate(),i=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",i[0]),r("center.lat",i[1])}return m.on("zoomstart",function(){n.select(this).style(s),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,f=y(r)}).on("zoom",function(){if(h=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>v||Math.abs(n[1]-t[1])>v}(r))return m.scale(e.scale()),void m.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),f?y(h)&&(d=y(h),p=[o[0]+(d[0]-f[0]),i[1],i[2]],e.rotate(p),o=p):f=y(r=h),g=!0,t.render()}).on("zoomend",function(){n.select(this).style(l),g&&u(t,e,x)}),m}function p(t,e){var r,i={r:e.rotate(),k:e.scale()},f=c(0,e),h=function(t){var e=0,r=arguments.length,i=[];for(;++e<r;)i.push(arguments[e]);var a=n.dispatch.apply(null,i);return a.of=function(e,r){return function(i){var o;try{o=i.sourceEvent=n.event,i.target=t,n.event=i,a[i.type].apply(e,r)}finally{n.event=o}}},a}(f,"zoomstart","zoom","zoomend"),p=0,m=f.on;function x(t){var r=e.rotate();t("projection.rotation.lon",-r[0]),t("projection.rotation.lat",-r[1])}return f.on("zoomstart",function(){n.select(this).style(s);var t,l,c,u,x,b,_,w,k,M,A,T=n.mouse(this),S=e.rotate(),E=S,C=e.translate(),L=(l=.5*(t=S)[0]*a,c=.5*t[1]*a,u=.5*t[2]*a,x=Math.sin(l),b=Math.cos(l),_=Math.sin(c),w=Math.cos(c),k=Math.sin(u),M=Math.cos(u),[b*w*M+x*_*k,x*w*M-b*_*k,b*_*M+x*w*k,b*w*k-x*_*M]);r=d(e,T),m.call(f,"zoom",function(){var t,a,s,l,c,u,f,p,m,x,b=n.mouse(this);if(e.scale(i.k=n.event.scale),r){if(d(e,b)){e.rotate(S).translate(C);var _=d(e,b),w=function(t,e){if(!t||!e)return;var r=function(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}(t,e),n=Math.sqrt(y(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,y(t,e)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}(r,_),k=function(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*o,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*o,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*o]}((a=w,s=(t=L)[0],l=t[1],c=t[2],u=t[3],f=a[0],p=a[1],m=a[2],x=a[3],[s*f-l*p-c*m-u*x,s*p+l*f+c*x-u*m,s*m-l*x+c*f+u*p,s*x+l*m-c*p+u*f])),M=i.r=function(t,e,r){var n=v(e,2,t[0]);n=v(n,1,t[1]),n=v(n,0,t[2]-r[2]);var i,a,s=e[0],l=e[1],c=e[2],u=n[0],f=n[1],h=n[2],p=Math.atan2(l,s)*o,d=Math.sqrt(s*s+l*l);Math.abs(f)>d?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*o-p,i=Math.sqrt(d*d-f*f));var m=180-a-2*p,y=(Math.atan2(h,u)-Math.atan2(c,i))*o,x=(Math.atan2(h,u)-Math.atan2(c,-i))*o,b=g(r[0],r[1],a,y),_=g(r[0],r[1],m,x);return b<=_?[a,y,r[2]]:[m,x,r[2]]}(k,r,E);isFinite(M[0])&&isFinite(M[1])&&isFinite(M[2])||(M=E),e.rotate(M),E=M}}else r=d(e,T=b);h.of(this,arguments)({type:"zoom"})}),A=h.of(this,arguments),p++||A({type:"zoomstart"})}).on("zoomend",function(){var r;n.select(this).style(l),m.call(f,"zoom",null),r=h.of(this,arguments),--p||r({type:"zoomend"}),u(t,e,x)}).on("zoom.redraw",function(){t.render()}),n.rebind(f,h,"on")}function d(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*a,r=t[1]*a,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function g(t,e,r,n){var i=m(r-t),a=m(n-e);return Math.sqrt(i*i+a*a)}function m(t){return(t%360+540)%360-180}function v(t,e,r){var n=r*a,i=t.slice(),o=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return i[o]=t[o]*l-t[s]*c,i[s]=t[s]*l+t[o]*c,i}function y(t,e){for(var r=0,n=0,i=t.length;n<i;++n)r+=t[n]*e[n];return r}e.exports=function(t,e){var r=t.projection;return(e._isScoped?f:e._isClipped?p:h)(t,r)}},{"../../lib":693,d3:147}],778:[function(t,e,r){"use strict";var n=t("../registry"),i=t("./cartesian/constants").SUBPLOT_PATTERN;r.getSubplotCalcData=function(t,e,r){var i=n.subplotsRegistry[e];if(!i)return[];for(var a=i.attr,o=[],s=0;s<t.length;s++){var l=t[s];l[0].trace[a]===r&&o.push(l)}return o},r.getModuleCalcData=function(t,e){var r,i=[],a=[];if(!(r="string"==typeof e?n.getModule(e).plot:"function"==typeof e?e:e.plot))return[i,t];for(var o=0;o<t.length;o++){var s=t[o],l=s[0].trace;!0===l.visible&&(l._module.plot===r?i.push(s):a.push(s))}return[i,a]},r.getSubplotData=function(t,e,r){if(!n.subplotsRegistry[e])return[];var a,o,s,l=n.subplotsRegistry[e].attr,c=[];if("gl2d"===e){var u=r.match(i);o="x"+u[1],s="y"+u[2]}for(var f=0;f<t.length;f++)a=t[f],"gl2d"===e&&n.traceIs(a,"gl2d")?a[l[0]]===o&&a[l[1]]===s&&c.push(a):a[l]===r&&c.push(a);return c}},{"../registry":825,"./cartesian/constants":747}],779:[function(t,e,r){"use strict";var n=t("mouse-change"),i=t("mouse-wheel"),a=t("mouse-event-offset"),o=t("../cartesian/constants"),s=t("has-passive-events");function l(t,e){this.element=t,this.plot=e,this.mouseListener=null,this.wheelListener=null,this.lastInputTime=Date.now(),this.lastPos=[0,0],this.boxEnabled=!1,this.boxInited=!1,this.boxStart=[0,0],this.boxEnd=[0,0],this.dragStart=[0,0]}e.exports=function(t){var e=t.mouseContainer,r=t.glplot,c=new l(e,r);function u(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function f(e,n,i){var a,s,l=t.calcDataBox(),f=r.viewBox,h=c.lastPos[0],p=c.lastPos[1],d=o.MINDRAG*r.pixelRatio,g=o.MINZOOM*r.pixelRatio;function m(e,r,n){var i=Math.min(r,n),a=Math.max(r,n);i!==a?(l[e]=i,l[e+2]=a,c.dataBox=l,t.setRanges(l)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}switch(n*=r.pixelRatio,i*=r.pixelRatio,i=f[3]-f[1]-i,t.fullLayout.dragmode){case"zoom":if(e){var v=n/(f[2]-f[0])*(l[2]-l[0])+l[0],y=i/(f[3]-f[1])*(l[3]-l[1])+l[1];c.boxInited||(c.boxStart[0]=v,c.boxStart[1]=y,c.dragStart[0]=n,c.dragStart[1]=i),c.boxEnd[0]=v,c.boxEnd[1]=y,c.boxInited=!0,c.boxEnabled||c.boxStart[0]===c.boxEnd[0]&&c.boxStart[1]===c.boxEnd[1]||(c.boxEnabled=!0);var x=Math.abs(c.dragStart[0]-n)<g,b=Math.abs(c.dragStart[1]-i)<g;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,i=0;i<e.length;i++)if(-1!==e[i][r]){if(-1!==e[i][n])return!0;break}return!1}()||x&&b)x&&(c.boxEnd[0]=c.boxStart[0]),b&&(c.boxEnd[1]=c.boxStart[1]);else{a=c.boxEnd[0]-c.boxStart[0],s=c.boxEnd[1]-c.boxStart[1];var _=(l[3]-l[1])/(l[2]-l[0]);Math.abs(a*_)>Math.abs(s)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),c.boxEnd[1]<l[1]?(c.boxEnd[1]=l[1],c.boxEnd[0]=c.boxStart[0]+(l[1]-c.boxStart[1])/Math.abs(_)):c.boxEnd[1]>l[3]&&(c.boxEnd[1]=l[3],c.boxEnd[0]=c.boxStart[0]+(l[3]-c.boxStart[1])/Math.abs(_))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),c.boxEnd[0]<l[0]?(c.boxEnd[0]=l[0],c.boxEnd[1]=c.boxStart[1]+(l[0]-c.boxStart[0])*Math.abs(_)):c.boxEnd[0]>l[2]&&(c.boxEnd[0]=l[2],c.boxEnd[1]=c.boxStart[1]+(l[2]-c.boxStart[0])*Math.abs(_)))}}else c.boxEnabled?(a=c.boxStart[0]!==c.boxEnd[0],s=c.boxStart[1]!==c.boxEnd[1],a||s?(a&&(m(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),s&&(m(1,c.boxStart[1],c.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),c.boxEnabled=!1,c.boxInited=!1):c.boxInited&&(c.boxInited=!1);break;case"pan":c.boxEnabled=!1,c.boxInited=!1,e?(c.panning||(c.dragStart[0]=n,c.dragStart[1]=i),Math.abs(c.dragStart[0]-n)<d&&(n=c.dragStart[0]),Math.abs(c.dragStart[1]-i)<d&&(i=c.dragStart[1]),a=(h-n)*(l[2]-l[0])/(r.viewBox[2]-r.viewBox[0]),s=(p-i)*(l[3]-l[1])/(r.viewBox[3]-r.viewBox[1]),l[0]+=a,l[2]+=a,l[1]+=s,l[3]+=s,t.setRanges(l),c.panning=!0,c.lastInputTime=Date.now(),u(),t.cameraChanged(),t.handleAnnotations()):c.panning&&(c.panning=!1,t.relayoutCallback())}c.lastPos[0]=n,c.lastPos[1]=i}return c.mouseListener=n(e,f),e.addEventListener("touchstart",function(t){var r=a(t.changedTouches[0],e);f(0,r[0],r[1]),f(1,r[0],r[1]),t.preventDefault()},!!s&&{passive:!1}),e.addEventListener("touchmove",function(t){t.preventDefault();var r=a(t.changedTouches[0],e);f(1,r[0],r[1]),t.preventDefault()},!!s&&{passive:!1}),e.addEventListener("touchend",function(t){f(0,c.lastPos[0],c.lastPos[1]),t.preventDefault()},!!s&&{passive:!1}),c.wheelListener=i(e,function(e,n){if(!t.scrollZoom)return!1;var i=t.calcDataBox(),a=r.viewBox,o=c.lastPos[0],s=c.lastPos[1],l=Math.exp(5*n/(a[3]-a[1])),f=o/(a[2]-a[0])*(i[2]-i[0])+i[0],h=s/(a[3]-a[1])*(i[3]-i[1])+i[1];return i[0]=(i[0]-f)*l+f,i[2]=(i[2]-f)*l+f,i[1]=(i[1]-h)*l+h,i[3]=(i[3]-h)*l+h,t.setRanges(i),c.lastInputTime=Date.now(),u(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0},!0),c}},{"../cartesian/constants":747,"has-passive-events":392,"mouse-change":415,"mouse-event-offset":416,"mouse-wheel":418}],780:[function(t,e,r){"use strict";var n=t("../cartesian/axes"),i=t("../../lib/html2unicode"),a=t("../../lib/str2rgbarray");function o(t){this.scene=t,this.gl=t.gl,this.pixelRatio=t.pixelRatio,this.screenBox=[0,0,1,1],this.viewBox=[0,0,1,1],this.dataBox=[-1,-1,1,1],this.borderLineEnable=[!1,!1,!1,!1],this.borderLineWidth=[1,1,1,1],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.ticks=[[],[]],this.tickEnable=[!0,!0,!1,!1],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labels=["x","y"],this.labelEnable=[!0,!0,!1,!1],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelPad=[15,15,15,15],this.labelSize=[12,12],this.labelFont=["sans-serif","sans-serif"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.title="",this.titleEnable=!0,this.titleCenter=[0,0,0,0],this.titleAngle=0,this.titleColor=[0,0,0,1],this.titleFont="sans-serif",this.titleSize=18,this.gridLineEnable=[!0,!0],this.gridLineColor=[[0,0,0,.5],[0,0,0,.5]],this.gridLineWidth=[1,1],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[1,1],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderColor=!1,this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var s=o.prototype,l=["xaxis","yaxis"];s.merge=function(t){var e,r,n,o,s,c,u,f,h,p,d;for(this.titleEnable=!1,this.backgroundColor=a(t.plot_bgcolor),p=0;p<2;++p){var g=(e=l[p]).charAt(0);for(n=(r=t[this.scene[e]._name]).title===this.scene.fullLayout._dfltTitle[g]?"":r.title,d=0;d<=2;d+=2)this.labelEnable[p+d]=!1,this.labels[p+d]=i(n),this.labelColor[p+d]=a(r.titlefont.color),this.labelFont[p+d]=r.titlefont.family,this.labelSize[p+d]=r.titlefont.size,this.labelPad[p+d]=this.getLabelPad(e,r),this.tickEnable[p+d]=!1,this.tickColor[p+d]=a((r.tickfont||{}).color),this.tickAngle[p+d]="auto"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[p+d]=this.getTickPad(r),this.tickMarkLength[p+d]=0,this.tickMarkWidth[p+d]=r.tickwidth||0,this.tickMarkColor[p+d]=a(r.tickcolor),this.borderLineEnable[p+d]=!1,this.borderLineColor[p+d]=a(r.linecolor),this.borderLineWidth[p+d]=r.linewidth||0;u=this.hasSharedAxis(r),s=this.hasAxisInDfltPos(e,r)&&!u,c=this.hasAxisInAltrPos(e,r)&&!u,o=r.mirror||!1,f=u?-1!==String(o).indexOf("all"):!!o,h=u?"allticks"===o:-1!==String(o).indexOf("ticks"),s?this.labelEnable[p]=!0:c&&(this.labelEnable[p+2]=!0),s?this.tickEnable[p]=r.showticklabels:c&&(this.tickEnable[p+2]=r.showticklabels),(s||f)&&(this.borderLineEnable[p]=r.showline),(c||f)&&(this.borderLineEnable[p+2]=r.showline),(s||h)&&(this.tickMarkLength[p]=this.getTickMarkLength(r)),(c||h)&&(this.tickMarkLength[p+2]=this.getTickMarkLength(r)),this.gridLineEnable[p]=r.showgrid,this.gridLineColor[p]=a(r.gridcolor),this.gridLineWidth[p]=r.gridwidth,this.zeroLineEnable[p]=r.zeroline,this.zeroLineColor[p]=a(r.zerolinecolor),this.zeroLineWidth[p]=r.zerolinewidth}},s.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==n.findSubplotsWithAxis(r,t).indexOf(e.id)},s.hasAxisInDfltPos=function(t,e){var r=e.side;return"xaxis"===t?"bottom"===r:"yaxis"===t?"left"===r:void 0},s.hasAxisInAltrPos=function(t,e){var r=e.side;return"xaxis"===t?"top"===r:"yaxis"===t?"right"===r:void 0},s.getLabelPad=function(t,e){var r=e.titlefont.size,n=e.showticklabels;return"xaxis"===t?"top"===e.side?r*(1.5+(n?1:0))-10:r*(1.5+(n?.5:0))-10:"yaxis"===t?"right"===e.side?10+r*(1.5+(n?1:.5)):10+r*(1.5+(n?.5:0)):void 0},s.getTickPad=function(t){return"outside"===t.ticks?10+t.ticklen:15},s.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return"inside"===t.ticks?-e:e},e.exports=function(t){return new o(t)}},{"../../lib/html2unicode":691,"../../lib/str2rgbarray":717,"../cartesian/axes":742}],781:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,i=t("./scene2d"),a=t("../layout_attributes"),o=t("../../constants/xmlns_namespaces"),s=t("../cartesian/constants"),l=t("../cartesian"),c=t("../../components/fx/layout_attributes"),u=t("../get_data").getSubplotData;r.name="gl2d",r.attr=["xaxis","yaxis"],r.idRoot=["x","y"],r.idRegex=s.idRegex,r.attrRegex=s.attrRegex,r.attributes=t("../cartesian/attributes"),r.supplyLayoutDefaults=function(t,e,r){e._has("cartesian")||l.supplyLayoutDefaults(t,e,r)},r.layoutAttrOverrides=n(l.layoutAttributes,"plot","from-root"),r.baseLayoutAttrOverrides=n({plot_bgcolor:a.plot_bgcolor,hoverlabel:c.hoverlabel},"plot","nested"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,a=0;a<n.length;a++){var o=n[a],s=e._plots[o],l=u(r,"gl2d",o),c=s._scene2d;void 0===c&&(c=new i({id:o,graphDiv:t,container:t.querySelector(".gl-container"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),s._scene2d=c),c.plot(l,t.calcdata,e,t.layout)}},r.clean=function(t,e,r,n){for(var i=n._subplots.gl2d||[],a=0;a<i.length;a++){var o=i[a],s=n._plots[o];if(s._scene2d)0===u(t,"gl2d",o).length&&(s._scene2d.destroy(),delete n._plots[o])}l.clean.apply(this,arguments)},r.drawFramework=function(t){t._context.staticPlot||l.drawFramework(t)},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){var i=e._plots[r[n]]._scene2d,a=i.toImage("png");e._glimages.append("svg:image").attr({xmlns:o.svg,"xlink:href":a,x:0,y:0,width:"100%",height:"100%",preserveAspectRatio:"none"}),i.destroy()}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){e._plots[r[n]]._scene2d.updateFx(e.dragmode)}}},{"../../components/fx/layout_attributes":610,"../../constants/xmlns_namespaces":671,"../../plot_api/edit_types":725,"../cartesian":753,"../cartesian/attributes":740,"../cartesian/constants":747,"../get_data":778,"../layout_attributes":796,"./scene2d":782}],782:[function(t,e,r){"use strict";var n,i,a=t("../../registry"),o=t("../../plots/cartesian/axes"),s=t("../../components/fx"),l=t("gl-plot2d"),c=t("gl-spikes2d"),u=t("gl-select-box"),f=t("webgl-context"),h=t("./convert"),p=t("./camera"),d=t("../../lib/html2unicode"),g=t("../../lib/show_no_webgl_msg"),m=t("../cartesian/constraints"),v=m.enforce,y=m.clean,x=t("../cartesian/autorange").doAutoRange,b=["xaxis","yaxis"],_=t("../cartesian/constants").SUBPLOT_PATTERN;function w(t,e){this.container=t.container,this.graphDiv=t.graphDiv,this.pixelRatio=t.plotGlPixelRatio||window.devicePixelRatio,this.id=t.id,this.staticPlot=!!t.staticPlot,this.scrollZoom=this.graphDiv._context.scrollZoom,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.stopped||(this.glplotOptions=h(this),this.glplotOptions.merge(e),this.glplot=l(this.glplotOptions),this.camera=p(this),this.traces={},this.spikes=c(this.glplot),this.selectBox=u(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw())}e.exports=w;var k=w.prototype;k.makeFramework=function(){if(this.staticPlot){if(!(i||(n=document.createElement("canvas"),i=f({canvas:n,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error("Error creating static canvas/context for image server");this.canvas=n,this.gl=i}else{var t=this.container.querySelector(".gl-canvas-focus"),e=f({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});if(!e)return g(this),void(this.stopped=!0);this.canvas=t,this.gl=e}var r=this.canvas;r.style.width="100%",r.style.height="100%",r.style.position="absolute",r.style.top="0px",r.style.left="0px",r.style["pointer-events"]="none",this.updateSize(r),r.className+=" user-select-none";var a=this.svgContainer=document.createElementNS("http://www.w3.org/2000/svg","svg");a.style.position="absolute",a.style.top=a.style.left="0px",a.style.width=a.style.height="100%",a.style["z-index"]=20,a.style["pointer-events"]="none";var o=this.mouseContainer=document.createElement("div");o.style.position="absolute",o.style["pointer-events"]="auto",this.pickCanvas=this.container.querySelector(".gl-canvas-pick");var s=this.container;s.appendChild(a),s.appendChild(o);var l=this;o.addEventListener("mouseout",function(){l.isMouseOver=!1,l.unhover()}),o.addEventListener("mouseover",function(){l.isMouseOver=!0})},k.toImage=function(t){t||(t="png"),this.stopped=!0,this.staticPlot&&this.container.appendChild(n),this.updateSize(this.canvas);var e=this.glplot.gl,r=e.drawingBufferWidth,i=e.drawingBufferHeight;e.clearColor(1,1,1,0),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),this.glplot.setDirty(),this.glplot.draw(),e.bindFramebuffer(e.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a);for(var o=0,s=i-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var c=0;c<4;++c){var u=a[4*(r*o+l)+c];a[4*(r*o+l)+c]=a[4*(r*s+l)+c],a[4*(r*s+l)+c]=u}var f=document.createElement("canvas");f.width=r,f.height=i;var h,p=f.getContext("2d"),d=p.createImageData(r,i);switch(d.data.set(a),p.putImageData(d,0,0),t){case"jpeg":h=f.toDataURL("image/jpeg");break;case"webp":h=f.toDataURL("image/webp");break;default:h=f.toDataURL("image/png")}return this.staticPlot&&this.container.removeChild(n),h},k.updateSize=function(t){t||(t=this.canvas);var e=this.pixelRatio,r=this.fullLayout,n=r.width,i=r.height,a=0|Math.ceil(e*n),o=0|Math.ceil(e*i);return t.width===a&&t.height===o||(t.width=a,t.height=o),t},k.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[o.calcTicks(this.xaxis),o.calcTicks(this.yaxis)],e=0;e<2;++e)for(var r=0;r<t[e].length;++r)t[e][r].text=d(t[e][r].text+"");return t},k.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(_),r="xaxis"+e[1],n="yaxis"+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},k.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout;n.xaxis.autorange=e.autorange,n.xaxis.range=e.range.slice(0),n.yaxis.autorange=r.autorange,n.yaxis.range=r.range.slice(0);var i={lastInputTime:this.camera.lastInputTime};i[e._name]=e.range.slice(0),i[r._name]=r.range.slice(0),t.emit("plotly_relayout",i)},k.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks();(function(t,e){for(var r=0;r<2;++r){var n=t[r],i=e[r];if(n.length!==i.length)return!0;for(var a=0;a<n.length;++a)if(n[a].x!==i[a].x)return!0}return!1})(e,this.glplotOptions.ticks)&&(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},k.handleAnnotations=function(){for(var t=this.graphDiv,e=this.fullLayout.annotations,r=0;r<e.length;r++){var n=e[r];n.xref===this.xaxis._id&&n.yref===this.yaxis._id&&a.getComponentMethod("annotations","drawOne")(t,r)}},k.destroy=function(){if(this.glplot){var t=this.traces;t&&Object.keys(t).map(function(e){t[e].dispose(),delete t[e]}),this.glplot.dispose(),this.container.removeChild(this.svgContainer),this.container.removeChild(this.mouseContainer),this.fullData=null,this.glplot=null,this.stopped=!0,this.camera.mouseListener.enabled=!1,this.mouseContainer.removeEventListener("wheel",this.camera.wheelListener),this.camera=null}},k.plot=function(t,e,r){var n=this.glplot;this.updateRefs(r),this.xaxis.clearCalc(),this.yaxis.clearCalc(),this.updateTraces(t,e),this.updateFx(r.dragmode);var i=r.width,a=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,i,a];var s={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};y(s,this.xaxis),y(s,this.yaxis);var l,c,u=r._size,f=this.xaxis.domain,h=this.yaxis.domain;for(o.viewBox=[u.l+f[0]*u.w,u.b+h[0]*u.h,i-u.r-(1-f[1])*u.w,a-u.t-(1-h[1])*u.h],this.mouseContainer.style.width=u.w*(f[1]-f[0])+"px",this.mouseContainer.style.height=u.h*(h[1]-h[0])+"px",this.mouseContainer.height=u.h*(h[1]-h[0]),this.mouseContainer.style.left=u.l+f[0]*u.w+"px",this.mouseContainer.style.top=u.t+(1-h[1])*u.h+"px",c=0;c<2;++c)(l=this[b[c]])._length=o.viewBox[c+2]-o.viewBox[c],x(this.graphDiv,l),l.setScale();v(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},k.calcDataBox=function(){var t=this.xaxis,e=this.yaxis,r=t.range,n=e.range,i=t.r2l,a=e.r2l;return[i(r[0]),a(n[0]),i(r[1]),a(n[1])]},k.setRanges=function(t){var e=this.xaxis,r=this.yaxis,n=e.l2r,i=r.l2r;e.range=[n(t[0]),n(t[2])],r.range=[i(t[1]),i(t[3])]},k.updateTraces=function(t,e){var r,n,i,a=Object.keys(this.traces);this.fullData=t;t:for(r=0;r<a.length;r++){var o=a[r],s=this.traces[o];for(n=0;n<t.length;n++)if((i=t[n]).uid===o&&i.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r<t.length;r++){i=t[r];var l=e[r],c=this.traces[i.uid];c?c.update(i,l):(c=i._module.plot(this,i,l),this.traces[i.uid]=c)}this.glplot.objects.sort(function(t,e){return t._trace.index-e._trace.index})},k.updateFx=function(t){"lasso"===t||"select"===t?(this.pickCanvas.style["pointer-events"]="none",this.mouseContainer.style["pointer-events"]="none"):(this.pickCanvas.style["pointer-events"]="auto",this.mouseContainer.style["pointer-events"]="auto"),this.mouseContainer.style.cursor="pan"===t?"move":"zoom"===t?"crosshair":null},k.emitPointAction=function(t,e){for(var r,n=t.trace.uid,i=t.pointIndex,a=0;a<this.fullData.length;a++)this.fullData[a].uid===n&&(r=this.fullData[a]);var o={x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r.index,pointNumber:i,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};s.appendArrayPointValue(o,r,i),this.graphDiv.emit(e,{points:[o]})},k.draw=function(){if(!this.stopped){requestAnimationFrame(this.redraw);var t=this.glplot,e=this.camera,r=e.mouseListener,n=1===this.lastButtonState&&0===r.buttons,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a,o=r.x*t.pixelRatio,l=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&"zoom"===i.dragmode){this.selectBox.enabled=!0;for(var c=this.selectBox.selectBox=[Math.min(e.boxStart[0],e.boxEnd[0]),Math.min(e.boxStart[1],e.boxEnd[1]),Math.max(e.boxStart[0],e.boxEnd[0]),Math.max(e.boxStart[1],e.boxEnd[1])],u=0;u<2;u++)e.boxStart[u]===e.boxEnd[u]&&(c[u]=t.dataBox[u],c[u+2]=t.dataBox[u+2]);t.setDirty()}else if(!e.panning&&this.isMouseOver){this.selectBox.enabled=!1;var f=i._size,h=this.xaxis.domain,p=this.yaxis.domain,d=(a=t.pick(o/t.pixelRatio+f.l+h[0]*f.w,l/t.pixelRatio-(f.t+(1-p[1])*f.h)))&&a.object._trace.handlePick(a);if(d&&n&&this.emitPointAction(d,"plotly_click"),a&&"skip"!==a.object._trace.hoverinfo&&i.hovermode&&d&&(!this.lastPickResult||this.lastPickResult.traceUid!==d.trace.uid||this.lastPickResult.dataCoord[0]!==d.dataCoord[0]||this.lastPickResult.dataCoord[1]!==d.dataCoord[1])){var g=d;this.lastPickResult={traceUid:d.trace?d.trace.uid:null,dataCoord:d.dataCoord.slice()},this.spikes.update({center:a.dataCoord}),g.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(a.dataCoord[0]-t.dataBox[0])/(t.dataBox[2]-t.dataBox[0])+t.viewBox[0])/t.pixelRatio,(this.canvas.height-(t.viewBox[3]-t.viewBox[1])*(a.dataCoord[1]-t.dataBox[1])/(t.dataBox[3]-t.dataBox[1])-t.viewBox[1])/t.pixelRatio],this.emitPointAction(d,"plotly_hover");var m=this.fullData[g.trace.index]||{},v=g.pointIndex,y=s.castHoverinfo(m,i,v);if(y&&"all"!==y){var x=y.split("+");-1===x.indexOf("x")&&(g.traceCoord[0]=void 0),-1===x.indexOf("y")&&(g.traceCoord[1]=void 0),-1===x.indexOf("z")&&(g.traceCoord[2]=void 0),-1===x.indexOf("text")&&(g.textLabel=void 0),-1===x.indexOf("name")&&(g.name=void 0)}s.loneHover({x:g.screenCoord[0],y:g.screenCoord[1],xLabel:this.hoverFormatter("xaxis",g.traceCoord[0]),yLabel:this.hoverFormatter("yaxis",g.traceCoord[1]),zLabel:g.traceCoord[2],text:g.textLabel,name:g.name,color:s.castHoverOption(m,v,"bgcolor")||g.color,borderColor:s.castHoverOption(m,v,"bordercolor"),fontFamily:s.castHoverOption(m,v,"font.family"),fontSize:s.castHoverOption(m,v,"font.size"),fontColor:s.castHoverOption(m,v,"font.color")},{container:this.svgContainer,gd:this.graphDiv})}}a||this.unhover(),t.draw()}},k.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit("plotly_unhover"),s.loneUnhover(this.svgContainer))},k.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return o.tickText(r,r.c2l(e),"hover").text}}},{"../../components/fx":609,"../../lib/html2unicode":691,"../../lib/show_no_webgl_msg":715,"../../plots/cartesian/axes":742,"../../registry":825,"../cartesian/autorange":741,"../cartesian/constants":747,"../cartesian/constraints":749,"./camera":779,"./convert":780,"gl-plot2d":274,"gl-select-box":284,"gl-spikes2d":293,"webgl-context":530}],783:[function(t,e,r){"use strict";e.exports=function(t,e){t=t||document.body,e=e||{};var r=[.01,1/0];"distanceLimits"in e&&(r[0]=e.distanceLimits[0],r[1]=e.distanceLimits[1]);"zoomMin"in e&&(r[0]=e.zoomMin);"zoomMax"in e&&(r[1]=e.zoomMax);var c=i({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||"orbit",distanceLimits:r}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],f=0,h=t.clientWidth,p=t.clientHeight,d={keyBindingMode:"rotate",view:c,element:t,delay:e.delay||16,rotateSpeed:e.rotateSpeed||1,zoomSpeed:e.zoomSpeed||1,translateSpeed:e.translateSpeed||1,flipX:!!e.flipX,flipY:!!e.flipY,modes:c.modes,tick:function(){var e=n(),r=this.delay,i=e-2*r;c.idle(e-r),c.recalcMatrix(i),c.flush(e-(100+2*r));for(var a=!0,o=c.computedMatrix,s=0;s<16;++s)a=a&&u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&&t.clientHeight===p;return h=t.clientWidth,p=t.clientHeight,a?!l:(f=Math.exp(c.computedRadius[0]),!0)},lookAt:function(t,e,r){c.lookAt(c.lastT(),t,e,r)},rotate:function(t,e,r){c.rotate(c.lastT(),t,e,r)},pan:function(t,e,r){c.pan(c.lastT(),t,e,r)},translate:function(t,e,r){c.translate(c.lastT(),t,e,r)}};Object.defineProperties(d,{matrix:{get:function(){return c.computedMatrix},set:function(t){return c.setMatrix(c.lastT(),t),c.computedMatrix},enumerable:!0},mode:{get:function(){return c.getMode()},set:function(t){var e=c.computedUp.slice(),r=c.computedEye.slice(),i=c.computedCenter.slice();if(c.setMode(t),"turntable"===t){var a=n();c._active.lookAt(a,r,i,e),c._active.lookAt(a+500,r,i,[0,0,1]),c._active.flush(a)}return c.getMode()},enumerable:!0},center:{get:function(){return c.computedCenter},set:function(t){return c.lookAt(c.lastT(),null,t),c.computedCenter},enumerable:!0},eye:{get:function(){return c.computedEye},set:function(t){return c.lookAt(c.lastT(),t),c.computedEye},enumerable:!0},up:{get:function(){return c.computedUp},set:function(t){return c.lookAt(c.lastT(),null,null,t),c.computedUp},enumerable:!0},distance:{get:function(){return f},set:function(t){return c.setDistance(c.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return c.getDistanceLimits(r)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener("contextmenu",function(t){return t.preventDefault(),!1});var g=0,m=0,v={shift:!1,control:!1,alt:!1,meta:!1};function y(e,r,i,a){var o=d.keyBindingMode;if(!1!==o){var s="rotate"===o,l="pan"===o,u="zoom"===o,h=!!a.control,p=!!a.alt,y=!!a.shift,x=!!(1&e),b=!!(2&e),_=!!(4&e),w=1/t.clientHeight,k=w*(r-g),M=w*(i-m),A=d.flipX?1:-1,T=d.flipY?1:-1,S=n(),E=Math.PI*d.rotateSpeed;if((s&&x&&!h&&!p&&!y||x&&!h&&!p&&y)&&c.rotate(S,A*E*k,-T*E*M,0),(l&&x&&!h&&!p&&!y||b||x&&h&&!p&&!y)&&c.pan(S,-d.translateSpeed*k*f,d.translateSpeed*M*f,0),u&&x&&!h&&!p&&!y||_||x&&!h&&p&&!y){var C=-d.zoomSpeed*M/window.innerHeight*(S-c.lastT())*100;c.pan(S,0,0,f*(Math.exp(C)-1))}return g=r,m=i,v=a,!0}}return d.mouseListener=a(t,y),t.addEventListener("touchstart",function(e){var r=s(e.changedTouches[0],t);y(0,r[0],r[1],v),y(1,r[0],r[1],v),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener("touchmove",function(e){var r=s(e.changedTouches[0],t);y(1,r[0],r[1],v),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener("touchend",function(t){y(0,g,m,v),t.preventDefault()},!!l&&{passive:!1}),d.wheelListener=o(t,function(t,e){if(!1!==d.keyBindingMode){var r=d.flipX?1:-1,i=d.flipY?1:-1,a=n();if(Math.abs(t)>Math.abs(e))c.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else{var o=-d.zoomSpeed*i*e/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,f*(Math.exp(o)-1))}}},!0),d};var n=t("right-now"),i=t("3d-view"),a=t("mouse-change"),o=t("mouse-wheel"),s=t("mouse-event-offset"),l=t("has-passive-events")},{"3d-view":44,"has-passive-events":392,"mouse-change":415,"mouse-event-offset":416,"mouse-wheel":418,"right-now":477}],784:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,i=t("../../components/fx/layout_attributes"),a=t("./scene"),o=t("../get_data").getSubplotData,s=t("../../lib"),l=t("../../constants/xmlns_namespaces");r.name="gl3d",r.attr="scene",r.idRoot="scene",r.idRegex=r.attrRegex=s.counterRegex("scene"),r.attributes=t("./layout/attributes"),r.layoutAttributes=t("./layout/layout_attributes"),r.baseLayoutAttrOverrides=n({hoverlabel:i.hoverlabel},"plot","nested"),r.supplyLayoutDefaults=t("./layout/defaults"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,i=0;i<n.length;i++){var l=n[i],c=o(r,"gl3d",l),u=e[l],f=u._scene;f||(f=new a({id:l,graphDiv:t,container:t.querySelector(".gl-container"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),u._scene=f),f.cameraInitial||(f.cameraInitial=s.extendDeep({},u.camera)),f.plot(c,e,t.layout)}},r.clean=function(t,e,r,n){for(var i=n._subplots.gl3d||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(".annotation-"+o).remove())}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=e._size,i=0;i<r.length;i++){var a=e[r[i]],o=a.domain,s=a._scene,c=s.toImage("png");e._glimages.append("svg:image").attr({xmlns:l.svg,"xlink:href":c,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:"none"}),s.destroy()}},r.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return"1"===e&&(e=""),"scene"+e}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){e[r[n]]._scene.updateFx(e.dragmode,e.hovermode)}}},{"../../components/fx/layout_attributes":610,"../../constants/xmlns_namespaces":671,"../../lib":693,"../../plot_api/edit_types":725,"../get_data":778,"./layout/attributes":785,"./layout/defaults":789,"./layout/layout_attributes":790,"./scene":794}],785:[function(t,e,r){"use strict";e.exports={scene:{valType:"subplotid",dflt:"scene",editType:"calc+clearAxisTypes"}}},{}],786:[function(t,e,r){"use strict";var n=t("../../../components/color"),i=t("../../cartesian/layout_attributes"),a=t("../../../lib/extend").extendFlat,o=t("../../../plot_api/edit_types").overrideAll;e.exports=o({visible:i.visible,showspikes:{valType:"boolean",dflt:!0},spikesides:{valType:"boolean",dflt:!0},spikethickness:{valType:"number",min:0,dflt:2},spikecolor:{valType:"color",dflt:n.defaultLine},showbackground:{valType:"boolean",dflt:!1},backgroundcolor:{valType:"color",dflt:"rgba(204, 204, 204, 0.5)"},showaxeslabels:{valType:"boolean",dflt:!0},color:i.color,categoryorder:i.categoryorder,categoryarray:i.categoryarray,title:i.title,titlefont:i.titlefont,type:i.type,autorange:i.autorange,rangemode:i.rangemode,range:i.range,tickmode:i.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,mirror:i.mirror,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,tickfont:i.tickfont,tickangle:i.tickangle,tickprefix:i.tickprefix,showtickprefix:i.showtickprefix,ticksuffix:i.ticksuffix,showticksuffix:i.showticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,separatethousands:i.separatethousands,tickformat:i.tickformat,tickformatstops:i.tickformatstops,hoverformat:i.hoverformat,showline:i.showline,linecolor:i.linecolor,linewidth:i.linewidth,showgrid:i.showgrid,gridcolor:a({},i.gridcolor,{dflt:"rgb(204, 204, 204)"}),gridwidth:i.gridwidth,zeroline:i.zeroline,zerolinecolor:i.zerolinecolor,zerolinewidth:i.zerolinewidth},"plot","from-root")},{"../../../components/color":567,"../../../lib/extend":682,"../../../plot_api/edit_types":725,"../../cartesian/layout_attributes":754}],787:[function(t,e,r){"use strict";var n=t("tinycolor2").mix,i=t("../../../lib"),a=t("../../../plot_api/plot_template"),o=t("./axis_attributes"),s=t("../../cartesian/type_defaults"),l=t("../../cartesian/axis_defaults"),c=["xaxis","yaxis","zaxis"];e.exports=function(t,e,r){var u,f;function h(t,e){return i.coerce(u,f,o,t,e)}for(var p=0;p<c.length;p++){var d=c[p];u=t[d]||{},(f=a.newContainer(e,d))._id=d[0]+r.scene,f._name=d,s(u,f,h,r),l(u,f,h,{font:r.font,letter:d[0],data:r.data,showGrid:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),h("gridcolor",n(f.color,r.bgColor,13600/187).toRgbString()),h("title",d[0]),f.setScale=i.noop,h("showspikes")&&(h("spikesides"),h("spikethickness"),h("spikecolor",f.color)),h("showaxeslabels"),h("showbackground")&&h("backgroundcolor")}}},{"../../../lib":693,"../../../plot_api/plot_template":732,"../../cartesian/axis_defaults":744,"../../cartesian/type_defaults":765,"./axis_attributes":786,tinycolor2:511}],788:[function(t,e,r){"use strict";var n=t("../../../lib/html2unicode"),i=t("../../../lib/str2rgbarray"),a=["xaxis","yaxis","zaxis"];function o(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont=["Open Sans","Open Sans","Open Sans"],this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}o.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[a[e]];r.visible?(this.labels[e]=n(r.title),"titlefont"in r&&(r.titlefont.color&&(this.labelColor[e]=i(r.titlefont.color)),r.titlefont.family&&(this.labelFont[e]=r.titlefont.family),r.titlefont.size&&(this.labelSize[e]=r.titlefont.size)),"showline"in r&&(this.lineEnable[e]=r.showline),"linecolor"in r&&(this.lineColor[e]=i(r.linecolor)),"linewidth"in r&&(this.lineWidth[e]=r.linewidth),"showgrid"in r&&(this.gridEnable[e]=r.showgrid),"gridcolor"in r&&(this.gridColor[e]=i(r.gridcolor)),"gridwidth"in r&&(this.gridWidth[e]=r.gridwidth),"log"===r.type?this.zeroEnable[e]=!1:"zeroline"in r&&(this.zeroEnable[e]=r.zeroline),"zerolinecolor"in r&&(this.zeroLineColor[e]=i(r.zerolinecolor)),"zerolinewidth"in r&&(this.zeroLineWidth[e]=r.zerolinewidth),"ticks"in r&&r.ticks?this.lineTickEnable[e]=!0:this.lineTickEnable[e]=!1,"ticklen"in r&&(this.lineTickLength[e]=this._defaultLineTickLength[e]=r.ticklen),"tickcolor"in r&&(this.lineTickColor[e]=i(r.tickcolor)),"tickwidth"in r&&(this.lineTickWidth[e]=r.tickwidth),"tickangle"in r&&(this.tickAngle[e]="auto"===r.tickangle?0:Math.PI*-r.tickangle/180),"showticklabels"in r&&(this.tickEnable[e]=r.showticklabels),"tickfont"in r&&(r.tickfont.color&&(this.tickColor[e]=i(r.tickfont.color)),r.tickfont.family&&(this.tickFont[e]=r.tickfont.family),r.tickfont.size&&(this.tickSize[e]=r.tickfont.size)),"mirror"in r?-1!==["ticks","all","allticks"].indexOf(r.mirror)?(this.lineTickMirror[e]=!0,this.lineMirror[e]=!0):!0===r.mirror?(this.lineTickMirror[e]=!1,this.lineMirror[e]=!0):(this.lineTickMirror[e]=!1,this.lineMirror[e]=!1):this.lineMirror[e]=!1,"showbackground"in r&&!1!==r.showbackground?(this.backgroundEnable[e]=!0,this.backgroundColor[e]=i(r.backgroundcolor)):this.backgroundEnable[e]=!1):(this.tickEnable[e]=!1,this.labelEnable[e]=!1,this.lineEnable[e]=!1,this.lineTickEnable[e]=!1,this.gridEnable[e]=!1,this.zeroEnable[e]=!1,this.backgroundEnable[e]=!1)}},e.exports=function(t){var e=new o;return e.merge(t),e}},{"../../../lib/html2unicode":691,"../../../lib/str2rgbarray":717}],789:[function(t,e,r){"use strict";var n=t("../../../lib"),i=t("../../../components/color"),a=t("../../../registry"),o=t("../../subplot_defaults"),s=t("./axis_defaults"),l=t("./layout_attributes");function c(t,e,r,n){for(var o=r("bgcolor"),l=i.combine(o,n.paper_bgcolor),c=["up","center","eye"],u=0;u<c.length;u++)r("camera."+c[u]+".x"),r("camera."+c[u]+".y"),r("camera."+c[u]+".z");var f=!!r("aspectratio.x")&&!!r("aspectratio.y")&&!!r("aspectratio.z"),h=r("aspectmode",f?"manual":"auto");f||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},"manual"===h&&(e.aspectmode="auto"),t.aspectmode=e.aspectmode),s(t,e,{font:n.font,scene:n.id,data:n.fullData,bgColor:l,calendar:n.calendar,fullLayout:n.fullLayout}),a.getComponentMethod("annotations3d","handleDefaults")(t,e,n),r("dragmode",n.getDfltFromLayout("dragmode")),r("hovermode",n.getDfltFromLayout("hovermode"))}e.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:"gl3d",attributes:l,handleDefaults:c,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{"../../../components/color":567,"../../../lib":693,"../../../registry":825,"../../subplot_defaults":820,"./axis_defaults":787,"./layout_attributes":790}],790:[function(t,e,r){"use strict";var n=t("./axis_attributes"),i=t("../../domain").attributes,a=t("../../../lib/extend").extendFlat,o=t("../../../lib").counterRegex;function s(t,e,r){return{x:{valType:"number",dflt:t,editType:"camera"},y:{valType:"number",dflt:e,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}e.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),editType:"camera"},domain:i({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],dflt:"turntable",editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},{"../../../lib":693,"../../../lib/extend":682,"../../domain":767,"./axis_attributes":786}],791:[function(t,e,r){"use strict";var n=t("../../../lib/str2rgbarray"),i=["xaxis","yaxis","zaxis"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},e.exports=function(t){var e=new a;return e.merge(t),e}},{"../../../lib/str2rgbarray":717}],792:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,l=t.fullSceneLayout,c=[[],[],[]],u=0;u<3;++u){var f=l[o[u]];if(f._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(f._length)===1/0)c[u]=[];else{f._input_range=f.range.slice(),f.range[0]=r[u].lo/t.dataScale[u],f.range[1]=r[u].hi/t.dataScale[u],f._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),f.range[0]===f.range[1]&&(f.range[0]-=1,f.range[1]+=1);var h=f.tickmode;if("auto"===f.tickmode){f.tickmode="linear";var p=f.nticks||i.constrain(f._length/40,4,9);n.autoTicks(f,Math.abs(f.range[1]-f.range[0])/p)}for(var d=n.calcTicks(f),g=0;g<d.length;++g)d[g].x=d[g].x*t.dataScale[u],d[g].text=a(d[g].text);c[u]=d,f.tickmode=h}}e.ticks=c;for(var u=0;u<3;++u){s[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]);for(var g=0;g<2;++g)e.bounds[g][u]=t.glplot.bounds[g][u]}t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;e[r]=i}return e}(c)};var n=t("../../cartesian/axes"),i=t("../../../lib"),a=t("../../../lib/html2unicode"),o=["xaxis","yaxis","zaxis"],s=[0,0,0]},{"../../../lib":693,"../../../lib/html2unicode":691,"../../cartesian/axes":742}],793:[function(t,e,r){"use strict";function n(t,e){var r,n,i=[0,0,0,0];for(r=0;r<4;++r)for(n=0;n<4;++n)i[n]+=t[4*r+n]*e[r];return i}e.exports=function(t,e){return n(t.projection,n(t.view,n(t.model,[e[0],e[1],e[2],1])))}},{}],794:[function(t,e,r){"use strict";var n,i,a=t("gl-plot3d"),o=t("webgl-context"),s=t("has-passive-events"),l=t("../../registry"),c=t("../../lib"),u=t("../../plots/cartesian/axes"),f=t("../../components/fx"),h=t("../../lib/str2rgbarray"),p=t("../../lib/show_no_webgl_msg"),d=t("./camera"),g=t("./project"),m=t("./layout/convert"),v=t("./layout/spikes"),y=t("./layout/tick_marks");function x(t,e,r,l){var c=t.graphDiv,h={canvas:r,gl:l,container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1};if(t.staticMode){if(!(i||(n=document.createElement("canvas"),i=o({canvas:n,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error("error creating static canvas/context for image server");h.pixelRatio=t.pixelRatio,h.gl=i,h.canvas=n}try{t.glplot=a(h)}catch(e){return p(t)}var m=function(t){if(!1!==t.fullSceneLayout.dragmode){var e={};e[t.id+".camera"]=M(t.camera),t.saveCamera(c.layout),t.graphDiv.emit("plotly_relayout",e)}};if(t.glplot.canvas.addEventListener("mouseup",m.bind(null,t)),t.glplot.canvas.addEventListener("wheel",m.bind(null,t),!!s&&{passive:!1}),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",function(e){c&&c.emit&&c.emit("plotly_webglcontextlost",{event:e,layer:t.id})},!1),!t.camera){var v=t.fullSceneLayout.camera;t.camera=d(t.container,{center:[v.center.x,v.center.y,v.center.z],eye:[v.eye.x,v.eye.y,v.eye.z],up:[v.up.x,v.up.y,v.up.z],zoomMin:.1,zoomMax:100,mode:"orbit"})}return t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(t){var e,r=t.svgContainer,n=t.container.getBoundingClientRect(),i=n.width,a=n.height;r.setAttributeNS(null,"viewBox","0 0 "+i+" "+a),r.setAttributeNS(null,"width",i),r.setAttributeNS(null,"height",a),y(t),t.glplot.axes.update(t.axesOptions);for(var o,s=Object.keys(t.traces),l=null,c=t.glplot.selection,h=0;h<s.length;++h)"skip"!==(e=t.traces[s[h]]).data.hoverinfo&&e.handlePick(c)&&(l=e),e.setContourLevels&&e.setContourLevels();function p(e,r){var n=t.fullSceneLayout[e];return u.tickText(n,n.d2l(r),"hover").text}if(null!==l){var d=g(t.glplot.cameraParams,c.dataCoordinate);e=l.data;var m,v=c.index,x=f.castHoverinfo(e,t.fullLayout,v),b=x.split("+"),_="all"===x,w=p("xaxis",c.traceCoordinate[0]),k=p("yaxis",c.traceCoordinate[1]),M=p("zaxis",c.traceCoordinate[2]);if(_||(-1===b.indexOf("x")&&(w=void 0),-1===b.indexOf("y")&&(k=void 0),-1===b.indexOf("z")&&(M=void 0),-1===b.indexOf("text")&&(c.textLabel=void 0),-1===b.indexOf("name")&&(l.name=void 0)),"cone"===e.type||"streamtube"===e.type){var A=[];(_||-1!==b.indexOf("u"))&&A.push("u: "+p("xaxis",c.traceCoordinate[3])),(_||-1!==b.indexOf("v"))&&A.push("v: "+p("yaxis",c.traceCoordinate[4])),(_||-1!==b.indexOf("w"))&&A.push("w: "+p("zaxis",c.traceCoordinate[5])),(_||-1!==b.indexOf("norm"))&&A.push("norm: "+c.traceCoordinate[6].toPrecision(3)),"streamtube"!==e.type||!_&&-1===b.indexOf("divergence")||A.push("divergence: "+c.traceCoordinate[7].toPrecision(3)),c.textLabel&&A.push(c.textLabel),m=A.join("<br>")}else m=c.textLabel;t.fullSceneLayout.hovermode&&f.loneHover({x:(.5+.5*d[0]/d[3])*i,y:(.5-.5*d[1]/d[3])*a,xLabel:w,yLabel:k,zLabel:M,text:m,name:l.name,color:f.castHoverOption(e,v,"bgcolor")||l.color,borderColor:f.castHoverOption(e,v,"bordercolor"),fontFamily:f.castHoverOption(e,v,"font.family"),fontSize:f.castHoverOption(e,v,"font.size"),fontColor:f.castHoverOption(e,v,"font.color")},{container:r,gd:t.graphDiv});var T={x:c.traceCoordinate[0],y:c.traceCoordinate[1],z:c.traceCoordinate[2],data:e._input,fullData:e,curveNumber:e.index,pointNumber:v};e._module.eventData&&(T=e._module.eventData(T,c,e,{},v)),f.appendArrayPointValue(T,e,v);var S={points:[T]};c.buttons&&c.distance<5?t.graphDiv.emit("plotly_click",S):t.graphDiv.emit("plotly_hover",S),o=S}else f.loneUnhover(r),t.graphDiv.emit("plotly_unhover",o);t.drawAnnotations(t)}.bind(null,t),t.traces={},!0}function b(t,e){var r=document.createElement("div"),n=t.container;this.graphDiv=t.graphDiv;var i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.style.position="absolute",i.style.top=i.style.left="0px",i.style.width=i.style.height="100%",i.style["z-index"]=20,i.style["pointer-events"]="none",r.appendChild(i),this.svgContainer=i,r.id=t.id,r.style.position="absolute",r.style.top=r.style.left="0px",r.style.width=r.style.height="100%",n.appendChild(r),this.fullLayout=e,this.id=t.id||"scene",this.fullSceneLayout=e[this.id],this.plotArgs=[[],{},{}],this.axesOptions=m(e[this.id]),this.spikeOptions=v(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=l.getComponentMethod("annotations3d","convert"),this.drawAnnotations=l.getComponentMethod("annotations3d","draw"),x(this)}var _=b.prototype;_.recoverContext=function(){var t=this,e=this.glplot.gl,r=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(function n(){e.isContextLost()?requestAnimationFrame(n):x(t,t.fullLayout,r,e)?t.plot.apply(t,t.plotArgs):c.error("Catastrophic and unrecoverable WebGL error. Context lost.")})};var w=["xaxis","yaxis","zaxis"];function k(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=w[i],o=a.charAt(0),s=n[a],l=e[o],u=e[o+"calendar"],f=e["_"+o+"length"];if(c.isArrayOrTypedArray(l))for(var h,p=0;p<(f||l.length);p++)if(c.isArrayOrTypedArray(l[p]))for(var d=0;d<l[p].length;++d)h=s.d2l(l[p][d],0,u),!isNaN(h)&&isFinite(h)&&(r[0][i]=Math.min(r[0][i],h),r[1][i]=Math.max(r[1][i],h));else h=s.d2l(l[p],0,u),!isNaN(h)&&isFinite(h)&&(r[0][i]=Math.min(r[0][i],h),r[1][i]=Math.max(r[1][i],h));else r[0][i]=Math.min(r[0][i],0),r[1][i]=Math.max(r[1][i],f-1)}}function M(t){return{up:{x:t.up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]}}}_.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,i,a,o,s,l,c=e[this.id],u=r[this.id];c.bgcolor?this.glplot.clearColor=h(c.bgcolor):this.glplot.clearColor=[0,0,0,0],this.glplot.snapToData=!0,this.fullLayout=e,this.fullSceneLayout=c,this.glplotLayout=c,this.axesOptions.merge(c),this.spikeOptions.merge(c),this.setCamera(c.camera),this.updateFx(c.dragmode,c.hovermode),this.glplot.update({}),this.setConvert(s),t?Array.isArray(t)||(t=[t]):t=[];var f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(a=0;a<t.length;++a)!0===(n=t[a]).visible&&k(this,n,f);var p=[1,1,1];for(o=0;o<3;++o)f[0][o]>f[1][o]?p[o]=1:f[1][o]===f[0][o]?p[o]=1:p[o]=1/(f[1][o]-f[0][o]);for(this.dataScale=p,this.convertAnnotations(this),a=0;a<t.length;++a)!0===(n=t[a]).visible&&((i=this.traces[n.uid])?i.data.type===n.type?i.update(n):(i.dispose(),i=n._module.plot(this,n),this.traces[n.uid]=i):(i=n._module.plot(this,n),this.traces[n.uid]=i),i.name=n.name);var d=Object.keys(this.traces);t:for(a=0;a<d.length;++a){for(o=0;o<t.length;++o)if(t[o].uid===d[a]&&!0===t[o].visible)continue t;(i=this.traces[d[a]]).dispose(),delete this.traces[d[a]]}this.glplot.objects.sort(function(t,e){return t._trace.data.index-e._trace.data.index});var g=[[0,0,0],[0,0,0]],m=[],v={};for(a=0;a<3;++a){if((l=(s=c[w[a]]).type)in v?(v[l].acc*=p[a],v[l].count+=1):v[l]={acc:p[a],count:1},s.autorange){g[0][a]=1/0,g[1][a]=-1/0;var y=this.glplot.objects,x=this.fullSceneLayout.annotations||[],b=s._name.charAt(0);for(o=0;o<y.length;o++){var _=y[o],M=_.bounds,A=_._trace.data._pad||0;"ErrorBars"===_.constructor.name&&s._lowerLogErrorBound?g[0][a]=Math.min(g[0][a],s._lowerLogErrorBound):g[0][a]=Math.min(g[0][a],M[0][a]/p[a]-A),g[1][a]=Math.max(g[1][a],M[1][a]/p[a]+A)}for(o=0;o<x.length;o++){var T=x[o];if(T.visible){var S=s.r2l(T[b]);g[0][a]=Math.min(g[0][a],S),g[1][a]=Math.max(g[1][a],S)}}if("rangemode"in s&&"tozero"===s.rangemode&&(g[0][a]=Math.min(g[0][a],0),g[1][a]=Math.max(g[1][a],0)),g[0][a]>g[1][a])g[0][a]=-1,g[1][a]=1;else{var E=g[1][a]-g[0][a];g[0][a]-=E/32,g[1][a]+=E/32}}else{var C=s.range;g[0][a]=s.r2l(C[0]),g[1][a]=s.r2l(C[1])}g[0][a]===g[1][a]&&(g[0][a]-=1,g[1][a]+=1),m[a]=g[1][a]-g[0][a],this.glplot.bounds[0][a]=g[0][a]*p[a],this.glplot.bounds[1][a]=g[1][a]*p[a]}var L=[1,1,1];for(a=0;a<3;++a){var z=v[l=(s=c[w[a]]).type];L[a]=Math.pow(z.acc,1/z.count)/p[a]}var P;if("auto"===c.aspectmode)P=Math.max.apply(null,L)/Math.min.apply(null,L)<=4?L:[1,1,1];else if("cube"===c.aspectmode)P=[1,1,1];else if("data"===c.aspectmode)P=L;else{if("manual"!==c.aspectmode)throw new Error("scene.js aspectRatio was not one of the enumerated types");var O=c.aspectratio;P=[O.x,O.y,O.z]}c.aspectratio.x=u.aspectratio.x=P[0],c.aspectratio.y=u.aspectratio.y=P[1],c.aspectratio.z=u.aspectratio.z=P[2],this.glplot.aspect=P;var I=c.domain||null,D=e._size||null;if(I&&D){var R=this.container.style;R.position="absolute",R.left=D.l+I.x[0]*D.w+"px",R.top=D.t+(1-I.y[1])*D.h+"px",R.width=D.w*(I.x[1]-I.x[0])+"px",R.height=D.h*(I.y[1]-I.y[0])+"px"}this.glplot.redraw()}},_.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener("wheel",this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},_.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),M(this.glplot.camera)},_.setCamera=function(t){var e;this.glplot.camera.lookAt.apply(this,[[(e=t).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]])},_.saveCamera=function(t){var e=this.getCamera(),r=c.nestedProperty(t,this.id+".camera"),n=r.get(),i=!1;function a(t,e,r,n){var i=["up","center","eye"],a=["x","y","z"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}if(void 0===n)i=!0;else for(var o=0;o<3;o++)for(var s=0;s<3;s++)if(!a(e,n,o,s)){i=!0;break}return i&&r.set(e),i},_.updateFx=function(t,e){var r=this.camera;r&&("orbit"===t?(r.mode="orbit",r.keyBindingMode="rotate"):"turntable"===t?(r.up=[0,0,1],r.mode="turntable",r.keyBindingMode="rotate"):r.keyBindingMode=t),this.fullSceneLayout.hovermode=e},_.toImage=function(t){t||(t="png"),this.staticMode&&this.container.appendChild(n),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,i=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a);for(var o=0,s=i-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var c=0;c<4;++c){var u=a[4*(r*o+l)+c];a[4*(r*o+l)+c]=a[4*(r*s+l)+c],a[4*(r*s+l)+c]=u}var f=document.createElement("canvas");f.width=r,f.height=i;var h,p=f.getContext("2d"),d=p.createImageData(r,i);switch(d.data.set(a),p.putImageData(d,0,0),t){case"jpeg":h=f.toDataURL("image/jpeg");break;case"webp":h=f.toDataURL("image/webp");break;default:h=f.toDataURL("image/png")}return this.staticMode&&this.container.removeChild(n),h},_.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[w[t]];u.setConvert(e,this.fullLayout),e.setScale=c.noop}},e.exports=b},{"../../components/fx":609,"../../lib":693,"../../lib/show_no_webgl_msg":715,"../../lib/str2rgbarray":717,"../../plots/cartesian/axes":742,"../../registry":825,"./camera":783,"./layout/convert":788,"./layout/spikes":791,"./layout/tick_marks":792,"./project":793,"gl-plot3d":276,"has-passive-events":392,"webgl-context":530}],795:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;a<n;a++)i[a]=[t[a],e[a],r[a]];return i}},{}],796:[function(t,e,r){"use strict";var n=t("./font_attributes"),i=t("../components/color/attributes"),a=n({editType:"calc"});a.family.dflt='"Open Sans", verdana, arial, sans-serif',a.size.dflt=12,a.color.dflt=i.defaultLine,e.exports={font:a,title:{valType:"string",editType:"layoutstyle"},titlefont:n({editType:"layoutstyle"}),autosize:{valType:"boolean",dflt:!1,editType:"none"},width:{valType:"number",min:10,dflt:700,editType:"plot"},height:{valType:"number",min:10,dflt:450,editType:"plot"},margin:{l:{valType:"number",min:0,dflt:80,editType:"plot"},r:{valType:"number",min:0,dflt:80,editType:"plot"},t:{valType:"number",min:0,dflt:100,editType:"plot"},b:{valType:"number",min:0,dflt:80,editType:"plot"},pad:{valType:"number",min:0,dflt:0,editType:"plot"},autoexpand:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},paper_bgcolor:{valType:"color",dflt:i.background,editType:"plot"},plot_bgcolor:{valType:"color",dflt:i.background,editType:"layoutstyle"},separators:{valType:"string",editType:"plot"},hidesources:{valType:"boolean",dflt:!1,editType:"plot"},showlegend:{valType:"boolean",editType:"legend"},colorway:{valType:"colorlist",dflt:i.defaults,editType:"calc"},datarevision:{valType:"any",editType:"calc"},template:{valType:"any",editType:"calc"}}},{"../components/color/attributes":566,"./font_attributes":768}],797:[function(t,e,r){"use strict";e.exports={requiredVersion:"0.45.0",styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",controlContainerClassName:"mapboxgl-control-container",wrongVersionErrorMsg:["Your custom plotly.js bundle is not using the correct mapbox-gl version","Please install mapbox-gl@0.45.0."].join("\n"),noAccessTokenErrorMsg:["Missing Mapbox access token.","Mapbox trace type require a Mapbox access token to be registered.","For example:"," Plotly.plot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });","More info here: https://www.mapbox.com/help/define-access-token/"].join("\n"),mapOnErrorMsg:"Mapbox error.",styleRules:{map:"overflow:hidden;position:relative;","missing-css":"display:none"}}},{}],798:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){var r=t.split(" "),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=["",""],u=[0,0];switch(i){case"top":c[0]="top",u[1]=-l;break;case"bottom":c[0]="bottom",u[1]=l}switch(a){case"left":c[1]="right",u[0]=-s;break;case"right":c[1]="left",u[0]=s}return{anchor:c[0]&&c[1]?c.join("-"):c[0]?c[0]:c[1]?c[1]:"center",offset:u}}},{"../../lib":693}],799:[function(t,e,r){"use strict";var n=t("mapbox-gl"),i=t("../../lib"),a=t("../../plots/get_data").getSubplotCalcData,o=t("../../constants/xmlns_namespaces"),s=t("./mapbox"),l=t("./constants");for(var c in l.styleRules)i.addStyleRule(".mapboxgl-"+c,l.styleRules[c]);r.name="mapbox",r.attr="subplot",r.idRoot="mapbox",r.idRegex=r.attrRegex=i.counterRegex("mapbox"),r.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}},r.layoutAttributes=t("./layout_attributes"),r.supplyLayoutDefaults=t("./layout_defaults"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,o=e._subplots.mapbox;if(n.version!==l.requiredVersion)throw new Error(l.wrongVersionErrorMsg);var c=function(t,e){var r=t._fullLayout;if(""===t._context.mapboxAccessToken)return"";for(var n=0;n<e.length;n++){var i=r[e[n]];if(i.accesstoken)return i.accesstoken}throw new Error(l.noAccessTokenErrorMsg)}(t,o);n.accessToken=c;for(var u=0;u<o.length;u++){var f=o[u],h=a(r,"mapbox",f),p=e[f],d=p._subplot;d||(d=s({gd:t,container:e._glcontainer.node(),id:f,fullLayout:e,staticPlot:t._context.staticPlot}),e[f]._subplot=d),d.viewInitial||(d.viewInitial={center:i.extendFlat({},p.center),zoom:p.zoom,bearing:p.bearing,pitch:p.pitch}),d.plot(h,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.mapbox||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._subplot&&n[o]._subplot.destroy()}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=e._size,i=0;i<r.length;i++){var a=e[r[i]],s=a.domain,l=a._subplot,c=l.toImage("png");e._glimages.append("svg:image").attr({xmlns:o.svg,"xlink:href":c,x:n.l+n.w*s.x[0],y:n.t+n.h*(1-s.y[1]),width:n.w*(s.x[1]-s.x[0]),height:n.h*(s.y[1]-s.y[0]),preserveAspectRatio:"none"}),l.destroy()}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=0;n<r.length;n++){e[r[n]]._subplot.updateFx(e)}}},{"../../constants/xmlns_namespaces":671,"../../lib":693,"../../plots/get_data":778,"./constants":797,"./layout_attributes":801,"./layout_defaults":802,"./mapbox":803,"mapbox-gl":406}],800:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./convert_text_opts");function a(t,e){this.mapbox=t,this.map=t.map,this.uid=t.uid+"-layer"+e,this.idSource=this.uid+"-source",this.idLayer=this.uid+"-layer",this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var o=a.prototype;function s(t){var e=t.source;return t.visible&&(n.isPlainObject(e)||"string"==typeof e&&e.length>0)}function l(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var a=t.symbol,o=i(a.textposition,a.iconsize);n.extendFlat(e,{"icon-image":a.icon+"-15","icon-size":a.iconsize/10,"text-field":a.text,"text-size":a.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset}),n.extendFlat(r,{"icon-color":t.color,"text-color":a.textfont.color,"text-opacity":t.opacity})}return{layout:e,paint:r}}o.update=function(t){this.visible?this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=s(t)},o.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},o.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==t.below},o.updateSource=function(t){var e=this.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,s(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,i={type:r};"geojson"===r?e="data":"vector"===r&&(e="string"==typeof n?"url":"tiles");return i[e]=n,i}(t);e.addSource(this.idSource,r)}},o.updateLayer=function(t){var e=this.map,r=l(t);this.removeLayer(),this.layerType=t.type,s(t)&&e.addLayer({id:this.idLayer,source:this.idSource,"source-layer":t.sourcelayer||"",type:t.type,layout:r.layout,paint:r.paint},t.below)},o.updateStyle=function(t){if(s(t)){var e=l(t);this.mapbox.setOptions(this.idLayer,"setLayoutProperty",e.layout),this.mapbox.setOptions(this.idLayer,"setPaintProperty",e.paint)}},o.removeLayer=function(){var t=this.map;t.getLayer(this.idLayer)&&t.removeLayer(this.idLayer)},o.dispose=function(){var t=this.map;t.removeLayer(this.idLayer),t.removeSource(this.idSource)},e.exports=function(t,e,r){var n=new a(t,e);return n.update(r),n}},{"../../lib":693,"./convert_text_opts":798}],801:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color").defaultLine,a=t("../domain").attributes,o=t("../font_attributes"),s=t("../../traces/scatter/attributes").textposition,l=t("../../plot_api/edit_types").overrideAll,c=t("../../plot_api/plot_template").templatedArray,u=o({});u.family.dflt="Open Sans Regular, Arial Unicode MS Regular",e.exports=l({_arrayAttrRegexps:[n.counterRegex("mapbox",".layers",!0)],domain:a({name:"mapbox"}),accesstoken:{valType:"string",noBlank:!0,strict:!0},style:{valType:"any",values:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],dflt:"basic"},center:{lon:{valType:"number",dflt:0},lat:{valType:"number",dflt:0}},zoom:{valType:"number",dflt:1},bearing:{valType:"number",dflt:0},pitch:{valType:"number",dflt:0},layers:c("layer",{visible:{valType:"boolean",dflt:!0},sourcetype:{valType:"enumerated",values:["geojson","vector"],dflt:"geojson"},source:{valType:"any"},sourcelayer:{valType:"string",dflt:""},type:{valType:"enumerated",values:["circle","line","fill","symbol"],dflt:"circle"},below:{valType:"string",dflt:""},color:{valType:"color",dflt:i},opacity:{valType:"number",min:0,max:1,dflt:1},circle:{radius:{valType:"number",dflt:15}},line:{width:{valType:"number",dflt:2}},fill:{outlinecolor:{valType:"color",dflt:i}},symbol:{icon:{valType:"string",dflt:"marker"},iconsize:{valType:"number",dflt:10},text:{valType:"string",dflt:""},textfont:u,textposition:n.extendFlat({},s,{arrayOk:!1})}})},"plot","from-root")},{"../../components/color":567,"../../lib":693,"../../plot_api/edit_types":725,"../../plot_api/plot_template":732,"../../traces/scatter/attributes":1032,"../domain":767,"../font_attributes":768}],802:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../subplot_defaults"),a=t("../array_container_defaults"),o=t("./layout_attributes");function s(t,e,r,n){r("accesstoken",n.accessToken),r("style"),r("center.lon"),r("center.lat"),r("zoom"),r("bearing"),r("pitch"),a(t,e,{name:"layers",handleItemDefaults:l}),e._input=t}function l(t,e){function r(r,i){return n.coerce(t,e,o.layers,r,i)}if(r("visible")){var i=r("sourcetype");r("source"),"vector"===i&&r("sourcelayer");var a=r("type");r("below"),r("color"),r("opacity"),"circle"===a&&r("circle.radius"),"line"===a&&r("line.width"),"fill"===a&&r("fill.outlinecolor"),"symbol"===a&&(r("symbol.icon"),r("symbol.iconsize"),r("symbol.text"),n.coerceFont(r,"symbol.textfont"),r("symbol.textposition"))}}e.exports=function(t,e,r){i(t,e,r,{type:"mapbox",attributes:o,handleDefaults:s,partition:"y",accessToken:e._mapboxAccessToken})}},{"../../lib":693,"../array_container_defaults":738,"../subplot_defaults":820,"./layout_attributes":801}],803:[function(t,e,r){"use strict";var n=t("mapbox-gl"),i=t("../../components/fx"),a=t("../../lib"),o=t("../../components/dragelement"),s=t("../cartesian/select").prepSelect,l=t("../cartesian/select").selectOnClick,c=t("./constants"),u=t("./layout_attributes"),f=t("./layers");function h(t){this.id=t.id,this.gd=t.gd,this.container=t.container,this.isStatic=t.staticPlot;var e=t.fullLayout;this.uid=e._uid+"-"+this.id,this.opts=e[this.id],this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(e),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[]}var p=h.prototype;function d(t){var e=u.style.values,r=u.style.dflt,n={};return a.isPlainObject(t)?(n.id=t.id,n.style=t):"string"==typeof t?(n.id=t,n.style=-1!==e.indexOf(t)?g(t):t):(n.id=r,n.style=g(r)),n.transition={duration:0,delay:0},n}function g(t){return c.styleUrlPrefix+t+"-"+c.styleUrlSuffix}function m(t){return[t.lon,t.lat]}e.exports=function(t){return new h(t)},p.plot=function(t,e,r){var n,i=this,a=i.opts=e[this.id];i.map&&a.accesstoken!==i.accessToken&&(i.map.remove(),i.map=null,i.styleObj=null,i.traceHash=[],i.layerList={}),n=i.map?new Promise(function(r,n){i.updateMap(t,e,r,n)}):new Promise(function(r,n){i.createMap(t,e,r,n)}),r.push(n)},p.createMap=function(t,e,r,a){var o=this,s=o.gd,u=o.opts,f=o.styleObj=d(u.style);o.accessToken=u.accesstoken;var h=o.map=new n.Map({container:o.div,style:f.style,center:m(u.center),zoom:u.zoom,bearing:u.bearing,pitch:u.pitch,interactive:!o.isStatic,preserveDrawingBuffer:o.isStatic,doubleClickZoom:!1,boxZoom:!1}),p=c.controlContainerClassName,g=o.div.getElementsByClassName(p)[0];if(o.div.removeChild(g),h._canvas.style.left="0px",h._canvas.style.top="0px",o.rejectOnError(a),h.once("load",function(){o.updateData(t),o.updateLayout(e),o.resolveOnRender(r)}),!o.isStatic){var v=!1;h.on("moveend",function(t){if(o.map){var e=o.getView();u._input.center=u.center=e.center,u._input.zoom=u.zoom=e.zoom,u._input.bearing=u.bearing=e.bearing,u._input.pitch=u.pitch=e.pitch,(t.originalEvent||v)&&x(e),v=!1}}),h.on("wheel",function(){v=!0}),h.on("mousemove",function(t){var e=o.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},o.xaxis.p2c=function(){return t.lngLat.lng},o.yaxis.p2c=function(){return t.lngLat.lat},i.hover(s,t,o.id)}),h.on("dragstart",y),h.on("zoomstart",y),h.on("dblclick",function(){s.emit("plotly_doubleclick",null);var t=o.viewInitial;h.setCenter(m(t.center)),h.setZoom(t.zoom),h.setBearing(t.bearing),h.setPitch(t.pitch);var e=o.getView();u._input.center=u.center=e.center,u._input.zoom=u.zoom=e.zoom,u._input.bearing=u.bearing=e.bearing,u._input.pitch=u.pitch=e.pitch,x(e)}),o.clearSelect=function(){s._fullLayout._zoomlayer.selectAll(".select-outline").remove()},o.onClickInPanFn=function(t){return function(e){var r=s._fullLayout.clickmode;r.indexOf("select")>-1&&l(e.originalEvent,s,[o.xaxis],[o.yaxis],o.id,t),r.indexOf("event")>-1&&i.click(s,e.originalEvent)}}}function y(){i.loneUnhover(e._toppaper)}function x(t){var e=o.id,r={};for(var n in t)r[e+"."+n]=t[n];s.emit("plotly_relayout",r)}},p.updateMap=function(t,e,r,n){var i=this,a=i.map;i.rejectOnError(n);var o=d(i.opts.style);i.styleObj.id!==o.id?(i.styleObj=o,a.setStyle(o.style),a.once("styledata",function(){i.traceHash={},i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)})):(i.updateData(t),i.updateLayout(e),i.resolveOnRender(r))},p.updateData=function(t){var e,r,n,i,a=this.traceHash;for(n=0;n<t.length;n++){var o=t[n];(e=a[(r=o[0].trace).uid])?e.update(o):r._module&&(a[r.uid]=r._module.plot(this,o))}var s=Object.keys(a);t:for(n=0;n<s.length;n++){var l=s[n];for(i=0;i<t.length;i++)if(l===(r=t[i][0].trace).uid)continue t;(e=a[l]).dispose(),delete a[l]}},p.updateLayout=function(t){var e=this.map,r=this.opts;e.setCenter(m(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch),this.updateLayers(),this.updateFramework(t),this.updateFx(t),this.map.resize()},p.resolveOnRender=function(t){var e=this.map;e.on("render",function r(){e.loaded()&&(e.off("render",r),setTimeout(t,0))})},p.rejectOnError=function(t){var e=this.map;function r(){t(new Error(c.mapOnErrorMsg))}e.once("error",r),e.once("style.error",r),e.once("source.error",r),e.once("tile.error",r),e.once("layer.error",r)},p.createFramework=function(t){var e=this,r=e.div=document.createElement("div");r.id=e.uid,r.style.position="absolute",e.container.appendChild(r),e.xaxis={_id:"x",c2p:function(t){return e.project(t).x}},e.yaxis={_id:"y",c2p:function(t){return e.project(t).y}},e.updateFramework(t)},p.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var i,l=t.dragmode;i="select"===l?function(t,r){(t.range={})[e.id]=[u([r.xmin,r.ymin]),u([r.xmax,r.ymax])]}:function(t,r,n){(t.lassoPoints={})[e.id]=n.filtered.map(u)};var c=e.dragOptions;e.dragOptions=a.extendDeep(c||{},{element:e.div,gd:n,plotinfo:{id:e.id,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:i},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),"select"===l||"lasso"===l?(r.dragPan.disable(),r.on("zoomstart",e.clearSelect),e.dragOptions.prepFn=function(t,r,n){s(t,r,n,e.dragOptions,l)},o.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearSelect),e.div.onmousedown=null,e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function u(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},p.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+"px",n.height=r.h*(e.y[1]-e.y[0])+"px",n.left=r.l+e.x[0]*r.w+"px",n.top=r.t+(1-e.y[1])*r.h+"px",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},p.updateLayers=function(){var t,e=this.opts.layers,r=this.layerList;if(e.length!==r.length){for(t=0;t<r.length;t++)r[t].dispose();for(r=this.layerList=[],t=0;t<e.length;t++)r.push(f(this,t,e[t]))}else for(t=0;t<e.length;t++)r[t].update(e[t])},p.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))},p.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()},p.setOptions=function(t,e,r){for(var n in r)this.map[e](t,n,r[n])},p.project=function(t){return this.map.project(new n.LngLat(t[0],t[1]))},p.getView=function(){var t=this.map,e=t.getCenter();return{center:{lon:e.lng,lat:e.lat},zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch()}}},{"../../components/dragelement":589,"../../components/fx":609,"../../lib":693,"../cartesian/select":759,"./constants":797,"./layers":800,"./layout_attributes":801,"mapbox-gl":406}],804:[function(t,e,r){"use strict";e.exports={t:{valType:"number",dflt:0,editType:"arraydraw"},r:{valType:"number",dflt:0,editType:"arraydraw"},b:{valType:"number",dflt:0,editType:"arraydraw"},l:{valType:"number",dflt:0,editType:"arraydraw"},editType:"arraydraw"}},{}],805:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../registry"),o=t("../plot_api/plot_schema"),s=t("../plot_api/plot_template"),l=t("../lib"),c=t("../components/color"),u=t("../constants/numerical").BADNUM,f=t("../plots/cartesian/axis_ids"),h=t("./sort_modules").sortBasePlotModules,p=t("./animation_attributes"),d=t("./frame_attributes"),g=l.relinkPrivateKeys,m=l._,v=e.exports={};l.extendFlat(v,a),v.attributes=t("./attributes"),v.attributes.type.values=v.allTypes,v.fontAttrs=t("./font_attributes"),v.layoutAttributes=t("./layout_attributes"),v.fontWeight="normal";var y=v.transformsRegistry,x=t("./command");v.executeAPICommand=x.executeAPICommand,v.computeAPICommandBindings=x.computeAPICommandBindings,v.manageCommandObserver=x.manageCommandObserver,v.hasSimpleAPICommandBindings=x.hasSimpleAPICommandBindings,v.redrawText=function(t){if(!((t=l.getGraphDiv(t)).data&&t.data[0]&&t.data[0].r))return new Promise(function(e){setTimeout(function(){a.getComponentMethod("annotations","draw")(t),a.getComponentMethod("legend","draw")(t),(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()}),e(v.previousPromises(t))},300)})},v.resize=function(t){return t=l.getGraphDiv(t),new Promise(function(e,r){function n(t){var e=window.getComputedStyle(t).display;return!e||"none"===e}t&&!n(t)||r(new Error("Resize must be passed a displayed plot div element.")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._redrawTimer=setTimeout(function(){if(!t.layout||t.layout.width&&t.layout.height||n(t))e(t);else{delete t.layout.width,delete t.layout.height;var r=t.changed;t.autoplay=!0,a.call("relayout",t,{autosize:!0}).then(function(){t.changed=r,e(t)})}},100)})},v.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then(function(){t._promises=[]})},v.addLinks=function(t){if(t._context.showLink||t._context.showSources){var e=t._fullLayout,r=l.ensureSingle(e._paper,"text","js-plot-link-container",function(t){t.style({"font-family":'"Open Sans", Arial, sans-serif',"font-size":"12px",fill:c.defaultLine,"pointer-events":"all"}).each(function(){var t=n.select(this);t.append("tspan").classed("js-link-to-tool",!0),t.append("tspan").classed("js-link-spacer",!0),t.append("tspan").classed("js-sourcelinks",!0)})}),i=r.node(),a={y:e._paper.attr("height")-9};document.body.contains(i)&&i.getComputedTextLength()>=e.width-20?(a["text-anchor"]="start",a.x=5):(a["text-anchor"]="end",a.x=e._paper.attr("width")-7),r.attr(a);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),u=r.select(".js-sourcelinks");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text("");var r=e.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(t._context.linkText+" "+String.fromCharCode(187));if(t._context.sendData)r.on("click",function(){v.sendDataToCloud(t)});else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}(t,o),s.text(o.text()&&u.text()?" - ":"")}},v.sendDataToCloud=function(t){t.emit("plotly_beforeexport");var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL,r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),i=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return i.append("input").attr({type:"text",name:"data"}).node().value=v.graphJson(t,!1,"keepdata"),i.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1};var b,_=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],w=["year","month","dayMonth","dayMonthYear"];function k(t,e){var r=t._context.locale,n=!1,i={};function o(t){for(var r=!0,a=0;a<e.length;a++){var o=e[a];i[o]||(t[o]?i[o]=t[o]:r=!1)}r&&(n=!0)}for(var s=0;s<2;s++){for(var l=t._context.locales,c=0;c<2;c++){var u=(l[r]||{}).format;if(u&&(o(u),n))break;l=a.localeRegistry}var f=r.split("-")[0];if(n||f===r)break;r=f}return n||o(a.localeRegistry.en.format),i}function M(t){var e=t.transforms;if(Array.isArray(e)&&e.length)for(var r=0;r<e.length;r++){var n=e[r],i=n._module||y[n.type];if(i&&i.makesData)return!0}return!1}function A(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o<i.length;o++){var s=i[o],l=y[s.type];l&&l.transform&&(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}function T(t){t._pushmargin||(t._pushmargin={}),t._pushmarginIds||(t._pushmarginIds={})}function S(t){for(var e=0;e<t.length;e++)t[e].clearCalc()}v.supplyDefaults=function(t,e){var r=e&&e.skipUpdateCalc,i=t._fullLayout||{};if(i._skipDefaults)delete i._skipDefaults;else{var o,s=t._fullLayout={},c=t.layout||{},u=t._fullData||[],p=t._fullData=[],d=t.data||[],y=t.calcdata||[],x=t._context||{};t._transitionData||v.createTransitionData(t),s._dfltTitle={plot:m(t,"Click to enter Plot title"),x:m(t,"Click to enter X axis title"),y:m(t,"Click to enter Y axis title"),colorbar:m(t,"Click to enter Colorscale title"),annotation:m(t,"new text")},s._traceWord=m(t,"trace");var M=k(t,_);if(s._mapboxAccessToken=x.mapboxAccessToken,i._initialAutoSizeIsDone){var A=i.width,T=i.height;v.supplyLayoutGlobalDefaults(c,s,M),c.width||(s.width=A),c.height||(s.height=T),v.sanitizeMargins(s)}else{v.supplyLayoutGlobalDefaults(c,s,M);var S=!c.width||!c.height,E=s.autosize,C=x.autosizable;S&&(E||C)?v.plotAutoSize(t,c,s):S&&v.sanitizeMargins(s),!E&&S&&(c.width=s.width,c.height=s.height)}s._d3locale=function(t,e){return t.decimal=e.charAt(0),t.thousands=e.charAt(1),n.locale(t)}(M,s.separators),s._extraFormat=k(t,w),s._initialAutoSizeIsDone=!0,s._dataLength=d.length,s._modules=[],s._visibleModules=[],s._basePlotModules=[];var L=s._subplots=function(){var t,e,r={};if(!b){b=[];var n=a.subplotsRegistry;for(var i in n){var o=n[i],s=o.attr;if(s&&(b.push(i),Array.isArray(s)))for(e=0;e<s.length;e++)l.pushUnique(b,s[e])}}for(t=0;t<b.length;t++)r[b[t]]=[];return r}(),z=s._splomAxes={x:{},y:{}},P=s._splomSubplots={};s._splomGridDflt={},s._scatterStackOpts={},s._firstScatter={},s._requestRangeslider={},s._traceUids=function(t,e){var r,n,i=e.length,a=[];for(r=0;r<t.length;r++){var o=t[r]._fullInput;o!==n&&a.push(o),n=o}var s=a.length,c=new Array(i),u={};function f(t,e){c[e]=t,u[t]=1}function h(t,e){if(t&&"string"==typeof t&&!u[t])return f(t,e),!0}for(r=0;r<i;r++)h(e[r].uid,r)||r<s&&h(a[r].uid,r)||f(l.randstr(u),r);return c}(u,d),s._globalTransforms=(t._context||{}).globalTransforms,v.supplyDataDefaults(d,p,c,s);var O=Object.keys(z.x),I=Object.keys(z.y);if(O.length>1&&I.length>1){for(a.getComponentMethod("grid","sizeDefaults")(c,s),o=0;o<O.length;o++)l.pushUnique(L.xaxis,O[o]);for(o=0;o<I.length;o++)l.pushUnique(L.yaxis,I[o]);for(var D in P)l.pushUnique(L.cartesian,D)}s._has=v._hasPlotType.bind(s);var R=s._visibleModules;for(o=0;o<R.length;o++){var B=R[o];B.cleanData&&B.cleanData(p)}if(u.length===p.length)for(o=0;o<p.length;o++)g(p[o],u[o]);v.supplyLayoutModuleDefaults(c,s,p,t._transitionData),s._hasOnlyLargeSploms=1===s._basePlotModules.length&&"splom"===s._basePlotModules[0].name&&O.length>15&&I.length>15&&0===s.shapes.length&&0===s.images.length,s._hasCartesian=s._has("cartesian"),s._hasGeo=s._has("geo"),s._hasGL3D=s._has("gl3d"),s._hasGL2D=s._has("gl2d"),s._hasTernary=s._has("ternary"),s._hasPie=s._has("pie"),v.linkSubplots(p,s,u,i),v.cleanPlot(p,s,u,i,y),g(s,i),v.doAutoMargin(t);var F=f.list(t);for(o=0;o<F.length;o++){F[o].setScale()}r||y.length!==p.length||v.supplyDefaultsUpdateCalc(y,p),s._basePlotModules.sort(h)}},v.supplyDefaultsUpdateCalc=function(t,e){for(var r=0;r<e.length;r++){var n=e[r],i=t[r][0];if(i&&i.trace){var a=i.trace;if(a._hasCalcTransform){var o,s,c,u=a._arrayAttrs;for(o=0;o<u.length;o++)s=u[o],c=l.nestedProperty(a,s).get().slice(),l.nestedProperty(n,s).set(c)}i.trace=n}}},v.createTransitionData=function(t){t._transitionData||(t._transitionData={}),t._transitionData._frames||(t._transitionData._frames=[]),t._transitionData._frameHash||(t._transitionData._frameHash={}),t._transitionData._counter||(t._transitionData._counter=0),t._transitionData._interruptCallbacks||(t._transitionData._interruptCallbacks=[])},v._hasPlotType=function(t){var e,r=this._basePlotModules||[];for(e=0;e<r.length;e++)if(r[e].name===t)return!0;var n=this._modules||[];for(e=0;e<n.length;e++){var i=n[e].name;if(i===t)return!0;var o=a.modules[i];if(o&&o.categories[t])return!0}return!1},v.cleanPlot=function(t,e,r,n,i){var a,o,s=n._basePlotModules||[];for(a=0;a<s.length;a++){var l=s[a];l.clean&&l.clean(t,e,r,n,i)}var c=n._has&&n._has("gl"),u=e._has&&e._has("gl");c&&!u&&void 0!==n._glcontainer&&(n._glcontainer.selectAll(".gl-canvas").remove(),n._glcontainer.selectAll(".no-webgl").remove(),n._glcanvas=null);var f=!!n._infolayer;t:for(a=0;a<r.length;a++){var h=r[a].uid;for(o=0;o<t.length;o++){if(h===t[o].uid)continue t}f&&n._infolayer.select(".cb"+h).remove()}n._zoomlayer&&n._zoomlayer.selectAll(".select-outline").remove()},v.linkSubplots=function(t,e,r,n){var i,a,o=n._plots||{},s=e._plots={},l=e._subplots,c={_fullData:t,_fullLayout:e},u=l.cartesian.concat(l.gl2d||[]);for(i=0;i<u.length;i++){var h,p=u[i],d=o[p],g=f.getFromId(c,p,"x"),m=f.getFromId(c,p,"y");for(d?h=s[p]=d:(h=s[p]={}).id=p,h.xaxis=g,h.yaxis=m,h._hasClipOnAxisFalse=!1,a=0;a<t.length;a++){var v=t[a];if(v.xaxis===h.xaxis._id&&v.yaxis===h.yaxis._id&&!1===v.cliponaxis){h._hasClipOnAxisFalse=!0;break}}}var y=f.list(c,null,!0);for(i=0;i<y.length;i++){var x=y[i],b=null;x.overlaying&&(b=f.getFromId(c,x.overlaying))&&b.overlaying&&(x.overlaying=!1,b=null),x._mainAxis=b||x,b&&(x.domain=b.domain.slice()),x._anchorAxis="free"===x.anchor?null:f.getFromId(c,x.anchor)}},v.clearExpandedTraceDefaultColors=function(t){var e,r,n;for(r=[],(e=t._module._colorAttrs)||(t._module._colorAttrs=e=[],o.crawl(t._module.attributes,function(t,n,i,a){r[a]=n,r.length=a+1,"color"===t.valType&&void 0===t.dflt&&e.push(r.join("."))})),n=0;n<e.length;n++){l.nestedProperty(t,"_input."+e[n]).get()||l.nestedProperty(t,e[n]).set(null)}},v.supplyDataDefaults=function(t,e,r,n){var i,o,c,u=n._modules,f=n._visibleModules,h=n._basePlotModules,p=0,d=0;function m(t){e.push(t);var r=t._module;r&&(l.pushUnique(u,r),!0===t.visible&&l.pushUnique(f,r),l.pushUnique(h,t._module.basePlotModule),p++,!1!==t._input.visible&&d++)}n._transformModules=[];var y={},x=[],b=(r.template||{}).data||{},_=s.traceTemplater(b);for(i=0;i<t.length;i++){if(c=t[i],(o=_.newTrace(c)).uid=n._traceUids[i],v.supplyTraceDefaults(c,o,d,n,i),o.index=i,o._input=c,o._expandedIndex=p,o.transforms&&o.transforms.length)for(var w=A(o,e,r,n),k=0;k<w.length;k++){var M=w[k],T={_template:o._template,type:o.type,uid:o.uid+k};v.supplyTraceDefaults(M,T,p,n,i),g(T,M),T.index=i,T._input=c,T._fullInput=o,T._expandedIndex=p,T._expandedInput=M,m(T)}else o._fullInput=o,o._expandedInput=o,m(o);a.traceIs(o,"carpetAxis")&&(y[o.carpet]=o),a.traceIs(o,"carpetDependent")&&x.push(i)}for(i=0;i<x.length;i++)if((o=e[x[i]]).visible){var S=y[o.carpet];o._carpet=S,S&&S.visible?(o.xaxis=S.xaxis,o.yaxis=S.yaxis):o.visible=!1}},v.supplyAnimationDefaults=function(t){var e;t=t||{};var r={};function n(e,n){return l.coerce(t||{},r,p,e,n)}if(n("mode"),n("direction"),n("fromcurrent"),Array.isArray(t.frame))for(r.frame=[],e=0;e<t.frame.length;e++)r.frame[e]=v.supplyAnimationFrameDefaults(t.frame[e]||{});else r.frame=v.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(r.transition=[],e=0;e<t.transition.length;e++)r.transition[e]=v.supplyAnimationTransitionDefaults(t.transition[e]||{});else r.transition=v.supplyAnimationTransitionDefaults(t.transition||{});return r},v.supplyAnimationFrameDefaults=function(t){var e={};function r(r,n){return l.coerce(t||{},e,p.frame,r,n)}return r("duration"),r("redraw"),e},v.supplyAnimationTransitionDefaults=function(t){var e={};function r(r,n){return l.coerce(t||{},e,p.transition,r,n)}return r("duration"),r("easing"),e},v.supplyFrameDefaults=function(t){var e={};function r(r,n){return l.coerce(t,e,d,r,n)}return r("group"),r("name"),r("traces"),r("baseframe"),r("data"),r("layout"),e},v.supplyTraceDefaults=function(t,e,r,n,i){var o,s=n.colorway||c.defaults,u=s[r%s.length];function f(r,n){return l.coerce(t,e,v.attributes,r,n)}var h=f("visible");f("type"),f("name",n._traceWord+" "+i);var p=v.getModule(e);if(e._module=p,p){var d=p.basePlotModule,g=d.attr,m=d.attributes;if(g&&m){var y=n._subplots,x="";if("gl2d"!==d.name||h){if(Array.isArray(g))for(o=0;o<g.length;o++){var b=g[o],_=l.coerce(t,e,m,b);y[b]&&l.pushUnique(y[b],_),x+=_}else x=l.coerce(t,e,m,g);y[d.name]&&l.pushUnique(y[d.name],x)}}}return h&&(f("customdata"),f("ids"),a.traceIs(e,"showLegend")?(e._dfltShowLegend=!0,f("showlegend"),f("legendgroup")):e._dfltShowLegend=!1,a.getComponentMethod("fx","supplyDefaults")(t,e,u,n),p&&(p.supplyDefaults(t,e,u,n),l.coerceHoverinfo(t,e,n)),a.traceIs(e,"noOpacity")||f("opacity"),a.traceIs(e,"notLegendIsolatable")&&(e.visible=!!e.visible),p&&p.selectPoints&&f("selectedpoints"),v.supplyTransformDefaults(t,e,n)),e},v.hasMakesDataTransform=M,v.supplyTransformDefaults=function(t,e,r){if(e._length||M(t)){var n=r._globalTransforms||[],i=r._transformModules||[];if(Array.isArray(t.transforms)||0!==n.length)for(var a=t.transforms||[],o=n.concat(a),s=e.transforms=[],c=0;c<o.length;c++){var u,f=o[c],h=f.type,p=y[h],d=!(f._module&&f._module===p),g=p&&"function"==typeof p.transform;p||l.warn("Unrecognized transform type "+h+"."),p&&p.supplyDefaults&&(d||g)?((u=p.supplyDefaults(f,e,r,t)).type=h,u._module=p,l.pushUnique(i,p)):u=l.extendFlat({},f),s.push(u)}}},v.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return l.coerce(t,e,v.layoutAttributes,r,n)}var i=t.template;l.isPlainObject(i)&&(e.template=i,e._template=i.layout,e._dataTemplate=i.data);var o=l.coerceFont(n,"font");n("title",e._dfltTitle.plot),l.coerceFont(n,"titlefont",{family:o.family,size:Math.round(1.4*o.size),color:o.color}),n("autosize",!(t.width&&t.height)),n("width"),n("height"),n("margin.l"),n("margin.r"),n("margin.t"),n("margin.b"),n("margin.pad"),n("margin.autoexpand"),t.width&&t.height&&v.sanitizeMargins(e),a.getComponentMethod("grid","sizeDefaults")(t,e),n("paper_bgcolor"),n("separators",r.decimal+r.thousands),n("hidesources"),n("colorway"),n("datarevision"),a.getComponentMethod("calendars","handleDefaults")(t,e,"calendar"),a.getComponentMethod("fx","supplyLayoutGlobalDefaults")(t,e,n)},v.plotAutoSize=function(t,e,r){var n,a,o=t._context||{},s=o.frameMargins,c=l.isPlotDiv(t);if(c&&t.emit("plotly_autosize"),o.fillFrame)n=window.innerWidth,a=window.innerHeight,document.body.style.overflow="hidden";else if(i(s)&&s>0){var u=function(t){var e,r={left:0,right:0,bottom:0,top:0};if(t)for(e in t)t.hasOwnProperty(e)&&(r.left+=t[e].left||0,r.right+=t[e].right||0,r.bottom+=t[e].bottom||0,r.top+=t[e].top||0);return r}(t._boundingBoxMargins),f=u.left+u.right,h=u.bottom+u.top,p=1-2*s,d=r._container&&r._container.node?r._container.node().getBoundingClientRect():{width:r.width,height:r.height};n=Math.round(p*(d.width-f)),a=Math.round(p*(d.height-h))}else{var g=c?window.getComputedStyle(t):{};n=parseFloat(g.width)||parseFloat(g.maxWidth)||r.width,a=parseFloat(g.height)||parseFloat(g.maxHeight)||r.height}var m=v.layoutAttributes.width.min,y=v.layoutAttributes.height.min;n<m&&(n=m),a<y&&(a=y);var x=!e.width&&Math.abs(r.width-n)>1,b=!e.height&&Math.abs(r.height-a)>1;(b||x)&&(x&&(r.width=n),b&&(r.height=a)),t._initialAutoSize||(t._initialAutoSize={width:n,height:a}),v.sanitizeMargins(r)},v.supplyLayoutModuleDefaults=function(t,e,r,n){var i,o,s,c=a.componentsRegistry,u=e._basePlotModules,f=a.subplotsRegistry.cartesian;for(i in c)(s=c[i]).includeBasePlot&&s.includeBasePlot(t,e);for(var h in u.length||u.push(f),e._has("cartesian")&&(a.getComponentMethod("grid","contentDefaults")(t,e),f.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(l.subplotSort);for(o=0;o<u.length;o++)(s=u[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r);var p=e._visibleModules;for(o=0;o<p.length;o++)(s=p[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r);var d=e._transformModules;for(o=0;o<d.length;o++)(s=d[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r,n);for(i in c)(s=c[i]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r)},v.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&(e._glcontainer.selectAll(".gl-canvas").remove(),e._glcontainer.remove(),e._glcanvas=null),void 0!==e._geocontainer&&e._geocontainer.remove(),e._modeBar&&e._modeBar.destroy(),t._transitionData&&(t._transitionData._interruptCallbacks&&(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&&window.cancelAnimationFrame(t._transitionData._animationRaf)),l.clearThrottle(),l.clearResponsive(t),delete t.data,delete t.layout,delete t._fullData,delete t._fullLayout,delete t.calcdata,delete t.framework,delete t.empty,delete t.fid,delete t.undoqueue,delete t.undonum,delete t.autoplay,delete t.changed,delete t._promises,delete t._redrawTimer,delete t._hmlumcount,delete t._hmpixcount,delete t._transitionData,delete t._transitioning,delete t._initialAutoSize,delete t._transitioningWithDuration,delete t._dragging,delete t._dragged,delete t._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._replotPending,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&&t.removeAllListeners()},v.style=function(t){var e,r=t._fullLayout._visibleModules,n=[];for(e=0;e<r.length;e++){var i=r[e];i.style&&l.pushUnique(n,i.style)}for(e=0;e<n.length;e++)n[e](t)},v.sanitizeMargins=function(t){if(t&&t.margin){var e,r=t.width,n=t.height,i=t.margin,a=r-(i.l+i.r),o=n-(i.t+i.b);a<0&&(e=(r-1)/(i.l+i.r),i.l=Math.floor(e*i.l),i.r=Math.floor(e*i.r)),o<0&&(e=(n-1)/(i.t+i.b),i.t=Math.floor(e*i.t),i.b=Math.floor(e*i.b))}},v.clearAutoMarginIds=function(t){t._fullLayout._pushmarginIds={}},v.allowAutoMargin=function(t,e){t._fullLayout._pushmarginIds[e]=1},v.autoMargin=function(t,e,r){var n=t._fullLayout;T(n);var i=n._pushmargin,a=n._pushmarginIds;if(!1!==n.margin.autoexpand){if(r){var o=r.pad;if(void 0===o){var s=n.margin;o=Math.min(12,s.l,s.r,s.t,s.b)}r.l+r.r>.5*n.width&&(r.l=r.r=0),r.b+r.t>.5*n.height&&(r.b=r.t=0);var l=void 0!==r.xl?r.xl:r.x,c=void 0!==r.xr?r.xr:r.x,u=void 0!==r.yt?r.yt:r.y,f=void 0!==r.yb?r.yb:r.y;i[e]={l:{val:l,size:r.l+o},r:{val:c,size:r.r+o},b:{val:f,size:r.b+o},t:{val:u,size:r.t+o}},a[e]=1}else delete i[e],delete a[e];n._replotting||v.doAutoMargin(t)}},v.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),T(e);var r=e._size,n=JSON.stringify(r),o=Math.max(e.margin.l||0,0),s=Math.max(e.margin.r||0,0),l=Math.max(e.margin.t||0,0),c=Math.max(e.margin.b||0,0),u=e._pushmargin,f=e._pushmarginIds;if(!1!==e.margin.autoexpand){for(var h in u)f[h]||delete u[h];for(var p in u.base={l:{val:0,size:o},r:{val:1,size:s},t:{val:1,size:l},b:{val:0,size:c}},u){var d=u[p].l||{},g=u[p].b||{},m=d.val,v=d.size,y=g.val,x=g.size;for(var b in u){if(i(v)&&u[b].r){var _=u[b].r.val,w=u[b].r.size;if(_>m){var k=(v*_+(w-e.width)*m)/(_-m),M=(w*(1-m)+(v-e.width)*(1-_))/(_-m);k>=0&&M>=0&&k+M>o+s&&(o=k,s=M)}}if(i(x)&&u[b].t){var A=u[b].t.val,S=u[b].t.size;if(A>y){var E=(x*A+(S-e.height)*y)/(A-y),C=(S*(1-y)+(x-e.height)*(1-A))/(A-y);E>=0&&C>=0&&E+C>c+l&&(c=E,l=C)}}}}}if(r.l=Math.round(o),r.r=Math.round(s),r.t=Math.round(l),r.b=Math.round(c),r.p=Math.round(e.margin.pad),r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b,!e._replotting&&"{}"!==n&&n!==JSON.stringify(e._size))return"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1,a.call("plot",t)},v.graphJson=function(t,e,r,n,i){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&v.supplyDefaults(t);var a=i?t._fullData:t.data,o=i?t._fullLayout:t.layout,s=(t._transitionData||{})._frames;function c(t){if("function"==typeof t)return null;if(l.isPlainObject(t)){var e,n,i={};for(e in t)if("function"!=typeof t[e]&&-1===["_","["].indexOf(e.charAt(0))){if("keepdata"===r){if("src"===e.substr(e.length-3))continue}else if("keepstream"===r){if("string"==typeof(n=t[e+"src"])&&n.indexOf(":")>0&&!l.isPlainObject(t.stream))continue}else if("keepall"!==r&&"string"==typeof(n=t[e+"src"])&&n.indexOf(":")>0)continue;i[e]=c(t[e])}return i}return Array.isArray(t)?t.map(c):l.isTypedArray(t)?l.simpleMap(t,l.identity):l.isJSDate(t)?l.ms2DateTimeLocal(+t):t}var u={data:(a||[]).map(function(t){var r=c(t);return e&&delete r.fit,r})};return e||(u.layout=c(o)),t.framework&&t.framework.isPolar&&(u=t.framework.getConfig()),s&&(u.frames=c(s)),"object"===n?u:JSON.stringify(u)},v.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r<e.length;r++)switch((n=e[r]).type){case"replace":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case"insert":o[(i=n.value).name]=i,a.splice(n.index,0,i);break;case"delete":delete o[(i=a[n.index]).name],a.splice(n.index,1)}return Promise.resolve()},v.computeFrame=function(t,e){var r,n,i,a,o=t._transitionData._frameHash;if(!e)throw new Error("computeFrame must be given a string frame name");var s=o[e.toString()];if(!s)return!1;for(var l=[s],c=[s.name];s.baseframe&&(s=o[s.baseframe.toString()])&&-1===c.indexOf(s.name);)l.push(s),c.push(s.name);for(var u={};s=l.pop();)if(s.layout&&(u.layout=v.extendLayout(u.layout,s.layout)),s.data){if(u.data||(u.data=[]),!(n=s.traces))for(n=[],r=0;r<s.data.length;r++)n[r]=r;for(u.traces||(u.traces=[]),r=0;r<s.data.length;r++)null!=(i=n[r])&&(-1===(a=u.traces.indexOf(i))&&(a=u.data.length,u.traces[a]=i),u.data[a]=v.extendTrace(u.data[a],s.data[r]))}return u},v.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(e[i.name]=i)}},v.extendObjectWithContainers=function(t,e,r){var n,i,a,o,s,c,u,f=l.extendDeepNoArrays({},e||{}),h=l.expandObjectPaths(f),p={};if(r&&r.length)for(a=0;a<r.length;a++)void 0===(i=(n=l.nestedProperty(h,r[a])).get())?l.nestedProperty(p,r[a]).set(null):(n.set(null),l.nestedProperty(p,r[a]).set(i));if(t=l.extendDeepNoArrays(t||{},h),r&&r.length)for(a=0;a<r.length;a++)if(c=l.nestedProperty(p,r[a]).get()){for(u=(s=l.nestedProperty(t,r[a])).get(),Array.isArray(u)||(u=[],s.set(u)),o=0;o<c.length;o++){var d=c[o];u[o]=null===d?null:v.extendObjectWithContainers(u[o],d)}s.set(u)}return t},v.dataArrayContainers=["transforms","dimensions"],v.layoutArrayContainers=a.layoutArrayContainers,v.extendTrace=function(t,e){return v.extendObjectWithContainers(t,e,v.dataArrayContainers)},v.extendLayout=function(t,e){return v.extendObjectWithContainers(t,e,v.layoutArrayContainers)},v.transition=function(t,e,r,n,i,o){var s,c,u=Array.isArray(e)?e.length:0,f=n.slice(0,u),h=[];var p=!1;for(s=0;s<f.length;s++){c=f[s];t._fullData[c]._module}var d=[v.previousPromises,function(){if(t._transitionData)return t._transitioning=!1,function(t){var e=Promise.resolve();if(!t)return e;for(;t.length;)e=e.then(t.shift());return e}(t._transitionData._interruptCallbacks)},function(){var n;for(n=0;n<f.length;n++){var i=f[n],a=t._fullData[i]._module;a&&(a.animatable&&h.push(i),t.data[f[n]]=v.extendTrace(t.data[f[n]],e[n]))}var o=l.expandObjectPaths(l.extendDeepNoArrays({},r)),s=/^[xy]axis[0-9]*$/;for(var c in o)s.test(c)&&delete o[c].range;return v.extendLayout(t.layout,o),delete t.calcdata,v.supplyDefaults(t),v.doCalcdata(t),Promise.resolve()},v.rehover,function(){return t.emit("plotly_transitioning",[]),new Promise(function(e){t._transitioning=!0,o.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){p=!0}),i.redraw&&t._transitionData._interruptCallbacks.push(function(){return a.call("redraw",t)}),t._transitionData._interruptCallbacks.push(function(){t.emit("plotly_transitioninterrupted",[])});var n,s,c=0,u=0;function f(){return c++,function(){var r;u++,p||u!==c||(r=e,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(i.redraw)return a.call("redraw",t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])}).then(r)))}}var d=t._fullLayout._basePlotModules,g=!1;if(r)for(s=0;s<d.length;s++)if(d[s].transitionAxes){var m=l.expandObjectPaths(r);g=d[s].transitionAxes(t,m,o,f)||g}for(g?((n=l.extendFlat({},o)).duration=0,h=null):n=o,s=0;s<d.length;s++)d[s].plot(t,h,n,f);setTimeout(f())})}],g=l.syncOrAsync(d,t);return g&&g.then||(g=Promise.resolve()),g.then(function(){return t})},v.doCalcdata=function(t,e){var r,n,i,s,c=f.list(t),h=t._fullData,p=t._fullLayout,d=new Array(h.length),g=(t.calcdata||[]).slice(0);for(t.calcdata=d,p._numBoxes=0,p._numViolins=0,p._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,p._piecolormap={},i=0;i<h.length;i++)Array.isArray(e)&&-1===e.indexOf(i)&&(d[i]=g[i]);for(i=0;i<h.length;i++)(r=h[i])._arrayAttrs=o.findArrayAttributes(r),r._extremes={};var m=p._subplots.polar||[];for(i=0;i<m.length;i++)c.push(p[m[i]].radialaxis,p[m[i]].angularaxis);S(c);var v=!1;for(i=0;i<h.length;i++)if(!0===(r=h[i]).visible&&r.transforms){if((n=r._module)&&n.calc){var x=n.calc(t,r);x[0]&&x[0].t&&x[0].t._scene&&delete x[0].t._scene.dirty}for(s=0;s<r.transforms.length;s++){var b=r.transforms[s];(n=y[b.type])&&n.calcTransform&&(r._hasCalcTransform=!0,v=!0,n.calcTransform(t,r,b))}}function _(e,i){if(r=h[e],!!(n=r._module).isContainer===i){var a=[];if(!0===r.visible){delete r._indexToPoints;var o=r.transforms||[];for(s=o.length-1;s>=0;s--)if(o[s].enabled){r._indexToPoints=o[s]._indexToPoints;break}n&&n.calc&&(a=n.calc(t,r))}Array.isArray(a)&&a[0]||(a=[{x:u,y:u}]),a[0].t||(a[0].t={}),a[0].trace=r,d[e]=a}}for(v&&S(c),i=0;i<h.length;i++)_(i,!0);for(i=0;i<h.length;i++)_(i,!1);!function(t){var e,r,n,i=t._fullLayout,a=i._visibleModules,o={};for(r=0;r<a.length;r++){var s=a[r],c=s.crossTraceCalc;if(c){var u=s.basePlotModule.name;o[u]?l.pushUnique(o[u],c):o[u]=[c]}}for(n in o){var f=o[n],h=i._subplots[n];if(Array.isArray(h))for(e=0;e<h.length;e++){var p=h[e],d="cartesian"===n?i._plots[p]:i[p];for(r=0;r<f.length;r++)f[r](t,d,p)}else for(r=0;r<f.length;r++)f[r](t)}}(t),a.getComponentMethod("fx","calc")(t),a.getComponentMethod("errorbars","calc")(t)},v.rehover=function(t){t._fullLayout._rehover&&t._fullLayout._rehover()},v.generalUpdatePerTraceModule=function(t,e,r,n){var i,a=e.traceHash,o={};for(i=0;i<r.length;i++){var s=r[i],c=s[0].trace;c.visible&&(o[c.type]=o[c.type]||[],o[c.type].push(s))}for(var u in a)if(!o[u]){var f=a[u][0];f[0].trace.visible=!1,o[u]=[f]}for(var h in o){var p=o[h];p[0][0].trace._module.plot(t,e,l.filterVisible(p),n)}e.traceHash=o}},{"../components/color":567,"../constants/numerical":670,"../lib":693,"../plot_api/plot_schema":731,"../plot_api/plot_template":732,"../plots/cartesian/axis_ids":745,"../registry":825,"./animation_attributes":737,"./attributes":739,"./command":766,"./font_attributes":768,"./frame_attributes":769,"./layout_attributes":796,"./sort_modules":819,d3:147,"fast-isnumeric":213}],806:[function(t,e,r){"use strict";e.exports={attr:"subplot",name:"polar",axisNames:["angularaxis","radialaxis"],axisName2dataArray:{angularaxis:"theta",radialaxis:"r"},layerNames:["draglayer","plotbg","backplot","angular-grid","radial-grid","frontplot","angular-line","radial-line","angular-axis","radial-axis"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}},{}],807:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../lib/polygon").tester,a=n.findIndexOfMin,o=n.isAngleInsideSector,s=n.angleDelta,l=n.angleDist;function c(t,e,r,n){var i,a,o=n[0],s=n[1],l=f(Math.sin(e)-Math.sin(t)),c=f(Math.cos(e)-Math.cos(t)),u=Math.tan(r),h=f(1/u),p=l/c,d=s-p*o;return h?l&&c?a=u*(i=d/(u-p)):c?(i=s*h,a=s):(i=o,a=o*u):l&&c?(i=0,a=d):c?(i=0,a=s):i=a=NaN,[i,a]}function u(t,e,r,i){return n.isFullCircle([e,r])?function(t,e){var r,n=e.length,i=new Array(n+1);for(r=0;r<n;r++){var a=e[r];i[r]=[t*Math.cos(a),t*Math.sin(a)]}return i[r]=i[0].slice(),i}(t,i):function(t,e,r,i){var s,u,f=i.length,h=[];function p(e){return[t*Math.cos(e),t*Math.sin(e)]}function d(t,e,r){return c(t,e,r,p(t))}function g(t){return n.mod(t,f)}function m(t){return o(t,[e,r])}var v=a(i,function(t){return m(t)?l(t,e):1/0}),y=d(i[v],i[g(v-1)],e);for(h.push(y),s=v,u=0;u<f;s++,u++){var x=i[g(s)];if(!m(x))break;h.push(p(x))}var b=a(i,function(t){return m(t)?l(t,r):1/0}),_=d(i[b],i[g(b+1)],r);return h.push(_),h.push([0,0]),h.push(h[0].slice()),h}(t,e,r,i)}function f(t){return Math.abs(t)>1e-10?t:0}function h(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a<n;a++){var o=t[a];i[a]=[e+o[0],r-o[1]]}return i}e.exports={isPtInsidePolygon:function(t,e,r,n,a){if(!o(e,n))return!1;var s,l;r[0]<r[1]?(s=r[0],l=r[1]):(s=r[1],l=r[0]);var c=i(u(s,n[0],n[1],a)),f=i(u(l,n[0],n[1],a)),h=[t*Math.cos(e),t*Math.sin(e)];return f.contains(h)&&!c.contains(h)},findPolygonOffset:function(t,e,r,n){for(var i=1/0,a=1/0,o=u(t,e,r,n),s=0;s<o.length;s++){var l=o[s];i=Math.min(i,l[0]),a=Math.min(a,-l[1])}return[i,a]},findEnclosingVertexAngles:function(t,e){var r=a(e,function(e){var r=s(e,t);return r>0?r:1/0}),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY:c,findXYatLength:function(t,e,r,n){var i=-e*r,a=e*e+1,o=2*(e*i-r),s=i*i+r*r-t*t,l=Math.sqrt(o*o-4*a*s),c=(-o+l)/(2*a),u=(-o-l)/(2*a);return[[c,e*c+i+n],[u,e*u+i+n]]},clampTiny:f,pathPolygon:function(t,e,r,n,i,a){return"M"+h(u(t,e,r,n),i,a).join("L")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t<e?(s=t,l=e):(s=e,l=t);var c=h(u(s,r,n,i),a,o);return"M"+h(u(l,r,n,i),a,o).reverse().join("L")+"M"+c.join("L")}}},{"../../lib":693,"../../lib/polygon":706}],808:[function(t,e,r){"use strict";var n=t("../get_data").getSubplotCalcData,i=t("../../lib").counterRegex,a=t("./polar"),o=t("./constants"),s=o.attr,l=o.name,c=i(l),u={};u[s]={valType:"subplotid",dflt:l,editType:"calc"},e.exports={attr:s,name:l,idRoot:l,idRegex:c,attrRegex:c,attributes:u,layoutAttributes:t("./layout_attributes"),supplyLayoutDefaults:t("./layout_defaults"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[l],o=0;o<i.length;o++){var s=i[o],c=n(r,l,s),u=e[s]._subplot;u||(u=a(t,s),e[s]._subplot=u),u.plot(c,e,t._promises)}},clean:function(t,e,r,n){for(var i=n._subplots[l]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;if(!e[o]&&s)for(var c in s.framework.remove(),s.layers["radial-axis-title"].remove(),s.clipPaths)s.clipPaths[c].remove()}},toSVG:t("../cartesian").toSVG}},{"../../lib":693,"../cartesian":753,"../get_data":778,"./constants":806,"./layout_attributes":809,"./layout_defaults":810,"./polar":817}],809:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),i=t("../cartesian/layout_attributes"),a=t("../domain").attributes,o=t("../../lib").extendFlat,s=t("../../plot_api/edit_types").overrideAll,l=s({color:i.color,showline:o({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:o({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth},"plot","from-root"),c=s({tickmode:i.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,separatethousands:i.separatethousands,tickfont:i.tickfont,tickangle:i.tickangle,tickformat:i.tickformat,tickformatstops:i.tickformatstops,layer:i.layer},"plot","from-root"),u={visible:o({},i.visible,{dflt:!0}),type:i.type,autorange:i.autorange,rangemode:{valType:"enumerated",values:["tozero","nonnegative","normal"],dflt:"tozero",editType:"calc"},range:i.range,categoryorder:i.categoryorder,categoryarray:i.categoryarray,angle:{valType:"angle",editType:"plot"},side:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"clockwise",editType:"plot"},title:o({},i.title,{editType:"plot",dflt:""}),titlefont:s(i.titlefont,"plot","from-root"),hoverformat:i.hoverformat,editType:"calc"};o(u,l,c);var f={visible:o({},i.visible,{dflt:!0}),type:{valType:"enumerated",values:["-","linear","category"],dflt:"-",editType:"calc",_noTemplating:!0},categoryorder:i.categoryorder,categoryarray:i.categoryarray,thetaunit:{valType:"enumerated",values:["radians","degrees"],dflt:"degrees",editType:"calc"},period:{valType:"number",editType:"calc",min:0},direction:{valType:"enumerated",values:["counterclockwise","clockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",editType:"calc"},hoverformat:i.hoverformat,editType:"calc"};o(f,l,c),e.exports={domain:a({name:"polar",editType:"plot"}),sector:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],dflt:[0,360],editType:"plot"},hole:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},bgcolor:{valType:"color",editType:"plot",dflt:n.background},radialaxis:u,angularaxis:f,gridshape:{valType:"enumerated",values:["circular","linear"],dflt:"circular",editType:"plot"},editType:"calc"}},{"../../components/color/attributes":566,"../../lib":693,"../../plot_api/edit_types":725,"../cartesian/layout_attributes":754,"../domain":767}],810:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color"),a=t("../subplot_defaults"),o=t("../get_data").getSubplotData,s=t("../cartesian/tick_value_defaults"),l=t("../cartesian/tick_mark_defaults"),c=t("../cartesian/tick_label_defaults"),u=t("../cartesian/category_order_defaults"),f=t("../cartesian/line_grid_defaults"),h=t("../cartesian/axis_autotype"),p=t("./layout_attributes"),d=t("./set_convert"),g=t("./constants"),m=g.axisNames;function v(t,e,r,a){var h=r("bgcolor");a.bgColor=i.combine(h,a.paper_bgcolor);var v=r("sector");r("hole");var x,b=o(a.fullData,g.name,a.id),_=a.layoutOut;function w(t,e){return r(x+"."+t,e)}for(var k=0;k<m.length;k++){x=m[k],n.isPlainObject(t[x])||(t[x]={});var M=t[x],A=e[x]={};A._id=A._name=x,A._traceIndices=b.map(function(t){return t._expandedIndex});var T=g.axisName2dataArray[x],S=y(M,A,w,b,T);u(M,A,w,{axData:b,dataAttr:T});var E,C,L=w("visible");switch(d(A,e,_),L&&(C=(E=w("color"))===M.color?E:a.font.color),A._m=1,x){case"radialaxis":var z=w("autorange",!A.isValidRange(M.range));M.autorange=z,!z||"linear"!==S&&"-"!==S||w("rangemode"),"reversed"===z&&(A._m=-1),w("range"),A.cleanRange("range",{dfltRange:[0,1]}),L&&(w("side"),w("angle",v[0]),w("title"),n.coerceFont(w,"titlefont",{family:a.font.family,size:Math.round(1.2*a.font.size),color:C}));break;case"angularaxis":if("date"===S){n.log("Polar plots do not support date angular axes yet.");for(var P=0;P<b.length;P++)b[P].visible=!1;S=M.type=A.type="linear"}w("linear"===S?"thetaunit":"period");var O=w("direction");w("rotation",{counterclockwise:0,clockwise:90}[O])}if(L)s(M,A,w,A.type),c(M,A,w,A.type,{tickSuffixDflt:"degrees"===A.thetaunit?"\xb0":void 0}),l(M,A,w,{outerTicks:!0}),w("showticklabels")&&(n.coerceFont(w,"tickfont",{family:a.font.family,size:a.font.size,color:C}),w("tickangle"),w("tickformat")),f(M,A,w,{dfltColor:E,bgColor:a.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:p[x]}),w("layer");"category"!==S&&w("hoverformat"),A._input=M}"category"===e.angularaxis.type&&r("gridshape")}function y(t,e,r,n,i){if("-"===r("type")){for(var a,o=0;o<n.length;o++)if(n[o].visible){a=n[o];break}a&&a[i]&&(e.type=h(a[i],"gregorian")),"-"===e.type?e.type="linear":t.type=e.type}return e.type}e.exports=function(t,e,r){a(t,e,r,{type:g.name,attributes:p,handleDefaults:v,font:e.font,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})}},{"../../components/color":567,"../../lib":693,"../cartesian/axis_autotype":743,"../cartesian/category_order_defaults":746,"../cartesian/line_grid_defaults":756,"../cartesian/tick_label_defaults":761,"../cartesian/tick_mark_defaults":762,"../cartesian/tick_value_defaults":763,"../get_data":778,"../subplot_defaults":820,"./constants":806,"./layout_attributes":809,"./set_convert":818}],811:[function(t,e,r){"use strict";var n=t("../../../traces/scatter/attributes"),i=n.marker,a=t("../../../lib/extend").extendFlat;["Area traces are deprecated!","Please switch to the *barpolar* trace type."].join(" ");e.exports={r:a({},n.r,{}),t:a({},n.t,{}),marker:{color:a({},i.color,{}),size:a({},i.size,{}),symbol:a({},i.symbol,{}),opacity:a({},i.opacity,{}),editType:"calc"}}},{"../../../lib/extend":682,"../../../traces/scatter/attributes":1032}],812:[function(t,e,r){"use strict";var n=t("../../cartesian/layout_attributes"),i=t("../../../lib/extend").extendFlat,a=t("../../../plot_api/edit_types").overrideAll,o=["Legacy polar charts are deprecated!","Please switch to *polar* subplots."].join(" "),s=i({},n.domain,{});function l(t,e){return i({},e,{showline:{valType:"boolean"},showticklabels:{valType:"boolean"},tickorientation:{valType:"enumerated",values:["horizontal","vertical"]},ticklen:{valType:"number",min:0},tickcolor:{valType:"color"},ticksuffix:{valType:"string"},endpadding:{valType:"number",description:o},visible:{valType:"boolean"}})}e.exports=a({radialaxis:l(0,{range:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},domain:s,orientation:{valType:"number"}}),angularaxis:l(0,{range:{valType:"info_array",items:[{valType:"number",dflt:0},{valType:"number",dflt:360}]},domain:s}),layout:{direction:{valType:"enumerated",values:["clockwise","counterclockwise"]},orientation:{valType:"angle"}}},"plot","nested")},{"../../../lib/extend":682,"../../../plot_api/edit_types":725,"../../cartesian/layout_attributes":754}],813:[function(t,e,r){"use strict";(e.exports=t("./micropolar")).manager=t("./micropolar_manager")},{"./micropolar":814,"./micropolar_manager":815}],814:[function(t,e,r){var n=t("d3"),i=t("../../../lib").extendDeepAll,a=t("../../../constants/alignment").MID_SHIFT,o=e.exports={version:"0.2.2"};o.Axis=function(){var t,e,r,s,l={data:[],layout:{}},c={},u={},f=n.dispatch("hover"),h={};return h.render=function(c){return function(c){e=c||e;var f=l.data,h=l.layout;("string"==typeof e||e.nodeName)&&(e=n.select(e)),e.datum(f).each(function(e,l){var c=e.slice();u={data:o.util.cloneJson(c),layout:o.util.cloneJson(h)};var f=0;c.forEach(function(t,e){t.color||(t.color=h.defaultColorRange[f],f=(f+1)%h.defaultColorRange.length),t.strokeColor||(t.strokeColor="LinePlot"===t.geometry?t.color:n.rgb(t.color).darker().toString()),u.data[e].color=t.color,u.data[e].strokeColor=t.strokeColor,u.data[e].strokeDash=t.strokeDash,u.data[e].strokeSize=t.strokeSize});var p=c.filter(function(t,e){var r=t.visible;return"undefined"==typeof r||!0===r}),d=!1,g=p.map(function(t,e){return d=d||"undefined"!=typeof t.groupId,t});if(d){var m=n.nest().key(function(t,e){return"undefined"!=typeof t.groupId?t.groupId:"unstacked"}).entries(g),v=[],y=m.map(function(t,e){if("unstacked"===t.key)return t.values;var r=t.values[0].r.map(function(t,e){return 0});return t.values.forEach(function(t,e,n){t.yStack=[r],v.push(r),r=o.util.sumArrays(t.r,r)}),t.values});p=n.merge(y)}p.forEach(function(t,e){t.t=Array.isArray(t.t[0])?t.t:[t.t],t.r=Array.isArray(t.r[0])?t.r:[t.r]});var x=Math.min(h.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2;x=Math.max(10,x);var b,_=[h.margin.left+x,h.margin.top+x];b=d?[0,n.max(o.util.sumArrays(o.util.arrayLast(p).r[0],o.util.arrayLast(v)))]:n.extent(o.util.flattenArray(p.map(function(t,e){return t.r}))),h.radialAxis.domain!=o.DATAEXTENT&&(b[0]=0),r=n.scale.linear().domain(h.radialAxis.domain!=o.DATAEXTENT&&h.radialAxis.domain?h.radialAxis.domain:b).range([0,x]),u.layout.radialAxis.domain=r.domain();var w,k=o.util.flattenArray(p.map(function(t,e){return t.t})),M="string"==typeof k[0];M&&(k=o.util.deduplicate(k),w=k.slice(),k=n.range(k.length),p=p.map(function(t,e){var r=t;return t.t=[k],d&&(r.yStack=t.yStack),r}));var A=p.filter(function(t,e){return"LinePlot"===t.geometry||"DotPlot"===t.geometry}).length===p.length,T=null===h.needsEndSpacing?M||!A:h.needsEndSpacing,S=h.angularAxis.domain&&h.angularAxis.domain!=o.DATAEXTENT&&!M&&h.angularAxis.domain[0]>=0?h.angularAxis.domain:n.extent(k),E=Math.abs(k[1]-k[0]);A&&!M&&(E=0);var C=S.slice();T&&M&&(C[1]+=E);var L=h.angularAxis.ticksCount||4;L>8&&(L=L/(L/8)+L%8),h.angularAxis.ticksStep&&(L=(C[1]-C[0])/L);var z=h.angularAxis.ticksStep||(C[1]-C[0])/(L*(h.minorTicks+1));w&&(z=Math.max(Math.round(z),1)),C[2]||(C[2]=z);var P=n.range.apply(this,C);if(P=P.map(function(t,e){return parseFloat(t.toPrecision(12))}),s=n.scale.linear().domain(C.slice(0,2)).range("clockwise"===h.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=s.domain(),u.layout.angularAxis.endPadding=T?E:0,"undefined"==typeof(t=n.select(this).select("svg.chart-root"))||t.empty()){var O=(new DOMParser).parseFromString("<svg xmlns='http://www.w3.org/2000/svg' class='chart-root'>' + '<g class='outer-group'>' + '<g class='chart-group'>' + '<circle class='background-circle'></circle>' + '<g class='geometry-group'></g>' + '<g class='radial axis-group'>' + '<circle class='outside-circle'></circle>' + '</g>' + '<g class='angular axis-group'></g>' + '<g class='guides-group'><line></line><circle r='0'></circle></g>' + '</g>' + '<g class='legend-group'></g>' + '<g class='tooltips-group'></g>' + '<g class='title-group'><text></text></g>' + '</g>' + '</svg>","application/xml"),I=this.appendChild(this.ownerDocument.importNode(O.documentElement,!0));t=n.select(I)}t.select(".guides-group").style({"pointer-events":"none"}),t.select(".angular.axis-group").style({"pointer-events":"none"}),t.select(".radial.axis-group").style({"pointer-events":"none"});var D,R=t.select(".chart-group"),B={fill:"none",stroke:h.tickColor},F={"font-size":h.font.size,"font-family":h.font.family,fill:h.font.color,"text-shadow":["-1px 0px","1px -1px","-1px 1px","1px 1px"].map(function(t,e){return" "+t+" 0 "+h.font.outlineColor}).join(",")};if(h.showLegend){D=t.select(".legend-group").attr({transform:"translate("+[x,h.margin.top]+")"}).style({display:"block"});var N=p.map(function(t,e){var r=o.util.cloneJson(t);return r.symbol="DotPlot"===t.geometry?t.dotType||"circle":"LinePlot"!=t.geometry?"square":"line",r.visibleInLegend="undefined"==typeof t.visibleInLegend||t.visibleInLegend,r.color="LinePlot"===t.geometry?t.strokeColor:t.color,r});o.Legend().config({data:p.map(function(t,e){return t.name||"Element"+e}),legendConfig:i({},o.Legend.defaultConfig().legendConfig,{container:D,elements:N,reverseOrder:h.legend.reverseOrder})})();var j=D.node().getBBox();x=Math.min(h.width-j.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2,x=Math.max(10,x),_=[h.margin.left+x,h.margin.top+x],r.range([0,x]),u.layout.radialAxis.domain=r.domain(),D.attr("transform","translate("+[_[0]+x,_[1]-x]+")")}else D=t.select(".legend-group").style({display:"none"});t.attr({width:h.width,height:h.height}).style({opacity:h.opacity}),R.attr("transform","translate("+_+")").style({cursor:"crosshair"});var V=[(h.width-(h.margin.left+h.margin.right+2*x+(j?j.width:0)))/2,(h.height-(h.margin.top+h.margin.bottom+2*x))/2];if(V[0]=Math.max(0,V[0]),V[1]=Math.max(0,V[1]),t.select(".outer-group").attr("transform","translate("+V+")"),h.title){var U=t.select("g.title-group text").style(F).text(h.title),q=U.node().getBBox();U.attr({x:_[0]-q.width/2,y:_[1]-x-20})}var H=t.select(".radial.axis-group");if(h.radialAxis.gridLinesVisible){var G=H.selectAll("circle.grid-circle").data(r.ticks(5));G.enter().append("circle").attr({class:"grid-circle"}).style(B),G.attr("r",r),G.exit().remove()}H.select("circle.outside-circle").attr({r:x}).style(B);var W=t.select("circle.background-circle").attr({r:x}).style({fill:h.backgroundColor,stroke:h.stroke});function Y(t,e){return s(t)%360+h.orientation}if(h.radialAxis.visible){var X=n.svg.axis().scale(r).ticks(5).tickSize(5);H.call(X).attr({transform:"rotate("+h.radialAxis.orientation+")"}),H.selectAll(".domain").style(B),H.selectAll("g>text").text(function(t,e){return this.textContent+h.radialAxis.ticksSuffix}).style(F).style({"text-anchor":"start"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return"horizontal"===h.radialAxis.tickOrientation?"rotate("+-h.radialAxis.orientation+") translate("+[0,F["font-size"]]+")":"translate("+[0,F["font-size"]]+")"}}),H.selectAll("g>line").style({stroke:"black"})}var Z=t.select(".angular.axis-group").selectAll("g.angular-tick").data(P),$=Z.enter().append("g").classed("angular-tick",!0);Z.attr({transform:function(t,e){return"rotate("+Y(t)+")"}}).style({display:h.angularAxis.visible?"block":"none"}),Z.exit().remove(),$.append("line").classed("grid-line",!0).classed("major",function(t,e){return e%(h.minorTicks+1)==0}).classed("minor",function(t,e){return!(e%(h.minorTicks+1)==0)}).style(B),$.selectAll(".minor").style({stroke:h.minorTickColor}),Z.select("line.grid-line").attr({x1:h.tickLength?x-h.tickLength:0,x2:x}).style({display:h.angularAxis.gridLinesVisible?"block":"none"}),$.append("text").classed("axis-text",!0).style(F);var J=Z.select("text.axis-text").attr({x:x+h.labelOffset,dy:a+"em",transform:function(t,e){var r=Y(t),n=x+h.labelOffset,i=h.angularAxis.tickOrientation;return"horizontal"==i?"rotate("+-r+" "+n+" 0)":"radial"==i?r<270&&r>90?"rotate(180 "+n+" 0)":null:"rotate("+(r<=180&&r>0?-90:90)+" "+n+" 0)"}}).style({"text-anchor":"middle",display:h.angularAxis.labelsVisible?"block":"none"}).text(function(t,e){return e%(h.minorTicks+1)!=0?"":w?w[t]+h.angularAxis.ticksSuffix:t+h.angularAxis.ticksSuffix}).style(F);h.angularAxis.rewriteTicks&&J.text(function(t,e){return e%(h.minorTicks+1)!=0?"":h.angularAxis.rewriteTicks(this.textContent,e)});var K=n.max(R.selectAll(".angular-tick text")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));D.attr({transform:"translate("+[x+K,h.margin.top]+")"});var Q=t.select("g.geometry-group").selectAll("g").size()>0,tt=t.select("g.geometry-group").selectAll("g.geometry").data(p);if(tt.enter().append("g").attr({class:function(t,e){return"geometry geometry"+e}}),tt.exit().remove(),p[0]||Q){var et=[];p.forEach(function(t,e){var n={};n.radialScale=r,n.angularScale=s,n.container=tt.filter(function(t,r){return r==e}),n.geometry=t.geometry,n.orientation=h.orientation,n.direction=h.direction,n.index=e,et.push({data:t,geometryConfig:n})});var rt=n.nest().key(function(t,e){return"undefined"!=typeof t.data.groupId||"unstacked"}).entries(et),nt=[];rt.forEach(function(t,e){"unstacked"===t.key?nt=nt.concat(t.values.map(function(t,e){return[t]})):nt.push(t.values)}),nt.forEach(function(t,e){var r;r=Array.isArray(t)?t[0].geometryConfig.geometry:t.geometryConfig.geometry;var n=t.map(function(t,e){return i(o[r].defaultConfig(),t)});o[r]().config(n)()})}var it,at,ot=t.select(".guides-group"),st=t.select(".tooltips-group"),lt=o.tooltipPanel().config({container:st,fontSize:8})(),ct=o.tooltipPanel().config({container:st,fontSize:8})(),ut=o.tooltipPanel().config({container:st,hasTick:!0})();if(!M){var ft=ot.select("line").attr({x1:0,y1:0,y2:0}).style({stroke:"grey","pointer-events":"none"});R.on("mousemove.angular-guide",function(t,e){var r=o.util.getMousePos(W).angle;ft.attr({x2:-x,transform:"rotate("+r+")"}).style({opacity:.5});var n=(r+180+360-h.orientation)%360;it=s.invert(n);var i=o.util.convertToCartesian(x+12,r+180);lt.text(o.util.round(it)).move([i[0]+_[0],i[1]+_[1]])}).on("mouseout.angular-guide",function(t,e){ot.select("line").style({opacity:0})})}var ht=ot.select("circle").style({stroke:"grey",fill:"none"});R.on("mousemove.radial-guide",function(t,e){var n=o.util.getMousePos(W).radius;ht.attr({r:n}).style({opacity:.5}),at=r.invert(o.util.getMousePos(W).radius);var i=o.util.convertToCartesian(n,h.radialAxis.orientation);ct.text(o.util.round(at)).move([i[0]+_[0],i[1]+_[1]])}).on("mouseout.radial-guide",function(t,e){ht.style({opacity:0}),ut.hide(),lt.hide(),ct.hide()}),t.selectAll(".geometry-group .mark").on("mouseover.tooltip",function(e,r){var i=n.select(this),a=this.style.fill,s="black",l=this.style.opacity||1;if(i.attr({"data-opacity":l}),a&&"none"!==a){i.attr({"data-fill":a}),s=n.hsl(a).darker().toString(),i.style({fill:s,opacity:1});var c={t:o.util.round(e[0]),r:o.util.round(e[1])};M&&(c.t=w[e[0]]);var u="t: "+c.t+", r: "+c.r,f=this.getBoundingClientRect(),h=t.node().getBoundingClientRect(),p=[f.left+f.width/2-V[0]-h.left,f.top+f.height/2-V[1]-h.top];ut.config({color:s}).text(u),ut.move(p)}else a=this.style.stroke||"black",i.attr({"data-stroke":a}),s=n.hsl(a).darker().toString(),i.style({stroke:s,opacity:1})}).on("mousemove.tooltip",function(t,e){if(0!=n.event.which)return!1;n.select(this).attr("data-fill")&&ut.show()}).on("mouseout.tooltip",function(t,e){ut.hide();var r=n.select(this),i=r.attr("data-fill");i?r.style({fill:i,opacity:r.attr("data-opacity")}):r.style({stroke:r.attr("data-stroke"),opacity:r.attr("data-opacity")})})})}(c),this},h.config=function(t){if(!arguments.length)return l;var e=o.util.cloneJson(t);return e.data.forEach(function(t,e){l.data[e]||(l.data[e]={}),i(l.data[e],o.Axis.defaultConfig().data[0]),i(l.data[e],t)}),i(l.layout,o.Axis.defaultConfig().layout),i(l.layout,e.layout),this},h.getLiveConfig=function(){return u},h.getinputConfig=function(){return c},h.radialScale=function(t){return r},h.angularScale=function(t){return s},h.svg=function(){return t},n.rebind(h,f,"on"),h},o.Axis.defaultConfig=function(t,e){return{data:[{t:[1,2,3,4],r:[10,11,12,13],name:"Line1",geometry:"LinePlot",color:null,strokeDash:"solid",strokeColor:null,strokeSize:"1",visibleInLegend:!0,opacity:1}],layout:{defaultColorRange:n.scale.category10().range(),title:null,height:450,width:500,margin:{top:40,right:40,bottom:40,left:40},font:{size:12,color:"gray",outlineColor:"white",family:"Tahoma, sans-serif"},direction:"clockwise",orientation:0,labelOffset:10,radialAxis:{domain:null,orientation:-45,ticksSuffix:"",visible:!0,gridLinesVisible:!0,tickOrientation:"horizontal",rewriteTicks:null},angularAxis:{domain:[0,360],ticksSuffix:"",visible:!0,gridLinesVisible:!0,labelsVisible:!0,tickOrientation:"horizontal",rewriteTicks:null,ticksCount:null,ticksStep:null},minorTicks:0,tickLength:null,tickColor:"silver",minorTickColor:"#eee",backgroundColor:"none",needsEndSpacing:null,showLegend:!0,legend:{reverseOrder:!1},opacity:1}}},o.util={},o.DATAEXTENT="dataExtent",o.AREA="AreaChart",o.LINE="LinePlot",o.DOT="DotPlot",o.BAR="BarChart",o.util._override=function(t,e){for(var r in t)r in e&&(e[r]=t[r])},o.util._extend=function(t,e){for(var r in t)e[r]=t[r]},o.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},o.util.dataFromEquation2=function(t,e){var r=e||6;return n.range(0,360+r,r).map(function(e,r){var n=e*Math.PI/180;return[e,t(n)]})},o.util.dataFromEquation=function(t,e,r){var i=e||6,a=[],o=[];n.range(0,360+i,i).forEach(function(e,r){var n=e*Math.PI/180,i=t(n);a.push(e),o.push(i)});var s={t:a,r:o};return r&&(s.name=r),s},o.util.ensureArray=function(t,e){if("undefined"==typeof t)return null;var r=[].concat(t);return n.range(e).map(function(t,e){return r[e]||r[0]})},o.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=o.util.ensureArray(t[e],r)}),t},o.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},o.util.validateKeys=function(t,e){"string"==typeof e&&(e=e.split("."));var r=e.shift();return t[r]&&(!e.length||objHasKeys(t[r],e))},o.util.sumArrays=function(t,e){return n.zip(t,e).map(function(t,e){return n.sum(t)})},o.util.arrayLast=function(t){return t[t.length-1]},o.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- >=0&&t[r]===e[r];);return-2===r},o.util.flattenArray=function(t){for(var e=[];!o.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},o.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},o.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},o.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},o.util.getMousePos=function(t){var e=n.mouse(t.node()),r=e[0],i=e[1],a={};return a.x=r,a.y=i,a.pos=e,a.angle=180*(Math.atan2(i,r)+Math.PI)/Math.PI,a.radius=Math.sqrt(r*r+i*i),a},o.util.duplicatesCount=function(t){for(var e,r={},n={},i=0,a=t.length;i<a;i++)(e=t[i])in r?(r[e]++,n[e]=r[e]):r[e]=1;return n},o.util.duplicates=function(t){return Object.keys(o.util.duplicatesCount(t))},o.util.translator=function(t,e,r,n){if(n){var i=r.slice();r=e,e=i}var a=e.reduce(function(t,e){if("undefined"!=typeof t)return t[e]},t);"undefined"!=typeof a&&(e.reduce(function(t,r,n){if("undefined"!=typeof t)return n===e.length-1&&delete t[r],t[r]},t),r.reduce(function(t,e,n){return"undefined"==typeof t[e]&&(t[e]={}),n===r.length-1&&(t[e]=a),t[e]},t))},o.PolyChart=function(){var t=[o.PolyChart.defaultConfig()],e=n.dispatch("hover"),r={solid:"none",dash:[5,2],dot:[2,5]};function a(){var e=t[0].geometryConfig,i=e.container;"string"==typeof i&&(i=n.select(i)),i.datum(t).each(function(t,i){var a=!!t[0].data.yStack,o=t.map(function(t,e){return a?n.zip(t.data.t[0],t.data.r[0],t.data.yStack[0]):n.zip(t.data.t[0],t.data.r[0])}),s=e.angularScale,l=e.radialScale.domain()[0],c={bar:function(r,i,a){var o=t[a].data,l=e.radialScale(r[1])-e.radialScale(0),c=e.radialScale(r[2]||0),u=o.barWidth;n.select(this).attr({class:"mark bar",d:"M"+[[l+c,-u/2],[l+c,u/2],[c,u/2],[c,-u/2]].join("L")+"Z",transform:function(t,r){return"rotate("+(e.orientation+s(t[0]))+")"}})}};c.dot=function(r,i,a){var o=r[2]?[r[0],r[1]+r[2]]:r,s=n.svg.symbol().size(t[a].data.dotSize).type(t[a].data.dotType)(r,i);n.select(this).attr({class:"mark dot",d:s,transform:function(t,r){var n,i,a,s=(n=function(t,r){var n=e.radialScale(t[1]),i=(e.angularScale(t[0])+e.orientation)*Math.PI/180;return{r:n,t:i}}(o),i=n.r*Math.cos(n.t),a=n.r*Math.sin(n.t),{x:i,y:a});return"translate("+[s.x,s.y]+")"}})};var u=n.svg.line.radial().interpolate(t[0].data.lineInterpolation).radius(function(t){return e.radialScale(t[1])}).angle(function(t){return e.angularScale(t[0])*Math.PI/180});c.line=function(r,i,a){var s=r[2]?o[a].map(function(t,e){return[t[0],t[1]+t[2]]}):o[a];if(n.select(this).each(c.dot).style({opacity:function(e,r){return+t[a].data.dotVisible},fill:d.stroke(r,i,a)}).attr({class:"mark dot"}),!(i>0)){var l=n.select(this.parentNode).selectAll("path.line").data([0]);l.enter().insert("path"),l.attr({class:"line",d:u(s),transform:function(t,r){return"rotate("+(e.orientation+90)+")"},"pointer-events":"none"}).style({fill:function(t,e){return d.fill(r,i,a)},"fill-opacity":0,stroke:function(t,e){return d.stroke(r,i,a)},"stroke-width":function(t,e){return d["stroke-width"](r,i,a)},"stroke-dasharray":function(t,e){return d["stroke-dasharray"](r,i,a)},opacity:function(t,e){return d.opacity(r,i,a)},display:function(t,e){return d.display(r,i,a)}})}};var f=e.angularScale.range(),h=Math.abs(f[1]-f[0])/o[0].length*Math.PI/180,p=n.svg.arc().startAngle(function(t){return-h/2}).endAngle(function(t){return h/2}).innerRadius(function(t){return e.radialScale(l+(t[2]||0))}).outerRadius(function(t){return e.radialScale(l+(t[2]||0))+e.radialScale(t[1])});c.arc=function(t,r,i){n.select(this).attr({class:"mark arc",d:p,transform:function(t,r){return"rotate("+(e.orientation+s(t[0])+90)+")"}})};var d={fill:function(e,r,n){return t[n].data.color},stroke:function(e,r,n){return t[n].data.strokeColor},"stroke-width":function(e,r,n){return t[n].data.strokeSize+"px"},"stroke-dasharray":function(e,n,i){return r[t[i].data.strokeDash]},opacity:function(e,r,n){return t[n].data.opacity},display:function(e,r,n){return"undefined"==typeof t[n].data.visible||t[n].data.visible?"block":"none"}},g=n.select(this).selectAll("g.layer").data(o);g.enter().append("g").attr({class:"layer"});var m=g.selectAll("path.mark").data(function(t,e){return t});m.enter().append("path").attr({class:"mark"}),m.style(d).each(c[e.geometryType]),m.exit().remove(),g.exit().remove()})}return a.config=function(e){return arguments.length?(e.forEach(function(e,r){t[r]||(t[r]={}),i(t[r],o.PolyChart.defaultConfig()),i(t[r],e)}),this):t},a.getColorScale=function(){},n.rebind(a,e,"on"),a},o.PolyChart.defaultConfig=function(){return{data:{name:"geom1",t:[[1,2,3,4]],r:[[1,2,3,4]],dotType:"circle",dotSize:64,dotVisible:!1,barWidth:20,color:"#ffa500",strokeSize:1,strokeColor:"silver",strokeDash:"solid",opacity:1,index:0,visible:!0,visibleInLegend:!0},geometryConfig:{geometry:"LinePlot",geometryType:"arc",direction:"clockwise",orientation:0,container:"body",radialScale:null,angularScale:null,colorScale:n.scale.category20()}}},o.BarChart=function(){return o.PolyChart()},o.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:"bar"}}},o.AreaChart=function(){return o.PolyChart()},o.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:"arc"}}},o.DotPlot=function(){return o.PolyChart()},o.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:"dot",dotType:"circle"}}},o.LinePlot=function(){return o.PolyChart()},o.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:"line"}}},o.Legend=function(){var t=o.Legend.defaultConfig(),e=n.dispatch("hover");function r(){var e=t.legendConfig,a=t.data.map(function(t,r){return[].concat(t).map(function(t,n){var a=i({},e.elements[r]);return a.name=t,a.color=[].concat(e.elements[r].color)[n],a})}),o=n.merge(a);o=o.filter(function(t,r){return e.elements[r]&&(e.elements[r].visibleInLegend||"undefined"==typeof e.elements[r].visibleInLegend)}),e.reverseOrder&&(o=o.reverse());var s=e.container;("string"==typeof s||s.nodeName)&&(s=n.select(s));var l=o.map(function(t,e){return t.color}),c=e.fontSize,u=null==e.isContinuous?"number"==typeof o[0]:e.isContinuous,f=u?e.height:c*o.length,h=s.classed("legend-group",!0).selectAll("svg").data([0]),p=h.enter().append("svg").attr({width:300,height:f+c,xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"});p.append("g").classed("legend-axis",!0),p.append("g").classed("legend-marks",!0);var d=n.range(o.length),g=n.scale[u?"linear":"ordinal"]().domain(d).range(l),m=n.scale[u?"linear":"ordinal"]().domain(d)[u?"range":"rangePoints"]([0,f]);if(u){var v=h.select(".legend-marks").append("defs").append("linearGradient").attr({id:"grad1",x1:"0%",y1:"0%",x2:"0%",y2:"100%"}).selectAll("stop").data(l);v.enter().append("stop"),v.attr({offset:function(t,e){return e/(l.length-1)*100+"%"}}).style({"stop-color":function(t,e){return t}}),h.append("rect").classed("legend-mark",!0).attr({height:e.height,width:e.colorBandWidth,fill:"url(#grad1)"})}else{var y=h.select(".legend-marks").selectAll("path.legend-mark").data(o);y.enter().append("path").classed("legend-mark",!0),y.attr({transform:function(t,e){return"translate("+[c/2,m(e)+c/2]+")"},d:function(t,e){var r,i,a,o=t.symbol;return a=3*(i=c),"line"===(r=o)?"M"+[[-i/2,-i/12],[i/2,-i/12],[i/2,i/12],[-i/2,i/12]]+"Z":-1!=n.svg.symbolTypes.indexOf(r)?n.svg.symbol().type(r).size(a)():n.svg.symbol().type("square").size(a)()},fill:function(t,e){return g(e)}}),y.exit().remove()}var x=n.svg.axis().scale(m).orient("right"),b=h.select("g.legend-axis").attr({transform:"translate("+[u?e.colorBandWidth:c,c/2]+")"}).call(x);return b.selectAll(".domain").style({fill:"none",stroke:"none"}),b.selectAll("line").style({fill:"none",stroke:u?e.textColor:"none"}),b.selectAll("text").style({fill:e.textColor,"font-size":e.fontSize}).text(function(t,e){return o[e].name}),r}return r.config=function(e){return arguments.length?(i(t,e),this):t},n.rebind(r,e,"on"),r},o.Legend.defaultConfig=function(t,e){return{data:["a","b","c"],legendConfig:{elements:[{symbol:"line",color:"red"},{symbol:"square",color:"yellow"},{symbol:"diamond",color:"limegreen"}],height:150,colorBandWidth:30,fontSize:12,container:"body",isContinuous:null,textColor:"grey",reverseOrder:!1}}},o.tooltipPanel=function(){var t,e,r,a={container:null,hasTick:!1,fontSize:12,color:"white",padding:5},s="tooltip-"+o.tooltipPanel.uid++,l=10,c=function(){var n=(t=a.container.selectAll("g."+s).data([0])).enter().append("g").classed(s,!0).style({"pointer-events":"none",display:"none"});return r=n.append("path").style({fill:"white","fill-opacity":.9}).attr({d:"M0 0"}),e=n.append("text").attr({dx:a.padding+l,dy:.3*+a.fontSize}),c};return c.text=function(i){var o=n.hsl(a.color).l,s=o>=.5?"#aaa":"white",u=o>=.5?"black":"white",f=i||"";e.style({fill:u,"font-size":a.fontSize+"px"}).text(f);var h=a.padding,p=e.node().getBBox(),d={fill:a.color,stroke:s,"stroke-width":"2px"},g=p.width+2*h+l,m=p.height+2*h;return r.attr({d:"M"+[[l,-m/2],[l,-m/4],[a.hasTick?0:l,0],[l,m/4],[l,m/2],[g,m/2],[g,-m/2]].join("L")+"Z"}).style(d),t.attr({transform:"translate("+[l,-m/2+2*h]+")"}),t.style({display:"block"}),c},c.move=function(e){if(t)return t.attr({transform:"translate("+[e[0],e[1]]+")"}).style({display:"block"}),c},c.hide=function(){if(t)return t.style({display:"none"}),c},c.show=function(){if(t)return t.style({display:"block"}),c},c.config=function(t){return i(a,t),c},c},o.tooltipPanel.uid=1,o.adapter={},o.adapter.plotly=function(){var t={convert:function(t,e){var r={};if(t.data&&(r.data=t.data.map(function(t,r){var n=i({},t);return[[n,["marker","color"],["color"]],[n,["marker","opacity"],["opacity"]],[n,["marker","line","color"],["strokeColor"]],[n,["marker","line","dash"],["strokeDash"]],[n,["marker","line","width"],["strokeSize"]],[n,["marker","symbol"],["dotType"]],[n,["marker","size"],["dotSize"]],[n,["marker","barWidth"],["barWidth"]],[n,["line","interpolation"],["lineInterpolation"]],[n,["showlegend"],["visibleInLegend"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e||delete n.marker,e&&delete n.groupId,e?("LinePlot"===n.geometry?(n.type="scatter",!0===n.dotVisible?(delete n.dotVisible,n.mode="lines+markers"):n.mode="lines"):"DotPlot"===n.geometry?(n.type="scatter",n.mode="markers"):"AreaChart"===n.geometry?n.type="area":"BarChart"===n.geometry&&(n.type="bar"),delete n.geometry):("scatter"===n.type?"lines"===n.mode?n.geometry="LinePlot":"markers"===n.mode?n.geometry="DotPlot":"lines+markers"===n.mode&&(n.geometry="LinePlot",n.dotVisible=!0):"area"===n.type?n.geometry="AreaChart":"bar"===n.type&&(n.geometry="BarChart"),delete n.mode,delete n.type),n}),!e&&t.layout&&"stack"===t.layout.barmode)){var a=o.util.duplicates(r.data.map(function(t,e){return t.geometry}));r.data.forEach(function(t,e){var n=a.indexOf(t.geometry);-1!=n&&(r.data[e].groupId=n)})}if(t.layout){var s=i({},t.layout);if([[s,["plot_bgcolor"],["backgroundColor"]],[s,["showlegend"],["showLegend"]],[s,["radialaxis"],["radialAxis"]],[s,["angularaxis"],["angularAxis"]],[s.angularaxis,["showline"],["gridLinesVisible"]],[s.angularaxis,["showticklabels"],["labelsVisible"]],[s.angularaxis,["nticks"],["ticksCount"]],[s.angularaxis,["tickorientation"],["tickOrientation"]],[s.angularaxis,["ticksuffix"],["ticksSuffix"]],[s.angularaxis,["range"],["domain"]],[s.angularaxis,["endpadding"],["endPadding"]],[s.radialaxis,["showline"],["gridLinesVisible"]],[s.radialaxis,["tickorientation"],["tickOrientation"]],[s.radialaxis,["ticksuffix"],["ticksSuffix"]],[s.radialaxis,["range"],["domain"]],[s.angularAxis,["showline"],["gridLinesVisible"]],[s.angularAxis,["showticklabels"],["labelsVisible"]],[s.angularAxis,["nticks"],["ticksCount"]],[s.angularAxis,["tickorientation"],["tickOrientation"]],[s.angularAxis,["ticksuffix"],["ticksSuffix"]],[s.angularAxis,["range"],["domain"]],[s.angularAxis,["endpadding"],["endPadding"]],[s.radialAxis,["showline"],["gridLinesVisible"]],[s.radialAxis,["tickorientation"],["tickOrientation"]],[s.radialAxis,["ticksuffix"],["ticksSuffix"]],[s.radialAxis,["range"],["domain"]],[s.font,["outlinecolor"],["outlineColor"]],[s.legend,["traceorder"],["reverseOrder"]],[s,["labeloffset"],["labelOffset"]],[s,["defaultcolorrange"],["defaultColorRange"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e?("undefined"!=typeof s.tickLength&&(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&&(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&&"undefined"!=typeof s.angularAxis.ticklen&&(s.tickLength=s.angularAxis.ticklen),s.angularAxis&&"undefined"!=typeof s.angularAxis.tickcolor&&(s.tickColor=s.angularAxis.tickcolor)),s.legend&&"boolean"!=typeof s.legend.reverseOrder&&(s.legend.reverseOrder="normal"!=s.legend.reverseOrder),s.legend&&"boolean"==typeof s.legend.traceorder&&(s.legend.traceorder=s.legend.traceorder?"reversed":"normal",delete s.legend.reverseOrder),s.margin&&"undefined"!=typeof s.margin.t){var l=["t","r","b","l","pad"],c=["top","right","bottom","left","pad"],u={};n.entries(s.margin).forEach(function(t,e){u[c[l.indexOf(t.key)]]=t.value}),s.margin=u}e&&(delete s.needsEndSpacing,delete s.minorTickColor,delete s.minorTicks,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksStep,delete s.angularaxis.rewriteTicks,delete s.angularaxis.nticks,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksStep,delete s.radialaxis.rewriteTicks,delete s.radialaxis.nticks),r.layout=s}return r}};return t}},{"../../../constants/alignment":665,"../../../lib":693,d3:147}],815:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../../lib"),a=t("../../../components/color"),o=t("./micropolar"),s=t("./undo_manager"),l=i.extendDeepAll,c=e.exports={};c.framework=function(t){var e,r,i,a,u,f=new s;function h(r,s){return s&&(u=s),n.select(n.select(u).node().parentNode).selectAll(".svg-container>*:not(.chart-root)").remove(),e=e?l(e,r):r,i||(i=o.Axis()),a=o.adapter.plotly().convert(e),i.config(a).render(u),t.data=e.data,t.layout=e.layout,c.fillLayout(t),e}return h.isPolar=!0,h.svg=function(){return i.svg()},h.getConfig=function(){return e},h.getLiveConfig=function(){return o.adapter.plotly().convert(i.getLiveConfig(),!0)},h.getLiveScales=function(){return{t:i.angularScale(),r:i.radialScale()}},h.setUndoPoint=function(){var t,n,i=this,a=o.util.cloneJson(e);t=a,n=r,f.add({undo:function(){n&&i(n)},redo:function(){i(t)}}),r=o.util.cloneJson(a)},h.undo=function(){f.undo()},h.redo=function(){f.redo()},h},c.fillLayout=function(t){var e=n.select(t).selectAll(".plot-container"),r=e.selectAll(".svg-container"),i=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:a.background,_container:e,_paperdiv:r,_paper:i};t._fullLayout=l(o,t.layout)}},{"../../../components/color":567,"../../../lib":693,"./micropolar":814,"./undo_manager":816,d3:147}],816:[function(t,e,r){"use strict";e.exports=function(){var t,e=[],r=-1,n=!1;function i(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n?this:(e.splice(r+1,e.length-r),e.push(t),r=e.length-1,this)},setCallback:function(e){t=e},undo:function(){var n=e[r];return n?(i(n,"undo"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(i(n,"redo"),r+=1,t&&t(n.redo),this):this},clear:function(){e=[],r=-1},hasUndo:function(){return-1!==r},hasRedo:function(){return r<e.length-1},getCommands:function(){return e},getPreviousCommand:function(){return e[r-1]},getIndex:function(){return r}}}},{}],817:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("../../registry"),o=t("../../lib"),s=t("../../components/color"),l=t("../../components/drawing"),c=t("../plots"),u=t("../cartesian/set_convert"),f=t("./set_convert"),h=t("../cartesian/autorange").doAutoRange,p=t("../cartesian/axes").doTicksSingle,d=t("../cartesian/dragbox"),g=t("../../components/dragelement"),m=t("../../components/fx"),v=t("../../components/titles"),y=t("../cartesian/select").prepSelect,x=t("../cartesian/select").selectOnClick,b=t("../cartesian/select").clearSelect,_=t("../../lib/setcursor"),w=t("../../constants/alignment").MID_SHIFT,k=t("./constants"),M=t("./helpers"),A=o._,T=o.mod,S=o.deg2rad,E=o.rad2deg;function C(t,e){this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var r=t._fullLayout,n="clip"+r._uid+e;this.clipIds.forTraces=n+"-for-traces",this.clipPaths.forTraces=r._clips.append("clipPath").attr("id",this.clipIds.forTraces),this.clipPaths.forTraces.append("path"),this.framework=r._polarlayer.append("g").attr("class",e),this.radialTickLayout=null,this.angularTickLayout=null}var L=C.prototype;function z(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return"side"in t&&(e+=t.side),e}function P(t,e){return e[o.findIndexOfMin(e,function(e){return o.angleDist(t,e)})]}function O(t,e,r){return e?(t.attr("display",null),t.attr(r)):t&&t.attr("display","none"),t}function I(t,e){return"translate("+t+","+e+")"}function D(t){return"rotate("+t+")"}function R(t){return Math.abs(t)<1e-10?0:t>0?1:-1}function B(t){return R(Math.cos(t))}function F(t){return R(Math.sin(t))}e.exports=function(t,e){return new C(t,e)},L.plot=function(t,e){var r=e[this.id];this._hasClipOnAxisFalse=!1;for(var n=0;n<t.length;n++){if(!1===t[n][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(e,r),this.updateLayout(e,r),c.generalUpdatePerTraceModule(this.gd,this,t,r),this.updateFx(e,r)},L.updateLayers=function(t,e){var r=this.layers,i=e.radialaxis,a=e.angularaxis,o=k.layerNames,s=o.indexOf("frontplot"),l=o.slice(0,s),c="below traces"===a.layer,u="below traces"===i.layer;c&&l.push("angular-line"),u&&l.push("radial-line"),c&&l.push("angular-axis"),u&&l.push("radial-axis"),l.push("frontplot"),c||l.push("angular-line"),u||l.push("radial-line"),c||l.push("angular-axis"),u||l.push("radial-axis");var f=this.framework.selectAll(".polarsublayer").data(l,String);f.enter().append("g").attr("class",function(t){return"polarsublayer "+t}).each(function(t){var e=r[t]=n.select(this);switch(t){case"frontplot":e.append("g").classed("barlayer",!0),e.append("g").classed("scatterlayer",!0);break;case"backplot":e.append("g").classed("maplayer",!0);break;case"plotbg":r.bg=e.append("path");break;case"radial-grid":e.style("fill","none"),e.append("g").classed("x",1);break;case"angular-grid":e.style("fill","none"),e.append("g").classed("angularaxis",1);break;case"radial-line":e.append("line").style("fill","none");break;case"angular-line":e.append("path").style("fill","none")}}),f.order()},L.updateLayout=function(t,e){var r=this.layers,n=t._size,i=e.radialaxis,a=e.angularaxis,o=e.domain.x,c=e.domain.y;this.xOffset=n.l+n.w*o[0],this.yOffset=n.t+n.h*(1-c[1]);var u=this.xLength=n.w*(o[1]-o[0]),f=this.yLength=n.h*(c[1]-c[0]),h=e.sector;this.sectorInRad=h.map(S);var p,d,g,m,v,y=this.sectorBBox=function(t){var e,r,n,i,a=t[0],o=t[1]-a,s=T(a,360),l=s+o,c=Math.cos(S(s)),u=Math.sin(S(s)),f=Math.cos(S(l)),h=Math.sin(S(l));i=s<=90&&l>=90||s>90&&l>=450?1:u<=0&&h<=0?0:Math.max(u,h);e=s<=180&&l>=180||s>180&&l>=540?-1:c>=0&&f>=0?0:Math.min(c,f);r=s<=270&&l>=270||s>270&&l>=630?-1:u>=0&&h>=0?0:Math.min(u,h);n=l>=360?1:c<=0&&f<=0?0:Math.max(c,f);return[e,r,n,i]}(h),x=y[2]-y[0],b=y[3]-y[1],_=f/u,w=Math.abs(b/x);_>w?(p=u,v=(f-(d=u*w))/n.h/2,g=[o[0],o[1]],m=[c[0]+v,c[1]-v]):(d=f,v=(u-(p=f/w))/n.w/2,g=[o[0]+v,o[1]-v],m=[c[0],c[1]]),this.xLength2=p,this.yLength2=d,this.xDomain2=g,this.yDomain2=m;var k=this.xOffset2=n.l+n.w*g[0],M=this.yOffset2=n.t+n.h*(1-m[1]),A=this.radius=p/x,E=this.innerRadius=e.hole*A,C=this.cx=k-A*y[0],L=this.cy=M+A*y[3],z=this.cxx=C-k,P=this.cyy=L-M;this.radialAxis=this.mockAxis(t,e,i,{_axislayer:r["radial-axis"],_gridlayer:r["radial-grid"],_id:"x",side:{counterclockwise:"top",clockwise:"bottom"}[i.side],domain:[E/n.w,A/n.w]}),this.angularAxis=this.mockAxis(t,e,a,{_axislayer:r["angular-axis"],_gridlayer:r["angular-grid"],side:"right",domain:[0,Math.PI],autorange:!1}),this.doAutoRange(t,e),this.updateAngularAxis(t,e),this.updateRadialAxis(t,e),this.updateRadialAxisTitle(t,e),this.xaxis=this.mockCartesianAxis(t,e,{_id:"x",domain:g}),this.yaxis=this.mockCartesianAxis(t,e,{_id:"y",domain:m});var O=this.pathSubplot();this.clipPaths.forTraces.select("path").attr("d",O).attr("transform",I(z,P)),r.frontplot.attr("transform",I(k,M)).call(l.setClipUrl,this._hasClipOnAxisFalse?null:this.clipIds.forTraces),r.bg.attr("d",O).attr("transform",I(C,L)).call(s.fill,e.bgcolor),this.framework.selectAll(".crisp").classed("crisp",0)},L.mockAxis=function(t,e,r,n){var i=o.extendFlat({anchor:"free",position:0,_pos:0,_counteraxis:!0,automargin:!1},r,n);return f(i,e,t),i},L.mockCartesianAxis=function(t,e,r){var n=this,i=r._id,a=o.extendFlat({type:"linear"},r);u(a,t);var s={x:[0,2],y:[1,3]};return a.setRange=function(){var t=n.sectorBBox,r=s[i],o=n.radialAxis._rl,l=(o[1]-o[0])/(1-e.hole);a.range=[t[r[0]]*l,t[r[1]]*l]},a.isPtWithinRange="x"===i?function(t){return n.isPtInside(t)}:function(){return!0},a.setRange(),a.setScale(),a},L.doAutoRange=function(t,e){var r=this.gd,n=this.radialAxis,i=e.radialaxis;n.setScale(),h(r,n);var a=n.range;i.range=a.slice(),i._input.range=a.slice(),n._rl=[n.r2l(a[0],null,"gregorian"),n.r2l(a[1],null,"gregorian")]},L.updateRadialAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,o=r.innerRadius,l=r.cx,c=r.cy,u=e.radialaxis,f=T(e.sector[0],360),h=r.radialAxis,d=o<a;r.fillViewInitialKey("radialaxis.angle",u.angle),r.fillViewInitialKey("radialaxis.range",h.range.slice()),h.setGeometry(),"auto"===h.tickangle&&f>90&&f<=270&&(h.tickangle=180),h._transfn=function(t){return"translate("+(h.l2p(t.x)+o)+",0)"},h._gridpath=function(t){return r.pathArc(h.r2p(t.x)+o)};var g=z(u);r.radialTickLayout!==g&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=g),d&&(h.setScale(),p(n,h,!0));var m=r.radialAxisAngle=r.vangles?E(P(S(u.angle),r.vangles)):u.angle,v=I(l,c)+D(-m);O(i["radial-axis"],d&&(u.showticklabels||u.ticks),{transform:v}),O(i["radial-grid"],d&&u.showgrid,{transform:I(l,c)}).selectAll("path").attr("transform",null),O(i["radial-line"].select("line"),d&&u.showline,{x1:o,y1:0,x2:a,y2:0,transform:v}).attr("stroke-width",u.linewidth).call(s.stroke,u.linecolor)},L.updateRadialAxisTitle=function(t,e,r){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=e.radialaxis,c=this.id+"title",u=void 0!==r?r:this.radialAxisAngle,f=S(u),h=Math.cos(f),p=Math.sin(f),d=0;if(s.title){var g=l.bBox(this.layers["radial-axis"].node()).height,m=s.titlefont.size;d="counterclockwise"===s.side?-g-.4*m:g+.8*m}this.layers["radial-axis-title"]=v.draw(n,c,{propContainer:s,propName:this.id+".radialaxis.title",placeholder:A(n,"Click to enter radial axis title"),attributes:{x:a+i/2*h+d*p,y:o-i/2*p+d*h,"text-anchor":"middle"},transform:{rotate:-u}})},L.updateAngularAxis=function(t,e){var r=this,i=r.gd,a=r.layers,l=r.radius,c=r.innerRadius,u=r.cx,f=r.cy,h=e.angularaxis,d=r.angularAxis;r.fillViewInitialKey("angularaxis.rotation",h.rotation),d.setGeometry();var g=function(t){return d.t2g(t.x)};"linear"===d.type&&"radians"===d.thetaunit&&(d.tick0=E(d.tick0),d.dtick=E(d.dtick)),"category"===d.type&&(d._tickFilter=function(t){return o.isAngleInsideSector(g(t),r.sectorInRad)}),d._transfn=function(t){var e=n.select(this),r=e&&e.node();if(r&&e.classed("angularaxisgrid"))return"";var i=g(t),a=I(u+l*Math.cos(i),f-l*Math.sin(i));return r&&e.classed("ticks")&&(a+=D(-E(i))),a},d._gridpath=function(t){var e=g(t),r=Math.cos(e),n=Math.sin(e);return"M"+[u+c*r,f-c*n]+"L"+[u+l*r,f-l*n]};var m="outside"!==h.ticks?.7:.5;d._labelx=function(t){var e=g(t),r=d._labelStandoff,n=d._pad;return(0===F(e)?0:Math.cos(e)*(r+n+m*t.fontSize))+B(e)*(t.dx+r+n)},d._labely=function(t){var e=g(t),r=d._labelStandoff,n=d._labelShift,i=d._pad;return t.dy+t.fontSize*w-n+-Math.sin(e)*(r+i+m*t.fontSize)},d._labelanchor=function(t,e){var r=g(e);return 0===F(r)?B(r)>0?"start":"end":"middle"};var v,y=z(h);r.angularTickLayout!==y&&(a["angular-axis"].selectAll("."+d._id+"tick").remove(),r.angularTickLayout=y),d.setScale(),p(i,d,!0),"linear"===e.gridshape?(v=d._vals.map(g),o.angleDelta(v[0],v[1])<0&&(v=v.slice().reverse())):v=null,r.vangles=v,O(a["angular-line"].select("path"),h.showline,{d:r.pathSubplot(),transform:I(u,f)}).attr("stroke-width",h.linewidth).call(s.stroke,h.linecolor)},L.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1),this.updateMainDrag(t))},L.updateMainDrag=function(t){var e=this,r=e.gd,o=e.layers,s=t._zoomlayer,l=k.MINZOOM,c=k.OFFEDGE,u=e.radius,f=e.innerRadius,h=e.cx,p=e.cy,v=e.cxx,_=e.cyy,w=e.sectorInRad,A=e.vangles,T=e.radialAxis,S=M.clampTiny,E=M.findXYatLength,C=M.findEnclosingVertexAngles,L=k.cornerHalfWidth,z=k.cornerLen/2,P=d.makeDragger(o,"path","maindrag","crosshair");n.select(P).attr("d",e.pathSubplot()).attr("transform",I(h,p));var O,D,R,B,F,N,j,V,U,q={element:P,gd:r,subplot:e.id,plotinfo:{id:e.id,xaxis:e.xaxis,yaxis:e.yaxis},xaxes:[e.xaxis],yaxes:[e.yaxis]};function H(t,e){return Math.sqrt(t*t+e*e)}function G(t,e){return H(t-v,e-_)}function W(t,e){return Math.atan2(_-e,t-v)}function Y(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function X(t,r){if(0===t)return e.pathSector(2*L);var n=z/t,i=r-n,a=r+n,o=Math.max(0,Math.min(t,u)),s=o-L,l=o+L;return"M"+Y(s,i)+"A"+[s,s]+" 0,0,0 "+Y(s,a)+"L"+Y(l,a)+"A"+[l,l]+" 0,0,1 "+Y(l,i)+"Z"}function Z(t,r,n){if(0===t)return e.pathSector(2*L);var i,a,o=Y(t,r),s=Y(t,n),l=S((o[0]+s[0])/2),c=S((o[1]+s[1])/2);if(l&&c){var u=c/l,f=-1/u,h=E(L,u,l,c);i=E(z,f,h[0][0],h[0][1]),a=E(z,f,h[1][0],h[1][1])}else{var p,d;c?(p=z,d=L):(p=L,d=z),i=[[l-p,c-d],[l+p,c-d]],a=[[l-p,c+d],[l+p,c+d]]}return"M"+i.join("L")+"L"+a.reverse().join("L")+"Z"}function $(t,e){return e=Math.max(Math.min(e,u),f),t<c?t=0:u-t<c?t=u:e<c?e=0:u-e<c&&(e=u),Math.abs(e-t)>l?(t<e?(R=t,B=e):(R=e,B=t),!0):(R=null,B=null,!1)}function J(t,e){t=t||F,e=e||"M0,0Z",V.attr("d",t),U.attr("d",e),d.transitionZoombox(V,U,N,j),N=!0}function K(t,r){var n,i,a=O+t,o=D+r,s=G(O,D),l=Math.min(G(a,o),u),c=W(O,D);$(s,l)&&(n=F+e.pathSector(B),R&&(n+=e.pathSector(R)),i=X(R,c)+X(B,c)),J(n,i)}function Q(t,e,r,n){var i=M.findIntersectionXY(r,n,r,[t-v,_-e]);return H(i[0],i[1])}function tt(t,r){var n,i,a=O+t,o=D+r,s=W(O,D),l=W(a,o),c=C(s,A),f=C(l,A);$(Q(O,D,c[0],c[1]),Math.min(Q(a,o,f[0],f[1]),u))&&(n=F+e.pathSector(B),R&&(n+=e.pathSector(R)),i=[Z(R,c[0],c[1]),Z(B,c[0],c[1])].join(" ")),J(n,i)}function et(){if(d.removeZoombox(r),null!==R&&null!==B){d.showDoubleClickNotifier(r);var t=T._rl,n=(t[1]-t[0])/(1-f/u)/u,i=[t[0]+(R-f)*n,t[0]+(B-f)*n];a.call("relayout",r,e.id+".radialaxis.range",i)}}function rt(t,n){var i=r._fullLayout.clickmode;if(d.removeZoombox(r),2===t){var o={};for(var s in e.viewInitial)o[e.id+"."+s]=e.viewInitial[s];r.emit("plotly_doubleclick",null),a.call("relayout",r,o)}i.indexOf("select")>-1&&1===t&&x(n,r,[e.xaxis],[e.yaxis],e.id,q),i.indexOf("event")>-1&&m.click(r,n,e.id)}q.prepFn=function(t,n,a){var o=r._fullLayout.dragmode,l=P.getBoundingClientRect();if(O=n-l.left,D=a-l.top,A){var c=M.findPolygonOffset(u,w[0],w[1],A);O+=v+c[0],D+=_+c[1]}switch(o){case"zoom":q.moveFn=A?tt:K,q.clickFn=rt,q.doneFn=et,function(){R=null,B=null,F=e.pathSubplot(),N=!1;var t=r._fullLayout[e.id];j=i(t.bgcolor).getLuminance(),(V=d.makeZoombox(s,j,h,p,F)).attr("fill-rule","evenodd"),U=d.makeCorners(s,h,p),b(s)}();break;case"select":case"lasso":y(t,n,a,q,o)}},P.onmousemove=function(t){m.hover(r,t,e.id),r._fullLayout._lasthover=P,r._fullLayout._hoversubplot=e.id},P.onmouseout=function(t){r._dragging||g.unhover(r,t)},g.init(q)},L.updateRadialDrag=function(t,e,r){var i=this,s=i.gd,l=i.layers,c=i.radius,u=i.innerRadius,f=i.cx,h=i.cy,m=i.radialAxis,v=k.radialDragBoxSize,y=v/2;if(m.visible){var x,_,w,M=S(i.radialAxisAngle),A=m._rl,T=A[0],C=A[1],L=A[r],z=.75*(A[1]-A[0])/(1-e.hole)/c;r?(x=f+(c+y)*Math.cos(M),_=h-(c+y)*Math.sin(M),w="radialdrag"):(x=f+(u-y)*Math.cos(M),_=h-(u-y)*Math.sin(M),w="radialdrag-inner");var R,B,F,N=d.makeRectDragger(l,w,"crosshair",-y,-y,v,v),j={element:N,gd:s};O(n.select(N),m.visible&&u<c,{transform:I(x,_)}),j.prepFn=function(){R=null,B=null,F=null,j.moveFn=V,j.doneFn=U,b(t._zoomlayer)},j.clampFn=function(t,e){return Math.sqrt(t*t+e*e)<k.MINDRAG&&(t=0,e=0),[t,e]},g.init(j)}function V(t,e){if(R)R(t,e);else{var r=[t,-e],n=[Math.cos(M),Math.sin(M)],i=Math.abs(o.dot(r,n)/Math.sqrt(o.dot(r,r)));isNaN(i)||(R=i<.5?q:H)}}function U(){null!==B?a.call("relayout",s,i.id+".radialaxis.angle",B):null!==F&&a.call("relayout",s,i.id+".radialaxis.range["+r+"]",F)}function q(t,e){if(0!==r){var n=x+t,a=_+e;B=Math.atan2(h-a,n-f),i.vangles&&(B=P(B,i.vangles)),B=E(B);var o=I(f,h)+D(-B);l["radial-axis"].attr("transform",o),l["radial-line"].select("line").attr("transform",o);var s=i.gd._fullLayout,c=s[i.id];i.updateRadialAxisTitle(s,c,B)}}function H(t,e){var n=o.dot([t,-e],[Math.cos(M),Math.sin(M)]);if(F=L-z*n,z>0==(r?F>T:F<C))for(var a in m.range[r]=F,m._rl[r]=F,m.setGeometry(),m.setScale(),i.xaxis.setRange(),i.xaxis.setScale(),i.yaxis.setRange(),i.yaxis.setScale(),p(s,m,!0),l["radial-grid"].attr("transform",I(f,h)).selectAll("path").attr("transform",null),i._scene&&i._scene.clear(),i.traceHash){var c=i.traceHash[a],u=o.filterVisible(c),d=c[0][0].trace._module,g=s._fullLayout[i.id];d.plot(s,i,u,g)}else F=null}},L.updateAngularDrag=function(t){var e=this,r=e.gd,i=e.layers,s=e.radius,c=e.angularAxis,u=e.cx,f=e.cy,h=e.cxx,m=e.cyy,v=k.angularDragBoxSize,y=d.makeDragger(i,"path","angulardrag","move"),x={element:y,gd:r};function w(t,e){return Math.atan2(m+v-e,t-h-v)}n.select(y).attr("d",e.pathAnnulus(s,s+v)).attr("transform",I(u,f)).call(_,"move");var M,A,T,S,C,L,z=i.frontplot.select(".scatterlayer").selectAll(".trace"),P=z.selectAll(".point"),O=z.selectAll(".textpoint");function R(t,s){var d=e.gd._fullLayout,g=d[e.id],v=w(M+t,A+s),y=E(v-L);if(S=T+y,i.frontplot.attr("transform",I(e.xOffset2,e.yOffset2)+D([-y,h,m])),e.vangles){C=e.radialAxisAngle+y;var x=I(u,f)+D(-y),b=I(u,f)+D(-C);i.bg.attr("transform",x),i["radial-grid"].attr("transform",x),i["angular-line"].select("path").attr("transform",x),i["radial-axis"].attr("transform",b),i["radial-line"].select("line").attr("transform",b),e.updateRadialAxisTitle(d,g,C)}else e.clipPaths.forTraces.select("path").attr("transform",I(h,m)+D(y));for(var _ in P.each(function(){var t=n.select(this),e=l.getTranslate(t);t.attr("transform",I(e.x,e.y)+D([y]))}),O.each(function(){var t=n.select(this),e=t.select("text"),r=l.getTranslate(t);t.attr("transform",D([y,e.attr("x"),e.attr("y")])+I(r.x,r.y))}),c.rotation=o.modHalf(S,360),c.setGeometry(),c.setScale(),p(r,c,!0),e._hasClipOnAxisFalse&&!o.isFullCircle(e.sectorInRad)&&z.call(l.hideOutsideRangePoints,e),e._scene&&e._scene.clear(),e.traceHash)if(a.traceIs(_,"gl")){var k=e.traceHash[_],R=o.filterVisible(k);k[0][0].trace._module.plot(r,e,R,g)}}function B(){O.select("text").attr("transform",null);var t={};t[e.id+".angularaxis.rotation"]=S,e.vangles&&(t[e.id+".radialaxis.angle"]=C),a.call("relayout",r,t)}x.prepFn=function(r,n,i){var a=t[e.id];T=a.angularaxis.rotation;var o=y.getBoundingClientRect();M=n-o.left,A=i-o.top,L=w(M,A),x.moveFn=R,x.doneFn=B,b(t._zoomlayer)},e.vangles&&!o.isFullCircle(e.sectorInRad)&&(x.prepFn=o.noop,_(n.select(y),null)),g.init(x)},L.isPtInside=function(t){var e=this.sectorInRad,r=this.vangles,n=this.angularAxis.c2g(t.theta),i=this.radialAxis,a=i.c2l(t.r),s=i._rl;return(r?M.isPtInsidePolygon:o.isPtInsideSector)(a,n,s,e,r)},L.pathArc=function(t){var e=this.sectorInRad,r=this.vangles;return(r?M.pathPolygon:o.pathArc)(t,e[0],e[1],r)},L.pathSector=function(t){var e=this.sectorInRad,r=this.vangles;return(r?M.pathPolygon:o.pathSector)(t,e[0],e[1],r)},L.pathAnnulus=function(t,e){var r=this.sectorInRad,n=this.vangles;return(n?M.pathPolygonAnnulus:o.pathAnnulus)(t,e,r[0],r[1],n)},L.pathSubplot=function(){var t=this.innerRadius,e=this.radius;return t?this.pathAnnulus(t,e):this.pathSector(e)},L.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)}},{"../../components/color":567,"../../components/dragelement":589,"../../components/drawing":592,"../../components/fx":609,"../../components/titles":658,"../../constants/alignment":665,"../../lib":693,"../../lib/setcursor":714,"../../registry":825,"../cartesian/autorange":741,"../cartesian/axes":742,"../cartesian/dragbox":750,"../cartesian/select":759,"../cartesian/set_convert":760,"../plots":805,"./constants":806,"./helpers":807,"./set_convert":818,d3:147,tinycolor2:511}],818:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../cartesian/set_convert"),a=n.deg2rad,o=n.rad2deg;e.exports=function(t,e,r){switch(i(t,r),t._id){case"x":case"radialaxis":!function(t,e){var r=e._subplot;t.setGeometry=function(){var e=t._rl[0],n=t._rl[1],i=r.innerRadius,a=(r.radius-i)/(n-e),o=i/a,s=e>n?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*a},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case"angularaxis":!function(t,e){var r=t.type;if("linear"===r){var i=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return"degrees"===e?a(t):t}(i(t),e)},t.c2d=function(t,e){return s(function(t,e){return"degrees"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,i){var a,o,s=e[i],l=e._length,c=function(r){return t.d2c(r,e.thetaunit)};if(s){if(n.isTypedArray(s)&&"linear"===r){if(l===s.length)return s;if(s.subarray)return s.subarray(0,l)}for(a=new Array(l),o=0;o<l;o++)a[o]=c(s[o])}else{var u=i+"0",f="d"+i,h=u in e?c(e[u]):0,p=e[f]?c(e[f]):(t.period||2*Math.PI)/l;for(a=new Array(l),o=0;o<l;o++)a[o]=h+o*p}return a},t.setGeometry=function(){var i,s,l,c,u=e.sector,f=u.map(a),h={clockwise:-1,counterclockwise:1}[t.direction],p=a(t.rotation),d=function(t){return h*t+p},g=function(t){return(t-p)/h};switch(r){case"linear":s=i=n.identity,c=a,l=o,t.range=n.isFullCircle(f)?[u[0],u[0]+360]:f.map(g).map(o);break;case"category":var m=t._categories.length,v=t.period?Math.max(t.period,m):m;s=c=function(t){return 2*t*Math.PI/v},i=l=function(t){return t*v/Math.PI/2},t.range=[0,v]}t.c2g=function(t){return d(s(t))},t.g2c=function(t){return i(g(t))},t.t2g=function(t){return d(c(t))},t.g2t=function(t){return l(g(t))}}}(t,e)}}},{"../../lib":693,"../cartesian/set_convert":760}],819:[function(t,e,r){"use strict";function n(t,e){return"splom"===t?-1:"splom"===e?1:0}e.exports={sortBasePlotModules:function(t,e){return n(t.name,e.name)},sortModules:n}},{}],820:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plot_api/plot_template"),a=t("./domain").defaults;e.exports=function(t,e,r,o){var s,l,c=o.type,u=o.attributes,f=o.handleDefaults,h=o.partition||"x",p=e._subplots[c],d=p.length,g=d&&p[0].replace(/\d+$/,"");function m(t,e){return n.coerce(s,l,u,t,e)}for(var v=0;v<d;v++){var y=p[v];s=t[y]?t[y]:t[y]={},l=i.newContainer(e,y,g);var x={};x[h]=[v/d,(v+1)/d],a(l,e,m,x),o.id=y,f(s,l,m,o)}}},{"../lib":693,"../plot_api/plot_template":732,"./domain":767}],821:[function(t,e,r){"use strict";var n=t("./ternary"),i=t("../../plots/get_data").getSubplotCalcData,a=t("../../lib").counterRegex;r.name="ternary";var o=r.attr="subplot";r.idRoot="ternary",r.idRegex=r.attrRegex=a("ternary"),(r.attributes={})[o]={valType:"subplotid",dflt:"ternary",editType:"calc"},r.layoutAttributes=t("./layout_attributes"),r.supplyLayoutDefaults=t("./layout_defaults"),r.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots.ternary,o=0;o<a.length;o++){var s=a[o],l=i(r,"ternary",s),c=e[s]._subplot;c||(c=new n({id:s,graphDiv:t,container:e._ternarylayer.node()},e),e[s]._subplot=c),c.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.ternary||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers["a-title"].remove(),s.layers["b-title"].remove(),s.layers["c-title"].remove())}}},{"../../lib":693,"../../plots/get_data":778,"./layout_attributes":822,"./layout_defaults":823,"./ternary":824}],822:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),i=t("../domain").attributes,a=t("../cartesian/layout_attributes"),o=t("../../plot_api/edit_types").overrideAll,s=t("../../lib/extend").extendFlat,l={title:a.title,titlefont:a.titlefont,color:a.color,tickmode:a.tickmode,nticks:s({},a.nticks,{dflt:6,min:1}),tick0:a.tick0,dtick:a.dtick,tickvals:a.tickvals,ticktext:a.ticktext,ticks:a.ticks,ticklen:a.ticklen,tickwidth:a.tickwidth,tickcolor:a.tickcolor,showticklabels:a.showticklabels,showtickprefix:a.showtickprefix,tickprefix:a.tickprefix,showticksuffix:a.showticksuffix,ticksuffix:a.ticksuffix,showexponent:a.showexponent,exponentformat:a.exponentformat,separatethousands:a.separatethousands,tickfont:a.tickfont,tickangle:a.tickangle,tickformat:a.tickformat,tickformatstops:a.tickformatstops,hoverformat:a.hoverformat,showline:s({},a.showline,{dflt:!0}),linecolor:a.linecolor,linewidth:a.linewidth,showgrid:s({},a.showgrid,{dflt:!0}),gridcolor:a.gridcolor,gridwidth:a.gridwidth,layer:a.layer,min:{valType:"number",dflt:0,min:0}};e.exports=o({domain:i({name:"ternary"}),bgcolor:{valType:"color",dflt:n.background},sum:{valType:"number",dflt:1,min:0},aaxis:l,baxis:l,caxis:l},"plot","from-root")},{"../../components/color/attributes":566,"../../lib/extend":682,"../../plot_api/edit_types":725,"../cartesian/layout_attributes":754,"../domain":767}],823:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../../plot_api/plot_template"),a=t("../../lib"),o=t("../subplot_defaults"),s=t("../cartesian/tick_label_defaults"),l=t("../cartesian/tick_mark_defaults"),c=t("../cartesian/tick_value_defaults"),u=t("../cartesian/line_grid_defaults"),f=t("./layout_attributes"),h=["aaxis","baxis","caxis"];function p(t,e,r,a){var o,s,l,c=r("bgcolor"),u=r("sum");a.bgColor=n.combine(c,a.paper_bgcolor);for(var f=0;f<h.length;f++)s=t[o=h[f]]||{},(l=i.newContainer(e,o))._name=o,d(s,l,a);var p=e.aaxis,g=e.baxis,m=e.caxis;p.min+g.min+m.min>=u&&(p.min=0,g.min=0,m.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function d(t,e,r){var n=f[e._name];function i(r,i){return a.coerce(t,e,n,r,i)}e.type="linear";var o=i("color"),h=o!==n.color.dflt?o:r.font.color,p=e._name.charAt(0).toUpperCase(),d="Component "+p,g=i("title",d);e._hovertitle=g===d?g:p,a.coerceFont(i,"titlefont",{family:r.font.family,size:Math.round(1.2*r.font.size),color:h}),i("min"),c(t,e,i,"linear"),s(t,e,i,"linear",{}),l(t,e,i,{outerTicks:!0}),i("showticklabels")&&(a.coerceFont(i,"tickfont",{family:r.font.family,size:r.font.size,color:h}),i("tickangle"),i("tickformat")),u(t,e,i,{dfltColor:o,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:n}),i("hoverformat"),i("layer")}e.exports=function(t,e,r){o(t,e,r,{type:"ternary",attributes:f,handleDefaults:p,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{"../../components/color":567,"../../lib":693,"../../plot_api/plot_template":732,"../cartesian/line_grid_defaults":756,"../cartesian/tick_label_defaults":761,"../cartesian/tick_mark_defaults":762,"../cartesian/tick_value_defaults":763,"../subplot_defaults":820,"./layout_attributes":822}],824:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("../../registry"),o=t("../../lib"),s=o._,l=t("../../components/color"),c=t("../../components/drawing"),u=t("../cartesian/set_convert"),f=t("../../lib/extend").extendFlat,h=t("../plots"),p=t("../cartesian/axes"),d=t("../../components/dragelement"),g=t("../../components/fx"),m=t("../../components/titles"),v=t("../cartesian/select").prepSelect,y=t("../cartesian/select").selectOnClick,x=t("../cartesian/select").clearSelect,b=t("../cartesian/constants");function _(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}e.exports=_;var w=_.prototype;w.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},w.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;i<t.length;i++){if(!1===t[i][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(r),this.adjustLayout(r,n),h.generalUpdatePerTraceModule(this.graphDiv,this,t,r),this.layers.plotbg.select("path").call(l.fill,r.bgcolor)},w.makeFramework=function(t){var e=t[this.id],r=this.clipId="clip"+this.layoutId+this.id,n=this.clipIdRelative="clip-relative"+this.layoutId+this.id;this.clipDef=o.ensureSingleById(t._clips,"clipPath",r,function(t){t.append("path").attr("d","M0,0Z")}),this.clipDefRelative=o.ensureSingleById(t._clips,"clipPath",n,function(t){t.append("path").attr("d","M0,0Z")}),this.plotContainer=o.ensureSingle(this.container,"g",this.id),this.updateLayers(e),c.setClipUrl(this.layers.backplot,r),c.setClipUrl(this.layers.grids,r)},w.updateLayers=function(t){var e=this.layers,r=["draglayer","plotbg","backplot","grids"];"below traces"===t.aaxis.layer&&r.push("aaxis","aline"),"below traces"===t.baxis.layer&&r.push("baxis","bline"),"below traces"===t.caxis.layer&&r.push("caxis","cline"),r.push("frontplot"),"above traces"===t.aaxis.layer&&r.push("aaxis","aline"),"above traces"===t.baxis.layer&&r.push("baxis","bline"),"above traces"===t.caxis.layer&&r.push("caxis","cline");var i=this.plotContainer.selectAll("g.toplevel").data(r,String),a=["agrid","bgrid","cgrid"];i.enter().append("g").attr("class",function(t){return"toplevel "+t}).each(function(t){var r=n.select(this);e[t]=r,"frontplot"===t?r.append("g").classed("scatterlayer",!0):"backplot"===t?r.append("g").classed("maplayer",!0):"plotbg"===t?r.append("path").attr("d","M0,0Z"):"aline"===t||"bline"===t||"cline"===t?r.append("path"):"grids"===t&&a.forEach(function(t){e[t]=r.append("g").classed("grid "+t,!0);var n="bgrid"===t?"x":"y";e[t].append("g").classed(n,!0)})}),i.order()};var k=Math.sqrt(4/3);function M(t){return t.ticks+String(t.ticklen)+String(t.showticklabels)}w.adjustLayout=function(t,e){var r,n,i,a,o,s,h=this,p=t.domain,d=(p.x[0]+p.x[1])/2,g=(p.y[0]+p.y[1])/2,m=p.x[1]-p.x[0],v=p.y[1]-p.y[0],y=m*e.w,x=v*e.h,b=t.sum,_=t.aaxis.min,w=t.baxis.min,M=t.caxis.min;y>k*x?i=(a=x)*k:a=(i=y)/k,o=m*i/y,s=v*a/x,r=e.l+e.w*d-i/2,n=e.t+e.h*(1-g)-a/2,h.x0=r,h.y0=n,h.w=i,h.h=a,h.sum=b,h.xaxis={type:"linear",range:[_+2*M-b,b-_-2*w],domain:[d-o/2,d+o/2],_id:"x"},u(h.xaxis,h.graphDiv._fullLayout),h.xaxis.setScale(),h.xaxis.isPtWithinRange=function(t){return t.a>=h.aaxis.range[0]&&t.a<=h.aaxis.range[1]&&t.b>=h.baxis.range[1]&&t.b<=h.baxis.range[0]&&t.c>=h.caxis.range[1]&&t.c<=h.caxis.range[0]},h.yaxis={type:"linear",range:[_,b-w-M],domain:[g-s/2,g+s/2],_id:"y"},u(h.yaxis,h.graphDiv._fullLayout),h.yaxis.setScale(),h.yaxis.isPtWithinRange=function(){return!0};var A=h.yaxis.domain[0],T=h.aaxis=f({},t.aaxis,{visible:!0,range:[_,b-w-M],side:"left",_counterangle:30,tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+s*k],_axislayer:h.layers.aaxis,_gridlayer:h.layers.agrid,anchor:"free",position:0,_pos:0,_id:"y",_length:i,_gridpath:"M0,0l"+a+",-"+i/2,automargin:!1});u(T,h.graphDiv._fullLayout),T.setScale();var S=h.baxis=f({},t.baxis,{visible:!0,range:[b-_-M,w],side:"bottom",_counterangle:30,domain:h.xaxis.domain,_axislayer:h.layers.baxis,_gridlayer:h.layers.bgrid,_counteraxis:h.aaxis,anchor:"free",position:0,_pos:0,_id:"x",_length:i,_gridpath:"M0,0l-"+i/2+",-"+a,automargin:!1});u(S,h.graphDiv._fullLayout),S.setScale(),T._counteraxis=S;var E=h.caxis=f({},t.caxis,{visible:!0,range:[b-_-w,M],side:"right",_counterangle:30,tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+s*k],_axislayer:h.layers.caxis,_gridlayer:h.layers.cgrid,_counteraxis:h.baxis,anchor:"free",position:0,_pos:0,_id:"y",_length:i,_gridpath:"M0,0l-"+a+","+i/2,automargin:!1});u(E,h.graphDiv._fullLayout),E.setScale();var C="M"+r+","+(n+a)+"h"+i+"l-"+i/2+",-"+a+"Z";h.clipDef.select("path").attr("d",C),h.layers.plotbg.select("path").attr("d",C);var L="M0,"+a+"h"+i+"l-"+i/2+",-"+a+"Z";h.clipDefRelative.select("path").attr("d",L);var z="translate("+r+","+n+")";h.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",z),h.clipDefRelative.select("path").attr("transform",null);var P="translate("+(r-S._offset)+","+(n+a)+")";h.layers.baxis.attr("transform",P),h.layers.bgrid.attr("transform",P);var O="translate("+(r+i/2)+","+n+")rotate(30)translate(0,"+-T._offset+")";h.layers.aaxis.attr("transform",O),h.layers.agrid.attr("transform",O);var I="translate("+(r+i/2)+","+n+")rotate(-30)translate(0,"+-E._offset+")";h.layers.caxis.attr("transform",I),h.layers.cgrid.attr("transform",I),h.drawAxes(!0),h.plotContainer.selectAll(".crisp").classed("crisp",!1),h.layers.aline.select("path").attr("d",T.showline?"M"+r+","+(n+a)+"l"+i/2+",-"+a:"M0,0").call(l.stroke,T.linecolor||"#000").style("stroke-width",(T.linewidth||0)+"px"),h.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+a)+"h"+i:"M0,0").call(l.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),h.layers.cline.select("path").attr("d",E.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+a:"M0,0").call(l.stroke,E.linecolor||"#000").style("stroke-width",(E.linewidth||0)+"px"),h.graphDiv._context.staticPlot||h.initInteractions(),c.setClipUrl(h.layers.frontplot,h._hasClipOnAxisFalse?null:h.clipId)},w.drawAxes=function(t){var e,r=this.graphDiv,n=this.id.substr(7)+"title",i=this.layers,a=this.aaxis,o=this.baxis,l=this.caxis;if(e=M(a),this.aTickLayout!==e&&(i.aaxis.selectAll(".ytick").remove(),this.aTickLayout=e),e=M(o),this.bTickLayout!==e&&(i.baxis.selectAll(".xtick").remove(),this.bTickLayout=e),e=M(l),this.cTickLayout!==e&&(i.caxis.selectAll(".ytick").remove(),this.cTickLayout=e),p.doTicksSingle(r,a,!0),p.doTicksSingle(r,o,!0),p.doTicksSingle(r,l,!0),t){var c=Math.max(a.showticklabels?a.tickfont.size/2:0,(l.showticklabels?.75*l.tickfont.size:0)+("outside"===l.ticks?.87*l.ticklen:0));this.layers["a-title"]=m.draw(r,"a"+n,{propContainer:a,propName:this.id+".aaxis.title",placeholder:s(r,"Click to enter Component A title"),attributes:{x:this.x0+this.w/2,y:this.y0-a.titlefont.size/3-c,"text-anchor":"middle"}});var u=(o.showticklabels?o.tickfont.size:0)+("outside"===o.ticks?o.ticklen:0)+3;this.layers["b-title"]=m.draw(r,"b"+n,{propContainer:o,propName:this.id+".baxis.title",placeholder:s(r,"Click to enter Component B title"),attributes:{x:this.x0-u,y:this.y0+this.h+.83*o.titlefont.size+u,"text-anchor":"middle"}}),this.layers["c-title"]=m.draw(r,"c"+n,{propContainer:l,propName:this.id+".caxis.title",placeholder:s(r,"Click to enter Component C title"),attributes:{x:this.x0+this.w+u,y:this.y0+this.h+.83*l.titlefont.size+u,"text-anchor":"middle"}})}};var A=b.MINZOOM/2+.87,T="m-0.87,.5h"+A+"v3h-"+(A+5.2)+"l"+(A/2+2.6)+",-"+(.87*A+4.5)+"l2.6,1.5l-"+A/2+","+.87*A+"Z",S="m0.87,.5h-"+A+"v3h"+(A+5.2)+"l-"+(A/2+2.6)+",-"+(.87*A+4.5)+"l-2.6,1.5l"+A/2+","+.87*A+"Z",E="m0,1l"+A/2+","+.87*A+"l2.6,-1.5l-"+(A/2+2.6)+",-"+(.87*A+4.5)+"l-"+(A/2+2.6)+","+(.87*A+4.5)+"l2.6,1.5l"+A/2+",-"+.87*A+"Z",C="m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z",L=!0;function z(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}w.initInteractions=function(){var t,e,r,n,u,f,h,p,m,_,w=this,M=w.layers.plotbg.select("path").node(),A=w.graphDiv,P=A._fullLayout._zoomlayer,O={element:M,gd:A,plotinfo:{id:w.id,xaxis:w.xaxis,yaxis:w.yaxis},subplot:w.id,prepFn:function(a,o,s){O.xaxes=[w.xaxis],O.yaxes=[w.yaxis];var c=A._fullLayout.dragmode;O.minDrag="lasso"===c?1:void 0,"zoom"===c?(O.moveFn=F,O.clickFn=I,O.doneFn=N,function(a,o,s){var c=M.getBoundingClientRect();t=o-c.left,e=s-c.top,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,n=w.aaxis.range[1]-r.a,f=i(w.graphDiv._fullLayout[w.id].bgcolor).getLuminance(),h="M0,"+w.h+"L"+w.w/2+", 0L"+w.w+","+w.h+"Z",p=!1,m=P.append("path").attr("class","zoombox").attr("transform","translate("+w.x0+", "+w.y0+")").style({fill:f>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",h),_=P.append("path").attr("class","zoombox-corners").attr("transform","translate("+w.x0+", "+w.y0+")").style({fill:l.background,stroke:l.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),x(P)}(0,o,s)):"pan"===c?(O.moveFn=j,O.clickFn=I,O.doneFn=V,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,x(P)):"select"!==c&&"lasso"!==c||v(a,o,s,O,c)}};function I(t,e){var r=A._fullLayout.clickmode;if(z(A),2===t){var n={};n[w.id+".aaxis.min"]=0,n[w.id+".baxis.min"]=0,n[w.id+".caxis.min"]=0,A.emit("plotly_doubleclick",null),a.call("relayout",A,n)}r.indexOf("select")>-1&&1===t&&y(e,A,[w.xaxis],[w.yaxis],w.id,O),r.indexOf("event")>-1&&g.click(A,e,w.id)}function D(t,e){return 1-e/w.h}function R(t,e){return 1-(t+(w.h-e)/Math.sqrt(3))/w.w}function B(t,e){return(t-(w.h-e)/Math.sqrt(3))/w.w}function F(i,a){var o=t+i,s=e+a,l=Math.max(0,Math.min(1,D(0,e),D(0,s))),c=Math.max(0,Math.min(1,R(t,e),R(o,s))),d=Math.max(0,Math.min(1,B(t,e),B(o,s))),g=(l/2+d)*w.w,v=(1-l/2-c)*w.w,y=(g+v)/2,x=v-g,M=(1-l)*w.h,A=M-x/k;x<b.MINZOOM?(u=r,m.attr("d",h),_.attr("d","M0,0Z")):(u={a:r.a+l*n,b:r.b+c*n,c:r.c+d*n},m.attr("d",h+"M"+g+","+M+"H"+v+"L"+y+","+A+"L"+g+","+M+"Z"),_.attr("d","M"+t+","+e+C+"M"+g+","+M+T+"M"+v+","+M+S+"M"+y+","+A+E)),p||(m.transition().style("fill",f>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),_.transition().style("opacity",1).duration(200),p=!0)}function N(){if(z(A),u!==r){var t={};t[w.id+".aaxis.min"]=u.a,t[w.id+".baxis.min"]=u.b,t[w.id+".caxis.min"]=u.c,a.call("relayout",A,t),L&&A.data&&A._context.showTips&&(o.notifier(s(A,"Double-click to zoom back out"),"long"),L=!1)}}function j(t,e){var n=t/w.xaxis._m,i=e/w.yaxis._m,a=[(u={a:r.a-i,b:r.b+(n+i)/2,c:r.c-(n-i)/2}).a,u.b,u.c].sort(),o=a.indexOf(u.a),s=a.indexOf(u.b),l=a.indexOf(u.c);a[0]<0&&(a[1]+a[0]/2<0?(a[2]+=a[0]+a[1],a[0]=a[1]=0):(a[2]+=a[0]/2,a[1]+=a[0]/2,a[0]=0),u={a:a[o],b:a[s],c:a[l]},e=(r.a-u.a)*w.yaxis._m,t=(r.c-u.c-r.b+u.b)*w.xaxis._m);var f="translate("+(w.x0+t)+","+(w.y0+e)+")";w.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",f);var h="translate("+-t+","+-e+")";w.clipDefRelative.select("path").attr("transform",h),w.aaxis.range=[u.a,w.sum-u.b-u.c],w.baxis.range=[w.sum-u.a-u.c,u.b],w.caxis.range=[w.sum-u.a-u.b,u.c],w.drawAxes(!1),w.plotContainer.selectAll(".crisp").classed("crisp",!1),w._hasClipOnAxisFalse&&w.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,w)}function V(){var t={};t[w.id+".aaxis.min"]=u.a,t[w.id+".baxis.min"]=u.b,t[w.id+".caxis.min"]=u.c,a.call("relayout",A,t)}M.onmousemove=function(t){g.hover(A,t,w.id),A._fullLayout._lasthover=M,A._fullLayout._hoversubplot=w.id},M.onmouseout=function(t){A._dragging||d.unhover(A,t)},d.init(O)}},{"../../components/color":567,"../../components/dragelement":589,"../../components/drawing":592,"../../components/fx":609,"../../components/titles":658,"../../lib":693,"../../lib/extend":682,"../../registry":825,"../cartesian/axes":742,"../cartesian/constants":747,"../cartesian/select":759,"../cartesian/set_convert":760,"../plots":805,d3:147,tinycolor2:511}],825:[function(t,e,r){"use strict";var n=t("./lib/loggers"),i=t("./lib/noop"),a=t("./lib/push_unique"),o=t("./lib/is_plain_object"),s=t("./lib/extend"),l=t("./plots/attributes"),c=t("./plots/layout_attributes"),u=s.extendFlat,f=s.extendDeepAll;function h(t){var e=t.name,i=t.categories,a=t.meta;if(r.modules[e])n.log("Type "+e+" already registered");else{r.subplotsRegistry[t.basePlotModule.name]||function(t){var e=t.name;if(r.subplotsRegistry[e])return void n.log("Plot type "+e+" already registered.");for(var i in m(t),r.subplotsRegistry[e]=t,r.componentsRegistry)x(i,t.name)}(t.basePlotModule);for(var o={},s=0;s<i.length;s++)o[i[s]]=!0,r.allCategories[i[s]]=!0;for(var l in r.modules[e]={_module:t,categories:o},a&&Object.keys(a).length&&(r.modules[e].meta=a),r.allTypes.push(e),r.componentsRegistry)v(l,e);t.layoutAttributes&&u(r.traceLayoutAttributes,t.layoutAttributes)}}function p(t){if("string"!=typeof t.name)throw new Error("Component module *name* must be a string.");var e=t.name;for(var n in r.componentsRegistry[e]=t,t.layoutAttributes&&(t.layoutAttributes._isLinkedToArray&&a(r.layoutArrayContainers,e),m(t)),r.modules)v(e,n);for(var i in r.subplotsRegistry)x(e,i);for(var o in r.transformsRegistry)y(e,o);t.schema&&t.schema.layout&&f(c,t.schema.layout)}function d(t){if("string"!=typeof t.name)throw new Error("Transform module *name* must be a string.");var e="Transform module "+t.name,i="function"==typeof t.transform,a="function"==typeof t.calcTransform;if(!i&&!a)throw new Error(e+" is missing a *transform* or *calcTransform* method.");for(var s in i&&a&&n.log([e+" has both a *transform* and *calcTransform* methods.","Please note that all *transform* methods are executed","before all *calcTransform* methods."].join(" ")),o(t.attributes)||n.log(e+" registered without an *attributes* object."),"function"!=typeof t.supplyDefaults&&n.log(e+" registered without a *supplyDefaults* method."),r.transformsRegistry[t.name]=t,r.componentsRegistry)y(s,t.name)}function g(t){var e=t.name,n=e.split("-")[0],i=t.dictionary,a=t.format,o=i&&Object.keys(i).length,s=a&&Object.keys(a).length,l=r.localeRegistry,c=l[e];if(c||(l[e]=c={}),n!==e){var u=l[n];u||(l[n]=u={}),o&&u.dictionary===c.dictionary&&(u.dictionary=i),s&&u.format===c.format&&(u.format=a)}o&&(c.dictionary=i),s&&(c.format=a)}function m(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var n=0;n<e.length;n++)a(r.layoutArrayRegexes,e[n])}}function v(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.traces){var i=n.traces[e];i&&f(r.modules[e]._module.attributes,i)}}function y(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.transforms){var i=n.transforms[e];i&&f(r.transformsRegistry[e].attributes,i)}}function x(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.subplots){var i=r.subplotsRegistry[e],a=i.layoutAttributes,o="subplot"===i.attr?i.name:i.attr;Array.isArray(o)&&(o=o[0]);var s=n.subplots[o];a&&s&&f(a,s)}}function b(t){return"object"==typeof t&&(t=t.type),t}r.modules={},r.allCategories={},r.allTypes=[],r.subplotsRegistry={},r.transformsRegistry={},r.componentsRegistry={},r.layoutArrayContainers=[],r.layoutArrayRegexes=[],r.traceLayoutAttributes={},r.localeRegistry={},r.apiMethodRegistry={},r.register=function(t){if(!t)throw new Error("No argument passed to Plotly.register.");t&&!Array.isArray(t)&&(t=[t]);for(var e=0;e<t.length;e++){var n=t[e];if(!n)throw new Error("Invalid module was attempted to be registered!");switch(n.moduleType){case"trace":h(n);break;case"transform":d(n);break;case"component":p(n);break;case"locale":g(n);break;case"apiMethod":var i=n.name;r.apiMethodRegistry[i]=n.fn;break;default:throw new Error("Invalid module was attempted to be registered!")}}},r.getModule=function(t){var e=r.modules[b(t)];return!!e&&e._module},r.traceIs=function(t,e){if("various"===(t=b(t)))return!1;var i=r.modules[t];return i||(t&&"area"!==t&&n.log("Unrecognized trace type "+t+"."),i=r.modules[l.type.dflt]),!!i.categories[e]},r.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],i=0;i<n.length;i++)n[i].type===e&&r.push(i);return r},r.hasTransform=function(t,e){for(var r=t.transforms||[],n=0;n<r.length;n++)if(r[n].type===e)return!0;return!1},r.getComponentMethod=function(t,e){var n=r.componentsRegistry[t];return n&&n[e]||i},r.call=function(){var t=arguments[0],e=[].slice.call(arguments,1);return r.apiMethodRegistry[t].apply(null,e)}},{"./lib/extend":682,"./lib/is_plain_object":695,"./lib/loggers":698,"./lib/noop":703,"./lib/push_unique":708,"./plots/attributes":739,"./plots/layout_attributes":796}],826:[function(t,e,r){"use strict";var n=t("../lib"),i=n.extendFlat,a=n.extendDeep;function o(t){var e;switch(t){case"themes__thumb":e={autosize:!0,width:150,height:150,title:"",showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case"thumbnail":e={title:"",hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:"",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}e.exports=function(t,e){var r;t.framework&&t.framework.isPolar&&(t=t.framework.getConfig());var n,s=t.data,l=t.layout,c=a([],s),u=a({},l,o(e.tileClass)),f=t._context||{};if(e.width&&(u.width=e.width),e.height&&(u.height=e.height),"thumbnail"===e.tileClass||"themes__thumb"===e.tileClass){u.annotations=[];var h=Object.keys(u);for(r=0;r<h.length;r++)n=h[r],["xaxis","yaxis","zaxis"].indexOf(n.slice(0,5))>-1&&(u[h[r]].title="");for(r=0;r<c.length;r++){var p=c[r];p.showscale=!1,p.marker&&(p.marker.showscale=!1),"pie"===p.type&&(p.textposition="none")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)u.annotations.push(e.annotations[r]);var d=Object.keys(u).filter(function(t){return t.match(/^scene\d*$/)});if(d.length){var g={};for("thumbnail"===e.tileClass&&(g={title:"",showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<d.length;r++){var m=u[d[r]];m.xaxis||(m.xaxis={}),m.yaxis||(m.yaxis={}),m.zaxis||(m.zaxis={}),i(m.xaxis,g),i(m.yaxis,g),i(m.zaxis,g),m._scene=null}}var v=document.createElement("div");e.tileClass&&(v.className=e.tileClass);var y={gd:v,td:v,layout:u,data:c,config:{staticPlot:void 0===e.staticPlot||e.staticPlot,plotGlPixelRatio:void 0===e.plotGlPixelRatio?2:e.plotGlPixelRatio,displaylogo:e.displaylogo||!1,showLink:e.showLink||!1,showTips:e.showTips||!1,mapboxAccessToken:f.mapboxAccessToken}};return"transparent"!==e.setBackground&&(y.config.setBackground=e.setBackground||"opaque"),y.gd.defaultLayout=o(e.tileClass),y}},{"../lib":693}],827:[function(t,e,r){"use strict";var n=t("../plot_api/to_image"),i=t("../lib"),a=t("./filesaver");e.exports=function(t,e){var r;return i.isPlainObject(t)||(r=i.getGraphDiv(t)),(e=e||{}).format=e.format||"png",new Promise(function(o,s){r&&r._snapshotInProgress&&s(new Error("Snapshotting already in progress.")),i.isIE()&&"svg"!==e.format&&s(new Error("Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.")),r&&(r._snapshotInProgress=!0);var l=n(t,e),c=e.filename||t.fn||"newplot";c+="."+e.format,l.then(function(t){return r&&(r._snapshotInProgress=!1),a(t,c)}).then(function(t){o(t)}).catch(function(t){r&&(r._snapshotInProgress=!1),s(t)})})}},{"../lib":693,"../plot_api/to_image":735,"./filesaver":828}],828:[function(t,e,r){"use strict";e.exports=function(t,e){var r=document.createElement("a"),n="download"in r,i=/Version\/[\d\.]+.*Safari/.test(navigator.userAgent);return new Promise(function(a,o){if("undefined"!=typeof navigator&&/MSIE [1-9]\./.test(navigator.userAgent)&&o(new Error("IE < 10 unsupported")),i&&(document.location.href="data:application/octet-stream"+t.slice(t.search(/[,;]/)),a(e)),e||(e="download"),n&&(r.href=t,r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r),a(e)),"undefined"!=typeof navigator&&navigator.msSaveBlob){var s=t.split(/^data:image\/svg\+xml,/)[1],l=decodeURIComponent(s);navigator.msSaveBlob(new Blob([l]),e),a(e)}o(new Error("download error"))})}},{}],829:[function(t,e,r){"use strict";r.getDelay=function(t){return t._has&&(t._has("gl3d")||t._has("gl2d")||t._has("mapbox"))?500:0},r.getRedrawFunc=function(t){var e=t._fullLayout||{};if(!(!(e._has&&e._has("polar"))&&t.data&&t.data[0]&&t.data[0].r))return function(){(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()})}}},{}],830:[function(t,e,r){"use strict";var n=t("./helpers"),i={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:t("./cloneplot"),toSVG:t("./tosvg"),svgToImg:t("./svgtoimg"),toImage:t("./toimage"),downloadImage:t("./download")};e.exports=i},{"./cloneplot":826,"./download":827,"./helpers":829,"./svgtoimg":831,"./toimage":832,"./tosvg":833}],831:[function(t,e,r){"use strict";var n=t("../lib"),i=t("events").EventEmitter;e.exports=function(t){var e=t.emitter||new i,r=new Promise(function(i,a){var o=window.Image,s=t.svg,l=t.format||"png";if(n.isIE()&&"svg"!==l){var c=new Error("Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.");return a(c),t.promise?r:e.emit("error",c)}var u=t.canvas,f=t.scale||1,h=t.width||300,p=t.height||150,d=f*h,g=f*p,m=u.getContext("2d"),v=new o,y="data:image/svg+xml,"+encodeURIComponent(s);u.width=d,u.height=g,v.onload=function(){var r;switch("svg"!==l&&m.drawImage(v,0,0,d,g),l){case"jpeg":r=u.toDataURL("image/jpeg");break;case"png":r=u.toDataURL("image/png");break;case"webp":r=u.toDataURL("image/webp");break;case"svg":r=y;break;default:var n="Image format is not jpeg, png, svg or webp.";if(a(new Error(n)),!t.promise)return e.emit("error",n)}i(r),t.promise||e.emit("success",r)},v.onerror=function(r){if(a(r),!t.promise)return e.emit("error",r)},v.src=y});return t.promise?r:e}},{"../lib":693,events:91}],832:[function(t,e,r){"use strict";var n=t("events").EventEmitter,i=t("../registry"),a=t("../lib"),o=t("./helpers"),s=t("./cloneplot"),l=t("./tosvg"),c=t("./svgtoimg");e.exports=function(t,e){var r=new n,u=s(t,{format:"png"}),f=u.gd;f.style.position="absolute",f.style.left="-5000px",document.body.appendChild(f);var h=o.getRedrawFunc(f);return i.call("plot",f,u.data,u.layout,u.config).then(h).then(function(){var t=o.getDelay(f._fullLayout);setTimeout(function(){var t=l(f),n=document.createElement("canvas");n.id=a.randstr(),(r=c({format:e.format,width:f._fullLayout.width,height:f._fullLayout.height,canvas:n,emitter:r,svg:t})).clean=function(){f&&document.body.removeChild(f)}},t)}).catch(function(t){r.emit("error",t)}),r}},{"../lib":693,"../registry":825,"./cloneplot":826,"./helpers":829,"./svgtoimg":831,"./tosvg":833,events:91}],833:[function(t,e,r){"use strict";var n=t("d3"),i=t("../lib"),a=t("../components/drawing"),o=t("../components/color"),s=t("../constants/xmlns_namespaces"),l=/"/g,c=new RegExp('("TOBESTRIPPED)|(TOBESTRIPPED")',"g");e.exports=function(t,e,r){var u,f=t._fullLayout,h=f._paper,p=f._toppaper,d=f.width,g=f.height;h.insert("rect",":first-child").call(a.setRect,0,0,d,g).call(o.fill,f.paper_bgcolor);var m=f._basePlotModules||[];for(u=0;u<m.length;u++){var v=m[u];v.toSVG&&v.toSVG(t)}if(p){var y=p.node().childNodes,x=Array.prototype.slice.call(y);for(u=0;u<x.length;u++){var b=x[u];b.childNodes.length&&h.node().appendChild(b)}}f._draggers&&f._draggers.remove(),h.node().style.background="",h.selectAll("text").attr({"data-unformatted":null,"data-math":null}).each(function(){var t=n.select(this);if("hidden"!==this.style.visibility&&"none"!==this.style.display){t.style({visibility:null,display:null});var e=this.style.fontFamily;e&&-1!==e.indexOf('"')&&t.style("font-family",e.replace(l,"TOBESTRIPPED"))}else t.remove()}),h.selectAll(".point, .scatterpts, .legendfill>path, .legendlines>path, .cbfill").each(function(){var t=n.select(this),e=this.style.fill;e&&-1!==e.indexOf("url(")&&t.style("fill",e.replace(l,"TOBESTRIPPED"));var r=this.style.stroke;r&&-1!==r.indexOf("url(")&&t.style("stroke",r.replace(l,"TOBESTRIPPED"))}),"pdf"!==e&&"eps"!==e||h.selectAll("#MathJax_SVG_glyphs path").attr("stroke-width",0),h.node().setAttributeNS(s.xmlns,"xmlns",s.svg),h.node().setAttributeNS(s.xmlns,"xmlns:xlink",s.xlink),"svg"===e&&r&&(h.attr("width",r*d),h.attr("height",r*g),h.attr("viewBox","0 0 "+d+" "+g));var _=(new window.XMLSerializer).serializeToString(h.node());return _=function(t){var e=n.select("body").append("div").style({display:"none"}).html(""),r=t.replace(/(&[^;]*;)/gi,function(t){return"&lt;"===t?"&#60;":"&rt;"===t?"&#62;":-1!==t.indexOf("<")||-1!==t.indexOf(">")?"":e.html(t).text()});return e.remove(),r}(_),_=(_=_.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&amp;")).replace(c,"'"),i.isIE()&&(_=(_=(_=_.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),_}},{"../components/color":567,"../components/drawing":592,"../constants/xmlns_namespaces":671,"../lib":693,d3:147}],834:[function(t,e,r){"use strict";var n=t("../../lib").mergeArray;e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n(e.text,t,"tx"),n(e.hovertext,t,"htx");var i=e.marker;if(i){n(i.opacity,t,"mo"),n(i.color,t,"mc");var a=i.line;a&&(n(a.color,t,"mlc"),n(a.width,t,"mlw"))}}},{"../../lib":693}],835:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../components/colorscale/attributes"),a=t("../../components/colorbar/attributes"),o=t("../../plots/font_attributes"),s=t("../../lib/extend").extendFlat,l=o({editType:"calc",arrayOk:!0}),c=s({},n.marker.line.width,{dflt:0}),u=s({width:c,editType:"calc"},i("marker.line")),f=s({line:u,editType:"calc"},i("marker"),{colorbar:a,opacity:{valType:"number",arrayOk:!0,dflt:1,min:0,max:1,editType:"style"}});e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,hovertext:n.hovertext,textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"none",arrayOk:!0,editType:"calc"},textfont:s({},l,{}),insidetextfont:s({},l,{}),outsidetextfont:s({},l,{}),constraintext:{valType:"enumerated",values:["inside","outside","both","none"],dflt:"both",editType:"calc"},cliponaxis:s({},n.cliponaxis,{}),orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},base:{valType:"any",dflt:null,arrayOk:!0,editType:"calc"},offset:{valType:"number",dflt:null,arrayOk:!0,editType:"calc"},width:{valType:"number",dflt:null,min:0,arrayOk:!0,editType:"calc"},marker:f,selected:{marker:{opacity:n.selected.marker.opacity,color:n.selected.marker.color,editType:"style"},textfont:n.selected.textfont,editType:"style"},unselected:{marker:{opacity:n.unselected.marker.opacity,color:n.unselected.marker.color,editType:"style"},textfont:n.unselected.textfont,editType:"style"},r:n.r,t:n.t,_deprecated:{bardir:{valType:"enumerated",editType:"calc",values:["v","h"]}}}},{"../../components/colorbar/attributes":568,"../../components/colorscale/attributes":574,"../../lib/extend":682,"../../plots/font_attributes":768,"../scatter/attributes":1032}],836:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../components/colorscale/has_colorscale"),a=t("../../components/colorscale/calc"),o=t("./arrays_to_calcdata"),s=t("../scatter/calc_selection");e.exports=function(t,e){var r,l,c=n.getFromId(t,e.xaxis||"x"),u=n.getFromId(t,e.yaxis||"y");"h"===e.orientation?(r=c.makeCalcdata(e,"x"),l=u.makeCalcdata(e,"y")):(r=u.makeCalcdata(e,"y"),l=c.makeCalcdata(e,"x"));for(var f=Math.min(l.length,r.length),h=new Array(f),p=0;p<f;p++)h[p]={p:l[p],s:r[p]},e.ids&&(h[p].id=String(e.ids[p]));return i(e,"marker")&&a(e,e.marker.color,"marker","c"),i(e,"marker.line")&&a(e,e.marker.line.color,"marker.line","c"),o(h,e),s(h,e),h}},{"../../components/colorscale/calc":575,"../../components/colorscale/has_colorscale":581,"../../plots/cartesian/axes":742,"../scatter/calc_selection":1034,"./arrays_to_calcdata":834}],837:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib").isArrayOrTypedArray,a=t("../../constants/numerical").BADNUM,o=t("../../registry"),s=t("../../plots/cartesian/axes"),l=t("./sieve.js");function c(t,e,r,o){if(o.length){var c,_,w,k,M=t._fullLayout.barmode,A="overlay"===M,T="group"===M;if(function(t,e,r,a){var o,s;for(o=0;o<a.length;o++){var l,c=a[o],u=c[0].trace,f=u.base,h="h"===u.orientation?u.xcalendar:u.ycalendar;if(i(f)){for(s=0;s<Math.min(f.length,c.length);s++)l=r.d2c(f[s],0,h),n(l)?(c[s].b=+l,c[s].hasB=1):c[s].b=0;for(;s<c.length;s++)c[s].b=0}else{l=r.d2c(f,0,h);var p=n(l);for(l=p?l:0,s=0;s<c.length;s++)c[s].b=l,p&&(c[s].hasB=1)}}}(0,0,r,o),A)u(t,e,r,o);else if(T){for(c=[],_=[],w=0;w<o.length;w++)void 0===(k=o[w])[0].trace.offset?_.push(k):c.push(k);_.length&&function(t,e,r,n){var i=t._fullLayout.barnorm,a=new l(n,!1,!i);(function(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.bargap,c=s.bargroupgap||0,u=r.positions,f=r.distinctPositions,g=r.minDiff,m=r.traces,v=u.length!==f.length,y=m.length,x=g*(1-l),b=v?x/y:x,_=b*(1-c);for(n=0;n<y;n++){i=m[n],a=i[0];var w=v?((2*n+1-y)*b-_)/2:-_/2;(o=a.t).barwidth=_,o.poffset=w,o.bargroupwidth=x,o.bardelta=g}r.binWidth=m[0][0].t.barwidth/100,h(r),p(t,e,r),d(t,e,r,v)})(t,e,a),i?(v(t,r,a),y(t,r,a)):m(t,r,a)}(t,e,r,_),c.length&&u(t,e,r,c)}else{for(c=[],_=[],w=0;w<o.length;w++)void 0===(k=o[w])[0].trace.base?_.push(k):c.push(k);_.length&&function(t,e,r,i){var o=t._fullLayout.barmode,c="stack"===o,u="relative"===o,h=t._fullLayout.barnorm,p=new l(i,u,!(h||c||u));f(t,e,p),function(t,e,r){var i,o,l,c,u=t._fullLayout.barnorm,f=x(e),h=r.traces,p=[null,null];for(i=0;i<h.length;i++)for(o=h[i],l=0;l<o.length;l++)if((c=o[l]).s!==a){var d=r.put(c.p,c.b+c.s),m=d+c.b+c.s;c.b=d,c[f]=m,u||(n(e.c2l(m))&&g(p,m),c.hasB&&n(e.c2l(d))&&g(p,d))}if(!u){var v=s.findExtremes(e,p,{tozero:!0,padded:!0});b(h,e,v)}}(t,r,p);for(var d=0;d<i.length;d++)for(var m=i[d],v=0;v<m.length;v++){var _=m[v];if(_.s!==a){var w=_.b+_.s===p.get(_.p,_.s);w&&(_._outmost=!0)}}h&&y(t,r,p)}(t,e,r,_),c.length&&u(t,e,r,c)}!function(t,e){var r,i,a,o=e._id.charAt(0),s={},l=1/0,c=-1/0;for(r=0;r<t.length;r++)for(a=t[r],i=0;i<a.length;i++){var u=a[i].p;n(u)&&(l=Math.min(l,u),c=Math.max(c,u))}var f,h,p=1e4/(c-l),d=s.round=function(t){return String(Math.round(p*(t-l)))};for(r=0;r<t.length;r++)for((a=t[r])[0].t.extents=s,f=a[0].t.poffset,h=Array.isArray(f),i=0;i<a.length;i++){var g=a[i],m=g[o]-g.w/2;if(n(m)){var v=g[o]+g.w/2,y=d(g.p);s[y]?s[y]=[Math.min(m,s[y][0]),Math.max(v,s[y][1])]:s[y]=[m,v]}g.p0=g.p+(h?f[i]:f),g.p1=g.p0+g.w,g.s0=g.b,g.s1=g.s0+g.s}}(o,e)}}function u(t,e,r,n){for(var i=t._fullLayout.barnorm,a=!i,o=0;o<n.length;o++){var s=n[o],c=new l([s],!1,a);f(t,e,c),i?(v(t,r,c),y(t,r,c)):m(t,r,c)}}function f(t,e,r){var n,i,a=t._fullLayout,o=a.bargap,s=a.bargroupgap||0,l=r.minDiff,c=r.traces,u=l*(1-o),f=u*(1-s),g=-f/2;for(n=0;n<c.length;n++)(i=c[n][0].t).barwidth=f,i.poffset=g,i.bargroupwidth=u,i.bardelta=l;r.binWidth=c[0][0].t.barwidth/100,h(r),p(t,e,r),d(t,e,r)}function h(t){var e,r,a,o,s,l,c=t.traces;for(e=0;e<c.length;e++){o=(a=(r=c[e])[0]).trace,l=a.t;var u,f=o._offset||o.offset,h=l.poffset;if(i(f)){for(u=f.slice(0,r.length),s=0;s<u.length;s++)n(u[s])||(u[s]=h);for(s=u.length;s<r.length;s++)u.push(h);l.poffset=u}else void 0!==f&&(l.poffset=f);var p=o._width||o.width,d=l.barwidth;if(i(p)){var g=p.slice(0,r.length);for(s=0;s<g.length;s++)n(g[s])||(g[s]=d);for(s=g.length;s<r.length;s++)g.push(d);if(l.barwidth=g,void 0===f){for(u=[],s=0;s<r.length;s++)u.push(h+(d-g[s])/2);l.poffset=u}}else void 0!==p&&(l.barwidth=p,void 0===f&&(l.poffset=h+(d-p)/2))}}function p(t,e,r){for(var n=r.traces,i=x(e),a=0;a<n.length;a++)for(var o=n[a],s=o[0].t,l=s.poffset,c=Array.isArray(l),u=s.barwidth,f=Array.isArray(u),h=0;h<o.length;h++){var p=o[h],d=p.w=f?u[h]:u;p[i]=p.p+(c?l[h]:l)+d/2}}function d(t,e,r,n){var i=r.traces,a=r.distinctPositions,o=a[0],l=r.minDiff,c=l/2;s.minDtick(e,l,o,n);for(var u=Math.min.apply(Math,a)-c,f=Math.max.apply(Math,a)+c,h=0;h<i.length;h++){var p=i[h],d=p[0],g=d.trace;if(void 0!==g.width||void 0!==g.offset)for(var m=d.t,v=m.poffset,y=m.barwidth,x=Array.isArray(v),_=Array.isArray(y),w=0;w<p.length;w++){var k=p[w],M=x?v[w]:v,A=_?y[w]:y,T=k.p+M,S=T+A;u=Math.min(u,T),f=Math.max(f,S)}}b(i,e,s.findExtremes(e,[u,f],{padded:!1}))}function g(t,e){n(t[0])?t[0]=Math.min(t[0],e):t[0]=e,n(t[1])?t[1]=Math.max(t[1],e):t[1]=e}function m(t,e,r){for(var i=r.traces,a=x(e),o=[null,null],l=0;l<i.length;l++)for(var c=i[l],u=0;u<c.length;u++){var f=c[u],h=f.b,p=h+f.s;f[a]=p,n(e.c2l(p))&&g(o,p),f.hasB&&n(e.c2l(h))&&g(o,h)}b(i,e,s.findExtremes(e,o,{tozero:!0,padded:!0}))}function v(t,e,r){for(var n=r.traces,i=0;i<n.length;i++)for(var o=n[i],s=0;s<o.length;s++){var l=o[s];l.s!==a&&r.put(l.p,l.b+l.s)}}function y(t,e,r){var i=r.traces,o=x(e),l="fraction"===t._fullLayout.barnorm?1:100,c=l/1e9,u=e.l2c(e.c2l(0)),f="stack"===t._fullLayout.barmode?l:u,h=[u,f],p=!1;function d(t){n(e.c2l(t))&&(t<u-c||t>f+c||!n(u))&&(p=!0,g(h,t))}for(var m=0;m<i.length;m++)for(var v=i[m],y=0;y<v.length;y++){var _=v[y];if(_.s!==a){var w=Math.abs(l/r.get(_.p,_.s));_.b*=w,_.s*=w;var k=_.b,M=k+_.s;_[o]=M,d(M),_.hasB&&d(k)}}var A=s.findExtremes(e,h,{tozero:!0,padded:p});b(i,e,A)}function x(t){return t._id.charAt(0)}function b(t,e,r){for(var n=0;n<t.length;n++)t[n][0].trace._extremes[e._id]=r}e.exports={crossTraceCalc:function(t,e){var r,n=e.xaxis,i=e.yaxis,a=t._fullData,s=t.calcdata,l=[],u=[];for(r=0;r<a.length;r++){var f=a[r];!0===f.visible&&o.traceIs(f,"bar")&&f.xaxis===n._id&&f.yaxis===i._id&&("h"===f.orientation?l.push(s[r]):u.push(s[r]))}c(t,n,i,u),c(t,i,n,l)},setGroupPositions:c}},{"../../constants/numerical":670,"../../lib":693,"../../plots/cartesian/axes":742,"../../registry":825,"./sieve.js":845,"fast-isnumeric":213}],838:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color"),a=t("../../registry"),o=t("../scatter/xy_defaults"),s=t("../bar/style_defaults"),l=t("./attributes");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}var f=n.coerceFont;if(o(t,e,c,u)){u("orientation",e.x&&!e.y?"h":"v"),u("base"),u("offset"),u("width"),u("text"),u("hovertext");var h=u("textposition"),p=Array.isArray(h)||"auto"===h,d=p||"inside"===h,g=p||"outside"===h;if(d||g){var m=f(u,"textfont",c.font);d&&f(u,"insidetextfont",m),g&&f(u,"outsidetextfont",m),u("constraintext"),u("selected.textfont.color"),u("unselected.textfont.color"),u("cliponaxis")}s(t,e,u,r,c);var v=a.getComponentMethod("errorbars","supplyDefaults");v(t,e,i.defaultLine,{axis:"y"}),v(t,e,i.defaultLine,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1}},{"../../components/color":567,"../../lib":693,"../../registry":825,"../bar/style_defaults":847,"../scatter/xy_defaults":1058,"./attributes":835}],839:[function(t,e,r){"use strict";var n=t("../../components/fx"),i=t("../../registry"),a=t("../../components/color"),o=t("../scatter/fill_hover_text");function s(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,i=e.mlw||t.marker.line.width;return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}e.exports={hoverPoints:function(t,e,r,a){var l,c,u,f,h,p,d,g=t.cd,m=g[0].trace,v=g[0].t,y="closest"===a,x=t.maxHoverDistance,b=t.maxSpikeDistance;function _(t){return t[u]-t.w/2}function w(t){return t[u]+t.w/2}var k=y?_:function(t){return Math.min(_(t),t.p-v.bardelta/2)},M=y?w:function(t){return Math.max(w(t),t.p+v.bardelta/2)};function A(t,e){return n.inbox(t-l,e-l,x+Math.min(1,Math.abs(e-t)/d)-1)}function T(t){return A(k(t),M(t))}function S(t){return n.inbox(t.b-c,t[f]-c,x+(t[f]-c)/(t[f]-t.b)-1)}"h"===m.orientation?(l=r,c=e,u="y",f="x",h=S,p=T):(l=e,c=r,u="x",f="y",p=S,h=T);var E=t[u+"a"],C=t[f+"a"];d=Math.abs(E.r2c(E.range[1])-E.r2c(E.range[0]));var L=n.getDistanceFunction(a,h,p,function(t){return(h(t)+p(t))/2});if(n.getClosest(g,L,t),!1!==t.index){y||(k=function(t){return Math.min(_(t),t.p-v.bargroupwidth/2)},M=function(t){return Math.max(w(t),t.p+v.bargroupwidth/2)});var z=g[t.index],P=m.base?z.b+z.s:z.s;t[f+"0"]=t[f+"1"]=C.c2p(z[f],!0),t[f+"LabelVal"]=P;var O=v.extents[v.extents.round(z.p)];return t[u+"0"]=E.c2p(y?k(z):O[0],!0),t[u+"1"]=E.c2p(y?M(z):O[1],!0),t[u+"LabelVal"]=z.p,t.spikeDistance=(S(z)+function(t){return A(_(t),w(t))}(z))/2+b-x,t[u+"Spike"]=E.c2p(z.p,!0),t.color=s(m,z),o(z,m,t),i.getComponentMethod("errorbars","hoverInfo")(z,m,t),[t]}},getTraceColor:s}},{"../../components/color":567,"../../components/fx":609,"../../registry":825,"../scatter/fill_hover_text":1040}],840:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.layoutAttributes=t("./layout_attributes"),n.supplyDefaults=t("./defaults"),n.supplyLayoutDefaults=t("./layout_defaults"),n.calc=t("./calc"),n.crossTraceCalc=t("./cross_trace_calc").crossTraceCalc,n.colorbar=t("../scatter/marker_colorbar"),n.arraysToCalcdata=t("./arrays_to_calcdata"),n.plot=t("./plot"),n.style=t("./style").style,n.styleOnSelect=t("./style").styleOnSelect,n.hoverPoints=t("./hover").hoverPoints,n.selectPoints=t("./select"),n.moduleType="trace",n.name="bar",n.basePlotModule=t("../../plots/cartesian"),n.categories=["cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],n.meta={},e.exports=n},{"../../plots/cartesian":753,"../scatter/marker_colorbar":1050,"./arrays_to_calcdata":834,"./attributes":835,"./calc":836,"./cross_trace_calc":837,"./defaults":838,"./hover":839,"./layout_attributes":841,"./layout_defaults":842,"./plot":843,"./select":844,"./style":846}],841:[function(t,e,r){"use strict";e.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],842:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../plots/cartesian/axes"),a=t("../../lib"),o=t("./layout_attributes");e.exports=function(t,e,r){function s(r,n){return a.coerce(t,e,o,r,n)}for(var l=!1,c=!1,u=!1,f={},h=0;h<r.length;h++){var p=r[h];if(n.traceIs(p,"bar")){if(l=!0,"overlay"!==t.barmode&&"stack"!==t.barmode){var d=p.xaxis+p.yaxis;f[d]&&(u=!0),f[d]=!0}if(p.visible&&"histogram"===p.type)"category"!==i.getFromId({_fullLayout:e},p["v"===p.orientation?"xaxis":"yaxis"]).type&&(c=!0)}}l&&("overlay"!==s("barmode")&&s("barnorm"),s("bargap",c&&!u?0:.2),s("bargroupgap"))}},{"../../lib":693,"../../plots/cartesian/axes":742,"../../registry":825,"./layout_attributes":841}],843:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("tinycolor2"),o=t("../../lib"),s=t("../../lib/svg_text_utils"),l=t("../../components/color"),c=t("../../components/drawing"),u=t("../../registry"),f=t("./attributes"),h=f.text,p=f.textposition,d=f.textfont,g=f.insidetextfont,m=f.outsidetextfont,v=3;function y(t,e,r,n,i,a){var o;return i<1?o="scale("+i+") ":(i=1,o=""),"translate("+(r-i*t)+" "+(n-i*e)+")"+o+(a?"rotate("+a+" "+t+" "+e+") ":"")}function x(t,e,r,n){var o=b((e=e||{}).family,r),s=b(e.size,r),l=b(e.color,r);return{family:_(t.family,o,n.family),size:function(t,e,r){if(i(e)){e=+e;var n=t.min,a=t.max,o=void 0!==n&&e<n||void 0!==a&&e>a;if(!o)return e}return void 0!==r?r:t.dflt}(t.size,s,n.size),color:function(t,e,r){return a(e).isValid()?e:void 0!==r?r:t.dflt}(t.color,l,n.color)}}function b(t,e){var r;return Array.isArray(t)?e<t.length&&(r=t[e]):r=t,r}function _(t,e,r){if("string"==typeof e){if(e||!t.noBlank)return e}else if("number"==typeof e&&!t.strict)return String(e);return void 0!==r?r:t.dflt}e.exports=function(t,e,r,a){var f=e.xaxis,w=e.yaxis,k=t._fullLayout,M=o.makeTraceGroups(a,r,"trace bars").each(function(r){var a=n.select(this),u=r[0],M=u.trace;e.isRangePlot||(u.node3=a);var A=o.ensureSingle(a,"g","points").selectAll("g.point").data(o.identity);A.enter().append("g").classed("point",!0),A.exit().remove(),A.each(function(a,u){var A,T,S,E,C=n.select(this);if("h"===M.orientation?(S=w.c2p(a.p0,!0),E=w.c2p(a.p1,!0),A=f.c2p(a.s0,!0),T=f.c2p(a.s1,!0),a.ct=[T,(S+E)/2]):(A=f.c2p(a.p0,!0),T=f.c2p(a.p1,!0),S=w.c2p(a.s0,!0),E=w.c2p(a.s1,!0),a.ct=[(A+T)/2,E]),i(A)&&i(T)&&i(S)&&i(E)&&A!==T&&S!==E){var L=(a.mlw+1||M.marker.line.width+1||(a.trace?a.trace.marker.line.width:0)+1)-1,z=n.round(L/2%1,2);if(!t._context.staticPlot){var P=l.opacity(a.mc||M.marker.color)<1||L>.01?O:function(t,e){return Math.abs(t-e)>=2?O(t):t>e?Math.ceil(t):Math.floor(t)};A=P(A,T),T=P(T,A),S=P(S,E),E=P(E,S)}o.ensureSingle(C,"path").style("vector-effect","non-scaling-stroke").attr("d","M"+A+","+S+"V"+E+"H"+T+"V"+S+"Z").call(c.setClipUrl,e.layerClipId),function(t,e,r,n,i,a,l,u){var f;function w(e,r,n){var i=o.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+f,transform:"","text-anchor":"middle","data-notex":1}).call(c.font,n).call(s.convertToTspans,t);return i}var k=r[0].trace,M=k.orientation,A=function(t,e){var r=b(t.text,e);return _(h,r)}(k,n);if(f=function(t,e){var r=b(t.textposition,e);return function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt}(p,r)}(k,n),!A||"none"===f)return void e.select("text").remove();var T,S,E,C,L,z,P=function(t,e,r){return x(d,t.textfont,e,r)}(k,n,t._fullLayout.font),O=function(t,e,r){return x(g,t.insidetextfont,e,r)}(k,n,P),I=function(t,e,r){return x(m,t.outsidetextfont,e,r)}(k,n,P),D=t._fullLayout.barmode,R="relative"===D,B="stack"===D||R,F=r[n],N=!B||F._outmost,j=Math.abs(a-i)-2*v,V=Math.abs(u-l)-2*v;"outside"===f&&(N||(f="inside"));if("auto"===f)if(N){f="inside",T=w(e,A,O),S=c.bBox(T.node()),E=S.width,C=S.height;var U=E>0&&C>0,q=E<=j&&C<=V,H=E<=V&&C<=j,G="h"===M?j>=E*(V/C):V>=C*(j/E);U&&(q||H||G)?f="inside":(f="outside",T.remove(),T=null)}else f="inside";if(!T&&(T=w(e,A,"outside"===f?I:O),S=c.bBox(T.node()),E=S.width,C=S.height,E<=0||C<=0))return void T.remove();"outside"===f?(z="both"===k.constraintext||"outside"===k.constraintext,L=function(t,e,r,n,i,a,o){var s,l="h"===a?Math.abs(n-r):Math.abs(e-t);l>2*v&&(s=v);var c=1;o&&(c="h"===a?Math.min(1,l/i.height):Math.min(1,l/i.width));var u,f,h,p,d=(i.left+i.right)/2,g=(i.top+i.bottom)/2;u=c*i.width,f=c*i.height,"h"===a?e<t?(h=e-s-u/2,p=(r+n)/2):(h=e+s+u/2,p=(r+n)/2):n>r?(h=(t+e)/2,p=n+s+f/2):(h=(t+e)/2,p=n-s-f/2);return y(d,g,h,p,c,!1)}(i,a,l,u,S,M,z)):(z="both"===k.constraintext||"inside"===k.constraintext,L=function(t,e,r,n,i,a,o){var s,l,c,u,f,h,p,d=i.width,g=i.height,m=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=Math.abs(e-t),_=Math.abs(n-r);b>2*v&&_>2*v?(b-=2*(f=v),_-=2*f):f=0;d<=b&&g<=_?(h=!1,p=1):d<=_&&g<=b?(h=!0,p=1):d<g==b<_?(h=!1,p=o?Math.min(b/d,_/g):1):(h=!0,p=o?Math.min(_/d,b/g):1);h&&(h=90);h?(s=p*g,l=p*d):(s=p*d,l=p*g);"h"===a?e<t?(c=e+f+s/2,u=(r+n)/2):(c=e-f-s/2,u=(r+n)/2):n>r?(c=(t+e)/2,u=n-f-l/2):(c=(t+e)/2,u=n+f+l/2);return y(m,x,c,u,p,h)}(i,a,l,u,S,M,z));T.attr("transform",L)}(t,C,r,u,A,T,S,E),e.layerClipId&&c.hideOutsideRangePoint(a,C.select("text"),f,w,M.xcalendar,M.ycalendar)}else C.remove();function O(t){return 0===k.bargap&&0===k.bargroupgap?n.round(Math.round(t)-z,2):t}});var T=!1===u.trace.cliponaxis;c.setClipUrl(a,T?null:e.layerClipId)});u.getComponentMethod("errorbars","plot")(M,e)}},{"../../components/color":567,"../../components/drawing":592,"../../lib":693,"../../lib/svg_text_utils":718,"../../registry":825,"./attributes":835,d3:147,"fast-isnumeric":213,tinycolor2:511}],844:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[];if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var s=n[r];e.contains(s.ct,!1,r,t)?(o.push({pointNumber:r,x:i.c2d(s.x),y:a.c2d(s.y)}),s.selected=1):s.selected=0}return o}},{}],845:[function(t,e,r){"use strict";e.exports=a;var n=t("../../lib"),i=t("../../constants/numerical").BADNUM;function a(t,e,r){this.traces=t,this.separateNegativeValues=e,this.dontMergeOverlappingData=r;for(var a=1/0,o=[],s=0;s<t.length;s++){for(var l=t[s],c=0;c<l.length;c++){var u=l[c];u.p!==i&&o.push(u.p)}l[0]&&l[0].width1&&(a=Math.min(l[0].width1,a))}this.positions=o;var f=n.distinctVals(o);this.distinctPositions=f.vals,1===f.vals.length&&a!==1/0?this.minDiff=a:this.minDiff=Math.min(f.minDiff,a),this.binWidth=this.minDiff,this.bins={}}a.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},a.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},a.prototype.getLabel=function(t,e){return(e<0&&this.separateNegativeValues?"v":"^")+(this.dontMergeOverlappingData?t:Math.round(t/this.binWidth))}},{"../../constants/numerical":670,"../../lib":693}],846:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../../registry");function o(t,e,r){var a=t.selectAll("path"),o=t.selectAll("text");i.pointStyle(a,e,r),o.each(function(t){var r,a=n.select(this);function o(e){var n=r[e];return Array.isArray(n)?n[t.i]:n}a.classed("bartext-inside")?r=e.insidetextfont:a.classed("bartext-outside")&&(r=e.outsidetextfont),r||(r=e.textfont),i.font(a,o("family"),o("size"),o("color"))})}e.exports={style:function(t,e){var r=e?e[0].node3:n.select(t).selectAll("g.trace.bars"),i=r.size(),s=t._fullLayout;r.style("opacity",function(t){return t[0].trace.opacity}).each(function(t){("stack"===s.barmode&&i>1||0===s.bargap&&0===s.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")}),r.selectAll("g.points").each(function(e){o(n.select(this),e[0].trace,t)}),a.getComponentMethod("errorbars","style")(r)},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?(i.selectedPointStyle(r.selectAll("path"),n),i.selectedTextStyle(r.selectAll("text"),n)):o(r,n,t)}}},{"../../components/drawing":592,"../../registry":825,d3:147}],847:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../../components/colorscale/has_colorscale"),a=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s){r("marker.color",o),i(t,"marker")&&a(t,e,s,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),i(t,"marker.line")&&a(t,e,s,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),r("selected.marker.color"),r("unselected.marker.color")}},{"../../components/color":567,"../../components/colorscale/defaults":577,"../../components/colorscale/has_colorscale":581}],848:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat,i=t("../scatterpolar/attributes"),a=t("../bar/attributes");e.exports={r:i.r,theta:i.theta,r0:i.r0,dr:i.dr,theta0:i.theta0,dtheta:i.dtheta,thetaunit:i.thetaunit,base:n({},a.base,{}),offset:n({},a.offset,{}),width:n({},a.width,{}),text:n({},a.text,{}),marker:a.marker,hoverinfo:i.hoverinfo,selected:a.selected,unselected:a.unselected}},{"../../lib/extend":682,"../bar/attributes":835,"../scatterpolar/attributes":1094}],849:[function(t,e,r){"use strict";var n=t("../../components/colorscale/has_colorscale"),i=t("../../components/colorscale/calc"),a=t("../bar/arrays_to_calcdata"),o=t("../bar/cross_trace_calc").setGroupPositions,s=t("../scatter/calc_selection"),l=t("../../registry").traceIs,c=t("../../lib").extendFlat;e.exports={calc:function(t,e){for(var r=t._fullLayout,o=e.subplot,l=r[o].radialaxis,c=r[o].angularaxis,u=l.makeCalcdata(e,"r"),f=c.makeCalcdata(e,"theta"),h=e._length,p=new Array(h),d=u,g=f,m=0;m<h;m++)p[m]={p:g[m],s:d[m]};function v(t){var r=e[t];void 0!==r&&(e["_"+t]=Array.isArray(r)?c.makeCalcdata(e,t):c.d2c(r,e.thetaunit))}return"linear"===c.type&&(v("width"),v("offset")),n(e,"marker")&&i(e,e.marker.color,"marker","c"),n(e,"marker.line")&&i(e,e.marker.line.color,"marker.line","c"),a(p,e),s(p,e),p},crossTraceCalc:function(t,e,r){for(var n=t.calcdata,i=[],a=0;a<n.length;a++){var s=n[a],u=s[0].trace;!0===u.visible&&l(u,"bar")&&u.subplot===r&&i.push(s)}var f=c({},e.radialaxis,{_id:"x"}),h=e.angularaxis;o({_fullLayout:e},h,f,i)}}},{"../../components/colorscale/calc":575,"../../components/colorscale/has_colorscale":581,"../../lib":693,"../../registry":825,"../bar/arrays_to_calcdata":834,"../bar/cross_trace_calc":837,"../scatter/calc_selection":1034}],850:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatterpolar/defaults").handleRThetaDefaults,a=t("../bar/style_defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}i(t,e,s,l)?(l("thetaunit"),l("base"),l("offset"),l("width"),l("text"),a(t,e,l,r,s),n.coerceSelectionMarkerOpacity(e,l)):e.visible=!1}},{"../../lib":693,"../bar/style_defaults":847,"../scatterpolar/defaults":1096,"./attributes":848}],851:[function(t,e,r){"use strict";var n=t("../../components/fx"),i=t("../../lib"),a=t("../bar/hover").getTraceColor,o=t("../scatter/fill_hover_text"),s=t("../scatterpolar/hover").makeHoverPointText,l=t("../../plots/polar/helpers").isPtInsidePolygon;e.exports=function(t,e,r){var c=t.cd,u=c[0].trace,f=t.subplot,h=f.radialAxis,p=f.angularAxis,d=f.vangles,g=d?l:i.isPtInsideSector,m=t.maxHoverDistance,v=p._period||2*Math.PI,y=Math.abs(h.g2p(Math.sqrt(e*e+r*r))),x=Math.atan2(r,e);h.range[0]>h.range[1]&&(x+=Math.PI);if(n.getClosest(c,function(t){return g(y,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?m+Math.min(1,Math.abs(t.thetag1-t.thetag0)/v)-1+(t.rp1-y)/(t.rp1-t.rp0)-1:1/0},t),!1!==t.index){var b=c[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=i.extendFlat({},b,{r:b.s,theta:b.p});return o(b,u,t),s(_,u,f,t),t.color=a(u,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign="left"),[t]}}},{"../../components/fx":609,"../../lib":693,"../../plots/polar/helpers":807,"../bar/hover":839,"../scatter/fill_hover_text":1040,"../scatterpolar/hover":1097}],852:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"barpolar",basePlotModule:t("../../plots/polar"),categories:["polar","bar","showLegend"],attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),colorbar:t("../scatter/marker_colorbar"),style:t("../bar/style").style,hoverPoints:t("./hover"),selectPoints:t("../bar/select"),meta:{}}},{"../../plots/polar":808,"../bar/select":844,"../bar/style":846,"../scatter/marker_colorbar":1050,"./attributes":848,"./calc":849,"./defaults":850,"./hover":851,"./layout_attributes":853,"./layout_defaults":854,"./plot":855}],853:[function(t,e,r){"use strict";e.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},{}],854:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e,r){var a,o={};function s(r,o){return n.coerce(t[a]||{},e[a],i,r,o)}for(var l=0;l<r.length;l++){var c=r[l];"barpolar"===c.type&&!0===c.visible&&(o[a=c.subplot]||(s("barmode"),s("bargap"),o[a]=1))}}},{"../../lib":693,"./layout_attributes":853}],855:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../lib"),o=t("../../components/drawing"),s=t("../../plots/polar/helpers");e.exports=function(t,e,r){var l=e.xaxis,c=e.yaxis,u=e.radialAxis,f=e.angularAxis,h=function(t){var e=t.cxx,r=t.cyy;if(t.vangles)return function(n,i,o,l){var c,u;a.angleDelta(o,l)>0?(c=o,u=l):(c=l,u=o);var f=s.findEnclosingVertexAngles(c,t.vangles)[0],h=s.findEnclosingVertexAngles(u,t.vangles)[1],p=[f,(c+u)/2,h];return s.pathPolygonAnnulus(n,i,c,u,p,e,r)};return function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),p=e.layers.frontplot.select("g.barlayer");a.makeTraceGroups(p,r,"trace bars").each(function(t){var r=t[0].node3=n.select(this),s=a.ensureSingle(r,"g","points").selectAll("g.point").data(a.identity);s.enter().append("g").style("vector-effect","non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each(function(t){var e,r=n.select(this),o=t.rp0=u.c2p(t.s0),s=t.rp1=u.c2p(t.s1),p=t.thetag0=f.c2g(t.p0),d=t.thetag1=f.c2g(t.p1);if(i(o)&&i(s)&&i(p)&&i(d)&&o!==s&&p!==d){var g=u.c2g(t.s1),m=(p+d)/2;t.ct=[l.c2p(g*Math.cos(m)),c.c2p(g*Math.sin(m))],e=h(o,s,p,d)}else e="M0,0Z";a.ensureSingle(r,"path").attr("d",e)}),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null)})}},{"../../components/drawing":592,"../../lib":693,"../../plots/polar/helpers":807,d3:147,"fast-isnumeric":213}],856:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../components/color/attributes"),a=t("../../lib/extend").extendFlat,o=n.marker,s=o.line;e.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},name:{valType:"string",editType:"calc+clearAxisTypes"},text:a({},n.text,{}),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],dflt:"outliers",editType:"calc"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],dflt:!1,editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:a({},o.symbol,{arrayOk:!1,editType:"plot"}),opacity:a({},o.opacity,{arrayOk:!1,dflt:1,editType:"style"}),size:a({},o.size,{arrayOk:!1,editType:"calc"}),color:a({},o.color,{arrayOk:!1,editType:"style"}),line:{color:a({},s.color,{arrayOk:!1,dflt:i.defaultLine,editType:"style"}),width:a({},s.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n.fillcolor,selected:{marker:n.selected.marker,editType:"style"},unselected:{marker:n.unselected.marker,editType:"style"},hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"}}},{"../../components/color/attributes":566,"../../lib/extend":682,"../scatter/attributes":1032}],857:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=i._,o=t("../../plots/cartesian/axes");function s(t,e,r){var n={text:"tx"};for(var i in n)Array.isArray(e[i])&&(t[n[i]]=e[i][r])}function l(t,e){return t.v-e.v}function c(t){return t.v}e.exports=function(t,e){var r,u,f,h,p,d=t._fullLayout,g=o.getFromId(t,e.xaxis||"x"),m=o.getFromId(t,e.yaxis||"y"),v=[],y="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(u=g,f="x",h=m,p="y"):(u=m,f="y",h=g,p="x");var x=u.makeCalcdata(e,f),b=function(t,e,r,a,o){if(e in t)return r.makeCalcdata(t,e);var s;s=e+"0"in t?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||i.isDateTime(t.name)&&"date"===r.type)?t.name:o;var l=r.d2c(s,0,t[e+"calendar"]);return a.map(function(){return l})}(e,p,h,x,d[y]),_=i.distinctVals(b),w=_.vals,k=_.minDiff/2,M=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i<r;i++)n[i]=t[i]-e;return n[r]=t[r-1]+e,n}(w,k),A=w.length,T=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=[];return e}(A);for(r=0;r<e._length;r++){var S=x[r];if(n(S)){var E=i.findBin(b[r],M);if(E>=0&&E<A){var C={v:S,i:r};s(C,e,r),T[E].push(C)}}}for(r=0;r<A;r++)if(T[r].length>0){var L=T[r].sort(l),z=L.map(c),P=z.length,O={pos:w[r],pts:L};O.min=z[0],O.max=z[P-1],O.mean=i.mean(z,P),O.sd=i.stdev(z,P,O.mean),O.q1=i.interp(z,.25),O.med=i.interp(z,.5),O.q3=i.interp(z,.75),O.lf=Math.min(O.q1,z[Math.min(i.findBin(2.5*O.q1-1.5*O.q3,z,!0)+1,P-1)]),O.uf=Math.max(O.q3,z[Math.max(i.findBin(2.5*O.q3-1.5*O.q1,z),0)]),O.lo=4*O.q1-3*O.q3,O.uo=4*O.q3-3*O.q1;var I=1.57*(O.q3-O.q1)/Math.sqrt(P);O.ln=O.med-I,O.un=O.med+I,v.push(O)}!function(t,e){if(i.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r<t.length;r++){for(var n=t[r].pts||[],a={},o=0;o<n.length;o++)a[n[o].i]=o;i.tagSelected(n,e,a)}}(v,e);var D=o.findExtremes(u,x,{padded:!0});return e._extremes[u._id]=D,v.length>0?(v[0].t={num:d[y],dPos:k,posLetter:p,valLetter:f,labels:{med:a(t,"median:"),min:a(t,"min:"),q1:a(t,"q1:"),q3:a(t,"q3:"),max:a(t,"max:"),mean:"sd"===e.boxmean?a(t,"mean \xb1 \u03c3:"):a(t,"mean:"),lf:a(t,"lower fence:"),uf:a(t,"upper fence:")}},d[y]++,v):[{t:{empty:!0}}]}},{"../../lib":693,"../../plots/cartesian/axes":742,"fast-isnumeric":213}],858:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib"),a=["v","h"];function o(t,e,r,a,o){var s,l,c,u=e.calcdata,f=e._fullLayout,h=[],p="violin"===t?"_numViolins":"_numBoxes";for(s=0;s<r.length;s++)for(c=u[r[s]],l=0;l<c.length;l++)h.push(c[l].pos);if(h.length){var d=i.distinctVals(h),g=d.minDiff/2;h.length===d.vals.length&&(f[p]=1),n.minDtick(a,d.minDiff,d.vals[0],!0);var m=(1-f[t+"gap"])*(1-f[t+"groupgap"])*g/f[p],v=n.findExtremes(a,d.vals,{vpadminus:g+o[0]*m,vpadplus:g+o[1]*m});for(s=0;s<r.length;s++)(c=u[r[s]])[0].t.dPos=g,c[0].trace._extremes[a._id]=v}}e.exports={crossTraceCalc:function(t,e){for(var r=t.calcdata,n=e.xaxis,i=e.yaxis,s=0;s<a.length;s++){for(var l=a[s],c="h"===l?i:n,u=[],f=0,h=0,p=0;p<r.length;p++){var d=r[p],g=d[0].t,m=d[0].trace;!0!==m.visible||"box"!==m.type&&"candlestick"!==m.type||g.empty||(m.orientation||"v")!==l||m.xaxis!==n._id||m.yaxis!==i._id||(u.push(p),m.boxpoints&&(f=Math.max(f,m.jitter-m.pointpos-1),h=Math.max(h,m.jitter+m.pointpos-1)))}o("box",t,u,c,[f,h])}},setPositionOffset:o}},{"../../lib":693,"../../plots/cartesian/axes":742}],859:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("../../components/color"),o=t("./attributes");function s(t,e,r,n){var a,o,s=r("y"),l=r("x"),c=l&&l.length;if(s&&s.length)a="v",c?o=Math.min(l.length,s.length):(r("x0"),o=s.length);else{if(!c)return void(e.visible=!1);a="h",r("y0"),o=l.length}e._length=o,i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],n),r("orientation",a)}function l(t,e,r,i){var a=i.prefix,s=n.coerce2(t,e,o,"marker.outliercolor"),l=r("marker.line.outliercolor"),c=r(a+"points",s||l?"suspectedoutliers":void 0);c?(r("jitter","all"===c?.3:0),r("pointpos","all"===c?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.color",e.line.color),r("marker.line.color"),r("marker.line.width"),"suspectedoutliers"===c&&(r("marker.line.outliercolor",e.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text")):delete e.marker,r("hoveron"),n.coerceSelectionMarkerOpacity(e,r)}e.exports={supplyDefaults:function(t,e,r,i){function c(r,i){return n.coerce(t,e,o,r,i)}s(t,e,c,i),!1!==e.visible&&(c("line.color",(t.marker||{}).color||r),c("line.width"),c("fillcolor",a.addOpacity(e.line.color,.5)),c("whiskerwidth"),c("boxmean"),c("notched",void 0!==t.notchwidth)&&c("notchwidth"),l(t,e,c,{prefix:"box"}))},handleSampleDefaults:s,handlePointsDefaults:l}},{"../../components/color":567,"../../lib":693,"../../registry":825,"./attributes":856}],860:[function(t,e,r){"use strict";e.exports=function(t,e){return e.hoverOnBox&&(t.hoverOnBox=e.hoverOnBox),"xVal"in e&&(t.x=e.xVal),"yVal"in e&&(t.y=e.yVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],861:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib"),a=t("../../components/fx"),o=t("../../components/color"),s=t("../scatter/fill_hover_text");function l(t,e,r,s){var l,c,u,f,h,p,d,g,m,v,y,x,b=t.cd,_=t.xa,w=t.ya,k=b[0].trace,M=b[0].t,A="violin"===k.type,T=[],S=M.bdPos,E=M.wHover,C=function(t){return t.pos+M.bPos-p};A&&"both"!==k.side?("positive"===k.side&&(m=function(t){var e=C(t);return a.inbox(e,e+E,v)}),"negative"===k.side&&(m=function(t){var e=C(t);return a.inbox(e-E,e,v)})):m=function(t){var e=C(t);return a.inbox(e-E,e+E,v)},x=A?function(t){return a.inbox(t.span[0]-h,t.span[1]-h,v)}:function(t){return a.inbox(t.min-h,t.max-h,v)},"h"===k.orientation?(h=e,p=r,d=x,g=m,l="y",u=w,c="x",f=_):(h=r,p=e,d=m,g=x,l="x",u=_,c="y",f=w);var L=Math.min(1,S/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0])));function z(t){return(d(t)+g(t))/2}v=t.maxHoverDistance-L,y=t.maxSpikeDistance-L;var P=a.getDistanceFunction(s,d,g,z);if(a.getClosest(b,P,t),!1===t.index)return[];var O=b[t.index],I=k.line.color,D=(k.marker||{}).color;o.opacity(I)&&k.line.width?t.color=I:o.opacity(D)&&k.boxpoints?t.color=D:t.color=k.fillcolor,t[l+"0"]=u.c2p(O.pos+M.bPos-S,!0),t[l+"1"]=u.c2p(O.pos+M.bPos+S,!0),t[l+"LabelVal"]=O.pos;var R=l+"Spike";t.spikeDistance=z(O)*y/v,t[R]=u.c2p(O.pos,!0);var B={},F=["med","min","q1","q3","max"];(k.boxmean||(k.meanline||{}).visible)&&F.push("mean"),(k.boxpoints||k.points)&&F.push("lf","uf");for(var N=0;N<F.length;N++){var j=F[N];if(j in O&&!(O[j]in B)){B[O[j]]=!0;var V=O[j],U=f.c2p(V,!0),q=i.extendFlat({},t);q[c+"0"]=q[c+"1"]=U,q[c+"LabelVal"]=V,q[c+"Label"]=(M.labels?M.labels[j]+" ":"")+n.hoverLabelText(f,V),q.hoverOnBox=!0,"mean"===j&&"sd"in O&&"sd"===k.boxmean&&(q[c+"err"]=O.sd),t.name="",t.spikeDistance=void 0,t[R]=void 0,T.push(q)}}return T}function c(t,e,r){for(var n,o,l,c=t.cd,u=t.xa,f=t.ya,h=c[0].trace,p=u.c2p(e),d=f.c2p(r),g=a.quadrature(function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(u.c2p(t.x)-p)-e,1-3/e)},function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(f.c2p(t.y)-d)-e,1-3/e)}),m=!1,v=0;v<c.length;v++){o=c[v];for(var y=0;y<(o.pts||[]).length;y++){var x=g(l=o.pts[y]);x<=t.distance&&(t.distance=x,m=[v,y])}}if(!m)return!1;l=(o=c[m[0]]).pts[m[1]];var b=u.c2p(l.x,!0),_=f.c2p(l.y,!0),w=l.mrc||1;n=i.extendFlat({},t,{index:l.i,color:(h.marker||{}).color,name:h.name,x0:b-w,x1:b+w,xLabelVal:l.x,y0:_-w,y1:_+w,yLabelVal:l.y,spikeDistance:t.distance});var k="h"===h.orientation?"y":"x",M="h"===h.orientation?f:u;return n[k+"Spike"]=M.c2p(o.pos,!0),s(l,h,n),n}e.exports={hoverPoints:function(t,e,r,n){var i,a=t.cd[0].trace.hoveron,o=[];return-1!==a.indexOf("boxes")&&(o=o.concat(l(t,e,r,n))),-1!==a.indexOf("points")&&(i=c(t,e,r)),"closest"===n?i?[i]:o:i?(o.push(i),o):o},hoverOnBoxes:l,hoverOnPoints:c}},{"../../components/color":567,"../../components/fx":609,"../../lib":693,"../../plots/cartesian/axes":742,"../scatter/fill_hover_text":1040}],862:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.layoutAttributes=t("./layout_attributes"),n.supplyDefaults=t("./defaults").supplyDefaults,n.supplyLayoutDefaults=t("./layout_defaults").supplyLayoutDefaults,n.calc=t("./calc"),n.crossTraceCalc=t("./cross_trace_calc").crossTraceCalc,n.plot=t("./plot").plot,n.style=t("./style").style,n.styleOnSelect=t("./style").styleOnSelect,n.hoverPoints=t("./hover").hoverPoints,n.eventData=t("./event_data"),n.selectPoints=t("./select"),n.moduleType="trace",n.name="box",n.basePlotModule=t("../../plots/cartesian"),n.categories=["cartesian","svg","symbols","oriented","box-violin","showLegend","boxLayout","zoomScale"],n.meta={},e.exports=n},{"../../plots/cartesian":753,"./attributes":856,"./calc":857,"./cross_trace_calc":858,"./defaults":859,"./event_data":860,"./hover":861,"./layout_attributes":863,"./layout_defaults":864,"./plot":865,"./select":866,"./style":867}],863:[function(t,e,r){"use strict";e.exports={boxmode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},boxgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"},boxgroupgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"}}},{}],864:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("./layout_attributes");function o(t,e,r,i,a){for(var o,s=a+"Layout",l=0;l<r.length;l++)if(n.traceIs(r[l],s)){o=!0;break}o&&(i(a+"mode"),i(a+"gap"),i(a+"groupgap"))}e.exports={supplyLayoutDefaults:function(t,e,r){o(0,0,r,function(r,n){return i.coerce(t,e,a,r,n)},"box")},_supply:o}},{"../../lib":693,"../../registry":825,"./layout_attributes":863}],865:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../components/drawing"),o=5,s=.01;function l(t,e,r,a){var o,s,l=e.pos,c=e.val,u=a.bPos,f=a.wdPos||0,h=a.bPosPxOffset||0,p=r.whiskerwidth||0,d=r.notched||!1,g=d?1-2*r.notchwidth:1;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var m=t.selectAll("path.box").data("violin"!==r.type||r.box.visible?i.identity:[]);m.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","box"),m.exit().remove(),m.each(function(t){var e=t.pos,a=l.c2p(e+u,!0)+h,m=l.c2p(e+u-o,!0)+h,v=l.c2p(e+u+s,!0)+h,y=l.c2p(e+u-f,!0)+h,x=l.c2p(e+u+f,!0)+h,b=l.c2p(e+u-o*g,!0)+h,_=l.c2p(e+u+s*g,!0)+h,w=c.c2p(t.q1,!0),k=c.c2p(t.q3,!0),M=i.constrain(c.c2p(t.med,!0),Math.min(w,k)+1,Math.max(w,k)-1),A=void 0===t.lf||!1===r.boxpoints,T=c.c2p(A?t.min:t.lf,!0),S=c.c2p(A?t.max:t.uf,!0),E=c.c2p(t.ln,!0),C=c.c2p(t.un,!0);"h"===r.orientation?n.select(this).attr("d","M"+M+","+b+"V"+_+"M"+w+","+m+"V"+v+(d?"H"+E+"L"+M+","+_+"L"+C+","+v:"")+"H"+k+"V"+m+(d?"H"+C+"L"+M+","+b+"L"+E+","+m:"")+"ZM"+w+","+a+"H"+T+"M"+k+","+a+"H"+S+(0===p?"":"M"+T+","+y+"V"+x+"M"+S+","+y+"V"+x)):n.select(this).attr("d","M"+b+","+M+"H"+_+"M"+m+","+w+"H"+v+(d?"V"+E+"L"+_+","+M+"L"+v+","+C:"")+"V"+k+"H"+m+(d?"V"+C+"L"+b+","+M+"L"+m+","+E:"")+"ZM"+a+","+w+"V"+T+"M"+a+","+k+"V"+S+(0===p?"":"M"+y+","+T+"H"+x+"M"+y+","+S+"H"+x))})}function c(t,e,r,n){var l=e.x,c=e.y,u=n.bdPos,f=n.bPos,h=r.boxpoints||r.points;i.seedPseudoRandom();var p=t.selectAll("g.points").data(h?function(t){return t.forEach(function(t){t.t=n,t.trace=r}),t}:[]);p.enter().append("g").attr("class","points"),p.exit().remove();var d=p.selectAll("path").data(function(t){var e,n,a="all"===h?t.pts:t.pts.filter(function(e){return e.v<t.lf||e.v>t.uf}),l=Math.max((t.max-t.min)/10,t.q3-t.q1),c=1e-9*l,p=l*s,d=[],g=0;if(r.jitter){if(0===l)for(g=1,d=new Array(a.length),e=0;e<a.length;e++)d[e]=1;else for(e=0;e<a.length;e++){var m=Math.max(0,e-o),v=a[m].v,y=Math.min(a.length-1,e+o),x=a[y].v;"all"!==h&&(a[e].v<t.lf?x=Math.min(x,t.lf):v=Math.max(v,t.uf));var b=Math.sqrt(p*(y-m)/(x-v+c))||0;b=i.constrain(Math.abs(b),0,1),d.push(b),g=Math.max(b,g)}n=2*r.jitter/(g||1)}for(e=0;e<a.length;e++){var _=a[e],w=_.v,k=r.jitter?n*d[e]*(i.pseudoRandom()-.5):0,M=t.pos+f+u*(r.pointpos+k);"h"===r.orientation?(_.y=M,_.x=w):(_.x=M,_.y=w),"suspectedoutliers"===h&&w<t.uo&&w>t.lo&&(_.so=!0)}return a});d.enter().append("path").classed("point",!0),d.exit().remove(),d.call(a.translatePoints,l,c)}function u(t,e,r,a){var o,s,l=e.pos,c=e.val,u=a.bPos,f=a.bPosPxOffset||0,h=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var p=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);p.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),p.exit().remove(),p.each(function(t){var e=l.c2p(t.pos+u,!0)+f,i=l.c2p(t.pos+u-o,!0)+f,a=l.c2p(t.pos+u+s,!0)+f,p=c.c2p(t.mean,!0),d=c.c2p(t.mean-t.sd,!0),g=c.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+p+","+i+"V"+a+("sd"===h?"m0,0L"+d+","+e+"L"+p+","+i+"L"+g+","+e+"Z":"")):n.select(this).attr("d","M"+i+","+p+"H"+a+("sd"===h?"m0,0L"+e+","+d+"L"+i+","+p+"L"+e+","+g+"Z":""))})}e.exports={plot:function(t,e,r,a){var o=t._fullLayout,s=e.xaxis,f=e.yaxis,h=o._numBoxes,p=1-o.boxgap,d="group"===o.boxmode&&h>1;i.makeTraceGroups(a,r,"trace boxes").each(function(t){var r=n.select(this),i=t[0],a=i.t,g=i.trace;e.isRangePlot||(i.node3=r);var m,v,y=a.dPos*p*(1-o.boxgroupgap)/(d?h:1),x=d?2*a.dPos*((a.num+.5)/h-.5)*p:0,b=y*g.whiskerwidth;!0!==g.visible||a.empty?r.remove():("h"===g.orientation?(m=f,v=s):(m=s,v=f),a.bPos=x,a.bdPos=y,a.wdPos=b,a.wHover=a.dPos*(d?p/h:1),l(r,{pos:m,val:v},g,a),c(r,{x:s,y:f},g,a),u(r,{pos:m,val:v},g,a))})},plotBoxAndWhiskers:l,plotPoints:c,plotBoxMean:u}},{"../../components/drawing":592,"../../lib":693,d3:147}],866:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++)i[r].pts[n].selected=0;else for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++){var l=i[r].pts[n],c=a.c2p(l.x),u=o.c2p(l.y);e.contains([c,u],null,l.i,t)?(s.push({pointNumber:l.i,x:a.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s}},{}],867:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/color"),a=t("../../components/drawing");e.exports={style:function(t,e){var r=e?e[0].node3:n.select(t).selectAll("g.trace.boxes");r.style("opacity",function(t){return t[0].trace.opacity}),r.each(function(e){var r=n.select(this),o=e[0].trace,s=o.line.width;function l(t,e,r,n){t.style("stroke-width",e+"px").call(i.stroke,r).call(i.fill,n)}var c=r.selectAll("path.box");if("candlestick"===o.type)c.each(function(t){var e=n.select(this),r=o[t.dir];l(e,r.line.width,r.line.color,r.fillcolor),e.style("opacity",o.selectedpoints&&!t.selected?.3:1)});else{l(c,s,o.line.color,o.fillcolor),r.selectAll("path.mean").style({"stroke-width":s,"stroke-dasharray":2*s+"px,"+s+"px"}).call(i.stroke,o.line.color);var u=r.selectAll("path.point");a.pointStyle(u,o,t)}})},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace,i=r.selectAll("path.point");n.selectedpoints?a.selectedPointStyle(i,n):a.pointStyle(i,n,t)}}},{"../../components/color":567,"../../components/drawing":592,d3:147}],868:[function(t,e,r){"use strict";var n=t("../../lib").extendFlat,i=t("../ohlc/attributes"),a=t("../box/attributes");function o(t){return{line:{color:n({},a.line.color,{dflt:t}),width:a.line.width,editType:"style"},fillcolor:a.fillcolor,editType:"style"}}e.exports={x:i.x,open:i.open,high:i.high,low:i.low,close:i.close,line:{width:n({},a.line.width,{}),editType:"style"},increasing:o(i.increasing.line.color.dflt),decreasing:o(i.decreasing.line.color.dflt),text:i.text,whiskerwidth:n({},a.whiskerwidth,{dflt:0})}},{"../../lib":693,"../box/attributes":856,"../ohlc/attributes":987}],869:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../ohlc/calc").calcCommon;function o(t,e,r,n){return{min:r,q1:Math.min(t,n),med:n,q3:Math.max(t,n),max:e}}e.exports=function(t,e){var r=t._fullLayout,s=i.getFromId(t,e.xaxis),l=i.getFromId(t,e.yaxis),c=s.makeCalcdata(e,"x"),u=a(t,e,c,l,o);return u.length?(n.extendFlat(u[0].t,{num:r._numBoxes,dPos:n.distinctVals(c).minDiff/2,posLetter:"x",valLetter:"y"}),r._numBoxes++,u):[{t:{empty:!0}}]}},{"../../lib":693,"../../plots/cartesian/axes":742,"../ohlc/calc":988}],870:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color"),a=t("../ohlc/ohlc_defaults"),o=t("./attributes");function s(t,e,r,n){var a=r(n+".line.color");r(n+".line.width",e.line.width),r(n+".fillcolor",i.addOpacity(a,.5))}e.exports=function(t,e,r,i){function l(r,i){return n.coerce(t,e,o,r,i)}a(t,e,l,i)?(l("line.width"),s(t,e,l,"increasing"),s(t,e,l,"decreasing"),l("text"),l("whiskerwidth"),i._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{"../../components/color":567,"../../lib":693,"../ohlc/ohlc_defaults":992,"./attributes":868}],871:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"candlestick",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","showLegend","candlestick","boxLayout"],meta:{},attributes:t("./attributes"),layoutAttributes:t("../box/layout_attributes"),supplyLayoutDefaults:t("../box/layout_defaults").supplyLayoutDefaults,crossTraceCalc:t("../box/cross_trace_calc").crossTraceCalc,supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("../box/plot").plot,layerName:"boxlayer",style:t("../box/style").style,hoverPoints:t("../ohlc/hover"),selectPoints:t("../ohlc/select")}},{"../../plots/cartesian":753,"../box/cross_trace_calc":858,"../box/layout_attributes":863,"../box/layout_defaults":864,"../box/plot":865,"../box/style":867,"../ohlc/hover":990,"../ohlc/select":994,"./attributes":868,"./calc":869,"./defaults":870}],872:[function(t,e,r){"use strict";var n=t("./axis_defaults");e.exports=function(t,e,r,i,a){i("a")||(i("da"),i("a0")),i("b")||(i("db"),i("b0")),function(t,e,r,i){["aaxis","baxis"].forEach(function(a){var o=a.charAt(0),s=t[a]||{},l={},c={tickfont:"x",id:o+"axis",letter:o,font:e.font,name:a,data:t[o],calendar:e.calendar,dfltColor:i,bgColor:r.paper_bgcolor,fullLayout:r};n(s,l,c),l._categories=l._categories||[],e[a]=l,t[a]||"-"===s.type||(t[a]={type:s.type})})}(t,e,r,a)}},{"./axis_defaults":877}],873:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t){return function t(e,r){if(!n(e)||r>=10)return null;var i=1/0;var a=-1/0;var o=e.length;for(var s=0;s<o;s++){var l=e[s];if(n(l)){var c=t(l,r+1);c&&(i=Math.min(c[0],i),a=Math.max(c[1],a))}else i=Math.min(l,i),a=Math.max(l,a)}return[i,a]}(t,0)}},{"../../lib":693}],874:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("./axis_attributes"),a=t("../../components/color/attributes"),o=n({editType:"calc"});o.family.dflt='"Open Sans", verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=a.defaultLine,e.exports={carpet:{valType:"string",editType:"calc"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},a:{valType:"data_array",editType:"calc"},a0:{valType:"number",dflt:0,editType:"calc"},da:{valType:"number",dflt:1,editType:"calc"},b:{valType:"data_array",editType:"calc"},b0:{valType:"number",dflt:0,editType:"calc"},db:{valType:"number",dflt:1,editType:"calc"},cheaterslope:{valType:"number",dflt:1,editType:"calc"},aaxis:i,baxis:i,font:o,color:{valType:"color",dflt:a.defaultLine,editType:"plot"}}},{"../../components/color/attributes":566,"../../plots/font_attributes":768,"./axis_attributes":876}],875:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,p,d,g,m,v,y=n(r)?"a":"b",x=("a"===y?t.aaxis:t.baxis).smoothing,b="a"===y?t.a2i:t.b2j,_="a"===y?r:i,w="a"===y?i:r,k="a"===y?e.a.length:e.b.length,M="a"===y?e.b.length:e.a.length,A=Math.floor("a"===y?t.b2j(w):t.a2i(w)),T="a"===y?function(e){return t.evalxy([],e,A)}:function(e){return t.evalxy([],A,e)};x&&(s=Math.max(0,Math.min(M-2,A)),l=A-s,o="a"===y?function(e,r){return t.dxydi([],e,s,r,l)}:function(e,r){return t.dxydj([],s,e,l,r)});var S=b(_[0]),E=b(_[1]),C=S<E?1:-1,L=1e-8*(E-S),z=C>0?Math.floor:Math.ceil,P=C>0?Math.ceil:Math.floor,O=C>0?Math.min:Math.max,I=C>0?Math.max:Math.min,D=z(S+L),R=P(E-L),B=[[f=T(S)]];for(a=D;a*C<R*C;a+=C)c=[],g=I(S,a),v=(m=O(E,a+C))-g,u=Math.max(0,Math.min(k-2,Math.floor(.5*(g+m)))),h=T(m),x&&(p=o(u,g-u),d=o(u,m-u),c.push([f[0]+p[0]/3*v,f[1]+p[1]/3*v]),c.push([h[0]-d[0]/3*v,h[1]-d[1]/3*v])),c.push(h),B.push(c),f=h;return B}},{"../../lib":693}],876:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../../components/color/attributes"),a=t("../../plots/cartesian/layout_attributes"),o=t("../../plot_api/edit_types").overrideAll;e.exports={color:{valType:"color",editType:"calc"},smoothing:{valType:"number",dflt:1,min:0,max:1.3,editType:"calc"},title:{valType:"string",editType:"calc"},titlefont:n({editType:"calc"}),titleoffset:{valType:"number",dflt:10,editType:"calc"},type:{valType:"enumerated",values:["-","linear","date","category"],dflt:"-",editType:"calc"},autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"calc"},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"calc"},range:{valType:"info_array",editType:"calc",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}]},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},cheatertype:{valType:"enumerated",values:["index","value"],dflt:"value",editType:"calc"},tickmode:{valType:"enumerated",values:["linear","array"],dflt:"array",editType:"calc"},nticks:{valType:"integer",min:0,dflt:0,editType:"calc"},tickvals:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},showticklabels:{valType:"enumerated",values:["start","end","both","none"],dflt:"start",editType:"calc"},tickfont:n({editType:"calc"}),tickangle:{valType:"angle",dflt:"auto",editType:"calc"},tickprefix:{valType:"string",dflt:"",editType:"calc"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},ticksuffix:{valType:"string",dflt:"",editType:"calc"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"calc"},separatethousands:{valType:"boolean",dflt:!1,editType:"calc"},tickformat:{valType:"string",dflt:"",editType:"calc"},tickformatstops:o(a.tickformatstops,"calc","from-root"),categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},labelpadding:{valType:"integer",dflt:10,editType:"calc"},labelprefix:{valType:"string",editType:"calc"},labelsuffix:{valType:"string",dflt:"",editType:"calc"},showline:{valType:"boolean",dflt:!1,editType:"calc"},linecolor:{valType:"color",dflt:i.defaultLine,editType:"calc"},linewidth:{valType:"number",min:0,dflt:1,editType:"calc"},gridcolor:{valType:"color",editType:"calc"},gridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},showgrid:{valType:"boolean",dflt:!0,editType:"calc"},minorgridcount:{valType:"integer",min:0,dflt:0,editType:"calc"},minorgridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},minorgridcolor:{valType:"color",dflt:i.lightLine,editType:"calc"},startline:{valType:"boolean",editType:"calc"},startlinecolor:{valType:"color",editType:"calc"},startlinewidth:{valType:"number",dflt:1,editType:"calc"},endline:{valType:"boolean",editType:"calc"},endlinewidth:{valType:"number",dflt:1,editType:"calc"},endlinecolor:{valType:"color",editType:"calc"},tick0:{valType:"number",min:0,dflt:0,editType:"calc"},dtick:{valType:"number",min:0,dflt:1,editType:"calc"},arraytick0:{valType:"integer",min:0,dflt:0,editType:"calc"},arraydtick:{valType:"integer",min:1,dflt:1,editType:"calc"},editType:"calc"}},{"../../components/color/attributes":566,"../../plot_api/edit_types":725,"../../plots/cartesian/layout_attributes":754,"../../plots/font_attributes":768}],877:[function(t,e,r){"use strict";var n=t("./attributes"),i=t("../../components/color").addOpacity,a=t("../../registry"),o=t("../../lib"),s=t("../../plots/cartesian/tick_value_defaults"),l=t("../../plots/cartesian/tick_label_defaults"),c=t("../../plots/cartesian/category_order_defaults"),u=t("../../plots/cartesian/set_convert"),f=t("../../plots/cartesian/axis_autotype");e.exports=function(t,e,r){var h=r.letter,p=r.font||{},d=n[h+"axis"];function g(r,n){return o.coerce(t,e,d,r,n)}function m(r,n){return o.coerce2(t,e,d,r,n)}r.name&&(e._name=r.name,e._id=r.name);var v=g("type");("-"===v&&(r.data&&function(t,e){if("-"!==t.type)return;var r=t._id.charAt(0),n=t[r+"calendar"];t.type=f(e,n)}(e,r.data),"-"===e.type?e.type="linear":v=t.type=e.type),g("smoothing"),g("cheatertype"),g("showticklabels"),g("labelprefix",h+" = "),g("labelsuffix"),g("showtickprefix"),g("showticksuffix"),g("separatethousands"),g("tickformat"),g("exponentformat"),g("showexponent"),g("categoryorder"),g("tickmode"),g("tickvals"),g("ticktext"),g("tick0"),g("dtick"),"array"===e.tickmode&&(g("arraytick0"),g("arraydtick")),g("labelpadding"),e._hovertitle=h,"date"===v)&&a.getComponentMethod("calendars","handleDefaults")(t,e,"calendar",r.calendar);u(e,r.fullLayout),e.c2p=o.identity;var y=g("color",r.dfltColor),x=y===t.color?y:p.color;g("title"),o.coerceFont(g,"titlefont",{family:p.family,size:Math.round(1.2*p.size),color:x}),g("titleoffset"),g("tickangle"),g("autorange",!e.isValidRange(t.range))&&g("rangemode"),g("range"),e.cleanRange(),g("fixedrange"),s(t,e,g,v),l(t,e,g,v,r),c(t,e,g,{data:r.data,dataAttr:h});var b=m("gridcolor",i(y,.3)),_=m("gridwidth"),w=g("showgrid");w||(delete e.gridcolor,delete e.gridwidth);var k=m("startlinecolor",y),M=m("startlinewidth",_);g("startline",e.showgrid||!!k||!!M)||(delete e.startlinecolor,delete e.startlinewidth);var A=m("endlinecolor",y),T=m("endlinewidth",_);return g("endline",e.showgrid||!!A||!!T)||(delete e.endlinecolor,delete e.endlinewidth),w?(g("minorgridcount"),g("minorgridwidth",_),g("minorgridcolor",i(b,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridWidth),"none"===e.showticklabels&&(delete e.tickfont,delete e.tickangle,delete e.showexponent,delete e.exponentformat,delete e.tickformat,delete e.showticksuffix,delete e.showtickprefix),e.showticksuffix||delete e.ticksuffix,e.showtickprefix||delete e.tickprefix,g("tickmode"),(!e.title||e.title&&0===e.title.length)&&(delete e.titlefont,delete e.titleoffset),e}},{"../../components/color":567,"../../lib":693,"../../plots/cartesian/axis_autotype":743,"../../plots/cartesian/category_order_defaults":746,"../../plots/cartesian/set_convert":760,"../../plots/cartesian/tick_label_defaults":761,"../../plots/cartesian/tick_value_defaults":763,"../../registry":825,"./attributes":874}],878:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib").isArray1D,a=t("./cheater_basis"),o=t("./array_minmax"),s=t("./calc_gridlines"),l=t("./calc_labels"),c=t("./calc_clippath"),u=t("../heatmap/clean_2d_array"),f=t("./smooth_fill_2d_array"),h=t("../heatmap/convert_column_xyz"),p=t("./set_convert");e.exports=function(t,e){var r=n.getFromId(t,e.xaxis),d=n.getFromId(t,e.yaxis),g=e.aaxis,m=e.baxis,v=e.x,y=e.y,x=[];v&&i(v)&&x.push("x"),y&&i(y)&&x.push("y"),x.length&&h(e,g,m,"a","b",x);var b=e._a=e._a||e.a,_=e._b=e._b||e.b;v=e._x||e.x,y=e._y||e.y;var w={};if(e._cheater){var k="index"===g.cheatertype?b.length:b,M="index"===m.cheatertype?_.length:_;v=a(k,M,e.cheaterslope)}e._x=v=u(v),e._y=y=u(y),f(v,b,_),f(y,b,_),p(e),e.setScale();var A=o(v),T=o(y),S=.5*(A[1]-A[0]),E=.5*(A[1]+A[0]),C=.5*(T[1]-T[0]),L=.5*(T[1]+T[0]);return A=[E-1.3*S,E+1.3*S],T=[L-1.3*C,L+1.3*C],e._extremes[r._id]=n.findExtremes(r,A,{padded:!0}),e._extremes[d._id]=n.findExtremes(d,T,{padded:!0}),s(e,"a","b"),s(e,"b","a"),l(e,g),l(e,m),w.clipsegments=c(e._xctrl,e._yctrl,g,m),w.x=v,w.y=y,w.a=b,w.b=_,[w]}},{"../../lib":693,"../../plots/cartesian/axes":742,"../heatmap/clean_2d_array":944,"../heatmap/convert_column_xyz":946,"./array_minmax":873,"./calc_clippath":879,"./calc_gridlines":880,"./calc_labels":881,"./cheater_basis":883,"./set_convert":896,"./smooth_fill_2d_array":897}],879:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i,a,o,s=[],l=!!r.smoothing,c=!!n.smoothing,u=t[0].length-1,f=t.length-1;for(i=0,a=[],o=[];i<=u;i++)a[i]=t[0][i],o[i]=e[0][i];for(s.push({x:a,y:o,bicubic:l}),i=0,a=[],o=[];i<=f;i++)a[i]=t[i][u],o[i]=e[i][u];for(s.push({x:a,y:o,bicubic:c}),i=u,a=[],o=[];i>=0;i--)a[u-i]=t[f][i],o[u-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:c}),s}},{}],880:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib/extend").extendFlat;e.exports=function(t,e,r){var a,o,s,l,c,u,f,h,p,d,g,m,v,y,x=t["_"+e],b=t[e+"axis"],_=b._gridlines=[],w=b._minorgridlines=[],k=b._boundarylines=[],M=t["_"+r],A=t[r+"axis"];"array"===b.tickmode&&(b.tickvals=x.slice());var T=t._xctrl,S=t._yctrl,E=T[0].length,C=T.length,L=t._a.length,z=t._b.length;n.prepTicks(b),"array"===b.tickmode&&delete b.tickvals;var P=b.smoothing?3:1;function O(n){var i,a,o,s,l,c,u,f,p,d,g,m,v=[],y=[],x={};if("b"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(z-2,a))),s=a-o,x.length=z,x.crossLength=L,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i<L;i++)c=Math.min(L-2,i),u=i-c,f=t.evalxy([],i,a),A.smoothing&&i>0&&(p=t.dxydi([],i-1,o,0,s),v.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),v.push(f[0]-d[0]/3),y.push(f[1]-d[1]/3)),v.push(f[0]),y.push(f[1]),l=f;else for(i=t.a2i(n),c=Math.floor(Math.max(0,Math.min(L-2,i))),u=i-c,x.length=L,x.crossLength=z,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},a=0;a<z;a++)o=Math.min(z-2,a),s=a-o,f=t.evalxy([],i,a),A.smoothing&&a>0&&(g=t.dxydj([],c,a-1,u,0),v.push(l[0]+g[0]/3),y.push(l[1]+g[1]/3),m=t.dxydj([],c,a-1,u,1),v.push(f[0]-m[0]/3),y.push(f[1]-m[1]/3)),v.push(f[0]),y.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=h,x.x=v,x.y=y,x.smoothing=A.smoothing,x}function I(n){var i,a,o,s,l,c=[],u=[],f={};if(f.length=x.length,f.crossLength=M.length,"b"===e)for(o=Math.max(0,Math.min(z-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;i<E;i++)c[i]=T[n*P][i],u[i]=S[n*P][i];else for(a=Math.max(0,Math.min(L-2,n)),s=Math.min(1,Math.max(0,n-a)),f.xy=function(e){return t.evalxy([],n,e)},f.dxy=function(e,r){return t.dxydj([],a,e,s,r)},i=0;i<C;i++)c[i]=T[i][n*P],u[i]=S[i][n*P];return f.axisLetter=e,f.axis=b,f.crossAxis=A,f.value=x[n],f.constvar=r,f.index=n,f.x=c,f.y=u,f.smoothing=A.smoothing,f}if("array"===b.tickmode){for(l=5e-15,u=(c=[Math.floor((x.length-1-b.arraytick0)/b.arraydtick*(1+l)),Math.ceil(-b.arraytick0/b.arraydtick/(1+l))].sort(function(t,e){return t-e}))[0]-1,f=c[1]+1,h=u;h<f;h++)(o=b.arraytick0+b.arraydtick*h)<0||o>x.length-1||_.push(i(I(o),{color:b.gridcolor,width:b.gridwidth}));for(h=u;h<f;h++)if(s=b.arraytick0+b.arraydtick*h,g=Math.min(s+b.arraydtick,x.length-1),!(s<0||s>x.length-1||g<0||g>x.length-1))for(m=x[s],v=x[g],a=0;a<b.minorgridcount;a++)(y=g-s)<=0||(d=m+(v-m)*(a+1)/(b.minorgridcount+1)*(b.arraydtick/y))<x[0]||d>x[x.length-1]||w.push(i(O(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(i(I(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(i(I(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort(function(t,e){return t-e}))[0],f=c[1],h=u;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(O(p),{color:b.gridcolor,width:b.gridwidth}));for(h=u-1;h<f+1;h++)for(p=b.tick0+b.dtick*h,a=0;a<b.minorgridcount;a++)(d=p+b.dtick*(a+1)/(b.minorgridcount+1))<x[0]||d>x[x.length-1]||w.push(i(O(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(i(O(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(i(O(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},{"../../lib/extend":682,"../../plots/cartesian/axes":742}],881:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib/extend").extendFlat;e.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;r<l.length;r++)o=l[r],-1!==["start","both"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{prefix:void 0,suffix:void 0,endAnchor:!0,xy:o.xy(0),dxy:o.dxy(0,0),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(a)),-1!==["end","both"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{endAnchor:!1,xy:o.xy(o.crossLength-1),dxy:o.dxy(o.crossLength-2,1),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(a))}},{"../../lib/extend":682,"../../plots/cartesian/axes":742}],882:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*i-l*l*o)*n,f=(c*c*a-l*l*s)*n,h=c*(l+c)*3,p=l*(l+c)*3;return[[e[0]+(h&&u/h),e[1]+(h&&f/h)],[e[0]-(p&&u/p),e[1]-(p&&f/p)]]}},{}],883:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r){var i,a,o,s,l,c,u=[],f=n(t)?t.length:t,h=n(e)?e.length:e,p=n(t)?t:null,d=n(e)?e:null;p&&(o=(p.length-1)/(p[p.length-1]-p[0])/(f-1)),d&&(s=(d.length-1)/(d[d.length-1]-d[0])/(h-1));var g=1/0,m=-1/0;for(a=0;a<h;a++)for(u[a]=[],l=d?(d[a]-d[0])*s:a/(h-1),i=0;i<f;i++)c=(p?(p[i]-p[0])*o:i/(f-1))-l*r,g=Math.min(c,g),m=Math.max(c,m),u[a][i]=c;var v=1/(m-g),y=-g*v;for(a=0;a<h;a++)for(i=0;i<f;i++)u[a][i]=v*u[a][i]+y;return u}},{"../../lib":693}],884:[function(t,e,r){"use strict";var n=t("./catmull_rom"),i=t("../../lib").ensureArray;function a(t,e,r){var n=-.5*r[0]+1.5*e[0],i=-.5*r[1]+1.5*e[1];return[(2*n+t[0])/3,(2*i+t[1])/3]}e.exports=function(t,e,r,o,s,l){var c,u,f,h,p,d,g,m,v,y,x=r[0].length,b=r.length,_=s?3*x-2:x,w=l?3*b-2:b;for(t=i(t,w),e=i(e,w),f=0;f<w;f++)t[f]=i(t[f],_),e[f]=i(e[f],_);for(u=0,h=0;u<b;u++,h+=l?3:1)for(p=t[h],d=e[h],g=r[u],m=o[u],c=0,f=0;c<x;c++,f+=s?3:1)p[f]=g[c],d[f]=m[c];if(s)for(u=0,h=0;u<b;u++,h+=l?3:1){for(c=1,f=3;c<x-1;c++,f+=3)v=n([r[u][c-1],o[u][c-1]],[r[u][c],o[u][c]],[r[u][c+1],o[u][c+1]],s),t[h][f-1]=v[0][0],e[h][f-1]=v[0][1],t[h][f+1]=v[1][0],e[h][f+1]=v[1][1];y=a([t[h][0],e[h][0]],[t[h][2],e[h][2]],[t[h][3],e[h][3]]),t[h][1]=y[0],e[h][1]=y[1],y=a([t[h][_-1],e[h][_-1]],[t[h][_-3],e[h][_-3]],[t[h][_-4],e[h][_-4]]),t[h][_-2]=y[0],e[h][_-2]=y[1]}if(l)for(f=0;f<_;f++){for(h=3;h<w-3;h+=3)v=n([t[h-3][f],e[h-3][f]],[t[h][f],e[h][f]],[t[h+3][f],e[h+3][f]],l),t[h-1][f]=v[0][0],e[h-1][f]=v[0][1],t[h+1][f]=v[1][0],e[h+1][f]=v[1][1];y=a([t[0][f],e[0][f]],[t[2][f],e[2][f]],[t[3][f],e[3][f]]),t[1][f]=y[0],e[1][f]=y[1],y=a([t[w-1][f],e[w-1][f]],[t[w-3][f],e[w-3][f]],[t[w-4][f],e[w-4][f]]),t[w-2][f]=y[0],e[w-2][f]=y[1]}if(s&&l)for(h=1;h<w;h+=(h+1)%3==0?2:1){for(f=3;f<_-3;f+=3)v=n([t[h][f-3],e[h][f-3]],[t[h][f],e[h][f]],[t[h][f+3],e[h][f+3]],s),t[h][f-1]=.5*(t[h][f-1]+v[0][0]),e[h][f-1]=.5*(e[h][f-1]+v[0][1]),t[h][f+1]=.5*(t[h][f+1]+v[1][0]),e[h][f+1]=.5*(e[h][f+1]+v[1][1]);y=a([t[h][0],e[h][0]],[t[h][2],e[h][2]],[t[h][3],e[h][3]]),t[h][1]=.5*(t[h][1]+y[0]),e[h][1]=.5*(e[h][1]+y[1]),y=a([t[h][_-1],e[h][_-1]],[t[h][_-3],e[h][_-3]],[t[h][_-4],e[h][_-4]]),t[h][_-2]=.5*(t[h][_-2]+y[0]),e[h][_-2]=.5*(e[h][_-2]+y[1])}return[t,e]}},{"../../lib":693,"./catmull_rom":882}],885:[function(t,e,r){"use strict";e.exports={RELATIVE_CULL_TOLERANCE:1e-6}},{}],886:[function(t,e,r){"use strict";e.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3,n*=3;var h=i*i,p=1-i,d=p*p,g=p*i*2,m=-3*d,v=3*(d-g),y=3*(g-h),x=3*h,b=a*a,_=b*a,w=1-a,k=w*w,M=k*w;for(f=0;f<t.length;f++)o=m*(u=t[f])[n][r]+v*u[n][r+1]+y*u[n][r+2]+x*u[n][r+3],s=m*u[n+1][r]+v*u[n+1][r+1]+y*u[n+1][r+2]+x*u[n+1][r+3],l=m*u[n+2][r]+v*u[n+2][r+1]+y*u[n+2][r+2]+x*u[n+2][r+3],c=m*u[n+3][r]+v*u[n+3][r+1]+y*u[n+3][r+2]+x*u[n+3][r+3],e[f]=M*o+3*(k*a*s+w*b*l)+_*c;return e}:e?function(e,r,n,i,a){var o,s,l,c;e||(e=[]),r*=3;var u=i*i,f=1-i,h=f*f,p=f*i*2,d=-3*h,g=3*(h-p),m=3*(p-u),v=3*u,y=1-a;for(l=0;l<t.length;l++)o=d*(c=t[l])[n][r]+g*c[n][r+1]+m*c[n][r+2]+v*c[n][r+3],s=d*c[n+1][r]+g*c[n+1][r+1]+m*c[n+1][r+2]+v*c[n+1][r+3],e[l]=y*o+a*s;return e}:r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),n*=3;var h=a*a,p=h*a,d=1-a,g=d*d,m=g*d;for(u=0;u<t.length;u++)o=(f=t[u])[n][r+1]-f[n][r],s=f[n+1][r+1]-f[n+1][r],l=f[n+2][r+1]-f[n+2][r],c=f[n+3][r+1]-f[n+3][r],e[u]=m*o+3*(g*a*s+d*h*l)+p*c;return e}:function(e,r,n,i,a){var o,s,l,c;e||(e=[]);var u=1-a;for(l=0;l<t.length;l++)o=(c=t[l])[n][r+1]-c[n][r],s=c[n+1][r+1]-c[n+1][r],e[l]=u*o+a*s;return e}}},{}],887:[function(t,e,r){"use strict";e.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3,n*=3;var h=i*i,p=h*i,d=1-i,g=d*d,m=g*d,v=a*a,y=1-a,x=y*y,b=y*a*2,_=-3*x,w=3*(x-b),k=3*(b-v),M=3*v;for(f=0;f<t.length;f++)o=_*(u=t[f])[n][r]+w*u[n+1][r]+k*u[n+2][r]+M*u[n+3][r],s=_*u[n][r+1]+w*u[n+1][r+1]+k*u[n+2][r+1]+M*u[n+3][r+1],l=_*u[n][r+2]+w*u[n+1][r+2]+k*u[n+2][r+2]+M*u[n+3][r+2],c=_*u[n][r+3]+w*u[n+1][r+3]+k*u[n+2][r+3]+M*u[n+3][r+3],e[f]=m*o+3*(g*i*s+d*h*l)+p*c;return e}:e?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3;var h=a*a,p=h*a,d=1-a,g=d*d,m=g*d;for(u=0;u<t.length;u++)o=(f=t[u])[n+1][r]-f[n][r],s=f[n+1][r+1]-f[n][r+1],l=f[n+1][r+2]-f[n][r+2],c=f[n+1][r+3]-f[n][r+3],e[u]=m*o+3*(g*a*s+d*h*l)+p*c;return e}:r?function(e,r,n,i,a){var o,s,l,c;e||(e=[]),n*=3;var u=1-i,f=a*a,h=1-a,p=h*h,d=h*a*2,g=-3*p,m=3*(p-d),v=3*(d-f),y=3*f;for(l=0;l<t.length;l++)o=g*(c=t[l])[n][r]+m*c[n+1][r]+v*c[n+2][r]+y*c[n+3][r],s=g*c[n][r+1]+m*c[n+1][r+1]+v*c[n+2][r+1]+y*c[n+3][r+1],e[l]=u*o+i*s;return e}:function(e,r,n,i,a){var o,s,l,c;e||(e=[]);var u=1-i;for(l=0;l<t.length;l++)o=(c=t[l])[n+1][r]-c[n][r],s=c[n+1][r+1]-c[n][r+1],e[l]=u*o+i*s;return e}}},{}],888:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){var a=e-2,o=r-2;return n&&i?function(e,r,n){var i,s,l,c,u,f;e||(e=[]);var h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),g=Math.max(0,Math.min(1,n-p));h*=3,p*=3;var m=d*d,v=m*d,y=1-d,x=y*y,b=x*y,_=g*g,w=_*g,k=1-g,M=k*k,A=M*k;for(f=0;f<t.length;f++)i=b*(u=t[f])[p][h]+3*(x*d*u[p][h+1]+y*m*u[p][h+2])+v*u[p][h+3],s=b*u[p+1][h]+3*(x*d*u[p+1][h+1]+y*m*u[p+1][h+2])+v*u[p+1][h+3],l=b*u[p+2][h]+3*(x*d*u[p+2][h+1]+y*m*u[p+2][h+2])+v*u[p+2][h+3],c=b*u[p+3][h]+3*(x*d*u[p+3][h+1]+y*m*u[p+3][h+2])+v*u[p+3][h+3],e[f]=A*i+3*(M*g*s+k*_*l)+w*c;return e}:n?function(e,r,n){e||(e=[]);var i,s,l,c,u,f,h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),g=Math.max(0,Math.min(1,n-p));h*=3;var m=d*d,v=m*d,y=1-d,x=y*y,b=x*y,_=1-g;for(u=0;u<t.length;u++)i=_*(f=t[u])[p][h]+g*f[p+1][h],s=_*f[p][h+1]+g*f[p+1][h+1],l=_*f[p][h+2]+g*f[p+1][h+1],c=_*f[p][h+3]+g*f[p+1][h+1],e[u]=b*i+3*(x*d*s+y*m*l)+v*c;return e}:i?function(e,r,n){e||(e=[]);var i,s,l,c,u,f,h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),g=Math.max(0,Math.min(1,n-p));p*=3;var m=g*g,v=m*g,y=1-g,x=y*y,b=x*y,_=1-d;for(u=0;u<t.length;u++)i=_*(f=t[u])[p][h]+d*f[p][h+1],s=_*f[p+1][h]+d*f[p+1][h+1],l=_*f[p+2][h]+d*f[p+2][h+1],c=_*f[p+3][h]+d*f[p+3][h+1],e[u]=b*i+3*(x*g*s+y*m*l)+v*c;return e}:function(e,r,n){e||(e=[]);var i,s,l,c,u=Math.max(0,Math.min(Math.floor(r),a)),f=Math.max(0,Math.min(Math.floor(n),o)),h=Math.max(0,Math.min(1,r-u)),p=Math.max(0,Math.min(1,n-f)),d=1-p,g=1-h;for(l=0;l<t.length;l++)i=g*(c=t[l])[f][u]+h*c[f][u+1],s=g*c[f+1][u]+h*c[f+1][u+1],e[l]=d*i+p*s;return e}}},{}],889:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./xy_defaults"),a=t("./ab_defaults"),o=t("./attributes"),s=t("../../components/color/attributes");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,o,r,i)}e._clipPathId="clip"+e.uid+"carpet";var u=c("color",s.defaultLine);(n.coerceFont(c,"font"),c("carpet"),a(t,e,l,c,u),e.a&&e.b)?(e.a.length<3&&(e.aaxis.smoothing=0),e.b.length<3&&(e.baxis.smoothing=0),i(t,e,c)||(e.visible=!1),e._cheater&&c("cheaterslope")):e.visible=!1}},{"../../components/color/attributes":566,"../../lib":693,"./ab_defaults":872,"./attributes":874,"./xy_defaults":898}],890:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.plot=t("./plot"),n.calc=t("./calc"),n.animatable=!0,n.isContainer=!0,n.moduleType="trace",n.name="carpet",n.basePlotModule=t("../../plots/cartesian"),n.categories=["cartesian","svg","carpet","carpetAxis","notLegendIsolatable"],n.meta={},e.exports=n},{"../../plots/cartesian":753,"./attributes":874,"./calc":878,"./defaults":889,"./plot":895}],891:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r,n=t._fullData.length,i=0;i<n;i++){var a=t._fullData[i];if(a.index!==e.index&&("carpet"===a.type&&(r||(r=a),a.carpet===e.carpet)))return a}return r}},{}],892:[function(t,e,r){"use strict";e.exports=function(t,e,r){if(0===t.length)return"";var n,i=[],a=r?3:1;for(n=0;n<t.length;n+=a)i.push(t[n]+","+e[n]),r&&n<t.length-a&&(i.push("C"),i.push([t[n+1]+","+e[n+1],t[n+2]+","+e[n+2]+" "].join(" ")));return i.join(r?"":"L")}},{}],893:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r){var i;for(n(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],i=0;i<e.length;i++)t[i]=r(e[i]);return t}},{"../../lib":693}],894:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i,a){var o=i[0]*t.dpdx(e),s=i[1]*t.dpdy(r),l=1,c=1;if(a){var u=Math.sqrt(i[0]*i[0]+i[1]*i[1]),f=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=(i[0]*a[0]+i[1]*a[1])/u/f;c=Math.max(0,h)}var p=180*Math.atan2(s,o)/Math.PI;return p<-90?(p+=180,l=-l):p>90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],895:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("./map_1d_array"),o=t("./makepath"),s=t("./orient_text"),l=t("../../lib/svg_text_utils"),c=t("../../lib"),u=t("../../constants/alignment");function f(t,e,r,i,s,l){var c="const-"+s+"-lines",u=r.selectAll("."+c).data(l);u.enter().append("path").classed(c,!0).style("vector-effect","non-scaling-stroke"),u.each(function(r){var i=r,s=i.x,l=i.y,c=a([],s,t.c2p),u=a([],l,e.c2p),f="M"+o(c,u,i.smoothing);n.select(this).attr("d",f).style("stroke-width",i.width).style("stroke",i.color).style("fill","none")}),u.exit().remove()}function h(t,e,r,a,o,c,u,f){var h=c.selectAll("text."+f).data(u);h.enter().append("text").classed(f,!0);var p=0,d={};return h.each(function(o,c){var u;if("auto"===o.axis.tickangle)u=s(a,e,r,o.xy,o.dxy);else{var f=(o.axis.tickangle+180)*Math.PI/180;u=s(a,e,r,o.xy,[Math.cos(f),Math.sin(f)])}c||(d={angle:u.angle,flip:u.flip});var h=(o.endAnchor?-1:1)*u.flip,g=n.select(this).attr({"text-anchor":h>0?"start":"end","data-notex":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),m=i.bBox(this);g.attr("transform","translate("+u.p[0]+","+u.p[1]+") rotate("+u.angle+")translate("+o.axis.labelpadding*h+","+.3*m.height+")"),p=Math.max(p,m.width+o.axis.labelpadding)}),h.exit().remove(),d.maxExtent=p,d}e.exports=function(t,e,r,i){var l=e.xaxis,u=e.yaxis,p=t._fullLayout._clips;c.makeTraceGroups(i,r,"trace").each(function(e){var r=n.select(this),i=e[0],d=i.trace,m=d.aaxis,v=d.baxis,y=c.ensureSingle(r,"g","minorlayer"),x=c.ensureSingle(r,"g","majorlayer"),b=c.ensureSingle(r,"g","boundarylayer"),_=c.ensureSingle(r,"g","labellayer");r.style("opacity",d.opacity),f(l,u,x,m,"a",m._gridlines),f(l,u,x,v,"b",v._gridlines),f(l,u,y,m,"a",m._minorgridlines),f(l,u,y,v,"b",v._minorgridlines),f(l,u,b,m,"a-boundary",m._boundarylines),f(l,u,b,v,"b-boundary",v._boundarylines);var w=h(t,l,u,d,i,_,m._labels,"a-label"),k=h(t,l,u,d,i,_,v._labels,"b-label");!function(t,e,r,n,i,a,o,l){var u,f,h,p;u=.5*(r.a[0]+r.a[r.a.length-1]),f=r.b[0],h=r.ab2xy(u,f,!0),p=r.dxyda_rough(u,f),void 0===o.angle&&c.extendFlat(o,s(r,i,a,h,r.dxydb_rough(u,f)));g(t,e,r,n,h,p,r.aaxis,i,a,o,"a-title"),u=r.a[0],f=.5*(r.b[0]+r.b[r.b.length-1]),h=r.ab2xy(u,f,!0),p=r.dxydb_rough(u,f),void 0===l.angle&&c.extendFlat(l,s(r,i,a,h,r.dxyda_rough(u,f)));g(t,e,r,n,h,p,r.baxis,i,a,l,"b-title")}(t,_,d,i,l,u,w,k),function(t,e,r,n,i){var s,l,u,f,h=r.select("#"+t._clipPathId);h.size()||(h=r.append("clipPath").classed("carpetclip",!0));var p=c.ensureSingle(h,"path","carpetboundary"),d=e.clipsegments,g=[];for(f=0;f<d.length;f++)s=d[f],l=a([],s.x,n.c2p),u=a([],s.y,i.c2p),g.push(o(l,u,s.bicubic));var m="M"+g.join("L")+"Z";h.attr("id",t._clipPathId),p.attr("d",m)}(d,i,p,l,u)})};var p=u.LINE_SPACING,d=(1-u.MID_SHIFT)/p+1;function g(t,e,r,a,o,c,u,f,h,g,m){var v=[];u.title&&v.push(u.title);var y=e.selectAll("text."+m).data(v),x=g.maxExtent;y.enter().append("text").classed(m,!0),y.each(function(){var e=s(r,f,h,o,c);-1===["start","both"].indexOf(u.showticklabels)&&(x=0);var a=u.titlefont.size;x+=a+u.titleoffset;var m=(g.angle+(g.flip<0?180:0)-e.angle+450)%360,v=m>90&&m<270,y=n.select(this);y.text(u.title||"").call(l.convertToTspans,t),v&&(x=(-l.lineCount(y)+d)*p*a-x),y.attr("transform","translate("+e.p[0]+","+e.p[1]+") rotate("+e.angle+") translate(0,"+x+")").classed("user-select-none",!0).attr("text-anchor","middle").call(i.font,u.titlefont)}),y.exit().remove()}},{"../../components/drawing":592,"../../constants/alignment":665,"../../lib":693,"../../lib/svg_text_utils":718,"./makepath":892,"./map_1d_array":893,"./orient_text":894,d3:147}],896:[function(t,e,r){"use strict";var n=t("./constants"),i=t("../../lib/search").findBin,a=t("./compute_control_points"),o=t("./create_spline_evaluator"),s=t("./create_i_derivative_evaluator"),l=t("./create_j_derivative_evaluator");e.exports=function(t){var e=t._a,r=t._b,c=e.length,u=r.length,f=t.aaxis,h=t.baxis,p=e[0],d=e[c-1],g=r[0],m=r[u-1],v=e[e.length-1]-e[0],y=r[r.length-1]-r[0],x=v*n.RELATIVE_CULL_TOLERANCE,b=y*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,g-=b,m+=b,t.isVisible=function(t,e){return t>p&&t<d&&e>g&&e<m},t.isOccluded=function(t,e){return t<p||t>d||e<g||e>m},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],c,u,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),c-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),c-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(i(t,e),c-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(c-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),u-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(u-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,i,a){if(!a&&(n<e[0]||n>e[c-1]|i<r[0]||i>r[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,g=0,m=0,v=[];n<e[0]?(f=0,h=0,g=(n-e[0])/(e[1]-e[0])):n>e[c-1]?(f=c-2,h=1,g=(n-e[c-1])/(e[c-1]-e[c-2])):h=o-(f=Math.max(0,Math.min(c-2,Math.floor(o)))),i<r[0]?(p=0,d=0,m=(i-r[0])/(r[1]-r[0])):i>r[u-1]?(p=u-2,d=1,m=(i-r[u-1])/(r[u-1]-r[u-2])):d=s-(p=Math.max(0,Math.min(u-2,Math.floor(s)))),g&&(t.dxydi(v,f,p,h,d),l[0]+=v[0]*g,l[1]+=v[1]*g),m&&(t.dxydj(v,f,p,h,d),l[0]+=v[0]*m,l[1]+=v[1]*m)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=v*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},{"../../lib/search":713,"./compute_control_points":884,"./constants":885,"./create_i_derivative_evaluator":886,"./create_j_derivative_evaluator":887,"./create_spline_evaluator":888}],897:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r){var i,a,o,s=[],l=[],c=t[0].length,u=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e<c-1&&void 0!==(n=t[r][e+1])&&(a++,i+=n),r>0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r<u-1&&void 0!==(n=t[r+1][e])&&(a++,i+=n),i/Math.max(1,a)}var h,p,d,g,m,v,y,x,b,_,w,k=0;for(i=0;i<c;i++)for(a=0;a<u;a++)void 0===t[a][i]&&(s.push(i),l.push(a),t[a][i]=f(i,a)),k=Math.max(k,Math.abs(t[a][i]));if(!s.length)return t;var M=0,A=0,T=s.length;do{for(M=0,o=0;o<T;o++){i=s[o],a=l[o];var S,E,C,L,z,P,O=0,I=0;0===i?(C=e[z=Math.min(c-1,2)],L=e[1],S=t[a][z],I+=(E=t[a][1])+(E-S)*(e[0]-L)/(L-C),O++):i===c-1&&(C=e[z=Math.max(0,c-3)],L=e[c-2],S=t[a][z],I+=(E=t[a][c-2])+(E-S)*(e[c-1]-L)/(L-C),O++),(0===i||i===c-1)&&a>0&&a<u-1&&(h=r[a+1]-r[a],I+=((p=r[a]-r[a-1])*t[a+1][i]+h*t[a-1][i])/(p+h),O++),0===a?(C=r[P=Math.min(u-1,2)],L=r[1],S=t[P][i],I+=(E=t[1][i])+(E-S)*(r[0]-L)/(L-C),O++):a===u-1&&(C=r[P=Math.max(0,u-3)],L=r[u-2],S=t[P][i],I+=(E=t[u-2][i])+(E-S)*(r[u-1]-L)/(L-C),O++),(0===a||a===u-1)&&i>0&&i<c-1&&(h=e[i+1]-e[i],I+=((p=e[i]-e[i-1])*t[a][i+1]+h*t[a][i-1])/(p+h),O++),O?I/=O:(d=e[i+1]-e[i],g=e[i]-e[i-1],x=(m=r[a+1]-r[a])*(v=r[a]-r[a-1])*(m+v),I=((y=d*g*(d+g))*(v*t[a+1][i]+m*t[a-1][i])+x*(g*t[a][i+1]+d*t[a][i-1]))/(x*(g+d)+y*(v+m))),M+=(_=(b=I-t[a][i])/k)*_,w=O?0:.85,t[a][i]+=b*(1+w)}M=Math.sqrt(M)}while(A++<100&&M>1e-5);return n.log("Smoother converged to",M,"after",A,"iterations"),t}},{"../../lib":693}],898:[function(t,e,r){"use strict";var n=t("../../lib").isArray1D;e.exports=function(t,e,r){var i=r("x"),a=i&&i.length,o=r("y"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},{"../../lib":693}],899:[function(t,e,r){"use strict";var n=t("../scattergeo/attributes"),i=t("../../components/colorscale/attributes"),a=t("../../components/colorbar/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l=n.marker.line;e.exports=s({locations:{valType:"data_array",editType:"calc"},locationmode:n.locationmode,z:{valType:"data_array",editType:"calc"},text:s({},n.text,{}),marker:{line:{color:l.color,width:s({},l.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:n.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:n.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:s({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]})},i("",{cLetter:"z",editTypeOverride:"calc"}),{colorbar:a})},{"../../components/colorbar/attributes":568,"../../components/colorscale/attributes":574,"../../lib/extend":682,"../../plots/attributes":739,"../scattergeo/attributes":1072}],900:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../constants/numerical").BADNUM,a=t("../../components/colorscale/calc"),o=t("../scatter/arrays_to_calcdata"),s=t("../scatter/calc_selection");e.exports=function(t,e){for(var r=e._length,l=new Array(r),c=0;c<r;c++){var u=l[c]={},f=e.locations[c],h=e.z[c];u.loc="string"==typeof f?f:null,u.z=n(h)?h:i}return o(l,e),a(e,e.z,"","z"),s(l,e),l}},{"../../components/colorscale/calc":575,"../../constants/numerical":670,"../scatter/arrays_to_calcdata":1031,"../scatter/calc_selection":1034,"fast-isnumeric":213}],901:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/defaults"),a=t("./attributes");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("locations"),c=s("z");l&&l.length&&n.isArrayOrTypedArray(c)&&c.length?(e._length=Math.min(l.length,c.length),s("locationmode"),s("text"),s("marker.line.color"),s("marker.line.width"),s("marker.opacity"),i(t,e,o,s,{prefix:"",cLetter:"z"}),n.coerceSelectionMarkerOpacity(e,s)):e.visible=!1}},{"../../components/colorscale/defaults":577,"../../lib":693,"./attributes":899}],902:[function(t,e,r){"use strict";e.exports=function(t,e){return t.location=e.location,t.z=e.z,t}},{}],903:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("./attributes"),a=t("../scatter/fill_hover_text");e.exports=function(t,e,r){var o,s,l,c,u=t.cd,f=u[0].trace,h=t.subplot;for(s=0;s<u.length;s++)if(c=!1,(o=u[s])._polygons){for(l=0;l<o._polygons.length;l++)o._polygons[l].contains([e,r])&&(c=!c),o._polygons[l].contains([e+360,r])&&(c=!c);if(c)break}if(c&&o)return t.x0=t.x1=t.xa.c2p(o.ct),t.y0=t.y1=t.ya.c2p(o.ct),t.index=o.index,t.location=o.loc,t.z=o.z,function(t,e,r,o){var s=r.hi||e.hoverinfo,l="all"===s?i.hoverinfo.flags:s.split("+"),c=-1!==l.indexOf("name"),u=-1!==l.indexOf("location"),f=-1!==l.indexOf("z"),h=-1!==l.indexOf("text"),p=[];!c&&u?t.nameOverride=r.loc:(c&&(t.nameOverride=e.name),u&&p.push(r.loc));f&&p.push((d=r.z,n.tickText(o,o.c2l(d),"hover").text));var d;h&&a(r,e,p);t.extraText=p.join("<br>")}(t,f,o,h.mockAxis),[t]}},{"../../plots/cartesian/axes":742,"../scatter/fill_hover_text":1040,"./attributes":899}],904:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../heatmap/colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("./style").style,n.styleOnSelect=t("./style").styleOnSelect,n.hoverPoints=t("./hover"),n.eventData=t("./event_data"),n.selectPoints=t("./select"),n.moduleType="trace",n.name="choropleth",n.basePlotModule=t("../../plots/geo"),n.categories=["geo","noOpacity"],n.meta={},e.exports=n},{"../../plots/geo":772,"../heatmap/colorbar":945,"./attributes":899,"./calc":900,"./defaults":901,"./event_data":902,"./hover":903,"./plot":905,"./select":906,"./style":907}],905:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../lib/polygon"),o=t("../../lib/topojson_utils").getTopojsonFeatures,s=t("../../lib/geo_location_utils").locationToFeature,l=t("./style").style;function c(t,e){for(var r=t[0].trace,n=t.length,i=o(r,e),a=0;a<n;a++){var l=t[a],c=s(r.locationmode,l.loc,i);c?(l.geojson=c,l.ct=c.properties.ct,l.index=a,l._polygons=u(c)):l.geojson=null}}function u(t){var e,r,n,i,o=t.geometry,s=o.coordinates,l=t.id,c=[];function u(t){for(var e=0;e<t.length-1;e++)if(t[e][0]>0&&t[e+1][0]<0)return e;return null}switch(e="RUS"===l||"FJI"===l?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),i=0;i<t.length;i++)e[i]=[t[i][0]<0?t[i][0]+360:t[i][0],t[i][1]];c.push(a.tester(e))}:"ATA"===l?function(t){var e=u(t);if(null===e)return c.push(a.tester(t));var r=new Array(t.length+1),n=0;for(i=0;i<t.length;i++)i>e?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var o=a.tester(r);o.pts.pop(),c.push(o)}:function(t){c.push(a.tester(t))},o.type){case"MultiPolygon":for(r=0;r<s.length;r++)for(n=0;n<s[r].length;n++)e(s[r][n]);break;case"Polygon":for(r=0;r<s.length;r++)e(s[r])}return c}e.exports=function(t,e,r){for(var a=0;a<r.length;a++)c(r[a],e.topojson);var o=e.layers.backplot.select(".choroplethlayer");i.makeTraceGroups(o,r,"trace choropleth").each(function(e){var r=(e[0].node3=n.select(this)).selectAll("path.choroplethlocation").data(i.identity);r.enter().append("path").classed("choroplethlocation",!0),r.exit().remove(),l(t,e)})}},{"../../lib":693,"../../lib/geo_location_utils":685,"../../lib/polygon":706,"../../lib/topojson_utils":721,"./style":907,d3:147}],906:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)(i=(n=s[r]).ct)&&(a=l.c2p(i),o=c.c2p(i),e.contains([a,o],null,r,t)?(u.push({pointNumber:r,lon:i[0],lat:i[1]}),n.selected=1):n.selected=0);return u}},{}],907:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/color"),a=t("../../components/drawing"),o=t("../../components/colorscale");function s(t,e){var r=e[0].trace,s=e[0].node3.selectAll(".choroplethlocation"),l=r.marker||{},c=l.line||{},u=o.makeColorScaleFunc(o.extractScale(r.colorscale,r.zmin,r.zmax));s.each(function(t){n.select(this).attr("fill",u(t.z)).call(i.stroke,t.mlc||c.color).call(a.dashLine,"",t.mlw||c.width||0).style("opacity",l.opacity)}),a.selectedPointStyle(s,r,t)}e.exports={style:function(t,e){e&&s(t,e)},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?a.selectedPointStyle(r.selectAll(".choroplethlocation"),n,t):s(t,e)}}},{"../../components/color":567,"../../components/colorscale":582,"../../components/drawing":592,d3:147}],908:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../components/colorbar/attributes"),a=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",editType:"calc",min:0},anchor:{valType:"enumerated",editType:"calc",values:["tip","tail","cm","center"],dflt:"cm"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"}};s(l,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}),{colorbar:i});["opacity","lightposition","lighting"].forEach(function(t){l[t]=a[t]}),l.hoverinfo=s({},o.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),e.exports=l},{"../../components/colorbar/attributes":568,"../../components/colorscale/attributes":574,"../../lib/extend":682,"../../plots/attributes":739,"../mesh3d/attributes":982}],909:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,c=0;c<o;c++){var u=r[c],f=i[c],h=a[c],p=Math.sqrt(u*u+f*f+h*h);s=Math.max(s,p),l=Math.min(l,p)}e._len=o,e._normMax=s,n(e,[l,s],"","c")}},{"../../components/colorscale/calc":575}],910:[function(t,e,r){"use strict";var n=t("gl-cone3d"),i=t("gl-cone3d").createConeMesh,a=t("../../lib").simpleMap,o=t("../../lib/gl_format_color").parseColorScale,s=t("../../plots/gl3d/zip3");function l(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var c=l.prototype;c.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index,r=this.data.x[e],n=this.data.y[e],i=this.data.z[e],a=this.data.u[e],o=this.data.v[e],s=this.data.w[e];t.traceCoordinate=[r,n,i,a,o,s,Math.sqrt(a*a+o*o+s*s)];var l=this.data.text;return Array.isArray(l)&&void 0!==l[e]?t.textLabel=l[e]:l&&(t.textLabel=l),!0}};var u={xaxis:0,yaxis:1,zaxis:2},f={tip:1,tail:0,cm:.25,center:.5},h={tip:1,tail:1,cm:.75,center:.5};function p(t,e){var r=t.fullSceneLayout,i=t.dataScale,l={};function c(t,e){var n=r[e],o=i[u[e]];return a(t,function(t){return n.d2l(t)*o})}l.vectors=s(c(e.u,"xaxis"),c(e.v,"yaxis"),c(e.w,"zaxis"),e._len),l.positions=s(c(e.x,"xaxis"),c(e.y,"yaxis"),c(e.z,"zaxis"),e._len),l.colormap=o(e.colorscale),l.vertexIntensityBounds=[e.cmin/e._normMax,e.cmax/e._normMax],l.coneOffset=f[e.anchor],"scaled"===e.sizemode?l.coneSize=e.sizeref||.5:l.coneSize=e.sizeref&&e._normMax?e.sizeref/e._normMax:.5;var p=n(l),d=e.lightposition;return p.lightPosition=[d.x,d.y,d.z],p.ambient=e.lighting.ambient,p.diffuse=e.lighting.diffuse,p.specular=e.lighting.specular,p.roughness=e.lighting.roughness,p.fresnel=e.lighting.fresnel,p.opacity=e.opacity,e._pad=h[e.anchor]*p.vectorScale*p.coneScale*e._normMax,p}c.update=function(t){this.data=t;var e=p(this.scene,t);this.mesh.update(e)},c.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,n=p(t,e),a=i(r,n),o=new l(t,e.uid);return o.mesh=a,o.data=e,a._trace=o,t.glplot.add(a),o}},{"../../lib":693,"../../lib/gl_format_color":689,"../../plots/gl3d/zip3":795,"gl-cone3d":230}],911:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/defaults"),a=t("./attributes");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("u"),c=s("v"),u=s("w"),f=s("x"),h=s("y"),p=s("z");l&&l.length&&c&&c.length&&u&&u.length&&f&&f.length&&h&&h.length&&p&&p.length?(s("sizeref"),s("sizemode"),s("anchor"),s("lighting.ambient"),s("lighting.diffuse"),s("lighting.specular"),s("lighting.roughness"),s("lighting.fresnel"),s("lightposition.x"),s("lightposition.y"),s("lightposition.z"),i(t,e,o,s,{prefix:"",cLetter:"c"}),s("text"),e._length=null):e.visible=!1}},{"../../components/colorscale/defaults":577,"../../lib":693,"./attributes":908}],912:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"cone",basePlotModule:t("../../plots/gl3d"),categories:["gl3d"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:{min:"cmin",max:"cmax"},calc:t("./calc"),plot:t("./convert"),meta:{}}},{"../../plots/gl3d":784,"./attributes":908,"./calc":909,"./convert":910,"./defaults":911}],913:[function(t,e,r){"use strict";var n=t("../heatmap/attributes"),i=t("../scatter/attributes"),a=t("../../components/colorscale/attributes"),o=t("../../components/colorbar/attributes"),s=t("../../components/drawing/attributes").dash,l=t("../../plots/font_attributes"),c=t("../../lib/extend").extendFlat,u=t("../../constants/filter_ops"),f=u.COMPARISON_OPS2,h=u.INTERVAL_OPS,p=i.line;e.exports=c({z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,zhoverformat:n.zhoverformat,connectgaps:n.connectgaps,fillcolor:{valType:"color",editType:"calc"},autocontour:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"contours.start":void 0,"contours.end":void 0,"contours.size":void 0}},ncontours:{valType:"integer",dflt:15,min:1,editType:"calc"},contours:{type:{valType:"enumerated",values:["levels","constraint"],dflt:"levels",editType:"calc"},start:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1}},end:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1}},size:{valType:"number",dflt:null,min:0,editType:"plot",impliedEdits:{"^autocontour":!1}},coloring:{valType:"enumerated",values:["fill","heatmap","lines","none"],dflt:"fill",editType:"calc"},showlines:{valType:"boolean",dflt:!0,editType:"plot"},showlabels:{valType:"boolean",dflt:!1,editType:"plot"},labelfont:l({editType:"plot",colorEditType:"style"}),labelformat:{valType:"string",dflt:"",editType:"plot"},operation:{valType:"enumerated",values:[].concat(f).concat(h),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},editType:"calc",impliedEdits:{autocontour:!1}},line:{color:c({},p.color,{editType:"style+colorbars"}),width:c({},p.width,{editType:"style+colorbars"}),dash:s,smoothing:c({},p.smoothing,{}),editType:"plot"}},a("",{cLetter:"z",autoColorDflt:!1,editTypeOverride:"calc"}),{colorbar:o})},{"../../components/colorbar/attributes":568,"../../components/colorscale/attributes":574,"../../components/drawing/attributes":591,"../../constants/filter_ops":666,"../../lib/extend":682,"../../plots/font_attributes":768,"../heatmap/attributes":942,"../scatter/attributes":1032}],914:[function(t,e,r){"use strict";var n=t("../heatmap/calc"),i=t("./set_contours");e.exports=function(t,e){var r=n(t,e);return i(e),r}},{"../heatmap/calc":943,"./set_contours":932}],915:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i,a,o,s=t[0],l=s.x.length,c=s.y.length,u=s.z,f=n.contours,h=-1/0,p=1/0;for(i=0;i<c;i++)p=Math.min(p,u[i][0]),p=Math.min(p,u[i][l-1]),h=Math.max(h,u[i][0]),h=Math.max(h,u[i][l-1]);for(i=1;i<l-1;i++)p=Math.min(p,u[0][i]),p=Math.min(p,u[c-1][i]),h=Math.max(h,u[0][i]),h=Math.max(h,u[c-1][i]);switch(s.prefixBoundary=!1,e){case">":f.value>h&&(s.prefixBoundary=!0);break;case"<":f.value<p&&(s.prefixBoundary=!0);break;case"[]":a=Math.min.apply(null,f.value),((o=Math.max.apply(null,f.value))<p||a>h)&&(s.prefixBoundary=!0);break;case"][":a=Math.min.apply(null,f.value),o=Math.max.apply(null,f.value),a<p&&o>h&&(s.prefixBoundary=!0)}}},{}],916:[function(t,e,r){"use strict";var n=t("../../components/colorbar/draw"),i=t("./make_color_map"),a=t("./end_plus");e.exports=function(t,e){var r=e[0].trace,o="cb"+r.uid;if(t._fullLayout._infolayer.selectAll("."+o).remove(),r.showscale){var s=e[0].t.cb=n(t,o),l=r.contours,c=r.line,u=l.size||1,f=l.coloring,h=i(r,{isColorbar:!0});s.fillgradient("heatmap"===f?r.colorscale:"").zrange("heatmap"===f?[r.zmin,r.zmax]:"").fillcolor("fill"===f?h:"").line({color:"lines"===f?h:c.color,width:!1!==l.showlines?c.width:0,dash:c.dash}).levels({start:l.start,end:a(l),size:u}).options(r.colorbar)()}}},{"../../components/colorbar/draw":572,"./end_plus":924,"./make_color_map":929}],917:[function(t,e,r){"use strict";e.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},{}],918:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("./label_defaults"),a=t("../../components/color"),o=a.addOpacity,s=a.opacity,l=t("../../constants/filter_ops"),c=l.CONSTRAINT_REDUCTION,u=l.COMPARISON_OPS2;e.exports=function(t,e,r,a,l,f){var h,p,d,g=e.contours,m=r("contours.operation");(g._operation=c[m],function(t,e){var r;-1===u.indexOf(e.operation)?(t("contours.value",[0,1]),Array.isArray(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t("contours.value",0),n(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),"="===m?h=g.showlines=!0:(h=r("contours.showlines"),d=r("fillcolor",o((t.line||{}).color||l,.5))),h)&&(p=r("line.color",d&&s(d)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash"));r("line.smoothing"),i(r,a,p,f)}},{"../../components/color":567,"../../constants/filter_ops":666,"./label_defaults":928,"fast-isnumeric":213}],919:[function(t,e,r){"use strict";var n=t("../../constants/filter_ops"),i=t("fast-isnumeric");function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}e.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},{"../../constants/filter_ops":666,"fast-isnumeric":213}],920:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i=n("contours.start"),a=n("contours.end"),o=!1===i||!1===a,s=r("contours.size");!(o?e.autocontour=!0:r("autocontour",!1))&&s||r("ncontours")}},{}],921:[function(t,e,r){"use strict";var n=t("../../lib");function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths)})}e.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case"=":case"<":return t;case">":for(1!==t.length&&n.warn("Contour data invalid for the specified inequality operation."),a=t[0],r=0;r<a.edgepaths.length;r++)a.edgepaths[r]=s(a.edgepaths[r]);for(r=0;r<a.paths.length;r++)a.paths[r]=s(a.paths[r]);return t;case"][":var c=s;s=l,l=c;case"[]":for(2!==t.length&&n.warn("Contour data invalid for the specified inequality range operation."),a=i(t[0]),o=i(t[1]),r=0;r<a.edgepaths.length;r++)a.edgepaths[r]=s(a.edgepaths[r]);for(r=0;r<a.paths.length;r++)a.paths[r]=s(a.paths[r]);for(;o.edgepaths.length;)a.edgepaths.push(l(o.edgepaths.shift()));for(;o.paths.length;)a.paths.push(l(o.paths.shift()));return[a]}}},{"../../lib":693}],922:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../heatmap/xyz_defaults"),a=t("./constraint_defaults"),o=t("./contours_defaults"),s=t("./style_defaults"),l=t("./attributes");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}if(i(t,e,u,c)){u("text");var f="constraint"===u("contours.type");u("connectgaps",n.isArray1D(e.z)),f?a(t,e,u,c,r):(o(t,e,u,function(r){return n.coerce2(t,e,l,r)}),s(t,e,u,c))}else e.visible=!1}},{"../../lib":693,"../heatmap/xyz_defaults":957,"./attributes":913,"./constraint_defaults":918,"./contours_defaults":920,"./style_defaults":934}],923:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./constraint_mapping"),a=t("./end_plus");e.exports=function(t,e,r){for(var o="constraint"===t.type?i[t._operation](t.value):t,s=o.size,l=[],c=a(o),u=r.trace._carpetTrace,f=u?{xaxis:u.aaxis,yaxis:u.baxis,x:r.a,y:r.b}:{xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y},h=o.start;h<c;h+=s)if(l.push(n.extendFlat({level:h,crossings:{},starts:[],edgepaths:[],paths:[],z:r.z,smoothing:r.trace.line.smoothing},f)),l.length>1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},{"../../lib":693,"./constraint_mapping":919,"./end_plus":924}],924:[function(t,e,r){"use strict";e.exports=function(t){return t.end+t.size/1e6}},{}],925:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./constants");function a(t,e,r,n){return Math.abs(t[0]-e[0])<r&&Math.abs(t[1]-e[1])<n}function o(t,e,r,o,l){var c,u=e.join(","),f=u,h=t.crossings[f],p=function(t,e,r){var n=0,a=0;t>20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1;return[n,a]}(h,r,e),d=[s(t,e,[-p[0],-p[1]])],g=p.join(","),m=t.z.length,v=t.z[0].length;for(c=0;c<1e4;c++){if(h>20?(h=i.CHOOSESADDLE[h][(p[0]||p[1])<0?0:1],t.crossings[f]=i.SADDLEREMAINDER[h]):delete t.crossings[f],!(p=i.NEWDELTA[h])){n.log("Found bad marching index:",h,e,t.level);break}d.push(s(t,e,p)),e[0]+=p[0],e[1]+=p[1],a(d[d.length-1],d[d.length-2],o,l)&&d.pop(),f=e.join(",");var y=p[0]&&(e[0]<0||e[0]>v-2)||p[1]&&(e[1]<0||e[1]>m-2);if(f===u&&p.join(",")===g||r&&y)break;h=t.crossings[f]}1e4===c&&n.log("Infinite loop in contour?");var x,b,_,w,k,M,A,T,S,E,C,L,z,P,O,I=a(d[0],d[d.length-1],o,l),D=0,R=.2*t.smoothing,B=[],F=0;for(c=1;c<d.length;c++)L=d[c],z=d[c-1],void 0,void 0,P=L[2]-z[2],O=L[3]-z[3],D+=A=Math.sqrt(P*P+O*O),B.push(A);var N=D/B.length*R;function j(t){return d[t%d.length]}for(c=d.length-2;c>=F;c--)if((x=B[c])<N){for(_=0,b=c-1;b>=F&&x+B[b]<N;b--)x+=B[b];if(I&&c===d.length-2)for(_=0;_<b&&x+B[_]<N;_++)x+=B[_];k=c-b+_+1,M=Math.floor((c+b+_+2)/2),w=I||c!==d.length-2?I||-1!==b?k%2?j(M):[(j(M)[0]+j(M+1)[0])/2,(j(M)[1]+j(M+1)[1])/2]:d[0]:d[d.length-1],d.splice(b+1,c-b+1,w),c=b+1,_&&(F=_),I&&(c===d.length-2?d[_]=d[d.length-1]:0===c&&(d[d.length-1]=d[0]))}for(d.splice(0,F),c=0;c<d.length;c++)d[c].length=2;if(!(d.length<2))if(I)d.pop(),t.paths.push(d);else{r||n.log("Unclosed interior contour?",t.level,u,d.join("L"));var V=!1;for(T=0;T<t.edgepaths.length;T++)if(E=t.edgepaths[T],!V&&a(E[0],d[d.length-1],o,l)){d.pop(),V=!0;var U=!1;for(S=0;S<t.edgepaths.length;S++)if(a((C=t.edgepaths[S])[C.length-1],d[0],o,l)){U=!0,d.shift(),t.edgepaths.splice(T,1),S===T?t.paths.push(d.concat(C)):(S>T&&S--,t.edgepaths[S]=C.concat(d,E));break}U||(t.edgepaths[T]=d.concat(E))}for(T=0;T<t.edgepaths.length&&!V;T++)a((E=t.edgepaths[T])[E.length-1],d[0],o,l)&&(d.shift(),t.edgepaths[T]=E.concat(d),V=!0);V||t.edgepaths.push(d)}}function s(t,e,r){var n=e[0]+Math.max(r[0],0),i=e[1]+Math.max(r[1],0),a=t.z[i][n],o=t.xaxis,s=t.yaxis;if(r[1]){var l=(t.level-a)/(t.z[i][n+1]-a);return[o.c2p((1-l)*t.x[n]+l*t.x[n+1],!0),s.c2p(t.y[i],!0),n+l,i]}var c=(t.level-a)/(t.z[i+1][n]-a);return[o.c2p(t.x[n],!0),s.c2p((1-c)*t.y[i]+c*t.y[i+1],!0),n,i+c]}e.exports=function(t,e,r){var i,a,s,l;for(e=e||.01,r=r||.01,a=0;a<t.length;a++){for(s=t[a],l=0;l<s.starts.length;l++)o(s,s.starts[l],"edge",e,r);for(i=0;Object.keys(s.crossings).length&&i<1e4;)i++,o(s,Object.keys(s.crossings)[0].split(",").map(Number),void 0,e,r);1e4===i&&n.log("Infinite loop in contour?")}}},{"../../lib":693,"./constants":917}],926:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../heatmap/hover");e.exports=function(t,e,r,a,o){var s=i(t,e,r,a,o,!0);return s&&s.forEach(function(t){var e=t.trace;"constraint"===e.contours.type&&(e.fillcolor&&n.opacity(e.fillcolor)?t.color=n.addOpacity(e.fillcolor,1):e.contours.showlines&&n.opacity(e.line.color)&&(t.color=n.addOpacity(e.line.color,1)))}),s}},{"../../components/color":567,"../heatmap/hover":949}],927:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.calc=t("./calc"),n.plot=t("./plot").plot,n.style=t("./style"),n.colorbar=t("./colorbar"),n.hoverPoints=t("./hover"),n.moduleType="trace",n.name="contour",n.basePlotModule=t("../../plots/cartesian"),n.categories=["cartesian","svg","2dMap","contour","showLegend"],n.meta={},e.exports=n},{"../../plots/cartesian":753,"./attributes":913,"./calc":914,"./colorbar":916,"./defaults":922,"./hover":926,"./plot":931,"./style":933}],928:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r,i){if(i||(i={}),t("contours.showlabels")){var a=e.font;n.coerceFont(t,"contours.labelfont",{family:a.family,size:a.size,color:r}),t("contours.labelformat")}!1!==i.hasHover&&t("zhoverformat")}},{"../../lib":693}],929:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/colorscale"),a=t("./end_plus");e.exports=function(t){var e=t.contours,r=e.start,o=a(e),s=e.size||1,l=Math.floor((o-r)/s)+1,c="lines"===e.coloring?0:1;isFinite(s)||(s=1,l=1);var u,f,h=t.colorscale,p=h.length,d=new Array(p),g=new Array(p);if("heatmap"===e.coloring){for(t.zauto&&!1===t.autocontour&&(t.zmin=r-s/2,t.zmax=t.zmin+l*s),f=0;f<p;f++)u=h[f],d[f]=u[0]*(t.zmax-t.zmin)+t.zmin,g[f]=u[1];var m=n.extent([t.zmin,t.zmax,e.start,e.start+s*(l-1)]),v=m[t.zmin<t.zmax?0:1],y=m[t.zmin<t.zmax?1:0];v!==t.zmin&&(d.splice(0,0,v),g.splice(0,0,Range[0])),y!==t.zmax&&(d.push(y),g.push(g[g.length-1]))}else for(f=0;f<p;f++)u=h[f],d[f]=(u[0]*(l+c-1)-c/2)*s+r,g[f]=u[1];return i.makeColorScaleFunc({domain:d,range:g},{noNumericCheck:!0})}},{"../../components/colorscale":582,"./end_plus":924,d3:147}],930:[function(t,e,r){"use strict";var n=t("./constants");function i(t,e){var r=(e[0][0]>t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}e.exports=function(t){var e,r,a,o,s,l,c,u,f,h=t[0].z,p=h.length,d=h[0].length,g=2===p||2===d;for(r=0;r<p-1;r++)for(o=[],0===r&&(o=o.concat(n.BOTTOMSTART)),r===p-2&&(o=o.concat(n.TOPSTART)),e=0;e<d-1;e++)for(a=o.slice(),0===e&&(a=a.concat(n.LEFTSTART)),e===d-2&&(a=a.concat(n.RIGHTSTART)),s=e+","+r,l=[[h[r][e],h[r][e+1]],[h[r+1][e],h[r+1][e+1]]],f=0;f<t.length;f++)(c=i((u=t[f]).level,l))&&(u.crossings[s]=c,-1!==a.indexOf(c)&&(u.starts.push([e,r]),g&&-1!==a.indexOf(c,a.indexOf(c)+1)&&u.starts.push([e,r])))}},{"./constants":917}],931:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../components/drawing"),o=t("../../lib/svg_text_utils"),s=t("../../plots/cartesian/axes"),l=t("../../plots/cartesian/set_convert"),c=t("../heatmap/plot"),u=t("./make_crossings"),f=t("./find_all_paths"),h=t("./empty_pathinfo"),p=t("./convert_to_constraints"),d=t("./close_boundaries"),g=t("./constants"),m=g.LABELOPTIMIZER;function v(t,e){var r,n,o,s,l,c,u,f=function(t,e){var r=t.prefixBoundary;if(void 0===r){var n=Math.min(t.z[0][0],t.z[0][1]);r=!t.edgepaths.length&&n>t.level}return r?"M"+e.join("L")+"Z":""}(t,e),h=0,p=t.edgepaths.map(function(t,e){return e}),d=!0;function g(t){return Math.abs(t[1]-e[2][1])<.01}function m(t){return Math.abs(t[0]-e[0][0])<.01}function v(t){return Math.abs(t[0]-e[2][0])<.01}for(;p.length;){for(c=a.smoothopen(t.edgepaths[h],t.smoothing),f+=d?c:c.replace(/^M/,"L"),p.splice(p.indexOf(h),1),r=t.edgepaths[h][t.edgepaths[h].length-1],s=-1,o=0;o<4;o++){if(!r){i.log("Missing end?",h,t);break}for(u=r,Math.abs(u[1]-e[0][1])<.01&&!v(r)?n=e[1]:m(r)?n=e[0]:g(r)?n=e[3]:v(r)&&(n=e[2]),l=0;l<t.edgepaths.length;l++){var y=t.edgepaths[l][0];Math.abs(r[0]-n[0])<.01?Math.abs(r[0]-y[0])<.01&&(y[1]-r[1])*(n[1]-y[1])>=0&&(n=y,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-y[1])<.01&&(y[0]-r[0])*(n[0]-y[0])>=0&&(n=y,s=l):i.log("endpt to newendpt is not vert. or horz.",r,n,y)}if(r=n,s>=0)break;f+="L"+n}if(s===t.edgepaths.length){i.log("unclosed perimeter path");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+="Z")}for(h=0;h<t.paths.length;h++)f+=a.smoothclosed(t.paths[h],t.smoothing);return f}function y(t,e,r,n){var a=e.width/2,o=e.height/2,s=t.x,l=t.y,c=t.theta,u=Math.cos(c)*a,f=Math.sin(c)*a,h=(s>n.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(c)*o);if(h<1||p<1)return 1/0;var d=m.EDGECOST*(1/(h-1)+1/(p-1));d+=m.ANGLECOST*c*c;for(var g=s-u,v=l-f,y=s+u,x=l+f,b=0;b<r.length;b++){var _=r[b],w=Math.cos(_.theta)*_.width/2,k=Math.sin(_.theta)*_.width/2,M=2*i.segmentDistance(g,v,y,x,_.x-w,_.y-k,_.x+w,_.y+k)/(e.height+_.height),A=_.level===e.level,T=A?m.SAMELEVELDISTANCE:1;if(M<=T)return 1/0;d+=m.NEIGHBORCOST*(A?m.SAMELEVELFACTOR:1)/(M-T)}return d}r.plot=function(t,e,o,s){var l=e.xaxis,m=e.yaxis,y=t._fullLayout;i.makeTraceGroups(s,o,"contour").each(function(o){var s=n.select(this),x=o[0],b=x.trace,_=x.x,w=x.y,k=b.contours,M=h(k,e,x),A=i.ensureSingle(s,"g","heatmapcoloring"),T=[];"heatmap"===k.coloring&&(b.zauto&&!1===b.autocontour&&(b._input.zmin=b.zmin=k.start-k.size/2,b._input.zmax=b.zmax=b.zmin+M.length*k.size),T=[o]),c(t,e,T,A),u(M),f(M);var S=l.c2p(_[0],!0),E=l.c2p(_[_.length-1],!0),C=m.c2p(w[0],!0),L=m.c2p(w[w.length-1],!0),z=[[S,L],[E,L],[E,C],[S,C]],P=M;"constraint"===k.type&&(P=p(M,k._operation),d(P,k._operation,z,b)),function(t,e,r){var n=i.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"===r.coloring?[0]:[]);n.enter().append("path"),n.exit().remove(),n.attr("d","M"+e.join("L")+"Z").style("stroke","none")}(s,z,k),function(t,e,r,a){var o=i.ensureSingle(t,"g","contourfill").selectAll("path").data("fill"===a.coloring||"constraint"===a.type&&"="!==a._operation?e:[]);o.enter().append("path"),o.exit().remove(),o.each(function(t){var e=v(t,r);e?n.select(this).attr("d",e).style("stroke","none"):n.select(this).remove()})}(s,P,z,k),function(t,e,o,s,l,c){var u=i.ensureSingle(t,"g","contourlines"),f=!1!==l.showlines,h=l.showlabels,p=f&&h,d=r.createLines(u,f||h,e),m=r.createLineClip(u,p,o._fullLayout._clips,s.trace.uid),v=t.selectAll("g.contourlabels").data(h?[0]:[]);if(v.exit().remove(),v.enter().append("g").classed("contourlabels",!0),h){var y=[c],x=[];i.clearLocationCache();var b=r.labelFormatter(l,s.t.cb,o._fullLayout),_=a.tester.append("text").attr("data-notex",1).call(a.font,l.labelfont),w=e[0].xaxis._length,k=e[0].yaxis._length,M={left:Math.max(c[0][0],0),right:Math.min(c[2][0],w),top:Math.max(c[0][1],0),bottom:Math.min(c[2][1],k)};M.middle=(M.top+M.bottom)/2,M.center=(M.left+M.right)/2;var A=Math.sqrt(w*w+k*k),T=g.LABELDISTANCE*A/Math.max(1,e.length/g.LABELINCREASE);d.each(function(t){var e=r.calcTextOpts(t.level,b,_,o);n.select(this).selectAll("path").each(function(){var t=i.getVisibleSegment(this,M,e.height/2);if(t&&!(t.len<(e.width+e.height)*g.LABELMIN))for(var n=Math.min(Math.ceil(t.len/T),g.LABELMAX),a=0;a<n;a++){var o=r.findBestTextLocation(this,t,e,x,M);if(!o)break;r.addLabelData(o,e,x,y)}})}),_.remove(),r.drawLabels(v,x,o,m,p?y:null)}h&&!f&&d.remove()}(s,M,t,x,k,z),function(t,e,r,n,o){var s="clip"+n.trace.uid,l=r.selectAll("#"+s).data(n.trace.connectgaps?[]:[0]);if(l.enter().append("clipPath").classed("contourclip",!0).attr("id",s),l.exit().remove(),!1===n.trace.connectgaps){var c={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:function(t){var e,r,n=t.trace._emptypoints,i=[],a=t.z.length,o=t.z[0].length,s=[];for(e=0;e<o;e++)s.push(1);for(e=0;e<a;e++)i.push(s.slice());for(e=0;e<n.length;e++)r=n[e],i[r[0]][r[1]]=0;return t.zmask=i,i}(n),smoothing:0};u([c]),f([c]);var h=v(c,o),p=i.ensureSingle(l,"path","");p.attr("d",h)}else s=null;t.call(a.setClipUrl,s)}(s,e,y._clips,x,z)})},r.createLines=function(t,e,r){var n=r[0].smoothing,i=t.selectAll("g.contourlevel").data(e?r:[]);if(i.exit().remove(),i.enter().append("g").classed("contourlevel",!0),e){var o=i.selectAll("path.openline").data(function(t){return t.pedgepaths||t.edgepaths});o.exit().remove(),o.enter().append("path").classed("openline",!0),o.attr("d",function(t){return a.smoothopen(t,n)}).style("stroke-miterlimit",1).style("vector-effect","non-scaling-stroke");var s=i.selectAll("path.closedline").data(function(t){return t.ppaths||t.paths});s.exit().remove(),s.enter().append("path").classed("closedline",!0),s.attr("d",function(t){return a.smoothclosed(t,n)}).style("stroke-miterlimit",1).style("vector-effect","non-scaling-stroke")}return i},r.createLineClip=function(t,e,r,n){var i=e?"clipline"+n:null,o=r.selectAll("#"+i).data(e?[0]:[]);return o.exit().remove(),o.enter().append("clipPath").classed("contourlineclip",!0).attr("id",i),a.setClipUrl(t,i),o},r.labelFormatter=function(t,e,r){if(t.labelformat)return r._d3locale.numberFormat(t.labelformat);var n;if(e)n=e.axis;else{if(n={type:"linear",_id:"ycontour",showexponent:"all",exponentformat:"B"},"constraint"===t.type){var i=t.value;Array.isArray(i)?n.range=[i[0],i[i.length-1]]:n.range=[i,i]}else n.range=[t.start,t.end],n.nticks=(t.end-t.start)/t.size;n.range[0]===n.range[1]&&(n.range[1]+=n.range[0]||1),n.nticks||(n.nticks=1e3),l(n,r),s.prepTicks(n),n._tmin=null,n._tmax=null}return function(t){return s.tickText(n,t).text}},r.calcTextOpts=function(t,e,r,n){var i=e(t);r.text(i).call(o.convertToTspans,n);var s=a.bBox(r.node(),!0);return{text:i,width:s.width,height:s.height,level:t,dy:(s.top+s.bottom)/2}},r.findBestTextLocation=function(t,e,r,n,a){var o,s,l,c,u,f=r.width;e.isClosed?(s=e.len/m.INITIALSEARCHPOINTS,o=e.min+s/2,l=e.max):(s=(e.len-f)/(m.INITIALSEARCHPOINTS+1),o=e.min+s+f/2,l=e.max-(s+f)/2);for(var h=1/0,p=0;p<m.ITERATIONS;p++){for(var d=o;d<l;d+=s){var g=i.getTextLocation(t,e.total,d,f),v=y(g,r,n,a);v<h&&(h=v,u=g,c=d)}if(h>2*m.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(h<=m.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,c=Math.sin(l),u=Math.cos(l),f=i*u,h=a*c,p=i*c,d=-a*u,g=[[o-f-h,s-p-d],[o+f-h,s+p-d],[o+f+h,s+p+d],[o-f+h,s-p+d]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(g)},r.drawLabels=function(t,e,r,a,s){var l=t.selectAll("text").data(e,function(t){return t.text+","+t.x+","+t.y+","+t.theta});if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each(function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+i+")"}).call(o.convertToTspans,r)}),s){for(var c="",u=0;u<s.length;u++)c+="M"+s[u].join("L")+"Z";i.ensureSingle(a,"path","").attr("d",c)}}},{"../../components/drawing":592,"../../lib":693,"../../lib/svg_text_utils":718,"../../plots/cartesian/axes":742,"../../plots/cartesian/set_convert":760,"../heatmap/plot":954,"./close_boundaries":915,"./constants":917,"./convert_to_constraints":921,"./empty_pathinfo":923,"./find_all_paths":925,"./make_crossings":930,d3:147}],932:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib");function a(t,e,r){var i={type:"linear",range:[t,e]};return n.autoTicks(i,(e-t)/(r||15)),i}e.exports=function(t){var e=t.contours;if(t.autocontour){var r=t.zmin,o=t.zmax;void 0!==r&&void 0!==o||(r=i.aggNums(Math.min,null,t._z),o=i.aggNums(Math.max,null,t._z));var s=a(r,o,t.ncontours);e.size=s.dtick,e.start=n.tickFirst(s),s.range.reverse(),e.end=n.tickFirst(s),e.start===r&&(e.start+=e.size),e.end===o&&(e.end-=e.size),e.start>e.end&&(e.start=e.end=(e.start+e.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:e.start,end:e.end,size:e.size}),t._input.autocontour=!0}else if("constraint"!==e.type){var l,c=e.start,u=e.end,f=t._input.contours;if(c>u&&(e.start=f.start=u,u=e.end=f.end=c,c=e.start),!(e.size>0))l=c===u?1:a(c,u,t.ncontours).dtick,f.size=e.size=l}}},{"../../lib":693,"../../plots/cartesian/axes":742}],933:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../heatmap/style"),o=t("./make_color_map");e.exports=function(t){var e=n.select(t).selectAll("g.contour");e.style("opacity",function(t){return t[0].trace.opacity}),e.each(function(t){var e=n.select(this),r=t[0].trace,a=r.contours,s=r.line,l=a.size||1,c=a.start,u="constraint"===a.type,f=!u&&"lines"===a.coloring,h=!u&&"fill"===a.coloring,p=f||h?o(r):null;e.selectAll("g.contourlevel").each(function(t){n.select(this).selectAll("path").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)});var d=a.labelfont;if(e.selectAll("g.contourlabels text").each(function(t){i.font(n.select(this),{family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})}),u)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(h){var g;e.selectAll("g.contourfill path").style("fill",function(t){return void 0===g&&(g=t.level),p(t.level+.5*l)}),void 0===g&&(g=c),e.selectAll("g.contourbg path").style("fill",p(g-.5*l))}}),a(t)}},{"../../components/drawing":592,"../heatmap/style":955,"./make_color_map":929,d3:147}],934:[function(t,e,r){"use strict";var n=t("../../components/colorscale/defaults"),i=t("./label_defaults");e.exports=function(t,e,r,a,o){var s,l=r("contours.coloring"),c="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(c=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,a,r,{prefix:"",cLetter:"z"})),r("line.smoothing"),i(r,a,c,o)}},{"../../components/colorscale/defaults":577,"./label_defaults":928}],935:[function(t,e,r){"use strict";var n=t("../heatmap/attributes"),i=t("../contour/attributes"),a=i.contours,o=t("../scatter/attributes"),s=t("../../components/colorscale/attributes"),l=t("../../components/colorbar/attributes"),c=t("../../lib/extend").extendFlat,u=o.line;e.exports=c({carpet:{valType:"string",editType:"calc"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:a.type,start:a.start,end:a.end,size:a.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:a.showlines,showlabels:a.showlabels,labelfont:a.labelfont,labelformat:a.labelformat,operation:a.operation,value:a.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:c({},u.color,{}),width:u.width,dash:u.dash,smoothing:c({},u.smoothing,{}),editType:"plot"}},s("",{cLetter:"z",autoColorDflt:!1}),{colorbar:l})},{"../../components/colorbar/attributes":568,"../../components/colorscale/attributes":574,"../../lib/extend":682,"../contour/attributes":913,"../heatmap/attributes":942,"../scatter/attributes":1032}],936:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc"),i=t("../../lib").isArray1D,a=t("../heatmap/convert_column_xyz"),o=t("../heatmap/clean_2d_array"),s=t("../heatmap/max_row_length"),l=t("../heatmap/interp2d"),c=t("../heatmap/find_empties"),u=t("../heatmap/make_bound_array"),f=t("./defaults"),h=t("../carpet/lookup_carpetid"),p=t("../contour/set_contours");e.exports=function(t,e){var r=e._carpetTrace=h(t,e);if(r&&r.visible&&"legendonly"!==r.visible){if(!e.a||!e.b){var d=t.data[r.index],g=t.data[e.index];g.a||(g.a=d.a),g.b||(g.b=d.b),f(g,e,e._defaultColor,t._fullLayout)}var m=function(t,e){var r,f,h,p,d,g,m,v=e._carpetTrace,y=v.aaxis,x=v.baxis;y._minDtick=0,x._minDtick=0,i(e.z)&&a(e,y,x,"a","b",["z"]);r=e._a=e._a||e.a,p=e._b=e._b||e.b,r=r?y.makeCalcdata(e,"_a"):[],p=p?x.makeCalcdata(e,"_b"):[],f=e.a0||0,h=e.da||1,d=e.b0||0,g=e.db||1,m=e._z=o(e._z||e.z,e.transpose),e._emptypoints=c(m),l(m,e._emptypoints);var b=s(m),_="scaled"===e.xtype?"":r,w=u(e,_,f,h,b,y),k="scaled"===e.ytype?"":p,M=u(e,k,d,g,m.length,x),A={a:w,b:M,z:m};"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(e,m,"","z");return[A]}(0,e);return p(e),m}}},{"../../components/colorscale/calc":575,"../../lib":693,"../carpet/lookup_carpetid":891,"../contour/set_contours":932,"../heatmap/clean_2d_array":944,"../heatmap/convert_column_xyz":946,"../heatmap/find_empties":948,"../heatmap/interp2d":951,"../heatmap/make_bound_array":952,"../heatmap/max_row_length":953,"./defaults":937}],937:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../heatmap/xyz_defaults"),a=t("./attributes"),o=t("../contour/constraint_defaults"),s=t("../contour/contours_defaults"),l=t("../contour/style_defaults");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,a,r,i)}if(u("carpet"),t.a&&t.b){if(!i(t,e,u,c,"a","b"))return void(e.visible=!1);u("text"),"constraint"===u("contours.type")?o(t,e,u,c,r,{hasHover:!1}):(s(t,e,u,function(r){return n.coerce2(t,e,a,r)}),l(t,e,u,c,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},{"../../lib":693,"../contour/constraint_defaults":918,"../contour/contours_defaults":920,"../contour/style_defaults":934,"../heatmap/xyz_defaults":957,"./attributes":935}],938:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../contour/colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("../contour/style"),n.moduleType="trace",n.name="contourcarpet",n.basePlotModule=t("../../plots/cartesian"),n.categories=["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent"],n.meta={},e.exports=n},{"../../plots/cartesian":753,"../contour/colorbar":916,"../contour/style":933,"./attributes":935,"./calc":936,"./defaults":937,"./plot":941}],939:[function(t,e,r){"use strict";var n=t("../../components/drawing"),i=t("../carpet/axis_aligned_line"),a=t("../../lib");e.exports=function(t,e,r,o,s,l,c,u){var f,h,p,d,g,m,v,y="",x=e.edgepaths.map(function(t,e){return e}),b=!0,_=1e-4*Math.abs(r[0][0]-r[2][0]),w=1e-4*Math.abs(r[0][1]-r[2][1]);function k(t){return Math.abs(t[1]-r[0][1])<w}function M(t){return Math.abs(t[1]-r[2][1])<w}function A(t){return Math.abs(t[0]-r[0][0])<_}function T(t){return Math.abs(t[0]-r[2][0])<_}function S(t,e){var r,n,a,o,f="";for(k(t)&&!T(t)||M(t)&&!A(t)?(o=s.aaxis,a=i(s,l,[t[0],e[0]],.5*(t[1]+e[1]))):(o=s.baxis,a=i(s,l,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r<a.length;r++)for(f+=o.smoothing?"C":"L",n=0;n<a[r].length;n++){var h=a[r][n];f+=[c.c2p(h[0]),u.c2p(h[1])]+" "}return f}for(f=0,h=null;x.length;){var E=e.edgepaths[f][0];for(h&&(y+=S(h,E)),v=n.smoothopen(e.edgepaths[f].map(o),e.smoothing),y+=b?v:v.replace(/^M/,"L"),x.splice(x.indexOf(f),1),h=e.edgepaths[f][e.edgepaths[f].length-1],g=-1,d=0;d<4;d++){if(!h){a.log("Missing end?",f,e);break}for(k(h)&&!T(h)?p=r[1]:A(h)?p=r[0]:M(h)?p=r[3]:T(h)&&(p=r[2]),m=0;m<e.edgepaths.length;m++){var C=e.edgepaths[m][0];Math.abs(h[0]-p[0])<_?Math.abs(h[0]-C[0])<_&&(C[1]-h[1])*(p[1]-C[1])>=0&&(p=C,g=m):Math.abs(h[1]-p[1])<w?Math.abs(h[1]-C[1])<w&&(C[0]-h[0])*(p[0]-C[0])>=0&&(p=C,g=m):a.log("endpt to newendpt is not vert. or horz.",h,p,C)}if(g>=0)break;y+=S(h,p),h=p}if(g===e.edgepaths.length){a.log("unclosed perimeter path");break}f=g,(b=-1===x.indexOf(f))&&(f=x[0],y+=S(h,p)+"Z",h=null)}for(f=0;f<e.paths.length;f++)y+=n.smoothclosed(e.paths[f].map(o),e.smoothing);return y}},{"../../components/drawing":592,"../../lib":693,"../carpet/axis_aligned_line":875}],940:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n,i,a,o,s,l,c,u;for(r=0;r<t.length;r++){for(o=(a=t[r]).pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(u=a.edgepaths[n],l=[],i=0;i<u.length;i++)l[i]=e(u[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(u=a.paths[n],c=[],i=0;i<u.length;i++)c[i]=e(u[i]);s.push(c)}}}},{}],941:[function(t,e,r){"use strict";var n=t("d3"),i=t("../carpet/map_1d_array"),a=t("../carpet/makepath"),o=t("../../components/drawing"),s=t("../../lib"),l=t("../contour/make_crossings"),c=t("../contour/find_all_paths"),u=t("../contour/plot"),f=t("../contour/constants"),h=t("../contour/convert_to_constraints"),p=t("./join_all_paths"),d=t("../contour/empty_pathinfo"),g=t("./map_pathinfo"),m=t("../carpet/lookup_carpetid"),v=t("../contour/close_boundaries");function y(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function x(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function b(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}e.exports=function(t,e,r,_){var w=e.xaxis,k=e.yaxis;s.makeTraceGroups(_,r,"contour").each(function(r){var _=n.select(this),M=r[0],A=M.trace,T=A._carpetTrace=m(t,A),S=t.calcdata[T.index][0];if(T.visible&&"legendonly"!==T.visible){var E=M.a,C=M.b,L=A.contours,z=d(L,e,M),P="constraint"===L.type,O=L._operation,I=P?"="===O?"lines":"fill":L.coloring,D=[[E[0],C[C.length-1]],[E[E.length-1],C[C.length-1]],[E[E.length-1],C[0]],[E[0],C[0]]];l(z);var R=1e-8*(E[E.length-1]-E[0]),B=1e-8*(C[C.length-1]-C[0]);c(z,R,B);var F,N,j,V,U=z;"constraint"===L.type&&(U=h(z,O),v(U,O,D,A)),g(z,G);var q=[];for(V=S.clipsegments.length-1;V>=0;V--)F=S.clipsegments[V],N=i([],F.x,w.c2p),j=i([],F.y,k.c2p),N.reverse(),j.reverse(),q.push(a(N,j,F.bicubic));var H="M"+q.join("L")+"Z";!function(t,e,r,n,o,l){var c,u,f,h,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(h=0;h<e.length;h++)c=e[h],u=i([],c.x,r.c2p),f=i([],c.y,n.c2p),d.push(a(u,f,c.bicubic));p.attr("d","M"+d.join("L")+"Z").style("stroke","none")}(_,S.clipsegments,w,k,P,I),function(t,e,r,i,a,o,l,c,u,f,h){var d=s.ensureSingle(e,"g","contourfill").selectAll("path").data("fill"===f?a:[]);d.enter().append("path"),d.exit().remove(),d.each(function(e){var a=p(t,e,o,l,c,u,r,i);e.prefixBoundary&&(a=h+a),a?n.select(this).attr("d",a).style("stroke","none"):n.select(this).remove()})}(A,_,w,k,U,D,G,T,S,I,H),function(t,e,r,i,a,l,c){var h=s.ensureSingle(t,"g","contourlines"),p=!1!==a.showlines,d=a.showlabels,g=p&&d,m=u.createLines(h,p||d,e),v=u.createLineClip(h,g,r._fullLayout._defs,i.trace.uid),_=t.selectAll("g.contourlabels").data(d?[0]:[]);if(_.exit().remove(),_.enter().append("g").classed("contourlabels",!0),d){var w=l.xaxis,k=l.yaxis,M=w._length,A=k._length,T=[[[0,0],[M,0],[M,A],[0,A]]],S=[];s.clearLocationCache();var E=u.labelFormatter(a,i.t.cb,r._fullLayout),C=o.tester.append("text").attr("data-notex",1).call(o.font,a.labelfont),L={left:0,right:M,center:M/2,top:0,bottom:A,middle:A/2},z=Math.sqrt(M*M+A*A),P=f.LABELDISTANCE*z/Math.max(1,e.length/f.LABELINCREASE);m.each(function(t){var e=u.calcTextOpts(t.level,E,C,r);n.select(this).selectAll("path").each(function(r){var n=s.getVisibleSegment(this,L,e.height/2);if(n&&(function(t,e,r,n,i,a){for(var o,s=0;s<r.pedgepaths.length;s++)e===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=i.a[0],c=i.a[i.a.length-1],u=i.b[0],f=i.b[i.b.length-1];function h(t,e){var r,n=0;return(Math.abs(t[0]-l)<.1||Math.abs(t[0]-c)<.1)&&(r=x(i.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,a*b(e,r)/2)),(Math.abs(t[1]-u)<.1||Math.abs(t[1]-f)<.1)&&(r=x(i.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,a*b(e,r)/2)),n}var p=y(t,0,1),d=y(t,n.total,n.total-1),g=h(o[0],p),m=n.total-h(o[o.length-1],d);n.min<g&&(n.min=g);n.max>m&&(n.max=m);n.len=n.max-n.min}(this,r,t,n,c,e.height),!(n.len<(e.width+e.height)*f.LABELMIN)))for(var i=Math.min(Math.ceil(n.len/P),f.LABELMAX),a=0;a<i;a++){var o=u.findBestTextLocation(this,n,e,S,L);if(!o)break;u.addLabelData(o,e,S,T)}})}),C.remove(),u.drawLabels(_,S,r,v,g?T:null)}d&&!p&&m.remove()}(_,z,t,M,L,e,T),o.setClipUrl(_,T._clipPathId)}function G(t){var e=T.ab2xy(t[0],t[1],!0);return[w.c2p(e[0]),k.c2p(e[1])]}})}},{"../../components/drawing":592,"../../lib":693,"../carpet/lookup_carpetid":891,"../carpet/makepath":892,"../carpet/map_1d_array":893,"../contour/close_boundaries":915,"../contour/constants":917,"../contour/convert_to_constraints":921,"../contour/empty_pathinfo":923,"../contour/find_all_paths":925,"../contour/make_crossings":930,"../contour/plot":931,"./join_all_paths":939,"./map_pathinfo":940,d3:147}],942:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../components/colorscale/attributes"),a=t("../../components/colorbar/attributes"),o=t("../../lib/extend").extendFlat;e.exports=o({z:{valType:"data_array",editType:"calc"},x:o({},n.x,{impliedEdits:{xtype:"array"}}),x0:o({},n.x0,{impliedEdits:{xtype:"scaled"}}),dx:o({},n.dx,{impliedEdits:{xtype:"scaled"}}),y:o({},n.y,{impliedEdits:{ytype:"array"}}),y0:o({},n.y0,{impliedEdits:{ytype:"scaled"}}),dy:o({},n.dy,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:!1,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc"},connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},zhoverformat:{valType:"string",dflt:"",editType:"none"}},i("",{cLetter:"z",autoColorDflt:!1}),{colorbar:a})},{"../../components/colorbar/attributes":568,"../../components/colorscale/attributes":574,"../../lib/extend":682,"../scatter/attributes":1032}],943:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../plots/cartesian/axes"),o=t("../histogram2d/calc"),s=t("../../components/colorscale/calc"),l=t("./convert_column_xyz"),c=t("./max_row_length"),u=t("./clean_2d_array"),f=t("./interp2d"),h=t("./find_empties"),p=t("./make_bound_array");e.exports=function(t,e){var r,d,g,m,v,y,x,b,_,w=a.getFromId(t,e.xaxis||"x"),k=a.getFromId(t,e.yaxis||"y"),M=n.traceIs(e,"contour"),A=n.traceIs(e,"histogram"),T=n.traceIs(e,"gl2d"),S=M?"best":e.zsmooth;if(w._minDtick=0,k._minDtick=0,A)r=(_=o(t,e)).x,d=_.x0,g=_.dx,m=_.y,v=_.y0,y=_.dy,x=_.z;else{var E=e.z;i.isArray1D(E)?(l(e,w,k,"x","y",["z"]),r=e._x,m=e._y,E=e._z):(r=e.x?w.makeCalcdata(e,"x"):[],m=e.y?k.makeCalcdata(e,"y"):[]),d=e.x0||0,g=e.dx||1,v=e.y0||0,y=e.dy||1,x=u(E,e.transpose),(M||e.connectgaps)&&(e._emptypoints=h(x),f(x,e._emptypoints))}function C(t){S=e._input.zsmooth=e.zsmooth=!1,i.warn('cannot use zsmooth: "fast": '+t)}if("fast"===S)if("log"===w.type||"log"===k.type)C("log axis found");else if(!A){if(r.length){var L=(r[r.length-1]-r[0])/(r.length-1),z=Math.abs(L/100);for(b=0;b<r.length-1;b++)if(Math.abs(r[b+1]-r[b]-L)>z){C("x scale is not linear");break}}if(m.length&&"fast"===S){var P=(m[m.length-1]-m[0])/(m.length-1),O=Math.abs(P/100);for(b=0;b<m.length-1;b++)if(Math.abs(m[b+1]-m[b]-P)>O){C("y scale is not linear");break}}}var I=c(x),D="scaled"===e.xtype?"":r,R=p(e,D,d,g,I,w),B="scaled"===e.ytype?"":m,F=p(e,B,v,y,x.length,k);T||(e._extremes[w._id]=a.findExtremes(w,R),e._extremes[k._id]=a.findExtremes(k,F));var N={x:R,y:F,z:x,text:e._text||e.text};if(D&&D.length===R.length-1&&(N.xCenter=D),B&&B.length===F.length-1&&(N.yCenter=B),A&&(N.xRanges=_.xRanges,N.yRanges=_.yRanges,N.pts=_.pts),M&&"constraint"===e.contours.type||s(e,x,"","z"),M&&e.contours&&"heatmap"===e.contours.coloring){var j={type:"contour"===e.type?"heatmap":"histogram2d",xcalendar:e.xcalendar,ycalendar:e.ycalendar};N.xfill=p(j,D,d,g,I,w),N.yfill=p(j,B,v,y,x.length,k)}return[N]}},{"../../components/colorscale/calc":575,"../../lib":693,"../../plots/cartesian/axes":742,"../../registry":825,"../histogram2d/calc":974,"./clean_2d_array":944,"./convert_column_xyz":946,"./find_empties":948,"./interp2d":951,"./make_bound_array":952,"./max_row_length":953}],944:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t,e){var r,i,a,o,s,l;function c(t){if(n(t))return+t}if(e){for(r=0,s=0;s<t.length;s++)r=Math.max(r,t[s].length);if(0===r)return!1;a=function(t){return t.length},o=function(t,e,r){return t[r][e]}}else r=t.length,a=function(t,e){return t[e].length},o=function(t,e,r){return t[e][r]};var u=new Array(r);for(s=0;s<r;s++)for(i=a(t,s),u[s]=new Array(i),l=0;l<i;l++)u[s][l]=c(o(t,s,l));return u}},{"fast-isnumeric":213}],945:[function(t,e,r){"use strict";e.exports={min:"zmin",max:"zmax"}},{}],946:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r,a,o,s){var l,c,u,f=t._length,h=t[a].slice(0,f),p=t[o].slice(0,f),d=t.text,g=void 0!==d&&n.isArray1D(d),m=t[a+"calendar"],v=t[o+"calendar"];for(l=0;l<f;l++)h[l]=e.d2c(h[l],0,m),p[l]=r.d2c(p[l],0,v);var y,x,b,_=n.distinctVals(h),w=_.vals,k=n.distinctVals(p),M=k.vals,A=[];for(l=0;l<s.length;l++)A[l]=n.init2dArray(M.length,w.length);for(g&&(b=n.init2dArray(M.length,w.length)),l=0;l<f;l++)if(h[l]!==i&&p[l]!==i){for(y=n.findBin(h[l]+_.minDiff/2,w),x=n.findBin(p[l]+k.minDiff/2,M),c=0;c<s.length;c++)u=t[s[c]],A[c][x][y]=u[l];g&&(b[x][y]=d[l])}for(t["_"+a]=w,t["_"+o]=M,c=0;c<s.length;c++)t["_"+s[c]]=A[c];g&&(t._text=b)}},{"../../constants/numerical":670,"../../lib":693}],947:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./xyz_defaults"),a=t("./style_defaults"),o=t("../../components/colorscale/defaults"),s=t("./attributes");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l)?(c("text"),a(t,e,c,l),c("connectgaps",n.isArray1D(e.z)&&!1!==e.zsmooth),o(t,e,l,c,{prefix:"",cLetter:"z"})):e.visible=!1}},{"../../components/colorscale/defaults":577,"../../lib":693,"./attributes":942,"./style_defaults":956,"./xyz_defaults":957}],948:[function(t,e,r){"use strict";var n=t("./max_row_length");e.exports=function(t){var e,r,i,a,o,s,l,c,u=[],f={},h=[],p=t[0],d=[],g=[0,0,0],m=n(t);for(r=0;r<t.length;r++)for(e=d,d=p,p=t[r+1]||[],i=0;i<m;i++)void 0===d[i]&&((s=(void 0!==d[i-1]?1:0)+(void 0!==d[i+1]?1:0)+(void 0!==e[i]?1:0)+(void 0!==p[i]?1:0))?(0===r&&s++,0===i&&s++,r===t.length-1&&s++,i===d.length-1&&s++,s<4&&(f[[r,i]]=[r,i,s]),u.push([r,i,s])):h.push([r,i]));for(;h.length;){for(l={},c=!1,o=h.length-1;o>=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||g)[2]+(f[[r+1,i]]||g)[2]+(f[[r,i-1]]||g)[2]+(f[[r,i+1]]||g)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),c=!0);if(!c)throw"findEmpties iterated with no new neighbors";for(a in l)f[a]=l[a],u.push(l[a])}return u.sort(function(t,e){return e[2]-t[2]})}},{"./max_row_length":953}],949:[function(t,e,r){"use strict";var n=t("../../components/fx"),i=t("../../lib"),a=t("../../plots/cartesian/axes");e.exports=function(t,e,r,o,s,l){var c,u,f,h,p=t.cd[0],d=p.trace,g=t.xa,m=t.ya,v=p.x,y=p.y,x=p.z,b=p.xCenter,_=p.yCenter,w=p.zmask,k=[d.zmin,d.zmax],M=d.zhoverformat,A=v,T=y;if(!1!==t.index){try{f=Math.round(t.index[1]),h=Math.round(t.index[0])}catch(e){return void i.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(f<0||f>=x[0].length||h<0||h>x.length)return}else{if(n.inbox(e-v[0],e-v[v.length-1],0)>0||n.inbox(r-y[0],r-y[y.length-1],0)>0)return;if(l){var S;for(A=[2*v[0]-v[1]],S=1;S<v.length;S++)A.push((v[S]+v[S-1])/2);for(A.push([2*v[v.length-1]-v[v.length-2]]),T=[2*y[0]-y[1]],S=1;S<y.length;S++)T.push((y[S]+y[S-1])/2);T.push([2*y[y.length-1]-y[y.length-2]])}f=Math.max(0,Math.min(A.length-2,i.findBin(e,A))),h=Math.max(0,Math.min(T.length-2,i.findBin(r,T)))}var E=g.c2p(v[f]),C=g.c2p(v[f+1]),L=m.c2p(y[h]),z=m.c2p(y[h+1]);l?(C=E,c=v[f],z=L,u=y[h]):(c=b?b[f]:(v[f]+v[f+1])/2,u=_?_[h]:(y[h]+y[h+1])/2,d.zsmooth&&(E=C=g.c2p(c),L=z=m.c2p(u)));var P,O,I=x[h][f];w&&!w[h][f]&&(I=void 0),Array.isArray(p.text)&&Array.isArray(p.text[h])&&(P=p.text[h][f]);var D={type:"linear",range:k,hoverformat:M,_separators:g._separators,_numFormat:g._numFormat};return O=a.tickText(D,I,"hover").text,[i.extendFlat(t,{index:[h,f],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:E,x1:C,y0:L,y1:z,xLabelVal:c,yLabelVal:u,zLabelVal:I,zLabel:O,text:P})]}},{"../../components/fx":609,"../../lib":693,"../../plots/cartesian/axes":742}],950:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.calc=t("./calc"),n.plot=t("./plot"),n.colorbar=t("./colorbar"),n.style=t("./style"),n.hoverPoints=t("./hover"),n.moduleType="trace",n.name="heatmap",n.basePlotModule=t("../../plots/cartesian"),n.categories=["cartesian","svg","2dMap"],n.meta={},e.exports=n},{"../../plots/cartesian":753,"./attributes":942,"./calc":943,"./colorbar":945,"./defaults":947,"./hover":949,"./plot":954,"./style":955}],951:[function(t,e,r){"use strict";var n=t("../../lib"),i=[[-1,0],[1,0],[0,-1],[0,1]];function a(t){return.5-.25*Math.min(1,.5*t)}function o(t,e,r){var n,a,o,s,l,c,u,f,h,p,d,g,m,v=0;for(s=0;s<e.length;s++){for(a=(n=e[s])[0],o=n[1],d=t[a][o],p=0,h=0,l=0;l<4;l++)(u=t[a+(c=i[l])[0]])&&void 0!==(f=u[o+c[1]])&&(0===p?g=m=f:(g=Math.min(g,f),m=Math.max(m,f)),h++,p+=f);if(0===h)throw"iterateInterp2d order is wrong: no defined neighbors";t[a][o]=p/h,void 0===d?h<4&&(v=1):(t[a][o]=(1+r)*t[a][o]-r*d,m>g&&(v=Math.max(v,Math.abs(t[a][o]-d)/(m-g))))}return v}e.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r<e.length&&!(e[r][2]<4);r++);for(e=e.slice(r),r=0;r<100&&i>.01;r++)i=o(t,e,a(i));return i>.01&&n.log("interp2d didn't converge quickly",i),t}},{"../../lib":693}],952:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,a,o,s){var l,c,u,f=[],h=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(i(e)&&e.length>1&&!p&&"category"!==s.type){var g=e.length;if(!(g<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=e.slice(0,o);else if(1===o)f=[e[0]-.5,e[0]+.5];else{for(f=[1.5*e[0]-.5*e[1]],u=1;u<g;u++)f.push(.5*(e[u-1]+e[u]));f.push(1.5*e[g-1]-.5*e[g-2])}if(g<o){var m=f[f.length-1],v=m-f[f.length-2];for(u=g;u<o;u++)m+=v,f.push(m)}}else{c=a||1;var y=t[s._id.charAt(0)+"calendar"];for(l=p||"category"===s.type?s.r2c(r,0,y)||0:i(e)&&1===e.length?e[0]:void 0===r?0:s.d2c(r,0,y),u=h||d?0:-.5;u<o;u++)f.push(l+c*u)}return f}},{"../../lib":693,"../../registry":825}],953:[function(t,e,r){"use strict";e.exports=function(t){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,t[r].length);return e}},{}],954:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("../../registry"),o=t("../../lib"),s=t("../../components/colorscale"),l=t("../../constants/xmlns_namespaces"),c=t("./max_row_length");function u(t,e){var r=e.length-2,n=o.constrain(o.findBin(t,e),0,r),i=e[n],a=e[n+1],s=o.constrain(n+(t-i)/(a-i)-.5,0,r),l=Math.round(s),c=Math.abs(s-l);return s&&s!==r&&c?{bin0:l,frac:c,bin1:Math.round(l+c/(s-l))}:{bin0:l,bin1:l,frac:0}}function f(t,e){var r=e.length-1,n=o.constrain(o.findBin(t,e),0,r),i=e[n],a=(t-i)/(e[n+1]-i)||0;return a<=0?{bin0:n,bin1:n,frac:0}:a<.5?{bin0:n,bin1:n+1,frac:a}:{bin0:n+1,bin1:n,frac:1-a}}function h(t,e,r){t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=Math.round(255*r[3])}e.exports=function(t,e,r,p){var d=e.xaxis,g=e.yaxis;o.makeTraceGroups(p,r,"hm").each(function(e){var r,p,m,v,y,x,b=n.select(this),_=e[0],w=_.trace,k=_.z,M=_.x,A=_.y,T=_.xCenter,S=_.yCenter,E=a.traceIs(w,"contour"),C=E?"best":w.zsmooth,L=k.length,z=c(k),P=!1,O=!1;for(x=0;void 0===r&&x<M.length-1;)r=d.c2p(M[x]),x++;for(x=M.length-1;void 0===p&&x>0;)p=d.c2p(M[x]),x--;for(p<r&&(m=p,p=r,r=m,P=!0),x=0;void 0===v&&x<A.length-1;)v=g.c2p(A[x]),x++;for(x=A.length-1;void 0===y&&x>0;)y=g.c2p(A[x]),x--;if(y<v&&(m=v,v=y,y=m,O=!0),E&&(T=M,S=A,M=_.xfill,A=_.yfill),"fast"!==C){var I="best"===C?0:.5;r=Math.max(-I*d._length,r),p=Math.min((1+I)*d._length,p),v=Math.max(-I*g._length,v),y=Math.min((1+I)*g._length,y)}var D=Math.round(p-r),R=Math.round(y-v);if(D<=0||R<=0){b.selectAll("image").data([]).exit().remove()}else{var B,F;"fast"===C?(B=z,F=L):(B=D,F=R);var N=document.createElement("canvas");N.width=B,N.height=F;var j,V,U=N.getContext("2d"),q=s.makeColorScaleFunc(s.extractScale(w.colorscale,w.zmin,w.zmax),{noNumericCheck:!0,returnArray:!0});"fast"===C?(j=P?function(t){return z-1-t}:o.identity,V=O?function(t){return L-1-t}:o.identity):(j=function(t){return o.constrain(Math.round(d.c2p(M[t])-r),0,D)},V=function(t){return o.constrain(Math.round(g.c2p(A[t])-v),0,R)});var H,G,W,Y,X,Z=V(0),$=[Z,Z],J=P?0:1,K=O?0:1,Q=0,tt=0,et=0,rt=0;if(C){var nt,it=0;try{nt=new Uint8Array(D*R*4)}catch(t){nt=new Array(D*R*4)}if("best"===C){var at,ot,st,lt=T||M,ct=S||A,ut=new Array(lt.length),ft=new Array(ct.length),ht=new Array(D),pt=T?f:u,dt=S?f:u;for(x=0;x<lt.length;x++)ut[x]=Math.round(d.c2p(lt[x])-r);for(x=0;x<ct.length;x++)ft[x]=Math.round(g.c2p(ct[x])-v);for(x=0;x<D;x++)ht[x]=pt(x,ut);for(G=0;G<R;G++)for(ot=k[(at=dt(G,ft)).bin0],st=k[at.bin1],x=0;x<D;x++,it+=4)h(nt,it,X=At(ot,st,ht[x],at))}else for(G=0;G<L;G++)for(Y=k[G],$=V(G),x=0;x<D;x++)X=Mt(Y[x],1),h(nt,it=4*($*D+j(x)),X);var gt=U.createImageData(D,R);try{gt.data.set(nt)}catch(t){var mt=gt.data,vt=mt.length;for(G=0;G<vt;G++)mt[G]=nt[G]}U.putImageData(gt,0,0)}else{var yt=w.xgap,xt=w.ygap,bt=Math.floor(yt/2),_t=Math.floor(xt/2);for(G=0;G<L;G++)if(Y=k[G],$.reverse(),$[K]=V(G+1),$[0]!==$[1]&&void 0!==$[0]&&void 0!==$[1])for(H=[W=j(0),W],x=0;x<z;x++)H.reverse(),H[J]=j(x+1),H[0]!==H[1]&&void 0!==H[0]&&void 0!==H[1]&&(X=Mt(Y[x],(H[1]-H[0])*($[1]-$[0])),U.fillStyle="rgba("+X.join(",")+")",U.fillRect(H[0]+bt,$[0]+_t,H[1]-H[0]-yt,$[1]-$[0]-xt))}tt=Math.round(tt/Q),et=Math.round(et/Q),rt=Math.round(rt/Q);var wt=i("rgb("+tt+","+et+","+rt+")");t._hmpixcount=(t._hmpixcount||0)+Q,t._hmlumcount=(t._hmlumcount||0)+Q*wt.getLuminance();var kt=b.selectAll("image").data(e);kt.enter().append("svg:image").attr({xmlns:l.svg,preserveAspectRatio:"none"}),kt.attr({height:R,width:D,x:r,y:v,"xlink:href":N.toDataURL("image/png")})}function Mt(t,e){if(void 0!==t){var r=q(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),Q+=e,tt+=r[0]*e,et+=r[1]*e,rt+=r[2]*e,r}return[0,0,0,0]}function At(t,e,r,n){var i=t[r.bin0];if(void 0===i)return Mt(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],c=o-i||0,u=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,Mt(i+r.frac*c+n.frac*(u+r.frac*a))}})}},{"../../components/colorscale":582,"../../constants/xmlns_namespaces":671,"../../lib":693,"../../registry":825,"./max_row_length":953,d3:147,tinycolor2:511}],955:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t){n.select(t).selectAll(".hm image").style("opacity",function(t){return t.trace.opacity})}},{d3:147}],956:[function(t,e,r){"use strict";e.exports=function(t,e,r){!1===r("zsmooth")&&(r("xgap"),r("ygap")),r("zhoverformat")}},{}],957:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../registry");function o(t,e){var r=e(t);return"scaled"===(r?e(t+"type","array"):"scaled")&&(e(t+"0"),e("d"+t)),r}e.exports=function(t,e,r,s,l,c){var u,f,h=r("z");if(l=l||"x",c=c||"y",void 0===h||!h.length)return 0;if(i.isArray1D(t.z)){if(u=r(l),f=r(c),!(u&&u.length&&f&&f.length))return 0;e._length=Math.min(u.length,f.length,h.length)}else{if(u=o(l,r),f=o(c,r),!function(t){for(var e,r=!0,a=!1,o=!1,s=0;s<t.length;s++){if(e=t[s],!i.isArrayOrTypedArray(e)){r=!1;break}e.length>0&&(a=!0);for(var l=0;l<e.length;l++)if(n(e[l])){o=!0;break}}return r&&a&&o}(h))return 0;r("transpose"),e._length=null}return a.getComponentMethod("calendars","handleTraceDefaults")(t,e,[l,c],s),!0}},{"../../lib":693,"../../registry":825,"fast-isnumeric":213}],958:[function(t,e,r){"use strict";for(var n=t("../heatmap/attributes"),i=t("../../components/colorscale/attributes"),a=t("../../components/colorbar/attributes"),o=t("../../lib/extend").extendFlat,s=t("../../plot_api/edit_types").overrideAll,l=["z","x","x0","dx","y","y0","dy","text","transpose","xtype","ytype"],c={},u=0;u<l.length;u++){var f=l[u];c[f]=n[f]}o(c,i("",{cLetter:"z",autoColorDflt:!1}),{colorbar:a}),e.exports=s(c,"calc","nested")},{"../../components/colorbar/attributes":568,"../../components/colorscale/attributes":574,"../../lib/extend":682,"../../plot_api/edit_types":725,"../heatmap/attributes":942}],959:[function(t,e,r){"use strict";var n=t("gl-heatmap2d"),i=t("../../plots/cartesian/axes"),a=t("../../lib/str2rgbarray");function o(t,e){this.scene=t,this.uid=e,this.type="heatmapgl",this.name="",this.hoverinfo="all",this.xData=[],this.yData=[],this.zData=[],this.textLabels=[],this.idToIndex=[],this.bounds=[0,0,0,0],this.options={z:[],x:[],y:[],shape:[0,0],colorLevels:[0],colorValues:[0,0,0,1]},this.heatmap=n(t.glplot,this.options),this.heatmap._trace=this}var s=o.prototype;s.handlePick=function(t){var e=this.options,r=e.shape,n=t.pointId,i=n%r[0],a=Math.floor(n/r[0]),o=n;return{trace:this,dataCoord:t.dataCoord,traceCoord:[e.x[i],e.y[a],e.z[o]],textLabel:this.textLabels[n],name:this.name,pointIndex:[a,i],hoverinfo:this.hoverinfo}},s.update=function(t,e){var r=e[0];this.index=t.index,this.name=t.name,this.hoverinfo=t.hoverinfo;var n=r.z;this.options.z=[].concat.apply([],n);var o=n[0].length,s=n.length;this.options.shape=[o,s],this.options.x=r.x,this.options.y=r.y;var l=function(t){for(var e=t.colorscale,r=t.zmin,n=t.zmax,i=e.length,o=new Array(i),s=new Array(4*i),l=0;l<i;l++){var c=e[l],u=a(c[1]);o[l]=r+c[0]*(n-r);for(var f=0;f<4;f++)s[4*l+f]=u[f]}return{colorLevels:o,colorValues:s}}(t);this.options.colorLevels=l.colorLevels,this.options.colorValues=l.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options);var c=this.scene.xaxis,u=this.scene.yaxis;t._extremes[c._id]=i.findExtremes(c,r.x),t._extremes[u._id]=i.findExtremes(u,r.y)},s.dispose=function(){this.heatmap.dispose()},e.exports=function(t,e,r){var n=new o(t,e.uid);return n.update(e,r),n}},{"../../lib/str2rgbarray":717,"../../plots/cartesian/axes":742,"gl-heatmap2d":240}],960:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("../heatmap/defaults"),n.colorbar=t("../heatmap/colorbar"),n.calc=t("../heatmap/calc"),n.plot=t("./convert"),n.moduleType="trace",n.name="heatmapgl",n.basePlotModule=t("../../plots/gl2d"),n.categories=["gl","gl2d","2dMap"],n.meta={},e.exports=n},{"../../plots/gl2d":781,"../heatmap/calc":943,"../heatmap/colorbar":945,"../heatmap/defaults":947,"./attributes":958,"./convert":959}],961:[function(t,e,r){"use strict";var n=t("../bar/attributes");function i(t){var e={};e["autobin"+t]=!1;var r={};return r["^autobin"+t]=!1,{start:{valType:"any",dflt:null,editType:"calc",impliedEdits:r},end:{valType:"any",dflt:null,editType:"calc",impliedEdits:r},size:{valType:"any",dflt:null,editType:"calc",impliedEdits:r},editType:"calc",impliedEdits:e}}e.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},text:n.text,orientation:n.orientation,histfunc:{valType:"enumerated",values:["count","sum","avg","min","max"],dflt:"count",editType:"calc"},histnorm:{valType:"enumerated",values:["","percent","probability","density","probability density"],dflt:"",editType:"calc"},cumulative:{enabled:{valType:"boolean",dflt:!1,editType:"calc"},direction:{valType:"enumerated",values:["increasing","decreasing"],dflt:"increasing",editType:"calc"},currentbin:{valType:"enumerated",values:["include","exclude","half"],dflt:"include",editType:"calc"},editType:"calc"},autobinx:{valType:"boolean",dflt:null,editType:"calc",impliedEdits:{"xbins.start":void 0,"xbins.end":void 0,"xbins.size":void 0}},nbinsx:{valType:"integer",min:0,dflt:0,editType:"calc"},xbins:i("x"),autobiny:{valType:"boolean",dflt:null,editType:"calc",impliedEdits:{"ybins.start":void 0,"ybins.end":void 0,"ybins.size":void 0}},nbinsy:{valType:"integer",min:0,dflt:0,editType:"calc"},ybins:i("y"),marker:n.marker,selected:n.selected,unselected:n.unselected,_deprecated:{bardir:n._deprecated.bardir}}},{"../bar/attributes":835}],962:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=t.length,n=0,i=0;i<r;i++)e[i]?(t[i]/=e[i],n+=t[i]):t[i]=null;return n}},{}],963:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){return r("histnorm"),n.forEach(function(t){r(t+"bins.start"),r(t+"bins.end"),r(t+"bins.size"),!1!==r("autobin"+t)&&r("nbins"+t)}),e}},{}],964:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports={count:function(t,e,r){return r[t]++,1},sum:function(t,e,r,i){var a=i[e];return n(a)?(a=Number(a),r[t]+=a,a):0},avg:function(t,e,r,i,a){var o=i[e];return n(o)&&(o=Number(o),r[t]+=o,a[t]++),0},min:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]>a){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]<a){var o=a-r[t];return r[t]=a,o}}return 0}}},{"fast-isnumeric":213}],965:[function(t,e,r){"use strict";var n=t("../../constants/numerical"),i=n.ONEAVGYEAR,a=n.ONEAVGMONTH,o=n.ONEDAY,s=n.ONEHOUR,l=n.ONEMIN,c=n.ONESEC,u=t("../../plots/cartesian/axes").tickIncrement;function f(t,e,r,n){if(t*e<=0)return 1/0;for(var i=Math.abs(e-t),a="date"===r.type,o=h(i,a),s=0;s<10;s++){var l=h(80*o,a);if(o===l)break;if(!p(l,t,e,a,r,n))break;o=l}return o}function h(t,e){return e&&t>c?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),c=d(r,a,s),u=t===i?0:1;return l[u]!==c[u]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}e.exports=function(t,e,r,n,a){var s,l,c=-1.1*e,h=-.1*e,p=t-h,d=r[0],g=r[1],m=Math.min(f(d+h,d+p,n,a),f(g+h,g+p,n,a)),v=Math.min(f(d+c,d+h,n,a),f(g+c,g+h,n,a));if(m>v&&v<Math.abs(g-d)/4e3?(s=m,l=!1):(s=Math.min(m,v),l=!0),"date"===n.type&&s>o){var y=s===i?1:6,x=s===i?"M12":"M1";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf("-",y);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,a);if(c<e){var f=u(c,x,!1,a);(c+f)/2<e+t&&(c=f)}return r&&l?u(c,x,!0,a):c}}return function(e,r){var n=s*Math.round(e/s);return n+s/10<e&&n+.9*s<e+t&&(n+=s),r&&l&&(n-=s),n}}},{"../../constants/numerical":670,"../../plots/cartesian/axes":742}],966:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../plots/cartesian/axes"),o=t("../bar/arrays_to_calcdata"),s=t("./bin_functions"),l=t("./norm_functions"),c=t("./average"),u=t("./clean_bins"),f=t("../../constants/numerical").ONEAVGMONTH,h=t("./bin_label_vals");function p(t,e,r,i,o){var s,l,c,u,f,h=i+"bins",p="overlay"===t._fullLayout.barmode;if(e._autoBinFinished)delete e._autoBinFinished;else{var v=p?[e]:g(t,e),y=[],x=1/0,b=1/0,_=-1/0,w="autobin"+i;for(s=0;s<v.length;s++){f=(l=v[s])._pos0=r.makeCalcdata(l,i);var k=l[h];if(l[w]||!k||null===k.start||null===k.end){c=l[i+"calendar"];var M=l.cumulative;if(k=a.autoBin(f,r,l["nbins"+i],!1,c),p&&0===k._dataSpan&&"category"!==r.type){if(o)return[k,f,!0];k=d(t,e,r,i,h)}M.enabled&&"include"!==M.currentbin&&("decreasing"===M.direction?b=Math.min(b,r.r2c(k.start,0,c)-k.size):_=Math.max(_,r.r2c(k.end,0,c)+k.size)),y.push(l)}else u||(u={size:k.size,start:r.r2c(k.start,0,c),end:r.r2c(k.end,0,c)});x=m(x,k.size),b=Math.min(b,r.r2c(k.start,0,c)),_=Math.max(_,r.r2c(k.end,0,c)),s&&(l._autoBinFinished=1)}if(u&&n(u.size)&&n(x)){x=x>u.size/1.9?u.size:u.size/Math.ceil(u.size/x);var A=u.start+(u.size-x)/2;b=A-x*Math.ceil((A-b)/x)}for(s=0;s<y.length;s++)c=(l=y[s])[i+"calendar"],l._input[h]=l[h]={start:r.c2r(b,0,c),end:r.c2r(_,0,c),size:x},l._input[w]=l[w]}return f=e._pos0,delete e._pos0,[e[h],f]}function d(t,e,r,n,a){var o,s,l=g(t,e),c=!1,u=1/0,f=[e];for(o=0;o<l.length;o++)if((s=l[o])===e)c=!0;else if(c){var h=p(t,s,r,n,!0),d=h[0],m=h[2];s._autoBinFinished=1,s._pos0=h[1],m?f.push(s):u=Math.min(u,d.size)}else u=Math.min(u,s[a].size);var v=new Array(f.length);for(o=0;o<f.length;o++)for(var y=f[o]._pos0,x=0;x<y.length;x++)if(void 0!==y[x]){v[o]=y[x];break}for(isFinite(u)||(u=i.distinctVals(v).minDiff),o=0;o<f.length;o++){var b=(s=f[o])[n+"calendar"];s._input[a]=s[a]={start:r.c2r(v[o]-u/2,0,b),end:r.c2r(v[o]+u/2,0,b),size:u}}return e[a]}function g(t,e){for(var r=e.xaxis,n=e.yaxis,i=e.orientation,a=[],o=t._fullData,s=0;s<o.length;s++){var l=o[s];"histogram"===l.type&&!0===l.visible&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}function m(t,e){if(t===1/0)return e;var r=v(t);return v(e)<r?e:t}function v(t){return n(t)?t:"string"==typeof t&&"M"===t.charAt(0)?f*+t.substr(1):1/0}e.exports=function(t,e){if(!0===e.visible){var r,f=[],d=[],g=a.getFromId(t,"h"===e.orientation?e.yaxis||"y":e.xaxis||"x"),m="h"===e.orientation?"y":"x",v={x:"y",y:"x"}[m],y=e[m+"calendar"],x=e.cumulative;u(e,g,m);var b,_,w,k=p(t,e,g,m),M=k[0],A=k[1],T="string"==typeof M.size,S=[],E=T?S:M,C=[],L=[],z=[],P=0,O=e.histnorm,I=e.histfunc,D=-1!==O.indexOf("density");x.enabled&&D&&(O=O.replace(/ ?density$/,""),D=!1);var R,B="max"===I||"min"===I?null:0,F=s.count,N=l[O],j=!1,V=function(t){return g.r2c(t,0,y)};for(i.isArrayOrTypedArray(e[v])&&"count"!==I&&(R=e[v],j="avg"===I,F=s[I]),r=V(M.start),_=V(M.end)+(r-a.tickIncrement(r,M.size,!1,y))/1e6;r<_&&f.length<1e6&&(b=a.tickIncrement(r,M.size,!1,y),f.push((r+b)/2),d.push(B),z.push([]),S.push(r),D&&C.push(1/(b-r)),j&&L.push(0),!(b<=r));)r=b;S.push(r),T||"date"!==g.type||(E={start:V(E.start),end:V(E.end),size:E.size});var U,q=d.length,H=!0,G=1/0,W=1/0,Y={};for(r=0;r<A.length;r++){var X=A[r];(w=i.findBin(X,E))>=0&&w<q&&(P+=F(w,r,d,R,L),H&&z[w].length&&X!==A[z[w][0]]&&(H=!1),z[w].push(r),Y[r]=w,G=Math.min(G,X-S[w]),W=Math.min(W,S[w+1]-X))}H||(U=h(G,W,S,g,y)),j&&(P=c(d,L)),N&&N(d,P,C),x.enabled&&function(t,e,r){var n,i,a;function o(e){a=t[e],t[e]/=2}function s(e){i=t[e],t[e]=a+i/2,a+=i}if("half"===r)if("increasing"===e)for(o(0),n=1;n<t.length;n++)s(n);else for(o(t.length-1),n=t.length-2;n>=0;n--)s(n);else if("increasing"===e){for(n=1;n<t.length;n++)t[n]+=t[n-1];"exclude"===r&&(t.unshift(0),t.pop())}else{for(n=t.length-2;n>=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(d,x.direction,x.currentbin);var Z=Math.min(f.length,d.length),$=[],J=0,K=Z-1;for(r=0;r<Z;r++)if(d[r]){J=r;break}for(r=Z-1;r>=J;r--)if(d[r]){K=r;break}for(r=J;r<=K;r++)if(n(f[r])&&n(d[r])){var Q={p:f[r],s:d[r],b:0};x.enabled||(Q.pts=z[r],H?Q.ph0=Q.ph1=z[r].length?A[z[r][0]]:f[r]:(Q.ph0=U(S[r]),Q.ph1=U(S[r+1],!0))),$.push(Q)}return 1===$.length&&($[0].width1=a.tickIncrement($[0].p,M.size,!1,y)-$[0].p),o($,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected($,e,Y),$}}},{"../../constants/numerical":670,"../../lib":693,"../../plots/cartesian/axes":742,"../bar/arrays_to_calcdata":834,"./average":962,"./bin_functions":964,"./bin_label_vals":965,"./clean_bins":967,"./norm_functions":972,"fast-isnumeric":213}],967:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib").cleanDate,a=t("../../constants/numerical"),o=a.ONEDAY,s=a.BADNUM;e.exports=function(t,e,r){var a=e.type,l=r+"bins",c=t[l];c||(c=t[l]={});var u="date"===a?function(t){return t||0===t?i(t,s,c.calendar):null}:function(t){return n(t)?Number(t):null};c.start=u(c.start),c.end=u(c.end);var f="date"===a?o:1,h=c.size;if(n(h))c.size=h>0?Number(h):f;else if("string"!=typeof h)c.size=f;else{var p=h.charAt(0),d=h.substr(1);((d=n(d)?Number(d):0)<=0||"date"!==a||"M"!==p||d!==Math.round(d))&&(c.size=f)}var g="autobin"+r;"boolean"!=typeof t[g]&&(t[g]=t._fullInput[g]=t._input[g]=!((c.start||0===c.start)&&(c.end||0===c.end))),t[g]||(delete t["nbins"+r],delete t._fullInput["nbins"+r])}},{"../../constants/numerical":670,"../../lib":693,"fast-isnumeric":213}],968:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../components/color"),o=t("./bin_defaults"),s=t("../bar/style_defaults"),l=t("./attributes");e.exports=function(t,e,r,c){function u(r,n){return i.coerce(t,e,l,r,n)}var f=u("x"),h=u("y");u("cumulative.enabled")&&(u("cumulative.direction"),u("cumulative.currentbin")),u("text");var p=u("orientation",h&&!f?"h":"v"),d="v"===p?"x":"y",g="v"===p?"y":"x",m=f&&h?Math.min(f.length&&h.length):(e[d]||[]).length;if(m){e._length=m,n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],c),e[g]&&u("histfunc"),o(t,e,u,[d]),s(t,e,u,r,c);var v=n.getComponentMethod("errorbars","supplyDefaults");v(t,e,a.defaultLine,{axis:"y"}),v(t,e,a.defaultLine,{axis:"x",inherit:"y"}),i.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1}},{"../../components/color":567,"../../lib":693,"../../registry":825,"../bar/style_defaults":847,"./attributes":961,"./bin_defaults":963}],969:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){if(t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),!(r.cumulative||{}).enabled){var a,o=Array.isArray(i)?n[0].pts[i[0]][i[1]]:n[i].pts;if(t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex,r._indexToPoints){a=[];for(var s=0;s<o.length;s++)a=a.concat(r._indexToPoints[o[s]])}else a=o;t.pointIndices=a}return t}},{}],970:[function(t,e,r){"use strict";var n=t("../bar/hover").hoverPoints,i=t("../../plots/cartesian/axes").hoverLabelText;e.exports=function(t,e,r,a){var o=n(t,e,r,a);if(o){var s=(t=o[0]).cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var c="h"===l.orientation?"y":"x";t[c+"Label"]=i(t[c+"a"],s.ph0,s.ph1)}return o}}},{"../../plots/cartesian/axes":742,"../bar/hover":839}],971:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.layoutAttributes=t("../bar/layout_attributes"),n.supplyDefaults=t("./defaults"),n.supplyLayoutDefaults=t("../bar/layout_defaults"),n.calc=t("./calc"),n.crossTraceCalc=t("../bar/cross_trace_calc").crossTraceCalc,n.plot=t("../bar/plot"),n.layerName="barlayer",n.style=t("../bar/style").style,n.styleOnSelect=t("../bar/style").styleOnSelect,n.colorbar=t("../scatter/marker_colorbar"),n.hoverPoints=t("./hover"),n.selectPoints=t("../bar/select"),n.eventData=t("./event_data"),n.moduleType="trace",n.name="histogram",n.basePlotModule=t("../../plots/cartesian"),n.categories=["cartesian","svg","bar","histogram","oriented","errorBarsOK","showLegend"],n.meta={},e.exports=n},{"../../plots/cartesian":753,"../bar/cross_trace_calc":837,"../bar/layout_attributes":841,"../bar/layout_defaults":842,"../bar/plot":843,"../bar/select":844,"../bar/style":846,"../scatter/marker_colorbar":1050,"./attributes":961,"./calc":966,"./defaults":968,"./event_data":969,"./hover":970}],972:[function(t,e,r){"use strict";e.exports={percent:function(t,e){for(var r=t.length,n=100/e,i=0;i<r;i++)t[i]*=n},probability:function(t,e){for(var r=t.length,n=0;n<r;n++)t[n]/=e},density:function(t,e,r,n){var i=t.length;n=n||1;for(var a=0;a<i;a++)t[a]*=r[a]*n},"probability density":function(t,e,r,n){var i=t.length;n&&(e/=n);for(var a=0;a<i;a++)t[a]*=r[a]/e}}},{}],973:[function(t,e,r){"use strict";var n=t("../histogram/attributes"),i=t("../heatmap/attributes"),a=t("../../components/colorscale/attributes"),o=t("../../components/colorbar/attributes"),s=t("../../lib/extend").extendFlat;e.exports=s({x:n.x,y:n.y,z:{valType:"data_array",editType:"calc"},marker:{color:{valType:"data_array",editType:"calc"},editType:"calc"},histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,xgap:i.xgap,ygap:i.ygap,zsmooth:i.zsmooth,zhoverformat:i.zhoverformat},a("",{cLetter:"z",autoColorDflt:!1}),{colorbar:o})},{"../../components/colorbar/attributes":568,"../../components/colorscale/attributes":574,"../../lib/extend":682,"../heatmap/attributes":942,"../histogram/attributes":961}],974:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../histogram/bin_functions"),o=t("../histogram/norm_functions"),s=t("../histogram/average"),l=t("../histogram/clean_bins"),c=t("../histogram/bin_label_vals");function u(t,e,r,n,a,o,s){var c=e+"bins",u="autobin"+e,f=t[c];l(t,n,e),!t[u]&&f&&null!==f.start&&null!==f.end||(f=i.autoBin(r,n,t["nbins"+e],"2d",s),"histogram2dcontour"===t.type&&(f.start=o(i.tickIncrement(a(f.start),f.size,!0,s)),f.end=o(i.tickIncrement(a(f.end),f.size,!1,s))),t._input[c]=t[c]=f,t._input[u]=t[u])}function f(t,e,r,n){var i,a=new Array(t);if(n)for(i=0;i<t;i++)a[i]=1/(e[i+1]-e[i]);else{var o=1/r;for(i=0;i<t;i++)a[i]=o}return a}function h(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function p(t,e,r,n,i,a){var o,s=t.length-1,l=new Array(s);if(e)for(o=0;o<s;o++)l[o]=[e[o],e[o]];else{var u=c(r,n,t,i,a);for(o=0;o<s;o++)l[o]=[u(t[o]),u(t[o+1],!0)]}return l}e.exports=function(t,e){var r,l,c,d,g=i.getFromId(t,e.xaxis||"x"),m=e.x?g.makeCalcdata(e,"x"):[],v=i.getFromId(t,e.yaxis||"y"),y=e.y?v.makeCalcdata(e,"y"):[],x=e.xcalendar,b=e.ycalendar,_=function(t){return g.r2c(t,0,x)},w=function(t){return v.r2c(t,0,b)},k=function(t){return g.c2r(t,0,x)},M=function(t){return v.c2r(t,0,b)},A=e._length;m.length>A&&m.splice(A,m.length-A),y.length>A&&y.splice(A,y.length-A),u(e,"x",m,g,_,k,x),u(e,"y",y,v,w,M,b);var T=[],S=[],E=[],C="string"==typeof e.xbins.size,L="string"==typeof e.ybins.size,z=[],P=[],O=C?z:e.xbins,I=L?P:e.ybins,D=0,R=[],B=[],F=e.histnorm,N=e.histfunc,j=-1!==F.indexOf("density"),V="max"===N||"min"===N?null:0,U=a.count,q=o[F],H=!1,G=[],W=[],Y="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";Y&&"count"!==N&&(H="avg"===N,U=a[N]);var X=e.xbins,Z=_(X.start),$=_(X.end)+(Z-i.tickIncrement(Z,X.size,!1,x))/1e6;for(r=Z;r<$;r=i.tickIncrement(r,X.size,!1,x))S.push(V),z.push(r),H&&E.push(0);z.push(r);var J=S.length,K=_(e.xbins.start),Q=(r-K)/J,tt=k(K+Q/2);for(Z=w((X=e.ybins).start),$=w(X.end)+(Z-i.tickIncrement(Z,X.size,!1,b))/1e6,r=Z;r<$;r=i.tickIncrement(r,X.size,!1,b)){T.push(S.slice()),P.push(r);var et=new Array(J);for(l=0;l<J;l++)et[l]=[];B.push(et),H&&R.push(E.slice())}P.push(r);var rt=T.length,nt=w(e.ybins.start),it=(r-nt)/rt,at=M(nt+it/2);j&&(G=f(S.length,O,Q,C),W=f(T.length,I,it,L)),C||"date"!==g.type||(O=h(_,O)),L||"date"!==v.type||(I=h(w,I));var ot=!0,st=!0,lt=new Array(J),ct=new Array(rt),ut=1/0,ft=1/0,ht=1/0,pt=1/0;for(r=0;r<A;r++){var dt=m[r],gt=y[r];c=n.findBin(dt,O),d=n.findBin(gt,I),c>=0&&c<J&&d>=0&&d<rt&&(D+=U(c,r,T[d],Y,R[d]),B[d][c].push(r),ot&&(void 0===lt[c]?lt[c]=dt:lt[c]!==dt&&(ot=!1)),st&&(void 0===ct[c]?ct[c]=gt:ct[c]!==gt&&(st=!1)),ut=Math.min(ut,dt-z[c]),ft=Math.min(ft,z[c+1]-dt),ht=Math.min(ht,gt-P[d]),pt=Math.min(pt,P[d+1]-gt))}if(H)for(d=0;d<rt;d++)D+=s(T[d],R[d]);if(q)for(d=0;d<rt;d++)q(T[d],D,G,W[d]);return{x:m,xRanges:p(z,ot&&lt,ut,ft,g,x),x0:tt,dx:Q,y:y,yRanges:p(P,st&&ct,ht,pt,v,b),y0:at,dy:it,z:T,pts:B}}},{"../../lib":693,"../../plots/cartesian/axes":742,"../histogram/average":962,"../histogram/bin_functions":964,"../histogram/bin_label_vals":965,"../histogram/clean_bins":967,"../histogram/norm_functions":972}],975:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./sample_defaults"),a=t("../heatmap/style_defaults"),o=t("../../components/colorscale/defaults"),s=t("./attributes");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l),!1!==e.visible&&(a(t,e,c,l),o(t,e,l,c,{prefix:"",cLetter:"z"}))}},{"../../components/colorscale/defaults":577,"../../lib":693,"../heatmap/style_defaults":956,"./attributes":973,"./sample_defaults":978}],976:[function(t,e,r){"use strict";var n=t("../heatmap/hover"),i=t("../../plots/cartesian/axes").hoverLabelText;e.exports=function(t,e,r,a,o,s){var l=n(t,e,r,a,o,s);if(l){var c=(t=l[0]).index,u=c[0],f=c[1],h=t.cd[0],p=h.xRanges[f],d=h.yRanges[u];return t.xLabel=i(t.xa,p[0],p[1]),t.yLabel=i(t.ya,d[0],d[1]),l}}},{"../../plots/cartesian/axes":742,"../heatmap/hover":949}],977:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.calc=t("../heatmap/calc"),n.plot=t("../heatmap/plot"),n.layerName="heatmaplayer",n.colorbar=t("../heatmap/colorbar"),n.style=t("../heatmap/style"),n.hoverPoints=t("./hover"),n.eventData=t("../histogram/event_data"),n.moduleType="trace",n.name="histogram2d",n.basePlotModule=t("../../plots/cartesian"),n.categories=["cartesian","svg","2dMap","histogram"],n.meta={},e.exports=n},{"../../plots/cartesian":753,"../heatmap/calc":943,"../heatmap/colorbar":945,"../heatmap/plot":954,"../heatmap/style":955,"../histogram/event_data":969,"./attributes":973,"./defaults":975,"./hover":976}],978:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../histogram/bin_defaults");e.exports=function(t,e,r,a){var o=r("x"),s=r("y");if(o&&o.length&&s&&s.length){e._length=Math.min(o.length,s.length),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],a),(r("z")||r("marker.color"))&&r("histfunc");i(t,e,r,["x","y"])}else e.visible=!1}},{"../../registry":825,"../histogram/bin_defaults":963}],979:[function(t,e,r){"use strict";var n=t("../histogram2d/attributes"),i=t("../contour/attributes"),a=t("../../components/colorscale/attributes"),o=t("../../components/colorbar/attributes"),s=t("../../lib/extend").extendFlat;e.exports=s({x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,autocontour:i.autocontour,ncontours:i.ncontours,contours:i.contours,line:i.line,zhoverformat:n.zhoverformat},a("",{cLetter:"z",editTypeOverride:"calc"}),{colorbar:o})},{"../../components/colorbar/attributes":568,"../../components/colorscale/attributes":574,"../../lib/extend":682,"../contour/attributes":913,"../histogram2d/attributes":973}],980:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../histogram2d/sample_defaults"),a=t("../contour/contours_defaults"),o=t("../contour/style_defaults"),s=t("./attributes");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l),!1!==e.visible&&(a(t,e,c,function(r){return n.coerce2(t,e,s,r)}),o(t,e,c,l))}},{"../../lib":693,"../contour/contours_defaults":920,"../contour/style_defaults":934,"../histogram2d/sample_defaults":978,"./attributes":979}],981:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.calc=t("../contour/calc"),n.plot=t("../contour/plot").plot,n.layerName="contourlayer",n.style=t("../contour/style"),n.colorbar=t("../contour/colorbar"),n.hoverPoints=t("../contour/hover"),n.moduleType="trace",n.name="histogram2dcontour",n.basePlotModule=t("../../plots/cartesian"),n.categories=["cartesian","svg","2dMap","contour","histogram","showLegend"],n.meta={},e.exports=n},{"../../plots/cartesian":753,"../contour/calc":914,"../contour/colorbar":916,"../contour/hover":926,"../contour/plot":931,"../contour/style":933,"./attributes":979,"./defaults":980}],982:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../components/colorbar/attributes"),a=t("../surface/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat;e.exports=s({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"}},n("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{colorbar:i,opacity:a.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:s({},a.contours.x.show,{}),color:a.contours.x.color,width:a.contours.x.width,editType:"calc"},lightposition:{x:s({},a.lightposition.x,{dflt:1e5}),y:s({},a.lightposition.y,{dflt:1e5}),z:s({},a.lightposition.z,{dflt:0}),editType:"calc"},lighting:s({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc"},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc"},editType:"calc"},a.lighting),hoverinfo:s({},o.hoverinfo,{editType:"calc"})})},{"../../components/colorbar/attributes":568,"../../components/colorscale/attributes":574,"../../lib/extend":682,"../../plots/attributes":739,"../surface/attributes":1119}],983:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e.intensity&&n(e,e.intensity,"","c")}},{"../../components/colorscale/calc":575}],984:[function(t,e,r){"use strict";var n=t("gl-mesh3d"),i=t("delaunay-triangulate"),a=t("alpha-shape"),o=t("convex-hull"),s=t("../../lib/gl_format_color").parseColorScale,l=t("../../lib/str2rgbarray"),c=t("../../plots/gl3d/zip3");function u(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var f=u.prototype;function h(t){return t.map(l)}f.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},f.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map(function(e){return t.d2l(e,0,n)*r})}this.data=t;var u,f=c(n(r.xaxis,t.x,e.dataScale[0],t.xcalendar),n(r.yaxis,t.y,e.dataScale[1],t.ycalendar),n(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k)u=c(t.i,t.j,t.k);else if(0===t.alphahull)u=o(f);else if(t.alphahull>0)u=a(t.alphahull,f);else{var p=["x","y","z"].indexOf(t.delaunayaxis);u=i(f.map(function(t){return[t[(p+1)%3],t[(p+2)%3]]}))}var d={positions:f,cells:u,lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:l(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};t.intensity?(this.color="#fff",d.vertexIntensity=t.intensity,d.vertexIntensityBounds=[t.cmin,t.cmax],d.colormap=s(t.colorscale)):t.vertexcolor?(this.color=t.vertexcolor[0],d.vertexColors=h(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],d.cellColors=h(t.facecolor)):(this.color=t.color,d.meshColor=l(t.color)),this.mesh.update(d)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new u(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{"../../lib/gl_format_color":689,"../../lib/str2rgbarray":717,"../../plots/gl3d/zip3":795,"alpha-shape":51,"convex-hull":117,"delaunay-triangulate":149,"gl-mesh3d":267}],985:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../components/colorscale/defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,n){return i.coerce(t,e,o,r,n)}function c(t){var e=t.map(function(t){var e=l(t);return e&&i.isArrayOrTypedArray(e)?e:null});return e.every(function(t){return t&&t.length===e[0].length})&&e}var u=c(["x","y","z"]),f=c(["i","j","k"]);u?(f&&f.forEach(function(t){for(var e=0;e<t.length;++e)t[e]|=0}),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],s),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","contour.show","contour.color","contour.width","colorscale","reversescale","flatshading","alphahull","delaunayaxis","opacity"].forEach(function(t){l(t)}),"intensity"in t?(l("intensity"),a(t,e,s,l,{prefix:"",cLetter:"c"})):(e.showscale=!1,"facecolor"in t?l("facecolor"):"vertexcolor"in t?l("vertexcolor"):l("color",r)),l("text"),e._length=null):e.visible=!1}},{"../../components/colorscale/defaults":577,"../../lib":693,"../../registry":825,"./attributes":982}],986:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.calc=t("./calc"),n.colorbar={min:"cmin",max:"cmax"},n.plot=t("./convert"),n.moduleType="trace",n.name="mesh3d",n.basePlotModule=t("../../plots/gl3d"),n.categories=["gl3d"],n.meta={},e.exports=n},{"../../plots/gl3d":784,"./attributes":982,"./calc":983,"./convert":984,"./defaults":985}],987:[function(t,e,r){"use strict";var n=t("../../lib").extendFlat,i=t("../scatter/attributes"),a=t("../../components/drawing/attributes").dash,o=i.line;function s(t){return{line:{color:n({},o.color,{dflt:t}),width:o.width,dash:a,editType:"style"},editType:"style"}}e.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes"},open:{valType:"data_array",editType:"calc"},high:{valType:"data_array",editType:"calc"},low:{valType:"data_array",editType:"calc"},close:{valType:"data_array",editType:"calc"},line:{width:n({},o.width,{}),dash:n({},a,{}),editType:"style"},increasing:s("#3D9970"),decreasing:s("#FF4136"),text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},tickwidth:{valType:"number",min:0,max:.5,dflt:.3,editType:"calc"}}},{"../../components/drawing/attributes":591,"../../lib":693,"../scatter/attributes":1032}],988:[function(t,e,r){"use strict";var n=t("../../lib"),i=n._,a=t("../../plots/cartesian/axes"),o=t("../../constants/numerical").BADNUM;function s(t,e,r,n){return{o:t,h:e,l:r,c:n}}function l(t,e,r,n,s){for(var l=n.makeCalcdata(e,"open"),c=n.makeCalcdata(e,"high"),u=n.makeCalcdata(e,"low"),f=n.makeCalcdata(e,"close"),h=Array.isArray(e.text),p=!0,d=null,g=[],m=0;m<r.length;m++){var v=r[m],y=l[m],x=c[m],b=u[m],_=f[m];if(v!==o&&y!==o&&x!==o&&b!==o&&_!==o){_===y?null!==d&&_!==d&&(p=_>d):p=_>y,d=_;var w=s(y,x,b,_);w.pos=v,w.yc=(y+_)/2,w.i=m,w.dir=p?"increasing":"decreasing",h&&(w.tx=e.text[m]),g.push(w)}}return e._extremes[n._id]=a.findExtremes(n,u.concat(c),{padded:!0}),g.length&&(g[0].t={labels:{open:i(t,"open:")+" ",high:i(t,"high:")+" ",low:i(t,"low:")+" ",close:i(t,"close:")+" "}}),g}e.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),o=function(t,e,r){var i=r._minDiff;if(!i){var a,o=t._fullData,s=[];for(i=1/0,a=0;a<o.length;a++){var l=o[a];if("ohlc"===l.type&&!0===l.visible&&l.xaxis===e._id){s.push(l);var c=e.makeCalcdata(l,"x");l._xcalc=c;var u=n.distinctVals(c).minDiff;u&&isFinite(u)&&(i=Math.min(i,u))}}for(i===1/0&&(i=1),a=0;a<s.length;a++)s[a]._minDiff=i}return i*r.tickwidth}(t,r,e),c=e._minDiff;e._minDiff=null;var u=e._xcalc;e._xcalc=null;var f=l(t,e,u,i,s);return e._extremes[r._id]=a.findExtremes(r,u,{vpad:c/2}),f.length?(n.extendFlat(f[0].t,{wHover:c/2,tickLen:o}),f):[{t:{empty:!0}}]},calcCommon:l}},{"../../constants/numerical":670,"../../lib":693,"../../plots/cartesian/axes":742}],989:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./ohlc_defaults"),a=t("./attributes");function o(t,e,r,n){r(n+".line.color"),r(n+".line.width",e.line.width),r(n+".line.dash",e.line.dash)}e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,a,r,i)}i(t,e,l,s)?(l("line.width"),l("line.dash"),o(t,e,l,"increasing"),o(t,e,l,"decreasing"),l("text"),l("tickwidth"),s._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{"../../lib":693,"./attributes":987,"./ohlc_defaults":992}],990:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../components/fx"),a=t("../../components/color"),o=t("../scatter/fill_hover_text"),s={increasing:"\u25b2",decreasing:"\u25bc"};e.exports=function(t,e,r,l){var c=t.cd,u=t.xa,f=t.ya,h=c[0].trace,p=c[0].t,d=h.type,g="ohlc"===d?"l":"min",m="ohlc"===d?"h":"max",v=p.bPos||0,y=e-v,x=p.bdPos||p.tickLen,b=p.wHover,_=Math.min(1,x/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0]))),w=t.maxHoverDistance-_,k=t.maxSpikeDistance-_;function M(t){var e=t.pos-y;return i.inbox(e-b,e+b,w)}function A(t){return i.inbox(t[g]-r,t[m]-r,w)}function T(t){return(M(t)+A(t))/2}var S=i.getDistanceFunction(l,M,A,T);if(i.getClosest(c,S,t),!1===t.index)return[];var E=c[t.index],C=t.index=E.i,L=E.dir,z=h[L],P=z.line.color;function O(t){return p.labels[t]+n.hoverLabelText(f,h[t][C])}a.opacity(P)&&z.line.width?t.color=P:t.color=z.fillcolor,t.x0=u.c2p(E.pos+v-x,!0),t.x1=u.c2p(E.pos+v+x,!0),t.xLabelVal=E.pos,t.spikeDistance=T(E)*k/w,t.xSpike=u.c2p(E.pos,!0);var I=h.hoverinfo,D=I.split("+"),R="all"===I,B=R||-1!==D.indexOf("y"),F=R||-1!==D.indexOf("text"),N=B?[O("open"),O("high"),O("low"),O("close")+" "+s[L]]:[];return F&&o(E,h,N),t.extraText=N.join("<br>"),t.y0=t.y1=f.c2p(E.yc,!0),[t]}},{"../../components/color":567,"../../components/fx":609,"../../plots/cartesian/axes":742,"../scatter/fill_hover_text":1040}],991:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"ohlc",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","showLegend"],meta:{},attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc").calc,plot:t("./plot"),style:t("./style"),hoverPoints:t("./hover"),selectPoints:t("./select")}},{"../../plots/cartesian":753,"./attributes":987,"./calc":988,"./defaults":989,"./hover":990,"./plot":993,"./select":994,"./style":995}],992:[function(t,e,r){"use strict";var n=t("../../registry");e.exports=function(t,e,r,i){var a=r("x"),o=r("open"),s=r("high"),l=r("low"),c=r("close");if(n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],i),o&&s&&l&&c){var u=Math.min(o.length,s.length,l.length,c.length);return a&&(u=Math.min(u,a.length)),e._length=u,u}}},{"../../registry":825}],993:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib");e.exports=function(t,e,r,a){var o=e.xaxis,s=e.yaxis;i.makeTraceGroups(a,r,"trace ohlc").each(function(t){var r=n.select(this),a=t[0],l=a.t,c=a.trace;if(e.isRangePlot||(a.node3=r),!0!==c.visible||l.empty)r.remove();else{var u=l.tickLen,f=r.selectAll("path").data(i.identity);f.enter().append("path"),f.exit().remove(),f.attr("d",function(t){var e=o.c2p(t.pos,!0),r=o.c2p(t.pos-u,!0),n=o.c2p(t.pos+u,!0);return"M"+r+","+s.c2p(t.o,!0)+"H"+e+"M"+e+","+s.c2p(t.h,!0)+"V"+s.c2p(t.l,!0)+"M"+n+","+s.c2p(t.c,!0)+"H"+e})}})}},{"../../lib":693,d3:147}],994:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var l=n[r];e.contains([i.c2p(l.pos+s),a.c2p(l.yc)],null,l.i,t)?(o.push({pointNumber:l.i,x:i.c2d(l.pos),y:a.c2d(l.yc)}),l.selected=1):l.selected=0}return o}},{}],995:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../../components/color");e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll("g.ohlclayer").selectAll("g.trace");r.style("opacity",function(t){return t[0].trace.opacity}),r.each(function(t){var e=t[0].trace;n.select(this).selectAll("path").each(function(t){var r=e[t.dir].line;n.select(this).style("fill","none").call(a.stroke,r.color).call(i.dashLine,r.dash,r.width).style("opacity",e.selectedpoints&&!t.selected?.3:1)})})}},{"../../components/color":567,"../../components/drawing":592,d3:147}],996:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../components/colorbar/attributes"),a=t("../../plots/cartesian/layout_attributes"),o=t("../../plots/font_attributes"),s=t("../../plots/domain").attributes,l=t("../../lib/extend").extendFlat,c=t("../../plot_api/plot_template").templatedArray;e.exports={domain:s({name:"parcoords",trace:!0,editType:"calc"}),labelfont:o({editType:"calc"}),tickfont:o({editType:"calc"}),rangefont:o({editType:"calc"}),dimensions:c("dimension",{label:{valType:"string",editType:"calc"},tickvals:l({},a.tickvals,{editType:"calc"}),ticktext:l({},a.ticktext,{editType:"calc"}),tickformat:{valType:"string",dflt:"3s",editType:"calc"},visible:{valType:"boolean",dflt:!0,editType:"calc"},range:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc"},multiselect:{valType:"boolean",dflt:!0,editType:"calc"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:l(n("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"}),{colorbar:i,editType:"calc"})}},{"../../components/colorbar/attributes":568,"../../components/colorscale/attributes":574,"../../lib/extend":682,"../../plot_api/plot_template":732,"../../plots/cartesian/layout_attributes":754,"../../plots/domain":767,"../../plots/font_attributes":768}],997:[function(t,e,r){"use strict";var n=t("./constants"),i=t("d3"),a=t("../../lib/gup").keyFun,o=t("../../lib/gup").repeat,s=t("../../lib").sorterAsc,l=n.bar.snapRatio;function c(t,e){return t*(1-l)+e*l}var u=n.bar.snapClose;function f(t,e){return t*(1-u)+e*u}function h(t,e,r){if(d(e,r))return e;for(var n=t[0],i=n,a=1;a<t.length;a++){var o=t[a];if(e<f(n,o))return c(n,i);if(e<o||a===t.length-1)return c(o,n);i=n,n=o}}function p(t,e,r){if(d(e,r))return e;for(var n=t[t.length-1],i=n,a=t.length-2;a>=0;a--){var o=t[a];if(e>f(n,o))return c(n,i);if(e>o||a===t.length-1)return c(o,n);i=n,n=o}}function d(t,e){for(var r=0;r<e.length;r++)if(t>=e[r][0]&&t<=e[r][1])return!0;return!1}function g(t){t.attr("x",-n.bar.captureWidth/2).attr("width",n.bar.captureWidth)}function m(t){t.attr("visibility","visible").style("visibility","visible").attr("fill","yellow").attr("opacity",0)}function v(t){if(!t.brush.filterSpecified)return"0,"+t.height;for(var e,r,n,i=y(t.brush.filter.getConsolidated(),t.height),a=[0],o=i.length?i[0][0]:null,s=0;s<i.length;s++)r=(e=i[s])[1]-e[0],a.push(o),a.push(r),(n=s+1)<i.length&&(o=i[n][0]-e[1]);return a.push(t.height),a}function y(t,e){return t.map(function(t){return t.map(function(t){return t*e}).sort(s)})}function x(){i.select(document.body).style("cursor",null)}function b(t){t.attr("stroke-dasharray",v)}function _(t,e){var r=i.select(t).selectAll(".highlight, .highlight-shadow");b(e?r.transition().duration(n.bar.snapDuration).each("end",e):r)}function w(t,e){var r,i=t.brush,a=NaN,o={};if(i.filterSpecified){var s=t.height,l=i.filter.getConsolidated(),c=y(l,s),u=NaN,f=NaN,h=NaN;for(r=0;r<=c.length;r++){var p=c[r];if(p&&p[0]<=e&&e<=p[1]){u=r;break}if(f=r?r-1:NaN,p&&p[0]>e){h=r;break}}if(a=u,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-c[f][1]<c[h][0]-e?f:h),!isNaN(a)){var d=c[a],g=function(t,e){var r=n.bar.handleHeight;if(!(e>t[1]+r||e<t[0]-r))return e>=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);g&&(o.interval=l[a],o.intervalPix=d,o.region=g)}}if(t.ordinal&&!o.region){var m=t.unitTickvals,v=t.unitToPaddedPx.invert(e);for(r=0;r<m.length;r++){var x=[.25*m[Math.max(r-1,0)]+.75*m[r],.25*m[Math.min(r+1,m.length-1)]+.75*m[r]];if(v>=x[0]&&v<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function k(t){t.on("mousemove",function(t){if(i.event.preventDefault(),!t.parent.inBrushDrag){var e=w(t,t.height-i.mouse(this)[1]-2*n.verticalPadding),r="crosshair";e.clickableOrdinalRange?r="pointer":e.region&&(r=e.region+"-resize"),i.select(document.body).style("cursor",r)}}).on("mouseleave",function(t){t.parent.inBrushDrag||x()}).call(i.behavior.drag().on("dragstart",function(t){i.event.sourceEvent.stopPropagation();var e=t.height-i.mouse(this)[1]-2*n.verticalPadding,r=t.unitToPaddedPx.invert(e),a=t.brush,o=w(t,e),s=o.interval,l=a.svgBrush;if(l.wasDragged=!1,l.grabbingBar="ns"===o.region,l.grabbingBar){var c=s.map(t.unitToPaddedPx);l.grabPoint=e-c[0]-n.verticalPadding,l.barLength=c[1]-c[0]}l.clickableOrdinalRange=o.clickableOrdinalRange,l.stayingIntervals=t.multiselect&&a.filterSpecified?a.filter.getConsolidated():[],s&&(l.stayingIntervals=l.stayingIntervals.filter(function(t){return t[0]!==s[0]&&t[1]!==s[1]})),l.startExtent=o.region?s["s"===o.region?1:0]:r,t.parent.inBrushDrag=!0,l.brushStartCallback()}).on("drag",function(t){i.event.sourceEvent.stopPropagation();var e=t.height-i.mouse(this)[1]-2*n.verticalPadding,r=t.brush.svgBrush;r.wasDragged=!0,r.grabbingBar?r.newExtent=[e-r.grabPoint,e+r.barLength-r.grabPoint].map(t.unitToPaddedPx.invert):r.newExtent=[r.startExtent,t.unitToPaddedPx.invert(e)].sort(s);var a=Math.max(0,-r.newExtent[0]),o=Math.max(0,r.newExtent[1]-1);r.newExtent[0]+=a,r.newExtent[1]-=o,r.grabbingBar&&(r.newExtent[1]+=a,r.newExtent[0]-=o),t.brush.filterSpecified=!0,r.extent=r.stayingIntervals.concat([r.newExtent]),r.brushCallback(t),_(this.parentNode)}).on("dragend",function(t){i.event.sourceEvent.stopPropagation();var e=t.brush,r=e.filter,n=e.svgBrush,a=n.grabbingBar;if(n.grabbingBar=!1,n.grabLocation=void 0,t.parent.inBrushDrag=!1,x(),!n.wasDragged)return n.wasDragged=void 0,n.clickableOrdinalRange?e.filterSpecified&&t.multiselect?n.extent.push(n.clickableOrdinalRange):(n.extent=[n.clickableOrdinalRange],e.filterSpecified=!0):a?(n.extent=n.stayingIntervals,0===n.extent.length&&A(e)):A(e),n.brushCallback(t),_(this.parentNode),void n.brushEndCallback(e.filterSpecified?r.getConsolidated():[]);var o=function(){r.set(r.getConsolidated())};if(t.ordinal){var s=t.unitTickvals;s[s.length-1]<s[0]&&s.reverse(),n.newExtent=[h(s,n.newExtent[0],n.stayingIntervals),p(s,n.newExtent[1],n.stayingIntervals)];var l=n.newExtent[1]>n.newExtent[0];n.extent=n.stayingIntervals.concat(l?[n.newExtent]:[]),n.extent.length||A(e),n.brushCallback(t),l?_(this.parentNode,o):(o(),_(this.parentNode))}else o();n.brushEndCallback(e.filterSpecified?r.getConsolidated():[])}))}function M(t,e){return t[0]-e[0]}function A(t){t.filterSpecified=!1,t.svgBrush.extent=[[0,1]]}function T(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return n}e.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){r=n.map(function(t){return t.slice().sort(s)}).sort(M),t=T(r),e=r.reduce(function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]},[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map(function(t){return t.slice()})}(e).slice();e.filter.set(r),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t){var e=t.selectAll("."+n.cn.axisBrush).data(o,a);e.enter().append("g").classed(n.cn.axisBrush,!0),function(t){var e=t.selectAll(".background").data(o);e.enter().append("rect").classed("background",!0).call(g).call(m).style("pointer-events","auto").attr("transform","translate(0 "+n.verticalPadding+")"),e.call(k).attr("height",function(t){return t.height-n.verticalPadding});var r=t.selectAll(".highlight-shadow").data(o);r.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",n.bar.strokeColor).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),r.attr("y1",function(t){return t.height}).call(b);var i=t.selectAll(".highlight").data(o);i.enter().append("line").classed("highlight",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width-n.bar.strokeWidth).attr("stroke",n.bar.fillColor).attr("opacity",n.bar.fillOpacity).attr("stroke-linecap","butt"),i.attr("y1",function(t){return t.height}).call(b)}(e)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map(function(t){return t.sort(s)}),t=e.multiselect?T(t.sort(M)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map(function(t){var e=[h(r,t[0],[]),p(r,t[1],[])];if(e[1]>e[0])return e}).filter(function(t){return t})).length)return}return t.length>1?t:t[0]}}},{"../../lib":693,"../../lib/gup":690,"./constants":1e3,d3:147}],998:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plots/get_data").getModuleCalcData,a=t("./plot"),o=t("../../constants/xmlns_namespaces");r.name="parcoords",r.plot=function(t){var e=i(t.calcdata,"parcoords")[0];e.length&&a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has("parcoords"),a=e._has&&e._has("parcoords");i&&!a&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter(function(t,e){return e===r.size()-1}).selectAll(".gl-canvas-context, .gl-canvas-focus").each(function(){var t=this.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":t,preserveAspectRatio:"none",x:0,y:0,width:this.width,height:this.height})}),window.setTimeout(function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")},60)}},{"../../constants/xmlns_namespaces":671,"../../plots/get_data":778,"./plot":1006,d3:147}],999:[function(t,e,r){"use strict";var n=t("../../components/colorscale/has_colorscale"),i=t("../../components/colorscale/calc"),a=t("../../lib"),o=t("../../lib/gup").wrap;e.exports=function(t,e){var r=!!e.line.colorscale&&a.isArrayOrTypedArray(e.line.color),s=r?e.line.color:function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=.5;return e}(e._length),l=r?e.line.colorscale:[[0,e.line.color],[1,e.line.color]];return n(e,"line")&&i(e,s,"line","c"),o({lineColor:s,cscale:l})}},{"../../components/colorscale/calc":575,"../../components/colorscale/has_colorscale":581,"../../lib":693,"../../lib/gup":690}],1000:[function(t,e,r){"use strict";e.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:["contextLineLayer","focusLineLayer","pickLineLayer"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,captureWidth:10,fillColor:"magenta",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeColor:"white",strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:"axis-extent-text",parcoordsLineLayers:"parcoords-line-layers",parcoordsLineLayer:"parcoords-lines",parcoords:"parcoords",parcoordsControlView:"parcoords-control-view",yAxis:"y-axis",axisOverlays:"axis-overlays",axis:"axis",axisHeading:"axis-heading",axisTitle:"axis-title",axisExtent:"axis-extent",axisExtentTop:"axis-extent-top",axisExtentTopText:"axis-extent-top-text",axisExtentBottom:"axis-extent-bottom",axisExtentBottomText:"axis-extent-bottom-text",axisBrush:"axis-brush"},id:{filterBarPattern:"filter-bar-pattern"}}},{}],1001:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/has_colorscale"),a=t("../../components/colorscale/defaults"),o=t("../../plots/domain").defaults,s=t("../../plots/array_container_defaults"),l=t("./attributes"),c=t("./axisbrush"),u=t("./constants").maxDimensionCount,f=t("./merge_length");function h(t,e){function r(r,i){return n.coerce(t,e,l.dimensions,r,i)}var i=r("values"),a=r("visible");if(i&&i.length||(a=e.visible=!1),a){r("label"),r("tickvals"),r("ticktext"),r("tickformat"),r("range"),r("multiselect");var o=r("constraintrange");o&&(e.constraintrange=c.cleanRanges(o,e))}}e.exports=function(t,e,r,c){function p(r,i){return n.coerce(t,e,l,r,i)}var d=t.dimensions;Array.isArray(d)&&d.length>u&&(n.log("parcoords traces support up to "+u+" dimensions at the moment"),d.splice(u));var g=s(t,e,{name:"dimensions",handleItemDefaults:h}),m=function(t,e,r,o,s){var l=s("line.color",r);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,c,p);o(e,c,p),Array.isArray(g)&&g.length||(e.visible=!1),f(e,g,"values",m);var v={family:c.font.family,size:Math.round(c.font.size/1.2),color:c.font.color};n.coerceFont(p,"labelfont",v),n.coerceFont(p,"tickfont",v),n.coerceFont(p,"rangefont",v)}},{"../../components/colorscale/defaults":577,"../../components/colorscale/has_colorscale":581,"../../lib":693,"../../plots/array_container_defaults":738,"../../plots/domain":767,"./attributes":996,"./axisbrush":997,"./constants":1e3,"./merge_length":1004}],1002:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.calc=t("./calc"),n.plot=t("./plot"),n.colorbar={container:"line",min:"cmin",max:"cmax"},n.moduleType="trace",n.name="parcoords",n.basePlotModule=t("./base_plot"),n.categories=["gl","regl","noOpacity"],n.meta={},e.exports=n},{"./attributes":996,"./base_plot":998,"./calc":999,"./defaults":1001,"./plot":1006}],1003:[function(t,e,r){"use strict";var n=t("glslify"),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 p0, p1, p2, p3,\n p4, p5, p6, p7,\n p8, p9, pa, pb,\n pc, pd, pe;\n\nattribute vec4 pf;\n\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution,\n viewBoxPosition,\n viewBoxSize;\n\nuniform sampler2D palette;\nuniform sampler2D mask;\nuniform float maskHeight;\n\nuniform vec2 colorClamp;\n\nvarying vec4 fragColor;\n\nvec4 unit_1 = vec4(1, 1, 1, 1);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * unit_1, unit_1);\n}\n\nfloat axisY(\n float x,\n mat4 d[4],\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\n ) {\n\n float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\n float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\n return y1 * (1.0 - x) + y2 * x;\n}\n\nconst int bitsPerByte = 8;\n\nint mod2(int a) {\n return a - 2 * (a / 2);\n}\n\nint mod8(int a) {\n return a - 8 * (a / 8);\n}\n\nvec4 zero = vec4(0, 0, 0, 0);\nvec4 unit_0 = vec4(1, 1, 1, 1);\nvec2 xyProjection = vec2(1, 1);\n\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\n return mat4(clamp(m[0], lo[0], hi[0]),\n clamp(m[1], lo[1], hi[1]),\n clamp(m[2], lo[2], hi[2]),\n clamp(m[3], lo[3], hi[3]));\n}\n\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\n return mclamp(p, lo, hi) == p;\n}\n\nbool withinBoundingBox(\n mat4 d[4],\n mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD\n ) {\n\n return mshow(d[0], loA, hiA) &&\n mshow(d[1], loB, hiB) &&\n mshow(d[2], loC, hiC) &&\n mshow(d[3], loD, hiD);\n}\n\nbool withinRasterMask(mat4 d[4], sampler2D mask, float height) {\n bool result = true;\n int bitInByteStepper;\n float valY, valueY, scaleX;\n int hit, bitmask, valX;\n for(int i = 0; i < 4; i++) {\n for(int j = 0; j < 4; j++) {\n for(int k = 0; k < 4; k++) {\n bitInByteStepper = mod8(j * 4 + k);\n valX = i * 2 + j / 2;\n valY = d[i][j][k];\n valueY = valY * (height - 1.0) + 0.5;\n scaleX = (float(valX) + 0.5) / 8.0;\n hit = int(texture2D(mask, vec2(scaleX, (valueY + 0.5) / height))[3] * 255.0) / int(pow(2.0, float(bitInByteStepper)));\n result = result && mod2(hit) == 1;\n }\n }\n }\n return result;\n}\n\nvec4 position(\n float depth,\n vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\n mat4 dims[4],\n float signum,\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D,\n mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD,\n sampler2D mask, float maskHeight\n ) {\n\n float x = 0.5 * signum + 0.5;\n float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\n\n float show = float(\n withinBoundingBox(dims, loA, hiA, loB, hiB, loC, hiC, loD, hiD)\n && withinRasterMask(dims, mask, maskHeight)\n );\n\n vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\n float depthOrHide = depth + 2.0 * (1.0 - show);\n\n return vec4(\n xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\n depthOrHide,\n 1.0\n );\n}\n\nvoid main() {\n\n float prominence = abs(pf[3]);\n\n mat4 p[4];\n p[0] = mat4(p0, p1, p2, p3);\n p[1] = mat4(p4, p5, p6, p7);\n p[2] = mat4(p8, p9, pa, pb);\n p[3] = mat4(pc, pd, pe, abs(pf));\n\n gl_Position = position(\n 1.0 - prominence,\n resolution, viewBoxPosition, viewBoxSize,\n p,\n sign(pf[3]),\n dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD,\n mask, maskHeight\n );\n\n float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\n fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\n}\n"]),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 p0, p1, p2, p3,\n p4, p5, p6, p7,\n p8, p9, pa, pb,\n pc, pd, pe;\n\nattribute vec4 pf;\n\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D;\n\nuniform vec2 resolution,\n viewBoxPosition,\n viewBoxSize;\n\nuniform sampler2D palette;\n\nuniform vec2 colorClamp;\n\nvarying vec4 fragColor;\n\nvec2 xyProjection = vec2(1, 1);\n\nvec4 unit = vec4(1, 1, 1, 1);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * unit, unit);\n}\n\nfloat axisY(\n float x,\n mat4 d[4],\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\n ) {\n\n float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\n float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\n return y1 * (1.0 - x) + y2 * x;\n}\n\nvec4 position(\n float depth,\n vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\n mat4 dims[4],\n float signum,\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\n ) {\n\n float x = 0.5 * signum + 0.5;\n float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\n\n vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\n\n return vec4(\n xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\n depth,\n 1.0\n );\n}\n\nvoid main() {\n\n float prominence = abs(pf[3]);\n\n mat4 p[4];\n p[0] = mat4(p0, p1, p2, p3);\n p[1] = mat4(p4, p5, p6, p7);\n p[2] = mat4(p8, p9, pa, pb);\n p[3] = mat4(pc, pd, pe, abs(pf));\n\n gl_Position = position(\n 1.0 - prominence,\n resolution, viewBoxPosition, viewBoxSize,\n p,\n sign(pf[3]),\n dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D\n );\n\n float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\n fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 p0, p1, p2, p3,\n p4, p5, p6, p7,\n p8, p9, pa, pb,\n pc, pd, pe;\n\nattribute vec4 pf;\n\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution,\n viewBoxPosition,\n viewBoxSize;\n\nuniform sampler2D mask;\nuniform float maskHeight;\n\nuniform vec2 colorClamp;\n\nvarying vec4 fragColor;\n\nvec4 unit_1 = vec4(1, 1, 1, 1);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * unit_1, unit_1);\n}\n\nfloat axisY(\n float x,\n mat4 d[4],\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\n ) {\n\n float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\n float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\n return y1 * (1.0 - x) + y2 * x;\n}\n\nconst int bitsPerByte = 8;\n\nint mod2(int a) {\n return a - 2 * (a / 2);\n}\n\nint mod8(int a) {\n return a - 8 * (a / 8);\n}\n\nvec4 zero = vec4(0, 0, 0, 0);\nvec4 unit_0 = vec4(1, 1, 1, 1);\nvec2 xyProjection = vec2(1, 1);\n\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\n return mat4(clamp(m[0], lo[0], hi[0]),\n clamp(m[1], lo[1], hi[1]),\n clamp(m[2], lo[2], hi[2]),\n clamp(m[3], lo[3], hi[3]));\n}\n\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\n return mclamp(p, lo, hi) == p;\n}\n\nbool withinBoundingBox(\n mat4 d[4],\n mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD\n ) {\n\n return mshow(d[0], loA, hiA) &&\n mshow(d[1], loB, hiB) &&\n mshow(d[2], loC, hiC) &&\n mshow(d[3], loD, hiD);\n}\n\nbool withinRasterMask(mat4 d[4], sampler2D mask, float height) {\n bool result = true;\n int bitInByteStepper;\n float valY, valueY, scaleX;\n int hit, bitmask, valX;\n for(int i = 0; i < 4; i++) {\n for(int j = 0; j < 4; j++) {\n for(int k = 0; k < 4; k++) {\n bitInByteStepper = mod8(j * 4 + k);\n valX = i * 2 + j / 2;\n valY = d[i][j][k];\n valueY = valY * (height - 1.0) + 0.5;\n scaleX = (float(valX) + 0.5) / 8.0;\n hit = int(texture2D(mask, vec2(scaleX, (valueY + 0.5) / height))[3] * 255.0) / int(pow(2.0, float(bitInByteStepper)));\n result = result && mod2(hit) == 1;\n }\n }\n }\n return result;\n}\n\nvec4 position(\n float depth,\n vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\n mat4 dims[4],\n float signum,\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D,\n mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD,\n sampler2D mask, float maskHeight\n ) {\n\n float x = 0.5 * signum + 0.5;\n float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\n\n float show = float(\n withinBoundingBox(dims, loA, hiA, loB, hiB, loC, hiC, loD, hiD)\n && withinRasterMask(dims, mask, maskHeight)\n );\n\n vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\n float depthOrHide = depth + 2.0 * (1.0 - show);\n\n return vec4(\n xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\n depthOrHide,\n 1.0\n );\n}\n\nvoid main() {\n\n float prominence = abs(pf[3]);\n\n mat4 p[4];\n p[0] = mat4(p0, p1, p2, p3);\n p[1] = mat4(p4, p5, p6, p7);\n p[2] = mat4(p8, p9, pa, pb);\n p[3] = mat4(pc, pd, pe, abs(pf));\n\n gl_Position = position(\n 1.0 - prominence,\n resolution, viewBoxPosition, viewBoxSize,\n p,\n sign(pf[3]),\n dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD,\n mask, maskHeight\n );\n\n fragColor = vec4(pf.rgb, 1.0);\n}\n"]),s=n(["precision lowp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}\n"]),l=t("../../lib"),c=1e-6,u=1e-7,f=2048,h=64,p=2,d=4,g=8,m=h/g,v=[119,119,119],y=new Uint8Array(4),x=new Uint8Array(4),b={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function _(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function w(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:y})}(t),r.drawCompleted=!0),function s(l){var c;c=Math.min(n,i-l*n),a.offset=p*l*n,a.count=p*c,0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],_(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(e(a),l*n+c<i&&(r.currentRafs[o]=window.requestAnimationFrame(function(){s(l+1)})),r.drawCompleted=!1)}(0)}function k(t,e){return(t>>>8*e)%256/255}function M(t,e,r){var n,i,a,o=[];for(i=0;i<t;i++)for(a=0;a<p;a++)for(n=0;n<d;n++)o.push(e[i*h+r*d+n]),r*d+n===h-1&&a%2==0&&(o[o.length-1]*=-1);return o}e.exports=function(t,e){var r,n,p,d,y,A=e.context,T=e.pick,S=e.regl,E={currentRafs:{},drawCompleted:!0,clearOnly:!1},C=function(t){for(var e={},r=0;r<16;r++)e["p"+r.toString(16)]=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)});return e}(S),L=S.texture(b);P(e);var z=S({profile:!1,blend:{enable:A,func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:1,dstAlpha:1},equation:{rgb:"add",alpha:"add"},color:[0,0,0,0]},depth:{enable:!A,mask:!0,func:"less",range:[0,1]},cull:{enable:!0,face:"back"},scissor:{enable:!0,box:{x:S.prop("scissorX"),y:S.prop("scissorY"),width:S.prop("scissorWidth"),height:S.prop("scissorHeight")}},viewport:{x:S.prop("viewportX"),y:S.prop("viewportY"),width:S.prop("viewportWidth"),height:S.prop("viewportHeight")},dither:!1,vert:T?o:A?a:i,frag:s,primitive:"lines",lineWidth:1,attributes:C,uniforms:{resolution:S.prop("resolution"),viewBoxPosition:S.prop("viewBoxPosition"),viewBoxSize:S.prop("viewBoxSize"),dim1A:S.prop("dim1A"),dim2A:S.prop("dim2A"),dim1B:S.prop("dim1B"),dim2B:S.prop("dim2B"),dim1C:S.prop("dim1C"),dim2C:S.prop("dim2C"),dim1D:S.prop("dim1D"),dim2D:S.prop("dim2D"),loA:S.prop("loA"),hiA:S.prop("hiA"),loB:S.prop("loB"),hiB:S.prop("hiB"),loC:S.prop("loC"),hiC:S.prop("hiC"),loD:S.prop("loD"),hiD:S.prop("hiD"),palette:L,mask:S.prop("maskTexture"),maskHeight:S.prop("maskHeight"),colorClamp:S.prop("colorClamp")},offset:S.prop("offset"),count:S.prop("count")});function P(t){r=t.model,n=t.viewModel,p=n.dimensions.slice(),d=p[0]?p[0].values.length:0;var e=r.lines,i=T?e.color.map(function(t,r){return r/e.color.length}):e.color,a=Math.max(1/255,Math.pow(1/i.length,1/3)),o=function(t,e,r){for(var n,i=e.length,a=[],o=0;o<t;o++)for(var s=0;s<h;s++)a.push(s<i?e[s].paddedUnitValues[o]:s===h-1?(n=r[o],Math.max(c,Math.min(1-c,n))):s>=h-4?k(o,h-2-s):.5);return a}(d,p,i);!function(t,e,r){for(var n=0;n<16;n++)t["p"+n.toString(16)](M(e,r,n))}(C,d,o),L=S.texture(l.extendFlat({data:function(t,e,r){for(var n=[],i=0;i<256;i++){var a=t(i/255);n.push((e?v:a).concat(r))}return n}(r.unitToColor,A,Math.round(255*(A?a:1)))},b))}var O=[0,1];var I=[];function D(t,e,n,i,a,o,s,c,u,f,h){var p,d,g,m,v=[t,e],y=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(p=0;p<2;p++)for(m=v[p],d=0;d<4;d++)for(g=0;g<16;g++)y[p][d][g]=g+16*d===m?1:0;var x=r.lines.canvasOverdrag,b=r.domain,_=r.canvasWidth,w=r.canvasHeight;return l.extendFlat({key:s,resolution:[_,w],viewBoxPosition:[n+x,i],viewBoxSize:[a,o],i:t,ii:e,dim1A:y[0][0],dim1B:y[0][1],dim1C:y[0][2],dim1D:y[0][3],dim2A:y[1][0],dim2B:y[1][1],dim2C:y[1][2],dim2D:y[1][3],colorClamp:O,scissorX:(c===u?0:n+x)+(r.pad.l-x)+r.layoutWidth*b.x[0],scissorWidth:(c===f?_-n+x:a+.5)+(c===u?n+x:0),scissorY:i+r.pad.b+r.layoutHeight*b.y[0],scissorHeight:o,viewportX:r.pad.l-x+r.layoutWidth*b.x[0],viewportY:r.pad.b+r.layoutHeight*b.y[0],viewportWidth:_,viewportHeight:w},h)}return{setColorDomain:function(t){O[0]=t[0],O[1]=t[1]},render:function(t,e,n){var i,a,o,s=t.length,l=1/0,c=-1/0;for(i=0;i<s;i++)t[i].dim2.canvasX>c&&(c=t[i].dim2.canvasX,o=i),t[i].dim1.canvasX<l&&(l=t[i].dim1.canvasX,a=i);0===s&&_(S,0,0,r.canvasWidth,r.canvasHeight);var h=A?{}:function(){var t,e,r,n=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(t=0;t<2;t++)for(e=0;e<4;e++)for(r=0;r<16;r++){var i,a=r+16*e;i=a<p.length?p[a].brush.filter.getBounds()[t]:t,n[t][e][r]=i+(2*t-1)*u}function o(t,e){var r=f-1;return[Math.max(0,Math.floor(e[0]*r)),Math.min(r,Math.ceil(e[1]*r))]}for(var s=Array.apply(null,new Array(f*m)).map(function(){return 255}),l=0;l<p.length;l++){var c=l%g,h=(l-c)/g,d=Math.pow(2,c),v=p[l],x=v.brush.filter.get();if(!(x.length<2))for(var b=o(0,x[0])[1],_=1;_<x.length;_++){for(var w=o(0,x[_]),k=b+1;k<w[0];k++)s[k*m+h]&=~d;b=Math.max(b,w[1])}}var M={shape:[m,f],format:"alpha",type:"uint8",mag:"nearest",min:"nearest",data:s};return y?y(M):y=S.texture(M),{maskTexture:y,maskHeight:f,loA:n[0][0],loB:n[0][1],loC:n[0][2],loD:n[0][3],hiA:n[1][0],hiB:n[1][1],hiC:n[1][2],hiD:n[1][3]}}();for(i=0;i<s;i++){var v=t[i],x=v.dim1,b=x.crossfilterDimensionIndex,k=v.canvasX,M=v.canvasY,T=v.dim2.crossfilterDimensionIndex,C=v.panelSizeX,L=v.panelSizeY,P=k+C;if(e||!I[b]||I[b][0]!==k||I[b][1]!==P){I[b]=[k,P];var O=D(b,T,k,M,C,L,x.crossfilterDimensionIndex,i,a,o,h);E.clearOnly=n,w(S,z,E,e?r.lines.blockLineCount:d,d,O)}}},readPixel:function(t,e){return S.read({x:t,y:e,width:1,height:1,data:x}),x},readPixels:function(t,e,r,n){var i=new Uint8Array(4*r*n);return S.read({x:t,y:e,width:r,height:n,data:i}),i},destroy:function(){for(var e in t.style["pointer-events"]="none",L.destroy(),y&&y.destroy(),C)C[e].destroy()},update:P}}},{"../../lib":693,glslify:390}],1004:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i,a;for(n||(n=1/0),i=0;i<e.length;i++)(a=e[i]).visible&&(n=Math.min(n,a[r].length));for(n===1/0&&(n=0),t._length=n,i=0;i<e.length;i++)(a=e[i]).visible&&(a._length=n);return n}},{}],1005:[function(t,e,r){"use strict";var n=t("./lines"),i=t("./constants"),a=t("../../lib"),o=t("d3"),s=t("../../components/drawing"),l=t("../../lib/gup"),c=l.keyFun,u=l.repeat,f=l.unwrap,h=t("./axisbrush");function p(t){return!("visible"in t)||t.visible}function d(t){var e=t.range?t.range[0]:a.aggNums(Math.min,null,t.values,t._length),r=t.range?t.range[1]:a.aggNums(Math.max,null,t.values,t._length);return!isNaN(e)&&isFinite(e)||(e=0),!isNaN(r)&&isFinite(r)||(r=0),e===r&&(0===e?(e-=1,r+=1):(e*=.9,r*=1.1)),[e,r]}function g(t){return t.dimensions.some(function(t){return t.brush.filterSpecified})}function m(t,e,r){var n=f(e),s=n.trace,l=n.lineColor,c=n.cscale,u=s.line,h=s.domain,g=s.dimensions,m=t.width,v=s.labelfont,y=s.tickfont,x=s.rangefont,b=a.extendDeepNoArrays({},u,{color:l.map(o.scale.linear().domain(d({values:l,range:[u.cmin,u.cmax],_length:s._length}))),blockLineCount:i.blockLineCount,canvasOverdrag:i.overdrag*i.canvasPixelRatio}),_=Math.floor(m*(h.x[1]-h.x[0])),w=Math.floor(t.height*(h.y[1]-h.y[0])),k=t.margin||{l:80,r:80,t:100,b:80},M=_,A=w;return{key:r,colCount:g.filter(p).length,dimensions:g,tickDistance:i.tickDistance,unitToColor:function(t){var e=t.map(function(t){return t[0]}),r=t.map(function(t){return o.rgb(t[1])}),n="rgb".split("").map(function(t){return o.scale.linear().clamp(!0).domain(e).range(r.map((n=t,function(t){return t[n]})));var n});return function(t){return n.map(function(e){return e(t)})}}(c),lines:b,labelFont:v,tickFont:y,rangeFont:x,layoutWidth:m,layoutHeight:t.height,domain:h,translateX:h.x[0]*m,translateY:t.height-h.y[1]*t.height,pad:k,canvasWidth:M*i.canvasPixelRatio+2*b.canvasOverdrag,canvasHeight:A*i.canvasPixelRatio,width:M,height:A,canvasPixelRatio:i.canvasPixelRatio}}function v(t,e,r){var n=r.width,s=r.height,l=r.dimensions,c=r.canvasPixelRatio,u=function(t){return n*t/Math.max(1,r.colCount-1)},f=i.verticalPadding/s,m=function(t,e){return o.scale.linear().range([e,t-e])}(s,i.verticalPadding),v={key:r.key,xScale:u,model:r,inBrushDrag:!1},y={};return v.dimensions=l.filter(p).map(function(n,l){var p=function(t,e){return o.scale.linear().domain(d(t)).range([e,1-e])}(n,f),x=y[n.label];y[n.label]=(x||0)+1;var b=n.label+(x?"__"+x:""),_=n.constraintrange,w=_&&_.length;w&&!Array.isArray(_[0])&&(_=[_]);var k=w?_.map(function(t){return t.map(p)}):[[0,1]],M=n.values;M.length>n._length&&(M=M.slice(0,n._length));var A,T=n.tickvals;function S(t,e){return{val:t,text:A[e]}}function E(t,e){return t.val-e.val}if(Array.isArray(T)&&T.length){A=n.ticktext,Array.isArray(A)&&A.length?A.length>T.length?A=A.slice(0,T.length):T.length>A.length&&(T=T.slice(0,A.length)):A=T.map(o.format(n.tickformat));for(var C=1;C<T.length;C++)if(T[C]<T[C-1]){for(var L=T.map(S).sort(E),z=0;z<T.length;z++)T[z]=L[z].val,A[z]=L[z].text;break}}else T=void 0;return{key:b,label:n.label,tickFormat:n.tickformat,tickvals:T,ticktext:A,ordinal:!!T,multiselect:n.multiselect,xIndex:l,crossfilterDimensionIndex:l,visibleIndex:n._index,height:s,values:M,paddedUnitValues:M.map(p),unitTickvals:T&&T.map(p),xScale:u,x:u(l),canvasX:u(l)*c,unitToPaddedPx:m,domainScale:function(t,e,r,n,i){var a,s,l=d(r);return n?o.scale.ordinal().domain(n.map((a=o.format(r.tickformat),s=i,s?function(t,e){var r=s[e];return null==r?a(t):r}:a))).range(n.map(function(r){var n=(r-l[0])/(l[1]-l[0]);return t-e+n*(2*e-t)})):o.scale.linear().domain(l).range([t-e,e])}(s,i.verticalPadding,n,T,A),ordinalScale:function(t){if(t.tickvals){var e=d(t);return o.scale.ordinal().domain(t.tickvals).range(t.tickvals.map(function(t){return(t-e[0])/(e[1]-e[0])}))}}(n),parent:v,model:r,brush:h.makeBrush(t,w,k,function(){t.linePickActive(!1)},function(){var e=v;e.focusLayer&&e.focusLayer.render(e.panels,!0);var r=g(e);!t.contextShown()&&r?(e.contextLayer&&e.contextLayer.render(e.panels,!0),t.contextShown(!0)):t.contextShown()&&!r&&(e.contextLayer&&e.contextLayer.render(e.panels,!0,!0),t.contextShown(!1))},function(r){var i=v;if(i.focusLayer.render(i.panels,!0),i.pickLayer&&i.pickLayer.render(i.panels,!0),t.linePickActive(!0),e&&e.filterChanged){var o=p.invert,s=r.map(function(t){return t.map(o).sort(a.sorterAsc)}).sort(function(t,e){return t[0]-e[0]});e.filterChanged(i.key,n._index,s)}})}}),v}function y(t){t.classed(i.cn.axisExtentText,!0).attr("text-anchor","middle").style("cursor","default").style("user-select","none")}e.exports=function(t,e,r,l,p,d){var x,b,_=(x=!0,b=!1,{linePickActive:function(t){return arguments.length?x=!!t:x},contextShown:function(t){return arguments.length?b=!!t:b}}),w=l.filter(function(t){return f(t).trace.visible}).map(m.bind(0,p)).map(v.bind(0,_,d));r.each(function(t,e){return a.extendFlat(t,w[e])});var k=r.selectAll(".gl-canvas").each(function(t){t.viewModel=w[0],t.model=t.viewModel?t.viewModel.model:null}),M=null;k.filter(function(t){return t.pick}).style("pointer-events","auto").on("mousemove",function(t){if(_.linePickActive()&&t.lineLayer&&d&&d.hover){var e=o.event,r=this.width,n=this.height,i=o.mouse(this),a=i[0],s=i[1];if(a<0||s<0||a>=r||s>=n)return;var l=t.lineLayer.readPixel(a,n-1-s),c=0!==l[3],u=c?l[2]+256*(l[1]+256*l[0]):null,f={x:a,y:s,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:u};u!==M&&(c?d.hover(f):d.unhover&&d.unhover(f),M=u)}}),k.style("opacity",function(t){return t.pick?.01:1}),e.style("background","rgba(255, 255, 255, 0)");var A=e.selectAll("."+i.cn.parcoords).data(w,c);A.exit().remove(),A.enter().append("g").classed(i.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),A.attr("transform",function(t){return"translate("+t.model.translateX+","+t.model.translateY+")"});var T=A.selectAll("."+i.cn.parcoordsControlView).data(u,c);T.enter().append("g").classed(i.cn.parcoordsControlView,!0),T.attr("transform",function(t){return"translate("+t.model.pad.l+","+t.model.pad.t+")"});var S=T.selectAll("."+i.cn.yAxis).data(function(t){return t.dimensions},c);function E(t,e){for(var r=e.panels||(e.panels=[]),n=t.data(),i=n.length-1,a=0;a<i;a++){var o=r[a]||(r[a]={}),s=n[a],l=n[a+1];o.dim1=s,o.dim2=l,o.canvasX=s.canvasX,o.panelSizeX=l.canvasX-s.canvasX,o.panelSizeY=e.model.canvasHeight,o.y=0,o.canvasY=0}}S.enter().append("g").classed(i.cn.yAxis,!0),T.each(function(t){E(S,t)}),k.each(function(t){t.viewModel&&(t.lineLayer?t.lineLayer.update(t):t.lineLayer=n(this,t),t.viewModel[t.key]=t.lineLayer,t.lineLayer.render(t.viewModel.panels,!t.context))}),S.attr("transform",function(t){return"translate("+t.xScale(t.xIndex)+", 0)"}),S.call(o.behavior.drag().origin(function(t){return t}).on("drag",function(t){var e=t.parent;_.linePickActive(!1),t.x=Math.max(-i.overdrag,Math.min(t.model.width+i.overdrag,o.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,S.sort(function(t,e){return t.x-e.x}).each(function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio}),E(S,e),S.filter(function(e){return 0!==Math.abs(t.xIndex-e.xIndex)}).attr("transform",function(t){return"translate("+t.xScale(t.xIndex)+", 0)"}),o.select(this).attr("transform","translate("+t.x+", 0)"),S.each(function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)}),e.contextLayer&&e.contextLayer.render(e.panels,!1,!g(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)}).on("dragend",function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,E(S,e),o.select(this).attr("transform",function(t){return"translate("+t.x+", 0)"}),e.contextLayer&&e.contextLayer.render(e.panels,!1,!g(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),_.linePickActive(!0),d&&d.axesMoved&&d.axesMoved(e.key,e.dimensions.map(function(t){return t.crossfilterDimensionIndex}))})),S.exit().remove();var C=S.selectAll("."+i.cn.axisOverlays).data(u,c);C.enter().append("g").classed(i.cn.axisOverlays,!0),C.selectAll("."+i.cn.axis).remove();var L=C.selectAll("."+i.cn.axis).data(u,c);L.enter().append("g").classed(i.cn.axis,!0),L.each(function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,n=r.domain();o.select(this).call(o.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?n:null).tickFormat(t.ordinal?function(t){return t}:null).scale(r)),s.font(L.selectAll("text"),t.model.tickFont)}),L.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),L.selectAll("text").style("text-shadow","1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff").style("cursor","default").style("user-select","none");var z=C.selectAll("."+i.cn.axisHeading).data(u,c);z.enter().append("g").classed(i.cn.axisHeading,!0);var P=z.selectAll("."+i.cn.axisTitle).data(u,c);P.enter().append("text").classed(i.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("user-select","none").style("pointer-events","auto"),P.attr("transform","translate(0,"+-i.axisTitleOffset+")").text(function(t){return t.label}).each(function(t){s.font(o.select(this),t.model.labelFont)});var O=C.selectAll("."+i.cn.axisExtent).data(u,c);O.enter().append("g").classed(i.cn.axisExtent,!0);var I=O.selectAll("."+i.cn.axisExtentTop).data(u,c);I.enter().append("g").classed(i.cn.axisExtentTop,!0),I.attr("transform","translate(0,"+-i.axisExtentOffset+")");var D=I.selectAll("."+i.cn.axisExtentTopText).data(u,c);function R(t,e){if(t.ordinal)return"";var r=t.domainScale.domain();return o.format(t.tickFormat)(r[e?r.length-1:0])}D.enter().append("text").classed(i.cn.axisExtentTopText,!0).call(y),D.text(function(t){return R(t,!0)}).each(function(t){s.font(o.select(this),t.model.rangeFont)});var B=O.selectAll("."+i.cn.axisExtentBottom).data(u,c);B.enter().append("g").classed(i.cn.axisExtentBottom,!0),B.attr("transform",function(t){return"translate(0,"+(t.model.height+i.axisExtentOffset)+")"});var F=B.selectAll("."+i.cn.axisExtentBottomText).data(u,c);F.enter().append("text").classed(i.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(y),F.text(function(t){return R(t)}).each(function(t){s.font(o.select(this),t.model.rangeFont)}),h.ensureAxisBrush(C)}},{"../../components/drawing":592,"../../lib":693,"../../lib/gup":690,"./axisbrush":997,"./constants":1e3,"./lines":1003,d3:147}],1006:[function(t,e,r){"use strict";var n=t("./parcoords"),i=t("../../lib/prepare_regl");e.exports=function(t,e){var r=t._fullLayout,a=r._toppaper,o=r._paperdiv,s=r._glcontainer;if(i(t)){var l={},c={},u=r._size;e.forEach(function(e,r){l[r]=t.data[r].dimensions,c[r]=t.data[r].dimensions.slice()});n(o,a,s,e,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:function(e,r,n){var i=c[e][r],a=n.map(function(t){return t.slice()});a.length?(1===a.length&&(a=a[0]),i.constraintrange=a,a=[a]):(delete i.constraintrange,a=null);var o={};o["dimensions["+r+"].constraintrange"]=a,t.emit("plotly_restyle",[o,[e]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){function n(t){return!("visible"in t)||t.visible}function i(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}var a=function(t){return function(e,n){return i(r,t,e)-i(r,t,n)}}(c[e].filter(n));l[e].sort(a),c[e].filter(function(t){return!n(t)}).sort(function(t){return c[e].indexOf(t)}).forEach(function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(c[e].indexOf(t),0,t)}),t.emit("plotly_restyle")}})}}},{"../../lib/prepare_regl":707,"./parcoords":1005}],1007:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),i=t("../../plots/font_attributes"),a=t("../../plots/attributes"),o=t("../../plots/domain").attributes,s=t("../../lib/extend").extendFlat,l=i({editType:"calc",colorEditType:"style"});e.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:n.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},editType:"calc"},text:{valType:"data_array",editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:s({},a.hoverinfo,{flags:["label","text","value","percent","name"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"calc"},textfont:s({},l,{}),insidetextfont:s({},l,{}),outsidetextfont:s({},l,{}),domain:o({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"number",min:-360,max:360,dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"}}},{"../../components/color/attributes":566,"../../lib/extend":682,"../../plots/attributes":739,"../../plots/domain":767,"../../plots/font_attributes":768}],1008:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../plots/get_data").getModuleCalcData;r.name="pie",r.plot=function(t){var e=n.getModule("pie"),r=i(t.calcdata,e)[0];r.length&&e.plot(t,r)},r.clean=function(t,e,r,n){var i=n._has&&n._has("pie"),a=e._has&&e._has("pie");i&&!a&&n._pielayer.selectAll("g.trace").remove()}},{"../../plots/get_data":778,"../../registry":825}],1009:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib").isArrayOrTypedArray,a=t("tinycolor2"),o=t("../../components/color"),s=t("./helpers");r.calc=function(t,e){var r,l,c,u,f,h=e.values,p=i(h)&&h.length,d=e.labels,g=e.marker.colors||[],m=[],v=t._fullLayout,y=v._piecolormap,x={},b=0,_=v.hiddenlabels||[];if(e.dlabel)for(d=new Array(h.length),r=0;r<h.length;r++)d[r]=String(e.label0+r*e.dlabel);function w(t,e){return!!t&&(!!(t=a(t)).isValid()&&(t=o.addOpacity(t,t.getAlpha()),y[e]||(y[e]=t),t))}var k=(p?h:d).length;for(r=0;r<k;r++){if(p){if(l=h[r],!n(l))continue;if((l=+l)<0)continue}else l=1;void 0!==(c=d[r])&&""!==c||(c=r);var M=x[c=String(c)];void 0===M?(x[c]=m.length,(u=-1!==_.indexOf(c))||(b+=l),m.push({v:l,label:c,color:w(g[r],c),i:r,pts:[r],hidden:u})):((f=m[M]).v+=l,f.pts.push(r),f.hidden||(b+=l),!1===f.color&&g[r]&&(f.color=w(g[r],c)))}if(e.sort&&m.sort(function(t,e){return e.v-t.v}),m[0]&&(m[0].vTotal=b),e.textinfo&&"none"!==e.textinfo){var A,T=-1!==e.textinfo.indexOf("label"),S=-1!==e.textinfo.indexOf("text"),E=-1!==e.textinfo.indexOf("value"),C=-1!==e.textinfo.indexOf("percent"),L=v.separators;for(r=0;r<m.length;r++){if(f=m[r],A=T?[f.label]:[],S){var z=s.getFirstFilled(e.text,f.pts);z&&A.push(z)}E&&A.push(s.formatPieValue(f.v,L)),C&&A.push(s.formatPiePercent(f.v/b,L)),f.text=A.join("<br>")}}return m},r.crossTraceCalc=function(t){var e=t._fullLayout,r=t.calcdata,n=e.piecolorway,i=e._piecolormap;e.extendpiecolors&&(n=function(t){var e,r=JSON.stringify(t),n=l[r];if(!n){for(n=t.slice(),e=0;e<t.length;e++)n.push(a(t[e]).lighten(20).toHexString());for(e=0;e<t.length;e++)n.push(a(t[e]).darken(20).toHexString());l[r]=n}return n}(n));var o,s,c,u,f=0;for(o=0;o<r.length;o++)if("pie"===(c=r[o])[0].trace.type)for(s=0;s<c.length;s++)!1===(u=c[s]).color&&(i[u.label]?u.color=i[u.label]:(i[u.label]=u.color=n[f%n.length],f++))};var l={}},{"../../components/color":567,"../../lib":693,"./helpers":1012,"fast-isnumeric":213,tinycolor2:511}],1010:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../plots/domain").defaults;e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l,c=n.coerceFont,u=s("values"),f=n.isArrayOrTypedArray(u),h=s("labels");if(Array.isArray(h)?(l=h.length,f&&(l=Math.min(l,u.length))):f&&(l=u.length,s("label0"),s("dlabel")),l){e._length=l,s("marker.line.width")&&s("marker.line.color"),s("marker.colors"),s("scalegroup");var p=s("text"),d=s("textinfo",Array.isArray(p)?"text+percent":"percent");if(s("hovertext"),d&&"none"!==d){var g=s("textposition"),m=Array.isArray(g)||"auto"===g,v=m||"inside"===g,y=m||"outside"===g;if(v||y){var x=c(s,"textfont",o.font);v&&c(s,"insidetextfont",x),y&&c(s,"outsidetextfont",x)}}a(e,o,s),s("hole"),s("sort"),s("direction"),s("rotation"),s("pull")}else e.visible=!1}},{"../../lib":693,"../../plots/domain":767,"./attributes":1007}],1011:[function(t,e,r){"use strict";var n=t("../../components/fx/helpers").appendArrayMultiPointValues;e.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),r}},{"../../components/fx/helpers":606}],1012:[function(t,e,r){"use strict";var n=t("../../lib");r.formatPiePercent=function(t,e){var r=(100*t).toPrecision(3);return-1!==r.lastIndexOf(".")&&(r=r.replace(/[.]?0+$/,"")),n.numSeparate(r,e)+"%"},r.formatPieValue=function(t,e){var r=t.toPrecision(10);return-1!==r.lastIndexOf(".")&&(r=r.replace(/[.]?0+$/,"")),n.numSeparate(r,e)},r.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r<e.length;r++){var n=t[e[r]];if(n||0===n)return n}},r.castOption=function(t,e){return Array.isArray(t)?r.getFirstFilled(t,e):t||void 0}},{"../../lib":693}],1013:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.supplyLayoutDefaults=t("./layout_defaults"),n.layoutAttributes=t("./layout_attributes");var i=t("./calc");n.calc=i.calc,n.crossTraceCalc=i.crossTraceCalc,n.plot=t("./plot"),n.style=t("./style"),n.styleOne=t("./style_one"),n.moduleType="trace",n.name="pie",n.basePlotModule=t("./base_plot"),n.categories=["pie","showLegend"],n.meta={},e.exports=n},{"./attributes":1007,"./base_plot":1008,"./calc":1009,"./defaults":1010,"./layout_attributes":1014,"./layout_defaults":1015,"./plot":1016,"./style":1017,"./style_one":1018}],1014:[function(t,e,r){"use strict";e.exports={hiddenlabels:{valType:"data_array",editType:"calc"},piecolorway:{valType:"colorlist",editType:"calc"},extendpiecolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{}],1015:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("hiddenlabels"),r("piecolorway",e.colorway),r("extendpiecolors")}},{"../../lib":693,"./layout_attributes":1014}],1016:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/fx"),a=t("../../components/color"),o=t("../../components/drawing"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("./helpers"),u=t("./event_data");function f(t,e){if(t.v===e.vTotal&&!e.trace.hole)return 1;var r=Math.PI*Math.min(t.v/e.vTotal,.5);return Math.min(1/(1+1/Math.sin(r)),(1-e.trace.hole)/2)}function h(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}e.exports=function(t,e){var r=t._fullLayout;!function(t,e){var r,n,i,a,o,s,l,c,u,f=[];for(i=0;i<t.length;i++){if(o=t[i][0],s=o.trace,r=e.w*(s.domain.x[1]-s.domain.x[0]),n=e.h*(s.domain.y[1]-s.domain.y[0]),l=s.pull,Array.isArray(l))for(l=0,a=0;a<s.pull.length;a++)s.pull[a]>l&&(l=s.pull[a]);o.r=Math.min(r,n)/(2+2*l),o.cx=e.l+e.w*(s.domain.x[1]+s.domain.x[0])/2,o.cy=e.t+e.h*(2-s.domain.y[1]-s.domain.y[0])/2,s.scalegroup&&-1===f.indexOf(s.scalegroup)&&f.push(s.scalegroup)}for(a=0;a<f.length;a++){for(u=1/0,c=f[a],i=0;i<t.length;i++)(o=t[i][0]).trace.scalegroup===c&&(u=Math.min(u,o.r*o.r/o.vTotal));for(i=0;i<t.length;i++)(o=t[i][0]).trace.scalegroup===c&&(o.r=Math.sqrt(u*o.vTotal))}}(e,r._size);var p=s.makeTraceGroups(r._pielayer,e,"trace").each(function(e){var p=n.select(this),d=e[0],g=d.trace;!function(t){var e,r,n,i=t[0],a=i.trace,o=a.rotation*Math.PI/180,s=2*Math.PI/i.vTotal,l="px0",c="px1";if("counterclockwise"===a.direction){for(e=0;e<t.length&&t[e].hidden;e++);if(e===t.length)return;o+=s*t[e].v,s*=-1,l="px1",c="px0"}function u(t){return[i.r*Math.sin(t),-i.r*Math.cos(t)]}for(n=u(o),e=0;e<t.length;e++)(r=t[e]).hidden||(r[l]=n,o+=s*r.v/2,r.pxmid=u(o),r.midangle=o,o+=s*r.v/2,n=u(o),r[c]=n,r.largeArc=r.v>i.vTotal/2?1:0)}(e),p.attr("stroke-linejoin","round"),p.each(function(){var p=n.select(this).selectAll("g.slice").data(e);p.enter().append("g").classed("slice",!0),p.exit().remove();var m=[[[],[]],[[],[]]],v=!1;p.each(function(e){if(e.hidden)n.select(this).selectAll("path,g").remove();else{e.pointNumber=e.i,e.curveNumber=g.index,m[e.pxmid[1]<0?0:1][e.pxmid[0]<0?0:1].push(e);var a=d.cx,p=d.cy,y=n.select(this),x=y.selectAll("path.surface").data([e]),b=!1,_=!1;if(x.enter().append("path").classed("surface",!0).style({"pointer-events":"all"}),y.select("path.textline").remove(),y.on("mouseover",function(){var o=t._fullLayout,s=t._fullData[g.index];if(!t._dragging&&!1!==o.hovermode){var l=s.hoverinfo;if(Array.isArray(l)&&(l=i.castHoverinfo({hoverinfo:[c.castOption(l,e.pts)],_module:g._module},o,0)),"all"===l&&(l="label+text+value+percent+name"),"none"!==l&&"skip"!==l&&l){var h=f(e,d),m=a+e.pxmid[0]*(1-h),v=p+e.pxmid[1]*(1-h),y=r.separators,x=[];if(-1!==l.indexOf("label")&&x.push(e.label),-1!==l.indexOf("text")){var w=c.castOption(s.hovertext||s.text,e.pts);w&&x.push(w)}-1!==l.indexOf("value")&&x.push(c.formatPieValue(e.v,y)),-1!==l.indexOf("percent")&&x.push(c.formatPiePercent(e.v/d.vTotal,y));var k=g.hoverlabel,M=k.font;i.loneHover({x0:m-h*d.r,x1:m+h*d.r,y:v,text:x.join("<br>"),name:-1!==l.indexOf("name")?s.name:void 0,idealAlign:e.pxmid[0]<0?"left":"right",color:c.castOption(k.bgcolor,e.pts)||e.color,borderColor:c.castOption(k.bordercolor,e.pts),fontFamily:c.castOption(M.family,e.pts),fontSize:c.castOption(M.size,e.pts),fontColor:c.castOption(M.color,e.pts)},{container:o._hoverlayer.node(),outerContainer:o._paper.node(),gd:t}),b=!0}t.emit("plotly_hover",{points:[u(e,s)],event:n.event}),_=!0}}).on("mouseout",function(r){var a=t._fullLayout,o=t._fullData[g.index];_&&(r.originalEvent=n.event,t.emit("plotly_unhover",{points:[u(e,o)],event:n.event}),_=!1),b&&(i.loneUnhover(a._hoverlayer.node()),b=!1)}).on("click",function(){var r=t._fullLayout,a=t._fullData[g.index];t._dragging||!1===r.hovermode||(t._hoverdata=[u(e,a)],i.click(t,n.event))}),g.pull){var w=+c.castOption(g.pull,e.pts)||0;w>0&&(a+=w*e.pxmid[0],p+=w*e.pxmid[1])}e.cxFinal=a,e.cyFinal=p;var k=g.hole;if(e.v===d.vTotal){var M="M"+(a+e.px0[0])+","+(p+e.px0[1])+C(e.px0,e.pxmid,!0,1)+C(e.pxmid,e.px0,!0,1)+"Z";k?x.attr("d","M"+(a+k*e.px0[0])+","+(p+k*e.px0[1])+C(e.px0,e.pxmid,!1,k)+C(e.pxmid,e.px0,!1,k)+"Z"+M):x.attr("d",M)}else{var A=C(e.px0,e.px1,!0,1);if(k){var T=1-k;x.attr("d","M"+(a+k*e.px1[0])+","+(p+k*e.px1[1])+C(e.px1,e.px0,!1,k)+"l"+T*e.px0[0]+","+T*e.px0[1]+A+"Z")}else x.attr("d","M"+a+","+p+"l"+e.px0[0]+","+e.px0[1]+A+"Z")}var S=c.castOption(g.textposition,e.pts),E=y.selectAll("g.slicetext").data(e.text&&"none"!==S?[0]:[]);E.enter().append("g").classed("slicetext",!0),E.exit().remove(),E.each(function(){var r=s.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)});r.text(e.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(o.font,"outside"===S?g.outsidetextfont:g.insidetextfont).call(l.convertToTspans,t);var i,c=o.bBox(r.node());"outside"===S?i=h(c,e):(i=function(t,e,r){var n=Math.sqrt(t.width*t.width+t.height*t.height),i=t.width/t.height,a=Math.PI*Math.min(e.v/r.vTotal,.5),o=1-r.trace.hole,s=f(e,r),l={scale:s*r.r*2/n,rCenter:1-s,rotate:0};if(l.scale>=1)return l;var c=i+1/(2*Math.tan(a)),u=r.r*Math.min(1/(Math.sqrt(c*c+.5)+c),o/(Math.sqrt(i*i+o/2)+i)),h={scale:2*u/t.height,rCenter:Math.cos(u/r.r)-u*i/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},p=1/i,d=p+1/(2*Math.tan(a)),g=r.r*Math.min(1/(Math.sqrt(d*d+.5)+d),o/(Math.sqrt(p*p+o/2)+p)),m={scale:2*g/t.width,rCenter:Math.cos(g/r.r)-g/i/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},v=m.scale>h.scale?m:h;return l.scale<1&&v.scale>l.scale?v:l}(c,e,d),"auto"===S&&i.scale<1&&(r.call(o.font,g.outsidetextfont),g.outsidetextfont.family===g.insidetextfont.family&&g.outsidetextfont.size===g.insidetextfont.size||(c=o.bBox(r.node())),i=h(c,e)));var u=a+e.pxmid[0]*i.rCenter+(i.x||0),m=p+e.pxmid[1]*i.rCenter+(i.y||0);i.outside&&(e.yLabelMin=m-c.height/2,e.yLabelMid=m,e.yLabelMax=m+c.height/2,e.labelExtraX=0,e.labelExtraY=0,v=!0),r.attr("transform","translate("+u+","+m+")"+(i.scale<1?"scale("+i.scale+")":"")+(i.rotate?"rotate("+i.rotate+")":"")+"translate("+-(c.left+c.right)/2+","+-(c.top+c.bottom)/2+")")})}function C(t,r,n,i){return"a"+i*d.r+","+i*d.r+" 0 "+e.largeArc+(n?" 1 ":" 0 ")+i*(r[0]-t[0])+","+i*(r[1]-t[1])}}),v&&function(t,e){var r,n,i,a,o,s,l,u,f,h,p,d,g;function m(t,e){return t.pxmid[1]-e.pxmid[1]}function v(t,e){return e.pxmid[1]-t.pxmid[1]}function y(t,r){r||(r={});var i,u,f,p,d,g,m=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),v=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,x=t.cyFinal+o(t.px0[1],t.px1[1]),b=m-v;if(b*l>0&&(t.labelExtraY=b),Array.isArray(e.pull))for(u=0;u<h.length;u++)(f=h[u])===t||(c.castOption(e.pull,t.pts)||0)>=(c.castOption(e.pull,f.pts)||0)||((t.pxmid[1]-f.pxmid[1])*l>0?(p=f.cyFinal+o(f.px0[1],f.px1[1]),(b=p-v-t.labelExtraY)*l>0&&(t.labelExtraY+=b)):(y+t.labelExtraY-x)*l>0&&(i=3*s*Math.abs(u-h.indexOf(t)),d=f.cxFinal+a(f.px0[0],f.px1[0]),(g=d+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=g)))}for(n=0;n<2;n++)for(i=n?m:v,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(u=t[n][r]).sort(i),f=t[1-n][r],h=f.concat(u),d=[],p=0;p<u.length;p++)void 0!==u[p].yLabelMid&&d.push(u[p]);for(g=!1,p=0;n&&p<f.length;p++)if(void 0!==f[p].yLabelMid){g=f[p];break}for(p=0;p<d.length;p++){var x=p&&d[p-1];g&&!p&&(x=g),y(d[p],x)}}}(m,g),p.each(function(t){if(t.labelExtraX||t.labelExtraY){var e=n.select(this),r=e.select("g.slicetext text");r.attr("transform","translate("+t.labelExtraX+","+t.labelExtraY+")"+r.attr("transform"));var i=t.cxFinal+t.pxmid[0],o="M"+i+","+(t.cyFinal+t.pxmid[1]),s=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var l=t.labelExtraX*t.pxmid[1]/t.pxmid[0],c=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(l)>Math.abs(c)?o+="l"+c*t.pxmid[0]/t.pxmid[1]+","+c+"H"+(i+t.labelExtraX+s):o+="l"+t.labelExtraX+","+l+"v"+(c-l)+"h"+s}else o+="V"+(t.yLabelMid+t.labelExtraY)+"h"+s;e.append("path").classed("textline",!0).call(a.stroke,g.outsidetextfont.color).attr({"stroke-width":Math.min(2,g.outsidetextfont.size/8),d:o,fill:"none"})}})})});setTimeout(function(){p.selectAll("tspan").each(function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))})},0)}},{"../../components/color":567,"../../components/drawing":592,"../../components/fx":609,"../../lib":693,"../../lib/svg_text_utils":718,"./event_data":1011,"./helpers":1012,d3:147}],1017:[function(t,e,r){"use strict";var n=t("d3"),i=t("./style_one");e.exports=function(t){t._fullLayout._pielayer.selectAll(".trace").each(function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll("path.surface").each(function(t){n.select(this).call(i,t,e)})})}},{"./style_one":1018,d3:147}],1018:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("./helpers").castOption;e.exports=function(t,e,r){var a=r.marker.line,o=i(a.color,e.pts)||n.defaultLine,s=i(a.width,e.pts)||0;t.style({"stroke-width":s}).call(n.fill,e.color).call(n.stroke,o)}},{"../../components/color":567,"./helpers":1012}],1019:[function(t,e,r){"use strict";var n=t("../scatter/attributes");e.exports={x:n.x,y:n.y,xy:{valType:"data_array",editType:"calc"},indices:{valType:"data_array",editType:"calc"},xbounds:{valType:"data_array",editType:"calc"},ybounds:{valType:"data_array",editType:"calc"},text:n.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc"},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc"},blend:{valType:"boolean",dflt:null,editType:"calc"},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc"},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc"},border:{color:{valType:"color",arrayOk:!1,editType:"calc"},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},editType:"calc"},editType:"calc"}}},{"../scatter/attributes":1032}],1020:[function(t,e,r){"use strict";var n=t("gl-pointcloud2d"),i=t("../../lib/str2rgbarray"),a=t("../../plots/cartesian/autorange").findExtremes,o=t("../scatter/get_trace_color");function s(t,e){this.scene=t,this.uid=e,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var l=s.prototype;l.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},l.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=o(t,{})},l.updateFast=function(t){var e,r,n,o,s,l,c=this.xData=this.pickXData=t.x,u=this.yData=this.pickYData=t.y,f=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(f){if(n=f,e=f.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;l<e;l++)o=n[2*l],s=n[2*l+1],o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;l<e;l++)r[l]=l}else for(e=c.length,n=new Float32Array(2*e),r=new Int32Array(e),l=0;l<e;l++)o=c[l],s=u[l],r[l]=l,n[2*l]=o,n[2*l+1]=s,o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var g=i(t.marker.color),m=i(t.marker.border.color),v=t.opacity*t.marker.opacity;g[3]*=v,this.pointcloudOptions.color=g;var y=t.marker.blend;if(null===y){y=c.length<100||u.length<100}this.pointcloudOptions.blend=y,m[3]*=v,this.pointcloudOptions.borderColor=m;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,k=b/2||.5;t._extremes[_._id]=a(_,[d[0],d[2]],{ppad:k}),t._extremes[w._id]=a(w,[d[1],d[3]],{ppad:k})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(t,e){var r=new s(t,e.uid);return r.update(e),r}},{"../../lib/str2rgbarray":717,"../../plots/cartesian/autorange":741,"../scatter/get_trace_color":1042,"gl-pointcloud2d":278}],1021:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a("x"),a("y"),a("xbounds"),a("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a("text"),a("marker.color",r),a("marker.opacity"),a("marker.blend"),a("marker.sizemin"),a("marker.sizemax"),a("marker.border.color",r),a("marker.border.arearatio"),e._length=null}},{"../../lib":693,"./attributes":1019}],1022:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.calc=t("../scatter3d/calc"),n.plot=t("./convert"),n.moduleType="trace",n.name="pointcloud",n.basePlotModule=t("../../plots/gl2d"),n.categories=["gl","gl2d","showLegend"],n.meta={},e.exports=n},{"../../plots/gl2d":781,"../scatter3d/calc":1060,"./attributes":1019,"./convert":1020,"./defaults":1021}],1023:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../../plots/attributes"),a=t("../../components/color/attributes"),o=t("../../components/fx/attributes"),s=t("../../plots/domain").attributes,l=t("../../lib/extend").extendFlat,c=t("../../plot_api/edit_types").overrideAll;e.exports=c({hoverinfo:l({},i.hoverinfo,{flags:["label","text","value","percent","name"]}),hoverlabel:o.hoverlabel,domain:s({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s"},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({}),node:{label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20}},link:{label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]}}},"calc","nested")},{"../../components/color/attributes":566,"../../components/fx/attributes":601,"../../lib/extend":682,"../../plot_api/edit_types":725,"../../plots/attributes":739,"../../plots/domain":767,"../../plots/font_attributes":768}],1024:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,i=t("../../plots/get_data").getModuleCalcData,a=t("./plot"),o=t("../../components/fx/layout_attributes");r.name="sankey",r.baseLayoutAttrOverrides=n({hoverlabel:o.hoverlabel},"plot","nested"),r.plot=function(t){var e=i(t.calcdata,"sankey")[0];a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has("sankey"),a=e._has&&e._has("sankey");i&&!a&&n._paperdiv.selectAll(".sankey").remove()}},{"../../components/fx/layout_attributes":610,"../../plot_api/edit_types":725,"../../plots/get_data":778,"./plot":1029}],1025:[function(t,e,r){"use strict";var n=t("strongly-connected-components"),i=t("../../lib"),a=t("../../lib/gup").wrap;e.exports=function(t,e){return function(t,e,r){for(var a=t.length,o=i.init2dArray(a,0),s=0;s<Math.min(e.length,r.length);s++)if(i.isIndex(e[s],a)&&i.isIndex(r[s],a)){if(e[s]===r[s])return!0;o[e[s]].push(r[s])}return n(o).components.some(function(t){return t.length>1})}(e.node.label,e.link.source,e.link.target)&&(i.error("Circularity is present in the Sankey data. Removing all nodes and links."),e.link.label=[],e.link.source=[],e.link.target=[],e.link.value=[],e.link.color=[],e.node.label=[],e.node.color=[]),a({link:e.link,node:e.node})}},{"../../lib":693,"../../lib/gup":690,"strongly-connected-components":503}],1026:[function(t,e,r){"use strict";e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"cubic-in-out",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeCapture:"node-capture",nodeCentered:"node-entered",nodeLabelGuide:"node-label-guide",nodeLabel:"node-label",nodeLabelTextPath:"node-label-text-path"}}},{}],1027:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../components/color"),o=t("tinycolor2"),s=t("../../plots/domain").defaults;e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,i,r,a)}c("node.label"),c("node.pad"),c("node.thickness"),c("node.line.color"),c("node.line.width");var u=l.colorway;c("node.color",e.node.label.map(function(t,e){return a.addOpacity(function(t){return u[t%u.length]}(e),.8)})),c("link.label"),c("link.source"),c("link.target"),c("link.value"),c("link.line.color"),c("link.line.width"),c("link.color",e.link.value.map(function(){return o(l.paper_bgcolor).getLuminance()<.333?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)"})),s(e,l,c),c("orientation"),c("valueformat"),c("valuesuffix"),c("arrangement"),n.coerceFont(c,"textfont",n.extendFlat({},l.font)),e._length=null}},{"../../components/color":567,"../../lib":693,"../../plots/domain":767,"./attributes":1023,tinycolor2:511}],1028:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.calc=t("./calc"),n.plot=t("./plot"),n.moduleType="trace",n.name="sankey",n.basePlotModule=t("./base_plot"),n.categories=["noOpacity"],n.meta={},e.exports=n},{"./attributes":1023,"./base_plot":1024,"./calc":1025,"./defaults":1027,"./plot":1029}],1029:[function(t,e,r){"use strict";var n=t("d3"),i=t("./render"),a=t("../../components/fx"),o=t("../../components/color"),s=t("../../lib"),l=t("./constants").cn,c=s._;function u(t){return""!==t}function f(t,e){return t.filter(function(t){return t.key===e.traceId})}function h(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function p(t){n.select(t).select("text.name").style("fill","black")}function d(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function m(t,e,r){e&&r&&f(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(y.bind(0,e,r,!1))}function v(t,e,r){e&&r&&f(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(x.bind(0,e,r,!1))}function y(t,e,r,n){var i=n.datum().link.label;n.style("fill-opacity",.4),i&&f(e,t).selectAll("."+l.sankeyLink).filter(function(t){return t.link.label===i}).style("fill-opacity",.4),r&&f(e,t).selectAll("."+l.sankeyNode).filter(g(t)).call(m)}function x(t,e,r,n){var i=n.datum().link.label;n.style("fill-opacity",function(t){return t.tinyColorAlpha}),i&&f(e,t).selectAll("."+l.sankeyLink).filter(function(t){return t.link.label===i}).style("fill-opacity",function(t){return t.tinyColorAlpha}),r&&f(e,t).selectAll(l.sankeyNode).filter(g(t)).call(v)}function b(t,e){var r=t.hoverlabel||{},n=s.nestedProperty(r,e).get();return!Array.isArray(n)&&n}e.exports=function(t,e){var r=t._fullLayout,s=r._paper,f=r._size,d=c(t,"source:")+" ",g=c(t,"target:")+" ",_=c(t,"incoming flow count:")+" ",w=c(t,"outgoing flow count:")+" ";i(s,e,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{linkEvents:{hover:function(e,r,i){!1!==t._fullLayout.hovermode&&(n.select(e).call(y.bind(0,r,i,!0)),t.emit("plotly_hover",{event:n.event,points:[r.link]}))},follow:function(e,i){if(!1!==t._fullLayout.hovermode){var s=i.link.trace,l=t._fullLayout._paperdiv.node().getBoundingClientRect(),c=e.getBoundingClientRect(),f=c.left+c.width/2,m=c.top+c.height/2,v=a.loneHover({x:f-l.left,y:m-l.top,name:n.format(i.valueFormat)(i.link.value)+i.valueSuffix,text:[i.link.label||"",d+i.link.source.label,g+i.link.target.label].filter(u).join("<br>"),color:b(s,"bgcolor")||o.addOpacity(i.tinyColorHue,1),borderColor:b(s,"bordercolor"),fontFamily:b(s,"font.family"),fontSize:b(s,"font.size"),fontColor:b(s,"font.color"),idealAlign:n.event.x<f?"right":"left"},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});h(v,.65),p(v)}},unhover:function(e,i,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(x.bind(0,i,o,!0)),t.emit("plotly_unhover",{event:n.event,points:[i.link]}),a.loneUnhover(r._hoverlayer.node()))},select:function(e,r){var i=r.link;i.originalEvent=n.event,t._hoverdata=[i],a.click(t,{target:!0})}},nodeEvents:{hover:function(e,r,i){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,r,i),t.emit("plotly_hover",{event:n.event,points:[r.node]}))},follow:function(e,i){if(!1!==t._fullLayout.hovermode){var o=i.node.trace,s=n.select(e).select("."+l.nodeRect),c=t._fullLayout._paperdiv.node().getBoundingClientRect(),f=s.node().getBoundingClientRect(),d=f.left-2-c.left,g=f.right+2-c.left,m=f.top+f.height/4-c.top,v=a.loneHover({x0:d,x1:g,y:m,name:n.format(i.valueFormat)(i.node.value)+i.valueSuffix,text:[i.node.label,_+i.node.targetLinks.length,w+i.node.sourceLinks.length].filter(u).join("<br>"),color:b(o,"bgcolor")||i.tinyColorHue,borderColor:b(o,"bordercolor"),fontFamily:b(o,"font.family"),fontSize:b(o,"font.size"),fontColor:b(o,"font.color"),idealAlign:"left"},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});h(v,.85),p(v)}},unhover:function(e,i,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(v,i,o),t.emit("plotly_unhover",{event:n.event,points:[i.node]}),a.loneUnhover(r._hoverlayer.node()))},select:function(e,r,i){var o=r.node;o.originalEvent=n.event,t._hoverdata=[o],n.select(e).call(v,r,i),a.click(t,{target:!0})}}})}},{"../../components/color":567,"../../components/fx":609,"../../lib":693,"./constants":1026,"./render":1030,d3:147}],1030:[function(t,e,r){"use strict";var n=t("./constants"),i=t("d3"),a=t("tinycolor2"),o=t("../../components/color"),s=t("../../components/drawing"),l=t("@plotly/d3-sankey").sankey,c=t("d3-force"),u=t("../../lib"),f=u.isArrayOrTypedArray,h=u.isIndex,p=t("../../lib/gup"),d=p.keyFun,g=p.repeat,m=p.unwrap;function v(t){t.lastDraggedX=t.x,t.lastDraggedY=t.y}function y(t){return function(e){return e.node.originalX===t.node.originalX}}function x(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y+t[e].dy/2}function b(t){t.attr("transform",function(t){return"translate("+t.node.x.toFixed(3)+", "+(t.node.y-t.node.dy/2).toFixed(3)+")"})}function _(t){var e=t.sankey.nodes();!function(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y-t[e].dy/2}(e);var r=t.sankey.link()(t.link);return x(e),r}function w(t){t.call(b)}function k(t,e){t.call(w),e.attr("d",_)}function M(t){t.attr("width",function(t){return t.visibleWidth}).attr("height",function(t){return t.visibleHeight})}function A(t){return t.link.dy>1||t.linkLineWidth>0}function T(t){return"translate("+t.translateX+","+t.translateY+")"+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function S(t){return"translate("+(t.horizontal?0:t.labelY)+" "+(t.horizontal?t.labelY:0)+")"}function E(t){return i.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+n.nodeTextOffsetHorizontal:n.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-n.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-n.nodeTextOffsetHorizontal,0]])}function C(t){return t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)"}function L(t){return t.horizontal?"scale(1 1)":"scale(-1 1)"}function z(t){return t.darkBackground&&!t.horizontal?"rgb(255,255,255)":"rgb(0,0,0)"}function P(t){return t.horizontal&&t.left?"100%":"0%"}function O(t,e,r){t.on(".basic",null).on("mouseover.basic",function(t){t.interactionState.dragInProgress||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on("mousemove.basic",function(t){t.interactionState.dragInProgress||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on("mouseout.basic",function(t){t.interactionState.dragInProgress||(r.unhover(this,t,e),t.interactionState.hovered=!1)}).on("click.basic",function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||r.select(this,t,e)})}function I(t,e,r){var a=i.behavior.drag().origin(function(t){return t.node}).on("dragstart",function(i){if("fixed"!==i.arrangement&&(u.raiseToTop(this),i.interactionState.dragInProgress=i.node,v(i.node),i.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,i.interactionState.hovered),i.interactionState.hovered=!1),"snap"===i.arrangement)){var a=i.traceId+"|"+Math.floor(i.node.originalX);i.forceLayouts[a]?i.forceLayouts[a].alpha(1):function(t,e,r){var i=r.sankey.nodes().filter(function(t){return t.originalX===r.node.originalX});r.forceLayouts[e]=c.forceSimulation(i).alphaDecay(0).force("collide",c.forceCollide().radius(function(t){return t.dy/2+r.nodePad/2}).strength(1).iterations(n.forceIterations)).force("constrain",function(t,e,r,i){return function(){for(var t=0,a=0;a<r.length;a++){var o=r[a];o===i.interactionState.dragInProgress?(o.x=o.lastDraggedX,o.y=o.lastDraggedY):(o.vx=(o.originalX-o.x)/n.forceTicksPerFrame,o.y=Math.min(i.size-o.dy/2,Math.max(o.dy/2,o.y))),t=Math.max(t,Math.abs(o.vx),Math.abs(o.vy))}!i.interactionState.dragInProgress&&t<.1&&i.forceLayouts[e].alpha()>0&&i.forceLayouts[e].alpha(0)}}(0,e,i,r)).stop()}(0,a,i),function(t,e,r,i){window.requestAnimationFrame(function a(){for(var o=0;o<n.forceTicksPerFrame;o++)r.forceLayouts[i].tick();r.sankey.relayout(),k(t.filter(y(r)),e),r.forceLayouts[i].alpha()>0&&window.requestAnimationFrame(a)})}(t,e,i,a)}}).on("drag",function(r){if("fixed"!==r.arrangement){var n=i.event.x,a=i.event.y;"snap"===r.arrangement?(r.node.x=n,r.node.y=a):("freeform"===r.arrangement&&(r.node.x=n),r.node.y=Math.max(r.node.dy/2,Math.min(r.size-r.node.dy/2,a))),v(r.node),"snap"!==r.arrangement&&(r.sankey.relayout(),k(t.filter(y(r)),e))}}).on("dragend",function(t){t.interactionState.dragInProgress=!1});t.on(".drag",null).call(a)}e.exports=function(t,e,r,i){var c=t.selectAll("."+n.cn.sankey).data(e.filter(function(t){return m(t).trace.visible}).map(function(t,e,r){var i,a=m(e).trace,o=a.domain,s=a.node,c=a.link,u=a.arrangement,p="h"===a.orientation,d=a.node.pad,g=a.node.thickness,v=a.node.line.color,y=a.node.line.width,b=a.link.line.color,_=a.link.line.width,w=a.valueformat,k=a.valuesuffix,M=a.textfont,A=t.width*(o.x[1]-o.x[0]),T=t.height*(o.y[1]-o.y[0]),S=[],E=f(c.color),C={},L=s.label.length;for(i=0;i<c.value.length;i++){var z=c.value[i],P=c.source[i],O=c.target[i];z>0&&h(P,L)&&h(O,L)&&(O=+O,C[P=+P]=C[O]=!0,S.push({pointNumber:i,label:c.label[i],color:E?c.color[i]:c.color,source:P,target:O,value:+z}))}var I=f(s.color),D=[],R=!1,B={};for(i=0;i<L;i++)if(C[i]){var F=s.label[i];B[i]=D.length,D.push({pointNumber:i,label:F,color:I?s.color[i]:s.color})}else R=!0;if(R)for(i=0;i<S.length;i++)S[i].source=B[S[i].source],S[i].target=B[S[i].target];for(var N,j=l().size(p?[A,T]:[T,A]).nodeWidth(g).nodePadding(d).nodes(D).links(S).layout(n.sankeyIterations),V=j.nodes(),U=0;U<V.length;U++)(N=V[U]).width=A,N.height=T;return x(D),{key:r,trace:a,guid:Math.floor(1e12*(1+Math.random())),horizontal:p,width:A,height:T,nodePad:d,nodeLineColor:v,nodeLineWidth:y,linkLineColor:b,linkLineWidth:_,valueFormat:w,valueSuffix:k,textFont:M,translateX:o.x[0]*t.width+t.margin.l,translateY:t.height-o.y[1]*t.height+t.margin.t,dragParallel:p?T:A,dragPerpendicular:p?A:T,nodes:D,links:S,arrangement:u,sankey:j,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}.bind(null,r)),d);c.exit().remove(),c.enter().append("g").classed(n.cn.sankey,!0).style("box-sizing","content-box").style("position","absolute").style("left",0).style("shape-rendering","geometricPrecision").style("pointer-events","auto").attr("transform",T),c.transition().ease(n.ease).duration(n.duration).attr("transform",T);var u=c.selectAll("."+n.cn.sankeyLinks).data(g,d);u.enter().append("g").classed(n.cn.sankeyLinks,!0).style("fill","none");var p=u.selectAll("."+n.cn.sankeyLink).data(function(t){return t.sankey.links().filter(function(t){return t.value}).map(function(t,e,r){var n=a(r.color),i=r.source.label+"|"+r.target.label,s=t[i];t[i]=(s||0)+1;var l=i+"__"+t[i];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:l,traceId:e.key,link:r,tinyColorHue:o.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,interactionState:e.interactionState}}.bind(null,{},t))},d);p.enter().append("path").classed(n.cn.sankeyLink,!0).attr("d",_).call(O,c,i.linkEvents),p.style("stroke",function(t){return A(t)?o.tinyRGB(a(t.linkLineColor)):t.tinyColorHue}).style("stroke-opacity",function(t){return A(t)?o.opacity(t.linkLineColor):t.tinyColorAlpha}).style("stroke-width",function(t){return A(t)?t.linkLineWidth:1}).style("fill",function(t){return t.tinyColorHue}).style("fill-opacity",function(t){return t.tinyColorAlpha}),p.transition().ease(n.ease).duration(n.duration).attr("d",_),p.exit().transition().ease(n.ease).duration(n.duration).style("opacity",0).remove();var v=c.selectAll("."+n.cn.sankeyNodeSet).data(g,d);v.enter().append("g").classed(n.cn.sankeyNodeSet,!0),v.style("cursor",function(t){switch(t.arrangement){case"fixed":return"default";case"perpendicular":return"ns-resize";default:return"move"}});var y=v.selectAll("."+n.cn.sankeyNode).data(function(t){var e=t.sankey.nodes();return function(t){var e,r=[];for(e=0;e<t.length;e++)t[e].originalX=t[e].x,t[e].originalY=t[e].y,-1===r.indexOf(t[e].x)&&r.push(t[e].x);for(r.sort(function(t,e){return t-e}),e=0;e<t.length;e++)t[e].originalLayerIndex=r.indexOf(t[e].originalX),t[e].originalLayer=t[e].originalLayerIndex/(r.length-1)}(e),e.filter(function(t){return t.value}).map(function(t,e,r){var i=a(r.color),s=n.nodePadAcross,l=e.nodePad/2,c=r.dx,u=Math.max(.5,r.dy),f=r.label,h=t[f];t[f]=(h||0)+1;var p=f+"__"+t[f];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:p,traceId:e.key,node:r,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(c),visibleHeight:u,zoneX:-s,zoneY:-l,zoneWidth:c+2*s,zoneHeight:u+2*l,labelY:e.horizontal?r.dy/2+1:r.dx/2+1,left:1===r.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:i.getBrightness()<=128,tinyColorHue:o.tinyRGB(i),tinyColorAlpha:i.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,p].join(" "),interactionState:e.interactionState}}.bind(null,{},t))},d);y.enter().append("g").classed(n.cn.sankeyNode,!0).call(b).call(O,c,i.nodeEvents),y.call(I,p,i),y.transition().ease(n.ease).duration(n.duration).call(b),y.exit().transition().ease(n.ease).duration(n.duration).style("opacity",0).remove();var w=y.selectAll("."+n.cn.nodeRect).data(g);w.enter().append("rect").classed(n.cn.nodeRect,!0).call(M),w.style("stroke-width",function(t){return t.nodeLineWidth}).style("stroke",function(t){return o.tinyRGB(a(t.nodeLineColor))}).style("stroke-opacity",function(t){return o.opacity(t.nodeLineColor)}).style("fill",function(t){return t.tinyColorHue}).style("fill-opacity",function(t){return t.tinyColorAlpha}),w.transition().ease(n.ease).duration(n.duration).call(M);var k=y.selectAll("."+n.cn.nodeCapture).data(g);k.enter().append("rect").classed(n.cn.nodeCapture,!0).style("fill-opacity",0),k.attr("x",function(t){return t.zoneX}).attr("y",function(t){return t.zoneY}).attr("width",function(t){return t.zoneWidth}).attr("height",function(t){return t.zoneHeight});var D=y.selectAll("."+n.cn.nodeCentered).data(g);D.enter().append("g").classed(n.cn.nodeCentered,!0).attr("transform",S),D.transition().ease(n.ease).duration(n.duration).attr("transform",S);var R=D.selectAll("."+n.cn.nodeLabelGuide).data(g);R.enter().append("path").classed(n.cn.nodeLabelGuide,!0).attr("id",function(t){return t.uniqueNodeLabelPathId}).attr("d",E).attr("transform",C),R.transition().ease(n.ease).duration(n.duration).attr("d",E).attr("transform",C);var B=D.selectAll("."+n.cn.nodeLabel).data(g);B.enter().append("text").classed(n.cn.nodeLabel,!0).attr("transform",L).style("user-select","none").style("cursor","default").style("fill","black"),B.style("text-shadow",function(t){return t.horizontal?"-1px 1px 1px #fff, 1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff":"none"}).each(function(t){s.font(B,t.textFont)}),B.transition().ease(n.ease).duration(n.duration).attr("transform",L);var F=B.selectAll("."+n.cn.nodeLabelTextPath).data(g);F.enter().append("textPath").classed(n.cn.nodeLabelTextPath,!0).attr("alignment-baseline","middle").attr("xlink:href",function(t){return"#"+t.uniqueNodeLabelPathId}).attr("startOffset",P).style("fill",z),F.text(function(t){return t.horizontal||t.node.dy>5?t.node.label:""}).attr("text-anchor",function(t){return t.horizontal&&t.left?"end":"start"}),F.transition().ease(n.ease).duration(n.duration).attr("startOffset",P).style("fill",z)}},{"../../components/color":567,"../../components/drawing":592,"../../lib":693,"../../lib/gup":690,"./constants":1026,"@plotly/d3-sankey":45,d3:147,"d3-force":143,tinycolor2:511}],1031:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,"tx"),n.mergeArray(e.hovertext,t,"htx"),n.mergeArray(e.customdata,t,"data"),n.mergeArray(e.textposition,t,"tp"),e.textfont&&(n.mergeArray(e.textfont.size,t,"ts"),n.mergeArray(e.textfont.color,t,"tc"),n.mergeArray(e.textfont.family,t,"tf"));var i=e.marker;if(i){n.mergeArray(i.size,t,"ms"),n.mergeArray(i.opacity,t,"mo"),n.mergeArray(i.symbol,t,"mx"),n.mergeArray(i.color,t,"mc");var a=i.line;i.line&&(n.mergeArray(a.color,t,"mlc"),n.mergeArray(a.width,t,"mlw"));var o=i.gradient;o&&"none"!==o.type&&(n.mergeArray(o.type,t,"mgt"),n.mergeArray(o.color,t,"mgc"))}}},{"../../lib":693}],1032:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../components/colorbar/attributes"),a=t("../../plots/font_attributes"),o=t("../../components/drawing/attributes").dash,s=t("../../components/drawing"),l=(t("./constants"),t("../../lib/extend").extendFlat);e.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dx:{valType:"number",dflt:1,editType:"calc"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dy:{valType:"number",dflt:1,editType:"calc"},stackgroup:{valType:"string",dflt:"",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc"},groupnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},stackgaps:{valType:"enumerated",values:["infer zero","interpolate"],dflt:"infer zero",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"],editType:"calc"},hoveron:{valType:"flaglist",flags:["points","fills"],editType:"style"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},shape:{valType:"enumerated",values:["linear","spline","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},smoothing:{valType:"number",min:0,max:1.3,dflt:1,editType:"plot"},dash:l({},o,{editType:"style"}),simplify:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},cliponaxis:{valType:"boolean",dflt:!0,editType:"plot"},fill:{valType:"enumerated",values:["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"],editType:"calc"},fillcolor:{valType:"color",editType:"style"},marker:l({symbol:{valType:"enumerated",values:s.symbolList,dflt:"circle",arrayOk:!0,editType:"style"},opacity:{valType:"number",min:0,max:1,arrayOk:!0,editType:"style"},size:{valType:"number",min:0,dflt:6,arrayOk:!0,editType:"calc"},maxdisplayed:{valType:"number",min:0,dflt:0,editType:"plot"},sizeref:{valType:"number",dflt:1,editType:"calc"},sizemin:{valType:"number",min:0,dflt:0,editType:"calc"},sizemode:{valType:"enumerated",values:["diameter","area"],dflt:"diameter",editType:"calc"},colorbar:i,line:l({width:{valType:"number",min:0,arrayOk:!0,editType:"style"},editType:"calc"},n("marker.line")),gradient:{type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],arrayOk:!0,dflt:"none",editType:"calc"},color:{valType:"color",arrayOk:!0,editType:"calc"},editType:"calc"},editType:"calc"},n("marker")),selected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},unselected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"middle center",arrayOk:!0,editType:"calc"},textfont:a({editType:"calc",colorEditType:"style",arrayOk:!0}),r:{valType:"data_array",editType:"calc"},t:{valType:"data_array",editType:"calc"}}},{"../../components/colorbar/attributes":568,"../../components/colorscale/attributes":574,"../../components/drawing":592,"../../components/drawing/attributes":591,"../../lib/extend":682,"../../plots/font_attributes":768,"./constants":1037}],1033:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../plots/cartesian/axes"),o=t("../../constants/numerical").BADNUM,s=t("./subtypes"),l=t("./colorscale_calc"),c=t("./arrays_to_calcdata"),u=t("./calc_selection");function f(t,e,r,n,i,o,l){var c=e._length,u=t._fullLayout,f=r._id,h=n._id,p=u._firstScatter[d(e)]===e.uid,m=(g(e,u,r,n)||{}).orientation,v=e.fill;r._minDtick=0,n._minDtick=0;var y={padded:!0},x={padded:!0};l&&(y.ppad=x.ppad=l);var b=c<2||i[0]!==i[c-1]||o[0]!==o[c-1];b&&("tozerox"===v||"tonextx"===v&&(p||"h"===m))?y.tozero=!0:(e.error_y||{}).visible||"tonexty"!==v&&"tozeroy"!==v&&(s.hasMarkers(e)||s.hasText(e))||(y.padded=!1,y.ppad=0),b&&("tozeroy"===v||"tonexty"===v&&(p||"v"===m))?x.tozero=!0:"tonextx"!==v&&"tozerox"!==v||(x.padded=!1),f&&(e._extremes[f]=a.findExtremes(r,i,y)),h&&(e._extremes[h]=a.findExtremes(n,o,x))}function h(t,e){if(s.hasMarkers(t)){var r,n=t.marker,o=1.6*(t.marker.sizeref||1);if(r="area"===t.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/o),3)}:function(t){return Math.max((t||0)/o,3)},i.isArrayOrTypedArray(n.size)){var l={type:"linear"};a.setConvert(l);for(var c=l.makeCalcdata(t.marker,"size"),u=new Array(e),f=0;f<e;f++)u[f]=r(c[f]);return u}return r(n.size)}}function p(t,e){var r=d(e),n=t._firstScatter;n[r]||(n[r]=e.uid)}function d(t){var e=t.stackgroup;return t.xaxis+t.yaxis+t.type+(e?"-"+e:"")}function g(t,e,r,n){var i=t.stackgroup;if(i){var a=e._scatterStackOpts[r._id+n._id][i],o="v"===a.orientation?n:r;return"linear"===o.type||"log"===o.type?a:void 0}}e.exports={calc:function(t,e){var r,s,d,m,v,y,x=t._fullLayout,b=a.getFromId(t,e.xaxis||"x"),_=a.getFromId(t,e.yaxis||"y"),w=b.makeCalcdata(e,"x"),k=_.makeCalcdata(e,"y"),M=e._length,A=new Array(M),T=e.ids,S=g(e,x,b,_),E=!1;p(x,e);var C,L="x",z="y";for(S?(S.traceIndices.push(e.index),(r="v"===S.orientation)?(z="s",C="x"):(L="s",C="y"),v="interpolate"===S.stackgaps):f(t,e,b,_,w,k,h(e,M)),s=0;s<M;s++){var P=A[s]={},O=n(w[s]),I=n(k[s]);O&&I?(P[L]=w[s],P[z]=k[s]):S&&(r?O:I)?(P[C]=r?w[s]:k[s],P.gap=!0,v?(P.s=o,E=!0):P.s=0):P[L]=P[z]=o,T&&(P.id=String(T[s]))}if(c(A,e),l(e),u(A,e),S){for(s=0;s<A.length;)A[s][C]===o?A.splice(s,1):s++;if(i.sort(A,function(t,e){return t[C]-e[C]||t.i-e.i}),E){for(s=0;s<A.length-1&&A[s].gap;)s++;for((y=A[s].s)||(y=A[s].s=0),d=0;d<s;d++)A[d].s=y;for(m=A.length-1;m>s&&A[m].gap;)m--;for(y=A[m].s,d=A.length-1;d>m;d--)A[d].s=y;for(;s<m;)if(A[++s].gap){for(d=s+1;A[d].gap;)d++;for(var D=A[s-1][C],R=A[s-1].s,B=(A[d].s-R)/(A[d][C]-D);s<d;)A[s].s=R+(A[s][C]-D)*B,s++}}}return A},calcMarkerSize:h,calcAxisExpansion:f,setFirstScatter:p,getStackOpts:g}},{"../../constants/numerical":670,"../../lib":693,"../../plots/cartesian/axes":742,"./arrays_to_calcdata":1031,"./calc_selection":1034,"./colorscale_calc":1036,"./subtypes":1056,"fast-isnumeric":213}],1034:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){n.isArrayOrTypedArray(e.selectedpoints)&&n.tagSelected(t,e)}},{"../../lib":693}],1035:[function(t,e,r){"use strict";e.exports=function(t){for(var e=0;e<t.length;e++){var r=t[e];if("scatter"===r.type){var n=r.fill;if("none"!==n&&"toself"!==n&&(r.opacity=void 0,"tonexty"===n||"tonextx"===n))for(var i=e-1;i>=0;i--){var a=t[i];if("scatter"===a.type&&a.xaxis===r.xaxis&&a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],1036:[function(t,e,r){"use strict";var n=t("../../components/colorscale/has_colorscale"),i=t("../../components/colorscale/calc"),a=t("./subtypes");e.exports=function(t){a.hasLines(t)&&n(t,"line")&&i(t,t.line.color,"line","c"),a.hasMarkers(t)&&(n(t,"marker")&&i(t,t.marker.color,"marker","c"),n(t,"marker.line")&&i(t,t.marker.line.color,"marker.line","c"))}},{"../../components/colorscale/calc":575,"../../components/colorscale/has_colorscale":581,"./subtypes":1056}],1037:[function(t,e,r){"use strict";e.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20}},{}],1038:[function(t,e,r){"use strict";var n=t("./calc");function i(t,e,r,n,i,a,o){i[n]=!0;var s={i:null,gap:!0,s:0};if(s[o]=r,t.splice(e,0,s),e&&r===t[e-1][o]){var l=t[e-1];s.s=l.s,s.i=l.i,s.gap=l.gap}else a&&(s.s=function(t,e,r,n){var i=t[e-1],a=t[e+1];return a?i?i.s+(a.s-i.s)*(r-i[n])/(a[n]-i[n]):a.s:i.s}(t,e,r,o));e||(t[0].t=t[1].t,t[0].trace=t[1].trace,delete t[1].t,delete t[1].trace)}e.exports=function(t,e){var r=e.xaxis,a=e.yaxis,o=r._id+a._id,s=t._fullLayout._scatterStackOpts[o];if(s){var l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,k=t.calcdata;for(var M in s){var A=(v=s[M]).traceIndices;if(A.length){for(y="interpolate"===v.stackgaps,x=v.groupnorm,"v"===v.orientation?(b="x",_="y"):(b="y",_="x"),w=new Array(A.length),l=0;l<w.length;l++)w[l]=!1;p=k[A[0]];var T=new Array(p.length);for(l=0;l<p.length;l++)T[l]=p[l][b];for(l=1;l<A.length;l++){for(h=k[A[l]],c=u=0;c<h.length;c++){for(d=h[c][b];d>T[u]&&u<T.length;u++)i(h,c,T[u],l,w,y,b),c++;if(d!==T[u]){for(f=0;f<l;f++)i(k[A[f]],u,d,f,w,y,b);T.splice(u,0,d)}u++}for(;u<T.length;u++)i(h,c,T[u],l,w,y,b),c++}var S=T.length;for(c=0;c<p.length;c++){for(g=p[c][_]=p[c].s,l=1;l<A.length;l++)(h=k[A[l]])[0].trace._rawLength=h[0].trace._length,h[0].trace._length=S,g+=h[c].s,h[c][_]=g;if(x)for(m=("fraction"===x?g:g/100)||1,l=0;l<A.length;l++){var E=k[A[l]][c];E[_]/=m,E.sNorm=E.s/m}}for(l=0;l<A.length;l++){var C=(h=k[A[l]])[0].trace,L=n.calcMarkerSize(C,C._rawLength),z=Array.isArray(L);if(L&&w[l]||z){var P=L;for(L=new Array(S),c=0;c<S;c++)L[c]=h[c].gap?0:z?P[h[c].i]:P}var O=new Array(S),I=new Array(S);for(c=0;c<S;c++)O[c]=h[c].x,I[c]=h[c].y;n.calcAxisExpansion(t,C,r,a,O,I,L),h[0].t.orientation=v.orientation}}}}}},{"./calc":1033}],1039:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("./attributes"),o=t("./constants"),s=t("./subtypes"),l=t("./xy_defaults"),c=t("./stack_defaults"),u=t("./marker_defaults"),f=t("./line_defaults"),h=t("./line_shape_defaults"),p=t("./text_defaults"),d=t("./fillcolor_defaults");e.exports=function(t,e,r,g){function m(r,i){return n.coerce(t,e,a,r,i)}var v=l(t,e,g,m);if(v||(e.visible=!1),e.visible){var y=c(t,e,g,m),x=!y&&v<o.PTS_LINESONLY?"lines+markers":"lines";m("text"),m("hovertext"),m("mode",x),s.hasLines(e)&&(f(t,e,r,g,m),h(t,e,m),m("connectgaps"),m("line.simplify")),s.hasMarkers(e)&&u(t,e,r,g,m,{gradient:!0}),s.hasText(e)&&p(t,e,g,m);var b=[];(s.hasMarkers(e)||s.hasText(e))&&(m("cliponaxis"),m("marker.maxdisplayed"),b.push("points")),m("fill",y?y.fillDflt:"none"),"none"!==e.fill&&(d(t,e,r,m),s.hasLines(e)||h(t,e,m)),"tonext"!==e.fill&&"toself"!==e.fill||b.push("fills"),m("hoveron",b.join("+")||"points");var _=i.getComponentMethod("errorbars","supplyDefaults");_(t,e,r,{axis:"y"}),_(t,e,r,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,m)}}},{"../../lib":693,"../../registry":825,"./attributes":1032,"./constants":1037,"./fillcolor_defaults":1041,"./line_defaults":1045,"./line_shape_defaults":1047,"./marker_defaults":1051,"./stack_defaults":1054,"./subtypes":1056,"./text_defaults":1057,"./xy_defaults":1058}],1040:[function(t,e,r){"use strict";var n=t("../../lib");function i(t){return t||0===t}e.exports=function(t,e,r){var a=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},o=n.extractOption(t,e,"htx","hovertext");if(i(o))return a(o);var s=n.extractOption(t,e,"tx","text");return i(s)?a(s):void 0}},{"../../lib":693}],1041:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,a){var o=!1;if(e.marker){var s=e.marker.color,l=(e.marker.line||{}).color;s&&!i(s)?o=s:l&&!i(l)&&(o=l)}a("fillcolor",n.addOpacity((e.line||{}).color||o||r,.5))}},{"../../components/color":567,"../../lib":693}],1042:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("./subtypes");e.exports=function(t,e){var r,a;if("lines"===t.mode)return(r=t.line.color)&&n.opacity(r)?r:t.fillcolor;if("none"===t.mode)return t.fill?t.fillcolor:"";var o=e.mcc||(t.marker||{}).color,s=e.mlcc||((t.marker||{}).line||{}).color;return(a=o&&n.opacity(o)?o:s&&n.opacity(s)&&(e.mlw||((t.marker||{}).line||{}).width)?s:"")?n.opacity(a)<.3?n.addOpacity(a,.3):a:(r=(t.line||{}).color)&&n.opacity(r)&&i.hasLines(t)&&t.line.width?r:t.fillcolor}},{"../../components/color":567,"./subtypes":1056}],1043:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/fx"),a=t("../../registry"),o=t("./get_trace_color"),s=t("../../components/color"),l=t("./fill_hover_text");e.exports=function(t,e,r,c){var u=t.cd,f=u[0].trace,h=t.xa,p=t.ya,d=h.c2p(e),g=p.c2p(r),m=[d,g],v=f.hoveron||"",y=-1!==f.mode.indexOf("markers")?3:.5;if(-1!==v.indexOf("points")){var x=function(t){var e=Math.max(y,t.mrc||0),r=h.c2p(t.x)-d,n=p.c2p(t.y)-g;return Math.max(Math.sqrt(r*r+n*n)-e,1-y/e)},b=i.getDistanceFunction(c,function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(h.c2p(t.x)-d);return n<e?r*n/e:n-e+r},function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(p.c2p(t.y)-g);return n<e?r*n/e:n-e+r},x);if(i.getClosest(u,b,t),!1!==t.index){var _=u[t.index],w=h.c2p(_.x,!0),k=p.c2p(_.y,!0),M=_.mrc||1;t.index=_.i;var A=u[0].t.orientation,T=A&&(_.sNorm||_.s),S="h"===A?T:_.x,E="v"===A?T:_.y;return n.extendFlat(t,{color:o(f,_),x0:w-M,x1:w+M,xLabelVal:S,y0:k-M,y1:k+M,yLabelVal:E,spikeDistance:x(_)}),l(_,f,t),a.getComponentMethod("errorbars","hoverInfo")(_,f,t),[t]}}if(-1!==v.indexOf("fills")&&f._polygons){var C,L,z,P,O,I,D,R,B,F=f._polygons,N=[],j=!1,V=1/0,U=-1/0,q=1/0,H=-1/0;for(C=0;C<F.length;C++)(z=F[C]).contains(m)&&(j=!j,N.push(z),q=Math.min(q,z.ymin),H=Math.max(H,z.ymax));if(j){var G=((q=Math.max(q,0))+(H=Math.min(H,p._length)))/2;for(C=0;C<N.length;C++)for(P=N[C].pts,L=1;L<P.length;L++)(R=P[L-1][1])>G!=(B=P[L][1])>=G&&(I=P[L-1][0],D=P[L][0],B-R&&(O=I+(D-I)*(G-R)/(B-R),V=Math.min(V,O),U=Math.max(U,O)));V=Math.max(V,0),U=Math.min(U,h._length);var W=s.defaultLine;return s.opacity(f.fillcolor)?W=f.fillcolor:s.opacity((f.line||{}).color)&&(W=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:V,x1:U,y0:G,y1:G,color:W}),delete t.index,f.text&&!Array.isArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}}},{"../../components/color":567,"../../components/fx":609,"../../lib":693,"../../registry":825,"./fill_hover_text":1040,"./get_trace_color":1042}],1044:[function(t,e,r){"use strict";var n={},i=t("./subtypes");n.hasLines=i.hasLines,n.hasMarkers=i.hasMarkers,n.hasText=i.hasText,n.isBubble=i.isBubble,n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.cleanData=t("./clean_data"),n.calc=t("./calc").calc,n.crossTraceCalc=t("./cross_trace_calc"),n.arraysToCalcdata=t("./arrays_to_calcdata"),n.plot=t("./plot"),n.colorbar=t("./marker_colorbar"),n.style=t("./style").style,n.styleOnSelect=t("./style").styleOnSelect,n.hoverPoints=t("./hover"),n.selectPoints=t("./select"),n.animatable=!0,n.moduleType="trace",n.name="scatter",n.basePlotModule=t("../../plots/cartesian"),n.categories=["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],n.meta={},e.exports=n},{"../../plots/cartesian":753,"./arrays_to_calcdata":1031,"./attributes":1032,"./calc":1033,"./clean_data":1035,"./cross_trace_calc":1038,"./defaults":1039,"./hover":1043,"./marker_colorbar":1050,"./plot":1052,"./select":1053,"./style":1055,"./subtypes":1056}],1045:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray,i=t("../../components/colorscale/has_colorscale"),a=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s,l){var c=(t.marker||{}).color;(s("line.color",r),i(t,"line"))?a(t,e,o,s,{prefix:"line.",cLetter:"c",noScale:!0}):s("line.color",!n(c)&&c||r);s("line.width"),(l||{}).noDash||s("line.dash")}},{"../../components/colorscale/defaults":577,"../../components/colorscale/has_colorscale":581,"../../lib":693}],1046:[function(t,e,r){"use strict";var n=t("../../constants/numerical"),i=n.BADNUM,a=n.LOG_CLIP,o=a+.5,s=a-.5,l=t("../../lib"),c=l.segmentsIntersect,u=l.constrain,f=t("./constants");e.exports=function(t,e){var r,n,a,h,p,d,g,m,v,y,x,b,_,w,k,M,A,T,S=e.xaxis,E=e.yaxis,C="log"===S.type,L="log"===E.type,z=S._length,P=E._length,O=e.connectGaps,I=e.baseTolerance,D=e.shape,R="linear"===D,B=[],F=f.minTolerance,N=new Array(t.length),j=0;function V(e){var r=t[e];if(!r)return!1;var n=S.c2p(r.x),a=E.c2p(r.y);if(n===i){if(C&&(n=S.c2p(r.x,!0)),n===i)return!1;L&&a===i&&(n*=Math.abs(S._m*P*(S._m>0?o:s)/(E._m*z*(E._m>0?o:s)))),n*=1e3}if(a===i){if(L&&(a=E.c2p(r.y,!0)),a===i)return!1;a*=1e3}return[n,a]}function U(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,c=i*o+a*s;if(c>0&&c<l){var u=o*a-s*i;if(u*u<l)return!0}}function q(t,e){var r=t[0]/z,n=t[1]/P,i=Math.max(0,-r,r-1,-n,n-1);return i&&void 0!==A&&U(r,n,A,T)&&(i=0),i&&e&&U(r,n,e[0]/z,e[1]/P)&&(i=0),(1+f.toleranceGrowth*i)*I}function H(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}var G,W,Y,X,Z,$,J,K=f.maxScreensAway,Q=-z*K,tt=z*(1+K),et=-P*K,rt=P*(1+K),nt=[[Q,et,tt,et],[tt,et,tt,rt],[tt,rt,Q,rt],[Q,rt,Q,et]];function it(t){if(t[0]<Q||t[0]>tt||t[1]<et||t[1]>rt)return[u(t[0],Q,tt),u(t[1],et,rt)]}function at(t,e){return t[0]===e[0]&&(t[0]===Q||t[0]===tt)||(t[1]===e[1]&&(t[1]===et||t[1]===rt)||void 0)}function ot(t,e,r){return function(n,i){var a=it(n),o=it(i),s=[];if(a&&o&&at(a,o))return s;a&&s.push(a),o&&s.push(o);var c=2*l.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);c&&((a&&o?c>0==a[t]>o[t]?a:o:a||o)[t]+=c);return s}}function st(t){var e=t[0],r=t[1],n=e===N[j-1][0],i=r===N[j-1][1];if(!n||!i)if(j>1){var a=e===N[j-2][0],o=r===N[j-2][1];n&&(e===Q||e===tt)&&a?o?j--:N[j-1]=t:i&&(r===et||r===rt)&&o?a?j--:N[j-1]=t:N[j++]=t}else N[j++]=t}function lt(t){N[j-1][0]!==t[0]&&N[j-1][1]!==t[1]&&st([Y,X]),st(t),Z=null,Y=X=0}function ct(t){if(A=t[0]/z,T=t[1]/P,G=t[0]<Q?Q:t[0]>tt?tt:0,W=t[1]<et?et:t[1]>rt?rt:0,G||W){if(j)if(Z){var e=J(Z,t);e.length>1&&(lt(e[0]),N[j++]=e[1])}else $=J(N[j-1],t)[0],N[j++]=$;else N[j++]=[G||t[0],W||t[1]];var r=N[j-1];G&&W&&(r[0]!==G||r[1]!==W)?(Z&&(Y!==G&&X!==W?st(Y&&X?(n=Z,a=(i=t)[0]-n[0],o=(i[1]-n[1])/a,(n[1]*i[0]-i[1]*n[0])/a>0?[o>0?Q:tt,rt]:[o>0?tt:Q,et]):[Y||G,X||W]):Y&&X&&st([Y,X])),st([G,W])):Y-G&&X-W&&st([G||Y,W||X]),Z=t,Y=G,X=W}else Z&&lt(J(Z,t)[0]),N[j++]=t;var n,i,a,o}for("linear"===D||"spline"===D?J=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=nt[i],o=c(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&H(o,t)<H(r[0],t)?r.unshift(o):r.push(o),n++)}return r}:"hv"===D||"vh"===D?J=function(t,e){var r=[],n=it(t),i=it(e);return n&&i&&at(n,i)?r:(n&&r.push(n),i&&r.push(i),r)}:"hvh"===D?J=ot(0,Q,tt):"vhv"===D&&(J=ot(1,et,rt)),r=0;r<t.length;r++)if(n=V(r)){for(j=0,Z=null,ct(n),r++;r<t.length;r++){if(!(h=V(r))){if(O)continue;break}if(R&&e.simplify){var ut=V(r+1);if(!((y=H(h,n))<q(h,ut)*F)){for(m=[(h[0]-n[0])/y,(h[1]-n[1])/y],p=n,x=y,b=w=k=0,g=!1,a=h,r++;r<t.length;r++){if(d=ut,ut=V(r+1),!d){if(O)continue;break}if(M=(v=[d[0]-n[0],d[1]-n[1]])[0]*m[1]-v[1]*m[0],w=Math.min(w,M),(k=Math.max(k,M))-w>q(d,ut))break;a=d,(_=v[0]*m[0]+v[1]*m[1])>x?(x=_,h=d,g=!1):_<b&&(b=_,p=d,g=!0)}if(g?(ct(h),a!==p&&ct(p)):(p!==n&&ct(p),a!==h&&ct(h)),ct(a),r>=t.length||!d)break;ct(d),n=d}}else ct(h)}Z&&st([Y||Z[0],X||Z[1]]),B.push(N.slice(0,j))}return B}},{"../../constants/numerical":670,"../../lib":693,"./constants":1037}],1047:[function(t,e,r){"use strict";e.exports=function(t,e,r){"spline"===r("line.shape")&&r("line.smoothing")}},{}],1048:[function(t,e,r){"use strict";var n={tonextx:1,tonexty:1,tonext:1};e.exports=function(t,e,r){var i,a,o,s,l,c={},u=!1,f=-1,h=0,p=-1;for(a=0;a<r.length;a++)(o=(i=r[a][0].trace).stackgroup||"")?o in c?l=c[o]:(l=c[o]=h,h++):i.fill in n&&p>=0?l=p:(l=p=h,h++),l<f&&(u=!0),i._groupIndex=f=l;var d=r.slice();u&&d.sort(function(t,e){var r=t[0].trace,n=e[0].trace;return r._groupIndex-n._groupIndex||r.index-n.index});var g={};for(a=0;a<d.length;a++)o=(i=d[a][0].trace).stackgroup||"",!0===i.visible?(i._nexttrace=null,i.fill in n&&(s=g[o],i._prevtrace=s||null,s&&(s._nexttrace=i)),g[o]=i):i._prevtrace=i._nexttrace=null;return d}},{}],1049:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t){var e=t.marker,r=e.sizeref||1,i=e.sizemin||0,a="area"===e.sizemode?function(t){return Math.sqrt(t/r)}:function(t){return t/r};return function(t){var e=a(t/2);return n(e)&&e>0?Math.max(e,i):0}}},{"fast-isnumeric":213}],1050:[function(t,e,r){"use strict";e.exports={container:"marker",min:"cmin",max:"cmax"}},{}],1051:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../../components/colorscale/has_colorscale"),a=t("../../components/colorscale/defaults"),o=t("./subtypes");e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),f=(t.line||{}).color;(c=c||{},f&&(r=f),l("marker.symbol"),l("marker.opacity",u?.7:1),l("marker.size"),l("marker.color",r),i(t,"marker")&&a(t,e,s,l,{prefix:"marker.",cLetter:"c"}),c.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),c.noLine||(l("marker.line.color",f&&!Array.isArray(f)&&e.marker.color!==f?f:u?n.background:n.defaultLine),i(t,"marker.line")&&a(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",u?1:0)),u&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),c.gradient)&&("none"!==l("marker.gradient.type")&&l("marker.gradient.color"))}},{"../../components/color":567,"../../components/colorscale/defaults":577,"../../components/colorscale/has_colorscale":581,"./subtypes":1056}],1052:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../lib"),o=a.ensureSingle,s=a.identity,l=t("../../components/drawing"),c=t("./subtypes"),u=t("./line_points"),f=t("./link_traces"),h=t("../../lib/polygon").tester;function p(t,e,r,f,p,d,g){var m;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,u=n.extent(a.simpleMap(s.range,s.r2c)),f=n.extent(a.simpleMap(l.range,l.r2c)),h=i[0].trace;if(!c.hasMarkers(h))return;var p=h.marker.maxdisplayed;if(0===p)return;var d=i.filter(function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=f[0]&&t.y<=f[1]}),g=Math.ceil(d.length/p),m=0;o.forEach(function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r<e&&m++});var v=Math.round(m*g/3+Math.floor(m/3)*g/7.1);i.forEach(function(t){delete t.vis}),d.forEach(function(t,e){0===Math.round((e+v)%g)&&(t.vis=!0)})}(0,e,r,f,p);var v=!!g&&g.duration>0;function y(t){return v?t.transition():t}var x=r.xaxis,b=r.yaxis,_=f[0].trace,w=_.line,k=n.select(d),M=o(k,"g","errorbars"),A=o(k,"g","lines"),T=o(k,"g","points"),S=o(k,"g","text");if(i.getComponentMethod("errorbars","plot")(M,r,g),!0===_.visible){var E,C;y(k).style("opacity",_.opacity);var L=_.fill.charAt(_.fill.length-1);"x"!==L&&"y"!==L&&(L=""),r.isRangePlot||(f[0].node3=k);var z="",P=[],O=_._prevtrace;O&&(z=O._prevRevpath||"",C=O._nextFill,P=O._polygons);var I,D,R,B,F,N,j,V,U,q="",H="",G=[],W=a.noop;if(E=_._ownFill,c.hasLines(_)||"none"!==_.fill){for(C&&C.datum(f),-1!==["hv","vh","hvh","vhv"].indexOf(w.shape)?(R=l.steps(w.shape),B=l.steps(w.shape.split("").reverse().join(""))):R=B="spline"===w.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),w.smoothing):l.smoothopen(t,w.smoothing)}:function(t){return"M"+t.join("L")},F=function(t){return B(t.reverse())},G=u(f,{xaxis:x,yaxis:b,connectGaps:_.connectgaps,baseTolerance:Math.max(w.width||1,3)/4,shape:w.shape,simplify:w.simplify}),U=_._polygons=new Array(G.length),m=0;m<G.length;m++)_._polygons[m]=h(G[m]);G.length&&(N=G[0][0],V=(j=G[G.length-1])[j.length-1]),W=function(t){return function(e){if(I=R(e),D=F(e),q?L?(q+="L"+I.substr(1),H=D+"L"+H.substr(1)):(q+="Z"+I,H=D+"Z"+H):(q=I,H=D),c.hasLines(_)&&e.length>1){var r=n.select(this);if(r.datum(f),t)y(r.style("opacity",0).attr("d",I).call(l.lineGroupStyle)).style("opacity",1);else{var i=y(r);i.attr("d",I),l.singleLineStyle(f,i)}}}}}var Y=A.selectAll(".js-line").data(G);y(Y.exit()).style("opacity",0).remove(),Y.each(W(!1)),Y.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke").call(l.lineGroupStyle).each(W(!0)),l.setClipUrl(Y,r.layerClipId),G.length?(E?(E.datum(f),N&&V&&(L?("y"===L?N[1]=V[1]=b.c2p(0,!0):"x"===L&&(N[0]=V[0]=x.c2p(0,!0)),y(E).attr("d","M"+V+"L"+N+"L"+q.substr(1)).call(l.singleFillStyle)):y(E).attr("d",q+"Z").call(l.singleFillStyle))):C&&("tonext"===_.fill.substr(0,6)&&q&&z?("tonext"===_.fill?y(C).attr("d",q+"Z"+z+"Z").call(l.singleFillStyle):y(C).attr("d",q+"L"+z.substr(1)+"Z").call(l.singleFillStyle),_._polygons=_._polygons.concat(P)):(Z(C),_._polygons=null)),_._prevRevpath=H,_._prevPolygons=U):(E?Z(E):C&&Z(C),_._polygons=_._prevRevpath=_._prevPolygons=null),T.datum(f),S.datum(f),function(e,i,a){var o,u=a[0].trace,f=c.hasMarkers(u),h=c.hasText(u),p=tt(u),d=et,g=et;if(f||h){var m=s,_=u.stackgroup,w=_&&"infer zero"===t._fullLayout._scatterStackOpts[x._id+b._id][_].stackgaps;u.marker.maxdisplayed||u._needsCull?m=w?J:$:_&&!w&&(m=K),f&&(d=m),h&&(g=m)}var k,M=(o=e.selectAll("path.point").data(d,p)).enter().append("path").classed("point",!0);v&&M.call(l.pointStyle,u,t).call(l.translatePoints,x,b).style("opacity",0).transition().style("opacity",1),o.order(),f&&(k=l.makePointStyleFns(u)),o.each(function(e){var i=n.select(this),a=y(i);l.translatePoint(e,a,x,b)?(l.singlePointStyle(e,a,u,k,t),r.layerClipId&&l.hideOutsideRangePoint(e,a,x,b,u.xcalendar,u.ycalendar),u.customdata&&i.classed("plotly-customdata",null!==e.data&&void 0!==e.data)):a.remove()}),v?o.exit().transition().style("opacity",0).remove():o.exit().remove(),(o=i.selectAll("g").data(g,p)).enter().append("g").classed("textpoint",!0).append("text"),o.order(),o.each(function(t){var e=n.select(this),i=y(e.select("text"));l.translatePoint(t,i,x,b)?r.layerClipId&&l.hideOutsideRangePoint(t,e,x,b,u.xcalendar,u.ycalendar):e.remove()}),o.selectAll("text").call(l.textPointStyle,u,t).each(function(t){var e=x.c2p(t.x),r=b.c2p(t.y);n.select(this).selectAll("tspan.line").each(function(){y(n.select(this)).attr({x:e,y:r})})}),o.exit().remove()}(T,S,f);var X=!1===_.cliponaxis?null:r.layerClipId;l.setClipUrl(T,X),l.setClipUrl(S,X)}function Z(t){y(t).attr("d","M0,0Z")}function $(t){return t.filter(function(t){return!t.gap&&t.vis})}function J(t){return t.filter(function(t){return t.vis})}function K(t){return t.filter(function(t){return!t.gap})}function Q(t){return t.id}function tt(t){if(t.ids)return Q}function et(){return!1}}e.exports=function(t,e,r,i,a,c){var u,h,d=!a,g=!!a&&a.duration>0,m=f(t,e,r);((u=i.selectAll("g.trace").data(m,function(t){return t[0].trace.uid})).enter().append("g").attr("class",function(t){return"trace scatter trace"+t[0].trace.uid}).style("stroke-miterlimit",2),u.order(),function(t,e,r){e.each(function(t){var e=o(n.select(this),"g","fills");l.setClipUrl(e,r.layerClipId);var i=t[0].trace,a=[];i.fill&&("tozero"===i.fill.substr(0,6)||"toself"===i.fill||"to"===i.fill.substr(0,2)&&!i._prevtrace)&&(a=["_ownFill"]),i._nexttrace&&a.push("_nextFill");var c=e.selectAll("g").data(a,s);c.enter().append("g"),c.exit().each(function(t){i[t]=null}).remove(),c.order().each(function(t){i[t]=o(n.select(this),"path","js-fill")})})}(0,u,e),g)?(c&&(h=c()),n.transition().duration(a.duration).ease(a.easing).each("end",function(){h&&h()}).each("interrupt",function(){h&&h()}).each(function(){i.selectAll("g.trace").each(function(r,n){p(t,n,e,r,m,this,a)})})):u.each(function(r,n){p(t,n,e,r,m,this,a)});d&&u.exit().remove(),i.selectAll("path:not([d])").remove()}},{"../../components/drawing":592,"../../lib":693,"../../lib/polygon":706,"../../registry":825,"./line_points":1046,"./link_traces":1048,"./subtypes":1056,d3:147}],1053:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)i=s[r],a=l.c2p(i.x),o=c.c2p(i.y),null!==i.i&&e.contains([a,o],!1,r,t)?(u.push({pointNumber:i.i,x:l.c2d(i.x),y:c.c2d(i.y)}),i.selected=1):i.selected=0;return u}},{"./subtypes":1056}],1054:[function(t,e,r){"use strict";var n=["orientation","groupnorm","stackgaps"];e.exports=function(t,e,r,i){var a=r._scatterStackOpts,o=i("stackgroup");if(o){var s=e.xaxis+e.yaxis,l=a[s];l||(l=a[s]={});var c=l[o],u=!1;c?c.traces.push(e):(c=l[o]={traceIndices:[],traces:[e]},u=!0);for(var f={orientation:e.x&&!e.y?"h":"v"},h=0;h<n.length;h++){var p=n[h],d=p+"Found";if(!c[d]){var g=void 0!==t[p],m="orientation"===p;if((g||u)&&(c[p]=i(p,f[p]),m&&(c.fillDflt="h"===c[p]?"tonextx":"tonexty"),g&&(c[d]=!0,!u&&(delete c.traces[0][p],m))))for(var v=0;v<c.traces.length-1;v++){var y=c.traces[v];y._input.fill!==y.fill&&(y.fill=c.fillDflt)}}}return c}}},{}],1055:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../../registry");function o(t,e,r){i.pointStyle(t.selectAll("path.point"),e,r)}function s(t,e,r){i.textPointStyle(t.selectAll("text"),e,r)}e.exports={style:function(t,e){var r=e?e[0].node3:n.select(t).selectAll("g.trace.scatter");r.style("opacity",function(t){return t[0].trace.opacity}),r.selectAll("g.points").each(function(e){o(n.select(this),e.trace||e[0].trace,t)}),r.selectAll("g.text").each(function(e){s(n.select(this),e.trace||e[0].trace,t)}),r.selectAll("g.trace path.js-line").call(i.lineGroupStyle),r.selectAll("g.trace path.js-fill").call(i.fillGroupStyle),a.getComponentMethod("errorbars","style")(r)},stylePoints:o,styleText:s,styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?(i.selectedPointStyle(r.selectAll("path.point"),n),i.selectedTextStyle(r.selectAll("text"),n)):(o(r,n,t),s(r,n,t))}}},{"../../components/drawing":592,"../../registry":825,d3:147}],1056:[function(t,e,r){"use strict";var n=t("../../lib");e.exports={hasLines:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf("lines")},hasMarkers:function(t){return t.visible&&(t.mode&&-1!==t.mode.indexOf("markers")||"splom"===t.type)},hasText:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf("text")},isBubble:function(t){return n.isPlainObject(t.marker)&&n.isArrayOrTypedArray(t.marker.size)}}},{"../../lib":693}],1057:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r,i,a){a=a||{},i("textposition"),n.coerceFont(i,"textfont",r.font),a.noSelect||(i("selected.textfont.color"),i("unselected.textfont.color"))}},{"../../lib":693}],1058:[function(t,e,r){"use strict";var n=t("../../registry");e.exports=function(t,e,r,i){var a,o=i("x"),s=i("y");if(n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],r),o)s?a=Math.min(o.length,s.length):(a=o.length,i("y0"),i("dy"));else{if(!s)return 0;a=e.y.length,i("x0"),i("dx")}return e._length=a,a}},{"../../registry":825}],1059:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../components/colorscale/attributes"),a=t("../../plots/attributes"),o=t("../../constants/gl3d_dashes"),s=t("../../constants/gl3d_markers"),l=t("../../lib/extend").extendFlat,c=t("../../plot_api/edit_types").overrideAll,u=n.line,f=n.marker,h=f.line,p=l({width:u.width,dash:{valType:"enumerated",values:Object.keys(o),dflt:"solid"}},i("line"));delete p.showscale,delete p.colorbar;var d=e.exports=c({x:n.x,y:n.y,z:{valType:"data_array"},text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),mode:l({},n.mode,{dflt:"lines+markers"}),surfaceaxis:{valType:"enumerated",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:"color"},projection:{x:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}},y:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}},z:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}}},connectgaps:n.connectgaps,line:p,marker:l({symbol:{valType:"enumerated",values:Object.keys(s),dflt:"circle",arrayOk:!0},size:l({},f.size,{dflt:8}),sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,opacity:l({},f.opacity,{arrayOk:!1}),colorbar:f.colorbar,line:l({width:l({},h.width,{arrayOk:!1})},i("marker.line"))},i("marker")),textposition:l({},n.textposition,{dflt:"top center",arrayOk:!1}),textfont:{color:n.textfont.color,size:n.textfont.size,family:l({},n.textfont.family,{arrayOk:!1})},hoverinfo:l({},a.hoverinfo)},"calc","nested");d.x.editType=d.y.editType=d.z.editType="calc+clearAxisTypes"},{"../../components/colorscale/attributes":574,"../../constants/gl3d_dashes":667,"../../constants/gl3d_markers":668,"../../lib/extend":682,"../../plot_api/edit_types":725,"../../plots/attributes":739,"../scatter/attributes":1032}],1060:[function(t,e,r){"use strict";var n=t("../scatter/arrays_to_calcdata"),i=t("../scatter/colorscale_calc");e.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r,e),i(e),r}},{"../scatter/arrays_to_calcdata":1031,"../scatter/colorscale_calc":1036}],1061:[function(t,e,r){"use strict";var n=t("../../registry");function i(t,e,r,i){if(!e||!e.visible)return null;for(var a=n.getComponentMethod("errorbars","makeComputeError")(e),o=new Array(t.length),s=0;s<t.length;s++){var l=a(+t[s],s);if("log"===i.type){var c=i.c2l(t[s]),u=t[s]-l[0],f=t[s]+l[1];if(o[s]=[(i.c2l(u,!0)-c)*r,(i.c2l(f,!0)-c)*r],u>0){var h=i.c2l(u);i._lowerLogErrorBound||(i._lowerLogErrorBound=h),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}e.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e<t.length;e++)if(t[e])return t[e].length;return 0}(n);if(0===a)return null;for(var o=new Array(a),s=0;s<a;s++){for(var l=[[0,0,0],[0,0,0]],c=0;c<3;c++)if(n[c])for(var u=0;u<2;u++)l[u][c]=n[c][s][u];o[s]=l}return o}},{"../../registry":825}],1062:[function(t,e,r){"use strict";var n=t("gl-line3d"),i=t("gl-scatter3d"),a=t("gl-error3d"),o=t("gl-mesh3d"),s=t("delaunay-triangulate"),l=t("../../lib"),c=t("../../lib/str2rgbarray"),u=t("../../lib/gl_format_color").formatColor,f=t("../scatter/make_bubble_size_func"),h=t("../../constants/gl3d_dashes"),p=t("../../constants/gl3d_markers"),d=t("./calc_errors");function g(t,e){this.scene=t,this.uid=e,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode="",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var m=g.prototype;function v(t,e){return e(4*t)}function y(t){return p[t]}function x(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o<e;o++)void 0===t[o]?a[o]=n:a[o]=r(t[o],i)}else a=r(t,l.identity);return a}function b(t,e){var r,n,i,a,o,s,h,p,g=[],m=t.fullSceneLayout,b=t.dataScale,_=m.xaxis,w=m.yaxis,k=m.zaxis,M=e.marker,A=e.line,T=e.x||[],S=e.y||[],E=e.z||[],C=T.length,L=e.xcalendar,z=e.ycalendar,P=e.zcalendar;for(n=0;n<C;n++)i=_.d2l(T[n],0,L)*b[0],a=w.d2l(S[n],0,z)*b[1],o=k.d2l(E[n],0,P)*b[2],g[n]=[i,a,o];if(Array.isArray(e.text))s=e.text;else if(void 0!==e.text)for(s=new Array(C),n=0;n<C;n++)s[n]=e.text;if(r={position:g,mode:e.mode,text:s},"line"in e&&(r.lineColor=u(A,1,C),r.lineWidth=A.width,r.lineDashes=A.dash),"marker"in e){var O=f(e);r.scatterColor=u(M,1,C),r.scatterSize=x(M.size,C,v,20,O),r.scatterMarker=x(M.symbol,C,y,"\u25cf"),r.scatterLineWidth=M.line.width,r.scatterLineColor=u(M.line,1,C),r.scatterAngle=0}"textposition"in e&&(r.textOffset=(h=e.textposition,p=[0,0],Array.isArray(h)?[0,-1]:(h.indexOf("bottom")>=0&&(p[1]+=1),h.indexOf("top")>=0&&(p[1]-=1),h.indexOf("left")>=0&&(p[0]-=1),h.indexOf("right")>=0&&(p[0]+=1),p)),r.textColor=u(e.textfont,1,C),r.textSize=x(e.textfont.size,C,l.identity,12),r.textFont=e.textfont.family,r.textAngle=0);var I=["x","y","z"];for(r.project=[!1,!1,!1],r.projectScale=[1,1,1],r.projectOpacity=[1,1,1],n=0;n<3;++n){var D=e.projection[I[n]];(r.project[n]=D.show)&&(r.projectOpacity[n]=D.opacity,r.projectScale[n]=D.scale)}r.errorBounds=d(e,b,m);var R=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[1,1,1],i=0;i<3;i++){var a=t[i];a&&!1!==a.copy_zstyle&&!1!==t[2].visible&&(a=t[2]),a&&a.visible&&(e[i]=a.width/2,r[i]=c(a.color),n[i]=a.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return r.errorColor=R.color,r.errorLineWidth=R.lineWidth,r.errorCapSize=R.capSize,r.delaunayAxis=e.surfaceaxis,r.delaunayColor=c(e.surfacecolor),r}function _(t){if(Array.isArray(t)){var e=t[0];return Array.isArray(e)&&(t=e),"rgb("+t.slice(0,3).map(function(t){return Math.round(255*t)})+")"}return null}m.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){var e=t.index=t.data.index;return t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),t.textLabel="",this.textLabels&&(Array.isArray(this.textLabels)?(this.textLabels[e]||0===this.textLabels[e])&&(t.textLabel=this.textLabels[e]):t.textLabel=this.textLabels),t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},m.update=function(t){var e,r,l,c,u=this.scene.glplot.gl,f=h.solid;this.data=t;var p=b(this.scene,t);"mode"in p&&(this.mode=p.mode),"lineDashes"in p&&p.lineDashes in h&&(f=h[p.lineDashes]),this.color=_(p.scatterColor)||_(p.lineColor),this.dataPoints=p.position,e={gl:u,position:p.position,color:p.lineColor,lineWidth:p.lineWidth||1,dashes:f[0],dashScale:f[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf("lines")?this.linePlot?this.linePlot.update(e):(this.linePlot=n(e),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var d=t.opacity;if(t.marker&&t.marker.opacity&&(d*=t.marker.opacity),r={gl:u,position:p.position,color:p.scatterColor,size:p.scatterSize,glyph:p.scatterMarker,opacity:d,orthographic:!0,lineWidth:p.scatterLineWidth,lineColor:p.scatterLineColor,project:p.project,projectScale:p.projectScale,projectOpacity:p.projectOpacity},-1!==this.mode.indexOf("markers")?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=i(r),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),c={gl:u,position:p.position,glyph:p.text,color:p.textColor,size:p.textSize,angle:p.textAngle,alignment:p.textOffset,font:p.textFont,orthographic:!0,lineWidth:0,project:!1,opacity:t.opacity},this.textLabels=t.hovertext||t.text,-1!==this.mode.indexOf("text")?this.textMarkers?this.textMarkers.update(c):(this.textMarkers=i(c),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),l={gl:u,position:p.position,color:p.errorColor,error:p.errorBounds,lineWidth:p.errorLineWidth,capSize:p.errorCapSize,opacity:t.opacity},this.errorBars?p.errorBounds?this.errorBars.update(l):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):p.errorBounds&&(this.errorBars=a(l),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),p.delaunayAxis>=0){var g=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n<t.length;++n){var c=t[n];!isNaN(c[i])&&isFinite(c[i])&&!isNaN(c[a])&&isFinite(c[a])&&(o.push([c[i],c[a]]),l.push(n))}var u=s(o);for(n=0;n<u.length;++n)for(var f=u[n],h=0;h<f.length;++h)f[h]=l[f[h]];return{positions:t,cells:u,meshColor:e}}(p.position,p.delaunayColor,p.delaunayAxis);g.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(g):(g.gl=u,this.delaunayMesh=o(g),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)},m.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())},e.exports=function(t,e){var r=new g(t,e.uid);return r.update(e),r}},{"../../constants/gl3d_dashes":667,"../../constants/gl3d_markers":668,"../../lib":693,"../../lib/gl_format_color":689,"../../lib/str2rgbarray":717,"../scatter/make_bubble_size_func":1049,"./calc_errors":1061,"delaunay-triangulate":149,"gl-error3d":236,"gl-line3d":244,"gl-mesh3d":267,"gl-scatter3d":282}],1063:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../scatter/subtypes"),o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/text_defaults"),c=t("./attributes");e.exports=function(t,e,r,u){function f(r,n){return i.coerce(t,e,c,r,n)}if(function(t,e,r,i){var a=0,o=r("x"),s=r("y"),l=r("z");n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],i),o&&s&&l&&(a=Math.min(o.length,s.length,l.length),e._length=e._xlength=e._ylength=e._zlength=a);return a}(t,e,f,u)){f("text"),f("hovertext"),f("mode"),a.hasLines(e)&&(f("connectgaps"),s(t,e,r,u,f)),a.hasMarkers(e)&&o(t,e,r,u,f,{noSelect:!0}),a.hasText(e)&&l(t,e,u,f,{noSelect:!0});var h=(e.line||{}).color,p=(e.marker||{}).color;f("surfaceaxis")>=0&&f("surfacecolor",h||p);for(var d=["x","y","z"],g=0;g<3;++g){var m="projection."+d[g];f(m+".show")&&(f(m+".opacity"),f(m+".scale"))}var v=n.getComponentMethod("errorbars","supplyDefaults");v(t,e,r,{axis:"z"}),v(t,e,r,{axis:"y",inherit:"z"}),v(t,e,r,{axis:"x",inherit:"z"})}else e.visible=!1}},{"../../lib":693,"../../registry":825,"../scatter/line_defaults":1045,"../scatter/marker_defaults":1051,"../scatter/subtypes":1056,"../scatter/text_defaults":1057,"./attributes":1059}],1064:[function(t,e,r){"use strict";var n={};n.plot=t("./convert"),n.attributes=t("./attributes"),n.markerSymbols=t("../../constants/gl3d_markers"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../scatter/marker_colorbar"),n.calc=t("./calc"),n.moduleType="trace",n.name="scatter3d",n.basePlotModule=t("../../plots/gl3d"),n.categories=["gl3d","symbols","showLegend"],n.meta={},e.exports=n},{"../../constants/gl3d_markers":668,"../../plots/gl3d":784,"../scatter/marker_colorbar":1050,"./attributes":1059,"./calc":1060,"./convert":1062,"./defaults":1063}],1065:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../plots/attributes"),a=t("../../components/colorscale/attributes"),o=t("../../components/colorbar/attributes"),s=t("../../lib/extend").extendFlat,l=n.marker,c=n.line,u=l.line;e.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:s({},n.mode,{dflt:"markers"}),text:s({},n.text,{}),line:{color:c.color,width:c.width,dash:c.dash,shape:s({},c.shape,{values:["linear","spline"]}),smoothing:c.smoothing,editType:"calc"},connectgaps:n.connectgaps,fill:s({},n.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n.fillcolor,marker:s({symbol:l.symbol,opacity:l.opacity,maxdisplayed:l.maxdisplayed,size:l.size,sizeref:l.sizeref,sizemin:l.sizemin,sizemode:l.sizemode,line:s({width:u.width,editType:"calc"},a("marker.line")),gradient:l.gradient,editType:"calc"},a("marker"),{colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:["a","b","text","name"]}),hoveron:n.hoveron}},{"../../components/colorbar/attributes":568,"../../components/colorscale/attributes":574,"../../lib/extend":682,"../../plots/attributes":739,"../scatter/attributes":1032}],1066:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../scatter/colorscale_calc"),a=t("../scatter/arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../scatter/calc").calcMarkerSize,l=t("../carpet/lookup_carpetid");e.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,f,h=e._length,p=new Array(h),d=!1;for(c=0;c<h;c++)if(u=e.a[c],f=e.b[c],n(u)&&n(f)){var g=r.ab2xy(+u,+f,!0),m=r.isVisible(+u,+f);m||(d=!0),p[c]={x:g[0],y:g[1],a:u,b:f,vis:m}}else p[c]={x:!1,y:!1};return e._needsCull=d,p[0].carpet=r,p[0].trace=e,s(e,h),i(e),a(p,e),o(p,e),p}}},{"../carpet/lookup_carpetid":891,"../scatter/arrays_to_calcdata":1031,"../scatter/calc":1033,"../scatter/calc_selection":1034,"../scatter/colorscale_calc":1036,"fast-isnumeric":213}],1067:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/constants"),a=t("../scatter/subtypes"),o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/line_shape_defaults"),c=t("../scatter/text_defaults"),u=t("../scatter/fillcolor_defaults"),f=t("./attributes");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}p("carpet"),e.xaxis="x",e.yaxis="y";var d=p("a"),g=p("b"),m=Math.min(d.length,g.length);if(m){e._length=m,p("text"),p("mode",m<i.PTS_LINESONLY?"lines+markers":"lines"),a.hasLines(e)&&(s(t,e,r,h,p),l(t,e,p),p("connectgaps")),a.hasMarkers(e)&&o(t,e,r,h,p,{gradient:!0}),a.hasText(e)&&c(t,e,h,p);var v=[];(a.hasMarkers(e)||a.hasText(e))&&(p("marker.maxdisplayed"),v.push("points")),p("fill"),"none"!==e.fill&&(u(t,e,r,p),a.hasLines(e)||l(t,e,p)),"tonext"!==e.fill&&"toself"!==e.fill||v.push("fills"),p("hoveron",v.join("+")||"points"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{"../../lib":693,"../scatter/constants":1037,"../scatter/fillcolor_defaults":1041,"../scatter/line_defaults":1045,"../scatter/line_shape_defaults":1047,"../scatter/marker_defaults":1051,"../scatter/subtypes":1056,"../scatter/text_defaults":1057,"./attributes":1065}],1068:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){var a=n[i];return t.a=a.a,t.b=a.b,t}},{}],1069:[function(t,e,r){"use strict";var n=t("../scatter/hover");e.exports=function(t,e,r,i){var a=n(t,e,r,i);if(a&&!1!==a[0].index){var o=a[0];if(void 0===o.index){var s=1-o.y0/t.ya._length,l=t.xa._length,c=l*s/2,u=l-c;return o.x0=Math.max(Math.min(o.x0,u),c),o.x1=Math.max(Math.min(o.x1,u),c),a}var f=o.cd[o.index];o.a=f.a,o.b=f.b,o.xLabelVal=void 0,o.yLabelVal=void 0;var h=o.trace,p=h._carpet,d=(f.hi||h.hoverinfo).split("+"),g=[];-1!==d.indexOf("all")&&(d=["a","b"]),-1!==d.indexOf("a")&&w(p.aaxis,f.a),-1!==d.indexOf("b")&&w(p.baxis,f.b);var m=p.ab2ij([f.a,f.b]),v=Math.floor(m[0]),y=m[0]-v,x=Math.floor(m[1]),b=m[1]-x,_=p.evalxy([],v,x,y,b);return g.push("y: "+_[1].toFixed(3)),o.extraText=g.join("<br>"),a}function w(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,g.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},{"../scatter/hover":1043}],1070:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../scatter/marker_colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("../scatter/style").style,n.styleOnSelect=t("../scatter/style").styleOnSelect,n.hoverPoints=t("./hover"),n.selectPoints=t("../scatter/select"),n.eventData=t("./event_data"),n.moduleType="trace",n.name="scattercarpet",n.basePlotModule=t("../../plots/cartesian"),n.categories=["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],n.meta={},e.exports=n},{"../../plots/cartesian":753,"../scatter/marker_colorbar":1050,"../scatter/select":1053,"../scatter/style":1055,"./attributes":1065,"./calc":1066,"./defaults":1067,"./event_data":1068,"./hover":1069,"./plot":1071}],1071:[function(t,e,r){"use strict";var n=t("../scatter/plot"),i=t("../../plots/cartesian/axes"),a=t("../../components/drawing");e.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,f={xaxis:i.getFromId(t,u.xaxis||"x"),yaxis:i.getFromId(t,u.yaxis||"y"),plot:e.plot};for(n(t,f,r,o),s=0;s<r.length;s++)l=r[s][0].trace,c=o.selectAll("g.trace"+l.uid+" .js-line"),a.setClipUrl(c,u._clipPathId)}},{"../../components/drawing":592,"../../plots/cartesian/axes":742,"../scatter/plot":1052}],1072:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../plots/attributes"),a=t("../../components/colorscale/attributes"),o=t("../../components/drawing/attributes").dash,s=t("../../lib/extend").extendFlat,l=t("../../plot_api/edit_types").overrideAll,c=n.marker,u=n.line,f=c.line;e.exports=l({lon:{valType:"data_array"},lat:{valType:"data_array"},locations:{valType:"data_array"},locationmode:{valType:"enumerated",values:["ISO-3","USA-states","country names"],dflt:"ISO-3"},mode:s({},n.mode,{dflt:"markers"}),text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),textfont:n.textfont,textposition:n.textposition,line:{color:u.color,width:u.width,dash:o},connectgaps:n.connectgaps,marker:s({symbol:c.symbol,opacity:c.opacity,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,colorbar:c.colorbar,line:s({width:f.width},a("marker.line")),gradient:c.gradient},a("marker")),fill:{valType:"enumerated",values:["none","toself"],dflt:"none"},fillcolor:n.fillcolor,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:["lon","lat","location","text","name"]})},"calc","nested")},{"../../components/colorscale/attributes":574,"../../components/drawing/attributes":591,"../../lib/extend":682,"../../plot_api/edit_types":725,"../../plots/attributes":739,"../scatter/attributes":1032}],1073:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../constants/numerical").BADNUM,a=t("../scatter/colorscale_calc"),o=t("../scatter/arrays_to_calcdata"),s=t("../scatter/calc_selection"),l=t("../../lib")._;e.exports=function(t,e){for(var r=Array.isArray(e.locations),c=r?e.locations.length:e._length,u=new Array(c),f=0;f<c;f++){var h=u[f]={};if(r){var p=e.locations[f];h.loc="string"==typeof p?p:null}else{var d=e.lon[f],g=e.lat[f];n(d)&&n(g)?h.lonlat=[+d,+g]:h.lonlat=[i,i]}}return o(u,e),a(e),s(u,e),c&&(u[0].t={labels:{lat:l(t,"lat:")+" ",lon:l(t,"lon:")+" "}}),u}},{"../../constants/numerical":670,"../../lib":693,"../scatter/arrays_to_calcdata":1031,"../scatter/calc_selection":1034,"../scatter/colorscale_calc":1036,"fast-isnumeric":213}],1074:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/subtypes"),a=t("../scatter/marker_defaults"),o=t("../scatter/line_defaults"),s=t("../scatter/text_defaults"),l=t("../scatter/fillcolor_defaults"),c=t("./attributes");e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}!function(t,e,r){var n,i,a=0,o=r("locations");if(o)return r("locationmode"),a=o.length;return n=r("lon")||[],i=r("lat")||[],a=Math.min(n.length,i.length),e._length=a,a}(0,e,f)?e.visible=!1:(f("text"),f("hovertext"),f("mode"),i.hasLines(e)&&(o(t,e,r,u,f),f("connectgaps")),i.hasMarkers(e)&&a(t,e,r,u,f,{gradient:!0}),i.hasText(e)&&s(t,e,u,f),f("fill"),"none"!==e.fill&&l(t,e,r,f),n.coerceSelectionMarkerOpacity(e,f))}},{"../../lib":693,"../scatter/fillcolor_defaults":1041,"../scatter/line_defaults":1045,"../scatter/marker_defaults":1051,"../scatter/subtypes":1056,"../scatter/text_defaults":1057,"./attributes":1072}],1075:[function(t,e,r){"use strict";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null,t}},{}],1076:[function(t,e,r){"use strict";var n=t("../../components/fx"),i=t("../../plots/cartesian/axes"),a=t("../../constants/numerical").BADNUM,o=t("../scatter/get_trace_color"),s=t("../scatter/fill_hover_text"),l=t("./attributes");e.exports=function(t,e,r){var c=t.cd,u=c[0].trace,f=t.xa,h=t.ya,p=t.subplot,d=p.projection.isLonLatOverEdges,g=p.project;if(n.getClosest(c,function(t){var n=t.lonlat;if(n[0]===a)return 1/0;if(d(n))return 1/0;var i=g(n),o=g([e,r]),s=Math.abs(i[0]-o[0]),l=Math.abs(i[1]-o[1]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(s*s+l*l)-c,1-3/c)},t),!1!==t.index){var m=c[t.index],v=m.lonlat,y=[f.c2p(v),h.c2p(v)],x=m.mrc||1;return t.x0=y[0]-x,t.x1=y[0]+x,t.y0=y[1]-x,t.y1=y[1]+x,t.loc=m.loc,t.lon=v[0],t.lat=v[1],t.color=o(u,m),t.extraText=function(t,e,r,n){var a=e.hi||t.hoverinfo,o="all"===a?l.hoverinfo.flags:a.split("+"),c=-1!==o.indexOf("location")&&Array.isArray(t.locations),u=-1!==o.indexOf("lon"),f=-1!==o.indexOf("lat"),h=-1!==o.indexOf("text"),p=[];function d(t){return i.tickText(r,r.c2l(t),"hover").text+"\xb0"}c?p.push(e.loc):u&&f?p.push("("+d(e.lonlat[0])+", "+d(e.lonlat[1])+")"):u?p.push(n.lon+d(e.lonlat[0])):f&&p.push(n.lat+d(e.lonlat[1]));h&&s(e,t,p);return p.join("<br>")}(u,m,p.mockAxis,c[0].t.labels),[t]}}},{"../../components/fx":609,"../../constants/numerical":670,"../../plots/cartesian/axes":742,"../scatter/fill_hover_text":1040,"../scatter/get_trace_color":1042,"./attributes":1072}],1077:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../scatter/marker_colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("./style"),n.styleOnSelect=t("../scatter/style").styleOnSelect,n.hoverPoints=t("./hover"),n.eventData=t("./event_data"),n.selectPoints=t("./select"),n.moduleType="trace",n.name="scattergeo",n.basePlotModule=t("../../plots/geo"),n.categories=["geo","symbols","showLegend","scatter-like"],n.meta={},e.exports=n},{"../../plots/geo":772,"../scatter/marker_colorbar":1050,"../scatter/style":1055,"./attributes":1072,"./calc":1073,"./defaults":1074,"./event_data":1075,"./hover":1076,"./plot":1078,"./select":1079,"./style":1080}],1078:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../constants/numerical").BADNUM,o=t("../../lib/topojson_utils").getTopojsonFeatures,s=t("../../lib/geo_location_utils").locationToFeature,l=t("../../lib/geojson_utils"),c=t("../scatter/subtypes"),u=t("./style");function f(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=o(r,e),i=r.locationmode,l=0;l<t.length;l++){var c=t[l],u=s(i,c.loc,n);c.lonlat=u?u.properties.ct:[a,a]}}e.exports=function(t,e,r){for(var o=0;o<r.length;o++)f(r[o],e.topojson);function s(t,e){t.lonlat[0]===a&&n.select(e).remove()}var h=e.layers.frontplot.select(".scatterlayer"),p=i.makeTraceGroups(h,r,"trace scattergeo");p.selectAll("*").remove(),p.each(function(e){var r=e[0].node3=n.select(this),a=e[0].trace;if(c.hasLines(a)||"none"!==a.fill){var o=l.calcTraceToLineCoords(e),f="none"!==a.fill?l.makePolygon(o):l.makeLine(o);r.selectAll("path.js-line").data([{geojson:f,trace:a}]).enter().append("path").classed("js-line",!0).style("stroke-miterlimit",2)}c.hasMarkers(a)&&r.selectAll("path.point").data(i.identity).enter().append("path").classed("point",!0).each(function(t){s(t,this)}),c.hasText(a)&&r.selectAll("g").data(i.identity).enter().append("g").append("text").each(function(t){s(t,this)}),u(t,e)})}},{"../../constants/numerical":670,"../../lib":693,"../../lib/geo_location_utils":685,"../../lib/geojson_utils":686,"../../lib/topojson_utils":721,"../scatter/subtypes":1056,"./style":1080,d3:147}],1079:[function(t,e,r){"use strict";var n=t("../scatter/subtypes"),i=t("../../constants/numerical").BADNUM;e.exports=function(t,e){var r,a,o,s,l,c=t.cd,u=t.xaxis,f=t.yaxis,h=[],p=c[0].trace;if(!n.hasMarkers(p)&&!n.hasText(p))return[];if(!1===e)for(l=0;l<c.length;l++)c[l].selected=0;else for(l=0;l<c.length;l++)(a=(r=c[l]).lonlat)[0]!==i&&(o=u.c2p(a),s=f.c2p(a),e.contains([o,s],null,l,t)?(h.push({pointNumber:l,lon:a[0],lat:a[1]}),r.selected=1):r.selected=0);return h}},{"../../constants/numerical":670,"../scatter/subtypes":1056}],1080:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../../components/color"),o=t("../scatter/style"),s=o.stylePoints,l=o.styleText;e.exports=function(t,e){e&&function(t,e){var r=e[0].trace,o=e[0].node3;o.style("opacity",e[0].trace.opacity),s(o,r,t),l(o,r,t),o.selectAll("path.js-line").style("fill","none").each(function(t){var e=n.select(this),r=t.trace,o=r.line||{};e.call(a.stroke,o.color).call(i.dashLine,o.dash||"",o.width||0),"none"!==r.fill&&e.call(a.fill,r.fillcolor)})}(t,e)}},{"../../components/color":567,"../../components/drawing":592,"../scatter/style":1055,d3:147}],1081:[function(t,e,r){"use strict";var n=t("../../plots/attributes"),i=t("../scatter/attributes"),a=t("../../components/colorscale/attributes"),o=t("../../lib/extend").extendFlat,s=t("../../plot_api/edit_types").overrideAll,l=t("./constants").DASHES,c=i.line,u=i.marker,f=u.line,h=e.exports=s({x:i.x,x0:i.x0,dx:i.dx,y:i.y,y0:i.y0,dy:i.dy,text:o({},i.text,{}),hovertext:i.hovertext,textposition:i.textposition,textfont:i.textfont,mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"]},line:{color:c.color,width:c.width,dash:{valType:"enumerated",values:Object.keys(l),dflt:"solid"}},marker:o({},a("marker"),{symbol:u.symbol,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,opacity:u.opacity,colorbar:u.colorbar,line:o({},a("marker.line"),{width:f.width})}),connectgaps:i.connectgaps,fill:o({},i.fill,{dflt:"none"}),fillcolor:i.fillcolor,selected:{marker:i.selected.marker,textfont:i.selected.textfont},unselected:{marker:i.unselected.marker,textfont:i.unselected.textfont},opacity:n.opacity},"calc","nested");h.x.editType=h.y.editType=h.x0.editType=h.y0.editType="calc+clearAxisTypes"},{"../../components/colorscale/attributes":574,"../../lib/extend":682,"../../plot_api/edit_types":725,"../../plots/attributes":739,"../scatter/attributes":1032,"./constants":1082}],1082:[function(t,e,r){"use strict";e.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},{}],1083:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("svg-path-sdf"),a=t("color-normalize"),o=t("../../registry"),s=t("../../lib"),l=t("../../components/drawing"),c=t("../../plots/cartesian/axis_ids"),u=t("../../lib/gl_format_color").formatColor,f=t("../scatter/subtypes"),h=t("../scatter/make_bubble_size_func"),p=t("./constants"),d=t("../../constants/interactions").DESELECTDIM,g={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1};function m(t){var e,r=t._length,i=t.textfont,a=t.textposition,o=Array.isArray(a)?a:[a],s=i.color,l=i.size,c=i.family,u={};for(u.text=t.text,u.opacity=t.opacity,u.font={},u.align=[],u.baseline=[],e=0;e<o.length;e++){var f=o[e].split(/\s+/);switch(f[1]){case"left":u.align.push("right");break;case"right":u.align.push("left");break;default:u.align.push(f[1])}switch(f[0]){case"top":u.baseline.push("bottom");break;case"bottom":u.baseline.push("top");break;default:u.baseline.push(f[0])}}if(Array.isArray(s))for(u.color=new Array(r),e=0;e<r;e++)u.color[e]=s[e];else u.color=s;if(Array.isArray(l)||Array.isArray(c))for(u.font=new Array(r),e=0;e<r;e++){var h=u.font[e]={};h.size=Array.isArray(l)?n(l[e])?l[e]:0:l,h.family=Array.isArray(c)?c[e]:c}else u.font={size:l,family:c};return u}function v(t){var e,r,n=t._length,i=t.marker,o={},l=Array.isArray(i.symbol),c=s.isArrayOrTypedArray(i.color),f=s.isArrayOrTypedArray(i.line.color),d=s.isArrayOrTypedArray(i.opacity),g=s.isArrayOrTypedArray(i.size),m=s.isArrayOrTypedArray(i.line.width);if(l||(r=p.OPEN_RE.test(i.symbol)),l||c||f||d){o.colors=new Array(n),o.borderColors=new Array(n);var v=u(i,i.opacity,n),y=u(i.line,i.opacity,n);if(!Array.isArray(y[0])){var x=y;for(y=Array(n),e=0;e<n;e++)y[e]=x}if(!Array.isArray(v[0])){var b=v;for(v=Array(n),e=0;e<n;e++)v[e]=b}for(o.colors=v,o.borderColors=y,e=0;e<n;e++){if(l){var _=i.symbol[e];r=p.OPEN_RE.test(_)}r&&(y[e]=v[e].slice(),v[e]=v[e].slice(),v[e][3]=0)}o.opacity=t.opacity}else r?(o.color=a(i.color,"uint8"),o.color[3]=0,o.borderColor=a(i.color,"uint8")):(o.color=a(i.color,"uint8"),o.borderColor=a(i.line.color,"uint8")),o.opacity=t.opacity*i.opacity;if(l)for(o.markers=new Array(n),e=0;e<n;e++)o.markers[e]=T(i.symbol[e]);else o.marker=T(i.symbol);var w,k=h(t);if(g||m){var M,A=o.sizes=new Array(n),S=o.borderSizes=new Array(n),E=0;if(g){for(e=0;e<n;e++)A[e]=k(i.size[e]),E+=A[e];M=E/n}else for(w=k(i.size),e=0;e<n;e++)A[e]=w;if(m)for(e=0;e<n;e++)S[e]=i.line.width[e]/2;else for(w=i.line.width/2,e=0;e<n;e++)S[e]=w;o.sizeAvg=M}else o.size=k(i&&i.size||10),o.borderSizes=k(i.line.width);return o}function y(t,e){var r=t.marker,n={};return e?(e.marker&&e.marker.symbol?n=v(s.extendFlat({},r,e.marker)):e.marker&&(e.marker.size&&(n.size=e.marker.size/2),e.marker.color&&(n.colors=e.marker.color),void 0!==e.marker.opacity&&(n.opacity=e.marker.opacity)),n):n}function x(t,e){var r={};if(!e)return r;if(e.textfont){var n={opacity:1,text:t.text,textposition:t.textposition,textfont:s.extendFlat({},t.textfont)};e.textfont&&s.extendFlat(n.textfont,e.textfont),r=m(n)}return r}function b(t,e){var r={capSize:2*e.width,lineWidth:e.thickness,color:e.color};return e.copy_ystyle&&(r=t.error_y),r}var _=p.SYMBOL_SDF_SIZE,w=p.SYMBOL_SIZE,k=p.SYMBOL_STROKE,M={},A=l.symbolFuncs[0](.05*w);function T(t){if("circle"===t)return null;var e,r,n=l.symbolNumber(t),a=l.symbolFuncs[n%100],o=!!l.symbolNoDot[n%100],s=!!l.symbolNoFill[n%100],c=p.DOT_RE.test(t);return M[t]?M[t]:(e=c&&!o?a(1.1*w)+A:a(w),r=i(e,{w:_,h:_,viewBox:[-w,-w,w,w],stroke:s?k:-k}),M[t]=r,r||null)}e.exports={style:function(t,e){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0};if(!0!==e.visible)return n;if(f.hasText(e)&&(n.text=m(e),n.textSel=x(e,e.selected),n.textUnsel=x(e,e.unselected)),f.hasMarkers(e)&&(n.marker=v(e),n.markerSel=y(e,e.selected),n.markerUnsel=y(e,e.unselected),!e.unselected&&Array.isArray(e.marker.opacity))){var i=e.marker.opacity;for(n.markerUnsel.opacity=new Array(i.length),r=0;r<i.length;r++)n.markerUnsel.opacity[r]=d*i[r]}if(f.hasLines(e)){n.line={overlay:!0,thickness:e.line.width,color:e.line.color,opacity:e.opacity};var a=(p.DASHES[e.line.dash]||[1]).slice();for(r=0;r<a.length;++r)a[r]*=e.line.width;n.line.dashes=a}return e.error_x&&e.error_x.visible&&(n.errorX=b(e,e.error_x)),e.error_y&&e.error_y.visible&&(n.errorY=b(e,e.error_y)),e.fill&&"none"!==e.fill&&(n.fill={closed:!0,fill:e.fillcolor,thickness:0}),n},markerStyle:v,markerSelection:y,linePositions:function(t,e,r){var n,i,a=r.length/2;if(f.hasLines(e)&&a)if("hv"===e.line.shape){for(n=[],i=0;i<a-1;i++)isNaN(r[2*i])||isNaN(r[2*i+1])?(n.push(NaN),n.push(NaN),n.push(NaN),n.push(NaN)):(n.push(r[2*i]),n.push(r[2*i+1]),n.push(r[2*i+2]),n.push(r[2*i+1]));n.push(r[r.length-2]),n.push(r[r.length-1])}else if("vh"===e.line.shape){for(n=[],i=0;i<a-1;i++)isNaN(r[2*i])||isNaN(r[2*i+1])?(n.push(NaN),n.push(NaN),n.push(NaN),n.push(NaN)):(n.push(r[2*i]),n.push(r[2*i+1]),n.push(r[2*i]),n.push(r[2*i+3]));n.push(r[r.length-2]),n.push(r[r.length-1])}else n=r;var o=!1;for(i=0;i<n.length;i++)if(isNaN(n[i])){o=!0;break}var s=o||n.length>p.TOO_MANY_POINTS?"rect":f.hasMarkers(e)?"rect":"round";if(o&&e.connectgaps){var l=n[0],c=n[1];for(i=0;i<n.length;i+=2)isNaN(n[i])||isNaN(n[i+1])?(n[i]=l,n[i+1]=c):(l=n[i],c=n[i+1])}return{join:s,positions:n}},errorBarPositions:function(t,e,r,i,a){var s=o.getComponentMethod("errorbars","makeComputeError"),l=c.getFromId(t,e.xaxis),u=c.getFromId(t,e.yaxis),f=r.length/2,h={};function p(t,i){var a=i._id.charAt(0),o=e["error_"+a];if(o&&o.visible&&("linear"===i.type||"log"===i.type)){for(var l=s(o),c={x:0,y:1}[a],u={x:[0,1,2,3],y:[2,3,0,1]}[a],p=new Float64Array(4*f),d=1/0,g=-1/0,m=0,v=0;m<f;m++,v+=4){var y=t[m];if(n(y)){var x=r[2*m+c],b=l(y,m),_=b[0],w=b[1];if(n(_)&&n(w)){var k=y-_,M=y+w;p[v+u[0]]=x-i.c2l(k),p[v+u[1]]=i.c2l(M)-x,p[v+u[2]]=0,p[v+u[3]]=0,d=Math.min(d,y-_),g=Math.max(g,y+w)}}}h[a]={positions:r,errors:p,_bnds:[d,g]}}}return p(i,l),p(a,u),h},textPosition:function(t,e,r,n){var i,a=e._length,o={};if(f.hasMarkers(e)){var s=r.font,l=r.align,c=r.baseline;for(o.offset=new Array(a),i=0;i<a;i++){var u=n.sizes?n.sizes[i]:n.size,h=Array.isArray(s)?s[i].size:s.size,p=Array.isArray(l)?l.length>1?l[i]:l[0]:l,d=Array.isArray(c)?c.length>1?c[i]:c[0]:c,m=g[p],v=g[d],y=u?u/.8+1:0,x=-v*y-.5*v;o.offset[i]=[m*y/h,x/h]}}return o}}},{"../../components/drawing":592,"../../constants/interactions":669,"../../lib":693,"../../lib/gl_format_color":689,"../../plots/cartesian/axis_ids":745,"../../registry":825,"../scatter/make_bubble_size_func":1049,"../scatter/subtypes":1056,"./constants":1082,"color-normalize":107,"fast-isnumeric":213,"svg-path-sdf":509}],1084:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("./attributes"),o=t("../scatter/constants"),s=t("../scatter/subtypes"),l=t("../scatter/xy_defaults"),c=t("../scatter/marker_defaults"),u=t("../scatter/line_defaults"),f=t("../scatter/fillcolor_defaults"),h=t("../scatter/text_defaults");e.exports=function(t,e,r,p){function d(r,i){return n.coerce(t,e,a,r,i)}var g=!!t.marker&&/-open/.test(t.marker.symbol),m=s.isBubble(t),v=l(t,e,p,d);if(v){var y=v<o.PTS_LINESONLY?"lines+markers":"lines";d("text"),d("hovertext"),d("mode",y),s.hasLines(e)&&(d("connectgaps"),u(t,e,r,p,d)),s.hasMarkers(e)&&(c(t,e,r,p,d),d("marker.line.width",g||m?1:0)),s.hasText(e)&&h(t,e,p,d),d("fill"),"none"!==e.fill&&f(t,e,r,d);var x=i.getComponentMethod("errorbars","supplyDefaults");x(t,e,r,{axis:"y"}),x(t,e,r,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{"../../lib":693,"../../registry":825,"../scatter/constants":1037,"../scatter/fillcolor_defaults":1041,"../scatter/line_defaults":1045,"../scatter/marker_defaults":1051,"../scatter/subtypes":1056,"../scatter/text_defaults":1057,"../scatter/xy_defaults":1058,"./attributes":1081}],1085:[function(t,e,r){"use strict";var n=t("regl-scatter2d"),i=t("regl-line2d"),a=t("regl-error2d"),o=t("point-cluster"),s=t("array-range"),l=t("gl-text"),c=t("../../registry"),u=t("../../lib"),f=t("../../lib/prepare_regl"),h=t("../../plots/cartesian/axis_ids"),p=t("../../plots/cartesian/autorange").findExtremes,d=t("../../components/color"),g=t("../scatter/subtypes"),m=t("../scatter/calc"),v=m.calcMarkerSize,y=m.calcAxisExpansion,x=m.setFirstScatter,b=t("../scatter/colorscale_calc"),_=t("../scatter/link_traces"),w=t("../scatter/get_trace_color"),k=t("../scatter/fill_hover_text"),M=t("./convert"),A=t("../../constants/numerical").BADNUM,T=t("./constants").TOO_MANY_POINTS,S=t("../../constants/interactions").DESELECTDIM;function E(t,e,r){var n=t._extremes[e._id],i=p(e,r._bnds,{padded:!0});n.min=n.min.concat(i.min),n.max=n.max.concat(i.max)}function C(t,e,r,n,i,a){var o=M.style(t,r);if(o.marker&&(o.marker.positions=n),o.line&&n.length>1&&u.extendFlat(o.line,M.linePositions(t,r,n)),o.errorX||o.errorY){var s=M.errorBarPositions(t,r,n,i,a);o.errorX&&u.extendFlat(o.errorX,s.x),o.errorY&&u.extendFlat(o.errorY,s.y)}return o.text&&(u.extendFlat(o.text,{positions:n},M.textPosition(t,r,o.text,o.marker)),u.extendFlat(o.textSel,{positions:n},M.textPosition(t,r,o.text,o.markerSel)),u.extendFlat(o.textUnsel,{positions:n},M.textPosition(t,r,o.text,o.markerUnsel))),o}function L(t,e){var r=e._scene,n={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[]},i={selectBatch:null,unselectBatch:null,fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:null};return e._scene||((r=e._scene={}).init=function(){u.extendFlat(r,i,n)},r.init(),r.update=function(t){var e=u.repeat(t,r.count);if(r.fill2d&&r.fill2d.update(e),r.scatter2d&&r.scatter2d.update(e),r.line2d&&r.line2d.update(e),r.error2d&&r.error2d.update(e.concat(e)),r.select2d&&r.select2d.update(e),r.glText)for(var n=0;n<r.count;n++)r.glText[n].update(t);r.draw()},r.draw=function(){var t;for(t=0;t<r.count;t++)r.fill2d&&r.fillOptions[t]&&r.fill2d.draw(t);for(t=0;t<r.count;t++)r.line2d&&r.lineOptions[t]&&r.line2d.draw(t),r.error2d&&r.errorXOptions[t]&&r.error2d.draw(t),r.error2d&&r.errorYOptions[t]&&r.error2d.draw(t+r.count),!r.scatter2d||!r.markerOptions[t]||r.selectBatch&&r.selectBatch[t]||r.scatter2d.draw(t);for(r.scatter2d&&r.select2d&&r.selectBatch&&(r.select2d.draw(r.selectBatch),r.scatter2d.draw(r.unselectBatch)),t=0;t<r.count;t++)r.glText[t]&&r.textOptions[t]&&r.glText[t].render();r.dirty=!1},r.clear=function(){var n=z(t._fullLayout,e.xaxis,e.yaxis);r.select2d&&P(r.select2d,n);var i=r.scatter2d||r.line2d||(r.glText||[])[0]||r.fill2d||r.error2d;i&&P(i,n)},r.destroy=function(){r.fill2d&&r.fill2d.destroy(),r.scatter2d&&r.scatter2d.destroy(),r.error2d&&r.error2d.destroy(),r.line2d&&r.line2d.destroy(),r.select2d&&r.select2d.destroy(),r.glText&&r.glText.forEach(function(t){t.destroy()}),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.markerSelectedOptions=null,r.markerUnselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.textOptions=null,r.textSelectedOptions=null,r.textUnselectedOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||u.extendFlat(r,n),r}function z(t,e,r){var n=t._size,i=t.width,a=t.height;return[n.l+e.domain[0]*n.w,n.b+r.domain[0]*n.h,i-n.r-(1-e.domain[1])*n.w,a-n.t-(1-r.domain[1])*n.h]}function P(t,e){var r=t.regl._gl;r.enable(r.SCISSOR_TEST),r.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]),r.clearColor(0,0,0,0),r.clear(r.COLOR_BUFFER_BIT)}function O(t,e,r,n){var i=t.xa,a=t.ya,o=t.distance,s=t.dxy,l=t.index,f={pointNumber:l,x:e[l],y:r[l]};f.tx=Array.isArray(n.text)?n.text[l]:n.text,f.htx=Array.isArray(n.hovertext)?n.hovertext[l]:n.hovertext,f.data=Array.isArray(n.customdata)?n.customdata[l]:n.customdata,f.tp=Array.isArray(n.textposition)?n.textposition[l]:n.textposition;var h=n.textfont;h&&(f.ts=Array.isArray(h.size)?h.size[l]:h.size,f.tc=Array.isArray(h.color)?h.color[l]:h.color,f.tf=Array.isArray(h.family)?h.family[l]:h.family);var p=n.marker;p&&(f.ms=u.isArrayOrTypedArray(p.size)?p.size[l]:p.size,f.mo=u.isArrayOrTypedArray(p.opacity)?p.opacity[l]:p.opacity,f.mx=Array.isArray(p.symbol)?p.symbol[l]:p.symbol,f.mc=u.isArrayOrTypedArray(p.color)?p.color[l]:p.color);var d=p&&p.line;d&&(f.mlc=Array.isArray(d.color)?d.color[l]:d.color,f.mlw=u.isArrayOrTypedArray(d.width)?d.width[l]:d.width);var g=p&&p.gradient;g&&"none"!==g.type&&(f.mgt=Array.isArray(g.type)?g.type[l]:g.type,f.mgc=Array.isArray(g.color)?g.color[l]:g.color);var m=i.c2p(f.x,!0),v=a.c2p(f.y,!0),y=f.mrc||1,x=n.hoverlabel;x&&(f.hbg=Array.isArray(x.bgcolor)?x.bgcolor[l]:x.bgcolor,f.hbc=Array.isArray(x.bordercolor)?x.bordercolor[l]:x.bordercolor,f.hts=Array.isArray(x.font.size)?x.font.size[l]:x.font.size,f.htc=Array.isArray(x.font.color)?x.font.color[l]:x.font.color,f.htf=Array.isArray(x.font.family)?x.font.family[l]:x.font.family,f.hnl=Array.isArray(x.namelength)?x.namelength[l]:x.namelength);var b=n.hoverinfo;b&&(f.hi=Array.isArray(b)?b[l]:b);var _={};return _[t.index]=f,u.extendFlat(t,{color:w(n,f),x0:m-y,x1:m+y,xLabelVal:f.x,y0:v-y,y1:v+y,yLabelVal:f.y,cd:_,distance:o,spikeDistance:s}),f.htx?t.text=f.htx:f.tx?t.text=f.tx:n.text&&(t.text=n.text),k(f,n,t),c.getComponentMethod("errorbars","hoverInfo")(f,n,t),t}function I(t){var e,r,n=t[0].t,i=n._scene,a=n.index,o=i.selectBatch[a],s=i.unselectBatch[a],l=i.textOptions[a],c=i.textSelectedOptions[a]||{},f=i.textUnselectedOptions[a]||{},h=u.extendFlat({},l);if(o&&s){var p=c.color,g=f.color,m=l.color,v=Array.isArray(m);for(h.color=new Array(n.count),e=0;e<o.length;e++)r=o[e],h.color[r]=p||(v?m[r]:m);for(e=0;e<s.length;e++){r=s[e];var y=v?m[r]:m;h.color[r]=g||(p?y:d.addOpacity(y,S))}}i.glText[a].update(h)}e.exports={moduleType:"trace",name:"scattergl",basePlotModule:t("../../plots/cartesian"),categories:["gl","regl","cartesian","symbols","errorBarsOK","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),cleanData:t("../scatter/clean_data"),colorbar:t("../scatter/marker_colorbar"),calc:function(t,e){var r,n,i,a=t._fullLayout,s=h.getFromId(t,e.xaxis),l=h.getFromId(t,e.yaxis),c=a._plots[e.xaxis+e.yaxis],u=e._length,f=2*u,p={},d=s.makeCalcdata(e,"x"),g=l.makeCalcdata(e,"y"),m=new Array(f);for(r=0;r<u;r++)n=d[r],i=g[r],m[2*r]=n===A?NaN:n,m[2*r+1]=i===A?NaN:i;if("log"===s.type)for(r=0;r<f;r+=2)m[r]=s.c2l(m[r]);if("log"===l.type)for(r=1;r<f;r+=2)m[r]=l.c2l(m[r]);if("log"!==s.type&&"log"!==l.type)p.tree=o(m);else{var _=p.ids=new Array(u);for(r=0;r<u;r++)_[r]=r}b(e);var w,k=C(t,0,e,m,d,g),M=L(t,c);return x(a,e),u<T?w=v(e,u):k.marker&&(w=2*(k.marker.sizeAvg||Math.max(k.marker.size,3))),y(t,e,s,l,d,g,w),k.errorX&&E(e,s,k.errorX),k.errorY&&E(e,l,k.errorY),k.fill&&!M.fill2d&&(M.fill2d=!0),k.marker&&!M.scatter2d&&(M.scatter2d=!0),k.line&&!M.line2d&&(M.line2d=!0),!k.errorX&&!k.errorY||M.error2d||(M.error2d=!0),k.text&&!M.glText&&(M.glText=!0),k.marker&&u>=T&&(k.marker.cluster=p.tree),M.lineOptions.push(k.line),M.errorXOptions.push(k.errorX),M.errorYOptions.push(k.errorY),M.fillOptions.push(k.fill),M.markerOptions.push(k.marker),M.markerSelectedOptions.push(k.markerSel),M.markerUnselectedOptions.push(k.markerUnsel),M.textOptions.push(k.text),M.textSelectedOptions.push(k.textSel),M.textUnselectedOptions.push(k.textUnsel),p._scene=M,p.index=M.count,p.x=d,p.y=g,p.positions=m,p.count=u,M.count++,[{x:!1,y:!1,t:p,trace:e}]},plot:function(t,e,r){if(r.length){var o,s,c=t._fullLayout,h=e._scene,p=e.xaxis,d=e.yaxis;if(h)if(f(t,["ANGLE_instanced_arrays","OES_element_index_uint"])){var g=c._glcanvas.data()[0].regl;if(_(t,e,r),h.dirty){if(!0===h.error2d&&(h.error2d=a(g)),!0===h.line2d&&(h.line2d=i(g)),!0===h.scatter2d&&(h.scatter2d=n(g)),!0===h.fill2d&&(h.fill2d=i(g)),!0===h.glText)for(h.glText=new Array(h.count),o=0;o<h.count;o++)h.glText[o]=new l(g);if(h.glText)for(o=0;o<h.count;o++)h.glText[o].update(h.textOptions[o]);if(h.line2d&&h.line2d.update(h.lineOptions),h.error2d){var m=(h.errorXOptions||[]).concat(h.errorYOptions||[]);h.error2d.update(m)}h.scatter2d&&h.scatter2d.update(h.markerOptions),h.fill2d&&(h.fillOptions=h.fillOptions.map(function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,c=h.lineOptions[e],u=[],f=c&&c.positions||l.positions;if("tozeroy"===s.fill)(u=(u=[f[0],0]).concat(f)).push(f[f.length-2]),u.push(0);else if("tozerox"===s.fill)(u=(u=[0,f[1]]).concat(f)).push(0),u.push(f[f.length-1]);else if("toself"===s.fill||"tonext"===s.fill){for(u=[],i=0,a=0;a<f.length;a+=2)(isNaN(f[a])||isNaN(f[a+1]))&&((u=u.concat(f.slice(i,a))).push(f[i],f[i+1]),i=a+2);u=u.concat(f.slice(i)),i&&u.push(f[i],f[i+1])}else{var p=s._nexttrace;if(p){var d=h.lineOptions[e+1];if(d){var g=d.positions;if("tonexty"===s.fill){for(u=f.slice(),e=Math.floor(g.length/2);e--;){var m=g[2*e],v=g[2*e+1];isNaN(m)||isNaN(v)||(u.push(m),u.push(v))}t.fill=p.fillcolor}}}}if(s._prevtrace&&"tonext"===s._prevtrace.fill){var y=h.lineOptions[e-1].positions,x=u.length/2,b=[i=x];for(a=0;a<y.length;a+=2)(isNaN(y[a])||isNaN(y[a+1]))&&(b.push(a/2+x+1),i=a+2);u=u.concat(y),t.hole=b}return t.opacity=s.opacity,t.positions=u,t}}),h.fill2d.update(h.fillOptions))}h.selectBatch=null,h.unselectBatch=null;var v=c.dragmode,y="lasso"===v||"select"===v,x=c.clickmode.indexOf("select")>-1;for(o=0;o<r.length;o++){var b=r[o][0],w=b.trace,k=b.t,M=k.index,A=k.x,T=k.y;if(w.selectedpoints||y||x){if(y||(y=!0),h.selectBatch||(h.selectBatch=[],h.unselectBatch=[]),w.selectedpoints){var S=h.selectBatch[M]=u.selIndices2selPoints(w),E={};for(s=0;s<S.length;s++)E[S[s]]=1;var C=[];for(s=0;s<k.count;s++)E[s]||C.push(s);h.unselectBatch[M]=C}var L=k.xpx=new Array(k.count),P=k.ypx=new Array(k.count);for(s=0;s<k.count;s++)L[s]=p.c2p(A[s]),P[s]=d.c2p(T[s])}else k.xpx=k.ypx=null}y?(h.select2d||(h.select2d=n(c._glcanvas.data()[1].regl)),h.scatter2d&&h.selectBatch&&h.selectBatch.length&&h.scatter2d.update(h.markerUnselectedOptions.map(function(t,e){return h.selectBatch[e]?t:null})),h.select2d&&(h.select2d.update(h.markerOptions),h.select2d.update(h.markerSelectedOptions)),h.glText&&r.forEach(function(t){t&&t[0]&&t[0].trace&&I(t)})):h.scatter2d&&h.scatter2d.update(h.markerOptions);var O={viewport:z(c,p,d),range:[(p._rl||p.range)[0],(d._rl||d.range)[0],(p._rl||p.range)[1],(d._rl||d.range)[1]]},D=u.repeat(O,h.count);h.fill2d&&h.fill2d.update(D),h.line2d&&h.line2d.update(D),h.error2d&&h.error2d.update(D.concat(D)),h.scatter2d&&h.scatter2d.update(D),h.select2d&&h.select2d.update(D),h.glText&&h.glText.forEach(function(t){t.update(O)}),h.draw()}else h.init()}},hoverPoints:function(t,e,r,n){var i,a,o,s,l,c,u,f,h,p=t.cd,d=p[0].t,g=p[0].trace,m=t.xa,v=t.ya,y=d.x,x=d.y,b=m.c2p(e),_=v.c2p(r),w=t.distance;if(d.tree){var k=m.p2c(b-w),M=m.p2c(b+w),A=v.p2c(_-w),T=v.p2c(_+w);i="x"===n?d.tree.range(Math.min(k,M),Math.min(v._rl[0],v._rl[1]),Math.max(k,M),Math.max(v._rl[0],v._rl[1])):d.tree.range(Math.min(k,M),Math.min(A,T),Math.max(k,M),Math.max(A,T))}else{if(!d.ids)return[t];i=d.ids}var S=w;if("x"===n)for(l=0;l<i.length;l++)o=y[i[l]],(c=Math.abs(m.c2p(o)-b))<S&&(S=c,u=v.c2p(x[i[l]])-_,h=Math.sqrt(c*c+u*u),a=i[l]);else for(l=0;l<i.length;l++)o=y[i[l]],s=x[i[l]],c=m.c2p(o)-b,u=v.c2p(s)-_,(f=Math.sqrt(c*c+u*u))<S&&(S=h=f,a=i[l]);return t.index=a,t.distance=S,t.dxy=h,void 0===a?[t]:(O(t,y,x,g),[t])},style:function(t,e){if(e){var r=e[0][0].t._scene;t._fullLayout._has("splom")||r.clear(),r.draw()}},selectPoints:function(t,e){var r=t.cd,n=[],i=r[0].trace,a=r[0].t,o=a.x,l=a.y,c=a._scene;if(!c)return n;var u=g.hasText(i),f=g.hasMarkers(i),h=!f&&!u;if(!0!==i.visible||h)return n;var p,d=null,m=null;if(!1===e||e.degenerate)m=s(a.count);else for(d=[],m=[],p=0;p<a.count;p++)e.contains([a.xpx[p],a.ypx[p]],!1,p,t)?(d.push(p),n.push({pointNumber:p,x:o[p],y:l[p]})):m.push(p);if(c.selectBatch||(c.selectBatch=[],c.unselectBatch=[]),!c.selectBatch[a.index]){for(p=0;p<c.count;p++)c.selectBatch[p]=[],c.unselectBatch[p]=[];f&&c.scatter2d.update(c.markerUnselectedOptions)}return c.selectBatch[a.index]=d,c.unselectBatch[a.index]=m,u&&I(r),n},sceneOptions:C,sceneUpdate:L,calcHover:O,meta:{}}},{"../../components/color":567,"../../constants/interactions":669,"../../constants/numerical":670,"../../lib":693,"../../lib/prepare_regl":707,"../../plots/cartesian":753,"../../plots/cartesian/autorange":741,"../../plots/cartesian/axis_ids":745,"../../registry":825,"../scatter/calc":1033,"../scatter/clean_data":1035,"../scatter/colorscale_calc":1036,"../scatter/fill_hover_text":1040,"../scatter/get_trace_color":1042,"../scatter/link_traces":1048,"../scatter/marker_colorbar":1050,"../scatter/subtypes":1056,"./attributes":1081,"./constants":1082,"./convert":1083,"./defaults":1084,"array-range":54,"gl-text":302,"point-cluster":449,"regl-error2d":470,"regl-line2d":471,"regl-scatter2d":472}],1086:[function(t,e,r){"use strict";var n=t("../scattergeo/attributes"),i=t("../scatter/attributes"),a=t("../../plots/mapbox/layout_attributes"),o=t("../../plots/attributes"),s=t("../../components/colorbar/attributes"),l=t("../../lib/extend").extendFlat,c=t("../../plot_api/edit_types").overrideAll,u=n.line,f=n.marker;e.exports=c({lon:n.lon,lat:n.lat,mode:l({},i.mode,{dflt:"markers"}),text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),line:{color:u.color,width:u.width},connectgaps:i.connectgaps,marker:{symbol:{valType:"string",dflt:"circle",arrayOk:!0},opacity:f.opacity,size:f.size,sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,color:f.color,colorscale:f.colorscale,cauto:f.cauto,cmax:f.cmax,cmin:f.cmin,autocolorscale:f.autocolorscale,reversescale:f.reversescale,showscale:f.showscale,colorbar:s},fill:n.fill,fillcolor:i.fillcolor,textfont:a.layers.symbol.textfont,textposition:a.layers.symbol.textposition,selected:{marker:i.selected.marker},unselected:{marker:i.unselected.marker},hoverinfo:l({},o.hoverinfo,{flags:["lon","lat","text","name"]})},"calc","nested")},{"../../components/colorbar/attributes":568,"../../lib/extend":682,"../../plot_api/edit_types":725,"../../plots/attributes":739,"../../plots/mapbox/layout_attributes":801,"../scatter/attributes":1032,"../scattergeo/attributes":1072}],1087:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../constants/numerical").BADNUM,o=t("../../lib/geojson_utils"),s=t("../../components/colorscale"),l=t("../../components/drawing"),c=t("../scatter/make_bubble_size_func"),u=t("../scatter/subtypes"),f=t("../../plots/mapbox/convert_text_opts");function h(){return{geojson:o.makeBlank(),layout:{visibility:"none"},paint:{}}}function p(t){return i.isArrayOrTypedArray(t)?function(t){return t}:t?function(){return t}:d}function d(){return""}function g(t){return t[0]===a}e.exports=function(t){var e,r=t[0].trace,a=!0===r.visible,m="none"!==r.fill,v=u.hasLines(r),y=u.hasMarkers(r),x=u.hasText(r),b=y&&"circle"===r.marker.symbol,_=y&&"circle"!==r.marker.symbol,w=h(),k=h(),M=h(),A=h(),T={fill:w,line:k,circle:M,symbol:A};if(!a)return T;if((m||v)&&(e=o.calcTraceToLineCoords(t)),m&&(w.geojson=o.makePolygon(e),w.layout.visibility="visible",i.extendFlat(w.paint,{"fill-color":r.fillcolor})),v&&(k.geojson=o.makeLine(e),k.layout.visibility="visible",i.extendFlat(k.paint,{"line-width":r.line.width,"line-color":r.line.color,"line-opacity":r.opacity})),b){var S=function(t){var e,r,a,o,u=t[0].trace,f=u.marker,h=u.selectedpoints,p=i.isArrayOrTypedArray(f.color),d=i.isArrayOrTypedArray(f.size),m=i.isArrayOrTypedArray(f.opacity);function v(t){return u.opacity*t}p&&(r=s.hasColorscale(u,"marker")?s.makeColorScaleFunc(s.extractScale(f.colorscale,f.cmin,f.cmax)):i.identity);d&&(a=c(u));m&&(o=function(t){var e=n(t)?+i.constrain(t,0,1):0;return v(e)});var y,x=[];for(e=0;e<t.length;e++){var b=t[e],_=b.lonlat;if(!g(_)){var w={};r&&(w.mcc=b.mcc=r(b.mc)),a&&(w.mrc=b.mrc=a(b.ms)),o&&(w.mo=o(b.mo)),h&&(w.selected=b.selected||0),x.push({type:"Feature",geometry:{type:"Point",coordinates:_},properties:w})}}if(h)for(y=l.makeSelectedPointStyleFns(u),e=0;e<x.length;e++){var k=x[e].properties;y.selectedOpacityFn&&(k.mo=v(y.selectedOpacityFn(k))),y.selectedColorFn&&(k.mcc=y.selectedColorFn(k)),y.selectedSizeFn&&(k.mrc=y.selectedSizeFn(k))}return{geojson:{type:"FeatureCollection",features:x},mcc:p||y&&y.selectedColorFn?{type:"identity",property:"mcc"}:f.color,mrc:d||y&&y.selectedSizeFn?{type:"identity",property:"mrc"}:(M=f.size,M/2),mo:m||y&&y.selectedOpacityFn?{type:"identity",property:"mo"}:v(f.opacity)};var M}(t);M.geojson=S.geojson,M.layout.visibility="visible",i.extendFlat(M.paint,{"circle-color":S.mcc,"circle-radius":S.mrc,"circle-opacity":S.mo})}if((_||x)&&(A.geojson=function(t){for(var e=t[0].trace,r=(e.marker||{}).symbol,n=e.text,i="circle"!==r?p(r):d,a=u.hasText(e)?p(n):d,o=[],s=0;s<t.length;s++){var l=t[s];g(l.lonlat)||o.push({type:"Feature",geometry:{type:"Point",coordinates:l.lonlat},properties:{symbol:i(l.mx),text:a(l.tx)}})}return{type:"FeatureCollection",features:o}}(t),i.extendFlat(A.layout,{visibility:"visible","icon-image":"{symbol}-15","text-field":"{text}"}),_&&(i.extendFlat(A.layout,{"icon-size":r.marker.size/10}),i.extendFlat(A.paint,{"icon-opacity":r.opacity*r.marker.opacity,"icon-color":r.marker.color})),x)){var E=(r.marker||{}).size,C=f(r.textposition,E);i.extendFlat(A.layout,{"text-size":r.textfont.size,"text-anchor":C.anchor,"text-offset":C.offset}),i.extendFlat(A.paint,{"text-color":r.textfont.color,"text-opacity":r.opacity})}return T}},{"../../components/colorscale":582,"../../components/drawing":592,"../../constants/numerical":670,"../../lib":693,"../../lib/geojson_utils":686,"../../plots/mapbox/convert_text_opts":798,"../scatter/make_bubble_size_func":1049,"../scatter/subtypes":1056,"fast-isnumeric":213}],1088:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/subtypes"),a=t("../scatter/marker_defaults"),o=t("../scatter/line_defaults"),s=t("../scatter/text_defaults"),l=t("../scatter/fillcolor_defaults"),c=t("./attributes");e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}if(function(t,e,r){var n=r("lon")||[],i=r("lat")||[],a=Math.min(n.length,i.length);return e._length=a,a}(0,e,f)){if(f("text"),f("hovertext"),f("mode"),i.hasLines(e)&&(o(t,e,r,u,f,{noDash:!0}),f("connectgaps")),i.hasMarkers(e)){a(t,e,r,u,f,{noLine:!0});var h=e.marker;"circle"!==h.symbol&&(n.isArrayOrTypedArray(h.size)&&(h.size=h.size[0]),n.isArrayOrTypedArray(h.color)&&(h.color=h.color[0]))}i.hasText(e)&&s(t,e,u,f,{noSelect:!0}),f("fill"),"none"!==e.fill&&l(t,e,r,f),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{"../../lib":693,"../scatter/fillcolor_defaults":1041,"../scatter/line_defaults":1045,"../scatter/marker_defaults":1051,"../scatter/subtypes":1056,"../scatter/text_defaults":1057,"./attributes":1086}],1089:[function(t,e,r){"use strict";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},{}],1090:[function(t,e,r){"use strict";var n=t("../../components/fx"),i=t("../../lib"),a=t("../scatter/get_trace_color"),o=t("../scatter/fill_hover_text"),s=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r){var l=t.cd,c=l[0].trace,u=t.xa,f=t.ya,h=t.subplot,p=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),d=e-p;if(n.getClosest(l,function(t){var e=t.lonlat;if(e[0]===s)return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=h.project([n,a]),l=o.x-u.c2p([d,a]),c=o.y-f.c2p([n,r]),p=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-p,1-3/p)},t),!1!==t.index){var g=l[t.index],m=g.lonlat,v=[i.modHalf(m[0],360)+p,m[1]],y=u.c2p(v),x=f.c2p(v),b=g.mrc||1;return t.x0=y-b,t.x1=y+b,t.y0=x-b,t.y1=x+b,t.color=a(c,g),t.extraText=function(t,e,r){var n=(e.hi||t.hoverinfo).split("+"),i=-1!==n.indexOf("all"),a=-1!==n.indexOf("lon"),s=-1!==n.indexOf("lat"),l=e.lonlat,c=[];function u(t){return t+"\xb0"}i||a&&s?c.push("("+u(l[0])+", "+u(l[1])+")"):a?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(i||-1!==n.indexOf("text"))&&o(e,t,c);return c.join("<br>")}(c,g,l[0].t.labels),[t]}}},{"../../components/fx":609,"../../constants/numerical":670,"../../lib":693,"../scatter/fill_hover_text":1040,"../scatter/get_trace_color":1042}],1091:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../scatter/marker_colorbar"),n.calc=t("../scattergeo/calc"),n.plot=t("./plot"),n.hoverPoints=t("./hover"),n.eventData=t("./event_data"),n.selectPoints=t("./select"),n.style=function(t,e){e&&e[0].trace._glTrace.update(e)},n.moduleType="trace",n.name="scattermapbox",n.basePlotModule=t("../../plots/mapbox"),n.categories=["mapbox","gl","symbols","showLegend","scatterlike"],n.meta={},e.exports=n},{"../../plots/mapbox":799,"../scatter/marker_colorbar":1050,"../scattergeo/calc":1073,"./attributes":1086,"./defaults":1088,"./event_data":1089,"./hover":1090,"./plot":1092,"./select":1093}],1092:[function(t,e,r){"use strict";var n=t("./convert");function i(t,e){this.subplot=t,this.uid=e,this.sourceIds={fill:e+"-source-fill",line:e+"-source-line",circle:e+"-source-circle",symbol:e+"-source-symbol"},this.layerIds={fill:e+"-layer-fill",line:e+"-layer-line",circle:e+"-layer-circle",symbol:e+"-layer-symbol"},this.order=["fill","line","circle","symbol"]}var a=i.prototype;a.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:"geojson",data:e.geojson})},a.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},a.addLayer=function(t,e){this.subplot.map.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint})},a.update=function(t){for(var e=this.subplot,r=n(t),i=0;i<this.order.length;i++){var a=this.order[i],o=r[a];e.setOptions(this.layerIds[a],"setLayoutProperty",o.layout),"visible"===o.layout.visibility&&(this.setSourceData(a,o),e.setOptions(this.layerIds[a],"setPaintProperty",o.paint))}t[0].trace._glTrace=this},a.dispose=function(){for(var t=this.subplot.map,e=0;e<this.order.length;e++){var r=this.order[e];t.removeLayer(this.layerIds[r]),t.removeSource(this.sourceIds[r])}},e.exports=function(t,e){for(var r=new i(t,e[0].trace.uid),a=n(e),o=0;o<r.order.length;o++){var s=r.order[o],l=a[s];r.addSource(s,l),r.addLayer(s,l)}return e[0].trace._glTrace=r,r}},{"./convert":1087}],1093:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/subtypes"),a=t("../../constants/numerical").BADNUM;e.exports=function(t,e){var r,o=t.cd,s=t.xaxis,l=t.yaxis,c=[],u=o[0].trace;if(!i.hasMarkers(u))return[];if(!1===e)for(r=0;r<o.length;r++)o[r].selected=0;else for(r=0;r<o.length;r++){var f=o[r],h=f.lonlat;if(h[0]!==a){var p=[n.modHalf(h[0],360),h[1]],d=[s.c2p(p),l.c2p(p)];e.contains(d,null,r,t)?(c.push({pointNumber:r,lon:h[0],lat:h[1]}),f.selected=1):f.selected=0}}return c}},{"../../constants/numerical":670,"../../lib":693,"../scatter/subtypes":1056}],1094:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat,i=t("../scatter/attributes"),a=t("../../plots/attributes"),o=i.line;e.exports={mode:i.mode,r:{valType:"data_array",editType:"calc+clearAxisTypes"},theta:{valType:"data_array",editType:"calc+clearAxisTypes"},r0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dr:{valType:"number",dflt:1,editType:"calc"},theta0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dtheta:{valType:"number",editType:"calc"},thetaunit:{valType:"enumerated",values:["radians","degrees","gradians"],dflt:"degrees",editType:"calc+clearAxisTypes"},text:i.text,hovertext:i.hovertext,line:{color:o.color,width:o.width,dash:o.dash,shape:n({},o.shape,{values:["linear","spline"]}),smoothing:o.smoothing,editType:"calc"},connectgaps:i.connectgaps,marker:i.marker,cliponaxis:n({},i.cliponaxis,{dflt:!1}),textposition:i.textposition,textfont:i.textfont,fill:n({},i.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:i.fillcolor,hoverinfo:n({},a.hoverinfo,{flags:["r","theta","text","name"]}),hoveron:i.hoveron,selected:i.selected,unselected:i.unselected}},{"../../lib/extend":682,"../../plots/attributes":739,"../scatter/attributes":1032}],1095:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../constants/numerical").BADNUM,a=t("../../plots/cartesian/axes"),o=t("../scatter/colorscale_calc"),s=t("../scatter/arrays_to_calcdata"),l=t("../scatter/calc_selection"),c=t("../scatter/calc").calcMarkerSize;e.exports=function(t,e){for(var r=t._fullLayout,u=e.subplot,f=r[u].radialaxis,h=r[u].angularaxis,p=f.makeCalcdata(e,"r"),d=h.makeCalcdata(e,"theta"),g=e._length,m=new Array(g),v=0;v<g;v++){var y=p[v],x=d[v],b=m[v]={};n(y)&&n(x)?(b.r=y,b.theta=x):b.r=i}var _=c(e,g);return e._extremes.x=a.findExtremes(f,p,{ppad:_}),o(e),s(m,e),l(m,e),m}},{"../../constants/numerical":670,"../../plots/cartesian/axes":742,"../scatter/arrays_to_calcdata":1031,"../scatter/calc":1033,"../scatter/calc_selection":1034,"../scatter/colorscale_calc":1036,"fast-isnumeric":213}],1096:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/subtypes"),a=t("../scatter/marker_defaults"),o=t("../scatter/line_defaults"),s=t("../scatter/line_shape_defaults"),l=t("../scatter/text_defaults"),c=t("../scatter/fillcolor_defaults"),u=t("../scatter/constants").PTS_LINESONLY,f=t("./attributes");function h(t,e,r,n){var i,a=n("r"),o=n("theta");if(a)o?i=Math.min(a.length,o.length):(i=a.length,n("theta0"),n("dtheta"));else{if(!o)return 0;i=e.theta.length,n("r0"),n("dr")}return e._length=i,i}e.exports={handleRThetaDefaults:h,supplyDefaults:function(t,e,r,p){function d(r,i){return n.coerce(t,e,f,r,i)}var g=h(0,e,0,d);if(g){d("thetaunit"),d("mode",g<u?"lines+markers":"lines"),d("text"),d("hovertext"),i.hasLines(e)&&(o(t,e,r,p,d),s(t,e,d),d("connectgaps")),i.hasMarkers(e)&&a(t,e,r,p,d,{gradient:!0}),i.hasText(e)&&l(t,e,p,d);var m=[];(i.hasMarkers(e)||i.hasText(e))&&(d("cliponaxis"),d("marker.maxdisplayed"),m.push("points")),d("fill"),"none"!==e.fill&&(c(t,e,r,d),i.hasLines(e)||s(t,e,d)),"tonext"!==e.fill&&"toself"!==e.fill||m.push("fills"),d("hoveron",m.join("+")||"points"),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}}},{"../../lib":693,"../scatter/constants":1037,"../scatter/fillcolor_defaults":1041,"../scatter/line_defaults":1045,"../scatter/line_shape_defaults":1047,"../scatter/marker_defaults":1051,"../scatter/subtypes":1056,"../scatter/text_defaults":1057,"./attributes":1094}],1097:[function(t,e,r){"use strict";var n=t("../scatter/hover"),i=t("../../plots/cartesian/axes"),a=t("../../lib");function o(t,e,r,n){var o=r.radialAxis,s=r.angularAxis,l=(t.hi||e.hoverinfo).split("+"),c=[];function u(t,e){c.push(t._hovertitle+": "+i.tickText(t,e,"hover").text)}if(o._hovertitle="r",s._hovertitle="\u03b8",-1!==l.indexOf("all")&&(l=["r","theta","text"]),-1!==l.indexOf("r")&&u(o,o.c2l(t.r)),-1!==l.indexOf("theta")){var f=t.theta;u(s,"degrees"===s.thetaunit?a.rad2deg(f):f)}-1!==l.indexOf("text")&&n.text&&(c.push(n.text),delete n.text),n.extraText=c.join("<br>")}e.exports={hoverPoints:function(t,e,r,i){var a=n(t,e,r,i);if(a&&!1!==a[0].index){var s=a[0];if(void 0===s.index)return a;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,o(c,u,l,s),a}},makeHoverPointText:o}},{"../../lib":693,"../../plots/cartesian/axes":742,"../scatter/hover":1043}],1098:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:t("../../plots/polar"),categories:["polar","symbols","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,colorbar:t("../scatter/marker_colorbar"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,hoverPoints:t("./hover").hoverPoints,selectPoints:t("../scatter/select"),meta:{}}},{"../../plots/polar":808,"../scatter/marker_colorbar":1050,"../scatter/select":1053,"../scatter/style":1055,"./attributes":1094,"./calc":1095,"./defaults":1096,"./hover":1097,"./plot":1099}],1099:[function(t,e,r){"use strict";var n=t("../scatter/plot"),i=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r){for(var a=e.layers.frontplot.select("g.scatterlayer"),o={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},s=e.radialAxis,l=e.angularAxis,c=0;c<r.length;c++)for(var u=r[c],f=0;f<u.length;f++){var h=u[f],p=h.r;if(p===i)h.x=h.y=i;else{var d=s.c2g(p),g=l.c2g(h.theta);h.x=d*Math.cos(g),h.y=d*Math.sin(g)}}n(t,o,r,a)}},{"../../constants/numerical":670,"../scatter/plot":1052}],1100:[function(t,e,r){"use strict";var n=t("../scatterpolar/attributes"),i=t("../scattergl/attributes");e.exports={mode:n.mode,r:n.r,theta:n.theta,r0:n.r0,dr:n.dr,theta0:n.theta0,dtheta:n.dtheta,thetaunit:n.thetaunit,text:n.text,hovertext:n.hovertext,line:i.line,connectgaps:i.connectgaps,marker:i.marker,fill:i.fill,fillcolor:i.fillcolor,textposition:i.textposition,textfont:i.textfont,hoverinfo:n.hoverinfo,selected:n.selected,unselected:n.unselected}},{"../scattergl/attributes":1081,"../scatterpolar/attributes":1094}],1101:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/subtypes"),a=t("../scatterpolar/defaults").handleRThetaDefaults,o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/text_defaults"),c=t("../scatter/fillcolor_defaults"),u=t("../scatter/constants").PTS_LINESONLY,f=t("./attributes");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}var d=a(t,e,h,p);d?(p("thetaunit"),p("mode",d<u?"lines+markers":"lines"),p("text"),p("hovertext"),i.hasLines(e)&&(s(t,e,r,h,p),p("connectgaps")),i.hasMarkers(e)&&o(t,e,r,h,p),i.hasText(e)&&l(t,e,h,p),p("fill"),"none"!==e.fill&&c(t,e,r,p),n.coerceSelectionMarkerOpacity(e,p)):e.visible=!1}},{"../../lib":693,"../scatter/constants":1037,"../scatter/fillcolor_defaults":1041,"../scatter/line_defaults":1045,"../scatter/marker_defaults":1051,"../scatter/subtypes":1056,"../scatter/text_defaults":1057,"../scatterpolar/defaults":1096,"./attributes":1100}],1102:[function(t,e,r){"use strict";var n=t("point-cluster"),i=t("fast-isnumeric"),a=t("../scattergl"),o=t("../scatter/colorscale_calc"),s=t("../../plots/cartesian/axes"),l=t("../scatterpolar/hover").makeHoverPointText,c=t("../scatter/subtypes"),u=t("../scattergl/constants").TOO_MANY_POINTS;e.exports={moduleType:"trace",name:"scatterpolargl",basePlotModule:t("../../plots/polar"),categories:["gl","regl","polar","symbols","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),calc:function(t,e){var r=t._fullLayout,n=e.subplot,i=r[n].radialaxis,a=r[n].angularaxis,l=i.makeCalcdata(e,"r"),c=a.makeCalcdata(e,"theta"),u={};return e._length<l.length&&(l=l.slice(0,e._length)),e._length<c.length&&(c=c.slice(0,e._length)),o(e),u.r=l,u.theta=c,e._extremes.x=s.findExtremes(i,l,{tozero:!0}),[{x:!1,y:!1,t:u,trace:e}]},plot:function(t,e,r){var o=e.radialAxis,s=e.angularAxis,l=a.sceneUpdate(t,e);return r.forEach(function(f,h){if(f&&f[0]&&f[0].trace){var p,d=f[0],g=d.trace,m=d.t,v=m.r,y=m.theta,x=v.slice(),b=y.slice();for(p=0;p<v.length;p++)e.isPtInside({r:v[p],theta:y[p]})||(x[p]=NaN,b[p]=NaN);var _=v.length,w=new Array(2*_),k=Array(_),M=Array(_);for(p=0;p<_;p++){var A,T,S=x[p];if(i(S)){var E=o.c2g(S),C=s.c2g(b[p],g.thetaunit);A=E*Math.cos(C),T=E*Math.sin(C)}else A=T=NaN;k[p]=w[2*p]=A,M[p]=w[2*p+1]=T}var L=a.sceneOptions(t,e,g,w);L.fill&&!l.fill2d&&(l.fill2d=!0),L.marker&&!l.scatter2d&&(l.scatter2d=!0),L.line&&!l.line2d&&(l.line2d=!0),!L.errorX&&!L.errorY||l.error2d||(l.error2d=!0),L.text&&!l.glText&&(l.glText=!0),m.tree=n(w),L.marker&&_>=u&&(L.marker.cluster=m.tree),c.hasMarkers(g)&&(L.markerSel.positions=L.markerUnsel.positions=L.marker.positions),l.lineOptions.push(L.line),l.errorXOptions.push(L.errorX),l.errorYOptions.push(L.errorY),l.fillOptions.push(L.fill),l.markerOptions.push(L.marker),l.markerSelectedOptions.push(L.markerSel),l.markerUnselectedOptions.push(L.markerUnsel),l.textOptions.push(L.text),l.textSelectedOptions.push(L.textSel),l.textUnselectedOptions.push(L.textUnsel),l.count=r.length,m._scene=l,m.index=h,m.x=k,m.y=M,m.rawx=k,m.rawy=M,m.r=v,m.theta=y,m.positions=w,m.count=_}}),a.plot(t,e,r)},hoverPoints:function(t,e,r,n){var i=t.cd[0].t,o=i.r,s=i.theta,c=a.hoverPoints(t,e,r,n);if(c&&!1!==c[0].index){var u=c[0];if(void 0===u.index)return c;var f=t.subplot,h=u.cd[u.index],p=u.trace;if(h.r=o[u.index],h.theta=s[u.index],f.isPtInside(h))return u.xLabelVal=void 0,u.yLabelVal=void 0,l(h,p,f,u),c}},style:a.style,selectPoints:a.selectPoints,meta:{}}},{"../../plots/cartesian/axes":742,"../../plots/polar":808,"../scatter/colorscale_calc":1036,"../scatter/marker_colorbar":1050,"../scatter/subtypes":1056,"../scattergl":1085,"../scattergl/constants":1082,"../scatterpolar/hover":1097,"./attributes":1100,"./defaults":1101,"fast-isnumeric":213,"point-cluster":449}],1103:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../plots/attributes"),a=t("../../components/colorscale/attributes"),o=t("../../components/colorbar/attributes"),s=t("../../components/drawing/attributes").dash,l=t("../../lib/extend").extendFlat,c=n.marker,u=n.line,f=c.line;e.exports={a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},c:{valType:"data_array",editType:"calc"},sum:{valType:"number",dflt:0,min:0,editType:"calc"},mode:l({},n.mode,{dflt:"markers"}),text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:s,shape:l({},u.shape,{values:["linear","spline"]}),smoothing:u.smoothing,editType:"calc"},connectgaps:n.connectgaps,cliponaxis:n.cliponaxis,fill:l({},n.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n.fillcolor,marker:l({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:l({width:f.width,editType:"calc"},a("marker.line")),gradient:c.gradient,editType:"calc"},a("marker"),{colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:n.hoveron}},{"../../components/colorbar/attributes":568,"../../components/colorscale/attributes":574,"../../components/drawing/attributes":591,"../../lib/extend":682,"../../plots/attributes":739,"../scatter/attributes":1032}],1104:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../scatter/colorscale_calc"),a=t("../scatter/arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../scatter/calc").calcMarkerSize,l=["a","b","c"],c={a:["b","c"],b:["a","c"],c:["a","b"]};e.exports=function(t,e){var r,u,f,h,p,d,g=t._fullLayout[e.subplot].sum,m=e.sum||g,v={a:e.a,b:e.b,c:e.c};for(r=0;r<l.length;r++)if(!v[f=l[r]]){for(p=v[c[f][0]],d=v[c[f][1]],h=new Array(p.length),u=0;u<p.length;u++)h[u]=m-p[u]-d[u];v[f]=h}var y,x,b,_,w,k,M=e._length,A=new Array(M);for(r=0;r<M;r++)y=v.a[r],x=v.b[r],b=v.c[r],n(y)&&n(x)&&n(b)?(1!==(_=g/((y=+y)+(x=+x)+(b=+b)))&&(y*=_,x*=_,b*=_),k=y,w=b-x,A[r]={x:w,y:k,a:y,b:x,c:b}):A[r]={x:!1,y:!1};return s(e,M),i(e),a(A,e),o(A,e),A}},{"../scatter/arrays_to_calcdata":1031,"../scatter/calc":1033,"../scatter/calc_selection":1034,"../scatter/colorscale_calc":1036,"fast-isnumeric":213}],1105:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/constants"),a=t("../scatter/subtypes"),o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/line_shape_defaults"),c=t("../scatter/text_defaults"),u=t("../scatter/fillcolor_defaults"),f=t("./attributes");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}var d,g=p("a"),m=p("b"),v=p("c");if(g?(d=g.length,m?(d=Math.min(d,m.length),v&&(d=Math.min(d,v.length))):d=v?Math.min(d,v.length):0):m&&v&&(d=Math.min(m.length,v.length)),d){e._length=d,p("sum"),p("text"),p("hovertext"),p("mode",d<i.PTS_LINESONLY?"lines+markers":"lines"),a.hasLines(e)&&(s(t,e,r,h,p),l(t,e,p),p("connectgaps")),a.hasMarkers(e)&&o(t,e,r,h,p,{gradient:!0}),a.hasText(e)&&c(t,e,h,p);var y=[];(a.hasMarkers(e)||a.hasText(e))&&(p("cliponaxis"),p("marker.maxdisplayed"),y.push("points")),p("fill"),"none"!==e.fill&&(u(t,e,r,p),a.hasLines(e)||l(t,e,p)),"tonext"!==e.fill&&"toself"!==e.fill||y.push("fills"),p("hoveron",y.join("+")||"points"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{"../../lib":693,"../scatter/constants":1037,"../scatter/fillcolor_defaults":1041,"../scatter/line_defaults":1045,"../scatter/line_shape_defaults":1047,"../scatter/marker_defaults":1051,"../scatter/subtypes":1056,"../scatter/text_defaults":1057,"./attributes":1103}],1106:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){if(e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),n[i]){var a=n[i];t.a=a.a,t.b=a.b,t.c=a.c}else t.a=e.a,t.b=e.b,t.c=e.c;return t}},{}],1107:[function(t,e,r){"use strict";var n=t("../scatter/hover"),i=t("../../plots/cartesian/axes");e.exports=function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index){var l=1-s.y0/t.ya._length,c=t.xa._length,u=c*l/2,f=c-u;return s.x0=Math.max(Math.min(s.x0,f),u),s.x1=Math.max(Math.min(s.x1,f),u),o}var h=s.cd[s.index];s.a=h.a,s.b=h.b,s.c=h.c,s.xLabelVal=void 0,s.yLabelVal=void 0;var p=s.trace,d=s.subplot,g=(h.hi||p.hoverinfo).split("+"),m=[];return-1!==g.indexOf("all")&&(g=["a","b","c"]),-1!==g.indexOf("a")&&v(d.aaxis,h.a),-1!==g.indexOf("b")&&v(d.baxis,h.b),-1!==g.indexOf("c")&&v(d.caxis,h.c),s.extraText=m.join("<br>"),o}function v(t,e){m.push(t._hovertitle+": "+i.tickText(t,e,"hover").text)}}},{"../../plots/cartesian/axes":742,"../scatter/hover":1043}],1108:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../scatter/marker_colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("../scatter/style").style,n.styleOnSelect=t("../scatter/style").styleOnSelect,n.hoverPoints=t("./hover"),n.selectPoints=t("../scatter/select"),n.eventData=t("./event_data"),n.moduleType="trace",n.name="scatterternary",n.basePlotModule=t("../../plots/ternary"),n.categories=["ternary","symbols","showLegend","scatter-like"],n.meta={},e.exports=n},{"../../plots/ternary":821,"../scatter/marker_colorbar":1050,"../scatter/select":1053,"../scatter/style":1055,"./attributes":1103,"./calc":1104,"./defaults":1105,"./event_data":1106,"./hover":1107,"./plot":1109}],1109:[function(t,e,r){"use strict";var n=t("../scatter/plot");e.exports=function(t,e,r){var i=e.plotContainer;i.select(".scatterlayer").selectAll("*").remove();var a={xaxis:e.xaxis,yaxis:e.yaxis,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},o=e.layers.frontplot.select("g.scatterlayer");n(t,a,r,o)}},{"../scatter/plot":1052}],1110:[function(t,e,r){"use strict";var n=t("../scattergl/attributes"),i=t("../../plots/cartesian/constants").idRegex,a=t("../../plot_api/plot_template").templatedArray;function o(t){return{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"subplotid",regex:i[t],editType:"plot"}}}e.exports={dimensions:a("dimension",{visible:{valType:"boolean",dflt:!0,editType:"calc"},label:{valType:"string",editType:"calc"},values:{valType:"data_array",editType:"calc+clearAxisTypes"},axis:{type:{valType:"enumerated",values:["linear","log","date","category"],editType:"calc+clearAxisTypes"},editType:"calc+clearAxisTypes"},editType:"calc+clearAxisTypes"}),text:n.text,marker:n.marker,xaxes:o("x"),yaxes:o("y"),diagonal:{visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},showupperhalf:{valType:"boolean",dflt:!0,editType:"calc"},showlowerhalf:{valType:"boolean",dflt:!0,editType:"calc"},selected:{marker:n.selected.marker,editType:"calc"},unselected:{marker:n.unselected.marker,editType:"calc"},opacity:n.opacity}},{"../../plot_api/plot_template":732,"../../plots/cartesian/constants":747,"../scattergl/attributes":1081}],1111:[function(t,e,r){"use strict";var n=t("regl-line2d"),i=t("../../registry"),a=t("../../lib/prepare_regl"),o=t("../../plots/get_data").getModuleCalcData,s=t("../../plots/cartesian"),l=t("../../plots/cartesian/axis_ids").getFromId,c=t("../../plots/cartesian/axes").shouldShowZeroLine,u="splom";function f(t,e,r,n){for(var i=n.matrixOptions.data.length,a=r.visibleDims,o=new Array(i),s=0;s<a.length;s++){var c=a[s],u=o[s]=new Array(4),f=l(t,e._diag[c][0]);f&&(u[0]=f.r2l(f.range[0]),u[2]=f.r2l(f.range[1]));var h=l(t,e._diag[c][1]);h&&(u[1]=h.r2l(h.range[0]),u[3]=h.r2l(h.range[1]))}n.selectBatch?(n.matrix.update({ranges:o},{ranges:o}),n.matrix.draw(n.unselectBatch,n.selectBatch)):(n.matrix.update({ranges:o}),n.matrix.draw())}function h(t){var e=t._fullLayout,r=e._glcanvas.data()[0].regl,i=e._splomGrid;i||(i=e._splomGrid=n(r)),i.update(function(t){var e,r=t._fullLayout,n=r._size,i=[0,0,r.width,r.height],a={};function o(t,e,r,n,o,s){var l=e[t+"color"],c=e[t+"width"],u=String(l+c);u in a?a[u].data.push(NaN,NaN,r,n,o,s):a[u]={data:[r,n,o,s],join:"rect",thickness:c,color:l,viewport:i,range:i,overlay:!1}}for(e in r._splomSubplots){var s,l,u=r._plots[e],f=u.xaxis,h=u.yaxis,p=f._vals,d=h._vals,g=n.b+h.domain[0]*n.h,m=-h._m,v=-m*h.r2l(h.range[0],h.calendar);if(f.showgrid)for(e=0;e<p.length;e++)s=f._offset+f.l2p(p[e].x),o("grid",f,s,g,s,g+h._length);if(h.showgrid)for(e=0;e<d.length;e++)l=g+v+m*d[e].x,o("grid",h,f._offset,l,f._offset+f._length,l);c(t,f,h)&&(s=f._offset+f.l2p(0),o("zeroline",f,s,g,s,g+h._length)),c(t,h,f)&&(l=g+v+0,o("zeroline",h,f._offset,l,f._offset+f._length,l))}var y=[];for(e in a)y.push(a[e]);return y}(t)),i.draw()}e.exports={name:u,attr:s.attr,attrRegex:s.attrRegex,layoutAttributes:s.layoutAttributes,supplyLayoutDefaults:s.supplyLayoutDefaults,drawFramework:s.drawFramework,plot:function(t){var e=t._fullLayout,r=i.getModule(u),n=o(t.calcdata,r)[0];a(t,["ANGLE_instanced_arrays","OES_element_index_uint"])&&(e._hasOnlyLargeSploms&&h(t),r.plot(t,{},n))},drag:function(t){var e=t.calcdata;t._fullLayout._hasOnlyLargeSploms&&h(t);for(var r=0;r<e.length;r++){var n=e[r][0],i=n.trace,a=n.t,o=a._scene;"splom"===i.type&&o&&o.matrix&&f(t,i,a,o)}},clean:function(t,e,r,n,i){var a,o,l,c=n._modules||[],u=e._modules||[];for(l=0;l<c.length;l++)if("splom"===c[l].name){a=!0;break}for(l=0;l<u.length;l++)if("splom"===u[l].name){o=!0;break}if(a&&!o)for(l=0;l<i.length;l++){var f=i[l][0],h=f.trace,p=f.t._scene;"splom"===h.type&&p&&p.matrix&&p.matrix.destroy&&(p.matrix.destroy(),f.t._scene=null)}n._splomGrid&&!e._hasOnlyLargeSploms&&n._hasOnlyLargeSploms&&(n._splomGrid.destroy(),n._splomGrid=null),s.clean(t,e,r,n)},updateFx:function(t){s.updateFx(t);var e=t._fullLayout.dragmode;if("zoom"===e||"pan"===e)for(var r=t.calcdata,n=0;n<r.length;n++){var i=r[n][0];if("splom"===i.trace.type){var a=i.t._scene;null===a.selectBatch&&a.matrix.update(a.matrixOptions,null)}}},toSVG:s.toSVG}},{"../../lib/prepare_regl":707,"../../plots/cartesian":753,"../../plots/cartesian/axes":742,"../../plots/cartesian/axis_ids":745,"../../plots/get_data":778,"../../registry":825,"regl-line2d":471}],1112:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/array_container_defaults"),a=t("./attributes"),o=t("../scatter/subtypes"),s=t("../scatter/marker_defaults"),l=t("../parcoords/merge_length"),c=/-open/;function u(t,e){function r(r,i){return n.coerce(t,e,a.dimensions,r,i)}r("label");var i=r("values");i&&i.length?r("visible"):e.visible=!1,r("axis.type")}function f(t,e){for(var r=new Array(e),n=0;n<e;n++)r[n]=t+(n?n+1:"");return r}function h(t,e,r){if(e){var n=e.charAt(0),i=t._splomAxes[n];if(!(e in i)){var a=i[e]={};r&&(a.label=r.label||"",r.visible&&r.axis&&(a.type=r.axis.type))}}}function p(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=1;return e}e.exports=function(t,e,r,d){function g(r,i){return n.coerce(t,e,a,r,i)}var m=i(t,e,{name:"dimensions",handleItemDefaults:u}),v=g("diagonal.visible"),y=g("showupperhalf"),x=g("showlowerhalf");if(l(e,m,"values")&&(v||y||x)){g("text"),s(t,e,r,d,g);var b=c.test(e.marker.symbol),_=o.isBubble(e);g("marker.line.width",b||_?1:0),function(t,e,r,n){var i,a,o=e.dimensions,s=o.length,l=e.showupperhalf,c=e.showlowerhalf,u=e.diagonal.visible,d=u||l&&c?s:s-1,g=n("xaxes",f("x",d)),m=n("yaxes",f("y",d));e._xaxes=p(g),e._yaxes=p(m);var v=Math.min(d,g.length,m.length);for(i=0;i<v;i++)for(a=0;a<v;a++){var y=g[i]+m[a];i>a&&l?r._splomSubplots[y]=1:i<a&&c?r._splomSubplots[y]=1:i!==a||!u&&c&&l||(r._splomSubplots[y]=1)}var x=e._diag=new Array(s),b=u||c?0:-1,_=u||l?0:-1;for(i=0;i<s;i++){var w=o[i],k=g[i+b],M=m[i+_];h(r,k,w),h(r,M,w),x[i]=[k,M]}c||(r._splomGridDflt.xside="bottom",r._splomGridDflt.yside="left")}(0,e,d,g),n.coerceSelectionMarkerOpacity(e,g)}else e.visible=!1}},{"../../lib":693,"../../plots/array_container_defaults":738,"../parcoords/merge_length":1004,"../scatter/marker_defaults":1051,"../scatter/subtypes":1056,"./attributes":1110}],1113:[function(t,e,r){"use strict";var n=t("regl-splom"),i=t("array-range"),a=t("../../registry"),o=t("../../components/grid"),s=t("../../lib"),l=t("../../plots/cartesian/axis_ids"),c=t("../scatter/subtypes"),u=t("../scatter/calc").calcMarkerSize,f=t("../scatter/calc").calcAxisExpansion,h=t("../scatter/colorscale_calc"),p=t("../scattergl/convert").markerSelection,d=t("../scattergl/convert").markerStyle,g=t("../scattergl").calcHover,m=t("../../constants/numerical").BADNUM,v=t("../scattergl/constants").TOO_MANY_POINTS;function y(t,e){var r,i,a,o,s,c=t._fullLayout,u=c._size,f=e.trace,h=e.t,p=h._scene,d=p.matrixOptions,g=d.cdata,m=c._glcanvas.data()[0].regl,v=c.dragmode;if(0!==g.length){d.lower=f.showupperhalf,d.upper=f.showlowerhalf,d.diagonal=f.diagonal.visible;var y=h.visibleDims,x=g.length,b={};for(b.ranges=new Array(x),b.domains=new Array(x),s=0;s<y.length;s++){a=y[s];var _=b.ranges[s]=new Array(4),w=b.domains[s]=new Array(4);(r=l.getFromId(t,f._diag[a][0]))&&(_[0]=r._rl[0],_[2]=r._rl[1],w[0]=r.domain[0],w[2]=r.domain[1]),(i=l.getFromId(t,f._diag[a][1]))&&(_[1]=i._rl[0],_[3]=i._rl[1],w[1]=i.domain[0],w[3]=i.domain[1])}b.viewport=[u.l,u.b,u.w+u.l,u.h+u.b],!0===p.matrix&&(p.matrix=n(m));var k=c.clickmode.indexOf("select")>-1,M="lasso"===v||"select"===v||!!f.selectedpoints||k;if(p.selectBatch=null,p.unselectBatch=null,M){var A=f._length;if(p.selectBatch||(p.selectBatch=[],p.unselectBatch=[]),f.selectedpoints){p.selectBatch=f.selectedpoints;var T=f.selectedpoints,S={};for(a=0;a<T.length;a++)S[T[a]]=!0;var E=[];for(a=0;a<A;a++)S[a]||E.push(a);p.unselectBatch=E}var C=h.xpx=new Array(x),L=h.ypx=new Array(x);for(s=0;s<y.length;s++){if(a=y[s],r=l.getFromId(t,f._diag[a][0]))for(C[s]=new Array(A),o=0;o<A;o++)C[s][o]=r.c2p(g[s][o]);if(i=l.getFromId(t,f._diag[a][1]))for(L[s]=new Array(A),o=0;o<A;o++)L[s][o]=i.c2p(g[s][o])}p.selectBatch?(p.matrix.update(d,d),p.matrix.update(p.unselectedOptions,p.selectedOptions),p.matrix.update(b,b)):p.matrix.update(b,null)}else p.matrix.update(d,null),p.matrix.update(b,null),h.xpx=h.ypx=null;p.draw()}}function x(t,e,r){for(var n=r._id,i={x:0,y:1}[n.charAt(0)],a=e.visibleDims,o=0;o<a.length;o++){var s=a[o];if(t._diag[s][i]===n)return o}return!1}e.exports={moduleType:"trace",name:"splom",basePlotModule:t("./base_plot"),categories:["gl","regl","cartesian","symbols","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),calc:function(t,e){var r,n,i,a,o,c=e.dimensions,g=e._length,y={},x={},b=x.cdata=[],_=x.data=[],w=y.visibleDims=[];function k(t,r){for(var n=t.makeCalcdata({v:r.values,vcalendar:e.calendar},"v"),i=0;i<n.length;i++)n[i]=n[i]===m?NaN:n[i];b.push(n),_.push("log"===t.type?s.simpleMap(n,t.c2l):n)}for(r=0;r<c.length;r++)if((i=c[r]).visible){if(a=l.getFromId(t,e._diag[r][0]),o=l.getFromId(t,e._diag[r][1]),a&&o&&a.type!==o.type){s.log("Skipping splom dimension "+r+" with conflicting axis types");continue}a?(k(a,i),o&&"category"===o.type&&(o._categories=a._categories.slice())):k(o,i),w.push(r)}h(e),s.extendFlat(x,d(e));var M=b.length*g>v;for(n=0;n<w.length;n++){var A;i=c[r=w[n]],a=l.getFromId(t,e._diag[r][0])||{},o=l.getFromId(t,e._diag[r][1])||{},A=M?2*(x.sizeAvg||Math.max(x.size,3)):u(e,g),f(t,e,a,o,b[n],b[n],A)}var T=y._scene=function(t,e){var r=e._scene,n={dirty:!0};return r||((r=e._scene=s.extendFlat({},n,{selectBatch:null,unselectBatch:null,matrix:!1,select:null})).draw=function(){r.matrix&&r.selectBatch?r.matrix.draw(r.unselectBatch,r.selectBatch):r.matrix&&r.matrix.draw(),r.dirty=!1},r.destroy=function(){r.matrix&&r.matrix.destroy(),r.matrixOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||s.extendFlat(r,n),r}(0,y);return T.matrix||(T.matrix=!0),T.matrixOptions=x,T.selectedOptions=p(e,e.selected),T.unselectedOptions=p(e,e.unselected),[{x:!1,y:!1,t:y,trace:e}]},plot:function(t,e,r){if(r.length)for(var n=0;n<r.length;n++)y(t,r[n][0])},hoverPoints:function(t,e,r){var n=t.cd,i=n[0].trace,a=n[0].t,o=a._scene.matrixOptions.cdata,s=t.xa,l=t.ya,c=s.c2p(e),u=l.c2p(r),f=t.distance,h=x(i,a,s),p=x(i,a,l);if(!1===h||!1===p)return[t];for(var d,m,v=o[h],y=o[p],b=f,_=0;_<v.length;_++){var w=v[_],k=y[_],M=s.c2p(w)-c,A=l.c2p(k)-u,T=Math.sqrt(M*M+A*A);T<b&&(b=m=T,d=_)}return t.index=d,t.distance=b,t.dxy=m,void 0===d?[t]:(g(t,v,y,i),[t])},selectPoints:function(t,e){var r,n=t.cd,a=n[0].trace,o=n[0].t,s=o._scene,l=s.matrixOptions.cdata,u=t.xaxis,f=t.yaxis,h=[];if(!s)return h;var p=!c.hasMarkers(a)&&!c.hasText(a);if(!0!==a.visible||p)return h;var d=x(a,o,u),g=x(a,o,f);if(!1===d||!1===g)return h;var m=o.xpx[d],v=o.ypx[g],y=l[d],b=l[g],_=null,w=null;if(!1===e||e.degenerate)w=i(o.count);else for(_=[],w=[],r=0;r<y.length;r++)e.contains([m[r],v[r]],null,r,t)?(_.push(r),h.push({pointNumber:r,x:y[r],y:b[r]})):w.push(r);if(s.selectBatch||(s.selectBatch=[],s.unselectBatch=[]),!s.selectBatch){for(r=0;r<s.count;r++)s.selectBatch=[],s.unselectBatch=[];s.matrix.update(s.unselectedOptions,s.selectedOptions)}return s.selectBatch=_,s.unselectBatch=w,h},style:function(t,e){if(e){var r=t._fullLayout;e[0][0].t._scene.matrix.regl.clear({color:!0,depth:!0}),r._splomGrid&&r._splomGrid.draw();for(var n=0;n<e.length;n++)e[n][0].t._scene.draw();if(r._has("cartesian"))for(var i in r._plots){var a=r._plots[i];a._scene&&a._scene.draw()}}},meta:{}},a.register(o)},{"../../components/grid":613,"../../constants/numerical":670,"../../lib":693,"../../plots/cartesian/axis_ids":745,"../../registry":825,"../scatter/calc":1033,"../scatter/colorscale_calc":1036,"../scatter/marker_colorbar":1050,"../scatter/subtypes":1056,"../scattergl":1085,"../scattergl/constants":1082,"../scattergl/convert":1083,"./attributes":1110,"./base_plot":1111,"./defaults":1112,"array-range":54,"regl-splom":474}],1114:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../components/colorbar/attributes"),a=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},starts:{x:{valType:"data_array",editType:"calc"},y:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},editType:"calc"},maxdisplayed:{valType:"integer",min:0,dflt:1e3,editType:"calc"},sizeref:{valType:"number",editType:"calc",min:0,dflt:1},text:{valType:"string",dflt:"",editType:"calc"}};s(l,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}),{colorbar:i});["opacity","lightposition","lighting"].forEach(function(t){l[t]=a[t]}),l.hoverinfo=s({},o.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","divergence","text","name"],dflt:"x+y+z+norm+text+name"}),e.exports=l},{"../../components/colorbar/attributes":568,"../../components/colorscale/attributes":574,"../../lib/extend":682,"../../plots/attributes":739,"../mesh3d/attributes":982}],1115:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){var r,i,a,o,s=e.u,l=e.v,c=e.w,u=e.x,f=e.y,h=e.z,p=Math.min(u.length,f.length,h.length,s.length,l.length,c.length),d=0;e.starts&&(i=e.starts.x||[],a=e.starts.y||[],o=e.starts.z||[],d=Math.min(i.length,a.length,o.length));var g=0,m=1/0;for(r=0;r<p;r++){var v=s[r],y=l[r],x=c[r],b=Math.sqrt(v*v+y*y+x*x);g=Math.max(g,b),m=Math.min(m,b)}n(e,[m,g],"","c");var _=-1/0,w=1/0,k=-1/0,M=1/0,A=-1/0,T=1/0;for(r=0;r<p;r++){var S=u[r];_=Math.max(_,S),w=Math.min(w,S);var E=f[r];k=Math.max(k,E),M=Math.min(M,E);var C=h[r];A=Math.max(A,C),T=Math.min(T,C)}for(r=0;r<d;r++){var L=i[r];_=Math.max(_,L),w=Math.min(w,L);var z=a[r];k=Math.max(k,z),M=Math.min(M,z);var P=o[r];A=Math.max(A,P),T=Math.min(T,P)}e._len=p,e._slen=d,e._normMax=g,e._xbnds=[w,_],e._ybnds=[M,k],e._zbnds=[T,A]}},{"../../components/colorscale/calc":575}],1116:[function(t,e,r){"use strict";var n=t("gl-streamtube3d"),i=n.createTubeMesh,a=t("../../lib"),o=t("../../lib/gl_format_color").parseColorScale,s=t("../../plots/gl3d/zip3"),l={xaxis:0,yaxis:1,zaxis:2};function c(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var u=c.prototype;function f(t){return a.distinctVals(t).vals}function h(t){var e=t.length;return e>2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,c=e._len,u={};function d(t,e){var n=r[e],o=i[l[e]];return a.simpleMap(t,function(t){return n.d2l(t)*o})}u.vectors=s(d(e.u,"xaxis"),d(e.v,"yaxis"),d(e.w,"zaxis"),c);var g=f(e.x.slice(0,c)),m=f(e.y.slice(0,c)),v=f(e.z.slice(0,c));if(g.length*m.length*v.length>c)return{positions:[],cells:[]};var y=d(g,"xaxis"),x=d(m,"yaxis"),b=d(v,"zaxis");if(u.meshgrid=[y,x,b],e.starts){var _=e._slen;u.startingPositions=s(d(e.starts.x.slice(0,_),"xaxis"),d(e.starts.y.slice(0,_),"yaxis"),d(e.starts.z.slice(0,_),"zaxis"))}else{for(var w=x[0],k=h(y),M=h(b),A=new Array(k.length*M.length),T=0,S=0;S<k.length;S++)for(var E=0;E<M.length;E++)A[T++]=[k[S],w,M[E]];u.startingPositions=A}u.colormap=o(e.colorscale),u.tubeSize=e.sizeref,u.maxLength=e.maxdisplayed;var C=d(e._xbnds,"xaxis"),L=d(e._ybnds,"yaxis"),z=d(e._zbnds,"zaxis"),P=p(y),O=p(x),I=p(b),D=[[C[0]-P[0],L[0]-O[0],z[0]-I[0]],[C[1]+P[1],L[1]+O[1],z[1]+I[1]]],R=n(u,D);R.vertexIntensityBounds=[e.cmin/e._normMax,e.cmax/e._normMax];var B=e.lightposition;return R.lightPosition=[B.x,B.y,B.z],R.ambient=e.lighting.ambient,R.diffuse=e.lighting.diffuse,R.specular=e.lighting.specular,R.roughness=e.lighting.roughness,R.fresnel=e.lighting.fresnel,R.opacity=e.opacity,e._pad=R.tubeScale*e.sizeref*2,R}u.handlePick=function(t){var e=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(t,n){var i=e[n],a=r[l[n]];return i.l2c(t)/a}if(t.object===this.mesh){var i=t.data.position,a=t.data.velocity;return t.traceCoordinate=[n(i[0],"xaxis"),n(i[1],"yaxis"),n(i[2],"zaxis"),n(a[0],"xaxis"),n(a[1],"yaxis"),n(a[2],"zaxis"),t.data.intensity*this.data._normMax,t.data.divergence],t.textLabel=this.data.text,!0}},u.update=function(t){this.data=t;var e=d(this.scene,t);this.mesh.update(e)},u.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,n=d(t,e),a=i(r,n),o=new c(t,e.uid);return o.mesh=a,o.data=e,a._trace=o,t.glplot.add(a),o}},{"../../lib":693,"../../lib/gl_format_color":689,"../../plots/gl3d/zip3":795,"gl-streamtube3d":299}],1117:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/defaults"),a=t("./attributes");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("u"),c=s("v"),u=s("w"),f=s("x"),h=s("y"),p=s("z");l&&l.length&&c&&c.length&&u&&u.length&&f&&f.length&&h&&h.length&&p&&p.length?(s("starts.x"),s("starts.y"),s("starts.z"),s("maxdisplayed"),s("sizeref"),s("lighting.ambient"),s("lighting.diffuse"),s("lighting.specular"),s("lighting.roughness"),s("lighting.fresnel"),s("lightposition.x"),s("lightposition.y"),s("lightposition.z"),i(t,e,o,s,{prefix:"",cLetter:"c"}),s("text"),e._length=null):e.visible=!1}},{"../../components/colorscale/defaults":577,"../../lib":693,"./attributes":1114}],1118:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"streamtube",basePlotModule:t("../../plots/gl3d"),categories:["gl3d"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:{min:"cmin",max:"cmax"},calc:t("./calc"),plot:t("./convert"),eventData:function(t,e){return t.tubex=t.x,t.tubey=t.y,t.tubez=t.z,t.tubeu=e.traceCoordinate[3],t.tubev=e.traceCoordinate[4],t.tubew=e.traceCoordinate[5],t.norm=e.traceCoordinate[6],t.divergence=e.traceCoordinate[7],delete t.x,delete t.y,delete t.z,t},meta:{}}},{"../../plots/gl3d":784,"./attributes":1114,"./calc":1115,"./convert":1116,"./defaults":1117}],1119:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../../components/colorscale/attributes"),a=t("../../components/colorbar/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l=t("../../plot_api/edit_types").overrideAll;function c(t){return{show:{valType:"boolean",dflt:!1},project:{x:{valType:"boolean",dflt:!1},y:{valType:"boolean",dflt:!1},z:{valType:"boolean",dflt:!1}},color:{valType:"color",dflt:n.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:n.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var u=e.exports=l(s({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},surfacecolor:{valType:"data_array"}},i("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{colorbar:a,contours:{x:c(),y:c(),z:c()},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},_deprecated:{zauto:s({},i.zauto,{}),zmin:s({},i.zmin,{}),zmax:s({},i.zmax,{})},hoverinfo:s({},o.hoverinfo)}),"calc","nested");u.x.editType=u.y.editType=u.z.editType="calc+clearAxisTypes"},{"../../components/color":567,"../../components/colorbar/attributes":568,"../../components/colorscale/attributes":574,"../../lib/extend":682,"../../plot_api/edit_types":725,"../../plots/attributes":739}],1120:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e.surfacecolor?n(e,e.surfacecolor,"","c"):n(e,e.z,"","c")}},{"../../components/colorscale/calc":575}],1121:[function(t,e,r){"use strict";var n=t("gl-surface3d"),i=t("ndarray"),a=t("ndarray-homography"),o=t("ndarray-fill"),s=t("ndarray-ops"),l=t("../../lib").isArrayOrTypedArray,c=t("../../lib/gl_format_color").parseColorScale,u=t("../../lib/str2rgbarray"),f=128;function h(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.dataScale=1}var p=h.prototype;function d(t){var e=t.shape,r=[e[0]+2,e[1]+2],n=i(new Float32Array(r[0]*r[1]),r);return s.assign(n.lo(1,1).hi(e[0],e[1]),t),s.assign(n.lo(1).hi(e[0],1),t.hi(e[0],1)),s.assign(n.lo(1,r[1]-1).hi(e[0],1),t.lo(0,e[1]-1).hi(e[0],1)),s.assign(n.lo(0,1).hi(1,e[1]),t.hi(1)),s.assign(n.lo(r[0]-1,1).hi(1,e[1]),t.lo(e[0]-1)),n.set(0,0,t.get(0,0)),n.set(0,r[1]-1,t.get(0,e[1]-1)),n.set(r[0]-1,0,t.get(e[0]-1,0)),n.set(r[0]-1,r[1]-1,t.get(e[0]-1,e[1]-1)),n}p.handlePick=function(t){if(t.object===this.surface){var e=t.index=[Math.min(0|Math.round(t.data.index[0]/this.dataScale-1),this.data.z[0].length-1),Math.min(0|Math.round(t.data.index[1]/this.dataScale-1),this.data.z.length-1)],r=[0,0,0];l(this.data.x)?l(this.data.x[0])?r[0]=this.data.x[e[1]][e[0]]:r[0]=this.data.x[e[0]]:r[0]=e[0],l(this.data.y)?l(this.data.y[0])?r[1]=this.data.y[e[1]][e[0]]:r[1]=this.data.y[e[1]]:r[1]=e[1],r[2]=this.data.z[e[1]][e[0]],t.traceCoordinate=r;var n=this.scene.fullSceneLayout;t.dataCoordinate=[n.xaxis.d2l(r[0],0,this.data.xcalendar)*this.scene.dataScale[0],n.yaxis.d2l(r[1],0,this.data.ycalendar)*this.scene.dataScale[1],n.zaxis.d2l(r[2],0,this.data.zcalendar)*this.scene.dataScale[2]];var i=this.data.text;return Array.isArray(i)&&i[e[1]]&&void 0!==i[e[1]][e[0]]?t.textLabel=i[e[1]][e[0]]:t.textLabel=i||"",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}},p.setContourLevels=function(){for(var t=[[],[],[]],e=!1,r=0;r<3;++r)this.showContour[r]&&(e=!0,t[r]=this.scene.contourLevels[r]);e&&this.surface.update({levels:t})},p.update=function(t){var e,r=this.scene,n=r.fullSceneLayout,s=this.surface,h=t.opacity,p=c(t.colorscale,h),g=t.z,m=t.x,v=t.y,y=n.xaxis,x=n.yaxis,b=n.zaxis,_=r.dataScale,w=g[0].length,k=t._ylength,M=[i(new Float32Array(w*k),[w,k]),i(new Float32Array(w*k),[w,k]),i(new Float32Array(w*k),[w,k])],A=M[0],T=M[1],S=r.contourLevels;this.data=t;var E=t.xcalendar,C=t.ycalendar,L=t.zcalendar;o(M[2],function(t,e){return b.d2l(g[e][t],0,L)*_[2]}),l(m)?l(m[0])?o(A,function(t,e){return y.d2l(m[e][t],0,E)*_[0]}):o(A,function(t){return y.d2l(m[t],0,E)*_[0]}):o(A,function(t){return y.d2l(t,0,E)*_[0]}),l(m)?l(v[0])?o(T,function(t,e){return x.d2l(v[e][t],0,C)*_[1]}):o(T,function(t,e){return x.d2l(v[e],0,C)*_[1]}):o(T,function(t,e){return x.d2l(e,0,E)*_[1]});var z={colormap:p,levels:[[],[],[]],showContour:[!0,!0,!0],showSurface:!t.hidesurface,contourProject:[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacity:t.opacity};if(z.intensityBounds=[t.cmin,t.cmax],t.surfacecolor){var P=i(new Float32Array(w*k),[w,k]);o(P,function(e,r){return t.surfacecolor[r][e]}),M.push(P)}else z.intensityBounds[0]*=_[2],z.intensityBounds[1]*=_[2];this.dataScale=function(t){var e=Math.max(t[0].shape[0],t[0].shape[1]);if(e<f){for(var r=f/e,n=[0|Math.floor(t[0].shape[0]*r+1),0|Math.floor(t[0].shape[1]*r+1)],o=n[0]*n[1],s=0;s<t.length;++s){var l=d(t[s]),c=i(new Float32Array(o),n);a(c,l,[r,0,0,0,r,0,0,0,1]),t[s]=c}return r}return 1}(M),t.surfacecolor&&(z.intensity=M.pop());var O=[!0,!0,!0],I=["x","y","z"];for(e=0;e<3;++e){var D=t.contours[I[e]];O[e]=D.highlight,z.showContour[e]=D.show||D.highlight,z.showContour[e]&&(z.contourProject[e]=[D.project.x,D.project.y,D.project.z],D.show?(this.showContour[e]=!0,z.levels[e]=S[e],s.highlightColor[e]=z.contourColor[e]=u(D.color),D.usecolormap?s.highlightTint[e]=z.contourTint[e]=0:s.highlightTint[e]=z.contourTint[e]=1,z.contourWidth[e]=D.width):this.showContour[e]=!1,D.highlight&&(z.dynamicColor[e]=u(D.highlightcolor),z.dynamicWidth[e]=D.highlightwidth))}(function(t){var e=t[0].rgb,r=t[t.length-1].rgb;return e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]})(p)&&(z.vertexColor=!0),z.coords=M,s.update(z),s.visible=t.visible,s.enableDynamic=O,s.enableHighlight=O,s.snapToData=!0,"lighting"in t&&(s.ambientLight=t.lighting.ambient,s.diffuseLight=t.lighting.diffuse,s.specularLight=t.lighting.specular,s.roughness=t.lighting.roughness,s.fresnel=t.lighting.fresnel),"lightposition"in t&&(s.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),h&&h<1&&(s.supportsTransparency=!0)},p.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new h(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{"../../lib":693,"../../lib/gl_format_color":689,"../../lib/str2rgbarray":717,"gl-surface3d":301,ndarray:430,"ndarray-fill":420,"ndarray-homography":422,"ndarray-ops":424}],1122:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../components/colorscale/defaults"),o=t("./attributes");function s(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}e.exports=function(t,e,r,l){var c,u;function f(r,n){return i.coerce(t,e,o,r,n)}var h=f("z");if(h){var p=f("x");f("y"),e._xlength=Array.isArray(p)&&i.isArrayOrTypedArray(p[0])?h.length:h[0].length,e._ylength=h.length,n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],l),f("text"),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lightposition.x","lightposition.y","lightposition.z","hidesurface","opacity"].forEach(function(t){f(t)});var d=f("surfacecolor");f("colorscale");var g=["x","y","z"];for(c=0;c<3;++c){var m="contours."+g[c],v=f(m+".show"),y=f(m+".highlight");if(v||y)for(u=0;u<3;++u)f(m+".project."+g[u]);v&&(f(m+".color"),f(m+".width"),f(m+".usecolormap")),y&&(f(m+".highlightcolor"),f(m+".highlightwidth"))}d||(s(t,"zmin","cmin"),s(t,"zmax","cmax"),s(t,"zauto","cauto")),a(t,e,l,f,{prefix:"",cLetter:"c"}),e._length=null}else e.visible=!1}},{"../../components/colorscale/defaults":577,"../../lib":693,"../../registry":825,"./attributes":1119}],1123:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar={min:"cmin",max:"cmax"},n.calc=t("./calc"),n.plot=t("./convert"),n.moduleType="trace",n.name="surface",n.basePlotModule=t("../../plots/gl3d"),n.categories=["gl3d","2dMap","noOpacity"],n.meta={},e.exports=n},{"../../plots/gl3d":784,"./attributes":1119,"./calc":1120,"./convert":1121,"./defaults":1122}],1124:[function(t,e,r){"use strict";var n=t("../../components/annotations/attributes"),i=t("../../lib/extend").extendFlat,a=t("../../plot_api/edit_types").overrideAll,o=t("../../plots/font_attributes"),s=t("../../plots/domain").attributes;e.exports=a({domain:s({name:"table",trace:!0}),columnwidth:{valType:"number",arrayOk:!0,dflt:null},columnorder:{valType:"data_array"},header:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[]},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:28},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white"}},font:i({},o({arrayOk:!0}))},cells:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[]},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:20},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white"}},font:i({},o({arrayOk:!0}))}},"calc","from-root")},{"../../components/annotations/attributes":550,"../../lib/extend":682,"../../plot_api/edit_types":725,"../../plots/domain":767,"../../plots/font_attributes":768}],1125:[function(t,e,r){"use strict";var n=t("../../plots/get_data").getModuleCalcData,i=t("./plot");r.name="table",r.plot=function(t){var e=n(t.calcdata,"table")[0];e.length&&i(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has("table"),a=e._has&&e._has("table");i&&!a&&n._paperdiv.selectAll(".table").remove()}},{"../../plots/get_data":778,"./plot":1132}],1126:[function(t,e,r){"use strict";var n=t("../../lib/gup").wrap;e.exports=function(){return n({})}},{"../../lib/gup":690}],1127:[function(t,e,r){"use strict";e.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\$.*\$$/,goldenRatio:1.618,lineBreaker:"<br>",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}},{}],1128:[function(t,e,r){"use strict";var n=t("./constants"),i=t("../../lib/extend").extendFlat,a=t("fast-isnumeric");function o(t){if(Array.isArray(t)){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,o(t[r]));return e}return t}function s(t,e){return t+e}function l(t){var e,r=t.slice(),n=1/0,i=0;for(e=0;e<r.length;e++)Array.isArray(r[e])||(r[e]=[r[e]]),n=Math.min(n,r[e].length),i=Math.max(i,r[e].length);if(n!==i)for(e=0;e<r.length;e++){var a=i-r[e].length;a&&(r[e]=r[e].concat(c(a)))}return r}function c(t){for(var e=new Array(t),r=0;r<t;r++)e[r]="";return e}function u(t){return t.calcdata.columns.reduce(function(e,r){return r.xIndex<t.xIndex?e+r.columnWidth:e},0)}function f(t,e){return Object.keys(t).map(function(r){return i({},t[r],{auxiliaryBlocks:e})})}function h(t,e){for(var r,n={},i=0,a=0,o={firstRowIndex:null,lastRowIndex:null,rows:[]},s=0,l=0,c=0;c<t.length;c++)r=t[c],o.rows.push({rowIndex:c,rowHeight:r}),((a+=r)>=e||c===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=c+1,a=0);return n}e.exports=function(t,e){var r=l(e.cells.values),p=function(t){return t.slice(e.header.values.length,t.length)},d=l(e.header.values);d.length&&!d[0].length&&(d[0]=[""],d=l(d));var g=d.concat(p(r).map(function(){return c((d[0]||[""]).length)})),m=e.domain,v=Math.floor(t._fullLayout._size.w*(m.x[1]-m.x[0])),y=Math.floor(t._fullLayout._size.h*(m.y[1]-m.y[0])),x=e.header.values.length?g[0].map(function(){return e.header.height}):[n.emptyHeaderHeight],b=r.length?r[0].map(function(){return e.cells.height}):[],_=x.reduce(s,0),w=h(b,y-_+n.uplift),k=f(h(x,_),[]),M=f(w,k),A={},T=e._fullInput.columnorder.concat(p(r.map(function(t,e){return e}))),S=g.map(function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1}),E=S.reduce(s,0);S=S.map(function(t){return t/E*v});var C=Math.max(o(e.header.line.width),o(e.cells.line.width)),L={key:e.index,translateX:m.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-m.y[1]),size:t._fullLayout._size,width:v,maxLineWidth:C,height:y,columnOrder:T,groupHeight:y,rowBlocks:M,headerRowBlocks:k,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:g}),gdColumns:g.map(function(t){return t[0]}),gdColumnsOriginalOrder:g.map(function(t){return t[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map(function(t,e){var r=A[t];return A[t]=(r||0)+1,{key:t+"__"+A[t],label:t,specIndex:e,xIndex:T[e],xScale:u,x:void 0,calcdata:void 0,columnWidth:S[e]}})};return L.columns.forEach(function(t){t.calcdata=L,t.x=u(t)}),L}},{"../../lib/extend":682,"./constants":1127,"fast-isnumeric":213}],1129:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat;r.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:"header",type:"header",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:"cells1",type:"cells",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:"cells2",type:"cells",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},r.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0,n=e?r+e.rows.length:0;return[r,n]}(t);return(t.values||[]).slice(e[0],e[1]).map(function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}})}},{"../../lib/extend":682}],1130:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../plots/domain").defaults;e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),n.coerceFont(s,"header.font",n.extendFlat({},o.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(t,e){return t-e}),o=i.map(function(t){return a.indexOf(t)}),s=o.length;s<n;s++)o.push(s);e("columnorder",o)}(e,s),s("cells.values"),s("cells.format"),s("cells.align"),s("cells.prefix"),s("cells.suffix"),s("cells.height"),s("cells.line.width"),s("cells.line.color"),s("cells.fill.color"),n.coerceFont(s,"cells.font",n.extendFlat({},o.font)),e._length=null}},{"../../lib":693,"../../plots/domain":767,"./attributes":1124}],1131:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.calc=t("./calc"),n.plot=t("./plot"),n.moduleType="trace",n.name="table",n.basePlotModule=t("./base_plot"),n.categories=["noOpacity"],n.meta={},e.exports=n},{"./attributes":1124,"./base_plot":1125,"./calc":1126,"./defaults":1130,"./plot":1132}],1132:[function(t,e,r){"use strict";var n=t("./constants"),i=t("d3"),a=t("../../lib/gup"),o=t("../../components/drawing"),s=t("../../lib/svg_text_utils"),l=t("../../lib").raiseToTop,c=t("../../lib").cancelTransition,u=t("./data_preparation_helper"),f=t("./data_split_helpers"),h=t("../../components/color");function p(t){return Math.ceil(t.calcdata.maxLineWidth/2)}function d(t,e){return"clip"+t._fullLayout._uid+"_scrollAreaBottomClip_"+e.key}function g(t,e){return"clip"+t._fullLayout._uid+"_columnBoundaryClippath_"+e.calcdata.key+"_"+e.specIndex}function m(t){return[].concat.apply([],t.map(function(t){return t})).map(function(t){return t.__data__})}function v(t,e,r){var o=t.selectAll("."+n.cn.scrollbarKit).data(a.repeat,a.keyFun);o.enter().append("g").classed(n.cn.scrollbarKit,!0).style("shape-rendering","geometricPrecision"),o.each(function(t){var e=t.scrollbarState;e.totalHeight=function(t){var e=t.rowBlocks;return O(e,e.length-1)+(e.length?I(e[e.length-1],1/0):1)}(t),e.scrollableAreaHeight=t.groupHeight-A(t),e.currentlyVisibleHeight=Math.min(e.totalHeight,e.scrollableAreaHeight),e.ratio=e.currentlyVisibleHeight/e.totalHeight,e.barLength=Math.max(e.ratio*e.currentlyVisibleHeight,n.goldenRatio*n.scrollbarWidth),e.barWiggleRoom=e.currentlyVisibleHeight-e.barLength,e.wiggleRoom=Math.max(0,e.totalHeight-e.scrollableAreaHeight),e.topY=0===e.barWiggleRoom?0:t.scrollY/e.wiggleRoom*e.barWiggleRoom,e.bottomY=e.topY+e.barLength,e.dragMultiplier=e.wiggleRoom/e.barWiggleRoom}).attr("transform",function(t){return"translate("+(t.width+n.scrollbarWidth/2+n.scrollbarOffset)+" "+A(t)+")"});var s=o.selectAll("."+n.cn.scrollbar).data(a.repeat,a.keyFun);s.enter().append("g").classed(n.cn.scrollbar,!0);var l=s.selectAll("."+n.cn.scrollbarSlider).data(a.repeat,a.keyFun);l.enter().append("g").classed(n.cn.scrollbarSlider,!0),l.attr("transform",function(t){return"translate(0 "+(t.scrollbarState.topY||0)+")"});var c=l.selectAll("."+n.cn.scrollbarGlyph).data(a.repeat,a.keyFun);c.enter().append("line").classed(n.cn.scrollbarGlyph,!0).attr("stroke","black").attr("stroke-width",n.scrollbarWidth).attr("stroke-linecap","round").attr("y1",n.scrollbarWidth/2),c.attr("y2",function(t){return t.scrollbarState.barLength-n.scrollbarWidth/2}).attr("stroke-opacity",function(t){return t.columnDragInProgress||!t.scrollbarState.barWiggleRoom||r?0:.4}),c.transition().delay(0).duration(0),c.transition().delay(n.scrollbarHideDelay).duration(n.scrollbarHideDuration).attr("stroke-opacity",0);var u=s.selectAll("."+n.cn.scrollbarCaptureZone).data(a.repeat,a.keyFun);u.enter().append("line").classed(n.cn.scrollbarCaptureZone,!0).attr("stroke","white").attr("stroke-opacity",.01).attr("stroke-width",n.scrollbarCaptureWidth).attr("stroke-linecap","butt").attr("y1",0).on("mousedown",function(r){var n=i.event.y,a=this.getBoundingClientRect(),o=r.scrollbarState,s=n-a.top,l=i.scale.linear().domain([0,o.scrollableAreaHeight]).range([0,o.totalHeight]).clamp(!0);o.topY<=s&&s<=o.bottomY||S(e,t,null,l(s-o.barLength/2))(r)}).call(i.behavior.drag().origin(function(t){return i.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t}).on("drag",S(e,t)).on("dragend",function(){})),u.attr("y2",function(t){return t.scrollbarState.scrollableAreaHeight})}function y(t,e,r,s){var l=function(t){var e=t.selectAll("."+n.cn.columnCell).data(f.splitToCells,function(t){return t.keyWithinBlock});return e.enter().append("g").classed(n.cn.columnCell,!0),e.exit().remove(),e}(function(t){var e=t.selectAll("."+n.cn.columnCells).data(a.repeat,a.keyFun);return e.enter().append("g").classed(n.cn.columnCells,!0),e.exit().remove(),e}(r));!function(t){t.each(function(t,e){var r=t.calcdata.cells.font,n=t.column.specIndex,i={size:_(r.size,n,e),color:_(r.color,n,e),family:_(r.family,n,e)};t.rowNumber=t.key,t.align=_(t.calcdata.cells.align,n,e),t.cellBorderWidth=_(t.calcdata.cells.line.width,n,e),t.font=i})}(l),function(t){t.attr("width",function(t){return t.column.columnWidth}).attr("stroke-width",function(t){return t.cellBorderWidth}).each(function(t){var e=i.select(this);h.stroke(e,_(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),h.fill(e,_(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}(function(t){var e=t.selectAll("."+n.cn.cellRect).data(a.repeat,function(t){return t.keyWithinBlock});return e.enter().append("rect").classed(n.cn.cellRect,!0),e}(l));var c=function(t){var e=t.selectAll("."+n.cn.cellText).data(a.repeat,function(t){return t.keyWithinBlock});return e.enter().append("text").classed(n.cn.cellText,!0).style("cursor",function(){return"auto"}).on("mousedown",function(){i.event.stopPropagation()}),e}(function(t){var e=t.selectAll("."+n.cn.cellTextHolder).data(a.repeat,function(t){return t.keyWithinBlock});return e.enter().append("g").classed(n.cn.cellTextHolder,!0).style("shape-rendering","geometricPrecision"),e}(l));!function(t){t.each(function(t){o.font(i.select(this),t.font)})}(c),x(c,e,s,t),P(l)}function x(t,e,r,a){t.text(function(t){var e=t.column.specIndex,r=t.rowNumber,a=t.value,o="string"==typeof a,s=o&&a.match(/<br>/i),l=!o||s;t.mayHaveMarkup=o&&a.match(/[<&>]/);var c,u="string"==typeof(c=a)&&c.match(n.latexCheck);t.latex=u;var f,h,p=u?"":_(t.calcdata.cells.prefix,e,r)||"",d=u?"":_(t.calcdata.cells.suffix,e,r)||"",g=u?null:_(t.calcdata.cells.format,e,r)||null,m=p+(g?i.format(g)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(f=b(m)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===f?b(m):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var v=(" "===n.wrapSplitCharacter?m.replace(/<a href=/gi,"<a_href="):m).split(n.wrapSplitCharacter),y=" "===n.wrapSplitCharacter?v.map(function(t){return t.replace(/<a_href=/gi,"<a href=")}):v;t.fragments=y.map(function(t){return{text:t,width:null}}),t.fragments.push({fragment:n.wrapSpacer,width:null}),h=y.join(n.lineBreaker)+n.lineBreaker+n.wrapSpacer}else delete t.fragments,h=m;return h}).attr("dy",function(t){return t.needsConvertToTspans?0:"0.75em"}).each(function(t){var o=i.select(this),l=t.wrappingNeeded?C:L;t.needsConvertToTspans?s.convertToTspans(o,a,l(r,this,e,a,t)):i.select(this.parentNode).attr("transform",function(t){return"translate("+z(t)+" "+n.cellPad+")"}).attr("text-anchor",function(t){return{left:"start",center:"middle",right:"end"}[t.align]})})}function b(t){return-1!==t.indexOf(n.wrapSplitCharacter)}function _(t,e,r){if(Array.isArray(t)){var n=t[Math.min(e,t.length-1)];return Array.isArray(n)?n[Math.min(r,n.length-1)]:n}return t}function w(t,e,r){t.transition().ease(n.releaseTransitionEase).duration(n.releaseTransitionDuration).attr("transform","translate("+e.x+" "+r+")")}function k(t){return"cells"===t.type}function M(t){return"header"===t.type}function A(t){return(t.rowBlocks.length?t.rowBlocks[0].auxiliaryBlocks:[]).reduce(function(t,e){return t+I(e,1/0)},0)}function T(t,e,r){var n=m(e)[0];if(void 0!==n){var i=n.rowBlocks,a=n.calcdata,o=O(i,i.length),s=n.calcdata.groupHeight-A(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),c=function(t,e,r){for(var n=[],i=0,a=0;a<t.length;a++){for(var o=t[a],s=o.rows,l=0,c=0;c<s.length;c++)l+=s[c].rowHeight;o.allRowsHeight=l,e<i+l&&e+r>i&&n.push(a),i+=l}return n}(i,l,s);1===c.length&&(c[0]===i.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),e.each(function(t,e){t.page=c[e],t.scrollY=l}),e.attr("transform",function(t){return"translate(0 "+(O(t.rowBlocks,t.page)-t.scrollY)+")"}),t&&(E(t,r,e,c,n.prevPages,n,0),E(t,r,e,c,n.prevPages,n,1),v(r,t))}}function S(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter(function(t){return s.key===t.key}),c=r||s.scrollbarState.dragMultiplier;s.scrollY=void 0===a?s.scrollY+c*i.event.dy:a;var u=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(k);T(t,u,l)}}function E(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var a=r.filter(function(t,e){return e===o&&n[e]!==i[e]});y(t,e,a,r),i[o]=n[o]}))}function C(t,e,r){return function(){var a=i.select(e.parentNode);a.each(function(t){var e=t.fragments;a.selectAll("tspan.line").each(function(t,r){e[r].width=this.getComputedTextLength()});var r,i,o=e[e.length-1].width,s=e.slice(0,-1),l=[],c=0,u=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)c+(i=(r=s.shift()).width+o)>u&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],c=0),l.push(r.text),c+=i;c&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0}),a.selectAll("tspan.line").remove(),x(a.select("."+n.cn.cellText),r,t),i.select(e.parentNode.parentNode).call(P)}}function L(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=R(o),c=o.key-l.firstRowIndex,u=l.rows[c].rowHeight,f=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:u,h=Math.max(f,u);h-l.rows[c].rowHeight&&(l.rows[c].rowHeight=h,t.selectAll("."+n.cn.columnCell).call(P),T(null,t.filter(k),0),v(r,a,!0)),s.attr("transform",function(){var t=this.parentNode.getBoundingClientRect(),e=i.select(this.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),r=this.transform.baseVal.consolidate(),a=e.top-t.top+(r?r.matrix.f:n.cellPad);return"translate("+z(o,i.select(this.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width)+" "+a+")"}),o.settledY=!0}}}function z(t,e){switch(t.align){case"left":return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2;default:return n.cellPad}}function P(t){t.attr("transform",function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce(function(t,e){return t+I(e,1/0)},0);return"translate(0 "+(I(R(t),t.key)+e)+")"}).selectAll("."+n.cn.cellRect).attr("height",function(t){return(e=R(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r})}function O(t,e){for(var r=0,n=e-1;n>=0;n--)r+=D(t[n]);return r}function I(t,e){for(var r=0,n=0;n<t.rows.length&&t.rows[n].rowIndex<e;n++)r+=t.rows[n].rowHeight;return r}function D(t){var e=t.allRowsHeight;if(void 0!==e)return e;for(var r=0,n=0;n<t.rows.length;n++)r+=t.rows[n].rowHeight;return t.allRowsHeight=r,r}function R(t){return t.rowBlocks[t.page]}e.exports=function(t,e){var r=t._fullLayout._paper.selectAll("."+n.cn.table).data(e.map(function(e){var r=a.unwrap(e).trace;return u(t,r)}),a.keyFun);r.exit().remove(),r.enter().append("g").classed(n.cn.table,!0).attr("overflow","visible").style("box-sizing","content-box").style("position","absolute").style("left",0).style("overflow","visible").style("shape-rendering","crispEdges").style("pointer-events","all"),r.attr("width",function(t){return t.width+t.size.l+t.size.r}).attr("height",function(t){return t.height+t.size.t+t.size.b}).attr("transform",function(t){return"translate("+t.translateX+","+t.translateY+")"});var s=r.selectAll("."+n.cn.tableControlView).data(a.repeat,a.keyFun);s.enter().append("g").classed(n.cn.tableControlView,!0).style("box-sizing","content-box").on("mousemove",function(e){s.filter(function(t){return e===t}).call(v,t)}).on("mousewheel",function(e){e.scrollbarState.wheeling||(e.scrollbarState.wheeling=!0,i.event.stopPropagation(),i.event.preventDefault(),S(t,s,null,e.scrollY+i.event.deltaY)(e),e.scrollbarState.wheeling=!1)}).call(v,t,!0),s.attr("transform",function(t){return"translate("+t.size.l+" "+t.size.t+")"});var h=s.selectAll("."+n.cn.scrollBackground).data(a.repeat,a.keyFun);h.enter().append("rect").classed(n.cn.scrollBackground,!0).attr("fill","none"),h.attr("width",function(t){return t.width}).attr("height",function(t){return t.height}),s.each(function(e){o.setClipUrl(i.select(this),d(t,e))});var x=s.selectAll("."+n.cn.yColumn).data(function(t){return t.columns},a.keyFun);x.enter().append("g").classed(n.cn.yColumn,!0),x.exit().remove(),x.attr("transform",function(t){return"translate("+t.x+" 0)"}).call(i.behavior.drag().origin(function(e){return w(i.select(this),e,-n.uplift),l(this),e.calcdata.columnDragInProgress=!0,v(s.filter(function(t){return e.calcdata.key===t.key}),t),e}).on("drag",function(t){var e=i.select(this),r=function(e){return(t===e?i.event.x:e.x)+e.columnWidth/2};t.x=Math.max(-n.overdrag,Math.min(t.calcdata.width+n.overdrag-t.columnWidth,i.event.x)),m(x).filter(function(e){return e.calcdata.key===t.calcdata.key}).sort(function(t,e){return r(t)-r(e)}).forEach(function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e)}),x.filter(function(e){return t!==e}).transition().ease(n.transitionEase).duration(n.transitionDuration).attr("transform",function(t){return"translate("+t.x+" 0)"}),e.call(c).attr("transform","translate("+t.x+" -"+n.uplift+" )")}).on("dragend",function(e){var r=i.select(this),n=e.calcdata;e.x=e.xScale(e),e.calcdata.columnDragInProgress=!1,w(r,e,0),function(t,e,r){var n=e.gdColumnsOriginalOrder;e.gdColumns.sort(function(t,e){return r[n.indexOf(t)]-r[n.indexOf(e)]}),e.columnorder=r,t.emit("plotly_restyle")}(t,n,n.columns.map(function(t){return t.xIndex}))})),x.each(function(e){o.setClipUrl(i.select(this),g(t,e))});var b=x.selectAll("."+n.cn.columnBlock).data(f.splitToPanels,a.keyFun);b.enter().append("g").classed(n.cn.columnBlock,!0).attr("id",function(t){return t.key}),b.style("cursor",function(t){return t.dragHandle?"ew-resize":t.calcdata.scrollbarState.barWiggleRoom?"ns-resize":"default"});var _=b.filter(M),A=b.filter(k);A.call(i.behavior.drag().origin(function(t){return i.event.stopPropagation(),t}).on("drag",S(t,s,-1)).on("dragend",function(){})),y(t,s,_,b),y(t,s,A,b);var E=s.selectAll("."+n.cn.scrollAreaClip).data(a.repeat,a.keyFun);E.enter().append("clipPath").classed(n.cn.scrollAreaClip,!0).attr("id",function(e){return d(t,e)});var C=E.selectAll("."+n.cn.scrollAreaClipRect).data(a.repeat,a.keyFun);C.enter().append("rect").classed(n.cn.scrollAreaClipRect,!0).attr("x",-n.overdrag).attr("y",-n.uplift).attr("fill","none"),C.attr("width",function(t){return t.width+2*n.overdrag}).attr("height",function(t){return t.height+n.uplift}),x.selectAll("."+n.cn.columnBoundary).data(a.repeat,a.keyFun).enter().append("g").classed(n.cn.columnBoundary,!0);var L=x.selectAll("."+n.cn.columnBoundaryClippath).data(a.repeat,a.keyFun);L.enter().append("clipPath").classed(n.cn.columnBoundaryClippath,!0),L.attr("id",function(e){return g(t,e)});var z=L.selectAll("."+n.cn.columnBoundaryRect).data(a.repeat,a.keyFun);z.enter().append("rect").classed(n.cn.columnBoundaryRect,!0).attr("fill","none"),z.attr("width",function(t){return t.columnWidth+2*p(t)}).attr("height",function(t){return t.calcdata.height+2*p(t)+n.uplift}).attr("x",function(t){return-p(t)}).attr("y",function(t){return-p(t)}),T(null,A,s)}},{"../../components/color":567,"../../components/drawing":592,"../../lib":693,"../../lib/gup":690,"../../lib/svg_text_utils":718,"./constants":1127,"./data_preparation_helper":1128,"./data_split_helpers":1129,d3:147}],1133:[function(t,e,r){"use strict";var n=t("../box/attributes"),i=t("../../lib/extend").extendFlat;e.exports={y:n.y,x:n.x,x0:n.x0,y0:n.y0,name:n.name,orientation:i({},n.orientation,{}),bandwidth:{valType:"number",min:0,editType:"calc"},scalegroup:{valType:"string",dflt:"",editType:"calc"},scalemode:{valType:"enumerated",values:["width","count"],dflt:"width",editType:"calc"},spanmode:{valType:"enumerated",values:["soft","hard","manual"],dflt:"soft",editType:"calc"},span:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n.fillcolor,points:i({},n.boxpoints,{}),jitter:i({},n.jitter,{}),pointpos:i({},n.pointpos,{}),marker:n.marker,text:n.text,box:{visible:{valType:"boolean",dflt:!1,editType:"plot"},width:{valType:"number",min:0,max:1,dflt:.25,editType:"plot"},fillcolor:{valType:"color",editType:"style"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"style"},editType:"plot"},meanline:{visible:{valType:"boolean",dflt:!1,editType:"plot"},color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"plot"},side:{valType:"enumerated",values:["both","positive","negative"],dflt:"both",editType:"plot"},selected:n.selected,unselected:n.unselected,hoveron:{valType:"flaglist",flags:["violins","points","kde"],dflt:"violins+points+kde",extras:["all"],editType:"style"}}},{"../../lib/extend":682,"../box/attributes":856}],1134:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../box/calc"),o=t("./helpers"),s=t("../../constants/numerical").BADNUM;function l(t,e,r){var i=e.max-e.min;if(!i)return 1;if(t.bandwidth)return Math.max(t.bandwidth,i/1e4);var a=r.length,o=n.stdev(r,a-1,e.mean);return Math.max(function(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t,-.2)}(a,o,e.q3-e.q1),i/100)}function c(t,e,r,n){var a,o=t.spanmode,l=t.span||[],c=[e.min,e.max],u=[e.min-2*n,e.max+2*n];function f(n){var i=l[n],a=r.d2c(i,0,t[e.valLetter+"calendar"]);return a===s?u[n]:a}var h={type:"linear",range:a="soft"===o?u:"hard"===o?c:[f(0),f(1)]};return i.setConvert(h),h.cleanRange(),a}e.exports=function(t,e){var r=a(t,e);if(r[0].t.empty)return r;var s=t._fullLayout,u=i.getFromId(t,e["h"===e.orientation?"xaxis":"yaxis"]),f=s._violinScaleGroupStats,h=e.scalegroup,p=f[h];p||(p=f[h]={maxWidth:0,maxCount:0});for(var d=1/0,g=-1/0,m=0;m<r.length;m++){var v=r[m],y=v.pts.map(o.extractVal),x=v.bandwidth=l(e,v,y),b=v.span=c(e,v,u,x),_=b[1]-b[0],w=Math.ceil(_/(x/3)),k=_/w;if(!isFinite(k)||!isFinite(w))return n.error("Something went wrong with computing the violin span"),r[0].t.empty=!0,r;var M=o.makeKDE(v,e,y);v.density=new Array(w);for(var A=0,T=b[0];T<b[1]+k/2;A++,T+=k){var S=M(T);p.maxWidth=Math.max(p.maxWidth,S),v.density[A]={v:S,t:T}}p.maxCount=Math.max(p.maxCount,y.length),d=Math.min(d,b[0]),g=Math.max(g,b[1])}var E=i.findExtremes(u,[d,g],{padded:!0});return e._extremes[u._id]=E,r[0].t.labels.kde=n._(t,"kde:"),r}},{"../../constants/numerical":670,"../../lib":693,"../../plots/cartesian/axes":742,"../box/calc":857,"./helpers":1137}],1135:[function(t,e,r){"use strict";var n=t("../box/cross_trace_calc").setPositionOffset,i=["v","h"];e.exports=function(t,e){for(var r=t.calcdata,a=e.xaxis,o=e.yaxis,s=0;s<i.length;s++){for(var l=i[s],c="h"===l?o:a,u=[],f=0,h=0,p=0;p<r.length;p++){var d=r[p],g=d[0].t,m=d[0].trace;!0!==m.visible||"violin"!==m.type||g.empty||m.orientation!==l||m.xaxis!==a._id||m.yaxis!==o._id||(u.push(p),!1!==m.points&&(f=Math.max(f,m.jitter-m.pointpos-1),h=Math.max(h,m.jitter+m.pointpos-1)))}n("violin",t,u,c,[f,h])}}},{"../box/cross_trace_calc":858}],1136:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color"),a=t("../box/defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}function c(r,i){return n.coerce2(t,e,o,r,i)}if(a.handleSampleDefaults(t,e,l,s),!1!==e.visible){l("bandwidth"),l("scalegroup",e.name),l("scalemode"),l("side");var u,f=l("span");Array.isArray(f)&&(u="manual"),l("spanmode",u);var h=l("line.color",(t.marker||{}).color||r),p=l("line.width"),d=l("fillcolor",i.addOpacity(e.line.color,.5));a.handlePointsDefaults(t,e,l,{prefix:""});var g=c("box.width"),m=c("box.fillcolor",d),v=c("box.line.color",h),y=c("box.line.width",p);l("box.visible",Boolean(g||m||v||y))||(e.box={visible:!1});var x=c("meanline.color",h),b=c("meanline.width",p);l("meanline.visible",Boolean(x||b))||(e.meanline={visible:!1})}}},{"../../components/color":567,"../../lib":693,"../box/defaults":859,"./attributes":1133}],1137:[function(t,e,r){"use strict";var n=t("../../lib"),i=function(t){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*t*t)};r.makeKDE=function(t,e,r){var n=r.length,a=i,o=t.bandwidth,s=1/(n*o);return function(t){for(var e=0,i=0;i<n;i++)e+=a((t-r[i])/o);return s*e}},r.getPositionOnKdePath=function(t,e,r){var i,a;"h"===e.orientation?(i="y",a="x"):(i="x",a="y");var o=n.findPointOnPath(t.path,r,a,{pathLength:t.pathLength}),s=t.posCenterPx,l=o[i];return[l,"both"===e.side?2*s-l:s]},r.getKdeValue=function(t,e,n){var i=t.pts.map(r.extractVal);return r.makeKDE(t,e,i)(n)/t.posDensityScale},r.extractVal=function(t){return t.v}},{"../../lib":693}],1138:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../box/hover"),o=t("./helpers");e.exports=function(t,e,r,s,l){var c,u,f=t.cd,h=f[0].trace,p=h.hoveron,d=-1!==p.indexOf("violins"),g=-1!==p.indexOf("kde"),m=[];if(d||g){var v=a.hoverOnBoxes(t,e,r,s);if(d&&(m=m.concat(v)),g&&v.length>0){var y,x,b,_,w,k=t.xa,M=t.ya;"h"===h.orientation?(w=e,y="y",b=M,x="x",_=k):(w=r,y="x",b=k,x="y",_=M);var A=f[t.index];if(w>=A.span[0]&&w<=A.span[1]){var T=n.extendFlat({},t),S=_.c2p(w,!0),E=o.getKdeValue(A,h,w),C=o.getPositionOnKdePath(A,h,S),L=b._offset,z=b._length;T[y+"0"]=C[0],T[y+"1"]=C[1],T[x+"0"]=T[x+"1"]=S,T[x+"Label"]=x+": "+i.hoverLabelText(_,w)+", "+f[0].t.labels.kde+" "+E.toFixed(3),T.spikeDistance=v[0].spikeDistance;var P=y+"Spike";T[P]=v[0][P],v[0].spikeDistance=void 0,v[0][P]=void 0,m.push(T),(u={stroke:t.color})[y+"1"]=n.constrain(L+C[0],L,L+z),u[y+"2"]=n.constrain(L+C[1],L,L+z),u[x+"1"]=u[x+"2"]=_._offset+S}}}-1!==p.indexOf("points")&&(c=a.hoverOnPoints(t,e,r));var O=l.selectAll(".violinline-"+h.uid).data(u?[0]:[]);return O.enter().append("line").classed("violinline-"+h.uid,!0).attr("stroke-width",1.5),O.exit().remove(),O.attr(u),"closest"===s?c?[c]:m:c?(m.push(c),m):m}},{"../../lib":693,"../../plots/cartesian/axes":742,"../box/hover":861,"./helpers":1137}],1139:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style"),styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../box/select"),moduleType:"trace",name:"violin",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","violinLayout","zoomScale"],meta:{}}},{"../../plots/cartesian":753,"../box/select":866,"../scatter/style":1055,"./attributes":1133,"./calc":1134,"./cross_trace_calc":1135,"./defaults":1136,"./hover":1138,"./layout_attributes":1140,"./layout_defaults":1141,"./plot":1142,"./style":1143}],1140:[function(t,e,r){"use strict";var n=t("../box/layout_attributes"),i=t("../../lib").extendFlat;e.exports={violinmode:i({},n.boxmode,{}),violingap:i({},n.boxgap,{}),violingroupgap:i({},n.boxgroupgap,{})}},{"../../lib":693,"../box/layout_attributes":863}],1141:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes"),a=t("../box/layout_defaults");e.exports=function(t,e,r){a._supply(t,e,r,function(r,a){return n.coerce(t,e,i,r,a)},"violin")}},{"../../lib":693,"../box/layout_defaults":864,"./layout_attributes":1140}],1142:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../components/drawing"),o=t("../box/plot"),s=t("../scatter/line_points"),l=t("./helpers");e.exports=function(t,e,r,c){var u=t._fullLayout,f=e.xaxis,h=e.yaxis;function p(t){var e=s(t,{xaxis:f,yaxis:h,connectGaps:!0,baseTolerance:.75,shape:"spline",simplify:!0});return a.smoothopen(e[0],1)}i.makeTraceGroups(c,r,"trace violins").each(function(t){var r=n.select(this),a=t[0],s=a.t,c=a.trace;e.isRangePlot||(a.node3=r);var d=u._numViolins,g="group"===u.violinmode&&d>1,m=1-u.violingap,v=s.bdPos=s.dPos*m*(1-u.violingroupgap)/(g?d:1),y=s.bPos=g?2*s.dPos*((s.num+.5)/d-.5)*m:0;if(s.wHover=s.dPos*(g?m/d:1),!0!==c.visible||s.empty)r.remove();else{var x=e[s.valLetter+"axis"],b=e[s.posLetter+"axis"],_="both"===c.side,w=_||"positive"===c.side,k=_||"negative"===c.side,M=u._violinScaleGroupStats[c.scalegroup],A=r.selectAll("path.violin").data(i.identity);A.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","violin"),A.exit().remove(),A.each(function(t){var e,r,i,a,o,l,u,f,h=n.select(this),d=t.density,g=d.length,m=t.pos+y,A=b.c2p(m);switch(c.scalemode){case"width":e=M.maxWidth/v;break;case"count":e=M.maxWidth/v*(M.maxCount/t.pts.length)}if(w){for(u=new Array(g),o=0;o<g;o++)(f=u[o]={})[s.posLetter]=m+d[o].v/e,f[s.valLetter]=d[o].t;r=p(u)}if(k){for(u=new Array(g),l=0,o=g-1;l<g;l++,o--)(f=u[l]={})[s.posLetter]=m-d[o].v/e,f[s.valLetter]=d[o].t;i=p(u)}if(_)a=r+"L"+i.substr(1)+"Z";else{var T=[A,x.c2p(d[0].t)],S=[A,x.c2p(d[g-1].t)];"h"===c.orientation&&(T.reverse(),S.reverse()),a=w?"M"+T+"L"+r.substr(1)+"L"+S:"M"+S+"L"+i.substr(1)+"L"+T}h.attr("d",a),t.posCenterPx=A,t.posDensityScale=e*v,t.path=h.node(),t.pathLength=t.path.getTotalLength()/(_?2:1)});var T,S,E,C=c.box,L=C.width,z=(C.line||{}).width;_?(T=v*L,S=0):w?(T=[0,v*L/2],S=-z):(T=[v*L/2,0],S=z),o.plotBoxAndWhiskers(r,{pos:b,val:x},c,{bPos:y,bdPos:T,bPosPxOffset:S}),o.plotBoxMean(r,{pos:b,val:x},c,{bPos:y,bdPos:T,bPosPxOffset:S}),!c.box.visible&&c.meanline.visible&&(E=i.identity);var P=r.selectAll("path.meanline").data(E||[]);P.enter().append("path").attr("class","meanline").style("fill","none").style("vector-effect","non-scaling-stroke"),P.exit().remove(),P.each(function(t){var e=x.c2p(t.mean,!0),r=l.getPositionOnKdePath(t,c,e);n.select(this).attr("d","h"===c.orientation?"M"+e+","+r[0]+"V"+r[1]:"M"+r[0]+","+e+"H"+r[1])}),o.plotPoints(r,{x:f,y:h},c,s)}})}},{"../../components/drawing":592,"../../lib":693,"../box/plot":865,"../scatter/line_points":1046,"./helpers":1137,d3:147}],1143:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/color"),a=t("../scatter/style").stylePoints;e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll("g.trace.violins");r.style("opacity",function(t){return t[0].trace.opacity}),r.each(function(e){var r=e[0].trace,o=n.select(this),s=r.box||{},l=s.line||{},c=r.meanline||{},u=c.width;o.selectAll("path.violin").style("stroke-width",r.line.width+"px").call(i.stroke,r.line.color).call(i.fill,r.fillcolor),o.selectAll("path.box").style("stroke-width",l.width+"px").call(i.stroke,l.color).call(i.fill,s.fillcolor);var f={"stroke-width":u+"px","stroke-dasharray":2*u+"px,"+u+"px"};o.selectAll("path.mean").style(f).call(i.stroke,c.color),o.selectAll("path.meanline").style(f).call(i.stroke,c.color),a(o,r,t)})}},{"../../components/color":567,"../scatter/style":1055,d3:147}],1144:[function(t,e,r){"use strict";var n=t("../plots/cartesian/axes"),i=t("../lib"),a=t("../plot_api/plot_schema"),o=t("./helpers").pointsAccessorFunction,s=t("../constants/numerical").BADNUM;r.moduleType="transform",r.name="aggregate";var l=r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc"},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc"},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc"},enabled:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},editType:"calc"},c=l.aggregations;function u(t,e,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(e,o),c=l.get(),u=function(t,e){var r=t.func,n=e.d2c,i=e.c2d;switch(r){case"count":return f;case"first":return h;case"last":return p;case"sum":return function(t,e){for(var r=0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==s&&(r+=o)}return i(r)};case"avg":return function(t,e){for(var r=0,a=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l,a++)}return a?i(r/a):s};case"min":return function(t,e){for(var r=1/0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==s&&(r=Math.min(r,o))}return r===1/0?s:i(r)};case"max":return function(t,e){for(var r=-1/0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==s&&(r=Math.max(r,o))}return r===-1/0?s:i(r)};case"range":return function(t,e){for(var r=1/0,a=-1/0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r=Math.min(r,l),a=Math.max(a,l))}return a===-1/0||r===1/0?s:i(a-r)};case"change":return function(t,e){var r=n(t[e[0]]),a=n(t[e[e.length-1]]);return r===s||a===s?s:i(a-r)};case"median":return function(t,e){for(var r=[],a=0;a<e.length;a++){var o=n(t[e[a]]);o!==s&&r.push(o)}if(!r.length)return s;r.sort();var l=(r.length-1)/2;return i((r[Math.floor(l)]+r[Math.ceil(l)])/2)};case"mode":return function(t,e){for(var r={},a=0,o=s,l=0;l<e.length;l++){var c=n(t[e[l]]);if(c!==s){var u=r[c]=(r[c]||0)+1;u>a&&(a=u,o=c)}}return a?i(o):s};case"rms":return function(t,e){for(var r=0,a=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l*l,a++)}return a?i(Math.sqrt(r/a)):s};case"stddev":return function(e,r){var i,a=0,o=0,l=1,c=s;for(i=0;i<r.length&&c===s;i++)c=n(e[r[i]]);if(c===s)return s;for(;i<r.length;i++){var u=n(e[r[i]]);if(u!==s){var f=u-c;a+=f,o+=f*f,l++}}var h="sample"===t.funcmode?l-1:l;return h?Math.sqrt((o-a*a/l)/h):0}}}(a,n.getDataConversions(t,e,o,c)),d=new Array(r.length),g=0;g<r.length;g++)d[g]=u(c,r[g]);l.set(d),"count"===a.func&&i.pushUnique(e._arrayAttrs,o)}}function f(t,e){return e.length}function h(t,e){return t[e[0]]}function p(t,e){return t[e[e.length-1]]}r.supplyDefaults=function(t,e){var r,n={};function o(e,r){return i.coerce(t,n,l,e,r)}if(!o("enabled"))return n;var s=a.findArrayAttributes(e),u={};for(r=0;r<s.length;r++)u[s[r]]=1;var f=o("groups");if(!Array.isArray(f)){if(!u[f])return void(n.enabled=!1);u[f]=0}var h,p=t.aggregations||[],d=n.aggregations=new Array(p.length);function g(t,e){return i.coerce(p[r],h,c,t,e)}for(r=0;r<p.length;r++){h={_index:r};var m=g("target"),v=g("func");g("enabled")&&m&&(u[m]||"count"===v&&void 0===u[m])?("stddev"===v&&g("funcmode"),u[m]=0,d[r]=h):d[r]={enabled:!1,_index:r}}for(r=0;r<s.length;r++)u[s[r]]&&d.push({target:s[r],func:c.func.dflt,enabled:!0,_index:-1});return n},r.calcTransform=function(t,e,r){if(r.enabled){var n=r.groups,a=i.getTargetArray(e,{target:n});if(a){var s,l,c,f,h={},p={},d=[],g=o(e.transforms,r),m=a.length;for(e._length&&(m=Math.min(m,e._length)),s=0;s<m;s++)void 0===(c=h[l=a[s]])?(h[l]=d.length,f=[s],d.push(f),p[h[l]]=g(s)):(d[c].push(s),p[h[l]]=(p[h[l]]||[]).concat(g(s)));r._indexToPoints=p;var v=r.aggregations;for(s=0;s<v.length;s++)u(t,e,d,v[s]);"string"==typeof n&&u(t,e,d,{target:n,func:"first",enabled:!0}),e._length=d.length}}}},{"../constants/numerical":670,"../lib":693,"../plot_api/plot_schema":731,"../plots/cartesian/axes":742,"./helpers":1147}],1145:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../registry"),a=t("../plots/cartesian/axes"),o=t("./helpers").pointsAccessorFunction,s=t("../constants/filter_ops"),l=s.COMPARISON_OPS,c=s.INTERVAL_OPS,u=s.SET_OPS;r.moduleType="transform",r.name="filter",r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},operation:{valType:"enumerated",values:[].concat(l).concat(c).concat(u),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},preservegaps:{valType:"boolean",dflt:!1,editType:"calc"},editType:"calc"},r.supplyDefaults=function(t){var e={};function a(i,a){return n.coerce(t,e,r.attributes,i,a)}if(a("enabled")){a("preservegaps"),a("operation"),a("value"),a("target");var o=i.getComponentMethod("calendars","handleDefaults");o(t,e,"valuecalendar",null),o(t,e,"targetcalendar",null)}return e},r.calcTransform=function(t,e,r){if(r.enabled){var i=n.getTargetArray(e,r);if(i){var s=r.target,f=i.length;e._length&&(f=Math.min(f,e._length));var h=r.targetcalendar,p=e._arrayAttrs,d=r.preservegaps;if("string"==typeof s){var g=n.nestedProperty(e,s+"calendar").get();g&&(h=g)}var m,v,y=function(t,e,r){var n=t.operation,i=t.value,a=Array.isArray(i);function o(t){return-1!==t.indexOf(n)}var s,f=function(r){return e(r,0,t.valuecalendar)},h=function(t){return e(t,0,r)};o(l)?s=f(a?i[0]:i):o(c)?s=a?[f(i[0]),f(i[1])]:[f(i),f(i)]:o(u)&&(s=a?i.map(f):[f(i)]);switch(n){case"=":return function(t){return h(t)===s};case"!=":return function(t){return h(t)!==s};case"<":return function(t){return h(t)<s};case"<=":return function(t){return h(t)<=s};case">":return function(t){return h(t)>s};case">=":return function(t){return h(t)>=s};case"[]":return function(t){var e=h(t);return e>=s[0]&&e<=s[1]};case"()":return function(t){var e=h(t);return e>s[0]&&e<s[1]};case"[)":return function(t){var e=h(t);return e>=s[0]&&e<s[1]};case"(]":return function(t){var e=h(t);return e>s[0]&&e<=s[1]};case"][":return function(t){var e=h(t);return e<=s[0]||e>=s[1]};case")(":return function(t){var e=h(t);return e<s[0]||e>s[1]};case"](":return function(t){var e=h(t);return e<=s[0]||e>s[1]};case")[":return function(t){var e=h(t);return e<s[0]||e>=s[1]};case"{}":return function(t){return-1!==s.indexOf(h(t))};case"}{":return function(t){return-1===s.indexOf(h(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(m=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},v=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(m=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},v=function(t,e){var r=x[t.astr][e];t.get().push(r)}),M(m);for(var w=o(e.transforms,r),k=0;k<f;k++){y(i[k])?(M(v,k),b[_++]=w(k)):d&&_++}r._indexToPoints=b,e._length=_}}function M(t,r){for(var i=0;i<p.length;i++){t(n.nestedProperty(e,p[i]),r)}}}},{"../constants/filter_ops":666,"../lib":693,"../plots/cartesian/axes":742,"../registry":825,"./helpers":1147}],1146:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plot_api/plot_schema"),a=t("../plots/plots"),o=t("./helpers").pointsAccessorFunction;function s(t,e){var r,s,c,u,f,h,p,d,g,m,v=e.transform,y=e.transformIndex,x=t.transforms[y].groups,b=o(t.transforms,v);if(!Array.isArray(x)||0===x.length)return[t];var _=n.filterUnique(x),w=new Array(_.length),k=x.length,M=i.findArrayAttributes(t),A=v.styles||[],T={};for(r=0;r<A.length;r++)T[A[r].target]=A[r].value;v.styles&&(m=n.keyedContainer(v,"styles","target","value.name"));var S={},E={};for(r=0;r<_.length;r++){S[h=_[r]]=r,E[h]=0,(p=w[r]=n.extendDeepNoArrays({},t))._group=h,p.updateStyle=l(h,y),p.transforms[y]._indexToPoints={};var C=null;for(m&&(C=m.get(h)),p.name=C||""===C?C:n.templateString(v.nameformat,{trace:t.name,group:h}),d=p.transforms,p.transforms=[],s=0;s<d.length;s++)p.transforms[s]=n.extendDeepNoArrays({},d[s]);for(s=0;s<M.length;s++)n.nestedProperty(p,M[s]).set([])}for(c=0;c<M.length;c++){for(u=M[c],s=0,g=[];s<_.length;s++)g[s]=n.nestedProperty(w[s],u).get();for(f=n.nestedProperty(t,u).get(),s=0;s<k;s++)g[S[x[s]]].push(f[s])}for(s=0;s<k;s++){(p=w[S[x[s]]]).transforms[y]._indexToPoints[E[x[s]]]=b(s),E[x[s]]++}for(r=0;r<_.length;r++)h=_[r],p=w[r],a.clearExpandedTraceDefaultColors(p),p=n.extendDeepNoArrays(p,T[h]||{});return w}function l(t,e){return function(r,i,a){n.keyedContainer(r,"transforms["+e+"].styles","target","value."+i).set(String(t),a)}}r.moduleType="transform",r.name="groupby",r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"data_array",dflt:[],editType:"calc"},nameformat:{valType:"string",editType:"calc"},styles:{_isLinkedToArray:"style",target:{valType:"string",editType:"calc"},value:{valType:"any",dflt:{},editType:"calc",_compareAsJSON:!0},editType:"calc"},editType:"calc"},r.supplyDefaults=function(t,e,i){var a,o={};function s(e,i){return n.coerce(t,o,r.attributes,e,i)}if(!s("enabled"))return o;s("groups"),s("nameformat",i._dataLength>1?"%{group} (%{trace})":"%{group}");var l=t.styles,c=o.styles=[];if(l)for(a=0;a<l.length;a++){var u=c[a]={};n.coerce(l[a],c[a],r.attributes.styles,"target");var f=n.coerce(l[a],c[a],r.attributes.styles,"value");n.isPlainObject(f)?u.value=n.extendDeep({},f):f&&delete u.value}return o},r.transform=function(t,e){var r,n,i,a=[];for(n=0;n<t.length;n++)for(r=s(t[n],e),i=0;i<r.length;i++)a.push(r[i]);return a}},{"../lib":693,"../plot_api/plot_schema":731,"../plots/plots":805,"./helpers":1147}],1147:[function(t,e,r){"use strict";r.pointsAccessorFunction=function(t,e){for(var r,n,i=0;i<t.length&&(r=t[i])!==e;i++)r._indexToPoints&&!1!==r.enabled&&(n=r._indexToPoints);return n?function(t){return n[t]}:function(t){return[t]}}},{}],1148:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plots/cartesian/axes"),a=t("./helpers").pointsAccessorFunction;r.moduleType="transform",r.name="sort",r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},order:{valType:"enumerated",values:["ascending","descending"],dflt:"ascending",editType:"calc"},editType:"calc"},r.supplyDefaults=function(t){var e={};function i(i,a){return n.coerce(t,e,r.attributes,i,a)}return i("enabled")&&(i("target"),i("order")),e},r.calcTransform=function(t,e,r){if(r.enabled){var o=n.getTargetArray(e,r);if(o){var s=r.target,l=o.length;e._length&&(l=Math.min(l,e._length));var c,u,f=e._arrayAttrs,h=function(t,e,r,n){var i,a=new Array(n),o=new Array(n);for(i=0;i<n;i++)a[i]={v:e[i],i:i};for(a.sort(function(t,e){switch(t.order){case"ascending":return function(t,r){return e(t.v)-e(r.v)};case"descending":return function(t,r){return e(r.v)-e(t.v)}}}(t,r)),i=0;i<n;i++)o[i]=a[i].i;return o}(r,o,i.getDataToCoordFunc(t,e,s,o),l),p=a(e.transforms,r),d={};for(c=0;c<f.length;c++){var g=n.nestedProperty(e,f[c]),m=g.get(),v=new Array(l);for(u=0;u<l;u++)v[u]=m[h[u]];g.set(v)}for(u=0;u<l;u++)d[u]=p(h[u]);r._indexToPoints=d,e._length=l}}}},{"../lib":693,"../plots/cartesian/axes":742,"./helpers":1147}]},{},[22])(22)}); \ No newline at end of file
diff --git a/clover/controller/control/static/js/jquery-ui.min.js b/clover/controller/control/static/js/jquery-ui.min.js
new file mode 100644
index 0000000..c34434e
--- /dev/null
+++ b/clover/controller/control/static/js/jquery-ui.min.js
@@ -0,0 +1,13 @@
+/*! jQuery UI - v1.12.1 - 2018-08-14
+* http://jqueryui.com
+* Includes: widget.js, position.js, data.js, disable-selection.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/draggable.js, widgets/droppable.js, widgets/resizable.js, widgets/selectable.js, widgets/sortable.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/selectmenu.js, widgets/slider.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js
+* Copyright jQuery Foundation and other contributors; Licensed MIT */
+
+(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e=t.css("visibility");"inherit"===e;)t=t.parent(),e=t.css("visibility");return"hidden"!==e}function i(t){for(var e,i;t.length&&t[0]!==document;){if(e=t.css("position"),("absolute"===e||"relative"===e||"fixed"===e)&&(i=parseInt(t.css("zIndex"),10),!isNaN(i)&&0!==i))return i;t=t.parent()}return 0}function s(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.regional.en=t.extend(!0,{},this.regional[""]),this.regional["en-US"]=t.extend(!0,{},this.regional.en),this.dpDiv=n(t("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function n(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",i,function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",i,o)}function o(){t.datepicker._isDisabledDatepicker(p.inline?p.dpDiv.parent()[0]:p.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))}function a(e,i){t.extend(e,i);for(var s in i)null==i[s]&&(e[s]=i[s]);return e}function r(t){return function(){var e=this.element.val();t.apply(this,arguments),this._refresh(),e!==this.element.val()&&this._trigger("change")}}t.ui=t.ui||{},t.ui.version="1.12.1";var l=0,h=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},l=e.split(".")[0];e=e.split(".")[1];var h=l+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][h.toLowerCase()]=function(e){return!!t.data(e,h)},t[l]=t[l]||{},n=t[l][e],o=t[l][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:l,widgetName:e,widgetFullName:h}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,s,n=h.call(arguments,1),o=0,a=n.length;a>o;o++)for(i in n[o])s=n[o][i],n[o].hasOwnProperty(i)&&void 0!==s&&(e[i]=t.isPlainObject(s)?t.isPlainObject(e[i])?t.widget.extend({},e[i],s):t.widget.extend({},s):s);return e},t.widget.bridge=function(e,i){var s=i.prototype.widgetFullName||e;t.fn[e]=function(n){var o="string"==typeof n,a=h.call(arguments,1),r=this;return o?this.length||"instance"!==n?this.each(function(){var i,o=t.data(this,s);return"instance"===n?(r=o,!1):o?t.isFunction(o[n])&&"_"!==n.charAt(0)?(i=o[n].apply(o,a),i!==o&&void 0!==i?(r=i&&i.jquery?r.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+n+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+n+"'")}):r=void 0:(a.length&&(n=t.widget.extend.apply(null,[n].concat(a))),this.each(function(){var e=t.data(this,s);e?(e.option(n||{}),e._init&&e._init()):t.data(this,s,new i(n,this))})),r}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,i){i=t(i||this.defaultElement||this)[0],this.element=t(i),this.uuid=l++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},i!==this&&(t.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===i&&this.destroy()}}),this.document=t(i.style?i.ownerDocument:i.document||i),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),h=l[1]+o.eventNamespace,c=l[2];c?n.on(h,c,r):i.on(h,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,l=/top|center|bottom/,h=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,g,m,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||"flip").split(" "),k={};return _=s(v),v[0].preventDefault&&(n.at="left top"),p=_.width,f=_.height,g=_.offset,m=t.extend({},g),t.each(["my","at"],function(){var t,e,i=(n[this]||"").split(" ");1===i.length&&(i=r.test(i[0])?i.concat(["center"]):l.test(i[0])?["center"].concat(i):["center","center"]),i[0]=r.test(i[0])?i[0]:"center",i[1]=l.test(i[1])?i[1]:"center",t=h.exec(i[0]),e=h.exec(i[1]),k[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===n.at[0]?m.left+=p:"center"===n.at[0]&&(m.left+=p/2),"bottom"===n.at[1]?m.top+=f:"center"===n.at[1]&&(m.top+=f/2),u=e(k.at,p,f),m.left+=u[0],m.top+=u[1],this.each(function(){var s,r,l=t(this),h=l.outerWidth(),c=l.outerHeight(),d=i(this,"marginLeft"),_=i(this,"marginTop"),x=h+d+i(this,"marginRight")+y.width,C=c+_+i(this,"marginBottom")+y.height,D=t.extend({},m),T=e(k.my,l.outerWidth(),l.outerHeight());"right"===n.my[0]?D.left-=h:"center"===n.my[0]&&(D.left-=h/2),"bottom"===n.my[1]?D.top-=c:"center"===n.my[1]&&(D.top-=c/2),D.left+=T[0],D.top+=T[1],s={marginLeft:d,marginTop:_},t.each(["left","top"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:h,elemHeight:c,collisionPosition:s,collisionWidth:x,collisionHeight:C,offset:[u[0]+T[0],u[1]+T[1]],my:n.my,at:n.at,within:b,elem:l})}),n.using&&(r=function(t){var e=g.left-D.left,i=e+p-h,s=g.top-D.top,r=s+f-c,u={target:{element:v,left:g.left,top:g.top,width:p,height:f},element:{element:l,left:D.left,top:D.top,width:h,height:c},horizontal:0>i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};h>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),l.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,l=n-r,h=r+e.collisionWidth-a-n;e.collisionWidth>a?l>0&&0>=h?(i=t.left+l+e.collisionWidth-a-n,t.left+=l-i):t.left=h>0&&0>=l?n:l>h?n+a-e.collisionWidth:n:l>0?t.left+=l:h>0?t.left-=h:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,l=n-r,h=r+e.collisionHeight-a-n;e.collisionHeight>a?l>0&&0>=h?(i=t.top+l+e.collisionHeight-a-n,t.top+=l-i):t.top=h>0&&0>=l?n:l>h?n+a-e.collisionHeight:n:l>0?t.top+=l:h>0?t.top-=h:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,h=t.left-e.collisionPosition.marginLeft,c=h-l,u=h+e.collisionWidth-r-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-l,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,l=n.isWindow?n.scrollTop:n.offset.top,h=t.top-e.collisionPosition.marginTop,c=h-l,u=h+e.collisionHeight-r-l,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-l,(i>0||u>a(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,l,h=i.nodeName.toLowerCase();return"area"===h?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(h)?(r=!i.disabled,r&&(l=t(i).closest("fieldset")[0],l&&(r=!l.disabled))):r="a"===h?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var c=!1;t(document).on("mouseup",function(){c=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!c){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,n="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),c=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,c=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement}catch(i){e=t.body}return e||(e=t.body),e.nodeName||(e=t.body),e},t.ui.safeBlur=function(e){e&&"body"!==e.nodeName.toLowerCase()&&t(e).trigger("blur")},t.widget("ui.draggable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(t,e){this._super(t,e),"handle"===t&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(e){var i=this.options;return this.helper||i.disabled||t(e.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(e),this.handle?(this._blurActiveElement(e),this._blockFrames(i.iframeFix===!0?"iframe":i.iframeFix),!0):!1)},_blockFrames:function(e){this.iframeBlocks=this.document.find(e).map(function(){var e=t(this);return t("<div>").css("position","absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(e){var i=t.ui.safeActiveElement(this.document[0]),s=t(e.target);s.closest(i).length||t.ui.safeBlur(i)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===t(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(e),this.originalPosition=this.position=this._generatePosition(e,!1),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",e)===!1?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(e,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",e,s)===!1)return this._mouseUp(new t.Event("mouseup",e)),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,s=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(s=t.ui.ddmanager.drop(this,e)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",e)!==!1&&i._clear()}):this._trigger("stop",e)!==!1&&this._clear(),!1},_mouseUp:function(e){return this._unblockFrames(),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),this.handleElement.is(e.target)&&this.element.trigger("focus"),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new t.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(e){return this.options.handle?!!t(e.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper),n=s?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var e=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var t=this.element.position(),e=this._isRootNode(this.scrollParent[0]);return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options,o=this.document[0];return this.relativeContainer=null,n.containment?"window"===n.containment?(this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,t(o).width()-this.helperProportions.width-this.margins.left,(t(o).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=t(n.containment),s=i[0],s&&(e=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0)
+},_convertPositionTo:function(t,e){e||(e=this.position);var i="absolute"===t?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:e.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(t,e){var i,s,n,o,a=this.options,r=this._isRootNode(this.scrollParent[0]),l=t.pageX,h=t.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),e&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.left<i[0]&&(l=i[0]+this.offset.click.left),t.pageY-this.offset.click.top<i[1]&&(h=i[1]+this.offset.click.top),t.pageX-this.offset.click.left>i[2]&&(l=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(h=i[3]+this.offset.click.top)),a.grid&&(n=a.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/a.grid[1])*a.grid[1]:this.originalPageY,h=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-a.grid[1]:n+a.grid[1]:n,o=a.grid[0]?this.originalPageX+Math.round((l-this.originalPageX)/a.grid[0])*a.grid[0]:this.originalPageX,l=i?o-this.offset.click.left>=i[0]||o-this.offset.click.left>i[2]?o:o-this.offset.click.left>=i[0]?o-a.grid[0]:o+a.grid[0]:o),"y"===a.axis&&(l=this.originalPageX),"x"===a.axis&&(h=this.originalPageY)),{top:h-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:l-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s,this],!0),/^(drag|start|stop)/.test(e)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i,s){var n=t.extend({},i,{item:s.element});s.sortables=[],t(s.options.connectToSortable).each(function(){var i=t(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",e,n))})},stop:function(e,i,s){var n=t.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,t.each(s.sortables,function(){var t=this;t.isOver?(t.isOver=0,s.cancelHelperRemoval=!0,t.cancelHelperRemoval=!1,t._storedCSS={position:t.placeholder.css("position"),top:t.placeholder.css("top"),left:t.placeholder.css("left")},t._mouseStop(e),t.options.helper=t.options._helper):(t.cancelHelperRemoval=!0,t._trigger("deactivate",e,n))})},drag:function(e,i,s){t.each(s.sortables,function(){var n=!1,o=this;o.positionAbs=s.positionAbs,o.helperProportions=s.helperProportions,o.offset.click=s.offset.click,o._intersectsWith(o.containerCache)&&(n=!0,t.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==o&&this._intersectsWith(this.containerCache)&&t.contains(o.element[0],this.element[0])&&(n=!1),n})),n?(o.isOver||(o.isOver=1,s._parent=i.helper.parent(),o.currentItem=i.helper.appendTo(o.element).data("ui-sortable-item",!0),o.options._helper=o.options.helper,o.options.helper=function(){return i.helper[0]},e.target=o.currentItem[0],o._mouseCapture(e,!0),o._mouseStart(e,!0,!0),o.offset.click.top=s.offset.click.top,o.offset.click.left=s.offset.click.left,o.offset.parent.left-=s.offset.parent.left-o.offset.parent.left,o.offset.parent.top-=s.offset.parent.top-o.offset.parent.top,s._trigger("toSortable",e),s.dropped=o.element,t.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,o.fromOutside=s),o.currentItem&&(o._mouseDrag(e),i.position=o.position)):o.isOver&&(o.isOver=0,o.cancelHelperRemoval=!0,o.options._revert=o.options.revert,o.options.revert=!1,o._trigger("out",e,o._uiHash(o)),o._mouseStop(e,!0),o.options.revert=o.options._revert,o.options.helper=o.options._helper,o.placeholder&&o.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(e),i.position=s._generatePosition(e,!0),s._trigger("fromSortable",e),s.dropped=!1,t.each(s.sortables,function(){this.refreshPositions()}))})}}),t.ui.plugin.add("draggable","cursor",{start:function(e,i,s){var n=t("body"),o=s.options;n.css("cursor")&&(o._cursor=n.css("cursor")),n.css("cursor",o.cursor)},stop:function(e,i,s){var n=s.options;n._cursor&&t("body").css("cursor",n._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("opacity")&&(o._opacity=n.css("opacity")),n.css("opacity",o.opacity)},stop:function(e,i,s){var n=s.options;n._opacity&&t(i.helper).css("opacity",n._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(t,e,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(e,i,s){var n=s.options,o=!1,a=s.scrollParentNotHidden[0],r=s.document[0];a!==r&&"HTML"!==a.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+a.offsetHeight-e.pageY<n.scrollSensitivity?a.scrollTop=o=a.scrollTop+n.scrollSpeed:e.pageY-s.overflowOffset.top<n.scrollSensitivity&&(a.scrollTop=o=a.scrollTop-n.scrollSpeed)),n.axis&&"y"===n.axis||(s.overflowOffset.left+a.offsetWidth-e.pageX<n.scrollSensitivity?a.scrollLeft=o=a.scrollLeft+n.scrollSpeed:e.pageX-s.overflowOffset.left<n.scrollSensitivity&&(a.scrollLeft=o=a.scrollLeft-n.scrollSpeed))):(n.axis&&"x"===n.axis||(e.pageY-t(r).scrollTop()<n.scrollSensitivity?o=t(r).scrollTop(t(r).scrollTop()-n.scrollSpeed):t(window).height()-(e.pageY-t(r).scrollTop())<n.scrollSensitivity&&(o=t(r).scrollTop(t(r).scrollTop()+n.scrollSpeed))),n.axis&&"y"===n.axis||(e.pageX-t(r).scrollLeft()<n.scrollSensitivity?o=t(r).scrollLeft(t(r).scrollLeft()-n.scrollSpeed):t(window).width()-(e.pageX-t(r).scrollLeft())<n.scrollSensitivity&&(o=t(r).scrollLeft(t(r).scrollLeft()+n.scrollSpeed)))),o!==!1&&t.ui.ddmanager&&!n.dropBehaviour&&t.ui.ddmanager.prepareOffsets(s,e)}}),t.ui.plugin.add("draggable","snap",{start:function(e,i,s){var n=s.options;s.snapElements=[],t(n.snap.constructor!==String?n.snap.items||":data(ui-draggable)":n.snap).each(function(){var e=t(this),i=e.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:e.outerWidth(),height:e.outerHeight(),top:i.top,left:i.left})})},drag:function(e,i,s){var n,o,a,r,l,h,c,u,d,p,f=s.options,g=f.snapTolerance,m=i.offset.left,_=m+s.helperProportions.width,v=i.offset.top,b=v+s.helperProportions.height;for(d=s.snapElements.length-1;d>=0;d--)l=s.snapElements[d].left-s.margins.left,h=l+s.snapElements[d].width,c=s.snapElements[d].top-s.margins.top,u=c+s.snapElements[d].height,l-g>_||m>h+g||c-g>b||v>u+g||!t.contains(s.snapElements[d].item.ownerDocument,s.snapElements[d].item)?(s.snapElements[d].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=!1):("inner"!==f.snapMode&&(n=g>=Math.abs(c-b),o=g>=Math.abs(u-v),a=g>=Math.abs(l-_),r=g>=Math.abs(h-m),n&&(i.position.top=s._convertPositionTo("relative",{top:c-s.helperProportions.height,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left)),p=n||o||a||r,"outer"!==f.snapMode&&(n=g>=Math.abs(c-v),o=g>=Math.abs(u-b),a=g>=Math.abs(l-m),r=g>=Math.abs(h-_),n&&(i.position.top=s._convertPositionTo("relative",{top:c,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left)),!s.snapElements[d].snapping&&(n||o||a||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=n||o||a||r||p)}}),t.ui.plugin.add("draggable","stack",{start:function(e,i,s){var n,o=s.options,a=t.makeArray(t(o.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});a.length&&(n=parseInt(t(a[0]).css("zIndex"),10)||0,t(a).each(function(e){t(this).css("zIndex",n+e)}),this.css("zIndex",n+a.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("zIndex")&&(o._zIndex=n.css("zIndex")),n.css("zIndex",o.zIndex)},stop:function(e,i,s){var n=s.options;n._zIndex&&t(i.helper).css("zIndex",n._zIndex)}}),t.ui.draggable,t.widget("ui.droppable",{version:"1.12.1",widgetEventPrefix:"drop",options:{accept:"*",addClasses:!0,greedy:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=t.isFunction(s)?s:function(t){return t.is(s)},this.proportions=function(){return arguments.length?(e=arguments[0],void 0):e?e:e={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(i.scope),i.addClasses&&this._addClass("ui-droppable")},_addToManager:function(e){t.ui.ddmanager.droppables[e]=t.ui.ddmanager.droppables[e]||[],t.ui.ddmanager.droppables[e].push(this)},_splice:function(t){for(var e=0;t.length>e;e++)t[e]===this&&t.splice(e,1)},_destroy:function(){var e=t.ui.ddmanager.droppables[this.options.scope];this._splice(e)},_setOption:function(e,i){if("accept"===e)this.accept=t.isFunction(i)?i:function(t){return t.is(i)};else if("scope"===e){var s=t.ui.ddmanager.droppables[this.options.scope];this._splice(s),this._addToManager(i)}this._super(e,i)},_activate:function(e){var i=t.ui.ddmanager.current;this._addActiveClass(),i&&this._trigger("activate",e,this.ui(i))},_deactivate:function(e){var i=t.ui.ddmanager.current;this._removeActiveClass(),i&&this._trigger("deactivate",e,this.ui(i))},_over:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this._addHoverClass(),this._trigger("over",e,this.ui(i)))},_out:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this._removeHoverClass(),this._trigger("out",e,this.ui(i)))},_drop:function(e,i){var s=i||t.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var i=t(this).droppable("instance");return i.options.greedy&&!i.options.disabled&&i.options.scope===s.options.scope&&i.accept.call(i.element[0],s.currentItem||s.element)&&u(s,t.extend(i,{offset:i.element.offset()}),i.options.tolerance,e)?(n=!0,!1):void 0}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this._removeActiveClass(),this._removeHoverClass(),this._trigger("drop",e,this.ui(s)),this.element):!1):!1},ui:function(t){return{draggable:t.currentItem||t.element,helper:t.helper,position:t.position,offset:t.positionAbs}},_addHoverClass:function(){this._addClass("ui-droppable-hover")},_removeHoverClass:function(){this._removeClass("ui-droppable-hover")},_addActiveClass:function(){this._addClass("ui-droppable-active")},_removeActiveClass:function(){this._removeClass("ui-droppable-active")}});var u=t.ui.intersect=function(){function t(t,e,i){return t>=e&&e+i>t}return function(e,i,s,n){if(!i.offset)return!1;var o=(e.positionAbs||e.position.absolute).left+e.margins.left,a=(e.positionAbs||e.position.absolute).top+e.margins.top,r=o+e.helperProportions.width,l=a+e.helperProportions.height,h=i.offset.left,c=i.offset.top,u=h+i.proportions().width,d=c+i.proportions().height;switch(s){case"fit":return o>=h&&u>=r&&a>=c&&d>=l;case"intersect":return o+e.helperProportions.width/2>h&&u>r-e.helperProportions.width/2&&a+e.helperProportions.height/2>c&&d>l-e.helperProportions.height/2;case"pointer":return t(n.pageY,c,i.proportions().height)&&t(n.pageX,h,i.proportions().width);case"touch":return(a>=c&&d>=a||l>=c&&d>=l||c>a&&l>d)&&(o>=h&&u>=o||r>=h&&u>=r||h>o&&r>u);default:return!1}}}();t.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,i){var s,n,o=t.ui.ddmanager.droppables[e.options.scope]||[],a=i?i.type:null,r=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(s=0;o.length>s;s++)if(!(o[s].options.disabled||e&&!o[s].accept.call(o[s].element[0],e.currentItem||e.element))){for(n=0;r.length>n;n++)if(r[n]===o[s].element[0]){o[s].proportions().height=0;continue t}o[s].visible="none"!==o[s].element.css("display"),o[s].visible&&("mousedown"===a&&o[s]._activate.call(o[s],i),o[s].offset=o[s].element.offset(),o[s].proportions({width:o[s].element[0].offsetWidth,height:o[s].element[0].offsetHeight}))}},drop:function(e,i){var s=!1;return t.each((t.ui.ddmanager.droppables[e.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&u(e,this,this.options.tolerance,i)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],e.currentItem||e.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(e,i){e.element.parentsUntil("body").on("scroll.droppable",function(){e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)})},drag:function(e,i){e.options.refreshPositions&&t.ui.ddmanager.prepareOffsets(e,i),t.each(t.ui.ddmanager.droppables[e.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,o,a=u(e,this,this.options.tolerance,i),r=!a&&this.isover?"isout":a&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,o=this.element.parents(":data(ui-droppable)").filter(function(){return t(this).droppable("instance").options.scope===n}),o.length&&(s=t(o[0]).droppable("instance"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(e,i){e.element.parentsUntil("body").off("scroll.droppable"),e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)}},t.uiBackCompat!==!1&&t.widget("ui.droppable",t.ui.droppable,{options:{hoverClass:!1,activeClass:!1},_addActiveClass:function(){this._super(),this.options.activeClass&&this.element.addClass(this.options.activeClass)},_removeActiveClass:function(){this._super(),this.options.activeClass&&this.element.removeClass(this.options.activeClass)},_addHoverClass:function(){this._super(),this.options.hoverClass&&this.element.addClass(this.options.hoverClass)},_removeHoverClass:function(){this._super(),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass)}}),t.ui.droppable,t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("<div>"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,l=this._change[o];return this._updatePrevProperties(),l?(i=l.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,l,h=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,l=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,h.animate||this.element.css(t.extend(a,{top:l,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!h.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,l=this.originalPosition.top+this.originalSize.height,h=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&h&&(t.left=r-e.minWidth),s&&h&&(t.left=r-e.maxWidth),a&&c&&(t.top=l-e.minHeight),n&&c&&(t.top=l-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,l={width:i.size.width-r,height:i.size.height-a},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(l,c&&h?{top:c,left:h}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,l=t(this).resizable("instance"),h=l.options,c=l.element,u=h.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(l.containerElement=t(d),/document/.test(u)||u===document?(l.containerOffset={left:0,top:0},l.containerPosition={left:0,top:0},l.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=l._num(e.css("padding"+s))}),l.containerOffset=e.offset(),l.containerPosition=e.position(),l.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=l.containerOffset,n=l.containerSize.height,o=l.containerSize.width,a=l._hasScroll(d,"left")?d.scrollWidth:o,r=l._hasScroll(d)?d.scrollHeight:n,l.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,l=a.containerOffset,h=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=l),h.left<(a._helper?l.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-l.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?l.left:0),h.top<(a._helper?l.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-l.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?l.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-l.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-l.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),l=a.outerWidth()-e.sizeDiff.width,h=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:l,height:h}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:l,height:h})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};
+t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,l="number"==typeof s.grid?[s.grid,s.grid]:s.grid,h=l[0]||1,c=l[1]||1,u=Math.round((n.width-o.width)/h)*h,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,g=s.maxWidth&&p>s.maxWidth,m=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=l,_&&(p+=h),v&&(f+=c),g&&(p-=h),m&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-h)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-h>0?(i.size.width=p,i.position.left=a.left-u):(p=h-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable,t.widget("ui.selectable",t.ui.mouse,{version:"1.12.1",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e=this;this._addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){e.elementPos=t(e.element[0]).offset(),e.selectees=t(e.options.filter,e.element[0]),e._addClass(e.selectees,"ui-selectee"),e.selectees.each(function(){var i=t(this),s=i.offset(),n={left:s.left-e.elementPos.left,top:s.top-e.elementPos.top};t.data(this,"selectable-item",{element:this,$element:i,left:n.left,top:n.top,right:n.left+i.outerWidth(),bottom:n.top+i.outerHeight(),startselected:!1,selected:i.hasClass("ui-selected"),selecting:i.hasClass("ui-selecting"),unselecting:i.hasClass("ui-unselecting")})})},this.refresh(),this._mouseInit(),this.helper=t("<div>"),this._addClass(this.helper,"ui-selectable-helper")},_destroy:function(){this.selectees.removeData("selectable-item"),this._mouseDestroy()},_mouseStart:function(e){var i=this,s=this.options;this.opos=[e.pageX,e.pageY],this.elementPos=t(this.element[0]).offset(),this.options.disabled||(this.selectees=t(s.filter,this.element[0]),this._trigger("start",e),t(s.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=t.data(this,"selectable-item");s.startselected=!0,e.metaKey||e.ctrlKey||(i._removeClass(s.$element,"ui-selected"),s.selected=!1,i._addClass(s.$element,"ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",e,{unselecting:s.element}))}),t(e.target).parents().addBack().each(function(){var s,n=t.data(this,"selectable-item");return n?(s=!e.metaKey&&!e.ctrlKey||!n.$element.hasClass("ui-selected"),i._removeClass(n.$element,s?"ui-unselecting":"ui-selected")._addClass(n.$element,s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",e,{selecting:n.element}):i._trigger("unselecting",e,{unselecting:n.element}),!1):void 0}))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,o=this.opos[0],a=this.opos[1],r=e.pageX,l=e.pageY;return o>r&&(i=r,r=o,o=i),a>l&&(i=l,l=a,a=i),this.helper.css({left:o,top:a,width:r-o,height:l-a}),this.selectees.each(function(){var i=t.data(this,"selectable-item"),h=!1,c={};i&&i.element!==s.element[0]&&(c.left=i.left+s.elementPos.left,c.right=i.right+s.elementPos.left,c.top=i.top+s.elementPos.top,c.bottom=i.bottom+s.elementPos.top,"touch"===n.tolerance?h=!(c.left>r||o>c.right||c.top>l||a>c.bottom):"fit"===n.tolerance&&(h=c.left>o&&r>c.right&&c.top>a&&l>c.bottom),h?(i.selected&&(s._removeClass(i.$element,"ui-selected"),i.selected=!1),i.unselecting&&(s._removeClass(i.$element,"ui-unselecting"),i.unselecting=!1),i.selecting||(s._addClass(i.$element,"ui-selecting"),i.selecting=!0,s._trigger("selecting",e,{selecting:i.element}))):(i.selecting&&((e.metaKey||e.ctrlKey)&&i.startselected?(s._removeClass(i.$element,"ui-selecting"),i.selecting=!1,s._addClass(i.$element,"ui-selected"),i.selected=!0):(s._removeClass(i.$element,"ui-selecting"),i.selecting=!1,i.startselected&&(s._addClass(i.$element,"ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",e,{unselecting:i.element}))),i.selected&&(e.metaKey||e.ctrlKey||i.startselected||(s._removeClass(i.$element,"ui-selected"),i.selected=!1,s._addClass(i.$element,"ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",e,{unselecting:i.element})))))}),!1}},_mouseStop:function(e){var i=this;return this.dragged=!1,t(".ui-unselecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");i._removeClass(s.$element,"ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",e,{unselected:s.element})}),t(".ui-selecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");i._removeClass(s.$element,"ui-selecting")._addClass(s.$element,"ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",e,{selected:s.element})}),this._trigger("stop",e),this.helper.remove(),!1}}),t.widget("ui.sortable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(t,e,i){return t>=e&&e+i>t},_isFloating:function(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))},_create:function(){this.containerCache={},this._addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(t,e){this._super(t,e),"handle"===t&&this._setHandleClassName()},_setHandleClassName:function(){var e=this;this._removeClass(this.element.find(".ui-sortable-handle"),"ui-sortable-handle"),t.each(this.items,function(){e._addClass(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item,"ui-sortable-handle")})},_destroy:function(){this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(e,i){var s=null,n=!1,o=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,o.widgetName+"-item")===o?(s=t(this),!1):void 0}),t.data(e.target,o.widgetName+"-item")===o&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,o,a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),a.containment&&this._setContainment(),a.cursor&&"auto"!==a.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",a.cursor),this.storedStylesheet=t("<style>*{ cursor: "+a.cursor+" !important; }</style>").appendTo(o)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,o,a=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY<a.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+a.scrollSpeed:e.pageY-this.overflowOffset.top<a.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-a.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-e.pageX<a.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+a.scrollSpeed:e.pageX-this.overflowOffset.left<a.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-a.scrollSpeed)):(e.pageY-this.document.scrollTop()<a.scrollSensitivity?r=this.document.scrollTop(this.document.scrollTop()-a.scrollSpeed):this.window.height()-(e.pageY-this.document.scrollTop())<a.scrollSensitivity&&(r=this.document.scrollTop(this.document.scrollTop()+a.scrollSpeed)),e.pageX-this.document.scrollLeft()<a.scrollSensitivity?r=this.document.scrollLeft(this.document.scrollLeft()-a.scrollSpeed):this.window.width()-(e.pageX-this.document.scrollLeft())<a.scrollSensitivity&&(r=this.document.scrollLeft(this.document.scrollLeft()+a.scrollSpeed))),r!==!1&&t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],o=this._intersectsWithPointer(s),o&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===o?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),o=this.options.axis,a={};o&&"x"!==o||(a.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(a.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(a,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp(new t.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,l=r+t.height,h=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+h>r&&l>s+h,d="y"===this.options.axis||e+c>o&&a>e+c,p=u&&d;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?p:e+this.helperProportions.width/2>o&&a>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&l>n-this.helperProportions.height/2},_intersectsWithPointer:function(t){var e,i,s="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top,t.height),n="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left,t.width),o=s&&n;return o?(e=this._getDragVerticalDirection(),i=this._getDragHorizontalDirection(),this.floating?"right"===i||"down"===e?2:1:e&&("down"===e?2:1)):!1},_intersectsWithSides:function(t){var e=this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),i=this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),s=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?"right"===n&&i||"left"===n&&!i:s&&("down"===s&&e||"up"===s&&!e)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){function i(){r.push(this)}var s,n,o,a,r=[],l=[],h=this._connectWith();if(h&&e)for(s=h.length-1;s>=0;s--)for(o=t(h[s],this.document[0]),n=o.length-1;n>=0;n--)a=t.data(o[n],this.widgetFullName),a&&a!==this&&!a.options.disabled&&l.push([t.isFunction(a.options.items)?a.options.items.call(a.element):t(a.options.items,a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),a]);for(l.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=l.length-1;s>=0;s--)l[s][0].each(i);return t(r)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,o,a,r,l,h,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i],this.document[0]),s=n.length-1;s>=0;s--)o=t.data(n[s],this.widgetFullName),o&&o!==this&&!o.options.disabled&&(u.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=u.length-1;i>=0;i--)for(a=u[i][1],r=u[i][0],s=0,h=r.length;h>s;s++)l=t(r[s]),l.data(this.widgetName+"-item",a),c.push({item:l,instance:a,width:0,height:0,left:0,top:0})},refreshPositions:function(e){this.floating=this.items.length?"x"===this.options.axis||this._isFloating(this.items[0].item):!1,this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,o;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),o=n.offset(),s.left=o.left,s.top=o.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]);return e._addClass(n,"ui-sortable-placeholder",i||e.currentItem[0].className)._removeClass(n,"ui-sortable-helper"),"tbody"===s?e._createTrPlaceholder(e.currentItem.find("tr").eq(0),t("<tr>",e.document[0]).appendTo(n)):"tr"===s?e._createTrPlaceholder(e.currentItem,n):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_createTrPlaceholder:function(e,i){var s=this;e.children().each(function(){t("<td>&#160;</td>",s.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(e){var i,s,n,o,a,r,l,h,c,u,d=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!t.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(d&&t.contains(this.containers[i].element[0],d.element[0]))continue;d=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",e,this._uiHash(this)),this.containers[i].containerCache.over=0);if(d)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",e,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,o=null,c=d.floating||this._isFloating(this.currentItem),a=c?"left":"top",r=c?"width":"height",u=c?"pageX":"pageY",s=this.items.length-1;s>=0;s--)t.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(l=this.items[s].item.offset()[a],h=!1,e[u]-l>this.items[s][r]/2&&(h=!0),n>Math.abs(e[u]-l)&&(n=Math.abs(e[u]-l),o=this.items[s],this.direction=h?"up":"down"));if(!o&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return this.currentContainer.containerCache.over||(this.containers[p]._trigger("over",e,this._uiHash()),this.currentContainer.containerCache.over=1),void 0;o?this._rearrange(e,o,null,!0):this._rearrange(e,null,this.containers[p].element,!0),this._trigger("change",e,this._uiHash()),this.containers[p]._trigger("change",e,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",e,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||t("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===n.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===n.containment?this.document.height()||document.body.parentNode.scrollHeight:this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden"!==t(e).css("overflow"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth"),10)||0)+(parseInt(t(e).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth"),10)||0)+(parseInt(t(e).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth"),10)||0)-(parseInt(t(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth"),10)||0)-(parseInt(t(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():o?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():o?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,o=e.pageX,a=e.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,l=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(e.pageX-this.offset.click.left<this.containment[0]&&(o=this.containment[0]+this.offset.click.left),e.pageY-this.offset.click.top<this.containment[1]&&(a=this.containment[1]+this.offset.click.top),e.pageX-this.offset.click.left>this.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(a=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((a-this.originalPageY)/n.grid[1])*n.grid[1],a=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((o-this.originalPageX)/n.grid[0])*n.grid[0],o=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:a-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():l?0:r.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():l?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){function i(t,e,i){return function(s){i._trigger(t,s,e._uiHash(e))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!e&&n.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||n.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(n.push(function(t){this._trigger("remove",t,this._uiHash())}),n.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)e||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!e){for(s=0;n.length>s;s++)n[s].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}}),t.widget("ui.accordion",{version:"1.12.1",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:"> li > :first-child, > :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),e.collapsible||e.active!==!1&&null!=e.active||(e.active=0),this._processPanels(),0>e.active&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t()}},_createIcons:function(){var e,i,s=this.options.icons;s&&(e=t("<span>"),this._addClass(e,"ui-accordion-header-icon","ui-icon "+s.header),e.prependTo(this.headers),i=this.active.children(".ui-accordion-header-icon"),this._removeClass(i,s.header)._addClass(i,null,s.activeHeader)._addClass(this.headers,"ui-accordion-icons"))
+},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){return"active"===t?(this._activate(e),void 0):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||this.options.active!==!1||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons()),void 0)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),o=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:o=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:o=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:o=this.headers[0];break;case i.END:o=this.headers[s-1]}o&&(t(e.target).attr("tabIndex",-1),t(o).attr("tabIndex",0),t(o).trigger("focus"),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().trigger("focus")},refresh:function(){var e=this.options;this._processPanels(),e.active===!1&&e.collapsible===!0||!this.headers.length?(e.active=!1,this.active=t()):e.active===!1?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var e,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var e=t(this),i=e.uniqueId().attr("id"),s=e.next(),n=s.uniqueId().attr("id");e.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(e=n.height(),this.element.siblings(":visible").each(function(){var i=t(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(e-=i.outerHeight(!0))}),this.headers.each(function(){e-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,e-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===s&&(e=0,this.headers.next().each(function(){var i=t(this).is(":visible");i||t(this).show(),e=Math.max(e,t(this).css("height","").height()),i||t(this).hide()}).height(e))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i,s,n=this.options,o=this.active,a=t(e.currentTarget),r=a[0]===o[0],l=r&&n.collapsible,h=l?t():a.next(),c=o.next(),u={oldHeader:o,oldPanel:c,newHeader:l?t():a,newPanel:h};e.preventDefault(),r&&!n.collapsible||this._trigger("beforeActivate",e,u)===!1||(n.active=l?!1:this.headers.index(a),this.active=r?t():a,this._toggle(u),this._removeClass(o,"ui-accordion-header-active","ui-state-active"),n.icons&&(i=o.children(".ui-accordion-header-icon"),this._removeClass(i,null,n.icons.activeHeader)._addClass(i,null,n.icons.header)),r||(this._removeClass(a,"ui-accordion-header-collapsed")._addClass(a,"ui-accordion-header-active","ui-state-active"),n.icons&&(s=a.children(".ui-accordion-header-icon"),this._removeClass(s,null,n.icons.header)._addClass(s,null,n.icons.activeHeader)),this._addClass(a.next(),"ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(t(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,e,i){var s,n,o,a=this,r=0,l=t.css("box-sizing"),h=t.length&&(!e.length||t.index()<e.index()),c=this.options.animate||{},u=h&&c.down||c,d=function(){a._toggleComplete(i)};return"number"==typeof u&&(o=u),"string"==typeof u&&(n=u),n=n||u.easing||c.easing,o=o||u.duration||c.duration,e.length?t.length?(s=t.show().outerHeight(),e.animate(this.hideProps,{duration:o,easing:n,step:function(t,e){e.now=Math.round(t)}}),t.hide().animate(this.showProps,{duration:o,easing:n,complete:d,step:function(t,i){i.now=Math.round(t),"height"!==i.prop?"content-box"===l&&(r+=i.now):"content"!==a.options.heightStyle&&(i.now=Math.round(s-e.outerHeight()-r),r=0)}}),void 0):e.animate(this.hideProps,o,n,d):t.animate(this.showProps,o,n,d)},_toggleComplete:function(t){var e=t.oldPanel,i=e.prev();this._removeClass(e,"ui-accordion-content-active"),this._removeClass(i,"ui-accordion-header-active")._addClass(i,"ui-accordion-header-collapsed"),e.length&&(e.parent()[0].className=e.parent()[0].className),this._trigger("activate",null,t)}}),t.widget("ui.menu",{version:"1.12.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&105>=e.keyCode?""+(e.keyCode-96):String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,l=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=l.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("<span>").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=l.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content")}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i)},_filterMenuItems:function(e){var i=e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return s.test(t.trim(t(this).children(".ui-menu-item-wrapper").text()))})}}),t.widget("ui.autocomplete",{version:"1.12.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0)}}),this._initSource(),this.menu=t("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("<div>").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):this._trigger("search",e)!==!1?this._search(t):void 0},_search:function(t){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var e=++this.requestIndex;return t.proxy(function(t){e===this.requestIndex&&this.__response(t),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")},this)},__response:function(t){t&&(t=this._normalize(t)),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))},_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(e){return e.length&&e[0].label&&e[0].value?e:t.map(e,function(e){return"string"==typeof e?{label:e,value:e}:t.extend({},e,{label:e.label||e.value,value:e.value||e.label})})},_suggest:function(e){var i=this.menu.element.empty();this._renderMenu(i,e),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(t.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(e,i){var s=this;t.each(i,function(t,i){s._renderItemData(e,i)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e)},_renderItem:function(e,i){return t("<li>").append(t("<div>").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("<div>").text(i).appendTo(this.liveRegion))}}),t.ui.autocomplete;var d=/ui-corner-([a-z]){2,6}/g;t.widget("ui.controlgroup",{version:"1.12.1",defaultElement:"<div>",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var e=this,i=[];t.each(this.options.items,function(s,n){var o,a={};return n?"controlgroupLabel"===s?(o=e.element.find(n),o.each(function(){var e=t(this);e.children(".ui-controlgroup-label-contents").length||e.contents().wrapAll("<span class='ui-controlgroup-label-contents'></span>")}),e._addClass(o,null,"ui-widget ui-widget-content ui-state-default"),i=i.concat(o.get()),void 0):(t.fn[s]&&(a=e["_"+s+"Options"]?e["_"+s+"Options"]("middle"):{classes:{}},e.element.find(n).each(function(){var n=t(this),o=n[s]("instance"),r=t.widget.extend({},a);if("button"!==s||!n.parent(".ui-spinner").length){o||(o=n[s]()[s]("instance")),o&&(r.classes=e._resolveClassesValues(r.classes,o)),n[s](r);var l=n[s]("widget");t.data(l[0],"ui-controlgroup-data",o?o:n[s]("instance")),i.push(l[0])}})),void 0):void 0}),this.childWidgets=t(t.unique(i)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(e){this.childWidgets.each(function(){var i=t(this),s=i.data("ui-controlgroup-data");s&&s[e]&&s[e]()})},_updateCornerClass:function(t,e){var i="ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all",s=this._buildSimpleOptions(e,"label").classes.label;this._removeClass(t,null,i),this._addClass(t,null,s)},_buildSimpleOptions:function(t,e){var i="vertical"===this.options.direction,s={classes:{}};return s.classes[e]={middle:"",first:"ui-corner-"+(i?"top":"left"),last:"ui-corner-"+(i?"bottom":"right"),only:"ui-corner-all"}[t],s},_spinnerOptions:function(t){var e=this._buildSimpleOptions(t,"ui-spinner");return e.classes["ui-spinner-up"]="",e.classes["ui-spinner-down"]="",e},_buttonOptions:function(t){return this._buildSimpleOptions(t,"ui-button")},_checkboxradioOptions:function(t){return this._buildSimpleOptions(t,"ui-checkboxradio-label")},_selectmenuOptions:function(t){var e="vertical"===this.options.direction;return{width:e?"auto":!1,classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(e?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(e?"top":"left")},last:{"ui-selectmenu-button-open":e?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(e?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[t]}},_resolveClassesValues:function(e,i){var s={};return t.each(e,function(n){var o=i.options.classes[n]||"";o=t.trim(o.replace(d,"")),s[n]=(o+" "+e[n]).replace(/\s+/g," ")}),s},_setOption:function(t,e){return"direction"===t&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(t,e),"disabled"===t?(this._callChildMethod(e?"disable":"enable"),void 0):(this.refresh(),void 0)},refresh:function(){var e,i=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),e=this.childWidgets,this.options.onlyVisible&&(e=e.filter(":visible")),e.length&&(t.each(["first","last"],function(t,s){var n=e[s]().data("ui-controlgroup-data");if(n&&i["_"+n.widgetName+"Options"]){var o=i["_"+n.widgetName+"Options"](1===e.length?"only":s);o.classes=i._resolveClassesValues(o.classes,n),n.element[n.widgetName](o)}else i._updateCornerClass(e[s](),s)}),this._callChildMethod("refresh"))}}),t.widget("ui.checkboxradio",[t.ui.formResetMixin,{version:"1.12.1",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var e,i,s=this,n=this._super()||{};return this._readType(),i=this.element.labels(),this.label=t(i[i.length-1]),this.label.length||t.error("No label found for checkboxradio widget"),this.originalLabel="",this.label.contents().not(this.element[0]).each(function(){s.originalLabel+=3===this.nodeType?t(this).text():this.outerHTML}),this.originalLabel&&(n.label=this.originalLabel),e=this.element[0].disabled,null!=e&&(n.disabled=e),n},_create:function(){var t=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),t&&(this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this.icon&&this._addClass(this.icon,null,"ui-state-hover")),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var e=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===e&&/radio|checkbox/.test(this.type)||t.error("Can't create checkboxradio on element.nodeName="+e+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var e,i=this.element[0].name,s="input[name='"+t.ui.escapeSelector(i)+"']";return i?(e=this.form.length?t(this.form[0].elements).filter(s):t(s).filter(function(){return 0===t(this).form().length}),e.not(this.element)):t([])},_toggleClasses:function(){var e=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",e),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",e)._toggleClass(this.icon,null,"ui-icon-blank",!e),"radio"===this.type&&this._getRadioGroup().each(function(){var e=t(this).checkboxradio("instance");e&&e._removeClass(e.label,"ui-checkboxradio-checked","ui-state-active")})},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(t,e){return"label"!==t||e?(this._super(t,e),"disabled"===t?(this._toggleClass(this.label,null,"ui-state-disabled",e),this.element[0].disabled=e,void 0):(this.refresh(),void 0)):void 0},_updateIcon:function(e){var i="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=t("<span>"),this.iconSpace=t("<span> </span>"),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(i+=e?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,e?"ui-icon-blank":"ui-icon-check")):i+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",i),e||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)
+},_updateLabel:function(){var t=this.label.contents().not(this.element[0]);this.icon&&(t=t.not(this.icon[0])),this.iconSpace&&(t=t.not(this.iconSpace[0])),t.remove(),this.label.append(this.options.label)},refresh:function(){var t=this.element[0].checked,e=this.element[0].disabled;this._updateIcon(t),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",t),null!==this.options.label&&this._updateLabel(),e!==this.options.disabled&&this._setOptions({disabled:e})}}]),t.ui.checkboxradio,t.widget("ui.button",{version:"1.12.1",defaultElement:"<button>",options:{classes:{"ui-button":"ui-corner-all"},disabled:null,icon:null,iconPosition:"beginning",label:null,showLabel:!0},_getCreateOptions:function(){var t,e=this._super()||{};return this.isInput=this.element.is("input"),t=this.element[0].disabled,null!=t&&(e.disabled=t),this.originalLabel=this.isInput?this.element.val():this.element.html(),this.originalLabel&&(e.label=this.originalLabel),e},_create:function(){!this.option.showLabel&!this.options.icon&&(this.options.showLabel=!0),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled||!1),this.hasTitle=!!this.element.attr("title"),this.options.label&&this.options.label!==this.originalLabel&&(this.isInput?this.element.val(this.options.label):this.element.html(this.options.label)),this._addClass("ui-button","ui-widget"),this._setOption("disabled",this.options.disabled),this._enhance(),this.element.is("a")&&this._on({keyup:function(e){e.keyCode===t.ui.keyCode.SPACE&&(e.preventDefault(),this.element[0].click?this.element[0].click():this.element.trigger("click"))}})},_enhance:function(){this.element.is("button")||this.element.attr("role","button"),this.options.icon&&(this._updateIcon("icon",this.options.icon),this._updateTooltip())},_updateTooltip:function(){this.title=this.element.attr("title"),this.options.showLabel||this.title||this.element.attr("title",this.options.label)},_updateIcon:function(e,i){var s="iconPosition"!==e,n=s?this.options.iconPosition:i,o="top"===n||"bottom"===n;this.icon?s&&this._removeClass(this.icon,null,this.options.icon):(this.icon=t("<span>"),this._addClass(this.icon,"ui-button-icon","ui-icon"),this.options.showLabel||this._addClass("ui-button-icon-only")),s&&this._addClass(this.icon,null,i),this._attachIcon(n),o?(this._addClass(this.icon,null,"ui-widget-icon-block"),this.iconSpace&&this.iconSpace.remove()):(this.iconSpace||(this.iconSpace=t("<span> </span>"),this._addClass(this.iconSpace,"ui-button-icon-space")),this._removeClass(this.icon,null,"ui-wiget-icon-block"),this._attachIconSpace(n))},_destroy:function(){this.element.removeAttr("role"),this.icon&&this.icon.remove(),this.iconSpace&&this.iconSpace.remove(),this.hasTitle||this.element.removeAttr("title")},_attachIconSpace:function(t){this.icon[/^(?:end|bottom)/.test(t)?"before":"after"](this.iconSpace)},_attachIcon:function(t){this.element[/^(?:end|bottom)/.test(t)?"append":"prepend"](this.icon)},_setOptions:function(t){var e=void 0===t.showLabel?this.options.showLabel:t.showLabel,i=void 0===t.icon?this.options.icon:t.icon;e||i||(t.showLabel=!0),this._super(t)},_setOption:function(t,e){"icon"===t&&(e?this._updateIcon(t,e):this.icon&&(this.icon.remove(),this.iconSpace&&this.iconSpace.remove())),"iconPosition"===t&&this._updateIcon(t,e),"showLabel"===t&&(this._toggleClass("ui-button-icon-only",null,!e),this._updateTooltip()),"label"===t&&(this.isInput?this.element.val(e):(this.element.html(e),this.icon&&(this._attachIcon(this.options.iconPosition),this._attachIconSpace(this.options.iconPosition)))),this._super(t,e),"disabled"===t&&(this._toggleClass(null,"ui-state-disabled",e),this.element[0].disabled=e,e&&this.element.blur())},refresh:function(){var t=this.element.is("input, button")?this.element[0].disabled:this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOptions({disabled:t}),this._updateTooltip()}}),t.uiBackCompat!==!1&&(t.widget("ui.button",t.ui.button,{options:{text:!0,icons:{primary:null,secondary:null}},_create:function(){this.options.showLabel&&!this.options.text&&(this.options.showLabel=this.options.text),!this.options.showLabel&&this.options.text&&(this.options.text=this.options.showLabel),this.options.icon||!this.options.icons.primary&&!this.options.icons.secondary?this.options.icon&&(this.options.icons.primary=this.options.icon):this.options.icons.primary?this.options.icon=this.options.icons.primary:(this.options.icon=this.options.icons.secondary,this.options.iconPosition="end"),this._super()},_setOption:function(t,e){return"text"===t?(this._super("showLabel",e),void 0):("showLabel"===t&&(this.options.text=e),"icon"===t&&(this.options.icons.primary=e),"icons"===t&&(e.primary?(this._super("icon",e.primary),this._super("iconPosition","beginning")):e.secondary&&(this._super("icon",e.secondary),this._super("iconPosition","end"))),this._superApply(arguments),void 0)}}),t.fn.button=function(e){return function(){return!this.length||this.length&&"INPUT"!==this[0].tagName||this.length&&"INPUT"===this[0].tagName&&"checkbox"!==this.attr("type")&&"radio"!==this.attr("type")?e.apply(this,arguments):(t.ui.checkboxradio||t.error("Checkboxradio widget missing"),0===arguments.length?this.checkboxradio({icon:!1}):this.checkboxradio.apply(this,arguments))}}(t.fn.button),t.fn.buttonset=function(){return t.ui.controlgroup||t.error("Controlgroup widget missing"),"option"===arguments[0]&&"items"===arguments[1]&&arguments[2]?this.controlgroup.apply(this,[arguments[0],"items.button",arguments[2]]):"option"===arguments[0]&&"items"===arguments[1]?this.controlgroup.apply(this,[arguments[0],"items.button"]):("object"==typeof arguments[0]&&arguments[0].items&&(arguments[0].items={button:arguments[0].items}),this.controlgroup.apply(this,arguments))}),t.ui.button,t.extend(t.ui,{datepicker:{version:"1.12.1"}});var p;t.extend(s.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return a(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var s,n,o;s=e.nodeName.toLowerCase(),n="div"===s||"span"===s,e.id||(this.uuid+=1,e.id="dp"+this.uuid),o=this._newInst(t(e),n),o.settings=t.extend({},i||{}),"input"===s?this._connectDatepicker(e,o):n&&this._inlineDatepicker(e,o)},_newInst:function(e,i){var s=e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:s,input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?n(t("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(e,i){var s=t(e);i.append=t([]),i.trigger=t([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).on("keydown",this._doKeyDown).on("keypress",this._doKeyPress).on("keyup",this._doKeyUp),this._autoSize(i),t.data(e,"datepicker",i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var s,n,o,a=this._get(i,"appendText"),r=this._get(i,"isRTL");i.append&&i.append.remove(),a&&(i.append=t("<span class='"+this._appendClass+"'>"+a+"</span>"),e[r?"before":"after"](i.append)),e.off("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&e.on("focus",this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),o=this._get(i,"buttonImage"),i.trigger=t(this._get(i,"buttonImageOnly")?t("<img/>").addClass(this._triggerClass).attr({src:o,alt:n,title:n}):t("<button type='button'></button>").addClass(this._triggerClass).html(o?t("<img/>").attr({src:o,alt:n,title:n}):n)),e[r?"before":"after"](i.trigger),i.trigger.on("click",function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,o=new Date(2009,11,20),a=this._get(t,"dateFormat");a.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},o.setMonth(e(this._get(t,a.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,a.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,n,o){var r,l,h,c,u,d=this._dialogInst;return d||(this.uuid+=1,r="dp"+this.uuid,this._dialogInput=t("<input type='text' id='"+r+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.on("keydown",this._doKeyDown),t("body").append(this._dialogInput),d=this._dialogInst=this._newInst(this._dialogInput,!1),d.settings={},t.data(this._dialogInput[0],"datepicker",d)),a(d.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(d,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(l=document.documentElement.clientWidth,h=document.documentElement.clientHeight,c=document.documentElement.scrollLeft||document.body.scrollLeft,u=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[l/2-100+c,h/2-150+u]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),d.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],"datepicker",d),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,"datepicker");s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty(),p===n&&(p=null))},_enableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,o.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,o.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,"datepicker")}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(e,i,s){var n,o,r,l,h=this._getInst(e);return 2===arguments.length&&"string"==typeof i?"defaults"===i?t.extend({},t.datepicker._defaults):h?"all"===i?t.extend({},h.settings):this._get(h,i):null:(n=i||{},"string"==typeof i&&(n={},n[i]=s),h&&(this._curInst===h&&this._hideDatepicker(),o=this._getDateDatepicker(e,!0),r=this._getMinMaxDate(h,"min"),l=this._getMinMaxDate(h,"max"),a(h.settings,n),null!==r&&void 0!==n.dateFormat&&void 0===n.minDate&&(h.settings.minDate=this._formatDate(h,r)),null!==l&&void 0!==n.dateFormat&&void 0===n.maxDate&&(h.settings.maxDate=this._formatDate(h,l)),"disabled"in n&&(n.disabled?this._disableDatepicker(e):this._enableDatepicker(e)),this._attachments(t(e),h),this._autoSize(h),this._setDate(h,o),this._updateAlternate(h),this._updateDatepicker(h)),void 0)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,o=t.datepicker._getInst(e.target),a=!0,r=o.dpDiv.is(".ui-datepicker-rtl");if(o._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),a=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",o.dpDiv),n[0]&&t.datepicker._selectDay(e.target,o.selectedMonth,o.selectedYear,n[0]),i=t.datepicker._get(o,"onSelect"),i?(s=t.datepicker._formatDate(o),i.apply(o.input?o.input[0]:null,[s,o])):t.datepicker._hideDatepicker(),!1;case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),a=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),a=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?1:-1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),a=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?-1:1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),a=e.ctrlKey||e.metaKey;break;default:a=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):a=!1;a&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(e){var i,s,n=t.datepicker._getInst(e.target);return t.datepicker._get(n,"constrainInput")?(i=t.datepicker._possibleChars(t.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),e.ctrlKey||e.metaKey||" ">s||!i||i.indexOf(s)>-1):void 0},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(e){if(e=e.target||e,"input"!==e.nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),!t.datepicker._isDisabledDatepicker(e)&&t.datepicker._lastInput!==e){var s,n,o,r,l,h,c;s=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==s&&(t.datepicker._curInst.dpDiv.stop(!0,!0),s&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),n=t.datepicker._get(s,"beforeShow"),o=n?n.apply(e,[e,s]):{},o!==!1&&(a(s.settings,o),s.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(s),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),r=!1,t(e).parents().each(function(){return r|="fixed"===t(this).css("position"),!r}),l={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,s.dpDiv.empty(),s.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(s),l=t.datepicker._checkOffset(s,l,r),s.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":r?"fixed":"absolute",display:"none",left:l.left+"px",top:l.top+"px"}),s.inline||(h=t.datepicker._get(s,"showAnim"),c=t.datepicker._get(s,"duration"),s.dpDiv.css("z-index",i(t(e))+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[h]?s.dpDiv.show(h,t.datepicker._get(s,"showOptions"),c):s.dpDiv[h||"show"](h?c:null),t.datepicker._shouldFocusInput(s)&&s.input.trigger("focus"),t.datepicker._curInst=s))}},_updateDatepicker:function(e){this.maxRows=4,p=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var i,s=this._getNumberOfMonths(e),n=s[1],a=17,r=e.dpDiv.find("."+this._dayOverClass+" a");r.length>0&&o.apply(r.get(0)),e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",a*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.trigger("focus"),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),o=e.dpDiv.outerHeight(),a=e.input?e.input.outerWidth():0,r=e.input?e.input.outerHeight():0,l=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),h=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-a:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+r?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>l&&l>n?Math.abs(i.left+n-l):0),i.top-=Math.min(i.top,i.top+o>h&&h>o?Math.abs(o+r):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,o,a=this._curInst;!a||e&&a!==t.data(e,"datepicker")||this._datepickerShowing&&(i=this._get(a,"showAnim"),s=this._get(a,"duration"),n=function(){t.datepicker._tidyDialog(a)},t.effects&&(t.effects.effect[i]||t.effects[i])?a.dpDiv.hide(i,t.datepicker._get(a,"showOptions"),s,n):a.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,o=this._get(a,"onClose"),o&&o.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),o=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(o,i+("M"===s?this._get(o,"showCurrentAtPos"):0),s),this._updateDatepicker(o))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),o=this._getInst(n[0]);o["selected"+("M"===s?"Month":"Year")]=o["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(o),this._adjustDate(n)},_selectDay:function(e,i,s,n){var o,a=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(a[0])||(o=this._getInst(a[0]),o.selectedDay=o.currentDay=t("a",n).html(),o.selectedMonth=o.currentMonth=i,o.selectedYear=o.currentYear=s,this._selectDate(e,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),o=this._getInst(n[0]);i=null!=i?i:this._formatDate(o),o.input&&o.input.val(i),this._updateAlternate(o),s=this._get(o,"onSelect"),s?s.apply(o.input?o.input[0]:null,[i,o]):o.input&&o.input.trigger("change"),o.inline?this._updateDatepicker(o):(this._hideDatepicker(),this._lastInput=o.input[0],"object"!=typeof o.input[0]&&o.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,o=this._get(e,"altField");o&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(o).val(n))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(e,i,s){if(null==e||null==i)throw"Invalid arguments";if(i="object"==typeof i?""+i:i+"",""===i)return null;var n,o,a,r,l=0,h=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,c="string"!=typeof h?h:(new Date).getFullYear()%100+parseInt(h,10),u=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,d=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,g=-1,m=-1,_=-1,v=-1,b=!1,y=function(t){var i=e.length>n+1&&e.charAt(n+1)===t;return i&&n++,i},w=function(t){var e=y(t),s="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n="y"===t?s:1,o=RegExp("^\\d{"+n+","+s+"}"),a=i.substring(l).match(o);if(!a)throw"Missing number at position "+l;return l+=a[0].length,parseInt(a[0],10)},k=function(e,s,n){var o=-1,a=t.map(y(e)?n:s,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(a,function(t,e){var s=e[1];return i.substr(l,s.length).toLowerCase()===s.toLowerCase()?(o=e[0],l+=s.length,!1):void 0}),-1!==o)return o+1;throw"Unknown name at position "+l},x=function(){if(i.charAt(l)!==e.charAt(n))throw"Unexpected literal at position "+l;l++};for(n=0;e.length>n;n++)if(b)"'"!==e.charAt(n)||y("'")?x():b=!1;else switch(e.charAt(n)){case"d":_=w("d");break;case"D":k("D",u,d);break;case"o":v=w("o");break;case"m":m=w("m");break;case"M":m=k("M",p,f);break;case"y":g=w("y");break;case"@":r=new Date(w("@")),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"!":r=new Date((w("!")-this._ticksTo1970)/1e4),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"'":y("'")?x():b=!0;break;default:x()}if(i.length>l&&(a=i.substr(l),!/^\s+/.test(a)))throw"Extra/unparsed characters found in date: "+a;if(-1===g?g=(new Date).getFullYear():100>g&&(g+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c>=g?0:-100)),v>-1)for(m=1,_=v;;){if(o=this._getDaysInMonth(g,m-1),o>=_)break;m++,_-=o}if(r=this._daylightSavingAdjust(new Date(g,m-1,_)),r.getFullYear()!==g||r.getMonth()+1!==m||r.getDate()!==_)throw"Invalid date";return r},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,o=(i?i.dayNames:null)||this._defaults.dayNames,a=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,l=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},h=function(t,e,i){var s=""+e;if(l(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return l(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||l("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=h("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,o);break;case"o":u+=h("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=h("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),a,r);break;case"y":u+=l("y")?e.getFullYear():(10>e.getFullYear()%100?"0":"")+e.getFullYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":l("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,e){return void 0!==t.settings[e]?t.settings[e]:this._defaults[e]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),o=n,a=this._getFormatConfig(t);try{o=this.parseDate(i,s,a)||n}catch(r){s=e?"":s}t.selectedDay=o.getDate(),t.drawMonth=t.selectedMonth=o.getMonth(),t.drawYear=t.selectedYear=o.getFullYear(),t.currentDay=s?o.getDate():0,t.currentMonth=s?o.getMonth():0,t.currentYear=s?o.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},o=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,o=n.getFullYear(),a=n.getMonth(),r=n.getDate(),l=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,h=l.exec(i);h;){switch(h[2]||"d"){case"d":case"D":r+=parseInt(h[1],10);break;case"w":case"W":r+=7*parseInt(h[1],10);break;case"m":case"M":a+=parseInt(h[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a));break;case"y":case"Y":o+=parseInt(h[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a))}h=l.exec(i)}return new Date(o,a,r)},a=null==i||""===i?s:"string"==typeof i?o(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return a=a&&"Invalid Date"==""+a?s:a,a&&(a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)),this._daylightSavingAdjust(a)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,o=t.selectedYear,a=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=a.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=a.getMonth(),t.drawYear=t.selectedYear=t.currentYear=a.getFullYear(),n===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).on(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,o,a,r,l,h,c,u,d,p,f,g,m,_,v,b,y,w,k,x,C,D,T,I,M,P,S,N,H,A,z,O,E,W,F,L,R=new Date,Y=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),B=this._get(t,"isRTL"),j=this._get(t,"showButtonPanel"),q=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),U=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),X=this._get(t,"stepMonths"),$=1!==U[0]||1!==U[1],G=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),J=this._getMinMaxDate(t,"min"),Q=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,te=t.drawYear;if(0>Z&&(Z+=12,te--),Q)for(e=this._daylightSavingAdjust(new Date(Q.getFullYear(),Q.getMonth()-U[0]*U[1]+1,Q.getDate())),e=J&&J>e?J:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-X,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(B?"e":"w")+"'>"+i+"</span></a>":q?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(B?"e":"w")+"'>"+i+"</span></a>",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+X,1)),this._getFormatConfig(t)):n,o=this._canAdjustMonth(t,1,te,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(B?"w":"e")+"'>"+n+"</span></a>":q?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(B?"w":"e")+"'>"+n+"</span></a>",a=this._get(t,"currentText"),r=this._get(t,"gotoCurrent")&&t.currentDay?G:Y,a=K?this.formatDate(a,r,this._getFormatConfig(t)):a,l=t.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(t,"closeText")+"</button>",h=j?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(B?l:"")+(this._isInRange(t,r)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+a+"</button>":"")+(B?"":l)+"</div>":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),g=this._get(t,"monthNamesShort"),m=this._get(t,"beforeShowDay"),_=this._get(t,"showOtherMonths"),v=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;U[0]>k;k++){for(x="",this.maxRows=4,C=0;U[1]>C;C++){if(D=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),T=" ui-corner-all",I="",$){if(I+="<div class='ui-datepicker-group",U[1]>1)switch(C){case 0:I+=" ui-datepicker-group-first",T=" ui-corner-"+(B?"right":"left");
+break;case U[1]-1:I+=" ui-datepicker-group-last",T=" ui-corner-"+(B?"left":"right");break;default:I+=" ui-datepicker-group-middle",T=""}I+="'>"}for(I+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+T+"'>"+(/all|left/.test(T)&&0===k?B?o:s:"")+(/all|right/.test(T)&&0===k?B?s:o:"")+this._generateMonthYearHeader(t,Z,te,J,Q,k>0||C>0,f,g)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",M=u?"<th class='ui-datepicker-week-col'>"+this._get(t,"weekHeader")+"</th>":"",w=0;7>w;w++)P=(w+c)%7,M+="<th scope='col'"+((w+c+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+d[P]+"'>"+p[P]+"</span></th>";for(I+=M+"</tr></thead><tbody>",S=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,S)),N=(this._getFirstDayOfMonth(te,Z)-c+7)%7,H=Math.ceil((N+S)/7),A=$?this.maxRows>H?this.maxRows:H:H,this.maxRows=A,z=this._daylightSavingAdjust(new Date(te,Z,1-N)),O=0;A>O;O++){for(I+="<tr>",E=u?"<td class='ui-datepicker-week-col'>"+this._get(t,"calculateWeek")(z)+"</td>":"",w=0;7>w;w++)W=m?m.apply(t.input?t.input[0]:null,[z]):[!0,""],F=z.getMonth()!==Z,L=F&&!v||!W[0]||J&&J>z||Q&&z>Q,E+="<td class='"+((w+c+6)%7>=5?" ui-datepicker-week-end":"")+(F?" ui-datepicker-other-month":"")+(z.getTime()===D.getTime()&&Z===t.selectedMonth&&t._keyEvent||b.getTime()===z.getTime()&&b.getTime()===D.getTime()?" "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" ui-state-disabled":"")+(F&&!_?"":" "+W[1]+(z.getTime()===G.getTime()?" "+this._currentClass:"")+(z.getTime()===Y.getTime()?" ui-datepicker-today":""))+"'"+(F&&!_||!W[2]?"":" title='"+W[2].replace(/'/g,"&#39;")+"'")+(L?"":" data-handler='selectDay' data-event='click' data-month='"+z.getMonth()+"' data-year='"+z.getFullYear()+"'")+">"+(F&&!_?"&#xa0;":L?"<span class='ui-state-default'>"+z.getDate()+"</span>":"<a class='ui-state-default"+(z.getTime()===Y.getTime()?" ui-state-highlight":"")+(z.getTime()===G.getTime()?" ui-state-active":"")+(F?" ui-priority-secondary":"")+"' href='#'>"+z.getDate()+"</a>")+"</td>",z.setDate(z.getDate()+1),z=this._daylightSavingAdjust(z);I+=E+"</tr>"}Z++,Z>11&&(Z=0,te++),I+="</tbody></table>"+($?"</div>"+(U[0]>0&&C===U[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),x+=I}y+=x}return y+=h,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,o,a,r){var l,h,c,u,d,p,f,g,m=this._get(t,"changeMonth"),_=this._get(t,"changeYear"),v=this._get(t,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",y="";if(o||!m)y+="<span class='ui-datepicker-month'>"+a[e]+"</span>";else{for(l=s&&s.getFullYear()===i,h=n&&n.getFullYear()===i,y+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",c=0;12>c;c++)(!l||c>=s.getMonth())&&(!h||n.getMonth()>=c)&&(y+="<option value='"+c+"'"+(c===e?" selected='selected'":"")+">"+r[c]+"</option>");y+="</select>"}if(v||(b+=y+(!o&&m&&_?"":"&#xa0;")),!t.yearshtml)if(t.yearshtml="",o||!_)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e},f=p(u[0]),g=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,g=n?Math.min(g,n.getFullYear()):g,t.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";g>=f;f++)t.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";t.yearshtml+="</select>",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),v&&(b+=(!o&&m&&_?"":"&#xa0;")+y),b+="</div>"},_adjustInstDate:function(t,e,i){var s=t.selectedYear+("Y"===i?e:0),n=t.selectedMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),a=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,o)));t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),a=null,r=null,l=this._get(t,"yearRange");return l&&(i=l.split(":"),s=(new Date).getFullYear(),a=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(a+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||e.getTime()>=n.getTime())&&(!o||e.getTime()<=o.getTime())&&(!a||e.getFullYear()>=a)&&(!r||r>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new s,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.12.1",t.datepicker,t.widget("ui.dialog",{version:"1.12.1",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;0>i&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),t=e.parent.children().eq(e.index),t.length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog},disable:t.noop,enable:t.noop,close:function(e){var i=this;this._isOpen&&this._trigger("beforeClose",e)!==!1&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||t.ui.safeBlur(t.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",e)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(e,i){var s=!1,n=this.uiDialog.siblings(".ui-front:visible").map(function(){return+t(this).css("z-index")}).get(),o=Math.max.apply(null,n);return o>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",o+1),s=!0),s&&!i&&this._trigger("focus",e),s},open:function(){var e=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),void 0):(this._isOpen=!0,this.opener=t(t.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"),void 0)},_focusTabbable:function(){var t=this._focusedElement;t||(t=this.element.find("[autofocus]")),t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).trigger("focus")},_keepFocus:function(e){function i(){var e=t.ui.safeActiveElement(this.document[0]),i=this.uiDialog[0]===e||t.contains(this.uiDialog[0],e);i||this._focusTabbable()}e.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=t("<div>").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),this.close(e),void 0;if(e.keyCode===t.ui.keyCode.TAB&&!e.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");e.target!==n[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==s[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(this._delay(function(){n.trigger("focus")}),e.preventDefault()):(this._delay(function(){s.trigger("focus")}),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("<div>"),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=t("<button type='button'></button>").button({label:t("<a>").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("<span>").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(e,"ui-dialog-title"),this._title(e),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title?t.text(this.options.title):t.html("&#160;")},_createButtonPane:function(){this.uiDialogButtonPane=t("<div>"),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("<div>").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||t.isArray(i)&&!i.length?(this._removeClass(this.uiDialog,"ui-dialog-buttons"),void 0):(t.each(i,function(i,s){var n,o;s=t.isFunction(s)?{click:s,text:i}:s,s=t.extend({type:"button"},s),n=s.click,o={icon:s.icon,iconPosition:s.iconPosition,showLabel:s.showLabel,icons:s.icons,text:s.text},delete s.click,delete s.icon,delete s.iconPosition,delete s.showLabel,delete s.icons,"boolean"==typeof s.text&&delete s.text,t("<button></button>",s).button(o).appendTo(e.uiButtonSet).on("click",function(){n.apply(e.element[0],arguments)})}),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),void 0)},_makeDraggable:function(){function e(t){return{position:t.position,offset:t.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){i._addClass(t(this),"ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,e(n))},drag:function(t,s){i._trigger("drag",t,e(s))},stop:function(n,o){var a=o.offset.left-i.document.scrollLeft(),r=o.offset.top-i.document.scrollTop();s.position={my:"left top",at:"left"+(a>=0?"+":"")+a+" "+"top"+(r>=0?"+":"")+r,of:i.window},i._removeClass(t(this),"ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,e(o))}})},_makeResizable:function(){function e(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}var i=this,s=this.options,n=s.resizable,o=this.uiDialog.css("position"),a="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:a,start:function(s,n){i._addClass(t(this),"ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,e(n))},resize:function(t,s){i._trigger("resize",t,e(s))},stop:function(n,o){var a=i.uiDialog.offset(),r=a.left-i.document.scrollLeft(),l=a.top-i.document.scrollTop();s.height=i.uiDialog.height(),s.width=i.uiDialog.width(),s.position={my:"left top",at:"left"+(r>=0?"+":"")+r+" "+"top"+(l>=0?"+":"")+l,of:i.window},i._removeClass(t(this),"ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,e(o))}}).css("position",o)},_trackFocus:function(){this._on(this.widget(),{focusin:function(e){this._makeFocusTarget(),this._focusedElement=t(e.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var e=this._trackingInstances(),i=t.inArray(this,e);-1!==i&&e.splice(i,1)},_trackingInstances:function(){var t=this.document.data("ui-dialog-instances");return t||(t=[],this.document.data("ui-dialog-instances",t)),t},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(e){var i=this,s=!1,n={};t.each(e,function(t,e){i._setOption(t,e),t in i.sizeRelatedOptions&&(s=!0),t in i.resizableRelatedOptions&&(n[t]=e)}),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(e,i){var s,n,o=this.uiDialog;"disabled"!==e&&(this._super(e,i),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:t("<a>").text(""+this.options.closeText).html()}),"draggable"===e&&(s=o.is(":data(ui-draggable)"),s&&!i&&o.draggable("destroy"),!s&&i&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&(n=o.is(":data(ui-resizable)"),n&&!i&&o.resizable("destroy"),n&&"string"==typeof i&&o.resizable("option","handles",i),n||i===!1||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),e=Math.max(0,s.minHeight-t),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=t(this);return t("<div>").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return t(e.target).closest(".ui-dialog").length?!0:!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=!0;this._delay(function(){e=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(t){e||this._allowInteraction(t)||(t.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=t("<div>").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var t=this.document.data("ui-dialog-overlays")-1;t?this.document.data("ui-dialog-overlays",t):(this._off(this.document,"focusin"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null}}}),t.uiBackCompat!==!1&&t.widget("ui.dialog",t.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(t,e){"dialogClass"===t&&this.uiDialog.removeClass(this.options.dialogClass).addClass(e),this._superApply(arguments)}}),t.ui.dialog,t.widget("ui.progressbar",{version:"1.12.1",options:{classes:{"ui-progressbar":"ui-corner-all","ui-progressbar-value":"ui-corner-left","ui-progressbar-complete":"ui-corner-right"},max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.attr({role:"progressbar","aria-valuemin":this.min}),this._addClass("ui-progressbar","ui-widget ui-widget-content"),this.valueDiv=t("<div>").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(t){return void 0===t?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),void 0)},_constrainedValue:function(t){return void 0===t&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).width(i.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,e===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("<div>").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}}),t.widget("ui.selectmenu",[t.ui.formResetMixin,{version:"1.12.1",defaultElement:"<select>",options:{appendTo:null,classes:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"},disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:!1,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr("id");this.ids={element:e,button:e+"-button",menu:e+"-menu"},this._drawButton(),this._drawMenu(),this._bindFormResetHandler(),this._rendered=!1,this.menuItems=t()},_drawButton:function(){var e,i=this,s=this._parseOption(this.element.find("option:selected"),this.element[0].selectedIndex);this.labels=this.element.labels().attr("for",this.ids.button),this._on(this.labels,{click:function(t){this.button.focus(),t.preventDefault()}}),this.element.hide(),this.button=t("<span>",{tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true",title:this.element.attr("title")}).insertAfter(this.element),this._addClass(this.button,"ui-selectmenu-button ui-selectmenu-button-closed","ui-button ui-widget"),e=t("<span>").appendTo(this.button),this._addClass(e,"ui-selectmenu-icon","ui-icon "+this.options.icons.button),this.buttonItem=this._renderButtonItem(s).appendTo(this.button),this.options.width!==!1&&this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){i._rendered||i._refreshMenu()})},_drawMenu:function(){var e=this;this.menu=t("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=t("<div>").append(this.menu),this._addClass(this.menuWrap,"ui-selectmenu-menu","ui-front"),this.menuWrap.appendTo(this._appendTo()),this.menuInstance=this.menu.menu({classes:{"ui-menu":"ui-corner-bottom"},role:"listbox",select:function(t,i){t.preventDefault(),e._setSelection(),e._select(i.item.data("ui-selectmenu-item"),t)},focus:function(t,i){var s=i.item.data("ui-selectmenu-item");null!=e.focusIndex&&s.index!==e.focusIndex&&(e._trigger("focus",t,{item:s}),e.isOpen||e._select(s,t)),e.focusIndex=s.index,e.button.attr("aria-activedescendant",e.menuItems.eq(s.index).attr("id"))}}).menu("instance"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(this._getSelectedItem().data("ui-selectmenu-item")||{})),null===this.options.width&&this._resizeButton()},_refreshMenu:function(){var t,e=this.element.find("option");this.menu.empty(),this._parseOptions(e),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup").find(".ui-menu-item-wrapper"),this._rendered=!0,e.length&&(t=this._getSelectedItem(),this.menuInstance.focus(null,t),this._setAria(t.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(t){this.options.disabled||(this._rendered?(this._removeClass(this.menu.find(".ui-state-active"),null,"ui-state-active"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.menuItems.length&&(this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",t)))},_position:function(){this.menuWrap.position(t.extend({of:this.button},this.options.position))},close:function(t){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",t))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderButtonItem:function(e){var i=t("<span>");return this._setText(i,e.label),this._addClass(i,"ui-selectmenu-text"),i},_renderMenu:function(e,i){var s=this,n="";t.each(i,function(i,o){var a;o.optgroup!==n&&(a=t("<li>",{text:o.optgroup}),s._addClass(a,"ui-selectmenu-optgroup","ui-menu-divider"+(o.element.parent("optgroup").prop("disabled")?" ui-state-disabled":"")),a.appendTo(e),n=o.optgroup),s._renderItemData(e,o)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-selectmenu-item",e)},_renderItem:function(e,i){var s=t("<li>"),n=t("<div>",{title:i.element.attr("title")});return i.disabled&&this._addClass(s,null,"ui-state-disabled"),this._setText(n,i.label),s.append(n).appendTo(e)},_setText:function(t,e){e?t.text(e):t.html("&#160;")},_move:function(t,e){var i,s,n=".ui-menu-item";this.isOpen?i=this.menuItems.eq(this.focusIndex).parent("li"):(i=this.menuItems.eq(this.element[0].selectedIndex).parent("li"),n+=":not(.ui-state-disabled)"),s="first"===t||"last"===t?i["first"===t?"prevAll":"nextAll"](n).eq(-1):i[t+"All"](n).eq(0),s.length&&this.menuInstance.focus(e,s)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex).parent("li")},_toggle:function(t){this[this.isOpen?"close":"open"](t)},_setSelection:function(){var t;this.range&&(window.getSelection?(t=window.getSelection(),t.removeAllRanges(),t.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(e){this.isOpen&&(t(e.target).closest(".ui-selectmenu-menu, #"+t.ui.escapeSelector(this.ids.button)).length||this.close(e))}},_buttonEvents:{mousedown:function(){var t;window.getSelection?(t=window.getSelection(),t.rangeCount&&(this.range=t.getRangeAt(0))):this.range=document.selection.createRange()},click:function(t){this._setSelection(),this._toggle(t)},keydown:function(e){var i=!0;switch(e.keyCode){case t.ui.keyCode.TAB:case t.ui.keyCode.ESCAPE:this.close(e),i=!1;break;case t.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(e);break;case t.ui.keyCode.UP:e.altKey?this._toggle(e):this._move("prev",e);break;case t.ui.keyCode.DOWN:e.altKey?this._toggle(e):this._move("next",e);break;case t.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(e):this._toggle(e);break;case t.ui.keyCode.LEFT:this._move("prev",e);break;case t.ui.keyCode.RIGHT:this._move("next",e);break;case t.ui.keyCode.HOME:case t.ui.keyCode.PAGE_UP:this._move("first",e);break;case t.ui.keyCode.END:case t.ui.keyCode.PAGE_DOWN:this._move("last",e);break;default:this.menu.trigger(e),i=!1}i&&e.preventDefault()}},_selectFocusedItem:function(t){var e=this.menuItems.eq(this.focusIndex).parent("li");e.hasClass("ui-state-disabled")||this._select(e.data("ui-selectmenu-item"),t)},_select:function(t,e){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=t.index,this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(t)),this._setAria(t),this._trigger("select",e,{item:t}),t.index!==i&&this._trigger("change",e,{item:t}),this.close(e)},_setAria:function(t){var e=this.menuItems.eq(t.index).attr("id");this.button.attr({"aria-labelledby":e,"aria-activedescendant":e}),this.menu.attr("aria-activedescendant",e)},_setOption:function(t,e){if("icons"===t){var i=this.button.find("span.ui-icon");this._removeClass(i,null,this.options.icons.button)._addClass(i,null,e.button)}this._super(t,e),"appendTo"===t&&this.menuWrap.appendTo(this._appendTo()),"width"===t&&this._resizeButton()},_setOptionDisabled:function(t){this._super(t),this.menuInstance.option("disabled",t),this.button.attr("aria-disabled",t),this._toggleClass(this.button,null,"ui-state-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_toggleAttr:function(){this.button.attr("aria-expanded",this.isOpen),this._removeClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"closed":"open"))._addClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"open":"closed"))._toggleClass(this.menuWrap,"ui-selectmenu-open",null,this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var t=this.options.width;return t===!1?(this.button.css("width",""),void 0):(null===t&&(t=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(t),void 0)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){var t=this._super();return t.disabled=this.element.prop("disabled"),t},_parseOptions:function(e){var i=this,s=[];e.each(function(e,n){s.push(i._parseOption(t(n),e))}),this.items=s},_parseOption:function(t,e){var i=t.parent("optgroup");return{element:t,index:e,value:t.val(),label:t.text(),optgroup:i.attr("label")||"",disabled:i.prop("disabled")||t.prop("disabled")}},_destroy:function(){this._unbindFormResetHandler(),this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.labels.attr("for",this.ids.element)}}]),t.widget("ui.slider",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle"),o="<span tabindex='0'></span>",a=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)a.push(o);this.handles=n.add(t(a.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e).attr("tabIndex",0)})},_createRange:function(){var e=this.options;e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=t("<div>").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),("min"===e.range||"max"===e.range)&&this._addClass(this.range,"ui-slider-range-"+e.range)):(this.range&&this.range.remove(),this.range=null)
+},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,o,a,r,l,h,c=this,u=this.options;return u.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-c.values(e));(n>i||n===i&&(e===c._lastChangedValue||c.values(e)===u.min))&&(n=i,o=t(this),a=e)}),r=this._start(e,a),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=a,this._addClass(o,null,"ui-state-active"),o.trigger("focus"),l=o.offset(),h=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=h?{left:0,top:0}:{left:e.pageX-l.left-o.width()/2,top:e.pageY-l.top-o.height()/2-(parseInt(o.css("borderTopWidth"),10)||0)-(parseInt(o.css("borderBottomWidth"),10)||0)+(parseInt(o.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,a,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,o;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),o=this._valueMin()+s*n,this._trimAlignValue(o)},_uiHash:function(t,e,i){var s={handle:this.handles[t],handleIndex:t,value:void 0!==e?e:this.value()};return this._hasMultipleValues()&&(s.value=void 0!==e?e:this.values(t),s.values=i||this.values()),s},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(t,e){return this._trigger("start",t,this._uiHash(e))},_slide:function(t,e,i){var s,n,o=this.value(),a=this.values();this._hasMultipleValues()&&(n=this.values(e?0:1),o=this.values(e),2===this.options.values.length&&this.options.range===!0&&(i=0===e?Math.min(n,i):Math.max(n,i)),a[e]=i),i!==o&&(s=this._trigger("slide",t,this._uiHash(e,i,a)),s!==!1&&(this._hasMultipleValues()?this.values(e,i):this.value(i)))},_stop:function(t,e){this._trigger("stop",t,this._uiHash(e))},_change:function(t,e){this._keySliding||this._mouseSliding||(this._lastChangedValue=e,this._trigger("change",t,this._uiHash(e)))},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),void 0):this._value()},values:function(e,i){var s,n,o;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),void 0;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this._hasMultipleValues()?this._values(e):this.value();for(s=this.options.values,n=arguments[0],o=0;s.length>o;o+=1)s[o]=this._trimAlignValue(n[o]),this._change(null,o);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),this._super(e,i),e){case"orientation":this._detectOrientation(),this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-"+this.orientation),this._refreshValue(),this.options.range&&this._refreshRange(i),this.handles.css("horizontal"===i?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=n-1;s>=0;s--)this._change(null,s);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(t){this._super(t),this._toggleClass(null,"ui-state-disabled",!!t)},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this._hasMultipleValues()){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_calculateNewMax:function(){var t=this.options.max,e=this._valueMin(),i=this.options.step,s=Math.round((t-e)/i)*i;t=s+e,t>this.options.max&&(t-=i),this.max=parseFloat(t.toFixed(this._precision()))},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(t){"vertical"===t&&this.range.css({width:"",left:""}),"horizontal"===t&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var e,i,s,n,o,a=this.options.range,r=this.options,l=this,h=this._animateOff?!1:r.animate,c={};this._hasMultipleValues()?this.handles.each(function(s){i=100*((l.values(s)-l._valueMin())/(l._valueMax()-l._valueMin())),c["horizontal"===l.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[h?"animate":"css"](c,r.animate),l.options.range===!0&&("horizontal"===l.orientation?(0===s&&l.range.stop(1,1)[h?"animate":"css"]({left:i+"%"},r.animate),1===s&&l.range[h?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&l.range.stop(1,1)[h?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&l.range[h?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),o=this._valueMax(),i=o!==n?100*((s-n)/(o-n)):0,c["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[h?"animate":"css"](c,r.animate),"min"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({width:i+"%"},r.animate),"max"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({width:100-i+"%"},r.animate),"min"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({height:i+"%"},r.animate),"max"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({height:100-i+"%"},r.animate))},_handleEvents:{keydown:function(e){var i,s,n,o,a=t(e.target).data("ui-slider-handle-index");switch(e.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(e.preventDefault(),!this._keySliding&&(this._keySliding=!0,this._addClass(t(e.target),null,"ui-state-active"),i=this._start(e,a),i===!1))return}switch(o=this.options.step,s=n=this._hasMultipleValues()?this.values(a):this.value(),e.keyCode){case t.ui.keyCode.HOME:n=this._valueMin();break;case t.ui.keyCode.END:n=this._valueMax();break;case t.ui.keyCode.PAGE_UP:n=this._trimAlignValue(s+(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(s-(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(s===this._valueMax())return;n=this._trimAlignValue(s+o);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(s===this._valueMin())return;n=this._trimAlignValue(s-o)}this._slide(e,a,n)},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),this._removeClass(t(e.target),null,"ui-state-active"))}}}),t.widget("ui.spinner",{version:"1.12.1",defaultElement:"<input>",widgetEventPrefix:"spin",options:{classes:{"ui-spinner":"ui-corner-all","ui-spinner-down":"ui-corner-br","ui-spinner-up":"ui-corner-tr"},culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e=this._super(),i=this.element;return t.each(["min","max","step"],function(t,s){var n=i.attr(s);null!=n&&n.length&&(e[s]=n)}),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t),void 0)},mousewheel:function(t,e){if(e){if(!this.spinning&&!this._start(t))return!1;this._spin((e>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100),t.preventDefault()}},"mousedown .ui-spinner-button":function(e){function i(){var e=this.element[0]===t.ui.safeActiveElement(this.document[0]);e||(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===t.ui.safeActiveElement(this.document[0])?this.previous:this.element.val(),e.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(e)!==!1&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){return t(e.currentTarget).hasClass("ui-state-active")?this._start(e)===!1?!1:(this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap("<span>").parent().append("<a></a><a></a>")},_draw:function(){this._enhance(),this._addClass(this.uiSpinner,"ui-spinner","ui-widget ui-widget-content"),this._addClass("ui-spinner-input"),this.element.attr("role","spinbutton"),this.buttons=this.uiSpinner.children("a").attr("tabIndex",-1).attr("aria-hidden",!0).button({classes:{"ui-button":""}}),this._removeClass(this.buttons,"ui-corner-all"),this._addClass(this.buttons.first(),"ui-spinner-button ui-spinner-up"),this._addClass(this.buttons.last(),"ui-spinner-button ui-spinner-down"),this.buttons.first().button({icon:this.options.icons.up,showLabel:!1}),this.buttons.last().button({icon:this.options.icons.down,showLabel:!1}),this.buttons.height()>Math.ceil(.5*this.uiSpinner.height())&&this.uiSpinner.height()>0&&this.uiSpinner.height(this.uiSpinner.height())},_keydown:function(e){var i=this.options,s=t.ui.keyCode;switch(e.keyCode){case s.UP:return this._repeat(null,1,e),!0;case s.DOWN:return this._repeat(null,-1,e),!0;case s.PAGE_UP:return this._repeat(null,i.page,e),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_start:function(t){return this.spinning||this._trigger("start",t)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&this._trigger("spin",e,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(e){var i=this.options.incremental;return i?t.isFunction(i)?i(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return e=null!==s.min?s.min:0,i=t-e,i=Math.round(i/s.step)*s.step,t=e+i,t=parseFloat(t.toFixed(this._precision())),null!==s.max&&t>s.max?s.max:null!==s.min&&s.min>t?s.min:t},_stop:function(t){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",t))},_setOption:function(t,e){var i,s,n;return"culture"===t||"numberFormat"===t?(i=this._parse(this.element.val()),this.options[t]=e,this.element.val(this._format(i)),void 0):(("max"===t||"min"===t||"step"===t)&&"string"==typeof e&&(e=this._parse(e)),"icons"===t&&(s=this.buttons.first().find(".ui-icon"),this._removeClass(s,null,this.options.icons.up),this._addClass(s,null,e.up),n=this.buttons.last().find(".ui-icon"),this._removeClass(n,null,this.options.icons.down),this._addClass(n,null,e.down)),this._super(t,e),void 0)},_setOptionDisabled:function(t){this._super(t),this._toggleClass(this.uiSpinner,null,"ui-state-disabled",!!t),this.element.prop("disabled",!!t),this.buttons.button(t?"disable":"enable")},_setOptions:r(function(t){this._super(t)}),_parse:function(t){return"string"==typeof t&&""!==t&&(t=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(t,10,this.options.culture):+t),""===t||isNaN(t)?null:t},_format:function(t){return""===t?"":window.Globalize&&this.options.numberFormat?Globalize.format(t,this.options.numberFormat,this.options.culture):t},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var t=this.value();return null===t?!1:t===this._adjustValue(t)},_value:function(t,e){var i;""!==t&&(i=this._parse(t),null!==i&&(e||(i=this._adjustValue(i)),t=this._format(i))),this.element.val(t),this._refresh()},_destroy:function(){this.element.prop("disabled",!1).removeAttr("autocomplete role aria-valuemin aria-valuemax aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:r(function(t){this._stepUp(t)}),_stepUp:function(t){this._start()&&(this._spin((t||1)*this.options.step),this._stop())},stepDown:r(function(t){this._stepDown(t)}),_stepDown:function(t){this._start()&&(this._spin((t||1)*-this.options.step),this._stop())},pageUp:r(function(t){this._stepUp((t||1)*this.options.page)}),pageDown:r(function(t){this._stepDown((t||1)*this.options.page)}),value:function(t){return arguments.length?(r(this._value).call(this,t),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}),t.uiBackCompat!==!1&&t.widget("ui.spinner",t.ui.spinner,{_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml())},_uiSpinnerHtml:function(){return"<span>"},_buttonHtml:function(){return"<a></a><a></a>"}}),t.ui.spinner,t.widget("ui.tabs",{version:"1.12.1",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var t=/#.*$/;return function(e){var i,s;i=e.href.replace(t,""),s=location.href.replace(t,"");try{i=decodeURIComponent(i)}catch(n){}try{s=decodeURIComponent(s)}catch(n){}return e.hash.length>1&&i===s}}(),_create:function(){var e=this,i=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,i.collapsible),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var e=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===e&&(s&&this.tabs.each(function(i,n){return t(n).attr("aria-controls")===s?(e=i,!1):void 0}),null===e&&(e=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===e||-1===e)&&(e=this.tabs.length?0:!1)),e!==!1&&(e=this.tabs.index(this.tabs.eq(e)),-1===e&&(e=i?!1:0)),!i&&e===!1&&this.anchors.length&&(e=0),e},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(e){var i=t(t.ui.safeActiveElement(this.document[0])).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(e)){switch(e.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:s++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:n=!1,s--;break;case t.ui.keyCode.END:s=this.anchors.length-1;break;case t.ui.keyCode.HOME:s=0;break;case t.ui.keyCode.SPACE:return e.preventDefault(),clearTimeout(this.activating),this._activate(s),void 0;case t.ui.keyCode.ENTER:return e.preventDefault(),clearTimeout(this.activating),this._activate(s===this.options.active?!1:s),void 0;default:return}e.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),e.ctrlKey||e.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(e){return e.altKey&&e.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):e.altKey&&e.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(e,i){function s(){return e>n&&(e=0),0>e&&(e=n),e}for(var n=this.tabs.length-1;-1!==t.inArray(s(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).trigger("focus"),t},_setOption:function(t,e){return"active"===t?(this._activate(e),void 0):(this._super(t,e),"collapsible"===t&&(this._toggleClass("ui-tabs-collapsible",null,e),e||this.options.active!==!1||this._activate(0)),"event"===t&&this._setupEvents(e),"heightStyle"===t&&this._setupHeightStyle(e),void 0)},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),e.active!==!1&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this,i=this.tabs,s=this.anchors,n=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).on("focus"+this.eventNamespace,".ui-tabs-anchor",function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).attr({role:"presentation",tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=t(),this.anchors.each(function(i,s){var n,o,a,r=t(s).uniqueId().attr("id"),l=t(s).closest("li"),h=l.attr("aria-controls");e._isLocal(s)?(n=s.hash,a=n.substring(1),o=e.element.find(e._sanitizeSelector(n))):(a=l.attr("aria-controls")||t({}).uniqueId()[0].id,n="#"+a,o=e.element.find(n),o.length||(o=e._createPanel(a),o.insertAfter(e.panels[i-1]||e.tablist)),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),h&&l.data("ui-tabs-aria-controls",h),l.attr({"aria-controls":a,"aria-labelledby":r}),o.attr("aria-labelledby",r)}),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(e){return t("<div>").attr("id",e).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(e){var i,s,n;for(t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1),n=0;s=this.tabs[n];n++)i=t(s),e===!0||-1!==t.inArray(n,e)?(i.attr("aria-disabled","true"),this._addClass(i,null,"ui-state-disabled")):(i.removeAttr("aria-disabled"),this._removeClass(i,null,"ui-state-disabled"));this.options.disabled=e,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,e===!0)},_setupEvents:function(e){var i={};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(t){t.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),o=n.closest("li"),a=o[0]===s[0],r=a&&i.collapsible,l=r?t():this._getPanelForTab(o),h=s.length?this._getPanelForTab(s):t(),c={oldTab:s,oldPanel:h,newTab:r?t():o,newPanel:l};e.preventDefault(),o.hasClass("ui-state-disabled")||o.hasClass("ui-tabs-loading")||this.running||a&&!i.collapsible||this._trigger("beforeActivate",e,c)===!1||(i.active=r?!1:this.tabs.index(o),this.active=a?t():o,this.xhr&&this.xhr.abort(),h.length||l.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),l.length&&this.load(this.tabs.index(o),e),this._toggle(e,c))},_toggle:function(e,i){function s(){o.running=!1,o._trigger("activate",e,i)}function n(){o._addClass(i.newTab.closest("li"),"ui-tabs-active","ui-state-active"),a.length&&o.options.show?o._show(a,o.options.show,s):(a.show(),s())}var o=this,a=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){o._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),n()}):(this._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),r.hide(),n()),r.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),a.length&&r.length?i.oldTab.attr("tabIndex",-1):a.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),a.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return e===!1?t():this.tabs.eq(e)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+t.ui.escapeSelector(e)+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(e){var i=this.options.disabled;i!==!1&&(void 0===e?i=!1:(e=this._getIndex(e),i=t.isArray(i)?t.map(i,function(t){return t!==e?t:null}):t.map(this.tabs,function(t,i){return i!==e?i:null})),this._setOptionDisabled(i))},disable:function(e){var i=this.options.disabled;if(i!==!0){if(void 0===e)i=!0;else{if(e=this._getIndex(e),-1!==t.inArray(e,i))return;i=t.isArray(i)?t.merge([e],i).sort():[e]}this._setOptionDisabled(i)}},load:function(e,i){e=this._getIndex(e);var s=this,n=this.tabs.eq(e),o=n.find(".ui-tabs-anchor"),a=this._getPanelForTab(n),r={tab:n,panel:a},l=function(t,e){"abort"===e&&s.panels.stop(!1,!0),s._removeClass(n,"ui-tabs-loading"),a.removeAttr("aria-busy"),t===s.xhr&&delete s.xhr};this._isLocal(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(n,"ui-tabs-loading"),a.attr("aria-busy","true"),this.xhr.done(function(t,e,n){setTimeout(function(){a.html(t),s._trigger("load",i,r),l(n,e)},1)}).fail(function(t,e){setTimeout(function(){l(t,e)},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href").replace(/#.*$/,""),beforeSend:function(e,o){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:o},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),t.uiBackCompat!==!1&&t.widget("ui.tabs",t.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}}),t.ui.tabs,t.widget("ui.tooltip",{version:"1.12.1",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var e=t(this).attr("title")||"";return t("<a>").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))},_removeDescribedBy:function(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),s=t.trim(s.join(" ")),s?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.liveRegion=t("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this.disabledTitles=t([])},_setOption:function(e,i){var s=this;this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e.element)})},_setOptionDisabled:function(t){this[t?"_disable":"_enable"]()},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s.element[0],e.close(n,!0)}),this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function(){var e=t(this);return e.is("[title]")?e.data("ui-tooltip-title",e.attr("title")).removeAttr("title"):void 0}))},_enable:function(){this.disabledTitles.each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))}),this.disabledTitles=t([])},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&(e=t.Event("blur"),e.target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._registerCloseHandlers(e,s),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,o=e?e.type:null;return"string"==typeof s||s.nodeType||s.jquery?this._open(e,t,s):(i=s.call(t[0],function(i){n._delay(function(){t.data("ui-tooltip-open")&&(e&&(e.type=o),this._open(e,t,i))})}),i&&this._open(e,t,i),void 0)},_open:function(e,i,s){function n(t){h.of=t,a.is(":hidden")||a.position(h)}var o,a,r,l,h=t.extend({},this.options.position);if(s){if(o=this._find(i))return o.tooltip.find(".ui-tooltip-content").html(s),void 0;i.is("[title]")&&(e&&"mouseover"===e.type?i.attr("title",""):i.removeAttr("title")),o=this._tooltip(i),a=o.tooltip,this._addDescribedBy(i,a.attr("id")),a.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),l=t("<div>").html(a.find(".ui-tooltip-content").html()),l.removeAttr("name").find("[name]").removeAttr("name"),l.removeAttr("id").find("[id]").removeAttr("id"),l.appendTo(this.liveRegion),this.options.track&&e&&/^mouse/.test(e.type)?(this._on(this.document,{mousemove:n}),n(e)):a.position(t.extend({of:i},this.options.position)),a.hide(),this._show(a,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(r=this.delayedShow=setInterval(function(){a.is(":visible")&&(n(h.of),clearInterval(r))},t.fx.interval)),this._trigger("open",e,{tooltip:a})}},_registerCloseHandlers:function(e,i){var s={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var s=t.Event(e);s.currentTarget=i[0],this.close(s,!0)}}};i[0]!==this.element[0]&&(s.remove=function(){this._removeTooltip(this._find(i).tooltip)}),e&&"mouseover"!==e.type||(s.mouseleave="close"),e&&"focusin"!==e.type||(s.focusout="close"),this._on(!0,i,s)},close:function(e){var i,s=this,n=t(e?e.currentTarget:this.element),o=this._find(n);return o?(i=o.tooltip,o.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&!n.attr("title")&&n.attr("title",n.data("ui-tooltip-title")),this._removeDescribedBy(n),o.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]
+}),o.closing=!0,this._trigger("close",e,{tooltip:i}),o.hiding||(o.closing=!1)),void 0):(n.removeData("ui-tooltip-open"),void 0)},_tooltip:function(e){var i=t("<div>").attr("role","tooltip"),s=t("<div>").appendTo(i),n=i.uniqueId().attr("id");return this._addClass(s,"ui-tooltip-content"),this._addClass(i,"ui-tooltip","ui-widget ui-widget-content"),i.appendTo(this._appendTo(e)),this.tooltips[n]={element:e,tooltip:i}},_find:function(t){var e=t.data("ui-tooltip-id");return e?this.tooltips[e]:null},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_appendTo:function(t){var e=t.closest(".ui-front, dialog");return e.length||(e=this.document[0].body),e},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur"),o=s.element;n.target=n.currentTarget=o[0],e.close(n,!0),t("#"+i).remove(),o.data("ui-tooltip-title")&&(o.attr("title")||o.attr("title",o.data("ui-tooltip-title")),o.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}}),t.uiBackCompat!==!1&&t.widget("ui.tooltip",t.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var t=this._superApply(arguments);return this.options.tooltipClass&&t.tooltip.addClass(this.options.tooltipClass),t}}),t.ui.tooltip;var f="ui-effects-",g="ui-effects-style",m="ui-effects-animated",_=t;t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=h(),n=s._rgba=[];return i=i.toLowerCase(),f(l,function(t,o){var a,r=o.re.exec(i),l=r&&o.parse(r),h=o.space||"rgba";return l?(a=s[h](l),s[c[h].cache]=a[c[h].cache],n=s._rgba=a._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,o.transparent),s):o[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var o,a="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,l=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],h=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=h.support={},p=t("<p>")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),h.fn=t.extend(h.prototype,{parse:function(n,a,r,l){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(a),a=e);var u=this,d=t.type(n),p=this._rgba=[];return a!==e&&(n=[n,a,r,l],d="array"),"string"===d?this.parse(s(n)||o._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof h?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var o=s.cache;f(s.props,function(t,e){if(!u[o]&&s.to){if("alpha"===t||null==n[t])return;u[o]=s.to(u._rgba)}u[o][e.idx]=i(n[t],e,!0)}),u[o]&&0>t.inArray(null,u[o].slice(0,3))&&(u[o][3]=1,s.from&&(u._rgba=s.from(u[o])))}),this):e},is:function(t){var i=h(t),s=!0,n=this;return f(c,function(t,o){var a,r=i[o.cache];return r&&(a=n[o.cache]||o.to&&o.to(n._rgba)||[],f(o.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===a[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=h(t),n=s._space(),o=c[n],a=0===this.alpha()?h("transparent"):this,r=a[o.cache]||o.to(a._rgba),l=r.slice();return s=s[o.cache],f(o.props,function(t,n){var o=n.idx,a=r[o],h=s[o],c=u[n.type]||{};null!==h&&(null===a?l[o]=h:(c.mod&&(h-a>c.mod/2?a+=c.mod:a-h>c.mod/2&&(a-=c.mod)),l[o]=i((h-a)*e+a,n)))}),this[n](l)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=h(e)._rgba;return h(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),h.fn.parse.prototype=h.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,o=t[2]/255,a=t[3],r=Math.max(s,n,o),l=Math.min(s,n,o),h=r-l,c=r+l,u=.5*c;return e=l===r?0:s===r?60*(n-o)/h+360:n===r?60*(o-s)/h+120:60*(s-n)/h+240,i=0===h?0:.5>=u?h/c:h/(2-c),[Math.round(e)%360,i,u,null==a?1:a]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],o=t[3],a=.5>=s?s*(1+i):s+i-s*i,r=2*s-a;return[Math.round(255*n(r,a,e+1/3)),Math.round(255*n(r,a,e)),Math.round(255*n(r,a,e-1/3)),o]},f(c,function(s,n){var o=n.props,a=n.cache,l=n.to,c=n.from;h.fn[s]=function(s){if(l&&!this[a]&&(this[a]=l(this._rgba)),s===e)return this[a].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[a].slice();return f(o,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=h(c(d)),n[a]=d,n):h(d)},f(o,function(e,i){h.fn[e]||(h.fn[e]=function(n){var o,a=t.type(n),l="alpha"===e?this._hsla?"hsla":"rgba":s,h=this[l](),c=h[i.idx];return"undefined"===a?c:("function"===a&&(n=n.call(this,c),a=t.type(n)),null==n&&i.empty?this:("string"===a&&(o=r.exec(n),o&&(n=c+parseFloat(o[2])*("+"===o[1]?1:-1))),h[i.idx]=n,this[l](h)))})})}),h.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var o,a,r="";if("transparent"!==n&&("string"!==t.type(n)||(o=s(n)))){if(n=h(o||n),!d.rgba&&1!==n._rgba[3]){for(a="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&a&&a.style;)try{r=t.css(a,"backgroundColor"),a=a.parentNode}catch(l){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(l){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=h(e.elem,i),e.end=h(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},h.hook(a),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},o=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(_),function(){function e(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,o={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(o[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(o[i]=n[i]);return o}function i(e,i){var s,o,a={};for(s in i)o=i[s],e[s]!==o&&(n[s]||(t.fx.step[s]||!isNaN(parseFloat(o)))&&(a[s]=o));return a}var s=["add","remove","toggle"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(_.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(n,o,a,r){var l=t.speed(o,a,r);return this.queue(function(){var o,a=t(this),r=a.attr("class")||"",h=l.children?a.find("*").addBack():a;h=h.map(function(){var i=t(this);return{el:i,start:e(this)}}),o=function(){t.each(s,function(t,e){n[e]&&a[e+"Class"](n[e])})},o(),h=h.map(function(){return this.end=e(this.el[0]),this.diff=i(this.start,this.end),this}),a.attr("class",r),h=h.map(function(){var e=this,i=t.Deferred(),s=t.extend({},l,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,h.get()).done(function(){o(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),l.complete.call(a[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,o){return s?t.effects.animateClass.call(this,{add:i},s,n,o):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,o){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,o):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(e){return function(i,s,n,o,a){return"boolean"==typeof s||void 0===s?n?t.effects.animateClass.call(this,s?{add:i}:{remove:i},n,o,a):e.apply(this,arguments):t.effects.animateClass.call(this,{toggle:i},s,n,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,o){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,o)}})}(),function(){function e(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function i(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}function s(t,e){var i=e.outerWidth(),s=e.outerHeight(),n=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/,o=n.exec(t)||["",0,i,s,0];return{top:parseFloat(o[1])||0,right:"auto"===o[2]?i:parseFloat(o[2]),bottom:"auto"===o[3]?s:parseFloat(o[3]),left:parseFloat(o[4])||0}}t.expr&&t.expr.filters&&t.expr.filters.animated&&(t.expr.filters.animated=function(e){return function(i){return!!t(i).data(m)||e(i)}}(t.expr.filters.animated)),t.uiBackCompat!==!1&&t.extend(t.effects,{save:function(t,e){for(var i=0,s=e.length;s>i;i++)null!==e[i]&&t.data(f+e[i],t[0].style[e[i]])},restore:function(t,e){for(var i,s=0,n=e.length;n>s;s++)null!==e[s]&&(i=t.data(f+e[s]),t.css(e[s],i))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},o=document.activeElement;try{o.id}catch(a){o=document.body}return e.wrap(s),(e[0]===o||t.contains(e[0],o))&&t(o).trigger("focus"),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).trigger("focus")),e}}),t.extend(t.effects,{version:"1.12.1",define:function(e,i,s){return s||(s=i,i="effect"),t.effects.effect[e]=s,t.effects.effect[e].mode=i,s},scaledDimensions:function(t,e,i){if(0===e)return{height:0,width:0,outerHeight:0,outerWidth:0};var s="horizontal"!==i?(e||100)/100:1,n="vertical"!==i?(e||100)/100:1;return{height:t.height()*n,width:t.width()*s,outerHeight:t.outerHeight()*n,outerWidth:t.outerWidth()*s}},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var s=t.queue();e>1&&s.splice.apply(s,[1,0].concat(s.splice(e,i))),t.dequeue()},saveStyle:function(t){t.data(g,t[0].style.cssText)},restoreStyle:function(t){t[0].style.cssText=t.data(g)||"",t.removeData(g)},mode:function(t,e){var i=t.is(":hidden");return"toggle"===e&&(e=i?"show":"hide"),(i?"hide"===e:"show"===e)&&(e="none"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createPlaceholder:function(e){var i,s=e.css("position"),n=e.position();return e.css({marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()),/^(static|relative)/.test(s)&&(s="absolute",i=t("<"+e[0].nodeName+">").insertAfter(e).css({display:/^(inline|ruby)/.test(e.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight"),"float":e.css("float")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).addClass("ui-effects-placeholder"),e.data(f+"placeholder",i)),e.css({position:s,left:n.left,top:n.top}),i},removePlaceholder:function(t){var e=f+"placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(e){t.effects.restoreStyle(e),t.effects.removePlaceholder(e)},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var o=e.cssUnit(i);o[0]>0&&(n[i]=o[0]*s+o[1])}),n}}),t.fn.extend({effect:function(){function i(e){function i(){r.removeData(m),t.effects.cleanUp(r),"hide"===s.mode&&r.hide(),a()}function a(){t.isFunction(l)&&l.call(r[0]),t.isFunction(e)&&e()}var r=t(this);s.mode=c.shift(),t.uiBackCompat===!1||o?"none"===s.mode?(r[h](),a()):n.call(r[0],s,i):(r.is(":hidden")?"hide"===h:"show"===h)?(r[h](),a()):n.call(r[0],s,a)}var s=e.apply(this,arguments),n=t.effects.effect[s.effect],o=n.mode,a=s.queue,r=a||"fx",l=s.complete,h=s.mode,c=[],u=function(e){var i=t(this),s=t.effects.mode(i,h)||o;i.data(m,!0),c.push(s),o&&("show"===s||s===o&&"hide"===s)&&i.show(),o&&"none"===s||t.effects.saveStyle(i),t.isFunction(e)&&e()};return t.fx.off||!n?h?this[h](s.duration,l):this.each(function(){l&&l.call(this)}):a===!1?this.each(u).each(i):this.queue(r,u).queue(r,i)},show:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="show",this.effect.call(this,n)}}(t.fn.show),hide:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(t.fn.hide),toggle:function(t){return function(s){if(i(s)||"boolean"==typeof s)return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s},cssClip:function(t){return t?this.css("clip","rect("+t.top+"px "+t.right+"px "+t.bottom+"px "+t.left+"px)"):s(this.css("clip"),this)},transfer:function(e,i){var s=t(this),n=t(e.to),o="fixed"===n.css("position"),a=t("body"),r=o?a.scrollTop():0,l=o?a.scrollLeft():0,h=n.offset(),c={top:h.top-r,left:h.left-l,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("<div class='ui-effects-transfer'></div>").appendTo("body").addClass(e.className).css({top:u.top-r,left:u.left-l,height:s.innerHeight(),width:s.innerWidth(),position:o?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),t.isFunction(i)&&i()})}}),t.fx.step.clip=function(e){e.clipInit||(e.start=t(e.elem).cssClip(),"string"==typeof e.end&&(e.end=s(e.end,e.elem)),e.clipInit=!0),t(e.elem).cssClip({top:e.pos*(e.end.top-e.start.top)+e.start.top,right:e.pos*(e.end.right-e.start.right)+e.start.right,bottom:e.pos*(e.end.bottom-e.start.bottom)+e.start.bottom,left:e.pos*(e.end.left-e.start.left)+e.start.left})}}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}();var v=t.effects;t.effects.define("blind","hide",function(e,i){var s={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},n=t(this),o=e.direction||"up",a=n.cssClip(),r={clip:t.extend({},a)},l=t.effects.createPlaceholder(n);r.clip[s[o][0]]=r.clip[s[o][1]],"show"===e.mode&&(n.cssClip(r.clip),l&&l.css(t.effects.clipToBox(r)),r.clip=a),l&&l.animate(t.effects.clipToBox(r),e.duration,e.easing),n.animate(r,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("bounce",function(e,i){var s,n,o,a=t(this),r=e.mode,l="hide"===r,h="show"===r,c=e.direction||"up",u=e.distance,d=e.times||5,p=2*d+(h||l?1:0),f=e.duration/p,g=e.easing,m="up"===c||"down"===c?"top":"left",_="up"===c||"left"===c,v=0,b=a.queue().length;for(t.effects.createPlaceholder(a),o=a.css(m),u||(u=a["top"===m?"outerHeight":"outerWidth"]()/3),h&&(n={opacity:1},n[m]=o,a.css("opacity",0).css(m,_?2*-u:2*u).animate(n,f,g)),l&&(u/=Math.pow(2,d-1)),n={},n[m]=o;d>v;v++)s={},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g).animate(n,f,g),u=l?2*u:u/2;l&&(s={opacity:0},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g)),a.queue(i),t.effects.unshift(a,b,p+1)}),t.effects.define("clip","hide",function(e,i){var s,n={},o=t(this),a=e.direction||"vertical",r="both"===a,l=r||"horizontal"===a,h=r||"vertical"===a;s=o.cssClip(),n.clip={top:h?(s.bottom-s.top)/2:s.top,right:l?(s.right-s.left)/2:s.right,bottom:h?(s.bottom-s.top)/2:s.bottom,left:l?(s.right-s.left)/2:s.left},t.effects.createPlaceholder(o),"show"===e.mode&&(o.cssClip(n.clip),n.clip=s),o.animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("drop","hide",function(e,i){var s,n=t(this),o=e.mode,a="show"===o,r=e.direction||"left",l="up"===r||"down"===r?"top":"left",h="up"===r||"left"===r?"-=":"+=",c="+="===h?"-=":"+=",u={opacity:0};t.effects.createPlaceholder(n),s=e.distance||n["top"===l?"outerHeight":"outerWidth"](!0)/2,u[l]=h+s,a&&(n.css(u),u[l]=c+s,u.opacity=1),n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("explode","hide",function(e,i){function s(){b.push(this),b.length===u*d&&n()}function n(){p.css({visibility:"visible"}),t(b).remove(),i()}var o,a,r,l,h,c,u=e.pieces?Math.round(Math.sqrt(e.pieces)):3,d=u,p=t(this),f=e.mode,g="show"===f,m=p.show().css("visibility","hidden").offset(),_=Math.ceil(p.outerWidth()/d),v=Math.ceil(p.outerHeight()/u),b=[];for(o=0;u>o;o++)for(l=m.top+o*v,c=o-(u-1)/2,a=0;d>a;a++)r=m.left+a*_,h=a-(d-1)/2,p.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-a*_,top:-o*v}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:_,height:v,left:r+(g?h*_:0),top:l+(g?c*v:0),opacity:g?0:1}).animate({left:r+(g?0:h*_),top:l+(g?0:c*v),opacity:g?1:0},e.duration||500,e.easing,s)}),t.effects.define("fade","toggle",function(e,i){var s="show"===e.mode;t(this).css("opacity",s?0:1).animate({opacity:s?1:0},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("fold","hide",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=e.size||15,l=/([0-9]+)%/.exec(r),h=!!e.horizFirst,c=h?["right","bottom"]:["bottom","right"],u=e.duration/2,d=t.effects.createPlaceholder(s),p=s.cssClip(),f={clip:t.extend({},p)},g={clip:t.extend({},p)},m=[p[c[0]],p[c[1]]],_=s.queue().length;l&&(r=parseInt(l[1],10)/100*m[a?0:1]),f.clip[c[0]]=r,g.clip[c[0]]=r,g.clip[c[1]]=0,o&&(s.cssClip(g.clip),d&&d.css(t.effects.clipToBox(g)),g.clip=p),s.queue(function(i){d&&d.animate(t.effects.clipToBox(f),u,e.easing).animate(t.effects.clipToBox(g),u,e.easing),i()}).animate(f,u,e.easing).animate(g,u,e.easing).queue(i),t.effects.unshift(s,_,4)}),t.effects.define("highlight","show",function(e,i){var s=t(this),n={backgroundColor:s.css("backgroundColor")};"hide"===e.mode&&(n.opacity=0),t.effects.saveStyle(s),s.css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("size",function(e,i){var s,n,o,a=t(this),r=["fontSize"],l=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],h=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],c=e.mode,u="effect"!==c,d=e.scale||"both",p=e.origin||["middle","center"],f=a.css("position"),g=a.position(),m=t.effects.scaledDimensions(a),_=e.from||m,v=e.to||t.effects.scaledDimensions(a,0);t.effects.createPlaceholder(a),"show"===c&&(o=_,_=v,v=o),n={from:{y:_.height/m.height,x:_.width/m.width},to:{y:v.height/m.height,x:v.width/m.width}},("box"===d||"both"===d)&&(n.from.y!==n.to.y&&(_=t.effects.setTransition(a,l,n.from.y,_),v=t.effects.setTransition(a,l,n.to.y,v)),n.from.x!==n.to.x&&(_=t.effects.setTransition(a,h,n.from.x,_),v=t.effects.setTransition(a,h,n.to.x,v))),("content"===d||"both"===d)&&n.from.y!==n.to.y&&(_=t.effects.setTransition(a,r,n.from.y,_),v=t.effects.setTransition(a,r,n.to.y,v)),p&&(s=t.effects.getBaseline(p,m),_.top=(m.outerHeight-_.outerHeight)*s.y+g.top,_.left=(m.outerWidth-_.outerWidth)*s.x+g.left,v.top=(m.outerHeight-v.outerHeight)*s.y+g.top,v.left=(m.outerWidth-v.outerWidth)*s.x+g.left),a.css(_),("content"===d||"both"===d)&&(l=l.concat(["marginTop","marginBottom"]).concat(r),h=h.concat(["marginLeft","marginRight"]),a.find("*[width]").each(function(){var i=t(this),s=t.effects.scaledDimensions(i),o={height:s.height*n.from.y,width:s.width*n.from.x,outerHeight:s.outerHeight*n.from.y,outerWidth:s.outerWidth*n.from.x},a={height:s.height*n.to.y,width:s.width*n.to.x,outerHeight:s.height*n.to.y,outerWidth:s.width*n.to.x};n.from.y!==n.to.y&&(o=t.effects.setTransition(i,l,n.from.y,o),a=t.effects.setTransition(i,l,n.to.y,a)),n.from.x!==n.to.x&&(o=t.effects.setTransition(i,h,n.from.x,o),a=t.effects.setTransition(i,h,n.to.x,a)),u&&t.effects.saveStyle(i),i.css(o),i.animate(a,e.duration,e.easing,function(){u&&t.effects.restoreStyle(i)})})),a.animate(v,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){var e=a.offset();0===v.opacity&&a.css("opacity",_.opacity),u||(a.css("position","static"===f?"relative":f).offset(e),t.effects.saveStyle(a)),i()}})}),t.effects.define("scale",function(e,i){var s=t(this),n=e.mode,o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"effect"!==n?0:100),a=t.extend(!0,{from:t.effects.scaledDimensions(s),to:t.effects.scaledDimensions(s,o,e.direction||"both"),origin:e.origin||["middle","center"]},e);e.fade&&(a.from.opacity=1,a.to.opacity=0),t.effects.effect.size.call(this,a,i)}),t.effects.define("puff","hide",function(e,i){var s=t.extend(!0,{},e,{fade:!0,percent:parseInt(e.percent,10)||150});t.effects.effect.scale.call(this,s,i)}),t.effects.define("pulsate","show",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=o||a,l=2*(e.times||5)+(r?1:0),h=e.duration/l,c=0,u=1,d=s.queue().length;for((o||!s.is(":visible"))&&(s.css("opacity",0).show(),c=1);l>u;u++)s.animate({opacity:c},h,e.easing),c=1-c;s.animate({opacity:c},h,e.easing),s.queue(i),t.effects.unshift(s,d,l+1)}),t.effects.define("shake",function(e,i){var s=1,n=t(this),o=e.direction||"left",a=e.distance||20,r=e.times||3,l=2*r+1,h=Math.round(e.duration/l),c="up"===o||"down"===o?"top":"left",u="up"===o||"left"===o,d={},p={},f={},g=n.queue().length;for(t.effects.createPlaceholder(n),d[c]=(u?"-=":"+=")+a,p[c]=(u?"+=":"-=")+2*a,f[c]=(u?"-=":"+=")+2*a,n.animate(d,h,e.easing);r>s;s++)n.animate(p,h,e.easing).animate(f,h,e.easing);n.animate(p,h,e.easing).animate(d,h/2,e.easing).queue(i),t.effects.unshift(n,g,l+1)}),t.effects.define("slide","show",function(e,i){var s,n,o=t(this),a={up:["bottom","top"],down:["top","bottom"],left:["right","left"],right:["left","right"]},r=e.mode,l=e.direction||"left",h="up"===l||"down"===l?"top":"left",c="up"===l||"left"===l,u=e.distance||o["top"===h?"outerHeight":"outerWidth"](!0),d={};t.effects.createPlaceholder(o),s=o.cssClip(),n=o.position()[h],d[h]=(c?-1:1)*u+n,d.clip=o.cssClip(),d.clip[a[l][1]]=d.clip[a[l][0]],"show"===r&&(o.cssClip(d.clip),o.css(h,d[h]),d.clip=s,d[h]=n),o.animate(d,{queue:!1,duration:e.duration,easing:e.easing,complete:i})});var v;t.uiBackCompat!==!1&&(v=t.effects.define("transfer",function(e,i){t(this).transfer(e,i)}))}); \ No newline at end of file
diff --git a/clover/controller/control/static/js/visibility.js b/clover/controller/control/static/js/visibility.js
new file mode 100644
index 0000000..362b7a3
--- /dev/null
+++ b/clover/controller/control/static/js/visibility.js
@@ -0,0 +1,285 @@
+$( document ).ready(function() {
+
+ $(document).foundation();
+ // Refresh
+ var refresh_on = setInterval(refresh_visibility, 5000);
+
+ // Controls
+ $( "#visibilitySwitch" ).click(function() {
+ if (this.checked) {
+ refresh_on = setInterval(refresh_visibility, 5000);
+ } else {
+ clearInterval(refresh_on);
+ }
+ });
+
+ $( "#clear_visibility" ).click(function() {
+ $.get( "visibility/clear", function( data ) {
+ alert(data);
+ });
+ });
+
+ // Visibility selection
+ $( "#visibility_selected" ).selectable();
+ $( "#vservices" ).selectable();
+
+ $( "#visibility_selected" ).on( "selectableselected", function() {
+ var vselected = [];
+ $(".ui-selected", this).each(function() {
+ vselected.push(this.innerHTML);
+ });
+ set_visibility(vselected);
+ });
+
+ $( "#visibility_selected" ).on( "selectableunselected", function() {
+ var vselected = [];
+ $(".ui-selected", this).each(function() {
+ vselected.push(this.innerHTML);
+ });
+ set_visibility(vselected);
+ });
+
+ var vse = [] ;
+ $("ol#vservices > li.ui-widget-content.ui-selectee", this).each(function() {
+ vse.push(this.innerHTML)
+ });
+ for (var i=0; i<vse.length; i++) {
+ $("#visibility_selected > li", this).each(function() {
+ if (vse[i] === this.innerHTML.replace(/-/g, '_')) {
+ $(this).addClass("ui-selected");
+ }
+ });
+ }
+
+ $( "#visibility_accordion" ).accordion({collapsible: true, active: false});
+
+
+});
+
+function set_visibility(vselected) {
+
+ var services = {};
+ var y = [];
+ vselected.forEach(function(element) {
+ var x = {};
+ x['name'] = element
+ y.push(x)
+ });
+ services['services'] = y
+
+ $.ajax({
+ type: "POST",
+ url: "visibility/set",
+ data: JSON.stringify(services),
+ contentType: "application/json; charset=utf-8",
+ dataType: "json",
+ async: false,
+ success: function(data){alert(data);},
+ failure: function(errMsg) {
+ alert(errMsg);
+ }
+ });
+
+}
+
+function refresh_visibility() {
+ $.get( "visibility/get/stats/all", function( data ) {
+
+ // Response Times
+ var head1 = '<div class="cell">Service</div>';
+ var head2 = '<div class="cell">Min(ms)</div>';
+ var head3 = '<div class="cell">Avg(ms)</div>';
+ var head4 = '<div class="cell">Max(ms)</div>';
+ var content = head1 + head2 + head3 + head4;
+ for (var i=0; i<data.response_times.length; i++) {
+ var o = data.response_times[i];
+ content = content +
+ '<div class="cell bbb">' +
+ o.name + '</div><div class="cell bbb">' +
+ o.min + '</div><div class="cell bbb">' +
+ o.avg + '</div><div class="cell bbb">' +
+ o.max + '</div>';
+ }
+ $( ".tracing_rt" ).html( content );
+
+ // System Counts
+ content = '<div class="vtoplevel"><a>Traces: ' +
+ data.trace_count + "</a><br><a>Spans: " +
+ data.span_count + "</a><br><a>Metrics: " +
+ data.metric_count + "</a></div>" ;
+ $( ".system_counts" ).html( content );
+
+ // Distinct
+ update_distinct('request_urls', data)
+ update_distinct('user_agents', data)
+ update_distinct('status_codes', data)
+ update_distinct('op_names', data)
+ update_distinct('node_ids', data)
+ update_distinct('upstream_clusters', data)
+
+ // Tracing Charts, URL count
+ $(".span_urls_all").empty();
+ var el = document.createElement("div");
+ $(".span_urls_all").append(el);
+
+ var data1 = [];
+ for (var i=0; i<data.request_url_count.length; i++) {
+ data1.push({
+ "URLs": data.request_url_count[i][0],
+ "Count": data.request_url_count[i][1]
+ });
+ }
+
+ var vis1 = new candela.components.BarChart(el, {
+ data: data1,
+ x: "URLs",
+ y: "Count",
+ width: 600,
+ height: 400,
+ renderer: "svg"
+ });
+ vis1.render();
+
+ // URL/status code count
+ $(".status_codes_all").empty();
+ var el1 = document.createElement("div");
+ $(".status_codes_all").append(el1);
+
+ data1 = [];
+ for (var i=0; i<data.status_code_count.length; i++) {
+ data1.push({
+ "Status Codes, URLs": data.status_code_count[i][0],
+ "Count": data.status_code_count[i][1]
+ });
+ }
+
+ var vis2 = new candela.components.BarChart(el1, {
+ data: data1,
+ x: "Status Codes, URLs",
+ y: "Count",
+ width: 600,
+ height: 400,
+ renderer: "svg"
+ });
+ vis2.render();
+
+ // URL/service count
+ $(".span_node_urls_all").empty();
+ var el2 = document.createElement("div");
+ $(".span_node_urls_all").append(el2);
+
+ data1 = [];
+ for (var i=0; i<data.node_url_count.length; i++) {
+ data1.push({
+ "Services, URLs": data.node_url_count[i][0],
+ "Count": data.node_url_count[i][1]
+ });
+ }
+
+ var vis3 = new candela.components.BarChart(el2, {
+ data: data1,
+ x: "Services, URLs",
+ y: "Count",
+ width: 600,
+ height: 800,
+ renderer: "svg"
+ });
+ vis3.render();
+
+ // Plotly, user-agent %
+ data1 = [];
+ var ua_values = [];
+ var ua_labels = [];
+ var ua_sum = 0;
+ for (var i=0; i<data.user_agent_count.length; i++) {
+ ua_sum = ua_sum + data.user_agent_count[i][1];
+ }
+ var yval = 0;
+ for (var i=0; i<data.user_agent_count.length; i++) {
+ yval = Math.round(( data.user_agent_count[i][1] / ua_sum ) * 100);
+ ua_values.push(yval);
+ ua_labels.push(data.user_agent_count[i][0]);
+ }
+ data1 = [{
+ values: ua_values,
+ labels: ua_labels,
+ type: 'pie'
+ }]
+ Plotly.newPlot('span_user_agents_all', data1);
+
+ // Node_id count
+ $(".span_node_id_all").empty();
+ var el3 = document.createElement("div");
+ $(".span_node_id_all").append(el3);
+
+ data1 = [];
+ for (var i=0; i<data.node_id_count.length; i++) {
+ data1.push({
+ "Services": data.node_id_count[i][0],
+ "Count": data.node_id_count[i][1]
+ });
+ }
+
+ var vis4 = new candela.components.BarChart(el3, {
+ data: data1,
+ x: "Services",
+ y: "Count",
+ width: 600,
+ height: 400,
+ renderer: "svg"
+ });
+ vis4.render();
+
+ // Plotly, metrics
+ $("#metrics_graphs").empty();
+ var toggle = true;
+ for (var i=0; i<data.metrics_time.length; i++) {
+ var metric = data.metrics_time[i];
+ var po = '';
+ if (toggle) {
+ po = ' small-offset-2';
+ toggle = false;
+ } else {
+ toggle = true;
+ }
+ var portlet = '<div class="large-4 cell clover-portlet' +
+ po + '">';
+ var mdiv = '<div id="' + metric.name + '"></div>';
+ var m_html = portlet + mdiv + '</div>';
+ $("#metrics_graphs").append(m_html);
+
+ data1 = [];
+ var x_values = [];
+ var y_values = [];
+ for (var j=0; j<metric.values.length; j++) {
+ x_values.push(j);
+ y_values.push(metric.values[j]);
+ }
+ data1 = [{
+ x: x_values,
+ y: y_values,
+ type: 'scatter'
+ }]
+ var m_title = metric.service + '<br>' + metric.prefix + '<br>' +
+ metric.suffix;
+ var layout = {
+ title: m_title
+ };
+ Plotly.newPlot(metric.name, data1, layout);
+ }
+
+ });
+ $.get( "visibility/metrics", function( data ) {
+ $( ".service_metrics" ).html( data );
+ });
+
+}
+
+function update_distinct(dkey, data) {
+ content = '';
+ for (var i=0; i<data[dkey].length; i++) {
+ content = content + data[dkey][i] + '<br>';
+ }
+ var container = '.' + dkey;
+ $(container).html(content);
+}
diff --git a/clover/controller/control/templates/base.html b/clover/controller/control/templates/base.html
new file mode 100644
index 0000000..8e3c36d
--- /dev/null
+++ b/clover/controller/control/templates/base.html
@@ -0,0 +1,31 @@
+<!doctype html>
+
+<html>
+ <head>
+ <title>{% block title %}{% endblock %}</title>
+ <link rel="stylesheet" href="{{ url_for('static', filename='css/foundation.css') }}">
+ <link rel="stylesheet" href="{{ url_for('static', filename='css/app.css') }}">
+ <link rel="stylesheet" href="{{ url_for('static', filename='css/jquery-ui.css') }}">
+ <script type=text/javascript src="{{
+ url_for('static', filename='js/foundation/jquery.js') }}">
+ </script>
+ <script type=text/javascript src="{{
+ url_for('static', filename='js/jquery-ui.min.js') }}">
+ </script>
+ <script type=text/javascript src="{{
+ url_for('static', filename='js/foundation/foundation.min.js') }}">
+ </script>
+ {% block head %}
+ {% endblock %}
+
+ </head>
+ <body>
+ {% include "header.html" %}
+
+ <div style="text-align:center;">
+ <h4>{{ view_title }}</h4>
+ </div>
+ {% block content %}{% endblock %}
+
+ </body>
+</html>
diff --git a/clover/controller/control/templates/header.html b/clover/controller/control/templates/header.html
new file mode 100644
index 0000000..fbe93cd
--- /dev/null
+++ b/clover/controller/control/templates/header.html
@@ -0,0 +1,21 @@
+<div class="title-bar" data-responsive-toggle="clovernav" data-hide-for="medium">
+ <button class="menu-icon" type="button" data-toggle="clovernav"></button>
+ <div class="title-bar-title">Menu</div>
+</div>
+
+<div class="top-bar" id="clovernav">
+ <div class="top-bar-left">
+ <ul class="menu dropdown vertical medium-horizontal" data-responsive-menu="drilldown medium-dropdown" role="tablist" aria-multiselectable="true" >
+ <li class="menu-text" role="menuitem">Clover Dashboards</li>
+ <li role="menuitem"><a href="visibility">Visibility</a></li>
+ <li role="menuitem"><a href="">Validation</a></li>
+ <li role="menuitem"><a href="">Provisioning</a></li>
+ </ul>
+ </div>
+
+ <div class="top-bar-right">
+ <ul class="menu">
+ <li><a href="" class="button">Login</a></li>
+ </ul>
+ </div>
+</div>
diff --git a/clover/controller/control/templates/home.html b/clover/controller/control/templates/home.html
deleted file mode 100644
index 6de644e..0000000
--- a/clover/controller/control/templates/home.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<!doctype html>
-<html>
- <body>
- <h1>Clover Dashboard</h1>
- </body>
-</html>
diff --git a/clover/controller/control/templates/http_details.html b/clover/controller/control/templates/http_details.html
new file mode 100644
index 0000000..79145b4
--- /dev/null
+++ b/clover/controller/control/templates/http_details.html
@@ -0,0 +1,30 @@
+<h4>HTTP Details</h4>
+<ul class="tabs" data-tabs id="example-tabs">
+ <li class="tabs-title is-active"><a href="#panel1" aria-selected="true">User-Agents</a></li>
+ <li class="tabs-title"><a href="#panel2">Request URLs</a></li>
+ <li class="tabs-title"><a href="#panel3">Status Codes</a></li>
+</ul>
+<div class="tabs-content" data-tabs-content="example-tabs">
+ <div class="tabs-panel is-active" id="panel1">
+ <div class="user_agents">
+ {% for ua in user_agents %}
+ {{ ua }}<br>
+ {% endfor %}
+ </div>
+ </div>
+ <div class="tabs-panel" id="panel2">
+ <div class="request_urls">
+ {% for url in request_urls %}
+ {{ url }}<br>
+ {% endfor %}
+ </div>
+ </div>
+ <div class="tabs-panel" id="panel3">
+ <div class="status_codes">
+ {% for code in status_codes %}
+ {{ code }}<br>
+ {% endfor %}
+ </div>
+ </div>
+</div>
+
diff --git a/clover/controller/control/templates/metric_requests.html b/clover/controller/control/templates/metric_requests.html
new file mode 100644
index 0000000..90c3f73
--- /dev/null
+++ b/clover/controller/control/templates/metric_requests.html
@@ -0,0 +1,10 @@
+{% for m_name, m_count in metric_list.iteritems() %}
+ <div class="large-3 cell">&nbsp;</div>
+ <div class="large-5 medium-3 cell">
+ {{ m_name }}
+ </div>
+ <div class="large-3 medium-3 cell">
+ {{ m_count }}
+ </div>
+ <div class="large-1 cell">&nbsp;</div>
+{% endfor %}
diff --git a/clover/controller/control/templates/request_counts.html b/clover/controller/control/templates/request_counts.html
new file mode 100644
index 0000000..ecf458a
--- /dev/null
+++ b/clover/controller/control/templates/request_counts.html
@@ -0,0 +1,21 @@
+<div class="large-4 medium-3 cell clover-portlet small-offset-2">
+ <h5>Per Service Counts</h5>
+ <div class="span_node_id_all">
+ </div>
+</div>
+<div class="large-4 medium-3 cell clover-portlet">
+ <h5>Per URL Counts (all services)</h5>
+ <div class="span_urls_all">
+ </div>
+</div>
+
+<div class="large-4 medium-3 cell clover-portlet small-offset-2">
+ <h5>Per URL / HTTP Status Codes (all services)</h5>
+ <div class="status_codes_all">
+ </div>
+</div>
+<div class="large-4 medium-3 cell clover-portlet">
+ <h5>User-Agent Percentage</h5>
+ <div class="span_user_agents_all" id="span_user_agents_all">
+ </div>
+</div>
diff --git a/clover/controller/control/templates/rt_system_counts.html b/clover/controller/control/templates/rt_system_counts.html
new file mode 100644
index 0000000..891e79f
--- /dev/null
+++ b/clover/controller/control/templates/rt_system_counts.html
@@ -0,0 +1,23 @@
+<div class="large-2 column">&nbsp;</div>
+<div class="large-8 medium-3 cell clover-portlet">
+ <div class="clover-title"><h4>Tracing Metrics</h4></div>
+</div>
+<div class="large-2 column">&nbsp;</div>
+
+<div class="large-2 column">&nbsp;</div>
+
+<div class="large-4 medium-3 cell clover-portlet">
+ <h5>Visibility System Counts</h5>
+ <div class="system_counts">
+ </div>
+</div>
+
+<div class="large-4 medium-3 cell clover-portlet">
+ <h5>Service Response Times</h5>
+ <div class="grid-x small-up-4 vtoplevel tracing_rt">
+ <div class="cell">Service</div><div class="cell">Min(ms)</div>
+ <div class="cell">Avg(ms)</div><div class="cell">Max(ms)</div>
+ </div>
+</div>
+
+<div class="large-2 column">&nbsp;</div>
diff --git a/clover/controller/control/templates/tracing_names.html b/clover/controller/control/templates/tracing_names.html
new file mode 100644
index 0000000..b85e9cb
--- /dev/null
+++ b/clover/controller/control/templates/tracing_names.html
@@ -0,0 +1,33 @@
+<h4>Tracing Name Parameters</h4>
+<ul class="accordion" data-accordion data-multi-expand="true">
+ <li class="accordion-item is-active" data-accordion-item>
+ <a class="accordion-title">Operation Names</a>
+ <div class="accordion-content" data-tab-content>
+ <div class="op_names">
+ {% for op in op_names %}
+ {{ op }}<br>
+ {% endfor %}
+ </div>
+ </div>
+ </li>
+ <li class="accordion-item" data-accordion-item>
+ <a class="accordion-title">Node IDs</a>
+ <div class="accordion-content" data-tab-content>
+ <div class="node_ids">
+ {% for node in node_ids %}
+ {{ node }}<br>
+ {% endfor %}
+ </div>
+ </div>
+ </li>
+ <li class="accordion-item" data-accordion-item>
+ <a class="accordion-title">Upstream Cluster</a>
+ <div class="accordion-content" data-tab-content>
+ <div class="upstream_clusters">
+ {% for up in upstream_cluster %}
+ {{ up }}<br>
+ {% endfor %}
+ </div>
+ </div>
+ </li>
+</ul>
diff --git a/clover/controller/control/templates/visibility.html b/clover/controller/control/templates/visibility.html
new file mode 100644
index 0000000..060ef5c
--- /dev/null
+++ b/clover/controller/control/templates/visibility.html
@@ -0,0 +1,66 @@
+{% extends 'base.html' %}
+
+{% block head %}
+<script type=text/javascript src="{{
+url_for('static', filename='js/visibility.js') }}">
+</script>
+<script type=text/javascript src="{{
+url_for('static', filename='js/graphing/candela.min.js') }}">
+</script>
+<script type=text/javascript src="{{
+url_for('static', filename='js/graphing/plotly-latest.min.js') }}">
+</script>
+
+{% endblock %}
+
+{% block title %}Visibility Dashboard{% endblock %}
+
+{% block content %}
+
+ <div style="text-align:center;">
+
+ {% include "visibility_controls.html" %}
+
+ <br>
+
+ <div class="grid-x">
+ {% include "rt_system_counts.html" %}
+ {% include "request_counts.html" %}
+
+ <div class="large-4 medium-3 cell clover-portlet small-offset-2">
+ <h5>Per Service/URL Counts</h5>
+ <div class="span_node_urls_all">
+ </div>
+ </div>
+ </div>
+
+ <br>
+
+ <div class="grid-x grid-padding-x">
+ <div class="large-8 medium-3 cell small-offset-2">
+ {% include "http_details.html" %}
+ <br>
+ {% include "tracing_names.html" %}
+ </div>
+ </div>
+
+ <br>
+
+ <div class="grid-x">
+ <div class="large-8 medium-3 cell clover-portlet small-offset-2">
+ <div class="clover-title"><h4>Monitoring Metrics</h4></div>
+ </div>
+ </div>
+
+ <div class="grid-x service_metrics">
+ {% include "metric_requests.html" %}
+ </div>
+
+ <br>
+
+ <div class="grid-x grid-padding-x" id="metrics_graphs">
+ </div>
+
+ </div>
+
+{% endblock %}
diff --git a/clover/controller/control/templates/visibility_controls.html b/clover/controller/control/templates/visibility_controls.html
new file mode 100644
index 0000000..c69fb1e
--- /dev/null
+++ b/clover/controller/control/templates/visibility_controls.html
@@ -0,0 +1,37 @@
+<div class="grid-x">
+ <div class="large-8 medium-3 cell clover-portlet small-offset-2">
+
+ <div class="clover-title"><h4>Visibility Controls</h4></div>
+ <div class="switch large">
+ <input class="switch-input" id="visibilitySwitch" type="checkbox" name="visibilitySwitch" checked>
+ <label class="switch-paddle" for="visibilitySwitch" style="margin-right: 10px;">
+ <span class="show-for-sr">Control Visibility</span>
+ <span class="switch-active" aria-hidden="true">On</span>
+ <span class="switch-inactive" aria-hidden="true">Off</span>
+ </label>
+ <button type="button" id="clear_visibility" class="button" style="margin-top: -16px;">Clear</button>
+ </div>
+
+ <h5>Discovered Services</h5>
+ <div class="">
+ <ol id="visibility_selected">
+ {% for service in tracing_services %}
+ <li class="ui-widget-content">{{ service }}</li>
+ {% endfor %}
+ </ol>
+ </div>
+
+ <div style="clear:left;"></div>
+ <div id="visibility_accordion">
+ <h5>Visibility Services</h5>
+ <div class="vservices">
+ <ol id="vservices">
+ {% for service in vservices %}
+ <li class="ui-widget-content">{{ service }}</li>
+ {% endfor %}
+ </ol>
+ </div>
+ </div>
+
+ </div>
+</div>
diff --git a/clover/controller/control/views/dashboard.py b/clover/controller/control/views/dashboard.py
deleted file mode 100644
index 8b6969c..0000000
--- a/clover/controller/control/views/dashboard.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (c) Authors of Clover
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-
-from flask import Blueprint, render_template, abort
-from jinja2 import TemplateNotFound
-
-simple_page = Blueprint('simple_page', __name__)
-
-
-@simple_page.route('/dashboard', defaults={'page': 'index'})
-def show(page):
- try:
- return render_template('home.html')
- except TemplateNotFound:
- abort(404)
diff --git a/clover/controller/control/views/visibility.py b/clover/controller/control/views/visibility.py
new file mode 100644
index 0000000..d7ac619
--- /dev/null
+++ b/clover/controller/control/views/visibility.py
@@ -0,0 +1,86 @@
+# Copyright (c) Authors of Clover
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+
+from flask import Blueprint, render_template, abort
+from jinja2 import TemplateNotFound
+import redis
+import logging
+
+visibility = Blueprint('visibility', __name__)
+
+
+HOST_IP = 'redis.default'
+
+
+@visibility.route('/')
+@visibility.route('/visibility')
+def show():
+ try:
+ r = redis.StrictRedis(host=HOST_IP, port=6379, db=0)
+
+ vservices = list(r.smembers('visibility_services'))
+ tracing_services = list(r.smembers('tracing_services'))
+ op_names = list(r.smembers('span_operation_name'))
+ request_urls = list(r.smembers('span_urls'))
+ user_agents = list(r.smembers('span_user_agent'))
+ node_ids = list(r.smembers('span_node_id'))
+ upstream_cluster = list(r.smembers('span_upstream_cluster'))
+ status_codes = list(r.smembers('span_status_code'))
+
+ # Get per service aggregate stats
+ metric_prefixes = r.smembers('metric_prefixes')
+ metric_suffixes = r.smembers('metric_suffixes')
+ metric_list = {}
+ for sname in vservices:
+ for prefix in metric_prefixes:
+ for suffix in metric_suffixes:
+ try:
+ metric_name = prefix + sname + suffix
+ metric_count = r.get(metric_name)
+ metric_list[metric_name] = metric_count
+ except Exception as e:
+ logging.debug(e)
+
+ return render_template('visibility.html', vservices=vservices,
+ tracing_services=tracing_services,
+ op_names=op_names,
+ request_urls=request_urls,
+ status_codes=status_codes,
+ user_agents=user_agents,
+ node_ids=node_ids,
+ upstream_cluster=upstream_cluster,
+ metric_list=metric_list,
+ view_title="Visibility Dashboard")
+ except TemplateNotFound:
+ abort(404)
+ except Exception as e:
+ logging.debug(e)
+
+
+@visibility.route('/visibility/metrics')
+def get_metrics():
+ try:
+ r = redis.StrictRedis(host=HOST_IP, port=6379, db=0)
+ # Get per service aggregate stats
+ vservices = list(r.smembers('visibility_services'))
+ metric_prefixes = r.smembers('metric_prefixes')
+ metric_suffixes = r.smembers('metric_suffixes')
+ metric_list = {}
+ for sname in vservices:
+ for prefix in metric_prefixes:
+ for suffix in metric_suffixes:
+ try:
+ metric_name = prefix + sname + suffix
+ metric_count = r.get(metric_name)
+ metric_list[metric_name] = metric_count
+ except Exception as e:
+ logging.debug(e)
+ return render_template('metric_requests.html', metric_list=metric_list)
+ except TemplateNotFound:
+ abort(404)
+ except Exception as e:
+ logging.debug(e)
diff --git a/clover/functest/clover_k8s.py b/clover/functest/clover_k8s.py
index eb546f2..25850c6 100644
--- a/clover/functest/clover_k8s.py
+++ b/clover/functest/clover_k8s.py
@@ -7,6 +7,7 @@
import functest_kubernetes.k8stest as k8stest
+import clover.servicemesh.validate as istio_validate
class K8sCloverTest(k8stest.K8sTesting):
"""Clover test suite"""
@@ -17,8 +18,8 @@ class K8sCloverTest(k8stest.K8sTesting):
super(K8sCloverTest, self).__init__(**kwargs)
def run_kubetest(self):
- success = True
+ success = istio_validate.validateDeploy()
if success:
self.result = 100
- elif failure:
+ else:
self.result = 0
diff --git a/clover/servicemesh/validate.py b/clover/servicemesh/validate.py
new file mode 100644
index 0000000..0e2e59a
--- /dev/null
+++ b/clover/servicemesh/validate.py
@@ -0,0 +1,47 @@
+#!/usr/bin/env python
+
+# Copyright (c) Authors of Clover
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+
+from kubernetes import client, config
+
+ISTIO_NAMESPACE = "istio-system"
+ISTIO_DEPLOYMENT = "istio-pilot"
+
+
+def validateDeploy():
+ config.load_kube_config()
+ appsv1 = client.AppsV1Api()
+ corev1 = client.CoreV1Api()
+ find_flag = False
+
+ # check deploytment
+ ret = appsv1.list_deployment_for_all_namespaces(watch=False)
+ for i in ret.items:
+ if ISTIO_DEPLOYMENT == i.metadata.name and \
+ ISTIO_NAMESPACE == i.metadata.namespace:
+ find_flag = True
+ break
+ if find_flag == False:
+ print("ERROR: Deployment: {} doesn't present in {} namespace".format(
+ ISTIO_DEPLOYMENT, ISTIO_NAMESPACE))
+ return False
+
+ return True
+
+
+def main():
+ if validateDeploy():
+ print"Istio install validation has passed"
+ return True
+ else:
+ print"ERROR: Istio install validation has failed"
+ return False
+
+
+if __name__ == '__main__':
+ main()
diff --git a/clover/spark/build.sbt b/clover/spark/build.sbt
new file mode 100644
index 0000000..ede00bb
--- /dev/null
+++ b/clover/spark/build.sbt
@@ -0,0 +1,19 @@
+// Copyright (c) Authors of Clover
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Apache License, Version 2.0
+// which accompanies this distribution, and is available at
+// http://www.apache.org/licenses/LICENSE-2.0
+
+name := "Clover Spark"
+
+version := "1.0"
+
+scalaVersion := "2.11.6"
+
+libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.3.2"
+libraryDependencies += "datastax" % "spark-cassandra-connector" % "2.3.0-s_2.11"
+
+libraryDependencies ++= Seq(
+ "net.debasishg" %% "redisclient" % "3.7"
+)
diff --git a/clover/spark/docker/clover-spark/Dockerfile b/clover/spark/docker/clover-spark/Dockerfile
new file mode 100644
index 0000000..d63c30a
--- /dev/null
+++ b/clover/spark/docker/clover-spark/Dockerfile
@@ -0,0 +1,61 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+FROM openjdk:8-alpine
+
+ARG spark_jars=jars
+ARG img_path=kubernetes/dockerfiles
+
+# Before building the docker image, first build and make a Spark distribution following
+# the instructions in http://spark.apache.org/docs/latest/building-spark.html.
+# If this docker file is being used in the context of building your images from a Spark
+# distribution, the docker build command should be invoked from the top level directory
+# of the Spark distribution. E.g.:
+# docker build -t spark:latest -f kubernetes/dockerfiles/spark/Dockerfile .
+
+RUN set -ex && \
+ apk upgrade --no-cache && \
+ apk add --no-cache bash tini libc6-compat && \
+ mkdir -p /opt/spark && \
+ mkdir -p /opt/spark/work-dir \
+ touch /opt/spark/RELEASE && \
+ rm /bin/sh && \
+ ln -sv /bin/bash /bin/sh && \
+ chgrp root /etc/passwd && chmod ug+rw /etc/passwd
+
+RUN mkdir /spark
+WORKDIR /spark
+RUN wget https://archive.apache.org/dist/spark/spark-2.3.2/spark-2.3.2-bin-hadoop2.7.tgz
+RUN tar -xvzf spark-2.3.2-bin-hadoop2.7.tgz
+WORKDIR /spark/spark-2.3.2-bin-hadoop2.7
+
+RUN cp -R ${spark_jars} /opt/spark/jars
+COPY jars/clover-spark_2.11-1.0.jar /opt/spark/jars
+COPY jars/datastax_spark-cassandra-connector-2.3.0-s_2.11.jar /opt/spark/jars
+COPY jars/redisclient_2.11-3.7.jar /opt/spark/jars
+RUN cp -R bin /opt/spark/bin
+RUN cp -R sbin /opt/spark/sbin
+RUN cp -R conf /opt/spark/conf
+RUN cp -R ${img_path}/spark/entrypoint.sh /opt/
+
+
+ENV SPARK_HOME /opt/spark
+
+WORKDIR /opt/spark/work-dir
+RUN rm -rf /spark
+
+ENTRYPOINT [ "/opt/entrypoint.sh" ]
diff --git a/clover/spark/docker/clover-spark/build.sh b/clover/spark/docker/clover-spark/build.sh
new file mode 100755
index 0000000..d139b35
--- /dev/null
+++ b/clover/spark/docker/clover-spark/build.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+#
+# Copyright (c) Authors of Clover
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+
+IMAGE_PATH=${IMAGE_PATH:-"localhost:5000"}
+IMAGE_NAME=${IMAGE_NAME:-"clover-spark:latest"}
+
+# Copy clover-spark jar first
+cp ../../target/scala-2.11/clover-spark_2.11-1.0.jar jars/
+
+docker build -t $IMAGE_NAME -f Dockerfile .
+docker tag $IMAGE_NAME $IMAGE_PATH/$IMAGE_NAME
+docker push $IMAGE_PATH/$IMAGE_NAME
+
diff --git a/clover/spark/docker/spark-submit/Dockerfile b/clover/spark/docker/spark-submit/Dockerfile
new file mode 100644
index 0000000..898df1a
--- /dev/null
+++ b/clover/spark/docker/spark-submit/Dockerfile
@@ -0,0 +1,23 @@
+# Copyright (c) Authors of Clover
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+
+FROM java:8
+
+RUN mkdir /spark
+WORKDIR /spark
+RUN wget https://archive.apache.org/dist/spark/spark-2.3.2/spark-2.3.2-bin-hadoop2.7.tgz
+# COPY spark-2.3.2-bin-hadoop2.7.tgz /spark
+RUN tar -xvzf spark-2.3.2-bin-hadoop2.7.tgz
+
+COPY runner.sh /spark/spark-2.3.2-bin-hadoop2.7
+COPY runner_fast.sh /spark/spark-2.3.2-bin-hadoop2.7
+WORKDIR /spark/spark-2.3.2-bin-hadoop2.7
+
+RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
+RUN chmod +x ./kubectl
+
+CMD ./runner.sh
diff --git a/clover/spark/docker/spark-submit/build.sh b/clover/spark/docker/spark-submit/build.sh
new file mode 100755
index 0000000..1bcbbc2
--- /dev/null
+++ b/clover/spark/docker/spark-submit/build.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+#
+# Copyright (c) Authors of Clover
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+
+IMAGE_PATH=${IMAGE_PATH:-"localhost:5000"}
+IMAGE_NAME=${IMAGE_NAME:-"clover-spark-submit:latest"}
+
+docker build -f Dockerfile -t $IMAGE_NAME .
+docker tag $IMAGE_NAME $IMAGE_PATH/$IMAGE_NAME
+docker push $IMAGE_PATH/$IMAGE_NAME
+
diff --git a/clover/spark/docker/spark-submit/runner.sh b/clover/spark/docker/spark-submit/runner.sh
new file mode 100755
index 0000000..5de3824
--- /dev/null
+++ b/clover/spark/docker/spark-submit/runner.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+#
+# Copyright (c) Authors of Clover
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+
+# Fast refresh analytics
+./runner_fast.sh &
+
+IMAGE_NAME=${IMAGE_NAME:-"clover-spark:latest"}
+IMAGE_PATH=${IMAGE_PATH:-"opnfv"}
+CLASS_NAME=${CLASS_NAME:-"CloverSlow"}
+JAR_NAME=${JAR_NAME:-"clover-spark_2.11-1.0.jar"}
+
+bin/spark-submit \
+ --master k8s://https://kubernetes.default.svc \
+ --deploy-mode cluster \
+ --name "clover-spark" \
+ --class $CLASS_NAME \
+ --conf spark.executor.instances=2 \
+ --conf spark.kubernetes.container.image="$IMAGE_PATH/$IMAGE_NAME" \
+ --conf spark.kubernetes.authenticate.driver.serviceAccountName="clover-spark" \
+ --conf spark.kubernetes.namespace="clover-system" \
+ --jars local:///opt/spark/jars/redisclient_2.11-3.7.jar,local:///opt/spark/jars/datastax_spark-cassandra-connector-2.3.0-s_2.11.jar \
+ local:///opt/spark/jars/$JAR_NAME
+
+./kubectl -n clover-system delete pod,svc -l spark-role=driver
diff --git a/clover/spark/docker/spark-submit/runner_fast.sh b/clover/spark/docker/spark-submit/runner_fast.sh
new file mode 100755
index 0000000..0a387b2
--- /dev/null
+++ b/clover/spark/docker/spark-submit/runner_fast.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+#
+# Copyright (c) Authors of Clover
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+
+IMAGE_NAME=${IMAGE_NAME:-"clover-spark:latest"}
+IMAGE_PATH=${IMAGE_PATH:-"opnfv"}
+CLASS_NAME=${CLASS_NAME:-"CloverFast"}
+JAR_NAME=${JAR_NAME:-"clover-spark_2.11-1.0.jar"}
+
+bin/spark-submit \
+ --master k8s://https://kubernetes.default.svc \
+ --deploy-mode cluster \
+ --name "clover-spark-fast" \
+ --class $CLASS_NAME \
+ --conf spark.executor.instances=2 \
+ --conf spark.kubernetes.container.image="$IMAGE_PATH/$IMAGE_NAME" \
+ --conf spark.kubernetes.authenticate.driver.serviceAccountName="clover-spark" \
+ --conf spark.kubernetes.namespace="clover-system" \
+ --jars local:///opt/spark/jars/redisclient_2.11-3.7.jar,local:///opt/spark/jars/datastax_spark-cassandra-connector-2.3.0-s_2.11.jar \
+ local:///opt/spark/jars/$JAR_NAME
diff --git a/clover/spark/src/main/scala/CloverFast.scala b/clover/spark/src/main/scala/CloverFast.scala
new file mode 100644
index 0000000..b746760
--- /dev/null
+++ b/clover/spark/src/main/scala/CloverFast.scala
@@ -0,0 +1,55 @@
+// Copyright (c) Authors of Clover
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Apache License, Version 2.0
+// which accompanies this distribution, and is available at
+// http://www.apache.org/licenses/LICENSE-2.0
+
+import org.apache.spark.sql.SparkSession
+import com.datastax.spark.connector._
+import org.apache.spark.sql.cassandra._
+import org.apache.spark.SparkContext
+import org.apache.spark.SparkConf
+
+import com.redis._
+
+object CloverFast {
+ def main(args: Array[String]) {
+ val sp = SparkSession.builder.appName("Clover Fast")
+ .getOrCreate()
+ sp.stop()
+
+ val CassandraConnect = "cassandra.clover-system"
+ val RedisConnect = "redis.default"
+
+ // Cassandra, Redis, Spark Context
+ val scch = "spark.cassandra.connection.host"
+ val conf = new SparkConf(true).set(scch, CassandraConnect)
+ val redis = new RedisClient(RedisConnect, 6379)
+ val sc = new SparkContext(conf)
+
+ for( x <- 1 to 10000 ) {
+
+ try {
+ val spans = sc.cassandraTable("visibility", "spans")
+ .select("spanid").cassandraCount()
+ redis.set("span_count", spans)
+
+ val traces = sc.cassandraTable("visibility", "traces")
+ .select("traceid").cassandraCount()
+ redis.set("trace_count", traces)
+
+ val metrics = sc.cassandraTable("visibility", "metrics")
+ .select("monitor_time").cassandraCount()
+ redis.set("metric_count", metrics)
+
+ }
+ catch {
+ case unknown : Throwable => println("System counts exception: "
+ + unknown)
+ }
+
+ }
+
+ }
+}
diff --git a/clover/spark/src/main/scala/CloverSlow.scala b/clover/spark/src/main/scala/CloverSlow.scala
new file mode 100644
index 0000000..c389967
--- /dev/null
+++ b/clover/spark/src/main/scala/CloverSlow.scala
@@ -0,0 +1,232 @@
+// Copyright (c) Authors of Clover
+//
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Apache License, Version 2.0
+// which accompanies this distribution, and is available at
+// http://www.apache.org/licenses/LICENSE-2.0
+
+
+import org.apache.spark.sql.SparkSession
+import com.datastax.spark.connector._
+import org.apache.spark.sql.cassandra._
+
+
+import org.apache.spark.SparkContext
+import org.apache.spark.SparkConf
+
+import com.redis._
+
+object CloverSlow {
+ def main(args: Array[String]) {
+ val sp = SparkSession.builder.appName("Clover Slow").getOrCreate()
+ sp.stop()
+
+ val CassandraConnect = "cassandra.clover-system"
+ val RedisConnect = "redis.default"
+
+
+ // Enable/disable various analytics
+ val distinct_url_service = false
+ val response_times = true
+
+ // Cassandra, Redis, Spark Context
+ val scch = "spark.cassandra.connection.host"
+ val conf = new SparkConf(true).set(scch, CassandraConnect)
+ val redis = new RedisClient(RedisConnect, 6379)
+ val sc = new SparkContext(conf)
+
+ val spark = SparkSession
+ .builder()
+ .appName("Clover Visibility Stats")
+ .config("spark.cassandra.connection.host", CassandraConnect)
+ .config("spark.cassandra.connection.port", "9042")
+ .getOrCreate()
+
+ spark
+ .read.cassandraFormat("spans", "visibility")
+ .load()
+ .createOrReplaceTempView("curspans")
+
+ for( x <- 1 to 500 ) {
+
+ val services = redis.smembers("visibility_services")
+
+ if (distinct_url_service) {
+ // Get number of distinct URLs per service (node_id)
+ for (s <- services.get) {
+ val service = s.get
+ val perurl = spark.sql(
+ s"""
+ |SELECT node_id,count(distinct http_url)
+ |as urls,collect_set(http_url) as values
+ |FROM curspans
+ |WHERE node_id LIKE '%$service%'
+ |GROUP BY node_id
+ """.stripMargin)
+ for ((row) <- perurl.collect) {
+ println(row)
+ val node_id = row.get(0)
+ val url_count = row.get(1)
+ val url_distinct = row.getList(2).toString
+ redis.hmset(service, Map("node_id" -> node_id,
+ "url_count" -> url_count,
+ "url_distinct" -> url_distinct))
+ }
+ }
+ }
+
+ if (response_times) {
+ try {
+ for (s <- services.get) {
+ val service = s.get.replace('_', '-')
+ val service_rt = spark.sql(
+ s"""
+ |SELECT avg(duration),min(duration),max(duration)
+ |FROM curspans
+ |WHERE node_id LIKE '%$service%'
+ |AND upstream_cluster LIKE '%inbound%'
+ """.stripMargin)
+ if (service_rt.count > 0) {
+ val avg_rt = service_rt.first.getDouble(0) / 1000.0
+ val min_rt = service_rt.first.getInt(1) / 1000.0
+ val max_rt = service_rt.first.getInt(2) / 1000.0
+ redis.hmset(service, Map("avg_rt" -> f"$avg_rt%1.2f",
+ "min_rt" -> f"$min_rt%1.2f",
+ "max_rt" -> f"$max_rt%1.2f"))
+ } else {
+ redis.hmset(service, Map("avg_rt" -> "NA",
+ "min_rt" -> "NA",
+ "max_rt" -> "NA"))
+ }
+ }
+ } catch {
+ case unknown : Throwable => println("RT exception: "
+ + unknown)
+ //unknown.printStackTrace
+ }
+ }
+
+ // Per URL counts all nodes
+ val urlcount = spark.sql(
+ s"""
+ |SELECT http_url,count(http_url) as urls FROM curspans
+ |GROUP BY http_url
+ """.stripMargin)
+ redis.del("span_urls")
+ redis.del("span_urls_z")
+ for ((row) <- urlcount.collect) {
+ redis.sadd("span_urls", row.get(0))
+ redis.zadd("span_urls_z", row.getLong(1).toDouble, row.get(0))
+ }
+
+ // User-Agents all nodes
+ val uacount = spark.sql(
+ s"""
+ |SELECT user_agent,count(user_agent) as ua FROM curspans
+ |GROUP BY user_agent
+ """.stripMargin)
+ redis.del("span_user_agent")
+ redis.del("span_user_agent_z")
+ for ((row) <- uacount.collect) {
+ redis.sadd("span_user_agent", row.get(0))
+ redis.zadd("span_user_agent_z", row.getLong(1).toDouble,
+ row.get(0))
+ }
+
+ // Node ids all nodes
+ val nodecount = spark.sql(
+ s"""
+ |SELECT node_id,count(node_id) as node FROM curspans
+ |GROUP BY node_id
+ """.stripMargin)
+ redis.del("span_node_id")
+ redis.del("span_node_id_z")
+ for ((row) <- nodecount.collect) {
+ redis.sadd("span_node_id", row.get(0))
+ redis.zadd("span_node_id_z", row.getLong(1).toDouble, row.get(0))
+ }
+
+ // Per URL/status codes all nodes
+ val statuscount = spark.sql(
+ s"""
+ |SELECT http_url,status_code,count(status_code) as urls
+ |FROM curspans
+ |GROUP BY http_url,status_code
+ """.stripMargin)
+ redis.del("span_status_codes_z")
+ for ((row) <- statuscount.collect) {
+ val key_url_code = row.get(1) + ", " + row.get(0)
+ redis.zadd("span_status_codes_z", row.getLong(2).toDouble,
+ key_url_code)
+ }
+
+ // Per Service/URL counts
+ val node_url_count = spark.sql(
+ s"""
+ |SELECT node_id,http_url,count(http_url) as urls
+ |FROM curspans
+ |GROUP BY node_id,http_url
+ """.stripMargin)
+ redis.del("span_node_url_z")
+ for ((row) <- node_url_count.collect) {
+ val key_node_url = row.get(0) + ", " + row.get(1)
+ redis.zadd("span_node_url_z", row.getLong(2).toDouble,
+ key_node_url)
+ }
+
+ // Distinct span fields
+ val distinct_keys = List("operation_name", "upstream_cluster",
+ "status_code")
+ for (field <- distinct_keys) {
+ val distinct_span = spark.sql(
+ s"""
+ |SELECT $field FROM curspans
+ |GROUP BY $field
+ """.stripMargin)
+ val dk = "span_" + field
+ redis.del(dk)
+ for ((row) <- distinct_span.collect) {
+ redis.sadd(dk, row.get(0))
+ }
+ }
+
+ // Metrics, per service
+ spark
+ .read.cassandraFormat("metrics", "visibility")
+ .load()
+ .createOrReplaceTempView("curmetrics")
+
+ val metric_prefixes = redis.smembers("metric_prefixes")
+ val metric_suffixes = redis.smembers("metric_suffixes")
+
+ try {
+ for (s <- services.get) {
+ //val service = s.get.replace('_', '-')
+ val service = s.get
+ for (m_prefix <- metric_prefixes.get) {
+ val mp = m_prefix.get
+ for (m_suffix <- metric_suffixes.get) {
+ val ms = m_suffix.get
+ val metric_result = spark.sql(
+ s"""
+ |SELECT m_value FROM curmetrics
+ |WHERE m_name = '$mp$service$ms'
+ |ORDER BY m_time DESC LIMIT 100
+ """.stripMargin)
+ val metric_key = "metrics_" + mp + service + ms
+ redis.del(metric_key)
+ for ((row) <- metric_result.collect) {
+ redis.lpush(metric_key, row.get(0))
+ }
+ }
+ }
+ }
+ } catch {
+ case unknown : Throwable => println("Metrics exception: "
+ + unknown)
+ // unknown.printStackTrace
+ }
+ }
+
+ }
+}
diff --git a/clover/spark/yaml/clover-spark.yaml b/clover/spark/yaml/clover-spark.yaml
new file mode 100644
index 0000000..f12a66c
--- /dev/null
+++ b/clover/spark/yaml/clover-spark.yaml
@@ -0,0 +1,49 @@
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: clover-spark
+ namespace: clover-system
+---
+apiVersion: rbac.authorization.k8s.io/v1beta1
+kind: ClusterRoleBinding
+metadata:
+ name: clover-spark-default
+subjects:
+ - kind: ServiceAccount
+ name: default
+ namespace: clover-system
+roleRef:
+ kind: ClusterRole
+ name: cluster-admin
+ apiGroup: rbac.authorization.k8s.io
+---
+apiVersion: rbac.authorization.k8s.io/v1beta1
+kind: ClusterRoleBinding
+metadata:
+ name: clover-spark
+subjects:
+ - kind: ServiceAccount
+ name: clover-spark
+ namespace: clover-system
+roleRef:
+ kind: ClusterRole
+ name: cluster-admin
+ apiGroup: rbac.authorization.k8s.io
+---
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: clover-spark-submit
+ namespace: clover-system
+ labels:
+ app: clover-spark
+spec:
+ template:
+ metadata:
+ labels:
+ app: clover-spark
+ spec:
+ containers:
+ - name: clover-spark
+ image: localhost:5000/clover-spark-submit:latest
diff --git a/clover/spinnaker/install/quick-install-spinnaker.yml b/clover/spinnaker/install/quick-install-spinnaker.yml
index 31a2b27..2b19037 100644
--- a/clover/spinnaker/install/quick-install-spinnaker.yml
+++ b/clover/spinnaker/install/quick-install-spinnaker.yml
@@ -69,6 +69,9 @@ spec:
mountPath: /home/spinnaker/staging/.hal/default/service-settings/fiat.yml
subPath: fiat.yml
- name: halconfig
+ mountPath: /home/spinnaker/staging/.hal/default/service-settings/clouddriver.yml
+ subPath: clouddriver.yml
+ - name: halconfig
mountPath: /home/spinnaker/staging/.hal/default/profiles/front50-local.yml
subPath: front50-local.yml
volumes:
@@ -112,11 +115,15 @@ data:
host: 0.0.0.0
env:
API_HOST: http://spin-gate.spinnaker:8084/
+ clouddriver.yml: |
+ env:
+ AWS_ACCESS_KEY_ID: dont-use-this
+ AWS_SECRET_ACCESS_KEY: for-production
config: |
currentDeployment: default
deploymentConfigurations:
- name: default
- version: 1.7.0
+ version: 1.10.5
providers:
appengine:
enabled: false
@@ -211,6 +218,7 @@ data:
chaos: false
entityTags: false
jobs: false
+ artifacts: true
metricStores:
datadog:
enabled: false
@@ -273,6 +281,12 @@ data:
http:
enabled: false
accounts: []
+ s3:
+ enabled: true
+ accounts:
+ - name: s3-account
+ apiEndpoint: http://minio-service.spinnaker:9000
+ apiRegion: clover
pubsub:
google:
enabled: false
diff --git a/clover/tools/jmeter/jmeter-master/Dockerfile b/clover/tools/jmeter/jmeter-master/Dockerfile
index da0e474..5987003 100644
--- a/clover/tools/jmeter/jmeter-master/Dockerfile
+++ b/clover/tools/jmeter/jmeter-master/Dockerfile
@@ -7,7 +7,7 @@
FROM java:8
-RUN wget http://apache.mirrors.hoobly.com//jmeter/binaries/apache-jmeter-4.0.tgz
+RUN wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-4.0.tgz
RUN tar -xvzf apache-jmeter-4.0.tgz
RUN rm apache-jmeter-4.0.tgz
RUN mv apache-jmeter-4.0 /jmeter
diff --git a/clover/tools/jmeter/jmeter-master/grpc/jmeter.proto b/clover/tools/jmeter/jmeter-master/grpc/jmeter.proto
index 7213faa..f65ed6c 100644
--- a/clover/tools/jmeter/jmeter-master/grpc/jmeter.proto
+++ b/clover/tools/jmeter/jmeter-master/grpc/jmeter.proto
@@ -29,8 +29,10 @@ message ConfigJmeter {
string url_names = 3;
string url_protocols = 4;
string url_methods = 5;
- string loops = 6;
- string ramp_time = 7;
+ string url_agents = 6;
+ string loops = 7;
+ string ramp_time = 8;
+ string duration = 9;
}
message JmeterReply {
diff --git a/clover/tools/jmeter/jmeter-master/grpc/jmeter_pb2.py b/clover/tools/jmeter/jmeter-master/grpc/jmeter_pb2.py
index e4a75fd..7a2d62c 100644
--- a/clover/tools/jmeter/jmeter-master/grpc/jmeter_pb2.py
+++ b/clover/tools/jmeter/jmeter-master/grpc/jmeter_pb2.py
@@ -19,7 +19,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
name='jmeter.proto',
package='jmeter',
syntax='proto3',
- serialized_pb=_b('\n\x0cjmeter.proto\x12\x06jmeter\"F\n\nTestParams\x12\x12\n\nnum_slaves\x18\x01 \x01(\t\x12\x11\n\ttest_plan\x18\x02 \x01(\t\x12\x11\n\tslave_ips\x18\x03 \x01(\t\"\x96\x01\n\x0c\x43onfigJmeter\x12\x10\n\x08url_list\x18\x01 \x01(\t\x12\x13\n\x0bnum_threads\x18\x02 \x01(\t\x12\x11\n\turl_names\x18\x03 \x01(\t\x12\x15\n\rurl_protocols\x18\x04 \x01(\t\x12\x13\n\x0burl_methods\x18\x05 \x01(\t\x12\r\n\x05loops\x18\x06 \x01(\t\x12\x11\n\tramp_time\x18\x07 \x01(\t\"\x1e\n\x0bJmeterReply\x12\x0f\n\x07message\x18\x01 \x01(\t\",\n\x08JResults\x12\x10\n\x08r_format\x18\x01 \x01(\t\x12\x0e\n\x06r_file\x18\x02 \x01(\t2\xb3\x01\n\nController\x12\x36\n\x07GenTest\x12\x14.jmeter.ConfigJmeter\x1a\x13.jmeter.JmeterReply\"\x00\x12\x36\n\tStartTest\x12\x12.jmeter.TestParams\x1a\x13.jmeter.JmeterReply\"\x00\x12\x35\n\nGetResults\x12\x10.jmeter.JResults\x1a\x13.jmeter.JmeterReply\"\x00\x62\x06proto3')
+ serialized_pb=_b('\n\x0cjmeter.proto\x12\x06jmeter\"F\n\nTestParams\x12\x12\n\nnum_slaves\x18\x01 \x01(\t\x12\x11\n\ttest_plan\x18\x02 \x01(\t\x12\x11\n\tslave_ips\x18\x03 \x01(\t\"\xbc\x01\n\x0c\x43onfigJmeter\x12\x10\n\x08url_list\x18\x01 \x01(\t\x12\x13\n\x0bnum_threads\x18\x02 \x01(\t\x12\x11\n\turl_names\x18\x03 \x01(\t\x12\x15\n\rurl_protocols\x18\x04 \x01(\t\x12\x13\n\x0burl_methods\x18\x05 \x01(\t\x12\x12\n\nurl_agents\x18\x06 \x01(\t\x12\r\n\x05loops\x18\x07 \x01(\t\x12\x11\n\tramp_time\x18\x08 \x01(\t\x12\x10\n\x08\x64uration\x18\t \x01(\t\"\x1e\n\x0bJmeterReply\x12\x0f\n\x07message\x18\x01 \x01(\t\",\n\x08JResults\x12\x10\n\x08r_format\x18\x01 \x01(\t\x12\x0e\n\x06r_file\x18\x02 \x01(\t2\xb3\x01\n\nController\x12\x36\n\x07GenTest\x12\x14.jmeter.ConfigJmeter\x1a\x13.jmeter.JmeterReply\"\x00\x12\x36\n\tStartTest\x12\x12.jmeter.TestParams\x1a\x13.jmeter.JmeterReply\"\x00\x12\x35\n\nGetResults\x12\x10.jmeter.JResults\x1a\x13.jmeter.JmeterReply\"\x00\x62\x06proto3')
)
@@ -113,19 +113,33 @@ _CONFIGJMETER = _descriptor.Descriptor(
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
- name='loops', full_name='jmeter.ConfigJmeter.loops', index=5,
+ name='url_agents', full_name='jmeter.ConfigJmeter.url_agents', index=5,
number=6, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
- name='ramp_time', full_name='jmeter.ConfigJmeter.ramp_time', index=6,
+ name='loops', full_name='jmeter.ConfigJmeter.loops', index=6,
number=7, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='ramp_time', full_name='jmeter.ConfigJmeter.ramp_time', index=7,
+ number=8, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='duration', full_name='jmeter.ConfigJmeter.duration', index=8,
+ number=9, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
],
extensions=[
],
@@ -139,7 +153,7 @@ _CONFIGJMETER = _descriptor.Descriptor(
oneofs=[
],
serialized_start=97,
- serialized_end=247,
+ serialized_end=285,
)
@@ -169,8 +183,8 @@ _JMETERREPLY = _descriptor.Descriptor(
extension_ranges=[],
oneofs=[
],
- serialized_start=249,
- serialized_end=279,
+ serialized_start=287,
+ serialized_end=317,
)
@@ -207,8 +221,8 @@ _JRESULTS = _descriptor.Descriptor(
extension_ranges=[],
oneofs=[
],
- serialized_start=281,
- serialized_end=325,
+ serialized_start=319,
+ serialized_end=363,
)
DESCRIPTOR.message_types_by_name['TestParams'] = _TESTPARAMS
@@ -253,8 +267,8 @@ _CONTROLLER = _descriptor.ServiceDescriptor(
file=DESCRIPTOR,
index=0,
options=None,
- serialized_start=328,
- serialized_end=507,
+ serialized_start=366,
+ serialized_end=545,
methods=[
_descriptor.MethodDescriptor(
name='GenTest',
diff --git a/clover/tools/jmeter/jmeter-master/grpc/jmeter_server.py b/clover/tools/jmeter/jmeter-master/grpc/jmeter_server.py
index cef180c..9f9e561 100644
--- a/clover/tools/jmeter/jmeter-master/grpc/jmeter_server.py
+++ b/clover/tools/jmeter/jmeter-master/grpc/jmeter_server.py
@@ -37,6 +37,7 @@ class Controller(jmeter_pb2_grpc.ControllerServicer):
template_file = 'tests/jmx.template'
unames = pickle.loads(r.url_names)
umethods = pickle.loads(r.url_methods)
+ uagents = pickle.loads(r.url_agents)
ulist = []
for url in pickle.loads(r.url_list):
u = urlparse(url)
@@ -58,7 +59,9 @@ class Controller(jmeter_pb2_grpc.ControllerServicer):
num_threads=r.num_threads,
url_names=unames,
url_methods=umethods,
+ url_agents=uagents,
ramp_time=r.ramp_time,
+ duration=r.duration,
loops=r.loops,
url_list=ulist
)
diff --git a/clover/tools/jmeter/jmeter-master/tests/jmx.template b/clover/tools/jmeter/jmeter-master/tests/jmx.template
index 1a6fa95..ad3414d 100644
--- a/clover/tools/jmeter/jmeter-master/tests/jmx.template
+++ b/clover/tools/jmeter/jmeter-master/tests/jmx.template
@@ -23,7 +23,7 @@
<longProp name="ThreadGroup.start_time">1385457190000</longProp>
<longProp name="ThreadGroup.end_time">1385457190000</longProp>
<boolProp name="ThreadGroup.scheduler">true</boolProp>
- <stringProp name="ThreadGroup.duration">60</stringProp>
+ <stringProp name="ThreadGroup.duration">{{ duration }}</stringProp>
<stringProp name="ThreadGroup.delay"/>
<boolProp name="ThreadGroup.delayedStart">true</boolProp>
</ThreadGroup>
@@ -49,7 +49,17 @@
<stringProp name="HTTPSampler.embedded_url_re"/>
<stringProp name="HTTPSampler.implementation"/>
</HTTPSampler>
+ <hashTree>
+ <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
+ <collectionProp name="HeaderManager.headers">
+ <elementProp name="" elementType="Header">
+ <stringProp name="Header.name">User-Agent</stringProp>
+ <stringProp name="Header.value">{{ url_agents[loop.index0] }}</stringProp>
+ </elementProp>
+ </collectionProp>
+ </HeaderManager>
<hashTree/>
+ </hashTree>
{%- endfor %}
diff --git a/clover/tools/jmeter/jmeter-slave/Dockerfile b/clover/tools/jmeter/jmeter-slave/Dockerfile
index b5ccbcd..fc06fe9 100644
--- a/clover/tools/jmeter/jmeter-slave/Dockerfile
+++ b/clover/tools/jmeter/jmeter-slave/Dockerfile
@@ -7,7 +7,7 @@
FROM java:8
-RUN wget http://apache.mirrors.hoobly.com//jmeter/binaries/apache-jmeter-4.0.tgz
+RUN wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-4.0.tgz
RUN tar -xvzf apache-jmeter-4.0.tgz
RUN rm apache-jmeter-4.0.tgz
RUN mv apache-jmeter-4.0 /jmeter
diff --git a/clover/tools/jmeter/yaml/manifest.template b/clover/tools/jmeter/yaml/manifest.template
index 01a4595..369df31 100644
--- a/clover/tools/jmeter/yaml/manifest.template
+++ b/clover/tools/jmeter/yaml/manifest.template
@@ -7,7 +7,7 @@ metadata:
app: {{ deploy_name }}
spec:
{%- if replica_count %}
- replicas: 3{% endif %}
+ replicas: {{ replica_count }}{% endif %}
template:
metadata:
labels:
diff --git a/docs/conf.yaml b/docs/conf.yaml
index f871056..df012a4 100644
--- a/docs/conf.yaml
+++ b/docs/conf.yaml
@@ -1,3 +1,3 @@
---
project_cfg: opnfv
-project: CLOVER
+project: Clover
diff --git a/docs/development/design/clovisor.rst b/docs/development/design/clovisor.rst
new file mode 100644
index 0000000..e829bff
--- /dev/null
+++ b/docs/development/design/clovisor.rst
@@ -0,0 +1,205 @@
+########
+Clovisor
+########
+
+*****************
+What is Clovisor?
+*****************
+
+One of Clover's goals is to investigate an optimal way to perform network
+tracing in cloud native environment. Clovisor is project Clover's initial
+attempt to provide such solution.
+
+Clovisor is named due to it being "Clover's use of IOVisor". `IOVisor`_ is a
+set of tools to ease eBPF code development for tracing, monitoring, and other
+networking functions. BPF stands for Berkeley Packet Filter, an in-kernel
+virtual machine like construct which allows developers to inject bytecodes in
+various kernel event points. More information regarding BPF can be found
+`here`_. Clovisor utilizes the `goBPF`_ module from IOVisor as part of its
+control plane, and primarily uses BPF code to perform packet filtering in the
+data plane.
+
+.. _IOVisor: https://github.com/iovisor
+.. _here: https://cilium.readthedocs.io/en/v1.2/bpf/
+.. _goBPF: https://github.com/iovisor/gobpf
+
+**********************
+Clovisor Functionality
+**********************
+
+Clovisor is primarily a session based network tracing module, that is, it
+generates network traces on a per-session basis, i.e., on a request and response
+pair basis. It records information pertaining to L3/L4 and L7 (just HTTP 1.0 and
+1.1 for now) regarding the session. The traces are sent to Jaeger server who
+acts as tracer, or trace collector.
+
+********************
+Clovisor Requirement
+********************
+
+Clovisor is tested on kernel versions 4.14.x and 4.15.x. For Ubuntu servers
+built-in kernel, it requires Ubuntu version 18.04.
+
+*****************
+Clovisor Workflow
+*****************
+
+Clovisor runs as a `DaemonSet`_ --- that is, it runs on every nodes in a
+Kubernetes cluster, including being automatically launched in newly joined node.
+Clovior runs in the "clovisor" Kubernetes namespace, and it needs to run in
+privilege mode and be granted at least pod and service readable right for the
+Kubernetes namespace(s) in which it is monitoring, i.e., a RBAC needs to be set
+up to grant such access right to the clovisor namespace service account.
+
+Clovisor looks for its configuration(s) from redis server in clover-system
+namespace. The three config info for Clovisor for now are:
+
+#. clovisor_labels, a list of labels which Clovisor would filter for monitoring
+#. clovisor_egress_match, a list of interested egress side IP/port for outbound
+ traffic monitoring
+#. clovisor_jaeger_server, specifying the Jaeger server name / port to send
+ traces to
+
+By default Clovisor would monitor all the pods under the 'default' namespace.
+It will read the service port name associated with the pod under monitoring,
+and use the service port name to determine the network protocol to trace.
+Clovisor expects the same service port naming convention / nomenclature as
+Istio, which is specified in `istio`_. Clovisor extracts expected network
+protocol from these names; some examples are
+
+.. code-block:: yaml
+
+ apiVersion: v1
+ kind: Service
+ [snip]
+ spec:
+ ports:
+ - port: 1234
+ name: http
+
+With the above example in the service specification, Clovisor would specifically
+look to trace HTTP packets for packets matching that destination port number on
+the pods associated with this service, and filter everything else. The
+following has the exact same bahavior
+
+.. code-block:: yaml
+
+ apiVersion: v1
+ kind: Service
+ [snip]
+ spec:
+ ports:
+ - port: 1234
+ name: http-1234
+
+Clovisor derived what TCP port to monitor via the container port exposed by the
+pod in pod spec. In the following example:
+
+.. code-block:: yaml
+
+ spec:
+ containers:
+ - name: foo
+ image: localhost:5000/foo
+ ports:
+ - containerPort: 3456
+
+Packets with destination TCP port number 3456 will be traced for the pod on the
+ingress side, likewise for packet with source TCP port number 3456 on the
+ingress side (for receiving response traffic tracing). This request-response
+pair is sent as a `span`_.
+
+In addition, Clovisor provides egress match configurion where user can
+configure the (optional) IP address of the egress side traffic and TCP port
+number for EGRESS or outbound side packet tracing. This is particularly useful
+for the use case where the pod sends traffic to an external entity (for
+example, sending to an external web site on port 80). User can further specify
+which pod prefix should the rules be applied.
+
+Clovisor is a session-based network tracer, therefore it would trace both the
+request and response packet flow, and extract any information necessary (the
+entire packet from IP header up is copied to user space). In Gambia release
+Clovisor control plane extracts source/destination IP addresses (from request
+packet flow perspective), source/destination TCP port number, and HTTP request
+method/URL/protocol as well as response status/status code/protocol, and
+overall session duration. These information is being logged via OpenTracing
+APIs to Jaeger.
+
+.. _DaemonSet: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
+.. _istio: https://istio.io/docs/setup/kubernetes/spec-requirements/
+.. _span: https://github.com/opentracing/specification/blob/master/specification.md
+
+**********************
+Clovisor Control Plane
+**********************
+
+There are two main elements of Clovisor control plane: Kubernetes client and
+BPF control plane using IOVisor BCC.
+
+Kubernetes client is used for the following needs:
+
+#. fetches the pods pertaining to filter ('default' namespace by default
+ without filter)
+#. fetches corresponding service port name to determine network protocol to
+ trace (TCP by default)
+#. extracts veth interface index for pod network interface
+#. watches for pod status change, or if new pod got launched that matches the
+ filter
+
+Clovisor uses goBPF from IOVisor BCC project to build its control plane for BPF
+datapath, which does:
+
+#. via `netlink`_, under the pod veth interface on the Linux host side, creates
+ a `QDisc`_ with name 'classact' with ingress and egress filters created
+ under it
+#. dynamically compiles and loads BPF code "session_tracing.c" and sets ingress
+ and egress functions on the filters created above
+#. sets up perfMap (shared packet buffer between user space and kernel) and
+ sets up kernel channel to poll map write event
+#. sets up timer task to periodically logs and traces interested packets
+
+.. _netlink: https://github.com/vishvananda/netlink
+.. _QDisc: http://tldp.org/HOWTO/Traffic-Control-HOWTO/components.html
+
+*******************
+Clovisor Data Plane
+*******************
+
+Clovisor utilizes BPF for data plane packet analysis in kernel. BPF bytecode
+runs in kernel and is executed as an event handler. Clovisor's BPF program has
+an ingress and egress packet handling functions as loadable modules for
+respective event trigger points, i.e., ingress and egress on a particular Linux
+network interface, which for Clovisor is the pod associated veth. There are
+three tables used by the Clovisor BPF program:
+
+#. dports2proto: control plane -> data plane: the container/service port and
+ corresponding protocol (TCP, HTTP...etc) to trace on the ingress side
+#. egress_lookup_table: control plane -> data plane: the list of egress IP
+ address / ports which Clovisor should trace on the egress side
+#. sessions: data plane -> control plane: BPF creates entries to this table to
+ record TCP sessions
+
+*****************
+Clovisor Clean Up
+*****************
+
+As mentioned above, on a per pod basis, Clovisor creates a qdisc called
+'classact' per each pod veth interface. This kernel object does not get deleted
+by simply killing the Clovisor pod. The cleanup is done via Clovisor either via
+pod removal, or when the Clovisor pod is deleted. However, IF the qdisc is not
+cleaned up, Clovisor would not be able to tap into that same pod, more
+specifically, that pod veth interface. The qdisc can be examined via the
+following command::
+
+ sudo tc qdisc show
+
+and you should see something like this::
+
+ qdisc clsact ffff: dev veth4c47cc75 parent ffff:fff1
+
+in case it wasn't removed at the end, user can manually remove it via::
+
+ sudo tc qdisc del dev veth4c47cc75 clsact
+
+(of course, the qdisc should be removed by Clovisor, otherwise it is a Clovisor
+bug)
diff --git a/docs/development/design/index.rst b/docs/development/design/index.rst
index 1bb89f1..5f950b9 100644
--- a/docs/development/design/index.rst
+++ b/docs/development/design/index.rst
@@ -10,6 +10,7 @@ OPNFV Clover Design Specification
.. toctree::
:maxdepth: 1
+ clovisor
logging
monitoring
tracing
diff --git a/docs/index.rst b/docs/index.rst
new file mode 100644
index 0000000..4f9b38a
--- /dev/null
+++ b/docs/index.rst
@@ -0,0 +1,18 @@
+.. This work is licensed under a Creative Commons Attribution 4.0
+.. International License.
+.. SPDX-License-Identifier CC-BY-4.0
+.. (c) OPNFV, Authors of Clover
+
+.. _clover:
+
+============
+OPNFV Clover
+============
+
+.. toctree::
+ :maxdepth: 1
+
+ release/userguide/index.rst
+ release/release-notes/index.rst
+ release/configguide/index.rst
+ development/design/index.rst
diff --git a/docs/release/configguide/a_b_config_guide.rst b/docs/release/configguide/a_b_config_guide.rst
index 17ffcfd..6a0963f 100644
--- a/docs/release/configguide/a_b_config_guide.rst
+++ b/docs/release/configguide/a_b_config_guide.rst
@@ -42,8 +42,8 @@ The following assumptions must be met before executing the sample script:
.. code-block:: bash
- $ curl -L https://github.com/istio/istio/releases/download/0.6.0/istio-0.6.0-linux.tar.gz | tar xz
- $ cd istio-0.6.0
+ $ curl -L https://github.com/istio/istio/releases/download/1.0.0/istio-1.0.0-linux.tar.gz | tar xz
+ $ cd istio-1.0.0
$ export PATH=$PWD/bin:$PATH
Environment setup
@@ -55,7 +55,7 @@ First setup the environment using the Clover source with the following commands:
$ git clone https://gerrit.opnfv.org/gerrit/clover
$ cd clover
- $ git checkout stable/fraser
+ $ git checkout stable/gambia
$ pip install .
$ cd clover
diff --git a/docs/release/configguide/clovisor_config_guide.rst b/docs/release/configguide/clovisor_config_guide.rst
new file mode 100644
index 0000000..e486e3e
--- /dev/null
+++ b/docs/release/configguide/clovisor_config_guide.rst
@@ -0,0 +1,179 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. SPDX-License-Identifier CC-BY-4.0
+.. (c) Authors of Clover
+
+.. _clovisor_config_guide:
+
+============================
+Clovisor Configuration Guide
+============================
+
+Clovisor requires minimal to no configurations to function as a network tracer.
+It expects configurations to be set at a redis sever running at clover-system
+namespace.
+
+No Configuration
+================
+
+If redis server isn't running as service name **redis** in namespace
+**clovisor** or there isn't any configuration related to Clovisor in that
+redis service, then Clovisor would monitor all pods under the **default**
+namespace. The traces would be sent to **jaeger-collector** service under the
+**clovisor** namespace
+
+Using redis-cli
+===============
+
+Install ``redis-cli`` on the client machine, and look up redis IP address:
+
+.. code-block:: bash
+
+ $ kubectl get services -n clovisor
+
+which one may get something like the following:
+
+.. code-block:: bash
+
+ $
+ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
+ redis ClusterIP 10.109.151.40 <none> 6379/TCP 16s
+
+if (like above), the external IP isn't visible, one may be able to get the pod
+IP address directly via the pod (for example, it works with Flannel as CNI
+plugin):
+
+.. code-block:: bash
+
+ $ kubectl get pods -n clover-system -o=wide
+ NAME READY STATUS RESTARTS AGE IP NODE
+ redis 2/2 Running 0 34m 10.244.0.187 clover1804
+
+and one can connect to redis via::
+
+ kubectl exec -n clovisor -it redis redis-cli
+
+Jaeger Collector Configuration
+==============================
+
+Clovisor allows user to specify the Jaeger service for which Clovisor would send
+the network traces to, by default it is Jaegar service running in **clovisor** namespace. To change, user can configure via setting the values for
+keys **clovisor_jaeger_collector** and **clovisor_jaeger_agent**::
+
+ redis> SET clovisor_jaeger_collector "jaeger-collector.istio-system:14268"
+ "OK"
+ redis> SET clovisor_jaeger_agent "jaeger-agent.istio-system:6831"
+ "OK"
+
+Configure Monitoring Namespace and Labels
+=========================================
+
+Configruation Value String Format:
+----------------------------------
+
+ <namespace>[:label-key:label-value]
+
+User can configure namespace(s) for Clovisor to tap into via adding namespace
+configuration in redis list **clovisor_labels**::
+
+ redis> LPUSH clovisor_labels "my-namespace"
+ (integer) 1
+
+the above command will cause Clovisor to **NOT** monitor the pods in **default**
+namespace, and only monitor the pods under **my-namespace**.
+
+If user wants to monitor both 'default' and 'my-namespace', she needs to
+explicitly add 'default' namespace back to the list::
+
+ redis> LPUSH clovisor_labels "default"
+ (integer) 2
+ redis> LRANGE clovisor_labels 0 -1
+ 1.) "default"
+ 2.) "my-namespace"
+
+Clovisor allows user to optionally specify which label match on pods to further
+filter the pods to monitor::
+
+ redis> LPUSH clovisor_labels "my-2nd-ns:app:database"
+ (integer) 1
+
+the above configuration would result in Clovisor only monitoring pods in
+my-2nd-ns namespace which matches the label "app:database"
+
+User can specify multiple labels to filter via adding more configuration
+entries::
+
+ redis> LPUSH clovisor_labels "my-2nd-ns:app:web"
+ (integer) 2
+ redis> LRANGE clovisor_labels 0 -1
+ 1.) "my-2nd-ns:app:web"
+ 2.) "my-2nd-ns:app:database"
+
+the result is that Clovisor would monitor pods under namespace my-2nd-ns which
+match **EITHER** app:database **OR** app:web
+
+Currently Clovisor does **NOT** support filtering of more than one label per
+filter, i.e., no configuration option to specify a case where a pod in a
+namespace needs to be matched with TWO or more labels to be monitored
+
+Configure Egress Match IP address, Port Number, and Matching Pods
+=================================================================
+
+Configruation Value String Format:
+----------------------------------
+
+ <IP Address>:<TCP Port Number>[:<Pod Name Prefix>]
+
+By default, Clovisor only traces packets that goes to a pod via its service
+port, and the response packets, i.e., from pod back to client. User can
+configure tracing packet going **OUT** of the pod to the next microservice, or
+an external service also via the **clovior_egress_match** list::
+
+ redis> LPUSH clovior_egress_match "10.0.0.1:3456"
+ (integer) 1
+
+the command above will cause Clovisor to trace packet going out of ALL pods
+under monitoring to match IP address 10.0.0.1 and destination TCP port 3456 on
+the **EGRESS** side --- that is, packets going out of the pod.
+
+User can also choose to ignore the outbound IP address, and only specify the
+port to trace via setting IP address to zero::
+
+ redis> LPUSH clovior_egress_match "0:3456"
+ (integer) 1
+
+the command above will cause Clovisor to trace packets going out of all the pods
+under monitoring that match destination TCP port 3456.
+
+User can further specify a specific pod prefix for such egress rule to be
+applied::
+
+ redis> LPUSH clovior_egress_match "0:3456:proxy"
+ (integer) 1
+
+the command above will cause Clovisor to trace packets going out of pods under
+monitoring which have name starting with the string "proxy" that match destination
+TCP port 3456
+
+Clovisor in Hunter release supports the ability to run user-defined protocol analyzer as a plugin library --- and the corresponding traces will be sent to Jaeger just like all the default Clovisor network tracing. User needs to implement the following interface (only golang is supported at this time)::
+
+ type Parser interface {
+ Parse(session_key string, is_req bool,
+ data []byte)([]byte, map[string]string)
+ }
+
+and compile it with the following command::
+
+ go build --buildmode=plugin -o <something>.so <something>.go
+
+then, for Hunter, one needs to push the .so to each Clovisor instance::
+
+ kubectl cp <something>.so clovisor/clovisor-bnh2v:/proto/<something>.so
+
+do that for each Clovisor pods, and afterward, configure via::
+
+ redis> HSET clovisor_proto_cfg <protocol> "/proto/<something>.so"
+ (integer) 1
+ redis> PUBLISH clovisor_proto_plugin_cfg_chan <protocol>
+ (integer) 6
+
diff --git a/docs/release/configguide/controller_services_config_guide.rst b/docs/release/configguide/controller_services_config_guide.rst
new file mode 100644
index 0000000..d9ad891
--- /dev/null
+++ b/docs/release/configguide/controller_services_config_guide.rst
@@ -0,0 +1,179 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. SPDX-License-Identifier CC-BY-4.0
+.. (c) Authors of Clover
+
+.. _controller_services_config_guide:
+
+==============================================
+Clover Controller Services Configuration Guide
+==============================================
+
+This document provides a guide to use the Clover controller services, which are introduced in
+the Clover Gambia release.
+
+Overview
+=========
+
+Clover controller services allow users to control and access information about Clover
+microservices. Two new components are added to Clover to facilitate an ephemeral, cloud native
+workflow. A CLI interface with the name **cloverctl** interfaces to the Kubernetes (k8s)
+API and also to **clover-controller**, a microservice deployed within the k8s cluster to
+instrument other Clover k8s services including sample network services, visibility/validation
+services and supporting datastores (redis, cassandra). The **clover-controller** service
+provides message routing communicating REST with cloverctl or other API/UI interfaces and
+gRPC to internal k8s cluster microservices. It acts as an internal agent and reduces the need
+to expose multiple Clover services outside of a k8s cluster.
+
+The **clover-controller** is packaged as a docker container with manifests to deploy
+in a Kubernetes (k8s) cluster. The **cloverctl** CLI is packaged as a binary (Golang) within a
+tarball with associated yaml files that can be used to configure and control other Clover
+microservices within the k8s cluster via **clover-controller**. The **cloverctl** CLI can also
+deploy/delete other Clover services within the k8s cluster for convenience.
+
+The **clover-controller** service provides the following functions:
+
+ * **REST API:** interface allows CI scripts/automation to control sample network sample services,
+ visibility and validation services. Analyzed visibility data can be consumed by other
+ services with REST messaging.
+
+ * **CLI Endpoint:** acts as an endpoint for many **cloverctl** CLI commands using the
+ **clover-controller** REST API and relays messages to other services via gRPC.
+
+ * **UI Dashboard:** provides a web interface exposing visibility views to interact with
+ Clover visibility services. It presents analyzed visibility data and provides basic controls
+ such as selecting which user services visibility will track.
+
+The **cloverctl** CLI command syntax is similar to k8s kubectl or istio istioctl CLI tools, using
+a <verb> <noun> convention.
+
+Help can be accessed using the ``--help`` option, as shown below::
+
+ $ cloverctl --help
+
+Deploying Clover system services
+================================
+
+Prerequisites
+-------------
+
+The following assumptions must be met before continuing on to deployment:
+
+ * Installation of Docker has already been performed. It's preferable to install Docker CE.
+ * Installation of k8s in a single-node or multi-node cluster.
+
+.. _controller_services_cli:
+
+Download Clover CLI
+-------------------
+
+Download the cloverctl binary from the location below::
+
+ $ curl -L https://github.com/opnfv/clover/raw/stable/gambia/download/cloverctl.tar.gz | tar xz
+ $ cd cloverctl
+ $ export PATH=$PWD:$PATH
+
+To begin deploying Clover services, ensure the correct k8s context is enabled. Validate that
+the CLI can interact with the k8s API with the command::
+
+ $ cloverctl get services
+
+The command above must return a listing of the current k8s services similar to the output of
+'kubectl get svc --all-namespaces'.
+
+.. _controller_services_controller:
+
+Deploying clover-controller
+---------------------------
+
+To deploy the **clover-controller** service, use the command below:
+
+.. code-block:: bash
+
+ $ cloverctl create system controller
+
+The k8s pod listing below must include the **clover-controller** pod in the **clover-system**
+namespace:
+
+.. code-block:: bash
+
+ $ kubectl get pods --all-namespaces | grep clover-controller
+
+ NAMESPACE NAME READY STATUS
+ clover-system clover-controller-74d8596bb5-jczqz 1/1 Running
+
+.. _exposing_clover_controller:
+
+Exposing clover-controller
+==========================
+
+To expose the **clover-controller** deployment outside of the k8s cluster, a k8s NodePort
+or LoadBalancer service must be employed.
+
+Using NodePort
+--------------
+
+To use a NodePort for the **clover-controller** service, use the following command::
+
+ $ cloverctl create system controller nodeport
+
+The NodePort default is to use port 32044. To modify this, edit the yaml relative
+to the **cloverctl** path at ``yaml/controller/service_nodeport.yaml`` before invoking
+the command above. Delete the ``nodePort:`` key in the yaml to let k8s select an
+available port within the the range 30000-32767.
+
+Using LoadBalancer
+------------------
+
+For k8s clusters that support a LoadBalancer service, such as GKE, one can be created for
+**clover-controller** with the following command::
+
+ $ cloverctl create system controller lb
+
+Setup with cloverctl CLI
+------------------------
+
+The **cloverctl** CLI will communicate with **clover-controller** on the service exposed above
+and requires the IP address of either the load balancer or a cluster node IP address, if a
+NodePort service is used. For a LoadBalancer service, **cloverctl** will automatically find
+the IP address to use and no further action is required.
+
+However, if a NodePort service is used, an additional step is required to configure the IP
+address for **cloverctl** to target. This may be the CNI (ex. flannel/weave) IP address or the IP
+address of an k8s node interface. The **cloverctl** CLI will automatically determine the
+NodePort port number configured. To configure the IP address, create a file named
+``.cloverctl.yaml`` and add a single line to the yaml file with the following::
+
+ ControllerIP: <IP addresss>
+
+This file must be located in your ``HOME`` directory or in the same directory as the **cloverctl**
+binary.
+
+Uninstall from Kubernetes environment
+=====================================
+
+Delete with Clover CLI
+-----------------------
+
+When you're finished working with Clover system services, you can uninstall it with the
+following command:
+
+.. code-block:: bash
+
+ $ cloverctl delete system controller
+ $ cloverctl delete system controller nodeport # for NodePort
+ $ cloverctl delete system controller lb # for LoadBalancer
+
+
+The commands above will remove the clover-controller deployment and service resources
+created from the current k8s context.
+
+Uninstall from Docker environment
+=================================
+
+The OPNFV docker image for the **clover-controller** can be removed with the following commands
+from nodes in the k8s cluster.
+
+.. code-block:: bash
+
+ $ docker rmi opnfv/clover-controller
diff --git a/docs/release/configguide/imgs/jmeter_overview.png b/docs/release/configguide/imgs/jmeter_overview.png
new file mode 100644
index 0000000..ee986e6
--- /dev/null
+++ b/docs/release/configguide/imgs/jmeter_overview.png
Binary files differ
diff --git a/docs/release/configguide/imgs/sdc_tracing.png b/docs/release/configguide/imgs/sdc_tracing.png
index 0df7112..bad575c 100644
--- a/docs/release/configguide/imgs/sdc_tracing.png
+++ b/docs/release/configguide/imgs/sdc_tracing.png
Binary files differ
diff --git a/docs/release/configguide/imgs/spinnaker-bake.png b/docs/release/configguide/imgs/spinnaker-bake.png
new file mode 100644
index 0000000..86e853a
--- /dev/null
+++ b/docs/release/configguide/imgs/spinnaker-bake.png
Binary files differ
diff --git a/docs/release/configguide/imgs/spinnaker-deploy.png b/docs/release/configguide/imgs/spinnaker-deploy.png
new file mode 100644
index 0000000..44b4e92
--- /dev/null
+++ b/docs/release/configguide/imgs/spinnaker-deploy.png
Binary files differ
diff --git a/docs/release/configguide/imgs/spinnaker-expected-artifacts.png b/docs/release/configguide/imgs/spinnaker-expected-artifacts.png
new file mode 100644
index 0000000..f8204f7
--- /dev/null
+++ b/docs/release/configguide/imgs/spinnaker-expected-artifacts.png
Binary files differ
diff --git a/docs/release/configguide/imgs/spinnaker-produces-artifact.png b/docs/release/configguide/imgs/spinnaker-produces-artifact.png
new file mode 100644
index 0000000..ba6ab65
--- /dev/null
+++ b/docs/release/configguide/imgs/spinnaker-produces-artifact.png
Binary files differ
diff --git a/docs/release/configguide/imgs/visibility_discovered_active.png b/docs/release/configguide/imgs/visibility_discovered_active.png
new file mode 100644
index 0000000..6c91559
--- /dev/null
+++ b/docs/release/configguide/imgs/visibility_discovered_active.png
Binary files differ
diff --git a/docs/release/configguide/imgs/visibility_distinct_counts.png b/docs/release/configguide/imgs/visibility_distinct_counts.png
new file mode 100644
index 0000000..57ba901
--- /dev/null
+++ b/docs/release/configguide/imgs/visibility_distinct_counts.png
Binary files differ
diff --git a/docs/release/configguide/imgs/visibility_distinct_http.png b/docs/release/configguide/imgs/visibility_distinct_http.png
new file mode 100644
index 0000000..e15333d
--- /dev/null
+++ b/docs/release/configguide/imgs/visibility_distinct_http.png
Binary files differ
diff --git a/docs/release/configguide/imgs/visibility_monitoring_metrics.png b/docs/release/configguide/imgs/visibility_monitoring_metrics.png
new file mode 100644
index 0000000..f5c6ada
--- /dev/null
+++ b/docs/release/configguide/imgs/visibility_monitoring_metrics.png
Binary files differ
diff --git a/docs/release/configguide/imgs/visibility_overview.png b/docs/release/configguide/imgs/visibility_overview.png
new file mode 100644
index 0000000..f986440
--- /dev/null
+++ b/docs/release/configguide/imgs/visibility_overview.png
Binary files differ
diff --git a/docs/release/configguide/imgs/visibility_system_counts_response_times.png b/docs/release/configguide/imgs/visibility_system_counts_response_times.png
new file mode 100644
index 0000000..a456a61
--- /dev/null
+++ b/docs/release/configguide/imgs/visibility_system_counts_response_times.png
Binary files differ
diff --git a/docs/release/configguide/index.rst b/docs/release/configguide/index.rst
index daf8986..d0c446e 100644
--- a/docs/release/configguide/index.rst
+++ b/docs/release/configguide/index.rst
@@ -3,14 +3,19 @@
.. http://creativecommons.org/licenses/by/4.0
.. (c) OPNFV, Authors of Clover
-.. _clover_config_guides:
+.. _clover_configguide:
-=================================
-OPNFV Clover Configuration Guides
-=================================
+==========================
+Clover Configuration Guide
+==========================
.. toctree::
:maxdepth: 2
+ controller_services_config_guide.rst
sdc_config_guide.rst
- a_b_config_guide.rst
+ jmeter_config_guide.rst
+ visibility_config_guide.rst
+ modsecurity_config_guide.rst
+ spinnaker_config_guide.rst
+ clovisor_config_guide.rst
diff --git a/docs/release/configguide/jmeter_config_guide.rst b/docs/release/configguide/jmeter_config_guide.rst
new file mode 100644
index 0000000..78858d0
--- /dev/null
+++ b/docs/release/configguide/jmeter_config_guide.rst
@@ -0,0 +1,300 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. SPDX-License-Identifier CC-BY-4.0
+.. (c) Authors of Clover
+
+.. _jmeter_config_guide:
+
+=======================================
+JMeter Validation Configuration Guide
+=======================================
+
+This document provides a guide to use the JMeter validation service, which is introduced in
+the Clover Gambia release.
+
+Overview
+=========
+
+`Apache JMeter`_ is a mature, open source application that supports web client emulation. Its
+functionality has been integrated into the Clover project to allow various CI validations
+and performance tests to be performed. The system under test can either be REST services/APIs
+directly or a set of L7 network services. In the latter scenario, Clover nginx servers may
+be employed as an endpoint to allow traffic to be sent end-to-end across a service chain.
+
+The Clover JMeter integration is packaged as docker containers with manifests to deploy
+in a Kubernetes (k8s) cluster. The Clover CLI (**cloverctl**) can be used to configure and
+control the JMeter service within the k8s cluster via **clover-controller**.
+
+The Clover JMeter integration has the following attributes:
+
+ * **Master/Slave Architecture:** uses the native master/slave implementation of JMeter. The master
+ and slaves have distinct OPNFV docker containers for rapid deployment and usage. Slaves allow
+ the scale of the emulation to be increased linearly for performance testing. However, for
+ functional validations and modest scale, the master may be employed without any slaves.
+
+ * **Test Creation & Control:** JMeter makes use of a rich XML-based test plan. While this offers
+ a plethora of configurable options, it can be daunting for a beginner user to edit directly.
+ Clover provides an abstracted yaml syntax exposing a subset of the available configuration
+ parameters. JMeter test plans are generated on the master and tests can be started from
+ **cloverctl** CLI.
+
+ * **Result Collection:** summary log results and detailed per-request results can be retrieved
+ from the JMeter master during and after tests from the **cloverctl** or from a REST API exposed
+ via **clover-controller**.
+
+.. image:: imgs/jmeter_overview.png
+ :align: center
+ :scale: 100%
+
+Deploying Clover JMeter service
+===============================
+
+Prerequisites
+-------------
+
+The following assumptions must be met before continuing on to deployment:
+
+ * Installation of Docker has already been performed. It's preferable to install Docker CE.
+ * Installation of k8s in a single-node or multi-node cluster.
+ * Clover CLI (**cloverctl**) has been downloaded and setup. Instructions to deploy can be found
+ at :ref:`controller_services_controller`
+ * The **clover-controller** service is deployed in the k8s cluster the validation services will
+ be deployed in. Instructions to deploy can be found at :ref:`controller_services_controller`.
+
+Deploy with Clover CLI
+-----------------------
+
+The easiest way to deploy Clover JMeter validation services into your k8s cluster is to use the
+**cloverctl** CLI using the following command:
+
+.. code-block:: bash
+
+ $ cloverctl create system validation
+
+Container images with the Gambia release tag will pulled if the tag is unspecified. The release
+tag is **opnfv-7.0.0** for the Gambia release. To deploy the latest containers from master, use
+the command shown below::
+
+ $ cloverctl create system validation -t latest
+
+The Clover CLI will add master/slave pods to the k8s cluster in the default namespace.
+
+The JMeter master/slave docker images will automatically be pulled from the OPNFV public
+Dockerhub registry. Deployments and respective services will be created with three slave
+replica pods added with the **clover-jmeter-slave** prefix. A single master pod will be
+created with the **clover-jmeter-master** prefix.
+
+Deploy from source
+------------------
+
+To continue to deploy from the source code, clone the Clover git repository and navigate
+within to the directory, as shown below:
+
+.. code-block:: bash
+
+ $ git clone https://gerrit.opnfv.org/gerrit/clover
+ $ cd clover/clover/tools/jmeter/yaml
+ $ git checkout stable/gambia
+
+To deploy the master use the following two commands, which will create a manifest with
+the Gambia release tags and creates the deployment in the k8s cluster::
+
+ $ python render_master.py --image_tag=opnfv-7.0.0 --image_path=opnfv
+ $ kubectl create -f clover-jmeter-master.yaml
+
+JMeter can be injected into an Istio service mesh. To deploy in the default
+namespace within the service mesh, use the following command for manual
+sidecar injection::
+
+ $ istioctl kube-inject -f clover-jmeter-master.yaml | kubectl apply -f -
+
+**Note, when injecting JMeter into the service mesh, only the master will function for
+the Clover integration, as master-slave communication is known not to function with the Java
+RMI API. Ensure 'istioctl' is in your path for the above command.**
+
+To deploy slave replicas, render the manifest yaml and create in k8s adjusting the
+``--replica_count`` value for the number of slave pods desired::
+
+ $ python render_slave.py --image_tag=opnfv-7.0.0 --image_path=opnfv --replica_count=3
+ $ kubectl create -f clover-jmeter-slave.yaml
+
+Verifying the deployment
+------------------------
+
+To verify the validation services are deployed, ensure the following pods are present
+with the command below:
+
+.. code-block:: bash
+
+ $ kubectl get pod --all-namespaces
+
+The listing below must include the following pods assuming deployment in the default
+namespace:
+
+.. code-block:: bash
+
+ NAMESPACE NAME READY STATUS
+ default clover-jmeter-master-688677c96f-8nnnr 1/1 Running
+ default clover-jmeter-slave-7f9695d56-8xh67 1/1 Running
+ default clover-jmeter-slave-7f9695d56-fmpz5 1/1 Running
+ default clover-jmeter-slave-7f9695d56-kg76s 1/1 Running
+ default clover-jmeter-slave-7f9695d56-qfgqj 1/1 Running
+
+Using JMeter Validation
+=======================
+
+Creating a test plan
+--------------------
+
+To employ a test plan that can be used against the :ref:`sdc_config_guide` sample, navigate to
+cloverctl yaml directory and use the sample named 'jmeter_testplan.yaml', which is shown below.
+
+.. code-block:: bash
+
+ load_spec:
+ num_threads: 5
+ loops: 2
+ ramp_time: 60
+ duration: 80
+ url_list:
+ - name: url1
+ url: http://proxy-access-control.default:9180
+ method: GET
+ user-agent: chrome
+ - name: url2
+ url: http://proxy-access-control.default:9180
+ method: GET
+ user-agent: safari
+
+The composition of the yaml file breaks down as follows:
+ * ``load_spec`` section of the yaml defines the load profile of the test.
+ * `num_threads`` parameter defines the maximum number of clients/users the test will emulate.
+ * ``ramp_time`` determines the rate at which threads/users will be setup.
+ * ``loop`` parameter reruns the same test and can be set to 0 to loop forever.
+ * ``duration`` parameter is used to limit the test run time and be used as a hard cutoff when
+ using loop forever.
+ * ``url_list`` section of the yaml defines a set of HTTP requests that each user will perform.
+ It includes the request URL that is given a name (used as reference in detailed per-request
+ results) and the HTTP method to use (ex. GET, POST). The ``user-agent`` parameter allows this
+ HTTP header to be specified per request and can be used to emulate browsers and devices.
+
+The ``url`` syntax is <domain or IP>:<port #>. The colon port number may be omitted if port 80
+is intended.
+
+The test plan yaml is an abstraction of the JMeter XML syntax (uses .jmx extension) and can be
+pushed to the master using the **cloverctl** CLI with the following command:
+
+.. code-block:: bash
+
+ $ cloverctl create testplan –f jmeter_testplan.yaml
+
+The test plan can now be executed and will automatically be distributed to available JMeter slaves.
+
+Starting the test
+-----------------
+
+Once a test plan has been created on the JMeter master, a test can be started for the test plan
+with the following command:
+
+.. code-block:: bash
+
+ $ cloverctl start testplan
+
+The test will be executed from the **clover-jmeter-master** pod, whereby HTTP requests will
+originate directly from the master. The number of aggregate threads/users and request rates
+can be scaled by increasing the thread count or decreasing the ramp time respectively in the
+test plan yaml. However, the scale of the test can also be controlled by adding slaves to the
+test. When slaves are employed, the master will only be used to control slaves and will not be
+a source of traffic. Each slave pod will execute the test plan in its entirety.
+
+To execute tests using slaves, add the flag '-s' to the start command from the Clover CLI as shown
+below:
+
+.. code-block:: bash
+
+ $ cloverctl start testplan –s <slave count>
+
+The **clover-jmeter-slave** pods must be deployed in advance before executing the above command. If
+the steps outlined in section `Deploy with Clover CLI`_ have been followed, three slaves will
+have already been deployed.
+
+Retrieving Results
+------------------
+
+Results for the test can be obtained by executing the following command:
+
+.. code-block:: bash
+
+ $ cloverctl get testresult
+ $ cloverctl get testresult log
+
+The bottom of the log will display a summary of the test results, as shown below::
+
+ 3 in 00:00:00 = 111.1/s Avg: 7 Min: 6 Max: 8 Err: 0 (0.00%)
+ 20 in 00:00:48 = 0.4/s Avg: 10 Min: 6 Max: 31 Err: 0 (0.00%)
+
+Each row of the summary table is a snapshot in time with the final numbers in the last row.
+In this example, 20 requests (5 users/threads x 2 URLs) x loops) were sent successfully
+with no HTTP responses with invalid/error (4xx/5xx) status codes. Longer tests will produce
+a larger number of snapshot rows. Minimum, maximum and average response times are output per
+snapshot.
+
+To obtain detailed, per-request results use the ``detail`` option, as shown below::
+
+ $ cloverctl get testresult detail
+
+ 1541567388622,14,url1,200,OK,ThreadGroup 1-4,text,true,,843,0,1,1,14,0,0
+ 1541567388637,8,url2,200,OK,ThreadGroup 1-4,text,true,,843,0,1,1,8,0,0
+ 1541567388646,6,url1,200,OK,ThreadGroup 1-4,text,true,,843,0,1,1,6,0,0
+ 1541567388653,7,url2,200,OK,ThreadGroup 1-4,text,true,,843,0,1,1,7,0,0
+ 1541567400622,12,url1,200,OK,ThreadGroup 1-5,text,true,,843,0,1,1,12,0,0
+ 1541567400637,8,url2,200,OK,ThreadGroup 1-5,text,true,,843,0,1,1,8,0,0
+ 1541567400645,7,url1,200,OK,ThreadGroup 1-5,text,true,,843,0,1,1,7,0,0
+ 1541567400653,6,url2,200,OK,ThreadGroup 1-5,text,true,,843,0,1,1,6,0,0
+
+Columns are broken down on the following fields:
+ * timeStamp, elapsed, label, responseCode, responseMessage, threadName, dataType, success
+ * failureMessage bytes, sentBytes, grpThreads, allThreads, Latency, IdleTime, Connect
+
+``elapsed`` or ``Latency`` values are in milliseconds.
+
+Uninstall from Kubernetes environment
+=====================================
+
+Delete with Clover CLI
+-----------------------
+
+When you're finished working with JMeter validation services, you can uninstall it with the
+following command:
+
+.. code-block:: bash
+
+ $ cloverctl delete system validation
+
+The command above will remove the clover-jmeter-master and clover-jmeter-slave deployment
+and service resources from the current k8s context.
+
+Delete from source
+------------------
+
+The JMeter validation services can be uninstalled from the source code using the commands below:
+
+.. code-block:: bash
+
+ $ cd clover/samples/scenarios
+ $ kubectl delete -f clover-jmeter-master.yaml
+ $ kubectl delete -f clover-jmeter-slave.yaml
+
+Uninstall from Docker environment
+=================================
+
+The OPNFV docker images can be removed with the following commands from nodes
+in the k8s cluster.
+
+.. code-block:: bash
+
+ $ docker rmi opnfv/clover-jmeter-master
+ $ docker rmi opnfv/clover-jmeter-slave
+ $ docker rmi opnfv/clover-controller
+
+.. _Apache JMeter: https://jmeter.apache.org/
diff --git a/docs/release/configguide/sdc_config_guide.rst b/docs/release/configguide/sdc_config_guide.rst
index b95b6cf..a50795f 100644
--- a/docs/release/configguide/sdc_config_guide.rst
+++ b/docs/release/configguide/sdc_config_guide.rst
@@ -119,7 +119,7 @@ The following assumptions must be met before continuing on to deployment:
* Ubuntu 16.04 was used heavily for development and is advised for greenfield deployments.
* Installation of Docker has already been performed. It's preferable to install Docker CE.
* Installation of Kubernetes has already been performed. The installation in this guide was
- executed in a single-node Kubernetes cluster on a modest virtual machine.
+ executed in a single-node Kubernetes cluster.
* Installation of a pod network that supports the Container Network Interface (CNI). It is
recommended to use flannel, as most development work employed this network add-on. Success
using Weave Net as the CNI plugin has also been reported.
@@ -138,32 +138,32 @@ two commands:
$ docker pull opnfv/clover:<release_tag>
-The <release_tag> is **opnfv-6.0.0** for the Fraser release. However, the latest
-will be pulled if the tag is unspecified. To deploy the Fraser release use these commands:
+The <release_tag> is **opnfv-7.0.0** for the Gambia release. However, the latest
+will be pulled if the tag is unspecified. To deploy the Gambia release use these commands:
.. code-block:: bash
- $ docker pull opnfv/clover:opnfv-6.0.0
+ $ docker pull opnfv/clover:opnfv-7.0.0
$ sudo docker run --rm \
-v ~/.kube/config:/root/.kube/config \
opnfv/clover \
/bin/bash -c '/home/opnfv/repos/clover/samples/scenarios/deploy.sh'
-The deploy script invoked above begins by installing Istio 0.6.0 into your Kubernetes environment.
+The deploy script invoked above begins by installing Istio 1.0.0 into your Kubernetes environment.
It proceeds to deploy the entire SDC manifest. If you've chosen to employ this method of
deployment, you may skip the next section.
Deploy from source
------------------
-Ensure Istio 0.6.0 is installed, as a prerequisite, using the following commands:
+Ensure Istio 1.0.0 is installed, as a prerequisite, using the following commands:
.. code-block:: bash
- $ curl -L https://github.com/istio/istio/releases/download/0.6.0/istio-0.6.0-linux.tar.gz | tar xz
- $ cd istio-0.6.0
+ $ curl -L https://github.com/istio/istio/releases/download/1.0.0/istio-1.0.0-linux.tar.gz | tar xz
+ $ cd istio-1.0.0
$ export PATH=$PWD/bin:$PATH
- $ kubectl apply -f install/kubernetes/istio.yaml
+ $ kubectl apply -f install/kubernetes/istio-demo.yaml
The above sequence of commands installs Istio with manual sidecar injection without mutual TLS
authentication between sidecars.
@@ -175,21 +175,21 @@ within the samples directory as shown below:
$ git clone https://gerrit.opnfv.org/gerrit/clover
$ cd clover/samples/scenarios
- $ git checkout stable/fraser
+ $ git checkout stable/gambia
To deploy the sample in the default Kubernetes namespace, use the following command for Istio
manual sidecar injection:
.. code-block:: bash
- $ kubectl apply -f <(istioctl kube-inject --debug -f service_delivery_controller_opnfv.yaml)
+ $ istioctl kube-inject -f service_delivery_controller_opnfv.yaml | kubectl apply -f -
To deploy in another namespace, use the '-n' option. An example namespace of 'sdc' is shown below:
.. code-block:: bash
$ kubectl create namespace sdc
- $ kubectl apply -n sdc -f <(istioctl kube-inject --debug -f service_delivery_controller_opnfv.yaml)
+ $ istioctl kube-inject -f service_delivery_controller_opnfv.yaml | kubectl apply -n sdc -f -
When using the above SDC manifest, all required docker images will automatically be pulled
from the OPNFV public Dockerhub registry. An example of using a Docker local registry is also
@@ -226,11 +226,20 @@ The result of the Istio deployment must include the following pods:
.. code-block:: bash
- $ NAMESPACE NAME READY STATUS
- istio-system istio-ca-59f6dcb7d9-9frgt 1/1 Running
- istio-system istio-ingress-779649ff5b-mcpgr 1/1 Running
- istio-system istio-mixer-7f4fd7dff-mjpr8 3/3 Running
- istio-system istio-pilot-5f5f76ddc8-cglxs 2/2 Running
+ $ NAMESPACE NAME READY STATUS
+ istio-system grafana-6995b4fbd7-pjgbh 1/1 Running
+ istio-system istio-citadel-54f4678f86-t2dng 1/1 Running
+ istio-system istio-egressgateway-5d7f8fcc7b-hs7t4 1/1 Running
+ istio-system istio-galley-7bd8b5f88f-wtrdv 1/1 Running
+ istio-system istio-ingressgateway-6f58fdc8d7-vqwzj 1/1 Running
+ istio-system istio-pilot-d99689994-b48nz 2/2 Running
+ istio-system istio-policy-766bf4bd6d-l89vx 2/2 Running
+ istio-system istio-sidecar-injector-85ccf84984-xpmxp 1/1 Running
+ istio-system istio-statsd-prom-bridge-55965ff9c8-q25rk 1/1 Running
+ istio-system istio-telemetry-55b6b5bbc7-qrg28 2/2 Running
+ istio-system istio-tracing-77f9f94b98-zljrt 1/1 Running
+ istio-system prometheus-7456f56c96-zjd29 1/1 Running
+ istio-system servicegraph-684c85ffb9-9h6p7 1/1 Running
.. _sdc_ingress_port:
@@ -241,19 +250,66 @@ To determine how incoming http traffic on port 80 will be translated, use the fo
.. code-block:: bash
- $ kubectl get svc -n istio-system
- NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
- istio-ingress LoadBalancer 10.104.208.165 <pending> 80:32410/TCP,443:31045/TCP
+ $ kubectl get svc -n istio-system | grep LoadBalancer
+ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
+ istio-ingressgateway LoadBalancer 10.111.40.165 <pending> 80:32410/TCP,443:31390/TCP
**Note, the CLUSTER-IP of the service will be unused in this example since load balancing service
types are unsupported in this configuration. It is normal for the EXTERNAL-IP to show status
<pending> indefinitely**
-In this example, traffic arriving on port 32410 will flow to istio-ingress. The
-istio-ingress service will route traffic to the **proxy-access-control** service based on a
-configured ingress rule, which defines a gateway for external traffic to enter
-the Istio service mesh. This makes the traffic management and policy features of Istio available
-for edge services.
+In this example, traffic arriving on port 32410 will flow to istio-ingressgateway. The
+istio-ingressgateway service will route traffic to the **proxy-access-control** service based on
+configured Istio ``Gateway`` and ``VirtualService`` resources, which are shown below. The
+``Gateway`` defines a gateway for external traffic to enter the Istio service mesh based on
+incoming protocol, port and domain (``hosts:`` section currently using wildcard). The
+``VirtualService`` associates to a particular ``Gateway`` (sdc-gateway here) and allows for route
+rules to be setup. In the example below, any URL with prefix '/' will be routed to the service
+**proxy-access-control** on port 9180. Additionally, ingress traffic can be mirrored by
+adding a directive to the ``VirtualService`` definition. Below, all matching traffic will be
+mirrored to the **snort-ids** (duplicating internal mirroring performed by the
+**proxy-access-control** for illustrative purposes)
+
+This allows the traffic management and policy features of Istio available to external services and
+clients.
+
+.. code-block:: bash
+
+ apiVersion: networking.istio.io/v1alpha3
+ kind: Gateway
+ metadata:
+ name: sdc-gateway
+ spec:
+ selector:
+ istio: ingressgateway # use istio default controller
+ servers:
+ - port:
+ number: 80
+ name: http
+ protocol: HTTP
+ hosts:
+ - "*"
+ ---
+ apiVersion: networking.istio.io/v1alpha3
+ kind: VirtualService
+ metadata:
+ name: sdcsample
+ spec:
+ hosts:
+ - "*"
+ gateways:
+ - sdc-gateway
+ http:
+ - match:
+ - uri:
+ prefix: /
+ route:
+ - destination:
+ host: proxy-access-control
+ port:
+ number: 9180
+ mirror:
+ host: snort-ids
Using the sample
================
@@ -269,6 +325,8 @@ flannel CNI IP address, as shown below:
$ wget http://10.244.0.1:32410/
$ curl http://10.244.0.1:32410/
+An IP address of a node within the Kubernetes cluster may also be employed.
+
An HTTP response will be returned as a result of the wget or curl command, if the SDC sample
is operating correctly. However, the visibility into what services were accessed within
the service mesh remains hidden. The next section `Exposing tracing and monitoring`_ shows how
@@ -279,26 +337,14 @@ to inspect the internals of the Istio service mesh.
Exposing tracing and monitoring
-------------------------------
-To gain insight into the service mesh, the Jaeger tracing and Prometheus monitoring tools
-can also be deployed. These tools can show how the sample functions in the service mesh.
-Using the Clover container, issue the following command to deploy these tools
-into your Kubernetes environment:
-
-.. code-block:: bash
-
- $ sudo docker run --rm \
- -v ~/.kube/config:/root/.kube/config \
- opnfv/clover \
- /bin/bash -c '/home/opnfv/repos/clover/samples/scenarios/view.sh'
-
The Jaeger tracing UI is exposed outside of the Kubernetes cluster via any node IP in the cluster
using the following commands **(above command already executes the two commands below)**:
.. code-block:: bash
- $ kubectl expose -n istio-system deployment jaeger-deployment --port=16686 --type=NodePort
+ $ kubectl expose -n istio-system deployment istio-tracing --port=16686 --type=NodePort
-Likewise, the Promethues monitoring UI is exposed with the following command:
+Likewise, the Prometheus monitoring UI is exposed with the following command:
.. code-block:: bash
@@ -309,9 +355,9 @@ following command:
.. code-block:: bash
- $ kubectl get svc --all-namespaces
+ $ kubectl get svc -n istio-system | grep NodePort
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
- istio-system jaeger-deployment NodePort 10.105.94.85 <none> 16686:32174/TCP
+ istio-system istio-tracing NodePort 10.105.94.85 <none> 16686:32174/TCP
istio-system prometheus NodePort 10.97.74.230 <none> 9090:32708/TCP
In the example above, the Jaeger tracing web-based UI will be available on port 32174 and
@@ -321,13 +367,28 @@ URLs for Jaeger and Prometheus respectively::
http://<node IP>:32174
http://<node IP>:32708
-Where node IP is an IP from one of the Kubernetes cluster node(s).
+Where node IP is an IP of one of the Kubernetes cluster node(s) on a CNI IP address.
+Alternatively, the tracing and monitoring services can be exposed with a LoadBalancer
+service if supported by your Kubernetes cluster (such as GKE), as shown below for tracing::
+
+ kind: Service
+ apiVersion: v1
+ metadata:
+ name: istio-tracing
+ spec:
+ selector:
+ app: jaeger
+ ports:
+ - name: http
+ protocol: TCP
+ port: 80
+ targetPort: 16686
+ type: LoadBalancer
.. image:: imgs/sdc_tracing.png
:align: center
:scale: 100%
-
The diagram above shows the Jaeger tracing UI after traces have been fetched for the
**proxy-access-control** service. After executing an HTTP request using the simple curl/wget
commands outlined in `Using the sample`_ , a list of SDC services will be displayed
@@ -336,8 +397,9 @@ the drop-down and click the ``Find Traces`` button at the bottom of the left con
The blue box denotes what should be displayed for the services that were involved in
handling the request including:
- * istio-ingress
+ * istio-ingressgateway
* proxy-access-control
+ * snort-ids
* http-lb
* clover-server1 OR clover-server2 OR clover-server3
@@ -347,10 +409,9 @@ Modifying the run-time configuration of services
================================================
The following control-plane actions can be invoked via GRPC messaging from a controlling agent.
-For this example, it is conducted from the host OS of a Kubernetes cluster node.
-
-**Note, the subsequent instructions assume the flannel network CNI plugin is installed. Other
-Kubernetes networking plugins may work but have not been validated.**
+For this example, it is conducted from the host OS of a Kubernetes cluster node using Clover
+system services. This requires **clover-controller** and **cloverctl** CLI be deployed. See
+instructions at :ref:`controller_services_controller`.
.. _sdc_modify_lb:
@@ -359,21 +420,16 @@ Modifying the http-lb server list
By default, both versions of the load balancers send incoming HTTP requests to
**clover-server1/2/3** in round-robin fashion. To have the version 2 load balancer
-(**http-lb-v2**) send its traffic to **clover-server4/5** instead, issue the following command:
+(**http-lb-v2**) send its traffic to **clover-server4/5** instead, issue the following command
+from the **cloverctl** CLI::
-.. code-block:: bash
+ $ cloverctl set lb -f lbv2.yaml
- $ sudo docker run --rm \
- -v ~/.kube/config:/root/.kube/config \
- opnfv/clover \
- /bin/bash -c 'python /home/opnfv/repos/clover/samples/services/nginx/docker/grpc/nginx_client.py \
- --service_type=lbv2 --service_name=http-lb-v2'
+The ``lbv2.yaml`` is available from the yaml directory relative to the **cloverctl** binary.
If the command executes successfully, the return message should appear as below::
- Pod IP: 10.244.0.184
Modified nginx config
- Modification complete
If several more HTTP GET requests are subsequently sent to the ingress, the Jaeger UI should
begin to display requests flowing to **clover-server4/5** from **http-lb-v2**. The **http-lb-v1**
@@ -402,40 +458,35 @@ for the alerts. Drilling down into the trace will show a GPRC message from snort
$ wget -U 'asafaweb.com' http://10.244.0.1:32410/
Or alternatively with curl, issue this command to trigger the alert:
-
+:
.. code-block:: bash
$ curl -A 'asafaweb.com' http://10.244.0.1:32410/
The community rule can be copied to local rules in order to ensure an alert is generated
-each time the HTTP GET request is observed by snort using the following command.
-
-.. code-block:: bash
+each time the HTTP GET request is observed by snort using the following commands from
+the **cloverctl** CLI::
- $ sudo docker run --rm \
- -v ~/.kube/config:/root/.kube/config \
- opnfv/clover \
- /bin/bash -c 'python /home/opnfv/repos/clover/samples/services/snort_ids/docker/grpc/snort_client.py \
- --cmd=addscan --service_name=snort-ids'
+ $ cloverctl create idsrules -f idsrule_scan.yaml
+ $ cloverctl stop ids
+ $ cloverctl start ids
-Successful completion of the above command will yield output similar to the following::
+The ``idsrule_scan.yaml`` is available from the yaml directory relative to the **cloverctl**
+binary. Successful completion of the above commands will yield output similar to the following::
- Pod IP: 10.244.0.183
- Stopped Snort on pid: 34, Cleared Snort logs
- Started Snort on pid: 91
Added to local rules
+ Stopped Snort on pid: 48, Cleared Snort logs
+ Started Snort on pid: 155
-To add an ICMP rule to snort service, use the following command:
+To add an ICMP rule to snort service, use the following command::
-.. code-block:: bash
+ $ cloverctl create idsrules -f idsrule_icmp.yaml
+ $ cloverctl stop ids
+ $ cloverctl start ids
- $ sudo docker run --rm \
- -v ~/.kube/config:/root/.kube/config \
- opnfv/clover \
- /bin/bash -c 'python /home/opnfv/repos/clover/samples/services/snort_ids/docker/grpc/snort_client.py \
- --cmd=addicmp --service_name=snort-ids'
+The ``idsrule_icmp.yaml`` is available from the yaml directory relative to the **cloverctl**
-Successful execution of the above command will trigger alerts whenever ICMP packets are observed
+Successful execution of the above commands will trigger alerts whenever ICMP packets are observed
by the snort service. An alert can be generated by pinging the snort service using the flannel IP
address assigned to the **snort-ids** pod. The Jaeger UI can again be inspected and should display
the same ``ProcessAlert`` messages flowing from the **snort-ids** to the **proxy-access-control**
@@ -560,12 +611,6 @@ custom rule is ``10000001`` and is output in the above listing.
To exit the Redis CLI, use the command ``exit``.
-A-B Validation
---------------
-
-Please see the configuration guide at :ref:`a_b_config_guide` for details on
-validating A-B route rules using the sample in this guide.
-
Uninstall from Kubernetes envionment
====================================
@@ -622,9 +667,8 @@ was installed from source and use the following command:
.. code-block:: bash
- $ cd istio-0.6.0
- $ kubectl delete -f install/kubernetes/istio.yaml
-
+ $ cd istio-1.0.0
+ $ kubectl delete -f install/kubernetes/istio-demo.yaml
Uninstall from Docker environment
=================================
@@ -640,15 +684,13 @@ The OPNFV docker images can be removed with the following commands:
$ docker rmi opnfv/clover
If deployment was performed with the Clover container, the first four images above will not
-be present. The Redis, Prometheus and Jaeger docker images can be removed with the following
-commands, if deployed from source:
+be present. The Redis docker images can be removed with the following commands, if deployed
+from source:
.. code-block:: bash
$ docker rmi k8s.gcr.io/redis
$ docker rmi kubernetes/redis
- $ docker rmi prom/prometheus
- $ docker rmi jaegertracing/all-in-one
If docker images were built locally, they can be removed with the following commands:
diff --git a/docs/release/configguide/spinnaker_config_guide.rst b/docs/release/configguide/spinnaker_config_guide.rst
index f4a3e12..3c46e82 100644
--- a/docs/release/configguide/spinnaker_config_guide.rst
+++ b/docs/release/configguide/spinnaker_config_guide.rst
@@ -240,3 +240,66 @@ Deleting the kubernetes provider in spinnaker:
.. code-block:: bash
$ cloverctl delete provider kubernetes -n my-kubernetes
+
+Deploy Helm Charts
+==================
+
+Currently, spinnaker support to deploy applications with the helm chart. More information please refer to `Deploy Helm Charts <https://www.spinnaker.io/guides/user/kubernetes-v2/deploy-helm/>`_.
+
+Upload helm charts to artifacts
+-------------------------------
+
+Before doing this, please package the helm chart first. how to package the chart, refer to `helm documentation <https://docs.helm.sh/helm/#helm_package>`_.
+
+.. code-block:: bash
+
+ $ wget https://dl.minio.io/client/mc/release/linux-amd64/mc
+ $ chmod +x mc
+ $ ./mc config host add my_minio http://{minio-service-ip}:9000 dont-use-this for-production S3v4
+ $ ./mc mb my_minio/s3-account
+ $ ./mc cp test-0.1.0.tgz my_minio/s3-account/test-0.1.0.tgz
+
+**NOTE:** the minio-service-ip is 10.233.21.175 in this example
+
+Configure Pipeline
+------------------
+
+This pipeline include three stages,configuration, bake and deploy.
+
+Configuration stage
+:::::::::::::::::::
+
+We can configure Automated triggers and expected artifacts in this stage.
+We just declare expected artifacts and trigger the pipeline manually.
+
+.. image:: imgs/spinnaker-expected-artifacts.png
+ :align: center
+ :scale: 100%
+
+**NOTE:** We need to enable "Use Default Artifact", when we need trigger the pipeline manually
+
+Bake Manifest stage
+:::::::::::::::::::
+
+For example, we have a test "Bake(Manifest)" stage below
+
+.. image:: imgs/spinnaker-bake.png
+ :align: center
+ :scale: 100%
+
+Spinnaker has automatically created an embedded/base64 artifact that is bound when the stage completes, representing the fully baked manifest set to be deployed downstream.
+
+.. image:: imgs/spinnaker-produces-artifact.png
+ :align: center
+ :scale: 100%
+
+Deploy Manifest stage
+:::::::::::::::::::::
+
+After the chart was baked by helm, we can configure a "Deploy(Manifest)" stage to deploy the manifest produced by previous stage as shown below.
+
+.. image:: imgs/spinnaker-deploy.png
+ :align: center
+ :scale: 100%
+
+Once this pipeline runs completely, you can see every resource in your Helm chart get deployed.
diff --git a/docs/release/configguide/visibility_config_guide.rst b/docs/release/configguide/visibility_config_guide.rst
new file mode 100644
index 0000000..77db2f7
--- /dev/null
+++ b/docs/release/configguide/visibility_config_guide.rst
@@ -0,0 +1,403 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. SPDX-License-Identifier CC-BY-4.0
+.. (c) Authors of Clover
+
+.. _visibility_config_guide:
+
+==============================================
+Clover Visibility Services Configuration Guide
+==============================================
+
+This document provides a guide to use Clover visibility services, which are initially delivered in
+the Clover Gambia release. A key assumption of this guide is that Istio 1.0.x has been deployed
+to Kubernetes (k8s), as it is a foundational element for Clover visibility services.
+
+Overview
+=========
+
+Clover visibility services are an integrated set of microservices that allow HTTP/gRPC traffic to
+be observed and analyzed in an Istio service mesh within k8s managed clusters. It leverages
+observability open source projects from the CNCF community such as Jaeger for distributed tracing
+and Prometheus for monitoring. These tools are packaged with Istio and service mesh sidecars have
+extensive hooks built in to interface with them. They gather low-level, per HTTP request driven
+data. Clover visibility services focus on enriching the data, gathering it from various sources
+and analyzing it at the system or aggregate level.
+
+The visibility services are comprised of the following microservices all deployed within the
+**clover-system** namespace in a k8s cluster:
+
+ * **clover-controller** - exposes REST interface external to the k8s cluster and
+ used to relay messages to other Clover services via gRPC from external agents including
+ **cloverctl** CLI, web browsers and other APIs, scripts or CI jobs. It incorporates a web
+ application with dashboard views to consume analyzed visibility data and control other
+ Clover services.
+
+ * **clover-collector** - gathers data from tracing (Jaeger) and monitoring (Prometheus)
+ infrastructure that is integrated with Istio using a pull model.
+
+ * **clover-spark** - is a Clover specific Apache Spark service. It leverages Spark 2.3.x native
+ k8s support and includes visibility services artifacts to execute Spark jobs.
+
+ * **clover-spark-submit** - simple service to continually perform Spark job submits interacting
+ with the k8s API to spawn driver and executor pods.
+
+ * **cassandra** - a sink for visibility data from **clover-collector** with specific schemas
+ for monitoring and tracing.
+
+ * **redis** - holds configuration data and analyzed data for visibility services. Used by
+ **clover-controller** web application and REST API to maintain state and exchange data.
+
+The table below shows key details of the visibility service manifests outlined above:
+
++---------------------+----------------------+---------------------------+-----------------------+
+| Service | Kubernetes | Docker Image | Ports |
+| | Deployment App Name | | |
++=====================+======================+===========================+=======================+
+| Controller | clover-controller | opnfv/clover-controller | HTTP: 80 (external) |
+| | | | gRPC: 50052, 50054 |
+| | | | |
++---------------------+----------------------+---------------------------+-----------------------+
+| Collector | clover-collector | opnfv/clover-collector | Jaeger: 16686 |
+| | | | Prometheus: 9090 |
+| | | | gRPC: 50054 |
+| | | | Datastore: 6379, 9042 |
++---------------------+----------------------+---------------------------+-----------------------+
+| Spark | clover-spark | opnfv/clover-spark | Datastore: 6379, 9042 |
+| | clover-spark-submit | opnfv/clover-spark-submit | |
+| | | | |
+| | | | |
+| | | | |
++---------------------+----------------------+---------------------------+-----------------------+
+| Data Stores | cassandra | cassandra:3 | 9042 |
+| | redis | k8s.gcr.io/redis:v1 | 6379 |
+| | | kubernetes/redis:v1 | |
++---------------------+----------------------+---------------------------+-----------------------+
+
+The **redis** and **cassandra** data stores use community container images while the other
+services use Clover-specific Dockerhub OPNFV images.
+
+Additionally, visibility services are operated with the **cloverctl** CLI. Further information on
+setting up **clover-controller** and **cloverctl** can be found at
+:ref:`controller_services_config_guide`.
+
+
+.. image:: imgs/visibility_overview.png
+ :align: center
+ :scale: 100%
+
+The diagram above shows the flow of data through the visibility services where all blue arrows
+denote the path of data ingestion originating from the observability tools. The
+**clover-collector** reads data from these underlying tools using their REST query interfaces
+and inserts into schemas within the **cassandra** data store.
+
+Apache Spark jobs are used to analyze data within **cassandra**. Spark is deployed using native
+Kubernetes support added since Spark version 2.3. The **clover-spark-submit**
+container continually submits jobs to the Kubernetes API. The API spawns a Spark driver pod which
+in turn spawns executor pods to run Clover-specific jobs packaged in the **clover-spark**
+service.
+
+Analyzed data from **clover-spark** jobs is written to **redis**, an in-memory data store. The
+**clover-controller** provides a REST API for the analyzed visibility data to be read by other
+services (**cloverctl**, CI jobs, etc.) or viewed using a Clover provided visibility web
+dashboard.
+
+Deploying the visibility engine
+===============================
+
+.. _visibility_prerequisites:
+
+Prerequisites
+-------------
+
+The following assumptions must be met before continuing on to deployment:
+
+ * Installation of Docker has already been performed. It's preferable to install Docker CE.
+ * Installation of k8s in a single-node or multi-node cluster with at least
+ twelve cores and 16GB of memory. Google Kubernetes Engine (GKE) clusters are supported.
+ * Installation of Istio in the k8s cluster. See :ref:`sdc_deploy_container`.
+ * Clover CLI (**cloverctl**) has been downloaded and setup. Instructions to deploy can be found
+ at :ref:`controller_services_controller`.
+
+
+Deploy with Clover CLI
+----------------------
+
+To deploy the visibility services into your k8s cluster use the **cloverctl** CLI command
+shown below::
+
+ $ cloverctl create system visibility
+
+Container images with the Gambia release tag will pulled if the tag is unspecified. The release
+tag is **opnfv-7.0.0** for the Gambia release. To deploy the latest containers from master, use
+the command shown below::
+
+ $ cloverctl create system visibility -t latest
+
+ Using config file: /home/earrage/.cloverctl.yaml
+ Creating visibility services
+ Created clover-system namespace
+ Created statefulset "cassandra".
+ Created service "cassandra"
+ Created pod "redis".
+ Created service "redis"
+ Created deployment "clover-collector".
+ Image: opnfv/clover-collector:latest
+ Created service "clover-collector"
+ Created deployment "clover-controller".
+ Image: opnfv/clover-controller:latest
+ Created service "clover-controller-internal"
+ Created serviceaccount "clover-spark".
+ Created clusterrolebinding "clover-spark-default".
+ Created clusterrolebinding "clover-spark".
+ Created deployment "clover-spark-submit".
+ Image: opnfv/clover-spark-submit:latest
+
+Verifying the deployment
+------------------------
+
+To verify the visibility services deployment, ensure the following pods have been deployed
+with the command below::
+
+ $ kubectl get pod --all-namespaces
+
+ NAMESPACE NAME READY STATUS
+ clover-system clover-collector-7dcc5d849f-6jc6m 1/1 Running
+ clover-system clover-controller-74d8596bb5-qrr6b 1/1 Running
+ clover-system cassandra-0 1/1 Running
+ clover-system redis 2/2 Running
+ clover-system clover-spark-submit-6c4d5bcdf8-kc6l9 1/1 Running
+
+Additionally, spark driver and executor pods will continuously be deployed as displayed below::
+
+ clover-system clover-spark-0fa43841362b3f27b35eaf6112965081-driver
+ clover-system clover-spark-fast-d5135cdbdd8330f6b46431d9a7eb3c20-driver
+ clover-system clover-spark-0fa43841362b3f27b35eaf6112965081-exec-3
+ clover-system clover-spark-0fa43841362b3f27b35eaf6112965081-exec-4
+
+Initializing visibility services
+================================
+
+In order to setup visibility services, initialization and start commands must be
+invoked from the **cloverctl** CLI. There are sample yaml files in yaml directory
+from the **cloverctl** binary path. Navigate to this directory to execute the next
+sequence of commands.
+
+Initialize the visibility schemas in cassandra with the following command::
+
+ $ cloverctl init visibility
+
+ Using config file: /home/earrage/.cloverctl.yaml
+ clover-controller address: http://10.145.71.21:32044
+ Added visibility schemas in cassandra
+
+The initial configuration to the visibility services are the Jaeger tracing and Prometheus
+connection parameters and sample interval to **clover-collector**. To start visibility
+use the sample yaml provided and execute the command::
+
+ cloverctl start visibility -f start_visibility.yaml
+
+ Started collector on pid: 44
+
+The ``start_visibility.yaml`` has defaults for the tracing and monitoring modules packaged with
+Istio 1.0.0.
+
+Configure and control visibility
+================================
+
+The core requirement for Clover visibility services to function, is for your services to be
+added to the Istio service mesh. Istio deployment and usage instructions are in the
+:ref:`sdc_config_guide` and the Service Delivery Controller (SDC) sample can be used to
+evaluate the Clover visibility services initially. A user may inject their own web-based services
+into the service mesh and track separately.
+
+Connecting to visibility dashboard UI
+-------------------------------------
+
+The **clover-controller** service comes packaged with a web-based UI with a visibility view.
+To access the dashboard, navigate to the **clover-controller** address for either a ``NodePort``
+or ``LoadBalancer`` service
+
+ * http://<node or CNI IP address>:<``NodePort`` port>/
+ * http://<``LoadBalancer`` IP address>/
+
+See :ref:`exposing_clover_controller` to expose **clover-controller** externally with a k8s
+service.
+
+Set runtime parameters using Clover CLI
+---------------------------------------
+
+The services visibility will track are based on the deployment/pod names specified in the k8s
+resources. Using some sample services from the SDC guide, the **proxy-access-control**,
+**clover-server1**, **clover-server2** and **clover-server3** services are specified in the
+``set_visibility.yaml`` sample yaml referenced below.
+
+To modify the configuration of the services visibility will track, use the **cloverctl CLI**,
+executing the following command::
+
+ cloverctl set visibility -f set_visibility.yaml
+
+Use the ``services:`` section of the yaml to configure service names to track.
+
+.. code-block:: bash
+
+ # set_visibility.yaml
+ services:
+ - name: proxy_access_control
+ - name: clover_server1
+ - name: clover_server2
+ - name: clover_server3
+ metric_prefixes:
+ - prefix: envoy_cluster_outbound_9180__
+ - prefix: envoy_cluster_inbound_9180__
+ metric_suffixes:
+ - suffix: _default_svc_cluster_local_upstream_rq_2xx
+ - suffix: _default_svc_cluster_local_upstream_cx_active
+ custom_metrics:
+ - metric: envoy_tracing_zipkin_spans_sent
+
+Set runtime parameters using dashboard UI
+-----------------------------------------
+
+The services being tracked by visibility can also be configured by selecting from the
+boxes under **Discovered Services** within the dashboard, as shown in the graphic below.
+Services can be multi-selected by using by holding the ``Ctrl`` or ``command`` (Mac OS)
+keyboard button down while selecting or unselecting. The SDC services that were configured from
+the **cloverctl** CLI above are currently active, denoted as the boxes with blue backgrounds.
+
+.. image:: imgs/visibility_discovered_active.png
+ :align: center
+ :scale: 100%
+
+In order for any services to be discovered from Jaeger tracing and displayed within the dashboard,
+some traffic must target the services of interest. Using curl/wget to send HTTP requests
+to your services will cause services to be discovered. Using Clover JMeter validation services,
+as detailed :ref:`jmeter_config_guide` against SDC sample services will also generate a service
+listing. The **cloverctl** CLI commands below will generate traces through the SDC service chain
+with the JMeter master injected into the service mesh::
+
+ $ cloverctl create testplan –f yaml/jmeter_testplan.yaml # yaml located with cloverctl binary
+ $ cloverctl start testplan
+
+Clearing visibility data
+-------------------------
+
+To clear visibility data in cassandra and redis, which truncates **cassandra** tables and
+deletes or zeros out **redis** keys, use the following command::
+
+ $ cloverctl clear visibility
+
+This can be useful when analyzing or observing an issue during a particular time horizon.
+The same function can be performed from the dashboard UI using the ``Clear`` button under
+``Visibility Controls``, as illustrated in the graphic from the previous section.
+
+Viewing visibility data
+========================
+
+The visibility dashboard can be used to view visibility data in real-time. The page will
+automatically refresh every 5 seconds. To disable continuous page refresh and freeze on a
+snapshot of the data, use the slider at the top of the page that defaults to ``On``. Toggling
+it will result in it displaying ``Off``.
+
+The visibility dashboard displays various metrics and graphs of analyzed data described in
+subsequent sections.
+
+System metrics
+--------------
+
+System metrics provide aggregate counts of cassandra tables including total traces, spans
+and metrics, as depicted on the left side of the graphic below.
+
+.. image:: imgs/visibility_system_counts_response_times.png
+ :align: center
+ :scale: 100%
+
+The metrics counter will continually increase, as it is based on time series data from
+Prometheus. The trace count will correspond to the number of HTTP requests sent to services
+within the Istio service mesh. The span count ties to trace count, as it is a child object
+under Jaeger tracing data hierarchy and is based on the service graph (number of interactions
+between microservices for a given request). It will increase more rapidly when service graph
+depths are larger.
+
+Per service response times
+--------------------------
+
+Per service response times are displayed on the right side of the graphic above and are
+calculated from tracing data when visibility is started. The minimum, maximum and average
+response times are output over the entire analysis period.
+
+Group by span field counts
+--------------------------
+
+This category groups schema fields in various combinations to gain insight into the composition
+of HTTP data and can be used by CI scripts to perform various validations. Metrics include:
+
+ * Per service
+ * Distinct URL
+ * Distinct URL / HTTP status code
+ * Distinct user-agent (HTTP header)
+ * Per service / distinct URL
+
+The dashboard displays bar/pie charts with counts and percentages, as depicted below. Each distinct
+key is displayed when hovering your mouse over a chart value.
+
+.. image:: imgs/visibility_distinct_counts.png
+ :align: center
+ :scale: 100%
+
+Distinct HTTP details
+---------------------
+
+A listing of distinct HTTP user-agents, request URLs and status codes is shown below divided
+with tabs.
+
+.. image:: imgs/visibility_distinct_http.png
+ :align: center
+ :scale: 100%
+
+
+Monitoring Metrics
+------------------
+
+The Istio sidecars (Envoy) provide a lengthy set of metrics exposed through Prometheus. These
+metrics can be analyzed with the visibility service by setting up metrics, as outlined in section
+`Set runtime parameters using Clover CLI`_. Use ``metric_prefixes`` and ``metric_suffixes``
+sections of the set visibility yaml for many Envoy metrics that have a key with the service
+straddled by a prefix/suffix. A row in the table and a graph will be displayed for each
+combination of service, prefix and suffix.
+
+The metrics are displayed in tabular and scatter plots over time formats from the dashboard, as
+shown in the graphic below:
+
+.. image:: imgs/visibility_monitoring_metrics.png
+ :align: center
+ :scale: 100%
+
+Uninstall from Kubernetes envionment
+====================================
+
+Delete with Clover CLI
+----------------------
+
+When you're finished working with Clover visibility services, you can uninstall them with the
+following command::
+
+ $ cloverctl delete system visibility
+
+The command above will remove the SDC sample services, Istio components and Jaeger/Prometheus
+tools from your Kubernetes environment.
+
+Uninstall from Docker environment
+=================================
+
+The OPNFV docker images can be removed with the following commands:
+
+.. code-block:: bash
+
+ $ docker rmi opnfv/clover-collector
+ $ docker rmi opnfv/clover-spark
+ $ docker rmi opnfv/clover-spark-submit
+ $ docker rmi opnfv/clover-controller
+ $ docker rmi k8s.gcr.io/redis
+ $ docker rmi kubernetes/redis
+ $ docker rmi cassandra:3
diff --git a/docs/release/release-notes/release-notes.rst b/docs/release/release-notes/release-notes.rst
index f345f61..5f9154d 100644
--- a/docs/release/release-notes/release-notes.rst
+++ b/docs/release/release-notes/release-notes.rst
@@ -4,7 +4,7 @@
.. (c) Authors of Clover
-This document provides Clover project's release notes for the OPNFV Fraser release.
+This document provides Clover project's release notes for the OPNFV Hunter release.
.. contents::
:depth: 3
@@ -18,24 +18,24 @@ Version history
| **Date** | **Ver.** | **Author** | **Comment** |
| | | | |
+--------------------+--------------------+--------------------+--------------------+
-| 2018-03-14 | Fraser 1.0 | Stephen Wong | First draft |
+| 2019-04-30 | Hunter 1.0 | Stephen Wong | First draft |
| | | | |
+--------------------+--------------------+--------------------+--------------------+
Important notes
===============
-The Clover project for OPNFV Fraser can ONLY be run on Kubernetes version 1.9 or
-later
+The Clover project for OPNFV Hunter is tested on Kubernetes version 1.9 and
+1.11. It is only tested on Istio 1.0.
Summary
=======
-Clover Fraser release provides tools for installation and validation of various
-upstream cloud native projects including Istio, fluentd, Jaegar, and Prometheus.
-In addition, the Fraser release also includes a sample VNF, its Kubernetes
-manifest, simple tools to validate route rules from Istio, as well as an
-example A-B testing framework.
+Clover Hunter release further enhances the Gambia release by:
+
+#. Integration with ONAP SDC, running on Istio, to demonstrate Clover's
+ visibility engine
+#. Network Tracing: Clovisor has significant stability and feature enhancements
Release Data
============
@@ -47,13 +47,13 @@ Release Data
| **Repo/commit-ID** | |
| | |
+--------------------------------------+--------------------------------------+
-| **Release designation** | Fraser |
+| **Release designation** | Hunter |
| | |
+--------------------------------------+--------------------------------------+
-| **Release date** | 2018-04-27
+| **Release date** | 2019-05-10 |
| | |
+--------------------------------------+--------------------------------------+
-| **Purpose of the delivery** | OPNFV Fraser release |
+| **Purpose of the delivery** | OPNFV Hunter release |
| | |
+--------------------------------------+--------------------------------------+
@@ -62,18 +62,17 @@ Version change
Module version changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-OPNFV Fraser marks the first release for Clover
Document version changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-OPNFV Fraser marks the first release for Clover
+Clover Hunter has updated the config guide and user guide accordingly
Reason for version
^^^^^^^^^^^^^^^^^^^^
Feature additions
~~~~~~~~~~~~~~~~~~~~~~~
-<None> (no backlog)
+See Summary above
Bug corrections
~~~~~~~~~~~~~~~~~~~~~
diff --git a/docs/release/userguide/index.rst b/docs/release/userguide/index.rst
index 5be100f..d09a9d7 100644
--- a/docs/release/userguide/index.rst
+++ b/docs/release/userguide/index.rst
@@ -3,9 +3,11 @@
.. http://creativecommons.org/licenses/by/4.0
.. (c) OPNFV, Authors of Clover
-=================================
-OPNFV Clover User Guide
-=================================
+.. _clover_userguide:
+
+=================
+Clover User Guide
+=================
.. toctree::
:maxdepth: 1
diff --git a/docs/release/userguide/userguide.rst b/docs/release/userguide/userguide.rst
index d99359b..468dee3 100644
--- a/docs/release/userguide/userguide.rst
+++ b/docs/release/userguide/userguide.rst
@@ -5,56 +5,45 @@
================================================================
-Clover User Guide (Fraser Release)
+Clover User Guide (Gambia Release)
================================================================
-This document provides the Clover user guide for the OPNFV Fraser release.
+This document provides the Clover user guide for the OPNFV Hunter release.
Description
===========
-As project Clover's first release, the Fraser release includes installation and simple
-validation of foundational upstream projects including Istio, fluentd, Jaeger, and
-Prometheus. The Clover Fraser release also provides a sample set of web-oriented network
-services, which follow a micro-service design pattern, its Kubernetes manifest, and an
-automated script to demonstrate a sample A-B testing use-case. The A-B sample script
-validates performance criteria using Istio request routing functionality leveraging
-the sample services deployed within Istio and the tracing data available within Jaeger.
+Clover Hunter builds on previous release to further enhance the toolset for
+cloud native network functions operations. The main emphasis on the release are:
-What is in Fraser?
+#. ONAP SDC on Istio with Clover providing visibility
+#. Clovisor enhancement and stability
+
+What is in Hunter?
==================
* Sample micro-service composed VNF named Service Delivery Controller (SDC)
- * Logging module: fluentd and elasticsearch Kubernetes manifests,
- and fluentd installation validation
-
- * Tracing module: Jaeger Kubernetes manifest, installation validation,
- Jaegar tracing query tools, and module for trace data output to datastore
+ * Istio 1.0 support
- * Monitoring module: Prometheus Kubernetes manifest, installation
- validation, and sample Prometheous query of Istio related metrics
+ * clover-collector: gathers and collects metrics and traces from Prometheus and
+ Jaeger, and provides a single access point for such data
- * Istio route-rules sample yaml and validation tools
+ * Visibility: utilizes an analytic engine to correlate and organize data
+ collected by clover-collector
- * Test scripts
+ * cloverctl: Clover's new CLI
- * Sample code for an A-B testing demo shown during ONS North America 2018
+ * Clovisor: Clover's cloud native, CNI-plugin agnostic network tracing tool
-Usage
-=====
+ * Integration of HTTP Security Modules with Istio 1.0
- * Python modules to validate installation of fluentd logging, Jaeger tracing, and
- Prometheus monitoring. Deployment and validation instructions can be found at:
- :ref:`logging`, :ref:`tracing`, and :ref:`monitoring` respectively.
+ * JMeter: integrating jmeter as test client
- * Deployment and usage of SDC sample
- - Services designed and implemented with micro-service design pattern
- - Tested and validated via Istio service mesh tools
- Detailed usage instructions for the sample can be found at :ref:`sdc_config_guide`
+ * Clover UI: sample UI to offer single pane view / configuration point of the
+ Clover system
- * An example use-case for A-B testing. Detailed usage instructions for this sample A-B
- validation can be found at: :ref:`a_b_config_guide`
+Usage
+=====
- * Sample tool to validate Istio route rules:
- tools/python clover_validate_route_rules.py -s <service name> -t <test id>
+ * Please refer to configguildes for usage detail on various modules
diff --git a/download/cloverctl.tar.gz b/download/cloverctl.tar.gz
new file mode 100644
index 0000000..c0c42a2
--- /dev/null
+++ b/download/cloverctl.tar.gz
Binary files differ
diff --git a/samples/scenarios/clearwater_ims/clt-docker/clearwater-live-test.tgz b/samples/scenarios/clearwater_ims/clt-docker/clearwater-live-test.tgz
deleted file mode 100644
index 9bcb417..0000000
--- a/samples/scenarios/clearwater_ims/clt-docker/clearwater-live-test.tgz
+++ /dev/null
Binary files differ
diff --git a/samples/scenarios/modsecurity_all_in_one.yaml b/samples/scenarios/modsecurity_all_in_one.yaml
index aa92b13..84f3fe0 100644
--- a/samples/scenarios/modsecurity_all_in_one.yaml
+++ b/samples/scenarios/modsecurity_all_in_one.yaml
@@ -16,7 +16,7 @@ spec:
spec:
containers:
- name: modsecurity-crs
- image: clover/clover-ns-modsecurity-crs
+ image: opnfv/clover-ns-modsecurity-crs
ports:
- containerPort: 80
env:
diff --git a/samples/scenarios/service_delivery_controller.yaml b/samples/scenarios/service_delivery_controller.yaml
index b9c3506..9f37f1b 100644
--- a/samples/scenarios/service_delivery_controller.yaml
+++ b/samples/scenarios/service_delivery_controller.yaml
@@ -226,6 +226,7 @@ spec:
labels:
app: http-lb
version: v1
+ name: http-lb-v1
spec:
containers:
- name: http-lb
@@ -247,6 +248,7 @@ spec:
labels:
app: http-lb
version: v2
+ name: http-lb-v2
spec:
containers:
- name: http-lb
@@ -263,13 +265,33 @@ metadata:
app: http-lb
spec:
ports:
- - port: 50054
- name: grpc
- port: 9180
name: http
selector:
app: http-lb
---
+apiVersion: v1
+kind: Service
+metadata:
+ name: http-lb-v1
+spec:
+ ports:
+ - port: 50054
+ name: grpc
+ selector:
+ name: http-lb-v1
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: http-lb-v2
+spec:
+ ports:
+ - port: 50054
+ name: grpc
+ selector:
+ name: http-lb-v2
+---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
@@ -344,18 +366,38 @@ spec:
selector:
app: proxy-access-control
---
-apiVersion: extensions/v1beta1
-kind: Ingress
+apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
metadata:
- name: proxy-gateway
- annotations:
- kubernetes.io/ingress.class: "istio"
+ name: sdc-gateway
spec:
- rules:
- - http:
- paths:
- - path:
- backend:
- serviceName: proxy-access-control
- servicePort: 9180
+ selector:
+ istio: ingressgateway # use istio default controller
+ servers:
+ - port:
+ number: 80
+ name: http
+ protocol: HTTP
+ hosts:
+ - "*"
---
+apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+ name: sdcsample
+spec:
+ hosts:
+ - "*"
+ gateways:
+ - sdc-gateway
+ http:
+ - match:
+ - uri:
+ prefix: /
+ route:
+ - destination:
+ host: proxy-access-control
+ port:
+ number: 9180
+ mirror:
+ host: snort-ids
diff --git a/samples/scenarios/service_delivery_controller_opnfv.yaml b/samples/scenarios/service_delivery_controller_opnfv.yaml
index ceba36f..cb4743f 100644
--- a/samples/scenarios/service_delivery_controller_opnfv.yaml
+++ b/samples/scenarios/service_delivery_controller_opnfv.yaml
@@ -226,6 +226,7 @@ spec:
labels:
app: http-lb
version: v1
+ name: http-lb-v1
spec:
containers:
- name: http-lb
@@ -247,6 +248,7 @@ spec:
labels:
app: http-lb
version: v2
+ name: http-lb-v2
spec:
containers:
- name: http-lb
@@ -263,13 +265,33 @@ metadata:
app: http-lb
spec:
ports:
- - port: 50054
- name: grpc
- port: 9180
name: http
selector:
app: http-lb
---
+apiVersion: v1
+kind: Service
+metadata:
+ name: http-lb-v1
+spec:
+ ports:
+ - port: 50054
+ name: grpc
+ selector:
+ name: http-lb-v1
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: http-lb-v2
+spec:
+ ports:
+ - port: 50054
+ name: grpc
+ selector:
+ name: http-lb-v2
+---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
diff --git a/samples/scenarios/view.sh b/samples/scenarios/view.sh
deleted file mode 100755
index 8b155ce..0000000
--- a/samples/scenarios/view.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) Authors of Clover
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-
-CLOVER_BASE_DIR=${CLOVER_BASE_DIR:-"/home/opnfv/repos/clover"}
-ISTIO_BASE_DIR=${ISTIO_BASE_DIR:-"/istio-source"}
-
-cd $CLOVER_BASE_DIR
-
-echo "Deploying Prometheus monitoring"
-
-kubectl apply -f $ISTIO_BASE_DIR/install/kubernetes/addons/prometheus.yaml
-
-echo "Deploying Jaeger tracing"
-
-kubectl apply -n istio-system -f https://raw.githubusercontent.com/jaegertracing/jaeger-kubernetes/master/all-in-one/jaeger-all-in-one-template.yml
-
-echo "Exposing tracing and monitoring outside of Kubernetes cluster"
-
-kubectl delete -n istio-system svc prometheus
-
-kubectl expose -n istio-system deployment jaeger-deployment --port=16686 --type=NodePort
-
-kubectl expose -n istio-system deployment prometheus --port=9090 --type=NodePort
diff --git a/samples/services/nginx/docker/grpc/templates/server.template b/samples/services/nginx/docker/grpc/templates/server.template
index c1582fa..2ca5410 100644
--- a/samples/services/nginx/docker/grpc/templates/server.template
+++ b/samples/services/nginx/docker/grpc/templates/server.template
@@ -116,7 +116,7 @@ http {
}
location @return_config {
- proxy_pass http://clover-controller:80;
+ proxy_pass http://clover-controller.clover-system:80;
proxy_http_version 1.1;
}
diff --git a/samples/services/snort_ids/docker/Dockerfile b/samples/services/snort_ids/docker/Dockerfile
index 697acb9..e66323b 100644
--- a/samples/services/snort_ids/docker/Dockerfile
+++ b/samples/services/snort_ids/docker/Dockerfile
@@ -16,7 +16,7 @@ RUN \
yum install -y \
# Core snort install elements
https://www.snort.org/downloads/snort/daq-2.0.6-1.f21.x86_64.rpm \
- https://www.snort.org/downloads/snort/snort-2.9.11.1-1.f25.x86_64.rpm \
+ https://www.snort.org/downloads/snort/snort-2.9.12-1.f27.x86_64.rpm \
# Debug packages that aren't required for normal operation
wget libdnet net-tools iputils procps \
python-pip \